Exploiting Cloze Questions for Few Shot Text Classification and NaturalLanguage Inference翻译
Abstract
一些NLP任务可以以完全无监督的方式解决,方法是用自然语言提供预先训练过的带有“任务描述”的语言模型(例如,Radford等人,2019)。虽然这种方法的性能不如监督方法,但我们在这项工作中表明,这两种思想可以结合起来:我们引入了PatternExploiting Training (PET),这是一种半监督训练过程,它将输入示例重新制定为完形式短语,以帮助语言模型理解给定的任务。然后使用这些短语为大量未标记的示例分配软标签。最后,对得到的训练集进行标准监督训练。对于一些任务和语言,PET在低资源环境下的表现远远优于监督训练和强半监督方法。
1 Introduction
从例子中学习是许多NLP任务的主要方法:在一组标记的例子上训练模型,然后从这些例子推广到不可见的数据。由于大量的语言、领域和任务以及注释数据的成本,在实际的NLP使用中,通常只有少量的标记示例,这使得少片段学习成为非常重要的研究领域。不幸的是,将标准监督学习应用于小型训练集往往效果不佳;许多问题很难从仅仅看几个例子来理解。例如,假设我们有以下几段文本:
• T1: This was the best pizza I’ve ever had.
• T2: Y ou can get better sushi for half the price.
• T3: Pizza was average. Not worth the price.
此外,假设我们被告知T1和T2的标记分别是l和l0,并被要求推断T3的正确标记。仅根据这些例子,这是不可能的,因为对于l和l0都可以找到合理的理由。然而,如果我们知道基本任务是识别文本是否说明了任何关于价格的内容,那么我们可以轻松地将l0分配给T3。这说明,当我们还拥有任务描述(即帮助我们理解任务内容的文本解释)时,仅从少数示例解决任务将变得容易得多。
随着预训练语言模型(PLMs)的兴起,如GPT (Radford等人,2018)、BERT (Devlin等人,2019)和RoBERTa (Liu等人,2019),提供任务描述的想法对于神经体系结构已经变得可行:我们可以arXiv:2001.07676v3 [cs.]只需将这种自然语言描述添加到输入中,并让PLM预测解决任务的延续(Radford等人,2019;普里和卡坦扎罗,2019年)。到目前为止,这一想法主要是在没有任何训练数据的零射击场景下考虑的。
在这项工作中,我们展示了在少镜头设置下,提供任务描述可以成功地与标准监督学习相结合:我们引入了模式利用训练(PET),这是一种半监督训练过程,使用自然语言模式将输入示例重新制定为完形句。如图1所示,PET分为三个步骤:首先,针对每个模式,在小训练集T上对单独的PLM进行微调。然后使用所有模型的集合对一个大型的无标签数据集D进行软标签标注。最后,在软标记数据集上训练标准分类器。我们还设计了iPET,这是PET的迭代变体,该过程随着训练集规模的增加而重复。
在多语言的多样化任务集上,我们表明,在给定少量到中等数量的标记示例的情况下,PET和iPET大大优于无监督方法、有监督训练和强半监督基线。
2 Related Work
Radford等人(2019)以自然语言模式的形式为阅读理解和问答(QA)等具有挑战性的任务的零距离学习提供了提示。这种思想已应用于无监督文本分类(Puri和Catanzaro,2019)、常识知识挖掘(Davison等人,2019年)和论证关系分类(Opitz,2019年间)。Srivastava等人(2018)使用任务描述进行零击分类,但需要语义解析器。对于关系提取,Bouraoui等人(2020年)自动识别表示给定关系的模式。Mc Cann等人(2018)将几个任务重新表述为QA问题。Raffel et al.(2020)将各种问题定义为语言建模任务,但它们的模式与自然语言很相似,不适用于少数镜头学习。
最近的另一项工作使用完形填空式短语来探究plm在训练前获得的知识;这包括探索事实和常识知识(Trinh和Le, 2018年;Petroni等人,2019年;王等,2019;Sakaguchi等人,2020年)、语言能力(Ettinger, 2020年;Kassner和Sch¨utze, 2020年)、对罕见词的理解(Schick和Sch¨utze, 2020年)和执行符号推理的能力(Talmor等人,2019年)。Jiang等人(2020)考虑了寻找表达给定任务的最佳模式的问题。
在NLP中进行少镜头学习的其他方法包括从相关任务中挖掘例子(Y u等人,2018;顾等,2018;窦等,2019;钱宇,2019;Yin等人,2019)和使用数据增强(Xie等人,2020;Chen et al, 2020);后者通常依赖于反向翻译(Sennrich et al, 2016),需要大量并行数据。使用文本类描述符的方法通常假设有大量的例子可用于类的一个子集(例如,Romera-Paredes和Torr, 2015;V eeranna等,2016;叶等人,2020年)。相比之下,我们的方法不需要额外的标记数据,并提供了一个直观的界面来利用特定于任务的人类知识。
iPET背后的思想——根据前几代人标记的数据训练多代模型——与词义消除歧义的自我训练和自举方法(Y arowsky, 1995)、关系提取(Brin, 1999;Agichtein和Gravano, 2000年;Batista等人,2015),解析(McClosky等人,2006;Reichart和Rappoport, 2007;Huang和Harper, 2009)、机器翻译(Huang等人,2018)和序列生成(He等人,2020)。
3 Pattern-Exploiting Training
假设 M 表示一个预训练语言模型,词汇表记做 V ,其中包含一个[MASK](原文作者用下划线表示),L 表示目标任务 A 的所有标签集合。任务A的输入记做X=(s1,s2…sk)。其中si表示一个句子。如果k=2,则输入的X是两个句子,通常在自然语言推理或文本蕴含任务中使用。定义一个函数P,其将X作为输入,输出P(X)表示将X转化为带有[MASK的phrase;定义一个映射:v:L→V其表示将每个标签映射到具体的词。例如在情感分析中,我们可以为 positive标签寻找一个词great作为替代。最终(P,v)作为pattern-verbalizer-pair(PVP)。
使用PVP (P, v)可以使我们解决任务A如下:给定一个输入x,我们应用P得到一个输入表示P (x),然后由M处理,以确定标签y∈L,其中v(y)是掩码最可能的替代品。例如,考虑这样一个任务:确定两个句子a和b是相互矛盾的(标记为y0)还是相互一致的(标记为y1)。对于这个任务,我们可以选择模式P (a, b) = a?[MASK]b。结合一个将y0映射到“Yes”和将y1映射到“No”的语言赋值器v。给出一个输入对的例子
任务现在从必须分配一个没有内在意义的标签变成回答是否最可能的选择掩码位置.
is “Yes” or “No”.
3.1 PVP Training and Inference
设p = (p, v)为PVP。我们假设可以访问一个小的训练集T和一个(通常大得多的)未标记示例d集合。对于每个序列z∈V *,它只包含一个掩码标记和w∈V,我们用M(w | z)表示语言模型在掩码位置分配给w的非规范化分数。给定某个输入x,我们定义标签l∈L的分数为
并使用softmax获得标签上的概率分布:
我们使用qp(l | x)和训练示例(x, l)的真(一热)分布之间的交叉熵-对所有(x, l)∈T求和-作为对M对p进行优化的损失。
3.2 Auxiliary Language Modeling
在我们的应用程序场景中,只有少数训练示例可用,可能会发生灾难性的遗忘。由于一些PVP的PLM微调仍然是一个语言模型的核心,我们通过使用语言建模作为辅助任务来解决这个问题。LCE表示交叉熵损失,LMLM语言建模损失,我们计算最终损失为
最近,Chronopoulou等人(2019)在一个数据丰富的场景中应用了这一想法。由于LMLM通常比LCE大得多,在初步实验中,我们发现α = 10−4的小值始终能得到良好的结果,所以我们在所有的实验中都使用了它。为了获得用于语言建模的句子,我们使用无标记集合D。然而,我们不直接对每个x∈D进行训练,而是在P (x)上进行训练,在P (x)上我们从不要求语言模型为掩码槽预测任何东西。
3.3 Combining PVPs
我们的方法面临的一个关键挑战是,在缺乏大型开发集的情况下,很难确定哪些pvp表现良好。为了解决这个问题,我们使用了类似于知识蒸馏的策略(Hinton等人,2015年)。首先,我们定义了一组PVPs,这些PVPs对给定任务a具有直观意义,然后我们使用这些PVPs如下所示:
(1)如3.1节所述,我们为每个p∈p微调一个单独的语言模型Mp。由于T很小,即使对于大量的PVPs,这种微调也是廉价的
(2)我们使用经过优化模型的集合M = {Mp | p∈p}来注释来自D的例子。我们首先将每个例子x∈D的非归一化类分数合并为
其中Z = P P∈P w(P), w(P)是PVPs的加权项。我们对这个权重项进行了两种不同的实现:要么对所有p简单地设置w(p) = 1,要么将w(p)设置为训练前在训练集中使用p获得的精度。我们把这两种变体称为统一的和加权的。Jiang等人(2020)在zero-shot设置中使用类似的想法。
我们使用softmax将上述分数转换为概率分布q。根据Hinton等人(2015),我们使用温度T=2来获得适当的软分布。所有配对(x,q)都收集在(软标记)训练集TC中。
3.4 Iterative PET (iPET)
Exploiting Cloze Questions for Few Shot Text Classification and NaturalLanguage Inference翻译相关推荐
- 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference 随着 ...
- 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文信息 名称 内容 论文标题 Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inf ...
- 【论文分享】PET:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文链接:https://arxiv.org/pdf/2001.07676.pdf 时间:2021年1月 特点:多模板 目录 背景 模型 PVP定义 组合PVP P: V: 结构 实验 背景 在小样本 ...
- 文献阅读——Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
附注 这篇文章中在最终提到模型的时候使用了一个 "知识蒸馏" 的点,这点需要注意.如果不懂的话,请参考知识蒸馏基本原理 其实,这里的知识蒸馏主要是在预训练模型的Fine-tunin ...
- 论文解读: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
前言:在自然语言研究领域,某些自然语言处理任务可以利用"预训练模型+任务描述"方式的无监督学习来解决.然而,已有的"预训练模型+任务描述"的无监督学习方法不如有 ...
- 小样本学习记录————文本中特征空间的数据增强MEDA: Meta-Learning with Data Augmentation for Few-Shot Text Classification
MEDA: Meta-Learning with Data Augmentation for Few-Shot Text Classification 出发点 数据增强 球合成器 合成模块Synthe ...
- Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification
1 标题+作者 KPT,将知识引入Prompt Verbalizer 处理文本分类任务,清华大学 2 摘要 在低数据场景下,Prompt-tuning(PT)比fine-tuning(FT)效果好,P ...
- TensorFlow版本的BERT微调:Fine Tune BERT for Text Classification with TensorFlow
文章目录 写在前面 Project Structure Task 2: Setup your TensorFlow and Colab Runtime. Install TensorFlow and ...
- Bag of Tricks for Efficient Text Classification论文阅读及实战
本文目录 一.Fasttext算法综述 二.原理介绍及优化策略 三.Fasttext算法实战(注:以下代码仅在Linux系统下使用!) 四.参考资料 本文目录(仅做浏览用,暂时不支持页面内跳转) 一. ...
最新文章
- 虚拟服务器的运行原理,虚拟机复制的工作原理
- AI一分钟 | 特斯拉做空者频频“找茬”;自动驾驶汽车事故调查:人为是主因...
- 建设公司的技术+企业客户的沟通=极致运行的网站
- Celt Codec简单使用方法
- Andlinux 使用记录(转)
- css之absolute
- 基于abtest思想的流量切换(nginx lua redis)
- php asserttrue,PHP8.0的新特性:错误处理方面已经改进
- XML入门的常见问题
- 用crontab命令实现每天定时的病毒扫描
- libgdx学习记录5——演员Actor
- 我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比
- Word VBA-标题设置
- 服务器三块硬盘missing,服务器阵列崩溃、硬盘损坏、分区表丢失、红屏,还好数据救回来了...
- 在IT行业中扮演技术支持和程序员的未来分析
- sqlserver把某个字段多行逗号隔开
- 移动研发平台EMAS 3.0全新升级,欢迎登陆阿里云官网搜索EMAS进行体验
- OpenWrt 版本发展历史简介
- [乐评]写一点关于我心中的小女人
- JS实现AST抽象语法树问题