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

文档序号:13166636阅读:191来源:国知局
语音识别方法及装置与流程

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



背景技术:

语音识别存在两种模式,一种离线识别模式,即通过本地服务器识别,另外一种在线识别模式,即通过网络服务器识别。传统的方式是需要在两种模式之间显示的进行切换,需要用户感知联网和不联网,例如默认在离线识别模式进行命令识别,现在想联网查个天气预报,需要先命令切换在线模式,再查询天气预报,用户使用体验效果非常不好。



技术实现要素:

本发明实施例提供一种语音识别方法及装置,用以实现使用在线识别和离线识别两种方式对语音进行识别,从而提高识别结果的准确性,提升用户的使用体验。

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

采集语音数据信息;

分别发送所述语音数据信息至本地服务器和网络服务器,以使所述本地服务器和所述网络服务器对所述语音数据信息进行语音识别,得到对应的标记有第一语音开始点和第一语音结束点的第一识别结果和第二语音开始点和第二语音结束点的第二识别结果;

在一个实施例中,所述本地服务器识别所述语音数据信息时不需要联网,所述网络服务器识别所述语音数据信息时需要联网。即通过本地服务器识别得到的是离线识别结果,通过网络服务器识别得到的是在线识别结果。

获取所述第一识别结果和所述第二识别结果;

根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果。

在该实施例中,服务器在进行语音识别时,标记出识别结果的语音开始点和语音结束点,这样,方便终端设备根据识别结果的语音开始点和结束点确定对应于同一语音数据信息的离线识别结果和在线识别结果,进而选择合适的识别结果输出,从而保证语音识别的准确性,提升用户的使用体验。

在一个实施例中,所述根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果,包括:

当先获取到所述本地服务器对应的第一识别结果时,则执行所述第一识别结果;

当再获取到所述网络服务器对应的第二识别结果时,确定所述第一识别结果和所述第二识别结果是否相同;

当所述第一识别结果与所述第二识别结果不同时,执行回退处理,将当前状态回退到执行所述第一识别结果之前的状态,再执行所述第二识别结果。

在该实施例中,如果先获取到本地服务器对应的离线识别结果,则先执行离线识别结果,当再获取到网络服务器对应的在线识别结果时,为了保证执行的识别结果的准确性,可以先按照两个识别结果的语音开始点和语音结束点将两个识别结果进行比较,确定两者是否相同,如果两者相同,则不需要再重新执行在线识别结果;如果两者不同,则需要进行回退处理,将终端设备的当前状态回退到执行离线识别结果之前的状态,重新再执行在线识别结果。

在一个实施例中,所述根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果,还包括:

当先获取到所述网络服务器对应的第二识别结果时,则执行所述第二识别结果;

当再获取到所述本地服务器对应的第一识别结果时,丢弃所述第一识别结果。

在该实施例中,如果先获取到网络服务器对应的在线识别结果,则直接执行该在线识别结果,再获取到本地服务器对应的离线识别结果时,不进行执行处理。由于在线识别结果的准确性一般较高,因此,可以保证识别结果的正确性,提升用户的使用体验。

在一个实施例中,所述方法还包括:

接收输入的处理策略设置命令;

根据所述处理策略设置命令,设置所述预设的处理策略。

在该实施例中,用户或者厂商还可以根据个人需要设置其他处理策略,从而妥善处理在线识别结果和离线识别结果之间的关系,使得最终输出的识别结果准确性更高,更符合用户的需求,提升用户的使用体验。

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

采集模块,用于采集语音数据信息;

发送模块,用于分别发送所述语音数据信息至本地服务器和网络服务器,以使所述本地服务器和所述网络服务器点对所述语音数据信息进行语音识别,得到对应的标记有第一语音开始点和第一语音结束点的第一识别结果和第二语音开始点和第二语音结束点的第二识别结果;

获取模块,用于获取所述第一识别结果和所述第二识别结果;

输出模块,用于根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果。

在一个实施例中,所述输出模块包括:

第一执行子模块,用于当先获取到所述本地服务器对应的第一识别结果时,则执行所述第一识别结果;

确定子模块,用于当再获取到所述网络服务器对应的第二识别结果时,确定所述第一识别结果和所述第二识别结果是否相同;

第二执行子模块,用于当所述第一识别结果与所述第二识别结果不同时,执行回退处理,将当前状态回退到执行所述第一识别结果之前的状态,再执行所述第二识别结果。

在一个实施例中,所述输出模块还包括:

第三执行子模块,用于当先获取到所述网络服务器对应的第二识别结果时,则执行所述第二识别结果;

第四执行子模块,用于当再获取到所述本地服务器对应的第一识别结果时,丢弃所述第一识别结果。

在一个实施例中,所述装置还包括:

接收模块,用于接收输入的处理策略设置命令;

设置模块,用于根据所述处理策略设置命令,设置所述预设的处理策略。

在一个实施例中,所述本地服务器识别所述语音数据信息时不需要联网,所述网络服务器识别所述语音数据信息时需要联网。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种语音识别方法的流程图。

图2是根据一示例性实施例示出的一种语音识别方法中步骤s105的流程图。

图3a-图3e是根据一示例性实施例示出的语音开始点和结束点的示意图。

图4是根据一示例性实施例示出的另一种语音识别方法中步骤s105的流程图。

图5a-图5b是根据一示例性实施例示出的语音开始点和结束点的示意图。

图6是根据一示例性实施例示出的另一种语音识别方法的流程图。

图7是根据一示例性实施例示出的一种语音识别装置的框图。

图8是根据一示例性实施例示出的一种语音识别装置中输出模块的框图。

图9是根据一示例性实施例示出的另一种语音识别装置中输出模块的框图。

图10是根据一示例性实施例示出的另一种语音识别装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种语音识别方法的流程图。该语音识别方法应用于终端设备中,该终端设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等任一具有语音控制功能的设备。如图1所示,该方法包括步骤

s101-s104:

在步骤s101中,采集语音数据信息;

在步骤s102中,分别发送所述语音数据信息至本地服务器和网络服务器,以使所述本地服务器和所述网络服务器分别根据所述语音识别开始点和语音识别结束点对所述语音数据信息进行语音识别,得到对应的标记有第一语音开始点和第一语音结束点的第一识别结果和第二语音开始点和第二语音结束点的第二识别结果;

在一个实施例中,所述本地服务器识别所述语音数据信息时不需要联网,所述网络服务器识别所述语音数据信息时需要联网。即通过本地服务器识别得到的是离线识别结果,通过网络服务器识别得到的是在线识别结果。

终端设备从第0时刻持续送语音给本地服务器,其可以通过两种方式获取离线识别结果的语音开始点和语音结束点:一种是本地服务器内部根据vad(端点检测)来给出识别出的关键词(或命令词)的起止时间,另一种是本地服务器进行语音识别的时候直接给出关键词(或命令词)的起止时间。

同样的,终端设备从第0时刻持续送语音给网络服务器,其也有两种方式获取在线识别结果的语音开始点和语音结束点,一种是网络服务器根据实时获取到的识别结果,给每一段识别结果标上起止时间,最后再整合输出一段识别结果的起止时间。另一种是网络服务器做识别时给出每个word(单词)的起止时间,最后整合给出一段识别结果的起止时间。

在步骤s103中,获取所述第一识别结果和所述第二识别结果;

在步骤s104中,根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果。

在该实施例中,服务器在进行语音识别时,会标记出识别结果的语音开始点和语音结束点,这样,方便终端设备根据识别结果的语音开始点和结束点确定对应于同一语音数据信息的离线识别结果和在线识别结果,进而选择合适的识别结果输出,从而保证语音识别的准确性,提升用户的使用体验。

图2是根据一示例性实施例示出的一种语音识别方法中步骤s105的流程图。

如图2所示,在一个实施例中,上述步骤s105包括步骤s201-s203:

在步骤s201中,当先获取到所述本地服务器对应的第一识别结果时,则执行所述第一识别结果;

在步骤s202中,当再获取到所述网络服务器对应的第二识别结果时,确定所述第一识别结果和所述第二识别结果是否相同;

在步骤s203中,当所述第一识别结果与所述第二识别结果不同时,执行回退处理,将当前状态回退到执行所述第一识别结果之前的状态,再执行所述第二识别结果。

在该实施例中,如果先获取到本地服务器对应的离线识别结果,则先执行离线识别结果,当再获取到网络服务器对应的在线识别结果时,为了保证执行的识别结果的准确性,可以先按照两个识别结果的语音开始点和语音结束点将两个识别结果进行比较,确定两者是否相同,如果两者相同,则不需要再重新执行在线识别结果;如果两者不同,则需要进行回退处理,将终端设备的当前状态回退到执行离线识别结果之前的状态,重新再执行在线识别结果。

针对上述实施例,根据在线识别结果语音开始点和语音结束点以及离线识别结果语音开始点和语音结束点的不同,可以有以下几种实施方式:

其中,用t1表示在线识别结果的语音开始点,t2表示在线识别结果的语音结束点,t5表示离线识别结果的语音开始点,t6表示离线识别结果的语音结束点。

实施例一t1<t5<t6<t2

如图3a所示,终端设备先获取到t5-t6的离线识别结果,根据离线识别结果做处理;再获取到t1-t2对应的在线识别结果,此时根据“武在策略”(即武断的听在线识别结果,认为在线识别处理能力更强更智能)若t1-t2对应的在线识别结果跟t5-t6的离线识别结果相同,不做任何处理,若不同撤回t5-t6处理的操作,再按t1-t2对应的在线识别结果做处理。

实施例二t5<t6<t1<t2

如图3b所示,终端设备先获取到t5-t6的离线识别结果,根据离线识别结果做处理;再获取到t1-t2对应的在线识别结果,此时很大可能性在线识别结果跟离线识别结果不同(因为两边识别结果对应时间没有重叠部分),且因为在线识别结果没有给出t5-t6部分对应的识别结果,表明这部分可能是一段无效的语音(因为在线更智能它有可能判断此部分是电视背景人声之类的无效语音),因此撤回t5-t6处理的操作,再按t1-t2对应的在线识别结果做处理。

实施例三t5<t1<t6<t2

如图3c所示,终端设备先获取到t5-t6的离线识别结果,根据离线识别结果做处理;再获取到t1-t2的在线识别结果,因为有重叠部分,所以有可能在线识别结果和离线识别结果相同。若在线识别结果和离线识别结果相同,不做操作;若在线识别结果和离线识别结果不同,撤回t5-t6对应操作,再执行t1-t2对应的在线识别结果对应的操作。

实施例四t1<t5<t2<t6

如图3d所示,由于网络缓慢因素,终端设备先得到t5-t6对应的离线识别结果,再得到t1-t2对应的在线识别结果;则先用t5-t6的离线识别结果,做相应操作;再得到t1-t2的在线识别结果后,若跟t5-t6的离线识别结果相同,则不做操作,若跟t5-t6的离线识别结果不同,先撤回t5-t6离线识别结果对应的操作,再执行t1-t2对应的在线识别结果。

上述各实施例是在确定了在线识别结果和离线识别结果是对应于同一语音数据信息的情况后实施的。而在未确定在线识别结果和离线识别结果是否对应于同一语音数据信息时,还可以实施为:

实施例五t1<t2<t5<t6

如图3e所示,由于网络缓慢因素,终端设备先得到t5-t6对应的离线识别结果,再得到t1-t2对应的在线识别结果;则先按t5-t6的离线识别结果做处理;之后收到t1-t2的在线识别结果后,判断t1-t2的识别结果要处理的操作跟t5-t6要处理的操作是否相关,若t1-t2的识别结果要处理的操作跟t5-t6要处理的操作不相关(例如:t1-t2对应的是播放一首歌,t5-t6对应的是打开车窗),这种情况下继续执行t1-t2的在线识别结果对应操作。若t1-t2的识别结果要处理的操作和t5-t6要处理的操作相关(例如:t1-t2对应的是空调调到27度,t5-t6对应的是加一度,并假设当前温度是30度),那这时候需要先撤回t5-t6对应的操作,再执行t1-t2对应的操作,再执行t5-t6对应的操作。

图4是根据一示例性实施例示出的另一种语音识别方法中步骤s105的流程图。

如图4所示,在一个实施例中,上述步骤s105还包括步骤s401-s402:

在步骤s401中,当先获取到所述网络服务器对应的第二识别结果时,则执行所述第二识别结果;

在步骤s402中,当再获取到所述本地服务器对应的第一识别结果时,丢弃所述第一识别结果。

在该实施例中,如果先获取到网络服务器对应的在线识别结果,则直接执行该在线识别结果,再获取到本地服务器对应的离线识别结果时,不进行执行处理。由于在线识别结果的准确性一般较高,因此,可以保证识别结果的正确性,提升用户的使用体验。

针对上述实施例,根据在线识别结果语音开始点和语音结束点以及离线识别结果语音开始点和语音结束点的不同,可以有以下几种实施方式:

同上述各实施例,用t1表示在线识别结果的语音开始点,t2表示在线识别结果的语音结束点,t5表示离线识别结果的语音开始点,t6表示离线识别结果的语音结束点。

实施例六t1<t5<t2<t6

如图5a所示,若终端设备先得到t1-t2对应的在线识别结果,再得到t5-t6对应的离线识别结果,则先用t1-t2对应的在线识别结果做操作;其次由于t1-t2和t5-t6有重叠部分,所以无从判断在线识别结果更正确还是离线识别结果更正确。因此此时对t5-t6的离线识别结果不做操作(也就是忽略t5-t6的离线结果),继续等待下一个在线识别结果的到来。等再获取到下一次的在线识别结果(设下一次在线识别结果的起止时间为t3-t4),继续执行t3-t4的在线识别结果。

上述实施例是在确定了在线识别结果和离线识别结果是对应于同一语音数据信息的情况后实施的。而在未确定在线识别结果和离线识别结果是否对应于同一语音数据信息时,还可以实施为:

实施例七t1<t2<t5<t6

如图5b所示,若终端设备先得到t1-t2对应的在线识别结果,再得到t5-t6对应的离线识别结果,由于t1-t2对应的在线识别结果和t5-t6得到的离线识别结果在时间上不重叠,就顺序地先执行t1-t2在线识别结果对应的操作,再执行t5-t6对应的离线识别结果。后面再根据下一次的在线识别结果(设下一次在线识别结果的起止时间为t3-t4)跟本次离线识别结果(t5-t6)的时间序列关系,再在上面的实施例一至三中找到对应情况做处理。

图6是根据一示例性实施例示出的另一种语音识别方法的流程图。

如图6所示,在一个实施例中,上述方法还包括步骤s601-s602:

在步骤s601中,接收输入的处理策略设置命令;

在步骤s602中,根据所述处理策略设置命令,设置所述预设的处理策略。

在该实施例中,用户或者厂商还可以根据个人需要设置其他处理策略,从而妥善处理在线识别结果和离线识别结果之间的关系,使得最终输出的识别结果准确性更高,更符合用户的需求,提升用户的使用体验。

下述为本发明装置实施例,可以用于执行本发明方法实施例。

图7是根据一示例性实施例示出的一种语音识别装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为终端设备的部分或者全部。如图7所示,该语音识别装置包括:

采集模块71,用于采集语音数据信息;

发送模块72,用于分别发送所述语音数据信息至本地服务器和网络服务器,以使所述本地服务器和所述网络服务器对所述语音数据信息进行语音识别,得到对应的标记有第一语音开始点和第一语音结束点的第一识别结果和第二语音开始点和第二语音结束点的第二识别结果;

获取模块73,用于获取所述第一识别结果和所述第二识别结果;

输出模块74,用于根据所述第一识别结果、所述第二识别结果和预设的处理策略输出最终识别结果。

图8是根据一示例性实施例示出的一种语音识别装置中输出模块的框图。

如图8所示,在一个实施例中,所述输出模块74包括:

第一执行子模块81,用于当先获取到所述本地服务器对应的第一识别结果时,则执行所述第一识别结果;

确定子模块82,用于当再获取到所述网络服务器对应的第二识别结果时,确定所述第一识别结果和所述第二识别结果是否相同;

第二执行子模块83,用于当所述第一识别结果与所述第二识别结果不同时,执行回退处理,将当前状态回退到执行所述第一识别结果之前的状态,再执行所述第二识别结果。

图9是根据一示例性实施例示出的另一种语音识别装置中输出模块的框图。

如图9所示,在一个实施例中,所述输出模块74还包括:

第三执行子模块91,用于当先获取到所述网络服务器对应的第二识别结果时,则执行所述第二识别结果;

第四执行子模块92,用于当再获取到所述本地服务器对应的第一识别结果时,丢弃所述第一识别结果。

图10是根据一示例性实施例示出的另一种语音识别装置的框图。

如图10所示,在一个实施例中,所述装置还包括:

接收模块1001,用于接收输入的处理策略设置命令;

设置模块1002,用于根据所述处理策略设置命令,设置所述预设的处理策略。

在一个实施例中,所述本地服务器识别所述语音数据信息时不需要联网,所述网络服务器识别所述语音数据信息时需要联网。

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

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

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

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