如今,我们对虚拟语音助手已经十分熟悉。无论是苹果 Siri、亚马逊 Alexa,还是百度小度,阿里巴巴天猫精灵,在提供帮助之余,还经常扮演着被无聊人类调戏的对象。

就在你来我往的博弈之间,语音助手们练就了一身反调戏的本领,甚至还会出其不意,给你惊喜。

但如果把苹果推出 Siri 视为消费级虚拟语音助手诞生元年,算下来迄今已经过了近九年,要说它们没什么长进,恐怕是冤枉了。只不过,跟它们对话似乎总是差点意思。

当然,如果只是指示语音助手设置闹钟,查询天气,它们在绝大多数情况下都能完美实现。然而一旦脱离具体任务,以聊天或咨询为主要目的,因为涉及到对话和交互能力,它们的表现就会一落千丈,经常会出现前言不搭后语的情况,令人沮丧。

为了改善这一问题,Facebook AI 近日就公布了一项最新研究成果:拥有 94 亿参数的开源 AI 聊天机器人 Blender。

Facebook 研究人员声称,Blender 是迄今为止“最先进的”聊天机器人,可以以有趣和连续互动的方式讨论几乎所有内容。在人-人和 Blender-人的对话比较测试中,有 49% 的测试者把 Blender 的对话记录误认为是人和人的对话,67% 的测试者认为 Blender 和人的对话更像是人和人的对话。

“对话有点像 AI 完备问题(AI-Complete),你必须要解决所有 AI 问题才能解决对话。反过来,如果解决了对话问题,所有 AI 问题也就解决了,”Facebook工程师 Stephen Roller 表示。他认为,研究开放式聊天系统将有助于提升虚拟语音助手的交互能力。

有意思的是,今年 1 月底,谷歌 AI 刚给自家的聊天机器人 Meena 冠上了相似称号。当时,为了衡量 Meena 的水平,谷歌研究人员发明了名为感知性和特异性平均值(Sensibleness and Specificity Average,SSA)的评估标准。

该基准给人类真实对话的评分是 86 分,而 Meena 获得了 79 分,位居第二名,并且远胜于 Mitsuku 和微软小冰等同类聊天机器人。“最先进聊天机器人”由此得名。

Facebook AI 在论文中也提到了 Meena,称“由于谷歌没有完全公开 Meena 模型和详细的 SSA 评估标准,因此很难进行 100% 横向比较。”不过,他们还是尽可能地找到了一些解决办法,利用公开资料比较两种模型。

为了让对比更公平,Facebook 使用的是拥有 27 亿参数的 Blender 版本,因为谷歌 Meena 只有 26 亿参数。论文称其对比了人类测试者对两个模型生成的对话的看法,最终有近四分之三的人认为 Blender 的对话更有吸引力和互动性,可以视为是“击败了 Meena”。

对此,谷歌尚未公开回应媒体的置评请求。

94亿参数很强大

Blender 的能力来源于其庞大的训练数据。

它首先使用了 15 亿份 Reddit 论坛对话进行训练,为学习如何在对话中回复对方打下基础。随后它又接受了三种专项技能培训,由额外挑选出来的数据组作为微调(fine-tuning)。

第一项是学习包含某种情感的对话,以表达同理心。例如,如果用户表示自己刚刚升职加薪,那么 Blender 就会回应“恭喜你!”一类的鼓励字眼。

第二项是从电子书或维基百科上学习基础知识,以获取有关 1250 种话题的基本常识。这些知识都经过筛选,确保了真实性。

最后一项培训专注于塑造友善性格和良性谈话氛围,使对话更具互动性,帮助Blender学习如何更积极地了解用户喜好,而且在之后的聊天中一定程度上兼顾这些背景信息。

为了综合这三项技能,研究团队还使用了一套额外数据组,专门帮助 Blender 整合和练习所有技能,希望达到在对话中运用自如的目的。

最终完成的对话模型有三个版本,分别拥有 9 千万、27 亿和 94 亿参数,参数越多,性能越强。相比之下,谷歌 Meena 最多拥有 26 亿参数。

不过,94 亿参数的 Blender 需要至少两块英伟达 32GB V100 GPU 才能运行,27 亿参数版本也至少需要一块 16GB P100 GPU。Facebook 目前没有开放网页版互动界面,因此想在家用电脑上体验 Blender 暂时是不可能了。

从评估结果来看,在人类测试员中,有 75% 的人认为 Blender 比谷歌 Meena 的互动性更强,更具吸引力,还有 67% 的人认为前者更像是人类。另外有 49% 的测试者误以为 Blender 是人类,意味着这些人仅凭聊天记录无法区分 Blender 和人,其真实度和对话质量可见一斑。

难以攻克核心挑战

尽管如此,Blender 仍然存在一些 AI 聊天机器人的通病。举个例子,如果问它 “ 鲁迅说过的名人名言 ”,它可能会给出符合语法却是自己伪造的假名言,或者是张冠李戴,制造出 “ 鲁迅真的没说过 ” 的尴尬现象。

原因在于,除了进行过事实验证的话题之外,AI 终究只是局限于利用单词的统计相关性生成句子,而非知识数据库。这一问题同样存在于 OpenAI 之前公布的文章自动生成模型 GPT-2 中,故意滥用可能会造成误导用户的后果。

此外,在测试中,Blender 参与的对话最多只进行到 14 轮,比通常人和人之间的对话要简短很多。项目负责人 Emily Dinan 指出,模型无法进行过于深入的对话,不然就会出现无意义回应,因为它几回合之后就可能忘记历史信息。

困扰着 Blender 以及任何开放式聊天系统的另一个主要问题是如何阻止其说出带有攻击性的句子。由于训练数据基于真实的互联网用户对话,出现人身攻击或歧视色彩的词汇几乎无法避免,而使用“有毒的”训练数据显然会带坏聊天机器人。

2016 年 3 月,微软曾在推特推出聊天机器人 Tay,模仿 19 岁美国女性的说话方式,以开放型对话方式与普通用户交流并学习如何互动。然而仅仅一天之后,Tay 就开始发表种族歧视等偏激言论。微软随后不得不关闭 Tay 的账号,将原因归结为部分网民刻意引导其发表恶意言论。

Facebook AI 研究人员承认,这些问题是开放式聊天机器人普遍面临的巨大挑战。他们正在尝试创造更好的安全机制来改善和规避。比如对三个较小的额外数据集进行敏感词过滤,剔除恶意词汇,但来自于 Reddit 的主要训练集体积过于庞大,难以全面筛查。他们还希望尝试引入知识数据库来纠正机器人的错误,甚至是在机器人生成句子之后再进行二次检查。

不过这些方法并不全面。很多时候,一句话的性质要结合语境才能准确判断,像是“你说得很好”这样的句子看似褒义,但在用于回应激进言论时却会产生截然相反的效果。

因此目前看来, Blender 虽然在简单对话时表现很好,互动自然且流畅,但跟其他开放式聊天机器人一样,离最理想的聊天机器人还有很长的路要走。

Facebook AI 团队还透露了未来的研究方向,另一个项目组正在开发一个“有性格的”图片聊天系统 Image Chat,旨在对用户发送的图片进行有意义的对话。