语音指令处理方法及装置与流程

文档序号:13389196阅读:285来源:国知局
语音指令处理方法及装置与流程

本发明涉及信息技术领域的语音识别技术,尤其涉及一种语音指令处理方法及装置。



背景技术:

语音助手是一类可以通过智能对话与即时问答的智能交互方式来实现用户在手机上进行查询与操作的应用,在实际应用中,需要语音助手支持多语言自适应切换功能。

现有技术中,语音识别技术涉及智能电视软件平台,公开了一种基于智能电视平台的多语音引擎切换方法,该方法实现自动查找当前识别效率最高的语音引擎并进行切换,具体的说:当用户运行语音应用程序使用语音识别功能时,语音引擎选择模块通过语音应用接口获取采集到的语音数据,然后将语音数据发送给每一个语音引擎模块,记录并比较各个语音引擎模块返回识别结果的响应时间,选择响应时间最短的语音引擎模块进行切换;此外,该语音识别技术还公开了相应的切换系统,适用于在智能电视中实现快速语音识别功能。

语音助手的语音功能和终端系统的语言环境存在耦合关系,两者需要结合才能达到使用目的,例如,语音打开应用,应用名是随着系统语言的改变而改变的,只有用户说出当前语言的应用名,语音引擎才能识别。但是,现有技术是根据人的语音数据,由响应时间的长短来决定待切换的语音引擎,由于终端系统的语言并没有改变,因此和系统语言相耦合的内容部分无法识别,可能导致部分语音功能无法使用。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种语音指令处理方法及装置,能实现语音引擎的自适应切换,提高对用户语音指令的识别率。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种语音指令处理方法,方法包括:

语音指令处理装置获取终端设备的当前系统语言类型,及监测所述当前系统语言类型是否发生改变;

所述语音指令处理装置检测到所述当前系统语言类型发生改变时,获取改变后的系统语言类型;

所述语音指令处理装置将当前语音引擎切换为与所述改变后的系统语言类型对应的目标语音引擎;

所述语音指令处理装置使用所述目标语音引擎对用户语音指令进行处理。

在上述方案中,所述语音指令处理装置将当前语音引擎切换为与所述改变后的系统语言类型对应的目标语音引擎包括:

所述语音指令处理装置将所述改变后的系统语言类型与预置配置文件的各语言类型进行匹配;

所述语音指令处理装置判定所述改变后的系统语言类型与预置配置文件的语言类型相匹配时,将当前语音引擎切换为与所述改变后的系统语言类型对应的目标语音引擎。

在上述方案中,所述方法还包括:

所述语音指令处理装置判定所述改变后的系统语言类型与预置配置文件的各语言类型不匹配时,通过所述终端设备的用户界面对用户进行提示。

在上述方案中,所述方法还包括:

所述语音指令处理装置采集用户的语音指令;

所述语音指令处理装置解析采集到的语音指令,得到所述语音指令的语言类型;

所述语音指令处理装置判定所述语音指令的语言类型与所述改变后的系统语言类型不匹配时,通过所述终端设备的用户界面对用户进行提示。

在上述方案中,所述方法还包括:

所述语音指令处理装置在所述终端设备开机之后,获取所述终端设备的当前系统语言类型;

所述语音指令处理装置将所述当前系统语言类型与预置配置文件的各语言类型进行匹配;

所述语音指令处理装置判定所述当前系统语言类型与预置配置文件的语言类型相匹配时,加载与所述当前系统语言类型对应的语音引擎。

第二方面,本发明实施例提供了一种语音指令处理装置,装置包括:

检测模块,用于获取终端设备的当前系统语言类型,及监测所述当前系统语言类型是否发生改变;

获取模块,用于检测到所述当前系统语言类型发生改变时,获取改变后的系统语言类型;

切换模块,用于将当前语音引擎切换为与所述改变后的系统语言类型对应的目标语音引擎;

处理模块,用于使用所述目标语音引擎对用户语音指令进行处理。

在上述方案中,所述切换模块,具体用于:

将所述改变后的系统语言类型与预置配置文件的各语言类型进行匹配;

判定所述改变后的系统语言类型与预置配置文件的语言类型相匹配时,将当前语音引擎切换为与所述改变后的系统语言类型对应的目标语音引擎。

在上述方案中,所述装置还包括:

第一提示模块,用于判定所述改变后的系统语言类型与预置配置文件的各语言类型不匹配时,通过所述终端设备的用户界面对用户进行提示。

在上述方案中,所述装置还包括:

第二提示模块,用于采集用户的语音指令;

解析采集到的语音指令,得到所述语音指令的语言类型;

判定所述语音指令的语言类型与所述改变后的系统语言类型不匹配时,通过所述终端设备的用户界面对用户进行提示。

在上述方案中,所述装置还包括:

判断模块,用于终端设备开机之后,获取终端设备的当前系统语言类型;

将所述当前系统语言类型与预置配置文件的各语言类型进行匹配;

判定所述当前系统语言类型与预置配置文件的语言类型相匹配时,加载与所述当前系统语言类型对应的语音引擎。

附图说明

图1为本发明实施例中语音指令处理方法的一种可选的流程示意图;

图2为本发明实施例中语音指令处理方法的另一种可选的流程示意图;

图3为本发明实施例中语音指令处理装置的系统架构示意图;

图4为本发明实施例中语音指令处理装置的一种可选的结构示意图1;

图5为本发明实施例中语音指令处理装置的一种可选的结构示意图2;

图6为本发明实施例中语音指令处理装置的一种可选的结构示意图3;

图7为本发明实施例中语音指令处理装置的一种可选的结构示意图4。

具体实施方式

在本发明的各种实施例中:语音指令处理装置通过获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变,语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型,语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎,语音指令处理装置使用目标语音引擎对用户语音指令进行处理。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供一种语音指令处理方法,可以应用于希望避免在多语言终端设备上语音指令处理装置的部分功能无法使用,提高对语音指令的识别率的场景中;本发明实施例中语音指令处理方法的执行主体可以为语音指令处理装置,语音指令处理装置可以采用下列方式来实施,例如:在移动终端中实施语音指令处理装置的组件,也可以在移动终端侧以耦合的方式实施语音指令处理装置的组件。

语音指令处理装置在终端设备开机之后,获取终端设备的当前系统语言类型,语音指令处理装置将当前系统语言类型与预置配置文件的各语言类型进行匹配,语音指令处理装置判定当前系统语言类型与预置配置文件的语言类型相匹配时,加载与当前系统语言类型对应的语音引擎。

这里,加载与当前系统语言类型对应的语音引擎的可行的实现方式可以包括以下任意一种:

方式1、语音指令处理装置注销原有语音引擎后,将原有语音引擎切换为与当前系统语言类型对应的目标语音引擎。

方式2、语音指令处理装置将原有语音引擎切换为与当前系统语言类型对应的目标语音引擎后,注销原有语音引擎。

方式3、语音指令处理装置直接加载与当前系统语言类型对应的目标语音引擎。

本发明实施例以在终端设备开机后,语音指令处理装置的语音功能在多语言终端上自适应方法为例,图1为本发明实施例中语音指令处理方法的一种可选的流程示意图;语音指令处理方法包括:

步骤101:语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变。

系统语言类型为终端设备配置的系统语言的类型,例如可以是中文、英文、西班牙文等,本发明实施例对此并不具体限定;语音指令处理装置对终端设备的系统语言类型进行实时监测,判断终端设备的系统语言是否发生切换。

步骤102:语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型。

当系统语言发生切换时,终端设备上安装的与系统语言类型相耦合的系统程序、第三方应用程序的语言类型会随着系统语言的切换而发生改变,由此,需要获取改变后的系统语言类型。

步骤103:语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎。

当前语音引擎为当前系统语言环境中语音指令处理装置进行语音识别功能时所使用的语音引擎,其中,语音引擎包括语音识别引擎和语音播报引擎;当语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎时,则目标语音引擎成为改变后的系统语言环境中的当前语音引擎;改变后的系统语言类型成为当前系统语言环境的语言类型。

步骤104:语音指令处理装置使用目标语音引擎对用户语音指令进行处理。

步骤104的一种可行的实现方式包括:语音指令处理装置采集用户的语音指令;语音指令处理装置解析采集到的语音指令,得到语音指令的语言类型;语音指令处理装置判定语音指令的语言类型与改变后的系统语言类型不匹配时,通过终端设备的用户界面对用户进行提示。

语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎后,用户启动语音指令处理装置的语音功能,目标语音识别引擎对语音指令处理装置采集到的语音指令进行解析,其中,解析包括对语音指令的语言类型、语义的分析;语音指令处理装置中每条语音指令和对应的结果的反馈都依次在语音指令处理装置的交互列表中列出,交互列表包括:语音指令文本、应用程序文本、确认框、选择框、自定义视图;目标语音播报引擎根据文本的内容进行播报。

这里,通过终端设备的用户界面对用户进行提示的可行的实现方式至少包括以下一种:

方式1、通过语音播报引擎对用户进行提示;

方式2、在语音指令处理装置的交互界面显示对用户进行提示。

本发明实施例通过语音指令处理装置语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变,语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型,语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎,语音指令处理装置使用目标语音引擎对用户语音指令进行处理,避免了因语音指令处理装置的语音引擎不能随着终端设备的系统语言的改变而进行切换所引起的部分与系统语言耦合的语音功能无法使用,实现了多语音引擎的自动切换,如此,能提高对用户语音指令的识别率,完善语音指令处理装置的语音功能。

本发明实施例,可以应用于希望在将语音指令处理装置的语音引擎切换为与终端设备的当前系统语言类型对应的目标语音引擎时,节省搜索目标语音引擎的时间的场景中。

图2为本发明实施例中语音指令处理方法的另一种可选的流程示意图:

步骤201:语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变。

步骤202:语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型。

步骤203:语音指令处理装置将改变后的系统语言类型与预置配置文件的各语言类型进行匹配。

步骤204:语音指令处理装置判定改变后的系统语言类型与预置配置文件的语言类型相匹配时,将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎。

上述,判定改变后的系统语言类型与预置配置文件的语言类型相匹配时,注销当前语音引擎并加载与改变后的系统语言类型匹配的预置配置文件的语言类型对应的预置语音引擎,其中加载语音引擎操作包括:加载与改变后的系统语言类型对应的语法文件、系统应用/第三方应用的应用名/程序包名、本地音乐名称等,本发明实施例对此并不具体限定。

这里,语音指令处理装置在终端设备中预置多种语言的语音引擎,并根据语音引擎支持的语言类型在终端设备中预置配置文件,其中,配置文件包括了与语音引擎对应的语言类型和该语言类型下的语音业务应用,其中所属同一语言类型的配置文件和语音引擎具有一一对应关系。

实际中,上述语音指令处理装置将改变后的系统语言类型与预置配置文件的各语言类型进行匹配处理的另一种可行的实现方式包括:语音指令处理装置判定改变后的系统语言类型与预置配置文件的各语言类型不匹配时,通过终端设备的用户界面对用户进行提示。

步骤205:语音指令处理装置使用目标语音引擎对用户语音指令进行处理。

本发明实施例通过语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变,将改变后的系统语言类型与预置配置文件的各语言类型进行匹配,能够节省搜索语音指令处理装置中是否存在与改变后的系统语言类型对应的目标语音引擎的时间,判定改变后的系统语言类型与预置配置文件的语言类型相匹配时,将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎,实现了语音指令处理装置的语音引擎的自动切换,提高了对用户语音指令的识别率。

本发明实施例,可以应用于希望在多语言终端上实现语音功能的自适应的场景中。

本发明实施例中主要从以下几个方面实现多语音引擎的切换:

1、语音功能包括语音识别和语音播报,不同的语言对应不同的语音识别引擎和语音播报引擎;

2、手机里事先预置多种语言的语音识别引擎和语音播报引擎,比如手机需要支持英文、西班牙文,日文,那就需要分别预置英文、西班牙文、日文的语音识别引擎和语音播报引擎;

3、手机里会有一个配置文件,该配置文件指定了支持的语言类型和每个语言下支持的语音子功能;

4、手机开机系统初始化时,会首先判断当前手机的语言环境是否支持语音助手,其判断方法是读配置文件里是否有对应的语言类型,如果有,则初始化对应的语音识别引擎和播报引擎;

5、在使用过程中,如果用户需要切换到其他语言,在切换的过程中,会重新判断新的语言环境是不是配置文件里所支持的语言,如果是,则切换语音识别引擎和语音播报引擎;

6、如果当前的语言环境不支持语音助手,则会有不支持的提示;

7、一种语言环境下只能说对应的语言才能识别以及播报,不支持混合识别;

本发明实施例提供了一种语音指令处理装置,该装置的系统架构图,如图3所示,该系统主要涉及的几个模块功能描述如下:

多语言语音识别、播报引擎301:语音识别引擎主要应用于负责对用户说出的语音指令进行解析的场景中;语音播报引擎主要应用于负责播报文字内容的场景中;每一种语言下的识别引擎和播报引擎都有对应模型以及相关资源,引擎还有独立的本地识别语法文件。

多语言功能配置文件302:主要应用于指定支持的语言类型和每个语言下支持的语音子功能的场景中。

多语言切换模块303:该模块负责终端主要应用于开机检测当前语言类型,然后加载对应语言的语音识别引擎和播报引擎;监听系统语言的切换,一旦发生切换,判断切换后的语言是否是支持的语言,如果是,则注销原来的语音识别和播报引擎资源,加载新语言的识别和播报引擎的场景中。

本发明实施例中系统交互方法,具体包括以下步骤:

步骤1:预置需要支持的语音识别引擎和播报引擎的相关资源文件,资源文件主要包括语言模型、语法文件等。

步骤2:预置配置文件,该配置文件指定了支持的语言类型和每个语言下支持的语音子功能,类似如下格式:

domains_usa=call,app,smsreport,switchsettings,sensorcall,music,voice_print,voice_camera,voice_contact,voice_alarm_clock,voice_incoming_call,

domains_espana=call,app,smsreport,switchsettings,sensorcall,music,voice_print,voice_camera,voice_alarm_clock,voice_contact,voice_incoming_call,

其中,domains_usa和domains_espana代表支持的语言类型,分别为美式英语和西班牙语,后面的英文单词代表该语言类型下支持的语音子功能,比如有:打电话、短信播报、声控音乐、声控拍照等。

步骤3:当终端启动初始化时,语音切换模块会获取当前的语言类型,然后判断该语言类型是否是配置文件里支持语言类型,如果是,则开始初始化语音识别引擎和播报引擎,初始化语音识别引擎包括加载本地语法文件、加载各应用名、加载名片夹信息、加载本地音乐名等。当加载完成以后,用户即可以说该语言的语音指令,使用语音助手功能。

步骤4:语音切换模块会监听系统语言是否发生变化,一旦用户切换了系统语言,则会触发语音引擎的同步切换。当发生语言切换后,语音切换模块会获取切换后的语言类型,然后判断该语言类型是否是配置文件里支持语言类型,如果是,则注销原有语音引擎的资源,重新初始化新语言的语音识别引擎和播报引擎,包括加载本地语法文件、加载各应用名、加载名片夹信息、加载本地音乐名等。当加载完成以后,用户可以说该语言的语音指令,使用语音助手功能。

本发明实施例通过对系统语言环境的实时监测,当检测到系统语言发生切换时,判断新的语言环境是否为配置文件里所支持的语言,确定新的语言环境为配置文件里所支持的语言时,则切换语音识别引擎和语音播报引擎,实现了语音功能在多语言终端上的自适应,提高了对用户语音指令的识别率。

图4为本发明实施例中语音指令处理装置的一种可选的结构示意图1;本发明实施提供的语音指令处理装置41,包括:

检测模块401,用于获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变;

获取模块402,用于检测到当前系统语言类型发生改变时,获取改变后的系统语言类型;

切换模块403,用于将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎;

处理模块404,用于使用目标语音引擎对用户语音指令进行处理。

本发明实施例通过获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变,语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型,语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎,语音指令处理装置使用目标语音引擎对用户语音指令进行处理,从而可以避免语音指令处理装置的部分语音功能无法使用,实现语音指令处理装置的语音引擎在多语言终端设备上的自动切换,如此,可以提高语音指令处理装置对用户语音指令的识别率。

在上述实施例的基础上,切换模块404,具体用于:将改变后的系统语言类型与预置配置文件的各语言类型进行匹配;判定改变后的系统语言类型与预置配置文件的语言类型相匹配时,将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎。

在上述实施例的基础上,如图5所示,本发明实施例提供的语音指令处理装置42在包括语音指令处理装置41中的检测模块401、获取模块402、切换模块403和处理模块404基础上,语音指令处理装置还包括:

第一提示模块405,用于判定改变后的系统语言类型与预置配置文件的各语言类型不匹配时,通过终端设备的用户界面对用户进行提示。

在上述实施例的基础上,如图6所示,本发明实施例提供的语音指令处理装置43在包括语音指令处理装置41中的检测模块401、获取模块402、切换模块403和处理模块404基础上,语音指令处理装置还包括:

第二提示模块406,用于采集用户的语音指令;解析采集到的语音指令,得到语音指令的语言类型;判定语音指令的语言类型与改变后的系统语言类型不匹配时,通过终端设备的用户界面对用户进行提示。

在上述实施例的基础上,如图7所示,本发明实施例提供的语音指令处理装置44在包括语音指令处理装置41中的检测模块401、获取模块402、切换模块403和处理模块404基础上,语音指令处理装置还包括:

判断模块407,用于终端设备开机之后,获取终端设备的当前系统语言的类型;将当前系统语言的类型与预置配置文件的各语言类型进行匹配;判定当前系统语言的类型与预置配置文件的语言类型相匹配时,加载与当前系统语言类型对应的语音引擎。

在实际应用中,检测模块401、获取模块402、切换模块403、处理模块404、第一提示模块405、第二提示模块406、判断模块407均可由位于语音指令处理装置的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。

本发明实施例记载一种计算机可读介质,可以为rom(例如,只读存储器、flash存储器、转移装置等)、磁存储介质(例如,磁带、磁盘驱动器等)、光学存储介质(例如,cd-rom、dvd-rom、纸卡、纸带等)以及其他熟知类型的程序存储器;计算机可读介质中存储有计算机可执行指令,当执行指令时,引起至少一个处理器执行包括以下的操作:

语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变;

语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型;

语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎;

语音指令处理装置使用目标语音引擎对用户语音指令进行处理。

综上,本发明实施例的语音指令处理方法及装置,通过语音指令处理装置获取终端设备的当前系统语言类型,及监测当前系统语言类型是否发生改变,语音指令处理装置检测到当前系统语言类型发生改变时,获取改变后的系统语言类型,语音指令处理装置将当前语音引擎切换为与改变后的系统语言类型对应的目标语音引擎,语音指令处理装置使用目标语音引擎对用户语音指令进行处理,避免了因语音指令处理装置的语音引擎不能随着终端设备的系统语言的改变而进行切换所引起的部分与系统语言耦合的语音功能无法使用,实现了多语音引擎的自动切换,如此,能提高对用户语音指令的识别率,完善语音指令处理装置的语音功能。

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

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

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

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

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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