斯坦福大学CS520知识图谱系列课程学习笔记:第三讲高级的知识图谱是什么样的
這一講的主題是:一些高級的知識圖譜是什么樣的。三位講者分別從他們各自帶領的團隊構建出來的高質量的知識圖譜實例出發,從中我們可以認識到一些大佬們構建的優秀的知識圖譜產品有哪些特點和優勢,從中對我們自己構建知識圖譜也可以得到一定的啟發。
1 Diffbot 知識圖譜
第一位講者是來自Diffbot公司的CEO,他們公司的目標就是建立世界上第一個全面的人類知識圖譜,并且他們認為實現這一目標唯一有效的方法就是全自動化構建知識圖譜。
?
講者團隊構建的知識圖譜名為Diffbot,所有數據都來源于公網并采用爬蟲技術得到這些數據,這個知識圖譜的規模大到包括超過100億實體和高達驚人的1萬億事實。并且,這個知識圖譜由于是自動化構建的,支持動態更新,每月可以自動增加1.5億的實體。知識圖譜中實體類型最多的是:人、組織、地點、產品、時間、文章等等,從這些經過排序后的實體可以發現在生活中人們最關心的事情是什么。構建Diffbot需要大約2000個CPU核,可見一般人也搞不起來這么大規模的知識圖譜。
?
接下來,講者為我們介紹了如何利用機器學習技術來構建Diffbot知識圖譜,在整個構建pipeline中用到了50/60種機器學習算法,這里,主要講解流程中的幾個關鍵組件,包括:
Page type classification:用機器學習種的分類算法,對網絡爬取種的每個頁面進行分類,比如對圖中的頁面將其分類為人、產品、事件等類型,精度達到97%,高于人工分類的精度。
?
Visual extraction:講者介紹他們是第一個在知識圖譜構件中考慮了視覺信息抽取,比如在圖片中找到和商品相關的哪些視覺信息,比如從商標中能知道品牌是什么甚至包括價格,并且也可以輔助進行頁面分類,精度在92%-97%之間。
?
Natural language understanding:對于頁面中的文本等文字信息采用NLP技術來抽取信息,并能夠理解文本中編碼的事實是什么,因為事實才是知識圖譜的核心。講者展示了一個demo,可以自動從一個頁面中抽取出其中包含的所有屬性和對應的事實知識,其中肯定需要命名實體識別和關系抽取等機器學習技術,讓我不禁聯想到前段時間非常火熱的Magi,這兩個系統感覺都能自動化從文本數據中進行知識抽取,只是講者介紹的這個Diffbot系統還能夠抽取視覺信息。
?
Diffbot和Wikidata和Freebase相比,不僅能夠找到實體,還能夠用不同顏色來表示實體類型,此外,還能給出抽取出的事實和主題類型之間的關聯,比如一名主題類型為教授的實體,其關聯的事實包含在哪些學校任教,擔任了哪些學術會議的主席等,這些能夠對分類提供更多有效的證據。
?
Record linking:由于多個頁面可能指向的同一個實體,因此需要用自動化的方法將大規模的對象進行鏈接,以此來實現數據融合。
?
在知識圖譜應用方面,例如對網頁中抽取出的知識表示如果售賣的nike鞋的價格低于市場零售價,那這個很可能就是仿制品。此外,還可以實現語義搜索的功能,與google不同的是,這個搜索引擎更能關注和問題相關的人類知識。
?
2 模塊化本體工程
?
第二位講者來自堪薩斯州立大學數據語義實驗室的博士生(同樣是博士生,人這真是大佬啊),他為大家介紹如何開發高度可重用的知識圖譜,其中核心內容就是如何建立模塊化的本體工程。
?
通過給出圖中這個簡單的知識圖譜的例子,從這個知識圖譜中我們可以提取出很多信息,包括“有學生”,“接受教育”,“生日”等,這是一個實例知識圖譜,這個知識圖譜很難重用到即使是相同領域的其它應用中。
?
從實例知識圖譜可以擴展為表示schema的本體圖譜,這里,每一個實體都用其類型來表示,但是在實例知識圖譜中的18,171這個數字到底表示什么是無法確定的,因此如何去糾正這種情況就是研究的重點。
?
我們來看看一個好的知識圖譜本體應該具有哪些特點:
首先,好的知識圖譜本體模型應該是可以通過增加一個結點,將更多的結點連接到這一結點,并結合上下文信息來得到更多語義信息。
總結起來,一個好的知識圖譜本體模型應該具有的特點是:
-
便于更新:當實例發生變化或有新的實例添加進來,本體模型都是可用的,這樣可以減少維護成本。
-
人類可讀文檔:包括可讀的術語,關系,標簽等用來表示本體。
-
嚴格的定義:經過嚴格定義后的本體模型能夠減少歧義性。
?
形式邏輯可以很好的表達人類概念的嚴格定義,并能精確地應用知識圖譜。根據W3C標準的OWL格式,使用一種稱為描述邏輯的高級語言對模式進行編碼,在描述中,邏輯被稱為公理,公理集被稱為本體。
使用模塊化的本體建模最大的優勢是可以對動態更新的知識圖譜快速自適應地建立本體模型,具有高度適應性和可重用性。
一個可高度重用的知識圖譜本體模型應該是:實際應用驅動的、從模式中創造模塊,整個本體模型的基本組成部分就是模塊。
模塊化本體工程用到幾個概念:
?
模式圖:一種圖形化的表示來說明本體中類型之間的關系。其中包括幾個組件:黃色框表示主要的實體類型,藍色框表示還包括其它隱含的復雜關系的實體類型,箭頭表示屬性/關系,Agent是用來表示在不同的時間范圍內指向不同的本體。Open arrow(圖中沒說明,講者也沒多解釋)表示子類型關系。
?
系統公理化:通過檢查結點-邊-結點這種三元組結構的模式圖,我們可以給出一個可推理的公理。這里給出的17種常見的公理是在知識圖譜內部經常使用的,用這種模式圖可以表示這17種公理。
?
來源于軟件工程的設計模式,本體設計模式中,Agent和TemporalExtent都表示隱含的復雜性,因為它們在不同時間范圍指向不同的本體。
?
構建本體模塊的方法分為8個步驟:
1.????定義用例或者用例的范圍,因為無法建模所有類型的對象,因此需要盡可能了解更多的細節。
2.????建立能力問題讓用戶和我們正在開發的知識圖譜有更好的交互。
3.????從數據和用例中抽取關鍵的概念。
4.????從模式模板中初始化這些關鍵的概念,然后根據需求來構造模塊。
5.????用17個公理來增加結點-邊-結點的公理。
6.????集成模塊并增加涉及多個模塊的公理。
7.????檢查是否能夠反映所有的實體并對本體模塊進行改進。檢查公理是否在集成所有的模塊之后仍然是正確的。
8.????構造OWL。
?
3 利用規則的知識圖譜推理
第三位講者是來自蒙特利爾大學的一名女教授,主要講授利用邏輯規則的推理。
?
?
對于圖中的知識圖譜,我們可以得到一組事實,其中,有的是一元謂詞有的是二元謂詞。邏輯規則可以表達復雜的本體結構,并且可以用本體描述的邏輯規則來推理出可能發生的事實或者發現知識圖譜存在的沖突。
?
當有一個知識圖譜,并且事先定義了4個邏輯規則,用這幾個邏輯規則就可以推理出一些新的事實。
當給定一個query時,不僅需要考慮已有的事實,還應該考慮利用規則推理出的新的事實。
?
接下來,主要討論知識圖譜的問答系統,給定一個知識圖譜和一組用于問答的邏輯規則,我們想要的答案很可能不僅出現在已有的知識圖譜中,也有可能是在推理出的事實中找到答案。通過規則,我們可以更精確的使用合取查詢,這種使用方法讓我們看到目前很多KBQA系統都只使用了知識圖譜中已有的事實,但是這對很多實際的KBQA任務是低效的,因為確實存在很多問題的答案無法直接從知識圖譜中取得,因此,針對query通過推理得到新的事實并得到答案對應實際的KBQA系統是更為有效的方式。
?
講者介紹了一些最新的用于問答系統的規則引擎。
?
如果希望進一步學習課程具體內容,在此奉上本講B站視頻鏈接:
https://www.bilibili.com/video/BV12k4y1R76Q?p=3
?
往期精選:
斯坦福大學CS520知識圖譜系列課程學習筆記:第二講如何構建知識圖譜
斯坦福大學CS520知識圖譜系列課程學習筆記:第一講什么是知識圖譜
對知識圖譜的告白:斯坦福大學CS520課程介紹
知識圖譜最新權威綜述論文解讀:知識圖譜補全部分
知識圖譜最新權威綜述論文解讀:知識表示學習部分
手把手教你搭建一個中式菜譜知識圖譜可視化系統
?
后續我們還會更新CS520接下來的課程的學習筆記。
如果對文章感興趣歡迎關注知乎專欄“人工智能遇上知識圖譜“,也歡迎關注同名微信公眾號“人工智能遇上知識圖譜”,讓我們一起學習并交流討論人工智能與知識圖譜技術。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?
總結
以上是生活随笔為你收集整理的斯坦福大学CS520知识图谱系列课程学习笔记:第三讲高级的知识图谱是什么样的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国科大prml13-概率图(CRF,HM
- 下一篇: 内排序算法一览