【AAAI2023】基于神经跨度的持续命名实体识别模型

论文标题:A Neural Span-Based Continual Named Entity Recognition Model

论文链接:https://arxiv.org/abs/2302.12200

代码:https://github.com/Qznan/SpanKL

@inproceedings{zhang2023spankl,title={A Neural Span-Based Continual Named Entity Recognition Model},author={Zhang, Yunan and Chen, Qingcai},booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},year={2023}
}
9575810c59a32b621cac9ca70b2016ef.png

导读

能够持续学习(CL)的命名实体识别(Named Entity Recognition,NER)在实际应用中特别有价值,尤其是在实体类型不断增加的领域,比如个人助手应用。与此同时,NER的学习范式不断发展,采用了新的模式,如基于跨度的方法。然而,这些新方法在持续学习方面的潜力尚未被充分探索。

我们提出了一种名为SpanKL的命名实体识别(NER)模型,该模型具备持续学习(CL)的能力。SpanKL模型是一种简单而有效的基于跨度的模型,结合了知识蒸馏(KD)以保留记忆和多标签预测以防止CL-NER中的冲突。与先前的序列标注方法不同,SpanKL在跨度和实体级别上具有固有的独立建模,通过设计的一致优化促进了每个增量步骤上的学习,并减轻了遗忘现象。

在来自OntoNotes和Few-NERD的合成CL数据集上进行的实验证明,SpanKL在许多方面明显优于先前的最先进方法,同时在从CL到上限的差距方面表现最小,显示出其高实用价值。

本文贡献

  • 我们构建了一个简单的基于跨度的体系结构,以实现CL-NER中的连贯优化,这可以作为一个即时和强大的经验基线。

  • 我们对最近的模型的不同合成设置的比较,并通过未来研究的一个新的基准来探索更现实的CLNER场景。

本文方法

问题定义

我们遵循最近的工作,在类增量设置下形式化CL-NER。给定一系列的任务

6493555a2744ea690157f517b1d4bd15.png

和相应的实体类型

79182c77641f10138c66a1e5173b96a9.png

,为了持续学习,第 l 个任务有自己的训练集

207131f0e4e18699085b171e2eadcec4.png

,只注释的实体类型

025097104dd9b632d9b0883dfede913e.png

。不同任务中的实体类型是不重叠的,例如,如果在T1中学习的,那么在其他任务中就不会学习。但是,无论是从一个还是不同的任务中学习到的,对不同实体类型的提及都允许重叠,也就是说,对嵌套实体的任何情况都没有任何限制。

在第一步(l = 1)中,我们从头开始在D1上训练模型M1,以识别类型为E1的实体。在随后的第l个增量步骤(l > 1)中,我们在Dl上训练Ml,基于先前学到的模型

0ad75dafc1133289e8dc450c490fc4e8.png

,以识别到目前为止学到的所有实体类型的实体

5e707af578651057610c04ebeddab076.png

。这种形式化为持续学习命名实体识别提供了清晰的框架,使得模型能够逐步学习新任务和实体类型,确保了任务和实体类型之间的一致性。

SpanKL NER 模型
96880ec2ababa518576371e71245d252.png

我们引入了简单而有效的SpanKL(见图2),以便顺序学习每个任务。给定一个包含n个标记[x1,x2,…,xn]的输入句子X,我们定义

2be0ca9b35872aded99a76de090c7db2.png

为由以 xi 开始且以 xj 结束的连续标记组成的跨度,其中1⩽i⩽j⩽n。假设在第 l 个增量步骤有 K 个实体类型需要学习,SpanKL 的目标是通过跨度建模将每个跨度表示为

2ea52a76899fe30ba70b08e95b3a52b9.png

,并对这K个实体类型执行二元分类。它包括上下文编码器、跨度表示层和带有知识蒸馏的多标签损失层,如下所述。

上下文编码器(Contextual Encoder)捕捉输入句子中标记之间的依赖关系,可以使用广泛使用的CNN、RNN或PLM模型实现。我们使用

9b13532d1d5ca57e9c8f1b6c93b56feb.png
2843f1543a31bfe25518f3dc07e92b2f.png

表示嵌入 X 后的输入的嵌入向量,然后将其馈送到上下文编码器以获得每个标记的上下文化隐藏向量

2ac75e3e8d0057dc0f783cc603000e0c.png
54afe0d9e42903bb2a270f7ff60865cb.png

,如下所示:

f02736e3ffb8c6f830332b0c0bb0dffa.png

编码器对所有任务共享。

Span Representation Layer执行跨度建模,如下所示:

5eb151320308c42c469e8d98dbf5f4d6.png

其中跨度表示是从相关的标记表示生成的,各种设计都得到了充分的探索。

由于实体的边界标记最具信息性,Yu、Bohnet和Poesio(2020年)使用biaffne交互模型同时对组成跨度的标记的开始和结束特征空间进行建模。Xu等人(2021年)进一步将实体类型的特征空间建模为多头(加法)注意力中的头部,Su(2021年)使用多头(点积)注意力。我们采用后者的简单方式,完全将这三个特征空间的权重分离。

具体而言,对于每个实体类型,在缩放的点积交互之前使用两个不同的单层前馈网络(FFN)进行开始和结束建模(总共有2K个不同的FFN),如下所示:

bc5c578788bb14bd4526bafde0768632.png

其中s、e、k表示开始、结束和第k个实体类型。

1e43fccabc1664a4f147a28d99f3f05c.png

是所有2K个FFN的输出维度。我们相信,对于每个跨度(即在跨度和实体级别),对每个实体类型进行清晰分离的建模可以促进学习和蒸馏,并减轻多个任务之间的干扰。

随着任务的增加,我们简单地添加更多专门用于新任务的跨度表示层(基本上是内部的FFN)。Span Matrix 的概念引入是为了更好地描述(见图2)。我们将所有与第k个实体相关的hsijk组织成矩阵Mk的上三角区域,其中

d45c19438376ba6aecf1ba930ed4d236.png
82bb818a7a105c1418212194dd64ecc9.png

多标签损失层

为了确保前向可比性,我们期望将最终的跨度分类制定为多标签预测。具体而言,在跨度矩阵中,我们在预测的logit上使用sigmoid激活,然后计算与真实标签的二元交叉熵(BCE)损失。

与常见的多类方式(即使用softmax激活的交叉熵损失)相比,该方法在将logit标准化为单个或多个任务的概率时,可以将不同的实体类型分离开来。每个实体类型都是独立进行二元分类,BCE损失的计算方式如下:

332ce5ed8a88ee13031b0798374774ca.png
1ed866be9bb6f490c5f316cc4c0c1f38.png

仅在当前实体类型的跨度矩阵上进行计算。

知识蒸馏

为了确保向后的可比性,我们使用知识蒸馏(KD)来防止遗忘旧的实体。在第 1 个增量步( l > 1),我们使用先前学习的模型

53d8e14396787e3722b4341f02ec73d3.png

(教师)对整个当前训练集

11a91a730b4cdbf48f4ae6daeade857a.png

bfae545909b44e8ef25bf0eed42f1eaa.png

学习的实体类型进行一次性预测。这就产生了伯努利分布,作为每个旧实体类型的每个跨度的软蒸馏标签

8303cb50cbc0bdd6333413f5a7044060.png

。这些伪标签用于计算伯努利KL散度损失,当前的模型ML(学生)为:

a4629e17cd406d909d61cb520f5ec193.png

在每个步骤进行一次性预测后,用于多个时期的训练的最终损失是两个损失的加权和:

aa236dfc271a2727baf95f7d7b883cfb.png

其中,α和β是两个损失的权重。这种损失的组合有助于确保对新任务的学习的同时,保留对旧实体类型的知识。

实验

实验结果
5beadcabffd2007502fa968884f9ca5f.png
aa98d0ed31e664b0e59fe785fdb06253.png
680e77ff5349ef6cab2ba54ffde5679d.png
bf8a013f88748e557438ab4c1870aaff.png

结论

在本文中,我们提出了一个名为SpanKL的神经跨度模型,作为类增量设置下持续学习命名实体识别(CL-NER)的强大基线。我们在实证研究中发现,跨度和实体级别的独立建模在顺序学习实体类型时是适用的,特别是当与知识蒸馏技术和多标签预测协同使用时,可以轻松实现一致的优化。SpanKL在OntoNotes上几乎接近持续学习的上限,尤其是在每个任务通常只有一个实体的情况下,显示了其在实际应用中的潜力。在更为复杂的FewNERD数据集上仍然是最优秀的。

此外,我们还对现有的不同合成设置进行了对齐和比较,从而验证了AddNER相对于其他序列标注模型更可取,为未来的研究提供了有力的参考。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

6687b7c106ba1d46aa04039969f43e00.jpeg

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

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

相关文章

ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效

随着Open AI公司推出的Sora文生视频模型惊艳亮相互联网,AI语音克隆创企ElevenLabs又为Sora的演示视频生成了配音,所有的音效均由AI创造,与视频内容完美融合。 ElevenLabs的语音克隆技术能够从一分钟的音频样本中创建逼真的声音。为了实现这一…

RPC——远程过程调用

一、RPC介绍 1.1 概述 RPC(Remote Procedure Call Protocol) 远程过程调用协议。RPC是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议。RPC主要作用就是不同的服务间方法调用就像本地调用一样便捷。 1.2 RPC框架 …

QT----在编译器里能够连接云端数据库,使用windeployqt打包后运行程序,链接不上云端mysql数据库

问题描述 在编译器里能够连接云端数据库,使用windeployqt打包后运行程序,链接不上云端mysql数据库,困扰了好几天 打包发布手机上的app还是无法连接 问题解决 打包的时候没有将这个文件放入,我们复制放到exe的目录即可

redis原理深入解析之看完这篇还需要努力

数据结构 动态字符串SDS struct __attribute__ ((__packed__)) sdshdr8 {uint8_t len; /*已保存的字节数 不含结束标识 header*/uint8_t alloc; /*申请总的字节数,不含结束标识 header*/unsigned char flags;/*不同sds头类型,控制sds头大小 header*/…

【AI视野·今日Robot 机器人论文速览 第八十二期】Tue, 5 Mar 2024

AI视野今日CS.Robotics 机器人学论文速览 Tue, 5 Mar 2024 Totally 63 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚双臂机器人拧瓶盖, (from 伯克利) website: https://toruowo.github.io/bimanual-twist 📚水下抓取器, (from …

Dynamo初学尝试梳理(五)-代码块上

“学而时习之,不亦说乎”,今天接着来,稍微提高点难度(高手直接忽略就行)。 代码块(Code Block),是 dynamo 中可以直接输入 DesignScript 的节点。可以通过双击鼠标左键,快…

程序员书单推荐:从入门到精通的必读之作

在程序员的职业生涯中,阅读技术书籍是不断学习和提升自我的重要途径。本文将为你推荐一系列从入门到精通的程序员书单,帮助你系统地掌握编程知识、提高技能水平,并在职业生涯中取得更大的进步。 一、入门篇 《Head First C语言》&#xff1…

基于SpringBoot+Vue+ElementUI+Mybatis前后端分离管理系统超详细教程(一)

Vue.js 是一个流行的前端框架,用于构建用户界面和单页应用程序。Vue 2 是其第二个主要版本,它提供了数据绑定、组件化、虚拟DOM等核心特性。要搭建一个 Vue 2 的工程化项目,可以遵循以下步骤: 一、前端环境搭建 (一&a…

Maven入门(作用,安装配置,Idea基础maven,Maven依赖,Maven构建项目)【详解】

目录 一. Maven的作用 1.依赖管理 2.统一项目结构 3.项目构建 二.Maven安装配置 1. Maven的仓库类型 2 加载jar的顺序 3. Maven安装配置 4.安装Maven 5.配置仓库 三.idea集成maven 1.给当前project集成maven 2.给新建project集成maven 3.创建maven项目 4.pom…

二维码门楼牌管理系统应用场景:地方社区管理的新利器

文章目录 前言一、地方社区管理部门的门牌信息利用二、与社区管理部门的联动效应三、结论 前言 随着信息技术的不断发展,二维码门楼牌管理系统逐渐成为地方社区管理的新宠。该系统通过集成二维码技术与门楼牌信息,为社区管理带来了前所未有的便利与高效…

Github 2024-03-07Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10TypeScript项目1Harbor - 开源的云原生注册表项目 创建周期:2908 天开发语言:Go协议类型:Apache License 2.0Star数量:21549 个For…

uniapp 解决请求出现 /sockjs-node/info?t=问题

1. uniapp请求出现 /sockjs-node/info?t问题 1.1. 问题 uniapp项目老是出现 http://192.168.2.106:8080/sockjs-node/info?t1709704280949 1.1. sockjs-node介绍 sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全…

selinux规则

selinux状态 相关命令 进程要和文件的安全上下文相匹配,进程才能打开文件 查找这个命令从哪个安装包来的用 yum provides 命令 进程httpd 必须与ls -Z的文件类型一致,要不然在强制模式下面,打开不了 在终端2用此命令,把文件类型改…

【有趣】带照明灯的自行车“铃”

这个自行车“铃”发出的不是令行人刺耳讨厌的金属铃声,而是礼貌友好的“请让路,谢谢!”声,新颖而有趣;照明灯则为夜间骑车带来方便,既保安全而又实用。整个装置成本不足10元,制作和安装使用也都…

微信小程序用户登陆和获取用户信息功能实现

官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 接口说明: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html 我们看官方这个图,梳理一下用户…

本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)

将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新,具体步骤如下: 在本地项目目录下初始化 Git 仓库: cd 项目目录 git init将项目文件添加到 Git 仓库并提交: git add . git commit -m "Initial commit"在…

git 命令怎么回退到某个特定的 commit 并将其推送到远程仓库?

问题 不小心把提交的名称写错提交上远程仓库了,这里应该是 【029】的,这个时候我们想回到【028】这一个提交记录,然后再重新提交【029】到远程仓库,该怎么处理。 解决 1、首先我们找到【028】这条记录的提交 hash,右…

瑞芯微第二代8nm高性能AIOT平台 RK3576 详细介绍

RK3576处理器 RK3576瑞芯微第二代8nm高性能AIOT平台,它集成了独立的6TOPS(Tera Operations Per Second,每秒万亿次操作)NPU(神经网络处理单元),用于处理人工智能相关的任务。此外,R…

teknoparrot命令行启动游戏

官方github cd 到teknoparrot解压目录 cd /d E:\mn\TeknoParrot2_cp1\GameProfiles启动游戏 TeknoParrotUi.exe --profile游戏配置文件游戏配置文件位置/UserProfiles,如果UserProfiles文件夹里没有那就在/GameProfiles,在配置文件里将游戏路径加入之间,或者打开模拟器设置 …

基于ACM32 MCU的两轮车充电桩方案,打造高效安全的电池管理

随着城市化进程的加快、人们生活水平的提高和节能环保理念的普及,越来越多的人选择了电动车作为代步工具,而两轮电动车的出行半径较短,需要频繁充电,因此在城市中设置两轮车充电桩就非常有必要了。城市中的充电桩不仅能解决两轮车…