知識圖譜研究進展

轉載【http://www.jiqizhixin.com/article/2510
本文首先簡要回顧知識圖譜的歷史,探討知識圖譜研究的意義。其次,介紹知識圖譜構建的關鍵技術,包括實體關係識別技術、知識融合技術、實體鏈接技術和知識推理技術等。然後,給出現有開放的知識圖譜數據集的介紹。最後,給出知識圖譜在情報分析中的應用案例。

— 漆桂林、高桓、吳天星
東南大學計算機科學與工程學院

本文節選自《情報工程》2017 年第 1 期,知識圖譜專題稿件。

1 知識圖譜構建技術

本節首先給出知識圖譜的技術地圖,然後介紹知識圖譜構建的關鍵技術,包括關係抽取技術、知識融合技術、實體鏈接技術和知識推理技術。

1.1 知識圖譜技術地圖

構建知識圖譜的主要目的是獲取大量的、讓計算機可讀的知識。在互聯網飛速發展的今天,知識大量存在於非結構化的文本數據、大量半結構化的表格和網頁以及生產系統的結構化數據中。爲了闡述如何構建知識圖譜,本文給出了構建知識圖譜的技術地圖,該技術地圖如圖1所示。整個技術圖主要分爲三個部分,第一個部分是知識獲取,主要闡述如何從非結構化、半結構化、以及結構化數據中獲取知識。第二部是數據融合,主要闡述如何將不同數據源獲取的知識進行融合構建數據之間的關聯。第三部分是知識計算及應用,這一部分關注的是基於知識圖譜計算功能以及基於知識圖譜的應用。

1.1.1 知識獲取

在處理非結構化數據方面,首先要對用戶的非結構化數據提取正文。目前的互聯網數據存在着大量的廣告,正文提取技術希望有效的過濾廣告而只保留用戶關注的文本內容。當得到正文文本後,需要通過自然語言技術識別文章中的實體,實體識別通常有兩種方法,一種是用戶本身有一個知識庫則可以使用實體鏈接將文章中可能的候選實體鏈接到用戶的知識庫上。另一種是當用戶沒有知識庫則需要使用命名實體識別技術識別文章中的實體。若文章中存在實體的別名或者簡稱還需要構建實體間的同義詞表,這樣可以使不同實體具有相同的描述。在識別實體的過程中可能會用到分詞、詞性標註,以及深度學習模型中需要用到分佈式表達如詞向量。同時爲了得到不同粒度的知識還可能需要提取文中的關鍵詞,獲取文章的潛在主題等。當用戶獲得實體後,則需要關注實體間的關係,我們稱爲實體關係識別,有些實體關係識別的方法會利用句法結構來幫助確定兩個實體間的關係,因此在有些算法中會利用依存分析或者語義解析。如果用戶不僅僅想獲取實體間的關係,還想獲取一個事件的詳細內容,那麼則需要確定事件的觸發詞並獲取事件相應描述的句子,同時識別事件描述句子中實體對應事件的角色。

在處理半結構化數據方面,主要的工作是通過包裝器學習半結構化數據的抽取規則。由於半結構化數據具有大量的重複性的結構,因此對數據進行少量的標註,可以讓機器學出一定的規則進而在整個站點下使用規則對同類型或者符合某種關係的數據進行抽取。最後當用戶的數據存儲在生產系統的數據庫中時,需要通過 ETL 工具對用戶生產系統下的數據進行重新組織、清洗、檢測最後得到符合用戶使用目的數據。

1.1.2 知識融合

當知識從各個數據源下獲取時需要提供統一的術語將各個數據源獲取的知識融合成一個龐大的知識庫。提供統一術語的結構或者數據被稱爲本體,本體不僅提供了統一的術語字典,還構建了各個術語間的關係以及限制。本體可以讓用戶非常方便和靈活的根據自己的業務建立或者修改數據模型。通過數據映射技術建立本體中術語和不同數據源抽取知識中詞彙的映射關係,進而將不同數據源的數據融合在一起。同時不同源的實體可能會指向現實世界的同一個客體,這時需要使用實體匹配將不同數據源相同客體的數據進行融合。不同本體間也會存在某些術語描述同一類數據,那麼對這些本體間則需要本體融合技術把不同的本體融合。最後融合而成的知識庫需要一個存儲、管理的解決方案。知識存儲和管理的解決方案會根據用戶查詢場景的不同採用不同的存儲架構如 NoSQL 或者關係數據庫。同時大規模的知識庫也符合大數據的特徵,因此需要傳統的大數據平臺如 Spark 或者 Hadoop 提供高性能計算能力,支持快速運算。

1.1.2 知識計算及應用

知識計算主要是根據圖譜提供的信息得到更多隱含的知識,如通過本體或者規則推理技術可以獲取數據中存在的隱含知識;而鏈接預測則可預測實體間隱含的關係;同時使用社會計算的不同算法在知識網絡上計算獲取知識圖譜上存在的社區,提供知識間關聯的路徑;通過不一致檢測技術發現數據中的噪聲和缺陷。通過知識計算知識圖譜可以產生大量的智能應用如可以提供精確的用戶畫像爲精準營銷系統提供潛在的客戶;提供領域知識給專家系統提供決策數據,給律師、醫生、公司 CEO 等提供輔助決策的意見;提供更智能的檢索方式,使用戶可以通過自然語言進行搜索;當然知識圖譜也是問答必不可少的重要組建。

知識圖譜
圖1

從上圖可以看出,知識圖譜涉及到的技術非常多,每一項技術都需要專門去研究,而且已經有很多研究成果。由於篇幅的限制,本文重點介紹知識圖譜構建和知識計算的幾個核心技術。

1.2 實體關係識別技術

最初實體關係識別任務在 1998 年 MUC(Message Understanding Conference)中以 MUC-7 任務被引入,目的是通過填充關係模板槽的方式抽去文本中特定的關係。1998 後,在 ACE(Automatic Content Extraction)中被定義爲關係檢測和識別的任務;2009 年 ACE 併入 TAC (Text Analysis Conference),關係抽取被併入到 KBP(knowledgeBase Population)領域的槽填充任務。從關係任務定義上,分爲限定領域(Close Domain)和開放領域(Open IE);從方法上看,實體關係識別了從流水線識別方法逐漸過渡到端到端的識別方法。

基於統計學的方法將從文本中識別實體間關係的問題轉化爲分類問題。基於統計學的方法在實體關係識別時需要加入實體關係上下文信息確定實體間的關係,然而基於監督的方法依賴大量的標註數據,因此半監督或者無監督的方法受到了更多關注。

(1)監督學習:Zhou[13] 在 Kambhatla 的基礎上加入了基本詞組塊信息和 WordNet,使用 SVM 作爲分類器,在實體關係識別的準確率達到了 55.5%,實驗表明實體類別信息的特徵有助於提高關係抽取性能; Zelenko[14] 等人使用淺層句法分析樹上最小公共子樹來表達關係實例,計算兩顆子樹之間的核函數,通過訓練例如 SVM 模型的分類器來對實例進行分。但基於核函數的方法的問題是召回率普遍較低,這是由於相似度計算過程匹配約束比較嚴格,因此在後續研究對基於核函數改進中,大部分是圍繞改進召回率。但隨着時間的推移,語料的增多、深度學習在圖像和語音領域獲得成功,信息抽取逐漸轉向了基於神經模型的研究,相關的語料被提出作爲測試標準,如 SemEval-2010 task 8[15]。基於神經網絡方法的研究有,Hashimoto[16] 等人利用 Word Embedding 方法從標註語料中學習特定的名詞對的上下文特徵,然後將該特徵加入到神經網絡分類器中,在 SemEval-2010 task 8 上取得了 F1 值 82.8% 的效果。基於神經網絡模型顯著的特點是不需要加入太多的特徵,一般可用的特徵有詞向量、位置等,因此有人提出利用基於聯合抽取模型,這種模型可以同時抽取實體和其之間的關係。聯合抽取模型的優點是可以避免流水線模型存在的錯誤累積[17-22]。其中比較有代表性的工作是[20],該方法通過提出全新的全局特徵作爲算法的軟約束,進而同時提高關係抽取和實體抽取的準確率,該方法在 ACE 語料上比傳統的流水線方法 F1 提高了 1.5%,;另一項工作是 [22],利用雙層的 LSTM-RNN 模型訓練分類模型,第一層 LSTM 輸入的是詞向量、位置特徵和詞性來識別實體的類型。訓練得到的 LSTM 中隱藏層的分佈式表達和實體的分類標籤信息作爲第二層 RNN 模型的輸入,第二層的輸入實體之間的依存路徑,第二層訓練對關係的分類,通過神經網絡同時優化 LSTM 和 RNN 的模型參數,實驗與另一個採用神經網絡的聯合抽取模型[21]相比在關係分類上有一定的提升。但無論是流水線方法還是聯合抽取方法,都屬於有監督學習,因此需要大量的訓練語料,尤其是對基於神經網絡的方法,需要大量的語料進行模型訓練,因此這些方法都不適用於構建大規模的 Knowledge Base。

(2)半(弱)監督學習:半監督學習主要是利用少量的標註信息進行學習,這方面的工作主要是基於 Bootstrap 的方法。基於 Bootstrap 的方法主要是利用少量的實例作爲初始種子的集合,然後利用 pattern 學習方法進行學習,通過不斷的迭代,從非結構化數據中抽取實例,然後從新學到的實例中學習新的 pattern 並擴種 pattern 集合。Brin[23]等人通過少量的實例學習種子模板,從網絡上大量非結構化文本中抽取新的實例,同時學習新的抽取模板,其主要貢獻是構建了 DIPRE 系統;Agichtein[24]在 Brin 的基礎上對新抽取的實例進行可信度的評分和完善關係描述的模式,設計實現了 Snowball 抽取系統;此後的一些系統都沿着 Bootstrap 的方法,但會加入更合理的對 pattern 描述、更加合理的限制條件和評分策略,或者基於先前系統抽取結果上構建大規模 pattern;如 NELL(Never-EndingLanguage Learner)系統[25-26],NELL 初始化一個本體和種子 pattern,從大規模的 Web 文本中學習,通過對學習到的內容進行打分來提高準確率,目前已經獲得了 280 萬個事實。

(3)無監督學習: Bollegala[27]從搜索引擎摘要中獲取和聚合抽取模板,將模板聚類後發現由實體對代表的隱含語義關係; Bollegala[28]使用聯合聚類(Co-clustering)算法,利用關係實例和關係模板的對偶性,提高了關係模板聚類效果,同時使用 L1 正則化 Logistics 迴歸模型,在關係模板聚類結果中篩選出代表性的抽取模板,使得關係抽取在準確率和召回率上都有所提高。

無監督學習一般利用語料中存在的大量冗餘信息做聚類,在聚類結果的基礎上給定關係,但由於聚類方法本身就存在難以描述關係和低頻實例召回率低的問題,因此無監督學習一般難以得很好的抽取效果。

1.3 知識融合技術

知識融合(knowledge fusion)指的是將多個數據源抽取的知識進行融合。與傳統數據融合(datafusion)[29]任務的主要不同是,知識融合可能使用多個知識抽取工具爲每個數據項從每個數據源中抽取相應的值,而數據融合未考慮多個抽取工具[30]。由此,知識融合除了應對抽取出來的事實本身可能存在的噪音外,還比數據融合多引入了一個噪音,就是不同抽取工具通過實體鏈接和本體匹配可能產生不同的結果。另外,知識融合還需要考慮本體的融合和實例的融合。

文獻[30]首先從已有的數據融合方法中挑選出易於產生有意義概率的、便於使用基於 MapReduce 框架的、有前途的最新方法,然後對這些挑選出的方法做出以下改進以用於知識融合:將每個抽取工具同每個信息源配對,每對作爲數據融合任務中的一個數據源,這樣就變成了傳統的數據融合任務;改進已有數據融合方法使其輸出概率,代替原來的真假二值;根據知識融合中的數據特徵修改基於 MapReduce 的框架。文獻[31]提出一個將通過不同搜索引擎得到的知識卡片(即結構化的總結)融合起來的方法。針對一個實體查詢,不同搜索引擎可能返回不同的知識卡片,即便同一個搜索引擎也可能返回多個知識卡片。將這些知識卡片融合起來時,同文獻[30]中提出的方法類似,將知識融合中的三維問題將爲二維問題,再應用傳統的數據融合技術。不過,文獻[31]提出了一個新的概率打分算法,用於挑選一個知識卡片最有可能指向的實體,並設計了一個基於學習的方法來做屬性匹配。

在知識融合技術中,本體匹配扮演着非常重要的角色,提供了概念或者實體之間的對應關係。截止目前,人們已經提出了各種各樣的本體匹配算法,一般可以分爲模式匹配(schema matching)和實例匹配(instance matching),也有少量的同時考慮模式和實例的匹配[32-34]。從技術層面來講,本體匹配可分爲啓發式方法、概率方法、基於圖的方法、基於學習的方法和基於推理的方法。下面圍繞模式匹配和實例匹配,具體介紹各自分類中幾個具有代表性的匹配方法。

模式匹配主要尋找本體中屬性和概念之間的對應關係,文獻[35]和[36]給出比較詳盡的綜述。文獻[37]提出一個自動的語義匹配方法,該方法首先利用像 WordNet 之類的詞典以及本體的結構等信息進行模式匹配,然後將結果根據加權平均的方法整合起來,再利用一些模式(patterns)進行一致性檢查,去除那些導致不一致的對應關係。該過程可循環的,直到不再找到新的對應關係爲止。文獻[38]也是考慮多種匹配算法的結合,利用基於術語的一些相似度計算算法,例如 n-gram 和編輯距離,這裏算法計算的結果根據加權求和進行合併,還考慮了概念的層次關係和一些背景知識,最後通過用戶定義的權重進行合併。爲了應對大規模的本體,文獻[39]提出一個使用錨(anchor)的系統,該系統以一對來自兩個本體的相似概念爲起點,根據這些概念的父概念和子概念等鄰居信息逐漸地構建小片段,從中找出匹配的概念。新找出的匹配的概念對又可作爲新的錨,然後再根據鄰居信息構建新的片段。該過程不斷地重複,直到未找到新的匹配概念對時停止。文獻[40]則以分而治之的思想處理大規模本體,該方法先根據本體的結構對其進行劃分獲得組塊,然後從不同本體獲得的組塊進行基於錨的匹配,這裏的錨是指事先匹配好的實體對,最後再從匹配的組塊中找出對應的概念和屬性。現有的匹配方法通常是將多個匹配算法相結合,採用加權平均或加權求和的方式進行合併。但是,由於本體結構的不對稱性等特徵,這種固定的加權方法顯出不足。文獻[41]基於貝葉斯決策的風險最小化提出一個動態的合併方法,該方法可以根據本體的特徵,在計算每個實體對的相似度時動態地選擇使用哪幾個匹配算法,如何合併這些算法,其靈活性帶來了很好的匹配結果。

實例匹配是評估異構知識源之間實例對的相似度,用來判斷這些實例是否指向給定領域的相同實體。最近幾年,隨着 Web 2.0 和語義 Web 技術的不斷髮展,越來越多的語義數據往往具有豐富實例和薄弱模式的特點,促使本體匹配的研究工作慢慢的從模式層轉移到實例層[42]。文獻[43]提出一個自訓練的方法進行實例匹配,該方法首先根據 owl:sameAs、函數型屬性(functional properties)和基數(cardinalities)構建一個核(kernel),再根據區別比較明顯的屬性值對遞歸的對該核進行擴展。文獻[44]利用現有的局部敏感哈希(locality-sensitivehashing)技術來大幅提高實例匹配的可擴展性,該方法首先需要定義用於實例相似性分析的粒度,然後使用分割好的字符串技術實例相似度。文獻[45]首先使用向量空間模型表示實例的描述性信息,再基於規則採用倒排索引(inverted indexes)獲取最初的匹配候選,在使用用戶定義的屬性值對候選進行過濾,最後計算出的匹配候選相似度用來作爲整合的向量距離,由此抽取出匹配結果。雖然已有方法中已有不少用於處理大規模本體的實例匹配問題,但是同時保證高效和高精度仍然是個很大的挑戰。文獻[46]提出了一個迭代的框架,充分利用特徵明顯的已有匹配方法來提高效率,同時基於相似度傳播的方法利用一個加權指數函數來確保實例匹配的高精度。

1.4 實體鏈接技術

歧義性和多樣性是自然語言的固有屬性,也是實體鏈接的根本難點。如何挖掘更多、更加有效的消歧證據,設計更高性能的消歧算法依然是實體鏈接系統的核心研究問題,值得進一步研究。下面按照不同的實體消歧方法進行分類。

基於概率生成模型方法:韓先培和孫樂[47]提出了一種生成概率模型,將候選實體 e 出現在某頁面中的概率、特定實體 e 被表示爲實體指稱項的概率以及實體 e 出現在特定上下文中的概率三者相乘,得到候選實體同實體指稱項之間的相似度評分值。Blanco 和 Ottaviano 等人[48]提出了用於搜索查詢實體鏈接的概率模型,該方法採用了散列技術與上下文知識,有效地提高了實體鏈接的效率。

基於主題模型的方法:Zhang 等人[49]通過模型自動對文本中的實體指稱進行標註,生成訓練數據集用於訓練 LDA 主題模型,然後計算實體指稱和候選實體的上下文語義相似度從而消歧得到目標實體。王建勇等人[50]提出了對用戶的興趣主題建模的方法,首先構建關係圖,圖中包含了不同命名實體間的相互依賴關係,然後利用局部信息對關係圖中每個命名實體賦予初始興趣值,最後利用傳播算法對不同命名實體的興趣值進行傳播得到最終興趣值,選擇具有最高興趣值的候選實體。

基於圖的方法:Han 等人[51]構造了一種基於圖的模型,其中圖節點爲所有實體指稱和所有候選實體;圖的邊分爲兩類,一類是實體指稱和其對應的候選實體之間的邊,權重爲實體指稱和候選實體之間的局部文本相似度,採用詞袋模型和餘弦距離計算得出。另一類是候選實體之間的邊,權重爲候選實體之間的語義相關度,採用谷歌距離計算。算法首先採集不同實體的初始置信度,然後通過圖中的邊對置信度進行傳播和增強。Gentile 和 Zhang[52]等人提出了基於圖和語義關係的命名實體消歧方法,該方法在維基百科上建立基於圖的模型,然後在該模型上計算各個命名實體的得分從而確定了目標實體,該方法在新聞數據上取得了較高的準確率。Alhelbawy 等人[53]也採用基於圖的方法,圖中的節點爲所有的候選實體,邊採用兩種方式構建,一種是實體之間的維基百科鏈接,另一種是使用實體在維基百科文章中句子的共現。圖中的候選實體節點通過和實體指稱的相似度值被賦予初始值,採用 PageRank 選擇目標實體。Hoffart 等人[54]使用實體的先驗概率,實體指稱和候選實體的上下文相似度,以及候選實體之間的內聚性構成一個加權圖,從中選擇出一個候選實體的密集子圖作爲最可能的目標實體分配給實體指稱。

基於深度神經網絡的方法:周明和王厚峯等人[55]提出了一種用於實體消歧的實體表示訓練方法。該方法對文章內容進行自編碼,利用深度神經網絡模型以有監督的方式訓練實體表示,依據語義表示相似度對候選實體進行排序,但該方法是一種局部性方法,沒有考慮同一文本中共同出現的實體間相關性。黃洪釗和季姮等人[56]基於深度神經網絡和語義知識圖譜,提出了一種基於圖的半監督實體消歧義方法,將深度神經網絡模型得到的實體間語義關聯度作爲圖中的邊權值。從實驗結果得出:基於語義知識圖譜的 NGD 和 VSM[57]方法比起 Wikipedia anchor links 無論在關聯性測試上還是在消歧性能上都具有更好的測試結果。相比 NGD 和 VSM,基於 DNN[58]的深度語義關聯方法在關聯性測試上還是在消歧性能上都具有更好的關聯性和更高的準確性。但該方法存在兩點不足,一方面在構建深度語義關聯模型時採用詞袋子方法,沒有考慮上下文詞之間位置關係,另外一方面在消歧的過程中,構建的圖模型沒有充分利用已消歧實體,邊權值和頂點得分隨着未消歧實體增加保持不變,並沒有爲後續的歧義實體增加信息量。

1.5 知識推理技術

知識庫推理可以粗略地分爲基於符號的推理和基於統計的推理。在人工智能的研究中,基於符號的推理一般是基於經典邏輯(一階謂詞邏輯或者命題邏輯)或者經典邏輯的變異(比如說缺省邏輯)。基於符號的推理可以從一個已有的知識圖譜,利用規則,推理出新的實體間關係,還可以對知識圖譜進行邏輯的衝突檢測。基於統計的方法一般指關係機器學習方法,通過統計規律從知識圖譜中學習到新的實體間關係。

1.5.1 基於符號邏輯的推理方法

爲了使得語義網絡同時具備形式化語義和高效推理,一些研究人員提出了易處理(tractable)概念語言,並且開發了一些商用化的語義網絡系統。這些系統的提出,使得針對概念描述的一系列邏輯語言,統稱描述邏輯(description logic),得到了學術界和業界廣泛關注。但是這些系統的推理效率難以滿足日益增長的數據的需求,最終沒能得到廣泛應用。這一困局被利物浦大學的 Ian Horrocks 教授打破,他開發的 FaCT 系統可以處理一個比較大的醫療術語本體 GALEN,而且性能比其他類似的推理機要好得多。描述邏輯最終成爲了 W3C 推薦的 Web 本體語言 OWL 的邏輯基礎。

雖然描述邏輯推理機的優化取得了很大的進展,但是還是跟不上數據增長的速度,特別是當數據規模大到目前的基於內存的服務器無法處理的情況下。爲了應對這一挑戰,最近幾年,研究人員開始考慮將描述邏輯和 RDFS 的推理並行來提升推理的效率和可擴展性,並且取得了很多成果。並行推理工作所藉助的並行技術分爲以下兩類:1)單機環境下的多核、多處理器技術,比如多線程,GPU 技術等;2)多機環境下基於網絡通信的分佈式技術,比如 MapReduce 計算框架、Peer-To-Peer 網絡框架等。很多工作嘗試利用這些技術實現高效的並行推理。

單機環境下的並行技術以共享內存模型爲特點,側重於提升本體推理的時間效率。對於實時性要求較高的應用場景,這種方法成爲首選。對於表達能力較低的語言,比如 RDFS、OWL EL,單機環境下的並行技術將顯著地提升本體推理效率。Goodman 等人在[59]中利用高性能計算平臺 Cray XMT 實現了大規模的 RDFS 本體推理,利用平臺計算資源的優勢限制所有推理任務在內存完成。然而對於計算資源有限的平臺,內存使用率的優化成爲了不可避免的問題。Motik 等人在[60]工作中將 RDFS,以及表達能力更高的 OWL RL 等價地轉換爲 Datalog 程序,然後利用 Datalog 中的並行優化技術來解決內存的使用率問題。在[61]中,作者嘗試利用並行與串行的混合方法來提升OWL RL的推理效率。Kazakov 等人在 [62]中提出了利用多線程技術實現 OWL EL 分類(classification)的方法,並實現推理機 ELK。

儘管單機環境的推理技術可以滿足高推理性能的需求,但是由於計算資源有限(比如內存,存儲容量),推理方法的可伸縮性(scalability)受到不同程度的限制。因此,很多工作利用分佈式技術突破大規模數據的處理界限。這種方法利用多機搭建集羣來實現本體推理。

Mavin[63]是首個嘗試利用 Peer-To-Peer 的分佈式框架實現 RDF 數據推理的工作。實驗結果表明,利用分佈式技術可以完成很多在單機環境下無法完成的大數據量推理任務。很多工作基於 MapReduce 的開源實現(如 Hadoop,Spark 等)設計提出了大規模本體的推理方法。其中較爲成功的一個嘗試是 Urbani 等人在 2010 年公佈的推理系統 WebPIE [64]。實驗結果證實其在大集羣上可以完成上百億的 RDF 三元組的推理。他們又在這個基礎上研究提出了基於 MapReduce 的 OWL RL 查詢算法[65]。利用 MapReduce 來實現 OWL EL 本體的推理算法在 [66]中提出,實驗證明 MapReduce 技術同樣可以解決大規模的 OWL EL 本體推理。在[67]的工作中,進一步擴展 OWL EL 的推理技術,使得推理可以在多個並行計算平臺完成。

1.5.2 基於統計的推理方法

知識圖譜中基於統計的推理方法一般指關係機器學習方法。下面介紹一些典型的方法。

實體關係學習方法

實體關係學習的目的是學習知識圖譜中實例和實例之間的關係。這方面的工作非常多,也是最近幾年知識圖譜的一個比較熱的研究方向。按照文獻[68]的分類,可以分爲潛在特徵模型和圖特徵模型兩種。潛在特徵模型通過實例的潛在特徵來解釋三元組。比如說,莫言獲得諾貝爾文學獎的一個可能解釋是他是一個有名的作家。Nickel等人在[69]中給出了一個關係潛在特徵模型,稱爲雙線性(bilinear)模型,該模型考慮了潛在特徵的兩兩交互來學習潛在的實體關係。Drumond 等人在[70]中應用兩兩交互的張量分解模型來學習知識圖譜中的潛在關係。

翻譯(translation)模型[71]將實體與關係統一映射至低維向量空間中,且認爲關係向量中承載了頭實體翻譯至尾實體的潛在特徵。因此,通過發掘、對比向量空間中存在類似潛在特徵的實體向量對,我們可以得到知識圖譜中潛在的三元組關係。全息嵌入(Holographic Embedding,HolE)模型[72]分別利用圓周相關計算三元組的組合表示及利用圓周卷積從組合表示中恢復出實體及關係的表示。與張量分解模型類似,HolE 可以獲得大量的實體交互來學習潛在關係,而且有效減少了訓練參數,提高了訓練效率。

基於圖特徵模型的方法從知識圖譜中觀察到的三元組的邊的特徵來預測一條可能的邊的存在。典型的方法有基於基於歸納邏輯程序(ILP)的方法[73],基於關聯規則挖掘(ARM)的方法[74]和路徑排序(path ranking)的方法[75]。基於 ILP 的方法和基於 ARM 的方法的共同之處在於通過挖掘的方法從知識圖譜中抽取一些規則,然後把這些規則應用到知識圖譜上,推出新的關係。而路徑排序方法則是根據兩個實體間連通路徑作爲特徵來判斷兩個實體是否屬於某個關係。

類型推理(typeinference)方法

知識圖譜上的類型推理目的是學習知識圖譜中的實例和概念之間的屬於關係。SDType[76]利用三元組主語或謂語所連接屬性的統計分佈以預測實例的類型。該方法可以用在任意單數據源的知識圖譜,但是無法做到跨數據集的類型推理。Tipalo[77]與LHD[78]均使用 DBpedia 中特有的 abstract 數據,利用特定模式進行實例類型的抽取。此類方法依賴於特定結構的文本數據,無法擴展到其他知識庫。

模式歸納(schemainduction)方法

模式歸納方法學習概念之間的關係,主要有基於 ILP 的方法和基於 ARM 的方法。ILP 結合了機器學習和邏輯編程技術,使得人們可以從實例和背景知識中獲得邏輯結論。Lehmann 等在[79]中提出用向下精化算子學習描述邏輯的概念定義公理的方法,即從最一般的概念(即頂概念)開始,採用啓發式搜索方法使該概念不斷特殊化,最終得到概念的定義。爲了處理像 DBpedia 這樣大規模的語義數據,該方法在[80]中得到進一步的擴展。這些方法都在 DL-Learner[81]中得以實現。Völker 等人在[82]中介紹了從知識圖譜中生成概念關係的統計方法,該方法通過 SPARQL 查詢來獲取信息,用以構建事務表。然後使用 ARM 技術從事務表中挖掘出一些相關聯的概念關係。在他們的後續工作中,使用負關聯規則挖掘技術學習不交概念關係[83],並在文獻[84]中給出了豐富的試驗結果。

2 開放知識圖譜

本節首先介紹當前世界範圍內知名的高質量大規模開放知識圖譜,包括 DBpedia[85][86]、Yago[87][88]、Wikidata[89]、BabelNet[90][91]、ConceptNet[92][93]以及Microsoft Concept Graph[94][95]等。然後介紹中文開放知識圖譜平臺 OpenKG。

2.1 開放知識圖譜

DBpedia 是一個大規模的多語言百科知識圖譜,可視爲是維基百科的結構化版本。DBpedia 使用固定的模式對維基百科中的實體信息進行抽取,包括 abstract、infobox、category 和 page link 等信息。圖 2 示例瞭如何將維基百科中的實體“Busan”的 infobox 信息轉換成 RDF 三元組。DBpedia 目前擁有 127 種語言的超過兩千八百萬個實體與數億個 RDF 三元組,並且作爲鏈接數據的核心,與許多其他數據集均存在實體映射關係。而根據抽樣評測[96],DBpedia 中 RDF 三元組的正確率達 88%。DBpedia 支持數據集的完全下載。

Yago 是一個整合了維基百科與 WordNet[97]的大規模本體,它首先制定一些固定的規則對維基百科中每個實體的 infobox 進行抽取,然後利用維基百科的category進行實體類別推斷(Type Inference)獲得了大量的實體與概念之間的 IsA 關係(如:“Elvis Presley” IsA “American Rock Singers”),最後將維基百科的 category 與 WordNet 中的 Synset(一個 Synset 表示一個概念)進行映射,從而利用了 WordNet 嚴格定義的 Taxonomy 完成大規模本體的構建。隨着時間的推移,Yago 的開發人員爲該本體中的 RDF 三元組增加了時間與空間信息,從而完成了 Yago2[98]的構建,又利用相同的方法對不同語言維基百科的進行抽取,完成了 Yago3[99]的構建。目前,Yago 擁有 10 種語言約 459 萬個實體,2400 萬個 Facts,Yago 中 Facts的正確率約爲 95%。Yago 支持數據集的完全下載。

這裏寫圖片描述

Wikidata 是一個可以自由協作編輯的多語言百科知識庫,它由維基媒體基金會發起,期望將維基百科、維基文庫、維基導遊等項目中結構化知識進行抽取、存儲、關聯。Wikidata 中的每個實體存在多個不同語言的標籤,別名,描述,以及聲明(statement),比如 Wikidata 會給出實體“London”的中文標籤“倫敦”,中文描述“英國首都”以及圖 3 給出了一個關於“London”的聲明的具體例子。“London”的一個聲明由一個 claim 與一個 reference 組成,claim 包括property:“Population”、value:“8173900”以及一些 qualifiers(備註說明)組成,而 reference 則表示一個 claim 的出處,可以爲空值。目前 Wikidata 目前支持超過 350 種語言,擁有近 2500 萬個實體及超過 7000 萬的聲明[100],並且目前 Freebase 正在往 Wikidata 上進行遷移以進一步支持 Google 的語義搜索。Wikidata 支持數據集的完全下載。

6-3.png
BabelNet 是目前世界範圍內最大的多語言百科同義詞典,它本身可被視爲一個由概念、實體、關係構成的語義網絡(Semantic Network)。BabelNet 目前有超過 1400 萬個詞目,每個詞目對應一個 synset。每個 synset 包含所有表達相同含義的不同語言的同義詞。比如:“中國”、“中華人民共和國”、“China”以及“people’srepublic of China”均存在於一個 synset 中。BabelNet 由 WordNet 中的英文 synsets 與維基百科頁面進行映射,再利用維基百科中的跨語言頁面鏈接以及翻譯系統,從而得到 BabelNet 的初始版本。目前 BabelNet 又整合了 Wikidata、GeoNames、OmegaWiki 等多種資源,共擁有 271 個語言版本。由於 BabelNet 中的錯誤來源主要在於維基百科與 WordNet 之間的映射,而映射目前的正確率大約在 91%。關於數據集的使用,BabelNet 目前支持 HTTP API 調用,而數據集的完全下載需要經過非商用的認證後才能完成。

ConceptNet 是一個大規模的多語言常識知識庫,其本質爲一個以自然語言的方式描述人類常識的大型語義網絡。ConceptNet 起源於一個衆包項目 Open Mind Common Sense,自 1999 年開始通過文本抽取、衆包、融合現有知識庫中的常識知識以及設計一些遊戲從而不斷獲取常識知識。ConceptNet 中共擁有 36 種固定的關係,如 IsA、UsedFor、CapableOf 等,圖 4 給出了一個具體的例子,從中可以更加清晰地瞭解 ConceptNet 的結構。ConceptNet 目前擁有 304 個語言的版本,共有超過 390 萬個概念,2800 萬個聲明(statements,即語義網絡中邊的數量),正確率約爲 81%。另外,ConceptNet 目前支持數據集的完全下載。
這裏寫圖片描述
6-4.png

Microsoft Concept Graph 是一個大規模的英文 Taxonomy,其中主要包含的是概念間以及實例(等同於上文中的實體)概念間的 IsA 關係,其中並不區分 instanceOf 與 subclassOf 關係。Microsoft Concept Graph 的前身是 Probase,它過自動化地抽取自數十億網頁與搜索引擎查詢記錄,其中每一個 IsA 關係均附帶一個概率值,即該知識庫中的每個 IsA 關係不是絕對的,而是存在一個成立的概率值以支持各種應用,如短文本理解、基於 taxonomy 的關鍵詞搜索和萬維網表格理解等。目前,Microsoft Concept Graph 擁有約 530 萬個概念,1250 萬個實例以及 8500 萬個 IsA 關係(正確率約爲 92.8%)。關於數據集的使用,MicrosoftConcept Graph 目前支持 HTTP API 調用,而數據集的完全下載需要經過非商用的認證後才能完成。

除了上述知識圖譜外,中文目前可用的大規模開放知識圖譜有 Zhishi.me[101]、Zhishi.schema[102]與XLore[103]等。Zhishi.me 是第一份構建中文鏈接數據的工作,與 DBpedia 類似,Zhishi.me 首先指定固定的抽取規則對百度百科、互動百科和中文維基百科中的實體信息進行抽取,包括 abstract、infobox、category 等信息;然後對源自不同百科的實體進行對齊,從而完成數據集的鏈接。目前 Zhishi.me 中擁有約 1000 萬個實體與一億兩千萬個 RDF 三元組,所有數據可以通過在線 SPARQL Endpoint 查詢得到。Zhishi.schema 是一個大規模的中文模式(Schema)知識庫,其本質是一個語義網絡,其中包含三種概念間的關係,即equal、related與subClassOf關係。Zhishi.schema抽取自社交站點的分類目錄(Category Taxonomy)及標籤雲(Tag Cloud),目前擁有約40萬的中文概念與150萬RDF三元組,正確率約爲84%,並支持數據集的完全下載。XLore 是一個大型的中英文知識圖譜,它旨在從各種不同的中英文在線百科中抽取 RDF 三元組,並建立中英文實體間的跨語言鏈接。目前,XLore 大約有 66 萬個概念,5 萬個屬性,1000 萬的實體,所有數據可以通過在線 SPARQL Endpoint 查詢得到。

2.2 中文開放知識圖譜聯盟介紹

中文開放知識圖譜聯盟(OpenKG)旨在推動中文知識圖譜的開放與互聯,推動知識圖譜技術在中國的普及與應用,爲中國人工智能的發展以及創新創業做出貢獻。聯盟已經搭建有 OpenKG.CN 技術平臺,如圖 5 所示,目前已有 35 家機構入駐。吸引了國內最著名知識圖譜資源的加入,如 Zhishi.me, CN-DBPedia, PKUBase。並已經包含了來自於常識、醫療、金融、城市、出行等 15 個類目的開放知識圖譜。

6-5.png
中文開放知識圖譜聯盟

3 知識圖譜在情報分析的案例

3.1 股票投研情報分析

通過知識圖譜相關技術從招股書、年報、公司公告、券商研究報告、新聞等半結構化表格和非結構化文本數據中批量自動抽取公司的股東、子公司、供應商、客戶、合作伙伴、競爭對手等信息,構建出公司的知識圖譜。在某個宏觀經濟事件或者企業相關事件發生的時候,券商分析師、交易員、基金公司基金經理等投資研究人員可以通過此圖譜做更深層次的分析和更好的投資決策,比如在美國限制向中興通訊出口的消息發佈之後,如果我們有中興通訊的客戶供應商、合作伙伴以及競爭對手的關係圖譜,就能在中興通訊停牌的情況下快速地篩選出受影響的國際國內上市公司從而挖掘投資機會或者進行投資組合風險控制(圖6)。

6-6.png
圖6 股票投研情報分析

3.2 公安情報分析

通過融合企業和個人銀行資金交易明細、通話、出行、住宿、工商、稅務等信息構建初步的“資金賬戶-人-公司”關聯知識圖譜。同時從案件描述、筆錄等非結構化文本中抽取人(受害人、嫌疑人、報案人)、事、物、組織、卡號、時間、地點等信息,鏈接並補充到原有的知識圖譜中形成一個完整的證據鏈。輔助公安刑偵、經偵、銀行進行案件線索偵查和挖掘同夥。比如銀行和公安經偵監控資金賬戶,當有一段時間內有大量資金流動並集中到某個賬戶的時候很可能是非法集資,系統觸發預警(圖7)。

6-7.png
3.3 反欺詐情報分析

通過融合來自不同數據源的信息構成知識圖譜,同時引入領域專家建立業務專家規則。我們通過數據不一致性檢測,利用繪製出的知識圖譜可以識別潛在的欺詐風險。比如借款人張xx和借款人吳x填寫信息爲同事,但是兩個人填寫的公司名卻不一樣, 以及同一個電話號碼屬於兩個借款人,這些不一致性很可能有欺詐行爲 (圖8)。

6-8.png

4 總結
知識圖譜是知識工程的一個分支,以知識工程中語義網絡作爲理論基礎,並且結合了機器學習,自然語言處理和知識表示和推理的最新成果,在大數據的推動下受到了業界和學術界的廣泛關注。知識圖譜對於解決大數據中文本分析和圖像理解問題發揮重要作用。目前,知識圖譜研究已經取得了很多成果,形成了一些開放的知識圖譜。但是,知識圖譜的發展還存在以下障礙。首先,雖然大數據時代已經產生了海量的數據,但是數據發佈缺乏規範,而且數據質量不高,從這些數據中挖掘高質量的知識需要處理數據噪音問題。其次,垂直領域的知識圖譜構建缺乏自然語言處理方面的資源,特別是詞典的匱乏使得垂直領域知識圖譜構建代價很大。最後,知識圖譜構建缺乏開源的工具,目前很多研究工作都不具備實用性,而且很少有工具發佈。通用的知識圖譜構建平臺還很難實現。

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