趙賽 楊婉霞 王巧珍 王夢瑤 熊磊
摘 要: 開展農(nóng)業(yè)知識圖譜的問答系統(tǒng)研究在整個智能農(nóng)業(yè)領(lǐng)域中具有重要的意義。以馬鈴薯病蟲害為例,設(shè)計了馬鈴薯病蟲害知識圖譜問答系統(tǒng),通過BIO、BMES 和BIOES 3 種方式標注數(shù)據(jù)后設(shè)計了BIiLSTM-CRF、Word2vec-BILSTMCRF和Bert-BILSTM-CRF 3 種模型進行命名實體識別。試驗結(jié)果表明,BEMS 標注方式效果最佳,Bert-BILSTM-CRF 模型在命名實體識別時性能最佳,其F1 值為85.62%。結(jié)合Neo4j 圖數(shù)據(jù)庫匹配相應(yīng)Cypher 語句實現(xiàn)問答交互,應(yīng)用基于Javascript語言的VUE 前端框架,搭建完整的問答系統(tǒng)頁面。
關(guān)鍵詞:馬鈴薯;知識圖譜;問答系統(tǒng);病蟲害;命名實體識別;Neo4j 圖數(shù)據(jù)庫
中圖分類號:S532文獻標識碼:A文章編號:2095-1795(2023)08-0029-09
DOI:10.19998/j.cnki.2095-1795.2023.08.006
0 引言
馬鈴薯淀粉含量較高,含有豐富的蛋白質(zhì)和維生素,是我國重要的糧食作物之一[1]??茖W(xué)種植馬鈴薯,保證其增產(chǎn)增收尤為重要。其中,馬鈴薯耕種環(huán)節(jié)的病蟲害防治在馬鈴薯生長周期中更為重要,直接影響馬鈴薯的產(chǎn)量和質(zhì)量。目前農(nóng)業(yè)生產(chǎn)者面對種植、病蟲害防治等一系列問題主要通過網(wǎng)絡(luò)查詢以獲得相關(guān)的解決辦法。但利用搜索引擎查詢相關(guān)專業(yè)問題時,往往會得到大量的與問題不相關(guān)的內(nèi)容,還需要進行人工的篩選[2]。為此,本研究利用自然語言處理技術(shù)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)技術(shù),通過構(gòu)建馬鈴薯病蟲害防治的專業(yè)領(lǐng)域知識圖譜,以此圖譜設(shè)計了靈活、便捷和專業(yè)的智能查詢系統(tǒng),為農(nóng)業(yè)生產(chǎn)者提供更為相關(guān)、系統(tǒng)和多形式的查詢方式,及時答疑解惑。
知識圖譜的提出源于谷歌優(yōu)化其搜索引擎的目的,在儲存實體和關(guān)系上有一定的優(yōu)越性[3]。主要以三元組作為基礎(chǔ)單元將實體?關(guān)系?屬性相互鏈接,通過實體、實體屬性及實體間的關(guān)系來刻畫知識關(guān)聯(lián),構(gòu)成了一種揭示實體之間關(guān)系的語義網(wǎng)絡(luò)[4]。用圖表示知識、儲存知識,可以完成智能分析、智能查詢和智能問答等一系列自然語言處理任務(wù)[5]。知識圖譜不僅精確度高、直觀性強,而且擴展性和可塑性強,廣泛應(yīng)用于軍事、醫(yī)學(xué)、經(jīng)濟和農(nóng)業(yè)等領(lǐng)域,特別是智慧農(nóng)業(yè),結(jié)合領(lǐng)域知識圖譜與問答系統(tǒng)的研究方向備受關(guān)注且已開展大量研究[6]。
吳賽賽[7] 對大規(guī)模數(shù)據(jù)進行清洗,并采用新型標注方式和實體關(guān)系聯(lián)合抽取有效緩解重疊關(guān)系抽取問題。徐帥博[8] 使用Bert-BILSTM-CRF 模型進行命名實體識別,以規(guī)則匹配的方式構(gòu)成三元組關(guān)系,并構(gòu)建了枸杞病蟲害知識圖譜。吳茜[9] 利用Protégé工具對收集的農(nóng)業(yè)數(shù)據(jù)進行本體構(gòu)建,并實現(xiàn)知識圖譜可視化。朱淑媛等[10] 利用TensorFlow 框架通過對Word2vec 訓(xùn)練得到其對應(yīng)的詞向量,使獲得的詞向量空間中包含了實體和關(guān)系的語義信息,并通過與Trans E 等3 種模型進行試驗對比證實Word2vec 的詞向量效果。陳亞東等[11] 將知識圖譜的構(gòu)建過程劃分4 個層級,并從8 類數(shù)據(jù)源中抽取知識,形成了蘋果產(chǎn)業(yè)知識圖譜。張云中等[12] 和LIU S 等[13] 將知識圖譜的構(gòu)建和問答數(shù)據(jù)庫結(jié)合,設(shè)計了智能問答系統(tǒng),實現(xiàn)了理論和應(yīng)用的良好結(jié)合。
知識圖譜的構(gòu)建及其在各領(lǐng)域的應(yīng)用極為廣泛,但農(nóng)業(yè)領(lǐng)域的知識圖譜構(gòu)建及應(yīng)用依然存在較多的疑難點尚未攻破[14]。如大量數(shù)據(jù)的高質(zhì)量批處理,實體分類的精準度不夠,數(shù)據(jù)標注較為單一,模型的穩(wěn)定性和效率不高等問題。因此,本研究以馬鈴薯病害蟲防治知識圖譜構(gòu)建和查詢系統(tǒng)的建立為目標,針對目前農(nóng)業(yè)領(lǐng)域知識圖譜構(gòu)建存在的上述問題和挑戰(zhàn),從數(shù)據(jù)標注方法、實體細粒度分類和模型優(yōu)化構(gòu)建方面開展試驗和分析。在已有的BIOES 標注基礎(chǔ)上,結(jié)合試驗數(shù)據(jù)的特點,添加BEMS 標注方式和BIO 標注方式作為對比,試驗驗證3 種標注方式對知識抽取精度的影響。通過對試驗數(shù)據(jù)特征的深入分析,添加了新的實體類型,即加入“防治”實體及關(guān)系使數(shù)據(jù)結(jié)構(gòu)更加完整。模型構(gòu)建方面,設(shè)計了多種模型進行對比試驗以獲得更適合本研究數(shù)據(jù)性能的更優(yōu)模型用于知識抽取。
1 整體結(jié)構(gòu)
基于馬鈴薯病蟲害知識圖譜的問答系統(tǒng)整體結(jié)構(gòu)設(shè)計如圖1 所示,以自上而下的結(jié)構(gòu)分為數(shù)據(jù)收集和處理、知識圖譜構(gòu)建及問答系統(tǒng)建立3 部分組成。其中數(shù)據(jù)收集和處理包含對結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化3 大類型數(shù)據(jù)的收集和預(yù)處理,分別處理不同類型的數(shù)據(jù)并對其合理清洗,以保證模型訓(xùn)練數(shù)據(jù)的高辨識性。知識圖譜屬于智能查詢系統(tǒng)的知識庫存儲部分,主要包含模式層和實例層構(gòu)建。模式層采用Shcema 方式構(gòu)建,也即為實體層。實例層的創(chuàng)建是利用清洗后的數(shù)據(jù),抽取出相應(yīng)的實體及關(guān)系,以三元組的形式“實體?關(guān)系?實體”或“實體?關(guān)系?屬性”保存到Neo4j 知識圖庫。Neo4j 是一種基于Java 的開源圖數(shù)據(jù)庫,可將數(shù)據(jù)存儲于靈活的網(wǎng)絡(luò)結(jié)構(gòu)中,并且具有高性能、高可靠性和高可擴展性等優(yōu)勢,既能更加直觀體現(xiàn)實體與實體之間的關(guān)系,又提升檢索效率[15]。問答系統(tǒng)首先對問題進行預(yù)處理,并對用戶問題進行識別和分類;之后利用本研究的Bert-BILSTM-CRF 模型進行命名實體識別,利用Bert-textcnn 模型進行意圖識別,對用戶的問題實現(xiàn)匹配;再通過Eypher 語句查詢Neo4j 知識圖庫中相應(yīng)的實體關(guān)系三元組后將其答案反饋給用戶[16-18]。
問答系統(tǒng)展示層以Vue 框架搭建前端展示平臺,并接入語音識別和語音播報作為擴展,通過Uniapp 軟件使項目整體遷移到手機App 移動端。整個系統(tǒng)以Javascript 和Python 兩種語言并行完成項目設(shè)計并應(yīng)用語音、移動端和微信聊天模式等多個功能。
2 知識圖譜構(gòu)建
知識圖譜的構(gòu)建分為模式層框架搭建、數(shù)據(jù)收集與處理、實例層搭建、命名實體識別及可視化呈現(xiàn)5大部分。首先,分析馬鈴薯病蟲害體系結(jié)構(gòu)、關(guān)系和特征,構(gòu)建模式層的本體框架;然后,標注預(yù)處理后的數(shù)據(jù),并設(shè)計和優(yōu)化模型準確抽取數(shù)據(jù)中的實體、關(guān)系和屬性,形成三元組;最后,結(jié)合Neo4j 軟件可視化三元組結(jié)構(gòu)。
2.1 模式層定義
模式層作為知識圖譜的核心部分,對知識圖譜的結(jié)構(gòu)層次和規(guī)模起著決定性作用。通過對馬鈴薯病蟲害機理和關(guān)聯(lián)因素的深入分析,構(gòu)建了馬鈴薯病蟲害知識圖譜模式層結(jié)構(gòu),如圖2 所示。主要包含馬鈴薯病蟲害本體、發(fā)病部位、分布區(qū)域、病原、癥狀和防治方法6 大實體。
2.2 數(shù)據(jù)收集與處理
本研究數(shù)據(jù)主要來源于國家農(nóng)業(yè)科學(xué)數(shù)據(jù)共享中心、維基百科和中國作物種質(zhì)信息網(wǎng)等,其中大部分是非結(jié)構(gòu)化數(shù)據(jù),對于多源及大量的非結(jié)構(gòu)化數(shù)據(jù),通過設(shè)計爬蟲工具獲取較為準確的數(shù)據(jù)。然后對獲得的原始數(shù)據(jù)進行清洗、去重之后保存為Mongo DB 數(shù)據(jù)庫。進一步利用Yedda 標注工具對樣本數(shù)據(jù)進行實體標注后用于知識抽取模型的訓(xùn)練。對標注后的數(shù)據(jù)整理后獲得包括6 種實體類型、8 種關(guān)系類型共計8 971個實體樣本的訓(xùn)練數(shù)據(jù)集,將該數(shù)據(jù)集以6∶2∶2 比例劃分為訓(xùn)練集、驗證集、測試集,用于命名實體識別試驗,訓(xùn)練數(shù)據(jù)集具體如表1 所示。
2.3 實例層構(gòu)建
實例層構(gòu)建需要完成知識抽取、關(guān)系抽取和屬性抽取3 個階段,依據(jù)不同的疾病和不同的類型,將實體分為疾病名稱、發(fā)病癥狀、疾病病原、防治方法和疾病多發(fā)地區(qū)。關(guān)系分為分布區(qū)域、防治方法、發(fā)病癥狀、病原名稱和發(fā)病部位。屬性分為疾病別稱、適應(yīng)溫度區(qū)間、適應(yīng)pH 值區(qū)間和傳播途徑。以此定義抽取知識以三元組“實體?關(guān)系?屬性”存儲于Neo4j 知識圖庫。基于此知識庫,問答系統(tǒng)對相應(yīng)的實體進行查詢并對其關(guān)系和屬性進行相應(yīng)匹配從而輸出知識單元。實體及關(guān)系的詳細定義如表2 和表3 所示。
2.4 實體對齊
實體對齊對于實體的準確抽取和知識圖譜的質(zhì)量起到非常關(guān)鍵的作用。其原因是在大量來源不同的數(shù)據(jù)中可能均包含同一實體,如果不用實體對齊進行信息融合,會發(fā)生在知識圖譜中出現(xiàn)實體重復(fù)和歧義等現(xiàn)象。早期的實體對齊方法主要依賴于定義各種獨立于語言的特征或者機器翻譯技術(shù)來實現(xiàn)跨語言的連接。近年來,基于嵌入的實體對齊方法將知識圖譜嵌入到低維向量空間中進行運算,顯著提升了實體對齊效果[19]。本研究采用后者進行實體對齊,具體過程如圖3 所示。
式中 xi、yi——詞匯
a——向量
b——向量
|a|——向量a 模長
|b|——向量b 模長
當兩個向量方向相同時,余弦相似度為1;當兩個向量方向完全相反時,余弦相似度為?1;當兩個向量互相垂直時,余弦相似度為0。結(jié)果表明,夾角越小,代表詞匯x 與詞匯y 越相似。
2.5 命名實體識別
命名實體識別(Named Entity Recognition,NER)旨在識別文本中具有特定意義或者指代性強的實體。命名實體識別是知識圖譜構(gòu)建的重要環(huán)節(jié),其識別準確率的高低直接決定知識圖譜的內(nèi)涵,也是知識圖譜構(gòu)建的挑戰(zhàn)問題之一。傳統(tǒng)的命名實體識別方法通常有基于規(guī)則、字典的方法,以及無監(jiān)督學(xué)習(xí)方法。但在試驗中傳統(tǒng)命名實體識別方法對于多文本、多實體結(jié)構(gòu)等復(fù)雜語料有較大的局限性,具體體現(xiàn)有精準度不夠、運行速度緩慢和誤差較大等問題。
采用基于特征的監(jiān)督學(xué)習(xí)方法,在數(shù)據(jù)處理中相比于傳統(tǒng)方法,此類方法準確率更高,適用于中小型數(shù)據(jù)。目前,在實體命名識別中常用的經(jīng)典模型是基于深度學(xué)習(xí)的BILSTM+CRF 模型,該模型對文本中詞義的表達有些欠缺。為此對其進行了改進,在此基礎(chǔ)上加入BERT 詞嵌入層,通過BERT 詞嵌入層將輸入文本轉(zhuǎn)化為具有豐富語義的詞向量, 然后經(jīng)過BILSTM 雙向編碼,可獲得全面的上下文信息。但該層不能通過隱藏狀態(tài)決策標簽,最后進過設(shè)計CRF 隨機向量層思考標簽之間的上下關(guān)系來獲得全局的最佳標簽。為了選擇最優(yōu)的詞向量層,文本設(shè)計了Word2vec-BILSTM-CRF 模型和Bert-BILSTM-CRF 模型進行對比試驗,以獲得最優(yōu)的實體命名識別模型。
2.5.1 Word2vec-BILSTM-CRF 模型
在數(shù)據(jù)集中,各個實體之間相互獨立,很難看出向量間存在關(guān)系,傳統(tǒng)BILSTM-CRF 模型在面對此類數(shù)據(jù)集,會存在維度災(zāi)難和語義缺失等問題。因此采用Word2vec 嵌入對稠密向量將相關(guān)向量進行關(guān)系鏈接,很好解決語義缺失等問題。因此,研究采用Word2vec模型的CBOW 算法實現(xiàn)語義表達。CBOW 分為輸入層Input layer、隱藏層Hidden layer、輸出層Output layer。設(shè)詞向量空間為β、行數(shù)為n,詞向量總空間的大小為|β|×n,|β|表示整體詞向量詞語數(shù)量。以樣本a 為例,a=“馬鈴薯青枯病是由青枯假單胞菌引起的、發(fā)生在馬鈴薯的病害”。序列化處理為(r1,r2,…,rm),m 是實體個數(shù);取得ri(1( Z1, Z2, … , Zm) T, 作為輸入BILSTM+CRF 模型進行訓(xùn)練,如圖4 所示。
2.5.2 Bert-BILSTM-CRF 模型
Bert 是基于Transformer 的深度雙向預(yù)訓(xùn)練語言模型,Transformer 用于將輸入語料庫轉(zhuǎn)換為特征向量,Transformer 層的核心是通過自注意力函數(shù)Attention()計算詞與詞之間的關(guān)聯(lián)度。
式中 P——預(yù)測為正的樣本是真正為正樣本的概率
R——在樣本中的正樣本被預(yù)測正確概率
F1——結(jié)合準確率和召回率的加權(quán)和平均
TP——預(yù)測正樣本
FP——預(yù)測負樣本
FN——本身正樣本預(yù)測為負樣本
2.6.2 標注方式探究及分析
在知識圖譜問答系統(tǒng)中命名實體識別試驗非常關(guān)鍵,為了讓模型更好識別實體,在進行命名實體識別試驗中首先要對語料進行準確標注。為此,設(shè)計并探究了BIO、BMES 和BIOES 標注方式對實體識別準確率的影響,以從中選出最佳的標注方式用于知識圖譜構(gòu)建的知識抽取。其對比試驗?zāi)P驮O(shè)定為Word2vec-BILSTM-CRF。模型的重要參數(shù)學(xué)習(xí)率設(shè)置為0.05,Batch_size 為16。在此,首先對3 種標注方式進行詳細舉例說明。相應(yīng)舉例如圖6 所示。
其中,BIO 標注方式中B 代表實體開頭、I 代表實體中間、O 代表其他非實體;BMES 標注方式B 表示一個詞的詞首位值、M 表示一個詞的中間位置、E 表示一個詞的末尾位置、S 表示一個單獨的字詞;BIOES標注方式中B 表示開始、I 表示內(nèi)部、O 表示非實體、E 實體尾部、S 表示改詞本身就是一個實體。相比之下,在BMES 和BIOES 兩種標注方式對單個實體有很好標注方式,這一點優(yōu)于BIO 標注方式。
將3 種方式標注的試驗樣本輸入Word2vec-BILSTM-CRF 模型進行對比試驗,采用上文中定義的準確率P、召回率R 及F1 值3 項指標對試驗結(jié)果進行綜合評測,其值如表4 所示。為了更直觀地體現(xiàn)對比試驗結(jié)果,采用圖形對比顯示F1 值(圖7)。由表4 和圖7 可知,采用模型Word2vec-BILSTMCRF識別實體,BEMS 標注方式下模型輸出的F1 值最高,BIO 標注方式F1 值略有偏差,BIOES 標注方式的效果較為遜色,可能的原因是BIOES 標注中實體邊界比較模糊,負樣本數(shù)量較多,對效果產(chǎn)生負面影響。
2.6.3 模型性能分析
為探究本研究設(shè)計的Bert-BILSTM-CRF 模型在命名實體識別方面的優(yōu)越性,采用表1 列舉的試驗數(shù)據(jù),試驗驗證較優(yōu)的BEMS 標注方式訓(xùn)練模型實現(xiàn)實體識別,并且與Word2vec-BILSTM-CRF、BILSTM-CRF 模型進行了對比試驗,其結(jié)果如表5 所示。為了更直觀地表達3 種模型的優(yōu)越性,對3 種模型的F1 值做出了對比值,結(jié)果如圖8 所示。
由表5 和圖8 可知,在相同數(shù)據(jù)集下Bert-BILSTMCRF模型相較于BILSTM-CRF、Word2vec-BILSTM-CRF兩種模型在F1 值上分別提升了18.23 和8.61 個百分點,并在速度上優(yōu)越于其他模型,在第一個Epoch 訓(xùn)練中F1 值已經(jīng)達到71.82%。進一步說明Bert 對模型輸入層進行了優(yōu)化,提高了文本特征提取的準確率,解決了部分模型不宜學(xué)習(xí)長文本數(shù)據(jù)和一詞多義的問題,而Bert 模型生成的字符級動態(tài)特征向量可以很好地解決這類問題,試驗結(jié)果也證明了在相同的條件下Bert-BILSTM-CRF 模型在命名實體識別方面更為效性。
2.7 知識儲存及可視化
采用Neo4j 圖數(shù)據(jù)庫形式來儲存數(shù)據(jù),相比其他存儲方式,圖數(shù)據(jù)具有擴展性強、更加直觀和穩(wěn)定性強等優(yōu)勢。將試驗中獲得的三元組數(shù)據(jù)通過驅(qū)動工具Py2neo 導(dǎo)入Neo4j,然后采用Cypher 語言編程實現(xiàn)圖譜可視化,文本構(gòu)建的馬鈴薯病蟲害知識圖譜可視化如圖9 所示。
3 問答系統(tǒng)設(shè)計
3.1 問答終端整體結(jié)構(gòu)
基于馬鈴薯病蟲害知識圖譜的智能問答系統(tǒng)是一種很有價值和實踐指導(dǎo)的應(yīng)用方式。為了能夠?qū)⑵涓鼮楸憬莸厥褂?,設(shè)計了在線和離線端分離兩種模式的問答系統(tǒng),結(jié)構(gòu)如圖10 所示。
在線端以Python 為基礎(chǔ)語言對輸入問題進行命名實體識別并在Neo4j 知識圖庫檢索最佳答案反饋給用戶。離線端以Java 為基礎(chǔ)語言,搭建相應(yīng)數(shù)據(jù)庫,利用Vue 前端框架搭建問答交互網(wǎng)頁對問題采用自上往下方式進行數(shù)據(jù)庫檢索并反饋用戶。
3.2 在線問答系統(tǒng)
在線問答系統(tǒng)利用常規(guī)自然語言處理技術(shù),包括問題預(yù)處理、問題識別分析、Neo4j 知識圖庫檢索最佳答案和反饋用戶4 部分組成。
3.2.1 問題預(yù)處理
問題預(yù)處理首先利用Python 自帶的Jieba 分詞對用戶輸入的問題進行分類,以增加系統(tǒng)的處理效率,使用戶可以更加便捷、快速地實現(xiàn)查詢。本系統(tǒng)將馬鈴薯病蟲害問題劃分閑聊、癥狀類問題、防治類問題、屬性類問題、周期性問題和其他類問題6 個類別。閑聊類問題如你好、再見、你叫什么名字等;癥狀類問題如馬鈴薯青枯病的發(fā)病癥狀、馬鈴薯早疫病的葉子變化等;其他問題屬于馬鈴薯病害蟲領(lǐng)域的相關(guān)了解部分包括對于發(fā)病地區(qū)和易發(fā)病環(huán)境的問答,對用戶有一定的指導(dǎo)意義,詳細內(nèi)容如表6 所示。
3.2.2 問題識別分析
問題識別分析是對以上劃分的類別進一步詳細處理,首先,采用Bert+Text CNN 文本分類模型實現(xiàn)對用戶意圖的識別,其目的是判斷用戶的Query 屬于哪一類問題,其次,建立語義槽,對問題進行槽位填充。如問句:“馬鈴薯青枯病的發(fā)病原因”其中“馬鈴薯青枯病”和“發(fā)病原因”分別作為疾病名稱和疾病發(fā)病原因的語義槽,結(jié)合命名實體識別任務(wù),進行槽位填充。
采用Bert+Text CNN 模型完成意圖識別和文本分類任務(wù),通過Bert 模型對問題進行向量化處理后利用Text CNN 對多個不同的Kernel size 提取句子中的關(guān)鍵信息, 將不同的Kernel size 的結(jié)果進行拼接實現(xiàn)Pooling(對其用中文解釋)操作,以更好地獲取文本的局部特征,最后對特征進行拼接完成用戶的意圖識別,其試驗結(jié)果如表7 所示,準確率達到92%。
3.2.3 Neo4j 知識圖庫檢索
使用Cypher 語句對Neo4j 圖數(shù)據(jù)庫進行查詢,對于用戶的問題進行分類后,在6 類不同的用戶意圖類別下分別搭建相應(yīng)的查詢語句模板,如查詢“馬鈴薯早疫病的防治方法”,系統(tǒng)首先進行命名識別得到實體“馬鈴薯早疫病”,之后通過意圖識別進行問題分類到“疾病防治”類別進行檢索,對應(yīng)的Cypher 查詢語句為:Match(a)-[:has prevent]-(b)where b.name=“馬鈴薯早疫病”return a.name.
3.2.4 問答交互
利用前端技術(shù)搭建問答框架,即將Python 中的Py2neo 與Neo4j 圖數(shù)據(jù)庫連接,可以滿足用戶與系統(tǒng)實時交互。用戶向系統(tǒng)提出問題,系統(tǒng)將接收信息輸入Neo4j 圖數(shù)據(jù)庫,再將反饋信息通過窗口化反饋,本系統(tǒng)構(gòu)建的問答交互界面如圖11 所示。
3.3 離線問答系統(tǒng)
離線系統(tǒng)基于JavaScript 語言設(shè)計,并采用相關(guān)的輕便型框架進行搭建,常見的Web 框架有Flask、Vue框架等。Vue 框架的特點是輕量級、體積小,比較適合快速的開發(fā),并且運行效率較高,生態(tài)豐富,學(xué)習(xí)成本低[20]。所以本系統(tǒng)構(gòu)建采用Vue 框架??傮w分為內(nèi)置數(shù)據(jù)庫搭建、問答交互和頁面可視化。
3.3.1 內(nèi)置數(shù)據(jù)庫搭建
內(nèi)置數(shù)據(jù)庫搭建采用MOCKJS 模擬后端接口,生成所需數(shù)據(jù),可模擬對數(shù)據(jù)的增刪改查。優(yōu)勢在于前后端分離,可隨機生成大量的數(shù)據(jù),用法便捷,數(shù)據(jù)類型豐富,可擴展數(shù)據(jù)類型。
3.3.2 問答交互
問答交互采用Element 框架構(gòu)建,以搜索查找模式進行交互,并調(diào)用科大訊飛語音問答功能擴展本項目功能。本系統(tǒng)問答交互頁面如圖12 所示。
通過對數(shù)據(jù)庫的雙向Context 綁定,對相應(yīng)問題點擊詳情, 即可跳轉(zhuǎn)疾病詳情頁。查詢功能基于Javascript 中的Dom 屬性設(shè)定,對于問句逐字拆分,如“馬鈴薯蟲害”,拆分為“馬”“馬鈴”“馬鈴薯”“馬鈴薯蟲”和“馬鈴薯蟲害”5 部分,然后從前往后對內(nèi)置數(shù)據(jù)庫進行遍歷,篩選出最佳對象并進行反饋。
3.3.3 可視化展示
Echarts 模塊是以JavaScript 語言為基礎(chǔ)的一款可視化圖標庫。利用該模塊搭建初始化頁面,設(shè)計圖譜,通過與內(nèi)置數(shù)據(jù)庫產(chǎn)生聯(lián)調(diào),生成相應(yīng)三元組視圖,問答系統(tǒng)的可視化如圖13 所示。
通過Vue 框架中的內(nèi)置API 指令V-mode 對點擊事件和內(nèi)置數(shù)據(jù)庫進行雙向綁定,通過點擊圖譜即可跳轉(zhuǎn)詳情頁進行查看,使用更加便捷。
4 結(jié)束語
農(nóng)業(yè)智能化是未來的發(fā)展趨勢,而農(nóng)業(yè)知識圖譜是智能化的基礎(chǔ)。以深度學(xué)習(xí)、Neo4j、命名實體識別和Javascript 等技術(shù)為基礎(chǔ)構(gòu)建了馬鈴薯病蟲害的知識圖譜,基于此圖譜設(shè)計實現(xiàn)了多模式的問答系統(tǒng),系統(tǒng)不僅交互便捷,其知識量豐富且精準,知識間的語義關(guān)聯(lián)更加緊密,而且該系統(tǒng)的可擴展性較強,可方便地應(yīng)用于馬鈴薯生產(chǎn)領(lǐng)域。
知識圖譜問答系統(tǒng)的構(gòu)建中,實現(xiàn)從大量非結(jié)構(gòu)化數(shù)據(jù)中抽取實體、關(guān)系和屬性等知識最為關(guān)鍵,其中模型的構(gòu)建和數(shù)據(jù)標注方式是主要影響因素。為此,設(shè)計了BIO、BIOES 和BEMS 標注方式,并對其在同一模型上進行對比試驗,結(jié)果證明了BEMS 標注方式在本試驗中效果最佳,可將F1 值提升2.29 個百分點。在前期研究的基礎(chǔ)上設(shè)計了Bert-BILSTM-CRF 的知識抽取模型, 并與BILSTM-CRF 和Word2vec-BILSTMCRF模型進行試驗對比。在同樣的BEMS 數(shù)據(jù)標注方式下,模型Bert-BILSTM-CRF 的加權(quán)平均F1 值最高。
說明本設(shè)計模型在利用BERT 解決語義缺失和一詞多義等問題后模型性能大大提高,能夠準確地抽取非結(jié)構(gòu)化數(shù)據(jù)中的知識,進一步提升問答系統(tǒng)中問句實體的識別率,實現(xiàn)精準問答。由于在馬鈴薯病害蟲領(lǐng)域數(shù)據(jù)量有限,模型在性能上還有提升空間,接下來將進一步優(yōu)化數(shù)據(jù)集和模型輸入層,以獲得更好的試驗效果。
參考文獻
張克艷,謝冬.甘肅省馬鈴薯產(chǎn)業(yè)發(fā)展現(xiàn)狀與前景展望[J].農(nóng)村經(jīng)濟與科技技,2020,31(1):227,238.
陶永芹.專業(yè)領(lǐng)域智能問答系統(tǒng)設(shè)計與實現(xiàn)[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]
劉嶠,李楊,段宏,等.知識圖譜構(gòu)建技術(shù)綜述[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ò)的開放域知識圖譜自動構(gòu)建模型[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.
申存,黃廷磊,梁霄.基于多粒度特征表示的知識圖譜問答[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.
吳賽賽.基于知識圖譜的作物病害蟲智能問答系統(tǒng)[D].北京:中國農(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.
徐帥博.基于枸杞病蟲害知識圖譜的問答系統(tǒng)研究與實現(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.
吳茜.基于知識圖譜的農(nóng)業(yè)智能問答系統(tǒng)設(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)域自動問答系統(tǒng)研究[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.
陳亞東,鮮國建,寇遠濤,等.我國蘋果產(chǎn)業(yè)知識圖譜構(gòu)建研究[J].中國農(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.
張云中,郭冬,王亞鴿.基于知識圖譜的紅色歷史人物知識問答服務(wù)框架研究[J].圖書情報工作,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)品知識圖譜構(gòu)建研究[J].數(shù)據(jù)分析與知識發(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ò)平臺設(shè)計與實現(xiàn)[J].情報探索,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與屬性信息的跨語言實體對齊[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)計學(xué)習(xí)方法[M].北京:清華大學(xué)出版社,2012.陳倩怡,何軍.Vue+Springboot+MyBatis 技術(shù)應(yīng)用解析[J].電腦編程技巧與維護,2020(1):14-15,28.