ICML 2020 | 基于类别描述的文本分类模型

论文标题:

Description Based Text Classification with Reinforcement Learning

论文作者:

Duo Chai, Wei Wu, Qinghong Han, Fei Wu and Jiwei Li

论文链接:

https://arxiv.org/pdf/2002.03067.pdf

收录情况:

ICML 2020


一般来说,模型越深效果越好。但是同时,模型越深也更难训练——即无法收敛到训练集上一个好的值。

今天,我们给大家介绍近期香侬科技被ICML2020接受的的一篇文章基于类别描述的文本分类模型

该模型的主要思想是:通过显式地引入对分类标签的描述提高文本分类的效果。我们提出了三种方法引入这种描述:

  • 模板法——对每个标签静态地指定一个描述;

  • 抽取法——对每个标签在输入文本中抽取一段文字作为描述;

  • 生成法——动态地根据输入的文本为每个标签生成一段描述。

使用这种技术,我们能够在单标签文本分类、多标签文本分类和多角度情感分析任务的10个数据集上取得显著更好的效果

文本分类中的标签

文本分类是自然语言处理中非常重要的一项任务,它要求模型判断输入文本的类别,如情感、评分、类型等。

从分类数量上说,分为单标签分类和多标签分类,前者指每个文本只有一个标签类,后者指每个文本可以有多个标签类。

从任务类型讲,可以分为文档分类、情感分析等,前者指对整个输入文本分类(可以是单标签或多标签),后者指对文本的多种情感判断类别。

经典的文本分类方法是把待分类标签视为简单的下标。如当前的输入文本是“这个电影真好看”,需要分类的标签是{1:积极,0:消极},模型接受文本之后,输出的是0或者1,代表分类结果。

显然,用这种分类方法,模型完全无视了“积极”和“消极”的语义,对更复杂标签,这无疑是一种“语义浪费”。我们想要把标签提供的信息利用起来。

鉴于此,我们提出在输入文本的同时,也输入对标签本身的描述,比如牛津词典对“positive”的定义(描述)是:“full of hope and confidence, or giving cause for hope and confidence”。

把这个描述和原始文本拼接在一起,送入模型,模型输出一个概率值,代表当前文本具有该标签类的可能性。如此,我们就能充分利用标签本身提供的语义。

但是如果待分类文本的标签数很多(甚至上百个标签),一个一个为他们人工构造描述也是件麻烦的事情,况且人工构造的也不一定“准确”。

为此,我们期望模型能动态地、根据输入句子的不同自动构造出一个描述来。

因而,我们又提出了两种方法:抽取文本中的一段作为描述,和使用一个语言模型从头生成一段描述。这两种方法都可以使用强化学习得以实现。

这三种方法的一个例子如下。对当前输入的文本,我们现在要去判断它是否属于“car”这个标签,而“car”的模板描述、抽取描述和生成描述分别如图所示。

这种基于标签描述的方法有以下好处:

  • 融入了标签语义,而不仅仅是简单的下标,使得模型更好地进行分类;

  • 可以很轻松地进行多分类,只需要一个一个判断标签即可;

  • 得到标签描述具有一定的灵活性,不限于人工定义的标签描述。

用这种方法,我们能够在单标签分类数据集AGNews, 20news, DBPedia, Yahoo, YelpP,IMDB,多标签分类数据集Reuters,AAPD,和多方面情感分析数据集BeerAdvocate,TripAdvisor取得显著更好的效果。

使用强化学习来学习标签描述

下面的问题是:对每个标签和每个输入,如何得到该标签的描述。模板法(Tem.)不必多说,我们简单使用维基百科的定义作为模板。

由于我们没有显式提供每个标签应该抽取或生成怎样的描述,我们自然想到使用强化学习。

 | 抽取式模型(Ext.)

首先我们来看如何从文本中抽取一段作为标签描述。设输入文本是,对每个标签,我们要构造一个描述,这个描述是输入文本中的一段,记为。这就等价于选取一个初始下标和一个终止下标,可以参数化为:

就是对标签,从文本中选取下标作为起始下标的概率;而就是选取为终止下标的概率。这样,把这两个相乘,就得到了选取整个文本段作为描述的概率:

在选取了描述之后,就把描述和文本拼接起来一起送入模型,让模型输出一个概率值,判断文本是否具有该标签,这就可以作为强化学习中的奖励(Reward),记为。如此一来,我们就可以用REINFORCE算法去更新参数:

 | 生成式模型(Abs.)

同样地,生成式模型使用一个序列到序列的模型去从头生成描述,而不是从输入文本中选取下标。

具体地说,对每个标签,我们使用一个公有的序列到序列模型生成它的描述:

对不同的,我们在编码端和解码端的每一步额外添加一个标签表示向量

和抽取式模型不同,生成式模型每次的 行为(Action) 是从词表中选取一个词,而词表往往非常大,这就可能导致方差变大,使得训练不稳定。

为此,我们使用REGS——Reward for Every Generation Step去缓解这个问题。

在REINFORCE里,一个句子的reward在生成结束之后才能得到,换句话说,对解码端的每一步,它们收到的reward是相同的。

而在REGS里,我们使用一个判别器,对每一步赋予不同的reward:

序列到序列模型使用标签模板初始化(即将文本作为输入,将标签模板作为输出)。

实验

为了验证该方法的有效性,我们在三类文本分类任务上实验:单标签分类、多标签分类和多方面情感分析。

  • 单标签分类指每个输入文本只有一个标签。数据集有AGNews, 20newsgroups, DBPedia, YahooAnswers, YelpReviewPolarity, IMDB。

  • 多标签分类指每个输入文本可能有多个标签。数据集有Reuters, AAPD。

  • 多方面情感分析指输入文本可能涉及多个方面,每个方面需要分类各自的标签。数据集有BeerAdvocate和TripAdvisor。

我们的基线模型主要有LSTM和BERT-base。我们同样使用BERT-base作为主干模型。

下表是在单标签分类任务上的结果(错误率,越小越好)。首先可以看到,基于标签描述的方法都优于BERT-base;其次,抽取式和生成式的描述生成方法平均优于基于模板的方法。

下表是多标签分类任务上的结果,基于标签描述的方法具有显著更小的F1错误率。

然后是多方面情感分析任务的结果。和BERT-base相比,我们的方法可以取得大幅度的提高,这是因为我们能从若干的情感方面中针对每个不同的方面,从文本中提取关于它的最重要信息,而不是一次性考虑所有的方面。

接下来看看如果我们把模板法中的模板替换会有怎样的变化。

具体地,我们尝试了四种不同的模板:下标(类似最传统的方法,把每个标签视为一个字符串似的数字,如"one","two")、关键词(把每个标签描述为单个关键词)、关键词拓展(把每个标签用多个近义的关键词描述)和维基百科定义(本文的方法)。

结果如下表所示:

显然,下标模板和传统方法没有区别,而其他方法都有所提升;多个关键词好于单个关键词,而更完备的描述(如维基百科定义)会提供更丰富的标签语义信息,故得到最好的效果。

下面再来看看文本长度、训练集大小和收敛速度的影响。如下图所示,我们不难得到以下结论:

  • 随着文本长度的增加,原始方法(BERT)的效果迅速下降,而使用标签描述的方法由于标签本身具有的语义,模型的效果比BERT显著更好;

  • 训练集越小,各模型效果越差,但相比BERT,基于标签描述的方法具有更好的小样本表现,这说明基于标签描述的方法在小样本上有更好的泛化能力;

  • 模板法由于提供的是静态的标签描述,故模型能够快速收敛,相比之下,生成式模型需要去学习如何生成标签描述,故开始训练时效果并不好,但随着训练的进行,它最终也能够收敛并取得更好的结果。

最后来探究不同初始化方法的影响。众所周知,强化学习难以训练和收敛,所以一个号的初始化可以极大加快收敛。

我们在Yahoo和AAPD两个数据集上,对抽取式和生成式模型进行不同的初始化,然后用强化学习训练。

对抽取式(Ext),我们探究三种初始化方法:dummy Init是以选择dummy token的方法初始化模型,ROUGE-L Init是选择和模板描述相比得到最大的ROUGE-L得分的文段,random Init是随机初始化。

对生成式(Abs),template Init是用模板作为要生成的描述去初始化模型。结果如下图所示。

可以看到,几种初始化方法对抽取式而言差别不是很大,即使是随机初始化也可以实现可以接受的准确率,但是对生成式而言,随机初始化无法使模型收敛。

这是因为抽取式模型的搜索空间更小,因为它只需要选择文段,而生成式模型的搜索空间是所有可能的句子,随机初始化无法导致收敛。

小结

我们提出了基于标签描述的文本分类方法,该方法为每个标签提供一段文本描述,或是由模板得到,或是文本中的一段,或者是动态生成的一个句子。

我们使用强化学习训练标签描述生成模型,然后把生成的标签和文本拼接在一起,让模型判断文本是否具有该标签。

实验表明,这种方法能够在单标签分类、多标签分类和多方面情感分析任务上取得显著的效果,尤其是对复杂的标签(如多方面情感分析)体系,该方法具有突出的优势。

实际上,这种方法可以看作是一种广义的问答(QA),Question就是标签描述,Document就是输入文本,Answer就是输出概率。从这个角度讲,其他许多任务都可以统一到这种框架下。

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值