羅詩(shī)潔,曹曉蘭
(湖南農(nóng)業(yè)大學(xué)信息與智能科學(xué)技術(shù)學(xué)院,湖南 長(zhǎng)沙 410128)
隨著科學(xué)技術(shù)的與時(shí)俱進(jìn),人們?nèi)諠u習(xí)慣于依賴互聯(lián)網(wǎng)獲取知識(shí)和信息,而如何在海量的信息中高效準(zhǔn)確地找到目的信息成為信息獲取的難點(diǎn)[1]。知識(shí)圖譜用關(guān)系網(wǎng)絡(luò)覆蓋知識(shí),使信息變得富有條理性與直觀性,提供了全新的信息搜索方式[2]。因此,構(gòu)建領(lǐng)域知識(shí)圖譜,以可視化方式展示領(lǐng)域知識(shí),并將其應(yīng)用于領(lǐng)域知識(shí)管理與查詢平臺(tái)中,已成為當(dāng)前研究與應(yīng)用的熱點(diǎn)。葉帥、張娜、任玉琦分別構(gòu)建了煤礦領(lǐng)域、文物領(lǐng)域和CNKI中文醫(yī)學(xué)文獻(xiàn)領(lǐng)域的知識(shí)圖譜,并開發(fā)了相應(yīng)的領(lǐng)域知識(shí)圖譜系統(tǒng),實(shí)現(xiàn)該領(lǐng)域知識(shí)的管理、展示、查詢等功能[3-5];在農(nóng)林領(lǐng)域,王丹丹[6]構(gòu)建了寧夏水稻知識(shí)圖譜,并開發(fā)了寧夏水稻知識(shí)查詢實(shí)驗(yàn)系統(tǒng),通過該系統(tǒng)進(jìn)行水稻知識(shí)圖譜的可視化展示以及知識(shí)的查詢;檀穩(wěn)[7]構(gòu)建了植物知識(shí)圖譜,并開發(fā)了基于植物知識(shí)圖譜的語義檢索系統(tǒng),實(shí)現(xiàn)了基于植物知識(shí)圖譜的語義檢索,接受用戶輸入的問句來提供準(zhǔn)確的答案;在井福榮[8]設(shè)計(jì)的作物種質(zhì)資源大數(shù)據(jù)體系中,知識(shí)圖譜被視為一項(xiàng)重要的大數(shù)據(jù)處理技術(shù),其構(gòu)建了作物種質(zhì)資源知識(shí)圖譜的模型層和數(shù)據(jù)層,實(shí)現(xiàn)了基于圖結(jié)構(gòu)的知識(shí)圖譜可視化界面,以方便用戶查詢數(shù)據(jù)。
苧麻原產(chǎn)中國(guó),栽培歷史悠久,遺傳資源非常豐富,這些寶貴的苧麻資源是發(fā)展苧麻生產(chǎn)、選育良種和進(jìn)行科學(xué)研究的物質(zhì)基礎(chǔ)[9]。作為中國(guó)特產(chǎn)的纖維作物,苧麻功用眾多,被冠以“中國(guó)草”的美名[10]。然而當(dāng)前互聯(lián)網(wǎng)上可查詢的苧麻種質(zhì)資源信息存在數(shù)據(jù)少、信息不完整且不準(zhǔn)確的問題。為改善這種現(xiàn)狀,本文采用知識(shí)圖譜技術(shù),以《中國(guó)苧麻品種志》[9]《中國(guó)麻類作物種質(zhì)資源及其主要性狀》[11]兩本專著作為數(shù)據(jù)源,整合苧麻種質(zhì)資源信息,設(shè)計(jì)并開發(fā)了基于知識(shí)圖譜的苧麻種質(zhì)資源信息查詢平臺(tái),旨在為苧麻信息的高效利用打下基礎(chǔ)。
為了確保數(shù)據(jù)的真實(shí)有效性,本文選用中國(guó)農(nóng)業(yè)科學(xué)院麻類研究所組織編纂的兩本專著《中國(guó)苧麻品種志》與《中國(guó)麻類作物種質(zhì)資源及其主要性狀》作為數(shù)據(jù)來源,對(duì)其中記載的共2000余種苧麻種質(zhì)資源數(shù)據(jù)進(jìn)行分析,整理出常用詞匯和專業(yè)術(shù)語,對(duì)有歧義的概念予以統(tǒng)一修正,對(duì)重復(fù)的概念進(jìn)行唯一性保留,確定了苧麻的31個(gè)屬性,并將這些屬性歸為6個(gè)大類,最終形成了苧麻種質(zhì)資源信息知識(shí)框架(表1)。
表1 苧麻種質(zhì)資源信息知識(shí)框架Table 1 Information knowledge framework of ramie germplasm resources
依據(jù)定義的概念類型進(jìn)行實(shí)體屬性和實(shí)體關(guān)系的定義,以便后續(xù)知識(shí)圖譜的構(gòu)建。實(shí)體屬性如表2所示:
表2 苧麻領(lǐng)域知識(shí)圖譜的實(shí)體屬性Table 2 Entity attributes of ramie knowledge graph
實(shí)體關(guān)系是苧麻品種與此種苧麻的各類數(shù)據(jù)之間的關(guān)系,以表3中所示的黃皮苧為例:
表3 苧麻種質(zhì)資源數(shù)據(jù)表(示例)Table 3 Data table of ramie germplasm resources(example)
黃皮苧與ZM0001之間的關(guān)系為種質(zhì)庫(kù)編號(hào),即黃皮苧-種質(zhì)庫(kù)編號(hào)->ZM0001,以此類推,由于概念模型中包含62種屬性,除去屬性“中文名稱”外還余61種,即苧麻的中文名稱對(duì)應(yīng)著61種不同的值,因此苧麻領(lǐng)域的知識(shí)關(guān)系共分為61種類型。
知識(shí)抽取包括實(shí)體抽取和關(guān)系抽?。?2],本文利用Python進(jìn)行知識(shí)抽取,具體操作如下:
實(shí)體抽?。和ㄟ^append方法在代碼中規(guī)定各個(gè)節(jié)點(diǎn)屬性名稱,在數(shù)據(jù)表中抽取對(duì)應(yīng)數(shù)據(jù),將主節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)保存至node_list_key中,將其他節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)保存至node_list_value中,再通過list(set())方法對(duì)兩個(gè) list列表進(jìn)行去重操作。
關(guān)系抽取:首先將實(shí)體抽取到的數(shù)據(jù)列表一一對(duì)應(yīng),使用py2neo包下的relationship找到兩兩節(jié)點(diǎn)之間的關(guān)系,再通過gragh中create(relationship)方法創(chuàng)建兩個(gè)節(jié)點(diǎn)之間的關(guān)系,再將兩個(gè)節(jié)點(diǎn)與其關(guān)系以三元組的形式存入一個(gè)dict中。
本文采用Neo4j存儲(chǔ)節(jié)點(diǎn)和關(guān)系,存儲(chǔ)策略如表4所示。Neo4j使用屬性圖模式將實(shí)體存儲(chǔ)為節(jié)點(diǎn),節(jié)點(diǎn)標(biāo)簽標(biāo)示此節(jié)點(diǎn)所屬的實(shí)體類,一個(gè)節(jié)點(diǎn)可以具有多個(gè)標(biāo)簽,為了便于展示各苧麻與其屬性之間的關(guān)聯(lián),本文節(jié)點(diǎn)標(biāo)簽包括中文名稱和值兩類;節(jié)點(diǎn)屬性包含名稱、詳細(xì)內(nèi)容、可擴(kuò)展性、類別、半徑和顏色;節(jié)點(diǎn)關(guān)系類型分為61類,關(guān)系屬性包括關(guān)系名、開始節(jié)點(diǎn)ID和結(jié)束節(jié)點(diǎn)ID。
表4 知識(shí)存儲(chǔ)策略Table 4 Knowledge storage strategy
利用Python開發(fā)工具結(jié)合Cypher語言將處理好的表格數(shù)據(jù)輸入Neo4j進(jìn)行存儲(chǔ),實(shí)例如下:
(1)獲取主節(jié)點(diǎn)
(2)獲取相關(guān)節(jié)點(diǎn)關(guān)系
(3)獲取所有節(jié)點(diǎn)關(guān)系
MATCH()-[r]->()RETURN r
數(shù)據(jù)管理包括苧麻實(shí)體節(jié)點(diǎn)和實(shí)體關(guān)系的創(chuàng)建、更新、刪除和查詢。查詢采用最短路徑算法,利用Cypher中shortesPath函數(shù)實(shí)現(xiàn),語句如下:
MATCH p=shortestpath((:中文名稱{name:黑皮蔸})-[*..10]-(:中文名稱{name:黃皮麻}))return p
Neo4j圖數(shù)據(jù)庫(kù)基于匹配模式來進(jìn)行查詢,即使用MATCH來描述用戶想查詢的對(duì)象,語句執(zhí)行之后返回匹配節(jié)點(diǎn),例如查詢含有“三麻工藝成熟天數(shù)”關(guān)系的任意25種苧麻,查詢語句如下:
MATCH p=()-[r:`三麻工藝成熟天數(shù)`]->()RETURN p LIMIT 25
查詢結(jié)果如圖1所示。
圖1 Neo4j查詢展示Fig.1 Neo4j query display
苧麻種質(zhì)資源查詢平臺(tái)的功能分為四個(gè)功能模塊:
用戶權(quán)限管理:用戶分為普通用戶、專家學(xué)者和管理員,具有不同權(quán)限。
知識(shí)管理:包括實(shí)體與關(guān)系信息的添加、刪除和修改。
知識(shí)查詢:設(shè)計(jì)兩種查詢方式,關(guān)鍵詞查詢(包括精準(zhǔn)查詢與模糊查詢)和Cypher語言查詢。
知識(shí)展示:默認(rèn)以力導(dǎo)向圖的形式展示知識(shí)查詢結(jié)果,用戶可以手動(dòng)轉(zhuǎn)換為表格形式,潛在關(guān)系擴(kuò)展表現(xiàn)為用戶雙擊某一節(jié)點(diǎn),將以此節(jié)點(diǎn)為中心展開相關(guān)知識(shí)圖譜。
圖2 平臺(tái)功能圖Fig.2 Platform function diagram
本系統(tǒng)將采用MVC設(shè)計(jì)模式,主要包括數(shù)據(jù)層、業(yè)務(wù)層、展示層等。數(shù)據(jù)層用于創(chuàng)建基礎(chǔ)屬性,通過與數(shù)據(jù)庫(kù)的交互,在業(yè)務(wù)層中進(jìn)行數(shù)據(jù)處理,再通過業(yè)務(wù)層與展示層進(jìn)行數(shù)據(jù)交互與傳輸。具體系統(tǒng)架構(gòu)如圖3所示。
圖3 整體架構(gòu)設(shè)計(jì)Fig.3 Overall architecture design
苧麻知識(shí)圖譜信息查詢平臺(tái)能對(duì)苧麻的屬性信息進(jìn)行展示,使用戶一目了然地獲取信息之間的關(guān)聯(lián),知識(shí)展示分為兩種,一是苧麻數(shù)據(jù)表展示,主要顯示苧麻的基本信息,頁面展示信息條數(shù)可在100以內(nèi)自主選擇,通過對(duì)任一表頭的點(diǎn)擊可以實(shí)現(xiàn)所選屬性的升降序,雙擊具體苧麻會(huì)跳轉(zhuǎn)到該苧麻詳情頁,通過表頭上方的輸入欄可以進(jìn)行查詢。如圖4所示。
圖4 苧麻數(shù)據(jù)表Fig.4 Ramie data sheet
二是力導(dǎo)向圖展示,在力導(dǎo)向圖中,以節(jié)點(diǎn)-線-節(jié)點(diǎn)來展示實(shí)體-關(guān)系-屬性,不同的實(shí)體間可存在相同的屬性,如圖5所示。單擊節(jié)點(diǎn)可進(jìn)行任意拖動(dòng),當(dāng)鼠標(biāo)懸停于中文名稱類節(jié)點(diǎn)上時(shí)該節(jié)點(diǎn)會(huì)大幅增大,懸停于其他類節(jié)點(diǎn)時(shí)該節(jié)點(diǎn)會(huì)小幅增大,便于用戶進(jìn)行苧麻屬性信息查看和系統(tǒng)操作。
圖5 苧麻屬性信息展示Fig.5 Ramie property information display
在用戶使用關(guān)鍵詞查詢時(shí),根據(jù)用戶輸入的關(guān)鍵字進(jìn)行結(jié)果匹配,如果用戶能夠準(zhǔn)確地輸入苧麻實(shí)體名稱,查詢返回的結(jié)果即為目標(biāo)節(jié)點(diǎn)及其直接關(guān)系節(jié)點(diǎn)圖,否則進(jìn)行模糊查詢,對(duì)近似實(shí)體名稱進(jìn)行匹配并反饋給用戶,通過用戶的下一步選擇再返回相應(yīng)結(jié)果。除了用名稱進(jìn)行查詢之外,也支持用苧麻屬性進(jìn)行查詢,例如輸入“蔸型”(屬性類別名)得到蔸型的具體種類,輸入“淺紅”得到某一屬性為淺紅的所有苧麻名。此外,平臺(tái)也支持使用圖查詢語言進(jìn)行查詢,專業(yè)用戶可以實(shí)現(xiàn)基于Cypher語言的路徑查詢、關(guān)聯(lián)度分析等功能。
除了知識(shí)查詢外平臺(tái)還有知識(shí)管理功能,主要分為節(jié)點(diǎn)管理和關(guān)系管理,都包括新增、更改和移除功能。新增節(jié)點(diǎn)時(shí),只需打開屬性框在其中記錄節(jié)點(diǎn)信息即可完成,通過對(duì)已有的信息進(jìn)行修改就是更新節(jié)點(diǎn)數(shù)據(jù),右鍵點(diǎn)擊節(jié)點(diǎn)即可彈出屬性框,如圖6所示。
圖6 修改節(jié)點(diǎn)Fig.6 Modify nodes
本文構(gòu)建了苧麻種質(zhì)資源的知識(shí)框架,完成了苧麻實(shí)體與關(guān)系的類型劃分,制定了知識(shí)存儲(chǔ)策略并運(yùn)用到實(shí)踐之中,最終完成了苧麻領(lǐng)域知識(shí)圖譜的構(gòu)建,并在此基礎(chǔ)上,設(shè)計(jì)開發(fā)了基于知識(shí)圖譜的苧麻種質(zhì)資源信息查詢平臺(tái),平臺(tái)以查詢功能為主,還能對(duì)已存知識(shí)進(jìn)行新增、更新等操作,用戶查詢的結(jié)果以力導(dǎo)向圖形式返回,能夠清晰地展示苧麻種質(zhì)資源知識(shí)圖譜的相關(guān)內(nèi)容,對(duì)提高苧麻種質(zhì)資源信息利用率具有一定的現(xiàn)實(shí)意義。