段夢詩,肖 樂
(河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,河南鄭州 450000)
21 世紀(jì)人工智能經(jīng)歷了從知識到大數(shù)據(jù)的過渡,符號主義的人工智能強調(diào)知識對智能的作用,但因需要大量的語料庫和規(guī)則庫,一般只適用于專用領(lǐng)域而不適用于智能系統(tǒng)。機器學(xué)習(xí)、深度學(xué)習(xí)算法的興起和發(fā)展能夠更準(zhǔn)確、深入地挖掘出數(shù)據(jù)背后的新知識,但也因為深度學(xué)習(xí)只能提取潛在特征,抽取不到語義特征,所以要將符號主義與聯(lián)結(jié)主義相結(jié)合,即再次將知識與數(shù)據(jù)聯(lián)結(jié),知識圖譜就是其中的一個重要表現(xiàn)。
知識圖譜由許多大規(guī)模的語義網(wǎng)絡(luò)組成[1]。相較于20 世紀(jì)七八十年代傳統(tǒng)的語義網(wǎng)絡(luò),知識圖譜更能適應(yīng)互聯(lián)網(wǎng)大數(shù)據(jù)時代應(yīng)用需求,能夠自動獲取、構(gòu)建大規(guī)模高質(zhì)量的知識庫。具體來說,知識圖譜是用結(jié)構(gòu)化的形式將客觀世界中的實體、概念及其語義關(guān)系以圖的形式呈現(xiàn)出來,使人們更加快速、準(zhǔn)確地獲得所需信息,這也是機器理解自然語言的關(guān)鍵一步[2]。
目前知識圖譜在計算機視覺、語音處理和自然語言處理等領(lǐng)域產(chǎn)生了巨大的應(yīng)用價值,在金融、醫(yī)療健康、教育、生物等領(lǐng)域有了巨大成就,然而知識圖譜在農(nóng)業(yè)上的應(yīng)用卻很少。根據(jù)聯(lián)合國糧農(nóng)組織2020 年的一項調(diào)查,預(yù)測由新冠肺炎(COVID-19)導(dǎo)致的經(jīng)濟萎縮將使全球饑餓人數(shù)增加8 300 萬,甚至達(dá)到1.32 億,若疫情得不到很好控制則會極大影響糧食生產(chǎn),進而加劇全球糧食系統(tǒng)的脆弱性和供給不足。本文基于糧蟲知識圖譜構(gòu)建應(yīng)用系統(tǒng),介紹了BiLSTM-CRF(Bi-directional Long Short-Term Memory,Conditional Random Fields)模型的實體命名抽取,并基于知識圖譜的智能問答進行初步實現(xiàn)。該系統(tǒng)能夠加強人們對農(nóng)作物病蟲害了解進而增加農(nóng)作物生產(chǎn),也可查詢某種糧食或糧蟲特征,為所需人員提供智能問答服務(wù),在一定程度上緩解糧食存儲壓力,為可持續(xù)發(fā)展提供保障。
知識圖譜構(gòu)建是一個系統(tǒng)工程。首先對獲取的數(shù)據(jù)進行三元組抽取,并對抽取的知識進行融合、加工、推理,實現(xiàn)自底向上的知識庫構(gòu)建,最終實現(xiàn)知識圖譜與其他領(lǐng)域應(yīng)用結(jié)合。知識圖譜構(gòu)建架構(gòu)如圖1 所示。
Fig.1 Knowledge map construction architecture圖1 知識圖譜構(gòu)建架構(gòu)
知識抽取是從非結(jié)構(gòu)化和(半)結(jié)構(gòu)化數(shù)據(jù)中獲取實體、概念及其之間的語義關(guān)系[3],將其形成結(jié)構(gòu)化格式,并按一定規(guī)則加入到知識圖譜中。知識抽取是知識圖譜最基本也是最重要的技術(shù),抽取的正確率和完整度直接影響知識圖譜的質(zhì)量。知識抽取的關(guān)鍵技術(shù)分為實體抽取、關(guān)系抽取和屬性抽取。
1.1.1 實體抽取
早在1991 年的頂級IEEE 會議上,人們就提出了基于規(guī)則和詞典的實體抽取方法,如Rau 等[4]首次采用手工編寫規(guī)則和啟發(fā)式算法提取公司名稱,Rujun 等[5]使用計算機自動識別實體并構(gòu)建詞典,然而固定規(guī)則模板表現(xiàn)出成本太高和耗時過長的缺點。為了尋找更好的特征表示方法,提高模型計算效率,研究者在2003 年的CoNNLL 會議上提出了統(tǒng)計機器學(xué)習(xí)的抽取方法,CRF[6]、SVM[7](Sup?port Vector Machine,支持向量機)等機器模型的出現(xiàn)使提取精度達(dá)到了95.0%以上,雙向LSTM 和注意力機制模型的多種特征結(jié)合使詞性也作為抽取的關(guān)鍵特征[8],中文實體抽取效果顯著提升。隨著深度學(xué)習(xí)的發(fā)展,Zhao 等[9]利用LSTM(Long Short-Term Memory,長短期記憶網(wǎng)絡(luò))得到上下文信息的輸入信息,CRF 得到輸出有關(guān)聯(lián)的標(biāo)注序列,有效使用過去和未來的標(biāo)注來預(yù)測當(dāng)前的標(biāo)注;Ma 等[10]提出的Bi-LSTM+CRF+CNN 端到端的深度學(xué)習(xí)模型適合各種序列標(biāo)注任務(wù),解決了以前手工提取特征和數(shù)據(jù)預(yù)處理難題。
各種實體抽取模型比較如表1 所示。
Table 1 Comparison of entity extraction models表1 實體抽取模型比較
1.1.2 關(guān)系抽取和屬性抽取
經(jīng)過實體抽取之后得到的是一個個零碎結(jié)點,為了得到易于人們理解的自然語言,還需要一條線將這些節(jié)點關(guān)聯(lián)起來,因此需要對文本語料進行關(guān)系抽取,形成所需的關(guān)系網(wǎng)絡(luò)。屬性抽取即抽取實體的屬性,可看作屬性與屬性值或?qū)嶓w與屬性值之間的一種關(guān)系,進而將屬性抽取問題看作關(guān)系抽取問題。
早期采用人工構(gòu)造規(guī)則和模板的關(guān)系抽取方法,主要用語言學(xué)知識對輸入的種子進行分析并推理歸納出結(jié)果,但模板的編寫工作量巨大且要求較高,人們通過選取特征向量選擇適合的分類器進行類別判斷。Gao 等[11]利用深層句法分析特征對中文維基百科構(gòu)建關(guān)系推理模型;Gan等[12]在句法特征基礎(chǔ)上結(jié)合詞法特征、語義特征等關(guān)系特征,使準(zhǔn)確率、F 值相比于傳統(tǒng)的特征提取分別提高2.21%和4.98%,在抽取性能上有了明顯提升。
基于監(jiān)督學(xué)習(xí)的關(guān)系抽取技術(shù)不僅包括基于特征抽取還包括基于核函數(shù)抽取,Guo 等[13]將徑向基核函數(shù)、卷積樹核函數(shù)、多項式核函數(shù)等多核融合方式對中文文本進行關(guān)系抽取。監(jiān)督學(xué)習(xí)雖然提高了抽取準(zhǔn)確率,但需要大量的標(biāo)注信息,而無監(jiān)督學(xué)習(xí)很好地解決了這一問題。Liu等[14]首次使用距離和位置限制獲取大量三元組,平均準(zhǔn)確率為80.0%以上;Lin 等[15]提出在關(guān)系語句方面引入注意力機制,防止傳播錯誤標(biāo)簽的語義信息進而提升學(xué)習(xí)效率。但無標(biāo)簽標(biāo)注導(dǎo)致其模型的準(zhǔn)確率、召回率、F 值都較低,需要對其結(jié)果進行分析和處理才能得到可靠的結(jié)果,所以該技術(shù)還不是很成熟。
半監(jiān)督學(xué)習(xí)很好地將這兩種方法進行結(jié)合,主要思想是使用少量標(biāo)記數(shù)據(jù)并使用大量未標(biāo)記數(shù)據(jù)。余麗等[16]通過Bootstrspping 自動挖掘詞語特征和位置特征,召回率提高了23.0%;Qin 等[17]通過評估模型和實例使實驗測試精確率達(dá)到了97%。半監(jiān)督學(xué)習(xí)不僅降低了人工標(biāo)記成本,還提高了數(shù)據(jù)的準(zhǔn)確性,適用領(lǐng)域更廣。
傳統(tǒng)的機器學(xué)習(xí)算法在實體關(guān)系抽取過程中存在誤差傳播和標(biāo)簽錯誤等問題,隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)和關(guān)系抽取相融合,模型有遞歸神經(jīng)網(wǎng)絡(luò)RNN[18-19]、CNN[20-21]、LSTM[22-23],之后利用這些模型與注意力機制[24]、圖神經(jīng)網(wǎng)絡(luò)(GraphConvolutionalNetworks,GCN)等相結(jié)合。Fu 等[25]通過GCN 解決關(guān)系重疊問題和實體重疊問題,加強了實體之間的關(guān)聯(lián)強度,其召回率、準(zhǔn)確率、F值最佳情況下為60.0%,63.9%,61.9%;Zhang 等[26]結(jié)合雙向LSTM和GCN 剪枝依存解析樹獲得向量組合來進行關(guān)系抽取。
每種抽取方法各有優(yōu)缺點,從每個方法的分類出發(fā)對實體抽取模型進行比較,如表2 所示。
Table 2 Comparison of relation extraction models表2 關(guān)系抽取模型比較情況
由于抽取的知識來源廣泛,常常會出現(xiàn)來自不同數(shù)據(jù)源的知識重復(fù)、關(guān)聯(lián)不明確、異構(gòu)、噪音、不確定等特征,因此必須對知識進行融合。曾鍵榮等[27]采用近鄰傳播聚類算法構(gòu)建多特征融合表示模型解決同名專家消歧;Li 等[28]利用LSTM 自動學(xué)習(xí)所有類型共指的全局表示;對于出現(xiàn)的一詞多義現(xiàn)象,Geng 等[29]通過引入權(quán)重和相似度將數(shù)據(jù)處理為鍵值數(shù)據(jù)對形式,滿足大數(shù)據(jù)環(huán)境下對實體需求的指代消解。
抽取的知識要素經(jīng)過實體鏈接之后還需進行加工處理才得到高質(zhì)量數(shù)據(jù)。Pisarev 等[30]在敘詞表基礎(chǔ)上抽取并添加所需的本體,自動構(gòu)建教育領(lǐng)域的動態(tài)本體;鄭姝雅等[31]綜合機器學(xué)習(xí)、自然語言處理等技術(shù),從非結(jié)構(gòu)化的用戶生成文本內(nèi)容中自動構(gòu)建組織語義豐富的動態(tài)本體。信息和知識會隨著科技的發(fā)展不斷增長,人們的需求也會增多,而只有不斷地對知識庫進行更新才能順應(yīng)時代要求。
知識推理通過計算機推理知識庫中加工完成好的實體、屬性和關(guān)系等要素,增加對隱含知識的挖掘。當(dāng)實體關(guān)系比較復(fù)雜時,知識推理可以補充知識圖譜內(nèi)容,或進行完善、校驗。如實體推理對于三元組(A,father,B)和(B,father,C),可以推出(A,grandfather,C),典型的推理模型如PTrans[32]、RTrans[33]以及RPE[34]模型都極大地提高了知識推理結(jié)果。Bellomarini 等[35]采用多種啟發(fā)式方法達(dá)到解決遞歸和存在量化的終止問題,提供了一種大型知識圖的自動化推理體系結(jié)構(gòu);陳海旭等[36]引用概率學(xué)提出了PSTransE 算法,使知識圖譜的嵌入與路徑知識推理結(jié)合,考慮了關(guān)鍵路徑對推理結(jié)果的影響。隨著圖神經(jīng)網(wǎng)絡(luò)的出現(xiàn),人們使用生成圖神經(jīng)網(wǎng)絡(luò)(GP-GNN)對非結(jié)構(gòu)化文本進行關(guān)系推理從而獲得更準(zhǔn)確的關(guān)系[37]。
以上對知識圖譜技術(shù)中知識抽取、知識融合、知識推理進行了理論闡述,宏觀知識的最終目標(biāo)是應(yīng)用于市場開發(fā)。國外常見的互聯(lián)網(wǎng)知識圖譜主要有FreeBase、DBpe?dia、BableNet、Schema、Wikidata 等,國內(nèi)著名的中文知識圖譜有OpenKG、CN-DBpedia 等。將這些知識圖譜應(yīng)用于實際項目,如谷歌、阿里電商等類似的人工智能搜索公司,實現(xiàn)智能語義搜索、個性化推薦、決策支持等功能。在金融、制造業(yè)、傳媒、醫(yī)療等領(lǐng)域,知識圖譜也是一個熱門的工具,然而國內(nèi)還沒有公布有關(guān)農(nóng)業(yè)專業(yè)領(lǐng)域知識圖譜。本文以糧蟲知識圖譜課題為例,介紹了基于BiLSTM-CRF 模型的實體抽取,在糧食害蟲知識圖譜基礎(chǔ)上初步實現(xiàn)智能問答,以案例形式對知識圖譜的構(gòu)建及應(yīng)用進行闡述。
知識圖譜結(jié)合機器學(xué)習(xí)或深度學(xué)習(xí)算法能迅速組織和處理海量信息,從而實現(xiàn)智能搜索、問答、決策支持等智能糧蟲應(yīng)用。將知識圖譜與糧蟲信息結(jié)合構(gòu)建糧蟲信息圖數(shù)據(jù)庫,將糧蟲信息文本數(shù)據(jù)先存儲到關(guān)系型數(shù)據(jù)庫中,再以半自動化的方式提取出三元組并將其存入圖數(shù)據(jù)庫。糧蟲信息圖數(shù)據(jù)庫的構(gòu)建為糧蟲信息深層次的知識發(fā)現(xiàn)和數(shù)據(jù)挖掘研究、糧蟲信息查詢云平臺提供了基礎(chǔ)數(shù)據(jù)支持。
針對百度百科等網(wǎng)頁格式統(tǒng)一的網(wǎng)頁,使用Python 編寫爬蟲獲取該網(wǎng)頁的html 源碼,再使用BeautifulSoup 解析html 源碼獲取對應(yīng)的數(shù)據(jù),存入數(shù)據(jù)庫。從各種輸入數(shù)據(jù)中將數(shù)據(jù)提取為預(yù)定義形式,數(shù)據(jù)提取的輸入輸出定義如下,輸入:從Internet 下載或抓取數(shù)據(jù);輸出:按照每個糧蟲使用如下分類:英文名、危害方式、地區(qū)、形態(tài)特征分類、糧蟲特征、生活習(xí)性、生活習(xí)性分類、糧種、糧蟲、糧蟲分類、糧蟲識別、糧蟲識別分類、經(jīng)濟意義、防治要點,進行分類并存儲到關(guān)系型數(shù)據(jù)庫中。
采用BiLSTM-CRF 網(wǎng)絡(luò)模型進行實體抽取,使用BiL?STM 解決序列標(biāo)注問題,但這都只考慮了序列輸入的單詞信息,沒有考慮輸出標(biāo)簽,而標(biāo)簽轉(zhuǎn)移對提取序列標(biāo)注問題至關(guān)重要。所以在BiLSTM 基礎(chǔ)上引入CRF,有效利用句子級別的標(biāo)注信息。CRF 的優(yōu)點是能對隱含狀態(tài)建模,學(xué)習(xí)狀態(tài)序列特征,缺點是需手動提取序列特征。本系統(tǒng)采用BiLSTM 與CRF 結(jié)合,在BiLSTM 后邊加一層CRF 以獲得兩者的優(yōu)點。BiLSTM-CRF 模型不是輸出獨立的標(biāo)簽,而是輸出有語義關(guān)聯(lián)的標(biāo)簽序列。實體抽取模型如圖2所示。
Fig.2 Entity extraction process圖2 實體抽取流程
本實驗采用5 種模型的標(biāo)注方法對抽取的每個實體進行標(biāo)注,B1-P 表示病蟲害名首字,B2-P 表示病蟲害名的第二個字,M-P 表示病蟲害名的第三個字(非尾字),E 表示病蟲害名的尾字,O 表示其他;以此類推,B1-G 表示病蟲害名的第二個字,E-G 表示病蟲害名的尾字。
對于抽取后的實體進行模型訓(xùn)練,只需表示出損失函數(shù)即可,采用負(fù)對數(shù)似然函數(shù)作為損失函數(shù),公式如下:
y 為x 對應(yīng)的真實標(biāo)簽數(shù)據(jù)。模型訓(xùn)練完成之后尋找最優(yōu)路徑即得分最高路徑。模型準(zhǔn)確率比較見表3。
Table 3 Model Accuracy (%)表3 模型準(zhǔn)確率 (%)
實驗結(jié)果顯示,基于BiLSTM-CRF 模型實體抽取準(zhǔn)確率高于HMM 等模型。
首先通過命名體識別抽取出實體,之后采用遠(yuǎn)程監(jiān)督的Bootstrapping 方法對關(guān)系進行抽取,使種子集合不斷迭代找出三元組。在可視化圖中點擊任意一個實體可動態(tài)顯示其三元組信息。本文一共提取3 250 個實體、4 467 個三元組。
在系統(tǒng)糧蟲查詢中輸入實體“豌豆象”,將會把豌豆象的所屬類別、蟲種分布、危害物種等相關(guān)信息以圖譜的方式呈現(xiàn)。實體查詢結(jié)果如圖3 所示。
Fig.3 Entity query圖3 實體查詢
在關(guān)系查詢中,輸入“麥蛾”和“玉米象”兩個實體,可將兩個實體之間的關(guān)系都連接起來,關(guān)系查詢結(jié)果如圖4所示。
Fig.4 Relational query圖4 關(guān)系查詢
輸入大谷盜并選擇關(guān)系類別“危害糧種”,關(guān)系查詢結(jié)果如圖5 所示。
Fig.5 Relational query圖5 關(guān)系查詢
基于知識圖譜的自動問答可深層理解用戶的語義信息和檢索內(nèi)容,將其映射到糧蟲知識圖譜的數(shù)據(jù)層,將搜索到的實體、屬性或語義關(guān)系以知識圖的方式呈現(xiàn)出來。即從知識圖中找到一個或多個對應(yīng)的答案實體,以描述客觀事實問題。對于僅包含簡單語義的問題,自動回答問題的過程等同于將問題轉(zhuǎn)換為知識庫中的事實三元組,以便加快用戶搜索速度和提高查詢準(zhǔn)確率,如智能搜索“危害小麥的糧蟲有什么”,將以動態(tài)圖顯示糧蟲的類別。智能問答結(jié)果如圖6 所示。
Fig.6 Intelligent Q&A圖6 智能問答
在大數(shù)據(jù)環(huán)境下基于知識圖譜的應(yīng)用越來越多,但是對于糧蟲圖譜的學(xué)術(shù)研究成果較少且不深入。后續(xù)目標(biāo)要實現(xiàn)圖譜的私人定制及圖譜社區(qū),為推動糧蟲圖譜應(yīng)用打下基礎(chǔ)。用戶登錄后輸入希望圖譜化展示數(shù)據(jù)或上傳相關(guān)文件,系統(tǒng)根據(jù)數(shù)據(jù)自動構(gòu)建圖譜。圖譜社區(qū)的目標(biāo)主要是用戶向系統(tǒng)公開自己的私人圖譜,其他用戶可對公開的圖譜進行查詢等操作,實現(xiàn)知識共享。目前,雖然出現(xiàn)了實體關(guān)系聯(lián)合抽取方法,但準(zhǔn)確率很低,所以主要困難仍是如何有效抽取出各種文本的高質(zhì)量三元組。
知識圖譜與自然語言處理在各個領(lǐng)域不斷結(jié)合,不僅加快了用戶的搜索時間,還提高了用戶的體驗感與系統(tǒng)的可解釋性。本文構(gòu)建了糧蟲知識圖譜,首先對獲取的數(shù)據(jù)進行預(yù)處理,并對處理的數(shù)據(jù)進行實體、關(guān)系抽取;通過知識融合對抽取后的數(shù)據(jù)進行實體鏈接與合并。本文對糧蟲知識圖譜進行評估,對糧蟲圖譜應(yīng)用進行了可視化展示。
基于糧蟲構(gòu)建知識圖譜,通過查閱大量文獻(xiàn)提出以下問題與研究方向:
(1)從Wikipedia 等大數(shù)據(jù)庫中獲取的數(shù)據(jù),不僅來源于結(jié)構(gòu)化數(shù)據(jù),更多來源于半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。同時,隨著科技的發(fā)展,人們需求逐漸增多,產(chǎn)生的數(shù)據(jù)也會越來越多,如何準(zhǔn)確智能地提高知識抽取效率并挖掘高質(zhì)量的知識是未來研究方向。
(2)在遠(yuǎn)距離監(jiān)督關(guān)系抽取中會產(chǎn)生信息誤傳播。為了減少錯誤標(biāo)簽,需不斷改進相關(guān)算法,提出圖結(jié)構(gòu)或注意力機制模型,避免數(shù)據(jù)不平衡,但需要不斷提高算法性能。
(3)在不同數(shù)據(jù)源中抽取“臟”數(shù)據(jù)或冗余數(shù)據(jù)時,有時為了保證融合的質(zhì)量,融合效率可能不高,如何獲得高質(zhì)量的數(shù)據(jù)是未來研究趨勢。
(4)目前大多數(shù)知識圖譜只適用于特定領(lǐng)域,雖然已有基于開放領(lǐng)域的知識抽取,但與原有領(lǐng)域的專業(yè)化圖譜比較還有很大區(qū)別,較差的移植性導(dǎo)致知識圖譜構(gòu)建平臺的通用性很難實現(xiàn)。
(5)知識圖譜未來的發(fā)展正如一個公式表示的:NLP+KG=NLU,自然語言處理將通過知識圖譜終將走向自然語言理解。