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

语音识别的上下文偏置的制作方法

2022-02-25 18:33:29 来源:中国专利 TAG:


1.本公开涉及语音识别的上下文偏置。


背景技术:

2.考虑到人们可能说的各种各样的单词以及口音和发音的多种变化,识别语音的上下文对自动语音识别(automated speech recognition,asr)系统是具有挑战性的。在许多情况下,人说的单词和短语的类型随着这个人发现自己所处的环境而变化。
3.上下文自动语音识别(asr)涉及将语音识别向给定的上下文偏置,例如,用户自己的播放列表、联系人、或地理位置名称。上下文信息通常包括待识别的相关短语的列表,其通常包括在训练中不常出现的稀有短语或甚至外语单词。为了执行上下文偏置,传统的asr系统有时使用n-gram加权有限状态变换器(weighted finite state transducer,wfst)来对独立上下文语言模型(lm)中的上下文信息进行建模,并将独立上下文lm与基线lm进行即时(on-the-fly,otf)重新评分。
4.最近,端到端(e2e)模型已经显示出asr的巨大前景,与传统的设备上模型相比,端到端模型显示出改进的单词差错率(word error rate,wer)和延迟指标(latency metric)。这些e2e模型将声学模型(acoustic model,am),发音模型(pronunciation model,pm)和lm折叠到单个网络中以直接学习语音到文本映射,与具有单独的am、pm、和lm的传统asr系统相比,这些e2e模型已经显示出竞争性结果。代表性的e2e模型包括基于单词的连接时序分类(connectionist temporal classification,ctc)模型,递归神经网络转换器(recurrent neural network transducer,rnn-t)模型,以及基于注意力的模型,例如listen,attend,and spell(las)模型。
5.在e2e仅字素(grapheme-only)的模型中,由关注者(attender)组件输出的预测子单词单元是字素。在e2e仅字段(wordpiece)的模型中,由关注者组件输出的预测子单词单元是字段,即一组公共子单词单元。注意力模块的输出被传递到拼写器(或“解码器”),该拼写器类似于lm,并且在一组假设的单词上有概率分布。
6.因为e2e模型在波束搜索解码期间保持有限数量的识别候选者,所以上下文asr对于e2e模型可能是具有挑战性的。对于e2e仅字素的模型和e2e仅字段的模型来说,拼写词汇外(out-of-vocabulary,oov)的单词,特别是那些在训练中几乎看不到的单词类,特别具有挑战性。


技术实现要素:

7.本文中的实施方式旨在被配置为将语音识别过程向与当前上下文相关的预定单词和短语偏置的语音识别模型。该模型可以是用神经网络实现的端到端模型。该模型可以使音频处理组件和上下文偏置组件联合训练,同时优化基于音频的编码和用于上下文n-grams的嵌入。在使用中,模型可以用上下文短语集合来呈现,这些上下文短语可能包含在训练期间看不到的词汇表外(oov)的术语。与更传统的语境化方法相比,所提出的系统可以
在一些测试中提供对字错误率(wer)的显著改进,相对wer高达68%,这表明联合优化优于单独训练的组件。
8.用于偏置的上下文短语的集合可以随着上下文改变而动态改变。例如,系统可以使用表示偏置短语的文本信息(例如,字素序列)。可以针对不同的情况使用不同的短语集合,并且可以为用户个性化这些短语集合。例如,当用户已经提到了词语“呼叫”或已经打开了用于呼叫或消息传递的应用程序时,系统可以从用户的联系人列表中选择姓名作为用于偏置的上下文短语。作为另一个示例,当用户的媒体播放应用打开或当前正在播放媒体时,用于偏置的上下文短语的列表可以是来自用户的媒体库的可用歌曲、或其它媒体项、或相关术语的列表。语音识别系统可以基于例如指示用户的联系人,日历约会,开着的应用、和位置的上下文数据来确定合适的上下文。从该上下文中,系统可以选择相关短语的合适的集合。
9.如将变得显而易见的,将上下文偏向动态地并入到神经网络中,asr模型可改进对词汇表外术语和不常见短语的识别。上下文短语可以被表示为一组词的n-grams。在一些实施方式中,结合了上下文偏置的神经网络asr模型包括上下文listen,attend,and spell(clas)模型。clas模型是一个编码器-解码器模型,它与上下文n-grams的嵌入一起共同优化asr组件。在推理过程中,clas模型可以用一组上下文短语来表示,这些上下文短语可能包含在训练过程中看不到的oov术语。由于模型不需要在训练时固定上下文短语的数量或内容,因此向模型提供上下文短语组是一个重要的优势。
10.本公开的一个方面提供了一种用于将上下文偏置信息合并到语音识别模型中以将语音识别向一个或多个预定词语/短语偏置的方法。该方法包括在数据处理硬件处接收编码话语的音频数据,并且由所述数据处理硬件获取与所述话语的上下文对应的偏置短语集合。所述偏置短语集合中的每个偏置短语包括一个或多个单词。所述方法还包括由所述数据处理硬件使用语音识别模型来处理从所述音频数据导出的声学特征,以从所述语音识别模型生成输出。所述语音识别模型包括:第一编码器和对应的第一注意力模块;偏置编码器和对应的偏置注意力模块;以及解码器,被配置为基于所述第一注意力模块的输出和所述偏置注意力模块的输出来确定语音元素的序列的似然。所述第一编码器被配置为接收声学特征,并且所述偏置编码器被配置为接收指示所获得的所述偏置短语集合的数据。该方法还包括由所述数据处理硬件基于由所述解码器确定的所述语音元素序列的似然来确定所述话语的转录。
11.本公开的实现可以包括以下可选特征中的一个或多个。在一些实施方式中,所述偏置编码器被配置为对所述偏置短语集合中的每个偏置短语的对应偏置上下文向量进行编码,并且所述偏置注意力模块被配置为计算所述偏置上下文向量上的注意力。在这些实施方式中,所述偏置注意力模块可以被配置为接收附加偏置上下文向量,所述附加偏置上下文向量不对应于所述偏置短语集合中的任何偏置短语。这里,所述附加偏置上下文向量表示不将由所述解码器确定的所述语音元素的序列的似然向任一个所述偏置短语进行偏置的选项。这些实施方式可以附加地或替代地包括所述偏置编码器和所述偏置注意力模块,所述偏置注意力模块被配置为利用所述偏置短语集合中的在所述语音识别模型的训练期间未指定的可变数量的偏置短语来操作。
12.语音元素可以包括单词、字段、或字素。该组偏置短语可以包括为特定用户个性化
的联系人姓名集合或媒体项名称集合。
13.在一些示例中,所述第一编码器、所述第一注意力模块、所述偏置编码器、所述偏置注意力模块、和所述解码器被联合训练,以从声学特征帧序列预测字素序列。在一些配置中,所述第一编码器包括堆叠的递归神经网络(rnn)和/或所述解码器包括堆叠的单向rnn,所述堆叠的单向rnn被配置为计算输出令牌序列的概率。
14.在一些实施方式中,所述第一注意力模块被配置为根据所述解码器的先前隐藏状态和由所述第一编码器为所述话语输出的上下文向量的全序列来计算注意力函数,并且所述偏置注意力模块被配置为根据所述解码器的所述先前隐藏状态和表示所述偏置短语集合中的所述偏置短语的上下文向量的全序列来计算注意力。在另外的实现方式中,解码器被配置为基于以下来确定隐藏状态:从所述语音识别模型输出的前一个字素的嵌入矢量;所述解码器的先前隐藏状态;由所述第一注意力模块输出的音频上下文向量;以及由所述偏置关注模块输出的偏置上下文向量。
15.在一些示例中,该方法还包括:由所述数据处理硬件获取与所述偏置短语集合中的所述偏置短语对应的偏置前缀的列表;以及由所述数据处理硬件使用所述语音识别模型来确定话语的部分转录是否包括所述偏置前缀列表中的所述偏置前缀之一。这里,偏置前缀列表中的每个偏置前缀表示所述偏置短语集合中的一个或多个偏置短语的初始部分。在这些示例中,当所述话语的所述部分转录包括所述偏置前缀之一时,该方法还包括:由所述数据处理硬件识别所述偏置短语集合中的一个或多个偏置短语的子集,所述一个或多个偏置短语包括包含在所述部分转录中的所述偏置前缀之一;以及由所述数据处理硬件仅启用所识别的所述一个或一个偏置短语的所述子集,以用于偏置所述语音识别模型。在其它示例中,该方法还包括:由数据处理硬件获取与所述偏置短语集合中的所述偏置短语对应的偏置前缀的列表,所述偏置短语的所述列表中的每个偏置前缀表示所述偏置短语集合中的一个或多个所述偏置短语的初始部分;数据处理硬件基于所述话语的部分转录是否包括所述偏置前缀的的所述列表中的一个或多个所述偏置前缀,来调整所述偏置注意力模块的偏置注意力概率,用于对所述偏置短语集合中的所述偏置短语的所述偏置编码器的输出进行编码。所述偏置前缀的所述列表中的至少一个偏置前缀包括所述偏置短语集合中的对应偏置短语的第一个单词,并且不包括所述对应偏置短语的最后一个单词。
16.本公开的另一方面提供了一种将上下文偏向信息合并到语音识别模型中以将语音识别向一个或多个预定词语/短语偏置的系统。该系统包括数据处理硬件和与数据处理硬件通信并存储指令的存储器硬件,所述指令在数据处理硬件上执行时使数据处理硬件执行操作。所述操作包括接收编码话语的音频数据,并且获取与所述话语的上下文对应的偏置短语集合。所述偏置短语集合中的每个偏置短语包括一个或多个单词。所述操作还包括使用语音识别模型来处理从所述音频数据导出的声学特征,以从所述语音识别模型生成输出。语音识别模型包括:第一编码器及对应的第一注意力模块;偏置编码器和对应的偏置注意力模块;以及解码器,被配置为基于所述第一注意力模块的输出和所述偏置注意力模块的输出来确定语音元素的序列的似然。所述第一编码器被配置为接收声学特征,并且所述偏置编码器被配置为接收指示所获得的所述偏置短语集合的数据。所述操作还包括基于由所述解码器确定的所述语音元素序列的似然来确定所述话语的转录。
17.该方面可以包括一个或多个以下可选特征。在一些实施方式中,所述偏置编码器
被配置为对所述偏置短语集合中的每个偏置短语的对应偏置上下文向量进行编码,并且所述偏置注意力模块被配置为计算所述偏置上下文向量上的注意力。在这些实施方式中,所述偏置注意力模块可以被配置为接收附加偏置上下文向量,所述附加偏置上下文向量不对应于所述偏置短语集合中的任何偏置短语。这里,所述附加偏置上下文向量表示不将由所述解码器确定的所述语音元素的序列的似然向任一个所述偏置短语进行偏置的选项。这些实现可以附加地或替代地包括偏置编码器和偏置注意力模块,所述偏置注意力模块被配置为利用所述偏置短语集合中的在所述语音识别模型的训练期间未指定的可变数量的偏置短语来操作。
18.语音元素可以包括单词、字段、或字素。该组偏置短语可以包括为特定用户个性化的联系人姓名集合或媒体项名称集合。
19.在一些示例中,所述第一编码器、所述第一注意力模块、所述偏置编码器、所述偏置注意力模块、和所述解码器被联合训练,以从声学特征帧序列预测字素序列。在一些配置中,所述第一编码器包括堆叠的递归神经网络(rnn)和/或所述解码器包括堆叠的单向rnn,所述堆叠的单向rnn被配置为计算输出令牌序列的概率。
20.在一些实施方式中,所述第一注意力模块被配置为根据所述解码器的先前隐藏状态和由所述第一编码器为所述话语输出的上下文向量的全序列来计算注意力,并且所述偏置注意力模块被配置为根据所述解码器的所述先前隐藏状态和表示所述偏置短语集合中的所述偏置短语的上下文向量的全序列来计算注意力。在另外的实现方式中,解码器被配置为基于以下来确定隐藏状态:从所述语音识别模型输出的前一个字素的嵌入矢量;所述解码器的先前隐藏状态;由所述第一注意力模块输出的音频上下文向量;以及由所述偏置关注模块输出的偏置上下文向量。
21.在一些示例中,所述操作还包括获取与所述偏置短语集合中的所述偏置短语对应的偏置前缀的列表;以及由所述数据处理硬件使用所述语音识别模型来确定话语的部分转录是否包括所述偏置前缀列表中的所述偏置前缀之一。这里,偏置前缀列表中的每个偏置前缀表示偏置短语集中的一个或多个所述偏置短语的初始部分。在这些示例中,当所述话语的所述部分转录包括所述偏置前缀之一时,操作还包括:识别所述偏置短语集合中的一个或多个偏置短语的子集,所述一个或多个偏置短语包括包含在所述部分转录中的所述偏置前缀之一;以及仅启用所识别的所述一个或一个偏置短语的所述子集,以用于偏置所述语音识别模型。在其它示例中,所述操作还包括:获取与所述偏置短语集合中的所述偏置短语对应的偏置前缀的列表,所述偏置短语的所述列表中的每个偏置前缀表示所述偏置短语集合中的一个或多个所述偏置短语的初始部分;以及基于所述话语的部分转录是否包括所述偏置前缀的所述列表中的一个或多个所述偏置前缀,来调整所述偏置注意力模块的偏置注意力概率,用于对所述偏置短语集合中的所述偏置短语的所述偏置编码器的输出进行编码。所述偏置前缀的所述列表中的至少一个偏置前缀包括所述偏置短语集合中的对应偏置短语的第一个单词,并且不包括所述对应偏置短语的最后一个单词。
22.本公开的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求书中的其它方面,特征和优点将是显而易见的。
附图说明
23.图1是结合了上下文偏置以改善语音识别的语音识别器示例的示意图。
24.图2是用于上下文偏置的语音识别模型的示例结构的示意图。
25.图3a-3c是描述用于上下文偏置短语的即时重新打分(on-the-fly rescoring)的不同技术的示意图。
26.图4是将上下文偏置信息合并到语音识别模型的方法的操作的示例安排的流程图。
27.图5是可用于实现本文所述的系统和方法的示例性计算设备的示意图。
28.各个附图中相同的附图标记表示相同的元件。
具体实施方式
29.随着语音技术的日益普及,语音正在成为移动设备和智能个人助理上的主要输入模式之一。当在识别过程中说入话语(utterance)自动语音识别(asr)模型结合关于当前上下文的信息时,可以提高asr模型的准确性。这种上下文的示例包括对话状态(例如,当闹钟响起时我们可能希望“停止”或“取消”),讲话者的位置(这可能使得附近的餐馆或地点更可能),以及关于用户的个性化信息,例如她的联系人或歌曲播放列表。特别地,向asr模型提供已知与当前上下文相关的短语可显著提高识别不常见单词或训练示例中未包括的词的准确性。本文的实施方式旨在将上下文偏置功能结合到端到端(e2e)语音识别模型中,该模型将传统上由以下单独训练的模型:声学模型(am),语言模型(lm)和发音模型(pm)中的每一个执行的功能组合到单个模型中。具体地,e2e语音识别模型可以在推理期间(例如,使用该模型来预测语音内容)接收表示为一组词n-grasm的上下文短语,其中一些上下文短语可能包含用于训练模型的训练示例中未包括的词汇表外术语。
30.在传统的asr系统中,纳入此类信息的主流模式之一涉及使用独立训练的即时(otf)重新打分框架,该框架动态地调整与特定识别上下文相关的少量n-grams的lm权重。。将这种技术扩展到序列到序列模型对于改善系统性能是重要的,并且是活跃的研究领域。尽管一些方法将外部独立训练的lm应用到用于otf重新打分的序列到序列模型,但是从序列到序列模型的各部分的联合优化中获得的许多益处丢失了。
31.结合了上下文偏置的e2e语音识别模型可以包括上下文listen,attend,and spell((clas)模型,clas模型不使用任何外部独立训练的模型用于otf重新打分,而是为反馈到模型的每个上下文短语生成上下文嵌入。例如,clas模型可以包括偏置编码器,偏置编码器接收每个表示为字素序列的上下文短语作为输入,并且单独地生成作为偏置嵌入的上下文短语的对应的固定维度表示作为输出。然后,clas模型可以采用偏置注意机制来在模型的输出预测的每个步骤处总结可用的上下文。偏置注意机制在表示相关上下文短语的偏置嵌入的全序列上操作。这样,上下文短语的数量,上下文短语的长度和上下文短语的内容可以随时间动态变化,并且不需要设置在训练模型时。该方法允许在推理期间使用可变数量的上下文短语来容易地并入词汇表外术语。该技术既不需要在训练时获得特定的上下文信息,也不需要仔细调整重新打分权重。
32.可用于选择用于偏置的上下文短语的类型的上下文示例包括应用的对话状态或与数字助理的对话。其它信号或因素同样可以提供上下文,表明哪些术语是最相关的。例
如,当闹钟响时,词语“停止”或“取消”更有可能。另一个示例性上下文是讲话者的位置,其可以使附近商店,餐馆或其他位置的名称更有可能。附加的上下文信息可以是关于用户的个性化信息,例如他或她的联系人或歌曲播放列表。
33.参照图1,示例asr系统100包括语音识别模型200,语音识别模型200结合了上下文偏置以将语音识别过程偏置到与说出的话语的当前上下文相关的预定单词和短语。语音识别模型200包括音频编码器210,偏置编码器220,音频注意力模块218,偏置注意力模块228和解码器240,解码器240接收注意力模块218、228的输出作为输入。用softmax层242对解码器240的输出进一步归一化,softmax层242可以在一组语言单元上提供概率分布,例如一组字素。例如,用于软最大层242的输出可以是具有用于语言中的每个字素的概率值的向量,以及潜在地用于其它符号(例如,标点符号,空间等)。来自softmax层242的向量序列被用于产生由设备106记录的语音发声104的转录150。例如,波束搜索模块243可以确定构成转录150的一系列字素。在一些示例中,语音识别模型200驻留在与用户102相关联的用户设备106上。在其它示例中,语音识别模型200驻留在与用户设备106通信的远程服务器上,或者语音识别模型200的功能在远程服务器和用户设备106之间被分割。
34.在所示的示例中,用户102说出由用户设备106的一个或多个麦克风捕获的话语104。用户设备106可以包括移动设备,例如智能电话,平板电脑,智能耳机,智能手表等。由用户102说出的话语104可以是“停止闹钟”的命令,其中一个或多个麦克风从说出的命令生成音频信号108。音频信号108可以以各种方式中的任何一种来处理,以确定语音识别模型200的神经网络元素的输入。例如,特征提取模块109可以从音频信号生成声学特征110,例如用于音频信号108的不同窗口或帧的mel频率倒谱分量(mel-frequency cepstral component)。
35.语音识别模型包括对不同类型的输入进行操作的两个不同的编码器/注意力路径/分支。例如,音频编码器210和音频注意力模块218处理声音信息,而偏置编码器220和偏置注意力模块228处理关于上下文相关术语(例如,单词或短语)的信息。更具体地,音频编码器210接收由特征提取模块109提取的代表话语104的声学特性的声学特征110,并且偏置编码器220接收代表不同偏置短语的输入。
36.在一些实施方式中,用户设备获得指示关于当前上下文的信息的上下文数据111。这里,上下文数据可以指示诸如用户设备106的物理状态、用户设备106的操作状态、用户102的最近输入或任务等因素。在一个示例中,上下文数据111表明用户设备106的位置、在用户设备106上安装和/或执行的应用、以及用户102的即将到来的日历约会。例如,上下文数据111可以包括开着的时钟app和一天中的时间,表明现在是早晨。上下文数据111可以指示设备106在用户的家中,并且即将到来的日历约会包括在一个小时内会发生的会议。在该示例中上下文数据111表明,用户可能是早晨在家,被他或她的时钟app的闹钟唤醒,以便准时参加会议。
37.用户设备106从上下文数据111中选择一组被预测与当前上下文相关的上下文偏置短语114。这些短语114可以由偏置短语选择器113选择,偏置短语选择器113解释上下文数据111并编辑短语列表。偏置短语选择器113可以确定当前上下文的分类或类别,例如选择上下文数据111是否最可能表示播放媒体,发起呼叫,口述消息,发出语音命令等。根据这些分类、或者直接根据上下文数据111,偏置短语选择器113编辑有可能被说出的短语114的
列表。在示出的示例中,偏置短语选择器113确定可能是语音命令,并且因此偏置短语选择器113提供一组包括诸如“打开灯”,“停止闹钟”等命令的上下文偏置短语114,114a-n。
38.继续参考图1,语音识别模型200接收该组上下文偏置短语114作为上下文信息。语音识别模型200允许接收和处理可变数量的、可变长度的上下文偏置短语114。这里,偏置编码器220接收一组偏置短语中的每个偏置短语114作为对应的字素序列116(例如,字素数据),并为每个偏置短语114生成对应的固定维度表示,称为偏置向量222或偏置嵌入(bias embedding)。也就是说,偏置编码器220基于对应偏置短语114中的字素序列116一次一个地生成每个偏置向量222。
39.当大量偏置短语114可用时,选择有意义的偏置信息可能是具有挑战性的。在一些示例中,为了提高上下文偏置功能的有效性,偏置调节模块115可以可选地有选择性地激活偏置短语,以在给定时间仅偏置短语114的适当子集是激活的。利用这种技术,只有当在波束搜索波束上的部分解码的假设/转录上检测到相关的偏置前缀时,才可以启用偏置短语114。偏置调节模块115可以是语音识别模型200的一部分、或是一个单独的组件。
40.偏置调节模块115可以使用话语104的部分的、中间的或初步的转录信息来有效地滤除在当前时间步骤内没有意义的偏置短语114,从而限制了在偏置注意力模块228处注意偏置向量222时干扰或混淆的可能性。在一些示例中,对于每个偏置短语114,偏置短语选择器113向偏置调节模块115提供表示偏置短语114的初始部分的对应偏置前缀114f。因此,偏置调节模块115可以将每个偏置前缀114f与当前部分转录151进行比较,并确定当前部分转录151是否包括偏置前缀114f。当部分转录151包括偏置前缀114f时,偏置调节模型115可以激活/启用对应的偏置短语114。例如,在给定示例中,对于“停止闹钟”的偏置短语114,当当前部分转录151包括“停止”(或“停止该”)的偏置前缀114f时,偏置短语选择器113可以向偏置调节模块115提供对应偏置前缀114f,以调节对短语114的偏置向量122的激活/启用。
41.偏置调节模块115还可以禁用或惩罚对应于未包括在当前部分转录151中的偏置前缀114f的偏置短语114。可以通过如下方式来调整禁用的或惩罚的偏置短语114:指示偏置短语114的降低的概率、或者通过改变短语114的偏置向量222、或者提供非偏置输入117使得偏置编码器220对短语114的偏置向量222进行不同的编码。也可以使用其它技术,例如从偏置短语114的集合中删除短语114,或者从由偏置注意力模块228操作的集合中删除偏置向量222。
42.继续参考图1,偏置注意力模块228处理从偏置编码器220输出的偏置向量222和来自前一时间步长的解码器上下文状态238,以生成偏置注意矢量232。解码器上下文状态238包括在前一时间步长中的、相对于之前的偏置注意向量232的解码器240的状态。解码器上下文状态238可代表解码器240的输出的一部分,例如解码器140的输出的指定子集。解码器上下文状态238通知上下文偏置注意力模块228在当前时间步长内输入到偏置注意力模块228的偏置向量222的相对重要性注意力模块。因此,当解码器上下文状态238改变时,偏置注意力模块228计算偏置向量222的不同概要或聚合,从而改变解码器为不同偏置短语114的元素指示的概率。
43.不参考语音识别模型200的声音处理分支,由音频编码器210输出的音频向量212被提供给音频注意力模块218,音频注意力模块218生成音频注意向量230。音频注意向量230向注意力模块218提供当前所关注的音频帧的加权概要,例如迄今为止话语104的先前
音频向量212的序列。当接收到额外的声学特征时,音频编码器210可以为音频数据108的每个窗口或帧生成音频向量212,并且因此当接收到更多的音频时继续提供额外的音频向量212。在一些示例中,音频注意力模块218使用先前时间步长的解码器音频状态236和经编码的音频向量212来计算音频向量212的序列上的注意权重。当输出最近的解码器输出时,解码器音频状态236可代表解码器240的状态的一部分,例如,代表紧接音频的先前窗口或帧的先前时间步长的解码器状态的一部分。解码器状态236有助于提醒音频注意力模块218在当前时间步长输入到音频注意力模块218的音频向量212的相对重要性。解码器音频状态336可以是解码器340输出的一部分,例如解码器240的输出的指定子集,通常是与解码器上下文状态338中使用的不同的输出集合。在一些实施方式中,状态向量236、238表示解码器140输出的非重叠部分。在其它实施方式中,状态向量236、238包括一个或多个重叠部分或两个状态向量236、238各自解码器240的整个输出。
44.注意力模块218、228的输出都被提供给解码器240。例如,音频注意向量230和上下文注意向量232可被级联(concatenate)以产生组合向量234,用作解码器240的输入。这种级联向语音识别模型200注入偏置信息,并且解码器240将偏置信息和声音信息联合处理。解码器240可以是例如长短期记忆(long short-term memory,lstm)神经网络的序列模型。如上所述,表示解码器240各状态的对应部分的状态向量236、238被反馈到音频注意力模块218和上下文偏置注意力模块228,以用于计算下一个注意向量230、232。解码器240的输出被softmax层242归一化,以产生一组输出目标的概率分布,输出目标在所示示例中为字素。在其它示例中,具有概率分布中的输出目标组可以包括字段(wordpiece)或音素(phoneme)。来自解码器240的各种输出向量被提供给波束搜索模块243,波束搜索模块243使用波束搜索来产生话语104的转录150。关于在当前时间步长中哪个字素代表音频的决定被作为字素输出244反馈给解码器140,并用于计算下一个解码器输出241。
45.用户设备106可以以多种方式中的任何一种方式使用从波束搜索模块243输出的转录150。例如,根据用户102调用语音识别功能的方式,用户设备106可以识别和执行由转录150指定的命令、显示转录150、向另一系统(例如,诸如网络上的服务器系统)提供转录150、向移动设备106上的应用提供转录150等。
46.在图1的示例中,用户位置、打开的应用、和即将到来的日历约会的上下文信息将语音识别模型200偏置到“停止闹钟”的偏置短语114,这与用户在话语104中发出的短语相同。因此用户设备106(或者当服务器系统执行语音识别模型200时的服务器系统)正确地将用户的命令转录为“停止该闹钟”。然后,用户设备106可以基于该转录来执行动作,例如关闭闹钟应用的闹钟。
47.图2示出了结合上下文偏置的语音识别模型200的示例性上下文listen,attend,and spell(clas)模型架构。clas模型架构200是全神经机制,可以利用上下文信息-作为上下文偏置短语114(图1)的列表提供-来改善识别性能。该技术包括:首先将表示为一系列字素116的每个短语嵌入到固定维度表示222中,然后使用注意力模块228在模型的输出预测的每个步骤处总结可用的上下文232。这种方法使得在推理期间出现可变数量的上下文短语。此外,在此公开的技术不要求特定的上下文信息在训练时可用,并且重要的是,与一些现有系统不同,该方法不要求仔细调整重新打分权重,同时仍然能够纳入词汇表外(oov)术语。
48.在实验评估中,clas模型200-与模型的其余部分联合训练上下本组件-在处理数百个上下文短语时显著优于在线重新打分技术,并且在处理数千个短语时与这些技术相当。首先,用标准上下文化方法描述标准las模型。然后,描述为了获得clas模型200而对las模型建议的修改。
49.las架构包括三个主要组件:编码器210,解码器240、和注意网络218。这三个主要分量组件被联合训练以从声学特征帧序列110中预测字素序列244。编码器210包括读取声学特征110,x=(x1,.,xk)并输出高级特征(隐藏状态)序列212,的堆叠递归神经网络(rnn)(在本工作中是单向的)。编码器210类似于asr系统中的声学模型。
50.解码器220是堆叠的单向rnn,其计算输出令牌序列(本工作中的字符)241,的概率y=(y1,...,y
t
)如下:
51.对编码器状态向量212,h
x
的条件依赖性是使用上下文向量230,c
t
=c
xt
来建模的,该上下文向量是使用当前解码器隐藏状态,d
t
和全编码器状态序列,h
x
的函数的多头注意力(multi-head-attention)来计算的。捕获先前字符上下文y《t的解码器隐藏状态,d
t
由下式给出:其中d
t-1
是解码器的先前隐藏状态,并且是y
t-1
的嵌入向量。输出241在时间步长t处的后向(posterior)分布由下式给出:p(y
t
|h
x
,y<t)=softmax(ws[c
t
;d
t
] bs)
ꢀꢀꢀ
(3)其中ws和bs是再次可学习参数,[c
t
;d
t
]表示两个向量的级联。训练该模型使区别损失(discriminative loss)最小:l
las
=-log p(y|x)
ꢀꢀꢀ
(4)
[0052]
动态(otf)重新打分是一种用于调整与特定上下文相关的n-grams权重的方法。在下面的各种变化中,这种技术可以与下面讨论的las模型或clas模型200一起使用。在otf重新打分中,假定提前知道一组单词级偏置短语,并其被编译至加权有限状态变换器(weighted finite state transducer,wfst)。然后使得单词级wfst,g与“拼写器”fst,s组合,将一连串字素/字段转换为对应的单词。上下文语言模型通过以下方式获得:c=min(det(sοg))。
[0053]
然后,来自上下文语言模型的得分,pc(y)可以被并入到解码标准中。这是通过用上下文语言模型的比例贡献(scaled contribution)来增强标准对数似然项(standard log-likelihood term)来实现的:其中λ是可调的超参数(hyperparameter),其控制在波束搜索期间上下文语言模型对整体模型得分的影响程度。
[0054]
图3a-3c示出了通过向子词单元(subword unit)分配权重以对上下文偏置短语
114进行otf重新打分的不同技术。图3a描述了一种没有应用权重推导(weight pushing)的示例otf重新打分技术,导致在单词边界处使用公式(5)应用整体得分。因此,当相关单词首先出现在波束中时,该技术仅改善了otf重新打分性能。此外,该技术在上下文偏置短语的数量较小(例如,是,否,取消)时效果相当好,但是当上下文短语集合包含大量专有名词(例如,歌曲名称,联系人等)时,该技术会受到阻碍。
[0055]
图3b描述了一种应用权重推导的示例otf重录技术,导致将整体得分应用于每个单词的开始子单词单元(beginning subword unit)。因为单词可能在早期被认为提升,所以仅将分数应用到开始子单词单元可能引起过偏(over-biasing)问题。
[0056]
图3c描述了第三种otf重新打分技术,该技术将权重推给单词的每个子单词单元。为了避免人为地给早期被提升但不匹配整个短语的前缀赋予权重,,如图3c中所示的负权重所示,包括减法成本(subtractive cost)。通过向单词的每个子单词单元推权重,图3c的otf重新评分技术旨在帮助单词保持在波束中。
[0057]
参考图2,clas模型200通过提供的偏置短语114,z的列表使用额外的上下文来修改las模型,从而有效地对p(y|x;z)建模。z中的各个元素表示诸如个性化的联系人姓名,歌曲列表等的短语,这些短语与特定识别上下文相关。在所示的示例中,clas模型200可以访问被表示为z=z1,

,zn的额外的偏置短语114的序列的列表。z中的各个元素表示诸如个性化的联系人姓名,歌曲列表等的短语,这些短语与特定识别上下文相关。偏置短语114的目的是偏置模型以输出特定短语。然而,在给定当前话语的情况下,并非所有的偏置短语都是相关的,取决于模型确定哪些短语(如果有的话)可能是相关的,并且取决于模型使用这些来修改目标分布p(y
t
|h
x
,y《t)。
[0058]
偏置编码器220将偏置短语114(z=z1,

,zn)嵌入到向量集合222,hz={h
0z
,h
1z
,

,h
nz
}中。上标z区分了偏置-注意变量和音频相关的变量。如果i》0,则向量h
iz
是zi的嵌入。由于偏置短语114可能与当前话语无关,所以增加了可学习向量,h
z0
=h
znb
。可学习向量h
z0
对应于无偏置输入117(图1),并且不使用任何偏置短语来产生输出。当没有一个偏置短语与音频匹配时,该选项使得模型能够返回到“无偏置”的解码策略,并且允许模型完全忽略偏置短语。
[0059]
在一些示例中,偏置编码器220包括多层lstm网络,多层lstm网络被配置为接收以接收zi中子单词的嵌入序列,所述嵌入序列是解码器使用的相同字素或字段单元,以使用lstm的最后状态获取嵌入,作为整个短语的嵌入。
[0060]
偏置注意力模块228计算hz上的偏置注意力。二级上下文向量在时间步长t汇总z,如下所示:如下所示:
[0061]
偏置注意力模块228输出与音频上下文向量230,c
tx
级联的偏置上下文向量232,c
tz
,以提供级联的上下文向量234(图1),c
t
作为解码器240的输入,其中c
t
=[c
tx
;c
tz
]是关于x和z的上下文向量的级联。在一些实施方式中,与上下文偏置无关的clas模型200的其它组
件(例如,解码器和音频编码器)与标准las模型中的对应组件相同,尽管这些组件因与上下文偏置元素的联合训练而具有显著不同的训练状态。
[0062]
因此,clas模型200明确地模拟在给定音频特征110和先前输出241、244的情况下看到特定偏置短语114的概率。这里,概率对应于偏置注意概率,可以表示如下:
[0063]
此外,可基于以下等式训练clas模型200以最小化损失:l
clas
=-log p(y|x,z)
ꢀꢀꢀ
(9)
[0064]
参考图1和图2,在每个批次的训练期间,因为模型200在推理期间对将使用什么偏置短语114不做任何假设,clas模型200随机地生成偏置短语z的列表,以允许在推理时的灵活性。在一些示例中,通过获取与训练批次中的音频特征110相对应的参考转录r1,

,r
nbatch
的列表,clas模型200随机地从与训练批次中的话语相关的参考转录中创建/生成训练偏置短语114的列表,并且随机地选择在一些参考转录中作为子串出现的、n-gram短语116的偏置短语114,z的列表。
[0065]
在一些示例中,训练clas模型200以行驶无偏置选项,其中特定偏置短语114,z与该批次中的一些话语不匹配,训练包括从创建过程中以概率p
keep
丢弃/排除每个参考。当丢弃参考时,该批次中仍保留该话语,但是没有从其转录中提取偏置短语。如果p
keep
被设置为p
keep
=0,则不向训练批次呈现偏置短语。如果p
keep
=1,则该批次中的每个话语具有至少一个匹配的偏置短语。接下来,通过从[1,n
phrases
]中随机均匀地选取k并且从[1,n
order
]中随机均匀地选取n,训练过程从每个保留的参考中随机地选择k个单词n-gram。这里p
keep
、n
phrases
、n
order
是训练过程的超参数。例如,如果p
keep
=1.0,n
phrases
=1,n
order
=1,则从每个参考转录中选择一个单句(unigram)。在一个示例中,设置p
keep
=0.5,n
phrases
=1,n
order
=4提高了对无偏置的鲁棒性,并且导致偏置短语214的列表具有17的预期大小(例如,分片(shard)大小的一半,加上无偏置的1)。
[0066]
在一些实施方式中,训练过程在随机生成偏置短语114,z的列表之后计算z与每个参考转录r的交点,使得训练过程在每次找到匹配时插入特定的《/bias》符号。例如,如果参考转录是“播放歌曲”,并且匹配偏置短语是“播放”,则目标序列被修改为“播放《/bias》歌曲”。《/bias》符号的目的是引入训练误差,该训练误差只能通过考虑正确的偏置短语来校正。为了能够预测《/bias》,模型200必须关注正确的偏置短语,从而确保偏置编码器220在训练过程期间接收更新。
[0067]
在推理期间,可能在训练中不会看到的是,当用户102向模型200提供音频特征向量110,x的序列和一组上下文偏置短语序列z时,模型200使用偏置编码器220将z嵌入hz。这种嵌入可以在音频流开始之前进行。音频特征向量110,x的序列可以被表示为馈送到音频编码器210中的帧序列,并且运行解码器240以使用波束搜索解码(例如,在图1的波束搜索模块243处)来产生n-best假设,从而产生转录150。
[0068]
如前所述,当用户102向clas模型200呈现数千个短语114时,检索有意义的偏置上下文向量232,c
tz
可能是有挑战性的,因为偏置上下文向量232对应于许多不同偏置嵌入z的加权和,因此可能远离在训练期间看到的任何上下文向量。为了减轻这个问题,在推断期间,偏置调节向模型200提供偏置短语z=z1,

,zn,的列表,以及偏置前缀114f,p=p1,

,
为条件)。这种构造将共享相同前缀的短语的数目限制为225(和3255相比),同时只增加百分之10(10%)的偏置短语段的总数。
[0075]
通过允许对大量短语的可缩放性而不降低精确度,clas模型200受益于偏置调节和otf重新打分方法,以及它们的组合。在没有这些特征的情况下,当使用非常大量的偏置短语时,会失去上下文偏置的益处。然而,调节和/或otf重新打分可允许在不降低精确度的情况下使用大量偏置短语,例如,数千或数十万或更多。
[0076]
因此,clas模型200包括全神经上下文的asr模型,其通过嵌入完整的上下文偏置短语114来结合上下文信息。clas模型200可以应用偏置调节以能够处理大量的上下文短语。模型200的wer相对于标准偏置技术高达百分之68(68%)。
[0077]
图4是用于将上下文偏置信息纳入语音识别模型200的方法400的示例性操作安排的流程图,该方法将语音识别偏向于与说出的话语的上下文相关的预定的单词和短语。可以参照图1和图2来描述该方法400。用户设备106(和/或远程服务器)可以执行该方法400的操作。在操作402,方法400包括接收编码话语104的音频数据108。例如,与用户102相关联的用户设备106的一个或多个麦克风可以记录和编码由用户102说出的话语104。在操作404,方法400包括获取与话语104的上下文相对应的偏置短语114集合。偏置短语集合的每个偏置短语114包括一个或多个单词。
[0078]
在操作406,方法400包括使用语音识别模型200处理从音频数据108导出的声学特征110,以从语音识别模型200生成输出241。语音识别模型200包括第一编码器210、与第一编码器210对应的第一注意力模块218、偏置编码器220、与偏置编码器220对应的偏置注意力模块228、以及解码器240,解码器被配置为基于第一注意力模块218的输出和偏置注意力模块228的输出来确定语音元素244的序列的似然。第一编码器210被配置成接收从音频数据108导出的声学特征110,并且偏置编码器被配置成接收指示所获得的偏置短语集114的数据116。
[0079]
在操作408,方法400包括基于由解码器240确定的语音元素244的序列的似然(likehood)来确定话语104的转录150。语音元素244可以包括单词,字段或字素。此外,第一编码器210,第一注意力模块218,偏置编码器220,偏置注意力模块228和解码器240被联合训练,以从声学特征帧序列中预测字素序列。
[0080]
软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可被称为“应用”,“app”或“程序”。示例应用包括但不限于系统诊断应用,系统管理应用,系统维护应用,字处理应用,电子表格应用,消息传递应用,媒体流应用,社交网络应用和游戏应用。
[0081]
非瞬态存储器可以是用于临时或永久地存储由计算设备使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非瞬态存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的实例包括(但不限于)快闪存储器和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram),动态随机存取存储器(dram),静态随机存取存储器(sram),相变存储器(pcm)以及磁盘或磁带。
[0082]
图5是可用于实现本文档中描述的系统和方法的示例性计算设备500的示意图。计
算设备500用于表示各种形式的数字计算机,例如膝上型计算机,台式计算机,工作站,个人数字助理,服务器,刀片服务器,大型机和其它适当的计算机。这里所示的组件,它们的连接和关系以及它们的功能仅仅是示例性的,而不是要限制在本文件中描述和/或要求保护的本发明的实现。
[0083]
计算设备500包括处理器510,存储器520,存储设备530,连接到存储器520和高速扩展端口550的高速接口/控制器540,以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每一个使用各种总线互连,并且可以适当地安装在公共母板上或以其它方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上的指令,以在外部输入/输出设备(例如耦合到高速接口540的显示器580)上显示图形用户界面(gui)的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备500,其中每个设备提供必要操作的部分(例如,作为服务器库,一组刀片服务器,或多处理器系统)。
[0084]
存储器520在计算设备500内非瞬态地存储信息。存储器520可以是计算机可读介质,易失性存储器单元或非易失性存储器单元。非瞬态存储器520可以是用于临时或永久地存储由计算设备500使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非易失性存储器的实例包括但不限于,闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram),动态随机存取存储器(dram),静态随机存取存储器(sram),相变存储器(pcm)以及磁盘或磁带。
[0085]
存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实现中,存储设备530可以是软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其它类似的固态存储器设备,或设备阵列,包括存储区域网络中的设备或其它配置。在另外的实现中,计算机程序产品被有形地包含在信息载体中。所述计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,例如上述的那些方法。信息载体是计算机或机器可读介质,例如存储器520,存储设备530或处理器510上的存储器。
[0086]
高速控制器540管理计算设备500的带宽密集操作,而低速控制器560管理较低的带宽密集操作。这种职责的分配仅是示例性的。在一些实施方式中,高速控制器540耦合到存储器520,显示器580(例如,通过图形处理器或加速器)以及高速扩展端口550,高速扩展端口550可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口590可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪、或例如交换机或路由器的联网设备。
[0087]
计算设备500可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器500a或者在一组这样的服务器500a中多次实现为膝上型计算机500b,或者被实现为机架服务器系统500c的一部分。
[0088]
在此描述的系统和技术的各种实现可以在数字电子和/或光学电路,集成电路,专
门设计的asic(专用集成电路),计算机硬件,固件,软件和/或其组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,所述可编程系统包括至少一个可编程处理器,所述可编程处理器可以是专用的或通用的,被耦合以从存储系统,至少一个输入设备和至少一个输出设备接收数据和指令,以及向其发送数据和指令。
[0089]
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所用,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品,非瞬态计算机可读介质,设备和/或设备(例如,磁盘,光盘,存储器,可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0090]
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器(也称为数据处理硬件)执行,执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,所述大容量存储设备用于存储数据,例如磁盘,磁光盘或光盘。然而,计算机不必具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
[0091]
为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备的计算机上实现,所述向用户显示信息的显示设备例如crt(阴极射线管),lcd(液晶显示器)监视器或者触摸屏,并且可选地具有键盘和定点设备,例如鼠标或轨迹球,通过这些设备用户可以向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学,语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求向用户的客户端设备上的web浏览器发送网页。
[0092]
已经描述了多种实现方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实施方式也在所附权利要求的范围内。
再多了解一些

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

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

相关文献