【论文解读】《面向任务型对话的小样本语言理解模型研究》

文章解析了一种小样本学习方法在任务型对话系统中的应用,提出了一种基于改进原型网络的意图识别模型和信息增强的对话联合模型。实验结果显示在3-shot和1-shot条件下,模型性能优于基线,展示了在数据稀缺情况下提升对话理解能力的有效性。
摘要由CSDN通过智能技术生成

【论文解读】《面向任务型对话的小样本语言理解模型研究》

该系列仅作为自己的学习记录



前言

论文链接:面向任务型对话的小样本语言理解模型研究
有关小样本学习的知识点参考该博客:few shot learning-小样本学习入门
本文作为自身学习的解读,仅供参考,可能后序添加代码复现部分。


1. 研究目标

如何使用小样本学习有效地解决任务型对话系统中数据缺乏等问题以及提高服务成功率。

1.1 相关概念

(1)对话语言理解:是任务型对话系统中的前置任务,旨在将人类语言转化为计算机能够识别的指令。主要分为以下两个重要子任务:

  • 意图识别:识别用户输入的文本信息,将用户的话术划分到预先定义的意图类别中。(文本分类)
  • 槽位提取:提取用户输入文本信息中的槽参数。(BIO序列标注)

(2)小样本学习:近年的研究中使用更多的是基于元学习的方法,主要可以分为以下两种方式:

  • 模型微调:使用不同类别的大量数据更新、迭代模型参数。
  • 度量学习:通过不同的度量函数有效地计算两个样本之间的距离,从而判断样本所属类别。

2. 研究问题

该文阐述当下对话语言理解任务存在以下不足:

  • 由于不同领域下的意图种类结构不同,现有的小样本意图识别适用性不足。
  • 在提高小样本意图识别和槽位提取任务联合模型效果的同时对两个子任务的效果提高存在不足。

针对上述不足,该文设计构建了基于改进原型网络的小样本意图识别模型,同时基于该改进的模型构建了基于小样本学习的对话语言理解联合模型

3. 模型构建

3.1 意图识别模型设计

该文提出了基于改进原型网络的小样本意图识别模型(Improved Prototypical Networks Model for Few-shot Intent Detection,IPNM-FID),以加强模型在不同领域的通用性,模型结构如下图所示。

  • 支持集的数据文本集合 S = { S n , n ∈ N } S = \{ S^n, n \in \mathbb{N} \} S={Sn,nN} N N N为类别数量,即小样本学习的N-Way。
  • S n = { S k n , k ∈ K } S^n=\{ S_k^n, k \in K \} Sn={Skn,kK},其中 K K K为支持集中每个类别的样本数量,即小样本学习中的K-Shot。
  • S k n = [ S k 1 n , S k 2 n , … , S k l n ] S_k^n = [S_{k1}^n, S_{k2}^n, \ldots, S_{kl}^n] Skn=[Sk1n,Sk2n,,Skln]其中 l l l为文本的最大长度,与查询样本 Q = [ q 1 , q 2 , . . . , q l ] Q=[q_1,q_2,...,q_l] Q=[q1,q2,...,ql]同时输入IPNM-FID。
  • 该文计算出支持集中不同类别的类别原型,再分别计算其与查询样本之间的距离值,即相似度。根据相似度可判断查询样本的类别,以达到意图识别的目的。

基于改进原型网络的意图识别模型

3.1.1 文本编码层的优化

使用BERT作为文本编码器,将查询样本 Q Q Q扩展至和查询集 S S S同样的维度并拼接,然后输入进BERT进行处理。公式为如下:
在这里插入图片描述

# Q的形状为(1,n,h)
# S的形状为(n,k,h)
Q = torch.repeat_interleave(Q, S.size(1)).reshape(S.shape) # Q扩展到S同样的维度
SQ = torch.concat((S, Q), dim=2)

对BERT输出的矩阵向量进行切分,分别得到支持集和查询样本的表示向量。这里做这步操作是为了得到上下文相关的支持集和查询样本的表示向量。
在这里插入图片描述
由于BERT生成句向量空间的各向异性,其生成的字向量在嵌入空间中分布不均匀,且受频率影响。因此,该文将BERT输出的 s s s q q q 输入到Bi-GRU网络中,将得到的前向与后向向量拼接得到最终的 s s s q q q,公式如下:
在这里插入图片描述
将经过Bi-GRU层之后的支持集词矩阵向量和查询样本字向量序列进行求和取平均,公式如下所示。
S k n ′ = 1 L S k t i n ′ S_k^{n'} = \frac{1}{L} S_{kti}^{n'} Skn=L1Sktin
其中 S k n ′ S_k^{n'} Skn表示第 n n n个类别中第 k k k个文本的文本表示, L L L表示文本的实际长度, S k t i n ′ S_{kti}^{n'} Sktin表示第 i i i个字的字向量。
q n × k ′ = 1 L q n × k t i ′ q_{n \times k}^{'} = \frac{1}{L} q_{n \times kti}^{'} qn×k=L1qn×kti
其中, q n × k ′ q_{n \times k}^{'} qn×k表示查询样本对支持集中第 n n n个类的第 k k k个样本的交互文本表示。 q n × k t i ′ q_{n \times kti}^{'} qn×kti表示查询样本第 n × k n \times k n×k个输出向量中第 i i i个字的字向量。
最后对查询样本所有支持集得到的交互文本表示求平均得到查询样本的文本表示。
q ′ = 1 n × k ∑ i = 1 n × k q t ′ q' = \frac{1}{n \times k} \sum_{i=1}^{n \times k} q'_t q=n×k1i=1n×kqt

3.1.2 原型计算层改进

原型网络旨在通过计算查询样本与各类别之间的距离得到查询样本类别。在实际情况中,距离原型较远的样本在参与原型计算时会导致所得到的原型偏离
该文使用CNN对原型特征进行捕捉,因为CNN可以捕捉文本中更高级的特征。卷积的公式如下:
c o n v = ∑ i d e w i × v i conv = \sum_{i}^{d_e}w_i \times v_i conv=idewi×vi
z = h ( c o n v + b ) z=h(conv+b) z=h(conv+b)
其中, c o n v conv conv表示卷积计算结果; w i w_i wi表示卷积核权重; v i v_i vi表示卷积核权重对应在字向量中的值。
卷积之后加入偏置 b b b,引入激活函数 h h h进行激活。通过上述两个式子结合,得到最后等原型表示 C n ′ C_n^{'} Cn

3.1.3 距离度量层

该文使用点积计算距离。使用点积距离对上一层输出的不同类别的原型表示与先前的查询样本表示进行相似度计算。
d i s t a n c e n = < C n ′ , Q > ∑ d = 1 d c n d ′ × q d ′ distance_n=<C_n^{'},Q>\sum_{d=1}^{d}c^{'}_{nd} \times q^{'}_d distancen=<Cn,Q>d=1dcnd×qd
其中, d i s t a n c e n distance_n distancen表示类别原型与查询样本的相似度计算结果; d e d_e de表示经过文本编码层与原型计算 层之后文本表示向量的维度; c n d ′ c^{'}_{nd} cnd表示类别 n n n的原型表示向量 c n ′ c^{'}_n cn的第 d d d个值; q d ′ q^{'}_d qd表示向量 q ′ q^{'} q的第 d d d个值。
求得查询集样本和各类别原型的距离后,最后通过Softmax函数求得各类别的概率分布。
q ( y n ∣ Q ) = exp ⁡ ( distance ( Q , C n ′ ) ) ∑ n = 1 N exp ⁡ ( distance ( Q , C n ′ ) ) q(y^n|Q) = \frac{\exp(\text{distance}(Q, C'_n))}{\sum_{n=1}^{N} \exp(\text{distance}(Q, C'_n))} q(ynQ)=n=1Nexp(distance(Q,Cn))exp(distance(Q,Cn))

3.2 基于信息增强的联合模型

在上述基于改进原型网络的小样本意图识别模型(IPNM-FID)的基础上,根据槽位提取任务的输出结果,结合小样本槽位提取模型,构造小样本对话语言理解联合模型框架,如下图所示。其中FSTM-CRF是基于条件随机场的小样本槽位提取模型(Few-shot Slot Tagging Model Based on Conditional Random Field)的简称。
在这里插入图片描述
主要的步骤如下:

  • 基于条件随机场(CRF)的小样本槽位提取模型(FSTM-CRF)的构建。使用和IPNM-FID同样参数的BERT作为文本编码器,使用改进的原型网络结构构建每个字符的发射分数,同时结合标签间依赖转移关系构建的转移概率矩阵,最后使用CRF找到输入字符的最优标签序列。
  • 动态槽位注意力机制的引入。BIO的序列标注任务中标注为B,I的字符包含了名词属性,使用这些名词信息加强意图识别任务。
  • 基于信息增强的小样本对话语言理解模型(IAM-FSLU)的构建,也就是上图。BERT为意图识别和槽位提取共享的文本编码器,同时两个任务又有独立的编码层。通过上述的动态槽位注意力机制将增强的信息加入到意图识别的任务中,最后对两个任务的损失求和取平均。

3.2.1 基于条件随机场(CRF)的小样本槽位提取模型(FSTM-CRF)的构建

  • 使用和IPNM-FID相同的文本编码层,因为是序列标注问题,只需要对查询样本与支持集的交互文本表示取平均得到最后的查询样本文本序列表示。
    q ′ = 1 n × k ∑ i = 1 n × k q t ′ q' = \frac{1}{n \times k} \sum_{i=1}^{n \times k} q'_t q=n×k1i=1n×kqt
  • 基于改进原型网络的发射打分器。
    对于支持集中的标签 l i l_i li,使用支持集中的所有属于该标签的字符表示进行求和取平均得到该标签的原型表示,公式如下。也就是通过一个 I ( l a b e l s j = = l i ) I(label_{s_j}==l_i) I(labelsj==li)矩阵判断 s j s_j sj标签是否为B,I,是的话为1,不是的话为0,然后 s j s_j sj乘上这个矩阵再求和取平均便可得到原型表示。
    C l i = 1 s u m ( l i ) ∑ j = 1 J s j × I ( l a b e l s j = = l i ) C_{l_i}=\frac{1}{sum(l_i)}\sum_{j=1}^{J}s_j \times I(label_{s_j}==l_i) Cli=sum(li)1j=1Jsj×I(labelsj==li)
  • 将上述标签的原型表示,也就是B,I的原型表示,输入进CNN,得到修正后的原型表示。
  • 通过和3.1.3节同样的方式计算查询样本与每个标签的距离值,再使用Softmax计算得到字符对每个标签的发射分数。
  • 通过两个标签之间的依赖关系建立转移概率矩阵,再通过CRF得到最终的标注序列。
    在这里插入图片描述

3.2.2 动态槽位注意力机制

上述槽位提取模型最终的输出是BIO的形式,其中标注为B,I的字符是文本中的名词信息,构建过程如下所示。
在这里插入图片描述
如上图所示,文本内容为“给我打开一下 qq”,文本中“qq”是名词,代表应用软件名称,因此槽位提取结果使用 B 和 I 进行标注;其他字符均为非名词,使用 O 标注。然后,用槽位提取的结果构造动态注意力向量,标注为 O 的字符的位置使用权重值 1 代替, 标注为 B 和 I 的字符的位置使用权重 α α α 代替,从而得到动态注意力向量 I A = [ 1 , 1 , 1 , 1 , 1 , 1 , α , α ] IA = [ 1,1,1,1,1,1,α,α ] IA=[111111αα]

3.3.3 信息增强的小样本对话联合模型

将槽位提取任务的输出,引入了动态槽位注意力机制,对B,I标签处理原查询样本进行关键信息增强。将得到的加强信息序列扩展到矩阵后与查询样本向量相乘得到信息增强后的查询样本表示,公式如下所示。
q I ′ = M a t ( I A ) ⊙ q ′ qI'=Mat(IA)⊙q' qI=Mat(IA)q
其中, M a t ( I A ) Mat(IA) Mat(IA)指将向量 I A IA IA序列化。 ⊙ ⊙ 表示矩阵对应元素相乘。
然后同3.1.3节中一样,计算不同类别的原型表示与信息增强后的查询样本间的距离,进行相似度对比,然后通过Softmax得到各类别的概率分布。

3.3.4 模型训练

模型训练是结合了意图识别和槽位提取两个任务的损失,分别为 l I ( θ ) l_I(θ) lI(θ) l s ( θ ) l_s(θ) ls(θ),公式如下。
l ( θ ) = l I ( θ ) + l s ( θ ) 2 l(θ)=\frac{l_I(θ)+l_s(θ)}{2} l(θ)=2lI(θ)+ls(θ)

4. 实验结果

设立了两组实验,分别为3-shot和1-shot。

  • 在小样本3-shot的对话语言理解的数据集上对基线模型与本文的IAM-FSLU进行验证。可以看到,句子正确率超过了所有的基线模型。
    在这里插入图片描述
  • 在小样本1-shot的对话语言理解的数据集上同样与基线模型进行对比。
    在这里插入图片描述
    消融实验结果如下,分别去除了FSTM-CRF,Bi-GRU和CNN验证模型组件的有效性。
    在这里插入图片描述
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值