知识图谱技术
數(shù)聯(lián)未來,數(shù)據(jù)融合是未來重要的方向,那么對于大數(shù)據(jù)來說目前主要存在如下幾個挑戰(zhàn):1、多源異構(gòu)數(shù)據(jù)難以融合轉(zhuǎn)化并映射到同一平臺,數(shù)據(jù)模型的靈活創(chuàng)建、
以及數(shù)據(jù)模型間的關(guān)聯(lián)關(guān)系也難以實現(xiàn);
2、數(shù)據(jù)模式動態(tài)變遷困難,當(dāng)客戶新需求、業(yè)務(wù)新認知時,需要修改數(shù)據(jù)結(jié)構(gòu)以及業(yè)務(wù)邏輯,帶來擴展性差,對客戶響應(yīng)慢、維護成本高等問題;
3、非結(jié)構(gòu)化的數(shù)據(jù),計算機難以理解,用戶搜索難以返回精確的結(jié)果;
通過對知識圖譜的研究可以發(fā)現(xiàn),知識圖譜確實可以解決以上問題,這里分享一下學(xué)習(xí)總結(jié):
一、 知識圖譜技術(shù)體系
知識圖譜的構(gòu)建主要涉及到知識建模、知識抽取、知識融合、知識存儲、知識計算以及知識應(yīng)用,具體可以歸納如下:
二、 知識圖譜實施方法
?
三、 技術(shù)架構(gòu)
知識圖譜架構(gòu)如下圖,這其中主要包括如下幾個部分:
3.1 數(shù)據(jù)采集
主要涉及到爬蟲技術(shù)
?
3.2 建立本體
可以采用如下兩種方式
自頂向下:由專家創(chuàng)建
自底向上:
- 從現(xiàn)有的行業(yè)標準轉(zhuǎn)化;
- 從現(xiàn)有高質(zhì)量數(shù)據(jù)源(如百科)轉(zhuǎn)化
?
3.3 本體編輯
有很多現(xiàn)有的工具:如Protégé、Semantic Turkey、Swoop、OBO-Edit等,存在的缺點是需要個人編輯,不能多人并行編輯
?
3.4 知識抽取
針對不同的目標數(shù)據(jù)類型,可以提供文件導(dǎo)入、ETL、Wrapper、Extractor三種方式:
- 結(jié)構(gòu)化數(shù)據(jù), 如RDB中的數(shù)據(jù),直接ETL或文件上傳
- 半結(jié)構(gòu)化數(shù)據(jù), 如百科,配置Wrapper解析邏輯
- 文檔、文本類數(shù)據(jù), 如一般的web數(shù)據(jù),利用文本抽取引擎的自然語言處理技術(shù)(NLP)、機器學(xué)習(xí),利用Extractor抽取成結(jié)構(gòu)化的知識數(shù)據(jù)
?
3.5 知識融合
把結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)的知識表達形式都統(tǒng)一成RDF的形式,便于存儲和查詢。具體的知識融合主要包括如下兩種類型:
- 合并外部知識庫: 數(shù)據(jù)層的融合、模式層的融合
開放數(shù)據(jù)集成框架:LDIF
- 合并關(guān)系型數(shù)據(jù)庫:將關(guān)系型數(shù)據(jù)轉(zhuǎn)換成RDF的格式,現(xiàn)有工具Triplify、 d2rServer 、OpenLink、 Virtuoso 、SparqlMap等
?
3.6 知識存儲
知識存儲的主流存儲方式是圖數(shù)據(jù)庫,但具體實施時需要根據(jù)具體的業(yè)務(wù)需求來選擇存儲方式,下表總結(jié)了各種存儲方式的特點:
- 關(guān)系型數(shù)據(jù)庫存儲三元組表(S,P,O): 類似RDF存儲結(jié)構(gòu),以元組為單元進行存儲。語義較為明確
問題:大量自連接操作的開銷巨大
?
- 關(guān)系型數(shù)據(jù)庫存儲屬性表: 屬性相似的主語聚為一張表,類似關(guān)系型數(shù)據(jù)結(jié)構(gòu),每一條數(shù)據(jù)代表一個實體,每一列代表一個屬性
問題:
(1)、 RDF靈活性(高于一階的關(guān)系查詢很復(fù)雜)
(2)、 查詢時必須指定屬性,無法做不確定屬性的查詢
?
- 關(guān)系型數(shù)據(jù)庫存儲垂直分割: 以謂語劃分三元組表,根據(jù)屬性的不同建立數(shù)據(jù)表,數(shù)據(jù)結(jié)構(gòu)較為清晰
問題:
(1)、大量數(shù)據(jù)表
(2)、刪除屬性代價大
?
- 關(guān)系型數(shù)據(jù)庫存儲RDF存儲: 專為存儲三元組形式的數(shù)據(jù)而設(shè)計的專用數(shù)據(jù)庫,通過六重索引(SPO、SOP、PSO、POS、OSP、OPS)的方式解決了三元組搜索的效率問題
優(yōu)點:
(1)、三元組模式查詢(triple pattern)的高效執(zhí)行
(2)、任意兩個三元組模式的高效歸并連接(merge-join)
?
缺點:
(1)、六重索引意味著6倍空間開銷
(2)、更新維護代價大
?
- 圖數(shù)據(jù)庫存儲: 圖數(shù)據(jù)庫的結(jié)構(gòu)定義相比RDF數(shù)據(jù)庫更為通用,實現(xiàn)了圖結(jié)構(gòu)中的節(jié)點,邊以及屬性來進行圖數(shù)據(jù)的存儲,典型的開源圖數(shù)據(jù)庫就是Neo4j。
優(yōu)點:數(shù)據(jù)庫本身提供完善的圖查詢語言、支持各種圖挖掘算法,缺點:圖數(shù)據(jù)庫的分布式存儲實現(xiàn)代價高,數(shù)據(jù)更新速度慢,大節(jié)點的處理開銷很高。
?
- 時態(tài)數(shù)據(jù)存儲: 知識圖譜中的時態(tài)信息包含以下四個方面:
事實的生成時間
某事實的有效時間段
某一對象在特定歷史時刻的狀態(tài)
知識圖譜在過去特定時間的版本
?
- 存儲原則
關(guān)系型數(shù)據(jù):使用圖形數(shù)據(jù)存儲
關(guān)聯(lián)型數(shù)據(jù):作為記錄型數(shù)據(jù)存入合適的存儲中,通過實體鏈接與圖譜中實體關(guān)聯(lián)。
屬性型數(shù)據(jù):作為實體的數(shù)值屬性存入知識圖譜
時態(tài)型數(shù)據(jù):使用基礎(chǔ)存儲上的時態(tài)處理中間件進行存儲與查詢
?
3.7 知識表現(xiàn)
知識表現(xiàn)主要涉及語義網(wǎng)的知識,其中與知識圖譜相關(guān)緊密的是RDF、 OWL、SPARQL幾種,具體的特征和用處如下表:
3.8 知識推理
- jena是一個java 的API,用來支持語義網(wǎng)的有關(guān)應(yīng)用,學(xué)習(xí)jena需要了解XML 、RDF、 Ontology、OWL等方面的知識。
- RDFox是一個高度可擴展的內(nèi)存RDF三重存儲,支持共享內(nèi)存并行數(shù)據(jù)推理。它是一個用C ++編寫的跨平臺軟件,帶有一個Java包裝器,可以與任何基于Java的解決方案輕松集成
?
3.9 知識檢索
索引系統(tǒng)的構(gòu)建,并對查詢的結(jié)果進行排序
?
3.10 人機交互
集成現(xiàn)有的可視化工具,實現(xiàn)知識圖譜的可視化。常見的可視化工具如3D.js、Echarts等。
?
歡迎關(guān)注微信公號:數(shù)聯(lián)未來(zycnb1)
總結(jié)
- 上一篇: .Net·使用ILSpy反编译exe或d
- 下一篇: 李晨 | 无人机市场浅析