TL;DR
This paper presents a large-scale crowdsourced text adventure platform for studying grounded dialogue, demonstrating that models grounded in environmental details improve their ability to predict dialogue and actions effectively.
Contribution
It introduces a novel research platform and evaluates models that incorporate environmental grounding, advancing understanding of grounded dialogue in interactive environments.
Findings
Grounded models outperform ungrounded ones in predicting dialogue and actions.
Environmental context, including location and objects, enhances model performance.
Grounding ingredients are crucial for successful dialogue and action prediction.
Abstract
We introduce a large scale crowdsourced text adventure game as a research platform for studying grounded dialogue. In it, agents can perceive, emote, and act whilst conducting dialogue with other agents. Models and humans can both act as characters within the game. We describe the results of training state-of-the-art generative and retrieval models in this setting. We show that in addition to using past dialogue, these models are able to effectively use the state of the underlying world to condition their predictions. In particular, we show that grounding on the details of the local environment, including location descriptions, and the objects (and their affordances) and characters (and their previous actions) present within it allows better predictions of agent behavior and dialogue. We analyze the ingredients necessary for successful grounding in this setting, and how each of these…
| Split | Test | Test | ||
|---|---|---|---|---|
| Train | Valid | Seen | Unseen | |
| Locations | 589 | 352 | 499 | 74 |
| Objects | 2658 | 1412 | 1895 | 844 |
| Characters | 1369 | 546 | 820 | 360 |
| Dialogues | 8538 | 500 | 1000 | 739 |
| Utterances | 110877 | 6623 | 13272 | 9853 |
| Emotes | 17609 | 1156 | 2495 | 1301 |
| Actions | 20256 | 1518 | 3227 | 1880 |
| Vocabulary Size | 32182 | 11327 | 11984 | 9984 |
| Utterance Length | 18.3 | 19.2 | 19.4 | 16.2 |
| Category: | Graveyard |
|---|---|
| Description: | Two-and-a-half walls of the finest, whitest stone stand here, weathered by the passing of |
| countless seasons. There is no roof, nor sign that there ever was one. All indications are | |
| that the work was abruptly abandoned. There is no door, nor markings on the walls. Nor | |
| is there any indication that any coffin has ever lain here… yet. | |
| Backstory: | Bright white stone was all the fad for funerary architecture, once upon a time. It’s difficult |
| to understand why someone would abandon such a large and expensive undertaking. If they | |
| didn’t have the money to finish it, they could have sold the stone, surely - or the mausoleum | |
| itself. Maybe they just haven’t needed it yet? A bit odd, though, given how old it is. Maybe | |
| the gravedigger remembers… if he’s sober. | |
| Neighbors: | Dead Tree, south, following a dirt trail behind the mausoleum |
| Fresh Grave, west, walking carefully between fallen headstones | |
| Characters: | gravedigger, thief, peasant, mouse, bat |
| Objects: | wall, carving, leaf, dirt |
| Category: | Graveyard |
|---|---|
| Description: | Two-and-a-half walls of the finest, whitest stone stand here, weathered by the passing of |
| countless seasons. There is no roof, nor sign that there ever was one. All indications are | |
| that the work was abruptly abandoned. There is no door, nor markings on the walls. Nor | |
| is there any indication that any coffin has ever lain here… yet. | |
| Backstory: | Bright white stone was all the fad for funerary architecture, once upon a time. It’s difficult |
| to understand why someone would abandon such a large and expensive undertaking. If they | |
| didn’t have the money to finish it, they could have sold the stone, surely - or the mausoleum | |
| itself. Maybe they just haven’t needed it yet? A bit odd, though, given how old it is. Maybe | |
| the gravedigger remembers… if he’s sober. | |
| Neighbors: | Dead Tree, south, following a dirt trail behind the mausoleum |
| Fresh Grave, west, walking carefully between fallen headstones | |
| Characters: | gravedigger, thief, peasant, mouse, bat |
| Objects: | wall, carving, leaf, dirt |
| Character: | Thief | Gravedigger |
| Persona: | I live alone in a tent in the woods. | I am low paid labor in this town. |
| I steal food from the townspeople and | I do a job that many people shun because of | |
| coal from the blacksmith. | my contact with death. | |
| The village police can not find me | I am very lonely and wish I had someone | |
| to put me in jail. | to talk to who isn’t dead. | |
| Description: | The thief is a sneaky fellow who takes from the | You might want to talk to the gravedigger, specially |
| people and does so in a way that disturbs the | if your looking for a friend, he might be odd but you | |
| livelihood of the others. | will find a friend in him. | |
| Carrying: | meat, potatoes, coal | shovel |
| Wearing: | dark tunic, cloak | nothing annotated |
| Wielding: | knife | nothing annotated |
| Object | Description | Tags |
|---|---|---|
| shovel | The shovel is made of metal and silver. It is quite sturdy and appears new. | gettable, wieldable |
| wall | The wall is pure white, the richest of which you have ever seen. | none |
| Query: | chicken | pirate | coffin | rake | tavern | meadow |
|---|---|---|---|---|---|---|
| objects | chicken coop | Pirate swords | the remains | shovel | Ale bottles | flower pot |
| eggs | dock | remains | garden | beer | fruit | |
| a pen for the chickens | cargo | bones | a garden | mug of mead | An enchanted amulet. | |
| chimney | ship | bones of the innocent | Hand carved stone | a large ornate table | citrus fruit | |
| corn | seagulls on the dock | adventurer’s remains | garden bench | beer keg | fruit trees | |
| stone chimney | cargo crates | precious jewels | small garden | mug | nice fruit trees | |
| characters | chickens | boat captain | spirits of our ancestors | gardener | tavern owner | a deer |
| fox trying to steal chickens | captain | mourner | stable hand | bartender | a songbird | |
| farmers | merchant | zombies | Garden dog | Goblin King’s bartender | fruit bats | |
| The farmers | boat workers | families | stable boy | A serving wench | parent | |
| farmer | workers | bandit | A stable boy | Serving wench | butterfly | |
| poorer subsistence farmers | the workers | the royal family | two guards | a round man with a bushy mustache | Small insects | |
| locations | Chicken Pen | Pirate Ship | Old Crypt | Across the King’s Garden | The werewolves tavern | Lush meadow |
| Corn field | Dock at the Port | sacristy | Hidden garden | Tavern of Browntavia | Flower Field | |
| Farmer’s house | Loading Dock | Disposal area | The garden courtyard | Port Tavern | flower garden | |
| Large Farm | Fishing Dock | inside temple crypt | Church garden | The bar | Mushroom Hut | |
| Pig Pen | crew berthing | Sacrifice Chamber | Tool Shed | bazaar outside the royal city | Archery zone | |
| The old red barn | captain’s cabin | Shrine of Sretniy | flower garden | Outside gates | The witches cottage | |
| actions | get chicken | hug pirate | put torch in coffin | get rake | hug tavern owner | get flower from meadow |
| hug chicken | hit pirate | get torch from coffin | drop Rake | give food item to tavern owner | put flower in Meadow | |
| hit chicken | steal sword from pirate | put bone in coffin | steal Rake from gardener | give telescope to tavern owner | give Flower to a deer | |
| give cowbell to chicken | steal cargo from pirate | get bone from coffin | give Rake to thing | drink drink | give Flower to deer | |
| steal sword from chicken | give cargo to pirate | hit archaeologist | give Rake to person | drop drink | steal Flower from a deer | |
| give corn to chicken | give Daggers to pirate | hug archaeologist | give Rake to guard | give coin to bartender | get flower | |
| vocabulary | bock | crew | archaeologist | vegetable | drink | flower |
| tasty | ye | robber | carved | drinks | amulet | |
| bawk | port | crypt | alice | regular | songbird | |
| moo | sea | loss | hook | item | wasp | |
| egg | seas | adventures | exorcisms | tip | an | |
| lay | sail | earn | tomatoes | bottles | holiness |
| Test Seen | Test Unseen | |||||
| Dialogue | Action | Emote | Dialogue | Action | Emote | |
| Method | R@1/20 | Acc | Acc | R@1/20 | Acc | Acc |
| Random baseline | 5.0 | 12.2 | 4.5 | 5.0 | 12.1 | 4.5 |
| IR baseline | 23.7 | 20.6 | 7.5 | 21.8 | 20.5 | 8.46 |
| Starspace | 53.8 | 17.8 | 11.6 | 27.9 | 16.4 | 9.8 |
| Transformer MemNet | 70.9 | 24.5 | 17.3 | 66.0 | 21.1 | 16.6 |
| BERT-based Bi-Ranker | 76.5 | 42.5 | 25.0 | 70.5 | 38.8 | 25.7 |
| BERT-based Cross-Ranker | 74.9 | 50.7 | 25.8 | 69.7 | 51.8 | 28.6 |
| Human Performance* | *87.5 | *62.0 | *27.0 | *91.8 | *71.9 | *34.4 |
| Dialogue | Action | Emote | |
|---|---|---|---|
| R@1/20 | Acc | Acc | |
| BERT-based Bi-Ranker | 76.0 | 38.7 | 25.1 |
| actions+emotes only | 58.6 | 18.3 | 10.6 |
| dialogue only | 68.1 | 39.4 | 23.6 |
| dialogue+action+emote | 73.2 | 40.7 | 23.1 |
| dialogue+persona | 73.3 | 41.0 | 26.5 |
| dialogue+setting | 70.6 | 41.2 | 26.0 |
| dialogue+objects | 68.2 | 37.5 | 25.5 |
| Dialogue | Action | Emote | ||
|---|---|---|---|---|
| PPL | F1 | Acc | Acc | |
| Generative Transformer | 27.1 | 13.9 | 13.0 | 20.6 |
| actions+emotes only | 32.8 | 9.3 | 10.5 | 15.3 |
| dialogue only | 28.0 | 12.5 | 12.3 | 20.0 |
| dialogue+action+emote | 27.6 | 12.3 | 12.8 | 22.0 |
| dialogue+persona | 27.8 | 12.9 | 12.3 | 20.8 |
| dialogue+setting | 27.8 | 12.1 | 11.5 | 17.8 |
| dialogue+objects | 27.7 | 12.8 | 11.0 | 20.2 |
| Persona: I am a part of a group of travelers. I go from town to town selling food to the locals. | |
| I grew up poor, but my travels have paid off well. | |
| Setting 1: Fishmonger’s stall, Port | Setting 2: Dunes, Desert |
| A small booth near the edge of the port, it’s protected by a | A massive hilly landscape that is nothing but sand and a few |
| piece of old, sun-bleached sailcloth. Baskets of freshly- | rocks. As you walk this area, you can find some human and |
| caught fish, bivalves, and eels sit in the shade in stained | animal remains along with broken down wood wagons. |
| wooden troughs of water. A small, aggressive-looking dog | |
| is chained to one table, presumably to keep cats away. | |
| The stall is redolent with the aroma of fish. | |
| Friend: I wonder what I could eat around here… | Friend: I wonder what I could eat around here… |
| Emote: ponder | Emote: ponder |
| Traveler: Customer, are you here shopping for fish too? | Traveler: Well, the desert is certainly the wrong place |
| for you my friend. | |
| Friend: What brings you to this place? | Friend: What brings you to this place? |
| Traveler: I like to come around here for food. Sometimes | Traveler: I am travelling to the castle market to sell my goods. |
| people who travel through drop the most delicious things. | I have a terrible sense of direction and have been wondering in |
| Once in a while it’s roasted meet or fish. | the sweltering heat for hours until I found your Oasis. |
| Self name: Sea Witch. | ||
|---|---|---|
| Self Previous Dialogue: What do you know about that | ||
| knight standing over there? | ||
| Input Dialogue + Emote | Partner | Prediction |
| His armor is garrish. You | Mermaid | laugh |
| know I don’t fraternize | Thief | frown |
| with land dwellers, pout | ||
| He is a terrible knight | Mermaid | scream |
| and I hate him, cry | Troll | laugh |
| I will battle him until the | Mermaid | stare |
| end of my days, scream | Orc | nod |
| Input from Partner: Wizard | Prediction (Self name: Servant) |
| I’m feeling sad | hug wizard |
| You must die! | hit master wizard |
| Try putting on something else | remove patterned outfit |
| I’d like you to feed me | give food to master wizard |
| Can you grab me a paper | give book to wizard’s assistant |
| Can you grab me a beer | get beer |
| Clean up | get duster |
| Hide the gold | put gold in satchel |
| Input from different agents | Prediction |
| Wizard: Can I have some drink? | drop potion |
| Servant: Can I have some drink? | give wine to servant |
| Bear: Can I have some drink? | give water to bear |
| Emote | Bi-Ranker | Cross-Ranker |
|---|---|---|
| w/o caching | 171s | 326s (1.9x slower) |
| with caching | 70s | n/a (4.6x slower) |
| Action | Constraints | Outcome |
|---|---|---|
| get object | actor and object in same room | actor is carrying object |
| object is gettable | ||
| drop object | actor is carrying object | object is in room |
| object is gettable | ||
| get object1 from object2 | Actor and object2 in same room | actor is carrying object1 |
| object1 is gettable | ||
| object2 is surface or container | ||
| object2 is carrying object1 | ||
| put object1 in/on object2 | Actor and object2 in same room | object2 is carrying object1 |
| object2 is container or surface | ||
| actor is carrying object1 | ||
| give object to agent | Actor and agent in same room | agent is carrying object |
| object is a member of actor | ||
| steal object from agent | actor and agent in same room | actor is carrying object |
| object is a member of agent | ||
| hit agent | Actor and agent in same room | inform agent of attack |
| hug agent | Actor and agent in same room | inform agent of hug |
| drink object | actor is carrying object | inform actor of drinking successfully |
| object is a drink | ||
| eat object | actor is carrying object | inform actor of eating successfully |
| object is a food | ||
| wear object | actor is carrying object | actor is wearing object |
| object is wearable | ||
| wield object | actor is carrying object | actor is wielding object |
| object is a weapon | ||
| remove object | actor is wearing/wielding object | actor is carrying object |
| object is wearable or a weapon |
| Seen | Abandoned, Bazaar, Cave, Countryside, Desert, Dungeon, Farm, Forest, Graveyard, Inside Castle, |
| Inside Church, Inside Cottage, Inside Palace, Inside Temple, Inside Tower, Jungle, Lake, Mountain, | |
| Outside Castle, Outside Church, Outside Cottage, Outside Palace, Outside Temple, Outside Tower, | |
| Port, Shore, Swamp, Tavern, Town, Trail, Wasteland | |
| Unseen | City in the Clouds, Frozen Tundra, Magical Realm, Netherworld, Supernatural, Underwater Aquapolis |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Learning to Speak and Act in a Fantasy Text Adventure Game
Jack Urbanek1 Angela Fan1,2 Siddharth Karamcheti1 Saachi Jain1 Samuel Humeau1
**Emily Dinan1 Tim Rocktäschel1,3 Douwe Kiela1 Arthur Szlam1 Jason Weston1
1**Facebook AI Research
2LORIA, Nancy
3University College London
Abstract
We introduce a large-scale crowdsourced text adventure game as a research platform for studying grounded dialogue. In it, agents can perceive, emote, and act whilst conducting dialogue with other agents. Models and humans can both act as characters within the game. We describe the results of training state-of-the-art generative and retrieval models in this setting. We show that in addition to using past dialogue, these models are able to effectively use the state of the underlying world to condition their predictions. In particular, we show that grounding on the details of the local environment, including location descriptions, and the objects (and their affordances) and characters (and their previous actions) present within it allows better predictions of agent behavior and dialogue. We analyze the ingredients necessary for successful grounding in this setting, and how each of these factors relate to agents that can talk and act successfully.
1 Introduction
There has been remarkable progress in language modeling Jozefowicz et al. (2016); Devlin et al. (2018); Radford et al. (2019) and building dialogue agents Dinan et al. (2019a). Nevertheless, the current state of the art uses only the statistical regularities of language data, without explicit understanding of the world that the language describes. This work is built on the hypothesis that dialogue agents embodied in a rich and cohesive (but tractable) world can more easily be trained to use language effectively than those only exposed to standard large-scale text-only corpora.
To that end, we introduce the LIGHT111 Learning in Interactive Games with Humans and Text. research platform. LIGHT is a multi-player fantasy text adventure world designed for studying situated dialogue, and allows interactions between humans, models as embodied agents, and the world itself. It consists of a large crowdsourced game world (663 locations, 3462 objects and 1755 characters) described entirely in natural language. Within that game world, we collect a large set (11k episodes) of character-driven human-human crowdworker interactions involving actions, emotes, and dialogue, with the aim of training models to engage humans in a similar fashion. Our framework is made publicly available in ParlAI (http://parl.ai/projects/light).
We use the collected dataset to investigate how a model can both speak and act grounded in perception of its environment and dialogue from other speakers. This is done by evaluating state-of-the-art models on our task and evaluating the effects of providing additional grounding. In particular, we adapt the BERT contextual language model (Devlin et al., 2018) to the task of dialogue in two ways: as a bi-ranker, which is fast and practical as a retrieval model, and as a cross-ranker which is slower at inference time but allows more feature cross-correlation between context and response. Both models outperform existing methods. Our ablation analysis shows the importance of each part of the grounding (location, objects, characters, other’s actions, self-actions) in terms of the ability to both understand and use language. While models that use grounding show clear improvements, our best performing models are still unable to perform at human level, making our setup a suitable challenge for future research.
2 Related Work
Most recent work in dialogue exploring generative or retrieval models for goal-directed (Henderson et al., 2014; Bordes et al., 2017) or chit-chat tasks (Vinyals and Le, 2015; Sordoni et al., 2015; Zhang et al., 2018) is not situated, or even grounded in perception. Models typically take the last few utterances from the dialogue history as input, and output a new utterance. While some goal-directed setups may use external knowledge bases (e.g. flight data for airline booking), dialogues tend to implicitly refer to an external world during the conversations without explicit grounding to objects or actions.
Several position papers have proposed virtual embodiment as a strategy for language research Brooks (1991); Kiela et al. (2016); Gauthier and Mordatch (2016); Mikolov et al. (2016); Lake et al. (2017). Single-player text adventure game frameworks for training reinforcement learning agents exist, i.e., Narasimhan et al. (2015) and TextWorld Côté et al. (2018), but these do not have human dialogue within the game. Yang et al. (2017) and Bordes et al. (2010) proposed small world setups for instruction following or labeling, but these are much more restricted than the large multi-player text adventure game environment with rich dialogue that we propose here.
A number of visual, rather than text, platforms have been proposed such as House3D Wu et al. (2018b), HoME Brodeur et al. (2017), MINOS Savva et al. (2017), Matterport3D Chang et al. (2017) and AI2-THOR Kolve et al. (2017), and the Minecraft MALMO project Johnson et al. (2016), but they typically are suited to reinforcement learning of actions, and involve templated language for navigation or question answering tasks, if at all Oh et al. (2017); Yi et al. (2018).
Other examples are instruction-following in the Neverwinter Nights game Fleischman and Roy (2005), dialogue about soccer videogames Pasunuru and Bansal (2018), placing blocks appropriately given a final plan Wang et al. (2016) and a more open ended building task using a grid of voxels Wang et al. (2017). In the latter two cases the communication is one-sided with only the human issuing instructions, rather than dialogue, with the agent only able to act.
There are also setups that consider static language and perception, for example image captioning Lin et al. (2014), video captioning Yu et al. (2016), visual QA Antol et al. (2015) and visual dialogue Das et al. (2017); Shuster et al. (2018); Mostafazadeh et al. (2017). While grounded, the agent has no ability to act in these tasks. Talk the Walk de Vries et al. (2018) introduces a navigation game that involves action, perception and two-way dialogue, but is limited to small grids.
In summary, compared to many setups, our framework allows learning from both actions and (two-way) dialogue, while many existing simulations typically address one or the other but not both. In addition, being based on a gaming setup, our hope is that LIGHT can be fun for humans to interact with, enabling future engagement with our models. All utterances in LIGHT are produced by human annotators, thus inheriting properties of natural language such as ambiguity and coreference, making it a challenging platform for grounded learning of language and actions.
3 LIGHT Environment and Task Setup
LIGHT is a large-scale, configurable text adventure environment for research on learning grounded language and actions. It features both humans and models as embodied agents within a multi-player fantasy MUD (multi-user dungeon)-like Dieterle (2009) environment.
To facilitate natural human-sourced (fantasy) situations described by natural language, almost the entire environment is crowdsourced, including locations, objects and their affordances, characters and their personalities, and most importantly character interactions: dialogues and actions. These components are collected through a series of annotation tasks that we will now describe. These tasks are designed so that they can be combinatorially recombined. Data quality was maintained by requiring annotators to take a test (see Appendix D). Overall statistics of the collected elements are given in Table 1. This environment can then be used to both train agents, and to evaluate them in situ via their online interactions.
Locations
We first crowdsourced a set of 663 game location settings from a base set of 37 categories (countryside, forest, inside/outside castle, shore, graveyard, bazaar, …– full list in Appendix H) which were selected by us to provide both inspiration and cohesion to annotators. Workers were provided a category and asked to create a description, backstory, names of connected locations, and contained objects and characters. See Table 2(a) for an example. Many descriptions are quite detailed, and there are clear semantics between entities (e.g. alligators being in swamps, cacti in a desert).
As all remaining tasks build upon the locations created in this first step, we selected 6 location categories (underwater aquapolis, frozen tundra, supernatural, magical realm, city in the clouds, and netherworld) designed to be distinct from the others to provide an isolated set of locations, characters, and objects for testing. These will be used to build what we refer to as an unseen test set.
Each location is collected independently, with the eventual aim that they can be glued together as desired to randomize world generation. In this work, we consider actions and dialogues within a single location, so building a world map is not necessary. However, we will show that the environment has considerable influence on the dialogue, actions and grounded learning of models.
Characters
We crowdsourced 1755 game characters from animals to trolls and orcs to humans of various types (wizards, knights, village clerk). See Table 2(b) for detailed examples. Each character has a textual description, a persona (defined as a set of 3-5 profile sentences describing their traits, modeled after the Persona-Chat dataset Zhang et al. (2018)), and a set of objects that are currently being carried, wielded, or worn. We sourced this list of characters to annotate from the ones provided in the location creation task.
Objects
We crowdsourced 3462 objects, each with a textual description, and a set of affordances (whether it is a container, can be picked up, has a surface, is a weapon, is wearable, is food, is a drink). See Table 2(c) for examples. As before, we sourced this list of objects to annotate from the ones annotated for the locations and characters.
Actions and Emotes
There are a set of actions in the game consisting of physical manipulations, and a set of emotes that display feelings to other characters, in line with existing MUDs.
Physical actions include get, drop, put, give, steal, wear, remove, eat, drink, hug and hit, each taking either one or two arguments, e.g. put robes in closet. Every action has an explicit unambiguous effect on the underlying game state, and can only be executed if constraints are met, e.g. if the agent is holding the robes in the latter example.
Emotes include applaud, blush, cringe, cry, dance, frown …, sulk, wave, wink (22 in total) and have no effect on the game state other than to notify nearby characters of the emote, which can have effects on their behavior. See Appendix E for further detailed descriptions.
Interaction
Now that we have a fully realized underlying environment, we can attempt to learn and evaluate agents that can act and speak within it. For this, we collect a human-human dataset of episodic interactions within the environment.
For each dialogue, we place two characters in a random location (either two characters that were already assigned to it, or else randomly assigned characters), complete with the objects assigned to the location and to those characters. Each character has access to their persona, the location description, and the objects present, and the interaction episode begins. The two characters take turns within the episode, and can execute one action (physical action or emote) and produce one dialogue utterance on each turn. We crowdsourced 10,777 dialogues. Examples are given in Figure 1 and Appendix Figures 10-16.
Seen and Unseen Test Sets
We provide two distinct test sets. The seen test set consists of dialogues set in the same world (set of locations) as the training set, thus also consists of characters, objects, and personas that can appear in the training data. In contrast, the unseen test set is comprised of dialogues collected on the unseen set of locations. The unseen test set allows for evaluation of generalization capability to unseen topics in a similar domain and as we shall see, provides a more challenging test for current techniques.
4 Learning Methods
We consider a variety of models that can predict actions, emotes and dialogue, and explore the importance of grounding upon the location, objects, and other characters within the setting. For all models, we represent context as a large text sequence with a special token preceding each input type (persona, setting, self emote, partner emote, etc.). We work with two model classes: ranking models that output the maximal scoring response from a set of potential candidate responses and generative models that decode word by word.
Baseline Ranking Methods
We report a Random baseline (selecting a random candidate from the candidates) and an Information Retrieval (IR) baseline that uses word overlap with TF/IDF weighting. We use Starspace Wu et al. (2018a) which learns a bag-of-words embedding for context and candidates to maximize the inner product of the true label using a ranking loss. Lastly, we use fastText Joulin et al. (2016) to classify which emote should be predicted next as there are only 22 classes. Finally, we compare the performance of our best models to human performance on each of the prediction tasks.
Transformer Memory Network
We use the transformer memory-based ranking model from Dinan et al. (2019b). It uses a transformer Vaswani et al. (2017) to produce separate representations (memory slots) for each sentence from the grounding information (setting, persona, objects). It then performs attention given the dialogue context over the memories to produce a context embedding, which is used to score candidates via the dot product with the transformer-based representation of the candidate. At training time, other samples in the batch are used as negative candidates. For emote prediction, we train by ranking against the full set of possible emotes as there are only 22 distinct classes.
BERT Bi-Ranker and Cross-Ranker
We adapt the BERT pretrained language model (Devlin et al., 2018) to the tasks of dialogue and action prediction. We explore two architectures for leveraging BERT. First, we use the BERT-based Bi-Ranker to produce a vector representation for the context and a separate representation for each candidate utterance. This representation is obtained by passing the first output of BERT’s 12 layers through an additional linear layer, resulting in an embedding of dimension 768. It then scores candidates via the dot product between these embeddings and is trained using a ranking loss.
Second, the BERT-based Cross-Ranker instead concatenates the context with each candidate utterance, similar to Wolf et al. (2019). Then, each candidate is scored by computing a softmax over all candidates. Unlike the BERT-based Bi-Ranker, the concatenation of the context with each individual candidate allows the model to attend to the context when encoding each candidate, building a context-dependent representation of each candidate. In contrast, the Bi-Ranker can use self-attention to build the candidate and context representations, but cannot modify their representation based upon the context. However, the Cross-Encoder is far more computationally expensive (11,000 slower than the Bi-Ranker for dialogue retrieval) as each concatenated representation must be recomputed, while the Bi-Ranker can cache the candidates for reuse (see Appendix B).
Generative Models
Similarly to the ranking setting, we use the Transformer Memory Network from Dinan et al. (2019b) to encode the context features (such as dialogue, persona, and setting). However, to predict an action, emote, or dialogue sequence, we use a Transformer architecture to decode while attending to the encoder output.
For the task of action generation, the set of candidates for ranking models to rank the true action sequence against is constrained by the set of valid actions. For example, the character cannot pick up book if there is no book. In the generative model, we compute the log likelihood for the set of possible candidates and normalize to constrain the output space to valid actions to improve the results.
4.1 Implementation
We implement models using PyTorch in ParlAI Miller et al. (2017). Ranking Transformer models are pretrained on Reddit data Mazaré et al. (2018) and fine-tuned. We use the BERT Devlin et al. (2018) implementation provided by Hugging Face222https://github.com/huggingface/pytorch-pretrained-BERT with pre-trained weights, then adapted to our Bi-Ranker and Cross-Ranker setups. Generative models are pretrained on the Toronto Books Corpus and fine-tuned except for emote prediction which does not leverage pretraining. We apply byte-pair encoding Sennrich et al. (2016) to reduce the vocabulary size for generative models. We decode using beam search with beam size 5.
4.2 Evaluation
Automatic
To evaluate our models, we calculate percentage accuracy for action and emote prediction. For dialogue, we report Recall@1/20 for ranking the ground truth among 19 other randomly chosen candidates for ranking models and perplexity and unigram F1 for generative models.
Human
We present humans with the same ranking task and report R@1/20 to estimate their performance on this task. During the evaluation, we provide annotated examples on the training in addition to examples on the test set. We only keep the annotations of evaluators who had high accuracy on the training examples to filter low-accuracy evaluators. The training accuracy bar was selected due to the difficulty of the separate tasks. Our methods for human evaluation are described in more detail in Appendix F along with how many turns were evaluated.
5 Results
The ranking models are compared in Table 4 on the seen and unseen test sets, and ablations are shown for both the BERT-based Bi-Ranker and Generative Transformer in Tables 5 and 6.
5.1 Comparison of Models and Baselines
The IR baseline shows non-random performance, but is outperformed by Starspace which is a stronger baseline. We also tried FastText on the emotion task which gave a seen test accuracy of 13.2. Transformer architectures prove significantly stronger at all tasks, with BERT pretraining proving important for best results as used in the Bi-Ranker and Cross-Ranker architectures. The latter, which can create a context dependent representation of each label candidate, is better at actions and emotes. Human performance is still above all these models, leaving space for future improvements in these tasks. The generative Transformer model did not work as well using these metrics.
5.2 Generalization Capability on Unseen Test
The six new unseen test settings are a slightly easier task in absolute numbers (Table 4, right), with improved scores for humans and some models. We observe that BERT-based models exhibit good transfer ability relative to other models, but the gap between their performance and human performance increases from the seen test set to the unseen one. Specifically, there is a 21 point gap on the unseen dialogue test set compared to an 11 point gap on the seen test set, making this a significant challenge for future methods.
5.3 Data Inter-connectedness and Coverage
To illustrate the coverage of entities and actions in the LIGHT world, and the inter-connectedness between them learnable from our data, we trained a simple Starspace embedding model with no prebuilt embeddings (so, on our data alone, thus precluding BERT) on all three tasks and show embeddings in Table 3. There is clearly a vast variety of learnable concepts and rich structure between characters, locations, objects, actions and the language describing them. We also show additional t-SNE plots and heatmaps showcasing these relationships in Appendix G.
5.4 Importance of Grounding
Effect of Various Environment Features
We provide a large quantity of information about the environment to each of our models — not only dialogue, but the description of the setting, the character’s persona, present objects with descriptions, and more. We analyze the usefulness of the additional grounding information in Tables 5 and 6.
For the dialogue task, having access to all of the environmental information provides the best performance for both retrieval and generative models. Training on dialogue alone substantially decreases performance, while each experiment that adds additional grounding information such as the past actions, persona or the setting description, improves the score. Providing object descriptions as a feature leads to the least improvement. As there are both a large quantity of objects that can be present and objects tend to have long descriptions, it can be challenging for the model to associate such information to a dialogue, action, or emote prediction task. The persona features were found to be impactful, which makes sense as they shape the things the character says (and does).
Action sequence and emote prediction are much improved when using the dialogue history compared to using only past action history. Other features generally have lesser impact in this case, but still give some improvements. Including all features appears challenging for the model, perhaps because of the large input to attend over, resulting in improved results for some ablations.
Most importantly, for all tasks training on the available dialogue data is necessary for good performance. Providing only the action and emote as context results in the worst performance, even on action and emote prediction tasks. Moreover, using dialogue and actions simultaneously improves results almost everywhere. The integrated environment in which agents can both act and speak to other agents provides relevant information that can be used across all tasks.
Context affects predicted utterances
We investigate the effect of the environmental context on the predictions by modifying the context and examining the changes in predicted dialogue, action, and emotes using the BERT-based Bi-Ranker.
The input dialogue and speaker has a strong effect on the predicted action, as shown in Table 9, ranking over all training set actions. For example, the partner asking for an item results in a predicted action to retrieve it, despite our dataset not being explicitly instructional, and is dependent on who asks.
A similar effect is observed for emote prediction. Modifying the dialogue and emote input produces a variety of different predicted emotes in Table 8. Further, keeping the context otherwise fixed but modifying the partner name from mermaid to orc results in a different predicted emote — the mermaid stating I will battle him leads to a stare while the orc receives a nod.
Finally, for dialogue prediction we find the model produces different outputs that are more appropriate for a given setting, even if the dialogue and characters are the same, see Table 7. With the same text about food, the model retrieved dialogue that was setting appropriate. In the fishmonger’s stall, it asked if the human agent was a customer shopping for fish, but in the desert dunes it suggested we might be looking in the wrong place.
6 Conclusion
We introduced a large-scale crowdsourced fantasy text adventure game research platform where agents—both models and humans—can act and speak in a rich and diverse environment of locations, objects, and other characters. We analyzed a variety of models and their ability to leverage the grounding information present in the environment. We hope that this work can enable future research in grounded language learning and further the ability of agents to model a holistic world, complete with other agents within it.
7 Acknowledgements
We thank Taís Mauk and Lisa Wong for their help with this project.
Supplementary Material
Appendix A Model Inputs
For extra clarity, we show here the exact input representation given to our models when including all the grounding features we consider in the experiments (setting, objects, characters + personas, actions, emotes, and dialogue). An example is given in Figure 2.
We note that there are other ways to represent this information that we have not explored that could improve performance. Further, there is additional information in LIGHT that could possibly be encoded in the input text: for example, what characters are carrying, and the affordances of objects. The latter, while not explicitly provided in the input does constrain the available actions, so it is still used by the model. Object affordances such as is gettable are visible to models via the action history, but more explicit inputs could potentially be useful, and this could be explored in future work.
Appendix B Bi-Ranker and Cross-Ranker Speeds
We give test time computation speeds for the BERT-based Bi-Ranker and Cross-Rankers in Tables 11 and 11 for the emote and dialogue tasks. For the emote task, the Cross-Ranker is still feasible due to there being only 22 labels to compute, although it is still 4.6x slower than the Bi-Ranker if the 22 candidate representations are cached. The Bi-Ranker can always cache label representations if they are fixed for many input examples (the common case) because the representation does not depend on the input. For the Cross-Ranker this cannot be done because the label representations are contextually dependent on the input. For dialogue retrieval, because the number of candidates is so large (more than 100,000) caching makes the Bi-Ranker feasible whereas the Cross-Ranker, which cannot cache label representations, is infeasible to compute.
Appendix C Unseen Test Set Overlap
The unseen test set is chosen by design to be relatively distinct from those available in the training set, and the actual content (descriptions, personas, dialogues) are entirely disjoint. However, due to the large size of the dataset, it is possible the names of locations, characters, and objects in the unseen set could have word overlap. We assert this by comparing word overlap with the names of locations, characters, and objects in the training set. Of the 73 locations, 207 characters, and 956 objects created from the unseen location categories, the names of 3 locations, 96 characters, and 203 objects exactly match names of elements in the training set. We note that these represent names such as tavern, but the chats are collected with the full location descriptions (which are unseen in the training set) and thus reduces overlap with train.
Appendix D Crowdsourcing Methodology
Expanding on the dataset collection explanations in section 3, a number of steps were taken to attain a level of quality and consistency. The first and most influential came from the constrains of the setting itself. We used a fantasy setting to try to encourage some kind of continuity across the dataset. We believed that workers would share some kind of common understanding about what a fantasy environment would entail, and then this understanding would be reflected in the dataset. It also ensured there were easy ways to flag certain workers that were creating content that wouldn’t make sense in the dataset (referencing real locations, modern day objects, etc.). From here we could remove some content and filter workers out from continuing to work on this dataset. The other primary technique regarded using rounds of pilots and staged tasks to gradually filter towards high quality content rather than collecting all of the content in a single forward pass. Nearly half of the content in each initial pilot task was discarded, and we iterated on pilot tasks until the discard rate was less than 1 in 30 tasks. The rest of this section will discuss some specific measures taken at the individual task level, and will acknowledge some arguable deficiencies and potential areas of improvement on the dataset in its current form.
Locations
The location task of creating a description, backstory, list of connected rooms, and annotations of characters and objects present seemed to be too disjoint of a task based on the crowdsourcing best practice of breaking down tasks into as atomic of an action as possible. Thus we split it into two tasks, the first to provide the core text content and list of connected rooms, and the second to annotate the content inside those rooms. We will refer to these as Task 1 and Task 2, and were simple form-entry tasks as displayed in Figures 4 and 5. These two tasks were used in sequence to produce the locations present in the dataset.
In order to drive quality, we manually reviewed a handful of rooms from each worker to assert that the rooms had proper English descriptions and back-stories, and that the room fit appropriately in the category provided. In retrospect, given the two-tiered task setup and some of the techniques we developed later in the collection setup, we could have asked workers who were annotating rooms in Task 2 to provide some kind of signal about the quality of the rooms from Task 1 in order to have a lower-cost method for evaluating the quality of the work from Task 1 than using our own time.
Ultimately, one of the most important steps for improving dataset quality at this stage was creating form validators that caught the most common error cases from the first time around. These validators had the bonus effect of deterring botting of our tasks, as they couldn’t pass the validation stage. For Task 1, the simple validator we ended up using asserted at least one complete sentence (determined via capitalization and punctuation) for both the description and background. For Task 2, our validation step forced workers to enter values that had direct word overlap with the entered text.
One of the largest difficulties with Task 2 was that some workers would optimize for grabbing key words out of the text without taking the time to fully understand the context. As thus, phrases like ”and the remains of adventurers long dead” would occasionally result in workers annotating the presence of adventurers as characters in the given room. We attempted to mitigate this type of false positive with both explanatory examples and spot checks to soft-block workers who made this mistake consistently. At the moment a small number of these still remain in the dataset, but generally in instances where it still makes sense as in the above example, where the room definitely has remains of previous adventurers, but appropriately could also have some current adventurers as well.
Characters
Similarly to how we split Location collection into two tasks, Character collection was split into two tasks as well. The first asked workers to clean up the span selected in Task 2 in order to remove words that didn’t directly relate to or describe the character, and to provide a singular form for plural characters (as we intended for someone to eventually play the role of the singular character), tag the character as a person, creature, or object that was accidentally tagged as a character, and then asked for a first-person perspective persona for the singular character. The second task gave workers the name of a character and their persona, and asked for a second-person perspective description for the character as well as a list of objects that the character may be carrying, wielding, or wearing. We’ll call these tasks Task 3 and Task 4, and these were also collected via form-based tasks as displayed in Figures 6 and 7. We used complete sentence form validation for both the persona from Task 3 and text descriptions in Task 4 to flag potential bad examples to filter out.
The goal of the Task 3 was two-fold, first to validate and standardize the format of output from Task 2, and then second to begin to collect the creative content in the form of a persona. For example, we used Task 3 to transition from Sneaky Thieves who stole the gold to Sneaky Thieves to Sneaky Thief. Based on worker feedback from initial pilots, we found that balancing creative and mechanical work in the same task kept workers more engaged with the tasks at hand.
The most common mistake that surfaced in the initial pilots was incomplete entries for tasks that didn’t actually require correction, for example if the provided form was simply Traveler. We chose to embrace this format and assume that unfilled entries were already in their base form. The second most common mistake was describing personas from a third person perspective. This occurrence required manual filtering, as in some cases it was actually somewhat character appropriate to have a persona in that format, such as for an uneducated goblin. We filtered out a majority of these by searching for direct overlap between the provided character name and the persona. Ultimately it’s easy to extract the examples that have the clearest grounding format by filtering for examples that contain ”I”, so as these examples provide more variety in the dataset we chose to keep them.
A remaining issue brought forth by our singular-form constraint is that it was somewhat ambiguous how one would get the singular form of a collective term such as family. In most cases we found that workers would choose to provide the format of collective member or simply person, which sometimes led to vague personas and thus less strong grounding in followup tasks. The content is still workable in these cases though, just not as ideal as we might have wanted. A possible route for improvement here would be a task that asks workers to create a few possible members for a collective for any character we currently have annotated as a member. It is important to note that these cases account for just 44 out of the 1755 collected characters.
One issue of note that surfaced in Task 4 was that workers occasionally described clothing that would potentially lead to risky actions and conversation material, so we chose to eliminate undergarments from the dataset to prevent the creation of inappropriate combinations with the remove action. This was included as something to not write about in the task text.
Objects
The object task is most similar to Task 3, but refocused on annotating objects that were specified in Tasks 2 and 4. It took a step to correct the provided span and give a textual description of the object. It also asked for a number of affordances, namely if the object can be picked up, is a container, is a surface, can be eaten, can be drank, can be worn, or can be wielded. We also collected a flag for if a particular example was not appropriate for the dataset or was hard to make sense of. This content was also collected as a form-based task, and we refer to it as Task 5 and display it in Figure 8. We use complete sentence validation on the text description as a simple quality filter as in previous tasks.
The methodology for Task 5 is very similar to Task 3, trying to both standardize data from previous tasks and act as a filter for bad content that could have been overlooked before. It similarly had both a mechanical data entry and creative component, which tried to keep engagement up.
Overall the largest problem that was surfaced in the pilots was that workers tended to come up with descriptions for objects that were incompatible with our long term goal of having modular components that can be mixed and matched between rooms and scenarios. This came up in many forms, such as workers describing objects as if they were being used in a scene happening in the present, as in the sword glimmered in the hands of the knight, wielded high in the sky in a call to battle. While creative, these ultimately were not what we were looking for, so we explicitly called out descriptions like this and many others as being undesired content in our task description. We then manually checked a few examples from each worker to ensure that the data coming in for the final task mostly adhered to this rule.
It is important to note that the object affordances collected are somewhat noisy due to different possible interpretations of the primary object or the tags. Something like a branch could be valid as a surface in one circumstance, or a gettable weapon in another. We attempted to reconcile some individual affordances where the pairings of affordances didn’t make much sense (for example, very few objects should be both a weapon and edible). This helped with certain objects that were over-tagged, however we haven’t used any methods for reconciling scenarios where an object was under-tagged.
Dialogues
Dialogue collection was the hardest task to get correct, and required the largest number of pilot tasks and worker quality control techniques to get to a place that we were satisfied with. The final approach included creating a simple but deliberate onboarding test that needed to be passed in order to move forward with the task at all, collecting mutual feedback from workers about each other, setting timeouts for how quickly workers needed to respond to each turn, and manually validating a few examples from each worker. Each of these steps aimed to solve a different problem, as described in the rest of this section. We will refer to this task as Task 6, and it was collected using the ParlAI-MTurk interface as shown in Figure 9.
Firstly, we needed to pair two workers together in order to properly collect dialogues with people playing two different roles without necessarily having insider information into the decisions of each others’ turns. While pairing workers solves this problem, it makes the worker experience incredibly dependent on the quality of the worker that they are paired with you. Furthermore, if a worker is paired with a worker that is extremely low quality, the whole dialogue may need to be discarded or is otherwise only useful as an example for how a model might want to react to bad input. If the other worker is good, this makes having any bad workers in the pool not just a poor experience for workers but expensive for the collection process in general. This is the problem that the initial onboarding test aimed to solve. The requirements for passing included entering a specific correct answer as well as at least 4 characters of into the text field. The required action was created such that a worker would have to read and understand the provided persona and setting, how the two interact, the characters and actions available, and be able to synthesize all of the information with an understanding of how to use the interface to send the correct answer. The test required getting the single action correct in 3 attempts. Failing the test on any attempt would permanently soft block a worker from working on Task 6 in the future.
The above test did a lot of work for flagging workers that were well below the bar for completing Task 6 at the level we wanted for the dataset, however as it was a one turn test and it had no way to fully evaluate the quality by which workers would actually incorporate their persona and the setting into their dialogue turns. Furthermore, it didn’t filter out workers that would take too much time on their turns and thus cause their partners to disengage and provide lower quality responses, potentially due to working on other tasks in the background and doing too much context switching. We solved these problems separately.
In order to handle low quality workers, we allowed workers the opportunity to rate each other at the end of each dialogue, and to provide tags about the experience. We found that positive feedback was generally noisy and hard to get signal from, but negative feedback almost always correlated to a worker who was providing bad content. As a bonus, workers gave us positive feedback about this capability, as it allowed them to filter out workers that made the task less engaging and interesting for them. We reviewed this feedback periodically while tasks were running and soft-blocked workers low quality workers whenever they were flagged.
In order to handle the influence of response time on task quality, we set a maximum response time of 5 minutes for any given turn, and overall started soft blocking workers that were consistently above 2 minutes for each message, even if their particular content was pretty good. This improved collection times and did not seem to negatively affect quality.
After this point, manually checking the collected conversations still surfaced a few bad examples when viewing one chat per worker rather than arbitrarily sampling the dataset. In order to remedy this, the last quality check was a direct evaluation of at least 2 dialogues from each worker. This caught a few overlooked instances from workers that didn’t necessarily work on enough tasks to get flagged by one of our consistently reviewing workers. Generally this surfaced some quality issues surrounding profanity, inappropriate content for the given setting, and entire misunderstanding of the task at hand such as never using the persona or location as grounding context in the conversation. As not all workers were particularly diligent raters (as confirmed by the low signal of positive ratings - workers don’t necessarily want to flag each other as bad), a few workers were able to slip through the cracks up until this point due to not completing enough tasks to encounter a rater that flagged them.
One small acknowledgement throughout the dialogues is that there are still misspellings, improper grammar, mistaken keystrokes, and such. While the rate of occurrence is orders of magnitude lower than we observed in the initial pilots, it is hard to separate cases where it is a genuine mistake versus cases where it is appropriate for the character, such as a pirate using seaworthy lexicon and adding extra R’s to suggest a pirate-like drawl, or a snake that slips in extra S’s to better play the role.
Appendix E Descriptions of Actions and Emotes
The LIGHT action set builds upon the graph framework introduced in Mastering the Dungeon Yang et al. (2017). The basic idea presented is that everything in the text adventure game can be represented as nodes, and then state is described by edges between those nodes. In this way, an agent and an object can be in a room, and that agent can be carrying a different object or a container might have an object inside as well by the same kind of relation. After defining this relationship, we can further define a set of actions that can be taken based on a combination of the state of the graph and the attributes of nodes in that graph. The available actions for the dialogues collected in this dataset, along with the constraints for applying those actions, are available in Table 12. We used the crowdsourced object affordances to set the correct attributes for nodes in the graph (if the object can be picked up, is a container, is a surface, can be eaten, can be drank,can be worn, or can be wielded).
For the emotes, we paired down a list of emotes sourced from existing MUDs to reduce redundancy and task complexity at the acknowledged cost of expressiveness. This led us to select just one out of scream, shout, and yell instead of keeping them all, as having all of the emotes would lead to a more complicated crowdsourcing task than we wanted to risk. We ended up with a set of 22 emotes, listed in Figure 3.
Appendix F Descriptions of Human Evaluations
As crowdworkers can sometimes be inconsistent, we set up two filters to onboard workers into being fair representatives for human perfomance on the task. The first gave workers a few chances to select the correct input for a turn each of dialogue, emote, and action on a scenario we created to strongly hint at the correct answer. We then chose to use performance on the training set as a secondary filter to have workers that were capable of the task. Each of the tasks has a different level of difficulty, so we selected reasonable benchmark values based on our own performance on the tasks. For dialogue, this required getting all 7 of the turns from the training set correctly. For actions, this required getting 6 out of 8 turns from the training set correctly. Lastly for emoting, we required getting only 2 out of 8 turns from the training set correctly. On the seen set, our accuracy on the dialogue, action, and emote tasks were calculated from 217, 165, and 211 turns respectively. On the unseen set, we calculated the accuracy from 196, 114, and 209 turns respectively.
Appendix G Embedding Visualizations
To explore the diversity of LIGHT, we use t-SNE van der Maaten and Hinton (2008) to visualize the embeddings of the different atomic dataset elements – locations, objects, characters, and actions. We use two different embeddings methods to tease out two key aspects of our dataset: 1) the interconnectedness of grounding information (relationships between different types of elements, such as the actions available around given objects, or in a given location), and 2) coverage (the variety of different objects, locations, and characters in our world).
To explore the interconnectedness of our dataset, we visualize the embeddings learned when training the baseline Starspace ranking model on the task of dialogue, action, and emote prediction, in this case with no pretrained vectors so learning comes from our dataset alone. The t-SNE visualizations of these Starspace embedding can be found in Figure 17. Because the Starspace model operates by mapping all inputs and outputs to a shared embedding space, we find the learned embeddings capture many of the nuances and relationships between different elements of our dataset. For example, looking at the nearest neighbors for the location “Dock” (the bottom-right of Figure 17), we see actions like “get crate from ship,” “put plank in ship,” objects like “ship” and “rope,” and characters like “boat workers.” We see similar relationships captured when looking at nearest neighbors for the “painters” characters, the “hug horse” action, and the “pillows” objects.
To explore the coverage of our dataset, we use pretrained GLoVe word embeddings Pennington et al. (2014), trained on the Common Crawl corpus. As each dataset element can consist of multiple words (e.g. “give the horse a potato,” or “The Queen’s Chamber”), we take the mean of the GLoVE vectors for each word as the fixed vector embedding for the element. The t-SNE visualizations of these GLoVe-embedded elements can be found in Figure 18. Unlike the Starspace embeddings, which capture the structure present in the relationships between different types of dataset elements, we find that the GLoVe embeddings capture the breadth and semantic similarities of dataset elements. For example, looking at the nearest neighbors for the embedding of the “Dock” location, we see similar locations present in our dataset, like “Ferry Terminal,” “Wharf,” “pier,” and “Boathouse.” Similarly, if we look at the nearest neighbors for the “pillows” objects, we see other objects like “bedding,” “mattresses,” “rugs,” “towels,” and “curtains.”
Appendix H Action and Emote Relationships
To visualize the interaction trends between actions and emotes in LIGHT, we present heatmaps (in Figure 19) counting the number of occurrences of each immediately before or after one’s partner performs an action or emote. While responses to an action or emote can evolve over multiple timesteps, we limit this visualization to action relationships within a single timestep. Additionally, to effectively measure trends in physical actions, we cluster all physical actions by the root word (for example, “steal the sword from the soldier” becomes “steal”).
While for the most part there are a multitude of different observed physical and emotional responses for each partner move, there are certain interesting trends to observe. Looking at the top-left of Figure 19, we see that if one’s partner makes a “hit” action, the most likely response is to “hit” back. Looking at the same plot, we see that “hug” actions are similarly reciprocated. If we look at the interplay between physical actions and emotes (top-right of Figure 19) we see a relationship between one’s partner taking a “hit” action, and issuing a “scream” emote in response. Going the other direction and looking at the relationship between emotes and physical actions, we see that performing a “cry” or “smile” emote is likely to be met with either a consoling or celebratory “hug.” Finally, looking at the relationships between a partner’s emote and an emote response, we see that positive emotes like “laugh” and “smile” are likely to be reciprocated with a similar (if not identical) emote.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Antol et al. (2015) Stanislaw Antol, Aishwarya Agrawal, Jiasen Lu, Margaret Mitchell, Dhruv Batra, C Lawrence Zitnick, and Devi Parikh. 2015. Vqa: Visual question answering. In Proceedings of the IEEE international conference on computer vision , pages 2425–2433.
- 2Bordes et al. (2017) Antoine Bordes, Y-Lan Boureau, and Jason Weston. 2017. Learning end-to-end goal-oriented dialog. In Proceedings of the International Conference on Learning Representations (ICLR) .
- 3Bordes et al. (2010) Antoine Bordes, Nicolas Usunier, Ronan Collobert, and Jason Weston. 2010. Towards understanding situated natural language. In Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics , pages 65–72.
- 4Brodeur et al. (2017) Simon Brodeur, Ethan Perez, Ankesh Anand, Florian Golemo, Luca Celotti, Florian Strub, Jean Rouat, Hugo Larochelle, and Aaron Courville. 2017. Home: A household multimodal environment. ar Xiv preprint ar Xiv:1711.11017 .
- 5Brooks (1991) Rodney A Brooks. 1991. Intelligence without representation. Artificial intelligence , 47(1-3):139–159.
- 6Chang et al. (2017) Angel Chang, Angela Dai, Thomas Funkhouser, Maciej Halber, Matthias Nießner, Manolis Savva, Shuran Song, Andy Zeng, and Yinda Zhang. 2017. Matterport 3d: Learning from rgb-d data in indoor environments. ar Xiv preprint ar Xiv:1709.06158 .
- 7Côté et al. (2018) Marc-Alexandre Côté, Ákos Kádár, Xingdi Yuan, Ben Kybartas, Tavian Barnes, Emery Fine, James Moore, Matthew Hausknecht, Layla El Asri, Mahmoud Adada, et al. 2018. Textworld: A learning environment for text-based games. ar Xiv preprint ar Xiv:1806.11532 .
- 8Das et al. (2017) Abhishek Das, Satwik Kottur, Khushi Gupta, Avi Singh, Deshraj Yadav, José MF Moura, Devi Parikh, and Dhruv Batra. 2017. Visual dialog. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition , volume 2.
