張 宇 郭文忠 林 森* 文朝武 龍潔花
(1吉林農(nóng)業(yè)大學信息技術(shù)學院,吉林長春 130118;2北京農(nóng)業(yè)智能裝備技術(shù)研究中心,北京 100097)
隨著物聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能等技術(shù)的快速發(fā)展,我國農(nóng)業(yè)經(jīng)歷了傳統(tǒng)農(nóng)業(yè)、半自動化農(nóng)業(yè)、機械化農(nóng)業(yè)到現(xiàn)在的智慧農(nóng)業(yè)階段。智慧農(nóng)業(yè)的發(fā)展需要將互聯(lián)網(wǎng)、大數(shù)據(jù)、云計算和人工智能等現(xiàn)代技術(shù)與農(nóng)業(yè)深度融合,從而實現(xiàn)現(xiàn)代信息感知、定量決策、精準灌溉的全新農(nóng)業(yè)生產(chǎn)方式。中國作為農(nóng)業(yè)大國,作物品種豐富。與其他作物相比,草莓適應(yīng)性強、結(jié)果早、成熟早、投資少、見效快,是提高農(nóng)民經(jīng)濟收入的一種重要農(nóng)作物[1-8]。2017年我國草莓種植面積達14.13萬 hm2,年產(chǎn)量375.30萬t[9],草莓產(chǎn)業(yè)從業(yè)人員達到350萬人。目前,國內(nèi)外的草莓品種較多,關(guān)于草莓的信息數(shù)據(jù)量較大,大量的書籍、論文、報刊、網(wǎng)絡(luò)文獻等資料對草莓均有記載,但僅限于文字,查閱資料和文獻需要大量時間,所以將這些知識以簡單、高效的方式展示給草莓種植者具有重要意義。
知識圖譜(knowledge graph,KG)是以圖的形式表現(xiàn)客觀世界中的實體(概念、人、事物)及其之間關(guān)系的知識庫[10-14]。知識圖譜通常使用RDF模式來表達數(shù)據(jù)中的語義,受到了國內(nèi)外學者的熱捧,并已經(jīng)應(yīng)用到智能問答、輔助決策和大數(shù)據(jù)分析等方面[15],是智慧農(nóng)業(yè)發(fā)展必不可少的技術(shù)之一。
本文借助知識圖譜構(gòu)建技術(shù),采用自頂向下的方式構(gòu)建草莓種植管理知識圖譜。通過圖結(jié)構(gòu)方式將草莓種植管理知識高效、準確地提供給種植者,以節(jié)約大量查閱資料、閱讀書籍時間。
知識圖譜并非突然出現(xiàn)的新技術(shù),而是很多技術(shù)在發(fā)展中相互影響和繼承的結(jié)果,在20世紀70年代,就有研究者提出了知識圖譜的早期理念Semantic Networks[16-17],后來又相繼提出本體(Ontology)、Web、The Semantic Web、Linked Data。直到 2012 年,谷歌公司正式推出了知識圖譜搜索引擎服務(wù),大大提升了搜索的速度和質(zhì)量。隨后知識圖譜在輔助智能問答、自然語言理解、大數(shù)據(jù)分析、智能決策、人工智能、電商領(lǐng)域、醫(yī)療領(lǐng)域以及金融領(lǐng)域等方面展現(xiàn)出了豐富的應(yīng)用價值。
吳賽賽等[18]提出一種基于深度學習的作物病蟲害知識圖譜構(gòu)建方法,將抽取的知識存儲到Neo4j圖數(shù)據(jù)庫中,能直觀反映知識圖譜內(nèi)部結(jié)構(gòu),實現(xiàn)知識可視化和知識推理。該研究構(gòu)建的結(jié)構(gòu)化知識圖譜可以為作物病蟲害智能問答系統(tǒng)、推薦系統(tǒng)、智能搜索等下游應(yīng)用提供高質(zhì)量的知識庫基礎(chǔ)。袁培森等[19]針對水稻表型知識圖譜中的實體關(guān)系抽取問題提出了一種基于本體論對水稻基因、環(huán)境、表型等表型組學實體進行關(guān)系分類的方法。試驗結(jié)果表明,BERT模型的精確率達到了95.10%。劉寶珠等[10]針對RDF圖和屬性圖的不同數(shù)據(jù)管理、不統(tǒng)一的數(shù)據(jù)模式和查詢語言限制了知識圖譜的廣泛應(yīng)用,提出了KGDB(knowledge graph database)是統(tǒng)一模型和語言的知識圖譜數(shù)據(jù)庫管理系統(tǒng)。試驗結(jié)果表明,KGDB平均比gStore和Neo4j節(jié)省了30%的存儲空間,同時提高了2個數(shù)量級的查詢速度。杜志強等[20]針對“數(shù)據(jù)—信息—知識”轉(zhuǎn)化能力的不足,提出了自頂向下和自底向上相結(jié)合的自然災害應(yīng)急知識圖譜構(gòu)建方法,最后以洪澇災害應(yīng)急知識圖譜為例驗證。結(jié)果表明,該方法能夠形式化表達概念層關(guān)系及要素屬性、要素間語義的關(guān)系,實現(xiàn)了從多源數(shù)據(jù)到互聯(lián)知識的轉(zhuǎn)化。
Zeb等[21]針對KG嵌入模型無法捕獲節(jié)點附近存在的有用信息,提出了一種新的KG嵌入學習框架。該框架由雙加權(quán)圖卷積網(wǎng)絡(luò)的編碼器和新型全表達張量分解模型的解碼器組成,以準確建模三元組。試驗結(jié)果表明,該框架在最近的標準鏈路預測數(shù)據(jù)集上的性能明顯增強。Adibelli等[22]提出一種基于圖表的知識圖譜,將實現(xiàn)各種信息來源之間的迅速集成,主要通過從各種異構(gòu)來源提取的信息邊緣連接它們,從而捕獲了各種不同實體之間的關(guān)系。Tiwari等[23]提出一種強化學習框架中的遠程意識獎勵,為不同的職位分配不同的獎勵。此方法集成了圖自關(guān)注(GSA)機制,從相鄰實體和關(guān)系中捕獲更全面的實體信息,結(jié)合GSA機制和GRU讓模型記住路徑。試驗結(jié)果表明,此模型可以顯著降低問題的復雜性,并且為每個關(guān)系挖掘更平衡的路徑。Kim等[24]提出了一種基于無監(jiān)督學習的開放信息提?。∣penIE)系統(tǒng),該系統(tǒng)不需要預先構(gòu)建數(shù)據(jù)集,從大量的文本文檔中獲取知識,并添加到現(xiàn)有的知識圖譜中。試驗結(jié)果表明,Co-BERT模型的掩碼預測精度和顯式排序得分明顯優(yōu)于原始BERT模型。
目前,尚無針對作物栽培管理的知識圖譜,本文從種植者角度出發(fā),提出采用Neo4j構(gòu)建草莓種植管理知識圖譜,旨在為種植者提供一種高效快速查詢草莓栽培管理知識的方式。Neo4j數(shù)據(jù)庫是一種以圖形式來存儲信息的非關(guān)系存儲數(shù)據(jù)庫。相比于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,Neo4j數(shù)據(jù)庫為節(jié)點、節(jié)點屬性、邊以及邊屬性等設(shè)計了一種特殊的存儲方案,可以有效解決農(nóng)業(yè)特殊性、開放數(shù)據(jù)共享、農(nóng)業(yè)數(shù)據(jù)繁雜和農(nóng)業(yè)知識獲取等問題。相比傳統(tǒng)數(shù)據(jù)格式,Neo4j數(shù)據(jù)庫信息更加直觀,而且使用Cypher語言查詢時,不需要復雜的連接運算。Cypher的查詢效率不會隨著數(shù)據(jù)的增加而降低。因此,本文將構(gòu)建一種基于Neo4j的草莓種植管理知識圖譜。
本文中知識圖譜的構(gòu)建使用的是Mac 3.5.4版本的Neo4j,電腦為 MacBook Pro,處理器為2.6 GHz六核Intel Core i7,操作系統(tǒng)為macOS Big Sur,驗證語言為Cypher語言。
本文利用實體、關(guān)系抽取進行知識獲取,然后構(gòu)建知識模式層次,最后依次將實體、屬性和關(guān)系導入Neo4j圖數(shù)據(jù)庫中。構(gòu)建流程如圖1所示,包括知識獲取、構(gòu)建圖譜、知識更新及圖譜應(yīng)用等4個步驟。
關(guān)于草莓的知識信息數(shù)據(jù)來源廣泛,本文的草莓知識來源于文獻[25-27]、專家(北京市農(nóng)林科學院研究員、中國農(nóng)業(yè)科學院碩士)、網(wǎng)頁和書籍等,最終獲取了87個草莓品種、5種繁殖方式、6個生育時期以及22種常見病害等信息。第1步,對網(wǎng)頁數(shù)據(jù)進行手動篩選,以及文獻和專家所提供的信息進行半自動補充。但是,這些知識都以普通文本的方式表達,難以滿足知識圖譜構(gòu)建的結(jié)構(gòu)需求。第2步,基于遠程監(jiān)督方法[28]對篩選和補充的知識進行半自動實體識別和關(guān)系抽取。其中,得到實體和關(guān)系包括品種、產(chǎn)地、生育期、繁殖方式、描述、特點、一級序果重或畝產(chǎn)量、葉片常見病、常見病造成原因等。第3步,用第2步中的實體與關(guān)系構(gòu)建一個草莓知識結(jié)構(gòu)表。
構(gòu)建知識圖譜首先需要確定其骨架,即知識圖譜的數(shù)據(jù)結(jié)構(gòu)層次。常見的構(gòu)建方法包括自頂向下和自底向上的構(gòu)建方法:當涉及領(lǐng)域較為成熟、知識體系完備、涵蓋面廣時,采用自頂向下構(gòu)建方法;自底向上是基于數(shù)據(jù)驅(qū)動的構(gòu)建方法。知識圖譜很少與農(nóng)業(yè)領(lǐng)域相結(jié)合,所以本文利用的是自頂向下和自底向上相結(jié)合的構(gòu)建方法,如圖2所示。從獲取的草莓知識數(shù)據(jù)中抽取出實體、屬性及關(guān)系,構(gòu)建模式層。當有草莓知識更新或者培育出新的草莓品種時,采用自底向上的方法更新知識圖譜。
構(gòu)建模式層以草莓為一級實體,以品種、常見病害、生育期、繁殖方式等二級實體作為草莓的屬性值,再以豐香、紅顏等三級實體作為品種的屬性值,以概述、特點等四級實體作為豐香的屬性值。實體與屬性值之間以“屬性是”的關(guān)系相連(圖3)。
目前,常見的知識存儲方式包括基于關(guān)系數(shù)據(jù)庫的存儲方案[29]、面向RDF的三元組數(shù)據(jù)庫[30]和圖數(shù)據(jù)庫等。因為關(guān)系數(shù)據(jù)庫是利用知識之間的關(guān)系進行存儲,所以基于關(guān)系數(shù)據(jù)庫的存儲方式也是目前主要的一種知識存儲方法,包含三元組表[31]、水平表和屬性表。RDF被認定為是語義數(shù)據(jù)關(guān)聯(lián)的標準格式,也是Web上知識圖譜的主要數(shù)據(jù)格式之一。
本文將草莓生產(chǎn)管理知識以RDF三元組的形式呈現(xiàn)給用戶,使用戶清晰了解每個實體之間的相互關(guān)系。
3.3.1 知識的導入方法。目前,Neo4j數(shù)據(jù)庫知識導入方法有3種。第1種是Cypher語言中的CREATE語句??梢噪S時插入數(shù)據(jù)更新知識,但當遇到大規(guī)模數(shù)據(jù)時,會偶爾出現(xiàn)數(shù)據(jù)重復、缺漏、錯誤等問題。第2種是Cypher語言的Load.csv文件的導入,需要將csv文件放入Neo4j的安裝目錄import下,可選擇本地或者遠程導入,而且不支持即時更新。第3種是官方提供的Neo4j-admin import工具,這種方法占用資源少,但是需要脫機導入,且只適用于初始化導入。
本節(jié)基于2.1節(jié)知識獲取方法得到的數(shù)據(jù)規(guī)模及知識的更新狀況,選用Cypher語言中的CREATE語句以模塊化的構(gòu)建方式構(gòu)建草莓種植管理知識圖譜,因為模塊化Cypher語言中的CREATE語句有很強的靈活性。最后可以通過知識問答查詢方式為種植管理者提供有效知識。
3.3.2 模塊導入。第1步,構(gòu)建一級節(jié)點草莓;第2步,依據(jù)得到的知識數(shù)據(jù)分別構(gòu)建二級節(jié)點模塊,包括品種節(jié)點模塊、生育期節(jié)點模塊、繁殖方式節(jié)點模塊、常見病害節(jié)點模塊、灌溉節(jié)點模塊、施肥節(jié)點模塊、環(huán)境控制模塊以及常見病害的造成原因和防治方法模塊。Neo4j圖數(shù)據(jù)庫會為導入的每個節(jié)點自動分配一個整數(shù)ID,而且ID是隨著節(jié)點的導入順序自動遞增且唯一。現(xiàn)分別對每個模塊的構(gòu)建進行詳細介紹。
(1)品種節(jié)點模塊。品種節(jié)點模塊包含若干個三級節(jié)點,即不同品種草莓的名字,如豐香、章姬以及紅顏等。每個三級節(jié)點都包含節(jié)點的名字、產(chǎn)地、介紹以及特點等屬性。以豐香和紅顏節(jié)點導入為例,具體的CREATE語句如下:
CREATE(豐香:草莓{name:‘豐香’,nationality:‘日本’,introduce:‘休眠很淺,果實圓錐形,果肉淺紅色,硬度中等,鮮紅色、果面平整、有光澤,外觀艷麗,植株開花早,屬早熟品種。果實風味優(yōu),香甜適口,糖度高而穩(wěn)定,可溶性固形物含量11.25%,一級序果平均單果重達 25 g’,feature:‘抗旱、抗寒,果大,適應(yīng)性強,花期較能抵抗晚霜危害,抗病性極強,不耐長途運輸、不抗白粉病、授粉能力差、畸形果多、著色不良、長勢弱、繁殖系數(shù)低’})
CREATE(紅顏:草莓{name:‘章姬’,nationality:‘日本’,introduce:‘紅顏又稱紅頰,是日本靜岡縣用幸香與章姬雜交育成的早熟栽培品種良種,株態(tài)直立,葉片大,新莖分枝多,圓錐形,果面紅色、有光澤。果形、果色明顯優(yōu)于豐香,可溶性固形物含量11.8%,一級序果平均單果重26 g,最大單果重50 g以上’,feature:‘植株長勢強,易于栽培管理,連續(xù)結(jié)果能力強,葉綠、花白、果紅、味佳,豐產(chǎn)、品質(zhì)好、果個大,色紅、味甜、味濃。硬度大于所有日本品種,根系生長能力和吸收能力強,休眠淺,可抽發(fā)4次花序,各花序可連續(xù)開花結(jié)果,中間無斷檔,對炭疽病、灰霉病較敏感’})
構(gòu)建好模塊內(nèi)的節(jié)點后,需要建立節(jié)點之間的關(guān)系。本模塊中包括二級節(jié)點品種和豐香、章姬等三級節(jié)點,所以建立的是上下位關(guān)系。同樣以豐香和紅顏節(jié)點為例,具體的構(gòu)建語句為:
CREATE
(草莓)-[:Include]->(豐香),
(草莓)-[:Include]->(紅顏)
構(gòu)建好品種節(jié)點模塊后,輸入“MATCH n:草莓RETURN n”來查詢導入的品種數(shù)目是否與知識結(jié)構(gòu)表中的品種數(shù)目相同,是否與之匹配。
(2)生育期節(jié)點模塊。生育期節(jié)點模塊包含二級節(jié)點生育期和萌芽期、營養(yǎng)生長期、現(xiàn)蕾期、旺盛生長期、花芽分化期、休眠期等三級節(jié)點。每個三級節(jié)點中都有節(jié)點的名字和特點2個屬性。以旺盛生長期為例,具體的CREATE語句如下:
CREATE(生長旺盛期:生育期{name:‘生長旺盛期’,feature:‘植株開始旺盛營養(yǎng)生長時,腋芽萌發(fā)產(chǎn)生大量的匍匐莖,并按一定順序向上長葉、向下扎根,形成新的幼苗,少數(shù)腋芽形成新莖分枝,新莖基部相繼發(fā)根成苗’})
在導入節(jié)點后,下一步與(1)相同,建立節(jié)點之間的關(guān)系。同樣以生長旺盛期為例,具體語句為:
CREATE
(草莓)-[:Include]->(生育期),
(生育期)-[:Include]->(生長旺盛期)
(3)繁殖方式節(jié)點模塊。繁殖方式節(jié)點模塊包含二級節(jié)點繁殖方式和匍匐莖繁殖、母株分株繁殖、微繁殖、種子繁殖、脫毒組培苗繁殖等三級節(jié)點。每個三級節(jié)點中都有名字和介紹2個屬性。以匍匐莖繁殖為例,具體的CREATE語句如下:
CREATE(匍匐莖繁殖:繁殖方式{name:‘匍匐莖繁殖’,introduce:‘草莓在生長旺盛時期會抽生大量的匍匐莖,在匍匐莖上產(chǎn)生幼苗。利用這些匍匐莖幼苗進行繁殖,稱為匍匐莖繁殖。匍匐莖繁殖是在專用苗圃中進行的’,feature:‘繁殖系數(shù)高;秧苗質(zhì)量高;有利于輪作,克服重茬;有利于減少病蟲害’})
導入此模塊所有三級節(jié)點后,下一步也需要構(gòu)建節(jié)點之間的關(guān)系。同樣以匍匐莖繁殖為例,具體語句為:
CREATE
(草莓)-[:Include]->(繁殖方式),
(繁殖方式)-[:Include]->(匍匐莖繁殖)
(4)常見病害節(jié)點模塊。常見病害節(jié)點模塊包含二級節(jié)點常見病害和紅蜘蛛、白粉病等三級節(jié)點。每個三級節(jié)點都有名字和發(fā)病特點2個屬性。以白粉病為例,具體的CREATE語句為:
CREATE(白粉?。撼R姴『name:‘白粉病’,發(fā)病特點:‘葉背面出現(xiàn)白色菌絲體;葉片向上卷曲呈湯匙狀;葉背面出現(xiàn)白色粉狀物;暗色污斑;多個病斑連接成片;病斑布滿葉片,葉緣萎縮,焦枯;花蕾不能開放;花瓣呈粉紅色;幼果不能正常膨大,干枯;果實有大量白粉,失去商品價值’})
導入此模塊所有三級節(jié)點后,下一步也需構(gòu)建節(jié)點之間的關(guān)系。同樣以白粉病為例,具體語句為:
CREATE
(草莓)-[:Include]->(常見病害),
(常見病害)-[:Include]->(白粉?。?/p>
(5)常見病害的造成原因節(jié)點模塊。常見病害的造成原因節(jié)點模塊包含二級節(jié)點造成因素和因素1、2等三級節(jié)點。以因素1為例,具體的CREATE語句為:
CREATE(因素 1:造成因素{name:‘因素 1’,概述:‘土壤水分含量過低;土壤次生鹽漬化導致生理性缺水;根系發(fā)育不良’})
導入此模塊所有三級節(jié)點后,下一步也需構(gòu)建節(jié)點之間的關(guān)系。同樣以因素1為例,具體語句為:
CREATE
(造成因素)-[:Cause]->(常見病害),
(造成因素)-[:Include]->(因素 1)
(6)常見病害的防治方法節(jié)點模塊。此模塊包含二級節(jié)點解決辦法和方法1、2等三級節(jié)點。以方法1和方法2為例,具體的CREATE語句為:
CREATE(方法 1:解決方法 {name:‘方法 1’,概述:‘合理水分管理;增施有機肥,改良土壤結(jié)構(gòu);農(nóng)用灌水,淋洗土壤;合理輪作,生物除鹽;正確使用遮陽網(wǎng);化學藥劑防治’})
CREATE(方法 2:解決方法{name:‘方法 2’,概述:‘農(nóng)業(yè)防治:選擇抗病品種;合理肥水管理;合理密植;加強日常管理。物理防治:調(diào)節(jié)棚室內(nèi)溫、濕度;增加透光性?;瘜W防治:藥劑熏蒸;合理噴施化學殺菌劑’})
其中,為了方便構(gòu)建節(jié)點之間的關(guān)系,將解決方法與常見病害按列表一一對應(yīng)。同樣以方法1和方法2為例,具體語句為:
CREATE
(解決方法)-[:Way]->(常見病害),
(解決方法)-[:Include]->(方法 1),
(解決方法)-[:Include]->(方法 2)
(7)灌溉節(jié)點模塊。此節(jié)點包括二級節(jié)點灌溉和萌芽期灌溉、營養(yǎng)生長期灌溉等三級節(jié)點。以營養(yǎng)生長期灌溉為例,具體的CREATE語句為:
CREATE(營養(yǎng)生長期灌溉:灌溉{name:‘營養(yǎng)生長期灌溉’,概述:‘營養(yǎng)生長及后面時間宜每天早上在日出時灌溉1次,之后輻射量每積累600 J/cm2,補充灌溉基準灌溉量的20%。根據(jù)天氣狀況和植株吐水狀況進行調(diào)整。進行植株管理后的第2天,營養(yǎng)生長期以葉片是否吐水作為調(diào)整灌溉的依據(jù),果期可以適當控水,不能完全以吐水為指標,基質(zhì)排液不要超過最大溢流量’})
導入此模塊的節(jié)點之后,下一步也需要構(gòu)建節(jié)點之間的關(guān)系,而此模塊的三級節(jié)點與生育期模塊的三級節(jié)點一一對應(yīng)。同樣以營養(yǎng)生長期灌溉為例,具體的語句為:
CREATE
(草莓)-[:Include]->(灌溉),
(灌溉)-[:Include]->(營養(yǎng)生長期灌溉),
(營養(yǎng)生長期)-[:灌溉]->(營養(yǎng)生長期灌溉)
(8)施肥節(jié)點模塊。此節(jié)點包括二級節(jié)點施肥和萌芽期施肥、營養(yǎng)生長期施肥等三級節(jié)點。以營養(yǎng)生長期施肥為例,具體的CREATE語句為:
CREATE(營養(yǎng)生長期施肥:施肥{name:‘營養(yǎng)生長期施肥’,概述:‘草莓營養(yǎng)生長時期,需要補充三大營養(yǎng)元素(氮、磷、鉀)、中微量元素和生根、養(yǎng)根、護根類產(chǎn)品,促進花芽分化。開花前10 d沖施植倍健高磷型水溶肥,以達到促進花芽分化的目的。此階段要補充硼、鈣等中微量元素防止缺素癥的發(fā)生,配合施用氨基酸葉面肥以補充葉面營養(yǎng)’})
導入此模塊的節(jié)點之后,下一步也需要構(gòu)建節(jié)點之間的關(guān)系,而此模塊的三級節(jié)點與生育期模塊的三級節(jié)點一一對應(yīng)。同樣以營養(yǎng)生長期施肥為例,具體的語句為:
CREATE
(草莓)-[:Include]->(施肥),
(施肥)-[:Include]->(營養(yǎng)生長期施肥),
(營養(yǎng)生長期)-[:施肥]->(營養(yǎng)生長期施肥)
(9)環(huán)境控制模塊。此節(jié)點包括二級節(jié)點環(huán)境控制和溫度環(huán)境控制、光照環(huán)境控制等三級節(jié)點。以溫度環(huán)境控制為例,具體的CREATE語句為:
CREATE(溫度環(huán)境控制:環(huán)境控制{name:‘溫度環(huán)境控制’,概述:‘草莓根系生長溫度5~30℃,適溫15~22℃,莖葉生長適溫為20~30℃,芽在-15~10℃發(fā)生凍害,花芽分化期溫度須保持5~15℃,開花結(jié)果期4~40℃。草莓越夏時,氣溫高于30℃并且日照強時,需采取遮陰措施’})
導入此模塊的節(jié)點之后,下一步也需要構(gòu)建節(jié)點之間的關(guān)系。同樣以溫度環(huán)境控制為例,具體的語句為:
CREATE
(草莓)-[:Include]->(環(huán)境控制),
(環(huán)境控制)-[:Tempreture]->(溫度環(huán)境控制)
由以上模塊構(gòu)建后相結(jié)合組成初步構(gòu)建好的草莓種植管理知識圖譜,如圖4所示。
構(gòu)建草莓種植管理知識圖譜的目的是讓更多學者方便、快速了解草莓知識,但是本知識圖譜的內(nèi)容可能無法包含所有的草莓品種以及與草莓相關(guān)的知識,而且隨著科技發(fā)展,會出現(xiàn)越來越多的草莓品種。本文所選用的知識導入方法的最大好處就是可以隨時更新知識,可以實現(xiàn)更新的知識第一時間出現(xiàn)在知識圖譜中。
本文構(gòu)建的知識圖譜中刪減、更新內(nèi)容是利用從底到端的方式進行的,一步一步逐層進行,防止刪除正確的知識或者導入更新知識導致關(guān)系構(gòu)建錯誤。
3.5.1 Cypher語言查詢驗證。完成草莓知識圖譜構(gòu)建后,利用Cypher語言對知識圖譜進行驗證。因為本文是關(guān)于草莓的知識圖譜,所以主要是草莓知識的查詢應(yīng)用,下面舉例介紹。
查詢草莓品種的名字以及哪些品種產(chǎn)地為中國:
MATCH(n:草莓)
RETURN n.name
CASE n.nationality
WHEN′中國′
THEN 1
ELSE 2 END AS result
上述語句為查詢圖譜中所有草莓的品種名字,并且標記出產(chǎn)地為中國的草莓,標記為1,其他產(chǎn)地的標記為2。查詢結(jié)果如圖5所示。查詢時間僅需32 ms,即可得到準確的草莓產(chǎn)地信息。其中,圖中若result=1,說明第一行草莓的產(chǎn)地是中國;如果result=2,說明第一行草莓的產(chǎn)地為其他國家。
查詢草莓白粉病以及白粉病的防治方法:
match(p:常見病害{name:"白粉病"})return p 或者 match(p:常見病害)where p1.name="白粉病" return p1;
match(p1)-[:WAY]->(缺鋅癥:常見病害{name:‘缺鋅癥’})return p1.概述
查詢結(jié)果如圖6所示,查詢時間僅需22 ms,要比其他查詢方法節(jié)省很多時間。
查詢營養(yǎng)生長期的特點:
match(p:生育期{name:"營養(yǎng)生長期"})return p.feature 或者 match(p:生育期)where p1.name="營養(yǎng)生長期" return p1.feature
查詢結(jié)果如圖7所示,查詢時間僅需21 ms。
通過上述的一些舉例,本文構(gòu)建的知識圖譜可以利用Cypher語言查詢到使用者需要的草莓知識,查詢效率高于網(wǎng)絡(luò)查詢和書籍查閱,而且想要查詢的內(nèi)容消息都是最新更新的,準確率也較高。
3.5.2 對比驗證。本節(jié)針對不同使用人群通過使用不同查詢途徑做了試驗對比。具體使用人群為種植農(nóng)戶、農(nóng)學學者以及普通用戶,本文從中各選擇了2位;傳統(tǒng)查詢途徑包括文獻、書籍以及網(wǎng)絡(luò);測評標準包括時間、準確率以及全面性。其中,時間定義為用戶使用不同方法查詢到結(jié)果的使用時間;準確度定義為由草莓種植專家對每個用戶查詢得到的知識進行的準確性評價;全面性定義為某個查詢方法的知識庫的內(nèi)容是否全面,知識是否能滿足使用人群的需要。現(xiàn)以草莓常見病害的查詢?yōu)槔?,將傳統(tǒng)查詢方法與基于Neo4j知識圖譜查詢方法對比,結(jié)果見表1。
在調(diào)查過程中發(fā)現(xiàn),不同使用人群的查詢習慣不同。比如,種植用戶通過網(wǎng)絡(luò)去查詢或詢問有經(jīng)驗的種植者;而農(nóng)學學者通過知識圖譜查詢方式進行文獻和書籍查詢;普通用戶使用網(wǎng)絡(luò)和文獻相結(jié)合的方法查詢。
從表1可以看出,在查詢時間上,基于Neo4j知識圖譜查詢方式占據(jù)了絕對的優(yōu)勢;在準確率上,種植農(nóng)戶和農(nóng)學學者傳統(tǒng)查詢方式準確率要高于知識圖譜查詢方式,但是知識圖譜查詢方式的平均準確率要高于傳統(tǒng)查詢方式;從全面性來看,知識圖譜查詢方式處于劣勢,因為Neo4j知識庫初步構(gòu)建,需要經(jīng)過不斷完善。從總體考慮,Neo4j可以作為一個新型的知識庫逐漸代替?zhèn)鹘y(tǒng)的知識庫。
表1 草莓常見病害不同查詢方式對比
本文在構(gòu)建知識圖譜過程中,遇到了一些不可避免的問題。一是在構(gòu)建知識圖譜時,利用csv文件將草莓知識進行分類,用loadcsv方式將csv文件導入Neo4j中,但發(fā)現(xiàn)如何對知識結(jié)構(gòu)進行整理是一大難題,因為一級、二級、三級節(jié)點以及它們的屬性各自交叉,因而對草莓知識的整理不是那么理想。二是采用CREATE語句構(gòu)建時,發(fā)現(xiàn)語句頗為繁瑣,而且當導入大量語句時,會出現(xiàn)導入速度緩慢問題。
本研究提出了一種基于Neo4j的草莓知識圖譜,該方法根據(jù)草莓知識的特征,在實體的基礎(chǔ)上對半結(jié)構(gòu)化和非結(jié)構(gòu)化知識進行半自動抽取,并利用CREATE語句將知識圖譜存儲于Neo4j圖數(shù)據(jù)庫中,實現(xiàn)實體交互關(guān)系的可視化展示和研究應(yīng)用。該知識圖譜在農(nóng)業(yè)智能問答、草莓栽培決策和草莓栽培數(shù)據(jù)分析等方面得到應(yīng)用。
本文采用的是自頂而下與由下而上相結(jié)合的模塊化構(gòu)建方式,完成了知識的導入和關(guān)系的構(gòu)建,確定了清晰的邏輯層次,彌補了CREATE語句導入大數(shù)據(jù)速度慢的缺點,精準度較高。模塊化不僅提高了導入效率,還解決了速度緩慢的問題。
本文初步構(gòu)建了草莓種植管理知識圖譜,但仍然有著很大的改進空間,未來可以在導入方式、知識抽取、自動更新甚至自動推理新品種等方面進行研究。隨著網(wǎng)絡(luò)數(shù)據(jù)不斷更新,需要對知識圖譜知識進行及時更新和補充,通過知識融合、知識推理等技術(shù),實現(xiàn)知識圖譜的自動更新。