首页 / 专利库 / 人工智能 / 对话代理 / 聊天机器人 / 对话交互方法、装置及电子设备

对话交互方法、装置及电子设备

阅读:6发布:2020-05-19

专利汇可以提供对话交互方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种对话交互方法、装置及 电子 设备,涉及 人工智能 技术领域,该方法包括:获取对话操作对应的候选回答集;其中,候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答;将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型;其中,排序模型为基于对话语料样本训练得到的;通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度;基于每个候选回答的匹配度生成候选回答的排序结果;按照排序结果回复对话操作。本发明能够有效改善人机对话效果,提升用户满意度。,下面是对话交互方法、装置及电子设备专利的具体信息内容。

1.一种对话交互方法,其特征在于,所述方法包括:
获取对话操作对应的候选回答集;其中,所述候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答;
将所述对话操作对应的对话问题和所述候选回答集输入至预先训练得到的排序模型;
其中,所述排序模型为基于对话语料样本训练得到的;
通过所述排序模型计算所述对话问题与所述候选回答集中的每个所述候选回答的匹配度;
基于每个所述候选回答的匹配度生成所述候选回答的排序结果;
按照所述排序结果回复所述对话操作。
2.根据权利要求1所述的方法,其特征在于,基于每个所述候选回答的匹配度生成所述候选回答的排序结果的步骤,包括:
根据所述候选回答的匹配度大小对每个所述候选回答进行排序,得到初始排序结果;
根据预设的处理规则对所述初始排序结果进行顺序调整,得到所述候选回答的最终排序结果;其中,所述预设的处理规则包括以下中的一种或多种:候选回答的来源优先级、候选回答的长度、候选回答与对话问题的重复度、候选回答的来源占比、候选回答中包含的词语序列的联合概率。
3.根据权利要求2所述的方法,其特征在于,当所述预设的处理规则包括所述候选回答的来源优先级时,所述根据预设的处理规则对所述初始排序结果进行顺序调整的步骤,包括:
如果所述候选回答集中包括多个候选回答,获取每个所述候选回答携带的来源标识;
其中,所述来源标识包括网络对话检索库标识、人工对话检索库标识和生成式回答标识中的一种或多种;
根据所述候选回答的来源优先级对每个所述候选回答携带的来源标识进行排序;
按照所述来源标识的排序结果对所述初始排序结果进行顺序调整。
4.根据权利要求1所述的方法,其特征在于,将所述对话操作对应的对话问题和所述候选回答集输入至预先训练得到的排序模型的步骤,包括:
如果所述对话问题包括待答复问题和所述待答复问题之前的背景对话,采用预设拼接符号将所述背景对话和所述待答复问题分别与各个所述候选回答进行拼接,得到拼接对话;
将所述拼接对话输入至预先训练得到的排序模型。
5.根据权利要求4所述的方法,其特征在于,通过所述排序模型计算所述对话问题和所述候选回答的匹配度的步骤,包括:
根据所述拼接对话中的字符生成矩阵;其中,所述矩阵中的元素为所述字符对应的字向量;
通过所述排序模型对所述矩阵进行运算,得到所述对话问题和所述候选回答的匹配度。
6.根据权利要求1所述的方法,其特征在于,按照所述排序结果回复所述对话操作的步骤,包括:
将排在首位的候选回答作为目标回答;
以所述目标回答对应的文字和/或语音回复所述对话操作。
7.根据权利要求1所述的方法,其特征在于,所述排序模型的训练过程包括:
采集对话语料样本;其中,所述对话语料样本包括单轮对话语料和多轮对话语料;
将所述多轮对话语料拆解为多个子对话语料;所述子对话语料中包含至少一轮上下文对话;
基于所述轮对话语料和所述子对话语料得到正样本对话语料和负样本对话语料;
利用所述正样本对话语料和所述负样本对话语料训练二分类模型,得到所述排序模型。
8.根据权利要求7所述的方法,其特征在于,所述采集对话语料样本的步骤,包括:
通过网络爬虫获取网络对话;
对所述网络对话进行数据清洗和数据质量标注,得到对话语料样本。
9.根据权利要求7所述的方法,其特征在于,将所述多轮对话语料拆解为多个子对话语料的步骤,包括:
将所述多轮对话语料中首轮对话的回答作为起始拆解节点,对所述多轮对话语料中位于所述起始拆解节点之后的对话进行拆解,得到多个拆解节点;
对于每个所述拆解节点,均将该拆解节点与该拆解节点之前的对话确定为子对话语料;所述子对话语料的数量与所述拆解节点的数量相等。
10.根据权利要求7所述的方法,其特征在于,所述基于所述轮对话语料和所述子对话语料得到正样本对话语料和负样本对话语料的步骤,包括:
对所述单轮对话语料和所述子对话语料进行采样,得到正样本对话语料;
在所述单轮对话语料和所述子对话语料中任意选取一句结尾回答;
采用任意选取的所述结尾回答替换所述正样本对话语料中的原始回答,得到负样本对话语料。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法应用于配置有交互式用户接口聊天机器人,所述交互式用户接口包括:聊天操作界面和/或语音采集器。
12.一种对话交互装置,其特征在于,包括:
回答获取模,用于获取对话操作对应的候选回答集;其中,所述候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答;
模型输入模块,用于将所述对话操作对应的对话问题和所述候选回答集输入至预先训练得到的排序模型;其中,所述排序模型为基于对话语料样本训练得到的;
匹配度计算模块,用于通过所述排序模型计算所述对话问题与所述候选回答集中的每个所述候选回答的匹配度;
排序模块,用于基于每个所述候选回答的匹配度生成所述候选回答的排序结果;
回复模块,用于按照所述排序结果回复所述对话操作。
13.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至11任一项所述的方法的步骤。

说明书全文

对话交互方法、装置及电子设备

技术领域

[0001] 本发明涉及人工智能技术领域,尤其是涉及一种对话交互方法、装置及电子设备。

背景技术

[0002] 人机自动对话是人工智能领域的重要应用,目前多采用自然语言处理技术实现自动对话。在人机对话技术中,通常是首先设置多个匹配子模型,不同子模型用于计算不同方式产生的候选回答与用户问题之间的匹配度;然后将多个子模型的匹配度和预设的与回答有关的人工特征输入至基于GBDT(Gradient Boosting Decision Tree,梯度提升决策树)或Xgboost的树模型,通过树模型输出各候选回答的得分;最后根据得分对候选回答进行排序,挑选出得分最高的回答返回给用户。
[0003] 但是,发明人经研究发现,在上述方式中,由于不同子模型计算匹配度的过程并不统一,子模型之间的差异性导致候选回答的排序结果不准确,致使给用户的回答难以让用户满意;同时,多个子模型的资源消耗过大且部署繁琐,导致回答的排序结果的生成效率较低,无法及时响应用户,综合导致人机对话效果不佳,用户体验较差。

发明内容

[0004] 本发明的目的在于提供一种对话交互方法、装置及电子设备,能够有效改善人机对话效果,提升用户满意度。
[0005] 本发明提供一种对话交互方法,该方法包括:获取对话操作对应的候选回答集;其中,候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答;将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型;其中,排序模型为基于对话语料样本训练得到的;通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度;基于每个候选回答的匹配度生成候选回答的排序结果;按照排序结果回复对话操作。
[0006] 进一步的,基于每个候选回答的匹配度生成候选回答的排序结果的步骤,包括:根据候选回答的匹配度大小对每个候选回答进行排序,得到初始排序结果;根据预设的处理规则对初始排序结果进行顺序调整,得到候选回答的最终排序结果;其中,预设的处理规则包括以下中的一种或多种:候选回答的来源优先级、候选回答的长度、候选回答与对话问题的重复度、候选回答的来源占比、候选回答中包含的词语序列的联合概率。
[0007] 进一步的,当预设的处理规则包括候选回答的来源优先级时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,包括:如果候选回答集中包括多个候选回答,获取每个候选回答携带的来源标识;其中,来源标识包括网络对话检索库标识、人工对话检索库标识和生成式回答标识中的一种或多种;根据候选回答的来源优先级对每个候选回答携带的来源标识进行排序;按照来源标识的排序结果对初始排序结果进行顺序调整。
[0008] 进一步的,将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型的步骤,包括:如果对话问题包括待答复问题和待答复问题之前的背景对话,采用预设拼接符号将背景对话和待答复问题分别与各个候选回答进行拼接,得到拼接对话;将拼接对话输入至预先训练得到的排序模型。
[0009] 进一步的,通过排序模型计算对话问题和候选回答的匹配度的步骤,包括:根据拼接对话中的字符生成矩阵;其中,矩阵中的元素为字符对应的字向量;通过排序模型对矩阵进行运算,得到对话问题和候选回答的匹配度。
[0010] 进一步的,按照排序结果回复对话操作的步骤,包括:将排在首位的候选回答作为目标回答;以目标回答对应的文字和/或语音回复对话操作。
[0011] 进一步的,排序模型的训练过程包括:采集对话语料样本;其中,对话语料样本包括单轮对话语料和多轮对话语料;将多轮对话语料拆解为多个子对话语料;子对话语料中包含至少一轮上下文对话;基于轮对话语料和子对话语料得到正样本对话语料和负样本对话语料;利用正样本对话语料和负样本对话语料训练二分类模型,得到排序模型。
[0012] 进一步的,采集对话语料样本的步骤,包括:通过网络爬虫获取网络对话;对网络对话进行数据清洗和数据质量标注,得到对话语料样本。
[0013] 进一步的,将多轮对话语料拆解为多个子对话语料的步骤,包括:将多轮对话语料中首轮对话的回答作为起始拆解节点,对多轮对话语料中位于起始拆解节点之后的对话进行拆解,得到多个拆解节点;对于每个拆解节点,均将该拆解节点与该拆解节点之前的对话确定为子对话语料;子对话语料的数量与拆解节点的数量相等。
[0014] 进一步的,基于轮对话语料和子对话语料得到正样本对话语料和负样本对话语料的步骤,包括:对单轮对话语料和子对话语料进行采样,得到正样本对话语料;在单轮对话语料和子对话语料中任意选取一句结尾回答;采用任意选取的结尾回答替换正样本对话语料中的原始回答,得到负样本对话语料。
[0015] 进一步的,上述对话交互方法应用于配置有交互式用户接口聊天机器人,交互式用户接口包括:聊天操作界面和/或语音采集器。
[0016] 本发明提供一种对话交互装置,该装置包括:回答获取模,用于获取对话操作对应的候选回答集;其中,候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答;模型输入模块,用于将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型;其中,排序模型为基于对话语料样本训练得到的;匹配度计算模块,用于通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度;排序模块,用于基于每个候选回答的匹配度生成候选回答的排序结果;回复模块,用于按照排序结果回复对话操作。
[0017] 本发明提供一种电子设备,其中,包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上任一项所述的方法。
[0018] 本发明提供一种计算机可读存储介质,其中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行如上任一项所述方法的步骤。
[0019] 本发明实施例提供的上述对话交互方法、装置及电子设备,能够获取对话操作对应的候选回答集;将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型;通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度;基于每个候选回答的匹配度生成候选回答的排序结果;按照排序结果回复对话操作。相对于现有通过多个子模型分别计算问题与每个回答的匹配度的方式,本实施例上述这种将对话操作对应的候选回答集统一输入排序模型,并通过排序模型直接计算对话问题与每个候选回答的匹配度的方式,不但可以简化模型的部署,有效提升了排序结果的生成效率,还可以避免现有技术中存在的对话问题与各候选回答在计算匹配度过程中存在的差异性,也即提高了匹配度计算过程的一致性,从而有效提高了回答排序结果的准确性。综上,本实施例提供的人机交互方法能够较为及时准确地响应用户,较好地改善了人机对话效果,提升了用户满意度。附图说明
[0020] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1为本发明实施例提供的对话交互方法流程图
[0022] 图2为本发明实施例提供的排序模型训练方法流程图;
[0023] 图3为本发明实施例提供的排序模型对候选答案进行排序的示意图;
[0024] 图4为本发明实施例提供的对话交互方法装置的结构框图
[0025] 图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0026] 下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 考虑到现有的对话交互方法难以及时响应用户,而且回答准确率较低,本发明实施例提供了一种对话交互方法、装置及电子设备,能够较为及时准确地响应用户,较好地改善人机对话效果,提升用户满意度。该技术可以应用于手机、智能手表、计算机、聊天机器人、车辆等配置有交互式用户接口并可实现对话交互的电子设备上。
[0028] 为便于对本实施例进行理解,首先对本发明实施例所公开的一种对话交互方法进行详细介绍。
[0029] 参照图1所示的对话交互方法,主要包括如下步骤S102至步骤S110:
[0030] 步骤S102,获取对话操作对应的候选回答集;其中,候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答。
[0031] 在一种可能的实施方式中,可以是通过响应针对于交互式用户接口的对话操作以获取对话操作对应的候选回答集。该对话操作通常为用户主动发起或者由聊天机器人等设备主动邀请,并通过交互式用户接口进行的人机对话的操作;例如,对话操作可以为语音采集器采集的用户发起的语音操作,也可以为聊天操作界面采集的用户输入的文字操作。对话操作对应有用户发送的对话问题和设备提供的候选回答集;其中,候选回答集是由多个候选回答组成的集合。候选回答包括基于对话问题在对话检索库中检索得到的至少一个检索回答和/或通过对话生成类模型生成的至少一个生成回答。
[0032] 步骤S104,将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型。其中,排序模型为基于对话语料样本训练得到的。
[0033] 在一种具体的实施方式中,可以基于预先采集的对话语料样本对二分类模型进行训练得到排序模型,以使排序模型执行步骤S106。
[0034] 步骤S106,通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度。
[0035] 在本实施例中,排序模型可以将对话问题中的每个字符均映射为对应的字向量,将各候选回答中的每个字符均映射为对应的字向量,从而将输入的对话问题和每个候选回答编译为矩阵;矩阵可用于表示对话问题和候选回答之间的交互信息,根据该矩阵得到对话问题与每个候选回答的匹配度。
[0036] 步骤S108,基于每个候选回答的匹配度生成候选回答的排序结果。
[0037] 可以理解,匹配度越高的候选回答越有可能被确定为对话问题的回答输出,因此可以参照匹配度对候选回答进行排序;诸如可以直接按照匹配度的大小对候选回答进行排序,或者,还可以将匹配度与其它参考因素(如候选回答的长度、候选回答与对话问题的重复度等)相结合对候选回答进行排序,得到候选回答的排序结果。
[0038] 步骤S110,按照排序结果回复对话操作。
[0039] 本实施例可以根据排序结果中排名最靠前的一个或者多个候选回答回复对话操作。其中,根据排序结果中排名最靠前的多个候选回答回复对话操作的实际应用场景诸如:由设备向人工客服推荐话术的场景中,设备可以按照排序结果给出多个候选回答作为推荐的话术,再由人工客服从推荐的话术中选择最佳回答,并将最佳回答回复给发起对话操作的用户。
[0040] 本发明实施例提供的上述对话交互方法,能够获取对话操作对应的候选回答集;将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型;通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度;基于每个候选回答的匹配度生成候选回答的排序结果;按照排序结果回复对话操作。相对于现有通过多个子模型分别计算问题与每个回答的匹配度的方式,本实施例上述这种将对话操作对应的候选回答集统一输入排序模型,并通过排序模型直接计算对话问题与每个候选回答的匹配度的方式,不但可以简化模型的部署,有效提升了排序结果的生成效率,还可以避免现有技术中存在的对话问题与各候选回答在计算匹配度过程中存在的差异性,也即提高了匹配度计算过程的一致性,从而有效提高了回答排序结果的准确性。综上,本实施例提供的人机交互方法能够较为及时准确地响应用户,较好地改善了人机对话效果,提升了用户满意度。
[0041] 在执行上述步骤S104中,可以将对话操作对应的对话问题和候选回答进行拼接之后再输入至排序模型中。其中,对话操作对应的对话问题可以为由用户首次发起的仅包括待答复问题的单轮对话,还可以为包括至少一问一答的多轮对话,为便于理解,以下分别进行阐述:
[0042] (一)如果对话问题为多轮对话,即包括待答复问题和待答复问题之前的背景对话,采用预设拼接符号将背景对话和待答复问题分别与各个候选回答进行拼接,得到拼接对话。
[0043] 为了便于理解,可给出对话问题的如下示例:{a1、a2、a3、a4},该对话问题示例中的结尾语句a4为待答复问题,待答复问题a4之前的语句a1、a2和a3为背景对话;候选回答集示例为:{b1、b2……b9、b10}。采用预设拼接符号(诸如“+”、“

”)将背景对话和待答复问题分别与各个候选回答进行拼接,得到的拼接对话为:a1+a2+a3+a4+b1,a1+a2+a3+a4+b2,……a1+a2+a3+a4+b10。

[0044] 然后将上述拼接对话输入至预先训练得到的排序模型。上述实施方式通过将背景对话与待答复问题、候选回答进行拼接,能够考虑到待答复问题实际发生场景,使候选回答与待答复问题的连贯性、准确性更好,有利于提高后续对候选答案进行排序的准确性。
[0045] (二)如果对话问题为仅包括待答复问题的单轮对话,采用预设的拼接符号将待答复问题分别与各个候选回答进行拼接后输入至排序模型即可。
[0046] 基于上述拼接对话,对于候选回答集中的每个候选回答,本实施例可通过如下步骤(1)和(2)计算对话问题和当前的候选回答的匹配度:
[0047] (1)根据拼接对话中的字符生成矩阵;其中,矩阵中的元素为字符对应的字向量。
[0048] 在实际应用中,将拼接对话中的各字符编码成字向量,并在编码字向量的同时考虑位置编码,进而根据各字符对应的字向量生成拼接对话对应的矩阵;其中,该字符诸如为单个汉字、单个英文单词。
[0049] (2)通过排序模型对矩阵进行运算,得到对话问题和候选回答的匹配度。该排序模型可以采用基于transformer的bert模型,排序模型基于深度注意机制计算对话问题和候选回答之间的交互依赖匹配度。
[0050] 在具体实现时,训练模型可以使用12层的Multi-head attention机制对矩阵进行运算,得到对话问题和候选回答的匹配度。
[0051] 考虑到直接根据候选回答的匹配度对候选回答进行排序,可能存在有的候选回答句子不通顺或候选回答与输入的对话问题中的背景对话过度重复等问题。本实施例提供了一种基于每个候选回答的匹配度生成候选回答的排序结果的方法,可参照如下内容:
[0052] 首先根据候选回答的匹配度大小对每个候选回答进行排序,得到初始排序结果。然后根据预设的处理规则对初始排序结果进行顺序调整,得到候选回答的最终排序结果;
其中,预设的处理规则包括但不限于以下中的一种或多种:候选回答的来源优先级、候选回答的长度、候选回答与对话问题的重复度、候选回答的来源占比、候选回答中包含的词语序列的联合概率。
[0053] 为了便于理解,本实施例针对各预设的处理规则对初始排序结果的顺序调整步骤展开描述。
[0054] 当预设的处理规则包括候选回答的来源优先级时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,可以包括:
[0055] (1)如果候选回答集中包括多个候选回答,获取每个候选回答携带的来源标识;其中,来源标识诸如为字母或数字等能够表示候选回答不同来源的标识,来源表示可以包括网络对话检索库标识、人工对话检索库标识和生成式回答标识中的一种或多种。上述网络对话检索库可以是基于爬取到的网络对话整理得到的对话检索库,人工对话检索库可以是通过人工创作对话的方式建立的对话检索库,生成式回答可以是通过预设的生成式模型自动生成的候选回答,且生成式模型一般为深度神经网络模型,如Seq2Seq模型。
[0056] (2)根据候选回答的来源优先级对每个候选回答携带的来源标识进行排序。
[0057] 不同生成方式所生成的回答各有优劣,诸如,生成式回答多样性比较好,可以生成预设回答数据库中没有出现过的回答,但是回答可能存在语法错误。基于对话检索库检索得到的回答往往比较语句比较通顺,但回答质量受限于对话检索库的质量和规模。其中,对于对话检索库中的人工对话检索库,由于其回答是由人工创作的,所以人工对话检索库中的回答质量会高于网络对话检索库。基于上述回答不同生成方式的优劣,为了得到准确性较高的候选回答,可以预先设置候选回答的来源优先级。该优先级可以为人工对话检索库高于网络对话检索库高于生成式回答。从而,可以按照该优先级对每个候选回答携带的来源标识进行排序。
[0058] (3)按照来源标识的排序结果对初始排序结果进行顺序调整。例如,候选回答的初始排序结果为b1>b2>b3>b4>b5>b6,其中,候选回答b5所携带的来源标识为人工对话检索库标识,而候选回答b1至b4所携带的来源标识为网络对话检索库标识,那么可以将候选回答b5调整至首位或者向前移动一位或多位。
[0059] 当预设的处理规则包括候选回答的长度时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,可以包括:
[0060] 第一、如果候选回答集中包括多个候选回答,获取每个候选回答的长度。第二、获取最小长度阈值和最大长度阈值;其中,该最小长度阈值和最大长度阈值可以是基于对话问题中的待答复问题和至少一条背景对话的长度设置的;也可以是基于各个候选回答的长度设置的。第三、将长度小于最小长度阈值的候选回答和长度大于最大长度阈值的候选回答的排列位置调整至靠后的位置处。
[0061] 当预设的处理规则包括候选回答与对话问题的重复度时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,可以包括:
[0062] 第一、如果候选回答集中包括多个候选回答,获取每个候选回答与对话问题的重复度。第二、获取预设的重复度范围;该重复度阈范围可以是普适性较高的预设的固定值,如30%-70%,还可以是基于对话问题中的至少一条背景对话之间的重复度设置的,该设置方式更符合当前对话问题的场景,所设置的重复度范围更为准确。第三、将重复度不在预设的重复度范围内的候选回答的排列位置调整至靠后的位置处。
[0063] 当预设的处理规则包括候选回答的来源占比时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,可以包括:
[0064] 第一、如果候选回答集中包括多个候选回答,获取候选回答的来源占比。该来源占比是指各候选回答的不同来源之间的比例,可以根据来源标识进行统计,诸如计算网络对话检索库标识、人工对话检索库标识与生成式回答标识之间的比例,或者计算每种来源标识占来源标识总数的百分比。第二、根据候选回答的来源占比对初始排序结果进行顺序调整。来源占比比较高的在一定程度上表示该来源对应的候选回答生成方式是较为成熟的技术,对应的候选回答为高质量回答的可能性较高。基于此,可以按照来源占比对初始排序结果进行顺序调整,例如,将来源占比最高的候选回答的排列位置调整至首位或者向前移动一位或者多位。
[0065] 当预设的处理规则包括候选回答中包含的词语序列的联合概率时,根据预设的处理规则对初始排序结果进行顺序调整的步骤,可以包括:
[0066] 第一、如果候选回答集中包括多个候选回答,获取候选回答中包含的词语序列的联合概率;该联合概率可以是通过预设的神经网络模型对选回答中包含的词语之间的连贯性进行评价得到的。第二、按照上述联合概率的大小对初始排序结果进行顺序调整,例如,将联合概率最大的候选回答的排列位置调整至首位或者向前移动一位或者多位。
[0067] 基于上述方式得到候选回答的最终排序结果后,可以将排在首位的候选回答作为目标回答;以目标回答对应的文字和/或语音回复对话操作。
[0068] 在实际应用中还可以将排在前几位(如前三位)的候选回答作为推荐回答;将推荐回答对应的文字和/或语音发送给人工客户,由人工客户基于推荐回答回复对话操作。
[0069] 对于上述实施例中提到的训练模型,本实施例提供一种排序模型的训练过程,参照如图2所示的排序模型训练方法流程图,包括如下步骤S202至S208:
[0070] 步骤S202,采集对话语料样本;其中,对话语料样本包括单轮对话语料和多轮对话语料。
[0071] 在一种具体实施例中,可以首先通过网络爬虫获取诸如微博、豆瓣等网络平台中的网络对话;该网络对话数据量较大,通常可以覆盖到单轮对话和多轮对话。然后对网络对话进行数据清洗和数据质量标注,得到对话语料样本。
[0072] 在对网络对话进行数据清洗时,可以预先设置多个关键词,该关键词诸如涉黄、涉政、涉暴的词语,根据预设的关键词对网络对话进行过滤。对过滤后的网络对话进行重复内容的重新编辑,如将“哈哈哈哈”类的重复内容删减为“哈哈”。此外,网络对话中可能包含数字和/或英文单词,将对疑似手机号、QQ号等隐私信息进行过滤。
[0073] 标注平台对清洗后的网络对话进行数据质量标注,该数据质量标注可以采用0到1的数字标注网络对话的质量,由0到1表示网络对话的质量由低到高。在一种较为简单的实现方式中,可以设置数据质量标注仅包括0和1,保留标注为1的网络对话,抛弃标注为0的网络对话。通过上述对网络对话的数据清洗和数据质量标注,得到对话语料样本。
[0074] 步骤S204,将多轮对话语料拆解为多个子对话语料;子对话语料中包含至少一轮上下文对话。
[0075] 考虑到在多轮对话中,前面已发生的背景对话能够反映对话的历史背景信息,对于候选回答的合理性有较大影响。因此可参照如下具体方式对多轮对话语料进行拆解:
[0076] 首先将多轮对话语料中首轮对话的回答作为起始拆解节点,对多轮对话语料中位于起始拆解节点之后的对话进行拆解,得到多个拆解节点。诸如对于多轮对话语料{a1、a2、a3、a4},将首轮对话的回答a2作为起始拆解节点,对话a2、a3和a4进行拆解,得到多个拆解节点。
[0077] 然后对于每个拆解节点,均将该拆解节点与该拆解节点之前的对话确定为子对话语料;子对话语料的数量与拆解节点的数量相等。将多轮对话语料{a1、a2、a3、a4}拆解得到的子对话语料包括:{a1、a2}、{a1、a2、a3}、{a1、a2、a3、a4}。
[0078] 步骤S206,基于轮对话语料和子对话语料得到正样本对话语料和负样本对话语料。
[0079] 关于正样本对话语料,可以对单轮对话语料和子对话语料进行全部或部分采样,得到正样本对话语料。正样本对话语料诸如{a1、a2}、{m1、m2、m3、m4}、{n1、n2、n3、n4、n5}。
[0080] 关于负样本对话语料,可以在单轮对话语料和子对话语料中任意选取一句结尾回答;采用任意选取的结尾回答替换正样本对话语料中的原始回答,得到负样本对话语料。例如:任意选取一句结尾回答诸如m4,采用该结尾回答m4替换正样本对话语料{a1、a2}中的原始回答a2,得到负样本对话语料{a1、m2};参照上述正样本对话语料,其它的负样本对话语料可以包括{m1、m2、m3、n5}、{n1、n2、n3、n4、a2}等等。
[0081] 通过采用得到的正样本对话语料和负样本对话语料的数量比例为1:1。
[0082] 步骤S208,利用正样本对话语料和负样本对话语料训练二分类模型,得到排序模型。
[0083] 基于上述方法训练得到的排序模型,可参照图3所示的排序模型对候选答案进行排序的示意图。排序模型的输入为对话操作对应的对话问题和候选回答,该对话问题可以包括待答复问题和背景对话。排序模型可划分为初步排序结构和后处理结构;初步排序结构用于根据候选回答的匹配度大小对每个候选回答进行排序,得到初始排序结果;后处理结构用于根据预设的处理规则对所述初始排序结果进行顺序调整,得到所述候选回答的最终排序结果。
[0084] 在一些实际应用场景中,上述实施例所提供的对话交互方法可以应用于配置有交互式用户接口的聊天机器人,交互式用户接口可以包括但不限于:聊天操作界面和/或语音采集器。应用于聊天机器人的对话交互方法的实现原理及产生的技术效果,可参照前述方法实施例,在此不再赘述。
[0085] 相对于现有通过多个子模型分别计算问题与每个回答的匹配度的方式,上述实施例所提供的对话交互方法将对话操作对应的候选回答集统一输入排序模型,并通过排序模型直接计算对话问题与每个候选回答的匹配度的方式,不但可以简化模型的部署,有效提升了排序结果的生成效率,还可以避免现有技术中存在的对话问题与各候选回答在计算匹配度过程中存在的差异性,也即提高了匹配度计算过程的一致性,从而有效提高了回答排序结果的准确性。综上,本实施例提供的人机交互方法能够较为及时准确地响应用户,较好地改善了人机对话效果,提升了用户满意度。
[0086] 对应于上述实施例所提供的对话交互方法的实施例,本发明实施例提供了一种对话交互装置。参见图4所述的对话交互装置的结构框图,该装置包括以下模块:
[0087] 回答获取模块402,用于获取对话操作对应的候选回答集。其中,候选回答集中的候选回答包括至少一个检索回答和/或至少一个生成回答。
[0088] 模型输入模块404,用于将对话操作对应的对话问题和候选回答集输入至预先训练得到的排序模型。其中,排序模型为基于对话语料样本训练得到的。
[0089] 匹配度计算模块406,用于通过排序模型计算对话问题与候选回答集中的每个候选回答的匹配度。
[0090] 排序模块408,用于基于每个候选回答的匹配度生成候选回答的排序结果。
[0091] 回复模块410,用于按照排序结果回复对话操作。
[0092] 本发明实施例提供的上述对话交互装置,将对话操作对应的候选回答集统一输入排序模型,并通过排序模型直接计算对话问题与每个候选回答的匹配度,通过上述方式不但可以简化模型的部署,有效提升了排序结果的生成效率,还可以避免现有技术中存在的对话问题与各候选回答在计算匹配度过程中存在的差异性,也即提高了匹配度计算过程的一致性,从而有效提高了回答排序结果的准确性。综上,本实施例提供的人机交互方法能够较为及时准确地响应用户,较好地改善了人机对话效果,提升了用户满意度。
[0093] 在一种实现方式中,上述排序模块408还用于:根据候选回答的匹配度大小对每个候选回答进行排序,得到初始排序结果;根据预设的处理规则对初始排序结果进行顺序调整,得到候选回答的最终排序结果;其中,预设的处理规则包括以下中的一种或多种:候选回答的来源优先级、候选回答的长度、候选回答与对话问题的重复度、候选回答的来源占比、候选回答中包含的词语序列的联合概率。
[0094] 在一种实现方式中,上述匹配度计算模块406还用于:如果候选回答集中包括多个候选回答,获取每个候选回答携带的来源标识;其中,来源标识包括网络对话检索库标识、人工对话检索库标识和生成式回答标识中的一种或多种;根据候选回答的来源优先级对每个候选回答携带的来源标识进行排序;按照来源标识的排序结果对初始排序结果进行顺序调整。
[0095] 在一种实现方式中,上述模型输入模块404还用于:如果对话问题包括待答复问题和待答复问题之前的背景对话,采用预设拼接符号将背景对话和待答复问题分别与各个候选回答进行拼接,得到拼接对话;将拼接对话输入至预先训练得到的排序模型。
[0096] 在一种实现方式中,上述匹配度计算模块406还用于:根据拼接对话中的字符生成矩阵。其中,矩阵中的元素为字符对应的字向量;通过排序模型对矩阵进行运算,得到对话问题和候选回答的匹配度。
[0097] 在一种实现方式中,上述回复模块410还用于:将排在首位的候选回答作为目标回答;以目标回答对应的文字和/或语音回复对话操作。
[0098] 在一种实现方式中,上述模型输入模块404还用于:采集对话语料样本;其中,对话语料样本包括单轮对话语料和多轮对话语料;将多轮对话语料拆解为多个子对话语料。子对话语料中包含至少一轮上下文对话;基于轮对话语料和子对话语料得到正样本对话语料和负样本对话语料;利用正样本对话语料和负样本对话语料训练二分类模型,得到排序模型。
[0099] 在一种实现方式中,上述模型输入模块404还用于:通过网络爬虫获取网络对话;对网络对话进行数据清洗和数据质量标注,得到对话语料样本。
[0100] 在一种实现方式中,上述模型输入模块404还用于:将多轮对话语料中首轮对话的回答作为起始拆解节点,对多轮对话语料中位于起始拆解节点之后的对话进行拆解,得到多个拆解节点;对于每个拆解节点,均将该拆解节点与该拆解节点之前的对话确定为子对话语料;子对话语料的数量与拆解节点的数量相等。
[0101] 在一种实现方式中,上述模型输入模块404还用于:对单轮对话语料和子对话语料进行采样,得到正样本对话语料;在单轮对话语料和子对话语料中任意选取一句结尾回答;采用任意选取的结尾回答替换正样本对话语料中的原始回答,得到负样本对话语料。
[0102] 在一种实现方式中,上述设备应用于配置有交互式用户接口的聊天机器人,交互式用户接口包括:聊天操作界面和/或语音采集器。
[0103] 基于前述实施例,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述实施例中对话交互方法的步骤。
[0104] 具体的,参见如图5所示的电子设备的结构示意图,还包括总线503和通信接口504,处理器502、通信接口504和存储器501通过总线503连接。
[0105] 其中,存储器501可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口504(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线503可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0106] 处理器502可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器502可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器501,处理器502读取存储器501中的信息,结合其硬件完成前述实施例的方法的步骤。
[0107] 进一步,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述实施例中的对话交互方法的步骤。
[0108] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈