多任务语言模型:用NLU标注提升ASR重评分

3 阅读5分钟

利用NLU标签改进ASR重评分模型

通过对自动语音识别(ASR)的假设进行重评分的二阶语言模型,能够从自然语言理解(NLU)任务的多任务训练中受益。

当用户与语音助手(如Alexa)对话时,通常,一个自动语音识别(ASR)模型会将语音转换为文本。随后,一个自然语言理解(NLU)模型会解释这段文本,为助手提供其可以执行的结构化数据。

传统上,ASR系统是流水线式的,包含独立的声学模型、词典和语言模型。语言模型编码了词序列的概率,这些概率可用于在声学信号的不同解读之间做出决策。由于其训练数据包含公开文本,语言模型为大量词汇编码了概率。

端到端的ASR模型以声学信号为输入并直接输出词序列,它们更加紧凑,且整体性能与旧的流水线系统相当。但它们通常在由音频-文本对组成的有限数据上进行训练,因此有时在处理罕见词时会遇到困难。

解决这个问题的标准方法是使用一个独立的语言模型对端到端模型的输出进行重评分。例如,如果端到端模型在设备上运行,语言模型可能在云端对其输出进行重评分。

在今年的自动语音识别与理解研讨会(ASRU)上,我们发表了一篇论文,提出不仅要在标准的语言模型目标(计算词序列概率)上训练重评分模型,还要在NLU模型执行的任务上进行训练。

其理念是,添加通常有标注训练数据的NLU任务,可以帮助语言模型吸收更多知识,这将有助于识别罕见词。在实验中,我们发现,与以传统方式训练的重评分语言模型相比,这种方法能将语言模型对罕见词的错误率降低约3%;与完全不使用重评分的模型相比,则能降低约5%。

此外,我们通过在纯语言模型目标上预训练重评分模型,然后使用较小的NLU数据集在组合目标上对其进行微调,获得了最佳结果。这使得我们能够利用大量无标注数据,同时仍然获得多任务学习的好处。

多任务训练

我们的端到端ASR模型是一个循环神经网络-换能器(RNN-T),这是一种按顺序处理输入的网络类型。其输出是一组根据概率排序的文本假设。

通常,一个NLU模型执行两个主要功能:意图分类和槽位标记。例如,如果用户说“播放达琳·洛芙的《圣诞节》”,意图可能是“播放音乐”,而槽位“歌曲名”和“艺术家名”将分别取值“圣诞节”和“达琳·洛芙”。

语言模型通常训练于根据前面的词来预测序列中下一个词的任务。模型学习将输入词表示为固定长度的向量(即嵌入),这些嵌入捕捉了进行准确预测所需的信息。

在我们的多任务训练方案中,同一个嵌入被用于意图检测、槽位填充和预测词序列中下一个词的任务。

我们将语言模型嵌入输入到两个额外的子网络中:一个意图检测网络和一个槽位填充网络。在训练期间,模型学习生成针对所有三个任务(词预测、意图检测和槽位填充)都进行了优化的嵌入。

在运行时,不调用意图检测和槽位填充的额外子网络。对ASR模型文本假设的重评分,是基于从词预测任务计算出的句子概率分数(下图中称为“LM分数”)。

在训练期间,我们必须同时优化三个目标,这意味着需要为每个目标分配一个权重,指示相对于其他目标应强调的程度。

我们试验了两种分配权重的技术。一种是线性方法,我们将NLU目标的权重从零开始,然后逐步增加。另一种是随机权重多数算法,其中每个目标的权重根据特定的概率分布随机分配。该分布在训练期间根据性能进行调整。在我们的实验中,这种方法比线性方法效果更好。

我们的方法所展现的增益(相对于基于普通语言模型构建的重评分模型,罕见词的词错误率降低了2.6%)虽然不算巨大,但确实证明了我们方法的有效性。在正在进行的工作中,我们正在探索更多方法来进一步降低错误率。

例如,我们可以将NLU分类结果作为解码器的显式输入,而不仅仅是训练编码器的目标。或者,我们可以利用意图分类来动态调整重评分结果。我们也在探索半监督训练技术,即使用更大的自动标注语料库来扩充用于训练NLU子网络的标注数据。FINISHED