《A Persona-Based Neural Conversation Model》论文阅读

发表于2016年,解决角色一致性问题。
关键词:speaker consistency, persona-based,generative model

Abstract & Conclusion

做了什么
针对开放域对话生成,提出了两个 persona-based 回复生成模型,来处理生成模型中的 speaker consistency 问题

  • A speaker model 以 distributed embeddings 方式对 personas 进行编码,这些 embeddings 捕获单个特征,eg.背景信息和说话风格。
  • A dyadic speaker-addressee model 捕获两个对话者之间交互属性。

未来展望
speaker behavior 有很多维度,如 mood 和 emotion,这篇文章都没有涉及,未来可以做。

效果
模型在基线 seq2seq 模型上的PPLBLEU得分均获得了定性的提升,而在人类评估中在 speaker consistency 方面也获得了提升。

讨论
作者的最终目标是能够掌握事先不知道其身份的任意个人的形象,并进行对话,以在语言反应行为和其他显着特征方面准确地模仿该人。(既能够在对话中对对话对象进行建模?)这种功能将极大地改变我们与各种对话 agent 进行交互的方式,从而为用户界面开辟了丰富的新可能性。 如果有足够大的训练语料库,其中包含足够丰富的说话者,这个目标就有可能实现。

阅读中的问题

  1. speaker consistency 的具体含义?


    多轮对话回复不一致问题.png
  2. distributed embeddings 的含义,怎么操作?
  3. 如何捕获对话者的交互属性?交互属性是什么?

1 Introduction

2 Related Work

3 Seq2seq Models

4 Personalized Response Generation

4.1 Notation

输入 X = \lbrace{x_1, x_2,..., x_{nx}}\rbrace
LSTM,每个时间步有 input gate i_t,memory gate f_t,output gate o_t
e_t:每个时间步 t 处的单个文本单元(a word or sentence)
h_t:时间 t 由 LSTM 结合 e_th_{t-1} 计算出的向量
c_t:时间 t 的 cell state vector
\sigma:sigmoid 函数

4.2 Speaker Model

Speaker model 仅对 respondent 进行建模。该模型将每个 speaker 表示为 vector 或 embedding,影响 speaker 讲话内容和回复风格。

这些属性显式标注十分昂贵。 所以模型根据回复聚类产生这些属性,eg. dialect, register, age, gender, personal information。

如 Figure 1所示,每一个 speaker i∈ [1, N]和一个用户级别的表示v_i∈\Bbb{R}^{K×1}相关,其在 decode 时和 h_{t-1}, e_t^s一起作为输入。
\left[ \begin{matrix} i_t \\ f_t \\ o_t \\ l_t \end{matrix} \right] = \left[ \begin{matrix} \sigma \\ \sigma \\ \sigma \\ \tanh \end{matrix} \right] W\cdot \left[ \begin{matrix} h_{t-1} \\ e_t^s \\ v_i \end{matrix} \right]
c_t=f_t \cdot c_{t-1}+i_t \cdot l_t
h_t^s=o_t \cdot tanh(c_t)
W∈\Bbb{R}^{4K×3K}

speaker 信息以这种方式在每一个时间步被编码和注入隐层,以通过生成过程来预测个性化回复。speaker embedding\lbrace v_i \rbrace在涉及speaker i 的所有对话间共享。通过在训练过程中将单词预测错误后向传播到每个神经元来学习\lbrace v_i \rbrace

该模型的另一个有用特性是,即使证据不容易出现在训练集中,它也可以帮助推断问题的答案。这很重要,因为训练数据不包含有关每个用户的每个属性(例如性别,年龄,居住国家/地区)的明确信息。该模型基于不同说话者产生的对话内容来学习说话者表示,并且产生类似响应的说话者倾向于具有相似的嵌入,并占据向量空间中的附近位置。这样,向量空间附近说话者的训练数据有助于提高说话者模型的泛化能力。例如,考虑两个发言者i和j,他们听起来明显是英国人,因此在发言者嵌入空间中很近。现在,假设在训练数据中,有人问我我住在哪里?并在英国做出回应。即使从未向发言者j询问相同的问题,此答案也可以帮助影响发言者j的良好反应,而这无需明确标记地理位置信息。

Figure 1: Speaker model

图1:Embedding space 中封闭的说话者倾向于以相同的方式响应。这些 speaker embeddings 是单词嵌入和通过反向传播习得的神经模型的所有其他参数共同学习的。 上图中,假设 Rob 聚集了很多在训练数据中经常提到英格兰的人,那么在时间 t = 2 时生成“英国”的可能性要比“美国”大得多。如果在所有 speaker 的训练数据中“美国”出现更多,那么 non-persona 模型更容易生成“美国”。

4.3 Speaker-Addressee Model

人在交谈时说话方式风格等往往会随着交谈对象而变化。比如作者举了在经典美剧《Friends》中Ross对Monica和Rachel对话时措辞和内容会不太一样。
作者利用每个 speaker 的 embedding,通过一个前馈的神经网络,学习两个speaker之间的关系,并得到一个表征关系的embedding。此模型思想与前一模型一致,上一个模型只考虑一个 speaker,此模型考虑了 speaker 双方。用V_{i,j}表示 speaker i 和 j 之间的关系。
\left[ \begin{matrix} i_t \\ f_t \\ o_t \\ l_t \end{matrix} \right] = \left[ \begin{matrix} \sigma \\ \sigma \\ \sigma \\ \tanh \end{matrix} \right] W\cdot \left[ \begin{matrix} h_{t-1} \\ e_t^s \\ V_{i,j} \\ \end{matrix} \right]
V_{i,j} = tanh(W_1 \cdot v_1+W_2 \cdot v_2)

4.4 Decoding and Reranking

解码时,生成 beam size B = 200 的 N-best 列表。本文选取20个生成候选。
seq2seq模型容易生成安全回复,如 I don't know。本文采用 Li(2016)等人的方法,使用 scoring function 重排序生成的 N-best 列表,该 scoring function 将 a length penalty 和给定目标的源的对数似然线性组合:
log p(R|M,v)+\lambda{logp(M|R)}+\gamma{|R|}

其中log p(R|M,v)表示给定信息 M 和 speaker 信息 v 所产生的回复的概率。|R|表示 target 的长度,\gamma表示相关的惩罚权重。
通过优化BLEU,我们使用MERT(Och,2003)从 development set 生成的 N-best 回复候选列表上优化了\gamma\lambda。 为了计算p(M | R),我们通过交换messages和responses来训练一个 inverse SEQ2SEQ模型。 我们针对p(M|R)训练了标准SEQ2SEQ模型,而没有考虑说话者信息。

5 Datasets

Twitter Persona Dataset
Twitter Sordoni Dataset
Television Series Transcripts

6 Experiments

训练的判断方式:
BELU, perplexity
效果:improve relative performance up to 20% in BLEU score and 12% in perplexity

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容