關(guān)鍵詞:棉花病蟲害;問句意圖識別;ERNIE模型;DPCNN模型;詞位置信息
中圖分類號:S435.62:TP391.1 文獻標識號:A 文章編號:1001-4942(2024)06-0143-09
棉花是一種重要的經(jīng)濟作物,是紡織業(yè)中最重要的原料之一,被廣泛種植于世界各地。病蟲害是棉花種植和生產(chǎn)中的主要問題之一,對棉花產(chǎn)量和質(zhì)量的影響很大,嚴重時甚至會導致大面積的歉收。目前,大多棉花種植人員依賴于采用人工方式尋找解決棉花病蟲害問題的方案,這很難滿足生產(chǎn)上需要及時解決問題的要求。隨著互聯(lián)網(wǎng)和大數(shù)據(jù)技術(shù)的高速發(fā)展,構(gòu)建專業(yè)領(lǐng)域的智能問答系統(tǒng)將能夠為人們提供準確的診斷結(jié)果和個性化的信息服務,為棉花產(chǎn)業(yè)的信息化和智能化奠定基礎(chǔ)。知識問答方法主要包括問句意圖識別、信息抽取和答案檢索三個部分,其中問句意圖識別是關(guān)鍵步驟,使用識別效率高的方法能有效提升問答質(zhì)量。
問句分類是一種將自然語言問句分類到不同的類別或類別集合的自然語言處理任務,其目的是將問題與可能的答案類型相對應,以便自動回答問題或幫助用戶更快地找到答案。目前針對該任務的方法有傳統(tǒng)的基于規(guī)則和統(tǒng)計的機器學習方法,以及深度學習方法。傳統(tǒng)方法包括支持向量機(SVM)、樸素貝葉斯等機器學習算法,這些方法通常依賴于手工提取特征,人力、物力成本高。深度學習方法包括卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)、長短時記憶網(wǎng)絡(LSTM)等,已有許多研究者將其應用到文本分類任務中,例如Zhang等提出了一種基于多層CNN的問句分類方法,可以提高問句分類的準確率:Lu等提出了一種基于分層注意力機制的深度神經(jīng)網(wǎng)絡模型用于問句分類任務,具有較好的性能:王奧等提出一種基于特征增強的多方位農(nóng)業(yè)問句語義匹配模型,使用雙向長短期記憶網(wǎng)絡及多維注意力機制對農(nóng)業(yè)問句進行語義匹配,實現(xiàn)了農(nóng)業(yè)問句快速自動檢測。
在農(nóng)業(yè)領(lǐng)域,王郝日欽等提出了一種基于Attention_DenseCNN的水稻問句文本分類方法,能夠快速、準確地對水稻問句文本進行自動分類,分類精確率及F1值分別為95.6%和94.9%;李林等提出了一種用于農(nóng)業(yè)病蟲害問句分類的深度學習模型BERT_Stacked LSTM,使用堆疊長短期記憶網(wǎng)絡(Stacked LSTM)學習到隱藏的復雜語義信息,用于農(nóng)業(yè)病蟲害問句分類取得了較好的效果。金寧等提出了BiGRU_MulCNN分類模型,利用雙向門控循環(huán)單元獲取文本特征信息,進行多粒度的特征提取,能準確地完成用戶問句的自動分類,
然而目前棉花病蟲害領(lǐng)域缺少公開的數(shù)據(jù)集,而且存在棉花病蟲害問句多為短文本、包含的語義特征少、文本特征提取方法單一等問題。為有效解決上述問題,本研究構(gòu)建了一個棉花病蟲害問句數(shù)據(jù)集,并提出了一個基于ERNIE(En-hanced Representation through Knowledge Integra-tion)及改進DPCNN(Deep Pyramid Convolutional Neural Networks for Text Categorization)模型的問句分類模型,以期實現(xiàn)棉花病蟲害問句的精準分類。
1材料與方法
1.1棉花病蟲害問句數(shù)據(jù)集構(gòu)建
針對目前沒有公開的棉花病蟲害問句數(shù)據(jù)集以及網(wǎng)絡中相關(guān)的問句數(shù)量少等問題,通過查閱相關(guān)數(shù)據(jù)文獻及咨詢領(lǐng)域?qū)<?,?gòu)建了棉花病蟲害問句數(shù)據(jù)集CQCls。該數(shù)據(jù)集中定義了棉花病蟲害實體共78種,問句類型9種,問句類型與棉花病蟲害知識圖譜實體關(guān)系相對應。通過將不同的實體名稱及問句類型進行組合,可生成不同類型的問句,例如“棉花白粉病的危害癥狀是什么?”;通過使用句式模板、同義詞替換等方法進行問句數(shù)據(jù)的擴充,例如,利用不同的句式模板可以將“棉花立枯病的分區(qū)區(qū)域有哪些?”轉(zhuǎn)化為“棉花立枯病主要分布在哪些地方?”,而通過同義詞替換又可以將其轉(zhuǎn)換為“立枯病主要集中在哪些地區(qū)?”,以此完成數(shù)據(jù)集的擴增。對于問句類型的標注,通過判斷問句中是否出現(xiàn)同一類型的關(guān)鍵詞,如“別名”、“別稱”、“俗稱”等進行統(tǒng)一標注,最后通過人工校對完成標注。棉花病蟲害問句實例如表1所示。
通過以上方法最終獲得問句數(shù)據(jù)共207644條,其中病蟲害別名類問句23058條,危害部位類問句24766條,危害癥狀類問句24766條,發(fā)病規(guī)律類問句23058條,防治方法類問句27572條,防治藥劑類問句24766條,病害致病原類問句17446條,害蟲形態(tài)類問句21960條,分布區(qū)域類問句20 252條(圖1)。
1.2棉花病蟲害問句意圖分類模型
針對棉花病蟲害問句較短、類型多樣等問題,提出了一種基于ERNIE預訓練模型和融合詞位置信息的DPCNN模型的深度學習模型,用ERN-IE-DPCNN*表示,用來完成對自然語言問句意圖分類的任務。模型總體框架如圖2所示。
該模型首先使用預訓練的ERNIE模型進行文本編碼,得到每個詞的embedding表示;對每個詞的embedding進行位置信息編碼,即將每個位置映射為一個embedding向量,然后將該向量與詞embedding結(jié)合得到帶有位置信息的embed-ding表示;將帶有位置信息的embedding輸入DPCNN模型中進行特征提取,最后通過全局池化層將特征圖轉(zhuǎn)換成固定大小的向量,使用全連接層將該向量映射到類別空間。
1.2.1 ERNIE模型 ERNIE是百度公司于2019年提出的一種基于預訓練的語言模型,是百度自然語言處理技術(shù)的重要組成部分,旨在通過引入外部知識(如實體、知識圖譜等)和多任務學習等方式,進一步提高語言表示的質(zhì)量和泛化能力。它采用與BERT相同的雙向Transformer架構(gòu)進行預訓練。ERNIE主要包含兩種類型的預訓練模型:基于單語言的ERNIE和跨語言的ERN-IE。基于單語言的ERNIE在中文、英文、泰文等多種語言上預訓練,其中中文預訓練使用的是比BERT更大的中文語料庫,包括百度百科、百度貼吧、百度知道等多種數(shù)據(jù)源??缯Z言的ERNIE則在多種語言上預訓練,包括英文、中文、阿拉伯語、德語等多種語言。
ERNIE的預訓練模型是基于Transformer編碼器(圖3)構(gòu)建的。它采用多層Transformer編碼器對輸入進行編碼,每層Transformer編碼器由多頭自注意力機制和前向全連接網(wǎng)絡組成。ERNIE使用的是相對位置編碼,這種編碼方式可以更好地表示句子中單詞之間的位置關(guān)系。
ERNIE與BERT的區(qū)別在于ERNIE在預訓練過程中加入了實體知識,即通過改變掩碼策略——將BERT中的隨機掩碼替換為實體或短語級別的掩碼,引入了聚合知識的學習機制,使ERNIE能夠更有效地學習句法和語義知識,更好地理解和表示中文文本中的實體和短語,提高模型在語義理解、命名實體識別、關(guān)系抽取等任務上的性能。ERNIE使用開源的百度知識圖譜(Baidu Knowledge Graph,BKG)來為輸入序列引入知識,數(shù)據(jù)輸入后,通過編碼、添加位置信息,利用多頭注意力機制進行計算并歸一化,經(jīng)過多個層的前向傳播和再次歸一化,實現(xiàn)對輸入數(shù)據(jù)的編碼和豐富的特征表示,最終輸出編碼。這種聚合知識的引入為ERNIE的語義理解能力和多任務學習效果帶來了顯著的提升,使其成為在中文自然語言處理任務中表現(xiàn)最優(yōu)秀的模型之一。BERT和ERNIE的掩碼方式對比如圖4所示,這種方式可以使ERNIE在多項自然語言處理任務上表現(xiàn)出更好的性能。
1.2.2改進DPCNN模型 DPCNN是Johnson等提出的一種深度卷積神經(jīng)網(wǎng)絡,包括輸入層、卷積層、池化層、殘差連接、全局池化層和輸出層,主要用于文本分類任務。它的核心思想是通過多個池化層和卷積層來捕捉句子中不同長度的局部特征,并且通過殘差連接和固定池化來避免過擬合和梯度消失的問題。但DPCNN模型不考慮文本中的位置信息。針對棉花病蟲害問句總體較短的特點,本研究對DPCNN進行改進,通過引入位置編碼來融合位置信息,可以有效提高模型的表達能力。改進后的DPCNN模型如圖5所示。
首先,將輸入序列與詞位置向量進行融合,然后使用Region embedding將其轉(zhuǎn)換為句向量表示,并逐個輸入到一系列卷積組中。每個卷積組由一個卷積層和殘差連接組成,然后這些卷積組通過步長為2的池化層連接在一起,通過設置多個卷積組可以逐步提取更豐富的特征,最后一個卷積組將會生成輸入序列的最終特征向量表示。
2結(jié)果與分析
2.1軟硬件環(huán)境及模型參數(shù)
所使用的計算機硬件環(huán)境包括Intel(R) Xe-on(R) CPU E5-2620 v4 @ 2.10 GHz處理器,NVIDIA TITAN V顯卡,以及64.0 GB的內(nèi)存。軟件環(huán)境包括Python 3.6版本和PyTorch框架的1.7.1+cu110版本。模型具體參數(shù)設置如表2所示。
2.2模型評價指標
使用準確率(Precision)、召回率(Recall)、F1分數(shù)(F1-Score)對深度學習模型的訓練效果進行評價。具體公式如下:
P=TP/(TP+FP)×100% ; (1)
R=TP/(TP+FN)×100% ; (2)
F1=2×P×R/(P+R)×100% 。 (3)
式中:P代表準確率;R代表召回率;F1代表F1分數(shù);TP(真陽性)為模型預測為正例的樣本中實際為正例的數(shù)量;FP(假陽性)為被識別為正例的樣本中實際為負例的數(shù)量;TN(真陰性)為被分類為負例的樣本中實際為負例的數(shù)量;FN(假陰性)為模型預測為負例的樣本中實際為正例的數(shù)量。
另外,在使用深度學習方法進行文本多分類任務時,通常采用宏平均(MacroAvg)、權(quán)重平均(WeightedAvg)綜合評價每個模型的結(jié)果。其中,宏平均是對每個類別分別計算Precision、Re-call和F1-Score的平均值,并將所有類別視為同等重要,不考慮各類別樣本數(shù)量不平衡造成的影響。權(quán)重平均是對每個類別分別計算Precision、Recall和F1-Score的加權(quán)平均值,其中權(quán)重是每個類別的樣本數(shù)目占總體樣本數(shù)目的比例。宏平均和權(quán)重平均的具體計算公式如下。
2.3不同深度學習模型的訓練效果評價
針對棉花病蟲害問句,使用不同的深度學習模型進行多組實驗:以BERT模型作為基準模型,分別結(jié)合TextCNN、TextRCNN、RNN和DPCNN模型對BERT進行改進。通過實驗對比,發(fā)現(xiàn)使用BERT結(jié)合DPCNN的模型訓練效果整體表現(xiàn)較好,性能上超過了其他組合模型;進一步使用ERNIE優(yōu)化BERT對中文掩碼不足的缺點,并增加詞位置信息優(yōu)化DPCNN模型,得到改進后的ERNIR-DPCNN*模型,用于對棉花病蟲害問句意圖進行分類,取得較好的訓練效果,基于Mac-roAvg和WeightedAvg的Precision、Recall和F1-Score均在97%以上(表3)。表明DPCNN模型對特征的提取相較于其他模型表現(xiàn)良好,通過在輸入向量中融入詞位置信息能進一步增強模型的學習能力,從而提升模型的性能。
不同模型訓練結(jié)果的混淆矩陣如圖6所示,其中橫縱坐標的標簽均代表了棉花病蟲害問句的不同類別。
2.4 DPCNN模型卷積核層數(shù)對訓練結(jié)果的影響
DPCNN模型的核心思想是通過多個池化層和卷積層來捕捉句子中不同長度的局部特征,在一定范圍內(nèi)增加DPCNN的層數(shù)可以提高模型的表現(xiàn),但是過多的層數(shù)可能會導致模型出現(xiàn)過擬合等問題,同時也會增加模型的訓練時間和復雜度。通常,一個層數(shù)適中的DPCNN模型在文本分類等任務中能夠取得較好的性能。本研究針對棉花病蟲害問句意圖分類任務,對比包含不同層數(shù)卷積核的模型訓練結(jié)果,表4可知,在本研究構(gòu)建的數(shù)據(jù)集上,使用DPCNN模型進行文本多分類任務時,當卷積核為2層時模型性能最好,其宏平均和權(quán)重平均下的Fl值分別為97.30%和97.39%,Precision分別為97.48%和97.33%,Re-call分別為97.45%和97.31%。因此在本研究提出的模型采用2層卷積核的DPCNN完成特征的提取任務。
2.5數(shù)據(jù)集對比實驗
為驗證ERNIR-DPCNN*模型在其他公開數(shù)據(jù)集上的表現(xiàn)效果及泛化能力,選用TNEWS今日頭條中文新聞數(shù)據(jù)集、DMSCD豆瓣電影短評數(shù)據(jù)集和THUCNews中文新聞數(shù)據(jù)集與本研究構(gòu)建的CQCls數(shù)據(jù)集進行對比實驗。其中,TNEWS數(shù)據(jù)集包含10個分類的新聞標題和摘要數(shù)據(jù),涵蓋了時政、財經(jīng)、房產(chǎn)、教育、科技、軍事、體育、娛樂、游戲和時尚領(lǐng)域,總樣本超過50萬條,訓練集和測試集各占50%。THUCNews是清華大學自然語言處理實驗室發(fā)布的中文新聞數(shù)據(jù)集,包含14個分類的新聞數(shù)據(jù),涵蓋了時政、財經(jīng)、教育、科技、文化、體育、娛樂等領(lǐng)域,總樣本數(shù)超過26萬條,訓練集、驗證集和測試集的比例為8:1:1。DMSCD是由豆瓣網(wǎng)用戶發(fā)布的中文電影短評數(shù)據(jù)集,包含了超過200萬條的電影短評數(shù)據(jù),每條短評數(shù)據(jù)都由一段文字組成,包含了該用戶對電影的評分和一些標簽信息,涵蓋了電影的劇情、演員、音樂等各個領(lǐng)域。對于DMSCD數(shù)據(jù)集,本研究選取了12個電影的212043條評論數(shù)據(jù)構(gòu)成該數(shù)據(jù)集的子集,然后按8:1:1劃分訓練集、測試集和校驗集。對比實驗結(jié)果(表5)顯示,本研究提出的ERNIR-DPCNN*模型在棉花病蟲害問句數(shù)據(jù)集CQCls以及其他公開數(shù)據(jù)集上的訓練結(jié)果均表現(xiàn)良好,對于文本語料數(shù)據(jù)內(nèi)容復雜多樣且文本格式不規(guī)范的DMSCD數(shù)據(jù)集,基于權(quán)重平均的F1-Score也能達到73.42%,證明了本研究所提出模型的有效性及泛化能力。
2.6不同模型的棉花病蟲害問句意圖分類結(jié)果對比分析
由實驗結(jié)果(表6)可以發(fā)現(xiàn),各個模型在不同問句類別的Precision、Recall、F1-Score表現(xiàn)相差不大,其中發(fā)病規(guī)律和分布區(qū)域的F1-Score相較于其他類別更高,均在98%以上。這是由于這兩類問句的特征詞較明顯,例如分布區(qū)域類問句中大多會出現(xiàn)“地區(qū)”、“區(qū)域”等詞語。從整體上看,本研究提出的ERNIR_DPCNN*模型在Recall和F1-Score指標上表現(xiàn)最好,各類問句的評價結(jié)果均高于95%,在棉花病蟲害問句意圖分類任務上性能良好:但是其Precision值及Recall值在部分類型中表現(xiàn)不是最好,說明該模型對于問句類型分類的正確率還需進一步提升。
3討論與結(jié)論
隨著農(nóng)業(yè)領(lǐng)域信息化的發(fā)展,不同農(nóng)作物病蟲害防治的智能化、信息化管理在農(nóng)業(yè)生產(chǎn)中起著越來越重要的作用。本研究針對棉花病蟲害領(lǐng)域相關(guān)問句信息的現(xiàn)狀,構(gòu)建了棉花病蟲害問句數(shù)據(jù)集CQCls,并基于ERNIE及改進DPCNN構(gòu)建了棉花病蟲害問句意圖識別模型ERNIR_DPC-NN*,通過使用ERNIE預訓練模型以及在DPC-NN模型中增加詞位置信息提高了模型的表達能力,在文本分類任務上取得了較好的效果,并且能夠平衡各類別樣本數(shù)量不同的影響。
為使ERNIR_DPCNN*模型的分類效果達到最優(yōu),本研究對DPCNN模型的卷積核層數(shù)進行了篩選實驗,結(jié)果發(fā)現(xiàn),在CQCls數(shù)據(jù)集上,使用2層卷積核的DPCNN模型達到了最好的性能。而過多的層數(shù)可能會導致過擬合等問題,并增加模型的訓練時間和復雜度。
此外,選用TNEWS今日頭條中文新聞數(shù)據(jù)集、DMSCD豆瓣電影短評數(shù)據(jù)集和THUCNews中文新聞數(shù)據(jù)集對ERNIR_DPCNN*模型的分類效果進行了實驗,結(jié)果表明,該模型在數(shù)據(jù)量不足、數(shù)據(jù)特征不明顯的數(shù)據(jù)集上也能取得較好的分類效果,說明該模型具有一定的泛化能力和有效性。
但本研究僅針對棉花病蟲害領(lǐng)域的問句分類做了研究,各類問句數(shù)據(jù)的形式還不夠豐富,在接下來的研究中,可以從更多途徑收集實際生產(chǎn)過程中用戶提出的不同問題,從而進一步提升模型的識別準確率。另外,模型訓練對硬件設備的算力要求較高,后續(xù)可以對模型進行精簡,在減少參數(shù)量的同時保證準確率,從而減少模型訓練所需的時間,降低對硬件設備的要求。