【多标签文本分类】Deep Learning for Extreme Multi-label Text Classification

简介: 【多标签文本分类】Deep Learning for Extreme Multi-label Text Classification

·阅读摘要:

 本文提出结合CNN的XML-CNN模型来解决大规模的多标签文本分类问题。

 [1] Deep Learning for Extreme Multi-label Text Classification

[0] 摘要


  极端多标签文本分类(extreme multi-label text classification (XMTC))是指从一个非常大的标签集合为每个文档分类。巨大的特征空间、标签空间带来了数据稀疏性等挑战。

  XMTC在机器学习研究较多,本文是第一次提出将XMTC与深度学习(cnn)结合的模型的论文。

[1] 介绍


  极端多标签文本分类对机器学习是个挑战。

  传统的二元分类器将类标签视为独立的目标变量,这对于多标签分类不友好,因为类标签之间的联系不能被利用。

【注一】:二元分类器应用于多标签分类是老生长谈了。就像我们做文本分类的时候,使用词的tfidf来喂给深度学习算法,而不是用word embedding喂一样。

  XMTC面临两大问题:

  1、解决XMTC问题的困难部分是由于极其严重的数据稀疏问题。相当大比例的标签只有很少的训练实例与它们相关联。因此,学习标签之间的联系是很困难的。

  2、XMTC中的另一个重大挑战是,当标签的数量达到数十万甚至数百万时,训练和测试相互独立的分类器的计算成本难以接受

  有三种处理巨大的标签空间问题的方法:目标嵌入方法、基于树的集成方法、深度学习方法。

【注二】:这里文章介绍了一下目标嵌入方法基于树的集成方法深度学习方法,前两个算是机器学习算法,深度学习说的也比较基础,可以跳过。

[2] 相关工作


  介绍了几个神经网络模型。

[3] 提出的方法 XML-CNN


  论文提出的亮点有三:

  1、动态最大池化(dynamic max pooling)

  2、二进制交叉熵损失函数(binary cross-entropy loss function)

  3、隐藏的瓶颈层(hidden bottleneck layer)

  模型图如下所示:

image.png

[3.1] 动态最大池化(dynamic max pooling)

  这里需要对比最原始的TextCNN模型,如下图:

image.png

  传统做池化的方法是,一个filter卷积的数据(图中卷积层的一个竖条)池化为一个特征(即一个数字)。

   但是本论文提出的思想是:当一个文本太大,原始的TextCNN算法的每个filter经过卷积池化后,把文本变成一个特征(数字),这样会丢失太多信息。所以应该把filter卷积的数据(图中卷积层的一个竖条)分成p个块,按照每个块进行最大池化,池化后会剩下p个特征,这样即保留了 重要特征(important features) 也保留了 位置信息( position information) ,叫做动态最大池化(dynamic max pooling)。

[3.2] 二进制交叉熵损失函数(binary cross-entropy loss function)

【注三】:这也是多标签分类最常用的损失函数。

[3.3] 隐藏的瓶颈层(hidden bottleneck layer)

  在池化层与输出层之间增加一个全连接的隐含层,该隐含层有h个单元,称为隐藏的瓶颈层,其隐藏单元的数量h远小于pooling层和output层。

  这样做可以:1)降低计算量。假设pooling层有100个参数,output有100个参数,不加隐藏层会有10000个参数参与计算。如果加一个有h个神经元的隐藏层,参与计算的参数是200*h个,h稍小一点就可以降低很多计算量。2)没有这个隐藏层,模型只有一个非线性的隐藏层,这不够学习良好的文档表示和分类器。

【注四】:感受是名字起的真高大上。

【注五】:文章并没有说如何学习标签之间的关联信息(即标签之间也是具有信息量的,可以参与训练)。


相关文章
|
6月前
|
机器学习/深度学习 数据挖掘 API
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
37 2
|
数据挖掘
【提示学习】Automatic Multi-Label Prompting: Simple and Interpretable Few-Shot Classification
文章提出了一种简单确高效地构建verbalization的方法:
|
自然语言处理 数据挖掘 数据处理
【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文基于PVP,提出PET与iPET,但是关注点在利用半监督扩充自己的数据集,让最终模型学习很多样本,从而达到好效果。
109 0
|
数据挖掘
【提示学习】Prompt Tuning for Multi-Label Text Classification: How to Link Exercises to Knowledge Concept
文章这里使用的是BCEWithLogitsLoss,它适用于多标签分类。即:把[MASK]位置预测到的词表的值进行sigmoid,取指定阈值以上的标签,然后算损失。
|
机器学习/深度学习 编解码 人工智能
Text to image综述阅读(2)A Survey and Taxonomy of Adversarial Neural Networks for Text-to-Image Synthesis
这是一篇用GAN做文本生成图像(Text to Image)的综述阅读报告。 综述名为:《A Survey and Taxonomy of Adversarial Neural Networks for Text-to-Image Synthesis》,发表于2019年,其将文本生成图像分类为Semantic Enhancement GANs, Resolution Enhancement GANs, Diversity Enhancement GANs, Motion Enhancement GANs四类,并且介绍了代表性model。
Text to image综述阅读(2)A Survey and Taxonomy of Adversarial Neural Networks for Text-to-Image Synthesis
|
机器学习/深度学习 数据挖掘
【论文解读】Co-attention network with label embedding for text classification
华南理工出了一篇有意思的文章,将标签和文本进行深度融合,最终形成带标签信息的文本表示和带文本信息的标签表示。
232 1
|
机器学习/深度学习 算法 计算机视觉
【计算机视觉 | 目标检测】Open-vocabulary Object Detection via Vision and Language Knowledge Distillation
在这项工作中,我们考虑借用预训练的开放词汇分类模型中的知识来实现open vocabulary检测。
|
机器学习/深度学习 人工智能 自然语言处理
【计算机视觉】CORA: Adapting CLIP for Open-Vocabulary Detection with Region Prompting and Anchor Pre-Matching
CORA 在目标检测任务中提出了一种新的 CLIP 预训练模型适配方法,主要包括 Region Prompting 和 Anchor Pre-Matching 两部分。 这种方法能够让 CLIP 模型适应目标检测的任务,能够识别出图像中的对象,并提供准确的分类和定位信息。
|
数据可视化 数据挖掘
【论文解读】Dual Contrastive Learning:Text Classification via Label-Aware Data Augmentation
北航出了一篇比较有意思的文章,使用标签感知的数据增强方式,将对比学习放置在有监督的环境中 ,下游任务为多类文本分类,在低资源环境中进行实验取得了不错的效果
399 0
|
数据挖掘
【多标签文本分类】Initializing neural networks for hierarchical multi-label text classification
【多标签文本分类】Initializing neural networks for hierarchical multi-label text classification
114 0
【多标签文本分类】Initializing neural networks for hierarchical multi-label text classification