# 人狼知能開発のためのドメイン特化事前学習モデルの作成

角田一星
静岡大学 情報学部
itsunoda@kanolab.net

## 1 はじめに

不完全情報ゲームである人狼をプレイする人工知能の開発は人狼知能プロジェクト [1] と呼ばれ、高度な自然言語によるコミュニケーションと推理を要することから挑戦的なテーマとして盛んに研究されている。

しかし、人狼知能プロジェクトのような限定されたドメイン下では、近年主流となっている深層学習を用いるための十分なデータを用意することが難しい。そこで、そのような限定的なドメイン下での研究を支援するため、BERT[2]のような事前学習済みモデルの転移学習が頻繁に行われている。しかし、既にトークナイズを含め学習を行ったモデルを、通常とは大きくかけ離れたドメインに適応することは望ましくない。例えば人狼ゲームでは、専門用語や記号を頻繁に使用する上に多人数での会話を行っており、日本語 wikipediaコーパス等での事前学習が効果的かどうかは疑いの余地ある。実際、Sci-BERT[3] や、Bio-BERT[4] のようなドメイン特有のコーパスで事前学習させたモデルが汎用的なコーパスで学習させたモデルより高い精度を出したことが報告されている。

そこで本研究では、ネット上で行われた人狼ゲー ムのログを学習コーパスに用いた人狼ドメインに特化した事前学習モデルの作成を行った。提案手法により、限定的なドメインにありがちなコーパスの不足をデータ拡張によってカバーし、多人数会話口グを事前学習用コーパスとして用いる一例を示した。また、モデルに関しては、入力の最大長の設定によってモデルが学習した文脈の活用の仕方に違いがあることがわかり、汎用的なドメインのコーパスで学習されたモデルより少ない計算コストで同等の性能を発揮することができることを確認した。1)


\author{
狩野芳伸 \\ 静岡大学情報学部 \\ kano@inf.shizuoka.ac.jp
}

## 1.1 人狼とは

人狼ゲームは、数人から十数人のプレイヤーによって行われる。各プレイヤーには役職が割り振られ、その役職に応じて村人陣営と人狼陣営に分かれて戦う。互いのコミュニケーションによって"人狼" の役職を割り当てられたプレイヤーを見つけ出すことがこのゲームの目的である。各役職には他人の役職が分かる等の能力があり、嘘をついたり見破ったりしてゲームを自分の有利に進めることがこのゲー ムの醍醐味である。そのため、このゲームではプレイヤーの発言を正しく理解することが何よりも重要であり、高度な言語処理が要求される。

## 2 提案手法

## 2.1 事前学習モデル

事前学習タスクには Masked Language Model(以下 MLM)のみを設定した。BERT では MLM に加えて NextSentencePrediction(以下 NSP)を行うが、人狼のような多人数会話においては関連する発話が常に隣接するかどうかは保証することができず、NSP は事前学習タスクとして効果が薄いという研究結果 ([5], 4.2 項) も報告されていることから NSP は不必要であると考えた。

また、モデルの最大長が 128 トークンの small モデルと最大長が 254 トークンの large モデルの 2 つを用意した。この際、small モデルと large モデルの時間計算量を揃えるため、small モデルは large モデルの 2 倍のバッチサイズになるようにした。さらに、small モデルと large モデルの最大長以外のモデル設定の差異を可能な限り減らすため、small モデルの学習時の入力には、 large モデルに入力するデー タ 1 件を半分ずつに分割して入力するようにしてまったく同じ入力文から学習を行うようにした。詳細は以降のセクションで解説する。

なお、モデルのハイパーパラメータや細かいモデ

図 1 Windowを $1 / 3$ ずつスライドさせればコーパスは 3 倍になる。

表 2 データ成形の例

<spk>少女リーザ</spk>個人的には

ジムゾンを占って欲しいかなくbr>

## ル設定は表 1 に示した通りである。

## 2.2 コーパス

事前学習モデルのコーパスには、ネット上でチャット形式で行われている人狼 BBS[6] の全試合をクロールし用いた (ログの具体例に関しては付録に記載した)。 7249 試合、16,402,471 発話を収集し、約 5.3GB となった。なお、発話内の URL やメールアドレスは除去し、数字はゲームに関係することが多いため残している。また、改行は<br>トークンに置換し、発話者を示すための<spk>,</spk>トークンを発話冒頭に付加した(表 2)。

## 2.3 データ拡張

2.2 で用意したコーパスのデータサイズは日本語で 5.3GB と、[2]や [5] の研究に比べて不足しているため、モデルの最大長で Window を定義しスライドさせていくデータ拡張を行った(図1)。これにより、異なる文脈によって条件付けられたデータを用意することができ、Windowを $1 / 3$ ずつスライドさせたためデータサイズは約 3 倍の 17GB となった。結果、8,967,034 件の 254 長のトークン系列を用意することができ、そのうち $8,877,364$ 件を train セット-large、残りの 89,670 件を test セット-large とした。 また、それらの各データについて半分の 127 長ずつに分割し、文頭、文末トークンの足りない方を付加して 128 長の small モデル用のデータセットとした (データセットのサイズは 2 倍になる)。

## 3 実験

今回作成したモデルの学習設定は、一般的な BERT のモデル設定 [2] に対して、step 数は約半分、 バッチサイズは small モデルが $1 / 2$ large モデルが $1 / 4$ であり、それぞれ $1 / 4 、 1 / 8$ ほどの少ない計算コストとなっている。そこで、作成したモデルの性能を確かめるため、以下の 3 つの実験を行った。

## 3.1 下流タスク

人狼 BBS コーパスで学習した有効性を確かめるために、作成した 2 つのモデルに加えて日本語 Wikipedia コーパスによって学習された BERT[7] の計 3 つのモデルを人狼ゲームに関する下流タスクによって比較した。下流タスクには稲葉らの公開しているコーパス [8] を拡張して作成したデータセットを用いたテキスト分類を設定した (付録 A. 3 参照)。 このタスクは、人狼中の発話をカミングアウト (自らの役職を告白すること、CO) 発話や、占い結果発話などのゲーム中に重要となる発話行為に分類する

図 23 種類の文脈の作成方法

表 3 発話行為分類結果

タスクであり、人狼知能の開発には基本となるものである。データサイズは、11952 件で、このデータセットを train:dev:test=6:2:2 に分割して学習、テストを行った。データ数に関しては表 5 に記載した。

結果は表 3 のようになった。全てのモデルで高いスコアとなり、モデルの性能にほとんど差は見られなかったが、今回作成したモデルの学習設定は wiki モデルに対して small は $1 / 4$ 、large は $1 / 8$ の計算コストであり、少ない計算コストでwiki モデルと同等の性能を発揮したということが確認できた。

## 3.2 マスクトークンの予測

small モデルと large モデルの言語モデルとしての性能を比較するため、マスクトークンの予測による perplexityを算出した。その際、比較のために、 2.2 で用意したテストデータセットに対しては静的なマスキング処理を行い、2つのモデルが同一箇所に対するマスクトークン予測を行うようにした。

結果は表 4 に示した通りとなった。large テストセットに関しては 2.1 で示した訓練方法の効果によりほぼ同一の結果となったが、small テストセットに関しては small モデルが大差をつけて精度が高

表 5 発話行為分類タスクのデータ

かった。これには二つの理由が考えられる。一つは、small テストセットは large テストセットを分割して作成されたため、large モデルが活用できる長いスパンの文脈情報が失われたことにより large モデルの不利になったこと。もう一つは、2.1 で示した訓練方法の通り、small モデルは 128 長のデータに関してバッチサイズを 2 倍にして学習していることから epoch 数が 2 倍になり、128 長のデータに関しては small モデルが有利なことである。この結果より、同一の時間計算コスト、同一文章からモデルを学習させたとしても small モデルと large モデルでは異なる文脈情報を活用するよう学習しており、small モデルは狭い範囲の文脈情報をより深く、large モデルは広い範囲の文脈情報を浅く活用しているということがわかった。large モデルの文脈情報の活用に関しては次のセクションでさらに調査した。

## 3.3 文脈活用

large モデルがどの程度文脈を活用することができているのか、またどのような文脈を活用しているのかを明らかにするため、マスクされていない文脈情報を追加で入力する large モデルと追加しない small

図 3 small モデルと large モデルの perplexity の比

モデルとで perplexity の比較を行った。文脈情報はは図 2 に示した通り、マスキング箇所の前 127 トー クン、前後 63/64トークン、後 127 トークンの 3 種類である。また、マスキングの確率を 0.05 間隔で変化させて実験を行った。図 3 は、その結果であり、 small モデルと large モデルの perpexity の比である。

図3を見ると、常に値は 1.0 を超えており、small モデルでは入力することのできない文脈情報が perplexity の低下に効果的であることがわかった。 また、文脈は、前後 $>$ 前 $\fallingdotseq$ 後の順に perplexity の低下に寄与しており、限られた入力長下では双方向の文脈を入力することが最も効果的であることもわかった。図 3 が指数関数的に増大しているのは、マスクトークン同士の依存性を学習できない MLM 下ではマスクトークンが増えるほど文脈情報に依存するためである。

## 4 おわりに

人狼 BBS のゲームログを用いた人狼ドメインに特化した事前学習モデルを作成した。その際、コー パスに対して Windowを重複させながらスライドすることにより学習データの水増しを行い、ドメインを限定することに伴うデータ不足を軽減した。実験により、少ない計算コストで同等の性能を出せたという点でドメインを限定した事前学習モデルが効果的であることがわかった。また、モデルは最大長の違う 2 種類を用意し、同じ時間計算コストの下で同じ文章から学習させたモデルでも最大長によってモデルが活用する情報に違いがあることがわかった。 そのため、下流タスクでより広範囲の文脈を必要としないならば精度の良い small モデル、そうでなければ large モデルという使い分けが考えられる。 また、今回作成したモデルでは、MLM 以外の事前学習タスクを行っておらず、文の分散表現に関しては学習を行っていない。今後は、文の分散表現を獲得するための事前学習タスクの考案とその評価方法が課題であり、ゲーム情報を活用した人狼特有の事前学習タスクを行いたいと考えている。

## 5 謝辞

本研究を行うにあたり、人狼 BBS のデータ使用を許可していただいた ninjin 氏に心より感謝致します。

## 参考文献

[1] 片上大輔, 鳥海不二夫, 大澤博隆, 稲葉通将, 篠田孝祐, 松原仁ほか. 人狼知能プロジェクト (<特集>エンターテイメントにおける ai). 人工知能, Vol. 30, No. 1, pp. 65-73, 2015.

[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. CoRR, Vol. abs/1810.04805, , 2018.

[3] Iz Beltagy, Arman Cohan, and Kyle Lo. Scibert: Pretrained contextualized embeddings for scientific text. CoRR, Vol. abs/1903.10676, , 2019.

[4] Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, and Jaewoo Kang. Biobert: a pre-trained biomedical language representation model for biomedical text mining. CoRR, Vol. abs/1901.08746, , 2019.

[5] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized BERT pretraining approach. CoRR, Vol. abs/1907.11692, , 2019.

[6] ninjin. 人狼 bbs, 2021. http://ninjinix.com/.

[7] 鈴木正敏. Pretrained japanese bert models, 2021. https://github.com/cl-tohoku/bert-japanese/ blob/master/README.md.

[8] 稲葉通将, 狩野芳伸, 大澤博隆, 大槻恭士, 片上大輔, 鳥海不二夫. 人狼 bbs に対する役職表明・能力行使報告情報のアノテーション. 第 32 回人工知能学会全国大会, 1H1-OS-13a-01, 2018 .

## A 付録

図 4 人狼 BBS の発話例

表 6 MLM の例

リーザちゃんの木の実占い！この袋の中には、白と黒の木の実が入っています。

今から、木の実をひとつだけ取り出します。白い木の実なら人間、黒い木の実なら狼さんです。

・・取り出したのは、白い木の実なのです・・・!【フリーデルさんは<mask>!】

## A. 1 人狼 BBS の発話例

図 4 は人狼 BBS の発話例である。プレイヤーはキャラクターに応じたロールプレイをすることが多く、専門用語や記号を多用する。

## A. 2 MLM の例

マスクトークン予測の例を表 6 に示す。人狼 BBS では"【】"によって重要部分を囲む慣例があるため、この部分をマスクトークンにすることで例のような簡易的な要約も可能である。

## A. 3 下流タスク

[8] のアノテーションのうち、用いたラベルは"CO","占い結果","霊能結果","護衛"であり、"占い結果"と"霊能結果"は統合した。さらにスクレイピングした際のゲーム情報を利用することで、発話行為ラベルを CO した役職ごとや能力の対象にしたキャラクターごとに細分化し、ラベル数を 44 とした。また、ドメインを人狼 BBS のみに偏らせないために"【】"を除去するデータ拡張と、"【】"部分を要約したデータを人手で作成するデータ拡張を行っている。