一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音控制方法、装置、设备及介质与流程

2022-12-06 20:07:41 来源:中国专利 TAG:


1.本公开涉及语音识别技术领域,尤其涉及一种语音控制方法、装置、设备及介质。


背景技术:

2.随着人工智能技术的发展,越来越多的设备可以识别到用户的控制语音并执行相关的控制指令。
3.但是在相关技术中,可能存在因网络卡顿等外界因素的影响,而在网络恢复后的短时间内集中执行用户在此期间发出的全部指令情况,从而导致在网络恢复后无法对用户指令进行合理执行,影响了用户体验。


技术实现要素:

4.为了解决上述技术问题,本公开提供了一种语音控制方法、装置、设备及介质。
5.第一方面,本公开提供了一种语音控制方法,包括:
6.接收控制语音序列,控制语音序列包括用户向控制目标连续发出的多个控制语音;
7.生成控制语音序列对应的控制指令序列,控制指令序列包括控制语音序列中每个控制语音对应的控制指令;
8.在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量的情况下,获取首个控制指令和控制指令序列中的末个控制指令,预设时长为网络正常时的最大指令生成时长;
9.基于首个控制指令和末个控制指令对控制目标进行控制。
10.第二方面,本公开提供了一种语音控制装置,包括:
11.语音接收模块,用于接收控制语音序列,控制语音序列包括用户向控制目标连续发出的多个控制语音;
12.指令生成模块,用于生成控制语音序列对应的控制指令序列,控制指令序列包括控制语音序列中每个控制语音对应的控制指令;
13.指令获取模块,用于在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量的情况下,获取首个控制指令和控制指令序列中的末个控制指令,预设时长为网络正常时的最大指令生成时长;
14.第一执行模块,用于基于首个控制指令和末个控制指令对控制目标进行控制。
15.第三方面,本公开提供了一种语音控制设备,包括:
16.处理器;
17.存储器,用于存储可执行指令;
18.其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的语音控制方法。
19.第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程
序,当计算机程序被处理器执行时,使得处理器实现第一方面的语音控制方法。
20.本公开实施例提供的技术方案与现有技术相比具有如下优点:
21.本公开实施例的语音控制方法、装置、设备及介质,能够在接收到包括用户向控制目标连续发出的多个控制语音的控制语音序列后,生成包括控制语音序列中每个控制语音对应的控制指令的控制指令序列,进而分别将控制指令序列中的首个控制指令的指令生成时长与预设时长以及控制指令序列中的控制指令数量与预设数量进行比较,由于预设时长为网络正常时的最大指令生成时长,如果控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量,则可以确定此时已经出现了网络卡顿导致的用户指令堆叠的情况下,此时,可以获取所述首个控制指令和所述控制指令序列中的末个控制指令,并基于首个控制指令和末个控制指令对控制目标进行控制,即仅保留并执行堆叠的用户指令中的首个指令和末个指令,避免在网络恢复后的短时间内集中执行用户在此期间发出的全部指令的情况,以在网络恢复后对用户指令进行合理执行,避免用户感知到网络卡顿,提高了用户体验。
附图说明
22.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
23.图1为本公开实施例提供的一种语音控制方法的流程示意图;
24.图2为本公开实施例提供的另一种语音控制方法的流程示意图;
25.图3为本公开实施例提供的一种控制指令序列的示意图;
26.图4为本公开实施例提供的一种语音控制装置的结构示意图;
27.图5为本公开实施例提供的一种语音控制设备的结构示意图。
具体实施方式
28.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
29.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
30.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
31.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
32.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域
技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
33.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
34.本公开实施例提供了一种语音控制方法、装置、设备及介质。下面首先结合图1至图3对本公开实施例提供的语音控制方法进行详细说明。
35.图1示出了本公开实施例提供的一种语音控制方法的流程示意图。
36.在本公开实施例中,该语音控制方法可以由用户想要进行语音控制的控制目标执行。其中,该控制目标可以为具有语音控制功能或者语音交互功能的电子设备。具体地,该电子设备可以包括但不限于诸如移动电话、车载设备、平板电脑、可穿戴设备、智能家居设备等移动终端。
37.如图1所示,该语音控制方法可以包括如下步骤。
38.s110、接收控制语音序列,控制语音序列包括用户向控制目标连续发出的多个控制语音。
39.在本公开实施例中,当用户想要对控制目标进行语音控制时,可以向控制目标连续发出多个控制语音,控制目标可以接收到用户连续发出的多个控制语音,得到由多个控制语音组成的控制语音序列。
40.具体地,控制目标可以接收到用户连续发出的多个控制语音,并且按照用户发出控制语音的先后顺序,对接收到的多个控制语音进行排序,得到控制语音序列,使得各个控制语音在控制语音序列中的排序与用户发出的顺序一致。
41.可选地,控制语音可以为用户发出的用于实现其控制需求的语音信息。
42.s120、生成控制语音序列对应的控制指令序列,控制指令序列包括控制语音序列中每个控制语音对应的控制指令。
43.在本公开实施例中,控制目标在获取到控制语音序列后,可以基于该控制语音序列生成对应的控制指令序列。
44.具体地,控制目标可以先对控制语音序列中的各个控制语音分别进行语音识别得到各个控制语音对应的语音文本,然后对各个控制语音对应的语音文本分别进行语义识别得到各个控制语音对应的控制指令,从而对各个控制语音对应的控制指令进行排序,得到控制语音序列对应的控制指令序列。
45.可选地,控制指令可以为基于控制语音生成的用于实现用户的控制需求的指令信息,控制目标可以执行控制指令以实现用户的控制需求。
46.s130、在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量的情况下,获取首个控制指令和控制指令序列中的末个控制指令,预设时长为网络正常时的最大指令生成时长。
47.在本公开实施例中,在控制目标生成控制指令序列后,可以分别将控制指令序列中的首个控制指令的指令生成时长与预设时长以及控制指令序列中的控制指令数量与预设数量进行比较,并在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量的情况下,删除控制指令序列中的首个控制指令以及控制指令序列中的末个控制指令以外的其他控制指令,只获取首个控制指令和控制指令序列中的末个控制指令。
48.其中,控制指令序列中的首个控制指令可以为控制指令序列中的第一个控制指令,控制指令序列中的末个控制指令可以为控制指令序列中的最后一个控制指令。
49.进一步地,控制指令的指令生成时长可以为控制目标通过对控制语音进行语音识别以及语义识别得到其对应的控制指令的总时长。预设时长可以为网络正常时的最大指令生成时长。即如果比较结果为控制指令序列中的首个控制指令的指令生成时长大于预设时长,则可以确定出现了网络卡顿;如果比较结果为控制指令序列中的首个控制指令的指令生成时长小于或等于预设时长,则可以确定网络正常。
50.进一步地,预设数量可以为根据需要预先设定的最大堆叠数量。即如果比较结果为控制指令序列中的控制指令数量大于或等于预设数量,则可以确定出现了指令堆叠;如果比较结果为控制指令序列中的控制指令数量小于预设数量,则可以确定指令未堆叠。
51.以预设时长为3s、预设数量为2为例,控制目标可以对控制指令序列中的首个控制指令的指令生成时长进行判断,如首个控制指令的指令生成时长为4s,可以确定控制指令序列中的首个控制指令的指令生成时长大于预设时长,说明可能出现了网络卡顿的情况,此时,可以进一步对控制指令序列中的控制指令数量进行判断,如果控制指令序列中的控制指令数量为3,可以确定控制指令序列中的控制指令数量大于预设数量,说明可能出现了指令堆叠的情况,此时,控制目标会仅保留控制指令序列中的第一个控制指令以及控制指令序列中的第三个控制指令,即仅获取首个控制指令和末个控制指令。
52.s140、基于首个控制指令和末个控制指令对控制目标进行控制。
53.在本公开实施例中,控制目标在获取到首个控制指令和末个控制指令之后,可以基于首个控制指令和末个控制指令对控制目标进行控制。
54.以预设时长为3s、预设数量为2为例,控制目标在进行判断后,仅获取控制指令序列中的第一个控制指令以及控制指令序列中的第三个控制指令,并基于第一个控制指令以及第三个控制指令实现对控制目标的语音控制,即仅基于首个控制指令和末个控制指令实现对控制目标的语音控制。
55.在本公开实施例中,能够在接收到包括用户向控制目标连续发出的多个控制语音的控制语音序列后,生成包括控制语音序列中每个控制语音对应的控制指令的控制指令序列,进而分别将控制指令序列中的首个控制指令的指令生成时长与预设时长以及控制指令序列中的控制指令数量与预设数量进行比较,由于预设时长为网络正常时的最大指令生成时长,如果控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量,则可以确定此时已经出现了网络卡顿导致的用户指令堆叠的情况下,此时,可以获取所述首个控制指令和所述控制指令序列中的末个控制指令,并基于首个控制指令和控制指令序列中的末个控制指令对控制目标进行控制,即仅保留并执行堆叠的用户指令中的首个指令和末个指令,避免在网络恢复后的短时间内集中执行用户在此期间发出的全部指令的情况,以在网络恢复后对用户指令进行合理执行,避免用户感知到网络卡顿,提高了用户体验。
56.在本公开另一些实施例中,在网络卡顿并且指令堆叠的情况下,为了避免对用户指令的重复执行,还需要对上述的控制指令序列中的首个控制指令和控制指令序列中的末个控制指令进行去重处理,下面将进行详细说明。
57.可选地,s140可以包括:若首个控制指令和末个控制指令的控制意图相同,执行首
个控制指令;若首个控制指令和末个控制指令的控制意图不同,依次执行首个控制指令和末个控制指令。
58.在本公开一些实施例中,控制目标在获取到控制指令序列中首个控制指令和末个控制指令后,需要对该两个控制指令进行控制意图判断,若首个控制指令和末个控制指令的控制意图相同,则执行首个控制指令。
59.可选地,控制意图相同指的是两个控制指令的执行结果相同,也即两个控制指令的语义相同。
60.例如,首个控制指令对应的控制语音可以为“我想听歌”,此时该控制指令的语义可以为“播放音乐指令”,末个控制指令对应的控制语音可以为“放一首歌”,此时该控制指令的语义也可以为“播放音乐指令”,此时可以判断出首个控制指令与末个控制指令的控制意图相同。
61.具体地,控制目标可以对首个控制指令和末个控制指令的语义进行比较,若比较结果为首个控制指令和末个控制指令的语义相同,则确定首个控制指令与末个控制指令的控制意图相同,进而只会执行首个控制指令,即在执行完首个控制指令之后,不继续执行末个控制指令。
62.在本公开另一些实施例中,控制目标在获取到控制指令序列中首个控制指令和末个控制指令后,需要对该两个控制指令进行控制意图判断,若首个控制指令和末个控制指令的控制意图不同,则依次执行首个控制指令和末个控制指令。
63.可选地,控制意图不同指的是两个控制指令的执行结果不同,也即两个控制指令的语义不同。
64.例如,首个控制指令对应的控制语音可以为“我想听歌”,此时该控制指令的语义可以为“播放音乐指令”,末个控制指令对应的控制语音可以为“打开车窗”,此时该控制指令的语义可以为“降下车窗指令”,此时可以判断出首个控制指令与末个控制指令的控制意图不同。
65.具体地,控制目标可以对首个控制指令和末个控制指令的语义进行比较,若比较结果为首个控制指令和末个控制指令的语义不同,则确定首个控制指令与末个控制指令的控制意图不同,进而会依次执行首个控制指令和末个控制指令,即在执行完首个控制指令之后,继续执行末个控制指令。
66.由此,在本公开实施例中,控制目标可以根据多个控制指令的控制意图是否相同来确定是否执行全部的控制指令,进而实现对相同控制意图的控制指令的去重,能够避免对用户指令进行重复执行的情况,提升了用户的体验。
67.在本公开又一些实施例中,在分别将控制指令序列中的首个控制指令的指令生成时长与预设时长以及控制指令序列中的控制指令数量与预设数量进行比较之后,还可能得到其他比较结果,基于不同的比较结果可以采取不同的控制策略,下面结合图2进行详细说明。
68.图2示出了本公开实施例提供的另一种语音控制方法的流程示意图。
69.如图2所示,该语音控制方法可以包括如下步骤。
70.s210、接收控制语音序列,控制语音序列包括用户向控制目标连续发出的多个控制语音。
71.s220、生成控制语音序列对应的控制指令序列,控制指令序列包括控制语音序列中每个控制语音对应的控制指令。
72.其中,s210-s220与图1所示的s110-s120相同,此处不再赘述。
73.s230、判断控制指令序列中的首个控制指令的指令生成时长是否大于预设时长。
74.在本公开实施例中,在控制目标生成控制指令序列后,计算控制指令序列中的首个控制指令的指令生成时长,然后将控制指令序列中的首个控制指令的指令生成时长与预设时长进行比较,若首个控制指令的指令生成时长小于或等于预设时长,执行s240;若首个控制指令的指令生成时长大于预设时长,执行s250。
75.其中,预设时长为网络正常时的最大指令生成时长。
76.s240、基于控制指令序列中的各个控制指令对控制目标进行控制。
77.在本公开实施例中,在控制目标生成控制指令序列后,若控制指令序列中的首个控制指令的指令生成时长小于或等于预设时长,继续判断控制指令序列中的控制指令数量是否小于预设数量,如果控制指令序列中的控制指令数量小于预设数量,则控制目标基于控制指令序列中的各个控制指令对控制目标进行控制;如果控制指令序列中的控制指令数量大于或等于预设数量,则控制目标执行首个控制指令,在执行完成后删除首个控制指令,然后判断控制指令序列中的新的首个控制指令的指令生成时长是否大于预设时长,如果新的首个控制指令的指令生成时长大于预设时长,继续判断新的控制指令序列中的指令数量是否小于预设数量,即执行s250-s270,如果新的首个控制指令的指令生成时长小于或等于预设时长,继续判断新的控制指令序列中的指令数量是否小于预设数量,如果新的控制指令序列中的控制指令数量小于预设数量,则控制目标基于新的控制指令序列中的各个控制指令对控制目标进行控制;如果新的控制指令序列中的控制指令数量大于或等于预设数量,则控制目标执行新的控制指令序列中的首个控制指令,在执行完成后删除首个控制指令,以此类推。
78.以预设时长为3s、预设数量为2为例,控制目标可以对控制指令序列中的首个控制指令的指令生成时长进行判断,如首个控制指令的指令生成时长为2s,可以确定控制指令序列中的首个控制指令的指令生成时长小于预设时长,说明生成首个控制指令时的网络正常,此时,可以进一步对控制指令序列中的控制指令数量进行判断,如果控制指令序列中的控制指令数量为1,可以确定控制指令序列中的控制指令数量小于预设数量,说明没有出现指令堆叠的情况,此时,控制目标会执行控制指令序列中的该控制指令,并基于该控制指令实现对控制目标的语音控制。
79.以预设时长为3s、预设数量为2为例,控制目标可以对控制指令序列中的首个控制指令的指令生成时长进行判断,如首个控制指令的指令生成时长为2s,可以确定控制指令序列中的首个控制指令的指令生成时长小于预设时长,说明生成首个控制指令时的网络正常,此时,可以进一步对控制指令序列中的控制指令数量进行判断,如果控制指令序列中的控制指令数量为3,说明在第一个控制指令后,可能出现了指令堆叠的情况,此时,控制目标首先会执行控制指令序列中的第一个控制指令,并基于第一个控制指令实现对控制目标的语音控制,然后,控制目标删除第一个控制指令,生成一个新的控制指令序列,对控制指令序列中的新的首个控制指令的指令生成时长进行判断,即原控制指令序列中的第二个控制指令,具体实施方式参照对第一个控制指令的实施方式,此处不再赘述。
80.由此,在本公开实施例中,电子设备可以在生成首个控制指令时网络正常的情况下,分情况地对用户指令进行合理执行,进一步提升了用户的体验。
81.s250、判断控制指令序列中的控制指令数量是否小于预设数量。
82.在本公开实施例中,在控制目标生成控制指令序列后,若首个控制指令的指令生成时长大于预设时长,控制目标可以检测控制指令序列中的控制指令数量,然后将控制指令序列中的控制指令数量与预设数量进行比较。若控制指令序列中的控制指令数量小于预设数量,执行s260;若控制指令序列中的控制指令数量大于或等于预设数量,执行s270。
83.s260、基于控制指令序列中的各个控制指令对控制目标进行控制。
84.在本公开实施例中,在控制目标生成控制指令序列后,若首个控制指令的指令生成时长大于预设时长,且确定控制指令序列中的控制指令数量小于预设数量时,可以确定虽然网络卡顿,但未发生指令堆叠,因此,控制目标可以基于控制指令序列中的各个控制指令对控制目标进行控制。
85.以预设时长为3s、预设数量为2为例,控制目标可以对控制指令序列中的首个控制指令的指令生成时长进行判断,如首个控制指令的指令生成时长为4s,可以确定控制指令序列中的首个控制指令的指令生成时长大于预设时长,说明可能出现了网络卡顿的情况,此时,可以进一步对控制指令序列中的控制指令数量进行判断,如果控制指令序列中的控制指令数量为1,可以确定控制指令序列中的控制指令数量小于预设数量,说明没有出现指令堆叠的情况,此时,控制目标会执行控制指令序列中的第一个控制指令,并基于第一个控制指令实现对控制目标的语音控制。
86.以预设时长为3s、预设数量为3为例,控制目标可以对控制指令序列中的首个控制指令的指令生成时长进行判断,如首个控制指令的指令生成时长为4s,可以确定控制指令序列中的首个控制指令的指令生成时长大于预设时长,说明可能出现了网络卡顿的情况,此时,可以进一步对控制指令序列中的控制指令数量进行判断,如果控制指令序列中的控制指令数量为2,可以确定控制指令序列中的控制指令数量小于预设数量,说明没有出现指令堆叠的情况,此时,控制目标会执行控制指令序列中的各个控制指令,并基于各个控制指令实现对控制目标的语音控制。
87.s270、基于首个控制指令和控制指令序列中的末个控制指令对控制目标进行控制。
88.其中,s270与图1所示的s140相同,此处不做限定。
89.由此,在本公开实施例中,电子设备可以根据不同网络情况以及指令堆叠情况,采取不同的控制策略,在网络恢复后对用户指令进行合理执行,进一步提升了用户的体验。
90.在本公开再一些实施例中,在网络正常或者指令未堆叠的情况下,为了避免对用户指令的重复执行,还需要对上述的控制指令序列中的各个控制指令进行去重处理,下面将进行详细说明。
91.可选地,在基于控制指令序列中的各个控制指令对控制目标进行控制之前,该语音控制方法还包括:若控制指令序列中存在控制意图相同的多个相邻控制指令,删除多个相邻控制指令中的非首个控制指令。
92.在本公开实施例中,控制目标在根据不同的控制策略并基于控制指令序列中的各个控制指令对控制目标进行控制之前,还需要对控制指令序列中的各个控制指令的控制意
图进行判断,若控制指令序列中存在控制意图相同的多个相邻控制指令,则删除多个相邻控制指令中的非首个控制指令。
93.具体地,以控制指令序列中的控制指令数量为3为例,当控制目标基于控制指令序列中的各个控制指令对控制目标进行控制之前,需要对该控制指令序列中的各个控制指令的控制意图进行判断,如果该控制指令序列中的第一个控制指令与第二个控制指令的控制意图相同,控制目标可以删除第二个控制指令,即控制目标在执行第一个控制指令之后,不再执行第二个控制指令,接着判断第一个控制指令与第三个控制指令的控制意图是否相同,如果相同控制目标可以删除第三个控制指令;如果不相同,控制目标在执行第一个控制指令之后,还执行第三个控制指令。此外,如果该控制指令序列中的第一个控制指令与第二个控制指令的控制意图不相同,可以判断第二个控制指令与第三个控制指令的控制意图相同是否相同,如果相同,控制目标删除第三个控制指令;如果不相同,控制目标可以依次执行第一个控制指令、第二个控制指令和第三个控制指令。
94.由此,在本公开实施例中,控制目标可以根据多个控制指令的控制意图是否相同来确定是否执行全部的控制指令,进而实现对相同控制意图的控制指令只的去重,避免在网络恢复后的短时间内集中执行用户在此期间发出的全部指令的情况,以在网络恢复后对用户指令进行合理执行,提升了用户的体验。
95.在本公开再一些实施例中,控制目标可以通过与其基于网络进行通信的指令生成引擎生成控制语音对应的控制指令。
96.在一些实施例中,指令生成引擎可以为具有语音识别功能和语义识别功能的综合引擎。
97.可选地,s120可以具体包括:在接收到控制语音序列中的每个控制语音时,将控制语音发送至指令生成引擎,指令生成引擎用于生成控制语音对应的控制指令;接收指令生成引擎反馈的各个控制指令;基于接收到的各个控制指令,生成控制指令序列。
98.在本公开实施例中,控制目标在获取控制语音序列中的各个控制语音的过程中,每当控制目标接收到一个控制语音,便可以将接收到的控制语音发送至指令生成引擎,指令生成引擎可以基于接收到的控制语音生成控制语音对应的各个控制指令,并将生成的各个控制指令反馈给控制目标,控制目标可以接收指令生成引擎反馈的各个控制指令并生成控制指令序列。
99.具体地,控制目标可以将接收到的每个控制语音发送给指令生成引擎,指令生成引擎接收到每个控制语音后,可以先将每个控制语音识别转化为对应的各个语音文本,再将各个语音文本进行语义识别生成对应的各个控制指令,然后指令生成引擎将生成的各个控制指令反馈给控制目标,控制目标可以对接收到的各个控制指令进行排序后,得到控制指令序列。
100.在这些实施例中,指令生成时长可以为接收到首个控制指令的时刻与向指令生成引擎发送首个控制指令对应的控制语音的时刻之间的时间差。其中,指令生成时长可以包括将首个控制指令对应的控制语音发送至指令生成引擎的时长、指令生成引擎生成首个控制指令的时长、以及接收指令生成引擎发送的首个控制指令的时长。
101.可选地,对于控制指令序列中的每个控制指令的指令生成时长,控制目标可以计算从控制目标向指令生成引擎发送任一控制指令对应的控制语音的时刻到控制目标接收
到指令生成引擎反馈该控制指令的时刻之间的时间段,由于计算得到的时间段即为控制目标通过对控制语音进行语音识别以及语义识别得到其对应的控制指令的总时长,因此,计算得到的时间段即为该控制指令的指令生成时长。
102.可选地,预设时长可以为网络正常时的最大指令生成时长,即预设时长可以为在网络正常的情况下,控制目标接收到指令生成引擎反馈的一个控制指令的时刻与向指令生成引擎发送该控制指令对应的控制语音的时刻之间的时间差的最大时长。
103.由此,在本公开实施例中,指令生成引擎可以准确的将控制语音生成对应的控制指令,使得控制目标可以通过控制指令对用户指令进行准确的执行,能够满足用户需求,进一步提升了用户的体验。
104.在另一些实施例中,指令生成引擎可以包括语音识别引擎和语义识别引擎,语音识别引擎具有语音识别功能,语义识别引擎具有语义识别功能。
105.具体地,控制目标在获取控制语音序列中的各个控制语音的过程中,每当控制目标接收到一个控制语音,便可以将接收到的控制语音发送至语音识别引擎,语音识别引擎可以根据接收到的各个控制语音生成对应的语音文本,并反馈给控制目标,控制目标在接收到每个控制语音生成对应的语音文本后,便可以将接收到个控制语音生成对应的语音文本发送个语义识别引擎,语义识别引擎可以根据该语音文本生成对应的各个控制语音对应的控制指令,并反馈给控制目标,控制目标可以对接收到的各个控制指令进行排序后,得到控制指令序列。
106.在这些实施例中,指令生成时长可以为接收到语义识别引擎发送的首个控制指令的时刻与向语音识别引擎发送首个控制指令对应的控制语音的时刻之间的时间差。其中,指令生成时长可以包括将首个控制指令对应的控制语音发送至语音识别引擎的时长、语音识别引擎向语义识别引擎发送语音文本的时长、以及接收语义识别引擎发送的首个控制指令的时长。
107.可选地,对于控制指令序列中的每个控制指令的指令生成时长,控制目标可以计算从控制目标向语音识别引擎发送任一控制指令对应的控制语音的时刻到控制目标接收到语义识别引擎反馈该控制指令的时刻之间的时间段,由于计算得到的时间段即为控制目标通过对控制语音进行语音识别以及语义识别得到其对应的控制指令的总时长,因此,计算得到的时间段即为该控制指令的指令生成时长。
108.可选地,预设时长可以为网络正常时的最大指令生成时长,即预设时长可以为在网络正常的情况下,控制目标接收到语义识别引擎反馈的一个控制指令的时刻与向语音识别引擎发送该控制指令对应的控制语音的时刻之间的时间差的最大时长。
109.由此,在本公开实施例中,指令生成引擎可以准确的将控制语音生成对应的控制指令,使得控制目标可以通过控制指令对用户指令进行准确的执行,能够满足用户需求,进一步提升了用户的体验。
110.在本公开再一些实施例中,由于各个控制语音的长度不同,使得对各个控制语音处理复杂度也不同,因此各个控制语音对应的控制指令的生成时长也不相同,所以可能出现控制目标在先接收到的控制语音,在后生成相应控制指令的情况,如果按照控制指令的生成顺序去进行排序,则可能造成控制指令未按照用户期望顺序执行的问题。因此,还需要对生成的控制指令进行合理排序。
111.可选地,控制目标基于接收到的各个控制指令,生成控制指令序列还可以具体包括:按照控制语音序列对应的语音接收顺序,对接收到的各个控制指令进行排序,得到控制指令序列。
112.在本公开实施例中,控制目标在接收到各个控制指令之后,可以按照控制语音序列对应的语音接收顺序,对接收到的各个控制指令进行排序,得到控制指令序列。
113.具体地,控制目标在获取控制语音序列时,可以根据按照用户发出控制语音的先后顺序,对接收到的多个控制语音进行排序,得到控制语音序列,在获得指令生成引擎生成的控制语音序列中每个控制语音对应的各个控制指令之后,控制目标可以按照控制语音序列中的控制语音的排列顺序,对各个控制指令进行排列,得到对应的控制指令序列,使得各个控制指令在控制指令序列中的排序与用户发出的顺序一致。
114.可选地,控制目标在接收到用户发出的每个控制语音之后,会为该每个控制语音分配一个唯一的语音标识。控制目标在向引擎发送控制语音或者语音文本时,会携带相应的语音标识,引擎在向控制目标反馈语音文本或者控制指令时,也会携带相应的语音标识,控制目标可以基于每个控制指令携带的语音标识,确定其对应的控制语音,由此,控制目标可以按照控制语音序列中的控制语音的排列顺序对接收到的各个控制指令进行排序,得到控制指令序列。
115.例如,在一些实施例中,控制目标先接收到第一个控制语音,可以为该第一个控制语音分配一个唯一的语音标识例如1,后接收到第二个控制语音,可以为该第二个控制语音分配一个唯一的语音标识例如2,控制目标在向引擎发送控制语音或者语音文本时,会携带相应的语音标识,引擎在向控制目标反馈语音文本或者控制指令时,也会携带相应的语音标识,控制目标可以基于每个控制指令携带的语音标识如1或2,确定其对应的控制语音,由此,控制目标可以按照控制语音序列中的控制语音的排列顺序对接收到的各个控制指令进行排序,得到控制指令序列。
116.由此,在本公开实施例中,控制目标根据语音接收顺序对控制指令序列中的各个控制指令进行执行,使得控制指令按照用户期望顺序执行,防止指令执行顺序混乱的情况,提升了用户的体验。
117.图3示出了本公开实施例提供的一种控制指令序列的示意图。
118.如图3所示,不同时刻下控制目标可以得到已经排序的不同控制指令序列。
119.在t1时刻下,控制目标得到第一控制指令序列310,此时可以判断第一控制指令序列310中首个控制指令的指令生成时长,即query1的指令生成时长,因为此时只有一个控制指令,所以不管query1的指令生成时长是否大于预设时长,控制目标都会执行query1。
120.在t2时刻下,控制目标得到第二控制指令序列320,以预设时长为3s、预设数量为2为例,判断第二控制指令序列320中首个控制指令的指令生成时长,即query1的指令生成时长,如果query1的指令生成时长为4s大于预设时长,说明可能出现了网络卡顿的情况,且此时第二控制指令序列320中的控制指令数量为2等于预设数量2,此时,控制目标会基于第一个控制指令以及第二个控制指令,即基于query1和query2实现对控制目标的语音控制。同理在第二控制指令序列320中首个控制指令的指令生成时长小于预设时长的情况下,控制目标会基于第一个控制指令以及第二个控制指令,即基于query1和query2实现对控制目标的语音控制,此处不再赘述。
121.进一步地,控制目标还需要判断query1和query2对应的控制意图是否相同,若query1和query2对应的控制意图相同,则控制目标只执行query1;若query1和query2对应的控制意图不同,则控制目标在执行query1后,执行query2。
122.在t3时刻下,控制目标得到第三控制指令序列330,以预设时长为3s、预设数量为2为例,判断第三控制指令序列330中首个控制指令的指令生成时长,即query1的指令生成时长,如果query1的指令生成时长为4s大于预设时长,说明可能出现了网络卡顿的情况,且此时第三控制指令序列330中的控制指令数量为3大于预设数量2,说明可能出现了指令堆叠的情况,此时,控制目标会仅保留控制指令序列中的第一个控制指令以及控制指令序列中的第三个控制指令,即保留query1和query3,并基于query1和query3实现对控制目标的语音控制。
123.进一步地,控制目标还需要判断query1和query3对应的控制意图是否相同,若query1和query3对应的控制意图相同,则控制目标只执行query1;若query1和query3对应的控制意图不同,则控制目标在执行query1后,执行query3。
124.在t4时刻下,控制目标得到第四控制指令序列340,以预设时长为3s、预设数量为2为例,判断第四控制指令序列340中首个控制指令的指令生成时长,即query1的指令生成时长,如果query1的指令生成时长为2s小于预设时长,说明网络正常,此时,控制目标正常执行query1,在执行完query1后,删除query1,并判断query2的指令生成时长是否大于预设时长,若query2的指令生成时长大于预设时长,控制目标会保留控制指令序列中的query2与query4,并基于query1和query3实现对控制目标的语音控制,详细步骤参照t3时刻;若query2的指令生成时长小于预设时长,控制目标正常执行query2,依次执行。
125.图4示出了本公开实施例提供的一种语音控制装置的结构示意图。
126.在本公开一些实施例中,图4所示的语音控制装置可以设置于控制目标内。其中,该控制目标可以为具有语音控制功能或者语音交互功能的电子设备。具体地,该电子设备可以包括但不限于诸如移动电话、车载设备、平板电脑、可穿戴设备、智能家居设备等移动终端。
127.如图4所示,该语音控制装置400可以包括语音接收模块410、指令生成模块420、指令获取模块430和第一执行模块440。
128.该语音接收模块410可以用于接收控制语音序列,控制语音序列包括用户向控制目标连续发出的多个控制语音。
129.该指令生成模块420可以用于生成控制语音序列对应的控制指令序列,控制指令序列包括控制语音序列中每个控制语音对应的控制指令。
130.该指令获取模块430可以用于在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量的情况下,获取首个控制指令和控制指令序列中的末个控制指令,预设时长为网络正常时的最大指令生成时长。
131.该第一执行模块440可以用于基于首个控制指令和末个控制指令对控制目标进行控制。
132.在本公开实施例中,能够在接收到包括用户向控制目标连续发出的多个控制语音的控制语音序列后,生成包括控制语音序列中每个控制语音对应的控制指令的控制指令序
列,进而分别将控制指令序列中的首个控制指令的指令生成时长与预设时长以及控制指令序列中的控制指令数量与预设数量进行比较,由于预设时长为网络正常时的最大指令生成时长,如果控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量大于或等于预设数量,则可以确定此时已经出现了网络卡顿导致的用户指令堆叠的情况下,此时,可以获取所述首个控制指令和所述控制指令序列中的末个控制指令,并基于首个控制指令和末个控制指令对控制目标进行控制,即仅保留并执行堆叠的用户指令中的首个指令和末个指令,避免在网络恢复后的短时间内集中执行用户在此期间发出的全部指令的情况,以在网络恢复后对用户指令进行合理执行,避免用户感知到网络卡顿,提高了用户体验。
133.在本公开一些实施例中,该第一执行模块440可以包括第一执行单元和第二执行单元。
134.该第一执行单元可以用于若首个控制指令和末个控制指令的控制意图相同,执行首个控制指令。
135.该第二执行单元可以用于若首个控制指令和末个控制指令的控制意图不同,依次执行首个控制指令和末个控制指令。
136.在本公开一些实施例中,该语音控制装置400还可以包括第二执行模块。
137.该第二执行模块可以用于在生成控制语音序列对应的控制指令序列之后,在控制指令序列中的首个控制指令的指令生成时长小于或等于预设时长的情况下,基于控制指令序列中的各个控制指令对控制目标进行控制。
138.在本公开一些实施例中,该语音控制装置400还可以包括第三执行模块。
139.该第三执行模块可以用于在生成控制语音序列对应的控制指令序列之后,在控制指令序列中的首个控制指令的指令生成时长大于预设时长且控制指令序列中的控制指令数量小于预设数量的情况下,基于控制指令序列中的各个控制指令对控制目标进行控制。
140.在本公开一些实施例中,该语音控制装置400还可以包括指令删除模块,该指令删除模块可以用于在基于控制指令序列中的各个控制指令对控制目标进行控制之前,若控制指令序列中存在控制意图相同的多个相邻控制指令,删除多个相邻控制指令中的非首个控制指令。
141.在本公开一些实施例中,该指令生成模块420可以包括指令发送单元、指令接收单元和指令生成单元。
142.该指令发送单元可以用于在接收到控制语音序列中的每个控制语音时,将控制语音发送至指令生成引擎,指令生成引擎用于生成控制语音对应的控制指令。
143.该指令接收单元可以用于接收指令生成引擎反馈的各个控制指令。
144.该指令生成单元可以用于基于接收到的各个控制指令,生成控制指令序列。
145.相应地,指令生成时长可以为接收到首个控制指令的时刻与向指令生成引擎发送首个控制指令对应的控制语音的时刻之间的时间差。
146.在本公开一些实施例中,该指令生成单元可以具体用于按照控制语音序列对应的语音接收顺序,对接收到的各个控制指令进行排序,得到控制指令序列。
147.需要说明的是,图4所示的语音控制装置400可以执行图1和图2所示的方法实施例中的各个步骤,并且实现图1和图2所示的方法实施例中的各个过程和效果,在此不做赘述。
148.图5示出了本公开实施例提供的一种语音控制设备的结构示意图。
149.在本公开一些实施例中,图5所示的语音控制设备可以为用户想要进行语音控制的控制目标。其中,该控制目标可以为具有语音控制功能或者语音交互功能的电子设备。具体地,该电子设备可以包括但不限于诸如移动电话、车载设备、平板电脑、可穿戴设备、智能家居设备等移动终端。
150.如图5所示,该语音控制设备可以包括处理器501以及存储有计算机程序指令的存储器502。
151.具体地,上述处理器501可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
152.存储器502可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器502可以包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(read-only memory,rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable rom,prom)、可擦除prom(electrical programmable rom,eprom)、电可擦除prom(electrically erasable programmable rom,eeprom)、电可改写rom(electrically alterable rom,earom)或闪存,或者两个或及其以上这些的组合。
153.处理器501通过读取并执行存储器502中存储的计算机程序指令,以执行本公开实施例所提供的语音控制方法的步骤。
154.在一个示例中,该语音控制设备还可包括收发器503和总线504。其中,如图5所示,处理器501、存储器502和收发器503通过总线504连接并完成相互间的通信。
155.总线504包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industrial standard architecture,isa)总线、无限带宽互连、低引脚数(low pin count,lpc)总线、存储器总线、微信道架构(micro channel architecture,mca)总线、外围控件互连(peripheral component interconnect,pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,sata)总线、视频电子标准协会局部(video electronics standards association local bus,vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线504可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
156.本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的语音控制方法。
157.上述的存储介质可以例如包括计算机程序指令的存储器502,上述指令可由语音
控制设备的处理器501执行以完成本公开实施例所提供的语音控制方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(random access memory,ram)、光盘只读存储器(compact disc rom,cd-rom)、磁带、软盘和光数据存储设备等。
158.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
159.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献