在语音对话平台创建技能、语音对话产品的方法及系统转让专利

申请号 : CN201810219670.0

文献号 : CN108564946B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭奕超邹兴旺杨培芳

申请人 : 苏州思必驰信息科技有限公司

摘要 :

本发明公开一种在语音对话平台创建技能的方法,包括:响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;当开发者选定外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框;接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。本发明实施例的创建技能的方法可以直接复用外部平台已有的技能,而不需要再本地平台进行重复开发,从而避免了资源浪费,降低了开发成本,提升了开发效率。

权利要求 :

1.一种在语音对话平台创建技能的方法,包括:

响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;

当开发者选定所述外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括外部技能引入路径输入框和/或外部技能标识信息输入框,所述外部技能为在外部平台所创建的技能;

接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。

2.根据权利要求1所述的方法,其中,所述外部技能引入路径输入框用于开发者从预存的第三方平台的技能访问路径列表中选择待引入的外部技能的路径或者用于开发者输入待引入的外部技能的路径。

3.根据权利要求1所述的方法,其中,所述外部技能标识信息输入框用于开发者输入访问相应外部技能的唯一秘钥。

4.一种在语音对话平台创建语音对话产品的方法,包括:

在语音对话平台上为待创建的语音对话产品添加内部技能;

采用权利要求1-3中任一项所述的方法为所述待创建的语音对话产品添加外部技能,基于所添加的内部技能和外部技能,生成对应于所述待创建的语音对话产品的ID信息的技能列表;

为所述技能列表中的内部技能和外部技能设置技能优先级决策;

创建并发布所述待创建的语音对话产品供客户端进行应用。

5.一种实现人机语音对话的方法,应用于语音对话服务器,所述方法包括:接收客户端上传的语音对话产品的ID信息和用户的对话信息;

从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;

判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能;

当所述命中的技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,所述预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息,所述外部技能为在外部平台所创建的技能;

将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。

6.根据权利要求5所述的方法,还包括:

当所述命中的技能既包括外部技能也包括内部技能时,根据预设的技能优先级决策确定所述外部技能和内部技能的优先级高低;

当所述外部技能优先级高于所述内部技能时,则利用所述预存的外部技能信息调用所述外部技能以获取对所述用户的对话信息的处理结果,其中,所述预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;

当所述内部技能优先级高于所述外部技能时,则调用语义理解服务器以获取对所述用户的对话信息的处理结果;

将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。

7.一种语音对话平台系统,包括:

技能创建界面生成程序模块,用于响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;

信息获取界面生成程序模块,用于当开发者选定所述外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框,所述外部技能为在外部平台所创建的技能;

信息存储程序模块,用于接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。

8.根据权利要求7所述的系统,其中,所述外部技能引入路径输入框用于开发者从预存的第三方平台的技能访问路径列表中选择待引入的外部技能的路径或者用于开发者输入待引入的外部技能的路径。

9.根据权利要求7所述的系统,其中,所述外部技能标识信息输入框用于开发者输入访问相应外部技能的唯一秘钥。

10.一种语音对话平台系统,包括:

内部技能添加程序模块,用于在语音对话平台上为待创建的语音对话产品添加内部技能;

外部技能添加程序模块,用于采用权利要求1-3中任一项所述的方法为待创建的语音对话产品添加外部技能;

技能列表生成程序模块,用于基于所添加的内部技能和外部技能,生成对应于语音对话产品的ID信息的技能列表;

技能优先级设置程序模块,用于为所述技能列表中的内部技能和外部技能设置技能优先级决策;

产品发布程序模块,用于创建并发布所述语音对话产品供客户端进行应用。

11.一种语音对话服务器,包括:

外部信息接收程序模块,用于接收客户端上传的语音对话产品的ID信息和用户的对话信息;

命中技能确定程序模块,用于从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;

技能类型确定程序模块,用于判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能;

外部技能调用程序模块,用于当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息,所述外部技能为在外部平台所创建的技能;

处理结果发送程序模块,用于将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。

12.根据权利要求11所述的服务器,还包括:

技能优先级确定程序模块,用于当所述命中技能既包括外部技能也包括内部技能时,根据预设的技能优先级决策确定外部技能和内部技能的优先级高低;

外部技能调用程序模块,用于当所述外部技能优先级高于所述内部技能时,则利用预存的外部技能信息调用所述外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;

语义理解服务器调用程序模块,用于当所述内部技能优先级高于所述外部技能时,则调用语义理解服务器以获取对所述用户的对话信息的处理结果;

处理结果发送程序模块,用于将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。

13.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求5或6所述方法的步骤。

14.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求5或6所述方法的步骤。

说明书 :

在语音对话平台创建技能、语音对话产品的方法及系统

技术领域

[0001] 本发明属于软件开发技术领域,尤其涉及一种在语音对话平台创建技能、语义对话产品的方法及系统。

背景技术

[0002] 开放平台(Open Platform)是指软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能或使用该软件系统的资源,而不需要更改该软件系统的源代码。
[0003] 目前,语音对话产品类的开发平台也逐渐多了起来,但是各自的开发平台都遵循着自己内部制定的协议,并且开发的产品只能用于本平台,不同平台之间不互不兼容。此外,各个平台核心的NLP(Natural Language Processing,自然语言处理)技术不会直接对外开放,因此不同平台上的技能想要很完美地融合多平台的技能结果是一个很大的挑战。
[0004] 申请人在实现本发明的过程中发现,不同平台上开发的技能必须在对应平台上才能使用,不能复用到其他平台的产品中,那么一个同样功能的技能如果想要在多个平台上使用,需要在每个平台上都进行一次开发,同时开发者还要熟悉各个平台的开发流程、工具等,提高了学习成本、开发难度并且极大的降低了开发效率。
[0005] 因此,当开发者同时采用多个语音对话产品开发平台进行产品开发时,如果需要将不同开发平台上所开发的多种不同的技能(类似于一个APP,通过语音对话完成一个或者多个特定功能,如微信支持N种功能,消息,朋友圈,支付等)集合到一起生成一个产品,则需要开发者选定一个平台,并在该选定的平台上重新开发原本已经分别在其它多个平台开发好的技能,例如,开发者原本在开发平台A上开发了技能a,在开发平台B上开发了技能b,这时候就至少需要在开发平台A上重新开发技能b以将技能a和b集成到一个产品中。这样就导致了重复开发带来的资源浪费,并且也降低了产品开发效率,提升了产品开发成本。

发明内容

[0006] 本发明实施例提供一种在语音对话平台创建技能,语义对话产品的方法及系统,语音对话平台系统和语音对话服务器,用于至少解决上述技术问题之一。
[0007] 第一方面,本发明实施例提供一种在语音对话平台创建技能的方法,包括:
[0008] 响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;
[0009] 当开发者选定外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框;
[0010] 接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。
[0011] 第二方面,本发明实施例提供一种在语音对话平台创建语音对话产品的方法,包括:
[0012] 在语音对话平台上为待创建的语音对话产品天界内部技能;
[0013] 采用本发明实施例中任一项所述的在语音对话平台创建技能的方法为待创建的语音对话产品添加外部技能,
[0014] 基于所添加的内部技能和外部技能,生成对应于语音对话产品的ID信息的技能列表;
[0015] 为所述技能列表中的内部技能技能和外部技能设置技能优先级决策;
[0016] 创建并发布所述语音对话产品供客户端进行应用。
[0017] 第三方面,本发明实施例提供一种实现人机语音对话的方法,应用于语音对话服务器,所述方法包括:
[0018] 接收客户端上传的语音对话产品的ID信息和用户的对话信息;
[0019] 从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;
[0020] 判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能;
[0021] 当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;
[0022] 将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0023] 第四方面,本发明实施例提供一种语音对话平台系统,包括:
[0024] 技能创建界面生成程序模块,用于响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;
[0025] 信息获取界面生成程序模块,用于当开发者选定外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框;
[0026] 信息存储程序模块,用于接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。
[0027] 第五方面,本发明实施例提供一种语音对话平台系统,包括:
[0028] 内部技能添加程序模块,用于在语音对话平台上为待创建的语音对话产品添加内部技能;
[0029] 外部技能添加程序模块,用于本发明实施例中任一项所述的在语音对话平台创建技能的方法为待创建的语音对话产品添加外部技能;
[0030] 技能列表生成程序模块,用于基于所添加的内部技能和外部技能,生成对应于语音对话产品的ID信息的技能列表;
[0031] 技能优先级设置程序模块,用于为所述技能列表中的内部技能和外部技能设置技能优先级决策;
[0032] 产品发布程序模块,用于创建并发布所述语音对话产品供客户端进行应用。
[0033] 第六方面,本发明实施例提供一种语音对话服务器,包括:
[0034] 外部信息接收程序模块,用于接收客户端上传的语音对话产品的ID信息和用户的对话信息;
[0035] 命中技能确定程序模块,用于从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;
[0036] 技能类型确定程序模块,用于判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能;
[0037] 外部技能调用程序模块,用于当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;
[0038] 处理结果发送程序模块,用于将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0039] 第七方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的实现人机语音对话的方法的步骤。
[0040] 第八方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的实现人机语音对话的方法的步骤。
[0041] 第九方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的实现人机语音对话的方法的步骤。
[0042] 本发明实施例的有益效果在于:将技能划分为自定义技能和外部技能,通过外部技能的引入,实现了将外部平台所创建的外部技能直接用于本地平台的功能,从而实现了不同开发平台之间的互通,具体地通过在确定开发者所请求创建的技能为外部技能时,生成用于用户输入外部技能信息的接口,所述外部技能信息用于获取外部技能,从而实现了外部技能的引入。因此,本发明实施例的创建技能的方法可以直接复用外部平台已有的技能,而不需要再本地平台进行重复开发,从而避免了资源浪费,降低了开发成本,提升了开发效率。

附图说明

[0043] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明的在语音对话平台创建技能的方法一实施例的流程图;
[0045] 图2为本发明实施例中的技能创建界面示意图;
[0046] 图3为本发明实施例中的外部技能信息获取界面示意图;
[0047] 图4为本发明的在语音对话平台创建语音对话产品的方法的一实施方式的流程图;
[0048] 图5为本发明的实现人机语音对话的方法的一实施方式的流程图;
[0049] 图6为本发明的实现人机语音对话的方法的另一实施方式的流程图;
[0050] 图7为本发明的语音对话平台系统一实施例的原理框图;
[0051] 图8为本发明的语音对话平台系统另一实施例的原理框图;
[0052] 图9为本发明的语音对话服务器的一实施例的原理框图;
[0053] 图10为本发明的语音对话服务器的另一实施例的原理框图;
[0054] 图11为本发明的实现人机语音对话的方法一具体实施方式的流程图。

具体实施方式

[0055] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0057] 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0058] 在本发明中,“模块”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
[0059] 最后,还需要说明的是,在本文中,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0060] 如图1所示,本发明的一实施例的在语音对话平台创建技能的方法,包括:
[0061] S11、响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项。供开发者选择的技能类型,所述技能类型包括自定义技能类型[0062] 具体地,当开发者在语音对话平台上进行技能创建操作时,平台自动生成技能创建请求,从而相应于技能创建请求生成技能创建界面呈现在显示屏上。在该技能创建界面上可以显示外部技能选项和/或自定义技能选项两个按钮供开发者勾选,但是本发明不限定为上述选择形式,还可以是任何其它形式的选择方式。
[0063] 此外,在技能创建界面上还包括技能名称输入框,技能分类输入框以及技能描述信息输入框,其中技能分类输入框可以采用下拉列表的形式提供多种技能分类供开发深选择或者开发者自行输入,例如下拉列表中包括:效率工具、生活服务、交通出行、影音视听、购物、教育、智能家居、社交分享、新闻资讯等。
[0064] S12、当开发者选定外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框。
[0065] 本实施例中的外部技能信息获取界面上的外部技能引入路径输入框用于开发者输入访问外部技能的URL(Uniform Resource Locator,统一资源定位符);具体输入方式可以是:开发者从预存的第三方平台的技能访问路径列表中选择待引入的外部技能的路径或者用于开发者输入待引入的外部技能的路径。其中,预存的第三方平台的技能访问路径列表来自与本地平台达成合作的已知的第三方平台,这种方式可以便于能力较低的开发者进行产品开发;开发者直接输入的待引入的外部技能的路径为部分能力较强的开发者为寻求产品个性化而自行获取的。
[0066] 外部技能标识信息输入框用于开发者输入访问相应外部技能的唯一秘钥。
[0067] S13、接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。本实施例中,外部技能信息用于调用外部技能,所述外部技能信息包括访问外部技能的URL(统一资源定位符)和访问相应外部技能的唯一秘钥。
[0068] 本实施例中将技能划分为自定义技能和外部技能,通过外部技能的引入,实现了将外部平台所创建的外部技能直接用于本地平台的功能,从而实现了不同开发平台之间的互通,具体地通过在确定开发者所请求创建的技能为外部技能时,生成用于用户输入外部技能信息的接口,所述外部技能信息用于获取外部技能,从而实现了外部技能的引入。因此,本发明实施例的创建技能的方法可以直接复用外部平台已有的技能,而不需要再本地平台进行重复开发,从而避免了资源浪费,降低了开发成本,提升了开发效率。
[0069] 为便于更加清楚的理解本发明的在语音对话平台创建技能的方法,以下我们以创建一个外部技能“中译英”为例,当开发者在语音对话平台请求创建一个技能时,生成并显示如图2所示的技能创建界面,由图2可以看出,该技能创建界面下包括技能名称输入框、技能分类选择框、技能类型选项以及技能描述输入框,其中技能类型包括自定义技能、内置技能和外部技能三种。
[0070] 当开发者选择外部技能之后生成并显示如图3所示的外部技能信息获取界面,其中需要开发者填写外部技能URL和技能ID(Skill_id),例如外部技能“中译英”的URL为“http://lab.**.ai/**-api/v1/message”,技能ID为“ff63dfc3-4089-4f0c-beec-9d4f6e3e48f3”,当开发者在开发过程中将以上信息通过外部技能信息获取界面填入之后,语音对话平台获取并存储这些外部技能信息,以用于当包含了该外部技能“中译英”的产品使用过程中,通过预先存储的上述外部技能信息来调用外部技能“中译英”。在一些实施例中,当开发者通填写外部技能URL之后可以通过点击外部技能信息获取界面上的“前往获取Skill_id”按钮直接跳转至已经填写的外部技能URL所指向的外部开发平台,以在该平台获取外部技能“中译英”的Skill_id,当然如果开发者预先知道Skill_id,则可以直接在信息输入框中填写。当所填写的外部技能URL不同时,点击“前往获取Skill_id”按钮所跳转的外部平台不同,并且外部技能URL可以以下拉列表的形式提供多个预定选项供开发者选择,当然,如果没有开发者所需要的外部平台的URL时,该输入框也允许开发者直接输入。
[0071] 发明人意外的发现,采用本发明上述实施例中的在语音对话平台创建技能的方法,即便是没有任何开发经验的开发者,都能够在极短的时间内将来源于不同的开发平台上的多个技能集成到一起,开发出满足需求的产品,并且由于能够从不同开发平台中获取技能,所以极大的宽展了开发者选择技能的范围,从而能够开发出技能丰富完善的语音对话产品。
[0072] 如图4所示,本发明实施例还提供一种在语音对话平台创建语音对话产品的方法,包括:
[0073] S41、在语音对话平台上为待创建的语音对话产品添加内部技能,内部技能包括内置技能和自定义技能,其中内置技能为语音对话平台开发方所预先开发并发布的技能,自定义技能为外部开发者在本语音对话平台上自定义开发的并发布的技能;
[0074] S42、采用本发明上述实施例中任一项所述的在语音对话平台创建技能的方法为待创建的语音对话产品添加外部技能,
[0075] S43、基于所添加的内部技能和外部技能,生成对应于语音对话产品的ID信息的技能列表。
[0076] 如果需要创建一个产品“翻译助手”,则可以在该产品中添加多个技能,例如,“中译英”、“英译中”、“中译日”、“中译韩”等技能,这些技能可以是采用本发明上述在语音对话平台创建技能的方法的实施例所创建的自定义技能和外部技能,也可以是语音对话平台内置的技能。
[0077] 当开发者请求创建一个“翻译助手”的同时,语音对话平台为该产品自动分配了一个产品ID,例如:100001438。此外,还创建了对该产品ID相对应的技能列表,开发者每增加一个技能,该增加的技能都会添加至该技能列表中,该技能列表中可以存储有对应技能的技能信息。例如,对于外部技能,可以是开发者在创建外部技能时所填写的访问外部技能的URL和访问外部技能的key(或者是Skill_id)。
[0078] S44、为所述技能列表中的内部技能和外部技能设置技能优先级决策。
[0079] 本实施例中的优先级策略可以是自定义技能和外部技能之间的优先级排序,也可是多个自定义技能之间的排序,也可以是多个外部技能之间的优先级排序。通过为自定义技能和外部技能设置优先级,从而开发者可以按照用户的实际需求为用户提供更准确、快捷方便的服务。例如,对于“翻译助手”,可以将“中译英”这个技能的优先级排在最高,从而当用户使用该产品输入一句中文时,该产品将第一时间为用户提供相应的英文翻译,因为据统计,中译英为绝大多数用户最常用的一种功能,从而这种优先级的排序可以节省用户的操作步骤,方便用户使用。例如,用户只需要说直接说待翻译内容,而不必说“请将……翻译为……”。
[0080] S45、创建并发布所述语音对话产品供客户端进行应用。
[0081] 本实施例中直接完成了对应外部平台的API接入,通过支持创建一种“外部技能”的类型,只需要将对应外部平台访问授权的信息(例如,访问外部技能的URL和访问外部技能的Skill_id)提供给本地平台(语音对话平台),就可以取代复杂的对话定制交互,直接在本地平台使用外部平台的技能。同时本地平台产品中添加的技能支持了技能优先级排序,当不同平台的技能均有对话输出结果时,服务将会根据用户自定义的技能优先级顺序输出优先级最高的结果。
[0082] 在一些实施例中,上述实施例中在语音对话平台创建语音对话产品的方法还包括为已创建的语音对话产品添加语音对话平台的内置技能。
[0083] 采用本发明实施例的创建语音对话产品的方法能够在一个平台上实现对平不同台创建的技能的复用,不用二次开发,降低了产品开发成本,提高了产品开发效率。通过本解决方案可以让开发者将不同平台开发的技能快速的使用到某一特定平台的产品中,这样极大地丰富了同一个平台能够提供的技能种类,同时开发者也有更加灵活的选择和组合方式。
[0084] 如图5所示,本发明实施例还提供一种实现人机语音对话的方法,应用于语音对话服务器,所述方法包括:
[0085] S51、接收客户端上传的语音对话产品的ID信息和用户的对话信息。例如,用户在使用安装在智能手机上的地图时,通过语音输入“XX广场”,这时语音对话服务器便会接收到地图的ID信息以及“XX广场”的数据信息。
[0086] S52、从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能。如果智能手机所安装的地图所包括的技能有“导航”、“定位”、“搜索周边”等,则语音对话服务器首先确定对应于地图ID的技能列表,然后根据列表中所列技能分别所对应的说法,以确定“XX广场”这个说法命中了哪些技能。假设“导航”和“定位”两个技能都对应有“XX广场”这个说法,则确定这两个技能为命中的技能。
[0087] S53、判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能。本实施例中的技能类型可以开发者在创建技能的时候所确定的,并且可以标注在了技能列表中,本实施例中通过读取相应的技能列表中所包含的信息即可确定当前命中技能的技能类型。
[0088] S54、当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息。
[0089] 本实施例中,如果命中技能仅仅为“导航”,则相应的获取创建该外部技能时所存储的外部技能信息(访问外部技能的URL和访问外部技能的key),以调用该外部技能。如果命中技能包括“导航”和“定位”两个技能,则进一步判定该两个技能的优先级,并获取优先级较高的外部技能的外部技能信息(访问外部技能的URL和访问外部技能的key),以调用该优先级较高的外部技能。
[0090] S55、将所述处理结果输送至TTS(Text To Speech,文本转语音)服务器,以用于生成语音数据并返回至所述客户端。
[0091] 如图6所示,本发明实施例中实现人机语音对话的方法还包括:
[0092] S61、当所述命中技能既包括外部技能也包括内部技能时,根据预设的技能优先级决策确定外部技能和内部技能的优先级高低。
[0093] 如果“导航”和“定位”两个技能都对应有“XX广场”这个说法,则确定这两个技能为命中的技能,并且“导航”为外部技能,“定位”为内部技能。
[0094] S62、当所述外部技能优先级高于所述内部技能时,则利用预存的外部技能信息调用所述外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息。
[0095] S63、当所述内部技能优先级高于所述外部技能时,则调用语义理解服务器以获取对所述用户的对话信息的处理结果;
[0096] S64、将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0097] 采用本发明实施例的实现人机语音对话的方法既能采用本地平台自定义技能处理用户的对话信息,也能够调用外部平台的技能处理用户的对话信息,能够在一个平台上实现对不同平台创建的技能的复用,不用二次开发,降低了产品开发成本,提高了产品开发效率。
[0098] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0099] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0100] 如图7所示,本发明实施例还提供一种语音对话平台系统700,包括:
[0101] 技能创建界面生成程序模块710,用于响应于开发者创建技能的请求,生成技能创建界面,所述技能创建界面至少包括外部技能选项;
[0102] 信息获取界面生成程序模块720,用于当开发者选定外部技能选项时,生成外部技能信息获取界面,所述外部技能信息获取界面中包含用于调用外部技能的接口,所述接口包括有外部技能引入路径输入框和/或外部技能标识信息输入框;
[0103] 信息存储程序模块730,用于接收并存储开发者经所述接口输入的外部技能信息,以完成外部技能的创建。
[0104] 在一些实施例中,外部技能引入路径输入框用于开发者从预存的第三方平台的技能访问路径列表中选择待引入的外部技能的路径或者用于开发者输入待引入的外部技能的路径。
[0105] 在一些实施例中,外部技能标识信息输入框用于开发者输入访问相应外部技能的唯一秘钥。
[0106] 如图8所示,本发明实施例提供一种语音对话平台系统800,包括:
[0107] 内部技能添加程序模块810,用于在语音对话平台上为待创建的语音对话产品添加内部技能;
[0108] 外部技能添加程序模块820,用于本发明上述实施例中任一项所述的在语音对话平台创建技能的方法为待创建的语音对话产品添加外部技能,
[0109] 技能列表生成程序模块830,用于基于所添加的内部技能和外部技能,生成对应于语音对话产品的ID信息的技能列表;
[0110] 技能优先级设置程序模块840,用于为所述技能列表中的内部技能和外部技能设置技能优先级决策;
[0111] 产品发布程序模块850,用于创建并发布所述语音对话产品供客户端进行应用。
[0112] 如图9所示,本发明实施例还提供一种语音对话服务器900,包括:
[0113] 外部信息接收程序模块910,用于接收客户端上传的语音对话产品的ID信息和用户的对话信息;
[0114] 命中技能确定程序模块920,用于从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;
[0115] 技能类型确定程序模块930,用于判断所述命中的技能的技能类型,所述技能类型包括外部技能;
[0116] 外部技能调用程序模块940,用于当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;
[0117] 处理结果发送程序模块950,用于将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0118] 如图10所示,本发明的语音对话服务器900还包括:
[0119] 技能优先级确定程序模块101,用于当所述命中技能既包括外部技能也包括内部技能时,根据预设的技能优先级决策确定外部技能和内部技能的优先级高低;
[0120] 外部技能调用程序模块102,用于当所述外部技能优先级高于所述内部技能时,则利用预存的外部技能信息调用所述外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;
[0121] 语义理解服务器调用程序模块103,用于当所述内部技能优先级高于所述外部技能时,则调用语义理解服务器以获取对所述用户的对话信息的处理结果;
[0122] 处理结果发送程序模块,用于将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0123] 为便于更加清楚的理解本发明的实现人机语音对话的方法,以下结合图11所示的流程图,对实现人机语音对话的方法进行更详细的描述如下:
[0124] 步骤1:客户端将产品ID和用户输入信息发送到语音对话服务器,语音对话服务器支持文本和语音的输入,如果是语音输入,则会将语音送到ASR服务器(Automatic Speech Recognition,语音识别服务器)获取识别的结果。
[0125] 步骤2:语音对话服务器根据产品ID,获取产品添加的技能列表,并判断是否存在命中用户输入信息的技能。
[0126] 步骤3:如果不存在命中用户输入信息的技能,则反馈默认结果至TTS服务器,其中,默认反馈结果为“我听不懂你在说什么”或者“请再说一遍”或者“对不起,请换一个说法”等,本发明实施例不限定默认结果的具体形式。
[0127] 步骤4:如果存在命中技能,则进一步确定命中技能的类型;
[0128] 步骤5:当确定命中技能仅仅为外部技能时,请求外部技能接口以调用相应的外部技能,并接收外部技能返回的处理结果,最终将处理结果发送至TTS服务器。
[0129] 步骤6:当确定命中技能仅仅为内部技能时,调用NLU服务器(自然语言理解服务器)获取NLU结果,将NLU结果发送至DM服务器(Data Management,数据管理服务器),最终将处理结果发送至TTS服务器。
[0130] 步骤7:当确定命中技能既包括外部技能又包括内部技能时,根据预设优先策略级判断外部技能的优先级是否高于内部技能;如果是则执行步骤5,如果否则执行步骤6。
[0131] 步骤8:将TTS服务器处的最终结果的合成音返回给客户端。
[0132] 上述本发明实施例的系统及服务器可用于执行本发明中相应的方法实施例,并相应的达到上述本发明方法实施例所达到的技术效果,这里不再赘述。
[0133] 本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
[0134] 另一方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
[0135] 接收客户端上传的语音对话产品的ID信息和用户的对话信息;
[0136] 从所述ID信息对应的技能列表中确定所述用户的对话信息命中的技能;
[0137] 判断所述命中的技能的技能类型,所述技能类型包括内部技能和外部技能;
[0138] 当所述命中技能仅包括外部技能时,则利用预存的外部技能信息调用相应的外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息;
[0139] 当所述命中技能既包括外部技能也包括内部技能时,根据预设的技能优先级决策确定外部技能和内部技能的优先级高低;
[0140] 当所述外部技能优先级高于所述内部技能时,则利用预存的外部技能信息调用所述外部技能以获取对所述用户的对话信息的处理结果,其中,预存的外部技能信息包括外部技能引入路径和/或外部技能标识信息
[0141] 当所述内部技能优先级高于所述外部技能时,则调用语义理解服务器以获取对所述用户的对话信息的处理结果;
[0142] 将所述处理结果输送至TTS服务器,以用于生成语音数据并返回至所述客户端。
[0143] 上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
[0144] 本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的实现人机语音对话的方法的步骤。
[0145] 本申请实施例的客户端以多种形式存在,包括但不限于:
[0146] (1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
[0147] (2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
[0148] (3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0149] (4)其他具有数据交互功能的电子装置。
[0150] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0151] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0152] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。