跳转条件的自动生成方法、装置、计算机设备及存储介质转让专利

申请号 : CN202110941135.8

文献号 : CN113779214B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡上峰周治宇李进峰

申请人 : 深圳市人马互动科技有限公司

摘要 :

本发明实施例公开了一种跳转条件的自动生成方法、装置、计算机设备及存储介质,该方法包括:在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,当前意图及备选意图为系统要表达给用户的意图;根据当前意图及备选意图进行跳转条件的生成,得到当前意图下,基于用户的可能的回复跳转至备选意图所需要的跳转条件。通过当前轮和下一轮中系统要表达给用户的意图进行跳转条件的自动生成,进而实现基于用户的可能的回复以及所生成的跳转条件跳转至对应的备选意图,实现由系统自动生成跳转条件,提高对话系统开发的灵活性,提高开发效率。

权利要求 :

1.一种跳转条件的自动生成方法,其特征在于,所述方法包括:

在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;

根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件;

其中,所述根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件,包括:确定第一目标意图组,所述第一目标意图组包括所述当前意图,及目标备选意图,所述目标备选意图为所述多个备选意图中的任意一个;

获取候选意图组,所述候选意图组包括第一意图及第二意图,且所述第一意图和所述第二意图之间有跳转条件;

其中,所述方法还包括:

以人工、自动或半自动的方法,从所述候选意图组中选择第二目标意图组,将所述第二目标意图组中的第一意图跳转至第二意图的跳转条件确定为所述第一目标意图组中当前意图跳转至目标备选意图的跳转条件;

其中,所述获取候选意图组,包括:

基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组;

其中,所述基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组,包括:确定所述系统中继往存在的语境单元中包含的意图组集合;

分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度;

将所述意图组集合中,句子向量相似度最高的前N个意图组作为所述候选意图组。

2.根据权利要求1所述的方法,其特征在于,所述获取候选意图组还包括:基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息,生成候选意图组。

3.根据权利要求1所述的方法,所述获取候选意图组还包括:

基于所述当前意图可能跳转的,所述目标备选意图之外的其它备选意图,以及所述当前意图与所述其它备选意图之间用户可能的回答例句信息,生成候选意图组。

4.根据权利要求1所述的方法,其特征在于,所述分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度,包括:获取所述第一目标意图组中当前意图描述句子的第一句子向量,及所述目标备选意图描述句子的第二句子向量,及确定所述意图组集合中的第三目标意图组的第一意图描述句子的第三句子向量,所述第三目标意图组的第二意图描述句子的第四句子向量,所述第三目标意图组为所述意图组集合中的任意一组;

计算所述第一句子向量与所述第三句子向量的句子向量相似度,及计算所述第二句子向量与所述第四句子向量的句子向量相似度,将两个句子向量相似度的加权平均数作为所述第一目标意图组与所述第三目标意图组的句子向量相似度。

5.根据权利要求2所述的方法,其特征在于,所述基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息,生成候选意图组,还包括:基于所述第一目标意图组中的当前意图,利用预先设置的语义提取模型对所述用户可能的回复进行语义提取,判断提取出的语义是否包含所述候选意图组的跳转条件对应的语义;所述用户可能的回复包括:基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息;

当提取出的语义不包含所述候选意图组的跳转条件对应的语义,则删除所述候选意图组,得到更新后的候选意图组。

6.根据权利要求3所述的方法,其特征在于,所述基于所述当前意图可能跳转的,所述目标备选意图之外的其它备选意图,生成候选意图组,包括:确定所述备选意图中除所述目标备选意图以外的其他备选意图,及所述候选意图组中的第一意图除所述第二意图以外的其他预期下一轮意图;

遍历所述其他备选意图,对于遍历到的其他备选意图,将所述其他备选意图分别与所述其他预期下一轮意图进行比较,确定所述其他预期下一轮意图中符合预设的第一条件的意图的数量;

若所述符合预设的第一条件的意图的数量符合预设的第二条件,则保留所述候选意图组,若所述符合预设的第一条件的意图的数量不符合预设的第二条件,则删除所述候选意图组,以实现对所述候选意图组的更新。

7.根据权利要求1所述的方法,其特征在于,所述根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件,包括:基于语义相似度原则,根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。

8.根据权利要求1所述的方法,其特征在于,所述从所述候选意图组中选择第二目标意图组,包括:从所述候选意图组中选择句子向量相似度最大的候选意图组作为所述第二目标意图组;

或者,

输出所述候选意图组所对应的跳转条件,若检测到用户对跳转条件的选择操作,则确定用户选择的跳转条件对应的候选意图组为所述第二目标意图组。

9.根据权利要求1所述的方法,其特征在于,所述跳转条件由一个或一组模板三元组,以及所述模板三元组之间的逻辑关系组成,每个所述模板三元组由一个语义/句法关系和两个带值域的模板节点组成。

10.根据权利要求9所述的方法,其特征在于,所述值域是一个集合,或者是基于语义相似性的模糊匹配。

11.根据权利9所述的方法,其特征在于,基于所述模板三元组是否被满足的状态,根据所述跳转条件中的逻辑关系,得到跳转条件是否被用户回复所满足,所述模板三元组被满足是指:从所述用户的可能的回复中提取出的三元组,存在有任何一个三元组与所述模板三元组的语义/句法关系相同,且三元组两端的词、词组或实体,分别属于所述模板三元组两端对应的值域。

12.一种跳转条件的自动生成装置,其特征在于,所述装置包括:

意图确定模块:用于在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;

条件生成模块:用于根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件;

其中,所述条件生成模块,具体用于:确定第一目标意图组,所述第一目标意图组包括所述当前意图,及目标备选意图,所述目标备选意图为所述多个备选意图中的任意一个;获取候选意图组,所述候选意图组包括第一意图及第二意图,且所述第一意图和所述第二意图之间有跳转条件;

其中,所述装置还用于:以人工、自动或半自动的方法,从所述候选意图组中选择第二目标意图组,将所述第二目标意图组中的第一意图跳转至第二意图的跳转条件确定为所述第一目标意图组中当前意图跳转至目标备选意图的跳转条件;

其中,所述获取候选意图组,包括:

基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组;

其中,所述基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组,包括:确定所述系统中继往存在的语境单元中包含的意图组集合;

分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度;

将所述意图组集合中,句子向量相似度最高的前N个意图组作为所述候选意图组。

13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。

14.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。

说明书 :

跳转条件的自动生成方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及自动对话开发技术领域,尤其涉及一种跳转条件的自动生成方法、装置、存储介质及设备。

背景技术

[0002] 在开发自动对话机器人的过程中,开发者会对可能的对话流程进行预测,并根据预测出的可能性来设计语境单元和决定跳转的判断条件。通过预置若干语义提取模型,由开发者人工选择相关的语义提取模型和设置相关的值域,构建跳转条件,使得自动对话机器人的实际应用不够灵活。

发明内容

[0003] 本发明的主要目的在于提供一种跳转条件的自动生成方法、装置、存储介质及设备,可以解决现有技术中的由开发者人工选择相关的语义提取模型和设置相关的值域,人工构建跳转条件,使得自动对话机器人的实际应用不够灵活的问题。
[0004] 为实现上述目的,本发明第一方面提供一种跳转条件的自动生成方法,所述方法包括:
[0005] 在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;
[0006] 根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。
[0007] 在一种可行实现方式中,所述根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件,包括:
[0008] 确定第一目标意图组,所述第一目标意图组包括所述当前意图,及目标备选意图,所述目标备选意图为所述多个备选意图中的任意一个;
[0009] 获取候选意图组,所述候选意图组包括第一意图及第二意图,且所述第一意图和所述第二意图之间有跳转条件。
[0010] 在一种可行实现方式中,所述方法还包括:
[0011] 以人工、自动或半自动的方法,从所述候选意图组中选择第二目标意图组,将所述第二目标意图组中的第一意图跳转至第二意图的跳转条件确定为所述第一目标意图组中当前意图跳转至目标备选意图的跳转条件。
[0012] 在一种可行实现方式中,所述获取候选意图组,包括:
[0013] 基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组。
[0014] 在一种可行实现方式中,所述获取候选意图组还包括:
[0015] 基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息,生成候选意图组。
[0016] 在一种可行实现方式中,所述获取候选意图组,包括:
[0017] 基于所述当前意图可能跳转的,所述目标备选意图之外的其它备选意图,以及所述当前意图与所述其它备选意图之间用户可能的回答例句信息,生成候选意图组。
[0018] 在一种可行实现方式中,所述基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组,包括:
[0019] 确定所述系统中继往存在的语境单元中包含的意图组集合;
[0020] 分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度;
[0021] 将所述意图组集合中,句子向量相似度最高的前N个意图组作为所述候选意图组。
[0022] 在一种可行实现方式中,所述分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度,包括:
[0023] 获取所述第一目标意图组中当前意图描述句子的第一句子向量,及所述目标备选意图描述句子的第二句子向量,及确定所述意图组集合中的第三目标意图组的第一意图描述句子的第三句子向量,所述第三目标意图组的第二意图描述句子的第四句子向量,所述第三目标意图组为所述意图组集合中的任意一组;
[0024] 计算所述第一句子向量与所述第三句子向量的句子向量相似度,及计算所述第二句子向量与所述第四句子向量的句子向量相似度,将两个句子向量相似度的加权平均数作为所述第一目标意图组与所述第三目标意图组的句子向量相似度。
[0025] 在一种可行实现方式中,所述基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息,生成候选意图组,还包括:
[0026] 基于所述第一目标意图组中的当前意图,利用预先设置的语义提取模型对所述用户可能的回复进行语义提取,判断提取出的语义是否包含所述候选意图组的跳转条件对应的语义;所述用户可能的回复包括:基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息;
[0027] 当提取出的语义不包含所述候选意图组的跳转条件对应的语义,则删除所述候选意图组,得到更新后的候选意图组。
[0028] 在一种可行实现方式中,所述基于所述当前意图可能跳转的,所述目标备选意图之外的其它备选意图,生成候选意图组,包括:
[0029] 确定所述备选意图中除所述目标备选意图以外的其他备选意图,及所述候选意图组中的第一意图除所述第二意图以外的其他预期下一轮意图;
[0030] 遍历所述其他备选意图,对于遍历到的其他备选意图,将所述其他备选意图分别与所述其他预期下一轮意图进行比较,确定所述其他预期下一轮意图中符合预设的第一条件的意图的数量;
[0031] 若所述符合预设的第一条件的意图的数量符合预设的第二条件,则保留所述候选意图组,若所述符合预设的第一条件的意图的数量不符合预设的第二条件,则删除所述候选意图组,以实现对所述候选意图组的更新。
[0032] 在一种可行实现方式中,所述根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件,包括:
[0033] 基于语义相似度原则,根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。
[0034] 在一种可行实现方式中,所述从所述候选意图组中选择第二目标意图组,包括:
[0035] 从所述候选意图组中选择句子向量相似度最大的候选意图组作为所述第二目标意图组;
[0036] 或者,
[0037] 输出所述候选意图组所对应的跳转条件,若检测到用户对跳转条件的选择操作,则确定用户选择的跳转条件对应的候选意图组为所述第二目标意图组。
[0038] 在一种可行实现方式中,所述跳转条件由一个或一组模板三元组,以及所述模板三元组之间的逻辑关系组成,每个所述模板三元组由一个语义/句法关系和两个带值域的模板节点组成。
[0039] 在一种可行实现方式中,所述值域是一个集合,或者是基于语义相似性的模糊匹配。
[0040] 在一种可行实现方式中,基于所述模板三元组是否被满足的状态,根据所述跳转条件中的逻辑关系,得到跳转条件是否被用户回复所满足,所述模板三元组被满足是指:从所述用户的可能的回复中提取出的三元组,存在有任何一个三元组与所述模板三元组的语义/句法关系相同,且三元组两端的词、词组或实体,分别属于所述模板三元组两端对应的值域。
[0041] 为实现上述目的,本发明第二方面提供一种跳转条件的自动生成装置,所述装置包括:
[0042] 意图确定模块:用于在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;
[0043] 条件生成模块:用于根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。
[0044] 为实现上述目的,本发明第三方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如第一方面及任一可行实现方式所示步骤。
[0045] 为实现上述目的,本发明第四方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面及任一可行实现方式所示步骤。
[0046] 采用本发明实施例,具有如下有益效果:
[0047] 本发明实施例公开了一种跳转条件的自动生成方法,该方法包括:在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,当前意图及备选意图为系统要表达给用户的意图;根据当前意图及备选意图进行跳转条件的生成,得到当前意图下,基于用户的可能的回复跳转至备选意图所需要的跳转条件。通过当前轮和下一轮中系统要表达给用户的意图进行跳转条件的自动生成,进而实现基于用户的可能的回复以及所生成的跳转条件跳转至对应的备选意图,实现由系统自动生成跳转条件,提高对话系统开发的灵活性,提高开发效率。

附图说明

[0048] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049] 其中:
[0050] 图1为本发明实施例中一种跳转条件的自动生成方法的流程图;
[0051] 图2为本发明实施例中一种自动对话场景;
[0052] 图3为本发明实施例中如图2所示一种自动对话场景的语境单元结构图;
[0053] 图4为本发明实施例中一种跳转条件的自动生成方法的另一流程图;
[0054] 图5为本发明实施例中一种跳转条件的自动生成装置的结构框图;
[0055] 图6为本发明实施例中计算机设备的结构框图。

具体实施方式

[0056] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057] 图1本发明实施例中一种跳转条件的自动生成方法的流程图,如图1所示方法包括:
[0058] 101、在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;
[0059] 在开发自动对话系统(自动对话机器人,chatbot)的过程中,为了提高机器人与用户之间对话的交互体验,开发者往往会设置当前意图及备选意图,当前意图和备选意图都是指系统要表达给用户的意图,为了能够实现与用户的对话,需要确定当前意图跳转至备选意图的跳转条件,该跳转条件是与用户可能的回答相关的。
[0060] 其中,意图指识别提问者或沟通对象的潜在目的及表达诉求。也可以通俗理解为在对话过程中每句话意图是指对所表达的内容的含义或语义。
[0061] 示例性的,可参阅图2,图2为本发明实施例中一种自动对话场景,例如图2所示的“我们明天要去哪里玩呀?”“我想去游乐园玩”等等都可以称为意图。进一步的,BOT意图代表了自动对话系统的意图,用户回答代表了用户的意图。
[0062] 可以理解的是,上述的当前意图及备选意图均是指系统需要表达给用户的意图,如图2中的bot意图。
[0063] 102、根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。
[0064] 需要说明的是,通过当前意图以及备选意图生成基于用户的可能的回复从当前意图跳转至与备选意图所需要的跳转条件。其中,跳转条件由一个或一组模板三元组,以及模板三元组之间的逻辑关系组成,每个模板三元组由一个语义/句法关系和两个带值域的模板节点组成。值域是一个集合,或者是基于语义相似性的模糊匹配,示例性的,值域集合可以由上位概念对应的各个可能的下位概念构成,例如表示地点的值域集合可以是:“北京+上海+广州+深圳”。进而,跳转条件就是判断当前意图和备选意图之间是否满足模板三元组的关系,由下述的模板三元组和模板三元组是否被满足的条件组合而成。
[0065] 其中,逻辑关系是指多个三元组之间的与、或、非等关系,三元组通过语义/句法关系抽取得到,而语义/句法关系抽取的主要任务就是,对当前意图、备选意图以及用户的可能的回复,抽取用户的可能的回复的句子中的两个实体以及实体之间的语义/句法关系,进而构建一个三元组{p(s,o)},s是subject表示三元组的一端的词、词组或实体,o为object表示三元组的另一端的词、词组或实体,p为predicate表示三元组两端的词、词组或实体之间的语义/句法关系。其中,{p(s,o)}可以理解的“s和o存在语义/句法关系p”。当然一个句子中可能不止两个实体,从而也不止一种语义/句法关系,进而三元组可以存在多个。
[0066] 进一步的,基于模板三元组是否被满足的状态,根据跳转条件中的逻辑关系,得到跳转条件是否被用户回复所满足,模板三元组被满足是指:从用户的可能的回复中提取出的三元组,存在有任何一个三元组与模板三元组的语义/句法关系相同,且三元组两端的词、词组或实体,分别属于模板三元组两端对应的值域。示例性的,用户可能的回复中存在第一三元组{去哪(我,上海)},模板三元组为{去哪(我+张三+你+他+她+它,北京+上海+广州+深圳)},首先,因第一三元组“去哪”和模板中三元组的“去哪”相匹配,即主义关系(语义/句法关系)匹配,其次,第一三元组中“我”在模板三元组值域“我+张三+你+他+她+它”中存在,即符合值域范围;第一三元组中“上海”在模板三元组值域“北京+上海+广州+深圳”中存在,即符合值域范围,因此,判定模板三元组被用户可能的回复所满足。
[0067] 继续参考图3,图3为本发明实施例中如图2所示一种自动对话场景的语境单元结构图,在不同的对话语境中,开发者可以设计语境单元和决定跳转到其他语境的判断条件(跳转条件)。且语境单元包含意图及至少一个跳转条件,在图3中语境单元A0可以表示为当前轮的对话语境,在该语境单元A0中的bot意图所表达的意思为“我们明天要去哪里玩呀?”,而语境单元A1以及A2中包含的bot意图可以表示为下一轮对话的语境单元中的备选意图,为了实现语境单元A0中的bot意图到语境单元A1中的bot意图的跳转,或者实现语境单元A0中的bot意图到语境单元A2中的bot意图的跳转,进而设置了不同的跳转条件,比如语境单元A0中的bot意图到语境单元A1中的bot意图的跳转的判断条件可以为“去哪(去,游乐园)”或“去干什么(去,看电影)”;语境单元A0中的bot意图到语境单元A2中的bot意图的跳转的判断条件可以为“去干什么(去,看奶奶)”。其中,判断条件也即跳转条件。
[0068] 可以理解的是,在确定跳转条件之后,自动对话系统在使用过程中,输出上述的语境单元A0中的意图所表达的内容之后,可以基于用户的实际回答与跳转条件进行匹配,若查找到匹配的跳转条件,则输出所述跳转条件下的bot意图对表达的内容。
[0069] 本发明实施例公开了一种跳转条件的自动生成方法,该方法包括:在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,当前意图及备选意图为系统要表达给用户的意图;根据当前意图及备选意图进行跳转条件的生成,得到当前意图下,基于用户的可能的回复跳转至备选意图所需要的跳转条件。通过当前轮和下一轮中系统要表达给用户的意图进行跳转条件的自动生成,进而实现基于用户的可能的回复以及所生成的跳转条件跳转至对应的备选意图,实现由系统自动生成跳转条件,提高对话系统开发的灵活性,提高开发效率。
[0070] 请继续参阅图4,图4本发明实施例中一种跳转条件的自动生成方法的另一流程图,如图4所示方法包括:
[0071] 401、在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;
[0072] 需要说明的是,步骤401与步骤101所示内容相似,为避免重复此处不作赘述,具体可参考前述步骤101所示内容。
[0073] 402、确定第一目标意图组,所述第一目标意图组包括所述当前意图,及目标备选意图,所述目标备选意图为所述多个备选意图中的任意一个;
[0074] 403、获取候选意图组,所述候选意图组包括第一意图及第二意图,且所述第一意图和所述第二意图之间有跳转条件。
[0075] 404、以人工、自动或半自动的方法,从所述候选意图组中选择第二目标意图组,将所述第二目标意图组中的第一意图跳转至第二意图的跳转条件确定为所述第一目标意图组中当前意图跳转至目标备选意图的跳转条件。
[0076] 可以理解的是,在对话场景中,用户回答千变万化,因此,当前意图的备选意图也会存在多个,通过将当前意图与每个备选意图进行组合,进而得到多个意图组,例如当前意图为A0,备选意图包括A1、A2…An,则意图组可以为A0‑A1,A0‑A2,…A0‑An。可以理解的是,是需要得的各个意图组的跳转条件,为了便于理解,将以其中的一个意图组为例进行描述,例如,以意图组A0‑A1为例,确定从意图A0跳转至意图A1的跳转条件,且将该意图组作为第一目标意图组,其中,意图A0为当前意图,意图A1为上述的目标备选意图,进一步地,其他意图组也可以使用相似的方式确定跳转条件,此处不做赘述。
[0077] 在本申请实施例中,上述的获取候选意图可以是:基于第一目标意图组和系统中既往存在的语境单元中的意图数据,生成候选意图组。其中,系统中既往存在的已经单元,可以是系统中自动、半自动或人工设置的语境单元,可以基于该语境单元构成意图组集合,使得意图组集合包含在自动、人工或半自动设置的语境单元(即继往存在的语境单元)所构成的所有意图组,该意图组包含两个意图和一个跳转条件,该两个意图分别为当前轮语境单元的意图,和下一轮语境单元中的意图,该跳转条件为从当前轮语境单元的意图跳转至下一轮语境单元中的意图所需要的条件。且进一步地,可以根据该意图组集合和第一目标意图组生成候选意图组。
[0078] 另外的,在基于第一目标意图组和系统中既往存在的语境单元中的意图数据,生成候选意图组的基础上,还可以基于开发者提供的,与第一目标意图组对应的,用户可能的回答例句信息,生成候选意图组。
[0079] 或者,在基于第一目标意图组和系统中既往存在的语境单元中的意图数据,生成候选意图组的基础上,还可以基于当前意图可能跳转的,目标备选意图之外的其他备选意图,以及当前意图与其他备选意图之间用户可能的回答例句信息,生成候选意图组。
[0080] 为了更好地理解上述技术方案,下面将详细论述,获取候选意图组的几种方式。
[0081] 在一种可行的实现方式中,上述步骤中的基于所述第一目标意图组和系统中继往存在的语境单元中的意图数据,生成候选意图组,具体可以包括:
[0082] A、确定所述系统中继往存在的语境单元中包含的意图组集合;
[0083] B、分别计算所述第一目标意图组分别与所述意图组集合中的各个意图组的句子向量相似度;
[0084] C、将所述意图组集合中,句子向量相似度最高的前N个意图组作为所述候选意图组。
[0085] 在本申请实施例中,需要将上述的第一目标意图组分别与上述的意图组集合中的所有意图组分别进行比较,以得到满足预设条件的候选意图组。
[0086] 在一种可行实现方式中,可以通过句子向量相似度的方式进行计算,且第一目标意图组与各个意图组的句子向量相似度可以进行如下计算,具体的步骤B可以包括:
[0087] a、获取所述第一目标意图组中当前意图描述句子的第一句子向量,及所述目标备选意图描述句子的第二句子向量,及确定所述意图组集合中的第三目标意图组的第一意图描述句子的第三句子向量,所述第三目标意图组的第二意图描述句子的第四句子向量,所述第三目标意图组为所述意图组集合中的任意一组;
[0088] b、计算所述第一句子向量与所述第三句子向量的句子向量相似度,及计算所述第二句子向量与所述第四句子向量的句子向量相似度,将两个句子向量相似度的加权平均数作为所述第一目标意图组与所述第三目标意图组的句子向量相似度。
[0089] 示例性的,第一目标意图组包括当前意图A0‑目标备选意图A1,第三目标意图组为意图组集合中的任意一组,包括第一意图B0‑第二意图B1,进而对于第一目标意图组与第三目标意图组的句子向量相似度相,可以先通过分别获取意图A0、A1、B0及B1的描述句子的句子向量,得到四个句子向量,接着以A0‑B0为一组,A1‑B1为另一组,分别计算两组句子向量相似度,得到两个句子向量相似度,最后将两组结果求加权平均数作为第三目标意图组与第一目标意图组的句子向量相似度。
[0090] 进一步的,对意图组集合中各个意图组,重复上述步骤B计算过程,分别得到各个意图组与第一目标意图组的句子向量相似度,进而在意图组集合中找出相似度最高的前N个意图组,得到候选意图组。其中,候选意图组包括第一意图及第二意图,且所述第一意图和所述第二意图之间有跳转条件;需要说明的是,第一意图与第二意图是相邻的两个意图,这两个意图互为上下语境单元中的bot意图,因此,第一意图和所述第二意图之间有跳转条件。
[0091] 以上即为基于第一目标意图组和系统中既往存在的语境单元中的意图数据,生成候选意图组,进一步地,还可以基于开发者提供的,与第一目标意图组对应的,用户可能的回答例句信息生成候选意图组,以实现对候选意图组进行进一步的筛选,以提高生成的跳转条件的准确性。
[0092] 具体的,基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息生成候选意图组还包括:基于所述第一目标意图组中的当前意图,利用预先设置的语义提取模型对所述用户可能的回复进行语义提取,判断提取出的语义是否包含所述候选意图组的跳转条件对应的语义;所述用户可能的回复包括:基于开发者提供的,与所述第一目标意图组对应的,用户可能的回答例句信息;当提取出的语义不包含所述候选意图组的跳转条件对应的语义,则删除所述候选意图组,得到更新后的候选意图组,使得能够通过语义提取模型对候选意图组B0‑B1意图组的中的意图B0对应的用户可能的回答进行语义提取,判断提取出来的语义中是否包含候选意图组B0‑B1的跳转条件TB的跳转语义,进一步将不能提取到跳转条件TB的跳转语义的意图组从候选意图组中剔除,得到更新后的候选意图组。
[0093] 在另一种可行实现方式中,在基于第一目标意图组和系统中既往存在的语境单元中的意图数据,生成候选意图组之后,还可以基于所述当前意图可能跳转的,目标备选意图之外的其它备选意图,以及所述当前意图与所述其它备选意图之间用户可能的回答例句信息,生成候选意图组,以实现对候选意图组进行进一步的筛选,以提高生成的跳转条件的准确性。其中,可以先基于当前意图与其他备选意图之间用户可能的回答例句信息,生成候选意图组,该方式具体可以参阅前述相关内容,此处不做赘述,进一步地还可以基于当前意图可能跳转的,目标备选意图之外的其他备选意图,生成候选意图组。
[0094] 具体的,基于当前意图可能跳转的,目标备选意图之外的其他备选意图,生成候选意图组,包括:
[0095] I、确定所述备选意图中除所述目标备选意图以外的其他备选意图,及所述候选意图组中的第一意图除所述第二意图以外的其他预期下一轮意图;
[0096] II、遍历所述其他备选意图,对于遍历到的其他备选意图,将所述其他备选意图分别与所述其他预期下一轮意图进行比较,确定所述其他预期下一轮意图中符合预设的第一条件的意图的数量;
[0097] III、若所述符合预设的第一条件的意图的数量符合预设的第二条件,则保留所述候选意图组,若所述符合预设的第一条件的意图的数量不符合预设的第二条件,则删除所述候选意图组,以实现对所述候选意图组的更新。
[0098] 示例性的,在前面已经得到N个候选意图组,该N个候选意图组中包含N个跳转条件,为了进一步地进行筛选,以第一目标意图组为A0‑A1为例,其中,目标备选意图A0的其他备选意图还包括A2,A3,A4,……,An,候选意图组以候选意图组B0‑B1为例,B0的下一轮意图中除了B1以外,还包括B2,B3,B4...Bm,具体的筛选方式包括:
[0099] 基于当前意图A0的预期的下一轮的其它备选意图A2,与第一意图B0的其他预期下一轮意图依次对比,找到符合第一条件(比如相似度达到指定值)的第二意图Bx并记录,其中,x为2至m中的一个或多个,同理,对于其他的意图,选择当前意图A0的其它预期下一轮意图A3,重复与B0的其他预期下一轮第二意图依次对比,找出符合第一条件的意图By并记录,其中,y为2至m中的一个或多个,重复此过程,直到完成所有A0的其它预期下一轮意图,与第一意图B0的其他预期下一轮第二意图Bm依次对比,得到意图A2,A3,A4,……,An分别对应的符合第一条件的第二意图。
[0100] 进一步地,根据找出的符合第一条件的第二意图的数量及备选意图的数据,确定是否保留候选意图组B0‑B1,比如当前意图A0的下一轮的备选意图有7个,利用这七个备选意图,在第一意图B0的其他下一轮第二意图中匹配到符合第一条件的第二意图有4个,则匹配比例为4/7,若第二条件(筛选条件)为满足一半即1/2的匹配条件,则确定保留候选意图组B0‑B1,若第二条件为满足2/3,则删除该候选意图组B0‑B1。
[0101] 在一种可行实现方式中,步骤102,还可以包括:基于语义相似度原则,根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。需要理解的是,基于语义相似度原则确定跳转条件的方式是一种可行的方式,在实际应用中还可以根据其他的方式确定跳转条件,此处不做赘述。
[0102] 需要说明的是,上述根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件的步骤与步骤102所示内容相似,为避免重复此处不作赘述,具体可参考前述步骤102所示内容。
[0103] 其中,语义相似度本质上指距离度量,但语义相似度实际上与距离的度量在数值的指示刚好相反,如果是距离度量,数值越小,表明对象的距离越近,因而相似度越高;而语义相似度,则是数值越小,表明对象的相似度越低,因而距离越大。因此,通过语义相似度的判断就可以生成对应的跳转条件,提高对话系统开发的灵活性。
[0104] 具体的,基于语义相似度原则,在已有的自动、人工或半自动设置的语境单元中查找与所述第一目标意图组相似度满足预设条件的候选意图组,所述候选意图组包括第一意图及第二意图,且第一意图和所述第二意图相邻,且所述第一意图与所述当前意图的语义相似度满足预设条件,所述第二意图与所述目标备选意图的语义相似度满足预设条件;
[0105] 其中,预设条件可以由用户设置,用于在已有的自动、人工或半自动设置的语境单元中查找与第一目标意图组相似度满足该预设条件的候选意图组,确定第一目标意图组的跳转条件。预设条件包括但不限于与相似度相关的阈值区间或任一种可实现判断的条件设置。
[0106] 可以理解的是,第一意图与第二意图相邻是指这两个意图互为上下语境单元中的bot意图,可以通过先利用当前意图的语义在已有的自动、人工或半自动设置的语境单元中进行查找,进而查找到符合预设条件的第一意图,在该第一意图的所有跳转条件所跳转至的意图作为第二意图的搜索范围,进而利用目标备选意图在上述搜索范围中进行查找,直至得到符合预设条件的第二意图,进而得到包括第一意图和第二意图的候选意图组。
[0107] 进一步的,具有多个候选意图组时,则表示有多个候选的跳转条件时,步骤404,可以包括:从所述候选意图组中选择句子向量相似度最大的候选意图组作为第二目标意图组,将该第二目标意图组的跳转条件作为上述当前意图跳转至目标备选意图的跳转条件;或者,输出所述候选意图组所对应的跳转条件,若检测到用户对跳转条件的选择操作,则确定用户选择的跳转条件对应的候选意图组为所述第二目标意图组。
[0108] 在一种可行实现方式中,最后用户还可以根据剩下的候选意图组进行自己的选择,或者修改各个筛选条件重新对候选意图组进行筛选,而在用户选择了跳转条件TA后,系统会根据用户所选跳转条件自动生成到开发平台中,供用户进一步自定义修改。
[0109] 本发明实施例公开了一种跳转条件的自动生成方法,该方法包括:在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,当前意图及备选意图为预先设置的系统要表达给用户的意图;确定第一目标意图组,第一目标意图组包括当前意图,及目标备选意图,目标备选意图为多个备选意图中的任意一个;获取候选意图组,候选意图组包括第一意图及第二意图,且第一意图和第二意图之间有跳转条件;以人工、自动或半自动的方法,从候选意图组中选择第二目标意图组,将第二目标意图组中的第一意图跳转至第二意图的跳转条件确定为第一目标意图组中当前意图跳转至目标备选意图的跳转条件。通过当前轮和下一轮中系统要表达给用户的意图进行跳转条件的自动生成,进而实现基于用户的可能的回复以及所生成的跳转条件跳转至对应的备选意图,实现由系统自动生成跳转条件,提高对话系统开发的灵活性,提高开发效率。并且在生成多个跳转条件的情况下,还可以根据相邻意图的跳转条件的语义、各个意图的句子向量相似度、各意图的语义相似度、意图的匹配数量以及意图的匹配数量的筛选,进行跳转条件生成,不仅可以实现自动生成跳转条件,还可以对生成的跳转条件进行优化筛选。
[0110] 在本发明实施例中,提出了一种跳转条件的自动生成装置,可参考图5,图5为本发明实施例中一种跳转条件的自动生成装置结构框图,图5所示装置包括:
[0111] 意图确定模块501:用于在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,所述当前意图及所述备选意图为预先设置的系统要表达给用户的意图;
[0112] 条件生成模块502:用于根据所述当前意图及所述备选意图进行跳转条件的生成,得到在所述当前意图下,基于用户的可能的回复跳转至所述备选意图所需要的跳转条件。
[0113] 本发明实施例公开了一种跳转条件的自动生成装置,该装置包括:意图确定模块:用于在自动对话系统的开发过程中,确定当前轮对话的当前意图及下一轮对话的多个备选意图,当前意图及备选意图为系统要表达给用户的意图;条件生成模块:用于根据当前意图及备选意图进行跳转条件的生成,得到当前意图下,基于用户的可能的回复跳转至备选意图所需要的跳转条件。通过当前轮和下一轮中系统要表达给用户的意图进行跳转条件的自动生成,进而实现基于用户的可能的回复以及所生成的跳转条件跳转至对应的备选意图,实现由系统自动生成跳转条件,提高对话系统开发的灵活性,提高开发效率。
[0114] 图6示出了本发明实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述方法实施例中的各个步骤。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述方法实施例中的各个步骤。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0115] 在本发明实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如图1或图2所示步骤。
[0116] 在本发明实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如图1或图2所示步骤。
[0117] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0118] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0119] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。