自然语言炼丹之路(三之十)筑基丹SGM

SGM:Sequence Generation Model for Multi-Label Classification 使用序列生成模型做多标签文本分类

这是北京大学Pengcheng Yang在2018年发在Coling上的当年的best paper。
本文首次提出用序列生成的角度来做多标签分类。因为文本不同部分对不同标签的重要性不同,且多标签之间是具有相关性的,之前的做法都忽略了这两点,所以作者提出了这种基于注意力机制的序列生成模型做多标签文本分类。使用seq2seq解决标签间相关性,使用注意力机制解决不同标签的重要性。

背景知识

(一)seq2seq

(二)Attention注意力机制

(三)sigmoid和softmax以及分类器链乃至本文的解决办法

之前做分类都是softmax然后找最大值对应标签,但显然在多标签分类里比较难弄。所以我们使用多个sigmoid代替softmax,不过这也会带来两个问题:

  1. 计算量大
  2. 每个二分类器相互独立,学不到标签之间的相关性。
    这就有人提出了分类器链,即每次预测出的标签作为新的特征和之前的特征一起预测新特征,这很好地解决了标签间相关性问题,但显然在数据和标签较多时大大加剧了计算量大的问题。
    所以作者使用seq2seq解决标签间相关性,使用注意力机制解决不同标签的重要性,双向的LSTM架构+Attention可以超越分类器链的效率和精度。
(四)Mask Softmax

本文的mask softmax,是如果 l i l_i li在之前时间步已经预测过,则这个标签softmax里面加一个 − ∞ -∞ ,softmax对应概率就会变为0。

(五)Global Embedding

上一时间步预测错的话,下一时间步很大概率也预测错,这就是曝光误差问题。所以需要减少上一步影响,或者说自适应减小上一步影响。这就有了这个方法。
本文里把上一步的embedding—— e e e和全部标签的embedding—— e ‾ \overline{e} e做全连接得到权重H,再用权重和这两个embedding去计算出当前步输入下一步的embedding—— g g g。公式如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里是借鉴Highway Net(高速公路网络)或者说门控结构的思路,可以去对比一下。

SGM

首先,对label按出现频率进行排序,这样就完成由粗粒度到细粒度的标签分类排列,例如给一套题打标签,“高考"标签出现次数一定多于"物理题”。另外一个角度,出现次数多的标签会训练更好,会有助于后面标签的训练。
标签序列从<GOS>开始,<EOS>结束。
在Encoder端对特征进行双向LSTM+Attention的编码,这里把 s t s_t st h i h_i hi组合作为key和value,query像Han Attention一样自己设置了一个v。 h i h_i hi是双向LSTM对应正反向 h i h_i hi的concat(拼接)起来的组合。
在这里插入图片描述
在这里插入图片描述
Decoder端使用上一时间步信息 S t − 1 S_{t-1} St1、Attention编码后的 C t C_t Ct和上一步预测后标签 y t − 1 y_{t-1} yt1进行下一步预测。每一步预测时使用MS(mask softmax 蒙面softmax)把预测出来的标签从本次标签列表去掉,以保证每次预测到标签不会再次被预测;对于预测出的标签做GE(global embedding 全局嵌入)后加入下一时间步预测。
最后使用交叉熵损失函数和Beam Search找到top-k个标签,直到<EOS>停止。
可以看到其实也不难,主要是attention出现之前大家没这么想过。但我在拿到题目的时候只能猜到用了Seq2Seq,在看完摘要后也没有猜出全部结构,可见还是有段路要走的。
在这里插入图片描述
评价指标使用了HL和mirco-F1。HL是对预测到无关的和没预测到的一个评分。
现在主要问题是标签过多的时候准确率直线下降。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值