(57)【特許請求の範囲】
【請求項１】
言語モデリングコンポーネントをカスタマイズする、コンピュータにより実行される方法であって：
言語モデリングコンポーネントのリストを表示するステップ；
前記リストからの１つ以上の言語モデリングコンポーネントの選択を受けるステップ；
選択された１つ以上の言語モデリングコンポーネントに対する固定ウェイト値の選択を受けるステップ；
前記選択に基づいて情報を生成するステップであって、前記情報は、１つ以上のドメインに基づく前記選択された１つ以上の言語モデリングコンポーネントと、前記選択された１つ以上の言語モデリングコンポーネントに対して選択された値とを示す、ステップ；
前記情報をサービスプロバイダへ送信するステップ；及び
前記情報に基づく前記選択された言語モデリングコンポーネントのカスタマイズされた組み合わせを、前記サービスプロバイダから受信するステップ；
を有する方法。
【請求項２】
前記情報と前記１つ以上の言語モデリングコンポーネントとの間の関連性を維持するステップを更に有する請求項１に記載の方法。
【請求項３】
前記情報は、前記１つ以上のドメインに基づいて予めコンパイルされた言語モデルの選択を更に含む、請求項１に記載の方法。
【請求項４】
前記情報は、予めコンパイルされたリストからの１つ以上の認識トピックの選択を含み、前記１つ以上の認識トピックは前記１つ以上の言語モデリングコンポーネントに対応する、請求項１に記載の方法。
【請求項５】
請求項１ないし４のうち何れか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムを保存する記憶媒体。
【請求項７】
言語モデリングコンポーネントをカスタマイズするシステムであって：
実行可能なプログラムコードを保存するメモリ；及び
前記メモリに機能的に結合されるプロセッサ；
を有し、前記プロセッサは、前記プログラムコードに含まれるコンピュータ実行可能な命令に応じて動作を行い、前記動作は：
言語モデリングコンポーネントのリストを表示するステップ；
前記リストからの１つ以上の言語モデリングコンポーネントの選択を受けるステップ；
選択された１つ以上の言語モデリングコンポーネントに対する固定ウェイト値の選択を受けるステップ；
前記選択に基づいて情報を生成するステップであって、前記情報は、１つ以上のドメインに基づく前記選択された１つ以上の言語モデリングコンポーネントと、前記選択された１つ以上の言語モデリングコンポーネントに対して選択された値とを示す、ステップ；
前記情報をサービスプロバイダへ送信するステップ；及び
前記情報に基づく前記選択された言語モデリングコンポーネントのカスタマイズされた組み合わせを、前記サービスプロバイダから受信するステップ；
を有する、システム。
【請求項８】
前記動作は、前記情報と前記１つ以上の言語モデリングコンポーネントとの間の関連性を維持するステップを更に有する、請求項７に記載のシステム。
【請求項９】
前記情報は、前記１つ以上のドメインに基づいて予めコンパイルされた言語モデルの選択を更に含む、請求項７に記載のシステム。
【請求項１０】
前記情報は、予めコンパイルされたリストからの１つ以上の認識トピックの選択を含み、前記１つ以上の認識トピックは前記１つ以上の言語モデリングコンポーネントに対応する、請求項７に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
スマートフォン、デスクトップ、ラップトップ、タブレット、ゲームコンソール等のような多くのコンピューティングデバイスは、音声検索及びショートメッセージ口述(dictation)のような多数の様々なドメインにわたって使用する自動音声認識(automatic  speech  recognition：ASR)を組み込むアプリケーションを利用している。音声認識の質を改善するために、(例えば、ショッピング、ゲーム、音楽、映画などの)言語モデルがしばしば使用され、様々な分野にフォーカスされた音声の認識を促す。言語モデルを利用することに関連する現在の弱点は、異なるドメインが認識サービスプロバイダにより同時に供給されなければならないASR状況を含む。これらの状況では、多数の潜在的に大きな言語モデルがメモリに維持されなければならず、認識サービスプロバイダのリソースに負担をかけてしまう。本発明の様々な形態はこれら及び他の観点からなされている。
【発明の概要】
【０００２】
この概要の欄は、以下の詳細な説明で更に説明される概念のうち選択されたものを簡易な形式で紹介するために設けられている。この概要の欄は、請求項に係る対象事項についての主要な特徴又は本質的特徴を識別するためには意図されておらず、請求項に係る対象事項の範囲を判断する材料としても意図されてもいない。
【０００３】
実施例は音声認識のための言語モデリングコンポーネントのカスタマイズをもたらす。言語モデルコンポーネントのリストは、コンピューティングデバイスにより利用可能にされる。そして、リスト中の複数の言語モデルコンポーネントを組み合わせるために認識サービスプロバイダにヒントが送られる。ヒントは多数の異なるドメインに基づいていてもよい。言語モデリングコンポーネントのうちのカスタム化された組み合わせは、ヒントに基づいて、コンピューティングデバイスにより受信される。
【０００４】
これら及び他の特徴並びに利点は、以下の詳細な説明を読むとともに関連する図面を閲覧することにより更に明らかになるであろう。上記の一般的な説明及び以下の詳細な説明は何れも例示であるに過ぎず、請求項に係る発明の限定ではないことが、理解されるべきである。
【図面の簡単な説明】
【０００５】
【図１】図1は音声認識のための言語モデリングコンポーネントをカスタム化する一実施例によるシステムを示すブロック図である。
【０００６】
【図２】図2は一実施例による図1のシステムにより使用される様々なヒントを示すブロック図である。
【０００７】
【図３】図3は一実施例による図1のシステムにより使用される様々なドメインを示すブロック図である。
【０００８】
【図４】図4は一実施例による音声認識のための言語モデリングコンポーネントをカスタム化するルーチンを示す一実施例によるフローチャートである。
【０００９】
【図５】図5は様々な形態が実施されてよいコンピューティングデバイスの簡略化されたブロック図である。
【００１０】
【図６Ａ】図6Aは様々な形態が実施されてよいモバイルコンピューティングデバイスについての概略ブロック図である。
【００１１】
【図６Ｂ】図6Bは様々な形態が実施されてよいモバイルコンピューティングデバイスについての概略ブロック図である。
【００１２】
【図７】図7は様々な形態が実施されてよい分散型コンピューティングシステムについての概略ブロック図である。
【発明を実施するための形態】
【００１３】
実施例は音声認識のための言語モデリングコンポーネントのカスタム化をもたらす。言語モデリングコンポーネントのリストは、コンピューティングデバイスのために利用可能にされる。そして、リスト中の複数の言語モデルコンポーネントを組み合わせるために認識サービスプロバイダにヒントが送られる。ヒントは複数のドメインのうちの何れかに基づいてよい。言語モデリングコンポーネントのうちのカスタム化された組み合わせは、ヒントに基づいて、コンピューティングデバイスにより受信される。
【００１４】
以下の詳細な説明では、本願の一部を為す添付図面が参照され、図面には具体的な形態又は具体例が例示的に示されている。本発明の精神又は範囲から逸脱することなく、これらの形態は組み合わせられてもよいし、他の形態が使用されてもよいし、構造的な変更が施されてもよい。従って以下の詳細な説明は限定的な意味で解釈されるべきでなく、本発明の範囲は添付の特許請求の範囲とその均等物によって規定される。
【００１５】
各図を通じて同様な番号は同様な要素を表現する各図面を参照しながら、本発明の様々な側面が説明される。図1は音声認識のための言語モデリングコンポーネントをカスタム化するために使用されてよい一実施例によるシステム100を示すブロック図である。システム100は、コンピューティングデバイス150と通信する認識サービスプロバイダ102を含み、コンピューティングデバイス150は、1人以上のユーザー(図示せず)から音声及び/又は文字の入力を受信するように構成される。一実施例では、認識サービスプロバイダ102は、コンピューティングデバイス150(すなわち、「ヒント」)上で動作するアプリケーション170により提供される「ヒント」160(すなわち、ガイダンス)に基づいて、特定の音声認識ドメイン又はシナリオに特化された言語モデリングコンポーネントの様々な組み合わせを目指して、音声認識の「オンザフライ」又はオンラインの言語モデル補間を行うように構成される。特に、本願で詳細に説明されるように、アプリケーション170により提供されるヒント160は、認識サービスプロバイダ102による言語モデルカスタム化のための柔軟なスキーマを形成する。
【００１６】
様々な実施例において、コンピューティングデバイス150は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、ビデオゲームコンソール又はテレビジョンを含んでよいが、これらに限定されない。コンピューティングデバイス150は、スピーチ(又は音声)を検出し及びビデオ/画像を受信するために使用される1つ以上の記録装置(図示せず)を含んでもよいし或いはそれらと通信する(そのような装置は、例えば、「MICROSOFT  KINECT」(登録商標)、マイクロフォン等である)。コンピューティングデバイス150は、ヒント160を提供するように構成されるアプリケーション170を保存し、ヒント160は言語モデリング(LM)コンポーネント120をカスタム化するために認識サービスプロバイダ102により使用されてよい。一実施例によれば(以下において詳細に説明されるように)、アプリケーション170は、LMコンポーネント120を含むLMコンポーネントリスト165を生成するように構成されてよい。一実施例では、LMコンポーネント120は、音声認識に使用されてよいコンポーネント125A-125Nを含んでよい。一実施例では、コンポーネント125A-125Nの様々な組み合わせが、特定のドメイン、シナリオ又は状況に基づいて、包含される又はウェイト130とともに(例えば、アプリケーション開発者により)提供される。例えば、ゲームに主に使用されるドメイン又はシナリオに向けて特化されたコンポーネント125A-125Nの組み合わせを含む言語モデルは、以下のように適用されるウェイトを有してもよい(ゲーム0.5，映画0.3及び音楽0.2。他のコンポーネントタイプ(例えば、ショッピング等)及びウェイトの組み合わせも可能である。
【００１７】
一実施例では、LMコンポーネント120は、アプリケーション170から受信したヒント160に含まれるガイダンスに基づいて認識サービスプロバイダ102によりカスタム化されるコンポーネントコンビネーション(コンポーネントの組み合わせ)の選択において使用される(すなわち、言語モデル105)。特に、言語モデル105は、プレコンパイルされた(又は事前にまとめられた)コンポーネントコンビネーション110、トピックに基づくコンポーネントコンビネーション112、固定ウェイトのコンポーネントコンビネーション114及び他のコンポーネントコンビネーション116を含んでよいが、これらに限定されない。例えば、プレコンパイルされたコンポーネントコンビネーション110を含む言語モデルは、ショートメッセージ口述の音声検索のような特定のドメインに対して特化されてもよく；トピックに基づくコンポーネントコンビネーション112を含む言語モデルは、システム100で現在利用可能なLMコンポーネントに対応する1つ以上のトピック/スタイルに基づく利用可能なアイテムのプレコンパイルされたリスト(例えば、ショッピング、ゲーム、音楽など)に基づいてもよく；固定ウェイトのコンポーネントコンビネーション114を含む言語モデルは、特定のシナリオに対する開発者の知識(intuition)に対して特化されたLMコンポーネントの既存の固定ウェイトの組み合わせを含んでよい(例えば、ウェイト130はLMコンポーネントに適用される)。
【００１８】
本願で詳細に説明されるように、認識サービスプロバイダ102は、様々な認識状況又はシナリオに対して最適なLMコンポーネントコンビネーションを選択する際にヒント160を活用する。一実施例では、ヒント160は、認識リクエスト175言語モデル補間の一部として(すなわち、「オンザフライ」)、認識サービスプロバイダ102に、アプリケーション170により送られる。別の実施例では、ヒント160は、オフライン初期化プロセスの一部として、認識サービスプロバイダ102に、アプリケーション170により送られる。一実施例によれば、アプリケーション170は音声認識アプリケーションを含み、音声認識アプリケーションは、例えば、ワシントン州レドモンドのマイクロソフトコーポレーションによる「BING  VOICE  SEARCH」、「WINDOWS（登録商標）  PHONE  SHORT  MESSAGE  DICTATION」及び「XBOX  MARKET  PLACE  VOICE  SEARCH」のアプリケーション等であってよい。しかしながら、本願で説明される様々な形態に従って、他の業者による他のアプリケーション(オペレーティングシステムを含む)が代替的に使用されてもよいことが、理解されるべきである。
【００１９】
図2は一実施例による図1のシステム100により使用される様々なヒント160を示すブロック図である。ヒント160は、事前設定されたコンビネーションヒント210、認識トピックヒント220、再利用の既存のコンビネーションヒント230、テキストコーパスヒント240、及び、オーディオコーパスヒント250を含む。事前設定されたコンビネーションヒント210は、音声サーチ、ショートメッセージ口述などのような広範囲に及ぶドメインをカバーするLMコンポーネント(例えば、LMコンポーネント120)についての予め為された(例えば、アプリケーション開発者により為された)選択を含んでよい。所定の選択は、例えば、認識サービスプロバイダ102による「オンザフライ」コンポーネント補間のためのLMコンポーネントの既存の固定ウェイト組み合わせ又は予めコンパイルされた言語モデルを含んでよい。
【００２０】
認識トピックヒント220は、LMコンポーネント120に対応する利用可能なアイテムの予めコンパイルされたリストの中からの1つ又はそれ以上のトピック/スタイルのマニュアルによる選択を含んでよい。例えば、LMコンポーネントがショッピング、ゲーム、音楽、映画などを含む場合、予めコンパイルされたリストは、(例えば、ゲームコンソールのための音楽、映画、ゲームなどのような)特定の音声認識アプリケーションに適切であるように、アプリケーション開発者により選択されたLMコンポーネントに対応するアイテムを含んでもよい。上述したように、一実施例では、LMコンポーネントはアプリケーション開発者によるウェイトとともに提供されてもよい。認識サービスプロバイダ102が認識トピックヒント220を受信した後に、認識サービスプロバイダ102は、アプリケーション170から認識リクエストを受信した場合に、提供されたウェイトとともに、選択されたLMコンポーネントを加えてよいことが、認められるべきである。
【００２１】
再利用の既存のコンビネーションヒント230は、LMコンポーネントの既存のシナリオ固有の組み合わせの再利用を考慮する。例えば、アプリケーション開発者が既存の認識アプリケーションを既に有し、その既存の認識アプリケーションに関し、LMコンポーネントの組み合わせが既に最適化されているかもしれない。再利用の既存のコンビネーションヒント230に応じて、認識サービスプロバイダ102により、同じコンビネーションが、新しいが類似するシナリオについて再利用されてよい。
【００２２】
テキストコーパスヒント240は、そのコーパスに関し、最適なLMコンポーネント補間係数を学習するために、システムのドメイン内テキストコーパスを含む。例えば、アプリケーション開発者がソフトウェア関連トランスクリプト(software-related  transcripts)の集まりを提供する場合、その結果の言語モデルは、ソフトウェア関連オーディオリクエストを取り扱うように期待される。LMコンポーネントのウェイトベクトルをコーパスに関して最適化するために、期待値最大化(Expectation  Maximization)アルゴリズムのような技術が利用されてよいことを、当業者は認めるべきである。上記のヒント210-230とは異なり、テキストコーパスヒント240(及び口述するオーディオコーパスヒント)は、黙示的なヒントであることが、理解されるべきである。
【００２３】
オーディオコーパスヒント250は、コーパスに関して最適なLMコンポーネント補間係数を学習するため、システム100のドメイン内オーディオコーパスを含んでよい。一実施例では、類似する認識精度に到達するために、ドメイン内テキストコーパスに必要なサンプルよりも、かなり多数のサンプルが必要とされるかもしれないことが、理解されるべきである。
【００２４】
図3は一実施例による図1のシステム100において使用されてよい様々なドメイン300を示すブロック図である。ドメイン300は、音声サーチドメイン310及びショートメッセージ口述ドメイン320等のような広範囲に及ぶドメインを含んでよい。ドメイン300は、ゲームコンソールドメイン330等のような狭い範囲のドメインを含んでもよい。一実施例において、アプリケーション170は、LMコンポーネントコンビネーションを指定するために直感的なドメイン名(例えば、「XBOXドメイン」)を指定するように構成されてよい。ドメイン300は、上述したものに加えて広い又は狭いドメインを含み得る他のドメイン340を含んでよい。
【００２５】
図4は一実施例による音声認識のための言語モデリングコンポーネントをカスタム化するルーチン400を示す一実施例によるフローチャートである。ここに提示されるルーチンの議論を考察する場合、本発明の様々な実施例の論理的な動作は、(1)コンピュータにより実行される一連の動作又はコンピューティングシステムで動作するプログラムモジュールとして、及び/又は、(2)コンピューティングシステム内の相互接続されたマシン論理回路又は回路モジュールとして実現されてよいことが、認められるべきである。実現手段は、本発明を実現するコンピューティングシステムのパフォーマンス条件に依存して選択される事項である。従って、図4に示される及び本願で説明される様々な実施例を為す論理的な動作は、動作、構造デバイス、処理あるいはモジュールのように様々に言及されてよい。本願の特許請求の範囲に記載されるような本発明の精神及び範囲から逸脱することなく、これらの動作、構造デバイス、処理及びモジュールは、ソフトウェア、ハードウェア、ファームウェア、特定用途向けディジタル論理装置、及び、それらの任意の組み合わせにより実現されてよいことが当業者に認められるであろう。
【００２６】
ルーチン400は動作405において始まり、コンピューティングデバイス150で動作するアプリケーション170が、ユーザー(例えば、アプリケーション開発者)による選択のために、言語モデリング(LM)コンポーネントのリストを提示する。様々な実施例において、リストは、ユーザーインターフェース155に表示されてもよいし、代替的に、プログラム的アクセス(programmatic  access)によりアプリケーション開発者に提供されてもよい。例えば、リストは図1に関連して上述したLMコンポーネントリスト165を含んでもよい。
【００２７】
動作405から、ルーチン400は動作410に続き、コンピューティングデバイス150で動作するアプリケーション170は、リストから選択されるLMコンポーネントを組み合わせるためのヒントを送信する。ヒント160は1つ以上のドメイン300に基づいていてよい。例えば、一実施例では、ヒント160は、1つ以上のドメインに基づくプレコンパイルされた言語モデル(例えば、プレコンパイルされたコンポーネントコンビネーション110)の選択肢を含んでよい。別の実施例では、ヒント160は、1つ以上のドメインに基づくLMコンポーネントの固定ウェイトの組み合わせの選択肢(例えば、固定ウェイトのコンポーネントコンビネーション114)を含んでよい。更に別の実施例では、ヒント160は、1つ以上のLMコンポーネントに対応する(例えば、プレコンパイルされたリストからの)1つ以上の認識トピックの選択肢(例えば、トピックに基づくコンポーネントコンビネーション112)を含んでよい。図1に関連して上述したように、1つ以上のウェイト130がLMコンポーネントに適用されてもよい。別の実施例では、ヒント160は、図2に関連して上述したような、ドメイン内テキストコーパス或いはドメイン内オーディオコーパスを含んでよい。更に別の実施例では、ヒント160は、再利用のためのLMコンポーネントの既存の組み合わせを含んでよい。一実施例では、ヒント160は、認識リクエストとともに、認識サービスプロバイダ102へアプリケーション170により送信されてよいことが、理解されるべきである。別の実施例では、ヒント160は、オフライン初期化プロセスの一部として、認識リクエストを送信する前に認識サービスプロバイダへ送信されてもよい。例えば、アプリケーション開発者は、登録プロセスの一部として、アプリケーションを起動する前にヒント160を送信し、これにより、ヒント160を処理するための十分な時間を認識サービスプロバイダ102に提供してもよい。ドメイン内テキストコーパス及びドメイン内オーディオコーパス(上述)のような黙示的なヒントが、この形式で提出されてもよいことが、認められるべきである。
【００２８】
動作410から、ルーチン400は動作415に続き、コンピューティングデバイス150で動作するアプリケーション170は、ヒント160に基づいてカスタマイズされたLMコンポーネントの組み合わせを受信する。特に、コンピューティングデバイス150は、ヒント160において受信されるガイダンスに基づいて認識サービスプロバイダ102によりカスタマイズされた言語モデル(例えば、何れかの言語モデル105)を受信する。
【００２９】
動作415から、ルーチン400は動作420に続き、コンピューティングデバイス150で動作するアプリケーション170は、提出したヒントと関連するLMコンポーネントとの間のコネクション(又は関連性又は結び付き)を維持してもよい。例えば、アプリケーション開発者によりマニュアルで選択されたトピックを含むヒントと、認識サービスプロバイダ102によりカスタマイズされた対応するLMコンビネーション又は言語モデルのライフサイクルとの間の安定したコネクションを維持するように、アプリケーション170は構成されてもよい。特に、一実施例によれば、アプリケーション開発者は固有のIDの提供を受け、固有のIDは、アプリケーション開発者により識別される特定のシナリオ(又はそれに匹敵するシナリオ)に応じた認識に使用される特定のカスタマイズされた言語モデルを参照するために使用される。上記のアプローチは様々な粒度レベル(granularity  level)で適用されてよいことが理解されるべきであり、粒度レベルは例えばドメイン毎、シナリオ毎、アプリケーション毎、アプリケーション分野毎、アプリケーションユーザー毎、及びこれらの組み合わせを含んでよいが、これらに限定されない。動作420を経てルーチン400は終了する。
【００３０】
図5ないし図7及び関連する記述は、本発明の実施例が使用されてよい様々な動作環境を議論している。しかしながら、図5ないし図7に関連して図示及び説明されるデバイス及びシステムは、例示及び説明を目的としており、本願で説明される発明形態を実施するために使用されてよい膨大な数のコンピューティングデバイスの構成についての限定ではない。
【００３１】
図5は様々な形態が実施されてよいコンピューティングデバイス500の具体的な物理構成を示すブロック図である。基本構成では、コンピューティングデバイス500は少なくとも1つの処理ユニット502及びシステムメモリ504を含んでよい。コンピューティングデバイスの構成及び種類に依存して、システムメモリ504は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、リードオンリメモリ(ROM))、フラッシュメモリ又はそれらの任意の組み合わせを含んでよいが、これらに限定されない。システムメモリ504は、オペレーティングシステム505及びアプリケーション170を含んでよい。オペレーティングシステム505は、例えば、コンピューティングデバイス500の動作を制御することに適しており、一実施例では、ワシントン州レドモンドのマイクロソフトコーポレーションによるウィンドウズ（登録商標）オペレーティングシステムを有する。アプリケーション170(一実施例では、オペレーティングシステム505に含まれてよい)は、例えば、(図4のルーチン400の動作に関して上述したような)言語モデリングコンポーネントをカスタマイズすることを含むルーチンを実行する機能を含んでよい。
【００３２】
コンピューティングデバイス500は追加的な特徴又は機能を有してよい。例えば、コンピューティングデバイス500は、例えば、磁気ディスク、光ディスク、ソリッドステートストレージデバイス(SSD)、フラッシュメモリ又はテープ等のような追加的な(取り外し可能な及び/又は取り外し可能でない)データストレージデバイスを含んでよい。そのような追加的なストレージは、取り外し可能なストレージ509及び取り外し可能でないストレージ510により、図5に示されている。コンピューティングデバイス500は、キーボード、マウス、ペン、音声入力デバイス(例えば、マイクロフォン)、ジェスチャを受け付けるタッチ入力デバイス、加速度計又は回転センサ等のような入力デバイスも有する。ディスプレイ、スピーカ、プリンタ等のような出力デバイス514が含まれていてもよい。上記のデバイスは具体例であり、それ以外のものが使用されてもよい。コンピューティングデバイス500は、他のコンピューティングデバイス518との通信を可能にする1つ以上の通信コネクション516を含んでよい。適切な通信コネクション516の具体例は、RF送信機、受信機、及び/又はトランシーバ回路；ユニバーサルシリアルバス(USB)、パラレル及び/又はシリアルポート等を含んでよいが、これらに限定されない。
【００３３】
更に、様々な形態が電気回路又はシングルチップで実施されてもよく、その電気回路は、個別電子素子、論理ゲートを含むパッケージングされた又は集積された電子チップ、マイクロプロセッサを使用する回路を含み、シングルチップは電子素子又はマイクロプロセッサを含む。例えば、様々な形態はシステムオンチップ(SOC)により実施されてもよく、その場合、図5に示される各々又は複数のコンポーネントは、単独の集積回路に統合されてもよい。そのようなSOCデバイスは、1つ以上の処理ユニット、グラフィックスユニット、通信ユニット、システム可視化ユニット、及び、様々なアプリケーション機能を含み、それらの機能は全て単独の集積回路としてチップ基板上で集積されてよい(又は「焼き付け」られてよい)。SOCにより動作する場合、上記の機能は、単独の集積回路(チップ)上でコンピューティングデバイス/システム500の他のコンポーネントとともに統合されるアプリケーション固有の論理装置により動作してよい。実施例は、例えば、AND、OR及びNOT等のような論理動作を実行することが可能な他の技術を利用して実施されてよく、他の技術は、機械的技術、光学的技術、流体的技術及び量子的技術を含んでよいが、これらに限定されない。更に、実施例は、汎用コンピュータの中で又は何らかの他の回路若しくはシステムにおいて実施されてよい。
【００３４】
本願で使用されるようなコンピュータ読み取り可能な媒体という用語はコンピュータ記憶媒体(又は記録媒体)を含んでよい。コンピュータ記憶媒体は、情報を保存するための任意の方法又は技術で実施される揮発性及び不揮発性の、着脱可能及び着脱可能でないものを含んでよく、情報は、例えばコンピュータ読み取り可能な命令、データ構造又はプログラムモジュール等である。システムメモリ504、取り外し可能なストレージデバイス509及び取り外し可能でないストレージデバイス510は、全て、コンピュータ記憶媒体(すなわち、メモリストレージ)の具体例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM(電気的に消去可能なリードオンリメモリ)、フラッシュメモリ又は他のメモリ技術、CD-ROM、ディジタル多用途ディスク(DVD)又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、或いは、他の何らかの製品を含んでよく、その製品は、情報を保存するために使用されることが可能であり且つコンピューティングデバイス500によりアクセスされることが可能である。そのような何らかのコンピュータ記憶媒体は、コンピューティングデバイス500の一部分であってもよい。コンピュータ記憶媒体は、搬送波を含まず、及び、伝搬又は変調されるデータ信号を含まない。
【００３５】
通信媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は、例えば搬送波などのような変調されたデータ信号における他のデータ、又は、他の伝送手段により実現されてよく、及び、任意の情報配信媒体を含んでよい。「変調されたデータ信号」という用語は、信号中の情報をエンコードするためのそのような方法で設定又は変更された1つ以上の特性を有する信号を表す。非限定的な具体例として、通信媒体は、有線媒体(例えば、有線ネットワーク又は直接配線されたコネクション)、及び、無線媒体(例えば、音響、無線周波数(RF)、赤外線及び他の無線媒体)を含んでよい。
【００３６】
図6A及び図6Bは、様々な形態が実施されてよい例えばモバイルコンピューティングデバイス650である適切なモバイルコンピューティング環境を示し、モバイルコンピューティングデバイス650は、例えば、スマートフォン、タブレットパーソナルコンピュータ、ラップトップコンピュータ等を含んでよいが、  これらに限定されない。図6Aを参照すると、実施形態の一例によるモバイルコンピューティングデバイス650が示されている。基本構成では、モバイルコンピューティングデバイス650は、入力要素及び出力要素の双方を有する携帯用コンピュータである。入力要素は、タッチスクリーンディスプレイ625及び入力ボタン610を含み、モバイルコンピューティングデバイス650に情報を入力することをユーザーに許容する。モバイルコンピューティングデバイス650は、別のユーザー入力を許容する選択的な側面入力要素620を組み込んでもよい。選択的な側面入力要素620は、回転スイッチ、ボタン、又は、他の任意の種類のマニュアル入力要素であってよい。代替的な実施例では、モバイルコンピューティングデバイス650は、より多数の又はより少数の要素を組み込んでいてもよい。更に別の代替例では、モバイルコンピューティングデバイスは、ディスプレイ625及び入力ボタン610を有するセルラー電話機などのような携帯電話システムである。モバイルコンピューティングデバイス650は選択的なキーパッド605を含んでもよい。選択的なキーパッド605は、タッチスクリーンディスプレイ上で生成される「ソフト」キーパッド又は物理的なキーパッドであってよい。
【００３７】
モバイルコンピューティングデバイス650は、ディスプレイ625のような出力要素を組み込んでおり、ディスプレイはグラフィックユーザーインターフェース(GUI)を表示することが可能である。他の出力要素はスピーカ630及びLED680である。更に、モバイルコンピューティングデバイス650はバイブレーションモジュール(図示せず)を組み込んでおり、バイブレーションモジュールは、ユーザーにイベントを通知するためにモバイルコンピューティングデバイス650を振動させる。更に別の形態では、モバイルコンピューティングデバイス650は、出力信号を提供する別の手段を提供するヘッドフォンジャック(図示せず)を組み込んでいてもよい。
【００３８】
モバイルコンピューティングデバイス650との組み合わせで説明されているが、代替的な形態は、デスクトップ環境、ラップトップ又はノートブックコンピュータシステム、マイクロプロセッサシステム、マイクロプロセッサベースの又はプログラム可能なコンシューマ電子装置、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等のような任意のコンピュータシステムとの組み合わせで使用されてよい。様々な形態は、遠隔した(複数の)処理デバイスによりタスクが実行される分散型コンピューティング環境で実施されてもよく、その処理デバイスは分散型コンピューティング環境における通信ネットワークを介してリンクされ；プログラムは、ローカル及びリモート双方のメモリストレージデバイスに配置されてよい。要するに、複数の環境センサ、ユーザーに通知を提供する複数の出力要素、及び、複数の通知イベントタイプを有する任意のコンピュータシステムは、本願で説明される様々な形態を組み込んでよい。
【００３９】
図6Bは、図6Aに示されるモバイルコンピューティングデバイス650のような一形態で使用されるモバイルコンピューティングデバイスのうちのコンポーネントを示すブロック図である。すなわち、モバイルコンピューティングデバイス650は或る形態を実現するようにシステム602を組み込むことが可能である。例えば、システム602は、デスクトップ又はノートブックコンピュータのアプリケーションと類似する1つ以上のアプリケーションを実行することが可能な「スマートフォン」を実現する際に使用されることが可能である。一実施例では、システム602は、統合されたパーソナルディジタルアシスタント(PDA)及びワイヤレスフォンのようなコンピューティングデバイスとして統合されている。
【００４０】
アプリケーション170は、メモリ662にロードされ、オペレーティングシステム664上で又はそれに関連して動作する。システム602はメモリ662内に不揮発性ストレージ668を含む。不揮発性ストレージ668は、システム602の電源が遮断された場合でも失われるべきでない永続的な情報を保存するために使用される。アプリケーション170は不揮発性ストレージ668における情報を使用し及びそこに保存する。アプリケーション170は、例えばルーチンを実行する機能を有し、ルーチンは例えば図4のルーチン400の動作に関して上述したような言語モデリングコンポーネントをカスタマイズすることを含んでよい。同期アプリケーション(図示せず)がシステム602に常駐し、それはホストコンピュータに存在する対応する同期アプリケーションと相互作用するようにプログラムされ、ホストに保存される対応する情報と同期して不揮発性ストレージ668に保存される情報を維持する。他のアプリケーションがメモリ662にロードされ、コンピューティングデバイス650上で動作してよいことも、理解されるべきである。
【００４１】
システム602は、1つ以上のバッテリとして実現されてよい電源供給部670を有する。電源供給部670は、ACアダプタのような外部電源、又は、バッテリを補足又は再充電する給電されるドッキングクレードル(cradle)を含んでもよい。
【００４２】
システム602は無線部672(すなわち、無線インターフェースレイヤ)を含み、無線部は無線周波数通信信号を送信及び受信する機能を実行する。無線部672は、通信キャリア又はサービスプロバイダにより、システム602と「外の世界(outside  world)」との間の無線接続を促進する。無線部672への及びそこからの通信は、OS664の制御の下で行われる。言い換えれば、無線部672により受信された通信信号はOS664を介してアプリケーション170に拡布され、その逆も行われる。
【００４３】
無線部672は、ネットワークを介して行うような他のコンピューティングデバイスとの通信をシステム602に許容する。無線部672は通信媒体の一例である。システム602の実施例は、(1)視覚的な通知を提供するために使用されることが可能なLED680及び(2)聴覚的な通知を提供するためにスピーカ630とともに使用されることが可能なオーディオインターフェース674という2種類の通知出力デバイスを有するように示されている。これらのデバイスは電源供給部670に直接的に結合され、デバイスが起動されると、たとえプロセッサ660及び他のコンポーネントがバッテリ電力を節約するためにシャットダウンされたとしても、通知手段により指示される期間にわたってデバイスがそのまま残るようにする。LED680は、ユーザーが動作を行うまでいつまでも、デバイスのパワーオン状態を表示したままであるようにプログラムされてよい。オーディオインターフェース674は、可聴信号をユーザーへ提供する及びユーザーから可聴信号を受信するために使用される。例えば、スピーカ630に結合されることに加えて、オーディオインターフェース674は、例えば電話の会話を促すように可聴(例えば、音声)の入力を受信するためにマイクロフォン(図示せず)にも結合されてよい。一実施例によれば、マイクロフォンは、通知の制御を促すためのオーディオセンサとして機能する。システム602は、更に、静止画及びビデオストリーム等を記録するためにオンボードカメラの動作を実行させるビデオインターフェースを含んでよい。
【００４４】
システム602を実現するモバイルコンピューティングデバイスは追加的な特徴又は機能を有してよい。例えば、デバイスは、例えば、磁気ディスク、光ディスク又はテープ等のような(取り外し可能な及び/又は取り外し可能でない)追加的なデータストレージデバイスを含んでよい。そのような追加的なストレージは、図6Bにおいてストレージ668として示されている。
【００４５】
モバイルコンピューティングデバイス650により生成又は取得され、システム602により保存されたデータ/情報は、上述したように、モバイルコンピューティングデバイス650にローカルに保存されてもよいし、或いは、データは、モバイルコンピューティングデバイス650とモバイルコンピューティングデバイス650に関連する別個のコンピューティングデバイス(例えば、インターネットのような分散型コンピューティングネットワークにおけるサーバーコンピュータ)との間の有線接続又は無線接続を介して、デバイスによりアクセスされる任意のストレージ媒体に保存されてよい。そのようなデータ/情報は、無線部672により又は分散コンピューティングネットワークを経由して、モバイルコンピューティングデバイス650によりアクセスされてよいことが、理解されるべきである。同様に、そのようなデータ/情報は、ストレージのたえの子ピューティングデバイス同士の間で容易に転送され、周知のデータ/情報転送及びストレージ手段により使用されてよく、そのような手段は電子メール及び協調的なデータ/情報共有システムを含む。
【００４６】
図7は様々な形態が実施されてよい分散型コンピューティングシステムについての概略ブロック図である。分散型コンピューティングシステムは、コンピューティングデバイス703、タブレットコンピューティングデバイス705及びモバイルコンピューティングデバイス710等のような多数のクラインとデバイスを含んでよい。クライアントデバイス703，705及び710は、分散型コンピューティングネットワーク715(例えば、インターネット)と通信してよい。サーバー720は、ネットワーク715を介して、クライアントデバイス703，705及び710と通信する。サーバー720はルーチンを実行するアプリケーション170を保存し、ルーチンは、例えば、図4のルーチン400の動作に関連して上述した言語モデリングコンポーネントをカスタマイズすることを含む。
【００４７】
開発されたコンテンツ、アプリケーションと相互作用するコンテンツ、又は、アプリケーション170に関連して編集されるコンテンツは、様々な通信チャネル又は他のストレージタイプに保存されてよい。例えば、様々な文書は、ディレクトリサービス722、ウェブポータル724、メールボックスサービス726、インスタントメッセージングストア(保存部)728、又は、ソーシャルネットワーキングサイト730を利用して保存されてよい。アプリケーション170は、本願で説明されるようにデータの利用を可能にするために、システムのこれらのタイプのうち何れかを使用する。サーバー720はクライアントに対するプロキシミティアプリケーション170を提供する。一例として、サーバー720は、ウェブ上でアプリケーション170を提供するウェブサーバーであってもよい。サーバー720はネットワーク715によりクライアントにウェブを介してアプリケーション170を提供する。一例として、コンピューティングデバイス10は、コンピューティングデバイス703として実現され、パーソナルコンピュータ、タブレットコンピューティングデバイス705及び/又はモバイルコンピューティングデバイス710(例えば、スマートフォン)に組み込まれてもよい。これら任意の形態のコンピューティングデバイス703，705及び710は、ストア716からコンテンツを取得する。
【００４８】
以上、方法、システム、コンピュータプログラムプロダクト等の動作例及び/又はブロックを参照しながら、様々な形態が説明されてきた。ブロックに示される機能/処理は、何らかのフローチャートに示されているものと異なる順序でなされてもよい。例えば、連続的に示される2つのブロックが実質的に事実上同時に実行されてもよいし、関連する機能/動作に依存して、複数のブロックはしばしば逆の順序で実行されてもよい。
【００４９】
本願に示される1つ以上の実施例の記述及び説明は、如何なる方法によっても、請求項に係る発明の範囲を限定及び制限するようには意図されていない。実施例、具体例、及び、本願に示される詳細な事項は、請求項に係る発明のベストモードの理解を促し且つ当業者がそれを生成及び使用できる程度に十分であると考えられる。請求項に係る発明は、実施例、具体例、及び、本願に示される詳細な事項の何れかに限定されるように解釈されるべきでない。組み合わせ又は個別的な形式で図示及び説明されているか否かによらず、(構造及び方法の双方の)様々な特徴は、特定の一群の特徴を備える実施例をもたらすように、選択的に包含又は省略されるように意図されている。本願についての記述及び説明が提供されることにより、当業者は、本願に組み込まれる一般的な発明概念の広範囲に及ぶ精神の範囲内に属する変形例、修正例及び代替例を想定してもよく、その変形例などは、請求項に係る発明の広範囲に及ぶ目的から逸脱するものではない。
【図１】
0006571106.tif 000002
【図２】
0006571106.tif 000003
【図３】
0006571106.tif 000004
【図４】
0006571106.tif 000005
【図５】
0006571106.tif 000006
【図６Ａ】
0006571106.tif 000007
【図６Ｂ】
0006571106.tif 000008
【図７】
0006571106.tif 000009