Named Entity Recognition as Dependency Parsing
将实体识别命名为依赖项解析
Abstract
本文通过biaffine模型为句子输入提供全局视图,对句子中的开始和结束token对进行评分。
1 Introduction
- 嵌套实体:对于Bank of China,其中[China] and [Bank of China]都是实体,这种嵌套实体在ACE04/05和Genia中特别常见
- flat 实体:CONLL2002/2003和ontonotes中只包含flat实体,而嵌套实体会被忽略
本文采用依赖关系解析,为每个token预测一个head,并为head-child分配一个关系(将NER重新定义为识别开始和结束索引的任务),同时处理nested和flat两种实体任务。
2 Methods
-
使用单词嵌入和字符嵌入作为输入
- 为了对单词进行编码,同时采用BERT-large和fast-text嵌入
- 对于字符嵌入,使用CNN对token的字符进行编码
-
将输出馈送给BiLSTM
- 单词和字符嵌入的串联送入到BiLSTM中,获得单词表示(x)
- 使用两个FFNN为spans的start/end创建不同的表示 h s / h e h_s/h_e hs/he
- 与直接使用BiLSTM预测start、end相比,这种方法提高了准确性,因为实体开始和结束的山下文不同。
-
再提供给biaffine分类器
-
对句子使用biaffine模型来创建 l × l × c l\times l\times c l×l×c的评分张量 r m r_m rm,其中 l l l表示句子长度, c c c表示NER类别的数量+1(非实体)
-
计算span i 的分数:
h s ( i ) = F F N N s ( x s i ) h e ( i ) = F F N N e ( x e i ) r m ( i ) = h s ( i ) T U m h e ( i ) + W m ( h s ( i ) ⊕ h e ( i ) ) + b m h_s(i)=FFNN_s(x_{s_i})\\ h_e(i)=FFNN_e(x_{e_i})\\ r_m(i)=h_s(i)^TU_mh_e(i)+W_m(h_s(i)\oplus h_e(i))+b_m hs(i)=FFNNs(xsi)he(i)=FFNNe(xei)rm(i)=hs(i)TUmhe(i)+Wm(hs(i)⊕he(i))+bm
其中 s i , e i s_i,e_i si,ei表示span i 的开始和结束指数, U m ∈ R d × c × d , W m ∈ R 2 d × c Um\in R^{d\times c\times d},W_m\in R^{2d\times c} Um∈Rd×c×d,Wm∈R2d×c
-
张量 r m r_m rm提供在 s i ≤ e i s_i\le e_i si≤ei的约束下可以构成命名entity的所有可能span的分数
为每个span分配一个NER类别标签
y
′
y^{'}
y′:
y
′
(
i
)
=
a
r
g
m
a
x
r
m
(
i
)
y^{'}(i)=arg\ max\ r_m(i)
y′(i)=arg max rm(i)
其中i表示span
然后将非实体以外的类别的跨度按其类别得分 r m ( i j ′ ) r_m(i_{j^{'}}) rm(ij′)大小进行排序
- 对于nested NER
- 只要实体不与排名较高的实体的边界冲突,则选择该实体(还是只能识别出分数较高的实体)
- 如果出现一个实体的边界与另一个实体有重叠,那么选择得分较高的span
- 对于flat NER
- 包含或排名在要识别的实体之内的任何实体都不会被选择
将其转化为一个多分类问题,本文采用softmax交叉熵优化模型:
p
m
(
i
c
)
=
e
x
p
(
r
m
(
i
c
)
)
∑
c
∧
=
1
C
e
x
p
(
r
m
(
i
c
∧
)
)
l
o
s
s
=
−
∑
i
=
1
N
∑
c
=
1
C
y
i
c
l
o
g
p
m
(
i
c
)
p_m(i_c)=\frac{exp(r_m(i_c))}{\sum_{\overset{\wedge}{c}=1}^{C}exp(r_m(i_{\overset{\wedge}{c}}))}\\ loss = -\sum_{i=1}^{N}\sum_{c=1}^{C}y_{i_c}logp_m(i_c)
pm(ic)=∑c∧=1Cexp(rm(ic∧))exp(rm(ic))loss=−i=1∑Nc=1∑Cyiclogpm(ic)
3 Experiments
3.1 Dataset
- nested NER:
- ACE 2004,ACE 2005和GENIA语料库
- flat NER
- CONLL 2002、CONLL 2003和ONTONOTES语料库
3.2 超参数
3.3 Results
4 启示
- 还是没有解决嵌套NER问题
- biaffine模型是一个很好的思路