(57)【要約】【課題】  アプリケーション用ボイス活性化ユーザ・インターフェースについて記載する。【解決手段】  ボイス活性化ユーザ・インターフェースは、音声認識部を呼び出して、ユーザからのオーディオ入力を認識する。オーディオ入力がコマンドである場合、妥当性判断部を呼び出して、実行の前にコマンドの妥当性を判断するか否か決定する。【選択図】      図１
2009503623.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能オーディオ・コマンドの妥当性を判断するシステムであって、
音声認識部からコマンドを受信し、アプリケーション・コマンドのデータ・ストアに基づいて、前記コマンドの妥当性を判断するか否か決定するように構成されている妥当性判断部を備えている、システム。
【請求項２】
請求項１記載のシステムにおいて、前記データ・ストアは、破壊的コマンドのリストを含む、システム。
【請求項３】
請求項２記載のシステムにおいて、前記データ・ストア内にあるアプリケーション・コマンドの全ては単音節である、システム。
【請求項４】
請求項１記載のシステムにおいて、前記妥当性判断部は、ユーザに前記コマンドの実行を確認することを促すためにユーザ・インターフェースを呼び出すことによって、前記コマンドの妥当性を判断する、システム。
【請求項５】
請求項４記載のシステムにおいて、前記ユーザ・インターフェースは、前記コマンドの実施を確認するために、音による催促または文章による催促の内の１つを含む、システム。
【請求項６】
請求項１記載のシステムにおいて、前記データ・ストアは、破壊的コマンドのリストと、該破壊的コマンドの妥当性を判断すべきインスタンスまたはアプリケーションに関する情報とを含む、システム。
【請求項７】
請求項１記載のシステムであって、更に、音声入力から前記コマンドを認識する前記音声認識部を備えている、システム。
【請求項８】
ボイス活性化ユーザ・インターフェースであって、
音声をユーザからのオーディオ入力コマンドであることを認識するために、音声認識部を呼び出すことができる音声支援部と、
前記オーディオ入力コマンドに応答して呼び出され、前記オーディオ入力コマンドの妥当性を判断するか否か決定する妥当性判断部と、
前記オーディオ入力コマンドに基づいて前記音声支援部によって選択されるインターフェース・エレメントを有するユーザ・インターフェースと、
を備えている、ボイス活性化ユーザ・インターフェース。
【請求項９】
請求項８記載のボイス活性化ユーザ・インターフェースにおいて、前記妥当性判断部は、前記オーディオ入力コマンドの妥当性を判断するか否か決定するために、アプリケーション・コマンドのデータ・ストアを評価する、ボイス活性化ユーザ・インターフェース。
【請求項１０】
請求項９記載のボイス活性化ユーザ・インターフェースにおいて、前記データ・ストアは、破壊的コマンドのリストを含む、ボイス活性化ユーザ・インターフェース。
【請求項１１】
請求項１０記載のボイス活性化ユーザ・インターフェースにおいて、前記データ・ストアの破壊的コマンドの全ては、単音節である、ボイス活性化ユーザ・インターフェース。
【請求項１２】
請求項８記載のボイス活性化ユーザ・インターフェースにおいて、前記妥当性判断部は、前記オーディオ入力コマンドの実施を確認することをユーザに促すインターフェースを呼び出す、ボイス活性化ユーザ・インターフェース。
【請求項１３】
請求項８記載のボイス活性化ユーザ・インターフェースにおいて、前記音声認識部は、前記ユーザ・インターフェースから発生したアプリケーション・コマンドの文法を用いる、ボイス活性化ユーザ・インターフェース。
【請求項１４】
コンピュータで実施される方法であって、
オーディオ入力を受信するステップと、
前記オーディオ入力からユーザ・コマンドを認識する音声認識部を呼び出すステップと、
アプリケーション・コマンドのデータ・ストアに基づいて、前記ユーザ・コマンドの妥当性を判断するか否か決定するステップと、
を備えている、コンピュータで実施される方法。
【請求項１５】
請求項１３記載の方法において、前記データ・ストア・コマンドの全ては、単音節の破壊的コマンドである、方法。
【請求項１６】
請求項１４記載の方法であって、更に、
前記ユーザ・コマンドの実行を確認することをユーザに促すことによって、前記ユーザ・コマンドの妥当性を判断するステップを備えている、方法。
【請求項１７】
請求項１６記載の方法において、前記催促は、音または文章による催促の内の一方である、方法。
【請求項１８】
請求項１４記載の方法であって、更に、
ユーザが入力することなく、アプリケーション・コマンドのリストを前記データ・ストアに入力するステップを備えている、方法。
【請求項１９】
請求項１４記載の方法であって、更に、ユーザからのフィードバックに基づいて、アプリケーション・コマンドに対してデータ・ストア・レコードを発生するステップを備えている、方法。
【請求項２０】
請求項１４記載の方法であって、更に、前記アプリケーション・コマンドのデータ・ストアを動的に入力するためにアプリケーションを用いるステップを備えている、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
音声認識アプリケーションは、音声を認識し、認識した音声に基づいてテキストを発生し、および／またはコマンドを実行する。音声認識には誤りが生じ易く、その結果、時々間違ったテキストが表示されたり、間違ったコマンドが実行されることがある。
【０００２】
以上の論述は、一般的な背景情報を提供するに過ぎず、特許請求する主題の範囲を判断する際の補助として用いられることは意図していない。
【発明の開示】
【０００３】
ボイス活性化ユーザ・インターフェース（「ＵＩ」）は、コマンドの実行前に、選択的にその妥当性を判断する。音声認識部を呼び出して、ユーザからの音声入力を認識する。音声入力がコマンドである場合、妥当性判断部を呼び出して、コマンドが妥当か否か判定を行う。入力コマンドに応じて、妥当性判断部は、ユーザが入力コマンドを実行したいことを確認する、またはその妥当性を判断するように、ユーザに促す。
【０００４】
この摘要は、以下で詳細の説明において更に説明する概念の選択を、簡略化した形態で導入するために設けられている。この摘要は、特許請求する主題の鍵となる特徴や必須の特徴を識別することを意図しているのでなければ、特許請求する主題の範囲を判断する際の補助として用いられることも意図しているのではない。
【発明を実施するための最良の形態】
【０００５】
図１は、実施形態を実施することができる、適した計算機システム環境１００の一例を示す。計算機システム環境１００は、適した計算機環境の一例に過ぎず、本発明の使用範囲や機能性について限定を示唆する意図は全くない。また、計算機環境１００は、動作環境例１００に示す構成要素のいずれの１つまたは組み合わせに関しても、何らかの依存性や必須要件を有するという解釈は行わないこととする。
【０００６】
実施形態は、その他の多数の汎用または特殊目的計算機システム環境または構成を用いても動作する。種々の実施形態と共に用いるのに適していると考えられる周知のコンピュータ・システム、環境、および／または構成の例には、パーソナル・コンピュータ、サーバ・コンピュータ、ハンド・ヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、テレフォニ・システム(telephony system)、前述のシステムまたはデバイスのいずれをも含む分散型計算機環境等が含まれる。
【０００７】
実施形態は、コンピュータによって実行するプログラム・モジュールのような、コンピュータ実行可能命令に関して総合的に説明する。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象的データ・タイプを実現する。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスがタスクを実行する分散型計算機環境においても実用可能である。分散型計算環境では、プログラム・モジュールは、メモリ記憶装置を含むローカルおよびリモート・コンピュータ記憶媒体双方に配することができる。
【０００８】
図１を参照すると、一部の実施形態を実施するシステム例は、コンピュータ１１０の形態とした汎用計算機を含む。コンピュータ１１０の構成要素は、限定ではなく、演算装置１２０、システム・メモリ１３０、およびシステム・バス１２１を含むことができる。システム・バス１２１は、システム・メモリを含む種々のシステム構成要素を演算装置１２０に結合する。システム・バス１２１は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このような構造には、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、改良ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格連合（ＶＥＳＡ）ローカル・バス、先進グラフィックス・ポート（ＡＧＰ）、およびMezzanine バスとしても知られている周辺素子相互接続（ＰＣＩ）バスが含まれる。
【０００９】
コンピュータ１１０は、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ１１０がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体から成ると考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたはその他のメモリ技術、ＣＤ―ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ１１０がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化するものであり、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、その特性集合の１つ以上が、情報を信号内にエンコードするようなやり方で、変化している信号を意味する。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲に当然含まれるものとする。
【００１０】
システム・メモリ１３０は、リード・オンリ・メモリ（ＲＯＭ）１３１およびランダム・アクセス・メモリ（ＲＡＭ）１３２のような揮発性および／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、例えばスタートアップ期間中、コンピュータ１１０内のエレメント間におけるデータ転送を補助する基本的なルーチンを含み、通例ＲＯＭ１３１内に格納されている。ＲＡＭ１３２は、通例、演算装置１２０が直ちにアクセス可能であるデータおよび／またはプログラム・モジュール、または現在これによって処理されているデータおよび／またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図１は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７を示す。
【００１１】
また、コンピュータ１１０は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図１は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ１４１、リムーバブル不揮発性磁気ディスク１５２からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ１５１、ならびにＣＤ―ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク１５６からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ１５５を示す。動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ１４１は、通例、インターフェース１４０のような非リムーバブル・メモリ・インターフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライバ１５１および光ディスク・ドライブ１５５は、通例、インターフェース１５０のようなリムーバブル・メモリ・インターフェースによって、システム・バス１２１に接続する。
【００１２】
先に論じ図１に示すドライブおよびそれらと連動するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ１１０のその他のデータを格納する。図１では、例えば、ハード・ディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。
【００１３】
ユーザは、キーボード１６２、マイクロフォン１６３、およびマウス、トラックボールまたはタッチ・パッドのような、ポインティング・デバイス１６１によって、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース１６０を介して、演算装置１２０に接続されている。ユーザ入力インターフェース１６０は、システム・バス１２１に結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ１９１またはその他の形式の表示装置も、ビデオ・インターフェース１９０のようなインターフェースを介して、システム・バス１２１に接続されている。モニタに加えて、コンピュータは、スピーカ１９７およびプリンタ１９６のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース１９５を通じて接続することができる。
【００１４】
コンピュータ１１０は、リモート・コンピュータ１８０のような１つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ１８０は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピュータ１１０に関して先に説明したエレメントの多くまたは全てを含むが、図１にはメモリ記憶装置１８１のみを示す。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７１およびワイド・エリア・ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
【００１５】
ＬＡＮネットワーク環境で用いる場合、コンピュータ１１０は、ネットワーク・インターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続する。ＷＡＮネットワーク環境で用いる場合、コンピュータ１１０は、通例、モデム１７２、またはインターネットのようなＷＡＮ１７３を通じて通信を確立するその他の手段を含む。モデム１７２は、内蔵でも外付けでもよく、ユーザ入力インターフェース１６０またはその他の適切な機構を介してシステム・バス１２１に接続することができる。ネットワーク環境では、コンピュータ１００に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図１は、リモート・アプリケーション・プログラム１８２がメモリ素子１８１上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
【００１６】
図２は、計算機環境の一例である、移動体デバイス２００のブロック図である。移動体デバイス２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）部２０６、およびリモート・コンピュータまたはその他の移動体デバイスと通信するための通信インターフェース２０８を含む。一実施形態では、前述の構成要素は、適したバス２１０を通じて互いに通信するために結合されている。
【００１７】
メモリ２０４は、バッテリ・バックアップ・モジュール（図示せず）を有するランダム・アクセス・メモリ（ＲＡＭ）のような、不揮発性電子メモリとして実施され、移動体デバイス２００全体の電力を遮断しても、メモリ２０４に格納されている情報が失われないようになっている。実施形態の一例では、メモリ２０４の一部を、プログラム実行用のアドレス可能なメモリとして割り当てられており、メモリ２０４の別の部分は、ディスク・ドライブ上のストレージを模擬する等のために、格納用に用いられる。
【００１８】
メモリ２０４は、オペレーティング・システム２１２、アプリケーション・プログラム２１４、およびオブジェクト・ストア２１６を含む。動作の間、プロセッサ２０２はオペレーティング・システム２１２をメモリ２０４から実行する。一実施形態では、オペレーティング・システム２１２は、Microsoft Corporation（マイクロソフト社）から市販されているWINDOWS（登録商標）ブランドのオペレーティング・システムである。オペレーティング・システム２１２は、移動体デバイス用に設計されており、データベース機構を実装しているので、露出(exposed)アプリケーション・プログラミング・インターフェースおよびメソッドの集合を通じて、アプリケーション２１４がデータベース機構を利用可能となっている。オブジェクト・ストア２１６内にあるオブジェクトは、少なくとも部分的に露出アプリケーション・プログラミング・インターフェースおよびメソッドに対するコールに応答して、アプリケーション２１４およびオペレーティング・システム２１２によって維持されている。  
【００１９】
通信インターフェース２０８は、移動体デバイス２００に情報を送信および受信させる多数のデバイスおよび技術を代表する。これらのデバイスは、有線およびワイヤレス・モデム、衛星受信機、およびブロードキャスト・チューナを含み、これら以外にも多数ある。また、移動体デバイス２００をコンピュータに直接接続して、これとデータを交換することもできる。このような場合、通信インターフェース２０８は、赤外線送受信機あるいはシリアルまたはパラレル通信接続部とすることができ、これらの全てはストリーミング情報を送信することができる。
【００２０】
入力／出力部２０６は、接触感応画面、ボタン、ローラ、およびマイクロフォンのような種々の入力デバイス、ならびにオーディオ発生器、振動デバイス、およびディスプレイを含む種々の出力デバイスを含む。ここに羅列したデバイスは、一例であり、全てが移動体デバイス２００上になくてもよい。加えて、その他の入力／出力デバイスを移動体デバイス２００に取り付けてもよく、あるいは移動体デバイス２００と共にあってもよい。
【００２１】
図３は、ユーザ・インターフェース２５０がアプリケーション３００をボイスによって活性化することを可能にするシステムを示す。図３に示すように、このシステムは、音声支援部３０２を含む。音声支援部３０２は、音声認識部３０４を呼び出すように構成されており、例えば、マイクロフォンまたはその他の音声入力デバイスを通じてユーザからのオーディオ入力を受信し、音声をデコードしてテキスト３０９を識別する。テキスト３０９は、口述(dictation)３１０および／またはコマンド３１２から成る。口述３１０の例には、ワープロ文書の本文および／または電子メール・メッセージの本文が含まれる。
【００２２】
コマンド３１２は、「送付」、「印刷」、「削除」、または「保存」のようなタスクを実行するための命令を含む。音声支援部３０２は、ユーザ・インターフェース２５０を調べて、どのエレメントがインターフェース上に表示されているか判定を行い、各エレメントに付随するラベルを判定する。ラベルおよびインターフェースのエレメントに基づいて、音声支援部３０２は、文法(grammar)３１４を構築する。文法３１４は、音声認識部３０４がある種の認識した単語および句をコマンドと指定する際に用いられる。通例、文法３１４はコマンドの規則を定義し、当該コマンドが先端の無音区切り(pause of silence)と後端の無音区切りとの間に来るようにする。
【００２３】
音声支援部３０２は、ユーザ・インターフェース２５０を通じてコマンド３１２を実行する前に、妥当性判断部３２０を呼び出して、コマンド３１２の妥当性を判断する。妥当性判断部３２０は、別個のオブジェクト・モジュールとすることができ、あるいは音声支援部３０２と一体であることも可能である。
【００２４】
妥当性判断部３２０は、入力コマンド３１２の妥当性を判断するために、異なる妥当性判断技法を用いることができる。このような技法の１つでは、入力コマンド３１２を、データ・ストア３２２内にある破壊的単音節コマンドのリストと比較する。破壊的コマンドとは、容易に元に戻すことができないコマンドのことである。例えば、「送付」(send)というコマンドは単音節であり、破壊的であると見なされる。何故なら、多くの電子メール・システムにおいて、電子メール文書は、送付コマンドを実行した後には、送付を取り消すことができないからである。「送付」のような単音節コマンドを妥当性判断の対象に選択したのは、これらが誤って認識され易いからである。妥当性判断にはユーザの入力が必要とするので、妥当性判断は、誤認識の可能性が高い場合のみに制限することが望ましい。本発明者は、誤認識の可能性が単音節の単語では遥かに高いことを発見し、したがって、一実施形態の下では、妥当性判断を単音節コマンドのみに実行する。
【００２５】
入力コマンド３１２がデータ・ストア３２２における破壊的コマンドの１つである場合、妥当性判断部３２０は、ブロック３２４に示すように、ユーザが処理を進めたいか否か確認するように、ユーザに促す。例えば、ユーザが電子メール・メッセージを作成しており、「送付」という単語を発声した場合、妥当性判断部３２０は、ユーザが電子メールを送付したいことを確認するように、ユーザに促す。
【００２６】
妥当性判断の催促即ちメッセージ３２４は、アプリケーション・プログラム３００のユーザ・インターフェース２５０を通じて表示または実施することができる。妥当性判断の催促は、異なる形態で実施することができる。例えば、音による催促または文章による催促を用いることができる。
【００２７】
一実施形態では、ユーザにコマンド３１２を確認するように促す際、このコマンドに対応するボタンまたはアイコンを、コンピュータ・ディスプレイまたは画面上で視覚的に強調する。次いで、ユーザは、強調されているコマンドを実行したいことを確認する。ユーザは、はい／いいえのフィードバック選択肢を用いることによって、強調されているコマンドを確認することができる。あるいは、アプリケーション３００は、ユーザがアプリケーションまたはプログラムに逆のことを命令したのではないのであれば、アプリケーション３００がある時間遅延の後にコマンドを実行するというメッセージを表示することもできる。
【００２８】
図４は、コンピュータ・アプリケーションまたはプログラムにボイス活性化インターフェースを実施するステップを示すフロー・チャートである。図示のように、音声支援部３０２は、ステップ３５０に示すように、音声認識部３０４を呼び出して、入力音声を受信する。ステップ３５２において、音声認識部３０４は、入力音声が口述かまたはアプリケーション・コマンドか判定を行う。
【００２９】
入力音声の属性に基づいて、更にアプリケーション・コマンドの文法３１４に基づいて、テキストおよびコマンドを区別する。例えば、コマンドの属性区別は、コマンドを発声の残りの部分から分離する先端および後端の区切り(pause)を含むことができる。
【００３０】
しかしながら、別の実施形態では、自由な形式の音声口述を用いることができ、この場合でもコマンドの確認または妥当性判断を用いることもできる。
認識した音声が口述であった場合、ステップ３５４に示すように、ユーザ・インターフェース２５０の現在アクティブになっているユーザ・インターフェース・エレメントにテキストを入力する。
【００３１】
認識した音声がコマンドである場合、妥当性判断部３２０は、ステップ３５６に示すように、コマンドが破壊的かまたは非破壊的か、または確認を要求するか否か判定を行う。
図示の実施形態では、コマンドが破壊的である場合、ブロック３５８に示すように、ユーザからの確認を要求する。コマンドが破壊的でない場合、ステップ３５９において、コマンドをユーザ・インターフェース・エレメントの選択に変換し、選択したメソッドに対してコールを行う。
【００３２】
ステップ３６０に示すように、破壊的コマンドがユーザによって確認された場合、ステップ３５９において、コマンドをユーザ・インターフェース・エレメントの選択に変換する。それ以外の場合、ユーザがコマンドを確認しないと、コマンドを実行しない。ステップ３９９に示すように、プロセスは次の音声入力を待機する。
【００３３】
妥当性判断部３２０は、コマンドを実行する前に、選択的に確認を要求するために、データ・ストア３２２の中にあるコマンドのリストを用いる。実行前の確認のために、破壊的または単音節コマンドを識別するためにデータ・ストアを用いることによって、誤認識や、意図しないタスクまたは関数の実行を低減する。
【００３４】
破壊的コマンドのリストは、手作業でデータ・ストア３２２に入力することができる。例えば、破壊的コマンドは、ユーザが入力せずに、入力することができる。別の実施形態では、データ・ストア３２２のレコードを、ユーザからのフィードバックに基づいて発生する。更に別の実施形態では、エンド・ユーザが、データ・ストア３２２の中にある破壊的単語のリストを修正するように、アプリケーションを構成することができる（アプリケーションが実行中でも構わない）。例えば、音声認識部３０４がコマンド「実行」(run)を出力したが、ユーザは「実行」と発音しなかったまたはこれを意図しなかった場合、ユーザは、認識誤りがあったことを示すフィードバックをアプリケーションに供給することができる。具体的には、ユーザは、コマンド「実行」は実行してはいけなかったこと、そして「実行」コマンドは今後妥当性を判断しなければならないことを示すことができる。次いで、このコマンドをデータ・ストア３２２に追加し、今後はこのコマンドを実行する前にユーザに促すようにする。
【００３５】
実施形態の一例では、アプリケーション自体がデータ・ストア３２２に破壊的コマンドのリストを入力することができる。これは様々な方法で行うことができる。一方法によれば、アプリケーションをインストールするときに、アプリケーションが破壊的コマンドのリストをデータ・ストア３２２に入力する。
【００３６】
別の方法によれば、アプリケーションは、ユーザ・インターフェース２５０におけるある種のエレメントに動的に破壊的であるという印を付ける。つまり、音声支援部３０２がアプリケーション３００とインターフェースして、表示されているエレメントまたはインターフェース・コマンドを判定するとき、音声支援部３０２はどのコマンドが破壊的か判定することもできる。例えば、一インターフェースまたはアプリケーションにおいて、ユーザが「赤」を発音した場合（赤い旗を表す）、「赤」に破壊的の印を付け、音声コマンドまたは発声の実行を確認するために、確認ステップを用いる。同じアプリケーションの異なる部分または異なるアプリケーションでは、「赤」は単に適すとの色を変化させることができるだけであり、したがって、「赤」には破壊的の印が付けられず、確認ステップは用いられない。
【００３７】
コマンドが破壊的となる実例に関する情報は、破壊的コマンドのリストに埋め込むことができる。例えば、"send/all applications"（送付／全アプリケーション)は、「送付」コマンドが全てのアプリケーションにとって破壊的であることを示し、一方"red/alertmonitor"は、「赤」が"alertmonitor"と呼ばれるアプリケーションのみにとって破壊的であることを示す。
【００３８】
このように、図示の実施形態では、データ・ストア３２２は、スタティック・ストアとすることができ、または代わりに、データ・ストア３２２に動的に入力することができ、記載した特定的な実施形態に用途が限定されるのではない。
【００３９】
以上、構造的特徴および／または方法論的行為(methodological acts)に特定したことばで、主題について説明したが、添付した特許請求の範囲に定義した主題は、前述の特定的な特徴や行為には必ずしも限定されないことは言うまでもない。逆に、前述の特定的な特徴や行為は、特許請求の範囲を実施する形態の例として開示したのである。
【図面の簡単な説明】
【００４０】
【図１】図１は、本発明を実用化することができる一計算環境のブロック図である。
【図２】図２は、本発明を実用化することができる代替計算環境のブロック図である。
【図３】図３は、アプリケーション・コマンドの妥当性判断部を含む、ボイス活性化ユーザ・インターフェースの一実施形態のブロック図である。
【図４】図４は、本発明によるボイス活性化ユーザ・インターフェースを実施する一実施形態を示すフロー図である。
【図１】
2009503623.tif 000003
【図２】
2009503623.tif 000004
【図３】
2009503623.tif 000005
【図４】
2009503623.tif 000006
【国際調査報告】
2009503623.tif 000007
2009503623.tif 000008