2020實(shí)體關(guān)系聯(lián)合抽取一片紅海,各種SOTA方法你方唱罷我方登場(chǎng),在一些數(shù)據(jù)集上也是不斷刷出新高度,為信息抽取領(lǐng)域帶來(lái)了新思路,推動(dòng)了信息抽取領(lǐng)域的發(fā)展。本文梳理了實(shí)體關(guān)系聯(lián)合抽取取得SOTA的三種方法,以做總結(jié)。
先總體對(duì)三種方法做個(gè)比較:*表示Exact Matching
以下將對(duì)上面提到的三篇文章依次進(jìn)行詳細(xì)解讀。
CasRel
論文:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
地址:https://arxiv.org/abs/1909.03227
arxiv訪問(wèn)不方便的同學(xué)后臺(tái)回復(fù)『0016』直接獲取
2019年的時(shí)候看到蘇劍林在paperweekly上的一篇文章,闡述了其在參加百度SPO競(jìng)賽中所使用的方法,這篇論文可以認(rèn)為是之前所提方法的延伸。
論文提出級(jí)聯(lián)二分標(biāo)記框架CasRel方法(a novel cascade binary tagging framework),與以往把關(guān)系看著離散標(biāo)簽不同,這里把關(guān)系看著是一個(gè)函數(shù)fr(sub)->obj,頭實(shí)體sub是自變量,尾實(shí)體obj是因變量,先抽取出頭實(shí)體,然后結(jié)合各關(guān)系類型,進(jìn)一步抽取出對(duì)應(yīng)的尾實(shí)體。該方法可以解決實(shí)體關(guān)系中的EPO/SEO實(shí)體重疊問(wèn)題。結(jié)合模型框架圖更好理解:
CasRel模型可以分兩部分理解:
編碼部分:采用Bert進(jìn)行編碼,輸入subword embedding + position embedding
Cascade解碼(級(jí)聯(lián)解碼):先對(duì)subject實(shí)體進(jìn)行抽取(subject tagger),然后對(duì)每一種關(guān)系,進(jìn)一步去抽取該關(guān)系下subject所對(duì)應(yīng)的object實(shí)體(relation-specific object tagger)。
subject實(shí)體抽取:直接在Bert編碼后進(jìn)行span解碼,得到實(shí)體的start和end位置,如圖示,對(duì)每個(gè)token位置做二分類,判斷是否為start位,或者是否為end位。注意:在解碼的時(shí)候,start和end配對(duì)可以采用就近原則得到實(shí)體
特定關(guān)系下的object實(shí)體抽取:結(jié)合上圖示,obj實(shí)體解碼類似于sub的解碼,需要注意兩點(diǎn):一是對(duì)每種關(guān)系都要做obj解碼,二是obj的解碼中引入了上一步中所得到的sub實(shí)體的信息Vsub,Vsub是對(duì)sub實(shí)體中各token向量求平均。當(dāng)start_o和end_o經(jīng)過(guò)二分判斷都為0時(shí),表示該關(guān)系下沒(méi)有對(duì)應(yīng)的obj實(shí)體,也即該sub為頭實(shí)體時(shí)不存在這個(gè)關(guān)系的三元組。
優(yōu)化目標(biāo)及模型損失函數(shù):目標(biāo)是最大化三元組抽取概率,sub和obj的抽取都是采用span方式,可采用二分交叉熵計(jì)算loss。優(yōu)化目標(biāo)公式如下:
實(shí)驗(yàn)結(jié)果
在NYT和WebNLG兩個(gè)數(shù)據(jù)集上達(dá)到了SOTA,如下圖所示,即使不使用Bert進(jìn)行編碼(使用LSTM)效果依然是十分顯著的。實(shí)驗(yàn)同時(shí)對(duì)比了句子中不同三元組數(shù)目下的結(jié)果,以及Normal、EPO和SEO三種情況下的結(jié)果,實(shí)驗(yàn)顯示CasRel方法在多三元組、EPO和SEO情況下效果提升更明顯。
總結(jié):
級(jí)聯(lián)兩個(gè)任務(wù),兩個(gè)任務(wù)獨(dú)立解碼,共享編碼,這種模型架構(gòu)也可以算到多任務(wù)學(xué)習(xí)的范疇,模型先抽取出sub實(shí)體,再在各個(gè)relation下去抽sub實(shí)體對(duì)應(yīng)的obj實(shí)體,把relation看成函數(shù),模型整體架構(gòu)很清晰,特別是在relation緯度上做堆疊,打開(kāi)了關(guān)系抽取的新思路。
TPLinker
論文:TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking
地址:https://arxiv.org/abs/2010.13415
arxiv訪問(wèn)不方便的同學(xué)后臺(tái)回復(fù)『0017』直接獲取
這篇文章提出TPLinker方法(Token Pair Linking)能夠end2end對(duì)實(shí)體及實(shí)體關(guān)系三元組進(jìn)行聯(lián)合抽取,可解決實(shí)體關(guān)系抽取中的SEO、EPO、實(shí)體嵌套等問(wèn)題。其設(shè)計(jì)了一種很巧妙的數(shù)據(jù)標(biāo)注方式,被稱為Handshaking tagging scheme,這種標(biāo)注統(tǒng)一了實(shí)體及實(shí)體關(guān)系的信息,同時(shí)避免了以往其他方法中普遍存在的標(biāo)簽曝光偏差問(wèn)題(exposure bias)(訓(xùn)練階段標(biāo)簽使用ground true,推斷階段標(biāo)簽使用predict tag)。
Handshaking tagging scheme:個(gè)人感覺(jué)文中所給圖示(下圖)其實(shí)不太好理解,從具體例子出發(fā)會(huì)更方便理解的。
為長(zhǎng)度為n的句子,構(gòu)造nxn的矩陣M,行、列分別對(duì)應(yīng)著句子中的token,針對(duì)句子中的實(shí)體及實(shí)體關(guān)系設(shè)計(jì)三種標(biāo)注方式:
entity head to entity tail (EH-to-ET):對(duì)每個(gè)實(shí)體,將它的頭token(行)對(duì)應(yīng)的尾token(列)位置標(biāo)記為1,反應(yīng)在M的上三角上,如所給例子實(shí)體:New York City ==> M(New, City) = 1, De Blasio ==> M(De, Blasio) =1,上圖中紫色背景。
subject head to object head (SH-to-OH):對(duì)每個(gè)關(guān)系下的實(shí)體對(duì),將首實(shí)體(sub)的頭token(行)對(duì)應(yīng)到尾實(shí)體(obj)的頭token(列),如所給例子關(guān)系mayor實(shí)體對(duì):(New York City, De Blasio) ==> M(New, De),上圖中紅色背景。
subject tail to object tail (ST-to-OT): 對(duì)每個(gè)關(guān)系下的實(shí)體對(duì),將首實(shí)體(sub)的尾token(行)對(duì)應(yīng)到尾實(shí)體(obj)的尾token(列),如所給例子關(guān)系mayor實(shí)體對(duì):(New York City, De Blasio) ==> M(City, Blasio),上圖中藍(lán)色背景。
注意:EH-to-ET只會(huì)存在M的上三角,而SH-to-OH和ST-to-OT是上下三角都會(huì)存在的,為了節(jié)省存儲(chǔ)資源,同時(shí)減少目標(biāo)tag的稀疏性(還是很稀疏),將M的下三角映射到上三角上,值設(shè)置為2。(考慮上三角映射的位置上會(huì)不會(huì)不為0呢,是會(huì)存在這種可能的,但現(xiàn)實(shí)中概率很低,如triple (ABC, R, CDE)和(CDE, R, BC))
上面將三元組中的實(shí)體信息映射到矩陣上三角,然后將其展平為標(biāo)記序列,可以得到序列的長(zhǎng)度為n*(n+1)/2。如果有N中關(guān)系,則經(jīng)過(guò)Handshaking tagging后,得到2N+1個(gè)標(biāo)記序列。
解碼方式:
先不用去看下面所給的解碼圖示,考慮上面講到的Handshaking tagging作為模型的預(yù)測(cè)目標(biāo),實(shí)際上是2N+1個(gè)n*n的矩陣,矩陣的元素為句子各token對(duì)的關(guān)系,其值為0、1、2。其中一個(gè)矩陣標(biāo)記了實(shí)體EH-to-ET,N個(gè)矩陣標(biāo)記了SH-to-OH,N個(gè)矩陣標(biāo)記了ST-to-OT。文章給出了一個(gè)解碼的算法流程,不再貼出,簡(jiǎn)述過(guò)程如下:
解碼EH-to-ET可以得到句子中所有的實(shí)體,用實(shí)體頭token idx作為key,實(shí)體作為value,存入字典D中
對(duì)每種關(guān)系r,解碼ST-to-OT得到token對(duì)存入集合E中,解碼SH-to-OH得到token對(duì)并在D中關(guān)聯(lián)其token idx的實(shí)體value
對(duì)上一步中得到的SH-to-OH token對(duì)的所有實(shí)體value對(duì),在集合E中依次查詢是否其尾token對(duì)在E中,進(jìn)而可以得到三元組信息。
相關(guān)公式:
模型編碼可以是LSTM也可以是Bert,Token Pair表示為公式(1),Handshaking Tagger可以看著是多分類,公式為(2),損失函數(shù)定義為公式(4):
實(shí)驗(yàn)結(jié)果:
同樣在NYT和WebNLG兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),延續(xù)CasRel的實(shí)驗(yàn)結(jié)果,TPLinker方法達(dá)到了新的SOTA,同時(shí)通過(guò)進(jìn)一步細(xì)化實(shí)驗(yàn)分析得到以下結(jié)論:
句子中triple數(shù)目大于5的時(shí)候,TPLinker方法優(yōu)勢(shì)更加明顯
在實(shí)體關(guān)系標(biāo)注中只標(biāo)注實(shí)體尾token,和標(biāo)注實(shí)體span相比,并沒(méi)有簡(jiǎn)化問(wèn)題
得益于解碼的高效性,TPLinker推斷性能相對(duì)于CasRel有極大提升
總結(jié):
創(chuàng)新性地提出了Handshaking tagging方式,統(tǒng)一了實(shí)體與實(shí)體關(guān)系信息,使得模型能夠一次解碼得到三元組信息
能夠解決實(shí)體關(guān)系中的實(shí)體重疊EPO、SEO問(wèn)題,受益于EH-to-ET標(biāo)記,模型同時(shí)能夠解決嵌套實(shí)體問(wèn)題
end2end得到實(shí)體及實(shí)體關(guān)系,避免了標(biāo)簽暴露偏差的問(wèn)題
SPN4RE
論文:Joint Entity and Relation Extraction with Set Prediction Networks
地址:https://arxiv.org/abs/2011.01675
arxiv訪問(wèn)不方便的同學(xué)后臺(tái)回復(fù)『0018』直接獲取
這篇文章出至中科院劉康老師團(tuán)隊(duì),是目前NYT和WebNLG數(shù)據(jù)集上的最新SOTA。論文將實(shí)體關(guān)系聯(lián)合抽取歸納為三種范式,分別為:
end2end抽取實(shí)體及關(guān)系(as table filling problem),編碼層共享參數(shù),解碼層獨(dú)立解碼
轉(zhuǎn)化為序列標(biāo)注問(wèn)題,需要設(shè)計(jì)復(fù)雜的tagging scheme,即每個(gè)tag需要同時(shí)表示實(shí)體及關(guān)系的信息(之前的方案無(wú)法應(yīng)對(duì)嵌套、重疊實(shí)體)
轉(zhuǎn)化為seq2seq問(wèn)題,解碼時(shí)生成三元組(多次生成可解決嵌套、重疊實(shí)體(autoregressive decoder and cross-entropy loss))
實(shí)際上,第一種也可以看著是多任務(wù)學(xué)習(xí),第二種在TPLinker方法中已經(jīng)比較好地解決了實(shí)體重疊和嵌套問(wèn)題,論文認(rèn)為所提出的SPN4RE屬于seq2seq范疇,通讀下來(lái)筆者竊以為也可將SPN4RE歸為實(shí)體關(guān)系聯(lián)合抽取中的多任務(wù)學(xué)習(xí)。
論文的初衷是在以往使用seq2seq解決實(shí)體關(guān)系三元組時(shí),面臨三元組生成順序?qū)Y(jié)果產(chǎn)生影響,所以從生成順序無(wú)關(guān)三元組、并行生成三元組集合出發(fā)提出新的模型SPN。
SPN(set prediction networks)包含了三個(gè)部分:
句子編碼:采用預(yù)訓(xùn)練語(yǔ)言模型Bert,BPE編碼輸入
三元組集合生成:基于transformer的非自回歸解碼NAT(transformer-based non-autoregressive decoder)
并行產(chǎn)生三元組,產(chǎn)生三元組順序無(wú)關(guān),加速解碼,NAT結(jié)構(gòu)使用到了雙向信息
NAT條件概率公式:j!=i說(shuō)明第j個(gè)triple和其他triple也是有關(guān)系的,n為三元組個(gè)數(shù),本文設(shè)置為常數(shù)m
基于集合的Loss設(shè)計(jì):二部圖匹配損失函數(shù)(bipartite matching loss function)
NAT結(jié)構(gòu)解碼:
輸入m表示要解碼的triple個(gè)數(shù),N個(gè)transformer層,每層先是各triple間做self-attention,然后是和sentence的編碼做inter-attention,輸出解碼向量為Hd,其為m*d緯度
關(guān)系預(yù)測(cè):對(duì)每個(gè)hd過(guò)FFN經(jīng)過(guò)softmax,預(yù)測(cè)「關(guān)系」,關(guān)系數(shù)量為總關(guān)系量+1(包含了null),公示如下:
關(guān)系首尾實(shí)體預(yù)測(cè):類似與對(duì)sentence做span,融合了sentence編碼和對(duì)應(yīng)關(guān)系的編碼,公式如下:
二部圖匹配損失函數(shù)(Bipartite Matching Loss):在預(yù)測(cè)的三元組集合和ground true三元組集合間計(jì)算loss
兩個(gè)集合的元素進(jìn)行最優(yōu)匹配:預(yù)測(cè)的集合大小為m,如果ground true集合小于m則補(bǔ)充null至大小為m。尋找最優(yōu)匹配的過(guò)程,實(shí)際上相當(dāng)于對(duì)m個(gè)人分配m個(gè)任務(wù),第i個(gè)人做第j個(gè)任務(wù)的代價(jià)為Cij,尋找最優(yōu)方式將這m個(gè)任務(wù)分配給m個(gè)人,使得總代價(jià)最小,這就是二部圖匹配問(wèn)題,可以利用匈牙利算法求解,時(shí)間復(fù)雜度為O(m^3)。本文定義代價(jià)函數(shù)如下:
損失函數(shù)定義:對(duì)最優(yōu)匹配得到的m個(gè)三元組對(duì)計(jì)算loss,注意,如果「關(guān)系」為null,則關(guān)系中的頭尾實(shí)體不參與loss計(jì)算,Loss函數(shù)定義如下:
實(shí)驗(yàn)結(jié)果:
在NYT和WebNLG數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如下圖,提出并回答了以下四個(gè)問(wèn)題:
聯(lián)合抽取模型SPN的整體性能如何:對(duì)比CasRel F1在NYT上提升2.9%,在 WebNLG上提升1.6%(圖略)
模型中每個(gè)設(shè)計(jì)對(duì)結(jié)果的影響:通過(guò)消融實(shí)驗(yàn),對(duì)比了交叉熵loss和二部圖匹配loss,以及非自回歸解碼層數(shù)對(duì)結(jié)果的影響,得到了NAT層數(shù)為3時(shí)最優(yōu),二部圖匹配Loss優(yōu)于交叉熵Loss(圖略)
數(shù)據(jù)中存在不同數(shù)量的三元組對(duì)性能的影響:數(shù)據(jù)中三元組數(shù)量越多(信息越復(fù)雜),對(duì)比其他方法SPN的效果越顯著(圖略)
該方法在解決重疊模式問(wèn)題上性能如何(EPO, SEO):和其他方法對(duì)比了Normal、SEO、EPO三種triple類型下效果,結(jié)論同上一條一致,在復(fù)雜問(wèn)題上(SEO, EPO),相比與其他方法SPN效果顯著(圖略)
總結(jié):
對(duì)NAT解碼的結(jié)果做關(guān)系預(yù)測(cè),可看著是分類問(wèn)題,然后將解碼結(jié)果進(jìn)一步融合編碼信息對(duì)句子做實(shí)體抽取,可看著實(shí)體span解碼過(guò)程,所以筆者認(rèn)為該方法也屬于聯(lián)合抽取中的多任務(wù)學(xué)習(xí)
采用二部圖匹配,尋找最優(yōu)三元組匹配的過(guò)程復(fù)雜度O(m^3),先匹配再計(jì)算Loss為集合緯度的Loss計(jì)算提供了參考。
以上對(duì)實(shí)體關(guān)系聯(lián)合抽取三篇SOTA文章進(jìn)行了分析解讀,在實(shí)際的工作當(dāng)中,我們也已經(jīng)將CasRel方法進(jìn)行落地實(shí)踐,并取得了一定的效果。在實(shí)體抽取任務(wù)中,也可以借鑒TPLinker的標(biāo)記方法,解決嵌套實(shí)體問(wèn)題。SPN作為最新的SOTA,其所涉及的NAT解碼和在集合緯度上的Loss計(jì)算也值得借鑒參考。
責(zé)任編輯:xj
原文標(biāo)題:SOTA集結(jié),2020登頂關(guān)系抽取的3篇佳作
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121355 -
自然語(yǔ)言
+關(guān)注
關(guān)注
1文章
289瀏覽量
13374 -
nlp
+關(guān)注
關(guān)注
1文章
489瀏覽量
22065
原文標(biāo)題:SOTA集結(jié),2020登頂關(guān)系抽取的3篇佳作
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論