Google 开放领域聊天机器人 Meena

开放领域聊天机器人是人工智能研究的一个重要领域。近日谷歌一篇博客介绍了团队在该领域的最新研究进展 —— Meena 机器人

现在的对话智能体(即聊天机器人)都是非常专业化的,如果用户不偏离场景太远的话,这些机器人的表现还是很不错的。但是,要想让聊天机器人能够完成更广泛话题下的对话任务,发展开放领域聊天机器人就显得很重要了。

开放领域聊天机器人不会仅限于在某个特定领域,而是能够和用户聊近乎所有的话题。这一研究不仅具有学术价值,还可以激发很多有趣的应用,如更深层次的人机交互、提升外语训练的效果,或用于制作交互式电影和游戏角色。

但是,现在的开放领域聊天机器人有一个严重的缺陷 —— 它们产生的对话内容往往没什么意义。要么它们的对话和当前的内容没什么连贯性,或者对现实世界没有常识和基本知识。此外,它们对于当前的语境往往给不出特定的回复。例如,「我不知道」确实是一个可以回答任何问题的答复,但是不够详细。现在的聊天机器人产生这种回复的频率比人类要高很多,因为这种回复可以覆盖很多可能的用户输入。

为了解决这些问题,谷歌的研究者提出了一个新的聊天机器人,名为 Meena。这是一个有着 26 亿参数的端到端神经对话模型,也就是 GPT-2 模型最大版本(15 亿参数)的 1.7 倍。通过实验可以看到,Meena 比现有的 SOTA 聊天机器人能够更好地完成对话,对话内容显得更为具体、清楚。

在测评中,谷歌采用了他们新提出的人类评价指标,名为「Sensibleness and Specificity Average (SSA)」。这个指标能够捕捉基本但对于人类对话重要的属性。值得注意的是,研究者同时还发现,困惑度 —— 一个很容易在各种神经对话模型中实现的计算指标,和 SSA 有着高度的相关性。

Meena(左)和人类(右)之间的对话。
Meena(左)和人类(右)之间的对话。

Meena 是一个端到端的神经对话模型,可以学习如何对给定的对话上下文做出响应。训练 Meena 的目标是最大程度地减少困惑度,以及预测下一个标记(在这种情况下为对话中的下一个单词)的不确定性。

其核心为 Evolved Transformer seq2seq 架构,也就是通过进化神经架构搜索发现的一种 Transformer 体系结构,可以改善困惑度。

Meena 由一个 Evolved Transformer 编码器和 13 个 Evolved Transformer 解码器组成,如下图所示。编码器用于处理对话语境,帮助 Meena 理解对话中已经说过的内容。解码器则利用这些信息生成实际的回复。通过超参数调整后,研究者发现性能更强的解码器是实现高质量对话的关键。

Meena 根据七轮对话的语境生成回复。
Meena 根据七轮对话的语境生成回复。

用于训练的对话语料以树状脉络形式组织起来,每个回复可以被认为是一轮对话。研究者将每轮对话抽取作为训练样本,而该轮之前的 7 轮对话作为语境信息,构成一组数据。选择 7 轮对话作为语境是因为它既能够获得足够长的语境信息,也还能够让模型在内存限制下进行训练。毕竟文本越长,内存占用就越大。

据博客介绍,Meena 在 341 GB 的文本上进行了训练,这些文本是从公共领域社交媒体对话上过滤得到的,和 GPT-2 相比,数据量是后者的 8.5 倍。