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

暗黙的確認による未知語獲得のためのユーザ応答に基づくクラス推定結果の正誤判別
大野 航平 †

武田 龍 †

Eric Nichols‡

中野 幹生 ‡

駒谷 和範 ††‡

大阪大学 産業科学研究所（株）ホンダ・リサーチ・インスティチュート・ジャパン

ohno@ei.sanken.osaka-u.ac.jp

1

はじめに

狙う．
ルールや機械学習を用いて文が肯定的なものか否定

我々は，特定ドメインの非タスク指向型対話システ的なものかを分類する研究が多く行われている．Marn-ムの構築を目指しており，特に食べ物や飲み物に関す

eﬀe らは，Yes/No 質問に対する応答が，明示的にどちらかを示すものではなかった場合に，それがどちらをる対話を行うものを開発している．ここで課題となるのが，システムの知識にない単語，すなわち未知語へ
この課題に対し，我々は暗黙的確認により対話を通意図したものか判定するためのルールを作成した [4]．
Gokcen らは，Web 上での議論のコーパスから，反対の立場をとる投稿を識別するための素性を設計した [1]．

じて未知語を獲得する手法の開発に取り組んでいる．

これに対して本研究では，応答そのものを分類するた

ここで未知語の獲得とは，システムの知識に登録されめではなく，確認要求に含めたクラスの正誤判別を行ていない飲食物の，料理ジャンルに関するクラスの獲う．さらに，複数の判別結果を利用して推定を行う．の対応である．

得であるとする．
「プッタネスカ」が未知語の場合，(1)所属するクラスが「イタリアン」であることを推定し，(2)「イタリアンは洒落た料理が多いですよね」といっ

2

た暗黙的確認要求を出力し，(3) 確認要求に含めたク果の正誤判別ラス推定結果の正誤をユーザの応答から判別する [5]．
暗黙的確認により，明示的な質問を用いる手法 [3] よりも自然に対話を継続できると考える．

ユーザ応答に基づくクラス推定結
ユーザ応答に基づくクラス推定結果の正誤判別について，全体像を図 1 に示す．本手法は以下の 4 ステッ

上記の手順 (3) を実現するために，2 つの課題に取り組む．まず，単一ユーザ応答の表現に基づいて，確認要求に含めたクラスの正誤判別を行う．明示的な質問の場合とは異なり，システムの暗黙的確認要求に対して，ユーザが正しい/正しくないことを明示的な同意や反対の表現で示すとは限らない．そのため，同意や反対を明示的に示す表現だけでなく，それ以外の表現も考慮して正誤判別を行う．このとき，確認要求後のユーザ発話だけでなく，確認要求前のユーザ発話や，プからなる．ここで，i の初期値は i = 1 である．

1. 未知語 w を含む発話を行った i 番目のユーザに対し，クラス推定結果 c を含む暗黙的確認要求を出力する．
2. 確認要求前後のユーザ応答から判別の確信度
pi (w, c) を算出する（提案手法 1）．
3. p1 (w, c), ..., pi (w, c) から素性を抽出し，確信度
Conf (w, c) を算出する（提案手法 2）．

両者の関係も考慮する．次に，同じ確認要求に対するついての誤ったクラス推定結果を含む確認要求に対し

4. Conf (w , c) がしきい値を超えていれば，クラス推定結果 c は正しいとみなしてシステムの知識にて，ユーザが投げやりになって同意を示す表現を用い獲得する．そうでなければ，i = i + 1 としてスて応答し，システムが誤った知識を獲得してしまう場

テップ 1 から再度処理を行う．

複数の判別結果によってさらに推定を行う．未知語に合がある．異なるユーザに対する複数回の暗黙的確認の結果を用いて，正しい知識のみを獲得することをステップ 2 では，単一のユーザ発話に基づいてクラス推定結果の正誤判別を行う．正しいクラスあるいは― 1300 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

()*+ ,-./01
234 56789:;<=>?@ABCDEFGH
VWXY Z[\]^_`ab cdefghijklmnopq
rstuv

IJKLMNOPQRSTUwx    
 !"#$%&'

図 1: ユーザ応答に基づくクラス推定結果の正誤判別の全体像

誤ったクラスを含む確認要求に対するユーザ応答の傾向の違いを分析し，確認要求に含めたクラスの正誤判
別に有効と考えられるユーザ発話中の表現を素性とし表 1: 単一のユーザ発話から pi (w, c) を算出するための素性
g1
g2
g3
g4
g5
g6て設計する．このとき，確認要求前のユーザ発話も含めて考慮する．
ステップ 3 では，複数のユーザ発話に基づいてクラス推定結果の正誤判別を行う．ステップ 2 で得られた複数の推定結果から素性を抽出し，それを入力としてさらに推定を行う．推定の確信度 Conf (w , c) がしきい値を超えていれば，未知語とそのクラスをシステムの知識として獲得する．

2.1

単一のユーザ応答に基づいた確信度
pi (w, c) の算出

g7g8
g9
g10
g11

U2 が S1 への同意表現を含む (U2)U2 が S1 への反対表現を含む (U2)U2 が S1 への訂正表現を含む (U2)U1 と U2 とで共通した単語が出現 (U1, U2)
U2 が S1 で用いられたクラスを含む (U2)U2 が S1 で用いられていないクラスを含み，かつ S1 への訂正表現を含まない (U2)U2 が S1 による話題転換を防止する語を含む (U2)
U1 が S1 で用いられたクラスを含む (U1)
U1 が S1 で用いられていないクラスを含む (U1)
U1 が疑問詞を含む (U1)U1 の表現と S1 で用いられたクラスとの不一致 (U1)た傾向が現れることを仮定している．収集した応答のデータからそれぞれの傾向を分析し，それらを素性で表現する．設定した表現やクラスについては文献 [5]単一ユーザ応答の表現から確認要求に含めたクラスを参照されたい．の正誤判別を行うために，11 種類の素性を設計した．
その一覧を表 1 に示す．U1，S1，U2 はそれぞれ，確認要求前のユーザ発話，確認要求，確認要求に対する2.2

ユーザ発話，を表す．以下に例を示す．

複数のユーザ応答に基づいた確信度
Conf (w , c) の算出

本手法の目標は，誤った知識をシステムが獲得する

U1: 鍋料理と言えば常夜鍋だよね。
S1: 冬になるとお鍋が食べたくなりますね。のを防ぐために，異なるユーザに対する複数回の暗黙U2: そうですね。

的確認の結果を用いて，正しい知識のみを獲得するこ

また，素性の名称の後の丸括弧内は，着目する発話を示す．これらを入力とし，確信度 pi (w, c) を算出する．
ここでは，システムがある単語についての正しいクラスあるいは誤ったクラスを用いた確認要求を行った
場合，確認要求前後のユーザ発話間にはそれぞれ異なっとである．複数のユーザ応答を考慮することで，確認要求に含めたクラスの正誤判別をより正確に行うことを狙う．
推定の確信度 Conf (w , c) の算出は，回帰問題として定式化する．異なる n 人のユーザからそれぞれ得ら― 1301 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

表 2: n 人分のユーザ応答から確信度 Conf (w , c) を算

表 3: 11 種類の素性全てを用いた場合と素性 f1，f2 の出するための素性 (1 ≤ i ≤ n)みを用いた場合との分類結果

f1
f2
f3
f4
f5

pi (w, c) の平均値
npi (w, c) の最大値
pi (w, c) の最小値
{pi (w, c) ≥ 0.5 となる応答数 }/n

正解
用いた素性出力正しい

誤り

11 種全て正しい

724
254

298680391587297681

誤り

f1，f2 のみれた p1 (w, c), ..., pn (w, c) を入力とし，機械学習の手正しい
誤り法により Conf (w , c) を算出する．ここで入力とする素性を表 2 に示す．これらは，pi が n 個得られたと未知語の正しいクラスのみを獲得するには，より精きの素性を表している．機械学習に基づく回帰問題と度の高い推定を行う必要がある．そこで本研究では，して定式化するには，n が変わった場合でも，素性の2.2 節で提案した複数ユーザ応答に基づくクラスの正数が一定である必要がある．このことを考慮して，n誤判別を行う．その有効性を検証するために行った実回の暗黙的確認から得られる情報を表現できるように

験について次節で述べる．

した．

3

評価実験

3.1

単一のユーザ応答に基づくクラス推定
結果の正誤判別3.2

複数のユーザ応答に基づくクラス推定
結果の正誤判別

3.2.1

学習データの作成実験における学習および評価は，ワーカ open，確

本節では，表 1 に示す素性を利用した正誤判別の性認要求 open で実施した．3.1 節で述べた通り，我々は能を検証するために行った，評価実験について述べる．

正しいクラスあるいは誤ったクラスを含む確認要求 10対象とするデータは，クラウドソーシングにより収集文ずつに対し，それぞれ 98 人（一部 97 人）のワーカした，1956 のやりとりを対象とした [5]．これらはそから応答を収集した [5]．正しいクラスあるいは誤っれぞれ U1，S1，U2 の 3 発話からなる．正しいクラスたクラスを含む確認要求 5 文ずつに対する 49 人（一あるいは誤ったクラスを含む確認要求 10 文ずつに対部 48 人）分の応答を 1 グループとし，収集した応答し，それぞれ 98 人（一部 97 人）のワーカから応答をを 4 つのグループに分割した．

収集した．まず，収集した 1956 のやりとりから，表 1

学習データには，複数のユーザから得た応答を用いに示す素性として定義した表現やクラスの有無をそれる．1 つの暗黙的確認に対して N 人から応答を得た場ぞれ検出した．各々の素性値は，設定した表現やクラ合，n 人から応答を得た時点での学習データは，N Cnスなどが含まれていれば 1，そうでなければ 0 とした．

通りを得ることができる．ここで，n が大きくなると次に，ロジスティック回帰を用いて 10 分割交差検証

N Cn の値が非常に大きくなってしまうため，組み合により分類を行った．ロジスティック回帰は Weka [2]わせの上限値を 1000 と定め，N Cn が 1000 を超える(Version 3.8.1) のものを使用し，パラメータはデフォ

場合にはランダムで組み合わせを 1000 通り選ぶ操作

ルト値を用いた．

を行った．組み合わせのそれぞれから表 2 に示す素性確認要求に対する同意表現，反対表現のみを考慮しの値を計算し，学習に用いる．正解ラベルは，確認要て設計した素性 f1，f2 を用いる手法をベースラインと求に含まれるクラスが正しい場合には 1，そうでないし，11 種類の素性全てを用いた場合の結果との比較場合は 0 とした．

を行った．それぞれの分類結果を表 3 に示す．ベース

学習および評価に用いるグループは，ワーカと確認ライン手法に比べ，11 種類の素性を用いることで，正要求との重なりがないよう選択した．つまり，全 4 通

解率は 0.551(1078/1956) から 0.719(1407/1956) に増りの学習および評価を行った．確信度 Conf (w , c) の加した．これにより，確認要求に対する同意表現や反算出には Weka [2] (Version 3.8.1) のロジスティック回対表現以外の表現を考慮することで，確認要求に含め帰を使用し，パラメータはデフォルト値を用いた．

たクラスの正誤判別の性能向上が示された．

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

n=5n=6n=7n=841

おわりにPrecision%&#$

本稿では，ユーザ応答に基づいて，暗黙的確認要求0.9に含めたクラス推定結果の正誤判別を行う手法を提案

n=4
n=3
n=20.8した．実験により，(1) 単一のユーザ応答に基づくクラスの正誤判別には，確認要求前のユーザ発話も考慮することが有効であること，(2) 複数のユーザ応答を利n=10.7用することで正誤判別性能が向上すること，を示した．

BEP
0.6
0.1

0.2

0.3

0.4

0.5 0.6
Recall!"#$0.7

0.80.9

今後は，実際の対話システムに暗黙的確認の機能を1組み込み，提案手法による未知語獲得手法の有効性を検証する．また，暗黙的確認に基づいた未知語獲得手

図 2: precision-recall 曲線と BEP の直線 (n ≤ 8)

法が，明示的確認に基づいたものに比べてユーザに煩わしさを感じさせないという仮説の検証も検討している．

3.2.2

実験結果

まず，複数のユーザ応答を考慮することで，クラス推定結果の正誤判別の性能が向上するかを調査した．

謝辞

確信度 Conf (w , c) のしきい値を種々の値に変化させ，それぞれの場合について正しいクラスを抽出する際の本研究の一部は JSPS 科研費 JP16H02869 の助成を受けた．

適合率および再現率を算出した．
図 2 に，n ≤ 8 における適合率と再現率との変化をそれぞれ示す．図中の直線は，breakeven point (BEP)を示す．これは，適合率 = 再現率となる値である．これは n の値が増加するにつれて，BEP も増加していることを示している．よって，単独の応答を用いた分類（n = 1）よりも複数の応答を用いた分類（n ≤ 2）

参考文献
[1] Gokcen, A. and Marneﬀe, de M.-C.: I do not
disagree: Leveraging monolingual alignment todetect disagreement in dialogue. Proc. of ACL,
pp. 94-99, 2015.の方が性能が良いと言える．
次に，複数の応答を用いて正誤判別を行う際に応答[2] Hall, M., Frank, E., Holmes, G., Pfahringer, B.,を得る人数について考察する．図 2 より，n ≥ 5 の場

Reutemann, P., and Witten, I. H.: The WEKA
data mining software: an update. SIGKDD Explor. Newsl., 11(1), pp. 10-18, 2009.

合は BEP の増加値が比較的大きく，それ以降は増加値が小さくなっていくことがわかる．ここから．複数の応答を用いて分類を行う際には少なくとも 5 人から応答を得る必要があると判断した．
本手法によるクラス推定結果の正誤判別のためには，[3] Komatani, K., Otsuka, T., Sato, S., Nakano, M.:
Question Selection based on Expected Utility to
Acquire Information through Dialogue, Proc. ofIWSDS, 2016.

適切な Conf (w , c) のしきい値について調査を行う必要がある．我々は，獲得すべき未知語について，開発者に提案をする機能を実装予定である．自動で未知語[4] Marneﬀe, de M.-C., Grimm, S., and Potts, C.:の獲得を行うのではなく，対話のログに基づいて事後

Not a simple yes or no: Uncertainty in indirect
answers. Proc. of SIGDIAL, pp. 136-143, 2009.

的に推定を行い，追加すべき未知語の候補を開発者に示す．自動で未知語の獲得を行うのであれば，誤った知識の獲得を防ぐため，適合率を重視する必要がある．
一方，開発者に提案を行う場合，未知語を追加するかどうかの最終的な判断は人が行う．そのため，多くの[5] 大野, 武田, ニコルズ, 中野, 駒谷.: 対話を通じた未知語のクラス獲得に向けた暗黙的確認の提案.
人工知能学会論文誌, Vol. 33, No. 1, pp. DSH-候補を見せられるように再現率にも重きを置くことがE 1-10, 2018.

求められる．

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