(57)【特許請求の範囲】
【請求項１】
コンピュータ音声認識システムにおける音声データの再呼出しを行う方法であって、
音声オブジェクトと音声コマンドを別個に記憶する音声キャッシュを設けるステップと、
音声オブジェクトと音声コマンドを含む音声イベントを受け取るステップと、
前記受け取った音声イベントを音声認識エンジンによって処理し、ユーザが話したワードを音声オブジェクトと音声コマンドとを含む音声データとして識別するステップと、
前記音声データが、音声オブジェクトまたはコマンドをキャッシュ・エントリするか否かの所定の基準を満たすか否かの判断を行うステップと、
前記音声データが前記所定のエントリ基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュに追加するステップであって、前記少なくとも１つの項目が前記音声データに対応している、ステップと、
前記音声データが、音声をキャッシュ排出するか否かの基準を満たすか否かの判断を行うステップと、
前記音声データが前記所定の排出基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュからパージするステップであって、前記少なくとも１つの項目が前記音声データに対応するステップとを含む、
方法。
【請求項２】
前記エントリ基準が、頻繁に使用される音声データと、最近使用された音声データと、優先順位の高い音声データとに基づくものである、請求項１に記載の方法。
【請求項３】
前記排出基準が、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する優先順位が最低の音声データとに基づくものである、請求項１に記載の方法。
【請求項４】
前記音声イベントがハードウェアまたはソフトウェアにより生成される非音声イベントと音声入力からなるグループから選択される、請求項１に記載の方法。
【請求項５】
ハードウェアまたはソフトウェアにより生成される非音声イベントとそれに対応する音声キャッシュ・コマンドとのテーブルを設定するステップと、
非音声イベントを受け取ったことに応答して前記受け取った非音声イベントを前記テーブル内の非音声イベントと比較するステップと、
前記受け取った非音声イベントが前記テーブル内の非音声イベントと一致する場合に前記テーブル内の前記一致非音声イベントに対応する前記音声キャッシュ・コマンドを実行するステップとをさらに含む、請求項４に記載の方法。
【請求項６】
前記対応する音声キャッシュ・コマンドがパージ・コマンドと追加コマンドとを含む、請求項５に記載の方法。
【請求項７】
前記音声データ用の頻度カウンタを音声オブジェクトと音声コマンドの各々に設定するステップと、
音声イベントを受け取ったことに応答して前記音声オブジェクトと音声コマンドの各々に対応する前記頻度カウンタを各々増分するステップとをさらに含む、請求項１に記載の方法。
【請求項８】
前記判断ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのユーザにより構成可能な規則と照らし合わせて前記音声データを評価することを含み、前記規則が前記音声オブジェクトまたはコマンドの使用頻度に基づくものであり、前記頻度が前記音声データ用に設定された前記頻度カウンタによって測定され、前記頻度カウンタが示す頻度が所定のしきい値を超えていることに応答して前記追加が実行され、前記頻度カウンタが示す頻度が所定のしきい値以下に低下していることに応答して前記削除が実行される、請求項７に記載の方法。
【請求項９】
前記判断ステップが、
システム指定の入力基準および排出基準ならびにユーザ指定のエントリ基準および排出基準に照らし合わせて前記音声データを比較するステップと、
前記ユーザ指定のエントリ基準および排出基準に照らし合わせて行う前記比較によって前記システム指定のエントリ基準および排出基準に照らし合わせて行う前記比較を指定変更するステップとをさらに含む、請求項１に記載の方法。
【請求項１０】
前記音声キャッシュが満杯である時期を感知するステップと、
満杯の音声キャッシュを感知したことに応答して所定のパージ基準に応じて前記音声キャッシュから項目をパージするステップとをさらに含む、請求項１に記載の方法。
【請求項１１】
前記パージ基準のデータが、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する最低の優先順位の音声データとを含む、請求項１０に記載の方法。
【請求項１２】
前記パージ・ステップが、
前記パージ基準に応じてソートした音声キャッシュ項目のリストを表示するステップと、
前記パージ基準に基づいてパージするために選択した前記音声キャッシュ内の項目をパージする前にユーザから確認を受け入れるステップと、
前記確認を受け取ったことに応答して前記選択した音声キャッシュ項目をパージするステップとを含む、請求項１０に記載の方法。
【請求項１３】
前記音声キャッシュ内の少なくとも１つの項目に有効期限データを関連付けるステップと、
前記有効期限データに応じて前記音声キャッシュ内の前記関連項目をパージするステップとをさらに含む、請求項１に記載の方法。
【請求項１４】
前記関連付けステップが、
ユーザ指定有効期限データを受け入れるステップと、
前記音声キャッシュ内の少なくとも１つのユーザ指定項目に前記ユーザ指定有効期限データを関連付けるステップとを含む、請求項１３に記載の方法。
【請求項１５】
前記音声システムが組込みコンピュータ音声システムである、請求項１に記載の方法。
【請求項１６】
音声使用可能アプリケーションであって、前記音声使用可能アプリケーションが音声認識エンジンに結合され、前記音声使用可能アプリケーションと前記音声認識エンジンが音声オブジェクトと音声コマンドを含む音声データを処理するように構成される、音声使用可能アプリケーションと、
前記音声オブジェクトと音声コマンドに対応する項目を別個に記憶するための音声キャッシュと、
所定の、音声キャッシュ・エントリするか否かの基準となるデータおよび排出するか否かの基準となるデータであって、前記エントリ基準となるデータが前記音声オブジェクトまたは音声コマンドに対応する項目を前記音声キャッシュに追加するための規則を指定し、前記排出基準となるデータが前記音声オブジェクトまたは音声コマンドに対応する項目を前記音声キャッシュからパージするための規則を指定する、所定の音声キャッシュ・エントリ基準および排出基準となるデータと、
前記音声オブジェクトまたは音声コマンドを前記所定のエントリ基準および排出基準となるデータと比較するための音声キャッシュ・ロジックであって、前記音声キャッシュ・ロジックが前記所定のエントリ基準を満たす音声データに対応する少なくとも１つの項目を前記音声キャッシュに追加し、前記音声キャッシュ・ロジックが前記所定の排出基準を満たす音声データに対応する少なくとも１つの項目を前記音声キャッシュからパージする、音声キャッシュ・ロジックとを含む、音声システム。
【請求項１７】
前記音声キャッシュが循環キャッシュである、請求項１６に記載の音声システム。
【請求項１８】
前記項目が対応する有効期限データを有する少なくとも１つの項目をさらに含み、前記音声キャッシュ・ロジックが前記有効期限データに応じて対応する有効期限データを有する前記少なくとも１つの項目をパージする、請求項１６に記載の音声システム。
【請求項１９】
前記音声キャッシュ・ロジックが前記音声システム内のハードウェアまたはソフトウェアにより生成された非音声イベントを受け取ることを特徴とする、請求項１８に記載の音声システム。
【請求項２０】
前記音声キャッシュ・ロジックがハードウェアまたはソフトウェアにより生成された非音声イベントと対応する音声キャッシュ・コマンドとのテーブルをさらに含み、前記音声キャッシュ・ロジックが対応する非音声イベントを受け取ったことに応答して音声キャッシュ・コマンドを実行することを特徴とする、請求項１９に記載の音声システム。
【請求項２１】
前記所定のエントリ基準および排出基準となる所定のデータが、音声キャッシュ・コマンドと、前記音声オブジェクトまたは音声コマンドの使用頻度と、前記音声オブジェクトまたは音声コマンドが最近いつ使用されたかと、前記音声オブジェクトと音声コマンドの優先順位を含む、請求項１６に記載の音声システム。
【請求項２２】
前記音声キャッシュ・コマンドが追加コマンドとパージ・コマンドとを含む、請求項２１に記載の音声システム。
【請求項２３】
所定のパージ基準をさらに含み、前記音声キャッシュ・ロジックが前記パージ・コマンドを受け取ったことに応答して前記パージ基準に応じて前記音声キャッシュ内の項目をパージする、請求項２２に記載の音声システム。
【請求項２４】
前記所定のパージ基準となるデータが、前記音声キャッシュ内の前記項目に対応する前記音声オブジェクトまたは音声コマンドの使用頻度と、前記音声キャッシュ内の前記項目に対応する前記音声オブジェクトまたは音声コマンドが最近いつ使用されたかと、前記音声キャッシュ内の前記項目に対応する前記音声オブジェクトまたは音声コマンドの優先順位とを含む、請求項２３に記載の音声システム。
【請求項２５】
前記パージ基準に基づいてパージするために選択した前記音声キャッシュ内の項目のリストをユーザに対して表示するためのディスプレイと、
前記選択した項目をパージする前に前記パージ・コマンドを確認するための手段とをさらに含む、請求項２３に記載の音声システム。
【請求項２６】
前記音声キャッシュ・ロジックが、所定のフィルタリング基準となるデータに応じて前記キャッシュ内の前記項目をソートするためのフィルタリング・ロジックをさらに含む、請求項１６に記載の音声システム。
【請求項２７】
前記フィルタリング基準となるデータが、前記項目に対応する前記音声オブジェクトまたは音声コマンドの使用頻度と、前記項目に対応する前記音声オブジェクトまたは音声コマンドが最近いつ使用されたかと、前記項目に対応する前記音声オブジェクトと音声コマンドの優先順位とを含む、請求項２６に記載の音声システム。
【請求項２８】
前記音声キャッシュ・ロジックが特定の音声オブジェクトまたは音声コマンドに対応する少なくとも１つの増分可能頻度カウンタをさらに含み、前記音声キャッシュ・ロジックが前記音声システムから前記特定の音声オブジェクトまたは音声コマンドのインスタンスを受け取ったことに応答して前記頻度カウンタが増分され、前記特定の音声データの前記使用頻度が前記頻度カウンタによって示される、請求項２１に記載の音声システム。
【請求項２９】
前記音声システムが車両内で使用されることを特徴とする、請求項１６に記載の音声システム。
【請求項３０】
前記音声システムが車両ナビゲーション・システムで使用されることを特徴とする、請求項１６に記載の音声システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声認識ソフトウェアの分野に関し、より詳細には音声認識アプリケーションとともに音声キャッシュを使用してシステム・パフォーマンスを改善することに関する。
【０００２】
【従来の技術】
音声認識は、マイクロホンによって受け取られた音響信号がコンピュータによって１組のテキスト・ワードに変換されるプロセスである。このように認識されたワードは、文書作成、データ入力、コマンドおよび制御などのために様々なコンピュータ・ソフトウェア・アプリケーションで使用することができる。音声口述システムの改良により、ユーザの生産性を高めるための重要な方法が得られる。
【０００３】
音声認識アプリケーションの中には、属性の助けを借りずにワードまたはワード・フレーズを識別してユーザが話した発語を認識できないものがある。これは特に、自動車のナビゲーション・システムに使用する種類など、語彙が限定された組込み音声認識アプリケーションに当てはまることである。属性は、ユーザが話した発語について詳述する補足情報を音声認識システムに提供する。このような音声認識システムがユーザが話した発語を認識するために、ユーザは長い一連の属性も発行しなければならない場合が多い。たとえば、「ローラ・コースタ・ワールド」という音声オブジェクトともに「どのくらいの距離か」などの音声コマンドとして認識されるフレーズをユーザが発した場合、システムは、音声コマンド内のオブジェクトを識別する属性を要求する可能性がある。この場合、「ローラ・コースタ・ワールド」というオブジェクトを音声認識システムに対して適切に識別させるために、「米国」、「フロリダ」、「オーランド」、「ローラ・コースタ・ワールドという名前の遊園地」などの属性が必要になる可能性がある。属性を使用して音声コマンド内の音声オブジェクトを特定することは、特定のコンピュータ・ファイルを見つけるために複数のコンピュータ・ディレクトリからなるシステム内を移動することに類似させることができる。
【０００４】
ユーザが同じ音声コマンドを繰り返し発行するかまたは同じオブジェクトを含む一連の後続音声コマンドを発行する場合は、さらに面倒である。このような状況は一般に、ユーザが休暇のために遠隔地までドライブする場合に発生する。従来のシステムは、前に発行した音声コマンド、オブジェクト、または属性を記憶しない。したがって、前に識別したオブジェクトに関する音声コマンドをユーザが発行するたびに、ユーザは、そのオブジェクトを識別する前述の属性もシステムに提供しなければならない。たとえば、「ローラ・コースタ・ワールド」までの距離またはルートなどの情報を要求する各ユーザ・コマンドは、システムに対して「ローラ・コースタ・ワールド」を識別させる属性からなる長いリストを伴わなければならない。語彙が限られた音声認識システムが、前に使用したコマンドまたはオブジェクトをより効率的に再呼出しできるのであれば、相当な量の時間および効率が得られるだろう。
【０００５】
【発明が解決しようとする課題】
音声システムのシステム・パフォーマンスを改善するためにここに開示する本発明は、認識システムとともに音声キャッシュおよび音声キャッシュ・ロジックを使用することにより、従来技術において長年必要とされていたことを満足するものである。このような音声システムは、音声キャッシュから特定のオブジェクトまたは音声コマンドを再呼出しすることができ、それにより、ユーザが音声オブジェクトを適切に記述するために音声システムに対して継続的に冗長な属性を発行する必要性がなくなる。音声システムは１組のコマンドまたはオブジェクトを頻繁に使用するので、キャッシュは、メモリ・システム全体をより高速にするという犠牲にたよる必要なしに、統計手段を使用してメモリ・システムを強化するための費用効果の高い方法である。
【０００６】
【課題を解決するための手段】
本発明は、コンピュータ音声システムにおける音声データの再呼出しを改善するための方法およびシステムに関する。重要なことに、この音声システムは組込みコンピュータ音声システムにすることができる。本発明の方法は、音声キャッシュを設けるステップと、音声システム入力を受け取るステップと、受け取った音声システム入力内の音声イベントを識別するステップであって、その音声イベントが音声データを含むステップとを含む、複数の音声キャッシュ管理ステップを含む。その後、その音声データを所定の音声キャッシュ・エントリ基準と比較することができ、その音声データが所定のエントリ基準の１つを満たす場合、少なくとも１つの項目を音声キャッシュに追加することができ、その少なくとも１つの項目はその音声データに対応する。さらに、その音声データを所定の音声キャッシュ排出基準と比較することができ、その音声データが所定の排出基準の１つを満たす場合、少なくとも１つの項目を音声キャッシュからパージすることができ、その少なくとも１つの項目はその音声データに対応する。
【０００７】
好ましい実施形態では、エントリ基準は、頻繁に使用される音声データと、最近使用された音声データと、重要音声データとを含む。同様に、排出基準は、音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、音声キャッシュ内の各項目に関連する最長時間未使用音声データと、音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含むことができる。
【０００８】
本発明の方法は、音声キャッシュ・フィルタリング・プロセスも含むことができる。具体的には、音声キャッシュ・フィルタリングを組み込む一実施形態は、音声キャッシュ内の項目をフィルタリング基準と比較することができ、そのフィルタリング基準に応じて項目をソートすることができる。フィルタリング基準は、音声キャッシュ内の各項目に関連する音声データの使用頻度と、音声キャッシュ内の各項目に関連する音声データの最長未使用時間と、音声キャッシュ内の各項目に関連する音声データの使用重要度とを含むことができる。
【０００９】
好ましい実施形態では、音声システム入力は、システム・イベントと音声イベントのうちの一方にすることができる。システム・イベントに対処するため、本発明の方法はさらに、システム・イベントとそれに対応する音声キャッシュ・コマンドとのテーブルを確立することができる。システム・イベントを受け取ったことに応答して、受け取ったシステム・イベントをテーブル内のシステム・イベントと比較することができる。受け取ったシステム・イベントがテーブル内のシステム・イベントと一致する場合、テーブル内の一致システム・イベントに対応する音声キャッシュ・コマンドを実行することができる。特に、対応する音声キャッシュ・コマンドとしては、パージ・コマンドと追加コマンドを含むことができる。
【００１０】
好ましい実施形態では、比較ステップは、音声データに対応する項目を音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて音声システム入力を評価することを含むことができ、その規則は音声データの使用頻度と、音声データが最近いつ使用されたかと、音声データの使用重要度に基づくものである。同様に、比較ステップは、音声データに対応する項目を音声キャッシュに対して追加および削除するためのシステム構成規則と照らし合わせて音声システム入力を評価するステップを含むことができ、その規則は事前指定の音声データ・リストに基づくものである。重要なことに、システム指定のエントリ基準および排出基準に照らし合わせて行う比較は、ユーザ指定のエントリ基準および排出基準に照らし合わせて行う比較によって指定変更することができる。
【００１１】
好ましい一実施形態では、本発明の方法は、音声データ用の頻度カウンタを確立することをさらに含むことができる。音声イベントを受け取ったことに応答して、その音声データに対応する頻度カウンタを増分することができる。したがって、比較ステップは、音声データに対応する項目を音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて音声システム入力を評価することを含むことができ、その規則は音声データの使用頻度に基づくものである。その場合、頻度は、音声データ用に確立された頻度カウンタによって測定することができる。そのうえ、頻度カウンタが示す頻度が所定のしきい値を超えていることに応答して、追加ステップを実行することができる。同様に、頻度カウンタが示す頻度が所定のしきい値以下に低下していることに応答して、削除ステップを実行することができる。
【００１２】
有利なことに、この方法は、音声キャッシュが満杯である時期を感知するステップと、満杯の音声キャッシュを感知したことに応答して、所定のパージ基準に応じて音声キャッシュから項目をパージするステップとをさらに含むことができる。特に、排出基準と同様に、パージ基準は、音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、音声キャッシュ内の各項目に関連する最長時間未使用音声データと、音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含むことができる。パージ・ステップは、パージ基準に応じてソートした音声キャッシュ項目のリストを表示するステップと、パージ基準に基づいてパージするために選択した音声キャッシュ内の項目をパージする前にユーザから確認を受け入れるステップと、確認を受け取ったことに応答して、選択した音声キャッシュ項目をパージするステップとを含む。
【００１３】
最後に、本発明の一代替実施形態では、この方法は、音声キャッシュ内の少なくとも１つの項目に有効期限データを関連付けるステップと、その有効期限データに応じて音声キャッシュ内の関連項目をパージするステップとを含むことができる。この代替実施形態では、関連付けステップは、ユーザ指定有効期限データを受け入れるステップと、音声キャッシュ内の少なくとも１つのユーザ指定項目にそのユーザ指定有効期限データを関連付けるステップとを含むことができる。
【００１４】
第２の態様によれば、本発明は、音声キャッシュを管理するためのコンピュータ音声システムにすることができる。重要なことに、この音声システムは車両内で使用するために適合させることができる。そのうえ、この音声システムは車両のナビゲーション・システムで使用するために適合させることができる。本発明の第２の態様のシステムは音声使用可能アプリケーションを含むことができ、音声使用可能アプリケーションは音声認識エンジンに結合され、音声使用可能アプリケーションと音声認識エンジンは音声データを処理するように構成される。その音声データに対応する項目と、所定の音声キャッシュ・エントリ基準および排出基準とを記憶するための音声キャッシュも含まれる。エントリ基準は、音声データに対応する項目を音声キャッシュに追加するための規則を指定する。同様に、排出基準は、音声データに対応する項目を音声キャッシュからパージするための規則を指定する。最後に、このシステムは、その音声データを所定のエントリ基準および排出基準と比較するための音声キャッシュ・ロジックを含むことができる。この音声キャッシュ・ロジックは、所定のエントリ基準を満たす音声データに対応する少なくとも１つの項目を音声キャッシュに追加することができる。同様に、この音声キャッシュ・ロジックは、所定の排出基準を満たす音声データに対応する少なくとも１つの項目を音声キャッシュからパージすることができる。
【００１５】
好ましい実施形態では、音声キャッシュは循環キャッシュである。そのうえ、音声キャッシュ内の項目は、音声コマンドと、音声オブジェクトと、音声コマンドを指し示すポインタと、音声オブジェクトを指し示すポインタとを含む。この項目は、対応する有効期限データを有する少なくとも１つの項目をさらに含むことができる。その場合、音声キャッシュ・ロジックは、有効期限データに応じて、対応する有効期限データを有する少なくとも１つの項目をパージすることができる。
【００１６】
好ましい実施形態では、音声キャッシュ・ロジックは、音声システム内のシステム・イベントを受け取るように適合されている。音声キャッシュ・ロジックは、システム・イベントと対応する音声キャッシュ・コマンドとのテーブルをさらに含むことができる。また、音声キャッシュ・ロジックは、対応するシステム・イベントを受け取ったことに応答して音声キャッシュ・コマンドを実行するように適合させることができる。特に、所定のエントリ基準および排出基準としては、音声キャッシュ・コマンドと、音声データの使用頻度と、音声データが最近いつ使用されたかと、音声データの使用重要度を含むことができる。そのうえ、音声キャッシュ・コマンドとしては、追加コマンドとパージ・コマンドを含むことができる。
【００１７】
このシステムは、所定のパージ基準をさらに含むことができる。システムがパージ基準を含む場合、音声キャッシュ・ロジックは、パージ・コマンドを受け取ったことに応答して、そのパージ基準に応じて音声キャッシュ内の項目をパージすることができる。所定の排出基準と同様に、所定のパージ基準は、音声キャッシュ内の項目に対応する音声データの使用頻度と、音声キャッシュ内の項目に対応する音声データが最近いつ使用されたかと、音声キャッシュ内の項目に対応する音声データの使用重要度とを含むことができる。最後に、パージ基準を組み込む本発明の配置によるシステムは、パージ基準に基づいてパージするために選択した音声キャッシュ内の項目のリストをユーザに対して表示するためのディスプレイをさらに含むことができる。このため、このシステムは、選択した項目をパージする前にパージ・コマンドを確認することができる。
【００１８】
音声キャッシュ・ロジックは、所定のフィルタリング基準に応じてキャッシュ内の項目をソートするためのフィルタリング・ロジックをさらに含むことができる。エントリ基準と同様に、フィルタリング基準は、その項目に対応する音声データの使用頻度と、その項目に対応する音声データが最近いつ使用されたかと、その項目に対応する音声データの使用重要度とを含むことができる。特に、好ましい実施形態では、音声キャッシュ・ロジックは、特定の音声データに対応する少なくとも１つの増分可能頻度カウンタをさらに含むことができる。その結果として、特定の音声データの使用頻度は頻度カウンタによって示すことができる。好ましい実施形態では、音声キャッシュ・ロジックが音声システムから特定の音声データのインスタンスを受け取ったことに応答して、頻度カウンタを増分することができる。
【００１９】
第３の態様によれば、本発明は、本発明の上記の方法を機械に実行させるために、機械によって実行可能な複数のコード・セクションを有するコンピュータ・プログラムがその上に記憶された機械可読記憶域を含むことができる。
【００２０】
【発明の実施の形態】
本発明の配置による音声システムは、音声認識エンジンと、音声キャッシュ・ロジックと、１つまたは複数のメモリ・キャッシュとを結合することができる。音声キャッシュおよび音声認識エンジンとともに動作する音声キャッシュ・ロジックは、音声キャッシュに音声データを記憶することができる。音声キャッシュ・ロジックに含まれるキャッシュ・エントリ基準は、特定の音声データに関連する項目が音声キャッシュに記憶される時期を決定することができる。同様に、音声キャッシュ・ロジックに含まれるキャッシュ排出基準は、特定の音声データに関連する項目が音声キャッシュから除去される時期を決定することができる。
【００２１】
音声キャッシュに記憶可能な音声データとしては、音声コマンド、音声オブジェクト、音声オブジェクトの属性を含むことができる。音声オブジェクトは、音声システムによって認識可能であり、それに関して音声システムが検索可能データを持っている宛先、位置、名詞、その他のワードを表すことができる。比較すると、音声コマンドは、音声認識エンジンによって認識可能な命令であって、音声コマンドとともにユーザが指定した音声オブジェクトに基づいて値の計算、機能の実行、ユーザ指定データの検索を行うよう音声システムに指示するための命令にすることができる。
【００２２】
本発明は、特に組込み音声システムに応用できる。特に、組込み音声システム内の音声オブジェクトおよび音声コマンドは、入れ子式構造、たとえばメニュー階層によりアクセスすることができる。その結果、一般に、組込み音声システムのユーザは、そのユーザが特定の音声オブジェクトまたは音声コマンドを指定するたびに、メニュー階層を音声でスキャンすることを強要される。しかし、本発明による組込み音声システムは、音声キャッシュから特定の音声オブジェクトまたは音声コマンドを再呼出しすることができ、それにより、音声オブジェクトまたは音声コマンドを適切に指定するために組込み音声システムのユーザが組込み音声システム内のメニュー階層を繰り返し音声でスキャンする必要性がなくなる。このため、組込み音声システムは複数の音声オブジェクトおよび音声コマンドからなる離散セットを含む場合が多いので、本発明の配置による音声キャッシュは、ユーザが音声オブジェクトまたは音声コマンドを指定できる速度を増強するための費用効果の高いメカニズムにすることができる。
【００２３】
図１は、本発明とともに使用するための典型的な組込みコンピュータ・システム１を示している。組込みコンピュータ・システム１は好ましくは、中央演算処理装置（ＣＰＵ）１１と、ランダム・アクセス・メモリ（ＲＡＭ）１３、キャッシュ・メモリ１４、固定記憶装置１２を含む１つまたは複数のメモリ装置からなる。ＣＰＵは、当業者には周知の通り、適当なマイクロプロセッサまたはその他の電子処理ユニットから構成することができる。このようなＣＰＵの一例としては、Ｉｎｔｅｌ（登録商標）より入手可能なＰｅｎｔｉｕｍ（登録商標）ＩＩＩマイクロプロセッサ、ニューヨーク州アーモンクのＩＢＭ社より入手可能なＰｏｗｅｒＰＣマイクロプロセッサ、カリフォルニア州サニーヴェールのＡＭＤ社より入手可能なＡｔｈｌｏｎマイクロプロセッサ、英国ケンブリッジのＡＲＭ社より入手可能なＳｔｒｏｎｇＡＲＭプロセッサ、または同様のマイクロプロセッサを含むことになるだろう。
【００２４】
好ましくは、組込みコンピュータ・システム１は、ビデオ・ディスプレイ・ユニット１９と、そのビデオ・ディスプレイ・ユニット１９上に可視出力を提供するための対応ビデオ・ディスプレイ・インタフェース１８とを含むことができる。組込みコンピュータ・システム１とともに制御入力装置、たとえばキーボードまたはマウス（図示せず）を含むことができるが、どちらも本発明の動作には不要である。むしろ、組込みコンピュータ・システム１はビデオ・ディスプレイ・ユニット１９上のタッチ画面オーバーレーまたはオーディオ・ユーザ・インタフェースのいずれかによって制御することができる。
【００２５】
オーディオ・ユーザ・インタフェースは、オーディオ入出力のための手段および適当なオーディオ処理コンポーネントを含むことができる。好ましい実施形態では、音声インタフェースは、オーディオ入出力を処理するためのオーディオ・インタフェース回路１５、たとえばサウンド・ボードを含むことができる。また、音声インタフェースは、オーディオ入力を受け取るためのマイクロホン１７と、オーディオ出力を提供するためのスピーカ１６とを含むこともできる。
【００２６】
音声システム内のキャッシュ・メモリは、以下、音声キャッシュと呼ぶが、より大型のメモリ・システム内で前にアクセスされたデータを選択的に記憶可能な小型の個別メモリ・システムにすることができる。特に、音声キャッシュは、１つの大型キャッシュまたは複数の小型独立キャッシュから構成することができる。このキャッシュは、ダイナミック・メモリまたは固定メモリのいずれかで実現することができる。いずれの場合も、このキャッシュは任意の適当なデータ構造、たとえば、リスト、アレイ、ツリー、またはテーブルにすることができる。そのうえ、音声キャッシュは、音声キャッシュとして使用するために正規メモリの一部分がメイン・メモリから区分される循環キャッシュとして実現することができる。
【００２７】
従来のキャッシュ・アーキテクチャでは、ＣＰＵが読取り動作を実行するときに、キャッシュ・ロジックはキャッシュを検査して、要求されたデータがキャッシュに記憶されているかどうかを判定することができる。記憶されている場合、キャッシュは、より低速のメイン・メモリにさらにアクセスすることをＣＰＵに強要せずに要求されたデータをＣＰＵに都合良く提供することができる。しかし、要求されたデータがキャッシュ内に存在しない場合、ＣＰＵは、要求されたデータをより低速のメイン・メモリから検索することができる。その後、キャッシュ・ロジックは、検索したデータのコピーをキャッシュに記憶することができる。したがって、要求されたデータがキャッシュ内に常駐するときに、その後のデータの再呼出しがより高速になる。
【００２８】
重要なことに、データを記憶するためにキャッシュが有する容量は限られている。このため、キャッシュの動作から明らかなように、キャッシュが大きければ大きいほど、より多くの命令およびデータをキャッシュは記憶することができ、要求された項目がキャッシュ内に存在する可能性も高くなる。しかし、高速キャッシュのサイズ制限により、キャッシュからデータをパージ（追い出す）するためのロジックが必要になる。具体的には、キャッシュが満杯になったときに、キャッシュ・ロジックはキャッシュ内の選択されたデータを廃棄することができる。特に、キャッシュ内のデータを廃棄するための選択戦略は構成可能な優先順位に応じて様々になる可能性がある。一例として、典型的なキャッシュ・アーキテクチャは、キャッシュにすでに記憶されているが最近アクセスされていない古いデータを廃棄することができる。別法として、最もアクセス頻度が低いデータを廃棄することができる。最後に、所定のしきい値を超えるデータ・サイズを有するデータを廃棄することができる。それにもかかわらず、本発明はパージ・アルゴリズムに関しては制限されない。むしろ、どのようなパージ・アルゴリズムでも十分である可能性がある。
【００２９】
本明細書に記載する組込みコンピュータ・システム１に関する様々なハードウェア要件は一般に、メリーランド州コロンビアのApplied Data Systems、カリフォルニア州グレンデールのＭｉｃｒｏ／Ｓｙｓ、カリフォルニア州パロアルトのHewlett-Packard社などのメーカによって提供される多くの市販の高速組込みコンピュータ・システムのいずれでも満足することができる。依然として、本発明はこの点に関しては制限されない。むしろ、本発明は上記のコンポーネントを有する適当な組込みコンピュータ・システムで機能することができる。そのうえ、本発明は、パーソナル・コンピュータ・セッティングで同様に効果的に機能することができ、その場合、パーソナル・コンピュータは、市販の高速マルチメディア・パソコンのいずれか、たとえば、ニューヨーク州アーモンクのＩＢＭによって製造されたマルチメディア・コンピュータにすることができる。
【００３０】
図２は、図１に示す組込みコンピュータ・システム１内の音声キャッシュ・ロジックを組み込む音声システム用の典型的なアーキテクチャを示している。図２に示すように、このアーキテクチャは、オペレーティング・システム２０と、音声認識エンジン２２と、音声キャッシュ・ロジック１００とを含むことができる。図示の例には、音声使用可能アプリケーション２１、たとえば音声使用可能車両ナビゲーション・プログラムも用意されている。しかし、本発明はこの点に関しては制限されておらず、音声認識エンジン２２は音声使用可能にすべき他のどのアプリケーション・プログラムでも使用することができる。
【００３１】
図２では、音声認識エンジン２２、音声使用可能アプリケーション２１、音声キャッシュ・ロジック１００は別々のアプリケーション・プログラムとして示されている。しかし、本発明はこの点に関しては制限されておらず、これらの様々なアプリケーション・プログラムは単一でより複雑なアプリケーション・プログラムとして実現可能であることに留意されたい。たとえば、音声認識エンジン２２は、音声使用可能アプリケーション２１または音声キャッシュ・ロジック１００と結合することができるだろう。
【００３２】
本明細書で論ずる好ましい一実施形態では、オペレーティング・システム２０は、ワシントン州レドモントのＭｉｃｒｏｓｏｆｔ社から入手可能なＷｉｎｄｏｗｓ  ＮＴ（登録商標）、Ｗｉｎｄｏｗｓ  ９８（登録商標）、またはＷｉｎｄｏｗｓ  ＣＥ（登録商標）などのＷｉｎｄｏｗｓ（登録商標）系列のオペレーティング・システムの１つである。しかし、このシステムはこの点に関しては制限されておらず、本発明は他のどのタイプのコンピュータ・オペレーティング・システム、たとえば、カリフォルニア州サンタクララのＰａｌｍ社から入手可能なＰａｌｍＯＳでも使用することができる。本明細書で開示するシステムは、前述のオペレーティング・システム用の市販の開発ツールを使用してプログラマによって実現することができる。
【００３３】
図２に示すように、組込みコンピュータ・システム１は、ランダム・アクセス・メモリ（ＲＡＭ）１３と、ハード・ディスク・ドライブ（ＨＤＤ）などの固定記憶装置１２と、音声キャッシュ１４とを含む。図１および図２は音声キャッシュ１４とは別の物としてＲＡＭ１３を示しているが、別法として、ＲＡＭ１３を区分してＲＡＭ１３内に音声キャッシュ１４を形成することができる。オペレーティング・システム２０、音声認識エンジン２２、音声使用可能アプリケーション２１、音声キャッシュ・ロジック１００のそれぞれは、固定記憶装置１２に永続的に記憶することができる。ブートストラップ時に組込みコンピュータ・システム１は、ＲＡＭ１３にオペレーティング・システム２０をロードすることができる。次にオペレーティング・システム２０により、音声認識エンジン２２、音声使用可能アプリケーション２１、音声キャッシュ・ロジック１００のそれぞれを実行させることができる。実行時に、音声認識エンジン２２、音声使用可能アプリケーション２１、音声キャッシュ・ロジック１００のそれぞれをＲＡＭにロードすることができるとともに、そこに組み込まれた各機械命令をＣＰＵ１１によって実行することができる。
【００３４】
動作時に、マイクロホン１７で受け取った音声を表すオーディオ信号は、ディジタル化形式でオペレーティング・システム２０にとって使用可能なものになるように、オーディオ・インタフェース１５に含まれる従来のオーディオ回路を使用して組込みコンピュータ・システム１内で処理される。オペレーティング・システム２０が受け取った処理済みオーディオ信号は、音声認識機能を実行するために、通常通り、音声認識エンジン２２に供給される。従来の音声認識システムと同様に、オーディオ信号は音声認識エンジン２２によって処理され、マイクロホン１７に向かってユーザが話したワードを識別する。識別されたワードはその後、その動作に使用するために音声データとして音声使用可能アプリケーション２１に供給することができる。音声認識済みワードの例示的な使用法としては、オーディオ・コマンドおよび制御またはデータ入力を含むことができる。
【００３５】
音声データを受け取り次第、音声使用可能アプリケーション２１は、さらに処理するために音声データを音声キャッシュ・ロジック１００にサブミットすることができる。特に、音声キャッシュ・ロジック１００は、音声データをエントリ基準に提示し、音声データに対応する項目を音声キャッシュに追加すべきかどうかを判定することができる。このように実行する際に音声キャッシュ・ロジックは、音声キャッシュをさらに検査して、音声キャッシュ内の項目がある場合にそれを音声キャッシュからパージすべきかどうかを判定することができる。
【００３６】
図３ないし図６は、まとめて考慮すると、音声システム内の音声キャッシュを管理する方法を示す流れ図である。一般に、本明細書に開示する本発明は、音声イベントと呼ばれるユーザ発語の形式の入力に対して応答することができる。さらに、本発明は、システム・イベント、たとえば、ハードウェアまたはソフトウェア・イベントに対して応答することができる。その結果として本発明は、受け取った入力が音声イベントであるか、ハードウェア・イベントであるか、ソフトウェア・イベントであるかを識別することができる。ソフトウェア・イベントはソフトウェア生成イベント、たとえば、音声キャッシュが満杯であることを示す音声キャッシュ・ロジックからの指示にすることができ、ハードウェア・イベントはハードウェア生成イベント、たとえば、エンジンが切られたことを示す自動車からの指示にすることができる。
【００３７】
本発明の方法は、音声キャッシュに対して１回または複数回の追加を実行すべきか、音声キャッシュから１回または複数回の削除を実行すべきかを判定するために、その入力を音声キャッシュ・エントリ基準および排出基準と比較することができる。そのうえ、本発明の配置による音声システムは、音声キャッシュをフィルタリングして、構成可能な基準に応じて音声キャッシュ内の音声項目の順序を付け直すことができる。別法として、本発明の配置による音声システムは、音声キャッシュをフィルタリングして、音声キャッシュ内の音声項目の優先順位付けを行うことができる。
【００３８】
図３では、本発明の配置による方法はステップ５０から始まる。ステップ５０で音声キャッシュ・ロジック１００は、音声認識エンジン２２、オペレーティング・システム２０、または音声使用可能アプリケーション２１から入力を受け取るまで、連続ループに入る。たとえば、音声認識エンジンまたはオペレーティング・システム２０から受け取った入力の場合、その入力はソフトウェアまたはハードウェアを介して生成された可能性がある。音声使用可能アプリケーション２１から受け取った入力の場合、その入力はユーザから生成された可能性がある。ステップ５０でシステムが入力を受け取った場合、システムはステップ５２に継続する。入力を受け取らない場合、システムは、ステップ５０で入力を受け取るまでアイドル状態のままになる。
【００３９】
ステップ５２で音声キャッシュ・ロジック１００は、ステップ５０で受け取った入力が音声イベントであるかどうかを判定することができ、その音声イベントは、音声オブジェクト、音声オブジェクトの属性、音声コマンド、無関係のワード、またはそれらの組合せを含む、ユーザが話した発語である。このような状況において、音声オブジェクトは、音声システムが認識し、検索可能データを有する宛先、位置、名詞、その他のワードを表すことができる。音声コマンドは、音声コマンドとともにユーザが指定した音声オブジェクトに基づいて値の計算、機能の実行、ユーザ指定データの検索を行うための命令にすることができる。音声オブジェクト、音声オブジェクトの属性、音声コマンド、音声コマンドと音声オブジェクトとの間の無関係のワード、またはそれらの組合せとして音声システムによって認識されないユーザ発語は、音声キャッシュ・ロジック１００によって無視することができ、音声イベントと見なされない場合もある。
【００４０】
音声イベントの一例としては、「ローラ・コースタ・ワールドまでどのくらいの距離か」にすることができる。音声システムはこの音声イベント内で「ローラ・コースタ・ワールド」という音声オブジェクトと、「どのくらいの距離か」という音声コマンドを識別することができる。音声コマンドはさらに、情報を求めるユーザ要求、音声キャッシュに項目を追加するためのユーザ要求、または音声キャッシュから項目を除去するためのユーザ要求にできることを理解されたい。さらに、音声コマンドおよび音声オブジェクトに加えて無関係のワードを含む、ユーザが話した発語も、この音声システムによって認識し実行することができる。たとえば、「ローラ・コースタ・ワールドまでどのくらいの距離か」というユーザが話した発語内の「まで」というワードは、ユーザ指定音声コマンドを実行するために不要な無関係のワードとして音声システムが認識することができる。しかし、音声システムはユーザ発語を構文解析し、その発語をそのコンポーネント部分、この場合は音声オブジェクト、音声コマンド、無視すべき無関係のワードに分解することができる。この特徴により、音声システムはよりユーザ・フレンドリなものになり、それにより、厳密なコマンド構文のみの場合とは対照的に、音声システムが自然言語構文をより密接に反映できるようになる。いずれの場合でも、ステップ５０で受け取った入力が音声イベントである場合、ステップ５２で音声キャッシュ・ロジック１００はステップ５４に移行する。音声イベントではない場合、音声キャッシュ・ロジック１００はステップ５８に移行する。
【００４１】
ステップ５４を続行し、そこで入力が音声イベントであると判定された場合、音声キャッシュ・ロジック１００は、ステップ５０で受け取った特定の音声イベントに関連する頻度カウンタを更新する。具体的には、音声キャッシュ・ロジック１００は、各音声コマンドおよび音声オブジェクトに１つの頻度カウンタを割り当てることができる。音声キャッシュ・ロジック１００は、各音声イベントに含まれる音声オブジェクトが異なるので、「ローラ・コースタ・ワールドまでどのくらいの距離か」という音声イベントが「オーランドまでどのくらいの距離か」という音声イベントとは異なるものであると見なすことができることを理解されたい。その結果、各音声コマンドおよび各音声オブジェクトには固有の頻度カウンタを割り当てることができる。
【００４２】
頻度カウンタは、システムが受け取った各特定の音声コマンドおよび音声オブジェクトに関連する数値を記憶するためのメモリ位置を使用して実現することができる。この数値は、音声キャッシュ・ロジック１００が各特定の音声コマンドおよび音声オブジェクトを受け取った回数を表すことができ、したがって、各音声イベントを含むコンポーネントに関する頻度値を表すことができる。音声キャッシュ・ロジック１００が使用する頻度カウンタの数に対する制約は、使用可能なコンピュータ・メモリの量のみであることを理解されたい。特定の音声コマンドを受け取るたびに、音声コマンドの対応頻度カウンタを増分することができる。たとえば、音声キャッシュ・ロジック１００がステップ５０で受け取った入力から「ローラ・コースタ・ワールドまでどのくらいの距離か」という音声イベントを識別した場合、音声キャッシュ・ロジック１００は、「どのくらいの距離か」という音声コマンドに関連する頻度カウンタと、「ローラ・コースタ・ワールド」という音声オブジェクトに関連する頻度カウンタの両方を１ずつ増分することができる。
【００４３】
ステップ５４から図３のジャンプ・サークルＡにさらに図４のジャンプ・サークルＡに継続すると、音声キャッシュ・ロジック１００は、音声イベントが音声キャッシュに対して項目を追加するかまたは除去するためのエントリ基準または排出基準をそれぞれ満足するかどうかを判定するプロセスを開始することができる。音声キャッシュ内の項目は、音声コマンド、音声オブジェクト、音声コマンドを指し示すポインタ、音声オブジェクトを指し示すポインタ、またはそれらの組合せから構成することができる。音声オブジェクトまたは音声コマンドのいずれかを指し示すポインタは、その音声オブジェクトまたは音声コマンドをそれぞれ含むメイン・メモリ内のメモリ位置への参照を含むことができる。
【００４４】
エントリ基準は、システムとユーザの両方が指定することができる。システム指定のエントリ基準の例としては、最近使用された音声コマンド、頻度カウンタに基づく頻繁に使用される音声コマンド、または重要音声コマンドを含むことができるが、これらに限定されない。ユーザ指定のエントリ基準により、ユーザはシステム指定のエントリ基準に加えてエントリ基準を定義することができる。別法として、ユーザ指定のエントリ基準により、ユーザはシステム指定のエントリ基準を指定変更することができる。ユーザ指定のエントリ基準の例としては、音声キャッシュに音声コマンドを追加するためのユーザ要求、ユーザが定義した重要音声コマンド、またはユーザ定義の優先順位音声コマンドを含むことができるが、これらに限定されない。音声キャッシュ・ロジックは上記のエントリ基準の任意の組合せを使用して、音声キャッシュに項目を追加すべきかどうかを判定することができ、本発明はここに開示した特定のエントリ基準に限定されないことを理解されたい。
【００４５】
次に図４に移行すると、ステップ７２で音声キャッシュ・ロジック１００は、その音声イベントが、音声キャッシュに項目を追加するよう要求するユーザ音声コマンドであるかどうかを判定することができる。このようなコマンドにより、ユーザは、音声キャッシュに項目を追加するよう音声キャッシュ・ロジック１００に直接命令することができる。「追加」コマンドが参照する音声オブジェクトおよび属性は、それらの音声オブジェクトおよび属性が音声キャッシュに追加されるよう明示的に命令されているというだけで、エントリ基準を満たしている。たとえば、「１週間の間、ローラ・コースタ・ワールドを追加する」というユーザ発語は、「ローラ・コースタ・ワールド」という音声オブジェクト用の項目を音声キャッシュ内に作成し、さらに１週間の間、音声キャッシュ内にその項目を保持するよう、音声キャッシュ・ロジック１００に指示するコマンドにすることができる。このため、音声イベントが音声キャッシュに項目を作成するよう指示する音声コマンドとして識別された場合、音声キャッシュ・ロジック１００はジャンプ・サークルＢに継続する。そうではない場合、音声キャッシュ・ロジック１００はステップ７４に継続する。
【００４６】
ステップ７４で音声キャッシュ・ロジック１００は、音声イベントが、音声キャッシュ内の既存の項目を音声キャッシュから削除することを要求するユーザ音声コマンドであるかどうかを判定することができる。パージ・コマンドに関連して参照される音声オブジェクトおよび属性は、それらの音声オブジェクトおよび属性が音声キャッシュから削除されるよう明示的に命令されているというだけで、排出基準を満たしている。たとえば、「ローラ・コースタ・ワールドを含むすべての項目を除去する」というユーザ発語は、「ローラ・コースタ・ワールド」という音声オブジェクトに関連するかまたはそれを含む音声キャッシュ内の各項目を除去するよう、音声キャッシュ・ロジック１００に指示するものである。したがって、「ローラ・コースタ・ワールド」という音声オブジェクトは、音声キャッシュから項目を除去するためのパージ・コマンドに関連して参照されたので、排出基準を満たしている。音声イベントがパージ・コマンドである場合、音声キャッシュ・ロジック１００はジャンプ・サークルＣに移行する。そうではない場合、音声キャッシュ・ロジック１００はステップ７６に移行する。
【００４７】
ステップ７６で音声キャッシュ・ロジック１００は、システム指定基準、ユーザ指定基準、またはその両方に応じて、受け取った音声イベントが重要であるかどうかを判定することができる。システム指定基準としては、音声キャッシュ・ロジック１００が重要であると見なす音声コマンドの所定のリストを含むことができる。別法として、音声キャッシュ・ロジック１００により、ユーザはどの音声コマンドを重要と見なすべきかを指定することができる。たとえば、自動車ナビゲーション・システムで使用する組込み音声認識システムのシステム固有基準としては、病院、警察署、消防署、その他の緊急サービス機関などのオブジェクトを含む音声イベントを含むことができる。したがって、音声キャッシュ・ロジック１００は、このような音声オブジェクトに関連する情報へのアクセスを必要とする当面の要求または緊急事態をユーザが有する可能性に基づいて、このような音声オブジェクトを有する音声イベントを重要な物と自動的に見なすことができる。ユーザ定義の基準の場合、ユーザは、「ゴルフ・コース」への参照を含む音声イベントを音声キャッシュ・ロジック１００によって重要イベントと見なすべきであると指定することができる。音声キャッシュ・ロジック１００がどのようにしてイベントの重要度を判定するかにかかわらず、音声イベントがユーザによって重要であると判定された場合、音声キャッシュ・ロジック１００はジャンプ・サークルＢに継続する。そうではない場合、音声キャッシュ・ロジック１００はステップ７８に移行する。
【００４８】
ステップ７８で音声キャッシュ・ロジック１００は、受け取った音声イベントが音声キャッシュ・ロジック１００で頻繁にアクセスされるかどうかを判定することができる。この判定のために、音声キャッシュ・ロジック１００は、音声キャッシュ・ロジック１００が受け取った特定の音声イベントに関連する頻度カウンタ値を検索することができる。たとえば、音声イベントが「ローラ・コースタ・ワールドまでどのくらいの距離か」というユーザ発語であった場合、音声キャッシュ・ロジック１００は、「どのくらいの距離か」という音声コマンドと「ローラ・コースタ・ワールド」というオブジェクトに関連する頻度カウンタ値を検索することができる。頻度カウンタ値が所定の最少頻度値以上である場合、音声キャッシュ・ロジック１００はその音声イベントが頻繁に使用されると結論することができ、音声キャッシュ・ロジック１００はジャンプ・サークルＢに移行することができる。そうではない場合、音声キャッシュ・ロジック１００はステップ８０に移行することができる。
【００４９】
音声イベントが頻繁に発生するかどうかを判定するために音声キャッシュ・ロジック１００が使用する所定の最少頻度値は、デフォルト・システム値にするか、または好ましくはユーザ定義値にすることができることを理解されたい。別法として、音声キャッシュ・ロジック１００は、所定の最少頻度値として、最低関連頻度値を有する音声キャッシュ内の項目に対応する頻度値を使用することができる。この場合、所定の最少頻度値は、音声キャッシュ・ロジック１００によって継続的に調整することができる。
【００５０】
ステップ８０で音声キャッシュ・ロジック１００は、音声イベントが、ユーザの選択によるユーザ指定の基準を満たしているかどうかを判定することができる。具体的には、ユーザは、音声キャッシュに項目を追加する時期を示す音声イベントに関する特定の基準を指定することができる。特定のエントリ基準に関するユーザの選択としては、特定の音声オブジェクト、音声コマンド、または特定のユーザ指定期間内に使用する音声オブジェクトと音声コマンドを含むことができる。ユーザ指定基準により、ユーザはユーザの要求に応じて音声キャッシュの動作を調整することができる。たとえば、ユーザは、次の７日間の間、「ローラ・コースタ・ワールド」という音声オブジェクトを含む音声イベントに応答して音声キャッシュ・ロジック１００が音声キャッシュに項目を作成すべきであると指定することができる。さらに、ユーザは、このような参照が可能な限り長い間またはユーザ指定期間の間、音声キャッシュ内に存続するべきであると指定することができる。
【００５１】
上記の組込みナビゲーション・システムの例を使用すると、このような特徴は、自動車でローラ・コースタ・ワールドへの途上にある休暇中のユーザにとって有益なものになるだろう。ユーザは、ユーザの休暇の長さに等しい期間を指定することができる。その結果、音声キャッシュ・ロジック１００は、指定の期間中、「ローラ・コースタ・ワールド」というオブジェクトを含む各音声イベントごとに１つの項目を音声キャッシュに作成することができる。ユーザが望む場合、この特徴により、他のユーザ指定およびシステム指定のエントリ基準を指定変更することができる。したがって、ユーザが休暇中である期間の間、ユーザは、たとえばユーザが「ローラ・コースタ・ワールド」というオブジェクトを参照するたびに音声システムに対して属性のストリングを指定することにより、有効宛先の名前を含む音声オブジェクトのメニュー階層を走査する必要はない。たとえば、ユーザは、「米国、フロリダ州、オーランド、遊園地、ローラ・コースタ・ワールドまでどのくらいの距離か」とは対照的に、「ローラ・コースタ・ワールドまでどのくらいの距離か」と言うことができる。休暇が終了した後、音声キャッシュ・ロジック１００は、「ローラ・コースタ・ワールド」に対応するすべての項目を自動的に除去し、それにより、毎日の使用で発生する音声コマンドまたは音声オブジェクト用のキャッシュ・メモリ空間を解放することができる。
【００５２】
ユーザは様々な選択を指定することができ、さらに、ユーザはその選択に優先順位を割り当てることができることを理解されたい。いずれの場合も、本発明は、本明細書に開示するユーザの選択の例によって制限されるわけではない。音声イベントが事前定義のユーザの選択に整合する基準を満たしている場合、音声キャッシュ・ロジック１００はジャンプ・サークルＢに継続する。そうではない場合、音声キャッシュ・ロジック１００は、音声キャッシュ・ロジック１００がそのイベントを無視するステップ８２に移行し、さらにジャンプ・サークルＤに継続し、それにより、音声キャッシュ管理方法を再始動する。
【００５３】
音声キャッシュ・ロジック１００がたとえばステップ７２、７６、７８、またはステップ８０からジャンプ・サークルＢに移行する場合のいずれでも、音声イベントは「エントリ基準を満たしている」と言えることを理解されたい。エントリ基準を満たす音声イベントの例としては、「追加」コマンドを含む音声イベント、重要な音声オブジェクトまたは音声コマンド、高いアクセス頻度を有する音声オブジェクトまたは音声コマンド、あるいはユーザ指定の音声オブジェクトまたは音声コマンドを含む。
【００５４】
次に図３に戻ると、ステップ５０で受け取った入力が音声イベントではなく、むしろハードウェアまたはソフトウェア生成イベントなどの非音声イベントである場合、音声キャッシュ・ロジック１００はステップ５２からステップ５８に移行する。ステップ５８で音声キャッシュ・ロジック１００は、受け取ったハードウェアまたはソフトウェア・イベントが、ハードウェア・イベントおよびソフトウェア・イベント項目を含む記憶済みデータ構造内に存在するかどうか、ならびに各特定のイベントの関連属性がそのデータ構造に記憶されているかどうかを判定することができる。そうである場合、音声キャッシュ・ロジック１００はステップ６２に移行する。そうではない場合、音声キャッシュ・ロジック１００はそのハードウェアまたはソフトウェア・イベントを無視し、ジャンプ・サークルＤに継続することができ、それにより、音声キャッシュ管理方法を再始動する。
【００５５】
様々なソフトウェア・イベントおよびハードウェア・イベントを音声キャッシュ・ロジック１００が受け取ることができることを理解されたい。特に、ソフトウェア・イベントおよびハードウェア・イベントは、入力として音声システムに供給されるディジタル・コード化情報の形式にすることができる。ハードウェア・イベントという用語は、音声システム外部、たとえば自動車内の外部システムからのイベントのソースを示す。ハードウェア・イベントの例としては、電源破壊（power disruption）、システム電源オフ、システム電源オン、エアバッグの展開を含むことができる。
【００５６】
対照的に、ソフトウェア・イベントは音声システム内から発生するものであり、動作状態を示すことができる。たとえば、音声キャッシュ・ロジック１００は、音声キャッシュが満杯であることを音声キャッシュ・ロジック１００に通知するソフトウェア・イベントを受け取ることができる。同様に、音声キャッシュ・ロジック１００は、様々なタイプの音声システム障害または音声システム・リセットを音声キャッシュ・ロジック１００に通知するソフトウェア・イベントを受け取ることができる。それぞれの場合、上記のハードウェアおよびソフトウェア・イベントに対応する項目が前述のデータ構造内に存在してもよい。
【００５７】
また、データ構造内の各項目には、ハードウェア・またはソフトウェア・イベントが音声キャッシュ内のパージまたは追加動作をトリガするかどうかなどの対応属性がそれに関連付けられていてもよい。そのうえ、特定のハードウェアおよびソフトウェア・イベントは、そのイベントが音声キャッシュ内の１つまたは複数の項目の追加または削除をトリガすべきであることを示す対応属性をさらに有することができる。たとえば、音声キャッシュ・ロジック１００が遮断ハードウェア・イベントを受け取った場合、そのイベントの１つの属性は、音声キャッシュのすべての項目を除去すべきであることを示すことができる。
【００５８】
ステップ６２で音声キャッシュ・ロジック１００は、受け取ったハードウェアまたはソフトウェア・イベントに対応するデータ構造内の項目に関連する属性を検索することができる。ステップ６４では、その属性がパージ動作を示し、そのイベントが排出基準を満たしていることも示す場合、音声キャッシュ・ロジック１００はジャンプ・サークルＣに移行する。その属性が追加動作を示し、そのイベントがエントリ基準を満たしていることを示す場合、音声キャッシュ・ロジック１００はジャンプ・サークルＢに移行する。
【００５９】
音声キャッシュ・ロジック１００がジャンプ・サークルＢに移行する場合のいずれでも、音声キャッシュ・ロジック１００は図５のジャンプ・サークルＢに継続する。次に音声キャッシュ・ロジック１００はステップ８４に継続する。ステップ８４で音声キャッシュ・ロジック１００は、そのイベントのエントリ基準を音声キャッシュ内の既存の項目のエントリ基準と比較することができる。たとえば、そのイベントが音声イベントであり、ステップ７６で事前に重要と見なされた場合、その音声イベントの重要度は既存の音声キャッシュ項目の重要度と比較される。その音声イベントが前のステップ７８で頻繁に使用されるものと見なされた場合、音声キャッシュ・ロジック１００は、その音声イベントが既存の音声コマンド項目より高い頻度を有するかどうかを判定する。音声イベントを音声キャッシュに追加すべきかどうかを判定するために使用するエントリ基準は比較のためにステップ８４でも使用できることを理解されたい。さらに、音声キャッシュ・ロジック１００は、異なるエントリ基準を有する既存の項目に対するイベントの全体的な優先順位を決定することができる。たとえば、音声キャッシュ・ロジック１００は、頻繁使用項目に対する重要項目の優先順位付けを行うことができる。そのうえ、ハードウェア・イベント、ソフトウェア・イベント、音声イベントの結果として音声キャッシュ内に作られる項目は、各項目の対応エントリ基準に基づいて、互いに対する優先順位付けを行うことができる。
【００６０】
ステップ８６では、そのイベントが、音声キャッシュ内の最低優先順位項目より高い優先順位を有するエントリ基準を含む場合、音声キャッシュ・ロジック１００はステップ９２に移行する。含まない場合、音声キャッシュ・ロジック１００はステップ８８に移行する。任意選択のステップ８８では、音声キャッシュ・ロジック１００は、イベントの優先順位の低さにもかかわらず音声キャッシュ内にそのイベントに対応する項目を作成するかどうかをユーザに尋ねることができる。任意選択のステップ９０では、ユーザが音声キャッシュに項目を追加したいと希望する場合、音声キャッシュ・ロジック１００はステップ９２に移行する。希望しない場合、音声キャッシュ・ロジック１００はジャンプ・サークルＤに移行してプロセスを再始動する。
【００６１】
ステップ９２では、音声キャッシュ内の使用可能メモリが１つまたは複数の項目を音声キャッシュに追加するのに不十分である場合、音声キャッシュ・ロジック１００はジャンプ・サークルＣに移行し、パージ・プロセスを開始して新しい音声キャッシュ項目に使用可能なメモリを解放する。１つまたは複数の項目を音声キャッシュに追加するのに十分なメモリが存在する場合、音声キャッシュ・ロジック１００はステップ９６に移行し、そこで音声キャッシュ・ロジック１００は音声キャッシュ内でそのイベントに対応する１つまたは複数の項目の追加を実行することができる。
【００６２】
ジャンプ・サークルＣに関しては、パージ・プロセスの完了後、音声キャッシュ・ロジック１００はステップ９４に移行する。ステップ９４で音声キャッシュ・ロジック１００は、パージ・プロセスが成功したかどうかを判定する。成功した場合、音声キャッシュ・ロジック１００は音声キャッシュ内に新しい項目に使用可能なメモリを有する。したがって、音声キャッシュ・ロジック１００はステップ９６に継続し、そこで音声キャッシュ・ロジック１００は音声キャッシュ内でそのイベントに対応する１つまたは複数の項目の追加を実行することができる。パージが成功しなかった場合、音声キャッシュ・ロジック１００はジャンプ・サークルＤに移行して音声キャッシュ管理方法を再始動する。
【００６３】
図６は、パージ・プロセスを示し、ジャンプ・サークルＣから始まる。音声キャッシュ・ロジック１００はジャンプ・サークルＣからステップ１００に移行する。ステップ１００で音声キャッシュ・ロジック１００は、ステップ５０で受け取った入力がパージ・コマンドを示す音声イベントであったかどうかを判定することができる。そうである場合、音声キャッシュ・ロジック１００はステップ１０６に移行する。たとえば、ユーザは「ローラ・コースタ・ワールドへのすべての参照をパージする」と言うことができる。この場合、音声キャッシュ・ロジック１００は「すべての参照をパージする」というコマンドを検出することができる。特定のオブジェクトが指定されているので、音声キャッシュ・ロジック１００はステップ１０６に直接移行することができ、そこで「ローラ・コースタ・ワールド」へのすべての項目を音声キャッシュから除去することができる。入力がパージ・コマンドではなかった場合、音声キャッシュ・ロジック１００はステップ１０２に継続する。
【００６４】
ステップ１０２で音声キャッシュ・ロジック１００は音声キャッシュの内容をフィルタリングすることができる。フィルタリングは、ステップ８４と同じ比較方法を使用して、最高優先順位の項目から最低優先順位の項目へ音声キャッシュの内容を識別して順序を付け直すかまたは書き換えることにより、実施することができる。たとえば、頻繁使用項目は、それらの中で優先順位付けを行うことができ、最高頻度項目から最低頻度項目へ順序付けることができる。重要度など、ユーザの選択と整合するエントリ基準を有する項目についても同様の手順を実施することができる。頻度、重要度、ユーザの好みなど同様のグループのメンバ間ならびに異なるエントリ基準を有するグループ間で項目を順序付けることができることを理解されたい。
【００６５】
ステップ１０４で音声キャッシュ・ロジック１００は、音声キャッシュ内のどの項目が除去に関する最低優先順位を有するものとして識別されたかを任意選択でユーザに通知することができる。そのうえ、音声キャッシュ・ロジック１００は、音声キャッシュ・ロジック１００が識別された最低優先順位項目を音声キャッシュから除去できるかどうかを任意選択でユーザに尋ねる。低い優先順位を有するものとして識別された項目あるいはパージ・コマンドの使用によって除去するためにその他の方法でユーザに選択された項目は、排出基準を満たしていると言われる。識別された最低優先順位項目を除去することをユーザが決定した場合、音声キャッシュ・ロジック１００はステップ１０６に移行する。そうではない場合、パージは失敗しており、音声キャッシュ・ロジック１００はパージ・プロセスを終了する。
【００６６】
ステップ１０６で音声キャッシュ・ロジック１００は、所定の排出基準と一致するものとして音声キャッシュ・ロジック１００によって識別された項目を除去し、それにより、音声キャッシュ内に新しい項目に使用可能な空間を作成する。当業者であれば、循環キャッシュの場合、音声キャッシュ・ロジック１００は、音声キャッシュ内に新しい項目用の場所を空けるために排出基準と一致する項目を除去する必要がないことを理解されたい。むしろ、音声キャッシュ・ロジック１００は、音声キャッシュに追加すべき項目で低優先順位項目を上書きすることができる。この場合、音声キャッシュ・ロジック１００は、排出基準を有する項目を識別することができる。ステップ９６のように、ある項目をあとで音声キャッシュに追加する場合、その項目は識別された項目の代わりに追加することができる。
【００６７】
上記の明細では本発明の好ましい実施形態を例示し説明しているが、本発明はここに開示された厳密な構造に限定されないことを理解されたい。本発明は、その精神または本質的な属性を逸脱せずに他の具体的な形式で実施することができる。したがって、本発明の範囲を示すものとして、上記の明細ではなく、特許請求の範囲を参照しなければならない。
【００６８】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００６９】
（１）コンピュータ音声認識システムにおける音声データの再呼出しを行う方法であって、
音声キャッシュを設けるステップと、
音声システム入力を受け取るステップと、
前記受け取った音声システム入力内の音声イベントを識別するステップであって、前記音声イベントが音声データを含むステップと、
前記音声データを所定の音声キャッシュ・エントリ基準と比較するステップと、
前記音声データが前記所定のエントリ基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュに追加するステップであって、前記少なくとも１つの項目が前記音声データに対応するステップとを含む方法。
（２）前記音声データを所定の音声キャッシュ排出基準と比較するステップと、
前記音声データが前記所定の排出基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュからパージするステップであって、前記少なくとも１つの項目が前記音声データに対応するステップとをさらに含む、上記（１）に記載の方法。
（３）前記エントリ基準が、頻繁に使用される音声データと、最近使用された音声データと、重要音声データとを含む、上記（１）に記載の方法。
（４）前記排出基準が、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含む、上記（２）に記載の方法。
（５）前記音声キャッシュ内の項目をフィルタリング基準と比較するステップと、
前記フィルタリング基準に応じて前記項目をソートするステップとをさらに含む、上記（１）に記載の方法。
（６）前記フィルタリング基準が、前記音声キャッシュ内の各項目に関連する音声データの使用頻度と、前記音声キャッシュ内の各項目に関連する音声データの最長未使用時間と、前記音声キャッシュ内の各項目に関連する音声データの使用重要度とを含む、上記（５）に記載の方法。
（７）前記音声システム入力がシステム・イベントと音声イベントからなるグループから選択される、上記（１）に記載の方法。
（８）システム・イベントとそれに対応する音声キャッシュ・コマンドとのテーブルを確立するステップと、
システム・イベントを受け取ったことに応答して前記受け取ったシステム・イベントを前記テーブル内の前記システム・イベントと比較するステップと、
前記受け取ったシステム・イベントが前記テーブル内のシステム・イベントと一致する場合に前記テーブル内の前記一致システム・イベントに対応する前記音声キャッシュ・コマンドを実行するステップとをさらに含む、上記（７）に記載の方法。
（９）前記対応する音声キャッシュ・コマンドがパージ・コマンドと追加コマンドとを含む、上記（８）に記載の方法。
（１０）前記音声データ用の頻度カウンタを確立するステップと、
音声イベントを受け取ったことに応答して前記音声データに対応する前記頻度カウンタを増分するステップとをさらに含む、上記（１）に記載の方法。
（１１）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて前記音声システム入力を評価することを含み、前記規則が前記音声データの使用頻度と、前記音声データが最近いつ使用されたかと、前記音声データの使用重要度に基づくものである、上記（１）に記載の方法。
（１２）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのシステム構成規則と照らし合わせて前記音声システム入力を評価するステップを含み、前記規則が事前指定の音声データ・リストに基づくものである、上記（１）に記載の方法。
（１３）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて前記音声システム入力を評価することを含み、前記規則が前記音声データの使用頻度に基づくものであり、前記頻度が前記音声データ用に確立された前記頻度カウンタによって測定され、前記頻度カウンタが示す頻度が所定のしきい値を超えていることに応答して前記追加が実行され、前記頻度カウンタが示す頻度が所定のしきい値以下に低下していることに応答して前記削除が実行される、上記（１０）に記載の方法。
（１４）前記比較ステップが、
システム指定の入力基準および排出基準ならびにユーザ指定のエントリ基準および排出基準に照らし合わせて前記音声システム入力を比較するステップと、
前記ユーザ指定のエントリ基準および排出基準に照らし合わせて行う前記比較によって前記システム指定のエントリ基準および排出基準に照らし合わせて行う前記比較を指定変更するステップとをさらに含む、上記（１）に記載の方法。
（１５）前記音声キャッシュが満杯である時期を感知するステップと、
満杯の音声キャッシュを感知したことに応答して所定のパージ基準に応じて前記音声キャッシュから項目をパージするステップとをさらに含む、上記（１）に記載の方法。
（１６）前記パージ基準が、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含む、上記（１５）に記載の方法。
（１７）前記パージ・ステップが、
前記パージ基準に応じてソートした音声キャッシュ項目のリストを表示するステップと、
前記パージ基準に基づいてパージするために選択した前記音声キャッシュ内の項目をパージする前にユーザから確認を受け入れるステップと、
前記確認を受け取ったことに応答して前記選択した音声キャッシュ項目をパージするステップとを含む、上記（１５）に記載の方法。
（１８）前記音声キャッシュ内の少なくとも１つの項目に有効期限データを関連付けるステップと、
前記有効期限データに応じて前記音声キャッシュ内の前記関連項目をパージするステップとをさらに含む、上記（１）に記載の方法。
（１９）前記関連付けステップが、
ユーザ指定有効期限データを受け入れるステップと、
前記音声キャッシュ内の少なくとも１つのユーザ指定項目に前記ユーザ指定有効期限データを関連付けるステップとを含む、上記（１８）に記載の方法。
（２０）前記音声システムが組込みコンピュータ音声システムである、上記（１）に記載の方法。
（２１）音声使用可能アプリケーションであって、前記音声使用可能アプリケーションが音声認識エンジンに結合され、前記音声使用可能アプリケーションと前記音声認識エンジンが音声データを処理するように構成される、音声使用可能アプリケーションと、
前記音声データに対応する項目を記憶するための音声キャッシュと、
所定の音声キャッシュ・エントリ基準および排出基準であって、前記エントリ基準が前記音声データに対応する項目を前記音声キャッシュに追加するための規則を指定し、前記排出基準が前記音声データに対応する項目を前記音声キャッシュからパージするための規則を指定する、所定の音声キャッシュ・エントリ基準および排出基準と、
前記音声データを前記所定のエントリ基準および排出基準と比較するための音声キャッシュ・ロジックであって、前記音声キャッシュ・ロジックが前記所定のエントリ基準を満たす音声データに対応する少なくとも１つの項目を前記音声キャッシュに追加し、前記音声キャッシュ・ロジックが前記所定の排出基準を満たす音声データに対応する少なくとも１つの項目を前記音声キャッシュからパージする、音声キャッシュ・ロジックとを含む、音声システム。
（２２）前記音声キャッシュが循環キャッシュである、上記（２１）に記載の音声システム。
（２３）前記音声キャッシュ内の前記項目が、音声コマンドと、音声オブジェクトと、音声コマンドを指し示すポインタと、音声オブジェクトを指し示すポインタとを含む、上記（２１）に記載の音声システム。
（２４）前記項目が対応する有効期限データを有する少なくとも１つの項目をさらに含み、前記音声キャッシュ・ロジックが前記有効期限データに応じて対応する有効期限データを有する前記少なくとも１つの項目をパージする、上記（２１）に記載の音声システム。
（２５）前記音声キャッシュ・ロジックが前記音声システム内のシステム・イベントを受け取るように適合されている、上記（２１）に記載の音声システム。
（２６）前記音声キャッシュ・ロジックがシステム・イベントと対応する音声キャッシュ・コマンドとのテーブルをさらに含み、前記音声キャッシュ・ロジックが対応するシステム・イベントを受け取ったことに応答して音声キャッシュ・コマンドを実行するように適合されている、上記（２５）に記載の音声システム。（２７）前記所定のエントリ基準および排出基準が、音声キャッシュ・コマンドと、前記音声データの使用頻度と、前記音声データが最近いつ使用されたかと、前記音声データの使用重要度を含む、上記（２１）に記載の音声システム。
（２８）前記音声キャッシュ・コマンドが追加コマンドとパージ・コマンドとを含む、上記（２７）に記載の音声システム。
（２９）所定のパージ基準をさらに含み、前記音声キャッシュ・ロジックが前記パージ・コマンドを受け取ったことに応答して前記パージ基準に応じて前記音声キャッシュ内の項目をパージする、上記（２８）に記載の音声システム。
（３０）前記所定のパージ基準が、前記音声キャッシュ内の前記項目に対応する前記音声データの使用頻度と、前記音声キャッシュ内の前記項目に対応する前記音声データが最近いつ使用されたかと、前記音声キャッシュ内の前記項目に対応する前記音声データの使用重要度とを含む、上記（２９）に記載の音声システム。
（３１）前記パージ基準に基づいてパージするために選択した前記音声キャッシュ内の項目のリストをユーザに対して表示するためのディスプレイと、
前記選択した項目をパージする前に前記パージ・コマンドを確認するための手段とをさらに含む、上記（２９）に記載の音声システム。
（３２）前記音声キャッシュ・ロジックが、所定のフィルタリング基準に応じて前記キャッシュ内の前記項目をソートするためのフィルタリング・ロジックをさらに含む、上記（２１）に記載の音声システム。
（３３）前記フィルタリング基準が、前記項目に対応する前記音声データの使用頻度と、前記項目に対応する前記音声データが最近いつ使用されたかと、前記項目に対応する前記音声データの使用重要度とを含む、上記（３２）に記載の音声システム。
（３４）前記音声キャッシュ・ロジックが特定の音声データに対応する少なくとも１つの増分可能頻度カウンタをさらに含み、前記音声キャッシュ・ロジックが前記音声システムから前記特定の音声データのインスタンスを受け取ったことに応答して前記頻度カウンタが増分され、前記特定の音声データの前記使用頻度が前記頻度カウンタによって示される、上記（２７）に記載の音声システム。
（３５）前記音声システムが車両内で使用するために適合される、上記（２１）に記載の音声システム。
（３６）前記音声システムが車両ナビゲーション・システムで使用するために適合される、上記（２１）に記載の音声システム。
（３７）機械によって実行可能な複数のコード・セクションを有するコンピュータ・プログラムがその上に記憶された機械可読記憶域であって、
コンピュータ音声認識システムにおいて音声キャッシュで音声システム入力を受け取るステップと、
前記受け取った音声システム入力内の音声イベントを識別するステップであって、前記音声イベントが音声データを含むステップと、
前記音声データを所定の音声キャッシュ・エントリ基準と比較するステップと、
前記音声データが前記所定のエントリ基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュに追加するステップであって、前記少なくとも１つの項目が前記音声データに対応するステップとを機械に実行させるための、機械可読記憶域。
（３８）前記音声データを所定の音声キャッシュ排出基準と比較するステップと、
前記音声データが前記所定の排出基準の１つを満たす場合に少なくとも１つの項目を前記音声キャッシュからパージするステップであって、前記少なくとも１つの項目が前記音声データに対応するステップとをさらに機械に実行させるための、上記（３７）に記載の機械可読記憶域。
（３９）前記エントリ基準が、頻繁に使用される音声データと、最近使用された音声データと、重要音声データとを含む、上記（３７）に記載の機械可読記憶域。
（４０）前記排出基準が、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含む、上記（３８）に記載の機械可読記憶域。
（４１）前記音声キャッシュ内の項目をフィルタリング基準と比較するステップと、
前記フィルタリング基準に応じて前記項目をソートするステップとをさらに機械に実行させるための、上記（３７）に記載の機械可読記憶域。
（４２）前記フィルタリング基準が、前記音声キャッシュ内の各項目に関連する音声データの使用頻度と、前記音声キャッシュ内の各項目に関連する音声データの最長未使用時間と、前記音声キャッシュ内の各項目に関連する音声データの使用重要度とを含む、上記（４１）に記載の機械可読記憶域。
（４３）前記音声システム入力がシステム・イベントと音声イベントからなるグループから選択される、上記（３７）に記載の機械可読記憶域。
（４４）システム・イベントとそれに対応する音声キャッシュ・コマンドとのテーブルを確立するステップと、
システム・イベントを受け取ったことに応答して前記受け取ったシステム・イベントを前記テーブル内の前記システム・イベントと比較するステップと、
前記受け取ったシステム・イベントが前記テーブル内のシステム・イベントと一致する場合に前記テーブル内の前記一致システム・イベントに対応する前記音声キャッシュ・コマンドを実行するステップとをさらに機械に実行させるための、上記（４３）に記載の機械可読記憶域。
（４５）前記対応する音声キャッシュ・コマンドがパージ・コマンドと追加コマンドとを含む、上記（４４）に記載の機械可読記憶域。
（４６）前記音声データ用の頻度カウンタを確立するステップと、
音声イベントを受け取ったことに応答して前記音声データに対応する前記頻度カウンタを増分するステップとをさらに機械に実行させるための、上記（３７）に記載の機械可読記憶域。
（４７）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて前記音声システム入力を評価することを含み、前記規則が前記音声データの使用頻度と、前記音声データが最近いつ使用されたかと、前記音声データの使用重要度に基づくものである、上記（３７）に記載の機械可読記憶域。
（４８）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのシステム構成規則と照らし合わせて前記音声システム入力を評価するステップを含み、前記規則が事前指定の音声データ・リストに基づくものである、上記（３７）に記載の機械可読記憶域。
（４９）前記比較ステップが、前記音声データに対応する項目を前記音声キャッシュに対して追加および削除するためのユーザ構成可能規則と照らし合わせて前記音声システム入力を評価することを含み、前記規則が前記音声データの使用頻度に基づくものであり、前記頻度が前記音声データ用に確立された前記頻度カウンタによって測定され、前記頻度カウンタが示す頻度が所定のしきい値を超えていることに応答して前記追加が実行され、前記頻度カウンタが示す頻度が所定のしきい値以下に低下していることに応答して前記削除が実行される、上記（４６）に記載の機械可読記憶域。
（５０）前記比較ステップが、
システム指定の入力基準および排出基準ならびにユーザ指定のエントリ基準および排出基準に照らし合わせて前記音声システム入力を比較するステップと、
前記ユーザ指定のエントリ基準および排出基準に照らし合わせて行う前記比較によって前記システム指定のエントリ基準および排出基準に照らし合わせて行う前記比較を指定変更するステップとをさらに含む、上記（３７）に記載の機械可読記憶域。
（５１）前記音声キャッシュが満杯である時期を感知するステップと、
満杯の音声キャッシュを感知したことに応答して所定のパージ基準に応じて前記音声キャッシュから項目をパージするステップとをさらに機械に実行させるための、上記（３７）に記載の機械可読記憶域。
（５２）前記パージ基準が、前記音声キャッシュ内の各項目に関連する使用頻度が最小の音声データと、前記音声キャッシュ内の各項目に関連する最長時間未使用音声データと、前記音声キャッシュ内の各項目に関連する重要度が最低の音声データとを含む、上記（５１）に記載の機械可読記憶域。
（５３）前記パージ・ステップが、
前記パージ基準に応じてソートした音声キャッシュ項目のリストを表示するステップと、
前記パージ基準に基づいてパージするために選択した前記音声キャッシュ内の項目をパージする前にユーザから確認を受け入れるステップと、
前記確認を受け取ったことに応答して前記選択した音声キャッシュ項目をパージするステップとを含む、上記（５１）に記載の機械可読記憶域。
（５４）前記音声キャッシュ内の少なくとも１つの項目に有効期限データを関連付けるステップと、
前記有効期限データに応じて前記音声キャッシュ内の前記関連項目をパージするステップとをさらに機械に実行させるための、上記（３７）に記載の機械可読記憶域。
（５５）前記関連付けステップが、
ユーザ指定有効期限データを受け入れるステップと、
前記音声キャッシュ内の少なくとも１つのユーザ指定項目に前記ユーザ指定有効期限データを関連付けるステップとを含む、上記（５４）に記載の機械可読記憶域。
（５６）前記音声システムが組込みコンピュータ音声システムである、上記（３７）に記載の機械可読記憶域。
【図面の簡単な説明】
【図１】音声システムとの使用に適した組込みコンピュータ・システムを示すブロック図である。
【図２】図１に示す組込みコンピュータ・システム用の典型的な高レベル・アーキテクチャを示すブロック図である。
【図３】音声システム内の音声キャッシュを管理する方法を示す流れ図である。
【図４】音声システム内の音声キャッシュを管理する方法を示す流れ図である。
【図５】音声システム内の音声キャッシュを管理する方法を示す流れ図である。
【図６】音声システム内の音声キャッシュを管理する方法を示す流れ図である。
【符号の説明】
１  組込みコンピュータ・システム
１２  固定記憶装置
１３  電子ランダム・アクセス・メモリ（ＲＡＭ）
１４  音声キャッシュ
２０  オペレーティング・システム
２１  音声使用可能アプリケーション
２２  音声認識エンジン
１００  音声キャッシュ・ロジック
【図１】
0003697177.tif 000002
【図２】
0003697177.tif 000003
【図３】
0003697177.tif 000004
【図４】
0003697177.tif 000005
【図５】
0003697177.tif 000006
【図６】
0003697177.tif 000007