一种样本扩充的方法、装置、电子设备与存储介质
技术领域
本申请涉及语音识别技术领域,尤其涉及一种样本扩充的方法、装置、电子设备与存储介质。
背景技术
客户的话术能够表征客户的意图,不同的话术可能会对应相同的意图,例如对于“我现在手上没有”和“我这里手头上没有”对应的客户意图都是“暂时无法还款”,因此如何准确的从繁复多变的话术中准确识别出客户的意图越来越受到人们的重视。
传统的客户意图识别方式以人工识别为主,而由于语音机器人因具有部署便捷、服务标准、成本低廉、工作时长全覆盖等的特点,逐渐受到各行业的关注,人们希望语音机器人能够替代传统的人工识别客户意图的方式。
语音机器人需要大量准确的已知标签的话术样本训练识别模型,目前为语音机器人提供话术样本的方法依靠人工拓展,即依托人工不断拓展每一意图对应的客户样本话术,并基于对客户意图的识别结果选择相应后续的服务话术。但受限于个人的理解水平的差异,以及对具体业务场景的专业度的差异,人工拓展话术样本的方法往往存在效率较低、偶然性大等问题,因而该方法不具备标准化的意图识别水平,可能导致最终语音机器人的客户意图识别错误,降低了服务质量。
发明内容
为了解决现有技术存在的上述技术问题,本申请提供了一种样本扩充的方法,能够依据已知标签样本进行样本扩充并依据已知标签样本为未知标签样本添加标签,提升了样本扩充的效率。
本申请实施例提供了一种样本扩充的方法,所述方法应用于扩充话术样本,所述方法包括:
从N个已知标签样本中确定原始样本,对所述原始样本进行分词处理以获取分词向量;所述标签表征客户意图;
构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本;
对所述K个待验证样本进行样本筛选以获取新增样本;
基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本。
可选的,所述对所述K个待验证样本进行样本筛选以获取新增样本包括:
获取所述原始样本与第i个待验证样本的词向量;所述i=1,…K;
根据所述原始样本的词向量的平均值及所述原始样本的词向量间的位置关系确定所述原始样本的句向量;
根据所述第i个待验证样本的词向量的平均值和所述第i个待验证样本的词向量间的位置关系确定所述第i个待验证样本的句向量;
当所述第i个待验证样本的句向量与所述原始样本的句向量之间的相似度大于或等于第一相似度阈值时,将所述第i个待验证样本增加至所述新增样本。
可选的,所述第一相似度阈值为所述K个待验证样本对应的相似度的平均值与第一预设倍数的乘积。
可选的,所述对所述K个待验证样本进行样本筛选以获取新增样本还包括:
根据语言模型获取各所述新增样本的文本困惑度;
从所述新增样本中舍弃文本困惑度大于困惑度阈值的样本。
可选的,所述基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本包括:
获取第j个未知标签样本和所述N个已知标签样本的相似度;j=1,…M;
获取所有与所述第j个未知标签样本的相似度大于或等于第二相似度阈值的已知标签样本对应的标签,获取的所述标签构成第一标签向量;
当能够按照预设策略从所述第一标签向量中确定出所述第j个未知标签样本的标签时,将所述第j个未知标签样本增加至所述新增样本。
可选的,所述获取第j个未知标签样本和所述N个已知标签样本的相似度具体为:
获取所述M个未知标签样本和所述N个已知标签样本的词向量;
根据第j个未知标签样本的词向量的平均值及所述第j个未知标签样本的词向量间的位置关系确定所述第j个未知标签样本的句向量;
根据所述N个已知标签样本的词向量的平均值及所述N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量;
获取所述第j个未知标签样本的词向量与每个已知标签样本的词向量的相似度。
可选的,所述获取第j个未知标签样本和所述N个已知标签样本的相似度具体为:
获取所述M个未知标签样本和所述N个已知标签样本的词向量;
根据所述M个未知标签样本的词向量的平均值及所述M个未知标签样本的词向量间的位置关系确定所述M个未知标签样本的句向量;
根据所述N个已知标签样本的词向量的平均值及所述N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量;
对所述M个未知标签样本的句向量按照所述位置关系进行聚类得到L类未知标签样本;所述第j个未知标签样本被包括在第k类未知标签样本,所述k=1,…L;
将所述第k类未知标签样本的句向量平均值与所述N个已知标签样本的相似度作为所述第j个未知标签样本和所述N个已知标签样本的相似度。
可选的,所述第二相似度阈值具体为所述第j个未知标签样本对应的相似度的平均值与第二预设倍数的乘积。
可选的,所述预设策略包括:
将所述第一标签向量中占比超过预设比例且占比最大的标签作为所述第j个未知标签样本的标签。
可选的,所述方法还包括:
用所述N个已知标签样本训练获取第一识别模型,用所述第一识别模型识别评估样本集合,得到第一识别结果;
用所述新增样本训练获取第二识别模型,用所述第二识别模型识别所述评估样本集合,得到第二识别结果;
当所述第二识别结果对应的F1分数高于所述第一识别结果对应的F1分数时,确定所述新增样本可用于模型训练。
本申请实施例还提供了一种样本扩充的装置,所述装置应用于扩充话术样本,所述装置包括:第一获取模块、第二获取模块、筛选模块和确定模块;
所述第一获取模块,用于从N个已知标签样本中确定原始样本,对所述原始样本进行分词处理以获取分词向量;所述标签表征客户意图;
所述第二获取模块,用于构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本;
所述筛选模块,用于对所述K个待验证样本进行样本筛选以获取新增样本;
所述确定模块,用于基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本。
可选的,所述筛选模块具体用于:
获取所述原始样本与第i个待验证样本的词向量;所述i=1,…K;
根据所述原始样本的词向量的平均值及所述原始样本的词向量间的位置关系确定所述原始样本的句向量;
根据所述第i个待验证样本的词向量的平均值和所述第i个待验证样本的词向量间的位置关系确定所述第i个待验证样本的句向量;
当所述第i个待验证样本的句向量与所述原始样本的句向量之间的相似度大于或等于第一相似度阈值时,将所述第i个待验证样本增加至所述新增样本。
可选的,所述第一相似度阈值为所述K个待验证样本对应的相似度的平均值与第一预设倍数的乘积。
可选的,所述筛选模块还用于:
根据语言模型获取各所述新增样本的文本困惑度;
从所述新增样本中舍弃文本困惑度大于困惑度阈值的样本。
可选的,所述确定模块包括:第一获取子模块、第二获取子模块和增加子模块;
所述第一获取子模块,用于获取第j个未知标签样本和所述N个已知标签样本的相似度;j=1,…M;
所述第二获取子模块,用于获取所有与所述第j个未知标签样本的相似度大于或等于第二相似度阈值的已知标签样本对应的标签,获取的所述标签构成第一标签向量;
所述增加子模块,用于当能够按照预设策略从所述第一标签向量中确定出所述第j个未知标签样本的标签时,将所述第j个未知标签样本增加至所述新增样本。
可选的,所述第一获取子模块具体用于:
获取所述M个未知标签样本和所述N个已知标签样本的词向量;
根据第j个未知标签样本的词向量的平均值及所述第j个未知标签样本的词向量间的位置关系确定所述第j个未知标签样本的句向量;
根据所述N个已知标签样本的词向量的平均值及所述N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量;
获取所述第j个未知标签样本的词向量与每个已知标签样本的词向量的相似度。
可选的,所述第一获取子模块具体用于:
获取所述M个未知标签样本和所述N个已知标签样本的词向量;
根据所述M个未知标签样本的词向量的平均值及所述M个未知标签样本的词向量间的位置关系确定所述M个未知标签样本的句向量;
根据所述N个已知标签样本的词向量的平均值及所述N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量;
对所述M个未知标签样本的句向量按照所述位置关系进行聚类得到L类未知标签样本;所述第j个未知标签样本被包括在第k类未知标签样本,所述k=1,…L;
将所述第k类未知标签样本的句向量平均值与所述N个已知标签样本的相似度作为所述第j个未知标签样本和所述N个已知标签样本的相似度。
可选的,所述第二相似度阈值具体为所述第j个未知标签样本对应的相似度的平均值与第二预设倍数的乘积。
可选的,所述预设策略包括:
将所述第一标签向量中占比超过预设比例且占比最大的标签作为所述第j个未知标签样本的标签。
可选的,所述装置还包括评估模块,所述评估模块用于:
用所述N个已知标签样本训练获取第一识别模型,用所述第一识别模型识别评估样本集合,得到第一识别结果;
用所述新增样本训练获取第二识别模型,用所述第二识别模型识别所述评估样本集合,得到第二识别结果;
当所述第二识别结果对应的F1分数高于所述第一识别结果对应的F1分数时,确定所述新增样本可用于模型训练。
本申请还提供了一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行上述任一项所述的样本扩充的方法。
本申请还提供了一种存储介质,其上存储有程序,所述程序被电子设备执行时实现上述任一项所述的样本扩充的方法。
与现有技术相比,本申请所述方法至少具有以下优点:
该方法可以根据已知标签的样本进行样本扩充,扩充所得的新增样本标签已知,首先从N个已知标签样本中确定原始样本,对原始样本进行分词处理以获取分词向量;然后构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本,尤其当原始样本的多个分词都能够对应多个同义词时,能够高效快速获取大量的待验证样本;最后对所述K个待验证样本进行样本筛选,筛除不符合要求的待验证样本,例如与原始样本相似度低的样本或者语句不通顺的样本,以提高新增样本准确度。
进一步的,该方法还可以基于N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本,充分的利用已知标签样本,进一步提升了样本扩充的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例一提供的一种样本扩充的方法的流程图;
图2为本申请实施例二提供的对待验证样本进行筛选的方法的流程图;
图3为本申请实施例二提供的原始样本对应的词向量的示意图;
图4为本申请实施例二提供的原始样本对应的句向量的示意图;
图5为本申请实施例二提供的待验证样本1的词向量和句向量的示意图;
图6为本申请实施例二提供的待验证样本2的词向量和句向量的示意图;
图7为本申请实施例二提供的待验证样本3的词向量和句向量的示意图;
图8为本申请实施例三提供的另一种样本扩充的方法的流程图;
图9为本申请实施例三提供的第j个未知标签样本与部分已知标签样本的相似度的示意图;
图10为本申请实施例四提供的一种样本评估的方法的流程图;
图11为本申请实施例五提供的一种样本扩充的装置的示意图。
具体实施方式
作为一种有效的客户交互工具,语音机器人因其具有部署便捷、服务标准、成本低廉、工作时长全覆盖等特点,逐渐受到行业的关注,以金融业务为例,在客户电话营销、客户服务、贷后管理等场景中已经可以看到语音机器人的身影。在语音机器人实现客户交互的过程中,针对客户意图的精准识别是关键步骤,即机器人将客户不同话术识别为不同的意图,在此基础上语音机器人才能够基于特定的场景进行意图的选择和交互,提供高质量的服务。
为了使语音机器人能够精准识别客户意图,语音机器人需要大量准确的已知标签的话术样本训练识别模型,目前为语音机器人提供话术样本的方法依靠人工拓展,即依托人工不断拓展每一意图对应的客户样本话术,该方法的效率较低、偶然性大并且不具备标准化的意图识别水平。
为了解决上述技术问题,本申请提供了一种样本扩充的方法,能够依据已知标签样本进行样本扩充,并对扩充的样本进行筛选以获取符合要求的样本,还可以依据已知标签样本为未知标签样本添加标签,提升了样本扩充的效率,解决了目前话术样本不足的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
本申请实施例一提供了一种样本扩充的方法,该方法应用于扩充话术样本,以用于训练语音机器人识别客户意图,下面结合附图具体说明。
参见图1,该图为本申请实施例一提供的一种样本扩充的方法的流程图。
本方法可以基于已知标签的样本拓展新的样本,拓展所得的新样本的标签已知,还可以基于已知标签的样本为未知标签的样本确定出标签。可以理解的是,实际被用于训练识别模型的样本为已知标签的样本。
本申请实施例所述方法包括以下步骤:
S101:从N个已知标签样本中确定原始样本,对所述原始样本进行分词处理以获取分词向量;所述标签表征客户意图。
已知标签样本即标签已经确定的样本,可以直接应用于训练识别模型,从N个已知标签样本中确定原始样本,基于该原始样本进行样本的拓展,可以理解的时所有的已知标签样本均可以作为原始样本。本申请实施例对原始样本的数量不做具体限定。
将选定的原始样本进行分词处理得到分词向量,即将一句完整的话术样本分解为多个词或词组,不同的原始样本可能被分解成不同数量的词和词组,其中的多个词和词组即,例如:
原始样本:“我现在手上没有”。
标签:“暂时无法还款”。
分词向量:(我,现在,手上,没有)
本申请实施例中,标签表征客户意图,每个已知标签样本对应一个标签,多个已知标签样本可以对应同一个标签,但不存在一个已知标签样本对应多个标签。
S102:构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取待K个验证样本。
为分词向量中的每个分词构建同义词向量,具体实现时可以按照与该分词语义相近程度排除获取同义词,同义词向量中包括该分词自身。例如:
分词向量:(我,现在,手上,没有)
各分词的同义词向量“我”同义词列表(我)
“现在”同义词列表(现在,这里,今天,外面)
“手上”同义词列表(手上,手里,手头上,身上)
“没有”同义词列表(没有)
然后进行分词的同义词替换,在一种可能的实现方式中,在替换时获取各分词向量的笛卡尔积,将结果中除去原始样本的其它样本作为待验证样本,则最终获取的待验证样本的数量为所有同义词向量中词的数量的乘积减去1,结合上例具体为:
获取共1×4×4×1=16个样本,其中包括原始样本自身,因此当前待验证样本的数量K=16-1=15,15个待验证样本分别为:(我,现在,手里,没有)、(我,现在,手头上,没有)、(我,这里,手上,没有)、(我,这里,手里,没有)、(我,这里,手头上,没有)、(我,外面,手上,没有)、(我,外面,手里,没有)、(我,外面,手头上,没有)、(我,外面,手上,没有)、(我,外面,手里,没有)、(我,外面,手头上,没有)、(我,现在,身上,没有)、(我,现在,身上,没有)、(我,这里,身上,没有)、(我,今天,手里,没有)。
S103:对所述K个待验证样本进行样本筛选以获取新增样本。
通过S102获取了K个待验证样本,但其中可能会包括某些样本由于进行了同义词的替换而导致样本整体与原始样本的语句差别过大,甚至表征的客户意图发生了变化,使得其与原始样本的相似度下降,此类待验证样本需要被筛除。例如上例获得的(我,外面,身上,没有)这一待验证样本与原始样本(我,现在,手上,没有)的相似度过低,则应该筛除该样本。
此外,还需要考虑待验证样本的文本流畅性,排除明显不符合语言习惯的样本,例如上例获得的(我,这里,手里,没有)这一待验证样本,虽然也表征了与(我,现在,手上,没有)相同的语义,但该样本明显不符合日常用语习惯,语句不通顺,因此同样需要筛除该样本。
S104:基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本。
当存在充足的样本但尚未识别其标签时,还可以基于已知标签样本为未知标签样本进行标注,将可以确定出标签的样本增加至新增样本。
对于其它的未知标签的样本可以舍弃,或者为其确定新的标签。
可以理解的是,上述步骤仅是为了方便说明本申请所述方法的原理,并不构成对本申请所述方法的限定,可以通过对上述步骤进行合理的调整获取其它的实现方式,例如S104在从M个未知标签样本中筛选可确定出标签的样本时还可以基于新增样本,或,基于N个已知标签样本和新增样本。
本申请实施例提供的方法可以根据已知标签的样本进行样本扩充,扩充所得的新增样本标签已知,首先从N个已知标签样本中确定原始样本,对原始样本进行分词处理以获取分词向量;然后构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本,尤其当原始样本的多个分词都能够对应多个同义词时,能够高效快速获取大量的待验证样本;最后对所述K个待验证样本进行样本筛选,筛除与原始样本相似度低的样本或者语句不通顺的样本,以提高新增样本准确度。
进一步的,该方法还可以基于N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本,充分的利用已知标签样本,进一步提升了样本扩充的效率。
实施例二:
下面结合附图具体说明对待验证样本进行筛选的方法。
参见图2,该图为本申请实施例二提供的对待验证样本进行筛选的方法的流程图。
本申请实施例所述方法在对待验证样本进行筛选时包括以下步骤:
S201:获取原始样本与第i个待验证样本的词向量;所述i=1,…K。
本申请实施例中对待验证样本进行筛选包括相似度筛选和困惑度筛选,其中,在进行相似度筛选时,首先需要获取待验证样本的词向量。
预先通过垂直领域语料库的文本集合进行分词训练生成向量模型和语言模型。其中,向量模型用于获取分词向量中各分词的词向量,语言模型用于确定样本的困惑度。
对于原始样本,首先将该样本进行分词处理以获取分词向量,然后通过向量模型获取各分词的词向量,下面举例说明:
原始样本:“我现在手上没有”;
对应的标签:“暂时无法还款”;
分词向量:(我,现在,手上,没有);
词向量:参见图3所示。
图3中分词对应的不同列的数据对应特征向量空间的不同维度,并不具有业务上的含义,分词对应的特征向量空间的维度数量由向量模型确定,可以根据实际需要进行调整,本申请对特征向量空间的维度数量不做具体限定。
可以理解的是,获取第i个待验证样本的词向量的方法类似,在此不再赘述。
S202:根据原始样本的词向量的平均值及原始样本的词向量间的位置关系确定原始样本的句向量。
根据原始样本的词向量获取句向量的过程如下:
S202 a:将原始向量的各词向量累加求平均值,作为句向量。
句向量和词向量具有相同数量的维度,句向量某个维度的值等于各词向量对应维度的平均值。
S202 b:将词向量及位置关系作为输入,加工产出句向量。
由于句向量表征一句样本,所以在加工产出句向量时需要结合词向量的位置关系,所述词向量的位置关系表征各分词在样本中的出现顺序。
例如:将图3所示的原始样本“我现在手上没有”的词向量加工获得的句向量可参见图4。图4中第5行即原始样本的词向量。
S203:根据第i个待验证样本的词向量的平均值和第i个待验证样本的词向量间的位置关系确定第i个待验证样本的句向量。
获取第i个待验证样本的句向量的方法与S202中获取原始样本的句向量的方法类似,在此不再赘述。下面举例说明:
待验证样本1:“我这里手上没有”;
分词向量1:(我,这里,手上,没有);
待验证样本1的词向量和句向量:参见图5所示。
待验证样本2:“我外面手上没有”;
分词向量2:(我,外面,手上,没有);
待验证样本2的词向量和句向量:参见图6所示。
待验证样本3:“我现在手头上没有”;
分词向量3:(我,现在,手头上,没有);
待验证样本3的词向量和句向量:参见图7所示。
S204:当第i个待验证样本的句向量与原始样本的句向量之间的相似度大于或等于第一相似度阈值时,将第i个待验证样本增加至新增样本。
本申请实施例在计算相似度时可以采用以下方法:
基于向量的方法:余弦距离、Tonimoto系数、欧氏距离、曼哈顿距离、闵可夫斯基距离、切比雪夫距离、Pearson相关系数。
基于概率统计的方法:Jacard系数、卡方检验(Chi-Square),KL散度(KL-Divergence);
基于字符的方法:汉明距离、编辑距离、DTW距离、Simhash算法、SimRank模型、共有字符数、最长公共子序列;
基于词嵌入的方法:word2vec和doc2vec模型;
其它方法:马氏距离。
本申请实施例对确定相似度的方法不作具体限定,下面以采用计算余弦距离的方法获取余弦相似度为例进行说明。
具有相同n个维度的句向量x和句向量y之间的相似度Sxy可以通过下式确定:
则通过计算可以确定:
原始样本与待验证样本1的相似度s01=0.9738227622;
原始样本与待验证样本2的相似度s02=0.94374496805;
原始样本与待验证样本3的相似度s03=0.988035095208。
然后将相似度大于或等于第一相似度阈值的待验证样本增加至新增样本,相似度小于第一相似度阈值的待验证样本舍弃。
例如当第一相似度阈值St1=0.95时,舍弃待验证样本2,保留待验证样本1和待验证样本3。
需要强调的是,所述第一相似度阈值并不是固定不变的,而是动态确定的,第一相似度阈值为K个待验证样本对应的相似度的平均值与第一预设倍数α的乘积,具体如下式所示:
可以理解的是,在设置第一相似度阈值时,需要使其始终保持小于等于1。通过动态确定第一相似度阈值,能够更加合理的筛选出符合相似度要求新增样本。
S205:根据语言模型获取各新增样本的文本困惑度。
困惑度的筛选是为了从新增样本中除去不符合语言习惯的样本,可以通过语言模型确定各个新增样本的困惑度Py。
S206:从新增样本中舍弃文本困惑度大于困惑度阈值的样本。
例如:待验证样本1的困惑度p1=312.3428;
待验证样本3的困惑度p3=51.36866。
当困惑度阈值Pt=100时,则从新增样本集合中舍弃待验证样本1,保留待验证样本3。
可以理解的是,还可以只进行相似度的筛选或者仅进行困惑度的筛选。
通过对待验证样本进行上述的相似度筛选和困惑度筛选,舍弃了与原始样本差别较大的待验证样本以及不符合语言习惯的待验证样本,提升了获得的新增样本的质量。
实施例三:
下面结合附图具体说明基于N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本的方法。
参见图8,该图为本申请实施例三提供的另一种样本扩充的方法的流程图。
本申请实施例所述方法包括以下步骤:
S301:获取第j个未知标签样本和所述N个已知标签样本的相似度;j=1,…M。
在一种可能的实现方式中,对于第j个未知标签样本,分别获取其和N个已知标签样本的相似度,即获取了N个相似度。因此M个未知标签样本共需要获取M×N个相似度。
首先获取所述M个未知标签样本和所述N个已知标签样本的词向量。
然后根据第j个未知标签样本的词向量的平均值及所述第j个未知标签样本的词向量间的位置关系确定所述第j个未知标签样本的句向量;根据所述N个已知标签样本的词向量的平均值及所述N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量。
具体实现时,可以将第j个未知标签样本对应的N个相似度作为第j个未知标签样本的相似度向量sj(sj1,sj2,…,sjn),该相似度向量的每个维度表征一个第j个未知标签样本与一个已知标签样本的相似度。
对于每个已知标签样本,都对应一个已知的标签,因此根据第j个未知标签样本的相似度向量sj(sj1,sj2,…,sjN)还可以确定第j个未知标签样本对应的标签向量Tsj(tj1,tj2,…,tjN)。
获取所述第j个未知标签样本的词向量与每个已知标签样本的词向量的相似度。
举例说明如下:
第j个未知标签样本为:“哦过两天我这两天手上没钱了”;
当前已知标签样本数量N=1.3万,即对应的标签向量Tsj有1.3万个维度;
第j个未知标签样本则会对应1.3万个相似度。参见图9,该图中示出了“哦过两天我这两天手上没钱了”对已知标签样本中的部分样本(已知样本1、已知样本2和已知样本3)的相似度。
通过上述方法能够准确获取每一个未知标签样本和每一个已知标签样本的相似度。
此外,在获取第j个未知标签样本和N个已知标签样本的相似度时,本申请还提供了另一种可能的实现方式,下面具体说明。
首先获取M个未知标签样本和N个已知标签样本的词向量。
然后根据M个未知标签样本的词向量的平均值及M个未知标签样本的词向量间的位置关系确定M个未知标签样本的句向量;根据N个已知标签样本的词向量的平均值及N个已知标签样本的词向量间的位置关系确定所述N个已知标签样本的句向量。
再对M个未知标签样本的句向量按照位置关系进行聚类得到L类未知标签样本;所述第j个未知标签样本被包括在第k类未知标签样本,k=1,…L。
最后将第k类未知标签样本的句向量平均值与N个已知标签样本的相似度作为第j个未知标签样本和N个已知标签样本的相似度。
可见该实现方式是首先将未知标签样本进行聚类后,将同类的未知标签样本作为一个整体进行相似度确定,能够提升相似度确认时的效率,进而提升了标签识别的效率。本申请对使用的聚类算法不做具体限定,例如可以使用K-Means(K均值)聚类算法、均值漂移聚类算法等。
S302:获取所有与所述第j个未知标签样本的相似度大于或等于第二相似度阈值的已知标签样本对应的标签,获取的所述标签构成第一标签向量。
本实施例中的第二相似度阈值具体为第j个未知标签样本对应的相似度的平均值与第二预设倍数的乘积。
需要强调的是,本申请实施例中所述第二相似度阈值并不是固定不变的,而是动态确定的,第二相似度阈值第j个未知标签样本对应的N个相似度的平均值与第二预设倍数β的乘积,具体如下式所示:
需要注意的是,St2小于或等于1。
例如对于第j个未知标签样本对应的标签向量Tsj(tj1,tj2,…,tjN),获取的第一标签向量q为最终符合相似度要求的标签数量。
S303:当能够按照预设策略从所述第一标签向量中确定出所述第j个未知标签样本的标签时,将所述第j个未知标签样本增加至所述新增样本。
第j个未知标签样本对应的第一标签向量包括了多个类别的标签,分别对应不同的客户意图,而每个标签样本只能够对应一个确定的标签,因此需要从多个类别的标签中确定一个标签作为第j个未知标签样本对应标签。
所述预设策略包括:
将所述第一标签向量中占比超过预设比例且占比最大的标签作为所述第j个未知标签样本的标签。若标签集合中不存在占比超过预设比例的标签,则确定所述第j个未知标签样本为无法确定标签的样本。
下面举例说明预设策略的具体实施方式:
对于第j个未知标签样本对应的第一标签向量则标签向量内包含的标签个数为q,q个标签可以分为r类,每一类的标签相同,进而确定每类标签的占比Tagp(tagp1,tagp2,…,tagpr),具体可以按照以下策略处理:
S303a:当q≤已知标签样本的数量N的标注为未知标签。即根据已知标签样本获取的标签个数不足,根据少量的标签无法准确确定第j个未知标签样本对应标签。
S303b:当q>已知样本集合K数量N的如果某分类标签占比最大,而且超过预设比例(例如占比超过70%),则取该标签作为第j个未知标签样本对应标签;否则标注为未知标签。例如对于第j个未知标签样本,确定出“暂时无法还款”标签共393个,占比为80%,则将第j个未知标签样本的标签确定为“暂时无法还款”。
S303c:针对标注未知标签的样本,重新确认其是否属于新的一个类别,以丰富样本标签集合。
利用本申请实施例提供的方法,能够基于已知标签样本,从未知标签样本中筛选可确定出标签的样本,实现已知标签样本的扩充。
实施例四:
基于上述实施例提供的样本扩充的方法,本申请实施例还提供了一种样本评估的方法,可以用于评估新增样本的质量,以便于根据评估结果优化样本扩充时的参数设置,下面结合附图具体说明。
参见图10,该图为本申请实施例四提供的一种样本评估的方法的流程图。
所述方法包括以下步骤:
S403:用N个已知标签样本训练获取第一识别模型,用第一识别模型识别评估样本集合,得到第一识别结果。
S404:用新增样本训练获取第二识别模型,用第二识别模型识别所述评估样本集合,得到第二识别结果。
S405:当第二识别结果对应的F1分数高于第一识别结果对应的F1分数时,确定新增样本可用于模型训练。
F1分数(F1 Score)用于衡量识别结果的精确度,同时兼顾了识别结果的准确率和召回率,当F1分数高时,表明模型的训练效果好。
当第二识别结果对应的F1分数高于第一识别结果对应的F1分数时,表明样本扩充后效果更好,新增样本有助于训练更加精准的识别模型。当第二识别结果对应的F1分数低于第一识别结果对应的F1分数时,表明样本扩充后训练的识别模型对评估样本的区分度下降,因此可以根据评估结果对分词的准确性、同义词的选择、相似度阈值以及困惑度阈值等进行优化,以增强新增样本的准确度。
实施例五:
基于上述实施例提供的样本扩充的方法,本申请实施例还提供了一种样本扩充的装置,下面结合附图具体说明。
参见图11,该图为本申请实施例五提供的一种样本扩充的装置的示意图。
该装置包括:第一获取模块501、第二获取模块502、筛选模块503和确定模块504。
第一获取模块501,用于从N个已知标签样本中确定原始样本,对原始样本进行分词处理以获取分词向量,标签表征客户意图。
第二获取模块502,用于构建分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本。
筛选模块503,用于对K个待验证样本进行样本筛选以获取新增样本。
确定模块504,用于基于N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至新增样本。
可选的,筛选模块503具体用于:
获取原始样本与第i个待验证样本的词向量;所述i=1,…K;
根据原始样本的词向量的平均值及原始样本的词向量间的位置关系确定原始样本的句向量;
根据第i个待验证样本的词向量的平均值和第i个待验证样本的词向量间的位置关系确定第i个待验证样本的句向量;
当第i个待验证样本的句向量与原始样本的句向量之间的相似度大于或等于第一相似度阈值时,将第i个待验证样本增加至新增样本。
可选的,第一相似度阈值为K个待验证样本对应的相似度的平均值与第一预设倍数的乘积。
进一步的,筛选模块503还用于:
根据语言模型获取各所述新增样本的文本困惑度;
从所述新增样本中舍弃文本困惑度大于困惑度阈值的样本。
可选的,确定模块504包括:第一获取子模块504a、第二获取子模块504b和增加子模块504c。
第一获取子模块504a用于获取第j个未知标签样本和N个已知标签样本的相似度;j=1,…M。
第二获取子模块504b用于获取所有与所述第j个未知标签样本的相似度大于或等于第二相似度阈值的已知标签样本对应的标签,获取的所述标签构成第一标签向量;
所述增加子模块504c用于当能够按照预设策略从第一标签向量中确定出第j个未知标签样本的标签时,将第j个未知标签样本增加至新增样本。
在一种可能的实现方式中,第一获取子模块504a具体用于:
获取M个未知标签样本和N个已知标签样本的词向量;
根据第j个未知标签样本的词向量的平均值及第j个未知标签样本的词向量间的位置关系确定第j个未知标签样本的句向量;
根据N个已知标签样本的词向量的平均值及N个已知标签样本的词向量间的位置关系确定N个已知标签样本的句向量;
获取第j个未知标签样本的词向量与每个已知标签样本的词向量的相似度。
在另一种可能的实现方式中,第一获取子模块504a具体用于:
获取M个未知标签样本和N个已知标签样本的词向量;
根据M个未知标签样本的词向量的平均值及M个未知标签样本的词向量间的位置关系确定M个未知标签样本的句向量;
根据N个已知标签样本的词向量的平均值及N个已知标签样本的词向量间的位置关系确定N个已知标签样本的句向量;
对M个未知标签样本的句向量按照所述位置关系进行聚类得到L类未知标签样本;第j个未知标签样本被包括在第k类未知标签样本,k=1,…L;
将第k类未知标签样本的句向量平均值与N个已知标签样本的相似度作为第j个未知标签样本和N个已知标签样本的相似度。
进一步的,第二相似度阈值具体为第j个未知标签样本对应的相似度的平均值与第二预设倍数的乘积。
在一种可能的实现方式中,预设策略包括:
将第一标签向量中占比超过预设比例且占比最大的标签作为第j个未知标签样本的标签。
可选的,该装置还包括评估模块505,该评估模块505用于:
用N个已知标签样本训练获取第一识别模型,用第一识别模型识别评估样本集合,得到第一识别结果;
用新增样本训练获取第二识别模型,用第二识别模型识别评估样本集合,得到第二识别结果;
当第二识别结果对应的F1分数高于第一识别结果对应的F1分数时,确定新增样本可用于模型训练。
上述各模块的具体工作原理可以参见实施例一至实施例四的相关说明,在此不再赘述。
本申请实施例提供的装置可以根据已知标签的样本进行样本扩充,扩充所得的新增样本标签已知,第一获取模块能够从N个已知标签样本中确定原始样本,对原始样本进行分词处理以获取分词向量;然后第二获取模块能够构建分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本,尤其当原始样本的多个分词都能够对应多个同义词时,能够高效快速获取大量的待验证样本;最后筛选模块对K个待验证样本进行样本筛选,筛除与原始样本相似度低的样本或者语句不通顺的样本,以提高新增样本准确度。
进一步的,该装置的确定模块还能够基于N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本,充分的利用已知标签样本,进一步提升了样本扩充的效率。
所述样本扩充的装置包括处理器和存储器,上述第一获取模块、第二获取模块、筛选模块和确定模块等均作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或以上,通过调整内核参数来实现样本扩充。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例还提供了一种存储介质,其上可以存储有程序,所述程序被电子设备执行时实现所述样本扩充的方法。
相应的,本申请实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
从N个已知标签样本中确定原始样本,对所述原始样本进行分词处理以获取分词向量;所述标签表征客户意图;
构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本;
对所述K个待验证样本进行样本筛选以获取新增样本;
基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本。
进一步的,本申请实施例还提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
从N个已知标签样本中确定原始样本,对所述原始样本进行分词处理以获取分词向量;所述标签表征客户意图;
构建所述分词向量中的各分词的同义词向量,按照同义词替换的方式获取K个待验证样本;
对所述K个待验证样本进行样本筛选以获取新增样本;
基于所述N个已知标签样本,从M个未知标签样本中筛选可确定出标签的样本并增加至所述新增样本。
本申请中的电子设备可以是服务器、PC、PAD、手机等。
可以理解的是,所述程序可以为上文所述的计算机程序产品。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部模块和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。