HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

用于识别语音的方法、装置、电子设备和存储介质与流程

2021-01-28 16:01:42|256|起点商标网
用于识别语音的方法、装置、电子设备和存储介质与流程

本公开的各实现方式涉及语音处理,更具体地,涉及用于识别语音中的文字的方法、装置、电子设备和存储介质。



背景技术:

随着计算机技术的发展,目前已经开发出了多种语音识别技术。利用这些技术,可以从包括语音的音频流中识别相对应的文字。目前已经提出了非实时语音识别技术和实时语音识别技术。现有的实时语音识别技术的准确性并不令人满意。尽管非实时语音识别技术的准确性较高,然而该技术存在较大延迟。此时,如何以更为有效的方式来识别语音,成为一个研究热点。



技术实现要素:

期望能够开发并实现一种以更为有效的方式来识别语音的技术方案。期望该技术方案能够与现有的语音识别系统相兼容,从而以更为有效的方式进行语音识别。

根据本公开的第一方面,提供了一种用于语音识别的方法。在该方法中,基于音频流的未处理部分中的第一音频片段,生成表示所述第一音频片段的第一音频特征。基于从所述音频流的已处理部分中确定的预定位置处的文字,生成表示与所述第一音频片段之前的音频片段相对应文字的第一文字特征。基于所述第一音频特征和所述第一文字特征,识别与所述音频流的所述未处理部分相对应的文字。

根据本公开的第二方面,提供了一种用于语音识别的装置。该装置包括:音频特征生成模块,配置用于基于音频流的未处理部分中的第一音频片段,生成表示第一音频片段的第一音频特征;文字特征生成模块,配置用于基于从音频流的已处理部分中确定的预定位置处的文字,生成表示与第一音频片段之前的音频片段相对应文字的第一文字特征;以及识别模块,配置用于基于第一音频特征和第一文字特征,识别与音频流的未处理部分相对应的文字。

根据本公开的第三方面,提供了一种电子设备,包括:存储器和处理器;其中存储器用于存储一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据本公开的第一方面的方法。

根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行实现根据本公开的第一方面的方法。

附图说明

结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:

图1示意性示出了其中可以使用根据本公开的示例性实现方式的语音识别环境的框图;

图2示意性示出了根据本公开的示例性实现方式的用于语音识别的过程的框图;

图3示意性示出了根据本公开的示例性实现方式的用于语音识别的方法的流程图;

图4a和4b分别示意性示出了根据本公开的示例性实现方式的对音频流进行处理的过程的框图400;

图5示意性示出了根据本公开的示例性实现方式的用于获取表示音频片段的音频特征的过程的框图;

图6示意性示出了根据本公开的示例性实现方式的从音频流识别文字的过程的框图;

图7示意性示出了根据本公开的示例性实现方式的用于识别文字的过程的框图;

图8示意性示出了根据本公开的示例性实现方式的基于联立网络来识别文字的过程的框图;

图9示意性示出了根据本公开的示例性实现方式的从音频流中识别文字的过程的框图;以及

图10示意性示出了根据本公开的示例性实现的用于语音识别的设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

首先参见图1描述语音识别过程的概要。图1示意性示出了其中可以使用根据本公开的示例性实现方式的语音识别环境的框图100。在图1中,假设语音流110包括4个文字“你好小滴”,此时音频流110的波形如图所示。在语音识别过程中,可以从语音流110中逐个识别出每个文字。

目前已经提出了非实时语音识别技术和实时语音识别技术。非实时语音识别技术在已经采集到包括整个句子的音频序列之后,将整个音频序列输入语音识别系统,并且以句子为单位进行识别并返回识别出的一句话。尽管此类技术较为成熟并且具有较高精度,但是该技术依赖于句子检测并且存在较大时延。如图1所示,非实时语音识别技术要求输入包括句子“你好小滴”的整个音频流110。继而,可以从音频流110中识别出文字120、122、124以及126,并且输出与音频流110相对应的文本130。

实时语音识别技术可以实时地接收音频流,识别过程与接收过程并行,并且可实时输出结果。此时,可以随着音频源说出“你好小滴”来逐渐接收到音频流110的各个部分,并且可以从当前已经接收到的部分逐步识别出文字120、122、124以及126,进而获得最终的文本130。由于并不能提前获取尚未被说出的音频,实时语音识别技术不能获取后文的信息,这导致难以将文字与音频流中的音频片段对准(即,难以确定不同文字之间的间隔),使得实时语音处理技术的准确性和性能并不令人满意。

为了至少部分地解决现有技术中的缺陷,根据本公开的示例性实现方式提出了将音频流划分为已处理部分和未处理部分,并且基于从已处理部分中识别出的文字,来确定未处理部分中的下一文字。在此,已处理部分表示已经经历音频识别的部分,而未处理部分表示尚未经历音频识别的部分。利用本公开的示例性实现方式,可以不断地从音频流的未处理部分中获取音频片段,并且不断地识别出该音频片段中的文字。

在下文中,将参见图2描述根据本公开的示例性实现方式的语音识别过程的概要。图2示意性示出了根据本公开的示例性实现方式的用于语音识别的过程的框图200。从音频源接收音频流110,并且基于音频流110中的未处理部分中的音频片段210生成音频特征212。将会理解,在此的音频源可以是说话的人物,或者还可以是用于播放预先录制的语音的播放源。例如,可以随着人物说话而不断接收音频流110,并且该音频流110可以包括已处理部分和未处理部分。根据本公开的示例性实现方式,可以利用音频编码网络来生成音频特征212。

根据本公开的示例性实现方式,可以利用文字编码网络,基于音频流110中的已处理部分的预定位置处的文字220,生成文字特征222。进一步,可以利用联立网络,基于音频特征212和文字特征222,从音频流110的未处理部分中识别文字230。

根据本公开的示例性实现方式,可以基于多种机器学习技术来构建网络模型。可以基于以下中的任意方式来构建音频编码网络、文字编码网络以及联立网络:循环神经网络(recurrentneuralnetworks,缩写rnn)、转换器(transformer)技术、rnn转换机(rnntransducer,缩写rnn-t)、自注意力(selfattention)技术、以及多头注意力(multi-headattention)技术。

利用本公开的示例性实现方式,可以在不断地利用音频流110中的未处理部分中的音频片段210和先前已经识别的文字220,来识别未处理部分中的文字230。以此方式,可以实时地从音频源来接收音频流110,并且可以不断地处理音频流110中的新接收到的未处理部分。由于音频特征212包括未处理部分的音频信息,文字特征222保留了已处理部分的先前文字的信息,以此方式可以以更为实时并且准确的方式识别音频片段210中的文字。

在下文中,将参见图3描述本公开的示意性实现方式的更多细节。图3示意性示出了根据本公开的示例性实现方式的用于语音识别的方法300的流程图。在框310处,基于音频流110的未处理部分中的第一音频片段,生成表示第一音频片段的第一音频特征。首先参见图4a和图4b描述如何处理音频流110以便获得第一音频片段。

将会理解,音频流110的采样频率可以较高,如果针对音频流110中的每个音频帧进行处理,则将会产生大量的时间开销和处理资源的开销。此时,可以针对音频流110进行降采样处理。图4a示意性示出了根据本公开的示例性实现方式的对音频流进行处理的过程的框图400a。在如图4a所示的降采样过程中,可以按照预定采样间隔对音频流110的未处理部分进行采样。如图4a所示,可以指定预定的时间间隔,例如指定从连续的n(n为整数,例如n=4或者其他整数)帧音频中采样一帧音频。可以从音频流110中选择第1帧、第n+1帧、第2n+1帧,等等,并且基于选择的各个音频帧来生成音频序列410。

根据本公开的示例性实现方式,可以基于采样后获得的音频序列410中一组音频帧来获取第一音频片段。利用本公开的示例性实现方式,可以通过采样技术来降低待处理音频序列的数据量。以此方式,可以在不影响识别效果的情况下降低处理时间和处理资源的开销,进而提高处理效率。

根据本公开的示例性实现方式,提出了滑动窗口的概念。在此,滑动窗口可以具有预定音频窗口宽度,并且该滑动窗口可以随着不断接收到音频流110中的新的未处理部分而向前滑动。可以将滑动窗口中的多个音频帧作为第一音频片段。图4b示意性示出了根据本公开的示例性实现方式的对音频流进行处理的过程的框图400b。如图4b所示,可以设置预定宽度的滑动窗口420。可以基于历史经验将滑动窗口420设置为预定宽度,例如,可以将滑动窗口420的宽度设置为m(m为正整数,例如m=10或者其他数值)。

随着不断接收到音频流110的未处理部分,该滑动窗口420可以持续向前滑动m个帧。如图4b所示,在初始阶段滑动窗口420位于音频流110的开始位置,此时第一音频片段(如图4所示的音频片段422)可以包括音频流110中的第1至10帧。当第一音频片段已经被处理之后,滑动窗口420可以向后滑动至第11至20帧,此时未处理部分中的下一待处理音频片段可以包括第11至20帧。

将会理解,不同人物说话的语速可以不同,因而每个字所包括的音频帧的数量也有所不同。可以将滑动窗口的宽度设置为小于每个字的帧数,可以基于人物说话的语速来调整窗口宽度。根据本公开的示例性实现方式,可以基于与已处理部分相对应的一组文字以及已处理部分的长度,确定音频流的语速。例如,可以以每个字所占用的音频帧的数量来确定语速。根据本公开的示例性实现方式,还可以以其他方式表示语速,例如可以基于每分钟读出的文字数量来表示语速。

假设初始阶段基于历史经验将窗口宽度设置为20帧,然而已经处理的部分显示该对话语速较快,例如每个字仅包括15帧音频。此时,可以基于语速调整预定音频窗口宽度,并且将窗口宽度设置为低于确定的语速。具体地,可以将窗口宽度设置为10帧或者其他数值。利用本公开的示例性实现方式,可以根据不同人物的语速来动态调整窗口宽度。以此方式,可以使得语音识别方法动态地适应不同人物的语速,以更高的准确性来确定音频流110中的每个字所对应的位置,进而提高语音识别的准确性。

在已经获得第一音频片段之后,可以基于音频编码网络来获取表示第一音频片段的第一音频特征。图5示意性示出了根据本公开的示例性实现方式的用于获取表示音频片段的音频特征的过程的框图500。首先参见图5中以实线示出的部分,可以将获取的音频片段210输入音频编码网络510。可以获取音频片段210的相关位置嵌入(positionembedding,缩写为pe)520,进一步,可以基于自注意力540机制来执行编码操作,并且针对编码后的结果执行池化550、平坦化560处理,以便获得音频特征212。将会理解,图5仅仅示意性示出了音频编码网络510的一个具体示例。根据本公开的示例性实现方式,可以基于目前已经提出的和/或将在未来开发的音频编码网络来确定音频特征。

将会理解,音频流110中的已处理部分包括人物语言的历史音频信息,可以保持这些历史音频信息以便为预测下一文字提供更多依据。根据本公开的示例性实现方式,可以基于音频流110的已处理部分,生成音频流110的历史音频信息。此时,在图5中以实线部分示出的步骤中,还可以加入如虚线框532、530、以及542所示的操作,以便确定历史音频信息。

继续参见图5,图5中的虚线部分示出了有关存储历史音频信息的操作。假设音频片段210是音频流110中的第t个音频片段,并且此时已经保存了之前的t-1个音频片段的历史音频信息532。在框530处,可以向音频编码网络中输入历史音频信息532,并且基于自注意力540来确定当前的t个音频片段的历史音频信息542。此时,音频编码网络510的操作过程如下:获取音频片段的相关pe520,获取之前的历史音频信息532,基于自注意力540机制确定新的历史音频信息542并且执行编码操作,进一步针对编码结果执行池化550、平坦化560处理,以便获得音频特征212。

利用本公开的示例性实现方式,可以在rnn-t网络模型中引入自注意力机制,进而提高网络模型本身的表达能力,并且提高语音识别的准确性。备选地和/或附加地,在框540处,可以基于多头注意力机制来执行编码过程。

将会理解,随着音频流110中更多的音频片段被处理,历史音频信息可以逐步被更新。如图5所示,可以不断地利用过去的历史音频信息532以及当前的音频片段210,生成新的历史音频信息542。进一步,假设已经获得了第t+1个音频片段,则可以基于第t个音频片段相关的历史音频信息和第t+1个音频片段,生成第t+1个音频片段相关的历史音频信息。

根据本公开的示例性实现方式,在此的历史音频信息542可以用于在后续步骤中确定其他音频片段210所对应的文字。由于历史音频信息542保存了之前的t个音频片段的相关信息,基于历史音频信息542来识别后续的文字,可以使得识别过程与之前的历史经验相一致,进而提高识别的准确性。

上文已经参见附图描述了如何生成音频特征212。在下文中,将返回图3描述如何生成文字特征222。在框320处,基于从音频流110的已处理部分中确定的预定位置处的文字,生成表示与第一音频片段之前的音频片段相对应文字的第一文字特征。将会理解,图3中的框310和框320处所示的两个步骤可以按照不同的顺序执行,备选地和/或附加地,还可以并行地执行。

根据本公开的示例性实现方式,可以基于文字编码网络来生成表示预定位置处的文字的文字特征222。将会理解,在此的预定位置可以是音频流110的已处理部分中的位置。根据本公开的示例性实现方式,该预定位置的文字可以包括从音频流110的已处理部分中确定的最后的文字。具体地,在“你好小滴”的示例中,假设已经从已处理部分中识别出“你好”,则预定位置处的文字可以包括最后一个文字“好”。利用本公开的示例性实现方式,基于音频流110的未处理部分之前紧邻的最后一个文字生成文字特征222,可以确保文字特征222包括与未来将要识别的文字最为紧密的关联关系。以此方式,可以提高语音识别的准确性。

根据本公开的示例性实现方式,该预定位置还可以是最后一个文字以外的其他文字。例如,在已经识别出“你好”的情况下,该文字可以是“你”。尽管此时文字“你”与未来将要识别出的文字之间存在间隔,该文字保留了先前语言的文字特征,因而也有助于提高后续识别过程的准确性。

在下文中,将参见图6描述如何生成文字特征222。图6示意性示出了根据本公开的示例性实现方式的从音频流110识别文字的过程的框图600。如图6所示在初始阶段,并未从音频流110中识别出任何文字。此时并不存在已经识别出的最后一个文字,可以利用空集符号表示最后一个文字612。相应地,可以生成空的文字特征。随着音频流110中的更多部分被处理,可以识别出文字622“你”,因而可以生成文字“你”的文字特征。

将会理解,采用不同的文字编码网络,所生成的文字特征222的形式也可以有所不同。在一个示例中,假设音频流110中仅包括k个常用文字,此时可以利用(k+1)×(k+1)的矩阵来表示文字特征222。可以将k个常用文字按照预定顺序进行排序,假设某个文字位于排序的第i个位置,则该文字的文字特征可以利用如下矩阵来表示,其中该矩阵中的第i行和第i列的元素被设置为1,而将其他位置处的元素被设置为0。又例如,对于空集符号而言,可以将矩阵的第k+1行和第k+1列的元素设置为1,而将其他位置的元素设置为0。将会理解,上文的矩阵仅仅是文字特征222的一个具体示例。根据本公开的示例性实现方式,可以采用其他方式来表示文字特征222,例如,可以基于向量来表示。

返回图3,在框330处,基于第一音频特征和第一文字特征,识别与音频流110的未处理部分相对应的文字。将会理解,由于滑动窗口的宽度通常小于一个文字所占用的语音片段的宽度,并不是每个音频片段都对应于一个新的文字。根据本公开的示例性实现方式,可以建立联立网络来确定第一音频片段表示文字的概率。具体地,如果第一音频片段表示文字,则联立网络可以输出相对应的文字;如果第一音频片段不表示文字,则可以将滑动窗口移动至音频流110中的未处理部分的下一位置,以便获得第二音频片段。

将会理解,在此的联立网络可以是基于之前采集到的历史样本数据进行训练而获得的网络模型。具体地,可以采集历史样本音频流,利用该历史样本音频流中的各个音频片段与文字之间的关联关系,来训练联立网络。利用本公开的示例性实现方式,可以充分利用已经总结的历史经验,提高语音识别的准确度。

在下文中,将参见图7描述更多细节。图7示意性示出了根据本公开的示例性实现方式的用于识别文字的过程的框图700。如图7所示,可以将音频特征212和文字特征222输入联立网络710,并且由联立网络710基于音频特征212和文字特征222生成映射720。根据本公开的示例性实现方式,联立网络710可以确定音频片段表示文字的概率,如果确定概率满足预定条件,则联立网络710基于音频特征212和文字特征222来确定文字。如果确定概率不满足预定条件,则联立网络710将输出空集符号此时,需要从音频流110的未处理部分中获取下一音频片段。

继续参见图7,在框730处,如果输出为文字,则处理过程前进至框742处,将输出的文字传输至文字编码网络712,以便获取新的文字特征222。在框730处,如果输出为空集符号,则处理过程前进至框740处,将采集到的下一音频片段传输至音频编码网络510,以便获取新的音频特征212(例如,第二音频片段的第二音频特征)。具体地,音频编码网络510可以基于第二音频片段,生成表示第二音频片段的第二音频特征。继而,联立网络710将基于第一文字特征、第一音频片段以及音频流的未处理部分中的第二音频片段来确定是否输出文字。

根据本公开的示例性实现方式,联立网络710可以连接音频编码网络510和文字编码网络712,并且分别接收来自两个网络的音频特征和文字特征。可以基于映射操作并且通过最佳方式(one-best)获得输出结果。输出结果可以包括文字符号或者空集符合。空集符号将会推进输入下一音频特征,并且基于下一音频特征和未产生文字输出的先前音频特征来识别文字。文字符号将会推动输入下一音频特征以及基于识别出的文字生成的文字特征,识别下一文字。在下文中,将参见图8描述有关联立网络710的更多细节,联立网络710用于获取输入的音频片段与文字之间的对齐关系。

图8示意性示出了根据本公开的示例性实现方式的基于联立网络来识别文字的过程的框图800。图8的横轴表示音频片段,纵轴表示输出的文字。节点表示在识别过程中的状态,例如,位置(i,j)处的节点表示在第i个音频片段处输出第j个文字。以细线示出的箭头表示可能的路径,而以粗线示出的箭头表示输出最终的文本“你好小滴”时的路径。

图8的左下角的起点810表示尚未输入任何音频片段时的初始状态,右上角的终点840表示已经输入全部音频流110时的终止状态。可以基于极大似然方法来训练联立网络710的各项参数。具体地,对齐过程到达位置(i,j)处的当前节点的路径概率(即,对齐过程沿着路径在第i个音频片段处输出第j个文字的路径概率)可以表示为:

其中pi表示对齐过程到达当前节点的路径概率,p(y(j-1))表示在当前节点下方节点的路径概率,p(y[j]|j)表示在当前节点输出第j个文字的概率,p(y(j))表示到达当前节点左侧节点的路径概率,以及表示在当前节点输出空集的概率。

根据本公开的示例性实现方式,可以计算各个路径的路径概率,并且找到使得该概率最小的路径作为最终的对齐路径。对齐网络中终点840的路径概率即为正确对齐的概率。可以使用动态规划算法执行训练。例如,可以基于rnn-t、连接时序分类(ctc)和交叉熵函数等作为目标函数继续训练。可以采用反向传播、随机梯度下降等方法进行递归计算,在此不再赘述。

例如,对齐路径可以包括由箭头820、822、824、826、828、830、832、以及834示出的路径。在图8中,向右箭头表示输出空集符号并且滑动窗口滑动到下一音频片段,向上箭头表示输出文字符号“y”。该路径表示在输入音频流110时,从起点810到达终点840的对齐路径。此时,在第2音频片段、第3音频片段、第5音频片段以及第6音频片段分别输出文字“你”、“好”、“小”、以及“滴”。

图9示意性示出了根据本公开的示例性实现方式的从音频流110中识别文字的过程的框图900。如图9所示,随着时间点推移,可以不断地从音频流110的未处理部分中获得音频片段910至960。在最初阶段,可以输入音频片段910,此时联立网络710输出的文字912表示空集符号,因而继续输入下一音频片段920。此时,基于音频片段910和920以及最初的文字特征(例如,空),可以获得文字922“你”。

滑动窗口向后滑动以便输入音频片段930,此时,可以基于音频片段930的音频特征以及文字“你”的文字特征,来输出文字932“好”。类似地,可以不断读取后续的音频片段940、950和960,并且相应地输出文字942、952和962(即,空集符号、“小”和“滴”)。

将会理解,在上文的示例中,示意性示出了在第二个音频片段920处输出文字。对于不同的音频流110,可以在不同的音频片段处输出文字。例如,第二个音频片段920可能会对应于空集符号,此时滑动窗口需要继续向后移动以便输入第三个音频片段930。此时,可以基于没有从其中识别出文字的音频片段910、920和930来识别文字。如果仍然输出空集符号,则滑动窗口需要继续向后移动,直到识别出文字为止。

上文已经描述了如何识别音频流110中的未处理部分的文字。根据本公开的示例性实现方式,可以基于与音频流110的已处理部分相对应的一组文字以及与音频流110的未处理部分相对应的文字,确定与音频流110相对应的文本。继续参见图9,在处理每个音频片段时,可以基于之前获取的文字和当前获取的文字,确定人物说话的含义。可以从输出的文字中去除空集符号,以便确定音频流110的内容。例如,在处理音频片段940时,音频流110的已处理部分表示“你好”,在已经处理完音频片段960时,音频流110的已处理部分表示“你好小滴”。

利用本公开的示例性实现方式,滑动窗口可以不断地向后移动,并且在未检测到文字时输出空集符号,在检测到文字之后输出相对应的文字。以此方式,不必额外判断音频流110中包括人物说话部分的开始点和结束点。由此,可以简化语音识别系统中的各种预处理操作。

将会理解,尽管上文仅以中文为语言的具体示例描述了如何识别语音。根据本公开的示例性实现方式,还可以处理其他语言的语音,例如,可以处理英语、法语、俄语等其他语言。可以基于上文描述的方法来建立音频编码网络、文字编码网络以及联立网络。不同之处在于,此时应当使用将要被处理语言的样本数据来训练上述网络。

根据本公开的示例性实现方式,假设音频流110包括以英语说出的语音“hellotaxi”,则此时滑动窗口将不断向后滑动,并且语音识别系统将在与单词“hello”相对应的语音片段结束附近的位置输出单词“hello”。利用本公开的示例性实现方式,可以方便地将语音识别系统移植到其他语言环境中。以此方式,可以便于在不同的应用环境中使用。

在上文中已经参见图2至图9详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现方式,提供了一种用于语音识别的装置。该装置包括:音频特征生成模块,配置用于基于音频流的未处理部分中的第一音频片段,生成表示第一音频片段的第一音频特征;文字特征生成模块,配置用于基于从音频流的已处理部分中确定的预定位置处的文字,生成表示与第一音频片段之前的音频片段相对应文字的第一文字特征;以及识别模块,配置用于基于第一音频特征和第一文字特征,识别与音频流的未处理部分相对应的文字。

根据本公开的示例性实现方式,识别模块包括:概率确定模块,配置用于基于第一音频特征和第一文字特征,确定第一音频片段表示文字的概率;以及文字确定模块,配置用于响应于确定概率满足预定条件,基于第一音频特征和第一文字特征来确定文字。

根据本公开的示例性实现方式,识别模块包括:概率确定模块,配置用于基于第一音频特征和第一文字特征,确定第一音频片段表示文字的概率;以及识别模块进一步配置用于响应于确定概率不满足预定条件,基于第一文字特征、第一音频片段以及音频流的未处理部分中的第二音频片段来确定文字,第二音频片段位于第一音频片段之后。

根据本公开的示例性实现方式,音频特征生成模块进一步配置用于基于第二音频片段,生成表示第二音频片段的第二音频特征;以及识别模块进一步配置用于基于第一文字特征、第一音频特征以及第二音频特征,确定文字。

根据本公开的示例性实现方式,该装置进一步包括:音频片段获取模块,配置用于按照预定音频窗口宽度,从音频流的未处理部分中获取第一音频片段。

根据本公开的示例性实现方式,该装置进一步包括:语速确定模块,配置用于基于与已处理部分相对应的一组文字以及已处理部分的长度,确定音频流的语速;以及调整模块,配置用于基于语速调整预定音频窗口宽度。

根据本公开的示例性实现方式,该装置进一步包括:采样模块,配置用于按照预定采样间隔对音频流的未处理部分进行采样;以及音频片段获取模块,配置用于基于采样的一组音频帧来获取第一音频片段。

根据本公开的示例性实现方式,该装置进一步包括:历史信息生成模块,配置用于基于音频流的已处理部分,生成音频流的历史音频信息,以及识别模块进一步配置用于基于历史音频信息、第一音频特征以及第一文字特征来确定文字。

根据本公开的示例性实现方式,该装置进一步包括:历史信息更新模块,配置用于基于历史音频信息以及第一音频片段,更新历史音频信息。

根据本公开的示例性实现方式,该装置进一步包括:文本确定模块,配置用于基于与音频流的已处理部分相对应的一组文字以及与音频流的未处理部分相对应的文字,确定与音频流相对应的文本。

根据本公开的示例性实现方式,预定位置处的文字包括从音频流的已处理部分中确定的最后的文字。

根据本公开的示例性实现方式,提供了一种电子设备,包括:存储器和处理器;其中存储器用于存储一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现上文描述的方法。

图10示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器1000的框图。应当理解,图10所示出的计算设备/服务器1000仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。

如图10所示,计算设备/服务器1000是通用计算设备的形式。计算设备/服务器1000的组件可以包括但不限于一个或多个处理器或处理单元1010、存储器1020、存储设备1030、一个或多个通信单元1040、一个或多个输入设备1050以及一个或多个输出设备1060。处理单元1010可以是实际或虚拟处理器并且能够根据存储器1020中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备/服务器1000的并行处理能力。

计算设备/服务器1000通常包括多个计算机存储介质。这样的介质可以是计算设备/服务器1000可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1020可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备1030可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备/服务器1000内被访问。

计算设备/服务器1000可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图10中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1020可以包括计算机程序产品1025,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。

通信单元1040实现通过通信介质与其他计算设备进行通信。附加地,计算设备/服务器1000的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备/服务器1000可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。

输入设备1050可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1060可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备/服务器1000还可以根据需要通过通信单元1040与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备/服务器1000交互的设备进行通信,或者与使得计算设备/服务器1000与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现上文描述的方法。

这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

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

附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 滑动窗口语音识别
tips