(57)【特許請求の範囲】
【請求項１】
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする機器制御装置。
【請求項２】
前記所定の係数は、重み係数である、
ことを特徴とする、請求項１に記載の機器制御装置。
【請求項３】
前記遷移定義データの条件に対応する尤度と、前記重み係数と、の積を計算することにより、それぞれの遷移定義データの条件についての判別結果が得られる、
ことを特徴とする、請求項２に記載の機器制御装置。
【請求項４】
所定の処理項目から遷移定義データによって遷移を定義されていない処理項目若しくは遷移定義データにジャンプされるとき、当該所定の処理項目からジャンプされた処理項目若しくは遷移定義データに対しての遷移定義データを生成する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の機器制御装置。
【請求項５】
前記重み係数の算出基準である遷移定数は、前記遷移定義データに対応して定数として設定され、
状態が遷移している一の処理項目に連なる他の処理項目に係る遷移定義データの重み係数は、一の処理項目に係る遷移定義データの前記定数から、他の処理項目に係る遷移定義データまでの定数が累積されて算出される、
ことを特徴とする請求項２又は３に記載の機器制御装置。
【請求項６】
前記遷移定数は、
当該遷移定数に係る遷移定義データが選択されたことを条件に変化される、
ことを特徴とする請求項５に記載の機器制御装置。
【請求項７】
一の処理項目に状態が遷移している場合であっても、所定の処理項目に係る遷移定義データの重み係数は、所定の値より高く設定されてなる、
ことを特徴とする請求項２又は３に記載の機器制御装置。
【請求項８】
前記入力情報は音声信号であり、
前記遷移定義データの条件は音声認識を行う対象の単語である、
ことを特徴とする請求項１乃至７のいずれか１項に記載の機器制御装置。
【請求項９】
前記条件は、一の遷移定義データに対して複数設定されてなる、
ことを特徴とする請求項１乃至８のいずれか１項に記載の機器制御装置。
【請求項１０】
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする音声認識装置。
【請求項１１】
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とするエージェント装置。
【請求項１２】
音声入力部と言語解析部とエージェント処理部とを備える機器制御装置にて実行される機器制御方法であって、
前記音声入力部が、入力される入力情報を認識する入力情報認識ステップと、
前記言語解析部が、前記入力情報認識ステップで認識された認識情報から、複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データに対応付けられた条件と前記入力情報との一致状態を示す尤度を特定するステップと、
前記言語解析部が、前記遷移定義データに対応付けられた所定の係数を、前記尤度に対応させることによって、判別結果を得るステップと、
前記エージェント処理部が、前記判別結果に基づいて一の遷移定義データを選択するステップと、
前記エージェント処理部が、前記選択された遷移定義データによって指定される処理項目に状態を遷移させるステップと、
を有することを特徴とする機器制御方法。
【請求項１３】
コンピュータを、
入力される入力情報を認識する入力情報認識手段、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段、
として機能させ、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機器制御装置、音声認識装置、エージェント装置、機器制御方法及びプログラムに関する。
【背景技術】
【０００２】  近年、音声認識の技術を用いて音声を認識し、認識結果に応答して電気機器などを制御する手法が用いられている。この手法は、具体的には、入力した音声が表す単語を識別し、識別された単語が所定のキーワードに合致するか否かを判別して、判別結果に基づいて外部の機器を制御するものである（例えば、特許文献１参照）。
【特許文献１】特開平８−３３９２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】  しかし、人間が言語の形で発する指示を完全に認識するのは困難である。このため、上述の手法では、人間が言語の形で発する指示に適切に応答することができない場合があった。【０００４】
この発明は上記実状に鑑みてなされたものであり、人間が言語の形で発する指示に適切に応答して機器を制御できる機器制御装置、音声認識装置、エージェント装置、機器制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、この発明の第１の観点にかかる機器制御装置は、
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする。
また、前記所定の係数は、重み係数であってもよい。
また、前記遷移定義データの条件に対応する尤度と、前記重み係数と、の積を計算することにより、それぞれの遷移定義データの条件についての判別結果が得られてもよい。
【００１２】  所定の処理項目から遷移定義データによって遷移を定義されていない処理項目若しくは遷移定義データにジャンプされるとき、当該所定の処理項目からジャンプされた処理項目若しくは遷移定義データに対しての遷移定義データを生成する、ことができる。【００１３】  前記重み係数の算出基準である遷移定数は、前記遷移定義データに対応して定数として設定され、
状態が遷移している一の処理項目に連なる他の処理項目に係る遷移定義データの重み係数は、一の処理項目に係る遷移定義データの前記定数から、他の処理項目に係る遷移定義データまでの定数が累積されて算出される、ようにしてもよい。【００１４】  前記遷移定数は、
当該遷移定数に係る遷移定義データが選択されたことを条件に変化される、ようにしてもよい。【００１５】  一の処理項目に状態が遷移している場合であっても、所定の処理項目に係る遷移定義データの重み係数は、所定の値より高く設定されてなる、ようにしてもよい。【００１６】  前記入力情報は音声信号であり、
前記遷移定義データの条件は音声認識を行う対象の単語である、ようにしてもよい。【００１７】  前記条件は、一の遷移定義データに対して複数設定されてなる、ようにしてもよい。【００２７】
この発明のその他の観点にかかる音声認識装置は、
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする。
【００３１】
この発明のその他の観点にかかるエージェント装置は、
入力される入力情報を認識する入力情報認識手段と、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段と、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段と、を備え、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする。
【００３６】
この発明のその他の観点にかかる機器制御方法は、音声入力部と言語解析部とエージェント処理部とを備える機器制御装置にて実行される機器制御方法であって、
前記音声入力部が、入力される入力情報を認識する入力情報認識ステップと、
前記言語解析部が、前記入力情報認識ステップで認識された認識情報から、複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データに対応付けられた条件と前記入力情報との一致状態を示す尤度を特定するステップと、
前記言語解析部が、前記遷移定義データに対応付けられた所定の係数を、前記尤度に対応させることによって、判別結果を得るステップと、
前記エージェント処理部が、前記判別結果に基づいて一の遷移定義データを選択するステップと、
前記エージェント処理部が、前記選択された遷移定義データによって指定される処理項目に状態を遷移させるステップと、
を有することを特徴とする。
この発明のその他の観点に係るプログラムは、コンピュータを、
入力される入力情報を認識する入力情報認識手段、
入力情報認識手段によって認識された認識情報に対応する処理を実行する処理項目を複数記憶する処理項目データ記憶手段、
複数の処理項目のうちの一の処理項目から他の処理項目への遷移を定義する遷移定義データを複数記憶する遷移定義データ記憶手段、
として機能させ、
前記遷移定義データのそれぞれは、入力情報に対応する条件と、前記条件に対応する所定の係数と、を有し、
前記認識情報は、前記入力情報と前記遷移定義データが有する条件との一致状態を示す尤度を有し、
前記遷移定義データの条件に対応する尤度に前記所定の係数を対応させて、それぞれの遷移定義データの条件についての判別結果を得、
前記判別結果に基づいて一の遷移定義データを選択し、選択された遷移定義データによって指定される処理項目に状態を遷移させる、
ことを特徴とする。
【発明の効果】
【００３８】
この発明によれば、人間が言語の形で発する指示に適切に応答して機器を制御できる機器制御装置、音声認識装置、エージェント装置、機器制御方法及びプログラムが実現される。
【図面の簡単な説明】
【００３９】［図１］この発明の実施の形態に係る車内空調システムを示す図である。
［図２］この実施の形態に係る車内空調システムのより詳細な構成図である。
［図３］グルーピング用のフラグの具体例を模式的に示す図である。
［図４］トリガ取得処理を説明するための図である。
［図５］判別処理を説明するための図である。
［図６］問い合わせ付きの判別処理を説明するための図である。
［図７］入出力処理を説明するための図である。
［図８］ワイヤを示す図である。
［図９］処理項目データベース及びワイヤデータベースが全体として表しているフローを示す図である。
［図１０］重み係数の設定を説明するための図である。
［図１１］エージェント処理部の動作を説明するためのフローチャートである。
【符号の説明】
【００４０】１    音声入力部
２    言語解析部
３    音声合成処理部
４    音声出力部
５    入出力対象機器群
５１  エアコン
５２  窓開閉制御部
６    エージェント処理部
【発明を実施するための最良の形態】
【００４１】  以下、図面を参照して、この発明の実施の形態を、車両内に設置された車内空調システムを例として説明する。尚、本発明によれば、入力情報に応じて状態を遷移させて処理を行うエージェント装置として車内空調システムを機能させることができる。また、車内空調システムの一部は、音声認識装置として機能する。
図１は、この車内空調システムの構成を示すブロック図である。図示するように、この車内空調システムは、音声入力部１と、言語解析部２と、音声合成処理部３と、音声出力部４と、入出力対象機器群５と、エージェント処理部６とより構成されている。【００４２】  音声入力部１は、音声を入力し、入力した音声からデジタル形式の音声データを生成し、この音声データを言語解析部２へと供給する。具体的には、音声入力部１は、図２に示すように、例えば、マイクロフォン１１と、ＡＦ（Ａｕｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）増幅器１２と、サンプルホールド回路を内蔵するＡ／Ｄ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ）コンバータ１３などより構成されている。マイクロフォン１１は音声を音声信号に変換して出力する。ＡＦ増幅器１２は、マイクロフォン１１からの音声信号を増幅して出力する。Ａ／Ｄコンバータ１３は、ＡＦ増幅器１２からの増幅された音声信号をサンプリング、Ａ／Ｄ変換することにより、ディジタル音声データを生成し、言語解析部２へと供給する。【００４３】  言語解析部２と音声合成処理部３とエージェント処理部６とは、図２に示すように、それぞれ、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等からなるプロセッサ２１、３１，６１と、このプロセッサ２１、３１、６１が実行するプログラムを記憶するハードディスク装置等の不揮発性メモリ２２、３２、６２と、プロセッサのワークエリアとなる記憶領域を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリ２３、３３，６３とより構成されている。
なお、言語解析部２、音声合成処理部３及びエージェント処理部６の一部又は全部の機能を１つのプロセッサや１つの不揮発性メモリや１つの揮発性メモリで構成してもよい。【００４４】  言語解析部２は、音声入力部１より供給された音声データに音声認識処理を行う。
言語解析部２は、音声認識処理により、音声データが表している単語の候補と、この候補の尤度（スコア）Ｓとを特定する。スコアＳの値が所定値を下回る単語については、候補として選択しない。音声認識の手法は任意であり、また、候補は複数特定されてよい。そして、特定した候補及び当該候補のスコアＳを示すデータ（以下、単語データと呼ぶ）を生成し、エージェント処理部６へと供給する。尚、単語データは、単語情報そのものとスコアＳを含むものとしても良いが、実際には単語ＩＤとスコアＳを含むものとした方が、データの取扱上有利である。【００４５】  音声合成処理部３の不揮発性メモリ３２は、単語の波形を表すデータを記憶する音片データベースＤ１と、音素を構成するための波形を表すデータを記憶する素片データベースＤ２とを記憶する。
音片データベースＤ１は、単語の波形を表すデータを記憶する。素片データベースＤ２は、音素を構成するための波形を表すデータを記憶する。音声合成処理部３は、音片データベースＤ１及び／又は素片データベースＤ２に格納されているデータを用いて、エージェント処理部６より供給された文章データを読み上げる音声を表すデジタル音声データを生成する。
音声合成部３は、生成した音声データを音声出力部４に供給する。
デジタル音声データを生成する手法は任意であるが、例えば、録音編集方式や規則合成方式（Ｒｕｌｅ−ｂａｓｅｄ  ｓｙｎｔｈｅｓｉｓ）を使用できる。なお、録音編集方式は、例えば、単語単位の音声を予めアナウンサーに読んでもらい、それらをつなぎあわせて出力する方式である。また、規則合成方式は、音韻（子音や母音）や仮名のような比較的小さな単位をつなぎあわせて出力する方式である。【００４６】  音声出力部４は、音声合成処理部３から供給されたデジタル音声データが表す音声を再生する。より詳細には、音声出力部４は、図２に示すように、Ｄ／Ａ（Ｄｉｇｉｔａｌ−ｔｏ−Ａｎａｌｏｇ）コンバータ４１、ＡＦ増幅器４２及びスピーカ４３を備える。
Ｄ／Ａコンバータ４１は、音声合成処理部３より供給されたデジタル音声データをＤ／Ａ変換して、アナログ音声信号に変換する。ＡＦ増幅器４２は、アナログ音声信号を増幅する。スピーカ４３は、アナログ音声信号に従って振動し、アナログ音声データが表す音声を再生し、放音する。【００４７】  入出力対象機器群５は、例えば、エアコン（エアコンディショナ）５１や、窓開閉制御部５２などより構成されている。【００４８】  エアコン５１は、自己に供給される制御信号に従って、冷房、暖房又は送風の動作を行う。また、エアコン５１は、自己の動作状態を表すデータとして、例えば、自己が冷房動作中、暖房動作中、設定温度へ向けた温度調整中、送風動作中及び停止中のうちどの状態にあるかを示すデータを生成して出力する。また、エアコン５１は、設定状態を表すデータとして、例えば、現在の設定温度を示すデータを生成して出力する。【００４９】  窓開閉制御部５２は、モーターや、制御信号に従ってモータの回転及び停止を制御する制御回路や、モーターの回転に従って窓枠を動かすためのウインチ等から構成されており、自己に供給される制御信号に従って、窓の開閉を行う。また、窓開閉制御部５２の制御回路は、窓開閉制御部５２の動作状態を表すデータとして、例えば、開閉する対象の窓が開いている量を示すデータを生成して出力する。【００５０】  エージェント処理部６の不揮発性メモリ６２は、単語データベースＤ３を記憶する。単語データベースＤ３は、複数の単語のデータと、複数の単語のグルーピングを示すための単語グルーピング用のフラグ１個以上とを、互いに対応付けて格納する。【００５１】  １個の単語に対応付けられている各フラグは、互いに異なる概念に対応付けられている。そして、フラグが所定の値（以下では、この値は“１”であるとする）を示す場合は、このフラグに対応付けられた単語が、このフラグに対応付けられた概念の下にグルーピングされていることを示す。一方、このフラグが他の値（例えば“０”）を示す場合は、この単語がこの概念の下にはグルーピングされていないことを示す。【００５２】  図３は、グルーピング用のフラグの具体例を模式的に示す図である。
図３の例では、単語「上がる」、「暑い」及び「開ける」に、単語グルーピング用のフラグが４ビットずつ対応付けられている。
４ビットビット群の最上位（ＭＳＢ）のフラグは「温度」という概念に対応付けられている。上位から２ビット目のフラグが「エアーコンデショナの操作」という概念に対応付けられている。上位から３ビット目のフラグが「窓の開閉」という概念に対応付けられている。最下位のフラグが「故障」という概念に対応付けられている。一方、図示するように、単語「上がる」に対応付けられている４ビットのフラグ群の値が２進数“１１１０”であり、単語「暑い」に対応付けられているフラグ群の値が２進数“１１００”であり、単語「開ける」に対応付けられているフラグ群の値が２進数“１０１０”である。
この場合、このフラグ群は、概念「温度」の下には単語「上がる」、「暑い」及び「開ける」がグルーピングされており、概念「エアコンの操作」の下には単語「上がる」及び「暑い」がグルーピングされており、概念「窓の開閉」の下には単語「暑い」及び「開ける」がグルーピングされており、概念「故障」の下には単語「上がる」、「暑い」又は「開ける」のいずれもグルーピングされていないことを示す。当然、ビット数を増加させれば、多くの概念との関連を示すことができる。
なお、各単語及び各概念は、処理項目データベースＤ４に格納されている各処理項目の「判別条件」として使用される。【００５３】  エージェント処理部６の不揮発性メモリは、更に、処理項目データベースＤ４及びワイヤデータベースＤ５を記憶している。【００５４】  処理項目データベースＤ４は、エージェント処理部６が行うトリガ取得処理（ＴＧｘｘ）、判別処理（ＣＮｘｘ又はＱＢｘｘ）及び入出力処理（後述するＥＸｘｘ）の内容を、処理項目（ポインタ）毎に記述するデータ（処理項目データ）を格納したデータベースである。なお、「ｘｘ」は識別番号である。【００５５】  処理項目データベースＤ４に格納される処理項目のうち、「トリガ取得処理（ＴＧｘｘ）」の内容を記述するデータは、これらの処理を開始させるトリガを特定するトリガデータ（トリガとして取得するデータの内容を指定するデータ）と、後述する進行方向決定用の遷移定数（その進行方向に遷移する程度を示すもので、後述する重み係数Ｊの算出基準となる定数）とを含む。
トリガデータは任意であり、例えば、エアーコンデショナが冷房動作中、暖房動作中、温度調整中、送風動作中及び停止中のうちどの状態にあるかを示すデータや、窓が開いている量を示すデータや、室内の温度を示すデータや、言語解析部２より供給される上述の単語データである。あるいは、トリガデータは、エージェント処理部６自身が行う処理から引き渡されるデータであってもよい。また、トリガデータ（トリガ取得処理で取得されるデータ）が単語データである場合は、当該単語データが表す単語が属すグルーピングに割り当てられている「概念」を示すデータでもよい。ただし、トリガ取得処理の内容は、後述するように、複数のトリガ取得処理が互いに同一の単語を表す単語データを取得することがないように記述されるものとする。
図４（ａ）にトリガ取得処理ＴＧｘｘの例を示す。この例では、トリガＴＧ０１は、トリガとしての概念「暑い」を取得する（単語「暑い」にグルーピングされている単語（図３の例では、単語「温度」又は「エアコンの操作」）を識別する）処理であり、その処理に後続する処理に進む（遷移する）か否かを決定するための遷移定数ｋは０．８である。図４（ｂ）には、トリガ取得処理ＴＧ０１のフローチャートを示す。
トリガ取得処理ＴＧ０２は単語「開けて」を取得する処理である。トリガ取得処理ＴＧ０３は概念「温度」に対応するグループに属す単語を取得する（図３では、「上がる」、「暑い」、「開ける」のいずれかを取得する）処理である。ＴＧ０４は、概念「エアコンの操作」に対応するグループに属す単語（図３では、「上がる」、「暑い」のいずれかを取得する）処理である。【００５６】  処理項目データベースＤ４に格納されている「判別処理（ＣＮｘｘ）」の内容を記述するデータは、判別条件と、判別結果としてとり得る結果のリストと、後述する戻り方向の遷移定数ｋとを、判別処理別に記述したデータを含んでいる。判別処理の内容を記述するデータは、進行方向を決定するための遷移定数ｋを、判別結果毎に記述したデータを含んでいる。
図５（ａ）に判別処理ＣＮｘｘの例を示す。この例では、判別処理ＣＮ０１は、「窓が開いているか否かを判別する処理」であり、開いていると判別したときに後続する処理に進むか否かを決定するための遷移定数ｋが０．３、開いていないと判別したときにそれに後続する処理に進むか否かを決定するため遷移定数ｋが０．４である。この例のフローチャートを図５（ｂ）に示す。図５（ｂ）に示すノードＣＮ０１．１は、処理の開始点を示す始点ノード、ノードＣＮ０１．２は、窓が閉じていると判別したときの進行方向のノードであり、その遷移定数ｋは０．４である。さらに、ノードＣＮ０１．３は、窓が開いていると判別したときの進行方向のノードであり、その遷移定数ｋは０．３である。また、判別処理ＣＮ０２は、エアコン５１のステータスがオン（動作中か）否かを判別する処理であり、動作中であると判別したときに後続する処理に進むか否かを決定するための遷移定数ｋが０．５、オフである（動作していない）と判別したときの遷移定数ｋが０．３である。【００５７】  「判別処理」は、判別に用いるデータを任意の取得源から取得する場合があってもよいとする。取得源としては、例えば、言語解析部２や、エージェント処理部６が実行する他の処理や、入出力対象機器群５に属する機器や、その他外部の機器などが考えられる。そしてこの場合、判別処理の内容を記述するデータは、例えば、判別に用いるデータの取得源を指定するデータを更に含んでいればよい。【００５８】  また、「判別処理」では、所定のデータを、判別に先立って所定の出力先に出力するようにしてもよい（この場合は、処理を示す記号を例えばＱＢｘｘとする）。例えば、所定の質問を表すデータを、判別に先立って音声合成処理部３に引き渡す、等が考えられる。判別処理において所定のデータを判別に先立って所定のデータを出力する場合、判別処理の内容を記述するデータは、例えば、出力するデータの内容と、このデータの出力先とを指定するデータを含む。
図６（ａ）に判別処理ＱＢｘｘの例を示す。この例では、例えば、判別処理ＱＢ０１は、「窓を開けますか？それともエアコンをつけますか？」と利用者に問い合わせ、その応答（利用者の回答）が「エアコンをつける」であったときの進行方向の遷移定数ｋが０．７、「窓を開ける」であったときの進行方向の遷移定数ｋが０．４である。この例のフローチャートを図６（ｂ）に示す。図６（ｂ）に示すノードＱＢ０１．１は、処理の開始点を示す始点ノード、ノードＱＢ０１．２は、問い合わせに対して、「エアコン」をつけることが指定されたことを判別したときの進行方向のノードであり、その遷移定数ｋは０．７である。さらに、ノードＱＢ０１．３は、窓を開けることが指定されたことを判別したときの進行方向のノードであり、その遷移定数ｋは０．４である。また、判別処理ＱＢ０２は、「窓を閉じますか？」と利用者に問い合わせ、その応答（利用者の回答）が「閉じる」であったときの進行方向の遷移定数ｋが０．５、「閉じない」であったときの進行方向の遷移定数ｋが０．３である。【００５９】  処理項目データベースＤ４に格納されている「入出力処理」の内容を記述するデータは、入力あるいは出力するデータの内容を指定するデータから構成されている。入力データ及び出力データは任意の内容を有していてよい。例えば、出力データは、音声合成処理部３を介して音声出力部４に発生させる音声の読みを表すデータや外部の機器を制御する制御信号であってもよい。また、入力データは、例えば、外部の機器から供給されるデータであってもよい。
図７（ａ）に出力処理ＥＸｘｘの例を示す。この例では、例えば、出力処理ＥＸ０１は、「窓を閉める且つエアコンを動作させる」という動作であり、動作後の処理を行う進行方向の遷移定数ｋが０．８である。この例のフローチャートを図７（ｂ）に示す。図７（ｂ）に示すノードＥＸ０１．１は、処理の開始点を示す始点ノード、ノードＥＸ０１．２は、処理の終了を示すノードであり、遷移定数ｋは０．８である。尚、出力処理ＥＸｘｘについては、遷移定数ｋの設定等を行わずに、処理の終了を示すノードの選択を必須の処理としてもよい。【００６０】  ワイヤデータベースＤ５は、複数の処理（ＴＧ、ＣＮｘｘ、ＱＢｘｘ、ＥＸｘｘ）間の遷移を記述するデータ（以下、この遷移定義データをワイヤと呼ぶ）の集合から構成されている。ワイヤは、例えば図８に示すような書式で記述されたデータから構成されている。ワイヤＷｎ（Ｗ１、Ｗ２．．．）は図示するように、先行する処理Ｘ（Ｆｒｏｍ（Ｘ））から後続する処理Ｙ（Ｔｏ（Ｙ））への遷移（Ｆｒｏｍ（Ｘ）Ｔｏ（Ｙ））について、当該先行の処理（Ｘ）と、当該後続の処理（Ｙ）と、当該遷移に対して与えられた重み係数Ｊと、を指定するデータである。なお、先行の処理Ｘが判別処理である場合は、当該判別処理のどの判別結果からの遷移であるか、まで記述される必要がある。
また、遷移元処理Ｘと遷移先Ｙは、それぞれ、各処理のノード番号で特定される。
各ワイヤの重み係数Ｊは、固定値ではなく、処理の進行に応じて、適宜計算され、設定されるものである。ワイヤの重み係数Ｊの計算は図９を参照して後述する。【００６１】  処理項目データベースＤ４及びワイヤデータベースＤ５が全体として表しているフローを実行する。処理項目データベースＤ４及びワイヤデータベースＤ５は、例えば、図３〜図７の例に基づくと、全体として図９に示すようなフローを記述することができる。【００６２】  図９に示すフローにおいては、エージェント処理部６は、トリガ処理ステップＴＧ０１では、「暑い」という単語を示す単語データを言語解析部２より供給されるのを待機する。「暑い」という単語を示す単語データが供給されるとこれを取得し、入力された音声が「暑い」であったと判断されると、判別処理ステップＣＮ０１に引き渡す（ワイヤＷ１）。ここで、「暑い」という単語を示す単語データのスコアＳと、前述の重み係数Ｊから、音声認識の判別結果を向上させることができるが、これについては後述する。【００６３】  エージェント処理部６は、判別処理ステップＣＮ０１では、窓が開いているか否かを示す情報を窓開閉制御部５２より取得し、開いていると判別すると入出力処理ステップＥＸ０１に処理を移し（ワイヤＷ２）、入出力処理ＥＸ０１では、窓開閉制御部５２に、窓を閉めることを指示する制御信号を出力し、エアコン５１に、冷房動作を開始することを指示する制御信号を出力する。この結果、窓開閉制御部５２は窓を閉め、エアコン５１は冷房動作を開始する。【００６４】  一方、判別処理ステップＣＮ０１で、窓が閉じていると判別すると、質問を含む判別処理ＱＢ０１に処理を移す（ワイヤＷ３）。判別処理ステップＱＢ０１でエージェント処理部６は、まず、「窓を開けますか。それともエアコンをつけますか。」という文章を表すデータを音声合成処理部３に供給する。音声合成処理部３は、音声出力部４を介して、この文章を読み上げる音声を再生させる。【００６５】  判別処理ステップＱＢ０１でエージェント処理部６は、次に、言語解析部２から、単語「窓」又は単語「エアコン」を表す単語データが供給されるのを待機し、該当する単語データが供給されると、この単語データが単語「窓」又は単語「エアコン」のどちらを表すかを判別する。そして、単語「窓」を表すと判別すると入出力処理ステップＥＸ０３に処理を移し（ワイヤＷ５）、単語「エアコン」を表すと判別すると、入出力処理ステップＥＸ０２に処理を移す（ワイヤＷ６）。【００６６】  エージェント処理部６は、入出力処理ステップＥＸ０２では、エアコン５１に、冷房を開始することを指示する制御信号を出力する。一方、エージェント処理部６は、入出力処理ステップＥＸ０３では、窓開閉制御部５２に、換気用の窓を開けることを指示する制御信号を出力する。【００６７】  一方、エージェント処理部６は、「窓を開けて」という単語を示す単語データを言語解析部２より供給されるのを待機し（トリガ処理ステップＴＧ０２）、「窓を開けて」という単語を示す単語データが供給され、入力された音声が「窓を開けて」という単語であったと判別すると、入出力処理ステップＥＸ０３へと処理を移す（ワイヤＷ４）。【００６８】  エージェ��ト処理部６は、例えば言語解析部２が単語データを複数供給した場合などにおいては、複数の判別処理を並行して行う。またこの場合、エージェント処理部６は同一の単語を入力の対象とする処理（例えば、トリガ取得処理や、判別処理におけるデータの入力）が複数があって、該当する単語を表す単語データが言語解析部２より供給された場合は、これらの処理すべてを並行して行う。このとき、入力された単語が何であったかの最終的な判別は、前述のように単語データの示すスコアＳと重み係数Ｊを用いて行うことができるが、これについては後述する。【００６９】  次に、各ワイヤの重み係数Ｊを計算する方法を説明する。
複数の処理がワイヤＷにより連結されている場合には、注目するワイヤＷの重み係数Ｊは、現在処理中の処理を起点として、注目しているワイヤＷに至るまでの遷移の経路上の進行方向決定用の遷移定数ｋを順次乗算することにより求められる。
理解を容易にするため、図１０（ａ）にフローを示す処理を想定する。
この例では、先行する第１の処理（この例では、トリガ取得処理ＴＧｘｘ）を実行して後続の第２の処理（この例では、判別処理ＣＮｘｘ）に遷移するようにワイヤＷ５１により定義されており、また、第２の処理を実行して後続の第３の処理（この例では、ＱＢｘｘ）に遷移するようにワイヤＷ５２によって定義され、さらに、第３の処理を実行して後続の処理に遷移するようにワイヤＷ５３によって定義されている。
なお、第１〜第３の処理のいずれについても、各進行方向決定用の遷移定数ｋはいずれも０．５であるものとする。
この場合、ワイヤは、例えば、図１０（ｂ）に示すように、定義される。【００７０】  例えば、エージェント処理部６の処理（又は制御）が第１の処理に到達しているとき、エージェント処理部６は、第１の処理を起点として、進行方向の遷移定数ｋを遷移経路に沿って順次乗算することにより、ワイヤＷ５１〜Ｗ５５（図示していないワイヤが存在する場合にはそれらを含むすべて）のそれぞれの重み係数Ｊを計算し、計算結果をワイヤＷ５１〜Ｗ５５に対応つけてワイヤデータベースＤＢ５に書き込む。【００７１】  具体的には、第１の処理に到達したとき、例えば、ワイヤＷ５１の重み係数Ｊは、第１の処理の第２の処理に繋がるノードに割り当てられている遷移定数ｋの値すなわち０．５となる。第２の処理のワイヤＷ５２の重み係数Ｊは、第１の処理のワイヤＷ５１に係る遷移定数ｋ＝０．５に第２の処理のワイヤＷ５２に繋がるノードの遷移定数ｋ＝０．５を乗じた結果すなわち０．２５となる。
ワイヤＷ５３の重み係数Ｊは、第１の処理のワイヤＷ５１に係る遷移定数ｋ＝０．５に第２の処理のワイヤＷ５２に係る遷移定数ｋ＝０．５を乗じた結果に更に第３の処理のワイヤＷ５３に係る遷移定数ｋ＝０．５を乗じた結果、すなわち０．１２５となる。【００７２】  このようにして、処理中の処理を基点としたときのそれぞれのワイヤの重み係数Ｊが計算される。よって、現在の状態が遷移すると、現在の処理を基点にしてその都度各ワイヤの重み係数Ｊが計算されることになる。【００７３】  具体的には、現在の状態が第２の処理に遷移すると、ワイヤＷ５４の重み係数Ｊは、第２の処理のワイヤＷ５２に係る遷移定数ｋに等しい値０．５となり、ワイヤＷ５５の重み係数Ｊは第２の処理のワイヤＷ５２に係る遷移定数ｋ＝０．５と第３の処理のワイヤＷ５５に係る遷移定数ｋ＝０．５との積すなわち０．２５となる。このとき、エージェント処理部６は、逆方向、つまり第１の処理に戻る方向に係るワイヤＷ５１の重み係数Ｊも計算しデータベースに書き込む。第２の処理に遷移した場合では、ワイヤＷ５１に係る戻り方向の遷移定数ｋを０．１とすると、０．１がそのままワイヤＷ５１の重み係数Ｊとなる。第３の処理に遷移した場合は更に、ワイヤＷ５２に係る戻り方向の遷移定数ｋ＝０．１がそのままワイヤＷ５２の重み係数Ｊとなる。そして、第３の処理に遷移した状態におけるワイヤＷ５１の重み係数Ｊは、第３の処理に遷移した状態におけるワイヤＷ５２の重み係数Ｊ（＝遷移定数ｋ）０．１に、第２処理の戻り方向の遷移定数ｋ＝０．１を乗じた値すなわち０．０１となる。
各ワイヤＷｎの重み係数Ｊの変化を図１０（ｃ）に示す。【００７４】  重み係数Ｊの計算は、関連するフローの処理のみではなく、全てのフローの全てのワイヤについて実行され、計算された重み係数Ｊが各ワイヤに設定される。ここで現在の処理に関連のないワイヤについては、予め定められた低い計数値を割り当てるようにすればよい。しかし、特にトリガ取得処理を先行の処理とするワイヤについては、遷移定数ｋをある程度高く設定するようにする。こうすることによって、直前までなされていた会話と著しく異なる内容の会話にもジャンプすることが可能になる。
尚、各ワイヤには条件がそれぞれ設定されている。具体的には、Ｗ０１には単語「暑い」が条件として設定され、Ｗ０５には単語「窓」が設定される。そして、言語解析部２から単語データが供給されたとき、その単語データが単語「暑い」を示すものである場合には、当該単語データが示すスコアＳをＷ０１に対して設定する。また、言語解析部２から供給された単語データが単語「窓」を示すものである場合には、当該単語データが示すスコアＳをＷ０５に対して設定する。
更に、各ワイヤに設定される条件は、単一の単語が設定される場合に限られない。例えば、同一の意味を表す複数の単語が条件として設定されるようにしてもよい。この条件の設定は、これらの単語とワイヤの関係が記憶されていれば足り、スコア算出の対象となる単語は前述の単語データベースに記憶される。
例えば、音声認識を行う場合に、入力された音声について、言語解析部２は単語データベースに登録されている全ての単語に対してスコアＳの計算を行い、単語データを生成して、エージェント処理部６に単語データを出力する。次に、エージェント処理部６は、入力された各単語データが、いずれのワイヤに関連付けられているかを判別し、単語データが示すスコアＳを関連する各ワイヤに設定する。このようにすれば、複数のワイヤに対して、同じ単語が条件として設定されている場合でも、入力された音声信号と単語とのスコアＳの計算は一度で足りることになる。そして、得られた各単語のスコアＳが、それぞれ関連付けられているワイヤに対して設定される。尚、１つのワイヤに対して複数のスコアＳが得られる場合が生じることになるが、この場合には、例えば最も値が高いスコアＳを選択するようにすればよい。
これによって、例えば、「イエス」「はい」「そうだね」等、同一の意味を示す単語データがそれぞれ１つのワイヤに対して設定されていれば、ユーザが「イエス」「はい」「そうだね」のいずれの音声で指示を出しても、音声認識のスコアＳとして適切な結果を得ることができる。
また、判別処理によっては、入出力対象機器群５からの情報が入力情報として得られる場合がある。この場合、入出力対象機器群５に係る各機器の状態を示すデータが、状態データベースとして管理され（上述の「単語データベース」に相当）、入力情報がどの機器のどの状態を示すものかを状態データベースを参照して決定され、これとスコアＳとが状態データとしてエージェント処理部６に出力される。尚、音声認識の場合と異なり、対応する状態が状態データベースにあれば、スコアＳは必ず１００％になる。そして、エージェント処理部６は、状態データが示す状態に関連するワイヤを判別し、各ワイヤに対してスコアＳを設定する。【００７５】  次に、このように構成されたシステム全体の動作を、図１１を参照して説明する。
音声入力部１と言語解析部２とは、独自に動作して、音声を取り込み、解析し、単語データをエージェント処理部６に提供する。
そして、エージェント処理部６は、判別条件に係る（１個又は複数個の）単語データが言語解析部２より供給されると、以下の処理を行う。
供給された単語を認識（識別）し（ステップＳ１１）、それが、単語データベースＤＢ４に登録されている単語に相当するか否かを判別する（ステップＳ１２）。登録されていなければ（ステップＳ１２，Ｎｏ）、単語入力処理を終了する。
一方、登録されていれば（ステップＳ１２，Ｙｅｓ）、その単語又はその単語の属すグループの「概念」が条件となっている処理に関し、単語の尤度Ｓとワイヤの重み係数Ｊの積Ｓ・Ｊを計算する（ステップＳ１３）。
例えば、図１０（ａ）に示すフローを実行している場合において、処理ポインタＰＰが第１の処理を指示しているとする。この場合の、各ワイヤの重み係数Ｊは図１０（ｃ）に図す通りである。
この状態で、スコアＳが８０％の単語「暑い」と、スコアＳが５０％の単語「窓」を示す単語データが入力されたと仮定する。
図１０（ａ）と（ｂ）に示す例では、第１の処理では、単語「暑い」が判別条件に関連し、第３の処理では、単語「窓」が判別条件に関連する。
図１０（ｃ−１）示すように、単語「暑い」を示す単語データを入力する処理を先行の処理とするワイヤＷ５１の重み係数Ｊが０．５、単語「窓」を示す単語データを入力する処理を先行の処理とするワイヤＷ５３の重み係数Ｊが０．１２５である。この場合、ワイヤＷ５１及びＷ５３について求められる尤度Ｓと重み係数Ｊの積Ｓ・Ｊは、数式１及び２に示すとおりとなる。【００７６】
0004516918.tif 000002
【００７７】
0004516918.tif 000003
【００７８】  エージェント処理部６は、スコアＳと重み係数Ｊとの積Ｓ・Ｊを求める上述の処理を、フローが有するすべてのワイヤについて行う。
続いて、エージェント制御部６は、計算された積Ｓ・Ｊがもっとも大きいワイヤを選択する（図１１のステップＳ１４）。エージェント制御部６は、選択したワイヤに後続する処理に制御を進める（ステップＳ１５）。例えばワイヤＷ５１について求めた積Ｓ・Ｊが最も高い値を示した場合、入力された単語データは単語「暑い」を示すものであったと認識して、ワイヤＷ５１が後続の処理としている第２の処理に遷移する。通常、現在の実行中の処理を起点するとワイヤの重み係数Ｊが比較的大きい。このため、一般的には、次の処理に移るが、従前と全く異なる単語で尤度Ｓの高いものが入力された場合には、その単語に対応する処理が開始されることもある。【００７９】  エージェント処理部６は、処理が遷移すると、遷移後の状態に基づいて、各ワイヤの重み係数Ｊを再計算する（ステップＳ１６）。
以後は、その処理の内容に従って処理を進める（ステップＳ１７）。この例では、第２の処理を実行する。すなわち、エージェント処理部６は、窓開閉制御部５２から窓の開閉の情報を取り込み、取り込んだ情報に基づいてワイヤＷ５２についての尤度Ｓと重み係数Ｊの積Ｓ・Ｊを求め、ワイヤＷ５４についての尤度Ｓと重み係数Ｊの積Ｓ・Ｊを求めて、いずれかのワイヤを選択して、選択したワイヤに後続する処理を実行する。【００８０】  なお、窓開閉制御部５２からの窓の開閉を示す信号は、開の尤度Ｓが１００％又は０％、閉の尤度Ｓが０％又は１００％でもよく。また、開度に応じて変化させるようにしてもよい。そして、処理の過程で、入出力処理ＥＸｘｘがあり、エージェント処理部６がその処理を実行してにより音声データを出力すれば、それが音声として放音される。
また、処理の過程で、入出力処理ＥＸ０１のように、エアコンや窓開閉制御部５２への制御を行う処理を実行すると、その処理内容に従って、エアコン５１や窓開閉制御部５２への制御を行う。【００８１】  なお、図８，図９では、「単語」に基づく判別処理を主に説明したが、図１１にも示したように概念に基づく判別処理でも同様になされる。また、単語或いは概念に基づくトリガ取得処理からのワイヤも判断の対象となる。トリガ取得処理からの遷移に対しては、ある程度高い遷移定数ｋを設定しておくとよい。具体的には、例えば図８のワイヤ群、すなわち、図９のフローにおいて、「窓を開けて」という単語を示す単語データを取得するトリガ取得処理ＴＧ０２からの遷移に対しては、例えば遷移定数ｋ＝０．８を与えておく。そうすると、例えばエージェント処理部６の処理がトリガ取得処理ＴＧ０１に係属している場合において、ユーザーが「窓を開けて」と発音し、例えば単語「窓を開けて」に対するスコアＳが９０％である単語データが得られれば、このスコアＳと、「ユーザが「窓を開けて」と言ったか否かの判断」に係るワイヤＷ５の重み係数Ｊ（＝遷移定数ｋ）との積Ｓ・Ｊは、９０％×０．８すなわち７２となる。この値が他のワイヤで得られないような大きな値であれば、入力された音声は「窓を開けて」であったと認識され、エージェント処理部６の処理が入出力処理ＥＸ０３にジャンプする可能性が高くなる。一方で、他のワイヤの重み係数Ｊを極めて低く設定しておけば、これら他のワイヤにより定義されている遷移が起こる可能性は極めて低くなり、結果として、ある程度想定される会話の流れに沿って認識率を向上させて制御処理を行うことができる。【００８２】  この実施の形態では、戻り方向への遷移も起こり得る。しかし、現実的には会話を戻すことは好ましくないことが多い。そこで、戻り方向の遷移定数ｋは、進行方向の遷移定数ｋに比べて低い値に設定するようにすればよい。そうすると、入力された音声から高いスコアＳの単語データが仮に得られても、戻り方向の遷移定数ｋが重み係数Ｊとして書き込まれたワイヤについて求めた積Ｓ・Ｊは低い値となるため、戻り方向への遷移の可能性を低く抑えることができる。
また、エージェント処理部６は、求めた積Ｓ・Ｊの値が所定の条件に合致しないような処理（たとえば、積Ｓ・Ｊの値が所定値に達しないような処理）は、遷移を実行する対象から除外するよう取り扱ってもよい。【００８３】  なお、例えば図８に示しているように、ワイヤは、処理項目から処理項目へという形で遷移を定義する。そして、ワイヤを図８に示すような形態で記述してワイヤデータベースＤ５に格納することにより、各処理項目同士の関係を、あたかもコンピュータのマクロ処理のように定義することが可能になる。これによって、各処理項目を容易に接続することができる。【００８４】  また、トリガとなる処理項目は、実際には接続されるワイヤに係る認識対象単語等（他の入力対象機器群からの入力の場合もあり得る）のスコアＳの判定になるので、ワイヤにおいてトリガ処理項目はワイヤの開始点として定義されず、ワイヤそのものが遷移元として定義されることになる。【００８５】  更に、上述のように各処理項目の接続関係をワイヤによって定義することによって、簡単にワイヤを追加することができる。例えば、「暑い」という音声入力の後に、ユーザーが休憩することを意図して「ファミリーレストランを探して」という音声を入力する機会が多い場合、ファミリーレストランの検索処理項目に対して自動でワイヤを追加する。そうすると、ワイヤが自動で追加された後には、ファミリーレストラン検索処理項目に接続されたワイヤの重み係数Ｊをある程度大きくすることで、当該入力「ファミリーレストランを探して」に適切に対応することができるようになる。（ただしこの場合、エージェント処理部６は、例えばファミリーレストランの位置を示す情報を含んだ地図データ等を記憶し、あるいは外部の地図データ等にアクセスするものとする。）
このワイヤの自動追加は、ある処理項目からある処理項目へのジャンプの回数を計数し、これが所定回数に達したときに自動で行うようにすればよい。【００８６】  以上説明したこの車内空調システ厶は、処理の内容を示すデータやワイヤが適切に記述されれば、制御する対象である機器や加える制御の内容を完全に特定することを必ずしも必要とせずに、ユーザが発した言語に応答し、この言語からユーザの欲求を推測し、この欲求を満たすためにどの機器にどのような制御を加えればよいかを適切に判断して、判断結果に従った制御を機器に加えることができるようになる。【００８７】  なお、この車内空調システムの構成は上述のものに限られない。
例えば、入出力対象機器群５に属する機器は、必ずしも直接にユーザの欲求を満たす結果をもたらす機器である必要はなく、例えば、外部の表示装置等を制御してユーザに特定の行動をとるよう促すメッセージを出力する機器（例えば、液晶ディスプレイ等の表示装置）からなっていてもよい。【００８８】  また、単語データベースは、必ずしも単語を示すデータのみならず、複数の単語からなる語句を示すデータを単語データベースの要素として記憶するようにしてもよいし、単語の一部あるいは音素を構成するためのデータを単語データベースの要素として記憶するようにしてもよい。また、単語等は必ずしも特定の概念の下にグルーピングされている必要はなく、グルーピングを行う場合も、グルーピングを行うために用いられるデータは、必ずしもフラグの集合の形をとっていなくてもよい。【００８９】  また、エージェント処理部６は、ワイヤに対応する遷移定数ｋを、過去に当該ワイヤが表す遷移を実行した数などに基づき所定の基準に従って変化させ、重み係数Ｊが変化後の遷移定数ｋに基づいて計算された値となるようにワイヤを書き換えてもよい。
具体的には、例えば、ワイヤデータベースに、それぞれのワイヤについて、当該ワイヤが表す遷移が実行された回数を記憶しておく。そしてエージェント処理部６は、当該遷移が新たに行われる毎に、この回数の値を書き換えることにより、この回数の値を１ずつインクリメントし、それぞれのワイヤに対応する遷移定数ｋを、例えば、当該ワイヤについて記憶された回数に比例した値と書き換える。
尚、上述の実施例では、ワイヤに設定される条件は、それぞれのワイヤに対して設定されるとして説明したが、これには限られない。例えば、判別処理の中に各ワイヤの条件を記述するようにしてもよい。この場合、各条件がいずれのワイヤに対応するものかを予め特定しておく。【００９０】  また、エージェント処理部６は、判別処理や入出力処理において出力するデータを、これらの処理に引き渡されたデータや、これらの処理に伴って入力したデータや、その他任意の条件に従って変化させるようにしてもよい。【００９１】  また、この車内空調システムは、エージェント処理部６の制御に従って画像を出力するための表示装置（例えば、液晶ディスプレイ等）を備えていてもよく、エージェント処理部６は、入出力処理や判別処理において、処理毎に所定の画像を表示させるようこの表示装置を制御してもよい。【００９２】  また、エージェント処理部６は、１個の入力処理や１個の判別処理において、連続して発話される等した複数の単語データを一括して取得するようにしてもよい。また、エージェント処理部６は、一括して取得した複数の単語データがどの概念の下で同一のグループ内にグルーピングされているかを特定し、特定した概念が所定の概念に合致する場合にのみ、取得した単語データの一部または全部を処理に用いるものとしてもよい。【００９３】  また、エージェント処理部６は、トリガ取得処理、判別処理、入出力処理等の各種処理とワイヤとが全体として形成するフローを分担して行う、互いに接続された複数のデータ処理装置（例えば、コンピュータ等）から構成されていてもよい。この場合、エージェント処理部６を構成するそれぞれのデータ処理装置は、エージェント処理部６が実行し得るフロー全体のうち、自己が実行する可能性がある部分を表すデータを、処理項目データベースＤ４やワイヤデータベースＤ５の要素として記憶すれば十分である。そして、それぞれのデータ処理装置が記憶するデータが、当該データ処理装置が実行する部分の処理をマクロ定義するようなデータとなっていれば、複数のデータ処理装置に分散処理を行わせることも容易である。【００９４】  また、この車内空調システムは、音声入力部１や言語解析部２あるいは音声出力部４も複数備えていてよい。
また、音声入力部１は、たとえば、音声を表すデータが記録された記録媒体（たとえば、フロッピー（登録商標）ディスクや、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｋ）など）から波形信号を読み出して言語解析部２に供給する記録媒体ドライブ装置（たとえば、フロッピー（登録商標）ディスクドライブや、ＣＤ−ＲＯＭドライブや、ＭＯドライブなど）を備えていてもよい。【００９５】  以上、この発明の実施の形態を説明したが、この発明にかかる機器制御装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、入出力対象機器群５に接続されたパーソナルコンピュータに上述の音声入力部１、言語解析部２、音声合成処理部３、音声出力部４及びエージェント処理部６の動作を実行させるためのプログラムを格納した記録媒体から該プログラムをインストールすることにより、上述の処理を実行する車内空調システムを構成することができる。そして、このプログラ厶を実行するパーソナルコンピュータが、図１の車内空調システムの動作に相当する処理として、例えば、図９に示すフローを実行するものとする。【００９６】  なお、パーソナルコンピュータに上述の車内空調システムの機能を行わせるプログラムは、例えば、通信回線の掲示板（ＢＢＳ）にアップロードし、これを通信回線を介して配信してもよく、また、このプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調してこのプログラムを復元するようにしてもよい。そして、このプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。【００９７】  なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【産業上の利用可能性】
【００９８】  本発明は、人間が言語の形で発する指示に適切に応答して機器を制御できる種々の機器制御装置等に利用可能である。
【図１】
0004516918.tif 000004
【図２】
0004516918.tif 000005
【図３】
0004516918.tif 000006
【図４】
0004516918.tif 000007
【図５】
0004516918.tif 000008
【図６】
0004516918.tif 000009
【図７】
0004516918.tif 000010
【図８】
0004516918.tif 000011
【図９】
0004516918.tif 000012
【図１０】
0004516918.tif 000013
【図１１】
0004516918.tif 000014