Facebook:既能对话又能行动的冒险游戏研究平台LIGHT | EMNLP 2019

2020-03-27 13:10:11 浏览数 (2)

Learning to Speak and Act

in a Fantasy Text Adventure Game

作者:

Jack Urbanek、Angela Fan等(FAIR、法国洛林国家信息及其应用研究所(LORIA-Nancy)、伦敦大学学院)

会议收录:

Conference on Empirical Methods in Natural Language Processing (EMNLP2019)

论文地址:

https://static.aminer.cn/misc/pdf/1903.03094.pdf

摘要

自然语言处理的进步很大程度上是基于特定语言数据的统计规律研究,而非对真实世界的明确理解。本文介绍的LIGHT(Learning in Interactive Games with Humans and Text)是一个大型的奇幻文本冒险游戏研究平台,可用于训练既能对话又能行动的智能体(agent),而且能够与其他模型或人类(称为其他智能体)进行交互。本文介绍如何训练最先进的生成和检索模型及其对应的实验结果。本文证明除了利用历史的对话内容,这些模型还能够有效地利用背景世界中的潜在状态。特别地,本文展示了对话场景的环境细节,包括位置描述、物体(以及物体的能供性affordances)和角色(以及他们之前的行为),有助于更好地预测智能体的行为和对话。此外,本文还分析了在这种设置下成功的必要因素,以及这些因素是如何促使智能体成功地对话和和做出动作。这个游戏使用的自然语言完全是由玩游戏的人编写的。

Facebook已经将整个系统开源并提供给其他研究人员使用,具体访问地址(https://parl.ai/projects/light/)。LIGHT是ParlAI下面的项目,这里顺带安利下ParlAI(读音为 par-lay)。ParlAI是一个一站式对话研究框架,用以共享、训练和评测对话模型,其中包含从开放域闲聊到视觉问答(VQA)等多个任务。直至目前(2019年12月4号)已经收录了70 常用对话数据集(包括SQuAD、MS MARCO、QuAC、HotpotQ、Ubuntu Dialogue等等),并以统一的API进行使用。该框架的目标是为研究者提供:

(1)共享常用的数据集,并以统一的API进行使用

(2)提供多样化的参考模型,从检索模型到Transformer

(3)提供大量的预先训练的模型随时可以使用

(4)无缝集成了亚马逊的Mechanical Turk的众包标注服务

(5)与Facebook Messenger集成,在聊天界面中连接模型和人类

(6)大量的辅助工具来创建自己的智能体,并通过多任务处理来训练多个任务

(7)多模态,在一些任务使用文本和图像

ParlAI暂时安利到这里,感兴趣的小伙伴欢迎去官网体验更多更新的功能。

介绍

虽然语言建模和智能体创建进步巨大,但是现有先进方法都仅仅利用语料的统计规律,而忽略了对语言中所描述世界的理解。本文的工作基于以下假设:对话智能体在丰富而有紧密联系(但易于处理)的世界中呈现出的具体表现与只采用标准大规模纯文本语料库相比,能更易于、更有效地训练语料。

LIGHT是一个多人文字冒险游戏,其设计初衷是用以研究场景对话,其间的交互对象包括场景智能体(可以是人类也可以是模型)和场景世界本身。LIGHT由众包的游戏世界场景组成,具体包括663个地理位置、3462个物体和1755个角色,这些都是以自然语言方式描述。在这样的游戏世界中,收集了11k场(episodes)的数据集。这个数据集由角色驱动,主要记录人与人之间的互动,包括行为、表情和对话。目的是训练模型以类似的方式与人类对话。

收集到的数据集可以用于研究模型如何根据其对环境的感知和其他角色的对话来进行回复和行动。一方面采用最先进的模型对数据集进行评估,另一方面对场景信息的效果进行评估。本文采用了2个BERT的变体:Bi-Ranker和Cross-Ranker。Bi-Ranker是一个快速且实用的检索模型,Cross-Ranker在推理时比较慢,但允许语境和回复之间的特征有更多的互相关。这两个模型在该数据集上的表现都超出现有模型。另外,从消融研究可以看出,在理解和使用语言的能力方面,场景信息中的每个部分(位置、物体、角色、他人的行为、自我行为)的重要性。虽然使用场景信息的模型性能提升显著,但是最好的模型目前仍难以企及人类的水平,这是未来研究的一个挑战。

LIGHT的环境和任务设置

LIGHT是一个大规模、可配置的文本冒险环境,可用于研究场景对话的行为。这个环境由一个简单的游戏引擎调节,该游戏引擎在角色之间传递对话和表情,并允许角色的行为引起所处环境状态的变化。智能体正是被放置在这种单模态(纯文本)的环境中进行交互。

为了促进自然语言所描述的自然人为情境,几乎整个环境都是众包的,包括地理位置、物体及其物体的能供性(affordances)、角色及其角色个性和最重要的角色互动(对话、行为)。这些组成成分通过一系列标注任务收集。数据质量是通过对标注人员进行测试来维持的,详情可以参考原文的附件D。总的来说,收集到元素的总体统计数据如Table1所示:

Table 1:LIGHT数据集的统计结果

该环境不仅可以训练智能体也可以通过它们的在线交互现场评估模型。

1.地理位置(Locations):

众包得到663个游戏地理位置比如农村、森林、墓地等,完整的清单可以参考原始论文中的附件H。对这些地理位置,标注人员需要对其进行分类,还需要编写描述、背景故事、相连位置名称、包含的物体和角色。以Table 2为例:

Table 2

很多描述都非常详细,实体之间也有明确的语义(例如,鳄鱼在沼泽里,仙人掌在沙漠里)。选用6个独立的地理位置,它们的设计与其他类别不同,为测试提供了一组独立的位置、角色和物体。这称为unseen test set。

2.物体(Objects):

众包得到3462个物体,每个物体都有一个文本类型的描述及其一系列的能供性(affordances,即是否是一个容器,能够被拿起来,有表面,是武器,可穿戴,是食物,是饮料)。具体示例参见Table 3:

Table 3

3.角色(Characters):

众包得到了1755个游戏角色,包括从动物到食人妖,兽人到人类等多种类型,具体示例参考 Table 4。每个角色都有一个文本类的描述、用户画像(Persona,定义了一组3-5个描述他们性格特点的句子)、以及一系列穿、带、用的物体。

Table 4

4.行为和表情(Actions and Emotes):

游戏中有一系列的行为,包括物理操作,还有一组向其他角色表达感情的表情。物理操作包括get, drop, put, give, steal, wear, wield, remove, eat, drink, hug和hit。每个行为都有一个或两个入参,例如,把长袍放在壁橱里。每个行为都对游戏状态有着明确的影响,且只能在满足约束的情况下执行,比如在上述例子中智能体正拿着长袍。这些约束间接地为智能体提供了物体的能供性,即智能体与环境交互的所有可能的操作列表。

至于表情,包括applaud, blush, cringe, cry, dance, frown等22种。需要注意的是:表情会对角色的行为产生影响,但对游戏状态没有任何影响。更多详情参考原始论文中的附件E。

5.交互(Interaction):

至此,已经有了一个完全实现的环境,可以尝试学习和评估能够在该环境中行动和说话的智能体。为此,我们收集了环境中情景性交互的人-人数据集。每个对话中,将2个角色随机放置在一个地理位置,并将对应的物体分配到位置和角色。每个角色都可以访问他们的人物画像(persona)、位置描述和当前的物体,那么这些设置好后,就可以开始进行一轮的交互(称为episode,类似于玩一个回合的游戏。)。这两个角色在情景中轮流出现,并且可以执行一个行为(物理动作或表情),并在每个来回中产生一个对话。最终众包出10777个对话。示例如Figure 1 所示:

Figure 1:LIGHT数据集中的对话例子

学习方法

在预测行为、表情、对话和探索背景信息(位置、物体、角色)的重要性时尝试了多个模型。在所有的模型中,将语境表示为一个大型文本序列,在每个输入类型(角色、设置、自我表情、对方角色表情等)前用特定的前缀token进行表示。本文使用两类模型:候选对话输出最大得分的排序模型和逐字解码的生成模型。

1.候选排序:

上述三个任务各自有确定候选的方法。对话候选项由ground truth和19个随机选择的候选项组成。行为候选项通常是全部的行为列表,但在非能供性消融研究中,仅选择在当前环境中能提供的所有良好行为。而当下的环境可能包括不能执行的事情,比如“穿油漆罐”。表情候选项则是22种可能的表情。

2.基准排序方法:

基准有2个:

(1)随机基准,从候选中随机选一个

(2)信息检索(IR),采用IT-IDF作为权重

使用 Starspace (是一种高效学习实体向量的通用神经模型,是Facebook在2017年提出的,所以Facebook的技术继承和生态发展很好) 学习语境和候选的词袋嵌入,再利用排名损失(ranking loss)最大化真值标签的内积,从而选出候选。最后,使用fastText对表情进行分类。

3.Transformer Memory Network:

本文使用transformer memory-based ranking model (也是Facebook之前的研究成果)从背景信息(设置、人物画像、物体)中为每个句子生成单独的表征(记忆槽)。再计算对话语境与记忆之间的注意力,从而产生一个语境嵌入。该语境嵌入与基于transformer的候选表征进行点积从而得出候选评分。

4.BERT Bi-Ranker 和 Cross-Ranker:

在对话和行为预测上使用了BERT预训练模型。先用BERT-based的BiRanker对上下文语境和每个候选的回复进行表征。再在这些表征之间计算点积从而实现评分。训练时候采用的是排名损失ranking loss。

BERT-based Cross-Ranker将语境与每个候选语句连接起来。再对全部候选计算softmax,从而得到每个候选的评分。与BERT-based Bi-Ranker不同,Crocs-Ranker将语境与每个候选拼接的方式使得模型在对每个候选进行编码的时候能够注意到语境,从而为每个候选创建一个语境依赖的表征。反观Bi-Ranker是使用自注意力创建候选和语境表征,但是无法根据语境修改其表征。但是在速度方面,在对话检索方面Cross-Encoder 大约比 Bi-Ranker 慢11000倍。因为每个拼接后的表征必须重新计算,而Bi-Ranker能够缓存候选重复使用。

5.Generative Models:

与排序设置类似,使用Transformer Memory Network对语境特征(如对话、人物画像和设置)进行编码。在预测行为、表情和对话时,采用Transformer框架进行解码,且attend编码的输出。对于行为的生成,排序模型的候选设置受限于有效的行为集合。比如,角色在没有书的情况下是无法拿起书的。在生成模型中,计算候选的log似然并将输出空间约束为有效的操作。

实验结果

1.与baseline对比

从Table 5可以看出Starspace优于IR baseline。用FastText进行表情分类预测效果优于Starspace。可以看出Transformer框架在各个任务上显著优于其他模型。在Bi-Ranker和Cross-Ranker中使用BERT预训练能够取得最优结果。

Table 5:排序模型在测试集上的性能

基于BERT预训练的Cross-Ranker对每个候选创建了一个语境依赖的的表征,所以在行为预测和表情预测任务上比BERT-base的Bi-Ranker表现更好。尽管如此,这些结果仍与人类相去甚远,所以未来提升空间较大。

2.泛化能力评估

从6个unseen的测试集的实验结果(Table 5,右边)来看相比整体似乎更简单些。从Table 5可以看出人类标注结果指标更高,且在一些模型上的预测结果指标也提升了。确实可以看出基于BERT的模型相较于其他模型具有良好的迁移学习能力。在unseen数据集上可以看出模型与人类的差距进步拉大了(从seen数据集到unseen数据集)。特别地,在对话任务上unseen数据集上差距为21个点,而seen数据集上模型与人类的差距只有11个点。所以嘛,未来挑战可期。

3.背景信息的重要性

3.1多元化环境特征的影响:

本文还对环境中的影响因素进行了大量的量化分析,这包括了对话、设置的描述信息、角色的人物画像、以描述方式展现出来的物体等。在Table 6 和 Table 7 中分析了附加使用背景信息的有效性。

Table 6:在BERT-base Bi-Ranker上进行消融研究的结果。LIGHT环境包括:对话、行为、表情、人物画像、设置和物体描述

Table 7:生成式Transformer模型上进行的消融实验结果

对于对话任务,使用环境中的全部信息能够得到最优结果,这在检索模型和生成模型中都得到了验证。仅仅通过对话进行训练性能会大大降低,而每增加额外的背景信息(如过去的行为、人物画像或场景描述)都会提高性能。物体的描述信息所带来的性能提升最少。由于存在大量能够展示的物体,而物体的描述又较长,因此模型很难将这些信息与对话、行为或表情预测任务相关联。至于人物画像特征,是有意义的,因为这塑造了角色的对话和行为。

在行为序列和表情预测中使用过往对话数据相比于仅仅利用历史行为数据能够带来巨大提升。其他特征则影响较小,只有轻微的提升。对于行为预测任务,实验发现能供性信息贡献的性能与其他全部特征的贡献近似。只利用行为和表情特征的模型(候选为可能的行为)所取得的性能与在各任务(对话、行为、表情、人物画像和设置)中使用最佳特征的模型(候选包括被能供性正常过滤掉的那部分)近似。这表明现有的语境和数量对模型来说仍旧无法有效地预测能供性,从而避免被不可能的选择分散注意力。

最重要的是对于所有的任务,基于可用的对话数据进行训练都能够取得良好的表现性能。仅有行为和表情作为语境会导致最差的性能,甚至在行为和表情预测任务上也不例外。此外,同时使用对话和行为信息可以改善几乎所有地方的结果。在集成的环境中,智能体可以与其他智能体进行对话和互动,从而可以提供跨所有任务使用的相关信息。

3.2语境的影响:

此外本文还探索了语境在对话、行为、表情预测上的影响(使用的模型是BERT-base的Bi-Ranker)。对话输入和角色对行为预测有重大影响(这很直观),如Table 8 所示。

Table 8:BERT-base Bi-Ranker预测行为的实验结果

表情预测也是类似的,即使是相同的输入对话和表情,但是由于角色的不同,预测的表情也是不同的,具体示例见Table 9。比如相同语境下,将角色从美人鱼改为兽人,则预测的表情也发生了变化。

Table 9:生成式Transformer进行表情预测的实验结果

对话预测任务上,发现模型会根据给定的设置输出不同的结果,即使对话输入和角色是相同的,具体参加 Table 10。在这里例子中,对话的输入都是关于事物,模型能够根据对应的设置检索出合适的回复。

Table 10:BERT-base Bi-Ranker预测对话的实验结果

总结

本文介绍了一个大型众包文本冒险游戏研究平台。该平台提供丰富多样的环境,包括位置、物体及其角色等。在这个环境下智能体(模型或人)能说也能动。另外本文还分析了在环境中多个模型及其各自使用背景信息的能力。希望这项工作能使促进场景语言学习的研究,并提升智能体建模整个世界的能力。

0 人点赞