行業知識圖譜的構建及應用

【說在前面】本人部落格新手一枚,象牙塔的老白,職業場的小白。以下內容僅為個人見解,歡迎批評指正,不喜勿噴![認真看圖][認真看圖]

【補充說明】如果你對知識圖譜感興趣,歡迎先瀏覽我的另一篇隨筆:基於圖模型的智慧推薦演算法學習筆記

一、知識圖譜的機遇與挑戰

分享一下肖仰華教授的報告。報告深度剖析知識圖譜的發展進程,系統整理知識圖譜上半場的主要成果,分析知識圖譜下半場的挑戰與機遇,以期為各行業的認知智慧實踐帶來有益的參考。

▌知識圖譜上半場 

1. 傳統知識工程

2. 大數據知識工程

① 大規模簡單知識表示

② 知識獲取

③ 基於知識圖譜的簡單推理

3. 大數據知識工程到底解決了哪些問題?

①  語言表達鴻溝

② 缺失的因果鏈條

③ 碎片化數據的關聯與融合

④ 深化行業數據的理解與洞察 

⑤ 顯著提升了機器的自然語言理解水平

⑥ 基於知識圖譜的大規模知識服務

⑦ 知識圖譜可視化已大量應用

⑧ 大數據知識工程理論體系日趨完善

▌知識圖譜下半場 

1. 應用場景轉變

2. 新的趨勢

① 繁雜的應用場景

② 深度的知識應用

③ 密集的專家知識

④ 有限的數據資源

3. 機遇

4. 應對策略

知識表示方面:

① 與其他知識表示的協同表示與推理

② 知識圖譜的多模態表示

③ 知識圖譜的個性化表示

知識獲取方面:

①  發展低成本知識獲取方法

② 注重多粒度知識獲取

③ 發展大規模常識知識獲取

④ 複雜知識獲取機制與方法

知識應用方面:

① 知識圖譜應用透明化

② 基於知識圖譜的可解釋人工智慧

③ 發展符號知識指導下的機器學習模型

總結

二、行業知識圖譜的構建與應用

分享一下PlantData的文章:行業知識圖譜構建與應用。

1. 知識圖譜整體結構描述

知識圖譜結構拓撲圖如圖所示:

企業全量數據應用挑戰及應對策略:

(1)多源異構數據難以融合

使用知識圖譜(本體)對各類數據建模,基於可動態變化的數據模型(概念-實體-屬性-關係),實現統一建模。

(2)數據模式動態變遷困難

使用可支援數據模式動態變化的知識圖譜的數據存儲。

(3)非結構化數據電腦難以理解

利用資訊抽取技術。

(4)數據使用專業程度過高

(5)分散的數據難以統一消費利用

在知識融合的基礎上,基於語義檢索、知識問答、圖計算、推理、可視化等技術,提供數據檢索/分析/利用,統一平台。

2. 知識建模

(1)以實體為主體目標,實現對不同來源的數據進行映射與合併。(實體抽取與合併)

(2)利用屬性來表示不同數據源中針對實體的描述,形成對實體的全方位描述。(屬性映射與歸併)

(3)利用關係來描述各類抽象建模成實體的數據之間的關聯關係,從而支援關聯分析。(關係抽取)

(4)通過實體鏈接技術,實現圍繞實體的多種類型數據的關聯存儲。(實體鏈接)

(5)使用事件機制描述客觀世界中動態發展,體現事件與實體間的關聯;並利用時序描述事件的發展狀況。(動態事件描述)

知識建模工具:Protégé(本體編輯器,較局限)

3. 知識抽取

知識抽取的主要策略如圖所示(針對結構化、半結構化、非結構化數據的處理方式不同):

知識抽取中的文本資訊抽取,主要包括:實體識別、關係抽取、事件抽取、概念抽取。資訊抽取主要有兩大類工具:

  • OpenIE:面向開放領域抽取資訊、關係類型事先未知、基於語言學模式進行抽取、規模大、精度相對較低。典型工具:ReVerb、TextRunner(準確率低,實用性不強,一般不用)
  • CloseIE:面向特定領域抽取資訊、預先定義好抽取的關係類型、基於領域專業知識抽取、規模小、精度比較高。典型工具:DeepDive(主要是針對實體識別,缺乏對關係/事件/概念的抽取)

非結構化文本數據的處理包括以下步驟:

  • 分詞、詞性標註、語法解析、依存分析
  • NER命名實體識別、實體鏈接
  • 關係抽取、事件抽取

其中,事件抽取可以分為預定義事件抽取和開放域事件抽取,行業知識圖譜中主要為預定義事件抽取。採用模式匹配方法,包括三個步驟:

  • 準備事件觸發詞表
  • 候選事件抽取:尋找含有觸發詞的句子
  • 事件元素識別:根據事件模版抽取相應的元素

還有基於機器學習模型的抽取:SVM、邏輯回歸、CRF、LSTM等:

補充說明,關於知識表示,歡迎先瀏覽我的另一篇隨筆:基於圖模型的智慧推薦演算法學習筆記,這裡不再贅述。

  • 基於數理邏輯的知識表示:RDF(資源描述框架)、OWL(RDF Schema 的擴展)、SPARQL(RDF查詢語言) 
  • 基於向量空間學習的分散式知識表示:Rescal、NTN、TransE(Embedding)

4. 知識融合

(1)數據層融合:實體鏈接技術

即等同性判斷:給定不同數據源中的實體,判斷其是否指向同一個真實世界實體(實體屬性與關係的合併)。

  • 基於實體知識的鏈接
  • 基於篇章主題的鏈接
  • 融合實體知識和篇章主題的鏈接

實體鏈接工具:Wikipedia Miner、DBpedia Spotlight等,大部分都是針對百科類的知識庫工作的,基本不支援中文的處理。

(2)語義描述層融合:Schema Mapping

  • 概念上下位關係合併
  • 概念的屬性定義合併

當然還有一些別的需要考慮,例如多源知識融合、衝突檢測與解決、跨語言融合、知識驗證等。

例如,通過人機交互介面對錯誤資訊進行人工糾正,並以此作為種子案例,通過強化學習加強模型的識別精度和魯棒性。

5. 知識存儲

知識圖譜是基於圖的數據結構,其存儲方式主要有兩種方式:RDF存儲圖資料庫

  • 基於關係資料庫的存儲
  • 基於原生圖的存儲
  • 基於混合存儲

下面展示各大圖資料庫的對比:

6. 知識計算

(1)基於圖論的相關演算法:

  • 圖遍歷:廣度優先遍歷、深度優先遍歷
  • 最短路徑查詢: Dijkstra(迪傑斯特拉演算法)、Floyd(弗洛伊德演算法)
  • 路徑探尋:給定兩個或多個節點,發現它們之間的關聯關係
  • 權威節點分析:PageRank演算法
  • 族群發現:最大流演算法
  • 相似節點發現:基於節點屬性、關係的相似度演算法

(2)本體推理:使用本體推理進行新知識發現或衝突檢測。

  • 基於表運算及改進的方法:FaCT++、Racer、Pellet Hermit等
  • 基於一階查詢重寫的方法(Ontology based data access,基於本體的數據訪問)
  • 基於產生式規則的演算法(如rete):Jena 、Sesame、OWLIM等
  • 基於Datalog轉換的方法:KAON、RDFox等
  • 回答集程式Answer set programming

本體知識推理工具:RDFox。

(3)基於規則的推理:使用規則引擎,編寫相應的業務規則,通過推理輔助業務決策。

  • 在知識圖譜基礎知識的基礎上,專家依據行業應用的業務特徵進行規則的定義。
  • 引擎基於基礎知識與所定義的規則,執行推理過程給出推理結果。

 基於規則推理工具:Drools 規則定義。

7. 知識應用

智慧問答(基於語義解析的方法+基於資訊檢索的方法)、語義搜索(基於實體鏈接)、可視化決策支援(D3.js、ECharts)等。

8. 知識圖譜的自動構建

可構建的圖譜:例如公司圖譜、產品圖譜、⼈物圖譜、智慧預警等。在行業應用中使用知識圖譜,大致有如下幾種方式:

  • 可以使用現有的套裝工具,在現有套裝工具的基礎上進行擴充:LOD2、Stardog
  • 可以使用各生命周期過程中的相應工具進行組合使用,針對性開發或擴展生命周期中特定工具

 

如果您對異常檢測感興趣,歡迎瀏覽我的另一篇部落格:異常檢測演算法演變及學習筆記

如果您對智慧推薦感興趣,歡迎瀏覽我的另一篇部落格:智慧推薦演算法演變及學習筆記 CTR預估模型演變及學習筆記

如果您對時間序列分析感興趣,歡迎瀏覽我的另一篇部落格:時間序列分析中預測類問題下的建模方案 深度學習中的序列模型演變及學習筆記

如果您對數據挖掘感興趣,歡迎瀏覽我的另一篇部落格:數據挖掘比賽/項目全流程介紹 機器學習中的聚類演算法演變及學習筆記

如果您對人工智慧演算法感興趣,歡迎瀏覽我的另一篇部落格:人工智慧新手入門學習路線和學習資源合集(含AI綜述/python/機器學習/深度學習/tensorflow)人工智慧領域常用的開源框架和庫(含機器學習/深度學習/強化學習/知識圖譜/圖神經網路)

如果你是電腦專業的應屆畢業生,歡迎瀏覽我的另外一篇部落格:如果你是一個電腦領域的應屆生,你如何準備求職面試?

如果你是電腦專業的本科生,歡迎瀏覽我的另外一篇部落格:如果你是一個電腦領域的本科生,你可以選擇學習什麼?

如果你是電腦專業的研究生,歡迎瀏覽我的另外一篇部落格:如果你是一個電腦領域的研究生,你可以選擇學習什麼?

如果你對金融科技感興趣,歡迎瀏覽我的另一篇部落格:如果你想了解金融科技,不妨先了解金融科技有哪些可能?

之後部落客將持續分享各大演算法的學習思路和學習筆記:hello world: 我的部落格寫作思路

Tags: