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