1.本发明涉及人工智能技术领域,特别是涉及一种样本筛选方法、系统及神经网络模型训练方法。
背景技术:
2.主动学习是指利用不确定性采样,去寻找未标注数据集中信息量最大的数据进行标注,从而避免过分标注低信息量数据,标注样本的质量会影响模型的训练效果,进而影响模型的应用性能。
3.传统的主动学习方法如熵采样、边缘采样,会过分地对一些信息量很大但是非常相似的样本进行过采样,从而导致标注数据大量重复。
4.为了避免上述情况,传统的多样性采样策略会计算已有样本之间的余弦相似度来作为判断指标,当数据集中的相似度高于一定阈值,系统便自动放弃对该类数据的标注抽取,采用这种方案,虽然保证了数据不再重复,但导致抽取出来的未标注数据都是无效数据区的离群点,这些点的例子在整个未标注池中往往是孤例,对模型的训练没有任何作用;此外,未标注池的有效数据区代表样本点无法被采样,这些数据虽然信息量没有非常高,但往往是一个样本群的质心,非常有代表性,这些点经常由于与有效数据普遍相近而会被忽视。
技术实现要素:
5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种样本筛选方法、系统及神经网络模型训练方法,用于解决现有技术中主动学习方法会过分采样,导致标注数据大量重复,进而影响训练得到的模型识别精度较低的问题。
6.本发明的第一方面提供一种样本筛选方法,包括:
7.构建第一训练集,所述第一训练集包括未标注样本集和标注样本集;
8.计算所述未标注样本集和所述标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;
9.将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;
10.根据所述排序结果和所述活跃值,从所述未标注样本集中选择部分样本进行标注,并将标注后的样本加入所述标注样本集中,形成新的标注样本集;
11.组合所述未标注样本集中剩余的样本、所述新的标注样本集,形成筛选后的第一训练集。
12.于本发明的一实施例中,所述计算所述未标注样本集和标注样本集之间的距离的步骤包括:
13.采用km算法,分别对所述未标注样本集和所述标注样本集进行聚类分析,得到第一聚类群和第二聚类群;
14.从所述第一聚类群和所述第二聚类群中分别选择预设数量的聚类,提取每个聚类
的质心;
15.计算来自第一聚类群的每个质心与来自第二类聚类群的所有质心的欧式距离之和,得到所述未标注样本集和标注样本集之间的距离。
16.于本发明的一实施例中,所述将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值的步骤包括:
17.将选自所述第一聚类群的每个聚类输入预训练的神经网络模型中,提取对应的表征参数;
18.计算每个表征参数的平均值,根据该平均值确定对应的活跃值;其中,平均值越大,对应的活跃值越高。
19.于本发明的一实施例中,所述根据所述排序结果,从所述未标注样本集中选择部分样本进行标注的步骤包括:
20.按照排序结果,选择多个位置区间;
21.为每个位置区间分配采样率,其中,排序靠前的位置区间的采样率大于排序靠后的位置区间的采样率;
22.根据采样率,提取各位置区间对应的来自第一聚类群的聚类,对提取的各聚类中的所有样本进行标注。
23.于本发明的一实施例中,所述根据所述活跃值,从所述未标注样本集中选择部分样本进行标注的步骤包括:
24.从选自所述第一聚类群的各聚类中,选择活跃值小于预设活跃值,且排序顺序位于预设顺序之前的聚类,对选择的各聚类中的所有样本进行标注。
25.于本发明的一实施例中将所述未标注样本集输入预训练的神经网络模型中,得到对应的分类概率;
26.计算各所述分类概率的熵值,剔除熵值大于预设熵值的未标注样本。
27.本发明的第二方面还提供一种语言识别模型的训练方法,包括:
28.步骤一、采用第一方面中任一项所述的样本筛选方法,筛选第二训练集中的样本,得到新的第二训练集;
29.步骤二、采用新的第二训练集,在交叉熵损失函数的约束下,训练初始语言识别模型;
30.训练过程中,判断初始语言识别模型是否收敛,
31.若收敛,停止训练,得到训练后的语言识别模型;
32.否则,返回步骤一,重新筛选第二训练集中的样本。
33.本发明的第三方面还提供一种样本筛选系统,包括:
34.样本构建模块,用于构建第一训练集,所述第一训练集包括未标注样本集和标注样本集;
35.距离计算模块,用于计算所述未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;
36.活跃值计算模块,用于将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;
37.处理模块,用于根据所述排序结果和所述活跃值,从所述未标注样本集中选择部
分样本进行标注,并将标注后的样本加入所述标注样本集中,形成新的标注样本集;
38.所述样本构建模块,还用于组合所述未标注样本集中剩余的样本、所述新的标注样本集,形成筛选后的第一训练集。
39.本发明的第四方面还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明第一方面的一种样本筛选方法中所述的方法步骤、或者所述处理器执行所述计算机程序时实现本发明第二方面的一种语言识别模型的训练方法中所述的方法步骤。
40.本发明的第五方面还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面的一种样本筛选方法中所述的方法步骤、或者该计算机程序被处理器执行时实现本发明第二方面的一种语言识别模型的训练方法中所述的方法步骤。
41.如上所述,本发明的一种样本筛选方法、系统及神经网络模型训练方法,具有以下有益效果:
42.本发明通过计算未标注样本集和标注样本集之间的距离,并根据距离进行排序,得到排序结果;通过提取未标注样本集的表征参数,得到对应的活跃值;基于排序结果和活跃值,从未标注样本集中选择部分样本进行标注,得到新的标注样本集;本发明在选择与训练任务相关的样本的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。
附图说明
43.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1显示为本发明第一实施方式中样本筛选方法的流程示意图。
45.图2显示为本发明第一实施方式中数据样本分布示意图。
46.图3显示为本发明第二实施方式中神经网络模型的训练方法的流程示意图。
47.图4显示为本发明第三实施方式中样本筛选系统的结构框图。
48.图5显示为本发明第四实施方式中寿险客服违规检测方法的流程示意图。
49.图6显示为本发明第五实施方式中计算机设备的示意图。
具体实施方式
50.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
51.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构
想,遂图中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
52.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
53.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
54.请参阅图1,本发明的第一实施方式涉及一种样本筛选方法,用于在主动学习中,对神经网络模型的训练样本进行筛选,具体包括:
55.步骤101、构建第一训练集。
56.具体的说,在主动学习时,通常基于识别任务构建训练神经网络模型的原始样本集,该原始样本集一般采用网络上公开的数据源,该原始样本集包括未标注样本集和标注样本集,其中,标注样本集可选用网络上公开的数据源中的标注样本,也可根据项目需要,从未标注样本集中随机挑选少量样本,进行人工标注;再基于原始样本集中的训练集,对初始神经网络模型进行迭代训练,最终得到训练后的神经网络模型。在人工标注时,为了提高神经网络模型的识别精度,应尽量挑选最多信息量的未标注数据去进行人工标注来完成此任务的数据增强。
57.本实施方式的样本筛选方法适用于多种神经网络模型,为方便描述,下文以语言识别模型为例,来进行详细说明:
58.例如在寿险坐席话术的违规检测时,需要判断坐席推销的话语是否在一系列质检点上违规,在训练语言识别模型前,先基于寿险推销语料库构建第一训练集,第一训练集包括未标注样本集和标注样本集,应注意,从未标注样本集中筛选标注的样本时,应尽量挑选出与质检点相关的样本数据。
59.请参阅图2,外圆为保险推销语料的整体数据样本空间,内圆是在整体数据样本空间内,与质检点a相关的数据点,应理解,各数据点为对坐席推销语音经过音频转文字,再将文字处理后得到的一句话或一段话。其中,
60.第一类数据点,为与质检点a相关的聚类数据点,这是检测过程中需要的数据点,为了避免数据大量重复,不可以过分采样;
61.第二类数据点,为与质检点a相关的离群数据点,这是检测过程中需要的数据点,需要尽可能多地采样;
62.第三类数据点,为与质检点a无关的聚类数据点,这不是检测过程中需要的数据点,但这类样本常常是干扰样本,需要对每个聚类找出部分具备代表性的样本点;
63.第四类数据点,为与质检点a无关的离群数据点,检测过程中不需要这类数据,主动学习的选择策略应尽量避免这类数据。
64.基于上述选择样本数据的原则,本实施例基于主动学习方式,从未标注样本集中
挑选出符合预设条件的样本,对其进行标注。
65.应理解,训练语言识别模型时,还包括第一测试集,采用本实施方式的样本筛选方法,对网络上公开的数据源进行筛选,再将筛选后的数据源按照预设比例随机划分为第一训练集和第一测试集,第一测试集用于检验训练后的语言识别模型的识别精度,若识别精度达到预期值,则停止训练,否则继续训练语言识别模型。
66.步骤102、计算未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果。
67.具体的说,为了筛选出最多信息量的样本数据,本实施例计算未标注样本集和标注样本集之间的距离,距离越近,即认为样本数据包含的信息量越多,其中,计算距离的步骤包括:
68.采用kmeans算法,简称km算法,分别对未标注样本集和标注样本集进行无监督聚类分析,得到第一聚类群和第二聚类群。
69.km算法为现有技术中常用的聚类算法,其聚类分析逻辑为:
70.步骤一、从观测样本集中随机选择k个初始质心;
71.步骤二、遍历观测样本集中所有样本数据,找到各样本数据距离最近的初始质心,将各样本数据划分为与其距离最近的初始质心相同的类;
72.步骤三、计算每个类别中所有样本数据的平均值,得到新的质心;
73.步骤四、重复步骤二和步骤三,直到k个质心不再变化,或达到迭代次数,得到聚类分析结果。
74.继续说明,从第一聚类群和第二聚类群中分别选择预设数量的聚类,提取每个聚类的质心,计算来自第一聚类群的每个质心与来自第二类聚类群的所有质心的欧式距离之和,得到未标注样本集和标注样本集之间的距离。
75.应理解,第一聚类群和第二聚类群中均包括多个聚类,从中选择预设数量的聚类,该数量可根据需要进行设定,本实施例中,从第一聚类群中选择50个聚类,从第二聚类群中选择20个聚类,提取每个聚类的质心,将来自第一聚类群的质心标记为a1到a50,将来自第二聚类群的质心标记为b1到b20。针对质心a1到a50,计算每个质心到来自第二类聚类群的所有质心的欧式距离之和,并按照从小到大的顺序,对所有的和进行排序,和越小,排序越靠前,即认为该质心越靠近内圆的聚类质心,应该对其配置更多的采样率。
76.需要说明的是,样本数据的筛选过程是一个迭代的过程,将筛选出的样本数据作为语言识别模型的训练集,根据语言识别模型的识别结果,对样本筛选方法中所涉及的参数进行微调,例如调整从第一聚类群和第二聚类群中选择的聚类的数量、采样率等,直至语言识别模型收敛。
77.继续说明,随着语言识别模型的迭代,上述采样率应该随着主动学习的迭代过程动态变化,是一个持续变化的值,但总体来说,可以按照经验及排序结果,预设一个比例,为各未标注样本分配采样率。
78.步骤103、将未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值。
79.具体的说,本实施例中预训练的神经网络模型为语言识别模型,是基于识别任务构建训练集,在原始语言识别模型的基础上预训练得到的,例如在寿险坐席话术的违规检
测中,基于保险推销语料构成样本集,从样本集中随机挑选出少量的原始样本进行标注,再将样本集按照预设比例随机划分为训练集和测试集,采用训练集,在损失函数的约束下对原始语言识别模型进行训练,当原始语言识别模型收敛或达到预设迭代次数,即可得到预训练的语言识别模型,本实施例中的语言识别模型可直接采用bert模型;也可以基于bert模型,结合识别任务自行训练得到。
80.应理解,bert模型是一个语言编码器,bert模型所基于的大规模语料覆盖各个知识领域,基于这样的语料训练出来的预训练语言模型可用于解决不同领域的自然语言问题。bert模型引入了mlm(masked language model)及nsp(nextsentence prediction,nsp)两个预训练任务,先基于大量无监督语料进行语言模型预训练(pre-training),再使用少量标注语料进行微调(fine-tuning)来完成文本分类、序列标注、机器翻译、阅读理解等下游nlp任务。
81.继续说明,未标注样本可以是一句话或一段话,将选自第一聚类群的每个聚类输入预训练的bert模型中,提取对应的表征参数,该表征参数是通过bert模型的激活函数relu层输出的一个768维度的向量,计算该768维度向量的平均值,并根据该平均值确定对应的活跃值,其中,平均值越大,对应的活跃值越高。
82.步骤104、根据排序结果和活跃值,从未标注样本集中选择部分样本进行标注,并将标注后的样本加入标注样本集中,形成新的标注样本集。
83.具体的说,排序结果越靠前,即认为该位置对应的样本数据所包含的信息量越多,因此,在筛选时,可以对位置靠前的样本数据分配较多的采样率;同时,为了避免数据大量重复,可以对位置在中间的样本数据分配适当的采样率;由此完成步骤101中的第一类数据的采样。对于位置靠后的样本数据,虽然包含的信息量较少,但是该类数据通常是干扰样本,可以分配较少的采样率,保留一些具有代表性的样本数据,由此完成步骤101中的第三类数据的采样。整体来说,排名靠前的采样率大于排名靠后的采样率。
84.具体应用到本实施例中,按照排序结果,选取三个位置区间,例如选择排名前五、排名20-25、最后五个的位置区间,依次为各位置区间分配的采样率为100:10:1;根据该采样率,提取各位置区间对应的来自第一聚类群的聚类,并对提取出的聚类中的所有样本进行标注。
85.继续说明,针对步骤101中的第二类数据和第四类数据,均为离群数据,其中第二类数据是训练语言识别模型时需要的样本数据,应该尽量多的分配采样率;而第四类数据是训练语言识别模型时不需要的样本数据,应该尽量避免此类数据。为了识别这些离群数据,本实施例在步骤103中,通过预训练的bert模型,提取选自第一聚类群的每个聚类的表征参数,计算表征参数的平均值,进而确定该平均值对应的活跃值,对于活跃值小于预设活跃值的样本,记为冷却点。对于排序顺序靠前的冷却点,即认为是需要的第二类数据;对应排序顺序靠后的冷却点,即认为是不需要的第四类数据。
86.具体应用到本实施例中,从选自第一聚类群的各聚类中,选择活跃值小于预设活跃值,且排序顺序位于预设顺序之前的聚类,对选择的各聚类中的所有样本进行标注;对于活跃值小于预设活跃值,且排序顺序位于预设顺序之后的聚类,分配0%的采样率。
87.进一步说明,为了提高筛选精度,本发明的样本筛选方法还可通过判断样本数据的稳定性来筛选样本,将未标注样本集中的每个未标注样本输入预训练的bert模型中,得
到对应的分类概率;计算各分类概率的熵值,熵值越小,即认为样本数据所包括的信息稳定性越好,剔除熵值大于预设熵值的未标注样本,保留稳定性好的样本数据。
88.其中,各分类概率的熵值采用以下公式进行计算:
[0089][0090]
其中,xi为每个未标注样本的分类可能,p(xi)为每个未标注样本的分类概率。
[0091]
应理解,上述预设活跃值、预设顺序及预设熵值,均可根据实际需要进行设定,本方案不对具体数据进行限定。
[0092]
对通过上述方案筛选出的样本进行标注,并将标注后的样本加入标注样本集中,生成新的标注样本集。
[0093]
步骤105、组合未标注样本集中剩余的样本、新的标注样本集,形成筛选后的第一训练集。
[0094]
具体的说,上述方案是对未标注样本集中的样本进行挑选和剔除,将未标注样本集中剩余的样本、步骤104中生成的新的标注样本集组合,形成筛选后的第一训练集,该筛选后的第一训练集用来训练语言识别模型,同时也是下一次样本筛选的基础。
[0095]
可见,本实施方式通过计算未标注样本集和标注样本集之间的距离,并根据距离进行排序,得到排序结果;通过提取未标注样本集的表征参数,得到对应的活跃值;基于排序结果和活跃值,从未标注样本集中选择部分样本进行标注,得到新的标注样本集;本发明在选择与训练任务相关的样本的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。
[0096]
请参阅图3,本发明的第二实施方式涉及一种神经网络模型的训练方法,具体包括:
[0097]
步骤301、筛选第二训练集中的样本,得到新的第二训练集;其中,筛选方法采用第一实施方式中公开的样本筛选方法。
[0098]
具体的说,为方便描述,本实施例中采用语言识别模型来进行说明,该语言识别模型是基于bert模型进行训练的,第二训练集可以采用bert模型自带的语料样本集,也可以根据识别领域,自行构建。
[0099]
第二训练集包括未标注样本集和标注样本集。
[0100]
应理解,本实施例的样本集还包括第二测试集,采用第一实施方式中的样本筛选方法,对本实施例的样本集进行筛选,再将筛选后的样本集按照预设比例随机划分为第二训练集和第二测试集,第二测试集用于检验训练后的语言识别模型的识别精度,若识别精度达到预期值,则停止训练,否则继续训练语言识别模型。
[0101]
步骤302、采用新的第二训练集,在交叉熵损失函数的约束下,训练初始语言识别模型;训练过程中,判断初始语言识别模型是否收敛,若收敛,停止训练,得到训练后的语言识别模型;否则,返回步骤301,重新筛选第二训练集中的样本。
[0102]
具体的说,将新的第二训练集输入bert模型中,计算得到分类概率,采用交叉熵损失函数计算分类概率和真实值的损失值,其中,真实值是基于标注样本集获得的;根据损失
值,调整bert模型的网络参数,直至bert模型收敛或完成预设的迭代次数,即可得到训练后的语音识别模型。在训练过程中,若bert模型没有收敛,或者没有完成预设的迭代次数,返回步骤301,基于上次筛选的第二训练集,重新筛选其中的未标注样本,并将此次筛选的第二训练集,作为下一次训练bert模型的训练集。
[0103]
进一步的,本实施方式中的神经网络模型的训练方法,还包括以下测试步骤:
[0104]
将第二测试集输入训练后的语言识别模型中测试其识别精度,若识别精度大于预设精度,则将该训练后的语言识别模型作为最终的语言识别模型,否则,重复步骤301到步骤302。
[0105]
可见,本实施方式采用第一实施方式的样本筛选方法,对神经网络模型的训练集进行筛选,所筛选的样本保证了与训练任务相关的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。
[0106]
请参阅图4,本发明的第三实施方式涉及一种样本筛选系统,具体包括:
[0107]
样本构建模块,用于构建第一训练集。
[0108]
具体的说,第一训练集可以采用网络上公开的数据源,也可以根据识别领域,自行构建;其中,第一训练集包括未标注样本集和标注样本集。
[0109]
应理解,本实施例的样本集还包括第一测试集,第一测试集用于检验训练后的神经网络模型的识别精度,若识别精度达到预期值,则停止训练,否则继续训练神经网络模型。
[0110]
距离计算模块,用于计算未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果。
[0111]
具体的说,为了筛选出最多信息量的样本数据,本实施例计算未标注样本集和标注样本集之间的距离,距离越近,认为样本数据包含的信息量越多,其中,计算距离的步骤包括:
[0112]
采用kmeans算法,简称km算法,分别对未标注样本集和标注样本集进行无监督聚类分析,得到第一聚类群和第二聚类群。
[0113]
km算法为现有技术中常用的聚类算法,其聚类分析逻辑为:
[0114]
步骤一、从观测样本集中随机选择k个初始质心;
[0115]
步骤二、遍历观测样本集中所有样本数据,找到各样本数据距离最近的初始质心,将各样本数据划分为与其距离最近的初始质心相同的类;
[0116]
步骤三、计算每个类别中所有样本数据的平均值,得到新的质心;
[0117]
步骤四、重复步骤二和步骤三,直到k个质心不再变化,或达到迭代次数,得到聚类分析结果。
[0118]
继续说明,从第一聚类群和第二聚类群中分别选择预设数量的聚类,提取每个聚类的质心,计算来自第一聚类群的每个质心与来自第二类聚类群的所有质心的欧式距离之和,得到未标注样本集和标注样本集之间的距离。
[0119]
应理解,第一聚类群和第二聚类群中均包括多个聚类,从中选择预设数量的聚类,该数量可根据需要进行设定,本实施例中,从第一聚类群中选择50个聚类,从第二聚类群中
选择20个聚类,提取每个聚类的质心,将来自第一聚类群的质心标记为a1到a50,将来自第二聚类群的质心标记为b1到b20。针对质心a1到a50,计算每个质心到来自第二类聚类群的所有质心的欧式距离之和,并按照从小到大的顺序,对所有的和进行排序,和越小,排序越靠前,即认为该质心越靠近内圆的聚类质心,应该对其配置更多的采样率。
[0120]
需要说明的是,样本数据的筛选过程是一个迭代的过程,将筛选出的样本数据作为神经网络模型的训练集,根据神经网络模型的识别结果,对样本筛选方法中所涉及的参数进行微调,例如调整从第一聚类群和第二聚类群中选择的聚类的数量、采样率等,直至神经网络模型收敛。
[0121]
继续说明,随着神经网络模型的迭代,上述采样率应该随着主动学习的迭代过程动态变化,是一个持续变化的值,但总体来说,可以按照经验及排序结果,预设一个比例,为各未标注样本分配采样率。
[0122]
活跃值计算模块,用于将未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值。
[0123]
具体的说,本实施例中预训练的神经网络模型,是基于识别任务构建训练集,在原始神经网络模型的基础上预训练得到的,例如在寿险坐席话术的违规检测中,基于保险推销语料构成样本集,从样本集中随机挑选出少量的原始样本进行标注,再将样本集按照预设比例随机划分为训练集和测试集,采用训练集,在损失函数的约束下对原始语言识别模型进行训练,当原始语言识别模型收敛或达到预设迭代次数,即可得到预训练的语言识别模型,本实施例中的语言识别模型可直接采用bert模型;也可以基于bert模型,结合识别任务自行训练得到。
[0124]
继续说明,未标注样本可以是一句话或一段话,将选自第一聚类群的每个聚类输入预训练的bert模型中,提取对应的表征参数,该表征参数是通过bert模型的激活函数relu层输出的一个768维度的向量,计算该768维度向量的平均值,并根据该平均值确定对应的活跃值,其中,平均值越大,对应的活跃值越高。
[0125]
处理模块,用于根据排序结果和活跃值,从未标注样本集中选择部分样本进行标注,并将标注后的样本加入所述标注样本集中,形成新的标注样本集。
[0126]
具体的说,排序结果越靠前,即认为该位置对应的样本数据所包含的信息量越多,因此,在筛选时,可以对位置靠前的样本数据分配较多的采样率;同时,为了避免数据大量重复,可以对位置在中间的样本数据分配适当的采样率;由此完成第一实施方式的步骤101中的第一类数据的采样。对于位置靠后的样本数据,虽然包含的信息量较少,但是该类数据通常是干扰样本,可以分配较少的采样率,保留一些具有代表性的样本数据,由此完成步骤101中的第三类数据的采样。整体来说,排名靠前的采样率大于排名靠后的采样率。
[0127]
具体应用到本实施例中,按照排序结果,选取三个位置区间,例如选择排名前五、排名20-25、最后五个的位置区间,依次为各位置区间分配的采样率为100:10:1;根据该采样率,提取各位置区间对应的来自第一聚类群的聚类,并对提取出的聚类中的所有样本进行标注。
[0128]
继续说明,针对第一实施方式的步骤101中的第二类数据和第四类数据,均为离群数据,其中第二类数据是训练语言识别模型时需要的样本数据,应该尽量多的分配采样率;而第四类数据是训练语言识别模型时不需要的样本数据,应该尽量避免此类数据。为了识
别这些离群数据,本实施例在第一实施方式的步骤103中,通过预训练的bert模型,提取选自第一聚类群的每个聚类的表征参数,计算表征参数的平均值,进而确定该平均值对应的活跃值,对于活跃值小于预设活跃值的样本,记为冷却点。对于排序顺序靠前的冷却点,即认为是需要的第二类数据;对应排序顺序靠后的冷却点,即认为是不需要的第四类数据。
[0129]
具体应用到本实施例中,从选自第一聚类群的各聚类中,选择活跃值小于预设活跃值,且排序顺序位于预设顺序之前的聚类,对选择的各聚类中的所有样本进行标注;对于活跃值小于预设活跃值,且排序顺序位于预设顺序之后的聚类,分配0%的采样率。
[0130]
进一步说明,为了提高筛选精度,处理模块还可通过判断样本数据的稳定性来筛选样本,将未标注样本集中的每个未标注样本输入预训练的bert模型中,得到对应的分类概率;计算各分类概率的熵值,熵值越小,即认为样本数据所包括的信息稳定性越好,剔除熵值大于预设熵值的未标注样本,保留稳定性好的样本数据。
[0131]
其中,各分类概率的熵值采用以下公式进行计算:
[0132][0133]
其中,xi为每个未标注样本的分类可能,p(xi)为每个未标注样本的分类概率。
[0134]
样本构建模块,还用于组合未标注样本集中剩余的样本、新的标注样本集,形成筛选后的第一训练集。
[0135]
可见,本实施方式通过计算未标注样本集和标注样本集之间的距离,并根据距离进行排序,得到排序结果;通过提取未标注样本集的表征参数,得到对应的活跃值;基于排序结果和活跃值,从未标注样本集中选择部分样本进行标注,得到新的标注样本集。实施方式在选择与训练任务相关的样本的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。
[0136]
请参阅图5,本发明的第四实施方式涉及一种寿险客服违规检测方法,具体包括:
[0137]
步骤501、获取坐席推销的文本信息。
[0138]
具体的说,获取通话记录库中坐席与客户之间的通话音频,本实施例中,在坐席与客户电话沟通过程中将自动进行录音,形成通话音频并保存到通话记录库中。违规话术检测所使用的通话音频既可以是准实时的,也可以是历史的,具体根据实际需要进行设置。可选的,在存储通话音频时,还可进一步存储与通话音频相关的信息,例如坐席姓名、坐席工号、通话开始时间、结束时间、客户姓名、客户电话号码、业务涉及类型等。
[0139]
进一步说明,将获取的通话音频输入语音转文字模型中,提取声音特征量,将提取的每个声音特征量与声音库中标准声音数据相匹配,选择匹配度最高的标准声音数据相对应的文本为转换的文本信息。其中,语音转文字模型是基于dnn-hmm神经网络训练得到,深度神经网络dnn用于对输入的音频信息的观察概率进行建模,隐马尔科夫模型hmm用于对不同状态间的跳转关系进行建模,以刻画语音信号的时序变化,将未知语音形式与模型库中的某一个模型取得最佳匹配。
[0140]
步骤502、基于寿险推销语料库构建第三训练集,筛选第三训练集,得到新的第三训练集;其中,筛选方法采用第一实施方式中公开的样本筛选方法。
[0141]
具体的说,基于寿险推销语料库构建寿险检测样本集,该寿险检测样本集包括未标注样本集和标注样本集;采用第一实施方式中的样本筛选方法,对寿险检测样本集进行筛选,再将筛选后的寿险检测样本集按照预设比例随机划分为第三训练集和第三测试集。
[0142]
步骤503、采用新的第三训练集,训练语言识别模型,得到违规话术识别模型。
[0143]
具体的说,可采用第二实施方式中的训练方法,来训练本实施例中的语言识别模型,训练的主要步骤包括:
[0144]
采用新的第三训练集,在交叉熵损失函数的约束下,训练语言识别模型;训练过程中,判断语言识别模型是否收敛,若收敛,停止训练,得到违规话术识别模型;否则,重新筛选第三训练集中的样本,再采用重新筛选的样本,重新训练语言识别模型。
[0145]
进一步说明,训练步骤还包括:
[0146]
将第三测试集输入违规话术识别模型中测试其识别精度,若识别精度大于预设精度,则将该违规话术识别模型作为训练好的违规话术识别模型,否则,重新训练。
[0147]
步骤504、将文本信息输入违规话术识别模型中,得到识别结果;根据识别结果,确定该坐席是否存在违规话术。
[0148]
具体的说,将文本信息根据需要分割为多段话或多句话,将每段话或每句话输入违规话术识别模型中进行识别,得到识别结果,该识别结果为一个概率值,若该概率值大于预设概率值,则认为存在违规话术。
[0149]
进一步的,还可根据识别结果,为该坐席的服务质量进行评分,基于评分和通话音频相关的信息生成评价表格。
[0150]
可见,本实施方式采用第一实施方式的样本筛选方法,对违规话术识别模型的训练集进行筛选,所筛选的样本保证了与训练任务相关的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了违规话术识别模型的识别精度。
[0151]
请参阅图6,本发明的第五实施方式涉及一种计算机设备,包括存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序,处理器602执行所述计算机程序时实现以下步骤:
[0152]
构建第一训练集,第一训练集包括未标注样本集和标注样本集;
[0153]
计算未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;
[0154]
将未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;
[0155]
根据排序结果和活跃值,从未标注样本集中选择部分样本进行标注,并将标注后的样本加入标注样本集中,形成新的标注样本集;
[0156]
组合未标注样本集中剩余的样本、新的标注样本集,形成筛选后的第一训练集。
[0157]
处理器602执行所述计算机程序时还可实现以下步骤:
[0158]
步骤一、采用第一实施方式中任一项所述的样本筛选方法,筛选第二训练集中的样本,得到新的第二训练集;
[0159]
步骤二、采用新的第二训练集,在交叉熵损失函数的约束下,训练初始神经网络模
型;
[0160]
训练过程中,判断初始神经网络模型是否收敛,
[0161]
若收敛,停止训练,得到训练后的神经网络模型;
[0162]
否则,返回步骤一,重新筛选第二训练集中的样本。
[0163]
其中,存储器601和处理器602采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器602和存储器601的各种电路连接在一起。总线还可以将诸如外围设备603、稳压器604和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器602处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器602。
[0164]
处理器602负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器601可以被用于存储处理器602在执行操作时所使用的数据。
[0165]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0166]
本发明的第六实施方式涉及一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0167]
构建第一训练集,第一训练集包括未标注样本集和标注样本集;
[0168]
计算未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;
[0169]
将未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;
[0170]
根据排序结果和活跃值,从未标注样本集中选择部分样本进行标注,并将标注后的样本加入标注样本集中,形成新的标注样本集;
[0171]
组合未标注样本集中剩余的样本、新的标注样本集,形成筛选后的第一训练集。
[0172]
该计算机程序被处理器执行时还可实现以下步骤:
[0173]
步骤一、采用第一实施方式中任一项所述的样本筛选方法,筛选第二训练集中的样本,得到新的第二训练集;
[0174]
步骤二、采用新的第二训练集,在交叉熵损失函数的约束下,训练初始神经网络模型;
[0175]
训练过程中,判断初始神经网络模型是否收敛,
[0176]
若收敛,停止训练,得到训练后的神经网络模型;
[0177]
否则,返回步骤一,重新筛选第二训练集中的样本。
[0178]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中
描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0179]
综上所述,本发明的一种样本筛选方法、系统及神经网络模型训练方法,通过计算未标注样本集和标注样本集之间的距离,并根据距离进行排序,得到排序结果;通过提取未标注样本集的表征参数,得到对应的活跃值;基于排序结果和活跃值,从未标注样本集中选择部分样本进行标注,得到新的标注样本集;本发明在实现选择的样本是各个聚类中的离群点的同时,还保持了对无关数据各集群的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0180]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
技术特征:
1.一种样本筛选方法,其特征在于,包括:构建第一训练集,所述第一训练集包括未标注样本集和标注样本集;计算所述未标注样本集和所述标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;根据所述排序结果和所述活跃值,从所述未标注样本集中选择部分样本进行标注,并将标注后的样本加入所述标注样本集中,形成新的标注样本集;组合所述未标注样本集中剩余的样本、所述新的标注样本集,形成筛选后的第一训练集。2.根据权利要求1所述的样本筛选方法,其特征在于,所述计算所述未标注样本集和标注样本集之间的距离的步骤包括:采用km算法,分别对所述未标注样本集和所述标注样本集进行聚类分析,得到第一聚类群和第二聚类群;从所述第一聚类群和所述第二聚类群中分别选择预设数量的聚类,提取每个聚类的质心;计算来自第一聚类群的每个质心与来自第二类聚类群的所有质心的欧式距离之和,得到所述未标注样本集和标注样本集之间的距离。3.根据权利要求2所述的样本筛选方法,其特征在于,所述将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值的步骤包括:将选自所述第一聚类群的每个聚类输入预训练的神经网络模型中,提取对应的表征参数;计算每个表征参数的平均值,根据该平均值确定对应的活跃值;其中,平均值越大,对应的活跃值越高。4.根据权利要求2所述的样本筛选方法,其特征在于,所述根据所述排序结果,从所述未标注样本集中选择部分样本进行标注的步骤包括:按照排序结果,选择多个位置区间;为每个位置区间分配采样率,其中,排序靠前的位置区间的采样率大于排序靠后的位置区间的采样率;根据采样率,提取各位置区间对应的来自第一聚类群的聚类,对提取的各聚类中的所有样本进行标注。5.根据权利要求4所述的样本筛选方法,其特征在于,所述根据所述活跃值,从所述未标注样本集中选择部分样本进行标注的步骤包括:从选自所述第一聚类群的各聚类中,选择活跃值小于预设活跃值,且排序顺序位于预设顺序之前的聚类,对选择的各聚类中的所有样本进行标注。6.根据权利要求1所述的样本筛选方法,其特征在于,还包括:将所述未标注样本集输入预训练的神经网络模型中,得到对应的分类概率;计算各所述分类概率的熵值,剔除熵值大于预设熵值的未标注样本。7.一种神经网络模型的训练方法,其特征在于,包括:
步骤一、采用权利要求1-6中任一项所述的样本筛选方法,筛选第二训练集中的样本,得到新的第二训练集;步骤二、采用新的第二训练集,在交叉熵损失函数的约束下,训练初始神经网络模型;训练过程中,判断初始神经网络模型是否收敛,若收敛,停止训练,得到训练后的神经网络模型;否则,返回步骤一,重新筛选第二训练集中的样本。8.一种样本筛选系统,其特征在于,包括:样本构建模块,用于构建第一训练集,所述第一训练集包括未标注样本集和标注样本集;距离计算模块,用于计算所述未标注样本集和标注样本集之间的距离,并按照从小到大的顺序进行排序,得到排序结果;活跃值计算模块,用于将所述未标注样本集输入预训练的神经网络模型中,提取对应的表征参数,计算各表征参数的活跃值;处理模块,用于根据所述排序结果和所述活跃值,从所述未标注样本集中选择部分样本进行标注,并将标注后的样本加入所述标注样本集中,形成新的标注样本集;所述样本构建模块,还用于组合所述未标注样本集中剩余的样本、所述新的标注样本集,形成筛选后的第一训练集。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述的样本筛选方法,或者所述处理器执行所述计算机程序时实现权利要求7中所述神经网络模型的训练方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述样本筛选方法,或者所述计算机程序被处理器执行时实现权利要求7中所述神经网络模型的训练方法。
技术总结
本发明涉及人工智能技术领域,提供一种样本筛选方法、系统及神经网络模型训练方法,通过计算未标注样本集和标注样本集之间的距离,并根据距离进行排序,得到排序结果;通过提取未标注样本集的表征参数,得到对应的活跃值;基于排序结果和活跃值,从未标注样本集中选择部分样本进行标注,得到新的标注样本集;本发明在选择与训练任务相关的样本的同时,还保持了对无关数据的低采样率,并避免了采集到与训练任务无关的离群点,从而保证了采样到有价值的样本,由此在神经网络模型的训练过程中,避免了与任务毫无关联的样本对训练结果的影响,进而提高了神经网络模型的识别精度。进而提高了神经网络模型的识别精度。进而提高了神经网络模型的识别精度。
技术研发人员:陈家豪 蒋宏达 徐亮
受保护的技术使用者:深圳壹账通智能科技有限公司
技术研发日:2021.11.30
技术公布日:2022/3/8