潘亞寧,孟玉雪
(華北理工大學人工智能學院,唐山063210)
知識圖譜存儲的是實體和關系的結構化信息,通常由三元組的集合構成,每個三元組表示為(h,r,t)其中h、r、t分別表示頭實體、關系和尾實體[1]。搜索引擎、問答系統以及推薦系統等都非常依賴現有的知識圖譜(Knowledge Graph,KG),如Freebase、WordNet等,表示學習在這些應用中起到了至關重要的作用。最近的嵌入技術方面的工作已經大大提高了鏈接預測的準確性,但是大多數方法僅依賴知識圖譜中的已知事實,它們的預測能力會受到數據庫中不完整信息的限制,一種簡單且有效的改進途徑是從文本文檔中合并其他信息來增強其嵌入[2]。
互聯網上存在大量的文本數據,但是這些數據大多都是非結構化的,并且質量參差不齊。當前大多數表示學習方法只是簡單地利用了知識圖譜三元組數據,而忽略了這些文本。雖然最近的一些模型用到了文本信息,但仍未實現對這些信息的有效利用。也有一些方法試圖將文本信息融合到知識圖譜。如關系抽取旨在通過識別關聯文本文檔中提到的新三元組來擴展現有知識圖譜。但大多數關系抽取方法都需要進行遠程監督,其中數據庫中每個現有的事實在文本中都用其提及來標記。基于啟發式規則的技術通常以這種方式自動對齊現有知識圖譜和文本[3]。但是這些方法的結果并不理想,因為句子中兩個實體的同時出現并不一定意味著該句子說明了它們之間的關系。
對于數據格式多樣化的自然語言,實體的描述文本中通常會包含的信息不僅僅是提到的三元組,還包括許多其他實體、關系的相關信息,例如實體的語義、屬性等,這些信息可以間接指示實體之間的語義相似性。因此,可以通過使用文本嵌入對象的表示來捕捉此類信息。
在Word2Vec模型[4]中,實體的向量表示定義為實體名稱中詞向量的均值,這種方法不僅可以用于實體的名稱還可以用于實體的描述,以實現實體嵌入之間共享類似的文本特征,如詞的屬性或關系。
結構嵌入可以反映知識圖譜中實體和關系的結構信息,這些文本數據使得訓練過程可以學習實體的文本信息。首先獲取每個實體的關聯文本文檔,其中描述或定義了該實體。例如,歐洲的維基百科條目對實體的描述。這樣的數據還可以從百科全書、字典等多種渠道獲得。把從描述文本中的有意義的實詞提取出來作為實體描述,詞的向量化方法基于Word2Vec,將實體向量定義為實體名稱匯總詞向量的均值。這種方法的思想應用于實體描述,可以增強實體嵌入共享如詞屬性或詞類別等文本特征。在語義上,存在某種關系的實體的嵌入會有更大的相似性。
模型的目標在于最大化正確三元組的得分函數,以此來更新和優化參數,最終得到實體和關系的嵌入表示。目標函數定義為:

對于實體的描述信息,desc(ei)=wi,1,wi,2,…,令W表示單詞向量的矩陣nw×d矩陣,nw表示總的單詞數,d是實體和關系的嵌入維度,令B表示ne×nw的矩陣,Bi表示實體的描述信息中每個單詞出現的次數,實體ei的嵌入表示為:

如果直接用上式表示實體,一個問題是描述文本中的所有詞被同等對待,但是通常情況下,一些單詞更有助于實體在特定關系下的特征表達。如白宮、共和黨等詞比商人等其他單詞更能說明特朗普作為總統的屬性(特朗普,president_of,美國)。因此,實體“特朗普”在預測“president_of”關系時,白宮、共和黨等詞的權重應該更大。當表達不同關系時,一些詞相關性更大,需要根據關系為每個詞設置不同的權重。引入nr×nw的矩陣I,Ijk表示詞wk在預測關系rj時的重要性,ei表示為:

式中⊙表示逐個元素相乘。這樣詞向量到實體向量的總權重為詞在文本中出現的頻率和需要學習權重的組合。矩陣I中的參數數目nr×nw,即關系總數和單詞總數的乘積。但是,利用式(3)計算實體的表示,對于某些數據集來說,參數數量可能會非常龐大。針對這個問題,考慮通過從較小數量的參數計算出Iij而不是將每個參數定義為獨立參數來改進。為此,引入一個nr×d矩陣P,并定義單詞wi在關系ri的權重如下:

這樣就得到了實體ei在表達關系rj時基于描述信息的表示形式:

式中的運算是向量和矩陣乘法,蘊含了單詞的加權平均的思想,與式(3)相比,需要訓練的參數數量從nr×nw減少到了nr×d,實體文本信息嵌入的示意圖如圖1。

圖1 基于實體文本信息的嵌入示意圖
這個過程能自動學習單詞與不同關系的關聯,而無需遠程監督。考慮到在同一關系下的實體將具有更大的相似性,因此將文本信息嵌入的評分函數定義為:

將文本信息部分的評分函數,結合知識圖譜結構信息的TransE模型的評分函數,并增加一個權衡二者重要性的參數,總的評分函數如式(7)。

式中α為權重參數。通過損失函數優化模型參數,與TransE模型類似,通過最大間隔的方法增強模型區別正確三元組和錯誤三元組的能力。為此,模型的損失函數定義為:

式中f(·)為評分函數,γ為超間隔參數,正確三元組和錯誤三元組損失函數的間隔大小。模型的訓練參數θ=(E,R,I,P,α),其中E表示實體向量集,R表示關系向量集。采用負采樣的方法加快模型訓練速度,優化方法為AdaGrad,具體訓練過程如下:

FB15k和WN18是表示學習最常用的兩個數據集,這兩個數據集以對稱、反對稱和逆關系為主。WN18是WordNet的一個子集,18表示數據集關系類型的數量,WN18中實體數量較多關系數較少。FB15k是Freebase的一個子集,有較多的關系類型,包含了1345種關系和1.5萬多個實體[5],如表1所示。

表1 實驗用的數據集
截取WN18數據集中的一部分如圖2予以說明。WN18數據集中的第3090條三元組(07849336,_hypernym,07555863)的實際意思是詞“yogurt”與詞“solid_food”之間存在“hypernym”的關系,也就是三元組(yogurt,hypernym,solid_food)表示了與“酸奶”具有“上位詞”關系的實體是“固體食品”。

圖2 WN18數據集示例
對于實體描述詞的向量化,使用對谷歌新聞數據集訓練的Word2Vec向量。對于Freebase實體描述,使用與每個實體相關的維基百科頁面的summary部分,并且刪除其中的停用詞。在Freebase中,一些實體的維基百科頁面不可用,為此刪除了所有沒有描述的實體以及相關聯的所有三元組。WN18數據集中不僅包含了三元組,也提供了實體的解釋文本,可以作為實體的文本信息。
所有實驗均使用AdaGrad算法公式進行優化,采用(MR)Mean Rank和Hit@10指標來評估每個模型的鏈接預測性能。計算正確的三元組得分,同樣地替換頭實體或者尾實體得到錯誤三元組的得分,然后計算正確三元組得分的排名。MR定義為所有正確三元組排名的平均值,Hit@10則表示為正確三元組得分排名在前10的比例。所有的實驗的訓練次數均為200次,批次大小為1024,。根據驗證性能選擇學習率為0.01,權重α=0.85,嵌入維度d=100,間隔超參數γ=1.0。
鏈接預測:在給定三元組中兩項情況下,預測第三項。
評估方法:得分平均排名(Mean Rank,MR)、平均倒數排名(Mean Reciprocal Rank,MRR)、前10命中率(Hit@10)。
MR:對于測試集的三元組數據每一條三元組,用實體集所有實體替換頭實體或尾實體,其中原來正確三元組的評分在的排名即為MR。
MR:測試集三元組評分排名的倒數。
Hit@10:測試集三元組的評分排名在前10的比例。
替換正確三元組的頭或者尾作為錯誤三元組,與原正確三元組一起構成測試集。這樣做會生成假陰性樣本,為此剔除測試集三元組中正確三元組的情況稱為“Filter”,未剔除的稱為“row”,最后得到的結果如表2所示。

表2 實體預測的評估結果
(1)與僅利用知識圖譜結構信息的TransE模型相比,引入文本信息的模型在各個指標上的結果都有一定程度的提升,在MR指標的效果尤為明顯。由此可以肯定文本信息對知識圖譜結構信息的補充作用,以及增強知識圖譜表示學習的效果。
(2)對比模型在FB15k和WN18數據集的表現,在FB15k上的效果明顯更佳。在WN18數據集上評分不如TransE模型的三元組,其頭實體和尾實體的描述文本中平均有0.67個公共詞,而評分比TransE基礎模型好的三元組,頭尾實體描述文本中平局有0.89個公共詞。相比之下,FB15k中的三元組頭尾實體平均公共詞有20個,因此,更詳細的實體文本描述能使得模型性能更好。
針對知識圖譜精確結構化數據在數量和范圍的限制,提出一種從非結構化的實體描述文本中提取信息,以補充知識圖譜信息的方法。實體的描述文本被視為一系列實體關聯詞,通過這些關聯詞的加權和生成實體基于文本信息的向量表示。為了更好地利用實體的文本描述語義信息,根據關系的不同為描述單詞設置不同權重。將文本信息的表示與知識圖譜三元組結構表示聯合訓練。最終得到了實體和關系的基于三元組的結構表示,文本信息能夠使實體在不同關系中產生不同的表達。實驗結果表明,有效利用實體描述文本的表示學習模型能夠在鏈接預測任務中有更好的效果。