はじめに
この記事は社内の論文輪講のためにまとめたものです。今回はLearning to Speak and Act in a Fantasy Text Adventure Gameという論文を読みました。
概要
根拠のある対話を研究するためのリサーチプラットフォームとして、クラウドソーシングによる大規模なテキストアドベンチャーゲームを紹介します。
この論文では、以下の設定で最先端の生成モデルと検索モデルをトレーニングした結果について説明します。
- エージェントは他のエージェントと対話しながら、知覚、感情移入、行動することができます。
- モデルと人間の両方がゲーム内でキャラクターとして行動できます。
これらのモデルは、過去の対話に加えて、基礎となる世界の状態を効果的に使用して予測を調整できることを示しています。 特に、場所の説明を含むローカル環境の詳細、およびその中に存在するオブジェクト(およびそれらのアフォーダンス)とキャラクター(およびそれらの以前のアクション)に基づいてエージェントの動作と対話をより正確に予測できることを示します。
上記の設定で成功を収めるために必要な成分を分析し、これらの各要因が、うまく話し、行動できるエージェントとどのように関連しているかを分析します。
イントロダクション
現在の最先端の研究では言語が記述する世界を理解せずに言語データの統計的規則性のみを使用しています。しかしこの論文では、豊かでまとまりのある(しかし扱いやすい)世界で具体化された対話エージェントは、大規模なコーパスよりも効果的に言語での対話を学習できるという仮説に基づいて研究を行いました。
そのために私たちはLIGHTと呼ぶ研究プラットフォームを紹介します。
収集したデータセットを使用して、モデルがその環境の知覚と他のスピーカーからの対話に基づいて話し、行動する方法を調査します。この調査では、最新のモデルを私たちのタスクによって評価し、grounding(ペルソナや環境設定など)を追加することによる効果について評価します。特に、BERTコンテキスト言語モデルを2つの方法で対話のタスクに適合させます。
- 検索モデルとして高速で実用的なBi-Ranker
- 推論時間は遅いが、コンテキストと応答の間でより多くの機能の相互相関が可能になるCross-Ranker
私たちのアブレーション分析は、言語の理解と使用の両方の観点から、基礎の各部分(場所、オブジェクト、キャラクター、他者の行動、自己行動)の重要性を示しています。groundingを使用するモデルは明確な改善を示していますが、人間レベルのパフォーマンスを発揮するレベルではなく、それに関しては将来の課題としています。
LIGHT Environment and Task Setup
LIGHTとは
LIGHTは、状況に応じた対話を学ぶために設計されたマルチプレイヤーファンタジーテキストアドベンチャーの世界であり、人間、具体化されたエージェントとしてのモデル、および世界自体の間の相互作用を可能にします。それは完全に自然言語で記述された大規模なクラウドソーシングゲームの世界(663の場所、3462のオブジェクト、1755のキャラクター)で構成されています。 そのゲームの世界内で、アクション、エモート、および対話を含むcharacter-drivenな人間と人間のクラウドワーカーの相互作用の大規模なセット(11,000エピソード)を収集し、人間と同様なインタラクションをおこすトレーニングモデルを目指します。フレームワークはParlAIで公開されています。以下にその対話の例の一つを示します。

全体的な要素については以下のTable 1に示されています。
Locations
私たちは最初に37のベースとなるカテゴリ(田舎、森、城の内外、海岸、墓地、バザール、....)から663の環境をクラウドソーシングしました。以下のTable 2aのように、作業者にはカテゴリーが与えられ、説明、バックストーリー、接続されている場所の名前、含まれているオブジェクトなどを作成するように求められます。
残りのすべてのタスクは、6つの場所カテゴリー
- 水中アクアポリス
- 凍ったツンドラ
- 超自然的
- 魔法の領域
- 雲の中の都市
- ネザーワールド
を選択し、テストのための場所、キャラクター、オブジェクトの隔離されたセットを提供するために、他のものとは異なるように設計しました。これらは、私たちが「Unseen Test」と呼ぶものを構築するために使用されます。
Characters
私たちは、動物からトロール、オーク、人間まで、1755人のゲームキャラクターをクラウドソーシングしました。以下のTable 2bにその例が示されています。
Objects
私たちは3462個のオブジェクトをクラウドソーシングしました。テキストの説明とアフォーダンスのセットで(容器であるか、手に取ることができるか、表面を持つか、武器であるか、身につけることができるか、食べ物であるか、飲み物であるか)、例については以下のTable 2cに示されています。
Actions and Emotes
物理的なアクションには、get, drop, put, give, steal, wear, remove, eat, drink, hug, hitがあり、それぞれ1つまたは2つの引数を取ります。
すべてのアクションは、基礎となるゲーム状態に明確な影響を与え、制約が満たされた場合にのみ実行されます(例えば、後者の例では、エージェントがローブを持っている場合など)。
表情には、拍手、赤面、クリンジ、泣き、ダンス、しかめ面などがあります。エモートには、拍手、赤面、クリングル、泣き声、ダンス、しかめっ面、拗ね声、波動、ウィンク(全部で22個)があり、近くにいるキャラクターにエモートを通知する以外には、ゲーム状態に影響を与えず、キャラクターの行動に影響を与えることができます。詳細な説明はAppendix E を参照のこと。
Interaction
設定した環境の中で行動したり発言したりするエージェントを評価するために、環境内でのエピソード的な対話の人間と人間のデータセットを収集します。
各対話については、ランダムな場所に2人のキャラクターを配置します(すでに割り当てられている2人のキャラクター、またはランダムに割り当てられたキャラクターのいずれか)。各キャラクターは自分のペルソナ、場所の説明、存在するオブジェクトにアクセスすることができ、相互作用のエピソードが始まります。また2人のキャラクターは、エピソード内で交代で1つのアクション(身体的アクションまたはエモーション)を実行し、1回の交代で1つの台詞を発することができます。
私たちは10,777個のセリフをクラウドソーシングしました。
Seen and Unseen Test Sets
私たちは2つの異なるテストセットを提供します。Seen test setは、トレーニングセットと同じ世界(場所の集合)で収集された対話から構成され、訓練データに登場する可能性のあるキャラクター、オブジェクト、ペルソナから構成されます。これに対して、Unseen test setは、見られない場所の集合に収集された台詞で構成されています。
Unseen test setは、似たような領域の未知の環境への一般化能力を評価することができ、現在の技術にとってより困難なテストを提供しています。
学習方法
アクション、エモート、対話を予測できるさまざまなモデルを検討し、設定内の場所、オブジェクト、およびその他のキャラクターに基づいてgroundingの重要性を探ります。 すべてのモデルで、各入力タイプ(ペルソナ、設定、セルフエモート、パートナーエモートなど)の前に特別なトークンがある大きなテキストシーケンスとしてコンテキストを表します。 私たちは2つのモデルクラスで作業します。
- 候補となる一連の候補から最大のスコアリング応答を出力するランク付けモデル
- 単語ごとにデコードする生成モデル
モデルの実装にはPyTorchを使用します。以下より用いたモデルについて示します。
Baseline Ranking Methods
ランダムベースライン(候補の中からランダムな候補を選択する)と、TF / IDF重み付けによる単語の重複を使用する情報検索(IR)ベースラインについて示します。ランキング損失を使用して真のラベルの内積を最大化するために、コンテキストと候補のバッグオブワードのEmbeddingをStarspaceを用いて学習して、fastTextより22クラスの中から次のエモートを予測します。最終的に、最良のモデルのパフォーマンスを各予測タスクの人間のパフォーマンスと比較します。
Transformer Memory Network
Transformerを用いて、grounding情報(設定、ペルソナ、オブジェクト)から各文の個別の表現(メモリスロット)を生成します(Dinanらのmemory-based ranking modelを使用)。次に、メモリを介して対話コンテキストが与えられた場合にattentionを実行して、コンテキストのEmbeddingを生成します。 トレーニング時には、バッチ内の他のサンプルが負の候補として使用されます。 感情の予測については、22クラスしかないため、可能な感情の完全なセットに対してランク付けしてトレーニングします。
BERT Bi-Ranker and Cross-Ranker
BERT事前トレーニング済み言語モデルを対話と行動予測のタスクに適合させます。 BERTを活用するための2つのアーキテクチャについて説明します。 まず、 BERTベースのBi-Rankerを使用して、コンテキストのベクトル表現と各候補発話の個別の表現を生成します。 この表現は、BERTの12層の最初の出力を追加の線形層に通すことで得られ、結果として、次元768のEmbeddingが行われます。次に、これらのEmbedding間の内積を介して候補にスコアを付け、ランキング損失を使用してトレーニングします。
第2に、 BERTベースのCross-Rankerは代わりに各候補発話にコンテキストを連結します。 次に、すべての候補についてソフトマックスを計算することにより各候補にスコアが付けられます。 BERTベースのBi-Rankerとは異なり、個々の候補とコンテキストを連結することで、各候補のエンコード時にモデルがコンテキストに注意を払い、各候補のコンテキスト依存表現を構築できます。対照的に、Bi-Rankerは、self-attentionを使用して候補とコンテキスト表現を構築できますが、コンテキストに基づいてそれらの表現を変更することはできません。 ただし、Cross-Encoderは、連結表現ごとに再計算する必要があるため計算コストがはるかに高いです(対話検索の場合、Bi-Rankerよりも約11,000遅くなります)。それに対してBi-Rankerは候補をキャッシュして再利用できます。
Generative Models
コンテキスト機能(会話、ペルソナ、設定など)をエンコードするために、Transformer Memory Networkを同様に用います。ただし、アクション、エモート、または対話のシーケンスを予測するために、Transformerを使用して、エンコーダーの出力に注意しながらデコードします。
アクション生成のタスクでは、真のアクションシーケンスをランク付けするためのランク付けモデルの候補のセットは、有効なアクションのセットによって制約されます。 たとえば本がない場合、キャラクターは本を拾うことができません。生成モデルでは可能な候補のセットの対数尤度を計算し、正規化して出力スペースを有効なアクションに制限して結果を改善します。
Model Inputs
実験で考慮しているすべての基礎となる特徴(設定、オブジェクト、キャラクター+ペルソナ、アクション、エモート、対話)を含む場合の、モデルに与えられた正確な入力表現をFigure 2に示します。
評価
モデルを評価するために、アクションと感情予測のパーセンテージ精度を計算します。対話については、正解となる発話とランダムに選択された他の19のランク付けモデル候補から選択させる分類問題としてその正解率を評価します(Recall@1/20)。Generative modelの評価についてはPerplexityとF1スコアを計算します。
この評価は人間に対しても同様に行います(詳細はAppendix Fにて)。
結果
Comparison of Models and Baselines
ランク付モデルの比較が以下の表になります。
この結果では、BERT-basedのモデルが高い性能を示していました。しかしHuman performanceに比べて、Test Seenでは11point、Test Unseenでは21pointの差があるのでまだ改善の余地があります。
Data Inter-connectedness and Coverage
以下のTable 3は、Starspace embeddingモデル(事前学習なし)でのEmbeddingについて示しています。学習可能な概念の多様性と、文字、場所、オブジェクト、アクション、およびそれらを記述する言語の間の豊かな構造が明らかに存在しています。
また、これらの関係を示す追加のt-SNE プロットとヒートマップをAppendix Gに示しています。
Effect of Various Environment Features
私たちは、対話だけでなく、設定の説明、キャラクターのペルソナ、説明文付きのプレゼントオブジェクトなど、環境に関する大量の情報を各モデルに提供しています。その有用性についてTable 5,6に示しています。
対話タスクでは、すべての環境情報にアクセスできることが、検索モデルと生成モデルの両方で最高のパフォーマンスを提供します。対話の訓練だけではパフォーマンスは大幅に低下しますが、過去の行動やペルソナ、設定の説明などの下地となる情報を追加する実験を行うたびにスコアは向上します。
オブジェクトの機能を追加することに対してはあまり精度の改善はされませんでした(存在し得るオブジェクトの量が多く、オブジェクトの記述が長い傾向があるため、モデルがそのような情報を対話、行動、またはエモーション予測タスクに関連付けることは困難である可能性があります)。 ペルソナを追加することで大きな改善がされましたが、これはキャラクターの言うこと(すること)を形作っているのですから、理にかなっています。
過去の行動履歴のみを使用した場合と比較して、対話履歴を使用した場合のアクションシーケンスとエモート予測は大幅に改善されています。その他の特徴は、一般的にこのケースでは影響が少ないですが、それでもいくつかの改善が見られます。
最も重要なことは、すべてのタスクにおいて対話データのトレーニングが良いパフォーマンスを発揮するために必要であるということです。行動と感情だけをコンテキストとして利用すると、行動と感情の予測タスクでも最悪の結果になります。
Context affects predicted utterances
BERTベースのBi-Rankerを使用して、コンテキストを変更し、予測された対話、アクション、およびエモートの変化を調べることにより、予測に対する環境コンテキストの影響を調査します。
以下のTable 9の例では入力された対話と話者によって予測したアクションに強い影響を与えています。
例えばパートナーがアイテムを要求したときに、データセットが明示的に示していないにもかかわらずパートナーに依存するアイテム取得のアクションを予測します。
同じような例が以下のTable 8にも見られました。対話と感情の入力を変更すると、様々な感情を予測しました。さらに会話のコンテキストを固定したままパートナー名を変更することで予測される感情も異なり、例えばmermaidが"I will battle him"といったときには"stare"と予測したことに対してorcが発言したときには"nob"という感情を予測しました。
最後に以下のTable 7のように、予測された対話がセリフとパートナーが同じであっても、環境によってことなる結果となることがわかりました。
例えば、同じfoodというテキストでも環境に応じた対話を予測していました。 fishmonger’s stallでは、人間のエージェントが魚を買う顧客であるかどうかを尋ねましたが、desert dunesでは、間違った場所を探している可能性があることを示唆していました。
結論
この論文ではクラウドソースのファンタジーテキストアドベンチャーゲーム研究プラットフォームを紹介しました。その世界でのエージェント(モデルと人間の両方)は行動でき、場所、オブジェクト、その他のキャラクターの豊かで多様な環境で話します。
また、さまざまなモデルと、環境に存在する接地情報を活用するそれらの能力を分析しました。
この作業により、基礎となる言語学習の将来の研究が可能になり、エージェントが他のエージェントを含む全体的な世界をモデル化できるようになることを願っています。