NLP10-SGM-论文学习笔记

论文题目: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、相关工作

将多标签分类问题看做是一个链式的二分类问题

NLP10-SGM-论文学习笔记

 也采用了序列生成的方式,但没有采用注意力机制,获得的提升有限,原因值得思考

NLP10-SGM-论文学习笔记

 论文背景

NLP10-SGM-论文学习笔记

2、模型结构总览

NLP10-SGM-论文学习笔记

  • 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、注意力机制

NLP10-SGM-论文学习笔记

2.2、decoder

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

2.3、Global Emedding

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记 

  • beam search 通过每次多选几个候选的方式可以在一定程度上缓解 exposure bias 的问题【预测出错一次后,后面的可能会连续出错,因为采用上一个预测来辅助判断下一次的预测】 ,但并没有彻底解决该问题

NLP10-SGM-论文学习笔记

应用与思考

  1. 可以直接应用在多标签文本分类当中
  2. 可以结合BERT一起用于多标签文本分类
  3. 将任务和优秀模型结合的更密切是很好的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

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记

 NLP10-SGM-论文学习笔记

NLP10-SGM-论文学习笔记