语音对话执行方法、电子设备和存储介质与流程



1.本公开涉及语音交互技术领域,尤其涉及一种语音对话执行方法、电子设备和存储介质。


背景技术:



2.目前的车载人机对话场景单一,缺乏跨场景的整合能力。语音对话在当前任务完成前通常不支持跳转,即便个别场景能够跳转也无法实现语音对话的切换返回。


技术实现要素:



3.本公开提供了一种语音对话执行方法、装置、电子设备和存储介质。
4.根据本公开的一方面,提供了一种语音对话执行方法,包括:
5.响应于用户的语音请求,生成语音请求对应的语义请求信息,语义请求信息包括意图信息;
6.根据语义请求信息,确定目标执行域;
7.基于目标执行域生成本轮对话的对话结果。
8.根据本公开的另一方面,提供了一种电子设备,包括:
9.至少一个处理器;以及
10.与该至少一个处理器通信连接的存储器;其中,
11.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
12.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
13.根据本公开的技术,可以根据用户的语音请求生成包含意图信息的语义请求信息,在对话引擎中确定执行本轮对话的目标执行域,快速获取对话结果,提升了对话引擎处理用户语音请求的效率以及语音跳转的灵活度,降低了用户使用多轮语音对话的门槛,丰富了交互功能。
14.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
15.附图用于更好地理解本方案,不构成对本公开的限定。其中:
16.图1是根据本公开一实施例的语音对话执行方法的流程示意图一;
17.图2是根据本公开一实施例的语音对话执行方法的流程示意图二;
18.图3是根据本公开一实施例的语音对话执行方法的流程示意图三;
19.图4是根据本公开一实施例的语音对话执行方法的流程示意图四;
20.图5是根据本公开一实施例的语音对话执行方法的流程示意图五;
21.图6根据本公开实施例示出了用户与执行本技术实施例的对话引擎的交互结构图;
22.图7和图8根据本公开实施例示出了对话引擎首次启动后的多轮对话流程;
23.图9是用来实现本公开实施例的对话执行方法的电子设备的框图。
具体实施方式
24.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
25.相关技术中,多轮语音对话在任务完成前通常不支持跳转,即使有些场景能够实现跳转但是也无法保证切换返回。例如,当前多轮语音对话为导航任务,用户语音指示“导航到东方明珠”,界面显示三条推荐路线供用户选择,但是用户并未继续导航的相关语音指示,而是突然指示“打电话给张三”,从而发起了一个新的多轮语音对话。由于多轮语音对话常常涉及复杂的场景,可能需要确认或取消等多种消息的处理,因此为了避免跳转过程中产生语义冲突或者因跳转导致任务执行失败,通常有如下两种处理方式解决该问题。
26.一种处理方式是禁止在一个多轮语音对话中执行向新的多轮语音对话发起跳转,如在导航的多轮语音对话中无法切换至通话的多轮语音对话。另一种处理方式是可以执行跳转至新的多轮语音对话,但是禁止切换返回至原来的多轮语音对话,如从导航的多轮语音对话切换至通话的多轮语音对话,提示用户“张三有两个号码,是否对第一个号码进行呼叫”,用户如果语音指示确认,则直接呼叫该号码执行通话任务,在用户完成通话后,此时禁止切换回之前的导航界面,之前的导航多轮语音对话已经结束,需要用户重新发起该对话,从而避免由于切换导致导航任务无法继续正确执行。
27.上述处理方式都对多轮语音对话的跳转设置了相应的限制,提高了用户使用多轮语音对话的门槛,交互功能极大受限,降低了用户体验。
28.图1是根据本公开一实施例的语音对话执行方法的流程示意图,可以包括:
29.s110,响应于用户的语音请求,生成语音请求对应的语义请求信息,语义请求信息包括意图信息;
30.s120,根据语义请求信息,确定目标执行域;
31.s130,基于目标执行域生成本轮对话的对话结果。
32.本技术实施例中,场景可以为车端对话场景,例如车控场景下的对话、驾驶场景下的对话、影音娱乐场景下的对话、导航场景下的对话等。其中,车控可以理解为对车身组件的控制,如打开车门、打开车窗、打开车灯、调节座椅等。驾驶场景可以理解为车辆驾驶相关的场景,如调节悬架、控制电子驻车制动系统(electrical park brake,epb)、换挡等。
33.其中,可以为每个场景分别预设场景域。示例性地,场景域中包括多个执行域以及多个公共键;其中,执行域通过对至少一个待执行任务进行逻辑编排而生成,待执行任务通过对至少一个作用域中的模态数据进行模态编排而生成;同一作用域中的各模态数据具有相同或相关联的数据类型。下面进行详细讲解。
34.(1)作用域
35.作用域可以包括参数域(param)、信号域(signal)、服务域(service)、请求域(request)、隐藏域(mask)、应答域(response)和沙箱域(sandbox)等。
36.示例性地,参数域可以用于存储场景域、执行域、待执行任务等在跨区块调度运行时所传输的参数。信号域可以用于承载车辆感知系统的模态数据、环境感知(vehicle to everything,v2x)系统的模态数据、可穿戴设备的模态数据等,是一种可编排、可观察(监测或监听)、可调度的信号池。因此,信号域是海量信号的容器,信号的生产者不断的向信号池注册信号,信号的消费者(/主动式对话/被动式对话)从信号域中订阅感兴趣的信号。例如:车速作为一种模态数据,车速不断变化,注册过该信号的执行域可以监测到车速变化,或者,在注册该信号时,预设车速变化的触发条件,当车速变化满足该触发条件时,该执行域就会被通知。
37.情景式对话和交互式场景脚本需调用系统内应用的应用程序接口(application programming interface,api),以及系统外的服务,而服务域用于封装服务的调用细节,编排服务返回的数据。其中,系统内应用可以包括导航、多媒体、收音机(frequency modulation,fm)、账号、数字车等,系统外服务可以为车企的场景服务,如极客世界,也可以为第三方服务,如人工智能(artificial intelligence,ai)服务irobot。
38.请求域可以用于被动式对话中,基于用户的单次语义输入,生成一个请求域。请求域的模态数据可以由编码器编码为隐藏域可编排的数据。应答域可以用于承载由解码器根据与执行域绑定的隐藏域中的模态数据解码生成主动式对话、被动式对话、交互式对话、时间轴、等业务的应答结果。隐藏域可以用于承载与当前语义输入对应的对话上下文,具体包括用户的语义请求信息以及对应的语义应答信息,由对话和交互式场景按需复用或重新生成,而隐藏域与执行域是绑定的,每个执行域都会绑定一个隐藏域,用于承载该执行域的对话上下文。沙箱域可以承载某一设备或某一个用户的全局对话上下文,也即承载某一设备或某一个用户对应的全部隐藏域,用于隔离不同设备或不同用户的可编排数据,是一种超级上下文。
39.可以理解的是,在执行域的任务执行过程中会产生数据,这些数据作为对话上下文被存储于隐藏域中,并将该隐藏域与该执行域进行绑定,以记录此次对话。沙箱域中存储全局对话上下文,包括所有的对话上下文。
40.(2)场景域
41.同类业务聚合在一起构成了场景域,场景域由多个执行域及其他辅助组件构成,其中的执行域可以为简单域和/或复杂域。场景域按照业务类型可以划分为不同的场景,如驾驶场景、影音娱乐场景、导航场景、车控场景等。
42.(3)执行域
43.待执行任务通过对至少一个作用域中的模态数据进行模态编排而生成。通过模态编排可以决定如何运行作用域中的模态数据,运算符可以包括比较运算、包含运算、赋值运算等。各运算符可以供生成待执行任务时调用。在模态编排(运算)过程中,可以预设调用各作用域中的模态数据的符号,如参数域中的模态数据可通过(:)来调用,标签域中的模态数据可通过(!)来调用,信号域中的模态数据可通过(~)来调用,服务域中的模态数据可通过(@)来调用,请求域中的模态数据可通过(%)来调用,隐藏域中的模态数据可通过($)来调用,应答域中的模态数据可通过(^)来调用,沙箱域中的模态数据可通过(*)来调用。待执行
任务为基本的对话或业务场景单元,不支持独立执行,是构成执行域的最小单元。待执行任务可以为标准任务,即由条件组和执行组构成的任务,也可以为逻辑任务,即由if,elseif,else及foreach等逻辑条件构成的逻辑块任务,还可以包括简单任务,即通过键(key)快速到赋值(value),状态变为结束(end)或返回(return)的任务。
44.从而,业务开发人员可以根据业务需求确定待执行任务,并根据该待执行任务的任务需求调用相应作用域中的模态数据,并进行运算,以生成该待执行任务。进一步地,对一个或多个待执行任务进行逻辑编排,可以生成一个执行域。
45.根据逻辑编排形式不同,执行域可以包括简单域、复杂域。
46.简单域包括一个或多个第一待执行任务,其中,第一待执行任务用于实现单轮对话业务,也就是说简单域用于承载可执行的单轮对话或简单的主动业务场景或被动业务场景。复杂域包括一个或多个第二待执行任务,第二待执行任务用于实现多轮对话业务,也就是说,复杂域用于承载可执行的多轮情景式对话,或复杂的交互式业务场景。
47.示例性地,在步骤s130中,具体包括:
48.执行目标执行域中的待执行任务,生成本轮对话的语义应答信息;
49.在沙箱域中存在目标执行域对应的隐藏域的情况下,将语义请求信息和本轮对话的语义应答信息记录在隐藏域中,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;
50.将语义应答信息以及对话标签作为本轮对话的对话结果。
51.可以理解的是,根据前述对于对话引擎中各作用域的介绍,沙箱域中承载了每个执行域绑定的隐藏域,隐藏域用于承载包括根据用户语音请求获取的语义请求信息,以及与语义请求对应的语义应答信息,作为对话上下文。
52.若沙箱域中目标执行域对应的隐藏域已经被注册存在,则表明本轮对话之前的对话场景的语义请求信息已经涉及目标执行域,只需将语义请求信息和本轮对话的语义应答信息记录在目标执行域对应的隐藏域中,并获取该隐藏域在沙箱域中的注册信息作为本轮对话的对话标签。
53.在一种实施方式中,步骤s130执行的过程中还存在沙箱域中不存在目标执行域对应的隐藏域的情况,具体包括:
54.执行目标执行域中的待执行任务,生成本轮对话的语义应答信息;
55.在沙箱域中不存在目标执行域对应的隐藏域的情况下,创建与目标执行域对应的隐藏域并在沙箱域中进行注册,将语义请求信息和本轮对话的语义应答信息记录在隐藏域中,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;
56.将语义应答信息以及对话标签作为本轮对话的对话结果。
57.可以理解的是,沙箱域中不存在目标执行域对应的隐藏域,则表明对话引擎本次启动后获取到的语义请求信息不涉及目标执行域,目标执行域对应的隐藏域还未被创建。在此情况下,需要先创建与目标执行域对应的隐藏域并在沙箱域中进行注册,而后记录语义请求信息、语义应答信息,并获取本轮对话的对话标签。
58.采用上述实施例的方法,将对话引擎每次启动后接收并处理的用户语音对应的语义请求信息以及语义应答信息作为对话上下文存储在沙箱域中的隐藏域,若后续对话的语义请求信息涉及已经存在的隐藏域,可以延续使用,避免重复工作,提高了对话引擎的处理
效率。
59.示例性地,步骤s110具体包括:
60.解析语音请求,获取语音请求对应的意图信息和领域信息;
61.获取上轮对话的对话标签;
62.基于意图信息、领域信息以及上轮对话的对话标签,生成语义请求信息。
63.可以理解的是,对话引擎在接收到用户语音请求的情况下,需要将语音请求处理为机器可以理解的语义请求信息,处理过程可以包括降噪与抑制、语音识别及语义理解等,其中降噪与抑制可以刨除干扰因素,提高机器识别语音的准确率,语音识别将用户的语音请求翻译为文字,进一步地,语义理解将文字翻译为机器可以识别理解的语义请求信息。
64.在本技术的实施例中,根据对前述预设的场景域以及执行域的相关解释,用于机器识别理解的语义请求信息至少需要包括用于确定场景域的领域信息以及用于确定场景域中执行域的意图信息,领域信息可以包括车控领域、导航领域、电话领域、影音娱乐领域等。意图信息可以为“打开/关闭车门”、“打开/关闭车窗”、“播放某某电影/电视剧”、“导航去某某地”等。
65.此外,若本轮对话并非对话引擎启动后的首次对话,语义请求信息中还应包括上轮对话的对话标签,用于在沙箱域中搜索存储上轮对话上下文的隐藏域,便于后续判断本轮对话与上轮对话的延续关系。
66.采用上述实施例的方法,将用户的语音请求转化为包含意图信息和领域信息,以及上轮对话的对话标签的语义请求信息,便于对话引擎迅速确定本轮对话对应的执行域,提高了机器的处理效率。
67.示例性地,如图2所示,步骤s120包括:
68.s201,基于语义请求信息中上轮对话的对话标签,确定第一隐藏域;
69.s202,在语义请求信息中的意图信息与第一隐藏域匹配的情况下,将第一隐藏域对应的第一执行域确定为目标执行域。
70.示例性地,上轮对话的对话标签中包含上轮对话对应的隐藏域在沙箱域中的存储位置,也即基于上轮对话的对话标签确定的第一隐藏域即为上轮对话对应的隐藏域。若语义请求信息中的意图信息与第一隐藏域匹配,则表明本轮对话和上轮对话存在延续关系,两次对话的意图没有发生改变,仍由第一隐藏域对应的第一执行域,也即执行上轮对话的执行域作为本轮对话的目标执行域。
71.在一种实施方式中,如图3所示,在步骤s201之后,还可以包括:
72.s301,在语义请求信息中的意图信息与第一隐藏域不匹配的情况下,确定与意图信息匹配的第二隐藏域;
73.s302,将第二隐藏域对应的第二执行域确定为目标执行域。
74.可以理解的是,意图信息与第一隐藏域不匹配,则表明本轮对话与上轮对话间不存在延续关系,用户的意图与上轮对话相比,发生了改变。但沙箱域中还存储了对话引擎本次启动后涉及过的其他执行域所对应的隐藏域,因此可以在沙箱域中存储的其他隐藏域中确定是否有与意图信息匹配的第二隐藏域,若存在,则表明此前对话中涉及第二隐藏域对应的第二执行域,第二隐藏域中记录了与本轮对话相同意图的此前对话的上下文,将第二隐藏域对应的第二执行域确定为目标执行域,可以由识别出的意图信息跳转回本轮对话之
前的对话场景,参考此前对话的上下文信息,更加准确地对用户语音进行应答处理。
75.采用上述实施例的方法,由于沙箱域中的隐藏域存储了对话引擎启动后所涉及对话的上下文信息,可以根据语义请求信息中的上轮对话的对话标签,优先将意图信息与上轮对话对应的第一隐藏域比较,判断本轮对话是否是上轮对话的延续,若意图信息与第一隐藏域不匹配,再与沙箱域中的其他隐藏域比较,可以更加智能地处理用户语音,精准识别对话的延续关系并提供对话跳转功能,延续此前未结束的对话,降低了用户使用多轮语音对话的门槛,丰富了交互功能。
76.在一种实施方式中,如图4所示,在步骤s201之后,还可以包括:
77.s401,在不存在与意图信息匹配的第二隐藏域的情况下,根据语义请求信息中的领域信息在多个预设的场景域中确定目标场景域;
78.s402,在目标场景域的多个预设执行域中确定与意图信息对应的第三执行域;
79.s403,基于第一执行域、目标场景域以及第三执行域确定语音跳转策略;
80.s404,在语音跳转策略为允许跳转的情况下,将第三执行域确定为目标执行域。
81.可以理解的是,若沙箱域中没有与意图信息匹配的隐藏域,则表明本轮对话的意图信息与此前对话均不同,需要根据语义请求信息中的领域信息在预设的场景域中确定与用户语音请求对应的目标场景域,再根据意图信息在目标场景域的多个预设执行域中确定意图信息对应的第三执行域。
82.基于前述对于场景域和执行域的介绍,执行域包括用于实现单轮对话的简单域以及用于实现多轮对话的复杂域。在本技术实施例中,基于场景域而言,可以将对话跳转划分为场景内跳转以及跨场景跳转。基于执行域而言,可以在场景内跳转或跨场景跳转的基础上,进一步将对话跳转划分为单轮跳单轮、单轮跳多轮、多轮插入单轮、多轮跳多轮等。
83.在步骤s403中,可以进一步包括基于第一执行域确定第一执行域所属的第一场景域,基于第一场景域、第一执行域以及目标场景域和第三执行域确定语音跳转策略,且第一场景域和目标场景域可以为相同的场景域。
84.可以理解的是,对话引擎基于功能和安全性能等预配置了相应的场景跳转和多轮、单轮对话跳转的规则,语音跳转策略即对话引擎根据预配置的规则以及本轮对话和上轮对话对应的场景域、执行域所确定的。
85.在一种实施方式中,步骤s403之后还包括:
86.在语音跳转策略为禁止跳转的情况下,将第一执行域确定为目标执行域。
87.可以理解的是,语音跳转策略为禁止跳转,则表明本轮对话对应的场景域与上轮对话的场景域间存在跳转限制,或本轮对话与上轮对话的执行域间存在跳转限制。在此情况下,需要先将上轮对话执行完毕,因此将上轮对话对应的第一执行域确定为目标执行域,也即将上轮对话确定为新的本轮对话继续执行。
88.下述对语音跳转策略的确定进行举例说明:
89.1)若上轮对话的场景域为电话领域,本轮对话的意图信息对应的场景域为影音娱乐领域,默认配置电话领域和影音娱乐领域间存在跳转限制,则将电话领域中上轮对话对应的第一执行域确定为目标执行域。
90.2)若上轮对话的场景域为导航领域,用户语音输入为“关闭车窗”,也即本轮对话的意图信息对应的场景域为车控领域,默认配置导航领域和车控领域间不存在跳转限制,
则将车控领域场景域中用于执行“关闭车窗”的执行域确定为目标执行域。
91.3)若上轮对话和本轮对话的意图信息对应的场景域均为车控领域,上轮对话的执行域用于“关闭空调”,为实现单轮对话的执行域,本轮对话的执行域用于“关闭车窗”,同样为实现单轮对话的执行域。默认配置单轮对话间的跳转不存在跳转限制,因此将车控领域场景域中用于执行“关闭车窗”的执行域确定为目标执行域。
92.4)若上轮对话和本轮对话的意图信息对应的场景域均为车控领域,上轮对话的执行域用于“调整空调温度”,该执行域中的待执行任务包括“确定需调整的空调位置(前排和/或后排)”“确定调整后的温度”等,属于实现多轮对话的执行域,本轮对话的执行域用于“关闭车窗”,为实现单轮对话的执行域。默认配置多轮对话中插入单轮对话不存在跳转限制,因此将车控领域场景域中用于执行“关闭车窗”的执行域确定为目标执行域。
93.4)若上轮对话和本轮对话的意图信息对应的场景域均为车控领域,上轮对话的执行域用于“调整空调温度”,该执行域中的待执行任务包括“确定需调整的空调位置(前排和/或后排)”“确定调整后的温度”等,属于实现多轮对话的执行域,本轮对话的执行域用于“关闭车窗”,为实现单轮对话的执行域。默认配置多轮对话中插入单轮对话不存在跳转限制,因此将车控领域场景域中用于执行“关闭车窗”的执行域确定为目标执行域。
94.5)若上轮对话和本轮对话的意图信息对应的场景域均为车控领域,上轮对话的执行域用于“调整空调温度”,该执行域中的待执行任务包括“确定需调整的空调位置(前排和/或后排)”、“确定调整后的温度”等,属于实现多轮对话的执行域,本轮对话的执行域用于“调整空调风速”,其中的待执行任务可以包括“确定需调整的空调位置(前排和/或后排)”、“确定调整后的风速大小”等,也属于实现多轮对话的执行域,因此,本次对话跳转场景属于多轮对话跳转多轮对话,需要根据预配置的规则进一步判断,若默认配置“调整空调温度”和“调整空调风速”的两个执行域的跳转不存在跳转限制,则可以将车控领域场景域中用于执行“关闭车窗”的执行域确定为目标执行域。
95.上述关于跳转策略以及预配置的跳转规则的描述仅为举例,并非对本技术实施例加以限制,实际执行的过程中可以根据对话引擎的功能安全要求等灵活配置。
96.在一种实施方式中,无论执行域用于支持多轮对话场景或单轮对话场景,若执行该执行域中的待执行任务生成的语义应答信息满足预设的执行完毕条件,则可以认为涉及该执行域的用户请求已全部处理完毕,后续无需参考该执行域对应的隐藏域中的对话上下文继续执行任务。在此情况下,可以在沙箱域中注销满足预设的执行完毕条件的执行域对应的隐藏域,减小沙箱域的存储负担,也可以提高后续对话跳转匹配的效率。
97.例如,车控领域对应的场景域中“调整空调温度”为支持多轮对话场景的执行域,若已经通过多轮对话交互获取了用户需要调整的空调位置以及调整后的空调温度,则对话引擎可以生成表征收到用户请求并会执行调整空调温度的语义应答信息,在此情况下,“调整空调温度”对应的执行域满足预设的执行完毕条件,可以将其对应的隐藏域在沙箱域中注销。
98.又如,车控领域对应的场景域中“打开雨刷器”的执行域为支持单轮对话场景的执行域,可以在执行“打开雨刷器”后直接将对应的隐藏域在沙箱域中注销。
99.在一种实施方式中,如图5所示,步骤s120还可以包括:
100.s501,在语义请求信息中不存在上轮对话的对话标签的情况下,根据语义请求信
息中的领域信息在多个预设的场景域中确定目标场景域;
101.s502,在目标场景域的多个预设执行域中确定与语义请求信息中的意图信息对应的目标执行域。
102.可以理解的是,语义请求信息中不存在上轮对话的对话标签的原因可以是本轮对话为对话引擎启动后的首轮对话,不存在上轮对话。在此情况下,无需考虑对话跳转的情形,可以直接根据语义请求信息中的领域信息和意图信息确定目标场景域以及目标执行域。
103.在一种实施方式中,执行上轮对话的执行域可能满足预设的执行完毕条件,也即上轮对话的执行域对应的隐藏域已经被注销,在此情况下,生成语义请求信息的过程中仍可以获取上轮对话的对话标签,但对话标签中包含的地址信息为空,对话引擎需要直接根据语义请求信息中的意图信息与沙箱域中存储的其他隐藏域进行匹配。
104.图6示出了用户与执行本技术实施例的对话引擎的交互结构图。
105.如图6所示,用户发出语音请求至对话引擎,对话引擎对用户的语音请求进行降噪与抑制、语音识别及语义理解等解析处理,最终生成包括领域信息、意图信息、上轮对话的对话标签以及词槽的语义请求信息,词槽可以具体用于机器理解语音请求,便于执行域中待执行任务的执行。其中,领域信息用于确定场景域、意图信息用于确定场景域中的执行域,上轮对话的对话标签用于在沙箱域中定位存储上轮对话上下文的隐藏域。对话引擎基于语义请求信息执行本技术实施例的对话执行方法后,将语义应答信息反馈至用户。
106.图7和图8以对话引擎首次启动后与用户的多轮对话进一步解释说明本技术实施例的语音对话执行方法。
107.如图7所示:
108.1)车机上电后,用户唤醒对话引擎,输入语音请求“导航到人民广场”,对话引擎根据语音请求生成语义请求信息,并根据语义请求信息中的领域信息确定本轮对话的场景域为导航领域,并根据语义请求信息中的意图信息在该场景域中确定相应的执行域,以及在沙箱域中注册创建与执行域绑定的隐藏域,记录本轮对话的上下文,而后执行执行域中的待执行任务生成语义应答信息“请确认导航模式(耗时最短/收费最少/高速优先等)”,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;
109.2)用户再次输入语音请求“耗时最短”,对话引擎根据上轮对话的对话标签在沙箱域中定位上轮对话的隐藏域,并根据语义请求信息中的意图信息确定其与上轮对话的隐藏域匹配,由此可以确定本轮对话继续由上轮对话的执行域执行,执行执行域中的待执行任务生成语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签(与上轮对话的对话标签相同,也即对话标签不变);
110.3.1)用户输入语音请求“打开天窗”,对话引擎根据上轮对话的对话标签在沙箱域中定位上轮对话的隐藏域,并根据语义请求信息中的意图信息确定其与上轮对话的隐藏域不匹配,由于本次对话引擎启动后沙箱域中还未注册存储其他的隐藏域,因此根据语义请求信息中的领域信息确定本轮对话的场景域为车控领域,进一步根据语义请求信息中的意图信息在该场景域中确定相应的执行域,以及在沙箱域中注册创建与执行域绑定的隐藏域,记录本轮对话的上下文,而后执行执行域中的待执行任务生成语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;
111.3.2)若沙箱域中注册存储有其他隐藏域,且其中包含与意图信息匹配的隐藏域,则根据匹配的隐藏域确定本轮对话的执行域,执行执行域中的待执行任务生成语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签。
112.图8为图7中执行语音请求“打开”天窗后对话引擎工作流程的延续,如图8所示:
113.4)用户输入语音请求“打开车窗”,由于上轮对话中“打开天窗”对应的执行域支持实现单轮对话,因此在车机完成“打开天窗”动作后,其对应的隐藏域可能已经在沙箱域中被注销,因此语义请求信息中上轮对话的对话标签为空,需要直接与沙箱域中的其他隐藏域匹配,根据语义请求信息中的意图信息判断“打开车窗”与“导航到人民广场”对应的隐藏域不匹配,由此需要重新确定“打开车窗”对应的场景域和执行域,执行执行域中的待执行任务语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;
114.5)用户输入语音请求“播放音乐”,对话引擎根据上轮对话的对话标签在沙箱域中定位上轮对话的隐藏域,并根据语义请求信息中的意图信息确定其与上轮对话的隐藏域不匹配,且沙箱域中存储的隐藏域也均与意图信息不匹配,由此,重新确定“播放音乐”对应的场景域和执行域。且由于“播放音乐”对应的场景域为影音娱乐领域,执行域为支持实现多轮对话,“打开车窗”对应的场景域为车控领域,执行域为支持实现多轮对话。由此,本次的对话跳转为跨场景的多轮对话跳转多轮对话,若根据预设的跳转规则判断跳转策略为允许跳转,基于“播放音乐”对应的场景域和执行域执行本轮对话,执行执行域中的待执行任务生成,生成语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签;若根据预设的跳转规则判断跳转策略为禁止跳转,则将根据上轮对话的对话标签确定的隐藏域对应的执行域(也即上轮对话的执行域)确定为本轮对话执行域,执行执行域中的待执行任务生成语义应答信息,并基于隐藏域在沙箱域中的注册信息,确定本轮对话的对话标签。
115.以上从不同角度描述了本技术实施例的具体设置和实现方式。利用上述实施例提供的方法,基于底层逻辑简化了业务场景,可以支持复杂的人机对话,提升了对话引擎处理用户语音请求的效率以及语音跳转的灵活度,降低了用户使用多轮语音对话的门槛,丰富了交互功能。
116.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
117.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。
118.图9示出根据本技术实施例的电子设备的结构框图。如图9所示,该设备包括:存储器901和处理器902,存储器901内存储有可在处理器902上运行的指令。处理器902执行该指令时实现上述实施例中的任一种方法。存储器901和处理器902的数量可以为一个或多个。该终端或服务器旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。终端或服务器还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
119.该设备还可以包括通信接口903,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方
式安装。处理器902可以对在终端或服务器内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个终端或服务器,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
120.可选的,在具体实现上,如果存储器901、处理器902及通信接口903集成在一块芯片上,则存储器901、处理器902及通信接口903可以通过内部接口完成相互间的通信。
121.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
122.本技术实施例提供了一种计算机可读存储介质(如上述的存储器901),其存储有计算机指令,该程序被处理器执行时实现本技术实施例中提供的方法。
123.可选的,存储器901可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据终端或服务器的使用所创建的数据等。此外,存储器901可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器901可选包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至终端或服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
124.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本技术的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
125.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
126.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
127.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
128.应理解的是,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
129.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
130.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:


1.一种语音对话执行方法,其特征在于,包括:响应于用户的语音请求,生成所述语音请求对应的语义请求信息,所述语义请求信息包括意图信息;根据所述语义请求信息,确定目标执行域;基于所述目标执行域生成本轮对话的对话结果。2.根据权利要求1所述的方法,其特征在于,所述基于所述目标执行域生成本轮对话的对话结果,包括:执行所述目标执行域中的待执行任务,生成所述本轮对话的语义应答信息;在沙箱域中存在所述目标执行域对应的隐藏域的情况下,将所述语义请求信息和所述本轮对话的语义应答信息记录在所述隐藏域中,并基于所述隐藏域在所述沙箱域中的注册信息,确定所述本轮对话的对话标签;将所述语义应答信息以及所述对话标签作为所述本轮对话的对话结果。3.根据权利要求1所述的方法,其特征在于,所述基于所述目标执行域生成本轮对话的对话结果,包括:执行所述目标执行域中的待执行任务,生成所述本轮对话的语义应答信息;在所述沙箱域中不存在所述目标执行域对应的隐藏域的情况下,创建与所述目标执行域对应的隐藏域并在所述沙箱域中进行注册,将所述语义请求信息和所述本轮对话的语义应答信息记录在所述隐藏域中,并基于所述隐藏域在所述沙箱域中的注册信息,确定所述本轮对话的对话标签;将所述语义应答信息以及所述对话标签作为所述本轮对话的对话结果。4.根据权利要求1所述的方法,其特征在于,所述生成所述语音请求对应的语义请求信息,包括:解析所述语音请求,获取所述语音请求对应的意图信息和领域信息;获取上轮对话的对话标签;基于所述意图信息、所述领域信息以及所述上轮对话的对话标签,生成所述语义请求信息。5.根据权利要求1所述的方法,其特征在于,所述根据所述语义请求信息,确定目标执行域,包括:基于所述语义请求信息中上轮对话的对话标签,确定第一隐藏域;在所述语义请求信息中的意图信息与所述第一隐藏域匹配的情况下,将所述第一隐藏域对应的第一执行域确定为目标执行域。6.根据权利要求5所述的方法,其特征在于,还包括:在所述语义请求信息中的意图信息与所述第一隐藏域不匹配的情况下,确定与所述意图信息匹配的第二隐藏域;将所述第二隐藏域对应的第二执行域确定为目标执行域。7.根据权利要求5所述的方法,其特征在于,还包括:在不存在与所述意图信息匹配的第二隐藏域的情况下,根据所述语义请求信息中的领域信息在多个预设的场景域中确定目标场景域;在所述目标场景域的多个预设执行域中确定与所述意图信息对应的第三执行域;
基于所述第一执行域、所述目标场景域以及所述第三执行域确定语音跳转策略;在所述语音跳转策略为允许跳转的情况下,将所述第三执行域确定为目标执行域。8.根据权利要求5所述的方法,其特征在于,还包括:在所述语音跳转策略为禁止跳转的情况下,将所述第一执行域确定为目标执行域。9.根据权利要求1所述的方法,其特征在于,所述根据所述语义请求信息,确定目标执行域,还包括:在所述语义请求信息中不存在上轮对话的对话标签的情况下,根据所述语义请求信息中的领域信息在多个预设的场景域中确定目标场景域;在所述目标场景域的多个预设执行域中确定与所述语义请求信息中的意图信息对应的目标执行域。10.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。

技术总结


本公开提供了一种语音对话执行方法、电子设备和存储介质,涉及语音交互技术领域。具体实现方案为:响应于用户的语音请求,生成语音请求对应的语义请求信息,语义请求信息包括意图信息;根据语义请求信息,确定目标执行域;基于目标执行域生成本轮对话的对话结果。采用本公开的技术方案,可以根据用户的语音请求生成包含意图信息的语义请求信息,在对话引擎中确定执行本轮对话的目标执行域,快速获取对话结果,提升了对话引擎处理用户语音请求的效率以及语音跳转的灵活度,降低了用户使用多轮语音对话的门槛,丰富了交互功能。丰富了交互功能。丰富了交互功能。


技术研发人员:

王超

受保护的技术使用者:

华人运通(上海)云计算科技有限公司

技术研发日:

2022.11.24

技术公布日:

2023/3/28

本文发布于:2024-09-23 22:35:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/82051.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语义   信息   所述   场景
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议