丁俊琦 李 博 喬 巖 張領(lǐng)先
(1.中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 北京 100083; 2.北京信息科技大學(xué)經(jīng)濟(jì)管理學(xué)院, 北京 100083;3.北京市植物保護(hù)站, 北京 100029)
為了幫助農(nóng)戶減少作物病害損失,植物診所(由國(guó)際農(nóng)業(yè)和生物科學(xué)中心(CABI)領(lǐng)導(dǎo)的全球性計(jì)劃Plantwise在全球30多個(gè)國(guó)家開設(shè)植物診所,建立了由專業(yè)植物醫(yī)生管理的全球植物診所網(wǎng)絡(luò))通過為農(nóng)民提供植物健康咨詢服務(wù),對(duì)亞洲、非洲和美洲3 100多萬(wàn)用戶的生活產(chǎn)生了積極影響。經(jīng)過專門培訓(xùn)的植物醫(yī)生對(duì)作物疾病進(jìn)行診斷,并為前來咨詢的農(nóng)民提出建議。這些診療活動(dòng)細(xì)節(jié)被記錄為植物電子病歷(Electronic medical record, EMR),輸入植物智慧(Plantwise)知識(shí)庫(kù)中。植物電子病歷記錄了農(nóng)戶在農(nóng)作物種植過程中遇到的病蟲害問題及植物醫(yī)生提供的診療建議。通過制定結(jié)構(gòu)化病歷模板,植物診所實(shí)現(xiàn)病歷數(shù)據(jù)的規(guī)范化書寫和數(shù)據(jù)采集。這些數(shù)據(jù)以結(jié)構(gòu)化和非結(jié)構(gòu)化文本的形式儲(chǔ)存了大量病害癥狀、作物情況和環(huán)境特征的信息,并且?guī)в兄参镝t(yī)生的診斷標(biāo)簽,為病害的智能輔助診斷研究提供了完整樣本[1],如何對(duì)其進(jìn)行有效挖掘以實(shí)現(xiàn)智能輔助診斷是一個(gè)亟待解決的問題。
在農(nóng)業(yè)領(lǐng)域,信息管理系統(tǒng)在植物病害防治機(jī)構(gòu)中還未普及,植物電子病歷還沒有得到足夠重視。而在醫(yī)學(xué)領(lǐng)域,已有大量利用電子病歷實(shí)現(xiàn)計(jì)算機(jī)輔助疾病診斷的研究[2-4]。在不同的疾病診斷上,將疾病診斷問題轉(zhuǎn)換為不同疾病病歷的分類問題,這些研究證明了電子病歷在輔助診斷方面的價(jià)值,為探索基于植物電子病歷的病害智能診斷提供了方法參考。先前工作利用決策樹[5-6]、支持向量機(jī)[7]、貝葉斯網(wǎng)絡(luò)[8]、詞嵌入和各種神經(jīng)網(wǎng)絡(luò)模型[9]來挖掘病歷信息,進(jìn)而實(shí)現(xiàn)分類。但這些方法存在難以區(qū)分詞語(yǔ)多義性或者需要學(xué)習(xí)大量參數(shù)的問題,基于預(yù)訓(xùn)練的深度學(xué)習(xí)模型可以有效地解決這一問題[10],如語(yǔ)言模型詞向量(Embeddings from language models,ELMo)[11]、生成式預(yù)訓(xùn)練(Generative pre-training,GPT)[12]、基于Transformer的雙向編碼器表示(Bidirectional encoder representations from Transformer,BERT)[13]等。另一方面,植物電子病歷需要由專業(yè)植物醫(yī)生標(biāo)記和錄入,樣本量較少且缺乏公開數(shù)據(jù)集。針對(duì)此問題,預(yù)訓(xùn)練語(yǔ)言模型無(wú)需人工標(biāo)簽,可以從海量的語(yǔ)料中學(xué)習(xí)到通用的語(yǔ)言表示,在公開數(shù)據(jù)集較少的農(nóng)業(yè)病害領(lǐng)域非常適用。如,楊國(guó)峰等[14]將BERT用于作物病害問答系統(tǒng),李林等[15]將BERT與堆疊式長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short term memory networks,LSTM)模型結(jié)合用于解決農(nóng)業(yè)病蟲害問句分類的語(yǔ)料稀缺問題。
但植物電子病歷不是簡(jiǎn)單的文本描述,而是經(jīng)過科學(xué)設(shè)計(jì)的、符合植物病理學(xué)中病害診斷基本原理的規(guī)范結(jié)構(gòu),包含結(jié)構(gòu)化的地理、時(shí)間、環(huán)境、分布等特征。研究證明,病害發(fā)生的環(huán)境特征、時(shí)空分布等信息對(duì)病害的準(zhǔn)確識(shí)別意義重大,但是這些信息在病害智能診斷的研究中尚未得到有效利用[16-17]。如果僅聚焦于植物電子病歷中的單一類型數(shù)據(jù),僅對(duì)問診記錄文本進(jìn)行特征抽取,將會(huì)造成大量多類型結(jié)構(gòu)化數(shù)據(jù)的信息損失。
綜上,植物電子病歷缺乏公開數(shù)據(jù)集,樣本量較少,且包含多種數(shù)據(jù)類型。針對(duì)這些特點(diǎn),本文提出一種基于多類型數(shù)據(jù)融合的病害診斷模型(BERT-MPL data fusion model based on attention mechanism,BM-Att),通過預(yù)訓(xùn)練模型和不同數(shù)據(jù)分支的特征融合,多維度、全方位地對(duì)植物電子病歷中的信息進(jìn)行抽取,進(jìn)而實(shí)現(xiàn)病害準(zhǔn)確診斷。
本文植物電子病歷樣本來源于北京市植保站所建立的115家植物診所線上診斷系統(tǒng)。植物診所依托合作社、綠控基地、專業(yè)化防治組織等社會(huì)化主體,覆蓋北京市昌平、延慶、順義、平谷、密云、房山、通州、大興、懷柔、海淀等10個(gè)區(qū)。
植物診所采用公益性的農(nóng)作物病蟲診斷與咨詢服務(wù)模式,由具備資質(zhì)的植物醫(yī)生為農(nóng)戶提供病蟲害診斷和防治技術(shù)服務(wù)并記錄開方。所有植物電子病歷經(jīng)過“植物醫(yī)生填寫錄入——區(qū)級(jí)數(shù)據(jù)管理員初步協(xié)調(diào)驗(yàn)證——市級(jí)數(shù)據(jù)管理員二次協(xié)調(diào)驗(yàn)證”的三級(jí)數(shù)據(jù)驗(yàn)證程序?qū)霐?shù)據(jù)庫(kù)(圖1)。
植物診所開具的電子病歷記錄了農(nóng)戶在農(nóng)作物種植過程中遇到的病蟲害問題及植物醫(yī)生提供的診療建議,包括問診農(nóng)戶、植物診所、作物和癥狀的詳細(xì)信息,以及診斷結(jié)果和病蟲害防治建議等內(nèi)容。其中不僅有結(jié)構(gòu)化的信息,如就診時(shí)間、診所位置、發(fā)病時(shí)間、發(fā)病面積等,還包括非結(jié)構(gòu)化的自由文本信息,如主要癥狀、檢查所見、診斷結(jié)果、治療建議等,如圖1所示。本文收集了2017年11月到2021年7月期間約44個(gè)月的數(shù)據(jù),共44 000余條作物病害電子病歷。本文獲取的樣本共包含89種病害,涉及46種植物。初步分析數(shù)據(jù)發(fā)現(xiàn),北京市種植植物種類和病害種類繁多,但是大多數(shù)作物及相關(guān)病害的數(shù)量占總樣本量比例在1%以下,樣本量?jī)H幾十條,屬于冷門作物或不常見病害。從過少的樣本中無(wú)法提取足夠的有效信息以支持智能診斷,因此本文選擇常見作物的常見病害為研究對(duì)象。常見的種植作物包括番茄、黃瓜、生菜和西瓜,共占全部樣本的95.68%。其次,在這4種作物的相關(guān)病害中選擇樣本量大于400條的病害,共15種,占全部樣本的74.69%。具體包括:番茄晚疫病、番茄病毒病、黃瓜霜霉病、番茄灰霉病、黃瓜角斑病、黃瓜白粉病、番茄線蟲、番茄早疫病、番茄葉霉病、西瓜炭疽病、生菜線蟲、黃瓜灰霉病、生菜霜霉病、黃瓜線蟲和西瓜線蟲。其中番茄病害6種、黃瓜病害5種、生菜病害和西瓜病害各2種。相比原始數(shù)據(jù),這樣的選擇盡可能地覆蓋了北京市常見作物病害,同時(shí)極大減緩了樣本過少導(dǎo)致的誤診問題。
研究中未獲取原始植物電子病歷中涉及個(gè)人隱私的信息,例如農(nóng)戶姓名、手機(jī)號(hào)、身份證號(hào)碼等。此外,由于數(shù)據(jù)存在冗余、缺失等問題,剔除了部分缺失率過高的記錄和字段,對(duì)冗余記錄進(jìn)行了去重處理。
對(duì)于電子病歷的非結(jié)構(gòu)化數(shù)據(jù)部分,采用正則表達(dá)式、字符匹配等方法提取了問診記錄中的主訴部分,并且對(duì)空格、換行等字符進(jìn)行清理。對(duì)于電子病歷的結(jié)構(gòu)化數(shù)據(jù)部分,進(jìn)行刪除重復(fù)值、缺失值處理、一致化處理和異常值處理等操作。
經(jīng)過上述清洗和篩選,最終獲得22 842條數(shù)據(jù)。每種病害的具體數(shù)據(jù)統(tǒng)計(jì)結(jié)果如圖2所示。其中,番茄晚疫病和番茄病毒病為較大樣本病害,數(shù)量超過4 000條;黃瓜霜霉病、番茄灰霉病、黃瓜角斑病和黃瓜白粉病次之,數(shù)量在1 000條以上;番茄線蟲、番茄早疫病、番茄葉霉病、西瓜炭疽病、生菜線蟲、黃瓜灰霉病、生菜霜霉病、黃瓜線蟲和西瓜線蟲為小樣本病害,數(shù)量在1 000條以下。
圖2 數(shù)據(jù)統(tǒng)計(jì)結(jié)果Fig.2 Statistical results
利用分層抽樣的方法,選取60%的數(shù)據(jù)作為訓(xùn)練集來訓(xùn)練模型,20%作為測(cè)試集,20%作為驗(yàn)證集。數(shù)據(jù)處理流程如圖3所示。
圖3 數(shù)據(jù)處理流程圖Fig.3 Data pre-processing flowchart
為了融合不同類型結(jié)構(gòu)的數(shù)據(jù),提出了一種用于病害診斷的多類型數(shù)據(jù)融合深度學(xué)習(xí)模型BM-Att。通過結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)之間優(yōu)勢(shì)互補(bǔ),可以使融合后的效果超過任意單一類型數(shù)據(jù)能夠達(dá)到的效果。其主要包含:文本數(shù)據(jù)處理模塊和結(jié)構(gòu)化數(shù)據(jù)處理模塊。模型整體架構(gòu)如圖4所示,文本數(shù)據(jù)處理模塊采用預(yù)訓(xùn)練語(yǔ)言模型對(duì)電子病歷中的問診記錄進(jìn)行建模。結(jié)構(gòu)化數(shù)據(jù)處理模塊基于電子病歷中的作物種類、主要癥狀、生長(zhǎng)階段、發(fā)病部位、發(fā)病時(shí)間、地理位置、田間分布和嚴(yán)重程度等結(jié)構(gòu)化數(shù)據(jù)進(jìn)行建模,鑒于結(jié)構(gòu)化數(shù)據(jù)的維度遠(yuǎn)低于文本數(shù)據(jù),模型中加入多層感知器(Multi-layer perceptron, MLP)對(duì)結(jié)構(gòu)化信息進(jìn)行抽取,并將其擴(kuò)增到適當(dāng)?shù)木S度。最后進(jìn)行基于注意力機(jī)制的特征融合,綜合了結(jié)構(gòu)化數(shù)據(jù)分支和文本分支獲得的關(guān)鍵特征進(jìn)行預(yù)測(cè)。
圖4 基于多類型數(shù)據(jù)融合的病害診斷模型框架Fig.4 Framework of a disease diagnosis model based on fusion of multiple types of data
植物電子病歷問診記錄描述了病害的主要癥狀和外界環(huán)境,其中包含了大量信息,采用合適的算法對(duì)這些記錄關(guān)鍵信息進(jìn)行提取有利于更好地診斷作物病害。但是受限于植物電子病歷數(shù)據(jù)數(shù)量的不足,難以獲得足夠信息實(shí)現(xiàn)有效的語(yǔ)義信息抽取。預(yù)訓(xùn)練語(yǔ)言模型的發(fā)展將自然語(yǔ)言處理(Natural language processing,NLP)領(lǐng)域的研究提升到了一個(gè)新的階段,即無(wú)需人工標(biāo)簽,可以從海量的語(yǔ)料中學(xué)習(xí)到通用的語(yǔ)言表示,并顯著提升下游的任務(wù)[18]。BERT是2018年谷歌人工智能(Google AI)團(tuán)隊(duì)提出的在大規(guī)模通用領(lǐng)域語(yǔ)料庫(kù)預(yù)先訓(xùn)練的語(yǔ)言模型,通過對(duì)下游任務(wù)進(jìn)行微調(diào)的方式,在各種文本分類任務(wù)上有著明顯的改進(jìn)[19-20]。
BERT是由雙向變換器(Transformer)模型組成的編碼結(jié)構(gòu)。Transformer用作特征提取器,它比LSTM特征提取功能更強(qiáng)大。同時(shí),多層雙向Transformer可以提取上下文的文本特征[21]。相比使用單向 Transformer的GPT和雙向LSTM編碼的ELMO,BERT通過使用雙向變壓器編碼器提取上下文特征,該編碼器具有更深的層次和更好的并行性[13]。多頭注意力機(jī)制是Transformer層的核心,其主要思想是通過計(jì)算詞與詞之間的關(guān)聯(lián)度來調(diào)整詞的權(quán)重,反映了該詞與這句話中所有詞之間的相互關(guān)系以及每個(gè)詞的重要程度。首先,輸入序列T,通過線性變換得到目標(biāo)矩陣Q、上下文矩陣K以及原始矩陣V。然后通過計(jì)算放縮點(diǎn)積求得自注意力(Self-attention)的分?jǐn)?shù)值,該分?jǐn)?shù)值決定了當(dāng)模型對(duì)一個(gè)詞進(jìn)行編碼時(shí),對(duì)輸入句子的其他詞的關(guān)注程度,具體計(jì)算公式為
(1)
式中dk——輸入維度
最后,將經(jīng)過i次計(jì)算的Self-attention分?jǐn)?shù)值進(jìn)行拼接和線性變換,最終獲得一個(gè)與原始字向量長(zhǎng)度相同的增強(qiáng)語(yǔ)義向量,作為多頭注意力層的輸出,具體計(jì)算公式為
MultiHead(Q,K,V)=Concat(h1,h2,…,hi)W0
(2)
(3)
式中hi——多頭注意力層的輸出
W0——附加的權(quán)重矩陣
BERT已在多個(gè)下游NLP任務(wù)(例如機(jī)器翻譯,命名實(shí)體識(shí)別、文本分類、閱讀理解和問題解答)中取得了顯著的效果。在本文的實(shí)驗(yàn)中, 使用了谷歌發(fā)布的中文預(yù)訓(xùn)練模型“BERT-Base, Chinese”。該模型采用了12層的Transformer, 輸出為768維度的向量, 多頭注意力的參數(shù)為12, 模型總參數(shù)量為110 MB, 共包含約2萬(wàn)個(gè)中文簡(jiǎn)體字和繁體字, 含有部分英文單詞和數(shù)字。將模型載入后, 可以直接輸出訓(xùn)練好的字向量或句向量。本文使用該模型獲取句向量并將其作為后續(xù)網(wǎng)絡(luò)模型的部分輸入。
針對(duì)結(jié)構(gòu)化的數(shù)據(jù),首先對(duì)其進(jìn)行獨(dú)熱編碼,即1位有效編碼。獨(dú)熱編碼使用N位狀態(tài)寄存器來對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都有它獨(dú)立的寄存器位,并且其中只有1位有效。本文對(duì)電子病歷中的作物種類、主要癥狀、生長(zhǎng)階段、發(fā)病部位、發(fā)病時(shí)間、地理位置、田間分布和嚴(yán)重程度等特征完成獨(dú)熱編碼。例如,將生長(zhǎng)階段屬性對(duì)應(yīng)的苗期、生長(zhǎng)期、開花期、結(jié)果期、成熟期、收獲期共6個(gè)階段轉(zhuǎn)換為6位的標(biāo)簽值。具體編碼內(nèi)容如圖5所示。
圖5 編碼魚骨圖Fig.5 Fishbone diagram of data coding
對(duì)植物電子病歷中的結(jié)構(gòu)化數(shù)據(jù)完成編碼后,得到107維的向量。與文本分支得到的768維向量相比,維度差異較大。為了避免低維度的信息被高維度的信息淹沒,減少數(shù)據(jù)融合前的信息損失,需要在數(shù)據(jù)融合之前增加低維模態(tài)[22-23]。因此,本文進(jìn)一步采用MLP來擴(kuò)增結(jié)構(gòu)化數(shù)據(jù)向量表示的維度。
本文所使用MLP網(wǎng)絡(luò)共有107個(gè)輸入節(jié)點(diǎn),512個(gè)輸出節(jié)點(diǎn),以及3層包括512個(gè)隱藏節(jié)點(diǎn)的隱藏層。通過輸入層、隱藏層、輸出層進(jìn)行前向傳播得到預(yù)測(cè)值,利用均方誤差(MSE)損失函數(shù)來衡量真實(shí)值和預(yù)測(cè)值之間的誤差。MSE損失函數(shù)利用梯度下降的方法來不斷更新權(quán)重參數(shù)和偏置參數(shù),不斷縮小誤差,最終獲取和真實(shí)值最接近的預(yù)測(cè)結(jié)果。
對(duì)于文本數(shù)據(jù),BERT將每條問診記錄轉(zhuǎn)換為768維向量作為特征表示。同時(shí),為了確保不同數(shù)據(jù)可以在相同尺度上被融合,結(jié)構(gòu)化數(shù)據(jù)處理模塊將107維的結(jié)構(gòu)化數(shù)據(jù)擴(kuò)增到512維進(jìn)行特征表示。得到每種類型數(shù)據(jù)的向量表示之后,一般而言,有多種進(jìn)行向量融合的方法,例如相加、相乘、拼接等。由于向量拼接能夠最大程度地保留不同向量中的信息,因此選擇拼接的方式。拼接后形成1 280維向量。然后,使用注意力機(jī)制和3層全連接層抽取重要的特征,同時(shí)對(duì)向量進(jìn)行適當(dāng)壓縮。最后使用一個(gè)帶有Sigmoid激活函數(shù)的神經(jīng)元對(duì)作物病害進(jìn)行判斷。本文使用的注意力機(jī)制是在拼接向量fij的基礎(chǔ)上,計(jì)算每一個(gè)元素的概率權(quán)重αij,即uij和fij之間的映射。
uij=tanh(Wfij)
(4)
(5)
(6)
式中W——參數(shù)矩陣,需要從訓(xùn)練數(shù)據(jù)里學(xué)習(xí)
c——最后注意力,由權(quán)重和相應(yīng)的鍵值進(jìn)行加權(quán)求和得到
uij——隱藏表示
uw——上下文向量,需從訓(xùn)練數(shù)據(jù)里學(xué)習(xí)
本研究分類模型實(shí)驗(yàn)是基于Pytorch的深度學(xué)習(xí)庫(kù)實(shí)現(xiàn)的。所有模型都采用NVIDIA Quadro P2000 GPU(5GB)訓(xùn)練。
文本數(shù)據(jù)處理分支里對(duì)輸入文本進(jìn)行長(zhǎng)截短填,將輸入數(shù)據(jù)的最大文本長(zhǎng)度(Pad-size)設(shè)定為80。若文本真實(shí)長(zhǎng)度小于Pad-size,則用0填充;若文本真實(shí)長(zhǎng)度超出Pad-size,則截?cái)嘀罰ad-size。為了防止過度擬合,加入了0.1的Dropout。
訓(xùn)練過程中使用隨機(jī)梯度下降法,經(jīng)過多次參數(shù)調(diào)整,最終將學(xué)習(xí)率設(shè)置為3×10-5。訓(xùn)練共進(jìn)行4個(gè)Epoch(每個(gè)Epoch約900次迭代),批量大小設(shè)置為16,并對(duì)所有的參數(shù)應(yīng)用權(quán)重衰減為0.01的L2正則化。
由于作物病害診斷數(shù)據(jù)集的不平衡性,準(zhǔn)確率作為評(píng)價(jià)指標(biāo)容易產(chǎn)生誤導(dǎo),F(xiàn)1值(F1-score)更適用作為不平衡數(shù)據(jù)集分類任務(wù)的模型評(píng)價(jià)指標(biāo)。因此,本文采用精確率(Precision)、召回率(Recall)、F1值和準(zhǔn)確率(ACC)來評(píng)價(jià)模型對(duì)不同病害的分類效果,并使用宏平均法來評(píng)估模型的整體性能。此外,還使用混淆矩陣來檢查每種作物病害診斷正確率。
3.3.1消融實(shí)驗(yàn)
本研究構(gòu)建的BM-Att模型核心在于文本數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)的特征提取和融合,通過添加處理結(jié)構(gòu)化數(shù)據(jù)的MLP模塊和特征融合階段的注意力模塊改進(jìn)基于BERT的原始診斷模型。為了驗(yàn)證提出的BM-Att病害診斷模型的有效性,在15種病害數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn)研究,并使用測(cè)試集評(píng)估模型性能。在模型訓(xùn)練中,使用僅處理文本數(shù)據(jù)的BERT作為基線模型,分別通過添加結(jié)構(gòu)化數(shù)據(jù)處理分支和注意力機(jī)制方式優(yōu)化BERT模型,得到BERT-MLP和BERT-Att 2個(gè)優(yōu)化模型。最后,通過在處理文本數(shù)據(jù)的BERT模型之外,同時(shí)添加處理結(jié)構(gòu)化數(shù)據(jù)的MPL模塊和數(shù)據(jù)融合后的注意力機(jī)制獲得BM-Att(BERT+MLP+Att)。表1為不同模型診斷結(jié)果的準(zhǔn)確率、精確率、召回率和F1值。
表1 各模型消融實(shí)驗(yàn)結(jié)果對(duì)比Tab.1 Comparison of each model in ablation studies %
結(jié)果表明,消融實(shí)驗(yàn)中的各個(gè)模型結(jié)果的F1值都優(yōu)于僅處理文本數(shù)據(jù)的原始BERT,并且本文提出的BM-Att模型準(zhǔn)確率最高。
相對(duì)于BERT模型,BERT-MLP模型的準(zhǔn)確率、精確率、召回率和F1值分別提高1.16、1.27、2.28、1.91個(gè)百分點(diǎn),主要由于結(jié)構(gòu)化數(shù)據(jù)帶來的不同于文本數(shù)據(jù)的信息,為病害診斷特征融合模型提供了有效基礎(chǔ)。
相對(duì)于BERT模型,BERT-Att模型的精確率、召回率和F1值分別提高1.23、0.22、0.22個(gè)百分點(diǎn),但是準(zhǔn)確率略有下降,整體變化不大。主要由于BERT預(yù)訓(xùn)練語(yǔ)言模型的Transformer層包含多頭注意力機(jī)制,能夠有效提取文本語(yǔ)義特征,并在下游分類任務(wù)上實(shí)現(xiàn)很好的效果,額外添加注意力機(jī)制沒有太大變化。
相對(duì)于BERT模型,BM-Att模型的準(zhǔn)確率、精確率、召回率和F1值分別提高1.59、2.8、3.5、3.38個(gè)百分點(diǎn),F(xiàn)1值宏平均值達(dá)到95.85%,主要由于添加了MLP結(jié)構(gòu)化數(shù)據(jù)處理模塊和在特征融合階段添加注意力機(jī)制能夠有效改進(jìn)融合效果。
3.3.2單文本分支影響
植物電子病歷中的文本數(shù)據(jù)包含了大量重要信息,能否對(duì)其進(jìn)行有效提取是實(shí)現(xiàn)病害智能診斷的關(guān)鍵。為了驗(yàn)證提出的BM-Att模型在文本信息提取方面的有效性,比較多種具有代表性的文本數(shù)據(jù)處理模型。在15種常見作物病害數(shù)據(jù)集上,對(duì)比了BERT語(yǔ)言模型同其它處理文本數(shù)據(jù)的常見模型:CNN、RCNN、帶有注意力機(jī)制的RNN(AttRNN)、FastText、Transformer和ERNIE。表2為不同模型診斷結(jié)果的精確率、召回率、F1值和準(zhǔn)確率。
表2 文本分支模型結(jié)果對(duì)比Tab.2 Comparison of model results of text branches %
結(jié)果顯示,本文提出的模型在所有指標(biāo)上均取得了最好的結(jié)果,在測(cè)試集的準(zhǔn)確率、精確率、召回率和F1值的宏平均值分別達(dá)到95.82%、96.38%、95.48%和95.85%,準(zhǔn)確率比ERNIE高出1.49個(gè)百分點(diǎn),F(xiàn)1值比BERT高出3.38個(gè)百分點(diǎn),這證明了結(jié)構(gòu)化數(shù)據(jù)的加入有助于診斷準(zhǔn)確率的提升。
在其它模型中,基于預(yù)訓(xùn)練的深度學(xué)習(xí)模型BERT和ERNIE取得了最好的效果。具體來說,BERT取得了更高的精確率和F1值,分別達(dá)到93.58%和92.47%,而ERNIE取得了更好的召回率和準(zhǔn)確率,分別達(dá)到92.44%和94.33%。預(yù)訓(xùn)練語(yǔ)言模型可以從海量的語(yǔ)料中學(xué)習(xí)到通用的語(yǔ)言表示,并顯著提升深度學(xué)習(xí)在下游NLP任務(wù)中的表現(xiàn)[18]。
3.3.3結(jié)構(gòu)化數(shù)據(jù)影響
經(jīng)過one-hot編碼,植物電子病歷中的結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為一維數(shù)據(jù)。為了驗(yàn)證所提出的BM-Att模型對(duì)一維數(shù)據(jù)信息提取的有效性,比較了結(jié)構(gòu)化數(shù)據(jù)的不同處理方式對(duì)模型效果的影響。所提出的BM-Att模型在結(jié)構(gòu)化數(shù)據(jù)處理分支采用的是MLP模型,將其與具有代表性的一維數(shù)據(jù)分類模型進(jìn)行比較,包括一維ALEX、一維卷積神經(jīng)網(wǎng)絡(luò)(1dCNN)、一維長(zhǎng)短期記憶網(wǎng)絡(luò)(1dLSTM)和基于注意力機(jī)制的一維長(zhǎng)短期記憶網(wǎng)絡(luò)(1dAttLSTM)。在實(shí)驗(yàn)中,選擇文本分支中效果較好的2種預(yù)訓(xùn)練模型BERT和ERNIE作為基礎(chǔ)模型,添加上述5種處理方式的結(jié)構(gòu)化數(shù)據(jù)分支,對(duì)比不同數(shù)據(jù)融合模型的診斷效果。表3為BERT-ALEX、BERT-1dCNN、BERT-1dLSTM、BERT-1dAttLSTM、BERT-MLP、ERNIE-ALEX、ERNIE-1dCNN、ERNIE-1dLSTM、ERNIE-1dAttLSTM、ERNIE-MLP等模型在測(cè)試集上的準(zhǔn)確率、精確率、召回率和F1值。
表3 結(jié)構(gòu)化數(shù)據(jù)分支模型結(jié)果對(duì)比Tab.3 Comparison of model results for structured data branches %
結(jié)果顯示,不管文本處理分支采用的是BERT還是ERNIE,相比ALEX、1dCNN、1dLSTM以及基于注意力機(jī)制的1dLSTM(1dAttLSTM),MLP均取得了最好的結(jié)果。尤其是BERT-MLP,F(xiàn)1值和準(zhǔn)確率分別為94.38%和95.39%。對(duì)于植物電子病歷,結(jié)構(gòu)化數(shù)據(jù)分支處理的是低維度數(shù)據(jù)。一般來說,MPL簡(jiǎn)明的結(jié)構(gòu)適用于一維數(shù)據(jù)并且在高噪聲條件下表現(xiàn)良好,在醫(yī)學(xué)診斷領(lǐng)域有著廣泛應(yīng)用[24-26]。
3.3.4注意力機(jī)制影響
表4為注意力機(jī)制對(duì)模型的影響。在數(shù)據(jù)融合階段,BM-Att模型引入注意力機(jī)制提取重要特征,以優(yōu)化特征融合效果。結(jié)果顯示,注意力機(jī)制在各項(xiàng)指標(biāo)上均提升了模型的分類效果。相比沒有添加注意力機(jī)制的模型,在數(shù)據(jù)融合階段增加注意力層的模型在大多數(shù)病害類別上達(dá)到了更好的分類效果。尤其是對(duì)于生菜、西瓜等小樣本病害,診斷效果有了明顯的改進(jìn),將西瓜線蟲診斷的F1值從90.64%提高到100%。從整體上看,F(xiàn)1值的宏平均值提高1.47個(gè)百分點(diǎn),F(xiàn)1加權(quán)平均值和準(zhǔn)確率分別提高0.42、0.43個(gè)百分點(diǎn)。相比加權(quán)平均值,宏平均值更加注重模型對(duì)不平衡數(shù)據(jù)集中較小樣本的分類效果。注意力機(jī)制通過權(quán)重分配融合全局信息,選擇性地強(qiáng)調(diào)關(guān)鍵特征,發(fā)掘模型對(duì)不同類別數(shù)據(jù)特征的關(guān)注點(diǎn),改進(jìn)了模型的重要特征提取能力[27-28]。在數(shù)據(jù)融合階段添加的注意力機(jī)制讓模型對(duì)于小樣本病害投入了更多的關(guān)注,這對(duì)病害智能診斷的實(shí)際應(yīng)用具有重要意義。
表4 注意力機(jī)制影響對(duì)比Tab.4 Comparison of effects of attentional mechanisms %
(1)針對(duì)電子病歷中的文本數(shù)據(jù)部分,采用預(yù)訓(xùn)練BERT語(yǔ)言模型提取深層語(yǔ)義特征。對(duì)比CNN、RCNN、帶有注意力機(jī)制的RNN、FastText、Transformer、ERNIE和BERT模型,發(fā)現(xiàn)與傳統(tǒng)深度學(xué)習(xí)模型相比,基于預(yù)訓(xùn)練的BERT語(yǔ)言模型取得了好的效果,F(xiàn)1值達(dá)到92.47%。原因是預(yù)訓(xùn)練語(yǔ)言模型可以從海量的語(yǔ)料中學(xué)習(xí)到通用的語(yǔ)言表示,能更好地提取文本中的重要信息。
(2)針對(duì)電子病歷中的結(jié)構(gòu)化數(shù)據(jù)部分,對(duì)比不同處理方式對(duì)模型效果的影響,結(jié)果顯示,不管文本處理分支采用的是BERT還是ERNIE,在結(jié)構(gòu)化數(shù)據(jù)分支采用MLP均為最佳選擇。相比ALEX、1dCNN、1dLSTM以及基于注意力機(jī)制的1dAttLSTM等復(fù)雜網(wǎng)絡(luò),MPL的多層全連接層結(jié)構(gòu)對(duì)于編碼形成的低維度數(shù)據(jù)更加簡(jiǎn)明有效。
(3)在數(shù)據(jù)融合階段添加注意力機(jī)制,通過權(quán)重分配強(qiáng)調(diào)關(guān)鍵信息特征,發(fā)掘模型對(duì)不同類別數(shù)據(jù)特征的關(guān)注點(diǎn),改進(jìn)了模型對(duì)重要特征的提取能力,將F1值宏平均值提高1.47個(gè)百分點(diǎn)。更重要的是,注意力機(jī)制能顯著改進(jìn)模型對(duì)小樣本類別的分類效果,將西瓜線蟲診斷的F1值從90.64%提高到100%,對(duì)于病害智能診斷的實(shí)際應(yīng)用具有重要意義。
(4)綜合來看,本文提出的方法在基于植物電子病歷的15種常見作物病害的診斷任務(wù)上結(jié)果最佳,在所有指標(biāo)上均取得了最好的結(jié)果,F(xiàn)1值宏平均值和準(zhǔn)確率分別達(dá)到95.85%和95.82%,表明本文模型能夠?qū)崿F(xiàn)作物病害的有效診斷。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2023年1期