首页 > 其他分享 >利用完形填空问题进行少数镜头文本分类和自然语言推理

利用完形填空问题进行少数镜头文本分类和自然语言推理

时间:2023-12-21 12:04:13浏览次数:27  
标签:文本 训练 模型 样本 任务 2019 完形填空 自然语言 数据

Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference


会议地点:腾讯会议
关键词:数据蒸馏、强化学习
作者: Timo Schick Timo Schick
期刊:2021 EACL
年份:2021
论文博客

主要内容

1摘要 :

通过提供带有自然语言“任务描述”的预训练语言模型,可以以完全无人监督的方式解决某些 NLP 任务(例如,Radford 等人,2019 年)。虽然这种方法的表现不及监督方法,但我们在这项工作中展示了这两种想法可以结合起来:我们介绍了 PatternExploiting Training (PET),这是一种半监督训练程序,将输入示例重新表述为完形填空式短语,以帮助语言模型理解给定的任务。然后使用这些短语将软标签分配给大量未标记的示例。最后,对生成的训练集执行标准监督训练。

对于多种任务和语言,PET 在资源匮乏的环境中大大优于监督训练和强大的半监督方法。

2介绍:

从示例中学习是许多 NLP 任务的主要方法:模型在一组标记示例上进行训练,然后从中泛化到看不见的数据。

由于语言、领域和任务的数量众多以及注释数据的成本,在 NLP 的实际使用中通常只有少量标记示例,这使得少样本学习成为一个非常重要的研究领域。不幸的是,将标准监督学习应用于小型训练集通常表现不佳;很多问题光看几个例子是很难把握的。例如,假设我们得到以下文本片段:

T1: THIS WAS THE BEST PIZZA I'VE EVER HAD.123T2: YOU CAN GET BETTER SUSHI FOR HALF THE PRICE.T3: PIZZA WAS AVERAGE. NOT WORTH THE PRICE.

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据

此外,假设我们被告知 T1 和 T2 的标签分别是 l 和 l’,并且我们被要求推断出 T3 的正确标签。仅基于这些示例,这是不可能的,因为可以为 l 和 l’ 找到合理的理由。

然而,如果我们知道基本任务是识别文本是否提及价格,我们可以轻松地将 l’ 分配给 T3。这说明,当我们还有任务描述时,仅通过几个示例解决任务就会变得容易得多,即帮助我们理解任务内容的文本解释。

随着 GPT(Radford 等人,2018 年)、BERT(Devlin 等人,2019 年)和 RoBERTa(Liu 等人,2019 年)等预训练语言模型(PLM)的兴起,提供任务描述的想法已经成为对于神经架构是可行的:我们只需将自然语言中的此类描述附加到输入中,然后让 PLM 预测解决任务的延续(Radford 等人,2019 年;Puri 和 Catanzaro,2019 年)。到目前为止,这个想法主要是在根本没有可用训练数据的零样本场景中考虑的。

在这项工作中,我们展示了提供任务描述可以成功地与小样本设置中的标准监督学习相结合:我们介绍了模式利用训练 (PET),这是一种半监督训练程序,它使用自然语言模式将输入示例重新表述为完形填空式短语。

如图 1 所示,PET 分三个步骤工作:

首先,对于每个模式,一个单独的 PLM 在一个小训练集 T 上进行微调。 然后使用所有模型的集合来注释带有软标签的大型未标记数据集 D。 最后,在软标记数据集上训练标准分类器。我们还设计了 iPET,这是 PET 的一种迭代变体,其中随着训练集大小的增加重复此过程。

在多种语言的不同任务集上,我们表明,给定少量到中等数量的标记示例,PET 和 iPET 明显优于无监督方法、监督训练和强大的半监督基线。

+1)ETBEST PIZZA EVER!JUST GROSS.EDBEST PIZZA CVER!IT WASPLMLCEGREAT:0.8BAD :0.2+1:0.1JUST GROSS.-1:0.9(3)1+1:0.8-1:0.2FIGURE 1:PET FOR SENTIMENT CLASSIFICATION.(1) A NUM-BER OF PATTERNS ENCODING SOME FORM OF TASK DESCRIPLIONARE CREATED TO CONVERT TRAINING EXAMPLES TO CLOZE QUES-TIONS; FOR EACH PATTERN, A PRETRAINED LANGUAGE MODEL ISFINETUNED. (2) THE ENSEMBLE OF TRAINED MODELS ANNO-TATES UNLABELED DATA. (3) A CLASSIFIER IS TRAINED ON (HERESULTING SOFT-LABELED DATASET.CSDN@RICELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_迭代_02



3相关工作

雷德福等人。 (2019) 以自然语言模式的形式为阅读理解和问答 (QA) 等具有挑战性的任务的零样本学习提供提示。这一思想已应用于无监督文本分类(Puri 和 Catanzaro,2019)、常识知识挖掘(Davison 等,2019)和论证关系分类(Opitz,2019)。斯利瓦斯塔瓦等。 (2018) 使用任务描述进行零样本分类,但需要语义解析器。对于关系提取,Bouraoui 等人。 (2020) 自动识别表达给定关系的模式。麦肯等人。 (2018) 将几个任务改写为 QA 问题。拉菲尔等人。 (2020) 将各种问题定义为语言建模任务,但它们的模式只是松散地类似于自然语言,不适合小样本学习。

最近的另一项工作使用完形填空式短语来探究 PLM 在预训练期间获得的知识;这包括调查事实和常识性知识(Trinh 和 Le,2018 年;Petroni 等人,2019 年;Wang 等人,2019 年;Sakaguchi 等人,2020 年),语言能力(Ettinger,2020 年;Kassner 和 Sch ̈ utze,2020 年),理解稀有词 (Schick and Sch ̈ utze, 2020),以及进行符号推理的能力 (Talmor et al., 2019)。姜等。 (2020) 考虑寻找最佳模式来表达给定任务的问题。

NLP 中小样本学习的其他方法包括利用相关任务中的示例(Yu 等人,2018 年;Gu 等人,2018 年;Dou 等人,2019 年;Qian 和 Yu,2019 年;Yin 等人,2019 年)并使用数据增强(Xie et al., 2020; Chen et al., 2020);后者通常依赖于反向翻译 (Sennrich et al., 2016),需要大量并行数据。使用文本类描述符的方法通常假设大量示例可用于类的子集(例如,Romera-Paredes 和 Torr,2015 年;Veeranna 等人,2016 年;Ye 等人,2020 年)。相比之下,我们的方法不需要额外的标记数据,并提供了一个直观的界面来利用特定于任务的人类知识。

iPET 背后的想法——在前几代标记的数据上训练多代模型——与词义消歧(Yarowsky,1995)、关系提取(Brin,1999;Agichtein 和 Gravano,2000;Batista)的自我训练和引导方法相似等人,2015 年)、解析(McClosky 等人,2006 年;Reichart 和 Rappoport,2007 年;Huang 和 Harper,2009 年)、机器翻译(Hoang 等人,2018 年)和序列生成(He 等人,2020 年) ).

4模型开发训练

设 M 是一个带有词汇 V 和掩码标记 ∈ V 的掩码语言模型,设 L 是我们目标分类任务 A 的一组标签。我们将任务 A 的输入写为短语序列 x = (s1, . . . , sk) 且 si ∈ V ∗;例如,如果 A 是文本推理(两个输入句子),则 k = 2。我们将一个模式定义为一个函数 P,它以 x 作为输入并输出一个短语或句子 P (x) ∈ V ∗ 恰好包含一个掩码标记,即它的输出可以看作是一个完形填空题。此外,我们将 verbalizer 定义为单射函数 v : L → V ,它将每个标签映射到 M 词汇表中的一个词。我们将 (P, v) 称为模式-表达器对 (PVP) 。

ⅰ假设 M 表示一个预训练语言模型,词汇表记做 V,其中包含一个[MASK](原文作者用下划线表示),L 表示目标任务 A 的所有标签集合。任务 A 的输入记做 X=(s1,s2,…,sk) 。其中 si 表示一个句子。如果 k=2,则输入的 X 是两个句子,通常在自然语言推理或文本蕴含任务中使用。定义一个函数 ,其将 X 作为输入,输出 P(X) 表示将 X 转化为带有[MASK]的phrase;定义一个映射: v:L→V 其表示将每个标签映射到具体的词。例如在情感分析中,我们可以为positive标签寻找一个词great作为替代。最终 (P,v) 作为pattern-verbalizer-pair(PVP)。

ⅱ给定一个sentence pair任务,其判断两个句子是否矛盾。输入则为两个句子,如图:X (MIA LIKES PIE, MIA HATES PIE),CSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_03

pattern映射为带有[MASK]的模板:P(X) MIA LIKES PIE?MIA HATES PIE.CSDN@R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_04

其原始的标签是entailment和contradiction,根据verbalizer v 可以设计映射关系为{entailment:yes、contradiction:no},因此模型可以对[MASK]的部分输出预测yes或no的概率。

ⅲ PET的训练和推理 定义一个 M(w∣Z) 表示给定带有一个[MASK]标记的序列 Z,语言模型可以在该[MASK]位置填入词 w∈L 的非归一化得分,其次定义概率分布:使用cross-entropy进行训练。作者发现,由于这是在非常少的样本集合 T 上进行训练,可能会导致灾难性遗忘,因此作者引入预训练模型的loss作为辅助损失(Auxiliary MLM loss),两个损失通过加权方式结合: SP(1|X)M(V(1)P(X))ESP(1JX)GP(1)X)ELECE'P(LLLX)CSDN@R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_05

L (1 - L - L - LMLMCSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_迭代_06

Lce 是交叉熵的loss

Lmlm 是再做一次完形填空的Loss 作者根据先前的工作,取了一个经验值 α = 1 0-4 .

ⅳ模型训练 (1)首先在小样本数据集 T 对一组预训练模型进行微调(上一节)(为每个模板去微调语言模型);

(2)其次将每一个预训练模型进行集成、对于每个预训练模型,分别对未标注的数据集 D 进行标注,此时获得的是soft-label,即给定一个输入 X,标签 l∈V 的概率得分:21)P)S.)(1)M三(X)WSPEPCSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_迭代_07

Sm:ensemble模型 集成模型

W(p):权重得到新的数据集 Tc; (3)在 Tc 使用标准的微调方法进行微调。 (2)->(3)的过程比较类似knowledge distillation过程其中 Z = ∑ p∈P w§ 和 w§ 是 PVP 的加权项。我们试验了这个权重项的两种不同实现:我们简单地为所有 p 设置 w§ = 1,或者我们将 w§ 设置为训练前在训练集上使用 p 获得的准确度。我们将这两种变体称为统一和加权。姜等。 (2020) 在零镜头设置中使用了类似的想法。

ⅴIterative PET 作者发现,如果只进行一次微调+生成,往往得到的新的数据集会有很多错误的数据,因此扩展提出iPET模型,即添加了迭代。iPET的核心思想是:

The core idea of iPET is to train several generations of models on datasets of increasing size.IPETTIMIMMDDMLMAMET2T2TCT?MSMSMITT4TRM4MAMA(2)(3)(1)(B)(A)FIGURE Z: SCHEMATIC REPRESENTATION OF PET (1-3) AND IPET (A-C), (D) THE INIFIAL RAING SED TO FINE ANENSEMBLE OF PLMS, (A) FOR CACH MODEL,, A RANDOM SUBSET OF OTHER MODELS GENERATES A NEW RAININGEXAMPLES FROM D. (B) A NEVEA NEW SET OF PET MODELS IS TRAINED USING THE LARGER, MODEL-SPECIFIC DATASETS. (C) THE,PREVIOUS TWO STEPS ARE REPEATED & TIMES, A FACTOR INCREASING THE SIZE OF THE GENERATED A FACTOR D(2) THE FIITHE FINAL SET OF MODELS USED TO CREALE A SOFF LABELED DATASET (3) A CLASSTHET C TRANED ON 5NIS 4855

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_08

PET训练过程:

1.初始训练集用于微调一系列的预训练模型,每个模板微调一个模型 2.集成(1)中模型,对无标签数据进行预测,产生soft标签数据集 3.基于(2)中伪标签数据集,训练分类器 对于iPET模型 (a)对于任意一个模型,其他模型对无监督数据集D的一个子集进行标注,产生的样本被补充到T,然后用来(b)中训练当前模型;M02和M03标注一部分D,再加上T,得到T11,T11用来(b)中训练M11 (b)如上所述,基于被补充的新数据集,再训练模型 (c)重复(a)(b)k次,每次数据集补充d倍;iPET的大致流程如上图所示,首先随机从集成的预训练模型集合中抽取部分预训练模型,并在未标注数据集 D 上标注部分数据,并扩增到 T,其次再根据扩增后的 T 分别微调预训练模型。上述过程一直迭代多次。(1)假设初始化有 n 个预训练模型 M0=M10,…,Mn0 。在第 j 轮迭代,则先随机从上一轮迭代获得的预训练模型集合中抽取 λ⋅(n−1) 个模型,记做:NCMJ-ICSDN@R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_迭代_09

(2)其次使用该预训练集合,生成一个标注数据集:TN {(X,ARG MAX SN(L | X E D}.LELCSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_10

由上式可知,每次从每个类 l 中挑选得分最高的样本,以避免引入大量的错误标注数据。其中 sN(l∣X) 表示得分。

(3)合并原始的小样本标注数据和新生成的数据:- T ULEC TN(1) .CSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_11

最后,iPET迭代 k 次后,将最后一次训练好的预训练模型集合 Mk 用来标注数据,并生成 TC。

ⅵ推荐使用的PVP (1)情感分析类型任务(例如五分类的Yelp)

任务描述:给定一个句子,判断其情感类型,例如电影评论等;PATTERN:PI(A)ITP2(A)JUSTWASAP3(A)ALL IN ALL,IT WASP4(A)A )IN SUMMARY THE RESTAURANT ISCSDN@华师数据学院.王嘉宁VERBALIZER:V(2)BADV(1) TERRIBLEV(3)OKAYU(4) GOODU(5)GREATCSDN @R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_迭代_12

(2)主题分类型任务(例如AGNews、Yahoo)

给定一个句子,判断其主题类型,例如新闻分类等;PATTERN:PI(X))6P2(X)ABP4(X)AB(------)P3(X)6PS(X)二NEWS:A BP6(X)[ CATEGORY:---]A BCSDN@华师数据学院.王嘉宁CSDN@R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_13


●verbalizer:可以直接将label class的词作为label word。

(3)句子对类型任务(例如MNLI)给定两个句子,判断两个句子的相关性(MNLI等为判断前后句子是否有逻辑关系)PATTERN:P2(X)----------BCRA,,ICED,,PI(X)VERBALIZER:VI(0)WRONGVI(1) RIGHRIGHTU1(2)MAYBE02(2)U2(0)NO)MAYBEU2(1)YESCSDN &R1CELEE

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据_14



5分析

a实验

ⅰ训练集数量与效果提升的变化关系:15ACCURACY IMPROVEMENTSYELPAG'SMNLIYAHOO105050101001000TRAINING SET SIZECSDN.@B1CELEESDN@华帅数据字院

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_15

说明了PET在样本数量少的时候,基于Prompt的方法提升很明显,但是在数量较多时,相比传统方法只有小量提升。

ⅱ在所有数据集上的实验结果:AG'SLINEYELPEXAMPLESMNLI(M/MM)METHODYAHOO13/39.8士5.169.5士7.244.0士9.133.8士9.639.1 4.3/UNSUPERVISED(AVG)ITI O2343.80.0/45.0UNSUPERVISED(MAX)56.4 0.079.4 0.040.8 10.0士0.054.270.7士0.187.5 士0.156.7士0.253.6 士0.1IPET士0.1士2.1/34.1 2.034.210.1 0.121.11.625.0 +0.1SUPERVISED56ITI 1041.8士0.1/41.5士63.8 士0.287.5 士0.0PET52.9 10.1士0.243.20.0/45.789.3士0.1IPET57.6 士0.070.7 0.1士0.145.6士1.8/47.678944.812.752.5 +3.1SUPERVISED82.1 2.5士2.4ITI5063.9士0.0/64.2 士0.0PET66.2士0.186.3+0.060.0 20.1IPET67.4士0.3/68.369.7 士0.088.4+0.160.7 +0.1士0.31047.9士2.8/51.2士2.653.013.186.0士0.762.9 10.9SUPERVISED11ITI003/75.988.3士0.174.7 士0.3PET61.9 士0.069.2+0.0士0.412IPET78.40.7/78.662.9 士0.089.6 0.171.2 0.1士0.51373.1 士0.2/74.863.0士0.586.9士0.470.5 +0.3士0.3SUPERVISEDITI00085.3 士0.2/85.5 士0.41486.9士0.264.8 士0.172.7士0.0PETTABLE I: AVERAGE ACCURACY AND STANDARD DEVIATION FOR ROBERTA (LARGE) ON YELP, AG'S NEWS, YAHOO AND MN(M:MATCHED/MM:MISMATCHED) FOR FIVE TRAINING SET SIZES |T).CSDN@华师数据学院/石嘉宠

利用完形填空问题进行少数镜头文本分类和自然语言推理_数据集_16

不论样本数量有多少,基于迭代的iPET模型均可以达到SOTA。(supervised表示直接使用RoBERTa-large传统的方法进行微调)


讨论过程

1首先讨论了一个句子是怎么被挖掉一个单词?

a :可以当成完形填空理解,挖出里面代表情感的词汇,用作标签进行训练

2由于Bert模型的输入都会Padding为等长,所以该模型输入训练的数据向量是否是等长?

a:不等长的也可以。

3老师和课题组分析了算法的实现,要能够迁移到我们的研究中。老师分析数据处理到模型训练的过程,损失函数的构建,以及模型的一些参数更新。


总结

优点

1在小样本上面取得比较好的结果


相应解决方法及任务

任务:由于该模型在小样本中(序列数量少于1000)才能表现突出,所以以后在小样本的位点预测可以考虑用此方法。

标签:文本,训练,模型,样本,任务,2019,完形填空,自然语言,数据
From: https://blog.51cto.com/u_16216184/8920911

相关文章

  • css文本换行设置
    文本换行设置word-wrapword-wrap:normal|break-word;normal:默认值,当一行剩余空间无法容纳下一个字(英文是指单词)时,会换行break-word:针对英文的文本,这个值可以让一个单词拆分开来换行。word-breakword-break:normal|break-all|keep-allnormal:不拆分单词......
  • JS+CSS多行文本显示“更多”
    本代码展示最多显示3行,每行行高16px,3行总高48px,4行总高64px当文本行数大于3行,显示“更多”CSS:#CourseDesc{margin-top:5px;font-size:12px;position:relative;max-height:48px;line-height:16px;overflow:hidden;}#CourseDesc.temp{position:absolute;top......
  • js实现el-select选中的文本,一键复制
    <divclass="invite-buttom">请选择要复制的网站:<el-selectv-model="webValue"placeholder="请选择要复制的网站"><el-optionv-for="iteminformUrl.webInviteUrl"......
  • PoshyTip jQuery 文本提示插件的使用
    PoshyTip 是JQuery中一款文本提示插件,在Jsp页面使用相当方便,插件内包含了很多外观样式,可以作为FormTooltips使用。插件包下载地址:http://vadikom.com/files/?file=poshytip/poshytip-1.2.zipPoshyTipDemo地址:http://vadikom.com/demos/poshytip/下载好插件包后,解压可看到目录......
  • 1-3文本数据建模流程范例
    0.配置importos#mac系统上pytorch和matplotlib在jupyter中同时跑需要更改环境变量#os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"!pipinstalltorchmetricsimporttorchimporttorchvisionimporttorchkerasimporttorchmetricsimportgensimprint('torc......
  • (精品)根据文件夹内的txt文本标题处理文件夹MJ数据
    功能介绍这个脚本是一个自动化的文件重命名工具,专门用于重命名图片文件。其主要功能如下:深度遍历指定目录:脚本能够遍历指定目录下的所有子文件夹,进行深度搜索。检测文本文件作为命名前缀:对于每个子文件夹,脚本会查找第一个.txt文件,并使用其文件名(不包括扩展名.txt)作为图片文......
  • 识别指定window窗口的文本
    1.简单需求通过图文识别读取一个指定window窗口的文本。获取窗口句柄,截图保存成bitmap,调用图文识别库.测试结果是对中文下的识别不是特别好。需要注意的是,tessdata要下载指定目录页下。2.引用包a.引用tesseract4.1 b. Emgu.CV组件3.上代码usingSystem;using......
  • 自动化文件管理:使用Python创建匹配Excel数据的文本文件
    介绍在日常工作中,我们经常需要处理大量的数据和文件。尤其是在处理涉及多层嵌套目录和数据文件时,手动操作变得极其繁琐和耗时。为了提高效率,自动化这一过程显得尤为重要。本博客介绍了一个实用的Python脚本,它能够自动读取Excel表格中的数据,并在相应的文件夹中创建文本文件。这个......
  • Python 提取 Word 文档中的文本和图片
    将内容从Word文档中提取出来可以方便我们对其进行其他操作,如将内容储存在数据库中、将内容导入到其他程序中、用于AI训练以及制作其他文档等。第三方库 Spire.DocforPython 提供了一个简单的方法直接提取Word文档中的内容,包括文本和图片,而不需要大量的复制粘贴操作,也不......
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Text文本组件
    鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之文本组件一、操作环境操作系统: Windows10专业版IDE:DevEcoStudio3.1SDK:HarmonyOS3.1编辑二、文本组件Text 是显示文本的基础组件之一,它可以包含子组件 Span ,当包含 Span 时不生效,只显示 Span 的内容。Text('我是Text'){Span('......