王亞男,任佳星,龐宇航,劉 瓊,潘 娟,劉 偉,高凱強
(中國電力科學研究院有限公司,北京 100192)
實體鏈接是自然語言處理的一個關鍵任務,主要用于翻譯、對話和問答等任務的預處理過程[1]。實體鏈接的主要目標是解決命名實體的歧義性和多樣性問題,該任務是從實體指代項對應的多個候選實體中選擇意思最相近的一個實體進行鏈接。這些候選實體可能選自通用知識庫,如維基百科、百度百科[2-3],也可能來自領域知識庫,如教育知識庫、軍事知識庫和醫學知識庫。其中,電力通信運行數據來源存在如下問題:① 數據格式不統一、網元鏈路業務命名規則不統一;② 數據結構復雜、規模龐大,需投入大量人力進行清洗校核。為了解決上述問題,本文利用短文本實體鏈接技術,對電力數據開展清洗校核,對相同實體進行鏈接對齊。以文本“樓蘭變的電壓等級為220 kV”為例,其中實體指代項是“樓蘭變”,該實體指代項在知識庫中可能存在多種表示和含義,如樓蘭變電站、樓蘭變速箱等,而在此處“樓蘭變”真正的含義為“樓蘭變電站”。從文本中可以發現實體指代項周圍的單詞包含很多語義,它們與實體指代項和正確的候選實體之間有著緊密聯系。然而,現有工作常常忽略實體指代項與候選實體之間的關系,或者在上下文中丟失重要的實體指代項語義信息[4-5]。
現有的大部分實體鏈接工作都集中在處理長文本上,長文本中已經包含了許多有用的信息[6-7]。本文考慮短文本場景中的實體鏈接問題。如今,越來越多的網絡語料庫主要由短文本組成,例如新聞標題、社交媒體、搜索查詢和網頁片段[8-9]。由此可見,針對短文本的研究越來越重要,因此本文研究短文本實體鏈接任務。
選擇正確的候選實體,關鍵取決于實體指代項和候選實體的匹配度。不同于長文本,短文本需要在實體指代項和候選實體之間進行匹配,僅需要依托短文本中的少量文字來理解其真實含義,同時沒有其他額外更多的信息。本項任務的挑戰包括:① 如何在文本中識別重要信息,這是選擇最合適的候選實體的關鍵因素;② 如何對實體指代項與文本的關系進行建模,并充分獲取實體指代項在文本中的語義。
鑒于此,本文提出了一種深度序列匹配網絡(Deep Sequential Matching Network,DSMN),這是一種有效解決上述挑戰的新型匹配模型。DSMN首先采用多粒度詞嵌入方法將文本中的每個單詞轉換為詞向量,然后使用2層深度匹配矩陣,第1層將實體指代項和文本中每個詞逐一匹配,第2層分別將每個候選實體和上一層的輸出依次進行匹配。2層匹配后實現對重要信息進行編碼形成匹配向量。接下來,將匹配向量通過卷積、池化層再次提煉,獲得重要語義。最后,累加得到的所有匹配向量,并通過動態匹配預測函數來計算最終得分。這些操作都是為了確保文本中的每個詞、實體指代項和候選實體的重要信息以最小的損失轉化為匹配向量,在有限的短文本中深度獲取語義,并將這些信息充分保留且用于最終分數計算。本文在復旦大學提供的4個數據集上測試了本文提出的模型,4個數據集分別為:NTF,NLPCC,HQA和CNDL[10]。在這些數據集上,DSMN展示了優異的性能。
本文的主要貢獻可歸納為以下幾個方面:① 提出了一種新型DSMN,深度捕獲文本、實體指代項和候選實體之間的深層語義,實現短文本實體鏈接任務;② 在文本、實體指代項和候選實體的知識表示過程中,提出了多粒度詞嵌入方法,聯合字符級、詞級和句子級詞嵌入,多級融合可得語義豐富的詞向量表示;③ 使用DSMN在4個數據集上進行了實體鏈接任務,并取得優異成績。
實體鏈接的關鍵在于獲取語句中更多的語義,通常有2種方法來獲取更多語義:一種是通過外部語料庫獲取更多的輔助信息;另一種是對本地信息的深入了解以獲取更多與實體指代項相關的信息[11]。
Tan等[12]提出了一種新的候選實體選擇方法,該方法使用整個包含實體指代項的句子而不是單獨的實體指代項來搜索知識庫,以獲得候選實體集。通過句子檢索可以取得更多的語義信息,并獲得更準確的結果。向宇等[13]使用人工工作來生成特征集,然后利用這些特征來捕獲實體指代項和實體的相似性。Lin等[14]尋找更多線索來選擇候選實體,這些線索被視為種子實體指代項,用作實體指代項與候選實體的橋梁。Dai等[15]使用社交平臺Yelp的特征信息,包括用戶名、用戶評論和網站評論,豐富了實體指代項相關的輔助信息,實現了實體指代項的歧義消除。因此,利用與實體指代項相關的輔助信息,可以提供實體指代項和候選實體間更加豐富的語義信息,有利于歧義消除。
另一些研究人員使用深度學習技術來研究文本的語義。Chen等[16]使用Bert模型學習語義級的詞向量表示形式,聯合實現指代項檢測和實體鏈接任務。Wei等[17]使用前饋神經網絡和雙重固定大小的遺忘編碼方法,以對句子片段及其內容進行完全編碼,并將左、右文本轉換為固定大小的表示形式。Mueller等[18]將句子左右分開,然后讓它們分別通過門控循環單元(Gated Recurrent Unit,GRU)和注意力機制,以獲得關于實體指代項和候選實體的分數。Zeng等[19]提出了一種基于雙重注意力機制的長期短期記憶網絡Celan,對實體指代項和候選實體表示進行準確建模。Lou等[20]提出了一種基于注意力的雙線性聯合學習方法來分析知識庫中單詞和實體之間的實體鏈接。Wang等[21]提出了一種基于EM約束概率傳播模型進行鏈接。
目前,在實體鏈接任務中使用深度學習方法是一個熱門的研究課題。本文通過提出的DSMN實體鏈接模型,利用多粒度全方位詞嵌入表示并結合了深度序列匹配矩陣,挖掘隱藏在表面下的深層語義關系,實驗獲得了魯棒而有效的實體鏈接結果。
本文提出一種DSMN,如圖1所示。

圖1 DSMN架構Fig.1 Diagram for DSMN structure
DSMN首先通過多粒度詞嵌入生成對應的詞向量;然后,將詞向量通過詞-實體指代項深度序列匹配層,形成詞-實體指代項對,再通過候選實體和詞-實體指代項對深度序列匹配層,形成詞、實體指代項和候選實體三者的深度匹配向量;接下來是卷積池化層,在本層通過卷積池化操作提取文本中包含的重要信息,并將其編碼得到一個匹配向量;隨后通過GRU單元序列累加得到多個匹配向量;最終將得到的隱藏層狀態輸入最后的預測層去動態計算最終的匹配得分。后文會給出具體描述。

對于句子s中的詞w,使用卷積網絡[22]進行字符級向量表示,對斯坦福大學的GloVe詞嵌入工具進行微調[23]得到詞級向量表示,以及微調Bert嵌入工具[24]得到句子級向量表示。通過將這3個粒度的詞向量串聯起來,可以獲得最終的詞向量表示形式:
(1)
式中,⊕表示串聯操作。文本中的詞、實體指代項和候選實體都是通過相同的向量化操作得到對應的詞向量。文本中的詞w、實體指代項m和候選實體c的詞向量表示分別采用如下形式:w對應ew,m對應em和c對應ec,并且ew,em,ec∈Rd,d表示詞向量的維數。通過上述操作,得到了多粒度詞嵌入表示{vt}。隨后通過一個GRU單元進一步整合編碼,并獲得記錄重要語義的隱藏單元{ht}:
(2)
式中,zi和ri分別為更新門和重置門;σ(·)表示Sigmoid函數;Wz,Wr,Wh,Uz,Ur,Uh是參數;ew,ec,em是分別來自hw,t,hc,t,hm,t的隱藏向量。
構建深度序列匹配相似度矩陣Mf∈Rd×d(f=1,2),分2步開展,首先進行詞和實體指代項之間的深度序列匹配,M1表示w和m之間的相似度,然后進行候選實體和詞-實體指代項對之間的深度序列匹配,M2表示c和M1之間的相似度。其中?d,d維的M1,M2矩陣定義如下:
(3)

(4)

(5)


(6)

最后,采用交叉熵損失函數來取得更優化的g(s,m,c)函數,定義如下:

(7)
在實體鏈接任務中,從候選實體列表中為文本中實體指代項選擇一個正確的實體進行鏈接。使用百度百科和CN-DBpedia[25]作為實體知識庫,其中包含超過1 000萬個實體。從實體知識庫中檢索候選實體列表,并使用詞匹配方法生成候選實體。每次在DSMN模型中輸入一個候選實體時,都會輸出一個候選實體和實體指代項的匹配分值,因此候選實體列表中的每個候選者都有一個對應的匹配分數,最終選擇具有最高分值的候選實體作為實體指代項的正確實體。匹配正確實體和實體指代項可以消除歧義,便于機器理解文本含義。
介紹了實體鏈接任務的實驗設置和性能表現。本文設計的模型是使用Keras[26]和Tensorflow[27]庫實現的。
數據集:選擇復旦大學的數據集[2]進行實體鏈接任務,該數據集由NLPCC,NTF,HQA和CNDL四個不同的數據集構建。NLPCC數據集由3 849個搜索查詢樣本組成;NTF由1 299個新聞標題組成;HQA由486個問答查詢組成;CNDL由343個中文日常用語組成。實驗過程重建這些數據集,每個樣本都包含一個實體指代項,并由2名志愿者手動檢查。數據集統計表如表1所示。

表1 數據集統計表Tab.1 Datasets statistics
從表1可以看出,這4個數據集的文本的平均詞數量都是符合短文本的特征。設置每個短文本都包含一個實體指代項,可以看出候選實體列表中至少包含一個正確的候選實體。實體知識庫來自百度百科和CN-DBpedia,這2個數據庫的特點是數量多、質量低。
實驗過程將數據集隨機劃分為訓練集80%、驗證集10%和測試集10%。表1顯示了數據集的統計信息。在訓練和驗證集中,將正負候選實體之比設為1∶1。在測試集中,候選實體包含1個正確候選實體,少于9個錯誤候選實體。從表中可以看出實驗數據集適合短文本語料特征。
單詞分詞:為適應中文語言的特殊性,通過分詞可以將文本切割成詞組,以詞組為基本語義單元進行處理。本文比較了4種不同的分詞工具,在其中一個數據集上測試其分詞性能,工具包括Jieba,SnowNLP,NlPIR,THULAC。結果表明,Jieba具有最好的性能,因此選擇Jieba來分詞。
對比實驗選擇了7種方法與PUNER的性能進行比較。前4種是傳統的深度學習方法,分別是LSTM[28],BiLSTM[29],GRU[30]和BiGRU[31],后3種方法分別是:Random Walk (RW)算法通過在知識圖上隨機游走來解決實體鏈接任務,在多個數據集上都有很好的性能[6];Fast Entity Linker(FEL)是一種經典的短文本實體鏈接方法,它將實體指代項作為文本的質心,并計算實體和上下文之間的相關性[32];Baidu Entity Annotation (BEA)是由百度提供的API服務,在中文短文本實體鏈接方面表現良好[33]。本文重新實現以上7種對比方法,并在復旦大學的4個數據集上對其進行測試。
本實驗的關鍵評價指標是F1值(F1-Measure),F1值是精確率(Precision)和召回率(Recall)的調和平均指標,是平衡準確率和召回率影響的綜合指標。公式如下:
(8)
式中,精確率是指對給定數據集,分類正確樣本個數和總樣本數的比值。召回率是指用來說明分類器中判定為真的正例占總正例的比率。
表2給出了在復旦大學數據集上的實體鏈接評估結果。從表中可以看出,傳統的神經網絡LSTM,BiLSTM,GRU和BiGRU的效果較差;且當上下文不足時,經典的全局實體鏈接方法RW表現也非常不佳;短文本鏈接方法FEL和BEA在一定程度上性能有所提升,但是本文提出的DSMN充分利用了實體指代項和詞以及候選實體之間的關系,并多粒度地獲取了語義向量,取得了最優秀的性能效果。

表2 在數據集上的評估Tab.2 Evaluation on datasets
表3評估了模型變形的結果。模型做了如下變化:DSMNELMo表示在多粒度詞嵌入階段將Bert替換成ELMo[34]進行句子嵌入式表示;DSMNBiLSTM表示在整合多粒度詞嵌入編碼階段將GRU替換成BiLSTM進行向量化表示;DSMNonlyM1指在深度序列匹配階段只采用詞和實體指代項之間的M1矩陣進行深度序列匹配;DSMNatt-表示在動態平均預測階段不采用注意力機制。從實驗結果可以看到,在整合編碼階段替換GRU(DSMNBiLSTM)和預測階段時取消注意力機制(DSMNatt-)對模型的性能影響不大,而在多粒度詞嵌入階段替換bert(DSMNELMo)以及在深度序列匹配階段只采用一個M1匹配矩陣(DSMNonlyM1)對性能影響較大。由此可見,Bert和匹配矩陣對性能影響很大,是模型的關鍵模塊,可以深度提取語義。而DSMN通過多粒度深度獲取句子語義,再聯合挖掘候選實體與文本和實體指代項之間的密切關系,最終取得了最優性能。

表3 模型變形的評估結果Tab.3 Evaluation results of model variation
此外,實驗了當變化DSMN中低秩神經張量網絡的秩大小時對訓練時間成本的影響。本實驗在6核12線程 32 GB內存CPU上進行。整合4個數據集的數據一起訓練,在秩大小等于3時可以實現最佳性能。對于一次迭代,具有不同等級大小的DSMN的訓練時間成本如圖2所示。從圖2可以看出,訓練的時間成本幾乎隨秩數量增加線性增加。 這是因為低秩神經張量網絡的參數數目隨秩大小線性增加。

圖2 DSMN不同秩大小的訓練時間成本Fig.2 Training time costs of DSMN with different ranks
DSMN進一步證明了多粒度詞嵌入和匹配矩陣的策略合理,從而深度提取了實體指代項、文本中詞和候選實體之間的關系。此外,DSMN模型結構可完美挖掘潛在的短文本語義信息。作為內部數據,電力通信數據涉及敏感信息,因此本文選擇了4個不同類型和規模尺度的數據集來盡可能展示模型的魯棒性,在一定程度上保證了模型應用在電力通信數據時的有效性。綜上所述,本文提出的DSMN模型展示了卓越的性能。
本文提出了一種新的深度序列匹配模型用于短文本實體鏈接任務,實現電力通信運行數據的實體鏈接和清洗校核。DSMN模型更加關注文本中單詞、實體指代項和候選信息之間的關系。它使用多粒度詞嵌入結合深度序列匹配對來充分提取文本中的重要信息,并挖掘了表面形式下的內在語義關系。最終,在4個公開數據集上的實驗結果表明該模型具有出色的性能。將來,計劃研究如何對短文本出現多個未知詞或包含多個實體指代項的情況進行建模。