(57)【要約】【課題】  マルチモーダル技術を用いた端末装置における使用感を向上させることができる音声応答ウェブシステムとその入出力制御方法を提供する。【解決手段】  端末装置２よりネットワーク３を介してアクセスされる音声応答ウェブシステムは、ウェブアプリケーションを実行するウェブサーバ４と音声アプリケーションを実行する音声サーバを備える。ウェブサーバ４には、ウェブサーバ４上で動作するプログラムの状態を音声サーバ５上で動作するプログラムに通知する制御部１２を設ける。音声サーバ５には、音声サーバ５上で動作するプログラムの状態をウェブサーバ４に通知する制御部１５を設ける。【選択図】    図１
2004246865.tif 000002
【特許請求の範囲】
【請求項１】
端末装置よりアクセスされる音声応答ウェブシステムであって、ウェブサーバ及び音声サーバを備え、前記ウェブサーバ上で動作するプログラムの状態を前記音声サーバ上で動作するプログラムに通知する第１の制御手段と、前記音声サーバ上で動作するプログラムの状態を前記ウェブサーバに通知する第２の制御手段と、を有する音声応答ウェブシステム。
【請求項２】
端末装置よりアクセスされる音声応答ウェブシステムであって、
ウェブアプリケーションの実行を管理するウェブサーバと、音声アプリケーションの実行を管理する音声サーバとを備え、
前記ウェブサーバ上で動作するプログラムの状態を前記音声サーバに通知する第１の制御手段と、前記音声サーバ上で動作するプログラムの状態を前記ウェブサーバに通知する第２の制御手段と、を有する音声応答ウェブシステム。
【請求項３】
前記第１の制御手段から通知された状態に基づいて前記音声サーバでの処理内容が定まり、前記第２の制御手段から通知された状態に基づいて前記ウェブサーバでの処理内容が定まる、請求項１または２に記載の音声応答ウェブシステム。
【請求項４】
前記第１の制御手段からの通知に基づいて、前記音声アプリケーションを起動する起動手段をさらに有する、請求項２に記載の音声応答ウェブシステム。
【請求項５】
音声認識の結果によって得られる値及びウェブデータ入力によって得られる値に基づいて、前記音声アプリケーションと前記ウェブアプリケーションとの対応付けが行われる、請求項２乃至４のいずれか１項に記載の音声応答ウェブシステム。
【請求項６】
音声認識の結果から得られる値及びウェブデータ入力により得られる値を結合することにより、前記第１の制御手段は該当するウェブアプリケーションを起動する、請求項２乃至４のいずれか１項に記載の音声応答ウェブシステム。
【請求項７】
前記端末装置において音声認識による入力の要求あるいは音声出力要求の操作が行われたときに、ウェブデータ入力により取得される識別情報に基づいて、前記起動手段が音声アプリケーションを起動する、請求項４に記載の音声応答ウェブシステム。
【請求項８】
前記端末装置において、音声と画面の同時出力要求の操作が行われたときあるいは音声入力が行われたときに、ウェブデータ入力により取得される識別情報に基づいて、前記ウェブアプリケーションからの画面データ出力と前記音声アプリケーションからの音声データ出力が同時に行われる、請求項２乃至４のいずれか１項に記載の音声応答ウェブシステム。
【請求項９】
前記第１の制御手段は、ネットワークを介して、前記ウェブサーバとは異なる第１のアプリケーションサーバに保持されたウェブアプリケーションを起動し、前記起動手段は、前記音声サーバとは異なる第２のアプリケーションサーバに保持された音声アプリケーションを起動する、請求項４に記載の音声応答ウェブシステム。
【請求項１０】
端末装置よりアクセスされ、ウェブアプリケーションの実行を管理するウェブサーバと音声アプリケーションの実行を管理する音声サーバとを有する音声応答ウェブシステムにおける入出力制御方法であって、
ウェブデータ入力で得られた値に対して、音声対応させることを示すとともに音声操作のためのファイルを指定する識別情報を設定し、
ウェブアプリケーションを呼び出したことにより出力される画面出力データを動的に参照し、前記識別情報に基づき、前記ファイルから読み出したデータを埋め込み、
前記データが埋め込まれた画面出力データを最終的な画面出力として実行する、入出力制御方法。
【請求項１１】
端末装置よりアクセスされ、ウェブアプリケーションの実行を管理するウェブサーバと音声アプリケーションの実行を管理する音声サーバとを有する音声応答ウェブシステムにおける入出力制御方法であって、
ユーザとの対話中の話題や対話履歴を考慮して文脈の処理を行い、
前記文脈の処理結果に応じて前記ウェブアプリケーションの起動や音声出力を行う、入出力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバと音声サーバとの間で同期をとることによって、端末装置からの音声によるアクセスとウェブアクセスとの間のシームレスな連携を可能にする音声応答ウェブシステムと、そのような音声応答ウェブシステムにおける入出力制御方法とに関する。
【背景技術】
【０００２】
携帯電話機あるいはＰＤＡ（携帯情報端末；personal digital assistants）などの開発が進むにつれて、音声伝達機能のほかにインターネット(Internet)上のウェブサイトにアクセスする機能や画面を表示する機能を有する携帯電話機（いわゆるブラウザホン）や、文字入力機能や画面表示機能のほかに音声入出力機能・音声伝達機能を有するＰＤＡなどが実用化されてきた。これらの端末装置では、キーパッドあるいはキーボード、スタイラスペン、音声コマンドなどの複数の方法で文字やコマンドを入力することができる。このように、ある装置において複数の入出力方式を可能にする技術をマルチモーダル技術と呼ぶ。
【０００３】
従来、携帯電話機からウェブアクセスを行う場合、一般には、アクセスに必要な文字を入力するためにキーパッドを使用していたが、マルチモーダル技術を適用することにより、音声認識を用いて文字入力を行うことができるし、ウェブ出力としても音声合成を利用することができるようになる。そこで、携帯電話機などからのウェブアクセスに対し、文字入力手段として音声認識を使用し、文章出力手段として音声合成を用いた音声応答ウェブシステムが提案されている。音声応答ウェブシステムは、ウェブアプリケーションを実行することによって通常のウェブアクセスに伴うデータ入出力（ウェブデータ入出力）を処理するとともに、音声認識及び音声出力に関する処理を実行する。
【０００４】
このような音声応答ウェブシステムとして、音声認識及び音声合成を行う音声サーバと、ウェブサーバとを組み合わせたものがある。このシステムでは、ウェブサーバ上で動作するプログラムがウェブアクセスを処理し、音声サーバ上で動作するプログラムが音声認識及び音声合成を処理する。ウェブアクセスに関する処理の開始は、端末装置からウェブサーバへ通知され、音声認識及び音声合成に関する処理の開始は端末装置からウェブサーバを経由して音声サーバへ通知されていた。
【０００５】
しかしながらこのような音声応答ウェブシステムでは、ウェブサーバ上で動作するプログラムが音声サーバ上で動作するプログラムの状態を入力とすることができないため、端末装置は、音声認識の開始と音声認識結果の表示を、それぞれにウェブサーバに通知しなければならなかった。このため、端末装置を操作するユーザは、音声認識の開始と結果の表示のための２回の操作を行わなければならなかった。いいかえれば、ユーザは、一旦、音声サーバに対して入力音声の認識を行わせるために例えばキー（あるいはボタン）操作を行い、音声認識結果が音声サーバから返されてきたらそれに基づいてウェブアクセスを行うために、さらにキー（あるいはボタン）操作を行う必要がある。また、音声合成の結果である音声が端末装置から出力された後に音声認識を行う場合において、音声サーバ上で動作するプログラムがウェブサーバ上で動作するプログラムの状態を入力とすることができないため、端末装置は音声認識の開始を、音声合成の結果である音声が端末装置から出力された後に通知しなければならなかった。このため、端末装置を操作するユーザは、音声の出力が終わるのを待ってから、次の文字入力となる音声認識の開始のためのキー（あるいはボタン）操作を行わなければならなかった。
【０００６】
音声応答ウェブシステムを構築する方法としては、端末装置自体に音声認識機能及び音声合成機能を持たせ、端末装置での音声認識結果に応じてウェブサーバにアクセスし、ウェブサーバからの文字情報を端末装置で音声合成する方法もあるが、この方法では、ハードウェア面でもソフトウェア面でも端末装置での処理量が大きくなりすぎ、例えば、端末装置が携帯電話機である場合には、小規模の語彙数でしか音声認識ができなかったり、連続使用時間が著しく短くなったり、端末装置の小型軽量化が阻害される、といった問題点を生じる。
【０００７】
また、携帯電話機やＰＤＡを含む端末装置を用いるウェブアプリケーションにおいて、ウェブデータの入出力に加えて音声認識及び音声出力に関する処理を備えるアプリケーションは、マルチモーダル・アプリケーションと呼ばれる。マルチモーダル・アプリケーションの実現方法には、マルチモーダル・アプリケーション専用の言語と専用のウェブブラウザもしくは既存のウェブブラウザに付加機能を追加することよって実現される方法と、上述したように専用の言語と専用のウェブブラウザを必要とせず音声認識及び音声出力の処理を行う一般的な音声サーバと一般的なウェブサーバとを連動させることにより実現させる方法の２つがある。
【０００８】
マルチモーダル・アプリケーションの作成において、専用の言語を用いる方法では、１つのウェブページつまりＸＭＬ(extended markup language)ベースのテキストファイルに画面データ用のアプリケーション記述と音声処理用のアプリケーション記述を混在して記述することは可能であるが、音声サーバとウェブサーバとを連動させる方法では、両者のアプリケーションを混在して記述することはできない。ここで、画面データ用のアプリケーション及び音声処理用のアプリケーションとは、いわゆるコンテンツ（情報の内容）に相当するものである。音声サーバとウェブサーバとを連動させる方法では、両者のアプリケーションを合わせたものがマルチモーダル・アプリケーションに相当する。すなわち、マルチモーダル・アプリケーションは、文字及び画像のみからなる通常のウェブページ（あるいはウェブコンテンツ）と音声応答の処理を行うウェブページ（あるいはウェブコンテンツ）が対応付けされたアプリケーションのことを指している。（マルチモーダル・アプリケーションは、音声応答ウェブシステムによって起動制御される。この起動制御を行うプログラムが、ここで示す音声応答ウェブシステムを実現するシステム・アプリケーションであるが、以下の説明では、マルチモーダル・アプリケーションと区別するために、アプリケーションとは呼ばずモジュールと呼ぶことにする。）
音声サーバとウェブサーバとを連動させたシステムにおいて実行される従来のマルチモーダル・アプリケーションは、音声入力に対して画面出力を行うというのが典型的な機能であり、表示されるウェブページが変化していくのに応じて音声アプリケーションを動的に実行したり、音声と画面データを同時に出力したり、ウェブデータ入力に対して音声認識と音声出力を制御したり、さらには文脈に依存した処理をしたりするような、複雑なアプリケーションの構築は困難であった。
【０００９】
また、起動される画面データ処理用のアプリケーション及び音声処理用のアプリケーションを指定する方法は、両方のサーバを連動させることを目的とする装置のプログラム内で決められているのが一般的であった。そのためアプリケーション作成者は、その作成するプログラムやファイルにおいて、起動される画面データ処理用のアプリケーション及び音声処理用のアプリケーションを指定するための記述をすることができず、起動する画面データ処理用のアプリケーション及び音声処理用のアプリケーションをユーザの操作に応じて自由に指定できるようなアプリケーションを作成することは困難であった。また、両方のサーバを連動させるための装置と、画面データ処理用及び音声処理用の各アプリケーションは、同一のローカルホスト上あるいは同一のローカルネットワーク内に置く必要があって、これらを完全に分離して実行することができない。このため、アプリケーション作成者は、ウェブサーバ及び音声サーバを連動させる装置をインターネットを介して利用することができなかった。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、マルチモーダル技術による従来の音声応答ウェブシステムでは、その音声応答ウェブシステムに対してアクセスする端末装置での操作性が悪く、音声認識の開始や音声認識結果の表示などのイベントのたびに端末装置においてキーやボタン操作を行う必要がある、という問題点がある。また、ウェブサーバと音声サーバとを連携させた音声応答ウェブシステムでは、音声入力に対して画面出力を行うというのが典型的な機能であり、音声入力とウェブデータ入力のいずれかあるいは両方に対して音声出力と画面での出力の両方を行うことができなかった。
【００１１】
そこで本発明の目的は、端末装置における使用感を向上させることができる音声応答ウェブシステムとその入出力制御方法を提供することにある。
【００１２】
本発明の別の目的は、音声入力およびウェブデータ入力に対して音声と画面の同時出力や音声認識と音声出力の制御を行い、そのアプリケーション作成を容易に行うことができる音声応答ウェブシステムとの入出力制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の音声応答ウェブシステムは、端末装置よりアクセスされる音声応答ウェブシステムであって、ウェブサーバ及び音声サーバを備え、ウェブサーバ上で動作するプログラムの状態を音声サーバ上で動作するプログラムに通知する第１の制御手段と、音声サーバ上で動作するプログラムの状態をウェブサーバに通知する第２の制御手段と、を有する。
【００１４】
本発明の第２の音声応答ウェブシステムは、端末装置よりアクセスされる音声応答ウェブシステムであって、ウェブアプリケーションの実行を管理するウェブサーバと、音声アプリケーションの実行を管理する音声サーバとを備え、ウェブサーバ上で動作するプログラムの状態を音声サーバに通知する第１の制御手段と、音声サーバ上で動作するプログラムの状態をウェブサーバに通知する第２の制御手段と、を有する。
【００１５】
本発明では、端末装置において音声認識による入力の要求あるいは音声出力要求の操作が行われたときに、ウェブデータ入力により取得される識別情報に基づいて、起動手段が音声アプリケーションを起動するようにすることができる。識別情報としては、例えば、音声認識による入力処理のために起動する音声アプリケーションを指定することを示す属性を設定することができる。そのように識別情報を設定することにより、音声アプリケーションの起動処理を行う起動手段は、ウェブデータ入力により取得される値にその属性を見つけると指定されている音声アプリケーションを実行する。アプリケーションの作成者は、音声アプリケーションの識別子にその属性を付加することで、音声認識による入力の要求が行われた時に実行する音声アプリケーションを指定することができる。
【００１６】
また本発明では、第１の制御手段は、インターネットなどのネットワークを介して、ウェブサーバとは異なる第１のアプリケーションサーバに保持されたウェブアプリケーションを起動し、起動手段は、音声サーバとは異なる第２のアプリケーションサーバに保持された音声アプリケーションを起動するようにしてもよい。このように構成すれば、起動すべきアプリケーションやファイルをアプリケーション作成者が任意に指定できるようになる。例えば、アプリケーションを起動するための識別情報（例えば識別子）として絶対アドレス指定のＵＲＬ(Uniform Resource Locater)を記述し、音声応答ウェブシステムのプログラムを絶対アドレス指定で呼び出すことで、起動する音声アプリケーションおよびウェブアプリケーションは、音声応答ウェブシステムと同じホストに置く必要がなくなり、任意のホストに置くことが可能である。また、それらアプリケーション呼び出しを指定する初期ページもＨＴＭＬ(hypertext markup language)、ＸＭＬ、ＸＨＴＭＬ(extended HTML)のようなウェブアクセス可能な言語で記述すれば、任意のホストに置くことが可能となり、インターネットを介して分散して実行することが可能になる。
【００１７】
本発明の入出力制御方法では、ウェブページに記述する識別情報として、例えば、そのウェブページから起動されるウェブアプリケーション（音声応答ウェブシステムの起動制御モジュールを介して起動される既存のウェブアプリケーション）を音声対応させることを示す属性と音声対応のための情報（音声操作用タグ）を書き込んだファイルを指定する識別子とを設定することができる。そのウェブページから起動されるウェブアプリケーションが実行時に出力するウェブデータに対して、識別子によって指定された音声対応のためのファイルから読み込んだデータを動的に埋め込み、その結合された結果を最終的なウェブデータ出力とすることにより、既存のアプリケーションに対して修正を行うことなく音声入出力機能を付加することができる。また、既に音声対応されたウェブアプリケーションに対しては、音声対応のためファイルを指定しないことで、音声対応済みおよび未対応の双方のウェブアプリケーションに対応することができる。
【００１８】
なお、本発明は、端末装置がウェブサーバと音声サーバに同時にアクセスが可能な場合と、端末装置がある一時点ではウェブサーバと音声サーバのいずれか一方のみにアクセス可能な場合とのいずれに対しても適用することが可能である。
【発明の効果】
【００１９】
本発明によれば、ウェブサーバと音声サーバとの連動した動作が可能となり、音声応答ウェブシステムにおける端末装置の使用感が向上する。
【００２０】
さらに本発明によれば、ウェブアプリケーションと音声アプリケーションを連動させる音声応答ウェブシステムが提供される。この音声応答ウェブシステムによれば、アプリケーション作成者は、アプリケーション起動を制御するための識別情報（例えば、識別子と属性）を利用することで、新たに制御のためのプログラム開発を行うことなく、音声と画面の同時出力、および、音声認識と音声出力の制御を行うマルチモーダル・アプリケーションを開発することができ、より自由度の高いマルチモーダル・アプリケーション開発が可能となる。アプリケーション作成者がアプリケーションを起動するための識別情報（例えば、識別子としてのファイル名）を絶対アドレス指定のＵＲＬで記述し、かつ音声応答ウェブシステムのプログラムを絶対アドレス指定で呼び出すことで、起動すべき音声アプリケーションおよびウェブアプリケーションを任意のホストに置くことが可能であり、これらのアプリケーションを音声応答ウェブシステムの本体ホスト（本体サーバ）から分散して実行できるようにすることが可能である。以下に説明する例では、ＨＴＭＬデータを利用した場合を示したが、アプリケーションや識別子などを記述する言語として、他のスクリプト言語やマークアップ言語を使用することが可能であり、例えば、ＸＭＬデータ、ＸＨＴＭＬデータの場合のいずれにも適応することが可能である。さらには、現在、ＸＭＬの音声データへの拡張として策定が進んでいるＶｏｉｃｅＸＭＬデータを使用することも可能である。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。
【００２２】
図１は、本発明の実施の一形態の音声応答ウェブシステムの構成を示すブロック図である。音声応答ウェブシステム１は、端末装置２からインターネットなどのネットワーク３を介してアクセスされるものであって、ウェブサーバ４と音声サーバ５とを備えている。ウェブサーバ４及び音声サーバ５は相互に連携して動作する。ウェブサーバ４と音声サーバ５とは、ハードウェア的には一体のものであってもよいし、ネットワークで相互に密接に結合した別体のものであってもよい。端末装置２は、本発明においては、音声伝達機能及び画面表示機能の少なくとも一方を備えていればよいが、この実施の形態では、音声伝達機能と画面表示機能の両方を備えているものとする。そのような端末装置２としては、キーボードあるいはキーパッドと、表示画面と、音声入力用のマイクロホンと、音声出力用のスピーカーとを備えた、例えば、ブラウザホンあるいはスマートホンと呼ばれ、インターネット接続と音声通話を同時に可能な携帯電話機が好ましく使用できる。
【００２３】
ウェブサーバ４は、ウェブアプリケーションを実行するアプリケーション実行部１１と、属性判定を行うとともにウェブアプリケーションの起動を制御する制御部１２と、を備えている。音声サーバ５は、音声アプリケーションを実行するアプリケーション実行部１３と、音声アプリケーションを起動する起動部１４と、音声認識結果の送信や音声出力の制御を行う制御部１５と、を備えている。制御部１２、１５及び起動部１４は、実際にはウェブサーバ４あるいは音声サーバ５上で実行されるソフトウェアによって実現されるものであるので、以下の説明では、ウェブサーバ４内の制御部１２のことは属性判定・ウェブアプリケーション起動制御モジュールと呼び、音声サーバ内の起動部１４及び制御部１５のことをそれぞれ音声アプリケーション起動モジュール及び認識結果送信・音声出力制御モジュールと呼ぶことにする。
【００２４】
まず、この音声応答ウェブシステムにおける動作について、ウェブサーバ４と音声サーバ５の間で状態通知の処理とそのタイミングを中心にして説明する。図２は、音声出力が終了してから音声認識の開始の操作を行う場合の処理を示しており、図３は、音声出力中に音声認識の開始の操作があった場合の処理を示している。なお、これらの図は、水平方向に左から右に向かって時間が経過するものとして、各サーバ間でのデータ等の流れを時系列に示している。
【００２５】
図２に示すように、端末装置２から音声応答ウェブシステムに対してアクセスするための最初の処理において、端末装置２のユーザの操作により音声応答要求アクセスが発行されると、端末装置２から音声サーバ５に音声応答要求アクセス１０４が送られ、この音声応答要求アクセス１０４は、音声サーバ上で動作するプログラム１０３に通知される。これを受けて、音声サーバ上で動作するプログラム１０３は、ウェブサーバ４上で動作するプログラム１０２に、音声合成状態通知１０６を送り、端末装置２には音声出力１０５を送る。音声出力１０５の終了後、音声サーバ上で動作するプログラム１０３は、音声認識開始待ち状態通知１０７をウェブサーバ４上で動作するプログラム１０２に送る。音声合成状態通知１０６は、音声サーバ５が音声合成処理を行う状態になっていることを示すものであり、音声認識開始待ち状態通知１０７は、音声サーバ５が音声認識の開始を待機する状態になっていることを示すものである。
【００２６】
端末装置２でのユーザの操作により、端末装置２から音声認識要求ウェブアクセス１０８がウェブサーバ４に送られると、この音声認識要求ウェブアクセス１０８はウェブサーバ上で動作するプログラム１０２に通知され、ウェブサーバ上で動作するプログラム１０２は、音声サーバ上で動作するプログラム１０３に対し、音声認識開始通知１０９及び音声認識結果待ち状態通知１１０を送る。音声認識開始通知１０９は、音声認識を開始すべきことを通知するものであり、音声認識結果待ち状態通知１１０は、ウェブサーバ４が音声認識結果を待っている状態にあることを通知するものである。
【００２７】
ここでは、音声出力が終了したのちに音声認識要求ウェブアクセスが行われたとしているので、音声サーバ上で動作するプログラム１０３は、その音声認識要求ウェブアクセスが行われる前に、ウェブサーバ上で動作するプログラム１０２に対して音声認識開始待ち状態通知１０７を送っており、この時点で音声サーバ上で動作するプログラム１０３は待ち状態にあるため、直ちに音声認識処理を開始する。
【００２８】
その後、音声サーバ上で動作するプログラム１０３によって音声認識処理が実行され、音声認識処理が完了すると、音声サーバ上で動作するプログラム１０３は、ウェブサーバ上で動作するプログラム１０２に対し、音声認識処理が完了した状態にあることを示す音声認識完了状態通知１１１を送る。この音声認識完了状態通知１１１を受けて、ウェブサーバ上で動作するプログラム１０２は、端末装置２に対し、音声認識ウェブ表示１１２を送る。音声認識ウェブ表示１１２は、音声認識結果に対応した表示となる。
【００２９】
一方、音声出力が終了していない時点で音声認識要求ウェブアクセスが行われた場合は、図３に示すように、音声認識要求ウェブアクセス１０８が発行された時点では、音声サーバ上で動作するプログラム１０３は、音声認識開始待ち状態通知１０７をまだ出していない。そして音声サーバ上で動作するプログラム１０３は、ウェブサーバ上で動作するプログラム１０２から音声認識開始通知１０９と音声認識結果待ち状態通知１１０とを通知されるものの、音声合成処理中であるので音声認識処理を開始しない。音声合成処理が終了した時点で音声認識開始通知１０９を見つけると、音声サーバ上で動作するプログラム１０３は、ウェブサーバ上で動作するプログラム１０２の状態が音声認識結果待ち状態であるので、音声認識処理を開始する。その後は、図２に示した場合と同様に、音声認識完了状態１１１が、ウェブサーバ上で動作するアプリケーションに送られる。ただし、音声サーバ５として、音声出力中の処理を取り消し可能な音声合成システムを使用している場合には、音声サーバ上で動作するプログラム１０３は、その音声出力中に音声認識開始通知１０９を受けた場合、その時点で音声出力を取り消し、直ちに音声認識処理を開始してもよい。
【００３０】
図２に示す例、図３に示す例のいずれにおいても、ウェブサーバ上で動作するプログラム１０２は、音声認識ウェブアクセス８が通知されて以降は、音声サーバ上で動作するプログラム１０３の状態を参照している。そして、音声認識完了状態になった時、ウェブサーバ上で動作するプログラム１０２は、端末装置２に対し、音声認識ウェブ表示１１２を送る。その結果、端末装置２の画面には、音声認識ウェブ表示１１２に基づき、音声認識結果に対応した表示となる。
【００３１】
ウェブサーバ上で動作するプログラム１０２は、端末装置１０２の画面上への音声認識ウェブ表示と同時に音声出力を行うアプリケーションを実行する場合がある。この場合は、ウェブサーバ上で動作するプログラム１０２は、端末装置２に対して音声認識ウェブ表示１１２を送ると同時に、音声サーバ上で動作するプログラム１０３に対し、音声合成の開始を通知する音声合成開始通知１１３を送る。音声合成開始通知１１３を受け取ると音声サーバ上で動作するプログラム１０３は、音声合成処理を開始して、端末装置２に対して音声出力１１４を実行する。ここでの音声出力１１４は、先に述べた音声出力１０５と同様のものであり、この音声合成処理の開始に伴って、上述の音声出力１０５以降の処理が同様に繰り返される。
【００３２】
次に、図１に示した音声応答ウェブシステムにおける音声アプリケーションおよびウェブアプリケーションの起動制御について説明する。本実施形態では、識別情報として識別子・属性を用いてアプリケーションの起動制御を行っている。図４は、図２に示した処理の流れにおける音声認識要求ウェブアクセスから音声認識ウェブ表示までの部分をさらに詳しく示したものであり、基本処理を行う場合の処理の流れを示している。また、図５は、アプリケーションの起動を制御するために利用される属性と識別子の記述例を示している。図５では、ＨＴＭＬにおけるタグとして、属性と識別子とが記述されている。図６は、この音声応答ウェブシステムにおける処理を示すフローチャートである。この音声応答ウェブシステムでは、以下の説明から明らかなように、音声入力に基づいて音声及び画面の同時出力を行ったり、ウェブデータ入力から音声出力のみを行ったり、ウェブデータ入力から音声及び画面の同時出力を行ったりするが、図６では、これらの全ての処理に対応できるものとして、フローチャートが描かれている。これらのいずれの場合であるかの判断は、ステップＳ６、Ｓ１２、Ｓ１４あたりで行われている。当然のことながら、どの場合に該当するかを判断するステップＳ６、Ｓ１２、Ｓ１４をどのような順番で行うかは、適宜に変更しうるものである。
【００３３】
以下の説明においてモジュールとは、ここで示す音声応答ウェブシステムを実現するシステム開発者が作成したプログラムのことであって、音声アプリケーションやウェブアプリケーションの起動制御などの機能によって、モジュール化されているもののことである。通常、モジュールは、アプリケーション開発者がそれを変更することはできず、実行することのみが許されている。それに対し音声アプリケーションとウェブアプリケーションは、主としてアプリケーション開発者によって作成されるものである。音声出力用データも、同様に、主としてアプリケーション開発者によって作成される。
【００３４】
ここで、音声アプリケーションとは、音声処理用のブラウザで実行可能な言語で記述されたＸＭＬベースのテキストファイル、またはＸＭＬベースのテキストファイルを出力するプログラムのことである。ウェブアプリケーションとは、例えばウェブブラウザで表示することができるデータが記述されるＨＴＭＬテキストファイルやＸＭＬベースのテキストファイル、またはＨＴＭＬテキストやＸＭＬベースのテキストを出力するプログラムのことである。音声アプリケーションおよびウェブアプリケーションは、音声応答ウェブシステムと同じローカルホスト上にあってもよいし、別のホスト上にあっても構わない。なお、ここでの説明では、音声アプリケーション自体が音声認識、音声合成を行うようにみえるが、実際には音声アプリケーションが制御モジュールによって起動された後、音声認識エンジンや音声合成エンジンによって音声認識、音声合成が行われる。
【００３５】
《基本処理》
基本処理の一例を説明する。図４に示すように、端末装置２において、その端末装置２の画面上に表示されている音声対応されたウェブページ上でのボタンやリンクのクリックなど、ユーザの操作により音声認識要求ウェブアクセス２０８が発生すると、ウェブアプリケーション２０５は、この音声認識要求ウェブアクセス２０８を受け付け、識別子・属性通知２０９を属性判定・ウェブアプリケーション起動制御モジュール２０４（以下、単に「起動制御モジュール２０４」という）に送信する。図１との関係で説明すれば、ウェブアプリケーション２０５はアプリケーション実行部１１で実行され、起動制御モジュール２０４の機能は制御部１２によって実現される。起動制御モジュール２０４は、音声サーバ５が音声認識開始待ち状態にあるとして、音声アプリケーション起動モジュール２０１（以下、単に「起動モジュール２０１」という）に対して、音声認識開始通知、識別子・属性通知１０を送り、音声アプリケーション２０２の起動の指示を行う。起動モジュール２０１の機能は音声サーバ５の起動部１４によって実現され、音声アプリケーション２０２は音声サーバ５のアプリケーション実行部１３上において実行される。
【００３６】
起動モジュール２０１は、起動制御モジュール２０４からの指示と識別子・属性通知２１０の内容にしたがって、音声認識を行う音声アプリケーション２０２を起動する。この時、識別子・属性通知１０において特段の指定がない場合は、デフォルトの、言い換えれば予め定められている音声アプリケーションが起動される。
【００３７】
音声アプリケーション２０２の実行後、音声認識結果が発生した場合は、その認識結果の値が音声アプリケーション２０３から認識結果送信・音声出力制御モジュール２０３（以下、単に「制御モジュール２０３」という）に送信される。図２において示したように、起動制御モジュール２０４は制御モジュール２０３の状態を参照しており、制御モジュール２０３が音声認識完了状態通知１１を起動制御モジュール２０４に送ると、起動制御モジュール２０４が音声認識の結果を受け取り、その内容に応じて直ちにウェブアプリケーション起動２１２を行い、ウェブアプリケーション２０６が起動される。この結果、ウェブアプリケーション２０６から音声認識ウェブ表示２１３が出力され、端末装置２の画面上に、音声認識の結果が、音声認識ウェブ表示として表示される。このとき、音声認識結果の値には、ローカルホスト上のファイル名、またはインターネット上のウェブアプリケーションを指定するＵＲＬ、またはローカルホスト上のファイル名、またはウェブアプリケーションへのパラメータ（クェリデータ）のような、ウェブアプリケーションを起動するために必要な情報を決定することができる識別子が含まれている。すなわち、識別子はウェブアプリケーションのファイル名そのものであってもよいし、あるいは、識別子をもとにデータベース、テキストファイルを含むデータ保持装置からウェブアプリケーションの起動に必要なＵＲＬやファイル名を参照するようにしてもよい。また、識別子は、起動するウェブアプリケーションを特定できる限り、複数のキーワードあるいはパラメータをもとに構成されていてもよい。
【００３８】
起動制御モジュール２０４は、これらの識別子によって特定されるウェブアプリケーション２０６を起動し、ウェブサーバ４の制御はウェブアプリケーション２０６に移る。一般にはウェブアプリケーション２０５とウェブアプリケーション２０６とは異なる場合が多いが、同じアプリケーションである場合もある。
【００３９】
音声サーバ５の制御権は、制御モジュール２０３がウェブサーバ４の起動制御モジュール２０４との通信を終えると、起動モジュール２０１に移る。そして、起動モジュール２０１は、図２の音声認識開始待ち状態通知１０７を起動制御モジュール２０４に送り、次の音声処理要求に備えて起動制御モジュール２０４からの通知を待ち受ける状態になる。
【００４０】
以上の処理の結果、ウェブアプリケーション２０６が起動され、画面出力が行われると、ユーザは、端末装置２の画面に表示されたウェブページに対して操作を行う。ここで音声処理要求の操作が行われると、今度は、ウェブアプリケーション２０６が上述したウェブアプリケーション２０５となって、図４に示した基本処理の動作が繰り返される。
【００４１】
ウェブアプリケーション２０５が起動制御モジュール２０４へ送信する識別子・属性通知２０９には、音声アプリケーションやウェブアプリケーションを起動するための識別子や、識別子に付加する値からなるパラメータが含まれていてもよい。このパラメータの利用の仕方には、後述するようにいくつかの形態がある。その利用形態を区別するために、本実施形態においては、識別子に属性を持たせてもよい。属性情報を持った識別子または識別子に付加された値は、ウェブサーバ４の起動制御モジュール２０４や音声サーバ５の起動モジュール２０１において属性に応じた処理を行うために利用される。属性情報は、ウェブページに直接記述される値であってもよいし、ファイルやデータベースのようなデータ保持装置から値を参照するための識別子であってもよい。
【００４２】
《属性の利用》
次に、属性の利用の仕方について説明する。
【００４３】
音声認識結果の値が例えばＵＲＬのような文字数が多い値であると、上述の《基本処理》で示したように音声認識結果の１つ１つにその文字列すべてを記述するのは、アプリケーション作成者にとって煩雑である。そこで、アプリケーション作成者が音声認識結果の文字列を簡潔に記述するための手段を説明する。
【００４４】
上述した属性の１つとして、取得された値に対して「音声認識結果の値の前に付加する値」であることを示す属性を設定する。図６に示したフローチャートを用いて、このように属性が設定された場合の処理を説明する。
【００４５】
まず、ユーザが音声認識要求操作を行うと、ウェブページからパラメータが取得され、そのパラメータが起動制御モジュール２０４へ送信される（ステップＳ１）。そして、ステップＳ２において、音声認識結果に付加する値があるかどうかを判断し、そのような値があるときは、ステップＳ３において、認識結果付加用データとして保持する。ステップＳ４〜Ｓ９までの処理については、ここでは関係ないから後述するとして、その後、音声入力が行われると、ステップＳ１０において、音声認識結果が取得されて、音声認識結果が起動制御モジュール２０４へ送られる。そして、ステップＳ１１において、音声認識結果と認識結果付加用データの両者の値が結合されて、ステップＳ１６において、ウェブアプリケーション２０５を起動させるために利用される。
【００４６】
図５の(1)は、属性と値の記述の一例を示している。ここで「page1.html」は、音声認識アプリケーション２０２から送られてくる音声認識結果である。ＩＮＰＵＴタグ（「<INPUT」で始まるタグ）は、ウェブアプリケーション２０５において記述されるものであり、ＩＮＰＵＴタグのＮａｍｅの属性値がＶａｌｕｅの属性値で指定される値の属性を示すものとして利用されている。ＩＮＰＵＴタグの代わりにＨＴＴＰ(hypertext transfer protocol)リクエストでクエリ文字列パラメータとして渡してもよい。この例では、ＩＮＰＵＴタグ中の「add」は、音声認識結果の前に「value=」以下に記述される値を付加するということを示す属性である。「http://aaaaa.co.jp/app1/」が実際に「page1.html」に付加される値である。起動制御モジュール２０４は、これらの値を結合してウェブアプリケーションを起動する。
【００４７】
次に、属性の利用の別の例について説明する。音声認識結果に記述する内容を、起動させるウェブアプリケーションを特定する識別子として利用するのではなく、起動させたいウェブアプリケーションへのパラメータとして利用する手順について説明する。
【００４８】
上述の《基本処理》で示した属性の１つとして、『「パラメータを要求するウェブアプリケーションを指定する識別子」であることを示す属性』を設定する。図５の(2)は、認識結果をパラメータとして扱う場合の記述の一例である。この場合の属性は、音声認識結果の前に値を付加すればよいため、上述した場合と同様に、ＩＮＰＵＴタグ中の「add」を利用することができる。アプリケーション開発者は、パラメータを要求するウェブアプリケーションを「http://aaaaa.co.jp/app2/servlet/stock?」のように記述し、音声認識結果として記述する値には、「code=9999」のように、上記のウェブアプリケーションに渡すパラメータを記述しておく。
【００４９】
図６に示したフローチャートにおいて、起動制御モジュール２０４は、ステップＳ２において「add」の属性を見つけると、ステップＳ３において「http://cywiz.co.jp/app2/servlet/stock?」を認識結果付加用データとして保持し、ステップＳ１１において、この値と音声認識結果の値として送られるパラメータ「code=9999」とを結合して、アプリケーションを起動する。
【００５０】
《既存アプリケーションへの音声対応》
本発明の特徴の一つとして、既存の一般的なアプリケーションをそのまま音声対応のものとすることができることが挙げられる。ここで、既存の一般的なアプリケーションについて、その修正を行わなくとも音声対応させる方法について説明する。ただし、既存のアプリケーションを呼び出すための最初のページだけは、新規に作成されるページである必要がある。このページには、上述の《属性の利用》で説明したようにＵＲＬを指定しておき、既存のアプリケーションを呼び出すようにしておく。加えて、音声対応させるために既存アプリケーションに追加する必要のあるデータを用意しておき、そのデータ（が記述されているファイル）の識別子を、「音声対応させるために出力データに付加させるデータの識別子」であることを示す属性とともに、記述しておく。
【００５１】
図６のフローチャートにおいて、起動制御モジュール２０４は、ステップＳ２またはＳ３の実行後、ステップＳ４において、パラメータの値を受け取った時に、取り込みファイル、すなわち既存アプリケーションに追加する必要のあるデータが記述されているファイルがあるかどうかを判定し、そのようなファイルを見つけると、得られた値を「付加させるデータの識別子」として扱う。そして、ステップＳ５において、その識別子を基にファイルを読み込み、既存のアプリケーションの出力に付加するデータとして保持しておく。
【００５２】
付加させるデータの識別子の記述例を図５の(3)に示す。この例では、ＩＮＰＵＴタグ中の「include」は、「value=」以下に記述される値「voice.html」をファイル取り込みのため識別子として扱い、音声対応させることを示す属性である。「voice.html」の内容には、起動成語モジュール２０４を呼び出して音声入力のトリガーとなるボタンやリンクが記述され、さらに、《属性の利用》で示した値や後述する音声出力、音声・画面出力のための値が記述できる。また、音声対応されていないアプリケーションを呼び続ける限り、「include」の指定は必要である。起動制御モジュール２０４は、《属性の利用》で示したように、既存のアプリケーションを呼び出すと、その出力データ（通常はＨＴＭＬデータ）を、ＵＲＬによって接続されたストリームから取り込み、このデータに「voice.html」のデータを結合して出力する（ステップＳ１６）。結合の仕方は、例えば画面データの最後に音声操作用ボタンを表示するのであれば、ＨＴＭＬテキストにおける「</BODY>」の前に埋め込む形になる。また、既存のアプリケーションを予め修正しておくのであれば、「voice.html」の内容に相当するデータを書き込んでおき、ｉｎｃｌｕｄｅの属性は指定しなければ良い。
【００５３】
《音声アプリケーションの指定》
次に、音声アプリケーションの指定について説明する。
【００５４】
アプリケーションの作成者は、ウェブアプリケーション２０５においてユーザから音声認識による入力の要求が行われた時に、デフォルトの音声アプリケーションではなく、アプリケーションの作成者によって指定された音声アプリケーション、例えば表示されているウェブページに対応する音声認識用のグラマーを含む音声アプリケーションを起動したい場合、ウェブアプリケーション２０５にその起動させたい音声アプリケーションの識別子を記述しておく。この識別子は、「音声認識による入力処理のために起動する音声アプリケーションを指定する識別子」であることを示す属性とともに記述される。その一例を図５の(3)に示す。ＩＮＰＵＴタグ中の「vxml」は、「value=」以下に記述される値を次の音声認識による入力処理時に実行する音声アプリケーションの識別子として扱うということを示す属性であり、「query.vxml」が起動させたい音声アプリケーションの識別子である。
【００５５】
図６に示すフローチャートにおいて、ユーザの操作によって音声認識による入力要求が行われた時（ステップＳ６）、起動制御モジュール２０４は、次に実行させる音声アプリケーションの識別子（「query.vxml」）をウェブアプリケーション２０５からパラメータとして受け取ると、次に実行する音声アプリケーションとして指定するという属性（「vxml」）をその受け取った識別子に付加して、その識別子を、起動制御モジュール２０４からのデータの待ち受け状態にある起動モジュール２０１に送る。ステップＳ７において、起動モジュール２０１は、「vxml」の属性があるかどうかを判定し、そのような属性を見つけた場合には、ステップＳ８において、受け取った識別子に基づいて、対応する音声アプリケーション２０２（「query.vxml」）を起動する。もしステップＳ７において「vxml」の属性が見つけられなければ、起動モジュール２０１は、ステップＳ９において、デフォルトの音声アプリケーションを起動する。ステップＳ８、Ｓ９の実行後の処理は、ステップＳ１０以降の処理として先に説明した《基本処理》の場合と同様である。なお、ステップＳ６において音声入力要求かどうかの判定を行った結果、音声入力要求でない場合には、後述するステップＳ１２に移行する。
【００５６】
《音声入力から音声と画面の同時出力》
次に、音声入力に基づいて、音声と画面との同時出力を行う場合の処理について、図７を用いて説明する。
【００５７】
音声と画面の同時出力を行う方法は２つある。１つは、出力したい音声データの識別子をウェブアプリケーション２０５に記述するという、明示的な指定方法である。ウェブアプリケーション２０５から起動制御モジュール２０４に送られる識別子・属性通知２０９には、音声出力用データ２１４の識別子が含まれている。起動制御モジュール２０４は、音声認識完了状態通知２１１を受けた時に、制御モジュール２０３に対し、音声合成開始通知とともに音声出力用識別子通知２１６を送る。制御モジュール２０３は、音声出力用識別子に基づいて音声出力用データ２１４を決定し、音声出力２１７を実行する。ここで、音声出力用データ２１４は、ファイルアクセスまたはデータベースアクセスまたはウェブアクセスによって読み込み可能なデータであり、音声応答ウェブシステムと同じローカルホスト上にあってもよいし、ネットワークによってアクセス可能な別のホスト上にあっても構わない。
【００５８】
音声出力用データ２１４は、例えば、音声サーバ５の音声合成エンジンが実行するためのメッセージファイルや音声出力用のオーディオファイルであり、その場合、制御モジュール２０３は、このデータを取り込んで音声アプリケーションとして実行すればよい。あるいは音声出力用データ２１４は、初めから実行可能な音声出力アプリケーションの形式であってもよい。さらには、音声出力用データ２１４と同様のデータをウェブアプリケーション２０６が動的に生成するようにしてもよい。あるいは、制御モジュール２０３か起動制御モジュール２０４が、音声認識ウェブ表示２１３のデータから動的にデータを抽出して音声出力用データ２１４を作成してもよい。また、音声出力用識別子と音声認識結果の値と結合して音声出力用データ２１４を決定してもよい。音声認識完了状態通知・音声認識結果通知２１１と音声合成開始通知・音声出力用識別子通知２１６は、メッセージ交換の形でほぼ同時に行われるため、図７では音声出力２１７が遅れて実行されるように見えるが、実際には音声認識ウェブ表示２１３と音声出力２１７は同時に実行される。
【００５９】
音声と画面の同時出力を行うもう１つの方法は、音声出力用データ２１４と音声認識結果から起動されるウェブアプリケーション２０５とを対応させる共通の識別子を利用する方法である。アプリケーションの作成者は、音声出力用データ２１４を、音声認識結果から起動されるウェブアプリケーション２０５が持つ識別子と共通の識別子を持つように作成する。上述の《基本処理》と異なる点は、図６のフローチャートに示すように、制御モジュール２０３が起動制御モジュール２０４に音声認識結果を送信する際に、ステップＳ１７において、ウェブアプリケーション２０５と共通の識別子を持つ音声出力用データ２１４あるいは音声出力指定が存在するかどうかを調べ、これらが存在する場合には、ステップＳ１８においてそのデータを読み込み、音声出力を実行することである。これにより、起動制御モジュール２０４によるウェブアプリケーション起動による画面出力（ステップＳ１９）と制御モジュール２０３による音声出力とが同時に行われることになる。なお、図６に示したフローチャートでは、ステップＳ１７へはステップＳ１６の実行後に移行する。また、ステップＳ１７においてそのような音声出力用データ２１４が存在しない場合には、そのまま、ステップＳ１９に移行する。
【００６０】
《音声とウェブデータの同時入力から音声および画面の出力》
次に、音声及びウェブデータが同時に入力され、それに基づいて音声及び画面の出力を行う場合の処理を説明する。
【００６１】
図７に示した音声入力からの音声と画面の同時出力の処理において、ユーザが端末装置２の画面に表示されたウェブページに対して操作した際に、ウェブアプリケーション２０５から起動制御モジュール２０４に送られる識別子・属性通知２０９に、ユーザが入力したウェブデータ、例えばユーザが指し示した地図の位置データやユーザが選択したボタンやクリックポイント、ユーザが入力したテキストデータなどのデータを含めることにより、音声とウェブデータの同時入力から音声と画面の同時出力が可能となる。上述の《基本処理》で示したように音声出力の処理をしなければ、音声とウェブデータの同時入力から画面の出力が可能となる。ウェブデータと音声認識結果の値の両方を利用する処理には、《属性の利用》で示した識別子の値の結合が利用できる。
【００６２】
《ウェブデータ入力から音声のみ出力》
次に、ウェブデータ入力から音声のみを出力する場合の処理を説明する。上述した各例は、音声認識によって音声と画面の同時出力を行うものであったが、音声入力を行わずに、表示されたウェブ画面上の操作によって音声出力や画面出力を行いたい場合もある。図８は、ウェブデータ入力から音声出力のみの制御を行う場合の処理を示している。ここでは、音声認識要求ウェブアクセスの代わりに、音声認識を行わない音声応答要求ウェブアクセス２１８の操作が行われる。ウェブアプリケーション２０５には、上述した《音声アプリケーションの指定》の場合と同様に、実行させたい音声アプリケーション２０７の識別子が記述されている。図５の(4)は、ユーザがリンクをクリックすることによって音声出力を実行させるための識別子の記述の一例を示している。
【００６３】
ウェブアプリケーション２０５において音声出力要求の操作があると、起動制御モジュール２０４は、音声アプリケーション２０７の識別子（この例では「explain.vxml」）をウェブアプリケーション２０５からパラメータとして受け取る。このとき、パラメータには「音声出力用のアプリケーションを指定する識別子」であることを示す属性（この例では「vout」）が付加されている。起動制御モジュール２０４は、図６に示すフローチャートに示すように、ステップＳ１４において「vout」の属性があるかどうかを判断し、この属性を見つけた場合には、《音声アプリケーションの指定》の例で示した「vxml」の属性を付加して、音声アプリケーション７の識別子「explain.vxml」を起動モジュール２０１に送る。起動モジュール２０１は、《音声アプリケーションの指定》の場合と同様に、ステップＳ１５において、音声アプリケーション２０７を起動する。この場合、音声アプリケーション２０７は、《基本処理》で述べた音声入力を要求する音声アプリケーション２０２とは異なり、音声出力のみを行う音声アプリケーションであり、実行後に起動モジュール２０１に制御を渡すように記述されている。また、起動制御モジュール２０４は、「vout」の属性を見つけると音声認識結果の取得は行わず、現在の画面データの更新を行わないか、あるいはウェブ画面上の操作のために更新が必要な端末の場合には、その操作が行われたアプリケーションと同じウェブアプリケーション２０５を表示する。
【００６４】
《ウェブデータ入力から音声と画面の同時出力》
次に、ウェブデータ入力から音声と画面との同時出力を行う場合の処理について、図９を用いて説明する。
【００６５】
ウェブデータ入力により音声出力と同時に画面出力を行うためには、次のような処理を実行する。ウェブアプリケーション２０５においてユーザ操作があると、ウェブアプリケーション２０５は、音声アプリケーション２０２から音声認識の結果として送られるデータと同じものを起動制御モジュール２０４に対してパラメータとして送る。図５の(5)は、ユーザがリンクをクリックすることによって音声と画面の同時出力を実行させるための、ウェブページ上の識別子の記述の一例を示している。図の「kinou.html」は、音声認識の結果に相当する値である。「vdout」は取得された値が「音声認識の結果に相当する値」であることを示す属性である。
【００６６】
図６のフローチャートに示すように、起動制御モジュール２０４は、例えば「kinou.html」の値を取得した時に、ステップＳ１２において、「vdout」の属性があるかどうかを判断する。そして「vdout」の属性を見つけると、その値を、起動制御モジュール２０４からのデータの待ち受け状態にある起動モジュール２０１へと送る。起動モジュール２０１は、「vdout」の属性が見つかった場合には、ステップＳ１３において、音声アプリケーション２０２の起動は行わずに、制御モジュール２０３に対し、直接、認識結果の値として「kinou.html」を送る（図９の矢印Ｂ）。その値を受け取った制御モジュール２０３は、上述の《音声入力から音声と画面の同時出力》の動作と同様の処理を行い、すなわちステップＳ１１に移行し、その結果、音声出力と画面出力が行われる。よって、音声認識完了状態通知・音声認識結果通知２１１においても、実際には音声認識の処理は行わなくても音声認識が行われた場合と同様のデータが送られる。なお、ステップＳ１２において「vdout」の属性が見つからなかった場合には、前述したステップＳ１４に移行し、その場合、ステップＳ１４において「vout」の属性が見つからなかった場合には、今まで述べた「音声入力に基づいて音声及び画面の同時出力」や「ウェブデータ入力から音声のみ出力」、「ウェブデータ入力から音声及び画面の同時出力」のいずれにも該当しない場合であるから、図６に示すように、ステップＳ２０において、エラー処理またはその他の処理を実行するようにする。
【００６７】
以上の構成により、アプリケーションの作成者は、ウェブ画面に対するユーザの操作から画面と音声の同時出力を実現するアプリケーションを作成する場合、音声アプリケーション２０２から音声認識の結果として送られる値をウェブアプリケーション２０５に記述しておくか、またはウェブアプリケーション２０５からパラメータとして送信するようにプログラムしておけばよい。
【００６８】
《文脈処理》
本発明によれば、文脈やユーザとの対話履歴を考慮した処理も行うことができる。このような処理を文脈処理と呼ぶことにする。以下、文脈処理について説明する。
【００６９】
音声アプリケーション２０２の実行結果から得られる情報は、「あるトピックを決定する情報」、または「あるトピックに属する情報」、または「対話を制御する命令」に分けられる。音声認識結果がこれらのどれに分けられるかは、音声入力結果に含まれる識別子によって判断され、その結果、「あるトピックを決定する情報」は、起動制御モジュール２０４において保持される。ここでトピックとは、例えば、ある商品や個人の名称、個体の名称などである。トピックについての情報とは、それらの個体に関する属性情報であり、例えば、性質、性能、価格、特徴などである。
【００７０】
上記の構成によれば、起動制御モジュール２０４において、「あるトピックを決定する情報」が保持されており、トピックに属する情報が入力されつづける限り、トピックとして保持される情報は変化しない。起動制御モジュール２０４にトピックに属する情報が送られてきた場合、その情報と現在のトピックとを結合することで、ウェブアプリケーションを起動するための識別子として扱う。この識別子の利用の仕方は、上述の《基本処理》で述べたものと同様である。例えば、現在保持されているトピックが「車」であって、ユーザがそのトピックについての対話している際に、個体の名称を省略して「特徴は？」というような発話が行われると、起動制御モジュール２０４は、「車」と「特徴」というキーワードをウェブアプリケーション起動の識別子として利用し、ウェブアプリケーション２０５を起動する。また、ウェブアプリケーション起動だけでなく、《音声入力から音声と画面の同時出力》で示したように、ウェブアプリケーション起動とともに音声の同時出力を行うこともできる。また、文脈に依存した対話を行うためには、対応するグラマーも切り替えていく必要があるが、《音声アプリケーションの指定》で示した手法により実現可能である。
【００７１】
また、上記の構成によれば、あるトピックに関する対話ではなくその対話の制御を行うために、起動制御モジュール２０４において、現在のトピックだけでなく入力のあったトピックを履歴として保持しておくことができる。そのようにすると、ユーザが対話を制御する命令を発話したときに、例えば「前のトピックに戻る」、「今対話していた話題に戻る」という音声認識結果が送られてきたときに、履歴に基づいて、対応するトピック情報を検索しウェブアプリケーションを起動することができる。また、複数のトピックが保持されている履歴情報の値と新しく入力された音声認識結果とを組み合わせることにより、より複雑な文脈の処理も実現可能である。
【００７２】
《分散実行》
以上の説明から明らかなように、本実施形態の音声応答ウェブシステムでは、アプリケーション作成者が作成するウェブアプリケーションおよび音声アプリケーションは、音声応答ウェブシステム開発者が作成した起動制御モジュールなどの各モジュールと分離することが可能である。さらに、これらのアプリケーションと各モジュール間の参照を絶対アドレス指定のＵＲＬで行うことにより、ウェブアプリケーションや音声アプリケーションは、インターネット上の任意のホストに置かれていても、実行が可能である。図１０は、ウェブアプリケーションや音声アプリケーションを音声応答ウェブシステムの本体から独立したサーバに格納した構成を示している。ここでは、ウェブアプリケーションを保持して実行するアプリケーションサーバ６と、音声アプリケーションを保持するアプリケーションサーバ７とが、それぞれ、ネットワーク３に接続している。これらのアプリケーションサーバ６，７には、それぞれ、ウェブアプリケーション及び音声アプリケーションを実行するためのアプリケーション実行部１６，１７が設けられている。ネットワーク３がインターネットであるとすると、各サーバ４〜７上のリソースやＵＲＬによって特定することができるから、ウェブサーバ４や音声サーバ５から、各アプリケーションサーバ６、７に保持されているアプリケーションを起動し実行させることが可能となる。
【００７３】
以上、本発明の好ましい実施形態について説明したが、本発明は上述したものに限られるものではない。端末装置２について言えば、上述の説明では音声入出力機能とウェブ表示機能とを備えたものとしているが、本発明の適用にあたっては、必ずしもこれらの機能を１つの端末装置が備えている必要はない。本発明では、サーバ間の連携により音声アプリケーションおよびウェブアプリケーションの起動制御を実現しており、端末装置に特別なプログラムやプラグインを実装する必要はない。そのため、任意のウェブ表示機能を備えた端末と任意の音声入力機能を備えた端末とを組み合わせることも可能である。例えば、音声入力機能を備えた端末として、固定電話、または携帯電話（ウェブ表示機能は必要としない）、またはＩＰ(Internet protocol)電話、またはソフトフォンを用い、ウェブ表示機能を備えた端末として、パーソナルコンピュータ、またはＰＤＡ、またはウェブ表示機能を備えた携帯電話、またはウェブ表示機能を備えた固定電話、またはウェブ表示機能を備えたＰＤＰ（プラズマディスプレイパネル）やＬＣＤ（液晶表示装置）などの表示装置、またはウェブ表示機能を備えたキオスク端末を用いることができる。また、ウェブサーバにアクセス可能で、かつ音声入出力データまたは音声の特徴抽出データをＩＰで通信可能な携帯電話においても適用することが可能である。
【００７４】
また、本発明においては、端末装置からの音声認識の要求は、必ずしも、ウェブアクセスを介して音声応答ウェブシステムに伝達される必要はない。
【００７５】
なお、以上説明した本発明の音声応答ウェブシステムは、典型的には、サーバ用のコンピュータ上で実行されるソフトウェアプログラムによって実現することができる。そのようなプログラムは、一般には、磁気テープやＣＤ−ＲＯＭなどの記録媒体によって、あるいは、インターネットなどのネットワークを介して、コンピュータに読み込まれる。そのコンピュータは、読み込んだプログラムを実行することによって、上述した音声応答ウェブシステムとして機能することになる。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の一形態の音声応答ウェブシステムの構成を示すブロック図である。
【図２】音声出力が終了してから音声認識の開始の操作があった場合における、音声サーバとウェブサーバとの間で行われる状態通知の処理とそのタイミングを示す図である。
【図３】音声出力中に音声認識の開始の操作があった場合における、音声サーバとウェブサーバとの間で行われる状態通知の処理とそのタイミングを示す図である。
【図４】識別子・属性を用いて音声アプリケーションおよびウェブアプリケーションの起動制御を行う処理とそのタイミングを示す図である
【図５】アプリケーションの起動を制御するために利用される属性と識別子の記述例を示す図である。
【図６】音声応答ウェブシステムでの処理の流れの詳細を示すフローチャートである。
【図７】音声入力から音声と画面の同時出力を行う場合の処理とそのタイミングを示す図である。
【図８】ウェブデータ入力から音声出力のみを行う場合の処理とそのタイミングを示す図である。
【図９】ウェブデータ入力から音声と画面の同時出力を行う場合の処理とそのタイミングを示す図である。
【図１０】音声アプリケーション、ウェブアプリケーションを別のサーバ上に配置した場合の音声応答ウェブシステムの構成を示すブロック図である。
【符号の説明】
【００７７】
１    音声応答ウェブシステム
２    端末装置
３    ネットワーク
４    ウェブサーバ
５    音声サーバ
６、７    アプリケーションサーバ
１１、１３、１６、１７    アプリケーション実行部
１２、１５    制御部
１４    起動部
【図１】
2004246865.tif 000003
【図２】
2004246865.tif 000004
【図３】
2004246865.tif 000005
【図４】
2004246865.tif 000006
【図５】
2004246865.tif 000007
【図６】
2004246865.tif 000008
【図７】
2004246865.tif 000009
【図８】
2004246865.tif 000010
【図９】
2004246865.tif 000011
【図１０】
2004246865.tif 000012