DAGA : 基于生成方法的低资源标记任务数据增强 精读笔记

文章目录

  • DAGA : 基于生成方法的低资源标记任务数据增强 精读笔记
    • 1 Introduction
    • 2 Background
      • Name Entity Recognition
      • Part-of-Speech (POS) Tagging
      • Target Based Sentiment Analysis
    • 3 Proposed Method
      • 3.1 Labeled Sentence Linearization
      • 3.2 Language Modeling
      • 3.3 Generation
      • 3.4 Post-Processing
      • 3.5 Conditional Generation
    • 4 Experiments
      • 4.1 Basic Models
        • Language Model
        • Sequence Tagging Model
      • 4.2 Supervised Experiments
        • 4.2.1 Named Entity Recognition
        • 4.2.2 Part of Speech Tagging
        • 4.2.3 Target Based Sentiment Analysis
      • 4.3 Semi-supervised Experiments
    • 5 A Closer Look at Synthetic Data
    • Conclusion

​ 这篇文章之前已经仔细读过一遍,也写过 阅读笔记,但是回想起来还有很多细节没有注意到,学了一些相关知识之后回来再看一遍

1 Introduction

​ 为解决大量注释数据的需求,在计算机视觉和语音领域中,数据增强技术被广泛用于生成合成数据。计算机视觉与语音的数据增强技术中使用的旋转、裁剪、遮蔽等人工规则虽然能应用于转换原始数据,但在语言领域,这些规则不再适用。原因是在语言领域中,上述人工规则带来的小失真可能会完全改变句子的含义
​ 在语言领域,以下几类数据增强方法取得了一定效果

  • 回译法
  • 同义词替换;随机交换、删除、插入;使用VAE或预训练语言模型(主要用于翻译和分类任务)
  • 弱标记器注释;对齐的双语语料库诱导注释;同义词替换(可用于序列标记任务)

​ 但是对于低资源条件下的序列标记任务,上述方法仍存在着不少问题

  • 弱标记器需要域内知识和域内数据,否则可能出现域移位问题
  • 双语语料库很可能不适用于低资源语言
  • 同义词替换依赖的额外知识对低资源语言很可能不适用

​ 本文针对序列标记任务,研究基于生成方法的数据扩充。方法具体步骤如下图:

​ 方法先将句子与标记线性化,然后使用线性化的数据训练语言模型(LM),随后使用模型生成合成标记数据。

​ 这个方法有以下特点:

  • 统一了句子生成和语言模型标记的过程,即生成数据时,单词与标记同时生成
  • 不需要额外资源,但是可以灵活利用未标记数据和知识库等资源

2 Background

Name Entity Recognition

命名实体:文中的人名、组织、地点等

命名实体识别:定位文中的命名实体并分类

难点:NER训练数据量有限

Part-of-Speech (POS) Tagging

词性标注:为给定句子中的每一个词分配一个语法标记

难点:在低资源语言和罕见词上准确率显著降低

Target Based Sentiment Analysis

基于目标的情绪分析:检测句子中的观点目标,预测在目标上的情绪极性

3 Proposed Method

3.1 Labeled Sentence Linearization

方法:句子与标签线性混合,把标签插入到相应的单词前,将标签视为单词的修饰词

目的:使语言模型可以学习源数据中单词和标签的分布

3.2 Language Modeling

方法:RNNLM网络结构:嵌入层、丢弃层、LSTM层、丢弃层、线性层加归一化函数激活

3.3 Generation

方法:输入[BOS]符号,然后使语言模型按照概率自动生成后续序列

3.4 Post-Processing

方法:

  • 删除没有标记的句子
  • 删除所有单词为[unk]的句子
  • 删除标签前缀顺序不合理的句子
  • 删除包含相同单词序列但是标签不同的句子

目的:删除明显不合理不正确的生成数据

3.5 Conditional Generation

方法:在序列的开头加上条件标记[labeled]、[unlabeled]和[KB],KB标记表示与知识库匹配的数据。

目的:充分利用可用的未标记数据和知识库,允许语言模型学习序列之间的共享信息。同时在生成时

4 Experiments

4.1 Basic Models

Language Model

语言模型的参数设置:

  • LSTM隐藏层状态:512
  • 嵌入层:300
  • 丢弃层丢弃率:0.5
  • 损失函数:随机梯度下降
  • 学习率:初始为1,如果开发集的混淆度没有改善,学习率下降1/2
  • 批量大小:32
  • 最大轮数:30
  • 早停:如果混淆度连续三轮没有改善,停止训练
Sequence Tagging Model

标注模型的参数设置:

  • LSTM隐藏层状态:512
  • 丢弃层丢弃率:0.5
  • 损失函数:随机梯度下降
  • 学习率:初始为1,如果开发集的混淆度没有改善,学习率下降1/2;如果学习率降至1e-5以下,停止训练
  • 批量大小:32
  • 最大轮数:100
  • 早停:如果混淆度连续三轮没有改善,停止训练

4.2 Supervised Experiments

在三个标记任务上评估,使用随机删除作基线,其中训练数据中5%的单词和相应标签被随机删除。

具体方法如下表

方法描述
gold 只用源数据
gen 本文方法,使用语言模型生成合成数据,并对源数据进行过采样
rd 通过随机删除生成合成数据,并以gen方法相同的比例对源数据进行过采样
rd* 与rd相近,但是源数据和合成数据等比例采样
4.2.1 Named Entity Recognition

数据集:使用四种语言对CoNLL2002/2003 NER数据进行评估,同时对泰语、越南语的NER数据进行了评估。

实验设置:为了在所有数据上评估本文方法,对所有语言采样1k、2k、4k、6k和8k语句,以验证方法在低资源设置下的鲁棒性。对于语言模型生成的每1000个句子,测量前一批中出现的新标记的百分比,如果比例超过99%,停止数据生成,然后进行数据处理并添加到源数据中用于标记训练。对于rd和gen方法,通过在训练集中重复4次打乱次序来对源数据进行过采样。

结果和分析

对所有语言都显示出一致的性能改进。特别是对于较小的采样集,我们的方法显示出更显著的性能改进。

标签前置 VS 后置:在进行句子线性化时有两种策略:在相应单词前或单词后插入标记。在实验中测试,发现在单词前插入标记的方式在NER任务中表现优于在单词后插入标记。一个可能的原因是,修饰词在名词前充当修饰的模式在语言模型中更常见,这种方式与修饰名词的方式一致,故表现更优。

4.2.2 Part of Speech Tagging

4.2.3 Target Based Sentiment Analysis

4.3 Semi-supervised Experiments

主要在测试方法对知识库和未标注数据的使用能力,此处不再赘述

5 A Closer Look at Synthetic Data

通过观察这种方法生成的合成数据的特点,总结其提高序列标记性能的原因:

多样性:源数据中,“Sandrine”总是与“Testud”成对出现,但在生成数据中,可以看到生成了新的名称,如“Sandrine Nixon”、“Sandrin Okuda”和“Sandrinne Neuumann”。同时句子中的位置被更换为不同的地点,这使得模型可以学习实体的上下文关系,而非简单地把“Sandrine Testud”记为人名,将“France”记为地点。

有效利用未标记数据:在源数据中并未出现“Alabama”一词。这个词来源于未标记数据,而语言模型发现该词出现位置与其他位置词较为相似,故生成合成数据时,语言模型通过上下文信息对该词进行了使用,甚至使用该词创建了不存在于任何训练数据中的新实体“Bank of Alabama”。

Conclusion

本文证明了语言模型可以用于为序列标记任务生成高质量的合成数据。生成的数据因为不在源数据上修改,引入了更多的多样性,减少过拟合。该方法在各种标记任务上特别是在低资源条件下表现出了很好的性能改进。

DAGA : 基于生成方法的低资源标记任务数据增强 精读笔记相关推荐

  1. R语言ggplot2可视化:使用geom_smooth函数基于lm方法为每个分组的部分数据(subset data)拟合趋势关系曲线、对指定范围的数据拟合曲线

    R语言ggplot2可视化:使用geom_smooth函数基于lm方法为每个分组的部分数据(subset data)拟合趋势关系曲线.对指定范围的数据拟合曲线 目录

  2. 调研-笔记-基于生成对抗网络的恶意域名训练数据生成

    DGA 域名字符生成模型 域名字符分析 问题:理论上 GAN 中的生成器和判别器部分采用任意可微函数都能表示,因此其主要用于连续数据的处理,如图像生成.视频检测等[13].基于文本的离散数据处理一直是 ...

  3. 一种单独适配于NER的数据增强方法:DAGA

    链接:http://www.elecfans.com/d/1468784.html 本文首先介绍传统的数据增强在NER任务中的表现,然后介绍一种单独适配于NER的数据增强方法,这种方法生成的数据更具丰 ...

  4. 恒源云(GPUSHARE)_语音识别与语义处理领域之低资源机器翻译综述

    文章来源 | 恒源云社区 原文地址 | 低资源机器翻译综述 原文作者 | 角灰 摘要 神经机器翻译效果非常好,但需要大量的平行语料,因此有了低资源翻译的研究. 本文按照按数据的利用对低资源翻译分为3类 ...

  5. 基于APMSSGA-LSTM的容器云资源预测

    基于APMSSGA-LSTM的容器云资源预测 谢晓兰1,2, 张征征1, 郑强清1, 陈超泉1 1 桂林理工大学信息科学与工程学院,广西 桂林 541004 2 广西嵌入式技术与智能系统重点实验室,广 ...

  6. 常用图像数据集原始数据(.png或.jpg格式)生成方法

    引言 在计算机视觉方面的工作,我们常常需要用到很多图像数据集.像ImageNet这样早已大名鼎鼎的数据集,我等的百十个G的硬盘容量怕是怎么也承载不下:本文中,将给出一些Hello world级的图像数 ...

  7. NLP中的数据增强方法综述

    论文链接:A Survey of Data Augmentation Approaches for NLP 摘要 由于越来越多的研究在低资源领域.新任务和需要大量训练数据的大规模神经网络中,NLP中的 ...

  8. ICCV2021 Oral SimROD:简单高效的数据增强!华为提出了一种简单的鲁棒目标检测自适应方法...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨小马 来源丨我爱计算机视觉 ▊ 写在前面 本文提出了一种简单有效的鲁棒目标检测无监督自适应方法( ...

  9. 计算机视觉数据增强方法汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言: 在计算机视觉方向,数据增强的本质是人为地引入人视觉上的先验知识,可以很好地提升模型的性能,目前 ...

最新文章

  1. MASQUERADE --random 端口不随机
  2. KDD 2019高维稀疏数据上的深度学习Workshop论文汇总
  3. Spring Boot特性
  4. Linux桌面版横评:三、Fedora 7 Live
  5. elasticsearch的join查询
  6. 从 6 万用户评论中,选出这 23 门全世界最好的 CS 免费课
  7. 2018年,牛客网小白月赛5
  8. 荣耀赵明评苹果发布会掉队5G:意料之中 情理之外
  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(59)-BLL层重构
  10. php做购物商品库存解决方法
  11. 已解决Python爬虫网页中文乱码问题
  12. ThinkPHP 手册摘录之(跨模块)调用
  13. 如何引入iconfont字体图片和网页标题logo
  14. NTFS删除及恢复分析
  15. 光学心率传感器工作原理
  16. java camel exchange类_让Camel处理各种URI类型
  17. nc文件分解为tiff文件
  18. 如何是音乐再ios展台
  19. 致远OA表单自定义函数(计算N年后今天的日期 )
  20. laravel服务容器-----深入理解控制反转(IoC)和依赖注入(DI)

热门文章

  1. 前端与后端 的区别,一图恍然大悟!
  2. 【js】js将数值转为万,亿,万亿并保留两位小数
  3. 香港服务器适合的网站,香港服务器优势是什么?
  4. php sqlserver 中文,php链接sqlserver中文乱码怎么办?
  5. OpenGL几种绘制方式
  6. Java 生成订单号或唯一id(高并发)方案
  7. 《绝地求生大逃杀》BE错误怎么办 BE服务未正常运行及安装失败解决方法
  8. ubuntu连不上网解决
  9. kettle工具实现数据清洗
  10. 如何高效快速的项目开发