言語処理学会 第25回年次大会 発表論文集 (2019年3月)

ステルス人狼エージェント作成に向けた発話数と注目数の分析
阪本永山 翔滋 †1 阿部 穣太郎 †1 大矢 康介 †1浩太郎 †1†2 渋木 英潔 †1 森 辰則 †1 神門 典子 †2†1

横浜国立大学 †2 国立情報学研究所
E-mail: {nagayama,jotaro,kosuke-o,sakamoto,shib,mori}@forest.eis.ynu.ac.jp, kando@nii.ac.jp

1

はじめに

人狼ゲームとは、対話を通して「村人」の中に潜伏した「人狼」を見つけ出す対戦型の多人数ゲームであり、近年、人狼知能プロジェクト1 など研究テーマとしても注目されている。人狼知能プロジェクトでは、「人間と自然なコミュニケーションを取りながら人狼をプレイするエージェント（AI）の構築」を究極の目標としており、エージェント同士の対戦成績を一つの指標として人工知能の研究開発に取り組んでいる。我々も人狼知能プロジェクトに参加し、上位の成績を修められるようなエージェントの開発を行っている。
そのための第一歩として、本稿では人間同士が実際に行った人狼ゲームの対話内容を分析する。人狼ゲー
ムの対話を分析した研究として、文献 [1] などが挙げられる。これらの研究では、分析対象として人狼 BBS2のログを用いており、本稿でも人狼 BBS を対象として分析を行う。人狼 BBS とは、オンラインで行う掲示板型人狼ゲームである。分析すべき観点は幾つかあるが、本稿では「人狼」エージェントに焦点をあて、人狼ゲームにおける人狼側がとる戦術の一つである「ステルス人狼」の実現を目指して、人狼ゲームにおける対話の分析を行う。

図 1: ゲームの流れと主な役職

てられ、他のプレイヤーからは分からないようになっている。人狼ゲームはチーム戦で村人陣営と人狼陣営に分かれて戦う。人狼以外のプレイヤー数が人狼プレイヤーの数以下になると人狼陣営の勝利となり、それまでに人狼プレイヤーが全て処刑されると村人陣営の勝利となる。幾つかの役職には図に示した特殊能力があり、これを手がかりとして人狼プレイヤーを探す（村人陣営）、または見つからないようにする（人狼陣営）、というのがゲームの基本である。しかしながら、殆どのプレイヤーは特殊能力を持たない村人であるため、
2 関連研究どちらの陣営にとっても彼らを如何にして説得するか
人狼 BBS を分析した研究に稲葉らの研究 [1] がある。 が勝敗の鍵となる。
ゲームは「昼」と「夜」のフェイズに分かれて進行す
稲葉らは発話内容にタグを付与し集計することで、タる。昼フェイズでは、誰が人狼であるかを議論し、人狼グの枚数により、ゲームの勝敗、襲撃や処刑される人の特徴を分析していた。稲葉らは発話の内容に着目し と思われるプレイヤー 1 人を多数決で処刑する（ゲーており、一方で対象にはほとんど着目していない。対象 ムから脱落させる）。夜フェイズでは、自分の陣営をとは、発話した人が誰であるか、また誰に向けて発話 優位にするために特殊能力を行使する。例えば、占いしているかということである。例えば、発話内容タグ 師であれば任意のプレイヤー 1 人の役職が人狼であるには占い師のことについて語るタグ（fortune telling） か否かを知ることができ、人狼プレイヤーであれば任があるが、占い師が本物か偽物かを区別しない。占い 意のプレイヤー 1 人を襲撃する（ゲームから脱落させ師を信用する発話があった場合、本物の占い師であれ る）ことができる。以上で「1 日」が終わり、勝敗がつば村人陣営の勝利に傾いていることを意味するが、偽 かなければ「翌日」となる。つまり、1 日に 2 人（昼と4物であれば人狼陣営の勝利に傾いている。したがって、 夜で 1 人ずつ）プレイヤーが減っていくことになる 。
以上を踏まえて、人狼プレイヤーの視点からは、以勝敗に基づいて分析するためには対象を明確にする必下の二種類の基本戦術が考えられる。占い師や霊媒師
要がある。などの役職を騙ることで特殊能力による（と思わせた）誤情報を流す戦術（騙り人狼）と、特殊能力がない村3 人狼ゲーム
人として振る舞い、目立つ行動をしないことで処刑や占いなどを逃れる戦術（ステルス人狼）である。騙り図 1 にゲームの流れと基本的な役職3 を示す。役職 人狼は、村人を誤った結論に能動的に誘導できる利点
は、ゲーム開始時に各プレイヤーにランダムに割り当 があるが、騙られた相手からは人狼陣営5 であることが分かってしまい、処刑や占いの対象になりやすいとい
1 http://aiwolf.org/
2 http://www.wolfg.x0.com/
3 人狼ゲームには多くの特殊ルールがあり、ここで挙げた役職以外も存在する。

4 狩人が襲撃から守るなどの例外は存在するが基本的には 2 人ずつ減っていく。
5 狂人の可能性もあるため人狼であることまでは分からない。

― 627 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

う欠点もある。一方で、ステルス人狼は、議論の誘導という点では受動的であるが、処刑や占いの対象を相手が自分の意思で決定している（と思わせている）ため、騙された相手は最後まで気づきにくい。
ゲーム中に複数の人狼がいる場合、上記の戦術は分担されることが多い。全員が騙り人狼を行うと、本来1 人しかいないはずの占い師などの役職が複数人存在することになり、役職を持っている全員を処刑することで人狼陣営が敗北する。また、全員がステルス人狼を行うと、占い師や霊媒師が本物でほぼ確定6 し、村人陣営が有利となる。したがって、複数の人狼がいる場合、両方の戦術を分担する戦略がとられやすい。
本稿では、プレイヤー個人の戦術に着目し、ステルス人狼を対象として分析を行う。

4

ステルス人狼ステルス人狼の「村人として振る舞い、目立つ行動をしない」という基本行動は、実際のゲームにおいて簡単ではない。村人は特殊能力をもたないが、これは昼フェイズの議論において黙っていることを意味しない。ゲームの序盤では、これといった根拠がない状況で誰かを処刑しなければならない場面がしばしばあり、そういった状況では村人陣営にとってあまり有益な情報をもたらさないプレイヤーから処刑することが多い。
結果、議論を黙って聞いているだけだったり、無益な発言をするだけのプレイヤーは処刑の対象となりやすい。したがって、ステルス人狼は、ある程度議論に参加して、村人陣営に有益である（と思わせる）発言を
図 2: 人狼 BBS の例しなくてはならない。
ステルス人狼が、さらに難しいのは、有益すぎる発
本稿では、分析対象として人狼 BBS:G 村から python
言もできないということである。これは本当の人狼プ9を使ってログを収集した。人狼が 3レイヤーを特定させる発言ができないというだけでは の beautifulsoup
10人存在する村、かつ、ゲーム中に処刑や襲撃以外でない。村人陣営にとって非常に有益なプレイヤーであ11ると思われた場合、本当に村人陣営であれば人狼から プレイヤーが脱落していない 村を対象として、1 つ襲撃されるはずである。それにも関わらず、襲撃され の村を 1 ファイルとして収集した。表 1 に、収集したていないという事実は、本当は人狼陣営であるという データ数と各村に存在する役職の人数を示す。収集条
疑いを抱かせることになり、処刑や占いの対象となり 件を満たす 13 人の村は存在せず、全体で 431 ファイやすくなる。したがって、ステルス人狼を実現するた ル（243MB）となった。各ファイルにはゲーム開始前めには、「村人陣営に有益な発言をしつつも目立たな のプロローグ部分が含まれているが、役職が割り当てい」というバランスを保った発言をする必要がある。 られる前の雑談であるため、本稿では分析対象からプロローグ部分を除外した。除外後の 1 ファイルあたりの平均発話数は 70.7 発話となった。
5 人狼 BBS
今回は各プレイヤーの立ち振る舞いを調査することでステルス人狼を行う際、どのようなことに気をつけインターネットの掲示板を利用した人狼ゲームとし るべきかを判断していく。て人狼 BBS がある。図 2 に人狼 BBS の画面を示す。
1 つの村7 にはノンプレイヤーキャラクター（NPC）1人を含めた 10 人から 16 人8 が参加し、ゲーム内の 1 日 6
分析を現実の 1 日で行う。各プレイヤーが 1 日にできる最4 節で述べたように、ステルス人狼は「村人陣営に大発話数は 20 回であり、またテキストベースで行うためノンバーバルコミュニケーション情報が一切考慮さ 有益な発言をしつつも目立たない」必要がある。発言れないのも特徴である。人狼 BBS において、人狼は の内容が有益かどうかを定量的に判断するのは難しい
12専用のチャット (囁き) で内通ができる。図 2 中の赤い 問題である 。そこで本稿では、目立っているかどう吹き出しが囁きにあたり、人狼であるエルザとリーザ かに着目して分析を行う。目立っている程度を示す指が戦略について相談している。ゲームの早い段階で、 標として、まず、発言が多いプレイヤーは目立ってい人狼たちは囁きを使って、採用する戦略や、騙り人狼
9 https://github.com/waylan/beautifulsoup
10 キャラクター数が 13 人から 16 人の村が該当する。とステルス人狼の分担などを相談することが一般的で
11 1 日に 1 回も発言しなかったプレイヤーは強制的に脱落させらある。
6 狂人が騙る可能性がある。
7 人狼 BBS では 1 回のゲームを 1 つの村と呼称する。
8 実際のプレイヤー数は 9 人から 15 人となる。

れる。また、自らゲームを止める場合もある。
12 人狼は他の人狼が誰であるか分かっているため、自分を含めた人狼全員の名前を発言すれば、村人陣営にとって最も有益であるが、そのようなことはゲーム的にありえない。したがって、単純に人狼を特定するための発言を有益とすることもできず、本稿ではこの問題をひとまず保留とした。

― 628 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 1: 各村のデータ数と役職の人数
キャラクター数

14 人
15 人
16 人
全体

ファイル数

8933309
431

村人
6人
7人
8人

役職ごとのキャラクター数
占い師 狩人 霊能者 人狼 狂人
1人
1人
1人
3人
1人
1人
1人
1人
3人
1人
1人
1人
1人
3人
1人

NPC
1人
1人
1人

図 5: 発話数に基づく決定木 (ゲーム後半)

図 3: 発話数に基づく決定木 (ゲーム全体)

図 6: 注目数に基づく決定木 (ゲーム全体)

図 4: 発話数に基づく決定木 (ゲーム前半)ると考え、あるプレイヤーの発話回数を発話数として 分をダミーの村人がいるものとして学習データを作成
python のライブラリである用いる。もう一つの指標として、実際に他者の注目を した。決定木の作成には
13
scikit-learnを用い、決定木の表示にはdtreeviz14 を浴びているかどうかを考慮し、あるプレイヤーが他の用いた。
プレイヤーの発言で言及された回数を注目数として用ゲームの全体、前半、後半の発話数と注目数によるいる。
決定木を図3 から図 8 にそれぞれ示す。図中の win はプレイヤーごとの発話数と注目数が勝敗にどう影響
人狼陣営の勝率を表し、n は該当する村の数を表してを与えるかを決定木を用いて調査した。16 人のキャラいる。クラスである勝率を縦のパラメータとした。人クターを属性、各キャラクターがゲーム全体を通して何回発言したかを属性値、ゲームの勝敗をクラスとし 狼陣営が勝った場合が 1、村人陣営が勝った場合が 0 にて、発話数に関する学習データを作成した。注目数につ 対応している。属性である各役職の発話数、および注いても同様に作成した。また、収集した 431 件のデー 目数を横のパラメータに対応させている。発話数、注タにおいてゲーム最終日の中央値が 7 日目であったた 目数について、ある閾値によって、分岐が生じる。右め、3 日目までをゲーム前半、4 日目以降をゲーム後 側の枝が閾値以上の場合に対応し、左側の枝が閾値未半として分割し、それぞれの期間における発話数と注 満の場合に対応する。最終段に表示されているのは、目数の学習データを作成した。この時、人狼や村人な クラスの平均と、該当するクラスの個数であり、平均ど複数存在する役職は、回数が多い順にソートした。
13 https://github.com/scikit-learn/scikit-learn
また、キャラクターが 16 人に満たない村では、不足
14 https://github.com/parrt/dtreeviz― 629 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 2: leave-one-out 交差検証による分類精度
発話数
注目数

図 7: 注目数に基づく決定木 (ゲーム前半)

図 8: 注目数に基づく決定木 (ゲーム後半)が高いほど、人狼の勝率が高いと言える。図 3 であれ
ば、発話数が最も多い人狼の発話数が 54.5 以上であり、占い師の発話数が 40.5 未満である場合、人狼陣営の勝率が 0.71 と高く、該当する村が 9 件あったことを示している。leave-one-out 交差検証による分類精度を
表 2 に示す。ゲーム前半の着目数についての分類精度が低く信頼性に乏しいが、他は 5 割以上の精度であるため、このデータに基づいて考察を行う。

7

考察

全体0.740.60

前半
0.580.27後半
0.67
0.59

話数に基づく決定木をみてみると、二段目の分岐には占い師の発話数があり、占い師の発話数が少ない方が人狼陣営の勝利に繋がる。つまり人狼が勝利するには初回から出来るだけ発話をし、占い師の発話数を制限する行動が必要である。
注目数については、図 6 をみると人狼の注目数は勝敗には関与しておらず、占い師や村人の注目数によりゲームの勝敗が左右されている。こちらは特定の村人が人狼であると疑われているかどうか、占い師が本物であるかどうかの方に会話の主体があると思われる。
また図 7 より、ゲーム前半の注目数に基づく決定木をみると人狼の注目数は勝敗に関係しており、かつ一定数以下である場合、確定で勝利できる。しかし表 2 の精度を考慮すると、前半の人狼の注目数においてはあまり良い分類ではない。ゲームの後半に関しては、二段目に人狼の注目数による分岐がきているが、どちらに分岐しても勝率はそこまで高くない。つまり、ゲームの後半では人狼の注目数が低くても人狼の勝率陣営に有利であるとは言えない。
以上から、発言数においては人狼の発話数が勝敗に関与しており、なおかつゲームの前半でもある程度の精度を持つので、今回の分析を元に特定のプレイヤーの発話数を操作する方法を考えていきたい。同時にプレイヤーの役職を推定する方法も考察していく。注目数においては思ったような成果は得られなかった。ゲーム全体を通すと人狼への注目数が勝敗に与える影響があまり大きくなく、代わりに占い師や村人の注目数が勝敗を分ける要素となっている。人狼以外の役職を考察すると発話数と注目数のどちらにおいても占い師による分岐が存在しており、占い師の発言を制限し、注目数を下げることで人狼陣営の勝利に繋がる。しかし他者の注目数を操作することは発話数を操作することより困難である。特に注目数を減らす場合、発話数とは違い、処刑や襲撃などでゲームから除外しても制限することができない。そのため、注目数を上げないよ
うな発話内容とはどのようなものか今後分析していきたい。

8

まとめ

今回の研究ではステルス人狼を行うために、発話数と注目数に関する調査を行った。結果として発話数を調整することで、人狼陣営が勝利する可能性が上がることを確認した。今後は発話内容も考慮し、研究を進めていく。

発話数に基づく決定木である図 3 から図 5 をみると、最初の分岐はどの決定木も人狼の発話数によってなさ謝辞れている。よって人狼の発話数により、勝敗が分岐す
この研究は平成 30 年度国立情報学研究所公募型共ることが確認できた。図 3 でみると、二段目の分岐に同研究の助成を受けています.
も人狼の発話数があり、人狼の発話数がさらに一定数以下であると人狼の勝率がとても低くなる。このような状況が引き起こされる原因としては、二段目の分岐 参考文献の人狼がゲーム最終日を迎える前に吊られてしまい、[1] 稲葉通将, 大畠菜央実, 高橋健一, 鳥海不二夫. 雑談ばかプレイヤーの意思と関係なく発話数が制限されているりしていると殺される？人狼ゲームにおける発話行為ことが考えられる。
タグセットの提案とプレイヤの行動・勝敗の分析. 情報
また図 4 と図 5 よりゲームの前半、後半における発処理学会論文誌, vol. 57, no. 11, pp. 2392–2402, 2016.

― 630 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.