知識圖譜與推薦系統(tǒng)

什么是知識圖譜

知識圖譜是由Google公司在2012年提出的新概念。用信息可視化技術(shù)將知識以圖的形式表示,圖由節(jié)點和邊構(gòu)成,節(jié)點對應(yīng)知識圖譜的實體,自然界中的每個對象都可以稱之為一個實體,例如人,公司,酒店,甚至酒店內(nèi)的某個房間都可以稱為實體;邊對應(yīng)知識圖譜的關(guān)系,及實體之間的關(guān)系,比如酒店位于北京市,“位于”就是酒店和北京市之間的關(guān)系。

image.jpeg

google對于知識圖譜有一個非常重要的定義,things not strings。過去人們通過搜索引擎獲取大量信息,其中相當多是我們不想要的,當然也包括廣告,甚至有一些噪音。

推薦系統(tǒng)為什么要知識圖譜

傳統(tǒng)的推薦系統(tǒng)會根據(jù)用戶的歷史行為,為用戶打上隱形標簽,并為用戶推薦相關(guān)的產(chǎn)品。假設(shè)用戶訂購了普吉島的旅游產(chǎn)品,比如自由行,用戶的原因可能是喜歡旅游,喜歡海島,于是推薦系統(tǒng)為該用戶打上了“喜歡海島”的標簽,為該用戶推薦了很多海島的相關(guān)產(chǎn)品;有些用戶可能喜歡普吉島的某些服務(wù),例如露天泳池,某家酒店等,推薦系統(tǒng)則引入酒店等一些特征加入推薦模型中;某些用戶因為去普吉島只需要落地簽,不需要額外的手續(xù),于是推薦系統(tǒng)加入了簽證相關(guān)的特征;某些用戶因為去普吉島的機票打折,喜歡泰國的一些旅游景點,喜歡海鮮等,如果將這些特征全加入推薦系統(tǒng),會發(fā)現(xiàn)推薦系統(tǒng)變得很困難。
酒店數(shù)據(jù),機票數(shù)據(jù),簽證數(shù)據(jù),景點數(shù)據(jù)等,每種數(shù)據(jù)都需要單獨的數(shù)據(jù)庫或者數(shù)據(jù)表去維護,將這些數(shù)據(jù)聯(lián)合分析可能要做大量的BI工作,這些繁雜的分析都可以用知識圖譜取代,這就是旅游業(yè)需要知識圖譜的原因。

知識圖譜怎么構(gòu)建

1)定義schema,比如實體的類型,數(shù)據(jù)類型,屬性類型,類別等
2)做一些知識采集的操作,從文本中抽取關(guān)系,從外部知識庫補充一些已有的三元組
3)數(shù)據(jù)庫遷移,從sql數(shù)據(jù)庫中的數(shù)據(jù)遷移到知識庫中,數(shù)據(jù)庫備份,數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換
4)實時更新就是檢查數(shù)據(jù)的一致性,對重復(fù)的內(nèi)容做知識融合,比如china和中國,盡量保證實體的唯一性。

實現(xiàn)層,大概分成六個步驟,分別是知識獲取、知識抽取、知識融合、知識存儲、知識推理、知識建模和知識發(fā)現(xiàn)

  1. 知識獲取是獲取外部數(shù)據(jù)的方式,包括爬蟲和實時入庫的技術(shù)方法;
  2. 知識抽取就是,對三元組進行知識的抽取,包括實體抽取、關(guān)系抽取和屬性的抽?。?/li>
  3. 知識融合就是,抽取出來之后,存在很多的數(shù)據(jù)冗余和噪聲,要去做實體的消歧,數(shù)據(jù)的整合;
  4. 知識存儲,剛才講了,實際是要構(gòu)建一個三元組RDF的數(shù)據(jù)結(jié)構(gòu),如果把所有的頂點和邊構(gòu)造出來之后,要對他進行圖數(shù)據(jù)庫的存儲;
  5. 知識推理,剛才也講到了,如果要做一些深層次的知識問答,就要做很多的訓(xùn)練,無論有監(jiān)督的還是半監(jiān)督的;知識建模更多的是去理解語義,涉及到屬性的映射,實體的連接;
  6. 知識發(fā)現(xiàn),兩大主要的應(yīng)用是知識的檢索和知識的問答。這些構(gòu)建了知識圖譜的實現(xiàn)層。

另外還需要做的是實體對齊和實體消歧。
關(guān)于實體對齊。舉例來說,比爾蓋茨這四個字是中文名稱,Bill Gates是他的英文名稱,但其實這兩個指的是同一個人。由于文本的不一樣,開始的時候?qū)е逻@是兩個實體。這就需要我們對它進行實體對齊,把它統(tǒng)一化。
另外是實體消歧。舉例來說,蘋果是一種水果,但是在某些上下文里面,它可能指的是蘋果公司。這就是一個實體歧義,我們需要根據(jù)上下文對它進行實體消歧。


圖片.png
圖片.png

剛才多次提到三元組,到底什么是三元組,一部分是一些概念、實體、語義、內(nèi)容、屬性。我們對于語言的理解,主要還是通過主謂賓的方式去構(gòu)建,主謂賓就是典型的一個三元組,把它應(yīng)用到知識圖譜就是RDF。RDF有非常多的構(gòu)建方式,下面舉了兩種例子。一種是實體、關(guān)系、實體的方式,一種是實體、屬性、屬性值的方式。舉個例子,某某法人京東,構(gòu)建了一個非常簡單的三元組,可以理解某某是京東的法人。
這里對圖數(shù)據(jù)庫的存儲結(jié)構(gòu)做簡單的展示,目前主流的圖數(shù)據(jù)庫是通過RDF的方式去構(gòu)建,GraphX把頂點和邊分別存儲,屬性和屬性值和點邊產(chǎn)生依賴。TITAN把頂點、邊和屬性全部拆分開去構(gòu)建。Neo4j是RDF去構(gòu)建,通過指針跳轉(zhuǎn)的方式去連接,各有千秋。

怎么跟推薦系統(tǒng)結(jié)合

知識圖譜一般不用于基于特征的推薦系統(tǒng),一般用于基于路徑的推薦,分為兩種meta-path和meta-graph,用戶喜歡普吉島的酒店,喜歡spa服務(wù)和泳池,可以建立這樣的一條路徑作為推薦系統(tǒng)的特征,參與計算。缺點:需要提前設(shè)定這樣的路徑,不支持自動搜索路徑。知識圖譜特征學(xué)習(xí),將特征轉(zhuǎn)化為向量的形式,輔助推薦。應(yīng)用于embedding,協(xié)同過濾中只考慮user特征和item特征,可以利用知識圖譜作一些特征,embedding有很多方法,深度學(xué)習(xí)。

參考資料

旅游知識圖譜的構(gòu)建和應(yīng)用
金融知識圖譜的應(yīng)用與探索
從推薦到推理TODO
如何構(gòu)建知識圖譜TODO

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容