文本分类方案,飞浆PaddleNLP涵盖了所有

文章目录

  • 1.前言
  • 2.核心技术
    • 2.1 文本分类方案全覆盖
      • 2.1.1 分类场景齐全
      • 2.1.2 多方案满足定制需求
        • 方案一:预训练模型微调
        • 方案二:提示学习
        • 方案三:语义索引
    • 2.2 更懂中文的训练基座
    • 2.3 高效模型调优方案
    • 2.4 产业级全流程方案
  • 3. 快速开始
  • 4. 常用中文分类数据集
  • 5.参考文献

1.前言

PaddleNLP 完全基 PaddlePaddle (www.paddlepaddle.org)开发。PaddlePaddle 是中国首个、也是目前国内唯一开源开放,集核心框架、工具组件和服务平台为一体的端到端开源深度学习平台,其囊括支持面向真实场景应用、达到工业级应用效果的模型,并具备针对大规模数据场景的分布式训练能力、支持多种异构硬件的高速推理引擎。

PaddleNLP 提供依托于百度百亿级大数据的预训练模型,能够极大地方便 NLP 研究者和工程师快速应用。使用者可以用 PaddleNLP 快速实现文本分类、文本匹配、序列标注、阅读理解、智能对话等 NLP 任务的组网、建模和部署,而且可以直接使用百度开源工业级预训练模型进行快速应用。用户在极大地减少研究和开发成本的同时,也可以获得更好的基于工业实践的应用效果。

文本分类是自然语言处理中最常见的任务,也是应用场景比较广泛的任务。文本分类任务定义:简单的来说,给定一段文本,可以是句子,可以是文章,甚至是一个文件内容,机器使用分类模型进行分类,给出最终的分类标签结果。

文本分类任务广泛应用于长短文本分类、情感分析、新闻分类、事件类别分类、政务数据分类、商品信息分类、商品类目预测、文章分类、论文类别分类、专利分类、案件描述分类、罪名分类、意图分类、论文专利分类、邮件自动标签、评论正负识别、药物反应分类、对话分类、税种识别、来电信息自动分类、投诉分类、广告检测、敏感违法内容检测、内容安全检测、舆情分析、话题标记等各类日常或专业领域中。

文本分类任务按照高频场景可以大致分为三大类:多分类、多标签、层次分类。全套流程包括:打通数据标注-模型训练-模型调优-模型压缩-预测部署全流程,旨在解决细分场景应用的痛点和难点,包括常见的预训练模型、数据标注质量差、效果调优困难、AI入门成本高、如何高效训练部署等问题,快速实现文本分类产品落地
在这里插入图片描述

本次技术方案优势:

  • 方案全面: 涵盖了三个高频分类场景:多分类、多标签、层次分类,提供预训练模型微调、小样本学习、语义匹配三种端到端全流程分类方案,满足开发者多样文本分类落地需求。
  • 效果领先: 使用在中文领域内模型效果和模型计算效率有突出效果的ERNIE 3.0系列模型作为训练基座,ERNIE 3.0 轻量级系列提供多种尺寸的预训练模型满足不同需求,具有广泛成熟的实践应用性。
  • 高效调优: 文本分类应用依托可解释性和数据增强,提供模型分析模块助力开发者实现模型分析,并提供稀疏数据筛选、脏数据清洗、数据增强等多种解决方案。
  • 简单易用: 开发者无需机器学习背景知识,仅需提供指定格式的标注分类数据,一行命令即可开启文本分类训练,轻松完成上线部署,不再让技术成为文本分类的门槛。

2.核心技术

2.1 文本分类方案全覆盖

在这里插入图片描述

2.1.1 分类场景齐全

文本分类应用涵盖多分类(multi class)、多标签(multi label)、层次分类(hierarchical)三种场景,接下来以网易新闻的数据为例介绍三种分类场景的区别。
在这里插入图片描述

  • 多分类

任务的标签类别在两个或者两个以上,所有训练数据有且只有一个标签,并且标签集合中的标签都是相互独立。在推理过程中,我们需要预测输入的短文本/长文本/中英文本/文章最可能来自n个标签类别中的一个类别。以上图多分类中新闻文本为例,该新闻文本的标签为 游戏。

  • 多标签

任务的标签类别在两个或者两个以上,所有训练数据具有一个或者多个标签,并且标签集合中的标签都是相互独立。在推理过程中,我们需要预测输入的短文本/长文本/中英文本/文章最可能来自n个标签类别中的一个或者类别。以上图多标签中新闻文本为例,该新闻文本的标签为 汽车 和 新能源 。

  • 层次分类

任务的标签类别具有多级标签且标签之间具有层级结构关系,所有训练数据具有一个或者多个标签。在推理过程中,我们需要预测输入的短文本/长文本/中英文本/文章最可能来自层级标签类别中的一个类别。以上图层次分类中新闻文本为例,该新闻一级分类标签为 体育,二级分类标签为 足球。

2.1.2 多方案满足定制需求

方案一:预训练模型微调

【方案选择】对于60-70%分类任务,推荐使用预训练模型微调作为首选的文本分类方案,预训练模型微调提供了数据标注-模型训练-模型分析-模型压缩-预测部署全流程,有效减少开发时间,低成本迁移至实际应用场景。
【方案介绍】ERNIE 3.0 语言模型一般是不能直接在文本分类任务上使用,预训练模型微调在预训练模型 [CLS] 输出向量后接入线性层作为文本分类器,用具体任务数据进行微调训练文本分类器,使预训练模型”更懂”这个任务。
【方案效果】下表展示在多标签任务CAIL2019—婚姻家庭要素提取数据集中ERNIE 3.0 系列模型效果评测。
在这里插入图片描述

方案二:提示学习

【方案选择】**提示学习(Prompt Learning)适用于标注成本高、标注样本较少的文本分类场景。**在小样本场景中,相比于预训练模型微调学习,提示学习能取得更好的效果。对于标注样本充足、标注成本较低的场景,我们仍旧推荐使用充足的标注样本进行文本分类预训练模型微调。
【方案介绍】提示学习的主要思想是将文本分类任务转换为构造提示中掩码 [MASK] 的分类预测任务,也即在掩码 [MASK]向量后接入线性层分类器预测掩码位置可能的字或词。提示学习使用待预测字的预训练向量来初始化分类器参数(如果待预测的是词,则为词中所有字的预训练向量平均值),充分利用预训练语言模型学习到的特征和标签文本,从而降低样本需求。提示学习同时提供R-Drop 和 RGL 策略,帮助提升模型效果。
我们以下图情感二分类任务为例来具体介绍提示学习流程,分类任务标签分为 0:负向 和 1:正向 。在文本加入构造提示 我[MASK]喜欢。 将情感分类任务转化为预测掩码 [MASK] 的待预测字是 不 还是 很。具体实现方法是在掩码[MASK]的输出向量后接入线性分类器(二分类),然后用不和很的预训练向量来初始化分类器进行训练,分类器预测分类为 0:不 或 1:很 对应原始标签 0:负向 或 1:正向。而预训练模型微调则是在预训练模型[CLS]向量接入随机初始化线性分类器进行训练,分类器直接预测分类为 0:负向 或 1:正向。
在这里插入图片描述
【方案效果】我们比较预训练模型微调与提示学习在多分类、多标签、层次分类小样本场景的模型表现(多分类精度为准确率,多标签和层次分类精度为Macro F1值),可以看到在样本较少的情况下,提示学习比预训练模型微调有明显优势。
在这里插入图片描述

方案三:语义索引

【方案选择】基于语义索引的文本分类方案适用于标签类别不固定的场景对于新增标签类别或新的相关分类任务无需重新训练,模型仍然能获得较好预测效果,方案具有良好的拓展性。
【方案介绍】语义索引目标是从海量候选召回集中快速、准确地召回一批与输入文本语义相关的文本。基于语义索引的文本分类方法具体来说是将标签集作为召回目标集,召回与输入文本语义相似的标签作为文本的标签类别。
在这里插入图片描述

2.2 更懂中文的训练基座

随着“大模型”的盛行,研究者们都希望通过大规模的语料进行无监督学习或者弱监督学习来训练模型,模型能够学习到语言或者领域相关的知识。预训练模型可以避免从零开始训练模型、节省成本。
预训练语言模型与文本分类的结合可以大致理解为,预训练语言模型已经学习到了特定领域的句法、语义的语言特性,用具体的数据集使得语言模型更加懂得具体的任务。预训练语言模型在具体数据集学习到的特征可以使文本分类任务事半功倍。
文本分类使用ERINE3.0轻量级模型做为预训练模型。ERINE3.0轻量版本是在ERINE3.0大模型的基础上通过模型蒸馏得到的轻量化版本。下面是ERNIE 3.0 效果-时延图,ERNIE 3.0 轻量级模型在精度和性能上的综合表现已全面领先于 UER-py、Huawei-Noah 以及 HFL 的中文模型,具体的测评细节可以见ERNIE 3.0 效果和性能测评文档。
横坐标表示在 IFLYTEK 数据集 (最大序列长度设置为 128) 上测试的延迟(latency,单位:ms),纵坐标是 CLUE 10 个任务上的平均精度(包含文本分类、文本匹配、自然语言推理、代词消歧、阅读理解等任务),其中 CMRC2018 阅读理解任务的评价指标是 Exact Match(EM),其他任务的评价指标均是 Accuracy。图中越靠左上的模型,精度和性能水平越高。
在这里插入图片描述

2.3 高效模型调优方案

文本分类应用依托TrustAI可信增强能力和数据增强API开源了模型分析模块,针对标注数据质量不高、训练数据覆盖不足、样本数量少等文本分类常见数据痛点,提供稀疏数据筛选、脏数据清洗、数据增强三种数据优化方案,解决训练数据缺陷问题,用低成本方式获得大幅度的效果提升。

数据决定了场景效果的上限,而模型和算法只是接近这个上限。数据在机器学习场景是显得尤为重要的。文本分类依托TrustAI可信增强能力和数据增强API开源了模型分析模块,针对标注数据质量不高、训练数据覆盖不足、样本量少等问题,提供稀疏数据筛选、脏数据清洗和数据增强三个数据层面的优化方案。

稀疏数据筛选基于特征相似度的实例级证据分析方法挖掘待预测数据中缺乏证据支持的数据(也即稀疏数据),并进行有选择的训练集数据增强或针对性筛选未标注数据进行标注来解决稀疏数据问题,有效提升模型表现。
在这里插入图片描述

采用在多分类、多标签、层次分类场景中评测_稀疏数据-数据增强策略稀疏数据-数据标注策略_,下图表明稀疏数据筛选方案在各场景能够有效提高模型表现(多分类精度为准确率,多标签和层次分类精度为Macro F1值)。
在这里插入图片描述
脏数据清洗基于表示点方法的实例级证据分析方法,计算训练数据对模型的影响分数,分数高的训练数据表明对模型影响大,这些数据有较大概率为脏数据(标注错误样本)。脏数据清洗方案通过高效识别训练集中脏数据(也即标注质量差的数据),有效降低人力检查成本。
在这里插入图片描述
我们采用在多分类、多标签、层次分类场景中评测脏数据清洗方案,实验表明方案能够高效筛选出训练集中脏数据,提高模型表现(多分类精度为准确率,多标签和层次分类精度为Macro F1值)。
在这里插入图片描述
数据增强在数据量较少的情况下能够增加数据集的多样性,提升模型的效果。PaddleNLP内置数据增强API,通过词替换、词删除、词插入、词置换、基于上下文生成词(MLM预测)、TF-IDF等多种策略。以CAIL2019—婚姻家庭要素提取数据子集(500条)为例,我们在数据集应用多种数据增强策略,策略效果如下表。

在这里插入图片描述

2.4 产业级全流程方案

文本分类应用提供了简单易用的数据标注-模型训练-模型调优-模型压缩-预测部署全流程方案。我们将以预训练模型微调方案为例介绍文本分类应用的全流程:
在这里插入图片描述

1.数据准备阶段
我们根据文本分类任务选择对应的场景目录: 多分类场景目录、 多标签场景目录、层次分类场景目录。

如果没有标注的数据集,推荐用doccano工具进行标注。如果已经有标注的训练数据,我们就是需要根据不同的任务将数据集整理为模型的输入格式。

2.训练阶段
数据准备好之后,就可以进行模型的微调阶段。可以根据具体情况设置模型的参数,可以设置选择GPU或CPU进行模型训练,脚本默认保存开发集的最佳效果。

训练完成之后,分析模型调优模块可以对模型进行分析和调优,同时模型分析模块提供了TrustAI可信增强能力和数据增强提供稀疏数据筛选、脏数据清洗和数据增强三种数据层面的优化方案来进行模型调优。模型层面也可以根据情况调整模型内部参数,例如learning_rate、batch_size和max_length等等。

模型训练、调优好之后,就可以通过预测脚本加载最佳模型,利用测试集,打印模型预测结果。

3.模型部署
显示部署的时候,需要同时考虑到模型的性能和精度。文本分类应用接入PaddleNLP模型压缩API。采用DynaBert宽度自适应剪裁策略,对预训练模型中的多头注意力机制中的多头进行排序,保证重要的头不被剪裁,然后用原模型作为教师模型,宽度较小的作为学生模型,蒸馏得到的学生模型就是我们需要的剪裁之后的模型。实验证明,蒸馏能够减少模型的体积、减少内存占用、提高推理速度。
在这里插入图片描述
模型部署需要将最佳模型的参数(动态图参数)转成静态图参数,用于后续的模型推理。
文本分类应用提供了离线部署方案,并且支持在GPU设备上使用FP16,在CPU设备使用动态量化的低精度加速推理。同时提供了Paddle Serving 在线服务部署,详见各分类场景文档中模型部署介绍。

3. 快速开始

  • 快速开启多分类 👉 多分类指南
  • 快速开启多标签分类 👉 多标签指南
  • 快速开启层次分类 👉 层次分类指南

4. 常用中文分类数据集

多分类数据集:

  • THUCNews新闻分类数据集
  • 百科问答分类数据集
  • 头条新闻标题数据集TNEWS
  • 复旦新闻文本数据集
  • IFLYTEK app应用描述分类数据集
  • CAIL 2022事件检测

情感分类数据集(多分类):

  • 亚马逊商品评论情感数据集
  • 财经新闻情感分类数据集
  • ChnSentiCorp 酒店评论情感分类数据集
  • 外卖评论情感分类数据集
  • weibo情感二分类数据集
  • weibo情感四分类数据集
  • 商品评论情感分类数据集
  • 电影评论情感分类数据集
  • 大众点评分类数据集

多标签数据集:

  • 学生评语分类数据集
  • CAIL2019婚姻要素识别
  • CAIL2018 刑期预测、法条预测、罪名预测

层次分类数据集:

  • 头条新闻标题分类-TNEWS的升级版
  • 网页层次分类数据集
  • 医学意图数据集(CMID)
  • 2020语言与智能技术竞赛事件分类

5.参考文献

  • PaddleNLP/applications/text_classification at develop · PaddlePaddle/PaddleNLP
  • 10分钟完成高精度中文情感分析 — PaddleNLP 文档
  • PaddleNLP基于ERNIR3.0文本分类以CAIL2018-SMALL数据集罪名预测任务为例【多标签】 - 腾讯云开发者社区-腾讯云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353916.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊中国站通过ASIN获取商品信息

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

亚马逊国际站获取商品列表

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

亚马逊国际站处理图形验证码

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

dvwa靶场通关(五)

第五关 File Upload(文件上传漏洞) File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限 low low等级没有任何的防护 创建…

亚马逊国际站通过ASIN获取商品信息

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

亚马逊国际站获取全部商品分类

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

亚马逊中国站获取全部商品分类

目录 亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品…

推荐12个开放式免费收录网站的分类目录

很多做网站推广的网友都问2019网址分类目录还有用吗?一些长久网站或高权重、流量高的网站分类目录还有用的,不但能增加优质的外链,提高网站的权重,还能增加网站的曝光率。做seo网页优化的,很多都将会新站提交到各个分类目录网站&…

亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载

亚马逊分类目录程序是个跨平台的开源软件,具备来路、去路统计功能,支持两级分类,具有操作简单、功能强大、稳定性好、扩展性及安全性强、二次开发及后期维护方便,可以帮您迅速、轻松地构建起一个强大、专业的分类目录或网址导航网…

《大数据技术与应用》课程实验报告|week12|实验8|Pig——高级编程环境|验证评估函数

目录 一、实验内容 二、实验目的 三、实验设备 四、实验步骤 步骤一 步骤二 步骤三 步骤四 步骤五 步骤六 步骤七 步骤八 步骤九 步骤十 步骤十一 步骤十二 步骤十三 步骤十四 步骤十五 步骤十六 五、实验结果 六、实验小结 一、实验内容 验证19.5节中的…

微信Mac版客户端(支持发布朋友圈)v3.1.5(18841)正式版

微信Mac版客户端全新功能升级!!不仅支持查看朋友圈,还能发布朋友圈啦!!!微信正式版支持对朋友圈进行互动和点 赞等操作,还可以浏览朋友圈相册,这是一款运行在OS X上的 社交聊天工具&…

怒肝半月!Python 学习路线+资源大汇总

Python 学习路线 by 鱼皮。 原创不易,请勿抄袭,违者必究! 大家好,我是鱼皮,肝了十天左右的 Python 学习路线终于来了~ 和之前一样,在看路线前,建议大家先通过以下视频了解几个问题:…

计算机考研,这样选学校才是正解

写了一篇《启舰:对计算机专业来说学历真的重要吗?》,一时间N多同学咨询自身情况要不要考研,眼看有点Hold不住,索性又出了一篇《启舰:计算机专业有必要考研吗?》,结果,又有…

【035期】面试官问:什么是耦合?解耦合的方法有哪几种?

>>号外:关注“Java精选”公众号,回复“面试资料”,免费领取资料!“Java精选面试题”小程序,3000 道面试题在线刷,最新、最全 Java 面试题! 在项目的开发过程中,我们经常强调项…

国内 Android 手机典型勒索软件详情分析(附解锁方法)

事件说明 2017年2月13-17日,RSA Conference 2017 信息安全大会在美国旧金山Moscone中心隆重举行。大会第一天就是一系列关于Ransomware(勒索软件)的议题,而在刚刚过去的2016年,“MongDB数据库网络勒索事件”&#xff0…

Java后端入行看这 做软件园最靓的仔

16k长文以失败学角度分享普通本科二线Java后端入行经历 前言入行趣事■ 实习前■ 趣事分享1 —— 找实习■ 开启一周面试狂潮1、皮包单休公司2、养老级银行政务3、培训机构4、狼性外包公司5、教授带学生6、初创外包7、阿里旗下外包8、总结9、毕业后 ■ 趣事分享2 —— 给你加50…

QQ空间的汉字转拼音代码

html <!DOCTYPE html> <html lang"en" xmlns"http://www.w3.org/1999/xhtml"> <head><meta charset"utf-8" /><title>QQ空间的汉字转拼音代码</title><script id"jquery_183" type"text/…

android路由表位置,知乎上已获千赞,已拿到offer

前言 从2010年开始Android市场开始需要大量的Android开发人员&#xff0c;招聘市场上也开始大量招Android开发人员&#xff0c;大量java开发者开始学习Android开发&#xff0c;招聘市场面试要求上只要有一定java语法基础&#xff0c;都很容易应聘上Android开发的岗位&#xff…

FasterRunner安装教程(Windows版)

FasterRunner安装教程&#xff08;Windows版&#xff09; 原创 幼儿园二园长 发布于2019-05-10 17:02:59 阅读数 499 收藏 更新于2019-05-10 17:04:23 分类专栏&#xff1a; 接口 工具 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&…

时间管理专题_软件篇02

本文属非商业用途&#xff0c;文中借鉴他人处均已注明出处&#xff0c;若侵犯原作权益&#xff0c;请联系删除&#xff0c;谢谢 接上一篇 时间管理专题_软件篇01 #NOTE要点:神文&#xff0c;从目标管理到时间统计完整流程&#xff0c;作者亲历 要点&#xff1a;此文过猛&…