ユーザに上手に説得される人狼知能対話システムの構築
Constructing an AI Wolf Dialogue System that is Persuaded by
Users
稲葉 通将
1∗1
電気通信大学
1
The University of Electro-Cummunications
Abstract: This paper proposes a novel category of a dialogue system for entertainment, referred to as the “dialogue system to be persuaded,” which is to be persuaded by users to amuse them and suggests a construction method of the system. The construction method requires a relatively small amount of data and introduces a data-driven dialogue management method for naturally accepting user’s persuasion. Our experimental results indicate that the proposed system can interact with users more naturally compared to baseline systems.
1
はじめに
対話システムが扱う対話は雑談,カウンセリング,面 接,交渉など多種多様であり,近年ますます広がりを 見せている.本論文では人狼ゲーム中の対話を対象と し,ユーザに上手に説得されることでユーザを楽しま せる対話システムの構築手法を提案する. これまで,システムがユーザを説得するという説得 対話システムに関する研究は行われてきた [1].しかし, 被説得対話システムは説得対話システムとドメインが 類似しているが,その本質は大きく異なる.ユーザを 説得することで,その人の行動や考え方を変えること を目的とする説得対話システムは,対話相手を説得で きればその対話は成功となる.一方,被説得対話システ ムの場合,ユーザが何を言おうとも即座に説得される というシステムの作成は容易であり,最終的に説得さ れるか否かは対話の成否にはあまり関係がない.ユー ザにとってはシステムがどのように説得されるか (もし くは説得されないか) という過程が重要であり,システ ムの性能はユーザの満足度により評価される. 本研究では,対話を行う状況設定として,プレイヤ 同士の議論によりゲームが進行する人狼ゲームに着目 した.人狼ゲームでは,情報が限られる中でいかに他 のプレイヤを説得し,自分の陣営を勝利に導くかとい う点がゲームの醍醐味の一つである.本研究では,人 狼ゲームにおける説得対話をシミュレートできる対話 システムを構築する.具体的には,システムは最初ユー ザを追放する意思を持っており,ユーザは自分を追放 ∗連絡先: 電気通信大学 〒 182-8585 東京都調布市調布ケ丘1丁目5−1 Email: [email protected] しないようにシステムを説得するという状況の下,対 話を行う. 本研究で構築する対話システムは用例ベースのシス テムである.すなわち,対話ログから現在の状況と文 脈に適した発話を選択し,応答として用いる.本研究 では,その際の適切な応答の選択,特にユーザからの 説得を自然に受け入れるための応答選択のため,対話 ログ中における発話の位置を用いたシンプルな対話管 理手法を提案する.2
5
人制人狼ゲーム
人狼ゲームでは様々なルールのバリエーションが存 在するが,以下では本研究が対象とする 5 人制人狼ゲー ムについて説明する. 5 名のプレイヤはゲーム開始時に村人,占い師,裏 切り者,人狼のいずれかの役職が与えられる.村人の み 2 名であり,その他の役職は 1 名ずつである.村人 は特別な能力は持たない役職である.占い師は,毎昼 フェーズの開始前にプレイヤの中から 1 名を指名して 占い,そのプレイヤが人狼か否かを知ることができる (人狼以外のプレイヤを指名した場合,その具体的な役 職までは知ることはできず,人狼では無いことがわか るのみである).裏切り者は占い師により占われても人 狼ではないと判定されるが,人狼側の勝利を目指す役 職である.つまり,(裏切り者のプレイヤが除外されて も) 人狼側の勝利が裏切り者プレイヤの勝利となる.人 狼は後述する夜フェーズにプレイヤ 1 名を指名し,襲 撃することができる役職である.なお,プレイヤは自 分以外のプレイヤの役職を知ることはできない. 人工知能学会研究会資料 SIG-SLUD-B902-02ゲームは昼と夜のフェーズからなる.昼フェーズには 全プレイヤーが議論し,誰が人狼であるかを推理する. 昼フェーズの最後には各プレイヤーが人狼だと思うプ レイヤに投票し,多数決で選ばれたプレイヤはゲーム から除外される.夜フェーズでは人狼のプレイヤが人 間側のプレイヤー 1 名を指名し,襲撃する.襲撃された プレイヤもまたゲームから除外される.この昼フェー ズと夜フェーズを最大 2 回繰り返し,最終的に人狼の プレイヤを除外した場合は人間側の勝利,人狼のプレ イヤが最後の 1 名になるまで除外されなければ人狼側 の勝利となる.
3
使用データ
3.1
説得対話
本研究で対象とする対話は,5 人制人狼ゲームにお ける 2 回目の昼フェーズをベースとした 2 者間の説得 対話である.本来,2 回目の昼フェーズには,1 回目の 昼フェーズの投票と夜フェーズの襲撃により 5 名中 2 名のプレイヤが除外され,3 名のプレイヤが議論する. ただし本研究では,問題を簡単にするため,1 名はゲー ムに参加しているが発言しないプレイヤ (沈黙プレイ ヤ) とし,1 名 (説得プレイヤ) が別の 1 名 (被説得プレ イヤ) を説得するという状況を対象とする. 説得対話の状況の詳細は以下の通りである. • 説得プレイヤ,被説得プレイヤ,沈黙プレイヤの 3 名が 2 回目の昼フェーズに参加している • 被説得プレイヤは説得プレイヤに投票する意思を 表明している.ただし,説得プレイヤに投票した としても自分が勝利できるという確定的な根拠は 持っていない. • 説得プレイヤは被説得プレイヤと一緒に沈黙プレ イヤに投票することで自分が勝利できるという確 定的な根拠を持っている (例:説得プレイヤが人 狼である場合) このような状況の例を以下に示す.プレイヤ A,B, C,D,E の 5 名がゲームに参加し,最初の昼フェーズ で A と C の 2 名が自分が占い師であると主張.両名 ともプレイヤ E を占い,人間であったと報告した.昼 フェーズ最後の投票によりプレイヤ D が追放され,夜 フェーズには E が襲撃された.2 日目の昼フェーズに は A と C がお互いを占い,共に相手は人狼だったと主 張.このような状況で,真の役職はそれぞれ A は占い 師,B は村人,C は人狼だったとする.A の立場では, 自分の占い結果から C が人狼であることは明らかであ り,B とともに C に投票することで勝利となる.C の 立場では,自分は人狼であることから,A と B のどち らかを追放すれば勝利となるが,A は C を人狼と主張 していることから C に投票することが明らかである. よって,C は B とともに A に投票することが最善で ある.一方,B の立場では,A と C のどちらが人狼で あるかを論理的に導き出すことは不可能である.それ でもなお,人狼である可能性の高いプレイヤーを推定 し,投票することが必要である.この例では,A が説 得プレイヤ,C が沈黙プレイヤ (もしくは C が説得プ レイヤ,A が沈黙プレイヤでもよい),B が被説得プレ イヤとなる.説得プレイヤは自分が本物の占い師であ り,沈黙プレイヤが人狼であるという主張を行い,被 説得プレイヤを沈黙プレイヤに投票するよう説得する ことになる.3.2
データ収集
対話システム構築に用いるデータとするため,前節 で述べた状況における説得対話データの収集を行った. 対話データの作成のためクラウドソーシングを用いて 作業者を募集した.作業者はゲームの状況とその状況 における説得対話シナリオを作成した.ゲーム状況は 以下の 4 点により構成される. • 全プレイヤの役職一覧:プレイヤ A(説得プレイ ヤ),B(被説得プレイヤ),C(沈黙プレイヤ),D(1 日目の投票の結果,追放されるプレイヤ), E(1 日 目の夜フェーズに襲撃されるプレイヤ) の 5 名の プレイヤの役職 • 占い師の占い対象:役職一覧で設定した占い師が 1 日目および 2 日目に占ったプレイヤを指定 • 投票:1 日目の夜フェーズにおける各プレイヤの 投票先を指定.プレイヤ D が最多得票になるよ うにする.投票は記名式で同時投票・同時開票 • 役職 CO と占い結果報告:1 日目および 2 日目の 昼フェーズにおけるプレイヤの役職 CO・CO 撤 回と占い結果報告・占い結果報告撤回の内容,お よび発言順を指定 作業者は説得対話として,作成したゲーム状況にお いて,A(説得プレイヤ) が B(被説得プレイヤ) を最終 的に説得する対話シナリオも作成した.作成時に作業 者に示したルールは以下の通りである. • 対話は B の発話から開始し,B の最初の発話に は B が A に投票する旨とその理由を含める • A と B は交互に発話を行う• 対話は B の発話で終了し,B の最後の発話には B が説得に応じ,C に投票する旨を含める • 説得対話に含まれる総発話数は 13 個以上とする • 1 発話はおおよそ 60 文字以内とする • 説得対話中において役職 CO・CO 撤回,および 占い結果報告・占い結果報告撤回は行わない
3.3
データ収集結果
表 1 に収集したデータを「説得プレイヤの最終的な CO 役職」と「沈黙プレイヤの最終的な CO 役職」に よって分類した場合のデータ数,および対話シナリオ における平均発話数と 1 発話あたりの単語数を示した. 最終 CO 役職別としたのは,収集したデータを分析 したところ,説得対話シナリオにおけるプレイヤの発 言は「説得プレイヤの最終的な CO 役職」と「沈黙プ レイヤの最終的な CO 役職」が何であるかに大きく依 存していたためである.例えば,A(説得プレイヤ) と C(沈黙プレイヤ) の最終的な CO 役職が人狼であった 場合,説得対話において説得プレイヤは「自分が人狼 であり,沈黙プレイヤは人狼ではない」という主張を被 説得プレイヤ (B) に認めさせるよう説得を行うことに なる.他方,A と C の最終的な CO 役職が占い師だっ た場合には,「自分が占い師であり,沈黙プレイヤは占 い師ではなく人狼である」という主張をすることにな り,説得対話の内容も大きく異なる.したがって,本 データを用いて対話システムを構築するにあたっては, 最終 CO 役職による対話内容の違いを考慮する必要が ある.4
人狼知能対話システム
本章では,収集したデータ,およびそのデータの分 析結果を用いて被説得対話システムを構築する方法に ついて述べる.本研究における被説得対話システムと ユーザには,対話開始前に前章で収集したデータにお けるゲーム状況と同一の形式の状況 (自分の役職,占い 師の占い対象 (ユーザが占い師の場合),投票結果,1 日 目と 2 日目の役職 CO と占い結果報告) が与えられる. すなわち,A∼E の 5 名でゲームが開始した設定で,2 日目の役職 CO と占い結果報告が終了した時点が対話 のスタートであり,A(説得プレイヤ) がユーザ,B(被 説得プレイヤ) が対話システムとして対話を行う. 提案する対話システムの概要を図 1 に示す.提案シ ステムは状況に応じて適切な発話を対話データ中から 選択し,それをシステムの応答として用いるという用 例ベースの対話システムである.本システムは,まず 図 1: 提案システムの概要 前章で述べた説得対話データから,与えられたゲーム 状況に照らして応答として使用可能な発話を応答候補 として抽出する.その際,直前の発話を行った時点のシ ステムの説得受諾度,およびデータ中の発話の意味を 推定し,その情報も応答候補抽出のために用いる.次 に,抽出された応答候補の中から,次のシステムの応 答として適切な応答を現在までの対話履歴,およびシ ステムの説得受諾度をもとに決定する.説得受諾度は 応答候補のデータ中における出現位置により決定され, 応答候補に紐付けられている.システムとユーザは順 番に発話し,システムの説得受諾度が最大になる (シス テムが説得を受け入れる) か,システムの応答回数が規 定数に達する (システムが説得の受け入れを拒絶する) ことで対話は終了する.以下では,提案システムの詳 細について述べる. システムの構築にあたっては,対象とする対話の内 容が5人制人狼に関するものであるため,公開されて いる大規模テキストデータや対話データの利用は困難 である.したがって,近年活発に研究が進められてい るニューラルネットワークを用いた生成ベースの応答 手法を採用することは難しい.また,収集したデータ 数は比較的少量であることから,本研究ではシステム の構築にあたり,用例 (検索) ベース応答手法を採用す る.用例ベース応答手法とは,対話ログ中の発話から 現在の状況に応じて適切な発話を選択し,それをシス テムの応答として使用するという手法である. さらに,前章のデータ分析の結果,最終 CO 役職に より説得内容が大きく異なること,また,説得と反論 のための根拠はゲーム状況に依存することが確認され た.そこで,提案システムは対話開始前,システムの 置かれたゲーム状況と収集した対話データのゲーム状 況を用い,その対話において応答として使用可能な発 話を応答候補としてデータから抽出する.対話開始以 降は,ユーザの発話と現在の説得受諾度に応じて応答 候補から適切な応答を選択し,システムの応答として 出力する.以下では,提案システムの詳細について述表 1: 収集したデータの統計情報 CO 役職 CO 役職 データ数 平均発話数 1 発話あたり単語数 (説得プレイヤ) (被説得プレイヤ) 占い師 占い師 37 14.19 20.00 占い師 村人 (CO 無し) 30 13.60 19.17 人狼 人狼 23 14.57 18.03 村人 (CO 無し) 占い師 16 18.38 19.16 村人 (CO 無し) 村人 (CO 無し) 12 15.00 17.85 べる.
4.1
応答候補抽出
提案システムの応答候補はデータ中から抽出するが, 与えられたゲーム状況に反する内容を含むものも多く 存在する.したがって,現在の状況に応じて応答として 使用可能なものだけをデータから抽出する必要がある. 本研究では,対話開始前,システムにゲーム状況が 与えられた時点で (1) 説得プレイヤと沈黙プレイヤの最 終的な CO 役職,(2) 発話の内容,の 2 つの観点から応 答候補を絞り込み,抽出する.システムは抽出された 応答候補の中から適切な応答を選択することで,ユー ザと対話を進めることになる. 4.1.1 最終的な CO 役職 3.3 節において,「説得プレイヤと沈黙プレイヤの発 言は,各プレイヤそれぞれの最終的な CO 役職が何で あるかに大きく依存している」という分析結果を述べ た.そこで,システムに与えられたゲーム状況におけ る説得プレイヤと沈黙プレイヤの最終的な CO 役職が 完全に一致したゲームデータのみを応答候補抽出対象 のデータとする.このようにすることで,システムは 一貫した主張が可能となる. 4.1.2 発話意味内容推定 発話の内容は CO 役職だけではなく,ゲームの状況 にも大きく依存している.しかし,ゲームの状況が与 えられた状況と完全に一致しているデータのみを使う 場合,使用できる応答候補の数が非常に少なくなる.そ こで,データ内の発話の意味と与えられたゲーム状況 を照合し,ゲーム状況に適合した場合はその発話を応 答候補として獲得する. 本研究では推定する意味内容として以下の 4 種類を 用いる. 1. 役職 CO [CO プレイヤー名,CO 役職] 発話例:「C は人狼だと CO してました」 → 推定例:役職 CO[C, 人狼] 2. 占い結果報告 [報告したプレイヤー名,占ったプ レイヤー名,占い結果] 発話例:「C は D を人間だと占いました」 → 推定例:占い結果報告 [C, D, 人間] 3. 投票先 [投票したプレイヤー名,投票先] 発話例:「E は D に投票していました」 → 推定例:投票先 [E, D] 4. 役職推定 [推定したプレイヤー名,推定対象プレ イヤー名,推定役職] 発話例:「私は D が裏切り者だったと考えていま す」 → 獲得根拠例:役職推定 [私, D, 裏切り者] 発話の意味内容の認識はルールベースにより行った. KNP を用いて発話を解析し,格解析結果と動詞および 格に対して事前に定義したキーワードパターンを照合 することで,発話に含まれる意味内容を推定した. 取得した発話の意味内容をもとに,その発話が応答 候補として使用可能かを発話ごとに判定する.例えば, 意味内容が「投票先 [C, D]」だった場合,与えられた ゲーム状況において C が D に投票していた場合,その 発話は応答候補となる.4.2
説得受諾度
提案システムでは,ユーザの説得を自然な形で受け 入れる対話を実現するため,システムが現在どの程度 説得を受け入れているかを意味する内部パラメータ (説 得受諾度) を用意し,そのパラメータの値に応じて応答 内容を変化させる.しかし,どのようなユーザの応答 に対し,どの程度説得受諾度を上下させればいいかに ついては自明ではなく,どの応答候補がどの程度の説 得受諾度に対応しているかについても同じく自明では ない.そこで本研究では,応答候補の元データにおける対 話中の位置により説得受諾度を決定するとともに,応 答候補に説得受諾度を紐付けることで応答を制御する 手法を提案する.本研究で収集した説得対話データは, 一方の話者が全く説得されていない状態から開始し,最 終的に説得されることで対話が終了する.つまり,対 話開始時の説得受諾度は最低であり,対話終了時は最 大であるとみなすことができる.ここで,データ中の 被説得者の説得受諾度は線形に上昇すると仮定を導入 する.つまり,被説得者の最初の発話を受諾度 0,最後 の発話を受諾度 1.0 とし,それ以外の発話は各発話の位 置により説得受諾度を均等に割り振る.例えば,デー タ中で被説得者が 11 回発話を行っていた場合,最初の 発話の説得受諾度は 0.0,2 番目の発話は 0.1,3 番目 は 0.2,10 番目は 0.9,11 番目 (最後) の発話は 1.0 と なる.また,説得プレイヤにより使用される説得の根 拠も序盤,中盤,終盤で異なる.話題に合わせた応答 を行うという面からも有効であると思われる. 対話システムの説得受諾度は,応答として使用され た発話に紐付けられた説得受諾度を現在の受諾度とし て設定する.さらに,システムの次の応答は,現在の 説得受諾度から一定範囲内の受諾度を持つ応答候補か ら決定する.ここでは,説得受諾度が上昇する応答候 補だけではなく,低下する応答候補も含める.このよ うにすることで,急激な説得受諾度の変化を抑え,自 然な説得対話が実現できる.
4.3
発話選択
システムは,抽出された応答候補から,対話履歴と 現在のシステムの説得受諾度もとに,次の応答を決定 する.応答決定には,BERT[2] を用いる.BERT は事 前学習を行った後,説得対話データにおける隣接する 2 発話を正解データ,ランダムに選択した 2 発話を不正 解データとした隣接発話予測でファインチューニング を行ったものを用いる.ユーザとの対話時には,ユー ザの直前の発話と応答候補をペアにして BERT に入力 し,隣接確率の最も高い応答候補を応答とする.5
評価実験
5.1
実験設定
提案手法を評価するため,実際に被験者と対話を行 い,対話後のアンケートによる主観評価を行う.本実験 では,比較手法として,発話意味内容推定に基づく応答 候補の抽出を行わない「説得受諾度+BERT」, 説得受 諾度による応答候補のフィルタリングを行わない「発話 意味内容+BERT」,発話意味内容推定と説得受諾度の 両方を用いず,BERT のみで応答を決定する「BERT」 の 3 つを用いる.また,説得受諾度による応答候補の フィルタリングの範囲については,現在のシステムの 説得受諾度から-0.15∼+.025 の範囲の発話を応答候補 とし,それ以外は除外する. BERT は日本語 Wikipedia の 4800 万文と人狼 BBS から抽出した 1800 万文を事前学習に使用した.BERT のパラメータは BERT-base[2] と同一のものを用いた. ファインチューニングには収集した説得対話から抽出し た隣接発話ペアに加え,著者が収集したテキストチャッ トデータから抽出した約 4 万発話ペアを用いた.これ は,説得対話のみのデータでは,データが少なすぎて 適切に学習が進まなかったためである. 各システムと対話を行う際のゲーム状況は,収集し たデータから 1 つをランダムで選択し,被験者に提示 する.システムの最初の発話は選択したデータの最初 の被説得プレイヤの発話とし,対話は開始する.対話 はシステムが説得受諾度 1.0 の発話 (各データ中の対話 における最後の発話) がシステムの応答として使用さ れるか,一定回数システムが応答した時点で終了とす る.前者の場合システムが説得に応じ,被験者の勝利 となり,後者の場合は時間切れによる説得の失敗とな り,被験者の敗北となる.本実験では,システムの最 大応答回数は 14 回とし,14 回目の応答 (最初の発話を 含まず) を行った時点で対話は終了とした.なお,14 回 は,収集したデータのシステムの平均応答回数の倍の 数である. ただし,このままだと比較手法のうち,「発話意味内 容+BERT」と「BERT」については,説得受諾度 1.0 の発話が対話開始後すぐに選択され,対話が終了する 可能性がある.これはその 2 手法について主観評価を 行う際,著しく不利であることから,システムが一定 回数応答を行った以降のみ説得受諾度 1.0 の発話を応 答候補に含むこととした.本実験では,最大応答回数 である 14 回の半分の 7 回目以降とした. 対話は Telegram を用いて実施した.被験者は提案手 法と 3 つの比較手法に基づく合計 4 体のシステムと 1 回ずつ対話し,その後アンケートに回答した.対話す るシステムの順番は被験者ごとにランダムとした.ア ンケートの項目は「システムは自分の話を理解してい る」「システムの応答は一貫性がある」「システムとの 対話の流れは自然だ」「システムと対話して楽しい」の 4 つであり,7 段階のリッカート尺度で評価した.5.2
結果
クラウドワークスで被験者を募集したところ,22 名 の被験者が実験に参加した.結果を図 2 に示す.エラー バーは標準誤差である.有意差検定には Wilcoxon の図 2: 実験結果 順位和検定を用い,その結果も表に示した.「*」は有意 水準 5%で有意,「**」は 10%で有意であったことを意 味する. 4 つのアンケート結果全てにおいて,提案システムが 高い評価を得たことが確認できた.ただし,提案シス テム以外の 3 つのシステムの間には有意差,有意傾向 はいずれも確認できなかった.このことは,Semantics によるゲーム状況と矛盾した発言を抑えること,そし て DPA による説得の受容度に即した応答を行うこと のいずれかが欠けても性能が高くならず,同時に行う 提案システムが有効であることが示唆された. 統計的有意差についても,提案手法とその他の手法 については多く確認されている.とくに (b) の一貫性 と (c) 対話の流れの自然さはすべての手法との間に有 意差が確認されていることから,提案手法の有効性が 確認できた.表 2 に実際の対話例を示した.
6
むすび
本論文では,人狼ゲームにおける説得対話を対象と し,ユーザに説得されることでユーザを楽しませる対 話システムの構築手法を提案した.提案システムは,収 集した対話ログ中における発話の位置を用いて説得受 諾度を管理するとともに,ログ中の発話の意味内容を 推定し,ゲーム状況とのマッチングを行うことで,適 切な応答選択を実現した.実験の結果,提案システム は説得受諾度,および推定した意味内容を使用しない 場合と比べ,有意に性能が高いことを確認した.今後 表 2: 実際の対話例 (A:ユーザ,B:システム) B 私は A に投票します。C が本物の占い師であ り、A は人狼であると思います。 A 私が人狼ならなぜ D に投票したのですか。 B いやもう無理ですよ。C が真占いで私は狂人 の偽装をした村人です。以上。 A 私は村人です。 B しかし C に人狼側と占われてますよね。 A C が占い師を偽っているかもしれないじゃな いですか。 B 可能性はありますが、確率的には低いと思い ます。 は,本研究の設定では発言しなかったプレイや (沈黙プ レイヤ) を含めた 3 人対話への拡張を検討していく.参考文献
[1] 石川葉子, 水上雅博, 吉野幸一郎, 鈴木優, 中村哲. 感情表現を用いた説得対話システム. 人工知能学会 論文誌, Vol. 33, No. 1, pp. DSH–B 1, 2018. [2] Jacob Devlin, Ming-Wei Chang, Kenton Lee,and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language un-derstanding. In Proceedings of NAACL-HLT 2019, pp. 4171–4186, 2019.