汪嘉珮 熊曉亮 蔡旭 邵彎 劉俊麗
摘?要:本文針對(duì)潛江龍蝦養(yǎng)殖領(lǐng)域知識(shí)分散和資源利用率低等問(wèn)題,通過(guò)研究知識(shí)圖譜關(guān)鍵技術(shù),應(yīng)用知識(shí)圖譜相關(guān)技術(shù)來(lái)構(gòu)建潛江小龍蝦產(chǎn)業(yè)知識(shí)庫(kù),目的是幫助龍蝦養(yǎng)殖戶(hù)提供養(yǎng)殖技術(shù);為客戶(hù)、散戶(hù)提供龍蝦方面知識(shí)庫(kù),解決養(yǎng)殖戶(hù)查詢(xún)知識(shí)困難,客戶(hù)選擇產(chǎn)品獲取信息困難的問(wèn)題;同時(shí),該研究可以應(yīng)用于產(chǎn)品推薦系統(tǒng)中幫助客戶(hù)進(jìn)行選購(gòu)方案決策。
關(guān)鍵詞:Neo4j;潛江龍蝦養(yǎng)殖;知識(shí)圖譜;網(wǎng)絡(luò)爬蟲(chóng);數(shù)據(jù)可視化
0 引 言
湖北潛江市漁業(yè)養(yǎng)殖近幾年來(lái)不斷發(fā)展,整體產(chǎn)業(yè)規(guī)模不斷增大,養(yǎng)殖面積不斷提高,主產(chǎn)區(qū)明顯聚焦,產(chǎn)量快速增長(zhǎng),同時(shí),養(yǎng)殖戶(hù)所面臨的技術(shù)問(wèn)題也越來(lái)越復(fù)雜,潛江小龍蝦在養(yǎng)殖的過(guò)程中所需要的養(yǎng)殖技術(shù)、面臨的病害難癥如果不能被及時(shí)解決,即使每年高校有大量水產(chǎn)專(zhuān)業(yè)的畢業(yè)生會(huì)去往潛江養(yǎng)殖基地就業(yè),但是應(yīng)屆生技術(shù)經(jīng)驗(yàn)薄弱,之前在校的實(shí)踐機(jī)遇比較少,書(shū)本上的知識(shí)更新速度是跟不上養(yǎng)殖的大環(huán)境發(fā)展的速度的,這樣能夠指導(dǎo)養(yǎng)殖的人才是比較欠缺的,容易造成在養(yǎng)殖環(huán)節(jié)理論與實(shí)踐脫節(jié);為了龍蝦養(yǎng)殖方面的知識(shí)普及,本文將采用知識(shí)圖譜構(gòu)建龍蝦養(yǎng)殖方面的知識(shí)庫(kù),其中包括養(yǎng)殖方面的常識(shí)知識(shí)、養(yǎng)殖技術(shù)、防病防害技術(shù)。
1 知識(shí)圖譜
“知識(shí)圖譜”最起始為谷歌知識(shí)搜索功能的產(chǎn)品名稱(chēng),被學(xué)術(shù)界和工業(yè)界廣泛使用,成為各類(lèi)結(jié)構(gòu)化知識(shí)庫(kù)的統(tǒng)稱(chēng)。知識(shí)圖譜,就是將人類(lèi)知識(shí)結(jié)構(gòu)化形成的知識(shí)系統(tǒng),其中包括基本事實(shí)、通過(guò)規(guī)則和其他有關(guān)的結(jié)構(gòu)化信息,可用于信息檢索、推理決策等智能任務(wù)。知識(shí)圖譜是人工智能研究和智能信息服務(wù)的基礎(chǔ)核心技術(shù),能夠賦予智能體精準(zhǔn)查詢(xún)、深度理解與邏輯推理等能力,被廣泛運(yùn)用于搜索引擎、問(wèn)答系統(tǒng)、智能對(duì)話(huà)系統(tǒng)及個(gè)性化推薦等知識(shí)驅(qū)動(dòng)的任務(wù)。按照類(lèi)型劃分,知識(shí)圖譜可以包含語(yǔ)言知識(shí)、常識(shí)知識(shí)、世界知識(shí)、認(rèn)知知識(shí)、專(zhuān)業(yè)知識(shí)等,知識(shí)圖譜的特點(diǎn)是結(jié)構(gòu)化,一般用三元組形式表示不同元素間的負(fù)責(zé)關(guān)系,從而形成一個(gè)復(fù)雜的網(wǎng)絡(luò)。
三元組作為知識(shí)圖譜的核心其表達(dá)形式分別為< 實(shí)體 1,關(guān)系,實(shí)體 2> 和< 實(shí)體,屬性,屬性值> ,以表示實(shí)體之間關(guān)系和實(shí)體的特征。用實(shí)體“潛江龍蝦”作例子,其種類(lèi)包括“潛江龍蝦小青2-4、潛江龍蝦中青4-6、潛江龍蝦大青6-8、潛江龍蝦蝦苗、湖北潛江伊東藻、潛江螃蟹”。其中< 實(shí)體 1,關(guān)系,實(shí)體 2> 對(duì)應(yīng)< 潛江龍蝦,種類(lèi),潛江龍蝦小青2-4> ,< 實(shí)體,屬性,屬性值> 對(duì)應(yīng)< 潛江龍蝦,繁殖季節(jié),全年> 。
2 Neo4j 圖數(shù)據(jù)庫(kù)
Neo4j 是基于 Java 的可視化良好的開(kāi)源 NoSLQ 非關(guān)系型數(shù)據(jù)庫(kù),存儲(chǔ)結(jié)構(gòu)為圖形結(jié)構(gòu),由節(jié)點(diǎn)、關(guān)系和屬性組成,以實(shí)體表示節(jié)點(diǎn),實(shí)體間的關(guān)系表示鏈接節(jié)點(diǎn)的有向邊,屬性為節(jié)點(diǎn)和關(guān)系提供具體信息[5]。可以有效解決農(nóng)業(yè)特殊性、開(kāi)放數(shù)據(jù)共享、農(nóng)業(yè)數(shù)據(jù)繁雜和農(nóng)業(yè)知識(shí)獲取等問(wèn)題。相比傳統(tǒng)數(shù)據(jù)格式,Neo4j數(shù)據(jù)庫(kù)信息更加直觀,而且使用Cypher語(yǔ)言查詢(xún)時(shí),不需要復(fù)雜的連接運(yùn)算。Cypher的查詢(xún)效率不會(huì)隨著數(shù)據(jù)的增加而降低。因此,本文將構(gòu)建一種基于Neo4j的潛江龍蝦管理知識(shí)圖譜。
3 潛江漁類(lèi)技術(shù)知識(shí)圖譜問(wèn)題的構(gòu)建
本文中知識(shí)圖譜的繪制用Mac系統(tǒng)版本的Neo4j,電腦為Mac Book Pro,處理器為2.6 GHz六核Intel Core i7,操作系統(tǒng)為mac OS Big Sur,驗(yàn)證語(yǔ)言為Cypher語(yǔ)言。通過(guò)知識(shí)獲取、構(gòu)建圖譜、知識(shí)圖譜更新及知識(shí)圖譜應(yīng)用等4個(gè)步驟。將數(shù)據(jù)導(dǎo)入Neo4j圖數(shù)據(jù)庫(kù)中。
3.1模式層設(shè)計(jì)與構(gòu)建
本文的數(shù)據(jù)源主要從潛江小龍蝦苗四寶水產(chǎn)網(wǎng)www.qjsbsc.com.cn、潛江小龍蝦源頭養(yǎng)殖基地網(wǎng)www.zqylp.com,定義了276 個(gè)實(shí)體,304 個(gè)關(guān)系。
3.2數(shù)據(jù)層設(shè)計(jì)與構(gòu)建
數(shù)據(jù)層的構(gòu)建包含各大實(shí)體類(lèi)、屬性及實(shí)體間的關(guān)系。
構(gòu)建模式層以龍蝦為一級(jí)實(shí)體,以品種、常見(jiàn)病害、生育期、繁殖方式等二級(jí)實(shí)體作為小龍蝦的屬性值,再以小青中青、大青大紅等三級(jí)實(shí)體作為品種的屬性值,以概述、特點(diǎn)等四級(jí)實(shí)體作為“小青中青、大青大紅”的屬性值。二級(jí)節(jié)點(diǎn)以水位管理技術(shù)、
4 知識(shí)存儲(chǔ)
本文將采用 Neo4j 來(lái)進(jìn)行知識(shí)存儲(chǔ)。Neo4j 有三種知識(shí)導(dǎo)入方法:Cypyer 語(yǔ)法創(chuàng)建法、Load 命令導(dǎo)入法和 Shell 命令導(dǎo)入法。
4.1 知識(shí)的導(dǎo)入方法。
Neo4j數(shù)據(jù)庫(kù)知識(shí)導(dǎo)入3種方法之一是Cypher語(yǔ)言中的CREATE語(yǔ)句??梢噪S時(shí)插入數(shù)據(jù)更新知識(shí),但當(dāng)遇到大規(guī)模數(shù)據(jù)時(shí),會(huì)偶爾出現(xiàn)數(shù)據(jù)重復(fù)、缺漏、錯(cuò)誤等問(wèn)題。第2種是Cypher語(yǔ)言的Load.csv文件的導(dǎo)入,需要將csv文件放入Neo4j的安裝目錄import下,可選擇本地或者遠(yuǎn)程導(dǎo)入,而且不支持即時(shí)更新。第3種是官方提供的Neo4j-admin import工具,這種方法占用資源少,但是需要脫機(jī)導(dǎo)入,且只適用于初始化導(dǎo)入。
4.2 模塊導(dǎo)入。
第2步,依據(jù)得到的知識(shí)數(shù)據(jù)分別構(gòu)建二級(jí)節(jié)點(diǎn)模塊,包括品種節(jié)點(diǎn)模塊、生育周期節(jié)點(diǎn)模塊、繁殖方式節(jié)點(diǎn)模塊、常見(jiàn)病害節(jié)點(diǎn)模塊、飼養(yǎng)管理節(jié)點(diǎn)模塊、水稻田間管理節(jié)點(diǎn)模塊、小龍蝦苗間選擇與放養(yǎng)模塊以及水稻品種選擇和栽培模塊。
(1)品種節(jié)點(diǎn)模塊。品種節(jié)點(diǎn)模塊包含若干個(gè)三級(jí)節(jié)點(diǎn),即不同品種小龍蝦的名字,如小青、中青以及大青大紅等。每個(gè)三級(jí)節(jié)點(diǎn)都包含節(jié)點(diǎn)的名字、產(chǎn)地、介紹以及特點(diǎn)等屬性。發(fā)育全過(guò)程分為4個(gè)階段:幼體、幼蝦、成體、成蝦,以小青和大青大紅節(jié)點(diǎn)導(dǎo)入為例,具體的CREATE語(yǔ)句如下:
CREATE(大青大紅:小龍蝦{name:‘中青’,nationality:‘潛江’,introduce:‘大青大紅又稱(chēng)紅頰,幼蝦獨(dú)立生活,主要攝食浮游動(dòng)物,體長(zhǎng)1.0~3.0 cm;’})
本模塊中包括二級(jí)節(jié)點(diǎn)品種和小青、中青等三級(jí)節(jié)點(diǎn),所以建立的是上下位關(guān)系。同樣以小青和大青大紅節(jié)點(diǎn)為例,具體的構(gòu)建語(yǔ)句為:
CREATE
(小龍蝦)-[:Include]->(小青),
(小龍蝦)-[:Include]->(大青大紅)
構(gòu)建好品種節(jié)點(diǎn)模塊后,輸入“MATCH n:小龍蝦RETURN n”來(lái)查詢(xún)導(dǎo)入的品種數(shù)目是否與知識(shí)結(jié)構(gòu)表中的品種數(shù)目相同,是否與之匹配。
(2)生育期節(jié)點(diǎn)模塊。生育期節(jié)點(diǎn)模塊包含二級(jí)節(jié)點(diǎn)生育期和發(fā)育全過(guò)程分為4個(gè)階段:幼體、幼蝦、成體、成蝦等三級(jí)節(jié)點(diǎn)。
CREATE
(小龍蝦)-[:Include]->(生育期),
(生育期)-[:Include]->(幼體)
(3)繁殖方式節(jié)點(diǎn)模塊。繁殖方式節(jié)點(diǎn)模塊包含二級(jí)節(jié)點(diǎn)繁殖方式和脫殼管理、稻田管理、水位管理、水質(zhì)管理與日常巡查、防病除害等三級(jí)節(jié)點(diǎn)。每個(gè)三級(jí)節(jié)點(diǎn)中都有名字和介紹2個(gè)屬性。
(4)常見(jiàn)病害節(jié)點(diǎn)模塊。常見(jiàn)病害節(jié)點(diǎn)模塊包含二級(jí)節(jié)點(diǎn)常見(jiàn)病害和黑鰓病、爛鰓病、爛尾病、水霉病、纖毛蟲(chóng)病等三級(jí)節(jié)點(diǎn)。每個(gè)三級(jí)節(jié)點(diǎn)都有名字和發(fā)病特點(diǎn)2個(gè)屬性。
4.3 知識(shí)圖譜更新
構(gòu)建小龍蝦種植管理知識(shí)圖譜的目的是讓更多學(xué)者方便、快速了解小龍蝦知識(shí),但是本知識(shí)圖譜的內(nèi)容可能無(wú)法包含所有的小龍蝦品種以及與小龍蝦相關(guān)的知識(shí),而且隨著科技發(fā)展,會(huì)出現(xiàn)越來(lái)越多的小龍蝦品種。本文所選用的知識(shí)導(dǎo)入方法的最大好處就是可以隨時(shí)更新知識(shí),可以實(shí)現(xiàn)更新的知識(shí)第一時(shí)間出現(xiàn)在知識(shí)圖譜中。
本文構(gòu)建的知識(shí)圖譜中刪減、更新內(nèi)容是利用從底到端的方式進(jìn)行的,一步一步逐層進(jìn)行,防止刪除正確的知識(shí)或者導(dǎo)入更新知識(shí)導(dǎo)致關(guān)系構(gòu)建錯(cuò)誤。
4.4 知識(shí)圖譜的試驗(yàn)驗(yàn)證
4.4.1 Cypher語(yǔ)言查詢(xún)驗(yàn)證。完成小龍蝦知識(shí)圖譜構(gòu)
因?yàn)楸疚氖顷P(guān)于小龍蝦的知識(shí)圖譜,所以主要是小龍蝦知識(shí)的查詢(xún)應(yīng)用,下面舉例介紹。
查詢(xún)小龍蝦黑鰓病以及黑鰓病的防治方法:
match(p:常見(jiàn)病害{name:"黑鰓病"})return p或者match(p:常見(jiàn)病害)where p1.name="黑鰓病"return p1;
match(p1)-[:WAY]->(爛尾?。撼R?jiàn)病害{name:‘爛尾病’})return p1.概述
查詢(xún)結(jié)果如圖6所示,查詢(xún)時(shí)間僅需22 ms,要比其他查詢(xún)方法節(jié)省很多時(shí)間。
通過(guò)上述的一些舉例,本文構(gòu)建的知識(shí)圖譜可以利用Cypher語(yǔ)言查詢(xún)到使用者需要的小龍蝦知識(shí),查詢(xún)效率高于網(wǎng)絡(luò)查詢(xún)和書(shū)籍查閱,而且想要查詢(xún)的內(nèi)容消息都是最新更新的,準(zhǔn)確率也較高。
4.4.2 對(duì)比驗(yàn)證。
本節(jié)針對(duì)不同使用人群通過(guò)使用不同查詢(xún)途徑做了試驗(yàn)對(duì)比。具體使用人群為種植農(nóng)戶(hù)、農(nóng)學(xué)學(xué)者以及普通用戶(hù),本文從中各選擇了2位;測(cè)評(píng)標(biāo)準(zhǔn)包括時(shí)間、準(zhǔn)確率以及全面性。比如,種植用戶(hù)通過(guò)網(wǎng)絡(luò)去查詢(xún)或詢(xún)問(wèn)有經(jīng)驗(yàn)的種植者;而農(nóng)學(xué)學(xué)者通過(guò)知識(shí)圖譜查詢(xún)方式進(jìn)行文獻(xiàn)和書(shū)籍查詢(xún);普通用戶(hù)使用網(wǎng)絡(luò)和文獻(xiàn)相結(jié)合的方法查詢(xún)。在查詢(xún)時(shí)間上,基于Neo4j知識(shí)圖譜查詢(xún)方式占據(jù)了絕對(duì)的優(yōu)勢(shì);在準(zhǔn)確率上,種植農(nóng)戶(hù)和農(nóng)學(xué)學(xué)者傳統(tǒng)查詢(xún)方式準(zhǔn)確率要高于知識(shí)圖譜查詢(xún)方式,但是知識(shí)圖譜查詢(xún)方式的平均準(zhǔn)確率要高于傳統(tǒng)查詢(xún)方式;從全面性來(lái)看,知識(shí)圖譜查詢(xún)方式處于劣勢(shì),因?yàn)镹eo4j知識(shí)庫(kù)初步構(gòu)建,需要經(jīng)過(guò)不斷完善。從總體考慮,Neo4j可以作為一個(gè)新型的知識(shí)庫(kù)逐漸代替?zhèn)鹘y(tǒng)的知識(shí)庫(kù)。
4.5 存在的問(wèn)題
本文在構(gòu)建知識(shí)圖譜過(guò)程中,遇到了一些不可避免的問(wèn)題。一是在構(gòu)建知識(shí)圖譜時(shí),利用csv文件將小龍蝦知識(shí)進(jìn)行分類(lèi),用loadcsv方式將csv文件導(dǎo)入Neo4j中,但發(fā)現(xiàn)如何對(duì)知識(shí)結(jié)構(gòu)進(jìn)行整理是一大難題,因?yàn)橐患?jí)、二級(jí)、三級(jí)節(jié)點(diǎn)以及它們的屬性各自交叉,因而對(duì)小龍蝦知識(shí)的整理不是那么理想。二是采用CREATE語(yǔ)句構(gòu)建時(shí),發(fā)現(xiàn)語(yǔ)句頗為繁瑣,而且當(dāng)導(dǎo)入大量語(yǔ)句時(shí),會(huì)出現(xiàn)導(dǎo)入速度緩慢問(wèn)題。
5 潛江龍蝦養(yǎng)殖知識(shí)圖譜可視化展示
Shell 命令導(dǎo)入法使用 neo4j-admin import 工具進(jìn)行數(shù)據(jù)導(dǎo)入
6 結(jié)語(yǔ)與展望
本文初步設(shè)計(jì)了潛江龍蝦養(yǎng)殖領(lǐng)域語(yǔ)義類(lèi)型和語(yǔ)義關(guān)系,對(duì)知識(shí)圖譜技術(shù)、構(gòu)建流程和圖數(shù)據(jù)庫(kù)進(jìn)行了介紹,采用 Neo4j進(jìn)行知識(shí)存儲(chǔ),開(kāi)發(fā)了潛江龍蝦養(yǎng)殖領(lǐng)域知識(shí)圖譜可視化平臺(tái),實(shí)現(xiàn)了實(shí)體查詢(xún)功能,幫助養(yǎng)殖戶(hù)提高專(zhuān)業(yè)技術(shù)知識(shí),增加潛江龍蝦養(yǎng)殖領(lǐng)域信息資源利用率,并為潛江龍蝦領(lǐng)域知識(shí)圖譜系統(tǒng)研究奠定基礎(chǔ)。本文潛江龍蝦養(yǎng)殖數(shù)據(jù)為人工實(shí)體抽取,從多源異構(gòu)數(shù)據(jù)中自動(dòng)識(shí)別高精度實(shí)體仍是知識(shí)圖譜的最大難點(diǎn)之一。下一步將深入研究潛江龍蝦養(yǎng)殖領(lǐng)域的自動(dòng)實(shí)體抽取技術(shù),實(shí)現(xiàn)潛江龍蝦知識(shí)圖譜智能問(wèn)答等功能,為養(yǎng)殖戶(hù)提供更智能的信息獲取服務(wù)。
參考文獻(xiàn)
[1]周井娟.中國(guó)潛江龍蝦養(yǎng)殖業(yè)發(fā)展軌跡及技術(shù)變遷[J].中國(guó)農(nóng)學(xué)通報(bào),2016,32(8):22-29.
[2]Tong P, Zhang Q, Yao J. Leveraging Domain Context for Question Answering Over Knowledge Graph [J]. Data ence and Engineering, 2019, 4(4) : 323-335.
[3]婁國(guó)哲,王蘭成.基于知識(shí)圖譜的網(wǎng)絡(luò)輿情知識(shí)組織方法研究[J].
[4]情報(bào)理論與實(shí)踐,2019,42(1):58-64.
[5]袁培森,楊承林,宋玉紅,等.基于 Stacking 集成學(xué)習(xí)的水稻表型組學(xué)實(shí)體分類(lèi)研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2019,50(11):144-152.Shenshouer.Neo4j[EB/OL].[2016-05-21].http ://neo4j.org/.
[6]徐增林,盛泳潘,賀麗榮,等.知識(shí)圖譜技術(shù)綜述[J].電子科技大學(xué)學(xué)報(bào),2016,45(4):589-606.
作者簡(jiǎn)介:汪嘉珮(1995-),女,漢族,湖北省孝感市,碩士研究生,助教,研究方向:人工智能、計(jì)算機(jī)應(yīng)用。本文通訊作者:熊曉亮。
基金項(xiàng)目:武漢工商學(xué)院2021年校級(jí)科學(xué)研究項(xiàng)目“湖北省潛江市小龍蝦產(chǎn)業(yè)知識(shí)圖譜關(guān)鍵技術(shù)研究”(A2021015,主持人:汪嘉珮);