意图识别训练样本数据的增强方法、系统、设备及介质与流程

文档序号:30217586发布日期:2022-05-31 18:45阅读:97来源:国知局
意图识别训练样本数据的增强方法、系统、设备及介质与流程

1.本发明涉及数据处理技术领域,特别涉及一种意图识别训练样本数据的增强方法、系统、设备及介质。


背景技术:

2.目前主要的文本数据增强方法,包含增删改回译等基础eda(最简单的数据扩充)等方式;通常基于语言模型的生成方式;或者基于有监督的seq2seq(一种循环神经网络的变种)方式;或者基于检索的方式等进行文本数据增强;而现有采用的文本数据增强方式成本比较高,生成的文本类别比较单一。


技术实现要素:

3.本发明要解决的技术问题是为了克服现有技术中所采用的文本数据增强方式存在成本高、文本类别单一的缺陷,提供一种意图识别训练样本数据的增强方法、系统、设备及介质。
4.本发明是通过下述技术方案来解决上述技术问题:
5.本发明第一方面提供了一种意图识别训练样本数据的增强方法,所述增强方法包括:
6.获取历史意图识别训练样本数据,所述历史意图识别训练样本数据包括历史文本数据;
7.利用积分梯度获取所述历史意图识别训练样本数据中的关键词;
8.基于所述关键词采用mcmc(马尔科夫链蒙特卡罗)采样算法生成目标句子,以所述目标句子作为新的文本数据;
9.将所述新的文本数据增加至所述历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
10.较佳地,所述获取历史意图识别训练样本数据的步骤之后,所述增强方法还包括:
11.基于所述历史意图识别训练样本数据训练得到意图分类模型;
12.所述利用积分梯度获取所述历史意图识别训练样本数据中的关键词的步骤包括:
13.基于所述意图分类模型利用所述积分梯度获取所述历史意图识别训练样本数据中的关键词。
14.较佳地,所述利用积分梯度获取所述历史意图识别训练样本数据中的关键词的步骤还包括:
15.利用所述积分梯度计算所述历史意图识别训练样本数据中每个字的权重值;
16.采用正向最大匹配算法对每个所述字的权重值求平均值,以得到对应词的权重值;
17.基于所述词的权重值筛选出所述关键词。
18.较佳地,所述基于所述关键词采用mcmc采样算法生成目标句子,以所述目标句子
作为新的文本数据的步骤包括:
19.s1、基于所述关键词生成待处理句子;
20.s2、对所述待处理句子进行增加和/或删除和/或修改处理,以得到处理后的句子;
21.s3、利用gpt语言模型对所述处理后的句子进行打分,以得到多个候选句子;
22.s4、分别采用均匀分布以及mcmc采样算法计算得到句子采样概率值和句子接受率值;
23.s5、若所述句子采样概率值大于所述句子接受率值,则采集当前句子作为所述目标句子;若所述句子采样概率值小于等于所述句子接受率值,则重复上述步骤s2-s4,直到迭代至预设轮次后,获取所述预设轮次之后的句子作为所述目标句子。
24.本发明第二方面提供了一种意图识别训练样本数据的增强系统,所述增强系统包括:
25.第一获取模块,用于获取历史意图识别训练样本数据,所述历史意图识别训练样本数据包括历史文本数据;
26.第二获取模块,用于利用积分梯度获取所述历史意图识别训练样本数据中的关键词;
27.生成模块,用于基于所述关键词采用mcmc采样算法生成目标句子,以所述目标句子作为新的文本数据;
28.增加模块,用于将所述新的文本数据增加至所述历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
29.较佳地,所述增强系统还包括:
30.训练模块,用于基于所述历史意图识别训练样本数据训练得到意图分类模型;
31.第二获取模块,具体用于基于所述意图分类模型利用所述积分梯度获取所述历史意图识别训练样本数据中的关键词。
32.较佳地,所述第二获取模块包括:
33.第一计算单元,用于利用所述积分梯度计算所述历史意图识别训练样本数据中每个字的权重值;
34.第二计算单元,用于采用正向最大匹配算法对每个所述字的权重值求平均值,以得到对应词的权重值;
35.筛选单元,用于基于所述词的权重值筛选出所述关键词。
36.较佳地,所述生成模块包括:
37.生成单元,用于基于所述关键词生成待处理句子;
38.处理单元,用于对所述待处理句子进行增加和/或删除和/或修改处理,以得到处理后的句子;
39.打分单元,用于利用gpt语言模型对所述处理后的句子进行打分,以得到多个候选句子;
40.第三计算单元,用于分别采用均匀分布以及mcmc采样算法计算得到句子采样概率值和句子接受率值;
41.判断单元,用于若所述句子采样概率值大于所述句子接受率值,则采集当前句子作为所述目标句子;若所述句子采样概率值小于等于所述句子接受率值,则重复执行生成
处理操作,直到迭代至预设轮次后,获取所述预设轮次之后的句子作为所述目标句子。
42.本发明第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的意图识别训练样本数据的增强方法。
43.本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的意图识别训练样本数据的增强方法。
44.本发明的积极进步效果在于:
45.本发明利用积分梯度获取历史意图识别训练样本数据中的关键词;基于关键词采用mcmc采样算法生成目标句子,以目标句子作为新的文本数据;将新的文本数据增加至历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。实现了基于无监督的方式结合积分梯度和mcmc采样算法进行意图识别训练样本数据的增强,降低了数据增强的成本,丰富了意图识别训练样本数据的多样性,提高了数据增强的效率。
附图说明
46.图1为本发明实施例1的意图识别训练样本数据的增强方法的第一流程图。
47.图2为本发明实施例1的意图识别训练样本数据的增强方法的第二流程图。
48.图3为本发明实施例1的意图识别训练样本数据的增强方法的步骤102的流程图。
49.图4为本发明实施例1的意图识别训练样本数据的增强方法的步骤103的流程图。
50.图5为本发明实施例2的意图识别训练样本数据的增强系统的模块示意图。
51.图6为本发明实施例3的电子设备的结构示意图。
具体实施方式
52.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
53.实施例1
54.本实施例提供一种意图识别训练样本数据的增强方法,如图1所示,该增强方法包括:
55.步骤101、获取历史意图识别训练样本数据,该历史意图识别训练样本数据包括历史文本数据;
56.步骤102、利用积分梯度获取历史意图识别训练样本数据中的关键词;
57.本实施例中,利用nlp(自然语言处理)可解释性工具积分梯度来获取历史意图识别训练样本数据中的关键词。
58.步骤103、基于关键词采用mcmc采样算法生成目标句子,以目标句子作为新的文本数据;
59.步骤104、将新的文本数据增加至历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
60.本实施例中,将过滤筛选得到的新的文本数据加入历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
61.在一可实施的方案中,如图2所示,该增强方法还包括:
62.步骤1010、基于历史意图识别训练样本数据训练得到意图分类模型;
63.本实施例中,根据历史意图识别训练样本数据,使用常用的分类方法如bigru(双向gru)、albert+finetuning(预训练语言模型)等方式,训练得到意图分类模型。
64.步骤102包括:基于意图分类模型利用积分梯度获取历史意图识别训练样本数据中的关键词。
65.本实施例中,利用意图分类模型可以达到对历史意图识别训练样本数据进行数据清洗的目的。
66.需要说明的是,本实施例采用积分梯度以及无监督mcmc采样算法能够生成更为多样的意图识别训练样本数据,在意图识别尤其是冷启动场景数据缺少的情况下,能够提供更为丰富的意图识别训练样本数据用于训练意图识别模型,对于提升意图识别模型的泛化性有很大的帮助。
67.在一可实施的方案中,如图3所示,步骤102包括:
68.步骤1021、利用积分梯度计算历史意图识别训练样本数据中每个字的权重值;
69.步骤1022、采用正向最大匹配算法对每个字的权重值求平均值,以得到对应词的权重值;
70.本实施例中,通过积分梯度计算历史意图识别训练样本数据中每个token(字、词)的权重值的公式如下:
[0071][0072]
其中,a表示积分梯度,表示为一个直线方程,表示变量,n表示离散近似的数量,x表示字向量,表示字向量的平均值。
[0073]
需要说明的是,本实施例还可以通过attention的方式,计算出历史意图识别训练样本数据中的注意力分数更高的值,用于后续的计算,常见的如self-attention。
[0074]
另外,通过积分梯度计算历史意图识别训练样本数据中每个token的权重值,而token既可能是词级别,也可能是字符级别,如果是字符级别,则需要转换为对应的词汇(即若是字符级别的,先计算出历史意图识别训练样本数据中每个字的权重值,再对每个字的权重值求平均值,以得到对应词的权重值),便于更好的统计信息。
[0075]
在具体实施过程中,采用正向最大匹配算法对每个字的权重值求平均值,以得到对应词的权重值时,先将对应的单词进行分词处理,使用的方法常见如hanlp等;再使用正向最大匹配算法进行匹配,将一个词内的字的得分进行平均值计算,以得到对应词的权重值。
[0076]
步骤1023、基于词的权重值筛选出关键词。
[0077]
本实施例中,将hanlp分词后的结果作为临时的词典;设定滑动窗口的大小为n;在滑动窗口范围内从前往后依次截取关键词,如果截取的关键词在词典内,则为实际的分词结果。
[0078]
在一可实施的方案中,如图4所示,步骤103包括:
[0079]
s1、基于关键词生成待处理句子;
[0080]
s2、对待处理句子进行增加和/或删除和/或修改处理,以得到处理后的句子;
[0081]
本实施例中,对关键词组成的待处理句子进行微调处理,即可以每次对单个词进行微调处理,具体包含增加(insert)、删除(delete)、修改(replace)三种处理,三种处理的具体处理过程如下:
[0082]
增加(insert):在待处理句子的某个位置插入一个新词;
[0083]
删除(delete):删除待处理句子的某个词;
[0084]
修改(replace):将待处理句子的某个词替换为另一个词。
[0085]
s3、利用gpt语言模型对处理后的句子进行打分,以得到多个候选句子;
[0086]
本实施例中,使用gpt语言模型对处理后的句子进行打分,得到n个候选句子,例如n=64,n也可以设置为其他数值,此处不做具体限定。
[0087]
s4、分别采用均匀分布以及mcmc采样算法计算得到句子采样概率值和句子接受率值;
[0088]
本实施例中,采用均匀分布产生随机数(即采用均匀分布计算得到句子采样概率值),以及采用mcmc采样算法计算得到句子接受率值。
[0089]
本实施例中,句子接受率值的计算公式为:a(x
t
,x
*
)=p(x
*
)g(x
t
|x
*
)
[0090]
其中,a(x
t
,x
*
)表示句子接受率值,p(x
*
)表示句子采样概率值,g(x
t
|x
*
)表示提议分布。
[0091]
s5、若句子采样概率值大于句子接受率值,则采集当前句子作为目标句子;若句子采样概率值小于等于句子接受率值,则重复上述步骤s2-s4,直到迭代至预设轮次后,获取预设轮次之后的句子作为目标句子。
[0092]
需要说明的是,预设轮次根据实际情况进行设置,此处不做具体限定。
[0093]
本实施例中,通过接受率值来对候选句子进行过滤,以得到目标句子,具体地,如果句子采样概率值(即随机数)大于句子接受率值,则采纳本次采样出的结果作为目标句子;如果句子采样概率值(即随机数)小于等于句子接受率值,则返回步骤s2,重新对待处理句子进行增加和/或删除和/或修改的操作,当迭代到一定轮次t之后,取t+1及之后时刻的句子作为最终生成的目标句子,需要说明的是,t的取值根据事情情况进行设置,此处不做具体限定。
[0094]
本实施例利用积分梯度获取历史意图识别训练样本数据中的关键词;基于关键词采用mcmc采样算法生成目标句子,以目标句子作为新的文本数据;将新的文本数据增加至历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。实现了基于无监督的方式结合积分梯度和mcmc采样算法进行意图识别训练样本数据的增强,降低了数据增强的成本,丰富了意图识别训练样本数据的多样性,提高了数据增强的效率。
[0095]
实施例2
[0096]
本实施例提供一种意图识别训练样本数据的增强系统,如图5所示,该增强系统包括:
[0097]
第一获取模块1,用于获取历史意图识别训练样本数据,该历史意图识别训练样本数据包括历史文本数据;
[0098]
第二获取模块2,用于利用积分梯度获取历史意图识别训练样本数据中的关键词;
[0099]
本实施例中,利用nlp可解释性工具积分梯度来获取历史意图识别训练样本数据中的关键词。
[0100]
生成模块3,用于基于关键词采用mcmc采样算法生成目标句子,以目标句子作为新的文本数据;
[0101]
增加模块4,用于将新的文本数据增加至历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
[0102]
本实施例中,将过滤筛选得到的新的文本数据加入历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。
[0103]
在一可实施的方案中,如图5所示,该增强系统还包括:
[0104]
训练模块5,用于基于历史意图识别训练样本数据训练得到意图分类模型;
[0105]
本实施例中,根据历史意图识别训练样本数据,使用常用的分类方法如bigru、albert+finetuning等方式,训练得到意图分类模型。
[0106]
第二获取模块2,具体用于基于意图分类模型利用积分梯度获取历史意图识别训练样本数据中的关键词。
[0107]
本实施例中,利用意图分类模型可以达到对历史意图识别训练样本数据进行数据清洗的目的。
[0108]
需要说明的是,本实施例采用积分梯度以及无监督mcmc采样算法能够生成更为多样的意图识别训练样本数据,在意图识别尤其是冷启动场景数据缺少的情况下,能够提供更为丰富的意图识别训练样本数据用于训练意图识别模型,对于提升意图识别模型的泛化性有很大的帮助。
[0109]
在一可实施的方案中,如图5所示,第二获取模块2包括:
[0110]
第一计算单元21,用于利用积分梯度计算历史意图识别训练样本数据中每个字的权重值;
[0111]
第二计算单元22,用于采用正向最大匹配算法对每个字的权重值求平均值,以得到对应词的权重值;
[0112]
本实施例中,通过积分梯度计算历史意图识别训练样本数据中每个token的权重值的公式如下:
[0113][0114]
其中,a表示积分梯度,表示为一个直线方程,表示变量,n表示离散近似的数量,x表示字向量,表示字向量的平均值。
[0115]
需要说明的是,本实施例还可以通过attention的方式,计算出历史意图识别训练样本数据中的注意力分数更高的值,用于后续的计算,常见的如self-attention。
[0116]
另外,通过积分梯度计算历史意图识别训练样本数据中每个token的权重值,而token既可能是词级别,也可能是字符级别,如果是字符级别,则需要转换为对应的词汇(即若是字符级别的,先计算出历史意图识别训练样本数据中每个字的权重值,再对每个字的权重值求平均值,以得到对应词的权重值),便于更好的统计信息。
[0117]
在具体实施过程中,采用正向最大匹配算法对每个字的权重值求平均值,以得到对应词的权重值时,先将对应的单词进行分词处理,使用的方法常见如hanlp等;再使用正向最大匹配算法进行匹配,将一个词内的字的得分进行平均值计算,以得到对应词的权重
值。
[0118]
筛选单元23,用于基于词的权重值筛选出关键词。
[0119]
本实施例中,将hanlp分词后的结果作为临时的词典;设定滑动窗口的大小为n;在滑动窗口范围内从前往后依次截取关键词,如果截取的关键词在词典内,则为实际的分词结果。
[0120]
在一可实施的方案中,如图5所示,生成模块3包括:
[0121]
生成单元311,用于基于关键词生成待处理句子;
[0122]
处理单元312,用于对待处理句子进行增加和/或删除和/或修改处理,以得到处理后的句子;
[0123]
本实施例中,对关键词组成的待处理句子进行微调处理,即可以每次对单个词进行微调处理,具体包含增加(insert)、删除(delete)、修改(replace)三种处理,三种处理的具体处理过程如下:
[0124]
增加(insert):在待处理句子的某个位置插入一个新词;
[0125]
删除(delete):删除待处理句子的某个词;
[0126]
修改(replace):将待处理句子的某个词替换为另一个词。
[0127]
打分单元313,用于利用gpt语言模型对处理后的句子进行打分,以得到多个候选句子;
[0128]
本实施例中,使用gpt语言模型对处理后的句子进行打分,得到n个候选句子,例如n=64,n也可以设置为其他数值,此处不做具体限定。
[0129]
第三计算单元314,用于分别采用均匀分布以及mcmc采样算法计算得到句子采样概率值和句子接受率值;
[0130]
本实施例中,采用均匀分布产生随机数(即采用均匀分布计算得到句子采样概率值),以及采用mcmc采样算法计算得到句子接受率值。
[0131]
本实施例中,句子接受率值的计算公式为:a(x
t
,x
*
)=p(x
*
)g(x
t
|x
*
)
[0132]
其中,a(x
t
,x
*
)表示句子接受率值,p(x
*
)表示句子采样概率值,g(x
t
|x
*
)表示提议分布。
[0133]
判断单元315,用于若句子采样概率值大于句子接受率值,则采集当前句子作为目标句子;若句子采样概率值小于等于句子接受率值,则重复执行生成处理操作,直到迭代至预设轮次后,获取预设轮次之后的句子作为目标句子。
[0134]
需要说明的是,预设轮次根据实际情况进行设置,此处不做具体限定。
[0135]
本实施例中,通过接受率值来对候选句子进行过滤,以得到目标句子,具体地,如果句子采样概率值(即随机数)大于句子接受率值,则采纳本次采样出的结果作为目标句子;如果句子采样概率值(即随机数)小于等于句子接受率值,则返回上述步骤,重新对待处理句子进行增加和/或删除和/或修改的操作,当迭代到一定轮次t之后,取t+1及之后时刻的句子作为最终生成的目标句子,需要说明的是,t的取值根据事情情况进行设置,此处不做具体限定。
[0136]
本实施例利用积分梯度获取历史意图识别训练样本数据中的关键词;基于关键词采用mcmc采样算法生成目标句子,以目标句子作为新的文本数据;将新的文本数据增加至历史意图识别训练样本数据中,以得到增强后的意图识别训练样本数据。实现了基于无监
督的方式结合积分梯度和mcmc采样算法进行意图识别训练样本数据的增强,降低了数据增强的成本,丰富了意图识别训练样本数据的多样性,提高了数据增强的效率。
[0137]
实施例3
[0138]
图6为本发明实施例3提供的一种电子设备的结构示意图。该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1的意图识别训练样本数据的增强方法。图6显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0139]
如图6所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
[0140]
总线33包括数据总线、地址总线和控制总线。
[0141]
存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
[0142]
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0143]
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的意图识别训练样本数据的增强方法。
[0144]
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
[0145]
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0146]
实施例4
[0147]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1的意图识别训练样本数据的增强方法。
[0148]
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
[0149]
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1的意图识别训练样本数据的增强方法。
[0150]
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序
代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
[0151]
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1