查看原文
其他

【综述专栏】零样本文本分类探秘

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—陈之炎
地址:https://zhuanlan.zhihu.com/p/382407417

可以对不带任何标记的文本进行分类训练吗?

迁移学习对自然语言处理产生了巨大的影响。在NLP 领域, BERT模型的训练结果比以往更为准确,通常用更少的标记数据也能实现准确的训练。目前,微调语言模型已经成为NLP的标准程序,有人自然会好奇地问:训练特定任务时,带标记的数据真的必要吗?在本文中,研究了两个可用的零样本文本分类模型,并对它们的性能进行了评估。


零样本文本分类

零样本和少样本NLP模型是转移学习的特例:其目标是在没有任何标记数据(用于零样本学习)的情况下进行预测,或者只有少量标记数据的情况下进行预测。最著名的例子无疑是OpenAI的GPT-3,它已经被证明是一个应用广泛的、非常成功的少样本学习模型。虽然运行GPT-3超出了大多数开发人员的能力,但幸运的是,目前已经有了几个较小的替代方案。
2020年最受欢迎的两个NLP库为Flair和Transformers,二者都在各自的产品中增加了零样本分类。一方面,Flair使用了所谓的TARS分类器, “Text-Aware Representation of Sentences”的缩写,只需几行代码即可运行:
另一方面,Transformers可以在 Hugging Face model hub的零样本分类管道中使用一系列模型:
尽管二者有明显的相似之处,但这两种零样本文本分类的实现方法却迥然不同。
Transformers库中的零样本管道将文本分类视为自然语言推理(NLI)。这种方法由Yin等人于2019年开创。在NLI中,模型以两个句子作为输入——其中一个句子为前提,另一个句子为假设——通过模型训练决定假设是否与前提一致(隐含),假设是否与前提矛盾(矛盾),还是两者都不是(中立)。例如,David杀死了Goliath的前提是假设Goliath已经死了,与Goliath还活着相矛盾,无法通过上述两个句子得出Goliath是个巨人的结论。通过将需要标记的文本表述为前提,将每个候选类表述为假设,可在文本分类任务种重复使用此NLI模板。对于诸如极性分类这样的任务,前提可能是像“我喜欢这部电影”这样的观点,假设这个句子是积极的、这个句子是否定的或者这个句子是中性的,然后,由分类器确定前提和每个假设之间的关系。在单标签分类中,所有结果的分值都经过softmax,以识别单个可能性最大的类别;在多标签分类中,每个标签的隐含分值和矛盾分值均独立经过softmax,从而可以识别多个相关标签。
Flair库中的TARS分类器采用了不同的方法。与先前的方法类似,它通过将标签和文本输入到BERT分类器中,抽取出特定文本的分类结果,标签和文本用[SEP]标记分隔。二者的主要区别在于, BERT模型不是针对NLI设计的,而是一个文本分类的通用版本,训练模型通过将每个输入对标记为真或假来实现。为了确保它能够处理各种分类任务,Flair的TARS分类器在9个不同的数据集上进行了微调,应用范围涵盖极性分类和主题分类。对于单标签分类,只选择对True得分最高的分类作为最终预测;对于多标签分类,返回所有预测为True的分类。
虽然这两种零样本分类的方法听起来非常有吸引力,但它们有一个缺点:与传统的文本分类相比,每个输入文本都需要多次前向模型通路——每个候选标签都有一个前向模型通路。因此,这些模型的计算效率比更传统的文本分类器要低。不过,与昂贵的数据标签相比,对于大多数应用程序而言,这可能只是一个很小的代价。

评价

更现实的问题是零文本分类如何准确地工作?为了寻求这一答案,通过五种不同的任务对上述分类器进行了评估,内容涵盖主题分类到情绪分析。使用了 Hugging Face datasets hub上的四个数据集,确保这些数据集没有用于微调Flair的TARS分类器。并从每个项目中选择了1000个随机测试项目:
  • ·yahoo_answers_topics:来自“雅虎问答”的问题和答案,分为10个主题,如社会与文化、科学与数学。作为模型的输入,只使用其中的最优答案。
  • ·banking 77:一组来自银行领域的在线用户查询,每个查询均标记为77种意图中之一。这是一个具有挑战性的数据集,因为意图(如card_about_to_expire和card_not_working)的粒度非常细。
  • tweet_eval:为多种任务标记后的英文推文,测试了这些模型是否能够预测——愤怒、快乐、乐观或悲伤等情绪,以及推文的情绪极性——积极情绪、消极情绪或中立情绪。
  • ·financial_phrasebank:带有极性标签金融新闻句子(如:出口市场的销售额已上升):正向、负向或中性。只选取了那些注释者与标签意见一致的句子。
在测试中使用了三种不同的零样本文本分类器:Flair的TARS分类器、为NLI设计的两个Transformers模型:bart-large-mnli和roberta-large-mnli。下图显示了这三个分类器实现五项任务的准确度。结果随数据集的不同而有所区别,但有一种模式是明确的:性能最优的模型是采用NLI方法。对于“雅虎问答”的主题,bart给出了最好的准确度(39.2%),其次是TARS和Roberta,二者的准确度为 27.5%。乍一看,尽管银行任务似乎更富有挑战性,但NLI模型在这里表现得更好:它们都正确地分类了超过41%的测试项目,从而使得TARS分类器远远落后。在推文情绪分类中,Bart(73.6%)和Roberta (71.9%)都表现得非常出色,轻松击败了TARS(32.3%)。
需要对两个极性分类任务做一些额外的解释,第一次评估运行结果显示TARS的分数非常低(准确率低于33%的随机基线),通过仔细研究,发现在大多数情况下,TARS未能预测出新闻句子和tweet_eval的单一标签。为了解决这个问题,执行了第二次运行,其中让TARS对每个无标签的句子返回中性。在下图可以看到TARS的分数。对于这两个极性任务,Roberta均给出了最好的结果:推文的准确率为54.0%,金融新闻句子的准确率为58.8%。TARS和Bart在tweet_eval上获得了类似的结果,准确率分别为48.2%和49.0%。在金融新闻的句子分类任务中,TARS的表现更好,获得了 51.7%的准确率。

五种分类任务的零样本模型结果


选择良好的分类名称

在传统的监督学习中,标签的实际名称对模型的性能没有任何影响,可以随意称呼分类名称——积极的、政治性的或食蚁兽,这都没有任何区别。在零样本文本分类中,这些名称突然变得非常重要。NLI和TARS分类器均将标签本身添加到模型的输入中,所以分类名称会改变预测结果。一般来说,分类名称所包含的语义信息越多,而且它们与模型所确定的数据类型越相似,分类器执行结果会越好。

以极性分类任务为例

该任务中的传统分类名称为:积极、中立和消极,但它们不是零样本方法的最佳名称。为了验证这一点,尝试了金融新闻数据的两种替代分类名称:好消息、中性消息和坏消息,或者:好消息、中性消息和不幸的消息。如下图所示,这对分类器的准确性有很大影响。TARS(62.0%)和Bart (61.9%)比Roberta表现得更好,尽管Bart只使用了满意/不满意两种分类名称。Roberta的准确率提高了 13%,准确率超过73%。零样本分类器减少了对数据标记的需求,但同时它们引入了寻找好的分类名称的必要需求。

实际的分类名称会对零样本分类器发生重大影响


少样本学习

正如在极性分类中所看到的,TARS分类器往往存在低回调性。在具有默认分类的任务中,例如中性类,此标签可以作为后退选项,但在其他情况下,需要一个不同的解决方案。幸运的是,Flairs通过一些训练示例轻易实现了TARS微调。下面来看看如果给出模型每个分类的示例,并在小训练集上调整它,会发生什么?由于最终模型的性能将取决于所选择的训练实例,所以会重复这个过程十次,并且总是从训练语料库中随机选取这些示例。
下图显示,TARS分类器在少样本学习过程中获益匪多。对于那些没有默认分类的情况,这三项任务的影响最为明显:TARS的准确度显著跳跃,在三分之二的情况下,它与NLI模型相当。有趣的是,这种情况甚至会发生在情感数据集上,其中只使用了四个示例作为训练集。对于极性分类任务,好处不太明显,因为已经通过引入默认分类解决了回调问题,在少样本学习中,只使用三个带标记的示例。

TARS从少样本学习中获益匪多


“标记”

为了评估零样本模型的性能,可以提出这样一个问问题:分类器到底需要多少带标记的数据?为了测量这一点,在每个数据集的随机子集上对bert-base-uncased模型进行微调,分别试验了包含100、200、400和800个训练项目的数据集,并结合了100个验证项目。如上所述,重复了十次对随机选取的训练数据和验证数据的训练过程。
对于“雅虎问答”,BERT需要大约400个带标签的训练文本来击败Roberta和TARS的零样本分类器,Bart需要800个带有标签的训练文本;在意图分类任务中,零样本分类器脱颖而出,即便有800个带标签的训练实例,BERT的准确度仍然远低于NLI;对于情感分类任务而言,BERT至少需要800个带标签的训练实例才能优于零样本模型;推文的情绪极性分类也是如此,尽管差异没有那么明显。在这里, 带标签的训练实例足以击败零样本分类方法,但如果选择正确的话,用更少的带标签的训练实例也可以获得很好的性能。最后,金融新闻的极性分类问题,BERT占据了优势:即使是一个少量的标记数据集也足以超过零样本分类方法。按照上面描述的方式优化分类名称之后,最好的NLI模型在包含100个带标签的训练文本训练数据集上与BERT 微调有一拼。
换句话说,包含大约800个训练实例的数据集通常足以击败零样本分类器,除了在如银行77意图分类任务这一特定的情况下之外。

研究结论

毋庸置疑,零样本学习是迁移学习的一个特殊应用。零样本分类器在没有任何带标记的示例的情况下实现文本类别的预测,并且在某些情况下比有数百个带标记的训练集上训练的监督模型具有更高的精确度。但这也并非绝对如此——还取决于特定的任务和分类名称的仔细选择——但在正确的情况下,这些模型可以实现精准的文本分类。
与此同时,测试后的开源零样本分类器并不是一个完美的解决方案,因为它们不太可能在专门的NLP任务上给出最佳的性能。对于这样的应用程序,需要手动标记大量的示例,使用Tagalog这样的工具会带来最好的成功机会。然而,即使在这种情况下,零样本分类也非常有用,例如可以通过给添加注释人员建议潜在相关标签来加速手动标记。显然,零样本分类和少样本分类的确可以成为NLPer工具包中有用的工具。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存