可视化编排的语音交互任务的执行方法、装置及设备与流程

未命名 07-14 阅读:98 评论:0


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.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现上述任一所述的可视化编排的语音交互任务的执行方法。
29.另一方面,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的可视化编排的语音交互任务的执行方法。
30.本技术实施例提供的技术方案至少带来如下有益效果:
31.本技术实施例提供的技术方案,通过提供语音交互任务编排页面来可视化编排得到语音交互任务,语音交互任务的获取过程对技术的要求较低,无需掌握编程技术,有利于提高语音交互任务的开发效率。此外,在通过可视化编排的方式创建语音交互任务后,可以基于语音交互任务对应的语音交互子任务和流转关系来实现对语音交互任务的执行,语音交互任务的执行规范性较高,有利于提高计算机设备执行语音交互任务的整体效率。
附图说明
32.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本技术实施例提供的一种实施环境的示意图;
34.图2是本技术实施例提供的一种可视化编排的语音交互任务的执行方法的流程图;
35.图3是本技术实施例提供的一种语音交互系统的主页面的示意图;
36.图4是本技术实施例提供的一种语音交互任务编排页面的示意图;
37.图5是本技术实施例提供的一种语音触发器app的参数设置页面的示意图;
38.图6是本技术实施例提供的一种语音应答app的参数设置页面的示意图;
39.图7是本技术实施例提供的一种凭据信息创建页面的示意图;
40.图8是本技术实施例提供的一种发送消息的模块的参数设置页面的示意图;
41.图9是本技术实施例提供的一种json选择器编辑页面的示意图;
42.图10是本技术实施例提供的一种发送消息的模块的参数设置页面的示意图;
43.图11是本技术实施例提供的一种工作流的数据结构的示意图;
44.图12是本技术实施例提供的一种语音唤醒语音交互任务的过程的示意图;
45.图13是本技术实施例提供的一种基于目标消息队列执行任务的过程的示意图;
46.图14是本技术实施例提供的一种基于第一消息队列执行子任务的过程的示意图;
47.图15是本技术实施例提供的一种全局变量结构的示意图;
48.图16是本技术实施例提供的一种执行信息查询页面的示意图;
49.图17是本技术实施例提供的一种任一已执行的任务的执行信息的显示页面的示意图;
50.图18是本技术实施例提供的一种可视化编排的语音交互任务的执行过程的示意图;
51.图19是本技术实施例提供的一种任一语音交互子任务的执行过程的示意图;
52.图20是本技术实施例提供的一种语音交互任务的执行流程的示意图;
53.图21是本技术实施例提供的一种可视化编排的语音交互任务的执行装置的示意图;
54.图22是本技术实施例提供的一种终端的结构示意图;
55.图23是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
56.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
57.对本技术实施例涉及的名词进行介绍。
58.app:指一个应用模块,封装了某些常用的功能或接口服务。
59.app子任务:app子任务是app的具体子任务化,两者的区别是app是一个模板,使用默认参数,而app子任务是使用某个app模板,并且使用具体的参数。一个app可以被执行多次,每次执行(不同的参数)会生成一个子任务,这个子任务就是app子任务。
60.语音合成:即tts(text-to-speech,文本转语音),用于将文本转换为相应的语音。
61.语音识别:即asr(automatic speech recognition,自动语音识别),用于将语音转换为相应的文本。
62.语音触发器app:是触发语音执行任务运行的起始子任务,可以设定唤醒语音交互任务执行的语音唤醒词。
63.语音交互app:可以设定要播放的语音内容,并等待交互对象语音反馈(同意或驳回),根据反馈语音内容选择同意或驳回继续执行,或者超时分支。
64.工作流:通过流程图的方式表示实际的业务模型,以自动化的方式完成特定的工作场景。
65.工作流定义语言:指设计工作流时使用的语法规范,本技术实施例通过json这种简单、通用的方式定义工作流。
66.路径语法表达式:可通过形如{{appinstid.data.0.name}}的路径索引到语音交互任务中各个语音交互子任务的输入或输出数据,从而实现数据可在运行时动态解析引用。
67.消息队列:是一种数据先进先出的数据结构,常用于分布式系统中。
68.图1示出了本技术实施例提供的可视化编排的语音交互任务的执行方法的实施环境的示意图。该实施环境可以包括:计算机设备11。
69.其中,计算机设备11安装有语音交互系统,基于该语音交互系统,计算机设备11既能够通过显示语音交互任务编排页面来实现语音交互任务的可视化编排,也能够执行可视化编排得到的语音交互任务。
70.计算机设备11可以为终端,也可以为服务器,本技术实施例对此不加以限定。可选地,终端可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、ppc(pocket pc,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱、车载终端等。服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
71.本领域技术人员应能理解上述计算机设备11仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
72.本技术实施例提供一种可视化编排的语音交互任务的执行方法,该方法可应用于上述图1所示的实施环境。以该方法应用于计算机设备11为例。如图2所示,本技术实施例提供的可视化编排的语音交互任务的执行方法可以包括如下步骤201至步骤204。
73.在步骤201中,显示语音交互任务编排页面,语音交互任务编排页面包括可选的语音交互类应用模块,语音交互类应用模块为将语音交互相关的功能进行封装后得到的模块。
74.语音交互任务编排页面用于供交互对象通过可视化编排的方式创建语音交互任务,通过提供语音交互编排页面,有利于降低交互对象创建语音交互任务的门槛要求,使得没有熟练掌握编程技术的交互对象也能够成功创建语音交互任务,提高语音交互任务的创建效率,便于语音交互任务的创建方式的普及推广。
75.在示例性实施例中,显示语音交互任务编排页面的方式可以为:响应于语音交互系统的启动操作,显示语音交互系统的主页面,语音交互系统的主页面显示操作菜单;响应于操作菜单中的任务管理操作的触发操作,显示语音交互任务管理页面;响应于语音交互任务管理页面中的创建控件的触发操作,显示语音交互任务编排页面。
76.示例性地,操作菜单用于显示语音交互系统支持的各项操作,操作菜单中可以显示多级操作,示例性地,最上级操作可以包括但不限于工作流操作、应用管理操作、凭据管理操作等。其中,工作流操作主要负责与工作流相关的操作。应用管理操作主要负责管理封
装好的应用模块。凭据管理操作主要负责创建语音交互任务中会使用的一些账号密码等敏感信息。
77.工作流操作的下一级操作可以包括但不限于任务管理操作和运行记录操作等。其中,任务管理操作主要负责语音交互任务的创建、编辑、删除和启动等操作。运行记录管理操作主要负责记录语音交互任务执行的历史记录等。例如,语音交互系统的主页面中的操作菜单可以如图3中的301所示。
78.示例性地,在交互对象选中任务管理操作后,在语音交互页面的主页面中显示语音交互任务管理页面,在语音交互任务管理页面显示一个或多个交互控件,该一个或多个交互控件可以包括但不限于创建控件、分类控件、搜索控件等。例如,语音交互任务管理页面可以如图3中的302所示。在语音交互任务管理页面302中,显示有创建控件3021、分类控件3022和搜索控件3023。语音交互任务管理页面还支持批量操作。
79.若检测到交互对象对语音交互任务管理页面中的创建控件的触发操作,则说明交互对象想要创建一个新的语音交互任务,此时,显示语音交互任务编排页面。
80.以上所述显示语音交互任务编排页面的方式仅为示例性举例,本技术实施例并不局限于此。在一些实施例中,还可以在语音交互系统的主页面直接设置语音交互任务编排页面的显示控件,响应于语音交互任务编排页面的显示控件的触发操作,显示语音交互任务编排页面。在一些实施例中,还可以设置语音交互任务编排页面对应的快捷键操作,响应于该快捷键操作的触发操作,显示语音交互任务编排页面。
81.语音交互任务编排页面包括可先的语音交互类应用模块,该语音交互类应用模块为将语音交互相关的功能进行封装后得到的模块。语音交互类应用模块用于实现与语音交互相关的功能。不同的语音交互类应用模块可以用于实现相同的功能,也可以用于实现不同的功能。需要说明的是,即使两个语音交互类应用模块用于实现相同的功能,若为该两个语音交互类应用模块设置不同的参数,这两个语音交互类应用模块实现该相同的功能的过程中所需输入的数据以及输出的数据等也可能有所不同。
82.将语音交互相关的功能进行模块化封装成语音交互类应用模块,能够使交互对象通过对语音交互类应用模块的可视化编排来实现对语音交互任务的创建,无需利用编程技术进行代码的编写,从而有利于提高语音交互任务的创建效率。
83.示例性地,语音交互相关的功能可以包括语音交互直接相关的功能和语音交互间接相关的功能,其中,语音交互直接相关的功能是指与语音的采集、合成、播放等相关的功能,例如,语音交互直接相关的功能可以包括但不限于语音应答功能、语音合成功能、语音触发功能等。语音交互间接相关的功能用于辅助完成语音交互直接相关的功能,例如,语音交互间接相关的功能可以包括但不限于http(hyper text transfer protocol,超文本传输协议)请求功能、api(application programming interface,应用程序编程接口)调用功能、条件判断功能等。
84.语音交互类应用模块可以是技术人员从应用模块库中选取的模块,也可以是指技术人员通过封装的方式得到的模块等,本技术实施例对此不加以限定。语音交互类应用模块内置在语音交互系统中,在交互对象需要通过可视化编排的方式创建语音交互任务时,在语音交互任务编排页面显示语音交互类应用模块,以供交互对象选择。示例性地,语音交互类应用模块可以划分为多个类别,在语音交互任务编排页面中还可以显示该多个类别,
以供交互对象通过触发某一类别,来从全部的语音交互类应用模块中筛选出属于某一类别的语音交互类应用模块。语音交互类应用模块可划分的类别可以根据经验设置,也可以根据应用场景灵活调整,本技术实施例对此不加以限定。例如,语音交互类应用模块的类别可以包括触发器类别、逻辑类别、代码脚本类别、数据库操作类别、企业应用类别、信息查询类别、安全类别、业务类别等。触发器是一种用于保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,触发器经常用于加强数据的完整性约束和业务规则等。例如,语音交互任务编排页面可以如图4所示。
85.示例性地,用于实现语音交互直接相关的功能的语音交互类应用模块可以包括语音触发器app(application,应用)、语音应答app、语音合成app;用于实现语音交互间接相关的功能的语音交互类应用模块可以包括条件判断app、http请求app、api调用app等。其中,语音触发器app是语音交互任务的起始节点app,可以划分为触发器类别;条件判断app和语音应答app可以划分为逻辑类别;语音合成app和http请求app可以划分为业务类别。在一些实施例中,语音应答app还可以称为语音交互app。
86.在步骤202中,基于选中的语音交互类应用模块的位置设置操作、参数设置操作以及选中的语音交互类应用模块之间的连接操作,创建语音交互任务,参数设置操作包括设置语音交互任务对应的语音唤醒词的操作。
87.交互对象能够在可选的语音交互类应用模块中选取需要的语音交互类应用模块来创建语音交互任务。在创建语音交互任务的过程中,交互对象除了需要将选中的语音交互类应用模块拖动到指定位置外,还需要设置选中的语音交互类应用模块的参数,以及设置选中的语音交互类应用模块之间的连接关系。其中,将选中的语音交互类应用模块拖动到指定位置的过程通过选中的语音交互类应用模块的位置设置操作实现,设置选中的语音交互类应用模块的参数的过程通过语音交互类应用模块的参数设置参数实现,设置选中的语音交互类应用模块之间的连接关系的过程通过选中的语音交互类应用模块直接的连接操作实现。也就是说,基于选中的语音交互类应用模块的位置设置操作、选中的语音交互类应用模块的参数设置参数以及选中的语音交互类应用模块之间的连接操作创建得到。
88.需要说明的是,选中的语音交互类应用模块的类型以及数量可以由交互对象自行决定。选中的语音交互类应用模块的位置设置操作是指选中的每个语音交互类应用模块各自对应的位置设置操作,选中的语音交互类应用模块的参数设置操作是指选中的每个语音交互类应用模块各自对应的参数设置操作。选中的语音交互类应用模块之间的连接操作是指选中的语音交互类应用模块中的至少一组语音交互类应用模块各自对应的连接操作。任一组语音交互类应用模块包括两个语音交互类应用模块。
89.示例性地,获取任一语音交互类应用模块的位置设置操作的过程包括:响应于任一语音交互类应用模块的选中操作,将该任一语音交互类应用模块设置为可拖动模式;响应于该任一语音交互类应用模块被拖动至语音交互任务编排页面中的编排区域的任一位置,获取该任一语音交互类应用模块的位置设置操作。示例性地,交互对象可以通过单击或双击等方式触发任一语音交互类应用模块的选中操作,通过对处于可拖动模式的任一语音交互类应用模块的拖动操作,将任一语音交互类应用模块拖动到语音交互任务编排页面中的编排区域中的任一位置。语音交互任务编排页面中的编排区域在语音交互任务编排页面
中所处的位置可以根据经验设置,也可以根据应用场景灵活调整。任一语音交互类应用模块被拖动到编排区域中的哪个位置可以由交互对象根据语音交互任务的创建需求决定。
90.示例性地,在将任一语音交互类应用模块拖动到编排区域中的某一位置后,交互对象可以设置该任一语音交互类应用模块的参数,通过设置该任一语音交互类应用模的参数,能够将该任一语音交互类应用模块转换为一个语音交互子任务,为该任一语音交互类应用模块设置的参数,即为执行该任一语音交互类应用模块对应的语音交互子任务所需的参数。需要为语音交互类应用模块设置的参数的类型可以预先设置并与语音交互类应用模块对应存储,从而使得交互对象可以按照任一语音交互类应用模块对应的参数的类型设置该任一语音交互类应用模块的参数。不同语音交互类应用模块对应的参数的类型可以相同,也可以不同。
91.示例性地,获取任一语音交互类应用模块的参数设置操作的过程可以为:基于处于编排区域的任一语音交互类应用模块的参数设置请求,显示该任一语音交互类应用模块的参数设置页面,响应于参数设置页面中设置的参数的确认操作,获取该任一语音交互类应用模块的参数设置操作。
92.示例性地,获取任一语音交互类应用模块的参数设置请求的方式可以包括:响应于处于编排区域的任一语音交互类应用模块的目标操作,获取任一语音交互类应用模块的参数设置请求。可选地,该目标操作可以包括但不限于双击操作、单击操作等。示例性地,获取任一语音交互类应用模块的参数设置请求的方式还可以包括:响应于处于编排区域的任一语音交互类应用模块对应的参数设置控件的触发操作,获取任一语音交互类应用模块的参数设置请求。例如,任一语音交互类应用模块对应的参数设置控件可以显示在任一语音交互类应用模块的周围区域,也可以显示在通过对该任一语音交互类应用模块进行指定操作后显示的菜单中。
93.任一语音交互类应用模块的参数设置页面显示有根据该任一语音交互类应用模块对应的参数类型设置的参数输入框,交互对象可以在参数输入框中设置对应类型的参数。任一语音交互类应用模块的参数设置页面还显示有确认控件,交互对象可以通过触发该确认控件,触发参数设置页面中设置的参数的确认操作。示例性地,任一语音交互类应用模块的参数设置页面除了可以显示有确认控件外,还可以显示有重置控件、另存控件、取消控件等。
94.示例性地,任一语音交互类应用模块对应的参数类型可以包括任一语音交互类应用模块的名称、说明、访问凭据、调用的模型的api密钥、文本、超时时间、识别命令、发送的消息的类型、引用的内容或路径、是否提醒其他成员、需要提醒的成员的标识信息中的一个或多个类型。
95.例如,以任一语音交互类应用模块为语音触发器app为例,语音触发器app的参数设置页面可以如图5所示。交互对象可以在参数设置页面中的访问凭据的输入框中选择访问凭据,并且设置识别命令,同时支持正则表达式的方式识别匹配。示例性地,该识别命令可以认为是语音唤醒词。
96.例如,以任一语音交互类应用模块为语音应答app为例,语音应答app的参数设置页面可以如图6所示。交互对象可以选择使用的api密钥凭据,选择不同平台的凭据则会调用不同的语音识别和语音合成模型对语音和文本进行处理,无需交互对象去自行开发。交
互对象还可以设置文本,针对该设置的文本,语音交互系统会在执行过程中,使用凭据对应的语音合成模型来对设置的文本进行语音合成以及语音播放。语音播放结束后,语音交互系统可以进入语音采集模式采集交互对象的语音反馈。语音交互系统可以将交互对象反馈的语音通过语音识别技术转换成对应文本,然后根据是同意或驳回两种情况选择对应分支继续执行并输出结果。如果超过设定的超时时间未反馈,则语音交互系统可以选择超时分支继续执行并输出结果。
97.在示例性实施例中,任一语音交互类应用模块的参数设置页面中设置的参数可以包括该任一语音交互类应用模块对应的语音交互子任务的执行过程中调用的语音交互类模型的凭据信息,该凭据信息是从至少一个候选凭据信息中选择得到的。例如,如图5中的访问凭据对应的输入框以及图6中的api密钥对应的输入框均用于从至少一个候选凭据信息选取一个或多个凭据信息。凭据信息是指一些待调用的模型的标识信息,例如,账号密码、token(令牌)、密钥等信息,不同的语音交互类应用模块可能需要设置不同的凭据信息。
98.至少一个候选凭据信息可以在创建语音交互任务之前预先创建并存储在语音交互系统中。示例性地,创建至少一个候选凭据信息的过程可以包括:基于凭据信息创建请求,显示凭据信息创建页面;响应于凭据信息创建页面中创建的凭据信息的确认操作,将凭据信息设置页面中创建的凭据信息作为一个候选凭据信息。
99.示例性地,获取凭据信息创建请求的方式可以为:响应于语音交互系统的主页面的操作菜单中的凭据管理操作的触发操作,显示凭据管理页面;响应于凭据管理页面中的新建控件的触发操作,获取凭据信息创建请求。示例性地,获取凭据信息创建请求的方式还可以为:响应于语音交互系统的主页面中的凭据创建控件的触发操作,获取凭据信息创建请求。
100.凭据信息创建页面显示有凭据信息输入框,凭据信息输入框用于供交互对象输入与凭据信息相关的内容。示例性地,与凭据信息相关的内容的类型可以根据经验设置,或者根据应用场景灵活调整。示例性地,与凭据信息相关的内容的类型可以包括但不限于凭据模板、凭据名称、凭据说明、厂商、标识信息等。示例性地,凭据信息创建页面可以如图7所示。图7中的secretid和secretkey表示凭据的标识信息。
101.示例性地,任一语音交互类应用模块对应的参数可以包括固定常量,也可以包括用于引用其他数据(如,其他语音交互类应用模块对应的语音交互子任务的输入数据、输出数据等)的路径语法表达式等。该路径语法表达式能够在该任一语音交互类应用模块对应的语音交互子任务的执行过程中由执行设备进行解析,并获取对应的数据。路径语法表达式可以由交互对象直接编写得到,也可以由语音交互系统生成得到。由语音交互系统生成路径语法表达式的过程可以为一个可视化的过程。
102.例如,以任一语音交互类应用模块为发送消息的模块为例,发送消息的模块的参数设置页面可以如图8所示。在设置该发送消息的模块对应的路径语法表达式时,若需要引用的数据是一个json结构,则交互对象可以使用图8中所示的json选择器来选择生成发送消息的模块对应的用于引用某个值的路径语法表达式。在交互对象触发图8中所示的json选择器后,弹出图9所示的json选择器编辑页面,在图9所示的json选择器编辑页面中,可以设置当前变量,在设置好当前变量并触发确认控件后,语音交互系统可以生成如图10中的1001所示的路径语法表达式,1001所示的路径语法表达式是一种引用python脚本执行一个
语音交互类应用模块对应的语音交互子任务的输出结果中的某个字段数据的路径语法表达式。
103.选中的语音交互类应用模块之间的连接操作是指选中的语音交互类应用模块中的至少一组语音交互类应用模块各自对应的连接操作。其中,任一组语音交互类应用模块包括两个语音交互类应用模块,至少一组语音交互类应用模块涵盖全部的选中的语音交互类应用模块,以保证每个选中的语音交互类应用模块均与一个或多个其他选中的语音交互类应用模块建立连接关系。任一组语音交互类应用模块对应的连接操作用于将该任一组语音交互类应用模块中的两个语音交互类应用模块用一个单向箭头的连接线连接起来,该单向箭头的连接线指向两个语音交互类应用模块中的哪个语音交互类应用模块可以由交互对象根据语音交互任务的创建需求灵活设置。
104.示例性地,两个语音交互类应用模块之间的单向箭头的连接线上还可以设置约束条件,例如,通过、拒绝、超时等,单向箭头的连接线上设置的约束条件用于指示该两个语音交互类应用模块对应的语音交互子任务之间的流转关系在什么样的约束条件下是有效的。示例性地,约束条件可以是指对语音交互类应用模块对应的语音交互子任务的执行结果的约束条件,如,一个语音交互类应用模块对应的执行结果可能为通过、拒绝或超时,这三种不同的执行结果可以分别为指向三个的语音交互类应用模块的三条单箭头的连接线的约束条件,从而构成三种执行分支,也即,通过情况下的执行分支、拒绝情况下的执行分支以及超时情况下的执行分支。
105.需要说明的是,由于语音交互任务是在触发语音唤醒词的情况下才触发执行的,因此,在语音交互类应用模块的参数设置操作中会设置语音交互任务对应的语音唤醒词,也就是说,语音交互类应用模块的参数设置操作包括设置语音交互任务对应的语音唤醒词的操作。示例性地,语音交互任务对应的语音唤醒词可以在选中的语音交互类应用模块中的任一语音交互类应用模块的参数设置过程中设置,也可以在选中的语音交互类应用模块中的指定类别的语音交互类应用模块的参数设置过程中设置。示例性地,指定类别可以是指触发器类别。例如,选中的语音交互类应用模块包括语音触发器app,在语音触发器app的参数设置过程中设置语音交互任务对应的语音唤醒词。例如,图5中的识别命令对应的输入框即用于设置语音交互任务对应的语音唤醒词。
106.语音交互任务对应的语音唤醒词的内容是与语音交互任务对应的应用场景匹配的内容,可以由交互对象灵活设置。例如,若语音交互任务对应的应用场景为通过语音交互的方式查询某一城市的天气的场景,则语音唤醒词的内容可以是“天气如何”;若语音交互任务对应的应用场景为通过语音交互的方式查询北京的天气的场景,则语音唤醒词的内容可以是“北京天气如何”;若语音交互任务对应的应用场景为通过语音交互的方式听歌曲的场景,则语音唤醒词的内容可以是“播放歌曲”。当然,语音交互任务对应的应用场景还可以为其他场景,语音唤醒词的内容还可以为其他内容。
107.基于选中的语音交互类应用模块的位置设置操作、参数设置操作能够分析出语音交互任务中包括哪些语音交互子任务,根据选中的语音交互类应用模块之间的连接操作能够分析出语音交互子任务之间的流转关系,根据语音交互任务中包括的语音交互子任务以及语音交互子任务之间的流转关系,即可确定出一个语音交互任务,从而实现对语音交互任务的创建。示例性地,语音交互任务包括的语音交互子任务的数量为至少两个,每个语音
交互子任务是利用一个语音交互类应用模块的参数对该一个语音交互类应用模块进行具体实例化后得到的任务。
108.示例性地,基于语音交互类应用模块的位置设置操作以及语音交互类应用模块之间的连接操作,能够得到一个可视化的工作流程图,计算机设备能够利用语音交互类应用模块的参数设置操作中设置的参数对该工作流程图进行实例化,得到语音交互任务。
109.示例性地,在创建语音交互任务后,可以存储语音交互任务对应的至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系,以便于在需要该语音交互任务时,快速提取该至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系,并基于至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系,实现对语音交互任务的执行。
110.示例性地,通过可视化编排的方式创建的语音交互任务,可以自动生成一个工作流的数据结构,该工作流的数据结构为计算机设备能够直接识别的结构,根据该工作流的数据结构,能够使计算机设备得知语音交互任务的执行流程,也即需要执行哪些语音交互子任务,以及这些语音交互子任务的执行顺序是怎样的。例如,一个工作流的数据结构可以如图11所示。
111.需要说明的是,交互对象针对可选的语音交互类应用模块的每次选中操作均可以选中一个语音交互类应用模块,不同次选中操作可能选中不同的语音交互类应用模块,也可能选中相同的语音交互类应用模块。也就是说,选中的语音交互类应用模块可能包括相同的语音交互类应用模块。对于不同次选中操作选中相同的语音交互类应用模块的情况,每次选中操作后,均会通过该语音交互类应用模块的一次位置设置操作和一次参数设置操作来为该语音交互类应用模块设置一次位置和参数。选中的语音交互类应用模块之间的连接操作是针对全部的设置了位置和参数的语音类应用模块而言的,对于不同次选中操作选中相同的语音交互类应用模块的情况,任一组语音交互类应用模块可能包括两个不同的语音交互类应用模块,也可能包括两个相同的语音交互类应用模块。即使任一组语音交互类应用模块包括两个相同的语音交互类应用模块,由于该两个相同的语音交互类应用模块的位置和/或参数不同,所以这两个相同的语音交互类应用模块对应不同的语音交互子任务,因此,同样可以在这两个相同的语音交互类应用模块中设置连接线来体现两个语音交互子任务之间的流转关系。
112.在步骤203中,响应于语音唤醒词被命中,确定语音交互任务对应的至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系。
113.在基于可视化编排的方式创建语音交互任务后,交互对象可以通过命中语音交互任务对应的语音唤醒词来触发语音交互任务的执行过程。在执行语音交互任务的过程中,先确定语音交互任务对应的至少两个语音交互子任务以及该至少两个语音交互子任务之间的流转关系。进而基于至少两个语音交互子任务以及流转关系,执行语音交互任务。也就是说,可视化编排的语音交互任务,可以基于语音交互任务对应的至少两个语音交互子任务以及流转关系来执行,执行规范性较强,有利于提高语音交互任务的整体执行效率。
114.在示例性实施例中,至少两个语音交互子任务是指在执行语音交互任务的过程中需要考虑的较小任务,将语音交互任务拆分成至少两个语音交互子任务来执行,有利于减少语音交互任务的执行错误率,提高语音交互任务的执行可靠性。至少两个语音交互子任
务之间的流转关系用于指示至少两个语音交互子任务之间的关联情况,如,至少两个语音交互子任务中的一个语音交互子任务在什么样的约束条件下指向另外一个语音交互子任务。
115.至少两个语音交互子任务和流转关系可以根据语音交互任务的创建方式确定出,如,至少两个语音交互子任务可以根据语音交互任务的创建过程中选中的语音交互类应用模块的位置设置操作和参数设置操作确定,至少两个语音交互子任务之间的流转关系可以根据语音交互任务的创建过程中选中的语音交互类应用模块的位置设置操作和语音交互类应用模块之间的连接操作确定。示例性地,至少两个语音交互子任务和流转关系在创建语音交互任务的过程中分析得到并存储在语音交互系统中,从而可以从存储中直接提取语音交互任务对应的至少两个语音交互子任务和流转关系。
116.示例性地,至少两个语音交互子任务和流转关系可以通过对语音交互任务对应的工作流的数据结构进行解析得到,此种情况下,在确定语音唤醒词被命中时,可以提取语音交互任务对应的工作流的数据结构,对语音交互任务对应的工作流的数据结构进行解析,得到语音交互任务对应的至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系。
117.在确定至少两个语音交互子任务以及流转关系之前,需要先确定语音唤醒词被命中。在示例性实施例中,确定语音唤醒词被命中的方式可以为:响应于检测到语音,调用语音采集设备采集语音,将语音采集设备在语音静默的时长达到参考时长时采集到的语音作为唤醒语音;调用目标语音识别模型对唤醒语音进行识别,得到唤醒文本;将唤醒文本与语音唤醒词进行匹配,若唤醒文本与语音唤醒词匹配成功,确定语音唤醒词被命中。
118.语音采集设备可以是语音交互系统中内置的设备,也可以是计算机设备中安装的位于语音交互系统外的设备等,只要具有语音采集功能即可。例如,语音采集设备可以是指麦克风。计算机设备可以实时判断是否检测到交互对象产生的语音,在确定检测到交互对象产生的语音时,调用语音采集设备采集语音。语音采集设备会一直采集语音,直到语音静默的时长达到参考时长停止采集,将语音采集设备从开始采集到停止采集之间采集到的语音作为唤醒语音。参考时长根据经验设置,或者根据应用场景灵活调整,例如,参考时长可以为3秒,也可以为5秒等。
119.目标语音识别模型是与语音交互任务关联的语音识别模型,该目标语音识别模型能够用来识别语音交互任务的唤醒语音,以将语音交互任务的唤醒语音转换为语音交互任务的唤醒文本。目标语音识别模型可以为任何一种具有将语音转换为文本的功能的模型。语音交互任务关联的目标语音识别模型可以在创建语音交互任务的过程中设置得到。示例性地,在创建语音交互任务的过程中,交互对象可以选择语音触发器app,在设置语音触发器app的参数时,可以设置语音识别模型的凭据信息,将凭据信息标识的语音识别模型作为语音交互任务关联的目标语音识别模型。示例性地,在创建语音交互任务的过程中,还可以提供语音识别模型的参数设置页面,交互对象可以在该参数设置页面中设置需要调用的语音识别模型的参数,然后将设置的参数代表的语音识别模型作为语音交互任务关联的目标语音识别模型。
120.将唤醒文本与语音唤醒词进行匹配的方式可以为精确匹配,也可以为模糊匹配等。示例性地,语音唤醒词可以通过设置正则表达式的方式设置,从而根据正则表达式约束
的方式将唤醒文本与语音唤醒词进行正则匹配。
121.若唤醒文本与语音唤醒词匹配成功,则确定语音唤醒词被命中;若唤醒文本与语音唤醒词匹配失败,则确定语音唤醒词未被命中。在语音唤醒词未被命中时,继续等待唤醒。示例性地,语音唤醒词的数量可以为一个或多个,对于语音唤醒词的数量为多个的情况,可以将唤醒文本与各个语音唤醒词分别进行匹配,如,将唤醒文本依次与每个唤醒词进行正则匹配,若唤醒文本与任一语音唤醒词匹配成功,则确定唤醒文本与语音唤醒词匹配成功。
122.示例性地,在将唤醒文本与语音唤醒词进行匹配的过程中,可以确定唤醒文本与语音唤醒词的匹配度,若匹配度大于匹配度阈值,则确定唤醒文本与语音唤醒词匹配成功;若匹配度不大于匹配度阈值,则确定唤醒文本与语音唤醒词匹配失败。
123.在示例性实施例中,确定语音唤醒词被命中之后,还可以调用语音交互任务关联的目标语音合成模型合成唤醒反馈语音;播放唤醒反馈语音。目标语音合成模型可以为任一具有将文本转换为语音的功能的模型,目标语音合成模型可以为语音交互任务的创建过程中设置得到。示例性地,调用目标语音合成模型合成唤醒反馈语音的方式可以是指调用目标语音合成模型将唤醒反馈文本合成为唤醒反馈语音。唤醒反馈文本可以是指默认的文本,也可以是指在语音交互任务的创建过程中设置的文本。例如,在创建语音交互任务的过程中,交互对象可以选择语音触发器app,在设置语音触发器app的参数时,可以设置语音反馈文本以及语音合成模型的凭据信息,将凭据信息标识的语音合成模型作为语音交互任务关联的目标语音合成模型。
124.在示例性实施例中,在确定语音唤醒词被命中后,还可以获取目标文本,将目标文本作为语音交互任务的启动参数传递给语音交互任务。示例性地,若将唤醒文本与语音唤醒词进行正则匹配,则目标文本可以是指从唤醒文本中正则提取的文本。正则提取文本可以是指提取包含语音唤醒词且符合正则表达式的格式的文本。例如,以语音唤醒词通过正则表达式“(*)天气如何”进行设置得到为例,若唤醒文本为“请问北京天气如何”,则由于唤醒文本中包含“天气如何”这与语音唤醒词,则说明唤醒文本与语音唤醒词匹配成功,此时,可以通过正则提取的方式,从唤醒文本中提取出“北京天气如何”作为目标文本。
125.示例性地,语音交互任务可以通过任务执行引擎执行。任务执行引擎内置在语音交互系统中,在需要执行语音交互任务时,启动任务执行引擎,通过任务执行引擎执行语音交互任务。任务执行引擎是流程的路由控制器,一个流程对应着一个实际流转的任务,流程的执行路线受当前的语音交互子任务的参数的控制。流程定义时就指定了流程的流转规则,一般情况下,这些流转的规则是根据语音交互子任务当前参数的变量表达式决定。任务执行引擎要做的主要是根据流程的执行的上下文环境(也即流转关系),对这些变量表达式进行解析,找出流程的下一步执行方向。在一些实施例中,任务执行引擎还可以称为工作流执行引擎。
126.示例性地,语音唤醒语音交互任务的过程可以如图12所示。语音交互系统实时检测语音,在交互对象产生语音后,语音交互系统检测到语音后,调用语音采集设备采集语音。判断语音静默的时长是否达到参考时长,若语音静默的时长未达到参考时长,则继续采集语音;若语音静默的时长达到参考时长,则停止采集语音。在停止采集语音后,加载语音交互任务关联的语音识别模型;调用语音识别模型将采集的唤醒语音转换为唤醒文本;将
唤醒文本与语音交互任务对应的语音唤醒词进行正则匹配。判断唤醒文本是否与语音唤醒词匹配成功,若唤醒文本与语音唤醒词匹配成功,则从唤醒文本中正则提取目标文本;获取语音唤醒词对应的语音交互任务;将目标文本作为语音交互任务的启动参数传递给语音交互任务;调用任务执行引擎执行语音交互任务。加载语音交互任务关联的语音合成模型,调用语音合成模型合成唤醒反馈语音,播放唤醒反馈语音,以利用唤醒反馈语音通知交互对象已收到唤醒命令。
127.在示例性实施例中,在确定需要执行语音交互任务之后,创建语音交互任务的执行(execution)记录表,该执行记录表用于记录语音交互任务的相关数据。示例性地,创建的语音交互任务的执行记录表可以保持在数据库(database,db)中。需要说明的是,创建的语音交互任务的执行记录中的部分数据可以在语音交互任务的执行过程中实时更新。
128.示例性地,语音交互任务的相关数据可以包括语音交互任务对应的标识信息。语音交互任务的标识信息可以包括语音交互任务的任务标识,该任务标识用于唯一标识该语音交互任务。语音交互任务的标识信息中还可以包括语音交互任务的名称。语音交互任务的标识信息中还可以包括语音交互任务包括的至少两个语音交互子任务分别对应的子任务标识。语音交互任务的标识信息还可以包括语音交互任务对应的工作流程图的工作流标识。语音交互任务的标识信息还可以包括对语音交互任务进行执行的任务执行引擎对应的引擎标识。
129.示例性地,语音交互任务的相关数据还可以包括语音交互任务的状态信息,上述状态信息用于指示语音交互任务当前时刻的执行状态。示例性地,语音交互任务的状态信息包括指示语音交互任务处于未执行状态、执行中状态、执行完毕状态、执行失败中的至少一种。
130.示例性地,语音交互任务的相关数据还可以包括语音交互任务对应的执行时间信息,该执行时间信息包括开始时间和结束时间。示例性地,语音交互任务的相关数据还可以包括语音交互任务对应的至少两个语音交互子任务之间的流转关系。
131.在一个示例中,语音交互任务的执行记录表记录的信息的类型如表1所示。
132.表1
133.idworkflow_idnameexecutorstatusstart_atend_atapps任务标识工作流标识名称执行者状态开始时间结束时间流转关系
134.在表1中,id表示语音交互任务的任务标识;workflow_id表示语音交互任务对应的工作流程图的工作流标识;name表示语音交互任务的名称;executor表示执行者,用于记录语音交互任务对应的任务执行引擎;status表示状态,用于指示语音交互任务当前时刻对应的执行状态;start_at表示对语音交互任务进行执行的开始时间;end_at表示对语音交互任务进行执行的结束时间;apps表示语音交互任务对应的至少两个语音交互子任务之间的流转关系。任务执行引擎依据流转关系的指向关系遍历各个语音交互子任务来执行语音交互任务。
135.在一个示例中,语音交互任务的执行记录表中的apps字段中保存的数据结构可以包括但不限于startappinstid、destappinstid和apps字段,其中,startappinstid字段用于记录从哪个语音交互子任务开始(也即用于记录起始子任务的标识),destappinstid字段用于记录到哪个语音交互子任务结束(也即用于记录终止子任务的标识),apps字段用于
记录语音交互子任务的执行信息。
136.示例性地,apps字段可以包括但不限于name、parameters、template、position、instid、prevappinstids、nextappinstids、output、error、status、starttime和endtime字段。其中,name字段用于记录语音交互子任务的名称;parameters字段用于记录语音交互任务的参数,例如,parameters字段的数据结构可以为“《参数key,参数value,参数类型,参数描述》”;template字段用于记录语音交互子任务采用的语音交互类应用模块;position字段用于记录语音交互子任务对应的语音交互类应用模块在前端画布的坐标位置;instid字段用于记录语音交互任务的标识;prevappinstids字段用于记录语音交互子任务指向的上一个语音交互子任务的标识;nextappinstids字段用于记录语音交互子任务指向的下一个语音交互子任务的标识;output字段用于记录语音交互子任务的执行结果;error字段用于记录语音交互子任务的执行错误信息;status用于记录语音交互子任务的执行状态;starttime字段用于记录语音交互子任务执行的开始时间;endtime字段用于记录语音交互子任务执行的结束时间。需要说明的是,语音交互任务对应的多个语音交互子任务中的每个语音交互子任务都有一个唯一的标识(instid)来定位识别流转关系中的语音交互子任务。
137.示例性地,在确定需要执行语音交互任务之后,在执行语音交互任务之前,还可以将语音交互任务推送至目标消息队列。目标消息队列用于缓存待执行的任务。可选地,目标消息队列可以是activemq、rabbitmq、zeromq、kafka、metamq、rocketmq等消息队列中的任意一种。可选地,当目标消息队列为通过redis实现的消息队列时,该目标消息队列可以是基于list实现的消息队列,也可以是基于发布订阅实现的消息队列,还可以是基于stream实现的消息队列,在此不进行限定。示例性地,目标消息队列中存储的可以是语音交互任务对应的任务标识,将语音交互任务的任务标识推送至任务执行引擎集群,任务执行引擎集群根据语音交互任务的任务标识获取到语音交互任务对应的相关数据。
138.在示例性实施例中,任务执行可以采用分布式的架构设计,任务执行引擎集群包括多个任务执行引擎,该多个任务执行引擎可以通过分布式的方式执行任务。在一个示例中,将语音交互任务推送至目标消息队列的指令可以设置为“rpush execution#queue executionid”。可选地,目标消息队列可以用于均衡任务执行引擎集群中的多个任务执行引擎的负载。
139.在示例性实施例中,后端的分布式任务执行引擎集群会同时去消费目标消息队列,获取待执行的任务。其中,任务执行引擎集群在空闲状态会一直去消费,当消费到新的任务时,即会触发执行后续步骤。
140.示例性地,基于目标消息队列执行任务的过程可以如图13所示。待执行的任务被推送至目标消息队列中,目标消息队列中缓存有多个任务。目标消息队列中的任务被推送至任务执行引擎集群,任务执行引擎集群中包括至少两个任务执行引擎,利用至少两个任务执行引擎通过分布式的方式执行待执行的任务,以提高任务执行效率。示例性地,可以根据至少两个任务执行引擎的负载情况为不同的任务执行引擎分配不同数量的任务进行执行。在一些实施例中,目标消息队列还可以称为execution消息队列。
141.在步骤204中,基于至少两个语音交互子任务和流转关系,执行语音交互任务,得到语音交互任务的任务执行结果。
142.对于可视化编排的语音交互任务,能够便捷地分析出语音交互任务对应的至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系,进而可以基于流转关系和至少两个语音交互子任务,执行语音交互任务,有利于提高语音交互任务的执行规范性,提高语音交互任务的执行稳定性和可靠性,提高语音交互任务的整体执行效率。
143.在一种可能实现方式中,基于至少两个语音交互子任务和流转关系,执行语音交互任务,得到语音交互任务的任务执行结果的过程包括:确定命中语音唤醒词的唤醒文本,基于唤醒文本确定语音触发子任务的第一执行结果;基于流转关系,在至少两个语音交互子任务中确定语音触发子任务指向的第一语音交互子任务,执行第一语音交互子任务,得到第一语音交互子任务的第二执行结果;若语音交互任务执行过程满足任务结束条件,基于第一执行结果和第二执行结果获取语音交互任务的任务执行结果。
144.语音触发子任务为至少两个语音交互子任务中的起始子任务,也即流转关系指示的至少两个语音交互子任务中第一个待执行的子任务。示例性地,语音触发子任务是触发器类型的语音交互类应用模块对应的子任务。由于语音触发子任务为起始子任务,所以,在语音交互任务的执行过程中,需要先执行语音触发子任务,确定语音触发子任务的执行结果。本技术实施例中,将语音触发子任务的执行结果作为第一执行结果。
145.示例性地,确定唤醒文本的方式已在前文中介绍,此处不再加以赘述。示例性地,可以将命中语音交互唤醒词的唤醒文本作为语音触发子任务的第一执行结果。示例性地,可以基于命中语音唤醒词的唤醒文本确定目标文本,将目标文本作为第一执行结果。基于唤醒文本确定目标文本的实现方式在前文中已经介绍,此处不再加以赘述。
146.示例性地,在确定语音触发子任务的第一执行结果之前,可以将语音触发子任务的执行状态设置为待执行状态;在确定语音触发子任务的第一执行结果的过程中,可以将语音触发子任务的执行状态由待执行状态更新为执行中状态;在确定语音触发子任务的第一执行结果之后,可以将语音触发子任务的执行状态由执行中状态更新为执行结束状态。示例性地,在开始执行语音触发子任务时,还可以记录语音触发子任务的开始执行时间。
147.在确定第一执行结果后,基于流转关系,在至少两个语音交互子任务中确定语音触发子任务指向的第一语音交互子任务,执行第一语音交互子任务,将第一语音交互子任务的执行结果作为第二执行结果。示例性地,流转关系中记录有语音触发子任务指向的下一个语音交互子任务,将该下一个语音交互子任务作为第一语音交互子任务。
148.在示例性实施例中,执行第一语音交互子任务的方式与第一语音交互子任务的类型有关,本技术实施例对此不加以限定。
149.示例性地,第一语音交互子任务可能为语音合成子任务,此种情况下,执行第一语音交互子任务的方式包括:调用语音合成子任务对应的第一语音合成模型将语音合成子任务对应的第一文本转换成第一语音,播放第一语音,将第一语音的播放结果作为第二执行结果。示例性地,可以通过在设置语音合成子任务对应的语音交互类应用模块(如,语音合成app)的参数的过程中设置第一语音合成模型的凭据信息,然后根据第一语音合成模型的凭据信息指示的语音合成模型接口调用第一语音合成模型。示例性地,语音合成子任务对应的第一文本可以为默认的文本,也可以为在设置语音合成子任务对应的语音交互类应用模块(如,语音合成app)的参数的过程中设置的文本。第一语音的播放结果可以包括播放成功和播放失败。需要说明的是,第一语音合成模型与语音交互任务关联的目标语音合成模
型可以相同,也可以不同。
150.示例性地,第一语音交互子任务还可能为语音应答子任务,此种情况下,执行第一语音交互子任务的方式包括:调用语音应道子任务对应的第二语音合成模型将语音应答子任务对应的第二文本转换成第二语音,播放第二语音;若接收到针对第二语音的反馈语音,调用语音应答子任务对应的第一语音识别模型将反馈语音转换问反馈文本,将反馈文本作为第二执行结果。
151.示例性地,可以通过在设置语音应答子任务对应的语音交互类应用模块(如,语音应答app)的参数的过程中设置第二语音合成模型以及第一语音识别模型的凭据信息,然后可以根据第二语音合成模型的凭据信息指示的语音合成模型接口调用第二语音合成模型,根据第一语音识别模型的凭据信息指示的语音识别模型接口调用第一语音识别模型。示例性地,语音识别子任务对应的第二文本可以为默认的文本,也可以为在设置语音应答子任务对应的语音交互类应用模块(如,语音应答app)的参数的过程中设置的文本。
152.在播放第二语音后,进入语音检测状态,等待交互对象通过语音的方式进行反馈,若接收到交互对象针对第二语音的反馈语音,则反馈语音转换成反馈文本。示例性地,反馈语音可以包括指示同意的语音和指示驳回的语音,则反馈文本可以包括指示同意的文本和指示驳回的文本,在将反馈文本作为第二执行结果后,可以根据第二执行结果是指示同意的文本还是指示驳回的文本选择对应的同意或驳回分支继续进行执行。
153.需要说明的是,第二语音合成模型可以与第一语音合成模型和/或目标语音合成模型相同,也可以与第一语音合成模型和目标语音合成模型均不相同。第一语音识别模型可以与语音交互任务关联的目标语音识别模型相同,也可以与目标语音识别模型不同。
154.当然,第一语音交互子任务还可以为其他类型的子任务,例如,http请求子任务、api调用子任务等,本技术实施例在此不再一一赘述。
155.示例性地,无论第一语音交互子任务为什么类型的任务,均可以根据第一语音交互子任务的执行情况设置或更新第一语音交互子任务的执行状态。示例性地,在执行第一语音交互子任务之前,将第一语音交互的执行状态设置为待执行状态;在执行第一语音交互子任务的过程中,将第一语音交互子任务的执行状态由待执行状态更新为执行中状态;在第一语音交互子任务执行结束(也即确定第一语音交互子任务的第二执行结果)之后,将第一语音交互子任务的执行状态由执行中状态更新为执行结束状态。示例性地,在开始执行第一语音交互子任务时,还可以记录第一语音交互子任务的开始执行时间。
156.在示例性实施例中,在确定出待在语音触发子任务之后执行的第一语音交互子任务后,将第一语音交互子任务推送至第一消息队列,此种情况下,执行第一语音交互子任务的方式包括:在第一消息队列中不存在位于第一语音交互子任务之前的待执行的子任务的情况下,从第一消息队列中获取第一语音交互子任务,执行第一语音交互子任务。其中,第一消息队列用于缓存待执行的子任务。
157.示例性地,第一消息队列中的子任务由任务执行引擎协调执行,任务执行引擎包括多个容器,第一消息队列中的各个待执行的子任务可以分配相同或不同的容器进行执行,以保证容器的负载均衡。
158.示例性地,第一消息队列用于均衡任务执行引擎中的至少两个容器的负载。第一消息队列可以是activemq、rabbitmq、zeromq、kafka、metamq、rocketmq等消息队列中的任
意一种。可选地,当第一消息队列为通过redis实现的消息队列时,该第一消息队列可以是基于列表(list)实现的消息队列,也可以是基于发布订阅实现的消息队列,还可以是基于数据流(stream)实现的消息队列,在此不进行限定。
159.示例性地,基于第一消息队列执行子任务的过程可以如图14所示。待执行的子任务被推送至第一消息队列中,第一消息队列中缓存有多个子任务。第一消息队列中的子任务被推送至任务执行引擎,任务执行引擎包括多个容器,利用至少两个容器通过分布式的方式执行待执行的子任务,以提高子任务执行效率。示例性地,可以根据至少两个容器的负载情况为不同的容器分配不同数量的子任务进行执行。
160.任务执行引擎在获取到语音交互任务后,可以将语音交互任务的执行记录表中的各个语音交互子任务的执行状态初始化为待执行状态。然后,获取语音交互任务中的第一个待执行的子任务(也即语音触发子任务),将语音触发子任务推送至第一消息队列,任务执行引擎中的容器消费子任务后,可以定位到具体的子任务以及某个子任务的执行数据。示例性地,第一消息队列中的成员(也即子任务)的格式可以为“appinst#executionid#appinstid#index”。在一些实施例中,第一消息队列还可以称为app实例队列。
161.在示例性实施例中,执行第一语音交互子任务的方式还可以包括:在第一语音交互子任务对应的执行参数中确定执行第一语音交互子任务所需利用的目标数据的标识信息;基于标识信息确定目标数据;基于目标数据,执行第一语音交互子任务,得到第一语音交互子任务的第二执行结果。
162.第一语音交互子任务对应的执行参数为基于第一语音交互子任务对应的语音交互类应用模块的参数设置操作得到的参数,第一语音交互子任务的执行参数可以与第一语音交互子任务的子任务标识对应存储在语音交互系统中,从而在需要执行第一语音交互子任务时,从存储中根据第一语音交互子任务的子任务标识提取第一语音交互子任务对应的执行参数。
163.第一语音交互子任务对应的执行参数包括执行第一语音交互子任务所需利用的目标数据的标识信息。本技术实施例对目标数据的标识信息的形式不加以限定,只要能够唯一标识目标数据即可。示例性地,目标数据的标识信息的形式可以为字符串形式,也可以为路径语法表达式形式等。
164.由于目标数据的标识信息能够唯一标识目标数据,所以能够基于标识信息确定目标数据。由于目标数据为执行第一语音交互子任务所需利用的数据,所以,在确定目标数据后,基于目标数据执行第一语音交互子任务。
165.示例性地,每个语音交互子任务都对应一个parameters数组,其结构为“《参数key,参数value,参数类型,参数描述》”。其中,上述参数类型可以是字符串(string)、布尔形式(boolean)、数值型(number)中的至少一种,参数value既可以使用常量(数字或字符串),也可以使用路径语法表达式引用前面任意一个语音交互子任务的输出结果,在一个示例中,路径语法表达式可以表示为:{{《应用实例id》.data}},或者表示为{{《应用实例id》.parameter.《参数key值》}}等。
166.示例性地,每当一个语音交互子任务执行完毕后,语音交互子任务的执行信息可以存储到语音交互任务的执行记录表中,对于执行记录表存储在db中的情况,语音交互子任务的运行数据可以存储在db中。可以将语音交互任务下的所有已执行的语音交互子任务
的执行信息都加载到内存中,形成一个如图15所示的全局变量结构,以便于解析语音交互子任务的执行参数中的用于引用其他语音交互子任务的输入数据或输出数据的路径语法表达式。
167.图15中使用的数据结构为map,包括了已执行的语音交互子任务的子任务标识,每个已执行的语音交互子任务对应记录有语音交互子任务的输入数据(parameter)和输出数据(data),还记录有一些执行相关的数据,如,开始时间(start time)、结束时间(end time)、执行状态(status)和错误信息(error)等。
168.任务执行引擎可以通过语音交互子任务的子任务标识进行定位,全局获取到语音交互任务中任意一个语音交互子任务的输入数据、输出数据等。然后可以将路径语法表达式解析替换成对应的数据,得到目标数据,然后根据目标数据执行第一语音交互子任务,得到第一语音交互子任务的第二执行结果。在得到第二执行结果后,可以将第二执行结果更新到语音交互任务的执行记录表中,对于执行记录表存储在db中的情况,将第二执行结果更新到db中。
169.在得到第一语音交互子任务的第二执行结果之后,可以判断语音交互任务的执行过程是否满足任务结束条件。若语音交互任务的执行过程满足任务结束条件,确定语音交互任务执行完毕。若语音交互任务的执行过程不满足任务执行结束条件,继续基于流转关系确定第一语音交互子任务指向的第二语音交互子任务,执行第二语音交互子任务,确定第二语音交互子任务的第三执行结果。然后再次判断语音交互任务的执行过程是否满足任务结束条件。以此类推,直至语音交互任务的执行过程满足任务结束条件。在一些实施例中,语音交互任务的执行过程满足任务结束条件可以说明语音交互任务中不存在待执行的语音交互子任务。
170.在示例性实施例中,判断语音交互任务的执行过程是否满足任务结束条件的方式可以包括:确定第一计数的当前取值和第二计数的当前取值;若第一计数的当前取值满足第一数量要求且第二计数的当前取值满足第二数量要求,确定语音交互任务的执行过程满足任务结束条件。其中,第一计数的当前取值用于指示至少两个语音交互子任务中的当前待执行的语音交互子任务的数量,第二计数的当前取值用于指示至少两个语音交互子任务中的当前正在执行的语音交互子任务的数量。示例性地,对于基于第一消息队列执行子任务的情况,第一计数还可以是指处于第一消息队列中的语音交互子任务的数量。
171.示例性地,第一计数和第二计数的取值的变化方式包括:初始化第一计数的取值和第二计数的取值;响应于任一语音交互子任务待执行,对所述第一计数的取值进行自增操作;响应于任一语音交互子任务开始执行,对所述第一计数的取值进行自减操作,且对第二计数的取值进行自增操作;响应于任一语音交互子任务执行完毕,对所述第二计数的取值进行自减操作。其中,自增操作用于将取值增加1,自减操作用于将取值减少1。
172.示例性地,第一计数可以表示为in_queue_count,第二计数可以表示为running_app_count。示例性地,第一计数和第二计数的初始取值可以均为0,在确定语音触发子任务待执行时,将第一计数的取值增加1,第二计数保持不变,从而使得第一计数的取值为1,第二计数的取值为0。在执行语音触发子任务的过程中(也即确定第一执行结果的过程中),将第一计数的取值减少1,将第二计数的取值增加1。示例性地,对于基于第一消息队列执行子任务的情况,执行语音触发子任务的过程可以是指从第一消息队列中获取语音触发子任务
并且开始执行语音触发子任务的过程。在语音触发子任务执行完毕后(也即确定第一执行结果后),将第二计数的取值减少1。
173.在语音触发子任务执行完毕后,接下来可以通过语音触发子任务的nextappinstids参数获取语音触发子任务执行的下一个语音交互子任务(也即第一语音交互子任务),然后可以将第一语音交互子任务推送至第一消息队列(nextappinstids参数),将第一计数的取值增加1。
174.示例性地,第一计数的当前取值满足第一数量要求是指第一计数的当前取值不大于0,第二计数的当前取值满足第二数量要求是指第二计数的当前取值不大于0。也就是说,若第一计数的当前取值和第二计数的当前取值不全小于等于0,则继续确定待执行的语音交互子任务或者继续从第一消息队列中获取语音交互子任务进行执行。若第一计数的当前取值和第二计数的当前取值都小于等于0,则确定语音交互任务执行完毕。示例性地,在语音交互任务执行完毕后,可以清理各个语音交互子任务的运行缓存,并设置语音交互任务的执行状态为执行结束状态(或者已完成状态)。
175.在示例性实施例中,判断语音交互任务的执行过程是否满足任务结束条件的方式还可以包括:若最新执行的语音交互子任务为语音交互任务中的最后一个待执行的语音交互子任务,确定语音交互任务的执行过程满足任务结束条件。
176.在示例性实施例中,针对语音交互任务对应的任意一个语音交互子任务,均可以创建一个子任务记录表,以记录语音交互子任务的相关数据。在一些实施例中,上述子任务记录表可以存储于数据库中。
177.在一个示例中,子任务记录表的结构可以如表2所示,子任务记录表中的字段包括自增长主键标识(id)、执行次数索引(index)、任务标识(execution_id)子任务标识(app_inst_id)、子任务名称(name)、语音交互类应用模块的类型(template)、执行状态(status)、开始执行时间(start_at)、结束执行时间(end_at)、执行参数和执行信息(apps)。
178.表2
[0179][0180]
需要说明的是,一个语音交互子任务可以被执行多次,则在该语音交互子任务的子任务记录表中创建多条数据。例如,某个语音交互子任务可能被循环执行多次,则会创建该语音交互子任务的多个执行结果[{app_inst_id=x,index=0}、{app_inst_id=x,index=1}、

、{app_inst_id=x,index=n}],通过app_inst_id和index字段可以唯一确认语音交互子任务的某次执行情况。
[0181]
表2中的apps字段存储的是一个json结构的数据,其用于记录语音交互子任务在某次的执行结果、前置和后置的语音交互子任务、入参以及运行时数据信息等。示例性地,apps字段存储的数据可以包括以下字段:index、maxindexcount、name、parameters、template、position、instid、prevappinstids、nextappinstids、output、error、status、starttime和endtime。其中,index表示语音交互子任务的执行次数索引,从0开始,如果使用循环,则循环体中的语音交互子任务的index则从0依次递增,也就是说,执行次数索引用于指示语音交互子任务已被执行的次数;maxindexcount用于记录语音交互子任务被执行的总次数。需要说明的是,当要获取语音交互子任务的某次执行结果时,由于语音交互子任务可能被执行多次(循环回调),则需要获取到它执行的总次数,即maxindexcount,然后依次根据语音交互子任务的instid和index索引依次获取到语音交互子任务的所有的执行结果。其他字段的介绍在前文中已经介绍,此处不再加以赘述。
[0182]
在确定语音交互任务执行完毕后,基于已获取的执行结果获取语音交互任务的任务执行结果。示例性地,对于在确定语音交互任务执行完毕时,仅执行了语音触发子任务和第一语音交互子任务的情况,已获取的执行结果包括第一执行结果和第二执行结果,此时,基于第一执行结果和第二执行结果获取语音交互任务的任务执行结果。对于在确定语音交互任务执行完毕时,除执行了语音触发子任务和第一语音交互子任务外,还执行了其他语音交互子任务的情况,除第一执行结果和第二执行结果外,还基于其他语音交互任务的执行结果,获取语音交互任务的任务执行结果。
[0183]
示例性地,可以将已获取的执行结果的汇总结果作为语音交互任务的任务执行结果,还可以通过对已获取的语音交互任务的执行结果进行分析,得到语音交互任务的任务执行结果等。
[0184]
在示例性实施例中,除了可以基于已获取的执行结果确定语音交互任务的任务执行结果外,还可以直接最后执行的语音交互子任务的执行结果作为语音交互任务的任务执行结果。
[0185]
在示例性实施例中,还可以直接将任务执行成功或任务执行失败作为语音交互任务的任务执行结果。
[0186]
在示例性实施例中,在获取语音交互任务的任务执行结果之后,还可以记录语音交互任务的执行信息。
[0187]
语音交互任务的执行信息用于指示语音交互任务的执行情况,示例性地,语音交互任务的执行信息可以包括语音交互任务的名称、执行人、开始时间、结束时间、耗时、运行状态、语音交互子任务的类型、语音交互子任务的执行结果、语音交互子任务之间的流转关系、语音交互任务对应的工作流程图、语音交互任务的执行结果等中的至少一项。
[0188]
在记录语音交互任务的执行信息后,还包括:响应于执行信息查询操作,显示执行信息查询页面;基于执行信息查询页面中针对语音交互任务的查询请求,显示语音交互任务的执行信息查看控件;响应于执行信息查看控件的触发操作,显示语音交互任务的执行信息。
[0189]
示例性地,语音交互系统的主页面可以提供执行信息查询控件,响应于该执行信息查询控件的触发操作,获取执行信息查询操作。示例性地,语音交互系统的主页面的操作菜单中显示有工作流操作,工作流操作的下一级操作包括运行记录操作,响应于交互对象选中运行记录操作,获取执行信息查询操作。当然,还可以通过其他方式获取执行信息查询操作,在此不再一一赘述。
[0190]
在获取任务执行信息查询操作后,显示执行信息查询页面,该执行信息查询页面用于查询已执行的任务的执行信息,已执行的任务可以仅包括已执行的语音交互任务;也可以既包括已执行的语音交互任务,又包括已执行的其他类型任务(如,凭据信息创建任务、用户管理任务等)。
[0191]
在示例性实施例中,执行信息查询页面可以提供查询条件输入框和查询确认控件,若查询确认控件被触发时的输入的查询条件命中语音交互任务,则获取执行信息查询页面中针对语音交互任务的查询请求。示例性地,查询确认控件被触发时的输入的查询条件命中语音交互任务可以是指查询确认控件被触发时的输入的查询条件仅命中语音交互任务,也可以是指查询确认控件被触发时的输入的查询条件命中语音交互任务和一个或多个其他任务。示例性地,查询确认控件被触发时的输入的查询条件可以是默认的查询条件,也可以是指交互对象自行设置的查询条件等。
[0192]
基于针对语音交互任务的查询请求,显示语音交互任务的执行信息查看控件。需要说明的是,在显示语音交互任务的执行信息查看控件的同时,也可以显示其他任务的执行信息查看控件。
[0193]
示例性地,执行信息查询页面在显示语音交互任务的执行信息查看控件时,可以将该语音交互任务的执行信息查看控件与语音交互任务的标识信息一同显示,以便于直观
体现语音交互任务与执行信息查看控件的对应关系。语音交互任务的标识信息用于在多个任务中唯一标识该语音交互任务,示例性地,语音交互任务的标识信息可以包括但不限于语音交互任务的名称、执行者、开始时间、结束时间、耗时、执行状态等。示例性地,除显示语音交互任务的执行信息查看控件外,还可以显示语音交互任务的执行信息删除控件、停止控件等。其中,语音交互任务的执行信息删除控件用于删除该语音交互任务的执行信息,语音交互任务的停止控件用于在语音交互任务执行完毕之前停止执行语音交互任务。
[0194]
响应于语音交互任务的执行信息查看控件的触发操作,获取针对语音交互任务的执行信息的查看请求,然后显示语音交互任务的执行信息。通过显示语音交互任务的执行信息,能够使交互对象对语音交互任务的执行情况进行全面了解,从而有利于便于对后续的语音交互任务的创建方式提供指导方向,或者从语音交互任务的执行信息中提取需要的信息等。
[0195]
示例性地,如图16所示,在交互对象在语音交互系统的主页面触发运行记录操作后,可以显示执行信息查询页面。在执行信息查询页面中,提供有查询条件输入框以及查询确认控件,在触发查询确认控件后,可以显示多个已执行的任务的关联信息,任一已执行的任务的关联信息包括该任一已执行的任务的名称、执行者、开始时间、结束时间、耗时、运行状态(或者称为执行状态)、执行信息查看控件、执行信息删除控件、停止控件。在获取到任一已执行的任务的执行信息查看控件的触发操作后,可以通过如图17所示的显示页面显示该任一已执行的任务的执行信息。
[0196]
示例性地,本技术实施例提供的可视化编排的语音交互任务的执行过程可以如图18所示。响应于语音唤醒词被命中,确定待执行的语音交互任务并将基于命中语音唤醒词的唤醒文本确定的目标文本作为启动参数传递给语音交互任务。确定语音交互任务对应的至少两个语音交互子任务以及流转关系。对至少两个语音交互子任务进行解析,确定第一个待执行的语音交互子任务(也即语音触发子任务),将语音触发子任务推送至第一消息队列(appinst_queue)。将语音交互任务的第一计数的取值增加1。
[0197]
从第一消息队列中获取语音触发子任务,将语音交互任务的第一计数的取值减少1,且将语音交互任务的第二计数的取值增加1。将语音触发子任务的执行状态设置为执行中。解析语音触发子任务的路径语法表达式,基于解析得到的数据执行语音触发子任务。在执行完毕后,将语音触发子任务的执行信息存储至数据库。将语音交互任务的第二计数的取值减少1。
[0198]
根据流转关系确定下一个语音交互子任务(也即第一语音交互子任务),将下一个语音交互子任务的执行信息存储到数据库中,将下一个语音交互子任务推送至第一消息队列,将语音交互任务的第一计数的取值增加1。判断第一计数和第二计数的取值是否均小于等于0,若是,则清理各个语音交互子任务的缓存数据,更新语音交互任务的执行状态并更新数据库中存储的数据。若否,则从第一消息队列中获取需要执行的子任务,继续执行。
[0199]
示例性地,执行任一语音交互子任务的过程可以如图19所示。将任一语音交互子任务的执行状态更新为执行中。判断任一语音交互子任务是否为语音触发子任务,若任一语音交互子任务为语音触发子任务,则将目标文本作为执行结果。若任一语音交互子任务不为语音触发子任务,则继续判断任一语音交互子任务是否为语音合成子任务。若任一语音交互子任务为语音合成子任务,则加载语音合成子任务对应的第一语音合成模型,调用
第一语音合成模型执行子任务,得到执行结果。若任一语音交互子任务不为语音合成子任务,则继续判断任一语音交互子任务是否为语音应答子任务。若任一语音交互子任务为语音应答子任务,则加载语音应答子任务对应的第二语音合成模型,将第二文本转换为第二语音,播放第二语音。检测交互对象的响应,若超时未响应,则执行超时分支;若在超时之前检测到了响应,则加载语音应答子任务对应的第一语音识别模型,将反馈语音转换为反馈文本,判断反馈文本是否同意命令,若同意命令,则执行同意分支,若不同意命令,则执行驳回分支,在确定需要执行的分支后,得到执行结果。若任一语音交互子任务不为语音应答子任务,则按照其他类型的子任务的执行逻辑执行该任一语音交互子任务。在得到执行结果后,将任一语音交互子任务的执行状态更新为执行完毕(或执行结束、已完成等)。
[0200]
本技术实施例通过可视化拖拽编排流程的低代码的方式来设计智能语音交互任务,实现所见即所得,可以极大降低智能语音交互任务的设计门槛,极大提高开发效率。对语音交互任务常见的功能进行模块化封装成语音触发器app、语音交互app、语音应答app等语音交互类应用模块,交互对象基于语音交互类应用模块并结合任务执行引擎,可以实现大部分复杂的智能语音交互功能。交互对象设定的语音唤醒词,可以实现触发执行语音交互任务,并且把交互对象的语音命令作为参数传递给语音交互任务。同时,对于一些跟交互对象通过应答的方式进行交互的场景,例如语音咨询交互对象的意见,则可以通过语音应答app实现响应交互对象的语音反馈,从而可以选择同意、驳回、超时3个分支情况。并且可以通过语音合成app播放一些内容。
[0201]
基于本技术实施例提供的方式,能够让普通没有编程经验的人都可以快速通过编排系统拖拽的方式来设计各种智能化的语音交互任务。通过编排技术来设计智能语音交互任务的流程,其执行通过分布式任务执行引擎集群进行解析执行。语音交互类应用模块封装常见的语音处理api,交互对象只需配置对应的api密钥,即可直接使用语音合成模型和语音识别模型,不需要重复性开发。结合任务执行引擎,能够极大提高任务执行的灵活性,并且通过低代码的可视化编排技术,大大提高了交互对象开发智能语音任务的效率。
[0202]
示例性地,本技术提供的语音交互任务的执行流程可以如图20所示,语音交互任务对应的app原子任务(也即语音交互子任务)会按照流程指向的顺序依次进入第一消息队列,由后端的分布式任务执行引擎进行消费获取,其中针对不同的app原子任务进行对应的业务操作,包括语音的识别唤醒、文本语音播放、语音反馈转换识别等功能。
[0203]
本技术实施例提供的可视化编排的语音交互任务的执行方法,通过提供语音交互任务编排页面来可视化编排得到语音交互任务,语音交互任务的获取过程对技术的要求较低,无需掌握编程技术,有利于提高语音交互任务的开发效率。此外,在通过可视化编排的方式创建语音交互任务后,可以基于语音交互任务对应的语音交互子任务和流转关系来实现对语音交互任务的执行,语音交互任务的执行规范性较高,有利于提高计算机设备执行语音交互任务的整体效率。
[0204]
参见图21,本技术实施例提供了一种可视化编排的语音交互任务的执行装置,该装置包括:
[0205]
显示单元2101,用于显示语音交互任务编排页面,语音交互任务编排页面包括可选的语音交互类应用模块,语音交互类应用模块为将语音交互相关的功能进行封装后得到的模块;
[0206]
创建单元2102,用于基于选中的语音交互类应用模块的位置设置操作、参数设置操作以及选中的语音交互类应用模块之间的连接操作,创建语音交互任务,参数设置操作包括设置语音交互任务对应的语音唤醒词的操作;
[0207]
确定单元2103,用于响应于语音唤醒词被命中,确定语音交互任务对应的至少两个语音交互子任务以及至少两个语音交互子任务之间的流转关系;
[0208]
执行单元2104,用于基于至少两个语音交互子任务和流转关系,执行语音交互任务,得到语音交互任务的任务执行结果。
[0209]
在一种可能实现方式中,执行单元2104,用于确定命中语音唤醒词的唤醒文本,基于唤醒文本确定语音触发子任务的第一执行结果,语音触发子任务为至少两个语音交互子任务中第一个待执行的子任务;基于流转关系,在至少两个语音交互子任务中确定语音触发子任务指向的第一语音交互子任务,执行第一语音交互子任务,得到第一语音交互子任务的第二执行结果;若语音交互任务的执行过程满足任务结束条件,基于所述第一执行结果和所述第二执行结果获取语音交互任务的任务执行结果。
[0210]
在一种可能实现方式中,执行单元2104,用于若第一语音交互子任务为语音合成子任务,调用语音合成子任务对应的第一语音合成模型将语音合成子任务对应的第一文本转换成第一语音,播放第一语音,将第一语音的播放结果作为第二执行结果;若第一语音交互子任务为语音应答子任务,调用语音应答子任务对应的第二语音合成模型将语音应答子任务对应的第二文本转换成第二语音,播放第二语音;若接收到针对第二语音的反馈语音,调用语音应答子任务对应的第一语音识别模型将反馈语音转换成反馈文本,将反馈文本作为第二执行结果。
[0211]
在一种可能实现方式中,该装置还包括:
[0212]
推送单元,用于将第一语音交互子任务推送至第一消息队列,第一消息队列用于缓存待执行的子任务;
[0213]
执行单元2104,用于在第一消息队列中不存在位于第一语音交互子任务之前的待执行的子任务的情况下,从第一消息队列中获取第一语音交互子任务,执行第一语音交互子任务。
[0214]
在一种可能实现方式中,执行单元2104,用于在第一语音交互子任务对应的执行参数中确定执行第一语音交互子任务所需利用的目标数据的标识信息;基于标识信息确定目标数据;基于目标数据,执行第一语音交互子任务。
[0215]
在一种可能实现方式中,确定单元2103,还用于确定第一计数的当前取值和第二计数的当前取值,第一计数的当前取值用于指示至少两个语音交互子任务中的当前待执行的语音交互子任务的数量,第二计数的当前取值用于指示至少两个语音交互子任务中的当前正在执行的语音交互子任务的数量;若第一计数的当前取值满足第一数量要求且第二计数的当前取值满足第二数量要求,确定语音交互任务的执行过程满足任务结束条件。
[0216]
在一种可能实现方式中,确定单元2103,还用于初始化第一计数的取值和第二计数的取值;响应于任一语音交互子任务待执行,对第一计数的取值进行自增操作;响应于任一语音交互子任务开始执行,对第一计数的取值进行自减操作,且对第二计数的取值进行自增操作;响应于任一语音交互子任务执行完毕,对第二计数的取值进行自减操作。
[0217]
在一种可能实现方式中,该装置还包括:
[0218]
获取单元,用于响应于任一语音交互类应用模块的选中操作,将任一语音交互类应用模块设置为可拖动模式;响应于任一语音交互类应用模块被拖动至语音交互任务编排页面中的编排区域的任一位置,获取任一语音交互类应用模块的位置设置操作;基于处于编排区域的任一语音交互类应用模块的参数设置请求,显示任一语音交互类应用模块的参数设置页面,响应于参数设置页面中设置的参数的确认操作,获取任一语音交互类应用模块的参数设置操作。
[0219]
在一种可能实现方式中,显示单元2101,用于响应于执行信息查询操作,显示执行信息查询页面,执行信息查询页面用于查询已执行的任务的执行信息,已执行的任务包括语音交互任务;基于执行信息查询页面中针对语音交互任务的查询请求,显示语音交互任务的执行信息查看控件;响应于执行信息查看控件的触发操作,显示语音交互任务的执行信息。
[0220]
在一种可能实现方式中,确定单元2103,还用于响应于检测到语音,调用语音采集设备采集语音,将语音采集设备在语音静默的时长达到参考时长时采集到的语音作为唤醒语音;调用目标语音识别模型对唤醒语音进行识别,得到唤醒文本;将唤醒文本与语音唤醒词进行匹配,若唤醒文本与语音唤醒词匹配成功,确定语音唤醒词被命中。
[0221]
本技术实施例提供的可视化编排的语音交互任务的执行装置,通过提供语音交互任务编排页面来可视化编排得到语音交互任务,语音交互任务的获取过程对技术的要求较低,无需掌握编程技术,有利于提高语音交互任务的开发效率。此外,在通过可视化编排的方式创建语音交互任务后,可以基于语音交互任务对应的语音交互子任务和流转关系来实现对语音交互任务的执行,语音交互任务的执行规范性较高,有利于提高计算机设备执行语音交互任务的整体效率。
[0222]
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0223]
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以使该计算机设备实现上述任一种可视化编排的语音交互任务的执行方法。该计算机设备可以为终端,也可以为服务器。接下来,分别对终端和服务器的结构进行介绍。
[0224]
图22是本技术实施例提供的一种终端的结构示意图。该终端可以是:pc、手机、智能手机、pda、可穿戴设备、ppc、平板电脑、智能车机、智能电视、智能音箱、车载终端。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0225]
通常,终端包括有:处理器2201和存储器2202。
[0226]
处理器2201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2201可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2201也可以包括主处理器和协处理器,主
处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2201可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0227]
存储器2202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2201所执行,以使该终端实现本技术中方法实施例提供的可视化编排的语音交互任务的执行方法。
[0228]
在一些实施例中,终端还可选包括有:外围设备接口2203和至少一个外围设备。处理器2201、存储器2202和外围设备接口2203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2203相连。具体地,外围设备包括:射频电路2204、显示屏2205、摄像头组件2206、音频电路2207和电源2208中的至少一种。
[0229]
外围设备接口2203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2201和存储器2202。在一些实施例中,处理器2201、存储器2202和外围设备接口2203被集成在同一芯片或电路板上;在一些其他实施例中,处理器2201、存储器2202和外围设备接口2203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0230]
射频电路2204用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路2204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路2204还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0231]
显示屏2205用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2205是触摸显示屏时,显示屏2205还具有采集在显示屏2205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2201进行处理。此时,显示屏2205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2205可以为一个,设置在终端的前面板;在另一些实施例中,显示屏2205可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏2205可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏2205还可以设置成非矩形的不规则图形,也即异形屏。显示屏2205可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0232]
摄像头组件2206用于采集图像或视频。可选地,摄像头组件2206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0233]
音频电路2207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2201进行处理,或者输入至射频电路2204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2201或射频电路2204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2207还可以包括耳机插孔。
[0234]
电源2208用于为终端中的各个组件进行供电。电源2208可以是交流电、直流电、一次性电池或可充电电池。当电源2208包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0235]
在一些实施例中,终端还包括有一个或多个传感器2209。该一个或多个传感器2209包括但不限于:加速度传感器2210、陀螺仪传感器2211、压力传感器2212、光学传感器2213以及接近传感器2214。
[0236]
加速度传感器2210可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2210可以用于检测重力加速度在三个坐标轴上的分量。处理器2201可以根据加速度传感器2210采集的重力加速度信号,控制显示屏2205以横向视图或纵向视图进行用户界面的显示。加速度传感器2210还可以用于游戏或者用户的运动数据的采集。
[0237]
陀螺仪传感器2211可以检测终端的机体方向及转动角度,陀螺仪传感器2211可以与加速度传感器2210协同采集用户对终端的3d动作。处理器2201根据陀螺仪传感器2211采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0238]
压力传感器2212可以设置在终端的侧边框和/或显示屏2205的下层。当压力传感器2212设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器2201根据压力传感器2212采集的握持信号进行左右手识别或快捷操作。当压力传感器2212设置在显示屏2205的下层时,由处理器2201根据用户对显示屏2205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0239]
光学传感器2213用于采集环境光强度。在一个实施例中,处理器2201可以根据光学传感器2213采集的环境光强度,控制显示屏2205的显示亮度。具体地,当环境光强度较高时,调高显示屏2205的显示亮度;当环境光强度较低时,调低显示屏2205的显示亮度。在另
一个实施例中,处理器2201还可以根据光学传感器2213采集的环境光强度,动态调整摄像头组件2206的拍摄参数。
[0240]
接近传感器2214,也称距离传感器,通常设置在终端的前面板。接近传感器2214用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器2214检测到用户与终端的正面之间的距离逐渐变小时,由处理器2201控制显示屏2205从亮屏状态切换为息屏状态;当接近传感器2214检测到用户与终端的正面之间的距离逐渐变大时,由处理器2201控制显示屏2205从息屏状态切换为亮屏状态。
[0241]
本领域技术人员可以理解,图22中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0242]
图23是本技术实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)2301和一个或多个存储器2302,其中,该一个或多个存储器2302中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器2301加载并执行,以使该服务器实现上述各个方法实施例提供的可视化编排的语音交互任务的执行方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0243]
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以使计算机实现上述任一种可视化编排的语音交互任务的执行方法。
[0244]
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0245]
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述任一种可视化编排的语音交互任务的执行方法。
[0246]
需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的位置设置操作、参数设置操作、连接操作等都是在充分授权的情况下获取的。
[0247]
本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以上示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与本技术的一些方面相一致的装置和方法的例子。
[0248]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0249]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的原则
之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种可视化编排的语音交互任务的执行方法,其特征在于,所述方法包括:显示语音交互任务编排页面,所述语音交互任务编排页面包括可选的语音交互类应用模块,所述语音交互类应用模块为将语音交互相关的功能进行封装后得到的模块;基于选中的语音交互类应用模块的位置设置操作、参数设置操作以及所述选中的语音交互类应用模块之间的连接操作,创建语音交互任务,所述参数设置操作包括设置所述语音交互任务对应的语音唤醒词的操作;响应于所述语音唤醒词被命中,确定所述语音交互任务对应的至少两个语音交互子任务以及所述至少两个语音交互子任务之间的流转关系;基于所述至少两个语音交互子任务和所述流转关系,执行所述语音交互任务,得到所述语音交互任务的任务执行结果。2.根据权利要求1所述的方法,其特征在于,所述基于所述至少两个语音交互子任务和所述流转关系,执行所述语音交互任务,得到所述语音交互任务的任务执行结果,包括:确定命中所述语音唤醒词的唤醒文本,基于所述唤醒文本确定语音触发子任务的第一执行结果,所述语音触发子任务为所述至少两个语音交互子任务中第一个待执行的子任务;基于所述流转关系,在所述至少两个语音交互子任务中确定所述语音触发子任务指向的第一语音交互子任务,执行所述第一语音交互子任务,得到所述第一语音交互子任务的第二执行结果;若所述语音交互任务的执行过程满足任务结束条件,基于所述第一执行结果和所述第二执行结果获取所述语音交互任务的任务执行结果。3.根据权利要求2所述的方法,其特征在于,所述执行所述第一语音交互子任务,得到所述第一语音交互子任务的第二执行结果,包括:若所述第一语音交互子任务为语音合成子任务,调用所述语音合成子任务对应的第一语音合成模型将所述语音合成子任务对应的第一文本转换成第一语音,播放所述第一语音,将所述第一语音的播放结果作为所述第二执行结果;若所述第一语音交互子任务为语音应答子任务,调用所述语音应答子任务对应的第二语音合成模型将所述语音应答子任务对应的第二文本转换成第二语音,播放所述第二语音;若接收到针对所述第二语音的反馈语音,调用所述语音应答子任务对应的第一语音识别模型将所述反馈语音转换成反馈文本,将所述反馈文本作为所述第二执行结果。4.根据权利要求2所述的方法,其特征在于,所述在所述至少两个语音交互子任务中确定所述语音触发子任务指向的第一语音交互子任务之后,所述方法还包括:将所述第一语音交互子任务推送至第一消息队列,所述第一消息队列用于缓存待执行的子任务;所述执行所述第一语音交互子任务,包括:在所述第一消息队列中不存在位于所述第一语音交互子任务之前的待执行的子任务的情况下,从所述第一消息队列中获取所述第一语音交互子任务,执行所述第一语音交互子任务。5.根据权利要求2所述的方法,其特征在于,所述执行所述第一语音交互子任务,包括:在所述第一语音交互子任务对应的执行参数中确定执行所述第一语音交互子任务所
需利用的目标数据的标识信息;基于所述标识信息确定所述目标数据;基于所述目标数据,执行所述第一语音交互子任务。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定第一计数的当前取值和第二计数的当前取值,所述第一计数的当前取值用于指示所述至少两个语音交互子任务中的当前待执行的语音交互子任务的数量,所述第二计数的当前取值用于指示所述至少两个语音交互子任务中的当前正在执行的语音交互子任务的数量;若所述第一计数的当前取值满足第一数量要求且所述第二计数的当前取值满足第二数量要求,确定所述语音交互任务的执行过程满足任务结束条件。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:初始化第一计数的取值和第二计数的取值;响应于任一语音交互子任务待执行,对所述第一计数的取值进行自增操作;响应于所述任一语音交互子任务开始执行,对所述第一计数的取值进行自减操作,且对所述第二计数的取值进行自增操作;响应于所述任一语音交互子任务执行完毕,对所述第二计数的取值进行自减操作。8.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:响应于任一语音交互类应用模块的选中操作,将所述任一语音交互类应用模块设置为可拖动模式;响应于所述任一语音交互类应用模块被拖动至所述语音交互任务编排页面中的编排区域的任一位置,获取所述任一语音交互类应用模块的位置设置操作;基于处于所述编排区域的所述任一语音交互类应用模块的参数设置请求,显示所述任一语音交互类应用模块的参数设置页面,响应于所述参数设置页面中设置的参数的确认操作,获取所述任一语音交互类应用模块的参数设置操作。9.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:响应于执行信息查询操作,显示执行信息查询页面,所述执行信息查询页面用于查询已执行的任务的执行信息,所述已执行的任务包括所述语音交互任务;基于所述执行信息查询页面中针对所述语音交互任务的查询请求,显示所述语音交互任务的执行信息查看控件;响应于所述执行信息查看控件的触发操作,显示所述语音交互任务的执行信息。10.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:响应于检测到语音,调用语音采集设备采集语音,将所述语音采集设备在语音静默的时长达到参考时长时采集到的语音作为唤醒语音;调用目标语音识别模型对所述唤醒语音进行识别,得到唤醒文本;将所述唤醒文本与所述语音唤醒词进行匹配,若所述唤醒文本与所述语音唤醒词匹配成功,确定所述语音唤醒词被命中。11.一种可视化编排的语音交互任务的执行装置,其特征在于,所述装置包括:显示单元,用于显示语音交互任务编排页面,所述语音交互任务编排页面包括可选的语音交互类应用模块,所述语音交互类应用模块为将语音交互相关的功能进行封装后得到
的模块;创建单元,用于基于选中的语音交互类应用模块的位置设置操作、参数设置操作以及所述选中的语音交互类应用模块之间的连接操作,创建语音交互任务,所述参数设置操作包括设置所述语音交互任务对应的语音唤醒词的操作;确定单元,用于响应于所述语音唤醒词被命中,确定所述语音交互任务对应的至少两个语音交互子任务以及所述至少两个语音交互子任务之间的流转关系;执行单元,用于基于所述至少两个语音交互子任务和所述流转关系,执行所述语音交互任务,得到所述语音交互任务的任务执行结果。12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述计算机设备实现如权利要求1至10任一所述的可视化编排的语音交互任务的执行方法。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现如权利要求1至10任一所述的可视化编排的语音交互任务的执行方法。14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令由处理器加载并执行,以使计算机实现如权利要求1至10任一所述的可视化编排的语音交互任务的执行方法。

技术总结
本申请公开了一种可视化编排的语音交互任务的执行方法、装置及设备,属于计算机技术领域。该方法包括:显示语音交互任务编排页面,语音交互任务编排页面包括可选的语音交互类应用模块;基于选中的语音交互类应用模块的位置设置操作、参数设置操作以及选中的语音交互类应用模块之间的连接操作,创建语音交互任务,参数设置操作包括设置语音交互任务对应的语音唤醒词的操作;响应于语音唤醒词被命中,确定至少两个语音交互子任务以及流转关系;基于至少两个语音交互子任务和流转关系,执行语音交互任务,得到语音交互任务的任务执行结果。此种方式,有利于提高语音交互任务的创建效率以及计算机设备执行语音交互任务的整体效率。效率。效率。


技术研发人员:温冠超 彭成锋 李滨 董志强
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.01.16
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐