Span 抽取和元学习能碰撞出怎样的新火花,小样本实体识别来告诉你!

news2024/12/23 10:43:38

作者:王嘉宁、汪诚愚、谭传奇、邱明辉、黄松芳、黄俊、高明

近日,阿里云机器学习平台PAI与华东师范大学高明教授团队、达摩院机器智能技术NLP团队合作在自然语言处理顶级会议EMNLP2022上发表基于Span和元学习的小样本实体识别算法SpanProto。这是一种面向命名实体识别的小样本学习算法,采用两阶段的训练方法,检测文本中最有可能是命名实体的Span,并且准确判断其实体类型,在仅需要标注极少训练数据的情况下,提升预训练语言模型在命名实体识别任务上的精度。

论文:

Jianing Wang, Chengyu Wang, Chuanqi Tan, Minghui Qiu, Songfang Huang, Jun Huang, Ming Gao. SpanProto: A Two-stage Span-based Prototypical Network For Few-shot Named Entity Recognition. EMNLP 2022

背景

大规模预训练语言模型的广泛应用,促进了NLP各个下游任务准确度大幅提升,然而,传统的自然语言理解任务通常需要大量的标注数据来微调预训练语言模型。例如,对于命名实体识别任务,模型的训练需要一定数量的语料来学习Token与Label之间的依赖关系。但是在实际应用中,标注数据资源比较稀缺,传统的序列标注方法很难达到较好的效果,因为其需要解决实体识别中的标签依赖(Label Depnedency)关系,同时也无法应对实体嵌套(Nested Entity)问题。因此,我们研究一种基于Span和元学习的小样本实体识别技术。特别地,我们关注于解决N-way K-shot的实体识别场景。下图所展示了一个2-way 1-shot实体识别任务:

image.png

在上述2-way 1-shot任务中,包含了若干个Support Set和Query Set,每个Support Set只包含2个类别的实体(即上图的PER和LOC,除了非实体的“O”类别),且每个类别的标注实体数量只有1个。

算法概述

为了解决上述小样本命名实体识别问题,SpanProto采用两阶段方法,即将实体识别任务分解为两个阶段,分别是Span Extraction和Mention Classification。模型框架图如下所示:

image.png

Span Extraction

首先,SpanProto使用与类别无关的Span抽取器,抽取出可能的命名区间。在这个工作中,我们参考了Baffine Decoder和Global Pointer的技术,设计了Global Boundary Matrix,显式让模型学习到实体区间的边界信息。在这个Matrix中,每一个坐标元素(i, j)恰好可以表示一个区间[i:j],如果这个区间是一个实体,那么元素将对应于1,如果这个区间不是一个实体,那么元素将对应于0:

image.png

Span Extraction模型采用下述基于Span的Cross-Entropy损失函数进行训练:

image.png

通过上述模型,SpanProto可以利用Global Boundary Matrix抽取出所有可能的实体。

Mention Classification

在Mention Classification模块中,SpanProto采用标准的Prototypical Learning技术给每个Span分配标签,即最小化每个Span表征与对应类别的原型的欧式距离。与此同时,我们考虑到命名实体识别的False Positive问题,即存在一些抽取的Span在当前Episode内没有合适的类别可以分配的情况。例如,在上图中,Span Extraction阶段模型会抽取出August 15. 1954为一个Span,它可能是一个“Time”类别的实体,但是在当前episode任务中其实只有PER和LOC,没有合适的标签给到这个Span。针对False Positive,我们采用Margin Learning方法,最大化这些Span表征与所有实体类别的原型向量的欧式距离:

image.png

整体算法流程

SpanProto整体算法流程图如图所示:

image.png

算法精度评测

为了验证SpanProto算法的有效性,我们在Few-NERD这一标准评测数据集上进行了测试,效果证明SpanProto对精度提升明显:

image.png

我们也对算法的模块进行了详细有效性分析,我们可以发现Span Extraction和Mention Classification均对模型有一定贡献。

在这里插入图片描述

image.png

为了更好地服务开源社区,SpanProto算法的源代码即将贡献在自然语言处理算法框架EasyNLP中,欢迎NLP从业人员和研究者使用。

EasyNLP开源框架:https://github.com/alibaba/EasyNLP

参考文献

  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022 (accepted)
  • Juntao Yu, Bernd Bohnet, Massimo Poesio. Named Entity Recognition as Dependency Parsing. ACL 2020: 6470-6476
  • Ning Ding, Guangwei Xu, Yulin Chen, Xiaobin Wang, Xu Han, Pengjun Xie, Haitao Zheng, Zhiyuan Liu. Few-NERD: A Few-shot Named Entity Recognition Dataset. ACL/IJCNLP 2021: 3198-3213
  • GlobalPointer:用统一的方式处理嵌套和非嵌套NER. https://spaces.ac.cn/archives/8373

论文信息

论文名字:SpanProto: A Two-stage Span-based Prototypical Network For Few-shot Named Entity Recognition
论文作者:王嘉宁、汪诚愚、谭传奇、邱明辉、黄松芳、黄俊、高明
论文pdf链接:https://arxiv.org/abs/2210.09049

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

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

相关文章

界面控件DevExtreme DataGrid——一个多用途的UI组件

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐…

【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享...

全文链接:http://tecdat.cn/?p9706在这文中,我将介绍非线性回归的基础知识。非线性回归是一种对因变量和一组自变量之间的非线性关系进行建模的方法。最后我们用R语言非线性模型预测个人工资数据(查看文末了解数据获取方式)是否每…

《人月神话》(The Mythical Man-Month)看清问题的本质:如果我们想解决问题,就必须试图先去理解它...

第一章 焦油坑(The Tar Pit)史前史中,没有比巨兽在焦油坑中垂死挣扎的场面更令人震撼的了。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧&a…

Linux简化版线程池

目录 一,线程池设计 二,线程池应用场景 三,线程池准备 1,包装一个锁 2,一个任务类 三,线程池 1,成员介绍 2,设计单例模式 3,创建线程池 4,线程池执…

【吴恩达机器学习笔记】十六、应用实例:图片文字识别

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。 📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记&…

【Linux】Zabbix5.0平台的搭建

文章目录项目背景视频展演一、Linux基础配置1、查看当前系统版本2、修改主机名3、修改 IP 地址4、配置防火墙5、关闭 SELINUX6、修改系统时间及时区7、配置 YUM 库方式 1方式 2二、安装apache1、安装 apache2、启动 apache 服务3、设置 httpd 服务开机启动4、查看服务状态5、防…

深度学习——制作自己的VOC图像分割数据集

1、数据集介绍 COCO数据集有80个类别,VOC数据集有20个类别。当这些数据集类别中没有自己需要的时候,就需要自己动手做自己的数据集了。 我自己在做数据集的时候主要使用到了labelme和labelImg两个工具。labelme主要是制作语义分割数据集(ImageSets,JPEGImages,SegmentationC…

kubernetes 1.18 部署 ingress-nginx

文章目录kubernetes 1.18 部署 ingress-nginx1. 下载 yaml 文件2. 安装 ingress-nginx3. 检查安装情况4. 测试验证4.1 查看ingress规则4.2 访问测试5. 其他内容kubernetes 1.18 部署 ingress-nginx 1. 下载 yaml 文件 在 GitHub 下载完成之后可以直接使用,不需要修…

[基因遗传算法]进阶之三:sko.GA的实践TSP

参考资料:《VRP问题分类》 相关文章: 《[基因遗传算法]原理思想和python代码的结合理解之(一) :单变量》 《[基因遗传算法]进阶之二:最优规划问题–多种编码方式多变量》 文章目录一. GA的用法1.1 help(sko.GA)1.2 目标函数的书写A. 单变量的书写B. 多变量的书写C. 变量的范围…

mysql中的B+树、索引跳跃扫描

普通索引 B树的叶子节点上记录的是聚簇索引(主键索引)的值。 联合索引 叶子节点中记录的是name,age两个字段以及主键id的值。 MySQL一定是遵循最左前缀匹配的,这句话在mysql8以前是正确的,没有任何毛病。但是在M…

(文章复现)7.计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度(MATLAB程序)

联系方式:2645521500 复现文章: 计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度——孙惠娟(电网技术—2020) 摘要: 为了促进多能源互补及能源低碳化,本文提出了计及电转气协同的含碳捕集与垃圾焚…

有手就会做,保姆级Jmeter分布式压测操作流程(图文并茂)

分布式压测原理 分布式压测操作 保证本机和执行机的JDK和Jmeter版本一致 配置Jmeter环境变量 配置Jmeter配置文件 上传每个执行机服务jmeter chmod -R 755 apache-jmeter-5.1.1/ 执行机配置写自己的ip 控制机配置所有执行机ip,把server.rmi.ssl.disable改成true 将本机也作…

Java-1208

JVM与Java体系结构 JVM整体结构(上图主要针对hotspot虚拟机) 类加载器: 将字节码文件加载进去,并不一定是java字节码文件,很多语言都会编译成字节码文件使用JVM 运行时数据区: 方法区和堆:使用了…

毕业设计 STM32单片机智能WiFi天气助手 - 物联网 单片机

文章目录0 前言1 设计内容2 软件设计3 关键代码4 最后0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不…

Go设计与实现--数组与切片

数组 初始化 Go语言数组的初始化是在编译期就已经执行好了。这个是初始化的代码&#xff1a; // NewArray returns a new fixed-length array Type. func NewArray(elem *Type, bound int64) *Type {if bound < 0 {base.Fatalf("NewArray: invalid bound %v", …

Security实现前后端分离

Security实现前后端分离 说明 ​ 上一篇和上上一篇我大致介绍了一下security基础使用和oauth2的一些流程&#xff0c;这里在深入了解一些相关的配置项。 ​ 首先我们在梳理一下相关概念&#xff0c;首先基本的security是负责用户认证这这一环节&#xff0c;总而言之就是用户…

PCB入门学习—原理图的绘制1(MCU部分)

目录 2.1 STM32F103VET6 MCU核心电路的绘制 学习目录 2.1 STM32F103VET6 MCU核心电路的绘制 总结&#xff1a;放置元件&#xff0c;连线&#xff0c;放置网络标号&#xff0c;更新序号。 主控放上去之后原理图图纸不太够&#xff1a;双击右边边缘&#xff0c;默认图纸大小是…

【Java小案例】从简到精完美判断年份是闰/平年和该年二月份有几天

目录前言问题描述思路分析解决方案方案一方案二方案三方案四结语前言 1、平年指阳历没有闰日或农历没有闰月的年份&#xff0c;闰年是公历中的名词&#xff0c;是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的&#xff0c;补上时间差的年份为闰年&a…

QA | SWCF2022 笔记:GNSS模拟赋能汽车HIL测试

2022年度SWCF卫星通信与仿真测试研讨会正在进行中&#xff0c;精彩演讲&#xff1a;GNSS模拟赋能汽车HIL测试&#xff0c;感谢大家的观看与支持&#xff01;收到一些粉丝的技术问题&#xff0c;我们汇总了热点问题并请讲师详细解答&#xff0c;在此整理分享给大家&#xff01; …

高通平台开发系列讲解(UART篇)高速串口代码流程

文章目录 一、初始化1.1、Registration with the SPS driver1.2、UART port registration二、Port open三、Port close沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍高通平台高速串口代码流程。 一、初始化 初始化流程: msm_serial_hs_init() ->