対話システム - 芝浦工業大学

今日の内容
自然言語処理
Natural Language Processing
• 応用(3) 対話システム
– 対話システムの歴史
– 対話システムの分類
– 対話システムの構造
第14回
2015/1/14
– 対話システムの機能
芝浦工業大学 工学部 情報工学科
杉本 徹
– 対話システムに必要な知識
– 対話システムの処理方式
(音声)対話システム
(Spoken) Dialogue System
• ユーザによる一連の自然言語入力を「理解」し,
それに対して「適切に」応答するシステム
自然言語入力
(音声,タイプ入力)
応答
対話システムの歴史
(音声)
対話
システム
• 特に,音声でやり取りするものを 音声対話シス
テムと呼ぶ
– 音声対話システム特有の課題
• 音声認識(不確実性への対処),音声合成
• ELIZA
• SHRDLU
• その後の対話システム
• より口語的な入力表現の理解(省略,言い淀みなど)
ELIZA [Weizenbaum 1966]
• 心理カウンセラの役割を演じる対話システム
• 例: Doctor: Please, describe your problems.
User : I'm in trouble.
Doctor: Why do you say you are in trouble?
User : I want you some advice.
Doctor: Is It because of your plans that you say
you want me some advice?
• 入力の表層的パターンに基づいて適当に生成した
応答を返すだけ(「人工無脳」の元祖)
• Emacs 「Esc-x doctor」で試すことができる
SHRDLU [Winograd 1972]
• 積木の世界におけるユーザからの
指令や質問への応答を行う
• 例: Person:
PICK UP A BIG RED BLOCK.
Computer: OK. (does it)
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.
Computer: OK. (does it)
Person:
WHAT DOES THE BOX CONTAIN?
Computer: THE BLUE PYRAMID AND THE BLUE BLOCK.
Person:
WHAT IS THE PYRAMID SUPPORTED BY?
Computer: THE BOX.
1
その後の対話システム
• データベース検索インタフェース(1980年代)
• 音声認識技術の発展(1970~90年代)
• 音声対話システムの実験,実用化
–
–
–
–
MIT Voyager システム(地理案内) 1990年前後
DARPA ATIS(航空券案内) 1990年代
Rochester TRIPS(経路計画) 2000年前後
コールセンターの自動音声応答(IVR)
• 一問一答型の音声対話システム(Siri など)
対話例1
• MIT Voyager システム(地理案内)
User
: Can you tell me how to get to the Chinese
restaurant?
Voyager: Where are you?
User : I am near a bank.
Voyager: I know of many banks. Can you specify which
one you mean?
User : The one on Main Street.
Voyager: The only bank on Main Street that I know of is
the Baybank at 226 Main Street in Cambridge.
The Chinese restaurants that I know of are
Hong Kong and Royal East.
対話例2
• Darpa Communicator システム(航空券案内)
SYS : What airport woodja like to fly out of?
USER: MIAMI FLORIDA
SYS : Leaving from Miami,
And, what city are you flying to?
User : MINNEAPOLIS MINNESOTA
SYS : Flying from Miami to Minneapolis,
What date would you like to fly?
User : UH MONDAY OCTOBER TWENTY THIRD
SYS : Leaving on the 23rd of October,
And what time didja wanna leave?
User : UH LATE MORNING
システム例,応用例
• AssisTra (情報通信研究機構) video
– 京都観光案内を行う音声対話システム
– スマートフォン向けアプリ
• 言語ワープロ(のプロトタイプ,理化学研究所) video
– 秘書エージェントとの音声対話を通じて,PCに触れずに
ワープロで文書を作成できる
• KIROBO(トヨタ自動車ほか) video
– 音声対話機能を備えたロボット宇宙飛行士
– 宇宙空間内で若田光一飛行士と会話
対話の目的
• タスク指向型対話(task-oriented dialogue)
対話システムの分類
– ユーザが何らかのタスクを遂行する目的を持ち,
システムもその目的のためのサービスを提供する
– タスクの種類: 情報検索,情報伝達(予約など),
物理的行為(旅行など)
• 対話の目的,主導権,情報の
形式,順序の自由度,モード
などによる分類
• 雑談
– 目的がはっきりと決まっていない対話
2
対話の主導権
参照する情報の形式,対話の順序
• システム主導
• 対話で参照される情報の形式
– システムが決まった手順でユーザから情報を順次
引き出すことによって対話の目的を達成する
• ユーザ主導
– 関係データベース
– 一般の知識表現 (フレーム,意味ネットワーク等)
– 自然言語テキスト
– ユーザが自発的に質問や要求を入力し,システム
がそれに応答していく
• 対話の順序
– 必須項目のやり取り中心 ⇒ 順序固定も可能
• 混合主導
– 任意項目が多い場合
– 話の流れに応じて対話の主導権が移動する
⇒ 順序に柔軟性が必要
– 項目立てができない場合 ⇒ ユーザ主導で
• 例: システム主導対話の後,ユーザに主導権を渡す
対話のモード
• タイプ入力
– ある程度推敲された入力を期待できる
対話システムの構造
• 音声入力(音声対話)
– 音声認識(不確実性の増大)
– より口語的な表現(省略,言い淀みなど)
• タイプ入力の場合
• 音声入力の場合
• マルチモーダル対話
– 言語以外の情報(視覚情報など)を入出力に併用
対話システムの構造(タイプ入力)
対話システムの構造(音声入力)
対話システム
応答出力
タイプ入力
(文字列)
言語
生成
言語
理解
応答内容
推論
知識
計画
立案
文脈情報
応答
内容
決定
意味表現
音声対話システム
応答出力
情報検索
・
操作実行
音声入力
音声
合成
言語
表現
言語
生成
応答
内容
音声
言語
認識 認識 理解 意味
結果
表現
推論
知識
計画
立案
文脈情報
応答
内容
決定
情報検索
・
操作実行
3
対話システムの機能(1)
• 言語的な諸問題への対応
– 曖昧性・漠然性
対話システムの機能
• 言語的な諸問題への対応
• 協調的な情報提供
• ユーザへの適応
対話システムの機能(2)
• 協調的な情報提供
– ユーザの質問に単に答えるだけでなく,質問の背後に
あるユーザの意図(目標)やプランを推測して,その達
成に寄与するような情報を提供する
– 例: 「美術館行きのバスはどこですか?」
• 応答1:「3番乗り場です」
•
•
•
•
–
–
–
–
多義語,同音異義語
係り受けの曖昧性
指示語や代名詞の参照先の曖昧性
間接発話行為,比喩など
省略
重複(言い換えなど)
入力文の誤り(言い誤りなど)
システムの能力不足(未知語,知識不足)
対話システムの機能(3)
• ユーザへの適応
– ユーザの特徴に応じた応対を行う
• ユーザの目標,プラン
• ユーザが持っている知識,信念
• ユーザの興味,嗜好
• ユーザの性格,行動パターン,など
• 応答2:「3番乗り場です.あと5分で発車します」
• 応答3:「今日は美術館はお休みですよ」
• 応答4:「美術館はお休みなので,博物館をお勧めします」
対話システムに必要な知識(1)
• 対話領域(ドメイン)に関する知識
対話システムに必要な知識
• 対話領域やタスクに関する知識
• 一般常識,対話に関する知識
• ユーザモデル,文脈情報
– 領域(ドメイン)オントロジー
– 例: 旅行案内システムの場合,地理の知識や,
交通手段(航空会社やチケット種類など),
ホテルなどに関する知識
• タスク(動作,作業)に関する知識
– タスク・オントロジー,プランライブラリ
– 例: 旅行案内システムの場合,旅行での移動
手順や,チケット予約手順など
4
対話システムに必要な知識(2)
対話システムに必要な知識(3)
• 一般常識(一般オントロジー)
• ユーザモデル
– 例: 物や人の分類に関する知識,一般の動作に
に関する知識,など
• 対話に関する知識(対話プランライブラリ)
– 例: 話し相手から情報を得たい場合は,質問を
するか,または知りたいという欲求を相手に
対して表明すればよい
– ユーザの特徴
– ユーザの現在の状況
• 文脈情報
– これまでの対話の内容(談話構造)
– 対話の焦点
– これまでに出てきた事物のリスト
など
状態遷移方式
• 対話の流れが固定的な場合の処理方式
• 例: 航空券予約システム
対話システムの処理方式
その他
の入力
出発地はどこですか?
空港名の入力
• 状態遷移方式
• 知識駆動方式
• プランに基づく方式
その他の入力
目的地はどこですか?
空港名の入力
その他の入力
出発日は何日ですか?
知識駆動方式
• 領域知識の構造に対応した制御を行う
– 例: フレーム型知識表現における slot filling
空港名を入力して下さい
空港名の入力
空港名を入力して下さい
空港名の入力
その他
の入力
プランに基づく方式
• 発話行為(speech act)の考え方
– 全ての発話は何らかの目的を持って行われる
• ユーザの発話の理解 ⇒ プラン認識
ホテル検索システム
スロット名
スロット値
必須性
地域
?
必須
最寄り駅
?
任意
客室タイプ
?
任意
料金の制約
?
任意
– 入力内容の背後にあるユーザの意図(目標)やプラン
の全体像を推測する
• 応答内容決定・生成 ⇒ プラン生成・実行
– システム自身の目標(多くの場合,ユーザの目標達成
支援)を達成するためのプランを作り,その一環として,
応答出力(や操作・検索実行)を行う
5
確率モデルを用いた対話制御の最適化
• 対話制御の困難さ
対話制御戦略の強化学習
• 対話をMarkov決定過程としてモデル化
– 対象タスクが変わるたびに,制御用のルールやパラ
メータの再設定が必要
– 状態の集合 S
– 例1: 曖昧な事項の確認戦略
– システムが取りうるアクションの集合 As
– 例2: 対話の主導権(システム,ユーザ,混合)
• 現在の話題,確信度,履歴など
• 値質問,値確認,DB検索,主導権変更など
– 状態遷移確率 P(St | St-1, at-1)
• 事例(コーパス)に基づく対話制御の最適化
– 教師あり学習(supervised learning)
– 強化学習(reinforcement learning)
参考: マルチモーダル対話システム
• 言語以外の情報を入出力に併用するシステム
– 音声を入力デバイスの一種として利用
• ポインティングデバイスなどと併用
• センサー入力と併用
– 言語出力とその他の情報出力を併用
• 画像や表・グラフ形式の出力と併用
– ユーザの心理的抵抗を減らす出力を併用
• キャラクターエージェント(表情,仕草)
今日のまとめ
• 応用(3) 対話システム
– 報酬 R
• タスク遂行の効率性,ユーザ満足度など
– 戦略π:S→As
• 試行を繰り返すことにより高報酬の戦略を学習する
対話例
• 経路案内対話システム
ユーザ : 「いま駅にいるのですが」
システム: 「駅からどこへ行きたいですか?」
ユーザ :(画面上の公園のあたりを指しながら)
「えーと,ここです」
システム:(画面上に経路を表示しながら)
「14時発のバスに乗って,『公園前』で降りて下さい」
期末試験について
• 日時・場所: 1月21日(水)2限 303教室
– 対話システムの歴史
• 資料持込み: 不可
– 対話システムの分類
• 試験範囲: 第1~14回の授業で説明した内容
とくに,
– 対話システムの構造
– 対話システムの機能
– 対話システムに必要な知識
– 対話システムの処理方式
1) サンプルデータに対する処理過程の具体的説明や
結果の計算(形態素解析のlattice作成,コスト最小解
の探索,係り受け構造の分析,構文木の作成,など)
2) 技術分野の概要や用語の説明(記述式)
※ 授業ホームページ掲載 「授業のポイント」 参照のこと
6