基于神经网络的实体识别和关系抽取联合学习

联合学习(Joint Learning)一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器学习的联合模型(Joint Model)来对一些有着密切联系的自然语言处理任务进行联合学习。例如实体识别和实体标准化联合学习,分词和词性标注联合学习等等。最近,研究者们在基于神经网络方法上进行实体识别和关系抽取联合学习,我阅读了一些相关工作,在此和大家一起分享学习。(本文中引用了一些论文作者Suncong ZhengPPT报告)

1 引言

本文关注的任务是从无结构的文本中抽取实体以及实体之间的关系(实体1-关系-实体2,三元组),这里的关系是我们预定义好的关系类型。例如下图,

目前有两大类方法,一种是使用流水线的方法(Pipelined Method)进行抽取:输入一个句子,首先进行命名实体识别,然后对识别出来的实体进行两两组合,再进行关系分类,最后把存在实体关系的三元组作为输入。流水线的方法存在的缺点有:1)错误传播,实体识别模块的错误会影响到下面的关系分类性能;2)忽视了两个子任务之间存在的关系,例如图中的例子,如果存在Country-President关系,那么我们可以知道前一个实体必然属于Location类型,后一个实体属于Person类型,流水线的方法没法利用这样的信息。3)产生了没必要的冗余信息,由于对识别出来的实体进行两两配对,然后再进行关系分类,那些没有关系的实体对就会带来多余信息,提升错误率。

理想的联合学习应该如下图:输入一个句子,通过实体识别和关系抽取联合模型,直接得到有关系的实体三元组。这种可以克服上面流水线方法的缺点,但是可能会有更复杂的结构。

2 联合学习

这里我主要关注的基于神经网络方法的联合学习,我把目前的工作主要分为两大类:1)参数共享(Parameter Sharing)和2)标注策略(Tagging Scheme)。主要涉及到下面一些相关工作。

2.1 参数共享

论文《Joint Entity and Relation Extraction Based on A Hybrid Neural Network》,Zheng等人利用共享神经网络底层表达来进行联合学习。具体的,对于输入句子通过共用的word embedding层,然后接双向的LSTM层来对输入进行编码。然后分别使用一个LSTM来进行命名实体识别(NER)和一个CNN来进行关系分类(RC)。相比现在主流的NER模型BiLSTM-CRF模型,这里将前一个预测标签进行了embedding再传入到当前解码中来代替CRF层解决NER中的标签依赖问题。在进行关系分类的时候,需要先根据NER预测的结果对实体进行配对,然后将实体之间的文本使用一个CNN进行关系分类。所以该模型主要是通过底层的模型参数共享,在训练时两个任务都会通过后向传播算法来更新共享参数来实现两个子任务之间的依赖。

论文《End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures》也是类似的思想,通过参数共享来联合学习。只是他们在NERRC的解码模型上有所区别。这篇论文Miwa等人同样是通过参数共享,NER使用的是一个NN进行解码,在RC上加入了依存信息,根据依存树最短路径使用一个BiLSTM来进行关系分类。

根据这两篇论文的实验,使用参数共享来进行联合学习比流水线的方法获得了更好的结果在他们的任务上F值约提升了1%,是一种简单通用的方法。论文《A Neural Joint Model for Entity and Relation Extraction from Biomedical Text》将同样的思想用到了生物医学文本中的实体关系抽取任务上。

2.2 标注策略

但是我们可以看到,参数共享的方法其实还是有两个子任务,只是这两个子任务之间通过参数共享有了交互。而且在训练的时候还是需要先进行NER,再根据NER的预测信息进行两两匹配来进行关系分类。仍然会产生没有关系的实体对这种冗余信息。出于这样的动机,Zheng等人在论文《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》中提出了一种新的标注策略来进行关系抽取,该论文发表在2017 ACL上,并入选了Outstanding Paper

他们通过提出了一种新的标注策略把原来涉及到序列标注任务和分类任务的关系抽取完全变成了一个序列标注问题。然后通过一个端对端的神经网络模型直接得到关系实体三元组。

他们提出的这种新的标注策略主要由下图中三部分组成:1)实体中词的位置信息{B(实体开始),I(实体内部),E(实体结尾),S(单个实体)}2)关系类型信息{根据预先定义的关系类型进行编码}3)实体角色信息{1(实体1),2(实体2}。注意,这里只要不是实体关系三元组内的词全部标签都为"O"

根据标签序列,将同样关系类型的实体合并成一个三元组作为最后的结果,如果一个句子包含一个以上同一类型的关系,那么就采用就近原则来进行配对。目前这套标签并不支持实体关系重叠的情况。

然后该任务就变成了一个序列标注问题,整体模型如下图。首先使用了一个BiLSTM来进行编码,然后使用了在参数共享中提到的LSTM来进行解码。

和经典模型不同的地方在于他们使用了一个带偏置的目标函数。当标签为"O"时,就是正常的目标函数,当标签不是"O"时,即涉及到了关系实体标签,则通过α来增大标签的影响。实验结果表明,这个带偏置的目标函数能够更准确的预测实体关系对。

3 总结

基于神经网络的实体识别和关系抽取联合学习主要由两类方法。其中参数共享的方法简单易实现,在多任务学习中有着广泛的应用。Zheng等人提出的新的标注策略,虽然目前还存在一些问题(例如无法识别重叠实体关系),但是给出了一种新的思路,真正的做到了两个子任务合并成了一个序列标注问题,在这套标注策略上也可以进行更多的改进和发展来进一步完善端到端的关系抽取任务。

参考文献

[1] S. Zheng, Y. Hao, D. Lu, H. Bao, J. Xu, H. Hao, et al., Joint Entity and Relation Extraction Based on A Hybrid Neural Network, Neurocomputing. (2017) 1–8.

[2] M. Miwa, M. Bansal, End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures, ACL, (2016).

[3] F. Li, M. Zhang, G. Fu, D. Ji, A Neural Joint Model for Entity and Relation Extraction from Biomedical Text, BMC Bioinformatics. 18 (2017).

[4] S. Zheng, F. Wang, H. Bao, Y. Hao, P. Zhou, B. Xu, Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme, Acl. (2017).

转载于:https://www.cnblogs.com/robert-dlut/p/7710735.html

基于神经网络的实体识别和关系抽取联合学习相关推荐

  1. 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54

    作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器 ...

  2. 论文浅尝 | 基于神经网络的实体识别和关系抽取联合学习

    本文转载自公众号:PaperWeekly. 作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然 ...

  3. 机器不学习:浅析深度学习在实体识别和关系抽取中的应用

    机器不学习 jqbxx.com -机器学习好网站 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.命名实体 ...

  4. 介绍几个专门面向中文的命名实体识别和关系抽取工具

    知识图谱已经在人工智能的各个领域发挥越来越重要的作用,例如视觉问答.对话系统.推荐系统等.知识图谱构建是应用这些知识图谱的基础,而面对生活和企业中数据的爆发式增长,自动化知识图谱构建显得越来越重要.从 ...

  5. python 命名实体识别_Python NLTK学习11(命名实体识别和关系抽取)

    Python NLTK学习11(命名实体识别和关系抽取) 发表于: 2017年7月27日  阅读: 18262 除特别注明外,本站所有文章均为小杰Code原创 本系列博客为学习<用Python进 ...

  6. 手把手教学构建农业知识图谱:农业领域的信息检索+智能问答,命名实体识别,关系抽取,实体关系查询

    项目设计集合(人工智能方向):助力新人快速实战掌握技能.自主完成项目设计升级,提升自身的硬实力(不仅限NLP.知识图谱.计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户 ...

  7. 开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...

    OpenKG地址:http://openkg.cn/dataset/c-clue GitHub地址:https://github.com/jizijing/C-CLUE 网站地址:http://152 ...

  8. 农业知识图谱(KG):农业领域的信息检索,命名实体识别,关系抽取,分类树构建,数据挖掘...

    向AI转型的程序员都关注了这个号

  9. AAAI2020 | SNERL:抛开mention级别的监督,实体链接、关系抽取我都行

    今天为大家介绍的是马萨诸塞大学阿默斯特分校Trapit Bansal等学者和谷歌研究院合作在AAAI2020上发表的一篇关于实体链接和关系抽取的文章.虽然关系提取通常可以用现成的弱的或远距离的监督来训 ...

  10. 论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

    摘要: 随着用于传递和记录业务信息的管理文档的广泛使用,能够鲁棒且高效地从这些文档中自动提取和理解内容的方法成为一个迫切的需求.本次解读的文章提出利用图神经网络来解决半结构化文档中的实体识别(NER) ...

最新文章

  1. 『骑士精神 IDA*』
  2. CSS3: border-radius边框圆角详解
  3. .net aspose.words 域加载图片_使用Python批量替换csdn文章的图片链接
  4. Matlab回归分析regress和polyfit
  5. Pytorch构建模型的3种方法
  6. 在java中添加源_关于Java:如何在Android Studio中添加链接的源文件夹?
  7. bash脚本编程之十 函数
  8. 看完不后悔系列,SQL语句执行慢怎么办,原因总结!!
  9. jQuery-简介与基本使用
  10. 一网通支付ios开发
  11. Cassandra,NoSQL中的兰博基尼
  12. 软考案例题目答题技巧
  13. MOSFET管应用总结
  14. 51单片机入门学习 第六天
  15. 码元,码元速率,波特率,比特率(个人理解总结)
  16. matlab菜鸡学习日志--------使用matlab解析NMEA-0183 协议获取经纬度以及航向角
  17. 有什么方法可以制作二寸照片
  18. npm WARN tarball tarball data for xxxx@^0.25... npm项目依赖安装卡住,报错,尝试多次无果的解决方法
  19. STM32CubeIDE开发(十), stm32的CRC计算CubeMX配置及HAL库底层实现分析
  20. Python创建递增数列、递减数列、等差数列

热门文章

  1. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式
  2. 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
  3. 中科大软件学院第一学期总结
  4. 码支付(php版本)应用
  5. 【SPSS】软件介绍
  6. RESTful-rest_framework视图层-第三篇
  7. [CF600E]Dsu on tree
  8. easyui焦点离开事件的解决方案
  9. ThreadPool学习草稿1
  10. 和机器学习和计算机视觉相关的数学(转载)