kNN-NER: Named Entity Recognition with Nearest Neighbor Search

原文链接:https://arxiv.org/pdf/2203.17103.pdf

预发表论文

介绍

        受到增强式检索方法的启发,作者提出了kNN-NER,通过检索训练集中k个邻居的标签分布来提高模型命名实体识别分类的准确性。该框架能够通过充分利用训练信息来解决样本类别不平衡问题。

方法

         整个模型的框架如下图所示,作者提出的框架在训练阶段不需要进行额外的操作,可以适配于多样的序列标注模型:

Background: Vanilla NER

        给定一个长为n的句子x = \left \{ x_{1},......,x_{n} \right \},序列标注任务就是为句子中的每个单词x_{i}分配一个标签y_{i},有N个样本的训练集表示为:

        具体的,使用一个encoder(文中使用的是Bert和RoBert)来得到每个词的向量表示,然后通过一个MLP得到每个词属于每个类别的分数:

k Nearest Neighbor NER

        使用基础的序列标注得到句子中每个词的标签分布pNER后,在datastore中找到离其最近的k个邻居,结合这k个邻居的标签来进行调整。

        datastore D是训练集中每个词的embedding(h_{i})与其实体(y_{i})之间对应的键值对集合:

       找到词xi与D中欧式距离最近的k个邻居实体集N,然后根据RBF核(高斯核函数 可以理解为将非线性的向量映射为线性可分的向量)方法转成输出分布,将检索到的命名实体集转换为整个命名实体词汇的分布,预测标签为实体ej的概率与N中所有值的核输出成正比(ej表示实体词汇表中第j个实体,T是一个调节参数,用于平缓分布):

        另外,对于没有出现在检索集中的标签,将其概率设置为0。最后,将普通NER框架得到的标签分布pNER与pkNN进行结合,\lambda为权重系数:

实验

对比实验

        在英文数据集conll03和ontoNotes上进行了实验,结果如下所示:

         在中文数据集ontoNoto、MSRA和Weibo数据集上进行了实验,结果如下所示:

消融实验

        作者为了探究模型在低资源场景下的表现,在不同大小的训练集上进行了实验,结果如下所示:

        可以看出,作者提出的方法在相同精度的情况下,所需的训练数据可以少40%。

        作者对K的取值进行了实验,结果如下所示:

         较大的K值表示可以检索出更多信息,随着K值的增加,新检索的样本与当前输入样本的相似性降低,对模型性能的提升也是微乎其微的。当k足够大时,模型的性能不再变化,作者认为这体现了模型的稳健性,即对K值不敏感。

总结

        本文提出的框架是在标签分类上进行处理,整体思想很简单,在训练集中选取相似词的标签情况来调整结果,怎么感觉有点作弊一样?作者也提到,能提升模型的性能是因为“开卷考试比闭卷要简单”!而且通过实验可以看到作者选取的K并不小,也意味着计算量大的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值