知識圖譜的定義與架構
知識圖譜的定義
知識圖譜是結構化的語義知識庫,用於以符號形式描述物理世界中的概念及其相互關係。其基本組成單位是“實體-關係-實體”三元組。
通過知識圖譜,可以實現Web從網頁鏈接向概念鏈接的轉變。
知識圖譜的架構
從邏輯上可以劃分爲2個層次:數據層和模式層。
在知識圖譜的數據層,知識以事實(fact)爲單位存儲在圖數據庫。圖數據中有“實體-關係-實體”或者“實體-屬性-屬性值”兩種三元組,所有數據構成龐大的實體關係網絡。
模式層在數據層之上,是知識圖譜的核心。模式層存儲的是經過提煉的知識,通常採用本體庫來管理知識圖譜的模式層。
知識圖譜構建過程
知識圖譜的構建過程是從原始數據出發,採用一系列自動或半自動的技術手段,從原始數據中提取出知識要素,並將其存入知識庫的數據層和模式層的過程。
這是一個迭代更新的過程,每一輪迭代包含3個階段:信息抽取、知識融合以及知識加工
知識圖譜有自頂向下和**自底向上**2種構建方法。
- 自頂向下是從百科類網站等高質量數據源中提取本體和模式信息,加入到知識庫中。
- 自底向上是從公開採集的數據中提取出資源模式,選擇其中置信度較高的新模式,經人工審覈後,加入到知識庫中。
知識圖譜的構建技術
信息抽取(information extraction)
信息抽取的關鍵問題是如何從異構數據源中自動抽取信息得到候選知識單元。關鍵技術包括:實體抽取、關係抽取和屬性抽取。
實體抽取
實體抽取,也稱命名實體識別(named entity recognition,NER),是指從文本數據集中自動識別出命名實體。實體抽取的質量(準確率和召回率)對後續的知識獲取效率和質量影響極大,因此時信息抽取中最爲基礎和關鍵的部分。
早期方法:
- 啓發式算法與人工編寫規則相結合(Rau)。缺點:耗費大量人力,且可擴展性差。
基於統計機器學習方法:
- KNN算法+CRF模型(Liu等人),實現對Twitter文本數據中包含實體的識別。
- 字典輔助下的最大熵算法(Lin等人),在基於Medline論文摘要的GENIA數據集上取得了實體抽取準確率和召回率均超過70%的實驗結果。
開放域的信息抽取方法:
- 層次結構的命名實體分類體系(Sekine等人),將網絡中所有的命名實體劃分爲150個分類。
- 將實體類別進行分類,並基於CRF模型進行實體邊界識別,最後採用自適應感知機算法實現了對實體的自動分類(Ling等人)。
抽取具有相似特徵實體,從而進行分類和聚類:
- 根據已知的實體實例進行特徵建模,利用該模型對處理海量數據集得到的新的命名實體列表,針對新實體建模,迭代地生成實體標註語料庫(Whitelaw等人)。
- 利用無監督學習算法,事先不給出實體分類,而是基於實體的語義特徵從搜索日誌中識別出命名實體,然後採用聚類算法對識別出的實體對象進行聚類(Jain等人)。
關係抽取
關係抽取技術的基本問題是,如何從文本語料中抽取實體間關係。
早期方法:
- 採用模式匹配來識別實體間的關係。缺點:需要對語言學領域有深入理解和認知,且工作量大,難以擴展。
基於統計機器學習方法:
- 利用自然語言中的詞法、句法以及語義特徵進行實體關係建模,通過最大熵方法實現了不借助規則硬編碼的實體關係抽取(Kambhatla等人)。
- 藉助知網(HowNet)提供的本體知識庫構造語義核函數,在開放數據集上對ACE定義的6類實體關係進行抽取(劉克彬等人)。
- 基於Bootstrap算法的半監督學習方法,自動進行實體關係建模(Carlson等人)。
- 基於Bootstrap算法思想,提出協同訓練方法,引入N-Gram特徵進行協同訓練,實現了對弱監督關係抽取模型的強化(陳立瑋等人)。
- 基於無監督學習方法,對實體間的僱傭關係、位置關係以及生產關係等多元關係進行精準識別。(Zhang等人)
面向開放域的方法(無須預定義實體關係類型):
- 提出了面向開放域的信息抽取方法框架(OIE),併發布了基於自監督學習方式的開放信息抽取原型系統。該系統採用少量人工標記數據作爲訓練集,得到一個實體關係分類模型,再依據該模型對開放數據進行分類,依據分類結果訓練樸素貝葉斯模型來識別“實體-關係-實體”三元組。(Banko等人)
- 在OIE的基礎上,發佈了面向開放域信息抽取的WOE系統。該系統能夠利用維基百科網頁信息框(infobox)提供的屬性信息,自動構造實體關係訓練集。(Wu等人)
- 引入語法限制條件和字典約束,採用先識別關係指示詞,然後再對實體進行識別的策略(Fader等人)。
- 引入上下文分析技術,提出了一個支持非動詞性關係抽取的OILLIE系統。(Mausam等人)
結合機器學習算法與開放域方法:
- 基於條件隨機場的關係抽取模型(H-CRF),在目標數據集中關係數量不大且有預先定義好的實體關係分類模型可用的情況下,採用傳統機器學習算法進行關係抽取,而對於沒有預先定義好的實體關係模型或者關係數量過多的情況,則採用開放域關係抽取方法。(Banko等人,微軟的StatSnowball模型)
當前OIE系統在關係抽取方面存在2個主要問題:
- 研究的重點都是如何提高關係抽取的準確率和召回率,很少考慮現實生活中普遍存在的高階多元實體關係
- 所採用的研究方法大多隻關注發掘詞彙或詞組之間的關係模式,而無法實現對隱含語義關係的抽取
針對上述問題提出的方法:
- 採用N元關係模型對OIE系統進行改進,提出KRAKEN模型。(Alan等人)
- 採用後期關係推理的方法,提高OIE系統對隱含實體關係的發現能力(McCallum)
屬性抽取
屬性抽取的目標是從不同信息源採集特定實體的屬性信息,例如暱稱、生日、國籍等,實現對實體屬性的完整勾畫。
- 將人物屬性抽取問題轉化爲實體關係抽取問題,採用支持向量機算法實現了人物屬性抽取與關係預測模型(郭劍毅等人)
- 基於規則和啓發式算法的屬性抽取算法,得到了擴展性良好的本體知識庫YAGO(Suchanek等人)
- 從維基百科網頁信息框抽取實體和實體關係信息,得到DBpedia
知識融合
知識融合包括2部分內容:實體鏈接和知識合併。
知識融合的目的是消除概念的歧義,剔除冗餘和錯誤概念,從而保證知識的質量。
實體鏈接
實體鏈接(entity linking)是指從文本中抽取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作。
實體鏈接的基本思想是首先根據給定的實體指稱項,從知識庫中選出一組候選實體對象,然後通過相似度計算將指稱項鍊接到正確的實體對象。
實體鏈接的一般流程是:
- 從文本中通過實體抽取得到實體指稱項
- 進行實體消岐和共指消解
在確認知識庫中對應的正確實體對象後,將該實體指稱項鍊接到知識庫中對應實體
- 實體消岐(entity disambiguation)是專門用於解決同名實體產生歧義問題的技術。例如“蘋果”可以指水果,也可以指手機。通過實體消岐,就可以根據當前的語境,準確建立實體鏈接。實體消岐主要採用聚類法。聚類法消岐的常用方法有4種:1.空間向量模型(詞袋模型);2.語義模型;3.社會網絡模型;4.百科知識模型
- 共指消解(entity resolution)主要用於解決多個指稱項對應於同一實體對象的問題。例如“eason”,“陳胖子”,“陳奕迅”等指稱項可能指向的是同一個實體對象。代表性的解決方法是Hobbs算法和向心理論(centering theory)
知識合併
在構建知識圖譜時,需要從第三方知識庫產品或已有結構化數據獲取知識輸入。
- 合併外部知識庫:例如從百度百科,維基百科等進行知識合併。該過程主要處理2個層面的問題。一是數據層的融合,包括實體的指稱、屬性、關係以及所屬類別等,主要問題是如何避免實例以及關係的衝突問題,造成冗餘;二是通過模式層的融合,將新得到的本體融入已有的本題庫中。
- 合併關係數據庫:知識圖譜構建過程中,一個重要的高質量知識來源是企業或者機構自己的關係數據庫。爲了將這些結構化的歷史數據融入到知識圖譜中,可以採用資源描述框架(RDF)作爲數據模型。這一過程被稱爲RDB2RDF,實質就是將關係數據庫的數據轉換成RDF的三元組數據。
知識加工
事實本身並不等於知識,想要最終獲得結構化、網絡化的知識體系,還需要經歷知識加工的過程。知識加工主要包括3方面內容:本體構建、知識推理和質量評估。
本體構建
本體可以採用人工編輯的方式手動構建(藉助 本體編輯軟件),也可以採用計算機輔助,以數據驅 動的方式自動構建, 然後採用算法評估和人工審覈 相結合的方式加以修正和確認。對於特定領域而言,可以採用領域專家和衆包的方式人工構建本體 。
然而對於跨領域的全局本體庫而言,採用人工方式工作量巨大,而且很難找符合要求的專家。因此當前主流的全局本體庫產品,都是從一些特定領域的現有本體庫出發,採用自動構建技術逐步擴展得到的。
知識推理
知識推理是指從知識庫中已有的實體關係數據出發,經過計算機推理,建立實體間的新關聯,從而擴展和豐富知識網絡。例如已知(A,爸爸,B)和(B,爸爸,C),可以推理出(A,爺爺,C)。知識推理的對象不侷限於實體間的關係,也可以是實體的屬性值、本體的概念層次關係等。例如已知(老虎,科,貓科)和(貓科,目,食肉目),可以推出(老虎,目,食肉目)。
知識的推理方法可以分爲2大類:基於邏輯的推理和基於圖的推理。
基於邏輯的推理主要包括一階謂詞邏輯、描述邏輯以及基於規則的推理。
基於圖的推理方法主要是基於神經網絡模型或Path Ranking算法。
質量評估
質量評估也是知識庫構建技術的重要組成部分。受現有技術水平限制,採用開放域信息抽取技術得到的只是元素有可能存在錯誤(如實體識別錯誤、關係抽取錯誤等),需要有一個質量評估的過程。
知識更新
人類所擁有的信息和知識量都是時間的單調遞增函數,因此知識圖譜的內容也需要與時俱進,其構建過程是一個不斷迭代更新的過程。
從邏輯上看,知識庫的更新包括概念層的更新和數據層的更新。
知識圖譜的內容更新有兩種方式:數據驅動下的全面更新和增量更新。
參考文獻:《知識圖譜構建技術綜述》 劉嶠,李楊 等