斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱
上一講我們學習了知識圖譜的一些基本概念:
斯坦福大學CS520知識圖譜系列課程學習筆記:第一講什么是知識圖譜
?
本節課程關于如何構建知識圖譜,因為知識圖譜的構建是整個知識圖譜領域的一個非常核心且基礎的工程,如何將現有的數據以知識圖譜的數據結構建立和存儲,是一個學術界和工業界都非常關心的問題。
第一位講者主要介紹如何構建企業知識圖譜,也就是如何利用企業已有的一些關系型數據庫來構建圖數據庫,以滿足更高效的知識查詢和推理的能力。
數據集成需要將不同來源的數據組合起來,并向用戶提供一個整體視角的數據集。其中包含3個主要元素:(1)全局本體,(2)實例鏈接,(3)不完整數據。
因此,在構建知識圖譜的時候,首先需要了解數據源是什么樣的。
比如Oracle ERP系統,包括2萬個表,其中也包含太多的屬性,同時如果需要連接這些表就需要非常復雜的關系。此外,還有一些的表比如是使用德語來命名的,這樣就難難理解表的命名,同時管理數據和使用數據都非常困難,且數據的質量都是未知的。
對于同樣一個問題,不同部門的數據就會給出不同的答案。因此,需要整合數據來解決不同數據源的數據不統一的問題。
接下來的內容主要是面向工業界的數據集成的解決辦法,如果主要研究這一領域的朋友可以直接觀看這一講的B站視頻:
【CS520】斯坦福大學2020春季知識圖譜課程(含中英字幕,自動生成)
?
第二位講者為我們帶來了自監督學習的講解,自監督學習是近幾年逐漸受到AI研究者關注的一個方向,因為機器學習面臨的一個顯著問題是如果要構建高質量的機器學習產品,需要首先構建大型的高質量的訓練集。但是,一個關鍵思想是,新的理論和系統概念(包括監管薄弱,自動數據增強策略等)可以使工程師更快,更經濟地構建訓練集。聽完這一位講者的課程內容,發現一整講都是關于自監督學習的,和知識圖譜構建沒什么關系。
因此,如果有對自監督學習的朋友,可以關注我們的微信公眾號“人工智能遇上知識圖譜”,并在后臺回復【CS520-2】,可以直接取得這一講的PPT學習資料。
?
第三位講者是來自Apple公司的一位工程師,主要講解知識圖譜構建及其在Siri中的應用。這位講者的講授內容和構建知識圖譜的主題最為相關,因此我們可以重點進行學習。
原來蘋果公司的PPT風格長這樣^~^
首先我們了解到我們經常使用的的Siri也是依賴于知識圖譜的,可見知識圖譜在問答和對話系統領域具有非常重要的作用。
對于不同類型的輸入數據,比如非結構化的文本數據、半結構化的HTML表數據、表格類的結構化數據等都需要轉換為一個統一的格式,就是三元組,對這些不同來源的數據進行融合,得到一個一致的知識圖譜,并實現一些推理任務來生成新的事實。
1 infobox抽取
知識庫構建的第一個主要任務是infobox抽取,也就是從半結構化數據中抽取出三元組知識,輸入是經常出現在比如Wikipedia右上角的HTML表,輸出是包含(Subject,relation,Object)這樣的規范三元組,并且這里三元組是用標識串(實體Q開頭,關系P開頭)而不是字符串表示的。但是,infobox抽取目前存在幾個主要挑戰,這里給出對于DBpedia的例子:
(1)無法適應模板改變:例如原本“birthData”模板改變為“date_of_birth”,這時就需要修改模板映射,但實際上每天都有大量的模板在更新,因此需要可擴展性。
(2)錨點鏈接是實體鏈接的唯一手段:在Wikipedia中,有很多的半結構化數據并沒有鏈接到一些實體,例如奧巴馬的兒子并沒有鏈接到奧巴馬,
?
因此,講者團隊提出了一個魯棒的infobox抽取方法RIBE。他們認為HTML格式的數據是非常有用的,并且可以利用機器學習的方法自動從中抽取出三元組知識。并且實驗表明提出的RIBE方法在性能上超過了DBpeida抽取器。
1.1 第一個要解決的關系抽取問題:
對于Wikipedia中的一個subject mention,首先將對應的所有object mention取出分別于subject mention 組成候選對,再對這些候選對進行特征抽取,同時,采用了遠程監督的方法利用現有的知識圖譜,來查找和候選對匹配的三元組,例如suject是甲殼蟲樂隊,object是約翰列儂,并且在知識圖譜中找到了一個三元組(甲殼蟲樂隊,成員,約翰列儂),這時就可以為候選對添加謂詞“成員”,接著利用每個關系對應的一個分類器對未標記的候選對進行關系分類,例如甲殼蟲樂隊和麥卡特尼,分類器給出概率最大的關系是成員。
1.2 第二個重點工作是實體鏈接:
這個問題是指有了一個三元組,但是其中的實體是字符串表示的,這時就需要將其鏈接到解析后的實體ID。這里可以利用和關系抽取中類似的遠程監督的方法,給出subject和關系,需要確定object需要鏈接到哪個實體ID,例如subject是甲殼蟲樂隊,關系是成立于,object是利物浦,這時需要確定這里的利物浦是指城市,足球隊還是大學。接著,和關系抽取一樣,結合特征抽取并經過分類器將非鏈接的實體鏈接到實體ID,這樣就能構成用ID來表示的規范三元組。
?
通過精度、召回、F1和列表完整性(回答列表值的問題)等多個評價指標來比較RIBE方法和DBpedia抽取器的性能,可以看出RIBE比DBpedia方法在各個指標上都取得了很大提升,這得益于對模板更新的魯棒性,相關研究成果發表在NAACL2019。
2 實體解析
知識庫構建的第二個需要考慮的任務是實體解析。當有多個知識圖譜時,需要能夠自動識別出不同知識圖譜中相同的實體,例如iTunes和Wikidata中可能有很多完全相同的實體。因為不同的知識圖譜具有一些不同的信息,比如Wikidata中有很多關于出生地、得獎、成員等信息,iTunes中具有更多的是音樂相關的知識,所以需要將這兩個知識圖譜進行融合,但這兩個知識圖譜還具有一些共有的姓名信息,因此需要將不同知識圖譜的相同實體ID進行合并。針對實體解析,在Popular Artists和Uniform Random兩個數據集上分別進行了測試,均取得了不錯的效果。
?
將這個任務擴展到大規模的實體解析,也就是對幾十個甚至上百個知識圖譜進行相同實體的合并。人工來完成這個任務的話消耗大量時間和精力,因此需要設計機器學習算法來自動化實現大規模的實體解析。解決這個問題的核心思路是利用知識圖譜表示學習的方法將實體嵌入到實值向量空間,并在向量空間中對實體進行匹配。
?
對于一個實體e,將其關聯的所有關系和實體分別用embedding的向量表示,然后通過編碼器將這些組合起來的embedding向量編碼為固定尺寸的矩陣,這個矩陣就是實體e的嵌入表示,并將兩個來自不同知識圖譜中的實體的嵌入表示用點積運算學習得到一個相似度矩陣。對這個相似度矩陣經過CNN并給出匹配程度的預測結果。
?
從實驗結果可以看出,是用embedding的方法比之前的方法在Popular Artists和Uniform Random兩個數據集上都取得了更優的實體解析效果。在蘋果公司其它數據集上這種embedding的方法也都取得了讓人滿意的效果。
?
從講者的講解中可以看出,自動化構建知識圖譜中的核心是關系抽取和實體對齊,以及設計知識融合的實體解析,這些也是目前學術界和工業界共同關注的研究方向,值得深入研究。
關注我們的微信公眾號“人工智能遇上知識圖譜”,并在后臺回復:CS520-2,可以直接取得這一講的PPT學習資料。
后續我們還會更新CS520接下來的課程的學習筆記。
?
往期精選:
斯坦福大學CS520知識圖譜系列課程學習筆記:第一講什么是知識圖譜
對知識圖譜的告白:斯坦福大學CS520課程介紹
知識圖譜最新權威綜述論文解讀:知識圖譜補全部分
知識圖譜最新權威綜述論文解讀:知識表示學習部分
知識圖譜最新權威綜述論文解讀:關系抽取
手把手教你搭建一個中式菜譜知識圖譜可視化系統
?
后續我們還會更新CS520接下來的課程的學習筆記。
如果對文章感興趣歡迎關注知乎專欄“人工智能遇上知識圖譜“,也歡迎關注同名微信公眾號“人工智能遇上知識圖譜”,讓我們一起學習并交流討論人工智能與知識圖譜技術。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?
總結
以上是生活随笔為你收集整理的斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新鲜出炉!大规模神经网络最新综述!
- 下一篇: Django - Form和ModelF