CN114781651A - 基于对比学习的小样本学习鲁棒性提升方法 - Google Patents

基于对比学习的小样本学习鲁棒性提升方法 Download PDF

Info

Publication number
CN114781651A
CN114781651A CN202210565539.6A CN202210565539A CN114781651A CN 114781651 A CN114781651 A CN 114781651A CN 202210565539 A CN202210565539 A CN 202210565539A CN 114781651 A CN114781651 A CN 114781651A
Authority
CN
China
Prior art keywords
learning
data set
model
contrast
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210565539.6A
Other languages
English (en)
Inventor
郑海涛
阳佳城
王晖
江勇
夏树涛
肖喜
蒋芳清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen International Graduate School of Tsinghua University
Peng Cheng Laboratory
Original Assignee
Shenzhen International Graduate School of Tsinghua University
Peng Cheng Laboratory
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen International Graduate School of Tsinghua University, Peng Cheng Laboratory filed Critical Shenzhen International Graduate School of Tsinghua University
Priority to CN202210565539.6A priority Critical patent/CN114781651A/zh
Publication of CN114781651A publication Critical patent/CN114781651A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于对比学习的小样本学习鲁棒性提升方法,包括以下步骤:S1、对原始数据集进行预处理,构造对抗数据集和对比数据集;S2、将原始数据集、对抗数据集和对比数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离;S3、根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型。本发明通过构造对抗和对比数据集为模型鲁棒性学习提供数据支持,使用对比学习目标函数计算损失能够更好地获取原始样本与对抗样本的相似性,也能更好地区分原始样本与对比样本的差异,从而提升模型受到对抗或者对比扰动时的鲁棒性。

Description

基于对比学习的小样本学习鲁棒性提升方法
技术领域
本发明涉及自然语言处理技术领域,特别是涉及一种基于对比学习的小样本学习鲁棒性提升方法。
背景技术
少样本学***的基础任务。人类智能的一个重要特性是,人类具有从少量样本中进行学习的能力,并且具有极强的泛化性,即所谓举一反三,融会贯通。
而少样本学习研究的就是如何从少量样本中去学习。正因为如此,少样本学习成为了近年来深度学习领域非常重要的一个前沿研究方向。在自然语言处理领域,小样本学习主要是基于已有的预训练模型例如BERT(Bidirectional Encoder RepresentationfromTransformers,双向编码器表示),RoBERTa(Robustly Optimized BERT,强力优化的BERT模型),GPT-3(Generative Pre-training,预训练生成模型)等来处理下游任务。目前主流的方法是对上述预训练模型进行微调(fine-tuning)或者提示调整(prompt tuning)。
微调(fine-tuning)方法的思想是使预训练语言模型适应下游任务,而不用从头训练新模型,因此不仅能够节省计算资源,而且能有效地利用预训练模型中已有的知识。在过去的许多年,微调(fine-tuning)方法在多个任务都取得了优秀的成绩,所以对特定任务进行预训练语言模型的微调成为了自然语言界的共识。但是,该方法需要充足的有标签的训练数据,并且将预训练语言模型的输出层替换成任务特定的头(head)。另外有很多研究表明,微调(fine-tuning)方法存在的问题是预训练和微调(fine-tuning)之间的目标函数存在显著的形式差别,阻碍了预训练语言模型到下游任务的知识迁移。
为了弥补微调(fine-tuning)方法的上述短板,提示调整(prompt tuning)提出了让下游任务去适应预训练语言模型。一个提示通常包括两部分:模版和标签词。在提示调整(prompt tuning)中,通过融合输入句子和模板,下游任务可以改写成相应的完形填空的问题。此时,预训练语言模型被用来预测完形填空中的空缺内容,然后模型预测出来的词再进一步映射成标签。与微调(fine-tuning)方法相比,提示调整(prompt tuning)方法不需要大量的带标签的训练数据以及额外的为特定任务设计的神经网络层,在多种小样本下游任务中取得了更好的效果。
尽管微调(fine-tuning)方法和提示调整(prompt tuning)方法在小样本学习场景下表现优异,但是当遇到对抗或者对比攻击,例如同义词或者反义词替换时,鲁棒性都欠佳。最近有某些研究机构的研究工作尝试对预训练语言模型进行对抗训练,以获得更鲁棒的模型。但是,这些方法大部分都是基于微调(fine-tuning)并且拥有大量训练数据,不适用于低资源(小样本)场景和提示调整(prompt tuning)方法。另外,也有研究为小样本微调(fine-tuning)设计新的目标函数,例如使用对比学习来使同一个类的样本距离更近,反之更远,但是仍然不能抵抗对抗或者对比扰动攻击。
发明内容
为了弥补上述背景技术的不足,本发明提出一种基于对比学习的小样本学习鲁棒性提升方法,以解决微调方法和提示调整方法在小样本学习场景下遇到对抗和对比扰动时鲁棒性差的问题。
本发明的技术问题通过以下的技术方案予以解决:
本发明公开了一种基于对比学习的小样本学习鲁棒性提升方法,包括以下步骤:S1、对原始数据集进行预处理,构造对抗数据集和对比数据集;S2、将原始数据集、对抗数据集和对比数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离;S3、根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型。
在一些实施例中,步骤S1具体包括:S1.1、根据原始数据集构造相应的同义词字典和反义词字典;S1.2、通过查找构造的同义词字典和反义词字典,对原始数据集中的数据进行同义词替换构造对抗数据集,对原始数据集中的数据进行反义词替换构造对比数据集。
在一些实施例中,步骤S1还包括:S1.3、计算原始数据集中每个原始样本的句子的所有扰动的集合,公式如下:
Figure BDA0003657668160000031
式中,x是句子,Perturb是扰动该句子,
Figure BDA0003657668160000032
是扰动x后的句子,即替换了同义词或者反义词后的句子;ci是中第i个字或者词,
Figure BDA0003657668160000033
是ci的同义词或者反义词,
Figure BDA0003657668160000034
Figure BDA0003657668160000035
中第i个字或者词;Perturb(x)原始句子的扰动后的句子是
Figure BDA0003657668160000036
的集合;
Figure BDA0003657668160000037
是指存在一个位置i被扰动就会有一个
Figure BDA0003657668160000038
在一些实施例中,步骤S2中,所述得到相应的嵌入表示的具体方法包括:将原始数据集中每个原始样本与其对应的正例构成正例对,将原始数据集中每个原始样本与其对应的负例构成负例对,并通过预训练语言模型得到相应的嵌入表示,计算每个原始样本与对应正例和负例之间的语义相似性。
进一步地,具有相同语义的两个句子属于正例对,具有不同语义的两个句子属于负例对。
进一步地,计算两个句子之间的语义相似性的公式如下:
Figure BDA0003657668160000039
式中,xa和xb表示句子a和句子b,exp()是求指数,h为句子x的特征表示,
Figure BDA00036576681600000310
表示句子a经过模型处理后在[CLS]位置的嵌入,
Figure BDA00036576681600000311
表示句子b经过模型处理后在[CLS]位置的嵌入。
进一步地,步骤S2中,所述使用对比学习损失函数计算三种嵌入表示之间的距离的计算公式如下:
Figure BDA00036576681600000312
式中,x是句子,与x的语义相距较远甚至完全相反的句子为xant,与x的语义相距较近的句子为xsyn,(x,xsyn)构成正例对,(x,xant)构成负例对。
进一步地,步骤S3中,所述总体损失的计算公式如下:
L=λ1Lori2Lcl
式中,Lori表示除Lcl外的其他模型自带的损失的目标函数,λ1和λ2表示模型学到的权重。
在一些实施例中,所述方法还包括:S4、通过反向传播机制更新模型参数,迭代至模型收敛,用最优的模型在下游任务的测试集上进行测试,得到预测结果。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。
本发明与现有技术对比的有益效果包括:本发明提供的基于对比学习的小样本学习鲁棒性提升方法,首先对原始数据集进行预处理,构造对抗数据集和对比数据集,再将原始数据集、对抗数据集和对比数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离,然后根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型,其中构造对抗和对比数据集为模型鲁棒性学习提供数据支持,使用对比学习目标函数计算损失能够更好地获取原始样本与对抗样本的相似性,也能更好地区分原始样本与对比样本的差异,从而提升模型受到对抗或者对比扰动时的鲁棒性。
附图说明
图1是本发明实施例的基于对比学习的小样本学习鲁棒性提升方法的流程图。
图2是本发明具体实施例的基于对比学习的小样本学习鲁棒性提升方法的流程示意图。
图3是本发明具体实施例的基于对比学习的小样本学习鲁棒性提升方法的模型结构示意图。
具体实施方式
下面对照附图并结合优选的实施方式对本发明作进一步说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本实施例中的左、右、上、下、顶、底等方位用语,仅是互为相对概念,或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。
本发明提出了基于对比学习的微调和提示调整方法,即对比学习微调(Contrastive Learning with Fine-Tuning)和对比学习提示调整(ContrastiveLearning with Prompt Tuning)方法,分别简称为CLFT和CLPT,使模型能够拉近原始样本与对抗样本的距离,推远与对比样本的距离,从而提升小样本学习场景下模型受到对抗和对比扰动时的鲁棒性。
如图1所示,本发明实施例提供的基于对比学习的小样本学习鲁棒性提升方法,包括以下步骤:
S1、对原始数据集进行预处理,构造对抗数据集和对比数据集。
具体地,步骤S1具体包括:
S1.1、根据原始数据集构造相应的同义词字典和反义词字典;
S1.2、通过查找构造的同义词字典和反义词字典,对原始数据集中的数据进行同义词替换构造对抗数据集,对原始数据集中的数据进行反义词替换构造对比数据集。
S1.3、计算原始数据集中每个原始样本的句子的所有扰动的集合,公式如下:
Figure BDA0003657668160000051
式中,x是句子,Perturb是扰动该句子,
Figure BDA0003657668160000052
是扰动x后的句子,即替换了同义词或者反义词后的句子;ci是中第i个字或者词,
Figure BDA0003657668160000053
是ci的同义词或者反义词,
Figure BDA0003657668160000054
Figure BDA0003657668160000055
中第i个字或者词;Perturb(x)原始句子的扰动后的句子是
Figure BDA0003657668160000056
的集合;
Figure BDA0003657668160000058
是指存在一个位置i被扰动就会有一个
Figure BDA0003657668160000057
S2、将原始数据集、对抗数据集和对比数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离。
具体地,步骤S2中,得到相应的嵌入表示的具体方法包括:将原始数据集中每个原始样本与其对应的正例构成正例对,将原始数据集中每个原始样本与其对应的负例构成负例对,并通过预训练语言模型得到相应的嵌入表示,计算每个原始样本与对应正例和负例之间的语义相似性。
其中,具有相同语义的两个句子属于正例对,具有不同语义的两个句子属于负例对。
计算两个句子之间的语义相似性的公式如下:
Figure BDA0003657668160000061
式中,xa和xb表示句子a和句子b,exp()是求指数,h为句子x的特征表示,
Figure BDA0003657668160000062
表示句子a经过模型处理后在[CLS]位置的嵌入,
Figure BDA0003657668160000063
表示句子b经过模型处理后在[CLS]位置的嵌入。
进一步地,使用对比学习损失函数计算三种嵌入表示之间的距离的计算公式如下:
Figure BDA0003657668160000064
式中,x是句子,与x的语义相距较远甚至完全相反的句子为xant,与x的语义相距较近的句子为xsyn,(x,xsyn)构成正例对,(x,xant)构成负例对。
S3、根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型。
其中,总体损失的计算公式如下:
L=λ1Lori2Lcl
式中,Lori表示除Lcl外的其他模型自带的损失的目标函数,λ1和λ2表示模型学到的权重。
S4、通过反向传播机制更新模型参数,迭代至模型收敛,用最优的模型在下游任务的测试集上进行测试,得到预测结果。
本发明的另一优选实施例公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上的基于对比学习的小样本学习鲁棒性提升方法的步骤。
以下通过具体实施例对基于对比学习的小样本学习鲁棒性提升方法进行具体说明。
本实施例针对对话情绪识别任务提出了改进方法,图2是本实施例的基于对比学习的小样本学习鲁棒性提升方法的流程示意图,主要包括对抗和对比数据构造、对比损失的计算、模型的训练以及模型预测结果四个部分。本实施例的具体的模型结构如图3所示。首先,对原始数据集进行预处理,包括同义词与反义词字典的构造,使用同义词字典对原始数据集进行同义词替换以构造相应的对抗数据集,使用反义词字典对原始数据集进行反义词替换以构造相应的对比数据集。然后将上述三个数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离。根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型。通过反向传播机制更新模型参数,迭代至模型收敛。最后,最优的模型用来在下游任务的测试集上进行测试,得到预测结果。数据集包括训练集、验证集和测试集,在微调(fine-tuning)和提示调整(prompt tuning)过程中,由于每轮使用训练集训练模型后模型的参数都不相同,使用验证集验证后得到的精确度也不相同,因此保存最优的模型参数(验证集精确度最高)来进行测试集的最终测试。具体方法如下:
一、数据构造:
本实施例提出的CLFT和CLPT方法能够在低资源场景下对语义扰动更加鲁棒,即可以更好地区分拥有相同语义的句子和不同语义的句子。因此,本实施例采用同义词和反义词替换的方法来生成样本。另外,本实施例的模型采用了对比学习损失函数,用来拉近相同语义的样本的距离,推远不同语义的样本的距离。因此,构造合适的正负例对非常重要。在本实施例中,具有相同语义的两个句子属于正例对,具有不同语义的两个句子属于负例对。
为了更好地保留生成句子的句法一致性和流畅性,以及生成更有难度的句子,尽可能地少替换原始样本中的字词。直观地,当随机使用同义词去替换一个句子中的一个随机字或词,那么生成的句子很大概率能与原样本语义保持一致。同样,当使用反义词去替换句子中的具有代表性的字或者词时,也很容易生成语义与原样本不相干甚至相反的样本。例如,给定样本“外包装上有点磨损,试听后感觉不错”,可以将其中的词“有点”替换成“有些”,这样就得到了语义相似的正样本“外包装上有些磨损,试听后感觉不错”;如果将“不错”替换成其反义词“不好”,那么可以获得语义相反的负样本“外包装上有点磨损,试听后感觉不好”。
具体地,对于每一个输入样本x,都生成其语义完全不同的两个样本。其中,与x的语义相距较远甚至完全相反的样本记为xant,而与x的语义相距较近的样本记为xsyn。首先使用LPT(Language Technology Plat,语言技术平台)工具对数据集中的数据进行分词,并根据分词结果构造同义词和反义词词典,尤其是对其中具有代表性的字词。因此,xsyn和xant可以通过x查找字典并替换相应的同义词或者反义词来生成。
同义词和反义词词典的构造可基于已有的字典。如果句子经过LPT分词后,其中的字词无法在已有的字典中查询到,可以手工或者自动地添加该字词与相应的同义词或者反义词到同义词字典或者反义词字典中。当生成对比或者对抗样本时,LPT同样对原始样本进行分词,其中的一部分字词被随机选择替换成相应的同义词或者反义词。更具体地,对于输入句子中的每一个字或者词ci,考虑一个可以替换的字词集S(ci),其中ci∈x以及x={c1,c2,…,cn}。(c1是句子中第一个字或词,c2是第二个,cn是第n个也是最后一个)
Figure BDA0003657668160000081
表示ci的一个扰动,即同义词或者反义词。因此,样本x的所有扰动的集合的计算公式如下所示:
Figure BDA0003657668160000082
式中,x是句子,Perturb是扰动该句子,
Figure BDA0003657668160000083
是扰动x后的句子,即替换了同义词或者反义词后的句子;ci是中第i个字或者词,
Figure BDA0003657668160000084
是ci的同义词或者反义词,
Figure BDA0003657668160000085
Figure BDA0003657668160000086
和第i个字或者词;Perturb(x)原始句子的扰动后的句子是
Figure BDA0003657668160000087
的集合;
Figure BDA0003657668160000088
是指存在一个位置i被扰动就会有一个
Figure BDA0003657668160000089
二、目标函数:
本实施例提供了一个新的目标函数,其中包含对比学习的损失函数,用于小样本学习场景下的预训练模型微调(fine-tuning)和提示调整(prompt tuning)方法。对比学习损失函数的目标是获取正例对中的样本相似性,并且区分负例对中的样本。对比学习目标函数主要注重使用同义词和反义词扰动后的样本,因此数据集(例如:四个公开数据集,即情感分类数据集EPRSTMT(E-commerce Product Review Dataset for SentimentAnalysis)、自然语言推理数据集OCNLI(Original Chinese Natural LanguageInference)、短文本匹配数据集BUSTM(XiaoBu Dialogue Short Text Matching)和指代消解数据集CLUEWSC(TheChinese Winograd Schema Challenge dataset)中每一个原始样本都只对应一个正例和一个负例,对比学习目标函数对于每一个数据也只计算一个正例对和一个负例对的特征相似性。另外,对比学习目标函数可以与其他的目标函数结合使用。
形式化地,(x,xsyn)组成正例对,(x,xant)构成负例对。因此,在特征空间,h和hsyn之间的距离度量应该尽可能近,而h和hant之间的距离度量应该尽可能近,其中h为x的特征表示,hsyn为xsyn的特征表示,以及hant为xant的特征表示。另外,使用[CLS](用于分类的一个位置)位置的嵌入,也就是h[cls]作为句子对应特征h的代表。[CLS]嵌入之间的点积可以用来计算不同句子之间的语义相似性:
Figure BDA0003657668160000091
式中,xa和xb表示句子a和句子b,exp()是求指数,h为句子x的特征表示,
Figure BDA0003657668160000092
表示句子a经过模型处理后在[CLS]位置的嵌入,
Figure BDA0003657668160000093
表示句子b经过模型处理后在[CLS]位置的嵌入。
由于对原始数据集中的每一个样本只生成其一个正例和一个负例,所以对比学习目标函数定义如下:
Figure BDA0003657668160000094
上述对比学习目标函数与一般的对比函数策略不同,后者通常会从数据集中随机采样多个数据作为负样本,而本实施例的目标是改善模型在受到对抗或者对比攻击时微调(fine-tuning)和提示调整(prompt tuning)方法的鲁棒性,因此本实施例注重生成的xsyn和xant样本。另外,微调(fine-tuning)和提示调整(prompt tuning)方法本身具有目标函数,例如分类损失和MLM损失。对于分类损失,其目标是最小化预测类别和真实标签之间的概率分布。对于MLM损失,输入语句的部分字词被[MASK](掩码,用[MASK]符号替换句子中的某个字或词)标志掩盖,其目标是更好地重建被掩盖的字词。本实施例将所有除上述Lcl外的其他模型自带的损失记为目标函数Lori,则最终的总体损失计算如下:
L=λ1Lori2Lcl
式中,λ1和λ2表示模型学到的权重。
三、模型训练:
本实施例可以使用包括但不限于BERT-base做为模型结构的骨干网络,可以使用包括但不限于chinese_roberta_wwm_ext(全词掩码预训练模型)来初始化预训练模型的权重。模型可以使用包括但不限于transformer(一种基于encoder-decoder结构的模型)和pytorch(是一个开源的Python机器学习库)工具来实现。训练的代(epoch)数可以设置成包括但不限于125,模型优化器可以使用包括但不限于AdamW。
四、模型预测:
当模型训练好之后,便可以进行预测。本发明实施例可以在包括但不限于情感分析、自然语言推理、短文本匹配和指代消解等任务上进行预测。
使用本实施例的基于对比学习的小样本学习鲁棒性提升方法的具体示例如下:
1、微调(Fine-tuning)
原始句子:不是全屏,而且屏幕太窄(标签:负例,原预训练模型预测正确)
对抗扰动(同义词替换):不是全屏,而且屏幕很窄(标签:负例,原预训练模型预测错误)
对比扰动(反义词替换):这是全屏,而且屏幕很很宽(标签:正例,原预训练模型预测错误)
使用本实施例的CLFT后,上述三个句子均能预测正确。
2、提示微调(Prompt tuning)
原始句子:不是全屏,而且屏幕太窄(标签:负例)
使用T5模型生成提示“很[MASK]!”
原始句子变成:很[MASK]!不是全屏,而且屏幕太窄(标签词:差-->标签:负例,[MASK]位置模型会填写“差”字,就像完形填空,然后“差”字进一步映射为标签“负例”)
对抗扰动(同义词替换):很[MASK]!不是全屏,而且屏幕很窄(标签词:差-->标签:负例,原预训练模型预测错误)
对比扰动(反义词替换):[MASK]!这是全屏,而且屏幕很很宽(标签词:好-->标签:正例,原预训练模型预测错误)
使用本实施例的CLPT后,上述三个句子均能预测正确。
本发明实施例通过使用公开工具LTP(Language Technology Plat,语言技术平台),以及构造的同义词和反义词词表,模型可以自动生成初步的对抗和对比样本。然后,对生成的对抗和对比样本进行人工校正,以保证句子的流畅性和语义准确性。最后,使用对比学习的方法,更鲁棒的CLFT和CLPT模型可以基于原始数据集和构造的对抗数据集与对比数据集学习出来。本发明实施例提出的CLFT和CLPT方法可以更好地获取原始样本与对抗样本的相似性,也能更好地区分原始样本与对比样本的差异,具体验证过程和验证结果如下:
首先基于公开数据集,例如:情感分类数据集EPRSTMT(E-commerce ProductReview Dataset for Sentiment Analysis)、自然语言推理数据集OCNLI(OriginalChinese Natural Language Inference)、短文本匹配数据集BUSTM(XiaoBu DialogueShort Text Matching)和指代消解数据集CLUEWSC(The Chinese Winograd SchemaChallenge dataset),构造其对应的对抗(同义词扰动)数据集和对比(反义词扰动)数据集。对于微调(fine-tuning)方法,直接将原始数据集和其对应的对抗数据集以及对比数据集输入到三路相同的预训练语言模型(包括但不限于bert模型)中,然后对三路模型的输出计算CLFT损失,并根据损失值对模型进行微调(fine-tuning),更新模型参数。对于提示调整(prompt tuning)方法,首先使用包括但不限于T5模型生成提示(prompt),假如原始的数据是“不是全屏,而且屏幕太窄”,T5模型生成的提示(prompt)为“很[MASK]!”,那么提示调整(prompt tuning)方法的数据相应为“很[MASK]!不是全屏,而且屏幕太窄”,同理通过同义词和反义词替换的方法构造对抗和对比数据集,并输入到预训练语言模型中,预测[MASK]位置的标签词(label word),例如上述例子可以为“好”和“差”,然后将标签词(label word)映射为标签(label),例如上述“好”对应正类(positive),“差”对应负类(negative),同样对三路模型的输出计算CLPT损失,并根据损失值对模型进行提示调整(prompt tuning),更新模型参数。验证结果如下表所示:
Figure BDA0003657668160000121
由此可看出,本实施例的CLFT和CLPT方法具有更高的准确率,尤其在对抗和对比扰动的情况下仍然能保证模型的鲁棒性。
对于自然语言处理小样本学习的鲁棒性而言,本发明提出的使用同义词和反义词构造对抗和对比数据与使用对比学习目标函数计算损失是相辅相成的关系。本发明主要涉及四点:一、根据数据集构造相应的同义词和反义词字典;二、通过查找构造的字典,对原始数据集中的数据进行同义词或者反义词替换,构造对抗或者对比样本。三、构造正例对和负例对,并通过预训练模型得到其相应的嵌入。四、通过基于对比学习的损失函数计算相应嵌入之间的相似度,并与其他损失求和。其中使用同义词和反义词构造对抗和对比数据集为模型鲁棒性学习提供数据支持,而使用对比学习目标函数计算损失能够拉近正例对之间的相似性距离,使负例对之间的特征区别更明显。相较于现有的方法,本发明在模型受到同义词或者反义词扰动后,拥有着更高的预测性能,能够提升模型的鲁棒性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

Claims (10)

1.一种基于对比学习的小样本学习鲁棒性提升方法,其特征在于,包括以下步骤:
S1、对原始数据集进行预处理,构造对抗数据集和对比数据集;
S2、将原始数据集、对抗数据集和对比数据集分别输入预训练语言模型中,得到相应的嵌入表示,并使用对比学习损失函数计算三种嵌入表示之间的距离;
S3、根据对比学习损失函数与原模型的损失函数计算模型更新的梯度,以总体损失更小为目标来训练模型。
2.如权利要求1所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,步骤S1具体包括:
S1.1、根据原始数据集构造相应的同义词字典和反义词字典;
S1.2、通过查找构造的同义词字典和反义词字典,对原始数据集中的数据进行同义词替换构造对抗数据集,对原始数据集中的数据进行反义词替换构造对比数据集。
3.如权利要求2所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,步骤S1还包括:
S1.3、计算原始数据集中每个原始样本的句子的所有扰动的集合,公式如下:
Figure FDA0003657668150000011
式中,x是句子,Perturb是扰动该句子,
Figure FDA0003657668150000012
是扰动x后的句子,即替换了同义词或者反义词后的句子;ci是中第i个字或者词,
Figure FDA0003657668150000013
是ci的同义词或者反义词,
Figure FDA0003657668150000014
Figure FDA0003657668150000015
中第i个字或者词;Perturb(x)原始句子的扰动后的句子是
Figure FDA0003657668150000016
的集合;
Figure FDA0003657668150000017
是指存在一个位置i被扰动就会有一个
Figure FDA0003657668150000018
4.如权利要求1所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,步骤S2中,所述得到相应的嵌入表示的具体方法包括:将原始数据集中每个原始样本与其对应的正例构成正例对,将原始数据集中每个原始样本与其对应的负例构成负例对,并通过预训练语言模型得到相应的嵌入表示,计算每个原始样本与对应正例和负例之间的语义相似性。
5.如权利要求4所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,具有相同语义的两个句子属于正例对,具有不同语义的两个句子属于负例对。
6.如权利要求5所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,计算两个句子之间的语义相似性的公式如下:
Figure FDA0003657668150000021
式中,xa和xb表示句子a和句子b,exp()是求指数,h为句子x的特征表示,
Figure FDA0003657668150000022
表示句子a经过模型处理后在[CLS]位置的嵌入,
Figure FDA0003657668150000023
表示句子b经过模型处理后在[CLS]位置的嵌入。
7.如权利要求6所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,步骤S2中,所述使用对比学习损失函数计算三种嵌入表示之间的距离的计算公式如下:
Figure FDA0003657668150000024
式中,x是句子,与x的语义相距较远甚至完全相反的句子为xant,与x的语义相距较近的句子为xsyn,(x,xsyn)构成正例对,(x,xant)构成负例对。
8.如权利要求7所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,步骤S3中,所述总体损失的计算公式如下:
L=λ1Lori2Lcl
式中,Lori表示除Lcl外的其他模型自带的损失的目标函数,λ1和λ2表示模型学到的权重。
9.如权利要求1所述的基于对比学习的小样本学习鲁棒性提升方法,其特征在于,所述方法还包括:
S4、通过反向传播机制更新模型参数,迭代至模型收敛,用最优的模型在下游任务的测试集上进行测试,得到预测结果。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述方法的步骤。
CN202210565539.6A 2022-05-23 2022-05-23 基于对比学习的小样本学习鲁棒性提升方法 Pending CN114781651A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210565539.6A CN114781651A (zh) 2022-05-23 2022-05-23 基于对比学习的小样本学习鲁棒性提升方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210565539.6A CN114781651A (zh) 2022-05-23 2022-05-23 基于对比学习的小样本学习鲁棒性提升方法

Publications (1)

Publication Number Publication Date
CN114781651A true CN114781651A (zh) 2022-07-22

Family

ID=82408767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210565539.6A Pending CN114781651A (zh) 2022-05-23 2022-05-23 基于对比学习的小样本学习鲁棒性提升方法

Country Status (1)

Country Link
CN (1) CN114781651A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115170210A (zh) * 2022-09-06 2022-10-11 深圳市明源云科技有限公司 售楼处的接待方法、电子设备及可读存储介质
CN115496924A (zh) * 2022-09-29 2022-12-20 北京瑞莱智慧科技有限公司 一种数据处理方法、相关设备及存储介质
CN115860009A (zh) * 2023-02-27 2023-03-28 佛山科学技术学院 一种引入辅助样本进行对比学习的句子嵌入方法及***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115170210A (zh) * 2022-09-06 2022-10-11 深圳市明源云科技有限公司 售楼处的接待方法、电子设备及可读存储介质
CN115496924A (zh) * 2022-09-29 2022-12-20 北京瑞莱智慧科技有限公司 一种数据处理方法、相关设备及存储介质
CN115860009A (zh) * 2023-02-27 2023-03-28 佛山科学技术学院 一种引入辅助样本进行对比学习的句子嵌入方法及***
CN115860009B (zh) * 2023-02-27 2023-05-16 佛山科学技术学院 一种引入辅助样本进行对比学习的句子嵌入方法及***

Similar Documents

Publication Publication Date Title
CN110543639B (zh) 一种基于预训练Transformer语言模型的英文句子简化算法
CN106599032B (zh) 一种结合稀疏编码和结构感知机的文本事件抽取方法
CA3085033A1 (en) Methods and systems for multi-label classification of text data
Fries Brundlefly at SemEval-2016 Task 12: Recurrent neural networks vs. joint inference for clinical temporal information extraction
CN114781651A (zh) 基于对比学习的小样本学习鲁棒性提升方法
Onan SRL-ACO: A text augmentation framework based on semantic role labeling and ant colony optimization
CN112925918B (zh) 一种基于疾病领域知识图谱的问答匹配***
CN116306600B (zh) 一种基于MacBert的中文文本纠错方法
CN114969278A (zh) 一种基于知识增强图神经网络的文本问答模型
CN115204143B (zh) 一种基于prompt的文本相似度计算方法及***
CN115545041B (zh) 一种增强医疗语句语义向量表示的模型构造方法及***
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及***
Jiang et al. Impact of OCR quality on BERT embeddings in the domain classification of book excerpts
CN111339772B (zh) 俄语文本情感分析方法、电子设备和存储介质
CN115146021A (zh) 文本检索匹配模型的训练方法、装置、电子设备及介质
CN114023306B (zh) 用于预训练语言模型的处理方法和口语语言理解***
CN117251524A (zh) 一种基于多策略融合的短文本分类方法
CN114282592A (zh) 一种基于深度学习的行业文本匹配模型方法及装置
Madanagopal et al. Reinforced sequence training based subjective bias correction
CN111723583B (zh) 基于意图角色的语句处理方法、装置、设备及存储介质
CN116757195B (zh) 一种基于提示学习的隐性情感识别方法
Balodis et al. Intent detection system based on word embeddings
CN116720498A (zh) 一种文本相似度检测模型的训练方法、装置及其相关介质
Visser et al. Sentiment and intent classification of in-text citations using bert
CN114548117A (zh) 一种基于bert语义增强的因果关系抽取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination