Facebook:既能對話又能行動的冒險遊戲研究平台LIGHT | EMNLP 2019

  • 2020 年 3 月 27 日
  • 筆記

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預測對話的實驗結果

總結

本文介紹了一個大型眾包文本冒險遊戲研究平台。該平台提供豐富多樣的環境,包括位置、物體及其角色等。在這個環境下智慧體(模型或人)能說也能動。另外本文還分析了在環境中多個模型及其各自使用背景資訊的能力。希望這項工作能使促進場景語言學習的研究,並提升智慧體建模整個世界的能力。