【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集。最后介绍如何自己寻找和下载数据集。
[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-21578
、AAPD
、RCV1-V2
、EUR-Lex
。
[6] 进行下一篇实战
【BERT-多标签文本分类实战】之四——数据集预处理