首页 > 乐器声学 专利正文
一种用于有限句库的离线语音识别匹配装置与方法与流程

时间:2022-02-18 阅读: 作者:专利查询

一种用于有限句库的离线语音识别匹配装置与方法与流程

1.本发明涉及语音识别技术领域,尤其涉及一种用于有限句库的离线语音识别匹配装置与方法。


背景技术:

2.语音作为人类最基本的交互方式之一,将人类语音信息转换为可读的文字信息为人机交互提供了一种可行的方式。随着深度学习的发展,神经网络这项技术在语音识别领域中得到大量应用,语音识别在很多特殊应用场景中的指令下达任务中成为了识别和记录指令的重要方式,然而在很多特定的场合中,现有的语音识别技术仍然存在需要改进的地方:
3.1、为了保障数据的安全性,许多应用场合的语音识别系统要求不能接入互联网,而大量离线的语音识别系统的识别率与计算速度难以满足应用要求;
4.2、应用场景中的工作人员大多未受过专业播音培训,工作工程中的语音可能带有口音或者用词含有方言等,在这种情况下利用传统的语音识别技术并不能准确地逐字识别出调度命令,而且每个人说话时的方言习惯不同,难以取得足够用于神经网络训练的语言样本;
5.3、由于场景的特殊性,应用场景的语音识别所涵盖的指令数量有限,所有指令组成的指令集固定不变,而常用于语音识别的通用词典在缺乏一些专有词汇的同时,存在许多指令中不会出现的词语,这种情况下识别语音得到的文本中可能出现不属于指令的同音字,同时多余词汇导致的技术冗余会带来处理时间延长、处理速度不快等问题。
6.在申请号为cn202011125376.7的发明专利中,将卷积神经网络和循环神经网络进行有效组合连接,在保证语音识别正确率的同时,增加网络整体的学习效率和鲁棒性,提高语音识别的性能,但在说话人带有口音或者方言的情况下,难以得到大量的训练样本,基于标准中文数据集训练的神经网络模型会受到口音的影响而出现识别不准确的问题。
7.因此,本领域的技术人员致力于开发一种用于有限句库的离线语音识别匹配装置与方法,解决在有限句库下的离线语音识别场景中说话人有口音时的识别准确性问题。


技术实现要素:

8.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是在面对离线并且说话人具有方言口音的语音时,如何得到一个理想的语言识别效果。
9.传统的语音识别技术在神经网络得到大范围应用之后,利用神经网络将语音识别的计算时间和识别准确率进行了大程度提升,然而在面对离线并且说话人具有方言口音的语音时,神经网络却不能够得到一个理想的识别效果。在大多数应用场景中,说话人并未受过专业播音培训,在工作过程中可能存在语音带有口音或用词含有方言等情况,因此,传统的语音识别技术并不能很好地在离线并且说话人带有方言口音或说话有口误的情况下进行识别,并且传统的仅基于声学模型和语言模型结合的语音识别方式在识别指令数量有限
时存在大量的技术冗余,导致计算时间长或计算量大等问题。
10.本发明实施例所提供的技术方案是采取神经网络和匹配算法相结合的方式,在神经网络后端加入匹配模块,能够更好地适应在说话人有口音时有限句库下的离线语音识别场景。
11.为实现上述目的,本发明提供了一种用于有限句库的离线语音识别匹配装置,包括:
12.预处理模块,所述预处理模块对语音信号进行预处理操作;
13.特征提取模块,所述特征提取模块连接所述预处理模块,对所述语音信号进行特征提取,得到所述语音信号的特征,包括语谱图和mfcc特征;
14.神经网络模块,所述神经网络模块连接所述特征提取模块,将所述语音信号的所述语谱图作为神经网络的输入,得到所述语音信号中包含的拼音序列;
15.指令匹配模块,所述指令匹配模块连接所述神经网络模块,将所述神经网络模块识别出的所述拼音序列和已预存储的标准指令集中各条指令的拼音序列进行差异度计算,匹配出与所述语音信号的差异度最小的指令拼音序列;若所述差异度小于或等于指令差异阈值,则以所述指令拼音序列所对应的指令文本作为结果文本输出。
16.进一步地,还包括:
17.语言模型模块,所述语言模型模块连接所述指令匹配模块,在所述指令匹配模块中,当所述拼音序列和已预存储的标准指令集中各条指令的拼音序列计算所得的所述差异度大于所述指令差异阈值时,将所述神经网络模块识别出的所述拼音序列输入所述语言模型模块中,通过语言模型计算所述拼音序列下出现概率最大的文本内容,并作为所述结果文本输出。
18.进一步地,在所述预处理模块中,所述预处理操作包括预加重、分帧和加窗。
19.进一步地,在所述特征提取模块中,对所述语音信号进行离散傅里叶变换,将语音的时域信号转换为多个单一信号的叠加,从而将同一信号从时域转换到频域,得到所述语音信号的频域特征,并将每一帧语音的频谱信息映射到一个灰度级表示,并按照时间顺序将每一帧拼接起来,得到所述语音信号的所述特征,所述特征包括所述语谱图和所述mfcc特征。
20.本发明还提供了一种用于有限句库的离线语音识别匹配的方法,所述方法包括以下步骤:
21.步骤1、对语音信号进行采样录音;
22.步骤2、对所述语音信号进行预处理和特征提取,获取所述语音信号的特征,包括语谱图和mfcc特征;
23.步骤3、将提取得到的所述特征作为已训练好的神经网络模型的输入,进行计算识别,得到与所述语音信号对应的拼音序列;
24.步骤4、将识别的所述拼音序列与预先设定的指令拼音集中的每一条指令拼音序列通过动态时间规整算法进行差异度计算,得到与所述拼音序列差异度最小的指令拼音序列,以及最小差异度;若所述最小差异度小于预先设定的指令差异度阈值,则以所述最小差异度指向的所述指令拼音序列所对应的指令文本作为语音识别与匹配最终的结果文本进行输出。
25.进一步地,所述方法还包括以下步骤:
26.步骤5、若所述最小差异度大于预先设定的所述指令差异度阈值,则认为语音信号中的内容并非标准指令库中的指令,则将识别得到的所述拼音序列送入语言模型中计算所述拼音序列下出现概率最大的文本内容,并以所述文本内容作为所述语音识别与匹配最终的结果文本输出。
27.进一步地,所述步骤1包括以下步骤:
28.步骤1.1、利用程序和麦克风对说话人的声音进行录音;
29.步骤1.2、录音的采样频率为16khz,录音时间依据所述说话人所说内容长度而定;
30.步骤1.3、生成包括所述语言信号的文件,并保存为wav格式音频文件;
31.所述步骤2包括以下步骤:
32.步骤2.1、读入所述步骤1.3中得到的所述wav格式音频文件;
33.步骤2.2、对所述wav格式音频文件进行所述预处理,包括分帧、加窗和离散傅里叶变换操作,得到所述语音信号的时域和频域特征;
34.步骤2.3、对所述语音信号进行所述特征提取,依照所述神经网络模型的输入格式提取所述语音信号的所述语谱图和所述mfcc特征。
35.进一步地,所述步骤3中的所述神经网络模型包含多个卷积层和池化层,并采用ctc算法将输入序列和输出序列进行对应。
36.进一步地,所述步骤4包括以下步骤:
37.步骤4.1、基于所述动态时间规整算法建立指令匹配模块,用以计算两个序列的差异度;
38.步骤4.2、将所述神经网络模型识别所得的所述拼音序列作为所述指令匹配模块的输入;
39.步骤4.3、将所述拼音序列与预先设定的所述指令拼音集中的每一条指令拼音序列进行差异度计算,得到与所述拼音序列差异度最小的指令拼音序列和最小差异度;
40.步骤4.4、若所述最小差异度小于预先设定的所述指令差异度阈值,则以所述最小差异度指向的所述指令拼音序列所对应的所述指令文本作为所述语音识别与匹配最终的结果文本输出。
41.进一步地,所述指令差异度阈值的大小根据实际测试情况标定;在不同的应用场景下,所述指令差异度阈值不同。
42.本发明提供的一种用于有限句库的离线语音识别匹配装置与方法至少具有以下技术效果:
43.1、本发明实施例所提出的技术方案,首先利用神经网络对语音进行识别,然后再利用动态时间规整算法匹配指令库中与识别拼音序列最相似的指令拼音序列,从而得到对应文本,在说话人所说指令为指令库中标准指令时,能够大量减少计算时间和计算量,避免了传统的仅基于声学模型和语言模型结合的语音识别方式在识别指令数量有限时存在大量技术冗余,导致计算时间长或计算量大等问题;
44.2、若说话人所说指令并非指令库中标准指令时,后续的语言模型部分也能够满足非指令识别需求。通过将说话人所说内容进行是否在指令库中的分类后分开处理,能够更加高效地满足应用场景的多样化要求。
45.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
46.图1是本发明的一个较佳实施例的方法流程示意图;
47.图2是图1所示实施例的语音识别与拼音序列匹配模块结构图。
具体实施方式
48.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
49.传统的语音识别技术在神经网络得到大范围应用之后,利用神经网络将语音识别的计算时间和识别准确率进行了大程度提升,然而在面对离线并且说话人具有方言口音的语音时,神经网络却不能够得到一个理想的识别效果。在大多数应用场景中,说话人并未受过专业播音培训,在工作过程中可能存在语音带有口音或用词含有方言等情况,故传统的语音识别技术并不能很好地在离线并且说话人带有方言口音或说话有口误的情况下进行识别,并且传统的仅基于声学模型和语言模型结合的语音识别方式在识别指令数量有限时存在大量技术冗余,导致计算时间长或计算量大等问题。
50.针对现有技术存在的问题,本发明实施例提出了一种用于有限句库的离线语音识别匹配装置与方法,用以对离线且说话人具有口音或语音具有口误场景下的语音进行识别与匹配。该技术方案在对语言信号预处理后进行识别,将所得拼音序列与已预存储的指令集中指令的拼音序列进行差异度计算,从而匹配到正确的指令。
51.本发明实施例提出的技术方案将语音识别与拼音序列匹配相结合。首先,对语音信号进行采样录音后,对语音进行预处理,降低语音中的噪声影响,提高目标信号和噪声信号的对比度,使得有效信息更加明显;接下来进行语音特征提取,得到语音信号中的特征信息,再将语音的特征信息通过已预先训练完成的神经网络进行识别后得到初步的识别结果,该识别结果是一个拼音序列,可能由于口音或口误等问题而出现识别不准确的情况;将此识别得到的拼音序列通过匹配算法与已预存储的指令集中标准指令的拼音序列进行匹配,从而得到最相似(即差异度最小)的指令拼音序列,并根据指令库中拼音序列和文本的对应关系得到对应的指令文本;若所述语音与指令集中各条指令之间的差异度都高于预先设定的指令差异阈值,则认为该语音所述内容可能并非指令集中已有指令,保存原有神经网络输出,并通过语言模型计算出最可能的文本内容。
52.本发明实施例提出的首先利用神经网络对语音进行识别之后再利用动态时间规整算法匹配指令库中与识别拼音序列最相似的指令拼音序列,从而得到对应文本,在说话人所说指令为指令库中标准指令时能够大量减少计算时间和计算量。若说话人所说指令并非指令库中标准指令时,后续的语言模型部分也能够满足非指令识别需求。通过将说话人所说内容进行是否在指令库中的分类后分开处理,能够更加高效地满足应用场景的多样化要求。
53.具体来说,本发明实施例采用的技术方案包括一种用于有限句库的离线语音识别
匹配装置和方法,其中,一种用于有限句库的离线语音识别的方法流程示意图如图1所示,对语音进行采样录音后的离散语音信号保存为波形声音文件,基于该波形声音文件进行语音识别与拼音序列匹配,并输出匹配后的结果文本。
54.本发明提供的一种用于有限句库的离线语音识别匹配装置,如图2所示,包括:
55.预处理模块,预处理模块对语音信号进行预处理操作。在预处理模块中,预处理操作包括预加重、分帧和加窗,消除因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素对语音信号质量的影响,从而尽可能保证后续语音信号更均匀、平滑,提高语音处理的质量。预加重环节用来强化语音信号的高频部分的振幅。为了进行下一步的分析,利用分帧操作在语音信号中提取一定长度的信号,将其看作平稳信号并对其进行分析,分帧后得到的每一小段信号称作一帧。当直接截取语音信号的一帧后,每一帧两端的信号会突变为0,导致语音出现原始信号中不存在的特性,会干扰后续的处理,所以每一帧的帧长度取大于目标范围的长度,并对进行加窗操作,即对该范围使用向两端不断衰减的滤波器进行滤波,从而避免信号产生突变为0的点。
56.特征提取模块,特征提取模块连接预处理模块,对语音信号进行特征提取,得到语音信号的特征,包括语谱图和mfcc特征。语音信号在时域上和频域上的信息都具有分析价值,语音由基本频率的谐波的加权和构成,对通过预处理模块后的语音信号实施离散傅里叶变换,将语音的时域信号转换为多个单一信号的叠加,从而将同一信号从时域转换到频域,得到语音信号的频域特征,并将每一帧语音的频谱信息映射到一个灰度级表示,并按照时间顺序将每一帧拼接起来,得到语音的语谱图和mfcc特征。其中,语谱图是一个随着时间变化的频谱图,能够直观地看出语音静态和动态的信息。
57.神经网络模块,神经网络模块连接特征提取模块,将语音信号的语谱图作为神经网络的输入,得到语音信号中包含的拼音序列。神经网络模块是将语音识别为音素的重要环节。建立由多个卷积层和池化层组成的卷积神经网络,利用标准中文数据集对网络进行训练,将经过特征提取模块后得到的语音特征作为神经网络的输入,从而得到语音信号中包含的拼音序列。在说话人可能带有口音或口误的情况下,神经网络对其语音的识别的准确率会降低,可能由于带口音的普通话于标准普通话发音的差距而导致神经网络识别出错误的拼音。
58.指令匹配模块,指令匹配模块连接神经网络模块。为了在说话人有口音或口误的情况下正确识别出所说指令,指令匹配模块利用动态时间规整算法将神经网络模块识别得到的拼音序列和已预存储的标准指令集中各条指令的拼音序列进行差异度计算,匹配出与说话人语音中差异度最小的指令拼音序列;若该差异度小于或等于预先设定的指令差异阈值,则以该指令拼音序列所对应的指令文本作为语音识别与匹配最终的文本输出;若神经网络识别出的说话人语音与所有标准指令的差异度都大于指令差异阈值,则将神经网络识别出的拼音序列送入语言模型模块进行另一种处理,从而达到针对语音内容是否为已存储指令两种情况分类处理的目的。
59.语言模型模块,语言模型模块连接指令匹配模块,在指令匹配模块中,当拼音序列和已预存储的标准指令集中各条指令的拼音序列计算所得的差异度大于指令差异阈值时,将神经网络模块识别出的拼音序列输入语言模型模块中,通过语言模型计算拼音序列下出现概率最大的文本内容,并作为结果文本输出。语言模型模块是为了处理说话人所说命令
并非标准指令集中指令的情况而存在的。建立基于统计的语言模型模块,通过计算一句话中上下文之间有联系的概率来得到最有可能的语音文本。通过对大量的新闻报道和应用场景及专业领域文本进行词频统计,得到单字词和二字词的词频统计表。对于一个拼音序列,从第一个拼音到最后一个拼音,对第n个拼音,计算该拼音下对应的各个字与前n

1个字相关联的概率,最终选取所有可能文本中概率最大的一句文本作为语音识别与匹配最终的文本输出。
60.本发明还提供了一种用于有限句库的离线语音识别匹配的方法,具体如下:
61.首先对说话人语音进行采样录音,保存为wav格式音频文件,对该音频文件进行预处理和特征提取,将提取得到的语音特征作为神经网络的输入,已训练好的神经网络根据输入的语音特征进行计算识别,得到一个由说话人语音识别而来的拼音序列。基于动态时间规整算法的指令匹配模块计算神经网络识模块得到的识别拼音序列和标准指令库中所有指令拼音序列的差异度。若最小差异度小于指令差异度阈值,则以最小差异度指向的指令拼音序列所对应的标准指令作为语音识别与匹配最终的文本输出。若最小差异度大于指令差异度阈值,则认为说话人所说内容为标准指令库中未收录内容,则通过语言模型计算该拼音序列下出现概率最大的文本内容,以该文本内容作为语音识别与匹配最终的文本输出。
62.该方法具体包括以下步骤:
63.步骤1、对语音信号进行采样录音,具体包括以下步骤:
64.步骤1.1、利用程序和麦克风对说话人的声音进行录音;
65.步骤1.2、录音的采样频率为16khz,录音时间依据说话人所说内容长度而定;
66.步骤1.3、生成包括语言信号的文件,并保存为wav格式音频文件;
67.步骤2、对语音信号进行预处理和特征提取,获取语音信号的特征,包括语谱图和mfcc特征,具体包括以下步骤:
68.步骤2.1、读入步骤1.3中得到的wav格式音频文件;
69.步骤2.2、对wav格式音频文件进行预处理,包括分帧、加窗和离散傅里叶变换操作,得到语音信号的时域和频域特征;
70.步骤2.3、对语音信号进行特征提取,依照神经网络模型的输入格式提取语音信号的语谱图和mfcc特征。
71.步骤3、将提取得到的特征作为已训练好的神经网络模型的输入,进行计算识别,得到与语音信号对应的拼音序列。
72.其中,基于神经网络搭建语音识别的声学模型(即神经网络模型),用以将语音信号识别为拼音序列,并使用标准中文语音数据集对网络进行训练,具体包括以下步骤:
73.1)搭建神经网络,包含多个卷积层和池化层,并采用connectionist temporal classification(ctc)算法将输入序列和输出序列进行对应,使网络输出的结果为说话人语音的拼音序列;
74.2)以步骤2中所提取的语音特征作为神经网络模型的输入;
75.3)利用公开的中文标准语音数据集对神经网络进行训练。
76.其中,指令拼音集的构建包括收集所有可能出现的指令,制作指令集,并提取出指令集中每一条指令的每一个文字所对应的音素,得到指令拼音集,具体步骤如下:
77.1)建立包括通用发音和应用场景所涉及领域词发音的发音字典,该发音字典由1424个汉语常用音素及各个音素所对应的多个常用字组成,其中包含日常用字和应用场景所涉及领域的特殊单字;
78.2)收集应用场景将会涉及到的所有标准指令,制作文本指令集;
79.3)对文本指令集中的每一条指令,从指令的第一个字起开始,依次提取出指令中的每一个字,在发音字典中检索改字对应的拼音,并将拼音记录,重复该操作直到检索完该条指令的最后一个字的拼音,得到指令拼音序列;
80.4)重复上述3)的操作直到对文本指令集中每一条指令都进行了文本转拼音的操作,得到各条指令的拼音序列,将各拼音序列按照文本指令集所对应的中各指令的顺序进行排列,从而得到指令拼音集。
81.步骤4、将识别的拼音序列与预先设定的指令拼音集中的每一条指令拼音序列通过动态时间规整算法进行差异度计算,得到与拼音序列差异度最小的指令拼音序列,以及最小差异度。
82.具体包括以下步骤:
83.步骤4.1、基于动态时间规整算法建立指令匹配模块,用以计算两个序列的差异度;
84.步骤4.2、将神经网络模型识别所得的拼音序列作为指令匹配模块的输入;
85.步骤4.3、将拼音序列与预先设定的指令拼音集中的每一条指令拼音序列进行差异度计算,得到与拼音序列差异度最小的指令拼音序列和最小差异度;
86.步骤4.4、若最小差异度小于或等于预先设定的指令差异度阈值,则以最小差异度指向的指令拼音序列所对应的指令文本作为语音识别与匹配最终的结果文本输出。
87.若最小差异度大于指令差异度阈值,说明识别拼音序列与所有指令拼音序列的差异度都大于指令差异度阈值,则认为说话人语音中的内容并非标准指令库中指令,则将神经网络上识别得到的识别拼音序列送入语言模型模块进行拼音转文字操作,即为步骤5。
88.在步骤5中,将识别得到的拼音序列送入语言模型中计算拼音序列下出现概率最大的文本内容,并以文本内容作为语音识别与匹配最终的结果文本输出。
89.步骤5将建立基于统计学的语言模型,实现将拼音转化为文本,用以在神经网络输出与标准指令集中的各条标准指令的差异度都高于指令差异阈值时将神经网络输出的拼音转化为文本内容,具体包括以下步骤:
90.1)对大量的新闻报道和应用场景领域文本进行词频统计,得到单字词和二字词的词频统计表;
91.2)在神经网络模型中识别得到的拼音序列中,对于其中的第n个拼音,计算该拼音下所对应的各个字与前n

1个字相关联的概率;
92.3)得到所有可能文本中上下文概率最大的一句文本内容;
93.4)将该文本内容作为语音识别与匹配最终的结果文本输出。
94.其中,指令差异度阈值的大小根据实际测试情况标定;在不同的应用场景下,指令差异度阈值不同。
95.本发明实施例提出在利用神经网络作为声学模型识别出说话人语音的拼音序列后,利用差异度计算的方式分类说话内容,并根据说话内容是否属于标准指令集来选择使
用拼音序列匹配的方式或语言模型的方式获取最终输出文本内容的思想,极大程度提高了在离线、说话人具有方言口音或口误且识别指令数量有限的应用场景下的语音识别的计算效率。
96.本发明实施例所提供的技术方案解决了传统基于神经网络的语音识别在离线的、具有口音或口误的有限数据集的识别率不高、效率低下的问题,通过差异度计算环节分类处理说话人语音,以匹配的方式对更多可能出现的指令进行高效计算,同时以语言模型应对可能出现的特殊情况,提高了语音识别在离线、说话人具有方言口音或口误且识别指令数量有限的特殊应用场景下的计算效率。
97.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。