论文题目:SGM: Sequence Generation Model for Multi-Label Classification
发表期刊:2018-Coling Bestpaper
多标签分类:The target of the MLC task is to assign multiple labels to each instance in the dataset
1、相关工作
将多标签分类问题看做是一个链式的二分类问题
也采用了序列生成的方式,但没有采用注意力机制,获得的提升有限,原因值得思考
论文背景
2、模型结构总览
- Encoder采用双向LSTM,Decoder采用LSTM,结合了注意力机制,采用序列生成的方式预测多个标签
- 标签处理:根据出现频率对标签进行排序,高频的标签放在前面【出现次数多的为大类的概率更大】
- mask softmax:预测过的标签不再重复预测
- global embedding:将所有标签信息的embedding融合得到全局的embedding
- Decoder【LSTM】接收上一时刻(t-1)decoder的隐藏状态S(t-1)、上下文向量 Ci 和 GE 作为输入,产生时刻t的隐藏状态,最后通过softmax层达到标签的预测。
- 文本序列Xi是一句话中的m个词通过词嵌入的方式获得的词向量
2.1、注意力机制
2.2、decoder
2.3、Global Emedding
- beam search 通过每次多选几个候选的方式可以在一定程度上缓解 exposure bias 的问题【预测出错一次后,后面的可能会连续出错,因为采用上一个预测来辅助判断下一次的预测】 ,但并没有彻底解决该问题
应用与思考
- 可以直接应用在多标签文本分类当中
- 可以结合BERT一起用于多标签文本分类
- 将任务和优秀模型结合的更密切是很好的idea
3、实验结果与分析
3.1、RCV1-V2数据集
实验设置:
- 词表大小:50000
- 文本长度:500
- beam search size:5
- word embedding size:512
- 编码器隐藏神经元个数:256;解码器隐藏神经元个数:512;层数均为2
3.2、AAPD数据集
- word embedding size:256
- 编码器:2层LSTM,神经元个数256
- 解码器:1层LSTM,神经元个数512
- 词表大小:30000
- 文本长度:500
- beam search size:9
3.3、训练设置
- 优化方法:Adam;初始学习率:0.001,β1=0.9,β2=0.999
- 损失函数:交叉熵
- 梯度裁剪最大值:10
本文为深度之眼paper论文班的学习笔记,仅供自己学习使用,如有问题欢迎讨论!关于课程可以扫描下图二维码