知识图谱(三)——知识体系构建和知识融合
知識圖譜不僅包含具體的實例知識數據,還包括對知識數據的描述和定義。該部分對數據進行描述和定義的“元”數據被稱為知識體系(Schema)或本體(Ontology)。
知識融合主要方法:框架匹配和實例對齊。
一、知識體系構建
1、概述
知識體系包含三方面的核心內容:
- 概念的分類
- 概念屬性的描述
- 概念之間相互關系
知識體系的基本形態包含五個層次(難度升序):詞匯(Terms)、概念(Concepts)、分類關系(Taxonomic Relations)、非分類關系(Non-Taxonomic Relations)和公理(Axioms)。
示例:
2、人工構建方法
人工構建知識體系的過程可分為以下六個主要階段(注意:非嚴格的線性關系):
確定領域及任務 ==》體系復用 ==》羅列要素 ==》確定分類體系 ==》定義屬性及關系 ==》定義約束
(1)確定領域及任務
與具體的應用任務有關,與具體的領域密切相關,也不能拋開領域建立一個高大全的、無法被廣泛使用的產品。
想要構建更為合適的體系,需要回答:
- 我們為什么要使用這個知識體系?
- 這種知識體系呢個構幫助回答哪些類型的問題?
- 誰會使用并維護這個知識體系?
(2)體系復用
在真正進行構建之前,應廣泛調研現有的第三方知識體系(eg:Schenma.org)或與之相關的資源,盡可能的參考前人已有的成果。
常用資源如下:
- 領域詞典:專家編撰的領域內的詞典,對構建限定領域的知識體系具有重要的參考意義。
- 語言學資源
- 開源知識圖譜:DBpedia、YAGO、Freebase、OpenCyc等
- 網絡百科
(3)羅列要素
根據領域,盡可能羅列期望在知識圖譜中出現的要素列表,主要包括概念、屬性以及關系。
(4)確定分類體系
確定了相關要素后,需要將其中表示概念的要素組織成層級結構的分類體系。必須保證上層類別所表示的概念完全包含下層類別所表示的概念(所有下層類別的實例必須是上層類別的實例)。
兩個構建方法:
- 自頂向下:從最抽象的概念開始,逐層添加更為具體的概念
- 自底向上:從具體的概念開始,逐層開始抽象
(5)定義屬性及關系
為每個類別定義屬性及關系。
- 屬性:描述概念的內在特征,
- 關系:刻畫不同概念之間的關系。
屬性的定義需要受分類體系的約束,下層類別必須繼承所有上層類別的屬性。
步驟(4)和步驟(5)常交叉進行。
(6)定義約束
- 不同的屬性和關系具有不同的定義域和值域。
- 數據報障數據的一致性,避免異常值的出現。
2、自動構建方法
根據數據源結構化程度的不同,知識體系的學習技術可分為:
- 基于非結構化數據的知識體系學習(重點)
- 基于結構化數據的知識體系學習(采用與人工構建相結合的方式工作)
- 基于半結構化數據的知識體系學習(采用與人工構建相結合的方式工作)
(1)基于非結構化數據的知識體系學習
基本思想:對于非結構化數據(通常指文本數據),首先利用自然語言處理工具對文本進行分詞、句法分析、命名實體識別等預處理操作,然后利用模板匹配、統計學習等手段從文本中抽取重要信息,主要包括領域概念、實例以及概念之間的關系。
主要步驟:領域概念抽取、分類體系構建、概念屬性及關系抽取
a、領域概念抽取
目標:從文本數據中抽取出構建知識體系所需的關鍵元素(該領域的術語),包括實體類型名、屬性名、關系名等
步驟如下
- 抽取候選術語:首先利用自然語言處理工具對文本進行分詞、句法分析,然后利用語言學規則或模板在文本中抽取特定的字符串,并將這些字符串當做領域術語的候選。目標:盡量多覆蓋真正的術語。
- 術語過濾:領域術語在領域內出現的頻率會顯著高于領域外出現的頻率,過濾低質量的術語。
- 常用方法:互信息(MI)、詞頻逆文檔頻率(TF-IDF)、術語相關頻率(RTF)等
- 術語合并:知識體系是對概念及其關系的描述,因此術語需轉換為概念。
- 做法:將候選術語中表達相同概念的術語聚合到一起,即識別同義詞。
- 代表方法:
- 基于詞典的方法:利用現有詞典資源獲取詞匯的同義情況,eg:WordNet、HowNet、同義詞詞林等。
- 基于統計的方法:進行詞匯表示學習,并基于詞匯的表示對詞匯進行聚類。
b、分類體系構建
目標:獲取不同概念之間的上下位關系(繼承關系)。 下位詞是上位詞概念的具體化,eg:“犬科動物”是“哺乳動物”的下位詞。
代表方法
- 基于詞典的方法:利用現有詞典資源獲取不同詞匯的上下位關系,eg:WordNet等。
- 基于統計的方法:通過詞的上下文對當前詞進行表示,并基于該表示對得到的領域術語進行層次聚類。
c、概念屬性及關系抽取
與概念抽取的過程類似,首先利用自然語言處理工具對文本進行分詞、句法分析等預處理,然后利用語言學規則或模板的方法為給定的概念獲取候選屬性集合。然后利用統計方法定量評估每個候選屬性的置信度,過濾掉低質量的屬性,也涉及同義詞的情況。
(2)基于結構化數據的知識體系學習
主要任務:分析關系模型中蘊含的語義信息,并將其映射到知識體系的相應部分。
構建過程:通過分析數據表的字段內容、主鍵、外鍵等信息識別實體和實體間關系。
在信息抽取時,可從描述實體的表中抽取實體的概念(即本體類型)及實體屬性,從描述關系的表中抽取概念間關系,建立初步的知識體系,并進行評估和修正,生成最終的知識體系。
(3)基于半結構化數據的知識體系學習
典型數據:XML格式數據、HTML格式網頁數據以及它們遵循的文檔類型定義(XML Schema 或 DTD)等。以上兩類方法均可使用。
3、典型知識體系(本體)
- SUMO(Suggested Upper Merged Ontology)——最大的公共本體,主要用于學術領域,可作為其他知識體系的基礎本體。
- Schema.org
- Freebase——特點:使用組合數據類型(CVT)的方式表示事件等N-Triple事實。
- Protege常被用于構建、編輯和管理知識框架。常被應用于基于框架的知識表示模型,一般是先定義類,在定義類中的屬性,最后定義類和屬性的約束。
二、知識融合
知識圖譜融合(根據KG類型劃分):
- 豎直方向的融合:融合高層通用本體與底層領域本體或實例數據。eg:YAGO
- 水平方向的融合:融合相同層次的知識圖譜。eg:BabelNet
知識融合通過對多個相關知識圖譜的對齊、關聯和合并,使其成為一個整體。按融合對象的不同分為:框架匹配和實體對齊。
- 框架匹配:對概念、屬性、關系等知識描述體系進行匹配和融合。
- 實體對齊:對齊合并相同的實體完成知識融合
但是實例知識有時有沖突,需要對其檢測和消解。
1、框架匹配(本體對齊)
解決知識體系之間的異構性,知識框架主要包括概念(類型)、屬性、關系和它們之間的約束。
目前常用的框架匹配方法還停留在匹配不同知識庫中的元素,按照使用的技術不同可以分為:元素級匹配和結構級匹配。
(1)元素級匹配
獨立考慮元素是不是匹配,不考慮其他元素的匹配
- 字符串匹配:
- 常用匹配方法:前綴距離,后綴距離,編輯距離和 nnn 元語法距離
- 這種方法忽略了語言符號的多義性,一詞多義和一義多詞
- 詞向量:將詞表示為低維語義向量空間的一個點,語義相似度用點之間的距離來衡量。與字符串相比,有更強的捕獲詞背后的真正語義的能力,且通過訓練產生的詞向量的覆蓋度要大得多。
- 混合方法:常將詞向量與其他編輯距離等結合,混合方法獲得了很好的性能。
(2)結構級匹配
不同元素的匹配之間也會有影響,例如屬性的定義域和值域匹配度高,屬性匹配度也高。基本思想:相似的概念具有相似的概念結構。
- 基于圖的技術:對于兩個本體中的節點,若它們的鄰居節點是相似的,則它們也是相似的。將本體匹配問題轉化為發現最大公共子圖的問題。
- 基于分類體系的技術:只關注與匹配一些特殊關系。“實例-類型”(is-a)或“子類-父類”(SubClassOf)關系。
- 基于統計分析的技術:挖掘蘊含的規律,并對概念、屬性、實例、關系等對象進行分組,進而計算它們之間的距離。
- 典型技術:形式概念分析、基于距離的分類、相關性分析以及頻度分布。
2、實體對齊(實體匹配)
實體對齊:判斷相同或不同知識庫中的兩個實體是否表示同一物理對象的過程。其在數據集成和知識融合中發揮著重要的作用。
方法:
- 成對實體對齊:表示獨立地判斷兩實體是否對應同一物理對象,通過匹配實體屬性等特征判斷它們的對齊程度。
- 協同實體對齊:不同實體間的對齊是相互影響的,通過協調不同對象間的匹配情況得以達到一個全局最優的對齊結果。
典型方法:基于知識庫向量聯合學習的對齊方法
- 基本思想:通過知識庫聯合表示學習(種子對齊方法:兩個實體的向量要在訓練過程中盡可能相似),將多個知識庫表示在同一個語義向量空間中,把知識庫實體對齊的過程轉化為兩個知識庫中實體相似度計算問題。
- 知識庫聯合表示學習 步驟如下:
- 首先,利用簡單的對齊方法(eg:字符串匹配),來產生初始的種子對齊,這些種子對齊要準確率非常高。
- 然后,采用TransE的方式,學習兩個知識庫的對齊。
- 優點:不需要依賴人工設定的規則和特征,也不需要了解知識庫的命名習慣。適應性強、易于移植
3、沖突檢測與消解
沖突檢測與消解是知識融合的重要步驟,是多個知識圖譜形成一個一致結果的最后步驟。
沖突識別(最簡單的方法):發現對于同樣的屬性和關系有不同的實例,但是對于某些屬性,這種策略不一定有效。eg:某個人的兩段不同的婚姻,都正確,不存在沖突,則需要針對性設計不同檢測策略。
沖突處理
- 沖突忽略:不處理,將檢測出的沖突交給用戶解決(舍棄或修改)
- 沖突避免:不解決,而使用規則或約束對數據來源進行過濾。eg:約束人的年齡范圍,設計不同知識來源的可信優先度。
- 沖突消解:利用知識圖譜本身(框架和實例)的特征來消解沖突
- 基于投票的方法:eg:多數投票
- 基于質量估計的方法:考慮不同知識來源的可信度,最終選擇較高質量的結果。eg:HITS或PangRank算法計算不同知識來源的可信度。
總結
以上是生活随笔為你收集整理的知识图谱(三)——知识体系构建和知识融合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识图谱(二)——知识表示
- 下一篇: 知识图谱(四)——实体识别和扩展