一种基于Android系统的语音控制方法及系统的制作方法

文档序号:10472272阅读:208来源:国知局
一种基于Android系统的语音控制方法及系统的制作方法
【专利摘要】本发明公开了一种基于Android系统的语音控制方法及系统,当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类;根据所述语音语义文本信息所属语义分类确定所述语音指令对应的功能行为特征值;根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。本发明将语音识别功能与Android系统耦合,解除其与各个应用的耦合。由于Android系统的状态相对是稳定的,核心机制发生变化的可能性较少,这样当语音助理或者需要响应全程语音的应用其中一方发生变化的时候,另外一方无需改动或者改动较少,降低了维护成本。
【专利说明】
一种基于Andro id系统的语音控制方法及系统
技术领域
[0001 ]本发明涉及语音控制技术领域,特别涉及一种基于Android系统的语音控制方法及系统。
【背景技术】
[0002]全程语音交互要求语音助手知道当前用户正在交互的应用和界面,还需知道应用界面中所显示的信息,以便在做语音识别和语义理解时能优先命中当前界面上的功能,并实现语音调用。如图1所示,现有全程语音交互方法的工作过程如下:
al、启动语音交互时,语点以Broadcast消息方式通知给应用,来告知当前应用开始提交场景信息;
bl、当应用如果处于前台显示时,通过startservice方式将当前的场景信息提交给语占.V ,
Cl、语音识别时将结合场景信息,优先命中场景中的功能,语音助手可通过实现约定的startActivity、startService、sendBroadcast三种方式来调用应用,应用收到调用后,完成用户所要的功能。
[0003]但这种方案的不足在于,所有想要响应语音的应用都需要与语音助理对接适配,增加了全程语音与各个应用的耦合性。其工作量大,并且工作量大,可移植和可维护性太差。
[0004]因而现有技术还有待改进和提高。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于Android系统的语音控制方法及系统,其解决现有全程语音交互方法存在的所有想要响应语音的应用都需要与语音助理对接适配,增加了全程语音与各个应用的耦合性的问题。
[0006]为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于Andro id系统的语音控制方法,其包括:
51、当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类;
52、根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category;
53、根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。
[0007]所述基于Android系统的语音控制方法,其中,在所述步骤A之前包括:
SO、预先建立用于存储智能终端内功能行为特征值与activity的对应关系的语音映射表。
[0008]所述基于Android系统的语音控制方法,其中,所述步骤SO具体包括: 501、调用Android系统的PackageManager模块获取Android系统中activity支持的功能行为特征值;
502、将功能行为特征值与activity的对应关系存储于语音映射表。
[0009]所述基于Android系统的语音控制方法,其中,所述步骤SI之前还包括:
S11、当接收到语音指令时,调用Andro id系统的PackageManager模块获取Andro id系统中所有ac t i V i ty支持的功能行为特征值更新语音映射表。
[00?0]所述基于Android系统的语音控制方法,其中,所述步骤S3具体包括:
531、根据功能行为特征值创建一个意图1ntent对象;
532、向所述意图1ntent对象填加需要传递的数据;
533、调用android系统的startActivity(intent)启动所述意图1ntent对应的应用程序的功能模块。
[0011 ] 一种基于Android系统的语音控制系统,其包括:
获取模块,用于当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类;
确定模块,用于根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category;
调用模块,用于根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。
[0012]所述基于Android系统的语音控制系统,其还包括:
预设模块,用于预先建立用于存储智能终端内功能行为特征值与activity的对应关系的语音映射表。
[0013]所述基于Android系统的语音控制系统,其中,所述预设模块包括:
获取单元,用于调用Android系统的PackageManager模块获取Android系统中activity支持的功能行为特征值;
存储单元,用于将功能行为特征值与activity的对应关系存储于语音映射表。
[0014]所述基于Android系统的语音控制系统,其还包括:
更新模块,用于当接收到语音指令时,调用Android系统的PackageManager模块获取Android系统中所有activity支持的功能行为特征值更新语音映射表。
[0015]所述基于Android系统的语音控制系统,其中,所述调用模块包括:
创建单元,用于根据功能行为特征值创建一个意图1ntent对象;
填加单元,用于向所述意图1ntent对象填加需要传递的数据;
启动单元,用于调用android系统的startActivity (intent)启动所述意图1ntent对应的应用程序的功能模块。
[0016]有益效果:与现有技术相比,本发明提供一种基于Android系统的语音控制方法及系统,当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类;根据所述语音语义文本信息所属语义分类确定所述语音指令对应的act1n和category;根据所述act1n和category在预设语音映射表内查找其对应的activity,并通过Andro id系统调用所述activity。本发明将语音识别功能与Android系统親合,解除其与各个应用的親合。由于Android系统的状态相对是稳定的,核心机制发生变化的可能性较少,这样当语音助理或者需要响应全程语音的应用其中一方发生变化的时候,另外一方无需改动或者改动较少,降低了维护成本。
【附图说明】
[0017]图1是现有全程语音交互方法的流程图。
[0018]图2为本发明提供的基于Android系统的语音控制方法较佳实施例的流程图。
[0019]图3为本发明提供的基于Android系统的语音控制方法较佳实施例的交互图。
[0020]图4为本发明提供基于Android系统的语音控制系统的结构原理图。
【具体实施方式】
[0021]本发明提供基于Android系统的语音控制方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0022]下面结合附图,通过对实施例的描述,对
【发明内容】
作进一步说明。
[0023]图2给出本发明提供基于Android系统的语音控制方法较佳实施例的流程图,图3给出发明提供的基于Android系统的语音控制方法较佳实施例的交互图。请参照图2和图3所示,所述方法包括:
SlOO、当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类。
[0024]具体地,所述语音指令时可以智能终端自带的语音输入功能输入的语音指令,也可以是通过外接的语音输入设备输入的语音指令。所述外接的语音输入设备可以是智能设备。所述智能设备可以是手机、平板电脑等可借助即时通讯语音模块或多屏互动语音模块进行语音输入的终端。当然,所述智能设备可以通过无线/有线方式与接收语音指令的智能终端连接,并将语音指令发送至该智能终端。例如,通过WIF1、蓝牙、红外线等。所述智能终端可以是手机、平板电脑等智能移动终端,也可以是智能电视等智能家电。
[0025]进一步,当用户使用智能设备作为语音输入设备输入语音指令时,在用户输入语音指令的同时,语音输入设备将用户正在输入的语音指令实时转化为音频流并发送给智能终端。所述智能终端在接收到所述语音指令的音频流时,将所述音频流发送到语音识别器,其中,所述语音识别器可以是所述智能终端中的一个模块或单元,也可以是第三方的一个语音识别服务器。所述语音识别器接收所述音频流后对其进行识别并输出最终的识别结果,即语音文本信息。然后,所述语音识别器对应文本信息进行语音分类,将所述语音文本信息及所述语音指令所示的语音分类返回给所述智能终端。
[0026]如果语音识别器为是第三方的一个语音识别服务器,那么当智能终端接收到语音指令时,智能终端首先检查与语音识别器之间网络是否连接,若网络未连接,则弹出提示并退出;若网络连接,则智能终端接收语音,同时将录音数据上传服务器。当智能终端接收语音结束后,服务器返回解析得到的语义结果。
[0027]此外,还存在这样的识别场景:所述智能终端在接收完所述语音指令的音频流后,将所述音频流发送到语音语义识别服务器,所述语音语义识别服务器将输入的音频流进行语音识别后再进行语义识别;在经过语音语义识别得到最终的语义文本信息后,将所述语义文本信息返回给所述智能终端。
[0028]S200、根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category。
[0029]具体地,所述语音语义文本信息是指语音指令分析理解出关键行为动词和关键搜索对象,然后根据对语音指令分析理解出关键行为动词确定所述语音指令所属的语音分类,最后根据语音语义文本信息及其所属语义分类确定所述语音指令对应的act1n。所述act1n指的是智能终端安装的应用程序调用相应行为功能的特征值。安卓系统可以根据所述act1n启功其对应的activity。例如,语音语义文件信息中的行为动词为搜索,语音语义文本信息为北平无战事,那么根据语音分类及语音语义文本信息获取对应的act1n,所述act1n为搜索。根据act1n确定语音映射表内与其对应的具有搜索功能的应用程序中搜索功能对应的功能行为特征值,如〈act1nandroid: name = 〃com.tcl.vod.act1n.vodsearch"/〉。所示功能行为特征值为调用智能终端内各应用程序的功能的指令,android系统根据所述指令可以获取与其对应的功能activity,并启动所述activity ο
[0030]进一步,由于智能终端中的应用程序可以多个应用具有搜索功能,用户在语音输入时仅输入行为act1n,根据所述act1n模糊查找语音映射表内与其相对应的功能行为特征值时,语音映射表内可能存在多少与其对应的功能行为特征值。当存在多少功能行为特征值时,可以弹出提示窗口,提示用户可以使用的应用程序,并将用户选择的应用程序作为约束条件,获取所述约束条件和act1n获取对应的功能行为特征值,这样可以提高语音控制的成功率。用户在语音输入时可以输入行为act1n,以及行为的一个约束category,通过act1n和category精确查找语音映射表内所述act 1n对应的功能行为特征值。例如,当语音语义文本信息中的act1n为搜索,那么对应语音映射表内的行为特征值,可以是百度搜索、TCL搜索等。当语音语义文本信息中包括act1n为搜索,category为TCL,那么就会精确的查找到TCL搜索。
[0031]所述语音映射表是预先建立的,用于存储智能终端内应用程序具有的功能的功能行为特征值。所述语音映射表内的功能行为特征值是通过Android系统的PackageManager模块调取。由于安卓系统中的应用程序的信息都在应用程序的特定文件AndroidManifest.xml中有定义,并且可以通过Andro id系统的PackageManager模块获取存在于AndroidManifest.xml文件中的Android系统中应用程序的信息,并查询Applicat 1n相关信息(applicat1n,activity ,receiver,service ,provider及相应属性等)、查询已安装应用、增加或删除permiss1n、清除用户数据、缓存,代码段等。因而,所述语音映射表的建立可以通过如下步骤:
H1、调用Android系统的PackageManager模块获取Android系统中应用程序的功能行为特征值;
H2将获取的应用程序的功能行为特征值存储于语音映射表。
[0032]进一步,在智能终端使用过程中,用户可能会对智能终端内的应用程序进行删除或者安装信息的应用程序。因此,在接收到语音指令时,调用Andro id系统的PackageManager模块获取Android系统中应用程序的功能行为特征值更新语音映射表,以保证当前的语音映射表中的功能行为特征值与智能终端内安装的应用程序所具有的功能是相对应的,提供语音控制的成功率。
[0033]S300、根据所述功能行为特征值,通过Android系统调用所述功能行为特征值相对应的应用程序的功能模块。
[0034]具体地,对应每个功能行为特征值,如,<act1nandroid:name = 〃com.tcl.vod.act1n, vodsearch"/〉,在android系统中,其都对应于一个功能行为,android系统可以根据功能行为特征值调用其相应的功能模块。所述功能行为特征与功能的对应关系是存储于android系统内的,当获取到功能行为特征时,android系统就可以根据该功能行为特征值调用其对应的功能。在android系统中,可以通过android标准的StartActivity函数来调所述功能行为特征值对应的功能。在本实施例中,语音语义文本信息中可能还存储有关键搜索对象,在查询到act1n对应的行为特征值后,新建一个Intent,并叫关键搜索对象,在通过startActivity启动相应的功能。其具体过程可以如下:
Ml、根据功能行为特征值创建一个意图1ntent对象;
M2、向所述意图1ntent对象填加需要传递的数据;
M3、调用android系统的startActivity (intent)启动所述意图1ntent对应的应用程序的功能t吴块。
[0035]所述Intent机制的Intent分为显式Intent,其是在启动的时候指定组件的类型,这个一般适用于自己的App。隐式Intent,其是指明act 1n,然后传入Intent,适用于非己App。当创建一个隐式的Intent对象,安卓系统会通过Intent过滤器查找manifest文件寻找合适的App。
[0036]本发明还提供了一种基于Android系统的语音控制系统,如图4所示,其包括:
获取模块100,用于当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类;
查找模块200,用于根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category;
调用模块300,用于根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。
[0037]所述基于Android系统的语音控制系统,其还包括:
预设模块,用于预先建立用于存储智能终端内功能行为特征值与activity的对应关系的语音映射表。
[0038]所述基于Android系统的语音控制系统,其中,所述预设模块包括:
获取单元,用于当智能终端开机时,调用Android系统的PackageManager模块获取Andr ο i d系统中应用程序的功能行为特征值;
存储单元,用于将功能行为特征值与activity的对应关系存储于语音映射表。
[0039]所述基于Android系统的语音控制系统,其还包括:
更新模块,用于当接收到语音指令时,调用Android系统的PackageManager模块获取Android系统中所有activity支持的功能行为特征值更新语音映射表。
[0040]所述基于Android系统的语音控制系统,其中,所述调用模块300包括:
创建单元,用于根据功能行为特征值创建一个意图1ntent对象;
填加单元,用于向所述意图1ntent对象填加需要传递的数据; 启动单元,用于调用android系统的startActivity (intent)启动所述意图1ntent对应的应用程序的功能模块。
[0041]在本发明所提供的实施例中,应该理解到,所揭露的系统方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0042]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0043]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0044]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,R0M)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0045]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于Android系统的语音控制方法,其特征在于,其包括: A、当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类; B、根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category; C、根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。2.根据权利要求1所述基于Android系统的语音控制方法,其特征在于,在所述步骤A之前包括: AO、预先建立用于存储智能终端内功能行为特征值与activity的对应关系的语音映射表。3.根据权利要求2所述基于Android系统的语音控制方法,其特征在于,所述步骤AO具体包括: AOl、调用Andro id系统的PackageManager模块获取Andro id系统中activity支持的功能行为特征值; A02、将功能行为特征值与activity的对应关系存储于语音映射表。4.根据权利要求2所述基于Android系统的语音控制方法,其特征在于,所述步骤A之前还包括: Al、当接收到语音指令时,调用Android系统的PackageManager模块获取Android系统中所有ac t i V i ty支持的功能行为特征值更新语音映射表。5.根据权利要求1所述基于Android系统的语音控制方法,其特征在于,所述步骤C具体包括: Cl、根据功能行为特征值创建一个意图1ntent对象; C2、向所述意图1ntent对象填加需要传递的数据; C3、调用android系统的startActivity (intent)启动所述意图1ntent对应的应用程序的功能t吴块。6.一种基于Android系统的语音控制系统,其特征在于,其包括: 获取模块,用于当接收到语音指令时,将所述语音指令经过语音语义识别获取语音语义文本信息,并将所述语音语义文本信息进行语义分类; 确定模块,用于根据所述语音语义文本信息所属语义分类确定所述语音指令对应功能行为特征值,其中,所述功能行为特征值包括act1n和category; 调用模块,用于根据所述功能行为特征值在预设语音映射表内查找其对应的activity,并通过Android系统调用所述activity。7.根据权利要求6所述基于Android系统的语音控制系统,其特征在于,其还包括: 预设模块,用于预先建立用于存储智能终端内功能行为特征值与activity的对应关系的语音映射表。8.根据权利要求7所述基于Android系统的语音控制系统,其特征在于,所述预设模块包括: 获取单元,用于调用Andro id系统的PackageManager模块获取Android系统中activity支持的功能行为特征值; 存储单元,用于将功能行为特征值与activity的对应关系存储于语音映射表。9.根据权利要求7所述基于Android系统的语音控制系统,其特征在于,其还包括: 更新模块,用于当接收到语音指令时,调用Android系统的PackageManager模块获取Android系统中所有activity支持的功能行为特征值更新语音映射表。10.根据权利要求6所述基于Android系统的语音控制系统,其特征在于,所述调用模块包括: 创建单元,用于根据功能行为特征值创建一个意图1ntent对象; 填加单元,用于向所述意图1ntent对象填加需要传递的数据; 启动单元,用于调用android系统的startActivity (intent)启动所述意图1ntent对应的应用程序的功能模块。
【文档编号】G10L15/26GK105825851SQ201610325111
【公开日】2016年8月3日
【申请日】2016年5月17日
【发明人】卢伟超, 齐珂
【申请人】Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1