开放领域聊天机器人是人工智能研究的一个重要领域。近日谷歌一篇博客介绍了团队在该领域的最新研究进展 —— Meena 机器人。
现在的对话智能体(即聊天机器人)都是非常专业化的,如果用户不偏离场景太远的话,这些机器人的表现还是很不错的。但是,要想让聊天机器人能够完成更广泛话题下的对话任务,发展开放领域聊天机器人就显得很重要了。
开放领域聊天机器人不会仅限于在某个特定领域,而是能够和用户聊近乎所有的话题。这一研究不仅具有学术价值,还可以激发很多有趣的应用,如更深层次的人机交互、提升外语训练的效果,或用于制作交互式电影和游戏角色。
但是,现在的开放领域聊天机器人有一个严重的缺陷 —— 它们产生的对话内容往往没什么意义。要么它们的对话和当前的内容没什么连贯性,或者对现实世界没有常识和基本知识。此外,它们对于当前的语境往往给不出特定的回复。例如,「我不知道」确实是一个可以回答任何问题的答复,但是不够详细。现在的聊天机器人产生这种回复的频率比人类要高很多,因为这种回复可以覆盖很多可能的用户输入。
为了解决这些问题,谷歌的研究者提出了一个新的聊天机器人,名为 Meena。这是一个有着 26 亿参数的端到端神经对话模型,也就是 GPT-2 模型最大版本(15 亿参数)的 1.7 倍。通过实验可以看到,Meena 比现有的 SOTA 聊天机器人能够更好地完成对话,对话内容显得更为具体、清楚。
在测评中,谷歌采用了他们新提出的人类评价指标,名为「Sensibleness and Specificity Average (SSA)」。这个指标能够捕捉基本但对于人类对话重要的属性。值得注意的是,研究者同时还发现,困惑度 —— 一个很容易在各种神经对话模型中实现的计算指标,和 SSA 有着高度的相关性。

Meena 是一个端到端的神经对话模型,可以学习如何对给定的对话上下文做出响应。训练 Meena 的目标是最大程度地减少困惑度,以及预测下一个标记(在这种情况下为对话中的下一个单词)的不确定性。
其核心为 Evolved Transformer seq2seq 架构,也就是通过进化神经架构搜索发现的一种 Transformer 体系结构,可以改善困惑度。
Meena 由一个 Evolved Transformer 编码器和 13 个 Evolved Transformer 解码器组成,如下图所示。编码器用于处理对话语境,帮助 Meena 理解对话中已经说过的内容。解码器则利用这些信息生成实际的回复。通过超参数调整后,研究者发现性能更强的解码器是实现高质量对话的关键。

用于训练的对话语料以树状脉络形式组织起来,每个回复可以被认为是一轮对话。研究者将每轮对话抽取作为训练样本,而该轮之前的 7 轮对话作为语境信息,构成一组数据。选择 7 轮对话作为语境是因为它既能够获得足够长的语境信息,也还能够让模型在内存限制下进行训练。毕竟文本越长,内存占用就越大。
据博客介绍,Meena 在 341 GB 的文本上进行了训练,这些文本是从公共领域社交媒体对话上过滤得到的,和 GPT-2 相比,数据量是后者的 8.5 倍。