(57)【要約】【課題】過度のフラストレーションを引き起こしたり、音声認識の効率を犠牲にしたりすることなく、音声コマンドの明瞭化と誤認識エラーの解明とを制御するツールをユーザに提供する。【解決手段】ユーザとの集中化された対話を助ける方法およびシステムは、認識された音声コマンドを複数のアプリケーションモジュールに供給することを含む。その複数のアプリケーションの少なくとも１つによって、音声コマンドの複数の解釈が生成される。集中インタフェースモジュールが、音声コマンドの複数の解釈を集中ディスプレイに視覚的に表示する。解釈の選択の通知をユーザから受け取る。【選択図】図３
2006146182.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの集中化された対話を助けるコンピュータにより実装された方法であって、
認識された音声コマンドを複数のアプリケーションモジュールに供給するステップと、
前記複数のアプリケーションモジュールの少なくとも１つによって生成された、前記音声コマンドの複数の解釈を受け取るステップと、
前記音声コマンドの前記複数の解釈を集中ディスプレイ上に視覚的に表示するステップと、
解釈の選択の通知を前記ユーザから受け取るステップと、
を備えることを特徴とする方法。
【請求項２】
前記複数の解釈を視覚的に表示する前記ステップは、前記複数の解釈がそれぞれ対応する識別子を有するリストの形によって前記複数の解釈を視覚的に表示することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
解釈の選択の通知を受け取る前記ステップは、前記選択された解釈に対応する識別子を表す音声信号を受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項４】
解釈の選択の通知を受け取る前記ステップは、前記解釈の選択に対応する識別子を表す入力装置信号を受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ユーザが前記音声コマンドを再発声することを選択するのを可能にする選択肢を、視覚的に表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記ユーザが前記音声コマンドを再発声することを選択した場合に、更新された複数の解釈を視覚的に表示するステップをさらに備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記複数の解釈に含まれていない新しい解釈を作成することを前記ユーザが選択するのを可能にする選択肢を、視覚的に表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
新しい解釈を作成することを前記ユーザが選択するのを可能にすることは、前記新しい解釈の音声によるスペリングを受け取ることをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記選択の通知を受け取った後に、前記選択された解釈を前記少なくとも１つのアプリケーションモジュールに伝達するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
前記集中ディスプレイは、コンピューティング装置のディスプレイ上の一貫した位置に表示される集中パネルを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
誤認識された発声内容に対する代替スペリングのリストを前記集中ディスプレイに視覚的に表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
前記複数のアプリケーションモジュールからのフィードバックを前記集中ディスプレイ上に視覚的に表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１３】
ユーザとの集中化された対話を助けるコンピュータに実装されたシステムであって、
音声コマンドをキャプチャするように構成されたオーディオキャプチャモジュールと、
文法内の複数のコマンドにアクセスすることによって前記音声コマンドを認識するように構成された音声認識部と、
前記認識された音声コマンドに多義性が存在する場合に、複数のアプリケーションモジュールの少なくとも１つからの複数の解釈を視覚的に表示し、前記複数の解釈の１つを選択したことの通知を受け取るように構成された集中インタフェースモジュールと、
を備えることを特徴とするシステム。
【請求項１４】
前記集中インタフェースは、前記選択の通知を前記複数のアプリケーションモジュールの少なくとも１つに伝達するように適合されていることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項１５】
前記解釈のリストを視覚的に表示する集中パネルを表示するように構成された集中ディスプレイをさらに備えることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項１６】
前記集中インタフェースモジュールは、前記音声コマンドを再発声することを前記ユーザが選択するのを可能にする選択肢を視覚的に表示するように適合されていることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項１７】
前記集中インタフェースモジュールは、前記音声コマンドを再発声することを前記ユーザが選択した場合に、前記視覚的に表示された解釈のリストを更新するように適合されていることを特徴とする請求項１６に記載のコンピュータに実装されたシステム。
【請求項１８】
前記集中インタフェースモジュールは、前記解釈のリスト中に視覚的に表示されていない音声コマンドを作成することを前記ユーザが選択することを可能にする選択肢を視覚的にレンダリングするように適合されていることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項１９】
前記集中インタフェースモジュールは、前記作成された音声コマンドを、スペル化されたコマンドの形式によって受け取るように適合されていることを特徴とする請求項１８に記載のコンピュータに実装されたシステム。
【請求項２０】
前記集中インタフェースモジュールは、認識エラーを含む口述された句に対する代替句のリストを、視覚的に表示するように適合されていることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項２１】
前記集中インタフェースモジュールは、前記口述された句を再発声することを前記ユーザが選択するのを可能にする選択肢を、視覚的に表示するように適合されていることを特徴とする請求項２０に記載のコンピュータに実装されたシステム。
【請求項２２】
前記集中インタフェースモジュールは、前記代替スペリングのリスト中に示されていない単語を作成することを前記ユーザが選択するのを可能にする選択肢を視覚的に表示するように適合されていることを特徴とする請求項２０に記載のコンピュータに実装されたシステム。
【請求項２３】
前記集中インタフェースモジュールは、前記複数のアプリケーションモジュールからのフィードバックを視覚的に表示するように適合されていることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項２４】
前記複数のアプリケーションモジュールから受け取ったコマンドに基づいて前記文法を生成するように構成された文法ジェネレータモジュールをさらに備えることを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項２５】
前記認識された音声コマンドが前記複数のアプリケーションモジュールの少なくともいくつかによって処理されることが可能である場合には、前記認識された音声コマンドは多義性を有することを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項２６】
前記アプリケーションモジュールの１つが、前記認識された音声コマンドに基づいて複数のアクションが実行可能であると判断した場合には、前記認識された音声コマンドは多義性を有することを特徴とする請求項１３に記載のコンピュータに実装されたシステム。
【請求項２７】
ユーザとの集中化された対話を助けるコンピュータに実装された方法であって、
音声コマンドをキャプチャするステップと、
認識可能コマンドの文法にアクセスすることによって前記音声コマンドを認識するステップと、
前記認識された音声コマンドが多義性を有すると判断するステップと、
前記認識された音声コマンドの解釈のリストを集中ディスプレイに視覚的に表示するステップと、
前記解釈の１つを選択したことの通知を受け取るステップと、
を備えることを特徴とする方法。
【請求項２８】
前記解釈のリストは、複数のアプリケーションモジュールによって生成されることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記解釈のリストが、アプリケーションの複数のインスタンスが動作中であるという概念（ｎｏｔｉｏｎ）に基づくことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記ユーザが前記音声コマンドを再発声することを選択することを可能にする選択肢を視覚的に表示するステップをさらに備えることを特徴とする請求項２７に記載の方法。
【請求項３１】
前記解釈のリストにある解釈に対応しない音声コマンドを作成することを前記ユーザが選択することを可能にする選択肢を視覚的に表示するステップをさらに備えることを特徴とする請求項２７に記載の方法。
【請求項３２】
新しい解釈を作成することを前記ユーザが選択することを可能にすることは、前記新しい解釈の音声によるスペリングを受け取ることを含むことを特徴とする請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、ユーザとコンピューティング装置との対話に関する。より詳細には、本発明は、音声認識の状況におけるユーザと集中インタフェース（ｃｅｎｔｒａｌｉｚｅｄ  ｉｎｔｅｒｆａｃｅ）との対話に関する。
【背景技術】
【０００２】
近年、音声認識技術の改良への関心が高まってきている。音声認識技術におけるそのような課題の１つに、音声コマンドによるユーザとコンピューティング装置との対話がある。多くの場合、コンピューティング装置が音声コマンドを実行できるためには、音声コマンドの一層の明瞭化が必要とされる。
【０００３】
コンピューティング装置は、たいていは、音声コマンドを複数の方法によって解釈できる。一つの側面においては、コンピューティング装置は、音声コマンドがどのアプリケーションに向けられているかを理解できないことがある。たとえば、音声コマンドが、複数のアプリケーションモジュールにおいて用いられている用語を含んでいる可能性がある。別の側面においては、音声コマンドにあいまいな情報が含まれているために、アプリケーションが、ユーザが何を実行したいかを理解できないことがある。たとえば、アプリケーションの再生ができるビートルズのアルバムが複数ある場合に、音声コマンドに「ｐｌａｙ  ｔｈｅ  Ｂｅａｔｌｅｓ（ビートルズを再生する）」が含まれている可能性がある。さらに別の例では、音声コマンドに誤認識エラーが含まれる可能性がある。たとえば、ユーザがコマンド「ｉｎｓｅｒｔ  ｉｃｅ  ｃｒｅａｍ（アイスクリーム  を挿入する）」を発声したのに対し、音声認識システムがそのコマンドを「ｉｎｓｅｒｔ  Ｉ  ｓｃｒｅａｍ（私は叫ぶ  を挿入する）」と認識する可能性がある。
【０００４】
ユーザの意図を推測したり、ユーザに相談せずにアクションを実行したりすることは、ユーザのフラストレーションにつながる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
過度のフラストレーションを引き起こしたり、音声認識の効率を犠牲にしたりすることなく、音声コマンドの明瞭化と誤認識エラーの解明（ｃｌａｒｉｆｉｃａｔｉｏｎ）とをコントロールするツールをユーザに提供することが必要である。
【課題を解決するための手段】
【０００６】
ユーザとの集中化された対話を助ける方法およびシステムを提供する。本方法およびシステムは、認識された音声コマンドを複数のアプリケーションモジュールに供給することを含む。その複数のアプリケーションの少なくとも１つによって、音声コマンドの複数の解釈が生成される。集中インタフェースモジュールが、音声コマンドの複数の解釈を集中ディスプレイに視覚的に表示する（ｒｅｎｄｅｒ）。解釈の選択の通知をユーザから受け取る。
【０００７】
音声コマンドに多義性が存在する場合に、集中インタフェースモジュールが解釈のリストをユーザに対して視覚的に表示することで、ユーザが用いているコマンドの意味を勝手に推測することが避けられる。さらに、集中インタフェースモジュールによって提供される集中ディスプレイパネルは、一般的なユーザ対話を可能にする。
【発明を実施するための最良の形態】
【０００８】
音声認識を用いてユーザからの音声コマンドを認識する、コンピュータに実装されたシステムの文脈において、本発明を説明する。しかしながら、本発明の各態様を説明する前に、それらの態様を組み込むことができ、それらの態様から恩恵を得られる好適なコンピューティング環境について説明しておくことが有意義であろう。
【０００９】
図１は、本発明を実装できる好適なコンピューティングシステム環境の一例１００である。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の使用範囲または機能範囲に関して何らかの限定を行うことを意図したものではない。コンピューティング環境１００は、例示的オペレーティング環境１００に示されたコンポーネントの任意の１つまたは任意の組み合わせに関連する何らかの依存性または要件を有するものと解釈されてはならない。
【００１０】
本発明は、他の多くの汎用用途または特殊用途のコンピューティングシステム環境または構成とともに実用可能である。本発明に用いるのに好適と考えられる、よく知られたコンピューティングシステム、環境、および／または構成として、たとえば、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、テレフォニーシステム、これらのシステムまたは装置を任意に含む分散コンピューティング環境などが挙げられ、これらに限定されない。
【００１１】
本発明は、コンピュータで実行されるコンピュータ実行可能命令（プログラムモジュールなど）の一般的な文脈で説明されることが可能である。一般にプログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。本発明はまた、通信ネットワークでリンクされたリモート処理装置でタスクが実行される分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、メモリストレージ装置を含む、ローカルとリモートの両方のコンピュータストレージ媒体にプログラムモジュールを配置できる。それらのプログラムやモジュールで実行されるタスクについて、後に図面を参照しながら説明していく。当業者であれば、本明細書で提供される説明および図面を、任意の形式のコンピュータ読取り可能媒体に書き込むことができるプロセッサ実行可能命令として実装することができる。
【００１２】
図１に示すように、本発明を実装する例示的システムは、コンピュータ１１０の形で汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントとして、処理装置１２０、システムメモリ１３０、およびシステムメモリを含む各種システムコンポーネントを処理装置に結合するシステムバス１２１が挙げられ、これらに限定されない。システムバス１２１としては、いくつかのタイプのバス構造を任意に用いることができ、それらにはメモリバスまたはメモリコントローラ、ペリフェラルバス、および様々なバスアーキテクチャを任意に用いるローカルバスが含まれる。そのようなアーキテクチャとして、たとえば、ＩＳＡバス、ＭＣＡバス、ＥＩＳＡバス、ＶＥＳＡローカルバス、およびＭｅｚｚａｎｉｎｅバスとも呼ばれるＰＣＴバスなどが挙げられ、これらに限定されない。
【００１３】
コンピュータ１１０は、一般に、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体としては、コンピュータ１１０からのアクセスが可能な任意の市販媒体を用いることができ、揮発性媒体および不揮発性媒体の両方、リムーバブル媒体および非リムーバブル媒体の両方を用いることができる。たとえば、コンピュータ読取り可能媒体としてコンピュータストレージ媒体と通信媒体とが挙げられ、これらに限定されない。コンピュータストレージ媒体としては、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータを記憶するための任意の方法または技術で実装される、揮発性媒体および不揮発性媒体の両方、リムーバブル媒体および非リムーバブル媒体の両方が含まれる。コンピュータストレージ媒体として、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリテクノロジ、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージ装置、その他の、所望の情報を格納するために使用でき、コンピュータ１１０からのアクセスが可能な任意の媒体などが挙げられ、これらに限定されない。通信媒体は、一般に、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータを、搬送波などの変調データ信号または他の伝送メカニズムの形で具現化したものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号の１つまたは複数の特性が、信号内の情報をエンコードするように設定または変更される信号を意味する。通信媒体としては、たとえば、有線ネットワークや直接有線接続などの有線媒体、および音響、ＲＦ、赤外線などの無線媒体が挙げられ、これらに限定されない。上記のものの任意の組み合わせも、コンピュータ読取り可能媒体の範囲に含まれる。
【００１４】
システムメモリ１３０には、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形でのコンピュータストレージ媒体が含まれる。基本入出力システム１３３（ＢＩＯＳ）は、起動時などにコンピュータ１１０内での構成要素間の情報転送を支援する基本ルーチンを含み、通常はＲＯＭ  １３１に格納される。ＲＡＭ  １３２は一般に、処理装置１２０からのアクセスが即座に可能になるか、じきに処理装置１２０によって操作されるようになるデータおよび／またはプログラムモジュールを収容する。たとえば、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７が示されているが、これらに限定されない。
【００１５】
コンピュータ１１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。あくまで例であるが、図１には、非リムーバブル、不揮発性の磁気媒体の読み出し／書き込みを行うハードディスクドライブ１４１、リムーバブル、不揮発性の磁気ディスク１５２の読み出し／書き込みを行う磁気ディスクドライブ１５１、およびリムーバブル、不揮発性の光ディスク１５６（ＣＤ−ＲＯＭやその他の光媒体など）の読み出し／書き込みを行う光ディスクドライブ１５５が示されている。この例示的オペレーティング環境で使用できる他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体として、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが挙げられ、これらに限定されない。ハードディスクドライブ１４１は一般に、インタフェース１４０などの非リムーバブルメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インタフェース１５０などのリムーバブルメモリインタフェースによってシステムバス１２１に接続される。
【００１６】
図１に示された前述のドライブおよびそれに関連付けられたコンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、および他のコンピュータ１１０用データのストレージを提供する。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じものでも異なるものでもありうることに注意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、ここでは異なる参照符号が与えられているが、これは、少なくとも異なるコピーであることを示すためである。
【００１７】
ユーザは、キーボード１６２、マイク１６３、ポインティング装置１６１（マウス、トラックボール、タッチパッドなど）などの入力装置を用いてコマンドおよび情報をコンピュータ１１０に入力できる。他の入力装置（図示せず）として、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどが挙げられる。これらの入力装置および他の入力装置は、たいていは、システムバスに結合されているユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、他のインタフェースおよびバス構造（パラレルポート、ゲームポート、ＵＳＢなど）で接続されることも可能である。モニタ１９１や他のタイプの表示装置も、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。コンピュータは、モニタだけでなく、スピーカ１９７やプリンタ１９６など、他のペリフェラル出力装置も含むことができる。これらは出力ペリフェラルインタフェース１９５を介して接続可能である。
【００１８】
コンピュータ１１０は、１つまたは複数のリモートコンピュータ（リモートコンピュータ１８０など）との論理接続を用いるネットワーク環境で動作している。リモートコンピュータ１８０として、パーソナルコンピュータ、ハンドヘルドコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、他の共通ネットワークノードなどを用いることができ、リモートコンピュータ１８０は一般に、コンピュータ１１０に関連して前述した構成要素のほとんどまたはすべてを含む。図１に示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１とワイドエリアネットワーク（ＷＡＮ）１７３とを含むが、他のネットワークも含むことができる。そのようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットではごく普通である。
【００１９】
コンピュータ１１０は、ＬＡＮネットワーク環境で使用される場合は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ  １７１に接続される。コンピュータ１１０は、ＷＡＮネットワーク環境で使用される場合は、インターネットなどのＷＡＮ  １７３を介して通信を確立するためのモデム１７２または他の手段を含むのが一般的である。モデム１７２は、内蔵であれ、外付けであれ、ユーザ入力インタフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続されることが可能である。ネットワーク環境では、コンピュータ１１０に関連して示されたプログラムモジュールまたはその一部が、リモートメモリストレージ装置に格納されることが可能である。限定ではなく例として、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０に常駐するものとして示されている。図示されたネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立するために他の手段も用いることが可能であることが理解されよう。
【００２０】
図２は、別の適用可能なコンピューティング環境であるモバイル装置２００のブロック図である。モバイル装置２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）コンポーネント２０６、およびリモートコンピュータまたは他のモバイル装置と通信するための通信インタフェース２０８を含む。一実施形態では、好適なバス２１０を介して、これまで述べたコンポーネントが、互いに通信するために接続される。
【００２１】
メモリ２０４は、モバイル装置２００の全体電源がシャットダウンされてもメモリ２０４に格納されている情報が失われないようにバッテリバックアップモジュール（図示せず）を有するランダムアクセスメモリ（ＲＡＭ）などの不揮発性電子メモリとして実装されている。メモリ２０４の一部はプログラムの実行に備えてアドレス指定可能メモリとして割り当てられることが好ましく、メモリ２０４の別の部分は、ディスクドライブ上のストレージをシミュレートするなど、ストレージ用途で使用されることが好ましい。
【００２２】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、ならびにオブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２は、プロセッサ２０２によってメモリ２０４から実行されることが好ましい。好ましい一実施形態では、オペレーティングシステム２１２は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから市販されているＷＩＮＤＯＷＳ（登録商標）ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、好ましくはモバイル装置用に設計されており、公開されているアプリケーションプログラミングインタフェースおよびメソッドの一式を用いてアプリケーション２１４から利用できるデータベース機能を実装する。オブジェクトストア２１６内のオブジェクトは、公開されているアプリケーションプログラミングインタフェースおよびメソッドへの呼び出しに応答して、少なくとも部分的に、アプリケーション２１４およびオペレーティングシステム２１２によって保持される。
【００２３】
通信インタフェース２０８は、モバイル装置２００が情報を送受信することを可能にするいくつかのデバイスおよび技術を表す。それらのデバイスは、２〜３例を挙げると、有線モデム、無線モデム、衛星受信機、放送チューナなどを含む。モバイル装置２００はまた、コンピュータとデータを交換するためにコンピュータに直接接続されることが可能である。そのような場合は、通信インタフェース２０８として、赤外線送受信機や、シリアルまたはパラレルの通信接続を用いることができ、それらはすべてストリーミング情報の伝送が可能である。
【００２４】
入出力コンポーネント２０６は、タッチスクリーン、ボタン、ローラー、マイクなど様々な入力装置と、オーディオジェネレータ、振動装置、ディスプレイなど様々な出力装置とを含む。上で列挙した装置は例であり、モバイル装置２００にすべてが存在する必要はない。さらに、本発明の範囲内で他の入出力装置がモバイル装置２００に接続されたり、備えられたりすることも可能である。
【００２５】
図３は、本発明の実施形態による、コンピュータに実装されたシステム３００の概略ブロック図である。システム３００は、既に説明されたコンピューティング環境のいずれにも組み込まれることが可能であり、マイク３０２、オーディオキャプチャモジュール３０４、音声認識部３０６、複数のインストール済みアプリケーションモジュール３１０、および集中インタフェースモジュール３１２を含む。マイク３０２は、ユーザから音声コマンドを受け取るように構成される。オーディオキャプチャモジュール３０４は、マイク３０２で受けた音声コマンドをキャプチャし、処理された音声コマンドを音声認識部３０６に伝達するように構成される。
【００２６】
音声認識部３０６は、音声コマンドを認識するために、複数の認識可能なコマンドを収容する文法（ｇｒａｍｍａｒ）３０８にアクセスする。文法ジェネレータモジュール３０９は、インストールされ動作しているアプリケーションモジュール３１０から受け取った入力に基づいて文法３０８を生成するように構成されている。アプリケーションモジュール３１０から受け取られる入力は、文法３０８に投入（ｐｏｐｕｌａｔｅ）され、アプリケーションモジュールが様々なアクションを処理および実行するために用いる実行可能コマンドである。したがって、文法３０８内にある各認識可能コマンドは、複数のアプリケーションモジュール３１０のうちの１つでアクションを実行するコマンドに対応する。
【００２７】
文法ジェネレータモジュール３０９は、文法３０８に各種コマンドの代替形を投入することもできる。これらの代替形のコマンドは、通常、アプリケーションモジュール３１０から受け取られる。たとえば、ユーザがコンピューティング装置でビートルズを再生したい場合、ユーザは「ｐｌａｙ  ｔｈｅ  Ｂｅａｔｌｅｓ（ビートルズを再生する）」と発声しなければならない。しかしながら、コンピューティング装置に「ｐｌａｙ  ｔｈｅ  Ｂｅａｔｌｅｓ（ビートルズを再生する）」と正しく命令する代わりに、「ｓｔａｒｔ  ｔｈｅ  Ｂｅａｔｌｅｓ（ビートルズを開始する）」と命令することも可能であり、これによって同じタスクが実行される。
【００２８】
実施形態によっては、文法ジェネレータモジュール３０９がさらに、所与の時点でどのアプリケーションモジュール３１０が動作可能かを調べるように構成される。たとえば、文法ジェネレータモジュール３０９が、オペレーティングシステム上で５つのアプリケーションモジュールが動作していることを突き止めることができたとする。それらの動作可能なアプリケーションモジュールは、２つのインスタンスのＷｅｂブラウザ、電子メールアプリケーション、ワードプロセッサアプリケーション、およびスプレッドシートアプリケーションを含むとする。文法ジェネレータモジュール３０９は、文法３０８を生成する際に、コマンドを圧縮して、一式のＷｅｂブラウザアプリケーション用コマンドだけが文法３０８に投入されるようにする。しかしながら、文法ジェネレータ３０９は、Ｗｅｂブラウザの動作可能なインスタンスが２つあるという認識を保持しておく。その結果、文法ジェネレータ３０９は、文法３０８の生成時点において多義性が存在することを認識する。
【００２９】
他の実施形態では、文法ジェネレータ３０９は、Ｗｅｂブラウザの動作可能なインスタンスが２つあるという認識を保持しない。この実施形態では、集中インタフェースモジュール３１２がオペレーションシステムのステータスチェックを実行し、同じアプリケーションの異なるインスタンスが動作可能であり、したがって、多義性があるかどうかを判断できる。
【００３０】
音声認識部３０６が音声コマンドを認識した後、認識された音声コマンドが複数のアプリケーションモジュール３１０に伝達される。認識された音声コマンドは、集中インタフェースモジュール３１２を介して、または音声認識部３０６によって、複数のアプリケーションモジュールに伝達されることが可能である。複数のアプリケーションモジュール３１０は、伝達の経路に関係なく、認識された音声コマンドを処理する。
【００３１】
本発明の一実施形態によれば、アプリケーションモジュール３１０の一部またはすべてが、認識された音声コマンドを実行できると判断する。たとえば、ユーザが「ｓｔａｒｔ  ｓｅｔｔｉｎｇｓ（設定を開始する）」というコマンドを発声したとする。しかしながら、システム３００にインストールされているアプリケーションモジュール３１０の多くが「ｓｅｔｔｉｎｇｓ（設定）」という用語を含むアプリケーション態様を有しているであろう。したがって、認識されたコマンド３１０はあいまいで多義性を持つ。すなわち、ユーザがどのアプリケーションを指しているのかが不明である。
【００３２】
この実施形態では、集中インタフェースモジュール３１２が、認識された音声コマンドの可能な解釈の集合を複数のアプリケーションモジュール３１０から収集する。集中インタフェースモジュール３１２は次に、その解釈の集合をリストの形で視覚的に表示する。この解釈のリストを、ユーザが、ディスプレイ３１４の集中パネル上で見る。可能な解釈のリスト４０２を視覚的に表示している集中パネルのスクリーンショットの一例４００を図４に示す。
【００３３】
本発明の別の実施形態によれば、複数のアプリケーションモジュール３１０のうちの１つだけが、認識された音声コマンドを実行できると判断する。たとえば、ユーザが「ｐｌａｙ  ｔｈｅ  Ｉｎｄｉｇｏ  Ｇｉｒｌｓ（インディゴガールズを再生する）」というコマンドを発声したとする。１つのアプリケーションモジュール３１０（メディアアプリケーションなど）だけが「ｐｌａｙ  ｔｈｅ  Ｉｎｄｉｇｏ  Ｇｉｒｌｓ」を含むメニューアイテムを有していたとする。しかしながら、そのメディアアプリケーションがコマンドを実行しようとしたところ、再生可能なインディゴガールズのアルバムが４つあることが判明した。したがって、認識されたコマンドはあいまいで多義性を持つ。ユーザがどのアルバムを再生しようとしているかが、メディアアプリケーションには不明である。
【００３４】
この実施形態では、集中インタフェースモジュール３１２が、認識された音声コマンドの可能な解釈の集合をそのアプリケーションモジュール３１０から収集する。集合インタフェースモジュール３１２は、その解釈の集合をリストの形で視覚的に表示する。この解釈のリストを、ユーザが、ディスプレイ３１４上にある集中パネルで見る。ここで説明した例に関して、可能な解釈のリストを視覚的に表示している集中パネルのスクリーンショットの例５００を図５に示す。
【００３５】
本発明のさらに別の実施形態によれば、既に説明したように、ユーザが特定のアプリケーションのどのインスタンスまたはアプリケーションモジュールを指しているかについて、多義性が存在する可能性がある。たとえば、ユーザがスプレッドシートアプリケーションを使用していて、「ｓｗｉｔｃｈ  ｔｏ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  ｂｒｏｗｓｅｒ（インターネットブラウザに切り替える）」というコマンドを発声したとする。しかしながら、システム３００は、スプレッドシートアプリケーションの１つのインスタンスを実行していたのに加え、インターネットブラウザアプリケーションの２つのインスタンスをさらに実行していたとする。したがって、認識されたコマンドはあいまいで多義性を持つ。ユーザがインターネットブラウザのどのインスタンスを指しているのかが不明である。
【００３６】
この実施形態では、動作可能なＷｅｂブラウザのインスタンスが複数存在するという認識を保持している文法ジェネレータ３０９に基づく音声コマンドの可能な解釈の集合を、音声認識部３０６が集中インタフェースモジュール３１２に供給できる。代替の実施形態では、集中インタフェースモジュール３１２が、オペレーティングシステムのステータスチェックを実行した後に、音声コマンドの可能な解釈の集合を供給できる。集合インタフェースモジュール３１２は、その解釈の集合をリストの形で視覚的に表示する。この解釈のリストを、ユーザが、ディスプレイ３１４上にある集中パネルにおいて見る。
【００３７】
解釈のリスト４０２および５０２の各解釈には、識別子による注釈が付けられる（すなわち、「１」、「２」、「３」など）。図４および図５の実施形態では、識別子４０４および５０４は数字記号であるが、任意の形式の記号を用いることができる。ユーザは、解釈のリスト４０２および５０２を見ればただちに、どの解釈がユーザの意向に対応する解釈であるかを確定できる。一実施形態では、ユーザは、対応する数字記号を発声することによって正しいコマンドを選択できる。別の実施形態では、ユーザは、（図３の）入力装置３１６を用いて所望の解釈を選択することによって正しいコマンドを選択できる。入力装置３１６として、マウスなどの選択装置を用いることができ、これに限定されない。入力装置３１６として、キーパッドを用いることもできる。正しい解釈がどのように選択されるかにかかわらず、解釈が選択されることによって、システム３００は、対応するコマンドを対応するアプリケーションに転送してそのコマンドを実行しようとする。
【００３８】
別の実施形態では、ユーザが、図５の例では、インディゴガールズのすべてのアルバムの再生を希望していることを伝えることができる。通信欄５０６は、ユーザが複数の解釈５０２から解釈を選択できること、および「Ｐｌａｙ  ａｌｌ（すべて再生する）」と発声すればすべてのアルバムを再生できることを示している。ユーザが何を希望していたかにかかわらず、正しい解釈が選択されることによって、システム３００は、対応するアプリケーションにコマンド情報を供給してアクションを実行しようとする。
【００３９】
音声コマンドに多義性が存在する場合に解釈のリストをユーザに対して視覚的に表示する集中インタフェースモジュールを用いることで、システム３００は、適正なコマンドを勝手に推測することを避けることができる。さらに集中インタフェースモジュールは、可能なユーザ対話をグラフィカルに表現する、シンプルな、集中化されたパネルを提供し、ユーザの意図を特定する高効率の手段を提供し、複数のアプリケーションモジュールの外部に配置される、一貫性のあるインタフェースを提供する。言い換えると、図４、図５、および図８〜図１０（後述）に示した集中パネルの各スクリーンショットは、同じような外観であり、同じように動作し、したがって、一貫した位置に表示されることが可能である。たとえば、図６は、オペレーティングシステム上で動作しているメディアプレーヤのスクリーンショット６００を示す。ユーザが「ｐｌａｙ  Ｉｎｄｉｇｏ  Ｇｉｒｌｓ（インディゴガールズを再生する）」と命令する。前述のように、インディゴガールズの再生可能なアルバムが複数あるとする。集中インタフェースまたはパネル５００がスクリーンの右下部分に表示され、ユーザが意図したものを選択するようユーザを促す。このように、集中パネルが１つまたは複数のアプリケーションモジュール３１０で使用可能な場合でも、ユーザは、ディスプレイの操作について混乱することが少なくなる。
【００４０】
図７は、ユーザとの集中化された対話を助ける、コンピュータに実装された方法を提供するフローチャート７００である。フローチャート７００は、ユーザから音声コマンドを受け取ることを伴うステップ７０２を含む。フローチャート７００は、音声コマンドを受け取った後、ステップ７０４に進み、音声コマンドを、音声認識部で認識されるのに適切な状態になるように処理する。ステップ７０６で、音声認識部（図３の音声認識部３０６など）が音声コマンドを認識する。音声認識部は、音声コマンドを、インデックスに格納されている複数のコマンドと比較する。
【００４１】
ステップ７０８において、認識されたコマンドが複数のアプリケーションモジュールに伝達される。７１０において、複数のアプリケーションモジュールのうちの少なくとも１つが、認識されたコマンドに多義性があると判断するとすぐに、複数の解釈が受信される。ステップ７１２において、複数の解釈がユーザに対して視覚的に表示される。たとえば、ディスプレイの集中パネルに、複数の解釈を、対応する識別子を付けてリストできる。ステップ７１４において、複数の解釈のうちの１つをユーザが選択した結果の通知が受け取られる。たとえば、当該の識別子を音声で通知することにより、所望の解釈が正しいコマンドとして識別されることが可能である。
【００４２】
ユーザは、図３の集中インタフェースモジュール３１２と対話して音声コマンドを明瞭化することに加えて、ワードプロセッサアプリケーションなどのアプリケーションに口述している間に、集中インタフェースモジュール３１２と対話して認識エラーを修正することもできる。ユーザは、認識エラーを修正するために、入力装置で誤って読み取られた語を強調表示できる。強調表示された後、アプリケーションモジュールが複数の選択肢を集中インタフェースモジュール３１２に送る。それらの選択肢は、発声された内容と類似して聞こえる句を含んでいる。集中インタフェースモジュール３１２は、それらの代替句を受け取り、ディスプレイ３１４の集中パネルに視覚的に表示する。各代替句は、対応する識別子を含む。集中インタフェースモジュール３１２は、音声または入力装置３１６により、選択の通知をユーザから識別子の形で受け取り、その選択内容をアプリケーションモジュールに伝達する。
【００４３】
集中インタフェースモジュール３１２は、正しい選択肢である選択肢を視覚的に表示できない場合がある。正しい選択肢の表示ができないのは、音声認識部３０６が誤認識エラーを起こした場合か、その代替句が、システム３００においてユーザがこれまで発声したことがなかったものであるために認識不能であった場合である。集中インタフェースモジュール３１２は、そのような類のことが起こった場合には、先に提示した選択肢に加えて、さらに選択肢を提示するように構成されている。そのような選択肢として、たとえば、元の発声内容を再発声する選択肢を提示することがある。あるいは、別の選択肢として、システム３００にとって未知である別の新しい選択肢をユーザが作成することを可能にする選択肢を提示することがある。
【００４４】
たとえば、図８は、本発明の実施形態による、選択肢のリストを視覚的に表示する集中パネルのスクリーンショット８００を示したものである。選択肢のリストは、ワードプロセッサアプリケーションによって生成された代替句８０４のリストと、集中インタフェースモジュール３１２によって生成されたさらなる選択肢８０６のリストとを含む。さらなる選択肢８０６のそれぞれは、ユーザが選択内容を識別子の形で通知できるように、対応する識別子を含む。
【００４５】
ユーザが識別子「９」を選択すると、集中インタフェースモジュール３１２が、図９に示されるように、スクリーンショット９００を集中パネルに視覚的に表示する。スクリーンショット９００の通信欄（ｃｏｍｍｕｎｉｃａｔｉｎ  ｌｉｎｅ）９０２が、発声内容の再発声をユーザに促す。発声内容が再発声されると、すぐに集中インタフェースモジュール３１２が、更新された選択肢のリストを視覚的に表示する。システム３００が認識エラーを起こした場合は、識別子「９」を選択することが有用である。ユーザが図８の識別子「１０」を選択すると、集中インタフェースモジュール３１２が、図１０に示されるように、スクリーンショット１０００を集中パネルに視覚的に表示する。スクリーンショット１０００の通信欄１００２が、発声内容のスペルを発声するようユーザに促す。ユーザが発声内容のスペルを発声するのに応答して、その字がブロック１００４に表示されていく。そのほかに、ユーザが発声内容の正しいスペルを、入力装置を用いてブロック１００４にタイプ入力することも可能である。
【００４６】
本発明の別の実施形態として、図１１のブロック図に示された方法１１００がある。これは、ユーザが新しい代替句のスペルを音声で入力した後、集中パネル（図１０に示された集中パネルのスクリーンショット１０００など）に表示された文字を操作する方法である。たとえば、図１２で、ユーザが「ｉｎｔｅｎｔ」という句のスペルを音声で入力したとする。しかしながら、音声認識部３０６（図３）が、入力された一連のテキスト１２０４を「ｉ」、「ｎ」、「ｖ」、「ｅ」、「ｎ」、「ｔ」として「聞き取った」ために、「ｉｎｖｅｎｔ」という単語をパネル１２００に表示したとする。この「ｉｎｖｅｎｔ」という単語は、「ｉｎｔｅｎｔ」に修正される必要がある。
【００４７】
図１３に示すように、ユーザは、この修正を行うために、「ｉｎｖｅｎｔ」を修正するコマンドを音声で伝達するスペリングコマンドを実行する。システム３００がスペリングコマンドを受け取るとすぐに、選択された単語が識別され、選択された単語に少なくとも１つのスペース１３０４を付加することによって付加された単語（ａｐｐｅｎｄｅｄ  ｗｏｒｄ）１３０２が作成される。この付加された単語１３０２は、動作ブロック１１０２（図１１）に示されるように、少なくとも１つの修正されるべき文字１３０６を含む。動作ブロック１１０４に示されるように、付加された単語の各文字１３０８に一意の数値１３１０が割り当てられ、関連付けられる。付加された単語１３０２の各文字１３０８とそれらに割り当てられた一意の数値１３１０との間の関連を視覚的に伝えるために、集中パネルのスクリーンショット１３００によって付加された単語１３０２が表示される。この関連は、スクリーンショット１３００の付加された単語１３０２の周囲にボックス１３１２を描画し、一意の数値１３１０のそれぞれを、それらが割り当てられた、付加された単語１３０２内の文字１３０８と隣接させて表示することによって、視覚的に伝えられることが可能である。そのようにして、各文字１３０８に、各文字１３０８が関連付けられた一意の数値１３１０が「割り当てられる」。たとえば、単語「ｉｎｖｅｎｔ」１３１４を「ｉｎｔｅｎｔ」に変えようとするユーザが、音声認識部３０６へのコマンドを音声で入力する。これによって、スクリーンショット１３００の、単語「ｉｎｖｅｎｔ」１３１４の周囲にボックス１３１２が表示される。さらにこれによって、単語「ｉｎｖｅｎｔ」１３１４の各字に一意の数値１３１０が割り当てられる。これらの数値は、それぞれに対応する文字１３０８に隣接して表示される。図１３にはそれらの両方が示されている。これによって、ユーザは、単語「ｉｎｖｅｎｔ」の任意の字を変更したり修正したりできる。
【００４８】
この時点で、システム３００は、選択コマンドおよび修正コマンドを受け取ることができる。選択コマンドは、動作ブロック１１０６に示されるように、選択される文字に対応する一意の数値１３１０である。選択コマンドは、付加された単語１３０２のどの文字を変更するかを、システム３００に通知する。システム３００が修正コマンドを受け取った後、動作ブロック１１０８に示されるように、修正コマンドに応答して、選択された文字を修正することによって、修正された単語が生成される。ユーザは、「ｄｅｌｅｔｅ（削除）」、「ｉｎｓｅｒｔ（挿入）」、または追加する字／文字など、複数の修正コマンドを入力できることを理解されたい。これらの各状況については後述する。
【００４９】
たとえば、図１４に示すように、前述のケースでユーザが、集中パネルのスクリーンショット１４００に表示されている付加された単語「ｉｎｖｅｎｔ＿」１４０４の文字「ｖ」１４０２を削除したい場合を考える。これまで説明されているように、ユーザは、変更されるべき文字に対応する一意の数値をシステム３００に伝える。これらの一意の数値１４０８は数１から始まり、１ずつ増えているが、任意の数値１４０８ならびに任意の増分を割り当てることが可能であることを理解されたい。図１４に見られるように、付加された単語「ｉｎｖｅｎｔ＿」１４０４の文字「ｖ」１４０２には、一意の数値１４０８の「３」が割り当てられている。したがって、ユーザはシステム３００に数「３」を音声で伝える。これによって、キャレット１４１０で示される数「３」に対応し、関連付けられている文字（このケースでは付加された単語「ｉｎｖｅｎｔ＿」１４０４の文字「ｖ」１４０２）が選択される。ユーザは次に、所望の修正コマンド、たとえば、付加された単語「ｉｎｖｅｎｔ＿」１４０４から文字「ｖ」１４０２を削除し、その結果である「ｉｎｅｎｔ＿」１４１２を、図１５の集中パネルのスクリーンショット１５００に示されるようにそのまま残す「ｄｅｌｅｔｅ」を、入力することができる。このように、修正コマンド「ｄｅｌｅｔｅ」は、選択された字とそれに対応するスペースを付加された単語から除去し、選択キャレット１４１０は、次に続く文字（すなわち、「ｅ」）を選択する。
【００５０】
これに対し、図１６に示すように、集中パネルのスクリーンショット１６００に表示されている単語「ｉｎｖｅｎｔ＿」の文字「ｎ」１６０４と文字「ｖ」１６０６との間に、文字またはスペースなどの文字をユーザが挿入するケースを考える。本質的には、このユーザは、一意の数値「３」に対応するスポットに文字を挿入しようとしている。これまで説明されているように、ユーザはコマンドを音声で伝えることができる。これによって、単語「ｉｎｖｅｎｔ」にスペースが付加されて付加された単語「ｉｎｖｅｎｔ＿」１６０８になり、付加された単語「ｉｎｖｅｎｔ＿」１６０８の周囲にボックス１６１０が表示され、付加された単語「ｉｎｖｅｎｔ＿」１６０８の各文字に隣接して一意の数値１６１２が割り当てられ、表示される。図に見られるように、付加された単語「ｉｎｖｅｎｔ＿」１６０８の字「ｖ」１６０６には、一意の数値１６１２の「３」が割り当てられている。したがって、ユーザは、システム３００に番号「３」を音声で伝えて、キャレット１６１４で示されている番号「３」に対応し、関連付けられている字（このケースでは付加された単語「ｉｎｖｅｎｔ＿」１６０８の字「ｖ」１６０６）を「選択」することができる。ユーザは次に、修正コマンドを入力して、システム３００に適切な応答をさせることができる。たとえば、ユーザが修正コマンド「ｉｎｓｅｒｔ（挿入）」を伝え、次いで単語「ｓｐａｃｅ（スペース）」を伝えると、文字「ｎ」１６０４と文字「ｖ」１６０６との間にスペースが挿入され、図１７に示された集中パネルのスクリーンショット１７００に示されるように、付加された単語「ｉｎｖｅｎｔ＿」１６０８が「ｉｎ＿ｖｅｎｔ＿」１６１６に効率的に変更される。このケースでは、キャレット１６１４は同じ位置にとどまり、一意の数値「３」に関連付けられたスペースが選択されていることを示す。一方、ユーザがコマンド「ｉｎｓｅｒｔ（挿入）」を伝え、次いで文字「ｐ」を伝えると、文字「ｎ」１６０４と文字「ｖ」１６０６との間に文字「ｐ」が挿入され、図１８に示された集中パネルのスクリーンショット１８００に示されるように、付加された単語「ｉｎｖｅｎｔ＿」が「ｉｎｐｖｅｎｔ＿」１６１８に効率的に変更される。そして、選択キャレット１６１４は、次の文字に移動して、次の文字（すなわち、一意の数値「４」に対応する文字）が選択されていることを示す。
【００５１】
同様に、図１９に示すように、集中パネルのスクリーンショット１９００に表示されている単語「ｉｎｖｅｎｔ」の中の文字をユーザが単純に変更したいケースを考える。これまで説明されているように、ユーザはコマンドを音声で伝えることができる。これによって、単語「ｉｎｖｅｎｔ」にスペースが付加されて付加された単語「ｉｎｖｅｎｔ＿」１９０２になり、付加された単語「ｉｎｖｅｎｔ＿」１９０２の周囲にボックス１９０４が表示され、付加された単語「ｉｎｖｅｎｔ＿」１９０２の各文字１９０８に隣接して一意の数値１９０６が割り当てられ、表示される。図１９に見られるように、付加された単語「ｉｎｖｅｎｔ＿」１９０２の文字「ｖ」１９１２には、一意の数値１９０６の「３」が割り当てられている。したがって、ユーザはシステム３００に数「３」を音声で伝えることができる。これによって、キャレット１９１０で示される数「３」に対応し、関連付けられている文字（このケースでは付加された単語「ｉｎｖｅｎｔ＿」１９０２の文字「ｖ」１９１２）が選択される。ユーザは次に、修正コマンド（このケースでは、コマンドは単純な文字である）を入力して、システム３００に適切な応答をさせることができる。たとえば、ユーザが番号「３」の後に修正コマンド「ｔ」を伝えると、文字「ｖ」１９１２が文字「ｔ」に置き換えられ、図２０に示された集中パネルのスクリーンショット２０００に示されるように、付加された単語「ｉｎｖｅｎｔ＿」１９０２が「ｉｎｔｅｎｔ」１９１４に効率的に変更される。この時点で、選択キャレット１９１０は、次の文字に移動して、次の文字（すなわち、一意の数値「４」に対応する文字）が選択されていることを示す。
【００５２】
変更する文字に対応する一意の数値をユーザが入力すると、提案された修正コマンドのメニューが表示されることが可能であることを理解されたい。たとえば、提案された各アクションにそれぞれ独自の一意の数値が割り当てられたドロップダウンメニューが表示される。たとえば、図２１に示すように、集中パネルのスクリーンショット２１００に表示されている単語「ｉｎｖｅｎｔ」の中の文字をユーザが変更したいケースを考える。ユーザはコマンドを音声で伝える。これによって、選択された単語「ｉｎｖｅｎｔ」にスペースが付加されて付加された単語「ｉｎｖｅｎｔ＿」２１０２になり、付加された単語「ｉｎｖｅｎｔ＿」２１０２の周囲にボックス２１０４が表示され、付加された単語「ｉｎｖｅｎｔ＿」２１０２の各文字に隣接して一意の数値２１０６が表示される。図２１に見られるように、付加された単語「ｉｎｖｅｎｔ＿」２１０２の文字「ｖ」２１０８には、一意の数値２１０６の「３」が割り当てられている。したがって、ユーザは、システム３００に番号「３」を音声で伝えて、キャレット２１１０で示されている一意の数値「３」に対応し、関連付けられている文字（このケースでは付加された単語「ｉｎｖｅｎｔ＿」２１０２の文字「ｖ」２１０８）を「選択」する。図２２に示すように、いくつかの修正コマンドの選択肢をユーザに提示するメニュー２１１２が、集中パネルショット２２００に表示されることが可能である。各選択肢には第２の一意の数値２１１４が割り当てられる。ユーザは次に、第２の一意の数値２１１４が所望の修正コマンドに関連付けられている修正コマンドを入力して、音声認識ソフトウェアアプリケーションに適切な応答をさせることができる。たとえば、ユーザが番号「３」の後に数値「４」を伝えると、文字「ｖ」２１０８が文字「ｄ」２１１６に置き換えられ、図２３の集中パネルのスクリーンショット２３００に示されるように、付加された単語「ｉｎｖｅｎｔ＿」２１０２が単語「ｉｎｄｅｎｔ」２１１８に効率的に変更される。前述のように、選択キャレット２１１０は、次の文字に移動して、次の文字（すなわち、一意の数値「４」に対応する文字）が選択されていることを示す。
【００５３】
提案された修正コマンドのメニュー２１１２は、選択された文字または単語と類似した音の文字／単語のメニューのように（たとえば、「ｖ」が選択されると、メニュー２１１２が「ｄ」、「ｔ」、「ｅ」、「ｇ」、「３」を含むように）、所望の最終目的に好適な任意の修正コマンドを含むことができることを理解されたい。さらに、メニュー２１１２は、文字を大文字化した形（たとえば、「Ｖ」）で含んだり、スペルチェッカからのオートコンプリートリストを含んだりすることも可能である。したがって、この例については、メニュー１０１２は、単語「ｉｎｄｅｎｔ」、「ｉｎｔｅｎｔ」、「ａｍｅｎｄ  」を含むことができる。さらに、本発明が複数の機能を同時に実行する音声コマンドを含むことができることを理解されたい。たとえば、「Ｃｈａｎｇｅ  ３  ｔｏ  “ｅ”  ａｓ  ｉｎ  ｅａｇｌｅ（３をｅａｇｌｅの「ｅ」に変更する）」。あるいは、「Ｃｈａｎｇｅ  ｔ  ｔｏ  ｇ（ｔをｇに変更する）」は、選択された単語に文字「ｔ」が１つしかない場合に文字「ｔ」を文字「ｇ」に変更できる。選択された単語に文字「ｔ」が２つあった場合は、より厳密な指示を求めるフィードバックがユーザに提示されることが可能である。さらに、直前に変更された文字を元の状態に戻すことができる「ｕｎｄｏ」のような、他のコマンドを与えることも可能である。たとえば、ユーザが（選択された字を大文字化するために）「ｃａｐ  ｔｈａｔ（それを大文字にする）」と発声したのに、その入力が「ｃａｒｅｔ（キャレット）」と認識された場合、ユーザは「ｕｎｄｏ」と発声して、その文字を元の状態に戻すことができる。
【００５４】
図８〜図２３は、ユーザがワードプロセッサアプリケーションに口述する文脈で説明されている。しかしながら、当業者であれば、図８〜図２３で説明された実施形態が、システム３００に対してユーザが音声コマンドを発声する場合にも当てはまることを認識されよう。音声コマンドに多義性が存在する場合は、集中インタフェースモジュール３１２が解釈のリストを視覚的に表示し、さらなる選択肢のリストも視覚的に表示する。さらなる選択肢のリストは、コマンドを再発声する選択肢や新しいコマンドを作成する選択肢を含む。たとえば、ユーザがＤａｖｉｄ  Ｗｈｉｔｅに電子メールを送りたい場合、ユーザは「ｉｎｓｅｒｔ  ｔｈｅ  ｎａｍｅ  Ｄａｖｉｄ（Ｄａｖｉｄという名前を挿入する）」というコマンドを音声で発行できる。しかしながら、ユーザが前にＤａｖｉｄ  ＢｌａｃｋとＤａｖｉｄ  Ｇｒｅｅｎに電子メールを送ったことがあり、Ｄａｖｉｄ  Ｗｈｉｔｅに送ったことがない場合は、どのＤａｖｉｄを挿入するかという多義性が存在する。集中インタフェースモジュール３１２は、Ｄａｖｉｄの解釈のリストを視覚的に表示する。解釈のリストには、Ｄａｖｉｄ  ＢｌａｃｋとＤａｖｉｄ  Ｇｒｅｅｎが含まれている。さらに、集中インタフェースモジュール３１２は、音声コマンドを再発声する選択肢と、新しい音声コマンドを作成する選択肢とを含んだ、さらなる選択肢のリストを視覚的に表示する。この例では、ユーザは、システム３００にとってなじみのないＤａｖｉｄ  Ｗｈｉｔｅに電子メールを送りたいので、新しいコマンドを作成することを選択する。
【００５５】
集中インタフェース３１２と対話することによるコマンドの明瞭化および誤認識エラーの修正に加えて、ユーザは、集中インタフェース３１２と対話して複数のアプリケーションモジュール３１０からフィードバックを受け取ることも可能である。集中インタフェースモジュール３１２は、システム３００が何を聴いて（ｌｉｓｔｅｎ）いるかを視覚的に表示するように構成されている。たとえば、集中パネルは、マイク３０２がオフになっていることからシステム３００が何も聴いていないことを表示できる。さらに、集中インタフェースモジュール３１２は、システム３００の状態を視覚的に表示するようにも構成されている。たとえば、集中パネルは、システム３００が最後に認識したコマンドを表示できる。別の実施形態では、集中パネルは、特定のアプリケーションモジュールが開いているか、閉じていることを表示することができる。
【００５６】
特定の実施形態を参照しながら本発明について説明してきたが、当業者であれば、本発明の趣旨および範囲から逸脱することなく、形式および詳細を変更することが可能であることを認識されよう。
【図面の簡単な説明】
【００５７】
【図１】本発明を実施できる一般的なコンピューティング環境のブロック図である。
【図２】本発明を実施できるモバイル装置のブロック図である。
【図３】集中化されたユーザ対話を助けるシステムのブロック図である。
【図４】集中パネルのスクリーンショットの一例である。
【図５】集中パネルのスクリーンショットの一例である。
【図６】コンピューティング装置のディスプレイのスクリーンショットの一例である。
【図７】集中化されたユーザ対話を助ける方法のフローチャートである。
【図８】集中パネルのスクリーンショットの一例である。
【図９】集中パネルのスクリーンショットの一例である。
【図１０】集中パネルのスクリーンショットの一例である。
【図１１】集中パネルに表示された文字を音声認識装置を用いて操作する方法を示すブロック図である。
【図１２】集中パネルのスクリーンショットの一例である。
【図１３】集中パネルのスクリーンショットの一例である。
【図１４】集中パネルのスクリーンショットの一例である。
【図１５】集中パネルのスクリーンショットの一例である。
【図１６】集中パネルのスクリーンショットの一例である。
【図１７】集中パネルのスクリーンショットの一例である。
【図１８】集中パネルのスクリーンショットの一例である。
【図１９】集中パネルのスクリーンショットの一例である。
【図２０】集中パネルのスクリーンショットの一例である。
【図２１】集中パネルのスクリーンショットの一例である。
【図２２】集中パネルのスクリーンショットの一例である。
【図２３】集中パネルのスクリーンショットの一例である。
【符号の説明】
【００５８】
１００    コンピューティングシステム環境
１１０    コンピュータ
１２１    システムバス
１４１    ハードディウクドライブ
１５１    磁気ディスクドライブ
１５５    光ディスクドライブ
４００、５００、６００、８００、９００、１０００、１２００、１３００、１４００、１５００、１６００、１７００、１９００、２０００、２１００、２２００、２３００  スクリーンショット
【図１】
2006146182.tif 000003
【図２】
2006146182.tif 000004
【図３】
2006146182.tif 000005
【図４】
2006146182.tif 000006
【図５】
2006146182.tif 000007
【図６】
2006146182.tif 000008
【図７】
2006146182.tif 000009
【図８】
2006146182.tif 000010
【図９】
2006146182.tif 000011
【図１０】
2006146182.tif 000012
【図１１】
2006146182.tif 000013
【図１２】
2006146182.tif 000014
【図１３】
2006146182.tif 000015
【図１４】
2006146182.tif 000016
【図１５】
2006146182.tif 000017
【図１６】
2006146182.tif 000018
【図１７】
2006146182.tif 000019
【図１８】
2006146182.tif 000020
【図１９】
2006146182.tif 000021
【図２０】
2006146182.tif 000022
【図２１】
2006146182.tif 000023
【図２２】
2006146182.tif 000024
【図２３】
2006146182.tif 000025