论文笔记:SGM: Sequence Generation Model for Multi-label Classification

感想

这篇文章是我在参加DeeCamp 2018课程的时候,发现的,当时原作者还只是研一,就中了一篇CCF B类的Best paper,这篇文章的工作跟我的工作非常的像,不过我没作者做得多,所以我发的论文的档次没他的高,anyway,我也学习一下,找一下灵感,模型的代码用pytorch写的,地址为:https://github.com/lancopku/SGM

1. 介绍

多标签分类(MLC,Multi-label classification)在NLP领域是一个很重要的任务,它可以被用于许多真实世界场景中,例如文本分类,标签推荐 (tag recommendation),信息检索等等。MLC任务的目标就是为数据集中的每个实例指派许多的标签。

二元关系(Binary relevance, BR)是解决MLC任务的最早尝试之一,它把MLC任务转换成许多个单标签分类的问题。可是,这种方法忽略了标签之间的相互关系。Read等人提出了分类器链(CC,Classifier chains)方法,它把MLC任务变成了二分类问题链,用来对标签(labels)之间的相关关系建模。但是,这种方法在大数据集上计算代价非常昂贵。其他的方法,例如ML-DT,Rank-SVM和ML-KNN仅仅可以用于捕获标签的一阶和二阶关系,或者他们在高阶标签相关关系上的计算代价是非常的昂贵的。

在最近几年,神经网络在NLP领域取得了巨大的成功,一些神经网络也应用到了MLC任务重,并且取得了巨大的进步。例如,Zhang和Zhou等人就利用了带有成对排序损失函数的全连接神经网络。Kurata等人使用CNN和RNN来捕获文本中的语义信息。可是,他们要么忽略了标签之间的相关关系,要么没有考虑到文本内容对预测标签的贡献差异。

在本文中,受机器翻译,抽象摘要(abstractive summarization),风格迁移和其他领域中的sequence-to-sequence模型的巨大成功,我们提出了一个新的序列生成模型,这个模型用一个新的解码器结果来解决MLC任务。我们提出的序列生成模型包含encoder和注意力机制的decoder。Decoder使用一个LSTM来序列化的产生标签,并且基于已经预测的标签来产生下一个标签。因此,这个模型可以通过LSTM结构考虑到label之间的相关关系。此外,注意力机制考虑到了文本中不同部分对预测的贡献。此外,我们提出带有全局嵌嵌入(global embedding)的解码结构,通过融合整体的信息信号,来提升模型的整体性能。

2. 贡献

这篇论文的贡献列举如下:

  1. 我们提出把MLC任务变为一个序列生成问题,用以把label的相关关系考虑在内。
  2. 我们提出带有一个新的decoder结构的序列生成模型,这不仅能够捕获标签之间的相关关系,而且在预测的时候自动选择最有信息量的单词。
  3. 拓展实验结果显示我们的方法超过了baseline方法很多。进一步的分析证明我们提出方法在相互关系表示上的有效性。

3. 提出的方法

3.1概览

首先,我们定义一些符号了并且描述MLC任务。给定有L个labels的label空间L={l1,l2,…,lL},还有一个有m个单词的文本序列x,MLC的任务是把一个在label空间L中含有n个标签的子集合y指派给x。和传统的单标签分类不一样,单标签分类一次只给每个样本一个标签,而MLC任务中每个样本有多个标签。从序列生成的角度,MLC的任务就是寻找一个最优的标签序列y*,来最大化条件概率p(y|x),计算如下:

模型的概览如下图1。首先,我们把每个样本的标签序列根据标签在训练集中的频率进行排序,高频的标签放在前面。另外,bos符号加入到了标签序列的开头,eos符号加入到了标签序列的末尾。

文本序列x被编码到了隐藏状态,然后通过t时刻的注意力机制融合成一个上下文向量(context vector)ct. decoder 利用环境响亮ct,decoder上一个隐藏状态st-1以及嵌入向量g(yt-1)当成输入,用来产生t时刻的隐藏状态st。这里yt-1是预测的在标签空间L 上的概率分布。函数g把yt-1当作输入,产生嵌入向量(embedding vector),随后传递到decoder。最后,我们利用masked softmax层来输出条件概率分布yt

3.2 序列产生

3.2.1 Encoder

令(w1,w2,…wm)为m个单词的序列,wi是第i个单词的one-hot表示。我们首先通过一个嵌入矩阵(embedding matrix)ERk×|ν|把wi嵌入成一个稠密的嵌入向量xi,|v|是词汇表的大小,k是嵌入向量的维度。

我们使用一个bidirectional LSTM从两个方向上来读取文本序列x,并且计算每个单词的隐藏状态:

我们通过连接两个方向上的隐藏状态来得到第i个单词的最终隐藏状态,

这使得状态具有以第i个单词为中心的序列信息。

3.2.2 Attention

当模型预测不同的标签的时候,并不是所有的单词贡献相同。通过关注不同比例的文本序列,聚合有信息量的单词的隐藏表示,注意力机制会产生一个上下文向量(context vector)。特别地,注意力机制会把权重αti在第t时刻指派给第i个单词:

为了简单起见,这篇文章中所有的偏置项都省去了。最终的上下文向量ct,在decoder中第t时刻计算如下:

3.2.3 Decoder

Decoder在第t时刻的隐藏状态计算如下:

其中

的意思是g(yt-1)ct-1的连接。g(yt-1)是标签的嵌入,这里的标签指的是在yt-1分布下的最高概率对应的标签。yt-1是在t-1时刻在标签空间L上的概率分布,计算如下:

其中W,V都为权重参数,ItRL是mask向量,这用于防止decoder预测重复的标签,f是非线性激励函数。

在训练阶段,损失函数是cross-entropy loss function。我们利用beam search算法在inference的时候来找top-ranked预测。以eos结尾的预测路径加入到了候选路径集合。

3.3  Global Embedding

g(yt-1)是label的嵌入,这个label是在yt-1分布下的最高概率所对应标签得来的。可是,这个计算只是贪心的利用了yt-1的最大值。我们提出的模型序列化的产生标签,基于先前预测的标签来产生下一个标签。因此,可能我们在第t时刻得到了错误的预测,然后我们就会在预测下一个标签的时候得到了一个错误的后继标签,这也叫做exposure bias。从一定程度上,beam search算法缓解了这个问题。但是它不能从根本上解决这个问题,因为exposure bias可能会出现在所有的路径上。yt-1表示在t-1时刻的概率分布,很显然yt-1中的所有信息对我们在第t时刻预测标签是有帮助的。通过考虑所有包含在yt-1中的有效信号,exposure bias问题应该会得到缓解。

基于这个动机,我们提出了一个新的decoder结构,其中在t时刻中的g(yt-1)可以表示第t-1时刻的整体信息。受highway network中adaptive gate的想法的启发,这里我们引入我们的global embedding。令e表示在yt-1分布下具有最高概率的嵌入标签,e为时刻t上的带权平均嵌入。计算如下:

其中H是transform gate,用于控制带权平均嵌入的比例。所有的W为权重矩阵。通过考虑每一个label的概率,模型可以减少先前时间步带来的错误预测的损失。这使得模型预测得更加准确。

Experiments

数据集

Reuters Corpus Volume I (RCV1-V2) :数据集包含800 000手工分类的新闻专线的故事(newswire stories),Reuters Ltd专门为学术目的制作的数据集。每个新闻专线的故事(newswire stories)可以指派多个话题,总共有103个话题。

Arxiv Academic Paper Dataset (AAPD) :我们为多标签分类建立了一个新的大数据集,我们收集了计算机科学领域内55 840篇学术论文的摘要和主题。一篇学术论文有多个主题,总共有54个主题。目标是根据摘要的内容来预测学术论文对应的主题。

两个数据集的统计结果如下:

评估指标

Hamming-loss :评估误分类的instance-label对(相关的label没有预测到或者预测出了不相关的标签)的比例。

Micro-F1 :可以被解释为precision和recall的带权平均。可以由true positives, false negatives和false positives计算得出。

细节

我们从训练集中提出词汇表。对于RCV1-12数据集,词汇表的大小为50 000,out-of-vocabulary (OOV)的单词用unk进行了代替。每一个文档长度被裁减为500,inference阶段的beam size是5. 此外,word embedding的大小是512, encoder和decoder的隐藏单元的大小分别是256和512。Encoder和decoder的LSTM的层数是2.

对于AAPD数据集,word embedding大小为256,encoder有两层LSTM,大小为256. Decoder有一层LSTM,大小为512. 词典的大小为30 000,oov单词也用unk进行代替。每个文档的长度为500,inference阶段的beam size的大小为9.

使用了adam优化器,dropout等等。最终选择在验证集上有最佳micro-F1得分的用于在测试阶段的评估。

Results

分析与讨论

Global Embedding的探索

在decoder上使用不同的?值的结果如图2,红色的线表示使用adaptive gate的结果,符号“+”表示值越高模型越好,符号“-”表示与之相反。

Mask和Sorting的影响

下表显示的是RECV1-V2 测试集合上的Ablation study,GE表示global embedding。HL和F1表示hamming loss和micro-F1. “+”表示值越高,模型效果越好;“-”表示与之相反。↑b表示模型性能提升,↓表示与之相反。“w/o mask” 表示我们不做mask操作;“w/o sorting”表示我们随机打乱标签序列以扰乱其原始的顺序。

误差分析

LLS代表the length of the label sequence,BR代表  Binary Relevance模型。

注意力可视化

参考文献

[1]. Pengcheng Yang, Xu Sun, Wei Li, Shuming Ma, Wei Wu, Houfeng Wang:SGM: Sequence Generation Model for Multi-label Classification. COLING 2018: 3915-3926

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民小飞侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值