基于机器人的应答方法、装置、计算机设备和存储介质与流程

文档序号:30580224发布日期:2022-06-29 11:46阅读:98来源:国知局
基于机器人的应答方法、装置、计算机设备和存储介质与流程

1.本技术涉及软件技术领域,特别是涉及一种基于机器人的应答方法、装置、计算机设备和存储介质。


背景技术:

2.随着人工智能技术的发展,出现了多种不同类型的问答机器人,比如高频问答机器人,知识图谱问答机器人和闲聊机器人等等。在选择机器人进行问答时,一般按照对话对象的当前对话内容的意图来选择对应的机器人进行问答。
3.但是,传统方法中,仅使用当前对话内容的意图来选择机器人进行应答会过于局限,在一些情况下并不能得到完全准确的回答,从而导致应答准确性比较低。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高应答准确性的基于机器人的应答方法、装置、计算机设备、存储介质和计算机程序产品。
5.第一方面,本技术提供了一种基于机器人的应答方法。所述方法包括:
6.获取当前会话中的对话对象的当前对话内容;
7.对所述当前对话内容进行意图识别,得到所述当前对话内容的意图类型;
8.从不同类型的待选的机器人中,选取类型与所述意图类型相符的机器人,得到第一候选机器人;
9.从所述待选的机器人中,确定对所述当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人;
10.基于所述第一候选机器人和所述第二候选机器人,确定至少一个目标候选机器人;
11.调度所述至少一个目标候选机器人对所述当前对话内容进行回答,得到至少一个答案;
12.基于所述至少一个答案确定所述当前对话内容的目标答案。
13.第二方面,本技术还提供了一种基于机器人的应答装置。所述装置包括:
14.获取模块,用于获取当前会话中的对话对象的当前对话内容;
15.第一筛选模块,用于对所述当前对话内容进行意图识别,得到所述当前对话内容的意图类型;从不同类型的待选的机器人中,选取类型与所述意图类型相符的机器人,得到第一候选机器人;
16.第二筛选模块,用于从所述待选的机器人中,确定对所述当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人;
17.确认模块,用于基于所述第一候选机器人和所述第二候选机器人,确定至少一个目标候选机器人;
18.答案生成模块,用于调度所述至少一个目标候选机器人对所述当前对话内容进行
回答,得到至少一个答案;基于所述至少一个答案确定所述当前对话内容的目标答案。
19.在其中一个实施例中,所述第二候选机器人包括处于未完成状态的候选机器人;所述第二筛选模块还用于从所述待选的机器人中,确定需要针对所述当前对话内容的上文对话内容做多轮应答、但未完成所述多轮应答的机器人,得到处于未完成状态的候选机器人。
20.在其中一个实施例中,所述第二候选机器人包括最近一轮应答的候选机器人;所述第二筛选模块还用于从所述待选的机器人中,确定对所述当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到所述最近一轮应答的候选机器人。
21.在其中一个实施例中,所述确认模块还用于从所述第一候选机器人和所述第二候选机器人中去除相同的候选机器人,得到所述至少一个目标候选机器人。
22.在其中一个实施例中,所述意图类型为对所述当前对话内容进行意图识别得到的意图所属的类型;所述第二候选机器人中包括最近一轮应答的候选机器人;所述确认模块还用于基于所述第一候选机器人和所述第二候选机器人确定候选机器人集合;确定所述识别到的意图所对应的意图匹配分数;所述意图匹配分数用于表征所述识别到的意图与所述当前对话内容之间的匹配程度;若所述意图匹配分数大于预设第一阈值,则从所述候选机器人集合中去除所述最近一轮应答的候选机器人,并将所述候选机器人集合中剩余的候选机器人确定为目标候选机器人。
23.在其中一个实施例中,所述第一筛选模块还用于对所述当前对话内容进行意图识别,确定所述当前对话内容的意图;根据预先配置的意图和意图类型之间的对应关系,得到与确定的所述意图对应的意图类型。
24.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述基于机器人的应答方法的步骤。
25.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述基于机器人的应答方法的步骤。
26.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行上述基于机器人的应答方法的步骤。
27.上述基于机器人的应答方法、装置、计算机设备、存储介质和计算机程序产品,获取当前会话中的对话对象的当前对话内容;对所述当前对话内容进行意图识别,得到意图类型。从不同类型的待选的机器人中,选取类型与所述意图类型相符的机器人,得到第一候选机器人。从所述待选的机器人中,确定对所述当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人,从而挑选出具有多轮应答能力、且已保存当前对话内容的上文信息的候选机器人。基于所述第一候选机器人和所述第二候选机器人,确定至少一个目标候选机器人。调度所述至少一个目标候选机器人对所述当前对话内容进行回答,得到至少一个答案,这样得到的至少一个答案不仅可以与意图类型相关,还可以与当前对话内容的上文信息相关。基于所述至少一个答案确定所述当前对话内容的目标答案。因此,基于意图类型选取第一候选机器人,基于当前对话内容的上文对话内容选取第二候选机器人,并从中再次筛选得到至少一个目标候选机器人以进行回答,从而得到准确的目标答案。
附图说明
28.图1为一个实施例中基于机器人的应答方法的应用环境图;
29.图2为一个实施例中基于机器人的应答方法的流程示意图;
30.图3为一个实施例中基于机器人的应答方法的流程示意图;
31.图4为一个实施例中基于机器人的应答装置的结构框图;
32.图5为一个实施例中基于机器人的应答装置的结构框图;
33.图6为一个实施例中计算机设备的内部结构图;
34.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
35.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
36.本技术提供的基于机器人的应答方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。数据存储系统可以存储服务器120需要处理的数据。数据存储系统可以集成在服务器120上,也可以放在云上或其他网络服务器上。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110可以采集对话对象在当前对话中的对话内容,并发送给服务器120;服务器120获取该当前对话内容;对当前对话内容进行意图识别,得到当前对话内容的意图类型。服务器120从不同类型的待选的机器人中,选取类型与意图类型相符的机器人,得到第一候选机器人。服务器120从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人。服务器120基于第一候选机器人和第二候选机器人,确定至少一个目标候选机器人。服务器120调度至少一个目标候选机器人对当前对话内容进行回答,得到至少一个答案。服务器120基于至少一个答案确定当前对话内容的目标答案。服务器120将生成的目标发送给终端110。
37.在一个实施例中,如图2所示,提供了一种基于机器人的应答方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
38.s202,获取当前会话中的对话对象的当前对话内容;对当前对话内容进行意图识别,得到当前对话内容的意图类型;从不同类型的待选的机器人中,选取类型与意图类型相符的机器人,得到第一候选机器人。
39.其中,对话对象是指使用机器人进行对话的用户。当前对话内容是对话对象所发表的最近一个对话内容,可以是文字、语音或者图片等等。意图类型是对意图的分类。可以理解,由于意图类型是对意图的分类,因此,一个意图类型可以对应多个意图。
40.具体地,终端发送当前会话中的对话对象的当前对话内容给服务器,服务器收到当前对话内容后,对当前对话内容进行意图识别,根据意图识别结果得到当前对话内容的意图类型。服务器从多个不同的待选机器人类型中,选取类型与意图类型相符的机器人,得
到第一候选机器人。
41.在一个实施例中,在对意图分类的过程中,先确定意图对应的领域,再进一步地在对应的领域内对意图进行分类,得到意图类型。比如,针对“煎鱼为什么粘锅”这一个意图,预先确定该意图对应的领域是“美食”,然后在“美食”这一领域内,对“煎鱼为什么粘锅”这一个意图进行分类,得到对应的意图类型如“咨询煎鱼粘锅”。
42.在一个实施例中,待选的机器人的类型可以是闲聊机器人、图谱问答机器人、一问一答机器人和任务型机器人等中至少一种。其中,任务型机器人是指特定条件下提供信息或服务的机器人。通常情况下是为了满足带有明确目的的用户,例如查流量,查话费,订餐,订票,咨询等。可以理解,第一候选机器人的类型与意图类型相符,比如,针对“咨询煎鱼粘锅”这一个意图类型,一问一答机器人可以与该意图类型相符,可以作为该意图类型的第一候选机器人。
43.在一个实施例中,意图和意图类型之间的对应关系是可配置的。
44.在一个实施例中,待选机器人的类型可以匹配至少一个意图类型。比如,针对美食问答机器人,可以匹配到“制作美食”和“购买美食”这两个意图类型。
45.s204,从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人。
46.其中,上文对话内容是在当前对话内容之前的至少一个对话内容。可以理解,与当前对话内容相同的是,上文对话内容也是对话对象所发表的对话内容。单轮应答是指一问一答,在对话内容中一般不涉及上下文、指代、省略或隐藏信息。可以理解,支持单轮应答的机器人是支持一问一答的机器人。相对于单轮应答,多轮应答是指多问多答。支持多轮应答的机器人是对多句对话内容做识别并进行上下文匹配后才应答的机器人。
47.具体地,服务器选取出对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,将选取出的机器人作为第二候选机器人。
48.在一个实施例中,服务器将待选的机器人分为支持单轮应答的待选的机器人和支持多轮应答的待选的机器人。
49.在一个实施例中,在选取第二候选机器人的过程中,服务器确认需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人为未完成状态的候选机器人。
50.在一个实施例中,在选取第二候选机器人的过程中,服务器确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人为最近一轮应答的候选机器人。
51.在一个实施例中,在步骤s208中,若目标候选机器人支持多轮应答,该目标候选机器人针对当前会话中的当前对话内容进行应答后,服务器将该目标候选机器人放入当前会话的应答记录中。可以理解,服务器可以从应答记录中选取出对当前对话内容的上文对话内容做应答的机器人。
52.s206,基于第一候选机器人和第二候选机器人,确定至少一个目标候选机器人。
53.具体地,服务器从第一候选机器人和第二候选机器人中,按照预设的筛选规则,从中筛选出至少一个目标候选机器人。
54.在一个实施例中,服务器可以对当前对话内容进行意图识别,得到意图。若该意图与当前对话内容之间的意图匹配分数大于预设第一阈值,则选取第一候选机器人和处于未
完成状态的候选机器人作为目标候选机器人;若该意图与当前对话内容之间的意图匹配分数小于等于预设第一阈值,选取第一候选机器人、处于未完成状态的候选机器人和最近一轮应答的候选机器人作为目标候选机器人。
55.在一个实施例中,针对当前对话内容,服务器选取第一候选机器人和第二候选机器人识失败,服务器存储当前对话内容和操作日志,便于后期优化。
56.在一个实施例中,服务器可以根据目标候选机器人的选取结果优化意图和意图类型之间的对应关系。
57.s208,调度目标候选机器人对当前对话内容进行回答,得到至少一个答案;基于至少一个答案确定当前对话内容的目标答案。
58.具体地,服务器调度目标候选机器人对当前对话内容进行回答,得到至少一个答案。服务器对至少一个答案进行处理后,生成当前对话内容的目标答案。
59.在一个实施例中,若目标候选机器人支持多轮应答能力,则更新目标候选机器人的完成状态。具体地,若目标候选机器人回答失败,则将目标候选机器人的完成状态设置为已完成状态;若目标候选机器人回答成功,获取目标候选机器人针对当前问句的目标完成状态,将目标候选机器人针对当前问句的完成状态更新为目标完成状态。
60.在一个实施例中,服务器可以对至少一个答案进行答案融合,生成当前对话内容的目标答案。具体地,服务器可以对至少一个答案中的每个答案提取关键语义特征,并基于所提取到的关键语义特征重新生成新的答案,该新的答案即为融合后生成的目标答案。可以理解,最终生成的目标答案相当于结合各个答案的语义重新组织语言生成的答案。
61.在另一个实施例中,服务器可以调度目标候选机器人对当前对话内容进行回答,得到至少一个答案以及对应的匹配分数。服务器可以根据匹配分数对至少一个答案进行排序,从而挑选出排名最优的答案作为当前对话内容的目标答案。
62.在一个实施例中,若目标候选机器人中的第一候选机器人回答失败,服务器可以优化意图和意图类型之间的对应关系。
63.上述基于机器人的应答方法,获取当前会话中的对话对象的当前对话内容;对所述当前对话内容进行意图识别,得到意图类型。从不同类型的待选的机器人中,选取类型与所述意图类型相符的机器人,得到第一候选机器人。从所述待选的机器人中,确定对所述当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人,从而挑选出具有多轮应答能力、且已保存当前对话内容的上文信息的候选机器人。基于所述第一候选机器人和所述第二候选机器人,确定至少一个目标候选机器人。调度所述至少一个目标候选机器人对所述当前对话内容进行回答,得到至少一个答案,这样得到的至少一个答案不仅可以与意图类型相关,还可以与当前对话内容的上文信息相关。基于所述至少一个答案确定所述当前对话内容的目标答案。因此,基于意图类型选取第一候选机器人,基于当前对话内容的上文对话内容选取第二候选机器人,并从中再次筛选得到至少一个目标候选机器人以进行回答,从而得到准确的目标答案。并且,在保证问答效果的基础上,上述基于机器人的应答方法不需要所有的机器人进行回答,从而减少不必要的机器人调用,节省资源开销,也可以降低答案融合复杂度。
64.在一个实施例中,第二候选机器人包括处于未完成状态的候选机器人;从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第
二候选机器人包括:从待选的机器人中,确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人,得到处于未完成状态的候选机器人。
65.其中,未完成状态是指需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的状态。
66.具体地,服务器从待选的机器人中,确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人,得到处于未完成状态的候选机器人。
67.在一个实施例中,服务器在执行s208步骤的过程中,若目标候选机器人是支持多轮应答的机器人,则记录目标候选机器人的完成状态,并将该目标候选机器人放入应答记录中。可以理解,服务器可以根据当前对话内容的上文对话内容的应答记录中,确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人。可以理解,通过记录目标候选机器人的完成状态信息,保证了未完成多轮应答的机器人能够在接下来的轮次中有机会继续作答,从而保证针对当前对话内容的回答的连贯性。
68.在一个实施中,由服务器的会话管理模块来负责更新目标候选机器人的完成状态。
69.在本实施例中,通过确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人,从而得到处于未完成状态的候选机器人,并将处于未完成状态的候选机器人确认为第二候选机器人。这样,服务器就挑选出支持多轮应答,但是未完成应答的机器人来应答当前对话内容,以使得生成的答案是基于上文对话内容和当前对话内容生成的,从而为步骤s208中答案的生成和筛选打下应答准确性的基础。
70.在一个实施例中,第二候选机器人包括最近一轮应答的候选机器人;从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人包括:从待选的机器人中,确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到最近一轮应答的候选机器人。
71.具体地,服务器从待选的机器人中,确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到最近一轮应答的候选机器人。
72.在一个实施例中,服务器在执行s208步骤的过程中,若目标候选机器人是支持多轮应答的机器人,将该目标候选机器人以及应答的对话内容的时间点放入应答记录中。可以理解,服务器可以通过应答记录中记录的应答的对话内容的时间点来确认对当前对话内容的上一个对话内容做应答的机器人。
73.在本实施例中,通过确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到最近一轮应答的候选机器人,并将最近一轮应答的候选机器人确认为第二候选机器人。这样,服务器就挑选出对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人来应答当前对话内容,以使得生成的答案是基于上一个对话内容和当前对话内容生成的,从而为步骤s208中答案的生成和筛选做提高应答准确性的准备。
74.在一个实施例中,基于第一候选机器人和第二候选机器人,确定目标候选机器人包括:从第一候选机器人和第二候选机器人中去除相同的候选机器人,得到目标候选机器人。
75.具体地,服务器在确定第一候选机器人和第二候选机器人后,若第一候选机器人和第二候选机器人存在相同的候选机器人,则去除相同的机器人,得到目标候选机器人。可
以理解,去除相同的机器人,可以避免相同的机器人做出相同的回答。
76.在本实施例中,通过从第一候选机器人和第二候选机器人中去除相同的候选机器人,得到目标候选机器人,避免相同的机器人做出相同的回答,从而避免计算机资源的浪费,提高计算机资源的使用率。
77.在一个实施例中,意图类型为对当前对话内容进行意图识别得到的意图所属的类型;第二候选机器人中包括最近一轮应答的候选机器人;基于第一候选机器人和第二候选机器人,确定目标候选机器人包括:基于第一候选机器人和第二候选机器人确定候选机器人集合;确定识别到的意图所对应的意图匹配分数;意图匹配分数用于表征识别到的意图与当前对话内容之间的匹配程度;若意图匹配分数大于预设第一阈值,则从候选机器人集合中去除最近一轮应答的候选机器人,并将候选机器人集合中剩余的候选机器人确定为目标候选机器人。
78.具体地,服务器将第一候选机器人和第二候选机器人所构成的集合确定为候选机器人集合。服务器确定识别到的意图所对应的意图匹配分数。服务对意图匹配分数的大小做判断,若意图匹配分数大于预设第一阈值,则从候选机器人集合中去除最近一轮应答的候选机器人,并将候选机器人集合中剩余的候选机器人确定为目标候选机器人。
79.在本实施例中,若意图匹配分数大于预设第一阈值,则从候选机器人集合中去除最近一轮应答的候选机器人,并将候选机器人集合中剩余的候选机器人确定为目标候选机器人。这样,在识别到的意图与当前对话内容之间的匹配程度达到预设值的情况下,服务器可以只选取第一候选机器人和未完成状态的候选机器人作为目标候选机器人进行应答,避免计算机资源浪费。
80.在一个实施例中,对当前对话内容进行意图识别,得到当前对话内容的意图类型包括;对当前对话内容进行意图识别,确定当前对话内容的意图;根据预先配置的意图和意图类型之间的对应关系,得到与确定的意图对应的意图类型。
81.具体地,服务器预先配置的意图和意图类型之间的对应关系。服务器对当前对话内容进行意图识别,确定当前对话内容的意图,并从对应关系中得到与确定的意图对应的意图类型。
82.在一个实施例中,服务器可以确定当前对话内容的至少一个意图,并从对应关系中得到对应的至少一个意图类型。
83.在一个实施例中,服务器对当前对话内容进行意图识别,可以确定当前对话内容的多个意图以及各自的意图匹配分数。服务器基于多个意图各自的意图匹配分数,对多个意图进行排序,得到匹配分数大于预设第二阈值的至少一个意图。服务器从对应关系中得到对应的至少一个意图类型。服务器对应地选取出与每个意图类型相符的第一候选机器人。可以理解,第一阈值大于第二阈值,第二阈值用于筛选出第一候选机器人,第一阈值用于去除最近一轮应答的候选机器人。具体地,在筛选出第一候选机器人之后,服务器判断是否存在意图匹配分数大于预设第一阈值的意图,若存在,服务器从候选机器人集合中去除最近一轮应答的候选机器人。
84.在一个实施例中,由服务器的意图识别模块来对当前对话内容进行意图识别,得到对应的意图和意图类型。
85.在本实施例中,通过根据预先配置的意图和意图类型之间的对应关系,得到与当
前对话内容的意图对应的意图类型,进而根据意图类型选择第一候选机器人,以使得第一候选机器人生成的答案与意图类型相关,从而为步骤s208中答案的生成做提高应答准确性的准备。
86.在一个实施例中,如图3所示,展示了基于机器人的应答方法流程图。具体地,服务器获取当前会话中的对话对象的当前对话内容。在挑选阶段,服务器对当前对话内容进行意图识别,得到当前对话内容的意图类型。服务器根据意图和意图类型的对应关系,从不同类型的待选的机器人中,选取类型与意图类型相符的机器人,得到第一候选机器人。服务器从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人。其中,在得到第二候选机器人的过程中,服务器确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人,得到处于未完成状态的候选机器人。服务器确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到最近一轮应答的候选机器人。在裁剪阶段,服务器对第一候选机器人和第二候选机器人中的未完成状态的候选机器人和最近一轮应答的候选机器人进行裁剪,去掉相同的机器人,并且在意图对应的匹配分数大于预设第一阈值时,不选取最近一轮应答的候选机器人。服务器经过对候选机器人的裁剪,得到目标候选机器人。在调用阶段,服务器调用目标候选机器人对当前对话内容进行应答,生成至少一个答案。在生成阶段,服务器将至少一个答案进行挑选和答案融合等处理,得到最终目标答案。可以理解,本实施例所涉及的基于机器人的应答方法并不是直接让所有机器人进行应答,而是预先在挑选阶段和裁剪阶段挑选候选机器人,从而降低了在生成阶段对目标答案处理的复杂度,降低了候选机器人的工作量,提高了整个候选机器人集群的处理性能。
87.应该理解的是,虽然本技术部分实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
88.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的基于机器人的应答方法的基于机器人的应答装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于机器人的应答装置实施例中的具体限定可以参见上文中对于基于机器人的应答方法的限定,在此不再赘述。
89.在一个实施例中,如图4所示,提供了一种基于机器人的应答装置400,包括:获取模块402、第一筛选模块404、第二筛选模块406、确认模块408和答案生成模块410,其中:
90.获取模块402,用于获取当前会话中的对话对象的当前对话内容。
91.第一筛选模块404,用于对当前对话内容进行意图识别,得到当前对话内容的意图类型;从不同类型的待选的机器人中,选取类型与意图类型相符的机器人,得到第一候选机器人。
92.第二筛选模块406,用于从待选的机器人中,确定对当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人。
93.确认模块408,用于基于第一候选机器人和第二候选机器人,确定至少一个目标候选机器人。
94.答案生成模块410,用于调度至少一个目标候选机器人对当前对话内容进行回答,得到至少一个答案;基于至少一个答案确定当前对话内容的目标答案。
95.在其中一个实施例中,第二候选机器人包括处于未完成状态的候选机器人;第二筛选模块406还用于从待选的机器人中,确定需要针对当前对话内容的上文对话内容做多轮应答、但未完成多轮应答的机器人,得到处于未完成状态的候选机器人。
96.在其中一个实施例中,第二候选机器人包括最近一轮应答的候选机器人;第二筛选模块406还用于从待选的机器人中,确定对当前对话内容的上一个对话内容做应答、且支持多轮应答的机器人,得到最近一轮应答的候选机器人。
97.在其中一个实施例中,确认模块408还用于从第一候选机器人和第二候选机器人中去除相同的候选机器人,得到至少一个目标候选机器人。
98.在其中一个实施例中,意图类型为对当前对话内容进行意图识别得到的意图所属的类型;第二候选机器人中包括最近一轮应答的候选机器人。
99.在其中一个实施例中,如图5所示,提供了一种基于机器人的应答装置500,包括第三筛选模块412,其中:第三筛选模块412,用于基于第一候选机器人和第二候选机器人确定候选机器人集合;确定识别到的意图所对应的意图匹配分数;意图匹配分数用于表征识别到的意图与当前对话内容之间的匹配程度。若意图匹配分数大于预设第一阈值,则从候选机器人集合中去除最近一轮应答的候选机器人,并将候选机器人集合中剩余的候选机器人确定为目标候选机器人。
100.在其中一个实施例中,第一筛选模块404还用于对当前对话内容进行意图识别,确定当前对话内容的意图;根据预先配置的意图和意图类型之间的对应关系,得到与确定的意图对应的意图类型。
101.上述基于机器人的应答装置,获取当前会话中的对话对象的当前对话内容;对所述当前对话内容进行意图识别,得到意图类型。从不同类型的待选的机器人中,选取类型与所述意图类型相符的机器人,得到第一候选机器人。从所述待选的机器人中,确定对所述当前对话内容的上文对话内容做应答、且支持多轮应答的机器人,得到第二候选机器人,从而挑选出具有多轮应答能力、且已保存当前对话内容的上文信息的候选机器人。基于所述第一候选机器人和所述第二候选机器人,确定至少一个目标候选机器人。调度所述至少一个目标候选机器人对所述当前对话内容进行回答,得到至少一个答案,这样得到的至少一个答案不仅可以与意图类型相关,还可以与当前对话内容的上文信息相关。基于至少一个答案确定所述当前对话内容的目标答案。因此,基于意图类型选取第一候选机器人,基于当前对话内容的上文对话内容选取第二候选机器人,并从中再次筛选得到至少一个目标候选机器人以进行回答,从而得到准确的目标答案。并且,在保证问答效果的基础上,上述基于机器人的应答装置不需要所有的机器人进行回答,从而减少不必要的机器人调用,节省资源开销,也可以降低答案融合复杂度。
102.关于上述基于机器人的应答装置的具体限定可以参见上文中对于上述基于机器人的应答方法的限定,在此不再赘述。上述基于机器人的应答装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设
备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
103.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储机器人应答信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于机器人的应答方法。
104.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于机器人的应答方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
105.本领域技术人员可以理解,图6和图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
106.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
107.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
108.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
109.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种
形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
110.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
111.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1