一种语音识别方法及装置与流程

文档序号:16906292发布日期:2019-02-19 18:22阅读:264来源:国知局
一种语音识别方法及装置与流程

本发明涉及语音识别技术领域,特别涉及一种语音识别方法及装置。



背景技术:

随着科学技术的不断发展,语音识别技术的应用领域越来越广泛,比如在智能家居领域,用户可以通过向手机、平板电脑等智能终端或者具有语音识别功能智能家电设备输入语音指令,以实现对家电的智能控制。

在目前的语音识别技术中,一般是根据用户输入的语音信号能量的大小识别出语音信号前后端点,然后根据前后端点对语音信号进行切分,确定前后端点之间的语音为完整的一句话,并对前后端点之间语音信号进行语义识别。

但是,在日常生活中,用户有时候会出现对语音控制指令不熟悉、突然忘记词等情况,导致话说到一半时就停顿了,此时如果设备直接根据前后端点进行语音信号的切分,就会出现断句错误的情况,进而导致无法准确识别出完整的语音控制指令的问题。长此以往,用户必须要及时、不间断地输入语音指令才可以控制家电设备,用户存在束缚感,体验效果差。



技术实现要素:

本发明实施例提供一种语音识别方法及装置,用于解决现有技术无法准确识别出完整的语音控制指令的技术问题。

第一方面,本发明实施例提供一种语音识别方法,包括:

对用户输入的语音信号进行语音端点检测,确定出第一前端点和第一后端点;其中,所述第一后端点为从所述第一前端点起的语音信号中距离所述第一前端点最近的后端点;

判断所述第一后端点之后的第一预设时间段内是否存在停顿信号;所述停顿信号具体为表征停顿语义的停顿词所对应的语音信号;

若存在,则继续对所述停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点;对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;其中,所述第二前端点为所述停顿信号之后的语音信号中距离所述停顿信号最近的前端点,所述第二后端点为从所述第二前端点起的语音信号中距离所述第二前端点最近的后端点;

否则,对所述第一前端点和所述第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。

本实施方式在检测到第一前端点和第一后端点之后,并未直接对第一前端点和第一后端点之间的语音信号进行语义识别,而是判断第一后端点之后的第一预设时间段内是否存在停顿信号;如果存在,则继续对停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点,然后对第一前端点和第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;如果不存在,则对第一前端点和第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。这样,用户在进行语音输入时,如果出现突然断词的停顿的情况,就可以通过说停顿词的方式来延长语音切分的时间,能够随心所欲地暂停语音,而设备根据前后端点及停顿信号对语音信号进行切分,保证断句的正确性,进行保证语义解析的正确性,解决了现有技术无法准确识别出完整的语音控制指令的技术问题。

可选的,在判断所述第一后端点之后的第一预设时间段内是否存在停顿信号之前,包括:

基于深度学习算法建立停顿信号模型库;所述停顿信号模型库中存储有至少一个停顿词所对应的语音信号;

所述判断所述第一后端点之后的第一预设时间段内是否存在停顿信号,具体包括:

将所述第一预设时间段内所采集到的语音信号与所述停顿信号模型库进行匹配,判断所述第一后端点之后的第一预设时间段内是否存在停顿信号。

本实施方式基于深度学习算法建立停顿信号模型库,通过将语音信号与停顿信号模型库进行匹配来判断语音信号中是否存在停顿信号,进一步提高了语音识别的准确性。

可选的,对所述停顿信号之后的语音信号进行端点检测,具体包括:

对所述停顿信号之后的第二预设时间段内的语音信号进行端点检测。

本实施方式,对所述停顿信号之后的第二预设时间段内的语音信号进行端点检测,即如果用户在说了停顿词之后过了第二预设时间段还没有再次输入语音信号,设备则不会进行后续端点检测和语义识别的操作,节约了设备功耗。

可选的,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果,包括:

将所述停顿信号从所述第一前端点和所述第二后端点之间的语音信号中删除;

对删除所述停顿信号后的所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果。

本实施方式,在存在停顿信号的情况下,先从语音信号中删除停顿信号,再对语音信号进行语义识别,使得最终获得的第一语义识别结果中不包含停顿词,保证了语音识别的准确性。

可选的,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果,包括:

对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得初始语义识别结果;

将所述停顿信号对应的语义词从所述初始语义识别结果中删除,获得第一语义识别结果。

本实施方式,在存在停顿信号的情况下,先对语音信号进行语义识别,获得初始语义识别结果,再从初始语义识别结果中删除停顿词,使得最终获得的第一语义识别结果中不包含停顿词,保证了语音识别的准确性。

第二方面,本发明实施例提供一种语音识别装置,包括:

检测单元,用于对用户输入的语音信号进行语音端点检测,确定出第一前端点和第一后端点;其中,所述第一后端点为从所述第一前端点起的语音信号中距离所述第一前端点最近的后端点;

判断单元,用于判断所述第一后端点之后的第一预设时间段内是否存在停顿信号;所述停顿信号为表示停顿语义的停顿词所对应的语音信号;

所述检测单元还用于:当所述第一后端点之后的第一预设时间段内存在停顿信号时,继续对所述停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点;

所述装置还包括识别单元,用于在所述检测单元确定出第二前端点和第二后端点之后,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;其中,所述第二前端点为所述停顿信号之后的语音信号中距离所述停顿信号最近的前端点,所述第二后端点为从所述第二前端点起的语音信号中距离所述第二前端点最近的后端点;

所述识别单元还用于:当所述第一后端点之后的第一预设时间段内不存在停顿信号时,对所述第一前端点和所述第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。

可选的,所述装置还包括:

建立单元,用于在所述判断单元判断所述第一后端点之后的第一预设时间段内是否存在停顿信号之前,基于深度学习算法建立停顿信号模型库;所述停顿信号模型库中存储有至少一个停顿词所对应的语音信号;

所述判断单元具体用于:将所述第一预设时间段内所采集到的语音信号与所述停顿信号模型库进行匹配,判断所述第一后端点之后的第一预设时间段内是否存在停顿信号。

可选的,所述检测单元具体用于:

对所述停顿信号之后的第二预设时间段内的语音信号进行端点检测。

可选的,所述识别单元具体用于:

在所述检测单元确定出第二前端点和第二后端点之后,将所述停顿信号从所述第一前端点和所述第二后端点之间的语音信号中删除;

对删除所述停顿信号后的所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果。

可选的,所述识别单元具体用于:

在所述检测单元确定出第二前端点和第二后端点之后,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得初始语义识别结果;

将所述停顿信号对应的语义词从所述初始语义识别结果中删除,获得第一语义识别结果。

第三方面,本发明实施例提供一种语音识别设备,所述设备包括:处理器和存储器;

所述存储器用于存储计算机执行指令,当所述处理器执行所述指令时,使所述设备执行如本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

在检测到第一前端点和第一后端点之后,并未直接对第一前端点和第一后端点之间的语音信号进行语义识别,而是判断第一后端点之后的第一预设时间段内是否存在停顿信号;如果存在,则继续对停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点,然后对第一前端点和第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;如果不存在,则对第一前端点和第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。这样,用户在进行语音输入时,如果出现突然断词的停顿的情况,就可以通过说停顿词的方式来延长语音切分的时间,能够随心所欲地暂停语音,而设备根据前后端点及停顿信号对语音信号进行切分,保证断句的正确性,进行保证语义解析的正确性,解决了现有技术无法准确识别出完整的语音控制指令的技术问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种语音识别方法的流程示意图;

图2为本发明实施例中一种语音识别装置的结构示意图;

图3为本发明实施例中另一种语音识别装置的结构示意图;

图4为本发明实施例中一种语音识别设备的结构示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。

本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明实施例提供一种语音识别方法及装置,用于解决现有技术无法准确识别出完整的语音控制指令的技术问题。执行该方法的设备可以是手机、平板电脑、笔记本电脑、服务器、可穿戴式设备、音/视频播放设备、智能家电(如空调、电视、电冰箱等)等任何具有计算能力的电子设备,或者多个这样的电子设备组成的电子设备系统,本发明实施例不做具体限制。

参照图1,该语音识别方法包括:

s101:对用户输入的语音信号进行语音端点检测,确定出第一前端点和第一后端点;其中,所述第一后端点为从所述第一前端点起的语音信号中距离所述第一前端点最近的后端点;

具体的,采用语音端点检测技术对语音进行处理,确定出语音开始的端点即前端点和语音结束的端点即后端点。信号的能量在预设范围内和预设时间段内连续陡增,则认为是前端点(表征用户准备说话),能量在预设值和预设时间内连续陡降,则认为是后端点(表征用户说话完毕)。

在本方实施例中,端点的检测方法可以有很多种,如双门限检测法、基于自相关极大值的语音端点检测方法、基于小波变换的端点检测方法等,本发明实施例不做具体限制。

s102:判断所述第一后端点之后的第一预设时间段内是否存在停顿信号;

其中,停顿信号具体为表征停顿语义的停顿词所对应的语音信号,比如“等等”、“等一下”、“别”、“呃…”、“不对”、“哦不”等词汇。

若存在,则执行步骤s103;否则,执行步骤s104;

s103:继续对所述停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点;对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;其中,所述第二前端点为所述停顿信号之后的语音信号中距离所述停顿信号最近的前端点,所述第二后端点为从所述第二前端点起的语音信号中距离所述第二前端点最近的后端点;

s104:对所述第一前端点和所述第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。

例如,用户输入的语音为“打开电,呃…,视,播放新闻”,由于该段语音信号中包含有停顿词“呃…”对应的语音信号,所以设备在检测到停顿之后并不会立即进行语义识别,而是继续对“呃…”之后的语音信息进行端点检测,直到识别出完整的语音信号即“打开电,呃…,视,播放新闻”之后,再进行语义识别,获得第一语义识别结果,即“打开电视,播放新闻”。

当然,在实际应用中,用户在输入一段语信号的过程中,可以进行多次停顿,在这种情况下,用户可以使用多个不同的停顿词或者重复使用相同的停顿词来多次延长语音切分的时间。相应的,设备在进行端点检测的过程中,则需要进行多次停顿信号的检测。

具体的,在检测到第二后端点之后,判断第二后端点之后的第一预设时间段内是否还存在停顿信号;若不存在,则对第一前端点和第二后端点之间的语音信号进行语义识别;若存在,则继续对该停顿信号之后的语音信号进行端点检测,确定出第三前端点和第三后端点,如果第三后端点之后的第一预设时间段内不存在停顿信号,则认为说话完毕,对第一前端点和第三后端点之间的语音信号进行语义识别。当然,在具体应用中,还可能存在第四前端点、第四后端点等的检测过程,具体实现可根据上述第一前端点至第三后端点的检测过程进行类推,本发明实施例不再一一列举说明。

例如,用户输入的语音为“打开电,呃…,视,等等,播放新闻”,由于该段语音信号中包含有停顿词“呃…”和“等等”对应的语音信号,所以设备在检测到这两次停顿之后并不会立即进行语义识别,而是继续对“呃…”和“等等”之后的语音信息进行端点检测,直到识别出完整的语音信号即“打开电,呃…,视,等等,播放新闻”之后,再进行语义识别,获得语义识别结果“打开电视,播放新闻”。

在上述方案中,在检测到第一前端点和第一后端点之后,并未直接对第一前端点和第一后端点之间的语音信号进行语义识别,而是判断第一后端点之后的第一预设时间段内是否存在停顿信号;如果存在,则继续对停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点,然后对第一前端点和第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;如果不存在,则对第一前端点和第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。这样,用户在进行语音输入时,如果出现突然断词的停顿的情况,就可以通过说停顿词的方式来延长语音切分的时间,能够随心所欲地暂停语音,而设备根据前后端点及停顿信号对语音信号进行切分,保证断句的正确性,进行保证语义解析的正确性,解决了现有技术无法准确识别出完整的语音控制指令的技术问题。

可选的,在判断所述第一后端点之后的第一预设时间段内是否存在停顿信号之前,还包括:基于深度学习算法建立停顿信号模型库,所述停顿信号模型库中存储有至少一个停顿词所对应的语音信号。

具体的,采集大量的停顿词对应音频,使用深度学习算法对停顿词的音频进行特征信号处理,形成停顿信号模型库。其中,深度学习算法具体实现方式可以为基于高斯模型(adaptivebackgroundmixturemodelsforreal-timetracking,gmm)、基于深度神经网络(deepneuralnetwork,dnn)、基于卷积神经网络(convolutionalneuralnetwork,cnn)、基于循环神经网络(recurrentneuralnetwork,rnn)等,本发明实施例不做具体限制。

相应的,步骤s102所述的判断所述第一后端点之后的第一预设时间段内是否存在停顿信号的具体实施方式则可以为:将所述第一预设时间段内所采集到的语音信号与所述停顿信号模型库进行匹配,判断所述第一后端点之后的第一预设时间段内是否存在停顿信号。

本实施方式基于深度学习算法建立停顿信号模型库,通过将语音信号与停顿信号模型库进行匹配来判断语音信号中是否存在停顿信号,进一步提高了语音识别的准确性。

可选的,对所述停顿信号之后的语音信号进行端点检测,具体包括:对所述停顿信号之后的第二预设时间段内的语音信号进行端点检测。

也就是说,如果用户在说了停顿词之后的第二预设时间段没有再次输入语音信号,即便用户在第二预设时间段之后继续输入了语音,设备也不会进行后续的端点检测和语义识别的操作。

通过本实施方式,避免了用户长时间停顿导致的设备功耗浪费的问题。

可选的,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果的具体实施方式包括但不限于以下两种:

第1种:将所述停顿信号从所述第一前端点和所述第二后端点之间的语音信号中删除;对删除所述停顿信号后的所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果。

本实施方式,先从语音信号中删除停顿信号,再对语音信号进行语义识别,使得最终获得的第一语义识别结果中不包含停顿词,保证了语音识别的准确性。

第2种:对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得初始语义识别结果;将所述停顿信号对应的语义词从所述初始语义识别结果中删除,获得第一语义识别结果。

本实施方式,先对语音信号进行语义识别,获得初始语义识别结果,再从初始语义识别结果中删除停顿词,使得最终获得的第一语义识别结果中不包含停顿词,保证了语音识别的准确性。

参照图2,基于同一发明构思,本发明实施例还提供一种语音识别装置,包括:

检测单元201,用于对用户输入的语音信号进行语音端点检测,确定出第一前端点和第一后端点;其中,所述第一后端点为从所述第一前端点起的语音信号中距离所述第一前端点最近的后端点;

判断单元202,用于判断所述第一后端点之后的第一预设时间段内是否存在停顿信号;所述停顿信号为表示停顿语义的停顿词所对应的语音信号;

所述检测单元201还用于:当所述第一后端点之后的第一预设时间段内存在停顿信号时,继续对所述停顿信号之后的语音信号进行端点检测,确定出第二前端点和第二后端点;

所述装置还包括识别单元203,用于在所述检测单元201确定出第二前端点和第二后端点之后,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果;其中,所述第二前端点为所述停顿信号之后的语音信号中距离所述停顿信号最近的前端点,所述第二后端点为从所述第二前端点起的语音信号中距离所述第二前端点最近的后端点;

所述识别单元203还用于:当所述第一后端点之后的第一预设时间段内不存在停顿信号时,对所述第一前端点和所述第一后端点之间的语音信号进行语义识别,获得第二语义识别结果。

可选的,参照图3,所述装置还包括:

建立单元204,用于在所述判断单元202判断所述第一后端点之后的第一预设时间段内是否存在停顿信号之前,基于深度学习算法建立停顿信号模型库;所述停顿信号模型库中存储有至少一个停顿词所对应的语音信号;

所述判断单元202具体用于:将所述第一预设时间段内所采集到的语音信号与所述停顿信号模型库进行匹配,判断所述第一后端点之后的第一预设时间段内是否存在停顿信号。

可选的,所述检测单元201具体用于:

对所述停顿信号之后的第二预设时间段内的语音信号进行端点检测。

可选的,所述识别单元203具体用于:

在所述检测单元201确定出第二前端点和第二后端点之后,将所述停顿信号从所述第一前端点和所述第二后端点之间的语音信号中删除;

对删除所述停顿信号后的所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得第一语义识别结果。

可选的,所述识别单元203具体用于:

在所述检测单元201确定出第二前端点和第二后端点之后,对所述第一前端点和所述第二后端点之间的语音信号进行语义识别,获得初始语义识别结果;

将所述停顿信号对应的语义词从所述初始语义识别结果中删除,获得第一语义识别结果。

本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,以上各单元所执行操作的具体实现方式可以参照本发明实施例上述语音识别方法中对应的步骤,因此装置与方法的实施可以相互参见,重复之处不再赘述。

参照图4,基于同一发明构思,本发明实施例还提供一种语音识别设备,所述设备包括:处理器301和存储器302;

所述存储器302用于存储计算机执行指令,当所述处理器301执行所述指令时,使所述设备执行如本发明实施例所述的语音识别方法。

可选的,处理器301具体可以包括中央处理器(centralprocessingunit,cpu)、特定应用集成电路(applicationspecificintegratedcircuit,asic),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fieldprogrammablegatearray,fpga)开发的硬件电路,可以是基带处理器。

可选的,处理器301可以包括至少一个处理核心。

可选的,该装置还包括存储器302,存储器302可以包括只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)和磁盘存储器。存储器302用于存储处理器301运行时所需的数据。

基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如本发明实施例所述的语音识别方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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