一种语音识别方法、装置及设备与流程

文档序号:15519718发布日期:2018-09-25 19:08阅读:164来源:国知局

本发明涉及计算机领域,尤其涉及一种语音识别方法、装置及设备。



背景技术:

随着科学技术的不断发展,电子技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。例如,智能手表、智能手机、平板电脑等电子设备已经成为人们生活中一个重要的组成部分,其可以包含各种功能。

通常情况下,电子设备都具备语音识别功能,可以基于语音识别功能识别出用户所输入的语音信息,现有技术都是将语音识别模型(例如语言模型)存在单机的缓存中,受限于内存大小,只能存储有限的语音识别模型,从而使得语音识别准确率较低;同时现有技术的扩展性不高,后期如果想更改缓存中的语音识别模型,只能通过把程序停掉,重新启动加载新语音识别模型来实现,故而存在着语音识别的扩展性较低的技术问题。



技术实现要素:

本发明提供一种语音识别方法、装置及设备,以解决现有技术中对语音信息识别的准确率较低及扩展性较低的技术问题。

第一方面,本发明实施例提供一种语音识别方法,包括:

获得待识别语音信息;

确定出所述待识别语音信息所对应的至少一条语音识别候选项;

基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

结合第一方面,在第一种可选的实施例中,所述基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果,包括:

将每条语音识别候选项划分为至少一个词;

基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第一方面的第一种可选的实施例,在第二种可选的实施例中,所述基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率,包括:

确定出对应词与其前预设个词所组成的语言片段;

通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

结合第一方面,在第三种可选的实施例中,所述基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果,包括:

将每条语音识别候选项划分为至少一个词;基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第一方面的第一种可选的实施例,在第四种可选的实施例中,所述基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果,包括:

基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

结合第一方面或第一方面的第一至四种可选的实施例中的任意一种可选的实施例,在第五种可选的实施例中,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

结合第一方面或第一方面的第一至四种可选的实施例中的任意一种可选的实施例,在第六种可选的实施例中,所述方法还包括:

判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

如果存在的话,将对应数据移动至所述第二语音识别模型。

结合第一方面或第一方面的第一至四种可选的实施例中的任意一种可选的实施例,在第七种可选的实施例中,所述方法还包括:

获得客户端所产生的输入内容;

对所述输入内容进行解析获得至少一个语言片段;

基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

结合第一方面的第七种可选的实施例,在第八种可选的实施例中,所述基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新,包括:

如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

第二方面,本发明实施例提供一种语音识别装置,包括:

获得模块,用于获得待识别语音信息;

第一确定模块,用于确定出所述待识别语音信息所对应的至少一条语音识别候选项;

第二确定模块,用于基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

结合第二方面,在第一种可选的实施例中,所述第二确定模块,包括:

第一划分单元,用于将每条语音识别候选项划分为至少一个词;

第一确定单元,用于基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

第二确定单元,用于基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第二方面的第一种可选的实施例,在第二种可选的实施例中,所述第一确定单元,包括:

第一确定子单元,用于确定出对应词与其前预设个词所组成的语言片段;

第二确定子单元,用于通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

获得子单元,用于在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

第三确定子单元,用于基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

结合第二方面,在第三种可选的实施例中,所述第二确定模块,包括:

第二划分单元,用于将每条语音识别候选项划分为至少一个词;

第三确定单元,用于基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

第四确定单元,用于在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

第五确定单元,用于基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第二方面的第一种可选的实施例,在第四种可选的实施例中所述第二确定单元,包括:

第四确定子单元,用于基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

第五确定子单元,用于确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

结合第二方面或第二方面的第一至四种可选的实施例中的任意一种可选的实施例,在第五种可选的实施例中,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

结合第二方面或第二方面的第一至四种可选的实施例中的任意一种可选的实施例,在第六种可选的实施例中,所述装置还包括:

判断模块,用于判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

移动模块,用于如果存在的话,将对应数据移动至所述第二语音识别模型。

结合第二方面或第二方面的第一至四种可选的实施例中的任意一种可选的实施例,在第七种可选的实施例中,所述装置还包括:

获得模块,用于获得客户端所产生的输入内容;

解析模块,用于对所述输入内容进行解析获得至少一个语言片段;

更新模块,用于基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

结合第二方面的第七种可选的实施例,在第八种可选的实施例中,所述更新模块,包括:

加入单元,用于如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

第六确定单元,用于如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;更新单元,用于通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

第三方面,本发明实施例提供一种设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获得待识别语音信息;

确定出所述待识别语音信息所对应的至少一条语音识别候选项;

基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

结合第三方面,在第一种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;

基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第三方面的第一种可选的实施例,在第二种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

确定出对应词与其前预设个词所组成的语言片段;

通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

结合第三方面,在第三种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

结合第三方面的第一种可选的实施例,在第四种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

结合第三方面或第三方面的第一至四种可选的实施例中的任意一种可选的实施例,在第五种可选的实施例中,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

结合第三方面或第三方面的第一至四种可选的实施例中的任意一种可选的实施例,在第六种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

如果存在的话,将对应数据移动至所述第二语音识别模型。

结合第三方面或第三方面的第一至四种可选的实施例中的任意一种可选的实施例,在第七种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获得客户端所产生的输入内容;

对所述输入内容进行解析获得至少一个语言片段;

基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

结合第三方面的第七种可选的实施例,在第八种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

本发明有益效果如下:

由于在本发明实施例中,首先获得待识别语音信息;然后,确定出所述待识别语音信息所对应的至少一条语音识别候选项;最后,基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。从而对于某个语音信息即使通过存储于某一单机的第一语音识别模型无法识别,也可以通过存储于第二数据库的第二语音识别模型对其进行继续识别,而不会受限于第一语音识别模型的识别范围,由此达到了提高对待识别语音信息的识别准确率的技术效果;

并且,本发明实施例通过采用数据库的方式来存储语音识别模型,可以动态地加载与更新语音识别模型,从而在需要更新语音识别模型时,无需把程序停掉,重新启动加载新语言模型,提高了语音识别的扩展性。

附图说明

图1为本发明实施例的语音识别方法的流程图;

图2为本发明实施例的语音识别方法中确定各个词的条件概率的流程图;

图3为本发明实施例的语音识别装置的结构图;

图4为本发明实施例中实施语音识别方法的电子设备的结构图;

图5为本发明实施例中实施语音识别方法的服务器的结构图。

具体实施方式

本发明提供一种语音识别方法、装置及设备,以解决现有技术中对语音信息识别的准确率较低及扩展性较低的技术问题。

本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:

首先获得待识别语音信息;然后,确定出所述待识别语音信息所对应的至少一条语音识别候选项;最后,基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。从而对于某个语音信息即使通过存储于某一单机的第一语音识别模型无法识别,也可以通过存储于第二数据库的第二语音识别模型对其进行继续识别,而不会受限于第一语音识别模型的识别范围,由此达到了提高对待识别语音信息的识别准确率的技术效果;

并且,本发明实施例通过采用数据库的方式来存储语音识别模型,可以动态地加载与更新语音识别模型,从而在需要更新语音识别模型时,无需把程序停掉,重新启动加载新语言模型,提高了语音识别的扩展性。

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

第一方面,本发明实施例提供一种语音识别方法,请参考图1,包括:

步骤s101:获得待识别语音信息;

步骤s102:确定出所述待识别语音信息所对应的至少一条语音识别候选项;

步骤s103:基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

步骤s101中,可以通过客户端的麦克风接收用户所产生的待识别语音信息,然后由客户端将其上传至服务器。

步骤s102中,可以提取出所述待识别语音信息的声学特征,通过声学特征确定出匹配的字符串;然后确定出与该字符串匹配的所有语句作为至少一个语音识别候选项。

步骤s103中,请参考图2,可以通过以下步骤获得该语音识别结果:

步骤s201:将每条语音识别候选项划分为至少一个词;

步骤s202:基于所述第一语音识别模型中所包含的第一语言模型和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

步骤s203:基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

步骤s201中,可以通过各种分词工具将每条语音识别候选项划分为至少一个词。

步骤s202中,通常情况下,每个语音识别模型可以包含语言模型和/或声学模型,而通过语言模型则可以确定出各个词的条件概率,其中第一语音识别模型中可以包含第一语言模型,第二语音识别模型中可以包含第二语言模型,从而通过第一语言模型以及第二语言模型确定出各个词的条件概率。

针对每个词,可以确定出对应词与其前预设个词所组成的语言片段;通过所述第一语音识别模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;在基于所述第一语音识别模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语音识别模型获取所述第一总统计次数和/或所述第二总统计次数;基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

在具体实施过程中,语音识别模型(例如:第一语音识别模型或第二语音识别模型)中所包含的语言片段可以为词,也可以为词的组合,例如:某词wk可以为一个语言片段,词wk与其前一个词wk-1的组合wkwk-1共同组成另外一个语言片段。

针对语音识别候选项中的第1个词,由于其前面并不存在词,故而其条件概率等于该词本身的出现概率,例如:可以通过该词的总统计次数除以所有词的总统计次数,故而获得该词本身的出现概率。针对其他词,可以通过n-gram语言模型确定各个词的条件概率,假设针对某一条语音识别候选项,其由以下词w1,w2,…,wn组成,假设前预设个词为前1个词(也即:n-gram模型中的n等于1,当然,n也可以为其他值,例如:2、3等等,本发明实施例不作限制)的话,则可以通过以下公式计算出某词的条件概率:

p(wk|wk-1)=count(wk-1wk)/count(wk)………………………………[1]

其中,p(wk|wk-1)表示在第k-1个词出现的情况下,第k个词出现的条件概率,k为2~n的整数;

count(wk-1wk)表示语言片段:wk-1wk的总统计次数;

count(wk)表示表示词wk单独出现的总统计次数。

则如果k=2,其所对应的第2个词的条件概率为:

p(w2|w1)=count(w1w2)/count(w1)………………………………[2]

在具体实施过程中,在通过上述公式计算p(wk|wk-1)时,可以先从第一语音识别模型中查询该词wk的第一总统计次数count(wk)、以及该词wk所对应的语言片段wk-1wk的第二总统计次数count(wk-1wk),如果第一总统计次数或者第二总统计次数中的至少一个统计次数在第一语音识别模型中无法查询到,则从第二语音识别模型中继续查找,并且可以将查找结果导入到第一语音识别模型,以方便后续使用。

其中,所述第一数据库例如为缓存于服务器本地的内存数据库,例如:redis,当然也可以为其他内存数据库,本发明实施例不作限制。所述第二数据库为位于其他服务器的分布式数据库,该分布式数据库例如为:key-value型数据库。其中,将语音识别模型分两个服务器进行存储,可以降低本地服务器的存储负担,同时又能够保证在本地服务器无法查询到相关信息时,可以通过其他分布式数据库进行查询,以提高查询效率。

步骤s203中,可以通过以下方式确定出语音识别结果:在确定出每个词的条件概率之后,可以某条语音识别候选项的所有词的条件概率相乘,从而获得对应语音识别候选项的打分结果。

在具体实施过程中,在确定出每个词的条件概率之后,可以某条语音识别候选项的所有词的条件概率相乘,从而获得对应语音识别候选项的综合评分值。

其中,可以获得综合评分值最高的语音识别候选项作为语音识别结果;也可以获得综合评分值排序位于前预设为(例如:2、3等等)的语音识别候选项,并将其提供给客户端的用户,由用户从中选择出语音识别结果等等。

在另一种可选的实施例中,所述基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果,包括:将每条语音识别候选项划分为至少一个词;基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

也就是说,先通过第一语言模型对语音识别候选项中的各个词进行识别,在某个词的条件概率无法由第一语言模型所确定时,再通过第二语言模型来判定,一方面在第一语言模型中可以查询到某个词的条件概率时,直接通过第一语言模型查询,从而降低设备处理负担;而在第一语言模型中无法查询到某个词的条件概率时,则可以通过第二语言模型查询,从而能够提高识别的准确,也就是,通过该方案能够兼顾设备的处理负担和准确率。

作为一种可选的实施例,所述方法还包括:判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;如果存在的话,将对应数据移动至所述第二语音识别模型。

在具体实施过程中,预设时间段例如为:1周、半个月、1个月等等,数据未被访问例如为:数据对应的语言片段未被通过输入法应用程序输入过、数据对应的语言片段未被通过语音输入方式输入过等等,如果数据在预设时间段内未被访问的话,则说明大部分用户都不会输入该数据对应的语言片段,例如:该数据对应的语言片段可能已过时、或者该数据对应的语言片段为很冷门的语言片段等等,在这种情况下,则可以将对应数据从第一语音识别模型移动到第二语音识别模型,基于该方案能够降低第一语音识别模型的存储负担,同时又能够保证在后续需要用到该数据时,可以从第二语音识别模型获取该数据的相关信息。

作为一种可选的实施例,所述方法还包括:获得客户端所产生的输入内容;对所述输入内容进行解析获得至少一个语言片段;基于所述至少一个语言片段对所述第一数据库中的所述第一语音识别模型的数据进行更新。

在具体实施过程中,该输入内容可以通过输入法应用程序所产生的输入内容获得、也可以通过即时通讯应用程序发送/接收到的消息内容获得、还可以通过其他应用程序所粘贴的内容获得等等,该输入法应用程序可以为多种输入法应用程序,例如:拼音输入法应用程序、五笔输入法应用程序、手写输入法应用程序等等。

服务器可以每隔预设时间间隔(例如:1天、1周等等),就获得各个客户端的用户所产生的输入内容,并基于该输入内容对第一语音识别模型的数据进行更新;又或者,服务器在获得预设数量(例如:1000条、10000条等等)的输入内容之后,就可以基于该输入内容对第一语音识别模型的数据进行更新,对于服务器在何种时机对第一语音识别模型的数据进行更新,本发明实施例不作限制。通常情况下,更新时间越短,则该第一语音识别模型所包含的词汇更新,因此对最近热点信息能进行更加准确的识别。

可以对输入内容进行分词,将其划分为多个词,然后对相邻的词分别进行组合,从而获得至少一个语言片段,例如,假设输入内容包括“最近a用户爆料了b用户的某某门事件”,则对其进行分词可以获得以下词:

①最近②a用户③爆料④了⑤b用户⑥的⑦某某门⑧事件

如果对相邻的两个词进行组合的话,则可以获得以下的组合结果:

①最近a用户②a用户爆料③爆料了④了b用户⑤b用户的⑥的某某门⑦某某门事件

从而可以将词与组合结果都作为对输入内容进行解析所获得至少一个语言片段。另外,在具体实施过程中,除了可以统计至少一个语言片段之外,还可以进一步的统计每一个语言片段的统计次数。当然,对相邻词进行组合时,可以对相邻2个词进行组合,也可以对相邻3个、4个词进行组合,本发明实施例不作限制,基于输入内容不同、对相邻词的组合方式不同,所获得的至少一个语言片段也不同,本发明实施例不作限制。

在具体实施过程中,通过至少一个语言片段对第一语音识别模型进行更新时,可以采用多种方式,例如:

①如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型。举例来说,以前面所列举的至少一个片段为例,其中的“某某门事件”(也即:第一语言片段)可能为一个新出现的词汇,在这种情况下,则语言片段库可能并不能查询到“某某门事件”,故而可以将其加入该语言片段库,从而后续在基于该语言模型对语音信息进行识别时,可以识别出该语言片段。其由于是直接更新的语言片段库,而不需要对语言模型进行离线重新训练,故而能够在较短时间内就对最新信息进行识别,进而达到了可以对最新信息进行准确识别的技术效果。

②如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

举例来说,针对语言片段“最近”、“a用户”、“爆料”这些常见的语言片段(也即:第二语言片段)其之前可能已经存在于语言片段库,在这种情况下,则能够在语言片段库中查询到该语言片段,故而不需要再次将第二语言片段加入语言片段库,而只需要通过第二语言片段的片段数量,对语言片段库中的第二语言片段的总数量进行更新,比如:如果第二语言片段的片段数量为10,语言片段库中第二语言片段的总数量为10001,则更新之后的总数量为:10001+10=10011,当然,以上片段数量和总数量仅仅作为举例,并不作为限制。

通过上述方案,可以基于用户所产生的输入内容对第一数据库中所包含的数据进行更新,从而直接基于对第一数据库的操作就可以对第一语音识别模型进行更新,而不需要通过停掉且重新加载的方式实现更新,故而到了提高对第一语音识别模型的更新效率的技术效果。

第二方面,基于同一发明构思,本发明实施例提供一种语音识别装置,请参考图3,包括:

获得模块30,用于获得待识别语音信息;

第一确定模块31,用于确定出所述待识别语音信息所对应的至少一条语音识别候选项;

第二确定模块32,用于基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

可选的,所述第二确定模块32,包括:

第一划分单元,用于将每条语音识别候选项划分为至少一个词;

第一确定单元,用于基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

第二确定单元,用于基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述第一确定单元,包括:

第一确定子单元,用于确定出对应词与其前预设个词所组成的语言片段;

第二确定子单元,用于通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

获得子单元,用于在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

第三确定子单元,用于基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

可选的,所述第二确定模块32,包括:

第二划分单元,用于将每条语音识别候选项划分为至少一个词;

第三确定单元,用于基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

第四确定单元,用于在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

第五确定单元,用于基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述第二确定单元,包括:

第四确定子单元,用于基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

第五确定子单元,用于确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

可选的,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

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

判断模块,用于判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

移动模块,用于如果存在的话,将对应数据移动至所述第二语音识别模型。

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

获得模块,用于获得客户端所产生的输入内容;

解析模块,用于对所述输入内容进行解析获得至少一个语言片段;

更新模块,用于基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

可选的,所述更新模块,包括:

加入单元,用于如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

第六确定单元,用于如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;更新单元,用于通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

由于本发明第二方面所介绍的装置,为实施本发明实施例第一方面所介绍的语音识别方法所采用的装置,基于本发明实施例第一方面所介绍的语音识别方法,本领域所属技术人员能够了解本发明实施例第二方面所介绍的装置的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的语音识别方法所采用的装置都属于本发明所欲保护的范围。

第三方面,基于同一发明构思,本发明实施例提供一种设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获得待识别语音信息;

确定出所述待识别语音信息所对应的至少一条语音识别候选项;

基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

举例来说,该设备例如为位于客户端的电子设备,或者服务器。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;

基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

确定出对应词与其前预设个词所组成的语言片段;

通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

可选的,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

如果存在的话,将对应数据移动至所述第二语音识别模型。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获得客户端所产生的输入内容;

对所述输入内容进行解析获得至少一个语言片段;

基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

由于本发明第三方面所介绍的设备,为实施本发明实施例第一方面所介绍的语音识别方法所采用的设备,基于本发明实施例第一方面所介绍的语音识别方法,本领域所属技术人员能够了解本发明实施例第三方面所介绍的设备的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的语音识别方法所采用的设备都属于本发明所欲保护的范围。

图4是根据一示例性实施例示出的一种实施语音识别方法的电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图4,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件806为电子设备800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图5是本发明实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由设备(位于客户端的电子设备或者服务器)的处理器(电子设备的处理器820、或者服务器的中央处理器1922)执行时,使得设备能够执行一种语音识别方法,所述方法包括:

获得待识别语音信息;

确定出所述待识别语音信息所对应的至少一条语音识别候选项;

基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;

基于所述第一语音识别模型中所包含的第一语言模型、和所述第二语音识别模型中所包含的第二语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

确定出对应词与其前预设个词所组成的语言片段;

通过所述第一语言模型确定出对应词的第一总统计次数、以及对应语言片段的第二总统计次数;

在基于所述第一语言模型无法获得所述第一总统计次数和/或所述第二总统计次数时,从所述第二语言模型获取所述第一总统计次数和/或所述第二总统计次数;

基于所述第一总统计次数和所述第二总统计次数确定出对应词的所述条件概率。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

将每条语音识别候选项划分为至少一个词;基于所述第一语音识别模型中的第一语言模型,确定出在每个词的前预设个词出现的情况下,对应词出现的条件概率;

在通过所述第一语言模型无法识别出任一词的条件概率时,通过所述第二语音识别模型所包含的第二语言模型确定出对应词的所述条件概率;

基于每条语音识别候选项中各个词出现的条件概率,确定出所述语音识别结果。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

基于所述至少一条语音识别候选项中各个词的所述条件概率,确定出所述至少一条语音识别候选项中每条语音识别候选项的综合评分值;

确定出所述综合评分值满足预设条件的语音识别候选项作为所述语音识别结果。

可选的,所述第一数据库为位于本地的内存数据库;和/或,所述第二数据库为位于其他服务器的分布式数据库。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

判断所述第一语音识别模型中是否存在预设时间段内未被访问的数据;

如果存在的话,将对应数据移动至所述第二语音识别模型。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

获得客户端所产生的输入内容;

对所述输入内容进行解析获得至少一个语言片段;

基于所述至少一个语言片段对所述第一数据库中的所述第一语言模型进行更新。

可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:

如果在所述第一语言模型中查询不到所述至少一个语言片段中的第一语言片段所对应的数据,将所述第一语言片段加入所述第一语音识别模型;和/或,

如果在所述第一语言模型中可以查询到所述至少一个语言片段中的第二语言片段所对应的数据,确定出所述至少一个语言片段中所述第二语言片段的统计次数;通过所述统计次数对所述于第一语音识别模型中的所述第二语言片段的总统计次数进行更新。

本发明一个或多个实施例,至少具有以下有益效果:

由于在本发明实施例中,首先获得待识别语音信息;然后,确定出所述待识别语音信息所对应的至少一条语音识别候选项;最后,基于存储于第一数据库的第一语音识别模型、以及存储于第二数据库的第二语音识别模型,从所述至少一条语音识别候选项中确定出所述待识别语音信息所对应的语音识别结果。从而对于某个语音信息即使通过存储于某一单机的第一语音识别模型无法识别,也可以通过存储于第二数据库的第二语音识别模型对其进行继续识别,而不会受限于第一语音识别模型的识别范围,由此达到了提高对待识别语音信息的识别准确率的技术效果;

并且,本发明实施例通过采用数据库的方式来存储语音识别模型,可以动态地加载与更新语音识别模型,从而在需要更新语音识别模型时,无需把程序停掉,重新启动加载新语言模型,提高了语音识别的扩展性。

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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