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