李奕霖,周艷平
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,青島 266061)
計(jì)算文本語(yǔ)義相似度是在考慮自然語(yǔ)言表達(dá)的可變性和模糊性的同時(shí),確定句子在語(yǔ)義上是否等價(jià),它是自然語(yǔ)言處理領(lǐng)域的一個(gè)挑戰(zhàn)性問(wèn)題,也是智能問(wèn)答[1,2]、信息檢索[3]、文檔聚類(lèi)[4]、機(jī)器翻譯[5]、簡(jiǎn)答評(píng)分[6]等任務(wù)的重要組成部分.
傳統(tǒng)的機(jī)器學(xué)習(xí)模型進(jìn)行相似度計(jì)算時(shí),可以解決在詞匯層面上文本之間的匹配,但忽略了前后單詞之間所具有的語(yǔ)義關(guān)聯(lián)以及文本蘊(yùn)含的語(yǔ)法信息.例如,基于詞袋模型[7]的TF-IDF,把句子作為一個(gè)長(zhǎng)向量,以詞為單位分開(kāi),每一維代表一個(gè)詞,對(duì)應(yīng)的權(quán)重代表這個(gè)詞在文本中的重要程度.但這種方法只能反應(yīng)字面上的重要程度,詞之間各自獨(dú)立,無(wú)法反映序列信息和語(yǔ)義信息; Hofmann[8]提出的PLSA 模型引入了主題層,采用期望最大化算法訓(xùn)練主題,在訓(xùn)練到不同主題的情況下,避免了同義詞和多義詞對(duì)相似度的影響,在一定程度上考慮到了語(yǔ)義問(wèn)題.
基于深度學(xué)習(xí)模型的文本相似度計(jì)算方法進(jìn)一步關(guān)注到了文本語(yǔ)義層.CNN 和RNN 通過(guò)對(duì)文本信息進(jìn)行深層卷積,使模型可以關(guān)注到文本的整體信息,相比傳統(tǒng)機(jī)器學(xué)習(xí)模型對(duì)文本的語(yǔ)義建模能力更強(qiáng).
近年來(lái),Transformer 模型[9]因強(qiáng)大的語(yǔ)義建模能力被廣泛應(yīng)用于NLP 領(lǐng)域,其全局自注意力機(jī)制的運(yùn)用使模型對(duì)文本特征的提取更加準(zhǔn)確.Google 提出的BERT (bidirectional encoder representations from Transformer)模型[10]在只保留encoder 部分的前提下使用雙向Transformer,這種模型對(duì)語(yǔ)境的理解比單向的語(yǔ)言模型更深刻.BERT 模型中每個(gè)隱藏層都對(duì)應(yīng)著不同抽象層次的特征,用來(lái)提取多維度特征,獨(dú)特的相對(duì)位置編碼方法使得建模能力更強(qiáng),可以更準(zhǔn)確地把握文本真實(shí)語(yǔ)義.
2020年,蘇劍林[11]在BRET 模型的基礎(chǔ)上開(kāi)源了以詞為單位的中文 WoBERT 模型,基于詞提取文本句向量,相比字義能更好地對(duì)文本語(yǔ)義進(jìn)行整體表達(dá),但是單純的以詞為單位存在一定的稀疏性,會(huì)存在有未登錄詞出現(xiàn)的現(xiàn)象,對(duì)于未登錄詞能否做到正確的語(yǔ)義理解具有不確定性.Reimers 等基于孿生網(wǎng)絡(luò)(Siamese network)和BERT 模型提出了SBERT 模型[12],沿用了孿生網(wǎng)絡(luò)的結(jié)構(gòu),將不同的英文文本輸入到兩個(gè)BERT 模型中,這兩個(gè)BERT 模型參數(shù)共享,獲取到每個(gè)句子的表征向量,之后再做分類(lèi)目標(biāo)和回歸目標(biāo).SBERT 在文本語(yǔ)義相似度匹配任務(wù)上明顯優(yōu)于BERT模型.雖然SBERT 提高了運(yùn)算效率,但在本質(zhì)上還是基于表示的BERT 方法,即通過(guò)基于字的方法來(lái)提取句子表征向量,而且句子的特征交互只在網(wǎng)絡(luò)頂層進(jìn)行,將其運(yùn)用到語(yǔ)義復(fù)雜度高的中文文本中仍會(huì)出現(xiàn)語(yǔ)義理解不充分的問(wèn)題.
本文針對(duì)中文文本相似度匹配任務(wù),提出了一種基于孿生網(wǎng)絡(luò)和字詞向量結(jié)合的文本相似度匹配方法.本文整體框架采用孿生網(wǎng)絡(luò)模型,對(duì)匹配的兩段文本采用同樣的編碼器和預(yù)訓(xùn)練模型.首先通過(guò)BERT 和WoBERT 模型分別獲取字級(jí)和詞級(jí)的句向量,在字詞向量表示層采用向量并聯(lián)的方式得到融合特征向量,BERT+WoBERT 的句向量表征方法改變了僅基于BERT 的表示方法,通過(guò)聯(lián)合WoBERT 模型基于詞的句向量表征方法,讓句子轉(zhuǎn)換為具有充分語(yǔ)義信息的高維向量; 其次,將得到的特征向量送入特征信息整合層,得到復(fù)雜但富含充分語(yǔ)義信息的文本向量.針對(duì)孿生網(wǎng)絡(luò)整合過(guò)程出現(xiàn)的維度過(guò)高的問(wèn)題,使用PCA 算法壓縮數(shù)據(jù)空間,將高維數(shù)據(jù)的特征映射到低維空間,實(shí)現(xiàn)對(duì)特征向量的降維降噪.通過(guò)這種計(jì)算方法使模型更有效的關(guān)注到文本的深層語(yǔ)義特征,解決了中文數(shù)據(jù)集中出現(xiàn)的字詞模糊性和差異性問(wèn)題,提高了文本相似度匹配的準(zhǔn)確率.
Google 提出的BERT 是一個(gè)預(yù)訓(xùn)練的語(yǔ)言表征模型,將文本中無(wú)法直接計(jì)算的字轉(zhuǎn)變?yōu)榭捎?jì)算的向量形式,這些向量能夠更好地反映出字在句子中的含義.
BERT 模型使用兩個(gè)無(wú)監(jiān)督預(yù)訓(xùn)練任務(wù).
(1)遮蔽語(yǔ)言模型: 隨機(jī)選擇句子15%的詞用于預(yù)測(cè),其中80%的詞用[MASK]替換,10%的被隨機(jī)換掉,剩下的10%保持不變.
(2)下一句預(yù)測(cè): 判斷兩句話是否為前后句關(guān)系,選擇訓(xùn)練集里的句子 A 和 B 時(shí),句子B 有 50% 幾率是 A 的下一句,50%是隨機(jī)選擇的句子.
BERT 模型的編碼層通過(guò)聯(lián)合調(diào)節(jié)所有層中的雙向Transformer 來(lái)訓(xùn)練,使模型能夠充分提取輸入文本的語(yǔ)義信息.圖1 為BERT 模型的結(jié)構(gòu)圖,Trm 為T(mén)ransformer 編碼器,E1,E2,…,En為模型的輸入向量,T1,T2,…,Tn為輸出向量,經(jīng)過(guò)計(jì)算得到句子seq_A的特征向量表示f(seq_A).
圖1 BERT 模型結(jié)構(gòu)圖
BERT 模型只使用了Transformer 架構(gòu)中的encoder模塊,棄用了decoder 模塊.其中,encoder 模塊的多頭自注意力機(jī)制可以從多個(gè)維度準(zhǔn)確提取文本語(yǔ)義特征,其主要運(yùn)算過(guò)程如下: 首先進(jìn)行自注意力的計(jì)算,將輸入向量E1,E2,…,En與給定的權(quán)重矩陣WQ、WK、WV相乘得到向量Q、K、V.Q表示與這個(gè)單詞相匹配單詞的屬性,K表示這個(gè)單詞本身的屬性,V表示這個(gè)單詞所包含的信息本身.
通過(guò)attention 計(jì)算得到自注意力值:
其中,dk為向量K的維度.將Q、K、V通過(guò)線性映射的方式分為n份,對(duì)每一份分別進(jìn)行自注意力的計(jì)算,最后通過(guò)并聯(lián)的方式將n個(gè)自注意力模塊結(jié)合起來(lái),然后通過(guò)左乘權(quán)重矩陣的線性映射方法得到最終輸出,完成整個(gè)多頭注意力模塊的計(jì)算,計(jì)算如下:
其中,
WoBERT 是以詞為單位的中文預(yù)訓(xùn)練模型,讓序列變短,處理速度變快,語(yǔ)義更明確.
WoBERT 模型相對(duì)BERT 模型做出了如下改進(jìn):
(1)加入前分詞操作,進(jìn)行中文分詞.
(2)使用動(dòng)態(tài)的Mask 操作,將訓(xùn)練數(shù)據(jù)重復(fù)10次,使得每輪訓(xùn)練的Mask 的位置不同.
(3)學(xué)習(xí)任務(wù)只有遮蔽語(yǔ)言模型,取消了下一句預(yù)測(cè)任務(wù).
(4)batch size 從256 擴(kuò)大為8k.
(5)刪除了BERT 模型自帶詞匯表的中文冗余部分,比如帶##的中文字詞,將結(jié)巴分詞自帶的詞匯表中詞頻最高的兩萬(wàn)個(gè)加入詞匯表,減少了未登錄詞的出現(xiàn)概率,最終詞匯表規(guī)模為33 586.
孿生網(wǎng)絡(luò)定義兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)分別表征對(duì)應(yīng)的輸入內(nèi)容,分為孿生網(wǎng)絡(luò)和偽孿生網(wǎng)絡(luò).孿生網(wǎng)絡(luò)中的兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)相同且共享參數(shù),當(dāng)兩個(gè)句子來(lái)自同一領(lǐng)域且在結(jié)構(gòu)上有很大的相似度時(shí)可選擇孿生網(wǎng)絡(luò); 偽孿生網(wǎng)絡(luò)可以是不同結(jié)構(gòu)的網(wǎng)絡(luò)或不共享參數(shù)的同結(jié)構(gòu)網(wǎng)絡(luò),計(jì)算兩個(gè)不同領(lǐng)域的句子相似度時(shí)可以選擇偽孿生網(wǎng)絡(luò).本文研究?jī)蓚€(gè)文本的相似度,采用兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)相同且共享參數(shù)的孿生網(wǎng)絡(luò)模型.其模型基礎(chǔ)結(jié)構(gòu)如圖2 所示,孿生網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,訓(xùn)練穩(wěn)定,以?xún)蓚€(gè)樣本input1 和input2 為輸入,其兩個(gè)子網(wǎng)絡(luò)各自接收一個(gè)輸入,子網(wǎng)共享權(quán)重使得訓(xùn)練需要更少的參數(shù),這意味著需要更少的數(shù)據(jù)并且不容易過(guò)擬合.
圖2 孿生網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)
本文提出的基于孿生網(wǎng)絡(luò)和字詞向量結(jié)合的文本相似度匹配模型結(jié)構(gòu)如圖3 所示,主要分為4 層: 輸入層、字詞向量表示層、特征信息整合層、輸出層.
圖3 本文模型結(jié)構(gòu)圖
BERT 模型的輸入是將字向量(tokening embeddings)、文本向量(segment embeddings)和位置向量(position embeddings)拼接得到Eci作為模型輸入.如圖4 所示.
圖4 BERT 模型輸入層
由于以字為單位的建模方法在處理中文數(shù)據(jù)集時(shí)存在語(yǔ)義確定性不高的問(wèn)題,模型往往難以對(duì)文本中重復(fù)出現(xiàn)的字準(zhǔn)確提取真實(shí)語(yǔ)義特征.本文引入WoBERT模型,輸入向量用Ewj表示,此模型與BERT 模型建模形式不同的地方在于tokenize 為了分出中文單詞在BERT模型的tokenize 中加入了一個(gè)前分詞操作.WoBERT模型的tokenize 方法流程如圖5 所示.
圖5 WoBERT 模型的tokenize 流程圖
對(duì)“從青島北站怎么去棧橋”這句話,token embeddings 通過(guò)詞匯表使用WordPiece 嵌入,用Etoken表示;字的位置向量用Eposition表示; 由于模型中只有一個(gè)輸入句子,所以每一個(gè)字所處的某個(gè)句子信息是一樣的Esegment.輸入向量的計(jì)算公式如下:
經(jīng)過(guò)WoBERT 的tokenize 方法處理之后為[‘[CLS]’,‘從’,‘青島’,‘北站’,‘怎么’,‘去’,‘棧橋’,‘[SEP]’].
使用孿生網(wǎng)絡(luò)訓(xùn)練時(shí)的輸入形式為:
[CLS]seq_A[SEP] [CLS]seq_B[SEP]
由于模型運(yùn)行過(guò)程中,內(nèi)存占用率與輸入模型句子長(zhǎng)度l成平方增長(zhǎng),但batch 增加只略微影響到訓(xùn)練時(shí)間,采用孿生網(wǎng)絡(luò)的訓(xùn)練方式可以縮短模型的訓(xùn)練時(shí)間.
采用BERT 和WoBERT 模型分別獲取句子的字向量和詞向量表示,最終得到一個(gè)句子的兩種表達(dá)方式.
具體步驟如下:
(1)通過(guò)BERT 模型在LCQMC 數(shù)據(jù)集上訓(xùn)練得到對(duì)應(yīng)文本x的句向量表達(dá).每個(gè)句子得到一個(gè)二維矩陣chari,行數(shù)為文本中字的個(gè)數(shù)Ci,列數(shù)為768 維.
(2)通過(guò)WoEBRT 模型在LCQMC 數(shù)據(jù)集上訓(xùn)練得到對(duì)應(yīng)文本x的句向量表達(dá).每個(gè)句子得到一個(gè)二維矩陣wordj,行數(shù)為文本中詞的個(gè)數(shù)Wj,列數(shù)為768 維.
(3)對(duì)得到的Ci×768 和Wj×768 維度的文本向量分別進(jìn)行歸一化,對(duì)所有特征向量按行取平均作為最終向量f(x)、g(x),維度均為1×768.
(4)對(duì)得到的基于字詞級(jí)別的文本向量f(x)、g(x)進(jìn)行并聯(lián)操作,得到基于字詞向量結(jié)合的文本向量s(x):
降低向量維數(shù)會(huì)損失原始數(shù)據(jù)中具有可變性的一些特征向量,但也會(huì)帶來(lái)一些積極作用,例如減少計(jì)算時(shí)間、避免過(guò)擬合、去除噪聲等.PCA 算法(principal component analysis)是流行的線性降維算法之一,它將一組相關(guān)變量(P)轉(zhuǎn)換為較小的K(K<P)個(gè)特征子空間,同時(shí)盡可能多地保留原始文本的主要特征.
Su 等人[13]提出,在處理相似度匹配任務(wù)時(shí),對(duì)BERT模型進(jìn)行降維操作可以有效去除數(shù)據(jù)噪聲,提高模型準(zhǔn)確率的同時(shí)降低計(jì)算復(fù)雜度.BERT 模型輸出維度為768,在特征信息整合層,并聯(lián)組合會(huì)使輸出的向量維度達(dá)到上千維,冗余信息多且占用內(nèi)存大.本文用PCA算法對(duì)字詞向量結(jié)合后的輸出向量進(jìn)行降維處理:
(1)對(duì)輸入的特征向量進(jìn)行歸一化.
(2)計(jì)算輸入樣本特征向量的協(xié)方差矩陣.
(3)計(jì)算協(xié)方差矩陣的特征值和特征向量.
(4)選取協(xié)方差矩陣前K列作為降維矩陣.
(5)降維矩陣映射到低維空間完成降維計(jì)算.
本文將融合后的向量S(seq_A)、S(seq_B)維度降為384 維,得到兩個(gè)輸入句子的特征向量u和v.去除文本噪聲的同時(shí)降低模型的整體建模難度,提高了模型的靈活性和準(zhǔn)確率.
本文探索了不同的特征整合方式對(duì)實(shí)驗(yàn)結(jié)果的影響,采用通過(guò)字詞向量結(jié)合并進(jìn)行向量降維后得到向量u、v、兩個(gè)向量差的絕對(duì)值|u-v|和兩個(gè)向量乘積的絕對(duì)值|u×v|做并聯(lián)的整合策略作為最終實(shí)驗(yàn)方案.
Softmax 函數(shù)在進(jìn)行二分類(lèi)任務(wù)時(shí)使用二項(xiàng)分布的計(jì)算方法,相對(duì)于Sigmoid 函數(shù)的單一建模方法,它可以對(duì)兩個(gè)類(lèi)別進(jìn)行建模,得到兩個(gè)相加為1 的概率預(yù)測(cè)結(jié)果.
本文通過(guò)Softmax 函數(shù)對(duì)輸出的文本向量進(jìn)行訓(xùn)練,損失函數(shù)采用交叉熵?fù)p失.最終輸出結(jié)果為0 和1,0 表示進(jìn)行匹配的兩段文本不相似,1 表示相似.
本文使用的數(shù)據(jù)集LCQMC 是一個(gè)大規(guī)模的中文問(wèn)答數(shù)據(jù)集,側(cè)重于語(yǔ)義匹配而不是簡(jiǎn)單的復(fù)述,要求模型能夠深度挖掘文本的高層語(yǔ)義信息.語(yǔ)料庫(kù)由兩個(gè)問(wèn)題和一個(gè)標(biāo)簽組成,標(biāo)簽是0 和1 兩種形式,0 表示不相似,1 表示相似.數(shù)據(jù)集共有260 068 對(duì)句子對(duì),其中訓(xùn)練集238 766,驗(yàn)證集8 802,測(cè)試集12 500.部分?jǐn)?shù)據(jù)集樣例如表1 所示.
表1 部分?jǐn)?shù)據(jù)集樣例
為驗(yàn)證本文方法的效果,采用準(zhǔn)確率、召回率、精確率、F1 值的評(píng)價(jià)指標(biāo)來(lái)驗(yàn)證算法的有效性.
(1)準(zhǔn)確率(accuracy),表示預(yù)測(cè)結(jié)果預(yù)測(cè)正確的比率.
(2)召回率(recall),衡量檢索文本相似度的查全率.
(3)精確率(precision),衡量檢索文本相似度的查準(zhǔn)率.
(4)F1 值,對(duì)精確率和召回率的整體評(píng)價(jià).F1 值越大,說(shuō)明精確率和召回率更均衡.
本文實(shí)驗(yàn)環(huán)境如表2.
表2 實(shí)驗(yàn)環(huán)境配置信息
選用BERT 預(yù)訓(xùn)練模型為BERT-Base-Chinese,最大序列長(zhǎng)度為128,訓(xùn)練批次為8,學(xué)習(xí)率為2E-5,共訓(xùn)練5 輪.選用WoBERT 預(yù)訓(xùn)練模型為蘇劍林等[11]以RoBERTa-wwm-ext 模型為基礎(chǔ)訓(xùn)練得到的WoBERT模型,最大序列長(zhǎng)度為128,訓(xùn)練批次為16,學(xué)習(xí)率為5E-6.
訓(xùn)練Softmax 分類(lèi)器時(shí),選用交叉熵?fù)p失函數(shù),訓(xùn)練批次為100,訓(xùn)練輪數(shù)為1 000,學(xué)習(xí)率為0.01.
在LCQMC 數(shù)據(jù)集上進(jìn)行了如下4 組對(duì)比實(shí)驗(yàn):
(1)將字詞向量結(jié)合生成句向量的文本相似度計(jì)算方法,與單一字向量和單一詞向量生成句向量的方法進(jìn)行了性能比較.
(2)使用PCA 算法對(duì)特征向量降至不同維度對(duì)模型性能的影響.
(3)不同的特征向量融合方式對(duì)模型性能的影響.
(4)將本文模型與已發(fā)表的方法進(jìn)行性能比較.
在文本句向量表達(dá)模塊中,使用如下3 種方法提取文本句向量:
(1)使用BERT 得到基于字級(jí)別的句向量表示.
(2)使用WoBERT 得到基于詞級(jí)別的句向量表示.
(3)使用BERT+WoBERT 得到基于字詞向量結(jié)合的句向量表示.
在分別得到兩個(gè)句向量表示之后,通過(guò)并聯(lián)操作進(jìn)行特征向量融合然后輸入Softmax 分類(lèi)器進(jìn)行實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果如表3 所示.
表3 字詞向量結(jié)合方法(%)
由表3 可見(jiàn),盡管字詞向量結(jié)合的文本句向量提取方法在召回率上稍低,但在準(zhǔn)確率、精確率和F1 值上較BERT 和WoBERT 模型都有所提升,證明了字詞向量結(jié)合方法的語(yǔ)義表征能力.
為了對(duì)BERT 及WoBERT 模型進(jìn)行評(píng)估,繪制了兩種模型在數(shù)據(jù)集上訓(xùn)練過(guò)程中的loss 變化以及驗(yàn)證集的準(zhǔn)確率曲線,如圖6-圖8.從圖中可見(jiàn),BERT 模型相對(duì)WoBERT收斂更快,雖然兩個(gè)模型單次訓(xùn)練時(shí)輸入網(wǎng)絡(luò)的數(shù)據(jù)量不同,但WoBERT 模型最終loss 值更低,且在驗(yàn)證集上的最高準(zhǔn)確率值優(yōu)于BERT 模型.
圖6 LCQMC 數(shù)據(jù)集上BERT 模型訓(xùn)練的loss 曲線
圖7 LCQMC 數(shù)據(jù)集上WoBERT 模型訓(xùn)練的loss 曲線
圖8 LCQMC 數(shù)據(jù)集上驗(yàn)證的 accuracy 值變化圖
孿生網(wǎng)絡(luò)在進(jìn)行相似度計(jì)算時(shí),將兩段文本分為兩個(gè)batch 分別提取句向量,需要對(duì)兩段特征向量進(jìn)行融合.本文對(duì)不同特征融合方法進(jìn)行了對(duì)比實(shí)驗(yàn),經(jīng)過(guò)BERT+WoBERT 字詞向量結(jié)合方法得到的兩個(gè)輸入文本的特征向量u、v,采用如下多種方式進(jìn)行實(shí)驗(yàn):
(1)向量相加:
(2)向量相乘:
(3)向量并聯(lián):
(4)向量并聯(lián)組合1:
(5)向量并聯(lián)組合2:
本文針對(duì)不同向量融合方式進(jìn)行了5 組實(shí)驗(yàn),由表4 可見(jiàn),u+v的融合方式較(u,v)方法準(zhǔn)確率提高了0.28%,而u×v融合方式的實(shí)驗(yàn)效果不佳.當(dāng)采用(u,v,|u-v|,|u×v|)的融合方式時(shí),準(zhǔn)確率和F1 值分別達(dá)到了88.86%和88.42%,有著不錯(cuò)的匹配效果.
表4 不同向量融合方式實(shí)驗(yàn)結(jié)果(%)
為證明采用PCA 算法進(jìn)行適當(dāng)降維操作可以有效去除數(shù)據(jù)噪聲,提高模型的識(shí)別準(zhǔn)確率且加快訓(xùn)練速度,本文以BERT 模型作為baseline 在LCQMC 數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn),指定PCA 的n_components 參數(shù)也就是主成分分別為整數(shù)384、256 和100,求得對(duì)應(yīng)的貢獻(xiàn)率,實(shí)驗(yàn)如下:
由表5 可見(jiàn),將BERT 輸出的768 維向量降至384 維使得輸入Softmax 的向量維度由1 536 降至原來(lái)一半,模型識(shí)別準(zhǔn)確率達(dá)到最高.再降至256 維會(huì)損失一些特征值,導(dǎo)致準(zhǔn)確率降低.說(shuō)明在輸入分類(lèi)器的向量維度較高時(shí),使用PCA 算法降維降噪的有效性.
表5 不同向量維度的對(duì)比實(shí)驗(yàn)(%)
將本文方法在LCQMC 數(shù)據(jù)集上與已發(fā)表的方法在準(zhǔn)確率、精確率、召回率和F1 值上做了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表6 所示.
表6 不同方法的測(cè)試結(jié)果(%)
本文的對(duì)比模型如下.
(1)BiLSTM-char: 以字向量作為輸入的雙向LSTM文本相似度匹配模型.
(2)BiLSTM-word: 以詞向量作為輸入的雙向LSTM文本相似度匹配模型.
(3)BiMPM-char: 以字向量作為輸入,基于 BiLSTM的雙邊多角度文本相似度匹配模型.
(4)BiMPM-word: 以詞向量作為輸入,基于 BiLSTM的雙邊多角度文本相似度匹配模型.
(5)MSEM: 結(jié)合文本編碼模型和近似最近鄰搜索技術(shù)的通用語(yǔ)義檢索框架.
(6)Siamese- LSTM[14]: 基于孿生網(wǎng)絡(luò)和雙層雙向LSTM 的文本相似度匹配模型.
(7)BERT: 以字為單位的預(yù)訓(xùn)練模型,可以完成適用于文本匹配的下游任務(wù).
(8)SBERT[15]: 基于孿生網(wǎng)絡(luò)和BERT 的文本相似度匹配模型.
(9)WoBERT: 以詞為單位的中文預(yù)訓(xùn)練模型,可以完成適用于文本匹配的下游任務(wù).
從表6 的結(jié)果可見(jiàn),BiLSTM 和BiMPM 只使用字或詞單粒度下的特征提取方法,不足以充分捕獲中文文本的特征信息.MSEM 考慮詞和字嵌入到一起作為文本表示,準(zhǔn)確率相對(duì)之前方法有所提高,但沒(méi)有捕捉不同粒度之間的相關(guān)特征,表達(dá)能力仍然有限.BERT模型憑借強(qiáng)大的建模能力相對(duì)之前方法取得了較大提升.SBERT 模型使用了最大池化和全連接層的Siamese-BERT 模型,在LCQMC 數(shù)據(jù)集上的準(zhǔn)確率與BERT模型相當(dāng),驗(yàn)證了基于BERT 的孿生網(wǎng)絡(luò)模型的有效性.WoBERT 模型較BERT 模型在準(zhǔn)確度上有所提高,說(shuō)明以中文文本為基礎(chǔ)的基于詞粒度的預(yù)訓(xùn)練語(yǔ)言模型能更充分的理解中文語(yǔ)義.本文在孿生網(wǎng)絡(luò)的基礎(chǔ)上,基于字粒度和詞粒度融合特征對(duì)文本進(jìn)行建模,解決了只使用BERT 模型或WoBERT 模型提取句子特征向量表達(dá)單一的問(wèn)題,驗(yàn)證了多角度獲取文本特征信息方法的有效性,進(jìn)一步提高模型性能,在LCQMC 數(shù)據(jù)集上通過(guò)與其他模型的對(duì)比實(shí)驗(yàn)證明了本文模型在文本相似度匹配任務(wù)上的有效性.
本文提出了一種基于孿生網(wǎng)絡(luò)和字詞向量結(jié)合的文本相似度匹配方法,采用字詞向量結(jié)合的BERTWoBERT 模型解決了傳統(tǒng)模型難以關(guān)注到中文文本語(yǔ)義語(yǔ)法信息的問(wèn)題,通過(guò)孿生網(wǎng)絡(luò)和PCA 算法探索多種融合方式以及降維降噪對(duì)相似度匹配結(jié)果的影響,然后通過(guò)Softmax 分類(lèi)器進(jìn)行二分類(lèi),最終在LCQMC數(shù)據(jù)集上取得了不錯(cuò)的相似度匹配結(jié)果.
然而本文模型存在參數(shù)量過(guò)大,計(jì)算時(shí)間復(fù)雜度過(guò)高的缺點(diǎn),下一步嘗試將預(yù)訓(xùn)練模型進(jìn)行知識(shí)蒸餾,在不降低準(zhǔn)確率的前提下加快模型速度,解決資源占用率較大的問(wèn)題.