一种语音控制方法及装置与流程

文档序号:11834523阅读:158来源:国知局
一种语音控制方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种语音控制方法及装置。



背景技术:

随着计算机信息技术的飞速发展,目前,人机交互的方式已经逐渐从肢体接触扩展到语音控制,以提高人机交互的便利性。

目前的语音控制是通过终端(如,车载导航、手机、电脑等)上安装的语音助手实现的。具体的,用户可通过语音助手输入语音指令,该语音助手根据该语音指令执行相应的任务(即进行语音控制)。

目前的语音助手在进行语音控制时,往往需要通过与用户输入的语音指令相关联的应用(Application,App)来执行该语音指令。

考虑到在实际应用场景中,用户在通过语音助手启动某个应用(以下称为第一个应用)后,可能还会通过语音助手启动其他应用(以下称为第二个应用)。这时,该后启动的第二个应用会在前台运行,而先启动的第一个应用就会由前台运行切换至后台运行。此外,在实际应用场景中,用户在启动第二个应用之后,往往还会基于第一个应用来输入语音指令,以使得该第一个应用执行该语音指令。

但是,目前的语音助手只能控制前台应用执行基于该前台应用的语音指令,无法控制后台应用执行进阶语音指令,这就会导致语音控制效率较低的问题。

例如,假设语音助手接收用户输入的“我要听刘德华的音乐”语音指令,则语音助手会在前台运行音乐App,控制音乐App播放刘德华的某首歌曲(执行语音指令),若语音助手接收到用户输入的“我现在在哪里?”语音指令, 则语音助手会将音乐App从前台切换到后台运行,同时,在前台运行地图App,控制地图App确定当前地理位置。然后,当语音助手接收到用户输入的“我要听刘德华的下一首音乐”,由于语音助手确定当前前台运行的地图App与“我要听刘德华的下一首音乐”不相关,因此,会给出提示信息,如,“我不知道你在说什么”,拒绝执行该“我要听刘德华的下一首音乐”这一语音指令,则语音控制效率较低。



技术实现要素:

本申请实施例提供一种语音控制方法及装置,用以提高语音控制效率。

本申请实施例提供的一种语音控制方法,包括:

语音系统接收用户输入的语音指令;并

判断该语音指令是否与前台应用相关联;

若是,则将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;

否则,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令。

本申请实施例提供的一种语音控制装置,包括:

第一接收模块,用于接收用户输入的语音指令;

判断模块,用于判断该语音指令是否与前台应用相关联;

控制模块,用于在所述判断模块判断语音指令与前台应用相关联时,将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;或者在所述判断模块判断语音指令与前台应用不相关联时,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令。

本申请实施例提供一种语音控制方法及装置,该方法语音系统接收用户输入的语音指令;并判断该语音指令是否与前台应用相关联;若是,则将与所述 语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;否则,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令,可见,该语音系统不仅可控制前台应用执行基于该前台应用的语音指令,还可以控制后台应用执行进阶语音指令,从而,可有效提高语音控制的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的语音控制方法总体流程示意图;

图2为本申请实施例提供的语音控制方法具体流程示意图;

图3为本申请实施例提供的语音控制装置结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的语音控制方法,具体包括以下步骤:

S101:语音系统接收用户输入的语音指令。

在本申请实施例中,所述的语音系统为安装在终端上的语音系统,该语音系统用于接收用户输入的语音指令,并将语音指令对应的控制指令发送给相应的App,以使得App执行接收到的控制指令,实现语音控制;其中所述的终端可包括但不限于:手机、移动电脑、车载设备等终端。

在实际应用场景中,用户往往需要向语音系统输入语音指令,语音系统可接收用户输入的语音指令。

例如,用户在驾车过程中想要听音乐时,则该语音系统可接收用户输入的“我要听音乐”这一语音指令。

又例如,上例中,音乐App接收到该语音指令对应的控制命令时,会展示界面内容(即App中与语音指令相关的页面内容),比如展示音乐列表供用户选择一首待播放音乐,用户想要选择界面内容中展示的第三首音乐时,则该语音系统可接收用户输入的“选择第三首”这一语音指令。

又例如,在上例中,假设音乐App正在前台运行并播放第三首音乐,用户想知道当前地理位置时,则语音系统可接收用户输入的“我在哪里”的语音指令。

上述三个例子中,“我要听音乐”和“选择第三首”这两个语音指令为与音乐App相关的指令,“我在哪里”是与地图App相关的指令。此外,“我要听音乐”和“我在哪里”为要求语音系统执行新的任务的指令,将这类型指令称为初始指令;“选择第三首”这一指令是基于“我要听音乐”这一初始指令的指令,将这类型指令称为过程指令。

需要说明的是,本申请实施例中,App在前台运行时,会展示界面内容,在后台运行时,当然也就不会展示界面内容了,因此,只要是正在展示界面内容的App均说明该App正在前台运行,只要App在前台运行就会展示界面内容。

S102:判断该语音指令是否与前台应用相关联,若是,执行步骤S103,否则,执行步骤S104。

在本申请实施例中,所述的语音系统中安装的App可包括:即时通讯App、地图App、音乐App、视频App等不同类型的App,这些App中,有些App可能正在前台运行,有些App可能正在后台运行,其余App可能未启动。

在本申请实施例中,语音系统在判断该语音指令是否与前台应用相关联 时,具体可根据该语音指令的内容,判断该语音指令的内容是否与前台App相关联。

例如,假设音乐App在前台运行,地图App在后台运行,若语音系统接收到“我要听下一首音乐”这一语音指令时,可解析并获取语音指令的内容,如,“我要听音乐,且需要听下一首”,根据该语音指令的内容,确定该语音指令与前台运行的音乐App相关联,然后可将与“我要听下一首音乐”这一语音指令对应的控制指令发送给与语音指令相关联的音乐App,以使得该音乐App执行“我要听下一首音乐”这一语音指令对应的控制指令。

上例中,若语音系统接收到“我想知道当前地理位置”这一语音指令时,可解析并获取语音指令的内容,如,“确定当前地理位置”,根据该语音指令的内容,可确定该语音指令与前台运行的音乐App不关联,进一步的,可在后台应用中确定出与该语音指令相关联的地图App,将语音指令对应的控制指令发送给该地图App,以使得该地图App执行该控制指令。

上述根据语音指令的内容判断语音指令是否与前台App相关联的方法中,针对每一个语音指令,需要首先对该语音指令进行内容分析,然后遍历前台App,根据语音指令的内容判断该语音指令是否与前台App相关联,该方法确定App的效率较低,语音系统的开销也较大。

因此,考虑到语音指令可对应不同的指令类型,如,不同的语音指令与不同类型的App相关联。

在本申请实施例中,不同类型的App可包括:未启动App、前台App、和后台App,其中,未启动App、前台App、后台App可分别对应于第一指令、第二指令和第三指令这三种指令类型。可预先为不同指令类型设置不同的判断该语音指令是否与前台应用相关联的方法,具体的,在预设的各指令类型中,确定出与当前接收到的语音指令相匹配的指令类型,根据确定出的指令类型,判断该语音指令是否与前台应用相关联。

其中,在预设的各指令类型中,确定出与当前接收到的语音指令相匹配的 指令类型,具体可根据语音指令中的关键词和/或语音指令的语义确定该语音指令的指令类型,具体的,可以预先为不同指令类型设置不同的关键词,即,每一个指令类型对应若干个关键词构成的集合,若当前接收到的语音指令中的关键词与某一个指令类型对应的预设关键词相匹配时,则可根据该某一个指令类型确定语音指令对应的App;和/或预先为不同指令类型设置不同的语义,即,每一个指令类型对应若干个语义构成的集合,若当前接收到的语音指令中的关键词与某一个指令类型对应的预设语义相匹配时,则可根据该某一个指令类型确定语音指令对应的App。

例如,预设指令类型包括与音乐App相关的指令和与地图App相关的指令。则,当语音系统当前接收到的语音指令为“我要听音乐”时,可以根据语音指令中的关键词“音乐”确定该语音指令与预设的音乐App相关的指令相匹配,确定音乐App为该语音指令对应的App。若当前接收到的语音指令为“我在哪里”,则通过语义分析工具分析该语音指令,当通过语义分析工具得到的语义为“确定当前的地理位置”,则将可确定当前地理位置的地图App作为该语音指令对应的App。

所述的语义分析工具可以位于终端侧,也可以位于网络侧。当语义分析工具位于网络侧时,语音系统可以通过终端将用户输入的语音指令发送给网络侧的服务器,服务器在确定出该语音指令的语义之后,将语义返回给终端的语音系统,供该语音系统确定App使用。

S103:将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令。

在本申请实施例中,当判断该语音指令与前台App相关联时,说明该语音指令是基于前台App(即基于界面内容)的语音指令,则直接将与该语音指令对应的控制指令发送给与语音指令相关联的前台App,以使得该前台App执行相应的控制指令。

S104:在后台应用中确定出与所述语音指令相关联的应用,将语音指令对 应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令。

在本申请实施例中,当判断该语音指令与前台App不关联时,说明该语音指令不是基于界面内容的语音指令,该语音指令可能是基于后台App的语音指令,也可能是基于未启动的App的语音指令,则首先从后台App中判断该语音指令是否与后台App相关联,若是,则将语音指令对应的控制指令发送给确定出的后台App,以使得该后台App执行该控制指令。

在本申请实施例中,所述的控制指令可以是根据语音指令的内容预设的控制指令,该控制指令用于指示确定出的当前未启动的App启动且在前台运行,以及展示界面内容;该控制指令还用于指示确定出的后台运行的App切换至前台运行,并展示界面内容。

例如,“我要听音乐”这一语音指令的控制指令可以为“若音乐App在后台运行时,切换至前台运行并展示音乐列表,且播放第一首音乐”或者“若音乐App未启动,则启动音乐App在前台运行,并展示音乐列表,且播放第一首音乐”。

又例如,“我在哪里”这一语音指令的控制指令可以为“若地图App在后台运行时,切换至前台运行并展示电子地图,标识当前地理位置”或者“若地图App未启动,则启动地图App在前台运行,并展示电子地图,标识当前地理位置”。

沿用上例,若未启动的音乐App接收到语音系统发送的“若音乐App未启动,则启动音乐App在前台运行,并展示音乐列表,且播放第一首音乐”和“若音乐App在后台运行时,切换至前台运行并展示音乐列表,且播放第一首音乐”的控制指令时,执行该控制指令,也即,音乐App启动音乐App在前台运行,并展示音乐列表,且播放第一首音乐。

假设音乐App在前台运行并播放音乐时,语音系统又接收到“我在哪里”的语音指令,并确定该语音指令对应的地图App后,向该地图App发送“若地图App在后台运行时,切换至前台运行并展示电子地图,标识当前地理位 置”和“若地图App未启动,则启动地图App在前台运行,并展示电子地图,标识当前地理位置”的控制指令,地图App执行该控制指令,也即,地图App启动地图App在前台运行,并展示电子地图,标识当前地理位置,此时,由于音乐App与地图App相互独立,因此,音乐App并不会退出运行,而是在后台运行,例如,在后台继续播放音乐。

上述图1所示的方法,语音系统接收用户输入的语音指令,并判断该语音指令是否与前台应用相关联;若是,则将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;否则,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令,这样,该语音系统不仅可控制前台应用执行基于该前台应用的语音指令,还可以控制后台应用执行进阶语音指令,从而,可有效提高语音控制的效率。

例如,语音系统接收用户输入的“我要听音乐”这一语音指令时,启动与该语音指令相关联的音乐App在前台运行,当语音系统在播放音乐时,接收到“我在哪里”这一语音指令时,启动地图App,且将音乐App切换至后台运行,当语音系统再次接收到与音乐App相关的语音指令,如“我要听下一首”时,判断该语音指令是否与地图App(前台App)相关联,若不关联,则判断该语音指令是否与音乐App(后台App)相关联,当判断语音指令“我要听下一首”与音乐App(后台App)相关联,则将“我要听下一首”这一语音指令对应的控制命令发送给音乐App,以使得音乐App执行“我要听下一首”的控制指令。

在本申请实施例中,所述语音系统为语音操作系统,该语音操作系统用于控制安装于该语音系统中的任意一个应用执行所述控制指令,即语音系统为一个全局控制系统。

在本申请实施例中,当通过步骤S102接收到的语音指令与前台应用和后台应用均不关联时,从未启动的应用中确定出与语音指令相关联的应用;将前 台运行应用切换至后台运行,启动与所述语音指令相关联的应用并在前台运行;将语音指令对应的控制指令发送给前台运行的应用,以使得所述应用执行所述控制指令。

可见,本申请实施例提供的语音系统能够实现多应用同时运行,也就是说,该语音系统支持多任务并发,也即,有新的应用启动时,正在运行的应用不需要退出启动(即结束运行),而是可以继续在前台或后台运行,此外,当再次接收到与后台App相关的语音指令(该语音指令称为进阶语音指令)时,该后台App可执行该语音指令并切换至前台运行。

考虑到实际应用场景中,若用户当前输入的语音指令是基于某一个初始指令的过程指令时,用户输入的语音指令都比较简短,以至于语音系统无法根据当前输入的语音指令的内容确定该语音指令对应的App。

例如,假设语音系统接收到“我要听音乐”语音指令,并通过前台音乐App播放界面内容中的第一个音乐,当用户突然想要听界面内容中的第五个音乐时,用户会直接输入“选择第五个”的语音指令,但是语音系统接收到该“选择第五个”语音指令时,根据该语音指令的内容无法判断该语音指令与哪一个App相关联,因此,也就无法准确的判断该语音指令是否与前台App相关联。

为了提高判断语音指令是否与前台App相关联的准确性,在本申请实施例中,可通过判断语音指令的指令类型来准确判断语音指令是否与前台App相关联,具体的,预设指令类型包括:即前台App和后台App无关的第一指令,与前台App相关联的第二指令、与后台App相关联的第三指令。

其中,与前台App相关联的第二指令既包括初始指令也包括基于界面的过程指令,与后台App相关联的第三指令既包括初始指令也包括基于状态的过程指令。与前台App和后台App无关的第一指令一般为初始指令,而不是过程指令。

在本申请实施例中,将与历史语音指令无直接关系的语音指令,或者说与历史语音指令不属于一个会话的语音指令,称为初始指令。将与历史语音指 令有直接关系,即基于历史语音指令的新的语音指令为进阶语音指令,也称为过程指令。

比如,语音系统接收到“我要听歌”这一语音指令时,该语音指令不是基于某一语音指令的语音指令,而是一个需要语音系统执行新任务的初始指令。当语音系统接收到“下一首”这一语音指令时,该语音指令一般是基于“我要听歌”这一初始指令的语音指令,这类型语音指令称为进阶语音指令或过程指令。

只有已经启动的应用才能成功执行过程指令,但是,所有应用(包括已经启动或未启动的应用)均可以执行初始指令。

由于在已经启动的应用中,至少包括前台应用和后台应用,因此,过程指令可包括基于界面的过程指令(即基于前台应用的过程指令),还包括基于状态的过程指令(即基于后台应用的过程指令)。

例如,可以将包括“启动”、“我要”、“我想”、“哪里”、“哪儿”等关键词的语音指令定义为初始指令,或者将语义为“用户想要启动某项应用”、“用户想要确定当前的地理位置”等的语音指令定义为初始指令。

又例如,可以将包括“关闭”、“切换”、“选择”、“确认”或“取消”等关键词的语音指令定义为基于界面的过程指令,或者将语义为“应用前后台切换”、“选择界面内容”等的语音指令定义为基于界面的过程指令。

还例如,可以将包括“上一”、“下一”、“最前”、“最后”、“暂停”、“开始”等关键词的语音指令定义为基于状态的过程指令,或者将语义为“切换上一个”、“切换下一个”、“暂停播放”等的语音指令定义为基于状态的过程指令。

当语音系统接收到用户输入的语音指令时,在预设的指令类型中,确定出与当前语音指令相匹配的指令类型,具体可通过上述的语音指令中的关键词或语音指令的语义确定该语音指令的指令类型。

以通过语音指令的语义确定该语音指令的指令类型为例说明,则预先为不同指令类型设置不同的语义,即,每一个指令类型对应若干个语义构成的集合, 如,预设第一指令对应的第一语义集合、第二指令对应第二语义集合、第三指令对应的第三语义集合,各语义集合中的语义互不相同;

在预设的各指令类型中,确定出与所述语音指令相匹配的指令类型,具体的:确定所述语音指令的语义;根据所述语音指令的语义,在预设的各指令类型分别对应的语义集合中,查找是否存在与所述语音指令的语义相匹配的语义,若是,则确定查找出的语义所在的语义集合对应的指令类型为与所述语音指令相匹配的指令类型。更具体的,确定所述语音指令的语义;根据所述语音指令的语义,分别在预设的第一指令对应的第一语义集合、第二指令对应的第二语义集合和第三指令对应的第三语义集合中,查找是否存在与所述语音指令的语义相匹配的语义;若确定在所述第一语义集合中存在与所述语音指令的语义相匹配的语义,则确定第一指令为与所述语音指令相匹配的指令类型;若确定在所述第二语义集合中存在与所述语音指令的语义相匹配的语义,则确定第二指令为与所述语音指令相匹配的指令类型;若确定在所述第三语义集合中存在与所述语音指令的语义相匹配的语义,则确定第三指令为与所述语音指令相匹配的指令类型。

在本申请实施例中,根据所述指令类型,判断该语音指令是否与前台应用相关联,具体包括:

确定与所述语音指令相匹配的指令类型是否为第一指令,若是,则确定该语音指令与前台应用和后台应用均不关联,否则,确定该语音指令与前台应用或后台应用关联;或者

确定与所述语音指令相匹配的指令类型是否为第二指令,若是,则确定该语音指令与前台应用相关联,否则,确定该语音指令不与前台应用相关联;或者

确定与所述语音指令相匹配的指令类型是否为第三指令,若是,则确定该语音指令与后台应用相关联,否则,确定该语音指令不与后台应用相关联。

例如,当语音系统接收到“我要听音乐”时,确定该语音指令中存在与初 始指令对应的关键词“我要”,则确定该语音指令与初始指令(第一指令)相匹配,则确定语音指令与前台App和后台App均不关联。

上例中,假设音乐App展示音乐列表后,用户根据音乐App展示的界面内容,向语音系统输入“选择第三首”,此时,音乐App在前台运行,语音系统确定该语音指令中,存在与基于界面的过程指令对应的关键词“选择”,则确定语音指令与基于界面的过程指令相匹配,则确定该语音指令与前台App(前台音乐App)相关联。

上例中,假设音乐App在后台运行,当用户想要更换正在播放的音乐时,向语音系统输入“下一首”语音指令。语音系统确定该语音指令中,存在与基于状态的过程指令对应的关键词“下一”,则确定语音指令与基于状态的过程指令相匹配,则确定该语音指令与后台App(如后台音乐App)相关联。

在本申请实施例中,当确定出与语音指令相匹配的指令类型为基于界面的过程指令时,确定前台运行的App为语音指令对应的App,但是当前台运行的App不止一个时,如,语音系统通过多窗口运行多个App时,就需要从多个前台运行的App中确定出一个App作为语音指令对应的App。

则在本申请实施例中,从多个前台运行的App中确定出一个与语音指令相关联的App时,可监测前台运行的App,当监测到存在前台运行的App时,针对每一个前台运行的App,将该App对应的界面内容压入一个设定堆栈,不同的App对应不同的设定堆栈,也就是说,同一个App的界面内容在同一个设定堆栈,不同App的界面内容在不同的设定堆栈。当监测到前台运行的App退出前台运行时,将界面内容压出该App对应的设定堆栈;

在前台运行的各App中确定与语音指令相关联的App时,可从设定堆栈中,查找界面内容与语音指令的内容相匹配的设定堆栈,确定查找到的设定堆栈对应的App为语音指令对应的App。具体的,可确定语音指令的语义或关键词,在多个分别与前台运行的App对应的设定堆栈中的界面内容中,查找与语音指令的语义相匹配(相同或相近似)的界面内容,当确定某一个设定堆栈 中的界面内容中存在与语音指令的语义相匹配的界面内容,则将该确定出的设定堆栈对应的App确定为与该语音指令相关联的前台App。

例如,假设语音系统监测到前台运行的App中包括地图App和音乐App,音乐App的界面上包括歌手列表,地图App的界面上包括电子地图,将地图App和音乐App对应的界面内容分别压入设定堆栈1和设定堆栈2;若当前接收到的基于界面的过程指令为“选择刘德华”,则从设定堆栈1和设定堆栈2中存储的界面内容中查找刘德华,将包括“刘德华”的界面内容的设定堆栈2作为与语音指令的内容相匹配的设定堆栈,确定设定堆栈2对应的音乐App为与“选择刘德华”这一语音指令相关联的前台App。

在本申请实施例中,语音系统接收用户输入的语音指令之前,还需要接收启动指令,以等待并接收用户输入语音指令,该启动指令可以是接收来自于应用的启动指令,也可以接收不是来自应用的启动指令。进一步的,为了方便用户操作,语音系统接收到该启动指令之后,还可以向用户输出语音、文字、图标等类型的提示信息,以提示用户当前可以输入语音指令,例如可以向用户输出“请输入语音指令”的提示音。

在本申请实施例中,接收不是来自应用的启动指令时,可接收用户通过终端的物理按键、软按键(如点击触摸屏上显示的图标按键)输入的启动指令,还可接收用户通过生物特征信息(如,语音、面部特征、指纹等)输入的启动指令。也就是说,语音系统只要接收到通过物理按键、软按键输入的启动指令、用户通过合法的生物特征信息输入的启动指令,或者App发送的启动指令时,均可等待并接收用户输入语音指令。所述合法的生物特征信息为:与预存生物特征信息相匹配的生物特征信息。

在本申请实施例中,当接收App发送的启动指令,紧接着接收到用户输入的语音指令时,语音系统可确定发送启动指令的App需要执行相应的控制指令,因此,可直接确定发送启动指令的App为用户输入的语音指令对应的App,而不需要确定语音指令的指令类型,也不需要根据指令类型确定App。

当接收到的启动指令不是来自于App的启动指令时(即,通过物理按键、软按键、或生物特征信息发送的启动指令时),由于语音系统无法直接确定哪一个App需要执行相应的控制指令,因此,才会在预设的各指令类型中,确定出与语音指令相匹配的指令类型,并根据指令类型,确定语音指令对应的App。

在本申请实施例中,App执行控制指令之后,还需要向语音系统返回执行结果。

在本申请实施例中,当接收到预设指令时,可展示信息提示窗口,所述的预设指令可包括但不限于:用户输入的语音指令或者启动指令;具体的,当接收到启动指令时,展示信息提示窗口,进一步的,可在信息提示窗口中显示用于提示用户输入语音指令的标识符;

所述的信息提示窗口还用于显示提示信息,该提示信息可以为:语音系统接收到的语音指令,和/或App执行所述控制指令后返回的执行结果等;也就是说,在接收到用户输入的语音指令时,在已经展示的信息提示窗口中显示所述语音指令;在接收到App执行所述控制指令后返回的执行结果时,在已经展示的信息提示窗口中显示所述执行结果。

所述的信息提示窗口也称为语音窗口,这样,用户就可在信息提示窗口方便快捷的看到输入语音指令的标识符、App返回的执行结果等提示信息,当然,本申请实施例所述执行结果也可以以语音播报的方式输出给用户。

进一步的,App执行控制指令之后,向语音系统返回执行结果时,同时可以向语音系统返回一些提示信息,该提示信息用于提示语音系统需要展示执行结果、需要播报执行结果或者需要用户输入语音指令等,语音系统只有在接收到对应的提示信息时,才会执行相应的操作。

在本申请实施例中,为了避免信息提示窗口遮挡App界面内容,降低用户操作的便利性,所述信息提示窗口为不占据全屏的窗口,优选的,信息提示窗口可以为浮动窗口,这样,用户就可以根据自身的需求灵活的移动浮动窗口, 使其不影响用户想要获取的App展示的界面内容。

在本申请实施例中,为了进一步避免信息提示窗口遮挡App界面内容,则在接收到隐藏信息提示窗口指令时,隐藏已经展示的信息提示窗口;当接收到App执行控制指令后返回的执行结果时开始计时,若在第一预设时间段内未接收到用户输入的语音指令,隐藏或关闭所述窗口。

比如,第一预设时间段为2秒,当接收到App返回的执行结果时开始计时,2秒内未接收到用户输入的语音指令,则隐藏信息提示窗口。当然,在App返回的执行结果时,确定用户需要输入语音指令,当不需要用户输入语音指令时,可以不计时,也不隐藏信息提示窗口。此外,语音系统可以在窗口界面上显示隐藏图标,用户通过点击该隐藏图标,来输入隐藏信息提示窗口指令。

在本申请实施例中,隐藏或关闭信息提示窗口并不影响App的运行,例如,当音乐App在播放当前音乐A时,用户向语音系统输入“播放刘德华的音乐”语音指令,当音乐App通过信息展示窗口向用户展示“请输入目标音乐”的提示信息并开始计时,当语音系统在2秒内未接收到用户输入的语音指令时,关闭信息提示窗口,但是不会关闭音乐App,音乐App仍然可播放当前音乐。

当然,在本申请实施例中,显示提示信息时,不限于在信息提示窗口上显示,也可以在前台运行的应用的界面上显示,具体的,确定出所述语音指令对应的应用之后,所述方法还包括:

若当前存在前台运行的应用时,在所述前台运行的应用展示的界面上显示语音系统接收到的语音指令,和/或前台应用执行所述控制指令后返回的执行结果。

考虑到在实际应用场景中,App在执行控制指令的过程中,可能会无响应,为了避免App无响应时,用户不知情的等待,在本申请实施例中,语音系统从语音指令发送给确定出的App起开始计时,当在第二预设时间段内未接收到App返回的执行结果时,向用户展示提示信息,其中,该提示信息为出错 提示信息,用户获取该提示信息后,就可能会及时关闭App或进行重新输入语音指令等操作。

以下将结合图2具体说明本申请实施例提供的语音控制方法。

参见图2,为语音控制方法的具体流程示意图,包括以下步骤:

S201:接收启动指令,具体可通过物理按键、软按键、语音或App发送启动指令。

S202:输出提示音,等待语音指令输入并开始计时。

S203:展示信息提示窗口。

S204:判断是否超时(即计时时间是否大于第一预设时间),若是,执行步骤S219,否则,执行步骤S205。

S205:接收语音指令。

S206:判断启动指令是否来自App,若是,执行步骤S218,否则,执行步骤S207。

S207:确定语音指令的指令类型。

S208:指令类型为初始指令,从未启动的App中确定出与语音指令相关联的App。

S209:指令类型为基于界面的过程指令时,判断前台运行的App是否为一个,若是,执行步骤S210,否则,执行步骤S211。

S210:确定前台运行的App为与语音指令相关联的前台App。

S211:从设定堆栈中,查找界面内容与所述语音指令的内容相匹配的设定堆栈,确定查找到的设定堆栈对应的App,为与语音指令相关联的前台App。

S212:指令类型为基于状态的过程指令时,在后台运行的App中(即后台App中),确定与语音指令相关联的后台App。

S213:确定语音指令对应的控制命令。

S214:将控制命令发送给确定出的语音指令对应的App并开始计时。

S215:判断是否超时(即计时时间是否大于第二预设时间),若是,执行 步骤S216,否则,执行步骤S217。

S216:返回错误结果。

S217:展示App返回的执行结果。

S218:将发送启动指令的App确定为所述语音指令对应的App。

S219:隐藏信息提示窗口。

以上为本申请实施例提供的语音控制方法,基于同样的思路,本申请实施例还提供了一种语音控制装置,如图3所示。

图3为本申请实施例提供的语音控制装置,具体包括:

第一接收模块31,用于接收用户输入的语音指令;

判断模块32,用于判断该语音指令是否与前台应用相关联;

控制模块33,用于在所述判断模块判断语音指令与前台应用相关联时,将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;或者在所述判断模块判断语音指令与前台应用不相关联时,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令。

可选的,判断模块32具体用于:在预设的各指令类型中,确定出与所述语音指令相匹配的指令类型;根据所述指令类型,判断该语音指令是否与前台应用相关联。

可选的,所述装置还包括:确定模块34,用于当所述判断模块32判断所述语音指令与前台应用和后台应用均不关联时,从未启动的应用中确定出与所述语音指令相关联的应用;将前台运行应用切换至后台运行,启动与所述语音指令相关联的应用并在前台运行;将语音指令对应的控制指令发送给前台运行的应用,以使得所述应用执行所述控制指令。

可选的,所述预设的各指令类型包括:与界面内容和后台应用无关的第一指令、与界面内容相关联的第二指令、与后台应用相关联的第三指令;

所述判断模块32具体用于:确定所述语音指令的语义;根据所述语音指 令的语义,在预设的各指令类型分别对应的语义集合中,查找是否存在与所述语音指令的语义相匹配的语义,若是,则确定查找出的语义所在的语义集合对应的指令类型为与所述语音指令相匹配的指令类型。

可选的,所述判断模块32具体用于:确定与所述语音指令相匹配的指令类型是否为第一指令,若是,则确定该语音指令与前台应用和后台应用均不关联,否则,确定该语音指令与前台应用或后台应用关联;或者

确定与所述语音指令相匹配的指令类型是否为第二指令,若是,则确定该语音指令与前台应用相关联,否则,确定该语音指令不与前台应用相关联;或者

确定与所述语音指令相匹配的指令类型是否为第三指令,若是,则确定该语音指令与后台应用相关联,否则,确定该语音指令不与后台应用相关联。

可选的,所述装置还包括:

内容压入模块35,用于当监测到存在前台运行的应用时,将所述前台运行的应用对应的界面内容压入与该前台运行的应用对应的设定堆栈;

内容压出模块36,用于当监测到所述前台运行的应用退出前台运行时,将所述界面内容压出所述设定堆栈;

所述判断模块32,具体用于:当前台运行的应用包括不止一个时,从设定堆栈中,查找界面内容与所述语音指令的内容相匹配的设定堆栈,确定所述查找到的设定堆栈对应的应用为与所述语音指令相关联的前台应用。

可选的,所述装置还包括:

第二接收模块37,用于接收用户输入的语音指令之前,接收不是来自于应用的启动指令,以等待用户输入语音指令。

可选的,所述装置还包括:

第三接收模块38,用于接收应用发送的启动指令,以等待用户输入语音指令;

所述控制模块33还用于:将语音指令对应的控制指令发送给发送启动指 令的应用,以使得所述应用执行所述控制指令。

可选的,所述装置还包括:

第一展示模块39,用于在接收到启动指令时,展示信息提示窗口,并在所述信息提示窗口中显示用于提示用户输入语音指令的标识符;

还包括显示模块40,用于在接收到用户输入的语音指令时,在已经展示的信息提示窗口中显示所述语音指令,在接收到应用执行所述控制指令后返回的执行结果时,在已经展示的信息提示窗口中显示所述执行结果;

还包括隐藏模块41,用于在接收到隐藏信息提示窗口指令时,隐藏已经展示的信息提示窗口,在第一预设时间段内未接收到用户输入的语音指令时,隐藏已经展示的信息提示窗口。

可选的,所述信息提示窗口为不占据全屏的浮动窗口。

可选的,所述装置还包括:

第二展示模块42,用于从所述控制指令发送给确定出的所述应用起开始计时,当在第二预设时间段内未接收到应用返回的执行结果时,向用户展示提示信息。

可选的,所述装置还包括:第三展示模块43,用于确定出所述语音指令对应的应用之后,若当前存在前台运行的应用时,在所述前台运行的应用展示的界面上显示语音系统接收到的语音指令,和/或前台应用执行所述控制指令后返回的执行结果。

可选的,所述语音系统为语音操作系统,该语音操作系统用于控制安装于该语音系统中的任意一个应用执行所述控制指令。

本申请实施例提供的语音控制方法及装置,该方法语音系统接收用户输入的语音指令,并判断该语音指令是否与前台应用相关联;若是,则将与所述语音指令对应的控制指令发送给所述前台应用,以使得所述应用执行所述控制指令;否则,在后台应用中确定出与所述语音指令相关联的应用,将语音指令对应的控制指令发送给确定出的后台应用,以使得所述应用执行所述控制指令, 这样,该语音系统不仅可控制前台应用执行基于该前台应用的语音指令,还可以控制后台应用执行进阶语音指令,从而,可有效提高语音控制的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1