栗友们,大家好!
我是Zarc,好久不见~
一来是最近实在是太忙了,二来是实在是不知道和大家分享什么了(主要是太懒了~
最近在研究实体识别和关系抽取方向,实体识别和关系抽取这两兄弟总是一起出现,毕竟将实体识别出来之后不去建立关系,后面就难建立了,因为在实体识别的过程中,由于那些实体可能存在于一段文本中,这也往往意味着它们可能有一些关系。
对于实体识别和关系抽取,一般来说有两种方法:联合抽取和pipeline,联合抽取就是两者同时进行,在识别的同时可以进行关系预测,速度也会快一些,而且不会引入错误传播;而pipeline就是两者分开,先识别出实体,再对识别出来的实体进行关系预测。
今天给大家分享一种实体关系联合抽取的论文——SpERT,全称是《Span-based Joint Entity and Relation Extraction with Transformer Pre-training》,它是一个以BERT的预训练模型为基础,进行联合实体识别和关系抽取的模型,对于实体抽取:摒弃传统的BIO标注方法,采用基于跨度的方法(span based);对于关系抽取,假定关系出现在两个实体之间,这两个实体之间的部分作上下文信息。由于BERT训练的昂贵性,SpERT对每个句子只进行一次前向传播,并且在微调的时候只是加入浅层的分类器(相比较于其他深层模型而言)。在ADE、CoNLL04和SciERC三个数据集上均达到了sota效果。
模型的整体架构如图所示:
我个人将该模型分为一下几部分:
-
文本输入 将输入的文本通过BERT分割形成BPE(byte-pair encoding,字节对编码) token,这种编码好处是可以进行数据压缩,可以有效减少词汇表的单词数量,这种编码方式的粒度在词与字符之间,可以比较好的平衡未登录词和罕见词问题。 -
实体采样 选择任意跨度的token,这里采用的是滑动窗口的方式来选择某一段token,如果这一段token不是样本中标注的实体,则将其标记为负样本实体。这里为了避免负样本过多对模型造成影响,设置了一个超参数 ,当某条样本得到的所有负样本实体数量大于 ,则在所有的实体中随机选取 条负样本实体,否则就保留所有所有的负样本实体,论文中设置的数量为100,除此之外,为了避免负样本数量过多,还设置了每条负样本实体的长度小于一个值,论文中设置的长度为10。其中所有的负样本实体的实体类别设置为“none”,类别序号记为“0”。 -
实体分类 由于是随机选取跨度组成实体,所以上述得到的实体跨度都不一致,为此在分类的时候对所有跨度的候选实体进行最大池化(max-pool),如上图的红色部分,同时保留每个实体的长度信息,也就是上图的蓝色部分,这里需要说明的是这里的长度信息,原文中是 width embedding矩阵,这也是可以通过训练得到的,在输入时根据实体长度选择对应长度编号的width embedding矩阵,将其融入到实体的embedding中,除此之外,在进行判断每个实体的类别之前,还加上了整条样本的语义信息,也就是BERT在做分类任务时的 位置的embedding,不过也有些许不同,这里使用的是未进行池化操作的 语义信息。也就是将实体embedding、长度embedding和全句的语义信息进行融合,然后再接一个全连接层进行分类。 -
关系分类 在关系分类之前,对之前识别出来的实体进行了过滤,毕竟负样本实体还是比较多,只保留那些真正的实体。在进行关系分类时候,也是需要构建负样本关系,这里的做法其实也负样本实体的构造思想比较类似,也是将任意一对实体组合在一起,如果它们之间本身真实存在关系,则将它们标注为对应的正样本关系,反之则标注为负样本关系,也是设置了最多保留的负样本实体数量这个超参数,论文中是100。同样地,在进行关系分类之前,模型也是将两段实体之间的文本信息进行了提取,具体做法是将这一段文本进行最大池化操作,然后将这一对实体拼接在这段文本的两端,然后再接入一个全连接层进行分类。
总的来说,模型的结构并不复杂,但是在进行实体识别和关系抽取的效果还不错。我觉得可以作为栗友们后面做实体识别和关系抽取的一个baseline,本篇文章只是从理论方面介绍了模型背后的原理,主要是我个人的一些学习和理解,如果有错误,希望指出来。
话说回来,要想真的掌握这个baseline,还得动手去操作相关代码,下一篇文章我将会手撕代码,让SpERT不再神秘,敬请期待。
关注六只栗子,面试不迷路!
论文原文:https://arxiv.org/abs/1909.07755
论文代码:https://github.com/markus-eberts/spert
作者 Zarc
编辑 一口栗子
原文始发于微信公众号(六只栗子):联合实体识别和关系抽取论文分享——理论篇
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/88462.html