An Embarrassingly Easy but Strong Baseline for Nested Named Entity Recognition

标题

23/6/15
23/6/15

摘要

命名实体识别是对文本中的实体跨度进行检测和分类的任务。当实体跨度彼此重叠时,此问题被命名为嵌套NER。基于跨度的方法已被广泛用于解决嵌套NER问题。这些方法中的大多数都会得到一个分数为n×n的矩阵,其中n表示句子的长度,每个条目对应一个跨度。然而,先前的工作忽略了分数矩阵中的空间关系( spatial relations)。

在本文中,我们建议使用卷积神经网络(CNN) 在分数矩阵中对这些空间关系进行建模。进一步的分析表明,使用CNN可以帮助模型找到更多的嵌套实体。

另外,我们发现不同论文在三个嵌套的NER数据集使用不同的tokenizations,这会影响比较。因此作者提供了一个预处理脚本,以便于进行比较

介绍

传统NER、嵌套NER的发展。嵌套的方法:使用实体类型作为查询,并要求模型选择属于该实体类型的跨度(MRC值得看)。然而,这些工作没有利用相邻跨度之间的空间相关性。如图1所示,跨度周围的跨度与中心跨度具有特殊关系。在本文中,我们使用Biaffine解码器(Dozat和Manning,2017)来获得3D特征矩阵,其中每个条目代表一个跨度。之后,我们将该特征矩阵视为图像,并利用卷积神经网络(CNN)对跨度之间的局部交互进行建模。
a:a后与o冲突(跨度边界交叉,a和o至少有一个不是实体,也可能都不是)
b:b前与o冲突
c:跨度包含了中心跨度
d:跨度在中心跨度内
e:跨度和中心跨度无冲突
在这里插入图片描述
(这里只有包含和被包含的关系)

作者与近期的方法对比。为了确保我们的方法与他们的方法具有严格的可比性,我们向作者询问了他们的数据版本。尽管他们都使用了相同的数据集,但我们发现统计数据,如句子和实体的数量,并不相同。这是由于使用了不同的sentence tokenizen方法,这将影响性能(实验表明)。为了便于将来进行比较,我们发布了ACE2004、ACE2005和Genia数据集的预处理脚本
贡献:
1)发现相邻跨度之间具有特殊的相关性,并提出使用CNN对它们之间的相互作用进行建模。尽管非常简单,但它在三个广泛使用的嵌套NER数据集中实现了相当大的性能提升
2)我们发布了三个嵌套NER数据集的预处理脚本,以便于直接和公平的比较。
3)我们将跨度特征矩阵视为图像的方式将为嵌套NER任务的基于跨度的方法的未来部署提供一些启示

相关工作

  • 序列标注
  • 超图
  • Seq2Seq
  • 跨度分类

3 方法

在本节中,我们首先介绍嵌套的NER任务,然后描述如何获得特征矩阵。然后进行CNN卷积。框架如图2所示。
在这里插入图片描述

3.1 嵌套实体任务

1)X=[x1,x2,x3,…,xn]。
2)任务是识别出X中的实体,每个实体可以被视为三元组{start,end,entity type}。
3)实体可能相互重叠,但不同的实体不允许有交叉边界
4)对于一句话n个tokens,span有n(n+1)/2个。

3.2 跨度方法的嵌套识别

1)句子编码,H ∈ Rn×d,Encoder可以是BERT。For the word tokenized into several pieces, we use max-pooling to aggregate from its pieces’ hidden states.在这里插入图片描述
2)使用多头Biffine(MHBiffine)
在这里插入图片描述
仿照Biffine的方式得到R特征矩阵,n×n×r,r是特征维数。在下三角部分做了对称。

3.3 CNN卷积

我们在模型中多次重复以下CNN块:
在这里插入图片描述
其中Conv2d、LayerNorm和GeLU是2D CNN、层归一化(Ba et al.,2016)和GeLU激活函数(Hendrycks和Gimpel,2016)。层归一化是在特征维度中进行的。
由于句子长度不同,它们的Rs的形状也不同。为了确保批量处理R时的结果相同,2D CNN没有偏差项,并且R中的所有填充都用0 padding。在通过几个CNN块之后,R00将被另一个2D CNN模块进一步处理。

3.4 输出

  • 感知机得到 prediction logits,P ∈ Rn×n×|T|(T是实体种类)。没有用Softmax原因是在极少数情况下(例如在ACE2005和Genia数据集中),一个跨度可以有多个entity tag。(使用Sigmoid代替Softmax的原因是,在某些情况下(如ACE2005和Genia数据集),一个span可能具有多个实体标签。Sigmoid函数可以将每个标签视为独立的二分类问题,从而适用于这种多标签分类场景。相比之下,Softmax函数将标签之间视为互斥的,并且在只能选择一个标签的情况下进行分类,不适用于多标签分类。)
    在这里插入图片描述

4 实验

设置

数据集:ACE 2004、ACE 2005和Genia
此外,我们选择最近发表的论文作为基线。为了确保我们的实验与他们的实验具有严格的可比性,我们向作者询问了他们的数据版本。
对于ACE2004和ACE2005,使用不同的sentence tokenizations,导致了不同数量的句子和实体。为了促进未来对嵌套NER的研究,我们发布了预处理代码,并修复了一些标记化问题,以避免包含未标注的文本和dropout的实体。而对于Genia数据,我们修复了一些注释冲突(同一个句子有不同的实体注释)。我们将每个实验重复五次,并用标准推导报告其平均性能。
在这里插入图片描述

4.2 结果

在这里插入图片描述

在这里插入图片描述

4.3 CNN作用

为了研究为什么CNN可以提高嵌套NER数据集的性能,我们将实体分为两种。一种是与其他实体重叠的实体,另一种是不重叠的实体。与没有CNN的模型相比,有CNN的模型的ACE2004、ACE2005和Genia的NEP分别提高了2.2、2.8和10.7。也就是说,大部分性能改进可以归因于找到更多的嵌套实体。这是意料之中的事,因为当相邻实体嵌套时,CNN可以更有效地利用它们
在这里插入图片描述
FEP、FER、NEP和NER分别是平面实体精度、平面实体召回、嵌套实体精度和嵌套实体召回。

总结

在本文中,我们建议在基于跨度的NER模型的得分矩阵上使用CNN。尽管这种方法非常简单,但它实现了与最近提出的方法相当或更好的性能。分析表明,通过CNN利用相邻跨度之间的空间相关性可以帮助模型找到更多的嵌套实体。实验表明,不同的标记确实会影响性能。因此,有必要确保所有比较基线使用相同的标记化。为了便于将来进行比较,我们为三个嵌套的NER数据集重新租赁了一个新的预处理脚本。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
零样本学习是一种重要的机器学习方法,用于处理那些没有被训练过的类别。一种尴尬地简单的零样本学习方法是使用属性向量来表示类别,而不是直接从训练数据中学习类别之间的关系。属性向量是一个描述类别特征的向量,可以用来衡量一个物体或概念的属性。通过使用属性向量,我们可以将类别表示为在属性空间中的点,进而进行零样本学习。这种方法的好处是可以在没有训练数据的情况下,根据已知的属性向量来推断新类别的特征。 具体而言,我们可以使用属性向量来表示图像的类别。例如,在处理动物分类问题时,我们可以用一个包含了“有四条腿”、“毛茸茸”等属性的向量来描述不同动物的特征。然后,我们可以将这些属性向量应用到零样本学习中,通过计算新图像与不同类别属性向量之间的相似度来判断图像所属的类别。这种方法的优势在于不需要额外的训练数据,只需从属性向量中提取特征并进行简单的计算即可完成零样本学习。 尽管这种方法可能显得太过简单,但它却可以在一定程度上解决零样本学习的问题。当我们面临没有训练数据的新类别时,使用属性向量来进行零样本学习是一种简单而有效的方法。当然,这种方法也有一些局限性,比如需要准确的属性向量和属性空间的定义,但它无疑为零样本学习提供了一种简单而实用的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值