筆者是一只已經(jīng)離職的AI產(chǎn)品經(jīng)理武氓,主要擅長(zhǎng)的方向是知識(shí)圖譜與自然語言處理,寫這些文章是為了總結(jié)歸納目前已經(jīng)搭建的知識(shí)體系概疆,也在于科普。如有不對(duì)峰搪,請(qǐng)指正岔冀。
知識(shí)圖譜的定義
知識(shí)圖譜在國(guó)內(nèi)屬于一個(gè)比較新興的概念,國(guó)內(nèi)目前paper都比較少概耻,應(yīng)用方主要集中在BAT這類手握海量數(shù)據(jù)的企業(yè)使套,這個(gè)概念是google在2012年提出的,當(dāng)時(shí)主要是為了將傳統(tǒng)的keyword-base搜索模型向基于語義的搜索升級(jí)鞠柄。知識(shí)圖譜可以用來更好的查詢復(fù)雜的關(guān)聯(lián)信息侦高,從語義層面理解用戶意圖,改進(jìn)搜索質(zhì)量厌杜。
個(gè)人認(rèn)為奉呛,知識(shí)圖譜最大的優(yōu)勢(shì)是在于對(duì)數(shù)據(jù)的描述能力非常強(qiáng)大,各種機(jī)器學(xué)習(xí)算法雖然在預(yù)測(cè)能力上很不錯(cuò)夯尽,但是在描述能力上非常弱瞧壮,知識(shí)圖譜剛好填補(bǔ)了這部分空缺。
知識(shí)圖譜的定義非常多匙握,我這里提供一部分我自己的理解:
1.知識(shí)圖譜主要目標(biāo)是用來描述真實(shí)世界中存在的各種實(shí)體和概念咆槽,以及他們之間的強(qiáng)關(guān)系,我們用關(guān)系去描述兩個(gè)實(shí)體之間的關(guān)聯(lián)肺孤,例如姚明和火箭隊(duì)之間的關(guān)系罗晕,他們的屬性济欢,我們就用“屬性--值對(duì)“來刻畫它的內(nèi)在特性赠堵,比如說我們的人物小渊,他有年齡、身高茫叭、體重屬性酬屉。
2.知識(shí)圖譜可以通過人為構(gòu)建與定義,去描述各種概念之間的弱關(guān)系揍愁,例如:“忘了訂單號(hào)”和“找回訂單號(hào)”之間的關(guān)系
知識(shí)庫(kù)的概念
知識(shí)庫(kù)的種類
知識(shí)庫(kù)目前可以分為兩種類型:Curated KBs 和 Extracted KBs
Curated KBs:以yago2和freebase為代表呐萨,他們從維基百科和WordNet等知識(shí)庫(kù)抽取了大量的實(shí)體及實(shí)體關(guān)系,可以把它理解城一種結(jié)構(gòu)化的維基百科莽囤。
Extracted KBs:主要是以O(shè)pen Information Extraction (Open IE),? Never-Ending Language Learning (NELL)為代表谬擦,他們直接從上億個(gè)網(wǎng)頁(yè)中抽取實(shí)體關(guān)系三元組。與freebase相比朽缎,這樣得到的實(shí)體知識(shí)更具有多樣性惨远,而它們的實(shí)體關(guān)系和實(shí)體更多的則是自然語言的形式,如“姚明出生于上海话肖”被啵” 可以被表示為(“Yao Ming”, “was also born in”, “Shanghai”)。直接從網(wǎng)頁(yè)中抽取出來的知識(shí)最筒,也會(huì)存在一定的噪聲贺氓,其精確度低于Curated KBs。
目前行業(yè)內(nèi)使用的比較多的還是Curated KBs,主要是因?yàn)?i>Curated KBs比較簡(jiǎn)單床蜘,容易構(gòu)建辙培,噪音少。
什么是知識(shí)庫(kù)
a)“姚明出生于上盒暇猓”
b)“姚明是籃球運(yùn)動(dòng)員”
c)“姚明是現(xiàn)任中國(guó)籃協(xié)主席”
以上就是一條條知識(shí)虏冻,把大量的知識(shí)匯聚起來就成為了知識(shí)庫(kù)(Knowledge Base)。我們可以從wikipedia弹囚,百度百科等百科全書獲取到大量的知識(shí)厨相。但是,這些百科全書的知識(shí)是由非結(jié)構(gòu)化的自然語言組建而成的鸥鹉,這樣的組織方式很適合人們閱讀但并不適合計(jì)算機(jī)處理蛮穿。
知識(shí)庫(kù)的表示形式
為了方便計(jì)算機(jī)的處理和理解,我們需要更加形式化毁渗、簡(jiǎn)潔化的方式去表示知識(shí)践磅,那就是三元組(triple)。
“姚明出生于中國(guó)上壕囊欤” 可以用三元組表示為(Yao Ming, PlaceOfBirth, Shanghai)[1]府适。這里我們可以簡(jiǎn)單的把三元組理解為(實(shí)體entity,實(shí)體關(guān)系relation,實(shí)體entity)羔飞。如果我們把實(shí)體看作是結(jié)點(diǎn),把實(shí)體關(guān)系(包括屬性檐春,類別等等)看作是一條邊逻淌,那么包含了大量三元組的知識(shí)庫(kù)就成為了一個(gè)龐大的知識(shí)圖。
有些時(shí)候會(huì)將實(shí)體稱為topic疟暖,如Justin Bieber卡儒。實(shí)體關(guān)系也可分為兩種,一種是屬性property俐巴,一種是關(guān)系relation骨望。如下圖所示,屬性和關(guān)系的最大區(qū)別在于欣舵,屬性所在的三元組對(duì)應(yīng)的兩個(gè)實(shí)體擎鸠,常常是一個(gè)topic和一個(gè)字符串废亭,如屬性Type/Gender策菜,對(duì)應(yīng)的三元組(Justin Bieber, Type, Person),而關(guān)系所在的三元組所對(duì)應(yīng)的兩個(gè)實(shí)體鲁驶,常常是兩個(gè)topic准验。如關(guān)系PlaceOfBrith赎线,對(duì)應(yīng)的三元組(Justin Bieber, PlaceOfBrith, London)。
(圖中藍(lán)色方塊表示topic糊饱,橙色橢圓包括屬性值垂寥,它們都屬于知識(shí)庫(kù)的實(shí)體;藍(lán)色直線表示關(guān)系另锋,橙色直線表示屬性滞项,它們都統(tǒng)稱為知識(shí)庫(kù)的實(shí)體關(guān)系,都可以用三元組刻畫實(shí)體和實(shí)體關(guān)系)
知識(shí)庫(kù)的數(shù)據(jù)結(jié)構(gòu)
這里只是簡(jiǎn)單介紹一下數(shù)據(jù)結(jié)構(gòu)夭坪,知識(shí)表達(dá)這一塊會(huì)在《知識(shí)圖譜基礎(chǔ)(二)-知識(shí)圖譜的知識(shí)表達(dá)系統(tǒng)》中詳細(xì)講解文判。
讀者只要記住,freebase的基礎(chǔ)知識(shí)表達(dá)形式:(實(shí)體)-[關(guān)系]-(實(shí)體)室梅,(實(shí)體)-[關(guān)系]-(值)即可戏仓,參考圖3,姚明和葉莉的關(guān)系亡鼠。
知識(shí)圖譜的應(yīng)用
通過知識(shí)圖譜赏殃,不僅可以將互聯(lián)網(wǎng)的信息表達(dá)成更接近人類認(rèn)知世界的形式,而且提供了一種更好的組織间涵、管理和利用海量信息的方式仁热。下圖是筆者整理的知識(shí)圖譜有關(guān)的應(yīng)用,接下來的一些文章筆者會(huì)對(duì)下面的應(yīng)用進(jìn)行剖析勾哩。
從圖4上看抗蠢,知識(shí)圖譜的應(yīng)用主要集中在搜索與推薦領(lǐng)域举哟,robot(客服機(jī)器人,私人助理)是問答系統(tǒng)迅矛,本質(zhì)上也是搜索與推薦的延伸妨猩。可能是因?yàn)橹R(shí)圖譜這項(xiàng)技術(shù)(特指freebase)誕生之初就是為了解決搜索問題的诬乞。知識(shí)存儲(chǔ)這一塊可能是企查查和啟信寶這些企業(yè)發(fā)現(xiàn)使用圖結(jié)構(gòu)的數(shù)據(jù)比較好清洗加工册赛。
在語義搜索這一塊钠导,知識(shí)圖譜的搜索不同于常規(guī)的搜索震嫉,常規(guī)的搜索是根據(jù)keyword找到對(duì)應(yīng)的網(wǎng)頁(yè)集合,然后通過page rank等算法去給網(wǎng)頁(yè)集合內(nèi)的網(wǎng)頁(yè)進(jìn)行排名牡属,然后展示給用戶票堵;基于知識(shí)圖譜的搜索是在已有的圖譜知識(shí)庫(kù)中遍歷知識(shí),然后將查詢到的知識(shí)返回給用戶逮栅,通常如果路徑正確悴势,查詢出來的知識(shí)只有1個(gè)或幾個(gè),相當(dāng)精準(zhǔn)措伐。
問答系統(tǒng)這一塊特纤,系統(tǒng)同樣會(huì)首先在知識(shí)圖譜的幫助下對(duì)用戶使用自然語言提出的問題進(jìn)行語義分析和語法分析,進(jìn)而將其轉(zhuǎn)化成結(jié)構(gòu)化形式的查詢語句侥加,然后在知識(shí)圖譜中查詢答案捧存。