掌桥专利:专业的专利平台
掌桥专利
首页

应用于实时会话的语音响应方法、装置、介质及电子设备

文献发布时间:2024-04-18 20:01:30


应用于实时会话的语音响应方法、装置、介质及电子设备

技术领域

本申请涉及计算机技术领域,具体而言,涉及一种应用于实时会话的语音响应方法、应用于实时会话的语音响应装置、计算机可读存储介质及电子设备。

背景技术

智能语音客服,是一种利用人工智能技术和语音识别技术来实现客户服务的方式,可以通过自动化处理来响应客户的查询、问题或需求,而无需人工干预。

智能语音客服,具体可以实现为一种语音对话系统。接收到用户语音(如,我还有多少话费)之后,语音对话系统可以识别用户语音的语义,并生成相应的回复语音(如,还有10元话费)并播放该回复语音。但是,与不同的用户进行人机对话的过程中,对话速度会有所不同。简单来说,有一些用户说话速度比较慢,而有一些用户说话速度比较快。而相关技术的智能语音客服中没有设置应对这种情况的方案。

因此,现有的语音对话系统容易将不完整的用户语音判定为完整的用户语音,进而,对不完整的用户语音进行语义识别并输出相应的回复语音。输出回复语音时可能会恰逢用户说话的时候,即,存在抢话问题。同时,对不完整的用户语音进行语义识别也会导致所生成的回复语音与用户意图不匹配,导致答非所问的情况。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有方案的信息。

发明内容

本申请的目的在于提供一种应用于实时会话的语音响应方法、应用于实时会话的语音响应装置、计算机可读存储介质及电子设备,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

根据本申请的一方面,提供一种应用于实时会话的语音响应方法,该方法包括:

获取话语权预测模型;

基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果;

若预测结果表征当前话语权属于系统端,则通过系统语音响应第一用户语音;

若预测结果表征当前话语权属于用户端,则继续采集会话过程中的第二用户语音。

在本申请的一种示例性实施例中,还包括:

获取样本语音数据;

基于音频分段参数截取样本语音数据中的语音片段;

通过特征提取模型提取语音片段的特征集合;

根据特征集合训练得到话语权预测模型。

在本申请的一种示例性实施例中,根据特征集合训练得到话语权预测模型,包括:

根据特征集合迭代训练神经网络模型,从训练过程中得到多个待选模型;

基于样本语音数据对应的标注结果,统计多个待选模型分别对应的模型准确率,并以交叉验证法对多个待选模型进行稳定性验证,得到多个待选模型分别对应的模型稳定性;

基于模型准确率和模型稳定性,从多个待选模型中选取话语权预测模型。

在本申请的一种示例性实施例中,特征提取模型包括以下至少一种:意图分类模型、语音识别模型、噪音检测模型。

在本申请的一种示例性实施例中,通过特征提取模型提取语音片段的特征集合,包括:

通过意图分类模型提取语音片段中的意图类别特征;

通过语音识别模型提取语音片段中的贝叶斯置信度特征和转写文本特征;

通过噪音检测模型提取语音片段中的噪音置信度特征和语音置信度特征;

获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。

在本申请的一种示例性实施例中,获取话语权预测模型,包括:

调用创建函数以创建模型句柄;

调用模型加载函数,以基于模型句柄载入话语权预测模型。

在本申请的一种示例性实施例中,基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

调用数据标准化函数将会话过程中的第一用户语音处理为待输入数据;

将话语权预测模型应用于预测函数;

将待输入数据输入预测函数进行话语权预测,以使得预测函数输出预测结果。

在本申请的一种示例性实施例中,基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

检测第一用户语音对应的会话领域;

若不存在与会话领域对应的话语权判定规则,则基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。

在本申请的一种示例性实施例中,还包括:

若存在与会话领域对应的话语权判定规则,则基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。

在本申请的一种示例性实施例中,通过系统语音响应第一用户语音,包括:

从包含知识库和知识图谱的文本数据库中,确定对应于第一用户语音的插话文本;

通过语音合成器播放与插话文本对应的系统语音。

根据本申请的一方面,提供一种应用于实时会话的语音响应装置,包括:

模型获取单元,用于获取话语权预测模型;

话语权预测单元,用于基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果;

系统话语权处理单元,用于若预测结果表征当前话语权属于系统端,则通过系统语音响应第一用户语音;

用户话语权处理单元,用于若预测结果表征当前话语权属于用户端,则继续采集会话过程中的第二用户语音。

在本申请的一种示例性实施例中,还包括:

模型训练单元,用于获取样本语音数据;基于音频分段参数截取样本语音数据中的语音片段;通过特征提取模型提取语音片段的特征集合;根据特征集合训练得到话语权预测模型。

在本申请的一种示例性实施例中,模型训练单元根据特征集合训练得到话语权预测模型,包括:

根据特征集合迭代训练神经网络模型,从训练过程中得到多个待选模型;

基于样本语音数据对应的标注结果,统计多个待选模型分别对应的模型准确率,并以交叉验证法对多个待选模型进行稳定性验证,得到多个待选模型分别对应的模型稳定性;

基于模型准确率和模型稳定性,从多个待选模型中选取话语权预测模型。

在本申请的一种示例性实施例中,特征提取模型包括以下至少一种:意图分类模型、语音识别模型、噪音检测模型。

在本申请的一种示例性实施例中,模型训练单元通过特征提取模型提取语音片段的特征集合,包括:

通过意图分类模型提取语音片段中的意图类别特征;

通过语音识别模型提取语音片段中的贝叶斯置信度特征和转写文本特征;

通过噪音检测模型提取语音片段中的噪音置信度特征和语音置信度特征;

获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。

在本申请的一种示例性实施例中,模型获取单元获取话语权预测模型,包括:

调用创建函数以创建模型句柄;

调用模型加载函数,以基于模型句柄载入话语权预测模型。

在本申请的一种示例性实施例中,话语权预测单元基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

调用数据标准化函数将会话过程中的第一用户语音处理为待输入数据;

将话语权预测模型应用于预测函数;

将待输入数据输入预测函数进行话语权预测,以使得预测函数输出预测结果。

在本申请的一种示例性实施例中,话语权预测单元基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

检测第一用户语音对应的会话领域;

若不存在与会话领域对应的话语权判定规则,则基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。

在本申请的一种示例性实施例中,其中:

话语权预测单元,还用于若存在与会话领域对应的话语权判定规则,则基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。

在本申请的一种示例性实施例中,系统话语权处理单元通过系统语音响应第一用户语音,包括:

从包含知识库和知识图谱的文本数据库中,确定对应于第一用户语音的插话文本;

通过语音合成器播放与插话文本对应的系统语音。

根据本申请的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的方法。

根据本申请的一方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的方法。

本申请示例性实施例可以具有以下部分或全部有益效果:

在本申请的一示例实施方式所提供的应用于实时会话的语音响应方法中,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。此外,基于对话语权的预测,以及预测结果对于对话系统的指导,不仅可以避免会话过程中出现抢话的问题,还可以在判定为系统端话语权时及时输出系统语音,以提升对于用户语音的回复效率,进而,可以提升会话过程的流畅度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出了根据本申请的一个实施例的应用于实时会话的语音响应方法的流程图;

图2示意性示出了根据本申请的一个实施例的函数调用示意图;

图3示意性示出了根据本申请的另一个实施例的应用于实时会话的语音响应方法的流程图;

图4示意性示出了根据本申请的一个实施例的话语权预测模型获取过程示意图;

图5示意性示出了根据本申请的另一个实施例的话语权预测模型获取过程示意图;

图6示意性示出了根据本申请的又一个实施例的应用于实时会话的语音响应方法的流程图;

图7示意性示出了根据本申请的一个实施例的用于实现应用于实时会话的语音响应方法的架构图;

图8示意性示出了根据本申请的一个实施例中的应用于实时会话的语音响应装置的结构框图;

图9示意性示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本申请的各方面变得模糊。

此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

请参阅图1,图1示意性示出了根据本申请的一个实施例的应用于实时会话的语音响应方法的流程图。如图1所示,该应用于实时会话的语音响应方法可以包括:步骤S110~步骤S140。

步骤S110:获取话语权预测模型。

步骤S120:基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。若预测结果表征当前话语权属于系统端,则执行步骤S130;若预测结果表征当前话语权属于用户端,则执行步骤S140。

步骤S130:通过系统语音响应第一用户语音。

步骤S140:继续采集会话过程中的第二用户语音。

实施图1所示的方法,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。此外,基于对话语权的预测,以及预测结果对于对话系统的指导,不仅可以避免会话过程中出现抢话的问题,还可以在判定为系统端话语权时及时输出系统语音,以提升对于用户语音的回复效率,进而,可以提升会话过程的流畅度。

下面,对于本示例实施方式的上述步骤进行更加详细的说明。

智能语音客服,可以替代传统人工客服应用于大量话单、外呼等交互场景中,在这些场景中,智能语音客服的核心功能在于人机对话功能。一般来说,人机对话功能的实现一般需要应用语义识别模型、语音合成模型等模型。

但是,系统端的人机对话功能生成的系统语音通常依据的是单次接收到的用户语音,如果用户频繁打断系统语音,或者用户说话速度慢且存在语言间断行为,那么,系统端对用户语音的完整性就容易出现误判。进而,会造成系统语音打断了用户语音或者对话延迟等相关情况。

通俗来说,在用户语音中,为了避免用户没有说完话就将有效部分送入语音识别模块(ASR),相关技术在用户语音的开头和结尾设置了静默时长,如果在结尾的静默时长没有检测到用户说话,则认为用户说完了,进而将有效的语音部分送入ASR。

但是,静默时长通常是用户没有说话也没有播放系统语音的阶段,这容易给用户造成一种人机对话的体验,降低了智能客服的拟真效果。并且,有一些用户说话速度慢、停顿时间长,在静默时长内没说话,但是静默时长之后继续说话,这容易让系统端在用户说完前半句话时就误以为用户说完了,就依据前半句话生成并输出了系统语音,然而在输出系统语音的同时,用户继续说了后半句话,这容易给用户造成一种说话被打断的体验。

总体来说,上述两个问题都可以归结为,人机对话流畅度不高的问题。基于此,本申请公开了包含步骤S110~步骤S140的技术方案,以解决上述问题。

在步骤S110中,获取话语权预测模型。

具体地,话语权预测模型也可以称之为小轮对话模型。在智能客服场景下,话语权预测模型用于根据接收到的用户语音判别当前话语权属于系统端还是用户端;其中,话语权,指的是输出语音的权利,若话语权属于系统端,则表示此时轮到系统端输出语音,若话语权属于用户端,则表示此时轮到用户端输出语音。其中,话语权预测模型的架构可以根据实际需求进行任意配置,本申请实施例不作限定。

作为一种可选的实施例,获取话语权预测模型,包括:调用创建函数以创建模型句柄;调用模型加载函数,以基于模型句柄载入话语权预测模型。这样可以基于模型加载函数和模型句柄实现对于话语权预测模型的及时载入,从而有利于实现对于会话过程流畅性的提升。

具体地,可以调用创建函数(XGBoosterCreate())以创建作为模型引用路径的模型句柄(BoosterHandle),进而调用模型加载函数(XGBoosterLoadModel()),以基于模型句柄将基于模型存储函数(XGBoosterSaveModel())存储的话语权预测模型(XGBModel)进行载入。

在步骤S120中,基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。

其中,第一用户语音指的是依据开头静默时间和结尾静默时间采集到的一段用户语音,第一用户语音可以是完整的一句话也可以是半句话。如果预测结果表征当前话语权属于系统端,则表示第一用户语音是完整的一句话,接下来应该输出系统语音;如果预测结果表征当前话语权属于用户端,则表示第一用户语音不是完整的一句话,接下来应该等待用户继续说话。

具体地,可以基于音频分段参数截取第一用户语音中的目标语音片段集合;进而,通过意图分类模型提取各目标语音片段中的意图类别特征;通过语音识别模型提取各目标语音片段中的贝叶斯置信度特征和转写文本特征;通过噪音检测模型提取各目标语音片段中的噪音置信度特征和语音置信度特征;获取各目标语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合,进而得到各目标语音片段分别对应的特征集合;进而,还可以触发话语权预测模型基于各目标语音片段分别对应的特征集合生成预测结果。

此外,可选的,在基于话语权预测模型对会话过程中的第一用户语音进行话语权预测之前,还可以对第一用户语音进行语音预处理,语音预处理可以包括但不限于:数据标准化、数据自动补全等处理操作。

作为一种可选的实施例,基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:调用数据标准化函数将会话过程中的第一用户语音处理为待输入数据;将话语权预测模型应用于预测函数;将待输入数据输入预测函数进行话语权预测,以使得预测函数输出预测结果。这样可以基于对第一用户语音的处理以及对于预测函数的调用提升话语权预测效率。

具体地,在一种可选的表示方式中,预测结果可以表示为0(系统端话语权)或1(用户端话语权),可选的,预测结果也可以表示为是或否,可选的,预测结果也可以表示为更多样化的标签,如,0(系统端话语权)、1(用户端话语权)、0.5(两端均无话语权),本申请实施例不作限定。

其中,可以调用数据标准化函数(XGDMatrixCreateFromMat())将会话过程中的第一用户语音处理为适用于话语权预测模型的数据格式,即得到待输入数据,待输入数据和第一用户语音记载的内容一致但格式不同。进而,话语权预测模型具体可以表示为公式,将话语权预测模型应用于预测函数(XGBoostPredict),即为将表示话语权预测模型的公式代入预测函数,以使得预测函数预测第一用户语音对应的话语权。

请参阅图2,图2示意性示出了根据本申请的一个实施例的函数调用示意图。如图2所示,本申请可以调用创建函数(XGBoosterCreate())210以创建作为模型引用路径的模型句柄(BoosterHandle)220,进而调用模型加载函数(XGBoosterLoadModel())230,以基于模型句柄(BoosterHandle)220将基于模型存储函数(XGBoosterSaveModel())存储的话语权预测模型(XGBModel)240进行载入。进而,可以调用数据标准化函数(XGDMatrixCreateFromMat())250使其依据数据标准化模型(DMatrixHandle)将会话过程中的第一用户语音处理为适用于话语权预测模型(XGBModel)240的数据格式,即得到待输入数据。进而,还可以将话语权预测模型(XGBModel)240应用于预测函数(XGBoostPredict)260,以使得预测函数(XGBoostPredict)260预测第一用户语音对应的话语权,得到预测结果,预测结果可以等于0或1,0表示当前话语权属于系统端,1表示当前话语权属于用户端。

在步骤S130中,若预测结果表征当前话语权属于系统端,则通过系统语音响应第一用户语音。

具体地,若预测结果为0,则判定当前话语权属于系统端,此时通过系统语音响应第一用户语音是为了实现插话功能;其中,插话功能指的是,在用户说完话后,系统端立刻接过话语权,并根据第一用户语音(或者第一用户语音和前文用户语音),生成一段系统语音,并在用户说完的间隙立刻播放系统语音,以保证对话的连贯性,使得语音交互体验更贴近真人对话,提升语音交互的拟真度。

作为一种可选的实施例,通过系统语音响应第一用户语音,包括:从包含知识库和知识图谱的文本数据库中,确定对应于第一用户语音的插话文本;通过语音合成器(TTS)播放与插话文本对应的系统语音。这样可以保证对话的连贯性,使得语音交互体验更贴近真人对话,提升语音交互的拟真度。

具体地,知识图谱用于记载与用户语音对应的系统关键词,知识库用于记载用于回复用户的系统语音文本,文本数据库用于存储文本数据。

其中,从包含知识库和知识图谱的文本数据库中,确定对应于第一用户语音(如,嗯,是的,我这边时间可以)的插话文本(如,好嘞)的方式可以为:判断是否存在与第一用户语音相关的上下文语音,如果是,则将第一用户语音与上下文语音进行融合,得到目标语音。进而,可以将目标语音转换为目标文本,并对目标文本进行语义识别,得到用于表征语义的关键词以及其他相关信息。进而可以根据关键词以及其他相关信息从包含知识库和知识图谱的文本数据库中选取插话文本,其中,插话文本命中关键词以及其他相关信息;或者,根据关键词以及其他相关信息从包含知识库和知识图谱的文本数据库中选取待选文本,进而将待选文本进行融合以得到插话文本,其中,待选文本命中关键词以及其他相关信息。其中,通过语音合成器(TTS)播放与插话文本对应的系统语音,包括:通过语音合成器(TTS)基于插话文本生成为系统语音,播放该系统语音。

在步骤S140中,若预测结果表征当前话语权属于用户端,则继续采集会话过程中的第二用户语音。

具体地,若预测结果为1,则判定当前话语权属于用户端,此时继续采集会话过程中的第二用户语音(如,我忘记了临时有事,想要修改时间)是为了实现防抢话功能;其中,防抢话功能指的是,在用户说完话后,继续补充或者修改主意,此时,系统端可以等待用户说完话,再根据用户之前说过的内容结合其补充的内容进行回复,避免出现抢话的情况,以提升语音交互的拟真度。可选的,若预测结果表征当前话语权属于用户端,也可以在指定系统语音(如,好嘞)播放完毕后继续采集会话过程中的第二用户语音。

进而,可选的,在采集到第二用户语音之后,还可以基于话语权预测模型对会话过程中的第二用户语音进行话语权预测,得到预测结果;若预测结果表征当前话语权属于系统端,则通过系统语音响应第二用户语音;若预测结果表征当前话语权属于用户端,继续采集会话过程中的第三用户语音。

此外,对第二用户语音进行话语权预测的话语权预测模型,与对第一用户语音进行话语权预测的话语权预测模型,可以是同一话语权预测模型,也可以是不同话语权预测模型,若需要采用不同话语权预测模型实现对于不同用户语音的话语权预测,则可以在基于话语权预测模型对会话过程中的第二用户语音进行话语权预测,得到预测结果之前,先基于第二用户语音的特征获取话语权预测模型,此处获取到的话语权预测模型是与第二用户语音相对应的。

请参阅图3,图3示意性示出了根据本申请的一个实施例的应用于实时会话的语音响应方法的流程图。如图3所示,该应用于实时会话的语音响应方法可以包括:步骤S310~步骤S380。

步骤S310:获取样本语音数据。

步骤S320:基于音频分段参数截取样本语音数据中的语音片段。

步骤S330:通过特征提取模型提取语音片段的特征集合。

步骤S340:根据特征集合训练得到话语权预测模型。

步骤S350:获取话语权预测模型。

步骤S360:基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。若预测结果表征当前话语权属于系统端,则执行步骤S370;若预测结果表征当前话语权属于用户端,则执行步骤S380。

步骤S370:通过系统语音响应第一用户语音。

步骤S380:继续采集会话过程中的第二用户语音。

其中,关于步骤S350~步骤S380的具体实施方式,已在图1实施例中进行描述,此处不再赘述。

实施图3所示的方法,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。此外,基于对话语权的预测,以及预测结果对于对话系统的指导,不仅可以避免会话过程中出现抢话的问题,还可以在判定为系统端话语权时及时输出系统语音,以提升对于用户语音的回复效率,进而,可以提升会话过程的流畅度。此外,由于可以基于步骤S310~步骤S340训练得到话语权预测模型,因此还可以实现基于语音分段的特征提取以及基于特征集合的模型训练,这样可以提升话语权预测模型的精度,以保证高流畅度的会话过程。

在步骤S310中,获取样本语音数据。

具体地,样本语音数据,指的是已标注的用户语音,对于样本语音数据的标注结果可以表示为标签,如,0(表示该样本语音数据对应的当前话语权为系统话语权)、1(表示该样本语音数据对应的当前话语权为用户话语权)。该用户语音来自于历史会话,历史会话中可以包含多条用户语音也可以包含多条系统语音。

举例来说,历史会话可以包含3条用户语音,即[用户语音1、用户语音2、用户语音3],以及,4条系统语音,即[系统语音1、系统语音2、系统语音3、系统语音4],具体地,上述语音数据的存储顺序依次为:用户语音1“我的话费还有多少”、系统语音1“还有10元”、用户语音2“好的知道了”、系统语音2“请问还有什么可以帮到您的”、用户语音3“没有了”、系统语音4“好的祝您生活愉快”。

进而,通过对历史会话中每条用户语音进行标注,可以得到多条样本语音数据,可选的,也可以对多个历史会话中的用户语音进行标注,已获得更数量更多的样本语音数据。在本申请中,对于模型训练时应用的样本语音数据数量不作限定。

此外,获取样本语音数据的方式可以为:获取已标注数据集,对已标注数据集进行数据预处理,以得到多个样本语音数据;其中,数据预处理的方式包括任一种或多种:数据清洗、数据转换、特征选择、特征编码等;其中,数据清洗用于处理缺失值、异常值和错误数据,以确保数据的准确性和一致性;数据转换用于对数据进行转换,例如对数变换、标准化、归一化,以便于模型更好地处理数据;特征选择用于选择最相关的特征,去除不重要或冗余的特征,以减少维度和噪音影响;特征编码用于将分类变量转换为数字形式。

在步骤S320中,基于音频分段参数截取样本语音数据中的语音片段。

具体地,可以基于音频分段参数(Inter Partial Unit,IPU)截取样本语音数据中的语音片段,其中,语音片段的数量可以为一个或多个,本申请实施例不作限定。也可以理解为,从样本语音数据(如,我的话费还有多少)中截取出多个对应于不同时段的语音片段(如,我的、话费、还有、多少);其中,IPU可以根据实际需求进行配置,IPU可以表示为数值(如,200ms),该数值在至少与音频采样率相关。

在步骤S330中,通过特征提取模型提取语音片段的特征集合。

具体地,一个语音片段可以对应于多维特征,多为特征构成了特征集合。

作为一种可选的实施例,特征提取模型包括以下至少一种:意图分类模型、语音识别模型、噪音检测模型。这样可以丰富特征维度,有利于提升后续基于多维的特征训练的得到的话语权预测模型的精度。

其中,针对意图分类模型、语音识别模型、噪音检测模型的具体模型架构,可以根据实际需求进行配置、选择,本申请实施例不作限定。

作为一种可选的实施例,通过特征提取模型提取语音片段的特征集合,包括:通过意图分类模型提取语音片段中的意图类别特征;通过语音识别模型提取语音片段中的贝叶斯置信度特征和转写文本特征;通过噪音检测模型提取语音片段中的噪音置信度特征和语音置信度特征;获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。这样可以获取到用于描述语音片段的意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量,基于多维度的特征有利于提升模型训练效果。

具体地,意图类别特征用于指示语音片段表征的用户意图(如,查询话费;贝叶斯置信度特征用于指示语音片段的条件概率或边缘概率;转写文本特征用于指示转写文本的数据化表征;噪音置信度特征用于指示噪音置信度;语音置信度特征用于指示语音置信度。

在步骤S340中,根据特征集合训练得到话语权预测模型。

具体地,可以将特征集合输入指定的神经网络模型,以使得神经网络模型迭代出多个待选模型,以便从多个待选模型中选取话语权预测模型。其中,神经网络模型迭代出多个待选模型的方式可以为:基于模型存储函数(XGBoostSaveModel)将神经网络模型迭代出多个待选模型,并存储多个待选模型。其中,调用模型存储函数(XGBoostSaveModel)还可以存储选取出的话语权预测模型。

其中,可选的,神经网络模型可以为基于梯度下降算法实现的XGBoost(ExtremeGradient Boosting)模型,XGBoost可以用于解决各种监督学习问题,如分类、回归、排名等。XGBoost属于一种集成学习算法,通过将多个弱学习器组合在一起来提高整体性能,弱学习器可以实现为决策树。与传统的梯度提升决策树(GBDT)不同,XGBoost为损失函数增加了正则化项,并且,由于有些损失函数是难以计算导数的,因此,XGBoost使用了损失函数的二阶泰勒展开作为损失函数的拟合,这使得XGBoost在处理大规模数据集和复杂模型时更高效,同时也可以防止过拟合并提高泛化能力。

需要说明的是,本申请可以多次执行步骤S310~步骤S340,以得到多个特征集合,进而实现多轮对于话语权预测模型的训练。

作为一种可选的实施例,根据特征集合训练得到话语权预测模型,包括:根据特征集合迭代训练神经网络模型,从训练过程中得到多个待选模型;基于样本语音数据对应的标注结果,统计多个待选模型分别对应的模型准确率,并以交叉验证法对多个待选模型进行稳定性验证,得到多个待选模型分别对应的模型稳定性;基于模型准确率和模型稳定性,从多个待选模型中选取话语权预测模型。这样可以选取出准确率、稳定性更高的模型作为话语权预测模型,有利于提升会话过程中的对话流畅性,并且,基于模型稳定性验证后得到的话语权预测模型应用于会话过程之后,可以提升会话过程的鲁棒性。

具体地,可以在预设参数的数值范围内,根据特征集合迭代训练神经网络模型;其中,预设参数可以包括XGBoostmax_depth、num_round、min_child_weight,可选的,XGBoostmax_depth的数值范围可以为(5~24),num_round的数值范围可以为(5~24),min_child_weight的数值范围可以为(1~2)。

其中,XGBoostmax_depth,用于控制实现为决策树的神经网络模型在训练过程中可以达到的最大层次数,通过配置XGBoostmax_depth可以避免决策树深度过大导致的过拟合问题。num_round,用于指定训练期间确定要生成的决策树的数量(如,100),在每个提升回合中,XGBoost会生成更多的决策树来提高前一个决策树的总体得分,这个过程一直持续到满足num_round限定的数量为止。min_child_weight,用于控制决策树的叶节点上的最小样本数,通过配置min_child_weight可以避免单个样本作为一个叶节点的情况,从而避免过拟合。

进而,可以基于样本语音数据对应的标注结果,统计多个待选模型分别对应的模型准确率;其中,统计方式在于,计算标注结果和待选模型输出的结果之间的损失函数,根据损失函数所属的范围来确定模型准确率,模型准确率可以通过任一数学表示方式进行表示,本申请实施例不作限定。

此外,交叉验证法是一种评估模型性能的方法,具体可以将验证数据分为若干份,每次用其中一份作为验证集,其他作为训练集,多次进行验证来获得稳定的评估结果。模型稳定性,指的是模型在不同数据集上的预测结果的一致性,稳定性较高意味着模型对不同数据的变化具有一定的鲁棒性,模型稳定性可以通过任一数学表示方式进行表示,本申请实施例不作限定。

进而,可以选取模型准确率和模型稳定性的加权和最高的待选模型作为话语权预测模型。其中,可选的,还可以将模型训练过程中产生的特征重要性进行存储,特征重要性用于评价每个特征对于模型性能的贡献程度,存储特征重要性有助于进行特征选择、特征工程。

请参阅图4,图4示意性示出了根据本申请的一个实施例的话语权预测模型获取过程示意图。如图4所示,可以获取经过标注且与处理过的数据集410,数据集410中可以包含任意数量的样本语音数据,进而,可以基于特征提取模块420对样本语音数据进行特征提取,以得到多维特征,将多维特征输入模型训练模块430可以训练得到话语权预测模型。

在图4的基础上,请参阅图5,图5示意性示出了根据本申请的另一个实施例的话语权预测模型获取过程示意图。如图5所示,本申请还可以基于音频分段参数截取样本语音数据中的语音片段[IPU 1、…、IPU N];其中,N为正整数。进而,基于特征提取模块510中的意图分类模型511提取语音片段中的意图类别特征,基于特征提取模块510中的语音识别模型512提取语音片段中的噪音置信度特征和语音置信度特征,基于特征提取模块510中的噪音检测模型513提取语音片段中的噪音置信度特征和语音置信度特征,以及,获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。进而,可以将特征集合输入模型训练模块520,以训练得到话语权预测模型。

请参阅图6,图6示意性示出了根据本申请的一个实施例的应用于实时会话的语音响应方法的流程图。如图6所示,该应用于实时会话的语音响应方法可以包括:步骤S610~步骤S680。

步骤S610:获取样本语音数据。

步骤S620:基于音频分段参数截取样本语音数据中的语音片段。

步骤S630:通过特征提取模型提取语音片段的特征集合。

步骤S640:根据特征集合训练得到话语权预测模型。

步骤S650:检测第一用户语音对应的会话领域。若不存在与会话领域对应的话语权判定规则,则执行步骤S660;若存在与会话领域对应的话语权判定规则,则执行步骤S670。

步骤S660:获取话语权预测模型,基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。若预测结果表征当前话语权属于系统端,则执行步骤S680;若预测结果表征当前话语权属于用户端,则执行步骤S690。

步骤S670:基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。若预测结果表征当前话语权属于系统端,则执行步骤S680;若预测结果表征当前话语权属于用户端,则执行步骤S690。

步骤S680:通过系统语音响应第一用户语音。

步骤S690:继续采集会话过程中的第二用户语音。

其中,步骤S610~步骤S640、步骤S660、步骤S680~步骤S690的具体实施方式,已在图1和图3的实施例中进行描述,此处不再赘述。

实施图6所示的方法,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。此外,基于对话语权的预测,以及预测结果对于对话系统的指导,不仅可以避免会话过程中出现抢话的问题,还可以在判定为系统端话语权时及时输出系统语音,以提升对于用户语音的回复效率,进而,可以提升会话过程的流畅度。此外,由于可以基于步骤S650~步骤S670进行会话领域的判定,因此还可以在不存在与会话领域对应的话语权判定规则时,触发基于话语权预测模型的话语权预测,可以实现话语权预测方案对于各类会话领域的覆盖,以及可以当存在与话语权判定规则时,直接基于话语权判定规则进行话语权预测,从而提升话语权预测效率。

在步骤S650中,检测第一用户语音对应的会话领域。若不存在与会话领域对应的话语权判定规则,则执行步骤S660;若存在与会话领域对应的话语权判定规则,则执行步骤S670。

具体地,会话领域用于表征第一用户语音对应的主旨(如,查询话费)。其中,检测第一用户语音对应的会话领域的方式可以为:确定第一用户语音的语音片段的特征集合,基于特征集合确定会话领域。

在步骤S670中,基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。

具体地,话语权判定规则用于直接根据第一用户语音的内容命中的规则确定其对应的话语权。

请参阅图7,图7示意性示出了根据本申请的一个实施例的用于实现应用于实时会话的语音响应方法的架构图。如图7所示,接收到第一用户语音之后,可以基于音频分段参数截取第一用户语音中的语音片段,并通过特征提取模块710中的可以意图分类模型711提取语音片段中的意图类别特征,基于特征提取模块710中的语音识别模型712提取语音片段中的噪音置信度特征和语音置信度特征,基于特征提取模块710中的噪音检测模型713提取语音片段中的噪音置信度特征和语音置信度特征,以及,获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。

进而,规则模式判定模块720可以基于特征集合确定第一用户语音的会话领域。若不存在与会话领域对应的话语权判定规则,则触发模型预测模块730基于特征集合对第一用户语音进行话语权预测,得到预测结果;若存在与会话领域对应的话语权判定规则,则触发规则预测模块740基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。进而,若预测结果表征当前话语权属于系统端,则触发插话功能750启动,以实现通过系统语音响应第一用户语音的目的;若预测结果表征当前话语权属于用户端,则触发防抢话功能760启动,以实现继续采集会话过程中的第二用户语音的目的。

请参阅图8,图8示意性示出了根据本申请的一个实施例中的应用于实时会话的语音响应装置的结构框图。应用于实时会话的语音响应装置800与图1所示的方法相对应,如图8所示,该应用于实时会话的语音响应装置800包括:

模型获取单元801,用于获取话语权预测模型;

话语权预测单元802,用于基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果;

系统话语权处理单元803,用于若预测结果表征当前话语权属于系统端,则通过系统语音响应第一用户语音;

用户话语权处理单元804,用于若预测结果表征当前话语权属于用户端,则继续采集会话过程中的第二用户语音。

可见,实施图8所示的装置,可以获取一种用于进行话语权预测的话语权预测模型,对会话过程中的第一用户语音进行话语权预测,若预测结果表征当前话语权属于系统端,则基于相应的系统语音来响应第一用户语音,若预测结果表征当前话语权属于用户端,则判定需要继续采集会话过程中的第二用户语音,即,通过话语权预测的结果来指导对话系统的操作,避免会话过程中出现抢话的问题,以及避免因针对不完整的用户语音生成回复语音而导致的答非所问的问题。此外,基于对话语权的预测,以及预测结果对于对话系统的指导,不仅可以避免会话过程中出现抢话的问题,还可以在判定为系统端话语权时及时输出系统语音,以提升对于用户语音的回复效率,进而,可以提升会话过程的流畅度。

在本申请的一种示例性实施例中,还包括:

模型训练单元,用于获取样本语音数据;基于音频分段参数截取样本语音数据中的语音片段;通过特征提取模型提取语音片段的特征集合;根据特征集合训练得到话语权预测模型。

可见,实施该可选的实施例,可以实现基于语音分段的特征提取以及基于特征集合的模型训练,这样可以提升话语权预测模型的精度,以保证高流畅度的会话过程。

在本申请的一种示例性实施例中,模型训练单元根据特征集合训练得到话语权预测模型,包括:

根据特征集合迭代训练神经网络模型,从训练过程中得到多个待选模型;

基于样本语音数据对应的标注结果,统计多个待选模型分别对应的模型准确率,并以交叉验证法对多个待选模型进行稳定性验证,得到多个待选模型分别对应的模型稳定性;

基于模型准确率和模型稳定性,从多个待选模型中选取话语权预测模型。

可见,实施该可选的实施例,可以选取出准确率、稳定性更高的模型作为话语权预测模型,有利于提升会话过程中的对话流畅性,并且,基于模型稳定性验证后得到的话语权预测模型应用于会话过程之后,可以提升会话过程的鲁棒性。

在本申请的一种示例性实施例中,特征提取模型包括以下至少一种:意图分类模型、语音识别模型、噪音检测模型。

可见,实施该可选的实施例,可以丰富特征维度,有利于提升后续基于多维的特征训练的得到的话语权预测模型的精度。

在本申请的一种示例性实施例中,模型训练单元通过特征提取模型提取语音片段的特征集合,包括:

通过意图分类模型提取语音片段中的意图类别特征;

通过语音识别模型提取语音片段中的贝叶斯置信度特征和转写文本特征;

通过噪音检测模型提取语音片段中的噪音置信度特征和语音置信度特征;

获取语音片段对应的音量,以得到包含意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量的特征集合。

可见,实施该可选的实施例,可以获取到用于描述语音片段的意图类别特征、贝叶斯置信度特征、转写文本特征、噪音置信度特征、语音置信度特征和音量,基于多维度的特征有利于提升模型训练效果。

在本申请的一种示例性实施例中,模型获取单元801获取话语权预测模型,包括:

调用创建函数以创建模型句柄;

调用模型加载函数,以基于模型句柄载入话语权预测模型。

可见,实施该可选的实施例,可以基于模型加载函数和模型句柄实现对于话语权预测模型的及时载入,从而有利于实现对于会话过程流畅性的提升。

在本申请的一种示例性实施例中,话语权预测单元802基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

调用数据标准化函数将会话过程中的第一用户语音处理为待输入数据;

将话语权预测模型应用于预测函数;

将待输入数据输入预测函数进行话语权预测,以使得预测函数输出预测结果。

可见,实施该可选的实施例,可以基于对第一用户语音的处理以及对于预测函数的调用提升话语权预测效率。

在本申请的一种示例性实施例中,话语权预测单元802基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果,包括:

检测第一用户语音对应的会话领域;

若不存在与会话领域对应的话语权判定规则,则基于话语权预测模型对会话过程中的第一用户语音进行话语权预测,得到预测结果。

可见,实施该可选的实施例,可以实现对于会话领域的检测,在不存在与会话领域对应的话语权判定规则时,触发基于话语权预测模型的话语权预测,可以实现话语权预测方案对于各类会话领域的覆盖。

在本申请的一种示例性实施例中,其中:

话语权预测单元802,还用于若存在与会话领域对应的话语权判定规则,则基于话语权判定规则对第一用户语音进行话语权预测,得到预测结果。

可见,实施该可选的实施例,可以当存在与话语权判定规则时,直接基于话语权判定规则进行话语权预测,可以提升话语权预测效率。

在本申请的一种示例性实施例中,系统话语权处理单元803通过系统语音响应第一用户语音,包括:

从包含知识库和知识图谱的文本数据库中,确定对应于第一用户语音的插话文本;

通过语音合成器播放与插话文本对应的系统语音。

可见,实施该可选的实施例,可以保证对话的连贯性,使得语音交互体验更贴近真人对话,提升语音交互的拟真度。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

由于本申请的示例实施例的应用于实时会话的语音响应装置的各个功能模块与上述应用于实时会话的语音响应方法的示例实施例的步骤对应,因此对于本申请装置实施例中未披露的细节,请参照本申请上述的应用于实时会话的语音响应方法的实施例。

请参阅图9,图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从储存部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。

特别地,根据本申请的实施例,上述参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法和装置中限定的各种功能。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

技术分类

06120116556949