Knowledge Graph (知識圖譜)的前世今生

文章推薦指數: 80 %
投票人數:10人

Google Knowledge Graph 的應用,使得「知識」在網路世界中表達和使用達到另一個境界,但Knowledge Graph並不是偶然發生,有一部份是歸功於過去的發展,早 ... Skiptocontent Seach Searchfor: Categories 在外走跳(9) 地理資訊(44) 奇想囈語(20) 技術工具(22) 科學報導(2) 群眾外包(10) 語意本體(15) 還沒想好(2) 鏈結資料(16) 開放街圖(11) 開放資料(23) Archives April2018 (3) March2018 (1) December2017 (4) November2017 (1) October2017 (2) September2017 (1) June2017 (3) May2017 (2) April2017 (2) January2017 (2) October2016 (1) September2016 (1) August2016 (2) October2015 (1) August2015 (1) March2015 (1) February2015 (1) December2014 (1) October2014 (1) September2014 (2) June2014 (1) May2014 (2) February2014 (1) January2014 (1) September2013 (3) June2013 (1) May2013 (5) March2013 (1) January2013 (2) November2012 (1) June2012 (2) April2012 (1) February2012 (2) January2012 (1) December2011 (1) January2010 (1) September2009 (1) July2009 (1) June2009 (4) December2008 (1) November2008 (2) July2008 (1) June2008 (2) September2007 (1) June2007 (3) March2007 (1) January2007 (1) December2006 (2) November2006 (3) September2006 (2) December2005 (1) April2005 (1) Meta Login Entriesfeed Commentsfeed WordPress.org 講到KnowledgeGraph 一詞,很多人大概會直覺地想到Google的KnowledgeGraph,隨著AI再度興起,使得KnowledgeGraph變得熱門,舉例而言(圖1),在Google中查找,「歐巴馬老婆那裡畢業?」,Google能回答出,她畢業於普林斯頓大學和哈佛法學院,並且還把蜜雪兒的生平生事蹟結構化的列出來。

Google能回答這些問題,KnowledgeGraph扮演相當重要的角色,此外,Google對於問題中的具名實體及關係的區辨能力也是能夠準確回答的重要因素,這必須區辨出這個問題不是問歐巴馬,而是蜜雪兒,且「那裡畢業」是要問蜜雪兒在那個學校畢業。

因此,Google能夠回答這個問題,不僅是KnowledgeGraph內容豐富,而且要有很好的中文斷字斷詞,以及對於問題語意的解讀能力,這方面能力的提昇應該與2014年Google在KDD研討會中發表的KnowledgeVault有關。

圖1:Google查尋的問答 GoogleKnowledgeGraph的應用,使得「知識」在網路世界中表達和使用達到另一個境界,但KnowledgeGraph並不是偶然發生,有一部份是歸功於過去的發展,早在2000年左右建立knowledgegraph的觀念就被提出來,加上Web2.0的風潮,認為knowledgegraph的建立可以透過群眾的力量共同編輯,因此在2007年Freebase由Metaweb所創立,很快的2010年就被Google買下來,到2016年整個服務停掉,Freebase也整併到Google的KnowledgeGraph,但龐大的資料並沒有消失,而是由Wikidata接續群眾共同編輯知識的工作。

另一方面,在2007年,利用Wikipedia中infobox中的資料製作而成的DBpedia被發表,帶動了鏈結資料的發展,2008年YAGO利用更強大的資訊擷取技術,把Wikipedia中非結構化資料,轉為knowledgegraph。

而NELL(Never-EndingLanguageLearning)計畫則是在2010年由CMU在AAAI上發表,是一透過網路爬蟲大量由網頁中擷取資料,並結構化且正規化資料的計畫。

再者,Cyc是一個歷史悠久的人工智慧計畫,從1984年就開始進行,是一個龐大Knowledgebase計畫,讓人不清楚最終是否完成?但Cyc有一部份,開放出來為OpenCyc。

事實上,在GoogleKnowledgeGraph尚未成熟時,2009年智慧問答系統 WolframAlpha被發表出來,引起高度的重視,它能回答像,「英國女王伊莉莎白二世在1974年時是幾歲?」、「貸款利息隨時間的變化」,這種較為複雜的問題,邏輯推演能力其實很強,但侷限在於內容,WolframAlpha不像GoogleKnowledgeGraph具有這種龐大的內容來迎合一般民眾的問答。

而另一個強大的問答系統IBMWatson,已經眾所皆知的人工智慧平台。

SemanticNetwork(語意網) SemanticNetwork可以說是KnowledgeGraph的濫觴,早在1960年代,多數人把知識中概念與概念串起來的網絡稱為semanticnetwork,許多自然語言處理的研究致力於整理這些知識,以便促成更智慧、更精準的自然語言處理,最知名應該是普林斯頓大學的WordNet,是一個相當完整的英文為主的語料庫,後來也有其它語言加入,如中文。

以WordNet為例,這個semanticnetwork著重的是詞彙的上下位關係和同義詞之建立,所謂上下位關係是以詞彙語意上較為抽象、描述範圍較大者為上位詞,而較明確、描述範圍較小者為下位詞。

和knowledgegraph的比較,WordNet強調的是詞彙語意的正確表達,而knowledgegraph是著重於真實世界實體的關係,例如,巴拉克·歐巴馬和蜜雪兒·歐巴馬的配偶關係,而不是去定義配偶為何,其上下位關係和同義詞為何。

在KnowledgeGraph中的配偶是一個用於「人」這個概念(conceptsorclasses)的關係(relations),巴拉克·歐巴馬和蜜雪兒·歐巴馬都是「人」的實例(instances),所以可以用配偶關係來表達。

圖2:WordNet Ontologies(知識本體) 上述的概念、關係、和實例都是構成知識本體要素,但ontologies建立更重視正規化的知識表達,所謂的正規化就是如何以邏輯關係來定義知識、確立語意,Gruber(1995)提出用框架和第一階邏輯(FirstOrderLogic)來建立知識本體,並定義5種基本要素:類別(Classes)、關係(Relations)、功能(Functions)、正規的原則(Formalaxioms)和實例(Instances)。

之後,NoyandMcGuinness(2001)認為建立知識本體應該定義: 知識本體中的類別(Classes); 安排分類體系中的類別(Subclass–Superclass); 定義屬性(Slot)和描述這些屬性的允許值; 給實例(Instance)填入屬性的值。

隨著,語意網技術的發展,W3C已製定了知識本體的語言OWL(WebOntologyLanguage),其中使用描述性邏輯(DescriptionLogic)來定義語意,目前大多數知識本體的建立皆以OWL為主,只是在格式上採用較為簡單的Turtle或N3。

而知識本體的建立工具則以Protégé為最多人使用。

舉例來說,日本農業活動知識本體(AgriculturalActivityOntology,AAO)的建立,播種(seedpropagation)是一個農業活動(AgriculturalActivity),所以播種是農業活動的子類別,播種的概念比散播控制小、散播控制又比作物成長小、作物成長又比作物生產小,因此這些概念的活動即形成一個階層,且每一個概念都是由邏輯關係所定義而成。

許多知識本體都像日本的農業活動知識本體之建立,強調於概念(concepts)或類別(classes)之間的邏輯關係,而較缺乏實例的部份,如DOCLE,這和KnowledgeGraph有相當大不一樣的地方,KnowledgeGraph的類別(classes)通常不複雜,階層較淺,但實例(Instances)的部份相當豐富。

圖3:日本農業活動知識本體(AAO) KnowledgeBase(知識庫) Knowledgebase早在1970年代就被提出來,主要有二個特徵,一是有一個知識呈現方式來表達事實(facts),通常是知識本體,並有儲存庫(repository)來儲存這些事實,這裡的事實和資料不一樣的地方在於結構化和正規化,以知識本體的角度而言,就是一個被陳述的事實一定會有一個類別來說明並表明這個事實應有或可有的關係。

另一個特徵是推理機(inferenceengine),可以使用邏輯規則來推論以減少這些事實的不一致(inconsistence),當然早期許多以Knowledgebase為基礎的專家系統會強調,推理機可以透過規則和邏輯關係的建立,回答問題,或預測更多事實。

KnowledgeBase和KnowledgeGraph應該是被混用最多的二個名詞,本質上,這二個東西確實是相似,有綱要(schema)部份,也就是圖4中TBox(TerminologyBox),一般而言,是以OWL來實現,以及ABox(AssertionBox),就是事實(facts),一般由RDF來實現。

為了進一步解釋,圖5中在雲朵中的都屬於TBox的部份,都是類別(classes),而方框中的是ABox,是根據TBox類別所定義的實例(instances),或者是事實(facts)。

圖4:Knowledgebase的組成ABox和Tbox 圖5:ABox和TBox的實際範例 最大的差別在於Knowledgebase在提出時,並沒有想到是一個網路規模(Webscale)的應用,內容(也就是事實)如此龐大,對於資料的綱要(schema)(TBox)要求較多,相對而,knowledgegraph的TBox部份就比較沒這麼複雜。

另一方面,knowledgebase的建立常常只是單一領域,例如,Geonames只有地名,和knowledgegraph盡量收納所有知識的基調,是完全不一樣的。

  LeaveaReplyCancelreplyYouremailaddresswillnotbepublished.Requiredfieldsaremarked*CommentName* Email* Website ThissiteusesAkismettoreducespam.Learnhowyourcommentdataisprocessed. Postnavigation PreviousPreviouspost:鏈結資料(LinkedData)的商業化應用NextNextpost:以資料趨動智慧的治理



請為這篇文章評分?