bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

征途黯然. 征途黯然.     2022-10-23     584

关键词:

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览
·下载本实战项目资源:>=点击此处=<

【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集。最后介绍如何自己寻找和下载数据集。

[1] 多标签文本分类的若干小方向

  目前学术上,多标签文本分类任务大概可以分为3个小方向:

  · 普通多标签文本分类
  · 层级多标签文本分类
  · 极端多标签文本分类

  不同的小方向,数据集的特点比较不一样,任务的难点也不同。

[2] 普通多标签文本分类

  普通多标签文本分类就是指我们平常提到的多标签文本分类,英文称作multi-label text classification,MTC

  MTC任务的数据集特点是:数据集中的每条文本,都对应着1-N个标签,在某些特殊数据集中有的文本甚至没有标签。数据集中的总类别标签往往不大,一般在几千以内,一些常用的数据集总标签数在几百、几十以内。而且我们说,MTC任务的数据集中的标签是平面的,标签之间没有归属关系、没有层次结构,是一维展开的。

  MTC任务的主要目标很朴素,就是尽量提高模型最后分类出来的各项评价指标,越理想越好。


  常用的MTC数据集有:

  Ren-CECps1.0: 一个多标签的中文情感语料库。它包含了37678 个中文博客的句子和 11 种情感标签,其中每句话被赋予一种或多种情感。

  Reuters-21578:是路透社金融新闻服务进行分类的常用数据集,其中包含了 7769 个训练文本和 3019 个测试文本,其中包含多个标签和单个标签。

  AAPD:从网络上收集了 55840 篇论文的摘要和相应学科类别,一篇学术论文属于一个或者多个学科,总共由 54个学科组成,目的是根据给定的摘要来预测学术论文相对应的学科。

  RCV1-V2:共有 804414篇新闻,每篇新闻故事分配有多个主题,共有 103 个主题。

  EUR-Lex:由欧盟法律组成的,里面包含了许多不同类型的文件,包括条约、立法、判例法和立法提案,共有 19314 个文档,3956 个分类。

  AmazonCat-13K:该数据集是来自于亚马逊,其中包括评论(评分,文字,帮助性投票),产品元数据(描述,类别信息,价格,品牌和图像特征)和链接(也可以查看/购买的图表),在做多标签文本分类得时候主要考虑的是类别信息。

  Amazon-670K:亚马逊商品的评论、产品的数据,和 AmazonCat-13K 的数据有类似之处,只是规模和商品不一样。

  Amazon-3M:亚马逊,包含的是产品的信息,链接以及产品的评论。

以上8个常用数据集的介绍信息来自论文《多标签文本分类研究进展 - 郝超》
本次系列实战项目,采用的数据集就是Reuters-21578。

[3] 层次多标签文本分类

  层次多标签文本分类是对文本标签具有层次化结构的数据集进行分类,英文称作Hierarchical Multi-label Text Classification, HMTC

  HMTC任务特点是:标签之间具有层次结构,其中,一个标签可以被特殊化为子类然后被一个父类所包含。层次多标签可以采用树(Tree)或者有向无环图(DAG)进行表示。其中对于Tree结构来说,一个标签节点只有一个父节点;而对于DAG结构来说,一个标签节点可以有多个父节点。对于一个给定的样本,同时将一个或多个类标签指定给该样本,并且这些类标签以层次结构的形式存储,这就是层次多标签分类问题。


  常用的HMTC数据集有:

  BlurbGenreCollection(BGC):是作者收集的由书籍介绍以及层次结构的写作题材组成,共有91892 个文本,四个层级,146 个类别,四个层级分别有 7,46,77,16 个类别。

  WOS-11967(Web of Science):由 Web of Science 发表的论文的摘要组成,共有11967 个文本,两个层级,40 个类别,两个层级分别有 7,33个类别。

  WIPO-alpha2:共有四个层级,5229 个类别,四个层级分别有 8,114,451,4656 个类别。

  Enron:是一个邮件的语料数据集,共有三个层级,56 个类别,三个层级分别有 3,40,13 个类别.

  Reuters:是由路透社提供的人工新闻分类数据集,有超过 800000 条的数据,共有三个层级,101个类别,三个层级分别有 4,55,42 个类别。

以上5个常用数据集的介绍信息来自论文《层次多标签文本分类方法 - 赵海燕》

[4] 极端多标签文本分类

  极端多标签文本分类寻求从一个极端大的标签集合中为给定的文本输入找到相关的标签,英文称作Extreme Multi-label Text Classification, XMTC,其实也可以叫大规模多标签文本分类(Large Scale Multi-label Text Classification, LMTC),一样的意思。

  XMTC任务的特点是:标签的数量有成千上百万,特征空间也非常大,严重的样本稀疏性,巨大的内存消耗、显存消耗,成千上百万的标签往往还伴随着层次化结构。标签存在长尾分布,绝大部分标签仅仅有少量样本关联。

  XMTC任务的难点有很多。如何解决数据稀疏?如何使模型运行更高效?如何解决样本少的问题?去哪搞服务器跑代码,直接劝退了好吧!

[5] 总结

  数据集越大,越吃设备,所以建议大家还是从较为简单的普通多标签文本分类任务着手入门。其中,数据集最好选择一些不是太大的,例如:Reuters-21578AAPDRCV1-V2EUR-Lex

[6] 进行下一篇实战

  【BERT-多标签文本分类实战】之四——数据集预处理

bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情

bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情

bert-多标签文本分类实战之七——训练-评估-测试与运行主程序(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]损失函数与评价指标  多标签文本分类任务,用的损失函数是BCEWithLogitsLoss,不是交叉... 查看详情

bert-多标签文本分类实战之七——训练-评估-测试与运行主程序(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]损失函数与评价指标  多标签文本分类任务,用的损失函数是BCEWithLogitsLoss,不是交叉... 查看详情

bert-多标签文本分类实战之七——训练-评估-测试与运行主程序(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]损失函数与评价指标  多标签文本分类任务,用的损失函数是BCEWithLogitsLoss,不是交叉... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

bert-多标签文本分类实战之六——数据加载与模型代码(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<  前5篇文章中,介绍了实战项目的前置知识,下面正式介绍项目的代码。本项目主要分为... 查看详情

bert-多标签文本分类实战之六——数据加载与模型代码(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<  前5篇文章中,介绍了实战项目的前置知识,下面正式介绍项目的代码。本项目主要分为... 查看详情

bert-多标签文本分类实战之六——数据加载与模型代码(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<  前5篇文章中,介绍了实战项目的前置知识,下面正式介绍项目的代码。本项目主要分为... 查看详情

bert-多标签文本分类实战之五——bert模型库的挑选与transformers(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]BERT模型库  从BERT模型一经Google出世,到tensorflow与pytorch版本的BERT相继发布,再到不同... 查看详情

bert-多标签文本分类实战之五——bert模型库的挑选与transformers(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]BERT模型库  从BERT模型一经Google出世,到tensorflow与pytorch版本的BERT相继发布,再到不同... 查看详情

bert-多标签文本分类实战之五——bert模型库的挑选与transformers(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]BERT模型库  从BERT模型一经Google出世,到tensorflow与pytorch版本的BERT相继发布,再到不同... 查看详情

bert-多标签文本分类实战之二——bert的地位与名词术语解释(代码片段)

【注】本篇将从宏观上介绍bert的产生和在众多模型中的地位,以及与bert有关的许多名词。[1]bert的提出  Bert模型是Google在2018年10月发布的语言表示模型,Bert在NLP领域横扫了11项任务的最优结果,可以说是18年NLP中最... 查看详情

bert模型做多标签文本分类(代码片段)

Bert模型做多标签文本分类参考链接BERT模型的详细介绍图解BERT模型:从零开始构建BERT(强推)李宏毅2021春机器学习课程我们现在来说,怎么把Bert应用到多标签文本分类的问题上。注意,本文的重点是Bert的应用,对... 查看详情

bert-多标签文本分类实战之二——bert的地位与名词术语解释(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将从宏观上介绍bert的产生和在众多模型中的地位,以及与bert有关的许多名词。[1]bert... 查看详情

小白学习pytorch教程十六在多标签分类任务上微调bert模型(代码片段)

...们日常的NLP任务来服务呢?首先介绍使用BERT做文本多标签分类任务。文本多标签分类是常见的NLP任务,文本介绍了如何使用Bert模型完成文本多标签分类,并给出了各自的步骤。参考官方教程:https://pyt 查看详情