(57)【要約】  １つまたは複数の実装において、検出されたテキスト文字に対応するテキスト予測の候補が、適応言語モデルに従って生成される。適応言語モデルは、異なる対話シナリオのための予測候補をランク付けして選択するべく組み合わせられた、それぞれのスコアリングデータを有する、複数の個別の言語モデル辞書を含んで構成されてよい。あらかじめ定義された一般集団辞書に加えて、辞書には、ユーザーのスタイルに予測を適応させるために、ユーザーのタイピング行動を監視することにより学習される、個人用辞書および／または対話固有の辞書が含まれてよい。そして、予測用の組み合わせられた確率は、適応言語モデルの複数の辞書からの個々の確率の、重み付き組合せとして計算される。一実装において、複数の異なる言語に対応する辞書を組み合わせて、多言語予測を生成することができる。
2016519349.tif 000002
【特許請求の範囲】
【請求項１】
装置との対話(interaction)中にテキスト文字の入力を検出するステップと、
適応(adaptive)言語モデルに従って、前記検出されたテキスト文字に対応する１つまたは複数のテキスト予測の候補を生成するステップと、
前記１つまたは複数のテキスト予測の候補を採用して、装置との対話のためのさらなるテキストの入力を容易にする(facilitate)ステップと、を含む方法。
【請求項２】
前記適応言語モデルが、テキスト予測エンジンによりなされる予測を、個人ベースでユーザーのタイピングスタイルに適応させるべく構成される、請求項１に記載の方法。
【請求項３】
前記適応言語モデルが、単語および対応するスコアリングデータのソースとして、複数の言語モデル辞書を用いるべく設計される、請求項１に記載の方法。
【請求項４】
前記複数の言語モデル辞書が、グローバル辞書と、ユーザー固有の辞書とを含み、
前記１つまたは複数のテキスト予測の候補を生成するステップが、
前記グローバル辞書と前記ユーザー固有の辞書とから、単語候補についての条件付き(conditional)確率の貢献度を数学的に組み合わせて、予測候補(prediction candidates)のためのスコアを計算するステップと、
前記計算されたスコアに基づき、前記予測候補をお互いに対してランク付けするステップと、
を含む、請求項３に記載の方法。
【請求項５】
前記１つまたは複数のテキスト予測の候補を生成するステップが、前記適応言語モデルに関連する複数の辞書に含まれる単語に関連する、スコアリングデータの重み付き組合せを計算するステップを含む、請求項１に記載の方法。
【請求項６】
ユーザー固有ベースで、タイピング行動に関するデータを収集して、前記適応言語モデルのユーザー固有の辞書を作成するステップと、
特定の対話シナリオを示す使用法パラメーターを、収集されたタイピング行動に関する前記データに関連付けるステップと、
前記使用法パラメーターに基づき、それぞれの対話シナリオに対応する１つまたは複数の対話固有の辞書を形成するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記１つまたは複数のテキスト予測の候補を採用するステップが、ユーザーによる選択のための装置のユーザーインターフェースを介して、１つまたは複数のテキスト予測の候補の表現を示すステップを含む、請求項１に記載の方法。
【請求項８】
命令を記憶する１つまたは複数のコンピューター可読記憶媒体であって、前記命令がコンピューティング装置によって実行されると、前記コンピューティング装置に、
１つまたは複数の検出されたテキスト文字に基づき、複数の辞書を、テキストの予測のための単語のソースとして使用するものであると識別する(identifying)工程であって、前記複数の辞書が、ユーザーのコミュニティを通して共通の使用法(usage)を代表するグローバル辞書と、前記コンピューティング装置の特定のユーザーによるテキスト入力に基づき動的に生成されて、前記特定のユーザーの個人のタイピングスタイルを反映する、少なくとも１つの他の辞書と、を含む、工程と、
前記複数の辞書に含まれる単語に関連するスコアリングデータの重み付き組合せを使用して、前記検出されたテキスト文字のための予測候補として、単語をお互いに対してランク付けする工程と、
前記ランク付けに従って、１つまたは複数の上位ランキングの単語を、前記検出されたテキスト文字のための予測候補として選択する工程と、
前記選択された単語を利用して、テキストの入力を容易にする工程と、
含む動作を実行させる１つまたは複数のコンピューター可読記憶媒体。
【請求項９】
前記単語をお互いに対してランク付けする工程が、前記検出されたテキスト文字のための潜在的な予測候補として識別される単語について、前記複数の辞書に由来する個々のスコアを補間する工程を含む、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１０】
前記選択された単語を利用する工程が、
前記検出されたテキスト文字のための予測としての前記選択された単語のうちの１つまたは複数を、対応する予測の入力を引き起こすべく動作可能なユーザーインターフェースの要素として出力する工程と、
前記選択された単語のうちの１つを使用して、前記検出されたテキスト文字の自動修正を実行する工程と、または
前記選択された単語に基づき、前記コンピューティング装置を介して表示されるスクリーンキーボード用の入力キーのヒット対象を改変する(modifying)工程と、
のうちの少なくとも１つを含む、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、複数言語モデルに基づくテキスト予測に関する。
【背景技術】
【０００２】
[0001]携帯電話、ポータブルコンピューターおよびタブレットコンピューター、エンターテイメント装置、ハンドヘルドナビゲーション装置などのコンピューティング装置には、一般的に、テキスト入力および／またはコンピューティング装置との他の対話に採用されてよいスクリーンキーボード（例えば、ソフトキーボード）、が実装される。ユーザーがテキスト文字をテキストボックスに入力する際、あるいは、スクリーンキーボードまたは同様の入力装置を使用してテキストを入力する際、コンピューティング装置は、自動修正を適用して自動的にスペルミスを修正すること、および／または、テキスト予測を適用して、入力された文字に基づき、候補の単語／フレーズを予測または提示することができる。
【０００３】
[0002]従来のアプローチでは、自動修正およびテキスト予測は、シミュレーションのテスト時に拡充され、かつ、装置上でハードコード化される、静的言語モデルを使用して生成される。ユーザーは、明示的に、単語をモデルに追加、または、単語を除外することができるが、静的言語モデルは、特定のユーザーおよび対話シナリオには適応しないことがある。したがって、従来の技術を使用して提供されるテキスト予測の候補は、ユーザーおよび／またはシナリオには不適切または関連性が無いことが多く、これが、予測におけるフラストレーションおよび信頼性の欠如につながることになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願発明の一実施例は、例えば、複数言語モデルに基づくテキスト予測に関する。
【課題を解決するための手段】
【０００５】
[0003]本明細書において、テキスト予測のための適応言語モデルについて説明する。１つまたは複数の実装において、テキスト文字の入力は、装置との対話中に検出される。検出されたテキスト文字に対応するテキスト予測の候補は、適応言語モデルに従って生成される。適応言語モデルは、異なる対話シナリオにおいて予測候補をランク付けして選択するべく組み合わせられた、スコアリングデータを有する、複数の個別の言語モデル辞書を含んで構成されてよい。あらかじめ定義された一般集団辞書に加えて、辞書には、ユーザーのスタイルに予測を適応させるために、ユーザーのタイピング行動を監視することにより学習される、個人用辞書および／または対話固有の辞書が含まれてよい。予測用の組み合わせられた確率は、適応言語モデルの複数の辞書からの個々の確率の、重み付き組合せとして計算される。一実装において、複数の異なる言語に対応する辞書を組み合わせて、多言語予測を生成することができる。
【０００６】
[0004]本概要は、詳細な説明において、以下でさらに説明される概念を、選択して簡素な形式で導入するために提供される。本概要では、請求される主題の重要な特徴または本質的な特徴を特定することは意図されず、また、請求される主題の範囲を判定する際の支援として使用されることも意図されない。
【０００７】
[0005]詳細な説明が、添付の図面を参照して記載される。図面において、参照番号の最左桁は、その参照番号が最初に出現する図面を特定する。明細書および図面において、異なる事例で使用される同じ参照番号は、同様または同一の項目を示すものとする。
【図面の簡単な説明】
【０００８】
【図１】[0006]テキスト予測のための適応言語モデルの態様を実装することが可能な一例の動作環境を説明する図である。
【図２】[0007]１つまたは複数の実装に係る、一例のユーザーインターフェースを説明する図である。
【図３】[0008]１つまたは複数の実装に係る、一例のテキスト予測シナリオを説明する図である。
【図４】[0009]図４Ａは、１つまたは複数の実装に係る、適応言語モデルの一例の表現を説明する図である。[0010]図４Ｂは、１つまたは複数の実装に係る、言語モデル辞書間の例示の関係の表現を説明する図である。
【図５】[0011]１つまたは複数の実装に係る、テキスト予測が提供される一例の手順を示す図である。
【図６】[0012]１つまたは複数の実装に係る、対話固有の辞書がテキスト予測に使用される、一例の手順を示す図である。
【図７】[0013]１つまたは複数の実装に係る、複数の辞書からのスコアリングデータの重み付き組合せを使用して、テキスト予測の候補が選択される、一例の手順を示す図である。
【図８】[0014]１つまたは複数の実装に係る、多言語テキスト予測の候補が生成される一例の手順を示す図である。
【図９】[0015]テキスト予測のための適応言語モデルの１つまたは複数の実装において採用されてよい、例示のシステムおよび装置を示す図である。
【発明を実施するための形態】
【０００９】
概説
[0016]従来のアプローチでは、テキスト予測は、シミュレーションのテスト時に拡充され、かつ、装置上でハードコード化される、静的言語モデルに依拠する。静的言語モデルがユーザーの個々のスタイルに適応しないため、従来の技術を使用して生成されるテキスト予測の候補は、不適切または関連性が無いことが多く、これが、予測におけるフラストレーションおよび信頼性の欠如につながることになる。
【００１０】
[0017]本明細書において、テキスト予測のための適応言語モデルについて説明する。１つまたは複数の実装において、テキスト文字の入力は、装置との対話中に検出される。検出されたテキスト文字に対応するテキスト予測の候補は、適応言語モデルに従って生成される。適応言語モデルは、異なる対話シナリオのための予測候補をランク付けして選択するべく組み合わせられた、それぞれのスコアリングデータを有する、複数の個別の言語モデル辞書を含んで構成されてよい。あらかじめ定義された一般集団辞書に加えて、辞書には、ユーザーのスタイルに予測を適応させるために、ユーザーのタイピング行動を監視することにより学習される、個人用辞書および／または対話固有の辞書が含まれてよい。予測用の組み合わせられた確率は、適応言語モデルの複数の辞書からの個々の確率の、重み付き組合せとして計算される。一実装において、複数の異なる言語に対応する辞書を組み合わせて、多言語予測を生成することができる。
【００１１】
[0018]以下に続く検討において、「動作環境」と題する章では、テキスト予測のための適応言語モデルの１つまたは複数の実装に係る、採用されてよい一例の環境および例示のユーザーインターフェースについて説明する。これに続いて、「適応言語モデルの詳細」と題する章では、１つまたは複数の実装に係る、例示の適応言語モデルの詳細および手順について説明する。最後に、「例示のシステム」と題する章では、テキスト予測のための適応言語モデルの１つまたは複数の実装に採用されてよい、例示のシステムおよび装置について説明することが提供される。
動作環境
[0019]図１は、テキスト予測のための適応言語モデルの実施形態を実装することが可能な一例のシステム１００を説明する図である。例示のシステム１００には、コンピューティング装置１０２が含まれ、コンピューティング装置１０２は、家電装置、コンピューティング装置、ポータブル装置、通信装置、ナビゲーション装置、メディア再生装置、エンターテイメント装置、ゲーム装置、タブレット装置、および／または電子装置のうちのいずれかの形式の、固定または可動の装置の任意の１つまたは組合せであってよい。例えば、コンピューティング装置１０２は、表示装置１１０に接続されてメディアコンテンツを表示する、テレビクライアント装置１０４、コンピューター１０６、および／または、ゲームシステム１０８として実装されてよい。代替えとして、コンピューティング装置は、一体型のディスプレイ１１４を含むポータブルコンピューター、携帯電話、またはポータブル装置１１２のうちのいずれかの型であってよい。いずれのコンピューティング装置にも、１つまたは複数のプロセッサーおよびメモリ装置などの種々の構成要素のみならず、図９に示される例示の装置を参照してさらに説明するような異なる構成要素の任意の組合せ、を実装することができる。
【００１２】
[0020]コンピューティング装置１０２の一体型のディスプレイ１１４または表示装置１１０は、タッチスクリーンディスプレイであってよく、これは、タッチスクリーンディスプレイ上に表示されるユーザーインターフェースへの、ユーザー起動の文字入力、キー入力、タイプ入力、またはセレクターによる入力、などの接触やジェスチャーの入力を感知するべく実装される。代替えとして、または加えて、コンピューティング装置の例に含まれてよいものには、キーボード、マウス、スクリーンキーボード、リモート制御装置、ゲームコントローラー、または、任意の他の型のユーザー起動および／またはユーザーが選択可能な入力装置、などの他の種々の入力機構および装置がある。
【００１３】
[0021]実装において、コンピューティング装置１０２には、スクリーンキーボードでの文字入力、接触入力およびジェスチャー、カメラに基づくジェスチャー、コントローラーによる入力、および他のユーザー選択の入力、などの種々の異なる種類の入力に関する入力センサーデータ１１８を検出および／または認識する、入力モジュール１１６が含まれる。入力モジュール１１６は、接触入力および／またはジェスチャーを識別して、その接触入力および／またはジェスチャーに対応する動作を実行させる機能を代表するものである。入力モジュール１１６は、例えば、ユーザーの手によるタッチスクリーンディスプレイとの対話（例えば、タッチスクリーン機能を使用する）、を介して検出されたジェスチャーを認識するべく構成されてよい。加えてまたは代替えとして、入力モジュール１１６は、ユーザーの手の振り、手を握る（ｇｒａｓｐｉｎｇ）ジェスチャー、腕の位置、または他の定義済みのジェスチャーなどの、カメラで検出されるジェスチャーを認識するべく構成されてよい。したがって、接触入力、ジェスチャー、および他の入力は、入力モジュール１１６により認識される異なる入力の間を区別するのに有用な属性（例えば、動き、選択ポイント、位置、速度、向き、など）を含むものとして、入力センサーデータ１１８を介して認識されてもよい。そして、この区別は、入力からジェスチャーを識別し、ひいては、ジェスチャーの識別に基づき実行される動作を識別するための根拠として役立つものとしてよい。
【００１４】
[0022]コンピューティング装置には、１つまたは複数のプロセッサーにより実行されて、本明細書に記載される種々の実施形態を実装するための、ソフトウェアアプリケーションまたはモジュール、などのコンピューター実行可能命令として実装可能なキーボード入力モジュール１２０が含まれる。キーボード入力モジュール１２０は、コンピューティング装置１０２とのキーボード対話のためのスクリーンキーボードを提供および管理する機能を表す。キーボード入力モジュール１２０は、スクリーンキーボードの表現が、テキスト入力ボックス、検索コントロール、または他のテキスト入力コントロールが起動された際、などの異なる時間に、選択的に示されるように構成されてよい。スクリーンキーボードは、表示装置１１０などの外部のディスプレイ上、または、一体型のディスプレイ１１４などの一体型のディスプレイ上、での表示のために提供されてよい。加えて、ハードウェアキーボード／入力装置はまた、本明細書に記載される技術に適した少なくともいくつかのソフトキーを有する、適応可能な「スクリーン」キーボードを実装してよいことに留意されたい。例えば、外部装置として提供される、または、コンピューティング装置１０２と一体化される、ハードウェアキーボードには、表示装置、タッチキー、および／または、本明細書に記載されるようなテキスト予測キーを表示するべく採用されてよいタッチスクリーン、を組み込んでよい。この場合、キーボード入力モジュール１２０は、ハードウェアキーボード／入力装置のデバイスドライバーの構成要素として提供されてよい。
【００１５】
[0023]キーボード入力モジュール１２０は、文字入力１２４の処理および解釈を行って、文字入力１２４に対応する候補の単語の予測を形成して提示する、機能を表すテキスト予測エンジン１２２を含んでよく、または用いてよい。例えば、スクリーンキーボードは、テキスト入力ボックス、パスワード入力ボックス、検索コントロール、データフォーム、メッセージスレッド、または、文字入力１２４（例えば、字、数字、および／または他の英数字）のユーザー入力を容易にするための、フォーム、ＨＴＭＬページ、アプリケーションＵＩ、もしくは文書、などのユーザーインターフェース１２６の他のテキスト入力コントロールにおいて、テキストを入力するための異なる対話シナリオにおいて、選択的に呈示されてよい。
【００１６】
[0024]一般に、テキスト予測エンジン１２２は、入力された文字入力１２４に最も密接に適合する、１つまたは複数の可能性のある候補を突き止める。このように、テキスト予測エンジン１２２は、ユーザーにより入力される文字入力１２４に応答して突き止められる１つまたは複数の予測の単語を提供することにより、テキストの入力を容易にすることができる。例えば、テキスト予測エンジン１２２により予測される単語を採用して、入力テキストの自動修正を実行すること、ユーザーが入力テキストを完成、改変、または修正するための選択用の候補として、１つまたは複数の単語を示すこと、予測された単語に対応する、スクリーンキーボードのキーに対して、接触のヒット領域を自動的に変更すること、などを行うことができる。
【００１７】
[0025]本明細書に記載される技術によると、テキスト予測エンジン１２２は、上記および下記で記載されるような適応言語モデル１２８を、含むまたは用いるべく構成されてよい。一般に、適応言語モデル１２８は、異なるユーザーがタイピングを行う異なる様式に適合する個人ベースで、テキスト予測エンジン１２２が行う予測を適応させる機能を代表するものである。したがって、適応言語モデル１２８は、装置のユーザーが行うテキストの入力に関して、監視およびデータの収集を行うことができる。監視およびデータ収集は、異なる対話シナリオにおいて、装置を通して起こり得、該シナリオは、異なるアプリケーション、人（例えば、連絡先または対象者）、テキスト入力機構、およびその対話の他の文脈的な要因、に関与してよい。一アプローチにおいて、適応言語モデル１２８は、テキストの入力に基づき次の単語または意図される単語を予測するために使用されてよい、単語および対応するスコアリングデータ（例えば、条件付き確率、単語数、ｎグラムモデル、など）のソースとして、複数の言語モデル辞書を用いるべく設計される。複数の辞書からの単語確率および／または他のスコアリングデータは、種々の方法で組み合わせられて、可能性のある候補の単語を、お互いに対してランク付けし、その候補の少なくともいくつかを、所与のテキストの入力についての最も可能性の高い予測であるとして選択することができる。以下でさらに詳細に説明するように、所与の対話シナリオのために適用される複数の辞書は、一般集団辞書、個人用辞書、および／または適応言語モデル１２８による利用が可能とされる１つまたは複数の対話固有の辞書、から選択されてよい。テキスト予測のための適応言語モデルのこれらおよび他の態様に関する詳細は、以下の図面に関連して理解されるであろう。
【００１８】
[0026]図２は、１つまたは複数の実施形態に係る、テキスト予測の例を、全体として２００で、説明する図である。描かれる例は、コンピューティング装置１０２および図１を参照して説明される種々の構成要素により実装されてよい。特に、図２は、出力されてコンピューティング装置１０２との対話を容易にする、一例のユーザーインターフェース１２６を描く。ユーザーインターフェース１２６は、オペレーティングシステムまたは他のアプリケーションプログラムなどによって、コンピューティング装置に提供されてよい、任意の適切なインターフェースを代表するものである。描かれるように、ユーザーインターフェース１２６は、キーボード２０２を含んでよく、または用いるべく構成されてよい。本例において、キーボード２０２は、適切な表示装置上への表示のために、描画および／または出力されてよいスクリーンキーボードである。いくつかの場合において、キーボード２０２は、アプリケーションの一部として組み込まれ、対応するユーザーインターフェース１２６内に表示されて、テキストの入力、ナビゲーション、およびアプリケーションとの他の対話、を容易にすることができる。加えてまたは代替えとして、キーボード２０２の表現は、テキストの入力が適切である場合に、キーボード入力モジュールによってユーザーインターフェース１２６内に選択的に呈示されるようにしてよい。例えば、キーボード２０２は、ユーザーが検索コントロール、データフォーム、またはテキスト入力ボックス、などのテキスト入力コントロールを起動させる際に、選択的に現れるようにしてよい。上述したように、適切に構成されるハードウェアキーボードを採用することにより、テキスト予測が判定されて、さらなるテキスト入力を容易にするために使用されるようにする入力を、提供することもできる。
【００１９】
[0027]少なくともいくつかの実施形態において、キーボード入力モジュール１２０は、テキスト予測エンジン１２２から利用可能な１つまたは複数の適切なテキスト予測の候補の表現が、ユーザーインターフェースを介して示されるようにすることができる。例えば、テキスト予測バー２０４または他の適切なユーザーインターフェースコントロールもしくは手段が、１つまたは複数の適切なテキスト予測の候補の表現を示すべく構成されてよい。例えば、予測されたテキスト、単語、またはフレーズの表現は、数例を挙げると、図示される予測バー２０４、ドロップダウンボックス、スライドすると表示される要素、ポップアップボックス、トーストメッセージウィンドウ、またはリストボックス、などの適切なユーザーインターフェース手段を使用して表示されてよい。テキスト予測の候補は、選択されると、対応するテキストの入力を生じさせる選択可能な要素（例えば、キー、ボタン、ヒット領域）として提供されてよい。ユーザーは、選択可能な要素と対話して、ユーザーの手２０６からの接触入力、その他により、表示される候補の１つを選択することができる。加えてまたは代替えとして、テキスト予測エンジン１２２によって得られるテキスト予測の候補を、入力テキストの自動修正に使用して、キーボード２０２の１つまたは複数のキーに対して、下部にあるヒット領域を拡大し、または予測されたテキストを使用して、テキストの入力を容易にすることができる。
【００２０】
[0028]図３は、一例の対話シナリオに係るテキスト予測の表示を、全体として３００で、説明する図である。特に、検索プロバイダーとの対話のために構成されるユーザーインターフェース１２６は、携帯電話装置のスクリーンキーボード３０２を有するように描かれる。インターフェースには、検索入力ボックスの形式のテキスト入力コントロール３０４が含まれる。描かれる例において、ユーザーは、テキスト入力コントロールと対話して、部分フレーズに対応するテキスト文字「Ｇｏ  Ｈ」を入力したところである。このテキストの入力に応答して、テキスト予測エンジン１２２は、１つまたは複数の予測候補を判定するべく動作することができる。このテキスト予測３０６が発生すると、キーボード入力モジュール１２０は、１つまたは複数の予測候補が利用可能であることを検出し、ユーザーインターフェース１２６を介して候補を示し、または、予測候補を用いる、ことができる。
【００２１】
[0029]制限ではなく例として、図３では、入力テキスト「Ｇｏ  Ｈ」のための種々のテキスト予測選択肢を、キーボードの上部に現れるテキスト予測バー３０８に出力されるものとして描く。特に、選択肢「Ｈｏｍｅ」、「Ｈｏｋｉｅｓ」、「Ｈｏｔｅｌ」、「Ｈａｗａｉｉ」、および「Ｈｕｓｋｉｅｓ」が、入力テキストの可能性のある完成形として示される。このシナリオにおいて、選択肢は、テキスト予測バー３０８を介して示される、対応する予測候補を挿入させるべく動作可能なユーザーインターフェースの選択可能な要素として構成されてよい。したがって、ユーザーが、接触その他により「Ｈｏｋｉｅｓ」選択肢を選択した場合に、検索入力ボックス内の入力テキスト「Ｇｏ  Ｈ」が、選択された選択肢に従って、自動的に完成されて「Ｇｏ  Ｈｏｋｉｅｓ」となるようにしてよい。
【００２２】
[0030]一例の環境について考察したが、ここで、いくつかの適応言語モデル例の検討を考察し、種々の態様についてさらに説明する。
適応言語モデルの詳細
[0031]本章では、図４Ａおよび４Ｂの例示の表現、および図５から８の例示の手順を参照して、テキスト予測のための適応言語モデルを採用する技術の詳細について検討する。以下の検討おいて部分的に、種々の態様が実装されてよい図１の例示の動作環境が参照される。以下で説明する各手順の態様は、ハードウェア、ファームウェア、もしくはソフトウェア、またはそれらの組合せにおいて実装されてよい。手順は、１つまたは複数の装置により実行される動作を指定するブロックのセットとして示され、また、それぞれのブロックによる動作を実行するための図示される順番に必ずしも限定されない。少なくともいくつかの実装において、手順は、テキスト予測エンジン１２２または同等の機能を含むまたは使用する、図１の例示のコンピューティング装置１０２などの、適切に構成されるコンピューティング装置によって実行されてよい。
【００２３】
[0032]図４Ａは、１つまたは複数の実装に係る、適応言語モデルの表現を、全体として４００で、描く。図示するように、適応言語モデル１２８は、テキスト予測を行う際に依拠される複数の個別の言語モデル辞書を含む、または用いることができる。特に、図４Ａの適応言語モデル１２８は、一般集団辞書４０２、個人用辞書４０４、および対話固有の辞書４０６を組み込むものとして説明される。適応言語モデル１２８は、テキスト予測エンジン１２２により実装されて、テキスト予測を個々のユーザーおよび対話に適応させることができる。そうするために、適応言語モデル１２８は、ユーザーがどのようにタイピングするのかを監視し、ユーザーのタイピングの特徴を、ユーザーがタイピングするままに「オンザフライ」で動的に学習し、複数の辞書を使用して、入力されたテキスト文字に基づき条件付き確率を生成する、などを行うべく構成されてよい。
【００２４】
[0033]特に、適応言語モデルは、ユーザーにより実行されるテキストの入力に関連して検出される、１つまたは複数の型のユーザーフィードバックに基づき、ユーザー固有のタイピングスタイルを学習するべく構成されてよい。ユーザーフィードバックとは、どのテキストの入力を処理すべきか、およびユーザーの個人用辞書に追加するべきか、を判定する受動的または明示的な行為を指してよい。例えば、システムは、テキスト入力ボックス、編集コントロール、または他のＵＩ要素に集中した操作がなされなくなった際に、適応のためのテキストの入力を処理および構文解析することができる。換言すると、システムは、用語の学習の前に、ユーザーによるテキストの入力またはテキストに対するコミットメントの完了を待つことができる。ユーザーはまた、メッセージを送信する送信行為、ステータス更新または画像を投稿する投稿行為、アプリケーションの切り換え、ジェスチャー、保存行為、または、いくつかの他の形式の、入力されるテキストに対するコミットメント、などの明示的な選択によりテキストに対してコミットすることができる。ユーザーの用語集に追加すべき、単語の明示的な修正または選択はまた、いつどのようにユーザーの個人用辞書を適応させるのかを判定するために採用されるユーザーフィードバックとして、解釈されてよい。同様に、予測バー、または単語ついての「オンデマンド」提示を介して、ユーザーが、予測候補を選択した場合、選択された単語が追加されてよく、および／または、単語確率が、単語が選択された回数に基づき部分的に重み付けされてよい。さらに、フォントタイプ、大文字化、絵文字、テキスト効果、およびテキスト入力の他の特徴、についてのユーザー選好が、語彙の学習に加えて学習されてよい。当然、前述の例を含むがこれに限定されない他の型のユーザーフィードバックの組合せも採用されて、システムがユーザーのスタイルおよび習慣を学習する方法を操作することができる。
【００２５】
[0034]言語モデル辞書は、一般に、可能性のある候補の単語をお互いに対してランク付けし、その候補の少なくともいくつかを、所与のテキストの入力についての最も可能性の高い予測であるとして選択するように使用されてよい、確率および／または他の適切なスコアリングデータ（例えば、条件付き確率、スコア、単語数、ｎグラムモデルデータ、頻度データ、など）に、単語を関連付けるべく構成される。適応言語モデル１２８は、ユーザーベースおよび／または対話固有ベースでタイピング行動を追跡して、対応する辞書を作成および維持することができる。辞書に含まれる単語およびフレーズはまた、システムにより収集された単語およびフレーズが使用される、特定の対話シナリオ（例えば、文脈）を示す種々の使用法パラメーターに関連付けられてよい。使用法パラメーターを使用して、異なる対話シナリオを定義すること、および、データをフィルタリング、または他の方法で体系化して、種々の対応する言語モデル辞書を生成すること、ができる。そして、個別辞書のうちの１つまたは複数の異なる組合せが、異なる対話シナリオに相応に適用されてよい。
【００２６】
[0035]図４Ｂは、１つまたは複数の実装に係る、言語モデル辞書間の例示の関係の表現を、全体として４０８で、描く。本例において、一般集団辞書４０２は、あらかじめ定義され、コンピューティング装置１０２上にロードされてよい一般集団に適用可能な辞書を表す。一般集団辞書４０２は、多数のユーザーの収集されたタイピング行動に基づく単語の使用法についての確率および／またはスコアリングデータを反映する。一実装において、一般集団辞書４０２は、開発者により、ユーザーのタイピングに関する大量のトレーニング履歴データを使用して構築され、装置上にあらかじめロードされてよい。一般集団辞書４０２は、ユーザーおよび装置にわたって、予測用の単語ソースとして採用されるべく構成される。換言すると、一般集団辞書４０２は、全体としてユーザーの集団またはコミュニティ用の共通の使用法を表すことができ、特定の個人に合わせて調整はされない。一般集団辞書４０２は、選択された言語についての「既知」の単語の収集物全体、例えば、英語のユーザー向けの共通の使用法、を表すことができる。
【００２７】
[0036]個人用辞書４０４は、個々の実際の使用法に基づき、得られる。個人用辞書４０４は、装置との対話を介してユーザーがタイピングする単語を反映し、該単語を学習かつ追跡するべく適応言語モデル１２８が構成される。一般集団辞書内の既存の単語は、ユーザーの用語集の一部として、個人用辞書に割り当てられてよい。一般集団辞書にまだ含まれない単語は、新しい単語として個人用辞書４０４内に自動的に追加されてよい。個人用辞書は、したがって、図４Ｂに表すように、一般集団辞書４０２のサブセットを包含してよい。個人用辞書４０４は、個人が実際に使用する単語およびフレーズ（例えば、ユーザー固有の使用法）に基づき、各個人に合わせて調整される条件付き使用確率を表すことができる。
【００２８】
[0037]対話固有の辞書４０６は、対応する対話シナリオ用の単語の対話固有の使用法を表す。例えば、ある人が使用する単語、および、タイピングする方法は、異なる状況で変化する。上述したように、使用法パラメーターを使用して、異なる対話シナリオを定義すること、および、異なる対話シナリオ間を区別すること、ができる。さらに、適応言語モデル１２８は、複数の対話シナリオのための、対応する対話固有の言語モデル辞書を維持および管理するべく構成されてよい。対話固有の辞書４０６は、それぞれ、図４Ｂに表されるような、コンピューティング装置との対話のそれぞれの文脈に対応する単語、フレーズ、およびスコアリングデータを有する、個人用辞書４０４のサブセットを表すことができる。
【００２９】
[0038]特に、様々な対話シナリオが、ユーザーのタイピング行動に関連付けることができる、対応する使用法パラメーターを使用して、定義されてよい。例えば、対話中に入力される単語／フレーズに関連する使用法パラメーターは、対話の１つまたは複数の特徴を示すことができ、数例を挙げると、アプリケーションＩＤ、アプリケーションの型、人（例えば、連絡先名、または対象受信者ＩＤ）、時刻、日付、地理的位置もしくは場所、１年間の中の時もしくは季節、設定、人の年齢、好みのアイテム、購入履歴、入力テキストに関連する相応の話題、および／または、特定の使用される言語、を含むがこれに限定されない。これらの例示の使用法パラメーターのうちの１つまたは複数のみならず、対話の文脈を記述する他の使用法パラメーターに対応する、対話固有の辞書４０８が形成されてよい。
【００３０】
[0039]制限ではなく例として、図４Ｂは、特定のアプリケーション（メッセージアプリ、生産性アプリ、スポーツアプリ）、特定の位置（家庭、職場）、および特定の人（母親、配偶者）、に対応する例示の対話固有の辞書を表す。ユーザーが通信を行う方法は、これらの異なるシナリオ毎に変更されてよく、適応言語モデル１２８は、異なる対話について追跡した差を保持して予測を相当に適応させる。図４Ｂの例示の辞書間の多少の重なり合いはまた、ユーザーが、同じ単語およびフレーズのうちのいくつかを異なる設定にわたって採用する様子を表す。適応言語モデル技術のこれらおよび他の態様に関する追加的な詳細について、以下の例示の手順に関連して検討する。
【００３１】
[0040]図５は、１つまたは複数の実装に係る、テキスト予測が提供される手順５００を描く。テキスト文字の入力は、装置との対話中に検出される（ブロック５０２）。例えば、テキストは、スクリーンキーボード、ハードウェアキーボード、音声コマンド、または他の入力機構を通じて入力されてよい。携帯電話または他のコンピューティング装置１０２は、入力を検出かつ処理して、装置を介して出力されるユーザーインターフェース内に入力されるテキストを表すべく構成されてよい。
【００３２】
[0041]検出されたテキスト文字に対応する１つまたは複数のテキスト予測の候補が、適応言語モデルに従って生成され（ブロック５０４）、その１つまたは複数のテキスト予測の候補は、採用されて、装置との対話のためのさらなるテキストの入力を容易にする（ブロック５０６）。予測は、上記および下記で説明される、種々の異なる技術を使用して、任意の適切な方法で生成されてよい。例えば、コンピューティング装置には、本明細書に記載されるような適応言語モデル１２８を実装するべく構成されるテキスト予測エンジン１２２が含まれてよい。
【００３３】
[0042]動作中、適応言語モデル１２８は、特定のテキスト文字に適用されて、１つまたは複数の個別辞書の使用すること、および／または、組み合わせること、により対応する予測を判定することができる。適応言語モデル１２８は、異なるレベルの特異性（例えば、一般集団、ユーザー、対話）で、言語モデル辞書の階層を確立し、該階層は、異なる時に、また、図４Ｂに関連して表され、かつ説明された例示の辞書などの、異なるシナリオにおいて、適用されてよい。
【００３４】
[0043]図４Ｂに示す言語モデル辞書の階層は、ユーザーがタイピングする単語と、異なる単語およびスタイルがユーザーにより採用される文脈と、を監視かつ分析することにより、時間をかけて、個々のユーザー毎に確立されてよい。最初に、装置には、ユーザー個人のスタイルに関する十分なデータが収集される前に、テキスト予測において依拠される一般集団辞書４０２が供給されてよい。ユーザーが、種々の方法での装置との対話を開始すると、テキスト予測エンジン１２２は、ユーザー個人のスタイルの学習を開始する。これに従って、ユーザーの実際の使用法およびスタイルを反映する、個人用辞書４０４が構築されてよい。さらに、ユーザー個人のスタイルに関するデータに関連する使用法パラメーターを使用して、使用法パラメーターにより定義される特定の対話シナリオに関連する、１つまたは複数の対話固有の辞書４０６を生成することができる。ユーザー個人のスタイルに関する利用可能なデータが増えるにつれて、言語モデル辞書の階層は、ユーザーのスタイルに対して、ますます固有のものとなり調整される。言語モデル辞書の階層内の辞書のうちの１つまたは複数は、後に続く装置との対話のためのテキスト予測を生成するために適用されてよい。
【００３５】
[0044]予測を得るために、適応言語モデル１２８は、異なる対話シナリオについての階層内の、異なる組合せの辞書を選択的に使用して、入力テキストに基づき候補を識別し、かつ、候補をお互いに対してランク付けするべく構成される。一般に、スコアまたは候補をランク付けするための値は、指定される様式で、所与の対話シナリオに関連付けられた辞書から、貢献度を数学的に組み合わせることにより計算することができる。複数の辞書からの貢献度は、種々の方法で組み合わせられてよい。１つまたは複数の実施形態において、適応言語モデル１２８は、複数の辞書に含まれる単語に関連するスコアリングデータの重み付き組合せを計算する、ランキングアルゴリズムまたはスコアリングアルゴリズムを使用するべく構成される。予測候補を生成して使用する技術のさらなる例および詳細について、以下で説明する。
【００３６】
[0045]図６は、１つまたは複数の実装に係る、対話固有の辞書がテキスト予測に使用される、手順６００を描く。装置との対話シナリオのためのテキスト入力に関連する対話固有の辞書が、識別される（ブロック６０２）。これは、任意の適切な方法で生じる。一アプローチにおいて、対話シナリオが、既に説明したような使用法パラメーターに従って定義される。テキスト予測エンジン１２２は、使用法パラメーターに基づき、定義された対話シナリオをマッチングさせるようにして、現在の対話を認識するべく構成されてよい。そうするために、テキスト予測エンジン１２２は、アプリケーションへの問い合わせ、オペレーティングシステムとの対話、メッセージ内容または文書内容の構文解析、メタデータの検査、などを行うことにより、現在の対話に関する文脈的情報を収集または取得することができる。テキスト予測エンジン１２２は、収集された情報に基づき、対話のための１つまたは複数の使用法パラメーターを確立してよい。次に、テキスト予測エンジン１２２は、適応言語モデル１２８を起動して、確立された使用法パラメーターに適合する対話シナリオに使用する、適切な対話固有の辞書を識別することができる。
【００３７】
[0046]識別された対話固有の辞書は、個々に、または１つまたは複数の他の辞書との組合せで適用されて、テキスト予測を生成する。特に、対話固有の辞書からの単語確率を、１つまたは複数のテキスト予測を判定するために適応言語モデルにより割り当てられた確率の構成要素として使用して、対話シナリオについて、１つまたは複数のテキスト予測が計算される（ブロック６０４）。例えば、言語モデル辞書は、単語の使用法についての条件付き確率を示すスコアリングデータを含んでよい。条件付き確率は、予測に採用され得る、連続する「ｎ」個の単語についての確立を計算する、ｎグラム単語モデルに基づいてよい。例えば、トライグラム（ｎ＝３）またはバイグラム（ｎ＝２）の単語モデルが実装されてよいが、より高次のモデルも考慮される。
【００３８】
[0047]一アプローチにおいて、対話固有の辞書からの条件付き確率が、予測候補のランク付けに使用されるスコアに貢献する１つの構成要素として使用される。本例において、スコアは、少なくとも部分的に対話固有の辞書に基づく組み合わせられた確率として構成されてよい。一実装において、一般集団辞書からの条件付き確率は、スコアに貢献する別の構成要素として採用される。加えてまたは代替えとして、個人用辞書からの条件付き確率は、スコアに貢献する構成要素として採用されてよい。さらに一般的には、スコアは、適応言語モデル１２８により提供される個別辞書のうちの任意の２つ以上からの、確率および／または他の適切なスコアリングデータの組合せを反映することができ、複数の対話固有の辞書に関与する組合せも含まれる。
【００３９】
[0048]上述したように、種々の異なる対話シナリオおよび対応する対話固有の辞書が考慮される。各対話シナリオは、対話の文脈的特徴を示す１つまたは複数の使用法パラメーターに関連してよい。対話シナリオは、一般に、ユーザーのタイピングスタイルおよび挙動が変化する、文脈的特徴に従って定義される。本明細書に記載される適応言語モデル技術の基本の見解は、ユーザーは異なる単語をタイピングし、タイピングスタイルは異なるシナリオでは変化する、というものである。この概念をさらに説明するために、以下でいくつかの例について記載する。
【００４０】
[0049]ユーザーは、使用しているアプリケーションまたはアプリケーションの型に基づき、異なったタイピングをする。それに従って、対話シナリオは、アプリケーション毎に定義されてよく、対応する辞書は、個々のアプリケーションについて確立されてよい。例えば、装置のユーザーにより採用された、異なるスタイル、単語、および用語を反映する異なる辞書は、数例を挙げると、テキストメッセージアプリケーション、ブラウザー、ソーシャルネットワークアプリケーション、ワードプロセッサー、電話アプリケーション、およびウェブコンテンツアプリケーション、に関連付けられてよい。したがって、異なるテキスト予測が、現在のアプリケーションに応じて生成され得る。例えば、テキストメッセージアプリケーションに「ｌｏ」と入力すると、「ｌｏｌ」が生成され、一方、ワードプロセッサーでは、適用する異なる辞書に基づき、「ｌｏｕｄ」が予測され得る。アプリケーション固有の辞書を有効にするために、テキスト予測エンジン１２２は、アプリケーションの識別子、名称、または他の区別するパラメーターを使用して、アプリケーション毎にタイピング行動を収集するべく構成されてよい。
【００４１】
[0050]加えてまたは代替えとして、アプリケーションの型のデータを使用して、行為を追跡すること、および、アプリケーションのカテゴリーに対応する辞書を生成することができる。この場合、特定の辞書が、対応するアプリケーションの型に関連するアプリケーションのグループに適用される。タイピングスタイルは、異なるアプリケーションでは変化するが、ユーザーのタイピングの挙動および特徴は、２つの異なるソーシャルネットワークアプリケーションまたは異なるプロバイダーからのブラウザー、などの同じ型のアプリケーションを使用する際には類似する。テキスト予測のためにアプリケーションを型でグループ化することでは、類似するアプリケーションに存在し得るタイピングスタイルの類似性を利用する。アプリケーションの型に基づき辞書を確立するために使用されてよい、いくつかの例示のアプリケーションの型には、生産性、ビジネス、メッセージ、ソーシャルネットワーク、チャット、ゲーム、ウェブコンテンツ、メディア、などが含まれるがこれに限定されない。
【００４２】
[0051]対話シナリオはまた、人毎に定義されてもよく、対応する人固有の辞書は、ユーザーが対話する個々の人について確立されてよい。一アプローチにおいて、ユーザーが有する連絡先情報を活用して、特定の人との対話を認識すること、および、タイピング行動を、連絡先情報により示される個々の連絡先に関連付けること、ができる。テキスト予測エンジン１２２は、アドレス欄、メッセージ内容、メタデータ、または、対話に関連する連絡先を認識するための他の適切なデータ、を構文解析するべく構成されてよい。対話の連絡先の人物または対象者が認識されると、対応する人固有の辞書が発見され、対話のためのテキスト予測を行うために適用されてよい。連絡先に対応する人固有の辞書は、連絡先が認識された異なる対話のために装置を通して採用されてよい。このように、人固有の辞書は、ユーザーが有する連絡先のうちの１つまたは複数について確立されてよい。加えてまたは代替えとして、ユーザーが有する連絡先に関連する連絡先のグループまたはカテゴリーを使用して、人々のグループに基づく辞書を確立することができる。例えば、ユーザーが有する連絡先は、数例を挙げると、家族、友人、職場、ブッククラブ、および、サッカーチーム、などのカテゴリーに関連付けしてグループ化などされてよい。ユーザーが対話する人々のこれらのグループを活用して、本明細書に記載される様式で、テキスト予測に採用されてよい、連絡先グループ固有の辞書を形成することができる。連絡先グループは、ユーザーおよび／または装置に関連する任意の適切な連絡先に対応してよい。これには、例えば、ウェブに基づくサービスおよび／またはプロバイダーのユーザーアカウント（例えば、ソーシャルネットワークサービス、メッセージサービスなど）に関連付けられる連絡先およびグループ、装置用のローカルなアドレス帳および連絡先、携帯電話連絡先、アプリケーション固有の連絡先およびグループ、および／または、それらの組合せ、が含まれてよい。
【００４３】
[0052]位置固有の辞書についても、考慮される。例えば、装置が利用可能な位置データは、タイピング行動に関連付けられて、特定の位置に対応する辞書を確立するために使用されてよい。位置は、地理的位置（例えば、都市、州、国）、および／または、職場、家庭、または学校、などの周囲状態、に対応してよい。コンピューティング装置は、その位置を判定し、かつ、位置情報を示すデータを種々の方法でアプリケーションに提供するべく構成されてよい。例えば、装置の位置は、装置に関連するＧＰＳを介して、セルラー三角測量またはＷｉ−Ｆｉ三角測量を通して、ネットワーク構成要素からのロケーションビーコンをデコードすることにより、インターネットプロトコルアドレスに基づき、またはその他により判定されてよい。一アプローチにおいて、ユーザーは、周囲状態の名称（例えば、職場、家庭、または学校）を、１つまたは複数の位置に割り当てて、位置に基づくサービスを容易にすることができる。周囲状態の名称を割り当てるプロンプトは、頻繁に検出される位置、および／または、装置／ユーザーがかなりの時間を費やす位置、について示されてよい。位置固有の辞書は、ユーザーにより指定される、または、自動的に検出される、位置設定に対して作成されてよい。位置固有の辞書はまた、都市、州などの既知の位置に対して作成されてよい。
【００４４】
[0053]対話固有の辞書の追加的な例に含まれるものには、異なる対話において認識されてよい話題のキーワード（例えば、スーパーボウル、ハワイ、マーチマッドネスなど）に従って確立される、話題に基づく辞書がある。種々のタイミングに基づく辞書も考慮される。タイミングに基づく辞書には、時刻（昼／夜）、１年間の中の時（春／夏、秋、冬）、月、休暇シーズン、などに従って確立される辞書が含まれてよいがこれに限定されない。複数の言語固有の辞書（例えば、英語、スペイン語、日本語など）が採用されて、多言語テキスト予測を生成することもできる。多言語テキスト予測の技術に関する詳細について、図８に関連して以下で検討する。
【００４５】
[0054]いくつかの対話固有の辞書が、まさに説明した対話シナリオの例の組合せに対応することに留意されたい。例として、辞書は、アプリケーションと人の組合せに対して、例えば、母親とメッセージ、母親と電子メール、兄弟と電子メール、および、同僚と電子メール、に対して確立されてよい。様々な他の組合せ、例えば、位置を伴う人、タイミングを伴うアプリケーション、位置を伴うアプリケーション、人と位置とを伴うアプリケーション、などが採用されてよい。
【００４６】
[0055]図７は、１つまたは複数の実装に係る、複数の辞書からのスコアリングデータの重み付き組合せを使用して、テキスト予測の候補が選択される、手順７００を描く。１つまたは複数の検出されたテキスト文字に基づき、複数の辞書が、テキストの予測のための単語のソースとして使用するものであると識別される（ブロック７０２）。例えば、所与の対話に適用すべき辞書は、既に説明したように、適応言語モデル１２８に従って選択されてよい。例えば、テキスト予測エンジン１２２は、検出されたテキスト文字に適合する１つまたは複数の使用法パラメーターに従って、辞書を識別することができる。利用可能であれば、ユーザー固有および／または対話固有の辞書は、テキスト予測エンジン１２２により、テキスト予測の生成時に構成要素として識別かつ使用されてよい。利用可能でない場合は、テキスト予測エンジン１２２は、それ自身で、一般集団辞書４０２を使用するというデフォルト設定になる。
【００４７】
[0056]単語は、複数の辞書に含まれる単語に関連するスコアリングデータの重み付き組合せを使用して、検出されたテキスト文字のための予測候補として、お互いに対してランク付けされる（ブロック７０４）。ランク付けに従って、１つまたは複数の上位ランキングの単語が、検出されたテキスト文字のための予測候補として選択される（ブロック７０６）。候補のランキングおよび選択は、種々の方法で生じてよい。一般に、予測候補をランク付けするためのスコアは、複数の辞書から貢献度を組み合わせることにより計算することができる。例えば、テキスト予測エンジン１２２および適応言語モデル１２８は、スコアリングデータの重み付き組合せを計算する、ランキングアルゴリズムまたはスコアリングアルゴリズムを実装するべく構成されてよい。重み付き組合せは、一般集団辞書および少なくとも１つの他の辞書から、予測を補間するべく設計されてよい。他の辞書は、個人用辞書、対話固有の辞書、または異なる言語の別の一般集団辞書であってもよい。
【００４８】
[0057]上述したように、言語モデル辞書は、テキスト予測についての確率および／または他の適切なスコアリングデータに関連する単語を含む。当該テキスト予測の候補のリストは、検出されたテキスト文字のための潜在的な予測候補として識別される単語についての、複数の辞書に由来する個々のスコアまたは確率を補間することにより、複数の辞書から生成されてよい。したがって、組合せまたは適応されたスコアは、２つ以上の言語モデル辞書について、個々のスコアの構成要素の重み付き平均として計算されてよい。組み合わせられたスコアを使用して、候補をお互いに対してランク付けすることができる。そして、そのランキングに従って、指定数の上位の候補が選択されてよい。例えば、上位ランキングの５または１０個の候補のリストが、ユーザーに対してテキスト予測の候補を示すのに使用するために生成されてよい。自動修正には、最高スコアを有する最も可能性の高い候補が選択または適用されて、自動修正を行うことができる。
【００４９】
[0058]一般に、本明細書に記載されるような言語モデル辞書の補間は、以下の公式によって表すことができる。
Ｓｃ＝Ｗ１Ｓ１＋Ｗ２Ｓ２．．．ＷｎＳｎ
ここで、Ｓｃは、補間重みＷ１、Ｗ２、．．．Ｗｎによりそれぞれ重みづけされた、各個別辞書からのスコアＳ１、Ｓ２、．．．Ｓｎを合計することにより計算される、組み合わせられたスコアである。種々の種類のスコアリングデータを使用して２つ以上の辞書から補間するために、上記の一般的公式を適用することができる。制限ではなく例として、スコアリングデータには、確率、単語数、頻度などのうちの１つまたは複数が含まれてよい。個々の構成要素は、それぞれの辞書に由来するものであってよい。あらかじめ定義されたまたは動的に生成された重みが、個々の構成要素に割り当てられてよい。そして、組み合わせられたスコアが、割り当てられた重みに従ってそれぞれ重み付けされた、個々の構成要素を合計することにより計算される。
【００５０】
[0059]一実装において、線形補間を採用して、２つの辞書から確立を組み合わせることができる。２つのソースからの確率の補間は、以下の公式によって表すことができる。
Ｐｃ＝Ｗ１Ｐ１＋Ｗ２Ｐ２
ここで、Ｐｃは、補間重みＷ１、Ｗ２によりそれぞれ重みづけされた、各個別辞書からの確率Ｐ１、Ｐ２を合計することにより計算された組み合わされた確率である。線形補間のアプローチは、上記の一般的公式に従って、３つ以上のソースに拡張することもできる。
【００５１】
[0060]公式の要素に割り当てられる補間重みは、種々の方法で計算されてよい。例えば、重みは経験的に判定され、かつ、スコアリングアルゴリズムのための個々の重みパラメーターとして割り当てられてよい。いくつかの実装において、重みパラメーターは、ユーザーにより、異なる辞書の影響を変更する、適応言語モデルを選択的にオン／オフする、または他の方法で計算を調整する、ように構成可能であってよい。
【００５２】
[0061]少なくともいくつかの実装において、補間重みは、お互いに依存し合ってよい。例えば、Ｗ２は、１−Ｗ１に設定されてよく、この場合Ｗ１は０と１の間である。その結果、上記の例では、以下の公式となる。
【００５３】
Ｐｃ＝Ｗ１Ｐ１＋（１−Ｗ１）Ｐ２
[0062]加えてまたは代替えとして、重みパラメーターは、補間関数に従って、動的に調整されるべく構成されてよい。補間関数は、１つまたは複数の重み付け要因に基づく、スコアの異なる構成要素の相対的な貢献度に対して変化するために、自動的に重み付けを調整するように設計される。上記の等式では、このことが、Ｗ１の値を動的に設定することにより生じ得、それにより、Ｐ１およびＰ２の両方に関連する重みが変化する。
【００５４】
[0063]例として、補間関数は、利用可能なユーザーデータ全体の量（例えば、総単語数）、個々の単語の数または頻度、単語がどの程度直近に使用されたか、などの要因を担うように構成されてよい。一般に、重みは、個々のユーザーの用語集の影響を、ユーザーにより多くのデータが収集されるにつれて、増加させるように、かつ、より頻繁に使用される個々の単語の影響を増加させるように、適応してよい。加えて、より直近に使用された単語の重みは、その直近の単語の影響を増加させるように調整されてよい。補間関数では、集合的に装置を通した、および／または、特定の対話シナリオのための、ユーザーのタイピング行動に関連する単語数およびタイミングデータを採用して、それに従って重みを調整することができる。したがって、異なる重みが、対話シナリオおよび選択された対応する辞書に依拠して採用されてよい。
【００５５】
[0064]したがって、重みは、総単語数のうちの１つまたは複数、または、収集されたユーザーデータ、候補の単語についての個々の単語数、および／または、どの程度直近に候補の単語が使用されたか、といった他の方策、に基づき、変化してよい。アプローチにおいて、補間関数は、最小値と最大値の間、例えば、０と０．５の間、のＷ１の値を適応させるべく構成されてよい。この値は、所与の傾きを有する選択された一次方程式に従って、最小と最大の間で変化してよい。
【００５６】
[0065]補間関数では、個々の単語数の閾値を設定することもできる。閾値の下では、Ｗ１の値はゼロに設定されてよい。ここでは、発生する単語の最小数の実例（例えば、２、３、１０、など）に、その単語がテキスト予測用に考慮される前に、注目する。閾値を使用することで、ミススペルの単語および間違った単語が、ユーザー固有の用語集の一部として、即座に使用されることを防ぐことができる。
【００５７】
[0066]直近性を担うために、Ｗ１の値は、単語がどの程度直近に使用されたかに依拠する乗数により調節することができる。乗数の値は、単語の最も直近の発生、または、最も直近の発生の設計数（例えば、最後の１０回、または最後の５回）のローリング平均値、に基づいてよい。例として、乗数は、特定の単語が最後に使用されたのが、何日前または何か月前なのか、に基づいてもよい。乗数は、より直近に入力された単語についての確率／スコアの貢献度を増加させてよい。例えば、乗数１．２は、前月使用された単語に適用され、この値は、各追加の月ごとに、１年以上前に最後に使用された単語に対して値１に減る。当然ながら、様々な他の値および時間枠を採用して、直近性を担うスキームを実装することができる。直近性を担う他の技術も採用されてよく、直近性に基づく要因を補間の等式に加えること、最後の発生からの時間が長くなるにつれて、崩壊関数に従って、単語に割り当てられる重みを割り引くこと、などが含まれるがこれに限定されない。
【００５８】
[0067]指定の期間が経って、新鮮さが失われた単語を削除する機構も、実装されてよい。これは、種々の方法で達成することができる。一アプローチにおいて、周期的なクリーンアップ動作で、１年または１８か月などの、指定の時間枠の間使用されなかった単語を識別することができる。識別された単語は、ユーザーのカスタム用語集から削除することができる。別のアプローチは、指定の時間枠の後、単語の重みをゼロに設定するものである。ここで、新鮮さが失われた単語のためのデータの保存は、その十分なスペースが存在すると想定して、なされてよいが、ゼロの重みによって、新鮮さが失われた単語を候補として使用することに対して、システムを阻止する。ユーザーがその単語を再度使用すると、その単語を、既存の履歴に沿って復活させることができる。当然ながら、利用可能な記憶スペースの量で、タイピング行動がどの程度保存されるか、および、新鮮さが失われた単語のためのデータがいつ除去されるのか、を判定することができる。
【００５９】
[0068]説明した技術を使用して、単語が一旦ランク付けされかつ選択されると、選択された単語が利用されて、種々の方法でテキストの入力を容易にする（ブロック７０８）。制限ではなく例として、選択された候補の単語を使用して、入力キー上のヒット対象を改変すること（ブロック７１０）、検出されたテキスト文字の自動修正を実行すること（ブロック７１２）、および／または、検出されたテキスト文字のための予測として１つまたは複数の単語を出力すること（ブロック７１４）、ができる。
【００６０】
[0069]図８は、１つまたは複数の実施形態に係る、多言語テキスト予測の候補が生成される一例の実装における手順８００を描く。特定の対話シナリオにおいて、テキスト入力に複数の異なる言語を使用することが、認識される（ブロック８０２）。複数の異なる言語に対応する複数の辞書が、対話シナリオとの関連でテキスト予測に採用するために、起動される（ブロック８０４）。例えば、テキスト予測エンジン１２２は、ユーザーがいつ、言語を切り替えるか、または、異なる対話において言語を混合して使用するか、を認識することができる。十分な発生数の多言語使用に直面すると、テキスト予測エンジン１２２は、異なる言語用の辞書を起動させることにより応答することができる。一アプローチにおいて、第２の言語用の言語固有の辞書が、適応言語モデル１２８の一部として、対話固有の辞書４０６として作成されてよい。この場合、ユーザーの第２の言語の使用が、言語固有の辞書に反映されてよい。加えてまたは代替えとして、テキスト予測エンジン１２２は、適応言語モデル１２８の一部として、既存の一般集団辞書に沿って、第２の言語用の一般集団辞書を配置およびインストールしてよい。テキスト予測エンジン１２２はまた、ユーザーのタイピング履歴に基づき、特定の言語のインストールを示唆することもできる。そして、多言語対話のためのテキスト予測は、複数の異なる言語用の複数の辞書に依拠する。
【００６１】
[0070]特に、多言語テキスト予測は、適応言語モデルに従って、複数の異なる言語に対応する複数の辞書を使用して得られる単語確率を組み合わせることにより、対話シナリオに関連するテキストの入力について生成される（ブロック８０６）。例えば、２つ以上の個別言語固有の辞書のための確率は、既に説明した補間技術を使用して、組み合わせることができる。補間の重みは、特に多言語シナリオについて選択されてよい。一アプローチにおいて、重みは、ユーザーによる異なる言語の相対的使用に対して比例してよい。したがって、使用が、英語とスペイン語について７５／２５で分けられる場合、これらの言語間を補完するために選択される重みは、これらの割合を反映することができる。代替えとして、異なる言語の組合せについての経験値が、判定かつ適用されてよい。
【００６２】
[0071]一実装において、起動される各一般集団言語辞書は、本明細書における適応言語モデルの技術を採用するために、配置されてよい。したがって、異なる言語に対応する並列適応言語モデル１２８はそれぞれ、下部にあるそれぞれの言語用のユーザー固有の辞書および対話固有の辞書を有してよい。予測を生成するために、本明細書に記載される補間の技術を、それぞれの適応言語モデルに適用することにより、入力されたテキスト文字のための予測候補のリストが、各言語に別個に生成されてよい。そして、第２の補間を採用して、個々の確率を言語固有のリストのそれぞれから、共通のリストに組み合わせることができる。このようにして、ユーザーに対して示され、または、他の方法で使用されてテキストの入力を容易にするテキスト予測では、ユーザーにより採用される異なる言語について、複数の辞書から確率を補間することにより（または、スコアリングデータを組み合わせることにより）、複数の言語を反映することができる。
【００６３】
[0072]多言語テキスト予測は、種々の方法で採用されてよい。例えば、特定のシナリオのための多言語テキスト予測は、予測バーを介して、または、既に説明した他の様式で、テキストの入力中に提示されてよい。言語に適した候補、または、異なる言語の候補のための選択肢も、「オンデマンド」での編集中に提示されてよい。この場合、ユーザーは、接触または他の入力機構により単語を選択して、予測候補のリストを取得することができる。このリストは、複数の言語の使用が検出されるシナリオにおいて、多言語テキスト予測を含むべく形成されてよい。
【００６４】
[0073]加えて、多言語使用に関する知見を採用して、異なる言語の辞書にいつ依拠するか、および／または、予測に１つの特定の言語を使用するか、辞書の組合せを使用するか、を選択的に判定することができる。例えば、ユーザーは、英語のキーボードからフランス語のキーボードに切り替えるという選択を行うことができる。この場合、フランス語の辞書がデフォルトで設定されてよい。加えてまたは代替えとして、英語とフランス語の間の重みを、フランス語を優先するように適応させることができる。一方、複数の言語に１つのキーボード（例えば、英語とフランス語の両方をタイプする英語のキーボード）が使用される場合、本明細書に記載される、複数の辞書から確率および／またはスコアリングデータを組み合わせる、という一般的アプローチを採用して、適切な言語を判定し、かつ、言語に適した候補を示す、ことができる。したがって、システムは、特定のテキスト入力シナリオに応じて、予測のための単一辞書の使用と複数辞書の使用の間を推移してよい。
【００６５】
[0074]テキストの入力を行うために使用されるキーボードの型は、対応する単語と共に保存されてもよい。したがって、ユーザーが予測された単語を選択した場合、その単語用の対応するキーボードを自動的に表示して、対応する言語でのタイピングを容易にすることができ、また、言語に適した予測候補を、それに従って生成することができる。この場合も、これには、キーボードの特定の言語用の候補というデフォルト設定になること、または、少なくとも、特定の言語をより重く優先して予測を重み付けること、が含まれてよい。したがって、テキスト予測および／またはキーボードは、特定の多言語使用のシナリオに適合するべく自動的に適応することができる。
【００６６】
[0075]適応言語モデルに関するいくつかの例示の技術について説明してきたが、ここで、本明細書に記載される１つ以上の実装において利用可能な一例のシステムについて考察する。
例示のシステムおよび装置
[0076]図９は、本明細書に記載される種々の技術を実装することができる、１つまたは複数のコンピューターシステムおよび／または装置を代表する、一例のコンピューティング装置９０２を含む、一例のシステム９００を説明する図である。コンピューティング装置９０２は、例えば、サービスプロバイダーのサーバー、クライアントに関連付けられた装置（例えば、クライアント装置）、オンチップシステム、および／または、任意の他の適切なコンピューティング装置もしくはコンピューターシステム、であってよい。
【００６７】
[0077]図示される例示のコンピューティング装置９０２には、プロセシングシステム９０４、１つまたは複数のコンピューター可読媒体９０６、および、お互いに通信可能に連結される１つまたは複数のＩ／Ｏインターフェース９０８が含まれる。図示はしないが、コンピューティング装置９０２には、システムバス、または、種々の構成要素をお互いに連結する、他のデータおよびコマンドの転送システム、がさらに含まれてよい。システムバスには、メモリバスもしくはメモリコントローラー、周辺バス、ユニバーサルシリアルバス、および／または、様々なバスアーキテクチャのうちのいずれかを利用するプロセッサーもしくはローカルバス、などの異なるバス構造のうちの任意の１つまたは組合せを含むことができる。制御ラインおよびデータ線などの、様々な他の例も考慮される。
【００６８】
[0078]プロセシングシステム９０４は、ハードウェアを使用して１つまたは複数の動作を実行する機能を代表するものである。したがって、プロセシングシステム９０４は、プロセッサーおよび機能ブロックなど、として構成されてよいハードウェア要素９１０を含むものとして説明される。これには、特定用途向け集積回路、または、１つまたは複数の半導体を使用して形成される他の論理装置として、ハードウェアにおいて実装することが含まれてよい。ハードウェア要素９１０は、形成の材料、または、本明細書において採用される処理機構、により限定されない。例えば、プロセッサーは、半導体および／またはトランジスター（例えば、電子集積回路（ＩＣ））から成ってよい。かかる文脈おいて、プロセッサー実行可能命令は、電子的に実行可能な命令であってよい。
【００６９】
[0079]コンピューター可読媒体９０６は、メモリ／記憶装置９１２を含むものとして説明される。メモリ／記憶装置９１２は、１つまたは複数のコンピューター可読媒体に関連付けられるメモリ／記憶域容量を表す。メモリ／記憶装置９１２には、揮発性メディア（ランダムアクセスメモリ（ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））など）、および／または、不揮発性メディア（読み取り専用得メモリ（ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ））、フラッシュメモリ、光ディスク、磁気ディスクなど）が含まれてよい。メモリ／記憶装置９１２には、固定メディア（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブなど）に加えて、リムーバブルメディア（例えば、フラッシュメモリ、リムーバブルハードドライブ、光ディスクなど）、が含まれてよい。コンピューター可読媒体９０６は、以下でさらに説明するように、様々な他の方法で構成されてよい。
【００７０】
[0080]入力／出力インターフェース９０８は、ユーザーに、コマンドおよび情報をコンピューティング装置９０２に入力させるようにし、かつ、種々の入力／出力装置を使用して、情報がユーザーおよび／または他の構成要素もしくは装置に対して示されるようにもする機能、を代表するものである。入力装置の例に含まれるものには、キーボード、カーソル制御装置（例えば、マウス）、音声操作用のマイク、スキャナー、タッチ機能（例えば、物理的接触を検出するべく構成される容量センサーまたは他のセンサー）、カメラ（例えば、可視波長または赤外線周波数などの不可視波長を採用して、ジェスチャーとしての接触を伴わない動きを検出するもの）、などある。出力装置の例に含まれるものには、表示装置（例えば、モニターまたはプロジェクター）、スピーカー、プリンター、触覚応答装置、などがある。コンピューティング装置９０２には、例えば、ネットワーク通信用のネットワークインターフェースカードを含む、有線通信および無線通信を可能にする種々の構成要素、および／または、無線通信および／またはモバイル通信をサポートする種々のアンテナ、がさらに含まれてよい。様々な異なる方の適切なアンテナが考慮され、これには、１つまたは複数のＷｉ−Ｆｉアンテナ、一般集団ナビゲーション衛星システム（ＧＮＳＳ）アンテナもしくは一般集団ポジショニングシステム（ＧＰＳ）アンテナ、セルラーアンテナ、近距離通信（ＮＦＣ）２１４アンテナ、ブルートゥースアンテナ、および／または、その他、が含まれるがこれに限定されない。したがって、コンピューティング装置９０２は、以下でさらに説明する様々な方法で、ユーザー対話をサポートするべく構成されてよい。
【００７１】
[0081]種々の技術を、ソフトウェアモジュール、ハードウェア要素モジュール、またはプログラムモジュールの一般的文脈で、本明細書に記載することができる。一般に、そのようなモジュールには、特定のタスクを実行する、または、特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、要素、構成要素、データ構造、などが含まれる。用語「モジュール」、「機能」、および「構成要素」は、本明細書において使用されるとき、概して、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せ、を表す。本明細書に記載される技術の特徴は、プラットフォームに依存しないことであり、その技術が、様々なプロセッサーを有する様々な市販のコンピュータープラットフォーム上で実装されてよい、ことを意味する。
【００７２】
[0082]記載のモジュールおよび技術の実装は、何らかの形式のコンピューター可読媒体上に格納されてよく、またはそれを介して伝送されてよい。コンピューター可読媒体には、コンピューティング装置９０２によりアクセスできる様々な媒体が含まれてよい。制限ではなく例として、コンピューター可読媒体には、「コンピューター可読記憶媒体」および「通信媒体」が含まれてよい。
【００７３】
[0083]「コンピューター可読記憶媒体」は、単なる信号伝送、搬送波、または信号自体、とは対照的に、情報の格納を可能にする媒体および／または装置を指す。したがって、コンピューター可読記憶媒体には、媒体を運ぶ信号または信号自体は含まれない。コンピューター可読記憶媒体には、揮発性および不揮発性メディア、リムーバブルおよびノンリムーバブルメディア、および／または、コンピューター可読命令、データ構造、プログラムモジュール、論理素子／回路、もしくは他のデータ、などの情報の格納に適切な方法または技術で実装される記憶装置、などのハードウェアが含まれる。コンピューター可読記憶媒体の例に含まれてよいものには、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光記憶装置、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、他の記憶装置、有形媒体、もしくは、所望の情報およびコンピューターによりアクセスできる情報の格納に適切な製造品、があるがこれに限定されない。
【００７４】
[0084]「通信媒体」は、ネットワークを介するなどして、コンピューティング装置９０２のハードウェアに命令を伝送するべく構成されてよい、媒体を運ぶ信号を指す。通信媒体は典型的には、コンピューター可読命令、データ構造、プログラムモジュール、または、搬送波、データ信号、もしくは他の輸送機構、などの変調されたデータ信号内の他のデータ、を具現化してよい。通信媒体にはまた、任意の情報配信媒体が含まれる。用語「変調されたデータ信号」は、その特徴のうちの１つまたは複数が、情報を信号で符号化する様式で、設定または変更された信号を意味する。制限ではなく例として、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線、および他の無線媒体、などの無線媒体が含まれる。
【００７５】
[0085]既に説明したように、ハードウェア要素９１０およびコンピューター可読媒体９０６は、いくつかの実施形態において採用されて、本明細書に記載される技術のうちの少なくともいくつかの態様を実装することができる、ハードウェアの形式で実装される命令、モジュール、プログラム可能装置論理および／または固定装置論理を代表するものである。ハードウェア要素には、集積回路またはオンチップシステム、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、結合プログラム可能論理装置（ＣＰＬＤ）、および、シリコンでの他の実装または他のハードウェア装置、といった構成要素が含まれてよい。この文脈において、ハードウェア要素は、命令、モジュール、および／または、ハードウェア要素により、および、実行用命令、例えば、既に説明したコンピューター可読記憶媒体、の格納に利用されるハードウェア装置により、具現化される論理、によって定義されるプログラムタスクを実行する処理装置として、動作することができる。
【００７６】
[0086]上述したものの組合せを採用して、本明細書に記載される種々の技術およびモジュールを実装することもできる。したがって、ソフトウェアモジュール、ハードウェアモジュール、または、テキスト予測エンジン１２２、適応言語モデル１２８、および他のプログラムモジュールを含むプログラムモジュールは、何らかの形式のコンピューター可読記憶媒体上で具現化される１つまたは複数の命令および／または論理として、および／または、１つまたは複数のハードウェア要素９１０によって、実装されてよい。コンピューティング装置９０２は、ソフトウェアモジュールおよび／またはハードウェアモジュールに対応する、特定の命令および／または関数、を実装するべく構成されてよい。したがって、ソフトウェアとしてコンピューティング装置９０２による実行が可能なモジュールとして、モジュールを実装することは、少なくとも部分的にハードウェアで、例えば、コンピューター可読記憶媒体および／またはプロセシングシステムのハードウェア要素９１０を使用することにより、達成することができる。命令および／または関数は、本明細書に記載される技術、モジュール、および例を実装するべく、１つまたは複数の製造品（例えば、１つまたは複数のコンピューティング装置９０２および／またはプロセシングシステム９０４）により実行可能／動作可能であってよい。
【００７７】
[0087]図９でさらに説明するように、例示のシステム９００は、パーソナルコンピューター（ＰＣ）、テレビ装置、および／または、モバイル装置上で、アプリケーションを実行させる際の、シームレスなユーザー体験のためのユビキタス環境を可能にする。アプリケーションを利用する、ビデオゲームを行う、映像を見る、などを行いながら、１つの装置から次の装置へ移行する際に、サービスおよびアプリケーションは、共通のユーザー体験のために、３つ全ての環境において、略同様に稼働する。
【００７８】
[0088]例示のシステム９００において、複数の装置が、中央のコンピューティング装置を通じて相互に接続される。中央のコンピューティング装置は、複数の装置に対してローカルであってよく、または、複数の装置から遠隔に設置されてよい。一実施形態において、中央のコンピューティング装置は、ネットワーク、インターネット、または他のデータ通信リンクを介して複数の装置に接続される１つまたは複数のサーバーコンピューターの、クラウドであってよい。
【００７９】
[0089]一実施形態において、この相互接続アーキテクチャーは、複数の装置を介して機能が配信されることを可能とし、共通かつシームレスな体験を複数の装置のユーザーに提供することができる。複数の装置のそれぞれは、異なる物理的要件および能力を有してよく、中央のコンピューティング装置は、該装置に、装置に合わせて調整され、かつ、さらに全ての装置に共通の体験を、配信することを可能にするプラットフォームを使用する。一実施形態において、対象装置の分類が作成され、体験が装置の包括的な分類に合わせて調整される。装置の分類は、物理的特徴、使用の型、または、他の共通の装置の特徴、により定義されてよい。
【００８０】
[0090]種々の実装において、コンピューティング装置９０２では、コンピューター９１４、モバイル９１６、およびテレビ９１８などの使用のための様々な異なる構成を想定してよい。これらの構成のそれぞれは、概して、異なる構造および能力を有する装置を含み、したがって、コンピューティング装置９０２は、異なる装置分類のうちの１つまたは複数に従って、構成されてよい。例えば、コンピューティング装置９０２は、パーソナルコンピューター、デスクトップコンピューター、マルチスクリーンコンピューター、ラップトップコンピューター、ノートブック、などを含む、コンピューター９１４の装置分類として実装されてよい。
【００８１】
[0091]コンピューティング装置９０２はまた、携帯電話、ポータブル音楽プレイヤー、ポータブルゲーム装置、タブレットコンピューター、マルチスクリーンコンピューター、などのモバイル装置を含む、モバイル９１６の装置分類として実装されてよい。コンピューティング装置９０２はまた、臨時の表示環境における、概して大画面を有するまたは接続される装置を含む、テレビ９１８の装置分類として実装されてよい。これらの装置には、テレビ、セットトップボックス、ゲーム機、などが含まれる。
【００８２】
[0092]本明細書に記載される技術は、コンピューティング装置９０２のこれらの種々の構成によりサポートされてよく、かつ、本明細書に記載される技術の特定の例に限定されない。このことは、コンピューティング装置９０２上にテキスト予測エンジン１２２を含むことにより、説明される。テキスト予測エンジン１２２および他のモジュールの機能はまた、全てまたは一部が、以下で説明するように、プラットフォーム９２２を介して「クラウド」９２０上などの分散システムを使用して、実装されてもよい。
【００８３】
[0093]クラウド９２０は、リソース９２４のためのプラットフォーム９２２を含む、および／または、代表するものである。プラットフォーム９２２は、クラウド９２０のハードウェアリソース（例えば、サーバー）およびソフトウェアリソースの、下部にある機能を抽象化する。リソース９２４には、コンピューティング装置９０２から離れたサーバー上でコンピューター処理が実行される間に、利用可能なアプリケーションおよび／またはデータ、が含まれてよい。リソース９２４はまた、インターネットを介して、および／または、セルラーネットワークまたはＷｉ−Ｆｉネットワークなどのサブスクライバーネットワークを通じて、提供されるサービスを含むこともできる。
【００８４】
[0094]プラットフォーム９２２は、コンピューティング装置９０２を他のコンピューティング装置に接続させるためのリソースおよび機能を抽象化することができる。プラットフォーム９２２はまた、リソースのスケーリングを抽象化する役割を果たし、プラットフォーム９２２を介して実装されるリソース９２４について、対応するレベルのスケールを、直面する要求に対して提供することができる。したがって、相互に接続される装置の実施形態において、本明細書に記載される機能の実装は、システム９００を通して分散されてよい。例えば、機能は、部分的に、コンピューティング装置９０２上で、また、クラウド９２０の機能を抽象化するプラットフォーム９２２を介して、実装されてよい。
結論
[0095]上述の記載の技術は、構造的特徴および／または方法論的動作に特有の言語で記載されたが、添付の請求項の主題が、必ずしも記載される特有の特徴または動作に限定されないことは、理解されたい。むしろ、特有の特徴および動作は、請求される主題を実装する例示の形態として開示される。
【図１】
2016519349.tif 000003
【図２】
2016519349.tif 000004
【図３】
2016519349.tif 000005
【図４】
2016519349.tif 000006
【図５】
2016519349.tif 000007
【図６】
2016519349.tif 000008
【図７】
2016519349.tif 000009
【図８】
2016519349.tif 000010
【図９】
2016519349.tif 000011
【国際調査報告】
2016519349.tif 000012
2016519349.tif 000013
2016519349.tif 000014
2016519349.tif 000015