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