论文部分内容阅读
人机对话旨在使人们可以使用自然语言与机器进行交互,以方便、快捷的方式获得自动信息服务。作为人机对话系统的重要组成部分,对话状态追踪(Dialog State Tracking,DST)表示和更新对话过程中的系统状态,是产生对话策略的基础,其更新正确与否直接关系到动作生成的性能,进而影响整个对话系统的性能。因此,为实现高质量的人机对话系统,对话状态追踪的研究具有重要意义。传统的DST在自然语言理解(Natural Language Understanding,NLU)结果的基础上进行,NLU的错误会在DST中扩散,因此近年来的DST研究直接基于词汇输入联合建模NLU和DST任务,并取得了不少进展,但也存在一些重要问题,其中数据稀疏和未知槽值是两个具有重要影响的问题。本文主要针对这两个问题,在综合分析已有相关研究现状的基础上,开展了一系列的工作,主要内容包括:针对数据稀疏问题,提出了一种级联神经网络(Cascaded Neural Network,CaNN)模型进行对话状态的更新,模型具有两层结构,底层采用长短期记忆(Long Short Term Memory,LSTM)网络或者卷积神经网络(Convolutional Neural Network,CNN)获得低维句子表示,上层采用LSTM在低维句子表示的基础上融合对话历史信息进行对话状态追踪。在公开数据集上的实验结果表明,多种组合方式的模型均取得了比现有模型更好的性能,在“joint”准确率上分别比现有最佳模型提升了2.3%、1.75%、4.5%、5.2%。模型获得的对话状态表示比其他的以词的n-gram为输入的模型所获得的对话状态表示具有更好的聚集紧密度,有效缓解了数据稀疏的问题。针对未知槽值问题,在CaNN模型基础上提出了两个模型:其一是带未知槽值检测器的级联神经网络(Cascaded Neural Network with Unknown Slot Value Detector,USVD-CaNN)模型,在CaNN模型的基础上结合了一个未知槽值分类器,模型采用拟样本进行分类器的训练,使模型能处理未知槽值问题。实验结果表明,所提出的USVD-CaNN 模型在 DSTC3(Dialog State Tracking Challenge)、DSTC2-food、WOZ-food(Wizard of Oz)数据集上分别提升了 6.1 1%、6.56%、13.27%,模型在保障已知槽值性能的基础上,能够有效地缓解对话状态追踪中的未知槽值问题,进而很大程度上提高了具有未知槽值问题的对话状态追踪的准确率,这说明提出的USVD-CaNN模型在处理具有未知槽值的对话状态追踪问题上的有效性。但是,为处理未知槽值问题,USVD-CaNN模型额外增加了未知槽值分类器,不够直接,拟样本减小了训练数据集的规模,对已知槽值的性能会产生影响,而且拟样本会受限于训练集的规模,不够灵活。其二是带未知类别的级联神经网络(Cascaded Neural Network with Unknown Class,UC-CaNN)模型,模型直接设计了未知槽值类,将发现未知槽值的功能集成在CaNN模型中,无需设计单独的未知槽值检测器。同时,利用共享上下文通过负采样的方法为已知槽值构造负样本,负样本与原训练集一起训练模型参数,使UC-CaNN模型具有的潜在发现未知槽值的能力被激发,进而能处理未知槽值问题。实验结果表明,UC-CaNN模型取得了很好的性能,在DSTC3、DSTC2-food、WOZ-food数据集上分别提升了 5.36%、5.29%、3.95%,特别是,模型所具有的处理未知槽值的能力很大程度上提高了对话状态追踪的准确率。与USVD-CaNN模型相比,该方法可以更为直接地缓解对话状态追踪中的未知槽值问题,模型计算上也更为简单。而且,通过对实验结果的分析,可以发现,负采样的方法对已知槽值的性能造成的影响更小,也更具灵活性。最后,将本文提出的对话状态追踪模型应用到了餐馆查询人机对话系统中,实现了面向餐馆查询的人机对话演示系统的对话状态追踪部分。通过对餐馆查询人机对话系统的功能演示,在实际应用中检验了本文提出的级联神经网络模型、带未知槽值检测器的级联神经网络模型、带未知类别的级联神经网络模型在任务型人机对话系统中应用的可行性。