張嘉宇,郭 玫,張永亮,李 梅,耿 楠,2,3,耿耀君
1.西北農(nóng)林科技大學(xué) 信息工程學(xué)院,陜西 楊凌 712100
2.西北農(nóng)林科技大學(xué) 農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室,陜西 楊凌 712100
3.西北農(nóng)林科技大學(xué) 陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點(diǎn)實(shí)驗(yàn)室,陜西 楊凌 712100
蘋(píng)果是我國(guó)重要的經(jīng)濟(jì)作物,但是時(shí)常發(fā)生的病蟲(chóng)害卻限制著我國(guó)蘋(píng)果產(chǎn)業(yè)的發(fā)展。而面對(duì)病蟲(chóng)害問(wèn)題時(shí),由于基層蘋(píng)果種植從業(yè)人員缺乏專(zhuān)業(yè)知識(shí),往往需要查閱專(zhuān)業(yè)書(shū)籍或通過(guò)搜索引擎來(lái)尋找相應(yīng)的防治方法。搜索到的信息不僅存在碎片化問(wèn)題還缺乏關(guān)聯(lián)性,易耽誤病蟲(chóng)害防治最佳時(shí)間,使災(zāi)情更加嚴(yán)重。且我國(guó)目前農(nóng)業(yè)人口老齡化現(xiàn)象嚴(yán)重,勞動(dòng)力嚴(yán)重缺乏,自動(dòng)化機(jī)器人等智能設(shè)備取代人類(lèi)從事病蟲(chóng)害防治工作已經(jīng)成為了未來(lái)蘋(píng)果種植業(yè)發(fā)展的必然趨勢(shì),如何使得智能設(shè)備在人類(lèi)先驗(yàn)知識(shí)的指導(dǎo)下完成相關(guān)工作也是一個(gè)亟需解決的問(wèn)題。因此,構(gòu)建細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜旨在將原本分散的數(shù)據(jù)進(jìn)行整合,并實(shí)現(xiàn)數(shù)據(jù)之間的連通,形成一種具有細(xì)粒度知識(shí)組織結(jié)構(gòu)的知識(shí)系統(tǒng),便于對(duì)果農(nóng)和智能工具提供專(zhuān)業(yè)指導(dǎo)。
知識(shí)圖譜(knowledge graph,KG)一般以三元組(實(shí)體1,關(guān)系,實(shí)體2)作為基本元素來(lái)描述物理世界中的概念及其相互關(guān)系,這些三元組相互聯(lián)結(jié),構(gòu)成了一種揭示實(shí)體之間關(guān)系的語(yǔ)義網(wǎng)絡(luò)[1]。從覆蓋范圍來(lái)看,知識(shí)圖譜可以分為通用知識(shí)圖譜和行業(yè)知識(shí)圖譜[2]。其中,行業(yè)知識(shí)圖譜由于其準(zhǔn)確度高的特性已被廣泛應(yīng)用于醫(yī)學(xué)[3-4]、經(jīng)濟(jì)[5-6]、電力[7-8]等領(lǐng)域之中。近年來(lái),農(nóng)業(yè)領(lǐng)域知識(shí)圖譜的構(gòu)建也逐漸引起了研究者們的關(guān)注。吳茜[9]根據(jù)實(shí)體類(lèi)別分別構(gòu)建了三個(gè)子領(lǐng)域知識(shí)圖譜,并將子領(lǐng)域知識(shí)圖譜合并構(gòu)成了農(nóng)業(yè)領(lǐng)域知識(shí)圖譜;徐帥博等[10]使用ALBERT-BiLSTM-CRF模型進(jìn)行命名實(shí)體識(shí)別,以規(guī)則匹配的方式構(gòu)成三元組關(guān)系,并搭建了枸杞病蟲(chóng)害知識(shí)圖譜;井福榮[11]使用Protégé(https://protege.stanford.edu/)工具構(gòu)建了本體庫(kù),并在該本體庫(kù)的指導(dǎo)下搭建作物種質(zhì)資源知識(shí)圖譜;汪敏[12]使用CiteSpace將收集到的茶樹(shù)病蟲(chóng)害數(shù)據(jù)以圖譜的形式呈現(xiàn),直觀反映出了我國(guó)茶樹(shù)病蟲(chóng)害防治的研究趨勢(shì);吳賽賽[13]使用ME+R+BIESO標(biāo)注法對(duì)實(shí)體和關(guān)系進(jìn)行同步標(biāo)注,大大減少了語(yǔ)料標(biāo)注成本,以聯(lián)合抽取的方式完成知識(shí)抽取任務(wù),并構(gòu)建了作物病蟲(chóng)害知識(shí)圖譜;陳亞?wèn)|等[14]將知識(shí)圖譜的構(gòu)建過(guò)程劃分4個(gè)層級(jí),并從8類(lèi)數(shù)據(jù)源中抽取知識(shí),形成了蘋(píng)果產(chǎn)業(yè)知識(shí)圖譜。
通過(guò)對(duì)上述研究現(xiàn)狀的分析,當(dāng)前農(nóng)業(yè)領(lǐng)域知識(shí)圖譜研究對(duì)本體定義的粒度較為粗糙,導(dǎo)致所包含的知識(shí)結(jié)構(gòu)不夠全面,難以直接在現(xiàn)實(shí)場(chǎng)景中應(yīng)用。例如,文獻(xiàn)[10]僅定義了“病害名”“癥狀”和“農(nóng)藥”三種實(shí)體類(lèi)型以及相對(duì)應(yīng)的四種實(shí)體關(guān)系,缺乏大量病蟲(chóng)害自身屬性信息以及防治知識(shí);文獻(xiàn)[13]中雖然劃分出了精細(xì)的實(shí)體類(lèi)型,但是在關(guān)系種類(lèi)的定義上卻存在一定缺陷,尤其是只定義了單一的“防治農(nóng)藥”關(guān)系,而忽略了“噴灑”“涂抹”“浸泡”等具體防治措施,難以對(duì)相關(guān)智能設(shè)備進(jìn)行準(zhǔn)確指導(dǎo)。綜上所述,細(xì)粒度知識(shí)圖譜構(gòu)建研究對(duì)現(xiàn)代化農(nóng)業(yè)生產(chǎn)工作而言具有較大的理論意義和應(yīng)用前景。
針對(duì)上述問(wèn)題,本文以蘋(píng)果病蟲(chóng)知識(shí)圖譜構(gòu)建為例,提出了一種細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜構(gòu)建方法。該方法采用自頂向下和自底向上相結(jié)合的方法構(gòu)建知識(shí)圖譜。首先在模式層對(duì)本體進(jìn)行了細(xì)粒度定義,通過(guò)構(gòu)建更加精細(xì)的知識(shí)組織結(jié)構(gòu)以保證圖譜可以應(yīng)用于現(xiàn)實(shí)場(chǎng)景。然后以知識(shí)圖譜構(gòu)建過(guò)程中不可或缺的兩個(gè)核心環(huán)節(jié):命名實(shí)體識(shí)別和關(guān)系抽取作為研究重點(diǎn),使用符合蘋(píng)果病蟲(chóng)害語(yǔ)料特點(diǎn)的深度學(xué)習(xí)模型抽取知識(shí)單元,避免過(guò)多的人工干預(yù)。最后將抽取出的三元組存入Neo4j數(shù)據(jù)庫(kù)實(shí)現(xiàn)圖譜的可視化,為精準(zhǔn)病蟲(chóng)害信息查詢(xún),智能輔助診斷等后續(xù)工作奠定基礎(chǔ)。主要貢獻(xiàn)可以歸納如下:
(1)構(gòu)建了細(xì)粒度蘋(píng)果病蟲(chóng)害領(lǐng)域本體庫(kù)。相較于其他農(nóng)業(yè)領(lǐng)域知識(shí)圖譜的本體庫(kù),該本體庫(kù)更加詳細(xì)和精確,共包含19種實(shí)體類(lèi)型和22種關(guān)系種類(lèi)。
(2)標(biāo)注了由蘋(píng)果病蟲(chóng)害命名實(shí)體識(shí)別數(shù)據(jù)集和關(guān)系抽取數(shù)據(jù)集共同組成的知識(shí)圖譜數(shù)據(jù)集AppleKG,為蘋(píng)果病蟲(chóng)害領(lǐng)域深度學(xué)習(xí)模型的訓(xùn)練及相關(guān)實(shí)驗(yàn)提供了數(shù)據(jù)基礎(chǔ)。
(3)提出了一種符合蘋(píng)果病蟲(chóng)害語(yǔ)料特征的知識(shí)抽取方法。首先使用APD-CA模型進(jìn)行命名實(shí)體識(shí)別,既避免了分詞錯(cuò)誤帶來(lái)的影響,還在識(shí)別過(guò)程中引入了大量實(shí)體邊界信息及相似詞匯信息;然后使用ED-ARE模型充分利用語(yǔ)料上下文信息對(duì)實(shí)體間關(guān)系進(jìn)行抽取。
知識(shí)圖譜的構(gòu)建方式主要可以分為自頂向下法和自底向上法[2]。由于本文旨在構(gòu)建細(xì)粒度知識(shí)圖譜,且蘋(píng)果病蟲(chóng)害語(yǔ)料中實(shí)體與關(guān)系的構(gòu)成較為繁雜,因此采用自頂向下與自底向上相結(jié)合的方法構(gòu)建蘋(píng)果病蟲(chóng)害知識(shí)圖譜。首先通過(guò)對(duì)蘋(píng)果病蟲(chóng)害語(yǔ)料的初步分析,構(gòu)建知識(shí)圖譜的模式層;然后自頂向下進(jìn)行知識(shí)抽取,在構(gòu)建數(shù)據(jù)層的過(guò)程中自底向上對(duì)模式層進(jìn)行補(bǔ)充和改進(jìn)。具體的知識(shí)圖譜構(gòu)建過(guò)程如圖1所示。
圖1 知識(shí)圖譜構(gòu)建框架圖Fig.1 Knowledge graph construction framework
其中,模式層中的主要任務(wù)是構(gòu)建蘋(píng)果病蟲(chóng)害領(lǐng)域本體庫(kù),并以此確定實(shí)體類(lèi)型和關(guān)系種類(lèi)。而數(shù)據(jù)層的構(gòu)建過(guò)程通常包含知識(shí)抽取、知識(shí)融合和知識(shí)更新三個(gè)步驟。但是由于蘋(píng)果病蟲(chóng)害語(yǔ)料的領(lǐng)域性較強(qiáng),語(yǔ)義上存在歧義的可能性較小,并且蘋(píng)果病蟲(chóng)害領(lǐng)域的知識(shí)迭代更新速度較慢,長(zhǎng)期都難以出現(xiàn)新的病害蟲(chóng)害以及防治藥物。因此在蘋(píng)果病蟲(chóng)害知識(shí)圖譜構(gòu)建過(guò)程中,對(duì)知識(shí)融合與知識(shí)更新兩部分的需求不高。本文將知識(shí)抽取作為數(shù)據(jù)層研究重點(diǎn),著重研究命名實(shí)體識(shí)別和關(guān)系抽取兩部分內(nèi)容。
模式層是知識(shí)圖譜的核心,其中存儲(chǔ)的是從事實(shí)中抽象出的概念模型。通常使用本體庫(kù)對(duì)模式層中的概念,關(guān)系及屬性進(jìn)行規(guī)范和描述。本文參照其他領(lǐng)域知識(shí)圖譜[15-18]的本體庫(kù),并在西北農(nóng)林科技大學(xué)植保專(zhuān)家的指導(dǎo)下,確立了蘋(píng)果病蟲(chóng)害領(lǐng)域中的概念類(lèi)型及其之間的關(guān)系,最終提煉出了該領(lǐng)域的本體庫(kù)。
如圖2所示,首先預(yù)定義了4個(gè)父類(lèi)概念,分別為蘋(píng)果相關(guān)信息、蘋(píng)果蟲(chóng)害、蘋(píng)果病害、防治方法。之后在構(gòu)建數(shù)據(jù)層過(guò)程中對(duì)模式層進(jìn)行完善和更新,對(duì)每一個(gè)概念進(jìn)行了進(jìn)一步的劃分。其中,蘋(píng)果相關(guān)信息根據(jù)蘋(píng)果自身的特性繼續(xù)劃分;蘋(píng)果病害和蘋(píng)果蟲(chóng)害根據(jù)病蟲(chóng)害侵害蘋(píng)果樹(shù)的部位,以及自身屬性進(jìn)行分類(lèi);而防治方法則根據(jù)方法的表現(xiàn)形式以及防治中所用到的工具細(xì)化分類(lèi)。最后,將細(xì)化后的概念作為實(shí)體類(lèi)別。確定實(shí)體類(lèi)別之后,對(duì)各實(shí)體類(lèi)之間的關(guān)系進(jìn)行精細(xì)定義,具體的關(guān)系如表1所示。在最終構(gòu)建的模式層中共包含19種實(shí)體類(lèi)別和22種實(shí)體關(guān)系。
表1 關(guān)系類(lèi)別詳細(xì)信息Table 1 Details of relation types
圖2 概念類(lèi)型劃分Fig.2 Classification of concept
近年來(lái),隨著蘋(píng)果病蟲(chóng)害防治經(jīng)驗(yàn)上的不斷積累和技術(shù)上的不斷改良與發(fā)展,現(xiàn)代的蘋(píng)果病蟲(chóng)害防治領(lǐng)域已經(jīng)逐漸形成了部分專(zhuān)業(yè)的文本資料。本文以上述非結(jié)構(gòu)化的文本資料作為主要研究對(duì)象,標(biāo)注蘋(píng)果病蟲(chóng)害領(lǐng)域相關(guān)數(shù)據(jù)集,分析該領(lǐng)域語(yǔ)料特點(diǎn),為知識(shí)抽取模型構(gòu)建研究確定研究方向,同時(shí)也為后續(xù)實(shí)驗(yàn)奠定數(shù)據(jù)基礎(chǔ)。
1.2.1 原始語(yǔ)料采集
大部分知識(shí)圖譜構(gòu)建時(shí)常通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)爬取網(wǎng)頁(yè)信息作為知識(shí)來(lái)源,但是網(wǎng)頁(yè)之間的專(zhuān)業(yè)程度良莠不齊,還可能包含部分錯(cuò)誤知識(shí),一定程度上會(huì)影響模型訓(xùn)練以及知識(shí)圖譜的質(zhì)量。因此為了提升數(shù)據(jù)質(zhì)量,本文以專(zhuān)業(yè)文獻(xiàn)作為原始語(yǔ)料庫(kù)并從中抽取知識(shí)單元。首先在西北農(nóng)林科技大學(xué)植保專(zhuān)家的指導(dǎo)下,從西北農(nóng)林科技大學(xué)圖書(shū)館的館藏文獻(xiàn)中篩選出七本業(yè)內(nèi)較為權(quán)威的蘋(píng)果病蟲(chóng)害防治相關(guān)專(zhuān)業(yè)文獻(xiàn),具體文獻(xiàn)信息如表2所示。之后從中抽取文本信息,并對(duì)其進(jìn)行去重,數(shù)據(jù)格式轉(zhuǎn)換等預(yù)處理操作。這些文獻(xiàn)年代跨度較大,可以從中抽取不同時(shí)期的蘋(píng)果病蟲(chóng)害防治知識(shí),使知識(shí)圖譜更加地全面。
表2 原始語(yǔ)料數(shù)據(jù)來(lái)源Table 2 Source of original corpus data
1.2.2 語(yǔ)料標(biāo)注
獲取原始語(yǔ)料庫(kù)之后,本文對(duì)原始語(yǔ)料數(shù)據(jù)進(jìn)行人工標(biāo)注。歷時(shí)兩個(gè)月,最終完成了由命名實(shí)體識(shí)別數(shù)據(jù)集和關(guān)系抽取數(shù)據(jù)集共同組成的蘋(píng)果病蟲(chóng)害知識(shí)圖譜綜合數(shù)據(jù)集AppleKG,該數(shù)據(jù)集的詳細(xì)信息如表3所示。其中,命名實(shí)體識(shí)別數(shù)據(jù)集包含19種實(shí)體類(lèi)型、5 574條樣本和9 014個(gè)實(shí)體;關(guān)系抽取數(shù)據(jù)集包含22種關(guān)系類(lèi)別、11 703條樣本和11 703條關(guān)系。在后續(xù)實(shí)驗(yàn)中,命名實(shí)體識(shí)別數(shù)據(jù)集按照8∶1∶1的比例,關(guān)系抽取數(shù)據(jù)集按照6∶2∶2的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集用于知識(shí)抽取模型的訓(xùn)練和實(shí)驗(yàn)。
表3 AppleKG數(shù)據(jù)集詳細(xì)信息Table 3 Details of AppleKG dataset
1.2.3 數(shù)據(jù)特征分析
為了進(jìn)一步分析蘋(píng)果病蟲(chóng)害領(lǐng)域語(yǔ)料數(shù)據(jù)的特征,本文將AppleKG數(shù)據(jù)集與其他領(lǐng)域中文語(yǔ)料數(shù)據(jù)集進(jìn)行對(duì)比分析,該領(lǐng)域數(shù)據(jù)主要具有以下特點(diǎn):
(1)蘋(píng)果病蟲(chóng)害語(yǔ)料數(shù)據(jù)的專(zhuān)業(yè)性較強(qiáng),包含較多領(lǐng)域術(shù)語(yǔ)和專(zhuān)有名詞,例如“對(duì)硫磷”“蘇云金桿菌”等防治藥劑名稱(chēng)。直接將現(xiàn)有的自然語(yǔ)言處理工具應(yīng)用于該領(lǐng)域語(yǔ)料數(shù)據(jù)會(huì)出現(xiàn)較大誤差。
(2)蘋(píng)果病蟲(chóng)害語(yǔ)料一方面內(nèi)容豐富,實(shí)體和關(guān)系的類(lèi)別較多;另一方面聚焦性強(qiáng),三元組個(gè)數(shù)較其他領(lǐng)域語(yǔ)料相對(duì)較少。如表4所示,本文構(gòu)建的模式層包含19種實(shí)體類(lèi)別和22種關(guān)系種類(lèi),明顯多于其他領(lǐng)域知識(shí)圖譜以及相同領(lǐng)域知識(shí)圖譜,但三元組個(gè)數(shù)少于其他領(lǐng)域知識(shí)圖譜。這意味著AppleKG中每種關(guān)系的樣本量比較少,要求算法能處理小樣本問(wèn)題。
表4 不同知識(shí)圖譜比較Table 4 Comparison of different knowledge graphs
(3)部分蘋(píng)果病蟲(chóng)害命名實(shí)體嵌套多個(gè)子實(shí)體,例如,“枝干樹(shù)皮裂縫”可以劃分為“枝干”“樹(shù)皮”“裂縫”三個(gè)子實(shí)體,導(dǎo)致實(shí)體邊界識(shí)別困難。
(4)蘋(píng)果病蟲(chóng)害語(yǔ)料數(shù)據(jù)中各實(shí)體類(lèi)別和關(guān)系類(lèi)型的樣本分布不均勻。如表3所示,“蘋(píng)果樹(shù)部位”等常見(jiàn)實(shí)體類(lèi)別和“危害”等常見(jiàn)關(guān)系類(lèi)型均包含上千個(gè)樣本,而“病原菌”等稀有實(shí)體類(lèi)別和“消毒”等稀有關(guān)系類(lèi)型僅包含數(shù)十個(gè)樣本。樣本之間的不均勻分布導(dǎo)致了整體知識(shí)抽取準(zhǔn)確性的下降。
本文根據(jù)蘋(píng)果病蟲(chóng)害語(yǔ)料數(shù)據(jù)的特點(diǎn),提出適用于該領(lǐng)域文本的知識(shí)抽取方法。該方法集成使用多種深度學(xué)習(xí)模型從語(yǔ)料中抽取命名實(shí)體及實(shí)體關(guān)系,并構(gòu)建三元組,促進(jìn)了細(xì)粒度農(nóng)業(yè)知識(shí)圖譜構(gòu)建研究面向自動(dòng)化方向發(fā)展。
知識(shí)抽取是數(shù)據(jù)層構(gòu)建過(guò)程中必不可少的核心環(huán)節(jié),它由命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)組成,旨在用半自動(dòng)化或自動(dòng)化方法從非結(jié)構(gòu)化語(yǔ)料中抽取出以實(shí)體和關(guān)系所組成的知識(shí)單元。根據(jù)蘋(píng)果病蟲(chóng)害語(yǔ)料的特點(diǎn),本文構(gòu)建了APD-CA(apple disease and pest NER model based on character augmentation)模型和ED-ARE(encoding and decoding model for relation extraction of apple diseases and pests)模型分別從文本中自動(dòng)抽取命名實(shí)體及實(shí)體關(guān)系。
1.3.1 基于APD-CA的命名實(shí)體識(shí)別
命名實(shí)體識(shí)別(named entity recognition,NER)旨在識(shí)別文本中具有特定意義或者指代性強(qiáng)的實(shí)體。本文主要面向中文蘋(píng)果病蟲(chóng)害文本進(jìn)行識(shí)別。由于中文不存在英文中較為明顯的實(shí)體形式標(biāo)志,即句子中的詞匯之間被空格自然分割,因此中文命名實(shí)體識(shí)別不僅要確定實(shí)體的類(lèi)別,還需要識(shí)別實(shí)體的邊界。通過(guò)對(duì)蘋(píng)果病蟲(chóng)害語(yǔ)料的分析,蘋(píng)果病蟲(chóng)害領(lǐng)域?qū)嶓w往往由多個(gè)名詞嵌套構(gòu)成,使得實(shí)體的邊界模糊;語(yǔ)料專(zhuān)業(yè)性較強(qiáng),現(xiàn)有分詞工具在該領(lǐng)域數(shù)據(jù)上進(jìn)行分詞會(huì)出現(xiàn)較多錯(cuò)誤;且各實(shí)體類(lèi)的樣本分布也極不均勻。針對(duì)上述問(wèn)題,本文使用由本團(tuán)隊(duì)提出的APD-CA模型[26]實(shí)現(xiàn)蘋(píng)果病蟲(chóng)害領(lǐng)域命名實(shí)體識(shí)別任務(wù),該模型具體結(jié)構(gòu)如圖3所示。
圖3 APD-CA模型結(jié)構(gòu)Fig.3 General architecture for APD-CA
APD-CA模型通過(guò)將詞匯序列信息以及相似詞匯引入基于字符的BiLSTM-CRF模型[27]來(lái)提升命名實(shí)體識(shí)別效果。對(duì)于一個(gè)字符序列s={c0,c1,…,cn},首先從預(yù)定義詞典中抽取出每個(gè)字符ct(0≤t≤n)的匹配詞匯wij(0≤i≤t≤j≤n)。之后為了防止語(yǔ)義信息的丟失,根據(jù)字符ct在詞匯wij中的位置將匹配詞匯分為四類(lèi)詞匯集合{B,M,E,S},各集合的數(shù)學(xué)定義如公式(1)所示:
其中,i和j代表詞匯開(kāi)始字符和結(jié)尾字符在字符序列中的下標(biāo),而{B,M,E,S}分別代表字符出現(xiàn)在詞匯的開(kāi)頭、中間、結(jié)尾以及單字詞匯四種詞匯集合。如圖3所示,從預(yù)定義詞典中為字符“樹(shù)”匹配出四個(gè)詞匯,分別為:“樹(shù)根”“果樹(shù)根”“蘋(píng)果樹(shù)”和“樹(shù)”。根據(jù)字符“樹(shù)”在上述詞匯中的位置可以將四個(gè)匹配詞匯依次劃分至{B,M,E,S}四個(gè)集合中。
其次,為了能夠使模型可以并行處理多個(gè)句子樣本,需要將匹配出的詞匯向量融合為固定維度向量。該模型參考TF-IDF方法,根據(jù)匹配詞匯在語(yǔ)料中出現(xiàn)次數(shù)和出現(xiàn)頻率綜合評(píng)估該詞匯對(duì)當(dāng)前句子樣本的重要性,并以此為權(quán)重對(duì)詞匯進(jìn)行融合。當(dāng)一個(gè)字符的匹配詞匯在數(shù)據(jù)集中各句子中出現(xiàn)的頻率不高,那么就足以說(shuō)明這個(gè)詞匯對(duì)于當(dāng)前句子樣本的重要性和獨(dú)特性,應(yīng)當(dāng)將該類(lèi)詞匯的融合權(quán)重增大,保留更多語(yǔ)義信息,反之則相應(yīng)減小該詞匯的權(quán)重?;谠~匯重要性的詞匯融合方法如公式(2)所示:
其中,R代表一個(gè)詞匯集合,w代表集合中的詞匯,f(w)代表詞匯w在數(shù)據(jù)集中的出現(xiàn)次數(shù),T代表數(shù)據(jù)集中的句子樣本總數(shù),n(w)代表詞匯w出現(xiàn)過(guò)的句子數(shù),N代表所有詞匯的權(quán)重之和。
然后,引入相似詞匯對(duì)字符語(yǔ)義信息進(jìn)一步補(bǔ)充和增強(qiáng)。根據(jù)余弦相似度評(píng)估整體語(yǔ)料匹配詞匯集合中詞匯之間的相似性,并通過(guò)設(shè)置相似度值來(lái)篩選詞匯,將相似度高于該值的詞匯作為相似詞匯。具體示例如圖3所示,匹配詞匯“樹(shù)根”篩選出兩個(gè)相似詞匯“根”“根部”;而詞匯“蘋(píng)果樹(shù)”同樣篩選出兩個(gè)相似詞匯“梨樹(shù)”“桃樹(shù)”。篩選完成后,以相似度和原始詞匯出現(xiàn)次數(shù)的歸一化值為權(quán)重將所有相似詞匯融合為一個(gè)相似詞匯特征向量,具體融合過(guò)程如公式(3)所示:
其中,E代表四個(gè)匹配詞匯的集合,f(w)代表詞匯在數(shù)據(jù)集中的出現(xiàn)次數(shù),D代表E中所有詞匯出現(xiàn)次數(shù)之和。p代表詞匯w的相似詞匯,H代表經(jīng)過(guò)篩選后的詞匯w的相似詞匯的集合。k代表余弦相似度計(jì)算函數(shù),ew代表詞嵌入矩陣。
最后,使用上述詞匯融合方法將四個(gè)匹配詞匯集合中的詞匯依次融合為四個(gè)固定維度向量并與相似詞匯特征向量一同添加到字符原始表示向量xic(0≤i≤n)中:
其中,Xic代表進(jìn)行語(yǔ)義增強(qiáng)之后的字符特征向量,G代表相似詞匯特征向量。得到增強(qiáng)過(guò)的字符表示Xic(0≤i≤n)后,將其輸入BiLSTM-CRF模型中進(jìn)行實(shí)體識(shí)別。該模型通過(guò)引入詞匯序列及相似詞匯提供了豐富的語(yǔ)義信息和實(shí)體邊界信息,增強(qiáng)了模型對(duì)于實(shí)體邊界的識(shí)別能力,填補(bǔ)了由于樣本分布不均勻所導(dǎo)致的語(yǔ)義缺陷。并且該模型將字符特征向量作為每個(gè)時(shí)間步的輸入數(shù)據(jù),也有效避免了分詞錯(cuò)誤帶來(lái)的影響。
1.3.2 基于ED-ARE的關(guān)系抽取
關(guān)系抽?。╮elation extraction,RE)的任務(wù)是給定一個(gè)由兩個(gè)實(shí)體構(gòu)成的實(shí)體對(duì)以及包含該實(shí)體對(duì)的句子,預(yù)測(cè)實(shí)體對(duì)之間的語(yǔ)義關(guān)系。本文針對(duì)蘋(píng)果病蟲(chóng)害領(lǐng)域文本中各關(guān)系類(lèi)別的樣本分布不均勻的問(wèn)題,在BiGRU模型的基礎(chǔ)上,引入編碼解碼機(jī)制和注意力機(jī)制,提出一種用于蘋(píng)果病蟲(chóng)害關(guān)系抽取的ED-ARE模型,模型具體結(jié)構(gòu)如圖4所示。
圖4 ED-ARE模型結(jié)構(gòu)Fig.4 General architecture for ED-ARE
由圖可知,該模型分為五層,分別為字符向量化層、編碼層、解碼層、注意力機(jī)制層和分類(lèi)層。首先在字符向量化層將輸入的字符序列{c1,c2,…,cn}映射為低維的字符向量{e1,e2,…,en}。其次,將字符向量輸入編碼層得到序列編碼信息{h1,h2,…,hn},再經(jīng)過(guò)解碼層對(duì)上下文信息進(jìn)行解碼并輸出序列{H1,H2,…,Hn},利用編解碼機(jī)制獲取更加豐富的上下文語(yǔ)義特征。本文在編碼層與解碼層均使用BiGRU模型,前向GRU模型如公式(5)~(8)所示:
其中,zt和rt分別代表更新門(mén)和重置門(mén),ht-1代表前一個(gè)時(shí)間步傳入的隱藏狀態(tài),xt代表當(dāng)前時(shí)間步的輸入,和ht則代表當(dāng)前時(shí)間步的候選隱藏狀態(tài)和最終隱藏狀態(tài),而Wz、Wr和Wh代表相應(yīng)的權(quán)重矩陣,bz、br和bh代表偏置值。反向GRU的定義同正向GRU一致,且正向GRU的輸出與反向GRU的輸出共同構(gòu)成了BiGRU模型的最終輸出。
然后,通過(guò)注意力機(jī)制捕捉字符序列中對(duì)識(shí)別實(shí)體間關(guān)系類(lèi)別起決定作用的語(yǔ)義信息,提升關(guān)鍵信息的權(quán)重,從而提高模型關(guān)系抽取的準(zhǔn)確率。注意力機(jī)制如公式(9)~(11)所示:
其中,H代表解碼層的輸出矩陣,W代表待訓(xùn)練的權(quán)重矩陣,r則代表了輸出向量的加權(quán)之和。最終,通過(guò)softmax分類(lèi)層得到蘋(píng)果病蟲(chóng)害實(shí)體之間的關(guān)系。具體示例如圖4所示,ED-ARE模型將句子中“褐斑病”和“葉片”兩個(gè)實(shí)體之間的關(guān)系正確地識(shí)別為“危害”關(guān)系。
本文以標(biāo)注完成的蘋(píng)果病蟲(chóng)害領(lǐng)域綜合數(shù)據(jù)集AppleKG作為實(shí)驗(yàn)對(duì)象,將構(gòu)建的兩個(gè)知識(shí)抽取模型與其他state-of-the-ar(tSOTA)模型進(jìn)行對(duì)比。并進(jìn)一步對(duì)命名實(shí)體識(shí)別模型的訓(xùn)練效率和兩個(gè)模型的細(xì)化類(lèi)別結(jié)果進(jìn)行分析研究。
本文采用精確率(precision)、召回率(recall)、F1值(F1-score)[28]作為模型性能的評(píng)估標(biāo)準(zhǔn)。精確率體現(xiàn)了模型對(duì)負(fù)樣本的區(qū)分能力,精確率越高,模型對(duì)負(fù)樣本的區(qū)分能力越強(qiáng);召回率體現(xiàn)了模型對(duì)正樣本的識(shí)別能力,召回率越高,模型對(duì)正樣本的識(shí)別能力越強(qiáng)。F1值是兩者的綜合,F(xiàn)1值越高,說(shuō)明模型越穩(wěn)健。具體公式如下所示:
其中,S表示實(shí)際結(jié)果為正樣本的樣例個(gè)數(shù),A表示模型預(yù)測(cè)結(jié)果為正樣本的樣例個(gè)數(shù),T表示模型預(yù)測(cè)結(jié)果和實(shí)際結(jié)果均為正樣本的樣例個(gè)數(shù)。
本文的實(shí)驗(yàn)環(huán)境如下所示:Intel?Core?i7-8550UCPU@1.80 GHz;Ubuntu 16.04.6;GPU型號(hào)為Geforce RTX 2080Ti;Python3.7;Pytorch 1.2.0。
為了驗(yàn)證本文中基于APD-CA的蘋(píng)果病蟲(chóng)害命名實(shí)體識(shí)別方法的優(yōu)越性,將該方法與BiLSTM-CRF、Lattice-LSTM[29]、LR-CNN[30]、WC-LSTM[31]和SoftLexicon[32]五種深度學(xué)習(xí)模型從模型性能和訓(xùn)練效率兩個(gè)方面進(jìn)行對(duì)比實(shí)驗(yàn)。其中,模型性能實(shí)驗(yàn)從模型整體性能以及具體類(lèi)別性能兩個(gè)角度展開(kāi);而效率對(duì)比實(shí)驗(yàn)將BiLSTM-CRF模型作為基線(xiàn)模型,采用每個(gè)epoch的相對(duì)訓(xùn)練時(shí)間以及模型收斂速度作為模型效率的評(píng)估指標(biāo)。實(shí)驗(yàn)中使用的詞典為L(zhǎng)attice-LSTM中預(yù)訓(xùn)練好的詞嵌入矩陣,包含70.4萬(wàn)個(gè)詞匯。具體參數(shù)配置如表5所示。
表5 APD-CA模型參數(shù)設(shè)置Table 5 Hyperparameter settings of APD-CA
模型整體性能實(shí)驗(yàn)結(jié)果以及模型相對(duì)訓(xùn)練時(shí)間如表6所示,APD-CA模型相較于其他對(duì)比模型在三項(xiàng)評(píng)估指標(biāo)上均達(dá)到了最佳結(jié)果,分別為93.08%、93.08%、93.08%,且訓(xùn)練速度僅為基線(xiàn)模型的1.14倍。Lattice-LSTM雖然取得了較高精確率92.79%,但是由于模型構(gòu)造致使部分詞匯信息丟失,在一些極端情況下部分模型甚至?xí)嘶癁榛€(xiàn)模型,并且每個(gè)時(shí)間步獲取到的詞匯數(shù)量不一致導(dǎo)致模型無(wú)法并行化訓(xùn)練,導(dǎo)致訓(xùn)練速度緩慢。LR-CNN雖然通過(guò)卷積神經(jīng)網(wǎng)絡(luò)的堆疊以及Rethinking機(jī)制[33]解決了詞匯沖突問(wèn)題,但是模型計(jì)算過(guò)于復(fù)雜,過(guò)多的參數(shù)需要通過(guò)模型訓(xùn)練,本文構(gòu)建的數(shù)據(jù)集不足以支撐該模型的訓(xùn)練,因此該模型識(shí)別效果不佳,F(xiàn)1值僅為91.29%,且仍存在效率問(wèn)題。WC-LSTM雖然依靠對(duì)詞匯進(jìn)行固定編碼大大提升了模型的訓(xùn)練速度,但是該模型卻依舊忽略了字符出現(xiàn)在詞匯中間的情況,例如“輪紋病”該詞不會(huì)被引入字符“輪”所代表的特征向量中,從而造成了語(yǔ)義信息的丟失。SoftLexicon通過(guò)對(duì)詞匯進(jìn)行分類(lèi)很大程度上減少了語(yǔ)義信息損失,但是其直接使用了詞匯頻率作為融合權(quán)重,忽略了詞匯自身的重要性。APD-CA模型則克服了上述缺點(diǎn),在蘋(píng)果病蟲(chóng)害領(lǐng)域的命名實(shí)體識(shí)別中取得了較好的效果。由于在訓(xùn)練過(guò)程中使用了大量的靜態(tài)數(shù)據(jù)作為模型參數(shù),訓(xùn)練速度也隨之加快。
表6 命名實(shí)體識(shí)別模型性能對(duì)比Table 6 Comparison of performance of named entity recognition models
具體實(shí)體類(lèi)別的識(shí)別結(jié)果如圖5所示。相較于對(duì)比模型,APD-CA模型對(duì)“種植區(qū)域”“蘋(píng)果樹(shù)部位”“害蟲(chóng)生長(zhǎng)時(shí)期”等9種實(shí)體類(lèi)別的識(shí)別效果較好,達(dá)到了最佳的F1值,并且在“果實(shí)病害”“防治工具”“病菌特征”等6種實(shí)體類(lèi)別上的識(shí)別效果與最佳模型極為接近。由上述實(shí)驗(yàn)結(jié)果可知,APD-CA模型在整體數(shù)據(jù)上取得了較好的識(shí)別效果,解決了實(shí)體樣本分布不均勻所導(dǎo)致的識(shí)別效果下降的問(wèn)題,并且提升了對(duì)“種植區(qū)域”“蘋(píng)果樹(shù)部位”等包含大量嵌套實(shí)體的實(shí)體類(lèi)的識(shí)別效果,進(jìn)一步證明了該模型的優(yōu)越性。
圖5 不同實(shí)體類(lèi)別的F1值Fig.5 F1-score of different entity categories
各模型的收斂曲線(xiàn)如圖6所示,APD-CA模型在訓(xùn)練10個(gè)Epoch之后趨于收斂,收斂速度與其他大部分模型保持一致。并且相較于其他模型,APD-CA模型在每個(gè)Epoch上的訓(xùn)練時(shí)間更短,充分體現(xiàn)了該模型的訓(xùn)練效率優(yōu)勢(shì)。因此無(wú)論從模型性能還是訓(xùn)練效率均證明了基于APD-CA的蘋(píng)果病蟲(chóng)害命名實(shí)體識(shí)別方法的有效性和優(yōu)越性。
圖6 模型收斂曲線(xiàn)Fig.6 Convergence curves of models
為了對(duì)比本文提出的基于ED-ARE的蘋(píng)果病蟲(chóng)害關(guān)系抽取方法與其他深度學(xué)習(xí)模型的抽取效果,將該方法與CNN[34]、LSTM[35]、BLSTM[36]、Att-BLSTM[37]四種模型進(jìn)行性能對(duì)比實(shí)驗(yàn)。并對(duì)每種關(guān)系的實(shí)驗(yàn)結(jié)果做出了詳細(xì)展示。該實(shí)驗(yàn)具體參數(shù)配置如表7所示。
表7 ED-ARE模型參數(shù)設(shè)置Table 7 Hyperparameter settings of ED-ARE
模型整體性能實(shí)驗(yàn)結(jié)果如表8所示,ED-ARE模型的精確率、召回率和F1值均優(yōu)于對(duì)比模型,分別為95.59%、93.88%、94.73%。ED-ARE的F1值相較于CNN高5.74個(gè)百分點(diǎn),原因在于其克服了CNN不適宜學(xué)習(xí)長(zhǎng)文本語(yǔ)義信息的缺點(diǎn)。ED-ARE的F1值相較于LSTM高4.5個(gè)百分點(diǎn),因?yàn)镋D-ARE使用了雙向GRU,相比LSTM不但考慮了上文信息,還考慮了下文信息。ED-ARE的F1值相較于BLSTM高3.42個(gè)百分點(diǎn),這是由于ED-ARE模型中注意力機(jī)制有效提升了影響關(guān)系抽取的關(guān)鍵信息的權(quán)重,使得關(guān)系抽取的效果更好。EDARE的F1值相較于Att-BLSTM高3.41個(gè)百分點(diǎn),相比Att-BLSTM,本文的ED-ARE模型引入了編碼解碼機(jī)制,在編碼層和解碼層中均采用了BiGRU網(wǎng)絡(luò),GRU相比LSTM既可以學(xué)習(xí)長(zhǎng)距離依賴(lài)信息,又由于參數(shù)少而效率更高,同時(shí)利用雙層BiGRU結(jié)構(gòu)充分學(xué)習(xí)蘋(píng)果病蟲(chóng)害文本的上下文語(yǔ)義信息,獲取更加豐富的文本特征,增強(qiáng)ED-ARE模型的關(guān)系抽取能力。綜上可知,本文構(gòu)建的ED-ARE模型在蘋(píng)果病蟲(chóng)害關(guān)系抽取任務(wù)中達(dá)到了最優(yōu)效果。
表8 關(guān)系抽取模型性能對(duì)比Table 8 Comparison of performance of relation extraction models 單位:%
各關(guān)系的實(shí)驗(yàn)結(jié)果如圖7所示,ED-ARE模型在蘋(píng)果病蟲(chóng)害數(shù)據(jù)集上的關(guān)系抽取效果總體上優(yōu)于對(duì)比模型,并在17種關(guān)系類(lèi)別上的F1值表現(xiàn)較好。不同模型在各個(gè)關(guān)系類(lèi)別上的表現(xiàn)有相似性,例如在“別稱(chēng)”“分布”“屬于”等關(guān)系上,不同模型都達(dá)到了較高的F1值,這是因?yàn)檫@些關(guān)系類(lèi)別在數(shù)據(jù)集中的樣本數(shù)量較多,模型可以得到充分訓(xùn)練,實(shí)現(xiàn)好的關(guān)系抽取效果。在“消毒”“套袋”“灌溉”等關(guān)系上,不同模型的表現(xiàn)又有差異性,因?yàn)檫@幾種關(guān)系在數(shù)據(jù)集中的樣本數(shù)很少,模型難以充分學(xué)習(xí)到相應(yīng)特征信息,因此表現(xiàn)效果不佳。相對(duì)來(lái)講,ED-ARE受樣本分布不均勻影響最小,尤其對(duì)于“套袋”關(guān)系來(lái)說(shuō),F(xiàn)1值遠(yuǎn)遠(yuǎn)高于其他模型,因?yàn)镋D-ARE模型使用了雙層BiGRU結(jié)構(gòu),充分學(xué)習(xí)文本上下文特征,增強(qiáng)了模型關(guān)系抽取的性能。由此可見(jiàn),本文提出的ED-ARE模型更適宜解決蘋(píng)果病蟲(chóng)害關(guān)系樣本不均勻的問(wèn)題。
圖7 不同關(guān)系類(lèi)別的F1值Fig.7 F1-score of different relationships
獲取到經(jīng)過(guò)處理的知識(shí)之后,對(duì)知識(shí)的存儲(chǔ)及可視化是知識(shí)圖譜構(gòu)建過(guò)程中的重要環(huán)節(jié)。當(dāng)前較為主流的圖數(shù)據(jù)庫(kù)有Neo4j、OrientDB、Arangodb、JanusGraph等。其中,Neo4j圖數(shù)據(jù)庫(kù)(https://neo4j.com/)因其高效的關(guān)系遍歷、完全ACID兼容和豐富的可視化界面等優(yōu)勢(shì)而被廣泛使用。因此本文將知識(shí)融合后的2 136個(gè)實(shí)體節(jié)點(diǎn),5 345個(gè)三元組導(dǎo)入Neo4j圖數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)和表示。蘋(píng)果病蟲(chóng)害知識(shí)圖譜的部分可視化實(shí)例如圖8所示。
知識(shí)圖譜構(gòu)建完成并實(shí)現(xiàn)可視化之后,主要可以應(yīng)用于精準(zhǔn)病蟲(chóng)害信息查詢(xún)和智能病蟲(chóng)害輔助診斷兩個(gè)方面:
(1)精準(zhǔn)病蟲(chóng)害信息查詢(xún)
信息查詢(xún)是知識(shí)圖譜最為基本且重要的應(yīng)用方式,本文所構(gòu)建的細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜可以通過(guò)關(guān)鍵字對(duì)蘋(píng)果病蟲(chóng)害相關(guān)信息進(jìn)行檢索,并以圖的形式呈現(xiàn)查詢(xún)結(jié)果。例如在圖譜中查詢(xún)“蘋(píng)小食心蟲(chóng)”,查詢(xún)結(jié)果如圖8所示,包含詳細(xì)的害蟲(chóng)屬性信息以及精確的防治信息。而使用傳統(tǒng)搜索引擎或者通用知識(shí)圖譜對(duì)病蟲(chóng)害信息進(jìn)行查詢(xún)所得到的信息往往比較模糊且科普性較強(qiáng),難以直接應(yīng)用于現(xiàn)實(shí)防治場(chǎng)景中。具體實(shí)例如圖9所示,在百度百科上查詢(xún)出的結(jié)果為非結(jié)構(gòu)化文本信息,難以直觀體現(xiàn)知識(shí)之間的關(guān)聯(lián)關(guān)系;在通用知識(shí)圖譜“知識(shí)工廠”(http://kw.fudan.edu.cn/)中的查詢(xún)結(jié)果雖然同樣以圖的形式表示,但大多為該種蟲(chóng)害的基本屬性,缺乏危害部位、防治措施等相關(guān)信息。
圖8 知識(shí)圖譜可視化示例Fig.8 Knowledge graph visualization example
圖9 查詢(xún)結(jié)果實(shí)例Fig.9 Query result example
(2)智能病蟲(chóng)害輔助診斷
基于蘋(píng)果病蟲(chóng)害知識(shí)圖譜的智能病蟲(chóng)害輔助診斷可以憑借其包含的豐富知識(shí)對(duì)病蟲(chóng)害進(jìn)行精確診斷,并引導(dǎo)果農(nóng)科學(xué)治理果園,具體流程如圖10所示。當(dāng)病蟲(chóng)害發(fā)生時(shí),果農(nóng)對(duì)病蟲(chóng)害自身特征以及造成的危害癥狀進(jìn)行觀察,輸入相關(guān)描述語(yǔ)句。之后,根據(jù)預(yù)定義詞典從輸入語(yǔ)句中提取詞匯信息并挖掘相似詞匯。在此基礎(chǔ)上,使用本文構(gòu)建的APD-CA模型和ED-ARE模型從中抽取命名實(shí)體及實(shí)體間關(guān)系形成三元組。然后,根據(jù)三元組信息構(gòu)建Neo4j數(shù)據(jù)庫(kù)中獨(dú)有的Cypher查詢(xún)語(yǔ)句對(duì)蘋(píng)果病蟲(chóng)害知識(shí)圖譜進(jìn)行搜索并返回搜索結(jié)果,即與查詢(xún)語(yǔ)句相關(guān)的子圖。最后,果農(nóng)通過(guò)搜索結(jié)果進(jìn)行病蟲(chóng)害診斷并采用相應(yīng)的防治措施。如果查詢(xún)結(jié)果不符合當(dāng)前狀況,還可以?xún)?yōu)化相關(guān)Cypher語(yǔ)句進(jìn)行二次查詢(xún)。
圖10 智能病蟲(chóng)害輔助診斷流程Fig.10 Intelligent disease and pest assisted diagnosis process
通過(guò)分析蘋(píng)果病蟲(chóng)害語(yǔ)料的特點(diǎn),本文提出了一種自頂向下與自底向上相結(jié)合的細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜構(gòu)建方法。首先構(gòu)建了包含19種實(shí)體類(lèi)型和22種關(guān)系種類(lèi)的細(xì)粒度蘋(píng)果病蟲(chóng)害領(lǐng)域本體庫(kù)。并在此基礎(chǔ)上,標(biāo)注了蘋(píng)果病蟲(chóng)害知識(shí)圖譜數(shù)據(jù)集AppleKG,為后續(xù)相關(guān)研究奠定數(shù)據(jù)基礎(chǔ)。然后提出了一種符合蘋(píng)果病蟲(chóng)害語(yǔ)料特征的知識(shí)抽取方法,分別使用APD-CA模型和ED-ARE模型對(duì)命名實(shí)體和實(shí)體關(guān)系進(jìn)行抽取。最后,使用Neo4j數(shù)據(jù)庫(kù)對(duì)知識(shí)圖譜進(jìn)行存儲(chǔ)與可視化,并對(duì)基于細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜的相關(guān)應(yīng)用進(jìn)行了討論。
雖然本文在細(xì)粒度蘋(píng)果病蟲(chóng)害知識(shí)圖譜研究中已經(jīng)取得了初步成果,但仍有可提升空間。在未來(lái)的工作中,需要進(jìn)一步研究命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)之間的內(nèi)在依賴(lài)關(guān)系,避免命名實(shí)體識(shí)別過(guò)程中產(chǎn)生的誤差進(jìn)一步影響后續(xù)關(guān)系抽取的效果;同時(shí),隨著蘋(píng)果病蟲(chóng)害防治知識(shí)的發(fā)展與變化,如何對(duì)新抽取出的知識(shí)自動(dòng)進(jìn)行質(zhì)量評(píng)估并融入原有知識(shí)圖譜,提高蘋(píng)果病蟲(chóng)害知識(shí)圖譜的智能化更新水平也是一個(gè)值得深入研究的方向。