趙奇猛,王裴巖,馮好國,蔡東風(fēng)
沈陽航空航天大學(xué) 知識工程研究中心,沈陽 110136
機器閱讀旨在從大規(guī)模、非結(jié)構(gòu)化文本中自動抽取知識,并將其應(yīng)用到問答等任務(wù)中,一直是人工智能的主要目標(biāo)[1]。
目前作為機器閱讀手段之一的信息抽取大多關(guān)注于抽取二元實體之間的語義關(guān)系,David[2]認(rèn)為動詞至多作用于二元,若用一階邏輯來形式化表式實體關(guān)系,那么多元關(guān)系可以通過多個二元謂詞表示,在一階邏輯形式意義表達的基礎(chǔ)上,可以方便地進行深層推理。如“橙汁富含維他命C,維他命C防止疾病”用一階邏輯可表示為“富含(橙汁,維他命C)∧防止(維他命C,疾?。?,通過推理可得到“防止(橙汁,疾?。钡碾[含關(guān)系。傳統(tǒng)的信息抽取需要預(yù)先定義所有的關(guān)系類型并附帶標(biāo)注過的一些實例,但隨著數(shù)據(jù)尤其是網(wǎng)絡(luò)信息的海量增長,目標(biāo)關(guān)系類型過多甚至是未知的,此時僅僅依靠抽取規(guī)則或標(biāo)注語料是不可能實現(xiàn)的。
早期Aone等[3]能夠抽取100種關(guān)系和事件,但專家手工構(gòu)建規(guī)則費時費力。Hasegawa等[4]利用上下文信息對識別的實體進行聚類,抽取頻率較高的語義標(biāo)簽作為實體集的關(guān)系,但抽取的顆粒還不夠精細(xì)。KnowItAll[5]采用領(lǐng)域獨立的抽取模板,針對指定的關(guān)系進行抽取,能從大量網(wǎng)頁中抽取多種實體關(guān)系。缺點是需要用戶在每次抽取信息之前指出一個感興趣的關(guān)系。后期出現(xiàn)大量基于統(tǒng)計的機器學(xué)習(xí)方法,很大程度上減少了用戶的參與并增強了領(lǐng)域的適應(yīng)性,但抽取的關(guān)系有限。
近年來出現(xiàn)的開放式信息抽取技術(shù)(Open Information Extraction,OIE)為應(yīng)對大規(guī)模文本信息提供了新的思路和研究范式,即利用語言自身的完備性,抽取大量關(guān)系。如TextRunner-2008[6]利用啟發(fā)式規(guī)則從賓州樹庫生成訓(xùn)練樣本,抽取淺層特征訓(xùn)練二階線性鏈CRF抽取模型,結(jié)合信息冗余過濾模型,從開放式文本中自動抽取關(guān)系三元組。Liu等[7]利用MLN將實體的識別和關(guān)系的分類統(tǒng)一起來聯(lián)合推理抽取,相比于Text-Runner有較大提升。ReVerb[8]利用淺層句法和詞匯約束,很好地解決了TextRunner抽取的無信息量和錯誤信息的問題。但這些系統(tǒng)有兩個主要缺陷:一是僅抽取以動詞為核心的關(guān)系;二是忽略上下文全局信息。OLLIE[9]利用學(xué)習(xí)到的開放式模板和依存分析很好地解決了以上問題。開放式信息抽取系統(tǒng)的結(jié)果已經(jīng)被用來支持如獲取常識知識[10]、識別蘊涵規(guī)則[11]和本體映射[12]等任務(wù)。
面對開放領(lǐng)域,如何針對每一領(lǐng)域內(nèi)實體類別確定其關(guān)系類別,是開放式關(guān)系抽取的首要難點[13]。目前急需解決的難題是制定能表示關(guān)系的詞的標(biāo)準(zhǔn)。與以英文為代表的西方語言取得的重大進展相比,中文在這方面的研究還很少。主要原因有:(1)缺少詞的屈折形態(tài),如,中文難以通過形態(tài)特征從動詞序列中確定核心動詞;(2)重語義而弱句法,關(guān)系詞的是否難以通過句法特征判斷,如,“……在/p MNP[接口/ng 20/sym]接收/vg MNP[編碼/vg 參數(shù)/ng]”中的“接受”是關(guān)系詞,而類似的句法形式“……在/p MNP[橫截面/ng]是/vx MNP[任何/r 形狀/ng]”中的“是”則相反;(3)漢語表達多出現(xiàn)省略,如省略主語。
為此,本文提出一種在組塊內(nèi)外層標(biāo)注基礎(chǔ)上應(yīng)用馬爾可夫邏輯網(wǎng)模型分層次進行中文專利開放式實體關(guān)系抽取的方法。實驗結(jié)果顯示:(1)在內(nèi)外層組塊標(biāo)記的基礎(chǔ)上進行開放式實體關(guān)系抽取的可行性;(2)本文提出的MLN-G模型F值優(yōu)于SVM。
漢語缺少形態(tài)變化,句式靈活而又不像英語句法模式強。按照認(rèn)知科學(xué)的觀點,人們必須首先識別、學(xué)習(xí)和理解文本中的實體或者概念(具體的或抽象的),才能很好地理解自然語言文本,而這些實體和概念大多是由文本句子中的名詞短語所描述,也就是說,如果掌握了文本中的名詞短語,就可以在很大程度上把握文本所表達的主要意思,抽取出令人滿意的信息,而且組塊分析已經(jīng)獲得了廣泛的研究。因此,本文設(shè)想在組塊的基礎(chǔ)上進行開放式實體關(guān)系抽?。∣pen Entity Relation Extraction,OERE)可行性的探索。
本文實驗依賴于本單位構(gòu)建的中文專利依存樹庫(Chinese Patent Dependency Treebank 1.0,CPDT1.0)。CPDT1.0的句子來源有生物、化學(xué)、計算機和機械等領(lǐng)域,其標(biāo)記的內(nèi)容主要有分詞、詞類、組塊和依存等。本文利用的主要語義信息為前三項。其中組塊標(biāo)記分為三類:最大名詞短語(MNP)、并列結(jié)構(gòu)(BL)、術(shù)語(SY)。如“MNP[該/r SY[單向閥/ng]]允許/vg MNP[水/ng]按照/vg MNP[箭頭/ng所/ussu示/vg的/usde方向/ng]流入/vg MNP[由/p BL[SY[片狀物/ng]100/m和/c所/ussu述/vg SY[壁/ng]部分/ng 102/m]所/ussu限定/vg的/usde空間/ng]。/wj”。其中MNP可包含BL和SY,BL也可包含MNP和SY,SY為最小單位。語義實體來自上述三類組塊。外層組塊指不被其他任何組塊標(biāo)簽包含,內(nèi)層組塊指被其他組塊標(biāo)簽包含的。CPDT1.0各項分布統(tǒng)計見表1。
表1 中文專利依存樹庫統(tǒng)計表
許多現(xiàn)實世界的問題具有不確定性和復(fù)雜結(jié)構(gòu)。統(tǒng)計學(xué)習(xí)在解決不確定性上取得了很大的成功,比如貝葉斯網(wǎng)絡(luò)和馬爾可夫網(wǎng)絡(luò)等;而關(guān)系學(xué)習(xí)主要針對客觀世界的復(fù)雜結(jié)構(gòu),比如一階邏輯編程等模型成功地為現(xiàn)實世界的邏輯性建模。統(tǒng)計關(guān)系學(xué)習(xí)希望能同時考慮這兩個重要的因素。Markov邏輯網(wǎng)[14](MLN)是一種將Markov網(wǎng)絡(luò)與一階邏輯相結(jié)合的統(tǒng)計關(guān)系學(xué)習(xí)框架,為大型Markov網(wǎng)提供了一種精練的知識描述語言,為一階邏輯增加了模糊推理能力。容易集成知識挖掘中的先驗知識和結(jié)構(gòu)輸出,可以提高知識挖掘的效率。
其基本思想是弱化一階邏輯的約束:即便一個可能世界(或狀態(tài))違反了知識庫中的邏輯公式,也不是不可能發(fā)生,只是發(fā)生的概率變小。公式附帶的權(quán)重體現(xiàn)了其限制強度,權(quán)重越大,越趨向于純一階邏輯知識。MLN被證明是更通用的模型,如CRF和概率關(guān)系模型等是其特殊的情況。MLN的一個主要任務(wù)是定義能反映普遍規(guī)律的一階邏輯模板公式,能夠很好地繼承之前邏輯和無向圖模型的相關(guān)理論。
MLN可看作用一階邏輯公式來實例化Markov網(wǎng)絡(luò)的模板語言,是公式φ及其相應(yīng)權(quán)重w的集合,它定義了一個可能世界y的聯(lián)合概率分布:
其中Z為歸一化常數(shù);B是將φ中的自由變量對應(yīng)到常量的一個綁定;(y)是二元特征函數(shù),若在y中將φ的自由變量替換為B中常量所得的公式為真,其值為1,否則為0。
Markov邏輯網(wǎng)的基本推理任務(wù)是給定證據(jù) 找到一個最可能的世界y,也稱為MAP推理,即:
則推理歸納為尋找一個值使得可滿足子句的權(quán)值之和最大。即使在規(guī)模很小的領(lǐng)域,直接計算也是很棘手的,本文使用一種既準(zhǔn)確又高效的基于整數(shù)線性規(guī)劃(ILP)的割平面算法[15](CPI)來進行推理。對于MLN的公式權(quán)重學(xué)習(xí),采用Online Max-Margin的權(quán)重學(xué)習(xí)方法[16]。
OERE 的形式定義為三元組t=(ei,rij,ej),i≠j,其中ei和ej代表語義實體的字符串,rij代表兩個實體之間關(guān)系的詞序列。因為rij可以通過句子中的詞來確定,所以不需要預(yù)先定義關(guān)系。需要注意的是三元組是有順序的,即 (ei,rij,ej)≠(ej,rij,ei)(有對稱性質(zhì)的除外,如,“A 連接 B”,其中A和B分別代表組塊,下同)。
本文中,ei和ej包括基本的名詞短語及嵌套的名詞短語和介詞短語,rij包含的關(guān)系詞有動詞和修飾詞,動詞需要模型識別,如,“A 確定/vg設(shè)置/vg B”中識別“設(shè)置”為關(guān)系詞。修飾詞可以通過后處理獲得,一般會就近依附于動詞,如“難以”和“于”等。
在分析CPDT1.0組塊特點的基礎(chǔ)上,提出自動發(fā)現(xiàn)隱含動詞之間的關(guān)系和識別關(guān)系的MLN模型。為了學(xué)習(xí)公式權(quán)重,需要構(gòu)建三元組實例。有兩個問題待解決:一是實體對如何組對;二是確定表示實體對的語義關(guān)系在句中的位置。為解決第一個問題,本文將相鄰實體兩兩成對。例如“A利用B產(chǎn)生 C”,相鄰兩兩組對有{A和B,B和C}兩對。通過兩兩成對可以獲得10 771對的實體對。至于第二個問題,本文提出以下假設(shè)。
假設(shè)代表兩個實體之間語義關(guān)系的動詞位于實體之間。
本文通過均勻隨機采樣,發(fā)現(xiàn)代表關(guān)系詞的動詞來源于實體對左右邊界外的500對中,標(biāo)記為正例的僅占0.01,雖然會過濾一些來自左右邊界外的關(guān)系詞,如“A與B通信”,通信可以看作是A和B之間的關(guān)系,但因在語料中出現(xiàn)比例較少,所以不計。而采樣400例動詞,來自實體對之間的則占0.55。故假設(shè)合理。
過濾不滿足假設(shè)的實體對后,剩下未標(biāo)注的有8 539對。實例對的標(biāo)注通過自擴展[17]結(jié)合人工校驗最終生成外層5 595對標(biāo)注實例。包含的關(guān)系種類有1 020種,外層占91.76%。其中,自擴展的底層模型選擇的是支持向量機,因其能夠在小樣本上取得較好的性能。
MNP和BL中可能會包含實例對,如“其中/r MNP[SY[非/h 撓性/ng 部件/ng](/wkl此后/t稱為/vg“/wyl SY[片狀物/ng]”/wyr)/wkr 的/usde 前/nd 端/ng] 旋轉(zhuǎn)/vg支承/vg……”。包含的內(nèi)層三元組為t={“SY[非/h 撓性/ng 部件/ng]”,“稱為”,“SY[片狀物/ng]”}。從887對內(nèi)層實例中隨機采樣標(biāo)注200對。
為識別動詞是否為關(guān)系詞及實現(xiàn)句子級別的結(jié)構(gòu)輸出,本文定義了兩個隱謂詞isRel(rn,i)和unRel(rn,i),前一個表達的意思是序號為rn的實體對位置i的詞是關(guān)系詞。同時利用負(fù)例信息,定義否定謂詞unRel(rn,i)表示序號為rn的實體對位置i的詞不是關(guān)系詞。除了隱謂詞之外,本文定義了描述語料中可用信息的觀察謂詞,如表2所示。
表2 觀察謂詞
定義好謂詞,需要定義描述關(guān)系的公式。MLN中的公式可以分為局部公式和全局公式。
3.3.1 局部公式
局部公式通常表示關(guān)系詞的局部特征,用來判斷隱謂詞是否成立。
實際應(yīng)用中,公式中含有“+”的變量指實例變量,即需被替換為同類型集合中的常量,實例公式由公式中各個實例變量的笛卡爾積組合而成。MLN引擎為每個實例公式賦予相應(yīng)權(quán)重,其他變量隱含為全稱量詞。公式結(jié)尾處有點號的代表嚴(yán)格約束(hard rule),反之為軟約束(soft rule)。
詞和詞性特征可在一定程度上判斷動詞是否為關(guān)系詞。如,從“MNP[SY[棱柱形/ng]結(jié)構(gòu)/ng的/usde各邊/r長度/ng]約/d為/vx MNP[1.5/m-/sym 2/m cm/sym]。/wj”中發(fā)現(xiàn)“約/d”可以充當(dāng)動詞“為”的修飾,可推出“為”可能是關(guān)系詞;又如,從“在/p BL[MNP[第一/m 位置/ng]和/c MNP[第二/m 位置/ng]]之間/nd往復(fù)/vq 移動/vg,/wo 使得/vg MNP[SY[烤爐/ng]內(nèi)/nd的/usde 材料/ng,……]”中的“在/p”和“之間/nd”識別實體1為狀語,則中間的動詞可能不構(gòu)成關(guān)系詞。式(3)和(4)是描述詞和詞性性質(zhì)的公式:
其中詞和詞性特征的范圍取決于實體的上下文,設(shè)句子序列為{…,w2/p2,w1/p1,ent1,mid/midp,ent2,w1/p1,w2/p2,…}。如果窗口為1,特征可取w1/p1和mid/midp;窗口為2,可取w2/p2、w1/p1和mid/midp。mid/midp代表ent1和ent2中間的詞/詞性序列。為了泛化識別的關(guān)系詞,mid/midp不包含待判斷的關(guān)系詞和詞性。
距離特征在傳統(tǒng)實體關(guān)系抽取中被廣泛運用,實驗發(fā)現(xiàn)在開放式實體關(guān)系抽取中同樣有很好的效果,如式(5)和(6):
式(7)表示關(guān)系詞及其詞性的先驗分布,此處沒有利用負(fù)例是因為實驗發(fā)現(xiàn)這樣可以防止語料的偏置:
不同于傳統(tǒng)授課,翻轉(zhuǎn)課堂中學(xué)生所需投入的時間與精力較多,所以評價方法是否全面、客觀、公平,對課堂效果的提升顯得非常重要。目前的評價方法結(jié)合課前與課中,課前重視學(xué)生的努力程度,即任務(wù)是否完成、對團隊的貢獻量大小等,而課中則注重學(xué)習(xí)質(zhì)量,強調(diào)學(xué)習(xí)深度。大多數(shù)研究者認(rèn)為學(xué)生可以從翻轉(zhuǎn)中獲益,但能否提高成績,則較為保守。加之翻轉(zhuǎn)環(huán)節(jié)多,學(xué)生深度學(xué)習(xí)無法考量等,所以如何發(fā)展出一套適用的測評工具和方法來評估翻轉(zhuǎn)課堂的效果,未來還需更長時間的觀察與科學(xué)研究才能確定。
從“MNP[SY[路面板/ng]的/usde寬度/ng]等于/vg MNP[一個/m 行車道/ng的/usde寬度/ng]”中可以看出,如果實體核心詞相同,動詞可能作為關(guān)系詞;從“MNP[塞/ng 301/m]可/vz與/p MNP[SY[充氣器/ng]44/m]一起/d使用/vg,/wo或者/c代替/vg MNP[SY[充氣器/ng]44/m]。/wj”中發(fā)現(xiàn)核心詞相同且“使用”和“代替”有并列關(guān)系,推出動詞可能不是關(guān)系詞,如式(8)和(9):
倘若關(guān)系詞右邊有副詞,如“MNP[圖/ng 3E/sym]示意/vg地/usdi示出/vg MNP[SY[麥克非/ng]……]”中的“示意”右邊有“地/usdi”,則表明這個動詞作修飾語不是關(guān)系,如式(10):
如果實體1含有時間類詞,那么一般來說實體1作為狀語,公式定義如下。
如果實體之間有連詞,句子表達的意思是另一層,中間的動詞可能不是關(guān)系詞,如“MNP[所/ussu述/vg SY[片狀物/ng]]可/vz由/p MNP[SY[驅(qū)動/vg單元/ng]83/m]進行/vg 驅(qū)動/vg,/wo 并且/c MNP[SY[扭簧/ng]11/m]……”中含有連詞“并且”。負(fù)例有相反的現(xiàn)象,如式(12)和(13):
通過啟發(fā)式規(guī)則容易發(fā)現(xiàn)一些實體不構(gòu)成實體對,則第rn個實體對動詞i不是關(guān)系詞,通過式(14)描述:
3.3.2 全局公式
涉及兩個以上的隱謂詞為全局公式,主要目的是建立隱謂詞之間相互依存關(guān)系并使最終結(jié)果滿足一定約束。在Markov邏輯網(wǎng)上,能夠通過構(gòu)建不同規(guī)則,來模仿很多算法任務(wù)。如式(15)~式(18)描述句子級別關(guān)系的結(jié)構(gòu)輸出:
漢語中常常會出現(xiàn)動詞上下文的省略,導(dǎo)致特征不足,可以通過聯(lián)合推理解決以上問題。如果兩個關(guān)系詞相同,先識別簡單的,借助確定的推斷難以判別的,如式(19)所示:
為使抽取結(jié)果更完善,建立詞表,如果實體以及關(guān)系詞左右緊鄰的詞出現(xiàn)在詞表中,將其擴充。比如,實體擴充把方位名詞“中”、“上”和“內(nèi)”等擴充進來;動詞擴充把相關(guān)的副詞和介詞擴充進來,如“難以”、“不”、“了”和“于”等。
因SVM在實體關(guān)系抽取中被廣泛運用,又能夠同時利用正負(fù)實例,故將其作為對比實驗。
為驗證在組塊的基礎(chǔ)上進行開放式實體關(guān)系抽取的可行性和和對比本文提出的Markov邏輯網(wǎng)模型的效果,本文設(shè)置兩組對比實驗,一組是SVM、MLN-L(只包含局部公式和上述最后兩個全局約束公式)和MLN-G(包括所有公式)對外層抽取效果的對比,另一組是在同樣條件下對內(nèi)層抽取效果的對比。
SVM工具包選用的是SVM-Light,內(nèi)、外層用的核函數(shù)為線性核,SVM選取的特征與MLN相同。為防止距離特征影響過強而導(dǎo)致震蕩的問題,對其進行縮放,區(qū)間為[-1,1]。MLN網(wǎng)實現(xiàn)的工具包用的是thebeast,外層學(xué)習(xí)規(guī)則為Plain Perceptron,內(nèi)層為1-best MIRA。外層帶標(biāo)注的實例對共計5 595對,正例占44.25%;內(nèi)層共計200對,正例占36%。第一組實驗利用外層語料進行十折交叉驗證,并比較了上下文窗口為1和2的情況。
第二組實驗將所有外層語料作為訓(xùn)練集,內(nèi)層為測試集。
第一組和第二組實驗結(jié)果分別如表3、4所示。
表3 SVM、MLN-L和MLN-G外層實驗結(jié)果對比(%)
表4 SVM、MLN-L和MLN-G內(nèi)層實驗結(jié)果對比(%)
從實驗結(jié)果來看,在組塊的基礎(chǔ)上實現(xiàn)OERE具有可行性。對于外層,如果將每個實例作為獨立的實例,不考慮彼此的影響,MLN-L稍遜于SVM,但差別不大,主要原因是工具包的實現(xiàn)利用的采樣隨機算法不能獲得全局最優(yōu)解;而MLN-G明顯高于其他兩個。主要原因有:MLN-G考慮關(guān)系的結(jié)構(gòu)輸出和聯(lián)合推理。如,通?!癆 描述/vg為/vx B”中“為”是關(guān)系詞,通過學(xué)習(xí)隱謂詞的依賴關(guān)系能夠發(fā)現(xiàn),當(dāng)?shù)贸觥懊枋觥辈皇顷P(guān)系詞時,推得“為”是關(guān)系詞,公式權(quán)重為0.026,反過來發(fā)現(xiàn)“為”是關(guān)系詞時,能推出“描述”不是關(guān)系詞的公式權(quán)重為0.019。
開放式實體關(guān)系抽取以及MLN是近年來文本信息處理和機器學(xué)習(xí)領(lǐng)域的研究熱點,但是當(dāng)前關(guān)于中文的開放式實體關(guān)系抽取研究較少。本文提出一種在組塊標(biāo)注基礎(chǔ)上應(yīng)用馬爾可夫邏輯網(wǎng)分層次進行中文專利開放式實體關(guān)系抽取的方法,驗證了句子經(jīng)過組塊分析后更易處理,且MLN-G模型較SVM取得更好的效果。
今后,將進一步考慮處理以名詞和形容詞等為核心關(guān)系的詞,并融合實體的識別,做聯(lián)合推理,從而更好地解決語料的稀疏問題,有助于中文Web的開放式信息抽取的研究。
[1]Poon H,Domingos P.Unsupervised ontological induction from text[C]//Proceedings of theForty Eighth Annual Meeting of the Association for Computational Linguistics,Uppsala,Sweden,2010:296-305.
[2]David D.Thematic proto-roles and argument selection[J].Language,1991,67(3):547-619.
[3]Aone C,Ramos-Santacruz M.REES:a large-scale relation and event extraction system[C]//Proceedings of the 6th Applied Natural Language Processing Conference,2000.
[4]Hasegawa T,Sekine S,Grishman R.Discovering relations among named entities from large corpora[C]//Proceedings of ACL,2004.
[5]Etzioni O,Cafarella M,Downey D,et al.Unsupervised namedentity extraction from the web:an experimental study[J].Artificial Intelligence,2005,165(1):91-134.
[6]Banko M,Cafarella M J,Soderland S,et al.Open information extraction from the web[J].Communications of the ACM,2008,51(12):68-74.
[7]劉永彬,楊炳儒.基于馬爾可夫邏輯網(wǎng)的聯(lián)合推理開放式信息抽取[J].計算機科學(xué),2012,39(9):627-633.
[8]Etzioni O.Open information extraction:the second generation[C]//Proceedings of International Joint Conference on Artificial Intelligence,2011.
[9]Schmitz M,Rart R,Soderland S,et al.Open language learning for information extraction[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning(EMNLP-CONLL),2012.
[10]Lin T,Etzioni O.Identifying functional relations in Web text[C]//Proceedings of EMNLP,2010.
[11]Schoenmackers S,Etzioni O,Weld D S,et al.Learning first-order horn clauses from web text[C]//Proceedings of EMNLP,2010.
[12]Soderland S,Roof B.Adapting open information extraction to domain-specific relations[J].AI Magazine,2010,31(3):93-102.
[13]趙軍,劉康,周光有,等.開放式文本信息抽取[J].中文信息學(xué)報,2011,25(6):98-110.
[14]Domingos P,Lowd D.Markov logic:an interface layer for artificial intelligence[M].San Rafael,CA:Morgan&Claypool,2009.
[15]Riedel S.Improving the accuracy and efficiency of map inference for markov logic[C]//Proceedings of the Annual Conference on Uncertainty in AI,2008.
[16]Huynh T N,Mooney R J.Online MaxMargin weight learning for markov logic networks[C]//Proceedings of the 11th SIAM International Conference on Data Mining,2011:642-651.
[17]Mihalcea R.Co-training and self-training for word sense disambiguation[C]//Proceedings of CoNLL,2004.