伊海迪,石一鳴,楊博,杜新玉,劉旭紅
(北京信息科技大學(xué)計(jì)算機(jī)學(xué)院,北京100000)
煤炭是我國的基礎(chǔ)能源,我國多數(shù)煤礦建設(shè)了安全監(jiān)測監(jiān)控、綜合信息化網(wǎng)絡(luò)信息管理等各類系統(tǒng),但是煤礦重大災(zāi)害總量仍居高不下,本文將建立煤礦領(lǐng)域知識圖譜,融合各種來源的數(shù)據(jù),為災(zāi)害分析和預(yù)防提供幫助。
隨著知識圖譜技術(shù)的發(fā)展,國內(nèi)外相繼出現(xiàn)了許多大型的知識圖譜,例如:DBpedia、Freebase、YAGO,以及百度的知心搜狗的知立方等,皆為綜合性知識譜圖,在很多特定領(lǐng)域例如煤礦領(lǐng)域,仍然沒有建立完整的知識圖譜。
實(shí)體關(guān)系抽取是構(gòu)建知識圖譜的關(guān)鍵步驟,研究人員提出多種算法用于提高實(shí)體關(guān)系抽取結(jié)果的正確率。Miller等[1]提出了基于完全語法解析樹的方法,在解析樹中增添了對應(yīng)于實(shí)體和關(guān)系的語義信息,并建立生成模型集成了命名實(shí)體識別和關(guān)系抽取等任務(wù),以尋求全局優(yōu)化;Claudio等[2]考慮了實(shí)體及其上下文特征、動詞特征、距離特征、實(shí)體擴(kuò)展特征等,并將關(guān)系抽取轉(zhuǎn)化成一個基于SVM的分類問題;黃鑫[3]通過單獨(dú)選取詞法、實(shí)體和基本短語塊為基本特征,使用SVM工具進(jìn)行關(guān)系抽取,發(fā)現(xiàn)組合特征能顯著提高關(guān)系抽取的性能;毛曉麗[4]提出了基于特征選擇的實(shí)體關(guān)系抽取方案,引入了文本分類中的特征選擇算法,如信息增益、期望交叉熵和x2統(tǒng)計(jì),有效地實(shí)現(xiàn)了實(shí)體關(guān)系抽取中的特征空間降維。
對于上述四種改進(jìn)方法,對于實(shí)體關(guān)系抽取的準(zhǔn)確率都有不同程度的提升,但其本質(zhì)都為監(jiān)督學(xué)習(xí)方法,需要大量的人工標(biāo)注,在數(shù)據(jù)量日益劇增的環(huán)境下,為降低人工成本,在此使用遠(yuǎn)程監(jiān)督方法,通過知識庫對齊樸素文本的方式進(jìn)行實(shí)體對標(biāo)注。接著通過編寫啟發(fā)式規(guī)則減少遠(yuǎn)程監(jiān)督方法產(chǎn)生的噪聲數(shù)據(jù),實(shí)現(xiàn)對煤礦領(lǐng)域“發(fā)生”關(guān)系的抽取。
煤礦安全與災(zāi)害等相關(guān)網(wǎng)站蘊(yùn)含了大量的煤礦災(zāi)害發(fā)生的信息,為煤礦知識圖譜構(gòu)建提供了海量的數(shù)據(jù)。根據(jù)煤礦數(shù)據(jù)的特點(diǎn),本文抽取具有“發(fā)生”關(guān)系的實(shí)體對,并構(gòu)建知識圖譜。例如在“棠浦煤礦(國有地方),發(fā)生一起頂板事故”中抽取“棠浦煤礦”和“頂板事故”作為一對具有“發(fā)生”關(guān)系的實(shí)體對。
網(wǎng)頁大多屬于非結(jié)構(gòu)化數(shù)據(jù),針對該特點(diǎn),本文提出如下的實(shí)體關(guān)系抽取框架,如圖1所示。
圖1 實(shí)體關(guān)系抽取框架
具體步驟如下:
(1)對數(shù)據(jù)進(jìn)行預(yù)處理和實(shí)體識別
從網(wǎng)頁上爬取的數(shù)據(jù)含有大量的冗余信息,為了從龐大的數(shù)據(jù)中選取所需的小部分有用信息,需要對數(shù)據(jù)進(jìn)行清洗,去掉重復(fù)數(shù)據(jù),抽取出網(wǎng)頁的數(shù)據(jù)部分,去除標(biāo)題、摘要、引用文獻(xiàn)以及HTML標(biāo)簽等無用信息。然后,進(jìn)行分詞、詞性標(biāo)注和和命名實(shí)體識別。
基于煤礦領(lǐng)域字典,將出現(xiàn)在字典中的實(shí)體全部提取,標(biāo)明每個實(shí)體所在的文章和句子位置。
(2)生成候選實(shí)體對集合
為了抽取句子中的具有“發(fā)生”關(guān)系的實(shí)體對,將同一篇文章同一句話的實(shí)體進(jìn)行笛卡爾積運(yùn)算并去除重復(fù)項(xiàng)得到候選實(shí)體對。結(jié)合實(shí)體對表和文章表,使用N-Gram模型提取基于候選實(shí)體對的語義特征。
(3)基于遠(yuǎn)程監(jiān)督學(xué)習(xí)產(chǎn)生具有“發(fā)生”關(guān)系的訓(xùn)練數(shù)據(jù)
采用遠(yuǎn)程監(jiān)督方法抽取實(shí)體關(guān)系有助于減輕人工標(biāo)注的負(fù)擔(dān)。利用外部知識庫對候選實(shí)體對進(jìn)行一次權(quán)重標(biāo)注,總結(jié)候選實(shí)體對出現(xiàn)時的特征,設(shè)置啟發(fā)式規(guī)則,對候選實(shí)體對進(jìn)行二次標(biāo)注,將兩次打標(biāo)結(jié)果求和得到每個實(shí)體對的權(quán)重值。兩次標(biāo)注大大提高了實(shí)體標(biāo)注的準(zhǔn)確率,并且啟發(fā)式規(guī)則也起到過濾噪聲的作用。
(4)基于因子圖[5]進(jìn)行概率推理
由第(2)步得到的候選實(shí)體對包含大量的噪聲數(shù)據(jù),通過進(jìn)行降噪處理。對第(3)步所得實(shí)體對權(quán)重表的權(quán)值進(jìn)行二值化處理,得到已知“具有”關(guān)系、已知“不具有”關(guān)系以及大量“未知”關(guān)系的實(shí)體對。結(jié)合特征表和實(shí)體對權(quán)重表,統(tǒng)計(jì)推理候選實(shí)體對間具備“發(fā)生”關(guān)系的置信度;其間迭代使用吉布斯采樣和隨機(jī)梯度下降算法學(xué)習(xí)得到候選實(shí)體對的特征權(quán)重及邊界概率,最終抽取置信度高于規(guī)定閾值的候選實(shí)體對,并去掉低于規(guī)定閾值的候選實(shí)體對噪聲數(shù)據(jù),即為具有“發(fā)生”關(guān)系的煤礦及發(fā)生的事故類型。
下面詳細(xì)說明權(quán)重標(biāo)注步驟、啟發(fā)式規(guī)則編寫依據(jù)以及規(guī)則權(quán)重給予情況。
遠(yuǎn)程監(jiān)督關(guān)系抽取的本質(zhì)是一個帶有稀疏和噪聲特征的多標(biāo)簽分類問題。其產(chǎn)生的噪聲數(shù)據(jù)主要分為兩種,一種是多實(shí)例問題,即與外部知識庫對齊所得實(shí)體對并不包含指定關(guān)系;另一種是多標(biāo)簽問題,即同一實(shí)體對在外部知識庫中有多種關(guān)系標(biāo)簽[6]。由于本文研究面向煤礦領(lǐng)域,只抽取一種“發(fā)生”關(guān)系,所以,本文所做實(shí)驗(yàn)不存在多標(biāo)簽情況。為此,本文主要研究多實(shí)例問題,并提出以下解決方法。
由實(shí)驗(yàn)步驟(3)可知本實(shí)驗(yàn)通過對所得實(shí)體對進(jìn)行兩次打標(biāo)來降低噪聲數(shù)據(jù)對關(guān)系抽取的影響,打標(biāo)過程如圖2所示。由于本實(shí)驗(yàn)抽取的實(shí)體關(guān)系為煤礦與事故間的“發(fā)生”關(guān)系,可知,“發(fā)生”關(guān)系為單向關(guān)系,所以在每句話抽取的多個實(shí)體進(jìn)行的笛卡爾積結(jié)果中,對于實(shí)體對只有A為發(fā)生事故的煤礦,B為煤礦發(fā)生的何種事故這種情況為正確實(shí)體對。由于在引用外部知識庫進(jìn)行初次打標(biāo)時,對于出現(xiàn)在知識庫中的實(shí)體對就給予較高權(quán)重,所以需要在啟發(fā)式規(guī)則中對反向?qū)嶓w對給予低權(quán)重以抵消初次打標(biāo)的高權(quán)重。并且,通過觀察數(shù)據(jù)清洗后的煤礦領(lǐng)域文章,可以發(fā)現(xiàn)更多兩實(shí)體“具有”或“不具有”“發(fā)生”關(guān)系的規(guī)律,將此規(guī)律寫入啟發(fā)式規(guī)則以提高實(shí)體對權(quán)重標(biāo)注的準(zhǔn)確率。
圖2 實(shí)體對打標(biāo)圖
通過觀察整體數(shù)據(jù),挑選出具有代表性的“具有”和“不具有”“發(fā)生”關(guān)系的例句,總結(jié)為表1:
表1 “發(fā)生”關(guān)系類型表
觀察實(shí)驗(yàn)數(shù)據(jù),總結(jié)“發(fā)生”關(guān)系成立或不成立的特點(diǎn)及該特點(diǎn)對“發(fā)生”關(guān)系成立與否的影響程度大小,編寫啟發(fā)式規(guī)則及其打標(biāo)權(quán)重如下:
(1)同時出現(xiàn)在知識庫和實(shí)體對表中的實(shí)體對給予權(quán)重3。
(2)兩實(shí)體AB間有發(fā)生關(guān)鍵字且實(shí)體A在實(shí)體B之前(正向),給予權(quán)重2。
(3)兩實(shí)體AB間有發(fā)生關(guān)鍵字且實(shí)體B在實(shí)體A之前(反向),給予權(quán)重-10。
(4)兩實(shí)體AB間無發(fā)生關(guān)鍵字,給與權(quán)重-10。
(5)兩實(shí)體AB間有另一實(shí)體C,給予權(quán)重-10。
(6)兩實(shí)體AB間有特殊符號,給予權(quán)重-1。
(7)兩實(shí)體AB相距過遠(yuǎn),給予權(quán)重-1。
通過觀察常用句式特征,發(fā)現(xiàn)實(shí)體對是否具有“發(fā)生”關(guān)系的特征具有標(biāo)志性,通過特征1、2,可以判斷此實(shí)體對極大可能具有“發(fā)生”關(guān)系,故給予較大的正權(quán)重,通過特征3、4、5可以很明確判斷此實(shí)體對極大可能無“發(fā)生”關(guān)系,故給予了較大的負(fù)權(quán)重。而對于規(guī)則6、7出現(xiàn)情況較少且對于實(shí)體對不具有“發(fā)生”關(guān)系不提供明確證據(jù),故給予較低負(fù)權(quán)重。
遠(yuǎn)程監(jiān)督方法結(jié)合啟發(fā)式規(guī)則,可有效提高標(biāo)注數(shù)據(jù)的質(zhì)量,對于知識庫中未包含的實(shí)體對可以進(jìn)行更加準(zhǔn)確地判斷,大大減輕了噪聲數(shù)據(jù)對關(guān)系抽取的負(fù)面影響;有利于提高因子圖模型判別實(shí)體關(guān)系的效果。
本文面向煤礦領(lǐng)域數(shù)據(jù)構(gòu)建因子圖模型,進(jìn)一步減少噪聲數(shù)據(jù)。根據(jù)各實(shí)體對共享不同特征的情況,計(jì)算實(shí)體對具有發(fā)生關(guān)系的邊界概率;結(jié)合吉布斯采樣降低計(jì)算維度,在不影響實(shí)驗(yàn)準(zhǔn)確率的情況下減小了機(jī)器的工作量,提高了工作效率;并采用隨機(jī)梯度下降進(jìn)行迭代學(xué)習(xí),直至模型收斂。
因子圖就是對函數(shù)因子分解的表示圖,一般含有兩種節(jié)點(diǎn),變量節(jié)點(diǎn)和因子節(jié)點(diǎn)。通過因式分解可以將一個全局函數(shù)分解為多個局部函數(shù)的積,這些局部函數(shù)和對應(yīng)的變量就能體現(xiàn)在因子圖上。例如現(xiàn)在有一個全局函數(shù),其因子分解方程是:g(x1,x2,x3)=fa(x1,x2)fb(x1,x2)fc(x2,x3)fd(x3),因子圖表示如圖 3 所示:
圖3 因子圖示例
如表2所示為實(shí)體對-特征示例表,實(shí)驗(yàn)中的實(shí)體對vi(i=1,2,3…)作為模型的變量節(jié)點(diǎn),每對實(shí)體對都具有關(guān)系標(biāo)簽(T,F(xiàn),NULL),分別表示實(shí)體對“發(fā)生”關(guān)系為“具有”、“不具有”、待判斷,標(biāo)簽值在學(xué)習(xí)過程中不斷更新。實(shí)體對所具有的特征集合為模型的因子節(jié)點(diǎn)fi(i=1,2,3…),每個實(shí)體對具有至少一種句內(nèi)特征即每個因子節(jié)點(diǎn)至少和一個變量節(jié)點(diǎn)相關(guān)聯(lián)。
表2 變量節(jié)點(diǎn)-特征示例表
因子節(jié)點(diǎn)和變量節(jié)點(diǎn)的連線稱為因子圖的邊集,不同的因子節(jié)點(diǎn),通過共享變量節(jié)點(diǎn)而相連,各特征經(jīng)函數(shù)映射轉(zhuǎn)化為關(guān)聯(lián)權(quán)重因子wi=func(feature),可得特征因子-特征函數(shù)表如表3所示:
表3 特征因子-特征函數(shù)表
根據(jù)已知實(shí)體對權(quán)重值以及特征推理未知實(shí)體對權(quán)重值并完成因子圖構(gòu)建,
由公式 Pr(I)∝ measure{w1f1(v1,v2)+w2f2(v2)}[7],首先計(jì)算實(shí)體對每種情況下的概率值,例如實(shí)體對(v1,v2)label值有四種可能情況:(1,1)、(1,0)、(0,0)、(0,1),然后計(jì)算 Pr(1,1)=Pr(1,1)/Pr(1,0)/Pr(0,0)/Pr(0,1)得到兩實(shí)體對label都為1時的概率,由此可以判斷出未知label的實(shí)體對標(biāo)簽。
具體推理過程如圖4所示。借助因子圖模型良好的統(tǒng)計(jì)和推理性能,可計(jì)算得到全部候選實(shí)體對具有“發(fā)生”關(guān)系的置信度;通過嘗試多次試驗(yàn),設(shè)置關(guān)系判別的閾值α(如α=0.5);篩選出置信度高于該閾值的實(shí)體對,即實(shí)現(xiàn)“發(fā)生”關(guān)系抽取任務(wù)。
圖4 構(gòu)建因子圖示例
本實(shí)驗(yàn)所用數(shù)據(jù)為煤礦安全網(wǎng)、煤礦事故網(wǎng)、安全管理網(wǎng)上爬取的事故新聞、分析報(bào)告,使用WebMagic框架,分析新聞標(biāo)題XPath,爬取數(shù)據(jù)。數(shù)據(jù)清洗后,共剩余2418篇煤礦領(lǐng)域文章,所抽出實(shí)體經(jīng)過笛卡爾積運(yùn)算并篩選后共得到8054對實(shí)體對。其中訓(xùn)練數(shù)據(jù)占總數(shù)據(jù)的80%。
圖5為正確率圖,將測試集中的數(shù)據(jù)對應(yīng)的推理出的概率值取其與 k/10 的近似值,其中 k=1,2,3,…,10,即將概率值分為10個概率桶,圖片顯示了每個概率桶的正確預(yù)測的比率。理想情況下,實(shí)線應(yīng)遵循虛線,對于高概率桶,表示系統(tǒng)發(fā)現(xiàn)大量證據(jù)對較高概率桶的正面預(yù)測,對于較低概率桶,系統(tǒng)發(fā)現(xiàn)線性預(yù)測證據(jù)數(shù)量較少。在本實(shí)驗(yàn)中,引入遠(yuǎn)程監(jiān)督方法降低人工標(biāo)注工作量,由此產(chǎn)生的噪聲數(shù)據(jù)未去除干凈和訓(xùn)練數(shù)據(jù)的稀疏等原因會使實(shí)線在虛線上下浮動,此情況在正常范圍之內(nèi)。
圖5 測試集正確率圖
圖6中的兩個圖分別為測試集和訓(xùn)練集的總預(yù)測數(shù)。理想情況下,這些圖應(yīng)遵循左高右低的U形曲線。圖中橫軸表示實(shí)體對具有發(fā)生關(guān)系的置信度,縱軸表示具有這種置信度的實(shí)體對數(shù)量。由圖6(1)、6(2)可以看出本實(shí)驗(yàn)結(jié)果符合正確預(yù)測,由于引入遠(yuǎn)程監(jiān)督方法產(chǎn)生大量噪聲數(shù)據(jù)使得生成大量置信度為0的實(shí)體對,在后續(xù)步驟中使用啟發(fā)式規(guī)則很好地去除了此類噪聲數(shù)據(jù)。
圖6
在本實(shí)驗(yàn)中,2418篇文章抽取的8054對實(shí)體對中,包含大量因遠(yuǎn)程監(jiān)督和笛卡爾積運(yùn)算產(chǎn)生的噪聲數(shù)據(jù),由圖6(2)可以看出系統(tǒng)預(yù)測出較多置信度為0的實(shí)體對,這其中有較大一部分為噪聲數(shù)據(jù)。通過分析實(shí)驗(yàn)計(jì)算得到數(shù)據(jù)精確率(P)、召回率(R)、F值如表4??梢钥吹剑緦?shí)驗(yàn)P、R、F值均在85%以上,由此可以得出本文所提方法,適用于煤礦領(lǐng)域“發(fā)生”關(guān)系抽取。
表4 P、R、F表
本文基于特征向量對煤礦領(lǐng)域?qū)嶓w關(guān)系進(jìn)行抽取,為構(gòu)造煤礦領(lǐng)域的知識圖譜做好了前期準(zhǔn)備,通過編寫爬蟲及數(shù)據(jù)清洗腳本,結(jié)合本實(shí)驗(yàn)所需信息特征,從大量數(shù)據(jù)中準(zhǔn)確獲取有用信息。在訓(xùn)練數(shù)據(jù)的過程中結(jié)合遠(yuǎn)程監(jiān)督以及啟發(fā)式規(guī)則提高抽取結(jié)果的準(zhǔn)確率,降低噪聲數(shù)據(jù)對抽取結(jié)果的影響。最后基于因子圖模型推理出候選實(shí)體對具有“發(fā)生”關(guān)系的邊界概率,實(shí)驗(yàn)結(jié)果表明,本文提出的算法具有較高的準(zhǔn)確率,適用于煤礦領(lǐng)域“發(fā)生”關(guān)系的抽取。
本文對于煤礦領(lǐng)域只抽取了“發(fā)生”這一種關(guān)系,實(shí)際上煤礦領(lǐng)域具有價值的關(guān)系還有“責(zé)任”、“因果”和“分類”等,如何一次抽取實(shí)體間的多種關(guān)系是下一階段的研究方向,在此基礎(chǔ)上,構(gòu)建一個完整的煤礦領(lǐng)域知識圖譜。