本發(fā)明涉及一種基于多級分類層次注意力的遠程監(jiān)督關系抽取方法,屬于信息抽取。
背景技術:
1、近年來,移動互聯(lián)網(wǎng)得到了巨大發(fā)展,促使人們進入互聯(lián)網(wǎng)的門檻被進一步降低。海量的網(wǎng)民每時每刻都在產(chǎn)生著大量的數(shù)據(jù),其類型包含圖片、文本、語音和視頻等,如何從這些數(shù)據(jù)中獲取真實有效的信息成為目前的研究熱點,其中又以文本這一人類最古老的數(shù)據(jù)形式為重中之重。因此研究者提出了信息抽取(informationextraction,ie)技術,旨在對低結構化的文本進行快速處理,形成簡明、便于存儲的結構化數(shù)據(jù)。信息抽取是自然語言處理(nature?languageprocessing,nlp)領域的重要研究內(nèi)容,它在多種自然語言應用的構建中都起到重要作用,包含知識圖譜、搜索引擎、問答系統(tǒng)和推薦系統(tǒng)等。信息抽取主要包含命名實體識別(namedentityrecognition,ner)、關系抽取(relationextraction,re)和事件抽取(event?extraction,ee)三個子任務,分別對應文本中實體(entity)、關系(relation)和事件(event)三個事實信息。關系抽取是ie的重要子任務,它在ner標記出實體的基礎上,完成實體之間語義關系的預測。關系抽取任務,一般給定兩個實體以及包含該實體對的文本,需要根據(jù)文本語義對該實體對的關系進行預測。例如,給定“紫金山”和“南京市”兩個實體,以及句子“紫金山坐落于南京市玄武區(qū)?!保ㄟ^對句子語義進行分析,可以得到“紫金山”和“南京市”具有“位于”關系。如果所預測的關系類型是預定義的,則關系抽取可以看作一種關系分類任務。
2、遠程監(jiān)督關系抽取跳過了有監(jiān)督學習中數(shù)據(jù)集人工構造的環(huán)節(jié),使得時間和人力成本的顯著降低,進一步降低了關系抽取技術在多種垂直領域應用落地的門檻。遠程監(jiān)督算法在帶來巨大好處的同時,也不可避免地伴隨著標簽噪聲問題和數(shù)據(jù)長尾問題,如何使用不完美的遠程監(jiān)督數(shù)據(jù)集進行有效的關系抽取訓練,成為遠程監(jiān)督關系抽取的重點,更是難點。本發(fā)明的遠程監(jiān)督關系抽取技術,旨在于含噪且不平衡的遠程監(jiān)督數(shù)據(jù)集上,訓練得到一個魯棒且平衡的關系抽取器。
技術實現(xiàn)思路
1、發(fā)明目的:針對現(xiàn)有技術中存在的問題與不足,本發(fā)明提供一種基于多級分類層次注意力的遠程監(jiān)督關系抽取方法,將注意力機制(attentionmechanism)與關系抽取模型進行融合,充分利用注意力機制動態(tài)分配“信息注意力”的能力,使每個樣本的信息都能最大程度被合理地使用。遠程監(jiān)督關系抽取的深入研究,有助于將關系抽取推廣到更加廣泛的應用場景,具有非凡的研究和實用價值。
2、技術方案:一種基于多級分類層次注意力的遠程監(jiān)督關系抽取方法,本發(fā)明提出一種基于圖注意力網(wǎng)絡的層次結構編碼器,深入挖掘層次結構中的關聯(lián)信息,為知識傳播提供更多依賴路徑,輸出感知全局層次結構的關系嵌入;引入一種多級分類框架,與層次注意力進行結合,實現(xiàn)多粒度的關系分類,可以有效利用句子包的特征信息和層次結構中的關聯(lián)信息,實現(xiàn)軟性的數(shù)據(jù)降噪,并提升長尾關系的抽取表現(xiàn)。所述方法包括如下步驟:
3、步驟1:獲取句子包,利用句子編碼器實現(xiàn)單個句子的特征提取,獲取句子特征向量。
4、步驟2:執(zhí)行層次注意力機制,利用關系的層次結構獲取句子包在不同層級的包表示。
5、步驟3:層次結構編碼器以關系的層次結構作為輸入,采用圖注意力網(wǎng)絡(gats)對關系的層次結構進行建模,輸出感知全局結構的關系嵌入。
6、步驟4:以各級包表示和關系嵌入矩陣為輸入,輸入到多級分類框架中,在其內(nèi)部多次執(zhí)行局部分類策略,計算匹配分數(shù),再輸入softmax獲得當前層的關系分類概率分布。
7、步驟5:根據(jù)每級關系的分類概率分布和關系的層次結構,為上一層級構造出期望的概率分布,期望的概率分布與真實的概率分布間的分布差異性越小,相鄰層級的分類結果越合理,從而實現(xiàn)多級分類結果的統(tǒng)一。
8、步驟6:根據(jù)層次損失函數(shù)和局部概率約束的損失函數(shù)結合,計算最終損失。
9、所述步驟1中,句子的特征提取可以由基于深度學習的句子編碼器完成,例如cnn、pcnn等。
10、所述步驟2中,層次注意力以句子級選擇注意力為基礎,利用關系的層次結構來提升長尾關系的抽取效果。在真實關系r對應的每個層次使用一次句子級選擇注意力,將每個層次得到的包表示進行拼接操作,輸入到softmax分類器中進行分類。通過注意力查詢機制為句子包生成歸一化的權重分布,然后采用加權求和的方式獲得整個包的包表示,最后使用包表示為對應實體對預測一個關系標簽。
11、給定一個句子包b={s1,s2,…,sn},si表示包中第i個句子的特征向量,si的注意力權重值:
12、
13、其中,ei表示的是第i個句子與真實關系r的相關程度值,其值通過與注意力查詢向量進行點積運算求得:
14、
15、其中,qr表示對應關系r的注意力查詢向量。
16、最終使用求得的注意力權重分布與bag中的句子特征進行加權求和,得到該bag的包表示:
17、
18、為了便于表示,將上面使用句子級注意力機制求得包表示的過程簡化為下式:
19、bh,t=att(qr,{s1,s2,…,sn})
20、句子包對應的關系標簽為r,根據(jù)關系的層次結構,r處于層次結構的最底層,以此為起點回溯其祖先關系節(jié)點直到根節(jié)點,所經(jīng)過路徑上的關系節(jié)點形成了一個關系鏈(r0,r1,r2,…,rk),其中r=rk,r0為虛擬節(jié)點,是整個層次結構的根節(jié)點。然后利用關系鏈上的關系節(jié)點執(zhí)行多次選擇注意力,提取句子包在每個關系層級的包表示,其中第i個層的包表示計算如下:
21、
22、其中,表示關系r在第i層的注意力查詢向量。通過相同的方式,獲取句子包在所有層次的包表示集合,即
23、所述步驟3中,層次結構編碼器把層次結構看作無向圖,采用gats來對關系的層次結構進行建模,輸出感知全局結構的關系嵌入。
24、層次結構編碼器由多層gats堆疊形成,每一層gats都以關系層次結構中所有關系節(jié)點的嵌入為輸入,假設存在nz個結點,則關系嵌入的輸入集合可以表示為并且滿足第一層gats的輸入是隨機初始化的,其余gats的輸入都是上一層的輸出,gats的核心原理在于計算結點間的注意力權重,結點i結點j之間權重計算如下:
25、αi,j=softmaxj(leakyrelu(watt[whi;whj]+batt))
26、其中,leakyrelu(·)是非線性激活函數(shù),batt是可學習的權重參數(shù),是注意力向量,使用softmax()求得一個歸一化的權重值。
27、計算得到注意力權重矩陣后,采用如下的鄰居聚合操作得到更新后結點i的關系嵌入:
28、
29、其中,ni表示與結點i具有相鄰關系的結點集合,是可學習的權重參數(shù)矩陣,是偏置項,σ(·)表示非線性的激活函數(shù)。
30、獲得所有更新后的關系嵌入為了使上述過程變得穩(wěn)定,探索更多子空間,又采用了一種多頭注意力機制,新的關系嵌入更新過程可以表示如下:
31、
32、其中,h表示多頭注意力的head數(shù)量,在獲取到所有關系節(jié)點的嵌入后,將相同層級的關系嵌入進行堆疊,形成k個層級嵌入矩陣{r(1),r(2),…,r(k)},輸入到多級分類層次注意力中進行匹配分類。
33、所述步驟4中,多級分類框架接在層次注意力后,以各級包表示為輸入,執(zhí)行多次的局部分類。多級分類框架由多個local?classifier組成,其內(nèi)部執(zhí)行局部分類策略,利用包表示與關系嵌入矩陣計算匹配分數(shù),再輸入softmax獲得當前層的關系分類概率分布。假設在第j級執(zhí)行局部分類,是第j級所有關系節(jié)點的嵌入向量進行堆疊所形成的嵌入矩陣,nj表示第j級關系節(jié)點的數(shù)量,dg是關系嵌入向量的維度。首先,將包表示輸入到感知機中,完成維度上的轉化,得到分類所需的特征向量sj,轉化過程如下:
34、
35、其中,是可訓練的參數(shù)矩陣,dc表示包表示的維度,bl表示偏置項,relu是修正線性單元。
36、將第j層關系嵌入矩陣與分類特征向量sj相乘,再利用softmax歸一化操作獲得第j層關系分類的概率分布,計算過程如下:
37、α(j)=softmax(r(j)sj)
38、其中,包含了第j層所有關系的分類概率值,因此關系r在第j層關系rj的概率可以查詢獲得:
39、
40、所述步驟5中,經(jīng)過多級分類后,每級都會產(chǎn)生一個分類的概率分布,α(i)表示第i級所有關系的分類概率分布。定義第i層的預測概率向量為ni表示關系層次結構中第i層關系節(jié)點的數(shù)量。根據(jù)α(i)和關系的層次結構,可以為上一層級構造出期望的概率分布具體構造方法是,如果在關系層次結構中有一個關系節(jié)點為c,該節(jié)點有nc個孩子節(jié)點,那么關系c的分類概率值是這nc個子關系概率值的和。通過這種方式,可以使用下一層級的概率分布構造出上一層級期望得到的概率分布當期望的與真實的α(i-1)間的分布差異性越小,則相鄰層級的分類結果越合理。通過這種分布上的約束,讓獨立的局部分類間產(chǎn)生聯(lián)系,從而使多級分類過程成為一個整體。為滿足局部概率約束,為模型定義了如下的目標函數(shù):
41、
42、其中,b是一個訓練批次中句子包的集合,kl(·)表示相對熵,是衡量兩個概率分布間差異的非對稱性度量,α(l)為真實概率分布,為擬合的概率分布。
43、給定一個訓練批次的包集合其對應的真實關系標簽為{r1,r2,…}。所述步驟6中,由于模型采用了多級分類框架,故對傳統(tǒng)的交叉熵損失函數(shù)進行改進,形成了層次損失函數(shù),其定義如下:
44、
45、與上述局部概率約束的損失函數(shù)進行結合,最終,模型的損失函數(shù)定義如下:
46、
47、其中,λ∈[0,1]是局部概率約束項的比例系數(shù),||θ||2表示l2的正則化項。
48、有益效果:與現(xiàn)有技術相比,本發(fā)明提供的基于多級分類層次注意力的遠程監(jiān)督關系抽取方法,具有如下優(yōu)點:
49、(1)利用gats對關系的層次結構進行建模,深入挖掘關系類別間的隱含語義聯(lián)系,生成感知全局層次結構的關系嵌入。
50、(2)以層次注意力機制為基礎,引入多級分類結構,實現(xiàn)更細粒度的分類過程,引導知識由頭關系向尾關系遷移,從而實現(xiàn)數(shù)據(jù)降噪,并有效改善長尾關系的抽取性能。
51、(3)根據(jù)相鄰層級分類結果間具有高度依賴性的特點,引入了一種新穎的局部概率約束作為目標函數(shù)。
52、(4)本發(fā)明在降噪和長尾抽取上的具有優(yōu)越的有效性。