"複数のデバイスを操作する自然言語インターフェースコントロールシステムであって、第1のマイクロフォンセットと、上記第1のマイクロフォンセットに接続された特徴抽出モジュールと、上記特徴抽出モジュールに接続され、隠れマルコフモデルを用いる音声認識モジュールと、上記音声認識モジュールに接続された自然言語インタフェースモジュールと、上記自然言語インターフェースモジュールに接続されたデバイスインターフェースとを有し、上記自然言語インターフェースモジュールは、ユーザからの非プロンプト式で開放型の自然言語要求に基づいて、上記デバイスインターフェースに接続された複数のデバイスを操作することを特徴とする自然言語インターフェースコントロールシステム。上記自然言語インターフェースモジュールに接続された上記複数のデバイスをさらに有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記音声認識モジュールはNグラムグラマーを用いることを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記自然言語インターフェースモジュールは確率的コンテキストフリーグラマーを用いることを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記マイクロフォンセットは、平面マイクロフォンセットと、空間的に異なる平面に配置された少なくとも1つのリニアマイクロフォンセットとを備える三次元マイクロフォンセットを有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記自然言語インターフェースは、上記複数のデバイスのそれぞれを、上記複数のデバイスのそれぞれに対応する複数の文法のそれぞれと複数の語彙目録のそれぞれに抽象化することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記自然言語インターフェースモジュールは、アテンションワードを受け取って認識すると、非プロンプト式で開放型のユーザ要求をサーチすることを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記自然言語インターフェースモジュールは、アテンションワードを受け取って認識すると、文法、音声モデル、語彙目録のコンテキスト切り換えを行うことを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記複数のデバイスのそれぞれについて異なる文法を記憶するグラマーモジュールをさらに有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記複数のデバイスのそれぞれについて異なる音声モデルを記憶する音声モデルモジュールをさらに有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記デバイスインターフェースは無線デバイスインターフェースからなることを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記自然言語インターフェースコントロールシステムに接続された外部ネットワークインターフェースをさらに有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記1のマイクロフォンセットと、上記特徴抽出モジュールと、上記音声認識モジュールと、上記自然言語インターフェースモジュールとを有するリモートユニットをさらに有することを特徴とする請求の範囲第1項記載の自然言語インターフェースコントロールシステム。上記リモートユニットに接続されたベースユニットをさらに有することを特徴とする請求の範囲第13項記載の自然言語インターフェースコントロールシステム。上記ベースユニットは第2のマイクロフォンセットを有することを特徴とする請求の範囲第14項記載の自然言語インターフェースコントロールシステム。上記マイクロフォンセットと上記第2のマイクロフォンセットは、三次元マイクロフォンセットを実現することを特徴とする請求の範囲第15項記載の自然言語インターフェースコントロールシステム。モデル、文法、語彙目録からなる第1のセットを有する第1のコンテキストに基づいて、アテンションワードをサーチし、上記アテンションワードを見つけると、開放型のユーザ要求をサーチする第2のコンテキストに切り換え、第2のコンテキストは、モデル、文法、語彙目録からなる第2のセットを有することを特徴とする音声認識方法。1以上のデバイスの自然言語コントロール方法であって、開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信し、上記開放型の自然言語ユーザ要求を受信し、上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させ、上記コマンドを上記1以上のデバイスのそれぞれに送信することを特徴とする自然言語コントロール方法。さらに、上記アテンションワードを受信した後、開放型の自然言語要求を受信するコンテキストに切り換えることを特徴とする請求の範囲第18項記載の自然言語コントロール方法。さらに、上記受信したアテンションワードと上記受信した開放型の自然言語ユーザ要求に音声認識を適用することを特徴とする請求の範囲第18項記載の自然言語コントロール方法。上記音声認識の適用では、さらに、上記開放型の自然言語ユーザ要求に隠れマルコフモデルを適用することを特徴とする請求の範囲第20項記載の自然言語コントロール方法。上記一致では、確率的コンテキストフリーグラマーPCFGルールを用いて、上記開放型の自然言語ユーザ要求の構文解析を行うことを特徴とする請求の範囲第18項記載の自然言語コントロール方法。上記1以上のデバイスのうちのどれに対して、上記開放型の自然言語ユーザ要求が出されているのか判断することを特徴とする請求の範囲第22項記載の自然言語コントロール方法。さらに、上記開放型の自然言語ユーザ要求が出されている上記1以上のデバイスのそれぞれに応じて、上記コンテキストを切り換えることを特徴とする請求の範囲第23項記載の自然言語コントロール方法。1以上のデバイスをコントロールする自然言語コントロールシステムであって、開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信する手段と、上記開放型の自然言語ユーザ要求を受信する手段と、上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させる手段と上記コマンドを上記1以上のデバイスのそれぞれに送信する手段を有することを特徴とする自然言語コントロールシステム。発明の詳細な説明以下、本発明を実施するための最良の実施形態を説明するが、本発明はこの実施形態に限定されるものではなく、本発明の一実施例にすぎない。本発明の主旨は請求の範囲を参照して解釈されるべきである。図1は、本発明に係る自然言語インターフェースコントロールシステムの一実施例の構成を示すシステムレベルのブロック図である。図1に示すように、自然言語インターフェースコントロールシステム102NLICS102とも称するは、リモートユニット104と、ベースユニット106ベースステーションユニット106とも称するとを備える。リモートユニット104は、リニアマイクロフォンセット108とスピーカ112とを備え、ベースユニット106は、平面マイクロフォンセット110を備える。自然言語インターフェースコントロールシステム102のリモートユニット104は、コントロール可能な複数のデバイス114に接続されている。さらに、ベースユニット106は、外部ネットワーク116に接続されている。自然言語インターフェースコントロールシステム102は、動作時において、ユーザと複数のデバイス114を接続し、複数のデバイス114をコントロールする。自然言語インターフェースコントロールシステム102は、ユーザが自然な会話方式で自然言語インターフェースコントロールシステム102に話しかけるだけで複数のデバイス114のうち1つ以上をコントロールできる自然言語インターフェースを提供する。NLICS102は、ユーザの自然な言語での要求を解釈し、ユーザの要求を行うように各デバイスに適切なコマンドを送ることができる。例えば、このような自然言語インターフェースコントロールシステム102を家庭で適用する場合、デバイス114は、テレビ、ステレオ、ビデオカセットレコーダVCR、デジタルビデオディスクDVDプレーヤ等である。ユーザは、デバイス114のいずれかを操作したいとき、IwannawatchTVテレビを見たいと言うか、同じような自然言語を話すだけでよい。NLICS102は、当該技術分野で知られている隠れマルコフモデルHiddenMarkovModelsHMMsを用いて音声を検出する音声認識モジュールを備えており、自然言語インターフェースを用いて自然言語を解釈し、ユーザ要求が何であるかという確率probabilityを適切に判断する。自然言語インターフェースは、各デバイス114毎に記憶された確率的コンテキストフリーグラマーprobabilisticcontextfreegrammerPCFGとも称するルールと語彙目録lexiconsを用いる。このため、自然言語インターフェースモジュールは、NLICS102がインタフェースで接続されるように設計されている抽象化abstractionされた各デバイス114を有するデバイス抽象化モジュールを備えている。従って、各デバイス114は、各デバイス114によって理解されるコマンドセットに抽象化される。さらに、各抽象化は、各デバイス特有の個々の文法及び語彙目録と関連付けられている。ユーザの要求が所望の信頼レベルで決定されると、自然言語インターフェースモジュールは、ユーザの要求を実行するために、適切なデバイスに一連のコマンドを送る。例えば、IwannawatchTVテレビを見たいというユーザの要求に対して、自然言語インターフェースモジュールは、適切なデバイスにコマンドを送り、テレビとアンプをオンにし、テレビとアンプを適切なモードに設定し、ボリュームを適切なレベルに設定する。また、内部に記憶されている抽象化された各デバイスの状態や設定を更新する。コマンドは、テレビのチャンネルをNLICS102側でわかっている、あるいは、開放型の自然言語要求でユーザが要求した所望のチャンネルに切り換えることもできる。さらに他の例として、ユーザは、DoyouhavethealbumGenesisジェネシスというアルバムがありますか等、システムがYesと回答するような特定の情報を要求することができる。そして、ユーザはPlaythatそれを再生して又はPlaythealbumGenesisアルバムジェネシスを再生してと答えることができる。システムは、この要求に応答し、CDジュークボックスとアンプをオンにし、アンプを適切なモードに設定し、適切なボリュームレベルを設定し、適切なアルバムを選択し、アルバムを再生する。また、システムは、ユーザのプロファイルに加えて抽象化されたデバイスの内部記憶状態や設定を更新する。このコマンド信号は、当該技術分野で知られているように、無線周波数RFリンク又は赤外線IRリンクを介して送信されることが好ましい。音声認識技術は当該技術分野においてよく知られており、口頭コマンドに基づくデバイスのコントロールが知られている。ユーザが所定の音声コマンドを音声認識コントロールシステムに対して発声する場合、例えば、ユーザがコントロール下のテレビ受像機にTurnonオンにしてと言う場合がある。これに応じてTVがオンになる。しかし、このようなアプローチは、自然言語又は会話言語を利用するものではなく、ダイアログコンテキストdialogcontextを取り出すためにコントロール下のデバイスの抽象化を行うものでもない。正確な所定の音声コマンドが出されなければ、システムはコマンドを出さない。これに対し、本実施例では、口頭の発声について確率的に最も適当な意味を判断し、適切なコマンドを発行するのに用いられる自然言語インターフェースモジュールを実現する。従って、ユーザからの指示は、非常に会話的な形式で出され、ユーザは特定のコマンド信号を覚える必要がない。例えば、ユーザがheyletswatchTVおい、テレビを見よう、IwannawatchTVテレビを見たい、turnontheTVテレビをつけて、whattyasaywewatchalittletelevisionちょっとテレビを見ないかいと言うと、システムは自然言語インターフェースモジュールを用いて、ユーザがテレビを見ることを要求していることを確率的に判断して、テレビ及び他の適切なデバイスが理解することができる適切なコマンドセットを発行する。これによって、都合良くデバイス114とユーザとの間の物理的障害が取り除かれる。例えば、ユーザはこのデバイス114の操作方法を知らなくてもよい。例えば、ユーザはDVDプレーヤの操作方法を知らなくてもよい。ユーザは単にIwannawatchDVDDVDが見たいと言えば、コマンド信号が送られて、DVDプレーヤの電源をオンにし、プレーヤ内のDVDの再生を開始する。さらに、自然言語インターフェースモジュールは、ユーザの要求が何であるかという確信がない場合、ユーザの要求を明確にする。例えば、ユーザの要求がIwanttowatchamovie映画が見たいであるとする。しかし、自然言語インターフェースモジュールは、ユーザがDVDプレーヤ、VCR、テレビのうちのどのデバイスで映画を見たいのかわからない。このような場合、自然言語インターフェースモジュールは、フィードバックモジュール例えば、テキスト-音声モジュール及びスピーカ等のフィードバック機構を用いて、要求を明確にするようにユーザに指示する。例えば、自然言語インターフェースモジュールは、そのような要求に対して、DoyouwanttowatchamovieontheDVDVCRortelevisionDVD、VCR、テレビのどれで映画を見たいのですかと訊ねる。それに対し、ユーザは、例えばDVDと答える。このように、このシステムは、開放型の要求を受け入れることができる真の自然言語インターフェースである。自然言語インターフェースコントロールシステム102は、主としてダイアログ方式又はプロンプト方式の閉塞型closedend型システムではない。例えば、既知の自然言語システムでは、ある情報を提供するようにユーザに対してプロンプトを行い、その後、システムが得られた情報を識別しようとすることによって、会話をコントロールする。例えば、自然言語を用いたエアライン予約システムでは、システムによる質問によってコンテキストが制限されるようなダイアログによって、ユーザをガイドする。例えば、システムがTowhatcitywouldyouliketoflyどの都市まで飛行機を利用しますかと訊ねる。すると、ユーザは自然言語で行き先の都市を答え、システムはその回答と都市名を一致させることにより本質的に回答を理解しようとする。そして、システムはWhatdatewouldyouliketoleave何日に出発しますかと訊ねることによってユーザに対してプロンプトを行い、予測される回答すなわち日付に基づく、送られてくるサーチ及び分析されるテキストストリングtextstringすなわちテキスト文字列のコンテキストを制限する。これに対し、NLICS102では、システムではなくユーザがダイアログを開始する。ユーザは、NLICS102からのプロンプトされる前にIwanttohearsomemusic何か音楽が聞きたいと言うだけである。サーチされるコンテキストはシステムのプロンプトによって制限されるのではなく、NLICS102によってコントロールされるデバイス114の能力によって制限される。従って、ユーザは、コントロール下の各デバイスが行うことが可能なタスクのいずれかを行うようにNLICS102に要求する。もし、例えば、ユーザがコントロール下のデバイスでは利用できない機能を行うようにNLICS102に要求する。すなわち、例えば、ユーザがMakemesomebreakfast何か朝食を作ってと言うと、そのような要求はコントロール下のデバイスにプログラムされた機能にはないので、NLICS102はそのような要求を実行できない。例えば、NLICS102は、デバイス114の能力の範囲内のフレーズを適切に解釈して、他の要求は単に無視する。また、自然言語インターフェースモジュールのフィードバック部が、その要求は利用できないことをユーザに警告することができる。本実施例では、自然言語インターフェースコントロールシステム102は電源が常時オンであるので、ユーザはいつでも要求を言うことができ、システムが対応する。しかし、NLICS102の注意を引くため、ユーザはアテンションワードattentionwordを言ってから要求を言う。これは、ユーザの識別、要求の誤検出の防止、通常会話とNLICSに関係ない背景雑音との区別を行うのに役立つ。あらかじめ、アテンションワードに続いて要求が来ることをNLICS102に知らせる。このため、NLICSで用いられるマイクロフォンセットは、マイクロフォンセットにより定められた物理的空間内でアテンションワードをサーチするだけでよい。例えば、アテンションワードがMonaモナとプログラムされている場合、ユーザの要求はMonaIwannawatchTVモナ、テレビを見たいとなる。これによって、マイクロフォンセットによる処理及びサーチ量が大幅に低減される。さらに、個々のユーザは、各自ユーザ特有のアテンションワードを持つことができる。例えば、家庭内で、第1のユーザのアテンションワードはMonaモナで、第2のユーザのアテンションワードはThorソアである。NLICS102はMonaというアテンションワードを聞くと、第1のユーザがコマンドを発しているとみなす。例えば、第1のユーザがMonaIwannawatchTVモナ、テレビを見たいと言うと、システムはテレビ及び他の適切なデバイスをオンにするだけでなく、第1のユーザが選択した好みのチャンネルにテレビを切り換える。なお、この場合、第1のユーザが第2のユーザのアテンションワードを言うこともできるので、真のIDを与えるものではない。この機構は、個々のユーザの好み、発音、癖に合わせてNLICS102を調整するための一手段を与えるだけである。NLICS102が効率的に機能することを可能にする特徴の一つとしては、NLICS102に接続された各デバイス114が個々の抽象化されたデバイスに抽象化されるので、個々の文法及び語彙目録が各デバイス114毎に記憶されることである。例えば、自然言語インターフェースモジュールは、要求がDVDプレーヤに対してであると判断すると、その特定のコンテキストすなわち、DVDプレーヤのコンテキストに特有の文法及び語彙目録が用いられ、音声認識モジュール内の入力音声データの処理に役立つ。これによって音声認識モジュールにおけるコンテキスト切り替えが行われる。幾つかの実施例において、NLICS102は、HMM又は文法用の音声認識モジュールで用いられるモデルを実行時にハードディスク、CD-ROM、DVD等の二次ソースから流して使用することができるように構成される。データを読み込めば前処理なしにすぐに用いることができる。従って、多くのモデルや文法をNLICS102のメモリとは別に記憶することができるので、音声認識モジュールのメモリ使用量が改善される。他の実施例では、NLICS102は、2つの個別ユニット、例えばリモートユニット104及びベースユニット106として実現される。ベースユニット106はリモートユニット104のドッキングステーションdockingstationとして機能し、リモートユニット104は、例えば汎用シリアルバスUSB接続によってベースユニット106に接続される。幾つかの実施例において、リモートユニット104は、ユーザが用いるボタンを与えることにより、従来から行われているような種々のデバイスの汎用リモートコントロールとして機能する。さらに、ベースユニット106は、1NLICS102に外部ネットワークインターフェースを供給する。例えば、外部ネットワークインターフェースは、ホームローカルエリアネットワークLAN、イントラネット、インターネット等の外部ネットワーク116にNLICSを接続する。この場合、NLICS102は、外部ネットワーク116内の中央データベースに記憶されている文法、HMMモデル、抽象化されたデバイス、DC、DVD、テレビその他のプログラミング情報及び/又は語彙目録を新たにダウンロードすることができる。また、ベースユニット106は、リモートユニット104の二次キャッシュとして機能する。リモートユニット104は、種々のデバイスに対するデバイスインターフェースに加えて、特徴抽出モジュールと、音声認識モジュールと、自然言語インターフェースモジュールとを備えている。このとき、ベースユニット106は、リモートユニット104で用いられる新たなモデル、文法、語彙目録を記憶するメモリを備えている。リモートユニット104は、音声信号を受信する従来の2つのリニアマイクロフォンセット108を備えている。また、ベースユニット106は、二次元空間からの音波エネルギーを取り入れる平面マイクロフォンセット110を備えている。NLICS102は両方のマイクロフォンセット108、110を適宜用いて、2セットのマイクロフォンセット108、110により所定の三次元の物理的空間で音声を聴取することができるような三次元マイクロフォンセットを実現する。この場合、三次元ボリュームをある空間内に定めることができる。例えば、NLICS102は、ユーザが各デバイスの操作時に座るリビングルームのソファを含んだ空間のボリュームを聴取するように構成することができる。このため、この所定空間外のソースから出る音声データの位相は減衰させられ、所定空間内からの音声データの位相は合計される。以上、本システムについて説明したが、自然言語インターフェースコントロールシステムについて以下にさらに詳細に説明する。図2は、本発明の他の実施例を示すものであり、図1の自然言語インターフェースコントロールシステム102のリモートユニット104の構成を示すブロック図である。図2に示すように、リモートユニット104は、リニアマイクロフォンセット108と、特徴抽出モジュール202と、音声認識モジュール204と、自然言語インターフェースコントロールモジュール206と、システム処理コントローラ208と、デバイスインターフェース210と、ベースユニットインターフェース212汎用シリアルバスUSBインターフェース212とも称すると、スピーカ214とを備える。また、各デバイス114も示してある。音声認識モジュール204は、音声デコーダ216と、Nグラムグラマーモジュール218と音声モデルモジュール220を備えている。自然言語インターフェースコントロールモジュール206は、自然言語インターフェースモジュール222と、確率的コンテキストフリーグラマーモジュール224PCFGモジュール224とも称すると、デバイス抽象化モジュール226と、フィードバックモジュール228とを備えている。本システムは、2つの個別要素、すなわちリモートユニット104及びベースユニット106としてそれぞれ説明されており、また、幾つかの好ましい実施例では、リモートユニット104とベースユニット106を個別ユニットとして用いているが、NLICS102の中心となる機能はリモートユニット104においてのみ実現することができる。ここでは、まず、リモートユニット104について説明した後にベースユニット106について説明する。音声データは、ソースすなわちユーザを特定して干渉雑音と区別する2つの狭カーディオイドマイクロフォンであるリニアマイクロフォンセット108を介して、リモートユニット104に入力される。このようなリニアマイクロフォンセットは、当該技術分野においてよく知られている。リニアマイクロフォンセット108は、各マイクロフォンエレメントからの入力音声データをサンプリングした後、このデータの時間合わせと合計を行い、入力音声信号の信号対雑音比SNRを高めたものを生成する。そして、音声データは、特徴抽出モジュール202に送られる。特徴抽出モジュール202は、入力音声データの関連情報を表すパラメータ又は特徴ベクトルを抽出する。特徴抽出モジュール202は、エッジedge検出、信号の条件付け、特徴の抽出を行う。一実施例によれば、音声のエッジ検出は、第0ケプストラル係数0thCepstralcoefficient及びゼロ交差統計zerocrossingstatisticsに基づく雑音推定noiseestimation及びエネルギー検出energydetectionにより行われる。特徴の抽出と信号の条件付けは、メル周波数ケプストラル係数MelfrequencyCepstralcoefficientMFCC、デルタ情報deltainformation、及び加速情報accelerationinformationの抽出を行う。50オーバラップした12.8msサンプルバッファに基づく38次元特徴ベクトルである。このような特徴抽出モジュール202とその機能については当該技術分野においてよく知られており、当該分野の当業者は種々の方法で特徴抽出モジュールを実現することができる。このように、特徴抽出モジュール202の出力は一連の特徴ベクトルである。次に、一般に音声認識モジュール204は、例えば、アウトオブボキャブラリoutofvocabulary語彙にないイベント、流暢さの欠如、環境雑音等の非モデル化イベントunmodeledeventsを除去する能力を有する隠れマルコフモデルHMMに基づく連続音声認識デバイスとして機能する。音声認識モジュール204は、自然言語インターフェースモジュール222のコントロール下にあり、自然言語インターフェースコントロールモジュール206により決定された音声のコンテキストに基づいて種々の音声モデルと種々の文法を切り換えることができる。音声認識モジュール204は、NLICS102において有利に用いられる幾つかの特徴を有しているが、全く従来のものであっても構わない。さらに、音声認識モジュール204におけるメモリ使用量は最適化されているので、必要なメモリは、用いられる音声モデルデータ量を主に反映している。以下、音声認識モジュール204及び自然言語インターフェースコントロールモジュール206についてさらに詳細に説明する。特徴抽出モジュール202からの特徴ベクトルは、音声認識モジュール204に入力される。すなわち、音声認識モジュールSRM204の音声デコーダ216に入力される。音声認識モジュールSRM204は、特徴抽出モジュールFEM202からの音声特徴ベクトルを要求し、音声モデルセットを用いて対応する発声音に最も合うものを見つけるとともに、隠れマルコフモデルHMMに基づくアプローチにより非音声イベントnonspeecheventsを排除rejectすることを役割とする。音声デコーダ216によって用いられるモデルは、音声モデルモジュール220に記憶されている。これらのモデルは、コンテキスト依存型又はコンテキスト独立型のフォネティックモデルphoneticmodels、サブワードモデルsubwordmodels又は全単語モデルwholewordmodels、例えば単音monophones、二重音biphones及び又は三重音trophonesからなる。一実施例において、音声デコーダ216は、種々のモデルを動的に切り換えることができる。例えば、音声デコーダ216は、三重音に基づくモデルと単音に基づくモデルとを切り換えることができる。これは既知のシステムとは異なる点である。既知のシステムでは、固定数の状態と各状態毎に固定数のガウス形Gaussiansがあり、すなわち、各音素phonemesのアーキテクチャが固定されている。これに対して、単音、二重音、三重音に基づくモデル間での選択とともに、これらの音素のアーキテクチャ、例えば各種類の音素単音、二重音、三重音毎に状態数と各状態毎のガウス形の数を変化させて、空間、速度、精度の最適化を図ることができる。当該技術分野においてよく知られているように、入力された発声音は、例えばビタビアルゴリズムViterbialgorithmを用いてモデルにより分析され、その発声音が所定モデルにどの程度合致するかを表すスコアが割り当てられる。さらに、音声デコーダ216によって用いられるモデルは、自然言語インターフェースコントロールモジュール206の直接のコントロール下にある。これについては以下にさらに説明する。また、2つのガーベジモデル化技術garbagemodelingtechniquesが用いられる。音声モデルモジュール220にガーベジフィラーモデルGarbagefillermodelが記憶され、流暢さの欠如や無音だけでなく背景雑音もモデル化する。これらのモデルは、音声デコーダ216により、アウトオブボキャブラリoovイベント語彙にないイベントの排除の際に使用される。また、音声デコーダ216は、オンラインガーベジ計算onlinegarbagevalculationを用いて、アウトオブボキャブラリoovイベントを排除する。そして、スコアが非常に近ければ、N個の最適候補を返送する。このようなアウトオブボキャブラリoovイベントの排除は当該技術分野においてもよく知られている。幾つかの実施例において、排除rejectionの技術が当該分野で知られている技術と比較して改善されている。HMMに基づく音声認識システムの背景となる基本原理は、ある発声音を音声モデルモジュール220からの多数の音声モデルと比較して、その発声音に最も合致するモデルを見つけることである。これは、音声認識モジュール204の出力が最適な一致モデル例えば単語に対する参照となることを意味する。しかし、これでは、口頭で話されたことばを表すモデルが存在しない場合に問題が発生する。このような場合、HMMに基づくシステムでは、発声音とモデルとの最も近い一致を見つけようとし、その結果を報告するのが一般的である。多くの場合、このことは好ましくない。それは、オープンマイクにより拾われた音はいずれも、発生するモデルに対する参照となるからである。これを防ぐには、発声音がインボキャブラリinvocabulary語彙にあるワードに含まれているか否かを判断することが好ましい場合がある。例えば、ビタビスコアViterbiscoreがしきい値を超える場合、発声音はインボキャブラリワードであるとみなされる。発声音のビタビスコアがしきい値を超えない場合、発声音はアウトオブボキャブラリであるとみなされる。このようなビタビスコアは、ビタビアルゴリズムを用いて得られる。このアルゴリズムでは、一連の観測を考慮して、HMMによる単一の最適な状態シーケンスとその対応する確率を計算する。しかし、実験によれば、これはあまり正確な排除方式ではないことがわかっている。代わりに多くのシステムでは、全てのアウトオブボキャブラリイベント又はフィラー音声filersoundsを表すことをタスクとする別のHMMによって発声音の再処理を行うことで、すなわちガーベジモデルを用いることで得られる別のビタビスコアと、元のビタビスコアを比較することに依存している。ガーベジスコアgarbagescoreは、以下の式1により発声音中のフレーム数で除算した2つのビタビスコアのそれぞれの対数の差として定義することができる。ガーベジスコアは、発声音がワードモデルに対してより近い一致を示すのか、アウトオブボキャブラリモデルに対してより近い一致を示すのかを表す。アウトオブボキャブラリイベントの排除方法については多くの変形例が提案されている。一般に発声音中の無音時間は、高エネルギー音声部分をモデル化すべきモデルについても高いビタビスコアを生じることがわかっている。これは、特徴抽出モジュール202において音声信号のエネルギーを表す新たな特徴を与えることにより、ある程度防ぐことができる。しかし、それでもなお不正確なガーベジスコア測定となってしまう。発声音の開始部又は終了部に無音があり、この開始部又は終了部の無音がモデル化されていない場合、ガーベジスコアにひどく影響することがわかっている。特徴抽出モジュール202は、開始部及び終了部の無音を音声認識モジュール204の音声デコーダ216に送るサンプルに含めないように音声検出を行う。しかし、発声音の開始部及び終了部を見つけることは、低エネルギーで始まる又は終わる発声音については複雑な作業となる。これが問題となる音声グループの例として摩擦音がある。摩擦音は、例えばホワイトノイズwhitenoise等の広帯域で低エネルギーの雑音として特徴付けられる。当該技術分野において知られているように、摩擦音とはth、sh等の音素で表される音である。特徴抽出モジュール202は、開始部及び終了部のサンプルを見つけるための最善の努力をすることにより、この問題を解決しようとする。低エネルギー音が音声サンプルに含まれていることを確実にするため、特徴抽出モジュール202は、発声音の開始部及び終了部に多数の余分サンプルを含める。発声音の開始部又は終了部に低エネルギー音がない場合、その発声音は隔離して話されたものであるとみなされ、無音が作成されて音声サンプルに付加されるため、音声デコーダ216のガーベジスコアは歪曲されてしまう。この問題を解決するため、一実施例において、各モデルの前後に、特徴抽出モジュール202から送られた無音フレームを消費する単一状態の無音モデルを配置する。音声デコーダ216は最も近い一致の一連のモデルを見つけ、ワードモデルに加えて無音モデルも最適に発声音に合致させる。こうして、発声音の開始及び終了無音部の開始及び終了インデックスを得て、除去することができる。さらに、最適の一致のワードモデルについては、前後の無音モデルなしに、発声音の純粋な音声部分のみを用いて保持及び再処理が行われる。次に、アウトオブボキャブラリHMMが発声音の同じ部分の処理を行い、ガーベジスコアは次式1により計算することができる。ここで、wは前後の無音モデルのないインボキャブラリワードの音声モデルについてのビタビスコアの対数であり、発声音には無音が含まれていない。同様に、gはアウトオブボキャブラリHMMモデルについての対応するスコアの対数である。また、nは発声音中の総フレーム数であり、mは前後の無音モデルにより消費されるフレームの数である。つまり、この排除技術を用いて、システムは発声音の音声部分を正確に取り出すことができるようになる。これにより、インボキャブラリワードの取り出しが向上し、また、摩擦音等の低エネルギー音で始まる又は終わるアウトオブボキャブラリイベントの排除が、従来の排除方法と比較して向上する。Nグラムグラマーモジュール218は、音声デコーダ216により使用される文法を有している。これらの文法は語彙目録を構築するための規則であり、語彙目録は単語とその発音入力からなる辞書である。また、音声デコーダ216により使用される特定の文法は自然言語インターフェースモジュール222によりコントロールされている。本実施例において、Nグラムグラマーは、複数の文法の種類又は文法の種類の組み合わせを用いるように構成されている。複雑な言語を使用する場合例えば、多数のコントロール及び機能を有するコントロール下のデバイスについては、トライグラムグラマーオプションtrigramgrammeroptionを用いるのが有利である。それより小規模のシステム例えば、非常に単純なコントロール及び機能を有するデバイスについては、バイグラムグラマーオプションbigramgrammeroptionにより、メモリと精度のバランスがとれる。バイグラム及びトライグラムグラマーのメモリ効率の良い表現を得るには、可能な語彙目録入力の組み合わせを、特定の語彙目録入力ラベル又はワードグループによって表現すればよい。語彙目録入力の後にいずれの語彙目録入力が続くことができるようにする場合、エルゴディックグラマーオプションergodicgrammaroptionを用いることができる。なお、一般的に、信号受信可能範囲が小さいデバイスにおいてNグラムグラマーを使用することは直観的には考えにくい。信号受信可能範囲が小さいということは、システムがリモートユニット104に接続されたコントロール下のデバイス114に関する音声だけを認識すればよく、残りの音声についてはアウトオブボキャブラリとして分類してもよいということである。しかし、Nグラムグラマーモジュール218は、信号受信可能範囲が小さい音声認識モジュール204の場合にも複数の文法及び種類の使用を可能にする。主として音声デコーダ216で排除方法に使用される他の文法として、ワードリストグラマーwordlistgrammerがある。ワードリストグラマーは、固定的な一連の単語と発声音サブセットsubsetについてのビタビスコアを再計算するのに用いられる。システムは、コンテキスト切り換え、あるいは、自然言語インターフェースモジュールのコントロール下で文法の種類と文法規則セットを直ちに切り換えることを可能にする方法で、種々の文法を組み込んでいる。人間が話す内容はコンテキストにより大きく影響されるので、これを可能にすることは重要である。例えば、あるフレーズ例えば上述のアテンションワードのみがダイアログを開始すると想定され、他のフレーズは質問例えば不明瞭な要求を明確にする自然言語インターフェースに続いて発生するだけである。特に、話し手が様々な聴衆を相手にしているときや、家庭用電子機器の場合、すなわちテレビ、DVDプレーヤ、ステレオ、VCR等の種々の製品の場合、このことは顕著になる。音声認識精度を高めつつ必要な処理を少なく抑える試みとして、システムは、ある文法規則のみが当てはまるコンテキストの定義方法を与える。コンテキストがわかっている場合、自然言語インターフェースモジュール222は、予想されるフレーズのみを聴取するように音声認識モジュール204に指令を出すことができる。例えば、自然言語インターフェースモジュール222は、ユーザがDVDプレーヤを操作しようとしていると判断すると、音声認識モジュール204はDVDプレーヤに対応する文法の種類と文法を用いるように指令を受ける。従って、音声デコーダ216は、Nグラムグラマーモジュール218から適切な文法を取り出す。また、各規則又は単語についてどの規則又は単語が使用可能又は使用不可能かを示すのに、各文法規則又は語彙目録入力毎のフラグを用いる高精度レベルによって、コンテキスト切り換えを行うこともできる。さらに、システム設定及び文法モードによっては、最適推測語をサーチする際に、語彙目録入力セットのみを使用することが好ましい場合もある。幾つかの語彙目録を定めて、関係のある語彙目録のみを参照すればよい。なお、音声認識モジュール204は、入力された音声のコンテキストを考慮して、使用する文法を動的に変更することができ、語彙目録は選択された文法に依存するので、語彙目録は動的に変更される。システムのサイズ、すなわち、音声デコーダ216においてどの程度のサーチが必要かによって異なるが、処理時間を短縮することができる。中規模から大規模の自然言語インターフェースコントロールシステム102コントロール下のデバイス114を多数有しているの場合、ビームサーチアルゴリズムBeamSearchalgorithmを効率的に実行することにより処理時間が大幅に短縮される。このビームサーチアルゴリズムは、ビタビサーチアルゴリズムViterbiSearchalgorithmにおいて推測語の数を最小限に保持するものである。この場合、離散的時間ステップ毎にすべてのアクティブな推測語を比較し、最適推測語についてのビタビスコアを計算する。そして、最大推測語スコアから所定の排除しきい値関数を引いた値に満たないスコアの推測語をすべて廃棄することにより、プルーニングpruningすなわち刈り込みを行うことができる。これによって、プルーニングされたため、対応するモデル状態のスコアがしきい値を超えるまで以下の時間ステップで考慮されない推測語に基づくサーチは制限される。大規模の音声認識システムに関連する他の問題点として、音声モデルを記憶するのに必要なメモリ量がある。幸い、NLICS102で使用するサブワードユニットsubwordunits例えば音素の数は一般的に固定されているので、語彙目録入力数が大きくなるについて、より多くの音声モデルが同じサブワードモデルを参照することになる。語彙目録入力に同じモデル要素、例えばサブワードモデル、モデル状態及び/又はガウス形を参照させることにより、必要なメモリを最小限に維持することができる。それと引き換えに必要な計算リソースがやや増加する。この間接的モデル参照を用いると、音声をいずれの抽象化レベル例えば、フレーズ、単語、サブワードにおいても表すことができる。このような抽象化を組み合わせて、語彙目録に従いより多くの抽象化ユニットを形成することができ、それを文法の定義において参照することができる。トークンパッシングTokenPassingは、HMMによる最適単語推測を探索するためのよく知られたアプローチ方法である。当該技術分野において知られているように、接続された単語認識システムにおいて、発声音の前フレームの処理が完了すれば、一番高いビタビスコアを有する状態シーケンスについての最後のモデル状態を容易に見つけることができる。しかし、これで必ずしも最適の状態又は単語シーケンスが得られるわけではない。最適状態シーケンスを見つけるには、バックトレーシングbacktracingを行う必要がある。これを行う従来の方法は、各状態が、各フレーム毎の前の最適状態に戻したポインタを持つようにする。バックトレーシングは、一番高いビタビスコアを持つ状態シーケンスの最後のモデル状態からポインタを戻していくことにより行うことができる。これは、システムがT個の離散的時間ステップにわたってN個の状態を用いる場合、必要なバックポインタbackpointersの数は通常NTであることを意味する。これを行うとすぐに数が大きくなり、必要なメモリが大きくなる。このようなバックポインタの記憶に関する必要なメモリを最小化するための種々の方法が提案されているが、そのうちの幾つかは、状態毎にメモリを割り当てるのではなく、種々の状態にトークンtokensを巡回させるという考えに基づくものである。本発明の一実施例によれば、各状態に1つのトークンポインタtokenpointerを記憶するのではなく、音声デコーダ216が2列S1及びS2を用いて各状態のトークンポインタを保持する。列S1は各状態と前フレームのトークンポインタを保持し、列S2は各状態と現フレームのトークンポインタを保持する。各状態iが前の最適状態jを見つけようと前に戻ると、2つの結果が考えられる。前の最適状態jがiと同じ音声モデルの要素ならば、S1における状態jのトークンポインタはS2における位置iにコピーされる。そうでなければ、新たなトークンが作成され、S2における位置iに記憶される。新たなトークンはS1のトークンiと同じ内容を得て、トークン履歴tokenhistoryにおいて、モデルm,iεmに対する参照が付加される。現フレームについてすべての状態が処理されると、構造S1及びS2に対するポインタはスワップswapすなわち交換され、次のフレームについて処理が繰り返される。従って、トークンパッシング技術により、HMMに基づく音声認識システムのよく知られた問題点を非常に高いメモリ効率で解決することができる。すなわち、すべての音声データが処理された後に最適単語シーケンス推測を見つけることができるバックポインタを記憶することである。幾つかの実施例において、例えばNグラムグラマーモジュール218により、リモートユニットのメモリに記憶された語彙目録について、キャッシュ方式cachingschemeを用いる。上述のように、語彙目録とは単語とその発音入力からなる辞書である。これらの発音は、フォネティックモデル又は全単語モデルのいずれかを参照するフォネティックスペリングphoneticspellingsとして実現することができる。ある所定の単語入力が複数の代替的な発音入力を有してもよいが、これらの発音入力のほとんどは、いずれの話し手によってもほとんど使用されない。この冗長性は各音声部分の抽象化において繰り返され、所定の話し手が使用しない入力が増える。つまり、語彙目録入力を使用頻度によって分類すれば、上位nの語彙目録入力から発声音中の単語を見つけることができる可能性が大きい。この場合、キャッシュを使用頻度により分けた異なるレベルに分割する。例えば、頻繁に使用される語彙目録入力はキャッシュの上位レベルに記憶される。キャッシュ方式は、例えば90の時間にキャッシュの上位10が使用されるように工夫してもよい。従って、一実施例によれば、マルチパスサーチmultipassを行い、最も適当な入力を第1のパスにて検討する。このパスからのガーベジスコアが、実際に口頭で話されたことばが最も適当なスペリングのセットに含まれていたと考えるのに十分高い場合、音声デコーダ216はその結果を呼び出し機能に報告する。このスコアが低い場合、システムはより広い範囲のスペリングの検討に戻る。第1のパスからのスコアは高いが、最も適当なスペリングのセット内に、発声音の要素についての正しいスペリングが含まれていたか否かを決定できるほどスコアが高くない場合、これも呼び出し機能に報告され、呼び出し機能は、明確化するためにユーザに対してプロンプトを行う。所定の音声部分についての語彙目録スペリングが使用されず、その代替スペリングの幾つかが頻繁に使用される場合、そのスペリングはゴミ箱trashcanに入れられ、そのユーザに関してそれ以上検討されることはない。この場合、ほとんど使用されないスペリングは検討されず、類似音の発声音をそれらのスペリングのいずれかと混同してしまう可能性は低減されるので、認識精度が向上する。さらに、キャッシュ方式により、システムは少量のデータを検討すればよいので、処理速度が大幅に改善する。次に、自然言語インターフェースコントロールモジュール206について詳細に説明する。自然言語インターフェースコントロールモジュール206は、自然言語インターフェースモジュール222と、確率的コンテキストフリーグラマーPCFGモジュール224と、デバイス抽象化モジュール226と、フィードバックモジュール228を備えている。一般に、自然言語インターフェースモジュールNLIM222は、コントロール下の各デバイス114のコンテキストと、確率的コンテキストフリーグラマーPCFGルール及び抽象化されたデバイスからなるセットにより定義されるユーザの使用履歴の範囲内でユーザの要求を解釈することを役割とする。この場合、自然言語インターフェースモジュール222は、音声認識モジュール204とマイクロフォンセット108のサーチについてコントロールを行う。これは、音声認識モジュール204の文法と、検討中の語彙目録をコントロールすることにより行う。また、自然言語インターフェースモジュール222は、抽象化されたデバイスの現在の状態、現在の言語参照に加えて、システムパラメータもコントロールする。上述のように、ユーザがアテンションワードを言うことによりNLICSとのダイアログを開始する。アテンションワードの特定する好ましい方法について、図3を参照して説明する。ユーザはアテンションワードの後に、リモートユニット104に接続された各デバイスの能力によってのみ制限される開放型の要求を出す。アテンションワードは、音声デコーダがアテンションワードに基づく適切な文法及びモデルを使用するように指令を与えられるように、ユーザのアイデンティティを自然言語インターフェースモジュール222に注意を促す。従って、システムは予めユーザの話すパターン例えば、発音、構造、癖等に合わせて設定することができる。音声認識モジュール204は、会話形式の自然言語でなされたユーザの要求を文書化する。発声音は、確率により順序付けられた代替的な推測語列からなるセットとして文書化される。例えば、音声デコーダ216はN個の最適テキストストリングを自然言語インターフェースモジュール222に送り、分析が行われて、その発声音のもっともらしい意味が判断される。そして、自然言語インターフェースモジュール222は、PCFGモジュール224からの確率的コンテキストフリーグラマーPCFGルールを適用することにより、入力されてくるストリングの構文解析を行い、そのストリングの確率、ユーザ履歴、現システムコンテキストを考慮して最も適当なストリングを見つける。これらのPCFGルールは、アテンションワードに基づくユーザのコンテキストと、操作されるデバイス既に決定している場合のコンテキストを反映する。PCFGは最初、使用ゆう度だけでなく使用頻度により順序付けられる。時間が経つと、個々のユーザの癖を追跡して、このデータを反映するようにルールの確率推定を改善する。このデータは、他のシステムからのデータと共用したり組み合わせることができ、共同コーパスcollaborativecorpus言語資料を介して再分配することができる。さらに、NLICSは2つの文法セットを備えている。1つは音声認識モジュール204のNグラムグラマーであり、もう1つは自然言語インターフェースコントロールモジュール206の確率的コンテキストフリーグラマーモジュール224である。従来のシステムでは1つの文法セットを使用するだけで、個人用電子製品の分野におけるマンマシンダイアログから収集したデータを用いて推測されたNグラムグラマーとPCFGルールの組み合わせを使用しない。入力されてくるテキストストリングに対してPCFGルールを用いることで、自然言語インターフェースモジュール222は以下の3つの結論のいずれかに達する。すなわち、1ユーザの要求を明確に理解して対応することができる、2ユーザの要求を明確に理解するが対応できず、この場合、ユーザにその結論を通知する、3要求の不明瞭さを解決できず、この場合、ユーザに明確化を要求する。例えば、1の場合、自然言語インターフェースモジュール222は、十分に高い信頼レベルで、入力されてくるストリングをTurnonthetelevisionテレビをオンにする要求として解釈する。この場合、デバイス抽象化モジュール226内の適切なコマンドが取り出され、コントロール下のデバイス114すなわちテレビに送信される。デバイス抽象化モジュール226は、テレビ自体が理解可能なフォーマットでユーザの適切な要求を実行するためのコマンドをすべて有している。通常、コマンドはデバイスインターフェース210、例えばIR送信器を介してテレビに送信される。これに応じてテレビの電源がオンになる。2番目の場合は、NLICSが行うことができないタスクをユーザがNLICSに要求する場合である。例えば、ユーザがテレビに爆発するように要求する場合である。フィードバックモジュール例えば、テキスト-音声228は、スピーカを介して可聴メッセージを再生して、要求を行うことができない旨をユーザに知らせるように指令を受ける。なお、フィードバックモジュール228は、スピーカ214を介して音声信号を再生する代わりに、画面表示で通知を表示するだけでもよい。3番目の場合、生じた不明瞭さの種類に従って不明瞭さを解決する。このように、自然言語インターフェースモジュール222は不明瞭な要求を明確化する。不明瞭さが低信頼性が原因で生じる場合、自然言語インターフェースモジュール222はその結論を肯定するようにユーザに要求する。例えば、スピーカ214がDidyoumeanplaytheCDCD再生のことですかと伝える。あるいは、自然言語インターフェースモジュール222は、要求を繰り返すようにユーザに要求する。不明瞭さが選択肢のセットが原因で生じる場合、自然言語インターフェースモジュール222は、これらの選択肢、例えばDidyouwanttowatchamovieontheVCRortheDVDVCRで映画を見たかったのですか、それともDVDですかという選択肢をユーザに提示する。不明瞭さが現コンテキストが原因で生じる場合、ユーザはその旨を知らされる。例えば、ユーザは、既に再生しているときにDVDプレーヤの再生を要求する場合である。最初の2つの不明瞭な場合では、システムは、選択肢のセットを考慮した好みに加えて、決定がなされたときの信頼性を反映するようにユーザプロファイルを調整する。幾つかの実施例において、時間の経過とともに、これらの統計を用いてPCFGルール及び適切な語彙目録内の入力の順序付けをしなおす。その結果、最も適当な入力が常に早期にチェックされ、これらの適当な入力が高信頼性をもたらすので、より高速でより精度の高いシステムが得られる。なお、自然言語インターフェースモジュール222が要求を明確化するようにフィードバックモジュール228に指令を与える場合、例えば、スピーカ214がDidyoumeanplaytheCDCD再生のことですかと伝える場合、自然言語インターフェースモジュール222は、マイクロフォンセット108で受信するであろうと予測していることに基づいて、コンテキスト及び文法規則を切り換える。例えば、システムは、yes又はnoあるいはその変形を受信するであろうと予測しているコンテキストに切り換える。ユーザがyesと答えると、自然言語インターフェースモジュール222はコンテキストを元の状態に切り換える。この場合、コンテキストが変化すると、自然言語インターフェースモジュール222は文法を切り換えるように音声認識モジュール204に指令を与える。文法は使用される語彙目録をコントロールするので、これにより間接的に語彙目録が変更される。また、自然言語インターフェースコントロールモジュール206は、デバイス抽象化モジュール226を備えている。デバイス抽象化モジュール226は、各デバイス114毎に抽象化を記憶する。この場合、各デバイス114についてのコマンドと、各デバイス114が操作できるオブジェクトがここに記憶される。また、デバイス抽象化モジュール226は、デバイスが取ることができる状態とデバイスが行うことができる動作とに、これらのコントロールを関連付ける。デバイス抽象化モジュール226の内容は、リモートユニット104に接続された種々のデバイスによって異なる。また、デバイス抽象化モジュール226は、別のデバイスを動作するために他のデバイスに対するコマンドを有している。例えば、ユーザがDVDの再生を要求すると、DVDプレーヤの電源をオンにしてDVDを再生させる指令が出される。さらに、テレビをまだオンになっていない場合、コマンド信号が送られてテレビをオンにする。デバイス抽象化モジュール226に記憶されているコマンドは、デバイスインターフェース210を介して、コントロール下の各デバイス114に送信される。幾つかの実施例において、デバイスインターフェース210はIR又はRFインターフェースである。NLICSは、このようなIRリンクを介してコントロール可能なデバイスであればいずれもコントロールするように構成することができる。デバイス抽象化が特定デバイスを操作するためのコマンドを記憶している限り、そのデバイスは自然言語インターフェースによりコントロールされていることを理解しない。デバイスは単にそのデバイスのリモートコントロール又は汎用リモートコントロールが信号を送ったのだと考える。システム処理コントローラ208は、NLICS内の種々のモジュール用のコントローラ及びプロセッサとして動作する。その機能については当該技術分野においてよく知られている。さらに、システム処理コントローラ208にはインターフェース212が接続されている。これによりベースユニット106又はコンピュータへの接続が可能になる。インターフェース212は、当該技術分野において知られているように、有線又は無線のいずれの種類のリンクであってもよい。なお、特徴抽出モジュール202、音声認識モジュール204、自然言語インターフェースコントロールモジュール206等、システムの種々の構成要素は、例えば特定用途向けICASIC又はデジタル信号プロセッサDSPを用いて、ソフトウェア又はファームウェアにより実現してもよい。次に図3を参照して、本発明のさらに他の実施例に係る、図1の自然言語インターフェースコントロールシステムのベースユニット又はベースステーションの機能ブロック図を示す。図3には、ベースユニット106ベースステーション106とも称すると、リニアマイクロフォンセット108を有するリモートユニット104が図示されている。ベースユニット106は、平面マイクロフォンセット110と、周波数局在化モジュール302と、タイムサーチモジュール304と、リモートインターフェース306インターフェース306とも称すると、外部ネットワークインターフェース308と、二次キャッシュ310を備えている。リニアマイクロフォンセット108と平面マイクロフォンセット110を組み合わせて、三次元マイクロフォンセット3123Dマイクロフォンセット312とも称するを形成する。また、図3には外部ネットワークインターフェース308に接続された外部ネットワーク116も図示されている。動作時において、ベースユニット106は、リモートユニット104汎用リモートコントロールと同様に対するドッキングステーションとされる。ベースユニット106は、NLICSが直接又はホスティングhostingされたインターネットポータルを介して、家庭用LAN又はインターネット等の外部ネットワーク116に対してインターフェースを行うことができるような外部ネットワークインターフェース308を備えている。この場合、新たな文法、音声モデル、プログラミング情報、IRコード、抽象化されたデバイス等をベースユニット106にダウンロードして、例えば二次キャッシュ310に記憶することができる。さらに、NLICS102は、その文法、モデル、語彙目録を外部ネットワーク上のリモートサーバに送信して記憶する。このリモートストレージは、他の同様のデバイスにより取り出すことができる情報の保存部となる。この場合、語彙目録が常に最新の発音及び用法により更新されるので、システムが老朽化することはない。このため、複数の自然言語インターフェースコントロールシステムは個々にリモートサーバ内の外部データベースに寄与するので、共同語彙目録及び/又は共同コーパスを構築することが可能になる。さらに、NLICS102は、リモートユニット104のデバイス抽象化モジュールに対するコマンド信号をダウンロードすることができる。例えば、ユーザが、NLICSとは異なる製造者により製造されたIRリモートコントロールを有する旧式のVCRを操作したい場合を考える。ベースユニット106はいずれの数のデバイスについても記憶されたコマンドをダウンロードするだけである。そして、これらのコマンドはデバイス抽象化モジュールに記憶される。また、NLICSは高信頼性の発声音に関連する特徴ベクトルデータとラベルを共同コーパスに送ることができる。このデータは他のデータと組み合わせて、その後再分配される改良モデルを調整するのに用いることができる。このアプローチは、特徴ベクトルデータとそのラベルを送ることにより共同コーパスに新語を組み込むのに使用することができる。送られた特徴ベクトルデータとラベルは他のデータを組み合わされて、フォワードバックワードアルゴリズムforwardbackwardalgorithmを用いて音声表記的に文書化される。そして、この入力は語彙目録に追加され、再分配することができる。ベースユニット106は平面マイクロフォンセット110を備えている。平面マイクロフォンセット110とリモートユニット104のリニアマイクロフォンセット108を組み合わせて、三次元マイクロフォンセット312を形成する。両セットとも従来のポイントソース特定マイクロフォンからなる。当該技術分野において知られているように、三次元セットは、まず平面セット例えば平面マイクロフォンセット110を構成し、その後、平面セットの平面に1つ又は2つのマイクロフォンエレメントを追加することにより構成される。この場合、リニアマイクロフォンセット108は追加的な1つ又は2つのエレメントとなる。これによりNLICS102は三次元サーチボリュームを定めることが可能になる。デバイスは、そのボリュームの範囲内の音声エネルギーをサーチするだけである。従って、マイクロフォンセット108、110は、サーチボリュームの範囲内にポイントを局在化する。サーチボリュームの範囲外の音声エネルギー、背景雑音等は減衰させられ、サーチボリュームの範囲内の音声エネルギーは合計される。実際には、ユーザは種々のデバイスをコントロールするために特定ボリューム範囲内に居る必要がある。例えば、ユーザのリビングルームのソファ付近のボリュームとなるようにサーチボリュームを構成する。リニアマイクロフォンセット108と平面マイクロフォンセット110はいずれも、自然言語インターフェースモジュール222によりコントロールされている。周波数局在化モジュール302とタイムサーチモジュール304は、3Dマイクロフォンセット110に接続されている。タイムサーチモジュール304は、リモートインターフェース306を介してリモートユニット104内の自然言語インターフェースモジュール222からのコントロール信号を受信する。タイムサーチモジュール304はマイクロフォンにより与えられる時間合わせされたバッファをまとめる。これにより、タイムサーチモジュール304は推定ヒットの位置を特定し、ヒットの方向に3Dマイクロフォンセット110を向けさせるのに役立つ。タイムサーチモジュール304の機能については当該技術分野ではよく知られている。周波数局在化モジュール302も自然言語インターフェースモジュール222のコントロール下にある。周波数局在化モジュール302は、当該技術分野で知られているような局在化アルゴリズムlocalizationalgorithmを実行する。局在化アルゴリズムは、所定ボリューム範囲内の音声エネルギーを局在化するのに用いられる。この場合、ボリューム範囲内の局在化ポイント以外から発する音声エネルギーは減衰し位相外れoutofphaseとなり、局在化ポイント内からの音声エネルギーは合計される位相が合ってinphaseいる。従って、局在化では周波数領域の構成的干渉と破壊的干渉を利用している。動作時において、サーチモジュールはアテンションワードの粗いサーチを行うのに使用される。音声エネルギーがしきい値を超える場合、局在化モジュールにより精密なサーチが行われる。精密なサーチにパスすると、その単語は認識及びNLIモジュールに送られる。この粗いサーチから精密なサーチまでは、局在化に伴う処理を低減するのに非常に役立つ。例えば、このような局在化では、エネルギーを周波数領域に変換したり戻したりしなければならないので、非常に多くの計算が必要となる。従って、粗いサーチで多数の推定ヒットを排除することにより、処理が低減される。SRモジュールが推定ヒットをアテンションワードであると識別すると、この推定ヒットは自然言語インターフェースモジュール222に送られて分析が行われ、どのアテンションワードが言われたのかが判断される。なお、自然言語インターフェースモジュールのコンテキストは、最初はアテンションワードのコンテキストである。すなわち、システムはシステムを作動させるためのアテンションワードをサーチしている。アテンションワードが見つかると、NLICSのコンテキストは要求コンテキストに変更させられ、NLICSに接続されたデバイスにより制限される要求を探索するようになる。ベースユニット106の二次キャッシュは、リモートユニット104で使用する二次的モデル、文法及び/又は語彙目録を記憶するのに用いられる。これにより、実行時に二次記憶デバイス又は二次キャッシュ例えば、ハードディスク、CD-ROM、DVDからストリームstream音声モデル及び文法を読み込むように設計された音声認識モジュールを補完する。データは読み込まれると、いずれの前処理も行わずに直ちに使用することができる。このことはコンテキスト切り換えと効果的に結びつく。文法コンテキスト切り換え特徴に伴い、必要な処理が少なくなるとともに音声認識精度が高くなるが、これに加えて、頻繁に使用されない文法等については、リモートユニット104内のメモリを占有せずに、二次キャッシュ310に記憶して必要なときに読み出せばよいので、必要なメモリが大幅に低減される。さらに、音声認識精度を高める音声データをより多く使用することができ、また、二次記憶デバイスが種々の方言やなまりについての基本モデルを大量に保持することができるので、話し手に適応するための種々のアプローチを効率的に実施することができる。また、二次キャッシュは外部ネットワーク116からダウンロードされるモデル、文法等の記憶デバイスであってもよい。次に図4を参照して、図1~図3の自然言語インターフェースコントロールシステムの自然言語インターフェースアルゴリズムnaturallanguageinterfacealgorithmで行われる各ステップのフローチャートを示す。まず、音声認識モジュール204と自然言語インターフェースモジュール222が、アテンションワードを探索するコンテキストに初期設定されるステップ402。これによりNLICSは非プロンプト式のユーザ要求を受け付けることができるようになるが、まず、ユーザ要求が入力されてくることをシステムに通知しなければならない。アテンションワードにより、この作業が行われる。この場合、隠れマルコフモデルの文法及びモデルを用いて、アテンションワードの存在を具体的に識別する。次に、リモートユニットがマイクロフォンセットにて音声データを受信するステップ404。音声データは、50のオーバラップを用いて12.8msecのフレームに分離される。音声データから38次元特徴ベクトルを取り出す。これらの特徴は、メル周波数ケプストラル係数1~12と、MFC係数0~12の一次及び二次導関数からなる。このように、音声データから特徴ベクトルを作成するステップ406。これは特徴抽出モジュール202にて行われる。次に、音声認識モジュール204が、入力されてくる特徴ベクトル自然言語インターフェースにより特定されたものに対して音声隠れマルコフモデルHMMとNグラムグラマーを適用し、インボキャブラリIVビタビ尤度likelihoodスコアを取り出すステップ408。そして、OOVイベントのモデル、例えば単音モデルのエルゴードバンクergodicbankを用いて、特徴データの再処理を行い、アウトオブボキャブラリOOVビタビスコアを取り出すステップ410。IV及びOOVスコアからガーベジスコアを計算する。例えば、ガーベジスコアは[LnIVスコア-LnOOVスコア]/フレーム数に等しいステップ411。スコアが低い場合、ガーベジ発声音であることがわかる。N個の最適文書化テキストストリングとそれに対応するガーベジスコアが、自然言語インターフェースモジュール222に送られるステップ412。自然言語インターフェースモジュール222は、アテンション発声音についてのデバイスコンテキスト情報に加えて確率的コンテキストフリーグラマーPCFGルールセットを用いて、入力ストリングの構文解析を行うステップ414。上述のように、自然言語インターフェースモジュール222はアテンション方式を必要とする。例えば、ユーザ独自のアテンションワードMona、あるいは許容可能な文法規則と関連した話し手のIDを受信する必要がある。ユーザがシステムの注意を引くと、すなわち、自然言語インターフェースモジュール222がアテンションワードを検出するとステップ416、自然言語インターフェースモジュールはユーザのアイデンティティを知る。これはユーザに応じてシステムを構成することにより行われる。適切なシステムパラメータを変更するとともに、音声認識モジュール204に対して、コマンド及び要求を受け付けるのに適当であり、かつユーザに応じた文法に切り換えるように指示することにより行う。音声認識モジュール204は、文法規則及び個々のユーザに応じて語彙目録を変更する。このように、音声認識モジュール204と自然言語インターフェースモジュール222は、ユーザ要求を探索するようにコンテキストを変更するステップ418。また、自然言語インターフェースモジュールは、マイクロフォンセットに対して、環境雑音をうまく排除するため焦点を狭めるように指示する。さらに、高いボリュームで再生を行っているNLICSコントロール下のデバイスTV、CD等があれば、自然言語インターフェースモジュールはアンプにボリュームを下げるように指示する。そして、自然言語インターフェースモジュール222はタイマを開始して、タイムアウト時間が終了するまでユーザの要求を待機する。システムがタイムアウトすると、自然言語インターフェースモジュール222は、アテンションワードをサーチするのに適当な音声認識モジュール規則及び語彙目録をリセットすることにより、システムの再構成を行う。また、それらが調整されると、マイクロフォンセットとアンプボリュームがリセットされる。これらのリセットステップはステップ402で行われたのと同様である。ユーザ要求探索のコンテキストに切り換えたステップ418後は、このパスでは音声がコントロール下のデバイスのうちの1以上を操作するための要求であること以外は、ステップ404~414を繰り返す。自然言語インターフェースモジュール222がユーザ要求を検出するとステップ416、すなわち、ユーザ要求PCFGグラマーシステム及びデバイスコンテキストにより決定されるが受信されると、3つの結論のいずれかを引き出すステップ420、422、424。ステップ420の場合、ユーザ要求が明確に理解され、自然言語インターフェースモジュールはユーザ要求に応じることができる。従って、自然言語インターフェースモジュール222は、抽象化されたデバイスにより示されるように、デバイスインターフェース210を介して適切な信号を送ることにより、コマンドを実行する。そして、音声認識モジュール204及び自然言語インターフェースコントロールモジュール206のコンテキストをアテンションワード探索のコンテキストに切り換えたステップ426後、ステップ404に進む。ステップ422の場合、ユーザ要求が明確に理解されるが、自然言語インターフェースモジュールはユーザ要求に応じることができない。この場合、ユーザにはその旨が通知され、さらなる指示を出すためにプロンプトを行う。システムは、さらなるユーザ要求を待つかタイムアウトして、ステップ426に進む。ステップ424の場合、要求について不明瞭さを解決できず、この場合、自然言語インターフェースモジュール222は、例えばフィードバックモジュール228及びスピーカ214を用いて、ユーザに明確化を要求する。不明瞭さは、生じた不明瞭さの種類に従って解決する。不明瞭さが低信頼性が原因で生じる場合、自然言語インターフェースモジュール222はその結論をユーザに対して肯定する例えば、DidyoumeanplaytheCDCD再生のことですか。ユーザが結論を確認すると、コマンドを実行し、システムがリセットされるステップ426。システムは、選択肢のセットを考慮した好みに加えて、決定がなされたときの信頼性を反映するようにユーザプロファイルを調整する。幾つかの実施例において、時間の経過とともに、これらの統計を用いてPCFGルール及び適切な語彙目録内の入力の順序付けをしなおす。その結果、最も適当な入力が常に早期にチェックされ、これらの適当な入力が高信頼性をもたらすので、より高速でより精度の高いシステムが得られる。不明瞭さが選択肢のセットが原因で生じる場合、自然言語インターフェースモジュール222は、これらの選択肢をユーザに提示する例えばDidyouwanttowatchamovieontheDVDplayerortheVCRDVDプレーヤで映画を見たかったのですか、それともVCRですか。ユーザが与えられたオプションの中から選択すると、自然言語インターフェースモジュール222はコマンドを実行し、そうでない場合はシステムがリセットされるステップ426。いずれの場合も、上述のようにユーザプロファイルが更新される。不明瞭さが現コンテキスト例えば、ユーザがTVを停止するように要求するが、TVがオフであるときが原因で生じる場合、ユーザはその旨を知らされる。以上、本発明を具体的な実施例や用例を用いて説明したが、請求の範囲に記載される本発明の主旨を逸脱しない範囲で、当該技術分野の通常の技術者により種々の変更例を行うことができる。"