语音识别方法及系统的制作方法

文档序号:2826114阅读:206来源:国知局
语音识别方法及系统的制作方法
【专利摘要】本发明公开了一种语音识别方法及系统,该方法包括:获取用户发送的语音信息;将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别引擎和本地识别引擎分别对所述语音信息进行识别;如果先接收到所述云端识别引擎返回的云端识别结果,则输出所述云端识别结果;如果先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限,则输出所述本地识别结果。利用本发明,可以在网络不好或没有网络的情况下也能够为用户提供可靠的语音识别结果。
【专利说明】语音识别方法及系统【技术领域】
[0001]本发明涉及语音识别【技术领域】,具体涉及一种语音识别方法及系统。
【背景技术】
[0002]随着计算机科学与技术的日益发展,语音识别技术已经逐渐成熟。并被广泛用于手机、电视、车载等领域。以车载为例,由于人在开车时不能方便地用手操作界面,使得语音识别作为一种相对便捷的交互方式,使车载能够提供更多的功能。现有技术中,语音识别的模式通常为:接收用户的语音信息,与云端语音识别服务器建立连接,发送语音信息至服务器,由服务器对该信息进行识别,再返回识别结果至客户端。但移动设备上不一定有稳定的网络连接,在这种情况下云端返回可能经历较大的延迟,降低用户体验,甚至没有网络,导致云端识别根本不可用。

【发明内容】

[0003]本发明提供一种语音识别方法及系统,可以在网络不好或没有网络的情况下也能够为用户提供可靠的语音识别结果。
[0004]为此,本发明提供如下技术方案:
[0005]一种语音识别方法,包括:
[0006]获取用户发送的语音信息;
[0007]将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别弓I擎和本地识别弓I擎分别对所述语音信息进行识别;
[0008]如果先接收到所述云 端识别引擎返回的云端识别结果,则输出所述云端识别结果;
[0009]如果先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限,则输出所述本地识别结果。
[0010]优选地,所述方法还包括:
[0011]如果所述置信度在所述置信度区间内,则依次在设定的等待时长内降低所述置信度区间上限;
[0012]如果在所述等待时长内接收到所述云端识别引擎返回的云端识别结果,则输出所述云端识别结果;
[0013]如果在所述等待时长内未接收到所述云端识别引擎返回的云端识别结果,并且所述本地识别结果对应的置信度大于降低后的置信度区间上限,则输出所述本地识别结果。
[0014]优选地,每次的等待时长相同或不同。
[0015]优选地,所述方法还包括:
[0016]如果降低所述置信度区间上限的次数超过设定的次数阈值后,所述本地识别结果对应的置信度仍然小于降低后的置信度区间下限,并且仍未收到所述云端识别结果,则向用户返回识别失败信息。[0017]优选地,所述方法还包括:
[0018]如果先接收到所述本地识别结果,并且所述本地识别结果对应的置信度小于设定的置信度区间下限,则丢弃所述本地识别结果,继续等待所述云端识别引擎返回云端识别结果;
[0019]如果等待时间超过设定的阻塞时长,则向用户返回识别失败信息。
[0020]优选地,所述方法还包括:
[0021]接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。
[0022]一种语音识别系统,包括:
[0023]语音信息获取单元,用于获取用户发送的语音信息;
[0024]发送单元,用于将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别弓I擎和本地识别弓I擎分别对所述语音信息进行识别;
[0025]接收单元,用于接收所述云端识别引擎返回的云端识别结果以及所述本地识别引擎的本地识别结果;
[0026]输出单元,用于在所述接收单元先接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在所述接收单元先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限时,输出所述本地识别结
果O
[0027]优选地,所述系统还包括:
[0028]置信度调整单元,用于在所述置信度在所述置信度区间内时,依次在设定的等待时长内降低所述置信度区间上限;
[0029]所述输出单元,还用于在所述等待时长内所述接收单元接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在所述等待时长内所述接收单元未接收到所述云端识别引擎返回的云端识别结果,并且所述本地识别结果对应的置信度大于降低后的置信度区间上限时,输出所述本地识别结果。
[0030]优选地,所述系统还包括:
[0031]统计单元,用于统计所述置信度调整单元降低所述置信度区间上限的次数;
[0032]所述输出单元,还用于在所述次数超过设定的次数阈值后,如果本地识别结果对应的置信度仍然小于降低后的置信度区间下限,并且仍未收到所述云端识别结果,则向用户返回识别失败信息。
[0033]优选地,所述接收单元,还用于在先接收到所述本地识别结果,并且所述本地识别结果对应的置信度小于设定的置信度区间下限时,丢弃所述本地识别结果,继续等待所述云端识别引擎返回云端识别结果;并在等待时间超过设定的阻塞时长后,向用户返回识别失败息。
[0034]优选地,所述系统还包括:
[0035]触发单元,用于在接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。
[0036]本发明实施例提供的语音识别方法及系统,将本地识别与云端识别相结合,在接收到用户发送的语音信息后,将所述语音信息分别发送给云端识别引擎和本地识别引擎进行识别。并且在先接收到云端识别引擎返回的云端识别结果时,直接输出云端识别结果。如果先接收到本地识别引擎的本地识别结果,且本地识别结果对应的置信度大于设定的置信度区间上限时,则输出本地识别结果。并且坚持云端识别结果优于本地识别结果,如果云端识别能在本地识别提供一个相对准确的识别结果之前返回结果,则采用云端识别结果。从而可以在没有网络接入时完成利用本地识别引擎来完成无须网络的本地功能,如打电话、发短信、听音乐等等。
[0037]进一步地,如果先接收到的本地识别结果的置信度较低,在设置的置信度区间内,则通过不断地降低本地识别的置信度门限,直到有一个合格的输出或识别失败。
[0038]由于本发明实施例提供的方案将本地识别与云端识别相结合,可以保证在网络不好或没有网络的情况下尽可能地提供可靠的语音识别结果。
【专利附图】

【附图说明】
[0039]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0040]图1是本发明实施例语音识别方法的一种流程图;
[0041]图2是本发明实施例语音识别方法的另一种流程图;
[0042]图3是本发明实施例语音识别系统的一种结构示意图;
[0043]图4是本发明实施例语音识别系统的另一种结构示意图。
【具体实施方式】
[0044]为了使本【技术领域】的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
[0045]本发明实施例提供一种语音识别方法及系统,结合云端识别和本地识别,可以在没有网络接入时完成利用本地识别引擎来完成无须网络的本地功能,如打电话、发短信、听音乐等等。也可以根据网络连接的延迟时间动态降低对本地引擎结果的要求。
[0046]如图1所示,是本发明实施例语音识别方法的一种流程图,包括以下步骤:
[0047]步骤101,获取用户发送的语音信息。
[0048]步骤102,将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别弓I擎和本地识别弓I擎分别对所述语音信息进行识别。
[0049]具体地,可以用录音模块记录用户发送的语音信息。记录下来的语音信息可以直接发送给云端识别引擎和本地识别引擎;也可以先用语音检测模块过滤出有效的信息起止点,然后再发送给云端识别弓I擎和本地识别引擎。
[0050]步骤103,如果先接收到所述云端识别引擎返回的云端识别结果,则输出所述云端识别结果。
[0051]因为云端的服务器识别引擎性能强大,识别结果有较高的置信度,因此在优先接收到云端识别结果后,可以直接输出该识别结果。
[0052]步骤104,如果先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限,则输出所述本地识别结果。
[0053]由于在网络环境不好的情况下,云端的识别结果可能有相当大的延迟。此时,获取此语音信息所对应的本地识别结果和该结果的置信度值,如果该置信度值大于系统设置的置信度门限,说明该识别结果是完全可用的,因此输出本地识别结果,无需再等待云端识别结果。
[0054]可见,本发明实施例提供的语音识别方法,将本地识别与云端识别相结合,根据云端识别结果和本地识别结果返回的先后、以及优先返回的本地识别结果的置信度来决定选用的识加结果。并始终坚持云端的结果优于本地,如果云端识别能在本地识别提供一个相对准确的识别之前返回结果,就采用云端的结果。
[0055]为了进一步解决网络延迟或网络不可用情况下也能够得到具有一定准确率的语音识别结果,本发明语音识别方法另一实施例还可以根据当前的网络状况动态调整本地识别的置信度门限,在最短的延迟时间输出最好的结果。
[0056]如图2所示,是本发明实施例语音识别方法的另一种流程图,包括以下步骤:
[0057]图2中的步骤201至步骤203与图1中的步骤101至步骤103相同,在此不再赘述。
[0058]步骤204,如果先接收到本地识别引擎的本地识别结果,则获取本地识别结果对应
的置信度。
[0059]另外,在步骤204中,需要根据本地识别结果的置信度确定后续的处理操作,保证在最短的延迟时间内输出最好的结果。具体地,如果置信度小于设定的置信度区间下限,则执行步骤205 ;如果置信度在设定的置信度区间内,则执行步骤208 ;如果置信度大于设定的置信度区间上限,则执行步骤213。
[0060]步骤205,丢弃本地识别结果,继续等待云端识别引擎返回云端识别结果。
[0061]步骤206,判断等待时间是否超过设定的阻塞时长;如果是,则执行步骤207 ;否则
继续等待。
[0062]步骤207,向用户返回识别失败信息。
[0063]步骤208,依次在设定的等待时长内降低所述置信度区间上限。
[0064]步骤209,判断在所述等待时长内是否接收到云端识别结果。如果是,则执行步骤210 ;否则,执行步骤211。
[0065]步骤210,输出云端识别结果。
[0066]步骤211,判断本地识别结果对应的置信度是否大于当前降低后的置信度区间上限。如果是,则执行步骤213 ;否则,执行步骤212。
[0067]步骤212,判断降低所述置信度区间上限的次数是否超过设定的次数阈值(比如可以是次数阈值可以为I至3等)。如果是,则执行步骤207 ;否则,返回步骤208。
[0068]步骤213,输出本地识别结果。
[0069]需要说明的是,上述步骤208中提到的等待时长是降低置信度区间上限的时间间隔,比如可以是2-5秒等,而且每次降低置信度区间上限的时间间隔可以相同,也可以不同。而上述步骤206中提到的等待时间与上述等待时长是两个不同的概念,所述等待时间是指等待接收到云端识别结果的时间,其起点可以是将所述语音信息分别发送给云端识别引擎和本地识别引擎开始计时,也可以是从丢弃本地识别结果后开始计时,对此本发明实施例不做限定。
[0070]另外,在实际应用中,在每次降低所述置信度区间上限后的一定时间内未接收到云端识别结果,而本地识别结果对应的置信度也不能满足要求的情况下,也可以不去判断降低所述置信度区间上限的次数是否超过设定的次数阈值,而是判断等待的时间是否超过限定的等待时间,如果超过,则向用户返回识别失败信息,以防止等待时间过长,影响用户体验。
[0071]由于云端具有强大的服务器处理能力和海量的语音数据比对,识别结果置信度高,而本地识别无须网络支持,有很高的识别速度和很广的适用范围,尤其适用一些无稳定网络连接的移动设备上。因此,本发明实施例的语音识别方法将本地识别与云端识别相结合,兼顾两者各自的优点,在获取到用户发送的语音信息后,将其同时发送给云端识别引擎和本地识别引擎进行识别。如果云端识别能在本地识别提供一个相对准确的识别之前返回结果,则采用云端识别结果。否则,不断地降低本地识别的置信度门限,直到有一个合格的输出或识别失败,因此可以保证在网络不好或没有网络的情况下尽可能的提供可靠的语音识别结果。
[0072]本发明实施例的语音识别方法,通过简单高效的本地识别引擎来满足网络不通时对本地命令的识别,另外,由于对云端和本地识别结果的取舍策略可以降低识别的延迟时间,可以根据当前的网络状况动态地调整本地识别的置信度门限,从而保证在最短的延迟时间输出最好的结果。
[0073]另外,需要说明的是,在实际应用中,可以在接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。比如,所述语音识别请求可以在用户按下语音识别键时发送,或者向用户提供语音唤醒功能,在后台一直开启录音,在识别到特定关键字时发送。
[0074]对于本地识别引擎对特定关键字的识别可以采用一些常规的识别方法,比如,本地识别引擎读取事先定义好的语法文件,该文件定义了语音识别所支持的命令词的集合,而相同作用命令词的集合都存在词典里,本地识别引擎可以高效存取。本地识别引擎通过语法文件生成一个识别网络,本地识别引擎提取输入语音的特征信息并在识别网络上进行路径匹配,最终凡是用户说出这个语法文件定义范围内的任意一句话,均可以被系统识别,从而识出所述特定关键字。
[0075]当然,对云端识别引擎及本地识别引擎具体采用哪种语音识别技术,本发明实施例不做限定,尤其是对本地识别引擎,可以根据具体应用场景需要来选择,都不会影响本发明所能达到的上述效果。
[0076]相应地,本发明实施例还提供一种语音识别系统,如图3所示,是该系统的一种结构示意图。
[0077]在该实施例中,所述系统包括:
[0078]语音信息获取单元301,用于获取用户发送的语音信息。
[0079]发送单元302,用于将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别弓I擎和本地识别弓I擎分别对所述语音信息进行识别。
[0080]接收单元303,用于接收所述云端识别引擎返回的云端识别结果以及所述本地识别引擎的本地识别结果。
[0081]输出单元304,用于在接收单元303先接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在接收单元303先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限时,输出所述本地识别结果。
[0082]本发明实施例提供的语音识别系统,将本地识别与云端识别相结合,根据云端识别结果和本地识别结果返回的先后、以及优先返回的本地识别结果的置信度来决定选用的识加结果。并始终坚持云端的结果优于本地,如果云端识别能在本地识别提供一个相对准确的识别之前返回结果,就采用云端的结果。
[0083]为了进一步解决网络延迟或网络不可用情况下也能够得到具有一定准确率的语音识别结果,本发明语音识别系统另一实施例还可以根据当前的网络状况动态调整本地识别的置信度门限,在最短的延迟时间输出最好的结果。
[0084]如图4所示,是本发明语音识别系统另一实施例的结构示意图。
[0085]与图3所示实施例不同的是,在该实施例中,所述系统还包括:
[0086]置信度调整单元401,用于在所述置信度在所述置信度区间内时,依次在设定的等待时长内降低所述置信度区间上限。
[0087]相应地,在该实施例中,所述输出单元304还用于在所述等待时长内接收单元303接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在所述等待时长内接收单元303未接收到所述云端识别引擎返回的云端识别结果,并且所述本地识别结果对应的置信度大于降低后的置信度区间上限时,输出所述本地识别结果。
[0088]另外,为了防止等待识别结果输出的时间过长,影响用户体验,如图4所示,该系统还可进一步包括:统计单元402,用于统计所述置信度调整单元401降低所述置信度区间上限的次数。
[0089]相应地,输出单元304还可用于在所述统计单元401统计的次数超过设定的次数阈值后,如果本地识别结果对应的置信度仍然小于降低后的置信度区间下限,并且仍未收到所述云端识别结果,则向用户返回识别失败信息。
[0090]为了保证输出的本地识别结果的准确率,在上述图3和图4所示实施例中,所述的接收单元303还可用于在先接收到所述本地识别结果,并且所述本地识别结果对应的置信度小于设定的置信度区间下限时,丢弃所述本地识别结果,继续等待所述云端识别引擎返回云端识别结果;并在等待时间超过设定的阻塞时长后,向用户返回识别失败信息。当然,在实际应用中,也可以由接收单元303将上述情况通知输出单元304,而由输出单元304向用户返回识别失败信息。
[0091]另外,云端识别引擎和本地识别引擎的开启可以有不同的方式,比如,在上述各实施例中,所述系统还可包括触发单元(未图示),用于在接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。所述语音识别请求可以在用户按下语音识别键时发送,或者向用户提供语音唤醒功能,在后台一直开启录音,在识别到特定关键字时发送。
[0092]对于本地识别引擎对特定关键字的识别可以采用一些常规的识别方法,比如,本地识别引擎读取事先定义好的语法文件,该文件定义了语音识别所支持的命令词的集合,而相同作用命令词的集合都存在词典里,本地识别引擎可以高效存取。本地识别引擎通过语法文件生成一个识别网络,本地识别引擎提取输入语音的特征信息并在识别网络上进行路径匹配,最终凡是用户说出这个语法文件定义范围内的任意一句话,均可以被系统识别,从而识出所述特定关键字。[0093]当然,对云端识别引擎及本地识别引擎具体采用哪种语音识别技术,本发明实施例不做限定,尤其是对本地识别引擎,可以根据具体应用场景需要来选择,都不会影响本发明所能达到的上述效果。
[0094]通过上述描述可见,本发明实施例的语音识别系统,通过简单高效的本地识别引擎来满足网络不通时对本地命令的识别,另外,由于对云端和本地识别结果的取舍策略可以降低识别的延迟时间,可以根据当前的网络状况动态地调整本地识别的置信度门限,从而保证在最短的延迟时间输出最好的结果。
[0095]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0096]需要说明的是,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0097]以上对本发明实施例进行了详细介绍,本文中应用了【具体实施方式】对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种语音识别方法,其特征在于,包括: 获取用户发送的语音信息; 将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别引擎和本地识别弓I擎分别对所述语音信息进行识别; 如果先接收到所述云端识别引擎返回的云端识别结果,则输出所述云端识别结果; 如果先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限,则输出所述本地识别结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 如果所述置信度在所述置信度区间内,则依次在设定的等待时长内降低所述置信度区间上限; 如果在所述等待时长内接收到所述云端识别引擎返回的云端识别结果,则输出所述云端识别结果; 如果在所述等待时长内未接收到所述云端识别引擎返回的云端识别结果,并且所述本地识别结果对应的置信度大于降低后的置信度区间上限,则输出所述本地识别结果。
3.根据权利要求2所述的方法,其特征在于,每次的等待时长相同或不同。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括: 如果降低所述置信度区间上限的`次数超过设定的次数阈值后,所述本地识别结果对应的置信度仍然小于降低后的置信度区间下限,并且仍未收到所述云端识别结果,则向用户返回识别失败信息。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括: 如果先接收到所述本地识别结果,并且所述本地识别结果对应的置信度小于设定的置信度区间下限,则丢弃所述本地识别结果,继续等待所述云端识别引擎返回云端识别结果; 如果等待时间超过设定的阻塞时长,则向用户返回识别失败信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括: 接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。
7.一种语音识别系统,其特征在于,包括: 语音信息获取单元,用于获取用户发送的语音信息; 发送单元,用于将所述语音信息分别发送给云端识别引擎和本地识别引擎,以使所述云端识别弓I擎和本地识别弓I擎分别对所述语音信息进行识别; 接收单元,用于接收所述云端识别引擎返回的云端识别结果以及所述本地识别引擎的本地识别结果; 输出单元,用于在所述接收单元先接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在所述接收单元先接收到所述本地识别引擎的本地识别结果,并且所述本地识别结果对应的置信度大于设定的置信度区间上限时,输出所述本地识别结果O
8.根据权利要求7所述的系统,其特征在于,所述系统还包括: 置信度调整单元,用于在所述置信度在所述置信度区间内时,依次在设定的等待时长内降低所述置信度区间上限;所述输出单元,还用于在所述等待时长内所述接收单元接收到所述云端识别引擎返回的云端识别结果时,输出所述云端识别结果;在所述等待时长内所述接收单元未接收到所述云端识别引擎返回的云端识别结果,并且所述本地识别结果对应的置信度大于降低后的置信度区间上限时,输出所述本地识别结果。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括: 统计单元,用于统计所述置信度调整单元降低所述置信度区间上限的次数; 所述输出单元,还用于在所述次数超过设定的次数阈值后,如果本地识别结果对应的置信度仍然小于降低后的置信度区间下限,并且仍未收到所述云端识别结果,则向用户返回识别失败信息。
10.根据权利要求8所述的系统,其特征在于, 所述接收单元,还用于在先接收到所述本地识别结果,并且所述本地识别结果对应的置信度小于设定的置信度区间下限时,丢弃所述本地识别结果,继续等待所述云端识别引擎返回云端识别结果;并在等待时间超过设定的阻塞时长后,向用户返回识别失败信息。
11.根据权利要求7至10任一项所述的系统,其特征在于,所述系统还包括: 触发单元,用于在接收到用户发送的语音识别请求后,开启云端识别引擎和本地识别引擎。.
【文档编号】G10L15/30GK103440867SQ201310335050
【公开日】2013年12月11日 申请日期:2013年8月2日 优先权日:2013年8月2日
【发明者】朱国正, 任严佳 申请人:安徽科大讯飞信息科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1