论文阅读笔记(三)【ACL 2021】Locate and Label: A Two-stage Identifier for Nested Named Entity
論文標題:
Locate and Label: A Two-stage Identifier for Nested Named Entity Recognition
論文鏈接:
https://arxiv.org/abs/2105.06804
代碼鏈接:
https://github.com/tricktreat/locate-and-label
摘要
(1)過去的難點:
傳統的NER研究只涉及平面實體,忽略了嵌套實體。基于跨度的方法將實體識別視為跨度分類任務。這些方法雖然具有處理嵌套NER的能力,但計算量大,對邊界信息的忽略,對部分匹配實體的跨度利用不足,長實體識別困難。
(2)模型:
為了解決這些問題,我們提出了一種兩階段實體標識符( Two-stage Identifier)。
(3)方法:
首先,我們通過對seed span(種子跨度) 進行過濾和邊界回歸來生成跨度建議(span proposal),以定位實體;
然后用相應的類別標記邊界調整后的跨度建議(就是對跨度建議再次調整)。
Introduction
(1)NER: 命名實體識別是自然語言處理中的一項基本任務,重點是識別引用實體的文本范圍。NER廣泛用于下游任務,如實體鏈接和關系提取。
(2)當今的NER中,嵌套NER是有所關注的;
主要方法:比如序列模型,基于跨度的方法;
序列模型:序列標記模型預測邊界,但在沒有動態調整的情況下,邊界信息沒有得到充分利用。其次,實體部分匹配的跨度會被認為是負跨度。
基于跨度的方法是將NER視為了一項具有識別嵌套NER固有能力的分類任務。首先,由于大量低質量的候選跨度(就是上面說的部分匹配的跨度)導致較高的計算成本。然后,很難識別長實體,因為在訓練期間枚舉的跨度不是無限長的。其次,邊界信息沒有得到充分利用,而模型定位實體很重要。
(3)動機:
在目標檢測領域,他們將檢測任務分為兩個階段,首先生成候選區域,然后對候選區域的位置進行分類和微調。所以,我們將檢測任務分為了兩個階段。
(4)貢獻:
- 我們提出了一種新的兩階段標識符,用于NER,首先定位實體,然后標記實體。我們將NER視為邊界回歸和跨度分類的聯合任務;
- 我們有效地利用邊界信息。通過進一步識別實體邊界,我們的模型可以調整邊界以準確定位實體。在訓練邊界回歸器時,除了邊界級平滑L1損失外,我們還使用跨度級損失,用于測量兩個跨度之間的重疊;
- 在訓練過程中,我們不是簡單地將部分匹配的跨度視為負面示例,而是基于IoU(交并比)構造軟示例;
- KBP17、ACE04和ACE05數據集
Method
在第一階段,我們設計了一個span建議模塊,該模塊包含兩個組件:過濾器和回歸器。過濾器將種子跨度分為上下文跨度和跨度建議,使用IoU,在這些種子跨度中,而重疊程度較低的部分為上下文跨度(contextual spans),實體重疊程度較高的部分為提案跨度(proposal spans)。并過濾掉前者以減少候選跨度。回歸器通過調整跨度建議的邊界來定位實體,以提高候選跨度的質量。
在第二階段,我們使用實體分類器來標記實體類別,以減少數量并提高質量。在訓練期間,為了更好地利用部分與實體匹配的跨度,我們通過基于IoU對模型的損失進行加權來構造軟示例。此外,我們將軟非最大抑制(soft NMS)(Bodla et al.,2017)算法應用于實體解碼,以消除誤報。
Two-stage Identifier.
1. Token representation:
① 句子: 一個句子有n個單詞,對于第i個單詞,我們通過concat它的word embedding xiwx_{i}^{w}xiw?,上下文word embeddingxilmx_{i}^{lm}xilm?,詞性標注POS xiposx_{i}^{pos}xipos?,字符級嵌入xicharx_{i}^{char}xichar?來得到它的表示。
word embedding xiwx_{i}^{w}xiw?由具有相同設置的BiLSTM模塊生成;對于上下文的Word embedding,我們遵循2020年的文章獲取目標標記的上下文相關嵌入,每邊有一個環繞的句子。最后concat后放入BiLSTM來獲得隱藏狀態獲得最終的word representation hi∈Rdh_{i}\in\R^ze8trgl8bvbqhi?∈Rd
2. Seed Span Generation
(1)獲取種子跨度集
種子跨度集 B=b0,...,bkB = {b_{0},...,b_{k}}B=b0?,...,bk?,其中bi=(sti,edi)b_{i} = (st_{i},ed_{i})bi?=(sti?,edi?)表示的第i個種子跨度; K表明了生成的種子跨度的數量,并且sti,edist_{i},ed_{i}sti?,edi?表明了span的起始位置
(2)為種子跨度分配類別和回歸目標
具體來說,我們將B中的每個種子跨度與跨度具有最大IoU的基本真相實體配對。
IoU(A,B)=A∩BA∪BIoU(A,B)=\frac{{A}\cap{B}}{{A}\cup{B}}IoU(A,B)=A∪BA∩B?,其中A和B是兩個跨度; 我們根據兩個之間IoU將他們分為了正跨度和負跨度;正跨度是和gt是同一標簽,負跨度則是None標簽;正負跨度比例:1:5
3. Span Proposal Module
將跨度分為了跨度建議(質量高)和上下文跨度(質量低),目的是消除后者,降低成本。 Span Propos Module由兩部分組成: Span建議過濾器和邊界回歸器; 前者用于刪除上下文范圍并保留范圍建議,而后者用于調整范圍建議的邊界以定位實體。
(1) Span Proposal Filter
最大池跨度表示法
將整個種子跨度從stist_{i}sti?到edied_{i}edi?計算最大池化;
跨度表示
concat最大池化表示和種子跨度的第一個和最后一個單詞;
概率計算
最后我們可以計算bib_{i}bi?屬于該span proposal的概率
其中所有的hih_{i}hi?是某個單詞的最終表示; [;]表示的是concat; MLP包含了兩個線性層和一個GELU激活函數
(2) Boundary Regressor
盡管有很高的重疊,但是不能命中實體,還需要利用邊界回歸損失調節邊界值(內部和外部信息)。
跨度回歸表示
這里我們使用了外部邊界單詞(index加一和減一)表示和最大池化跨度表示進行concat;
計算左右邊界的偏移
4. 實體分類器模塊
調整偏移后的邊界
開始位置st~i\widetilde{st}_{i}sti?、結束位置ed~i\widetilde{ed}_{i}edi?
新的邊界單詞池化
交叉熵損失
其中MLP包含了兩個線性層和一個GELU激活函數。5.Training Objective
我們不將所有的部分匹配的跨度視為負跨度,而是分配權重,對于第i個跨度bib_{i}bi?,wiw_{i}wi?設置為:
其中α∈{α1,α2}\alpha\in\{\alpha_{1},\alpha_{2}\}α∈{α1?,α2?}表明了分別用在第一和第二階段的IoU的閾值;eie_{i}ei?表明是bib_{i}bi?的gt標簽;μ\muμ是聚焦參數,可平滑調整部分匹配示例的下加權率; 如果μ\muμ = 0,那么上式就是一個hard one;此外,如果跨度未與任何實體重疊或與某些實體完全匹配,則損失重量wiw_{i}wi?=1。
focal loss(焦點損失)
跨度建議過濾器;解決不平衡問題;
其中,wiw_{i}wi?是第i個實例的權重; γ\gammaγ表示的是focal loss的聚焦參數;該損失包含了兩個組件,平滑L1L_{1}L1?loss是在boundary水平,而重疊loss是在span水平;
其中di={ed~i,ed^i}d_i = \{\widetilde{ed}_{i},\widehat{ed}_{i}\}di?={edi?,edi?},ei={st~i,st^i}e_i = \{\widetilde{st}_{i},\widehat{st}_{i}\}ei?={sti?,sti?},st^i\widehat{st}_{i}sti?,ed^i\widehat{ed}_{i}edi?,t^il\widehat{t}_{i}^{l}til?和t^ir\widehat{t}_{i}^{r}tir?表明了ground-truth的左邊界、右邊界、左偏移和右偏移
交叉熵損失
其中wiw_{i}wi?通過式子11計算出來的第i個例子的權重,我們聯合訓練濾波器、回歸器和分類器,因此總損失計算如下:
(5)實體encoding
經過上面的步驟,我們已經獲得了跨度方案的分類概率和邊界偏移回歸結果。基于它們我們需要提取句子中所有的實體(找到開始位置,結束位置和實體的類別)。
我們使用yi=argmax(pi)y_i = argmax(p_i)yi?=argmax(pi?)作為跨度sis_isi?的標簽,用scorei=max(pi)score_i = max(p_i)scorei?=max(pi?)作為sis_isi?屬于yiy_iyi?條目的置信度。這樣si=(li,ri,yi,scorei)s_i = (l_i,r_i,y_i,score_i)si?=(li?,ri?,yi?,scorei?)。鑒于分數的閾值δ\deltaδ和span的提議S={si,...,sN}S=\{s_i,...,s_N\}S={si?,...,sN?},N表示成了span proposals的數目,我們使用Soft-NMS算法來過濾false positives????我們按分數的順序遍歷span proposals(轉化術語被表示為sis_isi?),并且調整其它span proposals (sjs_jsj?)的分數為f(si,sj)f(s_i, s_j)f(si?,sj?),這個被定義為
其中u∈(0,1)u\in(0,1)u∈(0,1)表示分數的衰減系數,k表示IoU閾值。之后我們保持所有的span proposals用score>δscore>\deltascore>δ作為最終的提取實體。
Experiment
1. 實驗設置
數據集
ACE04、ACR05、KBP17和GENIA
ACE04、ACR05: 嵌套數據集, 7個實體類別;劃分為train:dev:test = 8:1:1
KBP17:包含了GPE, ORG, PER, LOC, and FAC;劃分為train:dev:test = 866:20:167
GENIA:生物學嵌套命名實體數據集,包含五種實體類型,包括DNA、RNA、蛋白質、細胞系和細胞類型類別。train:test = 9:1
評價指標
當實體邊界和實體標簽同時正確時,我們使用嚴格的評估指標來確認實體是正確的。我們使用精確性、召回率和F1分數來評估性能
參數設置
GloVE 和 BERT是一個encoder;
對于GENIA我們用BioWordvec、BERT with BioBERT 代替GloVE ;
維度設置為:xiw,xilm,xipos,xicharx_{i}^{w},x_{i}^{lm},x_{i}^{pos},x_{i}^{char}xiw?,xilm?,xipos?,xichar?和h_{i}}分別是100,1024,50,50和1024;
epoch: 25
Adam優化器和一個線性warmup-decay學習率策略; 在filter、regressor和entity classifier之前用0.5的學習率。
2. 實驗結果
在nested NER任務的結果
總結
以上是生活随笔為你收集整理的论文阅读笔记(三)【ACL 2021】Locate and Label: A Two-stage Identifier for Nested Named Entity的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12c oracle 激活_Oracle
- 下一篇: i2c通信的详细讲解_【博文连载】SCC