用于减少语音识别延迟的自适应帧批处理
背景技术:1.基于神经网络的模型通常被用来执行自动语音识别(asr)。在一些示例中,训练基于神经网络的声学模型,以从输入音频帧中提取多元音素(senone)判别特征,并且基于所提取的特征对多元音素进行分类。解码器基于分类来生成单词假设,并且输出对应的文本。
2.输入音频帧可以被分批成两个或更多帧的批次,以允许联合处理和识别,目的是提高准确度和性能。然而,批处理要求系统在将批处理提交给asr之前等待接收批次的所有帧。无论asr的处理速度如何,这种等待都可导致不希望的用户感知延迟。
3.传统的asr系统可以使用若干物理上不同的模型来满足给定部署内的不同延迟要求。这种方法倍增了处理器相关的训练和部署成本。希望系统在不诉诸并行模型的情况下改善延迟。
附图说明
4.图1a是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的语音识别系统的框图。
5.图1b是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的语音识别系统的框图。
6.图1c是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的语音识别系统的框图。
7.图1d是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的语音识别系统的框图。
8.图2是根据一些实施例的用于初始延迟敏感自适应批处理的过程的流程图。
9.图3a是根据一些实施例的在操作期间采用终端延迟敏感自适应批处理的语音识别系统的框图。
10.图3b是根据一些实施例的在操作期间采用终端延迟敏感自适应批处理的语音识别系统的框图。
11.图4a到图4c包括根据一些实施例的用于初始和终端延迟敏感自适应批处理的过程的流程图。
12.图5a是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的启用先行(look-ahead-enabled)语音识别系统的框图。
13.图5b是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的启用先行语音识别系统的框图。
14.图5c是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的启用先行语音识别系统的框图。
15.图5d是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的启用先行语音识别系统的框图。
16.图6a是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理和自适应
先行的启用先行语音识别系统的框图。
17.图6b是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理和自适应先行的启用先行语音识别系统的框图。
18.图6c是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理和自适应先行的启用先行语音识别系统的框图。
19.图6d是根据一些实施例的在操作期间采用初始延迟敏感自适应批处理和自适应先行的启用先行语音识别系统的框图。
20.图7a和图7b包括根据一些实施例的用于初始和延迟敏感的自适应批处理和自适应先行的过程的流程图。
21.图8是根据一些实施例的基于云的语音识别服务的框图。
22.图9是根据一些实施例的语音识别系统的框图。
具体实施方式
23.提供以下描述以使得本领域的任何人能够制造和使用所描述的实施例。然而,对于本领域普通技术人员来说,各种修改仍然是明显的。
24.根据一些实施例,被同时输入到声学模型的帧的数量(即,批次尺寸)在asr处理期间被动态控制。例如,在生成单词假设之前使用小批次尺寸。使用小批次尺寸可以提供比大批次尺寸更低的延迟,因为收集小批次所需的时间比收集大批次相同尺寸的帧所需的时间更少。然后可以在生成单词假设之后增加批次尺寸,这可以提高处理效率,因为同时处理大数量的帧比处理较少数量的帧更具cpu效率和高速缓存效率。因此,可以快速向用户呈现单词假设,同时保留较大批次尺寸的大部分处理优势。
25.一些实施例可与在每批次输入帧内采用先行帧(look-ahead frames)的模型相结合地操作,其中先行帧的数目与输入帧的连续批次之间的重叠程度相关。这些实施例还可以如上所述动态控制批次尺寸,以提供低的初始用户感知延迟,并且在第一次假设之后,进一步提供改进的处理效率。
26.一些模型可操作以接收各种尺寸的输入批次并且包括各种数目的先行帧。通过响应于第一次假设而动态地增加批次尺寸,使用这种模型的实施例可以提供低的初始用户感知延迟,并且随后提供如上所述的改进的处理效率。此外,可以通过响应于第一次假设而增加先行帧的数目来实现提高的识别准确度。
27.在这方面,可以鉴于特定数目的先行帧来训练这种声学模型,该特定数目的先行帧大于最初使用的先行帧的数目。因此,尽管初始操作不是最理想的,但是将先行帧的数目改变为训练声学模型所基于的先行帧的数目可能导致提高的识别准确度。实施例还可以允许在保持批次尺寸不变的同时改变先行帧的数目。
28.附加地或替代地,一些实施例独立于假设生成来监控输入帧,以便检测语音结束状态。在检测到该状态时,可以减小批次尺寸以避免等待非语音帧,否则非语音帧将被添加到当前批次输入帧中。响应于检测到流结束、目标最大处理时间或其他条件,可以附加地或替代地减小批次尺寸。这样的实施例因此可以支持从批处理过程的早期退出,并且减少最终假设的生成中的延迟。
29.图1a图示了根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的语
音识别系统100。系统100可以使用硬件和软件组件的任何合适组合来实现。系统100的每个图示功能或本文中所描述的每个功能可以由一个或多个计算设备(例如,计算机服务器)、存储设备(例如,硬盘或固态磁盘驱动器)和本领域已知的其他硬件来实现。这些组件可以被定位成彼此远离,并且可以是一个或多个云计算平台的元素,包括但不限于软件即服务、平台即服务、和基础设施即服务平台。根据一些实施例,一个或多个组件由执行一个或多个经训练的神经网络模型的一个或多个专用虚拟机来实现。
30.帧生成单元110接收音频信号并且生成与音频信号的相应帧相对应的帧级幅度谱或原始声学特征帧,如本领域已知的。例如,假设音频帧大小为25ms,帧生成单元110基于传入音频信号的前25ms生成第一原始声学特征帧s0。在这方面,图1a图示了基于传入音频信号的asr的开始。
31.下一原始声学特征帧可以基于传入音频信号的下一25ms来生成。在一些实施例中,时间相邻的原始声学特征帧可以表示音频信号的重叠帧。例如,第一原始声学特征帧s0可以基于传入音频信号的前25ms来生成,而下一原始声学特征帧可以基于传入音频信号的15ms到40ms帧来生成,并且第三原始声学特征帧声学特征帧可以基于传入音频信号的30ms到55ms帧来生成。
32.根据一些实施例,所生成的原始声学特征帧是本领域已知的梅尔频率倒谱系数或对数滤波器组特征。帧生成单元110可以实现任何合适的信号处理,以确定与传入音频信号的相应帧相对应的原始声学特征帧。例如,帧生成单元110可以实现定制设计的快速傅里叶变换和定制滤波器组参数。
33.批处理器120操作以将原始声学特征帧收集到批次中,并且将这些批次提供给经训练的声学模型130。经训练的声学模型130可以包括能够处理具有各种批次尺寸的输入帧批次的任何声学模型。例如,经训练的声学模型130可以包括单向长短期记忆模型(lstm)、双向lstm(blstm)模型或层轨迹lstm(ltlstm),但是实施例不限于此。
34.根据将在下文描述的一些实施例,经训练的声学模型130还能够处理包括先行帧的输入帧批次。经训练的声学模型130可以仅支持固定数目的先行帧(例如,上下文层轨迹lstm(cltlstm)模型)或者可以支持包括不同数目的先行帧的批次(例如,延迟控制的blstm(lc-blstm)模型)。
35.解码器140基于经训练的声学模型130的输出来形成单词假设。根据一些非穷举示例,模型130响应于接收到的输入帧批次来输出多元音素后验。基于后验和隐马尔可夫模型,解码器140在给定输入帧s=s0...sn的情况下输出最可能的单词序列
36.批处理器120可以确定批次尺寸和/或收集批次所基于的先行帧的数目。如本文所述,该确定可以基于由解码器140生成的单词假设和/或基于以其他方式检测到的语音结束状态。因此,批处理器120可以实现基于接收到的工作假设和/或语音结束信号来确定批次尺寸(并且在一些实施例中,确定先行帧的数目)的功能。
37.图1b图示了根据本示例的系统200的继续操作。如图所示,帧生成单元110已经基于输入音频信号的第二(潜在重叠)帧生成帧s1。假设初始批次尺寸被设置为2。
38.批处理器120先前已经接收到如图1a中所示的帧s0。由于初始批次尺寸为2,所以批处理器120将帧s0和s1收集到批次150中,并且将批次150提供给经训练的声学模型130。模型130基于其架构和本领域已知的经训练参数值来输出对应的后验。后验由解码器140接
收,解码器140继续尝试形成假设。
39.根据一些实施例,如关于随后接收的音频信号帧所示继续上述过程。例如,图1c图示了基于音频信号的相应帧生成帧s
10
。此时,批处理器120已经将帧s8和s9收集到批次152中,并且将这些帧传递给模型130。
40.假设解码器140现在基于直到当前点接收到的批次来生成非静默、非噪声假设。如所图示,将假设返回到批处理器120。基于假设的生成,批处理器120确定增加批次尺寸。
41.基于假设来改变批次尺寸和/或新批次尺寸的确定可以由不同于批处理器120的组件来执行。因此,这样的组件可以将新批次尺寸传输到批处理器120,因此批处理器120可以使后续批处理符合新批次尺寸。
42.新批次尺寸的确定可以由第一生成的单词假设来触发,但是实施例不限于此。该确定可以由第n个生成的单词假设来触发、由单词假设的一个(或多个)特定子集的生成来触发、或由解码器140输出的单词假设的任何其他函数来触发。
43.图1d图示了根据一些实施例的新批次尺寸的实现。假定新批次尺寸为4,但是实施例不限于此。因此,在图1c中所示的批次152的输出之后,批处理器120将帧s
10
到s
14
收集到批次154中,并且将批次154提供给模型130。对照而言,如果批次尺寸保持为2,则批处理器120将仅将帧s
10
和s
11
收集到一个批次中,并且将该批次提供给模型130。
44.所图示的过程可以继续,其中批次由四个帧组成,直到asr终止(例如,已经到达音频信号的结尾)。根据一些实施例,批次尺寸在基于解码器140的输出而检测到静默时,被减小到初始批次尺寸(例如,两个),并且响应于单词假设而再次如上所述地增加。
45.在一些实施例中,批次尺寸可以逐渐增加到目标批次尺寸。关于以上示例,批处理器120可以在特定时间段内将批次尺寸从2增加到3,然后可以将批次尺寸从3增加到4。不是基于流逝的时间而是基于生成进一步的假设,或者除了基于流逝的时间之外还基于生成进一步的假设,可以实施增加。
46.图2是根据一些实施例提供动态批处理的过程200的流程图。可以使用硬件和软件的任何合适的组合来执行过程200和本文描述的其他过程。体现这些过程的软件程序代码可以由任何非暂态有形介质存储,包括固定磁盘、易失性或非易失性随机存取存储器、dvd、闪存驱动器或磁带,并由任意数目的处理单元来执行,包括但不限于处理器、处理器核心和处理器线程。实施例不限于本文描述的示例。
47.过程200可以响应于对音频信号执行asr的请求而启动。过程200可以例如由基于云的asr服务来执行,该服务从基于云的会议提供者接收请求和音频信号。根据一些实施例,音频信号可以作为近实时流被接收。在一些实施例中,过程200连续执行以处理在传入音频通道上呈现的任何信号。
48.在s210处确定用于处理音频信号的初始批次尺寸。初始批次尺寸可以是预定义的实验确定值。可以基于期望的初始延迟从若干值中选择初始批次尺寸,其中较低的延迟对应于较小的批次尺寸。参考图1a到图1d的示例,在s210处确定两帧的初始批次尺寸。
49.在s220处收集音频信号的原始声学特征帧。所收集的原始声学特征帧的数目等于所确定的初始批次尺寸。因此,关于上述示例,流程在s220处暂停,而批处理器120等待从帧生成单元110接收帧s0和s1。
50.在s230处,所收集的帧作为一个批次而被输入到语音识别网络。语音识别网络可
以包括能够基于声学帧批次来生成单词假设的任何系统。根据一些实施例,图1a到图1d的经训练的声学模型130和解码器140包括语音识别网络。
51.接下来,在s240处,确定语音识别网络是否已经生成单词假设。更具体地,s240可以包括确定语音识别网络是否已经基于直到当前点接收到的批次生成了非静默、非噪声假设。如果不是,则流程返回到s220以收集符合初始批次尺寸的另一帧批次。因此,流程在s220、s230和s240之间循环,直到语音识别网络生成了单词假设。如上所述,在s240处的确定不限于标识第一生成的单词假设。
52.尽管被图示为线性流程,但是在s240处的确定可以独立于s220和s230之间的流程循环并且与之并行发生。例如,帧批次的收集和输入可以继续进行,直到被所生成的单词假设的单独确定而中断,在此之后流程进行到s250。
53.在s250处,确定用于处理音频信号的下一批次尺寸。可以基于实验预先确定和/或从若干可能的批次尺寸中选择下一批次尺寸。根据一些实施例,下一批次尺寸是八十帧。
54.如关于图1d所描述的,在s260处收集下一批次尺寸的原始声学特征帧,并且在s270处将其输入到语音识别网络。根据一些实施例,流程在s260和s270之间循环以收集和输入帧批次,直到在s280处检测到静默。在s280处的静默检测可以包括检测由语音识别网络在一段时间内生成的单词假设的缺失、或者和/或可以是基于启发式的。
55.根据所图示的示例,在s280处检测到静默导致过程200返回到s210以将批次尺寸重置为初始批次尺寸。因此,如果音频信号的后续帧包括语音,则处理该语音的用户感知延迟可能低于较大批次尺寸导致的延迟。
56.从初始批次尺寸切换到下一批次尺寸可能会在处理中引入明显的延迟。响应于在s240处的确定,一些实施例可以逐渐将批次尺寸增加到目标批次尺寸。例如,对于s260的每n次迭代,批次尺寸可以增加一个预定义的数目,直到达到目标批次尺寸。
57.过程200可以在到达音频信号的结尾时终止。在一些实施例中,过程200响应于检测到语音结束状态而终止。图3a和图3b图示了根据一些实施例的这种处理。
58.系统300将语音结束检测器360添加到系统100的上述组件。语音结束检测器360直接从帧生成单元310接收原始声学帧并且基于其确定语音是否已经结束。语音结束检测器360可以包括用于基于输入帧检测语音结束状态的任何系统,并且可以包括一个或多个经训练的神经网络。在一个示例中,检测器360是独立于解码器假设而制定和训练的lstm分类器,它仅基于过去的帧来预测查询的结束。检测器360可以结合操作试探法来操作。
59.在一个操作示例中,组件310、320、330和340已经如上所述操作以将初始批次尺寸修改为四帧的下一批次尺寸。因此,批处理器320已经收集帧s
10
到s
13
的批次350用于输入到模型330。图3a还示出了帧s
16
从帧生成单元310到批处理器320和检测器360的传输。帧生成单元310因此已经生成帧s
14
和s
15
,它们已经被批处理器320收集以预期生成下一四帧批次。
60.将假定语音结束检测器360响应于帧s
16
的接收而检测到语音结束状态。作为响应,语音结束检测器360通知批处理器320检测到的状态。批处理器320然后收集帧s
16
作为当前批次的最后一帧。图3b图示了上述操作,其中批处理器320生成包含帧s
14
、s
15
和s
16
的批次352,并且批次352被输入到模型330。因此,最后批次的批次尺寸被减小以避免等待非语音帧,否则非语音帧将被添加到当前批次的输入帧中。这样的实施例因此可以支持从批处理过程的早期退出并且减少最终假设的生成中的延迟。如上面所提及,根据一些实施例,可以
响应于其他条件减小最后批次尺寸,包括但不限于检测流结束条件和检测逝去的最大识别时间。
61.图4a到图4c包括根据一些实施例提供动态批处理的过程400的流程图。过程400可以由图3的系统300实现,但是实施例不限于此。
62.步骤s405、s410、s415、s420和s425可以与过程200的步骤s210、s220、s230、s240和s250中的相应步骤类似地进行。如所述,用于处理传入音频信号的初始批次尺寸在s405处被确定并且音频信号的对应批次的原始声学特征帧在s410处被收集。
63.在s415处,将所收集的帧批次输入到语音识别网络。接下来,在s420处,确定语音识别网络是否已经生成了合适的单词假设。如果不是,则流程返回到s410以收集符合初始批次尺寸的另一帧批次。如果是,则如上所述在s425处确定用于处理音频信号的下一批次尺寸。
64.接下来,在s430处,基于下一原始声学特征帧来确定是否已经检测到语音结束状态。s430可以由独立于语音识别网络进行操作的语音结束检测器来执行,如关于图3a和图3b所描述的。参考图3a,s430可以包括从帧生成单元310接收帧并且基于接收到的帧(以及例如基于先前接收到的帧和/或其他试探法)来评估语音结束状态。如果未检测到语音结束状态,则流程继续到s435以在s435处收集下一原始声学帧。可以在s435处收集帧以包含在下一帧批次中。就此而言,在s440处确定是否已经收集到符合下一批次尺寸的批次。如果不是,则流程返回到s430。
65.将假定在s430处的确定继续是否定的,因为流程在s430、s435和s440之间循环,直到已经收集到所期望数量的帧。然后流程继续到s445,以将所收集的当前批次的帧输入到语音识别网络。如果在s450处没有检测到静默,则流程返回到s430。因此,流程在s430和s450之间循环以收集和输入当前批次尺寸的帧批次,直到在s450处检测到静默或在s430处检测到语音结束状态。在s430处检测到静默导致流程返回到s405以将批次尺寸重置为初始批次尺寸。如上面所提及的,如果音频信号的下一接收帧包括语音,则处理该语音的用户感知延迟可以低于较大批次尺寸导致的延迟。
66.如果在收集下一批次尺寸的批次期间在s430处检测到语音结束状态,则流程从s430进行到s455。在s455处,检测到语音结束状态所基于的下一原始声学帧被收集。参考图3a和图3b的示例,在s430基于帧s
16
检测到语音结束状态,然后在s455处由批处理器320收集帧s
16
作为当前批次的最后一帧。所收集的当前批次的帧(s
14
、s
15
和s
16
)然后在s460处被输入到模型330,即使当前批次的尺寸小于在s425处确定的下一批次尺寸。
67.在s420处的确定可以独立于s410和s415之间的流动循环并且与之并行地发生。类似地,在s430处的语音结束确定也可以或替代地独立于从s435到s450的流程循环并且与之并行地发生。
68.图5a到图5d图示了根据一些实施例的在操作期间采用初始延迟敏感自适应批处理的启用先行语音识别系统500。系统500包括经训练的声学模型530,其支持本领域已知的“先行”输入帧。经训练的声学模型530可以包括采用已知或变得已知的先行帧的任何模型架构,包括但不限于延迟控制的双向长短期记忆(lc-blstm)声学模型和上下文层轨迹长短期记忆(cltlstm)声学模型。如本领域已知的,cltlstm模型可以仅支持固定数目的先行帧,而lc-blstm模型可以支持包括不同数目的先行帧的批次。
69.图5a图示了其中批处理器520收集由六个原始声学特征帧组成的批次的示例,其中四个帧(即,帧s2、s3、s4和s5)是先行帧。在一些实施例中,批次尺寸被定义为包括开始帧和结束帧的窗口,并且先行帧由重叠值来定义。例如,批次550可以由窗口{s0,s5}和重叠值4(帧)来定义。
70.图5b图示了根据本示例的下一批次552的收集和输入。批次552与批次550的最后四个帧(s2、s3、s4和s5)重叠,并且包括先行帧s4、s5、s6和s7。因此,批处理器520在生成批次552之前必须等待帧s6和s7。
71.如上所述,模型130基于其架构和本领域已知的经训练参数值来输出与接收到的批次相对应的后验。后验由解码器(未示出)接收,该解码器尝试基于接收到的后验来形成单词假设。
72.现在将假定解码器基于直到图5b中所图示的点接收到的批次来生成非静默、非噪声假设。基于假设的生成,批处理器520(或另一组件)确定增加批次尺寸。
73.图5c图示了根据一些实施例的新批次尺寸的实现。根据图5c的示例,先行帧的数目是固定的,但是实施例不限于此。因此,该示例可以说明使用cltlstm模型的操作,cltlstm模型采用固定数目的先行帧。
74.如图5c中所示,新批次尺寸为八帧。下一批次554因此包括八帧并且与前一批次552的最后四帧重叠。实施例不限于此。批次554包括先行帧s8、s9、s
10
和s
11
。因此,在图1b中所示的批次552的输出之后,批处理器520收集帧s8到s
11
并且将这些帧添加到已经接收到的帧s4到s7以生成批次554。
75.图5d图示了基于修改后的批次尺寸的操作。批处理器520已收集了帧s
12
到s
15
并将这些帧添加到已经接收到的帧s8到s
11
以生成批次556。批次556具有八帧的批次尺寸并且包括四个先行帧。
76.如上所述,在一些实施例中,批次尺寸可以逐渐增加到目标批次尺寸。例如,这些增加可以响应于进一步假设的生成和/或响应于自第一假设以来逝去的时间。
77.图5a到图5d图示了在先行帧的数目保持固定的同时改变批次尺寸的操作。相比之下,图6a到图6d图示了采用初始延迟敏感自适应先行的启用先行语音识别系统600。
78.帧生成单元610接收音频信号并且生成与音频信号的相应帧相对应的帧级幅度谱或原始声学特征帧。批处理器620将所生成的原始声学特征帧收集到具有初始指定批次尺寸(或窗口)并且具有指定数目的先行帧(或重叠)的批次中。经训练的声学模型630接收批次并且输出多元音素后验,其例如被解码器640用来生成单词假设。经训练的声学模型630支持包括不同数目的先行帧的批次,并且因此在一些实施例中可以包括lc-blstm模型。
79.在图6a的示例中,初始批次尺寸为3,并且每个批次包括两个先行帧(即批次650的帧s1和s2)。图6b示出了下一批次652的输出,其包括三个帧并且与批次650的两个先行帧重叠。将假定解码器640现在基于直到当前点接收到的批次来生成非静默、非噪声假设。
80.作为响应并且如图6c和图6d中所示,批次尺寸变为4,并且每个批次的先行帧的数目变为3。因此,批次654与批次652的先行帧s2和s3重叠并且包括四个帧。批次654的四个帧包括三个先行帧s3、s4和s5。鉴于现在改变后的批次尺寸和先行帧的数目,批处理器620收集包括四个帧的下一批次656。批次656的四个帧包括与批次654的先行帧s3、s4和s5重叠的帧,并且还包括先行帧s4、s5和s6。
81.因此,实施例可以增加或减少批次尺寸和/或每批次的先行帧的数目。响应于检测到的假设,任一参数的增加或减少可以发生一次或逐渐发生。
82.根据一些实施例,声学模型630和解码器640使用图6c和图6d的批次尺寸和先行帧的数目来进行训练,并且因此最佳地在检测到第一单词假设之后进行操作。因此,声学模型630和解码器640的准确度在结合初始批次尺寸和先行帧的初始数目来进行操作时可能不是最佳的,如图6a和图6b中所示,作为更短的用户感知延迟的权衡。
83.图7a和图7b包括根据一些实施例提供动态批处理的过程700的流程图。过程700可以由系统600来实现,但实施例不限于此。
84.在s710处确定用于处理输入音频信号的初始批次尺寸。在s710处还确定的是要被包括在每个批次中的先行帧的初始数量。初始批次尺寸可以被指定为窗口尺寸,并且先行帧的数目可以被定义为窗口尺寸的特定分数(例如,1/2)。
85.在s720处基于初始批次尺寸和先行帧的初始数目来收集音频信号的原始声学特征帧。如图6a的示例中所示,并且假定初始批次尺寸为三帧,流程在s720处暂停,同时批处理器620等待从帧生成单元610接收帧s0、s1和s2。
86.在s730处,所收集的帧作为一个批次而被输入到语音识别网络。语音识别网络可以包括能够基于包括先行帧的声学帧批次来生成单词假设的任何系统。
87.接下来,在s740处,基于初始批次尺寸和先行帧的初始数目来收集音频信号的原始声学特征帧。在s740处所收集的帧与先前收集的帧的先行帧重叠。参考图6b,可以在s740处收集批次652,由三个帧组成并且与批次650的先行帧s1和s2重叠。在s750处,在s740处所收集的帧作为一个批次而被输入到语音识别网络。
88.与先前收集的帧的先行帧重叠的帧的收集可以包括将当前批次帧的窗口的开始设置为先前批次的重叠帧的开始。例如,在重叠是窗口尺寸一半的情况下,当前批次帧的窗口被设置为从先前批次的窗口的中间开始。
89.s760包括确定是否已经由语音识别网络生成了单词假设,并且可以如上所述地实现。如果尚未生成单词假设,则流程返回到s740以收集符合初始批次尺寸的另一帧批次,包括先行帧并与先前批次的先行帧重叠。因此,流程在s740、s750和s760之间循环,直到语音识别网络生成了单词假设。
90.一旦在s760处的确定是肯定的,则在s770处确定用于处理音频信号的下一批次尺寸。下一批次尺寸的确定还可以包括确定先行帧的下一数目。因此,s770可以包括确定新批次尺寸和/或每批次的先行帧的新数目。在一些实施例中,s770包括确定下一窗口尺寸,并且下一先行尺寸被确定为下一窗口尺寸的函数。如上面所提及,仅在结合能够处理包括任意数目的先行帧的批次的语音识别网络来执行过程700时,才可以确定先行帧的新数目。
91.如关于图6c和图6d所描述的,在s775处收集与先前的先行帧重叠的下一批次尺寸的原始声学特征帧,并且在s780处将其输入到语音识别网络。流程在s775和s780之间循环以收集和输入帧批次,直到在s785处检测到静默。然后流程返回到s710,将批次尺寸和先行帧的数目重置为其初始值,以便减少处理后续接收到的语音的用户感知延迟。
92.如关于过程400所描述的,过程700的实施例可以进一步合并用于独立地检测语音结束状态的语音结束检测器。基于该检测,可以减小最后批次的尺寸(例如,可以缩短窗口)以包括仅仅直到语音结束帧。
93.根据一些实施例的神经网络(例如,深度学习、深度卷积或循环)包括被布置成网络的一系列“神经元”,诸如lstm节点。神经元是在数据处理和人工智能(尤其是机器学习)中使用的架构,它包括可以基于提供给给定神经元的输入权重确定何时“记住”以及何时“忘记”该存储器中保存的值的存储器。在本文中所使用的每个神经元被配置为接受来自网络中其他神经元的预定义数量的输入,以为正被分析的各帧的内容提供关系和子关系输出。个体神经元可以被链接在一起和/或被组织成神经网络的各种配置中的树结构,以提供交互和关系学习建模,以用于了解话语中的每个帧如何相互关联。
94.例如,用作神经元的lstm包括用于处理输入向量、存储器单元和输出向量的若干门。输入门和输出门分别控制流入和流出存储器单元的信息,而遗忘门可以基于神经网络中早期链接单元的输入来可选地从存储器单元中移除信息。针对各个门的权重和偏差向量在训练阶段过程中进行调整,并且一旦训练阶段完成,那些权重和偏差就被最终确定以用于正常操作。可以可编程地(例如,经由软件指令)或者经由连接每个神经元以形成神经网络的专用硬件来构建神经元和神经网络。
95.图8图示了根据一些实施例的分布式转录系统800。系统800可以是基于云的,并且其组件可以使用按需虚拟机、虚拟服务器和云存储实例来实现。
96.语音到文本服务810可以被实现为云服务,其提供通过云820接收到的语音音频信号的转录。语音到文本服务810可以包括批处理器组件、asr模型和解码器,其如上所述地进行操作以使用如本文所述的延迟敏感自适应批处理来提供asr。
97.客户端设备830和832中的每一个可以被操作来请求诸如搜索服务840和语音助理服务850之类的服务。服务840和850继而又可以从语音到文本服务810请求语音到文本功能。根据一些实施例,客户端设备(例如,智能扬声器、智能手机)包括诸如系统100或系统300之类的系统的所有组件,并且操作不需要与云服务通信。在一些实施例中,客户端设备包括帧生成组件、批处理器组件、asr模型、解码器和可选的语音结束检测器中的至少一个,并且客户端设备调用远程系统(例如,云服务)来访问未在客户端设备上实现的任何这些组件的功能。
98.图9是根据一些实施例的系统900的框图。系统900可以包括通用计算设备并且可以执行程序代码以使用如本文所述的延迟敏感自适应批处理来提供asr。根据一些实施例,系统900可以由诸如个人计算机、智能扬声器和智能手机之类的独立设备或基于云的虚拟服务器来实现。
99.系统900包括处理单元910,其可操作地被耦合到通信设备920、持久数据存储系统930、一个或多个输入设备940、一个或多个输出设备950和存储器960。处理单元910可以包括一个或多个处理器、处理核心等,以用于执行程序代码。通信接口920可以促进与诸如互联网之类的外部网络的通信。(多个)输入设备940可以包括例如键盘、小键盘、鼠标或其他定点设备、麦克风、触摸屏和/或眼睛跟踪设备。(多个)输出设备950可以包括例如显示器(例如显示屏)、扬声器和/或打印机。
100.数据存储系统930可以包括任何数目的适当的持久性存储设备,包括磁存储设备(例如,磁带、硬盘驱动器和闪存)、光存储设备、只读存储器(rom)设备等的组合。存储器960可以包括随机存取存储器(ram)、存储类存储器(scm)或任何其他快速存取存储器。
101.批处理器932和解码器936可以包括可执行以提供如本文所述的功能的程序代码。
根据一些实施例,批处理器932和/或解码器936可以包括一个或多个经训练的神经网络。节点操作库934可以包括程序代码,其可执行以提供由超参数938和经训练参数值939定义的声学模型,如本领域已知的。数据存储设备930还可以存储用于提供附加功能和/或系统900的操作所必需的数据和其他程序代码,诸如设备驱动程序、操作系统文件等。
102.如本领域已知的,本文所描述的每个功能组件和过程可以至少部分地被实现在计算机硬件中、在程序代码中和/或在执行这种程序代码的一个或多个计算系统中。这种计算系统可以包括一个或多个处理单元,其执行存储在存储器系统中的处理器可执行程序代码。
103.体现所述过程的处理器可执行程序代码可以由任何非暂态有形介质存储,包括固定盘、易失性或非易失性随机存取存储器、dvd、闪存驱动器或磁带,并且由任意数目的处理单元执行,包括但不限于处理器、处理器核心和处理器线程。实施例不限于以下描述的示例。
104.上述各图表示用于描述根据一些实施例的系统的逻辑架构,并且实际实现可以包括以其他方式布置的更多或不同的组件。其他拓扑可以与其他实施例结合来使用。此外,本文描述的每个组件或设备可以由经由任何数目的其他公共和/或专用网络进行通信的任何数目的设备来实现。两个或更多个这样的计算设备可以被定位成彼此远离,并且可以经由任何已知方式的(多个)网络和/或专用连接而彼此通信。每个组件或设备可以包括任何数目的适合于提供本文所描述的功能以及任何其他功能的硬件和/或软件元件。例如,在根据一些实施例的系统的实现中所使用的任何计算设备可以包括处理器以执行程序代码,使得计算设备如本文所述的那样操作。
105.本文所描述的各图并不暗示对所图示的方法的固定顺序,并且可以以任何可行的顺序来实践实施例。此外,本文所描述的任何方法都可以通过硬件、软件或这些方法的任何组合来执行。例如,计算机可读存储介质可以在其上存储指令,这些指令在由机器执行时导致执行根据本文所描述的任何实施例的方法。
106.本领域技术人员将领会,在不背离权利要求的情况下,可以配置上述实施例的各种适配和修改。因此,应当理解,权利要求可以以不同于本文具体描述的方式来实践。