音声対話システム理論と 音声対話システム

音声対話システム理論と
音声対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
1/42
本講義の目次
 はじめに
 ルールベース対話システム
– 古典的対話システム
– 現代におけるルールベース対話システム
 非ルールベース対話システム
– 情報検索技術を用いた対話システム
– 機械学習を用いた対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
2/42
音声対話システムとは
 音声による一連の入力発話を理解
– 入出力が1対1に対応していない(非コマンド&コントロール型).
– 入力発話として自然言語を扱う.
If in=あー then out=コーラ
If in=いー then out=お茶
あー
・・・
非自然言語
コマンド&コントロール型
非音声対話システムの例
 適切に応答
–
–
(一般的には)与えられた課題を効率よく達成
(一般的には)ユーザの満足度を高い形で達成
2015©Hiraoka AHC-Lab, IS, NAIST
3/42
Siri(対話システム例)
 URL: http://www.youtube.com/watch?v=uxWcxEqt4b8
2015©Hiraoka AHC-Lab, IS, NAIST
4/42
一般的な音声対話システムの構成
本講義の対象
何時ですか?
何時ですか
[ask time]
言語理解
音声認識
対話行為
入出力:音声
対話制御
2時です
音声合成
言語生成
[answer time]
2時です
2015©Hiraoka AHC-Lab, IS, NAIST
5/42
本講義の目次
 はじめに
 ルールベース対話システム
– 古典的対話システム
– 現代におけるルールベース対話システム
 非ルールベース対話システム
– 情報検索技術を用いた対話システム
– 機械学習を用いた対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
6/42
古典的な対話システムの特徴
 人手による規則に基づく言語理解と対話制御
知識ベース
関係データベース
言語理解
対話制御
決定的写像
(SQL)
決定的写像
(フロー固定,
or一問一答)
– 言語理解:人がテキストからSQLコマンドへの変換規則を記述
– 対話制御:人が言語理解結果に対する対話の流れや返答規則
を記述
2015©Hiraoka AHC-Lab, IS, NAIST
7/42
古典的な対話システムの例
 ELIZA [Weizenbaum, 1966]
– 言語理解:パターンマッチによる応答文の決定
– 対話制御:なし(一問一答)
 SHRDLU[Winograd, 1968]
– 言語理解:パターンマッチを用いた論理式への変換
– 対話制御:積み木の世界に関する知識を利用したプランニング
2015©Hiraoka AHC-Lab, IS, NAIST
8/42
ELIZAとの対話例
 Young woman: Men are all alike.(男は皆同じ)
 Eliza: in what way?(どのように?)
 Young woman: They’re always bugging us about something
specific or other.(彼らはいつも私たちを悩ませるの)
 Eliza: can you think of specific example?(例えば?)
 Young woman: well, my boyfriend made me come here.
(ええと,私のボーイフレンドがここに来させたの)
 Eliza: your boyfriend made you come here?
(あなたのボーイフレンドがここに来させたの?)
 Young woman: He says I’m depressed much of the time.
(彼は私が落ち込んでるって言うの)
 Eliza: I am sorry to hear you are depressed.
(あなたが落ち込んでいると聞いて残念です)
2015©Hiraoka AHC-Lab, IS, NAIST
9/42
A.L.I.C.E.
(Elizaと同タイプの音声対話システム)
 URL: http://www.youtube.com/watch?v=ZZlRMsrOvB4
2015©Hiraoka AHC-Lab, IS, NAIST
10/42
ELIZAで利用されているルール
 ルール例:
ユーザの発話文中に” i remember“が含まれている
と出力文候補からランダムに応答を決定
ルール名:remember 5
パターン: * i remember *
出力文: Do you often think of (2)?
出力文:What else do you recollect?
出力文:Why do you remember (2) just now?
出力文:What else does (2) remind you of
 ルールを利用した応答例:
– User:Well, I remenber the dog.
– Eliza: Do you often think of the dog?
2015©Hiraoka AHC-Lab, IS, NAIST
11/42
古典的な対話システムの例
 ELIZA
– 言語理解:パターンマッチによる応答文の決定
– 対話制御:なし(一問一答)
 SHRDLU
– 言語理解:パターンマッチを用いた論理式への変換
– 対話制御:積み木の世界に関する知識を利用したプランニング
2015©Hiraoka AHC-Lab, IS, NAIST
12/42
SHRDLUとの対話例
 Person: Pick up a big red block.
(大きな赤ブロックを拾い上げて)
 Computer: OK.
 Person: Grasp the pyramid.
(ピラミッドを掴んで)
 Computer: I don’t understand which pyramid you mean.
(どのピラミッドを指しているのか分かりません.)
 Person: Find a block which is taller than the one you are holding
and put it into the box.
(持っているブロックよりも高いブロックを見つけてそれを箱の中
に入れて)
 Computer: By “it”, I assume you mean the block which is taller
than the one I am holding.
(“それ”とは,私が持っているブロックよりも高いブロックと
推測します)
13/42
2015©Hiraoka AHC-Lab, IS, NAIST
SHRDLU
 URL: http://www.youtube.com/watch?v=QAJz4YKUwqw
2015©Hiraoka AHC-Lab, IS, NAIST
14/42
本講義の目次
 はじめに
 ルールベース対話システム
– 古典的対話システム
– 現代におけるルールベース対話システム
 非ルールベース対話システム
– 情報検索技術を用いた対話システム
– 機械学習を用いた対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
15/42
現在も利用されている
ルールベース対話制御(MMDAgent)
 MMDAgent (2009年初版リリース):
– 言語理解:特定キーワードの抽出(キーワードスポッティング)
– 対話制御:有限状態オートマトン(FSA)を用いた対話の流れの記述
入力発話:こんにちは,メイちゃん
応答文:こんにちは。
キーワードスポッティング
MMDAgent用スクリプトと応答例
2015©Hiraoka AHC-Lab, IS, NAIST
16/42
MMDAgent
 URL: http://www.youtube.com/watch?v=hGiDMVakggE
2015©Hiraoka AHC-Lab, IS, NAIST
17/42
FSAを用いた対話制御

 FSAの定義
–  : 入力記号
– S : 状態集合
– S0 : 初期状態
– δ : 状態遷移関数
– F : 受理状態集合



 FSAを用いた対話モデリング
– S : システムの対話状態
– : ユーザからの入力,イベント
2015©Hiraoka AHC-Lab, IS, NAIST
18/42
FSAを用いた対話制御例
(レストラン情報検索)
本例では,対話状態を直前のシステムの発話とする.
(システムは,状態遷移を行った際に,状態に対応する発話を行うとする)
料理以外
こちらは生駒レストラン案内です。
どのような料理がお好みでしょう
か?
料理
料理以外
和食、洋食、中華、ファースト
フードからお選びください
料理
ご予算はおいくらぐらいですか?
金額以外
金額以外
予算を「3000円以下」のように
おっしゃって下さい
金額
検索します。
金額
2015©Hiraoka AHC-Lab, IS, NAIST
19/42
FSAを用いた対話制御例
(レストラン情報検索)
本例では,ユーザの発話に対するキーワードスポッティング結果
(ここでは,料理に関するキーワードが含まれているかどうか)
料理以外
こちらは生駒レストラン案内です。
どのような料理がお好みでしょう
か?
料理
料理以外
和食、洋食、中華、ファースト
フードからお選びください
料理
ご予算はおいくらぐらいですか?
金額以外
金額以外
予算を「3000円以下」のように
おっしゃって下さい
金額
検索します。
金額
2015©Hiraoka AHC-Lab, IS, NAIST
20/42
(非決定性FSA)を用いた対話制御例
(レストラン情報検索)
本例では,現在システムが知っている情報に応じて状態遷移
(”!変数名”はその変数に関する情報をシステムが知らないこと表わす)
こちらは生駒レストラン案内です。
どのようなレストランをお探しですか。
FSAに比べて少数の状態数
や遷移規則で記述可能
判定
!地域
どの地域ですか。
!料理
!予算
どのような料理が
お好きですか。
予算はいくらぐら
いですか。
検索します
2015©Hiraoka AHC-Lab, IS, NAIST
21/42
本講義の目次
 はじめに
 ルールベース対話システム
– 古典的対話システム
– 現代におけるルールベース対話システム
 非ルールベース対話システム
– 情報検索技術を用いた対話システム
– 機械学習を用いた対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
22/42
古典的な対話システムの問題点と
最近の展望
 古典的な対話システムの問題点:
– ユーザ発話の多様性,音声認識誤りや曖昧な事象に対して脆弱
 最近の展望:
– 実用的側面:情報検索技術の言語理解部への導入
– 研究的側面:言語理解部と対話制御部への機械学習の導入
言語理解
対話制御
関係データベース
決定的写像
(SQL)
決定的写像
(フロー固定,
or一問一答)
RDB・Web・大規模
文書集合
ベクトル空間
モデル
一問一答
知識ベース
大規模知識を
利用した応答
2015©Hiraoka AHC-Lab, IS, NAIST
23/42
IBM Watson
 URL: http://www.youtube.com/watch?v=Wq0XnBYC3nQ
2015©Hiraoka AHC-Lab, IS, NAIST
24/42
しゃべってコンシェル
 URL: http://www.youtube.com/watch?v=-3T7SeXQ0Us
2015©Hiraoka AHC-Lab, IS, NAIST
25/42
ベクトル空間モデルを用いた言語理解
1. 入力発話例/応答文対を用意
入力発話例
応答文
こんにちは
こんにちは
お手洗いはどこですか?
トイレは入口の近くにあります
今何時ですか?
今は<Hour>時<Minute>分です
2. 入力発話例との類似度を計算
–
類似度の尺度例:ユークリッド距離,コサイン距離,etc
0.2
こんにちは,お手洗いを探しています
0.5
0
2015©Hiraoka AHC-Lab, IS, NAIST
こんにちは
お手洗いはどこですか?
今何時ですか?
26/42
本講義の目次
 はじめに
 ルールベース対話システム
– 古典的対話システム
– 現代におけるルールベース対話システム
 非ルールベース対話システム
– 情報検索技術を用いた対話システム
– 機械学習を用いた対話システム
2015©Hiraoka AHC-Lab, IS, NAIST
27/42
古典的な対話システムの問題点と
最近の展望
 古典的な対話システムの問題点:
– ユーザ発話の多様性,音声認識誤りや曖昧な事象に対して脆弱
 最近の展望:
– 実用的側面:情報検索技術の言語理解部への導入
– 研究的側面:言語理解部と対話制御部への機械学習の導入
言語理解
対話制御
関係データベース
決定的写像
(SQL)
決定的写像
(フロー固定,
or一問一答)
関係データベース
統計的識別
モデル(1)
強化学習(1,2)
知識ベース
1:曖昧な事象
のモデリング
2:応答規則の
自動学習
2015©Hiraoka AHC-Lab, IS, NAIST
28/42
京都観光案内システム:AssysTra
(機械学習に基づく音声対話システム例)
システム: 京都観光案内システムです,お好みの
観光スポットを推薦します。(オープニング)
ユーザ: 桜の綺麗なところを教えて。
システム: 桜ですと,南禅寺,仁和寺,二条城が有名です
ユーザ: じゃあ,仁和寺を見せて。
システム: 仁和寺の桜ですね.御室桜は,樹高が低く単
弁の香り高い白花を根元から咲かせる珍しい桜です。
開花時期が遅く,京都の春の終わりを飾ります。
システム: 仁和寺はアクセスが便利で,庭園で有名です.
また境内の散策できます。何か説明しましょうか?
次にどのような内容を推薦するかをユーザや対話状況に応じて最適化
2015©Hiraoka AHC-Lab, IS, NAIST
29/42
AssisTra
 URL: http://www.youtube.com/watch?v=kL6GuBa3VRY
2015©Hiraoka AHC-Lab, IS, NAIST
30/42
統計的識別モデルを用いた言語理解
1. [モデルの学習]:学習データに基づき予測モデルを構築
–
モデルの例:サポートベクターマシン,条件付き確率場,etc
対話行為
「こんにち」が含まれる->Greetingらしさ+5
こんにちは
Greeting
「何時」が含まれる->Ask_Timeらしさ+3
今は何時ですか?
Ask_Time
・・・
入力発話
予測モデル例
学習データ例
2. [対話行為の推定]:モデルを用いて入力発話の対話行為
を予測
今何時?
予測モデル
Greeingらしさ
0
Ask_Timeらしさ
3
入力発話例
2015©Hiraoka AHC-Lab, IS, NAIST
31/42
古典的な対話システムの問題点と
最近の展望
 古典的な対話システムの問題点:
– ユーザ発話の多様性,音声認識誤りや曖昧な事象に対して脆弱
 最近の展望:
– 実用的側面:情報検索技術の言語理解部への導入
– 研究的側面:言語理解部と対話制御部への機械学習の導入
言語理解
対話制御
関係データベース
決定的写像
(SQL)
決定的写像
(フロー固定,
or一問一答)
関係データベース
統計的識別
モデル(1)
強化学習(1,2)
知識ベース
1:曖昧な事象
のモデリング
2:応答規則の
自動学習
2015©Hiraoka AHC-Lab, IS, NAIST
32/42
強化学習とは
 “強化学習(RL)は,環境との相互作用,動作の結果から,
学ぶ”.これは,マルコフ決定過程(MDP)という数学的枠組
みの中で実現される.MDPは,周りの環境と相互作用しな
がら長時間の累積報酬を最大化する意思決定エージェント
と深く結び付いている.“(by Sutton)
モデル:MDP,POMDP
学習方法:強化学習
2015©Hiraoka AHC-Lab, IS, NAIST
33/42
マルコフ決定過程(MDP)概略
(強化学習):対話における一連の報酬を最大化
するようにs’からaを決定する規則(方策)を学習
対話システム
行動a
状態s’
報酬r
ユーザ
1.システムはユーザの状態sに基づき行動aを実行
2.行動aと状態遷移確率Pに基づき,ユーザは状態s
からs’へ遷移.
34
2015©Hiraoka AHC-Lab, IS, NAIST
3.対話システムは報酬rを獲得.
/42
強化学習概略
 様々アイデアに基づく強化学習の解法が存在
モデル
MDP
状態
観測可能
環境が既知 強化学習の解法
未知
モンテカルロ法
TD学習
既知
動的計画法
(価値反復,方策反復)
POMDP 観測不可能 未知
モンテカルロ法
TD学習
既知
動的計画法
(価値反復,方策反復)
本講義で紹介
2015©Hiraoka AHC-Lab, IS, NAIST
35/42
強化学習概略
(Temporal Difference Learning : TD学習)
a1
S1
a1
a1
S2
S3
v:価値
a1
S4
r:報酬
F
a2
a2
a2
1.各状態S{S1,…,S4}において対話システムはランダムに
行動a{a1,a2}を選択.もし,状態が終端状態Fならば終了.
2.報酬rや状態の価値vを前状態に伝搬
3. 1と2を繰り返す
一通り価値の伝搬が終わると,
36
2015©Hiraoka AHC-Lab, IS, NAIST
対話システムは各状態で最も価値の高い行動を選択
/42
部分観測マルコフ決定過程概略
対話システムは観測値o
から環境の状態を推定
対話システム
行動a
観測値o’
ユーザ
報酬r
ユーザの状態
は直接観測
不可能
1.システムは推定した状態に基づき行動aを実行
2.行動aと状態遷移確率Pに基づき,環境は状態s
からs’へ遷移.
2015©Hiraoka AHC-Lab, IS, NAIST
3.システムは報酬rとユーザの観測値o’を得る.
37/42
POMDPによる対話のモデル化例
 例:チケット購入
観測値o:
“キャンセルします”
“発券してください”
行動a:
状態s:
1.キャンセル
2.発券
1.キャンセルする
2.発券する
3.確認する
目標:
1.誤認識によって,誤って発券しない.
2.誤認識によって,誤ってキャンセルしない.
2015©Hiraoka AHC-Lab, IS, NAIST
38/42
POMDPによる対話のモデル化例2
間違って発券したりキャンセルすると
負の報酬を与える
 例:チケット購入
行動:a
報酬:r(s,a)
キャンセル 発券する 確認する
状態:s キャンセル 5
発券
-10
観測確率:P(o’|s’,a)
a=“確認する”
観測
値:o’
キャンセ
ルします
-20
-1
5
-1
状態遷移確率:P(s’|s,a)
状態:s’
状態:s
キャン 発券
セル
キャンセル
発券
1.0
0.0
0.0
1.0
0.7
発券してく 0.3
ださい
0.3
0.7
次状態:s’ キャン
セル
発券
音声認識誤りを表現
(30%の確率で誤認識)
2015©Hiraoka AHC-Lab, IS, NAIST
39/42
さいごに
2015©Hiraoka AHC-Lab, IS, NAIST
40/42
タスク指向対話システム
 特定のタスク達成(例:チケット予約、情報検索)を目的とし
てユーザと対話を行う対話システム
– ルールベース: SHRDLU, MMDAgent
知識ベース
関係データベース
言語理解
対話制御
決定的写像
(SQL)
決定的写像
(フロー固定)
– 非ルールベース: AssisTra, SimSensei
関係データベース
統計的識別
モデル
2015©Hiraoka AHC-Lab, IS, NAIST
強化学習
41/42
非タスク指向対話システム
 タスク達成を目的とせず対話そのものを目的(例: 雑談)と
する対話システム
– ルールベース:Eliza, A.L.I.C.E.
知識ベース
関係データベース
言語理解
対話制御
決定的写像
(SQL)
一問一答
– 非ルールベース: Jabberwacky, KELDIC
RDB・Web・大規模
文書集合
ベクトル空間
モデル
2015©Hiraoka AHC-Lab, IS, NAIST
一問一答
42/42
参考文献
 部分観測マルコフ決定過程Partially observable Markov
decision process(POMDP)を用いたインタラクション制御入門
[南, 2011 ]
 An Introduction to Spoken Dialogue System[翠, 2012]
 音声対話システム[河原ら, 2006]
 音声対話システムの進化と淘汰[河原ら, 2013]
2015©Hiraoka AHC-Lab, IS, NAIST
43/42