(57)【要約】【課題】ディスプレイ画面上に表示されるキャラクタを操作するための方法およびシステムを提供する。【解決手段】この方法は、修正すべき少なくとも１つのキャラクタを含む選択された単語を識別することを含む。この方法は、少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけること、ならびに選択されたキャラクタに対応する一意の数値である選択コマンドと、修正コマンドを受け取ることをさらに含んでいる。さらに、この方法は、この修正コマンドに応答して選択されたキャラクタを修正して、修正済みの単語を生成することを含む。【選択図】図２
2006146887.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイ画面上に表示されるキャラクタを操作するための方法であって、
修正すべき少なくとも１つのキャラクタを含む選択された単語を識別するステップと、
前記少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけるステップと、
前記選択された単語中の選択されたキャラクタに対応する前記一意の数値である選択コマンド、および修正コマンドを受け取るステップと、
前記修正コマンドに応答して前記選択されたキャラクタを修正して、修正済みの単語を生成するステップと
を含むことを特徴とする方法。
【請求項２】
前記識別するステップは、
ユーザが前記選択された単語を口頭で伝えることができるようにするスペリングユーザインターフェースをスペリングコマンドが呼び出すことができるようにするステップを
さらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記関連づけるステップは、
前記選択された単語を前記ディスプレイ画面上に表示して、前記少なくとも１つのキャラクタのそれぞれと、前記一意の数値の各々との間の関連づけを視覚的に伝えるステップを
さらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記表示するステップは、
前記ディスプレイ画面上の前記選択された単語の周囲にボックスを描画するステップと、
前記少なくとも１つのキャラクタのそれぞれに隣接して前記一意の数値の各々を表示するステップと
を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記識別するステップは、選択された単語を識別し、前記選択された単語に少なくとも１つのスペースを最後に追加して、追加済みの単語を作成し、前記追加済みの単語は、修正すべき少なくとも１つのキャラクタを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記関連づけるステップは、
前記ディスプレイ画面上に前記追加済みの単語を表示して、前記少なくとも１つのキャラクタのそれぞれと前記一意の数値の各々との間の関連づけを視覚的に伝えるステップを
さらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記表示するステップは、
前記ディスプレイ画面上の前記追加済みの単語の周囲にボックスを描画するステップと、
前記少なくとも１つのキャラクタのそれぞれに隣接して前記一意の数値の各々を表示するステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記修正コマンドが、「削除」である場合、前記修正するステップは、前記選択されたキャラクタを前記追加済みの単語から削除するステップを含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記受け取るステップは、
オーディオ入力デバイスを介して前記選択コマンドおよび前記修正コマンドを受け取るステップを
含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記修正コマンドが、置換キャラクタである場合、前記修正するステップは、前記選択されたキャラクタを前記置換キャラクタで置き換えるステップを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記修正コマンドが、「削除」である場合、前記修正するステップは、前記選択されたキャラクタを前記選択された単語から削除するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記修正コマンドが、「挿入」である場合、前記修正するステップは、前記選択されたキャラクタと直前のキャラクタの間にスペースを挿入するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記修正するステップは、前記スペースを選択し、前記ディスプレイ画面上に前記スペースを視覚的に示すステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記修正するステップは、前記選択されたキャラクタの直後に配置された後続のキャラクタを選択するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記修正するステップは、前記ディスプレイ画面上に前記後続のキャラクタを視覚的に示すステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
ユーザが、終了コマンドを介して前記スペリングユーザインターフェースを口頭で終了させることを可能にするステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１７】
前記可能にするステップは、前記終了コマンドに応答して前記選択された単語を前記修正済みの単語で置き換えるステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記終了コマンドは、「ＯＫ」であることを特徴とする請求項１６に記載の方法。
【請求項１９】
前記受け取るステップは、少なくとも１つの許容可能なキャラクタの修正のリストを表示するステップをさらに含み、前記リストは、前記少なくとも１つの許容可能なキャラクタの修正のそれぞれに対応する第２の一意の数値を含むことを特徴とする請求項１に記載の方法。
【請求項２０】
前記修正コマンドは、前記第２の一意の数値であることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記修正コマンドは、単語「変更」および「アンドゥ」のうちの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項２２】
前記識別するステップは、オーディオ入力デバイスを介してオーディオ信号を受信する前記スペリングユーザインターフェースをさらに含むことを特徴とする請求項２に記載の方法。
【請求項２３】
前記方法は、スタンドアロンアプリケーションモジュールと、ターゲットソフトウェアアプリケーション、スピーチ認識ソフトウェアアプリケーション、およびオペレーティングシステムのうちの少なくとも１つと統合された統合アプリケーションモジュールとのうちの少なくとも１つとして実施することができることを特徴とする請求項１に記載の方法。
【請求項２４】
前記方法は、ターゲットソフトウェアアプリケーションとして実施することができ、前記ターゲットソフトウェアアプリケーションは、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、および電子メールアプリケーションのうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項２５】
修正すべき少なくとも１つのキャラクタを含む選択された単語を識別するステップと、
前記少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけるステップと、
選択されたキャラクタに対応する前記一意の数値である選択コマンド、および修正コマンドを受け取るステップと、
前記修正コマンドに応答して前記選択されたキャラクタを修正して、修正済みの単語を生成するステップと
を含むディスプレイ画面上に表示されるキャラクタを操作するための方法を処理デバイスに実行させる命令を含む機械読取り可能コンピュータプログラムコードを記録したことを特徴とするコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に音声認識ソフトウェアアプリケーションに関し、より詳細には、音声認識アプリケーションを介して単語のキャラクタを操作するための方法に関する。
【背景技術】
【０００２】
スピーチは、おそらく最も古い形式の人間のコミュニケーションであり、発声を介してコミュニケーションする能力が人間の脳の生態において先天的にもたらされるものであると、今では多数の科学者達は確信している。したがって、ユーザがスピーチなどのＮＵＩ（Natural User Interface：ナチュラルユーザインターフェース）を使用してコンピュータとコミュニケーションすることができるようにすることは、長い間追求されてきた目標であった。実際、最近になってこの目標を達成する上での大きな発展がなされてきている。例えば、一部のコンピュータは、今やユーザが、コンピュータを動作させるためのコマンドもテキストに変換すべき口述（dictation）も共に口頭で入力できるようにするスピーチ認識アプリケーションを含んでいる。これらのアプリケーションは、一般的にマイクロフォンを介して取得された音声サンプルを定期的に記録し、これらのサンプルを解析してこのユーザが発話している音素を認識し、これらの発話された音素により構成される単語を識別することによって動作する。
【０００３】
スピーチ認識がより一般的になりつつあるが、経験豊富なユーザをいらいらさせ、初心者ユーザを離反させる傾向がある従来のスピーチ認識アプリケーションを使用することには、短所が依然として存在する。かかる短所は、この話し手とこのコンピュータの間の対話に関与している。例えば、人間の対話では、人々は、人々が聞き手から感じ取る反応に基づいて自分のスピーチを制御する傾向がある。したがって、会話中に、聞き手は、「yes」または「uh-huh」など、うなずき、または口頭での応答を行って、この聞き手が自分に対して何が発言されているかを理解していることを示すことにより、フィードバックを行うことができる。さらに、この聞き手が、自分に対して何が発言されているかを理解できない場合には、この聞き手は、いぶかしげな表情を表し、身を乗り出し、または他の口頭または非口頭の合図を与えることができる。このフィードバックに応じて、この話し手は、一般的に自分が話している話し方を変えることになり、場合によっては、この話し手は、この話し手が聞き手と対話している話し方を変えていることについて、通常この聞き手が気付くことさえないようにしながら、さらにゆっくり、さらに大きな声で話し、さらに頻繁に休止をとり、あるいは表現を繰り返すことさえできる。したがって、会話中のフィードバックは、話し手が理解されているかどうかについてこの話し手に伝える非常に重要な要素である。しかし、残念ながら、従来の音声認識アプリケーションでは、マンマシンインターフェースによって実行されるスピーチ入力／コマンドに対する、このタイプの「ナチュラルユーザインターフェース（ＮＵＩ）」フィードバック応答を実現することはまだできない。
【０００４】
現在では、音声認識アプリケーションは、９０％から９８％の認識率（ａｃｃｕｒａｃｙ  ｒａｔｅ）を達成している。これは、ユーザが、典型的な音声認識アプリケーションを使用してドキュメントに口述入力するときに、これらユーザのスピーチは、この音声認識アプリケーションによって約９０％から９８％の割合で正確に認識されることになることを意味している。したがって、この音声認識アプリケーションが記録する１００文字ごとのうち、約２文字から１０文字は、訂正する必要があることになる。この問題に対処し、誤認識された文字または単語を訂正する２つの一般的な方法では、文字または単語を反復すること、すなわち再び発話することが必要になり、あるいは代替スピーチを要求することが必要になる。しかし、これら２つのアプローチは、ユーザが訂正を実施するたびごとにうまくいくとは限らず、したがって、訂正を実施するときにスピーチを使用しなければならないある種のクラスのユーザにとって、例えば物理的にキーボードを使用することができないこれらのユーザにとっては、特に不利になる。
【０００５】
この問題に対処し、ディスプレイ画面上に表示される誤認識された文字または単語を訂正する他のアプローチでは、この単語全体を削除し、この単語を先頭から再スペリングする（ｒｅｓｐｅｌｌｉｎｇ）ことを必要とする。例えば、単語「intent」を「indent」に変更するためには、このユーザは、「delete intent（intentを削除せよ）」と発声し、次いで「i」、「n」、「d」、「e」、「n」、「t」を発声することにより、この所望の単語を再スペリングする必要があるはずである。この問題に対処し、ディスプレイ画面上に表示される誤認識された単語を訂正するさらに他のアプローチでは、音声によってこのキーボードを制御して、間違っているこれらの文字を変更することを必要とする。この場合には、このユーザは、変更する必要のある文字まで単語中の文字のすべてを削除する必要がある。次いで、ユーザは、この残りを再スペリングする。例えば、単語「intent」を「indent」に変更するためには、このユーザは、「backspace（バックスペース） backspace backspace backspace」と発声し、次いで「d」、「e」、「n」、「t」と発声することにより、この所望の単語を再スペリングすることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、残念ながら、これらのアプローチには、それらに関連するいくつかの短所がある。第１に、１文字を変更するために多数のコマンドが必要とされることである。第２に、これらのアプローチは、多数の文字を再スペリングすることに頼っていることである。現在のスピーチ認識の認識率では、１０文字中の９文字しか正しくないので、このことは、再スペリングの手段に訴えることにより、たった２つまたは３つの単語を訂正しなければならなかった後に、このユーザが、統計的に１つのエラーを獲得してしまう可能性があることを意味する。このことは、このユーザが、各文字の後に休止して文字が正しいかを確認する必要があり（これには、さらに時間がかかる）、あるいはこのユーザが、ユーザが「backspace backspace....」と発声し、次いで多くの場合にその単語をもう一度再スペリングしなければならない可能性があることに我慢する必要があることを意味する。第３に、スピーチ認識の誤りは、多くの場合にこのユーザが意図した単語と２〜３文字異なっているにすぎないので、非常に多くの場合にこのユーザがそのスペルを操作している単語は、このユーザが意図した単語と非常に近いことになる。これらの短所は、ベテランユーザをいらだたせる傾向があるだけでなく、初心者ユーザをがっかりさせる傾向もあり、おそらく、このユーザがこの音声認識アプリケーションを使用し続けるのを拒否する結果がもたらされることになる。
【課題を解決するための手段】
【０００７】
ディスプレイ画面上に表示されるキャラクタを操作する方法が提供されており、この方法は、修正すべき少なくとも１つのキャラクタを含む選択された単語を識別することを含んでいる。この方法は、少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけること、ならびに選択されたキャラクタに対応する一意の数値である選択コマンド、および修正コマンドを受け取ることをさらに含んでいる。さらにこの方法は、この修正コマンドに応答してこの選択されたキャラクタを修正して、修正済みの単語を生成することを含んでいる。
【０００８】
ディスプレイ画面上に表示されるキャラクタを操作する方法を実施するためのシステムが提供されており、このシステムは、入力されたコマンドを受け取るように構成されたオーディオモジュールを含むストレージデバイスを含んでいる。このシステムはまた、この入力されたコマンドを受け取る入力デバイスと、この入力されたコマンドを表示する表示画面を含むディスプレイデバイスとを含んでいる。さらに、このシステムは処理デバイスをさらに含み処理デバイスは、スペリングＵＩをディスプレイ画面上に表示させ、入力されたコマンドに応答して表示されたデータを操作する命令を受け取るように、ストレージデバイス、この入力デバイス、およびこのディスプレイデバイスと情報をやりとりする。
【０００９】
機械読取り可能コンピュータプログラムコードが提供され、このプログラムコードは、ディスプレイ画面上に表示されるキャラクタを操作する方法を処理デバイスに実施させるための命令を含んでいる。この方法は、修正すべき少なくとも１つのキャラクタを含む選択された単語を識別すること、およびこの少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけることを含んでいる。この方法は、選択されたキャラクタに対応する一意の数値である選択コマンド、および修正コマンドを受け取ること、ならびにこの修正コマンドに応答してこの選択されたキャラクタを修正して、修正済みの単語を生成することをさらに含んでいる。
【００１０】
機械読取り可能コンピュータプログラムコードを用いて符号化される媒体が提供され、このプログラムコードは、ディスプレイ画面上に表示されるキャラクタを操作する方法を処理デバイスに実施させるための命令を含んでいる。この方法は、修正すべき少なくとも１つのキャラクタを含む選択された単語を識別すること、およびこの少なくとも１つのキャラクタのそれぞれを一意の数値に関連づけることを含んでいる。この方法は、選択されたキャラクタに対応する一意の数値である選択コマンド、および修正コマンドを受け取ること、ならびにこの修正コマンドに応答してこの選択されたキャラクタを修正して、修正済みの単語を生成することをさらに含んでいる。
【００１１】
本発明の前述および他の特徴、ならびに利点については、添付図面と併せ解釈することにより、例示の実施形態の以下の詳細な説明からさらに完全に理解されよう。いくつかの図面中で、同様なエレメントは同様に番号が付けられている。
【発明を実施するための最良の形態】
【００１２】
本明細書中で説明している本発明は、スピーチ認識アプリケーションを使用して、ユーザが入力する音声コマンドを受け取り認識するシステムを実現する汎用コンピュータと共に使用されるスタンドアロンアプリケーションモジュールおよび／または統合されたアプリケーションモジュールのコンテキストで説明しているが、本明細書中に開示される本発明は、所望の最終目的に適切な任意のコンテキストで使用することができることを理解されたい。例えば、本発明は、ディスプレイ画面上にソフトウェアＵＩ（User Interface：ユーザインターフェース）ウィンドウを位置づける方法を実行するスピーチ認識モジュールを有するＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄなどのターゲットソフトウェアアプリケーション内の統合されたソフトウェアルーチンまたは機能とすることができ、かつ／または本発明は、汎用コンピュータのオペレーティングシステム内のルーチンまたは機能とすることもできる。オブジェクト指向アプリケーションとして、このアプリケーションモジュールは、クライアントプログラムがアクセスしてこのアプリケーションモジュールと情報をやりとりする標準インターフェースを公開することができる。このアプリケーションモジュールは、ワードプロセッシングプログラム、デスクトップパブリッシングプログラム、あるアプリケーションプログラムなどいくつかの異なるクライアントプログラムが、ローカルに、かつ／またはＷＡＮ、ＬＡＮ、および／またはインターネットベースの手段などのネットワーク上でこのアプリケーションモジュールを使用できるようにすることもある。例えば、このアプリケーションモジュールは、ローカルにまたはインターネットアクセスポイントを介して、電子メールアプリケーションやＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄなど、テキストフィールドを有する任意のアプリケーションおよび／またはコントロールと共にアクセスし、使用することができる。しかし、本発明の態様を説明する前に、本発明を組み込み、本発明の恩恵を受けることができる適切なコンピューティング環境の一実施形態について以下で説明する。
【００１３】
図１を参照すると、スペリングユーザインターフェース（ＵＩ）を有するスピーチ認識ソフトウェアアプリケーションを使用するターゲットソフトウェアアプリケーションによってディスプレイ画面上に表示されたキャラクタを操作する方法を実施するシステム１００を示すブロック図が示されており、このシステムは、処理デバイス１０４、システムメモリ１０６、およびこのシステムメモリ１０６を処理デバイス１０４に結合するシステムバス１０８を含む汎用コンピュータシステム１０２を含んでいる。システムメモリ１０６は、ＲＯＭ（read only memory：読取り専用メモリ）１１０およびＲＡＭ（random access memory：ランダムアクセスメモリ）１１２を含むことができる。起動中などに汎用コンピュータシステム１０２内のエレメント間で情報を転送する助けをする基本ルーチンを含むＢＩＯＳ（basic input/output system：基本入出力システム）１１４は、ＲＯＭ１１０に記憶される。汎用コンピュータシステム１０２は、ハードディスクドライブ１１８、例えば着脱可能な磁気ディスク１２２から情報を読み取り、またはそれに情報を書き込むための磁気ディスクドライブ１２０、例えばＣＤ−ＲＯＭディスク１２６を読み取り、あるいは他の光媒体から情報を読み取り、またはそれに情報を書き込むための光ディスクドライブ１２４などのストレージデバイス１１６をさらに含んでいる。ストレージデバイス１１６は、ハードディスクドライブインターフェース１３０、磁気ディスクドライブインターフェース１３２、光ドライブインターフェース１３４などのストレージデバイスインターフェースによってシステムバス１０８に接続することができる。これらのドライブおよびこれらに関連するコンピュータ読取り可能媒体は、汎用コンピュータシステム１０２についての不揮発性ストレージを実現する。以上のコンピュータ読取り可能媒体の説明では、ハードディスク、着脱可能な磁気ディスク、およびＣＤ−ＲＯＭディスクについて言及しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ（Bernoulli cartridge）など、コンピュータシステムによって読取り可能であり、この所望の最終目的に適している他のタイプの媒体も使用することができることを理解されたい。
【００１４】
ユーザは、キーボード１３６、マウス１３８などのポインティングデバイス、およびマイクロフォン１４０を含めて、従来の入力デバイス１３５を介して汎用コンピュータシステム１０２にコマンドおよび情報を入力することができ、ここでマイクロフォン１４０を使用してスピーチなどのオーディオ入力を汎用コンピュータシステム１０２に入力することができる。さらに、ユーザは、スタイラスを使用して書込みタブレット１４２上にグラフィック情報を描画することにより、描画や手書きなどのグラフィック情報を汎用コンピュータシステム１０２に入力することができる。汎用コンピュータシステム１０２は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなど、この所望の最終目的に適した追加の入力デバイスを含むこともできる。マイクロフォン１４０は、システムバス１０８に結合されるオーディオアダプタ１４４を介して処理デバイス１０４に接続することができる。さらに、他の入力デバイスが、多くの場合にシステムバス１０８に結合されるシリアルポートインターフェース１４６を介して処理デバイス１０４に接続されるが、これらは、ゲームポートやＵＳＢ（universal serial bus：ユニバーサルシリアルバス）など他のインターフェースによって接続することもできる。
【００１５】
ディスプレイ画面１４８を有する、モニタや他のタイプのディスプレイデバイス１４７などのディスプレイデバイス１４７もまた、ビデオアダプタ１５０などのインターフェースを介してシステムバス１０８に接続される。ディスプレイ画面１４８に加えて、汎用コンピュータシステム１０２は、一般的にスピーカおよび／またはプリンタなど他のペリフェラル出力デバイスも含むことができる。汎用コンピュータシステム１０２は、１つまたは複数のリモートコンピュータシステム１５２への論理接続を使用してネットワーク環境中で動作することもできる。リモートコンピュータシステム１５２は、サーバ、ルータ、ピアデバイス、または他の共通ネットワークノードとすることができ、汎用コンピュータシステム１０２に対して説明しているエレメントのうちのどれかまたはすべてを含むことができるが、１つのリモートメモリストレージデバイス１５４しか、図１には示していない。図１に示すような論理接続は、ＬＡＮ（local area network：ローカルエリアネットワーク）１５６およびＷＡＮ（wide area network：ワイドエリアネットワーク）１５８を含んでいる。かかるネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいては一般的なものである。
【００１６】
ＬＡＮネットワーキング環境中で使用されるときには、汎用コンピュータシステム１０２は、ネットワークインターフェース１６０を介してＬＡＮ１５６に接続される。ＷＡＮネットワーキング環境中で使用されるときには、汎用コンピュータシステム１０２は、一般的にインターネットなどのＷＡＮ１５８上で通信を確立するためのモデム１６２または他の手段を含んでいる。モデム１６２は、内蔵または外付けとすることができるが、シリアルポートインターフェース１４６を介してシステムバス１０８に接続することができる。ネットワーク環境においては、汎用コンピュータシステム１０２に関連して示されるプログラムモジュール、またはその一部分は、このリモートメモリストレージデバイス１５４に記憶することもできる。図に示すこれらのネットワーク接続は、例示的なものであり、コンピュータシステム間で通信リンクを確立する他の手段を使用することもできることを理解されたい。このアプリケーションモジュールは、汎用コンピュータシステム以外のホストコンピュータシステムまたはサーバコンピュータシステム上で同等に実装することができ、ＣＤ−ＲＯＭ以外の手段で、例えばネットワーク接続インターフェース１６０を介してこのホストコンピュータシステムに同等に伝送することができることも理解されたい。
【００１７】
さらに、いくつかのプログラムモジュールは、汎用コンピュータシステム１０２のこれらのドライブおよびＲＡＭ１１２に記憶することができる。プログラムモジュールは、汎用コンピュータシステム１０２がどのように機能し、このユーザ、Ｉ／Ｏデバイス、または他のコンピュータと対話するかを制御する。プログラムモジュールは、ルーチン、オペレーティングシステム１６４、ターゲットアプリケーションプログラムモジュール１６６、データ構造、ブラウザ、および他のソフトウェアコンポーネントまたはファームウェアコンポーネントを含んでいる。本発明の方法は、アプリケーションモジュール中に含めることができ、このアプリケーションモジュールは、本明細書中で説明する方法に基づいたスピーチエンジン訂正モジュール１７０など１つまたは複数のプログラムモジュール中で便利に実施することができる。ターゲットアプリケーションプログラムモジュール１６６は、本発明に関連して使用される様々なアプリケーションを含むことができ、その一部は図２に示される。一部のこれらのプログラムモジュールの目的とその間の対話については、図２を説明するテキスト中でさらに十分に説明している。これらは、テキストフィールドを有する任意のアプリケーションおよび／またはコントロール、すなわち例えば電子メールアプリケーション、（ワシントン州、レッドモンド市のマイクロソフト社が生産するＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄなどの）ワードプロセッサプログラム、手書き認識プログラムモジュール、スピーチエンジン訂正モジュール１７０、およびＩＭＥ（ｉｎｐｕｔ  ｍｅｔｈｏｄ  ｅｄｉｔｏｒ入力方式エディタ）を含んでいる。
【００１８】
添付図面中に説明され示されるオペレーション、ステップ、およびプロシージャは、当業者なら本発明の例示の実施形態を実行できるようになるのに十分に開示されていると考えられるので、詳細な説明中で説明される様々なプロシージャを実行するための特定のプログラミング言語については、説明していないことを理解されたい。さらに、例示の実施形態を実行する際に使用することができる多数のコンピュータおよびオペレーティングシステムが存在しており、したがって、これらの多数の異なるシステムのすべてに適用可能となる詳細なコンピュータプログラムは、提供することができない。特定のコンピュータの各ユーザは、そのユーザのニーズおよび目的にとって最も有用な言語およびツールについて知っているはずである。
【００１９】
図２を参照すると、スペリングユーザインターフェース（ＵＩ）を有するスピーチ認識ソフトウェアアプリケーションを使用するターゲットソフトウェアアプリケーションによってディスプレイ画面１４８上に表示されたキャラクタを操作する方法２００を示すブロック図が示され、このスピーチ認識ソフトウェアアプリケーションを使用してこのターゲットソフトウェアアプリケーションに単語を入力するユーザの観点から説明している。
【００２０】
このターゲットソフトウェアアプリケーションにテキストを入力するために、はじめにユーザは、このスピーチ認識ソフトウェアアプリケーションおよびターゲットソフトウェアアプリケーションを動作させて、図３に示すようにこのターゲットソフトウェアアプリケーションを介して少なくとも１つのキャラクタをディスプレイ画面１４８上に表示させる。処理デバイス１０４は、マイクロフォン入力デバイス１３５を介して入力されるユーザ命令に応答してこのスピーチ認識ソフトウェアアプリケーションを動作させることができ、かつ／または処理デバイス１０４は、起動直後にオペレーティングシステム１６４によって認識される「ブートアップ」命令などの命令に応答してこのスピーチ認識ソフトウェアアプリケーションを実行することができることを理解されたい。このスピーチ認識ソフトウェアアプリケーションを起動した後に、このユーザは、マイクロフォン入力デバイス１４０を介してこのスピーチ認識ソフトウェアアプリケーションにコマンドを口頭で伝えて、ターゲットソフトウェアアプリケーションを起動することができる。ここで、このターゲットソフトウェアアプリケーションは、電子メールアプリケーションやＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄなど、テキストフィールドを有する任意のアプリケーションおよび／またはコントロールとすることができる。このターゲットソフトウェアアプリケーションが起動された後に、ターゲットソフトウェアアプリケーションウィンドウ３０２が、ディスプレイ画面１４８上に表示される。次いで、ユーザは、マイクロフォン入力デバイス１４０を介してテキストを入力することにより、このスピーチ認識ソフトウェアアプリケーションを動作させて、ターゲットソフトウェアアプリケーションウィンドウ３０２を介してこのスピーチ認識ソフトウェアアプリケーションに入力済みのテキスト３０４を表示させることができる。この例では、一連の入力済みのテキスト３０４がシステム１００に入力される。一連の入力済みのテキスト３０４は、「I」、「t」、「space（スペース）」、「i」、「s」、「space」、「t」、「h」、「e」、「space」、「i」、「n」、「t」、「e」、「n」、「t」として入力される。しかし、このスピーチ認識ソフトウェアアプリケーションは、この一連の入力済みのテキスト３０４を「I」、「t」、「space」、「i」、「s」、「space」、「t」、「h」、「e」、「space」、「i」、「n」、「v」、「e」、「n」、「t」として「聞いて」おり、したがって、この最後の単語「invent」は、「intent」になるように訂正する必要がある。以上のテキストは、単語全体として、または文字（キャラクタ）として口述することができることを理解されたい。また、この口述筆記機能は、オペレーティングシステムレベルコンポーネントとすることができることを理解されたい。
【００２１】
図４に示すように、これを訂正するために、スペリングコマンドが有効にされて、スペリングＵＩを呼び出し、ユーザは修正すべき単語、すなわち「spell intent（intentをスペリングする）」を汎用コンピュータシステム１０２に対して口頭で伝えることができるようになる。汎用コンピュータシステム１０２がこのスペリングコマンドを受け取るとすぐに、この選択された単語は、識別され、この選択された単語に少なくとも１つのスペース４０４を追加することによって追加済みの単語４０２が作成され、ここで、追加済みの単語４０２は、動作ブロック２０２（図２）に示すように、修正すべき少なくとも１つのキャラクタ４０６を含んでいる。次いで動作ブロック２０４（図２）に示すように、この追加済みの単語中の各キャラクタ４０８には、一意の数値４１０が割り当てられ、関連づけられる。次いで、追加済み単語４０２は、ディスプレイ画面１４８を介して表示されて、追加済みの単語４０２中の各キャラクタ４０８と、これらに割り当てられた一意の数値４１０の間の関連づけを視覚的に伝える。この関連づけは、ディスプレイ画面１４８上の追加済みの単語４０２の周囲にボックス４１２を描画し、追加済みの単語４０２中のキャラクタ４０８に隣接してそれらに割り当てられた一意の各数値４１０を表示することによって視覚的に伝えることができる。したがって、各キャラクタ４０８には、各キャラクタ４０８が関連づけられる一意の数値４１０が「割り当てられる」。例えば、単語「invent」４１４を「intent」に変更しようと望むユーザは、このスピーチ認識ソフトウェアアプリケーションに対して「spell invent（inventをスペリングする）」などのコマンドを口頭で入力する。これは、このスペリングＵＩを実施し、ボックス４１２がディスプレイ画面１４８上の単語「invent」４１４の周囲に表示されるようにするはずである。これはまた、単語「invent」４１４中の各キャラクタに一意の数値４１０が、割り当てられるようにし、この一意の数値は、その対応するキャラクタ４０８に隣接して表示され、これらの両方が図４に示されている。これにより、このユーザは、この単語「invent」中のどの文字を変更および／または訂正することもできるようになる。
【００２２】
この時点において、選択コマンドおよび修正コマンドを、汎用コンピュータシステム１０２が受け取ることができる。ここでこの選択コマンドは、動作ブロック２０６（図２）に示すように選択されたキャラクタに対応する一意の数値４１０である。このことは、汎用コンピュータシステム１０２に対して、追加済みの単語４０２中のどのキャラクタを変更すべきかを示す。汎用コンピュータシステム１０２が、修正コマンドを受け取った後に、動作ブロック２０８（図２）に示すように、修正コマンドに応答して選択されたキャラクタを修正することにより、修正済みの単語が生成される。このユーザは、「削除する（delete）」、「挿入する（insert）」、追加すべき文字／キャラクタなど、複数の修正コマンドを入力することができることを理解されたい。これらの各状況については以下で説明する。
【００２３】
例として、ユーザがディスプレイ画面１４８上に表示された追加済みの単語「invent_」５０４中の文字「v」５０２を削除したいと思う上記の場合について、図５を参照して考察する。以上で説明したように、ユーザは、変更すべきキャラクタに対応する一意の数値を汎用コンピュータシステム１０２に伝える。これらの一意の数値５０８は、数字１から開始され、１ずつ増加するが、任意の一意の数値５０８および増分を割り当てることができることを理解されたい。図から分かるように、追加済みの単語「invent_」５０４中の文字「v」５０２には、「3」という一意の数値５０８が割り当てられている。したがって、このユーザは、数字「3」を汎用コンピュータシステム１０２に対して口頭で伝えることになる。これにより、カレット（caret）５１０によって示されるような、数字「3」に対応し、相関づけられた文字が「選択」され、この場合における文字は、この追加済みの単語「invent_」５０４中の文字「v」５０２となる。次いで、このユーザは、「delete」など所望の修正コマンドを入力することができ、この「delete」は、追加済みの単語「invent_」５０４から文字「v」５０２を削除させることになり、図６に示すようにその結果として「inent」５１２が残される。したがって、修正コマンド「delete」は、追加済みの単語から選択された文字、および対応するスペースを除去することになり、選択カレット５１０は、次の後続のキャラクタ、すなわち「e」を選択することになる。
【００２４】
他方、ユーザが、ディスプレイ画面１４８上に表示される単語「invent」中の文字「n」７０４と文字「v」７０６の間の、文字やスペースなどのキャラクタを挿入したいと思う場合について、図７を参照して考察する。基本的には、ユーザは、一意の数値「3」に対応する位置（spot）にキャラクタを挿入したいと思っている。以上で説明したように、ユーザは、コマンド「spell invent」を口頭で伝えることにより、スペリングＵＩを実行することができる。これにより、スペースが単語「invent」に追加されて、追加済みの単語「invent_」７０８が作成され、ボックス７１０が追加済みの単語「invent_」７０８の周囲に表示され、一意の数値７１２が、追加済みの単語「invent_」７０８中の各キャラクタ４０８に隣接して割り当てられ表示されるようになる。図から分かるように、追加済みの単語「invent_」７０８中の文字「v」７０６には、「3」という一意の数値７１２が割り当てられる。したがって、ユーザは、汎用コンピュータシステム１０２に対して数字「3」を口頭で伝えることになる。このことは、汎用コンピュータシステム１０２に、カレット７１４によって示される数字「3」に対応し、相互に関連づけられた文字を「選択」させる。この例では選択される文字は、追加済みの単語「invent_」７０８中の文字「v」７０６である。次いで、ユーザは、修正コマンドを入力し、汎用コンピュータシステム１０２を適切な方法で応答させることができる。例えば、ユーザが、修正コマンド「insert」を伝え、次いで単語「space」を伝える場合には、スペースが文字「n」７０４と文字「v」７０６の間に挿入されることになり、図８に示すように、追加済みの単語「invent_」７０８を「in vent_」７１６に効果的に変更することになる。この場合に、カレット７１４は、その場にとどまって、一意の数値「3」に関連づけられたスペースが選択されていることを示すはずである。しかし、このユーザが、コマンド「insert」を伝え、次いで文字「p」を伝える場合には、文字「p」が文字「n」７０４と文字「v」７０６の間に挿入されることになり、図９に示すように、追加済みの単語「invent_」を「inpvent_」７１８に効果的に変更することになり、選択カレット７１４は、次のキャラクタに移動して、次のキャラクタ（すなわち、一意の数値「4」に対応するキャラクタ）が選択されていることを示すようになる。
【００２５】
同様に、ユーザが、単にディスプレイ画面１４８上に表示された単語「invent」中の文字を変更しようと思う場合について、図１０を参照して考察する。以上で説明したように、ユーザは、コマンド「spell invent」を口頭で伝えることにより、スペリングＵＩを実施することができる。これにより、スペースが、単語「invent」の最後に追加されて、追加済みの単語「invent_」９０２が作成され、ボックス９０４が、追加済みの単語「invent_」９０２の周囲に表示され、一意の数値９０６が、追加済みの単語「invent_」９０２中の各キャラクタ９０８に隣接して割り当てられ、表示される。図から分かるように、追加済みの単語「invent_」９０２中の文字「v」９１２には、「3」という一意の数値９０６が割り当てられる。したがって、ユーザは、コンピュータシステム１０２に対して数字「3」を口頭で伝えることになる。これにより、数字「3」に対応し、関連づけられた文字が、カレット９１０によって示されるように選択される。この例では選択される文字は、追加済みの単語「invent_」９０２中の文字「v」９１２となる。次いでユーザは、コンピュータシステムを適切な方法で応答するようにする修正コマンド（この例ではコマンドは、単に文字である）を入力することができる。例えば、ユーザが、数字「3」の後に修正コマンド「t」を伝える場合には、文字「v」９１２は、文字「t」で置き換えられて、図１１に示すように、追加済みの単語「invent_」９０２を単語「intent」９１４に効果的に変更することになる。この時点で、選択カレット９１０は、次のキャラクタに移動して、次のキャラクタ（すなわち、一意の数値「4」に対応するキャラクタ）が選択されていることを示すことになる。
【００２６】
ユーザが変更すべき文字に対応する一意の数値を入力した後に、ドロップダウンメニューなど、推奨される修正コマンドのメニューを表示することができる。ここで、割り当てられるはずの推奨される各アクションは、それ自体が一意の数値であることを理解されたい。例えば、ユーザが、ディスプレイ画面１４８上に表示される単語「invent」中の１文字を変更したいと思う場合について、図１２を参照して考察する。ユーザは、コマンド「spell invent」を口頭で伝えることにより、スペリングＵＩを実施することができる。これにより、スペースが、選択された単語「invent」に追加されて、追加済みの単語「invent_」１００２が作成され、ボックス１００４が、追加済みの単語「invent_」１００２の周囲に表示され、一意の数値１００６が、追加済みの単語「invent_」１００２中の各文字に隣接して表示されるようになる。図から分かるように、追加済みの単語「invent_」１００２中の文字「v」１００８には、「3」という一意の数値１００６が割り当てられる。したがって、ユーザは、汎用コンピュータシステム１０２に対して数字「3」を口頭で伝えて、カレット１０１０によって示される一意の数値「3」に対応して、関連づけられた文字を「選択する」ことになり、この例では選択される文字は、追加済みの単語「invent_」１００２中の文字「v」１００８である。図１３に示すように、ユーザにいくつかの修正コマンド選択肢を提供するメニュー１０１２をディスプレイ画面１４８上に表示することができる。これらの各選択肢には、第２の一意の数値１０１４が割り当てられる。次いでユーザは、スピーチ認識ソフトウェアアプリケーションに適切な方法で応答させる所望の修正コマンドに関連づけられた第２の一意の数値１０１４である修正コマンドを入力することができる。例えば、ユーザが、数字「3」の後に数値「4」を伝える場合には、文字「v」１００８は、文字「d」１０１６で置き換えられ、図１４に示すように、効果的に追加済みの単語「invent_」１００２を単語「indent」１０１８に変更することになる。上記と同様に、選択カレット１０１０は、次のキャラクタに移動して、次のキャラクタ（すなわち、一意の数値「4」に対応するキャラクタ）が選択されていることを示すことになる。
【００２７】
推奨される修正コマンドのメニュー１０１２は、選択された文字または単語と音響的に同様な響きのキャラクタ／単語のメニューなど、所望の最終目的に適した任意の修正コマンドを含むことができること、例えば、「v」が選択される場合には、メニュー１０１２は、「d」、「t」、「e」、「g」、「3」を含むことになることを理解されたい。さらに、メニュー１０１２は、これらのキャラクタの大文字、例えば、「V」、ならびにスペルチェッカからのオートコンプリートのリストを含むこともできる。したがって、この実施例では、メニュー１０１２は、単語「indent」、「intent」、「amend」を含むことができる。さらに、本発明は、複数のファンクションを同時に実施する音声コマンド、例えば「Change 3 to "e" as in eagle」を含むこともでき、あるいは選択された単語中に文字「t」が１つしかない場合には、「Change t to g」は、文字「t」を文字「g」に変更することができることを理解されたい。選択された単語中に２つの文字「t」が存在した場合には、さらに正確にするためにこのユーザに対してフィードバックを行うことができる。さらに、変更されたキャラクタを元の状態に戻すことができる「アンドゥ（undo）」など他のコマンドも提供することができ、例えば、ユーザが、（選択された文字を大文にするために）「cap that」と発声するが、この入力が「caret（カレット）」と認識された場合には、ユーザは、「アンドゥ」と発声して、この文字をその元の状態に戻すこともできる。
【００２８】
例示の実施形態によれば、機械読取り可能コンピュータプログラムに応答して動作するコントローラにより、図２の処理の全体または一部を実施することができる。したがって、所定のファンクションおよび所望の処理、ならびに計算（例えば、１つ（または複数）の実行制御アルゴリズム、本明細書中で説明している制御プロセスなど）を実施するために、コントローラは、それだけには限定されないが、１つ（または複数）のプロセッサ、１つ（または複数）のコンピュータ、メモリ、ストレージ、１つ（または複数）のレジスタ、タイミング、１つ（または複数）の割込み、１つ（または複数）の通信インターフェース、および１つ（または複数）の入出力信号インターフェース、ならびに前述のうちの少なくとも１つを含む組合せを含むことができる。
【００２９】
さらに、本発明は、コンピュータまたはコントローラに実装されたプロセスの形態で、実施することができる。本発明はまた、フロッピー（登録商標）ディスケット、ＣＤ−ＲＯＭ、ハードドライブ、および／または他の任意のコンピュータ読取り可能媒体などの有形媒体中に実施される命令を含むコンピュータプログラムコードの形態で実施することもできる。ここで、このコンピュータプログラムコードが、コンピュータまたはコントローラにロードされ実行されると、このコンピュータまたはコントローラは、本発明を実行するための装置になる。本発明はまた、例えば、ストレージ媒体に記憶され、コンピュータまたはコントローラによってロードおよび／または実行され、あるいは電気配線またはケーブル配線上、光ファイバを介して、電磁放射線を介してなど、何らかの伝送媒体上で伝送されるかにかかわらず、コンピュータプログラムコードの形態で実施することもできる。ここで、このコンピュータプログラムコードが、コンピュータまたはコントローラにロードされ実行されると、このコンピュータまたはコントローラは、本発明を実行するための装置になる。汎用マイクロプロセッサ上で実行されると、このコンピュータプログラムコードセグメントは、マイクロプロセッサを設定して、特定の論理回路を作り出すことができる。
【００３０】
例示の実施形態に関して本発明を説明してきたが、本発明の趣旨および範囲を逸脱することなく、様々な変更、省略、および／または追加を行うことができ、また本発明のエレメントについて同等物で代用することができることが当業者には理解されよう。さらに、本発明の範囲を逸脱することなく、本発明の教示に対して特定の状況または材料に合わせられるように、多くの修正を行うことができる。したがって、本発明は、本発明を実行するように企図された最良の態様として開示された特定の実施形態だけには限定されず、本発明は、添付の特許請求の範囲の範囲内に含まれるすべての実施形態を包含することになることを意図している。さらに、特に明記されない限り、第１の、第２のなど、これらの用語のどのような使用も、どのような順序または重要度を示すものでもなく、そうでなくて、第１の、第２のなど、これらの用語は、１つのエレメントを別のエレメントから区別するために使用されている。
【図面の簡単な説明】
【００３１】
【図１】例示の実施形態にしたがって、スペリングユーザインターフェース（ＵＩ）を有するスピーチ認識ソフトウェアアプリケーションを使用して、ディスプレイ画面上に表示されるキャラクタを操作する方法を実施するシステムのブロック図である。
【図２】例示の実施形態にしたがって、スペリングユーザインターフェース（ＵＩ）を有するスピーチ認識ソフトウェアアプリケーションを使用して、ディスプレイ画面上に表示されるキャラクタを操作する方法を示すブロック図である。
【図３】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図４】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図５】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図６】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図７】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図８】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図９】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図１０】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図１１】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図１２】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図１３】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【図１４】図２の方法を説明するための、図１におけるシステムのディスプレイ画面である。
【符号の説明】
【００３２】
１４７  ディスプレイデバイス
１４８  ディスプレイ画面
３０２  ターゲットソフトウェアアプリケーションウィンドウ
３０４  入力済みのテキスト
４０２  追加済みの単語
４０４  スペース
４０６  修正すべきキャラクタ
４０８  追加済みの単語中の各キャラクタ
４１０  追加済みの単語の各キャラクタに割り当てられた一意の数値
４１２  ボックス
４１４  単語
【図１】
2006146887.tif 000003
【図２】
2006146887.tif 000004
【図３】
2006146887.tif 000005
【図４】
2006146887.tif 000006
【図５】
2006146887.tif 000007
【図６】
2006146887.tif 000008
【図７】
2006146887.tif 000009
【図８】
2006146887.tif 000010
【図９】
2006146887.tif 000011
【図１０】
2006146887.tif 000012
【図１１】
2006146887.tif 000013
【図１２】
2006146887.tif 000014
【図１３】
2006146887.tif 000015
【図１４】
2006146887.tif 000016