·阅读摘要:
本文提出结合基于CNN微调的HFT-CNN模型来解决层级多标签文本分类问题。
[1] HFT-CNN: Learning Hierarchical Category Structure for Multi-label Short Text Categorization
【注一】:还有一篇是解决层次结构的多标签分类论文《Initializing neural networks for hierarchical multi-label text classification》阅读博客地址为:https://blog.csdn.net/qq_43592352/article/details/122815714
【注二】:本文提出的HFT-CNN模型是为了解决大规模、层级标签问题,而《Initializing neural networks for hierarchical multi-label text classification》是提出将CNN用于层级多标签分类,提出的模型较为简单。
[0] 摘要
层次目录结构水平越低,分类效果越差。因为较低的类别是细粒度的,每个类别的训练数据量比较高级别的要小得多。论文提出了一种方法,通过应用一个带有微调技术的卷积神经网络(CNN),可以有效地利用上层的数据对下层的分类作出贡献。
【注三】:微调现在基于bert来使用效果最好。
[1] 介绍
层级标签的数据稀疏性的详情: 较低级别的类别与较高级别的类别相比具有细粒度。而且,经常会出现低级别训练数据量比高级别训练数据量小得多的情况,从而影响了分类的整体性能。
[2] 模型
作者提出了HFT-CNN模型,该模型主要是解决层级性多元标签的短文本分类任务,其核心是标签的层级性,其次是多元标签和短文本。HFT是Hierarchical Fine-Tuning缩写,其意思就是在学习层级信息的时候,使用fine-tuning这种微调的技术,将上层标签信息微调的方式传到下层标签的学习中。作者提出该方法的原因是:觉得在处理有结构的多元标签分类任务上,现有很多模型都是non-hierarchical flat mode,只是平行化的利用标签的层级关系信息,而作者的模型是hierarchical mode,一个有层级结构的模型。
参考模型中标签的结构,来说下其样本训练学习的思路: 1)输入的是样本一段短文本sentence,将sentence转换成词embedding,文中利用的fastText; 2)接着先训练样本的顶层label(A,B),具体是在embedding层后加一个卷积层(convoluational layer),最大池化层(maxpooling layer),全连接层+dropout,最后加个sigmoid层,用的二元交叉熵(binary cross-entorpy loss)进行A,B标签预测,这一个CNN分类框架; 3)在预测下一层标签时(A1,A2,B1,B2),采用的仍是CNN结构,只是在embedding layer和convoluational layer不重新生成,而是继承上一层学习的结果,然后在这个基础上进行微调学习; 4)按照2,3步骤,遍历整个层级标签;
以上是论文模型的基本思想,我个人的看法是:这个想法是好的,在embedding layer和convoluational layer进行微调,理论上是说的通的,因为子类标签所涵盖的特征信息应该也属于父类标签所涵盖的特征信息。然后,这两类特征信息必须有个差异,如何把这类差异信息有效捕捉出来才是关键,当然这个也不好衡量,也是由于深度学习本质所决定,不能很好解释真正起作用的原因。