(57)【要約】【課題】  新たな話題を扱う対話処理装置を作成しようとした場合、その話題に適した規則を新たに記述することなく、用例を追加することができるようにする。【解決手段】  用例データベースに保存されている用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とで構成されている。これらの用例は、ユーザにより次の入力文として選択されるものではなく、更に、文法規則にも関係しないものである。したがって、対話処理のストーリーや、文法規則などの複雑な要素を考慮することなく用例を追加することができるので、用例の数の増加が容易である。また、検索精度を高めるためなどに、必要に応じて、用例を削除、または変更することなども、同様に容易である。本発明は、対話処理装置に適用できる。【選択図】図５
2005301780.tif 000002
【特許請求の範囲】
【請求項１】
対話処理を実行する情報処理装置において、
自然言語で記述されたテキストデータを取得する取得手段と、
用例と、フレーム形式を用いて記載された前記用例に対応するフレーム情報とを複数記憶する用例記憶手段と、
前記取得手段により取得された前記テキストデータと、前記用例記憶手段により記憶されている複数の前記用例との類似度を計算する類似度計算手段と、
前記類似度計算手段により計算された前記類似度を基に、前記用例記憶手段により記憶されている複数の前記用例から、前記取得手段により取得された前記テキストデータと最も類似度の高い前記用例を選択する用例選択手段と、
前記用例選択手段により選択された前記用例に対応する前記フレーム情報を基に、前記取得手段により取得された前記テキストデータを処理して前記フレーム形式に変換するテキストデータ処理手段と、
前記テキストデータ処理手段により処理されて前記フレーム形式に変換された前記テキストデータを基に、前記対話処理を実行する対話処理実行手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記取得手段は、
音声データを取得する音声データ取得手段と、
前記音声データ取得手段により取得された前記音声データを解析し、前記音声データに対応する前記テキストデータを出力する音声処理手段と
を備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記音声処理手段は、前記音声データに対応する前記テキストデータの信頼度を更に求め、
前記類似度計算手段は、前記信頼度を更に用いて、前記類似度を計算する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記対話処理実行手段により実行された前記対話処理の履歴を保存する履歴保存手段を更に備え、
前記類似度計算手段は、前記履歴保存手段により保存されている前記履歴を更に用いて、前記類似度を計算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
ユーザ情報を保存するユーザ情報保存手段を更に備え、
前記類似度計算手段は、前記ユーザ情報保存手段により保存されている前記ユーザ情報を更に用いて、前記類似度を計算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
所定のデータベースに記憶されている情報を検索する検索処理手段を更に備え、
前記対話処理実行手段は、前記テキストデータ処理手段により処理されて前記フレーム形式に変換された前記テキストデータを基に、前記検索処理手段を制御して、前記対話処理に必要な検索処理を実行させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記検索処理手段は、前記テキストデータ処理手段により処理されて前記フレーム形式に変換された前記テキストデータを基に、検索式を生成し、前記所定のデータベースに記憶されている情報を検索する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
ユーザに対して通知される文章を生成する文章生成手段を更に備え、
前記対話処理実行手段は、前記テキストデータ処理手段により処理されて前記フレーム形式に変換された前記テキストデータを基に、前記文章生成手段を制御して、前記対話処理に必要な、前記ユーザに対して通知される前記文章を生成させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記文章生成手段は、前記文章の基となるテンプレートを予め保持する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
ネットワークを介して接続される他の装置の動作を制御するための制御信号を生成する制御信号生成手段を更に備え、
前記対話処理実行手段は、前記テキストデータ処理手段により処理されて前記フレーム形式に変換された前記テキストデータを基に、前記制御信号生成手段を制御して、前記対話処理の結果として、前記ネットワークを介して接続される前記他の装置の動作を制御するための前記制御信号を生成させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
対話処理を実行する情報処理装置の情報処理方法において、
自然言語で記述されたテキストデータの取得を制御する取得制御ステップと、
所定の記憶部に複数記憶されている、用例およびフレーム形式を用いて記載された前記用例に対応するフレーム情報と、前記取得制御ステップの処理により取得が制御された前記テキストデータとの類似度を計算する類似度計算ステップと、
前記類似度計算ステップの処理により計算された類似度を基に、前記所定の記憶部に記憶されている複数の前記用例から、前記取得制御ステップの処理により取得が制御された前記テキストデータと最も類似度の高い前記用例を選択する用例選択ステップと、
前記用例選択ステップの処理により選択された前記用例に対応する前記フレーム情報を基に、前記取得制御ステップの処理により取得が制御された前記テキストデータを処理して前記フレーム形式に変換するテキストデータ変換ステップと、
前記テキストデータ変換ステップの処理により前記フレーム形式に変換された前記テキストデータを基に、前記対話処理の実行を制御する対話処理制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
対話処理をコンピュータに実行させるためのプログラムであって、
自然言語で記述されたテキストデータの取得を制御する取得制御ステップと、
所定の記憶部に複数記憶されている、用例およびフレーム形式を用いて記載された前記用例に対応するフレーム情報と、前記取得制御ステップの処理により取得が制御された前記テキストデータとの類似度を計算する類似度計算ステップと、
前記類似度計算ステップの処理により計算された類似度を基に、前記所定の記憶部に記憶されている複数の前記用例から、前記取得制御ステップの処理により取得が制御された前記テキストデータと最も類似度の高い前記用例を選択する用例選択ステップと、
前記用例選択ステップの処理により選択された前記用例に対応する前記フレーム情報を基に、前記取得制御ステップの処理により取得が制御された前記テキストデータを処理して前記フレーム形式に変換するテキストデータ変換ステップと、
前記テキストデータ変換ステップの処理により前記フレーム形式に変換された前記テキストデータを基に、前記対話処理の実行を制御する対話処理制御ステップと
を含むことを特徴とする処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びに、プログラムに関し、特に、ユーザより自然言語で入力された文に対して対話処理を行う場合に用いて好適な、情報処理装置および情報処理方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、自然言語による対話処理において、フレーム形式の表現が利用されてきた。例えば、対話処理装置において、構文解析、意味解析などの、一般的な自然言語処理手法が利用されて、ユーザより入力された文から、フレーム形式で表現するのに必要な情報が取り出されて、対話処理が行なわれるようになされていた（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００１−２２７７９公報
【０００４】
また、従来、一般的な文法などの規則に基づく自然言語処理でなく、用例を利用して入力文を処理することができる対話システムがある。このような対話システムにおいては、例えば、ユーザから入力された文字を基に、システムが予め保持している用例が検索されて、ユーザに提示される。そして、ユーザが、提示された用例から適したものを選択していくことによって、最終的にユーザの求める検索結果にたどり着くようになされている（例えば、特許文献２）。
【特許文献２】特開２００３−２２８５７５公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の自然言語処理技術に基づいた対話処理技術では、入力文の解析のために、文法に代表される記号処理用の規則を記述し、その規則に基づいて言語処理を行う必要がある。そのため、文法が想定していない表現がユーザから入力されたときの処理が困難であった。また、ユーザからの入力が、例えば、音声認識技術や文字認識技術を利用したものであり、入力文に誤りが含まれることが想定されるような場合であっても、入力文の誤りに柔軟に対応することができないという問題があった。特に、意味処理においては、様々な話題に対して汎用に適用できる規則の記述は困難で、新たな話題を扱う対話処理装置を作成しようとした場合、その話題に適した規則を新たに記述し、その規則に基づいて言語処理を行う必要があった。しかしながら、規則の記述には自然言語に関する専門的な知識が必要であるので、新たな話題を扱う対話処理装置を構築することは困難であった。
【０００６】
そして、用例を用いた対話処理技術を利用した場合、ユーザは予め保持されている用例から、次の入力文を選択するようになされているので、例えば、外部データベースを検索する場合の絞込み条件を、ユーザが自由な順番で入力することはできない。
【０００７】
また、このような用例を用いた対話処理システムにおいては、ユーザに対して次の選択肢の候補を複数提示する必要があり、その選択肢の候補数が多いほど、ユーザの選択の自由度が高くなるが、画面に選択肢の候補を表示するのではなく、音声インターフェースを用いて選択肢の候補をユーザに提示する（すなわち、音声出力する)場合、候補の数が多くなるほどユーザにわかりにくくなるという問題がある。
【０００８】
このように、従来における用例を用いた対話処理技術では、ユーザは、予めシステムが決めたシナリオに基づいて、予め決められた選択肢の中から入力文を選択するような対話処理しかできず、ユーザが自由に対話を行っている場合と同様の対話処理システムを構築することは困難であった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、ユーザより自然言語で入力された文を処理して、適切な応答の生成や機器制御を行うことができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、自然言語で記述されたテキストデータを取得する取得手段と、用例と、フレーム形式を用いて記載された用例に対応するフレーム情報とを複数記憶する用例記憶手段と、取得手段により取得されたテキストデータと、用例記憶手段により記憶されている複数の用例との類似度を計算する類似度計算手段と、類似度計算手段により計算された類似度を基に、用例記憶手段により記憶されている複数の用例から、取得手段により取得されたテキストデータと最も類似度の高い用例を選択する用例選択手段と、用例選択手段により選択された用例に対応するフレーム情報を基に、取得手段により取得されたテキストデータを処理してフレーム形式に変換するテキストデータ処理手段と、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、対話処理を実行する対話処理実行手段とを備えることを特徴とする。
【００１１】
取得手段には、音声データを取得する音声データ取得手段と、音声データ取得手段により取得された音声データを解析し、音声データに対応するテキストデータを出力する音声処理手段とを設けさせるようにすることができる。
【００１２】
音声処理手段には、音声データに対応するテキストデータの信頼度を更に求めさせるようにすることができ、類似度計算手段には、信頼度を更に用いて、類似度を計算させるようにすることができる。
【００１３】
対話処理実行手段により実行された対話処理の履歴を保存する履歴保存手段を更に設けさせるようにすることができ、類似度計算手段には、履歴保存手段により保存されている履歴を更に用いて、類似度を計算させるようにすることができる。
【００１４】
ユーザ情報を保存するユーザ情報保存手段を更に設けさせるようにすることができ、類似度計算手段には、ユーザ情報保存手段により保存されているユーザ情報を更に用いて、類似度を計算させるようにすることができる。
【００１５】
所定のデータベースに記憶されている情報を検索する検索処理手段を更に設けさせるようにすることができ、対話処理実行手段には、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、検索処理手段を制御して、対話処理に必要な検索処理を実行させるようにすることができる。
【００１６】
検索処理手段には、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、検索式を生成し、所定のデータベースに記憶されている情報を検索させるようにすることができる。
【００１７】
ユーザに対して通知される文章を生成する文章生成手段を更に設けさせるようにすることができ、対話処理実行手段には、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、文章生成手段を制御して、対話処理に必要な、ユーザに対して通知される文章を生成させるようにすることができる。
【００１８】
文章生成手段には、文章の基となるテンプレートを予め保持させるようにすることができる。
【００１９】
ネットワークを介して接続される他の装置の動作を制御するための制御信号を生成する制御信号生成手段を更に設けさせるようにすることができ、対話処理実行手段には、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、制御信号生成手段を制御して、対話処理の結果として、ネットワークを介して接続される他の装置の動作を制御するための制御信号を生成させるようにすることができる。
【００２０】
本発明の情報処理方法は、自然言語で記述されたテキストデータの取得を制御する取得制御ステップと、所定の記憶部に複数記憶されている、用例およびフレーム形式を用いて記載された用例に対応するフレーム情報と、取得制御ステップの処理により取得が制御されたテキストデータとの類似度を計算する類似度計算ステップと、類似度計算ステップの処理により計算された類似度を基に、所定の記憶部に記憶されている複数の用例から、取得制御ステップの処理により取得が制御されたテキストデータと最も類似度の高い用例を選択する用例選択ステップと、用例選択ステップの処理により選択された用例に対応するフレーム情報を基に、取得制御ステップの処理により取得が制御されたテキストデータを処理してフレーム形式に変換するテキストデータ変換ステップと、テキストデータ変換ステップの処理によりフレーム形式に変換されたテキストデータを基に、対話処理の実行を制御する対話処理制御ステップとを含むことを特徴とする。
【００２１】
本発明のプログラムは、コンピュータに、自然言語で記述されたテキストデータの取得を制御する取得制御ステップと、所定の記憶部に複数記憶されている、用例およびフレーム形式を用いて記載された用例に対応するフレーム情報と、取得制御ステップの処理により取得が制御されたテキストデータとの類似度を計算する類似度計算ステップと、類似度計算ステップの処理により計算された類似度を基に、所定の記憶部に記憶されている複数の用例から、取得制御ステップの処理により取得が制御されたテキストデータと最も類似度の高い用例を選択する用例選択ステップと、用例選択ステップの処理により選択された用例に対応するフレーム情報を基に、取得制御ステップの処理により取得が制御されたテキストデータを処理してフレーム形式に変換するテキストデータ変換ステップと、テキストデータ変換ステップの処理によりフレーム形式に変換されたテキストデータを基に、対話処理の実行を制御する対話処理制御ステップとを含む処理を実行させることを特徴とする。
【００２２】
本発明の情報処理装置および情報処理方法、並びに、プログラムにおいては、自然言語で記述されたテキストデータが取得され、用例およびフレーム形式を用いて記載された用例に対応するフレーム情報が記憶されて、用例とテキストデータとの類似度が計算され、計算された類似度を基に、複数の用例からテキストデータと最も類似度の高い用例が選択され、選択された用例に対応するフレーム情報を基に、テキストデータがフレーム形式に変換され、フレーム形式に変換されたテキストデータを基に、対話処理が実行される。
【発明の効果】
【００２３】
本発明によれば、対話処理が実行される。特に、用例およびフレーム形式を用いて記載された用例に対応するフレーム情報と入力されたテキストデータの類似度が計算されて、用例が選択され、入力されたテキストデータがフレーム形式に変換されて対話処理が実行されるので、ユーザより自然言語で入力された文を処理して、適切な応答の生成や機器制御を行うことができ、更に、用例の追加、変更、または削除が容易である。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２５】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２６】
請求項１に記載の情報処理装置（例えば、図１の対話処理装置１、図１７の対話処理装置６１、または、図２２の対話処理装置１３１）は、自然言語で記述されたテキストデータを取得する取得手段（例えば、図１、図１７、または、図２２のテキストデータ入力部１１、もしくは、図１７、または、図２２の音声データ取得部７１および音声処理部７２）と、用例と、フレーム形式を用いて記載された用例に対応するフレーム情報とを複数記憶する用例記憶手段（例えば、図２、図１９、または、図２３の用例データベース３３）と、取得手段により取得されたテキストデータと、用例記憶手段により記憶されている複数の用例との類似度を計算する類似度計算手段（例えば、図２の類似度計算部３２、図１９の類似度計算部１１１、または、図２３の類似度計算部１６１）と、類似度計算手段により計算された類似度を基に、用例記憶手段により記憶されている複数の用例から、取得手段により取得されたテキストデータと最も類似度の高い用例を選択する用例選択手段（例えば、図２、図１９、または、図２３の最適用例選択部３５）と、用例選択手段により選択された用例に対応するフレーム情報を基に、取得手段により取得されたテキストデータを処理してフレーム形式に変換するテキストデータ処理手段（例えば、図２、図１９、または、図２３のフレーム表現変換部３６）と、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、対話処理を実行する対話処理実行手段（例えば、図２または図１９の対話処理部３７、もしくは、図２３の対話処理部１６２）とを備えることを特徴とする。
【００２７】
取得手段は、音声データを取得する音声データ取得手段（例えば、図１７、または、図２２の音声データ取得部７１）と、音声データ取得手段により取得された音声データを解析し、音声データに対応するテキストデータを出力する音声処理手段（例えば、図１７、または、図２２の音声処理部７２）とを備えることができる。
【００２８】
音声処理手段は、音声データに対応するテキストデータの信頼度を更に求めることができ、類似度計算手段は、信頼度を更に用いて、類似度を計算することができる。
【００２９】
対話処理実行手段により実行された対話処理の履歴を保存する履歴保存手段（例えば、図２２の対話履歴保存部１４２）を更に備えることができ、類似度計算手段は、履歴保存手段により保存されている履歴を更に用いて、類似度を計算することができる。
【００３０】
ユーザ情報を保存するユーザ情報保存手段（例えば、図２２のユーザプロファイル保存部１４３）を更に備えることができ、類似度計算手段は、ユーザ情報保存手段により保存されているユーザ情報を更に用いて、類似度を計算することができる。
【００３１】
所定のデータベース（例えば、図１、図１７、または、図２２のデータベース１３、もしくは、外部のデータベース）に記憶されている情報を検索する検索処理手段（例えば、図２、図１９、または、図２３の検索処理部３９）を更に備えることができ、対話処理実行手段は、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、検索処理手段を制御して、対話処理に必要な検索処理を実行させることができる。
【００３２】
検索処理手段は、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、検索式を生成し、所定のデータベースに記憶されている情報を検索することができる。
【００３３】
ユーザに対して通知される文章を生成する文章生成手段（例えば、図２、図１９、または、図２３の出力文生成部４１）を更に備えることができ、対話処理実行手段は、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、文章生成手段を制御して、対話処理に必要な、ユーザに対して通知される文章を生成させることができる。
【００３４】
文章生成手段は、文章の基となるテンプレート（例えば、図８、図９、図１４、または、図１５を用いて説明したテンプレート）を予め保持することができる。
【００３５】
ネットワークを介して接続される他の装置の動作を制御するための制御信号を生成する制御信号生成手段（例えば、図２、図１９、または、図２３の制御信号生成部４０）を更に備えることができ、対話処理実行手段は、テキストデータ処理手段により処理されてフレーム形式に変換されたテキストデータを基に、制御信号生成手段を制御して、対話処理の結果として、ネットワークを介して接続される他の装置の動作を制御するための制御信号を生成させることができる。
【００３６】
請求項１１に記載の情報処理方法は、対話処理を実行する情報処理装置（例えば、図１の対話処理装置１、図１７の対話処理装置６１、または、図２２の対話処理装置１３１）の情報処理方法であって、自然言語で記述されたテキストデータの取得を制御する取得制御ステップ（例えば、図１６のステップＳ１、図２０のステップＳ４１、または、図２４のステップＳ８１の処理）と、所定の記憶部（例えば、図２、図１９、または、図２３の用例データベース３３）に複数記憶されている、用例およびフレーム形式を用いて記載された用例に対応するフレーム情報と、取得制御ステップの処理により取得が制御されたテキストデータとの類似度を計算する類似度計算ステップ（例えば、図１６のステップＳ３、図２０のステップＳ４５、または、図２４のステップＳ８５の処理）と、類似度計算ステップの処理により計算された類似度を基に、所定の記憶部に記憶されている複数の用例から、取得制御ステップの処理により取得が制御されたテキストデータと最も類似度の高い用例を選択する用例選択ステップ（例えば、図１６のステップＳ４、図２０のステップＳ４７、または、図２４のステップＳ８７の処理）と、用例選択ステップの処理により選択された用例に対応するフレーム情報を基に、取得制御ステップの処理により取得が制御されたテキストデータを処理してフレーム形式に変換するテキストデータ変換ステップ（例えば、図１６のステップＳ５、図２０のステップＳ４８、または、図２４のステップＳ８８の処理）と、テキストデータ変換ステップの処理によりフレーム形式に変換されたテキストデータを基に、対話処理の実行を制御する対話処理制御ステップ（例えば、図１６のステップＳ７乃至ステップＳ１４、図２１のステップＳ５０乃至ステップＳ５７、または、図２５のステップＳ９０乃至ステップＳ９７の処理）とを含むことを特徴とする。
【００３７】
また、請求項１２に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１１に記載の情報処理方法と同様である。
【００３８】
以下、図を参照して、本発明の実施の形態について説明する。
【００３９】
図１は、本発明を適用した第１の実施の形態における、対話処理装置１の構成を示すブロック図である。
【００４０】
テキストデータ入力部１１は、例えば、キーボードやタッチパッドなどによりユーザから入力されたテキストデータを取得し、対話制御部１２に出力する。
【００４１】
対話制御部１２は、テキストデータ入力部１１から供給されたテキストデータを基に、対話処理を実行し、データベース１３、または、外部のデータベースにアクセスし、ユーザが所望する情報を取得したり、ユーザの質問に対する答え、または、答えを求めるために必要な情報の入力をユーザに促すためなどの各種通知に対応する出力文を生成して出力制御部１４に供給したり、他の外部機器を制御するための制御信号を生成し、ネットワークインターフェース１５を介して、生成された制御信号を、対応する機器に出力する。
【００４２】
データベース１３は、対話処理において必要なデータを保持するデータベースである。なお、対話処理装置１が外部のデータベースと接続可能である場合、データベース１３は、必ずしも備えられていなくてもよい。
【００４３】
出力制御部１４は、例えば、テキストや画像情報を表示可能な表示部および表示部を制御する表示制御部、または、音声を出力するスピーカと、スピーカから出力される音声データを処理する音声処理部などで構成され、対話制御部１２において生成された出力文を、表示、または、音声出力する。また、出力制御部１４は、外部の表示部または外部のスピーカに対して、表示用の画像データまたは音声出力用の音声データを出力するようにしてもよい。
【００４４】
ネットワークインターフェース１５は、例えば、ＬＡＮ（Local Area Network）やホームネットワーク、または、インターネットなどの各種ネットワークと接続され、対話制御部１２において生成された制御信号を、ネットワークを介して、例えば、ネットワーク対応の表示装置、スピーカ、テレビジョン受像機、ビデオデッキ、ホームサーバなどの機器に出力し、制御信号出力先の機器から制御信号に対する応答信号を受信する。
【００４５】
次に、図２は、図１の対話制御部１２の更に詳細な構成を示すブロック図である。
【００４６】
文章情報取得部３１は、ユーザにより入力された文章情報（例えば、テキストデータ入力部１１から供給されたテキストデータ）を取得し、類似度計算部３２に供給する。
【００４７】
類似度計算部３２は、文章情報取得部３１から供給される文章情報を、例えば、単語単位に分解し、そこから助詞を削除することなどにより、自立語のみでなる単語列に変換する。そして、類似度計算部３２は、シソーラス記憶部３４に記憶されているシソーラスを用い、その単語列（以下、適宜、入力単語列という）と、用例データベース３３に記憶されている用例それぞれとの類似度を示す類似度スコアを計算し、計算結果を、最適用例選択部３５に供給する。
【００４８】
用例データベース３３には、複数の用例が記憶（登録）されている。この用例は、対話処理の対象分野に応じて作成された少なくとも１文の文章と、その文章をフレームで表現したスロットの組とで構成されている。用例データベース３３に保存される用例については、図５または図１１を用いて後述する。シソーラス記憶部３４には、類似度計算部３２が入力単語列と用例データベース３３に記憶されている用例それぞれとの類似度を計算するために用いられるシソーラスが記憶されている。シソーラスとは、単語を、その概念に基づいて木構造に階層化したものであり、その詳細については、図３を用いて後述する。
【００４９】
最適用例選択部３５は、類似度計算部３２から供給された類似度スコアを基に、類似度が最も高い用例を用例データベース３３から選択して（以下、選択された用例を最適用例と称する）、最適用例と入力単語列とを、フレーム表現変換部３６に出力する。
【００５０】
フレーム表現変換部３６は、選択された最適用例に対応するスロットの組のそれぞれの値を、入力単語列を構成する単語にそれぞれ置き換え、その結果得られるスロットの組を、対話処理部３７に出力する。
【００５１】
マスタフレーム保持部３８は、対話処理部３７が実行する動作を決定するためのマスタフレームを保持する。マスタフレーム保持部３８に保持されるマスタフレームは、対話制御部１２が、いかなる分野の対話に関する処理を行うかによって異なる。マスタフレームの具体例に関しては、図４または図１０を用いて後述する。
【００５２】
対話処理部３７は、フレーム表現変換部３６から供給されたスロットの組を基に、マスタフレーム保持部３８に保持されているマスタフレームを更新し、更新されたマスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。すなわち、対話処理部３７は、更新されたマスタフレームを基に、対話処理において、データベース１３、または、外部のデータベースにアクセスして、ユーザの質問に対する回答を示す「ターゲット」として指定されているスロットに関する情報を取得したり、所定の外部機器に対する制御信号を生成して出力したり、所定のテンプレートを用いて、検索条件を絞り込むための質問や、データベースにアクセスして取得された情報をユーザに通知するためにテキストまたは音声を出力するという動作のうちの、いずれの動作を行うべきかを選択し、検索処理部３９、制御信号生成部４０、または、出力文生成部４１を制御して、それぞれに処理を実行させる。更に、対話処理部３７は、検索処理部３９から供給された検索結果を基に、更に、マスタフレームを更新し、更新されたマスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。
【００５３】
検索処理部３９は、対話処理部３７の制御に基づいて、データベース１３、または、外部のデータベースにアクセスして、スロットに記載されている値を検索キーとして、ターゲットとして指定されているスロットに関する情報を取得し、対話処理部３７に供給する。
【００５４】
制御信号生成部４０は、対話処理部３７の制御に基づいて、例えば、ネットワークを介して接続された表示装置やスピーカ、ネットワーク対応のテレビジョン受像機、ビデオデッキ、または、ホームサーバなどの外部の装置に対する制御信号を生成し、ネットワークインターフェース１５を介して出力する。
【００５５】
出力文生成部４１は、対話処理部３７の制御に基づいて、内部のテンプレートを参照して、検索条件を絞り込むための質問や、データベースにアクセスして取得された情報をユーザに通知するための出力文を生成し、生成した出力文を出力制御部１４に供給し、テキストデータとして表示、または、音声出力させる。出力文生成に用いられるテンプレートについては、図８および図９、または、図１４および図１５を用いて後述する。
【００５６】
このように、本実施の形態における対話処理においては、用例をフレーム形式の表現と対応付けて予め記憶しておき、ユーザが入力した文章との類似度が高い用例を選択して、そのスロットの値が入力単語列を構成する単語に置き換えられる、すなわち、フレーム形式の表現に対応付けられるので、類似度の計算や、データベースにアクセスして情報を取得する場合の検索処理において、検索キーとなる単語を抽出するために、入力された文章から再度単語を抽出するなどの処理を行ったり、単語の意味解析を実行する必要がない。更に、本実施の形態における対話処理においては、ユーザが入力した文章が、フレーム形式の表現に対応付けられるので、出力文の生成においても、テンプレートに当てはめる単語の決定が簡単である。すなわち、用例を利用する対話処理にフレーム形式を用いることにより、対話処理の動作を簡便化することが可能となる。
【００５７】
そして、上述した、類似度計算部３２における用例と入力単語列との類似度の計算は、例えば、特開平３−２７６３６７号に開示されているように、単語をその意味の類似性（概念）に基づいて木構造に階層化したシソーラスを用いて行われる。すなわち、入力単語列を構成する単語のそれぞれと、その単語に対応する、用例を構成する単語とが、同一のカテゴリに属すると考えられる概念の階層が第ｋ階層であった場合に、これらの単語間の概念的な類似性を表す単語類似度を、（ｋ−１）／ｎ（但し、ｎは、シソーラスの階層数）とし、入力単語列を構成する単語それぞれと、用例を構成する単語それぞれとについての単語類似度を積算する。そして、その積算結果を、入力単語列と用例との類似度とする。
【００５８】
次に、シソーラス記憶部３４に、図３に示すようなシソーラスが記憶されている場合の類似度の計算方法について説明する。
【００５９】
ただし、図３においては、長方形で囲んであるものは概念を表し、楕円で囲んであるものが単語を表す。図３では、最も上の階層（第４階層）に属する概念が、「性状」、「変動」、「人物」、「社会」、「物品」、その他に分類されており、そのうちの、例えば、概念「変動」は、それに含まれる概念「増減」、「経過」、その他に分類されている。更に、例えば、概念「経過」は、それに含まれる概念「経過」、「到来」、その他に分類されており、そのうちの、例えば、概念「到来」には、その範疇にある単語「訪問する」、その他が属するものとされている。
【００６０】
また、図３においては、最も下の概念の階層を第１階層とし、下から２番目の概念の階層を第２階層とし、以下同様にして、下から３番目の概念の階層、または最も上の概念の階層を、それぞれ第３階層、または第４階層としている。図３のシソーラスは４階層（の概念）で構成されるから、シソーラスを第１階層までさかのぼることにより概念が一致する単語どうしの単語類似度は０（＝（１−１）／４）となり、また、シソーラスを第２階層までさかのぼることにより概念が一致する単語どうしの類似度は１／４（＝（２−１）／４）となる。以下同様に、シソーラスを第３または第４階層までさかのぼることにより概念が一致する単語どうしの単語類似度は１／２または３／４となる。
【００６１】
例えば、いま、文章情報取得部３１から、入力された文章である「私は学校へ行く」が類似度計算部３２に出力され、そこで、入力された文章が、上述したように助詞で分離されることにより、入力単語列（「私」、「学校」、「行く」）とされた場合、この入力単語列（「私」、「学校」、「行く」）と、用例データベース３３に登録されている用例「彼は会社を訪問する」との類似度は、次のように計算される。
【００６２】
まず入力単語列（「私」、「学校」、「行く」）を構成する単語「私」、「学校」、「行く」それぞれと、用例「彼は会社を訪問する」を構成する、「私」、「学校」、「行く」に対応する単語「彼」、「会社」、「訪問する」それぞれとの単語類似度が計算される。
【００６３】
ここで、単語ＸとＹとの単語類似度を、ｄ（Ｘ，Ｙ）と表すと、単語「私」と「彼」とは、第２階層までさかのぼることにより概念「人称」に一致するので、単語類似度ｄ（「私」，「彼」）は１／４となる。また、単語「学校」と「会社」とは、第２階層までさかのぼることにより概念「施設」に一致するので、単語類似度ｄ（「学校」，「会社」）は１／４となる。更に、単語「行く」と「訪問する」とは、やはり第２階層までさかのぼることにより概念「経過」に一致するので、単語類似度ｄ（「行く」，「訪問する」）は１／４となる。
【００６４】
以上の単語類似度を積算すると、その積算値は３／４（＝１／４＋１／４＋１／４）となり、これが、入力単語列（「私」、「学校」、「行く」）と用例「彼は会社を訪問する」との類似度とされる。
【００６５】
また、この入力単語列（「私」、「学校」、「行く」）と、用例「これは木でできている」との類似度は、次のように計算される。
【００６６】
入力単語列（「私」、「学校」、「行く」）を構成する単語「私」、「学校」、「行く」それぞれと、用例「これは木でできている」を構成する、「私」、「学校」、「行く」に対応する単語「これ」、「木」、「できる」（「できている」は「できる」とされる）それぞれとの単語類似度ｄ（「私」，「これ」）、ｄ（「学校」，「木」）、ｄ（「行く」，「できる」）は、上述したようにして、シソーラスを基に、３／４，３／４，２／４と計算され、その結果、入力単語列（「私」、「学校」、「行く」）と用例「これは木でできている」との類似度は８／４（３／４＋３／４＋２／４）と求められる。
【００６７】
以上の処理は、木構造に階層化したシソーラスを用いた類似度の計算方法についてであるが、類似度計算部３２における類似度の計算方法としては、その他の計算方法を用いることも可能である。その１例として、概念のベクトル表現を用いた類似度の計算方法について説明する。
【００６８】
前出の入力単語列（「私」、「学校」、「行く」）において、単語「私」に着目した場合、その単語の概念を列挙すると（「自称」、「人称」、「人物」）となる。また、前出の用例を構成する単語列（「彼」、「会社」、「訪問する」）において、単語「彼」に着目した場合、同様に、概念を列挙すると（「他称」、「人称」、「人物」）となる。これら２つの単語「私」と「彼」両者の概念の列挙を組み合わせると、（「自称」、「他称」、「人称」、「人物」）となる。この概念の組み合わせにおいて、該当するものに１、該当しないものに０を割り当てて記述すると、単語「私」における概念の列挙は（１，０，１，１）、単語「彼」における概念の列挙は（０，１，１，１）となり、各単語の概念の列挙をベクトル表現で書き換えることができる。
【００６９】
また、２つのベクトル（ａ，ｂ）間の類似度は、その２つのベクトルのなす角をθとすると、余弦（ｃｏｓθ）によって表すことができ、ｃｏｓθ＝（ａ・ｂ）／（｜ａ｜×｜ｂ｜）として求めることができる。よって、単語「私」と単語「彼」の類似度は、２／３＝０．６７となる。
【００７０】
同様にして、単語「学校」と単語「会社」、単語「行く」と単語「訪問する」の類似度を計算すると、両者ともに０．６７となる。
【００７１】
また、入力単語列と用例を構成する単語列との類似度を、上述したような、概念のベクトル表現を用いた類似度の計算方法によって得られた各単語間の類似度の平均として計算すると、入力単語列（「私」、「学校」、「行く」）と用例を構成する単語列（「彼」、「会社」、「訪問する」）との類似度は、（０．６７＋０．６７＋０．６７）／３＝０．６７となる。
【００７２】
更に、入力単語列（「私」、「学校」、「行く」）ともう１つの用例を構成する単語列（「これ」、「木」、「できる」）との類似度は、同様の計算方法によって０．１１と求められる。
【００７３】
以上が、概念のベクトル表現を用いた類似度の計算方法の具体的な１例であるが、ここで説明した計算方法では、木構造に階層化したシソーラスを構成する概念を利用している。概念のベクトル表現を用いた類似度の計算方法は、このようなシソーラスだけではなく、例えば、辞書における「見出し語」と「説明文中の単語」の関係を利用することも可能である。この場合には、「見出し語」を単語と見なし、その単語の概念として「説明文中の単語」を用いることとなる。
【００７４】
更に、類似度計算部３２における別の類似度の計算方法として、文献「素性選択機能を持ったString Kernelの提案」電子情報通信学会、信学技報  2003-NL-157に記述されている拡張ストリング・カーネルを用いた計算方法を利用することも可能である。
【００７５】
以上のようにして、用例データベース３３に登録されている全ての用例について、入力単語列に対する類似度が計算される。
【００７６】
次に、図４乃至図１５を用いて、対話制御部１２において利用される、用例とフレーム表現について説明する。
【００７７】
まず、図４乃至図９を用いて、天気予報に関する対話処理を行う場合の用例とフレーム表現について説明する。
【００７８】
図４に、天気予報を対象とする対話処理を行う場合に対話制御部１２で利用されるフレーム表現の例を示す。フレームは、１つ以上のスロットによって構成されており、個々のスロットは、そのスロットの名称であるスロット名と、スロット名に対応する値を保持するようになされている。図４に示される、天気予報を対象とする場合に利用されるフレームは、スロット名として、「日付」、「場所」、「天候」、「最高気温」、「最低気温」、および、「降水確率」を有するスロットで構成されたフレームである。このようなフレームは、マスタフレーム保持部３８に、マスタフレームとして保持され、対話処理部３７の処理により値が更新される。マスタフレームの更新については、図７を用いて後述する。
【００７９】
図４を用いて説明したフレーム表現がマスタフレームとして用いられる場合、用例データベース３３には、例えば、図５に示されるような用例が保存される。
【００８０】
用例データベース３３に保存されている用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とで構成されている。例えば、「東京の明日の天気を教えて」という文章と、「東京の明日の予報は」という文章とは、スロット名「日付」「場所」の項目が、それぞれ、「明日」「東京」という値で規定され、スロット名「天候」が、ユーザが求める情報であるターゲット（Target）とされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。また、「東京の明日の気温は」という文章と、「明日の東京は暖かいですか」という文章とは、スロット名「日付」「場所」の項目が、それぞれ、「明日」「東京」という値で規定され、スロット名「最高気温」および「最低気温」が、ユーザが求める情報であるターゲットとされる４つのスロットにより構成されるスロットの組とで１つの用例を構成する。更に、「東京の明日の降水確率は」、「明日、東京は雨が降りますか」、「明日の降水確率は」、および、「明日は雨が降りますか」は、スロット名「日付」が「明日」という値で規定され、スロット名「場所」が「東京」という値で規定され、スロット名「降水確率」が、ユーザが求める情報であるターゲットとされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。そして、例えば、対話処理中に、ユーザに対してシステムが質問した場合の答えなどで用いられる、「明日です」という文章は、スロット名「日付」が「明日」という値とされているスロットとで、１つの用例を構成する。
【００８１】
このように、用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とが、対となって記述されている。すなわち、１つの用例に、複数の文章が保持される場合は、それらの複数の文章が表す意味内容を、同一のスロットの組で表現することができるようになされている。更に、ユーザが入力した文章が、フレーム形式の表現に対応付けられるので、上述したように、類似度の計算や、データベースにアクセスして情報を取得する場合の検索処理、または、出力文の生成処理などに都合がよい。
【００８２】
更に、図５において、「東京の明日の降水確率は」という文章、「明日、東京は雨が降りますか」という文章、「明日の降水確率は」という文章、および、「明日は雨が降りますか」という文章が、対応するスロットの組とによって構成されている用例は、スロット名「場所」に対応する情報である「東京」が含まれている文章と含まれていない文章とが、同一のスロットの組に対応付けられている。例えば、入力文が、「今日は雨ですか」であったとき、入力文に、「場所」に対応するものがないので、スロット名「場所」に対応する値は、空白となる（すなわち、後述する処理により、マスタフレームに反映されない）。このように、対応するスロット数が異なる文章を、同一の用例に含めるようにすることにより、登録される用例の数を更に抑制することができるので、効率的に用例データベースを構築することが可能となる。
【００８３】
また、用例として保持されている文章は、後述する類似度計算を行うために、例えば、形態素解析などによって、事前に単語ごとに分割された、例えば、「明日、東京、雨」などの形で保持するようにしてもよい。
【００８４】
図５を用いて説明したように、これらの用例は、ユーザにより次の入力文として選択されるものではなく、更に、文法規則にも関係しないものである。したがって、対話処理のストーリーや、文法規則などの複雑な要素を考慮することなく用例を追加することができるので、用例の数の増加が容易である。また、検索精度を高めるためなどに、必要に応じて、用例を削除、または変更することなども、同様に容易である。
【００８５】
類似度計算部３２は、入力単語列と、図５に示される用例との類似度を算出する。すなわち、類似度計算部３２において、入力された文章と用例を構成する文章とは、それぞれ形態素解析されて、単語単位に分割される。その結果、例えば、入力文は「横浜,の,今日,の,天気,は」の６単語に分割され、用例を構成する文章は、例えば、「明日,の,東京,の,天気,を,教え,て」の８単語に分割される。
【００８６】
上述したシソーラスを用いて計算することにより、入力単語列（「横浜」、「今日」、「天気」）と、用例「明日の東京の天気を教えて」との類似度スコアは、例えば、３／４となり、同様にして、入力単語列と他の用例との類似度スコアも算出される。本実施例では、類似度が高い場合というのは、類似度スコアの値が小さい場合である。これは、図３において、シソーラスを構成する最も下の概念の階層から、第１階層、第２階層、・・・としたためで、これとは逆に、シソーラスを構成する最も上の概念の階層から、第１階層、第２階層、・・・とすれば、類似度が高いのは、類似度スコアの値が大きい場合となる。そして、類似度計算部３２は、類似度スコアの計算結果を最適用例選択部３５に出力する。
【００８７】
そして、最適用例選択部３５では、類似度が最も高い用例が選択され、選択された用例、すなわち最適用例とともに、入力単語列がフレーム表現変換部３６に供給される。例えば、入力された文章が、「横浜の今日の天気は」であるとき、用例「明日の東京の天気を教えて」が最適用例となり、（横浜、東京）（今日、明日）（天気、天気）の３つの単語のペアが求まる。したがって、最適用例選択部３５は、用例「明日の東京の天気を教えて」と入力単語列（「横浜」、「今日」、「天気」）とをフレーム表現変換部３６に出力する。
【００８８】
そして、フレーム表現変換部３６は、最適用例を構成するスロットの組の単語のうち、入力単語列を構成する単語に対応するものを、それぞれ置き換えて、入力文に対応するフレーム形式を得て、そのフレーム形式を示す情報（スロットの組）を対話処理部３７に出力する。
【００８９】
すなわち、フレーム表現変換部３６では、図６に示されるように、選択された最適用例「明日の東京の天気を教えて」に対応するスロットの組のそれぞれの値を、入力単語列（「横浜」、「今日」、「天気」）を構成する単語にそれぞれ置き換え、その結果得られる、スロット名「日付」に対して値「今日」が記載され、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されているスロットの組を対話処理部３７に出力する。
【００９０】
このとき、入力文が、例えば、「横浜の天気は」であった場合は、スロット名「日付」に対応する単語のペアが得られないので、「日付」に対応する値を空にしたものが、入力文に対応するフレーム形式として得られて、対応するスロットの組が対話処理部３７に出力される。
【００９１】
そして、対話処理部３７は、フレーム表現変換部３６の処理により生成された、入力文に対応するフレーム形式の情報の供給を受け、図４を用いて説明した、マスタフレーム保持部３８に保持されているマスタフレームを、図７に示されるように更新する。すなわち、対話処理部３７は、入力文に対応するフレーム形式で記入されているスロット名の値を、マスタフレーム内の同一の名称のスロット名の値として設定するので、具体的には、入力された文章が、「横浜の今日の天気は」であるとき、図４を用いて説明したマスタフレームにおいて、スロット名「日付」に対して値「今日」が記載され、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されて、マスタフレームが更新される。また、入力された文章が、「横浜の天気は」であるとき、図４を用いて説明したマスタフレームにおいて、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されて、マスタフレームが更新される。
【００９２】
次に、対話処理部３７は、マスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。例えば、入力された文章が、図６および図７を用いて説明した、「横浜の今日の天気は」である場合、対話処理部３７は、検索処理部３９を制御して、天気予報に関する情報を提供するデータベース（内部のデータベース１３であっても、外部のデータベースであってもよい）にアクセスさせて、「今日」および「横浜」を検索キーとして、「天気」、すなわち、ターゲットに関する情報を取得させる。このように、データベースの検索が選択された場合、検索処理部３９は、対話処理部３７の処理により更新されたマスタフレームなどの情報から適切な検索式を作成し、所定のデータベースにアクセスして所望の情報を取得し、対話処理部３７に供給する。
【００９３】
そして、対話処理部３７は、マスタフレームのターゲットに対応する部分に、取得された情報を記載するとともに、出力文生成部４１を制御して、図８に示されるようなテンプレートを基に、データベースにアクセスして取得された明日の横浜の天気に関する情報をユーザに通知するという動作を選択する。
【００９４】
具体的には、出力文生成部４１は、図８に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図８に示されるテンプレートにおいては、ターゲットとして指定されていたスロット名と、それに対する回答となる出力文のテンプレートが用意されている。このテンプレート中の＄（場所）、＄（日付）などの記載は、フレーム形式中の値に置き換えて利用することを示す。具体的には、入力された文章が、図６および図７を用いて説明した、「横浜の今日の天気は」であり、検索処理部３９による検索処理の結果、「天候」は「雨」であると検索された場合、対話処理部３７の処理によりマスタフレームが更新されるので、テンプレート中の＄（場所）、は「横浜」に置き換えられ、＄（日付）は、「今日」に置き換えられ、ターゲットである＄（天候）は「雨」に置き換えられるので、出力文「今日の横浜の天気は雨です」が生成される。
【００９５】
一方、入力された文章が、「横浜の天気は」である場合など、マスタフレームの日付スロットがまだ設定されていないような状態や、入力された文章が、「明日の降水確率は」である場合など、マスタフレームの場所スロットがまだ設定されていない状態では、話者であるユーザが、いつの天気を知りたいのか、どこの降水確率を知りたいのかがわからないので、対話処理部３７は、出力文生成部４１を制御して、足りないスロットの値をユーザに質問する文を出力することも可能である。
【００９６】
すなわち、対話処理部３７は、マスタフレームに記載されている情報が、検索処理を実行するために必要な情報に満たない場合、出力文生成部４１を制御して、図９に示されるようなテンプレートを基に、条件を絞り込むために必要な情報など、ユーザに入力を促すためのメッセージを通知させるという動作を選択する。
【００９７】
具体的には、出力文生成部４１は、図９に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図９に示されるテンプレートにおいては、値の入力が必要な、すなわち、ユーザに対して情報の入力を促したいスロット名と、それに対応する質問文が用意されている。具体的には、入力された文章が、「横浜の天気は」である場合、マスタフレームのスロット「日付」に対応する値が未入力となるので、出力文生成部４１は、図９に示されるテンプレートから、値の入力が必要なスロット名に対応する出力文「いつの情報を知りたいですか？」を抽出して出力する。
【００９８】
これに対して、ユーザは、例えば、「明日です」や「横浜」などの情報を入力するので、対話処理部３７は、供給された情報をマスタフレームの空きスロットに記載してマスタフレームを更新し、更新されたマスタフレームを基に、例えば、データベースの検索など、次の動作を選択する。
【００９９】
また、例えば、明日の天気に基づいて、所定のランプを点灯させるようになされている場合や、対話処理の結果、他の装置を制御する場合など、対話処理部３７は、制御信号生成部４０を制御し、外部装置の処理を制御することが可能である。対話処理部３７により、外部装置の制御が選択された場合、制御信号生成部４０は、対話処理の結果に基づいて、外部機器を制御するための制御信号を生成し、ネットワークインターフェース１５に出力する。ネットワークインターフェース１５は、ネットワークを介して、制御先の機器に、制御信号を送信し、必要に応じて、その応答を受信する。
【０１００】
次に、図１０乃至図１５を用いて、テレビ番組情報に関する対話処理を行う場合の用例とフレーム表現について説明する。この場合、対話処理の結果、例えば、ＥＰＧ（Electronic Program Guide）などで構成されるテレビ番組情報のデータベースから、必要な情報が検索されて、その検索結果がユーザに通知されたり、外部のテレビジョン受像機にチャンネルのチューニングを指令したり、外部のビデオデッキやホームサーバに、録画予約処理を行わせるための制御信号を生成して出力する処理が実行される。
【０１０１】
図１０に、テレビ番組情報を対象とする対話処理を行う場合に対話制御部１２で利用されるフレーム表現の例を示す。フレームは、１つ以上のスロットによって構成されており、個々のスロットは、そのスロットの名称であるスロット名と、スロット名に対応する値を保持するようになされている。図１０に示される、テレビ番組情報を対象とする場合に利用されるフレームは、スロット名として、「日付」、「テレビ局名」、「ジャンル」、「番組名」、「出演者」、「時間帯」、「開始時刻」、「終了時刻」、および、「行為」を有するスロットで構成されたフレームである。このようなフレームは、マスタフレーム保持部３８に、マスタフレームとして保持され、対話処理部３７の処理により値が更新される。マスタフレームの更新については、図１３を用いて後述する。
【０１０２】
図１０を用いて説明したフレーム表現がマスタフレームとして用いられる場合、用例データベース３３には、例えば、図１１に示されるような用例が保存される。
【０１０３】
用例データベース３３に保存されている用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とで構成されている。例えば、「今日の昼にあるサッカー番組を教えて」という文章と、「今日の昼はどんなサッカー番組がある」という文章とは、スロット名「日付」「ジャンル」および「時間帯」の項目が、それぞれ、「今日」「サッカー」および「昼」という値で規定され、スロット名「番組名」が、ユーザが求める情報であるターゲットとされる４つのスロットにより構成されるスロットの組とで１つの用例を構成する。また、「山村正和の出ているドラマは何がある」という文章は、スロット名「出演者」「ジャンル」の項目が、それぞれ、「山村正和」「ドラマ」という値で規定され、スロット名「番組名」が、ユーザが求める情報であるターゲットとされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。
【０１０４】
更に、「野球中継は何時から」、「８ｃｈの野球中継は何時から」は、スロット名「テレビ局名」が「××放送」という値で規定され、スロット名「ジャンル」が「野球」という値で規定され、スロット名「開始時刻」が、ユーザが求める情報であるターゲットとされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。また、「今日の花子の部屋のゲストは誰」という文章は、スロット名「日付」が「今日」という値で規定され、スロット名「番組名」が「花子の部屋」という値で規定され、スロット名「出演者」がユーザが求める情報であるターゲットとされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。
【０１０５】
また、例えば、対話処理中に、ユーザに対してシステムが応答した番組名などに対して、ユーザが録画を指令する場合などに用いられる「録画して」という文章は、スロット名「行為」が「録画」という値とされているスロットに対応付けられて、１つの用例を構成しており、例えば、対話処理中に、ユーザに対してシステムが質問した場合の答えなどで用いられる、「明日です」という文章は、スロット名「日付」が「明日」という値とされているスロットとで、１つの用例を構成している。
【０１０６】
このように、用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とが、対となって記述されている。すなわち、図５を用いて説明した場合と同様に、１つの用例に、複数の文章が保持される場合は、それらの複数の文章が表す意味内容を、同一のスロットの組で表現することができるようになされている。したがって、用例データベース３３における用例のデータベース構造を簡略化したり、類似度の演算速度を高速化することができる。更に、ユーザが入力した文章が、フレーム形式の表現に対応付けられるので、上述したように、類似度の計算や、データベースにアクセスして情報を取得する場合の検索処理、または、出力文の生成処理などに都合がよい。
【０１０７】
更に、図１１においても、図５を用いて説明した場合と同様に、「野球中継は何時から」という文章、および、「８ｃｈの野球中継は何時から」という文章、並びに、対応するスロットの組により構成されている用例は、スロット名「テレビ局名」に対応する情報である「××放送」が含まれている文章と含まれていない文章とが、同一のスロットの組に対応付けられている。例えば、入力文が、「相撲中継は何時から」であったとき、入力文に、「テレビ局名」に対応するものがないので、スロット名「テレビ局名」に対応する値は、空白となる（すなわち、後述する処理により、マスタフレームに反映されない）。このように、対応するスロット数が異なる文章を、同一の用例に含めるようにすることにより、登録される用例の数を更に抑制することができるので、効率的に用例データベースを構築することが可能となる。
【０１０８】
また、用例として保持されている文章は、後述する類似度計算を行うために、例えば、形態素解析などによって、事前に単語ごとに分割された、例えば、「今日、花子の部屋、誰」などの形で保持するようにしてもよい。
【０１０９】
図５を用いて説明した場合と同様に、図１１を用いて説明した用例は、ユーザにより次の入力文として選択されるものではなく、更に、文法規則にも関係しないものである。したがって、対話処理のストーリーや、文法規則などの複雑な要素を考慮することなく用例を追加することができるので、用例の数の増加が容易である。また、同様にして、検索精度を高めるためなどに、必要に応じて、用例を削除、または変更することなども容易である。
【０１１０】
類似度計算部３２は、入力単語列と、図１１に示される用例との類似度を算出する。すなわち、類似度計算部３２において、入力された文章と用例を構成する文章とは、それぞれ形態素解析されて、単語単位に分割される。その結果、例えば、入力文「森村拓哉は何に出ている」は、「森村拓哉,は,何,に,出,て,いる」の７単語に分割され、用例を構成する文章は、例えば、「山村正和,の,出,て,いる,ドラマ,は,何,が,ある」の１０単語に分割され、図３を用いて説明した場合と同様のシソーラスを用いて、類似度の値が算出される。
【０１１１】
このとき、テレビ番組名など単語は、番組の改編に伴って頻繁に情報が更新されているので、シソーラスに全ての単語が登録されているとは限らない。同様に、出演者に関しても、日々新しい芸能人が出てくるので、全ての出演者がシソーラスに登録されているとは限らない。このような場合に対処するために、用例データベース３３の特定のスロットの項目データに関して、データベースで保持されている文字列型の値を全てリストアップし、類似度計算部３２において、それらの間の類似度は、最も類似しているものとして扱うようにする。そして、新しくデータベースが更新されるごとに、単語リストを更新するものとする。すなわち、類似度計算部３２は、番組名のスロットに入りうる値として用例データベース３３に記録されている「花子の部屋」や「暴れん坊奉行」などの具体的な番組名を表す単語の間の類似度を、全て、高いものとする（類似度の値を、最も類似することを表す数値０とする)。
【０１１２】
なお、データベースの種類によっては、特定のスロットが取りうる文字列型の値が限られている場合があるので、その場合も同様に、類似度０に設定できる単語の一群を決めることが可能である。例えば、テレビ番組情報において、「ジャンル」としてどのようなものが用意されるかは、コンテンツ作成元によって予め定められるものであるので、スロット「ジャンル」に対応する単語は、限られた種類の文字列型の値のみとなり、類似度の値を０に設定できる単語の一群を予め定めておくことが可能となる。
【０１１３】
図１２に、入力文として「森村拓哉は何に出ている」が与えられたときに、「山村正和の出ているドラマは何がある」という用例との類似度を計算する手順と、この用例が最も類似する用例だった場合の入力文に対応するフレーム形式を生成する手順の概念図を示す。
【０１１４】
入力文と用例文は、上述したように、それぞれ形態素解析されて、単語単位に分割される。その結果、入力文は「森村拓哉,は,何,に,出,て,いる」の７単語に分割され、用例文は「山村正和,の,出,て,いる,ドラマ,は,何,が,ある」の１０単語に分割される。次に、入力文と用例文の各単語の間の類似度をシソーラスを用いて計算し、最も類似度の高い単語の組合わせが求められる。このとき、一般にシソーラスには助詞などの付属語は含まれないので、助詞に対応する部分が除かれて、自立語のみの単語の組合せが求められる。また、上述したように、森村拓哉や山村正和といった固有名詞はシソーラスに登録されていないので、出演者として取りうる文字列型のリストが参照され、そのリストに含まれる単語同士ということで、類似度スコアが高いものとされる。そして、類似度計算部３２は、入力文として「森村拓哉は何に出ている」が与えられたときの個々の用例と入力文との類似度の算出結果を最適用例選択部３５に出力する。
【０１１５】
そして、最適用例選択部３５は、個々の用例との類似度計算の結果に基づき、用例データベース３３に登録されている用例のうち、類似度が最も高い用例を選択し、選択された用例、すなわち、最適用例とともに、入力単語列をフレーム表現変換部３６に供給する。例えば、入力された文章が、「森村拓哉は何に出ている」であるとき、用例「山村正和の出ているドラマは何がある」が最適用例となり、（森村拓哉、山村正和）（何、何）（出る、ある）の３つの単語のペアが求まる。したがって、最適用例選択部３５は、「山村正和の出ているドラマは何がある」に対応する用例と入力単語列（「森村拓哉」、「出ている」、「何」）とをフレーム表現変換部３６に出力する。
【０１１６】
そして、フレーム表現変換部３６は、図１２に示されるように、最適用例を構成するスロットの組の単語のうち、入力単語列を構成する単語に対応するものを、それぞれ置き換えて、入力文に対応するフレーム形式を得て、そのフレーム形式を示す情報（スロットの組）を対話処理部３７に出力する。すなわち、上述した例における単語のペアのうち、用例に記述されているフレーム形式中の値の部分で利用されているのは「山村正和」だけなので、フレーム表現変換部３６は、その部分を、対応する森村拓哉に置き換えて、スロット名「番組名」に対して値「Target」が記載されているスロットの組を出力する。
【０１１７】
そして、対話処理部３７は、フレーム表現変換部３６の処理により生成された、入力文に対応するフレーム形式の情報の供給を受け、図１０を用いて説明した、マスタフレーム保持部３８に保持されているマスタフレームを、図１３に示されるように更新する。すなわち、対話処理部３７は、入力文に対応するフレーム形式で記入されているスロット名の値を、マスタフレーム内の同一の名称のスロット名の値として設定するので、具体的には、入力された文章が、「森村拓哉は何に出ている」であるとき、図１０を用いて説明したマスタフレームにおいて、スロット名「出演者」に対して値「森村拓哉」が記載され、スロット名「番組名」に対して値「Target」が記載されて、マスタフレームが更新される。
【０１１８】
次に、対話処理部３７は、マスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。対話処理部３７は、例えば、入力された文章が、「森村拓哉は何に出ている」である場合、検索処理部３９を制御して、例えば、ＥＰＧなどの番組情報を記憶しているデータベース（内部のデータベース１３であっても、外部のデータベースであってもよい）にアクセスさせて、「森村拓哉」が出演している「番組名」（すなわち、ターゲット）に関する情報を取得させる。このように、データベースの検索が選択された場合、検索処理部３９は、対話処理部３７の処理により更新されたマスタフレームなどの情報から適切な検索式を作成し、所定のデータベースにアクセスして所望の情報を取得し、対話処理部３７に供給する。
【０１１９】
そして、対話処理部３７は、マスタフレームのターゲットに対応する部分に、取得された情報を記載するとともに、出力文生成部４１を制御して、図１４に示されるようなテンプレートを基に、データベースにアクセスして取得された、「森村拓哉」が出演している番組名に関する情報をユーザに通知するという動作を選択する。
【０１２０】
具体的には、出力文生成部４１は、図１４に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図１４に示されるテンプレートにおいては、ターゲットとして指定されていたスロット名と、それに対する回答となる出力文のテンプレートが用意されている。このテンプレート中の＄（番組名）、＄（日付）などの記載は、フレーム形式中の値に置き換えて利用するということを示す。具体的には、入力された文章が、「森村拓哉は何に出ている」であり、検索処理部３９による検索処理の結果、「森村拓哉」が出演者である番組名は「月曜ドラマスペシャル」であると検索された場合、対話処理部３７の処理によりマスタフレームが更新され、テンプレート中の＄（番組名）、は「月曜ドラマスペシャル」に置き換えられるので、出力文「該当する番組は、月曜ドラマスペシャルがあるよ」が生成される。
【０１２１】
また、検索処理部３９がデータベースにアクセスし、所定の情報の検索を行った結果、検索結果として複数の情報が該当する場合がある。このような場合に対応するために、図１４に示されるように、応答用テンプレートとして該当件数が複数の場合に利用するテンプレートを予め用意しておき、該当件数をユーザに伝えると同時に、該当した複数のデータを保持するために、マスタフレーム保持部３８において、マスタフレームを該当件数分コピーして複数保持し、必要に応じて複数の番組情報を提示することができるようにしてもよい。
【０１２２】
更に、検索処理部３９がデータベースにアクセスし、所定の情報の検索を行った結果、該当件数が非常に多く、出力することができない場合、最終的な検索結果を規定の件数以下に絞り込むことができるように、ユーザに追加情報の入力を促すような質問を出力することができるようにしてもよい。
【０１２３】
すなわち、対話処理部３７は、検索処理の結果、ユーザの入力に対応する該当件数が非常に多く、出力することができない場合、出力文生成部４１を制御して、図１５に示されるようなテンプレートを基に、条件を絞り込むために必要な情報など、ユーザに入力を促すためのメッセージを通知させるという動作を選択する。
【０１２４】
具体的には、出力文生成部４１は、図１５に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図１５に示されるテンプレートにおいては、値の入力が必要な、すなわち、ユーザに対して情報の入力を促したいスロット名と、それに対応する質問文が用意されている。具体的には、入力された文章が、「森村拓哉は何に出ている」である場合、出力文生成部４１は、マスタフレームのスロット「日付」に対応する値が未入力であるので、図１５に示されるテンプレートから、値の入力が必要なスロット名に対応する出力文「いつの番組が知りたいですか？」を抽出して出力してもよいし、マスタフレームのスロット「ジャンル」に対応する値が未入力であるので、図１５に示されるテンプレートから、値の入力が必要なスロット名に対応する出力文「どんなジャンルの番組が良いですか？」を抽出して出力してもよいし、マスタフレームのスロット「時間帯」に対応する値が未入力であるので、図１５に示されるテンプレートから、値の入力が必要なスロット名に対応する出力文「どの時間帯の番組が良いですか？」を抽出して出力してもよい。更に、対話処理部３７において、マスタフレームのスロット情報のどれを優先するかをあらかじめ規定しておくことによって、優先度の高い情報から問い合わせるように対話処理を行うことが可能である。
【０１２５】
これに対して、ユーザは、例えば、「明日です」、「音楽番組がいい」、または、「お昼の番組が見たい」などの情報を入力するので、対話処理部３７は、供給された情報をマスタフレームの空きスロットに記載してマスタフレームを更新し、更新されたマスタフレームを基に、例えば、データベースの検索など、次の動作を選択する。また、対話処理部３７は、出力文生成部４１を制御して、最終的な検索結果が規定の件数以下になるまで、マスタフレームの空きスロットに対応する情報を図１５に示されるテンプレートの出力文を用いてユーザに入力させるようにしてもよい。
【０１２６】
また、対話処理部３７においては、番組情報のデータベースにアクセスして該当する番組名を検索するのみならず、例えば、出力文生成部４１において、「その番組を視聴しますか？または、録画しますか？」「録画している番組から検索して再生しますか？」などの質問を、テンプレートとして予め保持しておき、検索結果である番組名をユーザに通知した後に、これらの質問をユーザに対して通知し、その後に供給されるユーザの返答に基づいて、制御信号生成部４０の処理により、家庭内ネットワークに接続されたネットワーク対応家電を制御することによって、対応する番組の放映開始時刻に、テレビジョン受像機の電源やチューニングを制御して、ユーザの所望する番組が視聴可能な状態となるように機器を動作させたり、対応する番組をビデオデッキやホームサーバなどに録画させるようにすることができる。また、対話処理部３７は、検索処理部３９を制御して、番組情報データベースにアクセスする代わりに、必要に応じて、ネットワークを介して接続されているホームサーバに録画されている映像コンテンツの一覧をデータベースとして利用して、録画されている番組の中からユーザが所望する番組を検索し、対応する番組が録画されている場合は、読み出して再生させるといった処理を実行させることも可能である。
【０１２７】
このように、用例を、文章情報と、スロットの組とで構成するようにしたので、入力文のバリエーションに対するカバレッジを広くすることが可能となる。また、入力文を解釈するために文法を記述する必要がないため、言語的な知識を持たない人間が新たな話題に対する対話システムを構築しようとする場合の作業量を低減することが可能である。
【０１２８】
次に、図１６のフローチャートを参照して、図１の対話処理装置１が実行する対話処理１について説明する。
【０１２９】
ステップＳ１において、テキストデータ入力部１１は、ユーザからテキストデータの入力を受けたか否かを判断する。ステップＳ１において、テキストデータの入力を受けていないと判断された場合、テキストデータの入力を受けたと判断されるまで、ステップＳ１の処理が繰り返される。
【０１３０】
ステップＳ１において、テキストデータの入力を受けたと判断された場合、ステップＳ２において、テキストデータ入力部１１は、入力されたテキストデータを対話制御部１２に供給し、対話制御部１２の対話処理部３７は、マスタフレーム保持部３８に保持されているマスタフレームの値の記述を必要に応じてリセットする。具体的には、対話処理部３７は、例えば、前回の対話処理において、ユーザに対する質問文を出力している場合などは、マスタフレームの値の記述をリセットしないが、前回の対話処理において、外部の機器を制御している場合などは、マスタフレームの値の記述をリセットする。
【０１３１】
ステップＳ３において、対話制御部１２の文章情報取得部３１から文章の供給を受けた類似度計算部３２は、入力された文章を単語に分解した後、助詞を分離して入力単語列を生成し、シソーラス記憶部３４に記憶されているシソーラスを参照して、用例データベース３３に登録されている各用例との類似度を計算し、類似度の計算結果である類似度スコアを最適用例選択部３５に供給する。
【０１３２】
ステップＳ４において、最適用例選択部３５は、類似度の計算結果に基づいて、用例データベース３３に登録されている用例から、最適な用例である最適用例を選択し、最適用例と、入力単語列をフレーム表現変換部３６に供給する。
【０１３３】
ステップＳ５において、フレーム表現変換部３６は、選択された用例である最適用例の記述に基づいて、すなわち、最適用例を構成するスロットの組にしたがって、入力単語列を構成する単語に対応するものを、それぞれ置き換えて、入力された文章をフレーム表現に変換し、変換後のスロットの組を、対話処理部３７に供給する。
【０１３４】
ステップＳ６において、対話処理部３７は、マスタフレーム保持部３８に保持されているマスタフレームを読み込み、フレーム表現変換部３６から供給された変換後のスロットの組に基づいて、マスタフレームのフレーム記述を更新する。
【０１３５】
ステップＳ７において、対話処理部３７は、マスタフレームの状態に基づいて、データベースの検索処理が必要であるか否かを判断する。具体的には、対話処理部３７は、例えば、入力された文章が、「横浜の明日の天気は」や「山村正和が出てきるドラマは」である場合など、マスタフレームにおいて、スロットの値がターゲットとなっているものがあり、データベースを検索するのに十分な情報がスロットに記載されているとき、対話処理において、内部のデータベース１３、または、外部のデータベースに対する検索処理が必要であると判断し、マスタフレームにおいて、スロットの値がターゲットとなっているものがないときや、データベースを検索するのに十分な情報がスロットに記載されていないとき、対話処理において、内部のデータベース１３、または、外部のデータベースに対する検索処理を行わずに、異なる処理を行うと判断する。
【０１３６】
ステップＳ７において、データベースの検索処理が必要であると判断された場合、ステップＳ８において、対話処理部３７は、検索処理部３９を制御して、検索処理を実行させる。検索処理部３９は、対話処理部３７の処理により更新されたマスタフレームを構成するスロットの値を用いて適切な検索式を作成し、データベース（内部のデータベース１３であっても、外部のデータベースであってもよい）にアクセスして所望の情報を取得し、対話処理部３７に供給する。
【０１３７】
ステップＳ９において、対話処理部３７は、供給された検索結果に基づいて、マスタフレームのターゲットに対応する部分に、取得された情報を記載し、マスタフレームのフレーム記述を更新し、処理は、ステップＳ７に戻り、それ以降の処理が繰り返される。
【０１３８】
ステップＳ７において、データベースの検索処理が必要ではないと判断された場合、ステップＳ１０において、対話処理部３７は、制御信号の出力が必要であるか否かを判断する。具体的には、対話処理部３７は、例えば、入力された文章が、「録画して」である場合、制御信号生成部４０を制御し、現在のメインフレームに記載されている情報を参照して、所定の外部装置を制御するための制御信号を生成させて出力させる。
【０１３９】
ステップＳ１０において、制御信号の出力が必要であると判断された場合、ステップＳ１１において、対話処理部３７は、制御信号生成部４０を制御し、ネットワークインターフェース１５によって接続されている所定の外部装置の処理を制御させる。対話処理部３７により制御されている制御信号生成部４０は、これまでの対話処理の結果に基づいて、外部機器を制御するための制御信号を生成し、ネットワークインターフェース１５に出力する。ネットワークインターフェース１５は、ネットワークを介して、制御先の機器に、制御信号を送信する。
【０１４０】
ステップＳ１２において、ネットワークインターフェース１５は、制御信号出力先からの応答を受信して、対話制御部１２の制御信号生成部４０に出力する。制御信号生成部４０は、制御信号出力先からの応答を対話処理部３７に供給し、処理が終了される。
【０１４１】
ステップＳ１０において、制御信号の出力が必要ではないと判断された場合、具体的には、例えば、ステップＳ８およびステップＳ９の処理により得られた検索処理結果を、図８または図１４を用いて説明したテンプレートを利用して、ユーザに対して通知する必要がある場合、マスタフレームに記載されている情報が検索処理を実行するために必要な情報に満たないため、例えば、図９または図１５を用いて説明したテンプレートを利用してユーザに対する質問を出力する必要がある場合、または、前の対話処理の内容により、例えば、「その番組を視聴しますか？または、録画しますか？」や、「録画している番組から検索して再生しますか？」などの質問をユーザに対して出力する必要がある場合など、ユーザに対して情報を提供するために出力文を生成し、ユーザに対して出力する必要がある場合、ステップＳ１３において、対話処理部３７は、出力文生成部４１を制御して、ユーザへの出力文を生成させる。出力文生成部４１は、対話処理部３７の制御に基づいて、図８、図９、図１４、または、図１５に示されるようなテンプレートを基に、ユーザへの出力文を生成し、出力制御部１４に出力する。
【０１４２】
ステップＳ１４において、出力制御部１４は、テキストや画像情報を表示可能な表示部および表示部を制御する表示制御部、または、音声を出力するスピーカと、スピーカから出力される音声データを処理する音声処理部の処理により、ユーザへの出力文をテキストもしくは画像として表示出力したり、または、音声出力し、処理が終了される。
【０１４３】
このような処理により、ユーザにより入力されたテキストと、フレーム表現された用例との類似度が算出されて、算出された類似度を基に、最適用例が選択され、マスタフレームのスロットの値が更新されて、更新されたマスタフレームを基に対話処理が実行されるので、ユーザは、例えば、複数の候補文を選択することなく、自然言語による質問と回答の応酬によって、所望の情報を得たり、ネットワーク機器に対して所望の操作指令を行うことができる。
【０１４４】
また、このとき用いられる対話処理においては、文法などの規則を記述してユーザよりの入力発話を処理する方式に比べて、容易に新しい話題に対する処理を導入することができる。更に、図１６を用いて説明した対話処理に用いられる用例の形式であれば、特に、文法などの規則を熟知していない管理者であっても、用例の追加（用例数の増加）や変更も容易に行うことができるので、入力文のバリエーションに対するカバレッジを広くすることが可能となる。
【０１４５】
以上の説明においては、対話処理に用いられるユーザからの入力文は、テキストデータとして入力されるものとして説明したが、例えば、ユーザが発話した音声データを解析し、音声処理により、テキストデータを取得して、取得されたテキストデータをユーザからの入力文として取り扱うことができるようにしてもよい。
【０１４６】
図１７は、本発明を適用した第２の実施の形態における、対話処理装置６１の構成を示すブロック図である。対話処理装置６１は、ユーザのテキスト入力に加えて、ユーザの発話に対応する音声データを取得して、音声処理により、テキストデータを取得することができるようになされている。
【０１４７】
なお、図１７においては、図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図１７の対話処理装置６１は、新しく、音声データ取得部７１および音声処理部７２が設けられ、対話制御部１２に代わって、対話制御部７３が設けられている以外は、基本的に、図１を用いて説明した対話処理装置１と同様の構成を有するものである。
【０１４８】
音声データ取得部７１は、そこに入力される、いわば空気の波である音声を、電気的な波である音声信号に変換する、例えばマイクなどと、そのマイクから出力される音声信号を増幅するアンプなどで構成され、取得したアナログの音声信号を、音声処理部７２に供給する。音声処理部７２は、取得された音声信号を処理し、テキストデータとして認識する音声認識処理を実行して、対話制御部７３に供給する。
【０１４９】
対話制御部７３は、テキストデータ入力部１１、または、音声処理部７２から供給されたテキストデータを基に、対話処理を実行し、データベース１３、または、外部のデータベースにアクセスし、ユーザが所望する情報を取得したり、ユーザの質問に対する答え、または、答えを求めるために必要な情報の入力をユーザに促すためなどの各種通知に対応する出力文を生成して出力制御部１４に供給したり、他の外部機器を制御するための制御信号を生成し、ネットワークインターフェース１５を介して、生成された制御信号を、対応する機器に出力する機能に加えて、音声処理部７２において実行される音声認識処理における信頼度の情報を取得して、これを、対話処理における類似度の計算に反映することができるようになされている。
【０１５０】
図１８は、音声処理部７２の構成を示すブロック図である。
【０１５１】
ＡＤ変換部９１は、音声データ取得部７１から出力されるアナログの音声信号を、所定のクロックのタイミングでサンプリングして量子化を行い、ディジタルの音声データに変換するようになされている。
【０１５２】
分析部９２は、ＡＤ変換部９１より出力される音声信号を音響分析し、これにより、例えば所定の帯域ごとの音声のパワーや、線形予測係数（ＬＰＣ：linear prediction coding）、または、ケプストラム係数などの音声の特徴パラメータを抽出するようになされている。すなわち、分析部９２は、例えばフィルタバンクにより、音声データを所定の帯域ごとにフィルタリングし、そのフィルタリング結果を整流平滑化することで、所定の帯域ごとの音声のパワーを求めるようになされている。あるいは、分析部９２は、入力された音声に対し、例えば線形予測分析処理を施すことで、線形予測係数を求め、またその線形予測係数からケプストラム係数を求めるようになされている。
【０１５３】
分析部９２で求められた特徴パラメータは、そのまま、あるいは、そこで必要に応じてベクトル量子化されて、認識部９３に出力されるようになされている。
【０１５４】
認識部９３は、分析部９２からの特徴パラメータ（あるいは、特徴パラメータをベクトル量子化して得られるシンボル）に基づき、例えばダイナミックプログラミング（ＤＰ）マッチング法や、隠れマルコフモデル（ＨＭＭ：Hidden Markov Model）などの音声認識アルゴリズムにしたがい、後述する言語モデル記憶部９４および単語辞書９５を参照して、音声認識を行い、音声認識結果を求めて、対話制御部７３に出力するようになされている。また、認識部９３は、音声認識結果に加えて、その音声認識結果の確からしさを示す信頼度も、対話制御部７３に出力するようになされている。
【０１５５】
言語モデル記憶部９４は、例えばバイグラム（Bigram）やトライグラム（Trigram）などの統計的言語モデルを記憶している。認識部９３は、上述したような音声認識処理を、言語モデル記憶部９４に記憶されている言語モデルにより緩い言語的制約をかけ、その制約のもと、例えばビタビ（Viterbi）アルゴリズムを用いたビームサーチなどにより、適当に枝刈しながら行い、音声認識結果を対話制御部７３に出力するようになされている。この場合、認識部９３において、音声認識結果を得るまでのサーチスペースが絞り込まれるので、音声処理部７２の音声認識処理における演算量の低減、更にはその処理の高速化を図ることができる。
【０１５６】
なお、バイグラム、トライグラムは、例えば１次、２次のマルコフ過程のモデルで、音素、音節、単語などの連鎖確率を大量のテキストデータベースを基にして学習したものであり、自然言語の局所的な性質を精度良く近似することのできるモデルとして知られている。
【０１５７】
また、言語的制約は、言語モデルによる他、例えば有限状態ネットワークなどを用いてかけるようにすることも可能である。
【０１５８】
単語辞書９５には、音声認識の対象とする単語の見出し（例えば、「発明」という単語であれば「発明」という見出し）およびその音韻情報（読み）、更に必要ならば単語の品詞その他の情報が対応付けられて記憶（登録）されている。なお、単語辞書９５には、少なくとも、対話制御部７３の用例データベース３３に記憶されている用例を構成する単語が記憶されている。認識部９３では、この単語辞書９５に記憶されている単語を対象として、音声認識が行われるようになされている。
【０１５９】
ここで、認識部９３が実行する音声認識に用いられる音声認識アルゴリズムの一例として、ＨＭＭについて簡単に説明する。ＨＭＭは、非決定有限状態オートマトンとして定義され、そのモデルは、幾つかの状態と、その状態間の遷移を表すパスから構成される。このようなモデルにおいて、各状態からの状態の遷移過程はマルコフ過程とされ、また、状態が遷移するときにはシンボルが１つ出力されるものとして、モデルの学習が行われる。いま、モデルが有する状態がＮ個あり、モデル（状態）から出力されるシンボルの種類がＫ個あるとすると、この学習では、多数の学習データを用い、状態が、状態ｉから状態ｊに遷移する確率（状態遷移確率）ａｉｊと、そのときにシンボルｙkが出力される確率（出力シンボル確率）ｂｉｊ（ｙk）が求められる（ただし、０＜ｉ，ｊ＜Ｎ＋１，０＜ｋ＜Ｋ＋１）。
【０１６０】
なお、ＨＭＭのパラメータには、最初に状態ｉにいる確率（初期状態確率）πiもあるが、音声認識では、通常、状態が、自分自身、もしくは、自分自身より右側の状態にしか遷移しないleft-to-rightモデルが用いられるので、初期状態は、モデルの最も左側の状態とされる（最初に、最も左側の状態にいる確率が１とされ、他の状態にいる確率は０とされる）。このため、通常は、学習において、初期状態確率を求める必要はない。
【０１６１】
一方、認識時には、学習の結果得られた状態遷移確率および出力シンボル確率を用いて、分析部９２から出力されるシンボル系列が観測（生起）される確率である生起確率が計算され、その確率の高いものが認識結果とされる。
【０１６２】
本実施例では、認識部９３には、予め学習を行うことにより得られた、例えば音素単位のモデルである音素モデルが記憶されており、認識部９３は、単語辞書９５に登録されている単語の音韻情報を参照して、音素モデルを連結し、単語辞書９５に登録されている単語のモデルを作成する。そして、このモデルを用いて、上述したように生起確率を計算し、その確率の高い単語を求める。そして、認識部９３は、計算された生起確率を信頼度として対話制御部７３に出力する。
【０１６３】
なお、認識部９３には、音素モデルではなく、例えば単語単位のモデルである単語モデルを記憶させておき、そのモデルをそのまま用いて、連続音声認識させるようにすることも可能である。
【０１６４】
更に、認識部９３は、上述したような処理を、言語モデル記憶部９４に記憶されているバイグラム、トライグラムにより緩い言語的制約をかけ、その制約のもと、例えばビタビアルゴリズムを用いたビームサーチなどにより、適当に枝刈しながら行うようにしてもよい。
【０１６５】
次に、図１９は、図１７の対話制御部７３の構成を示すブロック図である。
【０１６６】
なお、図１９においては、図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図１９の対話制御部７３は、類似度計算部３２に代わって、類似度計算部１１１が設けられている以外は、基本的に、図２を用いて説明した対話制御部１２と同様の構成を有するものである。
【０１６７】
類似度計算部１１１は、基本的には、図２を用いて説明した類似度計算部３２と同様にして、音声解析の結果得られたユーザの発話内容を示す文章、または、ユーザにより入力されたテキストと、用例を構成する文章とを、それぞれ形態素解析し、単語単位に分割して、入力単語列と用例との類似度を算出し、算出結果を最適用例選択部３５に出力するようになされているが、このとき、音声処理部７２から供給された音声認識の信頼度を利用することができるようになされている。
【０１６８】
すなわち、類似度計算部１１１は、単語単位に分割された、入力単語列と用例との類似度を算出したのち、音声処理部７２から供給された音声認識の信頼度を基に、類似度に重み付けを行う。すなわち、類似度計算部１１１は、音声認識処理の結果テキストに付与された音響的なスコアも、類似度の算出において考慮することができるようになされている。このことにより、音声認識結果によって、入力文に誤りが含まれる場合に対する処理のロバストネスを向上させることが可能となる。
【０１６９】
また、シソーラス記憶部３４は、少なくとも、図１８を用いて説明した音声処理部７２の単語辞書９５に登録されている単語を、その概念ごとに分類して記憶している。
【０１７０】
次に、図２０および図２１のフローチャートを参照して、図１７の対話処理装置６１が実行する対話処理２について説明する。なお、テキストデータ入力部１１が、ユーザからテキストデータの入力を受けた場合、図１７の対話処理装置６１においても、基本的に、図１６を用いて説明した対話処理１と同様の処理が実行されるので、ここでは、音声データ取得部７１が音声データを取得した場合の処理について説明する。
【０１７１】
ステップＳ４１において、音声データ取得部７１は、ユーザから音声データの入力を受けたか否かを判断する。ステップＳ４１において、音声データの入力を受けていないと判断された場合、音声データの入力を受けたと判断されるまで、ステップＳ４１の処理が繰り返される。
【０１７２】
ステップＳ４１において、音声データの入力を受けたと判断された場合、ステップＳ４２において、音声データ取得部７１は、入力された音声データを音声処理部７２に供給する。音声処理部７２は、音声解析処理を行い、その結果を、対話制御部７３に出力する。具体的には、音声処理部７２は、図１８を用いて説明したように、ＡＤ変換部９１において、音声データ取得部７１から出力されるアナログの音声信号を、所定のクロックのタイミングでサンプリングして量子化を行い、分析部９２において、音声信号を音響分析して、例えば所定の帯域ごとの音声のパワーや、線形予測係数、ケプストラム係数などの音声の特徴パラメータを抽出したり、線形予測分析処理を施すことで、線形予測係数を求めたり、線形予測係数からケプストラム係数を求める。そして、認識部９３において、分析部９２からの特徴パラメータ（あるいは、特徴パラメータをベクトル量子化して得られるシンボル）に基づき、例えばダイナミックプログラミングマッチング法や、ＨＭＭなどの音声認識アルゴリズムにしたがい、言語モデル記憶部９４および単語辞書９５を参照して、音声認識が実行され、音声認識結果が求められるとともに、音声認識結果に加えて、その音声認識結果の確からしさを示す信頼度が求められる。
【０１７３】
ステップＳ４３において、対話制御部７３の文章情報取得部３１は、音声解析の結果得られたテキストデータを取得し、対話制御部７３の類似度計算部１１１は、音声解析時の信頼度情報を取得する。
【０１７４】
ステップＳ４４において、対話制御部７３の対話処理部３７は、マスタフレーム保持部３８に保持されているマスタフレームの値の記述を必要に応じてリセットする。
【０１７５】
ステップＳ４５において、対話制御部７３の文章情報取得部３１は、類似度計算部１１１に取得したテキストデータを供給し、類似度計算部１１１は、入力された文章を単語に分解した後、助詞を分離して入力単語列を生成し、シソーラス記憶部３４に記憶されているシソーラスを参照して、用例データベース３３に登録されている各用例との類似度を計算する。
【０１７６】
ステップＳ４６において、類似度計算部１１１は、供給された信頼度を基に、算出された類似度の計算結果に重み付けを施して、最適用例選択部３５に供給する。すなわち、類似度計算部１１１は、音声認識処理の結果テキストに付与された音響的なスコアも、類似度の算出において考慮することができるようになされている。
【０１７７】
ステップＳ４７において、最適用例選択部３５は、重み付けられた類似度の計算結果に基づいて、用例データベース３３に登録されている用例から、最適な用例を選択し、選択された用例、すなわち、最適用例と、入力単語列とをフレーム表現変換部３６に供給する。
【０１７８】
そして、ステップＳ４８乃至ステップＳ５７において、図１６のステップＳ５乃至ステップＳ１４と同様の処理が実行される。
【０１７９】
すなわち、最適用例の記述に基づいて、入力された文章がフレーム表現に変換され、変換後のスロットの組に基づいて、マスタフレームのフレーム記述が更新され、マスタフレームの状態に基づいて、データベースの検索処理が必要であるか否かが判断される。そして、データベースの検索処理が必要であると判断された場合、検索処理が実行されて、データベースから所望の情報が取得され、マスタフレームのターゲットに対応する部分に、取得された情報が記載されて、マスタフレームのフレーム記述が更新される。
【０１８０】
また、データベースの検索処理が必要ではないと判断された場合、制御信号の出力が必要であるか否かが判断される。そして、制御信号の出力が必要であると判断された場合、ネットワークインターフェース１５によって接続されている所定の外部装置の処理を制御するための制御信号が生成されて、ネットワークインターフェース１５およびネットワークを介して、制御先の機器に送信され、制御信号出力先からの応答が受信される。
【０１８１】
また、制御信号の出力が必要ではないと判断された場合、図８、図９、図１４、または、図１５に示されるようなテンプレートを基に、ユーザへの出力文が生成され、テキストもしくは画像として表示出力されたり、または、音声出力され、処理が終了される。
【０１８２】
このような処理により、ユーザにより入力されたテキスト、または、ユーザによる発話を音声認識した結果得られたテキストと、フレーム表現された用例との類似度が算出されて、算出された類似度を基に、最適用例が選択され、マスタフレームのスロットの値が更新されて、更新されたマスタフレームを基に対話処理が実行されるので、ユーザは、例えば、複数の候補文を選択することなく、自然言語による質問と回答の応酬によって、所望の情報を得たり、ネットワーク機器に対して所望の操作指令を行うことができるのみならず、音声認識結果の確からしさを示す信頼度情報を用いて類似度に重み付けを施すようにしているので、音声認識をした結果を利用する場合など入力文に誤りが含まれる場合に対する処理のロバストネスも向上する。
【０１８３】
以上においては、ユーザ入力のみに基づいて、対話処理を実行する場合について説明したが、過去の対話処理に関する情報である対話履歴やユーザプロファイルを保存し、これらを基に、対話処理を行うことができるようにしてもよい。
【０１８４】
次に、図２２は、本発明を適用した第３の実施の形態における、対話処理装置１３１の構成を示すブロック図である。対話処理装置１３１は、ユーザのテキスト入力に加えて、ユーザの発話に対応する音声データを取得して、音声処理により、テキストデータを取得することができるようになされているとともに、対話履歴やユーザプロファイルを保存し、これらを基に、対話処理の制御を行うことができるようになされている。
【０１８５】
なお、図２２においては、図１７における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図２２の対話処理装置１３１は、新しく、対話履歴保存部１４２およびユーザプロファイル保存部１４３が設けられ、対話制御部７３に代わって、対話制御部１４１が設けられている以外は、基本的に、図１７を用いて説明した対話処理装置６１と同様の構成を有するものである。
【０１８６】
対話制御部１４１は、テキストデータ入力部１１、または、音声処理部７２から供給されたテキストデータを基に、対話処理を行い、データベース１３、または、外部のデータベースにアクセスし、ユーザが所望する情報を取得したり、ユーザの質問に対する答え、または、答えを求めるために必要な情報の入力をユーザに促すためなどの各種通知に対応する出力文を生成して出力制御部１４に供給したり、他の外部機器を制御するための制御信号を生成し、ネットワークインターフェース１５を介して、生成された制御信号を、対応する機器に出力する。
【０１８７】
また、対話制御部１４１は、対話処理において、必要に応じて、音声処理部７２において実行される音声認識処理における信頼度の情報、対話履歴保存部１４２に保存される対話履歴情報、または、ユーザプロファイル保存部１４３に保存されるユーザプロファイルを取得して、これを、類似度の計算に反映させる。更に、対話制御部１４１は、対話処理の結果、必要な情報を、対話履歴保存部１４２またはユーザプロファイル保存部１４３に供給し、新たに保存させたり、その情報を解析させて保存させることができるようになされている。
【０１８８】
対話履歴保存部１４２は、以前実行された対話処理に関する履歴を保存している。対話履歴保存部１４２には、例えば、直前の対話処理における用例ごとの類似度の算出値や、過去所定回数の対話処理におけるマスタフレームの各スロットの値などが保存されている。また、対話履歴保存部１４２においては、その記憶容量を有効に利用して、できるだけ新しい対話履歴を保存することができるように、新たな情報を保存するとき、常に、古い情報から消去するようにしてもよい。
【０１８９】
ユーザプロファイル保存部１４３は、例えば、ユーザの個人情報や、行動パターンなどのユーザプロファイル情報を保存する。具体的には、ユーザプロファイル保存部１４３は、ユーザの氏名、性別、年齢、住所などの個人情報や、対話処理を頻繁に行う時間帯とその内容、好んで視聴する番組のジャンルまたは時間帯などのユーザ固有の行動パターンなどを保存することができる。なお、ユーザの個人情報は、ユーザの入力により登録される。そして、ユーザ固有の行動パターンは、ユーザの入力により登録されるのみならず、例えば、ユーザプロファイル保存部１４３が、対話制御部１４１から供給される過去の対話処理とその結果を蓄積し、解析する機能を有するものとし、解析された結果得られる行動パターンを登録することができるものとしてもよい。
【０１９０】
次に、図２３は、図２２の対話制御部１４１の構成を示すブロック図である。
【０１９１】
なお、図２３においては、図１９における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図２３の対話制御部１４１は、類似度計算部１１１に代わって、類似度計算部１６１が設けられ、対話処理部３７に代わって対話処理部１６２が設けられている以外は、基本的に、図１９を用いて説明した対話制御部７３と同様の構成を有するものである。
【０１９２】
類似度計算部１６１は、基本的には、図１９を用いて説明した類似度計算部７３と同様にして、音声解析の結果得られたユーザの発話内容を示す文章、または、ユーザにより入力されたテキストと、用例を構成する文章とを、それぞれ形態素解析し、単語単位に分割して、入力単語列と用例との類似度を算出し、必要に応じて、音声処理部７２から供給された音声認識の信頼度を利用して類似度に重み付けを施して、算出結果を最適用例選択部３５に出力するようになされているが、このとき、更に、対話履歴保存部１４２に保存されている対話履歴情報、および、ユーザプロファイル保存部１４３に保存されているユーザプロファイル情報を取得して、これを類似度の計算に反映することができるようになされている。
【０１９３】
すなわち、類似度計算部１６１は、対話履歴保存部１４２に保存されている対話履歴情報を基に、現在の対話処理が、直前の対話処理と時間的にほぼ連続して行われている場合、これらの対話は、連続した話題である可能性が高いため、必要に応じて、直前の対話処理において算出された用例との類似度を補正値として用いるようにすることができる。
【０１９４】
例えば、直前の対話処理におけるユーザのはじめの入力が、「横浜の今日の天気は」である場合、入力単語列として、（「横浜」、「今日」、「天気」）が得られたとすると、上述したように、入力単語列（「横浜」、「今日」、「天気」）と、用例「明日の東京の天気を教えて」との類似度は、３／４と算出されていた。これに対して、現在の対話処理におけるユーザの入力が、「東京は」であるとき、ユーザが知りたいのは、東京の今日の天気であると考えられるが、通常の方法で類似度を算出してしまっては、入力単語列「東京」と、用例「明日の東京の天気を教えて」との類似度は低いものと算出されてしまう。これに対して、類似度計算部１６１は、直前の対話処理において算出された用例ごとの類似度スコアの値を補正値や重み付けの値として利用することができるようにする。例えば、直前の対話処理において算出された用例ごとの類似度スコアの値のうちの所定の割合の値を、算出された類似度スコアから減算し、得られた値を類似度スコアの補正値とするようにしても良い。これによって、直前の対話処理におけるユーザのはじめの入力が、「横浜の今日の天気は」であり、現在の対話処理におけるユーザの入力が、「東京は」であるとき、入力単語列に対して用例「明日の東京の天気を教えて」が類似しているという類似度算出結果を得ることができる。
【０１９５】
また、類似度計算部１６１は、ユーザプロファイル保存部１４３に保存されているユーザプロファイル情報を基に、類似度を補正することができる。例えば、類似度計算部１６１は、ユーザプロファイル保存部１４３に保存されているユーザの普段の行動パターンのプロファイルを基に、毎朝、ナイターの放映時間を質問し、その回答を得て、録画予約を実行するユーザに対して、朝の時間帯は、入力単語列に対して、用例「野球中継は何時から」、および、用例「録画して」の類似度が高くなるような補正値を用いて、類似度の計算を行うようにすることができる。更に、類似度計算部１６１は、ユーザプロファイル保存部１４３に保存されているユーザプロファイル情報を基に、ユーザが、例えば、東京に住んでいる場合、「明日の天気は」という入力文章に対して、類似度スコアの算出にあたり、スロット名「場所」の値に「東京」が対応付けられている用例「明日の東京の天気を教えて」が類似しているという類似度算出結果を得ることができるような重み付けを施すようにしても良い。
【０１９６】
また、これらの対話履歴やユーザプロファイルに基づく補正値は、ベイジアン・ネットワーク（Bayesian Network）などを利用して得られる確率値などを利用して算出することも可能である。ベイジアン・ネットワークとは、不確かな出来事の連鎖について、確率の相互作用を集計する手法で、知能情報システム構築の有力な手段になっている確率的推論アルゴリズムのひとつで、原因−結果の複雑な確率ネットワークがあったときに観測された「結果」から「原因」を推定するものである。
【０１９７】
そして、対話処理部１６２は、フレーム表現変換部３６から供給されたスロットの組を基に、マスタフレーム保持部３８に保持されているマスタフレームを更新し、更新されたマスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する処理に加えて、対話処理の結果を、対話履歴保存部１４２またはユーザプロファイル保存部１４３に保存する処理を実行する。
【０１９８】
次に、図２４および図２５のフローチャートを参照して、図２２の対話処理装置１３１が実行する対話処理３について説明する。
【０１９９】
ステップＳ８１乃至ステップＳ８５において、図２０のステップＳ４１乃至ステップＳ４５と基本的に同様の処理が実行される。
【０２００】
すなわち、音声データの入力を受けたと判断された場合、音声解析処理が実行され、音声認識結果が求められるとともに、その音声認識結果の確からしさを示す信頼度が求められる。そして、音声解析の結果得られたテキストデータおよび音声解析時の信頼度情報が対話制御部１４１に取得され、マスタフレーム保持部３８に保持されているマスタフレームの値の記述が必要に応じてリセットされる。そして、入力された文章が単語に分解された後、助詞が分離されて入力単語列が生成され、シソーラス記憶部３４に記憶されているシソーラスが参照されて、用例データベース３３に登録されている各用例との類似度が計算される。
【０２０１】
ステップＳ８６において、類似度計算部１６１は、供給された信頼度情報、並びに、ユーザプロファイルおよび対話履歴を基に、算出された類似度の計算結果に重み付けを施して、最適用例選択部３５に供給する。具体的には、類似度計算部１６１は、入力単語列と用例との類似度を算出し、必要に応じて、音声処理部７２から供給された音声認識の信頼度を利用して類似度に重み付けを施したのち、現在の対話処理が、直前の対話処理と時間的にほぼ連続して行われている場合には、対話履歴保存部１４２に保存されている対話履歴情報を参照し、直前の対話処理において算出された用例との類似度を基に、類似度の補正値を算出する。類似度計算部１６１は、更に、ユーザプロファイル保存部１４３に保存されているユーザプロファイル情報を参照し、例えば、ユーザの行動パターンに特徴がある場合には、その特徴に基づいて、特定の用例の類似度が高くなるような補正値を用いて、類似度の計算を行う。
【０２０２】
そして、ステップＳ８７乃至ステップＳ９７において、図２０および図２１のステップＳ４７乃至ステップＳ５７と同様の処理が実行される。
【０２０３】
すなわち、重み付けられた類似度の計算結果に基づいて、用例データベース３３に登録されている用例から、最適な用例が選択され、選択された用例、すなわち、最適用例の記述に基づいて、入力された文章がフレーム表現に変換され、変換後のスロットの組に基づいて、マスタフレームのフレーム記述が更新され、マスタフレームの状態に基づいて、データベースの検索処理が必要であるか否かが判断される。そして、データベースの検索処理が必要であると判断された場合、検索処理が実行されて、データベースから所望の情報が取得され、マスタフレームのターゲットに対応する部分に、取得された情報が記載されて、マスタフレームのフレーム記述が更新される。
【０２０４】
また、データベースの検索処理が必要ではないと判断された場合、制御信号の出力が必要であるか否かが判断される。そして、制御信号の出力が必要であると判断された場合、ネットワークインターフェース１５によって接続されている所定の外部装置の処理を制御するための制御信号が生成されて、ネットワークインターフェース１５およびネットワークを介して、制御先の機器に送信され、制御信号出力先からの応答が受信される。
【０２０５】
また、制御信号の出力が必要ではないと判断された場合、図８、図９、図１４、または、図１５に示されるようなテンプレートを基に、ユーザへの出力文が生成され、テキストもしくは画像として表示出力されたり、または、音声出力される。
【０２０６】
ステップＳ９５またはステップＳ９７の処理の終了後、ステップＳ９８において、対話処理部１６２は、対話履歴保存部１４２に保存されている対話履歴に、この対話処理における履歴情報を追加し、必要に応じて、対話処理結果をユーザプロファイル保存部１４３に供給して、処理が終了される。
【０２０７】
なお、ここでは、音声データ取得部７１が音声データを取得した場合の処理について説明したが、テキストデータ入力部１１がユーザからテキストデータの入力を受けた場合、ステップＳ８１乃至ステップＳ８３の処理に代わって、基本的に、図１６を用いて説明した対話処理１のステップＳ１と同様の処理が実行され、ステップＳ８６の処理において、音声解析時の信頼度情報が利用されない（ユーザプロファイルおよび対話履歴のみを用いて、類似度に重み付けが施される）。
【０２０８】
このような処理により、ユーザにより入力されたテキスト、または、ユーザによる発話を音声認識した結果得られたテキストと、フレーム表現された用例との類似度が算出されて、算出された類似度を基に、最適用例が選択され、マスタフレームのスロットの値が更新されて、更新されたマスタフレームを基に対話処理が実行されるので、ユーザは、例えば、複数の候補文を選択することなく、自然言語による質問と回答の応酬によって、所望の情報を得たり、ネットワーク機器に対して所望の操作指令を行うことができ、更に、類似度の計算に、音声認識結果の確からしさを示す信頼度情報、ユーザの対話履歴情報、または、ユーザプロファイルを必要に応じて用いるようにしているので、対話処理の精度が向上し、音声認識をした結果を利用する場合など入力文に誤りが含まれる場合に対する処理のロバストネスも向上する。
【０２０９】
上述した、本発明を適用した対話処理装置における対話処理では、文法を記述してユーザからの入力文を処理する方式に比べて、入力文のバリエーションに対する処理の適用範囲を広くすることが可能となる。また、本発明を適用した対話処理装置における対話処理では、従来の音声認識を利用した対話処理と比較して、音声認識の確からしさを示す情報を利用するようにしたので、音声認識をした結果を利用する場合など入力文に誤りが含まれる場合などに対する処理のロバストネスを向上させることができる。また、本発明を適用した対話処理装置における対話処理では、システムの構築のために、専門的な文法を記述して、装置に入力文を解釈させる必要がないため、言語的な知識を持たない人間が新たな話題に対する対話システムを構築しようとする場合の作業量を低減することが可能である。
【０２１０】
また、例えば、ロボット装置などに本発明を適用した対話処理装置を組み込むようにすることにより、上述した対話処理を利用して、ユーザが、ロボットを自然言語で制御することができるようにすることも可能である。また、上述した対話処理は、ユーザインタフェースとして利用されるのみならず、例えば、ロボットが内部に保持する記憶や感情モデルなどへの内部処理のインターフェースとして用いることも可能である。
【０２１１】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２１２】
図２６は、上述した一連の処理をソフトウェアにより実現する場合のパーソナルコンピュータ２０１の一実施の形態の構成を示している。
【０２１３】
パーソナルコンピュータ２０１のＣＰＵ２１１は、パーソナルコンピュータ２０１の動作の全体を制御する。また、ＣＰＵ２１１は、内部バス２１３および入出力インターフェース２１２を介して、マウス２３１やキーボード２３２などからなる入力部２１４から、ユーザによる操作入力が入力されると、それに対応してＲＯＭ（Read Only Memory）２１５に格納されているプログラムをＲＡＭ（Random Access Memory）２１６にロードして実行する。あるいはまた、ＣＰＵ２１１は、ＨＤＤ２１８にインストールされたプログラムをＲＡＭ２１６にロードして実行し、ディスプレイ２３３やスピーカ２３４などの出力部２１７に実行結果を出力させる。更に、ＣＰＵ２１１は、ネットワークインターフェース２２０を制御して、外部と通信し、データの授受を実行する。
【０２１４】
また、ＣＰＵ２０１は、内部バス２１３および入出力インターフェース２１２を介して、必要に応じて、ドライブ２１９と接続され、ドライブ２１９に必要に応じて装着された磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、または半導体メモリ２２４と情報を授受することができるようになされている。
【０２１５】
プログラムが記録されている記録媒体は、図２６に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２２１（フレキシブルディスクを含む）、光ディスク２２２（CD−ＲＯＭ（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ２２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ２１５や、ＨＤＤ２１８などで構成される。
【０２１６】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２１７】
【図１】本発明を適用した、対話処理装置の構成を示すブロック図である。
【図２】図１の対話制御部の構成を示すブロック図である。
【図３】シソーラスについて説明するための図である。
【図４】対話処理の第１の例におけるフレーム構成について説明するための図である。
【図５】対話処理の第１の例において図２の用例データベースに記憶されている用例について説明するための図である。
【図６】対話処理の第１の例における図２のフレーム表現変換部の処理について説明するための図である。
【図７】対話処理の第１の例におけるマスタフレームの更新について説明するための図である。
【図８】対話処理の第１の例におけるユーザへの出力文のテンプレートの例について説明するための図である。
【図９】対話処理の第１の例におけるユーザへの出力文が質問である場合のテンプレートの例について説明するための図である。
【図１０】対話処理の第２の例におけるフレーム構成について説明するための図である。
【図１１】対話処理の第２の例において図２の用例データベースに記憶されている用例について説明するための図である。
【図１２】対話処理の第２の例における図２のフレーム表現変換部の処理について説明するための図である。
【図１３】対話処理の第２の例におけるマスタフレームの更新について説明するための図である。
【図１４】対話処理の第２の例におけるユーザへの出力文のテンプレートの例について説明するための図である。
【図１５】対話処理の第２の例におけるユーザへの出力文が質問である場合のテンプレートの例について説明するための図である。
【図１６】対話処理１について説明するためのフローチャートである。
【図１７】本発明を適用した、対話処理装置の異なる構成を示すブロック図である。
【図１８】図１７の音声処理部の構成を示すブロック図である。
【図１９】図１７の対話制御部の構成を示すブロック図である。
【図２０】対話処理２について説明するためのフローチャートである。
【図２１】対話処理２について説明するためのフローチャートである。
【図２２】本発明を適用した、対話処理装置の更に異なる構成を示すブロック図である。
【図２３】図２２の対話制御部の構成を示すブロック図である。
【図２４】対話処理３について説明するためのフローチャートである。
【図２５】対話処理３について説明するためのフローチャートである。
【図２６】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０２１８】
１  対話処理装置，  １１  テキストデータ入力部，  １２  対話制御部，  １３  データベース，  １４  出力制御部，  １５  ネットワークインターフェース，  ３１  文章情報取得部，  ３２  類似度計算部，  ３３  用例データベース，  ３４  シソーラス記憶部，  ３５  最適用例選択部，  ３６  フレーム表現変換部，  ３７  対話処理部，  ３８  マスタフレーム保持部，  ３９  検索処理部，  ４０  制御信号生成部，  ４１  出力文生成部，  ６１  対話処理装置，  ７１  音声データ取得部，  ７２  音声処理部，  ７３  対話制御部，  １１１  類似度計算部，  １３１  対話処理装置，  １４１  対話制御部，  １４２  対話履歴保存部，  １４３  ユーザプロファイル保存部，  １６１  類似度計算部，  １６２  対話処理部
【図１】
2005301780.tif 000003
【図２】
2005301780.tif 000004
【図３】
2005301780.tif 000005
【図４】
2005301780.tif 000006
【図５】
2005301780.tif 000007
【図６】
2005301780.tif 000008
【図７】
2005301780.tif 000009
【図８】
2005301780.tif 000010
【図９】
2005301780.tif 000011
【図１０】
2005301780.tif 000012
【図１１】
2005301780.tif 000013
【図１２】
2005301780.tif 000014
【図１３】
2005301780.tif 000015
【図１４】
2005301780.tif 000016
【図１５】
2005301780.tif 000017
【図１６】
2005301780.tif 000018
【図１７】
2005301780.tif 000019
【図１８】
2005301780.tif 000020
【図１９】
2005301780.tif 000021
【図２０】
2005301780.tif 000022
【図２１】
2005301780.tif 000023
【図２２】
2005301780.tif 000024
【図２３】
2005301780.tif 000025
【図２４】
2005301780.tif 000026
【図２５】
2005301780.tif 000027
【図２６】
2005301780.tif 000028