跨语言迁移学习在多语言语音助手中的应用
在实验中,多语言模型的表现优于单语言模型。
多语言模型架构
对于语音助手来说,扩展到新语言传统上意味着从头开始训练新的自然语言理解模型,这种方法的扩展性不佳。另一种方法是训练多语言模型——一个能够同时处理多种语言的单一模型:支持一个大型模型比支持多个小型模型需要更少的精力,而且多语言模型允许用户混合使用不同语言提出请求,这更符合我们对21世纪人工智能的期望。
在我们上个月在国际计算语言学会议上发表的论文中,我们研究了使用迁移学习和数据混合来训练多语言模型的方法。结果表明,所得到模型的性能与当前生产中使用的单语言模型相当或更好。
多语言建模在过去几年已成为热门话题,特别关注将从一个语言的大规模语料库训练的知识转移到其他语言的小数据量模型上。这个问题被称为低资源跨语言迁移学习。在我们的论文中,我们还实验了从高资源到高资源的迁移,以模拟现实世界的情况。
单语言模型使用不同语言的数据进行训练,但除此之外,它们通常具有相同的架构。由此可见,通过使用相同的模型架构,我们应该能够训练一个由多种语言数据馈送的通用多语言模型。
槽填充和意图分类模型架构
语音助手的自然语言理解模型首先被训练来识别话语领域,如音乐、天气等。然后训练单独的模型来执行领域特定的意图分类和槽填充任务。
例如,如果请求是"播放Lady Gaga的《Bad Romance》",意图将是"播放音乐",而为了完成此请求,系统需要捕获槽和槽值{歌曲名称=Bad Romance}和{艺术家名称=Lady Gaga}。
在我们的实验中,领域分类模型是一个最大熵逻辑回归模型。对于意图分类和槽填充,我们构建了一个多任务深度神经网络模型。
我们首先将输入标记映射到共享空间词嵌入中,然后将它们馈送到双向长短时记忆编码器中以获取上下文信息。这些内容随后传播到下游任务,使用条件随机场进行槽填充,使用多层感知器进行意图分类。
知识转移和结果
我们使用四种语言的数据训练模型,包括三种相对密切相关的语言:英国英语、西班牙语和意大利语。第四种语言是印地语,这是一种低资源语言,在词汇和语法上与其他三种语言不同。
在我们的迁移学习实验中,我们将不同的信息块——嵌入、编码器和解码器权重——从英语训练的模型转移到将英语与其他三种语言各自结合的多语言模型中。我们还实验了数据混合,训练一个英语和西班牙语的模型,另一个英语和意大利语的模型,并将它们分别转移到包括意大利语和西班牙语的多语言模型中。
迁移后,我们在数据集中的所有四种语言数据上对每个模型进行微调。
我们根据四个指标评估模型:领域分类任务的领域准确率;意图分类任务的意图准确率;槽填充的微平均槽F1;以及帧准确率,即正确识别领域、意图和所有槽的话语的相对数量。
对于每个多语言模型,我们将其在每种语言上的性能与相同语言的最先进单语言模型进行比较。基线模型使用最大熵模型而不是深度神经网络作为编码器。
所有性能指标都显示出相似的模式:多语言深度神经网络模型通常比单语言模型表现更好。最佳结果来自将编码器权重从源模型转移到目标模型,帧准确率平均提高约1%。额外转移解码器权重会略微降低性能,尽管所得模型仍然优于基线。
源模型训练期间的数据混合确实提高了性能,但只是略微提高。
有趣的是,帧准确率的最大改进——约1.2%——来自将模型转移到印地语。这可能是因为印地语的基线模型是在低资源数据集上训练的。多语言模型可能从其他语言学习到单语言模型无法仅从印地语数据集中提取的一般语言信息。