劉高軍,寇 婕,段建勇,霍衛濤,王 昊
1(北方工業大學 信息學院,北京 100144) 2(北方工業大學 CNONIX國家標準應用與推廣實驗室,北京 100144) 3(新東方教育科技集團 AI研究院,北京 100080)
句子等價語義識別(SSEI:sentence semantic equivalence identification)作為語義匹配任務,是自然語言長期需要探討的問題之一.問答系統的研究一般分為問句理解、問題分類和答案抽取3個部分,而這三者都離不開句子相似度計算.句子語義等價識別任務主要研究兩個句子之間相似性的匹配度,是自然語言處理任務中的基礎任務之一.雖然目前已經可以利用自然語言處理技術構建多種多樣的問答系統,但由于句子相似度計算效果不理想等問題,這些問答系統所體現的配對效果并不是很強.所以判斷兩個句子之間是否具有相似度,成為了目前問答系統中不可避免的基礎任務.隨著自然語言網絡模型的不斷發展,深度學習模型成為目前最為典型發展方向.1993年Bromley等人[1]提出第一個框架結構“siamese architecture”.該框架結構由兩個結構相同且共享權值的子網絡構成,且輸入的兩個句子可以通過RNN/CNN或者LSTM進行編碼,所以這個框架中兩個句子會有相同的詞嵌入信息;2015年Bowman等人[2]提出兩個句子向量單獨匹配的方法,該方法的優點在于可以分享參數加速模型訓練,缺點在于兩個句子缺少明確的交互,所以會導致很多信息的缺失.為了解決這個問題,2016年Wang等人[3]提出一個新的結構“matching-aggregation”,該結構中兩個輸入的句子之間有交互作用,例如上下文句子之間的聯系,通過CNN或者LSTM匹配聚合成一個向量,得到最終的結果.該模型能夠捕捉兩個句子之間更多的交互特征,因此也成為一個重要突破.然而這個匹配—聚合方法仍有一些限制.首先,它只考慮了詞與詞之間的匹配,忽略了顆粒性匹配(比如句子和短語);其次,它只涉及到了P和Q的單項匹配,忽略了Q與P的反向匹配.在此基礎上,2017年Wang等人[4]提出了BIMPM模型,第一次使用多角度匹配提取特征,有效的解決了前面的兩個問題.2018年Gong等人[5]提出了DIIN模型,該模型融合了豐富的外部特征和手工設計的對齊特征,并采用分層的方法提取語義信息,在公開的英文數據集Quora(1)https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs上比2017年Wang[4]的方法效果更好,但是對于2018年Chen等人[6]收集的中文數據集,Wang[4]的效果比Gong[5]的更好,目前在中文數據集上對于SSEI任務效果最好的仍是2018年Chen[6]給出的數據結果81.85%.
在沒有給定語義環境的情況下,中文的句子語義相似度分析還存在很多不足,比如特征提取精度不夠高,制約語義理解.為了解決以上問題,提出了RFEM模型,該模型有如下特點:
1)采用兩種編碼方式,從不同角度對同一個序列進行特征提取,得到句子的時序性和關鍵性信息,豐富特征來源,最大化的在底層收集語義信息;
2)在對齊層,將兩個序列的信息對齊,通過N層注意力機制,迭代計算句子的注意力權重.該模型的變體多頭attention與2017年谷歌提出的原始多頭attention[7]的區別在于,沒有把初始的向量等分再結合,而是更大程度的保留了原始句子的全部特征信息.隨著網絡深度加深,梯度信息回流受阻,每經過N次attention后通過全鏈接神經網絡降維,減少了由于網絡訓練困難所導致信息丟失的問題;
3)使用百度語義相似度接口(2)https://aip.baidubce.com/rpc/2.0/nlp/v2/simnet(API)計算問句相似度,結合原始數據標注類別,進行數據清洗.由于現有的中文數據集,在沒有語義的情況下,數據的特征提取受到阻礙,將訓練集中有效的句子保留,部分冗雜數據清洗,可以明顯的看到我們選擇的基線模型和該論文提出的模型都有了一個很好的提升結果.
目前,解決文本匹配類任務時深度學習方法占據主導地位,文本序列的特征提取和語義對齊是文本匹配的核心任務.早期的研究探索就是單獨把序列編碼成向量,然后根據這兩個向量建立神經網絡分類器,例如循環神經網絡[8],長短期記憶人工神經網絡[9],卷積神經網絡[10]都用作序列編碼器.在這些模型中,一個序列的編碼都獨立于另外一個序列,所以導致最終的分類器應對復雜的任務無法建模.因此,在后續的工作中,采用匹配聚合框架在較低的層次上匹配兩個序列,通過注意力機制去對齊和計算最后的結果.Chen等人[11]提出的ESIM模型使用類似的注意力機制,但使用的是雙向LSTM作為編碼器和聚合器.之后更多有影響力的模型都在不斷的被提出,Tay等人[12]提出的CSRAN模型利用多層之間的密集連接進行多層次注意力的細化.Liu等人[13]提出的SAN模型利用遞歸網絡來組合多個對齊結果,對于簡單特性及領域的特征比單一的對齊進程效果更好.Kim等人[14]提出的DRCN模型堆疊編碼和對齊層,它將所有之前的對齊結果串聯起來,并且必須使用自動編碼器來處理探索性特征.本文還提出了在編碼層用不同的編碼器去提取不同特征的方法,在之后加深的網絡中融合殘差向量結合變體的多頭注意力機制去提取語義特征,最大程度保留語義信息的方法作為SSEI的重要特征信息來源.
深度學習已經在文本匹配任務中發展迅速.大部分有監督的SSEI方法都是基于句子間的對齊和特征提取展開,它支持更復雜的匹配方式.BIMPM使用雙邊多視角交互的方法代替注意力機制進行多角度匹配.針對領域專用語料庫缺乏的問題,Chen等人[6]對特定領域銀行系統需要的句子信息進行收集,形成了大規模的中文SSEI任務語料庫,解決了中文數據集缺乏的問題,使中文SSEI任務得到有效的發展.
在句子語義等價識別任務中,語義特征提取匹配的結果尤為重要,為了加強特征提取在不同維度和層面的效果,本文提出RFEM模型,該模型更集中的對兩句話的特征進行提取,同時能夠深層次地挖掘聚合特征,在預測層之前對兩個序列進行特征提取及對齊匹配處理,在預測層計算語義相似度.該模型的全局展示如圖1所示.
圖1中①表示經過LSTM編碼和CNN編碼的向量拼接后第一次輸入對齊層;②表示第二次輸入對齊層的向量融合了殘差向量進行對齊操作.兩次經過編碼層的圓圈分別表示:黑色圓圈(LSTM編碼向量)、白色圓圈(CNN編碼向量)、灰色圓圈(殘差向量).模型的左右兩部分操作完全一致.下面將對該模型進行詳細介紹.

圖1 RFEM模型全視角
詞向量是中文分詞的分布式表示,目的是將詞映射到一個低維的向量空間.詞向量是通過查找預訓練好的向量矩陣V獲得.采用傳統的glove訓練詞向量來表示該層,沒有使用字向量或其他詞性特征.這層輸出的是兩個詞向量的序列P:[p1,…,pM]和Q:[q1,…,qN].
該層是豐富特征提取的關鍵步驟,目的是通過兩種不同的方法多角度提取特征,采用長短期記憶網絡(LSTM)和卷積神經網絡(CNN)分別對句子序列自身的時序性和每個序列局部關鍵性信息特征進行編碼,通過兩次不同編碼特征的合并,獲得結合關鍵信息和時序性特征的序列信息.
經過詞嵌入(word embedding)之后的向量,向CNN和LSTM分別輸入兩端進行編碼,如公式(1)所示:
(1)
同樣地,我們使用相同的方法去編碼Q,如公式(2)所示:
(2)
其中“;”表示連接,h表示LSTM模型的初始狀態,p和q表示整個句子,pcon和qcon表示合并后的句子特征.
拼接編碼層兩個序列的特征輸入對齊層,將兩個序列的信息整合到表示層中.第1個長度為lp的序列輸入記為p=(p1,p2,…,plp),第2個長度為lq的序列的輸入記為q=(q1,q2,…,qlq),計算兩個句子之間的相似性得分sp,q,如公式(3)所示:
sp,q=f(pi)Tf(qj)
(3)
f函數是單層前饋神經網絡,該層主要是對齊兩個句子的特征,求當前位置與其他序列中相應位置的相似度得分.
每經過對齊層一次即經過N次self-attention,s函數計算如公式(3)所示,self-attention如公式(4)所示,其中l代表序列長度,αi表示softmax函數,vi表示所求attention值本身的向量,公式中的k與v相等.

(4)
輸出向量p′和q′通過另一序列表示進行遞歸計算,結合公式(4)代入公式(5)和公式(6)中,N的取值由實驗效果決定,此處i即為N的取值.
(5)
(6)
最后將每一次遞歸得到的值進行加和得到p和q,如公式(7)和公式(8)所示.
(7)
(8)

(9)
這里的“;”代表連接操作.再次輸入對齊層的向量有3部分:保留局部特征的CNN向量,存儲歷史信息的LSTM向量以及經過塊處理細化的對齊殘差特征向量.
該層使用Wang等人[4]提出的BIMPM模型中的多角度匹配作為模型中的匹配層,使用4種不同的匹配機制對于P和Q的融合信息做一次加深的交互,在這里將4種匹配分別拆開進行實驗,可以發現單一的匹配機制雖然也有一定的作用,但是多角度的匹配(multi-perspective)可以使特征融合的結果得到更大化的體現,該模型將對齊層融合后的兩個序列向量P:[p1,…,pM]和Q:[q1,…,qN],經過多角度匹配方法得到兩個序列匹配的向量結果,每一次結果都是拼接4種匹配方法的總向量.
聚合層主要功能是將P和Q兩個序列聚合為一個固定長度的匹配向量,初始化BiLSTM模型,對兩個匹配序列分別使用 BiLSTM去結合兩個的句子特征,構造定長匹配向量,然后連接 BiLSTM 最后一個時間步(time-step)的向量得到最終的匹配結果.
最后是計算概率分布Pr(y|P,Q),采用兩層前饋神經網絡加上softmax輸出結果來消耗定長匹配向量,得出一個計算結果.
在本文的實驗中,使用了Chen等人[6]公布的中文數據集Bank Question Corpus(后續簡稱BQ),同時使用通過百度接口計算語義相似度的方法,清洗BQ數據集來證明該模型的有效性和實用性.
Bank Question Corpus:BQ Corpus 是在自然語言處理國際頂會EMNLP 2018 發布的中文語義匹配數據集,該數據集針對銀行領域,其目標是判斷兩個問題的語義是否相同.該數據集包括120000問題對,它分為3部分:100000問題對給訓練集,10000問題對給驗證集,以及10000問題對給測試集.在訓練集,驗證集以及測試集中沒有互相重疊的句子.
遷移置信度篩選的BQ Corpus:通過百度語義相似度接口對原始數據BQ進行置信區間計算,將句子進行篩選.篩選后的數據集包括:65411問題對給訓練集,6612問題對給驗證集,6418問題對給測試集.篩選方式見4.4.4節所示.
將本文提出的模型和以下幾個模型對比,在BQ2018的中文數據集上進行實驗,同時挑選最高的基線模型在置信區間篩選后的BQ數據集上再次進行實驗對比,驗證本文模型的有效性和可行性.
1)Text-CNN模型:Kim[15]提出的文本分類模型,是一個典型的卷積神經網絡.
2)BiLSTM模型[16]:作為一個RNN的變體,它從前后兩方面考慮上下文的長、短依賴性,使用相同的結構,用BiLSTM構成CNN進行建模.
3)BIMPM模型[4]:首次提出多角度匹配模型,在自然語言句子匹配任務中表現良好.使用BiLSTM去學習句子特征信息,采用多種方法對兩個句子進行匹配.
4)DIIN模型[5]:是一個分層語義特征提取模型,實現了從交互空間延伸到對句子的高級理解任務.
5)REFM模型:本文提出多方面提取特征的深度神經網絡模型,在訓練過程中不斷彌補深度神經網絡導致的信息丟失問題,最大化保留語義信息特征.
DIIN在英文數據集Quora上有先進的結果,但是在BQ2018中文數據集上BIMPM的模型上效果更好.因此,針對本文的實驗,選取BIMPM作為中文語義匹配的基線.
本研究選取準確率(Accuracy)作為評測指標,選用分類任務中常用F1值作為評測指標.
該模型采用GPU進行訓練,深度學習框架采用Pytorch編碼.中文詞向量采用840B-300維的中文GloVe詞向量[17]進行訓練.對于詞表里沒有的詞,初始化向量為零,不參與訓練.經過模型調優后得到的最佳參數設置如表1所示.實驗采用的優化器是Adam optimizer[18].

表1 實驗參數設置
4.4.1 模型總實驗
通過與不同模型進行對比來驗證本文模型在中文等價語義識別任務的優良性,得到的結果如表2所示.

表2 BQ數據集測試結果
表2展示了RFEM的精確度結果和F1值與其他基線模型在中文BQ數據集上的測試結果.RFEM達到了82.71%的結果,優于目前相關模型在BQ2018中文數據集上的表現.為了和其他模型有一個公平的比較,采用傳統的Glove進行預訓練.
4.4.2 消融實驗
為了更好的檢查模型中每個參數對于整體任務的有效性,如表3所示,通過控制變量進行的消融實驗研究,重要的參數實驗分析如下:

表3 消融實驗
1)剝離了兩種編碼任務進行實驗,結果顯示,單一的從某一個層面進行編碼,對于上下文信息和局部特征提取都是有限的,結合兩種編碼提取特征可以同時補充單一編碼帶來的不足,有效性得以提升;
2)對于同樣的序列分成N份進行多頭注意力機制進行實驗,本文的變體多頭注意力機制效果更好.
3)從隱層和學習率的大小調整進行實驗.結果顯示,學習率太高導致模型呈現過擬合狀態,太低則無法精確學習到語義特征,所以該論文中選擇的參數及模型設置是有效的.
4.4.3 attention層數實驗分析
為了檢查模型在不同層attention結構中的效果體現,實驗對比分析結果如表4所示,當N=1時,模型對于特征提取還局限于詞層面,效果沒有達到最優;在不斷加深的attention運算中,可以將計算更加精確和集中于語義信息.N=10時,注意力機制不會導致數據結果偏差明顯,但是在不斷加深的計算中,提取數據信息已達到極限,存在耗時太久的問題,也可能引起不同程度的匹配錯誤.

表4 在對齊層中注意力遞歸的實驗結果
綜上所述,該模型選擇N=3,通過兩次對齊層,融入殘差特征,使得深度網絡更容易優化,對于特征提取做了極大的優化和改進.同時結合一個案例研究證明該模型序列間的對齊是有效的,從BQ的訓練集中選取一組問句作為演示示例.兩個句子分別是:“為什么未達到審核要求”與“為什么有額度審核不過”.
針對對齊層的attention層數選擇,經過3次注意力機制的序列匹配情況可視化如圖2所示,N=1時,主要在詞與詞的層面對應,兩個序列中的“審核”與“審核”準確匹配;N=2時如圖3所示,“審核”與“額度”,“要求”與“審核”的對應關系加強,說明語義匹配層面在不斷加強,而不是局限于詞本身的意義;N=3時如圖4所示,兩個句子結合整句話的語義與實詞信息,基本可以準確判斷匹配位置關聯的語義信息.

圖2 1層attention 計算的對齊結果

圖3 2層attention 計算的對齊結果

圖4 3層attention 計算的對齊結果
綜上所述,RFEM模型的變體多頭attention最大的優點就是更大化保留了每句話的語義信息,從而提高了兩個序列的語義匹配準確度.
4.4.4 經過置信區間計算的BQ數據集實驗
遷移置信區間是指把原數據進行置信計算,原數據里有一部分句子在沒有上下文語境信息時,很難理解是同一個含義,通過置信區間計算,把這類句子進行篩選.篩選方法及事例如表5所示:將分數低于0.5,label為1以及分數高于0.5,label為0的數據刪掉,相反情況則保留.表格里刪掉的句子在沒有語境的情況下,雖然標注為1,但很難理解是同一個意思,所以特征提取也存在一定的偏差,經過百度公開的API計算相似度對句子進行篩選后,效果有了顯著提升.

表5 置信區間篩選展示
同時,選擇在中文數據集BQ表現最好的BIMPM模型做實驗對比,篩選后的數據集實驗結果如表6所示.

表6 經過置信區間計算后的模型結果
結果證明,使用清洗之后的數據集,在BIMPM和RFEM模型上均有顯著提升,BIMPM模型結果比之前高6.22%,RFEM模型上提高10.49%;說明在有語境的情況下或者句意表達明確的前提下,模型會有一個更好的體現.在清洗后的數據集上,該模型的結果優于基線模型5.1%.綜上所述,RFEM模型對于中文數據集在語義相似度分析的任務上具有靈活性及有效性.
本文針對中文語義等價識別任務展開研究,提出了一種豐富特征提取的RFEM模型.該模型從3方面豐富了特征信息的來源:1)在融合編碼信息后第一次輸入到對齊層時采用CNN提取文本的局部特征;2)采用LSTM的方法彌補CNN提取特征過程中缺少對上下文語義關聯方面的不足;3)在第2次輸入對齊層時,融入了殘差向量,從而解決了深度網絡訓練可能導致的梯度消失、信息丟失等問題.同時,在對齊層中,模型采用的變體多頭注意力機制是遞歸計算self-attention的過程,這一過程在不斷對齊語義信息特征的同時最大化地保留了序列原始語義信息的特征.大量實驗結果表明,以上改進措施不僅豐富了特征提取的來源,還保留了更多的原始語義信息,從而提高問句語義識別相似度的準確率.
研究發現,中文的語義等價識別任務對陌生詞、指代詞的語義特征提取還存在一定的不足.在下一階段的工作中,還需對上述問題進行深入研究.