(57)【要約】【課題】音声認識方法において、自然言語の音声を認識する。【解決手段】複数のデバイス（１１４）を操作する自然言語インターフェースコントロールシステム（２０６）は、第１のマイクロフォンセット（１０８）と、第１のマイクロフォンセットに接続された特徴抽出モジュール（２０２）と、記特徴抽出モジュールに接続された音声認識モジュール（２０４）を有し、音声認識モジュールは隠れマルコフモデルを用いる。また、システムは、音声認識モジュール（２０４）に接続された自然言語インタフェースモジュール（２２２）と、自然言語インターフェースモジュール（２２２）に接続されたデバイスインターフェース（２１０）を有し、自然言語インターフェースモジュールは、ユーザからの非プロンプト式で開放型の自然言語要求に基づいて、デバイスインターフェースに接続された複数のデバイスを操作する。【選択図】図１
2011237811.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを操作する自然言語インターフェースコントロールシステムであって、
第１のマイクロフォンセットと、
上記第１のマイクロフォンセットに接続された特徴抽出モジュールと、
上記特徴抽出モジュールに接続され、隠れマルコフモデルを用いる音声認識モジュールと、
上記音声認識モジュールに接続された自然言語インタフェースモジュールと、
上記自然言語インターフェースモジュールに接続されたデバイスインターフェースとを有し、上記自然言語インターフェースモジュールは、ユーザからの非プロンプト式で開放型の自然言語要求に基づいて、上記デバイスインターフェースに接続された複数のデバイスを操作することを特徴とする自然言語インターフェースコントロールシステム。
【請求項２】
上記自然言語インターフェースモジュールに接続された上記複数のデバイスをさらに有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項３】
上記音声認識モジュールはＮグラムグラマーを用いることを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項４】
上記自然言語インターフェースモジュールは確率的コンテキストフリーグラマーを用いることを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項５】
上記マイクロフォンセットは、平面マイクロフォンセットと、空間的に異なる平面に配置された少なくとも１つのリニアマイクロフォンセットとを備える三次元マイクロフォンセットを有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項６】
上記自然言語インターフェースは、上記複数のデバイスのそれぞれを、上記複数のデバイスのそれぞれに対応する複数の文法のそれぞれと複数の語彙目録のそれぞれに抽象化することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項７】
上記自然言語インターフェースモジュールは、アテンションワードを受け取って認識すると、非プロンプト式で開放型のユーザ要求をサーチすることを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項８】
上記自然言語インターフェースモジュールは、アテンションワードを受け取って認識すると、文法、音声モデル、語彙目録のコンテキスト切り換えを行うことを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項９】
上記複数のデバイスのそれぞれについて異なる文法を記憶するグラマーモジュールをさらに有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項１０】
上記複数のデバイスのそれぞれについて異なる音声モデルを記憶する音声モデルモジュールをさらに有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項１１】
上記デバイスインターフェースは無線デバイスインターフェースからなることを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項１２】
上記自然言語インターフェースコントロールシステムに接続された外部ネットワークインターフェースをさらに有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項１３】
上記１のマイクロフォンセットと、上記特徴抽出モジュールと、上記音声認識モジュールと、上記自然言語インターフェースモジュールとを有するリモートユニットをさらに有することを特徴とする請求の範囲第１項記載の自然言語インターフェースコントロールシステム。
【請求項１４】
上記リモートユニットに接続されたベースユニットをさらに有することを特徴とする請求の範囲第１３項記載の自然言語インターフェースコントロールシステム。
【請求項１５】
上記ベースユニットは第２のマイクロフォンセットを有することを特徴とする請求の範囲第１４項記載の自然言語インターフェースコントロールシステム。
【請求項１６】
上記マイクロフォンセットと上記第２のマイクロフォンセットは、三次元マイクロフォンセットを実現することを特徴とする請求の範囲第１５項記載の自然言語インターフェースコントロールシステム。
【請求項１７】
モデル、文法、語彙目録からなる第１のセットを有する第１のコンテキストに基づいて、アテンションワードをサーチし、
上記アテンションワードを見つけると、開放型のユーザ要求をサーチする第２のコンテキストに切り換え、第２のコンテキストは、モデル、文法、語彙目録からなる第２のセットを有することを特徴とする音声認識方法。
【請求項１８】
１以上のデバイスの自然言語コントロール方法であって、
開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信し、
上記開放型の自然言語ユーザ要求を受信し、
上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させ、
上記コマンドを上記１以上のデバイスのそれぞれに送信することを特徴とする自然言語コントロール方法。
【請求項１９】
さらに、上記アテンションワードを受信した後、開放型の自然言語要求を受信するコンテキストに切り換えることを特徴とする請求の範囲第１８項記載の自然言語コントロール方法。
【請求項２０】
さらに、上記受信したアテンションワードと上記受信した開放型の自然言語ユーザ要求に音声認識を適用することを特徴とする請求の範囲第１８項記載の自然言語コントロール方法。
【請求項２１】
上記音声認識の適用では、さらに、上記開放型の自然言語ユーザ要求に隠れマルコフモデルを適用することを特徴とする請求の範囲第２０項記載の自然言語コントロール方法。
【請求項２２】
上記一致では、確率的コンテキストフリーグラマー（ＰＣＦＧ）ルールを用いて、上記開放型の自然言語ユーザ要求の構文解析を行うことを特徴とする請求の範囲第１８項記載の自然言語コントロール方法。
【請求項２３】
上記１以上のデバイスのうちのどれに対して、上記開放型の自然言語ユーザ要求が出されているのか判断することを特徴とする請求の範囲第２２項記載の自然言語コントロール方法。
【請求項２４】
さらに、上記開放型の自然言語ユーザ要求が出されている上記１以上のデバイスのそれぞれに応じて、上記コンテキストを切り換えることを特徴とする請求の範囲第２３項記載の自然言語コントロール方法。
【請求項２５】
１以上のデバイスをコントロールする自然言語コントロールシステムであって、
開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信する手段と、
上記開放型の自然言語ユーザ要求を受信する手段と、
上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させる手段と
上記コマンドを上記１以上のデバイスのそれぞれに送信する手段を有することを特徴とする自然言語コントロールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許法第１１９条第（ｅ）項（３５ＵＳＣ§１１９（ｅ））に基づき、１９９９年１０月１９日に、Konopka、A NATURAL LANGUAGE INTERFACE FOR PERSONAL ELECTRONIC PRODUCTSによって出願された米国仮特許出願第６０／１６０，２８１号の優先権を主張するものであり、この米国仮特許出願を参照して記載されたものである。
【０００２】
発明の属する技術分野
本発明は、音声認識方法に関し、特に自然言語（natural language）の音声を認識する音声認識方法に関する。具体的には、本発明は、アプリケーションをコントロールするために用いられる自然言語音声認識システムに関する。
【０００３】
発明の背景
これまで、多くの人が機器によって生成された人工的な音声と人間によって発生された音声のギャップをなくすことができるようなデバイスを求めてきた。また、音声認識技術によって、機器が人間の音声を認識することが可能になった。例えば、音声認識技術は、文書作成処理、デバイスの制御、メニュー方式のデータ入力等、多くのアプリケーションに用いられている。
【０００４】
ほとんどのユーザは、自然言語の形式で音声入力を行うことを好んでいる。自然言語の音声入力とは、ユーザが実際に機器と会話をしているかのように自然な形で筆記すなわち口頭入力することである。一方、非自然言語の形式での音声入力は、言語構文や言語構造において限界がある。非自然言語の音声入力で機器とコミュニケーションを行うには、ユーザは音声認識エンジンの言語構文及び意味言語構造に従ったコマンドや要求を覚え、それに基づいて話すことが必要である。
【０００５】
自然言語インターフェースシステムの利点は、ユーザがコマンドや要求を話すための適切なフォーマットを覚える必要がなく、単に会話形式で話せばよいので、機器又はシステムとのインターフェースを容易に実現することができることである。一方、自然言語インターフェースシステムの問題点は、人間の自然言語は複雑で変化しやすい「規則」を有するため、実現が困難であるということである。
【０００６】
従来の自然言語処理技術は、自然言語による発声の意味を認識する能力が非効率的で柔軟性に乏しい。このため、ユーザの自然言語入力のコンテキスト（context）すなわち文脈を限定して入力音声の処理を容易にする必要があり、従来の自然言語インターフェースシステムはダイアログ（dialog-based）形式又はプロンプト（prompt-driven）方式である。自然言語インターフェースでは、システムに入力されている音声のコンテキストをコントロールする。例えば、自然言語インターフェースは、自然言語による自動エアライン予約システム等の自動電話システムで実現されている。このようなシステムでは、あるコンテキスト内で話すようにユーザに対してプロンプト（prompt）すなわち入力促進を行う。例えば、自然言語システムは、ユーザにどの都市で飛行機に乗りたいのかを訊ねる。この場合、システムは予測される音声のコンテキストをユーザに示す。このようにして、自然言語インターフェースシステムは、都市名を示す自然言語を探す。次に、システムは、ユーザに何日に飛行機に乗りたいのかを話すようにプロンプトする。ここでも自然言語インターフェースシステムによって回答のコンテキストが示される。問題点は、ユーザが開放型（open-ended）の情報や要求を入力できないということである。システムが受け取った音声データがシステムによりプロンプトされたコンテキスト以外であった場合、システムはその要求を無視するか、回答を理解できないことをユーザに通知するか、あるいは、プロンプトのコンテキスト内に該当するように要求を誤解することもある。
【０００７】
コンテキストが自然言語処理によって限定されず、ユーザの音声によって限定される効率的な自然言語システムが必要とされている。本発明は上記及び他の要求に対処することができる。
【０００８】
発明の概要
本発明は、コンテキストが自然言語インターフェースによって定義されるのではなく、ユーザの指示と複数のデバイスの能力により定義される、複数のデバイスをコントロールする開放型の自然言語インターフェースコントロールシステムを提供することにより、上記及び他のニーズに有利に対処する。
【０００９】
一実施例において、本発明は、第１のマイクロフォンセットと、第１のマイクロフォンセットに接続された特徴抽出モジュールと、特徴抽出モジュールに接続された音声認識モジュールを備え、音声認識モジュールは隠れマルコフモデルを用いる、複数のデバイスを操作する自然言語インターフェースコントロールシステムを特徴とすることができる。また、本システムは、音声認識モジュールに接続された自然言語インターフェースモジュールと、自然言語インターフェースモジュールに接続されたデバイスインターフェースを備え、自然言語インターフェースモジュールは、ユーザからの非プロンプト方式で開放型の自然言語要求に基づいて、デバイスインターフェースに接続された複数のデバイスを操作する。
【００１０】
他の実施例において、本発明は、モデルと文法と語彙目録の第１のセットを有する第１のコンテキストに基づいてアテンションワードをサーチするステップと、アテンションワードを見つけたときに、第２のコンテキストに切り換えて開放型のユーザ要求をサーチするステップを有し、第２のコンテキストはモデルと文法と語彙目録の第２セットを有する音声認識方法を特徴とすることができる。
【００１１】
さらに他の実施例において、本発明は、開放型の自然言語ユーザ要求が受け取られることを示すアテンションワードを受け取るステップと、開放型の自然言語ユーザ要求を受け取るステップと、開放型の自然言語ユーザ要求を、開放型の自然言語要求に対応する最も適当なコマンドと一致させるステップと、コマンドを１以上のデバイスのそれぞれに送信するステップを有する１以上のデバイスの自然言語コントロール方法と、この方法を行う手段を特徴とすることができる。
【００１２】
本発明の上述及び他のアスペクト、特徴、利点については、添付図面に基づいた以下の詳細な具体的説明により明らかにする。
【００１３】
なお、各図面において、同じ参照符号は同じ構成要素を示すものとする。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施例に係る自然言語インターフェースコントロールシステム（ＮＬＩＣＳ）のシステムレベルのブロック図である。
【図２】本発明の他の実施例に係る、図１の自然言語インターフェースコントロールシステム（ＮＬＩＣＳ）のリモートユニットの機能ブロック図である。
【図３】本発明のさらに他の実施例に係る、図１の自然言語インターフェースコントロールシステム（ＮＬＩＣＳ）のベースステーションユニットの機能ブロック図である。
【図４】図１乃至図３の自然言語インターフェースコントロールシステムの自然言語インターフェースアルゴリズムにおいて行われる各ステップを示すフローチャートである。
【発明を実施するための形態】
【００１５】
発明の詳細な説明
以下、本発明を実施するための最良の実施形態を説明するが、本発明はこの実施形態に限定されるものではなく、本発明の一実施例にすぎない。本発明の主旨は請求の範囲を参照して解釈されるべきである。
【００１６】
図１は、本発明に係る自然言語インターフェースコントロールシステムの一実施例の構成を示すシステムレベルのブロック図である。図１に示すように、自然言語インターフェースコントロールシステム１０２（ＮＬＩＣＳ１０２とも称する）は、リモートユニット１０４と、ベースユニット１０６（ベースステーションユニット１０６とも称する）とを備える。リモートユニット１０４は、リニアマイクロフォンセット１０８とスピーカ１１２とを備え、ベースユニット１０６は、平面マイクロフォンセット１１０を備える。自然言語インターフェースコントロールシステム１０２のリモートユニット１０４は、コントロール可能な複数のデバイス１１４に接続されている。さらに、ベースユニット１０６は、外部ネットワーク１１６に接続されている。
【００１７】
自然言語インターフェースコントロールシステム１０２は、動作時において、ユーザと複数のデバイス１１４を接続し、複数のデバイス１１４をコントロールする。自然言語インターフェースコントロールシステム１０２は、ユーザが自然な会話方式で自然言語インターフェースコントロールシステム１０２に話しかけるだけで複数のデバイス１１４のうち１つ以上をコントロールできる自然言語インターフェースを提供する。ＮＬＩＣＳ１０２は、ユーザの自然な言語での要求を解釈し、ユーザの要求を行うように各デバイスに適切なコマンドを送ることができる。例えば、このような自然言語インターフェースコントロールシステム１０２を家庭で適用する場合、デバイス１１４は、テレビ、ステレオ、ビデオカセットレコーダ（ＶＣＲ）、デジタルビデオディスク（ＤＶＤ）プレーヤ等である。ユーザは、デバイス１１４のいずれかを操作したいとき、「I wanna watch TV（テレビを見たい）」と言うか、同じような自然言語を話すだけでよい。ＮＬＩＣＳ１０２は、当該技術分野で知られている隠れマルコフモデル（Hidden Markov Models（ＨＭＭｓ））を用いて音声を検出する音声認識モジュールを備えており、自然言語インターフェースを用いて自然言語を解釈し、ユーザ要求が何であるかという確率（probability）を適切に判断する。自然言語インターフェースは、各デバイス１１４毎に記憶された確率的コンテキストフリーグラマー（probabilistic context free grammer）（ＰＣＦＧとも称する）ルールと語彙目録（lexicons）を用いる。このため、自然言語インターフェースモジュールは、ＮＬＩＣＳ１０２がインタフェースで接続されるように設計されている抽象化（abstraction）された各デバイス１１４を有するデバイス抽象化モジュールを備えている。従って、各デバイス１１４は、各デバイス１１４によって理解されるコマンドセットに抽象化される。さらに、各抽象化は、各デバイス特有の個々の文法及び語彙目録と関連付けられている。
【００１８】
ユーザの要求が所望の信頼レベルで決定されると、自然言語インターフェースモジュールは、ユーザの要求を実行するために、適切なデバイスに一連のコマンドを送る。例えば、「I wanna watch TV（テレビを見たい）」というユーザの要求に対して、自然言語インターフェースモジュールは、適切なデバイスにコマンドを送り、テレビとアンプをオンにし、テレビとアンプを適切なモードに設定し、ボリュームを適切なレベルに設定する。また、内部に記憶されている抽象化された各デバイスの状態や設定を更新する。コマンドは、テレビのチャンネルをＮＬＩＣＳ１０２側でわかっている、あるいは、開放型の自然言語要求でユーザが要求した所望のチャンネルに切り換えることもできる。さらに他の例として、ユーザは、「Do you have the album 'Genesis'?（「ジェネシス」というアルバムがありますか）」等、システムが「Ｙｅｓ」と回答するような特定の情報を要求することができる。そして、ユーザは「Play that(それを再生して）」又は「Play the album Genesis（アルバム「ジェネシス」を再生して）」と答えることができる。システムは、この要求に応答し、ＣＤジュークボックスとアンプをオンにし、アンプを適切なモードに設定し、適切なボリュームレベルを設定し、適切なアルバムを選択し、アルバムを再生する。また、システムは、ユーザのプロファイルに加えて抽象化されたデバイスの内部記憶状態や設定を更新する。このコマンド信号は、当該技術分野で知られているように、無線周波数（ＲＦ）リンク又は赤外線（ＩＲ）リンクを介して送信されることが好ましい。
【００１９】
音声認識技術は当該技術分野においてよく知られており、口頭コマンドに基づくデバイスのコントロールが知られている。ユーザが所定の音声コマンドを音声認識コントロールシステムに対して発声する場合、例えば、ユーザがコントロール下のテレビ受像機に「Turn on（オンにして）」と言う場合がある。これに応じてＴＶがオンになる。しかし、このようなアプローチは、自然言語又は会話言語を利用するものではなく、ダイアログコンテキスト（dialog context）を取り出すためにコントロール下のデバイスの抽象化を行うものでもない。正確な所定の音声コマンドが出されなければ、システムはコマンドを出さない。これに対し、本実施例では、口頭の発声について確率的に最も適当な意味を判断し、適切なコマンドを発行するのに用いられる自然言語インターフェースモジュールを実現する。従って、ユーザからの指示は、非常に会話的な形式で出され、ユーザは特定のコマンド信号を覚える必要がない。例えば、ユーザが「hey, let's watch TV（おい、テレビを見よう）」、「I wanna watch TV（テレビを見たい）」、「turn on the TV（テレビをつけて」、「whattya say we watch a little television（ちょっとテレビを見ないかい）」と言うと、システムは自然言語インターフェースモジュールを用いて、ユーザがテレビを見ることを要求していることを確率的に判断して、テレビ及び他の適切なデバイスが理解することができる適切なコマンドセットを発行する。
【００２０】
これによって、都合良くデバイス１１４とユーザとの間の物理的障害が取り除かれる。例えば、ユーザはこのデバイス１１４の操作方法を知らなくてもよい。例えば、ユーザはＤＶＤプレーヤの操作方法を知らなくてもよい。ユーザは単に「I wanna watch DVD（ＤＶＤが見たい）」と言えば、コマンド信号が送られて、ＤＶＤプレーヤの電源をオンにし、プレーヤ内のＤＶＤの再生を開始する。
【００２１】
さらに、自然言語インターフェースモジュールは、ユーザの要求が何であるかという確信がない場合、ユーザの要求を明確にする。例えば、ユーザの要求が「I want to watch a movie（映画が見たい）」であるとする。しかし、自然言語インターフェースモジュールは、ユーザがＤＶＤプレーヤ、ＶＣＲ、テレビのうちのどのデバイスで映画を見たいのかわからない。このような場合、自然言語インターフェースモジュールは、フィードバックモジュール（例えば、テキスト−音声モジュール）及びスピーカ等のフィードバック機構を用いて、要求を明確にするようにユーザに指示する。例えば、自然言語インターフェースモジュールは、そのような要求に対して、「Do you want to watch a movie on the DVD, VCR or television?（ＤＶＤ、ＶＣＲ、テレビのどれで映画を見たいのですか）」と訊ねる。それに対し、ユーザは、例えば「ＤＶＤ」と答える。
【００２２】
このように、このシステムは、「開放型」の要求を受け入れることができる真の「自然言語インターフェース」である。自然言語インターフェースコントロールシステム１０２は、主としてダイアログ方式又はプロンプト方式の「閉塞型（closed-end）型」システムではない。例えば、既知の自然言語システムでは、ある情報を提供するようにユーザに対してプロンプトを行い、その後、システムが得られた情報を識別しようとすることによって、会話をコントロールする。例えば、自然言語を用いたエアライン予約システムでは、システムによる質問によってコンテキストが制限されるようなダイアログによって、ユーザをガイドする。例えば、システムが「To what city would you like to fly?（どの都市まで飛行機を利用しますか）」と訊ねる。すると、ユーザは自然言語で行き先の都市を答え、システムはその回答と都市名を一致させることにより本質的に回答を理解しようとする。そして、システムは「What date would you like to leave?（何日に出発しますか）」と訊ねることによってユーザに対してプロンプトを行い、予測される回答すなわち日付に基づく、送られてくるサーチ及び分析されるテキストストリング（text string）すなわちテキスト文字列のコンテキストを制限する。これに対し、ＮＬＩＣＳ１０２では、システムではなくユーザがダイアログを開始する。ユーザは、ＮＬＩＣＳ１０２からのプロンプトされる前に「I want to hear some music（何か音楽が聞きたい）」と言うだけである。サーチされるコンテキストはシステムのプロンプトによって制限されるのではなく、ＮＬＩＣＳ１０２によってコントロールされるデバイス１１４の能力によって制限される。従って、ユーザは、コントロール下の各デバイスが行うことが可能なタスクのいずれかを行うようにＮＬＩＣＳ１０２に要求する。もし、例えば、ユーザがコントロール下のデバイスでは利用できない機能を行うようにＮＬＩＣＳ１０２に要求する。すなわち、例えば、ユーザが「Make me some breakfast（何か朝食を作って）」と言うと、そのような要求はコントロール下のデバイスにプログラムされた機能にはないので、ＮＬＩＣＳ１０２はそのような要求を実行できない。例えば、ＮＬＩＣＳ１０２は、デバイス１１４の能力の範囲内のフレーズを適切に解釈して、他の要求は単に無視する。また、自然言語インターフェースモジュールのフィードバック部が、その要求は利用できないことをユーザに警告することができる。
【００２３】
本実施例では、自然言語インターフェースコントロールシステム１０２は電源が「常時オン」であるので、ユーザはいつでも要求を言うことができ、システムが対応する。しかし、ＮＬＩＣＳ１０２の注意を引くため、ユーザは「アテンションワード（attention word）」を言ってから要求を言う。これは、ユーザの識別、要求の誤検出の防止、通常会話とＮＬＩＣＳに関係ない背景雑音との区別を行うのに役立つ。あらかじめ、アテンションワードに続いて要求が来ることをＮＬＩＣＳ１０２に知らせる。このため、ＮＬＩＣＳで用いられるマイクロフォンセットは、マイクロフォンセットにより定められた物理的空間内でアテンションワードをサーチするだけでよい。例えば、アテンションワードが「Mona（モナ）」とプログラムされている場合、ユーザの要求は「Mona, I wanna watch TV（モナ、テレビを見たい）」となる。これによって、マイクロフォンセットによる処理及びサーチ量が大幅に低減される。
【００２４】
さらに、個々のユーザは、各自ユーザ特有のアテンションワードを持つことができる。例えば、家庭内で、第１のユーザのアテンションワードは「Mona（モナ）」で、第２のユーザのアテンションワードは「Thor（ソア）」である。ＮＬＩＣＳ１０２は「Mona」というアテンションワードを聞くと、第１のユーザがコマンドを発しているとみなす。例えば、第１のユーザが「Mona, I wanna watch TV（モナ、テレビを見たい）」と言うと、システムはテレビ（及び他の適切なデバイス）をオンにするだけでなく、第１のユーザが選択した好みのチャンネルにテレビを切り換える。なお、この場合、第１のユーザが第２のユーザのアテンションワードを言うこともできるので、真のＩＤを与えるものではない。この機構は、個々のユーザの好み、発音、癖に合わせてＮＬＩＣＳ１０２を調整するための一手段を与えるだけである。
【００２５】
ＮＬＩＣＳ１０２が効率的に機能することを可能にする特徴の一つとしては、ＮＬＩＣＳ１０２に接続された各デバイス１１４が個々の抽象化されたデバイスに抽象化されるので、個々の文法及び語彙目録が各デバイス１１４毎に記憶されることである。例えば、自然言語インターフェースモジュールは、要求がＤＶＤプレーヤに対してであると判断すると、その特定のコンテキスト（すなわち、ＤＶＤプレーヤのコンテキスト）に特有の文法及び語彙目録が用いられ、音声認識モジュール内の入力音声データの処理に役立つ。これによって音声認識モジュールにおけるコンテキスト切り替えが行われる。
【００２６】
幾つかの実施例において、ＮＬＩＣＳ１０２は、ＨＭＭ又は文法用の音声認識モジュールで用いられるモデルを実行時にハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ等の二次ソースから流して使用することができるように構成される。データを読み込めば前処理なしにすぐに用いることができる。従って、多くのモデルや文法をＮＬＩＣＳ１０２のメモリとは別に記憶することができるので、音声認識モジュールのメモリ使用量が改善される。
【００２７】
他の実施例では、ＮＬＩＣＳ１０２は、２つの個別ユニット、例えばリモートユニット１０４及びベースユニット１０６として実現される。ベースユニット１０６はリモートユニット１０４の「ドッキングステーション（docking station）」として機能し、リモートユニット１０４は、例えば汎用シリアルバス（ＵＳＢ）接続によってベースユニット１０６に接続される。幾つかの実施例において、リモートユニット１０４は、ユーザが用いるボタンを与えることにより、従来から行われているような種々のデバイスの汎用リモートコントロールとして機能する。さらに、ベースユニット１０６は、１ＮＬＩＣＳ１０２に外部ネットワークインターフェースを供給する。例えば、外部ネットワークインターフェースは、ホームローカルエリアネットワーク（ＬＡＮ）、イントラネット、インターネット等の外部ネットワーク１１６にＮＬＩＣＳを接続する。この場合、ＮＬＩＣＳ１０２は、外部ネットワーク１１６内の中央データベースに記憶されている文法、ＨＭＭモデル、抽象化されたデバイス、ＤＣ、ＤＶＤ、テレビその他のプログラミング情報及び／又は語彙目録を新たにダウンロードすることができる。
【００２８】
また、ベースユニット１０６は、リモートユニット１０４の二次キャッシュとして機能する。リモートユニット１０４は、種々のデバイスに対するデバイスインターフェースに加えて、特徴抽出モジュールと、音声認識モジュールと、自然言語インターフェースモジュールとを備えている。このとき、ベースユニット１０６は、リモートユニット１０４で用いられる新たなモデル、文法、語彙目録を記憶するメモリを備えている。
【００２９】
リモートユニット１０４は、音声信号を受信する従来の２つのリニアマイクロフォンセット１０８を備えている。また、ベースユニット１０６は、二次元空間からの音波エネルギーを取り入れる平面マイクロフォンセット１１０を備えている。ＮＬＩＣＳ１０２は両方のマイクロフォンセット１０８、１１０を適宜用いて、２セットのマイクロフォンセット１０８、１１０により所定の三次元の物理的空間で音声を聴取することができるような三次元マイクロフォンセットを実現する。この場合、三次元ボリュームをある空間内に定めることができる。例えば、ＮＬＩＣＳ１０２は、ユーザが各デバイスの操作時に座るリビングルームのソファを含んだ空間のボリュームを聴取するように構成することができる。このため、この所定空間外のソースから出る音声データの位相は減衰させられ、所定空間内からの音声データの位相は合計される。
【００３０】
以上、本システムについて説明したが、自然言語インターフェースコントロールシステムについて以下にさらに詳細に説明する。
【００３１】
図２は、本発明の他の実施例を示すものであり、図１の自然言語インターフェースコントロールシステム１０２のリモートユニット１０４の構成を示すブロック図である。図２に示すように、リモートユニット１０４は、リニアマイクロフォンセット１０８と、特徴抽出モジュール２０２と、音声認識モジュール２０４と、自然言語インターフェースコントロールモジュール２０６と、システム処理コントローラ２０８と、デバイスインターフェース２１０と、ベースユニットインターフェース２１２（汎用シリアルバス（ＵＳＢ）インターフェース２１２とも称する）と、スピーカ２１４とを備える。また、各デバイス１１４も示してある。音声認識モジュール２０４は、音声デコーダ２１６と、Ｎグラムグラマーモジュール２１８と音声モデルモジュール２２０を備えている。自然言語インターフェースコントロールモジュール２０６は、自然言語インターフェースモジュール２２２と、確率的コンテキストフリーグラマーモジュール２２４（ＰＣＦＧモジュール２２４とも称する）と、デバイス抽象化モジュール２２６と、フィードバックモジュール２２８とを備えている。
【００３２】
本システムは、２つの個別要素、すなわちリモートユニット１０４及びベースユニット１０６としてそれぞれ説明されており、また、幾つかの好ましい実施例では、リモートユニット１０４とベースユニット１０６を個別ユニットとして用いているが、ＮＬＩＣＳ１０２の中心となる機能はリモートユニット１０４においてのみ実現することができる。ここでは、まず、リモートユニット１０４について説明した後にベースユニット１０６について説明する。
【００３３】
音声データは、ソースすなわちユーザを特定して干渉雑音と区別する２つの狭カーディオイドマイクロフォンであるリニアマイクロフォンセット１０８を介して、リモートユニット１０４に入力される。このようなリニアマイクロフォンセットは、当該技術分野においてよく知られている。リニアマイクロフォンセット１０８は、各マイクロフォンエレメントからの入力音声データをサンプリングした後、このデータの時間合わせと合計を行い、入力音声信号の信号対雑音比（ＳＮＲ）を高めたものを生成する。
【００３４】
そして、音声データは、特徴抽出モジュール２０２に送られる。特徴抽出モジュール２０２は、入力音声データの関連情報を表すパラメータ又は特徴ベクトルを抽出する。
【００３５】
特徴抽出モジュール２０２は、エッジ（edge）検出、信号の条件付け、特徴の抽出を行う。一実施例によれば、音声のエッジ検出は、第０ケプストラル係数（0th Cepstral coefficient）及びゼロ交差統計（zero-crossing statistics）に基づく雑音推定（noise estimation）及びエネルギー検出（energy detection）により行われる。特徴の抽出と信号の条件付けは、メル周波数ケプストラル係数（Mel-frequency Cepstral coefficient（ＭＦＣＣ））、デルタ情報（delta information）、及び加速情報（acceleration information）の抽出を行う。５０％オーバラップした１２．８ｍｓサンプルバッファに基づく３８次元特徴ベクトルである。このような特徴抽出モジュール２０２とその機能については当該技術分野においてよく知られており、当該分野の当業者は種々の方法で特徴抽出モジュールを実現することができる。このように、特徴抽出モジュール２０２の出力は一連の特徴ベクトルである。
【００３６】
次に、一般に音声認識モジュール２０４は、例えば、アウト・オブ・ボキャブラリ（out-of-vocabulary）（語彙にない）イベント、流暢さの欠如、環境雑音等の「非モデル化イベント（unmodeled events）」を除去する能力を有する隠れマルコフモデル（ＨＭＭ）に基づく連続音声認識デバイスとして機能する。音声認識モジュール２０４は、自然言語インターフェースモジュール２２２のコントロール下にあり、自然言語インターフェースコントロールモジュール２０６により決定された音声のコンテキストに基づいて種々の音声モデルと種々の文法を切り換えることができる。音声認識モジュール２０４は、ＮＬＩＣＳ１０２において有利に用いられる幾つかの特徴を有しているが、全く従来のものであっても構わない。さらに、音声認識モジュール２０４におけるメモリ使用量は最適化されているので、必要なメモリは、用いられる音声モデルデータ量を主に反映している。以下、音声認識モジュール２０４及び自然言語インターフェースコントロールモジュール２０６についてさらに詳細に説明する。
【００３７】
特徴抽出モジュール２０２からの特徴ベクトルは、音声認識モジュール２０４に入力される。すなわち、音声認識モジュール（ＳＲＭ）２０４の音声デコーダ２１６に入力される。音声認識モジュール（ＳＲＭ）２０４は、特徴抽出モジュール（ＦＥＭ）２０２からの音声特徴ベクトルを要求し、音声モデルセットを用いて対応する発声音に最も合うものを見つけるとともに、隠れマルコフモデル（ＨＭＭ）に基づくアプローチにより非音声イベント（non-speech events）を排除（reject）することを役割とする。
【００３８】
音声デコーダ２１６によって用いられるモデルは、音声モデルモジュール２２０に記憶されている。これらのモデルは、コンテキスト依存型又はコンテキスト独立型のフォネティックモデル（phonetic models）、サブワードモデル（sub word models）又は全単語モデル（whole word models）、例えば単音（monophones）、二重音（biphones）及び/又は三重音（trophones）からなる。一実施例において、音声デコーダ２１６は、種々のモデルを動的に切り換えることができる。例えば、音声デコーダ２１６は、三重音に基づくモデルと単音に基づくモデルとを切り換えることができる。これは既知のシステムとは異なる点である。既知のシステムでは、固定数の状態と各状態毎に固定数のガウス形（Gaussians）があり、すなわち、各音素（phonemes）のアーキテクチャが固定されている。これに対して、単音、二重音、三重音に基づくモデル間での選択とともに、これらの音素のアーキテクチャ、例えば各種類の音素（単音、二重音、三重音）毎に状態数と各状態毎のガウス形の数を変化させて、空間、速度、精度の最適化を図ることができる。当該技術分野においてよく知られているように、入力された発声音は、例えばビタビアルゴリズム（Viterbi algorithm）を用いてモデルにより分析され、その発声音が所定モデルにどの程度合致するかを表すスコアが割り当てられる。さらに、音声デコーダ２１６によって用いられるモデルは、自然言語インターフェースコントロールモジュール２０６の直接のコントロール下にある。これについては以下にさらに説明する。
【００３９】
また、２つのガーベジモデル化技術（garbage-modeling techniques）が用いられる。音声モデルモジュール２２０にガーベジフィラーモデル（Garbage filler model）が記憶され、流暢さの欠如や「無音」だけでなく背景雑音もモデル化する。これらのモデルは、音声デコーダ２１６により、アウト・オブ・ボキャブラリ（ｏｏｖ）イベント（語彙にないイベント）の排除の際に使用される。また、音声デコーダ２１６は、オンラインガーベジ計算（online garbage valculation）を用いて、アウト・オブ・ボキャブラリ（ｏｏｖ）イベントを排除する。そして、スコアが非常に近ければ、Ｎ個の最適候補を返送する。このようなアウト・オブ・ボキャブラリ（ｏｏｖ）イベントの排除は当該技術分野においてもよく知られている。
【００４０】
幾つかの実施例において、排除（rejection）の技術が当該分野で知られている技術と比較して改善されている。ＨＭＭに基づく音声認識システムの背景となる基本原理は、ある発声音を（音声モデルモジュール２２０からの）多数の音声モデルと比較して、その発声音に最も合致するモデルを見つけることである。これは、音声認識モジュール２０４の出力が最適な一致モデル（例えば単語）に対する参照となることを意味する。しかし、これでは、口頭で話されたことばを表すモデルが存在しない場合に問題が発生する。このような場合、ＨＭＭに基づくシステムでは、発声音とモデルとの最も近い一致を見つけようとし、その結果を報告するのが一般的である。多くの場合、このことは好ましくない。それは、オープンマイクにより拾われた音はいずれも、発生するモデルに対する参照となるからである。これを防ぐには、発声音がイン・ボキャブラリ（in-vocabulary）（語彙にある）ワードに含まれているか否かを判断することが好ましい場合がある。例えば、ビタビスコア（Viterbi score）がしきい値を超える場合、発声音はイン・ボキャブラリワードであるとみなされる。発声音のビタビスコアがしきい値を超えない場合、発声音はアウト・オブ・ボキャブラリであるとみなされる。このようなビタビスコアは、ビタビアルゴリズムを用いて得られる。このアルゴリズムでは、一連の観測を考慮して、ＨＭＭによる単一の最適な状態シーケンスとその対応する確率を計算する。しかし、実験によれば、これはあまり正確な排除方式ではないことがわかっている。代わりに多くのシステムでは、全てのアウト・オブ・ボキャブラリイベント又はフィラー音声（filer sounds）を表すことをタスクとする別のＨＭＭによって発声音の再処理を行うことで、すなわちガーベジモデルを用いることで得られる別のビタビスコアと、元のビタビスコアを比較することに依存している。ガーベジスコア（garbage score）は、以下の式１により発声音中のフレーム数で除算した２つのビタビスコアのそれぞれの対数の差として定義することができる。ガーベジスコアは、発声音がワードモデルに対してより近い一致を示すのか、アウト・オブ・ボキャブラリモデルに対してより近い一致を示すのかを表す。アウト・オブ・ボキャブラリイベントの排除方法については多くの変形例が提案されている。一般に発声音中の無音時間は、高エネルギー音声部分をモデル化すべきモデルについても高いビタビスコアを生じることがわかっている。これは、特徴抽出モジュール２０２において音声信号のエネルギーを表す新たな特徴を与えることにより、ある程度防ぐことができる。しかし、それでもなお不正確なガーベジスコア測定となってしまう。発声音の開始部又は終了部に無音があり、この開始部又は終了部の無音がモデル化されていない場合、ガーベジスコアにひどく影響することがわかっている。特徴抽出モジュール２０２は、開始部及び終了部の無音を音声認識モジュール２０４の音声デコーダ２１６に送るサンプルに含めないように音声検出を行う。しかし、発声音の開始部及び終了部を見つけることは、低エネルギーで始まる又は終わる発声音については複雑な作業となる。これが問題となる音声グループの例として摩擦音がある。摩擦音は、例えばホワイトノイズ（white noise）等の広帯域で低エネルギーの雑音として特徴付けられる。当該技術分野において知られているように、摩擦音とは「ｔｈ」、「ｓｈ」等の音素で表される音である。特徴抽出モジュール２０２は、開始部及び終了部のサンプルを見つけるための最善の努力をすることにより、この問題を解決しようとする。低エネルギー音が音声サンプルに含まれていることを確実にするため、特徴抽出モジュール２０２は、発声音の開始部及び終了部に多数の余分サンプルを含める。発声音の開始部又は終了部に低エネルギー音がない場合、その発声音は隔離して話されたものであるとみなされ、無音が作成されて音声サンプルに付加されるため、音声デコーダ２１６のガーベジスコアは歪曲されてしまう。この問題を解決するため、一実施例において、各モデルの前後に、特徴抽出モジュール２０２から送られた無音フレームを消費する単一状態の無音モデルを配置する。音声デコーダ２１６は最も近い一致の一連のモデルを見つけ、ワードモデルに加えて無音モデルも最適に発声音に合致させる。こうして、発声音の開始及び終了無音部の開始及び終了インデックスを得て、除去することができる。さらに、最適の一致のワードモデルについては、前後の無音モデルなしに、発声音の純粋な音声部分のみを用いて保持及び再処理が行われる。次に、アウト・オブ・ボキャブラリＨＭＭが発声音の同じ部分の処理を行い、ガーベジスコアは次式（１）により計算することができる。
【００４１】
【数１】
2011237811.tif 000003
【００４２】
ここで、ｗは前後の無音モデルのないイン・ボキャブラリワードの音声モデルについてのビタビスコアの対数であり、発声音には無音が含まれていない。同様に、ｇはアウト・オブ・ボキャブラリＨＭＭモデルについての対応するスコアの対数である。また、ｎは発声音中の総フレーム数であり、ｍは前後の無音モデルにより消費されるフレームの数である。つまり、この排除技術を用いて、システムは発声音の音声部分を正確に取り出すことができるようになる。これにより、イン・ボキャブラリワードの取り出しが向上し、また、摩擦音等の低エネルギー音で始まる又は終わるアウト・オブ・ボキャブラリイベントの排除が、従来の排除方法と比較して向上する。
【００４３】
Ｎグラムグラマーモジュール２１８は、音声デコーダ２１６により使用される文法を有している。これらの文法は語彙目録を構築するための規則であり、語彙目録は単語とその発音入力からなる辞書である。また、音声デコーダ２１６により使用される特定の文法は自然言語インターフェースモジュール２２２によりコントロールされている。本実施例において、Ｎグラムグラマーは、複数の文法の種類又は文法の種類の組み合わせを用いるように構成されている。複雑な言語を使用する場合（例えば、多数のコントロール及び機能を有するコントロール下のデバイス）については、トライグラムグラマーオプション（trigram grammer option）を用いるのが有利である。それより小規模のシステム（例えば、非常に単純なコントロール及び機能を有するデバイス）については、バイグラムグラマーオプション（bigram grammer option）により、メモリと精度のバランスがとれる。バイグラム及びトライグラムグラマーのメモリ効率の良い表現を得るには、可能な語彙目録入力の組み合わせを、特定の語彙目録入力ラベル又はワードグループによって表現すればよい。語彙目録入力の後にいずれの語彙目録入力が続くことができるようにする場合、エルゴディックグラマーオプション（ergodic grammar option）を用いることができる。
【００４４】
なお、一般的に、信号受信可能範囲が小さいデバイスにおいてＮグラムグラマーを使用することは直観的には考えにくい。信号受信可能範囲が小さいということは、システムがリモートユニット１０４に接続されたコントロール下のデバイス１１４に関する音声だけを認識すればよく、残りの音声についてはアウト・オブ・ボキャブラリとして分類してもよいということである。しかし、Ｎグラムグラマーモジュール２１８は、信号受信可能範囲が小さい音声認識モジュール２０４の場合にも複数の文法及び種類の使用を可能にする。
【００４５】
主として音声デコーダ２１６で排除方法に使用される他の文法として、ワードリストグラマー（word list grammer）がある。ワードリストグラマーは、固定的な一連の単語と発声音サブセット（subset）についてのビタビスコアを再計算するのに用いられる。
【００４６】
システムは、「コンテキスト切り換え」、あるいは、自然言語インターフェースモジュールのコントロール下で文法の種類と文法規則セットを直ちに切り換えることを可能にする方法で、種々の文法を組み込んでいる。人間が話す内容はコンテキストにより大きく影響されるので、これを可能にすることは重要である。例えば、あるフレーズ（例えば上述のアテンションワード）のみがダイアログを開始すると想定され、他のフレーズは質問（例えば不明瞭な要求を明確にする自然言語インターフェース）に続いて発生するだけである。特に、話し手が様々な聴衆を相手にしているときや、家庭用電子機器の場合、すなわちテレビ、ＤＶＤプレーヤ、ステレオ、ＶＣＲ等の種々の製品の場合、このことは顕著になる。音声認識精度を高めつつ必要な処理を少なく抑える試みとして、システムは、ある文法規則のみが当てはまるコンテキストの定義方法を与える。コンテキストがわかっている場合、自然言語インターフェースモジュール２２２は、予想されるフレーズのみを聴取するように音声認識モジュール２０４に指令を出すことができる。例えば、自然言語インターフェースモジュール２２２は、ユーザがＤＶＤプレーヤを操作しようとしていると判断すると、音声認識モジュール２０４はＤＶＤプレーヤに対応する文法の種類と文法を用いるように指令を受ける。従って、音声デコーダ２１６は、Ｎグラムグラマーモジュール２１８から適切な文法を取り出す。また、各規則又は単語についてどの規則又は単語が使用可能又は使用不可能かを示すのに、各文法規則又は語彙目録入力毎のフラグを用いる高精度レベルによって、コンテキスト切り換えを行うこともできる。さらに、システム設定及び文法モードによっては、最適推測語をサーチする際に、語彙目録入力セットのみを使用することが好ましい場合もある。幾つかの語彙目録を定めて、関係のある語彙目録のみを参照すればよい。
【００４７】
なお、音声認識モジュール２０４は、入力された音声のコンテキストを考慮して、使用する文法を動的に変更することができ、語彙目録は選択された文法に依存するので、語彙目録は動的に変更される。
【００４８】
システムのサイズ、すなわち、音声デコーダ２１６においてどの程度のサーチが必要かによって異なるが、処理時間を短縮することができる。中規模から大規模の自然言語インターフェースコントロールシステム１０２（コントロール下のデバイス１１４を多数有している）の場合、ビームサーチアルゴリズム（Beam Search algorithm）を効率的に実行することにより処理時間が大幅に短縮される。このビームサーチアルゴリズムは、ビタビサーチアルゴリズム（Viterbi Search algorithm）において推測語の数を最小限に保持するものである。この場合、離散的時間ステップ毎にすべてのアクティブな推測語を比較し、最適推測語についてのビタビスコアを計算する。そして、最大推測語スコアから所定の排除しきい値関数を引いた値に満たないスコアの推測語をすべて廃棄することにより、プルーニング（pruning）すなわち刈り込みを行うことができる。これによって、プルーニングされたため、対応するモデル状態のスコアがしきい値を超えるまで以下の時間ステップで考慮されない推測語に基づくサーチは制限される。
【００４９】
大規模の音声認識システムに関連する他の問題点として、音声モデルを記憶するのに必要なメモリ量がある。幸い、ＮＬＩＣＳ１０２で使用するサブワードユニット（sub word units）（例えば音素）の数は一般的に固定されているので、語彙目録入力数が大きくなるについて、より多くの音声モデルが同じサブワードモデルを参照することになる。語彙目録入力に同じモデル要素、例えばサブワードモデル、モデル状態及び／又はガウス形を参照させることにより、必要なメモリを最小限に維持することができる。それと引き換えに必要な計算リソースがやや増加する。この間接的モデル参照を用いると、音声をいずれの抽象化レベル（例えば、フレーズ、単語、サブワード）においても表すことができる。このような抽象化を組み合わせて、語彙目録に従いより多くの抽象化ユニットを形成することができ、それを文法の定義において参照することができる。
【００５０】
トークン・パッシング（Token Passing）は、ＨＭＭによる最適単語推測を探索するためのよく知られたアプローチ方法である。当該技術分野において知られているように、接続された単語認識システムにおいて、発声音の前フレームの処理が完了すれば、一番高いビタビスコアを有する状態シーケンスについての最後のモデル状態を容易に見つけることができる。しかし、これで必ずしも最適の状態（又は単語）シーケンスが得られるわけではない。最適状態シーケンスを見つけるには、「バックトレーシング（back tracing）」を行う必要がある。これを行う従来の方法は、各状態が、各フレーム毎の前の最適状態に戻したポインタを持つようにする。バックトレーシングは、一番高いビタビスコアを持つ状態シーケンスの最後のモデル状態からポインタを戻していくことにより行うことができる。これは、システムがＴ個の離散的時間ステップにわたってＮ個の状態を用いる場合、必要なバックポインタ（back pointers）の数は通常ＮＴであることを意味する。これを行うとすぐに数が大きくなり、必要なメモリが大きくなる。このようなバックポインタの記憶に関する必要なメモリを最小化するための種々の方法が提案されているが、そのうちの幾つかは、状態毎にメモリを割り当てるのではなく、種々の状態に「トークン（tokens）」を巡回させるという考えに基づくものである。
【００５１】
本発明の一実施例によれば、各状態に１つのトークンポインタ（token pointer）を記憶するのではなく、音声デコーダ２１６が２列Ｓ１及びＳ２を用いて各状態のトークンポインタを保持する。列Ｓ１は各状態と前フレームのトークンポインタを保持し、列Ｓ２は各状態と現フレームのトークンポインタを保持する。各状態ｉが前の最適状態ｊを見つけようと前に戻ると、２つの結果が考えられる。前の最適状態ｊがｉと同じ音声モデルの要素ならば、Ｓ１における状態ｊのトークンポインタはＳ２における位置ｉにコピーされる。そうでなければ、新たなトークンが作成され、Ｓ２における位置ｉに記憶される。新たなトークンはＳ１のトークンｉと同じ内容を得て、トークン履歴（token history）において、モデルｍ，ｉεｍに対する参照が付加される。現フレームについてすべての状態が処理されると、構造Ｓ１及びＳ２に対するポインタはスワップ（swap）すなわち交換され、次のフレームについて処理が繰り返される。従って、トークン・パッシング技術により、ＨＭＭに基づく音声認識システムのよく知られた問題点を非常に高いメモリ効率で解決することができる。すなわち、すべての音声データが処理された後に最適単語シーケンス推測を見つけることができるバックポインタを記憶することである。
【００５２】
幾つかの実施例において、例えばＮグラムグラマーモジュール２１８により、リモートユニットのメモリに記憶された語彙目録について、キャッシュ方式（caching scheme）を用いる。上述のように、語彙目録とは単語とその発音入力からなる辞書である。これらの発音は、フォネティックモデル又は全単語モデルのいずれかを参照するフォネティックスペリング（phonetic spellings）として実現することができる。ある所定の単語入力が複数の代替的な発音入力を有してもよいが、これらの発音入力のほとんどは、いずれの話し手によってもほとんど使用されない。この冗長性は各音声部分の抽象化において繰り返され、所定の話し手が使用しない入力が増える。つまり、語彙目録入力を使用頻度によって分類すれば、上位ｎの語彙目録入力から発声音中の単語を見つけることができる可能性が大きい。この場合、キャッシュを使用頻度により分けた異なるレベルに分割する。例えば、頻繁に使用される語彙目録入力はキャッシュの上位レベルに記憶される。キャッシュ方式は、例えば９０％の時間にキャッシュの上位１０％が使用されるように工夫してもよい。従って、一実施例によれば、マルチパスサーチ（multi-pass）を行い、最も適当な入力を第１のパスにて検討する。このパスからのガーベジスコアが、実際に口頭で話されたことばが最も適当なスペリングのセットに含まれていたと考えるのに十分高い場合、音声デコーダ２１６はその結果を呼び出し機能に報告する。このスコアが低い場合、システムはより広い範囲のスペリングの検討に戻る。第１のパスからのスコアは高いが、最も適当なスペリングのセット内に、発声音の要素についての正しいスペリングが含まれていたか否かを決定できるほどスコアが高くない場合、これも呼び出し機能に報告され、呼び出し機能は、明確化するためにユーザに対してプロンプトを行う。所定の音声部分についての語彙目録スペリングが使用されず、その代替スペリングの幾つかが頻繁に使用される場合、そのスペリングは「ゴミ箱（trash can）」に入れられ、そのユーザに関してそれ以上検討されることはない。この場合、ほとんど使用されないスペリングは検討されず、類似音の発声音をそれらのスペリングのいずれかと混同してしまう可能性は低減されるので、認識精度が向上する。さらに、キャッシュ方式により、システムは少量のデータを検討すればよいので、処理速度が大幅に改善する。
【００５３】
次に、自然言語インターフェースコントロールモジュール２０６について詳細に説明する。自然言語インターフェースコントロールモジュール２０６は、自然言語インターフェースモジュール２２２と、確率的コンテキストフリーグラマー（ＰＣＦＧ）モジュール２２４と、デバイス抽象化モジュール２２６と、フィードバックモジュール２２８を備えている。一般に、自然言語インターフェースモジュール（ＮＬＩＭ）２２２は、コントロール下の各デバイス１１４のコンテキストと、確率的コンテキストフリーグラマー（ＰＣＦＧ）ルール及び抽象化されたデバイスからなるセットにより定義されるユーザの使用履歴の範囲内でユーザの要求を解釈することを役割とする。この場合、自然言語インターフェースモジュール２２２は、音声認識モジュール２０４とマイクロフォンセット１０８のサーチについてコントロールを行う。これは、音声認識モジュール２０４の文法と、検討中の語彙目録をコントロールすることにより行う。また、自然言語インターフェースモジュール２２２は、抽象化されたデバイスの現在の状態、現在の言語参照に加えて、システムパラメータもコントロールする。
【００５４】
上述のように、ユーザがアテンションワードを言うことによりＮＬＩＣＳとのダイアログを開始する。アテンションワードの特定する好ましい方法について、図３を参照して説明する。ユーザはアテンションワードの後に、リモートユニット１０４に接続された各デバイスの能力によってのみ制限される開放型の要求を出す。アテンションワードは、音声デコーダがアテンションワードに基づく適切な文法及びモデルを使用するように指令を与えられるように、ユーザのアイデンティティを自然言語インターフェースモジュール２２２に注意を促す。従って、システムは予めユーザの話すパターン（例えば、発音、構造、癖等）に合わせて設定することができる。
【００５５】
音声認識モジュール２０４は、会話形式の自然言語でなされたユーザの要求を文書化する。発声音は、確率により順序付けられた代替的な推測語列からなるセットとして文書化される。例えば、音声デコーダ２１６はＮ個の最適テキストストリングを自然言語インターフェースモジュール２２２に送り、分析が行われて、その発声音のもっともらしい意味が判断される。
【００５６】
そして、自然言語インターフェースモジュール２２２は、ＰＣＦＧモジュール２２４からの確率的コンテキストフリーグラマー（ＰＣＦＧ）ルールを適用することにより、入力されてくるストリングの構文解析を行い、そのストリングの確率、ユーザ履歴、現システムコンテキストを考慮して最も適当なストリングを見つける。これらのＰＣＦＧルールは、（アテンションワードに基づく）ユーザのコンテキストと、操作されるデバイス（既に決定している場合）のコンテキストを反映する。ＰＣＦＧは最初、使用ゆう度だけでなく使用頻度により順序付けられる。時間が経つと、個々のユーザの癖を追跡して、このデータを反映するようにルールの確率推定を改善する。このデータは、他のシステムからのデータと共用したり組み合わせることができ、共同コーパス（collaborative corpus）（言語資料）を介して再分配することができる。
【００５７】
さらに、ＮＬＩＣＳは２つの文法セットを備えている。１つは音声認識モジュール２０４のＮグラムグラマーであり、もう１つは自然言語インターフェースコントロールモジュール２０６の確率的コンテキストフリーグラマーモジュール２２４である。従来のシステムでは１つの文法セットを使用するだけで、個人用電子製品の分野におけるマンマシンダイアログから収集したデータを用いて推測されたＮグラムグラマーとＰＣＦＧルールの組み合わせを使用しない。
【００５８】
入力されてくるテキストストリングに対してＰＣＦＧルールを用いることで、自然言語インターフェースモジュール２２２は以下の３つの結論のいずれかに達する。すなわち、（１）ユーザの要求を明確に理解して対応することができる、（２）ユーザの要求を明確に理解するが対応できず、この場合、ユーザにその結論を通知する、（３）要求の不明瞭さを解決できず、この場合、ユーザに明確化を要求する。
【００５９】
例えば、（１）の場合、自然言語インターフェースモジュール２２２は、十分に高い信頼レベルで、入力されてくるストリングを「Turn on the television（テレビをオンにする）」要求として解釈する。この場合、デバイス抽象化モジュール２２６内の適切なコマンドが取り出され、コントロール下のデバイス１１４（すなわちテレビ）に送信される。デバイス抽象化モジュール２２６は、テレビ自体が理解可能なフォーマットでユーザの適切な要求を実行するためのコマンドをすべて有している。通常、コマンドはデバイスインターフェース２１０、例えばＩＲ送信器を介してテレビに送信される。これに応じてテレビの電源がオンになる。２番目の場合は、ＮＬＩＣＳが行うことができないタスクをユーザがＮＬＩＣＳに要求する場合である。例えば、ユーザがテレビに爆発するように要求する場合である。
【００６０】
フィードバックモジュール（例えば、テキスト−音声）２２８は、スピーカを介して可聴メッセージを再生して、要求を行うことができない旨をユーザに知らせるように指令を受ける。なお、フィードバックモジュール２２８は、スピーカ２１４を介して音声信号を再生する代わりに、画面表示で通知を表示するだけでもよい。
【００６１】
３番目の場合、生じた不明瞭さの種類に従って不明瞭さを解決する。このように、自然言語インターフェースモジュール２２２は不明瞭な要求を明確化する。不明瞭さが低信頼性が原因で生じる場合、自然言語インターフェースモジュール２２２はその結論を肯定するようにユーザに要求する。例えば、スピーカ２１４が「Did you mean play the CD?（ＣＤ再生のことですか）」と伝える。あるいは、自然言語インターフェースモジュール２２２は、要求を繰り返すようにユーザに要求する。不明瞭さが選択肢のセットが原因で生じる場合、自然言語インターフェースモジュール２２２は、これらの選択肢、例えば「Did you want to watch a movie on the VCR or the DVD?（ＶＣＲで映画を見たかったのですか、それともＤＶＤですか）」という選択肢をユーザに提示する。不明瞭さが現コンテキストが原因で生じる場合、ユーザはその旨を知らされる。例えば、ユーザは、既に再生しているときにＤＶＤプレーヤの再生を要求する場合である。
【００６２】
最初の２つの不明瞭な場合では、システムは、選択肢のセットを考慮した好みに加えて、決定がなされたときの信頼性を反映するようにユーザプロファイルを調整する。幾つかの実施例において、時間の経過とともに、これらの統計を用いてＰＣＦＧルール及び適切な語彙目録内の入力の順序付けをしなおす。その結果、最も適当な入力が常に早期にチェックされ、これらの適当な入力が高信頼性をもたらすので、より高速でより精度の高いシステムが得られる。
【００６３】
なお、自然言語インターフェースモジュール２２２が要求を明確化するようにフィードバックモジュール２２８に指令を与える場合、例えば、スピーカ２１４が「Did you mean play the CD?（ＣＤ再生のことですか）」と伝える場合、自然言語インターフェースモジュール２２２は、マイクロフォンセット１０８で受信するであろうと予測していることに基づいて、コンテキスト及び文法規則を切り換える。例えば、システムは、「ｙｅｓ」又は「ｎｏ」あるいはその変形を受信するであろうと予測しているコンテキストに切り換える。ユーザが「ｙｅｓ」と答えると、自然言語インターフェースモジュール２２２はコンテキストを元の状態に切り換える。
【００６４】
この場合、コンテキストが変化すると、自然言語インターフェースモジュール２２２は文法を切り換えるように音声認識モジュール２０４に指令を与える。文法は使用される語彙目録をコントロールするので、これにより間接的に語彙目録が変更される。
【００６５】
また、自然言語インターフェースコントロールモジュール２０６は、デバイス抽象化モジュール２２６を備えている。デバイス抽象化モジュール２２６は、各デバイス１１４毎に抽象化を記憶する。この場合、各デバイス１１４についてのコマンドと、各デバイス１１４が操作できるオブジェクトがここに記憶される。また、デバイス抽象化モジュール２２６は、デバイスが取ることができる状態とデバイスが行うことができる動作とに、これらのコントロールを関連付ける。デバイス抽象化モジュール２２６の内容は、リモートユニット１０４に接続された種々のデバイスによって異なる。また、デバイス抽象化モジュール２２６は、別のデバイスを動作するために他のデバイスに対するコマンドを有している。例えば、ユーザがＤＶＤの再生を要求すると、ＤＶＤプレーヤの電源をオンにしてＤＶＤを再生させる指令が出される。さらに、テレビをまだオンになっていない場合、コマンド信号が送られてテレビをオンにする。
【００６６】
デバイス抽象化モジュール２２６に記憶されているコマンドは、デバイスインターフェース２１０を介して、コントロール下の各デバイス１１４に送信される。幾つかの実施例において、デバイスインターフェース２１０はＩＲ又はＲＦインターフェースである。
【００６７】
ＮＬＩＣＳは、このようなＩＲリンクを介してコントロール可能なデバイスであればいずれもコントロールするように構成することができる。デバイス抽象化が特定デバイスを操作するためのコマンドを記憶している限り、そのデバイスは自然言語インターフェースによりコントロールされていることを理解しない。デバイスは単にそのデバイスのリモートコントロール又は汎用リモートコントロールが信号を送ったのだと考える。
【００６８】
システム処理コントローラ２０８は、ＮＬＩＣＳ内の種々のモジュール用のコントローラ及びプロセッサとして動作する。その機能については当該技術分野においてよく知られている。さらに、システム処理コントローラ２０８にはインターフェース２１２が接続されている。これによりベースユニット１０６又はコンピュータへの接続が可能になる。インターフェース２１２は、当該技術分野において知られているように、有線又は無線のいずれの種類のリンクであってもよい。
【００６９】
なお、特徴抽出モジュール２０２、音声認識モジュール２０４、自然言語インターフェースコントロールモジュール２０６等、システムの種々の構成要素は、例えば特定用途向けＩＣ（ＡＳＩＣ）又はデジタル信号プロセッサ（ＤＳＰ）を用いて、ソフトウェア又はファームウェアにより実現してもよい。
【００７０】
次に図３を参照して、本発明のさらに他の実施例に係る、図１の自然言語インターフェースコントロールシステムのベースユニット又はベースステーションの機能ブロック図を示す。図３には、ベースユニット１０６（ベースステーション１０６とも称する）と、リニアマイクロフォンセット１０８を有するリモートユニット１０４が図示されている。ベースユニット１０６は、平面マイクロフォンセット１１０と、周波数局在化モジュール３０２と、タイムサーチモジュール３０４と、リモートインターフェース３０６（インターフェース３０６とも称する）と、外部ネットワークインターフェース３０８と、二次キャッシュ３１０を備えている。リニアマイクロフォンセット１０８と平面マイクロフォンセット１１０を組み合わせて、三次元マイクロフォンセット３１２（３Ｄマイクロフォンセット３１２とも称する）を形成する。また、図３には外部ネットワークインターフェース３０８に接続された外部ネットワーク１１６も図示されている。
【００７１】
動作時において、ベースユニット１０６は、リモートユニット１０４（汎用リモートコントロールと同様）に対するドッキングステーションとされる。ベースユニット１０６は、ＮＬＩＣＳが直接又はホスティング（hosting）されたインターネットポータルを介して、家庭用ＬＡＮ又はインターネット等の外部ネットワーク１１６に対してインターフェースを行うことができるような外部ネットワークインターフェース３０８を備えている。この場合、新たな文法、音声モデル、プログラミング情報、ＩＲコード、抽象化されたデバイス等をベースユニット１０６にダウンロードして、例えば二次キャッシュ３１０に記憶することができる。
【００７２】
さらに、ＮＬＩＣＳ１０２は、その文法、モデル、語彙目録を外部ネットワーク上のリモートサーバに送信して記憶する。このリモートストレージは、他の同様のデバイスにより取り出すことができる情報の保存部となる。この場合、語彙目録が常に最新の発音及び用法により更新されるので、システムが老朽化することはない。このため、複数の自然言語インターフェースコントロールシステムは個々にリモートサーバ内の外部データベースに寄与するので、共同語彙目録及び／又は共同コーパスを構築することが可能になる。
【００７３】
さらに、ＮＬＩＣＳ１０２は、リモートユニット１０４のデバイス抽象化モジュールに対するコマンド信号をダウンロードすることができる。例えば、ユーザが、ＮＬＩＣＳとは異なる製造者により製造されたＩＲリモートコントロールを有する旧式のＶＣＲを操作したい場合を考える。ベースユニット１０６はいずれの数のデバイスについても記憶されたコマンドをダウンロードするだけである。そして、これらのコマンドはデバイス抽象化モジュールに記憶される。また、ＮＬＩＣＳは高信頼性の発声音に関連する特徴ベクトルデータとラベルを共同コーパスに送ることができる。このデータは他のデータと組み合わせて、その後再分配される改良モデルを調整するのに用いることができる。このアプローチは、特徴ベクトルデータとそのラベルを送ることにより共同コーパスに新語を組み込むのに使用することができる。送られた特徴ベクトルデータとラベルは他のデータを組み合わされて、フォワード・バックワードアルゴリズム（forward-backward algorithm）を用いて音声表記的に文書化される。そして、この入力は語彙目録に追加され、再分配することができる。
【００７４】
ベースユニット１０６は平面マイクロフォンセット１１０を備えている。平面マイクロフォンセット１１０とリモートユニット１０４のリニアマイクロフォンセット１０８を組み合わせて、三次元マイクロフォンセット３１２を形成する。両セットとも従来のポイントソース特定マイクロフォンからなる。当該技術分野において知られているように、三次元セットは、まず平面セット（例えば平面マイクロフォンセット１１０）を構成し、その後、平面セットの平面に１つ又は２つのマイクロフォンエレメントを追加することにより構成される。この場合、リニアマイクロフォンセット１０８は追加的な１つ又は２つのエレメントとなる。これによりＮＬＩＣＳ１０２は三次元サーチボリュームを定めることが可能になる。デバイスは、そのボリュームの範囲内の音声エネルギーをサーチするだけである。従って、マイクロフォンセット１０８、１１０は、サーチボリュームの範囲内にポイントを局在化する。サーチボリュームの範囲外の音声エネルギー、背景雑音等は減衰させられ、サーチボリュームの範囲内の音声エネルギーは合計される。実際には、ユーザは種々のデバイスをコントロールするために特定ボリューム範囲内に居る必要がある。例えば、ユーザのリビングルームのソファ付近のボリュームとなるようにサーチボリュームを構成する。
【００７５】
リニアマイクロフォンセット１０８と平面マイクロフォンセット１１０はいずれも、自然言語インターフェースモジュール２２２によりコントロールされている。周波数局在化モジュール３０２とタイムサーチモジュール３０４は、３Ｄマイクロフォンセット１１０に接続されている。タイムサーチモジュール３０４は、リモートインターフェース３０６を介してリモートユニット１０４内の自然言語インターフェースモジュール２２２からのコントロール信号を受信する。タイムサーチモジュール３０４はマイクロフォンにより与えられる時間合わせされたバッファをまとめる。これにより、タイムサーチモジュール３０４は推定ヒットの位置を特定し、ヒットの方向に３Ｄマイクロフォンセット１１０を向けさせるのに役立つ。タイムサーチモジュール３０４の機能については当該技術分野ではよく知られている。
【００７６】
周波数局在化モジュール３０２も自然言語インターフェースモジュール２２２のコントロール下にある。周波数局在化モジュール３０２は、当該技術分野で知られているような局在化アルゴリズム（localization algorithm）を実行する。局在化アルゴリズムは、所定ボリューム範囲内の音声エネルギーを局在化するのに用いられる。この場合、ボリューム範囲内の局在化ポイント以外から発する音声エネルギーは減衰し（位相外れ（out of phase）となり）、局在化ポイント内からの音声エネルギーは合計される（位相が合って（in phase）いる）。従って、局在化では周波数領域の構成的干渉と破壊的干渉を利用している。動作時において、サーチモジュールはアテンションワードの粗いサーチを行うのに使用される。音声エネルギーがしきい値を超える場合、局在化モジュールにより精密なサーチが行われる。精密なサーチにパスすると、その単語は認識及びＮＬＩモジュールに送られる。この粗いサーチから精密なサーチまでは、局在化に伴う処理を低減するのに非常に役立つ。例えば、このような局在化では、エネルギーを周波数領域に変換したり戻したりしなければならないので、非常に多くの計算が必要となる。従って、粗いサーチで多数の推定ヒットを排除することにより、処理が低減される。ＳＲモジュールが推定ヒットをアテンションワードであると識別すると、この推定ヒットは自然言語インターフェースモジュール２２２に送られて分析が行われ、どのアテンションワードが言われたのかが判断される。なお、自然言語インターフェースモジュールのコンテキストは、最初はアテンションワードのコンテキストである。すなわち、システムはシステムを作動させるためのアテンションワードをサーチしている。アテンションワードが見つかると、ＮＬＩＣＳのコンテキストは要求コンテキストに変更させられ、ＮＬＩＣＳに接続されたデバイスにより制限される要求を探索するようになる。
【００７７】
ベースユニット１０６の二次キャッシュは、リモートユニット１０４で使用する二次的モデル、文法及び／又は語彙目録を記憶するのに用いられる。これにより、実行時に二次記憶デバイス又は二次キャッシュ（例えば、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ）から（ストリーム（stream））音声モデル及び文法を読み込むように設計された音声認識モジュールを補完する。データは読み込まれると、いずれの前処理も行わずに直ちに使用することができる。このことはコンテキスト切り換えと効果的に結びつく。文法コンテキスト切り換え特徴に伴い、必要な処理が少なくなるとともに音声認識精度が高くなるが、これに加えて、頻繁に使用されない文法等については、リモートユニット１０４内のメモリを占有せずに、二次キャッシュ３１０に記憶して必要なときに読み出せばよいので、必要なメモリが大幅に低減される。さらに、音声認識精度を高める音声データをより多く使用することができ、また、二次記憶デバイスが種々の方言やなまりについての基本モデルを大量に保持することができるので、話し手に適応するための種々のアプローチを効率的に実施することができる。また、二次キャッシュは外部ネットワーク１１６からダウンロードされるモデル、文法等の記憶デバイスであってもよい。
【００７８】
次に図４を参照して、図１〜図３の自然言語インターフェースコントロールシステムの自然言語インターフェースアルゴリズム（natural language interface algorithm）で行われる各ステップのフローチャートを示す。まず、音声認識モジュール２０４と自然言語インターフェースモジュール２２２が、アテンションワードを探索するコンテキストに初期設定される（ステップ４０２）。これによりＮＬＩＣＳは非プロンプト式のユーザ要求を受け付けることができるようになるが、まず、ユーザ要求が入力されてくることをシステムに通知しなければならない。アテンションワードにより、この作業が行われる。この場合、隠れマルコフモデルの文法及びモデルを用いて、アテンションワードの存在を具体的に識別する。次に、リモートユニットがマイクロフォンセットにて音声データを受信する（ステップ４０４）。音声データは、５０％のオーバラップを用いて１２．８ｍｓｅｃのフレームに分離される。音声データから３８次元特徴ベクトルを取り出す。これらの特徴は、メル周波数ケプストラル係数１〜１２と、ＭＦＣ係数０〜１２の一次及び二次導関数からなる。このように、音声データから特徴ベクトルを作成する（ステップ４０６）。これは特徴抽出モジュール２０２にて行われる。
【００７９】
次に、音声認識モジュール２０４が、入力されてくる特徴ベクトル（自然言語インターフェースにより特定されたもの）に対して音声隠れマルコフモデル（ＨＭＭ）とＮグラムグラマーを適用し、イン・ボキャブラリ（ＩＶ）ビタビ（尤度（likelihood））スコアを取り出す（ステップ４０８）。そして、ＯＯＶイベントのモデル、例えば単音モデルのエルゴードバンク（ergodic bank）を用いて、特徴データの再処理を行い、アウト・オブ・ボキャブラリ（ＯＯＶ）ビタビスコアを取り出す（ステップ４１０）。ＩＶ及びＯＯＶスコアからガーベジスコアを計算する。例えば、ガーベジスコアは［Ｌｎ（ＩＶスコア）−Ｌｎ（ＯＯＶスコア）］／フレーム数に等しい（ステップ４１１）。スコアが低い場合、ガーベジ発声音であることがわかる。Ｎ個の最適文書化テキストストリングとそれに対応するガーベジスコアが、自然言語インターフェースモジュール２２２に送られる（ステップ４１２）。自然言語インターフェースモジュール２２２は、アテンション発声音についてのデバイスコンテキスト情報に加えて確率的コンテキストフリーグラマー（ＰＣＦＧ）ルールセットを用いて、入力ストリングの構文解析を行う（ステップ４１４）。上述のように、自然言語インターフェースモジュール２２２はアテンション方式を必要とする。例えば、ユーザ独自のアテンションワード（Mona）、あるいは許容可能な文法規則と関連した話し手のＩＤを受信する必要がある。
【００８０】
ユーザがシステムの注意を引くと、すなわち、自然言語インターフェースモジュール２２２がアテンションワードを検出すると（ステップ４１６）、自然言語インターフェースモジュールはユーザのアイデンティティを知る。これはユーザに応じてシステムを構成することにより行われる。適切なシステムパラメータを変更するとともに、音声認識モジュール２０４に対して、コマンド及び要求を受け付けるのに適当であり、かつユーザに応じた文法に切り換えるように指示することにより行う。音声認識モジュール２０４は、文法規則及び個々のユーザに応じて語彙目録を変更する。このように、音声認識モジュール２０４と自然言語インターフェースモジュール２２２は、ユーザ要求を探索するようにコンテキストを変更する（ステップ４１８）。また、自然言語インターフェースモジュールは、マイクロフォンセットに対して、環境雑音をうまく排除するため焦点を狭めるように指示する。さらに、高いボリュームで再生を行っているＮＬＩＣＳコントロール下のデバイス（ＴＶ、ＣＤ等）があれば、自然言語インターフェースモジュールはアンプにボリュームを下げるように指示する。そして、自然言語インターフェースモジュール２２２はタイマを開始して、タイムアウト時間が終了するまでユーザの要求を待機する。システムがタイムアウトすると、自然言語インターフェースモジュール２２２は、アテンションワードをサーチするのに適当な音声認識モジュール規則及び語彙目録をリセットすることにより、システムの再構成を行う。また、それらが調整されると、マイクロフォンセットとアンプボリュームがリセットされる。これらのリセットステップはステップ４０２で行われたのと同様である。
【００８１】
ユーザ要求探索のコンテキストに切り換えた（ステップ４１８）後は、このパスでは音声がコントロール下のデバイスのうちの１以上を操作するための要求であること以外は、ステップ４０４〜４１４を繰り返す。
【００８２】
自然言語インターフェースモジュール２２２がユーザ要求を検出すると（ステップ４１６）、すなわち、ユーザ要求（ＰＣＦＧグラマーシステム及びデバイスコンテキストにより決定される）が受信されると、３つの結論のいずれかを引き出す（ステップ４２０、４２２、４２４）。ステップ４２０の場合、ユーザ要求が明確に理解され、自然言語インターフェースモジュールはユーザ要求に応じることができる。従って、自然言語インターフェースモジュール２２２は、抽象化されたデバイスにより示されるように、デバイスインターフェース２１０を介して適切な信号を送ることにより、コマンドを実行する。そして、音声認識モジュール２０４及び自然言語インターフェースコントロールモジュール２０６のコンテキストをアテンションワード探索のコンテキストに切り換えた（ステップ４２６）後、ステップ４０４に進む。
【００８３】
ステップ４２２の場合、ユーザ要求が明確に理解されるが、自然言語インターフェースモジュールはユーザ要求に応じることができない。この場合、ユーザにはその旨が通知され、さらなる指示を出すためにプロンプトを行う。システムは、さらなるユーザ要求を待つかタイムアウトして、ステップ４２６に進む。
【００８４】
ステップ４２４の場合、要求について不明瞭さを解決できず、この場合、自然言語インターフェースモジュール２２２は、例えばフィードバックモジュール２２８及びスピーカ２１４を用いて、ユーザに明確化を要求する。不明瞭さは、生じた不明瞭さの種類に従って解決する。不明瞭さが低信頼性が原因で生じる場合、自然言語インターフェースモジュール２２２はその結論をユーザに対して肯定する（例えば、「Did you mean play the CD?（ＣＤ再生のことですか）」）。ユーザが結論を確認すると、コマンドを実行し、システムがリセットされる（ステップ４２６）。システムは、選択肢のセットを考慮した好みに加えて、決定がなされたときの信頼性を反映するようにユーザプロファイルを調整する。幾つかの実施例において、時間の経過とともに、これらの統計を用いてＰＣＦＧルール及び適切な語彙目録内の入力の順序付けをしなおす。その結果、最も適当な入力が常に早期にチェックされ、これらの適当な入力が高信頼性をもたらすので、より高速でより精度の高いシステムが得られる。
【００８５】
不明瞭さが選択肢のセットが原因で生じる場合、自然言語インターフェースモジュール２２２は、これらの選択肢をユーザに提示する（例えば「Did you want to watch a movie on the DVD player or the VCR?（ＤＶＤプレーヤで映画を見たかったのですか、それともＶＣＲですか）」）。ユーザが与えられたオプションの中から選択すると、自然言語インターフェースモジュール２２２はコマンドを実行し、そうでない場合はシステムがリセットされる（ステップ４２６）。いずれの場合も、上述のようにユーザプロファイルが更新される。
【００８６】
不明瞭さが現コンテキスト（例えば、ユーザがＴＶを停止するように要求するが、ＴＶがオフであるとき）が原因で生じる場合、ユーザはその旨を知らされる。
【００８７】
以上、本発明を具体的な実施例や用例を用いて説明したが、請求の範囲に記載される本発明の主旨を逸脱しない範囲で、当該技術分野の通常の技術者により種々の変更例を行うことができる。
【図１】
2011237811.tif 000004
【図２】
2011237811.tif 000005
【図３】
2011237811.tif 000006
【図４】
2011237811.tif 000007
【手続補正書】
【提出日】平成23年7月20日(2011.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モデル、文法、語彙目録からなる第１のセットを有する第１のコンテキストに基づいて、アテンションワードをサーチし、
上記アテンションワードを見つけると、開放型のユーザ要求をサーチする第２のコンテキストに切り換え、第２のコンテキストは、モデル、文法、語彙目録からなる第２のセットを有することを特徴とする音声認識方法。
【請求項２】
１以上のデバイスの自然言語コントロール方法であって、
開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信し、
上記開放型の自然言語ユーザ要求を受信し、
上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させ、
上記コマンドを上記１以上のデバイスのそれぞれに送信することを特徴とする自然言語コントロール方法。
【請求項３】
さらに、上記アテンションワードを受信した後、開放型の自然言語要求を受信するコンテキストに切り換えることを特徴とする請求の範囲第２項記載の自然言語コントロール方法。
【請求項４】
さらに、上記受信したアテンションワードと上記受信した開放型の自然言語ユーザ要求に音声認識を適用することを特徴とする請求の範囲第２項記載の自然言語コントロール方法。
【請求項５】
上記音声認識の適用では、さらに、上記開放型の自然言語ユーザ要求に隠れマルコフモデルを適用することを特徴とする請求の範囲第４項記載の自然言語コントロール方法。
【請求項６】
上記一致では、確率的コンテキストフリーグラマー（ＰＣＦＧ）ルールを用いて、上記開放型の自然言語ユーザ要求の構文解析を行うことを特徴とする請求の範囲第２項記載の自然言語コントロール方法。
【請求項７】
上記１以上のデバイスのうちのどれに対して、上記開放型の自然言語ユーザ要求が出されているのか判断することを特徴とする請求の範囲第６項記載の自然言語コントロール方法。
【請求項８】
さらに、上記開放型の自然言語ユーザ要求が出されている上記１以上のデバイスのそれぞれに応じて、上記コンテキストを切り換えることを特徴とする請求の範囲第７項記載の自然言語コントロール方法。
【請求項９】
１以上のデバイスをコントロールする自然言語コントロールシステムであって、
開放型の自然言語ユーザ要求が受信されることを示すアテンションワードを受信する手段と、
上記開放型の自然言語ユーザ要求を受信する手段と、
上記開放型の自然言語要求を、上記開放型の自然言語要求に対応する最も適当なコマンドと一致させる手段と
上記コマンドを上記１以上のデバイスのそれぞれに送信する手段を有することを特徴とする自然言語コントロールシステム。