【论文解读 COLING 2018 Best evaluation| SGM】SGM: Sequence Generation Model for Multi-Label Classification

论文题目:SGM: Sequence Generation Model for Multi-Label Classification

论文来源:COLING 2018,Best evaluation

论文链接:https://www.aclweb.org/anthology/C18-1330/

代码链接:https://github.com/lancopku/SGM

关键词:多标签分类(MLC),序列生成

这篇文章是COLING 2018Best evaluation



1 摘要

本文要解决的是NLP领域的多标签分类问题。

现有方法的不足

  • 忽视标签间关联;
  • 没有考虑到文本的不同部分对预测不同标签的贡献度不同。

本文提出

多标签分类任务视为序列生成问题,使用序列生成模型和新颖的解码器结构以解决该问题。

实验结果证明本文提出的方法不仅可以捕获标签间的关联,还可以在预测不同的标签时自动挑选信息量最大的单词

2 引言

现有方法的不足

(1)传统方法

  • Binary relevance(BR):忽视标签间关联;
  • Classifier chains(CC):对于大型数据集计算昂贵;
  • ML-DT, Rank-SVM, ML-KNN:只能捕获一阶/二阶的标签关联;考虑高阶的标签间关联计算昂贵。

(2)基于神经网络的方法

  • 忽视标签间关联;
  • 没有考虑到文本在预测标签时的贡献度不同

本文提出

使用序列生成模型解决MLC问题。

模型由编码器和带有注意力机制解码器组成。

(1)编码器使用LSTM序列地生成标签,并基于其之前预测出的标签预测下一个标签。因此,模型利用LSTM结构考虑到了标签之间的序列依赖关联

(2)使用注意力机制,权衡文本的不同部分在预测不同标签时的贡献度。

(3)解码器使用全局嵌入,以进一步提升模型的性能。


贡献点

(1)将MLC任务视为序列生成问题,将标签间关联纳入考虑;

(2)提出带有新颖编码结构的序列生成模型,不仅捕获到了标签间的关联,还在预测不同标签时自动挑选了最有信息量的单词;

(3)实验结果证明了本文方法的有效性。进一步分析也证明了本文方法可以有效学习到关联表示。


3 方法

3.1 概览

MLC任务

给定有 L L L个标签的标签空间 L = { l 1 , l 2 , . . . , l L } \mathcal{L} = {\{l_1, l_2, ..., l_L}\} L={l1,l2,...,lL},以及包含 m m m个单词的文本 x x x,目的是从标签空间 L \mathcal{L} L x x x分配包含 n n n个标签的子集 y y y

从序列的角度,MLC任务可以建模为找到最优的标签序列 y ∗ y^* y最大化条件概率 p ( y ∣ x ) p(y|x) p(yx)。条件概率计算如下:

在这里插入图片描述


模型概览

模型如图1所示。

  • 首先,针对每个样本,根据标签在训练集中出现的频率对该样本中的标签进行排序,出现频率高的标签放在前面。并将bos和eos标签分别添加到序列的头和尾。
  • 使用LSTMattention编码文本序列 x x x,在 t t t时间步得到的上下文向量为 c t c_t ct
  • 解码器将 c t c_t ct、上个隐状态 s t − 1 s_{t-1} st1和嵌入向量 g ( y t − 1 ) g(y_{t-1}) g(yt1)作为输入,得到 t t t时间步的隐状态 s t s_t st
  • 其中 y t − 1 y_{t-1} yt1是在时间步 t − 1 t-1 t1预测出的在标签空间 L \mathcal{L} L上的概率分布,函数 g g g将其作为输入,以得到嵌入向量,然后输入给解码器。
  • 最终,使用masked softmax层得到概率分布 y t y_t yt

3.2 序列生成

整个序列生成模型包括编码器带有attention的解码器

1、编码器

  • 输入为有 m m m个单词的句子 ( w 1 , w 2 , . . . , w m ) (w_1, w_2, ..., w_m) (w1,w2,...,wm) w i w_i wi是第 i i i个单词的one-hot表示。
  • 使用嵌入矩阵 E ∈ R k × ∣ ∣ V ∣ \mathbf{E}\in \mathbb{R}^{k\times |\mathcal{|V|}} ERk×V将单词 w i w_i wi编码成向量 x i x_i xi
  • 使用Bi-LSTM建模文本序列 x x x,拼接两个方向的隐状态作为 i i i个单词的表示。

2、注意力

动机:模型预测不同的标签时,文本单词的贡献度是不同的。

因此,使用attention机制为时间步 t t t时的 i i i个单词分配权重 α t i \alpha_{ti} αti

  • W a , U a , v a W_a, U_a, v_a Wa,Ua,va是权重参数
  • s t s_t st是解码器在时间步 t t t的当前的隐状态
  • 为了简化,本文忽视了偏置项

使用如下公式得到最终输入给解码器的上下文向量 c t c_t ct


3、解码器

使用如下公式计算解码器在时间步 t t t的隐状态 s t s_t st

g ( y t − 1 ) g(y_{t-1}) g(yt1)是在分布 y t − 1 y_{t-1} yt1下,概率最高标签的嵌入 y t − 1 y_{t-1} yt1是在时间步 t − 1 t-1 t1时,在标签空间 L \mathcal{L} L上的概率分布,计算如下:

  • W o , W d , V d W_o, W_d, V_d Wo,Wd,Vd是权重参数
  • I t ∈ R L I_t\in \mathbb{R}^L ItRLmask向量,目的是阻止解码器预测重复的标签
  • f f f是非线性激活函数

损失函数是交叉熵损失,应用beam search算法找到top-ranked的预测路径,以eos结尾的预测路径被添加到候选路径集合中。


3.3 全局嵌入

曝光偏置问题

(1)什么是曝光偏置

g ( y t − 1 ) g(y_{t-1}) g(yt1)只利用 y t − 1 y_{t-1} yt1中的最大值。序列生成模型是根据之前预测出的标签预测下一个标签。因此,如果在某个时间步预测错了,很有可能后面预测的一系列标签都是错误的,这就是曝光偏置问题。


(2)如何解决

1)beam search

beam search算法可以缓解这一问题,但不能从根本上解决这一问题,因为曝光偏置现象可能出现在所有的候选路径中。

2)利用标签分布的所有信息

y t − 1 y_{t-1} yt1表示在 t − 1 t-1 t1时预测的概率分布,其包含的所有信息都有助于预测当前时间步 t t t的标签。将 y t − 1 y_{t-1} yt1中包含的所有有用信息纳入考虑,应有助于缓解曝光偏置问题。


(3)解决方法

基于以上的动机,作者提出一个新的解码器结构,以考虑上一时间步的所有信息。受highway network[1]中自适应门的启发,作者引入全局嵌入。对上一时间步的所有标签嵌入进行加权求和,得到当前的标签嵌入。

  • e e e:分布 y t − 1 y_{t-1} yt1中概率最高的标签的嵌入;
  • e ˉ \bar{e} eˉ:时间 t t t时标签嵌入的加权和;
  • y t − 1 ( i ) y^{(i)}_{t-1} yt1(i) y t − 1 y_{t-1} yt1的第 i i i个元素;
  • e i e_i ei:第 i i i个标签的嵌入向量。

得到 e ˉ \bar{e} eˉ后,利用下式得到结合了原始嵌入加权嵌入的全局向量 g ( y t − 1 ) g(y_{t-1}) g(yt1)

其中 H \mathbf{H} H是控制加权嵌入比例的转换门

全局向量利用了每个标签的概率信息,使得模型减少了之前时间步错误的预测所带来的损害,从而使模型更准确地预测标签序列。


4 实验

4.1 数据集

  • Returers Corpus Volume Ⅰ(RCV1-V2):新闻故事数据集,每个新闻故事可以有多个主题;
  • Arxiv Academic Paper Dataset(AAPD):作者自己构建的学术论文数据集,每篇论文可以有多个主题。

4.2 评价指标

  • Hamming-loss:被错分的实例-标签对所占的比例
  • Micro-F1

4.3 Baselines

  • Binary Relevance
  • Classifier Chains
  • Label Powerset
  • CNN
  • CNN-RNN

4.4 实验结果


4.5分析讨论

4.5.1 全局嵌入的探究

表2中可以看出全局嵌入可以有效提升模型的能力。这是因为全局嵌入将上一时间步中所有可能的标签信息都考虑到了,丰富了模型预测当前标签的信息源。

作者在RCV1-V2数据集上进行实验,探究模型受原始嵌入 e e e和加权平均嵌入 e ˉ \bar{e} eˉ这两种嵌入比例的影响。时间 t t t时最终的嵌入向量计算如下:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210127210547627.png)

λ = 0 \lambda=0 λ=0表示不考虑全局嵌入。在解码器使用不同的 λ \lambda λ值进行实验,结果如图2所示。

图2中的红色虚线表示使用自适应门的效果。实验结果不仅证明了全局嵌入的有效性,还证明了自适应门的有效性。自适应门可以根据实际情况自动选取最合适的 λ \lambda λ值。


4.5.2 mask和sorting的影响

本文提出的方法可以看做是在传统Seq2seq模型基础上的扩展

本文提出的方法加入了mask模块,目的是阻止模型预测重复的标签。此外,本文还根据标签在训练集中出现的频率,对每个样本中的标签进行了排序

作者在RCV1-V2数据集上进行实验,以探究mask模块和sorting的影响。实验结果如表3所示。其中 w / o w/o w/o s o r t i n g sorting sorting随机打乱标签序列。

(1)有全局嵌入的模型在该实验上的性能下降比没有全局嵌入的模型要大得多;

(2)随机打乱标签序列对两个模型的性能影响都不大。这是因为该数据集的标签基数很小,本文的方法不太容易预测重复标签

(3)此外,本文的模型使用最大似然估计交叉熵损失进行训练的,需要人工预定义输出标签的顺序。因此,对标签进行排序对模型的性能很重要


4.5.3 错误分析

实验发现,当标签序列的长度(LLS)增加时,所有的方法性能都下降了。为了探究LLS的影响,作者将测试集基于不同的LLS划分为不同的子集。图 3对比了SGM模型和BR模型在该实验上的结果。SGM模型总是比BR模型表现好。

随着LLS的增加模型性能下降,这说明了当模型预测更多的标签时,需要更多的信息,因此当LLS较大时,模型很难准确预测所有的标签。


4.5.4 attention可视化

当模型预测不同的标签时,不同单词的贡献是不同的。SGM模型使用attention机制,挑选处理最有信息量的单词。


4.5.5 Case Study

表 5可以看出高度相关的标签很有可能在预测出的标签序列中同时出现。然而BR模型就不能捕获到这种标签间的关联信息。

本文提出的SGM模型利用LSTM序列地生成标签,因此捕获到了标签间的关联信息。尽管有一些真实标签的特征信息不充足,SGM仍然可以利用已经成功预测出来的和其相关的标签的信息,从而正确地生成该标签。

全局嵌入的引入丰富了模型在预测时的信息源。通过考虑上一时间步概率分布中的所有信息,使得全局嵌入更加平滑,缓解了曝光偏置问题。


5 总结

本文解决的是多标签分类问题,提出SGM模型,建模标签间关联,将多标签分类任务看成序列生成问题。

实验结果表明,本文的方法不仅可以捕获标签之间的关联,还可以在预测不同标签时自动挑选最有价值的单词

这一任务的挑战是:当一个样本的标签数量很多时,如何准确预测这些标签。本文提出的方法缓解了这一问题,未来需要进行更多的探究。


本文的亮点在于将MLC任务建模成了序列生成问题。

本文提出的SGM模型并不复杂,使用LSTM捕获了标签间的序列依赖关联,在传统的Seq2seq模型中引入了mask模块排序机制,还引入了全局嵌入

(1)mask模型的目的是防止模型重复预测标签;

(2)排序的引入是序列生成任务的特性所决定的。因为生成的序列是有顺序的,即根据已有的序列预测下一个。因此,SGM在训练时除了使用到分类任务常用的交叉熵损失外,还使用到了极大似然估计。所以,需要人为定义一个标签的顺序。SGM模型选择根据标签在训练集中出现的频率高低,针对每个样本,从高到低对标签进行排序。

(3)解码器中引入了全局嵌入,是将上一时间步预测出的标签概率分布的所有信息都纳入考虑,不仅仅只考虑概率最大的那个标签的信息。这样做丰富了模型在预测下一个标签时的已知信息源,可以缓解曝光偏置问题,也可以在一定程度上提高模型在样本标签较多的情况下的预测准确度。

如果在样本的标签数量较多的情况下,准确预测这多个标签,仍然是该任务所面临的挑战。

这篇文章是COLING 2018Best evaluation,实验做的非常充分,很有说服力,值得借鉴学习。


参考文献

[1] Rupesh Kumar Srivastava, Klaus Greff, and J¨ urgen Schmidhuber. 2015. Highway networks. CoRR, abs/1505.00387.

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页