kNN-NER: Named Entity Recognition with Nearest Neighbor Search

2023-11-30 21:04

本文主要是介绍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并不小,也意味着计算量大的问题。

这篇关于kNN-NER: Named Entity Recognition with Nearest Neighbor Search的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438540

相关文章

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

广度优先搜索Breadth-First-Search

目录  1.问题 2.算法 3.代码 4.参考文献  1.问题         广度优先搜索,稍微学过算法的人都知道,网上也一大堆资料,这里就不做过多介绍了。直接看问题,还是从下图招到一条从城市Arad到Bucharest的路径。  该图是连通图,所以必然存在一条路径,只是如何找到最短路径。 2.算法 还是贴一个算法的伪代码吧: 1 procedu

机器学习--KNN算法

knn算法针对有监督学习,分为2种:聚类和回归 第1种:聚类 #导包(聚类)from sklearn.neighbors import KNeighborsClassifier#构建数据x = [[3],[6],[8]]y=[3,7,6]#实例化模型knn=KNeighborsClassifier(n_neighbors=1)#训练knn.fit(x,y)#预测print(

【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)

0. seq scan tracking 我们在这里跟踪活跃的 hash_seq_search() 扫描。 需要这种机制是因为如果扫描正在进行时发生桶分裂(bucket split),它可能会访问两次相同的条目,甚至完全错过某些条目(如果它正在访问同一个分裂的桶中的条目)。因此,如果正在向表中插入数据,我们希望抑制桶分裂。 在当前的使用中,这种情况非常罕见,因此只需将分裂推迟到下一次插入即可。

ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d‘解决方法

Python应用运行报错,部分错误信息如下: Traceback (most recent call last): File “\pipelines_ootd\unet_vton_2d_blocks.py”, line 29, in from diffusers.models.dual_transformer_2d import DualTransformer2DModel ModuleNotF

Android Settings搜索Search方案分析

Android开发会遇到一些自写界面需要允许被搜索,或者三方应用挂靠在Settings,用户也希望能被搜索。 在知道怎么添加之前,得先了解下整个框架,才能更好地加入我们自己的代码。   这里稍微整理了下整个search database数据如何索引加载流程。 Settings搜索界面是由SearchFragment展现,当用户在Settings主页中点击搜索图标,会启动到SearchAc

SIM(Search-based user interest modeling)

导读 我们对电商场景兴趣建模的理解愈发清晰:1. 通过预估目标item的信息对用户过去的行为做search提取和item相关的信息是一个很核心有效的技术。2. 更长的用户行为序列信息对CTR建模是非常有效且珍贵的。从用户的角度思考,我们也希望能关注用户长期的兴趣。但是当前的search方法无论是DIN和DIEN都不允许我们在线对一个超长的行为序列比如1000以上做有效搜索。所以我们的目标就比较明