写在前面

之前介绍的关系抽取系列文章主要是属于pipeline形式的,即第一步用实体识别将关系对抽取出来,第二步才是对关系对的分类,这样的做法会导致误差的传递。另外有一种解决方案是端到端的joint model,即上面的两步同时完成,这一思路在直觉上会更优。

1、End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures(Miwa/ACL2016)

作者指出目前关系抽取的做法都是两个子任务(实体抽取及实体关系抽取)组成的pipeline形式,在最终效果上仍有欠缺。于是论文提出了一种端到端的神经网络模型,包括一个双向序列结构LSTM-RNN用于实体抽取,一个依存树形LSTM-RNN用于关系抽取,两个LSTM-RNN模型参数共享,整体框架如下所示,主要分为三个layer。

Embedding layer

不同于常规的只采用词向量vwv_{w}vw,这里还包括了词性向量vpv_{p}vp, 依存句法标签vdv_{d}vd和实体标签vev_{e}ve

Sequence layer

拆开来看其实这就是一个命名实体识别任务(NER描述可参考【论文笔记】IDCNN & Lattice LSTM for NER),用的是双向LSTM,标签记号为BILOU(Begin, Inside, Last, Outside, Unit)。解码decoding阶段采用从左至右贪婪搜索的方式。ht(e)=tanh⁡(W(eh)[st;vt−1(e)]+b(eh))h_{t}^{(e)}=\tanh \left(W^{\left(e_{h}\right)}\left[s_{t} ; v_{t-1}^{(e)}\right]+b^{\left(e_{h}\right)}\right)ht(e)=tanh(W(eh)[st;vt1(e)]+b(eh))yt=softmax⁡(W(ey)ht(e)+b(ey))y_{t}=\operatorname{softmax}\left(W^{\left(e_{y}\right)} h_{t}^{(e)}+b^{\left(e_{y}\right)}\right)yt=softmax(W(ey)ht(e)+b(ey))

Dependency layer

使用 tree-structured BiLSTM-RNNs( top-down 和 bottom-up ) 来对实体之间的关系建模。输入是Sequence layer的输出sts_{t}st, dependency type embedding vdv_{d}vd以及label embedding vev_{e}ve, 输出是dependency relation dpd_{p}dp

dpd_{p}dp第一项是 bottom-up LSTM-RNN 的 top LSTM unit,代表实体对的最低公共父节点(the lowest common ancestor of the target word pair p);第二、三项分别是两个实体对应的 top-down LSTM-RNN 的 hidden state。dp=[↑hpA;↓hp1;↓hp2]d_{p}=\left[\uparrow h_{p_{A}} ; \downarrow h_{p_{1}} ; \downarrow h_{p_{2}}\right]dp=[hpA;hp1;hp2]

关系分类主要还是利用了依存树中两个实体之间的最短路径(shortest path)。主要过程是找到 sequence layer 识别出的所有实体(认为在Sequency layer阶段预测出的带有LU标签的为候选实体对),对每个实体的最后一个单词进行排列组合,再经过 dependency layer 得到每个组合的 dpd_{p}dp,然后同样用两层 NN + softmax 对该组合进行分类,输出这对实体的关系类别。hp(r)=tanh⁡(W(rh)dp+b(rh))h_{p}^{(r)}=\tanh \left(W^{\left(r_{h}\right)} d_{p}+b^{\left(r_{h}\right)}\right)hp(r)=tanh(W(rh)dp+b(rh))yp=softmax⁡(Wryhtr+b(ry))y_{p}=\operatorname{softmax}\left(W^{r_{y}} h_{t}^{r}+b^{(r y)}\right)yp=softmax(Wryhtr+b(ry))

Training Tricks

  • scheduled sampling: 来自论文Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks,大致思路是以一定概率用golden label来代替decode阶段的predicted label,减轻误差传递的可能性。
  • entity pretraining: 来自论文Curriculum learning of multiple tasks,课程学习的思想。做法是先用训练数据预训练实体抽取模型,第二部再是训练整个模型。

2、Joint Entity and Relation Extraction Based on A Hybrid Neural Network(Zhou/2017)

本文提出一种joint learning的关系抽取框架,用一个混合神经网络来识别实体抽取关系,不需要额外的手工特征;另外一个创新是考虑到了entity tag之间的距离。整体框架如下图,包括了三个网络,都没有什么特别的trick,比较容易看懂。

具体的,对于输入句子通过共用的 word embedding 层,然后接双向的 LSTM 层来对输入进行编码。然后分别使用一个 LSTM 来进行命名实体识别(NER)和一个 CNN 来进行关系分类(RC)。

相比现在主流的 NER 模型 BiLSTM-CRF 模型,这里将前一个预测标签进行了 embedding 再传入到当前解码中来代替 CRF 层解决 NER 中的标签依赖问题。

在进行关系分类的时候,需要先根据 NER 预测的结果对实体进行配对,然后将实体之间的文本使用一个 CNN 进行关系分类。所以该模型主要是通过底层的模型参数共享,在训练时两个任务都会通过后向传播算法来更新共享参数来实现两个子任务之间的依赖。


3、Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme(Zheng/ACL2017)

本文提出了一种新型的序列标注方案,将联合抽取问题转换为序列标注问题。

The Tagging Scheme


标注方案如上,每一个词都有一个标签:

  • O:others,和该任务无关的词标签
  • 非O(三部分组成):
    • 实体位置信息:BIES(Begin, Inside, End,Single)
    • 关系类别信息:relation type,来自预定义的关系集合
    • 关系角色信息: 1 or 2,代表在一个三元组中的第一个实体还是第二个实体

The End-to-end Model


端到端的模型如上,主要包括两个部分:Bi-LSTM的encoder和LSTM的decoder。看图就很清楚啦

PPT HERE
CODE HERE

4、Extracting Entities and Relations with Joint Minimum Risk Training(Sun/NAACL2018)

将最小风险训练方法(minimum risk training,MRT)引入联合关系抽取任务,提供了一种轻量的方式来加强实体抽取和关系抽取两个子模块的关联。MRT方法的优势在于优化句子级别的损失而不是词语级别,这样可以使得模型学习到更多global information。与Miwa的联合模型类似,将实体抽取任务看做是序列标注问题,将关系抽取任务看做是多分类问题,之后将这两个子任务进行联合误差训练。模型如下

CODE HERE

5、Joint Extraction of Entities and Relations Based on a Novel Graph Scheme(Wang/2018)

作者在对联合抽取研究做review后提出两点不足:

over-lapping relation就是一个句子的实体关系对之间存在重叠。如下图

基于此,本文的创新如下:

  • 设计一套了转化规则,将实体识别和关系抽取联合任务转化为一个有向图的生成问题
  • 计了一个特殊的递归神经网络,可以更好的建模关系和关系之间的依赖性

Transition System

状态表示

使用元组(σ,δ,e,β,R,E)(\sigma, \delta, e, \beta, R, E)(σ,δ,e,β,R,E)来表示每个时刻的状态,其中σ\sigmaσ是一个保存已生成实体的栈,δ\deltaδ是一个保存被从σ\sigmaσ中临时弹出之后会被重新压入的实体的栈, eee是用来存储正在被处理的部分实体块,β\betaβ是一个包含未处理词的缓冲区,RRR是用来保存已经生成的关系弧,EEE是用来保存已经生成的实体弧。

转移动作

其中前七项是关系生成动作,用于生成关系,后三项是实体生成动作,用于生成实体。

转移动作先决条件

每个动作都需要满足一定的先决条件,以确保生成的实体和关系有向图的合理性。

动作执行序列

John lives in Los Angeles California为例,所对应的动作执行序列如下。初始状态为([],[],[],[1,⋯,n],∅,∅)([ ],[ ],[ ],[1, \cdots, n], \emptyset, \emptyset)([],[],[],[1,,n],,),,终止状态为(σ,δ,[],[],R,E)(\sigma, \delta,[ ],[ ], R, E)(σ,δ,[],[],R,E)

Search Algorithm

基于上述转换系统,我们的解码器为每个给定句子预测其最佳动作序列。统初始化时,把输入句子以相反的顺序压入β中,这样第一个单词就在β的顶部。σ,δ,e和A每个都包含一个空栈标记。在每一步预测中,系统通过计算模型状态的表示(由β,σ,δ,e和A决定)来预测要执行的动作。无论其他状态如何,当β和e都为空(空栈符号除外)时,解码完成。

如上图所示,ttt时刻的模型状态被定义为:mt=max⁡{0,W[st;bt;pt;et;at]+d}m_{t}=\max \left\{0, W\left[s_{t} ; b_{t} ; p_{t} ; e_{t} ; a_{t}\right]+d\right\}mt=max{0,W[st;bt;pt;et;at]+d}
ttt时刻选取动作的概率可以由上式得到:p(zt∣mt)=exp⁡(gztTmt+qzt)∑z′∈A(S,B)exp⁡(gz′Tmt+qz′)p\left(z_{t} | m_{t}\right)=\frac{\exp \left(g_{z_{t}}^{\mathrm{T}} m_{t}+q_{z_{t}}\right)}{\sum_{z^{\prime} \in \mathcal{A}(S, B)} \exp \left(g_{z^{\prime}}^{\mathrm{T}} m_{t}+q_{z^{\prime}}\right)}p(ztmt)=zA(S,B)exp(gzTmt+qz)exp(gztTmt+qzt)给定输入句子,任何合理的动作序列z的概率可以表示为:p(z∣w)=∏t=1∣z∣p(zt∣mt)p(z | w)=\prod_{t=1}^{|z|} p\left(z_{t} | m_{t}\right)p(zw)=t=1zp(ztmt)于是我们有:(E∗,R∗)=argmax⁡E,R∏t=1∣z∣p(zt∣mt)\left(E^{*}, R^{*}\right)=\operatorname{argmax}_{E, R} \prod_{t=1}^{|z|} p\left(z_{t} | m_{t}\right)(E,R)=argmaxE,Rt=1zp(ztmt)
因此,实体识别和关系抽取联合任务就被集成到我们的转移系统中。在测试的时候,我们的算法贪心的选择最大概率的动作,直到满足终止状态条件。

CODE HERE

小结

基于联合学习进行关系抽取的文章不是很多,通过以上文章,我们可以将联合抽取策略进行分类:

  • 参数共享:如第一篇和第二篇
  • 标注模型:如第三篇
  • 最小风险训练:如第四篇
  • 有向图模型:如第五篇

以上~
2018.05.29

【论文】Awesome Relation Extraction Paper(关系抽取)(PART V)相关推荐

  1. BERT gated multi-window attention network for relation extraction 用于关系抽取的BERT门控多窗口注意力网络

    BERT gated multi-window attention network for relation extraction 用于关系抽取的BERT门控多窗口注意力网络 Abstract 实体关 ...

  2. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  3. 论文小综 | 文档级关系抽取方法(下)

    本文作者: 陈想,浙江大学在读博士,研究方向为自然语言处理 张宁豫,浙江大学助理研究员,研究方向为自然语言处理.知识表示与推理 这篇推文是文档级关系抽取方法的第二部分,前面的部分请移步推文" ...

  4. 【论文】Awesome Relation Extraction Paper(关系抽取)(PART IV)

    0. 写在前面 不想写 1. Neural Relation Extraction with Multi-lingual Attention(Lin/ ACL2017) 这篇文章是在Lin 2016年 ...

  5. 【论文】Awesome Relation Extraction Paper(关系抽取)(PART III)

    0. 写在前面 回头看了一遍之前的博客,好些介绍的论文主要是属于关系分类的领域,于是就把前几篇的标题给修改了一下哈哈.关系分类和之前的文本分类,基于目标词的情感识别还都挺像的,baseline模型也都 ...

  6. 论文学习11-Adversarial training for multi-context joint entity and relation extraction(实体关系买抽取模型,对抗学习

    文章目录 1. introduction 2.相关工作 3.Model 3.1 Joint learning as head selection 3.2 AT 4.实验设置 5.结果 6.总结 实体关 ...

  7. 论文小综 | 文档级关系抽取方法(上)

    本文作者: 陈想,浙江大学在读博士,研究方向为自然语言处理 张宁豫,浙江大学助理研究员,研究方向为自然语言处理.知识表示与推理 1. 前言 关系抽取(Relation Extraction, RE)是 ...

  8. 【每周NLP论文推荐】 掌握实体关系抽取必读的文章

    欢迎来到<每周NLP论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 实体关系抽取作为信息抽取领域的重要研究课题 ...

  9. 每天读一篇论文2--Document-level Relation Extraction with Cross-sentence Reasoning Graph

    摘要: 关系抽取(RelationExtraction,RE)已经从句子级发展到文档级,需要聚集文档信息并使用实体和提及进行推理.现有研究将具有相似表示的实体节点和提及节点放在文档级图中,其复杂的边会 ...

最新文章

  1. SpringMVC中数据库链接配置
  2. 全球及中国抓紧器行业十四五发展态势及前景规划建议报告2021-2027年版
  3. typescript tslint rules config
  4. C++虚继承(十) --- 谈谈陈皓遗留的问题
  5. Spring事务管理--嵌套事务详解
  6. 引入 JPEGCodec;JPEGImageEncoder; 图片处理(有的时候会报错)
  7. 禁止sublime启动时连网检查更新
  8. MongoDB查询文档(非常详细,不要错过哦~)
  9. 大数据时代,海量数据处理常用思路和方法总结
  10. MongoDB学习笔记—Linux下搭建MongoDB环境
  11. iOS 版本更新迭代
  12. matlab语法 axis on,matlabaxis
  13. C#开发工控上位机编程 csdn_C#串口编程示例
  14. 条件欧几里得聚类实验数据集Statues_4.pcd下载
  15. 三代悦虎1562A来袭!相比其他方案到底怎样?
  16. TravelFlan携小猴问问亮相ITB,看人工智能如何化解旅游痛点
  17. Vue 一套构建用户界面的渐进式的框架(条件与循环篇~)
  18. java对象是什么数据类型,Java面试题及解析
  19. 网易云音乐的推荐音乐方式与算法漫谈
  20. RDKit | 化合物SDF文件转换为SMILES存储为CSV

热门文章

  1. 熟悉的指标,多重的应用
  2. Python入门学习笔记(6)
  3. MapInfo格式到ArcInfo格式的转换
  4. Linux进程3——虚拟地址访问
  5. php后台+前端开发过程整理
  6. 02:同行列对角线的格子
  7. BZOJ 2820: YY的GCD
  8. 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法...
  9. 十二个月内 仅仅依靠Google打造成功网站
  10. httpclient在获取response的entity时报异常