吳曉崇,段躍興,張月琴,閆 雄
(太原理工大學信息與計算機學院,山西 晉中 030600)
知識圖譜KG(Knowledge Graph)是一種語義網,知識圖譜以圖形的方式來展現(xiàn)實體以及實體之間的關系[1]。實體鏈接EL(Entity Linking)主要是用于消除異構數(shù)據(jù)中實體沖突、指向不明等不一致性問題[2],是知識圖譜擴充的關鍵技術,同時也是自然語言處理領域里眾多任務的基本組成部分。隨著網絡中文本數(shù)據(jù)大量涌現(xiàn),郵件、博客、微博、評論等短文本內容廣泛存在,不同于存在豐富的語義信息的長文本的實體鏈接,如何提升短文本的實體鏈接效果正困擾著眾多研究人員,并制約著知識圖譜技術的發(fā)展。故研究實體鏈接對知識圖譜構建和擴充、信息抽取、信息檢索和問答系統(tǒng)等有重大意義。
給定一段文本,實體鏈接的任務是識別實體提及后在給定的知識庫KB(Knowledge Bases)中鏈接特定實體提及至對應目標實體。如圖1所示,以文本“1966年世界杯在英格蘭舉行,7月30日晚,英格蘭4-2擊敗西德,奪得了1966年世界杯冠軍,最佳球員是查爾頓,最佳射手由尤西比奧獲得?!睘槔瑢嶓w鏈接任務首先要識別出實體提及“世界杯”“英格蘭”等,然后將有歧義的實體提及分別鏈接至知識庫中對應實體,如:第1個“世界杯”指的是國際足聯(lián)世界杯(FIFA World Cup),而第2個“世界杯”特指1966年英格蘭世界杯;第1個“英格蘭”指大不列顛及北愛爾蘭聯(lián)合王國,第2個指英格蘭國家男子足球隊。
Figure 1 Example of entity linking圖1 實體鏈接示例
實體鏈接任務主要解決實體歧義問題,當前用于解決實體歧義問題的模型大致分為基于概率生成模型方法、基于主題模型方法、基于圖方法和基于深度學習方法[3]?;趥鹘y(tǒng)概率模型的實體鏈接方法主要就是考慮2個實體各自屬性的相似性,而并不考慮實體間的關系,將基于屬性相似度評分來判斷實體是否匹配的問題轉化為一個分類問題并建立了該問題的概率模型。主題模型是一種特殊的基于概率模型的方法,能夠在海量數(shù)據(jù)中找出文字間的語義主題,一般適用于長文本的實體鏈接任務。近年來集成實體鏈接方法被廣泛關注。Han等人[4]率先提出了一種基于圖模型的集成實體鏈接算法,將實體提及和候選實體視為圖的頂點,以實體間的谷歌距離作為語義相關性測度,建立實體相關圖,采用隨機游走方法對圖中的候選實體進行排序,得到實體鏈接的推薦結果。此后,一系列的基于圖的方法相繼被提出,如:基于圖模型的維基概念相似度計算方法[5]、基于圖的中文集成實體鏈接GCCEL(Graph-based Collective Chinese Entity Linking)算法[6]。目前,最新的研究成果是Zeng等人[7]提出的用于解決表格實體鏈接任務的列表集體實體鏈接(Collective List-Only Entity Linking)。
隨著深度學習方法在自然語言理解領域取得巨大成功,利用深度學習方法來解決實體的歧義問題成為當前實體鏈接研究的主流方向。He等人[8]在實體鏈接任務中首次使用深度學習,模型通過堆疊去噪自動編碼器來學習實體表示,以測量上下文與實體相似性。Huang等人[9]提出了一種基于圖的半監(jiān)督實體消歧方法,將深度神經網絡模型得到的實體間語義關聯(lián)度作為圖中的邊權值,實驗結果證實該方法無論在關聯(lián)性測試上還是在消歧性能上都具有更好的測試結果。Zeng等人[10]通過使用基于注意力機制的長短期記憶網絡模型完成實體鏈接。Luo等人[11]提出了深度語義匹配模型來實現(xiàn)實體消歧。譚詠梅等人[12]提出的融合卷積神經網絡CNN(Convolutional Neural Network)和重啟隨機游走的實體鏈接方法在指稱識別后生成指稱的候選實體集,隨后使用融合卷積神經網絡和重啟隨機游走的實體鏈接方法對候選實體進行選擇,最后對知識庫中無對應實體的指稱進行聚類。當前的實體鏈接方法嚴重依賴于人工選取的特征,而現(xiàn)有的文本特征往往不能有效地表達文本信息,導致處理實體消歧任務時的性能和計算效率取決于選取的特征的優(yōu)劣。
針對上述問題,本文在深度語義匹配模型中引入了卷積神經網絡來挖掘深層語義特征,可以避免絕大多數(shù)實體消歧所面臨的語義信息利用不足的問題,同時無需過多手工標注數(shù)據(jù)。
本節(jié)主要介紹改進的基于卷積神經網絡和深層語義匹配模型的實體鏈接模型C-DSSM(entity linking model based on Convolutional neural network and Deep Structured Semantic Model),實體鏈接的流程圖如圖2所示。
Figure 2 Flowchart of entity linking圖2 實體鏈接流程圖
候選實體生成的目的是要盡可能多地發(fā)現(xiàn)給定實體名稱可能的鏈接對象,以提高實體鏈接的準確率,同時又盡可能把不相關的實體排除出去,以縮小排序空間。常見的3種方法是基于名稱字典的構建方法、基于上下文的擴充法和基于搜索引擎的方法。候選實體集的生成過程包括2個步驟:
(1)從給定文本中識別出所有的實體提及。采用中國科學院計算技術研究所發(fā)布的漢語分詞系統(tǒng)對給定文本進行分詞和詞性標注,根據(jù)輸出的詞性標注結果進行實體識別。為了提高實體識別結果的精確率和召回率,采用添加用戶字典的方式,對實體識別的結果進行了修正。通過實體識別,可以得到文本中所有的實體提及集合M={m1,m2,m3,…,mi},i為實體提及個數(shù)。
(2)生成候選實體集。對于每個實體提及,提取同名實體在知識庫的所有描述頁面中出現(xiàn)的次數(shù)(出現(xiàn)次數(shù)反映了不同實體對于給定實體提及的流行度),參照譚詠梅等人[12]的工作,使用Elasticsearch 搜索引擎的匹配算法以及指稱類型與知識庫中實體類型的對應關系生成并篩選指稱的候選實體集。針對從當前語料中識別出的每個實體提及,在參考知識庫中進行索引查找,若知識庫中存在與之同名的索引項,則將該索引項對應的所有實體對象作為其初步的候選實體集合Ni={ni1,ni2,ni3,…},其中,nik表示實體提及mi所對應的第k個候選實體對象。最終,得到實體提及集合M的初步候選實體對象集合為N′={N1,N2,N3,…,Ni}。
實體鏈接主要包括2個重要子任務:實體識別和實體消歧。當前實體識別的研究理論已相當成熟,故研究人員多關注實體消歧任務。針對此任務,本文在前人的研究成果之上提出了一種融合了卷積神經網絡和深度語義匹配模型的實體鏈接模型。實體消歧是實體鏈接任務的關鍵子任務,也是本文研究的重要內容。本文采用改進的C-DSSM模型來實現(xiàn)實體消歧。
本節(jié)將詳細介紹提出的C-DSSM模型,該模型在原始深層語義模型DSSM(Deep Structured Semantic Model)基礎上引入了卷積神經網絡CNN。本文使用C-DSSM來獲取實體提及上下文和候選實體的語義向量。改進后的C-DSSM模型結構如圖3所示。
Figure 3 An improved entity linking model圖3 改進的實體鏈接模型
深層語義模型DSSM是基于深度神經網絡的一項建模技術,可以將具有成對關系的、不同類型的文本(如〈queries,documents〉)投射到一個共同的低維語義空間中,進而完成后續(xù)的機器學習任務。該模型由Huang等人[13]提出,用來解決Web文檔排名任務。在此基礎上,2015年Huang等人[9]提出了一種基于深度神經網絡DNN(Deep Neural Network)和語義知識圖(KG)的新型深度語義關聯(lián)模型DSRM(Deep Semantic Relatedness Model),用于計算主題一致的實體間的語義相關性,并進一步解決實體鏈接問題。
深層語義關聯(lián)模型DSRM通過具有多層非線性變換的DNN對來自知識圖譜的各種語義知識進行編碼,然后提取有用的語義特征來表示實體。利用實體關聯(lián)圖來模擬實體提及與候選實體間的主題一致性,實現(xiàn)了比同時期的基于圖模型的實體鏈接方法更好的性能。然而,作者在提出這個模型的時候,詞向量的相關技術并不完善,為了避免采用獨熱的編碼方法,選擇使用詞哈希(Word Hashing)將英文中的每個詞語分解成三元組的形式,并且三元組的數(shù)量比單詞的數(shù)量少了很多,這種方式大大降低了單詞表示的維度。此外,針對中文文本的實體鏈接任務而言,三元組的表示方法不適用于中文,對文本可不進行分詞處理,中文中常用的漢語字符也只有幾千個。不過隨著詞向量技術的不斷發(fā)展,例如word2vec、glove等,可以利用這些算法訓練詞向量,直接將詞語映射到一個低維空間中,將文本轉換成一個詞向量的矩陣來表示。
卷積神經網絡是一種用于特征提取的神經網絡,有2個顯著特點:稀疏連接和權值共享。稀疏連接用于提取文本中不同維度的語義特征;權值共享則極大地減少了網絡中訓練參數(shù)的個數(shù)和訓練時間,簡化了網絡結構。
神經網絡的輸入為短文本的詞向量,每一行代表一個詞的詞向量,構成一個輸入矩陣,所以在處理文本時,卷積核通常覆蓋上下幾行的詞,此時卷積核的寬度與輸入的寬度相同,通過這樣的方式,本文就能夠捕捉到多個連續(xù)詞之間的特征(只要通過設置卷積核的尺寸,卷積核的寬度一般和詞向量的長度一致,長度可以選擇1、2、3等值,當取3時就會將3個連續(xù)詞的特征表示出來),并且能夠在同一類特征計算時共享權重。然后依次經過卷積層、池化層,接著通過展平操作將特征圖轉換為一維向量,最后經過丟棄層和全連接層輸出文本的特征。輸出的文本特征會作為深度語義匹配模型的輸入來進一步實現(xiàn)實體的語義消歧。
針對原始深度語義匹配模型所采用的詞袋模型(Bag-Of-Words model)易造成缺失上下文語義信息的缺點,本文選擇利用word2vec訓練得到實體提及和候選實體的低維向量化表示,即詞向量(Word Embedding)。詞向量可以捕獲詞語在特定領域的深層語義特征。為了更好地計算實體提及與候選實體間的相似度,本文學習并訓練實體提及及其上下文和知識庫中候選實體的語義向量表示。
C-DSSM具有卷積層,其將上下文窗口中的每個單詞投影為局部上下文特征向量,上下文語義相近的單詞被投影至特征空間中彼此接近的向量上。此外,由于句子的整體語義通常由句子中的幾個關鍵詞確定,因此簡單地將所有單詞混合在一起(例如,通過對所有局部特征向量求和)可能引入不必要的歧義,并且損害句子的整體語義表示有效性。因此,C-DSSM使用最大池化層來提取最顯著的局部特征,以形成固定長度的全局特征向量。然后可以將全局特征向量傳播到前饋神經網絡層,前饋神經網絡層執(zhí)行仿射變換,然后在其輸入上逐個元素地應用非線性函數(shù),以提取高度非線性和有效的語義特征。
使用改進的C-DSSM模型可以有效利用語義特征,在基于排名的框架中應用候選實體的學習表示以及組合上下文和實體提及表示來消除歧義。給定候選實體的語義表示Q和實體提及上下文對的表示Dn,其中,n為實體提及的候選實體數(shù)目,使用這2個向量之間的余弦相似性來表示它們的語義相關性,即
P(Q,Dn)=consine(Q,Dn)
(1)
在預測過程中,本文計算上下文提及對與每個候選實體之間的相似性,并選擇相似度最高的一個作為最終結果。
在模型訓練階段,本文采用Huang等人[9]模型中的損失函數(shù),損失函數(shù)形式為:
(2)
其中,Λ表示C-DSSM模型的一系列參數(shù),e+是e語義相關的實體,P(ej,ei)是給定實體提及ei的候選實體ej的后驗概率。
(3)
其中,γ是平滑參數(shù),Ei代表訓練數(shù)據(jù)集中與ei語義相關的實體。
(4)
其中,yei和yej分別是ei和ej的語義表示。
為了獲得最佳性能,本文需要最小化損失函數(shù),同時為了提升訓練效果,將數(shù)據(jù)隨機分成10份,利用9份數(shù)據(jù)訓練模型,1份數(shù)據(jù)驗證模型。本文根據(jù)經驗將學習率設置為0.01,將卷積神經網絡的窗口大小設置為3,將隱藏層的數(shù)量設置為2,將每個隱藏層和輸出層中的單元數(shù)分別設置為300和128,初始化權重矩陣,然后用基于小批量的隨機梯度下降來訓練模型。
實驗所用的數(shù)據(jù)是NLP&CC2013和NLP&CC2014數(shù)據(jù)集,2個數(shù)據(jù)集中使用的參考知識庫均為基于2013年中文維基百科轉儲文件,其中包含InfoBox結構的大約400 000個實體。此知識庫中的每個實體包含:名稱字符串、KB條目ID以及〈subject,predicate,object〉形式的三元組。其中,NLP&CC2013數(shù)據(jù)集文檔數(shù)為779,NLP&CC2014數(shù)據(jù)集中有1 257篇文檔。
微博作為一種典型的短文本,其文本特點是:長度較短,內容表達口語化,常出現(xiàn)各種符號表情,各種語言混合。針對上述問題,需要對其原始數(shù)據(jù)進行數(shù)據(jù)清洗,使用Python正則表達式清洗微博文本特殊符號(網址、@、表情符等)。對于微博中繁體字、拼音與簡體字結合出現(xiàn)的情況,采用繁簡轉換和拼音漢字轉換統(tǒng)一為漢字簡體形式。對于口語化表達造成的錯別字現(xiàn)象,需手工校對。
在對實驗數(shù)據(jù)中的文本進行預處理的同時還對中文維基百科知識庫的目標實體進行預處理。一個實體提及可能有諸多表達形式,如別名、簡稱、譯名等。本文針對實體具有多種表達形式的問題,構建了同名映射詞典,進而有助于實體鏈接效果的提升。同名映射詞典的構建不僅基于中文維基百科,還可參考百度百科、互動百科等大型中文百科知識庫,互為補充。
本文采用的實驗評估指標主要有:準確率、召回率和F值。為評估模型的整體性能加入ROC(Receiver Operating Characteristic)曲線和AUC(Area Under Curve)值來進行評測。ROC曲線和AUC值用來衡量一個模型的整體性能優(yōu)劣。AUC值是ROC曲線下的面積,介于0.1~1,值的大小可評價分類器的好壞。準確率、召回率和F值的定義如式(5)~式(7)所示:
(5)
(6)
(7)
其中,M為實體鏈接輸出的結果,M*是標注的正確結果。F值是對準確率和召回率的加權調和平均值。a為參數(shù),當a=1時,F(xiàn)值為常用的F1值。
為了比較本文提出的融合模型與單模型的實體鏈接的性能,進行了對照研究。在NLP&CC2013數(shù)據(jù)集上進行同樣的處理情況下,對只采用卷積神經網絡模型的CNN、只采用深層語義模型的DSSM和融合CNN和DSSM的模型進行實驗對比。表1是不同模型的對比結果。
Table 1 Results of different models表1 不同模型的對比結果
分析表1可知,原始CNN模型在3種模型中性能最差,該模型提取實體提及的局部信息進行鏈接,而短文本并沒有豐富的信息來提升鏈接效果。原始DSSM模型是基于DNN和實體圖的模型,能夠充分利用維基百科知識庫中已有的知識,將候選實體之間的鏈接關系以及候選實體之間的主題聯(lián)系起來,提高了實體全局關聯(lián)度的準確性,進而消歧效果更佳。CNN和DSSM模型融合的性能最佳,進一步證實了將CNN引入DSSM模型是有效的。
為了驗證本文模型的有效性,進行了不同模型的對照實驗。針對中文短文本,將本文提出的實體鏈接方法與4種經典實體鏈接模型進行實驗比較。4種對照模型分別是:基于向量空間模型的Ranking SVM_EL、基于LDA主題模型的eLDA_EL[14]、Lucene_EL和基于DSRM模型的DSRM_EL。Ranking SVM_EL模型是一種排序模型,通過對候選實體集合進行排序得到目標實體;eLDA_EL模型[14]是基于主題模型的實體鏈接方法的代表模型之一,利用概率主題模型將詞和命名實體映射到同一個主題空間,并根據(jù)實體在主題空間中的位置向量,把給定文本中的命名實體鏈接到知識庫中無歧義的命名實體;Lucene_EL模型單純地利用Lucene的檢索功能,得到與查詢名稱相似度最高的知識庫中的目標實體;DSRM_EL模型則是基于深度神經網絡和概率圖模型的實體鏈接模型。表2所示為5種不同模型的消歧效果對比結果。
Table 2 Results of five entity linking models表2 5種實體鏈接模型對比結果
通過表2可知,與當前主流實體鏈接模型相比,本文模型的準確率和F值均更高。這是因為與傳統(tǒng)的相似度計算方法[15]相比,基于深度學習的方法可以避免繁瑣的人工特征抽取,有效地利用無監(jiān)督數(shù)據(jù),并且具有優(yōu)秀的泛化能力。利用深度學習可以通過構造模型來自動學習用于解決實體鏈接的問題所需的特征;同時,有標簽數(shù)據(jù)相對稀少且昂貴,改進模型可以利用大量無標簽數(shù)據(jù)來獲取特征。實驗結果在一定程度上表明了本文改進模型的有效性。
為分析本文改進模型與Ranking SVM_EL模型的整體性能優(yōu)劣進行了ROC曲線分析,圖4為ROC曲線圖。
Figure 4 ROC diagram圖4 ROC曲線圖
從圖4可以看出,C-DSSM模型的ROC曲線大部分位于Ranking SVM_EL模型的ROC曲線上方,且C-DSSM模型的AUC值大于Ranking SVM_EL模型的,故在一定程度上表明了本文模型的實體鏈接效果優(yōu)于Ranking SVM_EL模型。
本文基于卷積神經網絡和深層語義匹配模型提出一個實體鏈接模型,該模型包含候選實體集生成和實體消歧2部分。候選實體集生成部分滿足了高召回率需求,避免影響后續(xù)實體消歧的準確率;實體消歧部分給出了一種改進的實體消歧解決方案,該模型緩解了當前該研究領域內模型對實體間語義信息特征提取的不足,可以高效而精準地實現(xiàn)短文本中的歧義實體消歧,適合中文短文本實體鏈接的應用場景,同時又能為知識圖譜的構建與擴充提供幫助。
對實驗結果的分析表明,本文提出的模型在一定程度上解決了實體間語義信息利用不充分的問題。如何改進當前的模型以適應限定領域中文短文本的實體鏈接問題,是下一步的研究重點。