杜 盼,孫道宗,2,李 震,2,宋淑然,2
(1 華南農(nóng)業(yè)大學(xué) 電子工程學(xué)院/人工智能學(xué)院, 廣東 廣州 510642; 2 廣東省農(nóng)情信息監(jiān)測(cè)工程技術(shù)研究中心/嶺南現(xiàn)代農(nóng)業(yè)科學(xué)與技術(shù)廣東省實(shí)驗(yàn)室, 廣東 廣州 510642)
柑橘病蟲害導(dǎo)致的經(jīng)濟(jì)損失嚴(yán)重,做好病蟲害防治工作是減少損失的主要途徑[1]。但目前病蟲害防治工作有兩大不足:一是從業(yè)者的植保專業(yè)知識(shí)不足;二是缺乏高效的病蟲害診斷手段[2-4]。
針對(duì)上述問(wèn)題,本文提出將故障樹分析法與專家系統(tǒng)相結(jié)合的方法,以期實(shí)現(xiàn)積累和傳播植保知識(shí)、診斷病蟲害等功能?;诠收蠘浞治龇ǖ膶<蚁到y(tǒng)是一種智能化診斷方式,應(yīng)用廣泛并且具有很高的診斷效率和準(zhǔn)確度[5]。潘學(xué)文等[6]根據(jù)故障樹分析法設(shè)計(jì)了一種基于故障樹的電動(dòng)無(wú)軌膠輪車故障診斷專家系統(tǒng),可有效地對(duì)電動(dòng)無(wú)軌膠輪車進(jìn)行故障診斷。李艷艷等[7]建立電動(dòng)公交車的故障診斷專家系統(tǒng),能夠按一定的推理策略逐步求解問(wèn)題,推理結(jié)果再通過(guò)人機(jī)界面顯示給用戶,從而提高診斷效率。陳浩敏等[8]利用故障樹分析法構(gòu)建故障診斷專家系統(tǒng),從而實(shí)現(xiàn)對(duì)故障類型、模式和部件的準(zhǔn)確診斷。但由于這些系統(tǒng)的終端設(shè)備為電腦或服務(wù)器,適用人群受限,這直接阻礙了專家系統(tǒng)在實(shí)際生產(chǎn)中的應(yīng)用和推廣。
為了進(jìn)一步發(fā)揮專家系統(tǒng)在柑橘病蟲害防治工作中的作用,本文提出將基于故障樹分析法的專家系統(tǒng)搭載于手機(jī)微信上。微信是一種普及率極高的在線社交媒體,擁有龐大的用戶基礎(chǔ),用微信小程序展現(xiàn)專家系統(tǒng),有利于專家系統(tǒng)的快速推廣[9-11]。同時(shí),微信小程序可以通過(guò)微信掃碼、搜索、公眾號(hào)關(guān)聯(lián)等方式靈活登錄,使專家系統(tǒng)真正能夠“觸手可及”[12-13]?;鶎拥母涕俜N植者、柑橘種植公司、想要了解柑橘種植的用戶都可以便捷地獲取并使用專家系統(tǒng)。用戶在實(shí)際使用時(shí),不需要下載多余的軟件,打開(kāi)微信掃描小程序的二維碼即可,用完即退,不占用移動(dòng)終端設(shè)備的系統(tǒng)資源[14]。
本研究以微信小程序?yàn)榛A(chǔ),結(jié)合專家系統(tǒng)與故障樹分析法,構(gòu)建基于故障樹分析法的柑橘病蟲害診斷專家系統(tǒng)。系統(tǒng)利用故障樹分析法計(jì)算病蟲害發(fā)生概率并建立病蟲害診斷知識(shí)庫(kù),在知識(shí)庫(kù)的基礎(chǔ)上運(yùn)用專家系統(tǒng)的推理機(jī)分析柑橘病蟲害類型及推薦具體的防治技術(shù)。
柑橘常見(jiàn)病蟲的形態(tài)學(xué)、分類學(xué)、植保學(xué)知識(shí),主要來(lái)自于《中國(guó)果樹科學(xué)與實(shí)踐》叢書中《柑橘》一書[15]以及其他參考文獻(xiàn)[16-18];系統(tǒng)開(kāi)發(fā)軟件:微信開(kāi)發(fā)者工具(1.05.2108130);系統(tǒng)開(kāi)發(fā)硬件:電腦(處理器i7-7700,內(nèi)存32GB,硬盤2TB);系統(tǒng)運(yùn)行軟件基礎(chǔ):微信客戶端7.0.22及以上版本;系統(tǒng)運(yùn)行硬件基礎(chǔ):各類Android手機(jī)或平板和iOS手機(jī)或平板。
本系統(tǒng)使用故障樹分析法和專家系統(tǒng)2種方法診斷病蟲害。根據(jù)故障樹分析法建立柑橘病蟲害故障樹,并計(jì)算柑橘病蟲害發(fā)生的概率,同時(shí)利用故障樹建立專家系統(tǒng)的專業(yè)知識(shí)庫(kù)。依據(jù)專家系統(tǒng)的知識(shí)庫(kù)和正向推理的推理機(jī)即可實(shí)現(xiàn)具體病蟲害的診斷。
1.2.1 故障樹分析法 故障樹分析法(Fault tree analysis, FTA)是一種能夠系統(tǒng)地查找故障產(chǎn)生原因,并且可以通過(guò)故障事件產(chǎn)生的概率進(jìn)行系統(tǒng)分析的方法[19]。利用故障樹分析法診斷病蟲害,首先需要分析與歸納柑橘病蟲害的類型,其次在全面分析的基礎(chǔ)上構(gòu)建故障樹,經(jīng)過(guò)定性分析求得故障樹的最小割集,最后利用故障樹底事件計(jì)算頂事件的概率,即可求得病蟲害的發(fā)生概率。
柑橘病蟲害類型分析與歸納:將柑橘病蟲害類型層次化、模塊化是構(gòu)建柑橘病蟲害故障樹的前提條件。據(jù)統(tǒng)計(jì),我國(guó)柑橘害蟲有2門14目106科865種,病害有152種[20]。由于種類繁多,本系統(tǒng)目前只考慮常見(jiàn)病蟲害,并按照4類為害部位(葉片、枝干、果實(shí)、根),歸納出14種典型為害癥狀,包括葉片脫落、葉片干枯、葉片反卷、葉片黃化、嫩葉受損、樹枝干枯、樹枝易斷、果實(shí)油漬狀斑點(diǎn)、果實(shí)黃綠斑、果實(shí)脫落、蛀蝕果肉、果實(shí)腐爛、根部腐爛和根瘤。
柑橘病蟲害故障樹的構(gòu)建:建立故障樹就是把頂事件和各中間事件、底事件通過(guò)邏輯符號(hào)聯(lián)系起來(lái)構(gòu)成一個(gè)樹狀層次邏輯關(guān)系。其中,柑橘病蟲害為故障樹的頂事件,病蟲害發(fā)生部位為中間事件,典型癥狀為底事件,連接上、下級(jí)事件的邏輯符號(hào)為“或門”。故障樹事件如表1所示,柑橘病蟲害故障樹詳見(jiàn)圖1。
表1 故障樹事件Table 1 Fault tree events
圖1 柑橘病蟲害故障樹Fig. 1 Fault tree of citrus diseases and pests
柑橘病蟲害故障樹定性分析:對(duì)故障樹進(jìn)行定性分析,就是計(jì)算出所有可能導(dǎo)致頂事件發(fā)生的故障因子,即求出故障樹的所有最小割集。由于故障樹上、下級(jí)事件之間都為“或”的邏輯關(guān)系,因此布爾代數(shù)表達(dá)式用邏輯加表示,表達(dá)式如下:
由計(jì)算結(jié)果可知,柑橘病蟲害故障樹有14個(gè)最小割集:{X1}、{X2}、{X3}、{X4}、{X5}、{X6}、{X7}、{X8}、{X9}、{X10}、{X11}、{X12}、{X13}、{X14}。
基于故障樹分析法的柑橘病蟲害發(fā)生概率計(jì)算:用戶依據(jù)柑橘園中病蟲害為害癥狀的實(shí)際情況,勾選底事件的發(fā)生情況,由系統(tǒng)根據(jù)用戶的選擇判斷發(fā)生概率P(Xi),然后計(jì)算中間事件的發(fā)生概率
式中,Mj為中間事件,j=1,2,3,4;Xi為底事件,i=1,2,…14;P(Xi)為底事件發(fā)生概率;P(Mj)為中間事件的發(fā)生概率。由圖1可知,4個(gè)中間事件分別對(duì)應(yīng)14個(gè)不同的底事件,因此,j=1時(shí),a=1、b=5;j=2時(shí),a=6、b=7;j=3時(shí),a=8、b=12;j=4時(shí),a=13、b=14。根據(jù)底事件的概率,利用公式(1)可計(jì)算出4個(gè)中間事件的概率。
依據(jù)中間事件的發(fā)生概率,可以計(jì)算頂事件的發(fā)生概率P(T):
式中,T為頂事件;Mj為中間事件,j=1,2,3,4;P(Mj)表示中間事件的發(fā)生概率;P(T)表示頂事件的發(fā)生概率。
例如,某柑橘園中存在病蟲害為害癥狀:少部分柑橘樹的根部出現(xiàn)根瘤且有輕微腐爛現(xiàn)象。用戶在底事件X13“根瘤”和X14“根部腐爛”2處勾選“少部分”選項(xiàng),系統(tǒng)判斷底事件的發(fā)生概率并利用故障樹分析法計(jì)算各層事件發(fā)生概率,過(guò)程如下:
將底事件的概率帶入到公式(1)可得中間事件的概率:
將中間事件的概率代入公式(2)可得頂事件的概率為:
由此可得,故障樹的頂事件T的發(fā)生概率為0.437 5,中間事件M1、M2、M3的發(fā)生概率為0,M4的發(fā)生概率為0.437 5。即柑橘樹患根瘤病的概率為0.437 5,葉、枝干、果實(shí)部分病變的概率為0。
1.2.2 病蟲害診斷專家系統(tǒng) 本文采用正向推理策略,根據(jù)用戶選擇的柑橘園為害癥狀來(lái)推理柑橘病蟲害,具體流程如圖2所示。首先,用戶根據(jù)柑橘園實(shí)際情況勾選為害癥狀發(fā)生的范圍。其次,系統(tǒng)根據(jù)用戶的選項(xiàng)判斷底事件的發(fā)生概率,并選取概率不為0的“真”底事件與數(shù)據(jù)庫(kù)中的規(guī)則表匹配,匹配成功則得到最終診斷結(jié)果(病蟲害名稱、防治技術(shù)),匹配失敗則返回上一步重新選擇一條規(guī)則進(jìn)行匹配,如此往返重復(fù),直至得到診斷結(jié)果。
圖2 正向推理流程圖Fig. 2 Flow chart of forward
本文設(shè)計(jì)的柑橘病蟲害診斷專家系統(tǒng)主要包含5個(gè)功能模塊,即病蟲害模塊、最新資訊模塊、知識(shí)庫(kù)查詢模塊、病蟲害診斷模塊和用戶中心模塊(圖3)。其中,病蟲害模塊包括了常見(jiàn)病蟲害的詳細(xì)信息如名稱、分類學(xué)及病理學(xué)知識(shí)等;最新資訊模塊主要介紹種植技術(shù)、最新惠農(nóng)助農(nóng)政策、涉農(nóng)新聞等;知識(shí)庫(kù)查詢模塊為用戶提供查詢?nèi)肟冢脩艨捎藐P(guān)鍵詞檢索或繼續(xù)瀏覽柑橘病蟲害相關(guān)知識(shí);病蟲害診斷模塊可為用戶提供診斷意見(jiàn)和防治建議;用戶中心模塊實(shí)現(xiàn)用戶登錄與退出的功能,并提供在線互動(dòng)服務(wù)。
圖3 系統(tǒng)功能結(jié)構(gòu)圖Fig. 3 Diagram of system functional structure
本系統(tǒng)的首頁(yè)如圖4A所示,頁(yè)面中部有4個(gè)點(diǎn)擊入口:常見(jiàn)病蟲害、最新資訊、知識(shí)庫(kù)查詢和病蟲害診斷,頁(yè)面底部有2個(gè)按鈕:首頁(yè)和我的。首頁(yè)中展示了系統(tǒng)5個(gè)功能模塊的入口,用戶點(diǎn)擊圖標(biāo)就會(huì)進(jìn)入對(duì)應(yīng)的功能模塊。
圖4 微信小程序頁(yè)面Fig. 4 Pages of weixin mini program
用戶點(diǎn)擊首頁(yè)中“常見(jiàn)病蟲害”圖標(biāo),即可查看病蟲害列表(圖4B),其左側(cè)有蟲害和病害2個(gè)圖標(biāo)供用戶點(diǎn)擊,點(diǎn)擊后進(jìn)入病害或蟲害下拉列表,用戶可進(jìn)一步點(diǎn)擊感興趣的病蟲害的圖標(biāo),查看病蟲害的詳細(xì)介紹。
用戶點(diǎn)擊首頁(yè)中“最新資訊”圖標(biāo),即可跳轉(zhuǎn)到資訊列表頁(yè)面(圖4C),點(diǎn)擊資訊的標(biāo)題或封面,進(jìn)入到文章的詳細(xì)頁(yè)面,頁(yè)面中有標(biāo)題、文字介紹和圖片介紹。資訊列表頁(yè)面右上角有“了解更多”按鈕,點(diǎn)擊此按鈕,可進(jìn)入更多種類的資訊頁(yè)面。
用戶點(diǎn)擊首頁(yè)中“知識(shí)庫(kù)查詢”圖標(biāo),即可看到頁(yè)面中“條件查詢”與“查詢?nèi)俊?個(gè)部分。用戶在“條件查詢”標(biāo)題下的文本輸入框輸入關(guān)鍵字,可系統(tǒng)查詢含有關(guān)鍵字的柑橘病蟲害知識(shí)。例如:用戶輸入“落葉”,病蟲害知識(shí)庫(kù)中所有含有“落葉”這一癥狀的柑橘病蟲害都會(huì)展示出來(lái)(圖4D)。用戶點(diǎn)擊“查詢所有”按鈕,頁(yè)面下方會(huì)分頁(yè)展示知識(shí)庫(kù)中所有的病蟲害知識(shí)。
用戶點(diǎn)擊首頁(yè)中“病蟲害診斷”圖標(biāo),會(huì)出現(xiàn)答題頁(yè)面(圖4E)。用戶依據(jù)柑橘園的實(shí)際情況選擇題目的對(duì)應(yīng)選項(xiàng),勾選選項(xiàng)后點(diǎn)擊提交答案,進(jìn)入下一題,直至答完14道題。根據(jù)用戶勾選的14道題的答案,系統(tǒng)進(jìn)行自動(dòng)化診斷,包括計(jì)算病蟲害概率、診斷病蟲害類型及推薦病蟲害防控技術(shù)。
用戶點(diǎn)擊頁(yè)面底部“我的”圖標(biāo),系統(tǒng)跳轉(zhuǎn)到用戶中心。此頁(yè)面共有5個(gè)按鈕:聯(lián)系客服、登錄、退出登錄、聯(lián)系電話、關(guān)于我們。用戶點(diǎn)擊“聯(lián)系客服”按鈕,進(jìn)入客服聊天界面,可以通過(guò)發(fā)送文字、圖片等信息反饋建議。用戶點(diǎn)擊“聯(lián)系電話”按鈕,還可以查看到本系統(tǒng)的聯(lián)系電話。用戶點(diǎn)擊“關(guān)于我們”的按鈕,進(jìn)入到系統(tǒng)介紹頁(yè)面,詳細(xì)展示了系統(tǒng)的目標(biāo)、框架以及主要功能。
其次,用戶中心具有登錄與退出功能。用戶通過(guò)微信掃碼、搜索等方式登錄小程序,系統(tǒng)會(huì)自動(dòng)識(shí)別用戶是否為首次登錄。若用戶為新用戶,頁(yè)面下方會(huì)彈出提示框,請(qǐng)求用戶授權(quán)登錄,授權(quán)成功后,進(jìn)入首頁(yè);若用戶不是首次使用小程序,系統(tǒng)則直接跳轉(zhuǎn)到首頁(yè)。
某柑橘園中,用戶發(fā)現(xiàn)園內(nèi)少部分果樹的果實(shí)上存在油漬狀斑點(diǎn),需要利用系統(tǒng)進(jìn)行病蟲害診斷。用戶點(diǎn)擊微信小程序登錄,系統(tǒng)識(shí)別出用戶為新用戶,頁(yè)面下方立即彈出請(qǐng)求用戶授權(quán)登錄的提示框,用戶點(diǎn)擊“允許”,系統(tǒng)進(jìn)入到首頁(yè)。用戶點(diǎn)擊首頁(yè)中“病蟲害診斷”圖標(biāo),進(jìn)入答題頁(yè)面。由于系統(tǒng)默認(rèn)選擇“不存在”選項(xiàng),用戶僅需點(diǎn)擊頁(yè)面中“提交答案”按鈕,題目就會(huì)跳轉(zhuǎn)到下一題,當(dāng)“果實(shí)油漬狀斑點(diǎn)”問(wèn)題出現(xiàn),勾選“少部分”選項(xiàng),繼續(xù)點(diǎn)擊“提交答案”,直至提交完14道題答案為止。隨后,系統(tǒng)進(jìn)行自動(dòng)化診斷,運(yùn)算結(jié)果如圖4F所示。其中,柑橘樹患病的概率為0.25,柑橘園內(nèi)可能存在瘡痂病、油斑病2種病害。
系統(tǒng)測(cè)試主要從兼容性、響應(yīng)性能2個(gè)方面進(jìn)行。兼容性測(cè)試檢測(cè)在不同型號(hào)手機(jī)上小程序的組件是否產(chǎn)生沖突,小程序頁(yè)面是否出現(xiàn)樣式異常,比如圖片顯示不完全、頁(yè)面不能跳轉(zhuǎn)等。響應(yīng)性能測(cè)試時(shí),重點(diǎn)測(cè)試小程序啟動(dòng)總耗時(shí)、頁(yè)面切換耗時(shí)、內(nèi)存消耗、服務(wù)器連接情況等。
為了檢測(cè)系統(tǒng)在不同情況下的運(yùn)行情況,采用5種不同型號(hào)的手機(jī)、3種微信版本和3種網(wǎng)絡(luò)信號(hào)進(jìn)行了性能測(cè)試,測(cè)試條件及結(jié)果如表2所示。
表2 系統(tǒng)的兼容性測(cè)試Table 2 Compatibility test of system
使用5種不同型號(hào)的手機(jī),對(duì)系統(tǒng)的啟動(dòng)耗時(shí)、頁(yè)面切換耗時(shí)分別測(cè)試10次,取耗時(shí)的平均值為其耗時(shí)結(jié)果;對(duì)服務(wù)器連接狀態(tài)則連續(xù)測(cè)試1 h,觀察使用本系統(tǒng)時(shí)網(wǎng)絡(luò)連接情況是否異常;測(cè)試數(shù)據(jù)如表3所示。由表3可知,系統(tǒng)可以在不同型號(hào)的手機(jī)中平穩(wěn)運(yùn)行,其中占用內(nèi)存的平均大小為175 MB,啟動(dòng)系統(tǒng)的平均耗時(shí)為1.098 4 s、最長(zhǎng)耗時(shí)為1.634 0 s ,頁(yè)面切換的平均耗時(shí)為0.049 5 s、最長(zhǎng)耗時(shí)為0.062 0 s;連續(xù)運(yùn)行本系統(tǒng)1 h,手機(jī)與服務(wù)器的連接均未出現(xiàn)異常,結(jié)果表明本系統(tǒng)使用時(shí)響應(yīng)迅速、運(yùn)行穩(wěn)定。
表3 系統(tǒng)的響應(yīng)性能測(cè)試Table 3 Response performance test of system
本研究針對(duì)柑橘病蟲害防治工作中的兩大不足,將微信小程序作為平臺(tái),結(jié)合專家系統(tǒng)與故障樹分析法2種技術(shù),建立了基于故障樹分析法的柑橘病蟲害診斷專家系統(tǒng)。首先,本系統(tǒng)能夠依據(jù)用戶輸入的柑橘園病蟲害癥狀,診斷病蟲害類型、計(jì)算病蟲害概率、推薦病蟲害防控措施。其次,本系統(tǒng)通過(guò)新聞、病蟲害列表、知識(shí)庫(kù)查詢等多種方式,向基層的柑橘種植者、柑橘種植公司、想要了解柑橘種植的用戶提供柑橘種植的先進(jìn)技術(shù)與專業(yè)知識(shí)。
柑橘病蟲害診斷專家系統(tǒng)還需在使用中逐漸完善,其中,柑橘病蟲害識(shí)別與防治知識(shí)庫(kù)還需隨著科學(xué)技術(shù)的發(fā)展不斷進(jìn)行補(bǔ)充完善,微信小程序內(nèi)部的查詢算法也需要不斷改進(jìn)和優(yōu)化。此外,本系統(tǒng)也可以擴(kuò)展到其他果樹,構(gòu)建更加豐富的專家系統(tǒng),以滿足不同用戶對(duì)病蟲害診斷的需求。