一种语音识别方法、装置及存储介质与流程

文档序号:24124930发布日期:2021-03-02 13:00阅读:111来源:国知局
一种语音识别方法、装置及存储介质与流程

[0001]
本发明涉及语音识别领域,尤其涉及一种语音识别方法、装置及存储介质。


背景技术:

[0002]
随着人工智能科技的不断推广应用,语音交互产品日益走进人们的工作和生活。其中,大部分语音交互的过程都是通过用户说出唤醒命令词来启动的。但用过语音交互设备的人也经常会有这样的体验:并没有人对它说出唤醒命令词时,语音设备却被唤醒了的情况,这也被称为误唤醒。
[0003]
出现这一情况主要是因为语音交互设备会周期性地采集语音,并对采集到地语音进行唤醒命令词检测,而有些语音信号与唤醒命令词语音信号的相似度非常高,从而被错误地识别为唤醒命令词。
[0004]
现在降低误唤醒的方法主要是加大语音的数据量和检测算法的参数量与鲁棒性。但遗憾地是,实践证明这些方案的效果并不尽如人意。有的方案只能在某些场景下会对误唤醒率有所改善,而在大多数情况下依然无法大幅度的降低误唤醒率;而有的方案,虽然可以降低误唤醒率,但也会对唤醒率产生负面影响。
[0005]
因此,如何降低误唤醒率并减少对唤醒率的影响,还是一个尚待解决的技术问题。


技术实现要素:

[0006]
针对以上问题,本发明实施例提供了一种语音识别方法、装置及存储介质。
[0007]
根据本发明实施例第一方面,一种语音识别方法,该方法包括:接收第一语音信号;检测第一语音信号是否包含预置命令词,若是,则对第一语音信号进行至少一次转换处理得到第二语音信号,并进一步检测第二语音信号是否包含预置命令词,若是,则执行与预置命令词对应的操作。
[0008]
根据本发明实施例一实施方式,对第一语音信号进行至少一次转换处理得到第二语音信号,包括:对第一语音信号进行第一转换处理得第二语音信号。
[0009]
根据本发明实施例一实施方式,第一转换处理,包括变速处理。
[0010]
根据本发明实施例一实施方式,第一转换处理,包括音色转换处理。
[0011]
根据本发明实施例一实施方式,对第一语音信号进行至少一次转换处理得到第二语音信号,包括:对第一语音信号进行第一转换处理得第三语音信号;检测第三语音信号是否包含预置命令词,若是,则对第三语音信号进行第二转换处理得第二语音信号。
[0012]
根据本发明实施例一实施方式,第一转换处理包括变速处理,第二转换包括音色转换处理。
[0013]
根据本发明实施例一实施方式,检测第一语音信号是否包含预置命令词时和并进一步检测第二语音信号是否为唤醒命令时,所采用的检测方法相同。
[0014]
根据本发明实施例一实施方式,检测方法均执行在客户端。
[0015]
根据本发明实施例第二方面,一种语音识别装置,该装置包括:语音接收模块,用
于接收第一语音信号;第一预置命令词检测模块,用于检测第一语音信号是否包含预置命令词;语音信号转换模块,用于对第一语音信号进行至少一次转换处理得到第二语音信号;第二预置命令词检测模块,用于进一步检测第二语音信号是否包含预置命令词;操作执行模块,用于执行与预置命令词对应的操作。
[0016]
根据本发明实施例一实施方式,语音信号转换模块具体用于对第一语音信号进行第一转换处理得第二语音信号。
[0017]
根据本发明实施例一实施方式,语音信号转换模块包括:第一转换处理子模块,用于对第一语音信号进行第一转换处理得第三语音信号;第二转换处理子模块,用于对第三语音信号进行第二转换处理得第二语音信号。
[0018]
根据本发明实施例一实施方式,第一预置命令词检测模块和第二预置命令词检测模块所采用的检测方法相同。
[0019]
根据本发明实施例一实施方式,第一预置命令词检测模块和第二预置命令词检测模块均设置在客户端。
[0020]
根据本发明实施例第三方面,一种计算机存储介质,在存储介质上存储了程序指令,其中,程序指令在运行时用于执行上述任一项的语音识别方法。
[0021]
本发明实施例提供了一种语音识别方法、装置及存储介质,该方法包括:接收用户输入的语音信号;检测该语音信号是否包含预置命令词,若是,则对该语音信号进行转换处理得到第二语音信号,并进一步检测第二语音信号是否包含预置命令词,若是,则执行与预置命令词对应的操作。其中,如果用户输入的语音信号不包含预置命令词,则经过转换处理之后,其与预置命令词的相似度会下降,更易于被识别为非预置命令词;而由于对话系统往往会收录预置命令词的更多特征,对正确预置命令词的容错性也较高,因此,如果用户输入的语音信号真的包含预置命令词,则经过转换处理之后,也依然会被识别为预置命令词。如此,经过转换处理之后的语音信号被误识为预置命令词的错误率大幅降低,且对正确预置命令词的识别率所产生的影响也非常微小。
[0022]
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
[0023]
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0024]
在附图中,相同或对应的标号表示相同或对应的部分。
[0025]
图1为本发明实施例语音识别方法的实现流程示意图;
[0026]
图2为本发明实施例一应用语音识别方法的具体实现流程示意图;
[0027]
图3为本发明实施例语音识别装置的组成结构示意图。
具体实施方式
[0028]
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0030]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0031]
图1示出了本发明实施例语音识别方法的实现流程。参考图1,该方法包括:操作110,接收第一语音信号;操作120,检测第一语音信号是否包含预置命令词,若是,则对第一语音信号进行至少一次转换处理得到第二语音信号,并进一步检测第二语音信号是否包含预置命令词,若是,则执行与预置命令词对应的操作。
[0032]
在操作110中,第一语音信号主要指语音接收设备所接收到的类似人声的音频信号。语音接收设备包括各种类型的麦克风、耳麦和音频信号接收器等。第一语音信号通常是经过去噪、过滤和增强等预处理后得到的音频信号,预处理后的音频信号更易于进行语音识别。
[0033]
在操作120中,预置命令词主要指系统预先设置的一个特定命令词,并关联有特定的操作,当用户说出该预置的特定命令词,就会执行相应地操作。例如,当用户说出唤醒命令词时就会执行唤醒操作并启动对话程序。此处的预置主要指在对话之前预先设置的,而并非不可改变的,该预置的命令词也可以是用户根据个人喜好自定义的。
[0034]
检测第一语音信号是否包含预置命令词时所使用的检测方法和进一步检测第二语音信号是否为唤醒命令时所采用的检测方法可以不同,也可以相同。实施者可根据实施条件和实施意图,选取任何适用的实施方式。
[0035]
检测第一语音信号是否包含预置命令词时的检测和进一步检测第二语音信号是否为唤醒命令时的检测可都在客户端中执行,也可以分别在客户端和服务器端执行。实施者可根据实施条件和实施意图,选取任何适用的实施方式。
[0036]
例如,检测第一语音信号或第二语音信号是否包含预置命令词的过程可以包括:对第一语音信号进行采样得到波形数据;然后,将这些波形数据输入到特征提取模块,提取出合适的声学特征参数;接着,将提取到的声学特征参数输入到声学模型(例如,隐马尔科夫模型)进行语音识别得到一个分类结果;之后,根据分类结果判断第一语音信号是否包含预置命令词。
[0037]
其中,声学模型在进行语音识别时,主要通过比对声学特征参数空间分布,并根据其相似度大小来判断语音信号中是否包含预置命令词。而之所以会出现将不是预置命令词的语音信号误识为预置命令词的情况,主要是因为该语音信号在经过特征提取模块处理后
所得到的声学特征参数空间分布恰好与预置命令词所对应的声学特征参数空间分布相近,故而被误识为预置命令词。但非预置命令词与预置命令词的相似度往往不会太高,稳定性差,具有一定偶然性,有可能再说一遍就不会被识别为预置命令词。
[0038]
因此,在第一语音信号被识别为预置命令词的情况下,对第一语音信号再进行一次或多次转换,使其声学特征参数空间分布发生一定变化产生拉升、延展或压缩的效果。对于非预置命令词的语音信号来说,拉升、延展或压缩后的声学特征参数空间分布会增大其与预置命令词声学特征参数空间分布的区别,从而更易于被识别为非预置命令词;而对于是预置命令词的语音信号来说,由于声学模型往往经过各种语速、各种口音、各种音调和各种音色的预置命令词语音信号的训练得到的,收录有各种预置命令词语音信号所具有的各种可能特征,包括最基本的基频特征,因此,即使经过一次或多次转换使声学特征参数空间分布发生一定变化,也依然可以被大概率地识别为预置命令词。如此,预置命令词误识率会大幅下降,且还不会影响到正确预置命令词的识别率。
[0039]
其中,转换处理主要就是指可以声学特征参数空间分布一定变化产生拉升、延展或压缩的效果的转换处理。本发明实施例并不限定转换处理的具体方法,只要能使声学特征参数空间分布发生一定变化产生拉升、延展或压缩的效果的转换处理方法,均可采用。如果经过一次转换后效果不理想,实施者还可以通过修改参数来调整转换幅度,或进行多次转换,甚至可以在每次转换中使用不同的方法以最终达到预期效果。
[0040]
根据本发明实施例一实施方式,对第一语音信号进行至少一次转换处理得到第二语音信号,包括:对第一语音信号进行第一转换处理得第二语音信号。
[0041]
一般情况下,如果在对第一语音信号进行转换处理时,所选用的方法适宜的话,就可以大幅降低预置命令词的误识别率,而无需对预置命令词进行多次转换。
[0042]
因此,在本发明实施方式中,对第一语音信号只进行一次转换处理。但需要说明的是,第一处理转换处理的具体方法的选择非常重要,如果选择得当,则不仅可大幅降低误识率,还可有效地节省运算资源;反之,如果选择不当,则无法达到降低误识率的期望,并有可能还需要进行多次转换,消耗更多的运算资源,使处理变慢。
[0043]
因此,一方面建议在进行第一处理转换时,采用经过转换处理后所得到的声学特征参数空间分布变化幅度较大的转换处理方法;另一方面建议使用更多具有各种不同声学特征、且识别结果为“是预置命令词”的训练数据,对声学模型进行训练,使声学模型能保持对预置命令词的识别的鲁棒性。如此,可取得更小的误识率。
[0044]
根据本发明实施例一实施方式,第一转换处理,包括变速处理。
[0045]
对语音信号进行变速处理,例如,加快语速或减慢语速,可延展或压缩声学特征参数空间分布,从而实现增大与预置命令词所对应的声学特征参数空间分布的区别,更易于识别为非预置命令词的预期。
[0046]
此外,变速处理通常只会改变语速而不会改变基频值,而大多声学模型都收录有预置命令词的基频特征,这就使得正确预置命令词在经过变速处理之后仍然可以保持能够被声学模型识别出来的基频特征,仍然可以被识别为预置命令词,这样就不会影响正确预置命令词的识别率。
[0047]
常用的变速处理方法有时域法、频域法、参量法,例如,sola、lsee-mstftm、相位声码器等。在本发明实施方式中,并不限定具体的变速处理方法和实施细节,实施者可根据实
施条件和实施效果自主确定。
[0048]
根据本发明实施例一实施方式,第一转换处理,包括音色转换处理。
[0049]
音色变换本身就是一种改变说话人声音特征的技术。音色变换时,可通过事先建立的规则,例如gauss混合模型、线性多变量回归和stargan等,将源特征映射到目标特征。因此,对语音信号进行音色转换处理,可改变声学特征参数空间分布,从而实现增大与预置命令词所对应的声学特征参数空间分布的区别,更易于识别为非预置命令词的预期。
[0050]
但需要注意的是,声色转换也同样会改变正确预置命令词的声学特征,因此,采用本实施方式时,往往需要使用更多不同声色的正确预置命令词语音数据对声学模型进行充分训练,以使得声学模型继续保持对预置命令词识别的鲁棒性。
[0051]
根据本发明实施例一实施方式,对第一语音信号进行至少一次转换处理得到第二语音信号,包括:对第一语音信号进行第一转换处理得第三语音信号;检测第三语音信号是否包含预置命令词,若是,则对第三语音信号进行第二转换处理得第二语音信号。
[0052]
如前所述,当采用第一转换处理方法进行一次转换处理之后,误识率得效果仍不理想或对误识率要求较为严苛的情况下,可以考虑进行多次转换处理。
[0053]
在本发明实施方式中,就再进行了第一转换处理之后,如果仍被识别为预置命令词时,则进一步进行第二转换处理。非预置命令词语音在经过两次转换处理之后仍被误识为预置命令词的可能性更小,因此误识率会更低。
[0054]
根据本发明实施例一实施方式,第一转换处理包括变速处理,第二转换包括音色转换处理。
[0055]
当第一转换处理和第二转换处理的转换原理不同,且效果不被抵消的情况下,降低误识率的效果会更明显。且将降低误识率的效果更明显的转换处理作为第一转换处理,还可进一步节省运算资源,缩短处理时间。
[0056]
在本实施方式中,就将变速处理作为第一转换处理,将音色转换处理作为第二处理。在进一步降低误识率的情况下,也不会消耗过多的运算资源。
[0057]
根据本发明实施例一实施方式,检测第一语音信号是否包含预置命令词时和并进一步检测第二语音信号是否为唤醒命令时,所采用的检测方法相同。
[0058]
如前所述,检测第一语音信号是否包含预置命令词时所使用的检测方法和一步检测第二语音信号是否为唤醒命令时,所采用的检测方法可以不同,也可以相同。
[0059]
在本实施方式中,检测第一语音信号是否包含预置命令词时和并进一步检测第二语音信号是否为唤醒命令时,所采用的检测方法相同,如此可重复利用语音检测模块,且当检测方法相同时,可排除检测方法不同所带来的干扰,进一步凸显声学特征的变化所产生的差异,因而降低误识率的效果更好。
[0060]
根据本发明实施例一实施方式,检测方法均执行在客户端。
[0061]
此处的客户端主要指语音交互设备端,与进行语义分析和自然语言理解以及确定应答语句的云端服务器相对。
[0062]
如前所述,检测第一语音信号是否包含预置命令词时的检测和进一步检测第二语音信号是否为唤醒命令时的检测可都在客户端中执行,也可以分别在客户端和服务器端执行。
[0063]
在本实施方式中,检测第一语音信号是否包含预置命令词时的检测和进一步检测
第二语音信号是否为唤醒命令时的检测可都在客户端中执行。因为,本发明实施例语音识别方法对第二语音信号的检测精度并没有特别要求,无需比第一语音信号的检测精度更高,因此,可以适用检测精度均适合在客户端执行的检测方法。
[0064]
当检测第一语音信号是否包含预置命令词时的检测和进一步检测第二语音信号是否为唤醒命令时的检测可都在客户端中执行,减免了与服务器之间的网络传输过程,响应速度更快。
[0065]
图2示出了本发明实施例一应用语音识别方法的具体实现流程示意图。该应用中本发明实施例语音识别方法进行唤醒命令词的识别,两次语音特征检测采用同一唤醒命令词检测方法,且该唤醒命令词检测方法执行在语音识别的客户端。
[0066]
具体地,该应用语音识别方法的具体实现流程包括:
[0067]
步骤2010,接收语音信号;
[0068]
步骤2020,周期性对语音信号进行缓冲;
[0069]
步骤2030,对语音信号进行特征提取,并缓冲提取到的特征;
[0070]
步骤2040,判断缓冲的数据量是否达到某一数据量,若是,则继续步骤2050,若否,则继续回到步骤2030;
[0071]
步骤2050,对缓冲的特征执行检测算法,判断语音信号是否包含唤醒命令词,若是,则继续步骤2060,若否,则继续步骤2070,不唤醒对话程序;
[0072]
步骤2060,对缓冲的特征进行变速处理;
[0073]
步骤2080,对经过变速处理的特征执行检测算法,判断语音信号是否包含唤醒命令词,若是,则继续步骤2090,若否,则继续步骤2070,不唤醒对话程序;
[0074]
步骤2090,唤醒对话程序。
[0075]
为了进一步验证采用本发明实施例语音识别方法对误唤醒率的降低程度,本发明人利用上述应用,在同一执行环境下,分别执行未进行二次检测的语音识别方法和本发明实施例语音识别方法进行唤醒命令词识别,并分别对执行两种方法所产生的唤醒率和误唤醒率进行了统计,其结果如表1所示:
[0076][0077]
表1
[0078]
其中,正向测试集为语音信号中包含唤醒命令词的测试集;而负向测试集为语音信号中不包含唤醒命令词的测试集;序号1为使用未进行二次检测的语音识别方法的统计结果;序号2为本发明实施例语音识别方法的统计结果。
[0079]
可以看出,与未进行二次检测的语音识别方法相比,采用本发明实施例语音识别方法的唤醒率没有影响,而误唤醒率则降低了82%左右。
[0080]
需要说明的是上述本发明实施例的具体应用仅为示例性说明,并非对本发明实施例实施方式和应用场景的限定,实施者可根据实施条件采用任何适用的实施方式应用于任
何适用的应用场景。
[0081]
进一步地,本发明实施例还提供一种语音识别装置,如图3所示,该装置30包括:语音接收模块301,用于接收第一语音信号;第一预置命令词检测模块302,用于检测第一语音信号是否包含预置命令词;语音信号转换模块303,用于对第一语音信号进行至少一次转换处理得到第二语音信号;第二预置命令词检测模块304,用于进一步检测第二语音信号是否包含预置命令词;操作执行模块305,用于执行与预置命令词对应的操作。
[0082]
根据本发明实施例一实施方式,语音信号转换模块303具体用于对第一语音信号进行第一转换处理得第二语音信号。
[0083]
根据本发明实施例一实施方式,语音信号转换模块303包括:第一转换处理子模块,用于对第一语音信号进行第一转换处理得第三语音信号;第二转换处理子模块,用于对第三语音信号进行第二转换处理得第二语音信号。
[0084]
根据本发明实施例一实施方式,第一预置命令词检测模块302和第二预置命令词检测模块304所采用的检测方法相同。
[0085]
根据本发明实施例一实施方式,第一预置命令词检测模块302和第二预置命令词检测模块304均设置在客户端。
[0086]
根据本发明实施例第三方面,一种计算机存储介质,在存储介质上存储了程序指令,其中,程序指令在运行时用于执行上述任一项的语音识别方法。
[0087]
这里需要指出的是:以上针对语音识别配置实施例和以上针对计算机存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本发明实施例对语音识别配置实施例的描述和对计算机存储介质实施例的描述尚未披露的技术细节,请参照本发明前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
[0088]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0089]
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0090]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0091]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
[0092]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0093]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0094]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1