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

欺瞞対話コーパスの構築に向けた人狼ゲームプラットフォーム LiCOS の開発
阪本 浩太郎 †1†2

渋木 英潔 †1

森 辰則 †1†1

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

はじめにインで行う掲示板型人狼ゲームであるが，発話ログには本心が明記されていないため，発話者の役割や投票
人狼ゲームとは，対話を通して「村人」の中に潜伏 などの行動から推測するしかない．それゆえ，発話とした「人狼」を見つけ出す対戦型の多人数ゲームであ 本心が対応付けられた欺瞞対話コーパスが望まれる．
り，近年，人狼知能プロジェクト1 など研究テーマとし欺瞞対話コーパスを構築するために，欺瞞を発話すても注目されている．
「人狼」となったプレイヤーは， る際にその時の本心を記録してもらうという方法も考他のプレイヤーに正体を悟られないよう，普通の「村 えられるが，自然な対話環境とは言い難い上に構築コ人」のふりをして「偽の推理」を披露したり，「占い師 ストも高い．低コストで大規模に知識を獲得する方法（人狼の正体を知ることができる）」を騙って他のプレ として，ゲームを通した知識獲得 [6, 7] がある．もしイヤーを扇動したりすることで勝利を目指す．また， も，人狼ゲームにおける発話の際の本心に関するデー「村人」であっても「人狼」を焙り出すために，敢えて タを対話を妨げることなく自動的に収集できれば，多く「村人」と認識しているプレイヤーを「人狼」と疑う の人々に遊んでもらいながら容易に欺瞞対話コーパスような発話をする場合もある．こういった認識してい の構築が可能になる．以上の背景から，我々は，人狼る事柄（以降，本心と呼ぶ）と異なる認識を他者に与 ゲームにおける欺瞞対話観測システム LiCOS(Liar’sえようとする発話を本研究では欺瞞と定義する．我々 Conversation Observing System) の開発を行っていは，これからの対話システムには，ユーザの命令に唯々 る．本稿では，人狼ゲームにおける欺瞞と本心につい諾々と従うのではなく，自発的に対話を進めていくこ て考察した後，LiCOS のアーキテクチャについて説明とも必要であると考えており，システムが欺瞞的な発 する．
話をすることはその一つに該当すると考えている．本
研究における本心は欺瞞によってすり替えられる認識
2 人狼ゲームにおける欺瞞と本心があるもののみに限定していることに注意されたい2 ．
欺瞞を扱った対話の従来研究として，文献 [1] など
人狼ゲームは『村人』4 と『人狼』の２つの陣営に分があげられるが，対話に存在する欺瞞の検出に焦点を かれて戦うチーム戦である．
『村人』側は，正体を隠しあてており，いかに相手を騙すかという話し手の視点 ている全ての「人狼」を見つけて処刑する（ゲームかからのものではない．検出などの聞き手の視点からは， ら脱落させる）ことで勝利となり，『人狼』側は，毎晩相手の発話が事実でないことが分かれば十分であるが，「人狼」以外のプレイヤーを襲撃して（ゲームから脱話し手の視点からは，自分にとって都合の良い内容を 落させて）いき，「人狼」の数が「人狼」以外の数以上相手に信じてもらうために最適な発話を選択しなけれ になることで勝利となる．必然，ゲーム中の対話も上ばならない．そのような対話を行うための方法論は確 記の勝利条件を達成するためということが前提に行わ立されておらず，欺瞞を含む対話を分析するところか れる5 ．そのため，人狼ゲームにおける欺瞞の例としら始める必要がある．従来研究で構築された対話コー ては，
パス [2, 3] では，発話者は基本的に誠実であり，相手• 正体を隠したい「狩人（自分以外に対する人狼のを騙すことを目的とした発話は収録されていない．人狼ゲームに関する従来研究 [4, 5] では，人狼 BBS3 の4 プレイヤーとしての「村人」や「人狼」と区別するために，陣発話ログを利用したものが多い．人狼 BBS はオンラ 営の場合は『』で表すこととする．

1

1 http://aiwolf.org/
2 単純な「ゲームに勝ちたい」や「処刑されたくない」などの思いは本研究で扱う本心ではない．
3 http://ninjinix.com/

5 ゲーム中の雑談は禁止されていないが，プレイヤーの中には「彼は雑談ばかりで推理しようとする気が感じられない．だから人狼に違いない」や「彼女は全く雑談に応じない．きっとボロを出さないようにしている．だから人狼に違いない」のように雑談を手がかりに考えるものも存在する．

― 885 ―

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

図 1: システム構成襲撃を防ぐことができる）」が「自分は村人だ」 り言や「人狼」同士の会話，誰を処刑するかの投票などにも本心が表れるため，それらの情報を発話と共にと答える
取得することで，発話と本心との対応がついたデータ• 他のプレイヤーが「占い師」だと名乗っているセットを構築することができる．次節では，LiCOS が状況で，「狂人（人狼ではないが『人狼』陣営にこれらの情報をどのように取得しているかを説明する．
属する）」が「自分が本当の占い師だ」と名乗る• 「人狼」が，「人狼」ではないと分かっている6 プ
レイヤーを指して「彼は人狼だと思う」と述べる

3

LiCOS

図 1 に，LiCOS のシステム構成を示す．ユーザーはといったものがあげられる．これらの発話に共通する ウェブブラウザを通して人間のプレイヤーとしてゲーのは，「（自他問わずに）あるプレイヤーに対して，自 ムに直接参加するか，あるいはロボットを設置してロ分が認識している正体とは違う正体を述べている」と ボットにゲームに参加させることができる．ゲームサーいうことであり，発話時の「認識している正体」を観 バが複数のプレイヤーのウェブブラウザやロボットと測できれば，発話と本心が対応付けられたデータを収 それぞれ非同期通信を WebSocket を用いて行う．ゲー集することができる．
ムサーバとプレイヤーは相互に，ソースコード 1 のよ
さて，人狼 BBS の発話ログを観察すると，うな JSON-LD フォーマットで構造化されたデータをWebSocket を通して送り合う．データの規約や例につ異老｜％五宿｜Ｍ修旅虎兵宿妙†羊孫娘面
いては，https://werewolf.world/を参照されたい．プ
真偽｜霊白白｜灰白灰灰灰灰灰†白白狼狼
レイヤーとゲームサーバでやりとりしたデータは，ロ偽真｜霊白白｜白灰灰灰灰灰灰†白白狼狼
グとしてタイムスタンプや送信先の情報を更新した上
のように，表形式で推理や確定事実を述べるプレイヤー で，全てをデータベース MongoDB に保存する．ゲーが一定数存在する．推理の際にプレイヤーと正体とを ムサーバは，ウェブアプリケーションフレームワーク対応付ける表（以降，対応表）を利用することは，直 の Play Framework 2 を用いて Scala 言語で開発した．
図 2 で，人間のプレイヤーが使用するユーザインター観的に全体を把握でき，矛盾などを認識するのに役立
つ．もしも，ゲームのシステム上で対応表が実装され フェース画面の例を示す．左上に，ゲーム内の日にちていれば，プレイヤーが推理，認識した正体を記述す とフェーズ，そのフェーズ終了までの残り時間を表示る可能性は高く，発話時にシステムが対応表の情報を する．右上に，ゲーム中にプレイヤーが演じるエージェ取得することで，プレイヤーの本心に関するデータを ントの見た目の画像や名前（例では「モーリッツ」）と，自然に収集できるようになると考えられる．また，独 正体（例では「人狼」）を表示する．左中央にプレイヤーの発話のタイムラインを表示する．下部に発話の6「人狼」は，誰が他の「人狼」であるか分かる．

― 886 ―

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

図 2: ユーザインターフェース画面ための発話入力フォームを表示する．右中央に対応表を表示する．なお，ロボットのプレイヤーは，このユーザインターフェースを使用せず，直接 WebSocket を通してゲームサーバと通信する．

3.1

タイムライン表示され，制限に達した場合は投稿ボタンがクリックできなくなる．さらに，発話直後も一定時間はゲームサーバが次の発話を受け付けないため，その時間も投稿ボタンはクリックできなくなる．

3.3

対応表

タイムラインには，プレイヤーが閲覧可能な発話が時間順序で表示される．新しい発話はタイムラインの下部に追加される．発話数が増えて画面に入りきらない場合は，スクロールすることで過去のタイムラインが閲覧できる．

対応表の各カラムはそれぞれ正体を示しており，左から順に村人，占い師，霊媒師，狩人，フリーメイソン，狂人，人狼，ハムスター人間である．各カラムのヘッダーには，正体の種類を表す画像と，その正体であるプレイヤーの数が書かれている．各行はそれぞれプレイヤーを示しており，各行のヘッダーには，各プレイヤーが演じるエージェントの画像と名前が書かれ3.2 発話入力フォームている．各セルは，プレイヤーと正体の対応を示して発話入力フォームは，図 2 の下部の左・中央・右のおり，もしプレイヤー本人がその対応が正しい（もし３つのフォームである．左のフォームは公開用であり，くは，間違っている）と考えれば，セルをクリックする
ここから投稿された発話は全てのプレイヤーが閲覧でことでセル内の表示を初期値の「？」から「△」，「○」，きる．基本的に左のフォームを使用して対話が行われ「×」に変更できる．図 2 では，モーリッツを演じる人る．中央のフォームは非公開用であり，ここから投稿狼プレイヤーが，ヴァルターが占い師であり，ニコラされた発話は投稿したプレイヤーにのみ閲覧ができる．
スが村人であると考え，対応表の該当箇所をどちらもプレイヤーが後で見返すためのメモを自由記述で残す「○」に変更している．変更情報は，逐次ゲームサーことができるため，正体予想の根拠や前提条件など，バに送信されログとして保存される．さらに，システ対応表では表せない本心がこのフォームに投稿される
ムからの情報で正体が明かされた場合は，該当するセかもしれない．右のフォームは人狼用であり，人狼のルを赤縁にし「○」を表示する．また，正体が異なるみが発話を投稿でき，ここから投稿された発話は人狼ことが明かされた情報についてもセルを黒塗りにし，のみ閲覧できる．それぞれの入力フォームには，一回明かされた日にちを白字で表示する．このようにシスの発話の文字数制限や，1 日当たりの発言回数制限がテムから変更されたセルの情報は，プレイヤーが変更― 887 ―

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

できない．システムから明かされる情報で，上記のようにセルが変更されるのは次のいずれかの場合のみである．

3132333435• 最初に明かされる本人の正体• プレイヤーが占い師だった時，占った翌日に明かされる占い先が人狼か否か• プレイヤーが霊媒師だった時，霊媒した翌日に明かされる処刑先が人狼か否か

3.4

発話と本心の対応づけ

4}"text": ">>1␣そんなはずはない．
ワシが占い師じゃ．
","characterLimit": 140,
"language": "ja","isOver": false

まとめ

本稿では，人狼ゲームにおける欺瞞と本心の関係を考察し，欺瞞対話観測システム LiCOS の説明を行った．今後，LiCOS を利用して欺瞞対話コーパスを構築する予定である．

謝辞

プレイヤーは，タイムラインを通して他のプレイヤーと対話し，他プレイヤーの正体の予想を対応表で容易
本研究を進めるにあたり，サーバマシンを提供してにまとめることが可能である．プレイヤーの発言と対 くださった rakumo 株式会社様に感謝します．開発に協応表の更新はタイムスタンプとともに全てロガーに保 力してくださった横浜国立大学のサークル YNU WAI存されるため，対応表の入力を本心と仮定することで， WAI の宇田川悠大氏，清水彰馬氏，そして森研究室のプレイヤーの発話と本心の対応づけが得られる．加え 阿部穣太郎氏に感謝します．て，非公開の発話入力フォームに入力された発話にも，本心が現れる可能性がある．これもタイムスタンプと 参考文献ともに全てロガーに保存されるため，ここからもプレイヤーの発話と本心の対応づけが得られるかもしれない． [1] Yuiko Tsunomori, Graham Neubig, SakrianiSakti, Tomoki Toda, Satoshi Nakamura. An
ソースコード 1: プレイヤーが送信するデータの例
Analysis Towards Dialogue-Based Deception De1 {tection. International Workshop on Spoken Dia2"@context": [log System Technology, 2015.
3"https://werewolf.world/context/0.1/
45678910111213
1415
16171819202122232425262728
2930

base.jsonld","https://werewolf.world/context/0.1/
chat.jsonld"],"@id": "https://werewolf.world/resource/0.1/playerMessage","villageId": 3,"villageName": "横国の森の小さな村","totalNumberOfAgents": 15,"token": "eFVr3O93oLhmnE8OqTMl5VSVGIV","phase": "day␣conversation","date": 1,"phaseTimeLimit": 600,
"phaseStartTime": "2017-11-17T12:50:12.568+09:00","serverTimestamp": null,"clientTimestamp": "2017-11-17T12:51:24.123+09:00","directionality": "client␣to␣server","intensionalDisclosureRange": "public","extensionalDisclosureRange": [],"agent": {"@id": "https://werewolf.world/resource/0.1/Moritz","id": 1,
"name": {"ja": "モーリッツ"},"image": "https://werewolf.world/
image/0.1/Moritz.jpg"},"isMine": true,"id": 3,"counter": 3,"limit": 10,"interval": "5s",[2] 東中竜一郎, 船越孝太郎, 荒木雅弘, 塚原裕史, 小林優佳, 水上雅博. テキストチャットを用いた雑談
対話コーパスの構築と対話破綻の分析. 自然言語処理, 23(1), 2015.
[3] 塚原裕史, 内海慶. オープンプラットフォームとクラウドソーシングを活用した対話コーパス構築
方法. 言語処理学会第 21 回年次大会発表論文集,2015.
[4] 林友超, 馬場瑞穂, 宇津呂武仁. 役職確定情報に着目した人狼ログ・ダイジェストの作成. 第 30 回人工知能学会全国大会論文集, 2016.
[5] 稲葉通将, 鳥海不二夫, 高橋健一. 人狼ゲームデータの統計的分析. ゲームプログラミングワークショッ
プ 2012 論文集, 2012.
[6] 大谷直樹, 河原大輔, 黒橋禎夫, 鍜治伸裕, 颯々野学. 連想ゲームによるコモンセンス知識の獲得. 言語処理学会第 22 回年次大会発表論文集, 2016.
[7] 加藤義清, 草刈嗣人, 平田健成, 庄司裕子. 研究者
キャリアゲームで獲得される戦略知識. 2006 年度
人工知能学会全国大会 (第 20 回) 論文集, 2006.

― 888 ―

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