Joint entity recognition and relation extraction as a multi-head selection problem
-
Abstract
实体识别和关系抽取比较依赖NLP工具(词性标记POS、依赖关系等),本文提出一种不需要人工或工具提取特征并且能同时进行实体和关系等候区的模型,即使用CRF抽取实体,将关系抽取看做多头选择问题,为每一个实体识别潜在的多种关系(实体重叠)。
Model
本文将联合关系抽取建模为一项多头选择问题(一个特定的实体可能涉及到与其他实体的多种关系),模型能够同时识别实体(类型和边界)以及它们之间的关系。- Embedding Layer
- 将word进行词嵌入
- Bi-LSTM Encoder Layer
- 得到双向的信息:hi=[hi→;hi←]h_i=[\overset{\rightarrow}{h_i};\overset{\leftarrow}{h_i}]hi=[hi→;hi←]
- Named Entity Recognition
- 计算每个实体wiw_iwi对应的所有标签得分:se(hi)=vef(Uehi+be)s^e(h_i)=v ^ef(U^eh_i+b^e)se(hi)=vef(Uehi+be)
- fff表示激活函数,Ve∈Rp×l,Ue∈Rl×2d,pV^e\in R^{p\times l},U^e\in R^{l\times 2d},pVe∈Rp×l,Ue∈Rl×2d,p是识别的标签个数
- 给定的tokenwiw_iwi的候选tags的概率:Pr(tag∣wi)=softmax(s(hi))∈RpPr(tag|w_i) = \text{softmax}(s(h_i))\in R^pPr(tag∣wi)=softmax(s(hi))∈Rp
- 采用共享参数的方式进行关系抽取,即使用实体标签作为输入,输入到关系提取层学习标签嵌入,因此关系抽取层的输入由两个:
- LSTM的输出hih_ihi,学习到的标签嵌入表示gig_igi
- zi=[hi;gi]z_i=[h_i;g_i]zi=[hi;gi]
- Relation Extraction as Multi-head Selection
- 采用多头选择时,为了避免造成信息冗余,只判断每个实体的最后一个token与其他实体的最后一个token的关系,而每体的最后一个token被称为head
- 对于每个head,需要预测二元组(yi∧,ci∧)(\overset{\wedge}{y_i},\overset{\wedge}{c_i})(yi∧,ci∧),其中前者代表头实体(subject),后者是关系
- 给定一个序列www和一个关系标签R\mathcal{R}R作为输入,目标是为每个token wiw_iwi标识最有可能的head和最有可能的对应关系标签ri∧∈R\overset{\wedge}{r_i} \in \mathcal{R}ri∧∈R
- 给定标签rkr_krk的情况下,计算wiw_iwi和wjw_jwj之间的分数为:sr=Vrf(Urzj+Wrzi+br)s^r=V^rf(U^rz_j+W^rz_i+b^r)sr=Vrf(Urzj+Wrzi+br)
- 将分数映射成概率:Pr(head=wj,label=rk∣wi)=σ(sr(zj,zi,rk))Pr(head=w_j,label=r_k|w_i)=\sigma(s^r(z_j,z_i,r_k))Pr(head=wj,label=rk∣wi)=σ(sr(zj,zi,rk))
Result
启示
- 将其转换为多头选择的方法在这个领域具有开创性,ACE04的分数竟然没想到这么高,还在没用BERT的情况了,牛皮。
- 选择头的算法可以将其转换为选择尾的。
- Embedding Layer