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

最近,研究者们在基于神经网络方法上进行实体识别和关系抽取联合学习,我阅读了一些相关工作,在此和大家一起分享学习(本文中引用了一些论文作者 Suncong Zheng 的 PPT 报告)。

引言

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

目前有两大类方法,一种是使用流水线的方法(Pipelined Method)进行抽取:输入一个句子,首先进行命名实体识别,然后对识别出来的实体进行两两组合,再进行关系分类,最后把存在实体关系的三元组作为输入。

流水线的方法存在的缺点有:

1. 错误传播,实体识别模块的错误会影响到下面的关系分类性能;

2. 忽视了两个子任务之间存在的关系,例如图中的例子,如果存在 Country-President 关系,那么我们可以知道前一个实体必然属于 Location 类型,后一个实体属于 Person 类型,流水线的方法没法利用这样的信息;

3. 产生了没必要的冗余信息,由于对识别出来的实体进行两两配对,然后再进行关系分类,那些没有关系的实体对就会带来多余信息,提升错误率。

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

联合学习

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


参数共享

论文《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》也是类似的思想,通过参数共享来联合学习。只是他们在 NER 和 RC 的解码模型上有所区别。

这篇论文 Miwa 等人同样是通过参数共享,NER 使用的是一个 NN 进行解码,在 RC 上加入了依存信息,根据依存树最短路径使用一个 BiLSTM 来进行关系分类。

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

标注策略

但是我们可以看到,参数共享的方法其实还是有两个子任务,只是这两个子任务之间通过参数共享有了交互。而且在训练的时候还是需要先进行 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”时,即涉及到了关系实体标签,则通过 α 来增大标签的影响。实验结果表明,这个带偏置的目标函数能够更准确的预测实体关系对。

总结

基于神经网络的实体识别和关系抽取联合学习主要由两类方法。其中参数共享的方法简单易实现,在多任务学习中有着广泛的应用。

Zheng 等人提出的新的标注策略,虽然目前还存在一些问题(例如无法识别重叠实体关系),但是给出了一种新的思路,真正的做到了两个子任务合并成了一个序列标注问题,在这套标注策略上也可以进行更多的改进和发展来进一步完善端到端的关系抽取任务。

原文发布时间为:2017-12-4

本文作者:罗凌

时间: 2024-09-17 04:48:17

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

基于VSM的命名实体识别、歧义消解和指代消解

        前面讲述过两篇知识图谱相关的文章,这篇文章主要讲解基于向量空间模型(Vector Space Model)的相关应用,包括命名实体识别.实体消歧和跨文本指代消解:其最终目的是想通过它应用到知识图谱构建过程中,即实体对齐和属性对齐.         知识图谱相关会议之观后感分享与学习总结        搜索引擎和知识图谱那些事 (上).基础篇 一. 搜狗知立方介绍         知识图谱的相关介绍及具体应用这里就不再叙述了,主要是想分享下搜狗知立方的知识图谱框架和我毕业设计所需要

台湾大学黄意尧:深度残差网络下的弱监督关系抽取

在今年的 EMNLP 2017 上,台湾大学黄意尧与加州圣塔芭芭拉大学 (UCSB)William Wang 教授有一篇合作论文被录用.受雷锋网(公众号:雷锋网) AI 科技评论邀请,黄意尧撰写了关于这篇论文的研究历程,以供学习与参考.雷锋网 AI 科技评论做了不改动原意的编辑与修改,将繁体字转换为简体,并将一些台湾常用表述转换为大陆的通用说法. 论文名称:Deep Residual Learning for Weakly-Supervised Relation Extraction 论文地址:

基于分布式的短文本命题实体识别之----人名识别(python实现)

目前对中文分词精度影响最大的主要是两方面:未登录词的识别和歧义切分. 据统计:未登录词中中文姓人名在文本中一般只占2%左右,但这其中高达50%以上的人名会产生切分错误.在所有的分词错误中,与人名有关的错误占到了将近90%,这中国人名都是根据人的想法起的名字,有很大的随意性,并且数量巨大,规律也不尽相同. 1.理论简介 命名实体识别(Named Entities Recognition, NER)是自然语言处理(Natural LanguageProcessing, NLP)的一个基础任务.其目的

人工网络-基于人工神经网络的人脸识别算法

问题描述 基于人工神经网络的人脸识别算法 本人初次接触机器学习,0基础,现不得已需要学习BP和RBF算法,求高手指导(注:以前从未接触过这两种算法,所以最好能提供些具体讲解此两种算法的资料) 解决方案 Andrew Ng stanford 机器学习课程视频,网站学习:http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B 解决方案二: 我正在做这个,非常非常好

阿里AAAI2018论文解读:轻量网络训练框架、GAN中文命名实体识别、英俄翻译等

1. 火箭发射:一种有效的轻量网络训练框架<Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net> [团队名称]阿里妈妈事业部 [作者]周国睿.范颖.崔润鹏.卞维杰.朱小强.盖坤 [论文简介]像点击率预估这样的在线实时响应系统对响应时间要求非常严格,结构复杂,层数很深的深度模型不能很好的满足严苛的响应时间的限制.为了获得满足响应时间限制的具有优良表现的模型,我们提

求助:请问基于lda的人脸识别用matlab怎么做呢??希望有人可以教教

问题描述 求助:请问基于lda的人脸识别用matlab怎么做呢??希望有人可以教教 请问基于lda的人脸识别用matlab怎么做呢??希望有人可以教教 解决方案 http://www.cnki.com.cn/Article/CJFDTotal-JZDF201204042.htm 基于PCA和LDA的人脸识别系统设计 文献 希望可以帮助到你 解决方案二: http://wenku.baidu.com/view/6af06f1a10a6f524ccbf8519.html 这是百度文库中的一篇关于MA

怎样利用OpenNLP软件包来实现命名实体识别?

问题描述 请教各位大侠,怎样利用OpenNLP软件包来实现命名实体识别?

《系统架构:复杂系统的产品设计与开发》——第2章,第2.5节任务三:确定实体之间的关系

2.5任务三:确定实体之间的关系2.5.1关系的形式与功能 从定义上来看,系统是由实体及其关系组成的.讲到这里,大家应该会感觉到,这些关系可以按特征分为两类:功能关系和形式关系. 功能关系,是指用来完成某件事情的实体之间所具备的关系,此关系可能涉及实体之间对某物的操作.传输或交换.为了强调其动态性,我们有时也把功能关系称为交互(interaction,互动)关系.在交互过程中,相关的实体可能会交换操作数,也可能会协同对操作数执行操作.比如,心脏与肺交换血液,某位团队成员与同事分享成果.第5章将会

c++-基于opencv的人脸识别,代码运行出错,求帮忙!

问题描述 基于opencv的人脸识别,代码运行出错,求帮忙! 代码显示是没有错的,运行显示有未处理的异常,求大神!急!!! 解决方案 求大神帮忙!如果熟悉C++语言的,再详谈啊!我在手机上不方便传代码! 解决方案二: #include #include #include using namespace std; void PrintMat(CvMat*); void FputMat(FILE , CvMat *); int main(int argc, char * argv[]) { /读入图