带情感的智能语音外呼方法及装置、服务器、存储介质与流程
本申请涉及智能客服领域,尤其涉及带情感的智能语音外呼方法及装置、服务器、存储介质。
背景技术:
目前,智能语音外呼主要是机器人将获取到的客户语音对应的文本与语料库中客户语料进行匹配,并根据匹配结果在语料库中得到客服语料,将客服语料对应的语音回复至客户,但是,上述外呼方法主要是根据客户语音得到与该客户语音匹配的客服语料进行回复,整个外呼过程没有目的性,容易在外呼过程中出现被客户带偏的情况,导致外呼成功率不高。此外,智能语音外呼主要是机器人机械地对客户语音进行分析,并根据分析得到的结果进行语音答复,其答复语音千篇一律,过于单调,并且,答复语音的拟人相似度很差,其中,答复语音的拟人度指机器人针对客户语音对应的情绪模拟人工客服所采用的回复情绪,与人工客服针对该客户语音对应的情绪所采用的情绪之间的相似度。
技术实现要素:
本申请实施例提供一种带情感的智能语音外呼方法及装置、服务器、存储介质,以期,提高外呼成功率以及外呼语音的拟人度。
第一方面,为本申请实施例提供了一种带情感的智能语音外呼方法,包括:
获取第一流程节点对应的客服语料和客户语料,将所述客服语料转化为第一客服语音数据并发送至目标客户;
接收所述目标客户的语音数据,将所述语音数据对应的目标客户文本与所述客户语料进行匹配得到匹配结果;
根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值;
根据所述第一流程节点在所述目标流程基线中的流程顺序值,确定所述第一流程节点对应的下一个流程节点,获取所述下一个流程节点对应的客服语料;
提取所述语音数据的语音特征信息和情绪文本信息;
将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,所述情感识别模型是基于样本语音集合中每个语音数据的情绪标签训练得到;
从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组,所述情感对照矩阵包括至少一组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,所述客服客户情绪对照组对应的外呼成功概率由所述历史对话语音记录中包含所述客服客户情绪对照组的客服情绪标签、客户情绪标签并且外呼成功的对话语音记录确定,其中,所述历史对话语音记录包括每个对话语音记录的客服情绪标签、客户情绪标签以及外呼结果;
将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签;
根据所述目标情绪标签以及所述下一个流程节点对应的客服语料生成所述第二客服语音数据,并将所述第二客服语音数据回复至所述目标客户。
可选的,所述获取第一流程节点对应的客服语料和客户语料之前,还包括:
将所述历史对话语音记录中的每个对话语音记录转化为多个文本,所述多个文本中的每个文本携带对话顺序值,所述多个文本包括第一文本;
计算所述第一文本的关键词分别与各个流程类别各自的流程标签之间的匹配度,得到所述第一文本与所述各个流程类别之间的多个类别匹配度值;
将所述多个类别匹配度值中最大值对应的流程类别确定为所述第一文本的流程类别;
根据所述每个文本携带的对话顺序值以及所述每个文本的流程类别,得到每个对话语音记录的对话链路,进而得到所述历史对话语音记录的对话链路集合,所述对话链路包括多个流程节点,所述流程节点与所述流程类别一一对应;
将所述对话链路集合中出现次数大于预设出现次数阈值的对话链路确定为所述流程基线。
可选的,所述根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,包括:
在所述多条流程基线中获取包含所述第一流程节点的至少一条可选流程基线,每条可选流程基线中的所述第一流程节点均携带所述目标客户文本与所述客户语料的预设匹配结果;
将所述至少一条可选流程基线中各自第一流程节点携带的预设匹配结果中与所述匹配结果一致的可选流程基线确定为所述目标流程基线。
可选的,所述从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组之前,还包括:
将所述每个对话语音记录分为客户语音数据和客服语音数据;
将所述客户语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客户情绪标签;
将所述客服语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客服情绪标签;
根据所述每个对话语音记录的客户情绪标签、客服情绪标签以及外呼结果,计算得到所述情感对照矩阵。
可选的,所述历史对话语音记录包括第一对话语音记录;
所述将所述每个对话语音记录分为客户语音数据和客服语音数据,包括:
根据所述第一对话语音记录得到多个语音片段,提取所述多个语音片段中每个语音片段的mfcc特征;
将所述mfcc特征输入身份矢量模型得到所述每个语音片段的身份矢量特征;
计算所述第一对话语音记录中两两身份矢量特征之间的相似度;
根据所述相似度,对所述第一对话语音记录中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合;
计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,将匹配度最高的标签确定为所述各个说话人语音集合对应的标签;
根据所述各个说话人语音集合对应的标签将所述第一对话语音记录分为所述客户语音数据和所述客服语音数据。
可选的,所述情感识别模型包括卷积层、循环层和转录层;
所述将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,包括:
对所述语音特征信息和所述情绪文本信息进行融合得到融合信息,将所述融合信息输入所述情感识别模型;
通过卷积层对所述融合信息进行特征提取,得到所述语音数据的情绪特征;
通过所述循环层对所述情绪特征进行预测,得到所述语音数据的预测序列;
通过所述转录层将所述预测序列转换为所述语音数据的情绪标签。
可选的,所述提取所述语音数据的情绪文本信息,包括:
将所述语音数据对应的文本信息拆分为至少一个词语;
计算所述至少一个词语中目标词语分别与预设情绪文本集合中每个情绪词的相关程度,得到所述目标词语与所述每个情绪词的多个相关程度值;
将所述多个相关程度值中的最大值确定为所述目标词语的情绪分值,从而得到所述文本信息中每个词语的情绪分值;
将情绪分值大于预设阈值的词语确定为所述语音数据的情绪文本信息。
可选的,所述语音特征信息包括基频;
所述提取所述语音数据的语音特征信息,包括:
对所述语音数据进行分帧得到至少一个语音帧,对所述至少一个语音帧中的每一语音帧进行小波分解,得到每一语音帧对应的多个小波分解信号,每个小波分解信号包括多个语音采样点的小波高频分解信号以及小波低频分解信号;
根据所述至少一个语音帧的每相邻两次小波分解对应的小波低频分解信号的幅值中的最大值确定目标小波分解次数;
根据所述目标小波分解次数下的小波高频分解信号的周期计算得到所述语音数据的基频。
第二方面,为本申请实施例提供了一种带情感的智能语音外呼装置,包括:
第一获取发送模块,用于获取第一流程节点对应的客服语料和客户语料,将所述客服语料转化为第一客服语音数据并发送至目标客户;
接收匹配模块,用于接收所述目标客户的语音数据,将所述语音数据对应的目标客户文本与所述客户语料进行匹配得到匹配结果;
确定目标基线模块,用于根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值;
确定获取模块,用于根据所述第一流程节点在所述目标流程基线中的流程顺序值,确定所述第一流程节点对应的下一个流程节点,获取所述下一个流程节点对应的客服语料;
提取模块,用于提取所述语音数据的语音特征信息和情绪文本信息;
客户情绪获取模块,用于将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,所述情感识别模型是基于样本语音集合中每个语音数据的情绪标签训练得到;
获取对照组模块,用于从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组,所述情感对照矩阵包括至少一组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,所述客服客户情绪对照组对应的外呼成功概率由所述历史对话语音记录中包含所述客服客户情绪对照组的客服情绪标签、客户情绪标签并且外呼成功的对话语音记录确定,其中,所述历史对话语音记录包括每个对话语音记录的客服情绪标签、客户情绪标签以及外呼结果;
客服情绪确定模块,用于将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签;
生成回复模块,用于根据所述目标情绪标签以及所述下一个流程节点对应的客服语料生成所述第二客服语音数据,并将所述第二客服语音数据回复至所述目标客户。
可选的,所述装置还包括:流程基线确定模块。
所述流程基线确定模块,用于将所述历史对话语音记录中的每个对话语音记录转化为多个文本,所述多个文本中的每个文本携带对话顺序值,所述多个文本包括第一文本;
计算所述第一文本的关键词分别与各个流程类别各自的流程标签之间的匹配度,得到所述第一文本与所述各个流程类别之间的多个类别匹配度值;
将所述多个类别匹配度值中最大值对应的流程类别确定为所述第一文本的流程类别;
根据所述每个文本携带的对话顺序值以及所述每个文本的流程类别,得到每个对话语音记录的对话链路,进而得到所述历史对话语音记录的对话链路集合,所述对话链路包括多个流程节点,所述流程节点与所述流程类别一一对应;
将所述对话链路集合中出现次数大于预设出现次数阈值的对话链路确定为所述流程基线。
可选的,所述确定目标基线模块,具体用于:
在所述多条流程基线中获取包含所述第一流程节点的至少一条可选流程基线,每条可选流程基线中的所述第一流程节点均携带所述目标客户文本与所述客户语料的预设匹配结果;
将所述至少一条可选流程基线中各自第一流程节点携带的预设匹配结果中与所述匹配结果一致的可选流程基线确定为所述目标流程基线。
可选的,所述装置还包括:情感对照矩阵确定模块。
所述情感对照矩阵确定模块,用于将所述每个对话语音数据分为客户语音数据和客服语音数据;
将所述客户语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客户情绪标签;
将所述客服语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客服情绪标签;
根据所述每个对话语音记录的客户情绪标签、客服情绪标签以及外呼结果,计算得到所述情感对照矩阵。
可选的,所述历史对话语音记录包括第一对话语音记录;
所述情感对照矩阵确定模块,用于根据所述第一对话语音数据得到多个语音片段,提取所述多个语音片段中每个语音片段的mfcc特征;
将所述mfcc特征输入身份矢量模型得到所述每个语音片段的身份矢量特征;
计算所述第一对话语音数据中两两身份矢量特征之间的相似度;
根据所述相似度,对所述第一对话语音数据中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合;
计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,将匹配度最高的标签确定为所述各个说话人语音集合对应的标签;
根据所述各个说话人语音集合对应的标签将所述第一对话语音数据分为所述客户语音数据和所述客服语音数据。
可选的,所述情感识别模型包括卷积层、循环层和转录层;
所述客户情绪获取模块,具体用于:
对所述语音特征信息和所述情绪文本信息进行融合得到融合信息,将所述融合信息输入所述情感识别模型;
通过卷积层对所述融合信息进行特征提取,得到所述语音数据的情绪特征;
通过所述循环层对所述情绪特征进行预测,得到所述语音数据的预测序列;
通过所述转录层将所述预测序列转换为所述语音数据的情绪标签。
可选的,所述提取模块,具体用于:
将所述语音数据对应的文本信息拆分为至少一个词语;
计算所述至少一个词语中目标词语分别与预设情绪文本集合中每个情绪词的相关程度,得到所述目标词语与所述每个情绪词的多个相关程度值;
将所述多个相关程度值中的最大值确定为所述目标词语的情绪分值,从而得到所述文本信息中每个词语的情绪分值;
将情绪分值大于预设阈值的词语确定为所述语音数据的情绪文本信息。
第三方面,为本申请实施例提供了一种服务器,包括处理器、存储器和收发器,所述处理器、所述存储器和所述收发器相互连接,其中,所述存储器用于存储支持所述电子设备执行上述智能语音外呼方法的计算机程序,所述计算机程序包括程序指令;所述处理器被配置用于调用所述程序指令,执行如上述本申请实施例一方面中所述的带情感的智能语音外呼方法。
第四方面,为本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令;所述程序指令当被处理器执行时使所述处理器执行如本申请实施例一方面中所述的带情感的智能语音外呼方法。
在本申请实施例中,获取第一流程节点对应的客服语料和客户语料,将客服语料转化为第一客服语音数据并发送至目标客户;接收目标客户的语音数据,将语音数据对应的目标客户文本与客户语料进行匹配得到匹配结果;根据匹配结果,确定第一流程节点在多条流程基线中对应的目标流程基线;根据第一流程节点在目标流程基线中的流程顺序值,确定第一流程节点对应的下一个流程节点,获取下一个流程节点对应的客服语料;提取语音数据的语音特征信息和情绪文本信息;将语音特征信息和情绪文本信息输入情感识别模型,得到语音数据的情绪标签;从情感对照矩阵中获取包含情绪标签的多组客服客户情绪对照组;将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签;根据目标情绪标签以及下一个流程节点对应的客服语料生成第二客服语音数据,并将第二客服语音数据回复至目标客户。采用本申请,可以提高外呼成功率以及外呼语音的拟人度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种带情感的智能语音外呼方法的流程示意图;
图2是本申请实施例提供的一种带情感的智能语音外呼方法的流程示意图;
图3是本申请实施例提供的一种带情感的智能语音外呼装置的结构示意图;
图4是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种带情感的智能语音外呼方法的流程示意图。如图1所示,该方法实施例包括如下步骤:
s101,获取第一流程节点对应的客服语料和客户语料,将客服语料转化为第一客服语音数据并发送至目标客户。
其中,第一流程节点可以为多条流程基线上的任意一个流程节点。多条流程基线是基于历史对话语音记录确定的,具体实现过程请参见后续实施例的描述,此处不再赘述。
若第一流程节点为多条流程基线上的第一个流程节点,则在执行步骤s101之前,智能语音外呼装置拨打目标客户的电话,并在电话接通后,获取第一流程节点对应的客服语料和客户语料,将客服语料转化为第一客服语音数据并发送至目标客户。
具体的,智能语音外呼装置根据第一流程节点对应的流程类别,在语料库中获取该流程类别下的客服语料和客户语料,即第一流程节点对应的客服语料和客户语料,并将该客服语料转化为语音,得到第一客服语音数据,并将第一客服语音数据发送至目标客户。之后,执行步骤s102。
s102,接收目标客户的语音数据,将语音数据对应的目标客户文本与客户语料进行匹配得到匹配结果。
其中,客户语料包含多种类型的客户文本。
具体的,智能语音外呼装置接收目标客户的语音数据,将该语音数据转化为文本,得到目标客户文本,并计算目标客户文本的关键词分别与各种类型的客户文本的类型标签之间的匹配度,得到目标客户文本分别与各种类型的客户文本之间的匹配度值,示例性的,若目标客户文本的关键词为a、b、c,第一类的客户文本的类型标签为a、b、c,则目标客户文本与第一类的客户文本之间的匹配度值计算公式可以为目标客户文本的关键词a、b、c分别与第一类的客户文本的类型标签a、b、c之间的匹配度的总和,其中单个关键词与单个类型标签之间的匹配度可以通过预设的匹配度表格获得。根据上述方式计算得到目标客户文本与各种类型的客户文本之间的匹配度,得到多个匹配度值,并根据多个匹配度值中的最大值对应的类型确定匹配结果,示例性的,若多个匹配度值中的最大值对应的类型为第一类型,则得到匹配结果为第一类型匹配。
s103,根据匹配结果,确定第一流程节点在多条流程基线中对应的目标流程基线。
其中,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值。
一种可能的实施方式中,在所述多条流程基线中获取包含所述第一流程节点的至少一条可选流程基线,每条可选流程基线中的所述第一流程节点均携带所述目标客户文本与所述客户语料的预设匹配结果;
将所述至少一条可选流程基线中各自第一流程节点携带的预设匹配结果中与所述匹配结果一致的可选流程基线确定为所述目标流程基线。
举例来说,智能语音外呼装置从多条流程基线“流程基线1:机主确认-产品介绍-挽回-成功登记,流程基线2:机主确认-产品介绍-成功登记,流程基线3:机主确认-产品介绍-挽回-挽回失败,以及流程基线4:机主确认-确认失败”中获取包含产品介绍节点的可选流程基线,即流程基线1、流程基线2和流程基线3,其中,流程基线1、流程基线2和流程基线3中的产品介绍节点携带的目标客户文本与客户语料的预设匹配结果分别为第二类型匹配、第一类型匹配和第二类型匹配,第一类型匹配为同意购买,第二类型匹配为拒绝购买,则将与步骤s102中的匹配结果,即第一类型匹配,一致的流程基线2确定为目标流程基线。
s104,根据第一流程节点在目标流程基线中的流程顺序值,确定第一流程节点对应的下一个流程节点,获取下一个流程节点对应的客服语料。
具体的,智能语音外呼装置将第一流程节点在目标流程基线中的流程顺序值加1,得到下一个流程节点在目标流程基线中的流程顺序值,根据下一个流程节点在目标流程基线中的流程顺序值确定第一流程节点对应的下一个流程节点。
举例来说,智能语音外呼装置根据产品介绍节点在“目标流程基线:机主确认-产品介绍-成功登记”中的流程顺序值2,计算得到下一个流程节点在目标流程基线中的流程顺序值为3,则将目标流程基线中流程顺序值为3的成功登记节点确定为产品介绍节点对应的下一个流程节点。
之后,智能语音外呼装置根据下一个流程节点对应的流程类别在语料库中获取该流程节点对应的客服语料。
s105,提取语音数据的语音特征信息和情绪文本信息。
可选的,所述语音特征信息包括基频;
所述提取所述语音数据的语音特征信息,包括:
对所述语音数据进行分帧得到至少一个语音帧,对所述至少一个语音帧中的每一语音帧进行小波分解,得到每一语音帧对应的多个小波分解信号,每个小波分解信号包括多个语音采样点的小波高频分解信号以及小波低频分解信号;
根据所述至少一个语音帧的每相邻两次小波分解对应的小波低频分解信号的幅值中的最大值确定目标小波分解次数;
根据所述目标小波分解次数下的小波高频分解信号的周期计算得到所述语音数据的基频。
其中,基频也就是基音频率。声音是通过物体的振动产生的,在振动的过程中,会引起气流的瞬间变化,这些变化导致语音信号的瞬间锐变,产生一个突变点,相邻两次突变点之间的时间间隔长度的倒数即为此时的基音频率。由于小波对信号突变点的检测能力很强,因此,可以通过确定小波变换后的极大值点位置,从而确定基音频率。
下面对小波分解进行详细介绍,将客户的语音数据分帧后得到的至少一个语音帧进行小波分解,本实施例以至少一个语音帧中的第一语音帧进行示例性说明。可以理解的是,小波分解的过程可以认为是高低通滤波的过程,高低通滤波特性根据选用的滤波器型号不同而不同,示例性的,可以选用16抽头daubechies8小波。通过高低通滤波器得到第1级小波分解信号,第1级小波分解信号中包括小波低频分解信号l1和小波高频分解信号h1,继续对第1级小波分解信号中的小波低频分解信号l1进行高低通滤波得到第2级小波分解信号中的小波低频分解信号l2和小波高频分解信号h2,对第2级小波分解信号中的小波低频分解信号l2进行高低通滤波得到第3级小波分解信号中的小波低频分解信号l3和小波高频分解信号h3,以此类推,可以对输入信号进行多级小波分解,此处只是作示例性说明。可以理解的是,l3和h3包含着l2的全部信息,l2和h2包含着l1的全部信息,l1和h1包含着第一语音帧的全部信息,所以l3、h3、h2和h1通过拼接组成的第一小波分解信号可以代表着第一语音帧。
在一种可能的实现方式中,智能语音外呼装置以16khz为客户的语音数据的采样频率,以10ms为帧移,10ms为帧长,对该语音数据进行分帧,每一个语音帧包括160个语音采样点,针对每个语音帧进行小波分解,第一高通滤波后的小波高频分解信号中的语音采样点个数为160个,第一低通滤波后的小波低频分解信号中的语音采样点个数也为160个,组成第1级小波分解信号,为了使小波分解后的语音采样点个数可以保持和原来语音帧的语音采样点个数一致,可以对进行高通滤波和低通滤波之后的信号进行降采样,即将第一低通滤波后的小波低频分解信号进行降采样,第一低通滤波后的小波低频分解信号的采样频率为第一语音帧采样频率的一半,则第一低通滤波降采样后的小波低频分解信号中的语音采样点个数为80;同理的,第一高通滤波降采样后的小波高频分解信号中的语音采样点个数为80,则第1级小波分解信号中的语音采样点个数为第一低通滤波降采样和第一高通滤波降采样后语音采样点个数加起来的160,与一个语音帧信号的语音采样点个数一致。
进一步地,智能语音外呼装置计算该语音数据中的所有语音帧的第k+1次小波分解对应的小波低频分解信号的幅值中的最大值与所有语音帧的第k次小波分解对应的小波低频分解信号的幅值中的最大值的比值α,若所述比值小于第一预设阈值a,则将k+1确定为最佳小波分解次数。其中,第一预设阈值a可以为π/2。
之后,智能语音外呼装置根据第k+1次小波分解对应的小波高频分解信号的幅值从多个语音采样点中确定至少一个极大值采样点,按照采样顺序计算每两个相邻极大值采样点之间的时间间隔以及每一个时间间隔值出现的次数,若每一个时间间隔值出现的次数不同,则将出现次数最多的时间间隔值的倒数确定为基音频率;若每一个时间间隔值出现的次数相同,则可以将时间间隔值的最大值的倒数或者所有时间间隔值的平均值的倒数确定为基音频率。
可选的,所述语音特征信息还包括共振峰。智能语音外呼装置提取语音数据的共振峰的具体实施过程如下:
智能语音外呼装置利用线性预测编码(linearpredictivecoding,lpc)模型将该语音数据用lpc形式来表示,即:
其中,u(n)为激励函数,g为增益参数,β为lpc参数,γ表示极点个数。
进一步地,根据该语音数据的lpc形式得到其相应的数字滤波器传递函数g(n)=z(n)/(g*u(n))=1/∏(1-aβ*n-β)=1/∏(1-nβ*n-β),其中,nβ是g(n)在n-平面上的第β个极点,g(n)的所有极点都在z平面的单位圆内。则第β个共振峰的频率和带宽分别为θβ/2πt和ln(rβ)/πt。对上述g(n)进行求根,得到语音数据的共振峰。
可选的,所述提取所述语音数据的情绪文本信息,包括:
将所述语音数据转化成文本信息,将所述文本信息拆分为至少一个词语;
计算所述至少一个词语中目标词语分别与预设情绪文本集合中每个情绪词的相关程度,得到所述目标词语与所述每个情绪词的多个相关程度值;
将所述多个相关程度值中的最大值确定为所述目标词语的情绪分值,从而得到所述文本信息中每个词语的情绪分值;
将情绪分值大于预设阈值的词语确定为所述语音数据的情绪文本信息。
具体的,智能语音外呼装置将客户的语音数据转化成文本信息,将文本信息拆分为至少一个词语,计算至少一个词语中的目标词语分别与预设情绪文本集合中每个情绪词的相关程度值,计算公式如下:
公式中,a表示包含目标词语t并且属于情绪词ci的词语个数,b表示包含目标词语t但不属于情绪词ci的词语个数,c表示不包含目标词语t并且属于情绪词ci的词语个数,d表示不包含目标词语t并且不属于情绪词ci的词语个数。
之后,将目标词语多个相关程度值中的最大值确定为目标词语的情绪分值,根据上述方式得到文本信息中每个词语的情绪分值,按照情绪分值大小对文本信息的至少一个词语进行排序,将情绪分值大于等于预设阈值的前k个词语确定为语音数据的情绪文本信息,即语音数据的一个k维情绪文本信息。
s106,将语音特征信息和情绪文本信息输入情感识别模型,得到语音数据的情绪标签。
智能语音外呼装置在将语音特征信息和情绪文本信息输入情感识别模型之前,可先通过卷积循环神经网络的方式得到情感识别模型。
具体的,智能语音外呼装置在人工外呼语音库中随机选择样本语音集合,该样本语音集合包括至少一个人工外呼语音以及每一个人工外呼语音的文本信息,通过人工标注的方式获得样本语音集合中每一个人工外呼语音的实际情绪标签,之后,智能语音外呼装置提取样本语音集合中每一个人工外呼语音的语音特征信息和情绪文本信息,这里智能语音外呼装置提取每一个人工外呼语音的语音特征信息和情绪文本信息的具体实现方式请参照本步骤中智能语音外呼装置提取语音数据的语音特征信息和情绪文本信息的具体实现方式,此处不再赘述,从而得到样本语音集合的语音特征信息和情绪文本信息,并按照一定比例将样本语音集合划分为训练集、验证集。例如,样本语音集合共有2000个人工外呼语音以及每一个人工外呼语音对应的文本信息,通过人工分类的方式得到愤怒、热情、平淡和悲伤情绪的语音分别为200个、1000个、600个和200个,按照7:3的比例得到训练集和验证集的语音数量分别为1400个和600个。
之后,智能语音外呼装置将样本语音集合的语音特征信息和情绪文本信息进行融合,得到每个人工外呼语音的融合信息。
具体的,首先对语音特征信息中的基频和共振峰进行融合,由于基频的数据量和共振峰的数据量相近,可以采用主成分分析法对共振峰进行优化,将基频连接到优化后的共振峰之后,得到每个人工外呼语音的音频特征,进一步地,将每个人工外呼语音的音频特征和情绪文本信息输入一个限制波尔兹曼机(restrictedboltzmannmachine,rbm)模型,得到每个人工外呼语音的融合信息。
之后,智能语音外呼装置将训练集中每一个人工外呼语音的融合信息以及实际情绪标签输入初始卷积循环神经网络模型进行训练学习,得到第一卷积循环神经网络模型,并将验证集的融合信息输入第一卷积循环神经网络模型,得到验证集的预测情绪标签,计算验证集的预测情绪标签中与实际情绪标签一致的语音的个数在验证集中包含的语音的总个数中所占的比例,并根据该比例判断第一卷积循环神经网络模型是否达到收敛条件,举例来说,智能语音外呼装置计算得到验证集的预测情绪标签中与实际情绪标签一致的语音的个数在验证集中包含的语音的总个数中所占的比例为60%,没有达到收敛条件,即预设输出准确率95%,因此,智能语音外呼装置根据上述所占比例即模型的输出准确率,改变第一卷积循环神经网络模型的参数,如学习率、神经网络中每一层的权重等,直至第一卷积循环神经网络模型满足收敛条件,如模型的输出准确率达到95%,则将此时的第一卷积循环神经网络模型确定为情感识别模型。
之后,智能语音外呼装置将语音特征信息和情绪文本信息输入情感识别模型,得到音频数据的情绪标签。
可选的,所述情感识别模型包括卷积层、循环层和转录层;
所述将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,包括:
对所述语音特征信息和所述情绪文本信息进行融合得到融合信息,将所述融合信息输入所述情感识别模型;
通过卷积层对所述融合信息进行特征提取,得到所述语音数据的情绪特征;
通过所述循环层对所述情绪特征进行预测,得到所述语音数据的预测序列;
通过所述转录层将所述预测序列转换为所述语音数据的情绪标签。
具体的,智能语音外呼装置将语音数据的基频、共振峰和情绪文本信息进行融合,得到语音数据的融合信息,这里智能语音外呼装置得到语音数据的融合信息的具体实现方式请参照该步骤中得到样本语音集合中每个人工外呼语音的融合信息的具体实现方式,此处不再赘述。
之后,将语音数据的融合信息输入情感识别模型,并通过情感识别模型中的卷积层对输入的语音数据的融合信息进行特征提取,这里可以将情感识别模型中的卷积层理解为一个除去全连接层的标准卷积神经网络模型,语音数据的融合信息首先进入标准卷积神经网络模型中的卷积层,随机选取融合信息中的一小部分作为样本,并从这个小样本中学习到一些特征信息,然后将从样本中学习到的特征信息跟融合信息做卷积运算。在做完卷积运算后,已经提取到融合信息的特征,但仅仅通过卷积运算提取的特征数量大,为了减少计算量,还需进行池化运算,也就是将通过卷积运算提取的特征传输至标准卷积神经网络模型的池化层,对提取的特征进行聚合统计,这些统计特征的数量级要远远低于卷积运算提取到的特征的数量级,同时还会提高分类效果。常用的池化方法主要包括平均池化运算方法和最大池化运算方法。平均池化运算方法是在一个特征集合里计算出一个平均特征代表该特征集合的特征;最大池化运算是在一个特征集合里提取出最大特征代表该特征集合的特征。通过卷积层的卷积处理和池化层的池化处理,可以提取出融合信息的静态结构特征信息,即可以得到语音数据的情绪特征。
之后,将语音数据的情绪特征输入情感识别模型的循环层,这里情感识别模型的循环层可以理解为循环神经网络模型,虽然循环神经网络能够对时间序列建模,但其学习长期依赖信息的能力是有限的,即如果当前的输出与之前很长一段序列有关,其依赖关系是很难被学习到的,因为序列太长和长期依赖会导致梯度消失或梯度爆炸。因此,本实施例中选用特殊的循环神经网络模型即长短时记忆网络(longshort-termmemory,lstm)模型对语音数据的情绪特征进行预测,得到语音数据的预测序列,可以将语音数据的预测序列理解为一个具有n个元素的概率行向量,其中,概率行向量包括元素ai,元素ai表示该语音数据的情绪标签为第i个情绪标签的概率。
之后,将语音数据的预测序列送至转录层,可以将转录层理解为利用(connectionisttemporalclassification,ctc)联结主义时间分类算法,根据具有n个元素的概率行向量找到具有最高概率的情绪标签,即为语音数据的情绪标签。
s107,从情感对照矩阵中获取包含情绪标签的多组客服客户情绪对照组。
其中,所述情感对照矩阵包括至少一组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,所述客服客户情绪对照组对应的外呼成功概率由历史对话语音记录中包含所述客服客户情绪对照组的客服情绪标签、客户情绪标签并且外呼成功的对话语音记录确定,其中,所述历史对话语音记录包括每个对话语音记录的客服情绪标签、客户情绪标签以及外呼结果。
这里,先介绍获取情感对照矩阵的具体实现方式:智能语音外呼装置在将历史对话语音记录中每个对话语音记录分为客户语音数据和客服语音数据后,分别提取每个对话语音记录的客户语音数据和客服语音数据的语音特征信息和情绪文本信息,之后分别将每个对话语音记录的客户语音数据和客服语音数据的语音特征信息和情绪文本信息进行融合,得到客户语音数据的融合信息和客服语音数据的融合信息,将客户语音数据的融合信息和客服语音数据的融合信息输入情感识别模型,得到每个对话语音记录的客户情绪标签和客服情绪标签,并计算历史对话语音记录中客服情绪标签为第i个情绪标签、客户情绪标签为第j个情绪标签,并且外呼成功的对话语音记录个数与历史对话语音记录中客服情绪标签为第i个情绪标签、客户情绪标签为第j个情绪标签的对话语音记录个数之间的比值pij,即得到一组客服客户情绪对照组,该客服客户情绪对照组中客服情绪标签为第i个情绪标签、客户情绪标签为第j个情绪标签,并且该客服客户情绪对照组的外呼成功概率为pij,进而得到多组客服客户情绪对照组以及每组客服客户情绪对照组的外呼成功概率,即情感对照矩阵。
需要说明的是,情感对照矩阵为方阵,即该矩阵的行列数相等,并且,该矩阵的行数m、列数n均为大于等于3的整数,当n=3时,客服情绪标签、客户情绪标签包括负面情绪、中性情绪和正面情绪,当n=4,客服情绪标签、客户情绪标签包括愤怒、热情、平淡和悲伤。示例性的,当n=4时,情感对照矩阵如下:
其中,该情感对照矩阵中每一行表示当客服情绪为该行所对应的情绪标签时,客户情绪取不同情绪标签所对应的外呼成功概率,并且该情感对照矩阵包括16组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,即愤怒-愤怒情绪对照组以及该组的外呼成功概率p11、愤怒-热情情绪对照组以及该组的外呼成功概率p12、愤怒-平淡情绪对照组以及该组的外呼成功概率p13、…、悲伤-悲伤情绪对照组以及该组的外呼成功概率p44。
举例来说,智能语音外呼装置得到语音数据的情绪标签为平淡,则从情感对照矩阵中得到包含客户情绪标签为平淡的4组客服客户情绪对照组,即愤怒-平淡情绪对照组、热情-平淡情绪对照组、平淡-平淡情绪对照组和悲伤-平淡情绪对照组。
s108,将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签。
举例来说,若包含客户情绪标签为平淡的4组客服客户情绪对照组中愤怒-平淡情绪对照组、热情-平淡情绪对照组、平淡-平淡情绪对照组和悲伤-平淡情绪对照组的外呼成功概率分别为0.2、0.9、0.5和0.1,则智能语音外呼装置将外呼成功功率最高的热情-平淡情绪对照组中的客服情绪标签,即热情,确定为目标情绪标签。
s109,根据目标情绪标签以及下一个流程节点对应的客服语料生成第二客服语音数据,并将第二客服语音数据回复至目标客户。
智能语音外呼装置根据下一流程节点的客服语料,并通过查找语音情感参数表格的方式获取目标情绪标签对应的情感参数,比如语速,语调等参数,并调整上述情感参数,从而生成情感为目标情绪标签,并且内容为下一个流程节点中客服语料的第二客服语音数据,并将第二客服语音数据回复至目标客户。
在本申请实施例中,智能语音外呼装置在将第一流程节点对应的客服语料转化为语音数据发送至目标客户后,根据目标客户的语音数据对应的目标客户文本与第一流程节点对应的客户语料进行匹配,并根据匹配结果确定第一流程节点在多条流程基线中对应的目标流程基线,根据第一流程节点在目标流程基线中的流程顺序值确定第一流程节点对应的下一个流程节点,之后智能语音外呼装置通过情感识别模型得到目标客户的语音数据的情绪标签,并根据该情绪标签将情感对照矩阵中包含该情绪标签并且外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签,根据目标情绪标签以及下一个流程节点对应的客服语料生成具有目标情绪的回复语音,并将该回复语音回复至目标客户,由于整个外呼过程均是基于根据历史对话语音记录得到的流程基线进行的,使得外呼过程更加具有针对性,此外,发送至目标客户的回复语音对应的情绪标签是情感对照矩阵中包含目标客户的语音数据的情绪标签并且外呼成功概率最高的客服客户情绪对照组中的客服情绪标签,因此,不仅提高了外呼营销成功率,还提高了外呼语音的拟人度。
请参见图2,是本申请实施例提供的一种带情感的智能语音外呼方法的流程示意图。如图2所示,该方法实施例包括如下步骤:
s201,根据历史对话语音记录确定多条流程基线。
一种可能的实施方式中,智能语音外呼装置将所述历史对话语音记录中的每个对话语音记录转化为多个文本,所述多个文本中的每个文本携带对话顺序值,所述多个文本包括第一文本;
计算所述第一文本的关键词分别与各个流程类别各自的流程标签之间的匹配度,得到所述第一文本与所述各个流程类别之间的多个类别匹配度值;
将所述多个类别匹配度值中最大值对应的流程类别确定为所述第一文本的流程类别;
根据所述每个文本携带的对话顺序值以及所述每个文本的流程类别,得到每个对话语音记录的对话链路,进而得到所述历史对话语音记录的对话链路集合,所述对话链路包括多个流程节点,所述流程节点与所述流程类别一一对应;
将所述对话链路集合中出现次数大于预设出现次数阈值的对话链路确定为所述流程基线。
具体的,智能语音外呼装置将历史对话语音记录中的每个对话语音记录均转化为文本,得到每个对话语音记录对应的多个文本,计算多个文本中第一文本的关键词与各个流程类别各自的流程标签之间的匹配度,得到第一文本与各个流程类别之间的多个类别匹配度值,示例性的,若第一文本的关键词a、b、c与第一流程类别的流程标签a、b、c之间的类别匹配度值计算公式可以为第一文本的关键词a、b、c分别与第一流程类别的流程类别标签a、b、c之间的匹配度的总和,其中单个关键词与单个流程类别标签之间的匹配度可以通过预设的匹配度表格获得。根据上述方式计算得到第一文本与各个流程类别之间的类别匹配度,得到多个类别匹配值,将多个类别匹配值中最大值对应的流程类别确定为第一文本的流程类别,根据上述方式得到每个对话语音记录中每个文本的流程类别,并将每个文本携带的对话顺序值按照从小到大的顺序对每个文本的流程类别进行排序,进而得到每个对话语音记录的对话链路,示例性的,若第一对话语音记录中文本a1至文本a7各自携带的对话顺序值分别为1-7,以及文本a1至文本a7的流程类别分别为机主确认、机主确认、产品介绍、产品介绍、挽回、挽回和成功登记,则得到第一对话语音记录的对话链路为机主确认-产品介绍-挽回-成功登记,该对话链路包括四个流程节点,分别为机主确认节点、产品介绍节点、挽回节点和成功登记节点,并且,上述四个流程节点对应的流程类别分别为机主确认、产品介绍、挽回和成功登记。根据上述方式,得到每个语音对话记录的对话链路,进而得到历史对话语音记录的对话链路集合,将对话链路集合中出现次数大于预设出现次数阈值(如100)的对话链路确定为流程基线,或者,将对话链路集合中的对话链路按照出现次数从高到低的顺序进行排序,得到排序后的对话链路集合,将排序后的对话链路集合中的前n个对话链路确定为流程基线。
s202,获取第一流程节点对应的客服语料和客户语料,将客服语料转化为第一客服语音数据并发送至目标客户。
在执行步骤s202之前,智能语音外呼装置根据历史对话语音记录确定语料库,具体实现方式如下:
可选的,所述历史对话语音记录包括第一对话语音记录,所述第一对话语音记录包括第一对话语音数据;
所述将所述每个对话语音数据分为客户语音数据和客服语音数据,包括:
根据所述第一对话语音数据得到多个语音片段,提取所述多个语音片段中每个语音片段的mfcc特征;
将所述mfcc特征输入身份矢量模型得到所述每个语音片段的身份矢量特征;
计算所述第一对话语音数据中两两身份矢量特征之间的相似度;
根据所述相似度,对所述第一对话语音数据中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合;
计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,将匹配度最高的标签确定为所述各个说话人语音集合对应的标签;
根据所述各个说话人语音集合对应的标签将所述第一对话语音数据分为所述客户语音数据和所述客服语音数据。
具体的,智能语音外呼装置将第一对话语音数据通过高斯混合模型进行语音侦测得到多个只包含一位说话人的语音片段,将这些多个只包含一位说话人的语音片段串接成一个新的语音数据,将新的语音数据切割成许多长度相同并部分重叠的多个语音片段。
之后,智能语音外呼装置提取多个语音片段中每个语音片段的mfcc特征,具体实现方式如下:
智能语音外呼装置可以用有限长度的窗函数来截取每个语音片段形成分析帧,窗函数将需要处理区域以外的采样点置零来获得当前语音帧。
可选的,本申请实施例中的窗函数可以使用汉明窗窗函数,即,
其中,n为帧长,通常取256或512。
之后得到加窗处理后第n时刻对应的语音片段sω(n),即,
sω(n)=s(n)×ω(n)
其中,s(n)为第n时刻对应的语音片段,即n时刻的语音采样值。
之后,对加窗处理后第n时刻对应的语音片段sω(n)进行预加重,使用y(n)=x(n)-ax(n-1)对加窗处理后的语音片段sω(n)进行处理,其中x(n)为第n时刻加窗处理后的语音片段sω(n)的语音采样值,a为预加重系数,a的值介于0.9和1之间,示例性的,a=0.9375,y(n)为经过预加重处理的信号。可以理解为,预加重处理将语音片段通过一个高通滤波器,对高频成分进行补偿,减少了口唇发音或麦克风录音的过程带来的高频损失。
在对语音片段进行加窗预加重处理得到语音片段的每一语音帧后,还需要对每一语音帧进行快速傅里叶变换得到每一语音帧的频谱。示例性的,每一语音帧可以通过以下公式完成离散傅里叶变换得到每一语音帧的频谱。
其中,x(n)为加窗预加重处理后的语音片段,n表示傅里叶变换的点数。
智能语音外呼装置对每一语音帧的频谱幅度取平方得到每一语音帧的能量谱,由于人耳在分辨语音时,耳蜗相当于一个滤波器组,在对数域上对语音进行滤波,即相比于频率f,梅尔频率fmel=2595×log(1+f/700)更接近人耳的听觉机理,故之后需要将每一语音帧的能量谱通过一组mel频率滤波器组(m个mel带通滤波器),得到m个mel带通滤波器的输出功率谱。
智能语音外呼装置对输出功率谱取对数,之后进行反离散余弦变化,得到若干个mfcc系数(mel-frequencycepstralcoefficients,梅尔频率倒谱系数),即静态特征,一般为12-16个,静态特征可以通过以下公式计算得到:
其中,x(k)为每个mel带通滤波器的输出功率谱,c0为频谱能量。
之后,智能语音外呼装置将静态特征和频谱能量做一阶、二阶差分得到动态特征,并将静态特征和动态特征求和得到每一语音帧对应的特征向量,进而得到每个语音片段的mfcc特征。
可选的,身份矢量模型包括x-vector模型。
之后,智能语音外呼装置将每个语音片段的mfcc特征输入训练好的x-vector模型,得到每个语音片段的x-vector特征,并计算两两x-vector特征之间的余弦相似度s=<x1,x2>/(‖x1‖*‖x2‖),其中,x1和x2表示x-vector特征,s表示两两x-vector特征之间的夹角余弦值,当夹角越小时,两两x-vector特征之间的相似度越高。
进一步地,根据所述相似度,对第一对话语音数据中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合。
具体的,智能语音外呼装置运用k-means算法对第一对话语音数据中各个语音片段的x-vector特征进行聚类,实现过程如下:1)随机从多个x-vector特征中选取两个x-vector特征作为两个群的群心,即群c1和群c2的群心分别为q1和q2;2)遍历剩下的x-vector特征分别与q1和q2之间的相似度,并比较大小,若该x-vector特征与q1之间的相似度更高,则将该x-vector特征分配到群c1,否则分配到群c2,根据上述方式将每个x-vector特征分配完毕;3)重新计算群c1和群c2的群心,重复步骤2)和3),直到k-means算法达到收敛条件,如达到最大迭代次数,则聚类结束,得到第一说话人语音集合和第二说话人语音集合。
之后,计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,示例性的,若第一说话人语音集合对应的关键词为a、b、c,客服标签为a、b、c,则第一说话人语音集合与客服标签之间的匹配度计算公式可以为第一说话人语音集合对应的关键词为a、b、c分别与客服标签为a、b、c之间的匹配度的总和,其中单个关键词与单个客服标签之间的匹配度可以通过预设的匹配度表格获得。根据上述方式计算得到第一说话人语音集合与客户标签之间的匹配度,并将第一说话人语音集合分别与客户标签、客服标签之间的匹配度中匹配度最大的标签确定为第一说话人语音集合对应的标签。根据上述方式确定第二说话人语音集合对应的标签。进一步地,根据上述方式将历史对话语音记录中每个对话语音记录的对话语音数据分为客服语音数据和客户语音数据。
智能语音外呼装置将所有对话语音记录的客户语音数据和客服语音数据转化为文本,得到客户文本集合和客服文本集合。
将客户文本集合中的第一客户文本中的每个词语通过one-hotencoder的方式将每个词语转化为离散的符号,也就是说,第一客户文本中的每个词语对应一个行向量,该行向量中只有一个值为1,其余值都为0,即每个词语对应的行向量为该词语的初始词向量,其中,初始词向量的维数由人为设定,这里不做限定。由于不同的客户文本中包含的词语的个数不一样,为了使每个客户文本的初始矩阵的行列数一致,则将客户文本中的每个词语的初始词向量,按照每个词语在客户文本中的出现顺序进行排序,得到一个m行n列的矩阵,之后,将客户文本中包含的词语的个数l与初始矩阵的预设行数l进行比较,若词语的个数小于初始矩阵的预设行数,则在上述m行n列的矩阵中的第m+1行依次向下添加(l-l)个n维零向量后,得到一个l行n列的矩阵,即客户文本的初始矩阵。将客户文本的初始矩阵和包含预设值(隐含层神经元个数)个输入权重列向量的输入权重矩阵相乘,得到客户文本的文本矩阵,即得到每个词语的word2vec词向量。其中,输入权重矩阵是输入权重矩阵是基于样本文本集合以及该集合中每个文本的多个初始词向量训练得到的。训练过程可以理解为,word2vec模型中的连续词袋(continuousbagofwords,cbow)模型,即隐含层数量为1的神经网络模型,通过每一个文本中除目标词语外的其他词语的初始词向量对目标词语的词向量进行预测,得到目标词语的预测词向量,通过调整cbow模型中的初始输入权重矩阵和初始输出权重矩阵,不断减小目标词语的预测词向量中的每个元素值与目标词语的初始词向量中的每个元素值之间的误差,当每个元素之间的误差值均达到最小时,则将此时调整后的初始输入权重矩阵确定为输入权重矩阵。
之后,将第一客户文本中每个词语的word2vec词向量输入预先训练好的基于语言模型的词向量(embeddingsfromlanguagemodels,elmo)模型,对于每个词语的word2vec词向量而言,对于l层的bilm模型,一共有2l+1个表示,每一层有一个前向lstm输出和一个后向lstm输出,两者建单拼接后,对于每一层就有了2x*1的列向量。将最顶层的lstm输出的向量汇总,作为每个词语的elmo向量,其中,elmo模型是基于样本文本集合以及该集合中每个文本的多个word2vec词向量训练得到的,具体训练过程这里不再赘述。根据上述方式得到客户文本集合中每个客户文本的至少一个elmo向量。运用k-means算法将客户文本集合中所有客户文本的elmo向量进行聚类,实现过程如下:1)随机从多个elmo向量中选取n个elmo向量作为n个群的群心,即群c1、群c2、…、群cn的群心分别为q1、q2…、qn;2)遍历剩下的elmo向量分别与q1、q2…、qn之间的欧几里得距离,并比较大小,若该elmo向量与q1之间的欧几里得距离最小,则将该elmo向量分配到群c1,根据上述方式将每个elmo向量分配完毕;3)重新计算群c1、群c2、…、群cn的群心,重复步骤2)和3),直到k-means算法达到收敛条件,如达到最大迭代次数,则聚类结束,得到n个文本集合,其中,n为流程类别的个数。
进一步地,计算n个文本集合中每个文本集合中出现的高频词与每个流程类别的流程类别标签之间的匹配度。若第一文本集合的高频词为a、b、c,第一流程类别的流程类别标签为a、b、c,则第一文本集合与所述第一流程类别之间的类别匹配度值计算公式可以为第一文本集合的高频词a、b、c分别与第一流程类别的流程类别标签a、b、c之间的匹配度的总和,其中单个高频词与单个流程类别标签之间的匹配度可以通过预设的匹配度表格获得。根据上述方式计算得到第一文本集合与各个流程类别之间的类别匹配度,得到多个类别匹配值,将多个类别匹配值中最高类别匹配值对应的流程类别确定为第一文本集合对应的流程类别,根据上述方式得到n个文本集合中每个文本集合对应的流程类别。
进一步地,根据上述方式将客服文本集合划分为n个文本集合,并得到n个文本集合中每个文本集合对应的流程类别。由于客服文本集合中每一个客服文本均携带外呼结果,则将n个文本集合中每个文本集合中外呼结果为成功,并且出现次数最多的文本确定为该文本集合对应的流程类别中的客服语料,进而得到语料库中每个流程类别对应的客服语料,根据上述方式得到语料库中每个流程类别对应的客户语料,运用k-means算法对各个流程类别中第一流程类别的客户语料所包含的所有客户文本的elmo向量进行聚类,得到第一流程类别的客户语料的m个文本集合,将m个文本集合中第一文本集合的关键词与第一流程类别中的各个客户语料类型的类型标签进行匹配,得到多个匹配度值,将多个匹配度值中的最大值对应的客户语料类型确定为第一文本集合的客户语料类型,根据上述方式可以得到第一流程类别的客户语料中的每个文本集合的客户语料类型,进而得到各个流程类别的客户语料中的每个文本集合的客户语料类型,各个流程类别的客服语料和各个流程类别对应多种客户语料组成语料库,如表1所示。
表1、语料库
之后,智能语音外呼装置根据第一流程节点对应的流程类别,在语料库中获取该流程类别下的客服语料和客户语料,即第一流程节点对应的客服语料和客户语料,并将该客服语料转化为语音,得到第一客服语音数据,并将第一客服语音数据发送至目标客户。
s203,接收目标客户的语音数据,将语音数据对应的目标客户文本与客户语料进行匹配得到匹配结果。
s204,根据匹配结果,确定第一流程节点在多条流程基线中对应的目标流程基线。
其中,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值。
s205,根据第一流程节点在目标流程基线中的流程顺序值,确定第一流程节点对应的下一个流程节点,获取下一个流程节点对应的客服语料。
s206,提取语音数据的语音特征信息和情绪文本信息。
s207,将语音特征信息和情绪文本信息输入情感识别模型,得到语音数据的情绪标签。
s208,从情感对照矩阵中获取包含情绪标签的多组客服客户情绪对照组。
s209,将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签。
s210,根据目标情绪标签以及下一个流程节点对应的客服语料生成第二客服语音数据,并将第二客服语音数据回复至目标客户。
这里,步骤s203-步骤s210的具体实现方式可参考图1对应的实施例中步骤s102-步骤s109的描述,此处不再赘述。
在本申请实施例中,智能语音外呼装置在将第一流程节点对应的客服语料转化为语音数据发送至目标客户后,根据目标客户的语音数据对应的目标客户文本与第一流程节点对应的客户语料进行匹配,并根据匹配结果确定第一流程节点在多条流程基线中对应的目标流程基线,根据第一流程节点在目标流程基线中的流程顺序值确定第一流程节点对应的下一个流程节点,之后智能语音外呼装置通过情感识别模型得到目标客户的语音数据的情绪标签,并根据该情绪标签将情感对照矩阵中包含该情绪标签并且外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签,根据目标情绪标签以及下一个流程节点对应的客服语料生成具有目标情绪的回复语音,并将该回复语音回复至目标客户,由于整个外呼过程均是基于根据历史对话语音记录得到的流程基线进行的,使得外呼过程更加具有针对性,此外,发送至目标客户的回复语音对应的情绪标签是情感对照矩阵中包含目标客户的语音数据的情绪标签并且外呼成功概率最高的客服客户情绪对照组中的客服情绪标签,因此,不仅提高了外呼营销成功率,还提高了外呼语音的拟人。
此外,智能语音外呼装置在接收到目标客户的语音数据后还可以通过以下方式确定第一流程节点对应的下一个流程节点:
智能语音外呼装置从多条流程基线中获取包含第一流程节点的多条可选流程基线,并根据第一流程节点在每条可选流程基线上的流程顺序值n,获取第一流程节点在每条可选流程基线上流程顺序值为n+1的可选流程节点,进而得到第一流程节点在多条可选流程基线上的多个可选流程节点,并计算语音数据对应的目标客户文本与每个可选流程节点对应的客户语料之间的匹配度,得到多个匹配度值,将多个匹配度值中的最大值对应的可选流程节点确定为第一流程节点对应的下一个流程节点。这里,每个流程节点对应的客户语料为智能语音外呼装置在该流程节点的上一个流程节点获取的客户语音转化的文本,其中,每个流程节点对应的客服语料和客户语料均是根据历史对话语音记录得到的,此外,流程基线中的第一个流程节点包含客服语料,不包含客户语料。
请参见图3,是本申请实施例提供的一种带情感的智能语音外呼装置的结构示意图。如图3所示,该带情感的智能语音外呼装置3包括第一获取发送模块31、接收匹配模块32、确定目标基线模块33、确定获取模块34、提取模块35、客户情绪获取模块36、获取对照组模块37、客服情绪确定模块38和生成回复模块39。
第一获取发送模块31,用于获取第一流程节点对应的客服语料和客户语料,将所述客服语料转化为第一客服语音数据并发送至目标客户;
接收匹配模块32,用于接收所述目标客户的语音数据,将所述语音数据对应的目标客户文本与所述客户语料进行匹配得到匹配结果;
确定目标基线模块33,用于根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值;
确定获取模块34,用于根据所述第一流程节点在所述目标流程基线中的流程顺序值,确定所述第一流程节点对应的下一个流程节点,获取所述下一个流程节点对应的客服语料;
提取模块35,用于提取所述语音数据的语音特征信息和情绪文本信息;
客户情绪获取模块36,用于将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,所述情感识别模型是基于样本语音集合中每个语音数据的情绪标签训练得到;
获取对照组模块37,用于从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组,所述情感对照矩阵包括至少一组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,所述客服客户情绪对照组对应的外呼成功概率由所述历史对话语音记录中包含所述客服客户情绪对照组的客服情绪标签、客户情绪标签并且外呼成功的对话语音记录确定,其中,所述历史对话语音记录包括每个对话语音记录的客服情绪标签、客户情绪标签以及外呼结果;
客服情绪确定模块38,用于将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签;
生成回复模块39,用于根据所述目标情绪标签以及所述下一个流程节点对应的客服语料生成所述第二客服语音数据,并将所述第二客服语音数据回复至所述目标客户。
可选的,所述装置还包括:流程基线确定模块310。
所述流程基线确定模块310,用于将所述历史对话语音记录中的每个对话语音记录转化为多个文本,所述多个文本中的每个文本携带对话顺序值,所述多个文本包括第一文本;
计算所述第一文本的关键词分别与各个流程类别各自的流程标签之间的匹配度,得到所述第一文本与所述各个流程类别之间的多个类别匹配度值;
将所述多个类别匹配度值中最大值对应的流程类别确定为所述第一文本的流程类别;
根据所述每个文本携带的对话顺序值以及所述每个文本的流程类别,得到每个对话语音记录的对话链路,进而得到所述历史对话语音记录的对话链路集合,所述对话链路包括多个流程节点,所述流程节点与所述流程类别一一对应;
将所述对话链路集合中出现次数大于预设出现次数阈值的对话链路确定为所述流程基线。
可选的,所述确定目标基线模块33,具体用于:
在所述多条流程基线中获取包含所述第一流程节点的至少一条可选流程基线,每条可选流程基线中的所述第一流程节点均携带所述目标客户文本与所述客户语料的预设匹配结果;
将所述至少一条可选流程基线中各自第一流程节点携带的预设匹配结果中与所述匹配结果一致的可选流程基线确定为所述目标流程基线。
可选的,所述装置还包括:情感对照矩阵确定模块311。
所述情感对照矩阵确定模块311,用于将所述每个对话语音数据分为客户语音数据和客服语音数据;
将所述客户语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客户情绪标签;
将所述客服语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客服情绪标签;
根据所述每个对话语音记录的客户情绪标签、客服情绪标签以及外呼结果,计算得到所述情感对照矩阵。
可选的,所述历史对话语音记录包括第一对话语音记录;
所述情感对照矩阵确定模块311,用于根据所述第一对话语音数据得到多个语音片段,提取所述多个语音片段中每个语音片段的mfcc特征;
将所述mfcc特征输入身份矢量模型得到所述每个语音片段的身份矢量特征;
计算所述第一对话语音数据中两两身份矢量特征之间的相似度;
根据所述相似度,对所述第一对话语音数据中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合;
计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,将匹配度最高的标签确定为所述各个说话人语音集合对应的标签;
根据所述各个说话人语音集合对应的标签将所述第一对话语音数据分为所述客户语音数据和所述客服语音数据。
可选的,所述情感识别模型包括卷积层、循环层和转录层;
所述客户情绪获取模块36,具体用于:
对所述语音特征信息和所述情绪文本信息进行融合得到融合信息,将所述融合信息输入所述情感识别模型;
通过卷积层对所述融合信息进行特征提取,得到所述语音数据的情绪特征;
通过所述循环层对所述情绪特征进行预测,得到所述语音数据的预测序列;
通过所述转录层将所述预测序列转换为所述语音数据的情绪标签。
可选的,所述提取模块35,具体用于:
将所述语音数据对应的文本信息拆分为至少一个词语;
计算所述至少一个词语中目标词语分别与预设情绪文本集合中每个情绪词的相关程度,得到所述目标词语与所述每个情绪词的多个相关程度值;
将所述多个相关程度值中的最大值确定为所述目标词语的情绪分值,从而得到所述文本信息中每个词语的情绪分值;
将情绪分值大于预设阈值的词语确定为所述语音数据的情绪文本信息。
可以理解的,该带情感的智能语音外呼装置3用于实现图1和图2实施例中带情感的智能语音外呼装置所执行的步骤。关于图3的带情感的智能语音外呼装置3包括的功能块的具体实现方式及相应的有益效果,可参考前述图1和图2的实施例的具体介绍,这里不赘述。
上述图3所示实施例中的带情感的智能语音外呼装置3可以以图4所示的服务器400来实现。请参见图4,为本申请实施例提供了一种服务器的结构示意图。如图4所示,上述服务器400可以包括:一个或多个处理器401、存储器402和收发器403。上述处理器401、存储器402和收发器403通过总线404连接。其中,上述收发器403用于接收或者发送数据,上述存储器402用于存储计算机程序,该计算机程序包括程序指令;处理器401用于执行存储器402存储的程序指令,执行如下操作:
获取第一流程节点对应的客服语料和客户语料,将所述客服语料转化为第一客服语音数据并发送至目标客户;
接收所述目标客户的语音数据,将所述语音数据对应的目标客户文本与所述客户语料进行匹配得到匹配结果;
根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,所述多条流程基线是基于历史对话语音记录确定的,所述流程基线包括多个流程节点以及每个流程节点在所述流程基线中的流程顺序值;
根据所述第一流程节点在所述目标流程基线中的流程顺序值,确定所述第一流程节点对应的下一个流程节点,获取所述下一个流程节点对应的客服语料;
提取所述语音数据的语音特征信息和情绪文本信息;
将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,所述情感识别模型是基于样本语音集合中每个语音数据的情绪标签训练得到;
从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组,所述情感对照矩阵包括至少一组客服客户情绪对照组以及每组客服客户情绪对照组对应的外呼成功概率,所述客服客户情绪对照组对应的外呼成功概率由所述历史对话语音记录中包含所述客服客户情绪对照组的客服情绪标签、客户情绪标签并且外呼成功的对话语音记录确定,其中,所述历史对话语音记录包括每个对话语音记录的客服情绪标签、客户情绪标签以及外呼结果;
将外呼成功概率最高的客服客户情绪对照组中的客服情绪标签确定为目标情绪标签;
根据所述目标情绪标签以及所述下一个流程节点对应的客服语料生成所述第二客服语音数据,并将所述第二客服语音数据回复至所述目标客户。
可选的,上述处理器401获取第一流程节点对应的客服语料和客户语料之前,还具体执行以下操作:
将所述历史对话语音记录中的每个对话语音记录转化为多个文本,所述多个文本中的每个文本携带对话顺序值,所述多个文本包括第一文本;
计算所述第一文本的关键词分别与各个流程类别各自的流程标签之间的匹配度,得到所述第一文本与所述各个流程类别之间的多个类别匹配度值;
将所述多个类别匹配度值中最大值对应的流程类别确定为所述第一文本的流程类别;
根据所述每个文本携带的对话顺序值以及所述每个文本的流程类别,得到每个对话语音记录的对话链路,进而得到所述历史对话语音记录的对话链路集合,所述对话链路包括多个流程节点,所述流程节点与所述流程类别一一对应;
将所述对话链路集合中出现次数大于预设出现次数阈值的对话链路确定为所述流程基线。
可选的,上述处理器401根据所述匹配结果,确定所述第一流程节点在多条流程基线中对应的目标流程基线,具体执行以下操作:
在所述多条流程基线中获取包含所述第一流程节点的至少一条可选流程基线,每条可选流程基线中的所述第一流程节点均携带所述目标客户文本与所述客户语料的预设匹配结果;
将所述至少一条可选流程基线中各自第一流程节点携带的预设匹配结果中与所述匹配结果一致的可选流程基线确定为所述目标流程基线。
可选的,上述处理器401从情感对照矩阵中获取包含所述情绪标签的多组客服客户情绪对照组之前,具体执行以下操作:
将所述每个对话语音数据分为客户语音数据和客服语音数据;
将所述客户语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客户情绪标签;
将所述客服语音数据的语音特征信息和情绪文本信息输入所述情感识别模型,得到所述每个对话语音记录的客服情绪标签;
根据所述每个对话语音记录的客户情绪标签、客服情绪标签以及外呼结果,计算得到所述情感对照矩阵。
可选的,所述历史对话语音记录包括第一对话语音记录;
上述处理器401将所述每个对话语音数据分为客户语音数据和客服语音数据,具体执行以下操作:
根据所述第一对话语音数据得到多个语音片段,提取所述多个语音片段中每个语音片段的mfcc特征;
将所述mfcc特征输入身份矢量模型得到所述每个语音片段的身份矢量特征;
计算所述第一对话语音数据中两两身份矢量特征之间的相似度;
根据所述相似度,对所述第一对话语音数据中各个语音片段进行聚类,得到第一说话人语音集合和第二说话人语音集合;
计算各个说话人语音集合对应的关键词分别与客服标签、客户标签之间的匹配度,将匹配度最高的标签确定为所述各个说话人语音集合对应的标签;
根据所述各个说话人语音集合对应的标签将所述第一对话语音数据分为所述客户语音数据和所述客服语音数据。
可选的,所述情感识别模型包括卷积层、循环层和转录层;
上述处理器401将所述语音特征信息和所述情绪文本信息输入情感识别模型,得到所述语音数据的情绪标签,具体执行以下操作:
对所述语音特征信息和所述情绪文本信息进行融合得到融合信息,将所述融合信息输入所述情感识别模型;
通过卷积层对所述融合信息进行特征提取,得到所述语音数据的情绪特征;
通过所述循环层对所述情绪特征进行预测,得到所述语音数据的预测序列;
通过所述转录层将所述预测序列转换为所述语音数据的情绪标签。
可选的,上述处理器401提取所述语音数据的情绪文本信息,具体执行以下操作:
将所述语音数据对应的文本信息拆分为至少一个词语;
计算所述至少一个词语中目标词语分别与预设情绪文本集合中每个情绪词的相关程度,得到所述目标词语与所述每个情绪词的多个相关程度值;
将所述多个相关程度值中的最大值确定为所述目标词语的情绪分值,从而得到所述文本信息中每个词语的情绪分值;
将情绪分值大于预设阈值的词语确定为所述语音数据的情绪文本信息。
在本申请实施例中还提供了一种计算机存储介质,可以用于存储图3所示实施例中上述带情感的智能语音外呼装置所用的计算机软件指令,其包含用于执行上述实施例中为带情感的智能语音外呼装置所设计的程序。该存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
在本申请实施例中还提供了一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图3所示实施例中为所设计的带情感的智能语音外呼装置。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中,“a和/或b”是指下述情况之一:a,b,a和b。“……中至少一个”是指所列出的各项或者任意数量的所列出的各项的任意组合方式,例如,“a、b和c中至少一个”是指下述情况之一:a,b,c,a和b,b和c,a和c,a、b和c这七种情况中的任一种。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除