Joint entity recognition and relation extraction as a multi-head selection problem

qPEtaD.png

Joint entity recognition and relation extraction as a multi-head selection problem

联合实体识别和关系提取作为多头选择问题

Abstract

本文利用CRF进行NER识别,并将关系抽取视为一个多头选择问题(给定头实体和关系),一个头实体可能参与多组关系。

tfcode

1 Model

qPENIe.png

模型的输入为一个token序列,然后将其表示为单词向量,经过BiLSTM获得一个更复杂的向量表示,CRF层sigmod层能够产生两种任务的输出。

每个token(如Smith)的输出包括两层:

  1. 一个是实体识别标签(例如I-PER表示token的类型为PER)
  2. 另一个是集合,这个集合包含三元组的头实体token和两个实体之间的关系(如:{(Center, Work for), (Atlanta, Lives in)})
  3. note: 本文采用基于token的编码,所以让一个实体的最后一个单词作为实体的头部
    1. 例如:“John Smith”和“Disease Control Center”之间有一种"works for"关系,本文没有链接所有实体的token,而是链接Smith,Works for,Center
  4. 对于没有关系的情况,本文引入N标签

1.1 Embedding layer

  • 输入:一个token序列
    • 词嵌入+字符嵌入
    • 引入字符嵌入的原因:字符级的向量可以融入一些前缀和后缀的形态学特征。如:在Adverse Drug Events(ADE)数据集中,"toxicity毒性"可以指定不良药物事件类型,如“neurotoxicity” or “hepatotoxicity” (如“神经毒性”或“肝脏毒性”),因此字符嵌入具有很强的信息量

1.2 BiLSTM encoding layer

从两个方向上捕获较长的依赖关系:
h i = [ h → i ; h ← i ] h_i=[\overset{\rightarrow}{h}_i;\overset{\leftarrow}{h}_i] hi=[hi;hi]

1.3 NER

将NER转化为序列标注问题,将BiLSTM的输出送入到softmax或CRF层来计算每个token的最可能实体标记。

每个实体 w i w_i wi对应所有标签的得分:
s e ( h i ) = V e f ( U e h i + b e ) s^e(h_i) = V^ef(U^eh_i+b^e) se(hi)=Vef(Uehi+be)
其中上标e表示为NER任务, f ( ⋅ ) f(\cdot) f()表示激活函数, V e ∈ R p × l , U e ∈ R l × 2 d , b e ∈ R l V^e\in R^{p\times l},U^e\in R^{l\times 2d}, b^e\in R^l VeRp×l,UeRl×2d,beRl,d是LSTM隐藏层的大小,p是实体识别标签数,l是BiLSTM层的宽度

计算给定token w i w_i wi所有候选tags的概率:
P r ( t a g ∣ w i ) = s o f t m a x ( s ( h i ) ) P r ( t a g ∣ w i ) ∈ R p Pr(tag|w_i)=softmax(s(h_i))\\ Pr(tag|w_i)\in R^p Pr(tagwi)=softmax(s(hi))Pr(tagwi)Rp
下一层的输入有两个:LSTM的输出状态 h i h_i hi和学习到的标签嵌入表示 g i g_i gi
z i = [ h i ; g i ] z_i=[h_i;g_i] zi=[hi;gi]

1.4 Relation extraction as multi-head selection

对每个head,需要预测二元组( y ∧ i , c ∧ i \overset{\wedge}{y}_i,\overset{\wedge}{c}_i yi,ci),其中 y ∧ i \overset{\wedge}{y}_i yi是当前token的关系对象, c ∧ i \overset{\wedge}{c}_i ci是两者之间的关系

输入:给定一个序列 w w w和一组关系标签集合 R \mathcal{R} R 作为输入

目标:为每个token w i w_i wi 标识最有可能的head 向量 y ∧ i ∈ w \overset{\wedge}{y}_i\in w yiw 和最有可能的对应关系标签向量 r ∧ i ∈ R \overset{\wedge}{r}_i\in \mathcal{R} riR

计算给定 w i , w j w_i,w_j wiwj r k r_k rk 之间的分数如下:
s r ( z j , z i , r k ) = V r f ( U r z j + W r z i + b r ) s^r(z_j,z_i,r_k)=V^rf(U^rz_j+W^rz_i+b^r) sr(zj,zi,rk)=Vrf(Urzj+Wrzi+br)
其中上标r表示关系抽取任务, V r ∈ R l , U r ∈ R l × ( 2 d + b ) , W r ∈ R l × ( 2 d + b ) , b r ∈ R l V^r\in R^l,U^r\in R^{l\times (2d+b)},W^r\in R^{l\times (2d+b)}, b^r\in R^l VrRl,UrRl×(2d+b),WrRl×(2d+b),brRl

将分数映射为概率:
P r ( h e a d = w j , l a b e l = r k ∣ w i ) = σ ( s r ( z j , z i , r k ) ) (1) Pr(head=w_j,label=r_k|w_i)=\sigma(s^r(z_j,z_i,r_k)) \tag{1} Pr(head=wj,label=rkwi)=σ(sr(zj,zi,rk))(1)
最小化交叉熵损失函数:
L r e l = ∑ i = 0 n ∑ j = 0 m − l o g P r ( h e a d = y i , j , r e l a t i o n = r i , j ∣ w i ) \mathcal{L}_{rel}=\sum_{i=0}^{n}\sum_{j=0}^{m}-logPr(head=y_{i,j},relation=r_{i,j}|w_i) Lrel=i=0nj=0mlogPr(head=yi,j,relation=ri,jwi)
其中 y i ∈ w 、 r i ∈ R y_i\in w、r_i\in \mathcal{R} yiwriR w i w_i wi的真实头向量和关系标签向量,m是 w i w_i wi关系的数目,训练之后,需要保持 y ∧ i \overset{\wedge}{y}_i yi和关系标签 r ∧ i \overset{\wedge}{r}_i ri的组合超过公式1中定义的联合概率的阈值。

最终的损失函数为:
L N E R + L r e l \mathcal{L}_{NER}+ \mathcal{L}_{rel} LNER+Lrel

2 启示

  1. 从论文中没有读懂到底怎么抽取尾实体的
  2. 也可以选择先抽头实体,再抽尾实体和关系,也是多头选择
  3. 论文太长了,34页

  • 0
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

自然语言处理CS

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值