论文部分内容阅读
对话系统是指以人机对话形式提供信息或服务的系统,越来越受到学术界和工业界广泛的关注。目前,对话系统从功能上可以大致分为四大类:任务型对话系统、闲聊型对话系统、知识问答系统以及推荐系统。本文重点研究任务型对话系统,它能够帮助人们完成一些垂直领域的服务,例如查话费、酒店预订和订机票等,具有很高的理论意义和实用价值。近年来,任务型对话系统的研究主要分为两个流派:流水线任务型对话系统和端到端任务型对话系统。其中流水线任务型对话系统主要由对话语言理解模块、对话状态跟踪模块、对话策略学习模块和自然语言生成模块组成,并需要通过各个子模块协同工作一起生成对话系统回复。而端到端任务型对话系统则可以直接通过一个统一的序列到序列模型生成对话系统的回复。对话语言理解模块为流水线任务型对话系统中的第一个组件,它主要负责提取用户的语义表示,并为后续模块生成最终系统回复提供基础,因此它是流水线任务型对话系统中最核心的模块之一。随着深度学习和预训练模型的发展,不管是流水线系统还是端到端任务型对话系统都取得了突飞猛进的发展。然而在真实应用中,它们仍然面临着一个巨大的挑战:数据稀缺。现有的对话模型依赖大量高质量的标注数据进行训练,导致难以泛化到数据稀缺的场景。同时,不同于其它传统的自然语言处理任务,对话领域的数据标注往往需要专家的大量先验知识,进一步增加了大规模的任务型对话系统标注数据获得的难度。而且,在真实应用中,当对话系统扩展到不同的任务、不同的语言与不同的领域的时候,都会面临数据稀缺的问题。于是,如何在数据稀缺的低资源场景中构建性能良好的的任务型对话系统中是一个非常有价值的研究课题。为此,本文探索了迁移学习在任务型对话系统中的应用:即利用迁移学习技术实现从数据充足的源端迁移知识到数据不足的目标端来缓解任务型对话系统中数据稀缺的问题。具体来说,本文以流水线任务型对话系统中的对话语言理解模块和端到端任务型对话系统为切入点,分别从跨任务,跨领域,跨语言迁移进行了详细研究:1.(跨任务迁移)基于堆栈传播的跨任务对话语言理解:针对现有跨任务对话语言理解模型对意图识别和槽位填充任务进行隐式联合建模而导致的意图信息迁移不充分问题,本文提出一个基于堆栈传播的跨任务对话语言理解框架。具体而言,本文首先提出一个堆栈传播框架来显式引入意图信息。同时,为了缓解意图信息引入导致的错误级联问题,本文进一步提出单词级别的意图识别,能够为每个单词提供单词级别的意图信息。本文提出的框架不仅在标准数据集上取得了当时的最优性能,也提高了对话语言理解联合模型的可解释性。并且,当在数据特别稀缺的场景中(5%的训练数据),基于堆栈传播的框架能够大幅度超越前人工作的性能(19.8%的提升),极大的缓解了跨任务中数据不足的问题。2.(跨任务迁移)基于协同交互Transformer的跨任务对话语言理解:针对现有对话语言理解模型仅建模从意图信息到槽位填充的信息迁移的局限,本文提出了一种协同交互Transformer的框架来考虑意图识别和槽位之间的相互影响。不同于传统Transformer中的自注意机制,本文提出了一个协同交互注意力模块,从而能在两个相关任务之间建立双向连接。并且,本文进一步改进了前馈神经网络层来更好地融合两个任务的交互。本文提出的双向交互模型能够在低资源场景下(5%的训练数据)取得超越前人单向交互模型26.7%的性能,极大地缓解了对话语言理解任务中真实部署中的冷启动问题。3.(跨语言迁移)基于编码转换与对比学习的跨语言对话语言理解:针对现有对话语言理解模块在跨语言场景下的弱泛化性,本文首先提出基于编码转换的跨语言对话语言理解框架,能够通过在编码转换的数据上微调预训练语言模型来隐式对齐多语言预训练模型在不同语言上的表示空间。并且,本文进一步提出对比学习来显式对齐不同语言上的表示。具体而言,对比学习可以显式拉近同一句子在不同语言上的表示(正例),推远不同句子在不同语言上的表示(负例)。本文提出的框架在不需要目标语言数据的零样本跨语言对话语言理解任务上取得了当时的最优性能,极大地促进了任务型对话系统的全球化发展。4.(跨领域迁移)基于动态聚合网络的跨领域端到端任务型对话系统:针对现有端到端任务型对话系统难以泛化到一些低资源新领域的问题,本文提出一个基于动态聚合网络的跨领域端到端任务型对话系统,该网络不仅能够显式融合领域共享和领域私有的特征,还能自动学习不同领域的相关性用以捕获不同领域之间的细粒度关系。本文提出的模型能够取得当时最优的性能。当在数据特别稀缺的场景(5%的训练数据),本文提出的模型能够获得优于前人最佳模型13.9%的性能,极大地提高了模型在跨领域场景的泛化能力。综上所述,本文针对任务型对话系统中标注数据不足的问题,以流水线任型对话系统中的对话语言理解和端到端任务型对话系统为切入点,深入研究了跨任务迁移、跨领域迁移和跨语言迁移三种迁移技术,显著缓解了数据稀缺问题,以及提高了模型在跨任务,跨语言以及跨领域场景下的泛化能力。