基于移动终端设备的离线语音识别方法以及实现方法

文档序号:2826492阅读:430来源:国知局
基于移动终端设备的离线语音识别方法以及实现方法
【专利摘要】本发明提供一种基于移动终端设备的离线语音识别方法,包括:获取语音信号并提取语音信号对应的语音特征向量;基于移动终端设备中预置的声学模型对语音特征向量进行匹配,获得语音特征向量相应的语言字符串;并基于移动终端设备中预置的语言模型和字典对语言字符串进行匹配,获得语音特征向量相应的匹配文本数据;计算语音特征向量在声学模型中的输出概率,并基于输出概率中最大的输出概率,获取对应语音特征向量相应的匹配文本数据,得到语音信号的最终识别结果。本发明利用移动终端设备中预置的声学模型、语言模型和字典实现针对特定领域的语音信号的匹配,将语音信号转化为文本数据,得到最终识别结果,最终实现离线语音识别。
【专利说明】基于移动终端设备的离线语音识别方法以及实现方法
【技术领域】
[0001]本发明涉及移动终端的语音识别领域,尤其是提供一种基于移动终端设备的离线语音识别方法及基于移动终端设备离线语音识别的实现方法。
【背景技术】
[0002]基于移动终端的野外数据采集程序是指运行在移动智能设备(平板、智能手机、便携式电脑等)上,为野外调查工作提供计算机技术支持的嵌入式应用程序。为简化外业数据的采集方式,缩短数据采集周期,增强数据录入标准化程度以及数据录入、管理效率,目前存在着许多野外数据采集程序,在农业、林业、气象学、地质学、昆虫学、生态学等众多行业应用广泛。
[0003]野外数据采集程序构建与应用研究开始于20世纪90年代,现在的野外采集系统一般都采用利用键盘输入的方式录入数据,但是智能手机的键盘比较小,人的手指头比较大,输入数据时经常出现按错键的情况,而且录入数据时双手都被占用,这样就导致录入数据的效率比较低,这样就影响了野外数据采集系统的进一步广泛应用。语音识别技术的应用,将会成为打破制约传统键盘输入数据效率低下的有力武器。
[0004]语音识别技术是一门涉及信号处理、模式识别、概率论和信息论、发声听觉机理、人工智能等等的交叉学科,其目标是将人类语音中的词汇内容转换为计算机可读的输入,从而达到更自然地人机交互的目标。目前比较主流的语音识别软件都是基于互联网云端处理的技术,即客户端输入语音,服务器端语音识别,识别结果返回给客户端,这种技术的优点是能够利用服务器端的强大语音处理能力;节省了客户端存储语言模型、声学模型以及字典的空间;可以识别大量通用词汇量语音,但是它不能识别出特定应用行业的生僻词汇,而且需要连网,在网络型号不好时不能保证处理速度,所以不适合在环境条件不是太好的野外使用的野外采集系统,因此需要一种基于离线的语音识别技术来支持野外采集系统显得极为重要和迫切。

【发明内容】

[0005](一)要解决的技术问题
[0006]本发明的目的是,提供一种基于移动终端设备的离线语音识别方法,从而实现在离线的情况下实现语音识别。
[0007](二)技术方案
[0008]为解决上述技术问题,本发明提供一种基于移动终端设备的离线语音识别方法,包括:
[0009]获取语音信号并提取所述语音信号对应的语音特征向量;
[0010]基于所述移动终端设备中预置的声学模型对所述语音特征向量进行匹配,获得所述语音特征向量相应的语言字符串;并基于所述移动终端设备中预置的语言模型和字典对所述语言字符串进行匹配,获得所述语音特征向量相应的匹配文本数据;[0011]计算所述语音特征向量在所述声学模型中的输出概率,并基于所述输出概率中最大的输出概率,获取对应语音特征向量相应的匹配文本数据,得到所述语音信号的最终识别结果。
[0012]其中,所述基于移动终端设备的语音识别方法还包括:对所述最终识别结果进行分词。
[0013]具体的,对所述最终识别结果进行分词包括:
[0014]S501、设置一个分词字典中最大词条包含的汉字数η;其中,所述最终识别结果对应的匹配文本数据为中文字符串;
[0015]S502、取所述中文字符串序列中的前η个字符作为匹配字段,查找所述分词字典;
[0016]若所述分词字典中存有与所述匹配字段对应的字词,则匹配成功,所述匹配字段作为一个词被切分出来,并被存入另一个字符串newString,且通过间隔符与其他词分开;
[0017]若所述分词字典中找不到与所述匹配字段对应的一个字词,则匹配失败,进入步骤 S503 ;
[0018]S503、将η变成η_1,然后将步骤S502取出的用于匹配的匹配字段去掉最后一个汉字,作为新的匹配字段,查找所述分词字典,如果所述分词字典中存有与新匹配字段对应的字词,则匹配成功,所述新匹配字段作为一个词被切分出来,并被存入字符串newString中;
[0019]如果匹配失败,则重复步骤S502-S503,至到所述新匹配字段被匹配成功为止;
[0020]S504、重复步骤S503,直至所述中文字符串中所有带匹配字段的字符被匹配成功,完成对所述中文字符串的分词。
[0021]其中,所述基于移动终端设备的语音识别方法还包括:将所述最终识别结果显示到界面二维表。
[0022]具体的,将所述最终识别结果显示到界面二维表包括:
[0023]S601、确定所述界面二维表需要采集的字段,并且把这些采集地字段存到字符串数组 KeyWordString 中;
[0024]S602、把分词后的字符串,利用split函数以间隔符为标志分割成多个字段,存入字符串数组InputString中;
[0025]S603、从字符串数组InputString中取出一个字段,与KeyWordString中的字段逐项比较,如果有匹配的,把该字段在数组InputString中对应的下标i存贮数组PointKeyWord中;如果不匹配,则不进行任何操作;其中,l=〈i〈=n, η为字符串数组InputString中字段的个数,1、η均为正整数;
[0026]S604、从InputString中取出下一个字段,与keyWordString中的字段逐项进行比较,如果匹配成功,则把该字段在InputString中对应的下标i+Ι存入PointKeyWord中,把数组ValueString[i]设置为空,如果不匹配,则把ValueString[i]的值设置为该字段;
[0027]S605、重复步骤S603和步骤S604,至到InputString中的所有字段都匹配完毕;
[0028]S606、把匹配的结果以键值对的方式存忙Hashmap中,利用键值对的Key与二维表的表头进行比较,并将键值对中的value存入界面的二维表。
[0029]具体的,所述基于移动终端设备的语音识别方法通过维比特算法对所述语音特征向量进行匹配。[0030]具体的,所述基于移动终端设备的语音识别方法通过NGram算法对所述语言字符串进行匹配。
[0031]为解决上述技术问题,本发明还提供一种基于移动终端设备离线语音识别的实现方法,包括:
[0032]采集项目词汇;
[0033]基于所述项目词汇利用HMM模型训练声学模型数据和语言模型数据;
[0034]基于完成训练的声学模型数据建立声学模型,基于完成训练的语言模型数据建立语言模型,并利用文本编辑器创建字典;
[0035]将所述声学模型、语言模型和字典存贮在所述移动终端设备。
[0036]其中,所述声学模型数据是基于分段K均值算法的HMM参数优化算法训练的。
[0037]其中,所述语言模型数据是基于NGram算法训练的。
[0038](三)有益效果
[0039]区别于【背景技术】,本发明主要原理是将语音信号转化为文本数据,得到最终识别结果,其主要实现过程是利用移动终端设备中预置的声学模型、语言模型和字典实现针对特定领域的语音信号的匹配,最终实现离线语音识别。进一步的,本发明实现了在采集特定领域的信息数据时,不需要手动输入就可以完成信息数据的采集,极大地提高了采集效率,降低了采集数据的成本。
【专利附图】

【附图说明】
[0040]图1是实施例一中基于移动终端设备离线语音识别的实现方法流程示意图;
[0041]图2是图1所示实施例中基于分段K均值算法的HMM参数训练流程图;
[0042]图3是本发明基于移动终端设备的离线语音识别方法的总体流程示意图;
[0043]图4是实施例二中基于移动终端设备的离线语音识别方法流程示意图;
[0044]图5是图4所示实施例中中文分词流程示意图;
[0045]图6是图4所示实施例中中文分词后结果回显到系统界面二维表的流程示意图;
[0046]图7为本发明实施例三基于移动终端设备离线语音识别的实现系统录制声音波形图;
[0047]图8为本发明实施例三基于移动终端设备离线语音识别的实现系统声学分析图;
[0048]图9为本发明实施例三基于移动终端设备离线语音识别的实现系统analysis,conf配置文件图;
[0049]图10为本发明实施例三基于移动终端设备离线语音识别的实现系统HMM原型文件图;
[0050]图11为本发明实施例三基于移动终端设备离线语音识别的实现系统HMM训练过程图;
[0051]图12为本发明实施例三基于移动终端设备离线语音识别的实现系统HTK工具架构图;
[0052]图13为本发明实施例三基于移动终端设备离线语音识别的实现系统HTK语音处理流程图。【具体实施方式】
[0053]为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0054]实施例一
[0055]本实施例提供一种基于移动终端设备离线语音识别的实现方法,该方法起始于步骤101,采集项目词汇,在这里项目词汇为针对特定领域的专业用语、针对特定领域的常用词语和短语。
[0056]在步骤102,基于所述项目词汇利用基于概率统计的隐马尔可夫HMM模型训练声学模型数据和语言模型数据。所述声学模型数据是基于分段K均值算法的HMM参数优化算法训练的。所述语言模型数据是基于NGram算法训练的。
[0057]NGram算法主要是基于这样一种假设,第N个词的出现只与前面N_1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的B1-Gram和三元的Tr1-Gram。计算公式如下:P (W1Jw1, w2,…,Wlri) =Cb1, w2,…,wn)/C (W1, w2,…,Wlri),即根据大数定理,在前N-1个词出现的情况下,第N个词出现的概率为这N个词同时出现的频率除以N-1个词同时出现的频率。以推广前景为例,就是计算推广前已经出现的情况下,景出现的概率,即P (景I推,广,前)=C(推,广,前,景)/C(推,广,前)。利用NGram算法训练语音数据就是根据上下文训练字典中每个字其他字同时出现的情况下出现的概率,然后把训练的结果存贮到语音模型中。
[0058]HMM模型参数的质量直接影响语音识别的效果,在HMM模型M= {A,B,Ji }的三个参数中,状态转移概率矩阵A和初始状态概率集合π对语音识别率影响不大,通常设置为均匀分布值或非零随机值。参数B的初值设置比A`和π要困难,同时也至关重要。在本实发明中,针对Baum-Welch经典算法的缺点,总结了三种改进算法,即可通过HMM模型训练三种改进算法实现训练声学模型数据和语言模型数据,下面分别具体介绍这三种改进算法。
[0059]第一种:基于分段K均值算法的HMM参数优化算法
[0060]请参阅图2,在步骤201,预置HMM模型参数初值,初值可以通过等分划分状态法或者经验得到;
[0061]预置最大迭代次数I和收敛阈值ζ ;
[0062]在步骤202,用Viterbi算法对输入的训练语音数据进行状态分割;
[0063]在步骤203,用分段K均值算法对模型中B参数进行重新估计。分为两种情况:
[0064]离散型系统:
[0065]bji=状态Sj中标号i的语音帧出现次数/状态Sj下全部语音帧个数;
[0066]连续型系统:
[0067]每个状态的概率密度函数是由M个正态分布函数叠加而成。
[0068]混合系数ω Ji=状态j中类i语音帧个数/状态j中语音帧个数;
[0069]样本均值μ jl:状态j中类i的样本均值;
[0070]样本协方差矩阵:u ji=状态j中类i样本协方差矩阵;
[0071]利用上述参数计算模型参数M*。[0072]在步骤204,用Μ*作为初值,利用Baum-Welch算法对HMM参数重估;
[0073]在步骤205,转到步骤202,直到迭代次数> I或者满足收敛条件。
[0074]如图2所示,分段K均值算法是基于状态优化的最大似然判据,可以大大加快模型的收敛速度,同时还可以在训练中提供一些附加信息。
[0075]第二种:基于遗传算法的HMM参数训练改进算法
[0076](I)预置HMM模型参数初值,初值可以均匀设置或者通过经验得到;
[0077](2)预置最大进化次数I和收敛阈值ζ ;
[0078](3)选择最优基因:在每一代中,按照适应值从高到低,依照一定的比例选取最优基因,其中适应值高的选取比例相应要高,适应值计算公式
【权利要求】
1.一种基于移动终端设备的离线语音识别方法,其特征在于,包括: 获取语音信号并提取所述语音信号对应的语音特征向量; 基于所述移动终端设备中预置的声学模型对所述语音特征向量进行匹配,获得所述语音特征向量相应的语言字符串;并基于所述移动终端设备中预置的语言模型和字典对所述语言字符串进行匹配,获得所述语音特征向量相应的匹配文本数据; 计算所述语音特征向量在所述声学模型中的输出概率,并基于所述输出概率中最大的输出概率,获取对应语音特征向量相应的匹配文本数据,得到所述语音信号的最终识别结果。
2.根据权利要求1所述的离线语音识别方法,其特征在于,还包括:对所述最终识别结果进行中文分词。
3.根据权利要求2所述的离线语音识别方法,其特征在于,对所述最终识别结果进行分词包括: 5501、设置一个分词字典中最大词条包含的汉字数η;其中,所述最终识别结果对应的匹配文本数据为中文字符串; 5502、取所述中文字符串序列中的前η个字符作为匹配字段,查找所述分词字典; 若所述分词字典中存有与所述匹配字段对应的字词,则匹配成功,所述匹配字段作为一个词被切分出来,并被存入另一个字符串newString,且通过间隔符与其他词分开; 若所述分词字典中找不到与所述匹配字段对应的一个字词,则匹配失败,进入步骤S503 ; 5503、将η变成η-1,然后将步骤S502取出的用于匹配的匹配字段去掉最后一个汉字,作为新的匹配字段,查找所述分词字典,如果所述分词字典中存有与新匹配字段对应的字词,则匹配成功,所述新匹配字段作为一个词被切分出来,并被存入字符串newString中; 如果匹配失败,则重复步骤S503,至到所述新匹配字段被匹配成功为止; 5504、重复步骤S502-S503,直至所述中文字符串中所有带匹配字段的字符被匹配成功,完成对所述中文字符串的分词。
4.根据权利要求2所述的离线语音识别方法,其特征在于,还包括:将所述最终识别结果显示到界面二维表。
5.根据权利要求4所述的离线语音识别方法,其特征在于,所述将所述最终识别结果显示到界面二维表包括: 5601、确定所述界面二维表需要采集的字段,并且把这些采集地字段存到字符串数组KeyffordString 中; 5602、把分词后的字符串,利用split函数以间隔符为标志分割成多个字段,存入字符串数组InputString中; 5603、从字符串数组InputString中取出一个字段,与KeyWordString中的字段逐项比较,如果有匹配的,把该字段在数组InputString中对应的下标i存忙数组PointKeyWord中;如果不匹配,贝1J不进行任何操作;其中,0=〈i〈=n-l,η为字符串数组InputString中字段的个数,1、为整数; 5604、从InputString中取出下一个字段,与keyWordString中的字段逐项进行比较,如果匹配成功,则把该字段在InputString中对应的 下标i+Ι存入PointKeyWord中,把数组ValueString[i]设置为空,如果不匹配,则把ValueString[i]的值设置为该字段;,5605、重复步骤S603和步骤S604,至到InputString中的所有字段都匹配完毕; ,5606、把匹配的结果以键值对的方式存忙Hashmap中,利用键值对的Key与二维表的表头进行比较,并将键值对中的value存入界面的二维表。
6.根据权利要求1所述的离线语音识别方法,其特征在于:通过维比特算法对所述语音特征向量进行匹配。
7.根据权利要求1所述的离线语音识别方法,其特征在于:通过NGram算法对所述语言字符串进行匹配。
8.一种基于移动终端设备离线语音识别的实现方法,其特征在于,包括: 采集项目词汇; 基于所述项目词汇利用HMM模型训练声学模型数据和语言模型数据; 基于完成训练的声学模型数据建立声学模型,基于完成训练的语言模型数据建立语言模型,并利用文本编辑器创建字典; 将所述声学模型、语言模型和字典存贮在所述移动终端设备。
9.根据权利要求8所述的实现方法,其特征在于,所述声学模型数据是基于分段K均值算法的HMM参数优化算法训练的。
10.根据权利要求8 所述的实现方法,其特征在于,所述语言模型数据是基于NGram算法训练的。
【文档编号】G10L15/14GK103810998SQ201310652535
【公开日】2014年5月21日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】李林, 徐礼奎, 呼延正勇, 方帅, 张晓东, 叶思菁, 姚晓闯, 刘哲 申请人:中国农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1