首页 > 乐器声学 专利正文
将上下文信息与端到端模型一起用于语音识别的制作方法

时间:2022-02-13 阅读: 作者:专利查询

将上下文信息与端到端模型一起用于语音识别的制作方法

1.本公开涉及将上下文信息与端到端模型一起用于语音识别。


背景技术:

2.考虑到人们可以讲出的各种各样的词以及口音和发音的许多变化,识别语音的上下文对于自动语音识别(asr)系统来说是有挑战性的。在许多情况下,一个人讲出的词和短语的类型根据该人发现他自己或她自己所处的上下文而变化。
3.上下文自动语音识别(asr)涉及将语音识别偏向给定上下文,诸如偏向用户自己的播放列表、联系人或地理地名。上下文信息通常包括要识别的相关短语的列表,其常常包括在训练中不常看到的罕见短语或甚至外来词。为了执行上下文偏置,常规asr系统有时使用n元语法加权有限状态转换器(wfst)在独立上下文语言模型(lm)中对上下文信息进行建模,并且将独立上下文lm与基线lm组成在一起以进行即时(otf)重新评分。
4.最近,端到端(e2e)模型对于asr以及展现了巨大希望,与常规设备上模型相比显示出改进的词错误率(wer)和时延度量。将声学模型(am)、发音模型(pm)和lm合并到单个网络中以直接学习语音至文本映射的这些e2e模型与具有单独的am、pm和lm的常规asr系统相比已展现了有竞争力的结果。代表性e2e模型包括基于词的连接主义时间分类(ctc)模型、循环神经网络转换器(rnn

t)模型和基于注意力的模型,诸如听、出席和拼写(las)。
5.因为e2e模型在束搜索解码期间维持有限数量的识别候选,所以上下文asr对于e2e模型来说可能是有挑战性的。对于e2e纯字素模型和e2e纯词条模型来说,拼写词汇外(oov)词特别是在训练中几乎看不到的那些类词可能是特别有挑战性的。


技术实现要素:

6.本文的实现针对一种应用偏置技术的自动语音识别(asr)系统,该系统使用各种类型的上下文信息来将语音识别偏向最可能与在其中讲出了话语的当前上下文相关的词和短语。当检测到上下文中的一个时,asr系统使用相关联的词集来改进对那些词的识别。偏置技术能够与端到端模型诸如将声学模型、发音模型和语言模型的功能并入到单个统一模型中的神经网络模型一起使用。本文讨论的各种技术能够改进端到端模型的上下文偏置并且解决在用端到端模型实现偏置时出现的问题。
7.到特定域(诸如用户的歌曲名称、应用名称或联系人姓名)的上下文偏置能够显著地改进asr系统的准确性。使用端到端模型上下文偏置可能是有挑战性的,因为这些模型常常在束搜索期间仅保留候选的小列表。许多端到端模型在识别作为偏置短语的最常见来源的专有名词时同样具有相对较差的准确性。
8.由于各种原因,在端到端模型中并入上下文知识可能是有挑战性的。首先,因为神经网络模型是用联合声学、发音和语言模型来训练的,所以它们通常用比传统语言模型远少得多的文本数据来训练。虽然可以使用来自任何来源的文本来训练传统语言模型,但是即使当无对应音频数据可用时,端到端模型也通常用成对的文本和对应音频数据来训练,
这与纯文本相比变化更少且更难以获得。这导致用少得多的专有名词示例来训练模型并且结果对于专有名词来说准确性较低。与特定上下文相关的许多n元语法是专有名词,并且在没有偏置的情况下,模型难以预测这些上下文相关的n元语法。其次,为了高效解码,端到端模型通常必须在束搜索的每个步骤将用于候选转录的搜索空间修剪为少量候选。结果,在传统端到端模型中,此修剪过程常常使罕见词和短语被过早修剪,并且因此,被从候选转录集中省略。
9.将上下文知识并入到端到端模型的解码输出的过程中能够改进使用端到端模型的语音识别的准确性。在以下更详细地描述,将上下文信息并入到解码过程中可能涉及将上下文信息和来自模型的输出(例如,可能的语音识别假设上的概率分布)选择性地并入到格中。能够基于发出语音的上下文或其他因素来做出是否使用上下文信息并且要使用什么上下文信息的确定。
10.在子词单元级别处(例如,针对个别字素或词条),而不是总体上针对词执行偏置能够用端到端模型进一步改进上下文偏置。这能够通过偏置目标词的初始字素或词条单元而不是简单地在完成词之后进行偏置,来提供对准确性的显著改进。利用一些端到端模型,由模型执行的解码过程在仅考虑前几个字素或词条之后从考虑中(例如,通过在束搜索期间修剪)快速地移除不常见的词,诸如专有名词。利用词级偏置,此情形可能使得在完成词之前从考虑中移除词,所以偏置没有机会出现。相比之下,通过提升组成词的子词单元的分数来偏置词能够增加在词的初始部分处的分数,使得通过偏置提供的提升将词保留为候选转录。此外,与在束修剪之后相反,通过在束修剪之前调整语音识别分数在解码过程中及早应用上下文偏置能够帮助确保目标词被适当考虑,而不是在偏置过程有机会生效之前由于修剪被移除。
11.为了进一步改进整体识别准确性,asr系统也能够在执行偏置时考虑前缀词和短语。某些词和短语常常在涉及特定类型的词的陈述之前。例如,当用户向设备提供命令时,词“call(呼叫)”常常出现在人的姓名之前,而词“play(播放)”常常在媒体项目(诸如如用户收藏中的歌曲)的名称之前。asr系统能够使用对前缀的检测来改进识别准确性,例如,因为已知前缀的存在提供了应该将识别偏向特定类型的词的附加置信度。附加地,在一些实现中,只有当检测到适当的前缀时才能够应用偏置,使得偏置不会干扰一般词识别的准确性或使之降级。结果,即使随着上下文偏置改进了已使其可能性被以上下文相关方式提升的某些词和短语的识别准确性,也能够对于模型的一般词汇维持高识别准确性。
12.也能够使用各种技术来改进专有名词的建模。这些技术中的一些技术能够利用纯文本数据的大语料库。例如,对于训练,系统能够获得或创建大量专有名词纯文本查询,然后合成对应语音。系统能够利用被过滤以保持具有专有名词的数据的、指示音频和对应文本数据的大量无监督数据。作为另一示例,系统能够创建训练数据转录的变体或者“模糊”训练数据转录以创建更多的专有名词示例。
13.本公开的一个方面提供一种用于使用上下文偏置来转录语音的方法。该方法包括:在数据处理硬件处,接收对话语进行编码的音频数据;以及在数据处理硬件处,使用语音识别模型来处理音频数据以生成语音元素的语音识别分数。该方法还包括:由数据处理硬件基于指示话语的上下文的上下文数据来确定语音元素的上下文分数。该方法进一步包括:由数据处理硬件使用语音识别分数和上下文分数来执行束搜索解码过程以确定针对话
语的一个或多个候选转录;以及由数据处理硬件从一个或多个候选转录中选择针对话语的转录。
14.本公开的实现可以包括以下可选特征中的一个或多个。在一些实现中,在束搜索解码过程的执行期间,上下文分数被配置成在根据评价修剪一个或多个候选转录中的任一个之前调整一个或多个候选转录的可能性。在附加实现中,执行束搜索解码过程包括使用上下文分数来修剪通过语音识别格的路径以确定针对话语的一个或多个候选转录。在一些示例中,该方法还包括由数据处理硬件基于上下文数据标识话语的特定上下文。在这些示例中,确定语音元素的上下文分数是基于标识的特定上下文。在这些示例中,确定语音元素的上下文分数可以进一步包括使用上下文有限状态转换器(fst)来确定语音元素的上下文分数,上下文fst对应于特定上下文。
15.在一些实现中,该方法进一步包括:在接收对话语进行编码的音频数据之前,由数据处理硬件生成多个上下文fst,每个上下文fst表示讲出了话语的用户的个性化数据收集中的词或短语的不同集合;以及由数据处理硬件将多个上下文fst存储在与数据处理硬件通信的存储器硬件中。这里,多个上下文fst中的上下文fst对应于不同的特定上下文。在这些实现中,个性化数据收集可以包括用户的联系人列表、和/或用户的媒体库、和/或安装在与用户相关联的用户设备上的应用的列表。在这些实现中,该方法可以进一步包括:对于多个上下文fst中的至少一个上下文fst中的每一个,由数据处理硬件生成对应前缀fst,该对应前缀fst包括一个或多个前缀的集合,每个前缀对应于所对应的上下文fst的不同的特定上下文;以及由数据处理硬件存储针对多个上下文fst中的至少一个上下文fst生成的对应前缀fst。在这些实现中,该方法可以可选地包括:由数据处理硬件确定针对话语的初步转录包括对应前缀fst的一个或多个前缀之一;以及由数据处理硬件选择性地激活与包括初步转录中包含的一个或多个前缀之一的前缀fst相对应的上下文fst。这里,确定语音元素的上下文分数是基于选择性地激活的上下文fst。
16.在一些示例中,数据处理硬件驻留在与讲出了话语的用户相关联的用户设备上并且执行语音识别模型。在一些实现中,语音识别模型包括端到端语音识别模型。例如,端到端语音识别模型可以包括循环神经网络转换器(rnn

t)。
17.在一些示例中,该方法进一步包括:由数据处理硬件确定针对话语的初步转录包括表示与话语的上下文相对应的前缀元素的词。在这些示例中,确定语音元素的上下文分数是基于针对话语的初步转录包括表示与话语的上下文相对应的前缀元素的词的确定。在附加示例中,基于上下文确定语音元素的上下文分数包括使用上下文fst来确定上下文分数,该上下文fst使用表示子词单元的元素来表示上下文词语。在这些示例中,上下文fst可以包括被配置成偏置上下文词语的子词单元之间的每个转变的转变权重,以及具有被配置成取消转变权重的偏置效应的偏移权重的退避弧。在一些示例中,语音元素包括词条或字素。
18.本公开的另一方面提供一种用于使用上下文偏置来转录语音的系统。该系统包括数据处理硬件和与该数据处理硬件通信的存储器硬件。存储器硬件存储指令,当由数据处理硬件执行时,这些指令使数据处理硬件执行操作,这些操作包括:接收对话语进行编码的音频数据;以及使用语音识别模型来处理音频数据以生成语音元素的语音识别分数。这些操作也包括基于指示话语的上下文的上下文数据来确定语音元素的上下文分数。这些操作
进一步包括:使用语音识别分数和上下文分数来执行束搜索解码过程以确定针对话语的一个或多个候选转录;以及从一个或多个候选转录中选择针对话语的转录。
19.本公开的实现可以包括以下可选特征中的一个或多个。在一些实现中,在束搜索解码过程的执行期间,上下文分数被配置成根据评价修剪一个或多个候选转录中的任一个之前调整一个或多个候选转录的可能性。在附加实现中,执行束搜索解码过程包括使用上下文分数来修剪通过语音识别格的路径以确定针对话语的一个或多个候选转录。这些操作也可以包括基于上下文数据标识话语的特定上下文,其中,确定语音元素的上下文分数是基于标识的特定上下文。此外,确定语音元素的上下文分数可以包括使用上下文有限状态转换器(fst)来确定语音元素的上下文分数,上下文fst对应于特定上下文。
20.在一些示例中,这些操作进一步包括:在接收对话语进行编码的音频数据之前,生成多个上下文fst,每个上下文fst表示讲出了话语的用户的个性化数据收集中的词或短语的不同集合;以及将多个上下文fst存储在与数据处理硬件通信的存储器硬件中。这里,多个上下文fst中的上下文fst对应于不同的特定上下文。在这些示例中,个性化数据收集可以包括用户的联系人列表、和/或用户的媒体库、和/或安装在与用户相关联的用户设备上的应用的列表。在示例中,这些操作可以进一步包括:对于多个上下文fst中的至少一个上下文fst中的每一个,生成对应前缀fst,该对应前缀fst包括一个或多个前缀的集合,每个前缀对应于所对应的上下文fst的不同的特定上下文;以及存储针对多个上下文fst中的至少一个上下文fst生成的对应前缀fst。在这些示例中,这些操作可以进一步包括:确定针对话语的初步转录包括对应前缀fst的一个或多个前缀之一;以及选择性地激活与包括初步转录中包含的一个或多个前缀之一的前缀fst相对应的上下文fst。这里,确定语音元素的上下文分数是基于选择性地激活的上下文fst。
21.在一些实现中,数据处理硬件驻留在与讲出了话语的用户相关联的用户设备上并且执行语音识别模型。语音识别模型可以包括端到端语音识别模型。例如,端到端语音识别模型可以包括循环神经网络转换器(rnn

t)。
22.在一些示例中,这些操作进一步包括确定针对话语的初步转录包括表示与话语的上下文相对应的前缀元素的词。在这些示例中,确定语音元素的上下文分数是基于针对话语的初步转录包括表示与话语的上下文相对应的前缀元素的词的确定。在附加示例中,基于上下文确定语音元素的上下文分数包括使用上下文fst来确定上下文分数,该上下文fst使用表示子词单元的元素来表示上下文词语。在这些示例中,上下文fst可以包括被配置成偏置上下文词语的子词单元之间的每个转变的转变权重,以及具有被配置成取消转变权重的偏置效应的偏移权重的退避弧。在一些示例中,语音元素包括词条或字素。
23.在以下附图和描述中阐述了本公开的一个或多个实现的细节。根据说明书和附图,并且根据权利要求书,其他方面、特征和优点将是显而易见的。
附图说明
24.图1是使用上下文偏置以转录语音的示例语音识别器的示意图。
25.图2是示例端到端、循环神经网络转换器(rnn

t)语音识别模型的示意图。
26.图3是图1的语音识别器基于语音识别分数和上下文分数在格上执行束修剪过程的图。
27.图4是描绘用于上下文偏向短语的即时重新评分的技术的示意图。
28.图5是使用上下文偏置来转录语音的方法的操作的示例布置的流程图。
29.图6是可以用于实现本文描述的系统和方法的示例计算设备的示意图。
30.在各个附图中相似的参考标记指示相似的元件。
具体实施方式
31.为了提供高准确性的语音识别,语音识别系统能够被配置成考虑到在其中出现语音的上下文。上下文可以表示语言的特定域或类,诸如歌曲名称、应用名称、联系人姓名或位置等。例如,如果语音识别系统确定用户很可能正在试图发起电话呼叫,则当语音识别系统将识别过程偏向用户的联系人列表中的联系人的姓名时,语音识别质量可以改进。
32.可以在许多不同类型的情形下使用语音识别器。例如,语音识别器可以被适配用于在车辆中、由不带显示器的移动设备、由带显示器的移动设备、由在移动电话上运行的数字助理应用、由在计算设备上运行的数字助理应用使用,所述计算设备诸如但不限于台式计算机、膝上型计算机、智能扬声器、智能家具、智能显示器、智能耳机或其他可穿戴设备。
33.语音识别器可以被用于许多不同的目的。例如,语音识别器可以用于请求设备播放某位艺术家的某首歌曲或音乐专辑。语音识别器可以用于给联系人打电话或发短信,或者转录语音以供输入到电子邮件、笔记或日历事件。可以将指示在其中出现话语的情形的各种因素称为上下文。不同的上下文可以具有不同的词语集,这些词语集是相关的并且很可能由用户讲出。一般而言,不同的上下文可以与不同的词、话题、用户动作、应用等有关。结果,取决于语音识别系统标识的上下文,语音识别系统能够偏置不同的词语集以更好地匹配用户的预期语音。这能够大大地改进识别专有名词以及通常在语音中不太可能的、但更可能在特定上下文或情形内出现的其他词语的准确性。
34.在一些实现中,被表示为加权有限状态转换器(fst)的独立地训练的上下文n元语法语言模型表示上下文信息。asr系统通过将上下文n元语法语言模型作为影响语音格的元素的评分的另一组件并入来将识别过程偏向特定上下文的词语。如在以下讨论的,上下文偏置能够调整词格或子词单元(例如,字素或音素)格的元素的分数。因此,上下文偏置语言模型的贡献可以是在束搜索解码期间修剪决策的因素,而不是简单地在修剪之后被应用的因素。
35.虽然端到端语音识别模型将传统声学、发音和语言模型的功能组合到单个神经网络中,但是由于许多原因,将上下文信息/知识并入到这些端到端语音识别模型中是有挑战性的。例如,为了高效的解码,端到端模型通常在束搜索的每个步骤处修剪为少量候选。因此,诸如专有名词的罕见词和短语很可能脱离束。如在以下更详细地描述的,通过在修剪决策之前将上下文偏置并入到格中,上下文偏置能够为更可能在当前上下文中使用的不常见词语给予更大的权重,从而使那些候选保持在束搜索解码过程的路径中,以便不过早地省略它们。
36.asr系统可以创建上下文fst来表示与多个不同上下文中的每一个相关的词语。能够基于被存储在用户的设备上或者可由用户的设备访问的信息(例如,用户的日历、用户的联系人列表、用户的媒体库等)为用户个性化这些fst。asr系统也能够并入表示前缀收集的前缀fst,这些前缀用信号通知不同的上下文fst的相关性。例如,前缀“open(打开)”、

start(开始)”和“close(关闭)”可以是指示下一个讲出的词语可以是应用名称的前缀,所以对那些前缀中的一个的检测可以使语音识别系统将针对应用名称的上下文fst变成活动的。作为另一示例,前缀“play”可以用信号通知可以使用媒体项目的上下文fst,而前缀“call(呼叫)”、“text(发短信)”或“e

mail(发电子邮件)”可以用信号通知应该使用针对联系人姓名的上下文fst。
37.在词条处而不是在字素级别处执行偏置,能够通过更准确地区分词并且限制需要在搜索束上维持的候选的数量来进一步改进用端到端模型进行上下文偏置。在束修剪之前应用上下文偏置可以避免过早地从搜索束中消除相关词条。
38.图1图示使用上下文偏置来转录语音的示例语音识别器100。在一些实现中,诸如移动电话、平板计算机、智能扬声器、智能显示器、智能耳机、智能家具、膝上型计算机、可穿戴设备、台式计算机等的用户设备110存储并执行语音识别器100。在这些实现中,语音识别器100被配置成在用户设备110上本地运行,而无需与诸如服务器或其他基于网络的资源的其他设备通信或无需来自它们的支持。然而,在不脱离本公开的范围的情况下,与用户设备110通信的远程服务器或其他基于网络的资源可以存储并执行语音识别器100。在一些配置中,语音识别器100的功能被分割在用户设备110和远程服务器或其他基于网络的资源中。
39.在所示的示例中,用户115讲出由用户设备110的一个或多个麦克风和/或与用户设备110通信的至少一个麦克风检测到的话语120。用户设备110使用语音识别器100来确定针对话语120的转录185。在该示例中,用户115讲出命令,例如,对对话数字助理的请求。一旦转录185被确定,作为响应用户设备110就能够解释转录185并采取适当的动作,诸如执行所请求的动作,向搜索引擎提供查询,显示转录,在消息字段中键入转录等。
40.在用户115讲出话语120之前,用户设备110采取步骤来为将改进语音识别准确性的快速且准确的上下文偏置做准备。这些步骤之一是为了获得并处理与用户115和/或用户设备110相关联的信息,以确定哪些词语(例如,词和/或短语)与不同的上下文或话题域相关。用户设备110(例如用户设备110的存储器硬件)包括上下文信息的数据存储150,诸如用户的联系人的列表、用户的媒体库中的项目的名称、附近位置的名称和安装的应用的名称。数据存储150或其部分也可以驻留在远程存储设备例如云存储环境的远程服务器101上。语音识别器100能够与用户设备110的软件进行通信以获得这些词语的列表。这些不同的上下文数据集合中的信息将不时改变,诸如在用户添加或删除联系人时、在用户的媒体库改变时、在用户改变位置时等。语音识别器能够周期性地请求对数据的列表的更新以便刷新其使用的上下文信息。这可以包括通过网络例如从用于地图服务的服务器、托管关于用户的媒体库的信息的服务器等获得信息。
41.语音识别器100还包括被配置成使用来自数据存储150的上下文信息来生成/更新上下文fst 160、160a

n的上下文fst生成模块155。上下文fst生成模块155能够为系统被配置成检测的每个上下文确定不同相应的加权上下文fst 160。上下文fst生成模块155访问来自数据存储150的数据以生成每个上下文fst 160。例如,第一上下文fst 160a能够表示来自用户115的联系人列表的名称,第二上下文fst 160b能够表示用户115的媒体库中的项目的名称,第三上下文fst 160c能够表示用于用户115的当前位置附近的位置的位置名称等。上下文fst生成模块155能够响应于检测到数据存储150中的数据的变化等,而在正在进行的偏置上周期性地(例如每隔一定间隔)来更新上下文fst 160。
42.因为每个上下文fst 160对应于不同于与其他上下文fst 160相关联的上下文的上下文,所以并非所有上下文fst 160都将适于同时使用。如本文所使用的,可以将每个上下文fst 160对应的上下文称为上下文域。能够使用各种技术来选择性地激活与当前上下文匹配的相关上下文fst 160,而不激活与当前上下文不匹配的其他上下文fst160。用于定制对当前上下文的上下文偏置的一个方式是使用前缀fst 163,每个前缀fst163表示对应于不同相应的上下文的不同的前缀集合的出现。例如,前缀“call”的出现能够指示联系人姓名很可能是下一个词,所以针对此前缀的前缀fst 163能够使语音识别器100启用联系人姓名上下文fst 160。作为另一示例,前缀“play”的出现能够指示媒体项目名称很可能是下一个词,所以针对此前缀的前缀fst 163能够使语音识别器启用媒体项目名称上下文fst 160。每个上下文fst 160能够可选地具有表示一个或多个前缀集合的对应前缀fst 163,这些前缀已通过对用户输入日志的分析被确定,以指示上下文fst 160中的词语是很可能的。在一些实现中,前缀fst包括空前缀选项164,其允许首先在没有前缀的较早话语的情况下使用上下文偏置。
43.在一些实现中,上下文fst 160和前缀fst 163被组成为单个上下文fst以供在语音识别过程期间使用。替换地,诸如上下文分析模块165的模块能够使用各种因素来选择哪些上下文fst 160适用于不同的上下文。
44.语音识别器100包括用于处理声学信息的各种元件,包括特征提取模块130和端到端语音识别模型200。当话语120被讲出时,用户设备110的一个或多个麦克风生成表示话语120的声学特性的音频数据125。特征提取模块130接收音频数据125并且从音频数据125生成声学特征135(例如,对数梅尔特征)。例如,模块130的输出可以是音频数据125的每个窗口或帧(例如,分段)的声学特征向量,其中声学特征向量包括指示诸如在不同频带处的能量水平的特征的值。
45.语音识别模型200接收声学特征135作为输入并且计算表示不同的语音元素已出现的可能性的语音识别分数145作为输出。语音元素可以包括词条或字素。例如,语音识别模型200可以输出表示输出目标集合(例如可能潜在地被输出的不同字素或词条集合上的概率分布)的分数的向量。因此,来自语音识别模型200的语音识别分数145的输出向量能够指示各种字素或词条准确地描述音频数据125的一部分中的语音的可能性。因为语音识别模型200包括将发音模型、声学模型和语言模型的功能性组合在单个模型(例如,神经网络)中的端到端模型,所以语音识别模型200可以接收声学特征135或甚至原始音频数据125,并且作为响应提供指示正射特征(例如,字素、词条或词)的可能性的输出分数。
46.当识别话语120时,语音识别器100也处理指示话语120的上下文的数据以确定上下文分数166。语音识别器100能够包括接收关于话语120的上下文122的各种类型的信息的上下文分析模块165。例如,上下文分析模块165可以接收关于设备110的位置、由用户115使用设备110正在执行的任务、在设备110上打开或活动的应用等信息。上下文分析模块165也能够接收指示最近的语音识别决策的数据,诸如最近识别的字素、词条、词或短语,其在束搜索过程期间包括在部分或初步转录186中。使用此上下文信息中的任一种或全部,上下文分析模块165能够从上下文fst 160当中选择或者对上下文fst 160应用不同的权重。上下文fst 160(例如,被选择适用于话语120的当前上下文的一个或多个上下文fst 160)然后被用于生成上下文分数166,该上下文分数能够将识别过程偏向数据存储150中标识的词语
和短语。如上面讨论的,上下文fst 160以及前缀fst 163和164先前被生成和存储,所以它们在话语120被讲出之前是可用的。
47.上下文分析模块165能够基于在初步转录186中检测到的预定前缀或关键词的存在来限制使用哪些上下文fst 160来偏置给定话语120。尽管上下文分析模块165可以使用任何适当的方法来将识别的语音与前缀或其他关键词进行比较,但是可以使用前缀fst 163和164来高效地进行该过程。随着已知前缀的语音单元被识别(例如,在初步转录186中),前缀fst 163和164的权重和转变能够指示哪些上下文fst 160是最可能相关的并且它们的偏置影响应该如何被加权。前缀fst 163能够被级联或链接到上下文fst 160,使得前缀fst能够直接导致使用上下文fst 160中的一个或多个来进行偏置。
48.如上面讨论的,前缀fst 163被用于只有当后续有常用前缀集合时才激活上下文fst和对应的偏置短语。当前缀被讲出时,存在某些短语将被讲出的更高置信度。通过将前缀fst 163链接到上下文fst 160,上下文分析模块165增加偏置权重以改进整体偏置。例如,如果他讲出词“call”,则前缀fst 163将使上下文分析模块165启用与联系人相对应的上下文fst,所以识别将被偏向联系人姓名。因此,联系人的姓名将更可能被包括在转录185中。
49.在偏置对于许多类别例如对于媒体名称、联系人和应用名称活动的情况下,识别质量可能在一些情况下由于打乱标准词使用的过度偏置而降级。前缀fst 163具有空前缀选项164,其允许在预定前缀未出现的情况下使用上下文fst 160,但是当没有前缀被讲出时,空前缀选项164应用较小的偏置权重以防止过度偏置。
50.基于上下文信息122、186的上下文分数166和基于声学信息135的语音识别分数145一起用于确定针对话语120的转录185。特别地,上下文分数166将识别偏向那些与通常对于语音识别相比在当前上下文中对于特定用户115更相关的词语。在一些实现中,分数组合器170将语音识别分数145与上下文分数166组合以产生在语音格175中使用的组合分数172。明显地,上下文分数166的偏置影响在修剪格175之前并在束搜索中的束修剪之前被应用于语音格175。结果,由于上下文分数166的影响,通过束搜索过程和相关修剪维持了原本可能以其他方式被修剪的相关词语。“束搜索过程”可以被互换地称为“束搜索解码过程”。
51.语音识别器100执行束搜索过程以评价通过语音格175的潜在路径并且确定转录185。通过格175的每个路径能够表示不同的候选转录。评价各自与相应的候选转录相关联的所有可能的词序列通常不高效或甚至不可能。因此,在计算上下文分数166和asr分数145并将它们组合为组合分数172之后,束修剪过程180将搜索引导到最有希望的词路径。束修剪180能够减小针对可能的词或词条搜索的格175的范围。随着每个词条的概率被计算出来,不太可能的搜索路径被修剪,直到仅剩下最有可能的路径为止。
52.束搜索过程的输出是用户的话语120的转录185。一旦转录185被确定,转录185能够被各种方式中的任一种使用,例如被显示给用户115,被键入到文本字段中,被作为对搜索引擎的查询或对数字对话助理的请求发送,被解释为话音命令等。例如,用户设备110使用转录185来标识用户设备110要执行的动作,诸如编写文本消息或电子邮件、进行电话呼叫或播放歌曲。例如,如果转录是“call jason(呼叫jason)”,则用户设备110可以向名为jason的联系人发起电话呼叫并且以对用户115的确认进行响应,诸如“calling jason now(现在呼叫jason)”的合成话语。
53.参考图2,语音识别模型200可以包括遵守与交互式应用相关联的时延约束的e2e rnn

t模型200。rnn

t模型200提供小计算足迹并且利用比常规asr架构更低的存储器要求,从而使rnn

t模型架构变得适合于完全在用户设备102上执行语音识别(例如,不需要与远程服务器通信)。rnn

t模型200包括编码器网络210、预测网络220和联合网络230。粗略地类似于传统asr系统中的声学模型(am)的编码器网络210包括堆叠长短期记忆(lstm)层的循环网络。例如,编码器读取d维特征向量(例如,声学帧110(图1))的序列x=(x1,x2,
···
,x
t
),其中x
t

d
,并且在每个时间步生成更高阶特征表示。此更高阶特征表示被表示为
54.类似地,预测网络220也是lstm网络,其像语言模型(lm)一样,将到目前为止由最终softmax层240输出的非空符号的序列y0、...、y
ui
‑1处理成密集表示最后,利用rnn

t模型架构,由编码器和预测网络210、220产生的表示由联合网络230组合。联合网络然后预测其是下一个输出符号上的分布。换句话说,联合网络230在每个输出步(例如,时间步)处生成可能的语音识别假设上的概率分布。这里,“可能的语音识别假设”对应于输出标签集,每个标签表示指定自然语言中的符号/字符。因此,联合网络230可以输出指示预定输出标签集中的每一个的出现可能性的值集。此值集可以是向量并且能够指示输出标签集上的概率分布。在一些情况下,输出标签是字素(例如,个别字符以及潜在地为标点符号和其他符号),但是输出标签集不受如此限制。联合网络230的输出分布能够包括不同的输出标签中的每一个的后验概率值。因此,如果存在表示不同的字素或其他符号的100个不同的输出标签,则联合网络230的输出y
i
能够包括100个不同的概率值,每个输出标签各有一个概率值。然后能够使用概率分布来在束搜索过程中为候选正射元素(例如,字素、词条和/或词)选择和指配分数(例如,由softmax层240)以用于确定中间转录115。
55.softmax层240可以采用任何技术选择分布中具有最高概率的输出标签/符号来作为由模型200在对应的输出步处预测的下一个输出符号。以这种方式,rnn

t模型200不进行条件独立假定,而是每个符号的预测不仅以声学为条件,而且还以到目前为止输出的标签的序列为条件。rnn

t模型200确实假定输出符号与将来的声学帧110无关,这允许以流式传输方式采用rnn

t模型。
56.在一些示例中,rnn

t模型200的编码器网络210包括时间减少层,后面是八个2000维lstm层,每个lstm层后面是600维投影层。预测网络220可以具有两个2048维lstm层,其中的每一个后面也是640维投影层。最后,联合网络230也可以具有640个隐藏单元,后面是4096词条softmax输出。解码器是每层具有2000个隐藏单元和600维投影的两个lstm层。编码器和解码器被馈送到具有600个隐藏单元的联合网络。联合网络被馈送到具有96个单元(用于字素实验)或4096个单元(用于词条)的softmax层。所有rnn

t模型都在tensorflow中在批次大小为4096的8x8张量处理单元(tpu)切片上训练。在推理期间,每个话语与用于构建上下文fst 160的偏置短语集合相关联。偏置fst 160中的每个弧具有相同的权重,如在下面参考图4示出的。此权重被针对每个类别(歌曲、联系人等)独立地调谐,以优化上述测试集上的性能。
57.一般而言,能够使用各种方法来训练asr模型,诸如语音识别模型200,并且该过程
可以使用大量训练数据。返回参考图1,语音识别模型200(例如,rnn

t)可以在包括无监督数据193、监督数据197和/或合成数据195的训练数据上训练。
58.为了改进对专有名词的识别,语音识别模型200可以用大量文本数据来训练以提供名词的更多示例,从而增加模型被暴露于的专有名词的多样性。可以通过从语音搜索业务中挖掘话语来收集无监督数据193。这些话语然后由asr模型解码,并且仅具有高置信度的话语被用于进一步训练。为了确保训练不受大量无监督数据193支配,在训练的每个步骤期间,无监督数据193与已被验证或证实为被准确地转录的监督数据194组合。例如,在每个步骤期间,训练批次可能80%的时间被填充有监督数据197,而20%的时间被填充有无监督数据193,因为这是凭经验发现给出的最好性能。为了在训练期间着重对专有名词的识别,能够运行专有名词标记器过程以过滤无监督数据193中自动地生成的转录。在一些实现中,在训练中仅使用被标记为包括专有名词的示例话语。具体地,专有名词标记器可以在每个话语上运行,使得对于每个专有名词,产生专有名词的音素表示。例如,“caitlin”由音素k ei t l@n表示。接下来,查看词典中具有相同音素序列的替代词,例如“kaitlyn”。给定基准真相和替代词,在训练期间随机地采样这些词之一。这在训练期间为模型给出更多的专有名词。如果模型200能够在训练期间拼写更多的名字,则将更有信心在解码期间使用上下文fst 160时拼写这些名字,并且词不会脱离束。
59.在一些实现中,能够通过生成具有各种专有名词的句子并且然后合成对应的音频数据来创建合成训练数据集195。此技术能够大大地扩展能够被用作训练示例的音频

文本对的数量。在一些实现中,针对特定域或类别确定所生成的文本和合成音频。例如,能够组合类别特定前缀和专有名词来生成示例文本。然后能够使用文本至语音技术来生成所生成的文本的合成语音。以这种方式,能够针对每个类别用许多话语来创建训练数据集。例如,能够生成人工示例来表示诸如文本消息、电子邮件等的通信。类似地,在另一类别中,能够生成示例来表示媒体请求。在另一类别中,能够生成示例来模拟命令、动作或对应用的请求。一旦合成数据195被生成,监督数据197和合成数据195的组合就能够被用于训练,从而从监督数据集中提供核心示例并且使用合成示例来进一步改进模型对专有名词和可能来自特定域或类别的语言的处理。房间模拟器可以向合成数据195和监督数据197中的一个或两个中的至少一些话语添加噪声。在训练期间,在训练期间,每个批次可以在90%的时间内填充有监督数据197并且在10%的时间内填充有合成数据195。
60.图3示出语音识别器100基于语音识别分数145(图1)和上下文分数166(图1)在由分数组合器170(图1)输出的格175上执行束修剪过程(例如,图1的修剪180)的图300。在所示示例中,用户115在用户设备110上启动能够控制包括自动宠物喂食器的家用设备的应用。应用的启动使上下文fst生成模块155生成一个或多个上下文fst160以偏置与诸如宠物喂食器的家用设备相关联的词。用户115将包括词“feed cat(喂猫)”的话语120讲出到用户设备110的一个或多个麦克风中。在一些示例中,此话语120调用用户设备110来启动用于控制家用设备的应用。在其他示例中,用户115可以在讲出话语120之前讲出另一话音命令来启动应用。在附加示例中,用户110可以讲出热词来将用户设备110从休眠状态唤醒,使得用户设备110能够处理话语120。
61.在一些示例中,上下文分析模块165(图1)识别(例如,在初步转录186中)前缀“feed”的出现作为用于家庭自动化类别/上下文的常用前缀,并且因此偏置很可能紧跟

feed”之后的词,诸如“fish(鱼)”、“dog(狗)”和“cat(猫)”。也就是说,包括前缀“feed”的对应前缀fst 163可以使语音识别器100启用与家庭自动化类别/上下文相关联的上下文fst 160。因此,上下文分析模块165引用上下文fst 160和前缀fst163来计算上下文分数166,然而同时,语音识别模型200评价音频特征135以计算对应于前缀fst 163的语音识别分数145。
62.步骤一(1)至三(3)描绘语音识别器100在针对在对应话语120中紧跟词“feed”之后的词“cat”识别音频特征135的不同部分/部分时执行的连续输出步骤。如在上述评论中阐述的,词“feed”在由上下文分析模块165识别为用于与家庭自动化上下文fst 160相对应的前缀fst163的前缀的初步转录186中的出现,使上下文分析模块165生成上下文分数166以用于在偏置在步骤1

3中做出的不同字素决策时使用。
63.在步骤1中,分数组合器170组合asr分数145(可互换地称为“语音识别分数”)和上下文分数166以计算组合分数172。基于组合分数172,字素“c”被标识为最可能的,其组合分数172为1.1。asr分数145和上下文分数166在修剪过程中的每个步骤被重新计算。
64.在步骤2中,分数组合器170针对当前步骤的输出分布中的每个输出标签组合asr分数145(可互换地称为“语音识别分数”)和上下文分数166以计算组合分数172。因此,在步骤2中,字素“a”被标识为最可能的,其组合分数172为0.9。
65.在步骤3中,尽管0.6的最高asr分数145是针对字素“r”的,这将导致修剪过程省略字素“t”以在所得的转录185中错误地输出词“car(汽车)”,但是0.8的上下文分数166示出字素“t”的高可能性。因此,尽管对于字素“t”的0.3的asr分数145不是步骤3中的格175中的最高asr分数145,但是修剪过程现在将字素“t”标识为步骤3中的格175中的最可能的输出标签,其组合分数172为1.0。因此,修剪过程现在可以在所得的转录185中紧跟词“feed”之后正确地输出候选词“cat”。在此示例中,如果语音识别器100直到在束修剪180之后才考虑上下文分数166,则束修剪180会过早地从束中修剪正确的候选词“cat”,而没有应用上下文分数的机会。因此,从用户设备115上打开/启动的应用导出的家庭自动化的当前上下文122和对初步转录186中的前缀“feed”的识别共同地使语音识别器100计算字素“t”的上下文分数166,其在语音识别模型200标识可能的字素“c”和“a”之后高于字素“r”的上下文分数166。因此,语音识别器100能够通过在对格175中的候选字素或词条应用束修剪180之前生成上下文分数166并且将上下文分数166与从语音识别模型200输出的asr分数145组合来改进转录185的准确性。当语音识别器100的语音识别模型200包括rnn

t时,语音识别器100可以以流传输方式输出转录185,使得在每个输出步骤单独地输出字素。在一些示例中,语音识别器100可以等待输出在转录180中包含多个字素或全部词的词条。
66.在一些实现中,神经网络上下文偏置仅在词边界处应用上下文分数166。当上下文短语的列表包含诸如歌曲名称或联系人的许多专有名词时,此方法可能无效。因为神经网络模型在束搜索期间预测诸如字素和词条的子词单元,所以如果要偏置的词不存在于束中,则在词边界处应用上下文分数将不起作用。
67.图4是描绘将权重推送到词的每个子词单元的即时(otf)重新评分技术的示意图400。具体地,图4示出具有退避弧的子词fst,其中,退避弧对应于用于提供减法成本以避免人为地向前缀给予权重的负权重,该前缀是早期提升但与整个短语不匹配的前缀。也就是说,子词fst包含退避弧,这些退避弧否定在达到当前状态之前已添加的权重。通过将权重
推到词的每个子词单元,图4的otf重新评分技术目的旨在帮助在束上保持词。因此,按照子词单元进行偏置比在每个词的末尾进行偏置更有效,因为按照子词单元进行偏置降低了过早地从束中修剪偏置候选的几率。
68.通常,偏置字素用与上下文fst 160具有部分字素匹配的非必要词来淹没束。例如,在图4所示的示例中,当偏置词是“cat”时,上下文fst生成模块155将生成对应的上下文fst 160,使得字素

c’、

a’和

t’被偏置。首先,字素

c’被偏置,因此可能在束上带来“cat”和“car”。然而,如果在词条级别处应用偏置,则相关子词的匹配更稀疏,并且因此更多的相关词会来到束。紧跟先前示例之后,如果要偏置的词条是“cat”,则“car”不会来到束。从字素切换到词条偏置使得在更长单元下执行偏置帮助在束上保持更多的相关候选,从而改进性能。
69.一般而言,对特定域(诸如用户的歌曲名称、app名称和联系人姓名)的上下文偏置是生产级别自动语音识别(asr)系统的重要组件。上下文偏置在端到端模型中是特别有挑战性的,因为这些模型通常在束搜索期间保持候选的小列表,并且同样在专有名词上表现不佳,这是偏置短语的主要来源。本讨论呈现对用于端到端模型的基于浅层融合的偏置的各种算法和专有名词改进。跨各种任务,所提出的方法获得了与现有技术水平常规模型类似的性能。
70.如先前提及的,通过端到端语音识别模型将am、pm和lm组合到单个神经网络中使并入上下文知识的能力由于各种原因而变得有挑战性。首先,因为端到端模型是使用联合am、pm和lm训练的,所以与常规lm相比它们用更少的文本数据来训练,并且因此与常规模型相比在专有名词方面做出更多错误。因为上下文n元语法常常是专有名词(“call jason”、“text jane(给jane发短信)”),因此模型难以预测这些n元语法。其次,为了高效解码端到端模型必须在束搜索的每个步骤处修剪为少量候选(~4

10)。因此,与上下文n元语法情况一样,罕见词和短语很可能脱离束。
71.将独立上下文n元语法lm并入到端到端语音识别模型的框架中的浅层融合的常规技术仍然遭受专有名词脱离束的问题,因为在词(而不是端到端模型预测的字素/词条单元)的末尾处并且在每个步骤处已修剪束之后出现偏置。在端到端模型内执行偏置常常更有效,与全神经优化的主题保持一致。然而,对全神经偏置的担忧之一是当按比例扩展到大量n元语法时词错误率(wer)降级。另一担忧是因为上下文偏置可能总是活动的,即便在不适当的时候也是如此,并且优选的是性能在无意偏置的话语上不会降级,这被称为“反上下文”。
72.上面讨论的实现通过以下步骤来解决上下文n元语法的早期修剪:在子词单元级别(字素、词条)处而不是词级别处执行偏置,在束修剪之前而不是之后应用上下文fst 160,并入具有常见前缀集(例如,“call”、“text”)的前缀fst 163以极大地帮助反上下文,并且利用纯文本数据的大语料库来改进专有名词的建模。具体地,专有名词的建模包括:(1)通过创建大量专有名词纯文本查询并且合成对应语音来获得合成训练数据集195;(2)利用被过滤以保持具有专有名词的数据的大量无监督音频文本数据(例如,无监督训练数据193);以及(3)模糊监督训练数据197转录以创建更多的专有名词。跨四个不同的上下文测试集报告结果。提出的对fst构造的变化导致基于浅层融合的偏置的显著改进。另外,在通过使用大量无监督数据训练进行更好的专有名词建模情况下,性能进一步改进。总的来
说,端到端偏置解决方案在跨所有集合的表现比常规嵌入式模型好20

40%,除了歌曲之外。
73.传统asr系统(具有单独的am、pm和lm)通过将偏置短语的列表表示为n元语法有限状态转换器(fst)并且在解码期间将lm与此上下文fst组合来执行上下文偏置。这有助于将识别结果偏向上下文fst中的n元语法,并且在某些情况下减小wer。类似技术用于构建n元语法fst,然后将n元语法fst并入到端到端解码框架中。
74.给定声学观测值集x=(x1,

,x
k
),端到端模型提供给定这些观测值的子词单元集y=(y1,

,y
l
)的后验概率,即p(y|x)。浅层融合在束搜索解码期间用外部上下文lm内插来自端到端模型的分数,由等式(1)给出。
[0075][0076]
这里,p
c
(y)是来自上下文lm的分数,并且λ是控制上下文lm在束搜索期间影响整体模型分数的程度的可调超参数。
[0077]
为了构建用于端到端模型的上下文lm,一组词级偏置短语被提前获知,并且被编译成n元语法加权有限状态转换器(wfst)。此词级wfst g然后与“speller(拼写器)”fst s左组合在一起,所述“speller”fst s将字素/词条的序列转换成对应的词。获得子词fst作为上下文lm,min(det(s

g))。
[0078]
首先使用在其中类似于对传统系统偏置仅在词边界处应用上下文lm的方法来探索具有浅层融合的端到端模型的偏置。当上下文短语的列表包含许多专有名词(例如,歌曲名称或联系人)时,发现此方法无效。因为端到端模型在束搜索期间预测子词单元标签y(字素、词条),如果要偏置的词不存在于束中,则在词边界处应用上下文lm将不起作用。为了解决此问题,子词fst的权重被推送到每个子词单元。为了使子词fst变得确定,对于每一子词单元使用相同的权重。为了避免人为地向与前缀而不是整个短语匹配的候选(失败弧被包含在内)给予权重,如图3所示。与其失败弧不携带权重的n元语法fst不同,子词fst包含否定在达到当前状态之前已添加的权重的失败弧。发现按照子词单元进行偏置比在每个词的末尾处进行偏置更有效,因为它减小了从束中早期修剪偏置候选的机会。然而,该想法仅使用字素子词单元进行探索。另外,不探索具有“反上下文”的结果,以确保无意被偏置的短语不会被过度的偏置。用于解决这些担忧的对浅层融合端到端偏置的其他改进将在以下进行描述。
[0079]
例如,能够选择性地只有在偏置短语由常用前缀集进行时才激活偏置短语。例如,联系人请求通常具有前缀“call”、“text”或“message(消息)”,然而歌曲请求常常使用前缀“play”。此技术被常规模型使用并且具有两个主要优点。首先,在偏置对于像对歌曲、联系人和apps的每个请求来说是活动的情况下,识别质量对于不包含任何偏置短语的话语降级,即称为反上下文的问题。仅在看到前缀之后才对偏置进行约束以帮助避免这种过度偏置。第二优点在于看到前缀之后,偏向某些短语的置信度更高,这允许增加偏置权重并且改进整体偏置性能。
[0080]
在一个示例中,上下文fst 160可以用前缀的列表构建,使得在对应的偏置短语之前出现不止阈值次数(例如,50次)的所有前缀都被提取以供在各自与对应上下文fst 160级联的对应前缀fst 163中使用。虽然允许空前缀选项跳过前缀,但是这将取消激活前缀的
预定约束效应。因此,可以对于空前缀使用较小的偏置权重λ。
[0081]
表1示出了提出的算法改进,其中实验e0和e1分别描绘字素和wpm基线,在没有偏置的情况下,实验e2描绘没有任何提出的改进的字素偏置结果,并且对于与歌曲、联系人

真实、联系人tts和apps有关的上下文集合,实验e3使用减法成本来防止模型在束上保持坏的候选。
[0082]
从字素到wpm偏置的切换(e4)使得在更长单元下出现的偏置,帮助在束上保持更多的相关候选,并且也改进性能。最后,在修剪之前应用偏置fst(在以下被表示为早期偏置),帮助确保好的候选尽早保持在束上,并且导致附加的改进(e5)。总的来说,最好的浅层融合设置是为了在wpm级别处以减法成本和早期偏置进行偏置。
[0083][0084]
表1:浅层融合结果。
[0085]
因为动态类偏置始终开启,所以重要的是在偏置短语不存在于话语中时使性能不降级。表2示出反上下文结果。e1是基线无偏置wpm。偏置此模型(e5)对于vs和ime在性能上有较大的降级。如部分2.3.3中讨论的,常规模型通过在偏置fst中包括前缀来解决此问题。如果在没有权重的情况下使用前缀来忽略前缀,并且上下文被偏置(e6),则对于vs和ime的结果得到了改进,但是质量在偏置集上降级。然而,在e7中,包括具有空前缀的路径引起过度偏置,从而导致vs和ime中的降级。与服务器类似,解决方案是在上下文短语上使用较小的权重,如果前面是空前缀的情况下(e7)。利用此方法,观察到vs和ime中的非常小的降级,并且也实现了在偏置测试集上的性能改进(e8)。
[0086][0087]
表2:反上下文结果
[0088]
此外,表3示出了能够通过改进专有名词的知识来改进偏置数。这里基线是e8,在3500万个监督vs话语上训练rnn

twpm。实验e9示出了当使用无监督数据训练时跨所有偏置测试集的改进。用tts数据训练(e10)与无监督数据(e9)相比在tts测试集上给出了更大的改进,但是在真实测试集(联系人

真实)上产生更大的降级。这表明tts偏置集的改进主要
来自训练数据与测试数据之间的匹配音频条件,而不是学习专有名词的更丰富词汇。最后,模糊转录(e11)示出了在所有集上的质量降级。向前进的分析是基于e9(无监督数据)的。
[0089][0090]
表3:专有名词结果
[0091]
表4示出了给定这些短语中的oov的总数时,偏置短语错误率(err),以及在偏置短语中的oov中错误的百分比。首先,该表指示跨所有测试集,无监督数据很大程度地改进err度量,而与偏置无关。另外,因为无监督数据模型在训练中看到更多的词,所以在具有偏置情况下的err度量更好。其次,在没有偏置的情况下,oov度量超过95%,从而表明如果词是oov,则几乎可以肯定其未被检测到。然而,当用无监督数据训练时,偏置优于仅在监督数据上训练而显著地改进oov中的错误。两个度量表明无监督数据帮助模型看到更多的专有名词并且给予模型更多信心将正确的词带到束。
[0092][0093]
表4:偏置短语中的错误率和由于oov而导致的错误。
[0094]
表5将rnn

t的偏置性能与由用上下文无关音素目标训练的ctc am以及单独的pm和lm构成的可比大小(130mb)的常规模型进行比较。rnn

t模型在所有类别上的表现比嵌入式常规模型相对好20%

40%,除了歌曲之外。这可能是与其他类别相比表1中的更高oov率而导致的。
[0095][0096]
表5:端到端与常规模型偏置的比较
[0097]
端到端模型是语音识别中是有希望的研究方向,因为与具有单独的声学(am)、发音(pm)和语言模型(lm)的常规模型相比,单个全神经端到端系统提供更简单且更紧凑的解决方案。然而,已经注意到端到端模型有时在尾词(例如,词使用分布的“长尾”上的不常见
词)和专有名词上表现不佳,很可能是因为端到端优化需要联合音频

文本对,并且不利用用于在常规模型中训练lm的附加词典和大量纯文本数据。已经在纯文本数据上训练循环神经网络语言模型(rnn

lm)并且将它融合到端到端模型中付出了许多努力。在本讨论中,训练端到端模型的这种方法与从无监督语音数据生成的音频

文本对进行对比。为了具体地针对专有名词问题,词性(pos)标注器过滤无监督数据以使用仅具有专有名词的数据。使用过滤后的无监督数据训练在词错误率(wer)方面提供多达13%的相对降低,并且当结合冷融合rnn

lm使用时,提供多达17%的相对改进。
[0098]
端到端模型为自动语音识别(asr)提供简单又有效的方式。传统上,asr系统由am、pm和lm构成,然而端到端模型将这三个组件合并到被联合优化的单个神经网络中。听、出席和拼写(las)是与强大的常规asr系统相比已经显示出有希望的结果的一个这种端到端模型。然而,虽然能够在大量纯文本数据上独立地训练常规系统中的lm,但是训练las模型需要音频

文本对,其收集起来昂贵得多并且在规模上小得多。因此,与常规模型相比,las在识别诸如歌曲名称、联系人等的罕见词或短语方面表现不佳。一直在努力使用不成对的文本数据来改进端到端模型性能。一个流行的研究方向指望将在纯文本数据上训练的外部lm与端到端模型集成。例如,端到端模型能够使用来自纯文本数据的预训练后的lm被初始化,然后通过多任务训练与lm一起被联合地优化。另外,已经探索了经由浅层融合内插独立地训练的端到端模型和lm模型,以用于神经机器翻译和asr这两者。此外,已经探索了经由冷融合和深度融合这两者将在纯文本数据上联合训练的rnn

lm集成到端到端解码器中。总的来说,利用纯文本数据已经对在asr的wer中显示出了介于3%与7%之间的相对改进。已经探索了反向翻译以用单语训练数据来改进机器翻译。这将bleu分数提高了2.8~3.7。此想法也已经被应用于语音识别,其中从不成对的文本数据生成的合成音频用于扩展音频

文本对以用于训练端到端模型。虽然tts数据的使用在tts测试集上给出了惊人改进,但是已经在实际测试集上观察到了降级。
[0099]
另外,常规asr系统利用未标记音频数据来改进性能。来自现有asr系统的置信度分数通常用于选择无监督数据以便用更多的数据训练。例如,对于低资源语言,能够使用识别词置信度分数和基于mlp后验图的音素出现置信度的组合来选择无监督语音数据。对于视频语音字幕任务,开发了“置信岛(island of confidence)”方法以极大地增加训练数据量以改进wer性能。
[0100]
训练诸如las的全神经端到端系统需要音频

文本对以联合地学习am、pm和lm。虽然此联合训练允许实现潜在更好的优化,但是它也局限于成对的音频

文本数据的使用,从而导致端到端模型在罕见词和专有名词上表现不佳。在此工作中,技术利用未转录的语音数据来改进端到端模型在这些尾词上的性能。
[0101]
用于解决无监督音频

文本对中可能的失配的另一方式是使用具有并行wavenet声码器的单扬声器tts引擎来从文本假设生成合成音频。这类似于机器翻译中使用的“反向翻译”方法。此方法的一个潜在问题是真实语音与合成音频之间的声学差异,特别是有限的讲话人特征和干净的讲话风格。
[0102]
为了解决此问题,将反向传播las模型的编码器和解码器与仅反向传播解码器进行比较。编码器表示am并且应该在现实条件下训练。然而,解码器类似于lm并且能够在不太现实条件情况下训练。因此,仅反向传播解码器或许可能解决对tts数据的不切实际音频担
忧。
[0103]
超过十亿的无监督话语是可用的。这带来如下优势,即利用更多的无监督数据,模型在训练期间可以看到大得多的词汇。然而,更多的数据是以更长的模型训练时间为代价的。
[0104]
因此,选择数据的子集来训练las模型。具体地,因为模型在专有名词上表现不佳,所以与使用所有数据相比,过滤无监督数据以包括这些话语可以产生具有无监督数据和具有较小训练时间的质量改进。话语是否包含专有名词的判定是通过在文本假设上运行词性(pos)标注器来做出的。实验在人工转录的监督训练集和未标记的无监督训练集上进行。监督训练集由3500万个英语话语(约27500小时)构成。这些话语被匿名化和手动转录,并且表示互联网语音搜索和听写业务。使用房间模拟器进一步人为地破坏这些话语,从而添加不同程度的噪声和混响,使得总snr介于0db与30db之间,同时平均snr为12db。噪声来源来自互联网视频和日常生活嘈杂的环境录音。对于每个话语,生成25个不同的噪声版本以用于训练。
[0105]
实验使用按25ms窗口计算并且每10ms移位的80维对数梅尔特征。在每个当前帧,这些特征在左侧堆叠有3个连续帧,然后被下采样到30ms帧速率。实验用las模型进行。具体地,编码器网络由10个单向长短期记忆(lstm)层构成,其中每个层具有2048个隐藏单元,后面是384维投影层。在编码器网络的第二层之后,每个帧与其相邻的左邻近帧级联并且在将它们传递到后续层之前跨过2个。此堆叠层进一步将帧率减小至60ms。对于编码器层采用层归一化来使训练稳定。使用具有4个注意力头的附加注意力。解码器网络由具有2048个隐藏单元并且输出投影大小为384的4个单向lstm层构成。las模型的输出是16k词条的词汇。
[0106]
模型使用tensorflow来用标签平滑和交叉熵损失进行训练。实验使用全局批次大小为4096的8x8张量处理单元(tpu)切片并且训练模型达~200000步。
[0107]
仅使用监督训练数据(被表示为b0)训练的las模型的性能被呈现在表6中。还呈现了用作弱蒸馏的教师模型的全堆叠常规模型的性能。教师模型是基于常规上下文相关音素的低帧速率声学模型、400万个词发音词典和5元语法语言模型。此模型被称为b1。教师模型使用相同的监督训练数据来训练。该表示出了las模型在大多数测试集上表现优于常规模型。然而,常规模型在实践中使用上下文信息来修剪搜索空间,这帮助减小具有许多专有名词(歌曲、联系人、apps)的集上的wer。在表6中具有上下文偏置的教师模型的性能被表示为b2。
[0108]
为了蒸馏在经识别的假设中编码的知识,b0在十亿个无监督数据上训练。由b2生成的假设被用作参考转录,而不管那些转录中的错误如何。在十亿个无监督数据上训练达450k步(e0)后,在所有tts集上获得了好的改进,但是对于语音搜索和联系人

真实观察到降级。在tts集上的胜利主要来自由数据带来的更多的词变化,但是损失最可能是由于解码假设中的错误而导致的。为了减小语音搜索和联系人

真实上的降级,e0用监督数据进一步微调达150k步(e1)。它在所有测试集上对于b0得到了改进。
[0109][0110]
表6:基线实验的wer性能(%)。
[0111]
用十亿个数据训练需要花费长时间。为了理解是否需要这个数据量,将无监督数据分别随机下采样到5亿和1亿。模型首先单独在无监督数据上训练(e2和e4),然后在监督数据上微调(e3和e5)。增益是用跨测试集的1亿和5亿无监督数据实现的,但是使用十亿数据提供稍微更好的性能。
[0112][0113]
表7:用无监督数据进行两阶段训练的wer性能(%)
[0114]
表7中的实验表明了在用无监督数据训练las模型之后,模型需要再次用监督数据微调。为了简化训练过程,在训练期间将监督数据和无监督数据混合在一起。具体地,无论何时为训练创建一批话语,都以固定比从两个训练集中出现随机选择。例如,在混合比为8:2情况下,训练批次80%的时间来自监督数据,而20%的时间来自无监督数据。
[0115]
根据表8中的结果,混合监督数据和无监督数据是利用无监督数据的有效方式。在三个不同比当中,8:2给出了最好性能,但存在边际差异。当将e8与e1进行比较时,尽管与e1相比语音搜索上的增益较小,但是在具有更多的专有名词(apps、歌曲、联系人)的测试集上实现低得多的wer。
[0116]
在此部分中,比较了并入无监督数据的不同方法。所有实验都使用无监督数据的随机采样的1亿子集,以获得快速实验周转。e9是以与e8基本相同的方式但是用更少的无监督数据训练的。
[0117]
[0118]
表8:用无监督数据进行混合训练的wer性能(%)。
[0119]“比”对应于使用监督数据对无监督数据的百分比。
[0120][0121]
表9:使用纯音频数据对纯文本数据的wer性能(%)。
[0122]
表9中的结果表明更少的无监督数据在通用语音搜索测试集上产生稍微更好的性能,但是在具有更多的尾词的测试集上产生更高的wer。接下来,音频是从无监督转录合成的,其中前述tts系统用于创建罕见词测试集。e9中使用的无监督数据用此tts训练集替换并且结果在表9中被呈现为e10。它对于所有tts测试集实现了较大的wer降低,但是在联系人

真实上使性能降级。tts集上的这种巨大的错误降低主要来自所添加的无监督数据与测试集之间的匹配声学。为了避免真实数据与合成数据之间的潜在音频失配条件,对编码器网络参数的更新被禁用,并且在训练期间仅更新las模型的解码器网络。结果(e11)与e10类似但在apps上稍微降级。尽管在tts集上实现了巨大的错误降低,与e9相比在更真实的测试集上的降级讲述真实的故事。因此,e9优于e10和e11。
[0123]
利用无监督数据的另一方式是将lm集成到las系统中。具体地,rnn

lm在监督数据和1亿无监督数据转录上训练,然后使用冷融合集成到las模型训练中。结果(e12)表明优于监督基线(b0)的2%

6%相对wer降低,但是与e9相比增益小得多。
[0124]
本部分探索如何更好地利用无监督数据。首先,不是随机选择(e9)1亿个无监督话语,而是过滤无监督数据以将仅具有专有名词的那些(表10中的e13)用于训练,因为那允许选择las模型表现不佳的话语。选择是用专有名词标注器完成的。集中于专有名词的1亿个无监督数据以相同的8:2比与监督训练数据混合以用于训练。在相同数据量的情况下,使用专有名词被过滤后的语音训练与使用随机选择相比,wer的相对减小从6%

13%变为4%

12%。
[0125][0126]
表10:使用专有名词被过滤后的无监督数据的wer性能(%)
[0127]
最后,将过滤思想扩展到整个十亿个无监督训练数据,这留下大约具有专有名词的5亿个话语。使用过滤后的数据的弱蒸馏与冷融合组合。最终结果(表10中的e14)比使用
所有十亿个数据好得多,并且相对地将基线系统在所有四个测试集上的wer减小了6%

17%。
[0128]
为了理解由无监督数据带来的改进,在此部分中比较了两个系统b0和e14。b0仅使用监督训练数据,而e14使用附加的无监督训练数据。在表11中呈现了作为出现在测试集中但不在对应训练集中的唯一词的分数计算的词汇表外(“oov”)率。利用无监督数据,专有名词集上的oov率下降了高达84.0%。这表明无监督数据的确带来更多的尾词。
[0129][0130]
表11:仅用监督数据训练的基线模型(“b0”)与用监督数据和5亿个专有名词被过滤后的无监督数据的8:2混合比训练的最好系统(“e14”)之间的wer(%)和oov率(%)比较。“rel.”示出相对改进。
[0131]
调查了使用无监督语音数据来改进las模型在长尾词上的性能。具有上下文偏置的常规asr系统被用作教师模型来为大量无监督数据生成文本假设作为转录真相。这些机器标记数据与人类标记数据混合以训练端到端las模型。为了聚焦于las模型在罕见词上的弱点,对于无监督数据应用了基于专有名词的过滤。利用过滤后的数据,实验结果已表明了能通过引入无监督数据实现高达17%的相对wer降低。
[0132]
例如,前缀“call”的出现能够指示联系人姓名很可能是下一个词,所以针对此前缀的前缀fst 163能够使语音识别器100启用联系人姓名上下文fst 160。
[0133]
软件应用(即,软件资源)可以是指使计算设备执行任务的计算机软件。在一些示例中,可以将软件应用称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、词处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏应用。
[0134]
非暂时性存储器可以是用于在临时或永久基础上存储程序(例如,指令的序列)或数据(例如,程序状态信息)以供由计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
[0135]
图5是使用上下文偏置来转录语音的方法500的操作的示例布置的流程图。在操作502处,方法500包括在数据处理硬件610(图6)处接收对话语120进行编码的音频数据125。在一些示例中,数据处理硬件610驻留在用户设备110上。在其他实现中,数据处理硬件610驻留在与用户设备111通信的远程服务器111上。用户设备110可以包括一个或多个麦克风,该一个或多个麦克风捕获用户115讲出的话语120并且生成对话语120进行编码的音频数据
125。
[0136]
在操作504处,方法500包括由数据处理硬件610使用语音识别模型200来处理音频数据125以生成语音元素的语音识别分数145。语音识别分数145可以表示不同的语音元素已经出现的可能性。语音元素的示例可以包括词条或字素。因为语音识别模型200包括将发音模型、声学模型和语言模型的功能性组合在单个模型(例如,神经网络)中的端到端模型,所以语音识别模型200可以接收声学特征135或甚至原始音频数据125,并且作为响应提供指示正射特征(例如,字素、词条或词)的可能性的输出分数。
[0137]
在操作506处,方法500还包括由数据处理硬件610基于指示话语120的上下文122的上下文数据来确定语音元素的上下文分数166。语音识别器100能够包括接收关于话语120的上下文122的各种类型的信息的上下文分析模块165。例如,上下文分析模块165可以接收关于设备110的位置、由用户115使用设备110正在执行的任务、在设备110上打开或活动的应用等的信息。上下文分析模块165还能够接收指示最近的语音识别决策的数据,诸如最近识别的字素、词条、词或短语,在束搜索过程期间包括在部分或初步转录186中。尽管被示出为顺序地出现,但是上下文分析模块165可以计算上下文分数166,然而同时,语音识别模型200评价音频特征135以计算语音识别分数145。
[0138]
在操作508处,方法500还包括由数据处理硬件610使用语音识别分数145和上下文分数166来执行束搜索解码过程以确定针对话语120的一个或多个候选转录。束搜索过程可以评价通过语音格175的潜在路径并且确定转录185。通过格175的每个路径能够表示不同的候选转录。这里,上下文分数166将识别偏向在当前上下文中与通常对于语音识别来说比对于特定用户115来说更相关的词语。在一些实现中,分数组合器170将语音识别分数145与上下文分数166组合以产生在语音格175中使用的组合分数172。明显地,上下文分数166的偏置影响在格175的修剪之前并且在束搜索中束修剪之前被应用于语音格175。结果,由于上下文分数166的影响,通过束搜索过程和相关修剪维持了原本可能以其他方式被修剪的相关词语。
[0139]
在操作510处,方法500还包括由数据处理硬件610从一个或多个候选转录中选择针对话语120的转录185。通过格175的每个路径能够表示不同的候选转录。束修剪180能够减小针对可能的词或词条搜索的格175的范围。随着每个词条的概率被计算出,不太可能的搜索路径被修剪,直到仅剩下最可能的路径为止。一旦转录185被确定,转录185就能够被以各种方式中的任一种使用,例如,被显示给用户115,被键入到文本字段中,被作为对搜索引擎的查询或对数字对话助理的请求发送,被解释为语音命令等。
[0140]
图6是可以用于实现本文档中描述的系统和方法的示例计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里示出的组件、它们的连接和关系以及它们的功能仅意在为示例性的,而不意在限制本文档中描述和/或要求保护的发明的实现。
[0141]
计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640、以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个使用各种总线来互连,并且可以被安装在公共主板上或者酌情以其他方式安装。处理器610能够处理用于在计算设备600内执
行的指令,包括存储在存储器620中或在存储设备630上以在外部输入/输出设备(诸如耦合到高速接口640的显示器680)上显示图形用户界面(gui)的图形信息的指令。在其他实现中,可以酌情使用多个处理器和/或多个总线以及多个存储器和存储器类型。另外,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
[0142]
存储器620在计算设备600内非暂时性地存储信息。存储器620可以是计算机可读介质、(多个)易失性存储器单元或(多个)非易失性存储器单元。非暂时性存储器620可以是用于在临时或永久基础上存储程序(例如,指令的序列)或数据(例如,程序状态信息)以供由计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
[0143]
存储设备630能够为计算设备600提供大容量存储。在一些实现中,存储设备630是计算机可读介质。在各种不同的实现中,存储设备630可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备、或设备的阵列,包括在存储区域网络或其他配置中的设备。在附加实现中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时,指令执行一种或多种方法,诸如上述方法。信息载体是计算机或机器可读介质,诸如存储器620、存储设备630或处理器610上的存储器。
[0144]
高速控制器640管理计算设备600的带宽密集操作,然而低速控制器660管理较低带宽密集操作。职责的这种分配仅是示例性的。在一些实现中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器),并且耦合到高速扩展端口650,其可以接受各种扩展卡(未示出)。在一些实现中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备,诸如交换机或路由器。
[0145]
计算设备600可以被以多种不同的形式实现,如该图所示。例如,它可以作为标准服务器600a或在一组此类服务器600a中多次、作为膝上型计算机600b、或作为机架服务器系统600c的一部分被实现。
[0146]
本文描述的系统和技术的各种实现能够用数字电子和/或光电路系统、集成电路系统、专门地设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组加以实现。这些各种实现能够包括在一个或多个计算机程序中的实现,这些计算机程序在包括至少一个可编程处理器的可编程系统上可执行和/或可解释,所述可编程处理器可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备传送数据和指令。
[0147]
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够用高级过程和/或面向对象编程语言和/或用汇编/机器语言加以实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例
如,磁盘、光盘、存储器、可编程逻辑器件(pld),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0148]
本说明书中描述的过程和逻辑流程能够通过一个或多个可编程处理器(也称为数据处理硬件)执行一个或多个计算机程序以通过对输入数据进行操作并生成输出执行功能而被执行。过程和逻辑流程也能够由专用逻辑电路系统例如fpga(现场可编程门阵列)或asic(专用集成电路)执行。作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器这两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机也将包括或在操作上耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或者将数据转移到该一个或多个大容量存储设备,或者兼而有之。然而,计算机不需要具有此类设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd rom和dvd

rom盘。处理器和存储器能够由专用逻辑电路系统补充,或者被并入在专用逻辑电路系统中。
[0149]
为了提供与用户的交互,能够在计算机上实现本公开的一个或多个方面,所述计算机具有显示设备,例如,crt(阴极射线管)、lcd(液晶显示器)监视器或用于向用户显示信息的触摸屏以及可选地用户能够通过其向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也能够使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送web页面。
[0150]
已经描述了许多实现。然而,应理解,可以在不脱离本公开的精神和范围的情况下做出各种修改。因此,其他实现在以下权利要求的范围内。