(57)【要約】【課題】対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる対話プログラム等を提供する。【解決手段】ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する対話コマンド要求発行手段と、対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける対話コマンド応答受付手段とを有する。【選択図】図４
2014191272.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける対話コマンド応答受付手段と
してコンピュータを機能させ、
前記対話シナリオ進行手段は、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容、に基づいて前記対話シナリオを進行する
ようにコンピュータを機能させることを特徴とする対話プログラム。
【請求項２】
前記対話コマンド応答受付手段における前記ユーザ操作内容は、ユーザによって現に操作された操作情報、又は、センサによって取得された周辺状態情報であるようにコンピュータを機能させることを特徴とする請求項１に記載の対話プログラム。
【請求項３】
前記対話コマンド要求発行手段は、前記対話シナリオ進行手段によって、実行された対話ノードに対応付けられた文を含む対話コマンド要求を発行し、
前記対話コマンド応答受付手段は、ユーザによって回答された文を含む対話コマンド応答を受け付ける
ようにコンピュータを更に機能させることを特徴とする請求項１又は２に記載の対話プログラム。
【請求項４】
請求項１から３のいずれか１項に記載の対話プログラムと通信するユーザプログラムであって、
キャラクタエージェントをディスプレイに表示すると共に、前記対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を前記対話シナリオ進行手段へ通知するエージェント手段と、
前記対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を前記対話コマンド応答受付手段へ通知するアプリケーション制御手段と
してコンピュータを機能させることを特徴とするユーザプログラム。
【請求項５】
前記エージェント手段は、前記対話コマンド要求によって受信した文をユーザに音声で認識させるべく音声合成機能と、ユーザから取得した音声を認識するべく音声認識機能及び意味解析機能とを有することを特徴とする請求項４に記載の対話プログラム。
【請求項６】
前記キャラクタエージェントと、前記対話コマンド要求に基づくアプリケーションとは、ディスプレイに画面分割によって表示されるようにコンピュータを機能させることを特徴とする請求項４又は５に記載のユーザプログラム。
【請求項７】
ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する装置であって、
前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と、
キャラクタエージェントをディスプレイに表示すると共に、前記対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を前記対話シナリオ進行手段へ通知するエージェント手段と、
前記対話コマンド応答手段から発行された前記対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を前記対話コマンド応答受付手段へ通知するアプリケーション制御手段と
を有し、
前記対話シナリオ進行手段は、前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、前記対話シナリオを進行する
ことを特徴とする装置。
【請求項８】
ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する対話サーバであって、
前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と
を有し、
前記対話シナリオ進行手段は、前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、前記対話シナリオを進行する
ことを特徴とする対話サーバ。
【請求項９】
ユーザ操作に基づく端末と、該端末を通じてユーザと対話的にシナリオを進行する対話サーバとを有するシステムにおける対話方法であって、
前記対話サーバは、前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積部を有し、
前記対話サーバは、
前記対話シナリオ蓄積部を用いて、対話ノードを遷移しながらシナリオを進行する中で、
対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する第１のステップと、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する第２のステップと、
前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、前記対話シナリオを進行する第３のステップと
を有することを特徴とする対話方法。
【請求項１０】
第１のステップについて、前記端末は、
キャラクタエージェントをディスプレイに表示すると共に、前記対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を前記対話サーバへ通知し、
前記対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を前記対話コマンド応答受付手段へ通知する
ことを特徴とする請求項９に記載の対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話シナリオを用いてユーザと対話する対話システムの技術に関する。
【背景技術】
【０００２】
人間に対して自然な対話を実現した対話システムが、スマートフォンやタブレット端末で普及しつつある。特に、コンピュータグラフィックスのキャラクタが、音声で会話する対話エージェントとして機能する技術がある（例えば特許文献１参照）。近年、ユーザから見て、対話エージェントに対する抵抗感も無くなってきており、自然な会話を楽しむことができる。端末は、ユーザとエージェントとの間の会話を通じて、ユーザに特別な意識を持たせることなく、ユーザの状況、趣味趣向、又は感情のようなユーザ情報を取得することができる。これらユーザ情報は、ユーザプロファイルとして、様々なアプリケーションによって利用することができる。
【０００３】
ユーザは、対話システムを搭載したスマートフォンに対して、質問を語りかけることができる。スマートフォンは、ユーザの声を認識し、意味解析によってその質問の意図を理解し、回答すると共に、最適なサービス機能（例えばメール、スケジューラ、アラーム等）を自動的に起動することもできる（例えば非特許文献１参照）。その回答文は、エージェントから音声合成された声で発せられるものであってもよいし、ディスプレイに表示されるものであってもよい。このように、対話シナリオの中で、新規なサービス機能を起動するために、ランチャ機能が用いられる。ランチャ機能は、エージェントを用いる対話システムを大幅に修正することなく、対話の新規機能として簡易に追加することができる。
【０００４】
図１は、従来技術における対話システムの機能構成図である。
【０００５】
図１（ａ）によれば、例えばスマートフォンのような単体装置に搭載されたコンピュータを機能させるプログラム（アプリケーション）であって、対話シナリオ進行部と、対話インタラクション部と、キャラクタ表示制御部とを一体的に含んでいる（例えば特許文献１参照）。対話シナリオ進行部は、多数の対話ノードのツリーを予め記憶しており、ユーザからの返答に応じて辿ることによって、ユーザとの間の対話を進めていく。対話インタラクション部は、対話ノードの文をスピーカから音声合成によって発声する。また、マイクによってユーザからの声を取得し、音声認識及び意味解析を実行し、その回答文を対話シナリオ進行部へ出力する。キャラクタ表示制御部は、キャラクタエージェントをディスプレイに表示し、対話ノードに基づく会話によってそのエージェントの動きを制御する。
【０００６】
図１（ｂ）によれば、対話サーバと端末とがネットワークを介して接続されたシステムである。対話サーバは、対話シナリオ進行部と対話インタラクション部とを有し、端末は、対話クライアント部とキャラクタ表示制御部とを有する。端末の対話クライアント部は、対話サーバの対話インタラクション部に対して、端末側のスピーカ及びマイクのようなデバイスのインタフェースとして機能する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３２３８７５号公報
【非特許文献】
【０００８】
【非特許文献１】ＮＴＴドコモ、「しゃべってコンシェル」、[online]、［平成２５年２月２４日検索］、インターネット＜URL:http://www.nttdocomo.co.jp/service/information/shabette_concier/＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載された技術によれば、図１（ａ）のように全ての機能モジュールが一体的なアプリケーションとして構成されている。そのために、例えばアラーム機能のような既存の設定機能を、対話シナリオに追加することが難しい。
【００１０】
また、非特許文献１に記載された技術によれば、ランチャ機能によって対話シナリオとサービス機能の起動とを関連付けている。しかしながら、ランチャ機能によって起動したサービス機能と、対話シナリオとの間で、統一感のある対話を実現することは難しい。即ち、対話シナリオ自体は、起動されたサービス機能に関して、ユーザとの間で何ら対話することはない。
【００１１】
具体的には、対話の中で、ランチャ機能によって例えば既存のアラーム設定機能（アプリケーション）が起動されたとしても、その後、ユーザは、従来通り、アラーム設定アプリケーションに対してしか操作することができない。そのアラーム設定に関する操作が不明となり、エージェントの対話入力に切り替えても、対話シナリオは、アラーム設定に対する操作過程を認識していない。結果的に、ユーザは、アラーム設定機能に対して手動（例えばタッチパネルを用いて）入力操作をするか、エージェントに対して音声入力するか、のいずれか一方の操作しかすることができない。
【００１２】
本発明は、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる対話プログラム、装置、サーバ及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によれば、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける対話コマンド応答受付手段と
してコンピュータを機能させ、
対話シナリオ進行手段は、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容、に基づいて対話シナリオを進行する
ようにコンピュータを機能させることを特徴とする。
【００１４】
本発明の対話プログラムにおける他の実施形態によれば、
対話コマンド応答受付手段におけるユーザ操作内容は、ユーザによって現に操作された操作情報、又は、センサによって取得された周辺状態情報であるようにコンピュータを機能させることも好ましい。
【００１５】
本発明の対話プログラムにおける他の実施形態によれば、
対話コマンド要求発行手段は、対話シナリオ進行手段によって、実行された対話ノードに対応付けられた文を含む対話コマンド要求を発行し、
対話コマンド応答受付手段は、ユーザによって回答された文を含む対話コマンド応答を受け付ける
ようにコンピュータを更に機能させることも好ましい。
【００１６】
本発明によれば、前述した対話プログラムと通信するユーザプログラムであって、
キャラクタエージェントをディスプレイに表示すると共に、対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話シナリオ進行手段へ通知するエージェント手段と、
対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を対話コマンド応答受付手段へ通知するアプリケーション制御手段と
してコンピュータを機能させることを特徴とする。
【００１７】
本発明のユーザプログラムにおける他の実施形態によれば、
エージェント手段は、対話コマンド要求によって受信した文をユーザに音声で認識させるべく音声合成機能と、ユーザから取得した音声を認識するべく音声認識機能及び意味解析機能とを有することも好ましい。
【００１８】
本発明のユーザプログラムにおける他の実施形態によれば、
キャラクタエージェントと、対話コマンド要求に基づくアプリケーションとは、ディスプレイに画面分割によって表示されるようにコンピュータを機能させることも好ましい。
【００１９】
本発明によれば、ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する装置であって、
端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と、
キャラクタエージェントをディスプレイに表示すると共に、対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話シナリオ進行手段へ通知するエージェント手段と、
対話コマンド応答手段から発行された対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を対話コマンド応答受付手段へ通知するアプリケーション制御手段と
を有し、
対話シナリオ進行手段は、端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話シナリオを進行する
ことを特徴とする。
【００２０】
本発明によれば、ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する対話サーバであって、
端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と
を有し、
対話シナリオ進行手段は、端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話シナリオを進行する
ことを特徴とする。
【００２１】
本発明によれば、ユーザ操作に基づく端末と、該端末を通じてユーザと対話的にシナリオを進行する対話サーバとを有するシステムにおける対話方法であって、
対話サーバは、端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積部を有し、
対話サーバは、
対話シナリオ蓄積部を用いて、対話ノードを遷移しながらシナリオを進行する中で、
対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する第１のステップと、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する第２のステップと、
端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話シナリオを進行する第３のステップと
を有することを特徴とする。
【００２２】
本発明の対話方法における他の実施形態によれば、
第１のステップについて、端末は、
キャラクタエージェントをディスプレイに表示すると共に、対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話サーバへ通知し、
対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を対話コマンド応答受付手段へ通知する
ことも好ましい。
【発明の効果】
【００２３】
本発明の対話プログラム、装置、サーバ及び方法によれば、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる。
【図面の簡単な説明】
【００２４】
【図１】従来技術における対話システムの機能構成図である。
【図２】本発明の装置における機能構成図である。
【図３】本発明のシステムにおける機能構成図である。
【図４】本発明における音声対話とユーザ操作とが連携して進行する対話シナリオを表す説明図である。
【図５】図４のＳ１における端末の表示画面である。
【図６】図４のＳ２における端末の表示画面である。
【図７】図４のＳ３における端末の表示画面である。
【図８】図４のＳ４における端末の表示画面である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２６】
図２は、本発明の装置における機能構成図である。
図３は、本発明のシステムにおける機能構成図である。
【００２７】
図２及び図３によれば、スマートフォンのような装置は、ハードウェアとして、ユーザに対する「音声出力」用のスピーカと、ユーザからの「音声入力」用のマイクと、ユーザに対する文やキャラクタの「ユーザ表示」用のディスプレイとを有する。特に、ディスプレイがタッチパネルディスプレイでである場合、ユーザの指先による「ユーザ操作」用としても機能する。タッチパネルディスプレイによるユーザ操作としては、予め表示されたボタンに対する指の接触押下や、ソフトウェアキーに対する操作であってもよい。勿論、ユーザ操作用として、物理的なキーボードやテンキーを備えたものであってもよい。尚、スマートフォンの場合、加速度センサのようなセンサを搭載したものも多い。
【００２８】
また、図２及び図３によれば、ソフトウェア的に、対話プログラムと、ユーザプログラムと、既存のアプリケーションとを有する。ここで、図２によれば、これら機能モジュールが、スマートフォンのような単体装置に搭載されたコンピュータで一体的に機能させるプログラムを実行することによって実現されている。また、図３によれば、対話プログラムは、サーバに搭載されたコンピュータで実行され、ユーザプログラム及びアプリケーションは、端末に搭載されたコンピュータで実行されている。サーバと端末とがネットワークを介して接続されたシステムによって、図２と同様の対話システムを実現している。
【００２９】
対話プログラムは、ユーザと対話的にシナリオを進行するものであって、バックグランド（例えばサーバ側）で実行される。一方で、ユーザプログラムは、ユーザとのインタフェースになるものであって、フロントグランド（例えば端末側）で実行される。ユーザプログラムは、キャラクタのエージェントの表示を制御すると共に、マイクやスピーカによってユーザとの間の会話のインタフェースとなる。また、ユーザプログラムは、対話プログラムから受信した対話コマンド要求に含まれる文（質問文）を音声信号に変換し、その音声信号をスピーカへ出力する。また、マイクによって取得された音声信号を文（回答文）に変換し、その文を対話コマンド応答に含めて、対話プログラムへ送信する。
【００３０】
＜対話プログラム＞
対話プログラムは、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる。対話プログラムは、対話シナリオ蓄積部１０と、対話シナリオ進行部１１と、対話コマンド要求発行部１２と、対話コマンド応答受付部１３とを有する。
【００３１】
［対話シナリオ蓄積部１０］
対話シナリオ蓄積部１０は、ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積する。そして、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている。対話シナリオとは、質問文を含む対話ノードを、ユーザからの回答文に応じてツリー状に構成したものである。また、対話シナリオとは、例えば、ユーザの入力に対する応答パターンを記述するＦＳＴ(Finite State Transducer)ファイルを扱うスクリプトファイルであってもよい。
【００３２】
本発明によれば、対話ノードに含まれる対話コマンド要求には、アプリケーションを起動するコマンドだけでなく、例えばアラーム設定用のアプリケーションについて以下のようなコマンドも含まれる。
アラーム時間の設定：ALARM_SETTIME_START
リピートの設定    ：ALARM_SETREPEAT_START
アラーム音の設定  ：ALARM_SETREPEAT_START
また、対話ノードには、キャラクタのエージェントの表示を制御するコマンドも含まれる。
【００３３】
［対話シナリオ進行部１１］
対話シナリオ進行部１１は、対話シナリオ蓄積部１０を用いて、対話ノードを遷移しながらシナリオを進行する。ここで、対話シナリオ進行部１１は、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容、に基づいて対話シナリオを進行する。
【００３４】
［対話コマンド要求発行部１２］
対話コマンド要求発行部１２は、対話シナリオ進行部１１によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する。対話コマンド要求は、対話ノードに対応付けられた以下のコマンドを含む。
・ユーザ操作を要するアプリケーションへ指示するコマンド
・ユーザに対する文（例えば質問文）を含むコマンド
【００３５】
［対話コマンド応答受付部１３］
対話コマンド応答受付部１３は、対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける。前述と同様に、対話コマンド応答は、対話ノードに対応付けられた以下のコマンドを含む。
・アプリケーションに対するユーザ操作の内容を含むコマンド
・ユーザからの文（例えば回答文）を含むコマンド
対話コマンド応答受付部１３におけるユーザ操作内容は、ユーザによって現に操作された操作情報に限られず、センサによって取得された周辺状態情報であってもよい。
【００３６】
本発明の対話プログラムは、ユーザプログラムに対して全て、「対話コマンド」として要求し且つ応答を受け付ける。これによって、対話プログラムは、ユーザプログラムに対して、音声やタッチパネルディスプレイによってユーザと会話する「文」だけでなく、アプリケーションに対する「ユーザ操作」も含めて、「対話コマンドのみの記述フォーマットで統一する」ことができる。例えばユーザプログラムが、例えば音声会話にしか対応していない場合、ユーザ操作に基づく対話コマンド要求は無視され、文に基づく対話コマンド要求のみが進行する。このように、対話プログラム自体は、ユーザプログラムに搭載された機能を認識することなく、対話コマンドのみで、対話シナリオを進行させることができる。
【００３７】
＜ユーザプログラム＞
ユーザプログラムは、ユーザとのインタフェースになるものであって、キャラクタのエージェントの表示を制御すると共に、マイクやスピーカによってユーザとの間の会話のインタフェースとなる。
【００３８】
［エージェント部２１］
エージェント部２１は、キャラクタエージェントをディスプレイに表示すると共に、進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話プログラム（対話シナリオ進行部１１）へ通知する。ユーザへ明示すべく文（質問文）は、キャラクタの動きや吹き出しによって表示されてもよいし、音声によってスピーカから発せられるものであってもよい。また、ユーザからの文（回答文）は、タッチパネルによるテキスト入力であってもいし、ユーザの声をマイクで取得するものであってもよい。
【００３９】
［アプリケーション制御部２２］
アプリケーション制御部２２は、対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を、対話プログラム（対話コマンド応答受付部）へ通知する。アプリケーション制御部２２は、アプリケーションとのやりとりだけでなく、ＧＰＳ(Global Positioning System)センサ、加速度センサ、バッテリー残量計測などのセンサを制御することもできる。
【００４０】
ここで、エージェント部２１におけるキャラクタと、アプリケーション制御部２２におけるサービス機能アプリケーションとは、ディスプレイの画面を分割して表示される。ここで、ユーザ操作に応じて、キャラクタのみの画面にして、サービス機能アプリケーションの機能を一時的に隠すこともできる。同様に、サービス機能アプリケーションのみの画面にして、エージェントの機能を一時的に隠すこともできる。
【００４１】
図４は、本発明における音声対話とユーザ操作とが連携して進行する対話シナリオを表す説明図である。
【００４２】
図４によれば、アラーム設定の対話ノードの進行が表されている。アラーム設定には、以下のような３つの対話ノードが構成されている。
（ａ）時間設定    ：質問文「何時に設定しますか？」
（ｂ）リピート設定：質問文「リピートしますか？」
（ｃ）音設定      ：質問文「アラーム音は何にしますか？」
これら全ての対話ノードが実行された後、アラーム設定の終了となる。
【００４３】
図４によれば、以下のようにシナリオが進行している。
（Ｓ１）  システム  ：声「何のご用でしょうか？」
ユーザ    ：声「アラーム時間を設定したい」
−−−［アラーム設定］−−−
（Ｓ２）  システム  ：声「何時に設定しますか？」
ユーザ    ：声「１２時」
（システム）※誤って「２２時」と認識して表示する
（Ｓ３）  システム  ：声「リピートしますか？」
（Ｓ３１）（ユーザ）：※操作によって「１２時」に設定する
（Ｓ３２）（ユーザ）：※操作によって「毎日」に設定する
（Ｓ４）  システム  ：声「アラーム音は何にしますか？」
ユーザ    ：声「今までと同じ」
【００４４】
図５は、図４のＳ１における端末の表示画面である。
【００４５】
対話シナリオ進行部１１は、対話コマンド要求発行部１２へ、質問文「何のご用でしょうか？」を出力する。対話コマンド要求発行部１２は、その質問文を含む対話コマンド要求を、エージェント部２１へ送信する。エージェント部２１は、その質問文をスピーカから発声する。
（Ｓ１）  システム：声「何のご用でしょうか？」
ユーザ  ：声「アラーム時間を設定したい」
【００４６】
これに対し、ユーザが、声で「アラーム時間を設定したい」と発声したとする。この声は、マイクによって取得され、エージェント部２１へ出力される。エージェント部２１は、その音声情報を、音声認識及び意味解析によって文（回答文）に変換する。ここで、エージェント部２１は、アラーム設定アプリケーションの起動と理解し、コマンド［UNDERSTAND_EVENT_START -> |setalarmtime|］を含む対話コマンド応答を、対話コマンド応答受付部１３へ送信する。
【００４７】
図６は、図４のＳ２における端末の表示画面である。
【００４８】
次に、対話シナリオ進行部１１は、対話コマンド要求発行部１２へ、アラーム設定アプリケーションの起動を表すコマンド［ALARM_SETTIME_START］を出力する。対話コマンド要求発行部１２は、そのコマンドを含む対話コマンド要求を、アプリケーション制御部２２へ送信する。これによって、アプリケーション制御部２２は、アラーム設定アプリケーションを起動する。
【００４９】
図６によれば、ディスプレイの上半分にはアラーム設定アプリケーションが表示され、下半分にはエージェントが表示されている。尚、ユーザ操作に応じて、アラーム設定アプリケーションのみ、又は、エージェントのみの表示への切り替えることもできる。
【００５０】
対話シナリオ進行部１１は、対話状態遷移を更新し、次の対話ノードには、設定時間を尋ねる文（質問文）に基づくコマンドが含まれているとする。対話シナリオ進行部１１は、そのコマンドを対話コマンド要求発行部１２へ出力し、対話コマンド要求発行部１２は、そのコマンドを含む対話コマンド要求を、ユーザプログラム２へ送信する。ユーザプログラム２は、その対話コマンド要求のコマンドに対応する質問文「何時に設定しますか？」を、音声合成によって音声信号に変換する。そして、エージェント部２１が、その質問文をスピーカから発声する。
（Ｓ２）  システム：声「何時に設定しますか？」
ユーザ  ：声「１２時」
【００５１】
これに対し、ユーザが、声で「１２時」と発声したとする。この声は、マイクによって取得され、エージェント部２１へ出力される。ここで、エージェント部２１は、その音声情報を、音声認識及び意味解析によって、誤って「２２時」と認識したとする。
（システム）※誤って「２２時」と認識して表示する
そして、エージェント部２１は、コマンド［ALARM_SETTIME_START->|22:00|］を、対話プログラム１の対話コマンド応答受付部１３へ送信する。対話コマンド応答受付部１３は、対話シナリオ進行部１１へ、コマンド［ALARM_SETTIME_START->|22:00|］を出力する。対話シナリオ進行部１１は、ユーザがアラームを「２２時」に設定したと判断する。
【００５２】
これに対し、対話プログラム１の対話シナリオ進行部１１は、コマンド［ALARM_SETTIME_START->|22:00|］を対話コマンド要求発行部１２へ出力し、対話コマンド要求発行部１２は、そのコマンドを含む対話コマンド要求を、ユーザプログラム２のアプリケーション制御部２２へ送信する。これによって、アプリケーション制御部２２は、アプリケーションに対して「２２時」を設定する。この設定は、ディスプレイに表示されたアプリケーションにも明示される。
【００５３】
図７は、図４のＳ３における端末の表示画面である。
【００５４】
対話シナリオ進行部１１は、対話状態遷移を更新し、次の対話ノードには、アラームの繰り返しを尋ねる文（質問文）に基づくコマンドが含まれているとする。対話シナリオ進行部１１は、対話コマンド要求発行部１２へ、質問文「リピートしますか？」に基づくコマンドを出力し、対話コマンド要求発行部１２は、そのコマンドを含む対話コマンド要求を、ユーザプログラム２のエージェント部２１へ送信する。エージェント部２１は、その対話コマンド要求のコマンドに対応する質問文を、音声合成によってスピーカから発声する。
（Ｓ３）  システム  ：声「リピートしますか？」
【００５５】
しかしながら、ユーザは、ディスプレイに表示されたアラーム設定「２２時」を見て、音声認識で誤ったことを知る。そこで、ユーザは、タッチパネルディスプレイに対する「ユーザ操作」によって、「１２時」に変更したとする。
（Ｓ３１）（ユーザ）：※操作によって「１２時」に設定する
この操作を検知したアプリケーション制御部２２は、対話コマンド応答受付部１３へ、コマンド［ALARM_SETTIME_START->|12:00|］を含む対話コマンド応答を送信する。対話コマンド応答受付部１３は、そのコマンドを対話シナリオ進行部１１へ出力する。対話シナリオ進行部１１は、ユーザがアラームを「１２時」に設定したと判断し、次の対話ノードへ進行する。
【００５６】
このように、本発明によれば、音声認識に失敗した場合であっても、アプリケーションい対するユーザ操作（例えばタッチ操作）に切り替えたとしても、対話シナリオを進行させることができる。
【００５７】
更に、ユーザは、タッチパネルディスプレイに対する「ユーザ操作」によって、「毎日」に変更したとする。
（Ｓ３２）（ユーザ）：※操作によって「毎日」に設定する
この操作を検知したアプリケーション制御部２２は、対話プログラム１の対話コマンド応答受付部１３へ、コマンド［ALARM_SETREPEAT_START | everyday］を送信する。対話コマンド応答受付部１３は、そのコマンドを対話シナリオ進行部１１へ出力する。対話シナリオ進行部１１は、ユーザがアラームの繰り返しを「毎日」に設定したと判断し、次の対話ノードへ進行する。
【００５８】
図８は、図４のＳ４における端末の表示画面である。
【００５９】
対話シナリオ進行部１１は、対話状態遷移を更新し、次の対話ノードには、アラーム音を尋ねる文（質問文）に基づくコマンドが含まれているとする。対話シナリオ進行部１１は、対話コマンド要求発行部１２へ、質問文「アラーム音は何にしますか？」に基づくコマンドを出力し、対話コマンド要求発行部１２は、そのコマンドを含む対話コマンド要求を、ユーザプログラム２のエージェント部２１へ送信する。エージェント部２１は、その対話コマンド要求のコマンドに対応する質問文を、音声合成によってスピーカから発声する。
（Ｓ４）  システム：声「アラーム音は何にしますか？」
ユーザ：  声「今までと同じ」
【００６０】
これに対し、ユーザが、声で「今までと同じ」と発声したとする。この声は、マイクによって取得され、エージェント部２１へ出力される。エージェント部２１は、音声認識及び意味解析によって回答文を認識し、その回答文に基づくコマンド［UNDERSTAND_ALARM_MUSIC | crruntsetting］を含む対話コマンド応答を、対話コマンド応答受付部１３へ送信する。ここで、対話コマンド応答受付部１３は、対話コマンド応答に含まれるコマンドを、対話シナリオ進行部１１へ通知する。対話シナリオ進行部１１は、ユーザがアラーム音を「今までと同じ」に設定したと判断し、次の対話ノードへ進行する。
【００６１】
以上、詳細に説明したように、本発明の対話プログラム、装置、サーバ及び方法によれば、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる。即ち、アプリケーションに対するユーザの操作であっても、音声対話のシナリオを進行させることができる。
【００６２】
尚、本発明は、ユーザ操作に基づく端末のディスプレイに「キャラクタエージェント」を表示し、ユーザとエージェントとが音声による対話を進める、音声対話システムに適する。勿論、本発明は、音声対話に限定されるものではなく、テキスト対話であってもよい。
【００６３】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００６４】
１  対話プログラム
１０  対話シナリオ蓄積部
１１  対話シナリオ進行部
１２  対話コマンド要求発行部
１３  対話コマンド応答受付部
２  ユーザプログラム
２１  エージェント部
２２  アプリケーション制御部
【図１】
2014191272.tif 000003
【図２】
2014191272.tif 000004
【図３】
2014191272.tif 000005
【図４】
2014191272.tif 000006
【図５】
2014191272.tif 000007
【図６】
2014191272.tif 000008
【図７】
2014191272.tif 000009
【図８】
2014191272.tif 000010