FastCorrect 2: Fast Error Correction on Multiple Candidates for Automatic Speech Recognition

FastCorrect 2语音纠错

引言

ASR纠错的关键挑战是检测和纠正错误token。目前的方法一次只能纠正一个句子,这可能是次优的,因为纠正模型只能根据单个句子的上下文信息猜测错误标记。考虑到ASR中常用的是波束搜索,通常会生成多个候选点并进行纠错。我们认为多个候选包含投票效应,即来自多个句子的标记可以相互验证正确性。例如,如果有3句话的光束搜索候选词是“我有猫”,“我有帽子”,“我有蝙蝠”,那么前两个标记很可能是正确的,因为它们在所有的光束候选词中是相同的。最后一个标记上的不一致表明:

  1. 这个标记可能需要更正
  2. ground-truth标记的发音可能以“æt”结尾

这种投票效应可以通过帮助模型检测错误标记和提供关于真实token发音的一些线索来提高ASR校正。本文提出了FastCorrect 2,一种以多个ASR候选作为输入的纠错模型,以利用这种投票效应获得更好的纠错精度。FastCorrect 2由一个处理多个源句的编码器、一个预测与每个源句对应的目标token数量的预测器和一个从调整后的源句并行生成目标句的解码器组成,其中的调整基于每个源句的预测目标token数量。下面描述了在支持多个候选时的挑战,并介绍应对这些挑战的相应设计,如下所示:

  1. 由于多个候选句的长度通常是不同的,而且来自不同句子的标记不是按位置对齐的,因此通过标记对齐这些候选句以利用投票效果是非常重要的。如果简单地使用左填充或右填充来保证对齐的长度相同,则不同候选句中每个位置的信息是不对齐的,因此不存在投票效应。例如,如果一个句子在开头包含一个额外的单词,而其他句子没有,简单的左填充将导致严重的错位,每个位置都将包含错位的标记,使模型难以检测到错误标记。为了充分利用投票效应,本文提出了一种基于token匹配评分和发音相似度评分的对齐算法,既能保证相同位置的令牌尽可能匹配,又能保证相同位置的令牌在不匹配的情况下发音尽可能相似。
  2. 有多个候选句作为源句,而解码器只能接受一个调整后的源句作为input。因此,如何选择合适的源句进行调整并输入到解码器中是很有必要的。由于在推理过程中,不同候选句的目标token数量的预测值可能不同,将所有调整后的不同长度的候选句输入到解码器中是很困难的。因此,本文设计了一个候选句预测器来确定最合适的源句。具体来说,在模型中选择能够产生最小损失的候选者(即最容易校正的候选者)。

FastCorrect 2对齐方式

一般来说,当对n个候选{b1, b2,…, bn},我们首先随机选择一个候选b1作为锚候选,然后将剩余的候选b1对齐,得到n−1对齐{a12, a13,…, a1n}。通过合并n - 1个对齐可以得到所有候选的最终对齐。本文提出的对齐算法的核心包括如何对齐两个候选对齐和如何合并对齐,具体讨论如下:
FastCorrect 2: Fast Error Correction on Multiple Candidates for Automatic Speech Recognition_第1张图片
对齐两个候选句:如上图所示,我们可以计算两个候选对象之间的编辑距离,并以最小编辑距离枚举所有可能的编辑路径(即插入、删除和替换等操作序列)。对于插入和删除操作,添加了一个特殊的令牌“Ø”,表示一个空令牌,它可以帮助从编辑路径获得对齐(例如,上图a中的路径X/Y/Z)。我们通过计算每条路径的标记匹配得分和发音相似度得分来选择最终对齐。具体来说,令牌匹配得分是令牌都相同的位置的数量。路径的发音相似度评分是所有标记对的发音相似度评分之和,定义为其音素序列之间编辑距离的负值。首先选择标记匹配得分最高的路径,然后选择发音相似度得分最高的路径。在选择路径时,由于相同的令牌具有相同的发音,令牌匹配评分比发音相似度评分具有更高的优先级。

合并对齐:对于n−1个对齐{a12, a13,…, a1n},我们可以合并它们,得到所有候选的最终对齐。考虑到锚候选b1中的每个标记都出现在n−1个对齐中,我们可以将b1中的标记视为锚点来合并对齐。如果锚候选b1包含一个空标记,这是在上面的步骤中引入以帮助对齐的标记,这个空标记也将被视为锚标记。

上图b说明了与原始对齐方法(向右填充)相比,所提出的对齐方法的优点。本文的对齐方法可以:

  1. 将相同的标记(“B”、“D”和“F”)对齐到同一位置
  2. 分离出仅出现在一个候选标记(“C”)的额外标记
  3. 尽可能保持标记在同一位置的发音相似度,这有助于修正模型检测错误标记并推断该标记的地面真实发音

FastCorrect 2架构

FastCorrect 2: Fast Error Correction on Multiple Candidates for Automatic Speech Recognition_第2张图片
FastCorrect 2如上图所示。FastCorrect 2的主干是基于FastCorrect(FastCorrect),FastCorrect 2利用一个预测器来预测每个源token的对应的目标token的数量,基于此调整源token并将其送入解码器进行并行生成。本文按照FastCorrect中的算法提取每个源令牌的目标token的数量,并将空令牌“Ø”的目标token数量设为0。

Encoder:由于对齐的候选词在每个位置上的标记匹配得分和发音相似度都很高,因此编码器应该将相同位置上的标记一起处理,以充分利用投票效果。因此,本文在Transformer编码器中添加了一个Pre-Net,它将所有候选的令牌嵌入连接到每个位置,并使用线性层将连接的特征重新塑造为编码器隐藏的大小。

Duration Predictor:虽然候选的对齐长度相同,但不同候选中对应于每个源token的目标token数量仍然不同。因此,直接使用预测器根据包含所有候选者合并信息的编码器输出来预测不同候选者的token数量是次优的。为了确保预测器具有更强的识别力,本文将每个位置上的编码器输出和原始编码器输入(每个候选的输入不同)连接起来,并将其作为预测器的输入。

Candidate Predictor:引入候选预测器,使模型能够选择最容易修正的候选。候选预测器被训练来预测每个候选上的校正损失模型,其标签是解码器输出的交叉熵损失。候选预测器的输入目标token数量预测器相同,是编码器输出和相应的候选嵌入的串联。

Decoder:使用与FastCorrect相同的Transformer解码器架构,它以一个候选的调整过的源token作为输入,并并行生成纠正后的句子。

你可能感兴趣的:(语音识别论文笔记,人工智能,语音识别)