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.若所述当前工作状态为等待命令状态,则若在预设时长内未获取到所述用户输入的用户语音,则将所述终端设备从所述等待命令状态切换为休眠状态。
34.第二方面,本技术实施例还提供了一种语音交互装置,包括:
35.获取模块,获取用户输入的用户语音;
36.处理模块,用于根据所述用户语音对应的信息以及所述终端设备的当前工作状态,确定用于响应所述用户语音的反馈指令;
37.所述处理模块,还用于根据所述反馈指令执行以下至少一项操作:将所述终端设备自动从所述当前工作状态切换至另一工作状态、执行所述反馈指令对应的目标动作以及执行对话交流。
38.在一种可能的设计中,所述处理模块,具体用于:
39.若所述当前工作状态为休眠状态,则当所述信息对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备从所述休眠状态切换至等待命令状态;
40.若所述当前工作状态为非休眠状态,则当所述信息对应预设唤醒命令时,所确定的所述反馈指令用于指示所述终端设备处于等待命令状态;或者,当所述信息未对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备执行所述反馈指令对应的所述目标动作。
41.在一种可能的设计中,所述处理模块,具体用于:
42.当所述信息对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备从所述休眠状态切换至等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频。
43.在一种可能的设计中,所述处理模块,具体用于:
44.当所述当前工作状态为所述等待命令状态,所述信息对应所述预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备保持当前所述等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频;
45.当所述当前工作状态为运行状态,所述信息对应所述预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备立即停止当前所有动作并进入所述等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频。
46.在一种可能的设计中,所述处理模块,具体用于:
47.所述当所述信息未对应预设唤醒命令时,若所述信息对应所述终端设备的其他本地命令词,则进入动作执行状态,以使所述终端设备在所述动作执行状态下,执行所述反馈指令对应的所述目标动作。
48.在一种可能的设计中,所述处理模块,还用于若所述信息未对应所述终端设备的其他本地命令词,则进入自动语音识别状态;
49.所述语音交互装置,还包括:
50.发送模块,用于将所述用户语音发送至预设音频转换文字平台,以获取所述预设音频转换文字平台对所述用户语音的解析文字信息;
51.所述处理模块,还用于根据所述解析文字信息确定所述目标动作。
52.在一种可能的设计中,所述处理模块,具体用于:
53.若所述解析文字信息对应用户自定义命令,则执行所述用户自定义命令对应的目标动作。
54.在一种可能的设计中,所述处理模块,还用于若所述解析文字信息未对应所述用
户自定义命令,则将所述解析文字信息放送至自然语言处理平台,以获取所述自然语言处理平台对所述解析文字信息进行自然语言处理文字信息,或使用设备内置的自然语言处理软件/硬件模块对所述解析文字信息进行自然语言处理,并确定所述解析文字信息对应的自然语言处理文字信息;
55.所述发送模块,还用于将所述自然语言处理文字信息发送至语音生成平台,以获取所述自然语言处理文字信息对应的音频信息;
56.所述语音交互装置,还包括:
57.播放模块,用于播放所述音频信息。
58.在一种可能的设计中,所述处理模块,还用于若所述当前工作状态为休眠状态,则仅当所述信息对应预设唤醒命令时,将所述终端设备从所述休眠状态切换至等待命令状态。
59.在一种可能的设计中,所述处理模块,还用于若所述当前工作状态为等待命令状态,则若在预设时长内未获取到所述用户输入的用户语音,则将所述终端设备从所述等待命令状态切换为休眠状态。
60.第三方面,本技术实施例还提供一种终端设备,包括:处理器以及存储器;
61.所述存储器,用于存储所述处理器的计算机程序;
62.其中,所述处理器被配置为通过执行所述计算机程序来实现第一方面中所述的语音交互方法。
63.第四方面,本技术实施例还提供了一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使实现第一方面所提供的语音交互方法。
64.第五方面,本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所提供的语音交互方法。
65.可见,在上述技术方案中,通过获取用户输入的用户语音,然后,根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令,从而根据反馈指令将终端设备自动从当前工作状态切换至另一工作状态,和/或,执行反馈指令对应的目标动作,和/或,执行普通的对话交流,从而结合用户语音识别结果与当前工作状态这两个维度来协同确定用于响应用户语音的反馈指令,进而既可以在识别结果为本地命令词时,能够使得终端设备直接执行目标动作,还可以在识别结果为非本地命令词时,结合终端设备的当前工作状态确定相应对策,如切换工作状态,从而继续对该用户语音采用其他方式进行识别,再在识别出结果后继续执行相应命令。由此可见,本实施例提供的方法,弥补了当前终端设备本地识别状态只能识别有限的语句,而需要全面识别时又必须人工切换到网络识别的技术缺陷,从而通过结合用户语音识别结果与当前工作状态这两个维度联合确定结果的方式,自动切换设备当前工作状态,可以使得终端设备在与用户进行语音交互时,能够更加智能和顺畅。
附图说明
66.为了更清楚地说明本技术的实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单介绍。然而,本领域技术人员应当理解的是,下面描述中的附图仅仅是本技术的一些示例,并不限制其范围。
67.图1是本技术根据一示例性实施例示出的语音交互方法的应用场景图;
68.图2是本技术根据一示例性实施例示出的语音交互方法的流程示意图;
69.图3是本技术根据另一示例性实施例示出的语音交互方法的流程示意图;
70.图4是本技术根据又一示例性实施例示出的语音交互方法的流程示意图;
71.图5是本技术根据一示例性实施例示出的语音交互装置的结构示意图;
72.图6是本技术根据另一示例性实施例示出的语音交互装置的结构示意图;
73.图7是本技术根据一示例性实施例示出的终端设备的结构示意图。
具体实施方式
74.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。本领域技术人员应当理解的是,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员可以进行任何适当的修改或变型,从而获得的所有其它实施例。
75.图1是本技术根据一示例性实施例示出的语音交互方法的应用场景图。如图1所示,本实施例提供的语音交互方法所应用的场景,可以是用户100与终端设备之间的交互场景。其中,终端设备可以为智能家电(例如:智能音箱、智能洗衣机300),或者智能机器人400。其中,值得说明的,对于上述终端设备只是进行示例性说明,在本实施例中,对于具备语音交互功能的终端设备的交互场景,均可以采用下述本示例所提供的语音交互方法。
76.图2是本技术根据一示例性实施例示出的语音交互方法的流程示意图。
77.如图2所示,本实施例提供的语音交互方法,包括:
78.s101、获取用户输入的用户语音。
79.具体的,可以是通过终端设备的麦克风对外部用户所输入的用户语音进行接收,还可以是通过录音功能,对所输入的用户语音进行录制。此外,在用户需要与终端设备进行语音交互时,可以是直接对终端设备发出语音指令,也可以是通过其他设备对终端设备发出语音指令。
80.s102、根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令。
81.在获取到用户输入的用户语音之后,可以对用户语音进行本地命令词识别,其中,该识别过程可以是运行在本地的命令词识别模块的进程或者线程,也可以是一个独立的本地语音识别的芯片及周边模块电路。
82.并且,在对用户输入的用户语音进行识别时,还可以获取终端设备的当前工作状态,从而进一步根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令。值得说明的,在本步骤中,旨在根据用户语音的识别结果以及终端设备的当前工作状态确定响应用户语音的反馈指令。其中,上述的识别结果可以是识别状态(例如:识别成功、识别失败),也可以是识别后的具体内容。而对于终端设备的当前工作状态,则例如,可以是休眠状态或者等待命令状态或者运行状态。进而结合上述识别结果与当前工作状态这两个维度来协同确定用于响应用户语音的反馈指令。
83.s103、根据反馈指令执行以下至少一项操作:将终端设备自动从当前工作状态切换至另一工作状态、执行反馈指令对应的目标动作以及执行对话交流。
84.在确定用于响应用户语音的反馈指令之后,可以根据反馈指令执行以下至少一项操作:将终端设备自动从当前工作状态切换至另一工作状态、执行反馈指令对应的目标动作以及执行对话交流。此处,对于将终端设备从当前工作状态切换至另一工作状态,例如,可以是将终端设备从休眠状态切换为运行状态。而执行反馈指令对应的目标动作,则可以是在命中本地命令词时,直接执行相应的动作,例如,智能机器人执行相应动作。此外,还可以是用户与终端设备进行普通的对话交流。
85.在本实施例中,通过获取用户输入的用户语音,然后,根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令,从而根据反馈指令将终端设备自动从当前工作状态切换至另一工作状态,和/或,执行反馈指令对应的目标动作,和/或,执行普通的对话交流,从而结合用户语音识别结果与当前工作状态这两个维度来协同确定用于响应用户语音的反馈指令,进而既可以在识别结果为本地命令词时,能够使得终端设备直接执行目标动作,还可以在识别结果为非本地命令词时,结合终端设备的当前工作状态确定相应对策,如切换工作状态,从而继续对该用户语音采用其他方式进行识别,再在识别出结果后继续执行相应命令。由此可见,本实施例提供的方法,弥补了当前终端设备本地识别状态只能识别有限的语句,而需要全面识别时又必须人工切换到网络识别的技术缺陷,从而通过结合用户语音识别结果与当前工作状态这两个维度联合确定结果的方式,自动切换设备当前工作状态,可以使得终端设备在与用户进行语音交互时,能够更加智能和顺畅。
86.图3是本技术根据另一示例性实施例示出的语音交互方法的流程示意图。如图3所示,本实施例提供的语音交互方法,包括:
87.s201、获取用户输入的用户语音。
88.具体的,可以是通过终端设备的麦克风对外部用户所输入的用户语音进行接收,还可以是通过录音功能,对所输入的用户语音进行录制。此外,在用户需要与终端设备进行语音交互时,可以是直接对终端设备发出语音指令,也可以是通过其他设备对终端设备发出语音指令。
89.s202、根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令。
90.在获取到用户输入的用户语音之后,可以对用户语音进行本地命令词识别,其中,该识别过程可以是运行在本地的语音识别模块的进程或者线程,也可以是一个独立的本地语音识别的芯片及周边模块电路。
91.并且,在对用户输入的用户语音进行识别时,还可以获取终端设备的当前工作状态,从而进一步根据用户语音对应的信息以及终端设备的当前工作状态,确定用于响应用户语音的反馈指令。值得说明的,在本步骤中,旨在根据用户语音的识别结果以及终端设备的当前工作状态确定响应用户语音的反馈指令。其中,上述的识别结果可以是识别状态(例如:识别成功、识别失败),也可以是识别后的具体内容。而对于终端设备的当前工作状态,则例如,可以是休眠状态或者运行状态。进而结合上述识别结果与当前工作状态这两个维度来协同确定用于响应用户语音的反馈指令。
92.s203、若当前工作状态为休眠状态,则当信息对应预设本地唤醒命令时,所确定的反馈指令用于指示终端设备从休眠状态切换至等待命令状态。
93.其中,若当前工作状态为休眠状态,则当信息对应预设唤醒命令时,所确定的反馈指令用于指示终端设备从休眠状态切换至等待命令状态,并播放预设唤醒响应音频,预设唤醒响应音频为终端设备对预设唤醒命令作出反馈的预设音频。
94.s204、若当前工作状态为非休眠状态,则当信息对应预设唤醒命令时,所确定的反馈指令用于指示终端设备进入处于等待命令状态。
95.具体的,若当前工作状态为等待命令状态,信息对应预设本地唤醒命令时,所确定的反馈指令用于指示终端设备保持当前等待命令状态,并播放预设唤醒响应音频,预设唤醒响应音频为终端设备对预设唤醒命令作出反馈的预设音频。
96.若当前工作状态为运行状态,信息对应预设本地唤醒命令时,所确定的反馈指令用于指示终端设备立即停止当前所有动作并进入等待命令状态,并播放预设唤醒响应音频,预设唤醒响应音频为终端设备对预设唤醒命令作出反馈的预设音频。
97.但是,若信息未对应终端设备的本地命令词,则进入自动语音识别状态,将用户语音发送至预设音频转换文字平台,以获取预设音频转换文字平台对用户语音的解析文字信息,然后,根据解析文字信息确定目标动作。具体的,若解析文字信息对应用户自定义命令,则执行用户自定义命令对应的目标动作。
98.并且,若解析文字信息仍未对应用户自定义命令,则将所述解析文字信息放送至自然语言处理平台,以获取所述自然语言处理平台对所述解析文字信息进行自然语言处理文字信息,或使用设备内置的自然语言处理软件/硬件模块对解析文字信息进行自然语言处理,并确定解析文字信息对应的自然语言处理文字信息,然后,将自然语言处理文字信息发送至语音生成平台,以获取自然语言处理文字信息对应的音频信息,然后,播放音频信息。
99.具体的,可以是通过终端设备的录音部分接收用户语音,然后,通过本地命令词部分对用户语音进行识别,其中,用户语音,可以是一个运行本地语音识别模块的进程或者线程,也可以是一个独立的本地语音识别的芯片及周边模块电路。用于对所有的用户语音进行识别,如果命中本地命令词,直接执行相应的动作(比如唤醒,移动控制等)。
100.当没有播放语音并且处于等待命令状态时,把接收到的音频数据进行预处理后,通过在线语音识别(automatic speech recognition,简称asr)部分,发送到云平台进行解析,并得到解析结果的文字信息。并利用asr动作部分,对asr识别的结果进行判断,若符合用户自定义的命令词,则执行相应的动作,如果不符合,则送入自然语言处理(natural language processing,简称nlp)部分,通过nlp部分,把asr的结果发送给提供nlp的云平台,并获得返回的文字信息,接着,通过从文本到语音(text to speech,简称tts)部分,把nlp返回的文字信息发送给提供tts服务的云平台,并获得返回的音频数据,最后,通过播放部分,把nlp返回的音频数据播放出来。
101.可见,本实施例中综合使用了本地命令词和云平台语音识别两种方式,从而来利用本地命令词的识别来达成快速响应关键语音命令的目的,而通过云平台语音识别来达到正确响应大部分用户语音的目的。进而兼顾了对于本地常用命令的快速响应功能以及对于用于自定义命令的全面响应功能。
102.而在上述实施例的基础上,若当前工作状态为休眠状态,则仅当信息对应预设唤醒命令时,将终端设备从休眠状态切换至等待命令状态。具体的,如果终端设备当前状态为
休眠状态,则只响应本地命令词中的唤醒词,对其他所有语音不做任何响应,然后进入等待命令状态,并播放预设好的唤醒响应音频。如果本地命令词部分是独立的语音识别的芯片,则主处理器可以在没有需要处理的工作时进入休眠模式,从而节约电量的消耗。
103.此外,若当前工作状态为等待命令状态,则若在预设时长内未获取到用户输入的用户语音,则将终端设备从等待命令状态切换为休眠状态。
104.此外,如果终端设备当前处于动作执行状态,等当前动作执行完成,就会再次进入等待命令状态,在此状态等待用户设置好的等待时长。如果等待期间内没有用户语音,则终端设备进入休眠状态,从而进一步地节约电量的消耗。
105.图4是本技术根据又一示例性实施例示出的语音交互方法的流程示意图。如图4所示,在s301中,终端设备处于休眠状态,此时录音模块处于开启状态,其他模块可以根据需要进入休眠,以节省电量。
106.在s302中,终端设备的本地识别模块(包括识别线程或者进程,或者独立的本地语音识别硬件模块)不断的检测录入的用户语音数据。此时,只判断是否触发本地命令词库中的唤醒词,比如“小度小度”,“小智小智”等等。如果触发了本地唤醒词,则进入s303,并播放预先设定好的唤醒响应音频,比如“你好”等,播放结束后,进入s304。
107.在s304中,等待进一步的用户语音,录音部分获得的语音数据同时流入本地语音识别和asr中。终端设备会在此状态下等待用户定义的等待时长,即s305。如果在定好的等待时长中即没有识别到本地语音库中的语音也没有通过asr识别到正常的语句,那么就跳转到s324,即播放休眠提示音频,比如“进入休眠状态,有需要可以唤醒我”,然后跳转到休眠状态即s301。
108.在s304中,如果在定义好的等待时长中,通过本地语音识别到本地唤醒词,那么就跳转回播放唤醒音频,即s303。
109.在s304中,如果本地语音识别到本地语音库中非唤醒词,那么就停止asr并执行少数预设好的动作,比如“小车前进”,“导览介绍”等,即s308。在执行动作中,如果本地语音识别检测到本地唤醒词,那么就立即停止预设动作,即s310,跳转到s303,开始播放唤醒音频;如果没有检测到本地唤醒词,那么等到动作执行结束后,跳转到s304,等待语音命令,并开启asr。
110.在s307中,如果非本地语音库,并通过asr返回了完整的语句识别结果,即s312,然后在s313中对在线识别的结果判断是否是用户自定义命令列表中的命令,如果是,则执行用户设定的动作,比如“打开某某应用”,“关闭背光”等等,即s314。在执行动作中,如果本地语音识别检测到本地唤醒词,那么就停止预设动作,即s319,跳转到s303,开始播放唤醒音频;如果没有检测到本地唤醒词,那么等到动作执行结束后,跳转到s304,等待语音命令,并开启asr。
111.用户设定的动作和预设的动作区别是:本地唤醒词是预先训练好的语音模型自带的,所以只能支持少量的命令词,并且更新不方便,预设动作是这些命令词对应的终端设备关键性的动作,比如说:“关机”,“导览介绍”等,这些命令一般不应该依赖于网络,属于终端设备的基础功能;用户设定的动作属于自定义的,没有数量限制,终端设备中维护一个字典,键是用户自定义命令,值是需要执行的动作。终端设备可以非常方便的通过网络更新这个字典,或者在本地修改这个字典,从而增减或者修改用户设定的动作或用户命令词等。
112.如果在s313中识别出的语音并非是用户自定义命令,就转到s317,把asr停止,并把asr识别的结果发送给提供自然语言处理(natural language processing,简称nlp)服务的云平台,以获得nlp的结果,并跳转到s318。在s318中,把nlp的结果发送给提供从文本到语音(text to speech,简称tts)服务的云平台,以获得音频数据,然后跳转到s320。
113.在s320中,通过播放模块播放tts返回的音频数据,在播放的过程中,继续进行本地语音识别,如果识别到本地唤醒词,就跳转到s322,停止播放音频,并跳转到s303,播放唤醒音频;如果在tts音频播放过程中,没有识别到本地唤醒词,等到音频播放结束后,跳转到s304,等待语音命令并开启asr。
114.可见,本技术提供的语音交互方法,综合使用了本地命令词和云平台语音识别两种方式,从而来利用本地命令词的识别来达成快速响应关键语音命令的目的,而通过云平台语音识别来达到正确响应大部分用户语音的目的。进而兼顾了对于本地常用命令的快速响应功能以及对于用于自定义命令的全面响应功能,并且不需要人进行显式的模式切换,从而让人机语音交互更加智能顺畅。
115.而对于执行上述方法的终端设备,可以包括录音模块,本地命令词模块,asr模块,nlp模块,tts模块,播放模块,以及相应的预设动作模块和自定义动作模块。其中,录音模块输入的语音信息进入本地命令词模块,如果命中本地命令词,就转到预设动作模块,如果未命中,语音信息就送到asr模块,如果命中,就转到自定义动作模块,如果未命中,asr结果就送到nlp模块。nlp模块结果送到tts模块,tts模块的结果送到播放模块。
116.图5是本技术根据一示例性实施例示出的终端设备的结构示意图。如图5所示,本实施例提供的终端设备400,包括:
117.获取模块401,获取用户输入的用户语音;
118.处理模块402,用于根据所述用户语音对应的信息以及所述终端设备的当前工作状态,确定用于响应所述用户语音的反馈指令;
119.所述处理模块402,还用于根据所述反馈指令执行以下至少一项操作:将所述终端设备自动从所述当前工作状态切换至另一工作状态、执行所述反馈指令对应的目标动作以及执行对话交流。
120.在一种可能的设计中,所述处理模块402,具体用于:
121.若所述当前工作状态为休眠状态,则当所述信息对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备从所述休眠状态切换至等待命令状态;
122.若所述当前工作状态为非休眠状态,则当所述信息对应预设唤醒命令时,所确定的所述反馈指令用于指示所述终端设备处于等待命令状态;或者,当所述信息未对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备执行所述反馈指令对应的所述目标动作。
123.在一种可能的设计中,所述处理模块402,具体用于:
124.当所述信息对应预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备从所述休眠状态切换至等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频。
125.在一种可能的设计中,所述处理模块402,具体用于:
126.当所述当前工作状态为所述等待命令状态,所述信息对应所述预设本地唤醒命令
时,所确定的所述反馈指令用于指示所述终端设备保持当前所述等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频;
127.当所述当前工作状态为运行状态,所述信息对应所述预设本地唤醒命令时,所确定的所述反馈指令用于指示所述终端设备立即停止当前所有动作并进入所述等待命令状态,并播放预设唤醒响应音频,所述预设唤醒响应音频为所述终端设备对所述预设唤醒命令作出反馈的预设音频。
128.在一种可能的设计中,所述处理模块402,具体用于:
129.所述当所述信息未对应预设唤醒命令时,若所述信息对应所述终端设备的其他本地命令词,则进入动作执行状态,以使所述终端设备在所述动作执行状态下,执行所述反馈指令对应的所述目标动作。
130.图6是本技术根据另一示例性实施例示出的终端设备的结构示意图。如图6所示,所述处理模块402,还用于若所述信息未对应所述终端设备的其他本地命令词,则进入自动语音识别状态;
131.所述语音交互装400置,还包括:
132.发送模块403,用于将所述用户语音发送至预设音频转换文字平台,以获取所述预设音频转换文字平台对所述用户语音的解析文字信息;
133.所述处理模块402,还用于根据所述解析文字信息确定所述目标动作。
134.在一种可能的设计中,所述处理模块402,具体用于:
135.若所述解析文字信息对应用户自定义命令,则执行所述用户自定义命令对应的目标动作。
136.在一种可能的设计中,所述处理模块402,还用于若所述解析文字信息未对应所述用户自定义命令,则将所述解析文字信息放送至自然语言处理平台,以获取所述自然语言处理平台对所述解析文字信息进行自然语言处理文字信息,或使用设备内置的自然语言处理软件/硬件模块对所述解析文字信息进行自然语言处理,并确定所述解析文字信息对应的自然语言处理文字信息;
137.所述发送模块403,还用于将所述自然语言处理文字信息发送至语音生成平台,以获取所述自然语言处理文字信息对应的音频信息;
138.所述语音交互装置400,还包括:
139.播放模块404,用于播放所述音频信息。
140.在一种可能的设计中,所述处理模块402,还用于若所述当前工作状态为休眠状态,则仅当所述信息对应预设唤醒命令时,将所述终端设备从所述休眠状态切换至等待命令状态。
141.在一种可能的设计中,所述处理模块402,还用于若所述当前工作状态为等待命令状态,则若在预设时长内未获取到所述用户输入的用户语音,则将所述终端设备从所述等待命令状态切换为休眠状态。
142.值得说明的,图5
‑
图6所示的语音交互装置400可用于执行上述任一方法实施例中的方法步骤,具体的技术效果类似,此处不在进行赘述。
143.并且,在本技术实施例中,模块的划分仅仅为一种逻辑功能划分,在实际实现时还
可以有另外的划分方式。例如,多个模块或组件可以进行组合或者可以集成到另一个系统中。另外,各个模块之间的耦合可以是直接耦合或间接耦合。另外,在本技术实施例中的各功能模块可以集成在一个处理模块中,也可以是单独的物理存在等等。
144.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中。因此,本技术的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得终端设备执行本技术实施例所描述的技术方案的全部或部分过程。上述存储介质可以包括rom、ram、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
145.图7是本技术根据一示例性实施例示出的终端设备的结构示意图。如图7所示,本实施例提供的终端设备500,包括:
146.处理器501以及存储器502;
147.所述存储器502,用于存储所述处理器的计算机程序;
148.其中,所述处理器501被配置为通过执行所述计算机程序来实现上述任一方法实施例中的步骤。
149.可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
150.当所述存储器502是独立于处理器501之外的器件时,所述终端设备500,还可以包括:
151.总线503,用于连接所述处理器501以及所述存储器502。
152.本技术实施例还提供一种机器可读存储介质。该机器可读存储介质可以存储有可执行指令,可执行指令在被机器执行时使得机器实现上面方法实施例中的具体过程。
153.本技术实施例还提供一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行本公开实施例的流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从rom被安装。在该计算机程序被处理器执行时,执行本技术实施例中的方法步骤。
154.本技术上述的机器可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适
的组合。
155.此外,本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现。这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本技术的范围。
156.以上内容仅为本技术的具体实施方式,本技术的保护范围并不局限于此。本领域技术人员在本技术所公开的技术范围内可以进行变化或替换,这些变化或替换都应当在本技术的保护范围之内。