[Coling2018]SGM: Sequence Geneatin Model for Multi-Label Classificatin

这篇文章是Coling2018年的best paper, 因为之前解决multi-label问题都是用分类的方法,本文提供了一种新思路,用生成的方式解决该问题。觉得还是挺新颖的,记录一下。
一:任务介绍
Multi-label classification(MLC) is to assign multiple labels to each instance in the dataset
x x x = ( w 1 w{_1} w1, w 2 w{_2} w2, …, w m w{_m} wm) 为句子长度为m个词的句子序列, L \mathcal{L} L = { l 1 l_1 l1, l 2 l_2 l2, … , l L l_L lL} 是语料中出现过的所有标签。针对句子 x x x有n个标签,n个标签的集合为 y y y 且有 y y y ⊂ \subset L \mathcal{L} L。其实就是数据集中的每个实例都可以有多个标签。举个例子就是:一个电影,既可以是悬疑片也可以是犯罪片,标签之间可以共存的,与 single-label classification的区别是,实例只能有一个标签,标签之间是互斥的
二:以往的multi-label的做法
多标签学习算法分为两大类:
1)改造数据适应算法
2)改造算法适应数据
在这里插入图片描述
以改造数据为例的三种做法
(1)二分类用L个分类器,分别对应L个标签,进行训练。
多个独立的二分类问题,比如一共有m个labels, 针对每个label 进行0/1判断,如果是0,说明该label是instance的一个标签,否则不是该实例的标签。例子:一部电影的标签集合Y = {悬疑片,喜剧片,犯罪片,科幻片} ,那对针对一部电影的标签其实就是训练4个二值分类器,缺点很明显,无法利用标签之间的关联性
(2)标签排序+二分类利用“成对比较”(pairwise comparison),获得L(L-1)/2个分类器,然后利用投票,得到标签的排序。接着,利用二分类,补充标签排序的投票结果,提高准确性。
(3)随机k标签从L个标签随机取得k个标签,重复n次,获得n个分类器。这个过程有点类似随机森林。然后利用多类分类器(multi-class,与multi-label是有区别的),训练数据,最后通过投票,如果对于某一标签,其实际获得的投票数占到最大可能的投票数一半以上,那么就认为当前实例属于该标签。

三:本文做法:

  1. 本文考虑的两点:(1) the correlations between labels,例子:一个电影如果是悬疑片,那么是犯罪片的可能性很大,是喜剧片的可能性就会很小。之前的研究工作忽视了这种情况,本文解决此问题的方法是预测当前label时将上一个输出的概率分布作为当前的输入。 (2) different parts of the text can contribute differently to predicting different labels,例子: w 1 w_1 w1 w 2 w 3 w 4 w_2w_3w_4 w2w3w4w5w6 w 7 w 8 w_7w_8 w7w8w9, 红色字体部分对预测该序列是 l a b e l 1 label_1 label1的的贡献很大,蓝色字体对预测为 l a b e l k label_k labelk的贡献很大,针对这个问题,本文用了attention mechanism解决该问题。
    本文的框架图如下:
    在这里插入图片描述

在这里插入图片描述
注意到公式 (7) 我觉得是不正确的,应该把 c t − 1 c_{t-1} ct1改成 c t c_t ct正确的写法如下:
在这里插入图片描述

  1. 本文中涉及到的处理细节:
    (1)本文是将多分类任务作为一个序列生成问题,生成的序列既是样本的类别,如果生成的序列长度为3,则该样本的类别个数就是3。
    (2)在标签序列的前后端分别添加两个特殊的字符 " bos " 和" eos ", 例如训练集中一个样本的类别标签是 y 1 y 2 y 3 y_1y_2y_3 y1y2y3, 添加前后标签后的序列是bos y 1 y 2 y 3 y_1y_2y_3 y1y2y3eos, 其中 y 1 y 2 y 3 y_1y_2y_3 y1y2y3已经排过序。
    (3)training data中label sequence的处理
    例子:对一本小说的描述文本,类别是:悬疑,犯罪,科幻,会生成以下几个序列,到底应该选择哪个正确作为gold sequence呢。
    bos悬疑喜剧科幻eos
    bos喜剧科幻悬疑eos
    bos科幻喜剧悬疑eos
    bos科幻悬疑喜剧eos
    bos悬疑科幻喜剧eos
    对样本的类别标签进行排序,按照类别标签在训练集中出现的频率排序,出现次数比较多的标签排在前面

  2. 然后本文还提到一个概念:exposure bias, 我查了资料后解释如下:
    sequence-to-sequence框架的目标序列中,当前时刻t的输入时上一时刻t-1的输出,如果t-1时刻生成的label是错误的,那么后续生成的输出也是错误的,或者是不可信的。由于某一时刻的输出错误导致的偏差,随着序列长度增加,偏差会越来越大。另外本文提到如果exposure bias出现在所有的预测路径中,那么beam search不能根本性的解决exposure bias问题。本文给出了一个解决方案解决此问题:那就是y t − 1 _{t-1} t1 是(t-1)时刻softmax之后k个label的概率分布, 将此分布经过转换后作为t时刻的一个输入,而不是将(t-1)时刻中概率最大的那个label作为t时刻的输入。

  3. global embedding
    在这里插入图片描述

  4. encode and decode
    在这里插入图片描述

在这里插入图片描述

参考文献:
https://baijiahao.baidu.com/s?id=1606110272313522266&wfr=spider&for=pc

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值