張 宇 ,于合龍,郭文忠,林 森,文朝武,龍潔花
(1.吉林農業(yè)大學 信息技術學院, 長春 130118;2.北京市農林科學院 智能裝備技術研究中心,北京 100097)
合適的種植管理策略是番茄果實穩(wěn)產、高產的關鍵步驟[1],且隨著農業(yè)信息化[2]和農業(yè)智能裝備的快速發(fā)展,降低了番茄種植管理的勞動強度。當前,番茄的專業(yè)技術人員眾多,不同品種的番茄在不同生育期的種植管理策略也不同,技術人員的種植管理經(jīng)驗很難大范圍推廣。番茄種植管理策略存在信息多源異構、復雜多樣等特點,在解決快速、準確獲取番茄種植管理策略時存在兩個難題:一是隨著數(shù)據(jù)規(guī)模的增大,如何構建一個標準化的關系數(shù)據(jù)庫;二是如何充分和高效率使用數(shù)據(jù)庫中的數(shù)據(jù)。
針對上述問題,于合龍[3]等人針對復雜的水稻病害數(shù)據(jù)存儲和高效檢索問題,提出了基于知識圖譜的關聯(lián)特征挖掘模型。張青嶺[4]等人以茶葉病蟲害知識圖譜為例,介紹了知識圖譜的繪制工具及其應用。吳茜[5]等人對基于知識圖譜的農業(yè)問答系統(tǒng)進行研究,對用戶提出的農業(yè)領域問題給出精準的答案。童寧[6]等人基于結合短文本語義的圖查詢方法實現(xiàn)了一個面向異構網(wǎng)絡的圖查詢可視分析系統(tǒng),可以基于查詢有效分析挖掘異構網(wǎng)絡的數(shù)據(jù)和關系特征。
知識圖譜解決了農業(yè)方面大量零散數(shù)據(jù)的存儲問題,可視化查詢從不同品種番茄在不同環(huán)境下種植管理的角度,為番茄種植管理領域的專家經(jīng)驗知識充分利用提供支持,二者相結合在作物領域的應用研究具有重大意義。
基于知識圖譜[7-9]的番茄種植管理可視化查詢系統(tǒng)框架主要包含4部分,即數(shù)據(jù)獲取、圖譜構建、相關算法及系統(tǒng)構建及應用,如圖1所示。
工作時:第一步通過python爬蟲技術獲取網(wǎng)頁有關數(shù)據(jù)并結合北京市農林科學院的專家數(shù)據(jù),再通過數(shù)據(jù)處理整理成結構化數(shù)據(jù);第二步使用 Neo4j 的模塊化CREATE語句,利用“自頂而下”和“自底向上”相結合的方法構建番茄種植管理知識圖譜;第三步利用輸入層和嵌入層分別對輸入問題進行預處理和向量化表示,再輸出語義相似度最高的答案;最后,利用Python的PyQt框架與第三步的算法融合設計一個用戶查詢界面,根據(jù)輸入問題輸出該品種番茄最佳種植管理策略。
圖1 基于知識圖譜的番茄種植管理可視化查詢系統(tǒng)框架Fig.1 Visual query system framework of tomato planting management based on knowledge graph
目前,國內典型的知識圖譜有“美團”智能大腦、小米知識圖譜、TCMLS和OpenKG.CN等;國外具有代表性的有Freebase[10]、DBpedia[11]、Yago[12]和Wikidata[13]等。
本文知識來源包括專家、百度百科、書籍等,其數(shù)據(jù)包括結構化數(shù)據(jù)[14]、半結構化數(shù)據(jù)[15]和非結構化數(shù)據(jù)[16]。其中,結構化數(shù)據(jù)可以直接進行整合并知識表示,而半結構化數(shù)據(jù)和非結構化數(shù)據(jù)需要經(jīng)過實體抽取、關系提取、屬性提取和知識提取轉化為結構化數(shù)據(jù)后再進行知識表示;最終,將表示的知識進行質量檢測,選取其中質量高的知識存儲,構建番茄種植管理知識圖譜以便應用服務。
圖2為構建番茄種植管理知識圖譜的流程。首先,將多源異構的番茄種植管理數(shù)據(jù)進行結構化處理(抽取實體信息、關系信息)為結構化數(shù)據(jù),再進行知識質量檢測,最終將知識存儲于圖數(shù)據(jù)庫中。其中,知識更新、知識質量檢測和知識推理是不斷更新的過程,以此保證番茄種植管理知識圖譜中信息的準確性。
圖2 番茄種植管理知識圖譜構建流程Fig.2 Construction process of tomato planting management knowledge map
本文的數(shù)據(jù)結構以三元組為基礎結構,故選取以Neo4j[17]圖數(shù)據(jù)庫為基礎構建番茄種植管理知識圖譜。雖然知識圖譜與番茄種植管理是第一次結合,但番茄的種類、種植管理方法會更新,所以基于處理好的數(shù)據(jù),構建數(shù)據(jù)結構層,選擇自頂向下和自底向上相結合的模塊化CREATE構建方法[18],此方法速度快、靈活性強、內容更新方便,無需整體修改。
番茄種植管理知識圖譜可快速提供給更多學者相關番茄種植管理的知識,但本文中知識圖譜的內容可能無法包含所有的番茄品種及番茄的種植管理相關知識,且隨著科技的發(fā)展,會出現(xiàn)越來越多的番茄品種。本文知識導入方法的最大優(yōu)勢是可以利用從底到頂?shù)姆绞诫S時更新知識,可以實現(xiàn)第一時間出現(xiàn)在知識圖譜中。經(jīng)過以上步驟后,完成構建番茄種植管理知識圖譜,如圖3所示。
圖3 番茄種植管理知識圖譜示例Fig.3 Example of tomato planting management knowledge map
圖4為系統(tǒng)內部算法的工作流程。工作時,具體地對輸入問題進行預處理,然后與番茄生產管理知識圖譜進行語義相似度計算,輸出最佳生產管理策略。
圖4 系統(tǒng)內部工作流程Fig.4 Internal workflow of the system
輸入層對輸入問題進行預處理,預處理成功后得到干凈的詞序列。嵌入層將輸入關鍵詞在低維空間進行向量化表示,循環(huán)神經(jīng)網(wǎng)絡在訓練過程中會出現(xiàn)梯度消失和梯度爆炸的問題,故只能捕捉少量的匹配信息。另一種LSTM網(wǎng)絡利用不同的函數(shù)處理隱藏層的狀態(tài),實現(xiàn)對重要信息的篩選,能很好地解決梯度問題,捕捉更多的匹配信息。所以,結合CNN網(wǎng)絡可以保留關鍵信息和LSTM可以捕捉更多匹配信息的特點提取關鍵特征信息[19]。具體如下:
1)LSTM結構。文中使用的LSTM網(wǎng)絡結構。假設X(t-1),Xt,…,Xt+1為輸入詞序列,每個字都是一個向量,通常用向量表示;ht-1,ht,…,ht+1表示隱藏元,共t+1個,每個隱藏元都由之前的字算得到,故可以認為包含之前所有字的信息。始終有一個隱藏元h0,代表初始信息,一般采用全0的向量進行初始化。
2)RCNN層。利用卷積神經(jīng)網(wǎng)絡對拼接后的詞序列語義表示進行信息融合,其計算過程為
yi=CNN(xi),i∈[1,L]
(1)
其中,yi表示卷積處理后xi對應的特征表示。
選用余弦距離作為查詢內部知識語義相似度[20]的方法,再將內部排序第一的知識表達出來,并認為任何兩個事物的相似度取決于其共同信息量的大小和個性信息量的大小,詳細公式為
(2)
其中,A=(A1,A2,…,An),B=(B1,B2,…,Bn) 、A和B均為語義向量;n表示語義向量的維度,相似性的值域為[0,1]。
種植管理特征包括種植管理方法、種植管理量、生育期、有無吐水情況等特征信息。本文關鍵詞特征向量與種植管理特征向量語義相似度計算公式為
sim(t,T)=α·sim(t,Th)+β·sim(t,Tl)+γ·sim(t,Tm)+δ·sim(t,Tp)+ε·sim(t,Tw)
(3)
其中,t表示查詢關鍵詞的特征向量;T表示種植管理知識特征向量;sim(t,T)表示關鍵詞向量特征與種植管理知識的整體相似度;sim(t,Th)表示關鍵詞向量特征與種植管理知識主題向量特征的相似度;sim(t,Tl)表示關鍵詞向量特征與適合種植管理方式向量特征的相似度;sim(t,Tm)表示關鍵詞向量特征與種植管理生育期向量特征的相似度;sim(t,Tp)表示關鍵詞向量特征與吐水情況向量特征的相似度;sim(t,Tw)表示關鍵詞向量特征與種植管理量向量特征的相似度;α、β、γ、δ、ε分別表示這些相似度的可調比例權重參數(shù),α+β+γ+δ+ε=1。
設計系統(tǒng)使用處理器為2.6GHz六核Intel Core i7,操作系統(tǒng)為macOS Big Sur,設計軟件為Python3.6。設計前,需要準備好信息數(shù)據(jù)和品種對應的圖片,知識數(shù)據(jù)利用2知識圖譜的數(shù)據(jù)格式保存,圖片存放于表格同級路徑下的 pictures 文件夾下面,表中圖片與表格內的數(shù)據(jù)需要一一對應;然后,使用python語言將表格內的數(shù)據(jù)注入到變量中,通過指定下標的變量數(shù)組值與所查詢的值匹配來獲取同數(shù)組內的所有值,并使用tkinter可視化工具輸出到界面中。具體的設計過程包括以下5步:①準備設計環(huán)境框架,即PyQt框架;②構建初始界面組件,制定主函數(shù)執(zhí)行內容,讀取數(shù)據(jù);③設定全局變量,讀取第三方庫;④查詢按鈕響應函數(shù),喚醒數(shù)據(jù)預處理;⑤按鈕初始化函數(shù),打開初始化查詢界面,輸入問題,經(jīng)過內部語義相似度計算輸出最佳種植管理策略。
所設計的可視化查詢初始化界面如圖5所示。
圖5 可視化查詢初始化界面Fig.5 Visual query initialization interface
為了測試此查詢系統(tǒng)的性能,添加了Neo4j的自帶查詢語言Cypher[21]作為對比分析,在不同的A、B、C 3組人群中針對準確性、查詢響應時間和可操性做對比實操。其中,A組為計算機從業(yè)者(某大學信息技術學院計算機類學生),B組為農業(yè)工作者(某市農林科學院),C組為既非農業(yè)又非計算機的路人,每組100人,如表1所示。利用式(4)將正確回答的問題數(shù)除以輸入總問題數(shù)的比值作為準確率,即
(4)
其中,A表示準確率;t表示回答正確的輸出值;T表示所有的輸入值。
可操性標準分為:優(yōu)、良、中、差。其中,優(yōu)為90~100,良為80~90,中為70~80,差為0~70。
由表1可知:在查詢時間上,可視化查詢系統(tǒng)遠遠低于Cypher查詢語言;在準確率上,農業(yè)工作者在可視化查詢系統(tǒng)和非農業(yè)工作者在Cypher查詢語言上的準確率優(yōu)異;在可操性上,可視化查詢系統(tǒng)的可操性明顯高于Cypher查詢語言的可操性。造成以上結果的原因:Cypher查詢語言需要非計算機工作者認真學習Cypher,而可視化查詢系統(tǒng)只按照步驟即可。
表1 可視化系統(tǒng)與Cypher查詢語言對比Table 1 Visual system compared to Cypher query language
本查詢方法中的終端用戶通過移動設備直接對構建完成的知識圖譜發(fā)出任務請求。
在4.1節(jié)中,實現(xiàn)了可視化查詢不同品種番茄的種植管理志,在山東“壽光”型玻璃溫室中實現(xiàn)該方法。開始種植番茄時,通過控制平臺查詢得知需要種植品種番茄的不同種植管理方法,并通過系統(tǒng)內部計算得出其中最適合生產目標的種植管理方式,根據(jù)選取的種植管理方法修改水肥一體化控制參數(shù)、環(huán)境控制參數(shù)等進行種植管理、施肥等操作。圖6為查詢的具體應用界面。
圖6 可視化查詢應用界面Fig.6 Visualized query application interface
1)知識圖譜可視化查詢通過圖形圖像描述知識資源及它們之間的相互聯(lián)系,并在此基礎上提供查詢服務的一項計算機技術?!白皂敹隆焙汀白缘锥稀钡哪K化構建方式可以解決傳統(tǒng)CREATE構建語句的速度緩慢、即時更新、內容精確等問題。CNN網(wǎng)絡和LSTM的結合可以保留更多的匹配信息,最后經(jīng)過語義相似度計算可以輸出最合適的番茄種植管理策略。實踐應用表明:設計的策略提高了農業(yè)相關工作人員的查詢效率,在山東壽光玻璃溫室的應用中得到種植管理的一致好評,只適用于智能溫室,有待于在普通大棚中普及。
2)隨著知識圖譜在新一代人工智能發(fā)展中發(fā)揮愈加關鍵的作用,不同領域知識圖譜的可視化查詢方法與技術將會有更廣泛的需求與應用。因此,基于統(tǒng)一模型的知識圖譜可視化查詢語言、感知語義的知識圖譜可視化技術、面向領域知識圖譜優(yōu)化的可視查詢方法及大規(guī)模知識圖譜的高效可視化查詢策略,將是未來知識圖譜可視化查詢重要的發(fā)展方向。