Few-shot Learning for Multi-label Intent Detection 基于小样本学习的多标签意图检测

摘要

目前对于多标签意图检测首先是估计label-instance相关性分值,并设定阈值选择多个相关联的意图标签。但在小样本学习中计算阈值和label-instance相关性得分都是具有挑战的。

本文: ①为了使用少量的数据得到合适的阈值,作者首先在数据丰富的领域上学习到通用的阈值经验,然后通过基于非参数学习的校准,将阈值调整到少样本领域。

②为了更高的计算label-instance相关性得分,作者引入标签名嵌入作为表示空间中的锚点(anchor point),细化不同的类别表示,使其彼此分离。(一个实例有多标签,学习不同标签的表征易混淆)

在两个数据集上的实验表明,所提出的模型在one-shot和five-shot设置中都显著优于经典模型的水平。

介绍

在这里插入图片描述
Multi-Label Classification(MLC)多标签分类,在现实世界中对于新出现的领域缺乏标注数据,Few-Shot Learning(FSL)小样本学习为此类数据稀缺挑战提供了新的解决方案。通过利用先前的经验,仅仅从几个学习示例(每一类一至两个示例)中概括得到新领域的知识。

多标签意图检测目前的研究是基于阈值的策略,通过估计label-instance相关性得分,选择得分高于阈值的标签。通常两个部分(阈值、相关性得分)的协调和各自的质量对MLC模型的性能至关重要。

对于阈值化,先前的工作探索调整固定阈值(Gangadharaah和Narayanaswamy 2019;Qin等人2020)或从数据中学习阈值(Xu等人2017)。但只有在学习样本足够的情况下,这些阈值才能正常工作。在少数场景中,仅举几个例子就很难确定合适的阈值。此外,由于领域差异,例如每个实例的标签数量、分数密度和尺度的差异,也很难直接传递预先学习的阈值。

标签实例相关性得分的估计也具有挑战性。少样本学习通过基于相似性的方法取得了令人印象深刻的进展(Vinyals等人,2016;Bao等人,2020),其中相关性得分可以建模为标签实例相似性。并且标签表示可以从相应的支持示例中获得。但尽管在单标签任务中取得了巨大成功,但这些基于相似性的方法对于多标签问题变得不切实际(一个实例有多标签,学习不同标签的表征易混淆)。在图中的示例中,查询时间和查询位置两个意图共享相同的示例x1,因此具有相同的标签表示,从而无法预测具有相似性分数的正确标签。

为解决先验知识转移困难与在少样本的情况下领域适应困难的问题,本篇工作提出Meta Calibrated Threshold(MCT)元校准阈值机制。该机制首先在数据丰富的领域中学习通用阈值经验,再通过基于核回归的校准(Kernel Regression based calibration)将阈值调整到某些少样本领域。通用训练和特定领域校准的这种组合允许使用先前的领域经验和新的领域知识来估计阈值。

为了解决相关性评分中混淆标签表示的问题,本篇工作提出了锚定标签表示(ALR)来获得分离良好的标签表示。受嵌入标签名称作为锚点以细化表示空间的想法启发(Wang等人,2018),ALR使用标签名称的嵌入作为附加锚点,并用支持示例和相应锚点表示每个标签。与之前使用标签嵌入作为附加特征的单标签意图检测不同(Chen、Hakkani-Tür和He 2016),标签嵌入在度量空间中具有分离不同标签的独特效果。

最后为了让阈值和标签实例相关性评分之间更好的协调,将Logit-adapting机制引入到MCT中,该机制自动调整阈值以适应不同的分数密度。

1.本篇工作是少样本学习在面向任务的对话意图识别中的早期尝试;

2.本篇工作提出基于核回归和Logit-adapting的元校准阈值机制,该机制将先验领域的知识和新领域的知识相结合来估计阈值;

3.引入ALR锚定标签表示分离多标签,解决不同标签表征易混淆的问题,以获得更好的标签实例相关性得分。

概念与准备工作

简要介绍多标签分类与少样本学习

Multi-label Classification

研究单个实例与一组标签之间的关系
在这里插入图片描述
少样本多意图检测模型框架: 首先对于从元领域学习到的阈值tmeta经过Logit-adapting机制生成tmeta,最后经过KR Calibration基于核回归校准生成tMCT作为最终的阈值。对于每个查询x,根据其与每个锚定标签表示的相似性来计算标签实例相关性得分。然后,选择得分高于元校准阈值机制导出的阈值tMCT的标签。

Few-shot Learning

小样本学习能够提取以前的经验,从而快速适应新任务(Finn 2018)。学习到的先前经验通常包括不同领域和任务的元知识,例如相似性度量和模型架构。在新任务中,小样本学习模型使用这些先验知识和一些标注数据(支持集)来预测未标注的类别(查询)。

少样本学习通常是基于相似性方法实现的,模型通常首先在一组源域上进行训练,接着直接在一组未知的的目标域上进行训练无需微调。给定一个查询x,模型通过观察标记的支持集来预测相应的标签y。对于N(N-way)个标签中的每一个,S中通常包括k个示例(k-shot)。

对于小样本多标签意图检测,将每个查询实例定义为具有一系列单词的用户话语x=(x1,x2,…,xl),模型借助支持集S预测一系列标签Y={y1,y2,…,ym}

方法

提出小样本多标签意图检测框架

Y = h( x , S ) = { y | f ( x , y , S) > t , y∈У},f函数计算标签实例相关性得分,t是阈值。

f(x,yi,S) = SIM(E(x) , ci) E(·)是嵌入函数,SIM是一个相似函数,使用点积相似性。

采用BERT(Devlin等人2019)作为嵌入器,并将句子嵌入E(x)计算为其token的平均嵌入。为了获得分离良好的标签表示,采用锚定标签表示来获得ci。

接着,估计阈值t,该阈值整合了来自源域的先验知识和来自目标域的示例知识。为了实现这一点,提出了元校准阈值来估计阈值t。

元校准阈值

介绍了一种用于少样本学习设置的阈值方法。在少样本学习环境中,模型在不同的领域进行训练和测试,这些领域通常对阈值选择有不同的偏好。此外,有必要用不同的阈值标记每个实例,因为实例的标签数量和标签相关性得分的密度不同。为了实现这一点,本篇工作首先学习域通用元阈值,然后校准它以适应目标域和特定查询

具有逻辑适应性(Logit-adapting)的元阈值

为了实现域通用阈值,提出了一种具有自适应性并在不同域上联合优化的元阈值tmeta

为了实现自动适应性,我们提出了元阈值的LogitAdaptive机制,该机制将阈值自动适应特定的查询和域。具体而言,考虑到相关分数的规模/密度不同,阈值的值总是在最大和最小分数之间,本篇工作建议将阈值设置为最大和最小得分的插值
在这里插入图片描述
其中T(·)是阈值函数,r是在源域中学习的内插率。通过适应不同密度的标签实例相关性得分,这种基于内插的阈值因不同查询而异,并且比固定阈值更通用。
在这里插入图片描述
固定阈值和逻辑自适应阈值示例彩色分数条对应正确的标签。不可能找到既适合x1又适合x的固定阈值,但logit自适应阈值可以适应r=0.5的两种情况。

基于核回归阈值校准

学习了Meta Threshold tmeta后,它对各个领域通用,但缺乏特定领域的知识。为了解决这个问题,通过观察支持集S来估计特定于域/查询的阈值测试,并使用测试来校准元阈值。然而,由于缺乏黄金阈值,很难直接学习估计阈值的模型。因此,转而估计标签的数量并间接推断阈值。为了利用特定领域的知识来估计标签数,采用了核回归(KR)并根据查询与支持示例的相似性来估计查询的标签号。作为一种非参数化方法,KR可以在不进行调整的情况下处理不可见的域。与其他非参数回归方法(如KNN回归)相比,KR允许使用所有支持示例并考虑距离影响。

形式上,给定支持集S,将查询x的标签数n估计为支持示例的加权平均标签数,其中权重计算为查询和支持示例之间的内核相似度:
在这里插入图片描述
Z是归一化因子,使用高斯Kernel:Kernel(a,b;λ)= exp(−(a−b)2/λ),其中λ是带宽因子。E(x)是一个特征提取器,它返回与句子x的标签号相关的特征向量。对于本文的意图检测任务,考虑与句子的意图数量相关的语言学特征,包括句子长度、连词数量、谓词数量、标点数量、疑问代词数量,并用MLP投影层编码这些特征。

然后,从估计的标签数量n导出域/查询特定的阈值test。具体来说,找到一个阈值test,该test过滤掉x的前n个标签实例相关性得分。一个直观的想法是直接使用第(n+1)个最大得分作为阈值。但是,这样的阈值仅从一个标签实例相关性得分导出。因此作者进一步改进它,通过使用学习的核权重直接估计阈值来利用所有相关性得分:
在这里插入图片描述
T(n;x,S,f) 是返回查询x的第(n+1)个最大标签实例相关性得分的函数。最后,使用查询特定阈值测试来校准域通用元阈值tmeta。查询x的最终阈值计算如下:t = α × tmeta + (1-α) × test α是衡量先验阈值经验重要性的超参数。

锚定标签表示

为了获得高质量的标签实例相似性建模,标签表示应该(1)彼此很好地分离;(2)能够充分表达相应类别的语义信息。

少样本学习的标签表示: 对于少样本学习,标签表示主要从支持集示例中获得。最经典的想法之一是获得每个类别的原型表示作为标签表示(Snell、Swersky和Zemel 2017)。标签yi的原型表示被计算为支持示例的平均嵌入,这样的标签表示对标签之间的可分性没有约束。此外,在多标签设置中,不同的标签可以共享相同的支持示例。这可能导致标签表示之间的混淆和歧义。

用锚点表示标签: 由于仅使用支持示例获得标签表示会导致歧义,因此建议使用标签特定锚来额外表示标签,这强调了不同类别之间的差异。标签名称通常自然地彼此很好地分离,并包含类别特定语义的良好表达(Wang等人,2018)。直观地,使用标签名称的语义嵌入作为锚点,并用锚点和支持示例来表示每个标签。对于标签yi,我们使用插值因子β计算锚定标签表示ci在这里插入图片描述
其中ci是通过支持实例获得的原型表示。标签名称嵌入E(yi)充当原型表示向量的偏转。这允许标签表示彼此分离,并更好地描述类别语义。

优化

根据Vinyals等人(2016),通过一系列少样本学习来训练MLC框架,其中each episode都包含一些少样本支持集和一个查询集。在数据丰富的领域模拟少样本情况,确保训练和少样本测试之间的一致性。此外,该框架在不同域上交替优化,这让元阈值tmeta和标签实例相关性评分函数f都是域通用的。采用sigmod交叉熵损失函数:
在这里插入图片描述
N是可能标签的数量,fyi=f(x,yi,S)。Y*是金色标签集。I(·)是一个指示函数。σ是Sigmoid函数。由于选取带有标签号的阈值的过程是不可区分的,在整个框架学习过程之前,即带宽和MLP投影层,对源域上的核心参数进行预训练,同时损失MLE(nest,ngold)。

这是一个元学习过程,它学习元参数(元阈值、核回归、相似性度量计算),以改进对看不见的少样本任务的非参数学习。

实验

在1-shot、5-shot的多标签意图检测任务上对实验进行评估,该任务将知识从源域(训练)转移到仅包含1-shot、5-shot支持集的不可见目标域(测试)。

数据集:在公共数据集TourSG上进行了实验(Williams等人,2012),并引入了一个新的多意图数据集StanfordLU。这两个数据集包含多个域,因此可以模拟不可见域上的少样本情况。TourSG(DSTC-4)包含25751个话语,注释了多个对话行为和6个关于新加坡旅游信息的独立领域:行程(It)、住宿(Ac)、景点(At)、食物(Fo)、交通(Tr)、购物(Sh)。StanfordLU是斯坦福对话数据集的重新注释版本(Eric等人。2017)包含来自3个域的8038个用户话语:时间表(Sc)、导航(Na)、天气(We)。用意图标签重新注释每个话语,这些标签不包含在原始数据集中。

少样本数据构建: 为了模拟少样本情况,将数据集重建为少样本学习形式,其中每个样本是查询实例(xq,yq)和相应的K-shot支持集S的组合。

与单标签分类问题不同,多标签实例与多个标签相关联。在这里,不能保证每个标签在采样支持句子时出现K次。为了解决这一问题,使用最小包含算法近似构造K-shot支持集S(Hou等人,2020)。它通常按照两个标准构造支持集:(1)域中的所有标签在S中出现至少K次。(2)如果从S中删除任何(x,y)对,则至少一个标签在S中将出现少于K次。

对于每个域,采样Ns个不同的K-shot支持集。然后,对于每个支持集,将Nq个未包含的语句作为查询(查询集)进行采样。每个support query集合对形成一个few-shot episodes。最后,得到每个域的Ns集和Ns×Nq样本。

对于TourSG,为每个源域构建了100个few-shot episodes,为每个目标域构建了50个few-shot episodes。查询集大小为16。由于StanfordLU具有较少的域,每个源域构造了200个few-shot episodes,为每个目标域构造了50个few-shot episodes,查询集大小为32。

评估: 选择一个目标域进行测试,选择一个域进行开发,并使用同一数据集的其他域作为源域进行训练。

工具: 对于句子嵌入和标签名称,对预训练语言模型提供的token嵌入进行了平均,并在此使用Electra small(Clark等人,2020)和uncased BERT Base(Devlin等人,2019)。此外,采用了Pairs-Wise 嵌入(Hou等人,2020)和Gradual Unfreezing(Howard和Ruder,2018)的嵌入技巧。使用ADAM(Kingma和Ba 2015)训练批量为4的模型。模型和基线模型的学习率均设置为1e-5。考虑到标签名称在不同数据集和支持集大小下的锚定能力,将α(等式1)设置为0.3,并在{0.1,0.5,0.9}中改变β。对于核回归的MLP,使用ReLU作为激活函数,并改变{1,2,3}中的层和{5,10,20}中的隐藏维度。最佳超参数取决于开发领域。

基线: 将模型与两种强基线进行了比较:基于微调的迁移学习方法(TransferM)和基于相似性的FSL方法(MPN和MMN)。

TransferM是一个具有大的预训练语言模型和多标签分类层的域转移模型。遵循流行的MLC设置,使用根据开发集调整的固定阈值。在源域上对其进行预处理,并在开发集中选择最佳模型。通过重新训练不同领域的分类层来处理标签集的不匹配。在目标领域,模型在支持集上进行了微调。

多标签原型网络(MPN) 是一种基于相似度的少样本学习模型,它使用原型网络(Snell、Swersky和Zemel 2017)计算句子标签相关性得分,并使用根据开发集调整的固定阈值。它是在源域上预先训练的,并直接在目标域上工作,无需进行微调。

多标签匹配网络(MMN) 与MPN完全相同,但采用了匹配网络(Vinyals等人。2016)用于标签实例相关性得分计算。

主要结果

在这里插入图片描述

相关工作

通常,多标签分类(MLC)方法依赖于阈值来预测多个标签。对于NLP中的MLC问题,Wu、Xiong和Wang(2019)利用元学习来估计数据丰富设置的阈值。对于意图检测的阈值化,Gangadharaiah和Narayanaswamy(2019)利用固定阈值超过意图可能性。Xu等人(2017)使用线性回归学习阈值。

没有阈值,MLC的一个解决方案是标签功率集(LP)(Tsoumakas、Katakis和Vlahavas,2010年;Tsoumacas和Vlaha,2007年),它将多个标签的组合视为单个标签。Xu和Sarikaya(2013)探讨了LP在多标签意图检测中的想法。然而,即使在数据丰富的设置中,LP也经常受到标签组合的数据稀疏性的影响。除了LP之外,Kim、Ryu和Lee(2017)还提出从单个意图数据中学习多意图检测。他们首先检测子句子,然后预测子句子的单个意图。但是,他们的方法受到数据中显式连接词的限制,并且很难学会在少样本设置中检测子句子。

NLP中少样本学习被广泛用于单标签分类任务,包括文本分类(Sun等人2019;耿等人2019;Yan,Zheng和Cao 2018;Yu等人2018;Bao等人2020;Vlasov,DrissnerSchmid和Nichol 2018)、关系分类(Lv等人2018)2019; Gao等人2019;Ye和Ling 2019),序列标记(Hou等人,2020)。然而,少样本多标签问题很少被研究。以前的工作集中在计算机视觉(Xiang等人2019;Alfassy等人2019)和信号处理(Cheng,Chou和Yang 2019)。Rios和Kavuluru(2018)调查了医疗文本中的少样本MLC。但是,他们的方法需要标签的描述和EMR结构,这通常很难获得,并且在该任务中不可用。对于标签名称语义的使用,已经证明它对于槽填充(Bapna等人,2017;Lee和Jha 2019;Shah等人,2019;Hou等人,2020)和意图检测(Xia等人,2020;Krone,Zhang和Diab 2020;Chen,Hakkani-Tür和He 2016)的数据稀缺问题都是有效的。

结论

本篇工作探讨了多标签意图检测的少镜头学习问题。为了仅通过几个支持示例来估计合理的阈值,提出了元校准阈值,该阈值自适应地结合了先前的经验和特定领域的知识。为了在少样本设置下获得标签相关性分数,引入了一种基于锚定标签表示的度量学习方法。它为标签实例相似度计算提供了分离良好的标签表示。实验结果表明,元校准阈值和锚定标签表示都可以改善少样本多标签意图检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敷衍zgf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值