论文部分内容阅读
随着信息技术的进步,以及人工智能的快速发展,人们可以随时随地方便地享受科学技术带给生活的便捷服务,同时人们对个性化的服务要求也越来越高。人们更加希望以一种较为自然的方式实现人机交互。人机口语对话系统(Spoken Dialogue System)的目标就是让人可以通过自然语言的方式与计算机进行交互。传统的人机对话系统一般采用管道模型,可将系统划分为三个子任务:自然语言理解(Natural Language Understanding,NLU)、对话管理(Dialogue Management,DM)以及自然语言生成(Natural Language Generation,NLG)。这种分而治之的方法保证每个子任务独立建模,简单易于实现,但同时也存在下述两个主要问题:一是三个子任务是强依赖关系,前面模块中的错误可能导致后面的所有处理流程都出现错误;二是这三个子任务的定义一般都跟领域相关,模型的设计也往往根据特定任务确定,导致领域移植性差。与管道模型相对应的一种方案是采用端到端框架,直接针对用户输入的文本对话输出一句相应的应答。这种端到端框架大多采用编解码模型,先对输入的用户对话进行编码,然后再通过解码器生成机器应答并返回给用户。现有端到端人机对话系统多集中于构建开放领域的闲聊机器人,由于缺少对用户意图的有效建模,及缺少领域知识使得其很难解决面向任务型人机对话系统中的重要问题。针对上述问题,本论文研究如何构建一个端到端的任务型人机口语对话系统。具体来说,采用端到端的框架,直接针对用户输入的文本对话输出一句相应的应答,并基于此设计和实现一个跟领域和任务相关的对话系统,要求该对话系统能围绕用户的特定需求,完成基于自然语言的交互,进而完成与用户进行交互的目的。具体地,本论文研究一种层次化编解码模型,通过引入离散的隐变量来对用户的意图进行建模,并在此基础上加入领域知识库,使得模型产生的应答跟具体任务相关,进一步,为了提升任务型对话的成功率(success rate),引入强化学习并在选用户意图时加入了明确的激励值,从而达到提升对话成功率的目的。论文结合一个具体的餐馆预定的任务场景,设计并实现了一个端到端的任务型人机口语对话系统,在该系统上的评测结果表明,本论文提出的模型在对话成功率、BLEU值以及人工评测的结果上都优于传统的端到端对话系统模型。