笔记整理 |韩振峰,天津大学硕士。
链接://index.php/AAAI/article/view/6474
动机
之前有关开放域对话生成的神经模型没有有效的机制来管理聊天主题,并且往往会生成不连贯的对话。受到人与人对话策略的启发,本文将多轮开放域对话生成任务分为两个子任务:明确的目标(有关主题的聊天)序列规划和通过主题阐述的目标补全。为此,本文提出了一个三层的基于知识的分层强化学习模型(KnowHRL)。对于第一个子任务,上层策略学习如何遍历知识图谱,从而规划一个高层次的目标序列,以便在对话连贯性和用户兴趣的主题一致性之间取得良好的平衡。对于第二个子任务,中层策略和下层策略协同工作,使用目标驱动的生成机制就单个主题进行深入的多轮对话。目标序列规划的能力使得聊天机器人可以针对推荐主题进行主动的开放域对话,这种类型的对话具有很多实际的应用。
亮点
KnowHRL的亮点主要包括:
(1)本文首次尝试将多轮开放域对话生成任务分为两个子任务:目标序列规划和基于对话阐述的目标补全。
(2)在知识图谱的帮助下,本文提出精确、可解释的对话状态和用于策略学习的行为。这有两种优点:一是能够很方便地设计与目标相关的奖励来优化目标和方面的规划;二是使用目标和方面的信息来知道生成更连贯和更具信息的回复。
(3)实验表明模型在用户兴趣的一致性、对话连贯性和知识准确性等方面很有效。
概念及模型
KnowHRL有三个层级策略,且能够分为两个子任务:目标序列规划和基于主题阐述的目标补全。目标序列规划:上层策略学习如何遍历知识图谱来规划目标序列,并且需要在对话连贯性和用户兴趣一致性之间取得平衡。基于主题阐述的目标补全:中层策略从当前目标节点的一跳邻居中选择一个作为主题方面;下层策略使用给定的目标和主题方面中的一个来指导下层策略生成一个深入的多轮对话。
模型整体框架如下:
State
状态S由对话历史g、主题方面历史f、上下文语句u和特殊符号ut组成。其中ut表示是否在上一个语句中提到了一个新的话题,是则ut=1,否则ut=0;u定义为之前对话中的两个语句。
三层策略分别有不同的行为空间,上层使用当前目标节点的所有邻居节点和用户提及的所有主题所谓行为空间;中层使用当前目标节点的所有邻居节点并删去其中已经在之前的对话中被提到的节点;下层回复向量的集合作为行为,每一个向量代表一种生成回复的方式。
Policy
本文使用分层策略,共分为三层,每层策略的定义如下:
上层策略:
中层策略:
下层策略:
Multi-mapping generator
此模块使用的现有的模型,如上图所示,其中:
损失函数:
Rewards
为三层策略分别设计了不同的奖励因素,其中上层策略包括:目标序列的连贯性、用户兴趣的一致性、多样性、可持续性、来自中层策略的目标补全信息。中层策略包括:主题方面连贯性、来自下层的奖励。下层策略包括:语句相关性、语句的信息量、主题方面补全。
实验
本文使用公开的知识驱动的对话数据集DuConv来预训练多映射生成器、基准模型和用户模拟器,并且此数据集提供了一个电影和名人领域的知识图谱。本文使用2个基线对比算法,CCM和CCM+LaRL。本文使用人工在Session-level和Turn-level两个纬度对模型进行了评价。
Session-level
从主题内一致性(Intra.)、主题间一致性(Inter.)、独特性(Dist-2)、知识准确性(K.A.)和用户兴趣一致性(Cons.)等方面对模型在Session-level的表现进行评价。表2和表3分别为模型在与用户模拟器和真实用户聊天时的得分,可以看出KnowHRL在5个指标上均达到最好的效果。
Turn-level
从合理性(Appr.)、信息量(Info.)量方面对模型在Turn-level的表现进行评价。表4可以看出KnowHRL在2个指标上均达到最好的效果。
总结
本文将多轮开放域对话生成任务分为两个子任务:目标序列规划和通过主题阐述的目标补全,并提出了基于知识的分层强化学习模型(KnowHRL)来展示在知识图谱上的层级目标规划如何进行聊天主题管理和回复生成。实验结果证明了KnowHRL在对话连贯性、用户兴趣一致性和知识准确性等方面达到最好的效果。
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 网站。