一种修复输入语音的方法及其装置的制造方法_3

文档序号:9709482阅读:来源:国知局
的语音字段;
[0055]修复模块32,用于当所述输入语音中存在待修复的语音字段,则从所述预设的语音识别库中获取与所述待修复的语音字段相匹配的纠正语音字段;以及
[0056]替换模块33,用于将所述纠正语音字段替换所述输入语音中的待修复语音字段,得到修复后的输入语音。
[0057]本申请检索模块31确定输入语音是否存在待修复的语音字段,所述修复模块32获取与所述待修复的语音字段相匹配的纠正语音字段,所述替换模块33将所述纠正语音字段替换所述输入语音中的待修复语音字段,得到修复后的输入语音。因此,本申请对输入语音进行了识别与修复,保证了输入语音的完整性,提升了用户体验。
[0058]为了得到更好的语音识别效果,参看图4,本申请还包括处理模块34,用于对接收的输入语音中的语音字段进行识别前,先对原始输入语音进行前端处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。最常用的前端处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行。语音增强就是消除环境噪声对语音的影响。
[0059]所述输入语音进行前端处理后,所述检索模块31根据预设的语音识别库对前端处理后的输入语音中的每个语音字段进行识别,确定所述输入语音中是否存在待修复的语音字段。由于输入语音的结尾阶段容易存在一个或多个字段的缺失,所述检索模块31亦可仅对输入语音中结尾部分的语音字段进行识别,以确定所述输入语音中是否存在待修复的语音字段。
[0060]所述检索模块31将所述进行前端处理后的输入语音根据预设拆分规则拆分成至少一句话。具体地,所述拆分规则包括语速、间隔、关键语音字段中至少一种。例如,当一段输入语音中出现然后、并且、但是等关键语音字段时,对其进行拆分。或者,当一段输入语音中出现间隔大于间隔阈值,则对其进行拆分。或者当一段输入语音中出现明显不同语速时,则对其进行拆分。当然,亦可同时根据上述任意两种或者全部三种拆分规则进行输入语音的拆分。
[0061]所述检索模块31将输入语音进行拆分后,分别对拆分后的每句话进行字段切分,将每句话切分成多个语音字段,具体地,所述语音字段为字、词或者语素。
[0062]例如,用户输入语音为“我今天先去买东西//然后去公园//最后去吃了饭//很累了 //不和你*#”,其中//表示间隔2ms,间隔阈值为1ms。预设的拆分规则为间隔以及关键语音字段,所述检索模块31对其进行拆分后得到5句话,分别为“我今天先去买东西”、“然后去公园”、“最后去吃了饭”、“很累了”、“不和你*#”,其中*、#为模糊发音。所述检索模块31分别对上述5句话进行字段切分,比如,将“不和你*#”切分成为“不”、“和”、“你”、
[0063]本申请所述检索模块31对输入语音进行拆分,分别对拆分后的输入语音进行语音识别处理,大大降低了语音识别算法的计算量,令服务器11占用了更少的内存和CPU资源。
[0064]另外,具体地,所述服务器11中预先存储的语音识别库可以根据待修复的语音字段通过识别算法的修复模型获得纠正语音字段。所述语音识别库将保存的待修复的语音字段作为查询索引,如果查询的语音字段命中该查询索引中保存的语音字段,则表明该查询的语音字段为待修复的语音字段。所述语音识别库采用人工收集或者机器采集的方式进行建立,根据不同语言的发音特点建立,比如MIT Media lab Speech Dataset (麻省理工学院媒体实验室语音数据集)、Pitch and Voicing Estimates for Aurora 2 (Aurora2 语音库的基因周期和声调估计)'Congress1nal speech data(国会语音数据)、Mandarin SpeechFrame Data (普通话语音巾贞数据)等。
[0065]值得注意的是,本申请语音识别库中的待修复语音字段和纠正语音字段并非一一对应的关系,不同的待修复语音字段可以由于识别算法的不同对应相同的纠正语音字段,同一待修复语音字段也可以由于识别算法的不同对应多个不同的纠正语音字段。语音识别中通常采用不同的识别算法共同进行识别以提高识别的准确度,通用的语音识别算法如HMM语音识别模型与算法、BMM语音识别模型与算法等。
[0066]例如,所述语音识别库中保存有待修复的语音字段“*”,可以通过识别算法获得其对应的纠正语音字段“说”,所述语音识别库中保存有待修复的语音字段“#”,可以通过识别算法获得其对应的纠正语音字段“了”。当然,所述待修复的语音字段“*”,也可以通过其他识别算法获得其对应的其他纠正语音字段“所”,所述待修复的语音字段“#”,也可以通过其他识别算法获得其对应的其他纠正语音字段“在”。所述语音识别库将待修复的语音字段
和“#”作为查询索引。
[0067]在本申请一具体实现中,如果所述检索模块31确定存在待修复的语音字段,所述修复模块32使用不同的识别算法从所述语音识别库中对所述待修复的语音字段进行识别,获得该待修复的语音字段对应的一个纠正语音字段。所述替换模块33将该纠正语音字段替换所述输入语音中的待修复语音字段,从而得到修复后的输入语音。
[0068]例如,输入语音“不和你*#”中查询的语音字段“不”、“和”、“你”、存在待修复的语音字段“*”、“#”,则从所述语音识别库中识别出与待修复的语音字段分别对应的纠正语音字段“说”、“ 了 ”。将待修复的语音字段“*”、“#,,替换成对应的纠正语音字段“说”、“了”。输入语音“不和你*#”修复成为“不和你说了”。
[0069]如所述修复模块32从预设的语音识别库中针对该待修复的语音字段采用各种语音识别算法均无法获得纠正语音字段。这样,虽然输入语音存在待修复的语音字段,但是无法利用语音识别算法根据语音识别库获得与所述待修复的语音字段相匹配的纠正语音字段时,即可放弃对所述输入语音进行修复。
[0070]在本申请另一具体实现中,如果检索模块31确定存在待修复的语音字段,但是修复模块32从所述预设的语音识别库中针对该待修复的语音字段采用各种语音识别算法均无法获得纠正语音字段。这样,虽然输入语音存在待修复的语音字段,但是无法利用语音识别算法根据语音识别库获得与所述待修复的语音字段相匹配的纠正语音字段时,则根据预设的模糊音选优填字算法选择语音字段作为纠正语音字段。所述模糊音选优填字算法采用现有的模糊控制表查询或者模糊计算公式,其原理为找出语音识别库中与该查询的待修复的语音字段接近的语音字段所对应的纠正语音字段作为该查询的待修复的语音字段对应的纠正语音字段。
[0071]例如,所述预设的语音识别库中针对该待修复的语音字段采用各种语音识别算法均无法获得纠正语音字段。这样,虽然输入语音存在待修复的语音字段“*”、“#”,但是无法利用语音识别算法根据语音识别库获得与所述待修复的语音字段相匹配的纠正语音字段。需要采用模糊音选优填字算法,找出语音识别库中与该查询的待修复的语音字段接近的语音字段丨,,、“#丨”所对应的纠正语音字段作为该查询的待修复的语音字段对应的纠正语音字段。所述语音识别库中保存语音字段',,、“#, ”所对应的纠正语音字段为“说”、“ 了 ”,则选择语音字段“说”、“ 了 ”作为所述待修复的语音字段“*”、
的纠正语音字段。
[0072]在本申请再一具体实现中,如果检索模块31确定存在待修复的语音字段,所述修复模块32采用各种语音识别算法从所述预设的语音识别库中针对该待修复的语音字段获得该待修复的语音字段对应的至少两个纠正语音字段。
[0073]参
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1