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并不小,也意味着计算量大的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/207004.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:OJ练习(每日练习系列)

编程题: 题一:字符串相加 415. 字符串相加 - 力扣(LeetCode) 思路一: 第一步:需要获取字符串的两个尾节点下标; 第二步:创建用于记录进位数、获得的字符串的变量; 第…

nginx部署多个vue或react项目

下载nginx(tar.gz) nginx: download(官方地址) 部署nginx # 进入nginx压缩包所在目录 cd /usr/nginx# 解压 tar -zxvf nginx-1.25.3.tar.gz# 安装nginx的相关依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel# 生成Makefile可编译文件 cd /usr/ng…

SQL Sever 基础知识 - 数据查询

SQL Sever 基础知识 - 一、查询数据 一、查询数据第1节 基本 SQL Server 语句SELECT第2节 SELECT语句示例2.1 SELECT - 检索表示例的某些列2.2 SELECT - 检索表的所有列2.3 SELECT - 对结果集进行筛选2.4 SELECT - 对结果集进行排序2.5 SELECT - 对结果集进行分组2.5 SELECT - …

富必达API:一站式无代码开发集成电商平台、CRM和营销系统

一站式无代码开发的连接解决方案 电子商务、客户服务系统以及其它商业应用,是现代企业运营的重要部分。然而,将这些系统进行有效的整合往往需要复杂的API开发,这对很多企业来说是一个巨大的挑战。富必达API以其一站式的无代码开发解决方案&a…

注解方式优雅的实现Redisson分布式锁

1.前言 随着微服务的快速推进,分布式架构也得到蓬勃的发展,那么如何保证多进程之间的并发则成为需要考虑的问题。因为服务是分布式部署模式,本地锁Reentrantlock和Synchnorized就无法使用了,当然很多同学脱口而出的基于Redis的se…

C语言--每日选择题--Day31

第一题 1. 下面程序 i 的值为() int main() {int i 10;int j 0;if (j 0)i; elsei--; return 0; } A:11 B:9 答案及解析 B if语句中的条件判断为赋值语句的时候,因为赋值语句的返回值是右操作数; …

【猜数字游戏】用wxPython实现:基本的游戏框架 + 简单的图形用户界面

【猜数字游戏】 写在最前面猜数字游戏 实现【猜数字游戏】安装wxPython全部代码代码解析1. 初始化界面2. 生成随机数3. 处理猜测4. 特殊功能5. 分数计算 游戏小程序呈现结语 写在最前面 看到了一个比较有意思的问题 https://ask.csdn.net/questions/8038039 猜数字游戏 在这…

Linux系统iptables

目录 一. 防火墙简介 1. 防火墙定义 2. 防火墙分类 ①. 网络层防火墙 ②. 应用层防火墙 二. iptables 1. iptables定义 2. iptables组成 ①. 规则表 ②. 规则链 3. iptables格式 ①. 管理选项 ②. 匹配条件 ③. 控制类型 四. 案例说明 1. 查看规则表 2. 增加新…

Node——Node.js简介

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它能够让JavaScript脚本运行在服务端,这使得JavaScript成为与PHP、Python等服务端语言平起平坐的脚本语言。 1、认识Node.js Node.js是当今网站开发中非常流行的一种技术,它以简单易…

防爆执法记录仪、防爆智能安全帽助力海上钻井平台远程可视化监管平台建设

推动远程安全管理,海上钻井"视"界拓新—防爆执法记录仪与防爆智能安全帽的创新应用 在海上钻井作业领域,安全生产一直是萦绕在每一个业者心头的重大课题。由于环境的恶劣及作业的特殊性,一旦发生安全事故,其后果往往极…

SQL Sever 基础知识 - 数据排序

SQL Sever 基础知识 - 二 、数据排序 二 、对数据进行排序第1节 ORDER BY 子句简介第2节 ORDER BY 子句示例2.1 按一列升序对结果集进行排序2.2 按一列降序对结果集进行排序2.3 按多列对结果集排序2.4 按多列对结果集不同排序2.5 按不在选择列表中的列对结果集进行排序2.6 按表…

深入学习redis-基于Jedis通过客户端操作Redis

目录 redis客户端(JAVA) 配置 引入依赖 建立连接 常用命令实现 get/set exists/del keys expire和ttl type 字符串(String) mget和mset getrange和setrange append incr和decr 列表(list) …

STM32F407-14.3.7-01PWM输入模式

PWM 输入模式 此模式是输入捕获模式的一个特例。其实现步骤与输入捕获模式基本相同,仅存在以下不同之处: 例如,可通过以下步骤对应用于 TI1① 的 PWM 的周期(位于 TIMx_CCR1⑨ 寄存器中)和占空 比(位于 …

Echarts 柱状图添加标记 最大值 最小值 平均值

标记 最大值 最小值 series: [//图表配置项 如大小,图表类型{name: 图例,type: bar,//图表类型data: [{value: 500,time: 2012-11-12},{value: 454,time: 2020-5-17},{value: 544,time: 2022-1-22},{value: 877,time: 2013-1-30}, {value: 877,time: 2012-11-12}] …

深入了解Rabbit加密技术:原理、实现与应用

一、引言 在信息时代,数据安全愈发受到重视,加密技术作为保障信息安全的核心手段,得到了广泛的研究与应用。Rabbit加密技术作为一种新型加密方法,具有较高的安全性和便捷性。本文将对Rabbit加密技术进行深入探讨,分析…

【深度学习】概率图模型(一)概率图模型理论简介

文章目录 一、概率图模型1. 联合概率表2. 条件独立性假设3. 三个基本问题 二、模型表示1. 有向图模型(贝叶斯网络)2. 无向图模型(马尔可夫网络) 三、学习四、推断 概率图模型(Probabilistic Graphical Model&#xff0…

EUREKA: HUMAN-LEVEL REWARD DESIGN VIACODING LARGE LANGUAGE MODELS

目录 一、论文速读 1.1 摘要 1.2 论文概要总结 相关工作 主要贡献 论文主要方法 实验数据 未来研究方向 二、论文精度 2.1 论文试图解决什么问题? 2.2 论文中提到的解决方案之关键是什么? 2.3 用于定量评估的数据集是什么?代码有…

【raect.js + hooks】useRef 搭配 Houdini 创造 useRipple

水波纹点击特效 really cool,实现水波纹的方案也有很多,笔者经常使用 material 组件,非常喜欢 mui 中的 ripple,他家的 ripple 特效就是通过 css Houdini 实现的。 今天,我们将复刻一个 ripple,并封装成 ho…

论文阅读——DINOv

首先是关于给了提示然后做分割的一些方法的总结: 左边一列是prompt类型,右边一列是使用各个类型的prompt的模型。这些模型有分为两大类:Generic和Refer,通用分割和参考分割。Generic seg 是分割和提示语义概念一样的所有的物体&am…

UI 自动化测试框架:PO模式+数据驱动

1. PO 设计模式简介 什么是 PO 模式? PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离。 PO 模式的设计思想与…