(57)【要約】【課題】  音声対話プログラムのデバッグ時における作業効率を向上させる。【解決手段】  対話プログラムのデバッグ処理方法は、音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、予めブレーク条件リストに登録され且つブレーク条件となる発話内容と記憶装置に格納された発話内容データとを比較する比較ステップと、比較ステップにおいて一致すると判断された場合には、対話プログラムのデバッグ実行を中断させるステップとを含む。これによりブレーク条件として発話内容を指定することができるため、いずれの状態においても特定の発話がなされればブレークが発生する。よって、デバッグ効率が向上する。【選択図】図４
2006127149.tif 000002
【特許請求の範囲】
【請求項１】
対話プログラムのデバッグ処理方法であって、
音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、
予めブレーク条件リストに登録され且つブレーク条件となる発話内容と前記記憶装置に格納された前記発話内容データとを比較する比較ステップと、
前記比較ステップにおいて一致すると判断された場合には、前記対話プログラムのデバッグ実行を中断させるステップと、
を含み、コンピュータにより実行されるデバッグ処理方法。
【請求項２】
前記デバッグ実行が中断された、前記対話プログラム中の実行位置を特定し、前記対話プログラム中の当該実行位置を特定可能な態様でユーザに提示するステップ、
をさらに含む請求項１記載のデバッグ処理方法。
【請求項３】
前記ブレーク条件となる発話内容を、音声入力又はテキスト入力で受け付け、前記ブレーク条件リストに登録するステップ
をさらに含む請求項１記載のデバッグ処理方法。
【請求項４】
前記対話プログラムがＶｏｉｃｅＸＭＬのドキュメントであることを特徴とする請求項１乃至３のいずれか１つ記載のデバッグ処理方法。
【請求項５】
対話プログラムのデバッグ処理をコンピュータに実行させるためのプログラムであって、
音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、
予めブレーク条件リストに登録され且つブレーク条件となる発話内容と前記記憶装置に格納された前記発話内容データとを比較する比較ステップと、
前記比較ステップにおいて一致すると判断された場合には、前記対話プログラムのデバッグ実行を中断させるステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話プログラムのデバッグ処理技術に関する。
【背景技術】
【０００２】
近年、ＶｏｉｃｅＸＭＬ（Voice eXtensible Markup Language）を用いて音声対話アプリケーションを構築するようになってきている。このような音声対話アプリケーションにおいては、様々な処理条件の下でユーザからの発話入力を待ち、発話された内容によって次の処理を行うといったことがＶｏｉｃｅＸＭＬドキュメントとして記述されている。
【０００３】
このＶｏｉｃｅＸＭＬドキュメントを作成・デバッグするにあたり、従来以下の３つ問題が存在していた。すなわち、（１）ドキュメント上の指定箇所でブレークポイントを設定することはできるが、ユーザからの発話内容を条件としてブレークする機能は無かったため、発話内容によってはデバッグ実行を中断させたくない場合であっても必ずブレークポイントでデバッグが中断してしまう。（２）同じ発話内容であってもＶｏｉｃｅＸＭＬドキュメント上で発話を受け付けるための記述箇所が異なる場合、それぞれの箇所でブレークポイントを設定しなければならない。（３）ＶｏｉｃｅＸＭＬドキュメント上の所定の位置でしかブレークポイントを設定できないので、ＶｏｉｃｅＸＭＬドキュメント作成時の設計図となる対話シナリオを基に、デバッグ用のブレークポイントを設定することができない。
【０００４】
なお、ＶｏｉｃｅＸＭＬに関連するデバッキング機能については特開２００２−６３０３２号公報に開示されている。但し、上記の問題を解決するものではない。
【特許文献１】特開２００２−６３０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上で述べた問題が解決されないと、デバッグ時の作業効率が悪化する。
【０００６】
従って、本発明の目的は、音声対話プログラムのデバッグ時における作業効率を向上させるための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る、対話プログラムのデバッグ処理方法は、音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、予めブレーク条件リストに登録され且つブレーク条件となる発話内容と記憶装置に格納された発話内容データとを比較する比較ステップと、比較ステップにおいて一致すると判断された場合には、対話プログラムのデバッグ実行を中断させるステップとを含む。これによりブレーク条件として発話内容を指定することができるため、いずれの状態においても特定の発話がなされればブレークが発生する。よって、デバッグ効率が向上する。
【０００８】
また、デバッグ実行が中断された、対話プログラム中の実行位置を特定し、対話プログラム中の当該実行位置を特定可能な態様でユーザに提示するステップをさらに含むようにしてもよい。このようにすれば、いずれの実行位置にてブレークしたかを容易に特定することができるため、デバッグ効率が向上する。
【０００９】
さらに、ブレーク条件となる発話内容を、音声入力又はテキスト入力で受け付け、ブレーク条件リストに登録するステップをさらに含むようにしてもよい。ユーザの所望の方法にてブレーク条件が登録できるので、デバッグ効率が向上する。
【００１０】
なお、対話プログラムがＶｏｉｃｅＸＭＬのドキュメントである場合もある。
【００１１】
本発明に係るデバッグ処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１２】
音声対話プログラムのデバッグ時における作業効率を向上させることができる。
【発明を実施するための最良の形態】
【００１３】
図１に本発明の一実施の形態に係る機能ブロック図を示す。本実施の形態に係るコンピュータ１００は、本実施の形態における主要な処理を実施するデバッガ１０と、音声合成処理、音声認識処理等を実行する音声処理部１２とを有する。また、コンピュータ１００には、入力装置１０１と、マイク１０２と、スピーカ１０３と、表示装置１０４とが接続されている。音声処理部１２は、マイク１０２からの音声入力を処理してテキストデータを生成し、デバッガ１０からのテキストデータから音声データを生成してスピーカ１０３に出力する。但し、音声処理部１２については、周知の技術であるからここではこれ以上述べない。
【００１４】
デバッガ１０は、ブレーク条件登録部１と、ブレーク条件リスト格納部２と、発話比較部３と、ブレーク処理部４と、デバッグ実行処理部５と、デバッグ位置取得部６と、ＶｏｉｃｅＸＭＬドキュメント格納部７とを有する。ブレーク条件登録部１は、入力装置１からのブレーク条件入力、音声処理部１２からのブレーク条件入力を受け付け、ブレーク条件リスト格納部２のブレーク条件リストにブレーク条件を登録するようになっている。発話内容比較部３は、ブレーク条件リスト格納部２のブレーク条件リストを参照して、音声処理部１２からの発話内容とブレーク条件とを比較し、両者が一致すると判断した場合にはブレーク処理部４に処理開始を指示し、両者が一致しないと判断した場合には発話内容をデバッグ実行処理部５に出力するようになっている。デバッグ実行処理部５は、ＶｏｉｃｅＸＭＬドキュメント格納部７を参照して通常のデバッグ処理を実行する。すなわち、ＶｏｉｃｅＸＭＬドキュメント格納部７に格納されたＶｏｉｃｅＸＭＬドキュメントに従って１ラインずつデバッグ実行し、ユーザに対して音声出力が必要な場合には、音声出力の基となるテキストデータを音声処理部１２に出力する。また、ＶｏｉｃｅＸＭＬドキュメントにおける実行位置情報については、デバッグ位置取得部６に出力するようになっている。デバッグ位置取得部６は、デバッグ実行処理部５からの実行位置情報を取得し、メモリに保持しておく。また、ブレーク処理部４は、発話比較部３からの処理開始指示に応じて、デバッグ位置取得部６から実行位置情報を取得し、さらにＶｏｉｃｅＸＭＬドキュメント格納部７を参照して、所定のデータを表示装置１０４に表示させるようになっている。
【００１５】
図２（ａ）に、ＶｏｉｃｅＸＭＬドキュメントの概念図を示す。図２（ａ）の例では、「ＯＫ＿ＮＧ」というフィールドに、ユーザの発話内容（認識結果）を格納し、認識結果が正しいか否かを「これでよいですか？」という発声を行って確認するようになっている。
【００１６】
次に、図１に示したコンピュータ１００の処理フローを図３及び図４を用いて説明する。まず、図３を用いてブレーク条件入力処理を説明する。ブレーク条件登録部１は、ユーザに対してテキスト又は音声によるブレーク条件の入力を音声等により促し、ユーザからのテキスト又は音声によるブレーク条件の入力を受け付ける（ステップＳ１）。音声入力の場合には、マイク１０２を介して音声が入力され、音声処理部１２の音声認識処理によりテキストデータに変換され、ブレーク条件登録部１に入力される。テキスト入力の場合には、キーボードなどの入力装置１０１から入力されたデータが、テキストデータとしてブレーク条件登録部１に入力される。
【００１７】
そして、ブレーク条件登録部１は、入力を受け付けたブレーク条件をブレーク条件リスト格納部２に格納されたブレーク条件リストに追加登録する（ステップＳ３）。ブレーク条件は、１に限定されず、２以上のブレーク条件がブレーク条件リストに登録される場合もある。なお、例えば「はい」というブレーク条件がブレーク条件リストに登録されたものとする。
【００１８】
次に、デバッグ時の処理について図４を用いて説明する。まず、デバッグ実行処理部５は、ＶｏｉｃｅＸＭＬドキュメント格納部７を参照して、ユーザにデバッグ実行が指示されたＶｏｉｃｅＸＭＬドキュメント内の実行すべき１ラインをデバッグ実行する（ステップＳ１１）。そして、デバッグ位置取得部６は、デバッグ実行処理部５から現在の実行位置（例えば行番号）情報を取得し、メモリ等に格納する（ステップＳ１３）。デバッグ実行の結果、例えばユーザによる発話を促す音声などを音声処理部１２を介してスピーカ１０３から出力する場合がある。このような場合には、ユーザからの音声入力がマイク１０２及び音声処理部１２を介して行われるのを待つことになる。従って、デバッグ実行処理部５は、ユーザからの応答として音声入力を待つ状態にあるか判断する（ステップＳ１５）。音声入力待ちではない場合にはステップＳ１１に戻る。一方、音声入力待ちである場合には、デバッグ実行処理部５はユーザによる音声入力を待ち、ユーザからの音声入力があれば、発話比較部３は、マイク１０２及び音声処理部１２を介して当該音声入力による発話内容データを受け付け、メモリ等に格納する（ステップＳ１６）。そして、発話比較部３は、ブレーク条件リスト格納部２のブレーク条件リストを参照して、発話内容と比較する（ステップＳ１７）。上の例では、「はい」という内容が入力されたか判断する。この比較は、完全一致が要求される場合もあれば、一定の類似範囲まで一致と判断する場合もある。例えば、ブレーク条件が「よい」の場合、同様の場面で「よい」を「いい」と発話するユーザもいるので、一定の類似範囲まで一致と判断するか、可能性のある類似の発話内容を全てブレーク条件リストに登録する必要がある。
【００１９】
そして、発話比較部３による比較の結果一致すると判断されなかった場合（ステップＳ１９：Ｎｏルート）、発話比較部３は、発話内容をデバッグ実行処理部５に出力し、ステップＳ１１に戻る。一方、比較の結果一致すると判断された場合には（ステップＳ１９：Ｙｅｓルート）、発話比較部３はブレーク処理部４に処理開始を指示し、ブレーク処理部４は、デバッグ位置取得部６から現在の実行位置情報を取得し、ブレーク処理を実施する（ステップＳ２１）。すなわち、ＶｏｉｃｅＸＭＬドキュメント格納部７を参照して実行対象のＶｏｉｃｅＸＭＬドキュメントのデータを取得し、表示装置１０４にブレークが発生した際の実行位置が特定可能な表示を行う。例えば、図２（ｂ）に示すように、ブレーク発生時の実行位置がハッチングにて強調表示され、ユーザはどの位置でブレークが発生したか一目でわかるようになっている。なお、ハッチングではなく、アンダーラインを付したり、太文字にしたり、フォントを変更したり、その他の強調表示を行うようにしても良い。
【００２０】
このような処理を行うことにより、発話内容をブレーク条件として設定でき、実際にブレーク条件に設定された発話が行われるとブレークが発生する。従って、ユーザから特定の応答を受けた場合にのみブレークを発生させるといったことを容易に行うことができるようになるため、デバッグ効率を向上させることができる。
【００２１】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図１に示した機能ブロック図は必ずしも実際のプログラムモジュールとは対応しない場合もある。また、コンピュータ１００ではなくデバッグ専用のデバッグ装置にて上で述べた処理が実行される場合もある。
【００２２】
さらに、ＶｏｉｃｅＸＭＬドキュメントに適用した場合を説明したが、ＶｏｉｃｅＸＭＬでなくとも、ユーザとの対話により処理を進めてゆく対話システムについてのデバッガに適用することも可能である。
【００２３】
また、上で述べたコンピュータ１００においては、図５に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５（記憶部）と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。  
【００２４】
（付記１）
対話プログラムのデバッグ処理方法であって、
音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、
予めブレーク条件リストに登録され且つブレーク条件となる発話内容と前記記憶装置に格納された前記発話内容データとを比較する比較ステップと、
前記比較ステップにおいて一致すると判断された場合には、前記対話プログラムのデバッグ実行を中断させるステップと、
を含み、コンピュータにより実行されるデバッグ処理方法。
【００２５】
（付記２）
前記デバッグ実行が中断された、前記対話プログラム中の実行位置を特定し、前記対話プログラム中の当該実行位置を特定可能な態様でユーザに提示するステップと、
をさらに含む付記１記載のデバッグ処理方法。
【００２６】
（付記３）
前記ブレーク条件となる発話内容を、音声入力又はテキスト入力で受け付け、前記ブレーク条件リストに登録するステップ
をさらに含む付記１記載のデバッグ処理方法。
【００２７】
（付記４）
前記対話プログラムがＶｏｉｃｅＸＭＬのドキュメントであることを特徴とする付記１乃至３のいずれか１つ記載のデバッグ処理方法。
【００２８】
（付記５）
対話プログラムのデバッグ処理をコンピュータに実行させるためのプログラムであって、
音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納するステップと、
予めブレーク条件リストに登録され且つブレーク条件となる発話内容と前記記憶装置に格納された前記発話内容データとを比較する比較ステップと、
前記比較ステップにおいて一致すると判断された場合には、前記対話プログラムのデバッグ実行を中断させるステップと、
をコンピュータに実行させるためのプログラム。
【００２９】
（付記６）
対話プログラムのデバッグ処理装置であって、
音声入力を受け付け、当該音声入力に係る発話内容データを記憶装置に格納する手段と、
予めブレーク条件リストに登録され且つブレーク条件となる発話内容と前記記憶装置に格納された前記発話内容データとを比較する比較手段と、
前記比較手段により一致すると判断された場合には、前記対話プログラムのデバッグ実行を中断させる手段と、
を有するデバッグ処理装置。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施の形態における機能ブロック図である。
【図２】（ａ）はＶｏｉｃｅＸＭＬドキュメントの概要、（ｂ）はブレーク時の実行位置を強調表示した表示例を示す図である。
【図３】ブレーク条件の登録時の処理フローを示す図である。
【図４】デバッグ実行処理時の処理フローを示す図である。
【図５】コンピュータのブロック図である。
【符号の説明】
【００３１】
１００  コンピュータ    １０  デバッガ
１  ブレーク条件登録部    ２  ブレーク条件リスト格納部
３  発話比較部    ４  ブレーク処理部
５  デバッグ実行処理部    ６  デバッグ位置取得部
７  ＶｏｉｃｅＸＭＬドキュメント格納部
１２  音声処理部
１０１  入力装置    １０２  マイク    １０３  スピーカ
１０４  表示装置
【図１】
2006127149.tif 000003
【図２】
2006127149.tif 000004
【図３】
2006127149.tif 000005
【図４】
2006127149.tif 000006
【図５】
2006127149.tif 000007