识别语音的方法和装置与流程

文档序号:14716568发布日期:2018-06-16 01:28阅读:181来源:国知局
识别语音的方法和装置与流程

本发明涉及智能控制领域,具体而言,涉及一种识别语音的方法和装置。



背景技术:

随着科学技术的快速发展,通过语音控制智能设备的方法在各行各业中得到了广泛的推广。但在比较嘈杂的环境中,智能设备对语音的接收率较低,同时,对识别语音的准确率也比较低。另外,当用户的语音中包含了控制智能设备的命令词时,智能设备根据用户语音中的命令词完成相应的操作,但此时用户并不想对智能设备进行控制,例如,用户的语音内容为“CCTV1中的节目很好看”,电视机从用户的语音内容中提取到“CCTV1”的关键词,并将当前的电视节目跳转到CCTV1的电视节目中。由上述内容可知,现有的通过语音控制智能设备的方法具有误识别的缺陷。

另外,为解决上述问题,现有技术主要是通过声纹识别对混合声源(即语音和非语音混合在一起的声源)进行分类筛选,然后对筛选出的语音进行单一声源的选择性处理。执行上述方法的设备需要进行大量的计算工作,影响了设备性能,从而降低了识别语音的准确率。

针对上述现有技术中语音识别效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种识别语音的方法和装置,以至少解决现有技术中语音识别效率低的技术问题。

根据本发明实施例的一个方面,提供了一种识别语音的方法,包括:确定待识别语音;从待识别语音包含的多个声段中确定有效声段;根据有效声段中提取到的命令词,获取待识别语音的识别结果。

根据本发明实施例的另一方面,还提供了一种识别语音的装置,包括:第一确定模块,用于确定待识别语音;第二确定模块,用于从待识别语音包含的多个声段中确定有效声段;获取模块,用于根据有效声段中提取到的命令词,获取待识别语音的识别结果。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行识别语音的方法。

根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行识别语音的方法。

在本发明实施例中,采用声纹识别对语音进行识别的方式,通过确定待识别语音,从待识别语音包含的多个声段中确定有效声段,并根据有效声段中提取到的命令词获取待识别语音的识别结果,达到了准确识别语音的目的,从而实现了提高语音识别的准确率的技术效果,进而解决了现有技术中语音识别效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种识别语音的方法流程图;

图2是根据本发明实施例的一种可选的对混合声音进行分类的示意图;

图3是根据本发明实施例的一种可选的划分独立声段的示意图;

图4是根据本发明实施例的一种可选的确定有效声段的示意图;以及

图5是根据本发明实施例的一种识别语音的装置结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种识别语音的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的识别语音的方法流程图,如图1所示,该方法包括如下步骤:

步骤S102,确定待识别语音。

需要说明的是,在比较嘈杂的环境中,环境中的声音包括非语音和语音,其中,非语音为除人的语音之外的声音,例如,车辆行驶的声音。而上述待识别语音即为人的语音。为了能够对人的语音进行准确的识别,需要将语音从嘈杂环境的声音中提取出来,其中,可以采用声纹识别的方法将待识别语音从嘈杂环境的声音中提取出来。

对声音进行声纹识别的过程主要包括特征提取以及语音识别。其中,特征提取过程的任务是提取并选择对说话人的声纹具有可分性强、稳定性高等特性的声学或语音特征。而较好的声学或语音特征不仅能够有效地区分不同的说话人,还能在同一说话人的语音发生变化时,仍能保持相对的稳定的抗噪性能。在提取到声音的声学或语音特征之后,再根据声音的声学或语音特征进行语音识别。其中,语音识别技术广泛应用于互联网和智能家居行业,主要是将声音信号通过识别和解析的方式转变为相应的控制指令的过程。语音识别技术主要包括特征提取技术、模式匹配技术和模型训练技术。

此外,还需要说明的是,通过声纹识别技术从嘈杂环境的声音中提取出语音和非语音,在之后的语音处理中,仅对语音进行处理,由此可提高嘈杂环境下对语音的识别准确率。

步骤S104,从待识别语音包含的多个声段中确定有效声段。

需要说明的是,上述有效声段中所包含的命令词为控制智能设备完成相应操作的命令词,而非有效声段中所包含的命令词不能对智能设备进行控制。例如,非有效声段的语音内容为“每当我关闭空调时,我家的狗都会很烦躁”,而有效声段的语音内容为“快点打开空调”,智能设备的处理器可根据有效声段中的命令词“打开空调”而启动空调,但不会根据非有效声段中的命令词“关闭空调”而对空调进行关闭操作。

此外,还需要说明的是,从待识别语音所包含的多个声段中确定有效声段,并使用有效声段中的命令词来控制智能设备,而非有效声段中的命令词不能控制智能设备,从而有效避免了对语音的误识别。

步骤S106,根据有效声段中提取到的命令词,获取待识别语音的识别结果。

需要说明的是,命令词为用于控制智能设备的词语,例如,“打开空调”、“关闭空调”。

具体的,在从有效声段中提取出命令词之后,智能设备的处理器还需要对命令词进行进一步处理,例如,将命令词转换为与其对应的控制指令,智能设备的处理器将控制指令发送给智能设备的其他单元,执行与控制指令对应的操作。

基于上述步骤S102至步骤S106所限定的方案,可以获知,通过确定待识别语音,从待识别语音包含的多个声段中确定有效声段,并根据有效声段中提取到的命令词获取待识别语音的识别结果。

容易注意到的是,由于待识别语音包含多个声段,多个声段中可能均包含命令词,因此,如果只提取声段中的命令词可能会造成对语音的误识别,因此,在确定了待识别语音所包含的多个声段之后,从多个声段中确定有效声段,对有效声段中的命令词进行语音识别,可以减少由于较长的语音中包含命令词而导致语音误识别现象的发生,从而进一步提高了语音识别的准确率。

上述内容可知,本实施例可以达到准确识别语音的目的,从而实现了提高语音识别的准确率的技术效果,进而解决了现有技术中语音识别效率低的技术问题。

在一种可选的实施例中,确定待识别语音包括:

步骤S1020,获取混合声音,其中,混合声音至少包括语音和非语音;

步骤S1022,采用声纹识别算法从混合声音中提取出至少一个语音;

步骤S1024,基于声纹识别算法对至少一个语音进行分类处理,得到分类结果;

步骤S1026,从分类结果中确定待识别语音。

具体的,如图2所示的一种可选的对混合声音进行分类的示意图。在图2中,箭头的左边为从混合声音中所提取到的人的语音,该人的语音中包含两个声源,这两个声源可能来自于不同的用户,其中,黑色矩形表示声源1中的多个声段,白色矩形表示声源2中的多个声段。由于不同用户的语音所具有的语音特征是不相同的,因此,可根据每个用户的语音特征将多个语音进行区分,即对至少一个语音进行分类处理,其分类结果为图2中箭头的右边所示,由图2可知,声源1由声段1、声段4、声段5和声段6组成,声源2由声段2、声段3和声段7组成。

另外,并不是所有的用户均可对智能设备进行语音控制,只有满足一定权限的用户才可控制智能设备,因此,在将至少一个语音区分开来之后,可将区分得到的多个语音的语音特征与智能设备中预存的语音特征进行匹配,如果匹配成功,则将匹配成功的语音作为待识别语音;如果匹配不成功,则舍弃匹配不成功的语音。

需要说明的是,可通过机器学习的方式从混合声音中提取出至少一个语音,具体步骤如下:

步骤S1022a,使用预设模型对混合声音进行分析,确定混合声音中的至少一个语音,其中,预设模型为使用多组声音数据通过机器学习训练得到的,多组声音数据中的每组数据均包括:混合声音以及标识混合声音中的语音的标签;

步骤S1022b,从混合声音中提取出确定的至少一个语音。

具体的,上述混合声音中的至少一个语音可以为来自不同用户的语音,其中,不同用户的语音所具有的语音特征也是不相同的。因此,在获取到嘈杂环境中的混合声音之后,可利用预先通过机器学习训练得到的预设模型对混合声音进行分析,确定混合声音中语音的语音特征,例如,确定混合声音中不同频率的数量、声音的幅值种类等。为了能够从声音中提取出语音,可以建立神经网络模型,预先获取多组混合声音的语音特征,并通过人工标注的方式为每组混合声音中的语音特征设置相应的标签,然后使用设置好的标签对混合语音进行训练,得到预设模型。在构建预设模型之后,可将混合声音作为预设模型的输入,而预设模型的输出即为从混合声音中提取出的至少一个语音。

需要说明的是,使用机器学习的方法通过构建分类模型来对至少一个语音进行分类处理,具体步骤如下:

步骤S1024a,获取至少一个语音;

步骤S1024b,使用分类模型对至少一个语音进行分析,确定至少一个语音中的每个语音的语音类型,其中,分类模型为使用多组语音数据通过机器学习训练得到的,多组语音数据中的每组语音数据均包括:至少一个语音以及至少一个语音中的语音类型的标签;

步骤S1024c,根据至少一个语音中的每个语音的语音类型对至少一个语音进行分类,得到分类结果。

具体的,在获取到至少一个语音之后,可利用预先通过机器学习训练得到的分类模型对至少一个语音进行分析,确定至少一个语音中每个语音的语音类型,其中,可通过语音所具有的语音特征来确定语音所属的类型,例如,小孩所具有的语音特征与大人语音的语音特征不同,因此,可通过语音特征来确定该语音属于大人还是小孩。为了能够根据语音的语音特征来确定语音所属的语音类型,可以建立神经网络模型,预先获取多组语音的语音特征,并通过人工标注的方式为每组语音中的语音类型设置相应的标签,然后使用设置好的标签对语音进行训练,得到分类模型。在构建分类模型之后,可将多个语音作为分类模型的输入,而分类模型的输出即为每个语音所对应的语音类型。

需要说明的是,在确定了待识别语音之后,还需要从待识别语音所包含的多个语音段中提取出有效声段,并根据有效声段中的命令词来控制智能设备。从待识别语音包含的声段中确定有效声段,具体包括如下步骤:

步骤S1040,确定待识别语音中的多个声段;

步骤S1042,根据待识别语音包含的多个声段的时长参数将多个声段划分为至少一个独立声段;

步骤S1044,根据至少一个独立声段的时长确定有效声段。

在一种可选的实施例中,用户在发出语音的过程中,语句将会有停顿,因此,可根据停顿的时间将待识别语音划分为多个声段,例如,用户的语音时长为10秒,前2秒用户没有停顿,第3秒为停顿时间,第4-7秒为语音,第8秒停顿,第9-10秒为语音,由此,可将待识别语音划分为三个声段,即1-2秒、4-7秒和9-10秒分别对应的声段。

在一种可选的实施例中,在确定待识别语音中的多个声段之后,在据待识别语音包含的多个声段的时长参数将多个声段划分为至少一个独立声段,其中,时长参数至少包括如下之一:声段的开始时间以及声段的结束时间。划分独立声段的具体方法如下:

步骤S1042a,确定第一声段的结束时间以及第二声段的开始时间,其中,第一声段为第二声段相邻的上一个声段,并且,第一声段的结束时间小于第二声段的开始时间;

步骤S1042b,计算第一声段的结束时间与第二声段的开始时间的第一时间差值;

步骤S1042c,在第一时间差值小于第一预设阈值的情况下,确定第一声段和第二声段属于相同的独立声段;

步骤S1042d,在第一时间差值大于或等于第一预设阈值的情况下,确定第一声段和第二声段属于不同的独立声段。

现以图3为例进行说明,其中,图3示出了一种可选的划分独立声段的示意图。图3包括6个声段,分别为声段1、声段2、声段3、声段4、声段5和声段6,其中,声段1的开始时间和结束时间分别为t1和t2,声段2的开始时间和结束时间分别为t3和t4,声段3的开始时间和结束时间分别为t5和t6,声段4的开始时间和结束时间分别为t7和t8,声段5的开始时间和结束时间分别为t9和t10,声段6的开始时间和结束时间分别为t11和t12。假设第一预设阈值为δ,由于t3-t2<δ,t5-t4<δ,因此,将声段1、声段2和声段3划分为独立声段1;由于t7-t6>δ,t9-t8>δ,因此,声段4单独划分为一个独立声段,即独立声段2;由于t9-t8>δ,t11-t10<δ,因此,将声段5和声段6划分为独立声段3。

在确定独立声段之后,再根据划分好的独立声段确定有效声段,根据至少一个独立声段的时长确定有效声段具体包括如下步骤:

步骤S1044a,确定至少一个独立声段中的每个独立声段的时长;

步骤S1044b,在独立声段的时长小于第二预设阈值的情况下,确定独立声段为有效声段。

现以图4为例进行说明,其中,图4示出了一种可选的确定有效声段的示意图。图4包括3个独立声段,分别为独立声段1、独立声段2和独立声段3,其中,独立声段1的开始时间和结束时间分别为T1和T2,独立声段1的时长λ1=T2-T1;独立声段2的开始时间和结束时间分别为T3和T4,独立声段2的时长λ2=T4-T3;独立声段3的开始时间和结束时间分别为T5和T6,独立声段3的时长λ3=T6-T5。假设第二预设阈值为λ,由于λ1>λ,λ3>λ,而λ2<λ,因此,将独立声段2作为有效声段,独立声段1和独立声段3为非有效声段。

需要说明的是,在确定了待识别语音中的有效声段之后,提取有效声段所包含的命令词,并根据该命令词来控制智能设备完成相应的操作。其中,根据有效声段中提取到的命令词,获取待识别语音的识别结果具体包括如下步骤:

步骤S1060,获取有效声段中的命令词;

步骤S1062,确定预设语音库与命令词对应的控制指令;

步骤S1064,控制设备完成与控制指令相对应的操作。

具体的,在获取到有效声段之后,智能设备的处理器通过使用提取模型对有效声段进行分析,确定有效声段中的命令词,其中,提取模型为使用多组有效声段通过机器学习训练得到的,多组有效声段中的每组有效声段均包括:有效声段以及标识有效声段中命令词的标签。在从有效声段中提取出命令词之后,将命令词与预设语音库中的关键词进行匹配,如果在预设语音库中存在与命令词匹配的关键词,则根据与命令词匹配的关键词确定控制指令,并控制智能设备根据控制指令完成相应的操作;如果在预设语音库中未查找到与命令词相匹配的关键词,则智能设备不进行任何操作。

实施例2

根据本发明实施例,还提供了一种识别语音的装置实施例,其中,图5是根据本发明实施例的识别语音的装置结构示意图,如图5所示,该装置包括:第一确定模块501、第二确定模块503以及获取模块505。

其中,第一确定模块501,用于确定待识别语音;第二确定模块503,用于从待识别语音包含的多个声段中确定有效声段;获取模块505,用于根据有效声段中提取到的命令词,获取待识别语音的识别结果。

需要说明的是,上述第一确定模块501、第二确定模块503以及获取模块505对应于实施例1中的步骤S102至步骤S106,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第一确定模块包括:第一获取模块、提取模块、第一处理模块以及第三确定模块。其中,第一获取模块,用于获取混合声音,其中,混合声音至少包括语音和非语音;提取模块,用于采用声纹识别算法从混合声音中提取出至少一个语音;第一处理模块,用于基于声纹识别算法对至少一个语音进行分类处理,得到分类结果;第三确定模块,用于从分类结果中确定待识别语音。

需要说明的是,上述第一获取模块、提取模块、第一处理模块以及第三确定模块对应于实施例1中的步骤S1020至步骤S1026,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,提取模块包括:第四确定模块以及第五确定模块。其中,第四确定模块,用于使用预设模型对混合声音进行分析,确定混合声音中的至少一个语音,其中,预设模型为使用多组声音数据通过机器学习训练得到的,多组声音数据中的每组数据均包括:混合声音以及标识混合声音中的语音的标签;第五确定模块,用于从混合声音中提取出确定的至少一个语音。

需要说明的是,上述第四确定模块以及第五确定模块对应于实施例1中的步骤S1022a至步骤S1022b,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,处理模块包括:第二获取模块、第六确定模块以及第二处理模块。其中,第二获取模块,用于获取至少一个语音;第六确定模块,用于使用分类模型对至少一个语音进行分析,确定至少一个语音中的每个语音的语音类型,其中,分类模型为使用多组语音数据通过机器学习训练得到的,多组语音数据中的每组语音数据均包括:至少一个语音以及至少一个语音中的语音类型的标签;第二处理模块,用于根据至少一个语音中的每个语音的语音类型对至少一个语音进行分类,得到分类结果。

需要说明的是,上述第二获取模块、第六确定模块以及第二处理模块对应于实施例1中的步骤S1024a至步骤S1024c,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第二确定模块包括:第七确定模块、划分模块以及第八确定模块。其中,第七确定模块,用于确定待识别语音中的多个声段;划分模块,用于根据待识别语音包含的多个声段的时长参数将多个声段划分为至少一个独立声段;第八确定模块,用于根据至少一个独立声段的时长确定有效声段。

需要说明的是,上述第七确定模块、划分模块以及第八确定模块对应于实施例1中的步骤S1040至步骤S1044,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,时长参数至少包括如下之一:声段的开始时间以及声段的结束时间,其中,划分模块包括:第九确定模块、计算模块、第十确定模块以及第十一确定模块。其中,第九确定模块,用于确定第一声段的结束时间以及第二声段的开始时间,其中,第一声段为第二声段相邻的上一个声段,并且,第一声段的结束时间小于第二声段的开始时间;计算模块,用于计算第一声段的结束时间与第二声段的开始时间的第一时间差值;第十确定模块,用于在第一时间差值小于第一预设阈值的情况下,确定第一声段和第二声段属于相同的独立声段;第十一确定模块,用于在第一时间差值大于或等于第一预设阈值的情况下,确定第一声段和第二声段属于不同的独立声段。

需要说明的是,上述第九确定模块、计算模块、第十确定模块以及第十一确定模块对应于实施例1中的步骤S1042a至步骤S1042d,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第八确定模块包括:第十二确定模块以及第十三确定模块。其中,第十二确定模块,用于确定至少一个独立声段中的每个独立声段的时长;第十三确定模块,用于在独立声段的时长小于第二预设阈值的情况下,确定独立声段为有效声段。

需要说明的是,上述第十二确定模块以及第十三确定模块对应于实施例1中的步骤S1044a至步骤S1044b,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,获取模块包括:第三获取模块、第十四确定模块以及控制模块。其中,第三获取模块,用于获取有效声段中的命令词;第十四确定模块,用于确定预设语音库与命令词对应的控制指令;控制模块,用于控制设备完成与控制指令相对应的操作。

需要说明的是,上述第三获取模块、第十四确定模块以及控制模块对应于实施例1中的步骤S1060至步骤S1064,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

实施例3

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行上述实施例1中的识别语音的方法。

实施例4

根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述实施例1中的识别语音的方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1