王天一,孟小亮*,張 華
(1.武漢大學(xué) 遙感信息工程學(xué)院,湖北 武漢 430079)
知識圖譜是通過節(jié)點和有向邊的方式來表達實體、概念及其相互之間關(guān)系的大型語義網(wǎng)絡(luò),是大數(shù)據(jù)時代背景下從數(shù)據(jù)互聯(lián)邁向知識互聯(lián)服務(wù)的基礎(chǔ)[1-2]。目前,知識圖譜在很多領(lǐng)域發(fā)揮作用,而應(yīng)用知識圖譜的前提是構(gòu)建知識圖譜。地學(xué)領(lǐng)域已有學(xué)者探究面向災(zāi)害應(yīng)急響應(yīng)的地質(zhì)災(zāi)害鏈知識圖譜的構(gòu)建方法,但所用方法未充分利用豐富的文獻文本資源[3];部分信息管理領(lǐng)域?qū)W者對從文獻等文本資源中提取的知識進行了研究,但通用方法對專業(yè)領(lǐng)域知識圖譜構(gòu)建具有局限性[4-5]。生態(tài)環(huán)境是人類賴以生存和發(fā)展的重要基礎(chǔ),人類社會的建設(shè)對生態(tài)環(huán)境安全造成了難以估量的影響,為了人類的可持續(xù)發(fā)展,生態(tài)環(huán)境的治理保護顯得尤為重要[6]。生態(tài)環(huán)境領(lǐng)域期刊文獻中的文本具有形式簡潔、知識集中、現(xiàn)勢性好等特點。本文選擇生態(tài)環(huán)境領(lǐng)域文獻作為數(shù)據(jù)源研究領(lǐng)域知識圖譜的構(gòu)建方法具有典型性。
本文設(shè)計的文獻驅(qū)動的領(lǐng)域知識圖譜構(gòu)建方法如圖1所示,包括數(shù)據(jù)獲取與存儲、領(lǐng)域知識圖譜模式層構(gòu)建、語料庫語義標(biāo)注、知識自動抽取與知識驗證等部分。輸入數(shù)據(jù)源可以是文獻數(shù)據(jù)庫、行業(yè)標(biāo)準(zhǔn)等,步驟①通過自動抓取程序、OCR文本識別以及PDF文本抽取等方式獲取領(lǐng)域文獻文本數(shù)據(jù);步驟②將數(shù)據(jù)存儲到原始語料數(shù)據(jù)庫中;步驟③~④通過統(tǒng)計和機器學(xué)習(xí)方法,如TextRank、TF-IDF利用無監(jiān)督關(guān)系抽取模型OPENIE抽取領(lǐng)域中關(guān)鍵的實體概念以及實體間的相關(guān)關(guān)系;步驟⑤利用領(lǐng)域知識和建模系統(tǒng)人工總結(jié)歸納、提煉得到領(lǐng)域知識圖譜的模式層,并將其作為語義標(biāo)注平臺的標(biāo)注依據(jù);步驟⑥將模式層導(dǎo)入語義標(biāo)注工具中;步驟⑦通過語義標(biāo)注平臺從原始語料庫獲取未標(biāo)注的文本;步驟⑧人工參與標(biāo)注領(lǐng)域?qū)嶓w和關(guān)系組建語義豐富的領(lǐng)域?qū)嶓w關(guān)系語料庫;完成標(biāo)注的語料庫作為訓(xùn)練樣本,通過步驟⑨對領(lǐng)域知識自動抽取算法進行訓(xùn)練;訓(xùn)練完成后,將未標(biāo)注的大量文本數(shù)據(jù)通過步驟⑩輸入領(lǐng)域知識抽取算法;經(jīng)算法處理后,步驟○1得到抽取的知識三元組;步驟○12對抽取的知識三元組進行驗證;步驟○13將符合規(guī)定條件的知識三元組存儲到領(lǐng)域知識圖譜中。
圖1 文獻驅(qū)動的領(lǐng)域知識圖譜構(gòu)建方法技術(shù)流程圖
數(shù)據(jù)源的質(zhì)量將對研究結(jié)果造成很大影響,文獻文本數(shù)據(jù)規(guī)范、客觀、可信。本文選取的數(shù)據(jù)來源于《生態(tài)學(xué)報》《環(huán)境科學(xué)》等專業(yè)生態(tài)環(huán)境領(lǐng)域中文期刊,均從收錄期刊的文獻數(shù)據(jù)庫或期刊官網(wǎng)中獲取。由于這些文本數(shù)據(jù)具有較規(guī)則的數(shù)據(jù)形式和特定的Dom結(jié)構(gòu),因此可通過分析頁面要素的特點和規(guī)律,編寫抓取程序?qū)ξ恼碌臉?biāo)題、作者、關(guān)鍵詞、摘要以及全文內(nèi)容等信息進行自動獲取。本文共獲取2014—2020年見刊的5 000多篇文獻約2 000萬字的語料內(nèi)容數(shù)據(jù)。
模式層構(gòu)建是構(gòu)建知識圖譜的核心內(nèi)容[7],模式層構(gòu)建即構(gòu)建本體模型。本體模型的構(gòu)建包括手工構(gòu)建和自動構(gòu)建等方法[8],首先需明確概念、關(guān)系等內(nèi)容,然后便可在某種本體語言的基礎(chǔ)上進行本體建模[9]。傳統(tǒng)構(gòu)建方法幾乎完全需要領(lǐng)域?qū)<覐恼Z料文獻中人工提煉,而自動構(gòu)建方法可快速建立本體模型,但與人們的認(rèn)知習(xí)慣有所差距[10]。因此,本文首先利用機器學(xué)習(xí)技術(shù)從大量生態(tài)環(huán)境領(lǐng)域文獻文本中自動抽取領(lǐng)域關(guān)鍵詞和領(lǐng)域關(guān)系,再人工從語義層面分析抽取結(jié)果,然后通過建模語言歸納出領(lǐng)域知識圖譜的模式層,最終以構(gòu)建的模式層為指導(dǎo)建立領(lǐng)域語料庫。
關(guān)鍵詞可集中反映相關(guān)領(lǐng)域的特征,本文利用TF-IDF與TextRank算法,并融合詞頻統(tǒng)計的方式自動挖掘生態(tài)環(huán)境領(lǐng)域關(guān)鍵詞。TF-IDF算法兼顧了詞頻特征和逆文本頻率指數(shù),TextRank算法利用圖的思想在提取時顧及了語義信息。在使用Python中文分詞庫jieba的基礎(chǔ)上,利用各方法抽取領(lǐng)域關(guān)鍵詞。為保證領(lǐng)域關(guān)鍵詞抽取結(jié)果的可靠性,根據(jù)各方法的提取能力定權(quán),加權(quán)計算綜合重要性指標(biāo)。I綜合為綜合重要性指標(biāo),I詞頻、ITF-IDF、ITextRank分別為歸一化后的詞頻、TF-IDF值和TextRank值。利用式(1)得到1 500個關(guān)鍵詞語及其重要級。為了可視化分析和直觀展示抽取結(jié)果,本文制作了領(lǐng)域關(guān)鍵詞云圖(圖2),可以看出,“污染”、“群落”、“生物”、“環(huán)境”等詞語是生態(tài)環(huán)境領(lǐng)域中的關(guān)鍵概念,但“土壤”、“碳”等一些詞語是要素實例,還存在一些高頻詞匯與生態(tài)環(huán)境領(lǐng)域相關(guān)性不高,如“評價”、“可能”、“說明”等。
圖2 生態(tài)環(huán)境領(lǐng)域關(guān)鍵詞云圖
I綜合=0.2I詞頻+0.4ITF-IDF+0.4ITextRank(1)
關(guān)系是指實體或概念間的聯(lián)系,是知識圖譜模式層的核心要素。本文首先對文本數(shù)據(jù)進行分句處理,然后通過OPENIE工具(來源于Stanford CoreNLP自然語言處理工具包)進行無監(jiān)督開放信息抽取,最終提煉出135 971條關(guān)系三元組。人工篩除含義不明的關(guān)系后,統(tǒng)計關(guān)系出現(xiàn)的頻次,歸納得到具有生態(tài)環(huán)境領(lǐng)域含義的關(guān)系,如表1所示。
表1 生態(tài)環(huán)境領(lǐng)域關(guān)系抽取與篩選結(jié)果
UMLS是一種工具化、集成化、跨領(lǐng)域的語言系統(tǒng)[11]。本文將UMLS的頂層概念(圖3)與提取的領(lǐng)域關(guān)鍵詞和關(guān)系相結(jié)合,構(gòu)建生態(tài)環(huán)境領(lǐng)域知識圖譜的模式層。
圖3 UMLS頂層概念
參照UMLS體系,將領(lǐng)域知識體系在頂層概念中分為概念實體、物理實體、現(xiàn)象過程和活動4個實體,含義分別為人類主觀認(rèn)知的實體,客觀存在的實體,唯物的、無意識的自然現(xiàn)象,計劃性的、可歸因的人類行為。通過對生態(tài)環(huán)境領(lǐng)域關(guān)鍵詞和關(guān)系的歸類,歸納得到生態(tài)環(huán)境實體列表與關(guān)系列表(表2、3)。
表2 生態(tài)環(huán)境領(lǐng)域?qū)嶓w列表
表3 生態(tài)環(huán)境領(lǐng)域關(guān)系列表
生態(tài)環(huán)境的核心是環(huán)境要素和生物體。人類活動造成的損害與生態(tài)治理過程中的分析都不斷影響著生態(tài)環(huán)境[12]。沿此思路,本文將知識圖譜模式層歸納為生態(tài)環(huán)境風(fēng)險、生態(tài)環(huán)境主體、生態(tài)功能現(xiàn)象過程、人類活動、分析方法五大要素。UMLS頂層概念將實體間關(guān)系分為上下位關(guān)系和相關(guān)關(guān)系,其中相關(guān)關(guān)系涵蓋環(huán)境實體間、屬性實體間、環(huán)境與屬性實體間的關(guān)系,環(huán)境實體間的關(guān)系又包含相關(guān)關(guān)系、概念關(guān)系、等價關(guān)系等。整合上述生態(tài)環(huán)境實體與關(guān)系,得到生態(tài)環(huán)境領(lǐng)域知識圖譜模式層,如圖4所示。
圖4 生態(tài)環(huán)境領(lǐng)域知識圖譜模式層
建立語料庫是自動抽取知識的先決條件。目前生態(tài)環(huán)境領(lǐng)域還沒有公開可查詢的語義標(biāo)注集,且諸多語義標(biāo)注軟件在用戶體驗上不能滿足需求。語義標(biāo)注應(yīng)從知識圖譜的模式層出發(fā),包含實體和關(guān)系的標(biāo)注。關(guān)系表達為三元組(E1,R,E2),R表征實體E1和E2的關(guān)系。本文設(shè)計和開發(fā)了語義標(biāo)注軟件工具,主界面如圖5所示。語義標(biāo)注流程為:①標(biāo)注實體,標(biāo)注人員在選定文字后,選擇實體類型與空間信息,點擊標(biāo)注按鈕即可完成實體標(biāo)注;②標(biāo)注關(guān)系,先在實體列表上設(shè)置頭實體和尾實體,再設(shè)置關(guān)系類型點擊標(biāo)注關(guān)系按鈕即可標(biāo)注一條關(guān)系。本文共標(biāo)注了40萬字的語料,其中實體類別標(biāo)簽2.2萬條,關(guān)系類別標(biāo)簽1.1萬條。
圖5 設(shè)計實現(xiàn)的語義標(biāo)注軟件工具
在生態(tài)環(huán)境領(lǐng)域,已有學(xué)者針對生態(tài)環(huán)境領(lǐng)域命名實體識別進行了研究,如蔣翔[13]等基于BiLSTM-IDCNN-CRF模型進行了生態(tài)治理技術(shù)領(lǐng)域命名實體識別。本文采用BERT-BiGRU-CRF模型進行生態(tài)環(huán)境領(lǐng)域?qū)嶓w提取,并討論了最佳的實驗參數(shù);采用Transformer[14]特征提取網(wǎng)絡(luò)對生態(tài)環(huán)境領(lǐng)域?qū)嶓w之間的關(guān)系進行抽??;利用校驗次數(shù)和來源指數(shù)對抽取的知識進行質(zhì)量驗證,從而自動構(gòu)建生態(tài)環(huán)境領(lǐng)域知識圖譜。
在構(gòu)建的語料庫的基礎(chǔ)上,通過程序生成訓(xùn)練樣本,實體利用程序轉(zhuǎn)換并輸出參考BIO方案的標(biāo)注結(jié)果,標(biāo)記數(shù)據(jù)以60%、20%、20%的比例隨機用于訓(xùn)練、驗證和最終測試。BERT[15]是應(yīng)用廣泛的詞向量編碼模型,幾乎替代了以Word2vec[16]為主流的詞向量編碼模型,在許多自然語言處理任務(wù)中精度更高;對于長序列文本處理,GRU[17]比LSTM[18]模型所需的訓(xùn)練樣本更少,CRF[19](條件隨機場)是序列化標(biāo)注算法。本文利用樣本訓(xùn)練BERT-BiGRU-CRF模型并測試,相關(guān)文獻指出模型學(xué)習(xí)率與BatchSize比值越大泛化性越好[20],以此為指導(dǎo)權(quán)衡訓(xùn)練時間,最終調(diào)整Batch-Size為4、學(xué)習(xí)率為1e-5時,平均準(zhǔn)確率為88.64%、平均召回率為88.90%,各類的識別準(zhǔn)確率在85%~99%之間。
本文利用Transformer網(wǎng)絡(luò)進行關(guān)系抽取?;谠摼W(wǎng)絡(luò)的編碼器組件,將數(shù)據(jù)輸入到Transformer網(wǎng)絡(luò)的Encoder中,多頭注意力機制將從語句中提取重要信息,然后將注意力層的輸出與輸入進行合并和正則化。為充分抽取不同特征等級的句子信息,此處借鑒ResNet網(wǎng)絡(luò)的方法,將Transformer的結(jié)果拼接并傳送給全連接層輸出分類結(jié)果。經(jīng)試驗得到,學(xué)習(xí)率為1e-4、BatchSize為16時,取得最優(yōu)的平均準(zhǔn)確率(97.25%)。
生態(tài)環(huán)境領(lǐng)域?qū)嶓w和關(guān)系自動抽取完畢后,得到了數(shù)目龐大的領(lǐng)域?qū)嶓w和關(guān)系構(gòu)成的三元組,即知識圖譜的知識單元。這些通過深度學(xué)習(xí)算法抽取的知識單元并非完全可靠,不能直接構(gòu)建知識圖譜,需先將其暫存在Elasticsearch數(shù)據(jù)庫中,再利用知識質(zhì)量驗證算法過濾篩選得到可靠的知識,最終將驗證后的知識數(shù)據(jù)同步到Neo4j數(shù)據(jù)庫。
知識來源是衡量知識置信度的重要指標(biāo)。本文設(shè)置Q為來源指數(shù)(指數(shù)越高表明知識越可信),圖譜知識來源包括人工標(biāo)注文獻文本、模型識別文獻文本、模型識別其他文本等,模型的訓(xùn)練樣本是經(jīng)人工標(biāo)注的文獻文本,且基于最大似然的思想,認(rèn)為文獻文本數(shù)據(jù)、人工標(biāo)注數(shù)據(jù)相對于其他來源的數(shù)據(jù)可信度更高,綜上得出式(2)。
T為校驗次數(shù),是指同一個知識三元組被嘗試插入知識圖譜多次,其中來源指數(shù)不小于現(xiàn)有圖譜中該三元組來源指數(shù)的次數(shù)。當(dāng)某知識校驗次數(shù)大于閾值,可將該知識視為正確。知識三元組需經(jīng)過Q、T指數(shù)的考核才能錄入圖譜數(shù)據(jù)庫,知識更新的流程為:當(dāng)知識圖譜中插入新的知識三元組時,首先從知識圖譜中查詢是否具有頭尾實體相似的三元組,若無,則該三元組是新知識,設(shè)置知識來源后插入知識圖譜;若有,如果關(guān)系相同,判斷來源是否更加權(quán)威,更新現(xiàn)有相似知識三元組的來源指數(shù)和校驗次數(shù),如果關(guān)系不同,則比較知識三元組置信水平,倘若圖譜中知識三元組校驗次數(shù)超過閾值,則認(rèn)為知識正確,倘若校驗次數(shù)不及閾值,則比較知識來源的權(quán)威性,新增知識權(quán)威性較高則插入,反之則丟棄,否則比較模型識別的置信度,新知識置信度較高則插入知識,隨后更新Q、T指數(shù),如圖6所示。
圖6 知識驗證流程圖
本文通過上述步驟自動構(gòu)建知識圖譜,并將部分結(jié)果做可視化處理,結(jié)果如圖7所示,通過認(rèn)證次數(shù)確定知識節(jié)點的符號大小,不同節(jié)點顏色表示不同類別的知識節(jié)點,知識節(jié)點的名稱通過文本顯示。
圖7 部分知識圖譜可視化
當(dāng)前海量生態(tài)環(huán)境文獻文本中蘊含了豐富的非結(jié)構(gòu)化領(lǐng)域?qū)I(yè)知識,這些數(shù)據(jù)可被用于構(gòu)建知識圖譜。本文提出了一種生態(tài)環(huán)境文獻文本驅(qū)動的自動化領(lǐng)域知識圖譜構(gòu)建方法。該方法以生態(tài)環(huán)境類期刊文獻文本為數(shù)據(jù)源,通過構(gòu)建生態(tài)環(huán)境領(lǐng)域知識模型,標(biāo)注生態(tài)環(huán)境領(lǐng)域語料庫,并基于深度學(xué)習(xí)方法抽取生態(tài)環(huán)境領(lǐng)域信息,實現(xiàn)生態(tài)環(huán)境領(lǐng)域知識圖譜的自動化構(gòu)建。
1)本文共獲取5 000余篇生態(tài)環(huán)境領(lǐng)域文獻,共計2 000萬余字,采用機器學(xué)習(xí)方法抽取保留了重要性指數(shù)前1 000的詞組和關(guān)系,再從抽取結(jié)果中總結(jié)歸納構(gòu)建生態(tài)環(huán)境領(lǐng)域知識圖譜模式層。
2)從領(lǐng)域知識圖譜模式層出發(fā),分析了標(biāo)注過程的需求,自主開發(fā)了語義標(biāo)注工具,并利用該工具識別語料40萬字,完成了2.2萬條實體與1.1萬條關(guān)系的語義標(biāo)注工作。
3)本文進行了生態(tài)環(huán)境領(lǐng)域信息抽取算法的訓(xùn)練與調(diào)優(yōu)。實驗結(jié)果表明,BERT-BiLSTM-CRF模 型 在BatchSize(4)、Learningrate(3e-5)時效 果 較好、效率較高,抽取總體精度為89.09%,召回率為88.60%,F(xiàn)1值為88.85;Transformer模型在Batch-Size(16)、Learningrate(1e-4)時效果最好,抽取總體精度為96.27%,召回率為97.33%,F(xiàn)1值為96.80%。抽取數(shù)據(jù)經(jīng)過本文提出的知識驗證算法篩選后存儲到知識圖譜數(shù)據(jù)庫中,最終得到29 490條知識三元組。
本文還可在以下兩個方面進一步開展工作:①語義標(biāo)注時,在選取文本契合度方面可進一步利用專家知識,并研究提高標(biāo)注效率的方法;②本文使用的實體提取和關(guān)系提取模型仍為通用模型,可進一步對生態(tài)環(huán)境領(lǐng)域?qū)嶓w提取和關(guān)系提取的網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化。