发明内容
本发明实施例提供一种语音识别方法及装置,用以解决现有技术中的语音识别方法针对特定用户输入的语音进行识别时,识别结果不够精准的问题。
第一方面,本发明实施例提供一种语音识别方法。该方法包括:语音识别装置获取用于表示输入的语音信号与预设状态的映射关系的第一声学模型,其中,预设状态表示与语音信号对应的文本的基本组成元素。语音信号包括第一语音信号及第二语音信号。语音识别装置接收用户输入的第一语音信号后,根据第一语音信号及第二声学模型确定预设状态的概率值。其中,所述第二声学模型是语音识别装置根据相同用户输入的第二语音信号及第一声学模型确定得到的。语音识别装置内预设语言模型及词典,其中,语言模型用于表示预设状态与语音信号对应的文本之间映射关系的语言模型,词典中包括组成所述文本的词语的集合。语音识别装置根据预设的语言模型及词典将第一语音信号对应的预设状态的概率值解码为第一文本。
本发明实施提供的语音识别方法,根据用户输入的第二语音信号及第一声学模型确定第二声学模型,使得所述第二声学模型与所述用户发音特征更加匹配,根据所述第二声学模型可以更准确地确定所述用户输入的第一语音信号对应的预设状态的概率值,将所述预设状态的概率值解码为文本时,可以得到更准确的语音识别结果。
一种可能的实施方式中,该方法还包括:语音识别装置根据第二语音信号及第一声学模型确定第二声学模型。语音识别装置先根据第二语音信号及第一声学模型,计算得到第二语音信号对应的预设状态的实际概率值;然后根据第二语音信号对应的预设状态的实际概率值确定第二语音信号对应的状态的近似概率值;最后根据第二语音信号、第二语音信号对应的各个状态的实际概率值和近似概率值,以及第一声学模型,计算得到第二声学模型。
通过上述可能的实施方式,根据近似概率值与实际概率值之间的差值对第一声学模型进行更新计算,可以对第二语音信号转换为预设状态过程中产生的误差进行修正,从而得到更加精确的针对该用户进行语音识别的第二声学模型,使得语音识别装置在使用所述第二声学模型对用户输入的语音进行识别时,能够得到更加精确的识别结果。
一种可能的实施方式中,所述第二语音信号还包括噪声信号,所述噪声信号的分贝值低于第一预设阈值。
通过上述可能的实施方式,当所述噪声信号的分贝值小于所述第一预设阈值时,可以认为所述第二语音信号是用户在安静的环境下输入的。由于所述第二声学模型是根据安静环境下输入的所述第二语音信号确定得到的,可以使得所述第二语音信号中的用户发音特征可以更容易地被识别到,提升了语音识别的精准度。
一种可能的实施方式中,该方法还包括:语音识别装置根据第二语音信号确定代表用户的发音特征的第一频率;然后提取第一语音信号的信号特征值;并放大第一语音信号在所述第一频率上的信号特征值和第一语音信号在第二频率上的信号特征值,或者,仅放大第一语音信号在第一频率上的信号特征值,或者,仅缩小第一语音信号在与所述第一频率不同的第二频率上的信号特征值。
一种可能的实施方式中,语音识别装置通过以下方式确定代表用户的发音特征的第一频率:语音识别装置将第二语音信号转化为频域信号;并计算频域信号中出现的各个频率在频域信号的所有频率中出现的概率值;从所述计算得到的各频率的概率值中确定大于第二预设阈值的概率值对应的频率作为代表所述用户的发音特征的第一频率。
通过上述可能的实施方式,当第二语音信号的一个或多个频率在所有频率中的出现概率大于第二预设阈值时,可以认为这一个或多个频率上的语音信号特征可以代表用户的发音特征,通过增强述第一语音信息中由用户输入的语音信号的强度,减弱第一语音信息中的噪音部分的强度,使得语音识别装置更容易识别出该用户的语音特征,对该用户的语音识别结果更加准确。
一种可能的实施方式中,所述词典中还包括与词语对应的识别概率值,该方法还包括:语音识别装置根据所述第二语音信号,确定所述词典中的用户常用词语;并在所述词典中增大所述用户常用词语对应的识别概率值,得到更新后的词典;语音识别装置根据语言模型及更新后的词典将第一语音信号对应的状态的概率值解码为第一文本。
一种可能的实施方式中,语音识别装置通过以下方式确定所述词典中的用户常用词语:语音识别装置对第二语音信号进行识别,获得与第二语音信号对应的第二文本。然后统计第二文本中每个词语在所有第二文本中的出现频率;确定出现频率大于第三预设阈值的文本为所述用户常用词语。通过确定所述第二语音信号中的用户常用词语,可以确定出用户的发音习惯,从而增大用户常用词语的识别概率,可以使得对所述用户输入的第一语音信号进行识别时得出与用户发音习惯最为匹配的语音识别结果。
一种可能的实施方式中,本发明实施例语音识别方法还包括:语音识别装置检测语音识别装置上的语音输入端输入的语音信号的强度,并确定信号强度最高的语音信号作为需要识别的第一语音信号。
通过上述实施方式,当语音识别装置上有多个语音输入端时,可以选择输入信号质量最好的输入端采集到的信号作为需要识别的语音信号,从而提高语音识别的精准度。
第二方面,本发明实施例还提供一种语音识别装置,包括:
用于获取表示输入的语音信号与预设状态的映射关系的第一声学模型的获取模块,预设状态为与语音信号对应的文本的基本组成元素,语音信号包括第一语音信号及第二语音信号;用于接收用户输入的第一语音信号的接收模块;以及用于根据所述第一语音信号及第二声学模型确定所述预设状态的概率值的处理模块。其中,所述第二声学模型是由处理模块根据相同的用户输入第二语音信号及第一声学模型确定得到的;语音识别装置内预设语言模型及词典,其中,语言模型用于表示预设状态与语音信号对应的文本之间映射关系的语言模型,词典中包括组成所述文本的词语的集合。所述处理模块还用于,根据预设的语言模型及词典将第一语音信号对应的预设状态的概率值解码为第一文本。
本发明实施例提供的语音识别装置,根据用户输入的第二语音信号及第一声学模型确定第二声学模型,使得所述第二声学模型与所述用户发音特征更加匹配,根据所述第二声学模型可以更准确地确定所述用户输入的第一语音信号对应的预设状态的概率值,将所述预设状态的概率值解码为文本时,可以得到更准确的语音识别结果。
一种可能的实施方式中,所述处理模块还用于根据第二语音信号及第一声学模型计算得到第二声学模型。
一种可能的实施方式中,所述处理模块具体用于根据第二语音信号及第一声学模型,计算得到第二语音信号对应的预设状态的实际概率值;然后根据第二语音信号对应的预设状态的实际概率值确定第二语音信号对应的状态的近似概率值;再根据第二语音信号、第二语音信号对应的各个状态的实际概率值和近似概率值,以及第一声学模型,计算得到第二声学模型。
一种可能的实施方式中,所述第二语音信号中还包括噪声信号,所述噪声信号的分贝值低于第一预设阈值。当噪声信号的分贝值低于第一预设阈值时,可以认为第二语音信号是在安静环境下输入的。
一种可能的实施方式中,处理模块还用于根据用户输入的第二语音信号,确定代表用户的发音特征的第一频率;然后提取所述第一语音信号的信号特征值;并放大所述第一语音信号在所述第一频率上的信号特征值,和第一语音信号在第二频率上的信号特征值,或者,仅放大第一语音信号在第一频率上的信号特征值,或者,仅缩小第一语音信号在与所述第一频率不同的第二频率上的信号特征值。
一种可能的实施方式中,所述处理模块,具体用于将第二语音信号转化为频域信号;并计算频域信号中出现的各个频率在频域信号的所有频率中出现的概率值;从所述计算得到的各频率的概率值中确定大于第二预设阈值的概率值对应的频率作为代表所述用户的发音特征的第一频率。
一种可能的实施方式中,词典中还包括与词语对应的识别概率值,所述处理模块,还用于根据所述第二语音信号,确定所述词典中的用户常用词语;在所述词典中增大所述用户常用词语对应的识别概率值,得到更新后的词典;所述处理模块具体用于,根据所述语言模型及所述更新后的词典将所述第一语音信号对应的状态的概率值解码为所述第一文本。
一种可能的实施方式中,所述处理模块具体用于:对所述第二语音信号进行识别,获得所述第二语音信号对应的第二文本;统计第二文本中每个词语在第二文本中的出现频率;确定出现频率大于第三预设阈值的所述文本为所述用户常用词语。
一种可能的实施方式中,本发明实施例语音识别装置还包括检测模块,用于检测语音识别装置上的语音输入端输入的语音信号的强度,并确定信号强度最高的语音信号作为需要识别的第一语音信号。
上述第二方面的各个可能的实施方式所提供的语音识别装置,其有益效果可以参见上述第一方面各个可能的实施方式所提供的语义识别方法所带来的有益效果,在此不再赘述。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种语音识别方法及装置,用于针对特定用户输入的语音进行识别,提高语音识别的精确度,尤其当用于噪音环境中输入语音时,提高语音识别的精确度。
图1为本发明实施例语音识别装置的框架结构示意图。
请参阅图1,本发明实施例语音识别装置包括处理器110、接收器120、存储器130、语音识别芯片140及总线150,所述处理器110、所述接收器120、所述存储器130及所述语音识别芯片140通过所述总线150连接。所述接收器120用于接收输入的语音信号,所述存储器130用于存储输入的语音信号数据及语音识别过程中产生的数据,所述语音识别芯片140用于对输入的语音信号进行识别。所述语音识别芯片140具体包括:寄存器141、存储控制模块142、处理控制模块143、缓存器144及处理引擎145。所述寄存器141用于存储计算资源,所述存储控制模块142用于对数据的存储管理过程进行控制,所述处理控制模块143用于对所述语音识别芯片的数据处理过程进行控制,所述数据缓存模块144用于缓存语音识别过程中产生的数据,所述处理引擎145用于对输入的语音信号进行处理,将所述输入的语音信号识别为文本。具体地,所述语音识别装置可以为计算机或移动终端设备,例如,智能手机、个人数字助理或车载设备等。
本发明实施例语音识别方法具体用于,在根据云端采集的大量不同用户输入的语音信号进行声学训练得到的通用声学模型的基础上,根据收集到的特定用户输入的语音信号数据,不断对所述通用声学模型进行更新,得到个性化的声学模型,再根据所述个性化声学模型,对所述用户输入的语音信号进行识别,从而提高语音识别的精准度。
图2为本发明实施例语音识别方法的流程示意图。图3为本发明实施例语音识别方法的另一流程示意图。
本发明实施例语音识别方法是通过图1所示的语音识别装置来实现的。请参阅图2及图3,本发明实施例语音识别方法包括:
S101:获取模块获取第一声学模型,所述第一声学模型表示输入的语音信号与预设状态的映射关系,所述预设状态为与所述语音信号对应的文本的基本组成元素。
当用户输入一条语音信号时,处理模块将所述语音信号切分为多个单位语音信号,并将所述单位语音信号转化为语音向量。例如,可以将所述语音音频切分为多个长度为10毫秒(ms)的单位语音信号。所述声学模型中设置有多个所述预设状态,所述预设状态的数量及内容由所述第一声学模型的网络结构确定。所述声学模型用于将输入的所述语音向量转化为所述预设状态的概率值,根据所述预设状态的概率值可以确定输入的单位语音信号对应的预设状态。具体地,在具体实现过程中,可以设置多个单位语音信号(例如5个)组成的语音向量对应一个预设状态,多个预设状态对应一个音素,多个音素对应一个字,根据多个字可以组成具有具体文意的文本。也就是说,所述预设状态是语音识别过程中用来组成文本的基本单位。
具体地,当所述语音识别装置根据本发明实施例语音识别装置第一次进行语音识别时,获取到的所述第一声学模型是云端根据大量不同用户输入的语音信号进行声学训练得到的通用声学模型。
S102:接收模块接收输入的第一语音信号。
具体地,所述接收器为终端设备的音频输入端,例如麦克,或其它可以采集语音信号的元器件。所述第一语音信号为所述语音识别装置当前需要识别的语音信号。
S103:处理模块根据所述第一语音信号及第二声学模型确定所述预设状态的概率值;所述第二声学模型是根据第二语音信号及第一声学模型确定得到的;所述第一语音信号及所述第二语音信号是由相同的用户输入的,所述语音信号包括所述第一语音信号及所述第二语音信号。
具体地,所述第二语音信号包括所述用户输入的历史语音信号,在所述步骤S103之前,所述接收器接收所述用户输入的所述第二语音信号,并将所述第二语音信号存入所述终端设备的用户语音信息数据库中。所述数据库中包括所述第二语音信号的原始语音音频所述第二语音信号的向量表达,以及将所述第二语音信号从时域信号转换为频域信号后所得到的所述用户的发音特征的频段信息。
所述根据所述第二语音信号及所述第一声学模型确定所述第二声学模型,包括:
S1031:根据所述第二语音信号及所述第一声学模型,计算得到所述第二语音信号对应的预设状态的实际概率值;
图4为本发明实施例根据第一声学模型将输入的语音信号转化为多个预设状态的概率值的过程示意图。
请参阅图4,具体地,所述第一声学模型为网络结构,输入端为所述第二语音信号对应的语音向量,输出端为根据所述语音向量得到的所述预设状态的概率值,从输入端到输出端之间包括N层隐藏端点,N的数值由所述第一声学模型的网络结构决定。
下面以N=2为例,对所述根据所述第一声学模型将输入的语音信号从向量表达转化为多个预设状态的概率值的过程进行说明。
所述根据所述第一声学模型将输入的语音信号转化为多个预设状态的概率值的过程包括:
根据所述第二语音信号对应的语音向量的第i个值xi计算得到第一层隐藏端点的第j个中间变量yj;yj=f(zj);zj=∑Wijxi;
根据第一层隐藏端点的第j个中间变量yj计算得到第二层隐藏端点的第k个中间变量yk;yk=f(zk);zk=∑Wjkyj;当N大于2时,可以在该步骤的基础上继续计算下一层隐藏端点的中间变量;
根据所述第二层隐藏端点的中间变量yk计算得到第l个状态的实际概率值yl;yl=f(zl);zl=∑Wldyk;
其中,Wld表示所述第一声学模型的参数,所述i,j,k及l的值均由根据声学训练获得的所述第一声学模型的网络结构决定,所述函数f可以是任意的非线性函数,当所述语音信号经过声学训练得到所述第一声学模型时,所述函数f即可被确定下来。例如,一种常用的函数形式可以为y=1/(1+e^(-x))。
根据上述过程,即可计算得出与所述输入的语音向量对应的所有预设状态的概率值。
S1032:根据所述第二语音信号的语音向量对应的预设状态的实际概率值确定所述第二语音信号对应的状态的近似概率值。
具体地,将步骤S1021计算得出的,所有预设状态的实际概率值中数值最大的概率值对应的预设状态的近似概率值设置为1,其它所有预设状态的近似概率值设置为0。
S1033:根据所述第二语音信号的语音向量对应的各个预设状态的实际概率值和近似概率值,以及所述第一声学模型,计算得到所述第二声学模型。
具体地,所述计算过程为:
1)根据步骤S1021及步骤S1022计算得出的所述第二语音信号的语音向量对应的各个预设状态的实际概率值yl和近似概率值tl,确定预设状态概率值误差函数E,其中E=0.5(yl-tl)2;
2)计算误差函数E相对于步骤S1021中求得的各个变量的偏导数
3)根据所述偏导数更新所述第一声学模型中的所有参数Wkl,Wjk,Wij的值,得到新的声学模型参数
4)根据所述新的声学模型参数即可确定所述第二声学模型。
具体地,所述第一声学模型的初始参数是根据云端获取的大量不同用户输入的语音信号进行声学训练后确定的。在具体实现过程中,所述接收器每一次接收到所述用户输入的所述第二语音信号之后,即可根据上述步骤更新一次所述第一声学模型的参数,并根据更新后的所述新的声学模型参数确定所述第二声学模型。
可选地,所述语音识别装置也可以将所述用户在不同时间输入的多条所述第二语音信号存储于所述用户语音数据库中,并在设定的时间根据所述多条第二语音信号执行所述第一声学模型参数的更新,确定所述第二声学模型参数。
可选地,所述第二语音信号还包括噪声信号,所述噪声信号的分贝值低于第一预设阈值。具体地,当所述噪声信号的分贝值小于所述第一预设阈值时,可以认为所述第二语音信号是用户在安静的环境下输入的。由于所述第二声学模型是根据安静环境下输入的所述第二语音信号确定得到的,可以使得所述第二语音信号中的用户发音特征可以更容易地被识别到,提升了语音识别的精准度。可选地,所述第一预设阈值为200分贝,或者为其它能够实现提高语音识别度的噪音分贝数值。
S104:根据预设的语言模型及词典将所述第一语音信号对应的预设状态的概率值解码为第一文本;所述语言模型表示所述预设状态与所述语音信号对应的文本之间的映射关系,所述词典包括所述文本的集合,所述词典包括组成所述文本的词语的集合,所述文本包括所述第一文本。
具体地,所述语言模型以所述文本的概率值的形式表示具体的预设状态与具体的文本之间的关系。根据所述第一语音信号对应的预设状态的概率值可以确定处所述第一语音信号对应的具体的预设状态。例如,设所述预设状态有9004个,若其中第30个预设状态的概率值为1,其它的概率值为0,则确定所述第30个预设状态为所述第一语音信号对应的预设状态。如果所述第30个预设状态的具体内容为a,则所述第一语音信号对应的内容即为a。根据所述语音模型,可以确定出所述词典中与所述预设状态对应的文本的概率值,根据所述文本的概率值即可确定出最终要输出的所述第一文本。
为了进一步提高对所述用户输入的语音信号的识别精准度,避免噪声干扰,所述根据第二声学模型确定所述第一语音信号对应的预设状态的概率值之前,还包括:
所述处理模块根据所述第二语音信号,确定代表用户的发音特征的第一频率;所述第二语音信号包括所述用户输入的语音信号;
具体地,所述处理模块通过快速傅里叶变换,将所述第二语音信号从时域信号转化为频域信号,并加入到所述用户语音数据库中;
从所述用户语音数据库中提取用户发音特征的频率信息,计算所述频域信号中出现的各个频率在所述频域信号的所有频率中出现的概率值;
确定大于第二预设阈值的所述概率值对应的频率,为代表所述用户的发音特征的所述第一频率。也就是说,出现概率较高的一个或多个频率可以用于代表所述用户的发音特征。
确定了代表用户发音特征的所述第一频率后,所述处理模块提取所述第一语音信号的信号特征值,即所述第一语音信号的信号幅度;
放大所述第一语音信号在所述第一频率上的信号特征值,和/或缩小所述第一语音信号在第二频率上的信号特征值,所述第二频率与所述第一频率不相同。具体地,所述第一频率可以认为是用户发音频率,所述第二频率可以认为是噪音频率。
例如,将所述第一语音信号在所述第一频率上的信号幅度乘以大于1的系数,将所述第一语音信号在所述第二频率上的信号幅度乘以小于1的系数,这样,即可以实现增强所述第一语音信号中由用户输入的语音信号的强度,减弱所述第一语音信息中的噪音部分的强度,使得本发明实施例的语音识别方法能够在噪声背景下获得更高的语音识别度。
可选地,由于终端设备的用户相对固定,为了根据用户表达习惯进一步提高语音识别的精准度,所述词典中还包括与所述词语对应的识别概率值,在步骤S104之前,所述方法还包括:
处理模块根据所述用户语音数据库中存储的所述第二语音信号,确定所述词典中的用户常用词语。
具体地,语音识别模块对所述第二语音信号进行识别,获得所述第二语音信号对应的第二文本。
在此,对所述第二语音信号进行识别,可以根据现有的语音识别方法进行识别,也可以根据本发明实施例语音识别方法进行识别。
处理模块统计所述第二文本中每个词语的出现频率,确定出现频率大于第三预设阈值的所述词语为所述用户常用词语,并在所述词典中增大所述用户常用词语对应的识别概率值,得到更新后的词典。则,将所述第一语音信号对应的预设状态的概率值解码为第一文本时,即可以根据所述语言模型及所述更新后的词典将所述第一语音信号对应的状态的概率值解码为所述第一文本,从而针对特定用户进一步提高语音识别的精准度。
进一步地,本发明实施例语音识别方法还包括:语音识别装置检测语音输入端输入的语音信号的强度,并确定信号强度最高的语音信号作为需要识别的第一语音信号。
通过上述实施方式,当语音识别装置上有多个语音输入端时,可以选择输入信号质量最好的输入端采集到的信号作为需要识别的语音信号,从而提高语音识别的精准度。
本发明实施例提供的语音识别方法,根据用户输入的第二语音信号及第一声学模型确定第二声学模型,使得所述第二声学模型与所述用户发音特征更加匹配,根据所述第二声学模型可以更准确地确定所述用户输入的第一语音信号对应的预设状态的概率值,将所述预设状态的概率值解码为文本时,可以得到更准确的语音识别结果。
图5为本发明另一实施例语音识别装置的结构示意图。
请参阅图5,本发明另一实施例语音识别装置包括获取模块510、接收模块520及处理模块530。
所述获取模块510,用于获取第一声学模型,所述第一声学模型表示输入的语音信号与预设状态的映射关系,所述预设状态为与所述语音信号对应的文本的基本组成元素;
具体地,所述获取模块510的功能可以由图1中的处理器110来实现。
所述接收模块520,用于接收第一语音信号,所述第一语音信号包括第一语音信号;
具体地,所述接收模块520的功能可以由图1中的接收器120来实现。
所述处理模块530,用于根据所述第一语音信号及第二声学模型确定所述预设状态的概率值;所述第二声学模型是根据第二语音信号及所述第一声学模型确定得到的;所述第二语音信号包括第二语音信号,所述第一语音信号及所述第二语音信号是由相同的用户输入的;所述语音信号包括所述第一语音信号及所述第二语音信号;
所述处理模块530还用于,根据预设的语言模型及词典将所述第一语音信号对应的预设状态的概率值解码为第一文本;所述语言模型表示所述预设状态与所述语音信号对应的文本之间的映射关系,所述词典包括所述文本的集合,所述文本的集合中包括所述第一文本。
具体地,所述处理模块530的功能可以由图1中的所述语音识别140的处理引擎145来实现。
本发明实施例语音识别装置,根据用户输入的第二语音信号及第一声学模型确定第二声学模型,使得所述第二声学模型与所述用户发音特征更加匹配,根据所述第二声学模型可以更准确地确定所述用户输入的第一语音信号对应的预设状态的概率值,将所述预设状态的概率值解码为文本时,可以得到更准确的语音识别结果。
具体地,本发明实施例语音识别装置用于实现上述方法实施例提供的语音识别方法,具体实现方式及技术效果与方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机、手机或其他便携装置的可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同第一声学模型;而这些修改或者第一声学模型,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。