一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向不平衡数据集针对少数类的意图识别方法与流程

2022-12-07 12:05:14 来源:中国专利 TAG:


1.本发明涉及自然语言理解的文本分类技术领域,尤其是一种面向不平衡数据集针对少数类的意图识别方法。


背景技术:

2.意图识别是问答系统的基础工作之一,主要目的是根据用户文本形式的问句,识别出用户的意图。意图识别可以看作是文本分类任务,即将用户问句文本分类到对应的意图类别中。
3.现有的效果最好的文本分类方法是基于神经网络和深度学习模型的。基于神经网络和深度学习的意图识别模型需要足够充分的数据集进行训练,让模型从大量的数据中学习到不同类别意图的特征。然而,对于领域问答系统而言,某些意图的文本数据是非常少的,难以收集足够的样本参与训练。并且,不平衡的数据集对于模型训练而言是极为困难的。模型在训练过程中会偏向于多数类,很难捕捉到少数类的特征,因此导致模型对少数类学习不充分,表示能力弱,识别准确率低下。
4.现有的解决办法可以分为三类:第一,修改模型训练的损失函数,调整各类别在损失中的权重;第二,过采样或欠采样,即对多数类样本进行欠采样或者对少数类样本进行过采样;第三,合成新样本,利用已有样本合成新的样本数据。其中,第一种方法从模型角度出发,调整损失权值,这种方法往往会得到较好的效果,但是如何调整损失权值、确定最优的权值是一个费事费力的过程,每一次的权值调整都需要重新训练模型,增大开销;第二种方法是对数据采样,其中欠采样会造成资源浪费,没有充分利用收集的数据;过采样是对少数类样本的重复使用,往往会导致模型过拟合;第三种方法是制定策略,如何利用已有样本,合成相似度高的新样本,这种方法在当数据特征比较复杂时,会引入误差,误导模型。
5.考虑到对于少数类而言,即使其训练样本较少,但是在特征空间中,这些类也必定存在其对应的区域。因此,如何在特征空间中学习样本分布,生成新的少数类样本,参与模型训练,从而增强模型对少数类的表示能力与识别能力,已成为急需解决的新问题。


技术实现要素:

6.为解决自然语言处理领域的意图识别模型在不平衡数据集上训练不充分的缺陷,本发明的目的在于提供一种利用生成式对抗网络辅助模型生成少数类样本,增强了模型对少数类的表示能力和识别能力的一种面向不平衡数据集针对少数类的意图识别方法。
7.为实现上述目的,本发明采用了以下技术方案:一种面向不平衡数据集针对少数类的意图识别方法,该方法包括下列顺序的步骤:
8.(1)准备数据集与确定少数类:根据问答系统所属领域,明确问答系统所覆盖的用户意图类型,采集文本数据构建数据集;根据数据集中各意图类别的数量信息,确定数据集中的少数类别;
9.(2)采样与文本编码:从数据集中随机采样数据作为采样样本,利用文本编码器对
采样样本进行编码,得到句子表示;
10.(3)生成假样本:利用生成器随机生成数据作为假样本;
11.(4)样本混合与模型训练:混合采样样本与假样本,建立生成式对抗网络辅助模型,利用采样样本和假样本训练生成式对抗网络辅助模型,所述生成式对抗网络辅助模型由生成器、判别器和文本编码器组成;
12.(5)生成少数类样本:在训练完成的生成式对抗网络辅助模型的基础上,根据确定的少数类别信息,利用生成器生成对应意图的新样本;
13.(6)模型增强训练:根据生成的对应意图的新样本训练生成式对抗网络辅助模型;
14.(7)少数类准确率评价:对最终得到的生成式对抗网络辅助模型进行评价,判断生成式对抗网络辅助模型在少数类上的识别准确度。
15.所述步骤(1)具体包括以下步骤:
16.(1a)统计获得的数据集信息,所述数据集信息包括数据集大小信息、意图类别数量信息和各意图类别样本数量信息;
17.(1b)根据所获取的数据集的信息,计算出每个类别的占比yi:
[0018][0019]
式中,t表示数据集大小,即样本总数量;ni表示意图类别i的样本数量;
[0020]
(1c)根据少数类判定函数确定数据集中的少数类信息,所述少数类判定函数如公式(2)所示:
[0021][0022]
式中,n表示数据集中的意图类别数量;
[0023]
所述少数类判定函数的判定方法为:给定意图类别i,当其少数类判定函数值为1时,判定该意图类别为少数类,当其少数类判定函数值为0时,判定该意图类别不为少数类;
[0024]
所述少数类判定函数的特征表现为:
[0025]
当数据集中的样本总数量t不变时,数据集包含意图类别数量越多,即n越大,对于给定意图类别i,判定其为少数类所要求的样本数量越小;反之,判定其为少数类所要求的样本数量越大;
[0026]
当数据集中包含的意图类别数量n不变时,数据集包含的样本总数量越多,即t越大,对于给定意图类别i,判定其为少数类所要求的样本数量越大;反之,判定其为少数类所要求的样本数量越小。
[0027]
所述步骤(2)具体包括以下步骤:
[0028]
(2a)从数据集中随机采样a个采样样本,作为单次生成式对抗网络辅助模型训练的批数据;
[0029]
(2b)利用文本编码器对a个采样样本进行编码,得到样本数据的分布式表示即句子表示,并且标记为{0,1,...,c}:
[0030]
e=textencoder(x)
ꢀꢀ
(3)
[0031]
式中,x表示采样样本数据,textencoder表示文本编码器,e表示采样样本对应的分布式表示,所述textencoder采用神经网络或深度模型。
[0032]
所述步骤(3)具体包括以下步骤:
[0033]
(3a)给定数据集的少数类信息,利用生成器生成对应的样本,由公式(4)计算得到:
[0034][0035]
式中,i表示确定的少数类信息;a为全一矩阵;n为高斯噪声,w、b分别为模型权值和偏差参数;
[0036]
(3b)将生成器生成的样本标记为假样本。
[0037]
所述步骤(4)具体包括以下步骤:
[0038]
(4a)将采样样本和生成样本作为一批训练数据,输入给判别器;
[0039]
(4b)根据批训练损失,训练、微调文本编码器和判别器,批训练损失由公式(5)计算得到:
[0040][0041]
式中,d表示少数类的数量,d表示判别器,所述判别器为多层感知机;a表示采样样本的数量,ei表示采样样本的分布式表示,e
i f表示生成器所生成的样本。
[0042]
所述步骤(5)具体包括以下步骤:
[0043]
(5a)给定数据集的少数类信息,利用生成器生成对应意图的新样本:
[0044][0045]
式中,i表示确定的少数类信息;a为全一矩阵;n为高斯噪声,w、b分别为模型权值和偏差参数;
[0046]
(5b)根据少数类信息,将对应生成样本标记为对应意图识别。
[0047]
所述步骤(6)具体包括以下步骤:
[0048]
(6a)将生成少数类样本数据作为一批训练数据,输入给判别器;
[0049]
(6b)根据批训练损失,训练、微调文本编码器和生成器,批训练损失函数为:
[0050][0051]
其中,e
i s表示生成器所生成的小类样本,l
gs
表示鉴别器误识别生成的样本所造成的损失;m表示生成器生成的小类样本数量,d表示判别器,所述判别器为多层感知机;
[0052]
(6c)重复步骤(2)至步骤(6),根据设定的训练次数,反复训练生成式对抗网络辅助模型。
[0053]
所述步骤(7)具体包括以下步骤:
[0054]
(7a)选择如下的评价标准:
[0055]
[0056]
其中,tp、fp以及fn均是来自于混淆矩阵,i∈{1,2...c};tp表示将正类预测为正类数;fn表示将正类预测为负类数;fp表示将负类预测为正类数;
[0057]
(7b)宏观的评价标准如下:
[0058][0059]
其中,pi、ri、f1i由公式(8)所得,p为查准率,表示在所有预测为正类的样本中,实际真的是正类样本的比例,比例越高,说明fp即将负类预测为正类数越小,查得越准;r为查全率,表示在所有实际是正类的样例中,预测为正类的比例,比例越高,说明fn即将正类预测为负类数越小,漏掉的真实的样例越少,查得越全;
[0060]
在有多个二分类混淆矩阵时,为在多个二分类混淆矩阵上综合考察查全率和查准率,使用macro_p、macro_r、macro_f1代替上述的p、r、以及f1,先在各混淆矩阵上分别计算出p、r再计算平均值,得到macro_p、macro_r、macro_f1。
[0061]
由上述技术方案可知,本发明的有益效果为:第一,本发明利用了生成式对抗网络,通过两阶段训练,学习少数类在特征空间中的分布,增强生成式对抗网络辅助模型对少数类的识别能力;第二,本发明在第一阶段训练中通过生成器在特征空间生成假样本,增强模型识别假样本的能力;在第二阶段训练中,利用生成器生成对应少数类的样本,参与文本编码器和生成器的训练过程,通过这种两阶段的训练策略,对于少数类而言,可以使得生成器和文本编码器能够在训练过程中不断地趋近;第三,本发明通过在特征空间学习少数类,充分利用了数据集中少数类的样本信息,实现了模型对少数类的识别能力。
附图说明
[0062]
图1为本发明的方法流程图;
[0063]
图2为本发明所获取的数据及其分类情况示意图;
[0064]
图3为本发明中生成式对抗网络辅助模型的框架图;
[0065]
图4为本发明根据不同的评价标准产生的实验结果示意图。
具体实施方式
[0066]
如图1所示,一种面向不平衡数据集针对少数类的意图识别方法,该方法包括下列顺序的步骤:
[0067]
(1)准备数据集与确定少数类:根据问答系统所属领域,明确问答系统所覆盖的用户意图类型,采集文本数据构建数据集;根据数据集中各意图类别的数量信息,确定数据集中的少数类别;
[0068]
(2)采样与文本编码:从数据集中随机采样数据作为采样样本,利用文本编码器对采样样本进行编码,得到句子表示;
[0069]
(3)生成假样本:利用生成器随机生成数据作为假样本;
[0070]
(4)样本混合与模型训练:混合采样样本与假样本,建立生成式对抗网络辅助模
型,利用采样样本和假样本训练生成式对抗网络辅助模型,所述生成式对抗网络辅助模型由生成器、判别器和文本编码器组成;所述生成器由一个多层感知机构成,主要是用于生成与文本编码器的输出具有相同隐藏维度的特征向量;所述判别器由一个多层感知机构成,是一个全连接层,用于将样本分类并识别生成的样本;所述文本编码器采用神经网络或深度模型,主要用于将自然语言编码为特征向量。
[0071]
(5)生成少数类样本:在训练完成的生成式对抗网络辅助模型的基础上,根据确定的少数类别信息,利用生成器生成对应意图的新样本;
[0072]
(6)模型增强训练:根据生成的对应意图的新样本训练生成式对抗网络辅助模型;
[0073]
(7)少数类准确率评价:对最终得到的生成式对抗网络辅助模型进行评价,判断生成式对抗网络辅助模型在少数类上的识别准确度。
[0074]
所述步骤(1)具体包括以下步骤:
[0075]
(1a)统计获得的数据集信息,所述数据集信息包括数据集大小信息、意图类别数量信息和各意图类别样本数量信息;
[0076]
(1b)根据所获取的数据集的信息,计算出每个类别的占比yi:
[0077][0078]
式中,t表示数据集大小,即样本总数量;ni表示意图类别i的样本数量;
[0079]
(1c)根据少数类判定函数确定数据集中的少数类信息,所述少数类判定函数如公式(2)所示:
[0080][0081]
式中,n表示数据集中的意图类别数量;
[0082]
所述少数类判定函数的判定方法为:给定意图类别i,当其少数类判定函数值为1时,判定该意图类别为少数类,当其少数类判定函数值为0时,判定该意图类别不为少数类;
[0083]
所述少数类判定函数的特征表现为:
[0084]
当数据集中的样本总数量t不变时,数据集包含意图类别数量越多,即n越大,对于给定意图类别i,判定其为少数类所要求的样本数量越小;反之,判定其为少数类所要求的样本数量越大;
[0085]
当数据集中包含的意图类别数量n不变时,数据集包含的样本总数量越多,即t越大,对于给定意图类别i,判定其为少数类所要求的样本数量越大;反之,判定其为少数类所要求的样本数量越小。
[0086]
所述步骤(2)具体包括以下步骤:
[0087]
(2a)从数据集中随机采样a个采样样本,作为单次生成式对抗网络辅助模型训练的批数据;
[0088]
(2b)利用文本编码器对a个采样样本进行编码,得到样本数据的分布式表示即句子表示,并且标记为{0,1,...,c}:
[0089]
e=textencoder(x)
ꢀꢀ
(3)
[0090]
式中,x表示采样样本数据,textencoder表示文本编码器,e表示采样样本对应的分布式表示,所述textencoder采用神经网络或深度模型。
[0091]
所述步骤(3)具体包括以下步骤:
[0092]
(3a)给定数据集的少数类信息,利用生成器生成对应的样本,由公式(4)计算得到:
[0093][0094]
式中,i表示确定的少数类信息;a为全一矩阵;n为高斯噪声,w、b分别为模型权值和偏差参数;
[0095]
(3b)将生成器生成的样本标记为假样本。
[0096]
所述步骤(4)具体包括以下步骤:
[0097]
(4a)将采样样本和生成样本作为一批训练数据,输入给判别器;
[0098]
(4b)根据批训练损失,训练、微调文本编码器和判别器,批训练损失由公式(5)计算得到:
[0099][0100]
式中,d表示少数类的数量,d表示判别器,所述判别器为多层感知机;a表示采样样本的数量,ei表示采样样本的分布式表示,e
i f表示生成器所生成的样本。
[0101]
所述步骤(5)具体包括以下步骤:
[0102]
(5a)给定数据集的少数类信息,利用生成器生成对应意图的新样本:
[0103][0104]
式中,i表示确定的少数类信息;a为全一矩阵;n为高斯噪声,w、b分别为模型权值和偏差参数;
[0105]
(5b)根据少数类信息,将对应生成样本标记为对应意图识别。
[0106]
所述步骤(6)具体包括以下步骤:
[0107]
(6a)将生成少数类样本数据作为一批训练数据,输入给判别器;
[0108]
(6b)根据批训练损失,训练、微调文本编码器和生成器,批训练损失函数为:
[0109][0110]
其中,e
i s表示生成器所生成的小类样本,l
gs
表示鉴别器误识别生成的样本所造成的损失;m表示生成器生成的小类样本数量,d表示判别器,所述判别器为多层感知机;
[0111]
(6c)重复步骤(2)至步骤(6),根据设定的训练次数,反复训练生成式对抗网络辅助模型。
[0112]
所述步骤(7)具体包括以下步骤:
[0113]
(7a)选择如下的评价标准:
[0114]
[0115]
其中,tp、fp以及fn均是来自于混淆矩阵,i∈{1,2...c};tp表示将正类预测为正类数;fn表示将正类预测为负类数;fp表示将负类预测为正类数;
[0116]
(7b)宏观的评价标准如下:
[0117][0118]
其中,pi、ri、f1i由公式(8)所得,p为查准率,表示在所有预测为正类的样本中,实际真的是正类样本的比例,比例越高,说明fp即将负类预测为正类数越小,查得越准;r为查全率,表示在所有实际是正类的样例中,预测为正类的比例,比例越高,说明fn即将正类预测为负类数越小,漏掉的真实的样例越少,查得越全;
[0119]
在有多个二分类混淆矩阵时,为在多个二分类混淆矩阵上综合考察查全率和查准率,使用macro_p、macro_r、macro_f1代替上述的p、r、以及f1,先在各混淆矩阵上分别计算出p、r再计算平均值,得到macro_p、macro_r、macro_f1。
[0120]
以下结合图1至图4对本发明作进一步的说明。
[0121]
实施例一
[0122]
第一步,准备数据集与确定少数类:本实施例选取了一个农业领域意图识别数据集,数据集的详细信息以及分类情况如图2所示。并且统计获得的数据集的信息,由图2所示,数据集的样本总量n
t
为5837、意图类别数量nc的值为9、各类别样本数量ni分别为:n0的值为12,n1的值为259,n2的值为8,n3的值为389,n4的值为2589,n5的值为194,n6的值为8,n7的值为2231,n8的值为147。根据公式(2)可以得出,判定函数值为0的类为0,2,6,即为少数类;判定函数值为1的类为1,3,4,5,7,8。
[0123]
第二步,采样与文本编码:从所述数据集中随机采样批大小为n的样本数据。本实施例选取bert作为文本编码器。如图3中,从下方的不平衡数据集中随机抽取部分数据作为样本数据,将这些样本数据放入bert,获得其分布式编码。
[0124]
第三步,生成假样本:给定数据集的少数类信息,利用生成器生成假样本y。如图3中的第一阶段中,使用公式(4)生成假样本,并且将生成的样本标记为假样本。
[0125]
第四步,样本混合与模型训练:如图3的第一阶段后半部分,将上述生成的假样本,以及随机采样的样本数据作为一批训练数据,输入给判别器,利用公式(5)计算出训练损失,训练微调bert和判别器。
[0126]
第五步,少数类样本生成:如图3中,第二阶段前半部分,利用本实施例中判定为少数类的第0,2,6类的信息,利用生成器生成对应的样本,过程如公式(6)所示;并且将生成的样本标记为意图识别类。
[0127]
第六步,模型增强训练:如图3中,第二阶段的后半部分:将所述生成少数类样本作为一批训练数据,输入给判别器;再根据批训练损失,训练、微调bert和生成器,批训练损失由公式(7)计算得到,重复第二步到第六步,设定训练次数为5次,训练模型。
[0128]
第七步,少数类准确率评价:由于加权损失函数方法广泛用于不平衡类,将本方法和具有加权损失函数的方法进行比较。k表示第二阶段交互次数,由图4可知,采用本方法并
且在第二阶段进行30次交互,得到的效果远优于其他的方法。
[0129]
综上所述,本发明利用了生成式对抗网络,通过两阶段训练,学习少数类在特征空间中的分布,增强生成式对抗网络辅助模型对少数类的识别能力;本发明在第一阶段训练中通过生成器在特征空间生成假样本,增强模型识别假样本的能力;在第二阶段训练中,利用生成器生成对应少数类的样本,参与文本编码器和生成器的训练过程,通过这种两阶段的训练策略,对于少数类而言,可以使得生成器和文本编码器能够在训练过程中不断地趋近;本发明通过在特征空间学习少数类,充分利用了数据集中少数类的样本信息,实现了模型对少数类的识别能力。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献