趙鵬飛,趙春江,2※,吳華瑞,王 維
(1. 山西農(nóng)業(yè)大學(xué)工學(xué)院,太谷 030801;2. 國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;3. 北京農(nóng)業(yè)信息技術(shù)研究中心,北京 100097;4. 北京農(nóng)業(yè)智能裝備技術(shù)研究中心,北京 100097)
面對海量的非結(jié)構(gòu)化農(nóng)業(yè)文本數(shù)據(jù),農(nóng)業(yè)命名實(shí)體識別任務(wù)能夠快速準(zhǔn)確的識別農(nóng)業(yè)實(shí)體,獲取高質(zhì)量的語義知識,為農(nóng)業(yè)信息抽取與語義檢索提供支撐,最終為基層農(nóng)業(yè)技術(shù)員提供專業(yè)、個性化的決策信息服務(wù)。
命名實(shí)體識別(Named Entity Recognition,NER)任務(wù)中,基于統(tǒng)計機(jī)器學(xué)習(xí)的方法將實(shí)體識別當(dāng)作序列標(biāo)注任務(wù)來處理,常見的模型有隱馬爾可夫模型、最大熵模型和條件隨機(jī)場等。文獻(xiàn)[5-7]基于條件隨機(jī)場模型,構(gòu)建不同組合的特征模板,對農(nóng)業(yè)領(lǐng)域?qū)嶓w進(jìn)行識別。但是,機(jī)器學(xué)習(xí)方法依賴人工制定的特征模板,耗時耗力,不具備領(lǐng)域通用性。近年來,基于深度學(xué)習(xí)的NER研究相繼展開。與機(jī)器學(xué)習(xí)方法相比,深度學(xué)習(xí)通過自動學(xué)習(xí)特征,以端到端的形式訓(xùn)練模型,在生物化學(xué)、醫(yī)療文本、軍事等領(lǐng)域取得了突破性進(jìn)展。研究者使用Word2vec工具,預(yù)訓(xùn)練獲取字向量,作為模型的輸入。王歡等提出一種基于BiLSTM與具有回路的條件隨機(jī)場相結(jié)合的方法,對機(jī)床設(shè)備故障領(lǐng)域的實(shí)體展開了研究。龔樂君等提出了一種基于領(lǐng)域詞典和條件隨機(jī)場的雙層標(biāo)注模型,從病歷文本識別出疾病、癥狀、藥品、操作四類實(shí)體。但是Word2vec生成的字向量是靜態(tài)的,表征單一,無法解決一詞多義的問題。為更好地提取文本特征信息,BERT被廣泛應(yīng)用于NER任務(wù)中。尹學(xué)振等提出BERT-BiLSTM-CRF實(shí)體識別模型,基于BERT的字向量表達(dá)層獲取字級別特征,在軍事領(lǐng)域進(jìn)行實(shí)體識別研究。李建等將中文特征和句法語義特征相結(jié)合,完成對專利文本實(shí)體的識別。陳劍等基于BiLSTM-CRF模型融入BERT層,在司法文書語料庫上進(jìn)行實(shí)體識別,解決特征提取效率低的問題。此外,毛明毅等基于BERT-BiLSTM-CRF模型,有針對性的減少BERT嵌入層數(shù),在中文數(shù)據(jù)集上驗(yàn)證了模型的有效性。
在農(nóng)業(yè)領(lǐng)域,缺少公開標(biāo)注的數(shù)據(jù)集,相關(guān)研究仍處于起步階段。Guo等基于卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制搭建NER模型,有效識別農(nóng)業(yè)病蟲害等實(shí)體。目前農(nóng)業(yè)領(lǐng)域的命名實(shí)體識別存在以下問題:1)模型無法解決一詞多義的現(xiàn)象;2)罕見或未知實(shí)體的識別率低;3)農(nóng)業(yè)外部詞典利用不充分。
針對上述問題,本文面向農(nóng)業(yè)領(lǐng)域提出一種基于BERT 和詞典特征融合的命名實(shí)體識別模型BERT-Dic-BiLSTM-CRF,該模型引入BERT雙向編碼器,進(jìn)行預(yù)訓(xùn)練,獲取豐富的字級語義信息,解決一詞多義的問題;針對農(nóng)業(yè)領(lǐng)域外部詞典豐富的特點(diǎn),引入詞典特征信息,提升模型對罕見實(shí)體的識別率。然后將字級向量與詞典特征拼接,作為BiLSTM-CRF層的輸入,最終獲得全局最優(yōu)的標(biāo)記序列。
本文使用輕量級爬蟲框架Scrapy,在中國農(nóng)藥信息網(wǎng)、中國作物種質(zhì)信息網(wǎng)、百度百科、國家農(nóng)業(yè)科學(xué)數(shù)據(jù)中心等權(quán)威機(jī)構(gòu)獲取相應(yīng)的文本數(shù)據(jù),通過數(shù)據(jù)清洗、去噪、去冗等預(yù)處理,保證數(shù)據(jù)可靠性。結(jié)合領(lǐng)域?qū)<抑R對語料進(jìn)行類別劃分和標(biāo)注,構(gòu)建農(nóng)業(yè)語料集,包含5 295條標(biāo)注語料,共29 483個實(shí)體,涵蓋農(nóng)作物病害、農(nóng)作物蟲害、農(nóng)藥名稱、農(nóng)機(jī)名稱、農(nóng)作物品種名稱5類實(shí)體。
本文采用BIOE標(biāo)注體系,其中,B-*代表實(shí)體的起始位置、I-*代表實(shí)體內(nèi)部、E-*代表實(shí)體的結(jié)束位置、O代表非實(shí)體部分、*代表實(shí)體類別標(biāo)簽,標(biāo)注示例如表1所示。
表1 語料庫標(biāo)注示例Table 1 Corpus labeling example
農(nóng)業(yè)實(shí)體具有很強(qiáng)的領(lǐng)域?qū)I(yè)性,通過制定標(biāo)注策略,更好地確定實(shí)體邊界,保證實(shí)體完整性。標(biāo)注策略描述如下:
現(xiàn)象1:同一病害危害不同種類農(nóng)作物,例如:水稻紋枯病、小麥紋枯病。
策略1:病害與農(nóng)作物名稱相連,區(qū)分不同農(nóng)作物病害。
現(xiàn)象2:部分實(shí)體包含英文字母、特殊符號。例如:蠶豆萎蔫病毒(Broad Bean Wilt Virus,BBWV)病。
策略2:英文字母、特殊符號與實(shí)體相連作為一個整體。
現(xiàn)象3:同一蟲害可危害不同種類農(nóng)作物,例如:水稻管薊馬、小麥管薊馬。
策略3:蟲害與農(nóng)作物名稱相連,區(qū)分不同農(nóng)作物蟲害。
自然語言處理領(lǐng)域中,豐富、無監(jiān)督的預(yù)訓(xùn)練是語言理解系統(tǒng)不可或缺的部分,Word2Vec是使用最廣泛的模型。但Word2Vec提取的語義信息不足,無法表征字的多義性。農(nóng)業(yè)文本中,實(shí)體存在不同語境下不同含義的現(xiàn)象,比如“油葫蘆”在不同語境下屬于蟲害,危害棉花、花生等農(nóng)作物,也可屬于檀香科檀梨屬植物—油葫蘆。
圖1 BERT-Dic-BiLSTM-CRF模型結(jié)構(gòu)Fig.1 Main framework of BERT-Dic-BiLSTM-CRF
為充分利用語句上下文信息,獲取豐富的字級語義表示,本文引入BERT預(yù)訓(xùn)練模型,完成對語料集字級特征向量表示。BERT預(yù)訓(xùn)練模型基于雙向Transformer編碼器,通過遮蔽語言模型獲取詞級特征表示、以及下一句預(yù)測模型學(xué)習(xí)文本序列句子級的語義關(guān)系,更好的提取文本特征信息。
圖2 BERT模型輸入表示Fig.2 Input representations of BERT
對于小規(guī)模語料庫,模型學(xué)習(xí)到的實(shí)體信息有限,難以識別罕見或未知的實(shí)體。農(nóng)業(yè)領(lǐng)域存在豐富的外部詞典,詞典與語料庫文本存在著聯(lián)系,可完成對語料庫的信息補(bǔ)充。本文引入詞典特征信息,將詞典特征與通過BERT獲取的字級向量融合,增強(qiáng)序列的語義信息,進(jìn)一步提升模型性能。選取《農(nóng)業(yè)大詞典》中農(nóng)藥、農(nóng)業(yè)機(jī)械、農(nóng)作物等詞目,并添加搜狗農(nóng)業(yè)詞匯大全詞典、百度病害詞典進(jìn)行最新詞匯的更新,完成外部詞典的構(gòu)建。詞典涵蓋5類實(shí)體,共9 185詞匯。本文設(shè)計了N-gram特征模板法和雙向最大匹配法兩種方式抽取詞典特征,用于增強(qiáng)農(nóng)業(yè)實(shí)體的外部信息。試驗(yàn)結(jié)果表明雙向最大匹配法優(yōu)于N-gram特征模板法,適用于農(nóng)業(yè)領(lǐng)域NER任務(wù)。
2.2.1 N-gram特征模板法
表2 N-gram特征模板Table 2 N-gram feature templates
本文構(gòu)建的語料庫中包含5種不同類型的實(shí)體,每個模板將對應(yīng)一個5維的特征向量,表示其對應(yīng)的實(shí)體類型?;贜-gram特征模板法,當(dāng)=10時,字符將產(chǎn)生50維的詞典特征向量,包含實(shí)體邊界信息和類型信息,如圖3所示。
圖3 N-gram特征向量Fig.3 The feature vector of N-gram
2.2.2 雙向最大匹配法
基于雙向最大匹配算法(Bi-Directional Maximum Matching,BDMM),完成對序列的切分,并與詞典實(shí)體進(jìn)行匹配,如果匹配成功則進(jìn)行標(biāo)記,保證將詞典中存在的最長實(shí)體切分出來,如表3所示。雙向最大匹配算法包含正向最大匹配和逆向最大匹配。其中,正向最大匹配步驟如下:
1)將序列的第一個字符設(shè)為當(dāng)前字符,進(jìn)行第2)步;
2)從當(dāng)前字符開始,按照從左到右的順序切分,得到字符串;在詞典中查找字符串,如匹配成功,進(jìn)行標(biāo)記,進(jìn)行第3)步;匹配不成功,進(jìn)行第4)步;
3)將字符串的下一個字符設(shè)為當(dāng)前字符,進(jìn)行第2)步;
4)去掉字符串的最后一個字,進(jìn)行第2)步;
5)重復(fù)2)~4)步,處理完序列為止。
最后,將正向匹配和逆向匹配結(jié)果進(jìn)行對比,選擇片段數(shù)量少的切分結(jié)果,并通過獨(dú)熱編碼(One-hot Encoding)和特征嵌入(Feature embedding)兩種方式構(gòu)造特征向量,獲得詞典特征。
表3 基于雙向最大匹配法構(gòu)造詞典特征Table 3 Construction of dictionary features based on bidirectional maximum matching method
為驗(yàn)證BERT-Dic-BiLSTM-CRF模型有效性,對自建的語料庫按訓(xùn)練集、測試集、驗(yàn)證集為6∶2∶2比例進(jìn)行劃分,驗(yàn)證集用于驗(yàn)證模型訓(xùn)練及優(yōu)化情況,三個數(shù)據(jù)集無重復(fù)交叉,因此測試集的試驗(yàn)結(jié)果可作為模型性能的評價指標(biāo)。
模型試驗(yàn)參數(shù)設(shè)置如下:利用BERT-Base模型,含有12個Transformer層,768維隱藏層和12頭多頭注意力機(jī)制。最大序列長度采用256,BiLSTM隱藏層維度為128,dropout設(shè)置為0.5,使用Adam優(yōu)化算法,訓(xùn)練學(xué)習(xí)率0.001,批處理參數(shù)32,迭代次數(shù)100。通過準(zhǔn)確率(Precision,)、召回率(Recall,)、值三個指標(biāo)對模型進(jìn)行評估。
3.3.1 不同字級嵌入的性能對比
本文以BiLSTM-CRF為基準(zhǔn)模型,采用Word2Vec和BERT兩種字級嵌入進(jìn)行對比試驗(yàn),結(jié)果如表4所示。基于BERT的字級嵌入與Word2Vec方式相比,模型準(zhǔn)確率提高了5.5個百分點(diǎn),值提高了5.25個百分點(diǎn)。試驗(yàn)發(fā)現(xiàn),Word2Vec方式無法處理一詞多義的問題,錯誤地把陜北民歌《東方紅》識別為農(nóng)機(jī)設(shè)備實(shí)體“東方紅”,如圖4所示?!皷|方紅”為一詞多義實(shí)體,在不同語境下,可表達(dá)為陜北民歌《東方紅》,也可表達(dá)為農(nóng)機(jī)實(shí)體“東方紅”。BERT的嵌入方式,通過多層Transformer編碼器,能夠?qū)W習(xí)更多的語義特征,獲取豐富的字級特征信息,正確識別“東方紅”這類實(shí)體,有效緩解一詞多義的問題。
表4 不同嵌入向量模型性能對比Table 4 Performance comparison of model with different embedded vector%
圖4 多義詞識別結(jié)果Fig.4 Result of polysemy recognition
3.3.2 不同詞典特征的性能對比
基于BERT-BiLSTM-CRF模型,融入不同詞典特征,在農(nóng)業(yè)領(lǐng)域數(shù)據(jù)集上進(jìn)行對比試驗(yàn),結(jié)果如表5所示。融入詞典特征的模型性能優(yōu)于基準(zhǔn)模型,其準(zhǔn)確率分別提高了0.24、0.44、0.3、0.84、1.33個百分點(diǎn)。結(jié)果表明,詞典特征的融入相較于單一字向量作為模型輸入,能夠有效補(bǔ)充序列語義信息,提升模型的識別準(zhǔn)確度。
基于N-gram特征模板抽取詞典特征,模板數(shù)量為8、10、12時,模型的準(zhǔn)確率分別為93.75%、93.95%、93.81%;召回率分別為92.86%、94.12%、92.95%。從試驗(yàn)結(jié)果看出,適當(dāng)增加模板數(shù)量,模型抽取的詞典特征信息越豐富,當(dāng)模板數(shù)量為10時,模型性能達(dá)到最優(yōu)。隨著模板數(shù)量的增加,詞典特征信息維度越大,訓(xùn)練周期越來越長,模型識別準(zhǔn)確率降低。
相較于N-gram特征模板法,基于雙向最大匹配法模型性能得到進(jìn)一步提升,而將詞典匹配結(jié)果進(jìn)行特征嵌入的方式優(yōu)于獨(dú)熱編碼方式。分析得出,N-gram方法忽略了實(shí)體內(nèi)部結(jié)構(gòu),知識表示能力有限,對模型性能的提升低于雙向最大匹配法。而采用特征嵌入的方式將匹配結(jié)果映射為低維的向量表示,能夠獲取更多的潛在信息,優(yōu)于獨(dú)熱編碼,模型準(zhǔn)確率提高了0.49個百分點(diǎn),值提高了0.91個百分點(diǎn)。
表5 不同詞典特征模型性能對比Table 5 Performance comparison of model with different dictionary feature %
3.3.3 不同模型的性能對比
為驗(yàn)證BERT-Dic-BiLSTM-CRF模型在農(nóng)業(yè)語料的識別性能,分別與BiLSTM-CRF 、CNN-BiLSTM-CRF、BERT-BiLSTM-CRF等主流模型進(jìn)行了對比試驗(yàn),試驗(yàn)結(jié)果如表6所示。BiLSTM-CRF模型準(zhǔn)確率為88.01%、值為 88.38%。相較于 BiLSTM-CRF模型,CNN-BiLSTM-CRF模型通過CNN層抽取文本局部特征信息,與Word2Vec訓(xùn)練得到的字向量拼接作為BiLSTM層的輸入,模型的準(zhǔn)確率提高了1.71個百分點(diǎn)、值提高了0.14個百分點(diǎn)。但CNN-BiLSTM-CRF無法聚焦實(shí)體上下文信息,不能解決一詞多義的問題。
引入BERT層的BiLSTM-CRF模型,通過BERT預(yù)訓(xùn)練模型充分提取字符級和序列上下文特征信息,更好地表征農(nóng)業(yè)實(shí)體在不同語境下的語義表示,提升模型識別性能。相較于CNN-BiLSTM-CRF模型,識別準(zhǔn)確率提高了3.79個百分點(diǎn)。本文提出的BERT-Dic-BiLSTM-CRF模型識別效果優(yōu)于其他3種模型,識別準(zhǔn)確率最高達(dá)到94.84%、值為95.03%。
表6 不同模型性能對比Table 6 Performance comparison of different models %
3.3.4 詞典特征對模型性能影響
為驗(yàn)證模型引入詞典特征可提高對罕見或未知實(shí)體識別準(zhǔn)確率,統(tǒng)計測試集中實(shí)體在訓(xùn)練集出現(xiàn)的次數(shù),將實(shí)體類型分為未知實(shí)體、罕見實(shí)體、高頻實(shí)體,進(jìn)行對比試驗(yàn),試驗(yàn)結(jié)果如表7所示。其中,未知實(shí)體:測試集中實(shí)體從未出現(xiàn)在訓(xùn)練集;罕見實(shí)體:測試集中實(shí)體在訓(xùn)練集出現(xiàn)次數(shù)少于5次。高頻實(shí)體:測試集中實(shí)體在訓(xùn)練集出現(xiàn)次數(shù)高于5次。
表7 不同實(shí)體性能對比Table 7 Performance comparison of different entity
由表7可知,因高頻實(shí)體在訓(xùn)練集出現(xiàn)的次數(shù)較多,模型可學(xué)習(xí)到較豐富的特征信息,BERT-BiLSTM-CRF模型和BERT-Dic-BiLSTM-CRF模型識別準(zhǔn)確率分別為94.17%、96.82%。對于未知實(shí)體和罕見實(shí)體,實(shí)體在訓(xùn)練集出現(xiàn)的頻率較低,BERT-BiLSTM-CRF模型自身學(xué)習(xí)能力有限,識別準(zhǔn)確率分別為73.85%、85.61%。引入詞典特征信息的BERT-Dic-BiLSTM-CRF模型,通過外部領(lǐng)域知識信息的輔助,模型的泛化能力得到提升,相較于BERT-BiLSTM-CRF模型,識別準(zhǔn)確率分別提高了6.44個百分點(diǎn)、5.93個百分點(diǎn)。進(jìn)一步驗(yàn)證融入詞典特征,能夠提升模型對罕見或未知實(shí)體的識別準(zhǔn)確率。
為驗(yàn)證詞典規(guī)模對模型的影響,從自建的外部詞典隨機(jī)抽取60%、70%、80%、90%的實(shí)體構(gòu)造4個大小不同的詞典進(jìn)行對比試驗(yàn),試驗(yàn)結(jié)果如圖5所示。
圖5 詞典規(guī)模對模型性能的影響Fig.5 The impact of the different dictionary size on model performance
由圖5可知,隨著詞典規(guī)模的增大,模型學(xué)習(xí)到的特征信息更豐富,模型性能也隨之得到提升,準(zhǔn)確率達(dá)到94.84%。
1)針對農(nóng)業(yè)領(lǐng)域命名實(shí)體識別任務(wù),提出BERT-Dic-BiLSTM-CRF模型,該模型結(jié)合字向量和詞典特征能夠處理一詞多義問題,提升模型對罕見或者未知實(shí)體的識別準(zhǔn)確率,模型準(zhǔn)確率為94.84%、值為95.03%。
2)基于BERT預(yù)訓(xùn)練模型獲得字級別的特征表示,能夠聚焦實(shí)體上下文的語境,豐富農(nóng)業(yè)文本的語義表示,緩解一詞多義的問題,提升模型識別性能。
3)本文構(gòu)建了農(nóng)業(yè)領(lǐng)域外部詞典,并設(shè)計了2種構(gòu)建詞典特征信息的方法。經(jīng)試驗(yàn)驗(yàn)證,基于特征嵌入方式的雙向最大匹配法能夠獲取豐富的詞典特征,適用于農(nóng)業(yè)NER任務(wù)。
隨著智慧農(nóng)業(yè)的不斷發(fā)展,農(nóng)業(yè)信息化決策服務(wù)更具體、更快捷。因此,下一步工作是增加農(nóng)業(yè)病蟲害病原、病害部位實(shí)體豐富語料庫,并制定更規(guī)范、更完善的標(biāo)注策略,在保證模型性能的基礎(chǔ)上,對模型結(jié)構(gòu)進(jìn)行優(yōu)化。