知識圖譜學習筆記(1)——知識圖譜基礎

1. 什麼是知識圖譜

知識圖譜(Knowledge Graph)是由谷歌公司2012年提出來的新名詞,其初衷是優化搜索殷勤返回的結果,增強用戶搜索質量及體驗。

實際上,知識圖譜並不是一個全新的概念,早在 2006 年就有文獻提出了語義網(Semantic Network)的概念,呼籲推廣、完善使用本體模型來形式化表達數據中的隱含語義,RDF(resource description framework,資源描述框架)模式和 OWL(Web ontology language,萬維網本體語言)就是基於上述目的產生的(引自知乎)。

通俗講:知識圖譜也可以叫做多關係圖(Multi-relational graph),通常包含多種類型的關係和邊。
在這裏插入圖片描述
在這裏插入圖片描述
知識圖譜中主要包含了兩個部分:實體和關係

  • 實體:對應圖中的節點,指的是現實世界中的事物。
  • 關係:對應圖中的邊,指的是實體之間的關係

2. 知識圖譜的計算

圖計算:G=(V, E, D), V=vertex(頂點或者節點),E=edge(邊), D=data(權重)
對於一個消費者的原始購買行爲,有兩類節點,分別是用戶和產品,邊表示購買行爲,權重是邊上的一個數據結構,可以是購買次數和最後購買時間。
對於我們面臨的物理世界的數據問題,都可以利用圖結構來抽象表達:社交網絡,網頁鏈接關係,用戶傳播網絡,用戶網絡點擊、瀏覽和購買行爲等等。

圖數據結構很好的表達了數據之間的關聯性,關聯性計算是大數據計算的核心——通過獲得數據的關聯性,可以從噪聲很多的海量數據中抽取有用的信息。比如,通過爲購物者之間的關係建模,可以很快找到喜好相似的用戶,併爲之推薦商品。

有許多新型的基於圖的計算平臺和引擎出現。例如專注於圖結構化存儲與查詢的圖數據庫Neo4j,infinitegraph等。Google的圖計算框架Pregel(基於大塊的消息傳遞機制),CMU的開源圖計算框架——GraphLab(基於內存共享機制)。Spark也有支持圖計算機器學習的模塊——GraphX,可以實現複雜的圖數據挖掘。

3. 知識圖譜的存儲

3.1 RDF存儲

(1)存儲三元組(Triple)
(2)標準的推理引擎
(3)W3C標準
(4)常用於發佈數據
(5)多數爲學術界場景
在這裏插入圖片描述
RDF三元組爲“主謂賓”的結構。

3.2 圖數據庫存儲

(1)節點和關係可以帶有屬性
(2)沒有標準的推理引擎
(3)圖的遍歷效率高
(4)事務管理(ACID)
(5)基本爲工業界場景

3.3 RDF與圖數據存儲的區別

(1)屬性存儲
RDF三元組實體和關係不包含屬性,而屬性圖中可以包含屬性。
在這裏插入圖片描述
在這裏插入圖片描述
比如實體李明的年齡是25歲,在RDF中只能表示爲兩個實體之間的關係,即李明和年齡分別作爲兩個實體,它們之間通過屬性Age_of相連。在屬性圖中,年齡可以表示爲實體李明的一個屬性。

(2)區別2:命題。
示例:李明撥打張三的電話三次。
在這裏插入圖片描述
(3)區別3:RDF主要用於學術界,易於數據的發佈、分享;圖數據庫主要來自於工業界的需求,擁有一般數據庫擁有的特性,比如事實管理、權限管理等等,圖數據庫用來做高效率的圖查詢。

關係型數據庫不能很好地處理關係。
建模難:不熟悉就不能建模和存儲數據和關係
性能低:隨着關係數量和層次的增加,數據庫尺寸的增加,性能降低
查詢難:需要JOIN操作,查詢複雜性增加
擴展難:增加新類型的數據和關係,需要重新設計模式,增加上市時間。

這些劣勢導致傳統的數據庫不適用於有實時價值的數據關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章