摘要
人机对话系统作为近年来较为热门的研究领域,可以大致分为任务型对话系统和闲聊系统这两类。当前基于大规模语言模型训练的闲聊系统具有极其出色的自然语言生成和理解能力,能够与人类进行流畅、连贯的对话,尤其是近期展现的多模态对话能力更是将其推向了一个新的高度。而任务型对话系统通常是为了完成特定任务而设计的,例如预约座位、查询机票等,需要进行特定领域的知识建模和任务导向的对话管理。目前,任务型对话系统依然有许多挑战需要攻克。对话状态追踪是任务型对话系统的关键一环,为整个人机对话过程记录和更新对话状态。对话状态可以看作整个对话话语的核心目标,一般表示为槽值对的结构化数据,且可以看作整个对话的紧凑表示,因此对话状态追踪的性能关系着整个对话系统能否良好的进行人机交互。本文首先对任务型对话系统中的对话状态追踪进行研究,针对其中存在的数据难以收集,标注成本高造成的数据稀缺问题、域槽对之间依赖关系不明确的问题,提出方法进行改进。随后基于Rasa开源对话框架开发文本对话系统,再结合语音识别、语音合成以及机器翻译共同搭建语音对话系统。具体而言,本文的主要工作如下: (1)本文针对数据稀缺问题,提出了一种无监督对比学习方法对预训练语言模型的嵌入表示进行微调,获取用于对话状态追踪任务的高质量语义表示,以缓解数据稀缺问题,提高模型性能。首先利用无监督对比学习方法在对话状态追踪数据集上微调预训练语言模型,结合本文提出的用于对话状态追踪任务的验证方法,使预训练语言模型输出的嵌入表示能更贴合对话状态追踪任务。随后用微调的预训练语言模型替换掉原始模型,并在不同的对话状态追踪模型上进行验证。实验结果显示,这种方法能有效的提高对话状态追踪模型的联合目标精度,不同类型的模型均可受到不同幅度的增益,其中基于分类的模型增益最大。 (2)为了更好的构建域槽对之间的显式依赖关系,本文提出了一种基于图神经网络和动态领域选择的对话状态追踪方法。首先利用Transformer在图神经网络上的应用,引入到对话状态追踪任务中来构建域槽对之间的显式关系;其次加入一个额外的多标签多分类任务,预测每个输入序列所涉及的领域,并使用预测的领域信息对图神经网络输出的特征进行动态选择,过滤掉与当前输入序列无关的图关系,减少冗余连接的影响。实验结果表明,这种方法有效的构建了域槽对之间的显式关系,并且动态选择的图结构更准确的输出序列感知的图信息,最终模型的联合目标精度达到了极具竞争力的水平。 (3)针对校园领域内存在的问答和任务型对话场景,本文利用Rasa开源对话框架先开发一套文本对话系统,再融入语音识别、语音合成以及机器翻译模型,并在这些模型上进行设计与改进,支持多语种语音识别、合成以及维吾尔语和汉语双向翻译,进一步搭建出多语种语音对话系统,并且该系统还接入闲聊模型,以应对领域外的问题。最后将系统部署到Android端,设计简洁高效的前端界面,减少用户学习成本的同时进一步提高用户体验。 总而言之,本文首先对任务型对话系统中的对话状态追踪方向存在的数据稀缺问题、域槽对关系问题展开了研究,提出了不同的方法加以改进。然后基于Rasa开源对话框架构建文本对话系统,再结合语音识别、合成以及机器翻译模型共同构建完整的语音对话系统,并对其中的组件进行了优化改进,最终部署在Android端手机应用。