摘要:隨著“互聯(lián)網+農業(yè)”的興起,計算機技術被廣泛應用于大田農業(yè)病蟲害防治中。以棉花病蟲害為研究對象,文章基于公開的相關數(shù)據,采用BiLSTM-CRF模型進行實體識別,并進行知識融合,構建了棉花病蟲害知識圖譜。在此基礎上,文章進一步結合VUE和Flask框架,設計并實現(xiàn)了一個智能問答系統(tǒng)。系統(tǒng)采用AC自動機和BiLSTM-CRF模型進行問句實體識別,使用BERT+CNN模型進行意圖分類,將用戶問句準確映射到相應的Cypher語句上,從而快速地檢索知識圖譜,為用戶提供所需的答案。
關鍵詞:棉花病蟲害;知識圖譜;問答系統(tǒng)
中圖分類號:S435.62;TP391.1文獻標識碼:A
文章編號:1009-3044(2024)34-0017-03開放科學(資源服務)標識碼(OSID):
0引言
棉花是新疆支柱產業(yè)之一[1],而新疆棉花長期受到嚴重的病蟲害困擾,產量和質量影響嚴重。隨著“互聯(lián)網+農業(yè)”的興起,新興的計算機技術被廣泛應用于大田農業(yè)病蟲害防治,但農業(yè)安全關系重大,而傳統(tǒng)搜索引擎又存在難以準確識別用戶意圖、精細化效果差,搜索結果真假參半等問題。
因此,本文著力構建一個基于知識圖譜的棉花病蟲害問答系統(tǒng),旨在為農民、農業(yè)專家等提供更加準確、有效的信息,幫助其更好地解決各種棉花病蟲害問題,推動新疆棉花的種植體系科學化、規(guī)模化發(fā)展。
1相關工作
高質量的知識圖譜可以有效提高計算機理解和推理能力,因此知識圖譜被廣泛用于搜索引擎、智能問答系統(tǒng)、推薦系統(tǒng)[2]等領域,在農業(yè)、醫(yī)學、金融等學科發(fā)揮了重要作用[3-5]。此外,知識圖譜還可以應用于數(shù)據挖掘、決策分析和知識發(fā)現(xiàn)等任務??傊R圖譜有著廣泛的應用前景,為各行各業(yè)的智能化發(fā)展發(fā)揮了重要作用[6]。
棉花病蟲害智能問答領域,依然存在若干亟待解決的問題:棉花病蟲害相關語料較少;尚未有專門的棉花病蟲害知識圖譜及相應的智能問答系統(tǒng)。鑒于上述問題,本文通過爬蟲技術獲取網絡上公開數(shù)據,以期為棉花病蟲害智能化防治提供新思路和新方法。
2棉花病蟲害知識圖譜構建
2.1數(shù)據處理
本文的數(shù)據主要來自中國作物種質信息網、百度百科、農業(yè)病蟲草害圖文數(shù)據庫等公開網站,本文利用基于Scrapy的Python爬蟲進行數(shù)據爬取。本文采用正則表達式以及專家審核的方式清洗數(shù)據,去除無關信息,并進行去重和補全處理,保證數(shù)據的完整性和唯一性。在爬取的文本中,以句號為標志進行劃分,共得到1793條棉花病蟲害數(shù)據,本文采用BIOES策略,對語料的實體進行人工標注。
2.2模式層構建
模式層是知識圖譜結構的抽象表示,定義了實體關系之間的結構。本文采用混合構建的方式設計模式層。通過分析棉花病蟲害致病機理和防治特點,綜合考慮農民需求及專家建議,最終構建了圖1所示的模式層結構。
2.3實體識別
爬取的數(shù)據中,主要分為結構化數(shù)據、半結構化數(shù)據以及非結構化數(shù)據三大類。其中結構化數(shù)據和半結構化數(shù)據只需要運用正則表達式簡單處理即可。但其余絕大多數(shù)均以非結構化數(shù)據存在。
目前,主流的處理方法是基于BiLSTM-CRF模型[7]進行實體識別。本文將采用BIOES標注的數(shù)據集,按照8∶2的比例隨機劃分為訓練集和測試集。設置BiLSTM-CRF模型在的batch_size為16,學習率為0.001。
實驗結果表明,BiLSTM-CRF模型在棉花病蟲害語料上F1值高達83.57%。因此,本文以該模型為基礎,并邀請農業(yè)專家進行審核與糾正。
2.4知識融合
知識融合是保證知識圖譜準確的關鍵步驟,常見的方法是對數(shù)據進行實體對齊。如實體“棉鈴灰霉病”就分別出現(xiàn)在中國作物種質信息網、百度百科、農業(yè)病蟲草害圖文數(shù)據庫三個不同數(shù)據源中,這些重復實體會造成冗余和歧義的問題,影響后續(xù)智能問答的準確性。為消除歧義,本文將實體轉化成對應的向量,帶入余弦相似度公式,通過計算來評估兩個實體的相似度來達到實體對齊的效果。
2.5知識存儲及可視化
Neo4j是一款JAVA開發(fā)的開源圖數(shù)據庫,可以直觀地刻畫知識圖譜的結構。并且Neo4j提供的Cypher語言可以實現(xiàn)快捷高效地可視化檢索。本文借助Neo4j圖數(shù)據庫提供的LOADCSV語句,將其導入Neo4j數(shù)據庫構建知識圖譜。棉花病蟲害知識圖譜(局部)如圖2所示。
3系統(tǒng)設計
3.1系統(tǒng)架構
本系統(tǒng)整體架構如圖3所示,自底向上共包括數(shù)據層、模型層、業(yè)務層共三部分。
數(shù)據層是全系統(tǒng)的數(shù)據基礎,包括棉花病蟲害知識圖譜,以及用于AC自動機匹配的實體詞典。
模型層包括問答模塊的相關模型算法,分為實體識別和意圖分類兩部分。當系統(tǒng)接收到用戶的查詢后,會立刻對問句進行解析,識別出用戶的意圖以及問句病蟲害實體,然后在知識圖譜中檢索相關信息并反饋給用戶。
業(yè)務層主要負責人機交互頁面,包括用戶查詢窗口、問答結果反饋、相關知識圖譜可視化展示、錯誤信息反饋以及知識庫管理。
3.2模型層設計
模式層主要由實體識別、意圖分類、答案檢索與封裝三個模塊構成。實體識別模塊的作用是快速識別問句的實體,該模塊結合了AC自動機模型和BiLSTM-CRF模型。當AC自動機無接匹配到問句實體時,系統(tǒng)會調用BiLSTM-CRF模型,自動將可能的實體標注為候選實體詞,將其向量化后與知識庫中病蟲害實體向量進行余弦相似度評估,最后系統(tǒng)會將相似度最高的實體輸出至后續(xù)的答案檢索與封裝環(huán)節(jié)。
意圖分類模塊作用是解析用戶查詢的真實需求,識別出用戶的意圖類別,為后續(xù)的答案檢索提供方向。本文將問句意圖劃分成詢問病原體、詢問分布、詢問防治相關、詢問害蟲相關、詢問病蟲害相關共五類,詳細內容如表1所示。
本模塊目的就是判斷問句意圖,只有正確地劃分類別后,程序才能準確地查詢相關的節(jié)點和關系,進而組織出合適的答案。近年來,預訓練模型BERT在各種NLP任務中取得了優(yōu)秀的效果,并且在下游任務中僅需微調即可獲得良好的效果,節(jié)省了大量的訓練資源和時間。本文選擇BERT+CNN的模型進行分類,首先使用BERT模型對問句進行向量化處理,然后利用CNN對輸出的向量進行特征提取,捕捉問句中的局部特征,最后實現(xiàn)問句意圖分類。
為了評估所提出模型的性能,本文將BERT+CNN模型、BERT模型以及CNN模型進行了對比測試,實驗證明BERT+CNN模型可以勝任問答任務,具體結果如圖4所示。
當系統(tǒng)成功識別問句的實體和意圖后,相關詞語將被插入預先設計的Cypher查詢模板中,以此對Neo4j圖數(shù)據庫執(zhí)行查詢操作。以“棉鈴蟲怎么防治?”為例,程序首先利用AC自動機對問句進行匹配,從中提取出實體詞“棉鈴蟲”,同時BERT+CNN模型也將該問句分類為“詢問防治相關”的意圖類別。隨后,系統(tǒng)會將提取的實體和意圖類別填充到預設的Cy?pher查詢模板中,生成查詢語句“MATCH(m:Disease)wherem.name='{棉鈴蟲}'returnm.name,m.防治方法”,從而獲取棉鈴蟲防治方法,并將其封裝成方便理解的答案。
3.3環(huán)境配置
本系統(tǒng)基于Windows系統(tǒng),采用了B/S架構設計,前端界面采用了Vue.js框架,同時,采用輕量級的Flask框架實現(xiàn)了前后端的連接。數(shù)據存儲方面,則選擇了Neo4j和MongoDB。VUE架構遵循MVVM設計模式。該架構將View層和Model層解耦和分離,View層負責與用戶交互,Model層負責處理業(yè)務邏輯,兩層之間通過ViewModel交互,提高了系統(tǒng)的可靠性。
3.4系統(tǒng)展示
如圖5所示,在對話框內輸入“棉鈴蟲怎么防治?”,點擊搜索,系統(tǒng)即可根據知識圖譜,檢索并返回相關的防治方法,并顯示該部分的可視化知識圖譜。除此之外,若用戶認為系統(tǒng)的回答不完整或存在錯誤,可以補充遺漏的知識或反饋錯誤。
此外,用戶還可以通過交互頁面管理知識庫。該頁面以表單的形式組織棉花病蟲害三元組,用戶可以對知識庫進行增刪改查。
為驗證該系統(tǒng)可以在實踐中的有效性,本研究進行了三組測試實驗,每組隨機選取50條問句進行測試,而后分別由不同的農業(yè)專家判斷和評估系統(tǒng)回答是否正確。評價標準包括實體是否被準確識別、意圖是否被正確映射、回答結果是否正確完整三個方面。經過實驗分析,系統(tǒng)平均正確率約為96.67%,證明該系統(tǒng)具有較高的實用性。
4結束語
本文基于公開可獲取的數(shù)據構建了一個高質量棉花病蟲害知識圖譜。該系統(tǒng)查詢效率和準確性表現(xiàn)出色,同時其操作界面簡潔友好,交互體驗流暢自然,部署過程快捷簡易。該系統(tǒng)有助于提高棉花病蟲害防治的智能化水平,為相關領域的知識服務提供了一種創(chuàng)新的解決方案。
參考文獻
[1]孫世芳,劉瑾,喬金亮,等.棉花產業(yè)調查[N].經濟日報,2023-07-13(001).
【通聯(lián)編輯:朱寶貴】
基金項目:自治區(qū)級大學生創(chuàng)新創(chuàng)業(yè)訓練項目“基于知識圖譜的新疆棉病蟲害智能問答系統(tǒng)的構建”(項目編號:S202310755127);新疆維吾爾自治區(qū)重點研發(fā)項目(項目編號:2022B01046)