Robust Self-Augmentation for Named Entity Recognition with Meta Reweighting

news2024/9/21 22:29:21

摘要

  • 近年来,自我增强成为在低资源场景下提升命名实体识别性能的研究热点。
  • Token substitution and mixup (token替换和表征混合)是两种有效提升NER性能的自增强方法
  • 明显,自增强方法得到的增强数据可能由潜在的噪声
  • 先前的研究针对特定的自增强方法设计特定的基于规则约束来降低噪声
  • 在这篇文章中,我们反思了这两个典型的针对NER的自增强方法。提出来提出了一个联合的 meta-reweighting 的策略去实现自然整合。
  • 我们的方法很容易扩展到其他自增强方法,
  • Experiments on different Chinese and English NER benchmarks。我们的方法可以有效的提升自增强方法的表现。

介绍

  • NER目的是从一些无结构文本中提取预训练命名实体。是NLP的一个基础任务。几十年来,都已经被广泛的研究。

  • 近期,supervised sequence labeling neural models推动NER不断取得效果。

  • 基于神经网络的方法推动NER任务不断取得更好的表现,但是其通常需要大规模标注数据,这在真实场景中是不现实的,

  • the low-resource setting with only a small amount of annotated corpus available普遍应用是更加切合实际的,

  • The major motivation is to generate a pseudo training example set deduced from the original gold-labeled training data automatically

    • a pseudo training example set: 伪训练示例集。
    • 由原始的基于标签的训练数据集自动推导。
  • a token-level task,

    • token substitution.
    • mixup.
    • the ground-level inputs and the high-level hidden representations (低层次的输入和高层次的隐藏表示)
      数据自增强是一个小样本任务可行的解法,对于 token-level 的 NER 任务,token 替换和表征混合是常用的方法。但自增强也有局限性,我们需要为每种特定的自增强方法单独进行一些设计来降低自增强所带来的噪声,缓解噪声对效果的影响。本文提出了 meta-reweighting 框架将各类方法联合起来。

尽管如此,我们尝试放宽前人方法中的约束,得到更多的伪训练示例。这样必然会产生更多低质量增强样本。这可能会降低模型的效果。此,我们提出 meta reweighting 策略来控制增强样本的质量。同时,使用 example reweighting 机制可以很自然的将两种方法结合在一起

数据集

最后,on several Chinese and English NER benchmark datasets

our Approach

在这里插入图片描述

Baseline model

基准模型架构 BERT-BiLSTM-CRF

在这里插入图片描述

input representation

  • 输入序列 X = ( x 1 , x 2 , ⋯   , x N ) X = (x_1,x_2,\cdots,x_N) X=(x1,x2,,xN) of length n
  • 使用预训练BERT,将其转换为 sequential hidden vectors
    e 1 , e 2 , ⋯   , e N = B E R T ( x ) e_1,e_2,\cdots,e_N = BERT(x) e1,e2,,eN=BERT(x)

BiLSTM encoding

h 1 , h 2 , ⋯   , h n = B i L S T M ( e 1 , e 2 , ⋯   , e N ) h_1,h_2,\cdots,h_n = BiLSTM(e_1,e_2,\cdots,e_N) h1,h2,,hn=BiLSTM(e1,e2,,eN)

CRF decoding

最后解码过程使用 CRF 进行解码,先将得到的表征过一层线性层作为初始的标签分数,定义一个标签转移矩阵 T T T 来建模标签之间的依赖关系**。对于一个标签序列 ,其分数 计算如下:
o i = w h i + b , o_i = wh_i + b, oi=whi+b,
s ( Y ∣ X ) = ∑ i = 1 n ( T y i − 1 , y i + o i [ y i ] ) s(Y|X) = \sum^n_{i = 1}(T_{y_{i -1},y_i} + o_i[y_i]) s(YX)=i=1n(Tyi1,yi+oi[yi])
标签转移矩阵 T T T
其中 W , b , T W,b,T W,b,T都是模型参数,最后
使用维比特算法**得到最佳的标签序列,训练的损失函数采用句子级别的交叉熵损失,
对于给定的监督样本对 ( X , Y ) (X,Y) (X,Y),其条件概率 P ( Y ∣ X ) P(Y|X) P(YX)计算公式如下:
在这里插入图片描述

自增强方法

  • 自增强方法减少了大规模的人工标注需求,这能够被应用在
  • the input level and the representation level.
  • Token substitution and mixup 是命名实体识别的两个有效的方法,因此,我们去尝试扩展这两个有效的方法。

Token Substitution

t o k e n token token替换是在原始的训练文本中对部分 t o k e n token token进行替换得到伪样本,本文通过构建同义词词典来进行token替换
a s y n o n y m d i c t i o n a r y a synonym dictionary asynonymdictionary:同一词词典。
词典中即包含实体词也包含大量的普通词,遵循前人的设置,我们将所有属于同一实体类型的词当做同义词。 并且添加到实体词典中,作者将其称为entity mention substitution (EMS)。同时我们也将将 token 替换扩展到了“O”类型中,作者将其称为 normal word substitution (NWS)。作者使用 w o r d 2 v e c word2vec word2vec方法,在 wikidata 上通过余弦相似度找到 k 个最近邻的词作为“O”类型词的同义词
这里作者设置了参数,来平衡 EMS 和 NWS 的比率在 entity diversity 和 context diversity 之间达到更好的 trade-off

Mixup for CRF

不同与 t o k e n token token替换在原始文本上做增强,mixup 是在表征上进行处理

  • heuristic rules 启发式算法。
    本文将mixup方法扩展到CRF层。

  • the gold-labeled training set 给出示例 ( X 1 , Y 1 ) (X_1,Y_1) (X1,Y1) ( X 2 , X 2 ) (X_2,X_2) (X2,X2)

  • the linear interpolation: 线性插值法。

  • 形式上,给定一个样本对,首先用 B E R T BERT BERT得到其向量和,然后通过参数将两个样本混合。
    在这里插入图片描述
    损失函数可以被计算为:
    在这里插入图片描述

重点关注mixup和词替换方法。

Meta Reweighting

  • 自增强技术可以有效的产生大量的伪样本,
  • 如何控制增强示例的质量是一个不容忽视的挑战。
  • sentence-level classification task: 句子级别的分类任务。
  • the semantics of the context. 上下文信息.
    作者使用 meta reweighting 策略为 mini batch 中的训练数据分配样本级的权重
  • Intuitively 直觉上看。
  • the meta-data set, 标注样本
  • the example-wise weights: 样本级别权重。
    在少样本设置中,我们希望少量的标注样本能够引导增强样本进行模型参数更新,觉上看,如果增强样本的数据分布和其梯度下降的方向与标注样本相似,说明模型能够从增强样本中学到更多有用的信息

算法流程如下:
在这里插入图片描述

实验

数据集采用 OntoNotes 4、OntoNotes 5、微博和 CoNLL03,所有数据集均采用 BIOES 标注方式

在这里插入图片描述

执行细节

  • Gradient clipping 梯度裁剪
  • manual annotations 手工标注
  • sophisticated model architecture 复杂的模型架构。

运行模型

the BiLSTM-CRF mode

pre-trained BERT

自增强主流的方法

  • token substitution
  • paraphrasing
  • mixup

文章灵感激发

  • Many previous studies have explored the example weighting mechanism in domain adaption looked into the example weighting methods for cross-domain tasks。
  • Ren et al. (2018) adapted the MAML algorithm (Finn et al., 2017) and proposed a meta-learning algorithm to automatically weight training examples of the noisy label using a small unbiased validation set.
  • 结论

  • 本文提出了 meta reweighting 策略来增强伪样本的效果。是一篇很有启发性的文章,从梯度的角度出发,结合类似于 MAML 中 gradient by gradient 的思想,用标注样本来指导伪样本训练,为伪样本的损失加权,对伪样本的梯度下降的方向进行修正使其与标注样本更加相似

经验

  • 同一个技术,使用的跟前人不一样,就叫做创新。
  • 罗列常见的数据增强方法,换种方法后续都能发文章。
  • 借鉴其他领域的主流方法,换个话题用到之知识图谱中,比如,领域自适应中的the example weighting mechanism,应用到命名实体识别中
  • 现在做的小步骤,都是复现代码,然后再代码上做微小的改动。
  • 继续的多调试代码,反复读文章,将文章精度、读烂读透都行啦的理由与打算。

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

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

相关文章

【Vue3源码】第四章 实现isReadonly和isReactive

【Vue3源码】第四章 实现isReadonly和isReactive 前言 上一章节我们实现readonly API,并且优化之前写的reactive API。这一章我们实现isReadonly和isReactive两个API。 1、实现isReactive 官网是这么介绍的:检查一个对象是否是由 reactive() 或 shallo…

WebView2 (Chromium) 右键菜单大全

在开发WebView2浏览器时,需要定制右键上下文菜单,但是微软的官方网站上没有详细的菜单,这里整理出来,以方便大家使用。以下是在win11上测试获取的,经过测试win7上稍有不同。一、网页上空白处右键 Target:Pa…

Mybatis Notes

文章目录1 Mybatis 介绍1.1 快速入门2 JDBC2.1 JDBC介绍2.3 JDBC问题分析2.4 Mybatis与JDBC技术对比3 数据库连接池3.1 数据库连接池介绍3.2 数据库连接池产品产品3.3 Druid引入项目4lombok4.1 lombok介绍4.2 lombok使用4.2.1 在pom.xml文件中引入依赖4.2.2 pojo类代码引入1 My…

强化学习 Reinforcement Learning(1) ~ 介绍

1. 强化学习概念和分类 强化学习,Reinforcement Learning 通过价值选行为: Q LearningSarsaDeep Q Network 直接选行为: Policy Gradients 想象环境并从众学习: Model Based RL 1.1 通过环境分类 1.1.1 不理解环境 Model-Fr…

4.5 习题(王晓云 主编)

一、选择题1. 下面( ) 是错误的if 语句&#xff08;设int x,a,b;&#xff09;BA&#xff09;if (ab) x; B&#xff09;if (a<b) x;C&#xff09;if (a-b) x; D&#xff09;if (x ) x;2. 以下程序片段( )。Dvoid main ( ){int x0,y0,z0;if (xyz) printf(“***”);else printf…

RT-Thread SP使用教程

RT-Thread SPI 使用教程 实验环境使用的是正点原子的潘多拉开发板。 SPI从机设备使用的是BMP280温湿度大气压传感器。 使用RT-Thread Studio搭建基础功能。 1. 创建工程 使用RT-Thread Studio IDE创建芯片级的工程。创建完成后&#xff0c;可以直接编译下载进行测试。 2.…

JVM学习篇垃圾收集器ParNewCMS与底层三色标记算法详解

1. 垃圾收集算法 2. 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法&#xff0c;这种算法没有什么新的思想&#xff0c;只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代&#xff0c;这样我们就可以根据各个年代的特点选择合适的垃圾收集算法…

因果推断7--深度因果模型综述(个人笔记)

目录 0摘要 1介绍 2预习 3治疗和指标 4深层因果模型的发展 4.1发展时间表 4.2模型分类 5典型的深层因果模型 6实验指南 6.1数据集 6.2code 6.3实验 7结论 参考 编码 1.自编码器(AE)&#xff1a; 2.去噪自编码器(DAE) 3.变分自编码器VAE 4.去耦变分自编码 文章…

复旦MBA父女“接力”,圆梦复旦|校友故事

父亲&#xff1a;钱一&#xff0c;2006级复旦MBA校友      女儿&#xff1a;钱盈&#xff0c;2017级财务管理本科&#xff0c;金融硕二年级在读      在管院的众多校友中&#xff0c;有这样一对父女&#xff1a;2006年&#xff0c;父亲钱一考上了复旦MBA&#xff0c;每…

node基于springboot 口腔卫生防护口腔牙科诊所管理系统

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 JAVA简介 4 2.2MyEclipse环境配置 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 2.5 SPRINGBOOT框架 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.…

Hadoop配置文件常用配置-Yarn容器调度策略配置

Yarn资源调度 当同时向Yarn集群提交多个Job任务时&#xff0c;Yarn可以对任务进行资源&#xff08;CPU、MEMORY&#xff09;隔离。 容器调度策略是Yarn默认的调度策略&#xff0c;容器调度策略把整个集群资源划分成队列来管理&#xff0c;默认有一个root根队列&#xff0c;下…

聚类-理论补充

目录 一。聚类的定义 二。相似度/距离计算方法总结 1.闵可夫斯基距离Minkowski/欧式距离 2.杰卡德相似系数(Jaccard) 3.余弦相似度(cosine similarity) 4.Pearson相似系数 5.相对熵(K-L距离) 6.Hellinger距离 三。聚类的基本思想 四。k-Means算法 五。对k-Means的思…

图像显著性目标检测

一、概述 1、定义 图像显著性检测(Saliency Detection,SD)&#xff0c; 指通过智能算法模拟人的视觉系统特点&#xff0c;预测人类的视觉凝视点和眼动&#xff0c;提取图像中的显著区域(即人类感兴趣的区域)&#xff0c;可以广泛用于目标识别、图像编辑以及图像检索等领域&am…

从0到1一步一步玩转openEuler--19 openEuler 管理服务-特性说明

文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明 19.1 更快的…

结合实例,直观理解正态分布、卡方分布、t分布、F分布和对应的Z检验、卡方检验、t检验、F检验

1 正态分布与Z检验 1.1 理论 Z检验的目的是为了验证&#xff1a;已知一个总体服从均值&#xff0c;方差的正态分布&#xff0c;现在有一些样本&#xff0c;这些样本所代表的总体的均值是否为。 则构建一个统计量Z&#xff0c; &#xff08;1&#xff09; 式中&#xff0c;为…

2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了

2023第10届生物发酵展3月30-4月1号山东济南开展&#xff0c;参观路线来了&#xff01;展会时间&#xff1a;2023年3月30日-4月1日展馆地址&#xff1a;山东国际会展中心&#xff08;济南市槐荫区日照路1号&#xff09;展馆&#xff1a;4号馆、5号馆BIO CHINA生物发酵展&#xf…

Python|每日一练|栈|递归|散列表|数组|回溯|单选记录:重排链表|编写Python程序实现素数处理的功能| 全排列

1、重排链表&#xff08;栈&#xff0c;递归&#xff09; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内…

vue中debug调试node_modules的代码

适用于想调试webpack-dev-server&#xff08;第三方模块&#xff09;里的代码&#xff0c;在代码里打印console.log无效的情况。 我用的idea&#xff0c;配置如下&#xff1a; 一、idea配置vue项目启动 1、 主入口js配置&#xff1a;node_modules\vue\cli-service\bin\vue-c…

wine学习笔记

目前 wine 版本为较为稳定的 8.0 版本&#xff0c;本文也是重点围绕 wine 8.0 安装、使用以及 wine 工具介绍等方面进行了学习和整理。 一、安装 wine 1. 如果你使用的是 64 位系统&#xff0c;需要先开启 32 bit 架构支持&#xff1a; $ sudo dpkg --add-architecture i386…

【Kubernetes】第四篇 - k8s 集群环境搭建

一&#xff0c;前言 前两篇&#xff0c;购买了 3 台阿里云服务器并完成了 ci-server 构建服务器的环境安装与配置&#xff1b; 三台服务器规划如下&#xff1a; 服务配置内网IP外网IP说明ci-server2c4g172.17.178.104182.92.4.158Jenkins Nexus Dockerk8s-master2c4g172.1…