@songying
2018-07-09T20:18:25.000000Z
字数 1299
阅读 1920
综述类论文
https://zhuanlan.zhihu.com/p/33300418
对话系统大致可分为两种:(1)任务导向型(task-oriented)对话系统和(2)非任务导向型(non-task-oriented)对话系统(也称为聊天机器人)。
面向任务的系统旨在帮助用户完成实际具体的任务,例如帮助用户找寻商品,预订酒店餐厅等。
非任务导向的对话系统与人类交互,提供合理的回复和娱乐消遣功能,通常情况下主要集中在开放的领域与人交谈。
对于非任务导向型对话系统,目前用的主要是两种主要方法:
- 生成方法,例如序列到序列模型(seq2seq),在对话过程中产生合适的回复,生成型聊天机器人目前是研究界的一个热点,和检索型聊天机器人不同的是,它可以生成一种全新的回复,因此相对更为灵活,但它也有自身的缺点,比如有时候会出现语法错误,或者生成一些没有意义的回复;
- 基于检索的方法,从事先定义好的索引中进行搜索,学习从当前对话中选择回复。检索型方法的缺点在于它过于依赖数据质量,如果选用的数据质量欠佳,那就很有可能前功尽弃。
目前神经生成模型的热门研究课题大概分为以下几个
给定输入序列 , 长度为 的目标序列 , 模型最大化Y在X的条件概率:
Encoder:
使用RNN(一般LSTM)进行语义向量生成:
$$
h_t = f(x_t, h_{t-1})
c = \phi(h_1, \cdots, h_T)
一般情况下, 向量$c$ 通常为RNN中的最后一个隐节点, 或者是多个隐节点的加权和。
Decoder
目标函数定义:
考虑对话的上下文信息的是构建对话系统的关键所在,它可以使对话保持连贯和增进用户体验。
试验证明:(1)层次化 RNNs的表现通常优于非层次化的RNNs;(2)在考虑上下文相关的信息后,神经网络趋向于产生更长的、更有意义和多样性的回复。