一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-11-29 14:19:00 来源:中国专利 TAG:


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


背景技术:

2.自动语音识别(automatic speech recognition,asr)是一种可以把人类的语音音频信号转换为文本内容的技术。随着软硬件技术的发展,各种智能设备的计算能力和存储容量有了很大进步,使得语音识别技术在智能设备中得以广泛应用。
3.然而,发明人发现,现有的语音识别技术在对语音进行识别的过程中,不管是针对长语音的识别还是短语音的识别,在识别的过程中,其采用的识别流程基本一致,导致在针对一些较长的语音进行识别时也需要花费比较长的时间才能得到语音识别结果。


技术实现要素:

4.有鉴于此,现提供一种语音识别方法、装置、计算机设备及计算机可读存储介质,以解决现有的语音识别方法在针对一些较长的语音进行识别时也需要花费比较长的时间才能得到语音识别结果的问题。
5.本技术提供了一种语音识别方法,所述方法包括:
6.接收语音识别请求,所述语音识别请求包括待识别语音;
7.确定所述待识别语音的语音长度;
8.采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
9.可选地,所述采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果包括:
10.在所述语音长度小于或者等于第一预设长度时,采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果;
11.在所述语音长度大于所述第一预设长度且小于或者等于第二预设长度时,采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果;
12.在所述语音长度大于所述第二预设长度时,采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
13.可选地,所述采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果包括:
14.通过预设的语音任务管理模块根据所述待识别语音创建第一语音识别任务;
15.通过所述语音任务管理模块调用预设的语音识别模块根据所述第一语音识别任务对所述待识别语音进行语音识别,得到语音识别结果。
16.可选地,所述采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果包括:
17.通过所述语音任务管理模块同步调用预设的语音活动检测模块对所述待识别语
音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量;
18.通过所述语音任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量;
19.通过所述语音任务管理模块创建多个第二语音识别任务,并将多个第二语音识别任务存储至队列中,每一个第二语音识别任务对应一个分组所包含的短语音;
20.通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第二语音识别任务,其中,每一个语音识别实例用于处理一个第二语音识别任务;
21.通过所述语音识别模块中的多个语音识别实例并行根据获取到的第二语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果;
22.通过预设的语音调度模块按照时间偏移量顺序对各个语音识别实例生成的语音识别结果进行拼接,得到最终的语音识别结果。
23.可选地,所述采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果包括:
24.通过所述语音任务管理模块异步调用所述语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量;
25.通过所述语音任务管理模块将所述端点检测结果存储至预设的第一数据同步模块中,以通过所述第一数据同步模块将所述端点检测结果同步至所述语音调度模块;
26.通过所述语音调度模块调用所述语音任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量;
27.通过所述语音任务管理模块创建多个第三语音识别任务,并将多个第三语音识别任务存储至队列中,每一个第三语音识别任务对应一个分组所包含的短语音;
28.通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第三语音识别任务,其中,每一个语音识别实例用于处理一个第三语音识别任务;
29.通过所述语音识别模块中的多个语音识别实例并行根据获取到的第三语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果;
30.通过预设的语音调度模块根据各个语音识别实例生成的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果。
31.可选地,在得到最终的语音识别结果之后,所述方法还包括:
32.调用预设的文本断句模型对所述最终的语音识别结果进行断句处理。
33.可选地,通过预设的语音调度模块根据各个语音识别实例生成的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果的步骤之前,还包括:
34.将语音识别结果存储至预设的第二数据同步模块中,并通过所述第二数据同步模块将各个语音识别实例生成的语音识别结果同步至所述语音调度模块中。
35.本技术还提供了一种语音识别装置,应包括:
36.接收模块,用于接收语音识别请求,所述语音识别请求包括待识别语音;
37.确定模块,用于确定所述待识别语音的语音长度;
38.识别模块,用于采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
39.本技术还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
40.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
41.本技术实施例通过在接收语音识别请求后,确定所述待识别语音的语音长度,并在确定语音长度后采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。本实施例通过根据语音长度选定最合适的语音识别方式,从而可以实现语音识别性能和可靠性的平衡,使得在对一些较长的语音进行识别时,可以节省语音识别所需的时间,而在对更长语音进行识别时,相对现有的识别方式,也不会增加语音识别所需的时间。
附图说明
42.图1为本技术中的语音识别系统的模块架构图;
43.图2为本技术所述的语音识别方法的一种实施例的流程图;
44.图3为本技术一实施方式中采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果的步骤细化流程示意图;
45.图4为本技术一实施方式中采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果的步骤细化流程示意图;
46.图5为本技术一实施方中采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果的步骤细化流程示意图;
47.图6为本技术一实施方式中采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果的步骤细化流程示意图;
48.图7为本技术所述的语音识别装置的一种实施例的程序模块图;
49.图8为本技术实施例提供的执行语音识别方法的计算机设备的硬件结构示意图。
具体实施方式
50.以下结合附图与具体实施例进一步阐述本技术的优点。
51.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
52.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
53.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这
些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
54.在本技术的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本技术及区别每一步骤,因此不能理解为对本技术的限制。
55.图1示意性示出了根据本技术实施例的语音识别系统的模块架构图。在示例性的实施例中,该语音识别系统可以包括语音任务管理模块10、语音调度模块20、数据同步模块30、自动语音识别模块40(asr模块)、语音活动检测模块50(vad模块)及文本断句模块60。其中,语音任务管理模块10是语音识别系统中的一个服务模块,用于创建和管理语音识别任务。语音调度模块20也是语音识别系统中的一个服务模块,可以用于处理语音识别任务的状态和结果。数据同步模块30用于服务模块之间进行相互传递消息来实现数据的同步与通信。自动语音识别模块40用于对语音识别,得到语音识别结果。语音活动检测模块50用于对语音进行端点检测,以将语音切分为多个短语音。文本断句模型60用于对长文本根据语义进行断句,以将长文本断句为多个短文本。
56.参阅图2,其为本技术一实施例的语音识别方法的流程示意图。本可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的语音识别方法包括:
57.步骤s20、接收语音识别请求,所述语音识别请求包括待识别语音。
58.具体地,用户在需要进行语音识别时,用户可以触发语音识别请求,以将待识别语音发给服务端,这样,服务端可以对该待识别语音进行语音识别,得到语音识别结果。
59.步骤s21,确定所述待识别语音的语音长度。
60.具体地,在获取到待识别语音后,需要对待识别语音的语音长度进行检测,以得到所述待识别语音的语音长度。比如,检测到一个待识别语音的语音长度为10秒。
61.步骤s21,采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
62.具体地,可以预先设定不同的语音长度的待识别语音采用不同的语音识别方式进行语音识别。这样,在得到待识别的语音长度后,即可以将该语音长度与预先设定的语音识别方式进行匹配,从而得到当前语音长度所对应的语音识别方式,之后,可以采用该语音识别方式对待识别语音进行语音识别,得到语音识别结果。
63.在一示例性的实施方式中,参照图3,所述采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果可以包括:
64.步骤s30,在所述语音长度小于或者等于第一预设长度时,采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
65.具体地,所述第一预设长度为预设设定的值,其可以根据实际情况进行设定与调整,比如,所述第一预设长度为10秒。
66.作为示例,当语音长度小于或者等于10秒时,可以采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
67.在一示例性的实施方式中,参照图4,所述采用第一语音识别方式对所述待识别语
音进行语音识别,得到语音识别结果可以包括:
68.步骤s40,通过预设的语音任务管理模块根据所述待识别语音创建第一语音识别任务,并将所述第一待识别任务发送给预设的语音识别模块。
69.具体地,所述语音任务管理模块是语音识别系统中用于创建和管理语音识别任务的服务模块。所述第一语音识别任务为语音识别模块需要进行处理的事务,其可以包括待识别语音的存储位置。
70.所述语音识别模块为asr(automatic speech recognition,自动语音识别)模块,通过该asr模块可以将语音转换为文本。
71.在本实施例中,asr模块在将语音转换为文本时是通过预先训练好的asr模型来实现,其中,asr模型可以采用现有的asr模型,其具体训练方式在本实施例中不再赘述。
72.步骤s41,通过所述语音任务管理模块调用预设的语音识别模块根据所述第一语音识别任务对所述待识别语音进行语音识别,得到语音识别结果。
73.具体地,所述语音任务管理模块可以通过grpc接口向语音识别模块发起调用,以调用语音识别模块对待识别语音进行语音识别,得到语音识别结果。
74.其中,grpc是一个开源的远程过程调用框架,用于服务之间的高性能通信。grpc接口则是一个远程调用接口,通过该接口可以调用语音识别模块来实现语音识别。
75.在本实施例中,语音识别模块在进行语音识别时,会首先根据所述第一语音识别任务中的待识别语音的存储位置来找到所述待识别语音,并在找到所述待识别语音后,会将所述待识别语音下载至本地内存中,之后,所述语音识别模块可以对本地内存中存储的待识别语音进行语音识别,得到语音识别结果。
76.在一实施方式中,为了减少获取语音识别结果所需的时间,在本实施例中,所述语音任务管理模块可以采用同步调用的方式来调用语音识别模块对待识别语音进行识别,这样,在语音识别模块完成待识别语音的语音识别后,即可以立即将识别结果同步返回给发出语音识别请求的请求端。
77.在另一实施方式中,为了避免采用同步调用方式可能导致线程阻塞的问题,在本实施方式中,所述语音任务管理模块也可以采用异步调用的方式来调用语音识别模块对待识别语音进行识别,在语音识别模块完成语音识别后,所述语音任务管理模块可以通过定时回调的方式从语音识别模块中获取语音识别结果,并将获取到的识别结果返回给发出语音识别请求的请求端。
78.在一示例性的实施方式中,为了便于对语音识别模块的版本迭代,所述语音识别模块可以拆分成asr客户端与asr服务端两个组成部分且以多容器的形式部署在同一个pod(多容器组成的服务单元)下。这样,在进行语音识别时,asr客户端可以通过本地端口调用asr服务端来对待识别语音进行语音识别,得到语音识别结果。
79.步骤s31,在所述语音长度大于所述第一预设长度且小于或者等于第二预设长度时,采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
80.具体地,所述第二预设长度也是预先设定的,其也可以根据实际情况进行设定与调整,比如,所述第二预设长度为20秒。
81.作为示例,当语音长度大于10秒,且小于或者等于20秒时,可以采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
82.在一示例性的实施方式中,图5,所述采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果可以包括:
83.步骤s50,通过所述语音任务管理模块同步调用预设的语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量。
84.具体地,语音活动检测模块(vad模块),也可以称为语音端点检测模块,通过该语音活动检测模块可以检测出语音中包含的端点,以便可以根据检测到的端点,将长语音划分为多个短语音。其中,本实施例中的端点指的是待识别语音中存在用户声音和不存在用户声音的时间分隔点。
85.在本实施例中,语音活动检测模块在检测到语音中包含的端点后,会将该端点对应的时间偏移量输出。其中,所述时间偏移量指的是各个短语音在语音中所对应的时间点,比如,在一段10秒的语音中,检测到4个端点,对应的时间点分别为3秒、5秒、7秒及9秒。这样,可以根据这4端点可以将待识别语音划分为5个短语音,分别是0~3秒的短语音、3~5秒的短语音、5~7秒的短语音、7~9秒的短语音以及9~10秒的短语音。也就是说,各个短语音对应的时间偏移量分别为:0~3秒、3~5秒、5~7秒、7~9秒、9~10秒。
86.步骤s51,通过所述语音任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量。
87.具体地,由于不同短语音包含的语音时长可能不一样,因此,在本实施例中,为了后续在语音识别的过程中,可以减少语音识别所需要的时间,本实施例中,可以根据各个短语音的时间偏移量将待识别语音尽可能划分为包含语音时长大致相同的分组。在本实施例中,划分的分组数量可以预先设定,也可以根据实际情况进行设定。比如,预先设定需要划分为2个分组。这样,在实际进行分组时,可以将0~3秒的短语音与3~5秒的短语音作为一个分组;5~7秒的短语音、7~9秒的短语音以及9~10秒的短语音作为另一个分组。
88.步骤s52,通过所述语音任务管理模块创建多个第二语音识别任务,并将多个第二语音识别任务存储至队列中,每一个第二语音识别任务对应一个分组所包含的短语音。
89.具体地,语音任务管理模块创建的第二语音识别任务的数量与分组的数量相同,比如,有5个分组,则需要创建5个第二语音识别任务,每一个语音识别任务用于语音识别模块对对应分组中所包含的短语音进行语音识别。
90.在本实施例中,不同的第二语音识别任务可以通过任务标识信息进行区分,该任务标识信息可以由任务id与组id的组成,比如,第一个第二语音识别任务的任务标识信息为:任务id1

组id1,第二个第二语音识别任务的任务标识信息为:任务id1

组id2等。也就是说,在本实施例中,用于对同一个待识别语音进行识别的各个第二语音识别任务的任务id相同,组id不同,不同的任务id表明是针对不同的待识别语音进行语音识别的任务。
91.步骤s53,通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第二语音识别任务,其中,每一个语音识别实例用于处理一个第二语音识别任务。
92.具体地,语音识别模块可以由多个语音识别实例组成,每一个语音识别实例都可以对语音进行识别,得到语音识别结果。在本实施例中,在从队列中获取第二语音识别任务时,可以先从所有的语音识别实例中选取与第二语音识别任务相同向量的语音识别实例来进行语音识别。选取规则可以为选取空闲的语音识别实例。在选取到语音识别实例后,每一
个语音识别实例会从队列中获取一个第二语音识别任务。
93.步骤s54,通过所述语音识别模块中的多个语音识别实例并行根据获取到的第二语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果。
94.具体地,各个语音识别实例在获取到第二语音识别任务后,会并行对根据各自获取到的第二语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果。
95.在本实施例中,当语音识别模块由asr客户端与asr服务端组成时,语音识别实例可以部署在asr服务端中。在进行语音识别时,asr客户端可以先将待识别语音下载至本地,然后,根据各个时间偏移量将所述待识别语音切分为多个短语音。这样,部署在asr服务端中的各个语音识别实例在进行语音识别时,即可以从本地中获取相应的短语音,然后对相应的短语音进行语音识别,得到语音识别结果。
96.步骤s55,通过预设的语音调度模块按照时间偏移量顺序对各个语音识别实例生成的语音识别结果进行拼接,得到最终的语音识别结果。
97.具体地,由于各个语音识别实例生成的语音识别结果是各个短语音对应的文本,因此,在所有的语音识别实例完成语音识别后,需要将各个语音识别结果按照时间偏移量顺序拼接成长文本,并将拼接后的长文本作为最终的语音识别结果。
98.在一示例性的实施方式中,由于各个语音识别实例处理第二语音识别任务所需要消耗的时间不同,因此,为了后续语音调度模块可以对各个语音识别结果进行拼接,在本实施例中,所述通过预设的语音调度模块根据各个语音识别实例生成的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果的步骤之前,还包括:
99.将语音识别结果存储至预设的第二数据同步模块中,并通过所述第二数据同步模块将各个语音识别实例生成的语音识别结果同步至所述语音调度模块中。
100.具体地,所述数据同步模块可以为databus。databus是一种用于实现服务模块之间相互传递消息的数据存储模块。
101.在本实施例中,各个语音识别实例完成对短语音的识别后,会将短语音的识别结果存储至所述数据同步模块中。当数据同步模块中获取到所有的语音识别实例的语音识别结果后,会主动将所有的语音识别结果推送给所述语音调度模块。
102.在一实施方式中,当数据同步模块获取到语音识别实例的语音识别结果后,也可以立即将该语音识别结果推送给语音调度模块,由语音调度模块将该语音识别结果缓存起来,直到得到所有语音识别实例的语音识别结果后,才会将所有的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果。
103.步骤s32,在所述语音长度大于所述第二预设长度时,采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
104.作为示例,当语音长度大于20秒时,可以采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
105.在一示例性的实施方式中,参照图6,所述采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果可以包括:
106.步骤s60,通过所述语音任务管理模块异步调用所述语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量。
107.具体地,当语音长度大于第二预设长度时,为了节省系统资源,所述语音任务管理模块可以通过异步调用的方式来调用所述语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果。
108.步骤s61,通过所述语音任务管理模块将所述端点检测结果存储至预设的第一数据同步模块中,以通过所述第一数据同步模块将所述端点检测结果同步至所述语音调度模块。
109.具体地,由于所述语音任务管理模块是采用异步调用的方式来调用语音活动检测模块对所述待识别语音进行端点检测。因此,为了可以及时将端点检测结果通知到语音调度,本实施例中,可以通过第一数据同步模块来存储端点检测结果,这样,在第一数据同步模块获取到端点检测结果后,即可以立即将端点检测结果推送至所述语音调度模块。
110.步骤s62,通过所述语音调度模块调用所述语音任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量;
111.步骤s63,通过所述语音任务管理模块创建多个第三语音识别任务,并将多个第三语音识别任务存储至队列中,每一个第三语音识别任务对应一个分组所包含的短语音;
112.步骤s64,通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第三语音识别任务,其中,每一个语音识别实例用于处理一个第三语音识别任务;
113.步骤s65,通过所述语音识别模块中的多个语音识别实例并行根据获取到的第三语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果;
114.步骤s66,通过预设的语音调度模块根据各个语音识别实例生成的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果。
115.具体地,上述步骤s62

s66与步骤s51

s55类似,在本实施例中不再赘述。
116.在一示例性的实施方式中,由于获取到的最终的语音识别结果可读性不是很强,因此,在本实施例中,为了方便用户理解最终的语音识别结果,所述方法还包括:
117.调用预设的文本断句模型对所述最终的语音识别结果进行断句处理。
118.具体地,所述文本断句模型为预先经过训练得到的断句模型,通过该模型可以将一长段的文本断句为多个短文本,从而方便用户阅读。
119.需要说明的是,本实施例中的文本断句模块可以采用现有的文本断句模型,在本实施例中不再对所述文本断句模型进行说明。
120.在一实施方式中,可以采用同步调用的方式来调用文本断句模型对最终的语音识别结果进行断句处理。
121.在一示例性的实施方式中,当语音调度模块在拼接得到最终的语音识别结果后,其可以把最终的语音识别结果包装成消息通过第三数据同步模块主动将最终的语音识别结果通知到发送语音识别请求的请求端。
122.可以理解的是,除了上述的主动通知之外,发送语音识别请求的请求端也可以通过接口从语音调度模块中获取到最终的语音识别结果,也可以通过回调的方式,即语音调度模块通过http接口把最终的语音识别结果推送给语音识别请求的请求端。
123.本技术实施例通过在接收语音识别请求后,确定所述待识别语音的语音长度,并在确定语音长度后采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语
音识别,得到语音识别结果。本实施例通过根据语音长度选定最合适的语音识别方式,从而可以实现语音识别性能和可靠性的平衡,使得在对一些较长的语音进行识别时,可以节省语音识别所需的时间,而在对更长语音进行识别时,相对现有的识别方式,也不会增加语音识别所需的时间。
124.参阅图7所示,是本技术语音识别装置70一实施例的程序模块图。
125.本实施例中,所述语音识别装置70包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本技术各实施例的语音识别功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,语音识别装置70可以被划分为一个或多个模块,具体可以划分的模块如下:
126.接收模块71,用于接收语音识别请求,所述语音识别请求包括待识别语音;
127.确定模块72,用于确定所述待识别语音的语音长度;
128.识别模块73,用于采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
129.在一示例性的实施方式中,识别模块73,还用于在所述语音长度小于或者等于第一预设长度时,采用第一语音识别方式对所述待识别语音进行语音识别,得到语音识别结果;在所述语音长度大于所述第一预设长度且小于或者等于第二预设长度时,采用第二语音识别方式对所述待识别语音进行语音识别,得到语音识别结果;在所述语音长度大于所述第二预设长度时,采用第三语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。
130.在一示例性的实施方式中,识别模块73,还用于通过预设的语音任务管理模块根据所述待识别语音创建第一语音识别任务;通过所述语音任务管理模块调用预设的语音识别模块根据所述第一语音识别任务对所述待识别语音进行语音识别,得到语音识别结果。
131.在一示例性的实施方式中,识别模块73,还用于通过所述语音任务管理模块同步调用预设的语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量;通过所述语音任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量;通过所述语音任务管理模块创建多个第二语音识别任务,并将多个第二语音识别任务存储至队列中,每一个第二语音识别任务对应一个分组所包含的短语音;通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第二语音识别任务,其中,每一个语音识别实例用于处理一个第二语音识别任务;通过所述语音识别模块中的多个语音识别实例并行根据获取到的第二语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果;通过预设的语音调度模块按照时间偏移量顺序对各个语音识别实例生成的语音识别结果进行拼接,得到最终的语音识别结果。
132.在一示例性的实施方式中,识别模块73,还用于通过所述语音任务管理模块异步调用所述语音活动检测模块对所述待识别语音进行端点检测,得到端点检测结果,所述端点检测结果包括所述待识别语音可划分的多个短语音的时间偏移量;通过所述语音任务管理模块将所述端点检测结果存储至预设的第一数据同步模块中,以通过所述第一数据同步模块将所述端点检测结果同步至所述语音调度模块;通过所述语音调度模块调用所述语音
任务管理模块根据所述端点检测结果将所述待识别语音中可划分的多个短语音分为多个分组,每一个分组包括至少一个短语音的时间偏移量;通过所述语音任务管理模块创建多个第三语音识别任务,并将多个第三语音识别任务存储至队列中,每一个第三语音识别任务对应一个分组所包含的短语音;通过所述语音识别模块中的多个语音识别实例从所述队列中获取所述第三语音识别任务,其中,每一个语音识别实例用于处理一个第三语音识别任务;通过所述语音识别模块中的多个语音识别实例并行根据获取到的第三语音识别任务对对应分组中包含的短语音进行语音识别,得到语音识别结果;通过预设的语音调度模块根据各个语音识别实例生成的语音识别结果按照时间偏移量顺序进行拼接,得到最终的语音识别结果。
133.在一示例性的实施方式中,语音识别装置70还包括断句模块。
134.所述断句模块,用于调用预设的文本断句模型对所述最终的语音识别结果进行断句处理。
135.在一示例性的实施方式中,语音识别装置70还包括存储模块。
136.所述存储模块,用于将语音识别结果存储至预设的第二数据同步模块中,并通过所述第二数据同步模块将各个语音识别实例生成的语音识别结果同步至所述语音调度模块中。
137.本技术实施例通过在接收语音识别请求后,确定所述待识别语音的语音长度,并在确定语音长度后采用与所述语音长度相匹配的语音识别方式对所述待识别语音进行语音识别,得到语音识别结果。本实施例通过根据语音长度选定最合适的语音识别方式,从而可以实现语音识别性能和可靠性的平衡,使得在对一些较长的语音进行识别时,可以节省语音识别所需的时间,而在对更长语音进行识别时,相对现有的识别方式,也不会增加语音识别所需的时间。
138.图8示意性示出了根据本技术实施例的适于实现语音识别方法的计算机设备8的硬件架构示意图。本实施例中,计算机设备8是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图8所示,计算机设备8至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
139.存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备8的内部存储模块,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,存储器120还可以既包括计算机设备8的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如语音识别方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
140.处理器121在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其它语音识别芯片。该处理器121通常用于控制计
算机设备8的总体操作,例如执行与计算机设备8进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
141.网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备8与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备8与外部终端相连,在计算机设备8与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi

fi等无线或有线网络。
142.需要指出的是,图8仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
143.在本实施例中,存储于存储器120中的语音识别方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本技术。
144.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的语音识别方法的步骤。
145.本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的语音识别方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
146.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本技术实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
147.通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
148.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献