映画推薦対話システムを具体例としたユーザ内部状態の
モデル化・コーパス構築・解析
Modeling, Corpus Construction, and Analysis of User Internal State
using Movie Recommendation Dialogue System
児玉 貴志
1田中 リベカ
1黒橋 禎夫
1,2Takashi Kodama
1, Ribeka Tanaka
1, and Sadao Kurohashi
1,2 1京都大学 / Kyoto University
2
国立情報学研究所 CRIS / NII CRIS
Abstract: An intelligent dialogue system is expected as a new human-machine interface. In order to construct a system that cooperatively interacts with human users, it is essential to model the user’s internal states appropriately. In this study, we model and analyze the internal state of the human user based on dialogue data. We collected a large scale multi-turn human-machine dia-logue corpus by using a carefully-designed movie recommendation diadia-logue system. The collected dialogues were annotated with a user’s internal state as well as the naturalness score of the system utterance. Our experiment shows that we can predict the user’s internal state from the dialogue. Also, we show that the user’s internal state is useful to detect the unnaturalness of the system utterance.
1
はじめに
人間と機械の新たなインタフェースとして知的な対話 システムの実現が期待されている。そこでの期待は、言 語を用いた協調的な理解が実現されることである。そ のためには、対話の文脈を理解し、またユーザの心理 状態、すなわち、やりとりされている情報の理解度や 興味・関心の度合いなどを適切にモデル化する必要が ある。このような対話研究を進めるためには、実対話 データの構築と分析が必要であるが、人間同士の対話 はレベルが高すぎて現在の対話システムの構築・改善 のためには距離がある。このような問題意識から、本 研究では、適切なタスク設定によってある程度のター ンテイキングが発生する対話システムを構築し、その 対話システムと人との対話データを大量に収集し、対 話ログをベースにユーザの内部状態のモデル化と解析 を行った。 具体的には、200 編ほどの映画データベースを構築 し、これに基づく映画推薦対話システムを構築した。こ のシステムは「最近○○が話題ですが・・・」「△△に興 味はありますか?」のように間接的に話題(推薦する 映画)を導入する。このようなシステム側がイニシア ティブをとる間接的話題導入によってある程度自然な 複数回のターンテイキングが発生し、現在の対話シス テムの技術レベルでも人とシステムとの一定の品質の 対話ログが収集できる。 クラウドソーシングによって本システムとユーザ(ク ラウドワーカー)との約 1000 対話のコーパスを構築し た。また、このコーパスの分析に基づきユーザの内部 状態を、話題への興味のある/なし、話題への知識のあ る/なし、対話への関与の度合い、の 3 つの軸でモデル 化し、クラウドソーシングでこれらのアノテーション を行った。さらに、これを学習データとして BERT [1] によるユーザ内部状態の自動推定について検討した。2
関連研究
対話システムはユーザの発話や内部状態を理解した上 で発話をすることが望ましい。これまでにユーザの内 部状態として様々なモデルが提案され、ニューラルネッ トワークを用いた推定や発話生成への活用が行われて いる。 タスク指向型対話では、しばしば対話状態が用いら れる [2]。対話状態はユーザの意図(挨拶や質問等) や タスクの遂行に必要なスロット値(場所や値段等)の ことを指し、この対話状態を正しく推定することがタ 人工知能学会研究会資料 SIG-SLUD-B902-08映画情報サイト Web ニュース Webテキストから 情報抽出 ダイアログマネージャ 4. 先頭から順に発話 例: S1 → S2 → S3 → S4 → S5 3. 対話シナリオの決定 例: シナリオ1 2. 推薦映画の決定 例: 映画1 (マイ・インターン) 1. 初期質問の発話 (オプション) 例: 好きな俳優は誰ですか? ユーザ システム発話 ユーザ発話 映画データベース Ø基本情報 Ø解説・あらすじ Øニュース Øレビュー シナリオ 映画1 映画2 シナリオ1(パターン: T2) シナリオ2 S1: ファッションって興味ありますか? S2: そのファッションに関係のある映画 があるんです S3:「マイ・インターン」というタイトルです S4: 素晴らしいの一言ですよ S5: ロバート・デニーロは優しくカッコいい 紳士、憧れますよ 図 1: 映画推薦対話システムの概要図 スク指向型対話の精度向上の一つの鍵となる。対話状 態の推定精度を競う DSTC というコンペティションも 開催されている [2, 3, 4, 5, 6]。 また、感情もユーザ内部状態の一つであり、発話か らの感情の推定や、感情を踏まえた発話生成等が行わ れている。Twitter データを利用して、顔文字を感情 のアノテーションとみなすことで感情を反映した発話 生成を行う手法や [7]、怒り、満足、嫌悪、喜び、悲し み、普通の 6 感情をそれぞれ発話に反映する対話シス テムが提案されている [8]。 一方で、話し手の発話だけからでは陽には読み取れな い情報に着目したものとして、ペルソナがある [9, 10]。 ペルソナは話し手の年齢や性別といった個人的な背景 やそれに基づく話し方を含む。ユーザごとに ID 番号 を割り振ることで話し手の違いを学習する手法 [9] や、 ユーザの属性を短文数文程度にまとめることでペルソ ナのモデル化を行ったものがある [10]。 本研究では、上記の研究に見られなかった、話題へ の興味と知識、および対話への関与の度合いの 3 つを 軸とした内部状態のモデル化とその推定に取り組む。
3
映画推薦対話システムの構成
対話文脈中でのユーザの内部状態を分析するためには、 一貫した目的を持って複数ターンにわたって対話を続 ける対話システムが必要となる。そこで、間接的な話 題導入を行うルールベースの映画推薦対話システムを 構築した。 システムの構成を図 1 に示す。本システムでは、シ ステム発話の内容を予め映画ごとに作成しておく。こ の発話集をシナリオと呼ぶ。映画データベースはこの シナリオと、簡単な質問応答の際に必要な映画情報を 保持する。対話管理はダイアログマネージャが担い、必 要に応じて映画データベースに格納された映画情報を 参照しながら対話を進める。3.1
対話戦略
本システムは以下の 3 つの対話戦略に基づき動作する。 (1) システム主導 システムはユーザ発話に対する簡 単な応答をしつつ、基本的にはシナリオ通りに主導的 に対話を進める。 (2) 間接的話題導入 システムは対話のメインの話題 である映画のタイトルをいきなり言うのではなく、以 下の 3 つのパターンでその周辺の話題から対話を始め る(下線部は映画によって異なる。) T1 :最近のエンタメニュース (例)俳優の染谷将太と女優の菊地凛子夫妻に 第 2 子が誕生したことが 11 日までにわかったと 話題です T2 :映画のテーマ(旅行、恐竜など) (例)飛行機って興味ありますか? T3 :映画情報(俳優の名前など) (例)細田守監督をご存知ですか? (3) 推薦ポイント 推薦する映画を褒める文(推薦ポ イント)を複数回発話することで、ユーザがその映画 を見たいと思えるように念押しする。 これら 3 つの戦略によって現在の技術レベルでも意 味のある映画推薦対話が可能となる。3.2
映画データベース
映画データベースには 213 作品の基本情報、解説・あら すじ、ニュース情報、レビュー、シナリオがそれぞれ格 納されている。基本情報、解説・あらすじ、レビューは 映画レビューサイトから Web スクレイピングで取得し た。基本情報は映画のタイトル、キャスト、スタッフ、 ジャンルなどの情報である。レビューは、映画レビュー サイトのユーザが映画の感想や評価などを書き込んだ ものであり、各映画につき高評価順に 300 件ずつ取得 した。ニュース情報は、エンタメとスポーツのニュー スをニュースサイトから Web スクレイピングで取得し た。このニュース情報は前述したパターン T1 のシナリオの作成に用いる。
3.3
対話シナリオ
シナリオは対話戦略に沿って映画ごとに複数作成した。 シナリオの前半部分では、間接的に話題を導入し、推 薦映画を提示する。後半部分では、推薦ポイントを述 べる発話を 2 回行い、最後に視聴を促した。 シナリオの前半部分に用いる間接的話題導入の発話 は、3.1 節で述べた 3 つのパターン T1∼T3 に基づき、 映画データベース中の情報を用いて生成する。 パターン T1 では、最近のニュースの話題で対話を 始め、そのニュースの登場人物の出演映画を推薦する。 映画データベースのニュース記事の最初の 1 文を抽出 し、キャストの名前が含まれていたら、その文に「∼ というニュースが話題になっていますね」とつなげる。 パターン T2 では、映画のテーマを用いて「<テー マ>って興味ありますか?」といった文で対話を始め る。映画のテーマは映画データベースの解説・あらすじ からキャスト・スタッフの名前を取り除いた上で tf-idf のスコアが最も高い名詞を選択する。ただし、一般的 な語がテーマとして使用されるのを防ぐために、スコ アが 0.35 を下回った場合には、その映画についてはパ ターン T2 のシナリオは作成しない。 パターン T3 では、映画データベースの基本情報に 含まれている主要キャスト 2 名と監督の名前を用いて 「∼さんってご存知ですか?」といった発話から対話を 始め、その人物に関連する映画を推薦する。 シナリオ後半部分では、レビューから抽出した 2 つ の推薦ポイント文を発話する。映画の視聴を勧めるた めに、ある程度内容のある、映画を褒めている文を選 ぶ。抽出時は、まず独自に選んだ映画に関連するポジ ディブな単語(「傑作」、「面白い」など)50 語のの単 語ベクトルの和と各文の単語ベクトルの和のコサイン 類似度を計算し、その上位 200 文を取得する。さらに、 類似度に各文の文字数をかけ合わせたスコアを用いて 上位 100 文を抽出する。これを各映画について行い、 各シナリオでは 100 文の中からランダムに 2 文を用い る。なお、単語ベクトルは Web テキスト約 98 億文で 学習した word2vec を用いた。3.4
ダイアログマネージャ
ダイアログマネージャは、映画データベースの情報を 参照しつつ、推薦映画の決定やシナリオの選択、シナ リオに基づく発話を行う。推薦映画の決定はユーザの 好みを尋ねてからその返答に応じて決定する方式とラ ンダムに決定する方式の 2 つを用意し、その割合を 8:2 とした。ユーザの好みを尋ねる際に用いる質問(初期 質問)は以下からランダムに選択する。 • 好きな俳優は誰ですか? • 好きな女優は誰ですか? • 好きな監督は誰ですか? • 好きなジャンルは何ですか? • 邦画と洋画どちらが好きですか? 初期質問をする場合には、例えばユーザが好きな女優 を挙げたら、その女優が出演する映画の中から推薦映 画を選ぶ。その後、用意されているシナリオから 1 つ 選択し、そのシナリオに基づいて発話を行う。ユーザ が「いない」等と答えた場合や、初期質問をしない場 合には、推薦映画をランダムに決定する。 推薦映画の主演・監督・キャストの名前を問う簡単 な質問をユーザがした場合には、映画情報データベー スを参照してその応答をシステム発話の前に挿入する。 質問の判定は正規表現ベースでマッチングを行う。4
コーパス構築
4.1
対話収集
本システムを用いてクラウドソーシングで対話を収集 した。ワーカーには事前に、213 作品の中から対話的 に映画を薦めるシステムとの対話であることを伝えて いる。対話はシステム側から開始し、ワーカーが返答 するという順で進めた。最後はシステム発話で対話を 終了する。 対話システムは外部サイトとして用意し、ワーカー はクラウドソーシングのタスク画面内の対話システム の URL をクリックし、外部サイトで対話を行う。ま た、対話終了後にクラウドソーシングのタスク画面上 で以下に示す 5 段階評価式のアンケートに回答する。 (1) 説得度: 推薦された映画を見たくなりましたか? {5:見たい, 4:どちらかと言えば見たい, 3:どちら とも言えない, 2:どちらかと言えば見たくない, 1: 見たくない} (2) 流れの自然さ: 対話の流れは自然でしたか? {5:自然だった, 4:どちらかと言えば自然だった, 3: どちらとも言えない, 2:どちらかと言えば不自然 だった, 1:不自然だった} 外部サイト上でワーカー固有の ID を表示し、クラ ウドソーシングの回答欄に入力してもらうことで対話 とアンケート結果の紐付けを行った。収集した対話例 を図 2 に、その統計情報を表 1 に示す。全部で 1060 対 話を収集した。アンケート結果では、説得度について 51.7%、流れの自然さについて 60.3%の対話が 4 以上の 評価を獲得しており、収集した対話が映画推薦というS: お姫さまって興味ありますか? U: 興味あります S: お姫さまに関係のある映画があります。 「今夜、ロマンス劇場で」というタイトルです U: どんなストーリーですか? S: 内容は詳しく言えませんが、泣ける映画です。 リアリズムを徹底的に求めるのではなく、綾瀬はるか のセリフと音楽を楽しむのが良いと思いますよ U: 音楽興味ありですね S: 悲劇ではないけど切ない結末だなと思いきや、 白黒からフルカラーへの反転で大団円ですよ U: 素敵な展開ですね S: ぜひ見てみてください 自然さ: -3 自然さ: 0 自然さ: -3 自然さ: -1 知識:2,興味:3,関与:3 知識:-3,興味:3,関与:3 知識:0,興味:3,関与:3 知識:-2,興味:3,関与:3 内部状態 対話 図 2: 収集対話例(S はシステム発話、U はユーザ発話) 対話数 1,060 平均ターン数 10.6 システム ユーザ 発話数 6,154 5,094 異なり発話数 4,840 2,485 単語数 163,347 20,279 異なり単語数 5,123 1,786 表 1: 収集対話の統計情報 目的においてある程度の品質があることを確認できる。
4.2
アノテーション
4.2.1 ユーザ内部状態 本研究では収集した対話を分析した結果、ユーザの 内部状態を以下の 3 つの軸でモデル化する。 • 興味(あり・特に読み取れない・なし) • 知識(あり・特に読み取れない・なし) • 対話への関与(積極的・どちらとも言えない・消 極的) 収集した対話にクラウドソーシングを用いて内部状態 をアノテーションした。ワーカーは対話の履歴を見な がら、各ユーザ発話に対して括弧内の選択肢から適切 なものを選択する。また、興味と知識に関しては任意で はあるが、その興味・知識の対象を対話中から抜き出す ように依頼した。各発話に対して 3 人ずつにアノテー トをしてもらい、それぞれの選択肢に 1 点、0 点、-1 点 を割り振ってスコア化した。各内部状態のスコアの分 布を表 2 に示す。興味と対話への関与に関してはスコ アが高い傾向にあったが、知識に関してはほぼ一様に 分布している。 4.2.2 システム発話の自然さ さらに、各システム発話について、対話の文脈中で の自然さのアノテーションを行った。このアノテーショ ンについてもクラウドソーシングを用いて行い、各シ ステム発話に対してワーカーを 3 人ずつ割り当てた。 ワーカーは該当のシステム発話に達するまでの対話履 スコア 興味 知識 対話への関与 3 20.2% (1,030) 13.4% (684) 20.4% (1,039) 2 22.2% (1,130) 15.3% (781) 19.7% (1,006) 1 18.2% (929) 15.6% (793) 17.8% (906) 0 13.3% (680) 14.4% (735) 14.1% (716) -1 11.4% (579) 15.8% (807) 12.0% (609) -2 8.7% (443) 14.0% (711) 9.5% (486) -3 5.9% (303) 11.4% (583) 6.5% (332) 表 2: ユーザ内部状態の分布(括弧内は発話数) スコア 自然さ 0 25.1% (1,281) -1 21.6% (1,101) -2 23.9% (1,215) -3 13.9% (710) -4 9.7% (496) -5 4.1% (210) -6 1.6% (81) 表 3: システム発話の自然さの分布(括弧内は発話数) 歴を見ながら、その発話が文脈の中で自然である・少し 違和感を感じる・不自然であるかを選ぶ。この選択肢は 雑談対話における対話破綻のアノテーションを実施し ている雑談対話コーパス [11] を参考にした。それぞれ の選択肢に 0 点、-1 点、-2 点を割り振ってスコア化した 結果を表 3 に示す。スコア 0 から-2 までを自然、-3 か ら-6 を不自然な発話とみなすとするとそれぞれ約 70% と 30%という割合になった。4.3
内部状態と発話の自然さの関係
ユーザの内部状態とシステムの発話の自然さの関係に ついて調査した。あるユーザ内部状態(興味・知識・対 話への関与)とその次のシステム発話の自然さとの関 係を図 3 上部に示す。ユーザの知識がなくてもシステ ムの発話はそれほど不自然とはみなされなかった。シ ステムがユーザに映画を勧めるという設定上、システ ムの方がより知識を持っていることが自然であるため と考えられる。 また、あるシステム発話の自然さとその次のユーザ 内部状態(興味・知識・対話への関与)との関係を図 3 下部に示す。システム発話が自然であれば、ユーザ の興味・対話への関与が高くなる傾向にあることがわ かる。5
ユーザ内部状態の推定
構築したコーパスを用いて、発話と対話履歴からユー ザの内部状態の推定を試みる。また、ユーザの内部状興味→ 知識→ 対話への関与→ ← 発 話 の 自 然 さ ← 発 話 の 自 然 さ ← 発 話 の 自 然 さ 発話の自然さ→ ← 興 味 ← 知 識 ← 対 話 へ の 関 与 発話の自然さ→ 発話の自然さ→ 図 3: ユーザ内部状態とシステム発話の自然さの関係(行列内の数字は発話数) 態の有効性を検証するため、内部状態を用いて発話の 自然さの推定を行う。
5.1
分類モデル
分類には BERT [1] を用いる。BERT は Transformer [12] をベースとし、大規模な生コーパスで事前学習した後、 各タスクで fine-tuning することで自然言語処理の様々 なタスクで SOTA を達成している。本研究では約 1,800 万文の日本語 Wikipedia を利用して事前学習したモデ ルを利用した1。このモデルは入力テキストを形態素解 析し、形態素を subword に分割したものを基本単位と し、1 単語に該当するトークン全てを同時に mask する Whole Word Masking を行っている。
5.2
実験設定
学習率 0.00002、バッチサイズ 32、3 エポックで fine-tuning し、10 分割交差検証法を用いて推定した。 内部状態推定は 7 値分類であるが、分布を重視し、損 失関数に KL ダイバージェンスを用いた。正解の分布 には正解ラベルを平均値、分散を 1 としたガウス分布 を与えた。入力表現としては、推定の対象文と対話履 1http://nlp.ist.i.kyoto-u.ac.jp/index.php?NLP リソース 内部状態 正解率 (%) ±1 正解率 (%) 興味 31.1 81.4 知識 29.0 78.1 対話への関与 29.2 78.4 表 4: ユーザ内部状態の推定結果 歴の間に [SEP] トークンをはさみ、対話履歴はより新 しいものを左にした。また、各システム発話、ユーザ 発話の前には分離トークンを追加した(図 4 上部)。 発話の自然さの推定ではスコア 0 から-2 を自然、-3 から-6 までを不自然、とみなし、2 値分類で推定を行っ た。対話履歴は直前のユーザ発話とその前のシステム 発話の 2 発話を用いた。損失関数には交差エントロピー 誤差を採用し、ユーザ発話の分離トークンの前に推定 した各内部状態のスコアを示すトークンを挿入した(図 4 下部)。5.3
考察
ユーザの各内部状態の推定結果を表 4 に示す。正解率 はいずれの内部状態においても 30%程度であった。ま た、スコアの誤差±1 まで許容した ±1 正解率はいずれ も 80%程度であり、発話からユーザの内部状態を概ね 推定できていると考えられる。ユーザ内部状態推定時のBERT入力 システム発話の自然さ推定時のBERT入力 推定した各内部状態のスコア [SEP] [S] [U] 推定対象のユーザ発話(𝑈") システム発話(𝑆") ユーザ発話(𝑈"$%) [S] [U] [CLS] 知識 (𝑈"$%) 関与 (𝑈"$%) 興味 (𝑈"$%) [SEP] 推定対象のシステム発話(𝑆") [U] [S] ユーザ発話(𝑈"$%) システム発話(𝑆"$%) [S] [CLS] 図 4: BERT への入力([S]、[U] はそれぞれシステム発話、ユーザ発話の分離トークン) 手法 正解率 (%) F1 (%) ベースライン 73.6 47.6 +興味 73.9 47.8 +知識 73.7 47.2 +対話への関与 73.8 47.3 +興味+知識 73.9 47.9 +興味+対話への関与 74.0 48.5 +知識+対話への関与 73.6 47.4 +興味+知識+対話への関与 73.6 47.1 表 5: システム発話の自然さの推定結果 次にユーザ内部状態がシステム発話の自然さの推定 に影響するかどうか調べた(表 5)。ベースラインは発 話だけからシステム発話の自然さの推定を行っている。 F 値は不自然な発話を検出するタスクと考えた場合の 値である。内部状態、特に興味と対話への関与を追加 することでわずかながら精度が向上している。この結 果より、本研究のモデル化に基づいた内部状態を考慮 することはシステムが自然に発話する上で意味がある といえる。
6
おわりに
本研究では、映画推薦対話システムをデザインし、構 築した対話システムを用いて人対システムの対話を収 集した。また、収集した対話を分析した上で、ユーザ の内部状態をモデル化し、クラウドソーシングを用い て、そのユーザ内部状態をアノテートした。この内部 状態を利用することでシステム発話の自然さの推定精 度がわずかに向上することを確認した。 今後は大規模なデータ収集及びニューラルネットワー クを用いた映画推薦対話システムの構築、内部状態の 推定による対話管理を進めて行く予定である。収集し た対話はリクエストベースで提供予定である。 謝辞 この研究は 2019 年度国立情報学研究所 CRIS 委 託研究の助成を受けています。参考文献
[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidi-rectional transformers for language understanding. In
NAACL 2019, pp. 4171–4186, 2019.
[2] Jason Williams, Antoine Raux, Deepak Ramachan-dran, and Alan Black. The dialog state tracking chal-lenge. In SIGDIAL 2013, pp. 404–413, 2013. [3] Matthew Henderson, Blaise Thomson, and Jason D.
Williams. The second dialog state tracking challenge. In SIGDIAL 2014, pp. 263–272, 2014.
[4] Matthew Henderson, Blaise Thomson, and Jason D Williams. The third dialog state tracking challenge. In 2014 IEEE SLT, 2014.
[5] Seokhwan Kim, Luis D’Haro, Rafael Banchs, Jason Williams, and Matthew Henderson. The fourth dialog state tracking challenge. 2016.
[6] Seokhwan Kim, Luis Fernando D’Haro, Rafael E. Banchs, Jason D. Williams, Matthew Henderson, and Koichiro Yoshino. The fifth dialog state tracking chal-lenge. 2016 IEEE SLT, pp. 511–517, 2016.
[7] Xianda Zhou and William Yang Wang. MojiTalk:
Generating emotional responses at scale. In ACL
2018, pp. 1128–1137, 2018.
[8] Zhenqiao Song, Xiaoqing Zheng, Lu Liu, Mu Xu, and Xuanjing Huang. Generating responses with a spe-cific emotion in dialog. In ACL 2019, pp. 3685–3695, 2019.
[9] Jiwei Li, Michel Galley, Chris Brockett, Georgios Sp-ithourakis, Jianfeng Gao, and Bill Dolan. A persona-based neural conversation model. In ACL 2016, pp. 994–1003, 2016.
[10] Saizheng Zhang, Emily Dinan, Jack Urbanek, Arthur Szlam, Douwe Kiela, and Jason Weston. Personaliz-ing dialogue agents: I have a dog, do you have pets too? In ACL 2018, pp. 2204–2213, 2018.
[11] 東中竜一郎,船越孝太郎,荒木雅弘,塚原裕史,小林優佳,
水上雅博. テキストチャットを用いた雑談対話コーパス
の構築と対話破綻の分析.自然言語処理, Vol. 23, No. 1, pp. 59–86, 2016.
[12] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz
Kaiser, and Illia Polosukhin. Attention is all you
need. In Advances in neural information processing