毛養(yǎng)勤,覃俊,尹帆,葉正,李蔚棟
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院 & 湖北省制造企業(yè)智能管理工程技術(shù)研究中心,武漢 430074)
近年來,無結(jié)構(gòu)化文本信息的快速增長給人們獲取有價(jià)值的信息服務(wù)帶來了巨大的困難.信息抽取技術(shù)[1]是對無結(jié)構(gòu)化文本進(jìn)行結(jié)構(gòu)化處理的主要技術(shù),為人們帶來更佳的用戶體驗(yàn).然而實(shí)體關(guān)系抽取作為信息抽取領(lǐng)域的核心子任務(wù),是指對文本中所含實(shí)體對進(jìn)行語義關(guān)系提取.在構(gòu)建知識圖譜,智能問答等方面有著重要意義.
目前,有監(jiān)督方式的實(shí)體關(guān)系抽取將該任務(wù)當(dāng)作一個(gè)分類任務(wù)并且取得較好的效果.但該方法依然受到標(biāo)注語料的限制,人工標(biāo)注費(fèi)時(shí)費(fèi)力,因此影響了實(shí)體關(guān)系抽取的大規(guī)模抽取效果.針對其語料缺乏的問題,MINTZ[2]提出了一種利用知識庫中已存實(shí)體三元組信息自動(dòng)對齊自由文本來標(biāo)注語料的遠(yuǎn)程監(jiān)督方法.其主要思路是:如果知識庫中的實(shí)體對含有某種關(guān)系,那么包含這種實(shí)體對的句子都會(huì)標(biāo)注上這個(gè)關(guān)系.顯然這種方式存在不嚴(yán)謹(jǐn)?shù)牡胤?,引入了許多噪聲標(biāo)注數(shù)據(jù).因此引入了注意力機(jī)制,對表示某一關(guān)系的語料中的每一個(gè)句子分配一個(gè)權(quán)重,旨在找到更能表達(dá)實(shí)體之間關(guān)系的句子.然而在計(jì)算某些關(guān)系語義表示的時(shí)候,傳統(tǒng)注意力模型使用兩實(shí)體表示相減得到,會(huì)忽略不同關(guān)系其實(shí)關(guān)注的是實(shí)體的不同方面.例如:
“斯內(nèi)普深情地看著莉莉.----戀人”.
針對上面的句子可能兩實(shí)體相減得出一個(gè)可能是朋友的語義,也可能是愛人的語義.因?yàn)閮蓪?shí)體間可能有多種關(guān)系存在,不同關(guān)系關(guān)注的是實(shí)體的不同方面.所以針對上述問題本文提出了適用于多種關(guān)系存在的實(shí)體關(guān)系表示方法,并構(gòu)建了一種基于新型關(guān)系注意力機(jī)制(New Relational Attention Mechanism,NATT)的遠(yuǎn)程監(jiān)督關(guān)系抽取模型,即我們參考了知識表示模型TransR的思想,利用變換矩陣為每個(gè)實(shí)體對集合學(xué)習(xí)一個(gè)新型的關(guān)系語義表示,進(jìn)而改造原有的注意力機(jī)制.達(dá)到進(jìn)一步降低噪聲的目的.
(1)前人提出的注意力模型中利用實(shí)體對的向量表示相減得到關(guān)系語義表示,進(jìn)而使用關(guān)系表示來達(dá)到降噪的效果,然而同一實(shí)體對間存在多種關(guān)系,此種表示方法會(huì)導(dǎo)致噪聲無法很好的過濾.
(2)針對上述問題本文提出了適用于多種關(guān)系存在的實(shí)體關(guān)系表示方法,并構(gòu)建了一種基于新型關(guān)系表示的注意力機(jī)制(NATT)的遠(yuǎn)程監(jiān)督關(guān)系抽取模型.
(3)該模型的預(yù)測結(jié)果優(yōu)于基于遠(yuǎn)程監(jiān)督的實(shí)體關(guān)系抽取問題的基線 .
近年來,許多方法被廣泛用到實(shí)體關(guān)系抽取任務(wù)上,主要分為有監(jiān)督、半監(jiān)督、無監(jiān)督三種方式.有監(jiān)督方式將關(guān)系抽取任務(wù)當(dāng)作一個(gè)分類任務(wù)并且能取得較好的效果.然而該方法需要大量的人工標(biāo)注語料,耗時(shí)耗力.為了解決語料缺乏的問題,HOFFMANN[3]提出了多實(shí)例學(xué)習(xí),并且SURDEANU[4]認(rèn)為同一實(shí)體對之間可能存在多種關(guān)系,于是在HOFFMANN的研究基礎(chǔ)上引入了多標(biāo)簽的方法來緩解錯(cuò)誤標(biāo)注的問題,也稱之為多實(shí)例多標(biāo)簽學(xué)習(xí). BENJAMIN[5]則通過利用主題模型LDA和判決學(xué)習(xí)方法提高了抽取事實(shí)的排名質(zhì)量,降低了噪聲數(shù)據(jù)的影響.近年來,許多深度學(xué)習(xí)的策略都在遠(yuǎn)程監(jiān)督關(guān)系抽取任務(wù)上進(jìn)行嘗試使用,ZENG[6]避免使用特征工程采而是使用卷積結(jié)構(gòu)和分段最大池化來自動(dòng)學(xué)習(xí)句子相關(guān)特征,并采用多實(shí)例學(xué)習(xí)來解決遠(yuǎn)程監(jiān)督中的錯(cuò)誤標(biāo)注數(shù)據(jù)問題;LIN[7]提出了使用句子級別的注意力機(jī)制來動(dòng)態(tài)的計(jì)算每個(gè)句子的權(quán)重,達(dá)到過濾噪聲數(shù)據(jù)的抽取效果;JIANG[8]首次放寬了“至少表達(dá)一次”的假設(shè),對多句使用最大池化來利用不同句子間的共享信息,從而提高抽取效果;LEI[9]提出了一種能有效利用文本語料庫和知識圖譜信息的雙向知識蒸餾的神經(jīng)網(wǎng)絡(luò)框架.可以動(dòng)態(tài)的減少噪聲問題;FENG[10]提出利用強(qiáng)化學(xué)習(xí)來解決遠(yuǎn)程監(jiān)督中的錯(cuò)誤標(biāo)注問題;JI[11]引入外部知識庫的實(shí)體的相關(guān)信息,充分的學(xué)習(xí)實(shí)體的向量表示,從而改造了句子層的注意力機(jī)制,提高了抽取的準(zhǔn)確率.
以上研究雖然采用注意力機(jī)制能改善遠(yuǎn)程監(jiān)督關(guān)系抽取模型,但目前大多數(shù)研究僅在句子層引入注意力機(jī)制,忽略了在計(jì)算某些關(guān)系語義表示的時(shí)候,會(huì)存在表示多種關(guān)系的情況.在我們計(jì)算句子與關(guān)系相似性的時(shí)候,由于關(guān)系表示的偏差可能會(huì)導(dǎo)致注意力得分比較低.因此,為了能充分學(xué)習(xí)到關(guān)系表示,我們使用變換矩陣為每一個(gè)實(shí)體對集合(簡稱包)學(xué)習(xí)一個(gè)新型的關(guān)系語義表示.
本文提出了PCNN+NATT的關(guān)系抽取模型來解決句子中的噪聲問題.模型結(jié)構(gòu)包含PCNN網(wǎng)絡(luò)、NATT注意力機(jī)制、訓(xùn)練目標(biāo)三個(gè)部分,如圖1所示.PCNN網(wǎng)絡(luò)用來獲取句子語義向量,NATT注意力機(jī)制賦予每個(gè)句子權(quán)重以獲取包級別向量,訓(xùn)練目標(biāo)用來學(xué)習(xí)關(guān)系抽取任務(wù)中的關(guān)系向量表示.
圖1 PCNN+NATT模型結(jié)構(gòu)圖Fig.1 PCNN+NATT model structure diagram
在前人的研究中,可以發(fā)現(xiàn)PCNN模型[7]被廣泛的應(yīng)用于遠(yuǎn)程監(jiān)督關(guān)系抽取任務(wù)中,如圖2所示.主要用來提取一個(gè)包內(nèi)句子的語義向量.假設(shè)一個(gè)句子由m個(gè)詞組成(w1,w2,…,wm),PCNN模型主要的目的提取出句子的語義向量S.
圖2 PCNN模型結(jié)構(gòu)圖Fig.2 PCNN model structure diagram
模型輸入:在自然語言處理過程中,一般將單詞轉(zhuǎn)化成低維實(shí)值向量來構(gòu)建模型的輸入. 在本文中,每個(gè)單詞的特征向量是由詞向量和位置向量拼接而成.詞嵌入一般是給定一個(gè)句子s=(w1,w2,…,wm),通過映射詞向量表E∈R|v|×dw(V是詞表的大小)將每個(gè)單詞wi表示為dw維實(shí)值向量ei,即句子s被轉(zhuǎn)換成s=(e1,e2,…,em)∈Rm×d.使用word2vec模型[12]來預(yù)訓(xùn)練詞向量.位置嵌入用來記錄當(dāng)前單詞到兩個(gè)實(shí)體的相對距離.例如:在句子“Bill Gates is the principle founder of Microsoft.”中,單詞founder 到頭實(shí)體Bill Gates和尾實(shí)體Microsoft的相對距離是4和-2,然后轉(zhuǎn)換成對應(yīng)的向量表示.將句子中的每個(gè)單詞的詞嵌入和位置嵌入的拼接后組合在一起形成句子的向量表示矩陣x∈Rm×d,其中,m表示句子的長度,d表示拼接后的維度,即d=dw+dp×2.
卷積操作:卷積計(jì)算可以定義成矩陣A∈Rm×n和B∈Rm×n進(jìn)行以下運(yùn)算:
(1)
對于輸入句子向量表示s=(e1,e2,…,em),其ei表示第i個(gè)單詞的詞向量.使用Si:j表示取到序列[ei,ei+1,…ej]的矩陣,滑動(dòng)窗口的長度為l,所以定義的過濾器權(quán)重矩陣為W∈Rl×k.最后卷積權(quán)重矩陣在句子s上的卷積操作得到的結(jié)果向量C∈Rt-l+1可以由下式表示:
(2)
其中1≤j≤t-l+1,b是偏置值.
對于句子s,使用n個(gè)過濾器W1,W2,…,Wn(本文使用的是3個(gè))來獲得最終的結(jié)果C={C1,C2,…,Cn}.
注意力機(jī)制用來分配有正實(shí)例以較高權(quán)重,負(fù)實(shí)例以較低權(quán)重,從而可以計(jì)算出一個(gè)包的向量,最后將其送到softmax分類器.
注意力機(jī)制: 許多知識圖譜嵌入方法[13-14]將關(guān)系當(dāng)作頭實(shí)體到尾實(shí)體的鏈接.對于知識庫的元組r(e1,e2)來講,他們符合e1+r≈e2并取得了很好的表現(xiàn).MIKOLOV等[12]展示詞向量的一些屬性例如:v(“Madrid”)-v(“Spain”) = v(“Paris”)-v(“France”)可以說明實(shí)體對向量的不同可以反映出兩實(shí)體間關(guān)系的特征.LIN等[15]提出了為每一個(gè)實(shí)體對組學(xué)習(xí)不同的關(guān)系向量來解決頭尾實(shí)體對具有多種模式的情況.
受多種知識圖譜嵌入方法的思想啟發(fā),針對一個(gè)包中的三元組(e1,r,e2),我們引入一個(gè)新的關(guān)系向量rc(見公式3)來表達(dá)包中兩實(shí)體間的關(guān)系特征,包內(nèi)的句子如果表達(dá)了此關(guān)系,則具有高相似性,反之則具有無關(guān)性.
rc=(e1-e2)Mr,
(3)
e1,e2代表實(shí)體1和實(shí)體2,Mr代表變換矩陣并采用Xavier初始化方式生成,隨后通過反饋進(jìn)行調(diào)整.
假設(shè)一個(gè)包內(nèi)存在m個(gè)句子,{s1,s2,…,sm}表示句子的語義向量,使用得分函數(shù)(相似性和無關(guān)性)來計(jì)算每個(gè)句子語義向量和關(guān)系向量的注意力權(quán)重,公式如下:
(4)
ωi=wTa(tanh[Si:rc])+ba,
(5)
(6)
其中b∈R3n.
Softmax:為了計(jì)算每個(gè)關(guān)系得置信度,將包得特征向量b送入softmax分類器.
o=Msb+bs,
(7)
其中o代表輸出,Ms代表中間矩陣,bs代表偏置值,采用Xavier方式隨機(jī)初始化生成.假設(shè)θ代表模型中所有的參數(shù),B表示包,則屬于第i個(gè)關(guān)系的條件概率為:
(8)
對于每一個(gè)包的關(guān)系rc,首先利用兩實(shí)體向量得到原始向量r,即r=(e1-e2).然后讓兩向量rc和r相互靠近.因此,可以定義以下目標(biāo)函數(shù):
(9)
其中N是包的總個(gè)數(shù).
針對于遠(yuǎn)程監(jiān)督關(guān)系抽取任務(wù),定義其目標(biāo)函數(shù)為:
(10)
為了學(xué)習(xí)每個(gè)包的關(guān)系表示,所有總的目標(biāo)函數(shù)為:
minL=LD+λLe,
(11)
其中λ>0是Le的權(quán)重.
本文使用的數(shù)據(jù)集是遠(yuǎn)程監(jiān)督關(guān)系抽取中使用較為廣泛的NYT10 數(shù)據(jù)集.該數(shù)據(jù)集由RIEDEL等人[16]發(fā)布的.利用紐約時(shí)報(bào)語料庫對齊 Freebase知識庫中的三元組信息根據(jù)遠(yuǎn)程監(jiān)督的假設(shè)產(chǎn)生的,訓(xùn)練集是2005~2006年的新聞?wù)Z料中獲取的句子.測試集是2007 年對標(biāo)NYT語料中的句子.該數(shù)據(jù)集中包含53 類關(guān)系,包括特殊關(guān)系類型“NA”,表示兩個(gè)實(shí)體之間沒有關(guān)系.訓(xùn)練集和測試集分別包含570088和172448個(gè)句子, 63428和16705個(gè)實(shí)體,291010和96678個(gè)實(shí)體對.文獻(xiàn)[3]和文獻(xiàn)[7]也使用該數(shù)據(jù)集做了相關(guān)研究.
遵循文獻(xiàn)[3]和文獻(xiàn)[7]的工作,采用兩種方式進(jìn)行評估:held-out和manual.并在held-out評估中比較基線模型的準(zhǔn)確率和召回率等兩種評價(jià)指標(biāo),對比本文提出模型的效果.
在本文的實(shí)驗(yàn)中,使用word2vec預(yù)訓(xùn)練了詞向量.使用句嵌入的向量維數(shù)選擇范圍為{50,100,200,300},位置嵌入的選擇范圍為{5,10,20},特征圖的選擇范圍為{100,200,230},batch_size的大小選擇范圍在{100,200,500}.經(jīng)過實(shí)驗(yàn)驗(yàn)證,最佳的參數(shù)配置如下:dw=50,dP=5,batch_size = 100,lr= 0.001,dropout_rate=0.8.
為了驗(yàn)證本文提出的注意力機(jī)制的效果,文中主要采用APCNN,PCNN+ATT,PCNN+MIL[6]模型作為實(shí)驗(yàn)的對比模型.
Held-out評估:圖3展現(xiàn)了各個(gè)模型的準(zhǔn)確率/召回率曲線,從圖中可以看出,PCNN+NATT比其他基線模型(APCNN,PCNN+ATT,PCNN+MIL)取得更好的表現(xiàn).可以看出NATT注意力機(jī)制可以有效的賦予負(fù)實(shí)例以較小權(quán)重從而減輕噪聲.
圖3 1-PCNN+NATT 2-APCNN3-PCNN+ATT 4-PCNN+MIL 的p-r曲線圖Fig.3 The p-r curve of 1-PCNN+NATT 2-APCNN 3-PCNN+ATT 4-PCNN+MIL
Manual評估:表1是各個(gè)模型的Top N比較表,該表表示在按照測試輸出的概率排序的基礎(chǔ)上,前N條句子的準(zhǔn)確率.從表1中數(shù)據(jù)的比較可以看出:(1)PCNN+MIL算法的準(zhǔn)確率都是最低的,說明噪聲對模型的影響嚴(yán)重.(2)PCNN+ATT算法的效果要全面優(yōu)于PCNN+MIL算法,注意力機(jī)制能有效的利用句子信息,同時(shí)減少了噪聲的影響.(3)APCNN算法取得的效果優(yōu)于PCNN+ATT算法,說明了兩實(shí)體信息能反映關(guān)系的某些特征.(4)PCNN+NATT注意力機(jī)制可以有效的賦予負(fù)實(shí)例以較小權(quán)重從而減輕噪聲.
表1 各模型Top N對比表Tab.1 Top N comparison table of each model
為了盡可能地賦予遠(yuǎn)程監(jiān)督數(shù)據(jù)集中噪聲數(shù)據(jù)以較小的權(quán)重,本文提出一種基于新型關(guān)系注意力機(jī)制的實(shí)體關(guān)系抽取模型.該模型考慮到實(shí)體對之間可能有多種關(guān)系存在,不同的關(guān)系可能關(guān)注的是實(shí)體不同方面.所以該模型利用變換矩陣學(xué)習(xí)到更準(zhǔn)確的關(guān)系表示進(jìn)而改造傳統(tǒng)的注意力機(jī)制.盡可能地賦予正實(shí)例以較高權(quán)重,負(fù)實(shí)例以較低權(quán)重,降低噪聲句子對模型性能的影響.實(shí)驗(yàn)證明:本文所提出的模型在準(zhǔn)確率上要優(yōu)于幾種經(jīng)典的對比模型.