作者:高开远
学校:上海交通大学
研究方向:自然语言处理
之前介绍的关系抽取系列文章主要是属于pipeline形式的,即第一步用实体识别将关系对抽取出来,第二步才是对关系对的分类,这样的做法会导致误差的传递。另外有一种解决方案是端到端的joint model,即上面的两步同时完成,这一思路在直觉上会更优。
作者指出目前关系抽取的做法都是两个子任务(实体抽取及实体关系抽取)组成的pipeline形式,在最终效果上仍有欠缺。于是论文提出了一种端到端的神经网络模型,包括一个双向序列结构LSTM-RNN用于实体抽取,一个依存树形LSTM-RNN用于关系抽取,两个LSTM-RNN模型参数共享,整体框架如下所示,主要分为三个layer。
不同于常规的只采用词向量v_{w},这里还包括了词性向量 v_{p}, 依存句法标签 v_{d}和实体标签 v_{e}。
拆开来看其实这就是一个命名实体识别任务(NER描述可参考【论文笔记】IDCNN & Lattice LSTM for NER),用的是双向LSTM,标签记号为BILOU(Begin, Inside, Last, Outside, Unit)。解码decoding阶段采用从左至右贪婪搜索的方式。
使用 tree-structured BiLSTM-RNNs( top-down 和 bottom-up ) 来对实体之间的关系建模。输入是Sequence layer的输出 s_{t}, dependency type embedding v_{d}以及label embedding v_{e}, 输出是dependency relation d_{p}。
d_{p}第一项是 bottom-up LSTM-RNN 的 top LSTM unit,代表实体对的最低公共父节点(the lowest common ancestor of the target word pair p);第二、三项分别是两个实体对应的 top-down LSTM-RNN 的 hidden state。
关系分类主要还是利用了依存树中两个实体之间的最短路径(shortest path)。主要过程是找到 sequence layer 识别出的所有实体(认为在Sequency layer阶段预测出的带有L
或U
标签的为候选实体对),对每个实体的最后一个单词进行排列组合,再经过 dependency layer 得到每个组合的 d_{p},然后同样用两层 NN + softmax 对该组合进行分类,输出这对实体的关系类别。
scheduled sampling: 来自论文Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks
,大致思路是以一定概率用golden label来代替decode阶段的predicted label,减轻误差传递的可能性。
entity pretraining: 来自论文Curriculum learning of multiple tasks
,课程学习的思想。做法是先用训练数据预训练实体抽取模型,第二部再是训练整个模型。
本文提出一种joint learning的关系抽取框架,用一个混合神经网络来识别实体抽取关系,不需要额外的手工特征;另外一个创新是考虑到了entity tag之间的距离。整体框架如下图,包括了三个网络,都没有什么特别的trick,比较容易看懂。
相比现在主流的 NER 模型 BiLSTM-CRF 模型,这里将前一个预测标签进行了 embedding 再传入到当前解码中来代替 CRF 层解决 NER 中的标签依赖问题。
在进行关系分类的时候,需要先根据 NER 预测的结果对实体进行配对,然后将实体之间的文本使用一个 CNN 进行关系分类。所以该模型主要是通过底层的模型参数共享,在训练时两个任务都会通过后向传播算法来更新共享参数来实现两个子任务之间的依赖。
本文提出了一种新型的序列标注方案,将联合抽取问题转换为序列标注问题。
O:others,和该任务无关的词标签
非O(三部分组成):
实体位置信息:BIES(Begin, Inside, End,Single)
关系类别信息:relation type,来自预定义的关系集合
关系角色信息:1 or 2,代表在一个三元组中的第一个实体还是第二个实体
将最小风险训练方法(minimum risk training,MRT)引入联合关系抽取任务,提供了一种轻量的方式来加强实体抽取和关系抽取两个子模块的关联。MRT方法的优势在于优化句子级别的损失而不是词语级别,这样可以使得模型学习到更多global information。与Miwa的联合模型类似,将实体抽取任务看做是序列标注问题,将关系抽取任务看做是多分类问题,之后将这两个子任务进行联合误差训练。模型如下
作者在对联合抽取研究做review后提出两点不足:
大多数研究基于参数共享的方式来实现联合抽取,其导致实体和关系以及关系和关系之间的联系不能被很好地利用;
Zheng提出的标注体系将问题转化成了一个序列标注问题,从而可以有效地进行jointly decoding。但是对于over-lapping relation问题仍然不能建模。
over-lapping relation就是一个句子的实体关系对之间存在重叠。如下图
基于此,本文的创新如下:
设计一套了转化规则,将实体识别和关系抽取联合任务转化为一个有向图的生成问题
计了一个特殊的递归神经网络,可以更好的建模关系和关系之间的依赖性
其中前七项是关系生成动作,用于生成关系,后三项是实体生成动作,用于生成实体。
每个动作都需要满足一定的先决条件,以确保生成的实体和关系有向图的合理性。
以John lives in Los Angeles California
为例,所对应的动作执行序列如下。初始状态为,,终止状态为
基于上述转换系统,我们的解码器为每个给定句子预测其最佳动作序列。统初始化时,把输入句子以相反的顺序压入β中,这样第一个单词就在β的顶部。σ,δ,e和A每个都包含一个空栈标记。在每一步预测中,系统通过计算模型状态的表示(由β,σ,δ,e和A决定)来预测要执行的动作。无论其他状态如何,当β和e都为空(空栈符号除外)时,解码完成。
基于联合学习进行关系抽取的文章不是很多,通过以上文章,我们可以将联合抽取策略进行分类:
参数共享:如第一篇和第二篇
标注模型:如第三篇
最小风险训练:如第四篇
有向图模型:如第五篇
相关文章:
【论文】Awesome Relation Classification Paper(关系分类)(PART I)
【论文】Awesome Relation Classification Paper(关系分类)(PART II)
【论文】Awesome Relation Extraction Paper(关系抽取)(PART III)
【论文】Awesome Relation Extraction Paper(关系抽取)(PART IV)
原文链接:
本文由作者原创授权AINLP首发于公众号平台,点击'阅读原文'直达原文链接,欢迎投稿,AI、NLP均可。