多标签分类是自然语言处理中的一项重要但具有挑战性的任务。它比单标签分类更复杂,因为标签往往是相关的。现有方法倾向于忽略标签之间的相关性。
此外,文本的不同部分可以不同地用于预测不同的标签,现有模型不考虑这些标签。
在本论文,LancoPKU(北大学语言计算与机器学习小组)建议将多标签分类任务视为序列生成问题,并应用具有新颖解码器结构的序列生成模型来解决它。Seq2Seq+Attention+GlobalEmbedding+Mask
一、多标签分类已有方法
多标签文本分类是自然语言处理一个重要的并且有挑战性的任务,相对于单标签分类,多标签文本分类 更复杂的地方在于它的标签之间具有依赖关系。此外,当前的模型也没有注意到不同的文本对于不同标签分类具有不同的重要性。 多标签分类任务一般处理方式:转为多个二分类任务
1、多二分类器(Binary relevance)
二元相关性(BR)是通过将MLC任务转换为多个单标签分类问题来解决MLC任务的最早尝试之一。 论文:《Learning multi-label scene classification》 缺点:
- 它忽略了标签之间的相关性;
- 计算量巨大,如果类别很多(比如1000个),则需要训练与类别数量相同的二分类器;
2、分类器链(Classi?er chains )
论文:《Classifier chains for multi-label classification》 优点:它考虑到了标签之间的相关性;如果类别不是特别多,可以考虑; 缺点:计算量巨大,如果类别很多(比如1000个),则每个样本都要连续链式进行1000次二分类判断;
3、Seq2Seq(CNN-RNN)
论文:《Ensemble application of convolutional and recurrent neural networks for multi-label text categorization》 缺点:
- 它忽略了标签之间的相关性;
- 没有考虑文本中不同的内容对所属标签的贡献度;
二、SGM模型结构
本文将多标签文本分类任务看成序列生成问题,并们使用了一种新的decoder结构来生成标签。
实验结果表明,SGM模型能够大幅度提高多标签文本分类的效果,并且我们发现我们的模 型能够捕捉标签之间的关系,并且对于不同标签,自动选择不同的词进行分类。
1、Encoder
2、Decoder+Mask
3、Attention
4、Global Embedding
|