張 帥,魏正英,張育斌,周 瑞
(西安交通大學(xué)機(jī)械制造系統(tǒng)工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710054)
互聯(lián)網(wǎng)時(shí)代使農(nóng)業(yè)灌溉知識(shí)的來(lái)源、數(shù)量和形式發(fā)生了巨大的變化,而且農(nóng)業(yè)灌溉自身具有特殊的復(fù)雜性和模糊性,如何用智能化的手段獲取和處理農(nóng)業(yè)灌溉知識(shí)已成為一個(gè)十分緊迫的問(wèn)題。
過(guò)去農(nóng)業(yè)灌溉知識(shí)的獲取通常是靠農(nóng)業(yè)專家或農(nóng)業(yè)生產(chǎn)者的長(zhǎng)期觀察、研究、分析、驗(yàn)證總結(jié)出來(lái),然后通過(guò)知識(shí)工程師轉(zhuǎn)化為知識(shí)庫(kù),知識(shí)工程師與領(lǐng)域?qū)<抑g信息交流的不對(duì)等導(dǎo)致了傳統(tǒng)知識(shí)獲取方式效率較低,因此知識(shí)獲取成為決策支持系統(tǒng)研究中公認(rèn)的瓶頸問(wèn)題[1]。隨著信息技術(shù)的發(fā)展,知識(shí)獲取方式也不斷發(fā)展,Ahmed Rafea等人[2]設(shè)計(jì)開(kāi)發(fā)了一個(gè)自動(dòng)獲取并驗(yàn)證農(nóng)業(yè)施肥領(lǐng)域知識(shí)庫(kù)的系統(tǒng),王德吉等人[3]基于支持向量機(jī)聚類算法構(gòu)建了面向農(nóng)業(yè)領(lǐng)域的專業(yè)搜索引擎,Mannini等人[4]設(shè)計(jì)開(kāi)發(fā)面向農(nóng)業(yè)的灌溉系統(tǒng)IRRINET,Sacha等人[5]提出了一種基于可視化分析的知識(shí)獲取模型。
本文主要研究了農(nóng)業(yè)灌溉領(lǐng)域知識(shí)的獲取方式和可視化分析技術(shù),將數(shù)據(jù)挖掘、可視化分析等技術(shù)運(yùn)用于農(nóng)業(yè)灌溉,利用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),借助于交互式用戶界面進(jìn)行分析觀察、發(fā)現(xiàn)和理解信息,發(fā)現(xiàn)隱藏在數(shù)據(jù)和信息背后的知識(shí),同時(shí)對(duì)獲取的知識(shí)進(jìn)行分析解釋,直觀地理解掌握知識(shí),實(shí)現(xiàn)灌溉領(lǐng)域知識(shí)的自動(dòng)獲取。
知識(shí)是進(jìn)行領(lǐng)域問(wèn)題求解的專家領(lǐng)域知識(shí),將用于領(lǐng)域問(wèn)題求解的專家知識(shí)從某種知識(shí)源中總結(jié)和抽象出來(lái),轉(zhuǎn)換為計(jì)算機(jī)知識(shí)庫(kù)系統(tǒng)中的知識(shí),這一處理過(guò)程就叫知識(shí)獲取[6]。
知識(shí)獲取的方法可分為手工、半自動(dòng)和自動(dòng)知識(shí)獲取。手工、半自動(dòng)知識(shí)獲取方法主要是通過(guò)訪問(wèn)領(lǐng)域?qū)<耀@取大量專業(yè)知識(shí),傳統(tǒng)的專家系統(tǒng)一般依靠這種方式獲取專家知識(shí),難以全面獲得專家知識(shí)。自動(dòng)知識(shí)獲取通過(guò)領(lǐng)域?qū)<抑苯油到y(tǒng)進(jìn)行對(duì)話而無(wú)需知識(shí)工程師的介入,具有自學(xué)習(xí)功能的系統(tǒng)能夠通過(guò)用戶對(duì)求解結(jié)果的大量反饋信息自動(dòng)修改和完善知識(shí)庫(kù),并能在問(wèn)題求解過(guò)程中自動(dòng)積累和形成各種有用的知識(shí)。
知識(shí)獲取一般分為4個(gè)步驟[7]:?jiǎn)栴}識(shí)別和特征提取、獲取概念和關(guān)系、知識(shí)的結(jié)構(gòu)化表示、知識(shí)庫(kù)的形成,如圖1所示。
圖1 知識(shí)獲取步驟Fig.1 Steps of knowledge acquisition
可視化分析是指用于創(chuàng)建圖形、圖像或動(dòng)畫,以便交流溝通訊息的技術(shù)和方法,主要包括數(shù)據(jù)可視化、信息可視化和知識(shí)可視化。數(shù)據(jù)可視化[8]是將數(shù)據(jù)以某種視覺(jué)形式表現(xiàn)出來(lái),直觀地觀察到數(shù)據(jù)之間的關(guān)系,借助圖形化手段清晰有效地傳達(dá)與溝通信息。信息可視化[9]定義為對(duì)抽象數(shù)據(jù)使用計(jì)算機(jī)支持的、交互的、可視化的表示形式以增強(qiáng)認(rèn)知能力。知識(shí)可視化[10]指可以用來(lái)構(gòu)建、傳達(dá)和表示復(fù)雜知識(shí)的圖形圖像手段,除了傳達(dá)事實(shí)信息之外,知識(shí)可視化的目標(biāo)還在于傳輸人類的知識(shí),并幫助他人正確地重構(gòu)、記憶和應(yīng)用知識(shí)。
與數(shù)據(jù)可視化相比,信息可視化側(cè)重于抽象數(shù)據(jù)集,如非結(jié)構(gòu)化文本,側(cè)重于通過(guò)可視化圖形呈現(xiàn)數(shù)據(jù)中隱含的信息和規(guī)律,而知識(shí)可視化則是通過(guò)提供更豐富的知識(shí)視覺(jué)表征的方式,提高人們之間的知識(shí)創(chuàng)造和傳遞[11],三者關(guān)系如圖2所示。
圖2 數(shù)據(jù)、信息和知識(shí)可視化關(guān)系Fig.2 Relationships of data, information and knowledge visualization
如圖3所示,人們通過(guò)模型輸出和可視化圖表發(fā)現(xiàn)數(shù)據(jù)中可能存在的模式,做出適當(dāng)?shù)募僭O(shè)后提煉獲得知識(shí),基于此知識(shí)采取恰當(dāng)?shù)男袨榈玫叫碌哪P洼敵龊托碌目梢暬瘓D表,對(duì)模型進(jìn)行調(diào)整,不斷循環(huán)驗(yàn)證,最終獲得知識(shí)[5]。可視化分析幫助我們更加直觀地觀察龐大的信息空間,并以此為基礎(chǔ)獲取所需領(lǐng)域知識(shí)和支持復(fù)雜的決策。
圖3 基于可視化的知識(shí)獲取Fig.3 Knowledge acquisition based on visualization
隨著互聯(lián)網(wǎng)的高速發(fā)展,農(nóng)業(yè)領(lǐng)域的網(wǎng)站也不斷增加,網(wǎng)頁(yè)數(shù)量也隨之呈幾何數(shù)增長(zhǎng),其攜帶的信息不斷更新變化,因此網(wǎng)頁(yè)成為農(nóng)業(yè)知識(shí)獲取領(lǐng)域中一個(gè)重要的資源寶庫(kù)。農(nóng)業(yè)領(lǐng)域的網(wǎng)頁(yè)內(nèi)容獲取體現(xiàn)在對(duì)網(wǎng)頁(yè)攜帶的內(nèi)容進(jìn)行有效信息的提取。
網(wǎng)頁(yè)頁(yè)面的信息屬于半結(jié)構(gòu)化信息,通過(guò)網(wǎng)絡(luò)爬蟲(chóng)到指定站點(diǎn)搜索相關(guān)的信息,利用網(wǎng)頁(yè)語(yǔ)義技術(shù)從原本無(wú)結(jié)構(gòu)的網(wǎng)絡(luò)文本HTML或XML中抽取出特征向量,建立可以表述和替代原始信息的抽象模型,運(yùn)用計(jì)算機(jī)技術(shù)、人工智能技術(shù)形成領(lǐng)域知識(shí)庫(kù)。如圖4為網(wǎng)頁(yè)知識(shí)獲取流程圖。
圖4 網(wǎng)頁(yè)知識(shí)獲取流程圖Fig.4 Flow chart of web knowledge acquisition
本文通過(guò)訪問(wèn)中國(guó)節(jié)水灌溉網(wǎng),借助程序代碼從普通網(wǎng)頁(yè)上提取結(jié)構(gòu)化的內(nèi)容,獲取節(jié)水灌溉最新技術(shù),主要程序如下:
import urllib2,bs4
url='http://www.jsgg.com.cn/Index/Display.asp?NewsID=10276'
req = urllib2.Request(url)
content = urllib2.urlopen(req).read()
content=bs4.BeautifulSoup(content,from_encoding='GB18030')
title=content.findAll('td',align="center",style="font-size:18px;COLOR:#000066;FONT-WEIGHT:bolder;")
knowledge=content.findAll('span',id='General_Info')
部分解析結(jié)果如圖5所示,獲取的知識(shí)主題為水稻節(jié)水灌溉技術(shù)要點(diǎn),將其保存到知識(shí)庫(kù)中,不斷自我完善,建立起性能優(yōu)良、知識(shí)完善的知識(shí)庫(kù),農(nóng)業(yè)生產(chǎn)者可以根據(jù)這些知識(shí)提高作物灌溉效率和作物產(chǎn)量。
農(nóng)業(yè)灌溉用水問(wèn)題是高度復(fù)雜非線性問(wèn)題,受到諸如土壤、氣象等因素的影響,其中氣象因素是確定作物蒸散量的關(guān)鍵,準(zhǔn)確的氣象預(yù)報(bào)可以用于指導(dǎo)作物的灌溉,直接為農(nóng)業(yè)灌溉生產(chǎn)服務(wù)。
API是一些預(yù)先定義的函數(shù),通過(guò)API接口無(wú)需訪問(wèn)源碼和理解內(nèi)部工作機(jī)制的細(xì)節(jié)。本文通過(guò)API接口獲取西安市未來(lái)七天的氣象信息,主要包括未來(lái)一段時(shí)期內(nèi)的陰晴雨雪、最高最低溫度、相對(duì)濕度、降水量、風(fēng)速、風(fēng)力、降水概率等。首先獲取API密匙,準(zhǔn)備python開(kāi)發(fā)和運(yùn)行環(huán)境,安裝urllib2和json,主要程序如下所示:
import json,urllib2
url2='http://apis.baidu.com/heweather/weather/free?city=xian'
req = urllib2.Request(url2)
req.add_header("apikey","17668a3a4401dc9f888de88daf67ac12")
resp = urllib2.urlopen(req)
content = resp.read()
data=json.loads(content)
weather=data['HeWeather data service3.0'][0] ['daily_forecast']
對(duì)獲取到的氣象信息進(jìn)行解析,經(jīng)過(guò)處理加工后保存在數(shù)據(jù)庫(kù)中,通過(guò)友好的人機(jī)交互界面來(lái)顯示,如圖6所示為未來(lái)兩天的氣象信息。
圖6 API知識(shí)獲取Fig.6 API knowledge acquisition
隨著信息社會(huì)的發(fā)展,文本信息高速增長(zhǎng),傳統(tǒng)的閱讀理解文本獲取知識(shí)方式已經(jīng)難以勝任,人類從外界獲得的信息約有80%以上來(lái)自于視覺(jué)系統(tǒng)[12],文本可視化可以幫助人類以可視分析的手段交互地分析海量的文本內(nèi)容,洞悉文本背后隱藏的知識(shí),在海量的文本中發(fā)現(xiàn)和提取知識(shí)。
如圖7所示為從txt格式文本中獲取灌溉制度知識(shí),運(yùn)用基于特征的單文檔自動(dòng)摘要技術(shù)對(duì)文本進(jìn)行壓縮表示而保持原有文本主題,抽取文本的主要結(jié)構(gòu)和信息,獲取文本關(guān)鍵詞和摘要,快速高效地獲取文本中灌溉制度知識(shí)。
圖7 文本知識(shí)獲取Fig.7 Text knowledge acquisition
本文的數(shù)據(jù)是從中國(guó)氣象數(shù)據(jù)共享服務(wù)網(wǎng)獲得的西安市氣象數(shù)據(jù),數(shù)據(jù)包括從2000-2015年的氣象數(shù)據(jù)。數(shù)據(jù)包含日期、平均溫度、日最高溫度、日最低溫度、平均相對(duì)濕度、日照時(shí)長(zhǎng)和風(fēng)速。部分?jǐn)?shù)據(jù)列在表1。
圖8為西安市2015年參照作物蒸散量變化趨勢(shì)圖和四分位圖,從圖8可以看出,參照作物蒸散量在4-10月變化較大,超出平均值。
圖9為西安市2015年各個(gè)氣象參數(shù)變化趨勢(shì)圖,圖10為運(yùn)用數(shù)據(jù)挖掘方法得出的氣象參數(shù)重要程度。從圖9可以直觀地看出平均溫度、日最高氣溫和日最低氣溫與參照作物蒸散量的變化規(guī)律一致,與圖10相比結(jié)果一致,溫度對(duì)于參照作物蒸散量具有重要的參考意義,對(duì)作物需水量預(yù)測(cè)有重要的影響。
表1 部分輸入樣本數(shù)據(jù)Tab.1 Part of the sample data
圖8 ET0數(shù)據(jù)可視化Fig.8. Data visualization of ET0
圖9 氣象因子可視化Fig.9 Meteorological parameter visualization
圖10 特征權(quán)重Fig.10 Feature importances
知識(shí)可視化是指應(yīng)用視覺(jué)表征手段促進(jìn)群體知識(shí)的傳播和創(chuàng)新,是知識(shí)工程在農(nóng)業(yè)領(lǐng)域的應(yīng)用方向之一。決策樹(shù)是一種廣泛使用的分類器,使用二分類式的if-else條件作為分界條件,可以高效的對(duì)未知的數(shù)據(jù)進(jìn)行預(yù)測(cè)。本文通過(guò)形如表1中的訓(xùn)練數(shù)據(jù)構(gòu)建決策樹(shù)模型預(yù)測(cè)作物蒸散量,并且對(duì)生成的模型進(jìn)行可視化分析,如圖11為生成的決策樹(shù)模型,模型直觀易于理解,可通過(guò)進(jìn)一步表示成If-Then形式,便于計(jì)算機(jī)編程更新知識(shí)庫(kù)。
圖11 知識(shí)可視化Fig.11 Knowledge visualization
本文通過(guò)自動(dòng)知識(shí)獲取方式獲取灌溉領(lǐng)域知識(shí),結(jié)合可視化技術(shù)生成豐富的圖表和圖像,充分表達(dá)文字和數(shù)據(jù)分析得到的結(jié)果,并以更加易于理解和接受的方式展現(xiàn)出來(lái),將可視化技術(shù)用于構(gòu)建知識(shí)發(fā)現(xiàn)過(guò)程,極大地提高了對(duì)數(shù)據(jù)的理解程度,更加準(zhǔn)確有效地指導(dǎo)了建模過(guò)程。
自動(dòng)知識(shí)獲取不僅可以直接從領(lǐng)域原始信息總學(xué)習(xí)到知識(shí),還能從系統(tǒng)自身的運(yùn)行實(shí)踐中總結(jié)、歸納出新的知識(shí)。隨著知識(shí)獲取技術(shù)研究的日益深入,自動(dòng)知識(shí)獲取正成為決策支持系統(tǒng)獲取知識(shí)的強(qiáng)有力工具。計(jì)算機(jī)沒(méi)有人類的創(chuàng)造性思維,而人依賴計(jì)算機(jī)即時(shí)有效地大數(shù)據(jù)處理能力,可視化技術(shù)可以顯示數(shù)據(jù)或信息的特性,直觀理解和提取知識(shí),從而更好地實(shí)現(xiàn)知識(shí)的自動(dòng)獲取。
[1] EA Feigenbaum.Expert systems in the 1980s[R]. State of the Art Report on Machine intelligence,1981.
[2] Ahmed Rafea,Hesham Hassen,Maryam Hazman.Automatic knowledge acquisition tool for irrigation and fertilization expert systems[J]. Expert Systems with Application,2003,24:49-57.
[3] Wang Deji, Li Mincheng, Xiong Fanlun. Web information clustering by personal search engine based on SVM[J]. Asian Journal of Information Technology, 2006,5(3):312-316.
[4] Mannini P, Genovesi R, Letterio T. IRRINET: large scale DSS application for on-farm irrigation scheduling[J]. Procedia Env. Sci., 2013,19:823-829.
[5] 何欽銘,王申康. 機(jī)器學(xué)習(xí)和知識(shí)獲取[M]. 杭州:浙江大學(xué)出版社,1997:215-287.
[6] Dominik Sacha, Andreas Stoffel, Florian Stoffel, et al. Knowledge generation model for visual analytics[C]∥ IEEE Transactions on Visualization and Computer Graphics, 2014.
[7] Frederick Hayes-Roth,Donald A Waterman Douglas, B Lenat. Building expert system[Z]. Addison-Wesley Publishing Company,Inc.,1983.
[8] Michael Friendly. Milestones in the history of thematic cartography, statistical graphics, and data visualization,2008[Z].
[9] Card SK, Mackinlay JD, Shneiderman B. Readings in information visualization: using vision to think[M]. San Francisco: Morgan-Kaufmann Publishers, 1999.
[10] Eppler M J, Burkard R A. Knowledge visualization, towards a new discipline and its fields of Application, ICA Working Paper#2/2004[R]. Lugano: University of Lugano, 2004.
[11] 趙國(guó)慶.知識(shí)可視化2004定義的分析與修訂[J].電化教育研究,2009,(3):15-18.
[12] Ren L. Research on interaction techniques in information visualization[D]. Beijing: The Chinese Academy of Sciences,2009.