(57)【要約】      （修正有）【課題】利用者との対話レスポンスを短縮する。【解決手段】本音声対話処理方法は、対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、特定された認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを現対話より後に発生する可能性のある対話に先立って起動するステップとを含む。このような処理を行うことにより、音声認識エンジンの起動時間を節約することができ、レスポンス時間を短縮させることができる。【選択図】図１
2007025036.tif 000002
【特許請求の範囲】
【請求項１】
対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動するステップと、
を含み、コンピュータに実行される音声対話処理方法。
【請求項２】
前記特定ステップにおいて、前記現対話における回答の可能性のある認識結果毎に、前記認識文法データを特定し、
さらに、
前記現対話における回答の実際の認識結果に係る前記認識文法データに対応する音声認識エンジンを特定し、使用可能に設定するステップ
を含む請求項１記載の音声対話処理方法。
【請求項３】
前記対話シナリオがＶｏｉｃｅＸＭＬに従って記述されていることを特徴とする請求項１又は２記載の音声対話処理方法。
【請求項４】
対話シナリオに関するデータを格納する対話データ格納部と、
前記対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定手段と、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動する手段と、
を有する音声対話システム。
【請求項５】
対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声自動対話処理技術に関する。
【背景技術】
【０００２】
従来の音声自動対話システムでは、予め定められた対話シナリオに従って音声自動対話システムと利用者との対話を進めていく。この時、１対話（ここでは、１つの問いと当該問いに対する回答を期待する動作）の回答に応じて、いくつかあるうちの次に行うべき対話を対話シナリオの中から選択して、対話を進めて行く。回答を認識するためには、ＤＴＭＦ（Dial Tone Multi Frequency）認識エンジン又は音声認識エンジン（以下、認識エンジンと呼ぶ）に、利用者からの回答を認識するための認識文法を設定する必要がある。
【０００３】
このため、従来の音声自動対話システムでは、以下のような処理が行われている。（１）音声自動対話を行う対話シナリオエンジンは、実行しようとしている対話に対する利用者からの回答を認識するために、認識エンジンに回答を認識させるための語彙が含まれている認識文法を設定し、認識エンジンを起動する。（２）利用者から回答を促すための音声ガイダンスを再生する。（３）利用者が回答を発話する。（４）認識エンジンが利用者の回答を認識し、認識結果を対話シナリオエンジンに通知する。（５）対話シナリオエンジンは、利用者からの回答を基に、次に実行すべき対話を選択する。（６）以下、（１）から（５）を繰り返す。
【０００４】
なお、対話シナリオには、音声ガイダンス再生中にも利用者からの回答を受け付ける機能（バージイン機能）があるため、音声ガイダンス再生中にバックグラウンドで認識文法を設定することはできない。
【０００５】
また、特開平９−５０２９０号公報には、処理量の増加を伴わずに、拡張性があり、かつ認識率を向上させる音声認識装置等が開示されている。具体的には、音声認識装置において、発話状態検出手段と、各発話状態に対応した複数の音声認識文法であるＬＲテーブル手段と、ＬＲテーブル手段を使用して次の発話の音声認識を行う音声認識手段とを含み、次に予測される発話状態に対応した音声認識文法を使用して音韻認識を行うので、一般的な文法を使用する場合に較べて処理量が減少すると共に、不要な文法が含まれていないので認識率が向上するというものである。この公報では、ＬＲテーブル手段を用意しておくことが主旨であって、ＬＲテーブル手段が動作可能又は使用可能になるまでの時間については考慮されていない。
【０００６】
さらに、特開２００３−５８１８８号公報には、音声認識にあたって認識率の高い音声対話システムが開示されている。具体的には、本音声対話システムは、ユーザの発声を認識するための音声認識エンジンと、その認識結果に応じてユーザへの発話を作成する対話処理エンジンと、作成された発話を音声に合成するための音声合成エンジンと、音声認識のための音声パターンを含む辞書データを格納する音声認識辞書と、音声の入出力手段とを備える。さらにこの音声認識エンジンは、前回のユーザ発声の認識結果を音声認識辞書において探索し、探索された認識結果に関連する辞書データを抽出して自身の記憶領域内に設定するよう構成されている。従って、次回のユーザの発声の音声認識にあたっては、前回の認識結果に関連する辞書データが使用されるので、認識率が向上するというものである。しかし、実際のレスポンス速度の向上については考察されていない。
【特許文献１】特開平９−５０２９０号公報
【特許文献２】特開２００３−５８１８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の音声自動対話システムにおいて利用者からの回答を認識させる場合、対話の開始直前に認識エンジンに対して認識文法を設定する必要がある。もし回答の選択肢が多い場合、すなわち認識語彙数が多い場合には、認識エンジンにおける認識文法の設定時間が長くなってしまい、音声ガイダンスを再生するまでの時間、すなわち音声対話の応答にかかる時間が増加してしまうという問題がある。
【０００８】
従って、本発明の目的は、利用者との対話におけるレスポンス時間を短縮するための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る音声対話処理方法は、対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、特定された認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを現対話より後に発生する可能性のある上記対話に先立って起動するステップとを含む。このような処理を行うことにより、音声認識エンジンの起動時間を節約することができ、レスポンス時間を短縮させることができる。
【００１０】
また、上で述べた特定ステップにおいて、現対話における回答の可能性のある認識結果毎に、認識文法データを特定するようにしてもよい。その場合、現対話における回答の実際の認識結果に係る認識文法データに対応する音声認識エンジンを特定し、使用可能に設定するステップを実行する。このようにすれば、予め起動しておいた音声認識エンジンをユーザからの回答の音声認識処理に即座に用いることができるようになる。
【００１１】
なお、対話シナリオがＶｏｉｃｅＸＭＬ（eXtensible Markup Language）に従って記述されている場合もある。この場合、現対話より後に発生する可能性のある対話を、より容易に抽出することができる。また、システム作成者は、本発明に係る音声対話処理方法の実施の有無を考慮することなく、対話シナリオを作成することができる。
【００１２】
本発明に係る方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１３】
本発明によれば、利用者との対話におけるレスポンス時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
図１に本発明の一実施の形態に係るシステムの機能ブロック図を示す。例えば公衆回線網などのネットワーク１には、利用者が使用する複数の電話機３ａ乃至３ｃと、音声自動対話システム５とが接続されている。ネットワーク１は、公衆回線網ではなくＩＰ電話の場合に使用されるＩＰネットワーク網の場合もある。音声自動対話システム５は、音声プラットフォーム５１と、対話シナリオエンジン５３と、対話データ格納部５５と、認識エンジン管理機構５７と、１又は複数の認識エンジン５９とを有する。
【００１５】
音声プラットフォーム５１は、ネットワーク１に接続されており、利用者に対する音声合成機能を有している。そして、利用者からの音声に対して音声認識処理を実施する認識エンジン５９と連携して、対話シナリオエンジン５３からの指示に従って利用者との対話処理を実施する。対話シナリオエンジン５３は、対話データ格納部５５に格納された対話シナリオに従って対話が進むように、音声プラットフォーム５１及び認識エンジン管理機構５７に指示を出力する。認識エンジン管理機構５７は、対話シナリオエンジン５３からの指示に応じて、対話データ格納部５５に格納された認識文法データを用いて認識エンジン５９を起動する。以下に詳細に述べるが、後に発生する可能性のある対話に用いられる認識エンジン５９を前もって起動する。また、音声プラットフォーム５１に対して適切な認識エンジン５９を設定する。音声プラットフォーム５１は、設定され且つ既に起動されている認識エンジン５９を用いる。
【００１６】
次に図１に示した音声自動対話システム５の処理を図２を用いて説明する。まず、利用者が例えば電話機３ａを用いて音声自動対話システム５に発呼すると、音声プラットフォーム５１は着呼に応答して回線を接続し、対話シナリオエンジン５３に通知する。対話シナリオエンジン５３は、音声プラットフォーム５１からの通知に応じて、対話データ格納部５５に格納されている対話シナリオ・データをロードする（ステップＳ１）。
【００１７】
ここで対話データ格納部５５に格納されるデータについて、図３を用いて説明しておく。本実施の形態では、対話シナリオ・データは、周知のＶｏｉｃｅＸＭＬで記述されている。対話シナリオ・データの作成者は、本実施の形態における特徴を考慮することなく、ＶｏｉｃｅＸＭＬで通常の対話シナリオ・データを作成すればよい。ここでは、main.vxmlという対話シナリオデータ・ファイル１０１において、menu.vxmlという下位の階層の対話シナリオデータ・ファイル１０２を参照している。対話シナリオデータ・ファイル１０２では、利用者にサービス選択を行わせるための対話シナリオが記述されており、当該対話で用いられる認識文法データ・ファイル１０６（serv.grxml）と、「録音」というサービスが利用者により選択された場合に用いられる対話シナリオが記述されている対話シナリオデータ・ファイル１０３（rec.vxml）と、「転送」というサービスが利用者により選択された場合に用いられる対話シナリオが記述されている対話シナリオデータ・ファイル１０４（trans.vxml）と、「再生」というサービスが利用者により選択された場合に用いられる対話シナリオが記述されている対話シナリオデータ・ファイル１０５（play.vxml）とが参照されている。
【００１８】
なお、認識文法データ・ファイル１０６は、認識エンジン５９に回答を認識させるための語彙が含まれている認識文法を記述したものであって、図３に示したように、「ろくおん」と認識した場合には認識エンジン５９が「録音」と出力し、「てんそう」と認識した場合には認識エンジン５９が「転送」と出力し、また「てんそー」と認識した場合にも認識エンジン５９が「転送」と出力し、「さいせい」と認識した場合には認識エンジン５９が「再生」と出力し、さらに「さいせー」と認識した場合にも認識エンジン５９が「再生」と出力するように、記述されている。認識文法データ・ファイル１０６に規定されていない認識結果の場合には、出力を行わないか、認識不能という出力がなされる。
【００１９】
また、対話シナリオデータ・ファイル１０３では、認識文法データ・ファイル１０７（rec.grxml）が参照されている。対話シナリオデータ・ファイル１０４では、認識文法データ・ファイル１０８（trans.grxml）が参照されている。対話シナリオデータ・ファイル１０５では、認識文法データ・ファイル１０９（play.grxml）が参照されている。
【００２０】
ステップＳ１では、例えば対話シナリオデータ・ファイル１０１乃至１０５をロードする。
【００２１】
そして、対話シナリオエンジン５３は、最初に実施すべき対話を特定し、当該対話で使用する認識文法データのリスト（認識文法リスト）を生成し、認識エンジン管理機構５７に通知する（ステップＳ３）。図３の例では、最初にサービス選択を利用者に求める対話を行うので、認識文法データ・ファイル１０６の名称が特定される。なお、最初の対話であるから認識エンジンによる認識結果はなく、従って認識文法リストは、図４（ａ）に示すようなデータとして構成される。すなわち、認識結果はＮｕｌｌであり、認識文法データ・ファイルとして、認識文法データ・ファイル１０６の名称serv.grxmlが特定されている。
【００２２】
認識エンジン管理機構５７は、対話シナリオエンジン５３から認識文法リストを受信し、当該認識文法リストに従って認識エンジン５９を起動し、起動された認識エンジン５９を音声プラットフォーム５１に登録する（ステップＳ５）。図４（ａ）に示すような認識文法リストに含まれる認識文法データ・ファイルを対話データ格納部５５から読み出し、当該認識文法データ・ファイルを設定した認識エンジン５９を起動する。認識エンジン５９の起動は、音声プラットフォーム５１に接続される回線毎に行われる。図４（ａ）及び図３の例では、認識文法データ・ファイル１０６に対応する認識エンジン５９が起動され、音声プラットフォーム５１に登録され、サービス選択についての音声入力に対する認識処理に用いられる。
【００２３】
また、対話シナリオエンジン５３は、対話シナリオデータ・ファイルをさらに解析して現対話の次に実行される可能性のある対話を特定し、現対話において認識される可能性のある利用者回答とその利用者回答によって開始される対話で用いられる認識文法データ・ファイル名とを含む認識文法リストを生成し、認識エンジン管理機構５７に通知する（ステップＳ７）。図３の例では、対話シナリオデータ・ファイル１０２乃至１０５を解析して次に実行される可能性のある対話、具体的には「録音」「転送」「再生」についての対話を特定し、当該対話において用いられる認識文法データ・ファイルの名称を特定して、図４（ｂ）に示すような認識文法リストを生成する。すなわち、図４（ｂ）に示すように、「録音」という認識結果に関連する認識文法データ・ファイルの名称としてrec.grxmlが特定され、「転送」という認識結果に関連する認識文法データ・ファイルの名称としてtrans.grxmlが特定され、「再生」という認識結果に関連する認識文法データ・ファイルの名称としてplay.grxmlが特定される。なお、１つの認識結果に対して複数の認識文法データ・ファイルが特定されることもある。
【００２４】
認識エンジン管理機構５７は、対話シナリオエンジン５３から認識文法リストを受信し、当該認識文法リストに従って前もって認識エンジン５９を起動する（ステップＳ９）。対話データ格納部５５から認識文法リストに含まれる認識文法データ・ファイルを設定して、認識エンジン５９を起動する。図４（ｂ）の例では、３種類の認識エンジン５９を起動する。なお、まだいずれを用いるか決定されていないので、音声プラットフォーム５１には登録しない。認識文法リストには、次の対話において用いられる可能性のある認識文法データ・ファイル名が含まれているので、現対話では、今回の認識文法リストに含まれる認識文法データ・ファイルを設定して起動した認識エンジン５９を用いることはない。しかし、このように前もって起動しておくことにより、利用者回答の認識結果を得てから起動するより、次の対話を切れ目無くスムーズに進めることができるようになり、利用者に対して従前では対話間に存在していたわずかな待ち時間を感じさせることがなくなる。すなわち自然な形の音声のやりとりを行うことができるようになる。本ステップにおいて起動された認識エンジン５９についても、音声プラットフォーム５１に接続されている回線毎に、認識文法リストに含まれる認識結果に対応して管理されている。
【００２５】
一方、対話シナリオエンジン５３は、現対話の音声ガイダンスの再生を音声プラットフォーム５１に依頼する（ステップＳ１１）。音声プラットフォーム５１の音声合成機能は、指示に従って音声ガイダンスを出力する。
【００２６】
そして、音声プラットフォーム５１は、音声ガイダンスに応答して発声した利用者の回答を認識エンジン５９に認識させ、認識結果を対話シナリオエンジン５３及び認識エンジン管理機構５７に通知する（ステップＳ１３）。対話シナリオエンジン５３は、認識結果に応じて対話シナリオに従った処理を実施する。そして、対話シナリオエンジン５３は、この認識結果が最後の回答であるか判断する（ステップＳ１５）。最後の回答であれば、例えばお礼の音声ガイダンスを音声プラットフォーム５１に出力させて回線を切断させるなどの所定の処理を行う。
【００２７】
一方、最後の回答ではない場合には、認識エンジン管理機構５７は、音声プラットフォーム５１から通知された認識結果から次に使用される認識エンジン５９を特定し、当該認識エンジン５９を音声プラットフォーム５１に登録する（ステップＳ１７）。このようにすれば、認識エンジン５９の起動時間を待たずして次の対話に対処することができるようになる。なお、登録されなかった認識エンジン５９については破棄する。
【００２８】
また、ステップＳ１７と同時に対話シナリオエンジン５３は、ステップＳ７の処理を実施する。以下、対話が終了するまでステップＳ７乃至Ｓ１７を繰り返す。
【００２９】
このような処理を実施すれば、利用者に対するレスポンス時間を短縮することができ、スムーズ且つ自然な形の対話を行うことができるようになる。
【００３０】
以上本発明の一実施の形態を述べたが、本発明はこれに限定されるものではない。例えば図１のシステム機能ブロック図は一例であって、例えば認識エンジン管理機構５７が対話シナリオエンジン５３を含むような構成であっても良い。
【００３１】
なお、上では起動されたが音声プラットフォーム５１に登録されなかった認識エンジン５９については破棄すると述べたが、破棄せず再利用するようにしても良い。再利用の方式には様々な手法が可能である。また、次の対話で用いられる可能性のある認識文法データ・ファイルを特定するようにしているが、さらに後の対話で用いられる可能性のある認識文法データ・ファイルを特定して、認識文法リストに含めるようにしても良い。
【００３２】
音声自動対話システム５は、１台のコンピュータで実装しても良いし、並列サーバ、マルチＣＰＵのコンピュータ、グリッドなどで実装しても良い。これらのシステム資源を有効利用して、サービス品質を高めることができる。
【００３３】
（付記１）
対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動するステップと、
を含み、コンピュータに実行される音声対話処理方法。
【００３４】
（付記２）
前記特定ステップにおいて、前記現対話における回答の可能性のある認識結果毎に、前記認識文法データを特定し、
さらに、
前記現対話における回答の実際の認識結果に係る前記認識文法データに対応する音声認識エンジンを特定し、使用可能に設定するステップ
を含む付記１記載の音声対話処理方法。
【００３５】
（付記３）
前記対話シナリオがＶｏｉｃｅＸＭＬに従って記述されていることを特徴とする付記１又は２記載の音声対話処理方法。
【００３６】
（付記４）
起動された前記音声認識エンジンが、前記利用者毎に管理されることを特徴とする付記１乃至３のいずれか１つ記載の音声対話処理方法。
【００３７】
（付記５）
前記現対話における回答の実際の認識結果以外の認識結果に係る前記認識文法データに対応する音声認識エンジンを管理するステップ
をさらに含む付記２記載の音声対話処理方法。
【００３８】
（付記６）
対話シナリオに関するデータを格納する対話データ格納部と、
前記対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定手段と、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動する手段と、
を有する音声対話システム。
【００３９】
（付記７）
対話シナリオに関するデータを格納する対話データ格納部に格納されるデータから、現対話より後に発生する可能性のある対話において用いられ且つ利用者からの回答を認識するための語彙が登録されている認識文法データを特定する特定ステップと、
特定された前記認識文法データを用いて、当該認識文法データに対応する音声認識エンジンを前記現対話より後に発生する可能性のある対話に先立って起動するステップと、
をコンピュータに実行させるためのプログラム。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態におけるシステムの機能ブロック図である。
【図２】本発明の実施の形態における処理フローを示す図である。
【図３】対話シナリオ・データの一例を示す図である。
【図４】（ａ）及び（ｂ）は、認識文法リストの一例を示す図である。
【符号の説明】
【００４１】
１  ネットワーク    ３ａ，３ｂ，３ｃ  電話機
５  音声自動対話システム
５１  音声プラットフォーム    ５３  対話シナリオエンジン
５５  対話データ格納部    ５７  認識エンジン管理機構
５９  認識エンジン
【図１】
2007025036.tif 000003
【図２】
2007025036.tif 000004
【図３】
2007025036.tif 000005
【図４】
2007025036.tif 000006