基于混合RNN - CNN编码器的神经对话模型研究
1. 引言
当前,自主对话系统作为在线服务(如客户管理)的创新技术,受到了广泛赞誉。其基本功能是针对问题生成令人满意的回复。为实现这一目标,人们开发了多种不同的方法。早期的对话系统主要基于预定义模板,为了涵盖大量不同的问题,需要预定义大量模板。虽然这种方法易于实现,但不足以处理开放性问题,因此数据驱动的方法越来越受到关注。
数据驱动的对话系统可分为基于检索的方法和基于生成模型的方法:
- 基于检索的方法 :核心算法是计算问题句子与候选回复之间的相似度。传统的句子表示方法是词袋模型,近年来,随着深度学习的发展,使用神经网络表示句子成为流行选择,如深度结构化语义模型(DSSM)。然而,当查询不在存储数据集中时,基于检索的方法无法给出合适的回复。
- 基于生成模型的方法 :Ritter等人首先采用翻译模型来解决这一问题,但发现将对话刺激映射到回复比翻译更困难,因为可能的回复范围更广。后来,随着序列到序列(seq2seq)模型的成功,它被广泛用于生成对话回复。不过,现有的神经对话模型往往倾向于生成通用和安全的回复。研究认为,即使RNN编码器能够强大地表示句子,但查询表示不足可能是导致安全回复的一个原因。
为了改善神经对话模型的性能,研究提出了一种混合RNN - CNN编码器(RCNN)来表示查询。在该编码器中,RNN用于获取步骤上下文向量,CNN用于构建全局上下文向量,期望这些向量能更全面地描述问题。
2. 相关工作
给定问题生成回复与机器翻译类似,但前者由于源查询和目标回复之间映射关系的多样性而更