​​​​​​​​​​摘要:本文从《Shallow-Fusion End-to-End Contextual Biasing》下手,根究处理专有范畴的端到端 ASR。

本文分享自华为云社区《语境偏移怎样处理?专有范畴端到端GoASR之路(一)》,原文作者:xiaoye0829 。

关于产品级的自动语音辨认(Automatic Speech Recognition, ASR),可以适应专有范畴的语境偏移(contextual bias),是一个很重要的功用。举个比方,关于手机上的 ASR,体系要能精确辨认出用户说的 app 的姓名,联系人的名宫崎骏字等等,而不是发音相同的其他词。更详细一点产品生命周期,比方读作“YaoMing”的这个词语,在体育范畴或许是咱们众所周知的运动员“姚明”,可是在手机上,它或许是咱们通讯录里边一个叫做“姚敏”的朋友。怎样跟着运用范畴的改动,处理这种误差问题便是咱们这个系列的文章要根究的首要问题google

关于传统的 ASR 体系,它们往往有独立的声学模型(AM)、发音词典(PM)、以狗狗币及言语模型(LM),当需要对Go特定范畴进行偏移时,可以通过特定语境的言语模型 LM 来偏移Go辨认的进程。可是关于端到端的模型,AM、PM、以及 LM 被整组成了一个神经网络模型。此时,语境偏移关于端到端APP的模型十分工商银行具有挑战性,其间的原因首要有以下几个方面:

1. 端到端模型只在解码时用到了文本信息,作为对比,传统的 ASR 体系中的 LM 可以运用许多的文本google翻译进行练习。因而,咱们发现端到端的模型在辨认稀有、语境依托的单词和短语,比方名词短语时,相较于传统模型,更简略犯错。

2. 端到端的模型考虑到解码功率,一般在 beamsearch 解码时的每一步只保有少数的候选词(一般为 4 到 10 个词),因而,稀有的单词短语,比方依托语境的 n-gram(n 元词组),很有或许不在 beam 中。

早年的作业首要是在尝试将独立练习的语境 n-gram 言语模型融入到端到端模型中,来处理语境建模的问题,这个做法也被称为appreciate:Shallow fusio产品介绍n (浅交融)。可是他们的办法关于专有名词处理得比较差,专有名词一般在 beam search 时就现已被取舍掉了,因而即便参加言语模型来做偏移,也为时已晚,因为这枸杞种偏移一般在每个 word 生成后才进行偏移,而 beam search 在 grapheme/宫颈癌前期症状wordpiece (关于英文来说,grapheme 指的是 26 个英appear文字母+1 空格+12 常用标点。关于中文来说,grapheme 指的是 3755 一级汉字+3008 二级汉字google+16 标点符号) 等 sub-word 单元进步行猜想。

在这篇博文中,咱们来介绍尝试处理这个问题的一篇作业:《Shallow-FusionEnd-to-End Contextual Biasing》,这篇作业是 Google 宣告在 InterSpeech 2019 上的作业。在这个作业中,首要,为了避免还没运用言语模型进行偏移,专有名词就被剪google地球枝掉了,咱们根究在 sub-word 单元进步行偏移。其次,咱们根究在 be枸杞am 剪枝前运用 contextual FST。第三,因为语境 n-gram 一般和一组一同产品介绍前缀(“call”, “text”)一同运用,咱们也去根究在 shallowfusi宫颈癌疫苗on 时交融这些前缀。毕竟,为了协助专有名词的建模,咱们宫颈癌前期症状根究了多种技术去运用大规模的文本数据。

咱们在这里狗狗币,首要介产品生命周期绍下 Shallow fusion,给定宫崎骏一串语音序列 x=(x_1, …, x_K),端到端的模型输出一串子词级的后验概率分布 y=(y_Go1,…,y_L),即 P(y|产品运营x).Sh公积金allow fusion 的意思便是将端到端产品批号是生产日期吗的输出得分与一个外部练习的言语 LM 得分在 beam search 时进行融googleplay安卓版下载合:y^{*}=argmax logP(y|x)+lambda P_C(y)_y_∗=argmaxlogP(y狗狗币_∣_x)+_PC_​(y)

其间lambda__是一个用来调度端到端模型和言语模型权重的参数。产品生命周期为了构建用于端到端模型的语境 LM,咱们假定现已知道了一系列的单词级偏置短语,并把他们编译成了 n-gram 的 WFST(weightedAPP finite stappstoreate transducer)。这个单词级的 WFST,然后被分解成一个作为拼写转换器的google商铺 FST,这个 FST 可以把一串 graphemes/wordpieces 转换成对应的单词。

悉数之前的偏移作业,无论是针对传统办法或许是端到端模型,都是将语境 LM 和基底模型(比方端到端appstore模型或许 ASR 声学模型)的得分在单词(word)或许子词(sub-word)网格进步行结合。端到Google端的模型因为在解码时,一般设置了比较小的 beam 阈值,导致了其解码途径相较于传统的方apple法较少。因而apple本文首要根究在 beam 剪枝前将语境信息运用到端到端模型里。

当咱们google谷歌查找主页挑选对 grapheme 进行偏移,一个忧虑是咱们或许会有许多的不必要的词语,与语境 FST 匹配上,然后吞没这个 be产品司理am。

探究专有范畴的端到端 ASR 解决之道

举例来看,如上图产品司理所示,假定咱们想偏移google服务框架这个单词“cat”,那么语境 FST 构建的政策便是去偏移“c”“a”和“t”这三个字母。当咱们想要往“c”这googleplay安卓版下载个字母去偏移时,咱们或许不只会把“cat”参加到 beam产品质量法 中,也有或许会把“car”这种无关的单词参加到 beam 中。可是假定咱们是在 wordpiece 层面进行偏移,相关的 subword 有较少的匹配,因而,更多相关的单词能被参加 beam 中。仍是以“cat”这个比方举例,假定咱们依照 wordpiece 来偏移,那么“car”这个词就不会进入 beam 中。因而,产品司理在本文中,咱们运用了一个 4096 巨细的 wordpgoogleplay安卓版下载iece 词汇表。

咱们进一步分析,Shallow fusion 修改了输出的后验概率,因而咱们也可以发现 shallow狗狗币 fusion 会损害那些没有词语需要偏移的语音,即那些去语境化的语音。因而,咱们根究只去偏移那些契合特定前缀的短语,举例来说,在手机中查找联系人时,一般会先说一个“call”或许“message”,或许想播放音appearance乐时,会先说产品战略一个“play”。因而在本文中,咱们在构建语境 FST 时,考虑到这些前缀词语。咱们抽取出在语境偏移单词前呈现过 50 词以上的前缀词语。毕竟,咱们获得了 292 个常用前缀词语用于查找联系人,11 个用于播放歌曲,66 个用于查找 app。咱们构建了一个无权重的前缀 FST,并把它和语境 FST 级联起来。咱们也容许一个空前缀选项,去跳过这些前缀词。

一个行进专有名词覆盖率的方产品批号是生产日期吗法是运用许多的无监督数据。无监督的数据来自语音查找中的匿名语音。这些语音运用一个 SOTA 模型进行处理,只产品设计专业要那些具有高 confidence 的语音会被保存下来。毕竟,为了保证咱们留下来的语音首要关于专有名词,咱们枸杞用了一个专有名词标明器(便是 ner 里的 CRF 作序列标明),并产品设计保存带有专有名词的语音。运用上述办法,咱们得到了一亿条无监督的语音,并结合了 3500 万条有appearance监督的语音进行练习,在宫颈癌疫苗练习时,每个 batch 内 80%的时间是有监督的数据,20%是无监督的数据。运用无监督的数据,有一个问题便是他们辨认出来的文字或许有错,辨认的作用也会束缚称谓的拼写,比方到底是 Eric,仍是 Erik,或许 Erick产品批号是生产日期吗。因而,咱们也可以运用许多的专有名词,结合 TTS 的办法,发明晰一个组成的数据集。咱们从互联网上针对不同类别去挖掘许多的语境偏移词语,比方多媒体、交际、以及 app 等类别。毕竟,咱们抽取除了大约 58 万条联系人的姓名,4 万 2 千条歌名,以及 7 万个 app 的姓名产品战略。接下来,咱们从日志中去挖掘许多的前缀词语,比方,“call Johnmobile”,可以得到前缀词“call”对应到交appreciate际范畴。然后,咱们运用特定类别的前缀词和专有名词去生成语音辨认的文本,并运用语音组成器,为每个类别生成了大约 100 万条语音。咱们进一步为这些语音加上产品介绍了噪音来仿照室内的声响。毕竟产品司理,在练习时,每个 batch 内 90%appstore的时间是有监督的数据,10%的是组成的数据。

毕竟,咱们根究了是否能添加更多的专有名词到有监督的练习集中。详细来说,咱们对每一条语音运用专有名词标明器,找到其间的专有名词。关于每一个专有名词,咱们获得了其发音特征。举例来说,比方“Caitlin”可以标明成发音单位(phonemes)“K eI t lgoogle @ n”.紧接着,咱们从发音词典中,找到有相同发音单位序列的词语,比方“Kaitlyn”。关于实在的语application音,和可以替换的单词,咱们在练习时,随机替换。这个做法,可以让模型观察到更多的专有名词。一个更直接的起点是,模型可以在练习的时分拼写出google空间更多的姓名,那么在后面解码时,结合语境 FapproveST,更可以拼写出这些姓名。

下面看一下试验部分。悉数试验均基于 RNN-T 模型,encoder 里包括一个 time reduction 层,以及 8 层 LSTM,每层有 2000 个躲藏层单元。decoder 包括 2 层的 LST工商银行M,每层有 2000 个躲藏层单元。encoder 和 decoerGoogle 被送到一个联合网络中,这个网络有 600 个躲藏层单元。然后这个联合网络被送到一个 softmax 里,输出为有 96 个单appear元的 graphemes 或许是 4096 个单元的 wordpieces。在推理时,每条语音google伴跟着一系列偏移短语用来构建一个语境 FST。在这个 FST 中,每条弧(arc)都有相同的权重。这个权重为每个目录(比工商银行如音乐,联系人等)的查验集别离调度。

探究专有范畴的端到端 ASR 解决之道

上图是 Shallow F产品司理usion 的一些作用,E0 和 E1 是 grapapplicationheme 和 wordpieces 的作用,这些模型是没有进行偏移的。E2 是 grapheme产品设计专业 带偏移的作用,可是不带任何本文中的行进战略。E3 是用了一个减法公积金价值(subtractive cost)去防枸杞止在 beam 中保存糟糕的候选词,这个操作在几乎悉数的查验集上都带来了行进。再从 grapheme 层面的偏移转换到 wordpiece 上的偏移,即咱们在更长宫崎骏的单元进步行偏移,有助于在 beam 内坚持相关的候选词,并行进模型的功用。毕竟产品设计专业,咱们的 E5 模型在 beam search 剪枝前,就运用偏移 FST,咱们称之为 early biasing,这样有助于保证好的候选词能更google谷歌查找主页早的保存在 beam 里,并带来了额外的APP功用行进。总归,咱们最好的 shallow fusion 模型是在 wordpiece 层面进行偏移,并带有 subtractive cost 和 early biasing。

因为语境偏置的或许存在于语句中,咱们也需要保证当语境偏移不存在时,模型的作用不会下降,即不会损害那些不带有偏置词的语音的辨认。为了查验这一点,咱们在 VS test 数据集进步行了试验,咱们随机从 Cnt-TTS 查验集中挑选了 200 个偏置短语,去构建一个偏置 FST。下图展产品生命周期现了试验的作用:

探究专有范畴的端到端 ASR 解决之道

从这个表中可以看到,E1宫颈癌前期症状 是我Go们的 baseline 模型,当添加偏移后,E5 模型在 VS 上呈现了许多程度上的作用下降。为了处理这个问题,传统的模型在偏移 FST 中包括了前缀词。产品司理假定咱们只在看到任何非空前公积金缀词后,才运用偏移(E6),咱们可以观察到 VS 数据集上相较 E5 出公积金现了作用行进,可是在其他有偏移词的查验集上,呈现了作用下降。进一步,当我appreciate们容许其间一条前缀可以为工商银行空时(首要想产品处理有偏移词产品质量法的场景),可是咱们只是获得了与 E5 相似的作用。为了处理这个问题,咱们关于语境短语用了较小的权重假定前面是一个产品介绍空的前缀词(即没有前缀词)。运用这个办法,咱们观察到 E8 相较于 E1 模型,在appstore VS 上取得了google空间很小程度的作用下降,可是在有偏google空间移短语的查验集上,可以坚持有作用行进。

在分析完了上产品质量法述内容后,我产品质量法们进一步根究下,当模型能感知到更多的专有名词时,咱们是否能进一步行进偏移的才能。咱们的基线模型是 E8,这个模型是在 3产品设计专业500 万的有监督数据集上练习得到的。结合咱们上面的无监督数据和生成的数据,咱们做了下面的试验:

探究专有范畴的端到端 ASR 解决之道

E9 的试验作用展示,当有无监督的数据一同练习时,在各个数据集上,都有作用行进。当有生成的数据一同练习时(E10),比较于 E9 在 TTS 查验集上有更大appearance的作用行进,可是在实在场景数据集 Cnt-Rapp装置下载eal 上呈现了较大程度的下滑(7.1 vs 5.8),这标明在 TTS 偏移检google验集上的行进,首要来源于练习集和查验集间匹配的音频环境,而不产品司理是学到了更丰盛的专有名词的词汇表。

点击注重,第一时间了解application华为云新鲜技术~