大规模标签、层级标签分类问题简单调研

整合自知乎三篇文章:

方法综述

大规模多标签分类大致有以下几类解决办法:

  • 1 VS. All classifier

把多标签分类看成多个二分类,为每一个label训练一个二分类模型,其缺点是,各个标签之间相互无关,当标签数量非常非常多的时候,难以训练与标签数量相同的模型。

  • Label Tree based

其思想类似决策树,把所有的标签按树状结构组织起来,从上到下分类,每层只需要训练一个小的分类器,最终分类的叶子节点。这样的缺点是,从上到下的分类过程中,误差可能会累积,导致性能较差。这种方法经常会用到ensemble的模型。

  • Embedding based

假设最后的特征维度是h h h,类别标签数量是C C C,当C C C非常大的时候,网络最后一层的参数数量h × C h \times C h ×C会非常大。这种方法的思想是,把h h h映射到一个比较小的维度d ≪ h d \ll h d ≪h,再映射到标签,这样参数量h × d + d × C h \times d + d \times C h ×d +d ×C会减少很多。当然这种方法也会用到模型ensemble。

  • Deep Learning based

又分为两类:

第一类:把多标签分类看成Seq2Seq任务,把生成多个标签看成一个序列生成的过程,一步一步地生成标签,直到生成end为止;

第二类:Discriminative Learning based方法,用某种特征提取结构(CNN、LSTM、Transformer Encoder等)把文本处理成一个向量,再用概率标签树(Probalistic Label Tree)得到最终的概率。(为什么叫Discriminative Learning based?)

参考文献

显式利用层次信息,对每个节点或层次构造一个分类器,最终标签由多个分类器组合而成:

  • Local Classifier per Node: The LCN strategy trains one binary classifier for each class of the hierarchy.

即最简单的对每个标签做二分类,具体也有分Binary Relevance和Classifier Chains方法。

  • Local Classifier per Parent Node (LCPN): The LCPN strategy trains, for each internal class, a multi-class classifier to distinguish between its subclasses.

对每个非叶子节点构造多分类器,识别子类。
感觉目前这种方法在工程上可行性最高,但难点在于:a)每层的错误会叠加;b)随着层数加深,底层的模型训练数据可能不足。解决方法可以尝试:a)参考类似GBDT的方法,构造ensemble模型拟合误差(已经有人提出了,就是HFT-CNN);b)底层的模型使用Few-Shot Learning的方法。

  • Local Classifier per Level (LCL): The LCL strategy trains one multi-class classifier for each hierarchical level, where each classifier is responsible for the prediction in its associated level.

对每一层构造多分类器。

一些参考文献:

思路:1)输入的是样本一段短文本sentence,将sentence转换成词序列embedding,文中使用FastText;2)接着先训练样本的顶层label(A, B),具体是在embedding层后加一个卷积层(convoluational layer),最大池化层(maxpooling layer),全连接层+dropout,最后加个sigmoid,使用二元交叉熵(binary cross-entorpy loss)进行A, B标签预测训练;3)在预测下一层标签(A1, A2, B1, B2)时,采用的仍是CNN结构,只是embedding layer和convoluational layer不重新生成,而是继承上一层学习的结果,然后在这个基础上进行微调学习;4)按照2、3步骤,遍历整个层级标签;——层级性多元标签文本分类

把层次信息编码进网络结构,单模型输出所有分类标签:

数据集

Original: https://blog.csdn.net/fenss/article/details/116232847
Author: fenss
Title: 大规模标签、层级标签分类问题简单调研

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/666918/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球