- 知識圖譜:方法、實踐與應用
- 王昊奮 漆桂林等
- 4499字
- 2020-04-03 12:54:48
1.4 國內外典型的知識圖譜項目
從人工智能的概念被提出開始,構建大規模的知識庫一直都是人工智能、自然語言理解等領域的核心任務之一。下面分別介紹早期的知識庫項目、互聯網時代的知識圖譜、中文開放知識圖譜和垂直領域知識圖譜。
1.4.1 早期的知識庫項目
Cyc是持續時間最久、影響范圍較廣、爭議也較多的知識庫項目。Cyc最初的目標是要建立人類最大的常識知識庫。典型的常識知識如“Every tree is a plant”“Plants die eventually”等。Cyc知識庫主要由術語(Term)和斷言(Assertion)組成。術語包含概念、關系和實體的定義。斷言用來建立術語之間的關系,既包括事實(Fact)描述,也包含規則(Rule)描述。最新的Cyc知識庫已經包含有50萬條術語和700萬條斷言。Cyc的主要特點是基于形式化的知識表示方法刻畫知識。形式化的優勢是可以支持復雜的推理,但過于形式化也導致知識庫的擴展性和應用的靈活性不夠。
WordNet是最著名的詞典知識庫,由普林斯頓大學認知科學實驗室從1985年開始開發。WordNet主要定義了名詞、動詞、形容詞和副詞之間的語義關系。例如,名詞之間的上下位關系,如“貓科動物”是“貓”的上位詞;動詞之間的蘊涵關系,如“打鼾”蘊涵著“睡眠”等。
ConceptNet最早源于MIT媒體實驗室的OMCS(Open Mind Common Sense)項目。與Cyc相比,ConceptNet采用了非形式化、更加接近自然語言的描述,而不是像Cyc一樣采用形式化的謂詞邏輯。與鏈接數據和谷歌知識圖譜相比,ConceptNet比較側重于詞與詞之間的關系。從這個角度來看,ConceptNet更加接近于WordNet,但是又比WordNet包含的關系類型多。
1.4.2 互聯網時代的知識圖譜
互聯網的發展為知識工程提供了新的機遇。在一定程度上,互聯網的出現幫助傳統知識工程突破了在知識獲取方面的瓶頸。從1998年Tim Berners Lee提出語義網至今,涌現出了大量以互聯網資源為基礎的新一代知識庫。這類知識庫的構建方法可以分為三類:互聯網眾包、專家協作和互聯網挖掘。
Freebase是一個開放共享的、協同構建的大規模鏈接數據庫。Freebase是由硅谷創業公司MetaWeb于2005年啟動的一個語義網項目。2010年,谷歌收購了Freebase,并作為其知識圖譜數據來源之一。Freebase主要采用社區成員協作方式構建,主要數據來源包括Wikipedia、世界名人數據庫(NNDB)、開放音樂數據庫(MusicBrainz)以及社區用戶的貢獻等。Freebase基于RDF三元組模型,底層采用圖數據庫進行存儲。Freebase的一個特點是不對頂層本體做非常嚴格的控制,用戶可以創建與編輯類和關系的定義。2016年,谷歌宣布將Freebase的數據和API服務都遷移至Wikidata,并正式關閉了Freebase。
DBpedia意指數據庫版本的Wikipedia,是早期的語義網項目,是從Wikipedia抽取出來的鏈接數據集。DBpedia采用了一個較為嚴格的本體,包含人、地點、音樂、電影、組織機構、物種、疾病等類定義。此外,DBpedia還與Freebase、OpenCYC、Bio2RDF等多個數據集建立了數據鏈接。DBpedia采用RDF語義數據模型,總共包含30億個RDF三元組。
Schema.org是從2011年開始,由Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的語義網項目。Schema.org支持各個網站采用語義標簽(Semantic Markup)的方式將語義化的鏈接數據嵌入到網頁中。搜索引擎自動收集和歸集這些數據,快速地從網頁中抽取語義化的數據。Schema.org提供了一個詞語本體,用于描述這些語義標簽。目前,這個詞匯本體已經包含600多個類和900多個關系,覆蓋范圍包括個人、組織機構、地點、時間、醫療、商品等。谷歌于2015年推出的定制化知識圖譜支持個人和企業在其網頁中增加包括企業聯系方法、個人社交信息等在內的語義標簽,并通過這種方式快速匯集高質量的知識圖譜數據。谷歌的一份統計數據顯示,超過31%的網頁和1200萬家網站已經使用了Schema.org發布語義化的鏈接數據。其他采用了部分Schema.org功能的還包括Cortana、Yandex、Pinterest、Siri等。Schema.org的本質是采用互聯網眾包的方式生成和收集高質量的知識圖譜數據。
Wikidata的目標是構建一個免費開放、多語言、任何人或機器都可以編輯修改的大規模鏈接知識庫。Wikidata由Wikipedia于2012年啟動,早期得到微軟聯合創始人Paul Allen、Gordon Betty Moore基金會以及谷歌的聯合資助。Wikidata繼承了Wikipedia的眾包協作機制,但與Wikipedia不同的是,Wikidata支持以三元組為基礎的知識條目(Item)的自由編輯。一個三元組代表一個關于該條目的陳述(Statement)。例如,可以給“地球”的條目增加“<地球,地表面積是,五億平方公里>”的三元組陳述。截至2018年,Wikidata已經包含超過5000萬個知識條目。
BabelNet是類似于WordNet的多語言詞典知識庫。BabelNet的目標是解決WordNet在非英語語種中數據缺乏的問題。BabelNet采用的方法是將WordNet詞典與Wikipedia集成。首先建立WordNet中的詞與Wikipedia的頁面標題的映射,然后利用Wikipedia中的多語言鏈接,再輔以機器翻譯技術,給WordNet增加多種語言的詞匯。BabelNet3.7包含了271種語言、1400萬個同義詞組、36.4萬個詞語關系和3.8億個從Wikipedia中抽取的鏈接關系,總計超過19億個RDF三元組。BabelNet集成了WordNet在詞語關系上的優勢和Wikipedia在多語言語料方面的優勢,成功構建了目前最大規模的多語言詞典知識庫。
NELL(Never-Ending Language Learner)是卡內基梅隆大學開發的知識庫。NELL主要采用互聯網挖掘的方法從Web中自動抽取三元組知識。NELL的基本理念是:給定一個初始的本體(少量類和關系的定義)和少量樣本,讓機器能夠通過自學習的方式不斷地從Web中學習和抽取新的知識。目前,NELL已經抽取了300多萬條三元組知識。
Yago是由德國馬普研究所研制的鏈接數據庫。Yago主要集成了Wikipedia、WordNet和GeoNames三個數據庫的數據。Yago將WordNet的詞匯定義與Wikipedia的分類體系進行了融合集成,使得Yago具有更加豐富的實體分類體系。Yago還考慮了時間和空間知識,為很多知識條目增加了時間和空間維度的屬性描述。目前,Yago包含1.2億條三元組知識。Yago也是IBM Watson的后端知識庫之一。
Microsoft ConceptGraph是以概念層次體系為中心的知識圖譜。與Freebase等知識圖譜不同,ConceptGraph以概念定義和概念之間的IsA關系為主。例如,給定一個概念“Microsoft”,ConceptGraph返回一組與“微軟”有IsA關系概念組“Company”“Software Company”“Largest OS Vender”等,被稱為概念化“Conceptualization”。ConceptGraph可以用于短文本理解和語義消歧。例如,給定一個短文本“the engineer is eating the apple”,可以利用ConceptGraph正確理解其中“apple”的含義是“吃的蘋果”還是“蘋果公司”。微軟發布的第一個版本包含超過540萬個概念、1255萬個實體和8760萬個關系。ConceptGraph主要通過從互聯網和網絡日志中挖掘數據進行構建。
LOD(Linked Open Data)的初衷是為了實現Tim Berners-Lee在2006年發表的有關鏈接數據(Linked Data)作為語義網的一種實現的設想。LOD遵循了Tim提出的進行數據鏈接的四個規則,即:使用URI標識萬物;使用HTTP URI,以便用戶可以(像訪問網頁一樣)查看事物的描述;使用RDF和SPARQL標準;為事物添加與其他事物的URI鏈接,建立數據關聯。LOD已經有1143個鏈接數據集,其中社交媒體、政府、出版和生命科學四個領域的數據占比超過了90%。56%的數據集對外至少與一個數據集建立了鏈接。被鏈接最多的是DBpedia的數據。LOD鼓勵各個數據集使用公共的開放詞匯和術語,但也允許使用各自的私有詞匯和術語。在使用的術語中,有41%是公共的開放術語。
1.4.3 中文開放知識圖譜
OpenKG是一個面向中文域開放知識圖譜的社區項目,主要目的是促進中文領域知識圖譜數據的開放與互聯。OpenKG.CN聚集了大量開放的中文知識圖譜數據、工具及文獻,如圖1-7所示。典型的中文開放知識圖譜數據包括百科類的Zhishi.me(狗尾草科技、東南大學)、CN-DBpedia(復旦大學)、XLore(清華大學)、Belief-Engine(中科院自動化所)、PKUPie(北京大學)、ZhOnto(狗尾草科技)等。OpenKG對這些主要百科數據進行了鏈接計算和融合工作,并通過OpenKG提供開放的Dump或開放訪問API,完成的鏈接數據集也向公眾完全免費開放。此外,OpenKG還對一些重要的知識圖譜開源工具進行了收集和整理,包括知識建模工具Protege、知識融合工具Limes、知識問答工具YodaQA、知識抽取工具DeepDive等。

圖1-7 OpenKG的主網站
知識圖譜Schema定義了知識圖譜的基本類、術語、屬性和關系等本體層概念。cnSchema.ORG是OpenKG發起和完成的開放的知識圖譜Schema標準。cnSchema的詞匯集包括了上千種概念分類(classes)、數據類型(data types)、屬性(propertities)和關系(relations)等常用概念定義,以支持知識圖譜數據的通用性、復用性和流動性。結合中文的特點,復用、連接并擴展了Schema.org、Wikidata、Wikipedia等已有的知識圖譜Schema標準,為中文領域的開放知識圖譜、聊天機器人、搜索引擎優化等提供可供參考和擴展的數據描述和接口定義標準。通過cnSchema,開發者也可以快速對接上百萬基于Schema.org定義的網站,以及Bot的知識圖譜數據API。cnSchema主要解決如下三個問題:①Bots是搜索引擎后新興的人機接口,對話中的信息粒度縮小到短文本、實體和關系,要求文本與結構化數據的結合,要求更豐富的上下文處理機制等,這都需要Schema的支持;②知識圖譜Schema缺乏對中文的支持;③知識圖譜的構建成本高,容易重新發明輪子,需要用合理的方法實現成本分攤。
OpenBase.AI是OpenKG實現的類似于Wikidata的開放知識圖譜眾包平臺。與WikiData不同,OpenBase主要以中文為中心,更加突出機器學習與眾包的協同,將自動化的知識抽取、挖掘、更新、融合與群智協作的知識編輯、眾包審核和專家驗收等結合起來。此外,OpenBase還支持將圖譜轉化為Bots,允許用戶選擇算法、模型、圖譜數據等定制生成Bots,即時體驗新增知識圖譜的作用。
1.4.4 垂直領域知識圖譜
領域知識圖譜是相對于DBPedia、Yago、Wikidata、百度和谷歌等搜索引擎在使用的知識圖譜等通用知識圖譜而言的,它是面向特定領域的知識圖譜,如電商、金融、醫療等。相比較而言,領域知識圖譜的知識來源更多、規模化擴展要求更迅速、知識結構更加復雜、知識質量要求更高、知識的應用形式也更加廣泛。如表1-1所示,從多個方面對通用知識圖譜和領域知識圖譜進行了比較分析。下面以電商、醫療、金融領域知識圖譜為例,介紹領域知識圖譜的主要特點及技術難點。
表1-1 通用知識圖譜與領域知識圖譜的比較

1.電商領域知識圖譜
以阿里巴巴電商知識圖譜為例[27],最新發布的知識圖譜規模已達到百億級別。其知識圖譜數據主要以阿里已有的結構化商品數據為基礎,并與行業合作伙伴數據、政府工商管理數據、外部開放數據進行融合擴展。在知識表示方面,除簡單的三元組外,還包含層次結構更加復雜的電商本體和面向業務管控的大量規則型知識。在知識的質量方面,對知識的覆蓋面和準確性都有較高的要求。在應用形式方面,廣泛支持商品搜索、商品導購、天貓精靈等產品的智能問答、平臺的治理和管控、銷售趨勢的預測分析等多個應用場景。電商知識也具有較高的動態性特征,例如交易型知識和與銷售趨勢有關的知識都具有較強的時效性和時間性。
2.醫療領域知識圖譜
醫療領域構建有大量的規模巨大的領域知識庫。例如,僅Linked Life Data項目包含的RDF三元組規模就達到102億個,包含從基因、蛋白質、疾病、化學、神經科學、藥物等多個領域的知識。再例如國內構建的中醫藥知識圖譜[28],通常需要融合各類基礎醫學、文獻、醫院臨床等多種來源的數據,規模也達到20多億個三元組。醫學領域的知識結構更加復雜[29],如醫學語義網絡UMLS包含大量復雜的語義關系,GeneOnto[29]則包含復雜的類層次結構。在知識質量方面,特別涉及臨床輔助決策的知識庫通常要求完全避免錯誤知識。
3.金融領域知識圖譜
金融領域比較典型的例子如Kensho采用知識圖譜輔助投資顧問和投資研究,國內以恒生電子為代表的金融科技機構以及不少銀行、證券機構等也都在開展金融領域的知識圖譜構建工作。金融知識圖譜構建主要來源于機構已有的結構化數據和公開的公報、研報及新聞的聯合抽取等。在知識表示方面,金融概念也具有較高的復雜性和層次性,并較多地依賴規則型知識進行投資因素的關聯分析。在應用形式方面,則主要以金融問答和投顧投研類決策分析型應用為主。金融知識圖譜的一個顯著特點是高度動態性,且需要考慮知識的時效性,對金融知識的時間維度進行建模。
由上面的例子可以看出,如圖1-8所示,領域知識圖譜具有規模巨大、知識結構更加復雜、來源更加多樣、知識更加異構、具有高度的動態性和時效性、更深層次的推理需求等特點。

圖1-8 規模化的知識圖譜系統工程