李 林 周 晗 郭旭超 劉成啟 蘇 潔 唐 詹
(中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 北京 100083)
農(nóng)作物病蟲害知識圖譜構(gòu)建的基礎(chǔ)是命名實(shí)體識別,即從未加工的農(nóng)作物病蟲害文本中識別出特定類別的專有名詞實(shí)體。其準(zhǔn)確率直接影響農(nóng)作物病蟲害領(lǐng)域多種自然語言處理技術(shù)的結(jié)果[1-3]。
國內(nèi)外眾多學(xué)者對命名實(shí)體識別進(jìn)行了研究,并取得了較多研究成果[4-8]。但這些方法都基于機(jī)器學(xué)習(xí),需要人工添加大量特征,無法適應(yīng)數(shù)據(jù)模式的變化。近年來,研究人員結(jié)合不同的半監(jiān)督學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)(Deep neural networks,DNN),以找到命名實(shí)體識別、關(guān)系抽取[9]和知識圖譜構(gòu)建等分塊任務(wù)的最佳解決方案[10]。在英語命名實(shí)體識別上,文獻(xiàn)[11]使用基于長短時記憶網(wǎng)絡(luò)和條件隨機(jī)場相結(jié)合(Long short-term memory-conditional random field,LSTM-CRF)的中文分詞聯(lián)合訓(xùn)練方法,精確度提高了5%。文獻(xiàn)[12]首次將雙向長短時記憶網(wǎng)絡(luò)和條件隨機(jī)場相結(jié)合的方法(Bidirectional long short-term memory-conditional random field,BILSTM-CRF)應(yīng)用于自然語言處理(Natural language processing,NLP)基準(zhǔn)序列標(biāo)記數(shù)據(jù)集,與之前的工作相比,取得了更好的結(jié)果。文獻(xiàn)[13]使用迭代擴(kuò)張卷積神經(jīng)網(wǎng)絡(luò)(Iterated dilated convolutional neural networks,IDCNN)方法,從整個文檔中聚合上下文的IDCNN識別實(shí)體,準(zhǔn)確性較高,且相對于長短時記憶網(wǎng)絡(luò)(Long short-term memory,LSTM),IDCNN可實(shí)現(xiàn)并行計算,提高了實(shí)體識別速度。
與英語命名實(shí)體識別相比,漢語命名實(shí)體識別研究起步較晚,難度更大[14-16]。嵌入字或者詞匯向量能較好地捕捉中文語義信息。文獻(xiàn)[17]提出了Lattice-LSTM模型,該模型利用字符級別和詞匯級別的信息,在OntoNotes、MSRA、Weibo和Resume等4種中文數(shù)據(jù)集上取得了較好的效果。文獻(xiàn)[18]提出了一種卷積注意力網(wǎng)絡(luò)模型(Convolutional attention network for named entity recognition,CAN-NER),該模型使用字符級特征捕獲單詞級特征和上下文信息,在不同領(lǐng)域的中文數(shù)據(jù)集上取得了很好的性能。文獻(xiàn)[19]提出了BERT-IDCNN-CRF模型,該模型使用BERT嵌入詞向量,在中文命名實(shí)體任務(wù)上優(yōu)于Lattice-LSTM模型,F(xiàn)1值提高了1.23%,與基于BERT微調(diào)的方法相比,該方法的F1值略低,但是訓(xùn)練時間大幅度縮短。
目前,中文農(nóng)作物病蟲害命名實(shí)體識別存在如下問題:已有的相關(guān)工作是基于傳統(tǒng)機(jī)器學(xué)習(xí)方法,需要一種能自動學(xué)習(xí)文本特征的農(nóng)作物病蟲害命名實(shí)體識別方法;文獻(xiàn)[20-21]雖然提出了深度學(xué)習(xí)的方法對農(nóng)業(yè)命名實(shí)體進(jìn)行識別,但該方法不能很好地捕捉詞匯的邊界信息,阻礙了模型對詞匯信息的充分利用;中文農(nóng)作物病蟲害語料缺失,增加了對相關(guān)命名實(shí)體識別的難度。
為解決上述問題,本文提出一種基于半遠(yuǎn)程監(jiān)督的停等算法,構(gòu)建中文農(nóng)作物病蟲害語料庫;提出一種基于多源分詞信息和全局詞匯嵌入信息的神經(jīng)網(wǎng)絡(luò)模型Agr-IE,該模型以BERT-BILSTM-CRF[22]為基本框架,采用實(shí)體詞典與多種分詞工具相結(jié)合的方式劃分詞匯邊界;采用加權(quán)的方式重置詞匯中各字符向量,使其充分結(jié)合字符級與詞匯級的信息,以提高模型捕捉上下文信息的能力。
1.1.1中文農(nóng)作物病蟲害數(shù)據(jù)集構(gòu)建
對比農(nóng)藥百科、農(nóng)業(yè)問答等文本數(shù)據(jù),論文摘要蘊(yùn)含了大量農(nóng)作物病蟲害知識,且更具有權(quán)威性和可靠性。通過挖掘論文摘要中“農(nóng)作物-病(蟲)害-農(nóng)藥”和“農(nóng)作物-病(蟲)害-病原”等關(guān)聯(lián)信息構(gòu)建農(nóng)作物病蟲害知識圖譜,能準(zhǔn)確收集最新的農(nóng)作物病蟲害防治方法。本文基于爬蟲技術(shù),采用深度優(yōu)先搜索的策略獲取CNKI網(wǎng)站中農(nóng)作物病蟲害類期刊論文摘要作為原始文本數(shù)據(jù)。本文研究目標(biāo)主要是識別病害、蟲害、病原、藥劑和作物等實(shí)體,實(shí)體定義和樣例如表1所示。
表1 實(shí)體定義和樣例Tab.1 Definition of entity and corresponding examples and notes
在摘要數(shù)據(jù)中,包含了英文大小寫、簡寫、連字符和實(shí)體嵌套等多種情況,如“水稻條葉紋枯病”為“水稻”和“條葉紋枯病”兩種實(shí)體組成,摘要數(shù)據(jù)示例如圖1所示。
1.1.2數(shù)據(jù)標(biāo)注
本文自主開發(fā)了一款標(biāo)注軟件“LableText”來半自動標(biāo)注摘要數(shù)據(jù)中的實(shí)體,減少了標(biāo)注數(shù)據(jù)所需要的人力成本以及時間成本,如圖2所示。
“LableText”使用停等算法實(shí)現(xiàn)了原始數(shù)據(jù)分析處理。
本文隨機(jī)選取20 000條摘要進(jìn)行標(biāo)注。命名實(shí)體識別的常用標(biāo)簽?zāi)J桨ā癇IO”、“BIEO”和“BIEOS”。由于本文實(shí)體識別算法模型Agr-IE的需求,故采用“BIEOS”表達(dá)策略,其中“B”表示實(shí)體的開頭,“I”表示實(shí)體的中間部分,“E”表示實(shí)體的結(jié)尾,“S”表示單個字符表示的實(shí)體,“O”表示不是實(shí)體。表2給出了BIEOS標(biāo)記的樣例。
1.1.3數(shù)據(jù)集劃分
在預(yù)處理20 000條摘要文本數(shù)據(jù)后,剩下16 014條可用數(shù)據(jù)。將剩下的文本數(shù)據(jù)劃分為訓(xùn)練集、測試集和驗(yàn)證集。其中訓(xùn)練集10 014條,驗(yàn)證集和測試集都為3 000條。為了適應(yīng)訓(xùn)練中訓(xùn)練集的規(guī)模,設(shè)置訓(xùn)練集與測試集的比例高于傳統(tǒng)的樣本劃分。訓(xùn)練集、驗(yàn)證集、測試集中句子、實(shí)體的數(shù)量以及未登錄詞(Out of vocabulary,OOV)比例如表3所示。
表2 文本以及相應(yīng)的BIEOS 格式標(biāo)簽樣例Tab.2 Examples of text and corresponding BIEOS format tags
為減少數(shù)據(jù)標(biāo)注過程中產(chǎn)生的人力成本與時間成本,本文提出停等算法半自動標(biāo)注已獲取的摘要文本。該算法通過詞典與人工相結(jié)合的方式標(biāo)注部分?jǐn)?shù)據(jù),在進(jìn)行一部分標(biāo)注后,以已標(biāo)注的數(shù)據(jù)作為訓(xùn)練集,未標(biāo)注的數(shù)據(jù)作為測試集,執(zhí)行一次算法,將最后獲取的詞人工檢查后存入詞典,并對剩下數(shù)據(jù)進(jìn)行標(biāo)注,隨著詞匯增加,能自動識別的實(shí)體數(shù)量逐漸增大,極大地減少了數(shù)據(jù)標(biāo)注過程中產(chǎn)生的人力成本與時間成本。為創(chuàng)建初始領(lǐng)域詞典,本文選取具有公信力的政府平臺、大型企業(yè)和科研院所的官方網(wǎng)站作為詞典語料的主要來源,例如中國農(nóng)藥信息網(wǎng)(http:∥www.chinapesticide.org.cn/hysj/index.jhtml)、中國農(nóng)業(yè)信息網(wǎng)(http:∥www.agri.cn/)、山東省農(nóng)業(yè)和農(nóng)村廳植保技術(shù)網(wǎng)(http:∥www.sdny.gov.cn/yysjk/zbjs/)和世紀(jì)農(nóng)藥網(wǎng)(https:∥www.nongyao001.com/sell/)等。從這些網(wǎng)站上共獲取41 583條結(jié)構(gòu)化信息,因藥劑名稱具有多樣性,本文將藥劑名稱與劑型合并后作為新的詞匯,并將新詞匯與原來的藥劑名稱一起存入詞典,例如,將“丙草胺”與“乳油”合并,得到詞匯“丙草胺乳油”,并將“丙草胺乳油”與“丙草胺”一起存入藥劑詞典。將所有實(shí)體存在的別名和英語名稱,采用重復(fù)性檢查后再存儲到藥劑詞典中,最終,本文得到詞匯數(shù)量為113 915的領(lǐng)域詞典。
表3 農(nóng)作物病蟲害數(shù)據(jù)集劃分統(tǒng)計Tab.3 Statistics of crop diseases and insect pests dataset division
∥ 詞典匹配
∥模型訓(xùn)練
Fort=1,2,…,Tdo
更新模型f(x;θ(0)):
θ(t)=V(θ(t-1))
∥得到循環(huán)T次后的模型以及每次識別出的實(shí)體:
∥統(tǒng)計每次迭代過程中都識別出來的實(shí)體:
Fort=1,2,…,Tdo
∥ 將獲取到的新詞存入詞典Kws
Kws={Kws,Da}
Output:新詞典Kws
停等算法通過詞典與人工先驗(yàn)知識相結(jié)合的方式擴(kuò)充了領(lǐng)域詞典,降低了標(biāo)注軟件自動識別實(shí)體過程中所產(chǎn)生的噪聲,提高了軟件自動識別實(shí)體的精度。同時,為了防止模型出現(xiàn)過擬合的情況,本文將LSTM-CRF的迭代次數(shù)設(shè)置為7,使模型提前停止迭代,進(jìn)而提升模型的召回率。因此,該算法可以更好地識別未知實(shí)體并將其分類。圖3展示了各情況下模型對實(shí)體識別效果的擬合圖。
近年來,中文命名實(shí)體識別工作通常采用字符級嵌入或使用預(yù)訓(xùn)練模型處理數(shù)據(jù),這種方式雖然能取得不錯的效果,但不能充分利用詞匯級別信息。本文在模型中引入分詞信息與全局詞匯嵌入信息優(yōu)化表示字符向量,以獲取豐富的語義知識。本文提出的Agr-IE模型結(jié)構(gòu)如圖4所示,模型主要包括字符嵌入層、優(yōu)化表示層和BILSTM-CRF層。其中,e1~e7表示BILSTM對句子的正向建模信息,e′1~e′7表示BILSTM對句子的反向建模信息。
本文使用BERT中文語言模型嵌入離散的文本。BERT在預(yù)訓(xùn)練時,使用WordPiece模型創(chuàng)建一個包含所有字符以及所訓(xùn)練語料庫中常見詞匯和子詞匯的tokenizer。為了將詞匯表示為tokenizer中單個字符的集合,BERT在新的語料訓(xùn)練時對詞匯表中的詞匯分解為盡可能大的子詞,最后將詞匯分解為子字符。例如:不給“水稻惡苗病”和詞匯表之外的詞匯分配重載的未知詞匯表標(biāo)記,而是將該詞匯拆分為子單詞標(biāo)記[水、##稻、##惡、##苗、##病],使組合后的詞匯能夠保留原始詞匯的上下文含義。
使用BERT預(yù)訓(xùn)練模型能在一定程度上利用詞匯級別的信息,但仍存在詞匯級別信息利用不充分問題,對此,本文提出了優(yōu)化表示層解決該問題。優(yōu)化表示層主要分為詞邊界信息融合和分詞信息整合兩部分,結(jié)構(gòu)如圖5所示。
(1)
式中W1、W2——可訓(xùn)練權(quán)重矩陣
K——預(yù)訓(xùn)練向量的編碼表示
softmax——?dú)w一化指數(shù)函數(shù)
同時,本文將矩陣Aw寫成以字符串為序列的集合
(2)
(3)
(4)
式中 Maxpooling——最大池化函數(shù)
Avepooling——平均池化函數(shù)
但這種方法只考慮了當(dāng)前詞匯信息的表示,而沒有考慮到詞匯中字符的位置信息,為此,匹配結(jié)果無法復(fù)原原始的詞匯信息,從而導(dǎo)致信息損失。例如“稻瘟病”和“水稻”兩個詞匯中“稻”的表示向量相同,但位置信息不同。本文使用靜態(tài)加權(quán)的方式對詞匯集合進(jìn)行編碼,用來解決位置信息缺失問題。例如,在“稻瘟病”和“水稻”兩個詞匯中,“稻”在前者的標(biāo)簽為“B”,在后者中的標(biāo)簽為“I”,則將“稻瘟病”和“水稻”分配到不同的集合中,并加權(quán)計算所有集合1與集合2的詞匯編碼,得到“稻”的表示向量c′i為
(5)
式中D——集合1中的詞匯數(shù)量
E——集合2中的詞匯數(shù)量
為使向量維度與初始向量一致,本文模型采用上采樣的方法整合兩種編碼:將該詞包含的所有字符在原始字符串中的位置都賦予c′i,本文使用Anw表示對齊后的注意力矩陣
(6)
為了融合上下文信息,利用本文模型計算attention矩陣與原始預(yù)訓(xùn)練向量編碼矩陣P,計算公式為
S=AnwPWn
(7)
式中Wn——可學(xué)習(xí)的權(quán)重參數(shù)
S——上下文信息
(8)
式中k——注意力矩陣個數(shù)
W0——可學(xué)習(xí)的權(quán)重參數(shù)
Concat——矩陣合并函數(shù)
由于分詞工具的分詞粒度、分割誤差和不同知識,所得結(jié)果會有一定的誤差。因此本文采用多種分詞工具獲取上下文信息后,再整合所有信息,則對多源分詞工具整合后的最終編碼輸出為
(9)
式中Wg——可學(xué)習(xí)的權(quán)重參數(shù)
由于不同的分詞工具存在不同的識別粒度,會使分詞結(jié)果產(chǎn)生不同的語義,本文使用了6種常用的中文分詞工具分別對“咪鮮·殺螟丹可濕性粉劑”、“水稻紋曲病”和“稻瘟病”進(jìn)行分詞,分詞結(jié)果如表4所示。
表4 6種常用的中文分詞工具分詞效果對比Tab.4 Comparison of word segmentation effects of six commonly used Chinese word segmentation tools
由表4可知,所有的分詞工具對存在實(shí)體名稱嵌套的情況,都不能較好地識別實(shí)體名詞邊界,會導(dǎo)致多源分詞信息整合后的詞匯向量仍然存在誤差。本文提出了一種判斷機(jī)制優(yōu)化該模型,在數(shù)據(jù)文本輸入后,將已有的實(shí)體標(biāo)簽與分詞結(jié)果對比,如果分詞結(jié)果破壞了嵌套子實(shí)體的完整性,則舍棄該分詞結(jié)果。例如,對于包含病害名詞“水稻粒瘟病”的文本,如果被劃分為“水稻?!?、“瘟病”兩部分,則舍棄該結(jié)果;如果被劃分為“水稻”、“粒瘟病”,則將這兩部分組合起來,形成最終結(jié)果:“水稻粒瘟病”。
農(nóng)作物病蟲害文本中常出現(xiàn)長距離依賴關(guān)系,僅使用詞匯級別的信息識別實(shí)體存在一定困難,如“用枯草芽孢桿菌拌棉花種子,對黃萎病有一定的防治效果”中,“枯草芽孢桿菌”是一種生物防菌劑,“黃萎病”為病害名,但“枯草芽孢桿菌”單獨(dú)出現(xiàn)時,存在特征“菌”,易被判斷為病原菌,因此,需要捕捉文本中存在的上下文信息。BILSTM基于LSTM的網(wǎng)絡(luò)結(jié)構(gòu),能捕捉句子級別的信息,它主要包含輸入門it、遺忘門ft、細(xì)胞狀態(tài)ct和輸出門ot共4部分。LSTM的計算過程為
it=sigmoid(wi[ht-1,xt]+bi)
(10)
ft=sigmoid(wf[ht-1,xt]+bf)
(11)
(12)
(13)
ot=sigmoid(wo[ht-1,xt]+bo)
(14)
ht=ot?tanh(ct)
(15)
式中w——運(yùn)算權(quán)重b——運(yùn)算偏差
xt——觀測預(yù)料序列
wi——輸入門計算對應(yīng)的權(quán)重矩陣
wf——遺忘門計算對應(yīng)的權(quán)重矩陣
wc——中間狀態(tài)計算對應(yīng)的權(quán)重矩陣
ht——t時刻的輸出結(jié)果
但BILSTM的輸出是獨(dú)立的,這會導(dǎo)致非法標(biāo)注結(jié)果的出現(xiàn),例如標(biāo)簽{O,B,O,I,I,O}中,標(biāo)記“I”只能出現(xiàn)在“B”或者“I”之后,因此在BILSTM網(wǎng)絡(luò)層后接入一個CRF層,作為模型的最終解碼器。CRF將序列標(biāo)注看成是一個kn分類的問題。即計算條件概率。
P(y1,y2,…,yn|x1,x2,…,xn)=
P(y1,y2,…,yn|X)
(16)
式中y——需要的語料標(biāo)注序列
P——條件概率
X——輸入的文本序列,X={x1,x2,…,xn}
為了計算條件概率,CRF假設(shè):該分布為指數(shù)族分布;輸出之間的關(guān)聯(lián)僅發(fā)生在相鄰的位置,且關(guān)聯(lián)具有指數(shù)相加性。由此可得
(17)
式中tk——對應(yīng)x標(biāo)記位于第k時刻的特征函數(shù)
sl——對應(yīng)x標(biāo)記位于l的特征函數(shù)
λk——特征函數(shù)tk對應(yīng)的權(quán)重
ul——特征函數(shù)sl對應(yīng)的權(quán)重
在解碼過程中,CRF計算所有可能標(biāo)簽序列的總得分,并采用Viterbi算法搜索所有輸出的標(biāo)簽序列,將具有最高預(yù)測總得分的序列作為最終輸出,得到最佳標(biāo)記結(jié)果。
實(shí)驗(yàn)過程分為數(shù)據(jù)采集、模型構(gòu)建和測試3個階段,具體流程如圖6所示。在數(shù)據(jù)采集階段,本文收集了大量農(nóng)作物病蟲害相關(guān)的摘要文本,并進(jìn)行了文本處理(包括數(shù)據(jù)去重、空格刪除和編碼轉(zhuǎn)換),利用基于半遠(yuǎn)程監(jiān)督的停等算法構(gòu)建了農(nóng)作物病蟲害命名實(shí)體識別數(shù)據(jù)集。模型構(gòu)建階段分為3部分:網(wǎng)絡(luò)結(jié)構(gòu)分析,參數(shù)調(diào)整,模型訓(xùn)練。測試評估階段,本文分別在已有的公開數(shù)據(jù)集(MSRA,Weibo)上進(jìn)行了實(shí)驗(yàn),以驗(yàn)證該方法的泛化能力和穩(wěn)定性。
所有實(shí)驗(yàn)基于Tensorflow框架進(jìn)行,服務(wù)器平臺配置為:Intel(R)Core(TM)i3-3220 CPU,3.30 GHz處理器,16 GB運(yùn)行內(nèi)存,硬盤容量為128 GB+1 TB,使用GeForce GTX 1080 Ti GPU,內(nèi)存11 GB。本文采用3種在自然語言處理領(lǐng)域通用的評價指標(biāo)對模型的性能進(jìn)行評估,即準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F1值(F1 score)[23]。
MSRA是一個命名實(shí)體識別研究人員廣泛使用的大型數(shù)據(jù)集合,是SIGHAN Bakeoff 2006使用的中文命名實(shí)體識別數(shù)據(jù)集,MSRA與Weibo數(shù)據(jù)集均包括PER、ORG、LOC共3個類別的實(shí)體。MSRA和Weibo的統(tǒng)計信息如表5所示。
表5 MSRA和Weibo數(shù)據(jù)集劃分統(tǒng)計
本文對以句號結(jié)尾的最長句子計算其長度,最長句子長度為217個漢字,由中文語言學(xué)提出的“句號表示一句話的結(jié)束,新一句話的開始”的觀點(diǎn),設(shè)置最大句長為256。Adaptive moment estimation (Adam)[24]是一種結(jié)合了Adagrad[25]善于處理稀疏梯度和RMSprop[26]善于處理非平穩(wěn)目標(biāo)的優(yōu)點(diǎn)的自適應(yīng)算法,能夠加快網(wǎng)絡(luò)收斂速度,本文采用BERT模型自帶的Adam Weight Decay Optimizer為優(yōu)化器,將β1設(shè)置為0.9,β2設(shè)置為0.999進(jìn)行模型訓(xùn)練[24],分詞工具采用jieba、thulac、pkuseg。同時,在經(jīng)過參數(shù)調(diào)節(jié)實(shí)驗(yàn)后,本文將學(xué)習(xí)率設(shè)置為0.5,dropout設(shè)置為0.000 05。
3.3.1Agr-IE模型與常用模型的比較
本文首先在自建的農(nóng)作物病蟲害數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),以驗(yàn)證Agr-IE模型的合理性。將Agr-IE與目前常用模型BILSTM-CRF、BILSTM-Softmax、IDCNN-CRF、BERT-BILSTM-CRF、BERT對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表6所示,參與實(shí)驗(yàn)的模型均可有效地識別病害、蟲害、藥劑和作物4類實(shí)體。召回率和準(zhǔn)確率幾乎都在90%以上,但所有對比模型對病原實(shí)體的識別均存在一定困難,準(zhǔn)確率和召回率多數(shù)在70%~80%之間,不符合應(yīng)用要求。Agr-IE對病原的識別效果明顯高于其他模型,F(xiàn)1值為81.48%,因此,Agr-IE對農(nóng)作物病蟲害的適用性優(yōu)于其他模型。
3.3.2Agr-IE模型的泛化性和穩(wěn)定性實(shí)驗(yàn)
為了驗(yàn)證Agr-IE的泛化性和穩(wěn)定性,分別對Agr-IE與BILSTM-CRF、BERT-IDCNN-CRF、Lattice-LSTM-CRF、CAN-NER、BERT-BILSTM-CRF等主流模型在MSRA、Weibo兩個公開數(shù)據(jù)集上進(jìn)行命名實(shí)體識別實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7所示。
表6 農(nóng)作物病蟲害識別效果對比Tab.6 Comparison of identification effect of crop diseases and insect pests %
表7 各模型在公開數(shù)據(jù)集上識別效果對比Tab.7 Comparison of recognition effect of each model on public datasets %
在農(nóng)作物病蟲害數(shù)據(jù)集上,本文分別對Agr-IE與BILSTM-CRF、BILSTM-Softmax、IDCNN-CRF、BERT-BILSTM-CRF、BERT等模型進(jìn)行了實(shí)體識別能力判斷實(shí)驗(yàn),用以說明本文所提模型的合理性。實(shí)驗(yàn)結(jié)果如表6所示。
相比較于IDCNN-CRF,BILSTM-CRF在農(nóng)作物病蟲害數(shù)據(jù)集上的識別效果更好。這是因?yàn)镮DCNN雖然能夠通過在卷積核之間增加0,使得IDCNN的卷積核在不需要進(jìn)行pooling運(yùn)算的情況下擴(kuò)大信息的捕捉范圍,但是IDCNN也會因此丟失局部信息,同時,IDCNN有時捕獲到的遠(yuǎn)距離信息沒有相關(guān)性。
BILSTM-CRF對各類實(shí)體的識別效果比BILSTM-Softmax優(yōu)。這是因?yàn)镃RF能較好地捕捉標(biāo)簽之間的依賴性,例如,本文在對部分錯誤標(biāo)注的文本分析后發(fā)現(xiàn),經(jīng)由Softmax層標(biāo)注的文本有時會出現(xiàn)“I”標(biāo)簽或者“E”標(biāo)簽單獨(dú)出現(xiàn)的情況,但在BIEOS體系里,“I”標(biāo)簽只能跟在“B”標(biāo)簽之后,“E”標(biāo)簽只能出現(xiàn)在“I”標(biāo)簽或者“B”標(biāo)簽之后。
帶有BILSTM-CRF層的模型能捕捉更多的信息。相對于BERT單獨(dú)使用,BERT-BILSTM-CRF在病害、蟲害、病原、藥劑、作物5類實(shí)體上的F1值分別提升了2.24、1.93、3.52、1.72、3.8個百分點(diǎn)。這是因?yàn)锽ERT在加入BILSTM-CRF層后,對上下文信息的捕捉能力有所增強(qiáng)。
相對于BERT-BILSTM-CRF,利用隨機(jī)初始化詞向量參數(shù)的BILSTM-CRF對實(shí)體的識別效果較差,這是因?yàn)锽ERT在預(yù)訓(xùn)練階段能通過自帶的Transformer使訓(xùn)練結(jié)果攜帶豐富的語義信息,在微調(diào)訓(xùn)練過程中,BERT結(jié)合了當(dāng)前數(shù)據(jù)中存在的上下文信息,能更好地對詞向量進(jìn)行表示。
綜合表6結(jié)果來看,本文提出的Agr-IE優(yōu)于所有目前主流模型,例如,相對于其他5個模型中識別效果最好的BERT-BILSTM-CRF,Agr-IE在病害、蟲害、病原、藥劑、作物5類實(shí)體上的F1值分別提升了0.1、1.91、1.99、0.79、1.08個百分點(diǎn)。這是因?yàn)楸疚奶岢龅娜衷~匯嵌入方式能使字符向量包含部分當(dāng)前詞匯語境下的意思,同時,分詞信息能強(qiáng)化模型對于詞匯邊界的捕捉能力,使模型對實(shí)體名詞識別的效果更好。
最后,為了驗(yàn)證優(yōu)化表示層使用的兩種策略的合理性,本文在BERT-BILSTM-CRF上對所使用的兩種嵌入方式進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7所示。PAR(Participle)表示利用分詞信息,EMB(Embedding)表示利用全局詞匯嵌入信息。利用分詞信息以及利用全局詞匯嵌入信息進(jìn)行詞嵌入在5類實(shí)體的識別效果上基本持平,在部分實(shí)體的識別效果上略高于BERT-BILSTM-CRF,但都低于Agr-IE,這是因?yàn)閱为?dú)利用分詞信息,增強(qiáng)了模型對實(shí)體邊界的識別能力,但未增強(qiáng)向量對詞匯信息的攜帶能力;而單獨(dú)利用全局詞匯嵌入信息,雖然使模型對詞匯信息的使用能力增強(qiáng),但對實(shí)體邊界的識別能力沒有提升,易對詞匯邊界識別出錯,因此將兩種方式結(jié)合的Agr-IE對5類實(shí)體的識別效果更好。
同時,文獻(xiàn)[8]使用CRF方法對農(nóng)作物、病蟲害、農(nóng)藥等實(shí)體識別的準(zhǔn)確率分別達(dá)97.72%、87.63%和98.05%,然而這樣的方式需要對每個輸入的樣本分析其復(fù)雜的特征,這就使得該方法很難實(shí)現(xiàn)農(nóng)作物病蟲害命名實(shí)體的自動識別。因此,與傳統(tǒng)方法相比,Agr-IE更適用于對具有不同特征的農(nóng)作物病蟲害相關(guān)文本數(shù)據(jù)識別命名實(shí)體。綜上所述,本文所提出的Agr-IE作為農(nóng)作物病蟲害領(lǐng)域的識別模型具有較好的表現(xiàn)。
如表6所示,不同模型在病害、蟲害、藥劑和作物等4類實(shí)體識別上,都顯示出了較好的效果,但對病原的識別效果較差。識別效果最差的模型為BILSTM-Softmax,F(xiàn)1值為62.61%。這是因?yàn)楹胁≡悓?shí)體的文本較少,且存在一些生物防菌、實(shí)驗(yàn)菌株的干擾,例如:從實(shí)驗(yàn)生成的標(biāo)注文件里,本文發(fā)現(xiàn)部分模型將“立枯絲核菌”等部分菌類識別為生防菌劑,如表8所示。在一些關(guān)于生物菌劑防治的論文摘要里,會出現(xiàn)大量的實(shí)驗(yàn)代號,例如在一篇文獻(xiàn)中,“菌株QYZ1”為一種未被確認(rèn)的病原菌菌株代號,但是由于上下文的關(guān)系,被直接歸類為病原菌。同時,測試集中存在部分訓(xùn)練集中未出現(xiàn)過的實(shí)體名稱和未出現(xiàn)過的上下文信息模式,在訓(xùn)練時,模型對這些詞匯和上下文信息的識別能力較差,導(dǎo)致了實(shí)體識別效果差。在中文命名實(shí)體識別中,每個字符都不是單獨(dú)存在的,字符只有在特定的語境下才有具體的含義。Agr-IE通過識別詞匯邊界,能強(qiáng)化識別實(shí)體所處語境的能力,因此,Agr-IE在數(shù)量較少的實(shí)體類的識別上具有顯著的優(yōu)勢。
表8 各模型對“立枯絲核菌”的識別結(jié)果Tab.8 Identification results of different models for Rhizoctonia solani
為了驗(yàn)證Agr-IE模型泛化性和穩(wěn)定性,本文分別在MSRA和Weibo兩個公開數(shù)據(jù)集上開展了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7所示。本文所提出的Agr-IE模型在2個公開數(shù)據(jù)集上表現(xiàn)良好,尤其是在MSRA上,F(xiàn)1值達(dá)到了95.80%,顯著高于BILSTM-CRF,略高于BERT-IDCNN-CRF、Lattice-LSTM-CRF、CAN-NER,與BERT-BILSTM-CRF基本持平,這一趨勢與在Weibo數(shù)據(jù)集上的識別結(jié)果基本一致。因此,本文認(rèn)為Agr-IE模型具有良好的泛化性和穩(wěn)定性。
(1)提出了一種基于半遠(yuǎn)程監(jiān)督的停等算法,解決了中文農(nóng)作物病蟲害語料庫缺失和人工標(biāo)注命名實(shí)體工作量大的問題。該算法通過在標(biāo)注軟件的自動識別模型過擬合前停止算法運(yùn)行的方式,顯著提高了軟件對未知實(shí)體的召回率,使用該算法對中文農(nóng)作物病蟲害命名實(shí)體識別數(shù)據(jù)集進(jìn)行構(gòu)建,大幅度減少了標(biāo)注過程中的人工成本和時間成本。
(2)提出了基于多源分詞信息以及全局詞匯嵌入信息的Agr-IE模型,實(shí)驗(yàn)結(jié)果表明,Agr-IE的優(yōu)化表示層能較好地解決字符嵌入層無法充分利用詞匯級別信息的問題,在本文自主構(gòu)建的中文農(nóng)作物病蟲害命名實(shí)體識別語料庫上的實(shí)驗(yàn)表明,該模型能有效區(qū)分病害、蟲害、藥劑和作物等實(shí)體,在識別較為困難的病原實(shí)體上,Agr-IE也表現(xiàn)出了較好的識別效果,準(zhǔn)確率達(dá)到80.88%,召回率達(dá)到82.09%,F(xiàn)1值達(dá)到81.48%。
(3)Agr-IE模型具有較好的泛化性和穩(wěn)定性。Agr-IE模型在MSRA和Weibo數(shù)據(jù)集上取得了最佳的識別效果,F(xiàn)1值分別為95.80%、94.57%。