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

快適度推定に基づく用例ベース対話システム
水上 雅博 †
Sakriani Sakti†

Graham Neubig†
鈴木 優 †

吉野 幸一郎 †中村 哲 †† 奈良先端科学技術大学院大学 情報科学研究科
masahiro-mi@is.naist.jp

1

はじめに

用例ベース対話システムは，コーパスから得られた発話と応答の組である用例を用いてシステムを構築するデータ駆動型の対話システムである [8]．この枠組
みでは，用例データベース（以下，用例 DB と呼ぶ）の品質と，用例 DB からの応答選択の精度という二つの要素が用例ベース対話システムの品質の決定に大きな影響を与える．
既存の用例ベース対話システムにおいて，用例 DBの構築ではヒューリスティクスに基づいて選ばれた一対一の発話と応答の組が用いられてきた．また，応答選択ではユーザ発話と用例間の類似度のみを考慮して応答が決定されてきた．しかし，快適な対話を実現するうえで，対話中のユーザの選好を考慮して応答を行うことは重要である．1 つのユーザ発話に対して複数の応答が存在しうる場合，既存の対話システムでは応答を一つに限定するが，本来ユーザの選好はユーザごとに異なるため，最適な応答は一つに定まらない．例
えば，ユーザの「晩ご飯何食べようかな？」という発話に対して，「別に何でもいいんじゃないですか」や「ラーメンを食べましょう！」などの様々なシステムの応答が考えられる．これらの応答は発話に対して間違いではないが，ユーザの快適度に与える影響は大きく異なる．そのため，対話システムの応答選択は，ユーザの選好を考慮して選択する応答を変更する必要がある．
本研究では，この課題に対して，ユーザ発話に適切な複数応答候補の中から，ユーザの快適度に与える影響を考慮して応答選択を行う用例ベース対話システムの枠組みを提案する．具体的には，用例 DB を一つのユーザ発話に対して複数の応答候補とその快適度を持ちうるように拡張し，ユーザの選好を推定するための快適度推定とその結果を考慮した応答選択を行う．まず，ユーザ発話に対して複数のシステム応答候補を提供するために，複数応答を持つ用例 DB の構築した．
快適度推定では，ユーザのシステム応答に対する反応であるフィードバック発話からユーザの快適度を推定し，ユーザの選好を予測する．このユーザの選好に対して協調フィルタリングの技術を用いて，ユーザに対して最も快適な応答を適応的に選択する．
評価実験において，提案法は既存の対話システムの一般的な応答選択手法，すなわちユーザに適応的な応答を行わなかった場合に比べて快適度が有意に向上し，最大で 10%の改善が見られた．

2

用例ベース対話システム

用例ベース対話システムにおいて，システムの品質を決定する重要な要素として，用例 DB の構築手法と応答選択手法があげられる．
既存の用例 DB 構築では，対話コーパスなどから発話とそれに対する応答の対を集め，クエリ発話 q とシステム応答 r の組，すなわち用例 ⟨q, r⟩ として用例DB e に収集する．先行研究では，人間同士の対話 [8]や，映画等の書き起こし [1, 9] などを利用している．
しかし，これらの研究では，あるクエリ発話 q に対し{}て複数の適切なシステム応答 r = r1 , r2 , . . . , rn が考えられるような場合，対話コーパス中での用例の登場頻度などに基づいて一つのシステム応答を利用するのみで，対話ログやユーザの選好に基づいて複数の応答候補からシステム応答を決定してこなかった．
応答選択では，実際の対話において，ユーザから与えられたユーザ発話 q ′ に対して，適当なシステム応答 r を持つ用例 ⟨q, r⟩ を用例 DB e から選択する．一
般的には，ユーザ発話 q ′ と用例 DB 中のクエリ発話 qに対する類似度関数 sim(q ′ , q) を定義し，最も類似していると判断されたクエリ発話 q̂ を持つ用例 ⟨q̂, r̂⟩ のシステム応答 r̂ が選択される．

r̂ = argmax sim(q ′ , q).

(1)⟨q,r⟩∈e

この類似度関数として，TF-IDF 重みつきベクトル類
似度 [2] などの様々な尺度が用いられる．
これらの研究では，ユーザ発話 q ′ に対して，適当な単一のシステム応答 r を選択することを想定しており，用例の快適度について明示的な考慮は行われていない．これに対して，用例の期待快適度推定 [12] では，用例に期待される快適度を推定し，それに基づいて用例 DB を構築することで，対話中のユーザの快適― 298 ―Copyright(C) 2016 The Association for Natural Language Processing.
All Rights Reserved.

ᛂ⟅ೃ⿵㑅ᢥ
䝴䞊䝄Ⓨヰ

⏝౛


満足度を事後評価的に推定する手法が研究されてきた[6, 10, 11]．また，ユーザから得られる情報を用いず，用例自身の情報のみからその用例がユーザに与える快適度を推定する試みも行われている [12]．
本研究では，あるシステム応答に対するユーザの反応のみから，その時点でのユーザの快適度を推定することにより，対話中のユーザがどの程度の快適度を感じているかを推定する．そして，推定された快適度を利用することで，ユーザの選好を推定する．ユーザのフィードバック発話に基づく快適度推定は以下の素性を用いて行う．

䝁䞊䝟䝇䝅䝇䝔䝮ᛂ⟅ೃ⿵༠ㄪ䝣䜱䝹䝍䝸䞁䜾䛻䝅䝇䝔䝮ᛂ⟅ ᇶ䛵䛟ᛂ⟅㑅ᢥ䝴䞊䝄䝣䜱䞊䝗䝞䝑䜽Ⓨヰ䝣䜱䞊䝗䝞䝑䜽䛻ᑐ䛩䜛ᛌ㐺ᗘ᥎ᐃ䜰䝜䝔䞊䝍䛾ᛌ㐺ᗘ⣔ิ䝴䞊䝄䛾ᛌ㐺ᗘ⣔ิᛌ㐺ᗘ⣔ิ䛾᭦᪂

図 1: 提案法の全体像度の向上させた．しかしながら，この手法では対話中のユーザに対して適応的に応答選択を行うことはしていない．

• フィードバックが行われたかどうかを示すフラグ• フィードバック m の n-gram 頻度ベクトル• フィードバック m のクラス頻度ベクトル

3• フィードバック m に単語極性を持つ語が存在するか

快適度推定に基づく枠組み

本研究では対話中のユーザに対して適応的な応答選択が可能な，快適度推定に基づく用例ベース対話システムを提案する．
提案するシステムの用例 DB 構築では，単一のクエリ発話 q に対して n 個のシステム応答 r ={}r1 , r2 , . . . , rn が紐付けられた用例 ⟨q, r⟩ を構築する．これにより，あるユーザ発話 q ′ に対して，システ
ムは様々なバリエーションを持った応答候補 r̂ から自由に応答を選択することが可能となる．
応答選択では，既存の応答選択と同様に，ユーザ発
話 q ′ に対して，最も類似するクエリ発話 q を持つ用例 ⟨q̂, r̂⟩ を選択し，システム応答候補 r̂ を得る．

r̂ = argmax sim(q ′ , q)(2)⟨q,r⟩∈e

そして，選択された用例 ⟨q, r⟩ の応答候補 r(∈ r) の中から，ユーザの期待快適度が最大となるシステム応答 r̂ をユーザの推定された快適度 s(q, r) に基づいた選択関数 sel(q, r) を用いて決定する．

r̂ = argmax sel(q, r).

(3)

r∈r̂

また，用例の期待快適度推定 [12] は，用例の期待快適度を選択関数として利用することと等価である．
本研究では，この選択関数を快適度推定によって得られたユーザの選好に基づいて計算することで，適応的な応答を行う．まず，本手法の全体像を図 1 に示す．
これを実現するためには，ユーザの選好を得るためのフィードバック発話に基づく快適度の推定と，選好を考慮して次の応答を選択する適応的な応答選択アルゴリズムが必要となる．

3.1

フィードバック発話に基づく快適度推定

ユーザの快適度や満足度の推定は，対話によって得られたログやフローを分析することによって，対話の• フィードバック m 中の単語極性の最大，最小，平均値

これは用例に対する快適度推定と異なり，実際のユーザとシステムとの対話中に行われるフィードバック発話から得られる素性を利用できる．推定に用いるモデ
ルは，快適度推定に関する先行研究 [12, 10] の結果を踏まえ，Support Vector Regression[3] を用いた回帰モデルを用いる．

3.2

協調フィルタリングを用いた応答選択

協調フィルタリング [4] は，推薦システムで広く使われるユーザに適応的な候補選択方法のひとつであり，対話システムにおいてはユーザ発話の予測などの研究に利用されている [5]．本研究では，この協調フィルタリングをユーザの選好に合わせてシステムの応答を選択するために利用する．
まず，ユーザは対話においてシステムの応答に対して選好を持ち，それに基づき快適度の評価が行われているとする．さらに，ユーザ間の選好の類似性は，ユーザ間の快適度の評価の傾向の類似性と相関があると仮定する．すなわち，対話中のユーザの選好と類似している選好を学習データから見つければ，その選好に従って応答を選択することで，対話中のユーザの選好に合った応答を選択することができる．
本研究では，ユーザの選好を，ある順序に則って並べられた快適度の系列データ（以下，快適度系列）として定義した．まず，用例 DB e において，存在するすべてのクエリ発話とシステム応答を並べた系{}
列 Le = ⟨q1 , r1,1 ⟩, ⟨q1 , r1,2 ⟩, . . . ⟨qv , rv,wv ⟩ を定義する 1 ．この定義に従い，対話中のユーザの快適度系列{}
は sest,t = sest,1 , . . . , sest,|Le | のように整列される．
同様に，学習データに含まれる各アノテータ u ∈ U の{}
快適度系列は su,t = su,1 , . . . , su,|Le | となる．快適
1 ここでは，クエリ発話 q が v 種類存在し，あるクエリ発話qi (i ∈ v) に対して，システム応答候補 r が wi 種類存在する．

― 299 ―

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

sest,n = R(mt )(4)

こうして得られたユーザの快適度系列を利用して，対話中のユーザの選好に最も適した応答を選択する．具体的には，対話中のユーザの快適度系列と学習データ中のアノテータの快適度系列のコサイン類似度 cos(sest , su )を重みとして，学習データ中の応答 r に対してアノテータが与えた快適度 su,⟨q,r⟩ の重み付き平均を計算する．

sadapt (q, r) = s⟨q,r⟩∑+(su,⟨q,r⟩ − s⟨q,r⟩ )cos(sest , su ).

(5)u∈U

この快適度 sadapt (q, r) を選択基準として応答を選択するため，応答選択は式 (3) に以下の関係を代入する
ことで式 (7) のように計算される．

sel(q, r) = sadapt (q, r)(6)r̂ = argmax sadapt (q, r).

(7)

r∈r̂

4

コーパスとアノテーション

快適度の推定モデルと協調フィルタリングに用いるデータを構築するため，用例に対する期待快適度推定[12] で利用した用例 DB と対話コーパスの拡張を行った．この拡張では，アノテータ 5 人が全用例に対してシステム応答に対するフィードバック発話と快適度を付与した．ただし，フィードバック発話を行うかどうかはユーザが任意に決定することが可能であり，システム発話に対してユーザが発話したくない場合はフィードバック発話を行わなくてもよいこととした．
最終的に 5 人のアノテータから 2,555 個の快適度が付与された用例と，2,056 個のフィードバック発話が得られた．用例に対するフィードバック発話と快適度の実例を表 1 に示す．

ϭ͘Ϯ㻖㻖㻦㼜㻨㻜㻚㻜㻡

ϭ
Ϭ͘ϴ

D^

度系列は用例 DB が持つ全てのクエリ発話 q に対する全てのシステム応答 r の総数 |Le | だけスロットを持ち，中にはそれぞれのスロットに対応する用例 ⟨qi , ri,j ⟩ に対する快適度の推定値またはアノテーション値が入っている．
対話中のユーザの快適度系列は，対話が進行する度に，フィードバックに対する快適度推定を利用して推定された快適度 R(m) によって更新される．例えば，ある t 番目のターンにおいて，ユーザの快適度系列が{}sest,t = sest,1 , . . . , sest,|Le | であるときに，ユーザ発話 q ′ が与えられ，用例の系列 Le において n 番目の用例がシステムの応答として出力されたとする．これに対してユーザがフィードバック発話 mt をシステムに与えたとき，システムはフィードバック発話から新たにシステムに対する快適度 R(mt ) を推定し，次のターンにおいて利用されるユーザの快適度系列 sest,tの n 番目の要素を以下のように更新する．

Ϭ͘ϲ
Ϭ͘ϰ
Ϭ͘Ϯ
ϬĂƐĞůŝŶĞ

㻼㼞㼛㼜㼛㼟㼑㼐
WƌŽƉŽƐĞ

図 2: フィードバックに対する快適度推定の精度

5

評価実験

まず，3.1 節で提案されたユーザフィードバックに基づく快適度推定の精度を評価した．具体的には，ユーザフィードバック発話をアノテーションする際に実際に付けられた快適度と，ユーザフィードバックに基づく快適度推定によって推定された快適度との MSE を計算した．その際，信頼区間を Bootstrap resampling[7]を用いて p < 0.05 の有意水準で与えた．実験には 10分割交差検証を用い，ベースラインとして推定値にアノテーションされた快適度の平均値を利用した．図2 に推定精度を示す．提案法を用いた場合の MSE は0.69 であり，ベースラインの 1.00 と比較して有意に推定誤差が改善している．
次に，3.2 節で提案された協調フィルタリングに基づく応答選択について評価する．応答選択の精度評価
では，コーパスのアノテーションを行ったのとは別の8 人の被験者に，4 種類の応答選択によって出力される応答を評価してもらった．被験者は提示されたユーザ発話に対する各システムの応答を確認した上で，それぞれのシステム応答に対して快適度をアノテーションする．その後，出力された 4 種類のシステム応答の中から一つ選択し，フィードバック発話を入力してもよいこととした．このユーザ発話，システム応答，ユーザフィードバック発話の三つを合わせて tri-turnとして，各被験者が 42 個の tri-turn からなる対話を行った．
実験では，提案法である協調フィルタリングに基づく応答選択（adaptive）に加えて，比較のため三つのシステムを用意した．一つ目は，全ての被験者から収集された用例から，ランダムに抽出した用例 DB を利用した場合である（random）．これは，コーパス中の応答候補から，何も考慮せずに応答を採用する場合と等価である．二つ目は，5 つの用例 DB の中からアノテーションされた平均快適度が最大のものを利用した場合である（maxdb）．これは，優れた用例 DB作成者が用例 DB を作った場合と等価である．三つ目― 300 ―

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

表 1: 用例に対するフィードバック発話と快適度の実例
Utterance
着替えてくるよ
静かにして
今日は何食べようかな
小腹がすいたなー
今何時？

Annotator
123
4
5Response
スーツはハンガーにかけてね
さみしいなーハンバーグとか良いんじゃない？
何か食べる？
時計ないからわからないなー㻖㻖㻦㼜㻨㻜㻚㻜㻡ϰ͘ϰ^ĂƚŝƐĨĂĐƚŝŽŶ΀ϭͲϲ΁㻖㻦㼜㻨㻜㻚㻝㻜㻖㻦㼜㻨㻜㻚㻝㻜ϰ͘Ϯ

謝辞 本研究はシャープ株式会社との共同研究によるものである．

ϰϯ͘ϴ

参考文献ϯ͘ϲϯ͘ϰZĂŶĚŽŵDĂǆDĂǆZĚĂƉƚŝǀĞZĞƐƉŽŶƐĞ^ĞůĞĐƚŝŽŶDŽĚĞů

図 3: 各応答選択による快適度
は，用例 DB 作成者の区別なく，用例にアノテーションされた平均快適度が最大のものを利用した場合である（maxr）．これは，用例の期待快適度推定 [12] によって理想的な応答が出力された場合と等価である．
それぞれのシステムを用いた際のユーザの快適度を図3 に示す．
各モデルによる快適度の評価から，提案法である
adaptive は，既存の用例ベース対話システムと等価である random および maxdb に比べて有意に快適度が向上した．また，maxr に対しては有意ではないものの快適度が向上する傾向にあった．

6Satisfaction
21551を利用したが，これを少量のアノテーションから学習したデータをもとに，対話システムの運用を通して学習データを増やす枠組みの検討を行う．

ϰ͘ϲ㻖㻖㻦㼜㻨㻜㻚㻜㻡Feedback Utterance
はい静かにしてって
すきすき！
ラーメンがいいな
何時？

まとめ

本稿では，ユーザの快適度を向上させることを目的として，用例ベース対話システムにおける快適度推定の手法と，推定された快適度を考慮して適応的に応答選択を行う枠組みを提案した．
評価実験を通して，フィードバックの快適度を利用した適応的な応答選択を行うことで，既存の応答選択に比べて快適度は有意に向上した．また，フィードバックの快適度を利用した適応的な応答選択が，ユーザの快適度を考慮しない応答選択，単一の用例製作者によって快適度が考慮される応答選択，複数の被験者によって快適度が考慮される応答選択と比較しても最大の快適度を得た．
本研究では学習データ全てに人手で快適度およびユーザフィードバックをアノテーションしたコーパス[1] Rafael E. Banchs. Movie-DiC: a movie dialogue corpus for research and development. In Proc. ACL,pp. 203–207, 2012.
[2] Rafael E. Banchs and Haizhou Li. IRIS: a chatoriented dialogue system based on the vector spacemodel. In Proc. ACL, pp. 37–42, 2012.
[3] Debasish Basak, Srimanta Pal, and Dipak Chandra
Patranabis. Support vector regression. Neural Information Processing-Letters and Reviews, Vol. 11,
No. 10, pp. 203–224, 2007.
[4] Jonathan L. Herlocker, Joseph A. Konstan,
Al Borchers, and John Riedl. An algorithmic framework for performing collaborative filtering. In Proc.
SIGIR, pp. 230–237, 1999.
[5] Ryuichiro Higashinaka, Noriaki Kawamae, Kohji
Dohsaka, and Hideki Isozaki. Using collaborative
filtering to predict user utterances in dialogue. InProc. IWSDS, 2009.
[6] Ryuichiro Higashinaka, Yasuhiro Minami, Kohji
Dohsaka, and Toyomi Meguro. Modeling user satisfaction transitions in dialogues from overall ratings.
In Proc. SIGDIAL, pp. 18–27, 2010.
[7] Philipp Koehn. Statistical significance tests for machine translation evaluation. In Proc. EMNLP, pp.
388–395, 2004.
[8] Hiroya Murao, Nobuo Kawaguchi, Shigeki Matsubara, Yukiko Yamaguchi, and Yasuyoshi Inagaki.
Example-based spoken dialogue system using WOZsystem log. In Proc. SIGDIAL, pp. 140–148, 2003.
[9] Lasguido Nio, Sakriani Sakti, Graham Neubig,
Tomoki Toda, Mirna Adriani, and Satoshi Nakamura. Developing non-goal dialog system based on
examples of drama television. In Proc. IWSDS, pp.
315–320, 2012.
[10] Alexander Schmitt, Benjamin Schatz, and Wolfgang
Minker. Modeling and predicting quality in spoken
human-computer interaction. In Proc. SIGDIAL,pp. 173–184, 2011.
[11] Stefan Ultes and Wolfgang Minker. Interactionquality estimation in spoken dialogue systems using hybrid-HMMs. In Proc. SIGDIAL, p. 208–217,
2014.
[12] 水上雅博, Graham Neubig, Sakriani Sakti, 戸田智基,中村哲. 用例ベース対話システムにおける用例の評価
値推定. 2015 年度人工知能学会全国大会 (JSAI2015),
2015.

― 301 ―

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