(57)【特許請求の範囲】
【請求項１】
入力コンテンツに基づき入力プロトコルを選択する方法であって、
普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、
前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、
ベクトル空間モデルに基づいて、前記入力コンテンツと１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間の相関関係として、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられており、前記１つまたは複数のプロファイルは、人と人との間の関係に基づく関係プロファイルを含むことと、
前記１つまたは複数の類似性値をランク付けすることと、
前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、
前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、
を含み、
前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、
前記第１にランク付けされた入力プロトコルが、生成プロトコルと、予測辞書プロトコルとを含み、
前記生成プロトコルは、自然言語生成プロトコル、記号生成プロトコル、および、絵文字生成プロトコルを含み、
前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、および絵文字生成プロトコルを有する生成プロトコルを含む、
方法。
【請求項２】
前記予測辞書プロトコルは、トピック領域の予測辞書プロトコルおよび関係の予測辞書プロトコルを含む、請求項１に記載の方法。
【請求項３】
前記１つまたは複数の第１の発生頻度値を計算することが、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位各々の発生をカウントすることによって、前記１つまたは複数の第１の発生頻度値を生成することをさらに含み、
前記入力コンテンツに関連する前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の第２の発生頻度値との間の前記相関関係が、前記１つまたは複数の第１の発生頻度値と、前記１つまたは複数の第２の発生頻度値との積の合計を含み、各積が、対応する第２の発生頻度値を乗じた対応する第１の発生頻度値を含むものである、
請求項１に記載の方法。
【請求項４】
入力コンテンツに基づき入力プロトコルを選択するためのシステムであって、
プロセッサと、
演算を実施するためまたは演算の実施を制御するために前記プロセッサが実行可能なコンピュータ可読命令が格納される非一時的コンピュータ可読媒体と、
を備え、
前記演算は、
普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、
前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、
ベクトル空間モデルに基づいて、前記入力コンテンツと１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間の相関関係として、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられており、前記１つまたは複数のプロファイルは、人と人との間の関係に基づく関係プロファイルを含むことと、
前記１つまたは複数の類似性値をランク付けることと、
前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、
前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、
ユーザインターフェースを介して前記第１にランク付けされた入力プロトコルを提案することと、
を含み、
前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、
前記第１にランク付けされた入力プロトコルが、生成プロトコルと、予測辞書プロトコルとを含み、
前記生成プロトコルは、自然言語生成プロトコル、記号生成プロトコル、および、絵文字生成プロトコルを含み、
前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、および絵文字生成プロトコルを有する生成プロトコルを含む、
システム。
【請求項５】
前記予測辞書プロトコルは、トピック領域の予測辞書プロトコルおよび関係の予測辞書プロトコルを含む、請求項４に記載のシステム。
【請求項６】
前記１つまたは複数の第１の発生頻度値を計算することが、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位各々の発生をカウントすることによって、前記１つまたは複数の第１の発生頻度値を生成することを含む、請求項４に記載のシステム。
【請求項７】
入力コンテンツに基づき入力プロトコルを選択する方法であって、
普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、
前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、
ベクトル空間モデルに基づいて、前記入力コンテンツと、データベース内に格納された１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間のヒストグラムインタセクションとして、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられており、前記１つまたは複数のプロファイルは、人と人との間の関係に基づく関係プロファイルを含むことと、
前記１つまたは複数の類似性値をランク付けすることと、
前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、
前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、
を含み、
前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、
前記第１にランク付けされた入力プロトコルが、生成プロトコルと、予測辞書プロトコルとを含み、
前記生成プロトコルは、自然言語生成プロトコル、記号生成プロトコル、および、絵文字生成プロトコルを含み、
前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、および絵文字生成プロトコルを有する生成プロトコルを含む、
方法。
【請求項８】
前記データベースは、前記１つまたは複数の不可分で個別の単位を含む、請求項７に記載の方法。
【請求項９】
前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第２の発生頻度値は、前記対応するプロファイル内で事前に決定され、
前記入力コンテンツに関する前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の第２の発生頻度値との間のヒストグラムインタセクションが、前記１つまたは複数の第２の発生頻度値の合計で割った１つまたは複数の最小発生頻度の合計を含み、各最小発生頻度が、対応する第１の発生頻度値および対応する第２の発生頻度値の最小値である、請求項８に記載の方法。
【請求項１０】
前記予測辞書プロトコルは、予測辞書データベースおよび処理モジュールを含む、請求項７に記載の方法。
【請求項１１】
前記対応するプロファイルは、１つまたは複数の性質が与えられ、
前記１つまたは複数の性質は、生成プロトコルとの関係および予測辞書プロトコルとの関係を含む、請求項７に記載の方法。
【請求項１２】
前記生成プロトコルとの関係は、自然言語生成プロトコルタイプ、記号生成プロトコルタイプおよび絵文字生成プロトコルタイプを含む、請求項１１に記載の方法。
【請求項１３】
前記１つまたは複数の不可分で個別の単位の前記第１の発生頻度値を計算することは、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位各々の発生をカウントすることによって、前記１つまたは複数の第１の発生頻度値を生成すること、
をさらに含む、請求項７に記載の方法。
【請求項１４】
入力コンテンツに基づき入力プロトコルを選択するためのシステムであって、
プロセッサと、
演算を実施するためまたは演算の実施を制御するために前記プロセッサが実行可能なコンピュータ可読命令が格納される非一時的コンピュータ可読媒体と、
を備え、
前記演算は、
普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、
前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、
前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位の各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、
ベクトル空間モデルに基づいて、前記入力コンテンツとデータベース内に格納された１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間のヒストグラムインタセクションとして、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられており、前記１つまたは複数のプロファイルは、人と人との間の関係に基づく関係プロファイルを含むことと、
前記１つまたは複数の類似性値をランク付けすることと、
前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、
前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、
を含み、
前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、
前記第１にランク付けされた入力プロトコルが、生成プロトコルおよび予測辞書プロトコルを含み、
前記生成プロトコルが、自然言語生成プロトコル、記号生成プロトコルおよび絵文字生成プロトコルを含み、
前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、および絵文字生成プロトコルを有する生成プロトコルを含む、
システム。
【請求項１５】
前記データベースは、前記１つまたは複数の不可分で個別の単位を含む、請求項１４に記載のシステム。
【請求項１６】
前記１つまたは複数の第１の発生頻度値を計算することが、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位各々の発生をカウントすることによって、前記１つまたは複数の第１の発生頻度値を生成することを含み、
前記１つまたは複数の第２の発生頻度値は、前記対応するプロファイル内で事前に決定され、
前記入力コンテンツに関する前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の第２の発生頻度値との間のヒストグラムインタセクションが、前記１つまたは複数の第２の発生頻度値の合計で割った１つまたは複数の最小発生頻度の合計を含み、各最小発生頻度が、対応する第１の発生頻度値および対応する第２の発生頻度値の最小値である、請求項１４に記載のシステム。
【請求項１７】
前記予測辞書プロトコルは、予測辞書データベースおよび処理モジュールを含む、請求項１４に記載のシステム。
【請求項１８】
前記対応するプロファイルは１つまたは複数の性質を与えられ、前記１つまたは複数の性質は、生成プロトコルとの関係および予測辞書プロトコルとの関係を含む、請求項１４に記載のシステム。
【請求項１９】
前記生成プロトコルとの関係は、自然言語生成プロトコルタイプ、記号生成プロトコルタイプおよび絵文字生成プロトコルタイプを含む、請求項１８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書に別段規定されない限り、本明細書に述べる記事は、本出願の請求項に対する先行技術ではなく、本章に含めることによって先行技術であると認めるものでもない。
【０００２】
現在、モバイルデバイスによって、ユーザが、様々な目的で、例えばメッセージを生成する、クラスでノートを取る、または業務記録を作成するために、コンテンツを入力することができるようになっている。入力コンテンツは、分かりやすい言葉でのテキスト、句読点、記号（例えば、小さい画像またはアニメーションアイコン）、絵文字、またはその組み合わせを含むことができる。一定のタイプのコンテンツを入力するためには、ユーザは、受信者またはコンテンツのタイプに応じて、現在の入力プロトコルから適切な入力プロトコルに切り替える必要があり得る。例えば、ユーザが中国語を話せる人宛にメッセージをオンラインで作成した後、日本語を話せる人宛にメッセージを作成する前に、ユーザは、中国語を生成するプロトコルから日本語を生成するプロトコルに切り替える必要があり得る、特に次の人が日本語だけを話す場合、そうである。さらに、入力コンテンツをコンパクトにする、またはいくらかの感情的な特性を加えるためには、ユーザは、入力プロトコルを何回か切り替えて、特別の記号または絵文字を入力する必要があり得る。モバイルデバイス、例えばポータブルコンピュータ、スマートフォン、タブレットなどを使用するとき、頻繁に入力プロトコルを切り替えることは、ときにはストレスがたまることになる恐れがあり、不便を生じる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書に述べる技法は、全体的に、入力プロトコルを自動的に選択することに関するものであり、その技法は、入力コンテンツに基づく生成プロトコルおよび予測辞書プロトコルを含むことができる。
【課題を解決するための手段】
【０００４】
一実施形態では、入力コンテンツに基づき入力プロトコルを選択するための方法は、前記入力コンテンツを解析することと、前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、ベクトル空間モデルに基づいて、前記入力コンテンツと１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間の相関関係として、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられていることと、前記１つまたは複数の類似性値をランク付けすることと、前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、を含み、前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、前記第１にランク付けされた入力プロトコルが、生成プロトコルと、予測辞書プロトコルとを含み、前記生成プロトコルは、自然言語生成プロトコル、記号生成プロトコル、および、絵文字生成プロトコルのうち少なくとも１つを含み、前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、または絵文字生成プロトコルを有する生成プロトコルを含むことができる。
【０００５】
一実施形態では、入力コンテンツに基づき入力プロトコルを選択するためのシステムは、プロセッサと、演算を実施するためまたは演算の実施を制御するために前記プロセッサが実行可能なコンピュータ可読命令が格納される非一時的コンピュータ可読媒体と、を備え、前記演算は、普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、ベクトル空間モデルに基づいて、前記入力コンテンツと１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間の相関関係として、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられていることと、前記１つまたは複数の類似性値をランク付けることと、前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、ユーザインターフェースを介して前記第１にランク付けされた入力プロトコルを提案することと、を含み、前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、または絵文字生成プロトコルを有する生成プロトコルを含むことができる。
【０００８】
一実施形態では、入力コンテンツに基づき入力プロトコルを選択するための方法は、普通言語テキスト、句読点、記号または絵文字のうち少なくとも１つを含む前記入力コンテンツを解析することと、前記入力コンテンツから１つまたは複数の不可分で個別の単位を抽出することと、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第１の発生頻度値を計算することであって、不可分で個別の単位各々が、前記１つまたは複数の第１の発生頻度値に含まれる、対応する第１の発生頻度値に関連付けられている、ことと、ベクトル空間モデルに基づいて、前記入力コンテンツと、データベース内に格納された１つまたは複数のプロファイルとの間の１つまたは複数の類似性値を計算することであって、前記ベクトル空間モデルは、前記入力コンテンツとそれに対応するプロファイルとの間の対応する類似性値を、前記入力コンテンツ内の前記１つまたは複数の不可分で個別の単位の前記１つまたは複数の第１の発生頻度値と、前記対応するプロファイル内の前記１つまたは複数の不可分で個別の単位の１つまたは複数の第２の発生頻度値との間のヒストグラムインタセクションとして、出力するように構成されており、不可分で個別の単位各々は、前記１つまたは複数の第２の発生頻度値に含まれる、対応する第２の発生頻度値に関連付けられていることと、前記１つまたは複数の類似性値をランク付けすることと、前記１つまたは複数の類似性値に基づき、最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを識別することと、前記最も高い類似性値と関連付けられる第１にランク付けされた入力プロトコルを選択することと、を含み、前記第１にランク付けされた入力プロトコルが複数の入力プロトコルから選択され、前記複数の入力プロトコルの各々は、前記複数の入力プロトコルの他の入力プロトコルの生成プロトコルとは異なる自然言語生成プロトコル、記号生成プロトコル、または絵文字生成プロトコルを有する生成プロトコルを含むことができる。
【０００９】
前述の概要は、単に例示的なものであり、決して限定するものでないと意図する。上記に述べた例示的な態様、実施形態および特徴に加えて、さらなる態様、実施形態および特徴が、図面および次の詳細な説明を参照すると、明らかになるはずである。
【００１０】
前述および次の情報さらにまた本開示の他の特徴は、添付図面と併せて次の説明および添付の請求項から、より完全に明らかになるはずである。これらの図面が、本開示によるいくつかの実施形態だけを描いており、したがって本開示の範囲を限定すると見なすべきでなく、本開示は、添付図面の使用を通じて具体性および細部をさらに加えて述べることを理解されたい。
【図面の簡単な説明】
【００１１】
【図１Ａ】１つまたは複数の自然言語、１つまたは複数の記号および１つまたは複数の絵文字を含む入力コンテンツの実施例を例示する図である。
【図１Ｂ】１つまたは複数の記号の実施例を例示する図である。
【図２Ａ】生成プロトコルおよび予測辞書プロトコルを含む入力プロトコルの実施例を例示する図である。
【図２Ｂ】自然言語生成プロトコル、記号生成プロトコルおよび絵文字生成プロトコルを含む生成プロトコルの実施例を例示する図である。
【図２Ｃ】予測辞書プロトコルの構造の実施例を例示する図である。
【図３Ａ】トピック領域プロファイルおよび関係プロファイルを含むプロファイルの実施例を例示する図である。
【図３Ｂ】プロファイルのための単語発生頻度ヒストグラムの実施例を例示する図である。
【図４】入力に基づき入力プロトコルを選択するためのシステムおよび方法の実施例を例示する図である。
【図５】入力コンテンツに基づき入力プロトコルを選択するためのデバイスおよび方法の実施例を例示する図である。
【図６】該システムのために、また本明細書に述べる方法を実施するために使用することができるコンピューティングデバイスの実施例を例示する図である。
【図７】入力コンテンツに基づき入力プロトコルを選択するための方法の実施形態を例示するフローチャートである。
【図８】入力コンテンツに基づき入力プロトコルを選択するための方法の実施形態を例示するフローチャートである。  すべては、本明細書に述べる少なくともいくつかの実施形態によって構成される。
【発明を実施するための形態】
【００１２】
次の詳細な説明では、添付図面を参照し、図面は説明の一部を形成する。図面では、同様の記号が、別段文脈によって示されない限り、通常同様の構成要素を識別する。詳細な説明で述べる例示的な実施形態、図面および請求項は、限定すると意味しない。本明細書に提示する主題の趣旨または範囲から逸脱せずに、他の実施形態を利用することができ、また他の変更を行うことができる。本開示の態様は、全体的に本明細書に述べ図で例示するように、広い様々な異なる構成において構成する、置換する、結合する、分離する、および設計することができ、そのすべては、本明細書で明らかに予期されていることを容易に理解されるはずである。
【００１３】
全体的に、本開示は、コンテンツをコンピューティングデバイス中に入力するためのデバイス、システムおよび方法に関するものである。そのように入力することは、ユーザが入力するテキストを受け取り、次いで予測されるテキストを生成してユーザに提供するためにテキストを処理して解析するデバイスによって、容易にすることができる。デバイスは、テキストを解析し、ユーザが入力した可能性があるテキストを予測することができるハードウェアおよびソフトウェアを含むことができる。デバイスは、ユーザが入力しようとするテキストを予測するために、ユーザが入力した過去のテキスト、さらにまたテキストのトピックまたはテキストの対象とする受信者を使用することができる。
【００１４】
次の実施例によって、本明細書に述べるデバイス、システムおよび方法の実施形態を提示する。ユーザが、テキストを作成するために情報をコンピューティングデバイス中に入力するとき、ユーザは、入力するテキストのコンテンツのキャラクタ、単語、文、記号、句読点または絵文字をそれぞれすべてタイプする必要があり得る。しかし、ユーザがコンピューティングデバイス中に入力する入力コンテンツに基づき、推薦する入力コンテンツ、例えばテキスト、記号または絵文字をユーザに提供するハードウェアおよびソフトウェアを備えるコンピューティングデバイスを構成することができる。
【００１５】
一実施形態では、コンピューティングデバイスは、ユーザが提供する入力コンテンツに基づき、１つまたは複数の入力プロトコルを使用して、推薦する入力コンテンツを提供することができる。１つまたは複数の入力プロトコルは、それぞれ、入力コンテンツを生成する生成プロトコル（例えば生成されたコンテンツ）と、入力コンテンツを予測する予測辞書プロトコル（例えば予測されたコンテンツ）とを含むことができる。
【００１６】
一実施形態では、生成プロトコルは、自然言語、記号および絵文字を生成し、入力し、編集するために、（例えばユーザによって）使用することができ、それら自然言語、記号および絵文字は、生成された入力中に含められて生成された入力コンテンツとしてユーザに提供される。一実施形態では、予測辞書プロトコルは、ユーザが提供した入力コンテンツに基づき、入力されたテキストのコンテンツのために使用することができる予測されるコンテンツの予測を容易にするために使用することができる。一実施形態では、生成プロトコルおよび予測辞書プロトコルは、推薦入力コンテンツをユーザに提供するために協力することができ、推薦する入力コンテンツは、生成されたコンテンツおよび予測されたコンテンツを含むことができる。
【００１７】
一実施形態では、生成プロトコルは、ユーザによって実際にデバイス中に入力されたものに基づきコンテンツを生成するために使用することができる。つまり、生成プロトコルは、ユーザから入力を受け取り、ユーザに表示される、または別の方法で提供されるコンテンツを生成する。生成プロトコルは、ユーザによってまさに入力されたような生成されたコンテンツを提供することができる、あるいは生成されたコンテンツは、入力から生じさせることができる、例えば、ユーザに提供される入力コンテンツ（例えば生成されたコンテンツ）を生成するために、ユーザからの入力を結合した、または分離したキャラクタとすることができる。例えば、生成プロトコルは、コロンおよび閉じ括弧から「笑顔マーク」を生成することができる（例えば「：）」）。
【００１８】
一実施形態では、予測辞書プロトコルは、入力コンテンツに当てはまるトピック領域中または関係で頻繁に使用される、または特色となる単語、文、記号または絵文字のデータベースを含むことができる。一実施形態では、トピック領域は、入力コンテンツの文脈上の環境に当てはまるトピックのタイプを含むことができ、様々なトピック領域の実施例は、ビジネス、学校、運動競技、活動、予定表、または文脈上の環境の他のタイプを含むことができる。別の実施形態では、関係は、全体的に、入力コンテンツのテキストを作成する人（例えばユーザ）と入力コンテンツのテキストの対象とする受取人との間の個人間の接続のタイプを言うことができる。関係のいくつかの実施例は、ビジネス上の連絡先、学校関係の連絡先、運動競技の連絡先、活動の連絡先、知人、友人、家族、または配偶者、ガールフレンドおよびボーイフレンドなどの重要な人とすることができる。
【００１９】
一実施形態では、生成プロトコルは、対応する予測辞書プロトコルと協力して、入力コンテンツの生成および予測を容易にすることができる。推薦する入力コンテンツの予測および／または生成は、ユーザが提供する入力コンテンツに当てはまるトピック領域および関係パラメータに基づかせることができる。例えば、ビジネス上の予測辞書プロトコルは、ビジネス上で関連するトピック領域中で頻繁に使用される単語、文、記号または絵文字のデータベースを含むことができる。ユーザが、生成プロトコルを使用して、ビジネス上で関連する入力コンテンツを生成し、入力し、編集するとき、ビジネス上の予測辞書プロトコルは、ビジネス上のトピック領域中で頻繁に使用される単語または文など、一定の入力コンテンツを予測するために使用することができる。
【００２０】
一実施形態では、予測は、ユーザが提供した入力コンテンツに基づき、データベースを検索し、適切な単語または文をユーザに提案することによって実施することができる。いくつかの事例では、ユーザは、入力コンテンツの作成の間、予測辞書プロトコルを切り替える必要があり得る。例えば、ユーザが入力コンテンツの受信者をビジネスパートナから家族メンバに切り替えたとき、ユーザおよび／またはコンピューティングデバイスは、ビジネス上の予測辞書プロトコルを家族メンバの予測辞書プロトコルに切り替える必要があり得る。これは、テキストの対象とする受信者に適切なテキストを選択することによって、テキストの作成を容易にする。ここで、コンピューティングデバイスによる入力プロトコルの切り替えは、本明細書に述べるシステムおよび方法を用いると、トピック領域および関係に少なくとも部分的に基づき自動化することができる。
【００２１】
図１Ａは、本明細書に述べる少なくともいくつかの実施形態によって構成される、１つまたは複数の自然言語、１つまたは複数の記号および１つまたは複数の絵文字を含む入力コンテンツの実施例を例示する。図１Ａに例示するように、入力コンテンツ１００は、１つまたは複数の自然言語１０１、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３、あるいはその任意の組み合わせを含むことができる。入力コンテンツ１００は、１つまたは複数の自然言語１０１、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３の任意の組み合わせを含むことができる。例えば、日本語と英語の両方を話す人が、日本語の単語および文と英語の単語および文の両方を含むメッセージを生成することがあるはずであり、そこでは、１つまたは複数の自然言語１０１は、日本語および英語を含む。１つまたは複数の自然言語１０１は、コンピュータ言語とは対照的に、任意の種類の人間の言語、例えば日本語、中国語、フランス語、スペイン語または英語、あるいはその任意の組み合わせとすることができる。
【００２２】
図１Ｂは、本明細書に述べる少なくともいくつかの実施形態によって構成される、１つまたは複数の記号の実施例を例示する。図１Ｂに例示するように、１つまたは複数の記号１０２は、一定の意味を有する、または有さない静的な小さい画像またはアニメーションアイコンを含む、任意の記号とすることができる。通常、１つまたは複数の記号１０２のコンテンツは、提供される情報のある含意を有することができる。例えば、太陽アイコン（Ｅ６３Ｅ）は、晴れた天気を表すために使用することができ、雲アイコン（Ｅ６３Ｆ）は、曇りの天気を表すために使用することができ、傘アイコン（Ｅ６４０）は、雨天を表すために使用することができ、雪だるまアイコン（Ｅ６４１）は、雪の降る天気を表すために使用することができ、稲妻肉太アイコン（Ｅ６４２）は、雷および稲妻の天気を表すために使用することができ、飛行アイコン（図示せず）は、飛行ステータスを表すために使用することができ、またはケーキアイコン（図示せず）は、誕生日を表すために使用することができる。再び図１Ａを参照すると、１つまたは複数の絵文字１０３は、任意の形態に、例えば句読点および文字によって絵画的に表される任意の顔の表情とすることができる。１つまたは複数の絵文字１０３は、例えば笑顔絵文字がリラックスしたムードを表すために、または渋面が不機嫌なムードを表すために使用されるように、一定のムードを表すために使用することができる。
【００２３】
入力コンテンツ１００は、１つまたは複数の不可分で個別の単位１０４を含むことができる。１つまたは複数の不可分で個別の単位１０４は、入力コンテンツ１００のテキストまたはキャラクタに応じて、任意の形態にすることができる。入力コンテンツ１００が１つまたは複数の自然言語１０１を含むとき、１つまたは複数の不可分で個別の単位１０４は、その自然言語の最も小さい言語単位、例えば文字または単語、句読点またはその組み合わせとすることができる。単語は、特定の自然言語について通常の辞書の単語またはスラングとすることができる。最も小さい言語単位は、一定の意味を伝えることができる言語単位である。最も小さい言語単位は、様々な自然言語によって決まる異なる構造を有することができる。例えば、１つまたは複数の自然言語１０１が日本語を含むとき、１つまたは複数の不可分で個別の単位１０４は、形態素とすることができる、というのは日本語では、形態素は、一定の意味を有する最も小さい言語単位として使用されるからである。例えば、「おはよう」は、日本語では形態素であり、「Ｇｏｏｄ  Ｍｏｒｎｉｎｇ」を意味する。「おはよう」の形態素中のどの個別のカナのキャラクタ、例えば「お」は、どの意味も伝えることができない。したがって、「おはよう」の形態素は、日本語では最も小さい言語単位として扱うことができ、それゆえ、１つまたは複数の自然言語１０１が日本語を含むとき、１つまたは複数の不可分で個別の単位１０４中に含めることができる。他方では、１つまたは複数の自然言語１０１が英語を含むとき、１つまたは複数の不可分で個別の単位１０４は、単一の単語とすることができる、というのは、英語では、単一の単語が一定の意味を伝えるのに十分であり、いくつかの事例では、単一の文字または単一の句読点が、十分な意味を伝えることができるからである。例えば、単語「日のよく照る（ｓｕｎｎｙ）」は、１つまたは複数の自然言語１０１が英語を含むとき、１つまたは複数の不可分で個別の単位１０４の１つとすることができる。また、質問を表すクエスチョンマーク（例えば「？」）は、１つまたは複数の個別の単位１０４の１つとすることができる。いくつかの事例では、単一の文字または数字は、特に実際の単語を表すためにスラングまたは音声のスラングを使用する非公式なテキスト中では、不可分で個別の単位、または１つまたは複数の不可分で個別の単位１０４の一部とすることができる。１つまたは複数の記号１０２は、例えば単一の小さな画像または単一のアニメーションアイコンが単一の不可分で個別の単位であるように、１つまたは複数の不可分で個別の単位１０４として使用することができる。１つまたは複数の絵文字１０３は、１つまたは複数の不可分で個別の単位１０４として使用することができ、したがって単一の絵文字を、１つまたは複数のキャラクタ入力、例えば文字、数字、句読点などによって形成することができる。
【００２４】
１つまたは複数の不可分で個別の単位１０４は、コンピューティング産業標準の１つによってエンコードすることができる。コンピューティング産業標準は、ＵＮＩＣＯＤＥ、ＩＳＯ−２０２２−ＪＰ、ＩＳＯ−２０２２−ＣＮ、ＩＳＯ−２０２２−ＫＲ、ＥＵＣ−ＪＰ、ＥＵＣ−ＫＲ、ＥＵＣ−ＣＮ、ＥＵＣ−ＴＷおよびＳｈｉｆｔ＿ＪＩＳ−２００４を含むことができる。したがって、入力コンテンツ１００の１つまたは複数の不可分で個別の単位１０４のいずれも、コンピューティング産業標準の１つによって定義された１つの特定のコードを用いて、エンコードし、解釈し、識別することができる。
【００２５】
図２Ａは、本明細書に述べる少なくともいくつかの実施形態によって構成される、生成プロトコルおよび予測辞書プロトコルを含む入力プロトコルの実施例を例示する。図２Ａに例示するように、入力プロトコル２００は、生成プロトコル２１０および予測辞書プロトコルを含むことができる。入力プロトコル２００は、入力コンテンツ１００を生成し、入力し、編集するために使用することができる。これは、１つまたは複数の自然言語１０１、１つまたは複数の記号１０２および１つまたは複数の絵文字１０３を生成し、入力し、編集する入力プロトコル２００を含むことができる。生成プロトコル２１０は、１つまたは複数の自然言語１０１、１つまたは複数の記号１０２および１つまたは複数の絵文字１０３を生成し、入力し、編集するために使用することができる。図２Ｂに例示するように、生成プロトコル２１０は、自然言語生成プロトコル２１１、記号生成プロトコル２１２および絵文字生成プロトコル２１３を含むことができる。自然言語生成プロトコル２１１は、例えば、ユーザが、例えばコンピューティングデバイスのキーボードまたはタッチスクリーンを使用して、コンピューティングデバイス中に入力したキャラクタに基づき、１つまたは複数の自然言語１０１について、アルファベットまたは数字、単語または文を選択する、または決定するコンピューティングデバイスによって１つまたは複数の自然言語１０１のキャラクタを生成し、入力するために使用することができる。記号生成プロトコル２１２は、例えば記号リストから１つまたは複数の記号１０２を選択する、または決定する、あるいは１つまたは複数の記号１０２を表すキャラクタのコードまたは組み合わせを入力するコンピューティングデバイスによって１つまたは複数の記号１０２を生成し、入力するために使用することができる。絵文字生成プロトコル２１３は、例えば絵文字リストから１つまたは複数の絵文字１０３を選択する、または決定する、あるいはいくつかのキャラクタ（例えば、句読点または文字）を使用して１つまたは複数の絵文字１０３を生成するコンピューティングデバイスによって１つまたは複数の絵文字１０３を生成し入力するために使用することができる。コンピューティングデバイスは、ユーザがコンピューティングデバイス中に入力したコンテンツに基づき、自然言語生成プロトコル２１１、記号生成プロトコル２１２および絵文字生成プロトコルの１つまたは複数を使用して、生成される、および／またはユーザに提供されるコンテンツを選択する、または決定することができる。
【００２６】
生成プロトコル２１０は、異なるタイプの自然言語生成プロトコル２１１の間で、例えば中国語生成プロトコルから日本語生成プロトコルに切り替えることができる。また、生成プロトコル２１０は、異なるタイプの記号生成プロトコル２１２の間で、例えば天気記号生成プロトコルからファッション記号生成プロトコルに切り替えることができる。さらに、生成プロトコル２１０はまた、異なるタイプの絵文字生成プロトコル２１３の間で、例えば幸福ムードの絵文字生成プロトコルから不幸ムードの絵文字生成プロトコルに切り替えることができる。さらに、生成プロトコル２１０は、異なるタイプの生成プロトコルの間で、例えば自然言語生成プロトコル２１１から記号生成プロトコル２１２に、または記号生成プロトコル２１２から絵文字生成プロトコル２１３に切り替えることができる。生成プロトコル２１０の切り替えプロセスは、入力コンテンツ１００によって、さらにまたトピック領域および関係パラメータによって決まり得る。例えば、ユーザが１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を、１つまたは複数の自然言語１０１を用いて生成される文中に挿入したいと望むことがあり、したがってそのような入力プロセスの間に、生成プロトコル２１０を何回か切り替える必要があり得る。
【００２７】
図２Ａに例示するように、入力プロトコル２００はまた、予測辞書プロトコル２２０を含むことができる。予測辞書プロトコル２２０は、入力コンテンツ１００の予測を容易にするために使用することができる。
【００２８】
図２Ｃは、本明細書に述べる少なくともいくつかの実施形態によって構成される、予測辞書プロトコルの構造の実施例を例示する。図２Ｃに例示するように、予測辞書プロトコル２２０は、予測辞書２２１および処理モジュール２２２を含むことができる。また例示するように、予測辞書２２１は、トピック領域予測辞書２２３および関係予測辞書２２４を含むことができ、処理モジュール２２２は、検索エンジン２２５、マッチングモジュール２２６、提案モジュール２２７および修正モジュール２２８を含むことができる。予測辞書２２１は、異なるタイプの予測辞書、例えばトピック領域予測辞書２２３および関係予測辞書２２４を含むことができる。予測辞書２２１は、１つまたは複数のデータベースを含むことができ、各データベースは、設定またはテキスト環境では、例えば、トピック領域（例えば環境のタイプ）または関係（例えばユーザからメッセージを受け取る文通相手）では、頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素、句読点および文、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を含むことができる。ユーザと入力コンテンツ１００の受信者に関するトピック領域および関係によって生成される、または予測される推薦するコンテンツのタイプを決定することができる。トピック領域予測辞書２２３のトピック領域は、任意のトピック、例えば学校、仕事、ビジネス、家族または友人関係のトピック、さらにまたテキスト環境に当てはまる多くの他のタイプのトピックを含むことができる。関係予測辞書２２４の関係は、ユーザと入力コンテンツ１００の受信者との間の任意のタイプの関係、例えばクラスメート、同僚、ビジネスパートナ、家族メンバまたは友人の間の関係を含むことができる。予測辞書２２１は、他のタイプの予測辞書を含むことができ、本明細書の説明に限定してはならない。
【００２９】
予測辞書２２１は、既存の辞書、例えば中国語辞書または日本語辞書、さらにまた１つまたは複数の自然言語１０１の任意の辞書に基づき、作成することができる。予測辞書２２１はまた、いくつかの他のマテリアル、例えば特定のトピック領域または特定の関係に関するユーザの前の通信記録に基づき、作成することができる。前の通信記録は、ユーザが過去に通信した、特にトピック領域および／または通信の対象とする受信者の関係を考慮した、任意の記録とすることができる。例えば、頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素、句読点および文、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、ビジネス上のトピック領域予測辞書を作成するために、一定のビジネスパートナ（例えば受取人）に対するユーザ（例えば送信者）の前の通信記録から抽出することができる。頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素、句読点および文、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、ビジネスパートナの関係予測辞書を作成するために、そのような記録から抽出することができる。
【００３０】
予測辞書２２１中の頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、「用語頻度−逆文献頻度（ＴＤ−ＩＤＦ：ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ−ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）」重みを用いて、次の式１を通じて抽出することができる。
【００３１】
【数１】
0006033326.tif 000002
例えば、１つまたは複数の自然言語１０１の１つまたは複数の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、トピック領域または関係に関連するマテリアル、例えば該トピック領域または該関係に関連する前の通信記録、一般的な辞書または同様のソースから抽出することができる。上記の式１では、１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を抽出するために使用されるマテリアルは、ｍと称することができる。１つまたは複数の自然言語１０１の１つまたは複数の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３のそれぞれは、一般に、単語またはｗと称することができる。１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３のリストは、Ｌｉと称することができる。非機能性の単語または形態素、例えば「ａ」、「ｔｈｅ」、「ａｎｄ」、「ｏｒ」または「ｉｓ」は、予測辞書ＰＤｉに関し、ユーザ「ｉ」に関して、メタデータ候補単語リストＭＣｉを作成するために、リストＬｉから除去することができる。これは、受信者「ｊ」に関して行うことができる。ローカル用語頻度ｔｆは、マテリアル中に現れた１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３のそれぞれの発生頻度であり、そのマテリアルから、１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３が抽出される。文献頻度ｄｆは、抽出するために使用されるマテリアルのすべて中に現れた１つまたは複数の自然言語１０１の単語、形態素および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を含む文献数である。例えば、１０個の文献が存在し、文献のすべてが単語「ｔｈｅｙ」を含む場合、「ｔｈｅｙ」のｄｆは１０である。１つの文献だけが単語「ｕｎｉｑｕｅ」を含む場合、「ｕｎｉｑｕｅ」のｄｆは１である。ｄｆの得点が大きいと、その単語は、ｄｆの得点が小さい単語に比べて、それほど重要でないことを示す、というのは、ｄｆの得点が大きいことは、その単語が多くの文献中に普通に現れることを示すからである。次いで、ｔｆおよびｄｆを計算することができる。次いで、頻繁に使用され、かつ特色となる単語のリストｗｉは、ｔｆおよびｄｆに基づき作成することができ、ｔｊが閾値ｔ１より大きく、ｄｆが閾値ｔ２より小さい。式１に関する追加の情報は、Ｂａｅｚａ−Ｙａｔｅｓ，Ｒ．およびＲｉｂｅｉｒｏ−Ｎｅｔｏ，Ｂ．著の「Ｍｏｄｅｒｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ（現代情報検索）」、ＡＣＭ  Ｐｒｅｓｓ／Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ、１９９９年から得ることができ、その全体を明確な参照によって本明細書に援用する。
【００３２】
図２Ｃに例示するように、予測辞書プロトコル２２０は、処理モジュール２２２を含むことができるが、しかし処理モジュール２２２は、いくつかのシステムには必要でない。処理モジュール２２２は、検索エンジン２２５を含むことができ、検索エンジン２２５は、入力コンテンツ１００と一致する１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を検索するために使用することができる。処理モジュール２２２は、マッチングモジュール２２６を含むことができ、マッチングモジュール２２６は、１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を入力コンテンツ１００と比較するために使用することができる。処理モジュール２２２は、提案モジュール２２７を含むことができ、提案モジュール２２７は、予測されたコンテンツ、例えば入力コンテンツ１００と一致する、または同様の１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を、ユーザに対してスクリーン上に予測されたコンテンツを表示することによってユーザに提案するために、使用することができる。処理モジュール２２２はまた、修正モジュール２２８を含むことができ、修正モジュール２２８は、予測辞書２２１を修正するために使用することができる。修正モジュール２２８の機能は、予測辞書２２１中にまだ格納されていない１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を追加すること、予測辞書２２１中の誤りを訂正すること、一定期間の経過後に、予測辞書２２１中に格納されている、不使用の１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を削除すること、または一定期間の経過後に、新しいタイプの予測辞書を用いて予測辞書２２１を更新することを含むことができる。
【００３３】
予測辞書プロトコル２２０は、入力コンテンツ１００の予測、例えば１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３をユーザが提供した入力コンテンツ１００に基づき予測することを容易にするために、使用することができる。予測された入力コンテンツは、ユーザがコンピューティングデバイスに入力したものに基づき、ユーザに推薦される、推薦する入力コンテンツとすることができる。例えば、ユーザは、キャラクタ「ｍｅ」を生成し入力するために、英語のための生成プロトコル２１０を使用することができる。ここで、キャラクタ「ｍｅ」は、入力コンテンツ１００の一部になることができる。入力コンテンツ１００に基づき、ビジネス上のトピック領域に関する予測辞書プロトコル２２０の処理モジュール２２２は、ビジネス上のトピック領域予測辞書を検索して、予測されたコンテンツ（例えば、推薦する入力コンテンツ）、例えば単語「ｍｅｔ」または「ｍｅｅｔｉｎｇ」を含む単語リストをユーザに提案することができる。ユーザは、提案された単語「ｍｅｅｔｉｎｇ」を選ぶことによって、予測されたコンテンツを受け入れることができる。ここで、新しく選ばれた単語「ｍｅｅｔｉｎｇ」は、入力コンテンツ１００の一部になることができる。入力コンテンツ１００に基づき、処理モジュール２２２は、さらに、ビジネス上のトピック領域予測辞書を検索して予測されたコンテンツ、例えば単語「ｓｃｈｅｄｕｌｅ」をユーザに提案することができる。ユーザは、提案された単語「ｓｃｈｅｄｕｌｅ」を選ぶことによって、予測されたコンテンツを受け入れることができる。ここで「ｍｅｅｔｉｎｇ  ｓｃｈｅｄｕｌｅ」は、入力コンテンツ１００の一部になることができる。入力コンテンツ１００に基づき、次いで、処理モジュール２２２は、ビジネス上のトピック領域予測辞書を検索して予測されたコンテンツ、例えば文「ｗｈａｔ  ｉｓ  ｔｈｅ  ｍｅｅｔｉｎｇ  ｓｃｈｅｄｕｌｅ  ｆｏｒ  ｔｏｍｏｒｒｏｗ？」をスクリーン上に表示してユーザに提案することができる。ユーザは、提案された文「ｗｈａｔ  ｉｓ  ｔｈｅ  ｍｅｅｔｉｎｇ  ｓｃｈｅｄｕｌｅ  ｆｏｒ  ｔｏｍｏｒｒｏｗ？」を選ぶことによって、予測されたコンテンツを受け入れることができ、その文は、入力コンテンツ１００の一部になることができる。ユーザは、予測されたコンテンツ中の何も選ばないことによって、予測されたコンテンツを受け入れなくてもよい。
【００３４】
別の実施例では、ユーザは、単語リストから提案された単語「ｍｅｔ」または「ｍｅｅｔｉｎｇ」を選ばないことによって、予測されたコンテンツを受け入れなくてもよいが、しかし、むしろ単語「ｍｅｅｔ」を生成して入力してもよい。ここで、ユーザが生成して入力した単語「ｍｅｅｔ」が、入力コンテンツ１００の一部になることができる。入力コンテンツ１００に基づき、処理モジュール２２２は、さらに、ビジネス上のトピック領域予測辞書を検索して予測されたコンテンツ、例えば文「ｌｅｔ’ｓ  ｍｅｅｔ  ｉｎ  ｔｈｅ  ｏｆｆｉｃｅ  ｔｏｄａｙ」をユーザに提案することができる。ユーザは、提案された文「ｌｅｔ’ｓ  ｍｅｅｔ  ｉｎ  ｔｈｅ  ｏｆｆｉｃｅ  ｔｏｄａｙ」を選ばないことによって、予測されたコンテンツを受け入れなくてもよい。ここで、予測されたコンテンツ「ｌｅｔ’ｓ  ｍｅｅｔ  ｉｎ  ｔｈｅ  ｏｆｆｉｃｅ  ｔｏｄａｙ」は、入力コンテンツ１００の一部になることができない。ユーザは、単に予測されたコンテンツを無視し、継続してキャラクタをコンピューティングデバイス中に入力することによって、予測されたコンテンツを受け入れなくてもよい。他方では、コンピューティングデバイスは、キャンセルボタンをユーザに提供することができ、ユーザは、キャンセルボタンを選択して、予測されたコンテンツをキャンセルすることができる。ユーザは、さらに、「ｌｅｔ’ｓ  ｐｌａｎ  ｔｏ  ｍｅｅｔ  ｆｏｒ  ｌｕｎｃｈ  ｔｏｄａｙ」などの文を生成して入力することができる。ここで、新しく生成され入力された文「ｌｅｔ’ｓ  ｐｌａｎ  ｔｏ  ｍｅｅｔ  ｆｏｒ  ｌｕｎｃｈ  ｔｏｄａｙ」は、入力コンテンツ１００の一部になることができる。もちろん、ユーザは、予測されたコンテンツ「ｌｅｔ’ｓ  ｍｅｅｔ  ｉｎ  ｔｈｅ  ｏｆｆｉｃｅ  ｔｏｄａｙ」を受け入れることができ、そのとき、文を「ｌｅｔ’ｓ  ｐｌａｎ  ｔｏ  ｍｅｅｔ  ｆｏｒ  ｌｕｎｃｈ  ｔｏｄａｙ」に編集することができる。単語「ｍｅｅｔ」および文「ｌｅｔ’ｓ  ｐｌａｎ  ｔｏ  ｍｅｅｔ  ｆｏｒ  ｌｕｎｃｈ  ｔｏｄａｙ」は、ビジネス上のトピック領域予測辞書中にまだ格納されていない可能性がある。そのとき、処理モジュール２２２は、これらの新しく生成され入力された単語および文をビジネス上のトピック領域予測辞書に追加することができ、したがって、その後「ｍｅ」がコンピューティングデバイス中に入力されたとき、トピック領域およびユーザと入力コンテンツ１００の受信者との間の関係に関して、そのような単語および文を検索して提案することができる。
【００３５】
入力プロトコル２００がユーザまたはコンピューティングデバイスによって変更されたとき、生成プロトコル２１０が切り替えられた、または予測辞書プロトコル２２０が切り替えられたことのいずれか、またはその両方である可能性がある。生成プロトコル２１０および予測辞書プロトコル２２０は、別々に切り替えることができる。ユーザまたはコンピューティングデバイスは、生成プロトコル２１０を異なる生成プロトコルに、例えば自然言語生成プロトコルＡから自然言語生成プロトコルＢに、または記号生成プロトコル２１２から絵文字生成プロトコル２１３に切り替えることができ、一方同じ予測辞書プロトコル２２０を継続する。ユーザまたはコンピューティングデバイスはまた、予測辞書プロトコル２２０を変えることができ、一方同じ生成プロトコル２１０を継続する。生成プロトコル２１０および予測辞書プロトコル２２０はまた、同時に、または対応して切り替えることができ、その状況下では、生成プロトコル２１０は、予測辞書プロトコル２２０が、手動で、または自動的のいずれかで切り替えられたときと同時に切り替えることができる。
【００３６】
例えば、ユーザが生成プロトコル２１０を日本語から中国語に切り替えたとき、ユーザは、日本語についての単語だけを含む予測辞書２２１から中国語についての単語だけを含む予測辞書２２１に切り替えることができる。他方では、ユーザは、中国語生成プロトコルと英語生成プロトコルの両方のために同じビジネスパートナの関係予測辞書を維持することができる、というのはビジネスパートナの関係予測辞書は、両方の言語によって共有することができる、１つまたは複数の自然言語１０１の単語、形態素、文および句読点、さらにまた１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を含むことができるからである。コンピューティングデバイスはまた、生成プロトコル２１０と予測辞書プロトコル２２０との間の関係を決定するために使用することができ、したがって、ユーザと、ユーザが生成して入力した入力コンテンツ１００の受信者との間の関係に基づき、対応して、または同時にそれらを切り替えることができる。
【００３７】
図３Ａは、本明細書に述べる少なくともいくつかの実施形態によって構成される、トピック領域プロファイルおよび関係プロファイルを含むプロファイルの実施例を例示する。図３Ａに例示するように、プロファイル３００は、任意のタイプのプロファイル、例えばトピック領域プロファイル３０１および関係プロファイル３０２を含むことができる。プロファイル３００は、データベースとすることができ、トピック領域（例えば環境のタイプ）または関係（例えばユーザからメッセージを受け取る文通相手）など、設定またはテキスト環境において頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素、句読点、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３を含むことができる。トピック領域プロファイル３０１は、テキストに関連する、またはテキストがそれに対して注目する全体的なトピックとして一般に述べることができる１つまたは複数のトピック領域を含むことができる。トピック領域プロファイル３０１のトピック領域は、任意のトピック、例えば学校、仕事、ビジネス、家族または友人関係のトピック、さらにまたテキスト環境に当てはまる、多くの他のタイプのトピックを含むことができる。関係プロファイル３０２は、ユーザとテキストの対象とする受信者との間の１つまたは複数の関係を含むことができる。関係プロファイル３０２の関係は、ユーザと入力コンテンツ１００の受信者との間の任意のタイプの関係、例えばクラスメート、同僚、ビジネスパートナ、家族メンバまたは友人の間の関係を含むことができる。プロファイル３００は、他のタイプのプロファイルを含むことができ、本明細書の説明に限定してはならない。一般に、１つまたは複数の不可分で個別の単位１０４は、入力コンテンツ１００とプロファイル３００との間の類似性または差を計算するために、使用することができる。入力コンテンツとの類似性がより大きいプロファイル３００は、予測されるテキストを生成して提供するために使用することができる。
【００３８】
プロファイル３００は、既存の辞書、例えば中国語辞書、日本語辞書または英語辞書、さらにまた１つまたは複数の自然言語１０１の任意の辞書に基づき、作成することができる。プロファイル３００はまた、いくつかの他のマテリアル、例えばトピック領域または関係に関するユーザの過去の通信記録に基づき、作成することができる。過去の通信記録は、ユーザが過去に通信した、特にトピック領域および／または通信の対象とする受信者との関係を考慮した、任意の記録とすることができる。例えば、頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素および句読点、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、ビジネス上のトピック領域プロファイルを作成するために、一定のビジネスパートナ（例えば受取人）に対するユーザ（例えば送信者）の過去の通信記録から抽出することができる。同様に、任意の他のタイプのトピック領域プロファイル３０１は、コンピューティングデバイス上で作成してそれに格納することができる。頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素または句読点、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３は、ビジネスパートナの関係プロファイルを作成するために、そのような記録から抽出することができる。同様に、任意の他のタイプの関係プロファイル３０２は、コンピューティングデバイスで作成してそれに格納することができる。
【００３９】
プロファイル３００では、１つまたは複数の自然言語１０１の単語および形態素は、機能性の単語および形態素を含むことができる。１つまたは複数の自然言語１０１の非機能性の単語および形態素、例えば「ｔｈｅ」、「ａｎｄ」、「ｏｒ」、「ｆｏｒ」または「ｉｓ」は、削除することができる。それぞれが頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素および句読点、１つまたは複数の記号１０２および１つまたは複数の絵文字１０３の発生頻度は、計算することができ、そのような発生頻度を反映する値を使用することができる。プロファイル３００中に含まれる１つまたは複数の自然言語１０１の単語、形態素および句読点、１つまたは複数の記号１０２および１つまたは複数の絵文字１０３のそれぞれは、発生頻度の特有の値を与えることができる。発生頻度の値は、トピック領域またはユーザと入力コンテンツ１００の受信者との間の関係に関する、ある既存のテキスト中に現れていて、頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語、形態素および句読点、１つまたは複数の記号１０２および１つまたは複数の絵文字１０３のそれぞれの発生を単純にカウントすることによって、決定することができる。発生頻度の値は、より正確な重み、例えば本明細書に提供した式１に関して述べたような用語頻度−逆文献頻度（ＴＤ−ＤＦ）重みを用いて決定することができる。発生頻度の値はまた、固定値を用いて簡単に決定することができ、その固定値の値は、トピック領域またはユーザと入力コンテンツ１００の受信者との間の関係に関する１つまたは複数の自然言語１０１の単語、形態素または句読点、１つまたは複数の記号１０２の個別の記号、または１つまたは複数の絵文字１０３の個別の絵文字の重要性を表すことができる。
【００４０】
図３Ｂは、本明細書に述べる少なくともいくつかの実施形態によって構成される、プロファイルに関する単語発生頻度ヒストグラムの実施例を例示する。図３Ｂに例示するように、単語発生頻度ヒストグラムは、プロファイル３００の、またはユーザによるテキスト入力中の単語の頻度を例示する。単語発生頻度ヒストグラムは、頻繁に使用される、または特色となる１つまたは複数の自然言語１０１の単語を表すことができる水平軸を含むことができ、ヒストグラムの垂直軸は各単語の発生頻度の値を表すことができ、垂直軸は、水平軸の単語の発生頻度を表すことができる。図３Ｂに例示するように、ビジネス上のトピック領域プロファイルまたはビジネス上の関係プロファイルに関して発生頻度の値を有する頻繁に使用される、または特色となる単語は、（ミーティング（Ｍｅｅｔｉｎｇ）、４００）、（スケジュール（Ｓｃｈｅｄｕｌｅ、）３００）、（明日（Ｔｏｍｏｒｒｏｗ、）１５０）、（送信する（Ｓｅｎｄ、）２５０）、（電子メール（Ｅ−ｍａｉｌ、）３５０）、（出席する（Ａｔｔｅｎｄ、）２５０）、（出張（Ｔｒｉｐ、）２００）、（計画（Ｐｌａｎ、）２５０）、（グループ（Ｇｒｏｕｐ、）１００）を含むことができる。図３Ｂの各単語の発生頻度の値は、ビジネス上のトピック領域またはビジネス上の関係に関連するいくつかの既存のマテリアル中の発生をカウントすることによって、簡単に計算することができる。図３Ｂの各単語の発生頻度の値は、本明細書に提供した式１に関連して述べたようなＴＤ−ＩＤＦ重みなど、より正確な重みを加えて計算することができる。図３Ｂの各単語の発生頻度の値はまた、ビジネス上のトピック領域またはビジネス上の関係に関連するそのような単語の重要性を示す固定値によって、決定することができる。例えば、単語「ミーティング（ｍｅｅｔｉｎｇ）」は、ビジネス環境では、頻繁に使用することができ、ビジネス上のトピック領域およびビジネス上の関係の特色となる単語として扱うことができる。したがって、単語「ミーティング（ｍｅｅｔｉｎｇ）」は、ビジネス上のトピック領域およびビジネス上の関係に対するその重要性を示すために、「４００」などの発生頻度の高い値を与えることができる。
【００４１】
図４は、本明細書に述べる少なくともいくつかの実施形態によって構成される、入力に基づき入力プロトコルを選択するためのシステムおよび方法の実施例を例示する。図４に例示するように、入力コンテンツ１００に基づき入力プロトコル２００を選択するために構成されるシステム４００を提供することができる。システム４００は、単一のコンピューティングデバイスまたはコンピューティングシステム中のコンピューティングデバイスの群として提供することができ、そのコンピューティングデバイスは、物理的に結合する、または無線で結合することができる。それゆえ、本明細書に述べるプロトコルを実施することができるコンピューティングデバイスを、コンピューティングシステム、例えばスマートフォン、タブレットなど、１つまたは複数のデバイスを含むシステム４００、あるいはそれらを動作可能に結合するネットワークの一部とすることができる事例が存在する。
【００４２】
図４に例示するように、システム４００は、ＵＩ４１０、処理モジュール４２０、計算モジュール４３０および選択モジュール４４０を含むことができる。ＵＩ４１０は、入力コンテンツ１００を受け取るために使用することができ、それによってユーザが情報を入力し、システム４００に関して情報を受け取ることが可能になる。ＵＩ４１０は、任意のタイプのユーザインターフェースとすることができる。しかし、通常のモバイルコンピューティングシステムでは、ユーザに関して情報を受け取り、それを提供するグラフィックユーザインターフェース（ＧＵＩ）を提供するタッチスクリーンが使用される。したがって、ここで、ＧＵＩの使用はまた、一般に、任意のタイプのＵＩと称することもできる。
【００４３】
ユーザは、タッチスクリーンまたはキーボードにタッチし、生成プロトコル２１０および予測辞書プロトコル２２０を使用して、入力コンテンツ１００を生成して入力することができる。そのとき、入力コンテンツ１００は、アプリケーションプログラミングインターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を通じて取得することができる。ＵＩ４１０はまた、カメラなどの画像生成デバイスを含むことができる。ユーザは、カメラを使用して、入力コンテンツ１００の写真、例えばプリントアウトした電子メールまたは通信記録の写真を撮ることができる。そのとき、入力コンテンツ１００の画像は、光学的キャラクタ認識器（ＯＣＲ：Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｚｅｒ）モジュール（図示せず）によって、入力コンテンツ１００のテキストフォーマットに変換することができる。ＵＩ４１０は、検出モジュール（図示せず）をさらに含むことができ、検出モジュールは、ユーザとアプリケーション中の入力コンテンツ１００の受信者との間の既存の以前の通信記録が存在するのかどうかを自動的に検出するために、かつさらに処理をする、例えば入力プロトコル２００を決定するために使用するために、入力コンテンツ１００としてそのような記録の一部を抽出するために使用することができる。それゆえ、ＵＩ４１０は、システム４００中に入力コンテンツを受け取るために使用することができる（「入力コンテンツを受け取る」、ブロック４１１）。
【００４４】
処理モジュール４２０は、入力コンテンツ１００を取得し、そのとき、ロゼット言語識別器（ＲＦＩ：Ｒｏｓｅｔｔｅ  Ｌａｎｇｕａｇｅ  Ｉｎｄｅｎｔｉｆｉｅｒ）などの言語識別器によって、入力コンテンツ１００を処理することができ、そのロゼット言語識別器は、自然言語処理のために設計される市販のソフトウェアである。しかし、任意のタイプの言語識別器を使用することができる。識別結果は、１つまたは複数の自然言語１０１のタイプと、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３が入力コンテンツ１００中に含まれているのかどうかと、または入力コンテンツ１００のエンコーディングコードとを含むことができる。それゆえ、処理モジュール４２０は、ＵＩ４１０から入力コンテンツを取得し（「入力コンテンツを取得する」、ブロック４２１）、次いで、入力コンテンツを解析する（「入力コンテンツを解析する」、ブロック４２２）ために使用することができる。
【００４５】
次いで、入力コンテンツ１００の１つまたは複数の不可分で個別の単位１０４は、処理モジュール４２０によって抽出することができる（「不可分で個別の単位を抽出する」、ブロック４２３）。抽出は、入力コンテンツ１００のタイプによって決まり得る。入力コンテンツ１００が、英語のように、単語と文との間にスペースを有する１つまたは複数の自然言語１０１を含むとき、入力コンテンツ１００を単語に分けるために、パートオブスピーチタガー（ＰＯＳタガー：ＰＯＳ  ｔａｇｇｅｒ：ｐａｒｔ−ｏｆ−ｓｐｅｅｃｈ  ｔａｇｇｅｒ）を使用することができる。他方では、単語または形態素の間にスペースを含まない、１つまたは複数の自然言語１０１、例えば日本語または中国語については、形態素を入力コンテンツ１００から抽出するために、語形論的な解析器（ｍｏｒｐｈｏｌｏｇｉｃａｌ  ａｎａｌｙｚｅｒ）を使用することができる。入力コンテンツ１００が、スペースによって分離される１つまたは複数の記号１０２および１つまたは複数の絵文字１０３を含むとき、それらは、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３の間のスペースを検出して抽出することができ、ＰＯＳタガーをそのような抽出に使用することができる。
【００４６】
本明細書に述べる入力コンテンツ１００の解析プロセスおよび１つまたは複数の不可分で個別の単位１０４の抽出プロセスは、他の有能なシステムまたはソフトウェアによって実施することができ、そのプロセスの細部は、本明細書に述べない。
【００４７】
１つまたは複数の不可分で個別の単位１０４の抽出プロセスの結果として、入力コンテンツ１００中に現れた１つまたは複数の自然言語１０１の単語、形態素および句読点、１つまたは複数の記号１０２または１つまたは複数の絵文字１０３が抽出される。単語および形態素は、機能性の単語および形態素を含むだけとすることができ、非機能性の単語および形態素、例えば「ｔｈｅ」、「ａｎｄ」、「ｏｒ」、「ｆｏｒ」または「ｉｓ」は、削除することができる。
【００４８】
計算モジュール４３０は、抽出された１つまたは複数の不可分で個別の単位１０４を処理モジュール４２０から受け取り、次いで、各抽出された不可分で個別の単位の発生頻度を計算することができる（「頻度を計算する」、ブロック４２５）。そのような発生頻度の値は、各抽出された不可分で個別の単位に与えることができる。各抽出された不可分で個別の単位の発生頻度の値は、入力コンテンツ１００中の各抽出された不可分で個別の単位の発生を簡単にカウントすることによって、決定することができる。発生頻度の値はまた、より正確な重み、例えば上記の式１を使用することによる用語頻度−逆文献頻度（ＴＤ−ＩＤＦ）重みを用いて決定することができる。
【００４９】
例えば、入力コンテンツ１００は、「Ｗｈａｔ  ｉｓ  ｔｈｅ  ｍｅｅｔｉｎｇ  ｓｃｈｅｄｕｌｅ  ｆｏｒ  ｔｏｍｏｒｒｏｗ？Ｈａｖｅ  ｙｏｕ  ａｌｒｅａｄｙ  ｂｏｏｋｅｄ  ｔｈｅ  ｍｅｅｔｉｎｇ  ｒｏｏｍ？Ｈａｖｅ  ｙｏｕ  ａｌｒｅａｄｙ  ｓｅｎｔ  ｅ−ｍａｉｌ  ｔｏ  ｅｖｅｒｙｏｎｅ  ｗｈｏ  ｗｉｌｌ  ａｔｔｅｎｄ  ｔｈｅ  ｍｅｅｔｉｎｇ？」とすることができる。発生頻度の値を有する抽出された不可分で個別の単位は、テーブル１に示すことができる。
【００５０】
【表１】
0006033326.tif 000003
上記のテーブル１では、発生頻度の値は、入力コンテンツ１００中の抽出された不可分で個別の単位の発生をカウントすることによって、簡単に計算することができる。
【００５１】
発生頻度の値を有する抽出された不可分で個別の単位はまた、テーブル２に示すことができる。
【００５２】
【表２】
0006033326.tif 000004
上記のテーブル２では、発生頻度の値は、例えば式１を使用することによって、抽出された不可分で個別の単位のいくつかに他のものより高い重要性を加える専用の重みを用いて計算することができる。
【００５３】
次いで、発生頻度の値を有する、または有さない抽出された不可分で個別の単位は、入力コンテンツ１００とプロファイル３００との間の類似性を計算するために、計算モジュール４３０によって使用することができる（「類似性を計算する」ブロック４３１）。再び図３Ａを参照すると、プロファイル３００は、任意のタイプのプロファイル、例えばトピック領域プロファイル３０１および関係プロファイル３０２を含むことができる。
【００５４】
一実施形態では、システム４００の計算モジュール４３０は、式２また式３のベクトル空間モデル計算関数（ｖｅｃｔｏｒ−ｓｐａｃｅ  ｍｏｄｅｌ  ｃａｌｃｕｌａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を通じて、入力コンテンツ１００とプロファイル３００との間の類似性を計算することができる。
【００５５】
【数２】
0006033326.tif 000005
式２または３では、ｈ１が、「プロファイル３００中の１つまたは複数の不可分で個別の単位１０４の発生頻度の値」を表すことができ、ｈ２が、「入力コンテンツ１００から抽出された１つまたは複数の不可分で個別の単位１０４の発生頻度の値」を表すことができる。類似性の値は、類似性計算の後に得ることができる。入力コンテンツ１００とプロファイル３００との間の類似性は、他の関数を通じて計算することができ、その関数の細部は、本明細書に述べる関数に限定することはできない。
【００５６】
類似性の計算は、２つ以上のプロファイルについて行うことができる。すなわち、入力コンテンツ１００は、１つまたは複数の類似性および１つまたは複数の類似性の値を決定するために、１つまたは複数のプロファイルと比較することができる。それゆえ、入力コンテンツ１００は、別の異なるプロファイル３００に対するよりも、１つのプロファイル３００にもっと類似することがある。
【００５７】
入力コンテンツ１００とプロファイル３００との間の類似性が計算され、類似性の値が、複数のプロファイルについて得られた後、計算モジュール４３０は、類似性情報を選択モジュール４４０に提供することができる。選択モジュール４４０は、プロファイルの群から決定される複数の類似性の群に関して、類似性をランク付けることができる。すなわち、入力コンテンツ１００とプロファイル３００の類似性は、入力の他のプロファイルとの類似性に対してランク付けることができる（「類似性をランク付ける」、ブロック４４１）。ランク付けは、入力と他のプロファイルと比較された１つのプロファイル３００との間の類似性の計算された値の数の大きさに基づかせることができる。各プロファイル３００が、同じ入力コンテンツ１００との類似性の値に対応するので、そのとき、プロファイル３００は、類似性の値を用いて識別することができ、したがって、そのような類似性の数の大きさのオーダーでまたランク付けることができる。例えば、テーブル３に例示するように、同じ入力コンテンツ１００との、プロファイルＡの類似性の値は４．８であり、プロファイルＢの類似性の値は４．１であり、プロファイルＣの類似性の値は５．６であり、プロファイルＤの類似性の値は６．８であり、プロファイルＥの類似性の値は９．１である。そのとき、類似性の値が計算された各プロファイル３００は、テーブル３に示すように、識別し、ランク付けし、他のプロファイルと比較することができる。
【００５８】
【表３】
0006033326.tif 000006
【００５９】
したがって、第１にランク付けされたトピック領域プロファイルは、類似性の値が９．１であるプロファイルＥであり、ビジネス上のトピック領域プロファイルとすることができる。第１にランク付けされた関係プロファイルは、類似性の値が６．８である関係プロファイルＤであり、ビジネスパートナの関係プロファイルとすることができる。プロファイル３００は、いくつかの性質を用いて定義することができる。テーブル３に例示するように、プロファイル３００の性質は、「予測辞書２２１のタイプ」の「性質１」、「１つまたは複数の自然言語１０１のタイプ」の「性質２」および「１つまたは複数の記号１０２または１つまたは複数の絵文字１０３のタイプ」の「性質３」を含むことができる。次いで、そのような性質は、入力コンテンツ１００に関する入力プロトコル２００を決定するために使用することができる。
【００６０】
次いで、他のプロファイルに関するプロファイル３００との入力コンテンツの類似性のランクに基づき、選択モジュール４４０は、類似性が最も高くランク付けされたものとして入力プロトコルを識別することができる（「入力プロトコルを識別する」、ブロック４４２）。例えば、テーブル３に例示するように、第１にランク付けされたプロファイルＥは、列「性質１」中の「ビジネス」のトピック領域、列「性質１」中の「ビジネスパートナ」の関係、列「性質２」中の「日本語」の言語タイプおよび列「性質３」中の「記号」を伴うプロファイルＥである。次いで、システム４００の選択モジュール４４０は、入力コンテンツ１００のために、日本語生成プロトコル、記号生成プロトコル、ビジネス上のトピック領域予測辞書およびビジネスパートナの関係予測辞書を伴う入力プロトコル２００を決定することができる。次いで、第１にランク付けされたプロファイルの性質に基づき識別された入力プロトコル２００は、類似性が最も高い第１にランク付けされた入力プロトコルとして扱うことができる。
【００６１】
次いで、システム４００の選択モジュール４４０は、入力コンテンツ１００について使用するために、第１にランク付けされた入力プロトコルを選択することができる（「第１にランク付けされた入力プロトコルを選択する」、ブロック４４３）。選択された後、選択モジュールは、ＵＩ４１０を通じて第１にランク付けされた入力プロトコルをユーザに提案することができる（「第１にランク付けされた入力プロトコルを提案する」、ブロック４１２）。提案することは、任意の形態でよい。第１にランク付けされた入力プロトコルは、ポップアップウインドウ中に、ＵＩ４１０の入力領域中の色を強烈にして、または入力領域中がフラッシングして、表示することができる。提案された後、ユーザは、第１にランク付けされた入力プロトコルを選択することができる。次いで、ＵＩ４１０は、選択モジュール４４０に、現在の入力プロトコルを第１にランク付けされた入力プロトコルに切り替えるように指示することができる（「選択モジュールに、入力プロトコルを切り替えるように指示する」、ブロック４１３）。その指示は、ユーザが受け入れた後に、または所定の期間が経過した後に出すことができる。やはり、選択された第１にランク付けされた入力プロトコルはまた、システム４００によって自動的に選択して使用することができる。
【００６２】
第１にランク付けされた入力プロトコルをユーザに提案したとき、ＵＩ４１０は、現在の入力プロトコルを切り替えるユーザの許可または指示とすることができる入力プロトコル切り替えコマンドをユーザに要求することができる。そのとき、ＵＩ４１０は、ユーザの許可または指示に対する対応を開始することができる。ユーザは、そのような状況では、一定の期間内に応答しないことがあり、ＵＩ４１０は、選択モジュール４４０に、現在の入力プロトコルを第１にランク付けされた入力プロトコルに切り替えるように指示しなくてもよく、現在の入力プロトコルを維持することができる。代替として、または追加として、ＵＩ４１０は、そのような期間の経過した後、選択モジュール４４０に、現在の入力プロトコルを第１にランク付けされた入力プロトコルに切り替えるように自動的に指示することができる。他方では、ユーザは、一定の期間内に応答することができ、その応答は、提案された入力プロトコルへの切り替えの許可、または異なる入力プロトコルへの切り替えの指示とすることができる。そのとき、ＵＩ４１０は、ユーザの許可または指示に対応するか否かにかかわらず、選択モジュール４４０に、現在の入力プロトコルを切り替えるように指示し始めることができる。次いで、選択モジュール４４０は、ＵＩ４１０の指示に対応して、現在の入力プロトコルを維持する、または現在の入力プロトコルを異なる入力プロトコルに切り替えることのいずれかを次にすることができる。
【００６３】
いずれの場合でも、選択モジュールは、入力コンテンツ１００のプロファイル３００との類似性に基づき入力プロトコルを切り替えることができる（「入力プロトコルを切り替え得る」、ブロック４４４）。
【００６４】
図５は、本明細書に述べる少なくともいくつかの実施形態によって構成される、入力コンテンツに基づき入力プロトコルを選択するためのデバイスおよび方法の実施例を例示する。図５に例示するように、入力コンテンツ１００に基づき入力プロトコル２００を選択するように構成されるデバイス５００は、グラフィックユーザインターフェース（ＧＵＩ）５１０、処理ユニット５２０、計算ユニット５３０、選択ユニット５４０および伝送ユニット５５０を含むことができる。上記に述べたように、ＧＵＩ５１０は、任意のタイプのＵＩ４１０とすることができる。デバイス５００のＧＵＩ５１０、処理ユニット５２０、計算ユニット５３０および選択ユニット５４０は、本明細書に述べたようなシステム４００のＵＩ４１０、処理モジュール４２０、計算モジュール４３０および選択ユニット４４０と同様の機能を有することができる。デバイス５００は、伝送ユニット５５０をさらに含むことができ、伝送ユニット５５０は、インターネット、無線ネットワークなどを通じて、入力コンテンツ１００を伝送するために使用することができる。デバイス５００は、任意のコンピューティングデバイス、例えばラップトップ、デスクトップ、あるいはモバイルデバイス、例えばスマートフォン、タブレットなどとすることができる。
【００６５】
それゆえ、ＧＵＩ５１０は、入力コンテンツ１００をユーザから受け取ることができ（「入力コンテンツを受け取る」、ブロック５１１）、処理ユニット５２０は、入力コンテンツ１００をＧＵＩ５１０から取得することができる（「入力コンテンツを取得する」、ブロック５２１）。処理ユニット５２０は、入力コンテンツを解析し（「入力コンテンツを解析する」、ブロック５２２）、不可分で個別の単位を抽出することができる（「不可分で個別の単位を抽出する」、ブロック５２３）。計算ユニット５３０は、抽出された不可分で個別の単位を処理ユニット５２０から得て、抽出された不可分の単位とプロファイルとの間の類似性を計算することができる（「類似性を計算する」、ブロック５３１）。次いで、選択ユニットは、抽出された不可分の単位と複数のプロファイルとの間の最も高くランク付けされた類似性を識別し（「入力プロトコルを識別する」、ブロック５４２）、最も高くランク付けされた類似性を第１にランク付けされた入力プロトコルとして選択することができる（「第１にランク付けされた入力プロトコルを選択する」、ブロック５４３）。そのとき、ＧＵＩ５１０は、第１にランク付けされた入力プロトコルをユーザに提案することができる（「第１にランク付けされた入力プロトコルを提案する」、ブロック５１２）。構成に応じて、ＧＵＩ５１０は、選択モジュールに、入力プロトコルを切り替えるように指示することができる（「選択モジュールに、入力プロトコルを切り替えるように指示する」、ブロック５１３）。そのとき、選択ユニット５４０は、入力プロトコルを現在の入力プロトコルから第１にランク付けされた入力プロトコルに切り替えることができる（「入力プロトコルを切り替える」、ブロック５４４）。入力コンテンツ１００が終了して、ユーザから受取人に伝送する準備ができた後、伝送ユニット５５０は、入力コンテンツ１００を受取人のコンピューティングシステム（例えばデバイス）に伝送することができる（「入力コンテンツを伝送する」、ブロック５５１）。
【００６６】
図７は、本明細書に述べる少なくともいくつかの実施形態によって構成される、入力コンテンツに基づき入力プロトコルを選択するための方法の実施形態を例示する。図７に例示するように、入力コンテンツに基づき入力プロトコルを選択するための方法７００の全体的な実施形態を実施することができる。方法７００は、ＧＵＩまたはデバイスを通じて入力コンテンツを受け取ること（「入力コンテンツを受け取る」、ブロック７０１）、ＡＰＩまたは画像生成デバイスを通じて入力コンテンツを取得すること（「入力コンテンツを取得する」、ブロック７０２）、言語識別器によって入力コンテンツを解析すること（「入力コンテンツを解析する」、ブロック７０３）、１つまたは複数の不可分で個別の単位を入力コンテンツから抽出すること（「不可分で個別の単位を抽出する」、ブロック７０４）、１つまたは複数の不可分で個別の単位の第１の発生頻度と１つまたは複数の不可分で個別の単位の第２の発生頻度との間の類似性を計算することであって、１つまたは複数の不可分で個別の単位の第２の発生頻度は、発生頻度の第２の値を用いて決定される、計算すること（「類似性を計算する」、ブロック７０５）、計算された類似性の値に基づき類似性をランク付けること（「類似性をランク付ける」、ブロック７０６）、計算された類似性の値の数の大きさに基づき入力プロトコルを識別すること（「入力プロトコルを識別する」、ブロック７０７）、類似性の値が最も高い第１にランク付けされた入力プロトコルを選択すること（「入力プロトコルを選択すること」、ブロック７０８）、第１にランク付けされた入力プロトコルをユーザに提案すること（「入力プロトコルを提案する」、ブロック７０９）、デバイスに、現在の入力プロトコルを維持する、または現在の入力プロトコルを別の入力プロトコルに切り替えることのいずれかをするように指示すること（「入力プロトコルを切り替えるように指示する」、ブロック７１０）、現在の入力プロトコルを別の入力プロトコルに切り替えること（「入力プロトコルを切り替える」、ブロック７１１）、およびインターネット、無線ネットワークなどを通じて、入力コンテンツを受信者に伝送すること（「入力コンテンツを伝送する」、ブロック７１２）を含むことができる。
【００６７】
図８は、本明細書に述べる少なくともいくつかの実施形態によって構成される、入力コンテンツに基づき入力プロトコルを選択するための方法の実施形態を例示する。図８に例示するように、入力コンテンツに基づき入力プロトコルを選択するための方法８００の実施形態の別の実施形態を実施することができる。方法８００は、入力コンテンツを解析すること（「入力コンテンツを解析する」、ブロック８０１）、入力コンテンツとデータベースとの間の類似性を計算すること（「類似性を計算する」、ブロック８０２）、類似性をランク付けること（「類似性をランク付ける」、ブロック８０３）、類似性に基づき入力プロトコルを識別すること（「入力プロトコルを識別する」、ブロック８０４）、類似性が最も高い第１にランク付けされた入力プロトコルを選択すること（「入力プロトコルを選択する」、ブロック８０５）を含むことができる。
【００６８】
本明細書に開示するいくつかの実施形態は、コンピュータ実行可能命令が格納されるコンピュータ可読記憶媒体を含み、該コンピュータ実行可能命令は、図４のシステム４００中に、図５のデバイス中に、さらにまた図７〜８の方法手法中に含まれる演算を実施するコンピューティングデバイスによって実行可能である。これらおよび他の実施形態では、コンピューティングデバイスは、システム４００およびデバイス５００中に含めることができ、図６のコンピューティングデバイス６００の特徴を含むことができる。
【００６９】
一実施形態では、本方法は、コンピューティングシステムまたは任意のコンピューティングデバイスで実施される態様を含むことができる。したがって、コンピューティングシステムまたはデバイスは、本方法を実施するためのコンピュータ実行可能命令を有するメモリデバイスを含むことができる。コンピュータ実行可能命令は、いずれかの請求項の方法のいずれかを実施するための１つまたは複数のアルゴリズムを含むコンピュータプログラム製品の一部とすることができる。
【００７０】
一実施形態では、本明細書に述べる演算、プロセス、方法または手法のいずれかを、コンピュータ可読媒体に格納されるコンピュータ可読命令として実装することができる。コンピュータ可読命令は、デスクトップコンピューティングシステム、ポータブルコンピューティングシステム、タブレットコンピューティングシステムおよびハンドヘルドコンピューティングシステム、さらにまた任意の他のコンピューティングデバイスからの広範なコンピューティングシステムのプロセッサによって、実行することができる。
【００７１】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができる様々な達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００７２】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、プロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、ＣＤ、ＤＶＤ、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００７３】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に一般に見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００７４】
本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００７５】
図６は、本明細書に述べる少なくともいくつかの実施形態によって構成される、本明細書に述べるシステムのために、およびその方法を実施するために使用することができるコンピューティングデバイスの実施形態を例示する。図６に例示するように、実施例のコンピューティングデバイス６００は、本明細書に述べるコンピューティング方法のいずれかを実施するように構成することができる。極めて基本的な構成６０２では、コンピューティングデバイス６００は、一般に、１つまたは複数のプロセッサ６０４およびシステムメモリ６０６を含む。プロセッサ６０４とシステムメモリ６０６との間で通信するためにメモリバス６０８を使用することができる。
【００７６】
所望の構成に応じて、プロセッサ６０４は、ただしこれらに限定されないが、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはその任意の他の組み合わせを含む、任意のタイプのものとすることができる。プロセッサ６０４は、レベル１のキャッシュ６１０およびレベル２のキャッシュ６１２など、１つまたは複数のレベルのキャッシング、プロセッサコア６１４およびレジスタ６１６を含むことができる。実施例のプロセッサコア６１４は、算術論理演算ユニット（ＡＬＵ：ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、浮動小数点ユニット（ＦＰＵ：ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ｕｎｉｔ）、デジタルシグナル処理コア（ＤＳＰコア）、またはその任意の組み合わせを含むことができる。また、プロセッサ６０４とともに実施例のメモリコントローラ６１８を使用することができる、またはいくつかの実装形態では、メモリコントローラ６１８は、プロセッサ６０４の内部部品とすることができる。
【００７７】
所望の構成に応じて、システムメモリ６０６は、ただしこれらに限定されないが、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（例えばＲＯＭ、フラッシュメモリなど）、またはその任意の組み合わせを含む、任意のタイプのものとすることができる。システムメモリ６０６は、オペレーティングシステム６２０、１つまたは複数のアプリケーション６２２およびプログラムデータ６２４を含むことができる。アプリケーション６２２は、本明細書に述べる方法に関して述べた機能を含む、本明細書に述べるような機能を果たすように構成される決定アプリケーション６２６を含むことができる。いくつかの実施形態では、アプリケーション６２２は、信頼できないコンピューティングノードによって実施された仕事を本明細書に述べるようなものとして確認することができるように、オペレーティングシステム６２０上のプログラムデータ６２４を用いて演算するように構成することができる。この述べた基本構成６０２は、図６に、内側点線内のそれら構成要素によって例示してある。
【００７８】
コンピューティングデバイス６００は、追加の特徴または機能性、および、基本構成６０２と任意の必要なデバイスおよびインターフェースとの間の通信を容易にするために追加のインターフェースを有することができる。例えば、ストレージインターフェースバス６３４を介した基本構成６０２と１つまたは複数のデータ記憶装置６３２との間の通信を容易にするために、バス／インターフェースコントローラ６３０を使用することができる。データ記憶装置６３２は、取外し式記憶装置６３６、非取外し式記憶装置６３８、またはその組み合わせとすることができる。取外し式および非取外し式の記憶装置の実施例は、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスク装置、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、半導体ドライブ（ＳＳＤ）、およびテープドライブを、いくつか例を挙げると含む。実施例のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術によって実現される揮発性および不揮発性の、取外し式および非取外し式の媒体を含むことができる。
【００７９】
システムメモリ６０６、取外し式記憶装置６３６および非取外し式記憶装置６３８は、コンピュータ記憶媒体の実施例である。コンピュータ記憶媒体は、ただしこれらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するために使用することができ、コンピューティングデバイス６００がアクセスすることができる、任意の他の媒体を含む。任意のそのようなコンピュータ記憶媒体は、コンピューティングデバイス６００の一部とすることができる。
【００８０】
コンピューティングデバイス６００はまた、バス／インターフェースコントローラ６３０を介する、様々なインターフェースデバイス（例えば出力装置６４２、周辺インターフェース６４４、および通信デバイス６４６）から基本構成６０２への通信を容易にするために、インターフェースバス６４０を含むことができる。実施例の出力装置６４２は、グラフィック処理ユニット６４８およびオーディオ処理ユニット６５０を含み、それらは、様々な外部デバイス、例えばディスプレイまたはスピーカと１つまたは複数のＡ／Ｖポート６５２を介して通信するように構成することができる。実施例の周辺インターフェース６４４は、シリアルインターフェースコントローラ６５４またはパラレルインターフェースコントローラ６５６を含み、それらは、外部デバイス、例えば入力装置（例えばキーボード、マウス、ペン、音声入力装置、タッチ入力装置など）、または他の周辺デバイス（例えばプリンタ、スキャナなど）と１つまたは複数のＩ／Ｏポート６５８を介して通信するように構成することができる。実施例の通信デバイス６４６は、ネットワークコントローラ６６０を含み、ネットワークコントローラ６６０は、１つまたは複数の他のコンピューティングデバイス６６２との通信をネットワーク通信リンク上で１つまたは複数の通信ポート６６４を介して容易にするように構成することができる。
【００８１】
ネットワーク通信リンクは、通信媒体の一実施例とすることができる。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または変調されるデータ信号（ｍｏｄｕｌａｔｅｄ  ｄａｔａ  ｓｉｇｎａｌ）、例えば搬送波または他の転送メカニズムの形の他のデータによって具体化することができ、任意の情報配信媒体を含むことができる。「変調されるデータ信号」は、その特性の１つまたは複数が、該信号中で情報をエンコードするようにして設定される、または変化する信号とすることができる。例としてだけで限定するものでなく、通信媒体は、有線媒体、例えば有線ネットワークまたは直接配線の接続、および無線媒体、例えば音響、無線周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）および他の無線媒体を含むことができる。用語「コンピュータ可読媒体（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）」は、本明細書で使用するとき、記憶媒体と通信媒体の両方を含むことができる。
【００８２】
コンピューティングデバイス６００は、小さいフォームファクタのポータブル（またはモバイル）電子デバイス、例えばセル方式の携帯電話、携帯情報端末（ＰＤＡ）、パーソナルメディアプレーヤデバイス、無線ウェブウオッチ（ｗｅｂ−ｗａｔｃｈ）デバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記の機能のいずれかを含むハブリッドデバイスの一部として実現することができる。また、コンピューティングデバイス６００は、ラップトップコンピュータと非ラップトップコンピュータの構成の両方を含むパーソナルコンピュータとして実現することができる。また、コンピューティングデバイス６００は、任意のタイプのネットワークコンピューティングデバイスとすることができる。また、コンピューティングデバイス６００は、本明細書に述べるように、自動化システムとすることができる。
【００８３】
本明細書に述べる実施形態は、様々なコンピュータのハードウェアまたはソフトウェアのモジュールを含む専用または汎用のコンピュータの使用を含むことができる。
【００８４】
また、本発明の範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造を伝えるための、またはそれらが格納されるコンピュータ可読媒体を含む。そのようなコンピュータ可読媒体は、専用または汎用のコンピュータがアクセスすることができる、任意の利用できる媒体とすることができる。例としてだけで限定するものでなく、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶装置、またはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコード手段を伝える、または格納するために使用することができ、かつ汎用または専用のコンピュータがアクセスすることができる、任意の他の媒体を含むことができる。情報が、ネットワークまたは別の通信接続（有線、無線または有線と無線の組み合わせのどれか）上でコンピュータに転送された、または提供されたとき、そのコンピュータは、コンピュータ可読媒体としてその接続を適切に見なす。それゆえ、そのような接続は、コンピュータ可読媒体と適切に称する。また、上記の事項の組み合わせは、コンピュータ可読媒体の範囲内に含むべきである。
【００８５】
コンピュータ実行可能命令は、例えば命令およびデータを含み、それらは、汎用コンピュータ、専用コンピュータまたは専用処理デバイスに、一定の機能または機能の群を実施させる。主題は、構造上の特徴および／または方法論的な規則に特有な言語で述べてきたが、添付の請求項で定義される主題は、上記に述べた具体的な特徴および規則に必ずしも限定されないことを理解すべきである。むしろ、上記に述べた具体的な特徴および動作は、請求項を実施する例の形態として開示している。
【００８６】
用語「モジュール（ｍｏｄｕｌｅ）」または「構成要素（ｃｏｍｐｏｎｅｎｔ）」は、本明細書で使用する際、コンピューティングシステム上で実行するソフトウェアオブジェクトまたはルーチンを言うことができる。本明細書に述べる様々な構成要素、モジュール、エンジンおよびサービスは、コンピューティングシステム上で実行するオブジェクトまたはプロセスとして実現することができる（例えば、別々のスレッドとして）。本明細書に述べるシステムおよび方法が、好ましくもソフトウェアで実施されるが、ハードウェアまたはソフトウェアとハードウェアの組み合わせでの実装形態はまた、可能であり予期されている。この説明では、「コンピューティングエンティティ（ｃｏｍｐｕｔｉｎｇ  ｅｎｔｉｔｙ）」は、本明細書で既に述べたような、任意のコンピューティングシステム、あるいはコンピューティングシステム上で動作する任意のモジュールまたはモジュールの組み合わせとすることができる。
【００８７】
当業者は、本明細書で開示したこれらおよび他のプロセスおよび方法に関し、プロセスおよび方法で実施される機能は、異なる順序で実施することができることを認識されるはずである。さらにまた、概略を述べた手法および演算は、実施例として単に提示しただけであり、手法および演算のいくつかは、開示する実施形態の本質を損なうことなく、オプションとすることができ、より少ない手法および演算に結合する、または追加の手法および演算に拡張することができる。
【００８８】
本開示は、本明細書に述べる特定の実施形態の観点から限定すべきものでなく、様々な態様を例示するものとして意図している。当業者に明らかになるように、その趣旨および範囲から逸脱せずに、多くの修正および変形を実施することができる。本開示の範囲内に含まれる機能的に同等な方法および装置は、本明細書に列挙したそれらに加えて、前述の説明から当業者に明らかになる。そのような修正および変形は、添付の請求項の範囲内に含まれると意図する。本開示は、そのような請求項について与えられる同等物の完全な範囲とともに、添付の請求項の条項によってのみ限定すべきである。また、本明細書に使用する専門用語は、具体的な実施形態を述べるためだけであり、限定するものとして意図しないことを理解すべきである。
【００８９】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００９０】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、そ���に限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００９１】
さらに、本開示の特徴または態様がマーカッシュグループの観点で述べられている場合、当業者は、本開示がまた、それによって、マーカッシュグループの任意の個別のメンバまたはメンバのサブグループに関して述べられていることを認識されるはずである。
【００９２】
当業者が理解されるように、いずれか、およびすべての目的で、例えば書面による説明を提示することに関して、本明細書に開示するすべての範囲は、いずれか、およびすべての可能な下位の範囲およびその下位の範囲の組み合わせを包含する。任意の列挙した範囲は、同範囲を十分に述べ、同範囲を少なくとも等しい半分に、１／３に、１／４に、１／５に、１／１０になどに分割することができるものとして、容易に認識することができる。非限定の実施例として、本明細書に開示する各範囲は、容易に下側の１／３、中間の１／３および上側の１／３になどに分割することができる。また、当業者が理解されるように、すべての言葉、例えば「まで（ｕｐ  ｔｏ）」、「少なくとも（ａｔ  ｌｅａｓｔ）」などは、述べた数を含み、上記で議論したように、下位の範囲にその後で分割することができる範囲を言う。最後に、当業者が理解されるように、範囲は、各個別のメンバを含む。それゆえ、例えば、１〜３のセルを有するグループは、１つ、２つ、または３つのセルを有するグループを言う。同様に、１〜５のセルを有するグループは、１つ、２つ、３つ、４つ、または５つのセルを有するグループを言う、等々である。
【００９３】
前述事項から、本開示の様々な実施形態は、例示する目的で本明細書に述べてきたことを、および本開示の範囲および趣旨から逸脱せずに、様々な修正を行うことができることを認識されるはずである。したがって、本明細書に開示した様々な実施形態は、限定するものと意図せず、真の範囲および趣旨は、次の請求項によって示されている。
【図１Ａ】
0006033326.tif 000007
【図１Ｂ】
0006033326.tif 000008
【図２Ａ】
0006033326.tif 000009
【図２Ｂ】
0006033326.tif 000010
【図２Ｃ】
0006033326.tif 000011
【図３Ａ】
0006033326.tif 000012
【図３Ｂ】
0006033326.tif 000013
【図４】
0006033326.tif 000014
【図５】
0006033326.tif 000015
【図６】
0006033326.tif 000016
【図７】
0006033326.tif 000017
【図８】
0006033326.tif 000018