(57)【特許請求の範囲】
【請求項１】
ユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する手段と、前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する手段と、生成された出力情報を前記単位出力情報毎に出力する手段とを備える、ユーザとの対話を行う対話装置であって、
さらに、前記対話装置からユーザヘの前記単位出力情報の出力の途中において新たな入力がされた場合に、当初の入力に対応した単位出力情報の語尾を変更して出力し、その後前記新たな入力の認識結果に基づいた出力情報を出力する、前記単位出力情報を変更する手段を具備することを特徴とする対話装置。
【請求項２】
ユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する手段と、前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する手段と、生成された出力情報を前記単位出力情報毎に出力する手段とを備える、ユーザとの対話を行う対話装置であって、
さらに、前記対話装置からユーザヘの前記単位出力情報の出力の途中において新たな入力がされた場合に、当初の入力に対応した単位出力情報をそのまま出力すると共に接続のための文言を追加し、その後前記新たな入力の認識結果に基づいて出力情報を出力する、
前記単位出力情報を変更する手段を具備することを特徴とする対話装置。
【請求項３】
ユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する手段と、前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する手段と、生成された出力情報を前記単位出力情報毎に出力する手段とを備える、ユーザとの対話を行う対話装置であって、
さらに、前記対話装置からユーザヘの前記単位出力情報の出力の途中において新たな入力がされた場合に、この新たな入力のタイミングによって、当初の入力に対応した単位出力情報の語尾を変更して出力すると共に、前記新たな入力の認識結果に基づいた出力情報を出力するか、或いは当初の入力に対応した単位出力情報をそのまま出力すると共に文言を追加し、その後前記新たな入力の認識結果に基づいた出力情報を出力するか、選択的に処理を変更する手段を具備することを特徴とする対話装置。
【請求項４】
前記単位出力情報を変更する手段は、ユーザに対する出力情報を変更するための出力変更パターンを保持するテーブルを具備することを特徴とする請求項１又は２の何れか１項に記載の対話装置。
【請求項５】
前記単位出力情報を変更する手段は、ユーザに対する出力情報を逐次管理する手段を具備し、前記ユーザヘの出力を変更する手段は前記新たな入力の認識結果と前記単位出力情報の出力状況とに基づいて前記単位出力情報を変更することを特徴とする請求項４に記載の対話装置。
【請求項６】
入力の認識結果に基づいてユーザヘの単位出力情報を変更する際に、実際の出力が、前記出力情報を途中停止する手段の算出した出力停止予定位置を既に過ぎていた場合に、前記出力情報を逐次管理する手段は実際の停止位置の情報を新たに生成し、前記実際の停止位置と前記出力停止予定位置との差が閾値を超えているか否かに応じて前記単位出力情報の内容を変更することを特徴とする請求項５記載の対話装置。
【請求項７】
入力認識手段がユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する工程と、出力情報生成手段が前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する工程と、情報出力手段が生成された出力情報を前記単位出力情報毎に出力する工程とを実行する装置若しくはシステムをユーザが操作する際の対話方法であって、
さらに、前記出力工程における前記単位出力情報の出力途中において新たな入力がされた場合に、前記入力認識手段が前記新たな入力を認識する工程と、単位出力情報変更手段が前記新たな入力のタイミングによって、当初の入力に対応した単位出力情報の語尾を変更して出力し、前記新たな入力の認識結果に基づいた出力情報を出力するか、或いは当初の入力に対応した単位出力情報をそのまま出力すると共に接続のための文言を追加し、その後前記新たな入力の認識結果に基づいて出力情報を出力するか、選択的に前記単位出力情報を変更して出力する工程と、を有することを特徴とする対話方法。
【請求項８】
さらに、出力情報管理手段がユーザに対する出力情報を逐次管理する工程を有し、前記単位出力情報変更手段が前記単位出力情報を変更して出力する工程において前記新たな入力の認識結果と前記出力情報の出力状況とに基づいて前記単位出力情報を変更することを特徴とする請求項７記載の対話方法。
【請求項９】
コンピュータを、請求項１乃至６の何れか１項に記載の対話装置として機能させるためのプログラム。
【請求項１０】
請求項９記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザとの間で音声対話を行う対話装置に関し、特にマルチモーダル・インタフェースを用いた対話装置に関する。
【０００２】
【従来の技術】
一般に、ユーザとシステムとの対話インタフェースの利用に際しては、ユーザに適した応答機能とその学習機能、また、「案内システム」、「秘書システム」、「受付システム」など一般的なタスクの遂行を実現する機能、音声・ジェスチャなどの入力手段とその認識機能、擬人エージェントなどを用いた出力手段とその出力機能が必要となる。
【０００３】
従来、このような機能の実現のためには、マイクによる音声入力や音声認識機能、カメラなどによる画像入力を用いた顔画像入力機能、ルールベースによる対話管理機能、あらかじめ用意された対話の流れのスクリプトを利用する方法などが用いられている。このようなシステムは、１つまたは複数の入力手段からの情報を認識し、該当するタスクの進行に合わせて統合的に制御する。制御結果は、１つまたは複数の出力は手段を用いて、ユーザに出力される。
【０００４】
ここで問題となるのは、対話システムを利用するユーザには、子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプがあるという点である。言い換えれば、対話システムは、不特定多数のユーザを対象としており、使う人によって、その対応の仕方は、千差万別であるという点である。しかも、同一のユーザでも使用頻度や慣れに応じて操作方法が変化する。そのため、対話システムは、ユーザの好みに合わせて入力手段・出力手段の形態や応答速度を変更できなければならない。さらに、使用頻度や慣れに応じて、ユーザの好みに合った形態に変化できるような機能を提供しなければならない。
【０００５】
このような機能が欠けている場合、システムの応答はどのユーザに対しても変わらず常に一定の応対をするため、システムが本来持っている使いにくい個所、使用頻度の多さや慣れからくる使いにくさをユーザに強いることになる。すなわち、対話システムに音声やジェスチャ、擬人化インタフェース等を用いることにより、一定の機能と使いやすさを提供できることは当然のこととして、上記の問題のユーザの利用形態にも適応することが求められる。そして、対話システム側からユーザに何等かの返答をする場合、システムの状況を適確に伝えることが、ユーザの立場に立った使い勝手のよいヒューマンインタフェースとして重要である。
【０００６】
対話システムの従来の技術としては、ＮＴＴコミュニケーション科学基礎研究所で開発されている対話システム「音声対話で柔軟なやりとりができるコンピュータ；音声対話システムＤＵＧ−１」（ＪＴＴ誌２０００年１２月号Ｖｏｌ．２３，Ｎｏ．１２；アドバンストテクノロジ株式会社）のように、逐次理解型・逐次生成法という技術を用いることで、自然なやりとりを実現しているものがある。ここでは、システムが出力途中にユーザからの入力があった場合、出力停止し、ユーザからの新しい入力に対応するという方法を行っている。つまり、図１３（ａ）に示すような処理の流れになっている。
【０００７】
図１３（ａ）に示す従来技術では、「水曜日は、長谷川人事部長と打ち合わせがあります。」という内容を対話システムが出力している途中で、ユーザに「川崎課長は？」と割り込まれた場合を示している。ただし、「水曜日は」、「長谷川人事部長と」、「打ち合わせがあります。」、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」という単位でユーザの入力がないかどうかチェックを行っていると仮定する。以下、これらの単位を入力に関する場合は単位入力情報と、出力に関する場合は単位出力情報という。
【０００８】
従来の対話システムでは、「長谷川人事部長と」という単位出力情報の出力を行っている最中に、「川崎課長は？」という入力がユーザから割り込まれた場合、「打ち合わせがあります。」という出力を中止し、「はい」という相槌を生成する。その後、割り込んだユーザ情報を解釈した後、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」というように単位出力情報毎に出力を行う。中には、「はい」という相槌がなく、そのまま「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」という出力を行う例もある。
【０００９】
図１４は、従来のシステムを示すブロック図であり、図１５は、従来のシステムの処理を示すフローチャートであり、図１６は、出力パターンテーブルの一例を示す図である。
図１４において、ユーザ情報入力部１４０１では、ユーザから入力された音声信号や画像イメージ等の入力情報を元に認識前処理及び認識処理を行う。この認識処理は、例えば、音声認識では、単語毎またはユーザ発話単位毎に認識結果を出力するのではなく、入力された信号が部分的に認識された場合でも出力を行う。すなわち、入力された信号の認識時間待ちで、その後の処理が遅れることのないように、ある一定の時間間隔または、ある範囲での時間間隔で部分的な認識結果を出力する。
【００１０】
ある一定の時間間隔または、ある範囲での時間間隔で部分的な認識結果を出力する音声認識装置としては、これまでに数多くの手法が提案・開発されている。その中で例えば、特開平５−１９７３８９号公報には、無意味な語の発声や複数の文を連続的に発声するような自然な発話について対応できるような「音声認識装置」が開示されており、特開平３−１９１４００号公報には、離散型ＨＭＭ（離散型の隠れマルコフモデル）を用いて高い音声認識性能を得る「音声認識装置」が開示されている。
【００１１】
更に、ジェスチャ認識装置としては、これまで、いくつかの手法が提案・開発されており、このうち典型的な手法としては、例えば、特開平６−１２４９３号公報に開示されているように、マウスやペンの時系列の動きからＤＰ（ダイナミックプログラミング；動的計画法）マッチングを用いてジェスチャを検出し、該ジェスチャに対応したコマンドを実行させるコンピュータのユーザインタフェース「ジェスチャ認識方法およびユーザインタフェース方法」が提案されており、特開平１０−１６２１５１号公報には、被写体のジェスチャを撮像した画像から時間差分画像を取得して２値化し、差分画像の特徴量から、連続ＤＰを用いて特徴パターン用の特徴ベクトルを取得する「ジェスチャ認識方法」が提案されている。更に、特開２０００−１４９０２５公報には、自由に位置／姿勢が変化するユーザのジェスチャを認識し、仮想空間内のＣＧ（コンピュータグラフィック）物体の操作等に用いて好適とされる「ジェスチャ認識装置及び方法」が提案されている。
【００１２】
システム出力情報生成部１４０２では、ユーザ情報入力部１４０１から受け取ったユーザ入力情報の部分的、あるいは全体の認識結果を元に、システムの応答内容である出力情報の生成を出力パターンテーブル１４０４の情報を参照しながら行う。ユーザの入力情報が複数に及ぶ場合、それぞれの認識結果は、このシステム出力情報生成部１４０２で統合される。例えば、特開平８−２３４７８９号公報に開示されている「統合認識対話装置」、特開平９−１１４６３４号公報に開示されている「マルチモーダル情報統合解析装置」では、マルチモーダル対話データベースの情報を元にして、複数の入力チャネルからの入力を統合して扱う方法を提案している。
【００１３】
システム情報出力部１４０３では、システム出力情報生成部１４０２から送られてくる出力情報の出力を行う。一般に、システムの情報を音声、擬人化エージェントを用いて出力する場合、スピーカ、モニタ等の出力装置が必要になる。
システム出力情報生成部１４０２から出力停止命令が送信された場合、システム情報出力部１４０３は、直ちにシステム情報の出力を停止する。出力停止命令が送信される状態とは、システムがシステム情報出力部１４０３において、情報を出力中で、ユーザ情報入力部１４０１にユーザからの入力が入り、システム出力情報生成部１４０２で、そのユーザ入力情報に対応した情報を出力する場合である。
【００１４】
図１５に示すフローチャートを用いて具体的に説明する。ステップＳ１５０１でユーザ情報入力部１４０１はユーザからの入力があるかどうかチェックする。ユーザからの入力とは、音声・ジェスチャ・視線等を示唆し、システムが入力対象とするユーザからの情報である。ユーザからの入力があるまで、チェックが続けられる。ユーザからの入力がある場合は、ステップＳ１５０２で入力情報の解析が行われる。これは、音声入力の場合は、音声認識であったり、ＣＣＤカメラ等からのジェスチャの入力であった場合は、ジェスチャ認識に相当する。
【００１５】
ステップＳ１５０３では、システム出力情報生成部１４０２で出力パターンテーブル１４０４を参照して、入力した情報に応じ単位出力情報が算出され、出力に備えて用意される。例えば、受け付け案内システムで「おはよう」というユーザ入力に対して、「おはよう」というシステム出力を生成するような対話システムの場合、システムが出力する「おはよう」がそれに相当する。すなわち、ユーザの入力に対するシステムの応答の生成である。これらの出力情報は、ステップＳ１５０４の出力完了チェックを経て、ステップＳ１５０５でシステム情報出力部１４０３から単位毎に出力される。このステップＳ１５０４、Ｓ１５０５は、出力内容を一度に全て出力するのではなく、ある単位（発話文、節・句単位）で出力する場合を考応している。前記例で言えば、「水曜日は」、「長谷川人事部長と」、「打ち合わせがあります。」、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」という単位である。すなわち、単位出力情報毎に出力される。
【００１６】
部分的に出力される情報（ステップＳ１５０５）が全て出力し終わった時点、すなわち、ステップＳ１５０４でＹｅｓと判断された場合は、再びステップＳ１５０１でユーザからの情報入力チェックが行われる。ステップＳ１５０６では、ステップＳ１５０５で部分的に情報を出力している途中で、ユーザ情報入力部１４０１でユーザからの情報入力がないかどうかの判断が行われる。前記例で言えば、「川崎課長は？」というユーザからの割り込み入力が相当する。ユーザからの割り込み入力がない場合は、ステップＳ１５０４に戻り、再び、出力情報を全て出力したかどうかの判断が行われる。ユーザからの入力があった場合、ステップＳ１５０７でシステム出力情報生成部１４０２により出力情報が停止される。前記例で言えば、「打ち合わせがあります。」という出力を中止することに相当する。その後、ステップＳ１５０２に戻り、ユーザから入力された情報の解析を行い、出力を用意（ステップＳ１５０３）する。前記例で言えば「はい」という相槌を出力した後、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」という情報を出力することに相当する。「はい」という相槌の出力は、対話システムの設計に依存する。相槌出力を行わないシステムやユーザから割り込み入力があった場合に行うなど、多くの方式がある。
【００１７】
図１６は、ユーザの入力情報に対応するシステムの出力パターンのテーブル１４０４の内容を示している。例えば、Ｔ１６０１では、「おはよう。」というユーザ入力に対し、システムは「おはようございます。」という返答を返すことを示している。Ｔ１６０２、Ｔ１６０３、Ｔ１６０４でも同様に、「こんにちは。」という入力に対して「こんにちは。」という出力を、「こんばんは。」という入力に対して「こんばんは。」という出力を、「さようなら。」という入力に対して、「さようなら。」という出力を行うことを示している。
【００１８】
Ｔ１６０５は、「おやすみ。」というユーザの入力情報に対して、「おやすみなさい。」と返答する。Ｔ１６０６及びＴ１６０７では、ユーザの入力が「元気？」と同一であるが、システムの出力はそれぞれ、「元気ですよ。」、「ちょっと元気がないです。」と出力パターンが違う。これは、対話システムの構築方法、すなわち、返答パターンをどのように用いるかによって違う。例えば、ランダムな値を基準として、「元気ですよ。」と「ちょっと元気がないです。」を切り替えるようにする場合や、ある変数（対話のやり取りの回数が多い等）を基準にして、「元気ですよ。」と「ちょっと元気がないです。」を切り替える場合、あるいは、両方の方法を併用する場合も考えられる。これは、対話システムの設計内容に依存する。
【００１９】
Ｔ１６０８は、「疲れた。」というユーザの入力情報に対して、「頑張りましょう。」とシステムが応答する。Ｔ１６０９では、「天気はどう？」というユーザの入力情報に対して、天気情報を出力することを表している。この[＄ＷＥＡＴＨＥＲ]は、その時点での天気情報を表す変数である。例えば、[晴れ]、[曇り]、[雨]などランダムな情報を出力することももちろん可能であるが、通常は、インターネット上からその時々の天気情報を取得し、出力することが多い。このような応答例がない対話システムもあるが、実装するかどうかは、対話システムの設計仕様に依存する。
Ｔ１６１０は、ユーザの入力がしばらくない時（ＮＩＬ）、「返事がないですね。」とシステムが応対することを示している。ユーザの入力がない時間間隔は、対話システムの設計仕様に依存する。一定間隔にする場合や可変にする場合もある。
【００２０】
なお、このテーブルは、状態遷移（オートマトン）という概念を用いて表現することも可能である。この場合、ある遷移の場合の時にだけ、特定の応答（「おはよう。」というシステム出力を既にしたあとは、「こんばんは。」という応答を返さないようにする。）をするといった高度な応答の生成が可能になる。これは、一般的な拡張方法であり、対話システムの設計手法に依存する。
以上が、従来技術の対話システムの典型的な処理である。
【００２１】
【発明が解決しようとする課題】
しかしながら、かかる従来技術では、音声・ジェスチャ等のマルチモーダルな入力情報を統合して、ユーザに提示する場合、システムはユーザからの入力を基準として、ユーザはシステムの出力を基準として応答することを前提としている。すなわち、ユーザからの入力・システムの応答・ユーザからの入力というサイクル、もしくは、システムの応答・ユーザからの入力・システムの応答という流れを単位として処理を行い、システムの応答途中、もしくは、ユーザからの入力途中に割り込むことは考慮していない。
【００２２】
ただし、システムの出力途中にユーザが発話等の入力で割り込む場合は、システムの出力を停止するという技術の紹介はある。しかし、基本的には、単位出力情報の出力処理を停止するだけで、割り込む（割り込まれる）ことで対話の流れが変わる（流れを変える）という点について考慮していない。
【００２３】
このように、従来技術には、マルチモーダルな情報を統合し、その結果をＣＧエージェントの音声合成・ジェスチャ等を通してユーザにフィードバックする方法について記述したものもあるが、発話の変更は発話単位や文節で固定されており、発話途中で変更するという技術に関しては記されていない。そのため、ユーザとシステムとの間で、冗長な情報のやりとり（音声・ジェスチャ等による会話など）が起こりえる。特に、初めてシステムを利用する人や子供・老人等、不慣れな人の操作で使いにくさを生じる。
【００２４】
本発明はかかる点に鑑みてなされたものであり、対話システムを利用する子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプ人でも使い易いようにすること、また、使用頻度や慣れに応じて使い易くなるようにユーザに合わせた出力情報の変更が可能な対話装置を提供することを目的とする。
【００２５】
上述した問題の解決のためには、システムの発話途中で発話内容を変更していくという仕組みついて考慮する必要がある。具体的には、図１３（ｂ）に示すような応答を行う装置が望ましい。すなわち、「長谷川人事部長と」という単位出力情報の出力を行っている最中に、「川崎課長は？」という入力がユーザから割り込まれた場合は、「打ち合わせがあります。」という出力を中止せず、割り込んだユーザ情報を解釈した結果と合わせて、自然な応答させるために「打ち合わせがありますが、」、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」というように単位出力情報を一部変更して出力を行うことが望ましい。システムが出力しようとしていた内容をただ単純に停止するのでは、対話が途切れ途切れの内容になってしまい、使いにくい、対話のしにくいシステムになってしまう。
【００２６】
もし、ユーザの入力に対応させて、「打ち合わせがあります。」という単位出力情報を変更して、「打ち合わせがありますが、」という内容に変更するまでの処理時間が間に合わない、または、既に「打ち合わせがあります。」という出力内容の途中まで出力している場合、すなわち、出力停止位置の想定した位置がずれた場合には、図１３（ｃ）に示すように単位出力情報を再変更できることが望ましい。「打ち合わせがあります。」、「その他、」、「川崎課長との打ち合わせは」、「午後４時から午後５時までです。」という変更が望ましい。
【００２７】
このようなユーザの割り込み入力に対する応対の変更は、初めてユーザが対話システムを使う場合に多い。つまり、初めてシステムに接した時は、どのような使い方ができるのか、どのようにシステムと接すればいいのかユーザが分かっていないため、ユーザとシステムとの間で発話交代のタイミングがスムーズに行うことができない。また、使い慣れているユーザにとっては、会話のやり取りがまどろっこしくなり、いきなり用件を言うなど、発話交代自体のやりとりを無視することが多くなる。本発明はこのような場合に有効である。
【００２８】
【課題を解決するための手段】
本発明の対話装置は、ユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する手段と、前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する手段と、生成された出力情報を前記単位出力情報毎に出力する手段とを備える、ユーザとの対話を行う対話装置であって、さらに、前記対話装置からユーザヘの前記単位出力情報の出力の途中において新たな入力がされた場合に、この新たな入力のタイミングによって、当初の入力に対応した単位出力情報の語尾を変更して出力すると共に、前記新たな入力の認識結果に基づいた出力情報を出力するか、或いは当初の入力に対応した単位出力情報をそのまま出力すると共に文言を追加し、その後前記新たな入力の認識結果に基づいた出力情報を出力するか、選択的に処理を変更する手段を具備することを特徴とする。システムが単位出力情報の出力途中にユーザからの入力があった場合、出力途中の単位出力情報を変更して、ユーザからの新しい入力に対応することにより、自然な応答が可能になる。また、様々なユーザに合わせた出力情報の変更が可能な対話装置を提供することができる。
【００２９】
また、本発明の対話装置においては、前記ユーザヘの単位出力情報を変更する手段は、前記出力情報を途中停止する手段を具備すること、また、ユーザに対する出力情報を変更するための出力変更パターンを保持するテーブルを具備すること、また、ユーザに対する出力情報を逐次管理する手段を具備し、前記ユーザヘの出力を変更する手段は前記新たな入力の認識結果と前記単位出力情報の出力状況とに基づいて前記単位出力情報を変更することを特徴とする。
【００３０】
出力情報を途中停止する手段により、システムが出力する情報を自然な区切りで停止することが可能になる。また、ユーザに対する出力情報を変更するための出力変更パターンを保持するテーブルを具備するため、システムの出力情報をする際の停止位置（時間）、システムの出力情報を変更する内容を自然な形で保持することが可能になる。また、出力情報を逐次管理する手段により、システムによって生成された出力情報が、ある時刻でどの程度出力されているか判断・管理することが可能になり、出力情報を停止する場合は、どこまで出力され、何が出力されていないか判断することができる。
【００３１】
また、本発明の対話装置においては、入力の認識結果に基づいてユーザヘの単位出力情報を変更する際に、実際の出力が、前記出力情報を途中停止する手段の算出した出力停止予定位置を既に過ぎていた場合に、前記出力情報を逐次管理する手段は実際の停止位置の情報を新たに生成し、前記実際の停止位置と前記出力停止予定位置との差が閾値を超えているか否かに応じて前記単位出力情報の内容を変更することを特徴とする。対話装置の算出した出力停止予定位置を既に過ぎていた場合においても、過ぎた程度におうじて単位出力情報を適宜変更することにより、対話システムを利用する子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプ人でも使い易い対話インタフェースを提供することが可能になる。
【００３２】
また、本発明の対話方法は、入力認識手段がユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する工程と、出力情報生成手段が前記入力の認識結果に基づいてユーザとの対話に応答するための出力情報を単位出力情報毎に生成する工程と、情報出力手段が生成された出力情報を前記単位出力情報毎に出力する工程とを実行する装置若しくはシステムをユーザが操作する際の対話方法であって、さらに、前記出力工程における前記単位出力情報の出力途中において新たな入力がされた場合に、前記入力認識手段が前記新たな入力を認識する工程と、単位出力情報変更手段が前記新たな入力のタイミングによって、当初の入力に対応した単位出力情報の語尾を変更して出力した後、前記新たな入力の認識結果に基づいた出力情報を出力し、或いは当初の入力に対応した単位出力情報をそのまま出力すると共に接続のための文言を追加し、その後前記新たな入力の認識結果に基づいて出力情報を出力して前記単位出力情報を変更して出力する工程と、を有することを特徴とする。
【００３３】
さらに、出力情報管理手段がユーザに対する出力情報を逐次管理する工程を有し、前記単位出力情報変更手段が前記単位出力情報を変更して出力する工程において前記新たな入力の認識結果と前記出力情報の出力状況とに基づいて前記単位出力情報を変更することを特徴とする。
また、本発明は、コンピュータを、本発明の対話装置として機能させるためのプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体としても実現可能である。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
（実施の形態１）
図１は、本発明の実施の形態１に係る対話装置の構成を示すブロック図である。本実施の形態の対話装置は、図１に示すように、システムの出力情報を逐次管理する手段、システムの出力情報を途中停止する手段、システムの出力情報を変更する手段、システムの出力情報を変更するための出力変更パターンを保持するテーブルを具備したことを特徴とする。具体的に、本構成においては、システム出力情報逐次管理部１０５、システム出力情報停止部１０６、システム出力情報変更部１０７、出力変更パターンテーブル１０８を具備している。これらが請求項１に記載の単位出力情報を変更する手段に該当する。また、システム出力情報変更部１０７は、単位出力情報を変更する手段の制御部として機能する。
【００３５】
これにより、ユーザのジェスチャあるいはユーザの発話の少なくとも１つを入力として認識する機能を備え、ユーザとの対話を行う対話装置において、対話装置からユーザヘの単位出力情報の出力の途中において、入力を認識し、この入力認識結果に基づいてユーザヘの単位出力情報の出力を変更することができる。
【００３６】
図２は本発明の対話装置の処理を示すフローチャートである。本発明の対話装置における処理は、図２と図１５に示すフローチャートの違いように、出力停止（図１５中のＳ１５０７）と、出力変更（図２中のステップＳ２０８）及び出力（図２中のステップＳ２０９）との違いにより表現される。
【００３７】
従来の技術である図１５の処理フローでは、システムが単位出力情報の出力途中でユーザから入力があった場合（ステップＳ１５０６）、ステップＳ１５０７で当該単位出力情報の出力を停止する。これに対して、本発明では、システムが単位出力情報の出力途中でユーザから入力があった場合（ステップＳ２０６）、その入力を解析し（ステップＳ２０７）、単位出力情報の出力内容の変更（ステップＳ２０８）を行う。変更された出力内容は、ステップＳ２０９で出力される。図２に示す処理フローのステップＳ２０１〜ステップＳ２０６と図１５に示す処理フローのステップＳ１５０１〜ステップＳ１５０６までは同じである。なお、ステップＳ２０８の詳細は、以下本実施の形態において説明する。
【００３８】
図１において、ユーザ情報入力部１０１では、ユーザから入力された音声信号や画像イメージ等の入力情報を元に認識前処理及び認識処理を行い、認識結果をシステム出力情報生成部１０２に出力する。また、この認識処理は、入力された信号が部分的に認識された場合でも出力を行う。システム出力情報生成部１０２では、ユーザ情報入力部１０１から受け取ったユーザの入力情報の部分的、あるいは全体の認識結果を元に、システムの応答内容である出力情報の生成を単位出力情報毎に行う。ユーザの入力情報が複数に及ぶ場合、それぞれの認識結果は、このシステム出力情報生成部１０２で統合される。例えば、特開平８−２３４７８９号公報に開示されている「統合認織対話装置」、特開平９−１１４６３４号公報に開示されている「マルチモーダル情報統合解析装置」では、マルチモーダル対話データベースの情報を元にして、複数の入力チャネルからの入力を統合して扱う方法を提案している。
【００３９】
ただし、本発明が、これらの技術と違うのは、システム出力情報生成部１０２がシステム出力情報変更部１０７からのシステム出力情報の変更情報を入力として新たにシステム応答を生成する点と、システム出力情報停止部１０６へ出力停止命令を送る点である。停止命令がシステム出力情報停止部１０６へと送られることで、システム出力情報生成部１０２はシステムが出力する単位出力情報を変更した新たな単位出力情報をシステム出力情報変更部１０７から受信することができ、冗長なシステム情報の出力を回避することができる。
【００４０】
システム情報出力部１０３では、システム出力情報生成部１０２から送られてくる出力情報を単位出力情報毎に出力を行う。この出力情報の状態、すなわち、ある時刻または、ある範囲での時間でどこまで情報が出力されたかを単位出力情報の位置を含めシステム出力情報逐次管理部１０５に送る。一般に、システムの情報を音声、擬人化エージェントを用いて出力する場合、スピーカ、モニタ等の出力装置が必要になる。本発明でも同様に用いる。本発明では、さらに、常に出力しようとしている情報がどの段階まで実際に出力されているかを検出する点と、その検出した出力情報位置をシステム出力情報逐次管理部１０５へと送信する点が特徴である。
【００４１】
システム出力情報逐次管理部１０５から停止命令が送信された場合、システム情報出力部１０３は、直ちにシステム情報の出力を停止する。その後、停止位置を再び、システム出力情報逐次管理部１０５へと送信する。
システム出力情報逐次管理部１０５では、システム情報出力部１０３の出力情報を元に、どの単位出力情報のどの部分までシステムの出力情報が出力されているか、単位時間あたり、または、ある範囲での時間間隔で出力情報の管理を行う。
【００４２】
システム出力情報逐次管理部１０５は、システム情報出力部１０３から送信される出力情報位置を管理すると同時に、システム出力情報停止部１０６へ出力情報位置を送信する。システム出力情報停止部１０６から停止命令が送られると、直ちにシステム情報出力部１０３へ停止命令を送信する。ここでの出力情報位置及び停止命令は、システム出力情報生成部１０２が扱うシステム出力情報全ての種類に及ぶ。すなわち、音声、ジェスチャ、モニター画面の中のウィンドウ等、全ての出力手段に対して制御が行われる。
【００４３】
システム出力情報停止部１０６では、システム出力情報生成部１０２からの出力停止命令を元にシステム情報の出力停止を行う。この時、停止命令は、直ちにシステム出力情報逐次管理部１０５へ送信されない。出力変更パターンテーブル１０８の情報を用いて、停止可能な位置が算出された後、その算出された位置と実際の出力位置とが等しくなった場合、もしくは、実際の出力位置が算出された位置よりも先まで出力されたと判断された場合に、初めて停止命令が送信される。例えば図１３において「打ち合わせが」が停止可能な位置と算出されていたとした場合に、「打ち合わせがあり」まで出力されていても、図１３（ｂ）のように変更できる可能性がある。どこまで可能性があるかはシステムの設計や性能による。実際の出力位置が算出された位置に満たない場合は、停止命令は発行されずに、システム情報が出力されつづける。
【００４４】
システム出力情報変更部１０７では、システム出力情報停止部１０６から送られる停止位置情報を元に、出力変更パターンテーブル１０８の検索を行い、変更する出力情報の算出を行う。算出された変更情報及び停止位置情報は、再び、システム出力情報生成部１０２へと送られる。ここで、変更情報は音声だけでなくジェスチャも含む。例えば「打ち合わせがあります。」を「打ち合わせがありますが、」に変更する場合には、「が」の発音に対応する口元の動き等も変更される。なお、システム出力情報停止部１０６では、あらかじめ停止位置情報が分かっているので、システム情報出力部１０３でシステム情報が出力されている途中でも、停止位置情報をシステム出力情報変更部１０７へと送ることができる。すなわち、システム情報出力部１０３、システム出力情報逐次管理部１０５、システム出力情報変更部１０７は、並列に動作させることができ、出力情報位置が、出力停止位置になった時点で直ちにシステムの出力情報を変えることができる。
【００４５】
システム出力情報生成部１０２では、再度、システム出力情報変更部１０７から送られる変更情報及び停止位置情報を元に、新しい出力情報の生成を単位出力情報毎に行う。その結果は、これまでと同様にシステム情報出力部１０３へと送られる。システム情報出力部１０３はシステム出力情報生成部１０２から送られた出力情報を単位出力情報毎に出力する。
【００４６】
出力変更パターンテーブル１０８では、出力停止可能な一部分あるいは、全ての発話内容等の出力情報とその時の変更情報とを保持しており、停止の可否及び、停止の内容に応じた変更情報を検索及び生成する。これらの情報は、出力情報全般に及ぶもので、発話情報（音声）のみならず、ジェスチャ、モニター画面等への表示情報を網羅する。出力停止可能な部分が複数ある場合には、複数の変更情報を持つことも可能である。また停止可能位置の先まで出力された場合には、第2の実施の形態のように閾値を超えているか否かで前記単位出力情報の内容を変更することも可能である。
次に、上記構成を有する対話装置の動作を具体的に説明する。
【００４７】
図３は、システム出力情報生成部１０２における処理のフローチャートである。ここでの処理は、特開平５−１９７３８９号公報に開示されている「音声認識装置」や、特開平６−１２４９３号公報に開示されている「ジェスチャ認識方法およびユーザインタフェース方法」で示され方法で認識されたユーザ入力情報を用いて、システム応答の生成を行う部分である。
【００４８】
ステップＳ３０１でユーザ情報入力部１０１から認識されたユーザ入力情報の読み込みを行う。ステップＳ３０２では、ステップＳ３０１で認識されたユーザ入力情報を元に、又はステップＳ３０６から得られるシステム応答変更情報を元に、システム応答生成を単位出力情報毎に行う。この時、ステップＳ３０３で出力停止の判断が行われた場合、ステップＳ３０５で停止命令がシステム出力情報停止部１０６へ送信される。その後、ステップＳ３０６でシステム出力情報変更部１０７から変更情報の読み込みが行われる。
【００４９】
しかし、ステップＳ３０３で出力停止の判断が行われなかった場合、ステップＳ３０４でシステム情報出力部１０３ヘシステム出力情報の送信が行われる。そして、再びステップＳ３０１へと処理が戻る。ステップＳ３０２でシステム出力情報変更部１０７から送られるシステム応答変更情報がなかった場合には、ユーザから入力された情報のみでシステムの応答生成が行われる。ステップＳ３０３の出力停止命令が発行される基準は、ステップＳ３０１におけるユーザ入力情報がユーザからの割り込み入力であるかどうかである。
【００５０】
図４は、システム情報出力部１０３における処理のフローチャートである。ステップＳ４０１でシステム出力情報生成部１０２から送られるシステム出力情報の読み込みを行い、ステップＳ４０２でシステム出力情報逐次管理部１０５から停止命令が送信されていないか読み込みを行う。ステップＳ４０３で停止命令が送信されていると判断された場合は、直ちに出力情報は破棄され（ステップＳ４０７）、再びステップＳ４０１でシステム出力情報の読み込みを行う。
【００５１】
停止命令が送信されていないと判断された場合には、ステップＳ４０４で実際に出力されている情報の位置がシステム出力情報逐次管理部１０５へと送られた後、ステップＳ４０５でスピーカ・モニター等の出力装置を使って出力される。ステップＳ４０６では、断片的に出力される出力情報が全て出力されたかどうかの判断が行われ、まだ出力情報が残っている場合には、再び、ステップＳ４０３に戻り、停止命令が送信されているかどうかの判断が行われる。全て出力された場合は、ステップＳ４０１へと戻り、再びシステム出力情報の読み込みが行われる。すなわち、システム出力情報生成部１０２から送られる出力情報を連続して出力する際、出力情報があるかどうか、停止命令が送られているかどうか、出力情報を全て出力したかどうかの判断を順次行っていく処理フローとなっている。
【００５２】
図５は、システム出力情報逐次管理部１０５における処理のフローチャートである。ステップＳ５０１では、システム出力情報停止部１０６から送られる停止命令の読み込みを行う。出力情報停止位置も読み込まれる。停止命令が送信されていた場合（ステップＳ５０２）、停止命令を出力情報停止位置とともにシステム情報出力部１０３へと送る（ステップＳ５０６）。そして、処理は再び、ステップＳ５０１へと戻る。ステップＳ５０２で停止命令が送信されていないと判断された場合、システム情報出力部１０３から送られる出力情報位置をステップＳ５０３で読み込む。その情報は、ステップＳ５０４で出力情報位置として管理される。この管理されている出力情報位置は、ステップＳ５０５で用いられ、システム出力情報停止部１０６へと出力情報位置が送信される。そして、処理は再び、ステップＳ５０１へと戻る。
【００５３】
このシステム出力情報逐次管理部１０５では、実際に出力された出力情報の管理及び停止命令の送信を行うことを主な処理内容とする。システム出力情報逐次管理部１０５自らが停止命令を生成することはなく、システム出力情報停止部１０６からの送信に基づいて、システム情報出力部１０３へと停止命令を出力情報停止位置とともに送信する。
【００５４】
図６は、システム出力情報停止部１０６における処理のフローチャートである。ステップＳ６０１でシステム出力情報生成部１０２から送信される停止命令の読み込みを行う。ステップＳ６０２で停止命令が送信されていないと判断された場合は、ステップＳ６０８でシステム出力情報逐次管理部１０５から送信される出力情報位置の読み込みを行う。停止命令が送信されていると判断された場合には、ステップＳ６０３で現在の出力情報位置を元に出力情報を停止する位置の算出を行う。この停止位置の算出には、出力変更パターンテーブル１０８に保持される情報を用いて行われる。
【００５５】
ステップＳ６０４で現在出力中である出力情報位置の読み込みを行い、ステップＳ６０５で、算出された実際に停止可能な情報位置との比較を行う。現在の出力情報位置が停止可能位置に満たない場合、再びステップＳ６０４に戻り、停止可能位置になるまで、システム情報出力部１０３はシステム情報の出力を継続する。
【００５６】
現在の出力情報位置が停止可能位置になった場合、ステップＳ６０６で実際に出力情報を停止させる停止命令の発行が行われる。停止命令は、システム出力情報逐次管理部１０５へと送信され、そこから再び、システム情報出力部１０３へと送信された後、実際に出力情報が停止される。ステップＳ６０６で出力情報の停止命令が発行された後、ステップＳ６０７で停止位置がシステム出力情報変更部１０７へと送信される。
【００５７】
停止位置になったどうかは、例えば、出力情報のキーワードの一部が、停止可能位置に相当するキーワードと等しくなった場合または、音声波形そのものやジェスチャの動き情報が一致もしくは、ある閾値以下の範囲にある場合、すなわち一致はしないがある基準以内の近似した状態にある場合で判断することができる。これは、認識アルゴリズムの一部として既に実現されているものであり、単純な方法としては、文字列の比較（文字列が一致するか、何文字まで一致するか等）で容易に行うことが可能である。
【００５８】
図７は、システム出力情報変更部１０７における処理のフローチャートである。ステップＳ７０１でシステム出力情報停止部１０６から送信される停止位置情報の読み込みを行う。停止位置情報の読み込みが成功しない場合（停止位置情報が送信されていない場合）、処理は再びステップＳ７０１へと戻る。
【００５９】
ステップＳ７０２で停止位置情報の読み込みが成功した場合（停止位置情報が送信されている場合）、ステップＳ７０３で出力変更パターンテーブル１０８を参照してシステムの単位出力情報に関する変更情報の算出が行われる。例えば、図１３で「打ち合わせがあります。」という単位出力情報の出力を行っている最中に、入力がユーザから割り込まれた場合、図１３（ｂ）のように「打ち合わせがありますが、」のように変更する。あるいは、図１３（ｃ）のように「打ち合わせがあります。」、「その他」と変更することもできる。その変更情報は、ステップＳ７０４でシステム出力情報生成部１０２へと送信される。この時、システム出力情報生成部１０２では、ステップＳ３０６でシステム出力情報変更部１０７から送られる単位出力情報に関する変更情報の読み込みを行う。その後、ステップＳ３０２へと戻り、再びシステム応答の生成が行われる。ステップＳ７０４で変更情報の送信後は、処理は再びステップＳ７０１へ戻る。
【００６０】
図８は、出力変更パターンテーブル１０８の例を示す図である。図８において、左の項目「停止情報」は、システムが出力する予定の情報を示しており、右の項目「変更情報」は、出力停止後にシステム出力情報生成部１０２へ送信する内容を示している。
【００６１】
「停止情報」では、システムの出力情報の種類に応じたものが列挙される。単位出力情報をこの大きさの単位に決めることも可能であるが、ここでは、「打ち合わせがあります。」等もう少し大きい単位のものを単位出力情報として説明を続ける。また、図８では、音声・ジェスチャを出力表現手段とする実施の一例として想定している。Ｔ８０１では、「でしょうか？」という出力情報を停止情報とした場合、「ですね。」という出力情報に変換するということを表している。ここで、音声だけでなく発音の差異に伴う口元の動きの変更もあり、他に手足のジェスチャの変更もありうる。Ｔ８０２も同様に「ですか？」を「ですよね。」という出力情報に変換している。Ｔ８０３も、「しています。」を「していますが、」と変更する。
【００６２】
Ｔ８０４は、「あります。」という出力情報を「ありますが、」という情報に変更することを示している。これは、上述した図１３（ｂ）に示す場合に相当する。Ｔ８０５では、「調べます。」という出力情報を「調べています。少々お待ちくたさい。」という出力情報に変換している。これは、「調べ」という形で途中で出力を途切れないようにするとともに、「少々お待ちくたさい。」という情報を付け加えることを意味している。Ｔ８０６も同様である。「思います。」という出力情報を遮らずに、「はい。」という情報を付け加えた後、「思います。」と変更する。
【００６３】
Ｔ８０７は、呼びかけに対する応答のような反応を示すパターンを定義している。すなわち、「いかがですか？」という出力を、「はい。わかりました。」と変更している。これは、「いかがですか？」という出力前、もしくは、出力途中にユーザからの入力に応答するということを意味し、ユーザからの入力にきちんと対応するというシステムの出力例である、Ｔ８０８は、「なさいますか？」に対して、「ですね。」と返答することを意味する。これは、冗長な質問をユーザに出力しないようにするための例である。
【００６４】
一方、Ｔ８０９は、「＃」という内容で、「その他、」という変更内容を意味する。この「＃」は、システムが応答を出力前、もしくは、出力途中である場合に、出力を停止しようとしたが、停止処理もしくは、応答の生成処理が間に合わない場合を考慮したもので、「その他、」という出力を追加することで、ユーザの割り込んだ入力情報との接続を自然な形にすることを意図する。これは、上述した図１３（ｃ）に示す場合に相当する。Ｔ８１０は、「＊」という内容で、全ての内容に一致することを示している。すなわち、停止命令が送信された場合には、直ちに出力を停止し、「失礼致しました。」という出力情報に変換することを表している。停止情報が出力変更パターンテーブル１０８に無い場合等の用いられる。
【００６５】
本実施の形態で説明した対話装置によれば、以下のような効果が得られる。
新たな入力の認識結果に基づいて前記単位出力情報を変更する手段を具備することにより、システムが単位出力情報の出力途中にユーザからの入力があった場合、出力途中の単位出力情報を変更して、ユーザからの新しい入力に対応することにより、自然な応答が可能になる。また、様々なユーザに合わせた出力情報の変更が可能な対話装置を提供することができる。
【００６６】
システムの発話・動作などシステムからの出力情報を逐次管理する手段を設けることにより、システムによって生成された出力情報が、ある時刻でどの程度出力されているか判断・管理することが可能になる。そして、出力情報を停止する場合は、どこまで出力され、何が出力されていないか判断することができる。
【００６７】
また、システムの出力情報を途中停止する手段を設けることにより、システムが出力する情報を自然な区切りで停止することが可能になる。自然な区切りとは、単語の途中だけではなく、単語と単語の間など、普段人間同士の会話で行われている発話の停止などの中断位置（時刻）で区切ることである。
また、システムの出力情報を変更するための出力変更パターンを保持するテーブルを設けることにより、システムの出力情報をする際の停止位置（時間）、システムの出力情報を変更する内容を自然な形で保持することが可能になる。
【００６８】
また、システムの出力情報を変更する手段は、新たな入力の認識結果に基づいて前記単位出力情報を変更する手段の制御部として機能し、これまでシステム出力情報生成部で行っていた出力情報の変更処理をハードウエア上で分けることができると共に、システムの出力情報を逐次管理する手段が持つ停止位置（時刻）とシステムの出力情報を変更するための出力変更パターンを用いて、自然な形でシステム出力内容を変更することが可能になる。
【００６９】
これにより、対話システムを利用する子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプ人でも使い易い対話インタフェースを提供することが可能になる。また、使用頻度や慣れに応じて使い易くなるようにユーザに合わせた出力情報の変更が可能な対話システムを提供することも可能になる。
【００７０】
なお、本発明の対話装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、システム出力情報逐次管理部１０５を省略し、その機能をシステム出力情報停止部１０６に持たせることや、出力変更パターンテーブル１０８の情報をシステム出力情報停止部１０６とシステム出力情報変更部１０７とに、それぞれ持たせることも可能である。その際は、テーブル情報は、同じ情報でもかまわないし、目的の同じ違う情報でもかまわない。ただし、それぞれの情報がシステムの情報を停止したり、変更できるように整合性を持ったデータである必要がある。
【００７１】
（実施の形態２）
本実施の形態では、ユーザヘの単位出力情報の出力を変更する際の実際の出力が、対話装置の算出した出力停止予定位置を既に過ぎていた場合、ユーザヘの単位出力情報の出力を変更する場合について説明する。
【００７２】
図９は、本発明の実施の形態２に係る対話装置の構成を示すブロック図である。図９において、図１と同じ部分については図１と同じ符号を付してその詳細な説明は省略する。
図９に示す対話装置では、システム出力情報停止部９０１からシステム出力情報変更部９０２に送信する情報、すなわち、実際の停止位置の情報を新たに追加している。この送信情報の追加に伴い、システム出力情報生成部９０３、システム出力情報停止部９０１、システム出力情報変更部９０２における処理のフローが実施の形態１と異なる。
【００７３】
図９に示す対話装置においては、システム出力情報停止部９０１で、停止させようとする出力情報位置と実際に出力した情報との位置が異なる場合、停止予定位置及び実際の停止位置をシステム出力情報変更部９０２に送信するように変更する。この時、システム出力情報生成部９０３には、実際に停止した位置及び変更情報の読み込み処理が追加される。
【００７４】
図１０は、システム出力情報生成部９０３における処理を示すフローチャートである。ステップＳ１００１でユーザ情報入力部１０１からユーザの入力情報の読み込みを行う。ステップＳ１００２では、ステップＳ１００６から得られる実際のシステム出力停止位置情報及び変更情報を元に、システム応答生成を単位出力情報毎に行う。この時、ステップＳ１００３で出力停止の判断が行われた場合、ステップＳ１００５で停止命令がシステム出力情報停止部９０１へ送信される。その後、ステップＳ１００６でシステム出力情報変更部９０２から実際のシステム出力停止位置情報及び変更情報の読み込みが行われる。
しかし、ステップＳ１００３で出力停止の判断が行われなかった場合、ステップＳ１００４でシステム情報出力部１０３ヘシステム出力情報の送信が行われる。そして、再びステップＳ１００１へと処理が戻る。
【００７５】
図１１は、システム出力情報停止部９０１における処理を示すフローチャートである。ステップＳ１１０１でシステム出力情報生成部９０３から送信される停止命令の読み込みを行う。ステップＳ１１０２で停止命令が送信されていないと判断された場合は、ステップＳ１１０９でシステム出力情報逐次管理部１０５から送信される出力情報位置の読み込みを行う。停止命令が送信されていると判断された場合には、ステップＳ１１０３で現在の出力情報位置を元に単位出力情報の出力を停止する位置の算出を行う。この停止位置の算出には、出力変更パターンテーブル１０８に保持される情報を用いて行われる。
【００７６】
ステップＳ１１０４で現在出力中である出力情報位置の読み込みを行い、ステップＳ１１０５で算出された実際に停止可能な情報位置との比較を行う。現在の出力情報位置が停止可能位置に満たない場合、再びステップＳ１１０４に戻り、停止可能位置になるまで、システム情報出力部１０３からシステム情報の出力を継続する。現在の出力情報位置が停止可能位置になった場合、ステップＳ１１０６で実際に出力情報を停止させる停止命令の発行が行われる。停止命令は、システム出力情報逐次管理部１０５へと送信され、そこから再び、システム情報出力部１０３へと送信された後、実際に単位出力情報の出力が停止される。
【００７７】
ステップＳ１１０６で出力情報の停止命令が発行された後、ステップＳ１１０７で停止可能位置（停止予定位置）が、ステップＳ１１０８では、実際に停止した位置の情報がシステム出力情報変更部９０２へと送信される。その後、処理は再びステップ１１０１へ戻る。
【００７８】
図１２は、システム出力情報変更部９０２における処理を示すフローチャートである。ステップＳ１２０１でシステム出力情報停止部９０１から送信される停止位置情報（停止予定位置；種類Ａと表現）の読み込みを行う。停止位置情報の読み込みが成功しない場合（停止位置情報が送信されていない場合）、処理は再びステップＳ１２０１へと戻る。ステップＳ１２０２で停止位置情報の読み込みが成功した場合（停止位置情報が送信されている場合）、ステップＳ１２０３で停止位置情報（実際の停止位置；種類Ｂと表現）の読み込みを行う。
【００７９】
ステップＳ１２０４では、この二つの停止位置情報（Ａ及びＢ）を用いて、予定していた停止位置と実際との停止位置との比較を行う。このときの両停止位置の差がある閾値より大きい場合は、ステップＳ１２０６で変更情報（種類Ｘ）の算出を行う。また、ある閾値より大きくない場合は、ステップＳ１２０５で変更情報（種類Ｙ）の算出を行う。例えば、図１３で「打ち合わせがあります。」という単位出力情報の出力を行っている最中に、入力がユーザから割り込まれた場合、閾値以下の場合は、図１３（ｂ）のように「打ち合わせがありますが、」と変更し、閾値を超えた場合は、図１３（ｃ）のように「打ち合わせがあります。」、「その他」と変更する。なお、ジェスチャについてもその近似の度合いから閾値を定めることが可能である。その後、算出された変更情報は、ステップＳ１２０７でシステム出力情報生成部９０３へと送信される。その後、処理は再びステップ１２０１へ戻る。
【００８０】
本実施の形態に係る対話装置によれば、実際の停止位置の情報を新たに追加しているので、実際の停止位置が対話装置の算出した出力停止予定位置を既に過ぎていた場合においても、適宜単位出力情報の内容を変更でき、対話システムを利用する子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプ人でも使い易い対話インタフェースを提供すること、すなわち、使用頻度や慣れに応じて使い易くなるようにユーザに合わせた出力情報の変更が可能な対話システムを提供することが可能になる。
【００８１】
なお、コンピュータもしくは対話機能はソフトウェアを用いて実現可能であり、本対話装置もしくは対話機能を実現したプログラムを計算機あるいは各種装置に実装することで、本発明に係る対話機能を搭載した各種装置あるいはサービスを実現することができる。以上の各装置に係る発明は方法に係る発明としても成立し、また、上記の発明は、相当する手順あるいは手段をコンピュータに実行させるためのプログラム及び当該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００８２】
本発明では、この記録媒体として、本対話装置のＲＯＭそのものがプログラムメディアであってもよいし、またＣＤ−ＲＯＭドライブ等のプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なＣＤ−ＲＯＭ等のプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはＣＰＵがアクセスして実行させる構成であってもよいし、プログラムを読み出し、読み出されたプログラムは、図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。このダウンロード用のプログラムは予め本対話装置に格納されているものとする。
【００８３】
ここで上記プログラムメディアは、対話装置本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フロッピーディスクやハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ等の光ディスクのディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００８４】
さらに、通信ネットワークからプログラムをダウンロードするように、流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め対話装置本体に格納しておくか、あるいは別な記録媒体からインストールされるものであってもよい。なお、記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【００８５】
【発明の効果】
以上説明したように本発明に係る対話装置によれば、システムが単位出力情報の出力途中にユーザからの入力があった場合、出力途中の単位出力情報を変更して、ユーザからの新しい入力に対応することにより、自然な応答が可能になる。
これにより、対話システムを利用する子供や大人、老人など、システムにすぐに馴染めない人や使いにくさを感じる人など、いろいろなタイプ人でも使い易くなる。また、システムが発話やしぐさをしている途中に、ユーザの入力を行っても「ぶつぎれ」な反応を返さずに、迅速に応答し、冗長な反応を示さないようになるという優れた効果を奏し得る。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る対話装置の構成を示すブロック図である。
【図２】本発明の対話装置の処理を示すフローチャートである。
【図３】システム出力情報生成部１０２における処理のフローチャートである。
【図４】システム情報出力部１０３における処理のフローチャートである。
【図５】システム出力情報逐次管理部１０５における処理のフローチャートである。
【図６】システム出力情報停止部１０６における処理のフローチャートである。
【図７】システム主力情報変更部１０７における処理のフローチャートである。
【図８】出力変更パターンテーブル１０８の例を示す図である。
【図９】本発明の実施の形態２に係る対話装置の構成を示すブロック図である。
【図１０】システム出力情報生成部９０３における処理を示すフローチャートである。
【図１１】システム出力情報停止部９０１における処理を示すフローチャートである。
【図１２】システム出力情報変更部９０２における処理を示すフローチャートである。
【図１３】従来技術と本発明の対話例を示す図である。
【図１４】従来のシステムを示すブロック図である。
【図１５】従来のシステムの処理を示すフローチャートである。
【図１６】出力パターンテーブルの一例を示す図である。
【符号の説明】
１０１  ユーザ情報入力部
１０２，９０３  システム出力情報生成部
１０３  システム情報出力部
１０４  出力パターンテーブル
１０５  システム出力情報逐次管理部
１０６，９０１  システム出力情報停止部
１０７，９０２  システム出力情報変更部
１０８  出力変更パターンテーブル
【図１】
0003894767.tif 000002
【図２】
0003894767.tif 000003
【図３】
0003894767.tif 000004
【図４】
0003894767.tif 000005
【図５】
0003894767.tif 000006
【図６】
0003894767.tif 000007
【図７】
0003894767.tif 000008
【図８】
0003894767.tif 000009
【図９】
0003894767.tif 000010
【図１０】
0003894767.tif 000011
【図１１】
0003894767.tif 000012
【図１２】
0003894767.tif 000013
【図１３】
0003894767.tif 000014
【図１４】
0003894767.tif 000015
【図１５】
0003894767.tif 000016
【図１６】
0003894767.tif 000017