王郝日欽 王曉敏 繆祎晟 許童羽 劉志超 吳華瑞
(1.國(guó)家農(nóng)業(yè)信息化工程技術(shù)研究中心, 北京 100097; 2.內(nèi)蒙古民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 通遼 028043;3.北京市農(nóng)林科學(xué)院信息技術(shù)研究中心, 北京 100097; 4.沈陽(yáng)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 沈陽(yáng) 110866)
隨著互聯(lián)網(wǎng)時(shí)代的快速發(fā)展,在網(wǎng)絡(luò)問(wèn)答社區(qū)[1]提出問(wèn)題、回答問(wèn)題和討論問(wèn)題已經(jīng)成為人們?nèi)粘で髥?wèn)題解答,滿(mǎn)足自身信息需求的重要方法?!爸袊?guó)農(nóng)技推廣信息平臺(tái)”是一個(gè)專(zhuān)業(yè)提供農(nóng)技問(wèn)答、專(zhuān)家指導(dǎo)、在線學(xué)習(xí)、成果速遞、技術(shù)交流等的綜合性服務(wù)平臺(tái),其中農(nóng)技問(wèn)答模塊在幫助農(nóng)戶(hù)找到問(wèn)題的解決方案方面發(fā)揮著重要作用。用戶(hù)每天在問(wèn)答模塊[2]提出的問(wèn)題有千萬(wàn)余條,農(nóng)業(yè)專(zhuān)家會(huì)及時(shí)對(duì)所提問(wèn)題進(jìn)行解答,但是由于中文語(yǔ)義表達(dá)的復(fù)雜性,會(huì)出現(xiàn)很多描述方式不同但語(yǔ)義相同的問(wèn)句,對(duì)這類(lèi)問(wèn)題重復(fù)進(jìn)行解答會(huì)耗費(fèi)大量的人力和物力。這類(lèi)農(nóng)業(yè)文本具有冗余性、稀疏性[3],以及規(guī)范性差等特點(diǎn),導(dǎo)致了文本特征提取不準(zhǔn)確,難以挖掘特征之間的關(guān)系,從文本數(shù)據(jù)集中快速、自動(dòng)、準(zhǔn)確地檢測(cè)出語(yǔ)義相同的問(wèn)句并將相同語(yǔ)義問(wèn)句對(duì)應(yīng)的正確答案返回給用戶(hù)是實(shí)現(xiàn)農(nóng)業(yè)智能問(wèn)答[4]的關(guān)鍵技術(shù)環(huán)節(jié)。傳統(tǒng)的文本語(yǔ)義相似度判斷[5]依靠人工篩查很難高效地完成文本數(shù)據(jù)的處理。目前常用的關(guān)鍵詞查詢(xún)及淺層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型[6]雖然能夠輔助完成相似問(wèn)句判斷等工作,但是由于采用人工特征選擇的方式,不具備從大量的農(nóng)業(yè)文本數(shù)據(jù)中自動(dòng)、準(zhǔn)確地判斷相同語(yǔ)義問(wèn)句的功能。因此利用深度學(xué)習(xí)[7]和自然語(yǔ)言處理技術(shù)[8]實(shí)現(xiàn)農(nóng)業(yè)相同語(yǔ)義問(wèn)句智能檢索是“中國(guó)農(nóng)技推廣信息平臺(tái)”需要解決的一個(gè)重要難題。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,國(guó)內(nèi)外學(xué)者主要使用卷積神經(jīng)網(wǎng)絡(luò)[9]和循環(huán)神經(jīng)網(wǎng)絡(luò)[10]等模型研究文本相似度計(jì)算。文獻(xiàn)[11]提出的DSSM(Deep structured semantic models)模型是最早將孿生網(wǎng)絡(luò)架構(gòu)作為基礎(chǔ)模型用于語(yǔ)義文本相似度計(jì)算的方法,DSSM模型在文本匹配任務(wù)上取得了良好的效果, 但是忽略了文本語(yǔ)序和上下文信息。文獻(xiàn)[12]將卷積神經(jīng)網(wǎng)絡(luò)加入到DSSM模型以保留更多文本語(yǔ)序和上下文信息,在表示層中增加了卷積層和池化層,提升了文本匹配效果,但是由于卷積神經(jīng)網(wǎng)絡(luò)的限制,仍會(huì)丟失一些距離較遠(yuǎn)的文本特征。文獻(xiàn)[13]將長(zhǎng)短期記憶網(wǎng)絡(luò)引入其中,LSTM[14]模型可以很好地解決上述問(wèn)題, 使得文本匹配效果提升。隨著自注意力機(jī)制在圖像和自然語(yǔ)言處理領(lǐng)域的應(yīng)用,文獻(xiàn)[15]將雙向長(zhǎng)短期記憶網(wǎng)絡(luò)和自注意力機(jī)制技術(shù)相結(jié)合用來(lái)提取文本的特征向量,提高了文本匹配精確度。由于基于孿生網(wǎng)絡(luò)的方法在提取文本特征時(shí)是互相獨(dú)立的,而基于交互模型的神經(jīng)網(wǎng)絡(luò)可以解決上述問(wèn)題,它是在編碼層增加2個(gè)網(wǎng)絡(luò)之間的交互作用, 從而提取句子對(duì)之間的特征關(guān)聯(lián)來(lái)提高文本匹配的精確率。文獻(xiàn)[16]提出了基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)模型,首先使用Word2Vec對(duì)文本進(jìn)行向量化的基礎(chǔ)上通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)句子進(jìn)行特征提取, 再分別對(duì)文本對(duì)進(jìn)行卷積和池化操作的同時(shí), 使用注意力機(jī)制對(duì)2個(gè)中間過(guò)程進(jìn)行交互,提升了文本匹配的精確率。以上研究表明,交互模型對(duì)文本相似度匹配具有更好的效果。文獻(xiàn)[17-24]為深度學(xué)習(xí)和自然語(yǔ)言處理技術(shù)在農(nóng)業(yè)文本處理方面提供了可行性依據(jù)和參考。但是在農(nóng)業(yè)問(wèn)句相似度匹配過(guò)程中,仍存在無(wú)法解決多義詞在不同語(yǔ)境下具有不同含義的問(wèn)題和文本特征提取不精確等問(wèn)題。同時(shí)由于農(nóng)業(yè)領(lǐng)域一直缺乏大規(guī)??捎玫臄?shù)據(jù)庫(kù), 因此關(guān)于農(nóng)業(yè)文本相似度計(jì)算的研究還鮮有報(bào)道。
為了實(shí)現(xiàn)農(nóng)業(yè)問(wèn)答社區(qū)提問(wèn)數(shù)據(jù)的快速自動(dòng)重復(fù)語(yǔ)義檢測(cè), 本文首先利用12層的中文BERT[25]預(yù)訓(xùn)練模型獲得文本的上下文特征表示,使用密集連接的雙向GRU網(wǎng)絡(luò)進(jìn)一步提取農(nóng)業(yè)問(wèn)句對(duì)的文本特征,使用連接操作將注意力機(jī)制對(duì)2個(gè)問(wèn)句交互的信息合并到密集連接的BiGRU中用于問(wèn)句相似度匹配,并進(jìn)一步針對(duì)神經(jīng)網(wǎng)絡(luò)的重要參數(shù)進(jìn)行優(yōu)化和改進(jìn), 提出基于BERT-Attention-DenseBiGRU的農(nóng)業(yè)文本相似度匹配模型,以期實(shí)現(xiàn)農(nóng)業(yè)問(wèn)答社區(qū)相同語(yǔ)義問(wèn)句自動(dòng)、精確識(shí)別。
從“中國(guó)農(nóng)技推廣信息平臺(tái)”問(wèn)答社區(qū)后臺(tái)服務(wù)器中導(dǎo)出農(nóng)業(yè)問(wèn)答文本數(shù)據(jù),共提取到涉及8個(gè)類(lèi)別的30 000對(duì)問(wèn)答數(shù)據(jù),針對(duì)8個(gè)類(lèi)別內(nèi)的每條提問(wèn)文本數(shù)據(jù)使用Simhash算法[26]檢索相同語(yǔ)義文檔,并進(jìn)行人工篩選及校對(duì),語(yǔ)義表達(dá)相同的問(wèn)句對(duì)記作標(biāo)簽1,語(yǔ)義表達(dá)不相同的問(wèn)句對(duì)記作標(biāo)簽0,這樣可以盡量避免使神經(jīng)網(wǎng)絡(luò)認(rèn)為2個(gè)句子相同關(guān)鍵詞越多越相似,得到農(nóng)業(yè)文本相似問(wèn)句對(duì)共17 000對(duì),其中病蟲(chóng)草害、動(dòng)物疫病、栽培管理、市場(chǎng)銷(xiāo)售、養(yǎng)殖管理、土壤肥料、儲(chǔ)運(yùn)保鮮、其他8個(gè)類(lèi)別問(wèn)句對(duì)數(shù)量分別為5 890、2 100、3 870、760、1 210、765、217、2 188。訓(xùn)練集樣本示例如表1所示。
表1 訓(xùn)練集樣本示例Tab.1 Training set sample example
本文提出的BERT-Attention-DenseBiGRU模型如圖1所示。該模型主要由文本預(yù)處理層、密集連接BiGRU(DenseBiGRU)、注意力機(jī)制層和交互分類(lèi)層4部分組成。與傳統(tǒng)深度學(xué)習(xí)模型相比,首先本文使用12層的中文BERT預(yù)訓(xùn)練模型得到問(wèn)句特征向量化表示;其次本文提出的模型利用DenseBiGRU和協(xié)同注意力機(jī)制提取文本不同粒度的局部特征;最后將提取的特征向量輸入到交互分類(lèi)層。
圖1 模型架構(gòu)圖Fig.1 Model architecture diagram
首先使用12層的中文BERT預(yù)訓(xùn)練模型作為詞向量轉(zhuǎn)換工具獲得問(wèn)句特征表示,既能獲得農(nóng)業(yè)問(wèn)句文本語(yǔ)法、語(yǔ)義特征,又能解決Word2Vec[27]忽略詞語(yǔ)多義性的問(wèn)題。BERT是一個(gè)預(yù)訓(xùn)練的語(yǔ)言表征模型,不同于傳統(tǒng)的單向語(yǔ)言表征模型,BERT使用雙向的Transformer[28]對(duì)語(yǔ)言模型進(jìn)行訓(xùn)練,可以獲得更深層次的語(yǔ)言表征信息,Transformer模型結(jié)構(gòu)如圖2所示。
圖2 Transformer模型結(jié)構(gòu)Fig.2 Transformer model structure
Transformer模型中包含2個(gè)相同的編碼器,每個(gè)編碼單元都由自注意力機(jī)制和前向傳播網(wǎng)絡(luò)構(gòu)成,并且在前向傳播的過(guò)程中使用了殘差連接,將之前層的輸入和本層的輸出合并之后向后傳遞,最后進(jìn)行求和歸一化操作。解碼單元跟編碼單元相比,增加了1層注意力機(jī)制。BERT作為文本特征的提取器優(yōu)于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),這是因?yàn)锽ERT采用了雙向的Transformer獲取詞向量,可以充分考慮每個(gè)詞的上下文信息,從而提取到更加準(zhǔn)確的詞向量表示,解決了中文一詞多義的現(xiàn)象。
BERT是一種遮蔽語(yǔ)言模型,在獲取詞向量的過(guò)程中隨機(jī)遮蔽一些詞語(yǔ),然后在預(yù)訓(xùn)練過(guò)程中在原始詞匯的位置進(jìn)行預(yù)測(cè)。對(duì)于BERT 模型的輸入,每個(gè)詞語(yǔ)的表示都由詞語(yǔ)向量、段向量和位置向量共同組成, 其中,標(biāo)記[CLS]代表句子的開(kāi)始,標(biāo)記[SEP]代表句子的結(jié)束,如圖3所示。
圖3 BERT輸入示例Fig.3 BERT input example
使用哈爾濱工業(yè)大學(xué)開(kāi)發(fā)的語(yǔ)言技術(shù)平臺(tái)(LTP)工具[29]作為分詞工具。它會(huì)屏蔽組成同一個(gè)單詞的所有漢字,然后訓(xùn)練模型以獲得分段單詞。
使用雙向GRU獲取文本的特征向量。GRU[30]是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),RNN是一種對(duì)序列數(shù)據(jù)建模的神經(jīng)網(wǎng)絡(luò)。它以有序的方式向網(wǎng)絡(luò)傳輸文字存儲(chǔ)之前的單詞信息,可以有效地解決長(zhǎng)期依賴(lài)關(guān)系。然而RNN存在消失梯度問(wèn)題,文獻(xiàn)[14]針對(duì)上述問(wèn)題提出了長(zhǎng)期短期記憶網(wǎng)絡(luò)(LSTM)改進(jìn)了RNN。LSTM通過(guò)遺忘門(mén)和輸入門(mén)持續(xù)更新內(nèi)存內(nèi)容,以便LSTM可以有效地獲得長(zhǎng)期依賴(lài)關(guān)系,解決梯度消失和梯度爆炸問(wèn)題,文獻(xiàn)[24]提出了門(mén)控循環(huán)單元網(wǎng)絡(luò)(GRU),將LSTM的輸入門(mén)和遺忘門(mén)合并形成了更新門(mén),形成了更加流線型的門(mén)結(jié)構(gòu)。
使用BERT預(yù)訓(xùn)練模型獲得的詞向量作為BiGRU層的輸入。BiGRU層包含2部分,同時(shí)讀取向前和向后方向的單詞向量。然后GRU計(jì)算傳遞的向量并輸出固定維度的向量。GRU包括4部分:
(1)重置門(mén)。GRU使用重置門(mén)進(jìn)行選擇在前一刻要放棄哪些信息。
(2)更新門(mén)。GRU通過(guò)更新門(mén)選擇并更新當(dāng)前時(shí)刻的信息,重置門(mén)和更新門(mén)計(jì)算公式為
Rt=σ(WrSt+Urht-1+Br)
(1)
Zt=σ(WzSt+Uzht-1+Bz)
(2)
式中Wr、Ur、Wz、Uz——權(quán)重
Rt——t時(shí)刻的重置門(mén)
ht-1——t-1時(shí)刻的隱藏狀態(tài)
Br、Bz——偏差
σ——Sigmoid函數(shù)
St——輸入的詞向量
Zt——t時(shí)刻的更新門(mén)
(3)GRU計(jì)算候選內(nèi)存內(nèi)容,這是計(jì)算當(dāng)前時(shí)刻輸出的重要步驟,計(jì)算公式為
t=tanh(WSt+URtht-1+B)
(3)
式中W、U——權(quán)重B——偏差
(4)GRU根據(jù)上述結(jié)果計(jì)算輸出,計(jì)算公式為
Ht=(1-Zt)t+ZtHt-1
(4)
式中Ht、Ht-1——t、t-1時(shí)刻的輸出
(5)
(6)
(7)
式中wt——t時(shí)刻前向隱藏狀態(tài)權(quán)重
vt——t時(shí)刻反向隱藏狀態(tài)權(quán)重
bt——t時(shí)刻隱藏層的偏置
ctij——t時(shí)刻第i個(gè)句子第j個(gè)詞的向量
本層是該模型的關(guān)鍵所在,采用了多層BiGRU堆疊在一起的結(jié)構(gòu)并循環(huán)了5次,在每個(gè)密集連接的BiGRU層都將之前層的輸入和本層的輸出合并之后向后傳遞,Hl代表的是BiGRU,l表示的是BiGRU的層數(shù),t表示的是時(shí)刻,其隱藏狀態(tài)值計(jì)算公式為
(8)
Hl——第l層的BiGRU
注意力機(jī)制在許多領(lǐng)域都取得了很好的應(yīng)用效果,是一種有效學(xué)習(xí)上下文向量在特定序列上匹配的技術(shù)。給定2個(gè)問(wèn)句,即在每個(gè)BiGRU層基于協(xié)同注意力機(jī)制的2句話,計(jì)算上下文向量。計(jì)算出的注意信息值代表了兩句話之間的對(duì)齊關(guān)系。本文使用連接操作將注意力機(jī)制對(duì)2個(gè)問(wèn)句交互的信息合并到密集連接的重復(fù)特征中。這種從最下層到最上層的密集連接特征所獲得的串聯(lián)循環(huán)和協(xié)同注意特征,豐富了詞匯的語(yǔ)義特征。與密集連接的BiGRU隱藏特征類(lèi)似,本文將注意力上下文向量與向量hhi連接,保留注意信息作為下一層的輸入。對(duì)句子Q的第i個(gè)位置詞的注意信息σpi計(jì)算為與hhi的加權(quán)和,其加權(quán)值為Softmax的權(quán)值,計(jì)算公式為
ei,j=cos(hpi,hhi)
(9)
(10)
(11)
式中ei,j——2個(gè)問(wèn)句向量的相似度
hpi、hhi——問(wèn)句向量表示
cos(·)——相似度函數(shù)
αi,j——注意力權(quán)重
本文提出的模型使用所有層的輸出作為一個(gè)語(yǔ)義知識(shí)的社區(qū)。然而,該網(wǎng)絡(luò)是一種隨著層的加深而增加輸入特征的結(jié)構(gòu),并且具有大量的參數(shù),尤其是在全連接層。為了解決這個(gè)問(wèn)題,使用了一個(gè)自動(dòng)編碼器作為減少特征數(shù)量同時(shí)能維持原有信息的結(jié)構(gòu)。此外,該部分在試驗(yàn)中作為一個(gè)正則化,從而提高了測(cè)試性能。
為了提取每個(gè)句子的適當(dāng)表示,對(duì)密集連接的BiGRU和注意特征采用逐級(jí)最大池化運(yùn)算。具體來(lái)說(shuō),如果最終BiGRU層的輸出是句子30個(gè)單詞的100維向量,得到了一個(gè)30×100的矩陣,使得合成的向量p或q的維度為100。然后,在交互層中以各種方式對(duì)2個(gè)句子P和Q的表示形式p和q進(jìn)行聚合,最終得到語(yǔ)義句匹配的特征向量v,計(jì)算公式為
v=[p;q;p+q;p-q;|p-q|]
(12)
這里,從元素的角度執(zhí)行操作+、-、|·|來(lái)推斷2個(gè)句子之間的關(guān)系。元素相減p-q是用于單向類(lèi)型任務(wù)的非對(duì)稱(chēng)操作符。提取完特征v之后使用了2個(gè)全連接層,激活函數(shù)為ReLU,后面是一個(gè)完全連接的輸出層。最后應(yīng)用Softmax函數(shù)得到概率分布。
本研究使用Pytorch深度學(xué)習(xí)框架構(gòu)建神經(jīng)網(wǎng)絡(luò)。試驗(yàn)把17 000個(gè)問(wèn)題對(duì)按9∶1的比例劃分為訓(xùn)練集和測(cè)試集,使用隨機(jī)梯度下降算法對(duì)模型權(quán)重進(jìn)行更新,訓(xùn)練集共15 300條,測(cè)試集1 700條,本文以精確率、召回率和F1值作為評(píng)價(jià)指標(biāo)。
采用12層的中文BERT模型對(duì)農(nóng)業(yè)問(wèn)句文本數(shù)據(jù)進(jìn)行向量化處理。同時(shí)與Glove[31]、TF-IDF[32]、Word2Vec向量化模型進(jìn)行對(duì)比分析。對(duì)4種模型訓(xùn)練得到的文本特征通過(guò)一個(gè)全連接層直接輸入到Softmax分類(lèi)器中,由表2可知,在嵌入層使用4種不同詞向量轉(zhuǎn)換工具,BERT預(yù)訓(xùn)練模型取得最高的精確率和F1值,分別達(dá)到85.3%、81.2%,TF-IDF方法的效果最差,這是由于TF-IDF主要考慮詞頻的重要性,忽略了詞與詞的位置信息以及詞與詞之間的相互關(guān)系。而經(jīng)過(guò)BERT預(yù)訓(xùn)練模型方法比Word2Vec精確率和F1值分別提高2.7、3.5個(gè)百分點(diǎn),這是因?yàn)閃ord2Vec雖然考慮了詞的周邊信息,但是卻忽略了詞序問(wèn)題,以及受限于窗口尺寸的限制,不能考慮整個(gè)句子中所有詞的相關(guān)性。而經(jīng)過(guò)BERT模型在農(nóng)業(yè)問(wèn)句語(yǔ)料庫(kù)上預(yù)訓(xùn)練得到文本特征后,實(shí)現(xiàn)了同時(shí)考慮上下文及詞序信息,提高了神經(jīng)網(wǎng)絡(luò)的精確率和F1值,說(shuō)明BERT可以很好地解決詞語(yǔ)在不同語(yǔ)境下具有不同含義的問(wèn)題。因此本文采用BERT預(yù)訓(xùn)練模型,將農(nóng)業(yè)問(wèn)句轉(zhuǎn)換為詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中。
表2 不同嵌入層下模型匹配效果Tab.2 Model matching effect under different embedding layers %
本文設(shè)置模型迭代訓(xùn)練次數(shù)為50,Batch-Size設(shè)置為64,設(shè)置密集連接的BiGRU循環(huán)5次,每個(gè)密集連接的BiGRU有100個(gè)隱藏單元,將全連接層的隱藏單元設(shè)置為1 000。在單詞和字符嵌入層之后,將Dropout設(shè)置為0.5。對(duì)于自動(dòng)編碼器,設(shè)置200個(gè)隱藏單元作為自動(dòng)編碼器的編碼特征,Dropout設(shè)置為0.2。本文使用初始學(xué)習(xí)率為0.001的RMSProp優(yōu)化器。所有權(quán)值都被L2正則化約束,正則化常數(shù)λ=10-6。
使用本文提出的BERT-Attention-DenseBiGRU模型與其他6種文本相似度匹配模型:BiLSTM[33]、Selfattention-BiLSTM[34]、TextCNN[35]、ABCNN[36]、BiGRU、Attention-BiGRU[37]在農(nóng)業(yè)問(wèn)句相似對(duì)文本數(shù)據(jù)集上進(jìn)行對(duì)比試驗(yàn),均使用12層的中文BERT模型對(duì)文本進(jìn)行向量化,表3展示了7種不同深度學(xué)習(xí)模型在精確率、召回率、F1值的比較?;谧宰⒁饬C(jī)制的BiLSTM相比于BiLSTM的精確率和F1值分別提高4.7、4.4個(gè)百分點(diǎn),基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)模型(ABCNN)的精確率和F1值相比于TextCNN模型精確率和F1值提高3.2、3.9個(gè)百分點(diǎn),基于注意力機(jī)制的BiGRU相比于BiGRU模型的精確率和F1值提高了2.6、1.9個(gè)百分點(diǎn)。通過(guò)3組對(duì)比試驗(yàn)可以看出,加入注意力機(jī)制的深度學(xué)習(xí)模型可以明顯提升模型效果,這是由于注意力機(jī)制在農(nóng)業(yè)問(wèn)句關(guān)鍵信息上分配更多的權(quán)重、突出局部的重要信息,有利于精確提取文本特征。本文提出的模型Attention-DenseBiGRU獲得了最高的精確率和F1值,達(dá)到97.2%和97.6%,精確率、召回率、F1值明顯優(yōu)于其他6種深度學(xué)習(xí)模型,相比于Attention-BiGRU的精確率和F1值分別提高5.5、5.3個(gè)百分點(diǎn),原因?yàn)椋孩偻ㄟ^(guò)密集連接的BiGRU可以加強(qiáng)特征的傳遞和提取,減少特征損失。②Attention-BiGRU只是在網(wǎng)絡(luò)后面加入注意力機(jī)制,而本文提出的Attention-DenseBiGRU是在編碼層通過(guò)注意力機(jī)制增加2個(gè)網(wǎng)絡(luò)之間的交互作用, 從而提取句子對(duì)之間的特征關(guān)聯(lián)來(lái)提高文本匹配的精確率。
表3 不同模型在農(nóng)業(yè)問(wèn)句數(shù)據(jù)集上的效果Tab.3 Effects of different models on agricultural question data sets %
表4展示了7種神經(jīng)網(wǎng)絡(luò)模型在BERT文本向量化表示方法和Word2Vec文本向量化表示方法下的農(nóng)業(yè)問(wèn)句相似度匹配精確率。本文提出的BERT文本向量化表示方法在7種神經(jīng)網(wǎng)絡(luò)模型上精確率均高于Word2Vec文本向量化表示方法。Attention-DenseBiGRU模型在BERT文本向量化表示和Word2Vec文本向量化表示方法下均取得了最高的精確率,分別達(dá)到97.2%和94.3%,問(wèn)句相似度匹配效果明顯優(yōu)于其他6種神經(jīng)網(wǎng)絡(luò)模型。從表4可以看出,BERT文本向量化表示方法在每組對(duì)比試驗(yàn)中都提高了精確率,這是由于Word2Vec文本向量化表示方法忽略了不同語(yǔ)境下多義詞的問(wèn)題以及長(zhǎng)距離語(yǔ)義關(guān)聯(lián)信息,而B(niǎo)ERT文本向量化表示方法可以很好地解決上述問(wèn)題,從而提高問(wèn)句相似度匹配的精確率。
表4 不同模型在BERT和Word2Vec文本向量化表示方法下問(wèn)句相似度匹配精確率Tab.4 Question similarity matching precision of different models under BERT and Word2Vec text vectorization representation methods %
由表5可知,與BiLSTM、Selfattention-BiLSTM、TextCNN、ABCNN、BiGRU、 Attention-BiGRU 6種文本相似度計(jì)算模型相比,Attention-DenseBiGRU在病蟲(chóng)草害、動(dòng)物疫病、栽培管理、市場(chǎng)銷(xiāo)售、養(yǎng)殖管理、土壤肥料、儲(chǔ)運(yùn)保鮮、其他共8個(gè)類(lèi)別的農(nóng)業(yè)問(wèn)句對(duì)數(shù)據(jù)集上均具有最高的匹配精確率,對(duì)農(nóng)業(yè)問(wèn)句相似對(duì)匹配的精準(zhǔn)率大于93.7%,整體效果明顯優(yōu)于其他模型。在病蟲(chóng)草害、栽培管理2個(gè)類(lèi)別試驗(yàn)數(shù)據(jù)量充足的數(shù)據(jù)集中,本文模型的精確率達(dá)到99.1%、98.7%,明顯高于其他6種深度學(xué)習(xí)模型。這是因?yàn)樯疃葘W(xué)習(xí)模型在不斷迭代訓(xùn)練的過(guò)程中,數(shù)據(jù)集越大,模型的訓(xùn)練效果越好;在市場(chǎng)營(yíng)銷(xiāo)、土壤肥料、儲(chǔ)運(yùn)保鮮3個(gè)類(lèi)別數(shù)據(jù)量較少的數(shù)據(jù)集中,本文模型的精確率分別達(dá)到97.3%、96.6%、93.7%,明顯高于其他模型,說(shuō)明Attention-DenseBiGRU模型在數(shù)據(jù)量不充足的情況下,仍能夠有效提取短文本的特征進(jìn)行文本相似度計(jì)算,也說(shuō)明了該模型具有很好的魯棒性。
表5 不同模型在農(nóng)業(yè)相似問(wèn)句數(shù)據(jù)集不同類(lèi)別的精確率Tab.5 Precision of different models in different categories of agricultural similar question data sets %
通過(guò)一組試驗(yàn)來(lái)證明本文所提出Attention-DenseBiGRU模型中每個(gè)模塊的有效性。首先將模型中自編碼器(autoencoder)刪除后得到模型2,由表6可以看出,模型2的精確率和F1值與模型1相比下降了2、1.7個(gè)百分點(diǎn),驗(yàn)證了自動(dòng)編碼器的有效性。自動(dòng)編碼器可以降低文本特征維度,有效提高文本相似度匹配效果。然后分別刪除BiGRU之間的密集連接和注意力機(jī)制,得到模型3、4,可以看出模型3、4的精確率和F1值與模型1相比分別下降了2.9、2.9個(gè)百分點(diǎn)和2.1、1.8個(gè)百分點(diǎn),表明BiGRU之間的密集連接比協(xié)同注意力機(jī)制更能提高模型的效果。模型5、6分別是基于注意力機(jī)制的5層普通連接BiGRU模型和不具有注意力機(jī)制的5層普通連接BiGRU模型,表6中可以看出注意力機(jī)制可以提高模型的效果,這是因?yàn)樽⒁饬C(jī)制可以強(qiáng)化關(guān)鍵詞在問(wèn)句相似度匹配中的權(quán)重,提升文本匹配精確率。
表6 不同模型在農(nóng)業(yè)問(wèn)句數(shù)據(jù)集上的效果Tab.6 Effects of different models on agricultural question data sets %
表7展示了模型1~6在不同層數(shù)BiGRU時(shí)農(nóng)業(yè)問(wèn)句數(shù)據(jù)集上的分類(lèi)效果,由表7可知,Attention-DenseBiGRU在5層BiGRU時(shí)精確率達(dá)到最高的97.2%,這是由于通過(guò)層數(shù)的增加和密集連接,可以有效提高文本特征的提取,減少特征丟失,提高文本匹配效率。模型5、6在第2層時(shí)精確率達(dá)到最高,之后開(kāi)始逐漸下降。這可能是因?yàn)闆](méi)有通過(guò)密集連接的BiGRU在提取特征時(shí)會(huì)導(dǎo)致特征丟失。進(jìn)一步驗(yàn)證了通過(guò)深層次的神經(jīng)網(wǎng)絡(luò)可以有效獲取文本特征及表示,有利于提升文本相似度匹配效果。
表7 不同條件下模型在每層網(wǎng)絡(luò)的匹配精確率Tab.7 Matching effect of model in each layer of network under different conditions %
表8展示了基于Attention的4種深度學(xué)習(xí)模型在1 700對(duì)農(nóng)業(yè)問(wèn)句對(duì)測(cè)試集上的反應(yīng)時(shí)間和精確率,ABCNN速度最快,這是由于ABCNN模型主要采用卷積神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ),模型結(jié)構(gòu)簡(jiǎn)單,參數(shù)較少。本文提出的Attention-DenseBiGRU模型7 s可以完成1 700對(duì)農(nóng)業(yè)問(wèn)句相似性精準(zhǔn)判斷,精確率達(dá)到最高的94.7%,滿(mǎn)足了對(duì)農(nóng)業(yè)問(wèn)句對(duì)語(yǔ)義相似度快速、精確匹配的要求,在反應(yīng)時(shí)間接近的情況下,Attention-DenseBiGRU模型在文本語(yǔ)義相似度匹配精確率上取得了最好的效果。
表8 4種深度學(xué)習(xí)模型的反應(yīng)時(shí)間和精確率Tab.8 Response time and precision of four deep learning models
通過(guò)密集連接BiGRU網(wǎng)絡(luò)和注意力機(jī)制得到的特征是通過(guò)最大池化層連接到分類(lèi)層,使每層的特征都影響損失函數(shù),并進(jìn)行深度監(jiān)督學(xué)習(xí)。因此,本文使用注意力權(quán)重和最大池化位置來(lái)解釋分類(lèi)結(jié)果。注意力權(quán)重包含了兩個(gè)句子對(duì)齊的信息,同時(shí)每個(gè)維度上最大池化位數(shù)在分類(lèi)中起著重要作用。圖4展示了本文提出的模型在不同層時(shí)注意力權(quán)重?zé)崃D,例如問(wèn)句1:五味子黑斑病發(fā)病原因是什么?問(wèn)句2:五味子果腐病癥狀是什么?除了黑斑病和果腐病外,問(wèn)句1和問(wèn)句2的大部分詞同時(shí)存在。在第1層的注意力權(quán)重圖中,每句話中相同或相似詞的對(duì)應(yīng)度較高。但是,隨著層次的加深,黑斑病和果腐病的注意力權(quán)重在不斷加深。因?yàn)楹诎卟『凸‰m然都是病蟲(chóng)害名稱(chēng),但是在本質(zhì)上有明顯區(qū)別,在第5層時(shí),問(wèn)句1和問(wèn)句2中除了黑斑病和果腐病,對(duì)應(yīng)的其他詞的注意權(quán)重都變得極小,由于“黑斑病”和“果腐病”2個(gè)詞在語(yǔ)義上區(qū)別明顯,因此模型判斷問(wèn)句對(duì)為語(yǔ)義不相似,即標(biāo)簽為0。
圖4 農(nóng)業(yè)問(wèn)句相似度注意力權(quán)重可視化圖Fig.4 Visualizations of similarity and attention weight of agricultural questions
(1)為了解決中國(guó)農(nóng)業(yè)技術(shù)推廣問(wèn)答社區(qū)無(wú)法自動(dòng)準(zhǔn)確地發(fā)現(xiàn)重復(fù)性語(yǔ)義問(wèn)題的問(wèn)題,構(gòu)建了一個(gè)包含8個(gè)類(lèi)別17 000對(duì)農(nóng)業(yè)問(wèn)句相似對(duì)語(yǔ)料庫(kù)。針對(duì)農(nóng)業(yè)相關(guān)問(wèn)句的特點(diǎn),提出了一種基于BERT的Attention-DenseBiGRU模型。
(2)利用基于協(xié)同注意機(jī)制的密集連接BiGRU模型對(duì)農(nóng)業(yè)問(wèn)答社區(qū)問(wèn)句文本進(jìn)行快速自動(dòng)的重復(fù)語(yǔ)義檢測(cè)。
(3)利用DenseBiGRU網(wǎng)絡(luò)提取農(nóng)業(yè)問(wèn)句文本的特征表達(dá)用于問(wèn)句相似度匹配。在此基礎(chǔ)上,對(duì)其重要結(jié)構(gòu)參數(shù)和訓(xùn)練策略進(jìn)行了優(yōu)化和改進(jìn),構(gòu)建了基于協(xié)同注意力機(jī)制的農(nóng)業(yè)文本相似度匹配算法,實(shí)現(xiàn)了問(wèn)答社區(qū)中相似語(yǔ)義問(wèn)句精確高效識(shí)別。與其他模型相比,該模型在農(nóng)業(yè)問(wèn)句相似對(duì)數(shù)據(jù)集上取得了最高的精確率和F1值,分別達(dá)到97.2%和97.6%。