特許第6115941号(P6115941)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6115941対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法
<>
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000002
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000003
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000004
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000005
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000006
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000007
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000008
  • 特許6115941-対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6115941
(24)【登録日】2017年3月31日
(45)【発行日】2017年4月19日
(54)【発明の名称】対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法
(51)【国際特許分類】
   G10L 15/22 20060101AFI20170410BHJP
   G10L 15/00 20130101ALI20170410BHJP
   G10L 15/30 20130101ALI20170410BHJP
   G10L 13/00 20060101ALI20170410BHJP
   G06F 3/0484 20130101ALI20170410BHJP
【FI】
   G10L15/22 300U
   G10L15/00 200A
   G10L15/30
   G10L13/00 100M
   G06F3/0484 120
【請求項の数】5
【全頁数】14
(21)【出願番号】特願2013-68523(P2013-68523)
(22)【出願日】2013年3月28日
(65)【公開番号】特開2014-191272(P2014-191272A)
(43)【公開日】2014年10月6日
【審査請求日】2015年8月4日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】徐 ▲シン▼
(72)【発明者】
【氏名】加藤 恒夫
【審査官】 千本 潤介
(56)【参考文献】
【文献】 米国特許出願公開第2012/0316871(US,A1)
【文献】 特開平09−091112(JP,A)
【文献】 国際公開第2007/138741(WO,A1)
【文献】 特開2006−099424(JP,A)
【文献】 特開2003−316385(JP,A)
【文献】 特開2003−005786(JP,A)
【文献】 特開2001−296943(JP,A)
【文献】 特開2001−056694(JP,A)
【文献】 特開2006−349954(JP,A)
【文献】 特表2014−519627(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/22
G06F 3/0484
G10L 13/00
G10L 15/00
G10L 15/30
(57)【特許請求の範囲】
【請求項1】
ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける対話コマンド応答受付手段と
してコンピュータを機能させ、
前記対話シナリオ進行手段は、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容、に基づいて対話的にシナリオを進行する
ようにコンピュータを機能させることを特徴とする対話プログラム。
【請求項2】
前記対話コマンド要求発行手段は、前記対話シナリオ進行手段によって、実行された対話ノードに対応付けられた文を含む対話コマンド要求を発行し、
前記対話コマンド応答受付手段は、ユーザによって回答された文を含む対話コマンド応答を受け付ける
ようにコンピュータを更に機能させることを特徴とする請求項1に記載の対話プログラム。
【請求項3】
ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する装置であって、
前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と、
キャラクタエージェントをディスプレイに表示すると共に、前記対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を前記対話シナリオ進行手段へ通知するエージェント手段と、
前記対話コマンド要求発行手段から発行された前記対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を前記対話コマンド応答受付手段へ通知するアプリケーション制御手段と
を有し、
前記対話シナリオ進行手段は、前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する
ことを特徴とする装置。
【請求項4】
ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する対話サーバであって、
前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
前記対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
前記対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する対話コマンド要求発行手段と、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と
を有し、
前記対話シナリオ進行手段は、前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する
ことを特徴とする対話サーバ。
【請求項5】
ユーザ操作に基づく端末と、該端末を通じてユーザと対話的にシナリオを進行する対話サーバとを有するシステムにおける対話方法であって、
前記対話サーバは、前記端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積部を有し、
前記対話サーバは、
前記対話シナリオ蓄積部を用いて、対話ノードを遷移しながらシナリオを進行する中で、
対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を前記端末へ送信する第1のステップと、
前記対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する第2のステップと、
前記端末から受信した、ユーザによって回答された文、又は、前記対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する第3のステップと
を有することを特徴とする対話方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話シナリオを用いてユーザと対話する対話システムの技術に関する。
【背景技術】
【0002】
人間に対して自然な対話を実現した対話システムが、スマートフォンやタブレット端末で普及しつつある。特に、コンピュータグラフィックスのキャラクタが、音声で会話する対話エージェントとして機能する技術がある(例えば特許文献1参照)。近年、ユーザから見て、対話エージェントに対する抵抗感も無くなってきており、自然な会話を楽しむことができる。端末は、ユーザとエージェントとの間の会話を通じて、ユーザに特別な意識を持たせることなく、ユーザの状況、趣味趣向、又は感情のようなユーザ情報を取得することができる。これらユーザ情報は、ユーザプロファイルとして、様々なアプリケーションによって利用することができる。
【0003】
ユーザは、対話システムを搭載したスマートフォンに対して、質問を語りかけることができる。スマートフォンは、ユーザの声を認識し、意味解析によってその質問の意図を理解し、回答すると共に、最適なサービス機能(例えばメール、スケジューラ、アラーム等)を自動的に起動することもできる(例えば非特許文献1参照)。その回答文は、エージェントから音声合成された声で発せられるものであってもよいし、ディスプレイに表示されるものであってもよい。このように、対話シナリオの中で、新規なサービス機能を起動するために、ランチャ機能が用いられる。ランチャ機能は、エージェントを用いる対話システムを大幅に修正することなく、対話の新規機能として簡易に追加することができる。
【0004】
図1は、従来技術における対話システムの機能構成図である。
【0005】
図1(a)によれば、例えばスマートフォンのような単体装置に搭載されたコンピュータを機能させるプログラム(アプリケーション)であって、対話シナリオ進行部と、対話インタラクション部と、キャラクタ表示制御部とを一体的に含んでいる(例えば特許文献1参照)。対話シナリオ進行部は、多数の対話ノードのツリーを予め記憶しており、ユーザからの返答に応じて辿ることによって、ユーザとの間の対話を進めていく。対話インタラクション部は、対話ノードの文をスピーカから音声合成によって発声する。また、マイクによってユーザからの声を取得し、音声認識及び意味解析を実行し、その回答文を対話シナリオ進行部へ出力する。キャラクタ表示制御部は、キャラクタエージェントをディスプレイに表示し、対話ノードに基づく会話によってそのエージェントの動きを制御する。
【0006】
図1(b)によれば、対話サーバと端末とがネットワークを介して接続されたシステムである。対話サーバは、対話シナリオ進行部と対話インタラクション部とを有し、端末は、対話クライアント部とキャラクタ表示制御部とを有する。端末の対話クライアント部は、対話サーバの対話インタラクション部に対して、端末側のスピーカ及びマイクのようなデバイスのインタフェースとして機能する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−323875号公報
【非特許文献】
【0008】
【非特許文献1】NTTドコモ、「しゃべってコンシェル」、[online]、[平成25年2月24日検索]、インターネット<URL:http://www.nttdocomo.co.jp/service/information/shabette_concier/>
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載された技術によれば、図1(a)のように全ての機能モジュールが一体的なアプリケーションとして構成されている。そのために、例えばアラーム機能のような既存の設定機能を、対話シナリオに追加することが難しい。
【0010】
また、非特許文献1に記載された技術によれば、ランチャ機能によって対話シナリオとサービス機能の起動とを関連付けている。しかしながら、ランチャ機能によって起動したサービス機能と、対話シナリオとの間で、統一感のある対話を実現することは難しい。即ち、対話シナリオ自体は、起動されたサービス機能に関して、ユーザとの間で何ら対話することはない。
【0011】
具体的には、対話の中で、ランチャ機能によって例えば既存のアラーム設定機能(アプリケーション)が起動されたとしても、その後、ユーザは、従来通り、アラーム設定アプリケーションに対してしか操作することができない。そのアラーム設定に関する操作が不明となり、エージェントの対話入力に切り替えても、対話シナリオは、アラーム設定に対する操作過程を認識していない。結果的に、ユーザは、アラーム設定機能に対して手動(例えばタッチパネルを用いて)入力操作をするか、エージェントに対して音声入力するか、のいずれか一方の操作しかすることができない。
【0012】
本発明は、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる対話プログラム、装置、サーバ及び方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明によれば、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける対話コマンド応答受付手段と
してコンピュータを機能させ、
対話シナリオ進行手段は、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容、に基づいて対話的にシナリオを進行する
ようにコンピュータを機能させることを特徴とする。
【0015】
本発明の対話プログラムにおける他の実施形態によれば、
対話コマンド要求発行手段は、対話シナリオ進行手段によって、実行された対話ノードに対応付けられた文を含む対話コマンド要求を発行し、
対話コマンド応答受付手段は、ユーザによって回答された文を含む対話コマンド応答を受け付ける
ようにコンピュータを更に機能させることも好ましい。
【0019】
本発明によれば、ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する装置であって、
端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と、
キャラクタエージェントをディスプレイに表示すると共に、対話シナリオ進行手段によって進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話シナリオ進行手段へ通知するエージェント手段と、
対話コマンド要求発行手段から発行された対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を対話コマンド応答受付手段へ通知するアプリケーション制御手段と
を有し、
対話シナリオ進行手段は、端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する
ことを特徴とする。
【0020】
本発明によれば、ユーザ操作に基づく端末と通信し、該端末を通じてユーザと対話的にシナリオを進行する対話サーバであって、
端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積手段と、
対話シナリオ蓄積手段を用いて、対話ノードを遷移しながらシナリオを進行する対話シナリオ進行手段と、
対話シナリオ進行手段によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する対話コマンド要求発行手段と、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する対話コマンド応答受付手段と
を有し、
対話シナリオ進行手段は、端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する
ことを特徴とする。
【0021】
本発明によれば、ユーザ操作に基づく端末と、該端末を通じてユーザと対話的にシナリオを進行する対話サーバとを有するシステムにおける対話方法であって、
対話サーバは、端末へ送信すべき文を対応付けた複数の対話ノードを蓄積し、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている対話シナリオ蓄積部を有し、
対話サーバは、
対話シナリオ蓄積部を用いて、対話ノードを遷移しながらシナリオを進行する中で、
対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を端末へ送信する第1のステップと、
対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受信する第2のステップと、
端末から受信した、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容に基づいて、対話的にシナリオを進行する第3のステップと
を有することを特徴とする。
【発明の効果】
【0023】
本発明の対話プログラム、装置、サーバ及び方法によれば、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる。
【図面の簡単な説明】
【0024】
図1】従来技術における対話システムの機能構成図である。
図2】本発明の装置における機能構成図である。
図3】本発明のシステムにおける機能構成図である。
図4】本発明における音声対話とユーザ操作とが連携して進行する対話シナリオを表す説明図である。
図5図4のS1における端末の表示画面である。
図6図4のS2における端末の表示画面である。
図7図4のS3における端末の表示画面である。
図8図4のS4における端末の表示画面である。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0026】
図2は、本発明の装置における機能構成図である。
図3は、本発明のシステムにおける機能構成図である。
【0027】
図2及び図3によれば、スマートフォンのような装置は、ハードウェアとして、ユーザに対する「音声出力」用のスピーカと、ユーザからの「音声入力」用のマイクと、ユーザに対する文やキャラクタの「ユーザ表示」用のディスプレイとを有する。特に、ディスプレイがタッチパネルディスプレイでである場合、ユーザの指先による「ユーザ操作」用としても機能する。タッチパネルディスプレイによるユーザ操作としては、予め表示されたボタンに対する指の接触押下や、ソフトウェアキーに対する操作であってもよい。勿論、ユーザ操作用として、物理的なキーボードやテンキーを備えたものであってもよい。尚、スマートフォンの場合、加速度センサのようなセンサを搭載したものも多い。
【0028】
また、図2及び図3によれば、ソフトウェア的に、対話プログラムと、ユーザプログラムと、既存のアプリケーションとを有する。ここで、図2によれば、これら機能モジュールが、スマートフォンのような単体装置に搭載されたコンピュータで一体的に機能させるプログラムを実行することによって実現されている。また、図3によれば、対話プログラムは、サーバに搭載されたコンピュータで実行され、ユーザプログラム及びアプリケーションは、端末に搭載されたコンピュータで実行されている。サーバと端末とがネットワークを介して接続されたシステムによって、図2と同様の対話システムを実現している。
【0029】
対話プログラムは、ユーザと対話的にシナリオを進行するものであって、バックグランド(例えばサーバ側)で実行される。一方で、ユーザプログラムは、ユーザとのインタフェースになるものであって、フロントグランド(例えば端末側)で実行される。ユーザプログラムは、キャラクタのエージェントの表示を制御すると共に、マイクやスピーカによってユーザとの間の会話のインタフェースとなる。また、ユーザプログラムは、対話プログラムから受信した対話コマンド要求に含まれる文(質問文)を音声信号に変換し、その音声信号をスピーカへ出力する。また、マイクによって取得された音声信号を文(回答文)に変換し、その文を対話コマンド応答に含めて、対話プログラムへ送信する。
【0030】
<対話プログラム>
対話プログラムは、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる。対話プログラムは、対話シナリオ蓄積部10と、対話シナリオ進行部11と、対話コマンド要求発行部12と、対話コマンド応答受付部13とを有する。
【0031】
[対話シナリオ蓄積部10]
対話シナリオ蓄積部10は、ユーザへ明示すべき文を対応付けた複数の対話ノードを蓄積する。そして、一部の対話ノードには、ユーザ操作を要するアプリケーションへ指示する対話コマンド要求が対応付けられている。対話シナリオとは、質問文を含む対話ノードを、ユーザからの回答文に応じてツリー状に構成したものである。また、対話シナリオとは、例えば、ユーザの入力に対する応答パターンを記述するFST(Finite State Transducer)ファイルを扱うスクリプトファイルであってもよい。
【0032】
本発明によれば、対話ノードに含まれる対話コマンド要求には、アプリケーションを起動するコマンドだけでなく、例えばアラーム設定用のアプリケーションについて以下のようなコマンドも含まれる。
アラーム時間の設定:ALARM_SETTIME_START
リピートの設定 :ALARM_SETREPEAT_START
アラーム音の設定 :ALARM_SETREPEAT_START
また、対話ノードには、キャラクタのエージェントの表示を制御するコマンドも含まれる。
【0033】
[対話シナリオ進行部11]
対話シナリオ進行部11は、対話シナリオ蓄積部10を用いて、対話ノードを遷移しながらシナリオを進行する。ここで、対話シナリオ進行部11は、ユーザによって回答された文、又は、対話コマンド応答のユーザ操作内容、に基づいて対話シナリオを進行する。
【0034】
[対話コマンド要求発行部12]
対話コマンド要求発行部12は、対話シナリオ進行部11によって、対話コマンド要求が対応付けられた対話ノードが実行された際、当該対話コマンド要求を発行する。対話コマンド要求は、対話ノードに対応付けられた以下のコマンドを含む。
・ユーザ操作を要するアプリケーションへ指示するコマンド
・ユーザに対する文(例えば質問文)を含むコマンド
【0035】
[対話コマンド応答受付部13]
対話コマンド応答受付部13は、対話コマンド要求を指示された当該アプリケーションから、ユーザ操作内容を表す対話コマンド応答を受け付ける。前述と同様に、対話コマンド応答は、対話ノードに対応付けられた以下のコマンドを含む。
・アプリケーションに対するユーザ操作の内容を含むコマンド
・ユーザからの文(例えば回答文)を含むコマンド
対話コマンド応答受付部13におけるユーザ操作内容は、ユーザによって現に操作された操作情報に限られず、センサによって取得された周辺状態情報であってもよい。
【0036】
本発明の対話プログラムは、ユーザプログラムに対して全て、「対話コマンド」として要求し且つ応答を受け付ける。これによって、対話プログラムは、ユーザプログラムに対して、音声やタッチパネルディスプレイによってユーザと会話する「文」だけでなく、アプリケーションに対する「ユーザ操作」も含めて、「対話コマンドのみの記述フォーマットで統一する」ことができる。例えばユーザプログラムが、例えば音声会話にしか対応していない場合、ユーザ操作に基づく対話コマンド要求は無視され、文に基づく対話コマンド要求のみが進行する。このように、対話プログラム自体は、ユーザプログラムに搭載された機能を認識することなく、対話コマンドのみで、対話シナリオを進行させることができる。
【0037】
<ユーザプログラム>
ユーザプログラムは、ユーザとのインタフェースになるものであって、キャラクタのエージェントの表示を制御すると共に、マイクやスピーカによってユーザとの間の会話のインタフェースとなる。
【0038】
[エージェント部21]
エージェント部21は、キャラクタエージェントをディスプレイに表示すると共に、進行中の対話ノードに対応付けられた文を明示し、ユーザから取得した文を対話プログラム(対話シナリオ進行部11)へ通知する。ユーザへ明示すべく文(質問文)は、キャラクタの動きや吹き出しによって表示されてもよいし、音声によってスピーカから発せられるものであってもよい。また、ユーザからの文(回答文)は、タッチパネルによるテキスト入力であってもいし、ユーザの声をマイクで取得するものであってもよい。
【0039】
[アプリケーション制御部22]
アプリケーション制御部22は、対話コマンド要求に応じたアプリケーションへ指示し、ユーザ操作内容を表す対応コマンド応答を、対話プログラム(対話コマンド応答受付部)へ通知する。アプリケーション制御部22は、アプリケーションとのやりとりだけでなく、GPS(Global Positioning System)センサ、加速度センサ、バッテリー残量計測などのセンサを制御することもできる。
【0040】
ここで、エージェント部21におけるキャラクタと、アプリケーション制御部22におけるサービス機能アプリケーションとは、ディスプレイの画面を分割して表示される。ここで、ユーザ操作に応じて、キャラクタのみの画面にして、サービス機能アプリケーションの機能を一時的に隠すこともできる。同様に、サービス機能アプリケーションのみの画面にして、エージェントの機能を一時的に隠すこともできる。
【0041】
図4は、本発明における音声対話とユーザ操作とが連携して進行する対話シナリオを表す説明図である。
【0042】
図4によれば、アラーム設定の対話ノードの進行が表されている。アラーム設定には、以下のような3つの対話ノードが構成されている。
(a)時間設定 :質問文「何時に設定しますか?」
(b)リピート設定:質問文「リピートしますか?」
(c)音設定 :質問文「アラーム音は何にしますか?」
これら全ての対話ノードが実行された後、アラーム設定の終了となる。
【0043】
図4によれば、以下のようにシナリオが進行している。
(S1) システム :声「何のご用でしょうか?」
ユーザ :声「アラーム時間を設定したい」
−−−[アラーム設定]−−−
(S2) システム :声「何時に設定しますか?」
ユーザ :声「12時」
(システム)※誤って「22時」と認識して表示する
(S3) システム :声「リピートしますか?」
(S31)(ユーザ):※操作によって「12時」に設定する
(S32)(ユーザ):※操作によって「毎日」に設定する
(S4) システム :声「アラーム音は何にしますか?」
ユーザ :声「今までと同じ」
【0044】
図5は、図4のS1における端末の表示画面である。
【0045】
対話シナリオ進行部11は、対話コマンド要求発行部12へ、質問文「何のご用でしょうか?」を出力する。対話コマンド要求発行部12は、その質問文を含む対話コマンド要求を、エージェント部21へ送信する。エージェント部21は、その質問文をスピーカから発声する。
(S1) システム:声「何のご用でしょうか?」
ユーザ :声「アラーム時間を設定したい」
【0046】
これに対し、ユーザが、声で「アラーム時間を設定したい」と発声したとする。この声は、マイクによって取得され、エージェント部21へ出力される。エージェント部21は、その音声情報を、音声認識及び意味解析によって文(回答文)に変換する。ここで、エージェント部21は、アラーム設定アプリケーションの起動と理解し、コマンド[UNDERSTAND_EVENT_START -> |setalarmtime|]を含む対話コマンド応答を、対話コマンド応答受付部13へ送信する。
【0047】
図6は、図4のS2における端末の表示画面である。
【0048】
次に、対話シナリオ進行部11は、対話コマンド要求発行部12へ、アラーム設定アプリケーションの起動を表すコマンド[ALARM_SETTIME_START]を出力する。対話コマンド要求発行部12は、そのコマンドを含む対話コマンド要求を、アプリケーション制御部22へ送信する。これによって、アプリケーション制御部22は、アラーム設定アプリケーションを起動する。
【0049】
図6によれば、ディスプレイの上半分にはアラーム設定アプリケーションが表示され、下半分にはエージェントが表示されている。尚、ユーザ操作に応じて、アラーム設定アプリケーションのみ、又は、エージェントのみの表示への切り替えることもできる。
【0050】
対話シナリオ進行部11は、対話状態遷移を更新し、次の対話ノードには、設定時間を尋ねる文(質問文)に基づくコマンドが含まれているとする。対話シナリオ進行部11は、そのコマンドを対話コマンド要求発行部12へ出力し、対話コマンド要求発行部12は、そのコマンドを含む対話コマンド要求を、ユーザプログラム2へ送信する。ユーザプログラム2は、その対話コマンド要求のコマンドに対応する質問文「何時に設定しますか?」を、音声合成によって音声信号に変換する。そして、エージェント部21が、その質問文をスピーカから発声する。
(S2) システム:声「何時に設定しますか?」
ユーザ :声「12時」
【0051】
これに対し、ユーザが、声で「12時」と発声したとする。この声は、マイクによって取得され、エージェント部21へ出力される。ここで、エージェント部21は、その音声情報を、音声認識及び意味解析によって、誤って「22時」と認識したとする。
(システム)※誤って「22時」と認識して表示する
そして、エージェント部21は、コマンド[ALARM_SETTIME_START->|22:00|]を、対話プログラム1の対話コマンド応答受付部13へ送信する。対話コマンド応答受付部13は、対話シナリオ進行部11へ、コマンド[ALARM_SETTIME_START->|22:00|]を出力する。対話シナリオ進行部11は、ユーザがアラームを「22時」に設定したと判断する。
【0052】
これに対し、対話プログラム1の対話シナリオ進行部11は、コマンド[ALARM_SETTIME_START->|22:00|]を対話コマンド要求発行部12へ出力し、対話コマンド要求発行部12は、そのコマンドを含む対話コマンド要求を、ユーザプログラム2のアプリケーション制御部22へ送信する。これによって、アプリケーション制御部22は、アプリケーションに対して「22時」を設定する。この設定は、ディスプレイに表示されたアプリケーションにも明示される。
【0053】
図7は、図4のS3における端末の表示画面である。
【0054】
対話シナリオ進行部11は、対話状態遷移を更新し、次の対話ノードには、アラームの繰り返しを尋ねる文(質問文)に基づくコマンドが含まれているとする。対話シナリオ進行部11は、対話コマンド要求発行部12へ、質問文「リピートしますか?」に基づくコマンドを出力し、対話コマンド要求発行部12は、そのコマンドを含む対話コマンド要求を、ユーザプログラム2のエージェント部21へ送信する。エージェント部21は、その対話コマンド要求のコマンドに対応する質問文を、音声合成によってスピーカから発声する。
(S3) システム :声「リピートしますか?」
【0055】
しかしながら、ユーザは、ディスプレイに表示されたアラーム設定「22時」を見て、音声認識で誤ったことを知る。そこで、ユーザは、タッチパネルディスプレイに対する「ユーザ操作」によって、「12時」に変更したとする。
(S31)(ユーザ):※操作によって「12時」に設定する
この操作を検知したアプリケーション制御部22は、対話コマンド応答受付部13へ、コマンド[ALARM_SETTIME_START->|12:00|]を含む対話コマンド応答を送信する。対話コマンド応答受付部13は、そのコマンドを対話シナリオ進行部11へ出力する。対話シナリオ進行部11は、ユーザがアラームを「12時」に設定したと判断し、次の対話ノードへ進行する。
【0056】
このように、本発明によれば、音声認識に失敗した場合であっても、アプリケーションい対するユーザ操作(例えばタッチ操作)に切り替えたとしても、対話シナリオを進行させることができる。
【0057】
更に、ユーザは、タッチパネルディスプレイに対する「ユーザ操作」によって、「毎日」に変更したとする。
(S32)(ユーザ):※操作によって「毎日」に設定する
この操作を検知したアプリケーション制御部22は、対話プログラム1の対話コマンド応答受付部13へ、コマンド[ALARM_SETREPEAT_START | everyday]を送信する。対話コマンド応答受付部13は、そのコマンドを対話シナリオ進行部11へ出力する。対話シナリオ進行部11は、ユーザがアラームの繰り返しを「毎日」に設定したと判断し、次の対話ノードへ進行する。
【0058】
図8は、図4のS4における端末の表示画面である。
【0059】
対話シナリオ進行部11は、対話状態遷移を更新し、次の対話ノードには、アラーム音を尋ねる文(質問文)に基づくコマンドが含まれているとする。対話シナリオ進行部11は、対話コマンド要求発行部12へ、質問文「アラーム音は何にしますか?」に基づくコマンドを出力し、対話コマンド要求発行部12は、そのコマンドを含む対話コマンド要求を、ユーザプログラム2のエージェント部21へ送信する。エージェント部21は、その対話コマンド要求のコマンドに対応する質問文を、音声合成によってスピーカから発声する。
(S4) システム:声「アラーム音は何にしますか?」
ユーザ: 声「今までと同じ」
【0060】
これに対し、ユーザが、声で「今までと同じ」と発声したとする。この声は、マイクによって取得され、エージェント部21へ出力される。エージェント部21は、音声認識及び意味解析によって回答文を認識し、その回答文に基づくコマンド[UNDERSTAND_ALARM_MUSIC | crruntsetting]を含む対話コマンド応答を、対話コマンド応答受付部13へ送信する。ここで、対話コマンド応答受付部13は、対話コマンド応答に含まれるコマンドを、対話シナリオ進行部11へ通知する。対話シナリオ進行部11は、ユーザがアラーム音を「今までと同じ」に設定したと判断し、次の対話ノードへ進行する。
【0061】
以上、詳細に説明したように、本発明の対話プログラム、装置、サーバ及び方法によれば、対話シナリオの進行の中で、既存のアプリケーションに対するユーザの操作を、ユーザの回答として認識することができる。即ち、アプリケーションに対するユーザの操作であっても、音声対話のシナリオを進行させることができる。
【0062】
尚、本発明は、ユーザ操作に基づく端末のディスプレイに「キャラクタエージェント」を表示し、ユーザとエージェントとが音声による対話を進める、音声対話システムに適する。勿論、本発明は、音声対話に限定されるものではなく、テキスト対話であってもよい。
【0063】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0064】
1 対話プログラム
10 対話シナリオ蓄積部
11 対話シナリオ進行部
12 対話コマンド要求発行部
13 対話コマンド応答受付部
2 ユーザプログラム
21 エージェント部
22 アプリケーション制御部
図1
図2
図3
図4
図5
図6
図7
図8