一、Background
实体和关系抽取是从文本中抽取命名实体以及识别实体之间的语义关系。传统的系统是以流水线的方法执行这两个任务:首先进行命名实体识别,然后关系抽取。这种分离的框架使得处理两个任务的方式比较灵活性,但是却忽略了彼此的相关性。联合学习框架是关联NER和RC的有效方法,同时可以避免级联错误。但是目前现有的大多数系统都是基于特征工程的,需要花费大量人力时间构建特征。为了减少人工特征,Miwa and Bansal 提出了端到端的神经网络模型,但是检测实体时,忽略了标签之间的长距离依赖关系。
二、Motivation
因此,作者基于以下的两点考虑提出了混合网络。
- 捕捉NER和RC的相关性。
- 端到端,减少手工特征。
NER和RC共享双向LSTM层,将每个词进行编码得到该词的上下文表示。尽管双向LSTM可以捕捉到每个词的长距离依赖关系,但是独立地输出每个标签,未考虑到标签的依赖关系。因此,作者采用了另外一个LSTM结构显示地建模标签关系,与NN的解码方式相比,它可以捕捉到标签之间的长距离依赖关系。至于关系分类,两个实体之间的子句已被证明有效地反映了两个实体之间的关系。并且,通过双向LSTM获得实体的上下文表示对识别实体关系也很有用。因此,作者采用CNN模型根据实体的上下文表示和子句信息进行关系抽取。
三、Model
整个模型的框架如图一所示。
- 第一层是双向LSTM层,NER和RC共享该层,将词向量序列编码得到词的上下文信息。
- 命名实体识别模块: 每个单词都有一个标签,标注机制为BILOS(Begin,Inside,Last,Outside,Single)。每个标签包含实体中单词的位置信息。作者采用了LSTM网络显示地建模了标签交互关系。当预测词t的实体标签时,LSTM的输入是:双向LSTM的隐藏层状态 h t h_t ht,前一个标签预测向量 T t − 1 T_{t-1} Tt−1,LSTM前一个隐藏层状态 s t − 1 s_{t-1} st−1。作者采用的LSTM与基本的LSTM相同,除了输入门: i t = δ ( W x i h t + W h i s t − 1 + W t i T t − 1 + b i ) i_t=\delta(W_{xi}h_t+W_{hi}s_{t-1}+W_{ti}T_{t-1}+b_i) it=δ(Wxiht+Whist−1+WtiTt−1+bi),其中标签预测向量T从隐藏状态s转换得到: T t = W t s s t + b t s T_t=W_{ts}s_t+b_{ts} Tt=Wtsst+bts,最终的softmax层基于标签预测向量 T t T_t Tt计算标准化实体标签概率: y t = W y T t + b y y_t=W_yT_t+b_y yt=WyTt+by, p t i = e x p ( y t i ) ∑ j = 1 n t e x p ( y t j ) p^i_t=\frac{exp(y^i_t)}{\sum_{j=1}^{nt}exp(y^j_t)} pti=∑j=1ntexp(ytj)exp(yti)
- 关系抽取模块: 当识别实体的语义关系时,作者将实体的上下文信息和实体间的子句信息合并在一起,然后喂给CNN网络: R = C N N ( [ h e 1 , w e 1 , w e 1 + 1 , . . . , w e 2 , h e 2 ] ) R=CNN([h_{e1},w_{e1},w_{e1+1},...,w_{e2},h_{e2}]) R=CNN([he1,we1,we1+1,...,we2,he2]),其中R是关系label, h e h_e he是实体词的上下文信息,w是词向量。特别地,一个实体可能包含多个词,那么我们就把这些词的隐藏层状态求和作为整个实体的上下文信息。
- 训练和实现: NER的目标函数为:
RC的目标函数:
首先训练实体识别模块,识别出实体和得到实体的表示,然后训练RC模块,根据实体的表示和实体间子句的关系进行关系分类。
四、Experiment
采用ACE05数据集,关系类型有6种粗粒度关系类型和1种其它关系,相同的关系但是实体相反的认为是不同类。比如,‘PART-WHOLE(e1,e2)’和‘PART-WHOLE(e2,e1)’是不同关系。因此总共有13种关系类别。
- Pipeline: 传统的pipeline方法,将两个任务分开做。
- Joint w/Global: 单模型同时进行NER和RC,大量手工特征。
- SPTree: 端到端的关系抽取模型,表示词序列和依赖信息。
消融实验证明NER模块的有效性:
关系抽取模块的比较实验:
五、Conclusion
与传统的pipeline方法相比,作者提出的混合网络不仅考虑了NER和RC之间的相关性,同时也考虑了实体标签之间的长距离依赖关系,与目前的联合学习相比,不用复杂的手工特征。本文的亮点在于命名实体识别没有用CRF,反而是用了改进版的LSTM来捕捉标签之间的关系,这用在pipeline的NER不知道有没有提升?本文并不是完全意义上的统一,还是要先NER然后才RC,可以与2017ACL有一篇基于标注策略的联合抽取进行对比。本文对 R ( e 1 , e 2 ) R(e_1,e_2) R(e1,e2)和对 R ( e 2 , e 1 ) R(e_2,e_1) R(e2,e1)的分类有点模糊。