(57)【要約】本発明は、変数を含むメッセージを音声ファイルで再生する場合にアプリケーションの負荷を軽減できるよう改善された自動音声応答システムの提供を目的とする。  アプリケーション・サーバ及び音声サーバからなる音声応答システムであって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記音声サーバは、前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成する音声ファイル処理手段と、前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割する音声認識手段と、前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換える音声処理手段とを有する音声応答システムを提供する。
2004109658.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション・サーバ及び音声サーバからなる音声応答システムであって、
前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、
前記音声サーバは、
前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成する音声ファイル処理手段と、
前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割する音声認識手段と、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換える音声処理手段と
を有する音声応答システム。
【請求項２】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項１記載の音声応答システム。
【請求項３】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、請求項２記載の音声応答システム。
【請求項４】
前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記音声ファイル処理手段は前記ファイル名に基づいて前記第１の音声ファイルを抽出するものである、請求項１記載の音声応答システム。
【請求項５】
前記音声情報には、代替テキストが含まれ、前記音声ファイル処理手段は前記代替テキストに基づいてグラマーを生成するものである、請求項１記載の音声応答システム。
【請求項６】
前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、請求項１記載の音声応答システム。
【請求項７】
さらに、音声を出力する音声出力手段を有する請求項１記載の音声応答システム。
【請求項８】
アプリケーション・サーバ及び音声サーバからなる音声応答システムにおける音声応答方法であって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記音声応答方法は、
前記音声サーバが、
前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成するステップと、
前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割するステップと、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換えるステップと
からなる音声応答方法。
【請求項９】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項８記載の音声応答方法。
【請求項１０】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音されたものである、請求項９記載の音声応答方法。
【請求項１１】
前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記第１の音声ファイルを前記ファイル名に基づいて抽出する、請求項８記載の音声応答方法。
【請求項１２】
前記音声情報には、代替テキストが含まれ、前記グラマーを前記代替テキストに基づいて生成する、請求項８記載の音声応答方法。
【請求項１３】
前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、請求項８記載の音声応答方法。
【請求項１４】
アプリケーション・サーバ及び音声サーバからなる音声応答システムにおける音声応答を実行するためのプログラムであって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記プログラムは、前記音声サーバを
前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成し、
前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割し、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換える
ように動作させるものであるプログラム。
【請求項１５】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項１４記載のプログラム。
【請求項１６】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、請求項１５記載のプログラム。
【請求項１７】
前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記第１の音声ファイルを前記ファイル名に基づいてを抽出する、請求項１４記載のプログラム。
【請求項１８】
前記音声情報には、代替テキストが含まれ、前記グラマーを前記代替テキストに基づいて生成する、請求項１４記載のプログラム。
【請求項１９】
前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、請求項１４記載のプログラム。
【請求項２０】
前記請求項１４ないし請求項１９に記載のプログラムを格納したコンピュータが読み取り可能な記録媒体。
【請求項２１】
自動的に音声処理を行うための音声サーバであって、
代替テキストからグラマーを生成する手段と、
前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割する手段と、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換える手段と
を有する音声サーバ。
【請求項２２】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項２１記載の音声サーバ。
【請求項２３】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、請求項２２記載の音声サーバ。
【請求項２４】
前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、請求項２２記載の音声サーバ。
【請求項２５】
前記グラマーを生成する手段は、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成する請求項２１記載の音声サーバ。
【請求項２６】
前記グラマーを生成する手段は、さらに前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成する請求項２５記載の音声サーバ。
【請求項２７】
音声サーバによって自動的に音声ファイルの処理を行うための方法であって、
前記音声サーバが
代替テキストからグラマーを生成するステップと、
前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割するステップと、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換えるステップと
を有する音声ファイル処理方法。
【請求項２８】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項２７記載の音声ファイル処理方法。
【請求項２９】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音されたものである、請求項２８記載の音声ファイル処理方法。
【請求項３０】
前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、請求項２８記載の音声ファイル処理方法。
【請求項３１】
前記グラマーを生成するステップは、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成する請求項２７記載の音声ファイル処理方法。
【請求項３２】
前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成する請求項３１記載の音声ファイル処理方法。
【請求項３３】
音声サーバによって自動的に音声ファイルの処理を行うためのプログラムであって、前記プログラムは前記音声サーバを
代替テキストからグラマーを生成し、
前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割し、
前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換える
ように動作させるものであるプログラム。
【請求項３４】
前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、請求項３３記載の音声ファイル処理方法。
【請求項３５】
前記第２の音声ファイルは、変数部に入る音声をファイルとして録音されたものである、請求項３４記載のプログラム。
【請求項３６】
前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、請求項３４記載のプログラム。
【請求項３７】
前記グラマーを生成する動作は、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成する請求項３３記載のプログラム。
【請求項３８】
さらに前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成する請求項３７記載のプログラム。
【請求項３９】
前記請求項３３ないし請求項３８に記載のプログラムを格納したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、自動音声応答システムに関し、より具体的には、音声認識を利用した自動合成音声による応答を行うシステムに関するものである。
【背景技術】
【０００２】  従来、音声アプリケーションが、システムのメッセージを自動的に出力をする時には、あらかじめ録音した音声ファイルを用いていた。例えば、標準のスピーチインタフェースを定義するＶｏｉｃｅＸＭＬの場合では、音声ファイル名を、〈ａｕｄｉｏ〉タグで指定することにより、実現されている。例えば、ＶｏｉｃｅＸＭＬを使用したＶｏＩＰベースの音声システムとしては、以下の特許文献１がある。【０００３】
【特許文献１】特開２００２−５７７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】  しかし、そのメッセージに変数が含まれる場合、アプリケーションに負担がかかっていることが問題である。
より具体的に説明すれば、ＶｏｉｃｅＸＭＬアプリケーションの場合を考えた場合、従来の音声サーバ上で、アプリケーションが音声ファイルに変数を挿入しようとした場合、アプリケーションの作業と実装は、あらかじめ、文を変数位置で分割した音声ファイルを用意して、変数から音声ファイル名を決定し、その音声ファイルを再生するＶＸＭＬドキュメントを動的に生成する、という機能を持つサーブレットを開発し、ＶＸＭＬドキュメントでは、変数前後の音声ファイルをふたつの〈ａｕｄｉｏ〉タグで指定し、適切なタイミングでサーブレットをサブ音声情報として呼ぶ、というような実装が一例として考えられる。【０００５】  このようにしてメッセージを音声ファイルで再生する場合、アプリケーションには、以下の点で、負担がかかっており問題となる。
まず、アプリケーションの実装に関して問題がある。すなわち、実行時に変数部の音声ファイルを特定し再生するためのロジックを、アプリケーションが独自に開発しなくてはならくなる。つまり、アプリケーションを複雑かつ大量に開発する必要があり問題となる。さらに、文章の変更に応じて、アプリケーションの変更を必要とすることも問題となる。【０００６】  さらに、録音ファイルの作成作業の手間、品質、管理に関する点にも問題がある。従来の方法では、音声ファイルは、変数前部分、変数部、変数後部分に分割して録音されている必要がある。例えば、商品名を変数部として含む「ご注文の商品は｛お米｝です」という文の場合、「ご注文の商品は」と「お米」と「です」という音声ファイルを作成する必要がある。このようにすると録音者は、文章として不自然に分断されたパーツを話さなくてはならないので、不自然な発声になりやすく、再生結果も自然さ、円滑さを欠くこととなり問題である。【０００７】  また、全文をひと続きで録音して音声ファイルエディターで分割する方法もある。しかし、この場合、音声ファイル編集者は、アプリケーションの設計を正確に把握していなくてはならない。さらに、音声ファイルの分割など複雑な作業を必要とするためにミスを生じやすい。かつ、そのような音声ファイルの編集等の作業が多く必要となるため生じる作業量増大が問題である。また、文をあらかじめ変数位置で分割した状態の音声ファイルを用意するために、音声ファイル数が多くなる。さらに、音声ファイルをスムーズに連結するために、音声ファイルの初めと終わりの無音部は、音声ファイルエディターで切り取り編集する必要がある。このような編集作業は音声ファイルの数に比例して増えるので、音声ファイル数の多くなってくるとその作業はよりいっそう膨大かつ煩雑となる。また、音声ファイル数の多さは、ファイル名の命名やファイルの管理を複雑にする可能性も考えられる。
【課題を解決するための手段】
【０００８】  以上の課題を解決するために、本発明は、システムとして捉えれば、アプリケーション・サーバ及び音声サーバからなる音声応答システムであって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記音声サーバは、前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成する音声ファイル処理手段と、前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割する音声認識手段と、前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換える音声処理手段とを有する音声応答システムを提供する。【０００９】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記音声ファイル処理手段は前記全文音声ファイル名に基づいて前記第１の音声ファイルを抽出するものである、とすることができる。さらに、前記音声情報には、代替テキストが含まれ、前記音声ファイル処理手段は前記代替テキストに基づいてグラマーを生成するものである、とすることができる。さらに、前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、とすることができる。さらに、音声を出力する音声出力手段を有する、とすることができる。【００１０】  また、方法として捉えれば、アプリケーション・サーバ及び音声サーバからなる音声応答システムにおける音声応答方法であって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記音声応答方法は、前記音声サーバが、前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成するステップと、前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割するステップと、前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換えるステップとからなる音声応答方法を提供する。【００１１】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記第１の音声ファイル名に基づいて前記第１の音声ファイルを抽出するものである、とすることができる。さらに、前記音声情報には、代替テキストが含まれ、前記前記代替テキストに基づいてグラマーを生成するものである、とすることができる。さらに、前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、とすることがで���る。【００１２】  また、プログラムとして捉えれば、アプリケーション・サーバ及び音声サーバからなる音声応答システムにおける音声応答を実行するためのプログラムであって、前記アプリケーション・サーバは、第１の音声ファイルと、第２の音声ファイルと、音声情報を有するものであり、前記プログラムは、前記音声サーバを
前記アプリケーション・サーバから前記音声情報と前記第１の音声ファイルを受け取り、前記音声情報に基づいてグラマーを生成し、前記グラマーに基づいて、前記第１の音声ファイルを音声認識し、複数の音声ファイルに分割し、前記分割された音声ファイルの内の少なくとも１の音声ファイルを前記第２の音声ファイルに置き換えるように動作させるものであるプログラムを提供する。【００１３】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記音声情報には、前記第１の音声ファイルのファイル名が含まれ、前記音声ファイル処理手段は前記全文音声ファイル名に基づいて前記第１の音声ファイルを抽出するものである、とすることができる。さらに、前記音声情報には、代替テキストが含まれ、前記音声ファイル処理手段は前記代替テキストに基づいてグラマーを生成するものである、とすることができる。さらに、前記音声情報には、変数についての処理を行う必要があるかどうかを示す変数情報が含まれる、とすることができる。
さらに、本発明は、このようなプログラムを格納したコンピュータが読み取り可能な記録媒体を提供する。【００１４】  また、本発明を音声サーバとして捉えれば、自動的に音声処理を行うための音声サーバであって、代替テキストからグラマーを生成する手段と、前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割する手段と、前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換える手段とを有する音声サーバを提供する。【００１５】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、とすることができる。さらに、前記グラマーを生成する手段は、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成するとすることができる。さらに、前記グラマーを生成する手段は、さらに前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成するとすることができる。【００１６】  また、これを方法として捉えれば、音声サーバによって自動的に音声ファイルの処理を行うための方法であって、前記音声サーバが代替テキストからグラマーを生成するステップと、前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割するステップと、前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換えるステップとを有する音声ファイル処理方法を提供する。【００１７】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、とすることができる。さらに、前記グラマーを生成するステップは、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成するとすることができる。さらに、前記グラマーを生成するステップは、さらに前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成するとすることができる。【００１８】  また、これをプログラムとして捉えれば、音声サーバによって自動的に音声ファイルの処理を行うためのプログラムであって、前記プログラムは前記音声サーバを代替テキストからグラマーを生成し、前記グラマーに基づいて、第１の音声ファイルを音声認識し、複数の音声ファイルに分割し、前記分割された音声ファイルの内の少なくとも１の音声ファイルを第２の音声ファイルに置き換えるように動作させるものであるプログラムを提供する。【００１９】  ここで、前記第１の音声ファイルは、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである、とすることができる。また、前記第２の音声ファイルは、変数部に入る音声をファイルとして録音したものである、とすることができる。さらに、前記第２の音声ファイルは、変数部に入る音声を合成音声により生成したものである、とすることができる。さらに、前記グラマーを生成する動作は、代替テキストを変数部と変数部以外に分割し、変数部を予め定められた単語に置き換えることにより、グラマーを生成するとすることができる。さらに、前記グラマーを生成する動作は、さらに前記単語の置き換えにより生成されたテキストファイルを分割し、音声認識が可能な形式にすることにより、グラマーを生成するとすることができる。
さらに、本発明は、このようなプログラムを格納したコンピュータが読み取り可能な記録媒体を提供する。
【発明を実施するための最良の形態】
【００２０】  まず、図１は本発明を実施するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。【００２１】  図１には、本実施の形態を実現するコンピュータ装置のハードウェア構成を例示する。コンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６及びＵＳＢポート１０７と、さらにこのＰＣＩバスからブリッジ回路１０８及びＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフレキシブルディスクドライブ１０９及びキーボード／マウス１１０とを備える。【００２２】  なお、この図１は本実施の形態を実現する典型的なコンピュータ装置のハードウェア構成をあくまで例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）などのインターフェイスを介してＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）のドライブを設けても良い。また音声再生のためのスピーカ等を備えてもよい。【００２３】  図２は、本発明を機能ブロックを用いて示した図である。音声応答システム２１０は、音声サーバ２２０とアプリケーションサーバ２３０からなる。これら音声サーバ２２０とアプリケーション・サーバ２３０は、図１に示したような１のコンピュータ装置で実現されることもあり、また２以上のコンピュータ装置やコンピュータ装置と記憶装置との組み合わせで実現されることもある。【００２４】  アプリケーション・サーバ２２０には、全文録音音声ファイル２２１、変数録音音声ファイル２２２、２２３、音声情報２２４が含まれる。これらは、アプリケーション・サーバ上で実行されるアプリケーション・プログラムまたはその一部としても捉えられるものである。まず、全文録音音声ファイル２２１は、変数が入ることを示す変数部を含む全文を一つのファイルとして録音されたものである。この全文録音音声ファイル２２１の変数部は、ある特定の単語に置き換えて録音されている。この単語は、音声サーバにおいて予め指定された語を用いる。例えば、変数部に「品名」という単語を用いて、「ご注文は品名でよろしいですか」という文を音声化して、全文録音音声ファイルとして保存する。【００２５】  さらに、アプリケーション・サーバ２２０には、この変数部に入る音声が変数録音音声ファイル１、２、・・・（２２２，２２３）として格納されている。例えば「お米」「みそ」を音声化したファイルである。ここで、変数部は複数用いることも可能であり、この場合にはそれぞれの変数部に対応した変数録音音声ファイルが格納されることになる。例えば変数部１、変数部２をそれぞれ「品名」「品数」として「ご注文は品名、数量は品数でよろしいですか」という文を音声化して、全文録音音声ファイルとして保存する。そして、「品名」「品数」に対応した変数録音音声ファイル（前者に対して「お米」「みそ」、後者に対して「１つ」「２つ」等）が格納されることになる。【００２６】  さらに、アプリケーション・サーバ２２０には、音声情報２２４が格納されている。この音声情報２２４は、全文録音音声ファイルのファイル名、変数情報と代替テキストとからなる。変数情報には変数部の有無、つまり変数処理の必要性の有無を示す情報が少なくとも含まれる。代替テキストは、変数部を含むテキスト全文であり、例えば上述の例でいえば「ご注文は＜変数部＞でよろしいですか」となる。なお、全文録音音声ファイルが複数存在する場合、その全文録音音声ファイルごとに音声情報を用意しておけばよい。【００２７】  音声サーバ２３０は、音声ファイル処理部２３１、音声認識エンジン２３２、音声化処理部２３３、及び音声化処理部２３３を有する。音声ファイル処理部２３１は、アプリケーション・サーバ２２０から音声情報２２４とそれにより指定される全文録音音声ファイル２２１を取り出し、音声情報に含まれる変数情報から変数処理が必要かどうかを判断する。変数処理が必要な場合、さらに、代替テキストからグラマーを動的に生成する。【００２８】  音声認識エンジン２３２は、音声ファイル処理部２３４から全文録音音声ファイルと動的に生成されたグラマーを受け取る。そして、それらに基づいて認識した全文録音音声ファイルを変数部分である変数音声ファイルと変数以外の部分である部品音声ファイルに分割する。ここで、変数音声ファイルや部品音声ファイルは１つとは限らず、複数あることもある。【００２９】  音声化処理部２３３は、音声認識エンジン２３２から部品音声ファイルと変数音声ファイルを受け取る。そして、変数音声ファイルに対応して置き換えるべく指定された変数録音音声ファイルをアプリケーション・サーバ２２０から取得する。なお、この動作は、音声ファイル処理部で行われて、音声化処理部に渡されてもよい。そして、部品音声ファイルと変数録音音声ファイルを連結して、代替テキストの順に音声化して再生されるようにする。【００３０】  さらに、この音声応答システム２１０に音声出力装置２４０が接続され、再生音声ファイルに基づいた音声が再生され出力される。この音声出力装置は、音声応答システムと同一の図１に示したようなコンピュータ装置の例えばスピーカ装置でもよいし、あるいは公衆回線等を介して接続された電話端末等でもよい。【００３１】  図３には、音声ファイル処理部２３１におけるグラマーの生成ロジックを示す。まず、代替テキスト全文を変数部と変数部以外に分割する（３１０）。次に、その変数部を予め定めた単語に置換する（３２０）。この単語は、音声サーバが予め定めたものであり、全文録音音声ファイルにはこの単語が変数部分として予め定められた語を用いて音声化され録音されている。そして、その置換されたテキストに基づいてグラマーを動的に生成する（３３０）。【００３２】  図４は、グラマーの生成について、さらに一例を詳細に説明する。まず、代替テキストの変数部を予め定めた単語に置換する（４１０）。そして、それをもとにテキストファイルを生成する。この時、音声認識エンジンが認識できるように単語分割する必要がある（４２０）。この単語分割は、例えば、句読点をとる、音声認識エンジンの辞書に登録されている単語から最長一致法で単語に分割する、等の処理を行う。次に、その分割された結果を、音声認識エンジンに伝えるために、音声認識エンジンが理解できる形式にする（４３０）。以上によって生成されたグラマーを音声認識エンジンに渡し登録する。【００３３】  図５には、音声認識エンジン２３２における音声認識による音声ファイルの分割ロジックについて示す。まず、音声認識エンジンを、認識した音声をファイルにするモードに設定する（５１０）。次に、音声認識エンジン２３２に変数を含む全文録音音声ファイルと生成されたグラマーが入力される（５２０）。音声認識エンジン２３２はグラマーに従って、全文録音音声ファイルを認識する（５３０）。そして、認識した全文録音音声ファイルを変数部分である変数音声ファイルと変数以外の部分である部品音声ファイルに分割して、それぞれの音声ファイルを生成する（５４０）。【００３４】  図６には、音声認識エンジン２３２における音声認識による音声ファイルの分割結果について示す。この例では、変数部分を「品名」とした。全文録音音声ファイル６１０は、音声認識及び分割の結果（６２０）として、変数部分である変数音声ファイル６２２と、変数以外の部分である部品音声ファイル６２１、６２２に分割されたこととなる。【００３５】  図７には、本発明の音声サーバ２３０における処理の流れについての一例を記述したフローチャートを示す。まず、アプリケーション・サーバ２２０から得た音声情報２２４の中の変数情報に含まれる変数であることを示す情報の有無によって、変数処理が必要かどうかを判断する（７０１）。なお、変数処理が必要ないと判断された場合、通常のオーディオ処理を行う（７２０）。ここで、通常のオーディオ処理とは、一例を示せば、音声情報中のファイル名に対応する再生する音声ファイルがアプリケーション・サーバに存在すれば、それをそれを再生する。無い場合、代替テキストが音声情報中にあれば、その代替テキストを再生する。代替テキストもない場合、エラー処理を行うか、エラー処理がない場合はエラーで終了する。【００３６】  ステップ７０１で、変数処理が必要と判断された場合、音声情報２２４から全文録音音声ファイル名とその代替テキストを抽出する（７０２）。そして、全文録音音声ファイルがアプリケーション・サーバ２２０に存在するかどうかを確認する（７０３）。なお、全文録音音声ファイルがアプリケーション・サーバ２２０に存在しない場合は、変数であることを示す情報を削除した上で、上述したような通常のオーディオ処理を行う（７３０）。【００３��】  全文録音音声ファイルがアプリケーション・サーバ２２０に存在する場合、さらに代替テキストがあるかどうか確認する（７０４）。代替テキストが存在しない場合は、エラーとなり処理は終了する（７４０，７４１）。代替テキストが存在する場合、全文録音音声ファイルが既に音声サーバ２３０上のキャッシュ（図示せず）に存在するかどうかが判断される（７０５）。既にキャッシュ上に存在する場合、ステップ７０９へ行く。キャッシュ上に存在しない場合、全文録音音声ファイルをアプリケーション・サーバ２２０から得る（７０６）。そして、代替テキストと全文録音音声ファイルを用いてグラマーが動的に生成される（７０７）。次に、音声認識を行い、全文録音音声ファイルを分割する（７０８）。【００３８】  そして、変数録音音声ファイルがアプリケーション・サーバ２２０に存在するかどうかが確認される（７０９）。変数録音音声ファイルがアプリケーション・サーバ２２０に存在する場合、アプリケーション・サーバ２２０から変数録音音声ファイルを得る（７１０）。そして、これらの音声ファイルを順次連結して音声化して再生できるようにする（７１１）。また、必要な期間その生成された音声ファイルをキャッシュに保持し（７１２）、必要に応じて直接使用できるようにする。なお、ステップ７０９で変数録音音声ファイルが存在しない場合、その変数に対応する代替テキストを用いて音声合成した音声ファイルを生成する（７５０）。なお、このような一連の処理はコンピュータ・プログラムとして実現されるものである。また、このコンピュータ・プログラムは、必要に応じて、ＣＤ−ＲＯＭ，フレキシブルディスク（フレキシブルディスク）等のコンピュータが読み取り可能な記録媒体に格納されて提供されることがある。【００３９】  次に、図７に示した本発明の処理をＶＸＭＬブラウザ実装した例を示す。なお、（１）−（９）は図７中のものに対応する。また、「ＶＭＸＬブラウザ」とは、ＶＭＸＬを処理するために本発明の音声ファイル処理部２３１及び音声化処理部２３３に対応する機能を提供する手段である。
（１）変数処理を要求する目印となる、Ａｕｄｉｏタグの’＃’記号を調べ、なければ通常のオーディを処理を行う。
（２）Ａｕｄｉｏタグより、全文録音音声ファイル名と、全文録音音声ファイルに対応する代替テキストを抽出する。
（３）全文録音音声ファイルが存在しない場合は、’＃’をとり、通常のオーディオ処理を行う。必要により音声合成される。
（４）代替テキストがなければ、エラーとなり処理は終了。
（５）既に処理済の場合は、キャッシュされた音声ファイルを利用する。なお、変数部のみ変更されたものなら、変数録音ファイルのみアプリケーション・サーバから取得する。
（６）代替テキストと決められた変数部の文字列からグラマーを作成する。
（７）グラマーと全文録音音声ファイルを音声認識エンジンにより認識させ、全文録音音声ファイルを分割する。
（８）変数録音音声ファイルがない場合は、変数の部分は音声合成する。
（９）得られた音声ファイル（と場合によっては音声合成結果）を連結して再生できるようにする。【００４０】  以下の表１−表７には、図７に示した本発明の処理を擬似コード的表現で表したものを示す。なお、（１）−（９）は図７中のものに対応する。以下の表１は、一連の処理を示したものである。
2004109658.tif 000003
2004109658.tif 000004
【００４１】  表２は、表１に示した処理のうち、（４）中の代替テキストを分割する処理に関するものである。
2004109658.tif 000005
【００４２】  表３は、表１に示した処理のうち、（５）の処理をさらに詳細に述べたものである。
2004109658.tif 000006
2004109658.tif 000007
【００４３】  表４は、表１に示した処理のうち、（６）の処理の一部をさらに詳細に述べたものである。
2004109658.tif 000008
【００４４】  表５は、表１に示した処理のうち、（６）の処理の他の一部をさらに詳細に述べたものである。
2004109658.tif 000009
2004109658.tif 000010
【００４５】  表６は、表１に示した処理のうち、（７）の処理をさらに詳細に述べたものである。
2004109658.tif 000011
【００４６】  表７は、表１に示した処理のうち、（８）の処理をさらに詳細に述べたものである。
2004109658.tif 000012
2004109658.tif 000013
【００４７】  以下には、発明の具体的な実施例として、ＶｏｉｃｅＸＭＬの場合にどのように実装するかを示す。この拡張は、既存の機能に影響を与えず、ＶｏｉｃｅＸＭＬ仕様を侵害することなく、実現できるものである。【００４８】  アプリケーション・サーバで用意する音声ファイル
全文録音音声ファイルは、変数を含む全文をひとつのファイルとして録音する。変数部分は、ある特定の単語に置き換えて録音する。この単語は、音声サーバと了解し合った特定のものにする。例えば、”変数”という単語とする。
変数録音音声ファイル名は、″｛変数の内容｝．ｗａｖ″とする。なお、変数文字列が、音声ファイルを格納する環境においてファイル名として許されない文字を含む場合は、変数対音声ファイル名を、ＣＳＶ形式でマッピングした、マッピングリストファイルを作成する。マッピングリストファイル名は、音声サーバと了解し合った固定のものにする。例えば、″ｖａｌｕｅ−ｗａｖ．ｍａｐ″とする。【００４９】  変数録音音声ファイルと、場合によりマッピングリストファイルをカレントパスに置く。なお、ひとつあるいは複数の変数録音音声ファイルをクラス化することもできる。クラスは、カレントパス下にクラス名と同じ名前で、クラス専用フォルダを持つ。クラスに属している変数録音音声ファイルと、場合によりそれを記述するマッピングリストファイルは、クラス専用フォルダに置く。【００５０】  アプリケーション・サーバ中の音声情報の記述
全文録音音声ファイル対応して、その全文録音音声ファイルが変数を持つかどうかを示す目印を音声情報につける。さらに、変数を持つ全文録音音声ファイルに対応して、音声情報に少なくとも変数部を含むテキスト全文（代替テキスト）と挿入する変数名の情報を格納する。さらに必要により、変数用音声ファイルが属するクラス名を格納する。場合により、マッピングリストファイルはカレントパス、あるいは、クラス専用フォルダに置く。【００５１】  例として、上記ルールを、ＶｏｉｃｅＸＭＬに具体的に適用し、定めた例を示す。以下では、ＶｏｉｃｅＸＭＬの〈ａｕｄｉｏ〉タグに本発明を適用する。
音声アプリケーションは通常、最終的には人の声を録音した音声ファイルを用いて運用されることが多いが、開発中は音声ファイルがない状態で開発を行う必要があるので、音声合成を利用する。ＶｏｉｃｅＸＭＬが音声ファイルを再生するために定義している〈ａｕｄｉｏ〉タグは、そのような利用環境に対応するために、音声ファイル名と文字列を記述して、音声ファイルが存在すれば音声ファイルを再生し、音声ファイルが再生不可能な状態である場合には、文字列を音声合成する、という仕様になっている。
記述例：”〈ａｕｄｉｏ  ｓｒｃ＝″ｗａｖ／ｓａｍｐｌｅ．ｗａｖ″〉ご注文の商品〈／ａｕｄｉｏ〉”
機能的にもフォーマット的にも、〈ａｕｄｉｏ〉タグ本来の仕様に則った状態で、今回の発明を適用する。【００５２】  全文録音音声ファイルが変数部を持つかどうかを示すために、〈ａｕｄｉｏ〉タグのｓｒｃ属性フィールドを利用する。全文録音音声ファイル名の先頭に、’＃’をつけて、変数処理の必要があることを示す。
変数部を持つ全文録音音声ファイルに情報を付加するために、〈ａｕｄｉｏ〉タグの代替テキスト部を利用する。代替テキスト部に、変数を含むテキスト全文を記述する。挿入する変数を、〈ｖａｌｕｅ〉タグで指定し、挿入位置に、〈ｖａｌｕｅ〉タグを挿入する。クラスに属する場合は、クラス名をｃｌａｓｓ属性で指定した〈ｓａｙａｓ〉タグで、〈ｖａｌｕｅ〉タグを囲む。マッピングリストファイルは、クラス専用パス、あるいは、カレントパスに置く。【００５３】例：「ご注文の商品は、｛？｝です」というメッセージを音声ファイルを再生する場合用意する音声ファイル
全文録音音声ファイルとして、「ご注文の商品は、変数です」と録音した
″ｗａｖ￥ｓａｍｐｌｅ．ｗａｖ″音声ファイル
変数録音音声ファイルとして、「お米」と録音した″カレントパス￥ｐｒｏｄｕｃｔ￥お米．ｗａｖ″音声ファイル
ＶＸＭＬドキュメントの記述（音声情報に対応する）
〈ａｕｄｉｏ  ｓｒｃ＝″＃ｗａｖ／ｓａｍｐｌｅ．ｗａｖ″〉
ご注文の商品は、
〈ｓａｙａｓ  ｃｌａｓｓ＝″ｐｒｏｄｕｃｔ″〉
〈ｖａｌｕｅ  ｅｘｐｒ＝″ＰｒｏｄｕｃｔＮａｍｅ″／〉
〈／ｓａｙａｓ〉
です。
〈／ａｕｄｉｏ〉
ここで、＃によって、変数処理の必要性を表し、「ｗａｖ／ｓａｍｐｌｅ．ｗａｖ」は全文録音音声ファイル名である。そして、
「ご注文の商品は、
〈ｓａｙａｓ  ｃｌａｓｓ＝″ｐｒｏｄｕｃｔ″〉
〈ｖａｌｕｅ  ｅｘｐｒ＝″ＰｒｏｄｕｃｔＮａｍｅ″／〉
〈／ｓａｙａｓ〉
です。」
の部分が代替テキストとなる。
なお、これらの記述は、アプリケーション・サーバで実行されるアプリケーション・プログラムの一部として記述されるものである。【００５４】  音声サーバサイドの機能
全文録音音声ファイルが変数を持つかどうか、音声ファイル指定の目印の有無で判断して、単純な再生処理か、変数挿入が必要な再生処理か、適切な方の処理に分岐する。単純な音声ファイル再生は、従来の動作どおりである。引き続き、以下に、変数挿入処理を記述する。なお、全て実行時の処理である。【００５５】  全文録音音声ファイルに対応する代替テキストを、変数部と変数部以外の部分に分割して、各パーツをルールに持つグラマーを動的に生成する。変数部を認識する語句として、変数部を置換する語句を認識するルールをグラマーに追加する。例えば”変数”という語句である。【００５６】  グラマーの生成について、さらに詳細に説明すれば、以下の通りである。対象とする記述が次のようなっていたとする。
〈ａｕｄｉｏ  ｓｒｃ＝″＃ｃｏｎｆｉｒｍ．ｗａｖ″〉
ご注文は、〈ｖａｌｕｅ  ｅｘｐｒ＝″Ｐｒｏｄｕｃｔ″／〉でよろしいですか？
〈／ａｕｄｉｏ〉
グラマーにしていく過程は以下のとおりである。
１．変数部を変数部用テキストで置換する。
（変換前）ご注文は、〈ｖａｌｕｅ  ｅｘｐｒ＝″Ｐｒｏｄｕｃｔ″／〉でよろしいですか
（変換後）ご注文は変数でよろしいですか
２．テキストファイル（ＢＮＦファイル）を生成する。この時、音声認識エンジンが認識できるように単語分割する必要がある。その結果、この例では以下のようになる。
〈＿ｒｕｌｅ１〉＝ご注文は変数でよろしいですか
３．受け入れ可能な発話文を、音声認識エンジンに伝えるために、音声認識エンジンが理解できる形式にする。具体的には、ＢＮＦファイルを、グラマーコンパイルして、グラマーボキャブラリ（ＦＳＧファイル）を生成する。グラマーコンパイルとは、グラマーを音声認識エンジンが理解できる形式にすることである。例えば、グラマーコンパイラＡＰＩを使って、音声認識エンジンが理解できるＦＳＧファイル形式にコンパイルする。ＦＳＧ（ｆｉｎｉｔｅ  ｓｔａｔｅ  ｇｒａｍｍａｒ）ファイル形式とは、音声認識エンジンが理解できる形式の、コンパイル済みグラマーファイルである。なお、ＦＳＧ形式は、Ｗ３Ｃ  Ｓｐｅｅｃｈ  Ｉｎｔｅｒｆａｃｅ  Ｆｒａｍｅｗｏｒｋでもサポートされる形式である。
以上によって生成されたグラマーを音声認識エンジンに渡し、そのグラマーを登録する。【００５７】  そして、生成したグラマーを、音声認識エンジンに対して、使用可能（ｅｎａｂｌｅ）にする。音声認識エンジンを、認識した音声をファイルにするモードに設定する。そして、変数を含む全文録音音声ファイルを、音声認識エンジンに入力する。音声認識エンジンはグラマーに従い、入力された音声を、変数部分と変数以外の部分に分割した状態で認識する。そした、音声認識エンジンは、認識した音声を、認識した単位に分割して、音声ファイルを生成する。【００５８】  アプリケーション・プログラムから指定された変数録音音声ファイルを、″｛変数の内容｝．ｗａｖ″というファイル名で検索する。検索場所は、場合により、その音声ファイルがクラスに属している場合はクラス専用パス、属していなければカレントパスである。″｛変数の内容｝．ｗａｖ″ファイルが存在しなければ、変数対音声ファイル名のマッピングリストを読み、ファイル名を取得し、検索する。マッピングリストが存在しない、マッピングリストにターゲットとなる変数に関する指定がない、マッピングリストでターゲットとなる変数に対応付けられている音声ファイルがない、あるいは、その他の理由で、尚、変換用音声ファイルを見つけられない場合は、変数テキストに基づいて音声合成する。【００５９】  分割生成された音声ファイルと、検索した変数録音音声ファイル、あるいは、変数テキストの音声合成、をテキストの順に順々に再生するようにする。パフォーマンス向上のため、分割した音声ファイルは、アプリケーション終了時までは保管する。ただし、適切なファイルの削除も実行すべきである。キャッシュファイル管理について、音声サーバが既に持っているルールに従うのが適切である。分割された音声ファイル断片の存在状態を記憶し、分割済み音声ファイルが存在するものは、それを利用するようにする。【００６０】  変数の決定について
変数に対応するテキストは、アプリケーションの変数の値である。その値は実行時に決定される。この変数の値が、いつどこで決まるかはアプリケーションロジックによる。例えば、Ｐｒｏｄｕｃｔ＝″’変数値’″として、いつでもその値をいれるようにすることができ、また例えば注文を聞いた時に認識した語句を、その値とするように書いておくこともできる。【００６１】  より具体的に、変数の決定も含めた一連の処理について以下に説明する。
″変数値がいつどのような形で決まるか″は、アプリケーションのデザインにより、大きく次の２タイプある。（１）認識対象に名前をつけておき、それが変数名となり、ユーザの発声を認識した時に認識した語句が変数値になるようにする。（２）あらかじめ変数を宣言しておき、好きなタイミングで変数値をいれるようにする。【００６２】  例えば、以下の表８に処理の一例を示す。
2004109658.tif 000014
【００６３】  このサンプルは、次のような対話をする従来の機能で書いたＶｏｉｃｅＸＭＬアプリケーションである。
Ｓｙｓｔｅｍ：お名前をどうぞ
Ｕｓｅｒ：  加藤      ：この発声を認識した時に、ＵｓｅｒＮａｍｅ変数値＝”加藤”となります。
Ｓｙｓｔｅｍ：加藤様ですね：この後、〈ａｓｓｉｇｎ〉タグにより、Ａｄｄｒｅｓｓ変数値＝ｇｅｔＵｓｅｒＡｄｄｒｅｓｓ関数の返り値；”東京都渋谷区”などとなります。
Ｓｙｓｔｅｍ：ご注文をどうぞ
Ｕｓｅｒ：  お米      ：この発声を認識した時に、Ｐｒｏｄｕｃｔ変数値＝”お米”となります。
Ｓｙｓｔｅｍ：ご注文はお米ですね。
タイプ（１）の例は、ＵｓｅｒＮａｍｅ変数、Ｐｒｏｄｕｃｔ変数、ａｎｓｗｅｒ変数である。タイプ（２）の例は、Ａｄｄｒｅｓｓ変数である。変数値を参照する時は、〈ｖａｌｕｅ〉タグを使う。ＳＣＲＩＰＴ関数へのパラメータとして使う時は直接変数名を使う。【００６４】  タイプ（１）として、ＵｓｅｒＮａｍｅ変数についてさらに詳細に述べる。まず、ＶＸＭＬ処理部は、アプリケーションサーバにあるＶＸＭＬアプリケーションを読み込む。そして、ＶＸＭＬ処理部は、対話が５行目に来た時、音声認識エンジンに、「加藤、あるいは、佐藤、という語句を認識するのだ、」ということをグラマーで指示する。ユーザの「加藤」と発声した音声が、音声認識エンジンに届くと、音声認識エンジンは、グラマーと照合して、「加藤」という語句を認識する。そして音声認識エンジンは、「加藤です、という語句を認識した」と、ＶＸＭＬ処理部に伝えます。ＶＸＭＬ処理部は、ＵｓｅｒＮａｍｅ変数に、″加藤″という変数値をいれる。なお、一例では、これらのＶＸＭＬ処理部も音声認識エンジンも、どちらも、音声サーバにおいて実施される。一例としては、このようなＶＸＭＬ処理部は音声化処理部の一部として実施することができる。【００６５】  タイプ（２）として、Ａｄｄｒｅｓｓ変数についてさらに詳細に述べる。ＶＸＭＬ処理部は、ＵｓｅｒＮａｍｅフィールドの認識が済んだという通知を受け取り、１２行目の処理を始める。ｇｅｔＵｓｅｒＡｄｄｒｅｓｓ関数という、顧客名対住所のデータベースを参照して、住所を返す関数を、呼びだす。その返り値を、Ａｄｄｒｅｓｓ変数に変数値としてわりあてる。【００６６】  変数名の決定
本実施例の１つでは、変数録音ファイル名は、″変数値″＋″．ｗａｖ″とした。例えば、変数が、変数”Ｐｒｏｄｕｃｔ”の時、Ｐｒｏｄｕｃｔの変数値が″お米″だったら、変部録音ファイル名＝″お米．ｗａｖ″である、ということである。これに関連して、以下の表９に示す例を基に、さらに詳細に説明する。
2004109658.tif 000015
2004109658.tif 000016
【００６７】  これは、あるアプリケーションで、注文を伺い、そして「ご注文は、○○でよろしいですか」と言いたい時、の記述である。このサンプルは、次のような対話ができます。
Ｓｙｓｔｅｍ：  ご注文をどうぞ
Ｕｓｅｒ：  お米
Ｓｙｓｔｅｍ：  ご注文はお米ですね。【００６８】  このようなアプリケーションおいては、アプリケーション開発時にあらかじめ、変数”Ｐｒｏｄｕｃｔ”として有効な値について、変数録音ファイルを生成してアプリケーション・サーバに格納しておく。変数録音ファイルのファイル名は、″変数値″＋″．ｗａｖ″です。変数の有効値が、″お米″と″お味噌″の場合、″お米．ｗａｖ″と″お味噌．ｗａｖ″を作成し、それらをアプリケーション・サーバに格納しておく。音声サーバは実行時に、〈ｖａｌｕｅ  ｅｘｐｒ＝″Ｐｒｏｄｕｃｔ″／〉部分に、変数”Ｐｒｏｄｕｃｔ”の値（″お米″など）から、変数部録音ファイル名（″お米．ｗａｖ″）を組み立てます。そのファイルがアプリケーション・サーバに存在すれば、それを再生します。存在しなければ、変数値（″お米″）を音声合成します。このようなファイル名の組み立ては、一例では、図７のフローチャートの″（８）変数部録音ファイルが存在するか″で行われる。
【図面の簡単な説明】
【００６９】［図１］本発明を実施するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
［図２］本発明を機能ブロックを用いて示した図である。
［図３］音声ファイル処理部２３１におけるグラマーの生成ロジックを示す図である。
［図４］グラマーの生成ロジックの詳細を示す図である。
［図５］音声認識エンジン２３２における音声認識による音声ファイルの分割ロジックについて示す図である。
［図６］音声認識エンジン２３２における音声認識による音声ファイルの分割結果について示す図である。
［図７］本発明の音声サーバ２３０における処理の流れについての一例を記述したフローチャートを示す図である。
【符号の説明】
【００７０】１０１  ＣＰＵ
１０２  Ｍ／Ｂチップセット
１０３  メインメモリ
１０４  ビデオカード
１０５  ハードディスク
１０６  ネットワークインターフェイス
１０７  ＵＳＢ
１０８  ブリッジ回路
１０９  フレキシブルディスクドライブ
１１０  キーボード／マウス
２１０  音声応答システム
２２１  全文録音音声ファイル
２２２  変数録音音声ファイル
２２３  変数録音音声ファイル
２２４  音声情報
２２０  アプリケーション・サーバ
２３１  音声ファイル処理部
２３２  音声認識エンジン
２３３  音声化処理部
２３０  音声サーバ
２４０  音声出力装置
【図１】
2004109658.tif 000017
【図２】
2004109658.tif 000018
【図３】
2004109658.tif 000019
【図４】
2004109658.tif 000020
【図５】
2004109658.tif 000021
【図６】
2004109658.tif 000022
【図７】
2004109658.tif 000023
【国際調査報告】
2004109658.tif 000024
2004109658.tif 000025
2004109658.tif 000026
2004109658.tif 000027