知識圖譜,是結構化的語義知識庫,用于迅速描述物理世界中的概念及其相互關系,通過將數據粒度從document級別降到data級別,聚合大量知識,從而實現知識的快速響應和推理。
當下知識圖譜已在工業領域得到了廣泛應用,如搜索領域的Google搜索、百度搜索,社交領域的領英經濟圖譜,企業信息領域的天眼查企業圖譜等。
交叉研究包含有:自然語言處理與語義web、數據挖掘、機器學習、知識表示與推理、認知計算、信息檢索與抽取;
構建知識圖譜流程:
一、信息抽取:實體抽取、關系抽取、屬性抽取;
信息抽取(infromation extraction)是知識圖譜構建的第1步,其中的關鍵問題是:如何從異構數據源中自動抽取信息得到候選指示單元?信息抽取是一種自動化地從半結構化和無結構數據中抽取實體、關系以及實體屬性等結構化信息的技術。
1.1實體抽取:也稱為命名實體識別(named entity recognition,NER),是指從文本數據集中自動識別出命名實體;
實體抽取研究歷史:
主要是從面向單一領域進行實體抽取,逐步跨步到面向開放域(open domain)的實體抽取。
1.2 關系抽取:文本語料經過實體抽取之后,得到的是一系列離散的命名實體,為了得到語義信息,還需要從相關語料中提取出實體之間的關聯關系,通過關系將實體聯系起來,才能夠形成網狀的知識結構。這就是關系抽取需要做的事;
關系抽取研究歷史:
1、人工構造語法和語義規則(模式匹配);
2、統計機器學習方法;
3、基于特征向量或核函數的有監督學習方法;
4、研究重點轉向半監督和無監督;
5、開始研究面向開放域的信息抽取方法;
6、將面向開放域的信息抽取方法和面向封閉領域的傳統方法結合。
1.3屬性抽取:是從不同信息源中采集特定實體的屬性信息,如針對某個公眾人物,可以從網絡公開信息中得到其昵稱、生日、國籍、教育背景等信息。
屬性抽取研究歷史:
1、將實體的屬性視作實體與屬性值之間的一種名詞性關系,將屬性抽取任務轉化為關系抽取任務;
2、基于規則和啟發式算法,抽取結構化數據;
3、基于百科類網站的半結構化數據,通過自動抽取生成訓練語料,用于訓練實體屬性標注模型,然后將其應用于對非結構化數據的實體屬性抽取;
4、采用數據挖掘的方法直接從文本中挖掘實體屬性和屬性值之間的關系模式,據此實現對屬性名和屬性值在文本中的定位。
二、知識融合:實體鏈接(相似度計算)、知識合并;
通過信息抽取,我們就從原始的非結構化和半結構化數據中獲取到了實體、關系以及實體的屬性信息。如果我們將接下來的過程比喻成拼圖的話,那么這些信息就是拼圖碎片,散亂無章,甚至還有從其他拼圖里跑來的碎片、本身就是用來干擾我們拼圖的錯誤碎片。
2.1實體鏈接(entity linking)是指對于從文本中抽取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作。
其基本思想是首先根據給定的實體指稱項,從知識庫中選出一組候選實體對象,然后通過相似度計算將指稱項鏈接到正確的實體對象。
實體鏈接研究歷史:
1、僅關注如何將從文本中抽取到的實體鏈接到知識庫中,忽視了位于同一文檔的實體間存在的語義聯系;
2、開始關注利用實體的共現關系,同時將多個實體鏈接到知識庫中。即集成實體鏈接(collective entity linking);
實體鏈接的流程:
1、從文本中通過實體抽取得到實體指稱項;
2、進行實體消歧和共指消解,判斷知識庫中的同名實體與之是否代表不同的含義以及知識庫中是否存在其他命名實體與之表示相同的含義;
3、在確認知識庫中對應的正確實體對象之后,將該實體指稱項鏈接到知識庫中對應實體。
?2.2知識合并:在前面的實體鏈接中,我們已經將實體鏈接到知識庫中對應的正確實體對象那里去了,但需要注意的是,實體鏈接鏈接的是我們從半結構化數據和非結構化數據那里通過信息抽取提取出來的數據。那么除了半結構化數據和非結構化數據以外,我們還有個更方便的數據來源——結構化數據,如外部知識庫和關系數據庫。
對于這部分結構化數據的處理,就是我們知識合并的內容啦。一般來說知識合并主要分為兩種:
1、合并外部知識庫,主要處理數據層和模式層的沖突;
2、合并關系數據庫,有RDB2RDF等方法。
三、知識加工:本體構建、知識推理、質量評估
我們已經通過信息抽取,從原始語料中提取出了實體、關系與屬性等知識要素,并且經過知識融合,消除實體指稱項與實體對象之間的歧義,得到一系列基本的事實表達。然而事實本身并不等于知識。要想最終獲得結構化,網絡化的知識體系,還需要經歷知識加工的過程。
3.1本體構建:本體(ontology)是指工人的概念集合、概念框架,如“人”、“事”、“物”等。本體可以采用人工編輯的方式手動構建(借助本體編輯軟件),也可以以數據驅動的自動化方式構建本體。因為人工方式工作量巨大,且很難找到符合要求的專家,因此當前主流的全局本體庫產品,都是從一些面向特定領域的現有本體庫出發,采用自動構建技術逐步擴展得到的。自動化本體構建過程包含三個階段:1、實體并列關系相似度計算;2、實體上下位關系抽取;3、本體的生成
3.2知識推理:完成了本體構建這一步之后,一個知識圖譜的雛形便已經搭建好了。但可能在這個時候,知識圖譜之間大多數關系都是殘缺的,缺失值非常嚴重,那么這個時候,我們就可以使用知識推理技術,去完成進一步的知識發現。:如果A是B的配偶,B是C的主席,C坐落于D,那么我們就可以認為,A生活在D這個城市。
根據這一條規則,我們可以去挖掘一下在圖里,是不是還有其他的path滿足這個條件,那么我們就可以將AD兩個關聯起來。除此之外,我們還可以去思考,串聯里有一環是B是C的主席,那么B是C的CEO、B是C的COO,是不是也可以作為這個推理策略的一環呢?
當然知識推理的對象也并不局限于實體間的關系,也可以是實體的屬性值,本體的概念層次關系等。
比如:推理屬性值:已知某實體的生日屬性,可以通過推理得到該實體的年齡屬性;
推理概念:已知(老虎,科,貓科)和(貓科,目,食肉目)可以推出(老虎,目,食肉目)
這一塊的算法主要可以分為3大類,基于邏輯的推理、基于圖的推理和基于深度學習的推理。
3.3質量評估
質量評估也是知識庫構建技術的重要組成部分,這一部分存在的意義在于:可以對知識的可信度進行量化,通過舍棄置信度較低的知識來保障知識庫的質量。
四、知識更新:全面更新、增量更新
知識庫的更新包括概念層的更新和數據層的更新。概念層的更新是指新增數據后獲得了新的概念,需要自動將新的概念添加到知識庫的概念層中。數據層的更新主要是新增或更新實體、關系、屬性值,對數據層進行更新需要考慮數據源的可靠性、數據的一致性(是否存在矛盾或冗雜等問題)等可靠數據源,并選擇在各數據源中出現頻率高的事實和屬性加入知識庫。
4.1全面更新:指以更新后的全部數據為輸入,從零開始構建知識圖譜。這種方法比較簡單,但資源消耗大,而且需要耗費大量人力資源進行系統維護;
4.2增量更新:以當前新增數據為輸入,向現有知識圖譜中添加新增知識。這種方式資源消耗小,但目前仍需要大量人工干預(定義規則等),因此實施起來十分困難。
五、知識圖譜查詢和推理計算
5.1知識存儲和查詢:知識圖譜以圖(Graph)的方式來展現實體、事件及其之間的關系。知識圖譜存儲和查詢研究如何設計有效的存儲模式支持對大規模圖數據的有效管理,實現對知識圖譜中知識高效查詢。因為知識圖譜的結構是復雜的圖結構,給知識圖譜的存儲和查詢帶來了挑戰。當前目前知識圖譜多以三元存在的 RDF 形式進行存儲管理,對知識圖譜的查詢支持 SPARQL 查詢;
5.2知識推理計算:知識推理從給定的知識圖譜推導出新的實體跟實體之間的關系。知識圖譜推理可以分為基于符號的推理和基于統計的推理。在人工智能的研究中,基于符號的推理一般是基于經典邏輯(一階謂詞邏輯或者命題邏輯)或者經典邏輯的變異(比如說缺省邏輯)。基于符號的推理可以從一個已有的知識圖譜推理出新的實體間關系,可用于建立新知識或者對知識圖譜進行邏輯的沖突檢測。基于統計的方法一般指關系機器學習方法,即通過統計規律從知識圖譜中學習到新的實體間關系。知識推理在知識計算中具有重要作用,如知識分類、知識校驗、知識鏈接預測與知識補全等。
六、知識圖譜應用
6.1通用和領域知識圖譜:知識圖譜最成熟的一個場景,自動給出搜索結果和相關人物,知識圖譜分為通用知識圖譜與領域知識圖譜兩類,兩類圖譜本質相同,其區別主要體現在覆蓋范圍與使用方式上。通用知識圖譜可以形象地看成一個面向通用領域的結構化的百科知識庫,其中包含了大量的現實世界中的常識性知識,覆蓋面廣。領域知識圖譜又叫行業知識圖譜或垂直知識圖譜,通常面向某一特定領域,可看成是一個基于語義技術的行業知識庫,因其基于行業數據構建,有著嚴格而豐富的數據模式,所以對該領域知識的深度、知識準確性有著更高的要求。
6.2語義集成:?采用語義集成技術,發現異構知識庫中實體間的等價關系,從而實現知識共享。由于知識庫多以本體的形式描述,因此語義集成中的主要環節是本體映射;匹配方法包括:
①基于文本信息的方法:這種方法主要利用本體中實體的文本信息,例如實體的標簽和摘要信息。通過計算兩個實體字符串之間的相似度(常用的有編輯距離相似度, Jaccard 相似度),來確定實體之間是否具有匹配關系;
②基于結構的方法:這種方法主要利用本體的圖結構信息來對本體進行匹配。其中較為代表性的方法有 SimRank 和相似度傳播, 這些方法利用本體的圖結構,對實體間的相似度進行傳播,從而提高對齊的效果;
③基于背景知識的方法:這種方法一般使用 DBPedia 或WordNet 等已有的大規模領域無關知識庫作為背景知識來提高匹配效果。例如,Aleksovski 等人利用 DICE 本體(醫學領域的本體)來匹配結構信息缺失的兩個與醫學相關的本體;
④基于機器學習的方法:這種方法將本體匹配問題視為一個機器學習中的分類或優化問題,采取機器學習方法獲得匹配結果。例如將本體匹配視為一個貝葉斯決策問題。 Niepert 等人將本體匹配問題使用馬爾可夫邏輯網絡(Markov Logic Network)建模,將本體中的各種信息轉化為各種約束條件,并求出最優解。
6.3語義搜索:結合文本,結構化和語義數據、以整體的方式管理不同類型的資源、支持結果為信息單元(文檔,數據)的集成的檢索。知識圖譜是對客觀世界認識的形式化表示,將字符串映射為客觀事件的事務(實體、事件以及之間的關系)。當前基于關鍵詞的搜索技術在知識圖譜的知識支持下可以上升到基于實體和關系的檢索,稱之為語義搜索。語義搜索利用知識圖譜可以準確地捕捉用戶搜索意圖,借助于知識圖譜,直接給出滿足用戶搜索意圖的答案,而不是包含關鍵詞的相關網頁的鏈接。
6.4基于知識的問答:基于語義解析的方法大致包含四個部分: 資源映射、邏輯表達式、候選答案生成、排序。問答系統(Question Answering, QA)是指讓計算機自動回答用戶所提出的問題,是信息服務的一種高級形式。不同于現有的搜索引擎,問答系統返回用戶的不再是基于關鍵詞匹配的相關文檔排序,而是精準的自然語言形式的答案。
經由:①數據預處理:處理數據庫數據,包含索引、數據清理、特征提取等;②問題分析:執行語法分析,同時檢測問題的核心特征,如NER、答案類型等;③數據匹配:將問題里的terms 和數據里的實體進行匹配;④查詢創建:生成結構查詢候選;⑤排序;⑥結果返回與生成:執行查詢并從結果里抽取答案。
七、知識圖譜構建方法
主要包含:知識表示建模、知識表示學習、實體識別與鏈接、實體關系學習、事件關系學習
7.1知識表示與建模:知識表示將現實世界中的各類知識表達成計算機可存儲和計算的結構。機器必須要掌握大量的知識,特別是常識知識才能實現真正類人的智能。從有人工智能的歷史開始,就有了知識表示的研究。知識圖譜的知識表示以結構化的形式描述客觀世界中概念、實體及其關系,將互聯網的信息表達成更接近人類認知世界的形式,為理解互聯網內容提供了基礎支撐。
7.2知識表示學習:隨著以深度學習為代表的表示學習的發展,面向知識圖譜中實體和關系的表示學習也取得了重要的進展。知識表示學習將實體和關系表示為稠密的低維向量,實現了對實體和關系的分布式表示,可以高效地對實體和關系進行計算,、緩解知識稀疏、有助于實現知識融合,已經成為知識圖譜語義鏈接預測和知識補全的重要方法。由于知識表示學習能夠顯著提升計算效率,有效緩解數據稀疏,實現異質信息融合,因此對于知識庫的構建、推理和應用具有重要意義,值得廣受關注、深入研究。
7.3實體識別與鏈接:實體是客觀世界的事物,是構成知識圖譜的基本單位(這里實體指個體或者實例)。實體分為限定類別的實體(如常用的人名、地名、組織機構等)以及開放類別實體(如藥物名稱、疾病等名稱)。實體識別是識別文本中指定類別的實體。實體鏈接是識別出文本中提及實體的詞或者短語(稱為實體提及),并與知識庫中對應實體進行鏈接。實體識別與鏈接是知識圖譜構建、知識補全與知識應用的核心技術。實體識別技術可以檢測文本中的新實體,并將其加入到現有知識庫中。實體鏈接技術通過發現現有實體在文本中的不同出現,可以針對性的發現關于特定實體的新知識。實體識別與鏈接的研究將為計算機類人推理和自然語言理解提供知識基礎。
7.4實體關系學習:實體關系描述客觀存在的事物之間的關聯關系,定義為兩個或多個實體之間的某種聯系,實體關系學習就是自動從文本中檢測和識別出實體之間具有的某種語義關系,也稱為關系抽取。實體關系抽取分類預定義關系抽取和開放關系抽取。預定義關系抽取是指系統所抽取的關系是預先定義好的,比如知識圖譜中定義好的關系類別,如上下位關系、國家—首都關系等。開放式關系抽取。開放式關系抽取不預先定義抽取的關系類別,由系統自動從文本中發現并抽取關系。實體關系識別是知識圖譜自動構建和自然語言理解的基礎。
7.5事件知識學習:事件是促使事物狀態和關系改變的條件,是動態的、結構化的知識。目前已存在的知識資源(如谷歌知識圖譜)所描述多是實體以及實體之間的關系,缺乏對事件知識的描述。針對不同領域的不同應用,事件有不同的描述范疇。一種將事件定義為發生在某個特定的時間點或時間段、某個特定的地域范圍內,由一個或者多個角色參與的一個或者多個動作組成的事情或者狀態的改變。一種將事件認為是細化了的主題,是由某些原因、條件引起,發生在特定時間、地點,涉及某些對象,并可能伴隨某些必然結果的事情。事件知識學習,即將非結構化文本文本中自然語言所表達的事件以結構化的形式呈現,對于知識表示、理解、計算和應用意義重大。知識圖譜中的事件知識隱含互聯網資源中,包括已有的結構化的語義知識、數據庫的結構化信息、半結構化的信息資源以及非結構化資源,不同性質的資源有不同的知識獲取方法。