一种用于少样本意图识别的对比任务适应学习方法

文档序号:26994650发布日期:2021-10-19 21:26阅读:194来源:国知局
一种用于少样本意图识别的对比任务适应学习方法

1.本发明属于少样本意图识别领域,特别涉及一种用于少样本意图识别的对比任务适应学习方法。


背景技术:

2.当前预训练语言模型,例如bert,xlnet和gpt

2有了长足发展,它们极大地提高了意图识别的准确率,被广泛应用于社会人工智能中。这些方法主要依赖于拥有大量标记数据的深度神经网络,以此来避免过拟合的问题,在只有少量标记数据的条件下,这些模型并不能很好地完成任务。因此在意图识别领域解决低资源的问题是当前进一步提高意图识别的准确率的瓶颈。
3.现存方法主要使用基于度量的元学习方法来解决少样本的意图识别问题。总体上讲,这些方法首先从一个基本类的集合中训练一个特征抽取器。之后,训练好的特征抽取器被应用在新类别的查询集上来识别少样本的新类别。这种与任务无关的元学习范式是建立在一个假设上:特征抽取器可以包含所有元任务上共有的知识。然而,这仅考虑共有知识忽略了每个元任务所具有的唯一性。在基本类上训练的特征抽取器不能很好地泛化到少样本的新类别上,导致了并不令人满意的意图识别结果。此外,当前元任务中类之间的交互,以捕获元任务的特征,以生成新的意图嵌入或分类原型。然而,我们认为新生成的意图嵌入和类别原型可能会影响每个类别的唯一性,因为当前类别的嵌入将会耦合其他类别的信息。每个类别唯一性的减弱可能在意图分类时引起混淆。
4.经过长期研究,我们提出了一个对比的任务适应学习模型(cta),它不仅能够发掘出特定任务中包含的知识,也能兼顾类别嵌入的唯一性。整体方案为,利用了元任务自身的信息加入到初始的嵌入中来解决元任务的唯一性问题,自身信息是基于当前元任务所包含类别之间的关系来构建的。使用了一个自注意力模块来对一个元任务中包含的嵌入进行建模,将它们视为一个包来建立不同类别之间的交互关系,而不是对样本加权来强调其最具有可分性的特征。之后,引入了一个基于对比的损失函数来帮助特征抽取器输出具有在不同类别之间有大边界的嵌入,以解决类别唯一性的问题。把标签名称的语义加入到每个类别变换之后的嵌入中,作为一个锚点特征来产生新的意图嵌入。取得了良好的效果。


技术实现要素:

5.本发明旨在提供一种用于少样本意图识别的对比任务适应学习方法,克服现有技术特征抽取器不能很好地泛化到少样本的新类别上、新生成的意图嵌入和类别原型可能会影响每个类别的唯一性等的问题。
6.为解决上述问题,提供一种用于少样本意图识别的对比任务适应学习方法,包含如下步骤:s1:获取一个有个语句

标签对的意图识别数据集d;s2:从意图识别数据集d抽取元任务集合;
s3:从集合中的第j个元任务中的句子获取低维向量;s4:计算特征抽取器的对比损失;s5:从支撑集中获取原型嵌入集合;s6:根据所述的原型嵌入集合,计算标签
ꢀꢀ
的语义混合原型 ;s7:计算标签预测结果;s8:计算总损失;s9:计算梯度;s10:用梯度更新特征抽取器 、特定任务的函数t;转入s2,直至对集合d中的每一组进行了训练;s11:训练完成,返回最优分类器; 最优特征抽取器。
7.优选地,步骤s1中的所述意图识别数据集记为:其中表示一条语句,表示它的意图标签集合中的一个,即;和/或步骤s2所述的抽取元任务集合实现如下:将所述的数据集d划分为用于训练的基本类和用于测试的新类,基本类形成的训练集合与新类形成的测试类集合之间不存在交集;由此分别构建:,用于训练;,用于测试;其中,为一个元任务,由一个支撑集和一个查询集两部分组成,表示为其中,为支撑集,是一个有个语句

标签对的集合;为查询集,是一个有个语句

标签对的集合;标签是需要被预测的;含有个类别的意图标签,每个标签含有个意图样本,。
8.优选地,所述的步骤s3实现如下:采用bert模型用作一个特征抽取器,从中的句子进行编码为一个连续的低维向量;为集合中的第j个元任务;和/或所述的步骤s4实现如下:记为类别的中心,则(3)其中,表示类别中的语句,由此同类别中的样本能够有到中心的最短距离;
记是衡量两个样本之间相似度的评分函数,则(5)其中表示和在同类别中的样本,表示和不同类别的样本;损失函数可构建为:(8)其中是常数;和/或所述的步骤s5实现如下:引入一个特定任务的函数t,抽取每一个元任务的独有信息:其中是一个由公式(3)确定的支撑集中的原型集合;原型集合中的交互能够反映这个元任务的本质;优选地,所述的步骤s6实现如下:将变换后的原型记作类别中样本嵌入的中心:(13)标签名称可作为先验知识,因为它本身就包含着类别的特有信息,因此直接将标签名称的嵌入作为每个类别的指引信息,通过标签名称和变换之后的样本嵌入来表示每个类别;对于标签,我们通过一个平衡系数来调节标签名称和变换后嵌入的重要程度,以计算它的语义混合原型 :(14)其中是bert模型的编码器,标签名称的嵌入是作为原型表示向量的一个修正量存在的和/或所述的步骤s7实现如下:记(15)其中:为查询集中的语句是基于混合语义原型来预测标签的分类器,是预测结果;和/或所述步骤s8实现如下:为保证适应后的样本嵌入和同类别的相似而与不同类别的不相似,引入另一个损失函数:(16)其中是任务适应之后的的嵌入,是对应的真实标签的语义混合原型;
是损失函数;(17)其中是一个平衡系数;转入s3,直至对集合每一个元任务进行了训练;和/或所述的步骤s11实现如下:实现如下:(2)其中,表示一个训练元任务中查询集所包含的一个语句

标签对;表示分类器利用从当前训练元任务支撑集中学到的知识来预测出的结果;是计算预测出的概率分布和真实分布之间差距的损失函数。
9.优选地,步骤s5还包括:为避免原型之间顺序的影响,使用了多头自注意力模型来对每个元任务独有的信息建模:多头自注意力层的核心是形式为(查询,键,值)的一组三元组,为获取每个初始原型在线性映射之后原型中所具有的权重,将三元组输入到一个线性映射层中来获取对应的表示,可用下式表示:(10)其中,和是线性映射矩阵,[:]表示一个矩阵;最后按自注意力算法来获取原型最终变换之后的原型嵌入:其中权重度量了键与值的接近程度,也反映了原型与其他原型之间的交互,按下式计算:(12)其中表示的第列,表示嵌入的维度;根据自注意力初始化的惯例,设置,来自支撑集。
[0010]
优选地,步骤s1所述的意图识别数据集为oos数据集。
[0011]
优选地,所述的意图识别数据集为oos标记好类别的数据,不含有噪声标签“out of scope”的数据。
[0012]
优选地,所述的意图识别数据集,使用数据集2/3的样本作为训练集,以获取公共的知识,其余1/3的样本被平均划分为验证集和测试集。
[0013]
与现有技术相比,本发明提供的技术方案有益效果在于:本发明提出使用对比任务适应学习模型来利用一个元任务中的不同类别,以解决少样本意图识别问题,实现抽取特定任务的特征。引入了一个基于对比的损失,并且利用标签名称的语义来分离不同类别的嵌入。实现了较高的准确率。
具体实施方式
[0014]
为进一步公开本发明内容,对本发明的具体实施方式作进一步详细描述:对于少样本意图识别问题可定义如下:给定一个有个语句

标签对的意图识别数据集,即,其中表示一条语句,表示它的意图标签集合中的一个,即. 因此,意图识别任务可被公式化为一个满足的分类函数. 但是,有标记的数据量通常是不足以支持把模型优化到一个满意的结果。少样本学习模型能够较好地解决此类过拟合问题,即在低资源场景下,模型在训练集上的准确率很高而在测试集上的准确率很低。
[0015]
根据少样本学习的定义,类别的一个集合可被划分为用于训练的基本类和用于测试的新类,并且在少样本意图识别的训练过程中,需要大量的元任务。一个元任务(或称为一个片段)通常由两部分组成:一个支撑集和一个查询集。表示为。支撑集是一个有个语句

标签对的集合,查询集是一个有个语句

标签对的集合,其中的标签是需要被预测的。通常一个“n

way k

shot”元任务表示支撑集含有个类别的意图标签,每个标签含有个意图样本,使得。
[0016]
少样本意图识别模型通常在一个元任务组成的集合上训练,在集合上测试,依赖构建,依赖构建。训练集合与测试集合之间不存在交集。对少样本意图识别模型能力的评估主要是在新类别上的泛化能力和适应能力,即在新类别元任务上的性能。最终的目标是从叫做假设空间的参数空间中学习一个分类器,在训练集中的元任务上进行训练,最小化在训练集元任务中的查询集上的损失函数::(2)其中表示一个训练元任务中查询集所包含的一个语句

标签对;表示分类器利用从当前训练元任务支撑集中学到的知识来预测出的结果;是计算预测出的概率分布和真实分布之间差距的损失函数。
[0017]
传统的少样本学习模型主要依赖于丰富的先验知识来获取一个特征抽取器,它能够提高少样本模型的适应能力和泛化能力。我们认为每个有新类别的元任务都有其独有的信息,这些信息是不能被从基本类别上的知识所包含的。因此,我们设计了一个任务适应模块来有效地运用当前元任务的独有信息。另外,因为这个任务适应模块会影响元任务中每个类别的可分性,所以我们设计了一个对比损失,来包含每个类别的特征,以将混淆的样本表示解耦合。具体设施方案如下:特征抽取器:给定一个从自然对话中抽取到的n个词的语句,bert首先被用作一个特征抽取器来将原始的句子进行编码为一个连续的低维向量, 之后它将用于对比学习。
[0018]
然后,为对新类别元任务的唯一性进行强化,我们设计了一个基于对比学习的特征抽取器。对比学习策略对bert进行预训练来获取支撑集中新类别样本的具有任务唯一性的嵌入。具体来说,给定一个有n

way k

shot样本的集合,我们将类别的中心按下式计算:(3)其中表示类别中的语句. 这样,同类别中的样本能够有到中心的最短距离。
[0019]
我们的目标是使同一类别中的样本嵌入相似度远大于不同类别中的样本嵌入相似度,表示为:(4)其中是衡量两个样本之间相似度的评分函数,表示和在同类别中的样本,表示和不同类别的样本。在本文中,评分函数为归一化的点乘,表示为:(5)之后,可以构建一个分辨正例和负例的softmax分类器,其中损失函数可以使得评分函数来从正例上获取较大的值,从负例上获取较小的值。损失函数可构建为:分母含有一个正例和个负例。
[0020]
为计算方便,我们将类别本身视为正例,其余类别视为负例。优化目标变为最小化不同类别原型之间的相似度,即:损失函数可被改写为:(8)其中是常数。借助对比损失,我们希望在少样本情景下,当前的特征抽取器相较于没有对比损失的传统的特征抽取器可以收敛得更快。
[0021]
任务适应模块:给定一系列n

way k

shot的元任务,我们引入一个特定任务的函数t,它能够抽取每一个元任务的独有信息。
[0022]
其中是一个由公式(3)确定的支撑集中的原型集合。原型集合中的交互能够反映这个元任务的本质,即诸如类别、类别包含的样本等任务独有的信息。
[0023]
为避免原型之间顺序的影响,我们使用了多头自注意力模型来对每个元任务独有的信息建模。具体来说,多头自注意力层的核心是形式为(查询,键,值)的一组三元组。为获取每个初始原型在线性映射之后原型中所具有的权重,我们将三元组输入到一个线性映射层中来获取对应的表示,可用下式表示:
ꢀꢀ
(10)其中,和是线性映射矩阵,[:]表示一个矩阵。例如,表示一个由原型组成的矩阵;我们按自注意力算法来获取原型最终变换之后的原型嵌入,其中包含了任务独有的信息。即计算了中每一列的加权和来获得任务的独有信息,表示如下:其中权重度量了键与值的接近程度,也反映了原型与其他原型之间的交互,它可按下式计算: (12)其中表示的第列,表示嵌入的维度。根据自注意力初始化的惯例,我们设置,来自支撑集.用于解耦合的原型网络:在任务适应模块之后,我们将变换后的原型记作类别中样本嵌入的中心: (13)其中可用公式(11)从支撑集中产生。
[0024]
为更好利用类别本身所具有的特征,我们指出标签名称可作为先验知识,因为它本身就包含着类别的特有信息。因此,我们直接将标签名称的嵌入作为每个类别的指引信息,通过标签名称和变换之后的样本嵌入来表示每个类别。对于标签,我们通过一个平衡
系数来调节标签名称和变换后嵌入的重要程度,以计算它的语义混合原型 :(14)其中是诸如bert之类的编码器,是用公式(13)获得的原型表示。标签名称的嵌入是作为原型表示向量的一个修正量存在的,这个修正量可以使元任务中的不同类别分离,以更清晰地表示意图的语义。
[0025]
借助变换后的嵌入,查询集中的语句的标签可根据支撑集中的原型进行预测:(15)其中是基于混合语义原型来预测标签的分类器,是预测结果。为保证适应后的样本嵌入和同类别的相似而与不同类别的不相似,引入另一个损失函数: (16)其中是任务适应之后的的嵌入,是对应的真实标签的语义混合原型;是与公式(1)中相同的损失函数。
[0026] (17)其中,和分别基于公式(1),公式(8)和公式(16)生成。用于优化特征抽取器,用于优化任务适应模块。是一个平衡系数。cta模型的具体过程参照算法1:在oos 数据集上测试本技术方案及各基线的性能。此数据集包含22,500个查询,涵盖150个意图类别,被分成10个日常生活中的领域。在实验中,我们仅使用oos标记好类别
的数据而不是那些有噪声标签“out of scope”的数据。并且使用数据集2/3的样本作为训练集,以获取公共的知识,其余的1/3被平均划分为验证集和测试集。
[0027]
oos数据集的统计信息在表1 中展示。使用标签的准确度作为评估指标。
[0028]
表格 1 oos数据集的统计信息通过与原型网络、gcn、匹配网络、feat四个较强的基线模型进行对比来验证本发明cta模型的有效性,本发明技术方案在所有涉及到的模型中具有最佳的性能表现,cta 优于基于类别唯一性的模型,即匹配网络,表明任务适应模块可以有效地结合任务特有的信息以提高少样本模型的性能。另外,cta模型也优于基于任务唯一性的模型,即feat模型,说明只考虑任务独有的信息会破坏类别的唯一性,进而引起不同类别的混淆。本发明提出的标签增强的解耦合原型网络能够有效减弱这种影响。进一步,相较于其余的基线模型,在所有的元任务上cta模型都有最小的置信区间,说明cta在所有元任务上不仅有最高的识别准确性,也有最小的方差。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1