ACL21 - Learning from Miscellaneous Other-Class Words for Few-shot Named Entity Recognition

Tong M, Wang S, Xu B, et al. Learning from Miscellaneous Other-Class Words for Few-shot Named Entity Recognition[J]. ACL2021.

介绍

目前工作忽略了 O 标签实体潜在的语义信息。要是能从 O 标签中,再区分出一种之前未定义的类,就可以获取更多的实体之间的关系。

从 O 标签实体中识别出未定义类,有两大难点:

  1. 语义混乱:各种各样的类型都有可能归类为 O,这取决于标注的人怎么划分类型的,所以包含了大量的噪音
  2. 缺少 golden label:要划分的新类型,我们不知道长什么样子,没有样例和标准可以参考

为了解决这些问题,本文提出了MUCO(Mining Undefined Classes from Other-class)。在给 O 类型建原型的的时候,不止建一个原型,而是建立多个原型。如下图右边黑色圈圈所示。

请添加图片描述

这样做的原因是,如果两个类型AB,A和B是任务相关的,A可以聚成一个簇,那么B也可以聚成一个簇。

本文主要贡献:

  1. 提出MUCO方法,可以丰富O类型的语义表示
  2. 对于未定义的类型,提出了一个 zero-shot 分类方法
  3. 大量的实验,证明方法有效性,还可以迁移到其他领域

相关工作

本文作者将小样本NER方法分为四类:

  1. 知识增强:利用本体、知识库作为旁白提升NER表现,但是有低覆盖率的问题
  2. 跨语言增强:用其他语言做外部监督信号,当语言差异大的时候,效果反而下降
  3. 跨领域增强:同上
  4. 主动学习:挑选信息量最大的样本人工标注,需要额外的人力

目前处理 O 标签的相关工作较少:

  1. Deng et al. 2020 训练了一个二分类器区分 O 和其他预定义的类型
  2. Fritzler et al. 2019 不训练 O 的原型,而是设置了超参数 b o b_o bo,来表示距离相似性
    [1] Shumin Deng, Ningyu Zhang, Jiaojian Kang, Yichi Zhang, Wei Zhang, and Huajun Chen. 2020. Metalearning with dynamic-memory-based prototypical network for few-shot event detection. In Proceedings of the 13th International Conference on Web Search and Data Mining, pages 151–159.
    [2] Alexander Fritzler, Varvara Logacheva, and Maksim Kretov. 2019. Few-shot classification in named entity recognition task. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pages 993–1000.

方法

检测未定义类

受到迁移学习的启发,先训练预先定义好的类,让它们聚在一起,如果是任务相关的未定义的类,使用之前训练好的模型,那么这些未定义好的类也会聚在一起。

上面的方法作者叫做 zero-shot 分类方法,可以分为3个步骤:

zero-shot 分类方法
step1: 在预先定义好的类中训练原型

其实就是训练 embedding,让向量更好的在空间中聚类,即缩小类内距离。

embedding 方法采用 BERT。距离定义为:
d ( x , p y ) = − f θ ( x ) T p y d\left(x, p_{y}\right)=-f_{\theta}(x)^{T} p_{y} d(x,py)=fθ(x)Tpy
其中:

  • x:输入
  • f():embedding 方法
  • p y p_y py:原型中心

损失函数定义为:
L ( θ 1 ) = − log ⁡ exp ⁡ ( − d ( x , p y ) ) ∑ p c ∈ P c exp ⁡ ( − d ( x , p c ) ) L\left(\theta_{1}\right)=-\log \frac{\exp \left(-d\left(x, p_{y}\right)\right)}{\sum_{p_{c} \in P_{c}} \exp \left(-d\left(x, p_{c}\right)\right)} L(θ1)=logpcPcexp(d(x,pc))exp(d(x,py))

step2:训练二分类器

根据位置特征信息,训练一个二分类器,判断两个点是否是在同一个簇中,每两个点都能判断的话,最后也能聚类成功。

具体方法是,假设原始的 embedding 方法为 f θ ( x ) f_θ(x) fθ(x),两个样本embedding之后的向量表示为 h i , h j h_i, h_j hi,hj。经过step1训练之后的embedding方法为 f ~ θ ( x ) \tilde f_θ(x) f~θ(x),embedding之后的向量表示为 h ~ i , h ~ j \tilde h_i, \tilde h_j h~i,h~j。那么这两个样本是同一个簇的概率为:
b i j = W ( [ h i ; h j ; h ~ i ; h ~ j ; ∣ h i − h j ∣ ∣ h ~ i − h ~ j ∣ ; ∣ h i − h ~ i ∣ ; ∣ h j − h ~ j ∣ ] ) + b \begin{aligned} &b_{i j}=W\left(\left[h_{i} ; h_{j} ; \tilde{h}_{i} ; \tilde{h}_{j} ;\left|h_{i}-h_{j}\right|\right.\right. \\ &\left.\left.\quad\left|\tilde{h}_{i}-\tilde{h}_{j}\right| ;\left|h_{i}-\tilde{h}_{i}\right| ;\left|h_{j}-\tilde{h}_{j}\right|\right]\right)+b \end{aligned} bij=W([hi;hj;h~i;h~j;hihjh~ih~j;hih~i;hjh~j])+b

训练的交叉熵损失函数为:
L ( θ 2 ) = 1 N 2 ∑ i N ∑ j N ( − y i j ∗ log ⁡ ( b i j ) + ( 1 − y i j ) ∗ log ⁡ ( 1 − b i j ) ) \begin{aligned} L\left(\theta_{2}\right)=\frac{1}{N^{2}} \sum_{i}^{N} \sum_{j}^{N} &\left(-y_{i j} * \log \left(b_{i j}\right)\right.\\ &\left.+\left(1-y_{i j}\right) * \log \left(1-b_{i j}\right)\right) \end{aligned} L(θ2)=N21iNjN(yijlog(bij)+(1yij)log(1bij))

step3:用二分类器预测 O 类型数据,并聚类

将两个输入 x u , x v x_u, x_v xu,xv 输入到step2训练好的二分类器中,如果输出的概率大于某个阈值 γ γ γ,那么认为这两个输入是同一个类。一些 O 类型的样本可能还是分不到某个类中,就不再继续分了。

对于每个未定义的类型 o i ∈ O = [ o 1 , o 2 , . . . , o r ] o_i ∈ O = [o_1, o_2,...,o_r] oiO=[o1,o2,...,or],计算每个类的中心,然后用余弦相似度重新给O标签样本打上软标签。这里打上的标签并不是具体的或者之前定义的标签,只是用 o 1 , o 2 o_1, o_2 o1,o2 这些代指。

联合训练

将之前分类好的 O = [ o 1 , o 2 , . . . , o r ] O = [o_1, o_2,...,o_r] O=[o1,o2,...,or],同样也拿过来训练,也就是说实体类型变多了,然后作者在损失函数上加了一个可训练的缩放因子 s s s
L ( θ 3 ) = − log ⁡ exp ⁡ ( − s d ( x , p y ) ) ∑ p ∈ { P c ∪ P t } exp ⁡ ( − s d ( x , p ) ) L\left(\theta_{3}\right)=-\log \frac{\exp \left(-s d\left(x, p_{y}\right)\right)}{\sum_{p \in\left\{P_{c} \cup P_{t}\right\}} \exp (-s d(x, p))} L(θ3)=logp{PcPt}exp(sd(x,p))exp(sd(x,py))

实验

baseline方法:

  • BERT
  • PN:原型网络
  • LTC:LTapNet+CDT
  • WPN:Warm Prototypical Network,迁移学习的原型网络
  • MAML

请添加图片描述

  • 相比于监督学习方法BERT和PN,few-shot方法更好
  • 在 few-shot 方法中,本文提出的 MUCO 效果最好
  • 不管是英文数据集还是中文数据集,MUCO 都能提升 F1 值

总结

这篇论文关注到了以前学者忽略的O类型标签的问题,在做小样本NER的时候,O标签确实很多学者都跳过了,挺新颖的一种视角。

给O标签继续分类的依据是,迁移学习。如果两个标签AB是相关的,如果A标签能聚成一个类,那么B标签也能聚成一个类。所以作者考虑在已知的标签中训练,再迁移到未知的O标签中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值