零样本和少样本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个随机测试项目: