蔡林杰, 劉 新, 劉 龍, 唐 朝
(湘潭大學 計算機學院·網(wǎng)絡空間安全學院, 湘潭 411105)
短文本匹配[1]是自然語言處理(NLP)領域中一項被廣泛使用的核心技術, 它旨在分析和判斷兩個文本之間的語義關系, 廣泛應用于信息檢索[2]、問答系統(tǒng)[3]、復述識別[4]和自然語言推理[5]等任務. 在信息檢索問題中, 用戶想找到和給定查詢相關的文檔. 對于搜索引擎來說, 如何對給定的查詢匹配到合適的文檔是至關重要的. 文本匹配還能被用來在問答系統(tǒng)中為問題匹配到合適的答案, 這對自動客服機器人非常有幫助, 可以大大降低人工成本. 復述識別用于識別兩個自然問句是否語義一致, 而自然語言推理主要關注的問題是能否由前提文本推斷出假設文本. 因此, 對短文本匹配的研究有重大意義.
傳統(tǒng)的文本匹配算法主要解決詞匯層面的匹配問題, 存在著詞義局限、結構局限和知識局限等問題. 隨著科學技術的飛速發(fā)展和深度學習的不斷壯大, 深度神經(jīng)網(wǎng)絡模型在自然語言處理領域取得了巨大進展,使用深度神經(jīng)網(wǎng)絡表示文本、學習文本之間的交互模式使得模型能夠挖掘出文本之間復雜的語義關系, 關于短文本匹配問題的研究已經(jīng)逐漸從傳統(tǒng)的基于統(tǒng)計的方法轉移到深度語義短文本匹配模型. 近年來提出的Word2Vec[6]、GloVe[7]、ELMO[8]、BERT[9]、XLNet[10]等預訓練模型很好地解決了文本向量化表示的問題.
目前大多數(shù)短文本匹配模型在提取文本特征時只考慮文本內部信息, 忽略了兩個文本之間的交互信息,或者僅進行單層次交互, 喪失了文本間豐富的多層次交互信息. 為解決上述問題, 本文提出一種基于Transformer[11]改進的短文本匹配模型ISTM. ISTM模型以DSSM[12]為基本架構, 利用BERT模型對文本進行向量化表示, 解決Word2Vec一詞多義的問題, 使用Transformer編碼器對文本進行特征提取, 獲取文本內部信息, 并考慮兩個文本之間的多層次交互信息, 分別得到兩個文本最終的語義表示, 經(jīng)過最大池化后進行拼接操作再通過全連接神經(jīng)網(wǎng)絡分類輸出兩個文本之間的語義匹配度. 實驗表明, 相比經(jīng)典深度短文本匹配模型, 本文提出的ISTM模型在LCQMC[13]中文數(shù)據(jù)集上表現(xiàn)出了更好的效果, 證明了該模型的有效性和可行性.
DSSM是一個非常出名的文本匹配模型, 它首先被應用于Web搜索應用中匹配查詢(query)和相關文檔(documents). DSSM使用神經(jīng)網(wǎng)絡將查詢和文檔表示為向量, 兩向量之間的距離被視為它們的匹配得分.
Transformer模型于2017年由Google提出, 主要用于自然語言處理領域, 有一個完整的Encoder-Decoder框架, 其主要由注意力(attention)[14-16]機制構成. 其中,每個編碼器均由自注意力機制和前饋神經(jīng)網(wǎng)絡兩個主要子層組成. Transformer旨在處理順序數(shù)據(jù)(例如自然語言), 但不需要按順序處理順序數(shù)據(jù), 與循環(huán)神經(jīng)網(wǎng)絡(RNN)[17]相比, Transformer允許更多的并行化,因此減少了訓練時間, 可以對更大的數(shù)據(jù)集進行訓練.自問世以來, Transformer已成為解決NLP中許多問題的首選模型, 取代了舊的循環(huán)神經(jīng)網(wǎng)絡模型.
2018年Google 提出了BERT模型, BERT模型主要利用了Transformer的雙向編碼器結構, 采用的是最原始的Transformer. 與最近的其他語言表示模型不同,BERT旨在通過聯(lián)合調節(jié)所有層中的上下文來預先訓練深度雙向表示, 能夠解決一詞多義的問題.
現(xiàn)有的短文本匹配方法大多只考慮文本自身的內部信息, 忽略了兩個文本之間的交互信息, 或者僅在提取文本特征之后才進行一次交互, 只能獲取單層次交互信息, 而喪失了多層次交互信息. 為此, 本文提出了基于Transformer改進的短文本匹配模型ISTM, 該模型以DSSM為基本架構, 利用BERT模型實現(xiàn)文本向量化表示, 將Transformer編碼器作為一個特征提取器,同時借助Transformer的多層編碼器使得兩個文本進行多層次交互, 進而獲取多層次交互信息, 最終分別得到兩個文本的語義表示, 其中Transformer編碼器個數(shù)即為文本交互次數(shù). 兩個文本的語義表示進入預測層,分別進行最大池化, 而后得到的拼接向量進入全連接層, 最終通過分類器LogSoftmax輸出匹配結果. ISTM模型架構如圖1所示, 其中N為編碼器數(shù)量.
圖1 ISTM模型架構圖
Transformer 編碼器有兩個子層, 分別是多頭自注意力層和前饋神經(jīng)網(wǎng)絡層, 同時每個子層的周圍都有一個求和與層歸一化[18]步驟, 其結構如圖2所示, 其中N為編碼器數(shù)量.
圖2 Transformer編碼器結構圖
輸入矩陣X的維度為S×E, 其中S為最大序列長度,E為嵌入向量的維數(shù), 本文中S為25,E為768.Transformer 編碼器的計算過程如下:
(1) 自注意力機制通過輸入矩陣X和權重矩陣WQ,WK,WV分別計算查詢矩陣Q, 鍵矩陣K和值矩陣V.
(2) 計算自注意力層的輸出矩陣Z, 其中dk為鍵向量的維數(shù).
(3) 計算多頭自注意力層的輸出矩陣Zmul, 其中H為注意力頭數(shù),Zi表示第(i+1)個注意力頭,Concat函數(shù)表示將所有的H個注意力頭拼接起來,WO為附加的權重矩陣,Zmul的維度與X相同.
(4) 進行求和與層歸一化, 其中LN函數(shù)表示層歸一化.
(5) 將Zmul傳遞到前饋神經(jīng)網(wǎng)絡, 之后再次進行求和與層歸一化.
文本向量化表示是自然語言處理任務中的一個重要過程. Word2Vec是自然語言處理中最早的預訓練模型之一, 過去的工作大多采用Word2Vec實現(xiàn)文本的向量化表示. Word2Vec的優(yōu)點是簡單、速度快、通用性強, 但它受限于語料庫, 產生的詞表示是靜態(tài)的, 無法解決一詞多義的問題, 它的建模較為簡單, 不能體現(xiàn)詞的多層特性, 包括語法、語義等.
本文采用BERT模型來處理文本的向量化表示,BERT模型相比以Word2Vec為代表的詞嵌入方法, 一個比較突出的進步就是更加動態(tài), 能夠解決一詞多義的問題. 此外, BERT基于Transformer, 利用了Transformer的雙向編碼器結構, 能夠體現(xiàn)詞的多層特性. 本文使用BERT-BASE中文模型, 該模型有12個Transformer Encoder, 每個Transformer Encoder有12個注意力頭,隱藏層維數(shù)為768. BERT模型實現(xiàn)文本向量化的過程如圖3所示.
圖3 BERT文本向量化
假設文本1的矩陣表示為AS×E, 文本2的矩陣表示為BS×E, MP函數(shù)表示最大池化操作, 則兩個文本的交互注意力矩陣MS×S的計算如下:
對M的每一行進行最大池化操作, 得到向量rS, 表示B對A中每個字符的注意力權重,rS中的每個元素乘以A中的每一行即可得到交互后的A:
對M的每一列進行最大池化操作, 得到向量cS,表示A對B中每個字符的注意力權重,cS中的每個元素乘以B中的每一行即可得到交互后的B:
如此, 兩個文本進行了一次信息交互. 兩個文本依據(jù)編碼器數(shù)量可進行多層次信息交互, 獲得豐富的上下文信息和交互信息.
假設經(jīng)過編碼組件后兩個文本的矩陣表示分別為AS×E和BS×E, 將A和B進行最大池化后分別得到兩個文本的向量表示v1和v2, 則兩個文本的匹配結果的計算如下:
其中,y′表示兩個文本的匹配結果的預測值,v1?v2表示v1和v2對應元素逐個相乘, 強調兩個文本之間相同之處, 而|v1-v2|強調兩個文本之間不同之處,F函數(shù)表示將這4個向量的拼接向量輸入到全連接神經(jīng)網(wǎng)絡后再經(jīng)過LogSoftmax分類器處理輸出匹配結果的預測值.
LCQMC數(shù)據(jù)集由哈工大(深圳)智能計算研究中心提供, 包含來自多個領域的260 068個中文問句對, 相同詢問意圖的句子對標記為1, 否則為0, 并預先將其切分為了訓練集(238 766對)、驗證集(8802對)和測試集(12 500對), 其中同義對和非同義對的比例接近1:1.
本次實驗設置的主要模型參數(shù)如表1所示.
表1 模型參數(shù)設置表
本文的ISTM模型所應用的短文本匹配屬于二分類范疇, 我們采用F1值和準確率Acc作為評估模型效果的指標, 以F1值為主, 以準確率為輔.F1值由精確率P和召回率R得到, 相關的計算公式如下:
為了驗證本文模型效果, 基于同一數(shù)據(jù)集, 選取多個經(jīng)典的文本匹配模型進行實驗對比.
LSTM-DSSM[19]: 針對DSSM不能夠很好地捕捉上下文信息的問題, Palangi等提出使用LSTM替換DSSM的深度神經(jīng)網(wǎng)絡, 以捕捉到文本的上下文信息.
Transformer-DSSM[20]: 為了更強的并行計算能力和更好的特征提取能力, 趙夢凡提出使用Transformer編碼組件替換DSSM的深度神經(jīng)網(wǎng)絡.
為了增強對比效果, 本文還類似地加入了RNNDSSM、BiRNN-DSSM、GRU-DSSM、BiGRUDSSM和BiLSTM-DSSM作為對比實驗. 各模型的實驗對比結果如表2所示, 其中模型采用的文本向量化方式默認為BERT, 否則為Word2Vec.
表2 模型對比實驗結果
從實驗結果可以看出, 本文提出的ISTM模型的F1值可達到86.8%, 準確率可達到86.3%, 優(yōu)于其他模型. 由實驗6和實驗7可知, BERT的表現(xiàn)比Word2Vec更加優(yōu)秀, 以至于實驗1至實驗5所代表的其他RNN模型的F1值和準確率都大幅領先于實驗7. 由實驗1至實驗8可知, Transformer編碼器相對于RNN擁有更好的特征提取能力. 由實驗8和實驗9可知, ISTM模型的多層次信息交互確實提升了短文本匹配的效果,主要體現(xiàn)在F1值和準確率的提升. ISTM模型取得更好的匹配效果, 其原因在于:
(1)使用BERT模型進行文本向量化, 能夠解決一詞多義的問題;
(2) Transformer編碼器擁有更為優(yōu)秀的特征提取能力;
(3)多層次信息交互使得兩個文本都獲得豐富的交互信息, 這對短文本匹配效果有著較好的提升.
針對短文本匹配問題, 本文提出了一種基于Transformer改進的短文本匹配模型ISTM, 該模型利用BERT實現(xiàn)文本向量化表示, 在DSSM模型架構的基礎上引入Transformer編碼器作為特征提取器, 并增加交互注意力層, 使得模型自身擁有獲取多層次交互信息的能力. 從對比實驗結果來看, 本文提出的ISTM模型能夠有效提升短文本匹配的效果.