新手探索NLP(十一)——知識圖譜

轉載自https://blog.csdn.net/JH_Zhai/article/details/79919604

知識圖譜

根據 W3C的解釋,語義網絡是一張數據構成的網絡,語義網絡技術向用戶提供的是一個查詢環境,其核心要義是以圖形的方式向用戶返回經過加工和推理的知識

而知識圖譜技術則是實現智能化語義檢索的基礎和橋樑

傳統搜索引擎技術能夠根據用戶查詢快速排序網頁,提高信息檢索的效率,然而,這種網頁檢索效率並不意味着用戶能夠快速準確地獲取信息和知 識,對於搜索引擎反饋的大量結果,還需要進行人工排查和篩選.

1 知識圖譜的定義與架構

1.1 定義

知識圖譜 是結構化的語義知識庫,用 於以符號形式描述物理世界中的概念及其相互關係.其基本組成單位是“實體-關係-實體”三元組,以 及實體及其相關屬性-值對,實體間通過關係相互聯結,構成網狀的知識結構

通過知識圖譜,可以實現 Web 從網頁鏈接向概念鏈接轉變,支持用戶按主題而不是字符串檢索,從而真正實現語義檢索,基於知識圖譜的搜索引擎,能夠以圖形方式向用戶反饋結構化的知識,用戶不必 瀏覽大量網頁,就可以準確定位和深度獲取知識.

定義1包含3層含義

  1. 知識圖譜本身是一個具有屬性的實體通過關係鏈接而成的網狀知識庫.從圖的角度來看,知識 圖譜在本質上是一種概念網絡,其中的節點表示物 理世界的實體(或概念),而實體間的各種語義關係 則構成網絡中的邊.由此,知識圖譜是對物理世界的 一種符號表達.
  2. 知識圖譜的研究價值在於,它是構建在當前 Web基礎之上的一層覆蓋網絡, 藉助知識圖譜,能夠在 Web 網頁之上建立概念間的鏈接關係,從而以最小的代價將互聯網中積累的信息組織起來,成爲可以被利用的知識.
  3. 知識圖譜的應用價值在於,它能夠改變現有的信息檢索方式,一方面通過推理實現概念檢索(相 對於現有的字符串模糊匹配方式而言);另一方面以圖形化方式向用戶展示經過分類整理的結構化知識,從而使人們從人工過濾網頁尋找答案的模式中解脫出來

1.2 知識圖譜的架構

知識圖譜的架構,包括自身的 邏輯結構技術架構

邏輯結構 可分爲2個層次 :數據層和模式層

數據層 : 知識以事實(fact)爲單位存儲在圖數據庫

模式層在數據層之上,是知識圖譜的核心。在模式層存儲的是經過提煉的知識,通常採用本體庫來管理知識圖譜的模式層藉助本體庫對公理、規則和約束條件的支持能力來規範實體、關係以及實體的 類型和屬性等對象之間的聯繫.本體庫在知識圖譜 中的地位相當於知識庫的模具,擁有本體庫的知識庫冗餘知識較少

知識圖譜的構建過程是從原始數據出發,採用一系列自動或半自動的技術手段,從原始數據中提取出知識要素(即事實),並將其存入知識庫的數據層和模式層的過程.

這是一個迭代更新的過程,根據知識獲取的邏輯,每一輪迭代包含3個階段:信息抽取、知識融合以及知識加工
這裏寫圖片描述

知識圖譜有自頂向下和自底向上2種構建方式.

  • 所謂自頂向下構建是指藉助百科類網站等結構化數據源,從高質量數據中提取本體和模式信息,加 入到知識庫中;
  • 所謂自底向上構建,則是藉助一定的技術手段,從公開採集的數據中提取出資源模式,選 擇其中置信度較高的新模式,經人工審覈之後,加入到知識庫中

2 知識圖譜的構建技術

採用自底向上的方式構建知識 圖譜的過程是一個迭代更新的過程,每一輪更新包 括3個步驟:
1)信息抽取,即從各種類型的數據源中 提取出實體(概念)、屬性以及實體間的相互關係,在 此基礎上形成本體化的知識表達;
2)知識融合,在獲 得新知識之後,需要對其進行整合,以消除矛盾和歧 義,比如某些實體可能有多種表達,某個特定稱謂也 許對應於多個不同的實體等;
3)知識加工,對於經過 融合的新知識,需要經過質量評估之後(部分需要人 工參與甄別),才能將合格的部分加入到知識庫中, 以確保知識庫的質量.新增數據之後,可以進行知識 推理、拓展現有知識、得到新知識.

2.1 信息抽取

關鍵問題是如何從異構數據源中自動抽取信息得到候選知識單元

涉及的關鍵技術包括:實體抽取、關係抽取和屬性抽取

2.1.1 實體抽取

實體抽取,也稱爲命名實體識別(named entity recognition,NER),是指從文本數據集中自動識別出命名實體.實體抽取的質量(準確率和召回率)對 後續的知識獲取效率和質量影響極大,因此是信息 抽取中最爲基礎和關鍵的部分

2.1.2 關係抽取

文本語料經過實體抽取,得到的是一系列離散 的命名實體,爲了得到語義信息,還需要從相關語料中提取出實體之間的關聯關係,通過關係將實體(概念)聯繫起來,才能夠形成網狀的知識結構.研究關係抽取技術的目的,就是解決如何從文本語料中抽取實體間的關係這一基本問題.

2.1.3 屬性抽取

屬性抽取的目標是從不同信息源中採集特定實體的屬性信息.例如針對某個公衆人物,可以從網絡公開信息中得到其暱稱、生日、國籍、教育背景等信息.屬性抽取技術能夠從多種數據來源中彙集這些信息,實現對實體屬性的完整勾畫

2.2 知識融合

通過信息抽取,實現了從非結構化和半結構化數據中獲取實體、關係以及實體屬性信息的目標,然而,這些結果中可能包含大量的冗餘和錯誤信息數據之間的關係也是扁平化的,缺乏層次性和邏輯性, 因此有必要對其進行清理和整合.知識融合包括 2 部分內容:實體鏈接知識合併.通過知識融合,可以消除概念的歧義剔除冗餘錯誤概念,從而確保 知識的質量.

2.2.1 實體鏈接

實體鏈接(entity linking)是指對於從文本中抽 取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作.

實體鏈接的基本思想是首先根據給定的實體指稱項,從知識庫中選出一組候選實體對象,然後通過相似度計算將指稱項鍊接到正確的實體對象

實體鏈接的一般流程是:
1)從文本中通過實體 抽取得到實體指稱項;
2)進行實體消歧和共指消解, 判斷知識庫中的同名實體與之是否代表不同的含義 以及知識庫中是否存在其他命名實體與之表示相同 的含義;
3)在確認知識庫中對應的正確實體對象之 後,將該實體指稱項鍊接到知識庫中對應實體

2.2.1.1 實體消歧

實體消歧(entity disambiguation)是專門用於解決同名實體產生歧義問題的技術.在實際語言環 境中,經常會遇到某個實體指稱項對應於多個命名 實體對象的問題,例如“李娜”這個名詞(指稱項)可以對應於作爲歌手的李娜這個實體,也可以對應於 作爲網球運動員的李娜這個實體,通過實體消歧,就 可以根據當前的語境,準確建立實體鏈接.實體消歧 主要採用聚類法.

2.2.1.2 共指消解

共指消解(entity resolution)技術主要用於解決多個指稱項對應於同一實體對象的問題.例如在 一篇新聞稿中,“Barack Obama”,“president Obama”, “ the president ”等指稱項可能指向的是同一實體對 象,其中的許多代詞如“he”,“him”等,也可能指向 該實體對象.利用共指消解技術,可以將這些指稱項 關聯(合併)到正確的實體對象.由於該問題在信息 檢索和自然語言處理等領域具有特殊的重要性,吸 引了大量的研究努力,因此學術界對該問題有多種 不同 的 表 述,典 型 的 包 括:對 象 對 齊 (object alignment)、實體匹配(entity matching)以及實體同 義(entity synonyms)

2.2.2 知識合併

在構建知識圖譜時,可以從第三方知識庫產品 或已有結構化數據獲取知識輸入

2.2.2.1 合併外部知識庫

將外部知識庫融合到本地知識庫需要處理2個層面的問題.

  1. 數據層的融合,包括實體的指稱、屬性、關係以及所屬類別等,主要的問題是如何避免實例以及關係的衝突問題,造成不必要的冗餘;
  2. 通過模式層的融合,將新得到的本體融入已有的本體庫中.

2.2.2.2 合併關係數據庫

在知識圖譜構建過程中,一個重要的高質量知識來源是企業或者機構自己的關係數據庫.爲了將這些結構化的歷史數據融入到知識圖譜中,可以採用資源描述框架(RDF)作爲數據模型.業界和學術界將這一數據轉換過程形象地稱爲RDB2RDF,其 實質就是將關係數據庫的數據換成RDF的三元組數據

根據 W3C 的調查報告顯示,當前已經出現了大量RDB2RDF的開源工具 (如 Triplify,D2RServer, OpenLink Virtuoso, SparqlMap等),然而由於缺少標準規範,使得這些工具的推廣應用受到極大制約

.爲此,W3C於 2012年推出了2種映射語言標準:Direct Mapping (A direct mapping of relational data to RDF)和 R2RML (RDB to RDF mapping language).

其中,Direct Mapping採用直接映射的方式,將關係數據庫表結構和數據直接輸出爲RDF圖,在RDF圖中所用到的用於表示類和謂 詞的術語與關係數據庫中的表名和字段名保持一致.

R2RML則具有較高的靈活性和可定製性,允許爲給定的數據庫結構定製詞彙表,可以將關係數據庫通過R2RML映射爲RDF數據集,其中所用的術語如類的名稱,謂詞均來自定義詞彙表

2.3 知識加工

通過信息抽取,可以從原始語料中提取出實體、 關係與屬性等知識要素.再經過知識融合,可以消除實體指稱項與實體對象之間的歧義,得到一系列基本的事實表達.然而,事實本身並不等於知識,要想最終獲得結構化、網絡化的知識體系,還需要經歷知 識加工的過程.知識加工主要包括3方面內容:本體構建、知識推理和質量評估

2.3.1 本體構建

本體(ontology)是對概念進行建模的規範,是 描述客觀世界的抽象模型,以形式化方式對概念及其之間的聯繫給出明確定義.本體的最大特點在於它是共享的,本體中反映的知識是一種明確定義的共識.雖然在不同時代和領域,學者們對本體曾經給出過不同的定義,但這些定義的內涵是一致的,即: 本體是同一領域內的不同主體之間進行交流的語義基礎本體是樹狀結構,相鄰層次的節點(概念)之間具有嚴格的“IsA”關係,這種單純的關係有助於知識推理,但卻不利於表達概念的多樣性.在知識圖譜中,本體位於模式層,用於描述概念層次體系是知識庫中知識的概念模板

2.3.2 知識推理

知識推理是指從知識庫中已有的實體關係數據出發,經過計算機推理,建立實體間的新關聯,從而拓展和豐富知識網絡.知識推理是知識圖譜構建的重要手段和關鍵環節,通過知識推理,能夠從現有知 識中發現新的知識.例如已知(乾隆,父親,雍正)和 (雍正,父親,康熙),可以得到(乾隆,祖父,康熙)或 (康熙,孫子,乾隆).知識推理的對象並不侷限於實體間的關係,也可以是實體的屬性值、本體的概念層次關係等.例如已知某實體的生日屬性,可以通過推理得到該實體的年齡屬性.根據本體庫中的概念繼 承關係,也可以進行概念推理,例如已知(老虎,科, 貓科)和(貓科,目,食肉目),可以推出(老虎,目,食肉目).

2.3.3 質量評估

引入質量評估的意義在於:可以對知識的可信度進行量化,通過捨棄置信度較低的知識, 可以保障知識庫的質量

2.3.4 知識更新

從邏輯上看,知識庫的更新包括概念層的更新和數據層的更新.概念層的更新是指新增數據後獲得了新的概念,需要自動將新的概念添加到知識庫的概念層中.數據層的更新主要是新增或更新實體、 關係和屬性值,對數據層進行更新需要考慮數據源 的可靠性、數據的一致性(是否存在矛盾或冗餘等問 題)等多方面因素.當前流行的方法是選擇百科類網 站等可靠數據源,並選擇在各數據源中出現頻率高 的事實和屬性加入知識庫.知識的更新也可以採用 衆包的模式(如Freebase),而對於概念層的更新,則 需要藉助專業團隊進行人工審覈.

知識圖譜的內容更新有2種方式:數據驅動下的全面更新和增量更新.所謂全面更新是指以更新後的全部數據爲輸入,從零開始構建知識圖譜.這種方式比較簡單,但資源消耗大,而且需要耗費大量人力資源進行系統維護;而增量更新,則是以當前新增數據爲輸入,向現有知識圖譜中添加新增知識.這種方式資源消耗小,但目前仍需要大量人工干預(定義規則等),因此實施起來十分困難

3 知識圖譜的應用

智能語義搜索應用中,當用戶發起查詢時,搜索引擎會藉助知識圖譜的幫助對用戶查詢的關鍵字進行解析和推理,進而將其映射到知識圖譜中的一 個或一組概念之上,然後根據知識圖譜中的概念層 次結構,向用戶返回圖形化的知識結構(其中包含指向資源頁面的超鏈接信息),這就是我們在谷歌和百度的搜索結果中看到的知識卡片.

深度問答應用中,系統同樣會首先在知識圖譜的幫助下對用戶使用自然語言提出的問題進行語義分析和語法分析,進而將其轉化成結構化形式的查詢語句,然後在知識圖譜中查詢答案.對知識圖譜 的查詢通常採用基於圖的查詢語句(如SPARQL), 在查詢過程中,通常會基於知識圖譜對查詢語句進 行多次等價變換.例如,如果用戶提問:“如何判斷是 否感染了埃博拉病毒?”,則該查詢有可能被等價變 換成“感染埃博拉病毒的症狀有哪些?”,然後再進行 推理變換,最終形成等價的三元組查詢語句,如(埃博拉,症狀,?)和(埃博拉,徵兆,?)等,據此進行知識 圖譜查詢得到答案.深度問答應用經常會遇到知識 庫中沒有現成答案的情況,對此可以採用知識推理 技術給出答案.如果由於知識庫不完善而無法通過推理解答用戶的問題,深度問答系統 還可以利用搜索引擎向用戶反饋搜索結果,同時根 據搜索的結果更新知識庫,從而爲回答後續的提問 提前做出準備.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章