首页 > 乐器声学 专利正文
数字序列的端到端自动语音识别的制作方法

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

数字序列的端到端自动语音识别的制作方法

1.本公开涉及对数字序列的端到端自动语音识别。


背景技术:

2.自动语音识别(automated speech recognition,asr)系统中的一个持续的挑战是对不能准确反映话语(utterance)中所说的单词的转录进行建模。特别地,由于长书面域(written

domain)数字序列的固有词汇表之外的问题,诸如地址、电话号码、和邮政编码之类的数字话语是对转录建模的特别困难的部分。这是数据稀疏(sparsity)的结果,因为在训练数据中不太可能存在长数字序列。
3.对于长数字序列,很难获得足够量的训练数据,因为例如十位数的数字可具有10
10
个可能的实例。例如,对于十位数字的电话号码,在训练中根本不可能看到任何特定的电话号码,也不可能看到足够数量的特定的电话号码。
4.近来,流式传输、循环神经网络转换器(recurrent neural network

transducer,rnn

t)端到端(e2e)模型在设备端语音识别上已经显示出巨大前景,并与传统的设备端模型相比,显示出改进的字差错率(word error rate,wer)和等待时间度量。将am,pm和lm折叠成单个网络的这些模型与具有单独的am,pm和lm的传统asr系统相比,已经显示出竞争性的结果。因为性能优于同等大小的设备上常规模型,rnn

t,e2e模型对于设备上asr是特别有吸引力的。


技术实现要素:

5.尽管循环神经网络转换器(rnn

t)端到端(e2e)模型对于设备端的asr是有吸引力的,但是基于加权有限状态转换(weighted

finite state transducer,wfst)的语言器(verbalizer)的大量内存占用使得在设备上的环境中的口语域训练更加困难。为了改善对具有数字序列的话语的端到端模型性能,本说明书描述的增强asr系统使用由文本到语音(tts)系统生成的附加数字训练数据,然后使用小内存占用的神经网络代替fst来执行去规范化或校正。这种增强的方法在几类数字序列中产生了可测量的改进,并且对于更长的数字序列在字差错率(wer)方面表现出显著的改进。
6.本公开的一个方面提供了一种用于生成表示书面域中的话语的数字序列的最终转录的方法。该方法包括:在数据处理硬件处接收包含数字序列的话语的音频数据;由所述数据处理硬件使用序列到序列语音识别模型对所述话语的所述音频数据进行解码,以生成所述话语的中间转录作为所述序列到序列语音识别模型的输出。该方法还包括由所述数据处理硬件使用神经校正器/去规范器处理从所述序列到序列语音识别模型输出的所述中间转录,以生成最终转录,所述最终转录表示书面域中的所述话语的所述数字序列,所述神经校正器/去规范器在训练样本集上训练,每个训练样本包括用于相应训练话语的语音识别假设以及所述相应训练话语的基础真值转录,其中,所述相应训练话语的所述基础真值转录在所述书面域中。该方法还包括由所述数据处理硬件提供表示所述书面域中的所述话语
的所述数字序列的所述最终转录以供输出。
7.本公开的实现可以包括以下可选特征中的一个或多个。在一些实施方式中,从所述序列到序列语音识别模型输出的所述中间转录在口语域中;以及用于训练所述神经校正器/去规范器的所述训练样本集中的每个训练样本的所述语音识别假设在所述口语域中。在这些实施方式中,处理所述中间转录包括将所述神经校正器/去规范器作为书面域去规范模型,所述书面域去规范模型被配置为:接收从所述序列到序列语音识别模型输出的所述口语域中的所述中间转录作为输入;以及生成所述书面域中的所述话语的所述最终转录作为输出,所述书面域中的所述话语的所述最终转录将所述数字序列表示为相应的数字表示。
8.在其它实施方式中,从所述序列到序列语音识别模型输出的所述中间转录在所述书面域中,并将所述数字序列表示为数字单词;以及用于训练所述神经校正器/去规范器的所述训练样本集中的每个训练样本的所述语音识别假设在所述书面域中。在这些实施方式中,处理所述中间转录包括将所述神经校正器/去规范器用作书面域校正模型,所述书面域校正模型被配置为:接收从所述序列到序列语音识别模型输出的所述书面域中的所述中间转录作为输入;以及生成作为校正转录的所述最终转录作为输出,所述校正转录将初始转录中的数字单词替换为所述书面域中的所述数字序列的相应数字表示。在一些示例中,所述书面域校正模型被配置为:通过仅处理包括所述数字单词的所述中间转录的第一部分而不处理包括非数字单词的所述中间转录的剩余第二部分,来生成作为所述校正转录的所述最终转录作为输出。这里,所述书面域校正模型被配置为将所述非数字单词从所述中间转录复制到所述校正转录中。
9.在一些示例中,与数据处理硬件通信的数据处理硬件或远程计算设备被配置为通过以下方式来训练序列到序列语音识别模型和神经校正器/重整器获得多个训练话语集合,每个训练话语集合与不同的相应数字类别相关联并且包括多个相应的转录模板,每个转录模板包括所述书面域中的相应默认短语和数字槽。对于每个转录模板,生成数值的一个或多个合成语音表示;对于所生成的所述数值的一个或多个合成语音表示中的每一个,将数值的相应合成语音表示注入到相应转录模板的槽中,以生成唯一的训练话语,所述唯一的训练话语包括用于所述相应转录模板的所述默认短语的音频表示和所述数值的相应合成语音表示。最后,数据处理硬件或远程计算设备在为每个训练话语集合的所述多个转录模板中的每一个生成的、所述数值的一个或多个合成语音表示中的每一个而生成的唯一的训练话语上训练所述序列到序列语音识别模型。在这些示例中,对应于所述转录模板中的至少一个的所述默认短语的所述音频表示包括匿名非合成语音。附加地或替代地,所述唯一的训练话语的书面域转录包括用于训练所述神经校正器/去规范器的所述训练样本集中的相应一个训练样本的所述基础真值转录。
10.在一些实施方式中,所述序列到序列语音识别模型(200)包括递归神经网络转换器(rnn

t)端到端解码器模型。所述神经校正器/去规范器(300)包含编码器部分,标记器部分和注意力/解码器部分。编码器部分被配置为生成从序列到序列语音识别模型输出的所述中间转录的编码表示。标记器部分被配置为将所述中间转录中的每个非数字单词标记为无意义的,并且将所述中间转录(115)中的每个数字单词标记为有意义的。注意力/解码器部分被配置为处理来自所述标记器部分的有意义的标记,以获得在所述书面域中的所述话
语(106)的所述数字序列的数字表示。在这些实现中,编码器部分可以包括双向递归神经网络(birnn),标记器部分可以包括递归神经网络(rnn),并且注意力/解码器部分可以包括birnn。
11.本公开的另一个方面提供了一种用于生成表示书面域中的数字序列的最终转录的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,所述指令在数据处理硬件上执行时,使所述数据处理硬件执行操作,所述操作包括接收包含数字序列的话语的音频数据;使用序列到序列语音识别模型对所述话语的所述音频数据进行解码,以生成所述话语的中间转录作为所述序列到序列语音识别模型的输出。该操作还包括使用神经校正器/去规范器处理从所述序列到序列语音识别模型输出的所述中间转录,以生成最终转录,所述最终转录表示书面域中的所述话语的所述数字序列。所述神经校正器/去规范器在训练样本集上训练,每个训练样本包括用于相应训练话语的语音识别假设以及所述相应训练话语的基础真值转录。所述相应训练话语的所述基础真值转录在所述书面域中。所述操作还包括提供表示所述书面域中的所述话语的所述数字序列的所述最终转录以供输出。
12.该方面可以包括一个或多个以下可选特征。在一些实施方式中,从所述序列到序列语音识别模型输出的所述中间转录在口语域中;以及用于训练所述神经校正器/去规范器的所述训练样本集中的每个训练样本的所述语音识别假设在所述口语域中。在这些实施方式中,处理所述中间转录包括将所述神经校正器/去规范器用作书面域去规范模型,所述书面域去规范模型被配置为:接收从所述序列到序列语音识别模型输出的所述口述域中的所述中间转录作为输入;以及生成所述书面域中的所述话语的所述最终转录作为输出。这里,所述书面域中的所述话语的所述最终转录将所述数字序列表示为相应的数字表示。
13.在其它实施方式中,从所述序列到序列语音识别模型输出的所述中间转录在所述书面域中,并将所述数字序列表示为数字单词;以及用于训练所述神经校正器/去规范器的所述训练样本集中的每个训练样本的所述语音识别假设在所述书面域中。在这些实施方式中,处理所述中间转录包括将所述神经校正器/去规范器用作书面域校正模型,所述书面域校正模型被配置为:接收从所述序列到序列语音识别模型输出的所述书面域中的所述中间转录作为输入;以及生成作为校正转录的所述最终转录作为输出,所述校正转录将初始转录中的数字单词替换为所述书面域中的所述数字序列的相应数字表示。在一些示例中,所述书面域校正模型被配置为:通过仅处理包括所述数字单词的所述中间转录的第一部分而不处理包括非数字单词的所述中间转录的剩余第二部分,来生成作为所述校正转录的所述最终转录作为输出。这里,所述书面域校正模型被配置为将所述非数字单词从所述中间转录复制到所述校正转录中。
14.在一些示例中,与数据处理硬件通信的数据处理硬件或远程计算设备被配置为通过以下方式来训练所述序列到序列语音识别模型和所述神经校正器/去规范器:获得多个训练话语集合,每个训练话语集合与不同的相应数字类别相关联并且包括多个相应的转录模板,每个转录模板包括所述书面域中的相应默认短语和数字槽。对于每个转录模板,数据处理硬件或远程计算设备还生成数值的一个或多个合成语音表示,并且对于生成的所述数值的一个或多个合成语音表示中的每一个,将数值的相应合成语音表示注入到相应转录模板的槽中,以生成唯一的训练话语,所述唯一的训练话语包括用于所述相应转录模板的所
述默认短语的音频表示和所述数值的相应合成语音表示。最后,数据处理硬件或远程计算设备在为每个训练话语集合的所述多个转录模板中的每一个生成的、所述数值的一个或多个合成语音表示中的每一个而生成的唯一的训练话语上训练所述序列到序列语音识别模型。在这些示例中,对应于所述转录模板中的至少一个的所述默认短语的所述音频表示包括匿名非合成语音。附加地或替代地,所述唯一的训练话语的书面域转录包括用于训练所述神经校正器/去规范器的所述训练样本集中的相应一个训练样本的所述基础真值转录。
15.在一些实施方式中,序列到序列语音识别模型包括递归神经网络转换器(rnn

t)端到端解码器模型。所述神经校正器/去规范器可以包括编码器部分,标记器部分和注意力/解码器部分。编码器部分被配置为生成从所述序列到序列语音识别模型输出的所述中间转录的编码表示。标记器部分被配置为将所述中间转录中的每个非数字单词标记为无意义的,并且将所述中间转录中的每个数字单词标记为有意义的。注意力/解码器部分被配置为处理来自所述标记器部分的有意义的标记,以获得在所述书面域中的所述话语的所述数字序列的数字表示。在这些实现中,编码器部分可以包括双向递归神经网络(birnn),标记器部分可以包括递归神经网络(rnn),并且注意力/解码器部分可以包括birnn。
16.本公开的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求书中,其它方面,特征和优点将是显而易见的。
附图说明
17.图1是包括用于增强数字序列识别的神经校正器/去规范器的语音识别系统的示意图。
18.图2是递归神经网络

转换器(rnn

t)模型结构的示意图。
19.图3是校正来自语音识别模型输出的的书面域转录神经校正器/去规范器的示意图。
20.图4是用于训练神经校正器/去规范器的示例训练过程的示意图。
21.图5是用于生成表示书面域中的数字序列的最终转录的方法的操作的示例安排的流程图
22.图6是可用于实现本文所述的系统和方法的示例性计算设备的示意图。
23.在各个附图中相同的附图标记表示相同的元件。
具体实施方式
24.当用户说出“我的电话号码是650

555

1212”的词序列时,asr系统可以输出在所谓的“口语域(spoken domain)”中该说出的数字序列的转录,即,当那些单词被实际说出时(“我的电话号码是六五零五五五一二一二”),或者在所谓的“书面域(written domain)”中,即,那些单词可能以书面形式再现(“我的电话号码是650

555

1212”)。有时,asr系统可以输出书面域中数字序列的转录,但是转录可以将数字序列表示为数字单词(例如,“六五零五五五一二一二”),而不是表示为所期望的相应数字表示(例如,“650

555

1212”)。其它数字序列,例如包括在地址,电话号码和邮政编码中的那些数字序列,通常具有不同的口语域和书面域转录。
25.对于asr系统来说,用数字序列适当地转录话语是有挑战性的,特别是当在训练期
间看不到相同的数字序列时,这是由于长书面域数字序列的固有的词汇表之外(out

of

vocabulary,oov)的问题。由于数据稀疏性问题,即训练数据中缺少足够长的数字序列,因此出现了这种挑战。
26.对于长数字序列,很难获得足够数量的训练数据,因为例如10位数的数字具有10
10
个可能的实例。例如,对于十位数字的电话号码,在训练中根本不可能看到任何特定的电话号码,也不可能看到足够数量的电话号码。
27.在传统的asr系统中,通过训练口语域话语上的声学模型(am)和/或其发音模型(pm)来解决oov问题,所述口语域话语的数字序列由词汇表内拼写数字(例如,数字单词)组成,然后通过在基于类的语言模型(lm)之前插入加权有限状态转换器(wfst)语言器将口语域的结果校正(或“去规范化(denormalize)”或“去规范(denorm)”)至书面域。不幸的是,传统的asr模型和wfst语言器不适用于设备上asr的低内存约束。此外,由于语言器和基于类的lm使用预定义的规则集,这些组件不能很好地适应训练数据的变化。
28.近来,流式传输,循环神经网络转换器(rnn

t),端到端(e2e)模型在设备端语音识别上已经显示出巨大前景,与传统的设备端模型相比,显示出改进的字差错率(wer)和等待时间度量。将am,pm和lm折叠成单个网络的这些模型与具有单独的am,pm和lm的传统asr系统相比,已经显示出竞争性的结果。因为性能优于同等大小的设备上常规模型,rnn

t,e2e模型对于设备端asr是特别有吸引力的。
29.参照图1,在一些实施方式中,自动语音识别(asr)系统100被增强以识别数字序列。在所示的示例中,asr系统100位于用户104的用户设备102上和/或位于在与用户设备通信的远程计算设备201(例如,在云计算环境中执行的分布式系统的一个或多个服务)上。尽管用户设备102被描述为移动计算设备(如智能电话),但是用户设备102可以对应于任何类型的计算设备,例如但不限于平板设备,膝上型/台式计算机,可穿戴设备,数字助理设备,智能扬声器/显示器,智能设备,汽车信息娱乐系统、或物联网(iot)设备。
30.用户设备102包括音频子系统108,音频子系统108被配置为接收由用户104说出的话语106(例如,用户设备102可以包括用于记录说出的话语106的一个或多个麦克风),并将话语106转换为与能够由asr系统100处理的参数化输入声频帧110相关联的相应数字格式。在所示的示例中,用户说出一个句子的相应话语106,该句可以被转录口语域中的“我的电话号码是六五零五五五一二一二”,并且音频子系统108将话语106转换为用于输入到asr系统100的相应的声学帧110。例如,声学帧110可以是一系列参数化的输入声学帧,每个声学帧包括80维log

mel特征,用短的(例如,25ms)窗口计算,并且每隔几毫秒(例如,10毫秒)移位。
31.此后,asr系统100接收与话语106相对应的声学帧110作为输入,并为话语106生成/预测书面域的的相应转录(例如,识别结果/假设)120,即文本“我的电话号码是(650)555

1212”。在所示的示例中,用户设备102和/或远程计算设备201还执行用户界面生成器107,用户界面生成器107被配置为向用户设备102的用户104呈现话语106的转录120的表示。
32.在一些配置中,从asr系统100输出的转录120被处理以执行用户命令。该处理例如由通过在用户设备102或远程计算设备201上执行的自然语言理解(nlu)模块来处理。附加地或可选地,文本到语音系统(例如,在用户设备104或远程计算设备201的任何组合上执行
的文本到语音系统)可以将转录转换为合成语音,以便由另一设备音频输出。例如,原始话语106可以对应于用户104正发送给朋友的消息,在该消息中转录120被转换为合成语音,以输出声音给朋友,以收听在原始话语106中传送的消息。
33.值得注意的是,增强asr系统100包括解码器200和神经校正器/去规范器300。解码器200被配置为接收参数化的输入声学帧110作为输入,并生成中间转录115作为输出,中间转录115表示口语域或书面域中的话语105。神经校正器/去规范器300被配置成接收从解码器200输出的中间转录115,并执行书面域到书面域校正、或口语域到书面域去规范中的一个。例如,当中间转录115在口语域中并且神经校正器/去规范器300被配置为神经去规范器时,神经校正器/去规范300被配置为接收口语域中的中间转录115作为输入,并且生成书面域中的话语106的转录120作为输出,即,文本“我的电话号码是(650)555

1212”。另一方面,当中间转录115在书面域中并且神经校正器/去规范器300被配置为神经校正器时,神经校正器/重整器300被配置为接收书面域中的中间转录115作为输入,并且生成作为话语106的“经校正的”书面域转录的、转录120作为输出。这里,书面域的中间转录115可以将数字序列表示为数字单词,使得数字序列被拼写为“六五零五五五一二一二”,由此神经校正器300在生成书面域的“经校正的”转录120,使得相应的数字表示“650

555

1212”替换拼写出的单词,该单词在解码器200输出的中间转录115的词汇数字词表示中。
34.在一些实施方式中,增强的asr系统100在由文本到语音(tts)系统412(图4)生成的附加数字训练数据416(图4)上被训练,并且使用神经校正器/去规范器300代替基于fst的语言器来改进在具有数字序列的训练话语402(图4)上的e2e模型性能。这种增强的方法在几类数字序列中产生了可测量的改进,并且对于较长数字序列在wer中表现出显著的改进。神经校正器/去规范器300包括占用空间小的(small

footprint)神经网络,以使得适于在设备上环境(例如,在用户设备102本地)中使用的神经校正器/去规范器300能够对从解码器200输出的中间转录115执行校正或去规范化。与基于fst的语言器相关联的大占用空间(large footprint)由于低内存约束而禁止它们在设备端asr环境中的使用。另外,基于fst的语言器使用预定义的规则集,该规则集不能很好地适应训练数据中的变化。
35.参考图2,解码器200可以包括e2e,rnn

t模型200,其遵守与交互应用相关联的延迟约束。rnn

t模型200提供了小的计算占用面积,并且与传统的asr架构相比利用了更少的内存需求,使得rnn

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

t模型200包括编码器网络210,预测网络220和联合网络230。大致类似于传统asr系统中的声学模型(am),编码器网络210包括堆叠的长短期记忆(long short

term memory,lstm)层的循环网络。例如,编码器读取d维特征向量的序列(例如,声学帧110(图1))x=(x1,x2,
···
,x
t
),其中x
t
∈r
d
,并且在每个时间步长产生更高阶的特征表示。这种更高阶特征表示可表示为
36.类似地,预测网络220也是lstm网络,预测网络220像语言模型(lm)一样,将最终softmax层240输出的非空白符号序列,y0,...,y
ui
‑1,处理成成稠密的表示最后,利用rnn

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

t模型200不进行条件独立性假设,而是每个符号的预测不仅仅基于声学,而且还基于迄今为止输出的标签序列。rnn

t模型200确实假定输出符号独立于将来的声学帧110,使得以流方式使用rnn

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

t模型200的编码器网络210由八个2048维lstm层组成,每个层之后是640维投影层。可以在编码器的第二lstm层之后插入具有减小因子为2的时间减小层,以减小模型的延迟。预测网络220可以具有两个2048维lstm层,每个层之后还有640维投影层。最后,联合网络230还可以具有640个隐藏单元,随后是4,096个词条softmax输出。
39.图3示出了图1的增强型asr系统100的神经校正器/去规范器300的示例结构,用于对从增强型asr系统100的rnn

t,e2e解码器200接收的输出进行神经校正或神经去规范化,作为后处理操作。用于神经校正器/去规范器300的体系结构包括编码器部分310,标记部分320和注意力/解码器部分330。在一些示例中,编码器部分310是双向rnn(birnn),其包括双向单层选通递归单元(gated recurrent unit,gru)编码器310,编码器310具有256个发射256维隐藏状态的单元。标记器部分320可以是包括具有64个单元的单层gru的rnn,并且注意力/解码器部分330可以是具有256个单元的双向单层gru。尽管图2描述了神经校正器/去规范器300主要用于神经校正,但是神经校正器/去规范器300可以附加地或可选地用于神经去规范化。在所示的实例中,“t”代表无意义(trivial),“n”代表有意义(non

trivial),“s”代表开始(start),“c”代表连续(continuation)。
40.当被用于神经校正器时,神经校正器/去规范器300对应于书面域校正模型300,校正模型300接收由rnn

t,e2e解码器200生成的、书面域中间转录115作为输入,并生成经校正的书面域转录120(例如,最终转录120)作为输出。当被用于神经去规范器时,神经校正器/去规范器300对应于书面域去规范模型300,去规范模型300接收由rnn

t,e2e解码器200生成的、口语域中间转录115作为输入,并生成书面域转录120(例如,最终转录120)作为输出。因此,无论作为神经校正器还是去规范器实现,神经校正器/去规范器300的体系结构都提供了基于注意力的序列到序列模型,该模型接收另一个序列到序列模型(即,rnn

t,e2e解码器200)的输出。
41.在所示的示例中,通过考虑输入115中的许多单词、例如“唤醒我在”的书面域短语,在校正期间被简单地复制到例如“唤醒我在”的书面域输出120中,可进一步使神经校正器/去规范器300的体系结构适应校正上下文。具体地,通过将中间转录115的输入序列中的
单词标记为“无意义的”(例如,不需要校正)或者标记为“有意义的”(例如,需要校正),在注意力/解码器部分330之前训练标记器rnn 320在输入序列上运行。在不需要校正的情况下,可以简单地将该单词复制到输出的书面域转录120的书面域序列;在需要校正的情况下,单词被传递到注意力/解码器部分330。除了执行校正之外,书面域校正模型300还可以用于在第二遍设置中重新排序n个最佳列表。
42.在一些配置中,对于所有输入运行的、模型300的编码器/标记器部分303,304包含约四(4)百万个参数,而仅对于标记为文本跨度(text span)运行的、模型300的注意力/解码器部分301包含约六(6)百万个参数。占用空间小的神经校正模型使得它对于设备上的环境很有吸引力。该模型在tensorflow中实现,并在12个图形处理单元(gpu)上异步训练,批量大小为16。相反,asr系统的e2e,rnn

t解码器200大约包括一百十四(114)百万个参数。
43.在一个示例中,输入序列x={x1,...,x
i
}被映射到输出,书面域序列y={y1,...,y
t
},其中序列词汇表由单词组成。例如,书面域序列中的、与数字“4”和“30”关联的输出标签被表示为数字单词,使得每个数字被拼写为“四”和“三十”。birnn编码器310定义如下:其中,h=h1,...,h
i
是隐藏编码器状态。
44.标记器rnn 320被定义为s
i
=rnn
tag
(s
i
‑1,t
i
‑1,h
i
),其中s=s
i
,...,s
i
是隐藏标记器状态,具有相应的观察,即标记序列t=t
i
,...,t
i
。每个标记t
i
是{无意义,有意义l}
×
{开始,连续}的跨积集合中的一个连接标记,用于对一个单词是需要校正的新片段的开头还是前一个片段的延续进行建模。这种改进使得对连续的有意义的分段进行建模。标记器rnn 320的学习目标可以由下面的等式表示。其中,p被定义为其后是sofmax层的s的线性投影。可以使用启发式比对技术来获得用于训练标记rnn 320的比对,该比对技术确定输入和输出转录115,120共有的子序列。这些共有子序列被标记为“无意义的”(例如,不需要校正)。例如,共有子序列通常可以包括非数字单词。在所示的例子中,由标记器rnn 320标记/标记为“无意义的”的共有子序列包括单词序列“唤醒我在”。这里,由于短语“唤醒我在”在书面域中并且不需要校正,所以可以将该短语复制到输出以形成经校正的、书面域转录120的一部分。
45.书面域校正模型300使用标记器rnn 320的结果来提取待校正的文本片段,诸如中间转录115中被标记为有意义的数字单词“4”和“30”。例如,如果文本片段从时间s跨越到e,则输入跨度{x
s
,...,x
e
}以及上下文隐藏状态和成为对下一阶段注意力模型的输入。birnn编码器310在{x
s
,...,x
e
}上被定义为rnn
mid
。最后,将注意力/解码器部分(rnn
dec
)330定义为d
i,t
=rnn
dec
(d
i,t
‑1,y
i,t
‑1,c
i,t
),其中c
i,t
是d
i,t
‑1,和rnn
mid
({x
s
,...,x
e
})的注意力函数的结果。二维索引(i,t)指示t相对于输入序列中的给定位置i(s,e)。注意力/解码器部分330的学习目标可以由以下等式表示。
46.因此,标记器rnn 320的结果使得神经校正器/去规范器300的注意力/解码器部分330能够应用于少于中间转录115中的所有文本,例如仅应用于文本的相关范围,从而提高精确度并降低延迟、成本和计算费用。例如,在所示的示例中,待校正的文本(例如,要校正的片段)的相关跨度包括数字单词“四”和“三十”,从而注意力/解码器330将“四”和“三十”校正为“4:30”,使得数字表示“4:30”现在表示最终转录120中的数字序列。值得注意的是,模型300也被训练为注入与数字序列相关联的适当的符号/字符,如货币符号、时间的冒号等。这里,已校正部分“4:30”被附加到已复制部分“唤醒我在”上,以提供完整的、已校正的,书面域最终转录120。
47.在神经校正器/去规范器300的训练期间,在等式(1)和等式(2)中表达的两个学习目标转化为可以线性组合的两个交叉熵损失。在神经校正器/去规范器300的推理(即,解码时间)期间,注意力/解码器部分330和标记器rnn 320作为流水线工作,使得注意力/解码器部分330仅在标记器rnn 320需要的时候使用,即,当标记器rnn 320在中间转录115中将单词标记为“有意义”时(例如,不需要校正)。
48.参照图1和4,增强asr系统100可以通过应用若干增强中的一个或多个来改善数字序列上的e2e语音识别性能。例如,通过使用tts系统412来合成书面域数字序列的附加训练数据422,合成训练数据422可以被用于成功地解决数据稀疏性问题。这样,可以为数字序列的挑战性类别生成合成语音训练数据422,以便提高这些类别的模型覆盖率。
49.数据稀疏性或oov问题可以附加地或可选地通过使用神经校正网络(例如,神经校正器/去规范器300)来解决,所述神经校正网络在书面域基础真值转录(ground truth transcription)/rnn

t书面域假设对115,424上被训练,并且可以学习以校正错误。在其它示例中,训练rnn

t,e2e解码器200以输出口语域的数字序列,并将其去规范回到书面域。在各种实现方式中,可以使用基于fst的去规范器或书面域校正模型的神经去规范器来实现这种方法。
50.如上所述,在一些示例中,asr系统100通过使用tts系统412来增强训练数据402以合成书面域数字序列的附加训练数据416,422而受益,从而解决rnn

t,e2e解码器200的“长尾(long tail)”数据稀疏性问题。为了解决这种“长尾”数据稀疏性问题,可以生成表示挑战性的但现实的数字序列的附加训练数据416,422。为此,可以识别在日志中频繁看到的数字序列的类别,例如数字助理请求的类别或搜索引擎的类别。
51.图4示出了用于获得附加训练数据416,422的示例性过程400,用于训练神经解码器/编码器200学习以表示书面域的数字序列的各种类型。远程计算设备201(例如,服务器)可以执行过程400并相应地训练模型200、300。在阶段1,过程400获得多个训练话语集402、402a

n,每个训练话语集与不同的相应数字类别a

n相关联并且包括多个相应的转录模板404、404a

n。例如,数字序列的不同的相应数字类别可以包括但不限于,“日”类别、“百分比”类别、“邮政编码”类别、“时间”类别、或“年”类别。表1示出数字序列的若干这样的类别,具体地包括表示各种数字范围或大小的类别。表1具有合成数字示例的tts话语类别示例
52.阶段1示出了每个转录模板404,包括书面域中的相应默认短语406和数字槽408。每个唯一转录模板404中的相应默认短语406可以表示口头语音样本,例如,来自匿名的非合成话语的“(口语的)”设置第二闹钟在...。在一些示例中,一个或多个转录模板404可以包括相应的书面默认短语406,其作为输入被提供给tts系统412,用于生成默认短语406的合成语音表示。在阶段2,对于每个转录模板404,过程400生成一个或多个合成语音表示416的数值(例如,(口语的)“四点三十”、(口语的)“四点三十一”、(口语的)“四点三十二”等),并且对于生成的一个或多个合成语音表示416的数值中的每一个,将相应合成语音表示416的数值注入相应转录模板404的槽408中,以生成唯一的训练话语422。这里,对于相应的转录模板404和相应的合成语音表示412,例如(口语的)“四点三十”,唯一训练话语422包括默认短语406的音频表示,默认短语406例如为(口语的)“设置第二闹钟在...”。
53.在阶段2,基于相应的训练数值输入文本410,过程400可以利用tts系统412以生成每个合成语音表示416的数值。tts系统412可以包括多说话者tts系统,其生成生成一个以音素(phoneme)和在训练期间为每个说话者学习的、n维说话者嵌入为条件的梅尔频谱(mel

spectrogram)。在一些示例中,n等于256。这里,然后可以用wavernn神经声码器将预测的梅尔频谱转换为时域波形。可以使用多风格训练(multi

style training,mtr)来向合成音频添加人工噪声。tts训练数据可以包括来自单个语言的说话者或者来自多种语言的说话者,或具有单个口音或具有多个不同口音的说话者的音频数据。在推断期间,输入,文本数字序列被映射到音素,并且说话者被随机选择。
54.此外,在阶段2,过程400可以采用注入器420,注入器420被配置为接收从tts系统412输出的每个合成语音表示416的数值作为输入,并且通过将合成语音表示416注入到与默认短语406相关联的槽408中来提供唯一的训练话语422作为输出。这种注入可以通过执行来自在口语域上被加权的数字wfst语法的加权采样来进行。尽管在模板404中示出了槽408在默认短语406之后,但是槽408可以散布在默认短语406之前,或者可以在默认短语406的开始和结束之间的任何地方。
55.在一些示例中,对应于转录模板404中至少一个的默认短语406的音频表示包括匿名非合成语音。这里,在生成,存储或使用模板之前,可以以一种或多种方式对用于生成模板的话语进行匿名,从而去除个人可识别信息。例如,可以对用户的身份进行匿名,从而不能为用户确定个人可识别的信息,或者可以在获得位置信息的地方(例如城市,邮政编码或州级)对用户的地理位置进行概括,从而不能确定用户的特定位置。用户可以控制如何收集关于他或她的信息以及这些信息如何被asr系统100。在另外的示例中,对应于转录模板404中至少一个的默认短语406的音频表示包括默认短语406的合成语音表示。例如,tts系统
412可以在转录模板404中的一个或多个中合成相应的默认短语406。
56.在阶段3,过程400利用所生成的一个或多个相应的唯一训练话语422来更新表示相应的不同类别的多个训练话语集合402中的每一个中的多个转录模板404中的每一个相应的副本模板404,所述一个或多个相应的唯一训练话语422中的每一个都包括相同的默认短语406和不同数值的合成语音表示416。此外,过程400还可以为每个唯一的训练话语422生成并行的文本转录424、426,一个在口语域中,例如(文本)“设置第二闹钟在四点三十”,而另一个在书面域中,例如(文本)“设置第二闹钟在4:30”。对每个模板404重复该过程400多次,每次为该类数字序列合成唯一的训练话语。在一些示例中,唯一训练话语422的书面域转录426包括基础真值转录,基础真值转录与用于与从解码器200输出的识别假设115结合,用于训练图3的神经校正器/去规范器300。
57.回来参考图1,一些其它示例中,asr系统100受益于口语域训练和fst去规范化。通过这种增强,rnn

t,e2e解码器200在训练集的口语域版本上被训练,并且返回至书面域的翻译被留给源自遗留的生产语法的fst去规范器。为了训练rnn

t,e2e解码器,在口语域和书面域中的话语的转录均被用作于训练数据。这些示例可以通过以下方式获得:通过fst语言器将书面域转录传递,然后通过词典将每个候选假设传递来选择单个口语域语言化(verbalization),并且强制将所得到的电话序列与话语中的电话对齐。使用语言化语法获得的口头域转录被用作tts训练数据。
58.在另外的示例中,asr系统100受益于神经去规范化的使用。具体而言,由于基于fst的反规范化方法可能难以用于资源有限的设备上,因此也可以使用神经去规范器来代替fst。例如,书面域神经校正模型可以通过将其改写或重新表征为消耗口语域训练数据、发出书面域输出的神经去规范器,以适应于口语域。神经去规范化模型的结构与书面校正模型相同。
59.在测试中,特别是对于较短的数字序列,由于引入合成的训练数据,并且困扰基于规则的fst去规范化的错误几乎可以全部缓解,asr系统100优于传统系统。避免在口语域中进行训练而获得的oov问题似乎在很大程度上解决了书面域模型所经历的格式化问题,同时使用了神经去规范化器,它学习了如何从训练数据中去规范化,从而消除了在基于fst的口语域模型中看到的去规范化错误。最后,口语去规范化方法不会导致真实音频数据集的显著退化。当一起使用多种增强时,特别是对于更长的话语,对于e2e性能的改进是最大的。
60.图5提供了方法500的操作安排示例的流程图,方法500生成表示书面域的话语106的数字序列的最终转录120。位于用户设备102或远程服务器201上的数据处理硬件可以执行方法500的操作。在操作502,方法500包括在数据处理硬件处接收包含数字序列的话语106的音频数据110。在操作504,方法500包括由数据处理硬件使用序列到序列语音识别模型200对话语106的音频数据110解码,以生成话语106的中间转录115,作为序列到序列语音识别模型200的输出。
61.在操作506,方法500还包括由数据处理硬件使用神经校正器/去规范器300处理序列到序列语音识别模型200输出的中间转录115,以生成表示书面域中话语106的数字序列的最终转录120。神经校正器/去规范器300可以在训练样本集合402上被训练,其中每个训练样本402包括用于相应的训练话语的语音识别假设115和相应的训练话语的基础真值转录426。相应的训练话语的基础真值转录426在书面域中。在操作508,方法500还包括由数据
处理硬件提供表示书面域中的话语106的数字序列的最终转录120,以用于输出。
62.软件应用程序(即软件资源)可以是指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息收发应用、媒体流应用、社交网络应用和游戏应用。
63.非瞬态存储器可以是用于临时或永久地存储由计算设备使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非瞬态存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的实例包括(但不限于)闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram),动态随机存取存储器(dram),静态随机存取存储器(sram),相变存储器(pcm)以及盘或磁带。
64.图6是可用于实现本文中描述的系统和方法的示例计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,例如膝上型计算机,台式计算机,工作站,个人数字助理,服务器,刀片服务器,大型机和其它适当的计算机。在此示出的组件,它们的连接和关系以及它们的功能仅是示例性的,而不意味着限制在本文件中描述和/或要求保护的本发明的实现。
65.计算设备600包括处理器610,存储器620,存储设备630,连接到存储器620和高速扩展端口650的高速接口/控制器640,以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个使用各种总线互连,并且可以安装在公共母板上或以其它适当的方式安装。处理器610可以处理用于在计算设备600内执行的指令,包括存储在存储器620中或存储在存储设备630上以在外部输入/输出设备(例如耦合到高速接口640的显示器680)上显示图形用户界面(gui)的图形信息的指令。在其它实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。而且,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器库,刀片服务器,或多处理器系统)。
66.存储器620在计算设备600内非瞬态地存储信息。存储器620可以是计算机可读介质,易失性存储器单元或非易失性存储器单元。非瞬态存储器620可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。。非易失性存储器的实例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram),动态随机存取存储器(dram),静态随机存取存储器(sram),相变存储器(pcm)以及磁盘或磁带。
67.存储设备630能够为计算设备600提供大容量存储。在一些实现方式中,存储设备630是计算机可读介质。在各种不同的实现中,存储设备630可以是软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其它类似的固态存储器设备,或设备阵列,包括存储区域网络或其它配置中的设备。在附加实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,例如上述方法。信息载体
是计算机或机器可读介质,诸如存储器620、存储设备630或处理器610上的存储器。
68.高速控制器640管理计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实现方式中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口650。在一些实施方式中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或诸如交换机或路由器的联网设备。
69.计算设备600可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器600a或在一组这样的服务器600a中多次实现,被实现为膝上型计算机600b,或被实现为机架服务器系统600c的一部分。
70.本文描述的系统和技术的各种实现方式可以在数字电子和/或光学电路、集成电路、特别设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用的或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其发送数据和指令。
71.这些计算机程序(也称为程序、软件、软件应用程序或代码)包括可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编语言/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非瞬态计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
72.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器(也称为数据处理硬件)执行,执行一个或多个计算机程序,通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不需要具有这种装置。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd

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