本发明属于自然语言处理,涉及一种基于全局-局部对比学习的跨语言自然语言理解方法。
背景技术:
1、目前,语言依旧是人流交流信息的第一载体,是一种最为有效、便捷的方式,语音交互作为人机通信中最自然、直接的交互方式,具有天然的优势。作为其中的一项关键技术,自然语言理解通常包含意图检测和槽位填充两个子任务。为了使自然语言理解模型能够更好的应用于缺乏大量标记数据的低资源语言,许多研究都聚焦于使用零样本学习构建网络,零样本学习的方法可以利用高资源语言中的标记数据来训练模型,并将其转移到目标低资源语言上得以应用。
2、虽然零样本学习能大大减少人工标记数据的工作量,并且也在领域内实现了很好的效果,但是该方法仅依赖于共享参数,并且只能执行跨语言的隐式对齐。这种机制带来了两个问题,其一,这种隐式对齐的过程在目前看来还是一个黑箱,不仅严重影响对齐表示,而且难以分析其对齐机制;其二,许多研究工作并没有充分考虑到两个子任务的不同细粒度层级,例如:意图检测是句子级的,而槽位填充是字符级的,这会导致意图和槽位之间无法相互接收一些来自不同粒度层级的迁移信息,影响了模型的预测性能。因此,现在的工作在于弥补现有基于零样本学习的自然语言理解模型在对齐机制和子任务交互方面存在的缺陷。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于全局-局部对比学习的跨语言自然语言理解方法,通过对比学习方法将不同语种的相似句子表示显式对齐,使用局部对比学习来学习不同层级的细粒度对齐信息,实现全局-局部信息融合,完成跨语言理解。
2、为达到上述目的,本发明提供如下技术方案:
3、一种基于全局-局部对比学习的跨语言自然语言理解方法,该方法包括以下步骤:
4、s1、生成原始话语序列,根据跨语言字典将原始话语序列翻译为正样本,将正样本输入到跨语言预训练模型中得到对应的编码表示;
5、s2、根据经过编码的原始话语序列、正样本以及前一时刻的负样本生成负样本队列,将负样本队列输入到跨语言预训练模型中得到对应的编码表示;
6、s3、构建局部句子级意图对比学习模块,实现跨语言句子表示对齐;
7、s4、构建局部字符级槽位对比学习模块,实现跨语言字符表示对齐;
8、s5、构建全局语义级意图-槽位对比学习模块,实现意图和槽位的表示对齐,完成跨语言理解。
9、进一步,在步骤s1中,对于原始话语序列中的每个字符,在跨语言字典中随机选择相应的翻译字符进行替换以生成正样本;
10、将正样本输入到预训练模型中,通过其中的双向循环神经网络生成隐层状态表示hi=bilstm(θemb(xi),hi-1,hi+1),其中θemb表示向量化函数,最终可得到针对正样本的编码表示为:
11、
12、式中,分别表示正样本开始标志位的向量表示和结束标志位的向量表示,表示正样本中各字符被编码后形成的向量表示。
13、进一步,在步骤s2中,采用类似于步骤s1中的方法,将负样本输入到预训练模型中得到的编码表示为:
14、
15、式中,k表示负样本队列的最大容量,表示负样本队列开始标志位的向量表示,表示负样本队列中各字符被编码后形成的向量表示。
16、进一步,在步骤s3中,通过设计损失函数来构建局部句子级意图对比学习模块,损失函数如下式:
17、
18、式中,s([],[])表示点积操作,hcls表示原始话语序列开始标志位的向量表示,表示负样本队列中开始标志位的向量表示,k表示负样本队列的最大容量。
19、进一步,在步骤s4中,通过设计损失函数来构建局部字符级槽位对比学习模块,损失函数如下式:
20、
21、式中,n表示原始话语序列的长度,hi表示原始话语序列中位置i处字符的向量表示,表示正样本中位置j处字符的向量表示,表示负样本队列中位置j处字符的向量表示。
22、进一步,在局部字符级槽位对比学习模块中,最终的损失为所有字符损失函数的总和。
23、进一步,在步骤s5中,通过设计损失函数来构建全局语义级意图-槽位对比学习模块,损失函数设计如下所述:
24、首先分别构建针对原始话语序列和正样本序列的损失函数:
25、
26、
27、式中,表示针对原始话语序列的损失函数,表示针对正样本的损失函数,hj表示原始话语序列中位置j处字符的向量表示。
28、结合损失函数和得到针对语义级对比学习的损失函数
29、
30、然后分别构建针对意图检测的损失函数以及针对槽位填充的损失函数
31、
32、
33、式中,σy=softmax(wyhcls+by),其中,wy和by表示可训练的参数,表示意图标签,表示针对位置为i的字符的槽位标签的预测值,表示针对位置为i的字符的槽位标签的实际值,ny表示意图标签的数量,nc表示槽位标签的数量。
34、最后结合损失函数和得到全局语义级意图-槽位对比学习的总体损失函数:
35、
36、式中,λ表示可训练的参数,均为标量。
37、本发明的有益效果在于:本发明通过对比学习方法将不同语种的相似句子表示显式对齐,支持对对齐方式进行分析;使用局部对比学习模块来学习意图和槽位中不同层级的细粒度对齐信息,同时利用全局对比学习模块构建意图和槽位的交互通道以挖掘更丰富的语义特征,实现全局-局部信息融合,完成跨语言理解,缩小了原始语言和目标语言之间的预测差异。
38、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
1.一种基于全局-局部对比学习的跨语言自然语言理解方法,其特征在于:该方法包括以下步骤:
2.根据权利要求1所述的跨语言自然语言理解方法,其特征在于:在步骤s1中,对于原始话语序列中的每个字符,在跨语言字典中随机选择相应的翻译字符进行替换以生成正样本;
3.根据权利要求1所述的跨语言自然语言理解方法,其特征在于:在步骤s2中,将负样本输入到预训练模型中得到的编码表示为:
4.根据权利要求1所述的跨语言自然语言理解方法,其特征在于:在步骤s3中,通过设计损失函数来构建局部句子级意图对比学习模块,损失函数如下式:
5.根据权利要求1所述的跨语言自然语言理解方法,其特征在于:在步骤s4中,通过设计损失函数来构建局部字符级槽位对比学习模块,损失函数如下式:
6.根据权利要求5所述的跨语言自然语言理解方法,其特征在于:在局部字符级槽位对比学习模块中,最终的损失为所有字符损失函数的总和。
7.根据权利要求1所述的跨语言自然语言理解方法,其特征在于:在步骤s5中,通过设计损失函数来构建全局语义级意图-槽位对比学习模块,损失函数设计如下所述: