一种对话机器人引擎流量分配方法及装置转让专利

申请号 : CN201911398366.8

文献号 : CN111178489B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉良董鹏暴宇健

申请人 : 深圳集智数字科技有限公司

摘要 :

本申请公开了一种对话机器人引擎流量分配方法及装置,用于快速、准确的将引擎流量分配给更加合适的对话机器人引擎,提升对话机器人的对话效果,进而提高用户体验。本申请实施例方法包括:在获取到用户输入的访问对话请求后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,进而可以根据该流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行合理分配,得到分配结果。

权利要求 :

1.一种对话机器人引擎流量分配方法,其特征在于,包括:

获取待分配流量;所述待分配流量为用户输入的对话访问请求;

确定所述待分配流量的流量参数;

根据所述流量参数,利用预先构建的对话机器人引擎流量分配网关,对所述待分配流量进行分配,得到分配结果;确定出待分配流量的流量参数后,将该流量参数输入对话机器人引擎流量分配网关,以输出一个表征对话机器人引擎分类的一组向量,向量中每一维度的值为区间[0,1]中的一个数值,且每一维度的值分别代表了该待分配流量被分配至各个预设对话机器人引擎类型的概率值;此时,将其中最大概率值对应的对话机器人引擎类型作为为待分配流量分配的对话机器人引擎;

构建所述对话机器人引擎流量分配网关,包括:

获取训练流量;

确定所述训练流量的流量参数;

根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关;具体包括下述步骤A-C:步骤A:利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;

将训练流量的流量参数定义为s,将初始对话机器人引擎流量分配网关输出的分配结果定义为a;并将在一个固定周期内获取的所有的(s,a)对构成一个“轨迹”,将其定义为τ,即,τ=(s,a),将τ作为这段时间内初始对话机器人引擎流量分配网关的训练结果;

步骤B:根据训练流量的对话日志,对训练结果进行满意度评分,得到评分结果;

通过步骤A利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练得到训练结果τ后,根据训练流量的对话日志,计算出各个训练对话后的效果指标数据,进而根据这些历史的效果指标数据,以及训练流量对应的人工标注结果之间的差异,对初始对话机器人引擎流量分配网关的训练结果进行评分,得到评分结果,并利用R(τ)来表示;

步骤C:根据评分结果,生成对话机器人引擎流量分配网关;

利用策略梯度算法,对初始对话机器人引擎流量分配网关中的人工神经网络模型进行训练,以更新模型参数,提高整个网关的评分结果,直至满足预设的条件,则停止模型参数的更新,完成对话机器人引擎流量分配网关的训练,生成一个训练好的对话机器人引擎流量分配网关;

策略梯度算法中满意度期望的计算公式如下:

其中, 表示满意度期望;N表示训练结果的总个数;R(τ)表示训练结果τ的满意度评分;Pθ(τ)表示初始对话机器人引擎流量分配网关中人工神经网络模型参数为θ时,训练结果τ出现的概率;

对满意度期望进行求梯度计算,具体计算公式如下:

将上述公式(2)转换为下述公式(3):

其中,Tn表示训练结果τ的长度; 表示训练结果τ中第t时刻的训练流量的流量参数;

表示训练结果τ中第t时刻初始对话机器人引擎流量分配网关输出的分配结果;

表示当前初始对话机器人引擎流量分配网关在输入 的情况下,输出 的条件概率;

根据下述公式(4),对模型参数进行更新:

其中,θn表示第n时刻的模型参数;θn-1表示第n-1时刻的模型参数;η表示更新的步长。

2.根据权利要求1所述的方法,其特征在于,所述初始对话机器人引擎流量分配网关包含人工神经网络模型;所述人工神经网络模型包含全连接层。

3.根据权利要求1至2任一项所述的方法,其特征在于,根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关,包括:利用所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;

根据所述训练流量的对话日志,对所述训练结果进行满意度评分,得到评分结果;

根据所述评分结果,生成所述对话机器人引擎流量分配网关。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取验证流量;

确定所述验证流量的流量参数;

将所述验证流量的流量参数输入所述对话机器人引擎流量分配网关,获得所述验证流量的对话机器人分配结果;

当所述验证流量的对话机器人分配结果与所述验证流量对应的分配标记结果不一致时,将所述验证流量重新作为所述训练流量,对所述对话机器人引擎流量分配网关进行更新。

5.一种对话机器人引擎流量分配装置,其特征在于,包括:

第一获取单元,用于获取待分配流量;所述待分配流量为用户输入的对话访问请求;

第一确定单元,用于确定所述待分配流量的流量参数;

分配单元,用于根据所述流量参数,利用预先构建的对话机器人引擎流量分配网关,对所述待分配流量进行分配,得到分配结果;确定出待分配流量的流量参数后,将该流量参数输入对话机器人引擎流量分配网关,以输出一个表征对话机器人引擎分类的一组向量,向量中每一维度的值为区间[0,1]中的一个数值,且每一维度的值分别代表了该待分配流量被分配至各个预设对话机器人引擎类型的概率值;此时,将其中最大概率值对应的对话机器人引擎类型作为为待分配流量分配的对话机器人引擎;

第二获取单元,用于获取训练流量;

第二确定单元,用于确定所述训练流量的流量参数;

生成单元,用于根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关;具体包括下述步骤A-C:步骤A:利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;

将训练流量的流量参数定义为s,将初始对话机器人引擎流量分配网关输出的分配结果定义为a;并将在一个固定周期内获取的所有的(s,a)对构成一个“轨迹”,将其定义为τ,即,τ=(s,a),将τ作为这段时间内初始对话机器人引擎流量分配网关的训练结果;

步骤B:根据训练流量的对话日志,对训练结果进行满意度评分,得到评分结果;

通过步骤A利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练得到训练结果τ后,根据训练流量的对话日志,计算出各个训练对话后的效果指标数据,进而根据这些历史的效果指标数据,以及训练流量对应的人工标注结果之间的差异,对初始对话机器人引擎流量分配网关的训练结果进行评分,得到评分结果,并利用R(τ)来表示;

步骤C:根据评分结果,生成对话机器人引擎流量分配网关;

利用策略梯度算法,对初始对话机器人引擎流量分配网关中的人工神经网络模型进行训练,以更新模型参数,提高整个网关的评分结果,直至满足预设的条件,则停止模型参数的更新,完成对话机器人引擎流量分配网关的训练,生成一个训练好的对话机器人引擎流量分配网关;

策略梯度算法中满意度期望的计算公式如下:

其中, 表示满意度期望;N表示训练结果的总个数;R(τ)表示训练结果τ的满意度评分;Pθ(τ)表示初始对话机器人引擎流量分配网关中人工神经网络模型参数为θ时,训练结果τ出现的概率;

对满意度期望进行求梯度计算,具体计算公式如下:

将上述公式(2)转换为下述公式(3):

其中,Tn表示训练结果τ的长度; 表示训练结果τ中第t时刻的训练流量的流量参数;

表示训练结果τ中第t时刻初始对话机器人引擎流量分配网关输出的分配结果;

表示当前初始对话机器人引擎流量分配网关在输入 的情况下,输出 的条件概率;

根据下述公式(4),对模型参数进行更新:

其中,θn表示第n时刻的模型参数;θn-1表示第n-1时刻的模型参数;η表示更新的步长。

6.根据权利要求5所述的装置,其特征在于,所述初始对话机器人引擎流量分配网关包含人工神经网络模型;所述人工神经网络模型包含全连接层。

7.根据权利要求5至6任一项所述的装置,其特征在于,所述生成单元包括:训练子单元,用于利用所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;

评分子单元,用于根据所述训练流量的对话日志,对所述训练结果进行满意度评分,得到评分结果;

生成子单元,用于根据所述评分结果,生成所述对话机器人引擎流量分配网关。

8.根据权利要求5至6任一项所述的装置,其特征在于,所述装置还包括:第三获取单元,用于获取验证流量;

第三确定单元,用于确定所述验证流量的流量参数;

输入单元,用于将所述验证流量的流量参数输入所述对话机器人引擎流量分配网关,获得所述验证流量的对话机器人分配结果;

更新单元,用于当所述验证流量的对话机器人分配结果与所述验证流量对应的分配标记结果不一致时,将所述验证流量重新作为所述训练流量,对所述对话机器人引擎流量分配网关进行更新。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-4任一项所述的对话机器人引擎流量分配方法。

10.一种对话机器人引擎流量分配设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4任一项所述的对话机器人引擎流量分配方法。

说明书 :

一种对话机器人引擎流量分配方法及装置

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种对话机器人引擎流量分配方法及装置。

背景技术

[0002] 随着网络技术的快速发展以及机器人技术的不断进步,机器人越来越多的普及到人们的日常生活中,机器人可以代替人类进行部分工作,以为人类服务,进而可以为人类带来诸多方便。比如,可以将对话机器人作为在线客服来为用户提供方便、快捷地对话服务。
[0003] 目前市场上提供对话机器人引擎服务的厂商有很多,并且由于语料数据、对话对象以及对话场景等复杂因素的影响,使得不同引擎服务会导致对话机器人产生不同的对话效果,但在现有技术中,只能依靠人工来分配对话请求,确定对话机器人的引擎服务类型,由于人工判断的主观性强、难以量化,且效率较为低下。因此,如何快速、准确的选择出合适的对话机器人引擎服务,以实现将引擎流量更加合理的分配给不同引擎的对话机器人,提升对话机器人的对话效果,已成为目前亟待解决的问题。

发明内容

[0004] 本申请实施例的主要目的在于提供一种对话机器人引擎流量分配方法及装置,能够快速、准确的将引擎流量分配给更加合适的对话机器人引擎,提升对话机器人的对话效果,进而提高用户体验。
[0005] 第一方面,本申请实施例提供了一种对话机器人引擎流量分配方法,包括:
[0006] 获取待分配流量;所述待分配流量为用户输入的对话访问请求;
[0007] 确定所述待分配流量的流量参数;
[0008] 根据所述流量参数,利用预先构建的对话机器人引擎流量分配网关,对所述待分配流量进行分配,得到分配结果;
[0009] 构建所述对话机器人引擎流量分配网关,包括:
[0010] 获取训练流量;
[0011] 确定所述训练流量的流量参数;
[0012] 根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关。
[0013] 一种可能的实现方式中,所述初始对话机器人引擎流量分配网关包含人工神经网络模型;所述人工神经网络模型包含全连接层。
[0014] 一种可能的实现方式中,根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关,包括:
[0015] 利用所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;
[0016] 根据所述训练流量的对话日志,对所述训练结果进行满意度评分,得到评分结果;
[0017] 根据所述评分结果,生成所述对话机器人引擎流量分配网关。
[0018] 一种可能的实现方式中,所述方法还包括:
[0019] 获取验证流量;
[0020] 确定所述验证流量的流量参数;
[0021] 将所述验证流量的流量参数输入所述对话机器人引擎流量分配网关,获得所述验证流量的对话机器人分配结果;
[0022] 当所述验证流量的对话机器人分配结果与所述验证流量对应的分配标记结果不一致时,将所述验证流量重新作为所述训练流量,对所述对话机器人引擎流量分配网关进行更新。
[0023] 第二方面,本申请实施例还提供了一种对话机器人引擎流量分配装置,包括:
[0024] 第一获取单元,用于获取待分配流量;所述待分配流量为用户输入的对话访问请求;
[0025] 第一确定单元,用于确定所述待分配流量的流量参数;
[0026] 分配单元,用于根据所述流量参数,利用预先构建的对话机器人引擎流量分配网关,对所述待分配流量进行分配,得到分配结果;
[0027] 第二获取单元,用于获取训练流量;
[0028] 第二确定单元,用于确定所述训练流量的流量参数;
[0029] 生成单元,用于根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关。
[0030] 一种可能的实现方式中,所述初始对话机器人引擎流量分配网关包含人工神经网络模型;所述人工神经网络模型包含全连接层。
[0031] 一种可能的实现方式中,所述生成单元包括:
[0032] 训练子单元,用于利用所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;
[0033] 评分子单元,用于根据所述训练流量的对话日志,对所述训练结果进行满意度评分,得到评分结果;
[0034] 生成子单元,用于根据所述评分结果,生成所述对话机器人引擎流量分配网关。
[0035] 一种可能的实现方式中,所述装置还包括:
[0036] 第三获取单元,用于获取验证流量;
[0037] 第三确定单元,用于确定所述验证流量的流量参数;
[0038] 输入单元,用于将所述验证流量的流量参数输入所述对话机器人引擎流量分配网关,获得所述验证流量的对话机器人分配结果;
[0039] 更新单元,用于当所述验证流量的对话机器人分配结果与所述验证流量对应的分配标记结果不一致时,将所述验证流量重新作为所述训练流量,对所述对话机器人引擎流量分配网关进行更新。
[0040] 本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的对话机器人引擎流量分配方法。
[0041] 本申请实施例还提供了一种对话机器人引擎流量分配设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的对话机器人引擎流量分配方法。
[0042] 本申请实施例提供的一种对话机器人引擎流量分配方法及装置,在获取到用户输入的访问对话请求后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,进而可以根据该流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行合理分配,得到分配结果。可见,本申请实施例是利用预先训练好的对话机器人引擎流量分配网关对用户输入的待分配流量进行分配,确定出合适的对话机器人引擎服务与用户进行对话,相比于人工分配对话请求,确定对话机器人的引擎服务类型的方式,可以实现自动且快速地对待分配流量进行分配,并确定出更加合适的对话机器人引擎服务,且分配结果消除了人工分配的主观性带来的影响,准确性更高,从而能够提升对话机器人的对话效果,进而提高用户体验。

附图说明

[0043] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本申请实施例提供的一种对话机器人引擎流量分配方法的流程示意图;
[0045] 图2为本申请实施例提供的构建对话机器人引擎流量分配网关的流程示意图;
[0046] 图3为本申请实施例提供的一种对话机器人引擎流量分配网关验证方法的流程示意图;
[0047] 图4为本申请实施例提供的一种对话机器人引擎流量分配方法的具体实现示例图之一;
[0048] 图5为本申请实施例提供的一种对话机器人引擎流量分配方法的具体实现示例图之二;
[0049] 图6为本申请实施例提供的一种对话机器人引擎流量分配装置的结构示意图。

具体实施方式

[0050] 目前市场上提供对话机器人引擎服务的厂商有很多,由于各厂商生产的对话机器人的并发线路容量以及接入量保底/封顶阈值不同,使得不同引擎服务会导致对话机器人产生不同的对话效果,再加上语言类型、对话常见等特征因素的影响,比如,假设用户是通过方言提出的对话访问请求,则具有方言能力的对话机器人的对话效果相对于其他类型的对话机器人来说,将具有较好的对话效果。基于此,现有技术中对于用户提出的对话访问请求,通常需要依靠人工来选择相应的对话机器人的引擎服务类型,以实现将该对话访问请求分配给对话效果较好的对话机器人,以提高用户体验。但是,这种人工判断方式,主观性强、难以量化,且分配效率较为低下。因此,如何快速、准确的选择出合适的对话机器人引擎服务,以实现将引擎流量更加合理的分配给不同引擎的对话机器人,提升分配效率以及对话机器人的对话效果,已成为目前亟待解决的问题。
[0051] 为解决上述缺陷,本申请实施例提供了一种对话机器人引擎流量分配方法,在获取到用户输入的访问对话请求后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,进而可以根据该流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行合理分配,得到分配结果。可见,本申请实施例是利用预先训练好的对话机器人引擎流量分配网关对用户输入的待分配流量进行分配,确定出合适的对话机器人引擎服务与用户进行对话,相比于人工分配对话请求,确定对话机器人的引擎服务类型的方式,可以实现自动且快速地对待分配流量进行分配,并确定出更加合适的对话机器人引擎服务,且分配结果消除了人工分配的主观性带来的影响,准确性更高,从而能够提升对话机器人的对话效果,进而提高用户体验。
[0052] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053] 第一实施例
[0054] 参见图1,为本实施例提供的一种对话机器人引擎流量分配方法的流程示意图,该方法包括以下步骤:
[0055] S101:获取待分配流量,其中,待分配流量为用户输入的对话访问请求。
[0056] 在本实施例中,将需要进行分配的对话机器人引擎流量定义为待分配流量,其中,待分配流量指的是用户输入的对话访问请求,通过本实施例介绍的方式,可以将待分配流量分配至对话效果较好的对话机器人服务引擎,以提高用户体验。需要说明的是,本实施例不限制待分配流量的获取方式,比如,待分配流量可以通过接收用户在终端设备上输入语音信息的方式得到、或通过接收用户在终端设备上输入文字信息等方式得到。
[0057] S102:确定待分配流量的流量参数。
[0058] 在本实施例中,通过步骤S101获取到待分配流量后,可以利用现有或未来出现的参数提取方法对其进行处理,以确定出可以表征待分配流量内容信息的参数,这里将其定义为流量参数。流量参数可以包括访问渠道以及手机号码归属地等信息,例如,假设用户输入待分配流量所采用的终端为手机,则可以利用手机定位方法,确定出用户输入待分配流量所采用的手机号码归属地,作为一项流量参数。
[0059] 其中,在本实施例的一种实现方式中,该流量参数可以是利用预先构建的对话机器人引擎流量分配网关从对应待分配流量中所提取的。
[0060] 在本实现方式中,通过步骤S101获取到待分配流量后,并不能直接进行分配,而是需要先确定出待分配流量的流量参数,然后再利用该流量参数,通过执行后续步骤S103,对待分配流量进行快速且准确的分配,确定出对话效果较好的对话机器人引擎。
[0061] S103:根据流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行分配,得到分配结果。
[0062] 在本实施例中,通过步骤S102确定出待分配流量的流量参数后,可以将这些流量参数作为输入数据,输入至预先构建的对话机器人引擎流量分配网关中,以通过该网关,确定出待分配流量对应的对话机器人引擎,从而能够快速、准确的将引擎流量分配给对应的更加合适的对话机器人引擎,提升了对话机器人的对话效果,进而提高了用户体验。
[0063] 具体来讲,通过步骤S102确定出待分配流量的流量参数后,可以将该流量参数输入对话机器人引擎流量分配网关,以输出一个表征对话机器人引擎分类的一组向量,向量中每一维度的值可以为区间[0,1]中的一个数值,且每一维度的值分别代表了该待分配流量可以被分配至各个预设对话机器人引擎类型的概率值。此时,可将其中最大概率值对应的对话机器人引擎类型作为为待分配流量分配的对话机器人引擎。
[0064] 举例说明:假设存在“对话机器人引擎A、对话机器人引擎B、对话机器人引擎C”这3种预设的对话机器人引擎类型,并假设模型的输出向量为s=[0.9,0.1,0.05],可见,第一维度的值0.9最高,因此,该维度对应的对话机器人引擎类型即为为待分配流量分配的对话机器人引擎,即可以选择对话机器人引擎A作为在线客服来与用户进行对话。
[0065] 或者,也可以预先设置对话机器人引擎分类的概率阈值,将输出概率大于该阈值的一个机器人引擎类型均作为为待分配流量分配的对话机器人引擎。
[0066] 举例说明:基于上述举例,假设存在“对话机器人引擎1、对话机器人引擎2、对话机器人引擎3”这三种预设的对话机器人引擎类型,且预先设置对话机器人引擎分类的概率阈值为0.6,通过对话机器人引擎流量分配网关进行分配后,输出向量为s=[0.2,0.8,0.1],可见,第二维度的值0.8超过了预先设置的对话机器人引擎分类的概率阈值,因此,可以将该维度对应的对话机器人引擎类型作为为待分配流量分配的对话机器人引擎,即可以选择对话机器人引擎2作为在线客服来与用户进行对话。
[0067] 需要说明的是,本申请实施例中各个预设的不同类型对话机器人引擎需接入同一数据库,即,需要保证各个预设的不同类型对话机器人引擎的指示数据是一致的。
[0068] 进一步,在确定出待分配流量分配的对话机器人引擎后,即,在实现待分配流量的动态分配后,可以根据各个对话机器人引擎的流量分配数量,对各个类型的对话机器人引擎的对话效果进行评测,以根据评测结果,选择出对话效果较好的对话机器人引擎服务类型,提高企业的投资回报率。
[0069] 需要说明的是,为实现本步骤S103,需要预先构建一个对话机器人引擎流量分配网关,具体构建过程可参见后续第二实施例的相关介绍。
[0070] 综上,本实施例提供的一种对话机器人引擎流量分配方法,在获取到用户输入的访问对话请求后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,进而可以根据该流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行合理分配,得到分配结果。可见,本申请实施例是利用预先训练好的对话机器人引擎流量分配网关对用户输入的待分配流量进行分配,确定出合适的对话机器人引擎服务与用户进行对话,相比于人工分配对话请求,确定对话机器人的引擎服务类型的方式,可以实现自动且快速地对待分配流量进行分配,并确定出更加合适的对话机器人引擎服务,且分配结果消除了人工分配的主观性带来的影响,准确性更高,从而能够提升对话机器人的对话效果,进而提高用户体验。
[0071] 第二实施例
[0072] 本实施例将对第一实施例中提及的对话机器人引擎流量分配网关的具体构建过程进行介绍。利用该预先构建的对话机器人引擎流量分配网关,可以准确、快速地确定出待分配流量对应的对话机器人引擎。
[0073] 参见图2,其示出了本实施例提供的构建对话机器人引擎流量分配网关的流程示意图,该流程包括以下步骤:
[0074] S201:获取训练流量。
[0075] 在本实施例中,为了构建对话机器人引擎流量分配网关,需要预先进行大量的准备工作,首先,需要获取训练流量,比如,可以预先收集100个用户输入的对话访问请求作为训练流量,并将收集到的每一训练流量分别作为样本流量数据,并预先通过人工标注出这些样本流量数据对应的对话机器人引擎类型,用以训练对话机器人引擎流量分配网关。
[0076] S202:确定训练流量的流量参数。
[0077] 在本实施例中,通过步骤S201获取到训练流量后,并不能直接用于训练生成对话机器人引擎流量分配网关,而是先确定训练流量的流量参数,比如,用户输入的对话访问请求对应的手机号码归属地和访问渠道等。其中,在参数确定过程中,可以利用现有的参数提取方法进行提取,也可以利用本实施例构建的对话机器人引擎流量分配网关来提取,进而可以利用提取出的训练流量的流量参数,训练得到对话机器人引擎流量分配网关。
[0078] S203:根据训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成对话机器人引擎流量分配网关。
[0079] 在本实施例中,通过步骤S202确定出训练流量的流量参数后,进一步的,可以根据该训练流量的流量参数以及训练流量对应的对话机器人引擎类型标记结果对话机器人引擎流量分配网关进行训练,进而生成对话机器人引擎流量分配网关。其中,一种可选的实现方式是,初始对话机器人引擎流量分配网关包含人工神经网络模型,且该人工神经网络模型包含全连接层。
[0080] 具体来讲,在本申请实施例的一种可选的实现方式中,本步骤S203的实现过程具体可以包括下述步骤A-C:
[0081] 步骤A:利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果。
[0082] 在本实现方式中,将训练流量的流量参数定义为s,将初始对话机器人引擎流量分配网关输出的分配结果定义为a。并将在一个固定周期内(如一日或一周)内获取的所有的(s,a)对构成一个“轨迹”,这里将其定义为τ,即,τ=(s,a),此时,既可将τ作为这段时间内初始对话机器人引擎流量分配网关的训练结果。
[0083] 步骤B:根据训练流量的对话日志,对训练结果进行满意度评分,得到评分结果。
[0084] 在本实现方式中,通过步骤A利用训练流量的流量参数以及训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练得到训练结果τ后,可以根据训练流量(即历史用户输入的训练对话访问请求)的对话日志,计算出各个训练对话后的效果指标数据,进而可以根据这些历史的效果指标数据,以及可以训练流量对应的人工标注结果之间的差异,对初始对话机器人引擎流量分配网关的训练结果进行评分,得到评分结果,并利用R(τ)来表示。
[0085] 步骤C:根据评分结果,生成对话机器人引擎流量分配网关。
[0086] 在本实现方式中,可以根据上述步骤获得的结果数据,利用策略梯度(policy gradient)算法,对初始对话机器人引擎流量分配网关中的人工神经网络模型进行训练,以更新模型参数,提高整个网关的评分结果,直至满足预设的条件,比如评分结果变化幅度很小,或者评分结果基本高于预设评分阈值,则停止模型参数的更新,完成对话机器人引擎流量分配网关的训练,生成一个训练好的对话机器人引擎流量分配网关。
[0087] 具体来讲,上述采用的策略梯度算法中满意度期望的计算公式如下:
[0088]
[0089] 其中, 表示满意度期望;N表示训练结果的总个数;R(τ)表示训练结果τ的满意度评分;Pθ(τ)表示初始对话机器人引擎流量分配网关中人工神经网络模型参数为θ时,训练结果τ出现的概率。
[0090] 并且,为了提升上述满意度期望值,需对满意度期望进行求梯度计算,具体计算公式如下:
[0091]
[0092] 需要说明的是,在实际应用中,可以将上述公式(2)转换为下述公式(3):
[0093]
[0094] 其中,Tn表示训练结果τ的长度; 表示训练结果τ中第t时刻的训练流量的流量参数; 表示训练结果τ中第t时刻初始对话机器人引擎流量分配网关输出的分配结果;表示当前初始对话机器人引擎流量分配网关在输入 的情况下,输出 的条件
概率。
[0095] 进一步的,可以根据下述公式(4),对模型参数进行更新:
[0096]
[0097] 其中,θn表示第n时刻的模型参数;θn-1表示第n-1时刻的模型参数;η表示更新的步长,具体取值可根据实际情况及经验值确定,本申请实施例对此不进行限制,比如,可以将η取为10-4或10-5等。
[0098] 通过上述实施例,可以利用训练流量训练生成对话机器人引擎流量分配网关,则进一步的,可以利用验证流量对生成的对话机器人引擎流量分配网关进行验证。
[0099] 参见图3,其示出了本申请实施例提供的一种对话机器人引擎流量分配网关验证方法的流程示意图,如图3所示,该方法包括:
[0100] S301:获取验证流量。
[0101] 在实际应用中,为了实现对对话机器人引擎流量分配网关进行验证,首先需要获取验证流量,其中,验证流量指的是可以用来进行对话机器人引擎流量分配网关验证的引擎流量(即用户输入的对话访问请求),在获取到验证流量后,可继续执行S302。
[0102] S302:确定验证流量的流量参数。
[0103] 在实际应用中,通过步骤S301,获取到验证流量后,并不能直接用于验证识别对话机器人引擎流量分配网关,而是需要提取验证流量的流量参数,比如,用户输入的对话访问请求对应的手机号码归属地和访问渠道等。其中,在参数确定过程中,可以利用现有的参数提取方法进行提取,也可以利用本实施例构建的对话机器人引擎流量分配网关来提取,进而可以利用提取出的验证流量的流量参数,验证得到的对话机器人引擎流量分配网关。
[0104] S303:将验证流量的流量参数输入对话机器人引擎流量分配网关,获得验证流量的对话机器人分配结果。
[0105] 在具体实现过程中,通过步骤S302,确定出验证流量的流量参数后,进一步的,可以将验证流量的流量参数输入对话机器人引擎流量分配网关,获得验证流量的对话机器人分配结果,进而可继续执行步骤S304。
[0106] S304:当验证流量的对话机器人分配结果与验证流量对应的分配标记结果不一致时,将验证流量重新作为训练流量,对对话机器人引擎流量分配网关进行更新。
[0107] 在实际应用中,通过步骤S303获得验证流量的对话机器人分配结果后,当验证流量的对话机器人分配结果与验证流量对应的人工标注结果不一致时,可以将该验证流量重新作为训练流量,对对话机器人引擎流量分配网关进行更新。
[0108] 通过上述实施例,可以利用验证流量对对话机器人引擎流量分配网关进行有效验证,当验证流量的对话机器人分配结果与验证流量对应的人工标注结果不一致时,可以及时调整更新对话机器人引擎流量分配网关,进而有助于提高对话机器人引擎流量分配网关的分配精度和准确性。
[0109] 综上,利用本实施例训练而成的对话机器人引擎流量分配网关,可以利用表征待分配流量内容信息的流量参数,快速、准确的将引擎流量分配给对应的更加合适的对话机器人引擎,并且,在分配过程中,大幅度降低了参数的计算量,有效提高了分配结果的效率及准确性。
[0110] 第三实施例
[0111] 为便于理解,本实施例结合图4所示对话机器人引擎流量分配方法的具体实现示例图。对本申请实施例提供的对话机器人引擎流量分配方法的实现过程进行介绍。
[0112] 如图4所示,该示例图中,对话机器人引擎流量分配网关包括:接入与流量分配模块、实时决策模块、评估模块。本申请实施例的实现过程为:首先,接入与流量分配模块在获取到用户输入的访问对话请求(即图4中的机器人应用1、机器人应用2或机器人应用3)后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,如访问渠道、手机号码归属地等信息,然后,将这些信息发送至实时决策模块,接着,可以利用实时决策模块中预先构建的神经网络模型,根据流量参数和评估模块提供的历史效果数据,对待分配流量进行合理分配,确定出更加合适的对话机器人引擎服务(即图4中的机器人引擎1、机器人引擎2或机器人引擎3),具体实现过程参见步骤S101~S103。
[0113] 为便于理解,本实施例又结合图5所示对话机器人引擎流量分配方法的具体实现示例图。对本申请实施例提供的对话机器人引擎流量分配方法的实现过程进行介绍。
[0114] 如图5所示,该示例图中,对话机器人引擎流量分配网关包括:分配决策模块、效果评估模块。本申请实施例的实现过程为:首先,通过电话接入用户输入的访问对话请求后,然后将其作为待分配流量,以确定出该待分配流量的流量参数,如访问渠道、手机号码归属地等信息,接着,将这些信息发送至分配决策模块,进而可以利用分配决策模块中预先构建的神经网络模型,根据流量参数和效果评估模块提供的历史效果数据,对待分配流量进行合理分配,确定出更加合适的对话机器人引擎服务(即图4中的电话机器人1、电话机器人2或电话机器人3),具体实现过程参见步骤S101~S103。
[0115] 第四实施例
[0116] 本实施例将对一种对话机器人引擎流量分配装置进行介绍,相关内容请参见上述方法实施例。
[0117] 参见图6,为本实施例提供的一种对话机器人引擎流量分配装置的组成示意图,该装置包括:
[0118] 第一获取单元601,用于获取待分配流量;所述待分配流量为用户输入的对话访问请求;
[0119] 第一确定单元602,用于确定所述待分配流量的流量参数;
[0120] 分配单元603,用于根据所述流量参数,利用预先构建的对话机器人引擎流量分配网关,对所述待分配流量进行分配,得到分配结果;
[0121] 第二获取单元604,用于获取训练流量;
[0122] 第二确定单元605,用于确定所述训练流量的流量参数;
[0123] 生成单元606,用于根据所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,生成所述对话机器人引擎流量分配网关。
[0124] 在本实施例的一种实现方式中,所述初始对话机器人引擎流量分配网关包含人工神经网络模型;所述人工神经网络模型包含全连接层。
[0125] 在本实施例的一种实现方式中,所述生成单元606包括:
[0126] 训练子单元,用于利用所述训练流量的流量参数以及所述训练流量对应的对话机器人分配标签对初始对话机器人引擎流量分配网关进行训练,得到训练结果;
[0127] 评分子单元,用于根据所述训练流量的对话日志,对所述训练结果进行满意度评分,得到评分结果;
[0128] 生成子单元,用于根据所述评分结果,生成所述对话机器人引擎流量分配网关。
[0129] 在本实施例的一种实现方式中,所述装置还包括:
[0130] 第三获取单元,用于获取验证流量;
[0131] 第三确定单元,用于确定所述验证流量的流量参数;
[0132] 输入单元,用于将所述验证流量的流量参数输入所述对话机器人引擎流量分配网关,获得所述验证流量的对话机器人分配结果;
[0133] 更新单元,用于当所述验证流量的对话机器人分配结果与所述验证流量对应的分配标记结果不一致时,将所述验证流量重新作为所述训练流量,对所述对话机器人引擎流量分配网关进行更新。
[0134] 综上,本实施例提供的一种对话机器人引擎流量分配装置,在获取到用户输入的访问对话请求后,首先将其作为待分配流量,然后确定出该待分配流量的流量参数,进而可以根据该流量参数,利用预先构建的对话机器人引擎流量分配网关,对待分配流量进行合理分配,得到分配结果。可见,本申请实施例是利用预先训练好的对话机器人引擎流量分配网关对用户输入的待分配流量进行分配,确定出合适的对话机器人引擎服务与用户进行对话,相比于人工分配对话请求,确定对话机器人的引擎服务类型的方式,可以实现自动且快速地对待分配流量进行分配,并确定出更加合适的对话机器人引擎服务,且分配结果消除了人工分配的主观性带来的影响,准确性更高,从而能够提升对话机器人的对话效果,进而提高用户体验。
[0135] 另外,本申请实施例还提供了一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的对话机器人引擎流量分配方法。
[0136] 本申请实施例还提供了一种数据处理设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的对话机器人引擎流量分配方法。
[0137] 本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行所述的对话机器人引擎流量分配方法。
[0138] 当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
[0139] 需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0140] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0141] 以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。