王翔宇 李永浩 穆潤澤
[摘? ? 要] 為了方便廣大農(nóng)業(yè)生產(chǎn)人員和農(nóng)業(yè)知識(shí)學(xué)習(xí)人員可以通過包括語義查詢等方式查詢農(nóng)作物信息、農(nóng)藥信息以及根據(jù)中毒癥狀查詢對應(yīng)農(nóng)藥和相應(yīng)解毒方法,本文設(shè)計(jì)了一種基于領(lǐng)域本體,利用數(shù)據(jù)庫技術(shù)、中文分詞技術(shù),以SSH框架搭建的基于B/S結(jié)構(gòu)的農(nóng)藥信息智能查詢系統(tǒng)。
[關(guān)鍵詞] 領(lǐng)域本體;中文分詞;農(nóng)藥信息;智能查詢
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 17. 066
[中圖分類號(hào)] TP311? ? [文獻(xiàn)標(biāo)識(shí)碼]? A? ? ? [文章編號(hào)]? 1673 - 0194(2020)17- 0153- 02
1? ? ? 引? ? 言
在現(xiàn)代農(nóng)業(yè)中作物的生產(chǎn)安全和生產(chǎn)效率都極為重要。在病蟲害防治工作中,對于不同作物的特定疾病及時(shí)選擇合適的農(nóng)藥種類,并了解安全合理的使用方法以及相關(guān)安全性方面的信息,這對于提高農(nóng)業(yè)生產(chǎn)效率和經(jīng)濟(jì)收益以及確保農(nóng)藥的安全使用有著極為重要的影響。由于缺乏對信息資源的統(tǒng)一表述,這使得傳統(tǒng)檢索系統(tǒng)經(jīng)常無法準(zhǔn)確理解用戶的表達(dá),這也就使得語義信息的資源共享變得難以實(shí)現(xiàn)[1]。用戶獲取所需準(zhǔn)確信息的難度和查找時(shí)間大大增加,尤其對于像農(nóng)藥中毒的解毒處理這種緊急情況每一秒都顯得至關(guān)重要。所以利用本體技術(shù)來構(gòu)建一個(gè)WEB端的操作簡便、體系完善和基于語義查詢的農(nóng)藥信息智能查詢系統(tǒng)就顯得尤為重要和迫切,既能方便廣大農(nóng)業(yè)生產(chǎn)人員對于病蟲害和農(nóng)藥中毒的處理,又能為其他農(nóng)業(yè)相關(guān)人員提供一定的參考和學(xué)習(xí)。
2? ? ? 系統(tǒng)總體設(shè)計(jì)
本農(nóng)藥信息智能查詢系統(tǒng)的主要功能有以下四大模塊組成:農(nóng)作物和農(nóng)藥信息瀏覽模塊、智能查詢模塊、信息管理模塊和用戶意見反饋模塊。農(nóng)作物和農(nóng)藥信息瀏覽模塊實(shí)現(xiàn)用戶對系統(tǒng)的全部信息瀏覽,可以隨意查看經(jīng)過整理后的農(nóng)藥信息庫和作物信息庫中農(nóng)藥和農(nóng)作物的具體信息以及分類情況,目錄可折疊以方便用戶更方便地對信息進(jìn)行瀏覽和對比。智能查詢模塊用于實(shí)現(xiàn)用戶對農(nóng)藥信息和農(nóng)作物信息的查詢以及對中毒急救查詢,其中在對農(nóng)藥信息和農(nóng)作物信息進(jìn)行查詢時(shí)分為農(nóng)藥使用查詢和分類情況查詢兩種查詢方式,在進(jìn)行農(nóng)藥使用查詢時(shí)用戶可以選擇輸入農(nóng)藥名稱、作物名稱、毒性、疾病名稱、使用方法中的一種對農(nóng)藥使用信息進(jìn)行查詢,而查詢到的結(jié)果包含農(nóng)藥名、毒性、針對作物、針對疾病、使用劑量、使用方法,可以點(diǎn)擊查詢結(jié)果中的農(nóng)藥名以查看農(nóng)藥的詳細(xì)信息包括產(chǎn)品功能及參數(shù)、注意事項(xiàng)、急救措施和其他信息四項(xiàng)。
系統(tǒng)訪問農(nóng)藥信息數(shù)據(jù)庫,結(jié)合領(lǐng)域本體數(shù)據(jù)庫(分為農(nóng)藥本體和農(nóng)作物本體)中的關(guān)系信息,通過 Web 端來向用戶提供農(nóng)作物類別、農(nóng)藥的使用方法、毒性、解毒方法及其他相關(guān)信息。市面上的農(nóng)藥會(huì)更新?lián)Q代,系統(tǒng)管理人員每隔一段時(shí)間就需要根據(jù)用戶的合理反饋和實(shí)際情況對系統(tǒng)內(nèi)的信息作出必要的更新。領(lǐng)域本體的構(gòu)建和中文分詞技術(shù)是基于領(lǐng)域本體的農(nóng)藥信息智能查詢系統(tǒng)的核心組成部分。在查詢時(shí),輸入的作物名稱可以是等價(jià)的別名,雖然農(nóng)藥信息數(shù)據(jù)庫中沒有作物的別名信息,但與數(shù)據(jù)庫關(guān)聯(lián)的本體文件當(dāng)中存在作物的多個(gè)等價(jià)別名,例如用戶輸入“西紅柿”或“洋柿子”進(jìn)行查詢時(shí),查詢到的結(jié)果是“番茄”所對應(yīng)的信息。信息管理模塊主要實(shí)現(xiàn)對農(nóng)藥和作物信息的管理,由系統(tǒng)管理員進(jìn)行增刪改查操作,修改時(shí)只需修改本體文件和農(nóng)藥信息數(shù)據(jù)庫即可。用戶意見反饋模塊實(shí)現(xiàn)用戶登錄后向管理員發(fā)送意見信息,比如信息的更新刪減和功能上的建議,這有助于進(jìn)一步了解到用戶詳細(xì)需求和系統(tǒng)需要改進(jìn)之處。
2.1? ?系統(tǒng)詳細(xì)設(shè)計(jì)
要完成本系統(tǒng)的設(shè)計(jì),首先要建立一個(gè)農(nóng)業(yè)科學(xué)領(lǐng)域本體庫( 或知識(shí)庫) ,這是最核心最關(guān)鍵的部分之一,這樣在此基礎(chǔ)上才能實(shí)現(xiàn)對農(nóng)業(yè)信息知識(shí)的Web頁面自由檢索[2]。關(guān)于本體(Ontology)的定義,學(xué)術(shù)界較廣為認(rèn)可的是Studer等人對Gruber的定義進(jìn)行的擴(kuò)展“本體是共享概念模型的明確的形式化規(guī)范說明[3]”。本體對領(lǐng)域知識(shí)在語義層次上作出了相關(guān)描述,使領(lǐng)域知識(shí)在能夠被人類理解的基礎(chǔ)之上更能被機(jī)器所識(shí)別和處理。按照本體對領(lǐng)域的依賴程度強(qiáng)弱,可以分為:頂層本體、領(lǐng)域本體、任務(wù)本體以及應(yīng)用本體。領(lǐng)域本體用于描述指定領(lǐng)域知識(shí),它對領(lǐng)域?qū)嶓w概念及相互關(guān)系領(lǐng)域話動(dòng)以及該領(lǐng)域所具有的特性和規(guī)律做出了一種形式化的專業(yè)描述[4]。如農(nóng)業(yè)領(lǐng)域、醫(yī)學(xué)領(lǐng)域、軍事領(lǐng)域等。這里的 “領(lǐng)域”是根據(jù)本體構(gòu)建者的自身需求來確立詳細(xì)范圍的,領(lǐng)域可以是一個(gè)學(xué)科領(lǐng)域,也可以是某幾個(gè)學(xué)科領(lǐng)域的一種結(jié)合等等。本體的創(chuàng)建是個(gè)相當(dāng)耗費(fèi)時(shí)間和精力的過程[5],方式分為手工構(gòu)建、半自動(dòng)構(gòu)建和自動(dòng)構(gòu)建這三種,現(xiàn)在真正意義上的自動(dòng)構(gòu)建本體技術(shù)尚未出現(xiàn),手工建庫雖然更加準(zhǔn)確但也更加耗費(fèi)精力且工作周期更長,根據(jù)本系統(tǒng)的需求選擇的是半自動(dòng)構(gòu)建本體的方法。具體選擇的是斯坦福大學(xué)醫(yī)學(xué)院開發(fā)的“七步法”,這種方法主要用于領(lǐng)域本體尤其是醫(yī)學(xué)方面領(lǐng)域本體的構(gòu)建。這七步分別為:①確定本體的領(lǐng)域范圍;②考慮能否復(fù)用現(xiàn)有本體;③列出本體中的主要概念術(shù)語;④定義類和類之間的層次關(guān)系(完善層次關(guān)系的方法有:自頂向下法、自底向上法和綜合法);⑤定義類的屬性關(guān)系;⑥定義屬性的約束;⑦創(chuàng)建實(shí)例[6]。本系統(tǒng)在中國農(nóng)業(yè)出版社出版的《農(nóng)業(yè)科學(xué)敘詞表》的基礎(chǔ)之上進(jìn)行半自動(dòng)構(gòu)建農(nóng)作物領(lǐng)域本體,本體構(gòu)建的工具是Protégé,與其他本體構(gòu)建工具相比,Protégé是為數(shù)不多支持中文構(gòu)建的軟件,用Graphviz插件即可實(shí)現(xiàn)中文關(guān)系的顯示?!掇r(nóng)業(yè)科學(xué)敘詞表》雖然相對比較權(quán)威但其時(shí)間較久,但有些內(nèi)容略顯過時(shí),故需要按照系統(tǒng)需求通過網(wǎng)絡(luò)爬蟲技術(shù)爬取各大權(quán)威百科網(wǎng)站和農(nóng)業(yè)信息網(wǎng)站的信息,并加以篩選,將以上數(shù)據(jù)整理為結(jié)構(gòu)化數(shù)據(jù)后再利用Jena包編寫程序?qū)Υ鎯?chǔ)農(nóng)作物本體的OWL文件進(jìn)行導(dǎo)入、修改等操作,農(nóng)藥領(lǐng)域本體的構(gòu)建也大致相同。
2.2? ?數(shù)據(jù)庫設(shè)計(jì)
作為開發(fā)中小型網(wǎng)站時(shí)的首選,MySQL是在WEB應(yīng)用這一方面最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一[7]。在實(shí)際的生產(chǎn)生活中,農(nóng)藥和作物病蟲害是多對多的關(guān)系。故需要把實(shí)體和關(guān)系分離并單獨(dú)建表,實(shí)體表為農(nóng)藥表和作物表,關(guān)系表為農(nóng)藥作物關(guān)系表,共由三個(gè)表組成,其中關(guān)系表采用聯(lián)合主鍵(由作物表主鍵和農(nóng)藥表主鍵組成)的方式建表。農(nóng)藥表主要儲(chǔ)存農(nóng)藥的包括名稱、針對疾病、使用方法、使用劑量、毒性、解毒方法等信息。作物表主要儲(chǔ)存作物名稱、科屬、子品種信息。而農(nóng)藥作物關(guān)系表儲(chǔ)存的是農(nóng)藥和作物之間的對應(yīng)關(guān)系。
3? ? ? 中文分詞系統(tǒng)用戶詞典的構(gòu)建
所謂分詞是指將一個(gè)文字序列按照某種規(guī)則和規(guī)范進(jìn)行分割并重新組合成一個(gè)新的詞序列的過程[8]。相比于英語等詞匯間有明顯間隔的字母文字,中文分詞的詞匯準(zhǔn)確分割的實(shí)現(xiàn)更為困難。中文分詞指將一個(gè)漢字序列切分成一個(gè)個(gè)單獨(dú)的詞。本系統(tǒng)所需實(shí)現(xiàn)的是農(nóng)藥中毒急救查詢功能,如果已知農(nóng)藥名稱即可輸入農(nóng)藥名稱來查詢農(nóng)藥的具體信息包括中毒急救方法,如果不知道農(nóng)藥名稱則可輸入中毒癥狀,通過中文分詞系統(tǒng)處理,查詢出所需結(jié)果,在用戶輸入幾種癥狀時(shí)系統(tǒng)會(huì)有多個(gè)查詢結(jié)果并按特征詞相關(guān)程度排列以備用戶對照查看具體信息來確定最為可能中毒的農(nóng)藥以及相應(yīng)的急救措施。本中文分詞功能采用由中國科學(xué)院計(jì)算技術(shù)研究所研制的漢語詞法分析系統(tǒng)[9](NLPIR-ICTCLAS),這一系統(tǒng)主要功能有中文和英文分詞;詞性標(biāo)注;關(guān)鍵詞提取;新詞識(shí)別以及命名實(shí)體識(shí)別[10]。這一系統(tǒng)支持用戶專業(yè)詞典、多種編碼、多種操作系統(tǒng)、多種開發(fā)語言與平臺(tái),能夠在線分詞或者根據(jù)官網(wǎng)提示下載工具包,用戶可以按照自身需求修改自定義用戶詞典,添加自定義詞語和詞性等。對于本系統(tǒng)用戶詞典的構(gòu)建,首先根據(jù)系統(tǒng)需求統(tǒng)計(jì)網(wǎng)絡(luò)上和日常生活中對中毒后急救的提問方式,去停用詞、抽取關(guān)鍵詞、整合并標(biāo)注詞性、劃分同義詞,結(jié)合專業(yè)名詞和用戶對中毒急救的提問方式的統(tǒng)計(jì)制作出分詞系統(tǒng)的用戶詞典,系統(tǒng)提取多個(gè)特征關(guān)鍵詞后進(jìn)行查詢匹配,按照語義相關(guān)度列出查詢結(jié)果。
4? ? ? 系統(tǒng)總結(jié)
針對市面上現(xiàn)有的農(nóng)藥信息查詢系統(tǒng)缺乏語義查詢、信息零散,缺乏不明農(nóng)藥中毒急救查詢等問題,本文設(shè)計(jì)了一種基于領(lǐng)域本體的農(nóng)藥信息智能查詢系統(tǒng)。通過建立農(nóng)藥和作物領(lǐng)域本體和農(nóng)藥信息數(shù)據(jù)庫,將農(nóng)藥和作物信息系統(tǒng)化、關(guān)聯(lián)化,以提高系統(tǒng)查詢效率和智能程度;以網(wǎng)頁作為載體,方便了大多數(shù)人的使用,采用中文分詞系統(tǒng)實(shí)現(xiàn)了對農(nóng)藥中毒急救的查詢。定期更新和補(bǔ)全農(nóng)藥信息、作物品種,用戶還可以向系統(tǒng)管理人員反饋系統(tǒng)改進(jìn)建議和信息更新等需求,力求實(shí)現(xiàn)對用戶長期負(fù)責(zé)的系統(tǒng)服務(wù),使得系統(tǒng)更加完善、準(zhǔn)確和可靠。
主要參考文獻(xiàn)
[1]李朝印.基于本體的語義檢索技術(shù)研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[2]蘇玉寧,姜藝,陳賀勝,等.基于Ontology 的農(nóng)業(yè)科學(xué)領(lǐng)域知識(shí)庫構(gòu)建[J].江蘇農(nóng)業(yè)科學(xué),2018,46(5):194-198.
[3]Studer R, Benjamins V R, Fensel D.Knowledge Engineering,Principles and Methods[J]. Data and Knowledge Engineering. 1998,25(122):161-197.
[4]李勇,張志剛.領(lǐng)域本體構(gòu)建方法研究[J]. 計(jì)算機(jī)工程與學(xué),2008,30(5):129-131.
[5]鄭穎,金松林,張自陽.基于領(lǐng)域本體的農(nóng)作物病蟲害問題分類研究[J].江蘇農(nóng)業(yè)科學(xué),2016,44(9):145-148.
[6]游宇.基于本體的科技資源搜索引擎設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2009.
[7]嚴(yán)明.明清古建筑信息系統(tǒng)的研究設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安建筑科技大學(xué),2016.
[8]高健明.基于多源數(shù)據(jù)融合的微博用戶興趣挖掘方法[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[9]孫鐵利,劉延吉.中文分詞技術(shù)的研究現(xiàn)狀與困難[J].信息技術(shù),2009(7): 187-189.
[10]馬揚(yáng).基于語義的中文文本自動(dòng)分類系統(tǒng)的研究與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2009.