文本分类任务是NLP领域最常见、最基础的任务之一,顾名思义,就是对给定的一个句子或一段文本进行分类。文本分类在互联网、金融、医疗、法律、工业等领域都有广泛的应用,例如文章主题分类、商品信息分类、对话意图分类、论文专利分类、邮件自动标签、评论正负倾向识别、投诉事件分类、广告检测以及敏感违法内容检测等,这些应用场景全部都可以抽象为文本分类任务。但如何进行技术方案选型、如何
进行模型调优、如何解决少样本等问题
,使很多开发者望而却步,迟迟难以上线。
近日,PaddleNLP针对以上工业落地中种种常见问题,开源了一整套文本分类场景方案,接下来我们将详细解读其技术特色:
-
方案全覆盖:
涵盖文本分类高频场景,开源微调、提示学习、基于语义索引多种分类技术方案,满足不同文本分类落地需求;
-
模型高效调优:
强强结合数据增强能力与可信增强技术,解决脏数据、标注数据欠缺以及数据不平衡等问题,大幅提升模型效果;
-
产业级全流程:
打通数据标注-模型训练-模型调优-模型压缩-预测部署全流程,助力开发者简单高效地完成文本分类任务。
项目地址:
https://github.com/PaddlePaddle/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 等前沿策略,帮助提升模型效果。
如下图,
在多分类、多标签、层次分类任务的小样本场景下,提示学习比预训练模型微调方案,效果上有显著优势
。
基于语义索引的文本分类方案适用于
标签类别不固定、或大规模标签类别的场景
。在新增标签类别的情况下,无需重新训练模型。语义索引的目标是从海量候选召回集中快速、准确地召回一批与输入文本语义相关的文本。基于语义索引的文本分类方法具体来说是将标签集作为召回目标集,召回与输入文本语义相似的标签作为文本的标签类别,尤其适用于层次分类场景。
对预训练时代NLP任务入门感兴趣的小伙伴,可以
扫码报名进群,获取PaddleNLP官方近期组织的直播链接
,进群还可获得10GB NLP学习大礼包等超多福利~此外,课程中还将介绍
数据增强、稀疏数据与脏数据挖掘等数据、模型调优策略
,亲测好用,这部分是课程精华,非常推荐各位NLPer去学习交流。
有这么一句话在业界广泛流传,"数据决定了机器学习的上限,而模型和算法只是逼近这个上限",可见数据质量的重要性。PaddleNLP文本分类方案依托
TrustAI可信增强能力和数据增强API
开源了模型分析模块,
针对标注数据质量不高、训练数据覆盖不足、样本数量少等文本分类常见数据痛点,提供稀疏数据筛选、脏数据清洗、数据增强三种数据优化策略
,解决训练数据缺陷问题,用低成本方式获得大幅度的效果提升。
集可信分析和增强于一体的可信AI工具集-TrustAI,能够有效识别和优化NLP领域数据标注的常见问题
,
如『训练数据中存在脏数据阻碍模型效果提升』,『数据标注成本太高但又不清楚该标注什么数据』,『数据分布有偏导致模型鲁棒性差』等,TrustAI能帮助NLP开发者解决训练数据缺陷问题,用最小的标注成本获得最大幅度的效果提升。
可戳项目地址了解详情:
https://github.com/PaddlePaddle/TrustAI
基于TrustAI中可信增强方法挖掘待预测数据中缺乏训练集数据支持的数据(稀疏数据),然后使用特征相似度方法选择能够提供证据支持的训练数据进行
数据增强
,或选择能够提供证据支持的未标注数据进行
数据标注
,这两种稀疏数据筛选策略均能有效提升模型表现。
基于TrustAI的可信增强能力,采用表示点方法(Representer Point)计算训练数据对模型的影响分数,分数高的训练数据表明对模型影响大,这些数据有较大概率为脏数据(被错误标注的样本)。脏数据清洗策略通过高效识别训练集中脏数据,有效降低人力检查成本。
我们在多分类、多标签、层次分类场景中评测脏数据清洗策略,实验表明脏数据清洗策略对文本分类任务有显著提升效果。