如何自動地向知識圖譜中新增屬性?

哈工大SCIR發表於2019-01-15

摘要:屬性是實體的重要組成部分,因此如何自動獲取實體的屬性一直為知識圖譜領域的研究者所關注。由哈爾濱工業大學社會計算與資訊檢索研究中心推出的開放域中文知識圖譜《大詞林》是通過從文字中自動挖掘實體及實體間的關係而構建而成,因此如何自動為實體新增屬性也必然成為構建《大詞林》所必須研究的問題之一。本文通過學習《大詞林》中實體的概念層次結構和屬性的表示,提出了一種基於注意力機制的屬性自動獲取方案。其想法可簡述為,實體的屬性可以通過檢查它的概念類別來獲得,因為實體可以作為它的概念類別的例項並繼承它們的屬性。實驗結果顯示,我們的方法能夠為《大詞林》中的實體自動新增屬性,最終可以使大詞林中實體屬性的覆蓋率達到95%以上。

1. 簡介

屬性在知識圖譜的構建中起著至關重要的作用,屬性不僅能夠豐富實體的概念、揭示實體的特性,並且在知識庫中連線了不同的實體(例如:“director”是概念類“film”的屬性,它也連線了類“film”和“person”的實體)。圖1是《大詞林》中實體“蘋果”的概念層次路徑和該概念路徑下“蘋果”的屬性。事實上,我們可以合理的作此假設:一個實體具有何種屬性通常是由其概念決定的,而不是由其本身決定。例如“蘋果”和“鴨梨”均具有顏色的屬性,是由其二者均具有“水果/植物/生物/物”這一概念路徑決定的,而與“蘋果”和“鴨梨”本身的標籤無太多關係。因此,可以認為實體是它的概念的例項,實體的屬性可以通過檢查它的概念體系(或路徑)來獲得。

在本文中,我們提出一種基於實體的層次化概念體系的屬性自動獲取方法,以自動獲取實體的屬性提高知識庫的構建效率。與僅僅使用一個詞代表實體的概念相比(例如“university”表示實體是一所高等教育的學校),用具有層次結構的概念路徑(幾個表示概念的單詞連線為一條路徑,例如“institute/school/university”,前者是後者的上位詞)更為明確和可靠。例如,“university”也可能指大學的教師和學生的主體,在“institute”和“school”的幫助下,實體是一所大學的意義得到細化。因此,我們使用概念路徑來表示實體概念的層次結構,而不是僅僅使用一個單詞。假設我們已經具有一個屬性的集合(此集合可以通過已有知識庫中的屬性構建而成),受近期知識圖譜表示學習的啟發[1][2][3][4],我們考慮將《大詞林》所具有的層次化的概念體系和屬性集合中的屬性對映到連續的向量空間,從而將屬性獲取問題轉化為預測任務,即從屬性集合中為《大詞林》中的實體預測合適的屬性。

如何自動地向知識圖譜中新增屬性?圖1《大詞林》中“蘋果”的層次化概念體系

傳統方法大多直接將屬性分配給實體,這給多角色實體帶來了諸多不便。在《大詞林》中,每個實體平均有兩個概念。例如,實體“蘋果”既可以指“水果”,也可以指“公司”,甚至可以指“電影”。然而,屬性不像屬性值一樣具體,其更具有一般性。比如對於蘋果的屬性-“顏色”,其屬性值是“綠色”,而其他水果的“顏色”不一定是綠色,但是其他水果也擁有“顏色”這一屬性。對於屬於同一概念的實體,它們幾乎共享相同的屬性集。這意味著與將屬性分配給實體相比,將屬性分配給其概念似乎更有意義。

多角色實體在概念和屬性之間產生的屬性分配歧義問題是我們工作的主要挑戰。舉例來說,通過已有的知識庫(例如百度百科或維基百科),我們很容易能夠得知“蘋果”有一個“導演”的屬性,但很難獲取與這個屬性相關聯的概念。而事實上,實體的屬性又是由其概念決定的,例如在“蘋果”具有的多種含義中,如“水果”、“電影”或“公司”等,直接與屬性“導演”相關的概念是“電影”。為此,我們提出了一種基於注意力模型的層次化概念體系表示方法,來對實體的概念體系和屬性之間的對映進行學習,以解決此問題。

本文以百度百科的屬性資料為基礎構建屬性集合,並利用百度百科中的屬性向《大詞林》中的實體新增屬性。我們隨機抽取了《大詞林》中687392個實體,有395327個實體具有至少一個屬性,餘下292065個實體沒有任何屬性。,如果單純依靠百度百科向《大詞林》中的實體提供屬性,那麼屬性對實體的覆蓋率為57.51%。但是如果考慮到具有相同概念的實體共享類似的屬性,並依此進行補全,那麼屬性的覆蓋率可提高至 98.48%。

如何自動地向知識圖譜中新增屬性?圖2 屬性推薦圖例

以圖2為例,如果依靠百度百科,只有部分實體擁有完整的屬性,但是由於缺失屬性的實體和已有屬性的實體共享相同的概念,因此可以將已知的屬性推薦給缺少屬性的實體。圖3顯示了《大詞林》中“止痛片”概念下的部分實體,其中“玄胡止痛片”和“祛止痛片”不具有任何屬性,通過概念補全後這兩個實體擁有了相應的屬性,結果如圖4所示。

如何自動地向知識圖譜中新增屬性?圖3 “止痛片”概念下的部分實體和其屬性

如何自動地向知識圖譜中新增屬性?圖4 通過概念補全後的實體屬性

2. 模型介紹

本文中涉及的屬性獲取任務是通過給定{E,C,A,R1,R2}來預測R3,並通過R3來完成根據實體的概念路徑將屬性集合中的屬性推薦給實體的任務。E代表《大詞林》中的實體集合,C代表《大詞林》中的概念集合(也稱為上位詞),A代表屬性集合(由百度百科獲取),R1代表每個實體的上位詞路徑(也稱為概念路徑),R2代表每個實體具有的屬性(通過百度百科直接對映得到),R3是實體的概念路徑與屬性的對應關係,整個過程如圖5所示。


如何自動地向知識圖譜中新增屬性?圖5 用符號表示的任務定義

2.1 通過LSTM實現概念路徑的表示學習

本文使用LSTM[5]來學習概念路徑的表示。圖4顯示了一個使用LSTM建模概念路徑的方法。其中LSTM-cell[6]由淺灰色框標出,序列模型的最終輸出由深灰色框標出,LSTM應用於概念路徑“/抽象事物/機構/教育機構/學校/大學”上,最終輸出為概念路徑的向量表示。

如何自動地向知識圖譜中新增屬性?圖6 用於概念路徑表示的LSTM網路

2.2 利用注意力模型完成概念路徑的疊加嵌入表示

如前所述,我們可以將百度百科中的屬性新增到《大詞林》與百度百科同現的實體上而完成屬性的初步填充,但是經過抽樣統計發現這種方法僅僅能夠為《大詞林》不到60%的實體新增上屬性。基於屬性初步填充的結果,我們可以得到一組(Pe, a)形式的元組,其中Pe是給定實體e的概念路徑集合,a是實體的屬性,然而我們並不知道Pe中的哪一條路徑具有屬性a。為了確定實體的概念路徑和屬性的對映關係,進而將屬性對映到對應的實體上,我們提出一種解決方法,它由三部分組成:

  • 概念路徑的表示學習(圖5介紹);

  • 概念路徑上的選擇注意力機制以確定概念路徑和屬性的對應關係;

  • 基於翻譯的嵌入模型預測實體的屬性。整體結構如圖7所示。

如何自動地向知識圖譜中新增屬性?圖7 屬性預測整體解決方案

與傳統的基於翻譯的嵌入方法專注於實體-關係-實體三元組(h, r, t)[1]不同,我們所期望獲得的是由實體不同的概念路徑及其對應屬性形成的二元元組(p, a)。因此,不像三元組(h, r, t)中有r這樣的顯式運算元,我們為每個屬性構造一個對映矩陣,其對映過程為pMa = a,其中p,a,Ma分別是概念路徑、屬性及對映矩陣的嵌入向量。

因為已知的僅僅是某個實體具有哪些屬性,這樣必須退而求其次通過LSTM學習每個實體的所有概念別路徑的表示,顯然的不同的概念路徑對某一實體是否具有某個屬性的影響是不一樣的。例如,“水果”這一概念能夠確定實體“蘋果”可以具有屬性“顏色”,而“電影”這一概念能夠確定實體“蘋果”應該具有“製片人”這一屬性。這樣,我們就不能對每個概念路徑一視同仁。由圖7所示,我們用選擇注意力模型去建模概念路徑和屬性的對應關係,以儘可能降低訓練中產生的噪聲。通過計算每一條概念路徑和要預測屬性的匹配度來為每條路徑分配權重。最終使用學習到的權重和每條路徑的表示結果加權求和來確定最終的這個實體的路徑表示pe。

2.3 訓練方法

根據上文的描述,我們希望當概念路徑p擁有a這一屬性時,pMa和要預測的屬性a的距離最短;相反,當p不具有屬性a時,則距離較長。為實現此目標,我們使用L1或者L2範數來度量兩者之間的距離,記為d(pMa,a)。利用元組(Pe, a)的集合作為訓練集Ω,Pe是對於一個給定實體e的概念路徑集合,a是實體e的屬性。然後我們在訓練集上最小化邊界距離來共同學習概念路徑和屬性的表示:

如何自動地向知識圖譜中新增屬性?

γ> 0是一個邊界超引數,a和a’分別代表實體屬性的正例與負例。

3. 實驗結果

3.1 資料集介紹

實驗資料由《大詞林》中抽樣得到,具體方法如下:

  • 隨機抽取20000個實體及其概念路徑。

  • 利用百度百科向這些實體填充屬性。

  • 對屬性進行低頻過濾,保留至少出現在20個實體中的屬性。

隨機選取3000個實體作為測試集驗證“基於實體預測屬性”這一任務的效果,同時隨機選取240條概念路徑作為測試集驗證“基於概念路徑預測屬性”這一任務的效果。資料集的統計如表1所示,APE和APC分別代表基於實體和基於概念路徑的屬性預測任務。

表1 資料集統計結果

如何自動地向知識圖譜中新增屬性?

3.2 實體屬性預測(APE)

從實體的角度來看,預測其屬性無疑是必要和重要的。因此,我們提出了實體屬性預測任務(APE),以預測給定實體的屬性。當然由於實體可能具有多重含義,因此我們也希望能夠將屬性和其對應的概念路徑聯絡起來(APC任務)。

由於實體被視為其概念的例項,因此僅通過檢查實體的概念就可以獲得實體的屬性集。在APE中,對於給定的實體,我們首先獲取其概念路徑集合,然後使用它們來預測實體的屬性。Hits@k評價方法適用於APE任務,因為可以過濾掉某些同義的屬性,比如“中文名(中文名字)”,“外文名(英文名字)”,等等,結果如表2所示。

表2 APE任務的Hit@k值

如何自動地向知識圖譜中新增屬性?

除了在全部實體上檢查Hits@k之外,實驗中還考慮了不同概念類別的實體(即,“物”、“抽象”、“人”)。表2括號中的數字為對應不同類別的實體的數量。結果表明,近76%的實體在前20個預測屬性中至少獲得了一個正確的屬性。對於“人”型別的實體,Hits@k的結果除Hits@1外均超過80%。另外兩類的結果與整體評價相比較差。

事實上,表2中的結果是從以百度百科中的屬性資料為基礎向《大詞林》做對映而構建的測試集上得到的,但是由於百度百科中的實體過多依賴於人工眾包而《大詞林》中的實體則完全由文字中自動抽取得到,因此兩者存在不對等,從而引入了大量的噪聲而影響了評測的準確率。當然,更加有效的方法是人工構建測試集,但是這樣太費時費力了。

由於實體具有多重含義,因此我們更加關心我們的模型是否能夠通過預測屬性來區分實體的多重含義。這裡我們僅僅通過抽樣的方式構建了實體“蘋果”和“利華”的屬性預測結果,如圖8所示。沿箭頭方向,我們給出了實體不同的概念路徑對應的屬性預測結果,以“蘋果”為例,其在《大詞林》中具有“水果”、“電影”、“公司”三種含義,而左側的“科”、“拉丁學名”等則代表“蘋果”的部分屬性。圖中的顏色代表根據注意力機制對不同概念路徑的預測屬性的注意程度,單元格顏色越深表示權重越大。

從注意力矩陣可以看出,屬性大多出現在其對應的概念路徑上,在不相關的概念路徑上權重幾乎為零。如概念路徑“/抽象事物/電影”引起了屬性“片長、出品公司、製片人”的注意。但是,也有一些錯誤的理解,例如屬性“中文名”和“外文名”只出現在“人物”或“公司”對應的概念路徑中的一條上,這是不準確的,因為從常識上來說這兩個屬性都應該被這兩條概念路徑分別包含。幸運的是,這種錯誤可以被APC任務所掩蓋,因為APC從實體的角度來預測屬性。

如何自動地向知識圖譜中新增屬性?圖8 多角色實體屬性預測結果

3.3 概念路徑屬性預測(APC)

從概念路徑的角度出發,我們提出了概念路徑屬性預測任務,以評估模型將概念路徑對映到屬性的能力。在這個任務的預測過程中,我們使用了沒有針對概念路徑的選擇性注意力模型,因為任務APC中只涉及一個唯一的概念路徑,因此不需要注意力機制。

由於中文缺乏標準的“概念類別-屬性”對評測資料集,我們手動標註結果的正確性:top-k預測屬性。手動標註原則如下:

  • 過濾不準確的概念路徑。

  • 過濾掉過於抽象的概念路徑,例如:“/抽象事物/能力/競爭力”。

經過篩選,在P@k評估中包含了240條待測試的概念路徑中的184條(見表1)。最終結果如表3所示,括號中的數字為具有過濾後的概念路徑的實體的數量。由結果可知,可以利用學習到的路徑表示來準確預測概念路徑對應的屬性,全域性結果的P@1的準確率超過75%,不同實體類別中P@10的準確率接近70%。事實上,這些給定的概念路徑在訓練階段是看不到的,但是由結果顯示屬性可以準確的對映到相對應的概念路徑上,這表明《大詞林》的構建是動態的。我們還從表3的預測結果中列出了一些例子,並在表4中標註了中文和英文。注意,這些例子對應的概念屬於不同的領域,但是我們的模型可以準確地預測與這些領域相關的屬性。

表3 APC任務的P@k值

如何自動地向知識圖譜中新增屬性?表4 不同領域的概念路徑屬性對映情況

如何自動地向知識圖譜中新增屬性?

4.結論

屬性是實體的重要組成部分,屬性新增一直為知識圖譜研究領域的學者所關注。本文圍繞《大詞林》研究瞭如何為知識圖譜自動新增屬性這一問題。通過聯合學習《大詞林》中實體的概念層次結構表示和屬性的表示,可以獲得實體概念至屬性的對映,自動地為實體新增合適的屬性。在實驗階段,我們設計了兩種不同的屬性獲取任務以驗證本文提出的屬性獲取方法的準確性,包括給定實體預測隸屬於實體的屬性以及給定實體的某個概念預測屬於該概念下的屬性。實驗結果表明,本文提出的屬性獲取方法能夠將屬性準確地對映到實體對應的某個概念下,能夠實現自動的屬性獲取,提高了知識庫的可擴充套件性和提升了知識庫的構建效率。

參考文獻

[1] Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, and Oksana Yakhnenko. 2013. Translating embeddings for modeling multi-relational data. In Advances in neural information processing systems, pages 2787–2795.

[2] Yankai Lin, Zhiyuan Liu, Maosong Sun, Yang Liu, and Xuan Zhu. 2015. Learning entity and relation embeddings for knowledge graph completion. In AAAI, pages 2181–2187.

[3] ZhenWang, Jianwen Zhang, Jianlin Feng, and Zheng Chen. 2014. Knowledge graph embedding by translating on hyperplanes. In AAAI, pages 1112–1119.

[4] Han Xiao, Minlie Huang, and Xiaoyan Zhu. 2015. From one point to a manifold: Knowledge graph embedding for precise link prediction. arXiv preprint arXiv:1512.04792.

[5] Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural computation, 9(8):1735–1780.

[6] Alex Graves and Jürgen Schmidhuber. 2005. Framewise phoneme classification with bidirectional lstm and other neural network architectures. Neural Networks, 18(5):602–610.

相關文章