趙賽 楊婉霞 王巧珍 王夢(mèng)瑤 熊磊
摘 要: 開(kāi)展農(nóng)業(yè)知識(shí)圖譜的問(wèn)答系統(tǒng)研究在整個(gè)智能農(nóng)業(yè)領(lǐng)域中具有重要的意義。以馬鈴薯病蟲害為例,設(shè)計(jì)了馬鈴薯病蟲害知識(shí)圖譜問(wèn)答系統(tǒng),通過(guò)BIO、BMES 和BIOES 3 種方式標(biāo)注數(shù)據(jù)后設(shè)計(jì)了BIiLSTM-CRF、Word2vec-BILSTMCRF和Bert-BILSTM-CRF 3 種模型進(jìn)行命名實(shí)體識(shí)別。試驗(yàn)結(jié)果表明,BEMS 標(biāo)注方式效果最佳,Bert-BILSTM-CRF 模型在命名實(shí)體識(shí)別時(shí)性能最佳,其F1 值為85.62%。結(jié)合Neo4j 圖數(shù)據(jù)庫(kù)匹配相應(yīng)Cypher 語(yǔ)句實(shí)現(xiàn)問(wèn)答交互,應(yīng)用基于Javascript語(yǔ)言的VUE 前端框架,搭建完整的問(wèn)答系統(tǒng)頁(yè)面。
關(guān)鍵詞:馬鈴薯;知識(shí)圖譜;問(wèn)答系統(tǒng);病蟲害;命名實(shí)體識(shí)別;Neo4j 圖數(shù)據(jù)庫(kù)
中圖分類號(hào):S532文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1795(2023)08-0029-09
DOI:10.19998/j.cnki.2095-1795.2023.08.006
0 引言
馬鈴薯淀粉含量較高,含有豐富的蛋白質(zhì)和維生素,是我國(guó)重要的糧食作物之一[1]。科學(xué)種植馬鈴薯,保證其增產(chǎn)增收尤為重要。其中,馬鈴薯耕種環(huán)節(jié)的病蟲害防治在馬鈴薯生長(zhǎng)周期中更為重要,直接影響馬鈴薯的產(chǎn)量和質(zhì)量。目前農(nóng)業(yè)生產(chǎn)者面對(duì)種植、病蟲害防治等一系列問(wèn)題主要通過(guò)網(wǎng)絡(luò)查詢以獲得相關(guān)的解決辦法。但利用搜索引擎查詢相關(guān)專業(yè)問(wèn)題時(shí),往往會(huì)得到大量的與問(wèn)題不相關(guān)的內(nèi)容,還需要進(jìn)行人工的篩選[2]。為此,本研究利用自然語(yǔ)言處理技術(shù)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)技術(shù),通過(guò)構(gòu)建馬鈴薯病蟲害防治的專業(yè)領(lǐng)域知識(shí)圖譜,以此圖譜設(shè)計(jì)了靈活、便捷和專業(yè)的智能查詢系統(tǒng),為農(nóng)業(yè)生產(chǎn)者提供更為相關(guān)、系統(tǒng)和多形式的查詢方式,及時(shí)答疑解惑。
知識(shí)圖譜的提出源于谷歌優(yōu)化其搜索引擎的目的,在儲(chǔ)存實(shí)體和關(guān)系上有一定的優(yōu)越性[3]。主要以三元組作為基礎(chǔ)單元將實(shí)體?關(guān)系?屬性相互鏈接,通過(guò)實(shí)體、實(shí)體屬性及實(shí)體間的關(guān)系來(lái)刻畫知識(shí)關(guān)聯(lián),構(gòu)成了一種揭示實(shí)體之間關(guān)系的語(yǔ)義網(wǎng)絡(luò)[4]。用圖表示知識(shí)、儲(chǔ)存知識(shí),可以完成智能分析、智能查詢和智能問(wèn)答等一系列自然語(yǔ)言處理任務(wù)[5]。知識(shí)圖譜不僅精確度高、直觀性強(qiáng),而且擴(kuò)展性和可塑性強(qiáng),廣泛應(yīng)用于軍事、醫(yī)學(xué)、經(jīng)濟(jì)和農(nóng)業(yè)等領(lǐng)域,特別是智慧農(nóng)業(yè),結(jié)合領(lǐng)域知識(shí)圖譜與問(wèn)答系統(tǒng)的研究方向備受關(guān)注且已開(kāi)展大量研究[6]。
吳賽賽[7] 對(duì)大規(guī)模數(shù)據(jù)進(jìn)行清洗,并采用新型標(biāo)注方式和實(shí)體關(guān)系聯(lián)合抽取有效緩解重疊關(guān)系抽取問(wèn)題。徐帥博[8] 使用Bert-BILSTM-CRF 模型進(jìn)行命名實(shí)體識(shí)別,以規(guī)則匹配的方式構(gòu)成三元組關(guān)系,并構(gòu)建了枸杞病蟲害知識(shí)圖譜。吳茜[9] 利用Protégé工具對(duì)收集的農(nóng)業(yè)數(shù)據(jù)進(jìn)行本體構(gòu)建,并實(shí)現(xiàn)知識(shí)圖譜可視化。朱淑媛等[10] 利用TensorFlow 框架通過(guò)對(duì)Word2vec 訓(xùn)練得到其對(duì)應(yīng)的詞向量,使獲得的詞向量空間中包含了實(shí)體和關(guān)系的語(yǔ)義信息,并通過(guò)與Trans E 等3 種模型進(jìn)行試驗(yàn)對(duì)比證實(shí)Word2vec 的詞向量效果。陳亞?wèn)|等[11] 將知識(shí)圖譜的構(gòu)建過(guò)程劃分4 個(gè)層級(jí),并從8 類數(shù)據(jù)源中抽取知識(shí),形成了蘋果產(chǎn)業(yè)知識(shí)圖譜。張?jiān)浦械萚12] 和LIU S 等[13] 將知識(shí)圖譜的構(gòu)建和問(wèn)答數(shù)據(jù)庫(kù)結(jié)合,設(shè)計(jì)了智能問(wèn)答系統(tǒng),實(shí)現(xiàn)了理論和應(yīng)用的良好結(jié)合。
知識(shí)圖譜的構(gòu)建及其在各領(lǐng)域的應(yīng)用極為廣泛,但農(nóng)業(yè)領(lǐng)域的知識(shí)圖譜構(gòu)建及應(yīng)用依然存在較多的疑難點(diǎn)尚未攻破[14]。如大量數(shù)據(jù)的高質(zhì)量批處理,實(shí)體分類的精準(zhǔn)度不夠,數(shù)據(jù)標(biāo)注較為單一,模型的穩(wěn)定性和效率不高等問(wèn)題。因此,本研究以馬鈴薯病害蟲防治知識(shí)圖譜構(gòu)建和查詢系統(tǒng)的建立為目標(biāo),針對(duì)目前農(nóng)業(yè)領(lǐng)域知識(shí)圖譜構(gòu)建存在的上述問(wèn)題和挑戰(zhàn),從數(shù)據(jù)標(biāo)注方法、實(shí)體細(xì)粒度分類和模型優(yōu)化構(gòu)建方面開(kāi)展試驗(yàn)和分析。在已有的BIOES 標(biāo)注基礎(chǔ)上,結(jié)合試驗(yàn)數(shù)據(jù)的特點(diǎn),添加BEMS 標(biāo)注方式和BIO 標(biāo)注方式作為對(duì)比,試驗(yàn)驗(yàn)證3 種標(biāo)注方式對(duì)知識(shí)抽取精度的影響。通過(guò)對(duì)試驗(yàn)數(shù)據(jù)特征的深入分析,添加了新的實(shí)體類型,即加入“防治”實(shí)體及關(guān)系使數(shù)據(jù)結(jié)構(gòu)更加完整。模型構(gòu)建方面,設(shè)計(jì)了多種模型進(jìn)行對(duì)比試驗(yàn)以獲得更適合本研究數(shù)據(jù)性能的更優(yōu)模型用于知識(shí)抽取。
1 整體結(jié)構(gòu)
基于馬鈴薯病蟲害知識(shí)圖譜的問(wèn)答系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)如圖1 所示,以自上而下的結(jié)構(gòu)分為數(shù)據(jù)收集和處理、知識(shí)圖譜構(gòu)建及問(wèn)答系統(tǒng)建立3 部分組成。其中數(shù)據(jù)收集和處理包含對(duì)結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化3 大類型數(shù)據(jù)的收集和預(yù)處理,分別處理不同類型的數(shù)據(jù)并對(duì)其合理清洗,以保證模型訓(xùn)練數(shù)據(jù)的高辨識(shí)性。知識(shí)圖譜屬于智能查詢系統(tǒng)的知識(shí)庫(kù)存儲(chǔ)部分,主要包含模式層和實(shí)例層構(gòu)建。模式層采用Shcema 方式構(gòu)建,也即為實(shí)體層。實(shí)例層的創(chuàng)建是利用清洗后的數(shù)據(jù),抽取出相應(yīng)的實(shí)體及關(guān)系,以三元組的形式“實(shí)體?關(guān)系?實(shí)體”或“實(shí)體?關(guān)系?屬性”保存到Neo4j 知識(shí)圖庫(kù)。Neo4j 是一種基于Java 的開(kāi)源圖數(shù)據(jù)庫(kù),可將數(shù)據(jù)存儲(chǔ)于靈活的網(wǎng)絡(luò)結(jié)構(gòu)中,并且具有高性能、高可靠性和高可擴(kuò)展性等優(yōu)勢(shì),既能更加直觀體現(xiàn)實(shí)體與實(shí)體之間的關(guān)系,又提升檢索效率[15]。問(wèn)答系統(tǒng)首先對(duì)問(wèn)題進(jìn)行預(yù)處理,并對(duì)用戶問(wèn)題進(jìn)行識(shí)別和分類;之后利用本研究的Bert-BILSTM-CRF 模型進(jìn)行命名實(shí)體識(shí)別,利用Bert-textcnn 模型進(jìn)行意圖識(shí)別,對(duì)用戶的問(wèn)題實(shí)現(xiàn)匹配;再通過(guò)Eypher 語(yǔ)句查詢Neo4j 知識(shí)圖庫(kù)中相應(yīng)的實(shí)體關(guān)系三元組后將其答案反饋給用戶[16-18]。
問(wèn)答系統(tǒng)展示層以Vue 框架搭建前端展示平臺(tái),并接入語(yǔ)音識(shí)別和語(yǔ)音播報(bào)作為擴(kuò)展,通過(guò)Uniapp 軟件使項(xiàng)目整體遷移到手機(jī)App 移動(dòng)端。整個(gè)系統(tǒng)以Javascript 和Python 兩種語(yǔ)言并行完成項(xiàng)目設(shè)計(jì)并應(yīng)用語(yǔ)音、移動(dòng)端和微信聊天模式等多個(gè)功能。
2 知識(shí)圖譜構(gòu)建
知識(shí)圖譜的構(gòu)建分為模式層框架搭建、數(shù)據(jù)收集與處理、實(shí)例層搭建、命名實(shí)體識(shí)別及可視化呈現(xiàn)5大部分。首先,分析馬鈴薯病蟲害體系結(jié)構(gòu)、關(guān)系和特征,構(gòu)建模式層的本體框架;然后,標(biāo)注預(yù)處理后的數(shù)據(jù),并設(shè)計(jì)和優(yōu)化模型準(zhǔn)確抽取數(shù)據(jù)中的實(shí)體、關(guān)系和屬性,形成三元組;最后,結(jié)合Neo4j 軟件可視化三元組結(jié)構(gòu)。
2.1 模式層定義
模式層作為知識(shí)圖譜的核心部分,對(duì)知識(shí)圖譜的結(jié)構(gòu)層次和規(guī)模起著決定性作用。通過(guò)對(duì)馬鈴薯病蟲害機(jī)理和關(guān)聯(lián)因素的深入分析,構(gòu)建了馬鈴薯病蟲害知識(shí)圖譜模式層結(jié)構(gòu),如圖2 所示。主要包含馬鈴薯病蟲害本體、發(fā)病部位、分布區(qū)域、病原、癥狀和防治方法6 大實(shí)體。
2.2 數(shù)據(jù)收集與處理
本研究數(shù)據(jù)主要來(lái)源于國(guó)家農(nóng)業(yè)科學(xué)數(shù)據(jù)共享中心、維基百科和中國(guó)作物種質(zhì)信息網(wǎng)等,其中大部分是非結(jié)構(gòu)化數(shù)據(jù),對(duì)于多源及大量的非結(jié)構(gòu)化數(shù)據(jù),通過(guò)設(shè)計(jì)爬蟲工具獲取較為準(zhǔn)確的數(shù)據(jù)。然后對(duì)獲得的原始數(shù)據(jù)進(jìn)行清洗、去重之后保存為Mongo DB 數(shù)據(jù)庫(kù)。進(jìn)一步利用Yedda 標(biāo)注工具對(duì)樣本數(shù)據(jù)進(jìn)行實(shí)體標(biāo)注后用于知識(shí)抽取模型的訓(xùn)練。對(duì)標(biāo)注后的數(shù)據(jù)整理后獲得包括6 種實(shí)體類型、8 種關(guān)系類型共計(jì)8 971個(gè)實(shí)體樣本的訓(xùn)練數(shù)據(jù)集,將該數(shù)據(jù)集以6∶2∶2 比例劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集,用于命名實(shí)體識(shí)別試驗(yàn),訓(xùn)練數(shù)據(jù)集具體如表1 所示。
2.3 實(shí)例層構(gòu)建
實(shí)例層構(gòu)建需要完成知識(shí)抽取、關(guān)系抽取和屬性抽取3 個(gè)階段,依據(jù)不同的疾病和不同的類型,將實(shí)體分為疾病名稱、發(fā)病癥狀、疾病病原、防治方法和疾病多發(fā)地區(qū)。關(guān)系分為分布區(qū)域、防治方法、發(fā)病癥狀、病原名稱和發(fā)病部位。屬性分為疾病別稱、適應(yīng)溫度區(qū)間、適應(yīng)pH 值區(qū)間和傳播途徑。以此定義抽取知識(shí)以三元組“實(shí)體?關(guān)系?屬性”存儲(chǔ)于Neo4j 知識(shí)圖庫(kù)。基于此知識(shí)庫(kù),問(wèn)答系統(tǒng)對(duì)相應(yīng)的實(shí)體進(jìn)行查詢并對(duì)其關(guān)系和屬性進(jìn)行相應(yīng)匹配從而輸出知識(shí)單元。實(shí)體及關(guān)系的詳細(xì)定義如表2 和表3 所示。
2.4 實(shí)體對(duì)齊
實(shí)體對(duì)齊對(duì)于實(shí)體的準(zhǔn)確抽取和知識(shí)圖譜的質(zhì)量起到非常關(guān)鍵的作用。其原因是在大量來(lái)源不同的數(shù)據(jù)中可能均包含同一實(shí)體,如果不用實(shí)體對(duì)齊進(jìn)行信息融合,會(huì)發(fā)生在知識(shí)圖譜中出現(xiàn)實(shí)體重復(fù)和歧義等現(xiàn)象。早期的實(shí)體對(duì)齊方法主要依賴于定義各種獨(dú)立于語(yǔ)言的特征或者機(jī)器翻譯技術(shù)來(lái)實(shí)現(xiàn)跨語(yǔ)言的連接。近年來(lái),基于嵌入的實(shí)體對(duì)齊方法將知識(shí)圖譜嵌入到低維向量空間中進(jìn)行運(yùn)算,顯著提升了實(shí)體對(duì)齊效果[19]。本研究采用后者進(jìn)行實(shí)體對(duì)齊,具體過(guò)程如圖3 所示。
式中 xi、yi——詞匯
a——向量
b——向量
|a|——向量a 模長(zhǎng)
|b|——向量b 模長(zhǎng)
當(dāng)兩個(gè)向量方向相同時(shí),余弦相似度為1;當(dāng)兩個(gè)向量方向完全相反時(shí),余弦相似度為?1;當(dāng)兩個(gè)向量互相垂直時(shí),余弦相似度為0。結(jié)果表明,夾角越小,代表詞匯x 與詞匯y 越相似。
2.5 命名實(shí)體識(shí)別
命名實(shí)體識(shí)別(Named Entity Recognition,NER)旨在識(shí)別文本中具有特定意義或者指代性強(qiáng)的實(shí)體。命名實(shí)體識(shí)別是知識(shí)圖譜構(gòu)建的重要環(huán)節(jié),其識(shí)別準(zhǔn)確率的高低直接決定知識(shí)圖譜的內(nèi)涵,也是知識(shí)圖譜構(gòu)建的挑戰(zhàn)問(wèn)題之一。傳統(tǒng)的命名實(shí)體識(shí)別方法通常有基于規(guī)則、字典的方法,以及無(wú)監(jiān)督學(xué)習(xí)方法。但在試驗(yàn)中傳統(tǒng)命名實(shí)體識(shí)別方法對(duì)于多文本、多實(shí)體結(jié)構(gòu)等復(fù)雜語(yǔ)料有較大的局限性,具體體現(xiàn)有精準(zhǔn)度不夠、運(yùn)行速度緩慢和誤差較大等問(wèn)題。
采用基于特征的監(jiān)督學(xué)習(xí)方法,在數(shù)據(jù)處理中相比于傳統(tǒng)方法,此類方法準(zhǔn)確率更高,適用于中小型數(shù)據(jù)。目前,在實(shí)體命名識(shí)別中常用的經(jīng)典模型是基于深度學(xué)習(xí)的BILSTM+CRF 模型,該模型對(duì)文本中詞義的表達(dá)有些欠缺。為此對(duì)其進(jìn)行了改進(jìn),在此基礎(chǔ)上加入BERT 詞嵌入層,通過(guò)BERT 詞嵌入層將輸入文本轉(zhuǎn)化為具有豐富語(yǔ)義的詞向量, 然后經(jīng)過(guò)BILSTM 雙向編碼,可獲得全面的上下文信息。但該層不能通過(guò)隱藏狀態(tài)決策標(biāo)簽,最后進(jìn)過(guò)設(shè)計(jì)CRF 隨機(jī)向量層思考標(biāo)簽之間的上下關(guān)系來(lái)獲得全局的最佳標(biāo)簽。為了選擇最優(yōu)的詞向量層,文本設(shè)計(jì)了Word2vec-BILSTM-CRF 模型和Bert-BILSTM-CRF 模型進(jìn)行對(duì)比試驗(yàn),以獲得最優(yōu)的實(shí)體命名識(shí)別模型。
2.5.1 Word2vec-BILSTM-CRF 模型
在數(shù)據(jù)集中,各個(gè)實(shí)體之間相互獨(dú)立,很難看出向量間存在關(guān)系,傳統(tǒng)BILSTM-CRF 模型在面對(duì)此類數(shù)據(jù)集,會(huì)存在維度災(zāi)難和語(yǔ)義缺失等問(wèn)題。因此采用Word2vec 嵌入對(duì)稠密向量將相關(guān)向量進(jìn)行關(guān)系鏈接,很好解決語(yǔ)義缺失等問(wèn)題。因此,研究采用Word2vec模型的CBOW 算法實(shí)現(xiàn)語(yǔ)義表達(dá)。CBOW 分為輸入層Input layer、隱藏層Hidden layer、輸出層Output layer。設(shè)詞向量空間為β、行數(shù)為n,詞向量總空間的大小為|β|×n,|β|表示整體詞向量詞語(yǔ)數(shù)量。以樣本a 為例,a=“馬鈴薯青枯病是由青枯假單胞菌引起的、發(fā)生在馬鈴薯的病害”。序列化處理為(r1,r2,…,rm),m 是實(shí)體個(gè)數(shù);取得ri(1( Z1, Z2, … , Zm) T, 作為輸入BILSTM+CRF 模型進(jìn)行訓(xùn)練,如圖4 所示。
2.5.2 Bert-BILSTM-CRF 模型
Bert 是基于Transformer 的深度雙向預(yù)訓(xùn)練語(yǔ)言模型,Transformer 用于將輸入語(yǔ)料庫(kù)轉(zhuǎn)換為特征向量,Transformer 層的核心是通過(guò)自注意力函數(shù)Attention()計(jì)算詞與詞之間的關(guān)聯(lián)度。
式中 P——預(yù)測(cè)為正的樣本是真正為正樣本的概率
R——在樣本中的正樣本被預(yù)測(cè)正確概率
F1——結(jié)合準(zhǔn)確率和召回率的加權(quán)和平均
TP——預(yù)測(cè)正樣本
FP——預(yù)測(cè)負(fù)樣本
FN——本身正樣本預(yù)測(cè)為負(fù)樣本
2.6.2 標(biāo)注方式探究及分析
在知識(shí)圖譜問(wèn)答系統(tǒng)中命名實(shí)體識(shí)別試驗(yàn)非常關(guān)鍵,為了讓模型更好識(shí)別實(shí)體,在進(jìn)行命名實(shí)體識(shí)別試驗(yàn)中首先要對(duì)語(yǔ)料進(jìn)行準(zhǔn)確標(biāo)注。為此,設(shè)計(jì)并探究了BIO、BMES 和BIOES 標(biāo)注方式對(duì)實(shí)體識(shí)別準(zhǔn)確率的影響,以從中選出最佳的標(biāo)注方式用于知識(shí)圖譜構(gòu)建的知識(shí)抽取。其對(duì)比試驗(yàn)?zāi)P驮O(shè)定為Word2vec-BILSTM-CRF。模型的重要參數(shù)學(xué)習(xí)率設(shè)置為0.05,Batch_size 為16。在此,首先對(duì)3 種標(biāo)注方式進(jìn)行詳細(xì)舉例說(shuō)明。相應(yīng)舉例如圖6 所示。
其中,BIO 標(biāo)注方式中B 代表實(shí)體開(kāi)頭、I 代表實(shí)體中間、O 代表其他非實(shí)體;BMES 標(biāo)注方式B 表示一個(gè)詞的詞首位值、M 表示一個(gè)詞的中間位置、E 表示一個(gè)詞的末尾位置、S 表示一個(gè)單獨(dú)的字詞;BIOES標(biāo)注方式中B 表示開(kāi)始、I 表示內(nèi)部、O 表示非實(shí)體、E 實(shí)體尾部、S 表示改詞本身就是一個(gè)實(shí)體。相比之下,在BMES 和BIOES 兩種標(biāo)注方式對(duì)單個(gè)實(shí)體有很好標(biāo)注方式,這一點(diǎn)優(yōu)于BIO 標(biāo)注方式。
將3 種方式標(biāo)注的試驗(yàn)樣本輸入Word2vec-BILSTM-CRF 模型進(jìn)行對(duì)比試驗(yàn),采用上文中定義的準(zhǔn)確率P、召回率R 及F1 值3 項(xiàng)指標(biāo)對(duì)試驗(yàn)結(jié)果進(jìn)行綜合評(píng)測(cè),其值如表4 所示。為了更直觀地體現(xiàn)對(duì)比試驗(yàn)結(jié)果,采用圖形對(duì)比顯示F1 值(圖7)。由表4 和圖7 可知,采用模型Word2vec-BILSTMCRF識(shí)別實(shí)體,BEMS 標(biāo)注方式下模型輸出的F1 值最高,BIO 標(biāo)注方式F1 值略有偏差,BIOES 標(biāo)注方式的效果較為遜色,可能的原因是BIOES 標(biāo)注中實(shí)體邊界比較模糊,負(fù)樣本數(shù)量較多,對(duì)效果產(chǎn)生負(fù)面影響。
2.6.3 模型性能分析
為探究本研究設(shè)計(jì)的Bert-BILSTM-CRF 模型在命名實(shí)體識(shí)別方面的優(yōu)越性,采用表1 列舉的試驗(yàn)數(shù)據(jù),試驗(yàn)驗(yàn)證較優(yōu)的BEMS 標(biāo)注方式訓(xùn)練模型實(shí)現(xiàn)實(shí)體識(shí)別,并且與Word2vec-BILSTM-CRF、BILSTM-CRF 模型進(jìn)行了對(duì)比試驗(yàn),其結(jié)果如表5 所示。為了更直觀地表達(dá)3 種模型的優(yōu)越性,對(duì)3 種模型的F1 值做出了對(duì)比值,結(jié)果如圖8 所示。
由表5 和圖8 可知,在相同數(shù)據(jù)集下Bert-BILSTMCRF模型相較于BILSTM-CRF、Word2vec-BILSTM-CRF兩種模型在F1 值上分別提升了18.23 和8.61 個(gè)百分點(diǎn),并在速度上優(yōu)越于其他模型,在第一個(gè)Epoch 訓(xùn)練中F1 值已經(jīng)達(dá)到71.82%。進(jìn)一步說(shuō)明Bert 對(duì)模型輸入層進(jìn)行了優(yōu)化,提高了文本特征提取的準(zhǔn)確率,解決了部分模型不宜學(xué)習(xí)長(zhǎng)文本數(shù)據(jù)和一詞多義的問(wèn)題,而Bert 模型生成的字符級(jí)動(dòng)態(tài)特征向量可以很好地解決這類問(wèn)題,試驗(yàn)結(jié)果也證明了在相同的條件下Bert-BILSTM-CRF 模型在命名實(shí)體識(shí)別方面更為效性。
2.7 知識(shí)儲(chǔ)存及可視化
采用Neo4j 圖數(shù)據(jù)庫(kù)形式來(lái)儲(chǔ)存數(shù)據(jù),相比其他存儲(chǔ)方式,圖數(shù)據(jù)具有擴(kuò)展性強(qiáng)、更加直觀和穩(wěn)定性強(qiáng)等優(yōu)勢(shì)。將試驗(yàn)中獲得的三元組數(shù)據(jù)通過(guò)驅(qū)動(dòng)工具Py2neo 導(dǎo)入Neo4j,然后采用Cypher 語(yǔ)言編程實(shí)現(xiàn)圖譜可視化,文本構(gòu)建的馬鈴薯病蟲害知識(shí)圖譜可視化如圖9 所示。
3 問(wèn)答系統(tǒng)設(shè)計(jì)
3.1 問(wèn)答終端整體結(jié)構(gòu)
基于馬鈴薯病蟲害知識(shí)圖譜的智能問(wèn)答系統(tǒng)是一種很有價(jià)值和實(shí)踐指導(dǎo)的應(yīng)用方式。為了能夠?qū)⑵涓鼮楸憬莸厥褂?,設(shè)計(jì)了在線和離線端分離兩種模式的問(wèn)答系統(tǒng),結(jié)構(gòu)如圖10 所示。
在線端以Python 為基礎(chǔ)語(yǔ)言對(duì)輸入問(wèn)題進(jìn)行命名實(shí)體識(shí)別并在Neo4j 知識(shí)圖庫(kù)檢索最佳答案反饋給用戶。離線端以Java 為基礎(chǔ)語(yǔ)言,搭建相應(yīng)數(shù)據(jù)庫(kù),利用Vue 前端框架搭建問(wèn)答交互網(wǎng)頁(yè)對(duì)問(wèn)題采用自上往下方式進(jìn)行數(shù)據(jù)庫(kù)檢索并反饋用戶。
3.2 在線問(wèn)答系統(tǒng)
在線問(wèn)答系統(tǒng)利用常規(guī)自然語(yǔ)言處理技術(shù),包括問(wèn)題預(yù)處理、問(wèn)題識(shí)別分析、Neo4j 知識(shí)圖庫(kù)檢索最佳答案和反饋用戶4 部分組成。
3.2.1 問(wèn)題預(yù)處理
問(wèn)題預(yù)處理首先利用Python 自帶的Jieba 分詞對(duì)用戶輸入的問(wèn)題進(jìn)行分類,以增加系統(tǒng)的處理效率,使用戶可以更加便捷、快速地實(shí)現(xiàn)查詢。本系統(tǒng)將馬鈴薯病蟲害問(wèn)題劃分閑聊、癥狀類問(wèn)題、防治類問(wèn)題、屬性類問(wèn)題、周期性問(wèn)題和其他類問(wèn)題6 個(gè)類別。閑聊類問(wèn)題如你好、再見(jiàn)、你叫什么名字等;癥狀類問(wèn)題如馬鈴薯青枯病的發(fā)病癥狀、馬鈴薯早疫病的葉子變化等;其他問(wèn)題屬于馬鈴薯病害蟲領(lǐng)域的相關(guān)了解部分包括對(duì)于發(fā)病地區(qū)和易發(fā)病環(huán)境的問(wèn)答,對(duì)用戶有一定的指導(dǎo)意義,詳細(xì)內(nèi)容如表6 所示。
3.2.2 問(wèn)題識(shí)別分析
問(wèn)題識(shí)別分析是對(duì)以上劃分的類別進(jìn)一步詳細(xì)處理,首先,采用Bert+Text CNN 文本分類模型實(shí)現(xiàn)對(duì)用戶意圖的識(shí)別,其目的是判斷用戶的Query 屬于哪一類問(wèn)題,其次,建立語(yǔ)義槽,對(duì)問(wèn)題進(jìn)行槽位填充。如問(wèn)句:“馬鈴薯青枯病的發(fā)病原因”其中“馬鈴薯青枯病”和“發(fā)病原因”分別作為疾病名稱和疾病發(fā)病原因的語(yǔ)義槽,結(jié)合命名實(shí)體識(shí)別任務(wù),進(jìn)行槽位填充。
采用Bert+Text CNN 模型完成意圖識(shí)別和文本分類任務(wù),通過(guò)Bert 模型對(duì)問(wèn)題進(jìn)行向量化處理后利用Text CNN 對(duì)多個(gè)不同的Kernel size 提取句子中的關(guān)鍵信息, 將不同的Kernel size 的結(jié)果進(jìn)行拼接實(shí)現(xiàn)Pooling(對(duì)其用中文解釋)操作,以更好地獲取文本的局部特征,最后對(duì)特征進(jìn)行拼接完成用戶的意圖識(shí)別,其試驗(yàn)結(jié)果如表7 所示,準(zhǔn)確率達(dá)到92%。
3.2.3 Neo4j 知識(shí)圖庫(kù)檢索
使用Cypher 語(yǔ)句對(duì)Neo4j 圖數(shù)據(jù)庫(kù)進(jìn)行查詢,對(duì)于用戶的問(wèn)題進(jìn)行分類后,在6 類不同的用戶意圖類別下分別搭建相應(yīng)的查詢語(yǔ)句模板,如查詢“馬鈴薯早疫病的防治方法”,系統(tǒng)首先進(jìn)行命名識(shí)別得到實(shí)體“馬鈴薯早疫病”,之后通過(guò)意圖識(shí)別進(jìn)行問(wèn)題分類到“疾病防治”類別進(jìn)行檢索,對(duì)應(yīng)的Cypher 查詢語(yǔ)句為:Match(a)-[:has prevent]-(b)where b.name=“馬鈴薯早疫病”return a.name.
3.2.4 問(wèn)答交互
利用前端技術(shù)搭建問(wèn)答框架,即將Python 中的Py2neo 與Neo4j 圖數(shù)據(jù)庫(kù)連接,可以滿足用戶與系統(tǒng)實(shí)時(shí)交互。用戶向系統(tǒng)提出問(wèn)題,系統(tǒng)將接收信息輸入Neo4j 圖數(shù)據(jù)庫(kù),再將反饋信息通過(guò)窗口化反饋,本系統(tǒng)構(gòu)建的問(wèn)答交互界面如圖11 所示。
3.3 離線問(wèn)答系統(tǒng)
離線系統(tǒng)基于JavaScript 語(yǔ)言設(shè)計(jì),并采用相關(guān)的輕便型框架進(jìn)行搭建,常見(jiàn)的Web 框架有Flask、Vue框架等。Vue 框架的特點(diǎn)是輕量級(jí)、體積小,比較適合快速的開(kāi)發(fā),并且運(yùn)行效率較高,生態(tài)豐富,學(xué)習(xí)成本低[20]。所以本系統(tǒng)構(gòu)建采用Vue 框架??傮w分為內(nèi)置數(shù)據(jù)庫(kù)搭建、問(wèn)答交互和頁(yè)面可視化。
3.3.1 內(nèi)置數(shù)據(jù)庫(kù)搭建
內(nèi)置數(shù)據(jù)庫(kù)搭建采用MOCKJS 模擬后端接口,生成所需數(shù)據(jù),可模擬對(duì)數(shù)據(jù)的增刪改查。優(yōu)勢(shì)在于前后端分離,可隨機(jī)生成大量的數(shù)據(jù),用法便捷,數(shù)據(jù)類型豐富,可擴(kuò)展數(shù)據(jù)類型。
3.3.2 問(wèn)答交互
問(wèn)答交互采用Element 框架構(gòu)建,以搜索查找模式進(jìn)行交互,并調(diào)用科大訊飛語(yǔ)音問(wèn)答功能擴(kuò)展本項(xiàng)目功能。本系統(tǒng)問(wèn)答交互頁(yè)面如圖12 所示。
通過(guò)對(duì)數(shù)據(jù)庫(kù)的雙向Context 綁定,對(duì)相應(yīng)問(wèn)題點(diǎn)擊詳情, 即可跳轉(zhuǎn)疾病詳情頁(yè)。查詢功能基于Javascript 中的Dom 屬性設(shè)定,對(duì)于問(wèn)句逐字拆分,如“馬鈴薯蟲害”,拆分為“馬”“馬鈴”“馬鈴薯”“馬鈴薯蟲”和“馬鈴薯蟲害”5 部分,然后從前往后對(duì)內(nèi)置數(shù)據(jù)庫(kù)進(jìn)行遍歷,篩選出最佳對(duì)象并進(jìn)行反饋。
3.3.3 可視化展示
Echarts 模塊是以JavaScript 語(yǔ)言為基礎(chǔ)的一款可視化圖標(biāo)庫(kù)。利用該模塊搭建初始化頁(yè)面,設(shè)計(jì)圖譜,通過(guò)與內(nèi)置數(shù)據(jù)庫(kù)產(chǎn)生聯(lián)調(diào),生成相應(yīng)三元組視圖,問(wèn)答系統(tǒng)的可視化如圖13 所示。
通過(guò)Vue 框架中的內(nèi)置API 指令V-mode 對(duì)點(diǎn)擊事件和內(nèi)置數(shù)據(jù)庫(kù)進(jìn)行雙向綁定,通過(guò)點(diǎn)擊圖譜即可跳轉(zhuǎn)詳情頁(yè)進(jìn)行查看,使用更加便捷。
4 結(jié)束語(yǔ)
農(nóng)業(yè)智能化是未來(lái)的發(fā)展趨勢(shì),而農(nóng)業(yè)知識(shí)圖譜是智能化的基礎(chǔ)。以深度學(xué)習(xí)、Neo4j、命名實(shí)體識(shí)別和Javascript 等技術(shù)為基礎(chǔ)構(gòu)建了馬鈴薯病蟲害的知識(shí)圖譜,基于此圖譜設(shè)計(jì)實(shí)現(xiàn)了多模式的問(wèn)答系統(tǒng),系統(tǒng)不僅交互便捷,其知識(shí)量豐富且精準(zhǔn),知識(shí)間的語(yǔ)義關(guān)聯(lián)更加緊密,而且該系統(tǒng)的可擴(kuò)展性較強(qiáng),可方便地應(yīng)用于馬鈴薯生產(chǎn)領(lǐng)域。
知識(shí)圖譜問(wèn)答系統(tǒng)的構(gòu)建中,實(shí)現(xiàn)從大量非結(jié)構(gòu)化數(shù)據(jù)中抽取實(shí)體、關(guān)系和屬性等知識(shí)最為關(guān)鍵,其中模型的構(gòu)建和數(shù)據(jù)標(biāo)注方式是主要影響因素。為此,設(shè)計(jì)了BIO、BIOES 和BEMS 標(biāo)注方式,并對(duì)其在同一模型上進(jìn)行對(duì)比試驗(yàn),結(jié)果證明了BEMS 標(biāo)注方式在本試驗(yàn)中效果最佳,可將F1 值提升2.29 個(gè)百分點(diǎn)。在前期研究的基礎(chǔ)上設(shè)計(jì)了Bert-BILSTM-CRF 的知識(shí)抽取模型, 并與BILSTM-CRF 和Word2vec-BILSTMCRF模型進(jìn)行試驗(yàn)對(duì)比。在同樣的BEMS 數(shù)據(jù)標(biāo)注方式下,模型Bert-BILSTM-CRF 的加權(quán)平均F1 值最高。
說(shuō)明本設(shè)計(jì)模型在利用BERT 解決語(yǔ)義缺失和一詞多義等問(wèn)題后模型性能大大提高,能夠準(zhǔn)確地抽取非結(jié)構(gòu)化數(shù)據(jù)中的知識(shí),進(jìn)一步提升問(wèn)答系統(tǒng)中問(wèn)句實(shí)體的識(shí)別率,實(shí)現(xiàn)精準(zhǔn)問(wèn)答。由于在馬鈴薯病害蟲領(lǐng)域數(shù)據(jù)量有限,模型在性能上還有提升空間,接下來(lái)將進(jìn)一步優(yōu)化數(shù)據(jù)集和模型輸入層,以獲得更好的試驗(yàn)效果。
參考文獻(xiàn)
張克艷,謝冬.甘肅省馬鈴薯產(chǎn)業(yè)發(fā)展現(xiàn)狀與前景展望[J].農(nóng)村經(jīng)濟(jì)與科技技,2020,31(1):227,238.
陶永芹.專業(yè)領(lǐng)域智能問(wèn)答系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(5):95-101.
TAO Yongqin. Design and implementation of intelligent question answeringsystem in professional field[J]. Computer Applications andSoftware,2018,35(5):95-101.
XIAO G , CORMAN J. Ontology-mediated SPARQL query answeringover knowledge graphs[J]. Big Data Research, 2020, 23:100177.DOI:10.1016/j.bdr.2020.100177.[3]
劉嶠,李楊,段宏,等.知識(shí)圖譜構(gòu)建技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2016,53(3):582-600.
LIU Qiao,LI Yang,DUAN Hong,et al.Knowledge graph constructiontechniques[J]. Journal of Computer Research and Development,2016,53(3):582-600.
孫亞茹,楊瑩,王永劍.基于知信圖卷積神經(jīng)網(wǎng)絡(luò)的開(kāi)放域知識(shí)圖譜自動(dòng)構(gòu)建模型[J].計(jì)算機(jī)工程,2022,48(10):116-122.
SUN Yaru, YANG Ying, WANG Yongjian. Knowledge graph automaticconstruction model in open domain based on knowledge-informedgraph convolutional neural network[J].Computer Engineering,2022,48(10):116-122.
申存,黃廷磊,梁霄.基于多粒度特征表示的知識(shí)圖譜問(wèn)答[J].計(jì)算機(jī)與現(xiàn)代化,2018(9):5-10.
SHEN Cun, HUANG Yanlei, LIANG Xiao. Knowledge graph questionanswering based on multi-granularity feature representation[J].Computer and modernization,2018(9):5-10.
吳賽賽.基于知識(shí)圖譜的作物病害蟲智能問(wèn)答系統(tǒng)[D].北京:中國(guó)農(nóng)業(yè)科學(xué)院,2021.
WU Saisai. Design and implementation of intelligent question and answeringsystem for crop diseases and pests based on knowledgegraph[D]. Beijing: Chinese Academy of Agricultural Sciences,2021.
徐帥博.基于枸杞病蟲害知識(shí)圖譜的問(wèn)答系統(tǒng)研究與實(shí)現(xiàn)[D].銀川:寧夏大學(xué),2020.
XU Shuaibo. Research and implementation of question answering systembased on diseases and pests knowledge graph of lycium barbarum[D].Yinchuan:Ningxia University,2020.
吳茜.基于知識(shí)圖譜的農(nóng)業(yè)智能問(wèn)答系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].廈門:廈門大學(xué),2019.
WU Qian.Design and implementation of agricultural intelligent Q & Asystem based on knowledge graph[D]. Xiamen: Xiamen University,2019.
朱淑媛,羅軍.基于本體的領(lǐng)域自動(dòng)問(wèn)答系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(8):98-105,154.
ZHU Shuyuan, LUO Jun. Domain automatic question answering systembased on ontology[J].Computer Applications and Software,2019,36(8):98-105,154.
陳亞?wèn)|,鮮國(guó)建,寇遠(yuǎn)濤,等.我國(guó)蘋果產(chǎn)業(yè)知識(shí)圖譜構(gòu)建研究[J].中國(guó)農(nóng)業(yè)資源與區(qū)劃,2017,38(11):40-45.
CHEN Yadong,XIAN Guojian,KOU Yuantao,et al.Study on constructionof knowledge graph of apple industry in China[J]. ChineseJournal of Agricultural Resources and Regional Planning, 2017,38(11):40-45.
張?jiān)浦?,郭冬,王亞鴿.基于知識(shí)圖譜的紅色歷史人物知識(shí)問(wèn)答服務(wù)框架研究[J].圖書情報(bào)工作,2021,65(16):108-117.
ZHANG Yunzhong,GUO Dong,WANG Yage.Framework of knowledgeQ & A service for red historical figures based on knowledgegraph[J].Library and Information Service,2021,65(16):108-117.
LIU S, TAN N, YANG H, et al. An intelligent question answeringsystem of the Liao dynasty based on knowledge graph[J].InternationalJournal of Computational intelligence Systems,2021,14(1):1-12.
丁晟春,侯琳琳,王穎.基于電商數(shù)據(jù)的產(chǎn)品知識(shí)圖譜構(gòu)建研究[J].?dāng)?shù)據(jù)分析與知識(shí)發(fā)現(xiàn),2019,3(3):45-56.
DING Shengchun, HOU Linlin, WANG Ying. Product knowledgemap construction based on the e-commerce data[J]. Data Analysis andKnowledge Discovery,2019,3(3):45-56.
張琳,熊斯攀.基于Neo4j 的社交網(wǎng)絡(luò)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].情報(bào)探索,2018(8):77-82.
ZHANG Lin,XIONG Sipan.Design and implementation of social networkplatform based on Neo4j[J]. Information Research, 2018( 8) :77-82.
DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training ofdeep bidirectional transformers for language understanding[J].2018.DOI:10.48550/arXiv.1810.04805.
MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimationof word representations in vector space[C]// Proceedings of the InternationalConference on Learning Representations (ICLR 2013),2013.
ESULI. EMNLP 2015: Empirical methods in natural language processing[C]// Empirical Methods in Natural Language Processing.http://www.emnlp2015.org/submissions.html.
車超,劉迪.基于雙向?qū)R與屬性信息的跨語(yǔ)言實(shí)體對(duì)齊[J].計(jì)算機(jī)工程,2022,48(3):74-80.
CHE Chao,LIU Di.Cross-language entity alignment based on bidirectionalalignment and attribute information[J]. Computer Engineering,2022,48(3):74-80.
李航.統(tǒng)計(jì)學(xué)習(xí)方法[M].北京:清華大學(xué)出版社,2012.陳倩怡,何軍.Vue+Springboot+MyBatis 技術(shù)應(yīng)用解析[J].電腦編程技巧與維護(hù),2020(1):14-15,28.