周 俊 鄭彭元 袁立存 戈為溪 梁 靜
(南京農(nóng)業(yè)大學(xué)工學(xué)院,南京 210031)
水稻是世界三大主要糧食作物之一[1],是世界上65%以上人口的主糧,而我國(guó)是世界上水稻生產(chǎn)量、消費(fèi)量最多的國(guó)家[2];增加化肥使用量是增加水稻產(chǎn)量最直接的方式之一[3],但會(huì)對(duì)土壤與環(huán)境造成影響,因此水稻的合理施肥對(duì)水稻生產(chǎn)至關(guān)重要。由于我國(guó)各地區(qū)土壤種類復(fù)雜,相關(guān)研究都重點(diǎn)集中在作物本身生長(zhǎng)機(jī)理而忽略了土壤肥力的表達(dá)水平,從而導(dǎo)致已有的水稻施肥信息系統(tǒng)通用性差。
隨著智慧農(nóng)業(yè)的興起,產(chǎn)生了大量的農(nóng)業(yè)信息數(shù)據(jù)[4]。這些非結(jié)構(gòu)化的數(shù)據(jù)中包含了農(nóng)業(yè)相關(guān)的關(guān)鍵信息,例如水稻等農(nóng)作物施肥、播種、施藥。知識(shí)圖譜作為人工智能的重要組成部分,廣泛應(yīng)用于各個(gè)領(lǐng)域。知識(shí)圖譜能夠?qū)⒉煌愋偷膶?shí)體、概念進(jìn)行組合進(jìn)而以可視化的形式展示知識(shí)間的結(jié)構(gòu)關(guān)系[5-6],極大地提高了信息檢索的效率。相關(guān)研究者將知識(shí)圖譜應(yīng)用到農(nóng)業(yè)領(lǐng)域從而促進(jìn)農(nóng)業(yè)信息技術(shù)的進(jìn)步,袁培森等[7]提出了一種對(duì)水稻的基因、環(huán)境、表型等表型組學(xué)實(shí)體進(jìn)行關(guān)系分類的方法,進(jìn)而改善水稻表型知識(shí)圖譜中實(shí)體關(guān)系抽取問(wèn)題。于合龍等[8]利用知識(shí)圖譜對(duì)水稻病蟲害領(lǐng)域復(fù)雜的非結(jié)構(gòu)化數(shù)據(jù)信息進(jìn)行結(jié)構(gòu)化存儲(chǔ),為水稻病蟲害關(guān)聯(lián)檢索及智能診斷提供理論依據(jù)。吳賽賽[9]利用知識(shí)圖譜以結(jié)構(gòu)化的形式描述實(shí)體間復(fù)雜關(guān)系的優(yōu)勢(shì),提出了一種基于深度學(xué)習(xí)的作物病蟲害知識(shí)圖譜構(gòu)建方法。但是這些知識(shí)圖譜的規(guī)?;?、體系化方面仍存在許多不足,在實(shí)現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)的有效提取、解決文本重疊關(guān)系提取等方面仍是當(dāng)前面臨的一大挑戰(zhàn)[10]。此外知識(shí)圖譜在農(nóng)業(yè)領(lǐng)域的應(yīng)用及研究處于初級(jí)階段,利用知識(shí)圖譜從分散性、多種類、連貫性差的農(nóng)業(yè)數(shù)據(jù)中提取關(guān)鍵的、有價(jià)值的農(nóng)業(yè)信息是未來(lái)研究的重點(diǎn)。
如今人工智能已經(jīng)滲透到各個(gè)領(lǐng)域,其中知識(shí)圖譜表現(xiàn)出了很高的實(shí)際應(yīng)用價(jià)值,根據(jù)領(lǐng)域構(gòu)建不同的知識(shí)圖譜,同時(shí)結(jié)合不同算法能夠極大地提高解決問(wèn)題的效率。馬展等[11]為提高應(yīng)用程序接口API的檢索效率,提出多源信息融合的API知識(shí)圖譜構(gòu)建方法。在醫(yī)學(xué)領(lǐng)域,張興等[12]通過(guò)在網(wǎng)絡(luò)中提取與兒童病護(hù)理相關(guān)的數(shù)據(jù),構(gòu)建關(guān)于兒童病護(hù)理的問(wèn)答數(shù)據(jù)集,然后利用算法及自然語(yǔ)言處理相關(guān)模型實(shí)現(xiàn)人工特征轉(zhuǎn)換效率的提高。在航空領(lǐng)域,大數(shù)據(jù)平臺(tái)建模也得到飛速發(fā)展,但是由于數(shù)據(jù)不能實(shí)現(xiàn)跨專業(yè)的貫通導(dǎo)致數(shù)據(jù)價(jià)值不能被全面挖掘。韓吉南等[13]通過(guò)構(gòu)建航天裝備數(shù)據(jù)知識(shí)圖譜,利用大數(shù)據(jù)、人工智能知識(shí)挖掘航天數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的規(guī)范化管理。
知識(shí)圖譜是結(jié)構(gòu)化數(shù)據(jù)表示中最有效、最簡(jiǎn)潔、最強(qiáng)大的方法之一。而信息抽取作為構(gòu)建知識(shí)圖譜的基礎(chǔ)技術(shù),是大規(guī)模構(gòu)建知識(shí)圖譜的關(guān)鍵一步。面向知識(shí)圖譜的信息抽取主要是針對(duì)關(guān)系三元組進(jìn)行抽取,而重疊三元組問(wèn)題會(huì)極大影響抽取結(jié)果。WEI等[14]針對(duì)重疊三元組問(wèn)題提出了CASREL模型,并與ZHENG等[15]提出的NovelTagging,ZENG等[16]提出的CopyR,F(xiàn)U等[17]提出的GraphRel,以及不同編碼random-CASREL、LSTM-CASREL、BERT-CASREL進(jìn)行消融實(shí)驗(yàn),證明了CASREL模型在應(yīng)對(duì)重疊三元組情況的優(yōu)越性。
本文以水稻施肥信息為研究對(duì)象,構(gòu)建水稻施肥知識(shí)結(jié)構(gòu),根據(jù)現(xiàn)有的水稻施肥非結(jié)構(gòu)化數(shù)據(jù)信息,提出并設(shè)計(jì)水稻施肥知識(shí)圖譜實(shí)體及關(guān)系知識(shí)結(jié)構(gòu),將網(wǎng)絡(luò)中現(xiàn)存的水稻施肥信息通過(guò)該知識(shí)結(jié)構(gòu)以結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)到知識(shí)圖譜中;為提取大量信息存入知識(shí)圖譜中,同時(shí)針對(duì)信息抽取即重疊三元組問(wèn)題,提出基于RoBERTa-wwm編碼+改進(jìn)CASREL解碼的信息抽取模型,進(jìn)行一系列消融實(shí)驗(yàn),并根據(jù)水稻施肥數(shù)據(jù)特點(diǎn)對(duì)模型進(jìn)行改進(jìn),以期實(shí)現(xiàn)句子級(jí)別的信息抽取,為構(gòu)建水稻施肥知識(shí)圖譜以及制作水稻施肥決策系統(tǒng)提供數(shù)據(jù)基礎(chǔ)。
目前,有關(guān)水稻施肥結(jié)構(gòu)化數(shù)據(jù)的資源有限,且數(shù)據(jù)可信度參差不齊。因此,本文有關(guān)水稻施肥信息的數(shù)據(jù)集主要從中國(guó)知網(wǎng)和國(guó)家水稻數(shù)據(jù)中心獲取,共節(jié)選原始數(shù)據(jù)978句用于數(shù)據(jù)集標(biāo)注。
數(shù)據(jù)集作為模型的輸入,用來(lái)對(duì)模型參數(shù)進(jìn)行訓(xùn)練,模型訓(xùn)練效果部分取決于數(shù)據(jù)集的質(zhì)量。由于本文關(guān)系種類大部分與水稻施肥信息相關(guān),現(xiàn)存的開源數(shù)據(jù)集并不適用于本模型訓(xùn)練,因此采用人工標(biāo)注的方法制作所需數(shù)據(jù)集。
結(jié)合文獻(xiàn)中水稻種植所需信息[18-19],設(shè)計(jì)圖1所示的水稻施肥體系數(shù)據(jù)結(jié)構(gòu),共27種關(guān)系。
圖1 水稻施肥體系數(shù)據(jù)結(jié)構(gòu)
其中,不同水稻品種之間以父本/母本及水稻類型(粳稻/秈稻)相互連接。對(duì)于每個(gè)水稻品種,儲(chǔ)存其特征、栽培技術(shù)、適宜種植區(qū)域及產(chǎn)量表現(xiàn)作為其基本信息。同時(shí),將種植實(shí)例以地區(qū)為單位與水稻品種相連接,儲(chǔ)存實(shí)驗(yàn)地區(qū)的土壤養(yǎng)分情況并與所在省、市、區(qū)相連接。最后,將不同種植實(shí)例與種植地區(qū)相連接,并將施氮量、氮磷鉀肥料配比、基蘗穗肥配比及施肥時(shí)間、產(chǎn)量與種植實(shí)驗(yàn)相連接,形成完整的水稻施肥知識(shí)圖譜結(jié)構(gòu)。
對(duì)原始數(shù)據(jù)以句子為單位劃分,并對(duì)數(shù)據(jù)集進(jìn)行標(biāo)注,標(biāo)注格式為:句子,頭實(shí)體,關(guān)系類型,尾實(shí)體。標(biāo)注完成的數(shù)據(jù)集示例如表1所示。
表1 水稻施肥信息數(shù)據(jù)集示例
將標(biāo)注好的水稻施肥數(shù)據(jù)集以5∶2∶3的比例隨機(jī)分配為訓(xùn)練集、驗(yàn)證集和測(cè)試集,其中訓(xùn)練集506條數(shù)據(jù),驗(yàn)證集189條數(shù)據(jù),測(cè)試集283條數(shù)據(jù)。各個(gè)數(shù)據(jù)集關(guān)系類型數(shù)量如表2所示,其中N表示一個(gè)句子中關(guān)系三元組的個(gè)數(shù)。
表2 水稻施肥數(shù)據(jù)集關(guān)系類型數(shù)量
為了構(gòu)建抽取效果更好的水稻施肥信息抽取模型,本文采用Encoder-Decoder結(jié)構(gòu)對(duì)模型進(jìn)行構(gòu)建,模型流程圖如圖2所示。BERT系列模型相較于RNN、LSTM等模型在編碼環(huán)節(jié)效果更好,且由于數(shù)據(jù)集為中文,傳統(tǒng)BERT模型并不能很好地適應(yīng)中文語(yǔ)料,因此選擇RoBERTa-wwm作為模型的編碼器(Encoder)結(jié)構(gòu);本文數(shù)據(jù)集中多為重疊三元組(多個(gè)關(guān)系三元組共享同一個(gè)實(shí)體),傳統(tǒng)信息抽取模型在應(yīng)對(duì)該問(wèn)題上效果欠佳,而CASREL模型的級(jí)聯(lián)二元標(biāo)注結(jié)構(gòu)能很好地處理該問(wèn)題,因此選擇CASREL作為模型的解碼器(Decoder)結(jié)構(gòu);為使得通用模型在特定場(chǎng)合能取得更佳效果,結(jié)合水稻施肥數(shù)據(jù)集的特征對(duì)該模型進(jìn)行改進(jìn)。
圖2 RoBERTa-wwm-CASREL模型流程圖
Encoder-Decoder(編碼器-解碼器)結(jié)構(gòu)又被叫做Seq2Seq結(jié)構(gòu),是深度學(xué)習(xí)中常見的模型框架之一[20]。Encoder由一個(gè)編碼器將輸入序列轉(zhuǎn)化成一個(gè)固定維度的稠密向量,Decoder階段對(duì)這個(gè)向量進(jìn)行解讀并生成結(jié)果[21]。Encoder-Decoder結(jié)構(gòu)將模型分為兩部分,這種結(jié)構(gòu)可以有效解決在處理長(zhǎng)距離序列化問(wèn)題時(shí)造成的誤差累積情況。
2.1.1RoBERTa-wwm編碼模型
RoBERTa模型是基于BERT模型的一種優(yōu)化版本,與BERT模型相同的是,RoBERTa模型的結(jié)構(gòu)也是由多層雙向 Transformer 組成的[22-24],并對(duì)BERT模型進(jìn)行了一系列優(yōu)化[25-26]。
由于BERT的系列模型都是以字為單位進(jìn)行切分,Mask操作也是以字為單位,這種切分方法在中文語(yǔ)料中效果較差。全詞掩碼(Whole word masking,WWM)針對(duì)這一問(wèn)題,充分考慮了中文語(yǔ)料的分詞操作,以詞為單位進(jìn)行Mask操作。研究表明,使用WWM的BERT系列模型在中文語(yǔ)料中取得了更好的效果[27]。
2.1.2CASREL解碼模型
CASREL解碼模型主要針對(duì)目前既有模型處理重疊關(guān)系三元組[28]效果不好的問(wèn)題,模型是一種級(jí)聯(lián)二元標(biāo)注框架,基本思想是用兩級(jí)聯(lián)步驟提取三元組[14]。首先,從輸入句子中檢測(cè)出頭實(shí)體。然后,對(duì)于每個(gè)候選頭實(shí)體檢查所有可能的關(guān)系,確定是否有一個(gè)關(guān)系可以將句子中的尾實(shí)體與該頭實(shí)體聯(lián)系起來(lái)。與這兩個(gè)步驟相對(duì)應(yīng),級(jí)聯(lián)解碼器由頭實(shí)體標(biāo)注器和特定關(guān)系的尾實(shí)體標(biāo)注器組成。頭實(shí)體標(biāo)注器模塊通過(guò)直接解碼編碼器產(chǎn)生的編碼詞向量來(lái)識(shí)別輸入句子中所有可能的頭實(shí)體,特定關(guān)系的尾實(shí)體標(biāo)注器模塊同時(shí)識(shí)別尾實(shí)體以及與頭實(shí)體標(biāo)注器獲得的頭實(shí)體的相關(guān)關(guān)系。
在水稻施肥數(shù)據(jù)集中,與施肥決策相關(guān)的數(shù)據(jù)大部分都在尾實(shí)體,而尾實(shí)體多由數(shù)字加單位組成,因此,為了使模型的提取效果更好,提高對(duì)包含上述尾實(shí)體的三元組的抽取能力,本文在尾實(shí)體標(biāo)注器的輸入中加入了單位標(biāo)注器模塊。單位標(biāo)注器模塊在對(duì)句子進(jìn)行編碼的同時(shí),使用正則方法對(duì)句子中的單位符號(hào)進(jìn)行匹配,對(duì)匹配到的符號(hào)作為結(jié)束標(biāo)注位并向前通過(guò)判斷是否為中文字符的方法找到起始標(biāo)注位,將起始標(biāo)注位到結(jié)束標(biāo)注位標(biāo)注為1,其余位標(biāo)注為0,形成句子標(biāo)注信息,并在尾實(shí)體標(biāo)注器解碼時(shí),將標(biāo)注信息與編碼詞向量和頭實(shí)體標(biāo)注器的結(jié)果相加,使得該位置有更大的可能作為尾實(shí)體被抽取出來(lái)。
同時(shí),由于原CASREL模型頭實(shí)體標(biāo)注器和尾實(shí)體標(biāo)注器均采用直接解碼的方式,三元組提取效果較差,如果在原模型基礎(chǔ)上加入一層隱藏層[29],考慮使用更多的參數(shù)來(lái)提高模型對(duì)水稻施肥信息抽取的效果,但隨著抽取到的信息增多,也會(huì)造成模型精度下降。由于原模型訓(xùn)練結(jié)果精度較高,因此加入維度為1 024的隱藏層,在略降低精度的情況下,提高模型對(duì)水稻施肥信息抽取的效果,改進(jìn)后的模型流程圖如圖3所示。
圖3 改進(jìn)后RoBERTa-wwm-CASREL模型流程圖
選擇Intel(R)Core(TM)i7-10700K CPU @ 3.80 GHz,GPU為NVIDIA GeForce RTX 3060 Ti,16 GB內(nèi)存,Windows 10操作系統(tǒng),運(yùn)行環(huán)境為Pytorch 1.9.0+cuda 11.1。
水稻施肥模型參數(shù)設(shè)置如下:學(xué)習(xí)率1×10-5,批量大小6,迭代次數(shù)100,梯度下降算法ADAM。
使用精確率(Precision)、召回率(Recall)、F1值作為評(píng)價(jià)指標(biāo)[30],其中,精確率是指預(yù)測(cè)正確的三元組數(shù)與預(yù)測(cè)三元組總數(shù)的比值,召回率是指預(yù)測(cè)正確的三元組數(shù)與實(shí)際三元組總數(shù)的比值[31]。編碼部分將RoBERTa-wwm與BERT-base-chinese和BERT-wwm進(jìn)行對(duì)比,解碼部分將原CASREL模型與改進(jìn)后模型進(jìn)行對(duì)比。
3.4.1不同梯度下降算法對(duì)比分析
本文對(duì)RoBERTa-wwm-CASREL模型進(jìn)行了不同梯度下降算法[32]的對(duì)比,隨機(jī)梯度下降算法(SGD)學(xué)習(xí)率選擇1×10-3,F(xiàn)1值訓(xùn)練過(guò)程如圖4所示,最終訓(xùn)練結(jié)果如圖5所示。
圖4 不同梯度下降算法F1值訓(xùn)練過(guò)程
圖5 不同梯度下降算法訓(xùn)練結(jié)果
由圖4可以看出,相同迭代次數(shù)下,ADAM算法和ADAMW算法的F1值高于SGD算法,ADAM算法和ADAMW算法的優(yōu)化速度始終高于SGD算法;ADAM算法在訓(xùn)練過(guò)程中存在一定的波動(dòng),第90輪迭代時(shí),ADAM算法波動(dòng)較明顯,而ADAMW算法在整個(gè)訓(xùn)練過(guò)程中較為穩(wěn)定。由圖5可得,ADAM算法的最終F1值為91.86%,略高于ADAMW算法,而SGD算法F1值僅為74.25%,相對(duì)于另外兩種算法結(jié)果較差;但就精確率而言,SGD算法的精度達(dá)到97.11%,而另外兩種算法的精度均低于95%。
3.4.2不同批量大小對(duì)比分析
選擇批量大小為6、12、24進(jìn)行水稻施肥信息抽取試驗(yàn),梯度下降算法選用ADAM算法,在RoBERTa-wwm-CASREL模型上的結(jié)果如表3所示。
表3 本文模型不同批量大小時(shí)性能對(duì)比結(jié)果
由表3可以看出,當(dāng)批量大小為6時(shí),精確率達(dá)到94.34%,F(xiàn)1值達(dá)到91.86%,召回率為89.51%;隨著批量大小的增加,模型F1值不斷下降,所需時(shí)間減少。批量大小從6增加到24,F(xiàn)1值降低9.72個(gè)百分點(diǎn),所需時(shí)間減少372.96 s。
3.4.3解碼模型對(duì)比分析
本文將改進(jìn)后CASREL模型與原模型進(jìn)行對(duì)比,梯度下降算法選用ADAM算法,批量大小為6,在本文數(shù)據(jù)集上進(jìn)行訓(xùn)練并對(duì)結(jié)果進(jìn)行對(duì)比分析,模型訓(xùn)練過(guò)程如圖6所示,最終訓(xùn)練結(jié)果如表4所示。
由圖6可以看出,改進(jìn)后模型的優(yōu)化速度比原模型有一定的提升,且F1值、精確率、召回率的訓(xùn)練過(guò)程均優(yōu)于原模型,且相對(duì)穩(wěn)定。優(yōu)化速度變快是由于在原模型中加入了單位標(biāo)注器模塊,從而實(shí)現(xiàn)模型在訓(xùn)練過(guò)程中可以更簡(jiǎn)單、更快速地找到被標(biāo)注的實(shí)體。
圖6 模型訓(xùn)練結(jié)果
由表4可看出,改進(jìn)后模型精確率為94.34%,召回率為89.51%,F(xiàn)1值為91.86%;相比于原模型,召回率提高4.6個(gè)百分點(diǎn),F(xiàn)1值提高1.77個(gè)百分點(diǎn),但精度降低1.61個(gè)百分點(diǎn)。而且改進(jìn)后模型較原模型多預(yù)測(cè)25個(gè)三元組,預(yù)測(cè)正確的三元組多18個(gè)。這是由于在原模型中加入了單位標(biāo)注器模塊的同時(shí),在解碼過(guò)程中加入了隱藏層,使模型效果更好。
表4 解碼模型對(duì)比結(jié)果
3.4.4不同預(yù)訓(xùn)練模型編碼對(duì)比分析
將BERT-base-chinese、BERT-wwm-ext、RoBERTa-wwm-ext模型分別作為水稻施肥信息模型的編碼模型進(jìn)行對(duì)比。BERT-base-chinese是Google提供的基礎(chǔ)中文預(yù)訓(xùn)練模型,BERT-wwm-ext和RoBERTa-wwm-ext是Google基于WWM在2019年5月31日發(fā)布的一項(xiàng)BERT的升級(jí)版本,語(yǔ)料為EXT數(shù)據(jù)。EXT數(shù)據(jù)包括中文維基百科、其他百科新聞、問(wèn)答等數(shù)據(jù),總詞數(shù)達(dá)54億。梯度下降算法選用ADAM算法,批量大小為6,最終訓(xùn)練結(jié)果如表5所示。
表5 不同編碼模型對(duì)比結(jié)果
由表5可以看出,RoBERTa-wwm-ext模型的精確率為94.34%,召回率為89.51%,F(xiàn)1值為91.86%,相對(duì)于BERT-base-chinese模型,精確率提高15.47個(gè)百分點(diǎn),相較于BERT-wwm-ext編碼,精確率降低0.15個(gè)百分點(diǎn);而相較于BERT-base-chinese編碼與BERT-wwm-ext編碼,F(xiàn)1值分別提高16.79、0.88個(gè)百分點(diǎn);由此可見,基于WWM的BERT-wwm-ext編碼,在中文任務(wù)上取得的效果遠(yuǎn)超于BERT-base-chinese編碼,而RoBERTa-wwm-ext編碼相對(duì)于BERT-wwm-ext編碼應(yīng)用了更多的參數(shù),效果有一些提升。
將《不同施氮量對(duì)水稻南粳46產(chǎn)量及品質(zhì)的影響》[33]一文以及國(guó)家水稻數(shù)據(jù)中心中關(guān)于該品種的信息作為輸入在原模型與改進(jìn)后模型中進(jìn)行試驗(yàn),得到的水稻施肥三元組抽取結(jié)果如表6所示。
從表6中可以看出,模型對(duì)輸入數(shù)據(jù)的抽取效果較好,水稻施肥決策所需信息基本抽取正確,改進(jìn)后模型針對(duì)包含單位尾實(shí)體抽取效果有較大提升。同時(shí)發(fā)現(xiàn)模型對(duì)特定地點(diǎn)抽取效果較差,這是由于數(shù)據(jù)集的數(shù)量有限,若實(shí)體未在數(shù)據(jù)集中出現(xiàn),會(huì)導(dǎo)致模型結(jié)果較差,針對(duì)這種情況,選擇通過(guò)大量農(nóng)業(yè)相關(guān)中文語(yǔ)料對(duì)編碼模型進(jìn)行預(yù)訓(xùn)練,可能會(huì)提高模型在該情況中的效果。
表6 水稻施肥三元組抽取結(jié)果
綜上所述,改進(jìn)后的RoBERTa-wwm-CASREL模型在進(jìn)行水稻施肥信息抽取任務(wù)時(shí),能有效提高信息抽取率,同時(shí),選擇最優(yōu)的編碼模型在一定程度上也使得模型效果更佳。
提出了基于改進(jìn)RoBERTa-wwm-CASREL模型的水稻施肥信息抽取方法。根據(jù)水稻施肥所需信息,定義了水稻施肥體系數(shù)據(jù)結(jié)構(gòu)并制作了水稻施肥數(shù)據(jù)集。結(jié)合水稻施肥數(shù)據(jù)特點(diǎn),通過(guò)添加單位標(biāo)注器和在CASREL解碼中添加隱藏層來(lái)對(duì)模型進(jìn)行改進(jìn)。對(duì)比試驗(yàn)結(jié)果表明,改進(jìn)后模型精確率、召回率與 F1值分別達(dá)到94.34%、89.51%和91.86%,優(yōu)于原模型。改進(jìn)模型可以對(duì)水稻施肥數(shù)據(jù)進(jìn)行有效的信息抽取,為構(gòu)建水稻施肥知識(shí)圖譜提供了數(shù)據(jù)基礎(chǔ)。