语音资源库的更新方法及装置转让专利

申请号 : CN201811382922.8

文献号 : CN111274433A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘剑强阮洲

申请人 : 比亚迪股份有限公司

摘要 :

本公开提出一种语音资源库的更新方法及装置,其中,该方法通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。

权利要求 :

1.一种语音资源库的更新方法,应用于语音应用程序,其特征在于,包括以下步骤:向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;

接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;

查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;

按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。

2.根据权利要求1所述的方法,其特征在于,所述按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库,包括:针对每次更新,查询所述语音资源库中是否存在当前版本号大于所述目标版本号的语音资源中的提问信息;

若存在,则将所述语音资源库中所述提问信息对应的语音资源更新为当前版本号大于所述目标版本号的语音资源;

若不存在,则在所述在语音资源库中存储所述当前版本号大于所述目标版本号的语音资源。

3.根据权利要求1所述的方法,其特征在于,所述接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号,包括:接收服务器返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;

采用预设解密密钥对加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行解密,得到各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。

4.一种语音资源库的更新方法,应用于服务器,其特征在于,包括以下步骤:接收语音应用程序发送的更新请求,其中,所述更新请求包括语音资源库中当前最新版本的语音资源对应的目标版本号;

向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。

5.根据权利要求4所述的方法,其特征在于,所述向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号,包括:采用预设加密密钥对各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行加密;

向所述语音应用程序返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。

6.根据权利要求4所述的方法,其特征在于,所述更新请求包括认证信息,所述接收语音应用程序发送的更新请求,包括:根据所述认证信息对所述更新请求进行合法认证,并在认证通过时,接收语音应用程序发送的更新请求。

7.一种语音资源库的更新装置,其特征在于,包括:

第一发送模块,用于向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;

第一接收模块,用于接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;

删除模块,用于查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;

更新模块,用于按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。

8.一种服务器,其特征在于,包括:

第二接收模块,用于接收语音应用程序发送的更新请求,其中,所述更新请求包括语音资源库中当前最新版本的语音资源对应的目标版本号;

第二发送模块,用于向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。

9.一种电子设备,其特征在于,包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-3中任一所述的语音资源库的更新方法或如权利要求4-6中任一所述的语音资源库的更新方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的语音资源库的更新方法或如权利要求4-6中任一所述的语音资源库的更新方法。

说明书 :

语音资源库的更新方法及装置

技术领域

[0001] 本公开涉及语音处理技术领域,尤其涉及一种语音资源库的更新方法及装置。

背景技术

[0002] 随着移动互联网技术的发展,智能语音应用程序呈现爆发性的增长。智能语音应用程序具备智能语音控制功能,帮助用户通过语音对终端进行智能控制。例如,汽车厂商面向用户开发了语音应用程序,用户借助该语音应用程序对汽车进行智能控制。
[0003] 相关技术中,智能语音应用程序更新用于对被控制设备的操作指令时,需要下载升级包,通过升级智能语音应用程序的方式实现更新其自身所存储的操作指令。然而,这种通过升级智能语音应用程序的方式更新其自身所存储的操作指令,数据处理量大,更新效率低。因此,如何更新智能语音应用程序中用于对被控制设备的操作指令成为亟待解决的技术问题。

发明内容

[0004] 本公开提供一种语音资源库的更新方法及装置,能够解决现有技术中如何更新智能语音应用程序中用于对被控制设备的操作指令的技术问题。
[0005] 本发明的第一个目的在于提出一种语音资源库的更新方法。
[0006] 本发明的第二个目的在于提出一种语音资源库的更新方法。
[0007] 本发明的第三个目的在于提出一种语音资源库的更新装置。
[0008] 本发明的第四个目的在于提出一种服务器。
[0009] 本发明的第五个目的在于提出一种电子设备。
[0010] 本发明的第六个目的在于提出一种计算机可读存储介质。
[0011] 为达上述目的,本公开第一方面实施例提出了一种语音资源库的更新方法,包括:向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;
[0012] 接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;
[0013] 查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;
[0014] 按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。
[0015] 本公开实施例的语音资源库的更新方法,通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0016] 为达上述目的,本公开第二方面实施例提出了一种语音资源库的更新方法,包括:接收语音应用程序发送的更新请求,其中,所述更新请求包括语音资源库中当前最新版本的语音资源对应的目标版本号;
[0017] 向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0018] 本公开实施例的语音资源库的更新方法,通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0019] 为达上述目的,本公开第三方面实施例提出了一种语音资源库的更新装置,包括:第一发送模块,用于向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;
[0020] 第一接收模块,用于接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;
[0021] 删除模块,用于查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;
[0022] 更新模块,用于按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。
[0023] 本公开实施例的语音资源库的更新装置,通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0024] 为达上述目的,本公开第四方面实施例提出了一种服务器,包括:
[0025] 第二接收模块,用于接收语音应用程序发送的更新请求,其中,所述更新请求包括语音资源库中当前最新版本的语音资源对应的目标版本号;
[0026] 第二发送模块,用于向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0027] 本公开实施例的服务器,通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0028] 为达上述目的,本发明第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的语音资源库的更新方法。
[0029] 为了实现上述目的,本发明第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的语音资源库的更新方法。
[0030] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0031] 本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0032] 图1为本公开实施例所提供的一种语音资源库的更新方法的流程示意图;
[0033] 图2为本公开实施例所提供的又一种语音资源库的更新方法的流程示意图;
[0034] 图3为本公开实施例所提供的又一种语音资源库的更新方法的流程示意图;
[0035] 图4为本公开实施例所提供的一种语音资源库的更新装置的结构示意图;
[0036] 图5为本公开实施例所提供的一种服务器的结构示意图;
[0037] 图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

[0038] 下面详细描述本公开的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
[0039] 下面参考附图描述本公开实施例的语音资源库的更新方法及装置。
[0040] 图1为本公开实施例所提供的一种语音资源库的更新方法的流程示意图。本实施例提供了一种语音资源库的更新方法,该方法应用在语音应用程序侧,其执行主体为语音资源库的更新装置,该执行主体由硬件和/或软件组成。
[0041] 如图1所示,该语音资源库的更新方法包括以下步骤:
[0042] S101、向服务器发送待更新的语音资源库的更新请求。
[0043] 具体地,语音应用程序安装在客户端中,客户端可以由硬件和/或软件的形式集成在电子设备中,该电子设备可以手机、平板电脑、可穿戴设备、车载智能终端等任一种移动智能终端。服务器可以为待更新的语音资源库对应的应用服务器。客户端与服务器可以采用无线连接方式进行通信连接,但并不限于此。
[0044] 具体地,本实施例通过客户端与服务器的通信交互,开发者基于服务器的用户界面上传新版本的语音资源和待删除的旧版本号;客户端从服务器获取更新客户端侧的语音资源库的新版本的语音资源和待删除的版本号,基于新版本的语音资源更新语音资源库,并删除语音资源库中旧版本号对应的语音资源,从而尽可能地避免了客户端基于语音资源库的某些不适用的语音资源执行对被控制设备的控制或执行与用户的交互时,可能出现异常报错或执行错误的操作指令的情形的发生,无需升级语音应用程序便能够优化语音资源库,进而提升语音应用程序的智能语音控制功能,提高了更新效率。
[0045] 在本实施例中,语音资源库包括若干条语音资源,每条语音资源向用户提供一种的服务。其中,一条语音资源至少可以包括提问信息、应答信息、版本号。
[0046] 其中,提问信息用于识别用户需求,用户需求可以为与语音应用程序进行语言交互需求,也可以为操作被控制设备的操作需求,但并不以此为限。以被控制设备为汽车为例,用户对汽车的操作需求可以为打开或关闭空调,打开或关闭天窗、打开或关闭在线音乐等。语言交互需求可以是当用户提问语音应用程序,语音应用程序对用户提问做出相应的应答。
[0047] 其中,应答信息可以是对话或是操作指令,但并不限于此。
[0048] 其中,对话可以理解为客户端与用户之间的交互语言信息。当接收到提问信息后,客户端向用户返回应答信息,实现与用户的语言交互。以客户端为车载语音智能设备为例,接收到的用户提问信息为“你好”,车载语音智能设备向客户返回的对话为“我很好”。
[0049] 其中,操作指令可以理解为对操作被控制设备的指令,当被控制设备接收到操作指令时,执行与操作指令相对应的操作。被控制设备可以理解为受语音应用程序控制的设备,语音应用程序下发操作指令给被控制设备,被控制设备执行相应的操作。以客户端为车载语音智能设备,被控制设备为汽车为例,接收到的提问信息为“请帮我打开空调”,车载语音智能设备向汽车发送“打开空调”指令,汽车执行该指令以打开空调。
[0050] 表1是示例性一的语音资源库。从表1可以看出,由于每次更新时,可能是不同提问信息对应的语音资源进行更新,造成语音资源库中存储有多种版本号的语音资源。
[0051] 表1
[0052]提问信息 应答信息 版本号
你好 我很好 V1
今天你好吗 我很好 V2
请帮我打开空调 打开汽车的空调 V3
[0053] 表2是示例性二的语音资源库。表2所示的语音数据库是根据V4版本号的语音资源更新后的语音数据库。
[0054] 以下为示例性的从服务器接收到的V4版本号的语音资源对应的数据信息。在V4版本号的语音资源中,增加了提问信息“我想不想看星星了”、“我想听音乐”等语音资源,则在根据V4版本号的语音资源更新语音资源库时,更新后的语音资源库将存储上述提问信息的语音资源。
[0055] 表2
[0056]提问信息 应答信息 版本号
你好 我很好 V1
今天你好吗 我很好 V2
请帮我打开空调 打开汽车的空调 V3
我想不想看星星了 关闭天窗 V4
我想听音乐 打开在线音乐 V4
[0057] 表3是示例性三的语音资源库。表3所示的语音数据库是根据V5版本号的语音资源更新后的语音数据库。在V5版本号的语音资源中,在V5版本号的语音资源中,对之前某一版本的某些的语音资源进行了修改。比如,在V4版本号的语音资源中,提问信息“我想不想看星星了”对应的操作指令为“关闭天窗”,而在V5版本号的语音资源中,提问信息“我想不想看星星了”对应的操作指令为“打开在线音乐”。则在根据V5版本号的语音资源更新语音数据库后,更新后的语音数据库中提问信息“我想不想看星星了”对应的语音资源被替换成V5版本号中“我想不想看星星了”对应的语音资源。
[0058] 表3
[0059]提问信息 应答信息 版本号
你好 我很好 V1
今天你好吗 我很好 V2
请帮我打开空调 打开汽车的空调 V3
我想不想看星星了 打开在线音乐 V5
我想听音乐 打开在线音乐 V4
[0060] 在本实施例中,基于语音数据库存储了多个语音资源,语音应用程序基于语音资源库可以为用户提供多种服务。具体地,语音应用程序通过客户端接收用户的提问信息,在语音资源库中查询该提问信息对应的语音资源。若语音资源中与提问信息相对应的应答信息为对话时,客户端向用户返回对话,实现与用户的语言交互,其中,客户端可以采用语音播放的形式播放该应答信息,也可以采用文字显示的形式可视化该应答信息,但并不以此为限。若语音资源与提问信息相对应的应答信息为操作指令时,客户端向被控制设备发送操作指令,控制被控制设备执行相应的操作。在本实施例中,提问信息可以由客户端对采集的用户语音进行语音识别获取,也可以是由客户端接收用户输入的提问信息,但并不限于此。
[0061] 在本实施例中,客户端可以在接收到用户输入的待更新的语音资源库的更新指令后,向服务器发送待更新的语音资源库的更新请求,实现根据用户需求对语音资源库进行手动更新,提升用户体验。客户端也可以根据预设更新周期向服务器发送待更新的语音资源库的更新请求,实现语音资源库的周期性自动更新,自动优化语音应用程序的智能语音控制功能。具体地,客户端每隔预设时间段向服务器发送待更新的语音资源库的更新请求,其中,预设时间段由用户根据实际情形进行设置。举例来说,预设时间段为24小时,即客户端每天会向服务器轮询更新请求一次,语音应用程序的语音资源库每天自动进行更新。
[0062] 具体地,客户端向服务器发送的更新请求中包括语音资源库中当前最新版本的语音资源对应的目标版本号。客户端可以遍历语音资源库来获取语音资源库中当前最新版本的语音资源对应的目标版本号,也可以客户端记录并保存服务器返回的历史版本号,遍历历史版本号来获取语音资源库中当前最新版本的语音资源对应的目标版本号,但并不以此为限。
[0063] 以表1所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V3;以表2所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V4;以表3所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V5。
[0064] S102、接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0065] 在本实施例,开发人员在很短的时间内可能发布了多个新版本的语音资源,这样服务器可能保存了多个新版本的语音资源。客户端根据服务器返回的新版本的语音资源不断更新语音资源库,进而优化基于语音资源库的语音应用程序的智能语音控制功能。
[0066] 在本实施例中,服务器可以一次性将全部的新版本的语音资源发给客户端,举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,服务器保存了V6、V7、V8等三个新版本的语音资源,这时,服务器在接收到更新请求后,将V6、V7、V8等三个新版本的语音资源一次性返回给客户端。
[0067] 在本实施例中,服务器也可以按版本号从小到大的顺序将各个新版本的语音资源依次发给客户端。客户端向服务器发送第一次包含目标版本号的更新请求,服务器向客户端返回在目标版本号的基础上加一的版本号对应的语音资源,客户端更新语音资源库之后,判断语音资源库中当前最新版本的语音资源对应的目标版本号是否为服务器中保存的最大版本号,若否,客户端接着给服务器发更新请求并接收服务器返回的大一号的版本号的语音资源,直至客户端中语音资源库的当前最新版本的语音资源对应的目标版本号为服务器中保存的最大版本号。需要指出的是,服务器按版本号从小到大的顺序将各个新版本的语音资源依次发给客户端,可以尽可能地避免多个客户端高并发请求服务器导致的数据更新延时和失败。此外,在语音控制功能的测试阶段,一次只发送一个版本进行更新的方式更安全、稳定,数据不会丢失。
[0068] 举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,服务器保存了V6、V7、V8等三个新版本号的语音资源。
[0069] 客户端向服务器发送第一次更新请求并接收客户端返回V6版本号的语音资源进行更新,更新后的语音资源库中当前最新版本的语音资源对应的目标版本号为V6。客户端判断当前最新版本的语音资源对应的目标版本号不是服务器中保存的最大版本号V8,这时,客户端接着向服务器发第二次更新请求并接收服务器返回的V7版本号的语音资源进行更新,更新后的语音资源库中当前最新版本的语音资源对应的目标版本号为V7。客户端判断当前最新版本的语音资源对应的目标版本号不是服务器中保存的最大版本号V8,这时,客户端接着向服务器发第三次更新请求并接收服务器返回的V8版本号的语音资源进行更新,更新后的语音资源库中当前最新版本的语音资源对应的目标版本号为V8,客户端判断当前最新版本的语音资源对应的目标版本号是服务器中保存的最大版本号V8,结束更新。
[0070] 具体地,客户端基于语音资源库的某些不适用的语音资源执行对被控制设备的控制或执行与用户的交互时,可能出现异常报错或执行错误的操作指令。
[0071] 在本实施例中小于或等于目标版本号的版本号为不适用的旧版号,举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,不适用的旧版号可能为V1、V2、V3、V4、V5中的一个或多个。
[0072] S103、查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源。
[0073] 表4是示例性四的语音数据库。在V6版本号的语音资源中,增加了提问信息“能愉快聊天吗”、“请帮忙开冷风”的语音资源,则在根据V6版本号的语音资源更新语音资源库时,更新后的语音资源库将存储上述提问信息的语音资源。同时,删除语音资源库保存的V2、V3版本号的语音资源。
[0074] 表4
[0075]提问信息 应答信息 版本号
你好 我很好 V1
我想不想看星星了 打开在线音乐 V5
我想听音乐 打开在线音乐 V4
能愉快聊天吗 好嘞 V6
请帮忙开冷风 开冷风 V6
[0076] 作为一种示例,以下为客户端对服务器发送的数据解析得到的语音资源信息:
[0077]
[0078] 其中,字段updateVersion用于描述新的版本号。字段lastVersion用于描述新的版本号是否为服务器当前保存的最新版本号,true为是服务器当前保存的最新版本号,false为不是服务器当前保存的最新版本号。字段wordBeanList用于描述新的版本号对应的更新内容的清单。字段wordType用于描述应答信息的类型,字段Command表示操作指令,字段Dialog表示对话,字段question用于描述提问信息,字段answer用于描述应答信息。versionDeletedNumberList用于描述待删除的版本号的清单。
[0079] 在本实施例中,由于一些客观因素导致语音资源库中某些旧版本的语音资源不适用,则需要及时将不适用的语音资源从语音资源库中进行剔除,这样即使用户在不知情的情形下向语音应用程序输入了不适用的提问信息,语音应用程序也不会与客户进行语言交互或控制被控制设备执行相应的操作,进一步地优化了语音应用程序的智能语音控制功能。
[0080] S104、按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。
[0081] 在本实施例中,每个新版本的语音资源不重复,也不会覆盖,因此,更新时,客户端依次根据每个版本号的语音资源更新语音资源库,不能直接跳过其中一个版本的语音资源,才能够保证优化语音应用程序的智能语音控制功能。同时,相比几个版本号的语音资源合在一起更新,数据量小,更新速度快,数据更新更安全稳定,数据不易丢失。
[0082] 举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,从服务器得到了V6、V7、V8等三个新版本号的语音资源。客户端第一次采用V6版本号的语音资源更新语音数据库,客户端第二次采用V7版本号的语音资源更新语音数据库,客户端第三次采用V8版本号的语音资源更新语音数据库,三次更新完成后,语音资源库中当前最新版本的语音资源对应的目标版本号为V8。
[0083] 本公开实施例的语音资源库的更新方法,通过向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。该方法实现了通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0084] 进一步的,结合参考图2,在图1所示实施例的基础上,步骤S104具体可以包括以下步骤:
[0085] S1041、针对每次更新,查询所述语音资源库中是否存在当前版本号大于所述目标版本号的语音资源中的提问信息。
[0086] S1042、若存在,则将所述语音资源库中所述提问信息对应的语音资源更新为当前版本号大于所述目标版本号的语音资源。
[0087] 以表3为例,在V5版本号的语音资源中,在V5版本号的语音资源中,对之前某一版本的某些的语音资源进行了修改。比如,在V4版本号的语音资源中,提问信息“我想不想看星星了”对应的操作指令为“关闭天窗”,而在V5版本号的语音资源中,提问信息“我想不想看星星了”对应的操作指令为“打开在线音乐”。则在根据V5版本号的语音资源更新语音数据库后,更新后的语音数据库中提问信息“我想不想看星星了”对应的语音资源被替换成V5版本号中“我想不想看星星了”对应的语音资源。
[0088] S1043、若不存在,则在所述在语音资源库中存储所述当前版本号大于所述目标版本号的语音资源。
[0089] 以表2为例,在V4版本号的语音资源中,增加了提问信息“我想不想看星星了”、“我想听音乐”等语音资源,则在根据V4版本号的语音资源更新语音资源库时,更新后的语音资源库将存储上述提问信息的语音资源。
[0090] 本公开实施例的语音资源库的更新方法,实现了在语音资源库的更新过程中,利用新版本的语音资源库更新语音资源库,进而优化了基于语音资源库的语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备。
[0091] 进一步的,在一种可能的实现方式中,步骤S102的具体实现方式为:
[0092] S1021,接收服务器返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0093] S1022,采用预设解密密钥对加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行解密,得到各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0094] 在本实施例中,为了防止数据泄密,被黑客攻击语音应用程序的操作指令,客户端与服务器以密令交互的形式进行数据交互。客户端向服务器发送加密后的更新请求,服务器采用相应的解密密钥解密加密后的更新请求。同样地,服务器向客户端返回加密后的处理结果,客户端采用相应的解密密钥解密处理结果。
[0095] 在本实施例中,预设解密密钥具体由采用的加密算法的决定,本实施例不做具体限制。客户端或服务器均可以各种加密算法生成加密密钥和解密密钥,基于所生成的加密密钥对待加密的数据进行加密,以及基于所生成的解密密钥对待解密的数据进行解密。
[0096] 可选地,客户端和服务器均采用高级加密标准(Advanced Encryption Standard,AES)算法对数据进行加密和解密,以防止数据泄密。
[0097] 图3为本公开实施例所提供的另一种语音资源库的更新方法的流程示意图。本实施例提供了一种语音资源库的更新方法,该方法应用在服务器侧,其执行主体为服务器,该执行主体由硬件和/或软件组成。
[0098] 如图3所示,该语音资源库的更新方法包括以下步骤:
[0099] S301、接收语音应用程序发送的更新请求。
[0100] 其中,所述更新请求包括语音资源库中当前最新版本的语音资源对应的目标版本号。
[0101] 具体地,客户端向服务器发送的更新请求中包括语音资源库中当前最新版本的语音资源对应的目标版本号。客户端可以遍历语音资源库来获取语音资源库中当前最新版本的语音资源对应的目标版本号,也可以客户端记录并保存服务器返回的历史版本号,遍历历史版本号来获取语音资源库中当前最新版本的语音资源对应的目标版本号,但并不以此为限。
[0102] 以表1所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V3;以表2所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V4;以表3所示的语音资源库为例,当前最新版本的语音资源对应的目标版本号为V5。
[0103] S302、向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0104] 具体地,服务器可以接收用户上传的各个版本号的语音资源,也可以接收用户输入的待删除的版本号,进而满足开发者对用户语音资源的开发需求。
[0105] 作为一种可能的实现方式,服务器收用户输入的编辑指令,根据所述编辑指令编辑待发布的语音资源的版本号,将编辑后的语音资源进行发布。和/或,根据所述编辑指令确定待删除的语音资源的版本号。举例来说,用户可以通过服务器的用户界面,编辑待发布的语音资源或编辑待删除的版本号。
[0106] 举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,服务器保存了V6、V7、V8等三个新版本号的语音资源,服务器在接收到更新请求后,将V6、V7、V8等三个新版本的语音资源返回给客户端。
[0107] 在本实施例中小于或等于目标版本号的版本号为开发者确定的不适用的旧版号,举例来说,待更新的语音资源库中当前最新版本的语音资源对应的目标版本号为V5,不适用的旧版号可能为V1、V2、V3、V4、V5中的一个或多个。
[0108] 进一步的,在一种可能的实现方式中,步骤S302的具体实现方式为:
[0109] S3021、采用预设加密密钥对各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行加密;
[0110] S3022、向所述语音应用程序返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0111] 在本实施例中,为了防止数据泄密,被黑客攻击语音应用程序的操作指令,客户端与服务器以密令交互的形式进行数据交互。客户端向服务器发送加密后的更新请求,服务器采用相应的解密密钥解密加密后的更新请求。同样地,服务器向客户端返回加密后的处理结果,客户端采用相应的解密密钥解密处理结果。
[0112] 在本实施例中,预设解密密钥具体由采用的加密算法的决定,本实施例不做具体限制。客户端或服务器均可以各种加密算法生成加密密钥和解密密钥,基于所生成的加密密钥对各种待加密的数据进行加密,以及基于所生成的解密密钥对待解密的数据进行解密。
[0113] 可选地,客户端和服务器均采用高级加密标准(Advanced Encryption Standard,AES)算法对数据进行加密和解密,以防止数据泄密。
[0114] 进一步的,在一种可能的实现方式中,步骤S202的具体实现方式为:根据所述认证信息对所述更新请求进行合法认证,并在认证通过时,接收语音应用程序发送的更新请求。
[0115] 在本实施例中,为了保证请求的安全,客户端在更新请求中携带认证信息,服务器先对客户端发送的更新请求进行解析以提取其中的认证信息,基于该认证信息对更新请求进行合法认证,若认证通过,服务器接收语音应用程序发送的更新请求;若认证不通过,服务器拒绝客户端的更新请求,向客户端返回诸如请求不合法等消息。
[0116] 在一种可能的实现方式中,认证信息包括用户身份信息、签名等信息中的一种或多种。
[0117] 其中,服务器基于用户身份信息判断是否缓存了对应的Token令牌,若是,身份验证通过,若否,验证失败。首先客户端向服务器发送获取Token令牌的请求,服务器生成用户身份信息对应的Token令牌并缓存起来。当服务器接收到客户端的更新请求时,服务器会先从缓存中查找用户身份信息对应的Token令牌。关于采用Token令牌进行身份认证的更多技术原理详见相关技术。
[0118] 其中,客户端首先向服务端请求Token令牌,客户获取Token后计算对应的签名。服务器在接收到客户端的更新请求后,对更新请求进行解析,基于解析获取的请求参数重新计算一个签名,若服务器计算得到的签名与客户端计算得到的签名不一致,说明请求被修改,为非法请求,若一致,说明为合法请求。关于采用签名认证请求的更多技术原理详见相关技术。
[0119] 本公开实施例的语音资源库的更新方法,服务器接收语音应用程序发送的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。该方法实现了通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0120] 图4为本公开实施例所提供的一种语音资源库的更新装置的结构示意图。本实施例提供了一种语音资源库的更新装置,该装置为语音应用程序侧的语音资源库的更新方法的执行主体,该执行主体由硬件和/或软件组成。
[0121] 如图4所示,该语音资源库的更新装置包括第一发送模块11、第一接收模块12、删除模块13、更新模块14。
[0122] 第一发送模块11,用于向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号。
[0123] 第一接收模块12,用于接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0124] 删除模块13,用于查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源。
[0125] 更新模块14,用于按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。
[0126] 进一步地,更新模块14具体用于:针对每次更新,查询所述语音资源库中是否存在当前版本号大于所述目标版本号的语音资源中的提问信息;若存在,则将所述语音资源库中所述提问信息对应的语音资源更新为当前版本号大于所述目标版本号的语音资源;若不存在,则在所述在语音资源库中存储所述当前版本号大于所述目标版本号的语音资源。
[0127] 进一步的,第一接收模块11具体用于:接收服务器返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;采用预设解密密钥对加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行解密,得到各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0128] 需要说明的是,前述对语音资源库的更新方法实施例的解释说明也适用于该实施例的语音资源库的更新装置,此处不再赘述。
[0129] 本公开实施例的语音资源库的更新装置,通过向服务器发送待更新的语音资源库的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;接收所述服务器返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号;查询并删除所述语音资源库中各所述小于或等于所述目标版本号的版本号对应的语音资源;按照版本号从小到大排序的顺序,依次根据各个所述版本号大于所述目标版本号的语音资源更新所述语音资源库。实现了通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0130] 图5为本公开实施例所提供的一种服务器的结构示意图。本实施例提供了一种服务器,为服务器侧的语音资源库的更新方法的执行主体,该执行主体由硬件和/或软件组成。
[0131] 如图5所示,该服务器包括第二接收模块21、第二发送模块22。
[0132] 第二接收模块21,用于接收语音应用程序发送的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;
[0133] 第二发送模块22,用于向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0134] 进一步的,第二发送模块22具体用于:采用预设加密密钥对各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号进行加密;向所述语音应用程序返回的加密后的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。
[0135] 进一步的,所述更新请求包括认证信息,第二接收模块21具体用于:根据所述认证信息对所述更新请求进行合法认证,并在认证通过时,接收语音应用程序发送的更新请求。
[0136] 本公开实施例的服务器,服务器接收语音应用程序发送的更新请求,其中,所述更新请求包括所述语音资源库中当前最新版本的语音资源对应的目标版本号;向所述语音应用程序返回的各个版本号大于所述目标版本号的语音资源和各个小于或等于所述目标版本号的版本号。实现了通过客户端与服务器的交互实现更新语音资源库,且在语音资源库的更新过程中,既能利用新版本的语音资源库更新语音资源库,同时还能删除语音资源库中不适用的旧版本的语音资源,无需升级语音应用程序便能够优化语音资源库,进而优化语音应用程序的智能语音控制功能,尽可能保证语音应用程序与用户语言交互的友好性和避免语音应用程序误操作被控制设备,提高了更新效率。
[0137] 图6为本发明实施例提供的一种电子设备的结构示意图。该电子设备包括:
[0138] 存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
[0139] 处理器1002执行所述程序时实现上述实施例中提供的语音资源库的更新方法。
[0140] 进一步地,电子设备还包括:
[0141] 通信接口1003,用于存储器1001和处理器1002之间的通信。
[0142] 存储器1001,用于存放可在处理器1002上运行的计算机程序。
[0143] 存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0144] 处理器1002,用于执行所述程序时实现上述实施例所述的语音资源库的更新方法。
[0145] 如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0146] 可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
[0147] 处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0148] 本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的语音资源库的更新方法。
[0149] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0150] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0151] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0152] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0153] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0154] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0155] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0156] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。