前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICML 2020 | 显式引入对分类标签的描述,如何提高文本分类的效果?

ICML 2020 | 显式引入对分类标签的描述,如何提高文本分类的效果?

作者头像
AI科技评论
发布2020-06-17 18:00:25
1.3K0
发布2020-06-17 18:00:25
举报
文章被收录于专栏:AI科技评论AI科技评论

本文介绍的是ICML2020论文《Description Based Text Classification with Reinforcement Learning》,论文作者来自香侬科技。

作者 | 香侬科技

编辑 | 丛 末

论文链接:https://arxiv.org/pdf/2002.03067.pdf

1

简介

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

今天,我们给大家介绍被 ICML2020接收的一篇文章:基于类别描述的文本分类模型。

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

  • 模板法——对每个标签静态地指定一个描述;
  • 抽取法——对每个标签在输入文本中抽取一段文字作为描述;
  • 生成法——动态地根据输入的文本为每个标签生成一段描述。

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

2

文本分类中的标签

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

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

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

经典的文本分类方法是把待分类标签视为简单的下标。如当前的输入文本是“这个电影真好看”,需要分类的标签是{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取得显著更好的效果。

3

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

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

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

1、抽取式模型(Ext.)

首先我们来看如何从文本中抽取一段作为标签描述。设输入文本是

,对每个标签

,我们要构造一个描述

,这个描述是输入文本中的一段,记为

。这就等价于选取一个初始下标

和一个终止下标

,可以参数化为:

就是对标签

,从文本

中选取下标

作为起始下标的概率;而

就是选取

为终止下标的概率。这样,把这两个相乘,就得到了选取整个文本段

作为描述的概率:

在选取了描述之后,就把描述和文本拼接起来一起送入模型,让模型输出一个概率值,判断文本是否具有该标签,这就可以作为强化学习中的奖励(Reward),记为

。如此一来,我们就可以用REINFORCE算法去更新参数:

2、生成式模型(Abs.)

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

具体地说,对每个标签

,我们使用一个公有的序列到序列模型生成它的描述:

对不同的

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

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

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

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

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

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

4

实验

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

  • 单标签分类指每个输入文本只有一个标签。数据集有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是用模板作为要生成的描述去初始化模型。结果如下图所示。

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

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

5

小结

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 文本分类中的标签
  • 使用强化学习来学习标签描述
  • 实验
  • 小结
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档