劉志超,王曉敏,吳華瑞,王郝日欽,許童羽
(1. 沈陽(yáng)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,沈陽(yáng)市,110866; 2. 國(guó)家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京市,100097;3. 北京農(nóng)業(yè)信息技術(shù)研究中心,北京市,100097)
水稻是現(xiàn)存的主要經(jīng)濟(jì)作物之一,世界上超過(guò)一半的人口的食物來(lái)源;而不斷變化的全球氣候、植物病害的爆發(fā),是水稻生產(chǎn)的主要威脅。在農(nóng)業(yè)技術(shù)人員的短缺、農(nóng)民自身又缺乏一定的基礎(chǔ)知識(shí)的背景下,在農(nóng)業(yè)生產(chǎn)中無(wú)法有效應(yīng)對(duì)此類威脅;因此,通過(guò)人工智能以及互聯(lián)網(wǎng)來(lái)高效地幫助農(nóng)民解決此問(wèn)題,對(duì)于提高水稻產(chǎn)量具有重要作用。在中國(guó)農(nóng)技推廣信息平臺(tái)問(wèn)答社區(qū)中,每天會(huì)新增關(guān)于水稻的提問(wèn)語(yǔ)句上千百條,由于文本數(shù)據(jù)具有高維、稀疏的特點(diǎn),加上漢語(yǔ)本身具有的復(fù)雜性,導(dǎo)致存在很多語(yǔ)義相同但表達(dá)方式不同的問(wèn)句。專家在問(wèn)答社區(qū)中對(duì)相同語(yǔ)義問(wèn)句進(jìn)行重復(fù)解答,會(huì)耗費(fèi)大量的人力和物力,因此如何快速地檢測(cè)出語(yǔ)義相同問(wèn)句就顯得尤為重要。文本匹配是自然語(yǔ)言處理(NLP)中的核心任務(wù),常通過(guò)計(jì)算兩段文本之間的語(yǔ)義相似度來(lái)解決。許多NLP任務(wù)可以抽象為文本匹配問(wèn)題,例如,信息檢索、問(wèn)答系統(tǒng)和文本生成等都與文本匹配密切相關(guān);因此,文本匹配問(wèn)題具有重要的研究意義。兩個(gè)語(yǔ)義相似的句子會(huì)有一些相同或者相似的單詞,這意味著不同文本之間的相似性可以通過(guò)計(jì)算“詞匯共現(xiàn)”來(lái)衡量?;谶@一原理,早期的文本匹配研究方法致力于解決詞匯層面的匹配問(wèn)題,即詞匯水平上的相似性問(wèn)題;該方法主要通過(guò)構(gòu)建人工特征,然后利用機(jī)器學(xué)習(xí)模型對(duì)匹配程度進(jìn)行評(píng)分來(lái)解決這一問(wèn)題。
傳統(tǒng)的文本匹配技術(shù)通過(guò)特征提取算法,如TF-IDF[1]、BM25[2]、Jaccard[3]、Sim Hash[4]等算法,基于K最近鄰(K-nearest neighbor,KNN)[5],貝葉斯模型(Naive bayesian,NB)[6]和支持向量機(jī)(Support vector machine,SVM)[7]等傳統(tǒng)的機(jī)器學(xué)習(xí)模型用來(lái)確定文本之間的相似度。然而,此傳統(tǒng)方法存在一些局限性,如過(guò)于注重詞匯層面,不能解決多義問(wèn)題,不能有效利用上下文信息,提取句子的高級(jí)語(yǔ)義特征;因此,如能有效提取句子的語(yǔ)義,將大大提高文本匹配精確度。近年來(lái),基于深度學(xué)習(xí)的方法成為了國(guó)內(nèi)外研究熱點(diǎn),Yin等[8]提出了一種叫Bi-CNN-MI的架構(gòu),其中Bi-CNN表示兩個(gè)使用Siamese框架的CNN模型;MI表示多粒度的交互特征用于計(jì)算文本的相似度;Huang等[9]用單語(yǔ)義模型(Deep Semantic Similarity Model,DSSM)計(jì)算語(yǔ)句之間的相似度;Melamud等[10]提出一個(gè)神經(jīng)網(wǎng)絡(luò),使用雙向LSTM從大型語(yǔ)料中通過(guò)上下文表示的相似度計(jì)算;Yin等[11]使用神經(jīng)網(wǎng)絡(luò)RNN和CNN卷積神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)句子和單詞的深度分析來(lái)更好地考慮句子的語(yǔ)義和結(jié)構(gòu),從而預(yù)測(cè)句子的相似度;文獻(xiàn)[12-15]為深度學(xué)習(xí)和自然語(yǔ)言處理技術(shù)在農(nóng)業(yè)領(lǐng)域文本處理方面,提供了可行性參考和依據(jù)。由于在農(nóng)業(yè)領(lǐng)域缺乏大規(guī)模可以使用的數(shù)據(jù)集,因此農(nóng)業(yè)文本相似度還鮮有涉及。而農(nóng)技推廣平臺(tái)(NJTG)問(wèn)答社區(qū),面臨農(nóng)業(yè)類詞匯的句法和意義較為復(fù)雜的挑戰(zhàn),水稻文本中含有大量專業(yè)詞語(yǔ),提取難度較大,問(wèn)答文本較短,進(jìn)一步增加了提取上下文信息的難度。
基于上述研究方法和現(xiàn)狀,針對(duì)水稻中分詞錯(cuò)誤和數(shù)據(jù)稀疏等造成的問(wèn)題以及提取水稻問(wèn)句不同粒度的特征難度,本文采用了基于孿生網(wǎng)絡(luò)Siamese的雙向長(zhǎng)短神經(jīng)記憶網(wǎng)絡(luò)BiLSTM-CNN模型水稻問(wèn)句語(yǔ)義層次信息的相似度匹配方法。首先使用Word2Vec訓(xùn)練的字向量作為原始的句子表示,通過(guò)BiLSTM提取的字級(jí)向量組成的水稻問(wèn)句的上下文特征表示,CNN捕獲關(guān)鍵部分信息特征,進(jìn)行卷積和池化操作后使用對(duì)比損失函數(shù),最后直接使用余弦相似度來(lái)衡量?jī)蓚€(gè)水稻問(wèn)句向量之間的相似度。以準(zhǔn)確率、精確率、召回率和F1值為主要判斷標(biāo)準(zhǔn),以宏平均和權(quán)重平均為輔助評(píng)價(jià)指標(biāo),對(duì)神經(jīng)網(wǎng)絡(luò)中的參數(shù)設(shè)置進(jìn)行調(diào)優(yōu),并利用水稻問(wèn)答數(shù)據(jù)集構(gòu)建問(wèn)答評(píng)價(jià)任務(wù)中提供的數(shù)據(jù)集(NQuAD, National Question and Answering Dataset)[16]對(duì)該方法進(jìn)行驗(yàn)證。
本文試驗(yàn)從“中國(guó)農(nóng)技推廣”問(wèn)答社區(qū)數(shù)據(jù)集NQuAD中導(dǎo)出水稻數(shù)據(jù),共涉及水稻病蟲害、草害藥害、栽培管理常見問(wèn)題等方面的2萬(wàn)余對(duì)問(wèn)答數(shù)據(jù)。經(jīng)過(guò)人工篩選,去掉不完整信息、無(wú)效問(wèn)答數(shù)據(jù)等。人工標(biāo)注后,選取7 820個(gè)優(yōu)質(zhì)問(wèn)句對(duì)存入水稻問(wèn)答數(shù)據(jù)庫(kù)作為問(wèn)題集和答案。共劃分6類問(wèn)題,分別是栽培管理、病蟲草害、土壤肥料、市場(chǎng)銷售、品種選擇及其他。栽培管理1 953對(duì)、病蟲草害2 311對(duì)、土壤肥料1 697對(duì)、市場(chǎng)銷售651對(duì)、品種選擇246對(duì)及其他956對(duì)。
用戶在“中國(guó)農(nóng)技推廣”問(wèn)答社區(qū)水稻問(wèn)答模塊發(fā)布提問(wèn),農(nóng)業(yè)專家對(duì)所提問(wèn)題進(jìn)行解答。在此過(guò)程中,語(yǔ)義不精確,語(yǔ)言不流暢等問(wèn)題,導(dǎo)致數(shù)據(jù)中存在字符混亂、英文字母大小不一,不利于文本匹配。通過(guò)Python正則表達(dá)式、字符格式規(guī)范化等操作,清洗和過(guò)濾無(wú)關(guān)信息,刪除非文本數(shù)據(jù),獲得標(biāo)準(zhǔn)化的水稻數(shù)據(jù)問(wèn)答庫(kù)。
針對(duì)選取的7 820個(gè)問(wèn)答對(duì),構(gòu)建輸入三元組(句1,句2,標(biāo)簽);具體規(guī)則如下:在水稻問(wèn)句數(shù)據(jù)中,構(gòu)建相似問(wèn)句對(duì),語(yǔ)義表達(dá)相同,記作標(biāo)簽為1;語(yǔ)義表達(dá)不相同,其標(biāo)簽為0;問(wèn)句處理示例見表1。如表所示,編號(hào)1的問(wèn)句對(duì),問(wèn)句1和問(wèn)句2語(yǔ)義表達(dá)相同,標(biāo)簽為1,為正樣本;編號(hào)3,問(wèn)句1和問(wèn)句2語(yǔ)義表達(dá)不相同,標(biāo)簽是0,為負(fù)樣本。
表1 水稻問(wèn)句數(shù)據(jù)對(duì)示例Tab. 1 example of rice question data pair
本節(jié)詳細(xì)描述了本文提出的混合模型結(jié)構(gòu),本研究采用結(jié)構(gòu)簡(jiǎn)單、訓(xùn)練穩(wěn)定的孿生網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò)框架,整個(gè)模型包含以下5部分,第一,利用預(yù)訓(xùn)練Word2Vec構(gòu)造字符級(jí)的向量,向量嵌入為每一對(duì)問(wèn)句提供的向量表示。第二,使用BiLSTM神經(jīng)網(wǎng)絡(luò)捕獲問(wèn)句的上下文特征和語(yǔ)義關(guān)系,在此充當(dāng)編碼器,從每個(gè)輸入的句子中提取隱藏特征。第三,CNN擅長(zhǎng)捕捉序列的顯著特征。因此,在捕獲問(wèn)句上下文特征的基礎(chǔ)上,利用卷積層進(jìn)一步提取句子的局部語(yǔ)義特征。第四,池化層對(duì)提取后的組合進(jìn)一步篩選,同時(shí)對(duì)得到的特征進(jìn)行降維處理。第五,直接使用cosine距離計(jì)算并輸出余弦相似度的值,以此來(lái)衡量問(wèn)句對(duì)向量的匹配程度。模型結(jié)構(gòu)如圖1所示。
圖1 模型結(jié)構(gòu)示意圖
為了使計(jì)算機(jī)能夠理解輸入的問(wèn)題,需要對(duì)其進(jìn)行向量化處理。由于農(nóng)業(yè)領(lǐng)域的特殊性,獲取到的數(shù)據(jù)存在大量的水稻品種名稱、病蟲害類型名稱、種植技術(shù)名稱、藥劑名等專業(yè)術(shù)語(yǔ),需把他們添加到農(nóng)業(yè)領(lǐng)域詞典,使得到的農(nóng)業(yè)專業(yè)術(shù)語(yǔ)如“水稻胡麻葉斑病”“稻縱卷葉螟”“乳苗移栽”“磷酸二氫鉀”等可以被正確化分。
近年來(lái),農(nóng)業(yè)領(lǐng)域?qū)I(yè)詞匯涉獵廣泛,水稻問(wèn)句對(duì)樣本較少,并且存在OOV(out-of-vocabulary)問(wèn)題。在不同的問(wèn)句中,同一專業(yè)詞或短語(yǔ)可能會(huì)存在不同分詞結(jié)果,導(dǎo)致訓(xùn)練的詞向量組合語(yǔ)義信息不同。為了避免分詞對(duì)模型的影響,本文采用了字級(jí)別向量的表示方法。在自然語(yǔ)言處理中,一般將文本數(shù)據(jù)轉(zhuǎn)換成矩陣或向量進(jìn)行表示。本研究使用預(yù)訓(xùn)練的Word2Vec構(gòu)造嵌入層,由預(yù)訓(xùn)練得到的字向量,保留了句子最原始的信息;相對(duì)于詞向量表示,包含的語(yǔ)義信息更加豐富;此文本向量作為下一步BILSTM模型的輸入。本文采用CBOW模型,其根據(jù)上下文預(yù)測(cè)中心詞,并設(shè)置單詞嵌入大小為100,上下文窗口為5。水稻問(wèn)句示例如圖2所示。
圖2 CBOW模型水稻問(wèn)句可視化
遞歸神經(jīng)網(wǎng)絡(luò)(RNNs)可以獲取一系列輸入并產(chǎn)生一系列輸出,輸出不僅受到像常規(guī)神經(jīng)網(wǎng)絡(luò)一樣施加在輸入上的權(quán)重的影響,還受到基于輸入和輸出的表示學(xué)習(xí)信息的隱藏狀態(tài)向量的影響。在本文用長(zhǎng)短期記憶(LSTM)作為雙向循環(huán)架構(gòu)的循環(huán)單元,解決了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)中出現(xiàn)的梯度消失/爆炸問(wèn)題[17];此外,Graves等[18]使用雙向長(zhǎng)短記憶網(wǎng)絡(luò)BiLSTM顯著提高了分類精度LSTM架構(gòu)如圖3所示,其中c(t)、h(t)和x(t)分別是記憶狀態(tài)單元、t時(shí)刻的LSTM輸出和t時(shí)刻的輸入,符號(hào)Θ表示逐元素(Hadamard)乘法。tanh是雙曲正切函數(shù),σ是對(duì)數(shù)sigmoid函數(shù)。LSTM組件值計(jì)算如下。
i(t)=σ(Wih(t-1)+Uix(t)+bi)
(1)
f(t)=σ(Wfh(t-1)+Ufx(t)+bf)
(2)
a(t)=tanh(Wch(t-1)+Ucx(t)+bc)
(3)
c(t)=c(t-1)Θft+a(t)Θi(t)
(4)
o(t)=σ(Woh(t-1)+Uox(t)+bo)
(5)
h(t)=tanh(c(t)Θo(t))
(6)
式中:i(t)——輸入門;
f(t)——忘記門;
o(t)——輸出門;
a(t)——輸入更新值;
bf、bi、bc、bo——每個(gè)門的偏差;
W——前饋權(quán)值;
U——循環(huán)權(quán)值。
該模型有兩個(gè)激活單元:輸入—更新激活和輸出激活,其中tanh函數(shù)是激活函數(shù)。
BiLSTM在三個(gè)時(shí)間步(前中后)展開的一般結(jié)構(gòu)如圖4所示。雙向結(jié)構(gòu)結(jié)合了循環(huán)系統(tǒng)的時(shí)間動(dòng)態(tài)作為前饋和后向訓(xùn)練的模型。BiLSTM模型結(jié)構(gòu)訓(xùn)練過(guò)程中,Bi-LSTM計(jì)算兩個(gè)序列:前向隱藏序列和后向隱藏序列到通過(guò)迭代從時(shí)間t=0到t=T上升的前向?qū)雍蛷臅r(shí)間t=T到t=1下降的隱藏后向?qū)觼?lái)產(chǎn)生輸出序列。
圖3 LSTM記憶單元結(jié)構(gòu)
圖4 雙向LSTM模型結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是由Le等[19]在1989年首次提出的,目的是利用時(shí)間序列和圖像等網(wǎng)格結(jié)構(gòu)數(shù)據(jù)集的權(quán)重共享,通過(guò)從原始數(shù)據(jù)或少量預(yù)處理數(shù)據(jù)中提取復(fù)雜的特征表示來(lái)學(xué)習(xí)。卷積層可以提取不同大小的特征和局部語(yǔ)義特征,神經(jīng)卷積網(wǎng)絡(luò)在各種應(yīng)用中表現(xiàn)出顯著的性能改進(jìn)。文本將BiLSTM提取到的文本特征作為卷積神經(jīng)的輸出。
Hs(t)=[h(t),h(t+1),…,h(t+s-1)]
(7)
(8)
式中:w——過(guò)濾器權(quán)重矩陣;
s——總時(shí)間步數(shù)。
模型通過(guò)卷積層提取特征之后,使用最大池化法選取卷積提取到的n-gram特征、進(jìn)行壓縮及降維,對(duì)卷積后的所有局部語(yǔ)義特征組合進(jìn)行進(jìn)一步篩選。最大池化技術(shù)方程如式(9)所示。
(9)
式中:rj——元素固定大小的向量表示;
l——輸入長(zhǎng)度。
經(jīng)過(guò)池化操作后,得到兩個(gè)問(wèn)句的抽象語(yǔ)義表示向量。在計(jì)算句子語(yǔ)義相似度的時(shí)候,都是以句子對(duì)的形式輸入到網(wǎng)絡(luò)中,定義了兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)分別來(lái)表征句子對(duì)中的句子,可通過(guò)曼哈頓距離,歐式距離,余弦相似度等來(lái)度量?jī)蓚€(gè)句子之間的空間相似度。
本文使用Contrastive loss Function(對(duì)比損失函數(shù)),可以有效地處理孿生神經(jīng)網(wǎng)絡(luò)中的水稻問(wèn)句對(duì)的關(guān)系。相似的樣本,在經(jīng)過(guò)降維后,在特征空間中,仍舊相似;而原本不相似的樣本,依舊不相似。
DW(X1,X2)=‖X1-X2)‖2
(10)
(11)
式中:X1、X2——經(jīng)過(guò)處理的文本向量;
Y——標(biāo)簽,Y=1代表兩個(gè)問(wèn)句相似,Y=0則代表不相似。
DW——神經(jīng)網(wǎng)絡(luò)要學(xué)習(xí)的參數(shù)化距離函數(shù);
m——設(shè)定的閾值。
將7 820對(duì)水稻問(wèn)句對(duì)數(shù)據(jù)作為試驗(yàn)數(shù)據(jù),數(shù)據(jù)集劃分是按照7∶2∶1的比例將句子對(duì)劃分對(duì)訓(xùn)練集、驗(yàn)證集、測(cè)試集,訓(xùn)練集共5 474條,驗(yàn)證集共1 564條,測(cè)試集共782條。試驗(yàn)環(huán)境設(shè)置如表2所示。
表2 環(huán)境設(shè)置Tab. 2 Environment settings
模型參數(shù)如表3所示。
表3 參數(shù)配置Tab. 3 Parameter configuration
使用TensorFlow框架對(duì)神經(jīng)網(wǎng)絡(luò)模型迭代訓(xùn)練,為避免過(guò)擬合現(xiàn)象,引入Dropout機(jī)制。在神經(jīng)網(wǎng)絡(luò)槽參數(shù)設(shè)置方面,選擇Adam作為bilstm網(wǎng)絡(luò)的優(yōu)化器,并將lstm層數(shù)設(shè)置為兩層。
與其他的文本匹配計(jì)算方法相似,評(píng)價(jià)標(biāo)準(zhǔn)采用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值,綜合考察評(píng)價(jià)指標(biāo)用宏平均(Macro-averaging)和權(quán)重平均(Weight-averaging)。
(12)
(13)
(14)
式中:TP——正向類預(yù)測(cè)為正向的數(shù)量;
FP——負(fù)向類預(yù)測(cè)為正向的數(shù)量;
FN——正向類預(yù)測(cè)為負(fù)向的數(shù)量。
(15)
(16)
Weight-averaging=F0×S0+F1×S1
(17)
宏平均F值是對(duì)每一個(gè)類統(tǒng)計(jì)指標(biāo)值,然后再對(duì)所有類求算術(shù)平均值,F(xiàn)0是類別為負(fù)樣本的F1值,F(xiàn)1是類別為正樣本的F1值。權(quán)重平均F值是正負(fù)兩類的F1加權(quán)平均,S0為負(fù)樣本在總樣本中所占的數(shù)量,S1為正樣本在總樣本中所占的數(shù)量。
目前,在孿生網(wǎng)絡(luò)做文本相似度匹配的應(yīng)用中,主流模型為L(zhǎng)STM。為了能夠驗(yàn)證本文模型在文本匹配中的效果,使用文本匹配中的常用網(wǎng)絡(luò)模型LSTM和BiLSTM、并在BiLSTM中引入Attention機(jī)制與本文模型進(jìn)行比較,同時(shí)也驗(yàn)證本文提出的模型在水稻問(wèn)句對(duì)數(shù)據(jù)集的有效性使用了三個(gè)對(duì)比模型進(jìn)行比較。
1) LSTM:模型使用長(zhǎng)短期神經(jīng)記憶網(wǎng)絡(luò)LSTM模型:傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)模型的一種擴(kuò)展變體,在包含一個(gè)存儲(chǔ)單元狀態(tài)和三個(gè)乘法門的一系列構(gòu)建塊上運(yùn)行,將隱藏狀態(tài)100設(shè)置為輸入?yún)?shù)。
本文使用的孿生網(wǎng)絡(luò)中的子網(wǎng)絡(luò)包含LSTM,本文模型和LSTM都可以處理水稻問(wèn)句相似度時(shí)獲得的向量表示。對(duì)比LSTM的單網(wǎng)絡(luò)結(jié)構(gòu),基于孿生網(wǎng)絡(luò)的組合模型能夠更好捕獲全局特征和局部特征,從而提高預(yù)測(cè)準(zhǔn)確率。
2) BiLSTM:使用雙向長(zhǎng)期短期神經(jīng)記憶網(wǎng)絡(luò)BiLSTM模型[20]:具有一個(gè)前向LSTM和一個(gè)后向LSTM的級(jí)聯(lián)層,雙向的LSTM提取上下文信息,隱藏狀態(tài)設(shè)置為100。
本文將孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò)替換為BiLSTM,本文模型和BiLSTM都能夠很好的處理雙向數(shù)據(jù)的序列信息。而Sim-BiLSTM-CNN模型將BiLSTM適用于提取全局特征和CNN適合于提取局部特征的優(yōu)勢(shì)相結(jié)合,從而擁有更高的預(yù)測(cè)精度。
3) BILSTM-Attention:使用BiLSTM和Attention機(jī)制的文本匹配模型[21]:在BiLSTM模型中引入Attention機(jī)制的文本匹配模型。Attention機(jī)制就是通過(guò)保留BiLSTM編碼器對(duì)輸入序列的中間輸出結(jié)果,再訓(xùn)練一個(gè)模型來(lái)對(duì)這些輸入進(jìn)行選擇性地學(xué)習(xí)并且在模型輸出時(shí)將輸出序列與之進(jìn)行關(guān)聯(lián)。
相同之處是都利用BiLSTM提取文本的上下文信息和空間信息,不同之處是本模型將BiLSTM的輸出輸入到CNN層,進(jìn)一步提取文本語(yǔ)義和空間特征,而BILSTM-Attention模型中BiLSTM隱藏層的輸出通過(guò)注意力機(jī)制分配權(quán)重。
圖5和圖6分別展示了5種模型在水稻問(wèn)句相似對(duì)數(shù)據(jù)集上訓(xùn)練的準(zhǔn)確率和訓(xùn)練誤差的趨勢(shì)圖。
圖5 訓(xùn)練集準(zhǔn)確率變化
圖6 訓(xùn)練集Loss變化
Sim-BiLSTM-CNN 模型相對(duì)比其他三中訓(xùn)練模型,隨著模型中訓(xùn)練輪數(shù)的增加,損失函數(shù)下降,精度提高,在訓(xùn)練輪數(shù)達(dá)到10輪時(shí),變化趨于穩(wěn)定,準(zhǔn)確率接近99%,損失函數(shù)值降至0.022,該模型基本達(dá)到了收斂狀態(tài)。訓(xùn)練集和驗(yàn)證集在輪數(shù)大于10輪之后,準(zhǔn)確率均在95%以上,波動(dòng)范圍小,模型表現(xiàn)效果較好。LSTM可以更好地捕獲較長(zhǎng)距離的依賴關(guān)系,通過(guò)訓(xùn)練過(guò)程可以學(xué)到記憶哪些信息和遺忘哪些信息,但無(wú)法編碼從后向前的信息而BiLSTM可以更好地捕獲雙向語(yǔ)義。Sim-BiLSTM-CNN模型則包含上述模型優(yōu)點(diǎn),參數(shù)更少,且不存在序列依賴問(wèn)題。僅引入Attention機(jī)制后,在同一個(gè)樣本上根據(jù)不同位置計(jì)算Attention,忽略了不同樣本之間的聯(lián)系。Sim-BiLSTM-CNN模型loss值在10輪之前,一直處于下降趨勢(shì),當(dāng)輪數(shù)等于10時(shí),loss值變化較小,隨著輪數(shù)的變化最終穩(wěn)定在0.1以下。
為驗(yàn)證模型效果和節(jié)省標(biāo)注數(shù)據(jù),使用劃分好6類問(wèn)句,分別是栽培管理、病蟲草害、土壤肥料、市場(chǎng)銷售、品種選擇及其他進(jìn)行試驗(yàn)。由表4可知,Sim-BiLSTM-CNN模型在各類水稻問(wèn)句對(duì)數(shù)據(jù)集上準(zhǔn)確率均具高于其他三種模型,其中市場(chǎng)銷售、品種選擇及其他類別中水稻問(wèn)句對(duì)數(shù)據(jù)量均不足1 000對(duì),其準(zhǔn)確率分別達(dá)到89.3%、98.2%和98.4%,說(shuō)明Sim-BiLSTM-CNN模型在數(shù)據(jù)量較少的情況下,仍能夠有效提取短文本的特征進(jìn)行文本相似度計(jì)算,也說(shuō)明了該模型具有很好的魯棒性。
表4 本文方法與對(duì)比模型在不同類別數(shù)據(jù)集上的結(jié)果Tab. 4 Results of the method in this paper and the comparison model on different categories of data sets %
針對(duì)詞向量和字向量?jī)煞N文本向量化表示方式,本文設(shè)計(jì)了一組對(duì)比試驗(yàn),分別將詞向量和字向量作為問(wèn)句相似度模型的初始輸入,對(duì)比試驗(yàn)結(jié)果如表5所示。由表5可知,模型精確率為99.31%,相對(duì)于詞向量作為模型輸入,精確率、召回率、F1值分別提高了3.07個(gè)百分點(diǎn)、2.54個(gè)百分點(diǎn)、1.57個(gè)百分點(diǎn)。LSTM模型和BiLSTM模型在水稻問(wèn)句中的P、R、F值中均低于加入注意力機(jī)制的BILSTM-Attention模型,這是由于注意力機(jī)制可以強(qiáng)化農(nóng)業(yè)問(wèn)句中關(guān)鍵詞的權(quán)重,從而提高文本匹配效果。從表5中可以得出,在四種神經(jīng)網(wǎng)絡(luò)模型中字向量效果明顯優(yōu)于詞向量,使用字符向量的好處是可以解決傳統(tǒng)模型不能很好地處理新詞的問(wèn)題(OOV problem)。主要原因是中文分詞器往往不完善,不正確的分詞可能會(huì)降低匹配性能,分詞會(huì)導(dǎo)致詞義單一的詞語(yǔ)在不同的句子中向量表示不同。其次,在相對(duì)較大的樣本數(shù)量中,詞向量效果可能較好,本文水稻問(wèn)句樣本相對(duì)較少,字向量效果更好。
表5 不同嵌入向量(詞向量與子向量)對(duì)比試驗(yàn)Tab. 5 Comparison experiments of different embedded vectors (word vector and sub vector) %
綜合考察評(píng)價(jià)指標(biāo)宏平均F值和權(quán)重平均F值作為參考,如圖7所示。試驗(yàn)結(jié)果對(duì)比如表6所示,顯示了各個(gè)模型在測(cè)試集的識(shí)別性能。
圖7 綜合考察評(píng)價(jià)指標(biāo)對(duì)比
表6 不同模型的測(cè)試集結(jié)果對(duì)比Tab. 6 Comparison of test set results of different models %
由圖7和表6可知,Sim-BiLSTM-CNN模型精確率為98.20%,在綜合考察評(píng)價(jià)指標(biāo)中宏平均和權(quán)重平均也明顯優(yōu)于LSTM模型和BiLSTM模型,基于上下文的雙向LSTM比單向的LSTM提升了10.03%,其原因?yàn)椋豪肔STM對(duì)句子進(jìn)行建模存在一個(gè)問(wèn)題:無(wú)法編碼從后到前的信息,而通過(guò)BiLSTM可以更好地捕捉雙向的語(yǔ)義依賴,與BiLSTM-Attention模型相比,較BilSTM模型綜合評(píng)價(jià)指標(biāo)對(duì)比,試驗(yàn)效果提升明顯。精確率高于4.48%,Attention機(jī)制可以靈活的捕捉全局和局部的聯(lián)系;與Sim-BiLSTM-CNN模型相比,宏平均和權(quán)重平均較低,是因?yàn)锳ttention機(jī)制不能捕捉語(yǔ)序順序。
應(yīng)用本模型在測(cè)試集識(shí)別結(jié)果如表7所示。
表7 水稻問(wèn)句數(shù)據(jù)識(shí)別結(jié)果示例Tab. 7 Example of rice question data recognition results
如果預(yù)測(cè)標(biāo)簽與真實(shí)標(biāo)簽一致,則正確,如編號(hào)1,2等所示;否則,屬于錯(cuò)誤預(yù)測(cè),如編號(hào)3,4,9所示。在測(cè)試結(jié)果示例中10對(duì)問(wèn)句預(yù)測(cè)正確為7對(duì),預(yù)測(cè)錯(cuò)誤為3對(duì)。分析其主要導(dǎo)致預(yù)測(cè)標(biāo)簽錯(cuò)誤的原因可能是,問(wèn)句1和問(wèn)句2文本長(zhǎng)短相差較大,不能更好地獲取全句語(yǔ)義或者是訓(xùn)練集中標(biāo)簽0和1數(shù)量比例不均衡等。
為了進(jìn)一步提高農(nóng)戶在水稻種植過(guò)程中的工作效率和質(zhì)量,減少專家重復(fù)回答農(nóng)戶提出的相似問(wèn)題,避免延時(shí)性。本研究使用3個(gè)詞嵌入模型對(duì)文本進(jìn)行向量化表示,詞向量和字符向量在水稻問(wèn)句相似度匹配模型中進(jìn)行對(duì)比分析,能夠考慮到字符的輸入特征,提高模型的準(zhǔn)確率。利用孿生網(wǎng)絡(luò)框架結(jié)構(gòu),應(yīng)用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)和深度卷積循環(huán)網(wǎng)絡(luò)組融合對(duì)水稻問(wèn)句相似度匹配的任務(wù)采取建模方式,設(shè)計(jì)了水稻問(wèn)句相似度模型,與其他3種文本匹配模型進(jìn)行對(duì)比分析驗(yàn)證了本模型的有效性。
1) 通過(guò)使用One-hot、TF-IDF、Word2Vec以及詞向量和字符向量在水稻問(wèn)句中的處理方法可以緩解農(nóng)業(yè)領(lǐng)域的分詞錯(cuò)誤造成的影響,使模型識(shí)別效果在精確率、召回率和F1值中分別提高3.07個(gè)百分點(diǎn)、0.54個(gè)百分點(diǎn)和1.57個(gè)百分點(diǎn)。
2) 本文所設(shè)計(jì)的水稻問(wèn)句相似度匹配模型能夠?qū)λ締?wèn)句數(shù)據(jù)進(jìn)行精準(zhǔn)匹配,三種文本相似度對(duì)比模型LSTM和BiLSTM、并在BiLSTM中引入Attention機(jī)制相比在識(shí)別結(jié)果上具體較大提高,識(shí)別的精確率、召回率和F1值分別為99.31%、80.22%和88.75%。
3) 本文使用綜合考察評(píng)價(jià)指標(biāo)宏平均和權(quán)重平均作為模型參考評(píng)價(jià)標(biāo)準(zhǔn),同其他3種模型相比,宏平均和權(quán)重平均值分別達(dá)到75%和80%以上。
4) 在下一步研究中將收集更多的訓(xùn)練數(shù)據(jù),更詳細(xì)的研究特征和架構(gòu),以及像GPT-3和BERT模型的應(yīng)用,探索如何提高模型的訓(xùn)練效率。
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2022年12期