李 廣,劉 新,馬中昊,黃浩鈺,張遠(yuǎn)明
(湘潭大學(xué) 計(jì)算機(jī)學(xué)院·網(wǎng)絡(luò)空間安全學(xué)院,湘潭 411105)
在自然語(yǔ)言處理(NLP)中,文本匹配[1]是研究對(duì)給定的兩個(gè)文本,采用匹配模型預(yù)測(cè)兩個(gè)文本在某種意義上是否相似. 自動(dòng)評(píng)分系統(tǒng)[2]、推薦系統(tǒng)[3]、問(wèn)答系統(tǒng)[4]、信息檢索[5]等都可以抽象成一個(gè)文本匹配問(wèn)題. 在主觀題評(píng)分過(guò)程中,系統(tǒng)可以判斷用戶的答案與標(biāo)準(zhǔn)答案相似性來(lái)進(jìn)行評(píng)分,極大的減少了教師的工作量. 對(duì)于推薦系統(tǒng),可以根據(jù)用戶瀏覽的信息來(lái)推薦同領(lǐng)域或者同事件的相關(guān)信息. 問(wèn)答系統(tǒng)中的答案匹配可以減少對(duì)人工客服的需求. 在信息檢索中,查詢文檔匹配結(jié)果的準(zhǔn)確性和相關(guān)性都很重要. 所以對(duì)文本相似度匹配任務(wù)的研究是必要且是具有重要意義的.
傳統(tǒng)的文本匹配基于TF-IDF[6]、BM25[7]、VSM[8]等的算法,主要解決了詞匯層面的匹配問(wèn)題,但還是存在如“同義詞”“一詞多義”“雙關(guān)”等的局限性. 雖然淺層語(yǔ)義分析LSA[9]、LDA[10]等技術(shù)可以彌補(bǔ)傳統(tǒng)方法的不足,但是還是不能完全替代關(guān)鍵詞匹配技術(shù). 隨著深度學(xué)習(xí)不斷地發(fā)展,對(duì)深度文本匹配模型的研究也層出不窮. 大致可以分為兩類(lèi): 表示型和交互型. 表示型模型注重對(duì)文本的唯一表示,經(jīng)典的模型有DSSM[11]、CDSSM[12]、MV-LSTM[13]等,但是此類(lèi)模型容易失去語(yǔ)義焦點(diǎn),難以把握詞的上下文的重要性. 交互型模型將詞匹配信號(hào)作為后續(xù)的建模,經(jīng)典的模型有ARCII[14]、Match-SRNN[15]、DRMM[16]等,但此類(lèi)模型忽略了句型、句間關(guān)系等全局性信息.
針對(duì)以上問(wèn)題,本文提出了一種融合多角度特征的文本匹配模型. 以孿生網(wǎng)絡(luò)為基本架構(gòu),對(duì)輸入文本使用BERT 模型進(jìn)行詞向量化表示,BERT 轉(zhuǎn)化的詞向量本身具有一定的語(yǔ)義信息,使用BERT 詞向量計(jì)算出兩個(gè)文本之間詞向量的相似度再融合到兩個(gè)文本中,加強(qiáng)輸入文本的語(yǔ)義. 對(duì)文本進(jìn)行詞性的標(biāo)注后,使用Bi-LSTM 對(duì)兩個(gè)文本對(duì)應(yīng)的詞性序列進(jìn)行編碼,使用Transformer 編碼器對(duì)兩個(gè)文本信息和文本的詞性進(jìn)行特征提取,并使兩個(gè)文本之間對(duì)應(yīng)的信息進(jìn)行多層次的信息交互. 對(duì)輸出后的語(yǔ)義表示進(jìn)行池化之后,將兩個(gè)文本對(duì)應(yīng)信息進(jìn)行對(duì)齊拼接送入多層感知機(jī)(MLP)中進(jìn)行兩個(gè)文本之間的語(yǔ)義匹配. 在Quora部分?jǐn)?shù)據(jù)集上的實(shí)驗(yàn)表明,本模型相比于經(jīng)典深度匹配模型有更好的表現(xiàn).
孿生網(wǎng)絡(luò)[17]包含兩個(gè)或者更多相同子網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)架構(gòu),子網(wǎng)絡(luò)共享參數(shù)和權(quán)重,孿生網(wǎng)絡(luò)在探索兩個(gè)樣本之間的關(guān)系任務(wù)中起到很大的作用,子網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)和權(quán)重共享,使訓(xùn)練的參數(shù)極大的減少,孿生網(wǎng)絡(luò)結(jié)構(gòu)可以提取文本整體的語(yǔ)義再送入匹配層進(jìn)行匹配,利于更好的探索兩個(gè)文本之間的相似性和聯(lián)系.
雙向長(zhǎng)短期記憶模型(Bi-LSTM)[18]由長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)發(fā)展而來(lái),Bi-LSTM 是由前向的LSTM 和后向的LSTM 組成. 單向的LSTM 能捕捉較長(zhǎng)距離的文本信息之間的依賴關(guān)系. 雙向的LSTM 能捕捉雙向的文本信息的依賴關(guān)系,從兩個(gè)方向?qū)斎胄蛄羞M(jìn)行特征提取.
Transformer 由Google 在2017 年發(fā)表的論文中提出[19],該模型在很多其他語(yǔ)言理解任務(wù)上都超越了以往的模型. 與循環(huán)神經(jīng)網(wǎng)絡(luò)類(lèi)模型相比,Transformer 不需要循環(huán)的處理,結(jié)合位置信息可以并行地處理所有的單詞和符號(hào),同時(shí)利用自注意機(jī)制將上下文的信息結(jié)合起來(lái)并行處理,并且在處理過(guò)程中可以注意到文本中重要的信息,訓(xùn)練速度相比于循環(huán)神經(jīng)網(wǎng)絡(luò)有很大的提升,訓(xùn)練的效果也超越了以往的模型,逐漸替代了循環(huán)神經(jīng)網(wǎng)絡(luò)模型.
BERT[20]是一個(gè)預(yù)訓(xùn)練語(yǔ)言模型,以Transformer為主要框架,捕捉文本中的雙向關(guān)系,通過(guò)mask language model (MLM)和next sentence prediction (NSP)兩個(gè)任務(wù)來(lái)預(yù)訓(xùn)練模型,進(jìn)一步增加了詞向量模型的泛化能力,對(duì)字符級(jí)、詞級(jí)、句子級(jí)甚至句間關(guān)系特征都可以充分描述,利用BERT 的特征表示代替Word2Vec[21]的特征表示作為任務(wù)的詞嵌入特征,相較于詞袋模型,BERT 的特征表示包含了更多的語(yǔ)義信息.
基于孿生網(wǎng)絡(luò)結(jié)構(gòu)的IMAF (text matching model incorporating multi-angle features)模型由輸入層、交互層、表示層、預(yù)測(cè)層組成,在輸入層利用BERT 模型訓(xùn)練出來(lái)的特征作為匹配任務(wù)的詞嵌入特征,解決一詞多義問(wèn)題; 利用BERT 的詞向量特征計(jì)算兩個(gè)文本的詞相似度,并將相似度結(jié)果融合到文本特征矩陣中,增強(qiáng)局部特征; 對(duì)輸入文本進(jìn)行詞性標(biāo)注后,利用Bi-LSTM 對(duì)文本的詞性信息進(jìn)行詞性嵌入編碼; 在表示層利用Transformer 編碼器作為特征提取; 在交互層對(duì)兩個(gè)文本融合詞相似度信息和詞性信息分別進(jìn)行的注意力[22,23]交互,讓模型對(duì)重點(diǎn)信息關(guān)注并充分學(xué)習(xí); 在預(yù)測(cè)層,將交互后的結(jié)果進(jìn)行池化之后送入多層感知器最終通過(guò)LogSoftmax 分類(lèi)器得到兩個(gè)文本的匹配結(jié)果. IMAF 結(jié)構(gòu)如圖1,N為T(mén)ransformer 編碼器數(shù)量.
圖1 IMAF 結(jié)構(gòu)圖
本文使用BERT 模型將文本轉(zhuǎn)化為詞級(jí)別嵌入矩陣. 相比于Word2Vec,BERT 生成的特征矩陣由單詞周?chē)膯卧~動(dòng)態(tài)生成,包含了上下文信息,可以更好地解決一詞多義的問(wèn)題. 該模型擁有12 個(gè)Transformer 編碼器,隱藏層維度為768 維,每個(gè)編碼器擁有12 個(gè)注意力頭.
BERT 生成的嵌入矩陣含有豐富的語(yǔ)義信息,計(jì)算兩個(gè)文本的詞相似度作為匹配信號(hào)再分別融合到嵌入矩陣中,增強(qiáng)文本的語(yǔ)義表示. BERT 對(duì)文本1 的矩陣表示為A,BERT 對(duì)文本2 的矩陣表示為B,計(jì)算如下,其中,||A||2和||B||2代表矩陣A和B的二范數(shù):
W包含了A與B的詞相似度信息,再分別融入矩陣A和矩陣B中得到融合詞相似度的矩陣,融合計(jì)算過(guò)程如下:
對(duì)于詞性,將文本的詞性序列進(jìn)行向量表示,送入Bi-LSTM 模型學(xué)習(xí)文本語(yǔ)句結(jié)構(gòu)的特征表示,例如,給定一個(gè)長(zhǎng)度為n的文本序列[w1,w2,···,wn],將單詞在文本中的詞性標(biāo)注映射到向量空間,對(duì)于單詞wi的詞性,都有一個(gè)唯一的索引表示,通過(guò)將詞性向量序列pos[w1,w2,···,wn]輸入到Bi-LSTM 從兩個(gè)方向,即前向和后向,學(xué)習(xí)語(yǔ)句結(jié)構(gòu)特征表示. 公式如下:
表示層通過(guò)Transformer 編碼器對(duì)輸入的信息進(jìn)行特征提取,編碼器由N個(gè)相同的layer 組成,每個(gè)layer分別由多頭注意力機(jī)制(multi-head self-attention mechanism)和全連接層(fully connected feed-forward network)兩個(gè)子層組成,每個(gè)子層都做了參差連接(residual connection)與歸一化(normalisation)操作,Transformer 編碼器的內(nèi)部結(jié)構(gòu)如圖2 所示.
后來(lái)母親還告訴過(guò),就是在翠姨還沒(méi)有訂婚之前,有過(guò)這樣一件事情。我的族中有一個(gè)小叔叔,和哥哥一般大的年紀(jì),說(shuō)話口吃,沒(méi)有風(fēng)采,也是和哥哥在一個(gè)學(xué)校里讀書(shū)。雖然他也到我們家里來(lái)過(guò),但怕翠姨沒(méi)有見(jiàn)過(guò)。那時(shí)外祖母就主張給翠姨提婚。那族中的祖母,一聽(tīng)就拒絕了,說(shuō)是寡婦的孩子,命不好,也怕沒(méi)有家教,何況父親死了,母親又出嫁了,好女不嫁二夫郎,這種人家的女兒,祖母不要。但是我母親說(shuō),輩分合,他家還有錢(qián),翠姨過(guò)門(mén)是一品當(dāng)朝的日子,不會(huì)受氣的。
圖2 Transformer 編碼器
使用Transformer 進(jìn)行特征提取,增強(qiáng)輸入信息的矩陣表示,步驟如下:
(1)文本經(jīng)過(guò)輸入層的處理得到輸入矩陣維度為S×E,其中,S為最大序列長(zhǎng)度,E為嵌入維度. 本文中S為32,E為768. 假設(shè)一個(gè)文本經(jīng)過(guò)輸入層處理的輸入矩陣為AS×E. 和對(duì)應(yīng)的語(yǔ)句結(jié)構(gòu)特征表示(XA)S×E. 以矩陣A做計(jì)算為例,對(duì)于另一文本的矩陣B和(XB)S×E做相同計(jì)算.
(2)通過(guò)注意力機(jī)制計(jì)算矩陣Q(query)、K(key)、V(value),其中,WQ、WK、WV為權(quán)重矩陣.
(3)得到矩陣Q、K、V之后進(jìn)行self-attention 計(jì)算. 其中dk為K的維數(shù).
(4)通過(guò)多頭注意力,即m個(gè)不同線性變換對(duì)Q、K、V進(jìn)行投影,最后將所有的attention 結(jié)果拼接得到M,傳入一個(gè)線性層得到的多頭注意力的輸出Mattention,其中m為注意力的頭數(shù).
(5)再對(duì)得到的結(jié)果進(jìn)行殘差連接和歸一化之后作為全連接層的輸入.
(6)最后送入全連接層之后再進(jìn)行一次殘差連接和層歸一化,得到最終結(jié)果,輸出矩陣的維度與A一致.
經(jīng)過(guò)Transformer 特征提取后的文本1 的矩陣表示為AS×E、對(duì)應(yīng)的詞性嵌入矩陣為 (XA)S×E,文本2 的矩陣表示為BS×E,對(duì)應(yīng)的詞性嵌入矩為(XB)S×E.
計(jì)算兩個(gè)文本信息的交互注意力矩陣(Sattention)S×S:
對(duì)(Sattention)S×S的每一行進(jìn)行最大池化操作,再融合到A得到交互后的A,此時(shí)A包含了B對(duì)A中所有的詞注意力權(quán)重信息,計(jì)算如下:
對(duì)(Sattention)S×S的每一列進(jìn)行最大池化操作,再融合到B得到交互后的B,此時(shí)B包含了A對(duì)B中所有的詞注意力權(quán)重信息,計(jì)算如下:
計(jì)算兩個(gè)文本對(duì)應(yīng)的詞性嵌入矩陣交互注意力矩陣(Pattention)S×S:
對(duì)(Pattention)S×S的每一行進(jìn)行最大池化操作,再融合到XA得到交互后的XA,此時(shí)XA包含了XB對(duì)XA中所有的詞性注意力權(quán)重信息,計(jì)算如下:
對(duì)(Pattention)S×S的每一行進(jìn)行最大池化操作,再融合到XB得到交互后的XB,此時(shí)XB包含了XA對(duì)XB中所有的詞性注意力權(quán)重信息,計(jì)算如下:
再將結(jié)果進(jìn)行求和與歸一化,經(jīng)過(guò)N次的交互后,使得到的結(jié)果包含更多的交互信息和上下文信息,其中N為T(mén)ransformer 編碼器的數(shù)量.
假設(shè)經(jīng)過(guò)交互后的兩個(gè)文本矩陣表示為A32×768和B32×768,預(yù)測(cè)方法來(lái)自文獻(xiàn)[24,25],分別經(jīng)過(guò)最大池化后得到對(duì)應(yīng)向量為a和b; 對(duì)應(yīng)的交互后的詞性矩陣表示為(XA)32×768和(XB)32×768,分別經(jīng)過(guò)最大池化后得到對(duì)應(yīng)向量為x1和x2; 進(jìn)行向量拼接后送入多層感知機(jī),得到匹配結(jié)果,計(jì)算如下:
其中,a×b表示向量a與向量b按位相乘,注重兩個(gè)文本相同的地方; |a–b|代表向量a與向量b按位相減后的絕對(duì)值,注重兩個(gè)文本相異的地方,H為多層的前饋神經(jīng)網(wǎng)絡(luò),將6 個(gè)向量拼接后送入多層的前饋神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)LogSoftmax 分類(lèi)器得到最終的預(yù)測(cè)結(jié)果,計(jì)算如下:
Quora Question Pair 是美國(guó)知識(shí)問(wèn)答網(wǎng)站Quora發(fā)布的數(shù)據(jù)集,包含了40 萬(wàn)對(duì)的問(wèn)句對(duì),旨在判斷兩句話是否同義. 為了驗(yàn)證模型在少數(shù)據(jù)量和短文本上情況下的有效性,從中抽取了2 萬(wàn)對(duì)短文本句子,相同含義的句子標(biāo)記為1,不同為0,并將其切分為訓(xùn)練集(15 996 對(duì))、驗(yàn)證集(2 002 對(duì))和測(cè)試集(2 002 對(duì)).
實(shí)驗(yàn)采用的評(píng)估準(zhǔn)則是F1 值和準(zhǔn)確率Acc,F1 值由精確度和召回率得到,TP(true positive)為真正例,FP(false positive)為假正例,FN(false negative)為假負(fù)例,TN(true negative)為真負(fù)例,計(jì)算如下:
模型的復(fù)雜程度通常與Transformer 編碼器的層數(shù)設(shè)置有著莫大的關(guān)系,往往層數(shù)越多,訓(xùn)練時(shí)間越長(zhǎng).因此找到一個(gè)層數(shù)少,訓(xùn)練速度快且準(zhǔn)確率高的模型是迫切的. 本文將Transformer 編碼器層數(shù)分別設(shè)置為1、2、3、4、5、6.F1 值與Transformer 編碼器層數(shù)的實(shí)驗(yàn)結(jié)果如圖3 所示,Acc值與Transformer 編碼器層數(shù)的實(shí)驗(yàn)結(jié)果如圖4 所示,最終將編碼器層數(shù)設(shè)置為3.
圖3 F1 值隨編碼器層數(shù)變化圖
圖4 Acc 值隨編碼器層數(shù)變化圖
表示層的性能與注意力頭數(shù)有關(guān). 但數(shù)量過(guò)多可能導(dǎo)致模型過(guò)擬合. 本文將注意力頭的個(gè)數(shù)設(shè)置為4、6、8、12.F1 值與編碼器注意力頭數(shù)的實(shí)驗(yàn)結(jié)果如圖5所示,Acc值與編碼器注意力頭數(shù)的實(shí)驗(yàn)結(jié)果如圖6 所示,最終將編碼器注意力頭數(shù)設(shè)置為8.
圖5 F1 值隨注意力頭數(shù)變化圖
圖6 Acc 值隨注意力頭數(shù)變化圖
訓(xùn)練模型時(shí)需要關(guān)注模型的收斂情況,如果模型收斂了就應(yīng)當(dāng)停止訓(xùn)練,否則模型將會(huì)過(guò)擬合,達(dá)不到期望的效果. IMAF 模型收斂情況如圖7 所示. 訓(xùn)練次數(shù)在20 左右模型就已經(jīng)開(kāi)始收斂,因此將訓(xùn)練次數(shù)設(shè)置為25.
圖7 IMAF 模型收斂情況
IMAF 模型實(shí)驗(yàn)部分主要參數(shù)如表1 所示.
表1 模型參數(shù)設(shè)置表
為了驗(yàn)證IMAF 模型的效果,本文選取多個(gè)經(jīng)典的文本匹配模型進(jìn)行對(duì)比實(shí)驗(yàn).
針對(duì)DSSM 和CDSSM 無(wú)法捕捉較遠(yuǎn)距離的上下文距離的缺點(diǎn),文獻(xiàn)[26]提出了LSTM-DSSM 來(lái)解決該問(wèn)題.
針對(duì)現(xiàn)有模型計(jì)算能力弱和特征提取能力弱的缺點(diǎn),文獻(xiàn)[27]提出了Transformer-DSSM 模型.
實(shí)驗(yàn)引入僅使用詞相似度IMAFword-similary模型,以及利用LSTM 的變種代替DSSM 的深度神經(jīng)網(wǎng)絡(luò)BiLSTM-DSSM、BiGRU-DSSM 和GRU-DSSM 做對(duì)比實(shí)驗(yàn). 模型對(duì)比實(shí)驗(yàn)表如表2 所示.
表2 模型對(duì)比實(shí)驗(yàn)結(jié)果表
從實(shí)驗(yàn)結(jié)果可以看出,本文提出的IMAF 模型的F1 值達(dá)到了83.83%,準(zhǔn)確率和召回率都有著不俗的表現(xiàn),從前5 組實(shí)驗(yàn)驗(yàn)證了Transfomer 編碼器提取特征的能力,由第5、6 組實(shí)驗(yàn)驗(yàn)證了引入詞相似度的有效性; 由第6、7 組實(shí)驗(yàn)可知,IMAF 模型的文本句型結(jié)構(gòu)信息的引入確實(shí)提升了文本匹配的效果,由第1、5、7 組實(shí)驗(yàn)可知,IMAF 模型在文本匹配方面有著不錯(cuò)的效果,主要體現(xiàn)在召回率、F1、準(zhǔn)確率的提升. 其原因在于: 利用詞相似度融合加強(qiáng)文本信息,使之后的操作能更好的衡量詞上下文重要性,利用Transformer 編碼器作為優(yōu)秀的特征提取器,利用文本信息和句型結(jié)構(gòu)信息的多次交互學(xué)習(xí)到更豐富的特征表現(xiàn)形式,對(duì)文本匹配的效果有著不錯(cuò)的表現(xiàn).
針對(duì)現(xiàn)有文本匹配模型存在一些的問(wèn)題,提出了一種融合多角度特征的文本匹配模型IMAF,該模型以孿生網(wǎng)絡(luò)為基礎(chǔ)架構(gòu),融合了詞相似度,對(duì)文本的信息和句型結(jié)構(gòu)信息進(jìn)行多層的交互,使模型學(xué)習(xí)到更加豐富的特征表示,從對(duì)比實(shí)驗(yàn)結(jié)果來(lái)看,本文提出的IMAF 模型在文本匹配上有著不錯(cuò)的效果.