文本分类任务是NLP领域最常见、最基础的任务之一,顾名思义,就是对给定的一个句子或一段文本进行分类。文本分类在互联网、金融、医疗、法律、工业等领域都有广泛的应用,例如文章主题分类、商品信息分类、对话意图分类、论文专利分类、邮件自动标签、评论正负倾向识别、投诉事件分类、广告检测以及敏感违法内容检测等,这些应用场景全部都可以抽象为文本分类任务。但如何进行技术方案选型、如何进行模型调优、如何解决少样本等问题,使很多开发者望而却步,迟迟难以上线。

近日,PaddleNLP针对以上工业落地中种种常见问题,开源了一整套文本分类场景方案,接下来我们将详细解读其技术特色:

  • 方案全覆盖:涵盖文本分类高频场景,开源微调、提示学习、基于语义索引多种分类技术方案,满足不同文本分类落地需求;

  • 模型高效调优:强强结合数据增强能力与可信增强技术,解决脏数据、标注数据欠缺以及数据不平衡等问题,大幅提升模型效果;

  • 产业级全流程:打通数据标注-模型训练-模型调优-模型压缩-预测部署全流程,助力开发者简单高效地完成文本分类任务。

STAR收藏,跟踪最新功能

项目地址:

https://github.com/PaddlePaddle/PaddleNLP

图:PaddleNLP文本分类详细文档介绍

特色一:方案全覆盖

图:三类文本分类场景

如上图,根据任务类别定义,可以将文本分类划分为二分类/多分类、多标签、层次分类三类场景。PaddleNLP基于多分类、多标签、层次分类等高频分类场景,提供了预训练模型微调、提示学习、语义索引三种端到端全流程分类方案:

方案一:预训练模型微调

预训练模型微调是目前NLP领域最通用的文本分类方案。预训练模型与具体的文本分类任务的关系可以直观地理解为,预训练模型已经懂得了通用的句法、语义等知识,采用具体下游任务数据微调训练可以使得模型”更懂”这个任务,在预训练过程中学到的知识基础可以使文本分类效果事半功倍。

图:模型精度-时延图

在预训练模型选择上,ERNIE 系列模型在精度和性能上的综合表现已全面领先于 UER/RoBERTa、Huawei/TinyBERT、HFL/RBT、RoBERTa-wwm-ext-large等中文模型。PaddleNLP开源了如下多种尺寸的ERNIE系列预训练模型,满足多样化的精度、性能需求:

  •  ERNIE 1.0-Large-zh-CW(24L1024H)

  •  ERNIE 3.0-Xbase-zh(20L1024H)

  •  ERNIE 2.0-Base-zh  (12L768H)

  •  ERNIE 3.0-Base    (12L768H)

  •  ERNIE 3.0-Medium (6L768H)

  •  ERNIE 3.0-Mini (6L384H)

  •  ERNIE 3.0-Micro (4L384H)

  •  ERNIE 3.0-Nano (4L312H)

  •  … …

除中文模型外,PaddleNLP 也提供ERNIE 2.0英文版、以及基于96种语言(涵盖法语、日语、韩语、德语、西班牙语等几乎所有常见语言)预训练的多语言模型ERNIE-M,满足不同语言的文本分类任务需求。

方案二:提示学习

提示学习(Prompt Learning)适用于标注成本高、标注样本较少的文本分类场景。在小样本场景中,相比于预训练模型微调学习,提示学习能取得更好的效果。提示学习的主要思想是将文本分类任务转换为构造提示(Prompt)中掩码的分类预测任务,使用待预测字的预训练向量来初始化分类器参数,充分利用预训练语言模型学习到的特征和标签文本,从而降低样本量需求。PaddleNLP集成了R-Drop 和 RGL 等前沿策略,帮助提升模型效果。

图:预训练模型微调 vs 提示学习

如下图,在多分类、多标签、层次分类任务的小样本场景下,提示学习比预训练模型微调方案,效果上有显著优势

方案三:语义索引

基于语义索引的文本分类方案适用于标签类别不固定、或大规模标签类别的场景。在新增标签类别的情况下,无需重新训练模型。语义索引的目标是从海量候选召回集中快速、准确地召回一批与输入文本语义相关的文本。基于语义索引的文本分类方法具体来说是将标签集作为召回目标集,召回与输入文本语义相似的标签作为文本的标签类别,尤其适用于层次分类场景。

对预训练时代NLP任务入门感兴趣的小伙伴,可以扫码报名进群,获取PaddleNLP官方近期组织的直播链接,进群还可获得10GB NLP学习大礼包等超多福利~此外,课程中还将介绍数据增强、稀疏数据与脏数据挖掘等数据、模型调优策略,亲测好用,这部分是课程精华,非常推荐各位NLPer去学习交流。

接下来,我们来看如何进行数据、模型调优。

特色二:模型高效调优

有这么一句话在业界广泛流传,"数据决定了机器学习的上限,而模型和算法只是逼近这个上限",可见数据质量的重要性。PaddleNLP文本分类方案依托TrustAI可信增强能力和数据增强API开源了模型分析模块,针对标注数据质量不高、训练数据覆盖不足、样本数量少等文本分类常见数据痛点,提供稀疏数据筛选、脏数据清洗、数据增强三种数据优化策略,解决训练数据缺陷问题,用低成本方式获得大幅度的效果提升。

集可信分析和增强于一体的可信AI工具集-TrustAI,能够有效识别和优化NLP领域数据标注的常见问题,如『训练数据中存在脏数据阻碍模型效果提升』,『数据标注成本太高但又不清楚该标注什么数据』,『数据分布有偏导致模型鲁棒性差』等,TrustAI能帮助NLP开发者解决训练数据缺陷问题,用最小的标注成本获得最大幅度的效果提升。

可戳项目地址了解详情:

https://github.com/PaddlePaddle/TrustAI

策略一:稀疏数据筛选

基于TrustAI中可信增强方法挖掘待预测数据中缺乏训练集数据支持的数据(稀疏数据),然后使用特征相似度方法选择能够提供证据支持的训练数据进行数据增强,或选择能够提供证据支持的未标注数据进行数据标注,这两种稀疏数据筛选策略均能有效提升模型表现。

策略二:脏数据清洗

基于TrustAI的可信增强能力,采用表示点方法(Representer Point)计算训练数据对模型的影响分数,分数高的训练数据表明对模型影响大,这些数据有较大概率为脏数据(被错误标注的样本)。脏数据清洗策略通过高效识别训练集中脏数据,有效降低人力检查成本。

我们在多分类、多标签、层次分类场景中评测脏数据清洗策略,实验表明脏数据清洗策略对文本分类任务有显著提升效果。

策略三:数据增强

PaddleNLP内置数据增强API,支持词替换、词删除、词插入、词置换、基于上下文生成词(MLM预测)、TF-IDF等多种数据增强策略,只需一行命令即可实现数据集增强扩充。我们在某分类数据集(500条)中测评多种数据增强 策略,实验表明在数据量较少的情况下,数据增强策略能够增加数据集多样性,提升模型效果。

图:数据增强策略效果

特色三:产业级全流程

文本分类应用提供了简单易用的数据标注-模型训练-模型调优-模型压缩-预测部署全流程方案,方案流程如下图所示。

开发者仅需输入指定格式的数据,一行命令即可开启文本分类训练。对于训练结果不理想情况,分析模块提供了多种模型调优方案,解决文本分类数据难题。

对于模型部署上线要进一步压缩模型体积的需求,文本分类应用接入PaddleNLP 模型压缩 API 。采用了DynaBERT 中宽度自适应裁剪策略,对预训练模型多头注意力机制中的头(Head )进行重要性排序,保证更重要的头(Head )不容易被裁掉,然后用原模型作为蒸馏过程中的教师模型,宽度更小的模型作为学生模型,蒸馏得到的学生模型就是我们裁剪得到的模型。实验表明模型裁剪能够有效缩小模型体积、减少内存占用、提升推理速度。此外,模型裁剪去掉了部分冗余参数的扰动,增加了模型的泛化能力,在部分任务中预测精度得到提高。通过模型裁剪,我们得到了更快、更准的模型

表:模型裁剪效果

完成模型训练和裁剪后,开发者可以根据需求选择是否进行低精度(FP16/INT8)加速,快速高效实现模型离线或服务化部署。

百度飞桨PaddleNLP官方直播分享课程

10月27日-28日,两位百度高工将带来直播分享,详细解读预训练时代下的文本分类系统方案,数据增强与模型调优策略,推荐一波(定好闹钟哦,不确定是否有回放)~

*注:如果已经在前文扫码进群,无需重复操作。

扫码还可获得文本分类常用数据集、NLP学习大礼包等超多福利!

PaddleNLP项目地址:

GitHub: https://github.com/PaddlePaddle/PaddleNLP

TrustAI项目地址:

GitHub: https://github.com/PaddlePaddle/TrustAI

更多精彩直播

人工智能入行攻略:数据缺陷挖掘与可解释分析(附百度高工直播讲解与动手实践)...相关推荐

  1. mysql2012更改表名_T-SQL入門攻略之13-修改数据表

    --> Title  : T-SQL入門攻略之13-修改数据表 --> Author : wufeng4552 --> Date   : 2010-07-12 修改表名与字段名-sp ...

  2. “芯”战争,人工智能芯片研发攻略

    来源:半导体行业观察.安信证券 概要:深度学习作为新一代计算模式,近年来,其所取得的前所未有的突破掀起了人工智能新一轮发展热潮. 在全球科技领域,人工智能无疑是最热门的领域.这种并不算新的应用场景将会 ...

  3. Lucky!终于能够入职江苏‘’三新‘’供服公司了,快收下这份入职攻略吧!

    2021届江苏三新招聘已经落下帷幕 江苏三新在每年的8.9月都会迎来一批新面孔 萌新们是不是对入职特别期待? 今天,小编就带领大家探讨一下 [江苏三新的入职攻略] 江苏三新对新员工的入职培训非常重视. ...

  4. Python 网络爬虫实战:爬取《去哪儿》网数千篇旅游攻略数据,再也不愁旅游去哪儿玩了

    好久不见! 今天我们来爬取 去哪儿网站 的 旅游攻略 数据. 0x00  找一个合理的作案动机 作为一名立志成为技术宅的普通肥宅,每次一到周末就会面临一个人生难题:这周末怎么过? 本来是没有这些问题的 ...

  5. 同元Syslab使用攻略 | 数据插值与数据拟合

    数据插值 在图像处理领域,图像的放缩.去畸变.旋转会用到插值:在机器学习.深度学习等领域,面对样本较少的情况时同样会用到插值.当我们进行数据分析时,遇到数据量小.样本点不足的情况,这时就需要利用插值. ...

  6. 2019年8月杭州出发飞重庆游成都的四日自助行攻略

    四日游计划 路线规划:杭州==飞==>重庆==动车==>成都==飞==>杭州 攻略中是2019年8月3456号的交通和住宿价格. 前言: 我没有去过成都和重庆,本来只想去成都的,但想 ...

  7. wps 模拟分析 规划求解_入行十年,我是如何解决模流分析准确性问题的

    代代相传的困惑 越来越多的供应商在新项目招标时就要求提供完整的模流分析结果,同时我在和业内同行进行技术交流的时候,不少人表示模流分析确实可以提升模具设计能力.但从周围听到的更多声音是:我对自己做的模流 ...

  8. SOLIDWORKS仿真攻略丨非线性静态分析之卡扣分析

    SOLIDWORKS Simulation 提供了强大的分析功能,可以帮助确定产品在多个因素方面的能力:运动.线性.频率.疲劳.热结构.优化.非线性和动态. 本次我们将介绍SOLIDWOKS Simu ...

  9. 战歌竞技场服务器维护中,战歌竞技场入坑攻略,新手向(申精)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 简单版新手攻略 虎牙:尚娱丶传说出品,直播间虎牙搜18938245 各种介绍我就不说了,游戏内基础教程都有 一.我说下前期比较舒服的阵容吧 优质打工仔的话 ...

最新文章

  1. Spring.Net Aop
  2. 删除已经配置的类库和移除CocoaPods
  3. Consul etcd ZooKeeper euerka 对比
  4. jboss fuse 教程_在JBoss Fuse / Fabric8 / Karaf中使用Byteman
  5. 鸿蒙系统打造完备终端,搭载鸿蒙系统的手机很快推出,华为生态更加完善
  6. httpclient 不支持国密ssl_关于国密HTTPS 的那些事(三)
  7. 看一次广告听30分钟歌 你愿意为QQ音乐新功能买单吗?
  8. 企业玩TikTok的三种方式
  9. python uiautomation_使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,...
  10. 03系统服务器安装iis,服务器Win2003系统IIS 安装方法图文教程
  11. 科勒公司成为曼联的主要合作伙伴
  12. 传输rp文件到ftp服务器并通过浏览器访问html
  13. 河北光电机顶盒安装当贝桌面
  14. java常量池在哪里_【Java基础】Java常量池在哪里? - 收获啦
  15. 如何理解js中的this
  16. 智能制造怎么精益生产?详解:精益生产与智能制造的融合
  17. 深圳东部公交WIFI试用体验
  18. PyCharm学生认证以及切换账号
  19. Calendar判断指定时间是周几、上下午、月份的简单运用
  20. UIUC计算机科学系博士,PhD捷报|计算机博士全美TOP5!清华首批UIUC CS PhD全奖!恭喜Nuts清华学员!...

热门文章

  1. 前端开发---前端相关软件分享
  2. CAD二次开发 创建椭圆
  3. 常用网站greasyfork,MSDN
  4. 号码盾牌--保护客户号码隐私,刻不容缓!
  5. CAD数据相互转换注意事项(一)
  6. eclipse中添加sdk_在Eclipse中嵌入NASA World Wind Java SDK
  7. linux驱动PCIE开发
  8. Android自定义View(二)---拉刷新ListView 下之事件分发源码解析
  9. 静态代理,动态代理简单理解
  10. iOS 单个app最大可以获得多少运行内存