使用框嵌入(box embedding)進(jìn)行細(xì)粒度實(shí)體類型識(shí)別

1、研究出發(fā)點(diǎn)

本次分享一篇有關(guān)embedding的文章,來(lái)自2021年ACL的paper《Modeling Fine-Grained Entity Types with Box Embeddings》,其核心是提出了一種box embedding的方法來(lái)進(jìn)行實(shí)體類型(entity type)識(shí)別。研究的動(dòng)機(jī)可以從下面圖來(lái)說(shuō)明:

即主流的方法都是采用vector-based的方法,將mention及其所在的文本和所有類別標(biāo)簽表征成向量,然后采用multi-label classification的方法逐個(gè)判斷是否屬于某個(gè)實(shí)體類型。這類方法會(huì)存在一個(gè)缺陷就是:表征出來(lái)的向量雖然可以用相似性去判斷,但區(qū)別不了層次性信息,如很難判斷"Person","Author","Politican"這三個(gè)標(biāo)簽是誰(shuí)父類,誰(shuí)是子類,或者二者是否有交叉的關(guān)系?;谠搯栴},論文提出box embedding的表征方法,把任務(wù)對(duì)象都用超矩形(hyperrectangle)來(lái)表征,這樣可以用矩形是否包含,是否重疊來(lái)識(shí)別其歸屬和層級(jí)性關(guān)系。

在這里,也許有人會(huì)有疑問:在很多該任務(wù)場(chǎng)景下,實(shí)體類型集合的層級(jí)信息(樹狀結(jié)構(gòu))都是事先可以知道的,不用去學(xué)習(xí)。所以,這里要說(shuō)明下,論文的box embedding是應(yīng)用在事先不知道label的層級(jí)信息的場(chǎng)景,希望用其去學(xué)習(xí)實(shí)體類型集合潛在的層級(jí)信息。

此外,box embedding還有特性就是:可以用矩形(盒子)的體積來(lái)衡量一個(gè)mention是否屬于某個(gè)type的概率。

2、Box Embedding 介紹

2.1 關(guān)于box embedding定義

一個(gè)box x 可以用兩個(gè)點(diǎn)來(lái)表示 (x_m,x_M) ,兩個(gè)點(diǎn)分別為矩形最小角和最大角,即滿足 x_{m,i} \leq x_{M,i} ,其中 i \in \{1,2,...,d \} ,代表坐標(biāo)維度。關(guān)于一個(gè)box x 的體積可以這樣計(jì)算:
Vol(x)=\prod_{i}^{}(x_{M,i} - x_{m,i}) \qquad (1) \\
文中將盒子空間的體積歸一化為1,將每個(gè)盒子的體積解釋為一個(gè)mention在給定實(shí)體類型的邊際概率。此外,對(duì)于兩個(gè)盒子x,y ,將其重疊的體積定義為:
Vol(x \cap y)=\prod_{i}^{}max(min(x_{M,i}-y_{M,i})-max(x_{m,i}-y_{m,i}),0) \qquad (2) \\
x 視為mention的box embedding,y 視為type的box embedding,則可以將識(shí)別任務(wù)轉(zhuǎn)換成條件概率
P(y|x)=\frac{Vol(x,y)}{Vol(x)} 。

2.2 基于box embedding的Multi-label Type Classifier

有了box embedding定義,接著介紹基于此如何做mention type classification。首先說(shuō)下輸入和輸出形式:
input:(s,m) and output: \{t^0,t^1,... \} \in T , 其中 m 為輸入mention, s 為mention所在的文本,t 為type label,T 為所有type label集合。

假設(shè)輸入的(s,m)元組得到對(duì)應(yīng)box embedding 為 x ,所有type label得到對(duì)應(yīng)的box embedding 為
\{y^0,y^1,...\} ,則 預(yù)測(cè)m 是否屬于type labelt^k 可表示為條件概率:
p_\theta(t^k|s,m)=\frac{Vol(z^k)}{Vol(x)}=\frac{Vol(x \cap y^k)}{Vol(x)} \qquad (3) \\

這樣就把識(shí)別任務(wù)轉(zhuǎn)化多標(biāo)簽識(shí)別任務(wù),當(dāng) p_\theta >0.5 時(shí),就認(rèn)為屬于該類型標(biāo)簽。其思路如下圖。

2.3 如何計(jì)算條件概率

基于前面的介紹,識(shí)別任務(wù)變成如何計(jì)算公式(3),即定義的條件概率。再考慮該問題時(shí),需要分幾步來(lái)實(shí)現(xiàn)。

首先,如何得到box embedding x,y 。

關(guān)于box embedding y^k ,論文采用初始化的方式,先定義一個(gè)中心向量 c_y^ko_y^k ,則box y^k的最小角和最大角可按下列計(jì)算:
y_m^k=\sigma(c_y^k-softplus(o_y^k)) \\ \qquad y_M^k=\sigma(c_y^k+softplus(o_y^k)) \qquad (4)

激活函數(shù)softplus是為max函數(shù)的平滑表示,有利于反向傳播計(jì)算。為何按上述定義來(lái)計(jì)算兩個(gè)角的坐標(biāo)?這里我理解的是:若按二維,c為矩陣的對(duì)角線中心點(diǎn),o可認(rèn)為是半徑,兩個(gè)角剛好為+-的關(guān)系,而softplus保證計(jì)算的是最長(zhǎng)對(duì)角線,還可以保證結(jié)果不為0,\sigma 讓向量都取值范圍限定在[0,1]范圍,這樣保證計(jì)算的體積<=1并>0。

關(guān)于 box embedding x,論文利用BERT進(jìn)行編碼,輸入形式為:x = [CLS] m [SEP] s [SEP],得到表征向量H^{[cls]} ,接著進(jìn)行一層映射得到向量 \hat{H} \in \mathbb{R}^{2d} ,再將其拆分成中心向量c_x和偏移向量o_x ,這樣 box x(x_m,x_M) 的向量就可以按公式(4)來(lái)計(jì)算出來(lái)。

有了對(duì)應(yīng)的box embedding ,現(xiàn)在就剩計(jì)算公式(3)中分子與分母項(xiàng)。其實(shí)按公式(1)(2)可以計(jì)算出分子與分母的結(jié)果。但文中作者指出原始的計(jì)算方式(按max,min)會(huì)導(dǎo)致數(shù)據(jù)過于稀疏,不利于反向傳播學(xué)習(xí)。為此,論文采用Gumbel distributions來(lái)計(jì)算box的最小角與最大角坐標(biāo),視為一種soft box計(jì)算方式,并由此來(lái)重新計(jì)算box的體積,其定義為:
Vol(x)\approx\prod_{i}^{}softplus(\frac{x_{M,i}-x_{m,i}}{\beta}-2\gamma) \qquad (5) \\
其中\beta 為學(xué)習(xí)的變量, \gamma 為歐拉常數(shù),取值為0.5772。此外,將兩個(gè)盒子 x,y ,將其重疊的體積z^k 重新定義為
z_m^k=\beta ln(e^{\frac{x_m}{\beta}}+e^\frac{y_m^k}{\beta}) \\ z_M^k=-\beta ln(e^{-\frac{x_M}{\beta}}+e^\frac{-y_M^k}{\beta}) \qquad (6)

這樣,公式(3)的分母與分子計(jì)算方式就可以按公式(5),(6)的方式來(lái)計(jì)算,整體計(jì)算邏輯也就如上。若想搞清公式(5),(6)的計(jì)算原理,需要進(jìn)一步查閱Gumbel distributions,這里我就“囫圇吞棗”了。

2.4 關(guān)于損失函數(shù)

關(guān)于訓(xùn)練的損失函數(shù)就是正常的binary cross-entropy,如下所示。

3、實(shí)驗(yàn)部分

文中選了4個(gè)mention type classification的分類的數(shù)據(jù)集: UltraFine Entity Typing (UFET), OntoNotes, FIGER, and BBN。

下圖是顯示在UFET數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果:

下圖為在其他三個(gè)數(shù)據(jù)上的結(jié)果:

下圖為展示“person”“actor”在box embedding可視化效果??梢钥闯鲈诓簧倬S度上,"person"是包含"actor"的,但并不是所有。說(shuō)明box embedding在學(xué)習(xí)潛在層級(jí)關(guān)系信息上是有效的,但還沒達(dá)到絕對(duì)理想的地步。

4、結(jié)尾

本次分享box embedding的緣由是覺得該方法在學(xué)習(xí)潛在的層級(jí)信息上有借鑒或啟發(fā)的意義,盡管實(shí)驗(yàn)結(jié)果展示其有效,但并不是驚艷,但覺得該框架下仍有繼續(xù)優(yōu)化的空間。個(gè)人覺得有兩點(diǎn),(1)關(guān)于box的定義就用最小角和最大角來(lái)表示,感覺過于簡(jiǎn)化;(2)在體積和重疊體積計(jì)算上,也可嘗試新的計(jì)算方式。此外,在其他任務(wù)場(chǎng)景,像multi-label classification也可以嘗試下該方法。

更多文章可關(guān)注筆者公眾號(hào):自然語(yǔ)言處理算法與實(shí)踐

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容