(57)【特許請求の範囲】
【請求項１】
音声の入力手段を備え、アプリケーションプログラムの対話型処理に音声の利用が可能な音声対話型情報処理装置において、
前記入力手段により入力された音声を文字列に変換する音声認識手段と、
前記対話型処理における発話内容を視覚化するための吹き出し図形を生成する手段と、
吹き出し図形の中に表示する文字列を保存する手段と、
前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御する手段と、
一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御する手段と、
次の吹き出し図形の生成条件、及び表示済みの吹き出し図形の消去条件を保存する手段と、
表示済みの吹き出し図形の階層関係の情報を保存する手段と、
前記消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去する手段と
を備えたことを特徴とする音声対話型情報処理装置。
【請求項２】
階層関係を有する複数の吹き出し図形の前記生成条件、前記消去条件、前記階層関係の情報、並びに各吹き出し図形の中に表示する文字列又は該文字列の保存位置を特定する情報を、該複数の吹き出し図形の階層順に応じた入れ子構造の情報として保存すべくなしたことを特徴とする請求項１記載の音声対話型情報処理装置。
【請求項３】
吹き出し図形の中に表示する文字列以外の表示情報を保存する手段をさらに備え、該表示情報を吹き出し図形の中に表示すべくなしたことを特徴とする請求項１又は２記載の音声対話型情報処理装置。
【請求項４】
基準の音声情報との比較による音声認識手段の認識結果の確からしさの度合いを示す確度を取得する手段と、該確度が所定のしきい値以上であるか否かに基づいて、次の吹き出し図形を生成するか否かを判断する手段とをさらに備えたことを特徴とする請求項１乃至３のいずれかに記載の音声対話型情報処理装置。
【請求項５】
音声の入力手段を有するコンピュータにアプリケーションプログラムの音声対話型処理を実行させるコンピュータプログラムが記録されており、コンピュータでの読み取りが可能な記録媒体において、
コンピュータに、前記音声の入力手段により入力された音声を認識させて文字列に変換させるプログラムコード手段と、
コンピュータに、前記対話型処理における発話内容を視覚化するための吹き出し図形を生成させるプログラムコード手段と、
コンピュータに、予め設定されている吹き出し図形の生成条件に基づき、前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御させるプログラムコード手段と、
コンピュータに、予め設定されている次の吹き出し図形の生成条件に基づき、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御させるプログラムコード手段と、
コンピュータに、表示済みの吹き出し図形の階層関係の情報を保存させるプログラムコード手段と、
コンピュータに、保存されている吹き出し図形の消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去させるプログラムコード手段とを含むコンピュータプログラムが記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションプログラムと使用者との音声対話の内容を吹き出し図形を利用して順次表示するとともに、話題が関連している発話内容の吹き出し図形を話題の展開順に階層化して表示する機能を備えた音声対話型の情報処理装置及びこの装置をコンピュータで実現するためのコンピュータプログラムが記録されている記録媒体に関する。
【０００２】
【従来の技術】
近年のコンピュータシステムの高度化に伴い、音声認識、音声合成の技術を利用して、コンピュータシステムと使用者とが音声対話を行う環境が提供されている。
【０００３】
【発明が解決しようとする課題】
ところが、システムの音声認識、音声合成の精度が低い場合、使用者の音声が正しく認識されなかったり、合成音声が不自然なために聞き取りにくかったりする。音声が正しく認識されなかった場合、使用者は発声方法を変えたり、ゆっくり話したりして、システムに正しく認識されるように工夫しなければならない。この間、対話が途切れ、さらには話題が遡ったりする。このようなエラー補正や聞き直しを繰り返しているうちに、発声方法や合成音声の聞き取りに注意が集中してしまい、会話に集中できなくなったり、会話の流れがわからなくなってしまう。
【０００４】
本発明はこのような問題点を解決するためになされたものであって、アプリケーションプログラムと使用者との音声対話の内容を吹き出し図形を利用して順次表示し、さらに一つの話題に関して展開された発話内容の吹き出し図形を話題の展開順に階層化して表示することにより、音声認識のエラー補正、合成音声の聞き直し等、会話以外の操作を繰り返し行ったり、また一つの話題から他の話題へと寄り道した場合でも、話題や会話の流れを容易に把握できる音声対話型情報処理装置及びこの装置をコンピュータで実現するためのコンピュータプログラムが記録されている記録媒体の提供を目的とする。
【０００５】
【課題を解決するための手段】
第１発明の音声対話型情報処理装置は、音声の入力手段を備え、アプリケーションプログラムの対話型処理に音声の利用が可能な音声対話型情報処理装置において、前記入力手段により入力された音声を文字列に変換する音声認識手段と、前記対話型処理における発話内容を視覚化するための吹き出し図形を生成する手段と、吹き出し図形の中に表示する文字列を保存する手段と、前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御する手段と、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御する手段と、次の吹き出し図形の生成条件、及び表示済みの吹き出し図形の消去条件を保存する手段と、表示済みの吹き出し図形の階層関係の情報を保存する手段と、前記消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去する手段とを備えたことを特徴とする。
【０００６】
第２発明の音声対話型情報処理装置は、第１発明の、階層関係を有する複数の吹き出し図形の前記生成条件、前記消去条件、前記階層関係の情報、並びに各吹き出し図形の中に表示する文字列又は該文字列の保存位置を特定する情報を、該複数の吹き出し図形の階層順に応じた入れ子構造の情報として保存すべくなしたことを特徴とする。
【０００７】
第３発明の音声対話型情報処理装置は、第１又は第２発明に加えて、吹き出し図形の中に表示する文字列以外の表示情報を保存する手段をさらに備え、該表示情報を吹き出し図形の中に表示すべくなしたことを特徴とする。
【０００８】
第４発明の音声対話型情報処理装置は、第１乃至第３発明のいずれかに加えて、基準の音声情報との比較による音声認識手段の認識結果の確からしさの度合いを示す確度を取得する手段と、該確度が所定のしきい値以上であるか否かに基づいて、次の吹き出し図形を生成するか否かを判断する手段とをさらに備えたことを特徴とする。
【０００９】
本発明の記録媒体は、音声の入力手段を有するコンピュータにアプリケーションプログラムの音声対話型処理を実行させるコンピュータプログラムが記録されており、コンピュータでの読み取りが可能な記録媒体において、コンピュータに、前記音声の入力手段により入力された音声を認識させて文字列に変換させるプログラムコード手段と、コンピュータに、前記対話型処理における発話内容を視覚化するための吹き出し図形を生成させるプログラムコード手段と、コンピュータに、予め設定されている吹き出し図形の生成条件に基づき、前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御させるプログラムコード手段と、コンピュータに、予め設定されている次の吹き出し図形の生成条件に基づき、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御させるプログラムコード手段と、コンピュータに、表示済みの吹き出し図形の階層関係の情報を保存させるプログラムコード手段と、コンピュータに、保存されている吹き出し図形の消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去させるプログラムコード手段とを含むコンピュータプログラムが記録されていることを特徴とする。
【００１０】
本発明では、対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、アプリケーションプログラムにより表示された情報の表示内容、例えば使用者と対話するキャラクタエージェントに関連付けて表示し、それに対して、マイクロフォンのような入力手段により入力された使用者の音声を文字列に変換し、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に親吹き出し・子供吹き出し・孫吹き出しといったように階層化して表示していき、消去条件を満足した時点、例えば一つの話題が終了した段階で、表示済みの吹き出し図形をその文字列とともに消去する。
【００１１】
これにより、音声認識のエラー補正、合成音声の聞き直し等、会話以外の操作を繰り返し行ったり、また一つの話題から他の話題へと寄り道した場合でも、過去の発話内容が階層化されて残っているので話題や会話の流れを容易に把握できる。
【００１２】
また本発明では、階層関係を有する複数の吹き出し図形の生成条件、消去条件、階層関係の情報、並びに各吹き出し図形の中に表示する文字列又は表示する文字列の保存位置を特定する情報を、吹き出し別に保存するのではなく、複数の吹き出し図形の階層順に応じた入れ子構造の情報として保存する。
【００１３】
これにより、複数の吹き出しの文書を一つにまとめ、管理する文書の数を少なくすることができる。
【００１４】
また本発明では、吹き出し図形の中に表示する文字列以外の、例えば静止画、動画等の表示情報を吹き出し図形の中に表示する。
【００１５】
これにより、文字以外に、静止画、動画等を利用して吹き出しによる会話表現を豊かにすることができる。
【００１６】
また本発明では、予め蓄積しておいた基準の音声情報との比較により、音声認識結果の確からしさの度合いを示す確度を取得し、この確度が所定のしきい値以上の場合は、この話題から発展する会話内容の吹き出し図形を生成するが、確度がしきい値以下の場合は次の図形を生成しない。
【００１７】
これにより、音声認識結果の確度が低い場合、即ち認識エラーである率が高い場合、使用者に余分な認識結果の確認操作を求めることなく、吹き出し図形を表示しないことにより使用者に認識エラーであることを通知することができる。
【００１８】
また本発明では、吹き出し図形の中に表示する文字列を通信ネットワークに接続されるサーバコンピュータのような他の装置に保存しておき、通信ネットワークを介してこの装置にアクセスして、吹き出し図形の中に表示する文字列を取得する。
【００１９】
これにより、複数台の音声対話型情報処理装置で使用する吹き出し図形用の文字列を１台の装置で一括管理できるので文字列データのメンテナンスが容易になる。
【００２０】
また本発明では、例えばWindows （Microsoft 社）におけるマウスのドラッグ・アンド・ドロップ操作のような手段で、吹き出し図形の表示位置を変更した場合、変更後の吹き出し図形の吹き出し位置を指示する図形（アングル）が吹き出し図形から延出する位置、角度等を、変更前に指し示していた吹き出し図形を指し示すように変更する。
【００２１】
これにより、他の吹き出し図形との関連性を維持したまま、吹き出し図形を任意の位置に移動して、その下に隠されていた情報を見ることができる。
【００２２】
また本発明では、マイクロフォンのような音声入力手段により入力された使用者の音声を受け付けることが可能な吹き出し図形の、色を変えたり、形を変えたり、点滅させたり等、他の吹き出し図形と異なる態様で表示する。
【００２３】
これにより、複数の吹き出し図形が表示されていても、使用者は対話の対象となっている吹き出し図形がどれであるかを容易に識別することができる。
【００２４】
また本発明では、基準の音声情報との比較による音声認識手段の認識結果の確からしさの度合いを示す確度を取得し、この確度が所定のしきい値以下の場合は、例えば定型分を表現する一時的な吹き出し図形を利用して認識結果の正否を問い合わせ、問い合わせの結果、認識結果が正しい場合に次の吹き出し図形を生成する。
【００２５】
これにより、認識結果の正否を問い合わせるための一つの定型文を用意しておくだけで、どの吹き出し図形からも問い合わせの吹き出し図形を生成することができる。
【００２６】
また本発明では、アプリケーションプログラム側の発話内容の文字列から音声を合成し、この合成音声をスピーカのような出力手段により出力する。
【００２７】
これにより、特にナビゲーションシステムのようなアプリケーションにおいて、ディスプレイ画面を見なくても、アプリケーションプログラム側の発話内容を音声で把握できる。
【００２８】
【発明の実施の形態】
図１は本発明の音声対話型情報処理装置（以下、本発明装置という）の機能ブロック図である。
アプリケーションプログラム（以下、アプリケーションという）10は、階層化吹き出しを利用して使用者との間の音声対話を行うアプリケーションプログラムである。
【００２９】
アプリケーション10のID保存部101 は、アプリケーション10から起動された吹き出し管理部20（後述する）が、アプリケーション10側の最初の発話内容の文字列をその中に表示するための親吹き出しを吹き出しＡオブジェクト30（後述する）からの指示により生成した時点で吹き出しＡに一意に付与したIDを保存するID保存部 101を有する。
【００３０】
なお、階層化吹き出しを利用する音声対話処理のプログラムは、既存のアプリケーションへのアドオンソフトとして提供することも可能であるが、この場合、吹き出しＡのIDはアプリケーション10以外の場所に保存される。
【００３１】
吹き出し管理部20は、アプリケーション10側の発話内容、及び使用者の発話内容の文字列をその中に表示するための吹き出しを、アプリケーション10、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40、又は吹き出しＣオブジェクト50の指示により生成し、また消去する。さらに、吹き出し管理部20は、アプリケーション10、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40、又は吹き出しＣオブジェクト50に対する指示、情報の送受信を行う。
【００３２】
吹き出し管理部20は、吹き出しが生成される都度、生成された各吹き出しに付与したID、親吹き出しID、吹き出し状態フラグ（吹き出しの状態、親吹き出しに対する条件、終了時の条件等）、吹き出しオブジェクトポインタ（吹き出しが生成されるときに生成した吹き出しオブジェクトへのポインタ）、子供吹き出しIDを列挙した子供吹き出しリスト等、前記階層関係の情報を含む吹き出し別の吹き出し情報リスト201 を生成する。吹き出し管理部20は、吹き出しが表示されている間中、吹き出し情報を保存する一方、吹き出しが消去される時には対応する吹き出し情報を吹き出し情報リスト201 から消去する。
【００３３】
図２は吹き出し情報リスト201 の概念図、図３は階層化吹き出しの概念図である。
また吹き出し管理部20は、時間を遅延させて吹き出しオブジェクトを起動するための起動タイマ202 を備える。
【００３４】
また吹き出し管理部20に、音声入力を受け付ける吹き出しのIDを保存するID保存部（図示せず）を設けておき、マウス等のポインティングデバイスにより、そこに文字、画像等が表示されていない吹き出しの部分でのクリック操作等により、その吹き出しが入力可とされ、入力可となったことが吹き出し管理部20に通知され、吹き出し管理部20はID保存部の内容を更新し、新しく入力可となった吹き出しを他の吹き出しと異なる色、形状等に変える。
【００３５】
吹き出しＡオブジェクト30は、アプリケーション10の指示により指定された文書を文書保存部60から読み込む文書読み込み部301 と、読み込んだ文書を解析して、その吹き出しでの文書の表示、及び他の子供吹き出しの生成指示等を行う文書解析部302 とを備える。また吹き出しが消去されるまでの時間が指定されている場合に吹き出しの終了を監視するタイマ303 を備えている。
【００３６】
吹き出しＢオブジェクト40、及び吹き出しＣオブジェクト50は吹き出しＡオブジェクト30と基本的に同じ構造を備えており、図１では図示省略しているが吹き出しＡオブジェクト30と同様に、親吹き出し又は子供吹き出しのオブジェクトの指示により指定された文書を文書Ｂ保存部70及び文書Ｃ保存部80からそれぞれ読み込む文書読み込み部と、読み込んだ文書の内容を解析する文書解析部とを備えている。
【００３７】
文書Ａ保存部60、文書Ｂ保存部70及び文書Ｃ保存部80に保存されている文書は例えばスクリプト言語で記述されており、その内容は、アプリケーション10側の発話の文字列からなる表現部、使用者からの音声入力を要求する入力要求部、及び使用者からの音声入力の内容に応じたイベント処理を起動する入力時イベント処理部に大別される。
【００３８】
また、文書Ａ保存部60、文書Ｂ保存部70及び文書Ｃ保存部80に、音声認識部90による認識結果の確からしさの度合いを示す確度のしきい値を設定しておき、予め蓄積しておいた基準の音声情報との比較により、音声認識結果の確からしさの度合いを示す確度を音声認識部90から取得し、この確度が所定のしきい値以上の場合は、この話題から発展する会話内容の吹き出しを生成するが、確度がしきい値以下の場合は音声入力を再び行うよう促すか、確度が低くてもそれが正しいかどうかの確認操作を行うよう吹き出しで表現する。このように確度で判断することで、入力の確実性を増すか、又はスムーズに対話を進めることができる。
【００３９】
また、認識結果の確度が所定のしきい値以下の場合は、例えば吹き出し図形を利用して認識結果の正否を使用者に問い合わせ、問い合わせの結果、認識結果が正しい場合に次の吹き出し図形を生成するという共通ルールを対話の流れに用いる場合は、吹き出し別に確認の文書を記述しておかなくても、全ての吹き出しに共通する確認用の定型文を一つ記述しておけばよい。
【００４０】
さらに、文書Ａ保存部60、文書Ｂ保存部70及び文書Ｃ保存部80に、吹き出しに表示する静止画、動画等、文字列以外の表示情報のファイルを保存しておき、吹き出しに表示させることも可能である。
【００４１】
なお、本例では吹き出しＡ、吹き出しＢ、吹き出しＣの生成条件、消去条件、吹き出し図形に表示する文字列又は表示する文字列の格納ポインタ等が吹き出し別の文書に記述されている例について説明したが、会話が同一の話題に関して展開されており、階層関係が形成されている複数の吹き出し図形の生成条件、消去条件、吹き出し図形に表示する文字列又は表示する文字列の格納ポインタ等を入れ子構造の情報として保存してもよい。
【００４２】
即ち、文書Ａ保存部60の内容に文書Ｂ保存部70の内容を入れ子構造を用いて記述し、文書Ｂ保存部70の記述範囲にさらに文書Ｃ保存部80の記述を入れ子構造で記述する。吹き出しＡオブジェクト30で文書の解析を行って、文書Ｂ保存部70（文書Ｃ保存部80の部分も含む）の文書内容に相当する部分に遭遇すると、その部分を文書バッファとして、吹き出し管理部20を介した吹き出しＢの生成、初期化の後に文書バッファを吹き出しＢオブジェクト40へ送る。吹き出しＣに関しても同様である。こうすることで取り扱う文書を一つにまとめ、管理する文書数を減らすことができる。
【００４３】
図４は吹き出しのアングルの向きの説明図である。
アプリケーション10の表示範囲が矩形の場合、アングルは矩形の中心方向を指し示すこととする。アングルは長過ぎない適当な最大長を決めておく。後にその処理手順を説明するように、アプリケーション10の矩形範囲の左上角の座標（x1, y1）と右下角の座標（x2, y2）とが吹き出し管理部20、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40、吹き出しＣオブジェクト50に通知される。
【００４４】
また吹き出しは、例えばWindows （Microsoft 社）におけるマウスのドラッグ・アンド・ドロップ操作のような手段で、その表示位置が変更された場合、変更前に指し示していた吹き出しを変更後の位置から指し示すように、変更後の吹き出し図形のアングルの吹き出しとの接点の位置、角度等が変更される。
【００４５】
図５はアングルと吹き出しとの接点の決め方の説明図である。
アングルと吹き出しとの接点（アングルの付け根）は図示した８つの位置のいずれかに設定することとする。点線で区切られた範囲にターゲット（アプリケーション10）の中心座標が含まれた場合、その範囲に含まれている接点をアングルの付け根として設定する。なお、吹き出しの中にターゲットの中心座標が含まれてしまう場合は、アングルを出さない、下向きの小さなアングルを固定的に出す、アングルを吹き出しの内側に向ける（この場合は吹き出しの表示内容が隠れる可能性がある）等の対処をする。
【００４６】
音声認識部90は、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40、又は吹き出しＣオブジェクト50の文書解析部302 による文書の解析結果に応じて起動され、マイクロフォン100 により入力された使用者の音声の認識を開始して文字列に変換し、変換した文字列の情報を、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40、又は吹き出しＣオブジェクト50に与える。
【００４７】
また音声認識部90は、基準の音声情報との比較による音声認識の確からしさを示す確度を吹き出しＡオブジェクト30、吹き出しＢオブジェクト40又は吹き出しＣオブジェクト50へ返す。
【００４８】
音声合成部110 は、吹き出しＡオブジェクト30、吹き出しＢオブジェクト40又は吹き出しＣオブジェクト50の文書解析部302 による文書の解析結果に応じて、アプリケーション10側の発話内容の文字列から音声を合成する。音声合成部110 が合成した音声はスピーカ120 により出力される。
【００４９】
次に、本発明装置による処理手順を、図６乃至図８のフローチャートに基づいて説明する。
アプリケーション10が起動されると、アプリケーション10は吹き出し管理部20を起動する。吹き出し管理部20が起動した直後はまだ吹き出し図形は一つもないので、吹き出し情報リスト201 は空である。
【００５０】
アプリケーション10が吹き出し管理部20に対して吹き出しＡの生成を指示する。吹き出し管理部20では、吹き出し生成の指示を受けると、吹き出しオブジェクトと吹き出しIDを生成する。なお、吹き出しIDは同じ数値でなければどのような数値でもよい。本例では「１」から順に付与されるものとし、「０」は生成時には使用しないこととする。
【００５１】
さらに吹き出し情報を生成して、吹き出しIDと吹き出しオブジェクトへのポインタをセットする。この吹き出しの親吹き出しは存在しないので、親吹き出しIDには「０」をセットし、吹き出し状態フラグにはアプリケーション10から生成されたことを示す"APP REQUEST CREATE"をセットしておく。子供吹き出しはまだ存在しないので子供吹き出しリストは空である。吹き出し管理部20はこの吹き出し情報を吹き出し情報リスト201 に追加する。
【００５２】
吹き出し管理部20は吹き出しIDを、生成した吹き出しオブジェクトにセットし、アプリケーション10に吹き出しIDを通知する。アプリケーション10は受け取ったIDをID保存部101 に保存する。
アプリケーション10はID保存部101 のIDを用いて吹き出し管理部20に吹き出しの初期化を指示する。
【００５３】
吹き出し管理部20は、受け取ったIDを基に吹き出し情報リスト201 から吹き出し情報を検索して、対応する吹き出しオブジェクトに対して初期化の指示を出す。吹き出しオブジェクトは初期化されると吹き出しを表示する。この時点では吹き出しはまだ指し示すものが不明であるので、アングルは固定の大きさで下方向に表示されている。アプリケーション10は同じ吹き出しIDを用いて、吹き出し管理部20に対して吹き出しがアプリケーション10を指し示すようにアプリケーション10の表示範囲（矩形）を規定する座標を指示する。なお、指し示す場所がアプリケーション10の表示範囲の一部の場合はその場所の矩形座標を指示する。
【００５４】
吹き出し管理部20は、IDに基づき、同様に対応する吹き出しオブジェクトに対して、吹き出しが指し示すべきターゲットの矩形座標を通知する。吹き出しオブジェクトは、図５に示すように、ターゲットの方向へアングルを向ける。
【００５５】
アプリケーション10は、文書Ａ保存部60から文書を読み込むように前述のIDを用いて吹き出し管理部20に指示を出す。
吹き出し管理部20は対応する吹き出しオブジェクトに対して、文書読み込み部301 に文書Ａ保存部60から文書を読み込ませる。読み込みが終了すると文書解析部302 が文書の解析を開始し、その内容に従って文字列の表示を行い、また表示した文字列の情報を音声合成部110 に伝え、音声合成部110 は文字列から音声を合成し、合成音声はスピーカ120 により出力される。
【００５６】
文書Ａ保存部60では、文書がタグと呼ばれるマーク文字列で括られており、タグの間の文字列にはタグに応じた役割を持っている。文書解析部302 による解析とは、文書の中からタグを探し出し、タグで括られた文字列をタグ毎の処理に振り分けることである。
【００５７】
なお、タグは文字列を括る以外に、タグ単体で機能を持つ場合もある。またタグには属性という文字列が付加されることがあり、これによってタグの機能を設定する場合もある。
【００５８】
吹き出しＡオブジェクト30での文書Ａ保存部60の文書内容の解析が進むと、音声認識のための記述が出現する。ここで、例えば単語認識が設定されていると、認識させたい単語（例：「はい」「いいえ」）を音声認識部90に登録する。
【００５９】
合成音声の発話が終了すると、音声合成部110 は終了の通知を吹き出しＡオブジェクト30に送る。
吹き出しＡオブジェクト30は通知を受けると、音声認識部90に認識を開始させる。ここでは「はい」又は「いいえ」が使用者から入力されるのを待つ。
【００６０】
使用者が「はい」と応答し、音声認識部90がそれを認識した場合、音声認識部90は認識結果を吹き出しＡオブジェクト30に伝える。吹き出しＡオブジェクト30では、音声認識部90に認識を終了させ、文書解析部302 は、認識結果を用いて、文書Ａ保存部60から読み込んだ文書内容に記述されている入力時イベント処理の部分の解析を行う。
【００６１】
入力時イベント処理部分には入力応答の発話、表示文字列、吹き出し管理部20を経由してアプリケーション10に文字列メッセージを送る指示、子供吹き出しの生成等が記述されている。
ここで、文書Ａ保存部60で、「はい」の入力イベントがあった場合の処理が吹き出しＢオブジェクト40の生成であり、吹き出しＢオブジェクト40に文書Ｂ保存部70から文書を読み込ませるという指示であった場合、吹き出しＡオブジェクト30は吹き出し管理部20に対して子供の吹き出しＢオブジェクト40の生成を依頼する。そのときの依頼条件として、文書Ｂ保存部70の文書が読み込むべき文書として指定さていた場合、吹き出しＡオブジェクト３０は吹き出しの生成依頼を、読み込むべき文書の読み込み先である文書Ｂ保存部70の識別情報とともに吹き出し管理部20に送ることになる。このとき自分の吹き出しIDも送る。
【００６２】
吹き出し管理部20では、依頼に基づき、新しい吹き出しオブジェクトと新しい吹き出しIDを生成する。さらに新しい吹き出し情報を生成し、新しい吹き出しIDと吹き出しオブジェクトのポインタとを吹き出し情報にセットし、親吹き出しIDに依頼元の吹き出しIDをセットする。吹き出し状態フラグには親吹き出しの依頼により生成されたことを示す"PARENT REQUEST CREATE" をセットする。そして新しい吹き出し情報を吹き出し情報リスト201 に追加する。
【００６３】
また吹き出し管理部20は、親吹き出しのIDから吹き出し情報を検索し、それの子供吹き出しリストに、新しく生成した子供吹き出しのIDを追加する。続いて、生成した吹き出しオブジェクトに対して初期化の指示を出す。
そして吹き出し管理部20は吹き出しＡオブジェクト30に吹き出しの矩形範囲（例えば吹き出しに外接する矩形範囲）の座標情報の取得を依頼し、親吹き出しの矩形範囲の座標情報を取得する。
【００６４】
吹き出し管理部20は親吹き出しの吹き出し情報の子供吹き出しリストに存在する子供吹き出しIDを持つ吹き出しオブジェクトすべてに対して親吹き出しの矩形範囲の座標情報を伝える。これで子供吹き出しのアングルが親吹き出しを指し示すようになる。
【００６５】
さらに吹き出し管理部20は新しい吹き出しオブジェクトに対して文書Ｂ保存部70からの文書の読み込みを指示する。こうして、吹き出しＡオブジェクト30による吹き出しＢオブジェクト40の生成依頼は完了する。吹き出しＡオブジェクト30は吹き出しＢオブジェクトによる吹き出しの表示中は動作を停止する。
【００６６】
吹き出しＢオブジェクト40では、文書Ｂ保存部70からの文書の読み込みが完了すると、続けて文書解析部で文書の解析を始め、吹き出しへの内容文字列表示と音声合成による発話を開始する。ここで、解析が進むと音声認識の記述が出現するので、認識の設定をし、音声発話が終了すると認識が始まる。
【００６７】
使用者からの発声で音声認識部90で認識が行われ、同様にして文書Ｂ保存部70の文書の入力時イベント処理部分の解析が行われ、それにより子供吹き出しの生成の記述が出現すると、同様にして吹き出しＣオブジェクト50の生成が行われる。吹き出しＢオブジェクト40は吹き出し管理部20に文書Ｃ保存部80からの文書の読み込み指示と、自分の吹き出しIDとともに新しい吹き出しの生成依頼を出す。吹き出し管理部20では吹き出しＣオブジェクト50の生成が行われる。生成の仮定は吹き出しＢオブジェクト40の場合と同様である。吹き出しＣオブジェクト50による吹き出しの表示中は、吹き出しＢオブジェクト40は動作を停止する。
【００６８】
吹き出しＣオブジェクト50では、文書Ｃ保存部80からの文書の読み込みが完了すると、続けて文書解析部で文書の解析を始め、同様に、吹き出しの内容文字列表示、音声合成による発話が行われ、さらに音声認識が開始される。
使用者の発声した音声の認識が行われると、文書Ｃ保存部80から読み込んだ文書の入力時イベント処理の部分の解析が行われる。入力時イベント処理で吹き出しの終了が指示されていた場合、吹き出しＣオブジェクト50は終了する。終了時には終了通知を、自分の吹き出しIDとともに吹き出し管理部20に通知する。また終了通知には音声認識部20で認識された文字を付随させることができる。
【００６９】
吹き出し管理部20では、吹き出しＣオブジェクト50から終了通知を受けると、その吹き出しIDを持つ吹き出し情報をリストから検索し、そこにある親吹き出しIDから親吹き出しの吹き出し情報を検索し、その子供吹き出しリストから、終了する吹き出しの子供吹き出しIDを削除する。
【００７０】
また吹き出しＣオブジェクト50の吹き出し情報の吹き出し状態フラグを調べ、"PARENT REQUEST CREATE" の状態であることをチェックしておき、吹き出し情報を削除する。そして親吹き出しによって生成されたので、親吹き出し（本例では吹き出しＢ）の吹き出しオブジェクトに対して、吹き出しＣの吹き出しIDとともに子供吹き出しが終了したことを通知する。
【００７１】
吹き出しＢオブジェクト40は吹き出しＣオブジェクト50から吹き出しＣの終了通知を受けると、入力時イベント処理部分の解析を再開する。ここで吹き出しの終了命令が解析されると、吹き出しＢオブジェクト40は終了通知を吹き出しＣオブジェクト50の場合と同様に行い、終了通知を吹き出し管理部20に通知する。吹き出し管理部20は吹き出しＣオブジェクト50の場合と同様に終了処理を行う。
【００７２】
吹き出しＡオブジェクト30は、吹き出しＢオブジェクト40から吹き出しＢの終了通知を受けると、入力時イベント処理部分の解析を再開する。ここで吹き出しの終了命令が解析されると吹き出しを終了する。吹き出し管理部20は吹き出しＡの終了通知を受け取ると、吹き出しＡの吹き出し情報を検索し、親吹き出しIDがセットされていないことを確認する。また吹き出し状態フラグが"APP REQUEST CREATE"の状態であることをチェックしておき、吹き出し情報を吹き出し情報リストから削除する。またアプリケーション10に、吹き出しIDとともに吹き出しＡが終了したことを通知する。以上で吹き出し情報リストが空になる。
【００７３】
アプリケーション10は吹き出し管理部20から吹き出しＡの終了通知を受け取る。アプリケーション10は、通知された吹き出しIDとID保存部101 のIDが等しいことを確認し、処理を終了する。
【００７４】
なお、吹き出し管理部20にて親吹き出しを終了させる時に、子供吹き出しリストに子供吹き出しがまだ残っていることが発見された場合、子供吹き出しは吹き出し管理部20の指示によって強制的に終了させられる。子供吹き出しの強制終了はその親吹き出しより下層の子供吹き出しすべてにわたってリカーシブに行われる。
【００７５】
なお、文書Ａ保存部60、文書Ｂ保存部70、及び文書Ｃ保存部80はネットワーク上のサーバコンピュータのような装置に存在していてもよい。この場合、それぞれの文書読み込み部にはネットワーク上のサーバコンピュータにアクセスして文書保存部から文書を読み込む機能を設ければよい。
【００７６】
また文書に保存する情報は文字列に限るものではなく、静止画、動画等の文字列以外の情報を保存しておき、これらを読み出して吹き出しの中に表示することも可能である。これにより会話表現を豊かにするこができる。
【００７７】
以上のような音声対話処理のコンピュータプログラムはコンピュータにプレインストールして提供することも、またCD-ROM、MO等の可搬型記録媒体で提供することも可能である。さらに回線経由で提供することも可能である。
【００７８】
また、以上の説明では、親吹き出し、子供吹き出し、孫吹き出しといったように、対話内容の吹き出しを話題の展開順に階層化して表示する例について説明したが、対話の補助的な説明等の発話内容以外の文字列、静止画、動画等をその表示内容とする吹き出しを、該当する吹き出しに関連付けて表示してもよい。
【００７９】
【実施例】
次に、本発明装置における階層化吹き出しを利用した音声対話の具体例を、アプリケーション10がキャラクタエージェントの場合を例にして説明する。キャラクタエージェントではスクリプト言語を処理することができるものとし、このスクリプトに吹き出しに関する指示を記述することで吹き出しの生成及び消去を実行する。
【００８０】
文書Ａ保存部60、文書Ｂ保存部70、及び文書Ｃ保存部80には文書ファイル"DocumentA.blml""DocumentB.blml""DocumentC.blml"がそれぞれ保存されている。文書ファイルの記述はXML 文書の記述形式に準じている。文書ファイルはテキストエディタ等で容易に加筆、修正を行うことができる。文書ファイルの場面の部分は、表現部、入力要求部、及び入力時イベント処理部から構成されている。
【００８１】
図９は前述の吹き出しＡ（親吹き出し）を生成するための吹き出し文書ファイル"DocumentA.blml"の内容の一例を示す図である。以下に矢符で示した行の内容を説明する。
(1)XML文書のヘッダ。
(2) 吹き出し文書内容の始まり。
(3) 内容表示場面の始まり。"label" は場面につけられたラベル名。
(4) 表示または発話される文字列。
(5) 表示で改行する。
(6) 音声認識で単語入力を要求する。"voice in"で入力させたい単語を設定する。これは視覚の枠と共に表示もされる。"hit set var" はその認識が行われたときに変数に値を代入する。ここでは変数"$answer$"が使われる。
(7) "reqrmnt" の条件で入力があったときに処理される部分。
(8) 子供吹き出しの指定。"name"は子供吹き出しの名前。"src" は読み込む文書ファイルを示す。
(9) 子供吹き出しが終了したら、ここから再開する。「ありがとう」の表示と発話が行われる。
(10)吹き出しを終了する。
(11)入力時の処理終了。
(12)"$answer$"が"no"のときの入力イベント処理。
(13)表示場面の終了。
(14)吹き出し文書の終了。
【００８２】
図１０は前述の吹き出しＢ（吹き出しＡの子供吹き出し）を生成するための吹き出し文書ファイルDocumentB.blmlの内容の一例を示す図である。以下に矢符で示した行の内容を説明する。
(15)音声認識では自由な言葉が入力できる。入力された文字列が"$hobby$" の変数に代入される。吹き出しには入力結果が中に表示される枠が現れる。
(16)条件は"free"ということで特になし。
(17)親吹き出しからのメッセージとして"$hobby$" 変数の内容を与える。
(18)"SCENE3"のラベルを持つ場面に飛ぶ。
【００８３】
図１１は前述の吹き出しＣ（吹き出しＡの孫吹き出し）を生成するための吹き出し文書ファイルDocumentC.blmlの内容の一例を示す図である。以下に矢符で示した行の内容を説明する。
(19)"$parent msg$"には親吹き出しから送られた文字列が入っている。
【００８４】
図１２はアプリケーション起動時に実行されるスクリプトの一例の図である。以下に矢符で示した行の内容を説明する。
(20)吹き出しID保存部。
(21)「吹き出し管理部」の起動。
(22)吹き出し生成、吹き出しIDの受け取り。
(23)吹き出し初期化。
(24)キャラクタエージェントに外接する矩形（今回のターゲット）算出。
(25)矩形座標を通知。
(26)文書ファイル読み込み。
【００８５】
図１３はアプリケーション終了時に実行されるスクリプトの一例の図である。以下に矢符で示した行の内容を説明する。
(27)保存していた吹き出しIDの吹き出しが終了したかチェック。
(28)吹き出し管理部の終了指示。
(29)キャラクタエージェントを終了させる。
【００８６】
図１４乃至図１６はキャラクタエージェントとの対話の推移例の図である。
図１４の１段目から図１５の１段目までは「趣味」の中の「車」を話題としているが、図１５の２段目からは「趣味」の中の「本」の話題に変わっている。
話題が変わっても「趣味」の話題であるので、親吹き出しは消去されずに残り、そこから先の話題とは別の子供吹き出しが新たに生成される。
【００８７】
なお、以上の説明では本発明装置がパーソナルコンピュータの場合について説明したが、本発明装置はPDA (Personal Digital Assistant)、ナビゲーションシステム、双方向テレビジョン等であってもよく、本発明と同様の効果が得られる。
【００８８】
また、以上の説明では使用者の音声を音声認識することでアプリケーション側と対話を行っているが、雑音が多くて音声の認識率が低い環境では、「Yes 」「No」等の単純な言葉の入力を使用者のジェスチャーで行い、その画像を認識して会話内容を判断するようにしてもよい。また、その他に、スタイラスペンのような入力手段を補助手段として利用してもよい。
【００８９】
（付記１）音声の入力手段を備え、アプリケーションプログラムの対話型処理に音声の利用が可能な音声対話型情報処理装置において、前記入力手段により入力された音声を文字列に変換する音声認識手段と、前記対話型処理における発話内容を視覚化するための吹き出し図形を生成する手段と、吹き出し図形の中に表示する文字列を保存する手段と、前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御する手段と、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御する手段と、次の吹き出し図形の生成条件、及び表示済みの吹き出し図形の消去条件を保存する手段と、表示済みの吹き出し図形の階層関係の情報を保存する手段と、前記消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去する手段とを備えたことを特徴とする音声対話型情報処理装置。
（付記２）階層関係を有する複数の吹き出し図形の前記生成条件、前記消去条件、前記階層関係の情報、並びに各吹き出し図形の中に表示する文字列又は該文字列の保存位置を特定する情報を、該複数の吹き出し図形の階層順に応じた入れ子構造の情報として保存すべくなしたことを特徴とする付記１記載の音声対話型情報処理装置。
（付記３）吹き出し図形の中に表示する文字列以外の表示情報を保存する手段をさらに備え、該表示情報を吹き出し図形の中に表示すべくなしたことを特徴とする付記１又は２記載の音声対話型情報処理装置。
（付記４）基準の音声情報との比較による音声認識手段の認識結果の確からしさの度合いを示す確度を取得する手段と、該確度が所定のしきい値以上であるか否かに基づいて、次の吹き出し図形を生成するか否かを判断する手段とをさらに備えたことを特徴とする付記１乃至３のいずれかに記載の音声対話型情報処理装置。
（付記５）吹き出し図形の中に表示する文字列が通信ネットワークに接続される他の装置に保存されており、通信ネットワークを介して該装置にアクセスする手段と、吹き出し図形の中に表示する文字列を該装置から取得する手段とをさらに備えたことを特徴とする付記１乃至４のいずれかに記載の音声対話型情報処理装置。
（付記６）吹き出し図形の表示位置を変更する手段をさらに備え、変更後の吹き出し図形を、変更前の該吹き出し図形を関連付けて表示していた吹き出し図形との関連付けを維持して表示すべくなしたことを特徴とする付記１乃至５のいずれかに記載の音声対話型情報処理装置。
（付記７）入力された音声を受け付けることが可能な吹き出し図形を、他の吹き出し図形と異なる態様で表示すべくなしたことを特徴とする付記１乃至６のいずれかに記載の音声対話型情報処理装置。
（付記８）基準の音声情報との比較による音声認識手段の認識結果の確からしさの度合いを示す確度を取得する手段と、該確度が所定のしきい値以下の場合は認識結果の正否を問い合わせる手段とをさらに備え、問い合わせの結果、認識結果が正しい場合に次の吹き出し図形を生成すべくなしたことを特徴とする付記１乃至７のいずれかに記載の音声対話型情報処理装置。
（付記９）アプリケーションプログラム側の発話内容の文字列から音声を合成する音声合成手段と、音声合成手段が合成した音声を出力する手段とをさらに備えたことを特徴とする付記１乃至８のいずれかに記載の音声対話型情報処理装置。
（付記１０）音声の入力手段を有するコンピュータにアプリケーションプログラムの音声対話型処理を実行させるコンピュータプログラムが記録されており、コンピュータでの読み取りが可能な記録媒体において、コンピュータに、前記音声の入力手段により入力された音声を認識させて文字列に変換させるプログラムコード手段と、コンピュータに、前記対話型処理における発話内容を視覚化するための吹き出し図形を生成させるプログラムコード手段と、コンピュータに、予め設定されている吹き出し図形の生成条件に基づき、前記対話型処理の開始時の発話内容の文字列をその中に含む吹き出し図形を、前記アプリケーションプログラムにより表示された情報の表示内容に関連付けて表示すべく制御させるプログラムコード手段と、コンピュータに、予め設定されている次の吹き出し図形の生成条件に基づき、一つの発話内容から展開する次の発話内容の文字列を含む吹き出し図形を、話題の展開順に階層化して表示すべく制御させるプログラムコード手段と、コンピュータに、表示済みの吹き出し図形の階層関係の情報を保存させるプログラムコード手段と、コンピュータに、保存されている吹き出し図形の消去条件に一致する吹き出し図形を、それに含まれている文字列とともに消去させるプログラムコード手段とを含むコンピュータプログラムが記録されていることを特徴とする記録媒体。
【００９０】
【発明の効果】
以上のように、本発明では、アプリケーションプログラムと使用者との音声対話の内容を吹き出し図形を利用して順次表示し、さらに一つの話題に関して展開された発話内容の吹き出し図形を話題の展開順に階層化して表示するので、音声認識のエラー補正、合成音声の聞き直し等、会話以外の操作を繰り返し行ったり、また一つの話題から他の話題へと寄り道した場合でも、話題や会話の流れを容易に把握できるという優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明装置の機能ブロック図である。
【図２】吹き出し情報リストの概念図である。
【図３】階層化吹き出しの概念図である。
【図４】吹き出しのアングルの向きの説明図である。
【図５】吹き出しのアングルの接点の決め方の説明図である。
【図６】本発明装置の処理手順のフローチャート（その１）である。
【図７】本発明装置の処理手順のフローチャート（その２）である。
【図８】本発明装置の処理手順のフローチャート（その３）である。
【図９】吹き出し文書Ａのファイル内容の一例の図である。
【図１０】吹き出し文書Ｂのファイル内容の一例の図である。
【図１１】吹き出し文書Ｃのファイル内容の一例の図である。
【図１２】アプリケーション起動時に実行されるスクリプトの一例の図である。
【図１３】アプリケーション終了時に実行されるスクリプトの一例の図である。
【図１４】キャラクタエージェントとの対話の推移例の図（その１）である。
【図１５】キャラクタエージェントとの対話の推移例の図（その２）である。
【図１６】キャラクタエージェントとの対話の推移例の図（その３）である。
【符号の説明】
10  アプリケーション
101 ID保存部
20  吹き出し管理部
201 吹き出し情報リスト
202 起動タイマ
30  吹き出しＡオブジェクト
301 文書読み込み部
302 文書解析部
303 タイマ
40  吹き出しＢオブジェクト
50  吹き出しＣオブジェクト
60  文書Ａ保存部
70  文書Ｂ保存部
80  文書Ｃ保存部
90  音声認識部
100 マイクロフォン
110 音声合成部
120 スピーカ
【図１】
0004678946.tif 000002
【図２】
0004678946.tif 000003
【図３】
0004678946.tif 000004
【図４】
0004678946.tif 000005
【図５】
0004678946.tif 000006
【図６】
0004678946.tif 000007
【図７】
0004678946.tif 000008
【図８】
0004678946.tif 000009
【図９】
0004678946.tif 000010
【図１０】
0004678946.tif 000011
【図１１】
0004678946.tif 000012
【図１２】
0004678946.tif 000013
【図１３】
0004678946.tif 000014
【図１４】
0004678946.tif 000015
【図１５】
0004678946.tif 000016
【図１６】
0004678946.tif 000017