今日の内容 自然言語処理 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
© Copyright 2024 ExpyDoc