從0開始構建你自己的知識圖譜:一種兩步式構造法
自動構建知識圖譜的難點在于
- 實體和關系的長尾分布導致傳統(tǒng)方法構造的圖譜包含知識不夠完整也不夠準確。
- 訓練數(shù)據(jù)的匱乏使得在構造知識圖譜時盡可能多地包含實體/關系(尤其是那些尾部實體/關系)非常具有挑戰(zhàn)性。
知識圖譜
- 知識圖譜是一張圖,實體作為圖的節(jié)點,實體間的關系作為圖的邊。
本文創(chuàng)新點
- 兩步構造法——緩解了長尾分布的影響
- 先從不同的數(shù)據(jù)源(data sources)使用遠程監(jiān)督(distant supervised)提取器構造一個初始的知識圖譜雛形。大概包含了一個知識圖譜中40%的內容,大部分為頭部實體/關系。
- 通過尾部實體/關系與頭部實體/關系共享的上下文信息,使用單樣本學習(one-example learning)策略來解決尾部實體/關系數(shù)據(jù)的離散性。這一步可以用來擴充第一步構造的初始知識圖譜,使其規(guī)模更大,精確度更高。
- 這一步有兩個目標:
- 對首部實體和尾部實體之間的語法和詞法模式進行建模。
- 對位于兩個分離向量空間中的首部關系和尾部關系之間的語法和詞法模式進行建模。
- 通過實體與關系間的交互,將兩個目標結合起來。
- 這一步有兩個目標:
詳細介紹
構造初始知識圖譜雛形由兩部分組成
- 提取器:負責從非結構化的數(shù)據(jù)集中提取實體、關系、事實等。
- 驗證器:負責對提取器的結果進行知識質量評估、對不同來源獲取的知識進行一致性檢查。
基于種子的提取器
- 首先預定義幾種不同類型的實體/關系。
- 然后對所選定的領域內的實體/關系類型確定一些具體實例(instances, or say seeds, 種子)??梢杂枚喾N方法來獲得種子,如人工枚舉、網(wǎng)絡爬蟲、參考領域字典等。選取種子時最好選擇那些出現(xiàn)頻率高的、明確性的實例。
- 這種方法的最大的好處是:
- 種子實體/關系可以用來從外部數(shù)據(jù)庫、網(wǎng)絡頁面以及領域語料等數(shù)據(jù)源中產(chǎn)生候選的帶標簽的訓練數(shù)據(jù)。需要注意的是每一特定種類的實例數(shù)量不能過多/過少。本文中,每類10個左右。(實例數(shù)越多,產(chǎn)生的訓練數(shù)據(jù)也就越多)
由于選擇的是流行、典型的實例,因此產(chǎn)生的訓練數(shù)據(jù)包含的大多數(shù)都是領域中的首部關系/實體。
- 得到訓練數(shù)據(jù)之后,可以用標準的實體/關系抽取方法來構造初始的知識圖譜雛形。
Stanford NLP工具 Stanford CoreNLP – Natural language software
-
基于翻譯的相似知識聚類
- 對于特定的關系r,訓練數(shù)據(jù)中所有的實體對(h,t)被聚類為多個組,可以認為每個組中的實體對都表達相似的關系。
- 在進行聚類時,每個實體對(h,t)用它們的向量偏移(h - t)來表示,h, t可以用TransE方法獲得。
驗證器
- 驗證兩個實體間的事實知識是否沖突。例如三元組(h, FatherOf, t)和三元組(t, FatherOf, h)所表達的事實知識就是沖突的。
-
基于單真值(Single-truth Based)的驗證方法
- 適用于只有一個真值的情況,如上例。
- 對于從一個數(shù)據(jù)源抽取的知識,我們?yōu)槊總€知識分配相應的置信度來衡量它的真實性。并使用一個預定義的閾值來過濾那些具有低置信度的知識。置信度記作θ(h, r , t ),三元組(h, r, t)表示一個知識(真實性由置信度來衡量)。
- θ有兩種計算方法:
- 用共現(xiàn)度來定義,PMI主要可以用來衡量兩個詞之間的關聯(lián)度(word association)。
- 尚未確定。
-
基于多真值(Multi-truth Based)的驗證方法
-
適用于有多個真值的情況,即一個事實的不同粒度表示。如(A, Birth_place, China)和(A, Birth_place, Beijing)(理解方式不對, 應理解為保持兩個實體不變,顛倒主體(Subject)和客體(Object)的順序) - 兩個實體間可以存在多個三元組,且表示同一事實。例如,三元組(h, FriendOf, t)和三元組(t, FriendOf, h)表示的是同一事實。
-
使用遷移學習(one-shot learning)來擴充初始知識圖譜
利用首部小樣本數(shù)據(jù)聯(lián)合學習尾部實體和關系
- 尾部實體/關系的實例非常少。
- 利用尾部實體/關系與首部實體/關系間的上下文相似性,提出一個多分類邏輯回歸模型來學習更多的尾部實體/關系實例。
- 不同的實體/關系實例之間共享一些詞法和語法結構,因此可以認為一些首部實體/關系可以轉換為尾部實體/關系。(How?)
- 可以用首部實體/關系的實例作為訓練數(shù)據(jù)來學習尾部實體/關系。解決了尾部實體/關系實例較少的問題。
尾部實體學習
- 實體抽取可看作是一個分類問題。
- Te是具有少量實例的尾部實體集合,He是頭部實體集合。
- 要訓練一個Te的實體抽取器,語法模式(Syntatic Pattern)被表示為為權重向量。權重向量可用來分離首部/尾部實體中的正負實例。
尾部關系學習
- 關系抽取可看作是一個分類問題。
- 不同的關系之間共享一些共同的語法和詞法結構。
- 因此,不同關系的分類問題視為相關聯(lián)的任務, 故可以使用多任務遷移學習(Multi-task Transfer Learning)技術來進行關系抽取。
聯(lián)合優(yōu)化
- 由于實體和關系是高度相關聯(lián)的,所以將上述分離的實體抽取模型和關系抽取模型融合起來,會使得整體效果各到進一步的提升。
實驗部分(build a KG in a coarse-to-fine manner)
用兩個不同領域的數(shù)據(jù)集來進行實驗
- 先只進行第一步操作,得到一個粗糙的(coarse)知識圖譜,并對其性能進行評估。
- 再施加第二部操作,精化(refine)知識圖譜并重新評估性能與第一步的結果進行比較。