第二遍语言模型通常用于对自动语音识别生成的假设进行重评分。研究表明,通过在训练中融入自然语言理解的目标任务,可以提升这类重评分模型的性能。
在典型的语音交互中,自动语音识别模型先将语音转换为文本,随后自然语言理解模型对文本进行解析,提取出可供执行的结构化信息。传统ASR系统是流水线式的,包含独立的声学模型、词典和语言模型。语言模型编码词序概率,用于在声学信号的不同解释之间做出抉择。由于训练数据包含公开文本,这些语言模型能为大量词汇编码概率。
端到端ASR模型直接接收声学信号并输出词序列,其结构更为紧凑,整体性能可与旧式流水线系统媲美。但它们通常在有限的音频-文本配对数据上训练,因此在处理罕见词时可能遇到困难。标准的解决方案是使用一个独立的语言模型对端到端模型的输出进行重评分。例如,若端到端模型在设备端运行,语言模型可能在云端对其输出进行重评分。
在某中心于自动语音识别与理解研讨会上发表的一篇论文中,提出了一种训练重评分模型的新方法。该方法不仅使用标准的语言模型目标(计算词序列概率),还结合了自然语言理解模型执行的任务进行训练。其理念在于,添加通常有标注训练数据可用的NLU任务,可以帮助语言模型吸收更多知识,从而有助于识别罕见词。实验表明,与常规方式训练的重评分语言模型相比,此方法可将罕见词的语言模型错误率相对降低约3%;与完全没有重评分的模型相比,则相对降低约5%。
此外,最佳结果是通过先仅用语言模型目标对重评分模型进行预训练,然后使用较小的NLU数据集在组合目标上进行微调而获得的。这使我们能够利用大量未标注数据,同时仍能从多任务学习中获益。
使用的端到端ASR模型是一种循环神经网络-传感器,它按顺序处理序列输入。其输出是一组按概率排序的文本假设。通常,NLU模型执行两个主要功能:意图分类和槽位标注。例如,若用户说“播放Darlene Love的‘Christmas’”,意图可能是“播放音乐”,而槽位“歌曲名”和“艺术家名”将分别取值“Christmas”和“Darlene Love”。
语言模型通常在给定前面词语序列的情况下,训练预测下一个词的任务。模型学习将输入词表示为固定长度的向量(嵌入),这些向量捕捉了进行准确预测所需的信息。
在该多任务训练方案中,相同的嵌入被用于意图检测、槽位填充和预测词序列中下一个词的任务。将语言模型的嵌入输入到两个额外的子网络:一个意图检测网络和一个槽位填充网络。在训练过程中,模型学习生成针对所有三个任务(词预测、意图检测和槽位填充)都优化的嵌入。
在运行时,不使用用于意图检测和槽位填充的额外子网络。对ASR模型文本假设的重评分基于从词预测任务计算出的句子概率得分。在训练期间,需要同时优化三个目标,这意味着需要为每个目标分配一个权重,以指示其相对于其他目标的重要性。
实验了两种分配权重的技术。一种是线性方法,开始时将NLU目标的权重设为零,然后逐渐增加。另一种是随机权重多数算法,其中每个目标的权重根据特定的概率分布随机分配,并根据训练过程中的性能调整分布。在实验中,这种方法比线性方法效果更好。
该方法展示的收益(在罕见词上,词错误率相对于基于普通语言模型构建的重评分模型降低了2.6%)虽然不算巨大,但确实证明了该方法的优点。在持续的工作中,正在探索更多方法来进一步降低错误率。例如,可以将NLU分类结果作为解码器的显式输入,而不仅仅是训练编码器的目标。或者,可以使用意图分类来动态偏置重评分结果。同时也在探索半监督训练技术,即用更大的自动标注数据语料库来增强用于训练NLU子网络的标注数据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。