点击上方,选择星标置顶,每天给你送干货!


文 | JayLou娄杰

源 | 高能AI

把没有标注的数据利用起来!不浪费未标注数据,是算法工程师的一种“必备技能”!

低资源少样本NLP问题是JayJay比较关注的一个方向,说白了就是一个问题:标注样本少怎么办?而半监督学习就是解决这一问题的一个重要手段。

半监督学习在CV领域早已经“大显身手”,而在NLP领域的应用却不太多。此外,随着BERT等预训练模型的强大,本质上也缓解了少样本问题。而BERT如果能和其他机器学习方法(如:半监督学习 或 主动学习 等)结合起来,或许少样本问题的增益会更加明显。

本文JayJay介绍一篇来自ACL20的paper《MixText: Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification》。

论文下载地址:https://arxiv.org/pdf/2004.12239

论文开源地址:https://github.com/GT-SALT/MixText

MixText主要针对的是半监督文本分类场景,其主要的亮点有:

  1. 提出一种全新文本增强方式——TMix,在隐式空间插值,生成全新样本。

  2. 对未标注样本进行低熵预测,并与标注样本混合进行TMix。MixText可以挖掘句子之间的隐式关系,并在学习标注样本的同时利用无标注样本的信息。

  3. 超越预训练模型和其他半监督方法, 在少样本场景下表现卓越!

本文的组织结构为:

1、回顾:半监督文本分类有哪些方法?

数据为王,数据是深度学习时代的“煤油电”。虽然标注数据获取昂贵,但半监督学习可以同时标注数据和未标注数据,而未标注数据通常很容易得到。

总的看,半监督文本分类可分为以下4种:

  • 变分自编码VAE:通过重构句子,并使用从重构中学到的潜在变量来预测句子标签;

  • 自训练:通过self-training的方式,让模型在未标注数据上生成高置信度的标签;

  • 一致性训练:通过 对抗噪声 或者 数据增强 的方式对未标注数据进行一致性训练;

  • 微调预训练模型:在大规模无标注数据上进行预训练,在下游标注数据上微调;

也许你会问,一致性训练是啥?我们这里补充介绍2种半监督深度学习利用未标注数据的训练方式:

1、熵最小化:根据半监督学习的Cluster假设,决策边界应该尽可能地通过数据较为稀疏的地方(低密度区),以能够避免把密集的样本数据点分到决策边界的两侧。也就是模型通过对未标记数据预测后要作出低熵预测,即熵最小化:

2、一致性训练:对于未标记数据,希望模型在其输入受到扰动时产生相同的输出分布。即:

上述介绍的4种半监督文本分类方式有一个不足之处:就是分开利用标注数据和未标注数据,没有在二者之间直接建立联系。大多数半监督模型仍然会在小标注样本上过拟合。

2、TMix:新颖的文本数据增强方式

Mixup是图像领域常见的一种数据增强方式,其方式非常简单,如上图所示:可直接在像素级别上进行插值,公式如下(其中为图像输入,为标签one-hot向量):

由于文本的输入是离散的,因此不能直接输入层直接进行Mixup。所以作者提出了一种在隐空间进行插值的方法——TMix,如下图所示。

TMix理解起来也是相当简单,其在BERT编码层进行隐空间插值,相比于直接在输入层进行Mixup,TMix的数据增强的空间范围更加广阔。

需要特别指出的是,从Beta分布进行采样得到:

3、MixText的计算流程

MixText的计算流程如上图所示,其共分为三步:

第1步:对未标注数据进行增强:采用未标注数据采取回译方式进行次增强生成;

第2步:对未标注数据进行标签预测:将原始未标注数据和增强后的未标注数据一同喂入到当前模型中,通过平均加权的方式对未标注数据进行预测:

由于预测出的“伪标签”分布相对平坦,论文也采取了Sharpen操作:使得“伪”标签熵更低,即猫狗分类中,要么百分之九十多是猫,要么百分之九十多是狗。Sharpen操作在CV中也应用很广泛啦:

第3步:对标注数据和未标注数据一同进行TMix:将所有数据(有标注,原始未标注,增强后的未标注)混合在一起生成,然后随机选择2个样本和进行TMix,然后通过KL散度计算损失:

当来源不同时,上述损失代表不同的意义:

  • 当x来自标注数据时,主要利用信息来自有标注数据,因此模型损失为有监督损失。

  • 当x来自未标注数据时,主要利用信息来自未标注数据,因此模型损失为一致性训练损失。

JayJay的一个小疑问:主要信息来源于 标注数据 还是 未标注数据,其实主要应该取决于TMix的值是多少,论文这里描述似乎不太恰当。

值得注意的是:在CV领域论文MixMatch[1]中,数值大部分落在0或1附近,因此其主要利用来自而不是。

4、MixText表现如何?

论文最后在4个数据集上,将MixText与BERT和其他半监督方法进行了对比(如上图),可以看出:

  • MixText在各个数据集上超越了之前的半监督SOTA——谷歌的UDA方法;

  • MixText在不同标注数据量均取得最高指标,标注数据越少,指标增益越明显;

  • 仅仅利用标注数据的TMix方法也超越了BERT。

此外,作者还对比在仅有10条标注数据时、利用不同的未标注数据量时MixText的表现,如上图所示:随着未标注数据的增加,指标也不断提升!

总结

本文介绍的MixText展示了最强的半监督分类性能!其不仅仅合并了未标记数据,而且通过TMix建立了标注数据和未标注数据之间的隐式关系,同时对未标注数据也有较好的标签预测能力。

在小样本场景下,通过MixText充分利用大量的未标注数据,可以带来显著的指标增益!此外,一般情况下,半监督学习只会增加训练时间,而不会增加推断时间哦

因此,NLPer:不要浪费你的未标注数据,赶紧利用、操练起来吧!

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!

参考资料

[1]

MixMatch: A Holistic Approach to Semi-Supervised Learning: https://www.sciencedirect.com/science/article/abs/pii/S09574174https://arxiv.org/pdf/1905.02249.pdf

不要浪费没有标注的数据!超强文本半监督方法MixText来袭!相关推荐

  1. 超强文本半监督方法MixText

    低资源少样本NLP问题是JayJay比较关注的一个方向,说白了就是一个问题:标注样本少怎么办?而半监督学习就是解决这一问题的一个重要手段. 半监督学习在CV领域早已经"大显身手", ...

  2. 【论文解读 ACL 2020 | MixText】Linguistically-Informed Interpolation of Hidden Space for 半监督文本分类

    论文题目:Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification 论 ...

  3. 用于半监督语义分割的基于掩码的数据增强

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯.小白决心每天为大家 ...

  4. 医学影像半监督分割--基于数据扰动

    从医学影像中分割出相应的组织,在临床应用中起着至关重要的作用.近年来,深度学习在在图像分割方面获得了巨大的成功,第一个图像分割的网络就是经典的U-Net模型,后续的图像分割的网络基本都是在此基础上进行 ...

  5. 数据标注基础知识:文本数据标注的类型及应用场景

    目录 一.文本数据标注的类型 二.文本数据标注的基本流程 三.文本数据标注应用场景 (1)新零售行业: (2)客服行业: (3)广告行业: (4)金融行业 自然语言处理是指用计算机对自然语言信息进行处 ...

  6. NLP实战-基于弱标注数据的文本分类

    目录 分析现有数据 解决方案 初始语料集构建 特征选择过滤语料 1.词频逆文档评率 2.信息增益 3.卡方检验 训练模型 缺失标签数据处理 总结 最近在做CSDN文库标签的分类,文库的数据比博客数据要 ...

  7. 【Linux 笔记】Linux 基本操作 - 04. 利用SRA数据实践文本处理

    [Linux 笔记]Linux 基本操作 - 04. 利用SRA数据实践文本处理 10. 文本处理实践 基本操作 grep 筛选数据(行) cut 和 awk 操作数据(列) sort 常用参数总结 ...

  8. 达观数据:文本大数据的机器学习自动分类方法

    随着互联网技术的迅速发展与普及,如何对浩如烟海的数据进行分类.组织和管理,已经成为一个具有重要用途的研究课题.而在这些数据中,文本数据又是数量最大的一类.文本分类是指在给定分类体系下,根据文本内容自动 ...

  9. 基于结构化数据的文本生成:非严格对齐生成任务及动态轻量的GCN生成模型

    作者|邴立东.程丽颖.付子豪.张琰等 单位|阿里巴巴达摩院.香港中文大学等 摘要 基于结构化数据生成文本(data-to-text)的任务旨在生成人类可读的文本来直观地描述给定的结构化数据.然而,目前 ...

  10. 基于主动学习算法减少人工标注量,提升文本标注效率的方案探究

    基于主动学习算法减少人工标注量,提升文本标注效率的方案探究 阅读 451 收藏 23 2018-06-26 原文链接:yq.aliyun.com OPPO技术开放日第三期,未来的探索 · AI& ...

最新文章

  1. Spring 捕捉校验参数异常并统一处理
  2. 12306订票候补是个坑_加30元就能抢到火车票?12306这个功能更靠谱!今起可买除夕火车票,抢票高峰来了...
  3. java 反查域名_C段查询雏形之在Java中反查一个IP上的所有域名(旁站查询)
  4. ADO.NET Entity Framework 深入分析, Part 5
  5. 东北大学计算机 大一物理考试题,东北大学大学物理期末考题及答案Word版
  6. MATLAB字符串和ASCII码的转换
  7. 程序员面试金典 - 面试题 05.01. 插入(位运算)
  8. @requestbody和@requestparam作用
  9. ECMAScript 6中的Set和Map数据结构
  10. 一位JAVA程序员的七夕情书——致未来的另一半
  11. 微信小程序------开发测试
  12. Win10安装Ruby
  13. 构建WebIM聊天程序
  14. Java类的声明详解
  15. ddos应急处理_DDOS攻击应急响应预案
  16. html页面批量打印EMS快递单,如何批量打印快递单/电子面单?
  17. 陆琪:年薪十万凭什么不能开…
  18. 【Vegas原创】“光驱无法访问,函数不正确”解决方法
  19. android 获取build,分析,读取 android build.prop
  20. PDF文件不能编辑,有什么办法能够解决?

热门文章

  1. Hive中数据的导入与导出
  2. [Swift]LeetCode229. 求众数 II | Majority Element II
  3. linux shell学习-1
  4. numpy提供的快速的元素级数组函数
  5. python基础(set)补充
  6. codeforces gym 100187M Heaviside Function
  7. DotNetBar 5.9 with Office 2007 style controls Released,Are you ready? cracked perfectly!
  8. 【vscode】vscode + vue项目实战记录
  9. 【react】---组件传值的介绍
  10. Linux命令行操作基础练习