王 明,李 特,黃定江
(華東師范大學(xué) 數(shù)據(jù)科學(xué)與工程學(xué)院,上海 200062)
文本語(yǔ)義匹配是指給定兩個(gè)文本,可能是短語(yǔ)、句子,也可能是段落、文檔,判定其表達(dá)的語(yǔ)義是否相同.文本語(yǔ)義匹配是自然語(yǔ)言處理中一個(gè)關(guān)鍵任務(wù)[1].在自然語(yǔ)言處理領(lǐng)域中,許多落地運(yùn)用的算法基礎(chǔ)都是文本語(yǔ)義相似度匹配.例如社交媒體熱點(diǎn)話題的挖掘,同一時(shí)間社交媒體上會(huì)有大量用戶發(fā)布非結(jié)構(gòu)化文本,依據(jù)不同的話題對(duì)這些海量文本進(jìn)行分類,其本質(zhì)就是對(duì)這些海量文本進(jìn)行語(yǔ)義匹配;在問(wèn)答系統(tǒng)中,通常會(huì)在數(shù)據(jù)庫(kù)中保存大量常被查詢的問(wèn)題及答案,當(dāng)有用戶在系統(tǒng)中提問(wèn)時(shí),可以根據(jù)現(xiàn)有問(wèn)題,將匹配的答案直接輸出給用戶,其本質(zhì)上也是文本語(yǔ)義相似度匹配;同樣,在搜索引擎和文本查重系統(tǒng)中,也都是通過(guò)文本語(yǔ)義匹配去檢索相關(guān)文本.由此可見(jiàn),對(duì)文本語(yǔ)義匹配進(jìn)行深入研究,提高文本語(yǔ)義匹配的準(zhǔn)確率和效率,是十分有必要的.
在文本語(yǔ)義匹配任務(wù)中的一個(gè)難點(diǎn)是文本中每一個(gè)詞包含的信息量不均勻,信息特征可能集中在某些詞中,如文本中出現(xiàn)的停用詞,即“的”“地”等出現(xiàn)頻率較高的詞,并不含有太多的語(yǔ)義信息.當(dāng)需要匹配的問(wèn)句為“文本語(yǔ)義匹配如何學(xué)習(xí)”與“如何學(xué)習(xí)文本語(yǔ)義匹配”時(shí),通過(guò)詞匯的比較很容易匹配.但是文本匹配不是簡(jiǎn)單的文本詞匯的比較.由于語(yǔ)言的博大精深,很可能詞匯完全不相同的文本的語(yǔ)義是相同的,例如,“廁所在哪里?”與“去洗手間怎么走?”.并且文本的一個(gè)微小改變就可以改變文本的語(yǔ)義,例如,“黑上衣配什么褲子”與“黑褲子配什么上衣”只是調(diào)換了詞匯順序,已經(jīng)是含義表達(dá)不相同的文本了.又如,“我喜歡吃蔬菜”與“我不喜歡吃蔬菜”之間僅僅相差一個(gè)字,但語(yǔ)義完全不同.因此,文本語(yǔ)義匹配的任務(wù)要求不只是獲取文本的詞匯信息,而是要從詞匯、句法結(jié)構(gòu)、語(yǔ)義表達(dá)等多維度進(jìn)行文本匹配.
除此之外,提高文本語(yǔ)義匹配的效率也是該任務(wù)需要解決的難點(diǎn)之一.自從OpenAI 提出GPT[2]及Google 提出BERT[3]模型以來(lái),自然語(yǔ)言處理的發(fā)展到了大模型預(yù)訓(xùn)練的階段.通過(guò)海量的文本語(yǔ)料訓(xùn)練出來(lái)的語(yǔ)言模型,在各個(gè)自然語(yǔ)言處理任務(wù)上,都取得了優(yōu)異成績(jī),自然文本語(yǔ)義匹配任務(wù)也不例外.在使用預(yù)訓(xùn)練模型時(shí),通常認(rèn)為將文本輸入到模型中即可獲取含有語(yǔ)義的句向量.事實(shí)上,Devlin 等[4]就指出,通過(guò)預(yù)訓(xùn)練模型得到的文本向量表示并不具有語(yǔ)義特性,即相似的文本的表示向量在映射空間中并不會(huì)更加靠近,所使用的通過(guò)多層全連接網(wǎng)絡(luò)輸出判定結(jié)點(diǎn)的任務(wù),其本質(zhì)并非根據(jù)語(yǔ)義相似度進(jìn)行判定.此外,預(yù)訓(xùn)練模型在進(jìn)行判定時(shí)要求兩個(gè)文本同時(shí)輸入到模型中.這意味著每一次的判定都需要重新提取文本的特征,這將會(huì)付出高昂的時(shí)間成本,在實(shí)際運(yùn)用的場(chǎng)景中是無(wú)法接受的.
綜上所述,文本語(yǔ)義匹配需要平衡匹配的準(zhǔn)確率和效率才能真正投入使用.為解決上述問(wèn)題,本文提出了基于自注意力機(jī)制的孿生網(wǎng)絡(luò),避免重復(fù)計(jì)算文本特征,以此提高效率.此外,通過(guò)提取具有多維度語(yǔ)義信息的文本特征進(jìn)行文本匹配,以提升匹配的準(zhǔn)確率.
文本語(yǔ)義匹配的模型框架,簡(jiǎn)單來(lái)說(shuō),可以分成兩部分: 文本特征表示和文本相似度的度量.
文本相似度的度量方式主要分為兩種: 一種是在無(wú)監(jiān)督情況下,利用各種距離的計(jì)算方式,如余弦距離、歐式距離、杰卡德距離等,計(jì)算文本表示向量之間的距離,以此表示其相似程度;另一種是在有監(jiān)督情況下,通過(guò)模型去預(yù)測(cè)其匹配的標(biāo)簽,例如,神經(jīng)網(wǎng)絡(luò)模型映射成一個(gè)結(jié)點(diǎn)值,根據(jù)結(jié)點(diǎn)值判斷是否匹配.
早期文本特征表示主要提取文本中的詞匯信息,如由Salton[5]提出的向量空間模型,將文本分割成不同的詞匯,使用TF-IDF 權(quán)重分配方式給不同的詞匯分配不同的權(quán)重,從而將文本向量化,通過(guò)向量比較文本的相似度.后來(lái)又有大量工作對(duì)該方法進(jìn)行改進(jìn),以便更準(zhǔn)確地篩選相似文本,其優(yōu)點(diǎn)是易于實(shí)現(xiàn)、效率高,但缺點(diǎn)也很明顯,統(tǒng)計(jì)詞匯無(wú)法真正地表示文本的語(yǔ)義信息.自然語(yǔ)言的詞匯含義豐富,在不同語(yǔ)境下表示的含義可能存在較大差異,故這種方法的準(zhǔn)確率不高.此后,WordNet[6]、《同義詞詞林》等語(yǔ)義詞典被提出,很多模型利用語(yǔ)義詞典獲取文本的語(yǔ)義表示.例如,Kolte 等[7]利用WordNet[6]消除一些含有歧義的詞匯,從而更精準(zhǔn)地表示文本信息.利用語(yǔ)義詞典,在一定程度上獲取了文本語(yǔ)義,提高了匹配的準(zhǔn)確率;但自然語(yǔ)句相對(duì)比較自由,且會(huì)隨著時(shí)代不斷更迭變化,因此,構(gòu)建語(yǔ)義的成本巨大,很難構(gòu)建一個(gè)不同背景下的語(yǔ)義詞典.隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,研究者開(kāi)始利用神經(jīng)網(wǎng)絡(luò)提取文本的語(yǔ)義特征.2013 年,Google 提出了Word2Vec[8]模型,采用Skip-gram 和CBOW 兩種模型,根據(jù)上下文語(yǔ)義信息推出詞匯的分布式表示.在分布式詞向量表示的基礎(chǔ)上,出現(xiàn)更多神經(jīng)網(wǎng)絡(luò)模型進(jìn)一步提取文本的語(yǔ)義特征.這些神經(jīng)網(wǎng)絡(luò)模型大致可以分成兩種框架類型,一種是表征學(xué)習(xí)型,另一種是交互型.表征學(xué)習(xí)型模型通過(guò)CNN (Convolution Neural Network)[9]、LSTM(Long Short Term Memory Networks)[10]、GRU (Gate Recurrent Unit)[11]等深度神經(jīng)網(wǎng)絡(luò),分別提取兩個(gè)文本的語(yǔ)義信息,再進(jìn)行文本語(yǔ)義匹配計(jì)算.例如,SiamGRU[12]利用共享GRU 網(wǎng)絡(luò)提取兩段文本的特征,根據(jù)特征向量判斷其是否匹配,在提取特征向量的過(guò)程中,兩段文本不發(fā)生語(yǔ)義的交互.交互型模型是指兩段文本同時(shí)輸入同一個(gè)模型中,利用注意力機(jī)制進(jìn)行兩段文本的信息交互,并聚合成一個(gè)特征向量,通過(guò)值映射的方式獲取短文本的相似度值,而不需要進(jìn)行文本特征相似度的度量,如ESIM[13]、BiMPM[14].基于表征學(xué)習(xí)的模型相對(duì)簡(jiǎn)單,更容易訓(xùn)練,且提取一次文本特征可以重復(fù)利用,效率更高.但與交互型模型相比,基于表征學(xué)習(xí)的模型缺少交互特性,無(wú)法捕捉到兩者相互影響的信息.交互型模型能更有效地提取交互信息,進(jìn)行特征融合,準(zhǔn)確率更高;但對(duì)于同一文本需要反復(fù)提取不同配對(duì)下的特征,所以效率低下.自GPT[2]和BERT[3]等模型問(wèn)世以來(lái),預(yù)訓(xùn)練模型得以發(fā)展,其基于Transformer[15]框架,利用海量語(yǔ)料進(jìn)行預(yù)訓(xùn)練,能夠更好地提取文本的語(yǔ)義信息.其本質(zhì)也是交互型模型,更能提取隱藏的交互信息,故進(jìn)一步提升了文本匹配的準(zhǔn)確率,對(duì)設(shè)備也提出了更高的要求.
提高文本語(yǔ)義匹配的性能需要更精確地提取文本的語(yǔ)義信息.此外,在構(gòu)建文本匹配模型時(shí),需要權(quán)衡模型的準(zhǔn)確率和匹配效率,從而提高模型應(yīng)用的價(jià)值.
正如Reimers[4]提出的那樣,如果數(shù)據(jù)庫(kù)中有 1000 對(duì)文本需要通過(guò)語(yǔ)義匹配找出語(yǔ)義相似的文本,采用交互型模型需要計(jì)算 1000×999/2 次文本的特征向量,而采用表征學(xué)習(xí)的模型只需要進(jìn)行1 000次計(jì)算,具有更高的效率.在問(wèn)答搜索的場(chǎng)景下對(duì)效率的要求是極高的,因此,本文所構(gòu)建的是基于表征學(xué)習(xí)的短文本匹配模型,總的模型架構(gòu)如圖1 所示.
本文所構(gòu)建的模型采用孿生網(wǎng)絡(luò)框架,即在訓(xùn)練過(guò)程中,需要匹配的兩個(gè)文本分別輸入到兩個(gè)架構(gòu)完全相同的特征編碼器中,其參數(shù)是共享的,本質(zhì)上是同一個(gè)特征編碼器.基于自注意力機(jī)制的預(yù)訓(xùn)練模型在自然語(yǔ)言處理方面取得了極大的成就,如BERT[3]、GPT[2]等,因此,本文采用基于自注意力機(jī)制的中文預(yù)訓(xùn)練模型ERINE[16]作為文本特征編碼器.由圖1 可知,文本特征編碼器通過(guò)處理輸入的文本,可以獲得1 層詞嵌入表示及12 個(gè)不同的特征表示,進(jìn)一步提取特征得到語(yǔ)義特征v.在此基礎(chǔ)上,通過(guò)設(shè)計(jì)基于注意力機(jī)制的特征融合模塊,分別提取文本詞匯、句法、語(yǔ)義等不同維度的特征.最后,設(shè)計(jì)基于遞歸神經(jīng)結(jié)構(gòu)的特征抽取模塊抽取基于淺層詞匯及深層語(yǔ)義文本特征表示,得到融合多維語(yǔ)義特征a.接下來(lái),對(duì)模型的結(jié)構(gòu)進(jìn)行詳細(xì)介紹.
圖1 模型架構(gòu)圖Fig.1 Model architecture
2.1.1 多維特征提取
本文模型采用百度提出的預(yù)訓(xùn)練模型ERINE[16]作為文本特征編碼器.ERINE[16]模型是以Transformer[15]框架為基礎(chǔ),主要有1 層嵌入層和12 層編碼層.嵌入層將字符向量化,是文本字符的數(shù)字化表示.每一個(gè)編碼層主要包括兩個(gè)部分: 自注意力層和Feed Forward Neural Network (FFN)層.
注意力機(jī)制的目的是從一系列相關(guān)背景信息中提取最感興趣也是最相關(guān)的部分.
式 (1)—(3) 中: 注意力機(jī)制的計(jì)算主要分為3 個(gè)部分,首先計(jì)算所求向量x與背景信息M中第i個(gè)背景信息mi的相似度得分si,然后對(duì)所有相似度得分S進(jìn)行歸一化處理,得到,最后對(duì)背景信息M加權(quán)求和,得到特征向量x的重新表示.自注意力機(jī)制是注意力機(jī)制中的一種形式,即特征向量x本身也是背景信息M中的組成部分.
在ERINE[16]的編碼層中使用的就是自注意力機(jī)制.輸入編碼層的文本編碼為P,經(jīng)過(guò)線性層的映射得到K,Q,V,通過(guò)Q與KT矩陣相乘,并經(jīng)過(guò)K中列向量維度大小dk的放縮,得到文本編碼中每一個(gè)字符與所有字符的注意力得分,最后自注意力加權(quán),得到一個(gè)獲取上下語(yǔ)義信息的.
最后使用殘差結(jié)構(gòu)關(guān)聯(lián)到輸入特征,得到文本特征的新的表示.在ERINE[16]模型中共有12 個(gè)這樣的編碼層,所以可以得到12 個(gè)不同的文本特征表示.
Jawahar 等[17]以BERT[3]模型為對(duì)象,深入探索了該類預(yù)訓(xùn)練模型不同編碼層捕捉到的文本語(yǔ)言特征.通過(guò)設(shè)計(jì)3 類任務(wù),即表層任務(wù)、句法任務(wù)、語(yǔ)義任務(wù),最終可以發(fā)現(xiàn),該類預(yù)訓(xùn)練模型在底層網(wǎng)絡(luò)中可以學(xué)習(xí)到文本中短語(yǔ)級(jí)別的結(jié)構(gòu)信息,在中層網(wǎng)絡(luò)中可以學(xué)習(xí)到文本的句法信息,而在高層網(wǎng)絡(luò)中可以學(xué)習(xí)文本的高層語(yǔ)義信息.
在編碼文本特征時(shí),孿生網(wǎng)絡(luò)無(wú)法通過(guò)文本對(duì)的交互而取舍文本的某些語(yǔ)義特征,故需要提取多維度細(xì)粒度的文本特征.基于Jawahar[17]的研究,將12 層的文本特征劃分為3 個(gè)層次,分別提取文本的詞匯特征、句法特征和高層語(yǔ)義特征,并設(shè)計(jì)基于注意力機(jī)制的特征融合模塊,融合層次內(nèi)特征向量.
本文在模型中設(shè)置特征融合模塊,目的是將ERINE[16]模型中每一層提取的特征融合為一個(gè)特征向量,得到整體文本的語(yǔ)義表示,如下所示:
式 (6)—(7) 中:Z表示ERINE[16]所有的特征輸出,Zi表示第i層編碼層輸出的特征.在特征融合模塊中,文本特征Zi通過(guò)一個(gè)仿射變換和一個(gè)非線性映射層分別得到vi,ki.
使用線性映射得到vi,進(jìn)一步提取第i層特征向量Zi的特征信息,通過(guò)非線性 sigmoid函數(shù)得到ki,其每一維度值壓縮到 [0,1] ,表示向量vi相對(duì)應(yīng)維度特征與語(yǔ)義表示的相關(guān)程度,接下來(lái)由vi,ki的內(nèi)積值得到該層文本特征Zi的注意力機(jī)制得分:
最后通過(guò)歸一化后的注意力機(jī)制得分,融合語(yǔ)義特征Zi,得到該層次特征的最終表示.
式 (9) 中:Y={y1,y2,y3}表示從ERINE[16]編碼器中獲取的文本特征經(jīng)過(guò)特征融合模塊得到的融合特征,其中y1融合了前三層特征,提取文本的詞匯特征;y2融合了中間三層特征,提取文本的句法特征;y3融合了后三層特征,提取文本的高層語(yǔ)義特征.
2.1.2 語(yǔ)義特征表示
本文發(fā)現(xiàn)基于Transformer[15]架構(gòu)的模型做語(yǔ)義相似度匹配時(shí),最后一層特征向量對(duì)應(yīng)的是文本中每個(gè)詞的詞向量,即使包含了上下文信息,但通過(guò)詞向量的直接融合得到的文本向量很難表達(dá)完整的語(yǔ)義信息.通過(guò)分析實(shí)驗(yàn)樣本數(shù)據(jù),發(fā)現(xiàn)一旦配對(duì)文本的重合度較高,使用詞向量融合的模型幾乎都會(huì)打出很高的匹配分?jǐn)?shù).例如,樣本中出現(xiàn)的“夢(mèng)見(jiàn)自己生病”與“夢(mèng)見(jiàn)自己生病死了”,“媽媽再愛(ài)我一次”與“媽媽再打我一次”都得到極高的匹配分?jǐn)?shù),第一個(gè)樣本的匹配分?jǐn)?shù)達(dá)到了0.96.從而進(jìn)一步發(fā)現(xiàn),當(dāng)匹配文本只有微小變化時(shí),匹配句子會(huì)有較高得分,但是當(dāng)微小變化發(fā)生的位置不同時(shí),則影響程度差異較大.當(dāng)發(fā)生在邊緣位置時(shí),如第一個(gè)樣本,更容易被忽視;而發(fā)生在中間位置,如第二個(gè)樣本,得分就會(huì)降低較多,只有0.83.因此,本文猜測(cè)位置信息會(huì)較大地影響模型語(yǔ)義信息提取,通過(guò)分析錯(cuò)誤樣例和調(diào)換句子順序構(gòu)建新的測(cè)試樣例.本文發(fā)現(xiàn)位置信息的確在較大程度上影響了打分,容易導(dǎo)致錯(cuò)誤分類.這種情況對(duì)于交互型模型來(lái)說(shuō),甚至是優(yōu)點(diǎn),因?yàn)槟艽偈鼓P完P(guān)注到匹配文本存在差異的地方,更容易得到正確的分類.由于自然語(yǔ)言本身的特性,重點(diǎn)信息出現(xiàn)的位置具有很大的不確定性,因此,對(duì)于表征型模型來(lái)說(shuō),在匹配文本未知的情況下,獲取完整的文本語(yǔ)義信息非常關(guān)鍵.
為了解決這個(gè)問(wèn)題,我們?cè)谀P椭刑岢鎏卣鞒槿∧K,分別利用模型的嵌入層和最后一層CLS(在下游任務(wù)中通常使用CLS 特征向量處理需要文本語(yǔ)義任務(wù))對(duì)應(yīng)的特征向量,自上而下及自下而上地篩選,并提取文本不同層次的特征.
嵌入層是文本字符簡(jiǎn)單的數(shù)字化表示,從中抽取的文本表示給予每個(gè)字符的關(guān)注度是相對(duì)均勻的,不包含偏見(jiàn).因此,本文利用嵌入層特征向量e,不斷向下提取相對(duì)均衡的文本特征,受到LSTM[9]模型的啟發(fā),采用門控信號(hào)來(lái)控制向下過(guò)程中信息的提取.
拼接當(dāng)前層特征及前一步層處理后的特征,再經(jīng)過(guò)多層感知機(jī)得到維度不變的融合特征tj,最后通過(guò)映射嵌入層特征向量e和融合特征分別得到遺忘門控信號(hào)fj和信息提取控制信號(hào)ij.
式 (14) 中:⊙表示元素逐個(gè)相乘.最終通過(guò)門控信號(hào)篩選信息,得到在該層的文本語(yǔ)義表示,通過(guò)這種方式依次提取Y={y1,y2,y3}的信息.
通過(guò)CLS 對(duì)應(yīng)的語(yǔ)義特征c提取不同層信息的方式相同,如下所示:
通過(guò)拼接向量ae、ac得到最終文本句向量a,包含多維語(yǔ)義特征.
2.2.1 適應(yīng)領(lǐng)域的預(yù)訓(xùn)練(Masked Language Modeling,MLM)
自然場(chǎng)景下的問(wèn)答有許多口語(yǔ)化的詞匯,更貼近生活.涉及不同業(yè)務(wù)的問(wèn)題也需要領(lǐng)域知識(shí)才能更好地獲取文本語(yǔ)義.本文模型實(shí)驗(yàn)的數(shù)據(jù)集包含金融領(lǐng)域的相關(guān)數(shù)據(jù)和百度知道收集的問(wèn)答.實(shí)驗(yàn)在這些數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練任務(wù).使用的預(yù)訓(xùn)任務(wù)是MLM,是由Devlin 等[3]在訓(xùn)練BERT 時(shí)提出的.MLM 與Language Modeling (LM)相比,區(qū)別在于MLM 可以獲取上下文信息,改善傳統(tǒng)單向模型的缺點(diǎn).本文實(shí)驗(yàn)預(yù)訓(xùn)練設(shè)置,與BERT 模型一致,字符以15%的概率被隨機(jī)掩蓋,需要模型對(duì)該字符進(jìn)行預(yù)測(cè).通過(guò)預(yù)訓(xùn)練任務(wù),模型可以更好地理解一些特定的詞匯含義,如“借貸”“借款”“開(kāi)通”“投資”等專業(yè)領(lǐng)域詞匯.
2.2.2 句向量的語(yǔ)義約束
孿生網(wǎng)絡(luò)做文本語(yǔ)義匹配的關(guān)鍵點(diǎn)是獲得一個(gè)充分獲取文本語(yǔ)義信息的句向量.受到Grill 等[18]在BYOL 工作中的啟發(fā),理論上,如果兩個(gè)文本是由同一個(gè)文本通過(guò)某種數(shù)據(jù)增廣方式得來(lái),其所獲得的文本特征向量是相近的,那么一個(gè)語(yǔ)義特征就應(yīng)該具備預(yù)測(cè)另一個(gè)語(yǔ)義特征的能力.同樣地,如果兩個(gè)文本表達(dá)的語(yǔ)義相同,一個(gè)文本應(yīng)當(dāng)也具有預(yù)測(cè)另一個(gè)文本語(yǔ)義特征的能力.因此,在本文模型訓(xùn)練的過(guò)程中,增加了獲取更好語(yǔ)義特征的約束.預(yù)測(cè)的方式為
式 (20) 中:a,u表示配對(duì)文本分別提取的語(yǔ)義特征,增加一個(gè)預(yù)測(cè)的損失函數(shù),在得到文本對(duì)的特征向量a,u之后,分別經(jīng)過(guò)一個(gè)線性映射gθ2.使用a去預(yù)測(cè)向量u時(shí),a經(jīng)過(guò)一個(gè)線性映射Pθ1去計(jì)算與u映射之后向量的均方誤差值.在訓(xùn)練過(guò)程中不斷優(yōu)化這個(gè)損失函數(shù),從而獲得具備更好語(yǔ)義特征的句向量.
2.2.3 文本語(yǔ)義匹配判定: 余弦相似度
本文模型的訓(xùn)練過(guò)程中,使用余弦相似度作為判定兩個(gè)文本語(yǔ)義是否匹配的依據(jù).
當(dāng)兩個(gè)文本匹配時(shí),其距離較小,不匹配時(shí)距離較大,這也符合人們的直觀理解.在訓(xùn)練過(guò)程中使用均方誤差函數(shù)去優(yōu)化余弦相似度.
本文實(shí)驗(yàn)所使用的數(shù)據(jù)集為百度千言語(yǔ)義相似度競(jìng)賽中所使用的數(shù)據(jù)集.該數(shù)據(jù)集包含以下3 個(gè)公開(kāi)的數(shù)據(jù)集.
(1) LCQMC (a Large-scale Chinese Question Matching Corpus)[19].該數(shù)據(jù)集是從百度知道社區(qū)不同領(lǐng)域的用戶問(wèn)題中抽取的真實(shí)問(wèn)題數(shù)據(jù)構(gòu)建的,訓(xùn)練集有238 766 個(gè)文本對(duì),驗(yàn)證集有8 802 個(gè)文本對(duì),測(cè)試集有12 500 個(gè)文本對(duì).
(2) BQ Corpus (Bank Question Corpus)[20].這是從線上銀行系統(tǒng)日志里抽取的問(wèn)題對(duì),是銀行金融領(lǐng)域的問(wèn)題匹配數(shù)據(jù).訓(xùn)練集有100 000 個(gè)文本對(duì),驗(yàn)證集有1 000 個(gè)文本對(duì),測(cè)試集有10 000 個(gè)文本對(duì).
(3) PAWS-X (中文).PAWS (Paraphrase Adversaries from Word Scrambling)[21]是谷歌發(fā)布的包含 7 種語(yǔ)言釋義對(duì)的數(shù)據(jù)集,包括PAWS (英語(yǔ)) 與 PAWS-X (多語(yǔ)).數(shù)據(jù)集里的樣本特點(diǎn)是文本對(duì)重合度高,僅具有微小差別.訓(xùn)練集有49 401 個(gè)文本對(duì),驗(yàn)證集有2 000 個(gè)文本對(duì),測(cè)試集有2 000 個(gè)文本對(duì).
本文所有的實(shí)驗(yàn)是在3 個(gè)NVIDIA Tesla V100 GPU 上并行完成,256 GB 內(nèi)存,32 GB 顯存.編程語(yǔ)言為Python,所采用的深度學(xué)習(xí)框架為PyTorch.訓(xùn)練過(guò)程中設(shè)置文本的最長(zhǎng)長(zhǎng)度為100,優(yōu)化函數(shù)為RAdam,學(xué)習(xí)率設(shè)為2.0 × 10–5,batch size 設(shè)為32.余弦相似度判為匹配的閾值為0.7.
模型的評(píng)價(jià)指標(biāo)為準(zhǔn)確率:
式 (22) 中:A表示準(zhǔn)確率,NTP表示將正類預(yù)測(cè)為正類,NTN表示將負(fù)類預(yù)測(cè)為負(fù)類,NFP表示將正類預(yù)測(cè)為負(fù)類,NFN將負(fù)類預(yù)測(cè)為正類.
3.3.1 消融實(shí)驗(yàn)
在上述3 個(gè)數(shù)據(jù)集合并的大數(shù)據(jù)集上對(duì)不同模塊進(jìn)行了測(cè)試,結(jié)果如圖2 所示.
圖2 驗(yàn)證集準(zhǔn)確率Fig.2 Accuracy of validation set
baseline 模型表示使用ERINE[16]預(yù)訓(xùn)練模型,并提取最后一層CLS 對(duì)應(yīng)的特征向量,作為文本的語(yǔ)義特征向量.從圖2 可以看出,使用預(yù)訓(xùn)練模型通常只需要訓(xùn)練5 個(gè)周期左右就可以達(dá)到最佳效果.本文提出的特征融合模塊、特征提取模塊和增加語(yǔ)義預(yù)測(cè)對(duì)提升模型的性能都有不同程度的作用.融合不同維度的特征對(duì)模型性能的提升比較明顯.因此,融合不同維度的特征對(duì)于提升模型語(yǔ)義匹配的性能非常關(guān)鍵.此外,增加語(yǔ)義預(yù)測(cè)的損失函數(shù)在baseline 上并沒(méi)有提升模型的性能.原因可能是此時(shí)的模型很難學(xué)到一個(gè)語(yǔ)義完整的特征,所以即使增加語(yǔ)義的約束也很難提升模型預(yù)測(cè)的準(zhǔn)確率.但一旦增加特征融合模塊和特征抽取模塊,語(yǔ)義預(yù)測(cè)的損失函數(shù)使模型學(xué)習(xí)到更豐富的語(yǔ)義特征,從而增強(qiáng)了模型的預(yù)測(cè)能力.
表1 展示了各個(gè)測(cè)試模塊的最終結(jié)果,可以看到,本文的最終模型取得了較好結(jié)果,準(zhǔn)確率達(dá)到0.852.增加多維特征融合模塊,準(zhǔn)確率提高了7 個(gè)百分點(diǎn),在此基礎(chǔ)上增加特征提取模塊,準(zhǔn)確率又提高了1.6 個(gè)百分點(diǎn).因此,提取多維語(yǔ)義特征,且均衡文本不同位置的注意力程度,能夠有效提升表征學(xué)習(xí)型文本匹配的性能.
表1 不同模塊的實(shí)驗(yàn)結(jié)果Tab.1 Results of models
3.3.2 對(duì)比實(shí)驗(yàn)
對(duì)比了基于多維特征表示的模型與兩個(gè)基于性能相對(duì)較好的中文預(yù)訓(xùn)練模型的交互型模型的性能,結(jié)果如表2 所示.
由表2 可知,本文模型的準(zhǔn)確率已經(jīng)超過(guò)了基于Nezha[22]的交互型模型,足以說(shuō)明該提取文本多維特征的模塊能夠有效地提取文本詞匯、句法和高層語(yǔ)義信息,性能與不斷交互所提取到的特征相當(dāng).但是與基于ERINE[16]的交互模型相比,準(zhǔn)確率仍有一定差距.但本文模型的優(yōu)勢(shì)在于平衡準(zhǔn)確率與檢索效率,為了驗(yàn)證模型檢索效率,進(jìn)一步做了效率的對(duì)比實(shí)驗(yàn),結(jié)果如表3 所示.
表2 準(zhǔn)確率對(duì)比實(shí)驗(yàn)結(jié)果Tab.2 Results of accuracy comparison experiment
表3 效率對(duì)比實(shí)驗(yàn)結(jié)果Tab.3 Results of efficiency comparison experiment
在3.2 節(jié)中提到的實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn),當(dāng)進(jìn)行單文本匹配時(shí),本文模型耗費(fèi)的時(shí)間為133.261 ms,其中余弦相似度的計(jì)算耗費(fèi)了0.594 ms.而基于ERINE[16]的交互型模型所消耗時(shí)間為126.376 ms.但在1 000 個(gè)文本中進(jìn)行檢索時(shí),本文模型仍然只需要做一次特征抽取,就能與數(shù)據(jù)庫(kù)中1 000 個(gè)文本特征進(jìn)行匹配,但交互型模型需要重新計(jì)算1 000 次特征,需126 376 ms,即超過(guò)2 min 才能完成檢索;而本文模型僅需729.776 ms,不足1 s 即可完成檢索.在10 000 個(gè)文本中進(jìn)行檢索時(shí),交互型模型需要超過(guò)20 min 才能完成檢索,這樣的效率遠(yuǎn)遠(yuǎn)達(dá)不到應(yīng)用要求,而本文模型只需7 s 就能完成檢索.因此,本文模型在性能上做到了準(zhǔn)確率與效率的平衡.
在真實(shí)使用的場(chǎng)景下,相較于交互型模型,表征學(xué)習(xí)型模型具有更高的效率,更具有落地應(yīng)用的價(jià)值.在缺乏交互型模型大量密集交互的情況下,獲得文本多維度的特征非常關(guān)鍵.本文通過(guò)特征融合模塊,提取了文本詞匯、句法特征和高層語(yǔ)義等不同維度的特征能夠有效地提升文本匹配的性能.此外,預(yù)訓(xùn)練模型可能存在對(duì)位置比較敏感的情況,但由于自然語(yǔ)言的屬性,句子中的語(yǔ)義重點(diǎn)可能出現(xiàn)在任何位置,所以在沒(méi)有交互的條件下均衡地提取不同位置的語(yǔ)義信息同樣非常重要.本文提出的特征抽取模塊能夠有效地獲取均衡的語(yǔ)義信息,提升文本匹配的準(zhǔn)確率,而且基于表征學(xué)習(xí)的模型框架,提高了檢索效率.因此,本文提出的基于多維特征表示的模型實(shí)現(xiàn)了文本檢索準(zhǔn)確率和效率的良好平衡.
華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年5期