QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

NLP 文本分类缺少训练数据?IBM 提出基于语言模型的数据增强新方法

  • 2019-11-15
  • 本文字数:1652 字

    阅读完需:约 5 分钟

NLP文本分类缺少训练数据?IBM提出基于语言模型的数据增强新方法

VentureBeat消息,IBM Research 的研究人员在近期发表的一篇论文中,提出了一种文本分类任务的数据扩充新方法。该方法被研究人员称为基于语言模型的数据增强(LAMBADA),原理是使用一个预先训练过的机器学习模型来合成文本分类任务所需要的标记数据。IBM 研究人员声称,LAMBADA 可以提高分类器在各种数据集上的性能,并显著地改进了数据扩充的最新技术,特别是那些适用于数据很少的文本分类任务的技术。



文本分类是 NLP 中的一个基础研究领域。它包含有很多其他的任务,比如意图分类、情感分析、话题分类、关系分类等。想要为分类器模型获得一个良好的拟合,需要大量的标记数据。然而,在很多情况下,尤其是在为特定应用开发人工智能系统时,带标签的数据往往是稀缺且昂贵的。


那么,怎样才能拥有足够多且可供深度学习模型训练用的数据呢?


IBM 研究人员在近期发表的一篇论文中给出了一个有些“特别”的答案。

预训练模型是解决文本数据扩充的新途径?

当数据不足时,数据扩充是处理该情况的常用策略,它从现有的训练数据中合成新的数据,借此提高下游模型的性能。然而扩充训练数据在文本领域往往比在视觉领域更具挑战性。


文本数据扩充时,所采用的通常方法(如:用同义词替换单个单词、删除一个单词、改变词序等),往往会使文本无效或者产生歧义,在语法和语义上都有可能出现错误。


对此,IBM 研究人员表示:尽管在这种情况下通过使用深度学习方法来改善文本分类看起来有些自相矛盾,但预训练模型为解决该任务开辟了新途径。


IBM 研究人员在近期的论文中提出了一种新的方法——基于语言模型的数据扩充(LAMBADA)。该方法可以用于综合标记数据,进而改进文本分类任务。研究人员声称,当只有少量标记数据可用时,LAMBADA 的表现非常优秀。


据了解,LAMBADA 利用了一个生成模型(OpenAI 的 GPT),它预先训练了大量的文本,使自身能够捕获语言的结构,从而产生连贯的句子。研究人员会在现有的小数据集上对模型进行微调,并使用微调后的模型合成新的标记句。再然后,研究人员会在相同的原始小型数据集上训练分类器,并让它过滤合成数据语料库,只保留那些看起来“足够定性”的数据,然后在“现有的”以及“合成后的数据”上重新训练分类器。

测试结果

IBM 研究人员使用三种不同的分类器(BERT、LSTM、SVM)将 LAMBADA 方法与 Baseline 进行比较,同时也对比了在训练样本数量不同的情况下分类器的表现(每个类别分别为 5、10、20、50 和 100)。



为了进一步验证结果的准确性,IBM 的研究人员在 5 个样本的前提下,将 Baseline 与 LAMBADA 在三个数据集(ATIS、TREC、WVA)和三个分类器(每个类别使用五个样本)进行了比较,并得到下面的数据。



Airline Travel Information Systems (ATIS)

提供有关语言理解研究中广泛使用的与飞行有关的信息的查询的数据集。 由于大多数数据属于航班类别,因此 ATIS 被描述为不平衡数据集。

Text Retrieval Conference (TREC)

信息检索社区中用于问题分类的著名数据集,由基于事实的开放域问题组成,分为广泛的语义类别。

IBM Watson Virtual Assistant (WVA) 

用于意图分类的商业数据集,包括来自电信客户支持聊天机器人系统的数据。


接下来,研究人员又将 LAMBADA 与其他的数据扩充方法进行了比较。结果显示,LAMBADA 的测试结果明显优于 ATIS 和 WVA 数据集中的其他生成算法。


在带有 BERT 分类器的数据集中,LAMBADA 的测试结果明显优于其他方法;在带有 SVM 分类器的 TREC 数据集上,LAMBADA 的测试结果与 EDA 相当;在具有 LSTM 分类器的 TREC 数据集,LAMBADA 的测试结果与 CVAE 相当。


总结

“LAMBADA 不需要额外的未标记数据……令人惊讶的是,与简单的弱标记方法相比,对于大多数分类器来说,LAMBADA 实现了更好的准确性,”IBM 研究人员在论文中写道。“显然,生成的数据集比从原始数据集提取的样本更有助于提高分类器的准确性。”


总而言之,LAMBADA 的作用主要体现在三个方面:


  1. 统计上提高分类器的准确性。

  2. 在缺乏数据的情况下,性能优于最先进的数据扩充方法。

  3. 当不存在未标记的数据时,建议使用一种更令人信服的方法替代半监督技术。


2019-11-15 18:453383
用户头像
张之栋 前InfoQ编辑

发布了 91 篇内容, 共 50.7 次阅读, 收获喜欢 159 次。

关注

评论

发布
暂无评论
发现更多内容

计算机网络的组成

StackOverflow

编程 计算机网络 9月月更

查看k8s的etcd数据

程序员欣宸

Kubernetes 9月月更

Java进阶(五)Junit测试

No Silver Bullet

JUnit 测试 单元测试 9月月更

数字化转型和信息化的区别是什么?

雨果

数字化转型 企业信息化

[教你做小游戏] 滑动选中!PC端+移动端适配!完美用户体验!斗地主手牌交互示范

HullQin

CSS JavaScript html 前端 9月月更

库调多了,都忘了最基础的概念-《方法篇》

知识浅谈

9月月更

如何使用Postman调试HMS Core推送接口?

HarmonyOS SDK

移动推送

蒙特卡洛方法与蒙特卡洛搜索树(一)

Joshua

机器学习 算法 蒙特卡洛

【iOS逆向】某营业厅算法分析

小陈

「趣学前端」骨架屏,分享一波前端UI组件开发的经验

叶一一

JavaScript 前端 组件 9月月更

LeetCode-27. 移除元素(java)

bug菌

9月日更 Leet Code 9月月更

阿里云林小平:如何实现资源高效运维及成本分析

阿里云弹性计算

运维 资源管理

C语言_1 背景,和Hello world

泾箐

c 9月月更

Containerd ctr、crictl、nerdctl 实战

CTO技术共享

致敬经典!这款华为主题能让你的手机秒变“历代Mate”

最新动态

《小米创业思考》之一:小米历程

郭明

读书笔记

1分钟了解什么是数据湖?标准的数据湖什么样?

雨果

数据湖

LeetCode-28. 实现strStr()(java)

bug菌

9月日更 Leet Code 9月月更

云原生的学习心得

Geek_e8bfe4

云原生(三十六) | Kubernetes篇之Harbor入门和安装

Lansonli

云原生 9月月更

YAML管理Kubernetes应用

CTO技术共享

真的破防了!在华为主题熄屏显示找到我的第一台Mate

最新动态

Linux系统安装配置jdk

Centos 7 jdk8 9月月更

产品需求文档必须消亡

ShineScrum

Scrum 敏捷 产品开发 PRD

P8大佬私藏的:微服务与分布式系统实践详解,YYDS!

程序知音

Java 分布式 SpringCloud 后端技术 微服务架构师

生产环境中使用 Linkerd

CTO技术共享

自动化测试如何管理测试数据

老张

自动化测试

随机生成也是需要有效控制的

zxhtom

9月月更

NFT数字藏品介绍:NFT数字藏品(交易平台)系统开发

开源直播系统源码

区块链 NFT 数字藏品 数字馆藏

Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法

共饮一杯无

Java 9月月更 URL和URI

NLP文本分类缺少训练数据?IBM提出基于语言模型的数据增强新方法_AI&大模型_张之栋_InfoQ精选文章