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

角田一星
静岡大学 情報学部
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 のみに偏らせないために"【】"を除去するデータ拡張と、"【】"部分を要約したデータを人手で作成する データ拡張を行っている。
 角田一星 静岡大学 情報学部 itsunoda@kanolab.net  