对于语音助手(如某智能助手)而言,要拓展新语言环境,传统方法需要为每种语言从头训练一个自然语言理解模型,这种方法难以规模化扩展。另一种方案是训练一个多语言模型,即一个能同时处理多种语言的单一模型。维护一个大型模型比维护众多小型模型所需的精力更少,并且多语言模型允许用户混合使用不同语言提出请求,这更接近我们对21世纪人工智能的期待。
在发表于国际计算语言学大会的一篇论文中,我们研究了使用迁移学习和数据混合来训练多语言模型。结果表明,该模型性能与目前生产环境中使用的单语言模型相当或更优。
近年来,多语言建模已成为热门话题,尤其关注将从大规模语料库训练的模型知识迁移到小数据量语言的模型上,即低资源跨语言迁移学习。在论文中,我们也进行了高资源到高资源的迁移实验,以模拟真实场景。
单语言模型使用不同语言的数据进行训练,但通常具有相同的架构。因此,使用相同的模型架构,应该能够训练一个由多种语言数据喂养的通用多语言模型。
语音助手的自然语言理解模型首先被训练用于识别话语领域(如音乐、天气等)。然后,训练独立的模型来执行特定领域的意图分类和槽填充任务。例如,若请求是“播放Lady Gaga的‘Bad Romance’”,意图将是“播放音乐”,而为了完成该请求,系统需要捕捉槽位和槽值{歌曲名称 = Bad Romance} 和 {艺术家名称 = Lady Gaga}。
在我们的实验中,领域分类模型是一个最大熵逻辑回归模型。对于意图分类和槽填充,我们构建了一个多任务深度神经网络模型。我们首先将输入令牌映射到共享空间的词嵌入中,然后将其输入到双向长短期记忆编码器以获得上下文信息。此内容随后传播到下游任务,其中条件随机场用于槽填充,多层感知机用于意图分类。
我们使用四种语言的数据训练模型,包括三种相对接近的语言:某中心英语、某中心西班牙语和某中心意大利语。第四种语言是印地语,这是一种低资源语言,且在词汇和语法上与其他三种语言差异显著。
在迁移学习实验中,我们从英语训练的模型向结合了英语与其他三种语言的多语言模型迁移了不同的信息模块(嵌入层、编码器和解码器权重)。我们还尝试了数据混合,即在英语和西班牙语上训练一个模型,在英语和意大利语上训练另一个模型,然后将它们迁移到分别包含意大利语和西班牙语的多语言模型中。
迁移后,我们对每个模型在我们数据集中的所有四种语言数据上进行了微调。
我们根据四个指标评估模型:领域分类的领域准确率、意图分类的意图准确率、槽填充的微平均槽位F1分数以及帧准确率(即领域、意图和所有槽位都被正确识别的相对话语数量)。
对于每个多语言模型,我们将其在每种语言上的性能与针对同一语言的先进单语言模型进行了比较。基线模型使用最大熵模型而非深度神经网络作为编码器。
所有性能指标都显示出相似的模式:多语言深度神经网络模型通常比单语言模型表现更好。最佳结果来自于将源模型的编码器权重迁移到目标模型,帧准确率平均提高了约1%。额外迁移解码器权重会轻微降低性能,尽管结果模型仍优于基线。
在源模型训练期间进行数据混合确实能提高性能,但提升幅度很小。有趣的是,帧准确率的最大提升(约1.2%)来自于向印地语的模型迁移。这可能是因为印地语的基线模型是在低资源数据集上训练的。多语言模型可能从其他语言中学到了单语言模型无法仅从印地语数据集中提取的通用语言信息。FINISHED
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。