论文链接: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