(57)【要約】【課題】会話に対するアイコノグラフィック・シンボル予測を提供すること【解決手段】表示するために、複数のキーを含むグラフィカル・キーボードを出力し、前記複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定し、前記テキストに少なくとも部分的に基づいて、前記テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定するコンピューティング・デバイスが説明される。前記コンピューティング・デバイスは、前記暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成し、前記グラフィカル・キーボード内に表示するために、前記フレーズのグラフィカル指示を出力する。【選択図】図１
2018101413.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング・デバイスで実行されているキーボード・アプリケーションにより、表示するために、複数のキーを含むグラフィカル・キーボードを出力するステップと、
前記キーボード・アプリケーションにより、前記複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定するステップと、
前記キーボード・アプリケーションにより、前記テキストに少なくとも部分的に基づいて、前記テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定するステップと、
前記キーボード・アプリケーションにより、前記暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成するステップと、
前記キーボード・アプリケーションにより、前記グラフィカル・キーボード内に表示するために、前記フレーズのグラフィカル指示を出力するステップと、
を含む、方法。
【請求項２】
前記電子通信の前記テキストの末尾を決定したことに応答して、前記暗黙的ユーザ表現が決定される、請求項１に記載の方法。
【請求項３】
前記選択された１つまたは複数のキーの最後のキーが句読点文字に関連付けられた句読点キーに対応すること、
前記選択された１つまたは複数のキーの前記最後のキーが前記電子通信を送信するための前記グラフィカル・キーボードの送信キーに対応すること、
前記最後のキーが選択されてからユーザ入力の一時停止が発生していること、または
前記テキストに関連付けられた単語の量が単語閾値を超過すること、
を判定したことに応答して、前記キーボード・アプリケーションにより、前記電子通信の前記テキストの前記末尾を決定するステップ
をさらに含む、請求項２に記載の方法。
【請求項４】
１つまたは複数のアイコノグラフィック・シンボルの前記フレーズの前記グラフィカル指示の選択の指示を受信したことに応答して、前記キーボード・アプリケーションにより、前記電子通信の一部として、１つまたは複数のアイコノグラフィック・シンボルの前記フレーズを出力するステップ
をさらに含む、請求項１乃至３の何れか１項に記載の方法。
【請求項５】
前記電子通信の一部として１つまたは複数のアイコノグラフィック・シンボルの前記フレーズを出力するステップは、前記テキストの前記部分に前記フレーズを付加するかまたは前記テキストの前記部分を前記フレーズで置き換えるステップを含む、請求項４に記載の方法。
【請求項６】
１つまたは複数のアイコノグラフィック・シンボルの前記フレーズの前記グラフィカル指示を出力するステップは、１つまたは複数のアイコノグラフィック・シンボルの前記フレーズの前記グラフィカル指示を前記グラフィカル・キーボードの提案領域内の提案として出力するステップを含む、請求項１乃至５の何れか１項に記載の方法。
【請求項７】
１つまたは複数のアイコノグラフィック・シンボルの前記フレーズの前記グラフィカル指示は、前記コンピューティング・デバイスが１つまたは複数のアイコノグラフィック・シンボルの前記フレーズを生成したことを示すためのテキストまたはイコノグラフィのうち少なくとも１つを含むグラフィカル要素を含む、請求項１乃至６の何れか１項に記載の方法。
【請求項８】
１つまたは複数のアイコノグラフィック・シンボルの前記フレーズは、それぞれが前記暗黙的ユーザ表現を表す複数のアイコノグラフィック・シンボル・フレーズからの特定のフレーズであり、１つまたは複数のアイコノグラフィック・シンボルの前記フレーズの前記グラフィカル指示はさらに、前記複数のアイコノグラフィック・シンボル・フレーズからの追加のフレーズへの選択可能要素またはリンクを含む、請求項７に記載の方法。
【請求項９】
前記暗黙的ユーザ表現を決定するステップは、
前記キーボード・アプリケーションにより、前記テキストの少なくとも一部に基づいて、１つまたは複数の単語を決定するステップと、
前記キーボード・アプリケーションにより、前記１つまたは複数の単語に基づいて、かつ、検索可能なユーザ表現のローカルモデルから、前記特定のユーザ表現が前記１つまたは複数の単語に関連する確率を示す特定のユーザ表現に割り当てられたスコアを決定するステップと、
前記特定のユーザ表現に割り当てられた前記スコアが閾値を満たすと判定したことに応答して、前記キーボード・アプリケーションにより、前記特定のユーザ表現を前記暗黙的ユーザ表現として識別するステップと、
を含む、請求項１乃至８の何れか１項に記載の方法。
【請求項１０】
１つまたは複数のアイコノグラフィック・シンボルの前記フレーズを生成するステップは、
前記キーボード・アプリケーションにより、前記暗黙的ユーザ表現に基づいて、かつ、アイコノグラフィック・シンボルの検索可能なフレーズのローカルモデルから、前記アイコノグラフィック・シンボルの特定のフレーズが前記暗黙的ユーザ表現に関連する確率を示すアイコノグラフィック・シンボルの特定のフレーズに割り当てられたスコアを決定するステップと、
前記アイコノグラフィック・シンボルの特定のフレーズに割り当てられた前記スコアが閾値を満たすと判定したことに応答して、前記キーボード・アプリケーションにより、前記アイコノグラフィック・シンボルの特定のフレーズを１つまたは複数のアイコノグラフィック・シンボルの前記フレーズとして識別するステップと、
を含む、請求項１乃至９の何れか１項に記載の方法。
【請求項１１】
前記ローカルモデルは前記コンピューティング・デバイスの現在の位置に関連付けられる、請求項１０に記載の方法。
【請求項１２】
前記キーボード・アプリケーションにより、以前の電子通信のアイコノグラフィック・シンボル・フレーズに基づいて、アイコノグラフィック・シンボルの検索可能なフレーズの前記ローカルモデルをトレーニングするステップ
をさらに含む、請求項１０または１１に記載の方法。
【請求項１３】
前記以前の電子通信は他のコンピューティング・デバイスにより送信または受信されたものであり、前記他のコンピューティング・デバイスは前記コンピューティング・デバイスの現在の位置で配置されたものである、請求項１２に記載の方法。
【請求項１４】
前記ローカルモデルは第１のローカルモデルであり、前記方法は、
前記コンピューティング・デバイスの前記現在の位置の第１の位置から第２の位置への変化を決定したことに応答して、
前記キーボード・アプリケーションにより、リモートコンピューティング・システムから、アイコノグラフィック・シンボルの検索可能なフレーズの第２のモデルを取得するステップであって、前記第２のモデルは前記第２の位置に関連付けられる、ステップと、
前記キーボード・アプリケーションにより、前記第１のローカルモデルを前記第２のモデルで置き換えるステップと、
をさらに含む、請求項１０乃至１３の何れか１項に記載の方法。
【請求項１５】
存在検知ディスプレイ・コンポーネントと、
少なくとも１つのプロセッサと、
実行されたとき、コンピューティング・デバイスの少なくとも１つのプロセッサに請求項１乃至１４の何れか１項に記載の方法を実施させる、キーボード・アプリケーションに関連付けられた命令を格納したメモリと、
を備える、コンピューティング・デバイス。
【請求項１６】
実行されたときコンピューティング・デバイスの少なくとも１つのプロセッサに請求項１乃至１４の何れか１項に記載の方法を実施させる命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
幾つかのアプリケーションを同時に実行できるにも関わらず、幾つかのモバイル・コンピューティング・デバイスは、単一のアプリケーションのグラフィカル・ユーザ・インタフェース（ＧＵＩ）を一度に表示できるのみである。モバイル・コンピューティング・デバイスのユーザは、異なるアプリケーションＧＵＩの間で切り替えるための入力を提供して、特定のタスクを完了しなければならないかもしれない。例えば、モバイル・コンピューティング・デバイスのユーザは、メッセージング・アプリケーションにテキストを入力するのを止め、当該デバイスに検索アプリケーションへトグルさせるための入力を提供し、ユーザがメッセージの作成またはメッセージング・アプリケーションへのテキストの入力を完了するために使用したい、アイコノグラフィック・シンボル（例えば、絵文字シンボル）のような特定の情報を検索するために、さらに追加の入力を当該検索アプリケーションのＧＵＩで提供する必要があるかもしれない。様々なタスクを実施するために幾つかのコンピューティング・デバイスにより要求される幾つかの入力を提供することは、退屈で、反復的で、時間を浪費するものでありうる。
【発明の概要】
【課題を解決するための手段】
【０００２】
一般に、本開示は、コンピューティング・デバイスが、グラフィカル・キーボードで入力されているテキストに少なくとも部分的に基づいて推論された暗黙的ユーザ表現を表し、当該グラフィカル・キーボード内の予測されたフレーズを表示する、１つまたは複数のアイコノグラフィック・シンボルのフレーズを自動的に予測できるようにするための技術に関する。例えば、ユーザは、キーボード・アプリケーションにより、存在感知スクリーン（例えば、タッチスクリーン）で表示されるグラフィカル・キーボードと対話してもよい。当該対話は、通信アプリケーション、例えばメッセージング・アプリケーション、テキスト入力アプリケーション等と関連してもよい。コンピューティング・デバイスは、ユーザがメッセージを電子会話の一部としてタイプした際に、当該グラフィカル・キーボードに関連付けられたユーザ入力を検出してもよい。当該キーボード・アプリケーションは、当該電子会話の単語に基づいて、当該電子会話の単語により文字通りにキャプチャされないユーザ表現、フィーリング、センチメント、または他の暗黙的なメッセージまたは感情を識別する。換言すれば、当該キーボード・アプリケーションは当該電子会話の一部を特徴づけることができない。
【０００３】
当該キーボード・アプリケーションは、当該電子会話を特徴付けるが当該電子会話で使用されている単語により文字通り表されない１つまたは複数のアイコノグラフィック・シンボルの示唆されたフレーズを自動的に生成し、表示してもよい。ユーザは、提案されたフレーズを選択し、それにより、当該キーボード・アプリケーションに、当該アイコノグラフィック・シンボル・フレーズを新たなメッセージ、または既存のメッセージの一部として挿入および／または送信させてもよい。幾つかの例では、コンピューティング・デバイスは、当該提案されたフレーズを、当該キーボードの一部としてまたは当該キーボードの一部の代わりに（例えば、当該グラフィカル・キーボードの単語提案領域内の示唆された単語の代わりに）提供してもよい。
【０００４】
統合されたアイコノグラフィック・シンボル・フレーズ予測を有するグラフィカル・キーボードを含むＧＵＩを提供することで、例示的なコンピューティング・デバイスは、ユーザが既に当該グラフィカル・キーボードで提供した入力に関連する示唆されたアイコノグラフィック・シンボル・フレーズを、幾つかの異なるアプリケーションおよびアプリケーションＧＵＩの間を切り替え、当該グラフィカル・キーボードで既に入力されたテキストを再びタイプするか、または、関連するアイコノグラフィック・シンボル・フレーズを自力で考え付く必要なしに、ユーザが迅速に取得するための方法を提供することができる。このように、本開示の技術は、アイコノグラフィック・シンボル・フレーズを取得するのに必要な時間とユーザ入力の数を減らすことができ、これは、ユーザ・エクスペリエンスを簡略化でき、コンピューティング・デバイスの電力消費を減らすことができる。
【０００５】
１例では、コンピューティング・デバイスで実行されているキーボード・アプリケーションにより、表示するために、複数のキーを含むグラフィカル・キーボードを出力するステップと、当該キーボード・アプリケーションにより、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定するステップと、当該キーボード・アプリケーションにより、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定するステップとを含む方法が説明される。当該方法はさらに、当該キーボード・アプリケーションにより、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成するステップと、当該キーボード・アプリケーションにより、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力するステップとを含む。
【０００６】
別の例では、存在検知ディスプレイ・コンポーネント、少なくとも１つのプロセッサ、およびメモリを含むコンピューティング・デバイスが説明される。当該メモリは、実行されたとき当該少なくとも１つのプロセッサに、当該存在検知ディスプレイ・コンポーネントで表示するために、複数のキーを含むグラフィカル・キーボードを出力させ、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定させる、キーボード・アプリケーションに関連付けられた命令を格納する。当該命令は、実行されたとき、さらに当該少なくとも１つのプロセッサに、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定させ、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成させ、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力させる。
【０００７】
別の例では、実行されたときコンピューティング・デバイスの少なくとも１つのプロセッサに、表示するために、複数のキーを含むグラフィカル・キーボードを出力させ、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定させる命令を含むコンピュータ可読記憶媒体が説明される。当該命令は、実行されたとき、さらに当該少なくとも１つのプロセッサに、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定させ、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成させ、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力させる。
【０００８】
別の例では、表示するために、複数のキーを含むグラフィカル・キーボードを出力するための手段と、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定するための手段と、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定するための手段とを備えるコンピューティング・システムが説明される。当該コンピューティング・システムはさらに、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成するための手段と、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力するための手段とを備える。
【０００９】
１つまたは複数の例の詳細を添付図面および以下の説明で説明する。本開示の他の特徴、オブジェクト、および利点は当該説明および図面、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１０】
【図１】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスを示す概念図である。
【図２】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスを示すブロック図である。
【図３】本開示の１つまたは複数の技術に従う、リモートデバイスで表示するためのグラフィカルコンテンツを出力する例示的なコンピューティング・デバイスを示すブロック図である。
【図４Ａ】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。
【図４Ｂ】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。
【図４Ｃ】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。
【図４Ｄ】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。
【図４Ｅ】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。
【図５】本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成されるコンピューティング・デバイスの例示的な動作を示す流れ図である。
【発明を実施するための形態】
【００１１】
図１は、本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイス１１０を示す概念図である。主に絵文字シンボル・フレーズに関して以下で説明するが、本開示の技術は他のタイプのアイコノグラフィック・シンボル・フレーズにも等しく適用可能である。アイコノグラフィック・シンボルの幾つかの例には、絵文字シンボル、ＡＳＣＩＩエモーティコン、特殊ＡＳＣＩＩシンボル、動的および静的な画像、スティッカ等が含まれるがこれは必ずしもそのように制限されない。
【００１２】
コンピューティング・デバイス１１０は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、コンピュータ化された時計、コンピュータ化されたアイウェア、コンピュータ化されたグローブ、または他の任意のタイプのポータブル・コンピューティング・デバイスのようなモバイル・デバイスを表してもよい。コンピューティング・デバイス１１０の追加の例は、表示用のグラフィカル・キーボード出力しうる、デスクトップコンピュータ、テレビ、携帯情報端末（ＰＤＡ）、ポータブルゲーミングシステム、メディアプレイヤ、電子書籍リーダ、モバイルテレビプラットフォーム、自動車ナビゲーションおよび娯楽システム、車両（例えば、自動車、航空機、または他の車両の）コックピット・ディスプレイ、または他の任意のタイプのウェラブルおよび非ウェラブル、モバイルまたは非モバイル・コンピューティング・デバイスを含む。
【００１３】
コンピューティング・デバイス１１０は存在検知ディスプレイ（ＰＳＤ）１１２、ユーザ・インタフェース（ＵＩ）モジュール１２０およびキーボード・モジュール１２２を含む。モジュール１２０および１２２は、コンピューティング・デバイス１１０において常駐および／または実行するソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの混合を用いて記述された動作を実施してもよい。コンピューティング・デバイス１１０の１つまたは複数のプロセッサは、モジュール１２０および１２２の動作を実施するための、コンピューティング・デバイス１１０のメモリまたは他の非一時的記憶媒体に格納された命令を実行してもよい。コンピューティング・デバイス１１０は、モジュール１２０および１２２を、基盤ハードウェアで実行される仮想マシンとして実行してもよい。モジュール１２０および１２２を、オペレーティング・システムまたはコンピューティングプラットフォームの１つまたは複数のサービスとして実行してもよい。モジュール１２０および１２２を、コンピューティングプラットフォームのアプリケーションレイヤの１つまたは複数の実行可能プログラムとして実行してもよい。
【００１４】
コンピューティング・デバイス１１０のＰＳＤ１１２は、コンピューティング・デバイス１１０に対する夫々の入力および／または出力デバイスとして機能してもよい。ＰＳＤ１１２を、様々な技術を用いて実装してもよい。例えば、ＰＳＤ１１２は、抵抗性タッチスクリーン、弾性表面波タッチスクリーン、静電容量タッチスクリーン、投影静電容量タッチスクリーン、圧力検知スクリーン、音響パルス認識タッチスクリーン、または別の存在検知ディスプレイ技術のような存在感知入力スクリーンを用いて入力デバイスとして機能してもよい。ＰＳＤ１１２は、液晶ディスプレイ（ＬＣＤ）、ドット・マトリックス・ディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、電子インク、またはコンピューティング・デバイス１１０のユーザに可視情報を出力できる同様なモノクロまたはカラーディスプレイのような任意の１つまたは複数のディスプレイデバイスを用いて出力（例えば、ディスプレイ）デバイスとして機能してもよい。
【００１５】
ＰＳＤ１１２は、夫々のコンピューティング・デバイス１１０のユーザから入力（例えば、タッチおよび非タッチ入力）を検出してもよい。ＰＳＤ１１２は、ユーザからの１つまたは複数のジェスチャ（例えば、ＰＳＤ１１２の１つまたは複数の位置でまたはその近傍での、指またはスタイラスペンを用いた、ユーザのタッチ、ポインティング、および／またはスワイプ）を検出することによって入力の指示を検出してもよい。ＰＳＤ１１２は、情報をユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）の形でユーザに出力してもよい。当該ユーザ・インタフェースが、コンピューティング・デバイス１１０により提供された機能に関連付けられてもよい。かかるユーザ・インタフェースは、コンピューティング・デバイス１１０で実行しているまたはそこからアクセス可能なコンピューティングプラットフォーム、オペレーティング・システム、アプリケーション、および／またはサービス（例えば、電子メッセージアプリケーション、チャットアプリケーション、インターネットブラウザアプリケーション、モバイルまたはデスクトップオペレーティング・システム、ソーシャル・メディア・アプリケーション、電子ゲーム、および他のタイプのアプリケーション）に関連付けられてもよい。例えば、ＰＳＤ１１２はユーザ・インタフェース１１４を提供してもよい。ユーザ・インタフェース１１４は、図１に示すように、コンピューティング・デバイス１１０で実行されているチャットアプリケーションのグラフィカル・ユーザ・インタフェースであり、ＰＳＤ１１２の様々な位置で表示された様々なグラフィカル要素を含む。
【００１６】
図１に示すように、ユーザ・インタフェース１１４はチャットユーザ・インタフェースである。しかし、ユーザ・インタフェース１１４は、グラフィカル・キーボードを含む任意のグラフィカル・ユーザ・インタフェースであってもよい。ユーザ・インタフェース１１４は出力領域１１６Ａ、グラフィカル・キーボード１１６Ｂ、および編集領域１１６Ｃを含む。コンピューティング・デバイス１１０のユーザは、出力領域１１６Ａ内で表示された電子メッセージのコンテンツを形成する編集領域１１６Ｃ内の文字を生成するための入力をグラフィカル・キーボード１１６Ｂで提供してもよい。出力領域１１６Ａ内の表示されたメッセージは、コンピューティング・デバイス１１０のユーザと異なるコンピューティング・デバイスのユーザとの間のチャット会話を形成する。
【００１７】
ＵＩモジュール１２０は、ＰＳＤ１１２およびコンピューティング・デバイス１１０の他のコンポーネントとのユーザ対話を管理する。換言すれば、ＵＩモジュール１２０は、ＰＳＤ１１２により検出されたユーザ入力に基づいて判定を行い、ユーザ入力に応答してＰＳＤ１１２での出力を生成するための、コンピューティング・デバイス１１０の様々なコンポーネントの間の介在物として動作してもよい。ＵＩモジュール１２０は、ＰＳＤ１１２にユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）を出力させるコンピューティング・デバイス１１０のアプリケーション、サービス、プラットフォーム、または他のモジュールからの命令を受信してもよい。ＵＩモジュール１２０は、コンピューティング・デバイス１１０により受信された入力を、ＰＳＤ１１２で提供されるユーザ・インタフェースとのユーザのビューおよび対話として管理し、ユーザ入力を処理するコンピューティング・デバイス１１０のアプリケーション、サービス、プラットフォーム、または他のモジュールから追加の命令を受信したことに応答してユーザ・インタフェースを更新してもよい。
【００１８】
キーボード・モジュール１２２は、アイコノグラフィック・シンボル・フレーズ予測を含む統合された検索の特徴を有するグラフィカル・キーボードをコンピューティング・デバイス１１０に提供する、コンピューティング・デバイス１１０で実行されているかまたはそれにアクセス可能なアプリケーション、サービス、またはコンポーネントを表す。キーボード・モジュール１２２は、キーボード・モジュール１２２が従来のグラフィカル・キーボードと同様に機能するテキスト入力モード、またはキーボード・モジュール１２２が様々な統合された検索機能、アイコノグラフィック・シンボル・フレーズ予測を実施するか、または１つまたは複数の検索および予測ベースの検索アプリケーションまたは機能とインタフェースする検索モードで動作することの間で切り替えてもよい。
【００１９】
幾つかの例では、キーボード・モジュール１２２はコンピューティング・デバイス１１０で実行しているスタンドアロンのアプリケーション、サービス、またはモジュールであってもよく、他の例では、キーボード・モジュール１２２は、他のアプリケーションまたはデバイス機能に対するサービスとして動作する拡張のようなサブコンポーネントであってもよい。例えば、キーボード・モジュール１２２がコンピューティング・デバイス１１０で実行されているチャットまたはメッセージング・アプリケーションに統合されてもよく、他の例では、キーボード・モジュール１２２は、アプリケーションまたは動作プラットフォームがグラフィカル・キーボード入力機能を要求する任意の時点でコンピューティング・デバイス１１０のアプリケーションまたは動作プラットフォームにより起動されるスタンドアロンのアプリケーションまたはサブルーチンであってもよい。キーボード・モジュール１２２は、スタンドアロンのキーボード・アプリケーションのサブコンポーネントとして動作するキーボード拡張であってもよい。幾つかの例では、コンピューティング・デバイス１１０は、サービスプロバイダのアプリケーションまたはアプリケーション拡張リポジトリから（例えば、インターネットを介して）キーボード・モジュール１２２をダウンロードしインストールしてもよい。他の例では、キーボード・モジュール１２２をコンピューティング・デバイス１１０の生成中に予めロードしてもよい。
【００２０】
テキスト入力モードで動作するとき、コンピューティング・デバイス１１０のキーボード・モジュール１２２は、ＰＳＤ１１２で表示するためのグラフィカル・キーボードレイアウトを生成するステップと、ＰＳＤ１１２で検出された入力をグラフィカルキーの選択にマップするステップと、選択されたキーに基づいて文字を決定するステップ、または選択されたキーから決定された文字に基づいて単語および／またはテキストフレーズを予測または自動補正するステップのような、テキスト入力に使用される従来のグラフィカル・キーボード動作を実施してもよい。
【００２１】
グラフィカル・キーボード１１６Ｂはグラフィカルキー１１８Ａとして表示されたグラフィカル要素を含む。キーボード・モジュール１２２は、ユーザ・インタフェース１１４内のグラフィカル・キーボード１１６Ｂのレイアウトを規定する情報をＵＩモジュール１２０に出力してもよい。例えば、当該情報は、グラフィカルキー１１８Ａの位置、サイズ、色、および他の特性を規定する命令を含んでもよい。キーボード・モジュール１２２から受信された情報に基づいて、ＵＩモジュール１２０は、ＰＳＤ１１２にグラフィカル・キーボード１１６Ｂをユーザ・インタフェース１１４の一部として表示させてもよい。
【００２２】
グラフィカルキー１１８Ａの各キーは、当該キー内に表示された１つまたは複数の夫々の文字（例えば、文字、数字、句読点、または他の文字）に関連付けられてもよい。コンピューティング・デバイス１１０のユーザは、コンテンツ（例えば、文字、アイコノグラフィック・シンボル・フレーズ予測等）を（例えば、出力領域１１６Ａ内で送信され表示されるメッセージを構成しまたはコンピューティング・デバイス１１０がグラフィカル・キーボード１１６Ｂ内部から実行する検索クエリを入力するための）編集領域１１６Ｃに入力するためにグラフィカルキー１１８Ａのうち１つまたは複数が表示される、ＰＳＤ１１２の位置で入力を提供してもよい。キーボード・モジュール１２２は、当該グラフィカルキーの各々の位置に関するＰＳＤ１１２により検出された入力に関連付けられた位置を示す情報をＵＩモジュール１２０から受信してもよい。空間および／または言語モデルを用いて、キーボード・モジュール１２２は、当該入力をキーおよび文字、単語、および／またはフレーズの選択に変換してもよい。
【００２３】
例えば、ＰＳＤ１１２はユーザ入力を、コンピューティング・デバイス１１０のユーザが、ＰＳＤ１１２がグラフィカルキー１１８Ａを提供するＰＳＤ１１２の位置でまたはその近傍でユーザ入力を提供する際に検出してもよい。ユーザは、グラフィカルキー１１８Ａでタイプして、フレーズ「it feels so good to finally be done with college」を編集領域１１６Ｃに入力してもよい。ＵＩモジュール１２０は、ＰＳＤ１１２から、ＰＳＤ１１２により検出されたユーザ入力の指示を受信し、キーボード・モジュール１２２に、ユーザ入力に関する情報を出力してもよい。当該ユーザ入力に関する情報は、ＰＳＤ１１２により検出された１つまたは複数のタッチ・イベントの指示（例えば、当該入力に関する位置および他の情報）を含んでもよい。
【００２４】
ＵＩモジュール１２０から受信された情報に基づいて、キーボード・モジュール１２２は、ＰＳＤ１１２で検出された入力をグラフィカルキー１１８Ａの選択にマップし、選択されたキー１１８Ａに基づいて文字を決定し、当該選択されたキー１１８Ａに関連付けられた文字に基づいて決定された単語および／またはフレーズを予測または自動補正してもよい。例えば、キーボード・モジュール１２２は、キー１１８Ａの位置および当該入力に関する情報に基づいて、選択されている１つまたは複数のキー１１８Ａが当該キーである可能性が最も高いと判定しうる空間モデルを含んでもよい。選択されている可能性が最も高い１つまたは複数のキー１１８Ａを決定したことに応答して、キーボード・モジュール１２２は１つまたは複数の文字、単語、および／またはフレーズを決定してもよい。例えば、ＰＳＤ１１２でのユーザ入力から選択されている１つまたは複数のキー１１８Ａの各々が個々の文字またはキーボード動作を表してもよい。キーボード・モジュール１２２は、当該１つまたは複数の選択されたキー１１８Ａに基づいて選択された文字のシーケンスを決定してもよい。幾つかの例では、キーボード・モジュール１２２は、言語モデルを当該文字のシーケンスに適用して、ユーザがキー１１８Ａの選択に基づいて入力しようとしている１つまたは複数の最も可能性の高い候補文字、形態素、単語、および／またはフレーズを決定してもよい。図１の例では、キーボード・モジュール１２２は、フレーズ「it feels so good to finally be done with college」の文字に対応する文字のシーケンスを決定してもよい。
【００２５】
キーボード・モジュール１２２は当該文字のシーケンスおよび／または候補単語およびフレーズ（例えば、「it feels so good to finally be done with college」）をＵＩモジュール１２０に送信してもよく、ＵＩモジュール１２０は、ＰＳＤ１１２に、編集領域１１６Ｃ内のテキストとして１つまたは複数のキー１１８Ａの選択から決定された文字および／または候補単語を提供させてもよい。幾つかの例では、テキスト入力動作を実施するための従来のキーボードとして機能するとき、および、ユーザ入力を（例えば、ユーザが編集領域１１６Ｃ内にテキストを入力するためにグラフィカル・キーボード１１６Ｂでタイプしている際に）グラフィカルキー１１８Ａで受信したことに応答して、キーボード・モジュール１２２は、ＵＩモジュール１２０に、当該候補単語および／またはフレーズを提案領域１１８Ｂ内の１つまたは複数の選択可能なスペル補正および／または選択可能な単語またはフレーズ提案として表示させてもよい。
【００２６】
テキスト入力に使用される従来のグラフィカル・キーボード動作を実施することに加えて、コンピューティング・デバイス１１０のキーボード・モジュール１２２はまた、アイコノグラフィック・シンボル・フレーズ予測を含む、統合された検索能力を提供する。即ち、コンピューティング・デバイス１１０に検索機能を実施させるために、グラフィカル・キーボード１１６Ｂ（例えば、コンピューティング・デバイス１１０で実行されているかまたはそこからアクセス可能な異なるアプリケーションまたはサービス）を提供するユーザ・インタフェース１１４から離れるようナビゲートするのをコンピューティング・デバイス１１０のユーザに要求するのではなく、キーボード・モジュール１２２は、キーボード・モジュール１２２が、グラフィカル・キーボード１１６Ｂで入力されているテキストに基づいて検索を実行し、予測を行い、検索クエリ、画像、スティッカ、およびアイコノグラフィック・シンボル・フレーズを推奨しうる検索モードで動作し、グラフィカル・キーボード１１６Ｂが表示されるＰＳＤ１１２の同一の領域内の結果のような検索結果、予測、および推奨を１つまたは複数の可能な位置およびフォーマットで提示してもよい。
【００２７】
上述のように、キーボード・モジュール１２２は、コンピューティング・デバイス１１０で実行されているスタンドアロンアプリケーション、サービス、またはモジュールとして、または、その単一の統合されたサブコンポーネントとして実行してもよい。したがって、キーボード・モジュール１２２がコンピューティング・デバイス１１０で実行されているチャットまたはメッセージング・アプリケーションの一部を形成する場合、キーボード・モジュール１２２は、当該チャットまたはメッセージング・アプリケーションにテキスト入力機能ならびに検索機能を提供してもよい。同様に、キーボード・モジュール１２２が、アプリケーションまたは動作プラットフォームがグラフィカル・キーボード入力機能を要求する任意の時点でコンピューティング・デバイス１１０のアプリケーションまたは動作プラットフォームにより起動されるスタンドアロンアプリケーションまたはサブルーチンである場合、キーボード・モジュール１２２は当該起動するアプリケーションまたは動作プラットフォームにテキスト入力機能ならびに検索機能を提供してもよい。
【００２８】
幾つかの例では、検索モードで動作するとき、キーボード・モジュール１２２は、グラフィカル・キーボード１１６Ｂに検索要素１１８Ｃを含ませてもよい。検索要素１１８Ｃは、グラフィカル・キーボード１１６Ｂの様々な検索機能のうち１つまたは複数を手動で起動するための、グラフィカル・キーボード１１６Ｂの選択可能要素（例えば、アイコン、画像、キーボードキー、または他のグラフィカル要素）を表す。例えば、（例えば、検索要素１１８Ｃが表示されるＰＳＤ１１２の領域の位置またはその領域内でタップまたはジェスチャすることによって）検索要素１１８Ｃを選択することで、ユーザは、コンピューティング・デバイス１１０に、ユーザがコンピューティング・デバイス１１０で実行されているかまたはそこからアクセス可能な別々のアプリケーション、サービス、または他の機能に明示的にナビゲートする必要なしに、電子通信のテキストに関連しうる１つまたは複数のアイコノグラフィック・シンボルの予測されたフレーズを表示させることができる。
【００２９】
幾つかの例では、検索要素１１８Ｃを、検索または予測機能に関連付けられたステータスのインジケータとして使用してもよい。例えば、キーボード・モジュール１２２が電子通信のテキストに関連しうる１つまたは複数のアイコノグラフィック・シンボルのフレーズを予測する場合、キーボード・モジュール１２２は、検索要素１１８Ｃに、当該アイコノグラフィック・シンボル・フレーズが識別されたと示すために、フラッシュ、パルス、色変更、移動または幾つかの他のアニメーションを実施させてもよい。幾つかの例では、キーボード・モジュール１２２は、検索要素１１８Ｃを、検索クエリまたは他の予測が識別されたことを示すのではなく１つまたは複数のアイコノグラフィック・シンボルのフレーズが識別されたことを示す非アイコノグラフィック・シンボル・アイコン（例えば、拡大眼鏡アイコン）ではなく、アイコノグラフィック・シンボル・アイコン（例えば、絵文字アイコン）に変形させてもよい。
【００３０】
検索モードで動作するとき、キーボード・モジュール１２２は、グラフィカル・キーボード１１６Ｂが検索要素１１８Ｃを含むかどうかに関わらず、様々な検索機能を自動的に実行してもよい。例えば、キーボード・モジュール１２２は、検索クエリを予測し、１つまたは複数のアイコノグラフィック・シンボルのフレーズを推奨し、またはキーボード・モジュール１２２がユーザ入力からおよびコンピューティング・デバイス１１０により取得された他の情報から推論したテキストに基づいて他の提案されたコンテンツを生成し、当該提案されたコンテンツをグラフィカル・キーボード１６Ｂ内に表示してもよい。例えば、キーボード・モジュール１２２は、キーボード・モジュール１２２が言語モデル、字句、または辞書から導出した予測された文字、テキスト単語、テキストフレーズ、または他の主に言語学的な情報の代わりにまたはそれに追加して、示唆されたコンテンツ（例えば、１つまたは複数のアイコノグラフィック・シンボルの予測されたフレーズ）を検索要素１１８Ｃ内の選択可能要素として提供するように提案領域１１８Ｂを構成してもよい。換言すれば、提案領域１１８Ｂ内の辞書から単にスペルまたは単語提案を提供するのではなく、コンピューティング・デバイス１１０は、コンピューティング・デバイス１１０（またはデバイス１１０と関連または通信する他のデバイス）が現在時刻で（例えば、電子通信に関連する入力を提供するときに）ユーザを支援すると判定した、示唆された検索関連コンテンツを、示唆されたテキストコンテンツに加えてまたはその代わりに提案領域１１８Ｂ内に含めてもよい。
【００３１】
キーボード・モジュール１２２は、電子通信のテキストおよび／またはグラフィカル・キーボード１１６Ｂを用いて入力されているテキストの少なくとも一部を特徴づけるユーザ表現の自動的な予測を実施してもよい。例えば、キーボード・モジュール１２２は、当該テキストにより示唆されているが当該テキストで必ずしも記述されていないユーザ表現を推論してもよい。当該暗黙的ユーザ表現から、キーボード・モジュール１２２は、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成してもよい。このように、キーボード・モジュール１２２は、コンピューティング・デバイス１１０が、幾つかの異なるアプリケーションまたはアプリケーションＧＵＩの間で切り替え、既に入力されたテキストをグラフィカル・キーボード１１６Ｂで再度タイプし、または関連するアイコノグラフィック・シンボル・フレーズを自力で思いつく必要なしに、ユーザが既にグラフィカル・キーボード１１６Ｂで提供している入力に関連する（が必ずしも直接的な置換えではない）１つまたは複数のアイコノグラフィック・シンボルのフレーズをユーザが迅速に取得する方法を提供するのを可能としてもよい。
【００３２】
キーボード・モジュール１２２は、（例えば、提案領域１１８Ｂでまたはグラフィカル要素１１８Ｃとして）生成されたフレーズのグラフィカル指示を自動的に生成し表示してもよい。ユーザが１つまたは複数のアイコノグラフィック・シンボルのフレーズを（例えば、当該フレーズを電子通信の一部として送信することで）用いることに関心がある場合、ユーザは場合によっては、当該フレーズを選択しキーボード・モジュール１２２に当該フレーズを編集領域１１６Ｃに入力させるかまたは当該フレーズを電子通信の一部として送信させる当該フレーズの指示が表示されるＰＳＤ１１２の位置で入力を提供することができる。幾つかの例では、キーボード・モジュール１２２は、ＵＩモジュール１２０およびＰＳＤ１１２に、グラフィカルキー１１８Ａの一部の代わりに当該フレーズを提示させてもよい。
【００３３】
どのようにキーボード・モジュール１２２がアイコノグラフィック・シンボルのフレーズを自動的に生成し表示できるかを示すのを支援するために、当該技術を、ユーザ・インタフェース１１４で示すテキストメッセージ交換を参照して説明する。図１に示すように、コンピューティング・デバイス１１０のユーザは、電子通信（例えば、メッセージ）をユーザ・インタフェース１１４内からの友達と交換してもよい。ユーザは、キー１１８Ａが表示されるＰＳＤ１１２の位置でジェスチャ入力を提供することで会話を開始してもよく、キーボード・モジュール１２２の空間および／または言語モデルが、当該入力に基づいて、当該ジェスチャ入力がフレーズ「my last exam was today」を入力するためのキー１１８Ａの選択に対応すると判定してもよい。ユーザはキー１１８Ａのリターンキーの位置で入力を提供してもよく、応答して、ユーザ・インタフェース１１４に関連付けられたメッセージング・アプリケーションは、テキスト「my last exam was today」を含む電子通信を、友達に関連付けられたコンピューティング・デバイスに送信してもよい。テキスト「congrats me too」を含む応答メッセージを当該友達に関連付けられたコンピューティング・デバイスから受信した後、メッセージング・アプリケーションは当該応答のテキストをユーザ・インタフェース１１４内で提供してもよい。コンピューティング・デバイス１１０のユーザは第２のメッセージを当該友達に送信するためのさらなる入力を提供してもよく、応答して、ユーザ・インタフェース１１４に関連付けられたメッセージング・アプリケーションは、テキスト「it feels so good to finally be done with college」を含む電子通信を、当該友達に関連付けられたコンピューティング・デバイスに送信してもよい。
【００３４】
キーボード・モジュール１２２が、ユーザに関する個人情報（例えば、コンピューティング・デバイス１１０により送受信されたメッセージのテキスト）へのアクセスをキーボード・モジュール１２２に提供することにコンピューティング・デバイス１１０のユーザが同意したことを示すユーザ入力を受信した後、キーボード・モジュール１２２は、当該電子通信のテキストがコンピューティング・デバイス１１０により送受信されていることに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定してもよく、さらに、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成してもよい。例えば、キーボード・モジュール１２２は、グラフィカル・キーボード１１６Ｂで入力されているテキストを解析および分析して、個性記述的なシンボル・フレーズの形式で搬送されうる表現（例えば、センテンスまたはフレーズ）により特徴づけられうる何かをユーザがグラフィカル・キーボード１１６Ｂでタイプしたかどうかを検出する様々なモデルおよび／またはテキスト分析エンジンに依存してもよい。キーボード・モジュール１２２は、ユーザ表現「it is time to celebrate graduation」がユーザ・インタフェース１１４に示されたメッセージのテキストを特徴付けるユーザ表現であると判定してもよい。
【００３５】
キーボード・モジュール１２２は、ユーザの電子通信のテキストを、そうすることの明示的な許可をユーザから最初に受信した後に分析するのみでもよい。したがって、ユーザは、どのようにキーボード・モジュール１２２がユーザに関する情報を収集し使用するかの完全な制御を有しうる。例えば、コンピューティング・デバイス１１０のユーザに関連付けられた通信のテキストを分析する前に、キーボード・モジュール１２２は、ＵＩモジュール１２０に、ＵＩＤ１１２を介してユーザ・インタフェースを提供させてもよい。当該ユーザ・インタフェースは、ボックスを選択し、ボタンをクリックし、音声入力を述べ、または、キーボード・モジュール１２２によりキーボード・モジュールがユーザの個人情報を収集し利用するための曖昧でない、肯定的な同意として解釈される特定の入力をユーザ・インタフェースに提供することをユーザに要求する。
【００３６】
キーボード・モジュール１２２は、人工知能およびマシン学習技術に依存して、Ａ）一定の確信度で、テキストにより特徴付けられかつ／または示唆されているが当該テキストで必ずしも記述されていないユーザ表現を決定し、かつ／またはＢ）必ずしも当該テキストで記述されていないユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成してもよい。キーボード・モジュール１２２は、人工ニューラルネットワーク、再帰型ニューラルネットワーク、長短期メモリ（ＬＳＴＭ）モデル、隠れマルコフ・モデル、または学習されたルールを使用して、グラフィカル・キーボード１１６Ｂで入力されているテキストが特定のユーザ表現またはアイコノグラフィック・シンボル・フレーズに関連するかどうかを或る確信度で決定する、任意のおよび全ての他のタイプの機械学習タイプのモデルを含む、機械学習されたモデルに依存してもよい。
【００３７】
例えば、ＬＳＴＭモデルの場合、キーボード・モジュール１２２のＬＳＴＭモデルが、ある確信度で、アイコノグラフィック・シンボル・フレーズに関連しうるものに関してユーザが何を会話していることを検出するために、最初に複数の他のユーザおよび複数の他のデバイスのチャット会話でトレーニングされてもよい。ＬＳＴＭモデルは、コンピューティング・デバイス１１０の文脈情報、コンピューティング・デバイス１１０のユーザとの会話における他のユーザからのテキスト、または他のユーザのコンピューティング・デバイスのスクリーン上のテキストに依存して、ユーザが何についてタイプしているかを、より大きな確信度で決定してもよい。
【００３８】
ＬＳＴＭモデルは、テキストを特徴付けかつ／または当該テキストで示唆されているが必ずしも記述されていないユーザ表現を学習してもよい。キーボード・モジュール１２２は、学習された文化的、局所的、および多言語的な基準および文脈をピックアップして、そのモデルをそれに応じて更新してもよい。例えば、ＬＳＴＭモデルは、特定の地理的位置のユーザが感情（例えば、愛、希望、歓喜、恐怖、怒り等）、行動（例えば、購入を行うこと、マイルストーンを完了すること等）、考え（例えば、政治的記述、観察等）、または他の表現を表しているかもしれないときを学習してもよい。異なる地理的位置に対して、ＬＳＴＭモデルは、ユーザが感情、行動、考え、または他の同様な表現を表しているときを解釈するための様々なルールを有してもよい。例えば、キーボード・モジュール１２２のＬＳＴＭモデルは、「exam」、「done」、および「congrats」のような単語を、ユーザおよびユーザの友達が自分の「大学卒業」に関する「興奮」に関して表現しているインジケータとしてピックアップし、他のデバイスの他のユーザがテキスト会話において同様な単語を使用して同様なイベントに関する興奮を表現したとき、彼らがしばしば「time to celebrate」および／または「graduation」のようなフレーズまたは用語を使用したと判定してもよい。キーボード・モジュール１２２は、「it is time to celebrate graduation」がユーザ・インタフェース１１４に示されたメッセージのテキストを特徴付けるユーザ表現であると判定してもよい。
【００３９】
キーボード・モジュール１２２は、会話のテキスト、またはその一部をＬＳＴＭモデルへの入力として提供し、出力として、１つまたは複数の予測されたアイコノグラフィック・シンボル・フレーズを受信してもよい。例えば、ＬＳＴＭモデルは、当該暗黙的ユーザ表現をアイコノグラフィック・シンボル・フレーズ予測に変換するオブジェクトＣライブラリまたは他の変換モデルに依存してもよい。最終的に、ＬＳＴＭモデルは、複数の他のユーザが同様なユーザ表現に関して会話しているときに使用した１つまたは複数のアイコノグラフィック・シンボル・フレーズ予測を出力してもよい。例えば、「it is time to celebrate graduation」がユーザ・インタフェース１１４に示されたメッセージのテキストを特徴付けるユーザ表現であると判定した後、キーボード・モジュール１２２は、（時計の絵文字シンボル、パーティ風の絵文字シンボル、および卒業帽子の絵文字シンボルを含む）絵文字シンボル・フレーズがユーザ表現「it is time to celebrate graduation」を絵文字的に表現するためのアイコノグラフィック・シンボル・フレーズであると判定してもよい。
【００４０】
キーボード・モジュール１２２は、グラフィカル・キーボード１１６Ｃ内に表示するために、当該モデルが当該テキストから予測した１つまたは複数のアイコノグラフィック・シンボルのフレーズのグラフィカル指示を出力してもよい。例えば、キーボード・モジュール１２２は、当該アイコノグラフィック・シンボル・フレーズが生成されたことを示すために、検索要素１１８Ｃにフォーマットのフラッシュまたは変更、形状変更、色変更、移動、または幾つかの他のアニメーションの実施を行わせてもよい。さらに、または代替的に、キーボード・モジュール１２２は当該アイコノグラフィック・シンボル・フレーズを提案として（例えば、提案領域１１８Ｂで）出力し、ユーザ表現のテキストを、キーボード・モジュール１２２がユーザ表現に基づいて生成した１つまたは複数のアイコノグラフィック・シンボル・フレーズのページに導く青のハイパーリンク（例えば、下線を引いたまたは下線が引かれていない）、および／または当該アイコノグラフィック・シンボル・フレーズに関連付けられたアイコン（例えば、アイコノグラフィック・シンボル・フレーズの生成を示すための汎用的な絵文字シンボル）として出力してもよい。
【００４１】
アイコノグラフィック・シンボル・フレーズの指示をグラフィカル・キーボード１１６Ｂ内で自動的に表示した後、ユーザは、当該アイコノグラフィック・シンボル・フレーズを選択し、キーボード・モジュール１２２にアイコノグラフィック・シンボル・フレーズをコンピューティング・デバイス１１０から構成されているメッセージ内のテキストとして入力させてもよい。例えば、ユーザは、提案領域１１８Ｂが表示されるＰＳＤ１１２の位置でタップまたはスワイプ・ジェスチャを提供してもよく、ＵＩモジュール１２０から、当該タップまたはスワイプ・ジェスチャの指示を受信したことに応答して、キーボード・モジュール１２２は、当該アイコノグラフィック・シンボル・フレーズを編集領域１１６Ｃに挿入するか、または、当該アイコノグラフィック・シンボル・フレーズを編集領域１１６Ｃに挿入するのを諦め、その代わり、新たな電子メッセージの本文内のアイコノグラフィック・シンボル・フレーズを自動的に送信してもよい。
【００４２】
統合されたアイコノグラフィック・シンボル・フレーズ予測を有するグラフィカル・キーボードを含むＧＵＩを提供することによって、例示的なコンピューティング・デバイスは、幾つかの異なるアプリケーションＧＵＩの間で切り替え、既に当該グラフィカル・キーボードで入力されたテキストを再度タイプし、または関連するアイコノグラフィック・シンボル・フレーズを自力で思いつく必要なしに、ユーザが当該グラフィカル・キーボードで既に提供した入力に関連するアイコノグラフィック・シンボル・フレーズ予測をユーザが迅速に取得するための方法を提供してもよい。換言すれば、チャットアプリケーションＧＵＩを出て、以前に当該チャットアプリケーションで入力されたトピックに関連するアイコノグラフィック・シンボルを検索するための異なるアイコノグラフィック・シンボル入力ＧＵＩで（例えば、当該チャットアプリケーションで以前に入力されたテキストをペーストまたは再度タイプすることで）後続のテキスト入力を提供するのをユーザに要求する他のコンピューティング・デバイスとは異なり、当該例示的なコンピューティング・デバイスは、元のチャットメッセージをタイプするときに彼または彼女が元々タイプしたもの以外の追加の入力を提供するのをユーザに要求することなく、自動的に、アイコノグラフィック・シンボル・フレーズを予測し、当該アイコノグラフィック・シンボル・フレーズを選択のために提供する。このように、本開示の技術は、チャット会話に関連するアイコノグラフィック・シンボル・フレーズ予測を取得するのに必要な時間とユーザ入力の数を減らすことができ、これは、ユーザ・エクスペリエンスを簡略化し、コンピューティング・デバイスの電力消費を減らすことができる。
【００４３】
図２は、本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスとしてコンピューティング・デバイス２１０を示すブロック図である。図２のコンピューティング・デバイス２１０は図１のコンピューティング・デバイス１１０の１例として以下で説明する。図２はコンピューティング・デバイス２１０の１例として示されているにすぎず、コンピューティング・デバイス２１０の他の多数の例を他のインスタンスで使用してもよい。コンピューティング・デバイス２１０は、図２に含まれるコンポーネントのサブセットを含んでもよく、または、図２に示していない追加のコンポーネントを含んでもよい。
【００４４】
図２の例に示すように、コンピューティング・デバイス２１０はＰＳＤ２１２、１つまたは複数のプロセッサ２４０、１つまたは複数の通信ユニット２４２、１つまたは複数の入力コンポーネント２４４、１つまたは複数の出力コンポーネント２４６、および１つまたは複数の記憶コンポーネント２４８を含む。存在検知ディスプレイ２１２はディスプレイ・コンポーネント２０２および存在感知入力コンポーネント２０４を含む。コンピューティング・デバイス２１０の記憶コンポーネント２４８はＵＩモジュール２２０、キーボード・モジュール２２２、および１つまたは複数のアプリケーションモジュール２２４を含む。キーボード・モジュール２２２は空間モデル（「ＳＭ」）モジュール２２６、言語モデル（「ＬＭ」）モジュール２２８、および検索モジュール２３０を含む。記憶デバイス２４８はまた、アイコノグラフィック・シンボル・フレーズ・モデル２３２（例えば、ＬＳＴＭまたは他の機械学習モデル）を含む。通信チャネル２５０は、コンポーネント２１２、２４０、２４２、２４４、２４６、および２４８の各々をコンポーネント間通信のために（物理的に、通信可能に、および／または動作可能に）相互接続してもよい。幾つかの例では、通信チャネル２５０は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含んでもよい。
【００４５】
コンピューティング・デバイス２１０の１つまたは複数の通信ユニット２４２は、１つまたは複数のネットワーク上でネットワーク信号を送受信することにより、１つまたは複数の有線および／または無線ネットワークを介して外部デバイスと通信してもよい。通信ユニット２４２の例は（例えば、イーサネット（登録商標）カードのような）ネットワークインタフェースカード、光送受信器、無線周波数送受信器、ＧＰＳ受信器、または情報を送受信できる他の任意のタイプのデバイスを含む。通信ユニット２４２の他の例は短波無線、セルラデータ無線、無線ネットワーク無線、ならびにユニバーサル・シリアル・バス（ＵＳＢ）コントローラを含んでもよい。
【００４６】
コンピューティング・デバイス２１０の１つまたは複数の入力コンポーネント２４４は入力を受信してもよい。入力の例は触覚、オーディオ、およびビデオ入力である。コンピューティング・デバイス２１０の入力コンポーネント２４２は、１例では、存在感知入力デバイス（例えば、タッチセンシティブスクリーン、ＰＳＤ）、マウス、キーボード、音声応答システム、ビデオカメラ、マイクロフォン、または人間またはマシンからの入力を検出するための他の任意のタイプのデバイスを含む。幾つかの例では、入力コンポーネント２４２は、１つまたは複数のセンサコンポーネント１つまたは複数の位置センサ（ＧＰＳコンポーネント、Wi-Fiコンポーネント、セルラコンポーネント）、１つまたは複数の温度センサ、１つまたは複数の移動センサ（例えば、加速度計、ジャイロスコープ）、１つまたは複数の圧力センサ（例えば、バロメータ）、１つまたは複数の周辺光センサ、および１つまたは複数の他のセンサ（例えば、マイクロフォン、カメラ、赤外線近接性センサ、湿度計、等）を含んでもよい。他のセンサは、他の非限定的な例を幾つか挙げると、心拍数センサ、磁気計、グルコースセンサ、湿度計センサ、嗅覚センサ、コンパスセンサ、ステップ・カウンタ・センサを含んでもよい。
【００４７】
コンピューティング・デバイス１１０の１つまたは複数の出力コンポーネント２４６は出力を生成してもよい。出力の例は触覚、オーディオ、およびビデオ出力である。コンピューティング・デバイス２１０の出力コンポーネント２４６は、１例では、ＰＳＤ、音声カード、ビデオグラフィックスアダプタカード、スピーカ、カソード・レイ・チューブ（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）、または人間またはマシンへの出力を生成するための他の任意のタイプのデバイスを含む。
【００４８】
コンピューティング・デバイス２１０のＰＳＤ２１２は、コンピューティング・デバイス１１０のＰＳＤ１１２と同様であってもよく、ディスプレイ・コンポーネント２０２および存在感知入力コンポーネント２０４を含む。ディスプレイ・コンポーネント２０２は情報がＰＳＤ２１２により表示されるスクリーンであってもよく、存在感知入力コンポーネント２０４はオブジェクトをディスプレイ・コンポーネント２０２でかつ／またはその近傍で検出してもよい。１つの例示的な範囲として、存在感知入力コンポーネント２０４は、ディスプレイ・コンポーネント２０２から２インチ以下内にある指またはスタイラスのようなオブジェクトを検出してもよい。存在感知入力コンポーネント２０４は、当該オブジェクトが検出されたディスプレイ・コンポーネント２０２の位置（例えば、［ｘ、ｙ］座標）を決定してもよい。別の例示的な範囲では、存在感知入力コンポーネント２０４は、ディスプレイ・コンポーネント２０２から６インチ以下のオブジェクトを検出してもよく、他の範囲も可能である。存在感知入力コンポーネント２０４は、ユーザの指により選択されたディスプレイ・コンポーネント２０２の位置を、静電容量、誘導、および／または光認識技術を用いて決定してもよい。幾つかの例では、存在感知入力コンポーネント２０４はまた、ディスプレイ・コンポーネント２０２に関して説明したように、触覚、オーディオ、またはビデオ刺激を用いて、出力をユーザに提供する。図２の例では、ＰＳＤ２１２は（図１のグラフィカル・ユーザ・インタフェース１１４のような）ユーザ・インタフェースを提供してもよい。
【００４９】
コンピューティング・デバイス２１０の内部コンポーネントとして示されているが、ＰＳＤ２１２は、入力および出力を送受信するためにコンピューティング・デバイス２１０とデータ経路を共有する外部コンポーネントを表してもよい。例えば、１例では、ＰＳＤ２１２は、コンピューティング・デバイス２１０の外部パッケージング内に配置されそこに物理的に接続されたコンピューティング・デバイス２１０の組み込みコンポーネント（例えば、携帯電話のスクリーン）を表す。別の例では、ＰＳＤ２１２は、コンピューティング・デバイス２１０のパッケージングまたは筐体の外部に配置されそこから物理的に分離したコンピューティング・デバイス２１０の外部コンポーネント（例えば、有線および／または無線データ経路をコンピューティング・デバイス２１０と共有するモニタ、プロジェクタ等）を表す。
【００５０】
コンピューティング・デバイス２１０のＰＳＤ２１２は、２次元および／または３次元ジェスチャをコンピューティング・デバイス２１０のユーザからの入力として検出してもよい。例えば、ＰＳＤ２１２のセンサは、ＰＳＤ２１２の当該センサの閾値距離内におけるユーザの移動（例えば、手、腕、ペン、スタイラス等の移動）を検出してもよい。ＰＳＤ２１２は、当該移動の２次元または３次元ベクトル表現を決定し、当該ベクトル表現を複数の次元を有するジェスチャ入力（例えば、ハンドウェーブ、ピンチ、拍手、ペンストローク等。）に相関付けてもよい。換言すれば、ＰＳＤ２１２は、ＰＳＤ２１２が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近傍でユーザがジェスチャすることを要求せずに、多次元ジェスチャを検出することができる。その代わり、ＰＳＤ２１２は、ＰＳＤ２１２が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近くに存在しうるかまたは存在しえないセンサでまたはその近くで実施された多次元ジェスチャを検出することができる。
【００５１】
１つまたは複数のプロセッサ２４０は、コンピューティング・デバイス２１０に関連付けられた機能を実装し、かつ／または、命令を実行してもよい。プロセッサ２４０の例は、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つまたは複数のセンサハブ、およびプロセッサ、処理ユニット、または処理デバイスとして機能するように構成された他の任意のハードウェアを含む。モジュール２２０、２２２、２２４、２２６、２２８、および２３０は、コンピューティング・デバイス２１０の様々なアクション、動作、または機能を実施するようにプロセッサ２４０により動作可能であってもよい。例えば、コンピューティング・デバイス２１０のプロセッサ２４０は、プロセッサ２４０に当該動作モジュール２２０、２２２、２２４、２２６、２２８、および２３０を実施させる記憶コンポーネント２４８により格納された命令を取り出し、実行してもよい。当該命令は、プロセッサ２４０により実行されたとき、コンピューティング・デバイス２１０に、記憶コンポーネント２４８内に情報を格納させてもよい。
【００５２】
コンピューティング・デバイス２１０内の１つまたは複数の記憶コンポーネント２４８は、コンピューティング・デバイス２１０の動作中の処理のための情報を格納してもよい（例えば、コンピューティング・デバイス２１０は、コンピューティング・デバイス２１０での実行中にモジュール２２０、２２２、２２４、２２６、２２８、およびモデル２３２によりアクセスされるデータを格納してもよい）。幾つかの例では、記憶コンポーネント２４８は一時メモリであり、これは、記憶コンポーネント２４８の主な目的が長期記憶でないことを意味する。コンピューティング・デバイス２１０上の記憶コンポーネント２４８は、揮発性メモリとしての情報の短期記憶に関して構成してもよく、したがって、電源がオフの場合に、格納されたコンテンツを保持しない。揮発性メモリの例はランダム・アクセスメモリ（ＲＡＭ）、動的ランダム・アクセスメモリ（ＤＲＡＭ）、静的ランダム・アクセスメモリ（ＳＲＡＭ）、および当業界で公知な他の形態の揮発性メモリを含む。
【００５３】
記憶コンポーネント２４８はまた、幾つかの例において、１つまたは複数のコンピュータ可読記憶媒体を含む。幾つかの例において、記憶コンポーネント２４８は１つまたは複数の非一時的コンピュータ可読記憶媒体を含む。記憶コンポーネント２４８はを、一般に揮発性メモリにより格納されたものよりも大量の情報を格納するように構成してもよい。記憶コンポーネント２４８をさらに、不揮発性メモリ空間としての情報の長期記憶に対して構成してもよく、電源のオン／オフのサイクルの後に情報を保持してもよい。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、または電気的プログラム可能メモリ（ＥＰＲＯＭ）または電気的消去可能およびプログラム可能（ＥＥＰＲＯＭ）メモリの形態を含む。記憶コンポーネント２４８はモデル２３２および２３３およびモジュール２２０、２２２、２２４、２２６、２２８、および２３０に関連付けられたプログラム命令および／または情報（例えば、データ）を格納してもよい。記憶コンポーネント２４８はモデル２３２およびモジュール２２０、２２２、２２４、２２６、２２８、および２３０に関連付けられたデータまたは他の情報を格納するように構成されたメモリを含んでもよい。
【００５４】
ＵＩモジュール２２０は図１のコンピューティング・デバイス１１０のＵＩモジュール１２０の全ての機能を含んでもよく、コンピューティング・デバイス２１０がユーザからの入力を扱うための存在検知ディスプレイ２１２で提供するユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）を管理するためのＵＩモジュール１２０と同様な動作を実施してもよい。例えば、コンピューティング・デバイス２１０のＵＩモジュール２２０は、キーボードレイアウト（例えば、英語ＱＷＥＲＴＹキーボード等）に対するキーボード・モジュール２２２を問い合わせてもよい。ＵＩモジュール２２０は、キーボードレイアウトに対する要求を通信チャネル２５０上でキーボード・モジュール２２２に送信してもよい。キーボード・モジュール２２２は、当該要求を受信し、当該キーボードレイアウトに関連付けられたデータでＵＩモジュール２２０に応答してもよい。ＵＩモジュール２２０は、当該キーボードレイアウトデータを通信チャネル２５０で受信し、当該データを用いてユーザ・インタフェースを生成してもよい。ＵＩモジュール２２０は、ディスプレイコマンドおよびデータを通信チャネル２５０で送信して、ＰＳＤ２１２にユーザ・インタフェースをＰＳＤ２１２で提供させてもよい。
【００５５】
幾つかの例では、ＵＩモジュール２２０は、ＰＳＤ２１２で検出された１つまたは複数のユーザ入力の指示を受信し、ユーザ入力に関する情報をキーボード・モジュール２２２に出力してもよい。例えば、ＰＳＤ２１２は、ユーザ入力を検出し、ユーザ入力に関するデータをＵＩモジュール２２０に送信してもよい。ＵＩモジュール２２０は、当該検出された入力に基づいて１つまたは複数のタッチ・イベントを生成してもよい。タッチ・イベントは、ユーザ入力の位置成分（例えば、［ｘ、ｙ］座標）、時間成分（例えば、ユーザ入力が受信されたとき）、力成分（例えば、ユーザ入力により印加される圧力量）、またはユーザ入力に関する他のデータ（例えば、速度、加速度、方向、密度等）のようなユーザ入力を特徴付ける情報を含んでもよい。
【００５６】
ユーザ入力から生成されたタッチ・イベントの位置情報に基づいて、ＵＩモジュール２２０は、検出されたユーザ入力がグラフィカル・キーボードと関連付けられると判定してもよい。ＵＩモジュール２２０は、当該１つまたは複数のタッチ・イベントの指示をキーボード・モジュール２２２にさらなる解釈のために送信してもよい。キーボード・モジュール２２は、ＵＩモジュール２２０から受信されたタッチ・イベントに基づいて、当該検出されたユーザ入力が当該グラフィカル・キーボードの１つまたは複数のキーの初期選択を表すと判定してもよい。
【００５７】
アプリケーションモジュール２２４は、統合されたアイコノグラフィック・シンボル・フレーズ予測を有するグラフィカル・キーボードに依存しうるコンピューティング・デバイス２１０で実行されそこからアクセス可能な様々な個々のアプリケーションおよびサービスの全てを表す。コンピューティング・デバイス２１０のユーザは、１つまたは複数のアプリケーションモジュール２２４に関連付けられたグラフィカル・ユーザ・インタフェースと対話して、コンピューティング・デバイス２１０に動作を実施させるかまたは機能を実施させてもよい。アプリケーションモジュール２２４の多数の例が存在してもよく、フィットネスアプリケーション、カレンダアプリケーション、パーソナルアシスタントまたは予測エンジン、検索アプリケーション、地図またはナビゲーションアプリケーション、輸送サービスアプリケーション（例えば、バスまたは列車の追跡アプリケーション）、ソーシャル・メディア・アプリケーション、ゲームアプリケーション、電子メールアプリケーション、チャットまたはメッセージング・アプリケーション、インターネットブラウザアプリケーション、またはコンピューティング・デバイス２１０で実行しうる任意のおよび全ての他のアプリケーションを含んでもよい。
【００５８】
キーボード・モジュール２２２は、図１のコンピューティング・デバイス１１０のキーボード・モジュール１２２の全ての機能を含んでもよく、統合された検索機能を有するグラフィカル・キーボードを提供するためのキーボード・モジュール１２２と同様な動作を実施してもよい。キーボード・モジュール２２２はＳＭモジュール２２６、ＬＭモジュール２２８、および検索モジュール２３０のような様々なサブモジュールを含んでもよく、これらはキーボード・モジュール２２２の機能を実施してもよい。
【００５９】
ＳＭモジュール２２６は、１つまたは複数のタッチ・イベントを入力として受信し、当該１つまたは複数のタッチ・イベントを表す可能性がある文字または文字のシーケンスを、どの程度の可能性またはどの精度で当該１つまたは複数の文字が当該タッチ・イベントを定義するかを示す確信度または空間モデルスコアとともに、出力してもよい。換言すれば、ＳＭモジュール２２６は、タッチ・イベントを、キーボードの１つまたは複数のキーの選択として推論し、当該１つまたは複数のキー、文字または文字のシーケンスの選択に基づいて出力してもよい。
【００６０】
キーボード・モジュール２２２がテキスト入力モードで動作するとき、ＬＭモジュール２２８は、文字または文字のシーケンスを入力として受信し、ＬＭモジュール２２８が所与の言語文脈に対する入力として受信する文字のシーケンス（例えば、書き言葉におけるセンテンス）に対する潜在的な置換であるとしてＬＭモジュール２２８が字句から識別する１つまたは複数の候補文字、単語、またはフレーズを出力してもよい。キーボード・モジュール２２２はＵＩモジュール２２０に、当該候補単語のうち１つまたは複数をユーザ・インタフェース１１４の提案領域１１８Ｂで提供させてもよい。
【００６１】
コンピューティング・デバイス２１０の字句は書き言葉語彙内の単語のリスト（例えば、辞書）を含んでもよい。例えば、当該字句は、単語のデータベース（例えば、標準的な辞書内の単語および／またはユーザまたはコンピューティング・デバイス２１０により辞書に追加された単語）を含んでもよい。ＬＭモジュール２２８は、文字列の字句内の検索を実施して、１つまたは複数の文字、単語、および／または当該文字列の文字の一部または全部を含むフレーズを識別してもよい。例えば、ＬＭモジュール２２８は、言語モデル確率または類似性係数（例えば、Ｊａｃｃａｒｄ類似性係数、または他の類似性係数）を、同一の文字の少なくとも幾つかを入力された文字または文字のシーケンスとして含む、コンピューティング・デバイス２１０の字句に配置された１つまたは複数の候補単語に割り当ててもよい。当該１つまたは複数の候補単語の各々に割り当てられた言語モデル確率は、当該候補単語が一般に、ＬＭモジュール２２８により分析されている現在の文字のシーケンスを受信する前および／または後に存在感知入力コンポーネント２０４により検出されたテキスト入力から生成された単語のシーケンス（例えば、センテンス）の後、前、および／または中に配置されていると発見される確信度または可能性の度合いを示す。当該１つまたは複数の候補単語を決定したことに応答して、ＬＭモジュール２２８は、最大の類似性係数を有する１つまたは複数の候補単語を字句データ・ストア２６０Ａから出力してもよい。
【００６２】
キーボード・モジュール２２２の検索モジュール２３０は、統合されたアイコノグラフィック・シンボル・フレーズ予測を含むキーボード・モジュール２２２に代わって、統合された検索機能を実施してもよい。即ち、（例えば、コンピューティング・デバイス２１０のユーザがユーザ・インタフェース１１４の選択可能要素１１８Ｃまたは他のアイコンを選択したことに応答して手動で、または、テキスト入力の少なくとも一部を特徴付ける暗黙的ユーザ表現を決定したことに応答して自動的に）起動されたとき、キーボード・モジュール２２２は検索モードで動作してもよく、この場合、キーボード・モジュール２２２は、コンピューティング・デバイス２１０が、コンピューティング・デバイス２１０のユーザが現在の会話に対して関連すると発見しうる検索クエリおよびアイコノグラフィック・シンボル・フレーズの予測および表示のような、グラフィカル・キーボード１１８Ａ内からの検索機能を実施することを可能とする。
【００６３】
モデル２３２は、ユーザが何かをグラフィカル・キーボード１１６Ｂで会話の一部としてタイプしたかどうかまたは起動アプリケーションモジュール２２４がアイコノグラフィック・シンボル・フレーズにより特徴づけられうる会話の通信のテキスト（例えば、インスタントメッセージ）を受信したかどうかを判定するために検索モジュール２３０により使用される「オンデバイス」の（例えば、ローカルに格納され実行される）モデルを表す。モデル２３２は、入力として、会話のテキストを受信し、応答して、当該会話のテキストの部分を特徴づけるかまたはそれと関連しうる１つまたは複数のアイコノグラフィック・シンボル・フレーズを出力してもよい。幾つかの例では、モデル２３２は、アイコノグラフィック・シンボル・フレーズ予測に関連付けられたスコアを、当該フレーズが当該会話に関連する確率の指示として出力してもよい。
【００６４】
フレーズに割り当てられたスコアが閾値を満たす場合、キーボード・モジュール２２２はＵＩモジュール２２０に、アイコノグラフィック・シンボル・フレーズのグラフィカル指示を示唆された入力として出力させてもよい。ユーザが特定の時点でタイプするものは、ユーザがまさにその時点で表現しようとしているものへの多くの洞察をモデルに提供しうるので、キーボード・モジュール２２２は、テキストを用いて、その自己表現に関して拡張するように最良にかつ最も関連するアイコノグラフィック・シンボル・フレーズを提供することができる。このようにキーボード・モジュール２２２は、単純に単語またはフレーズのマッチングを用いて正確なマッチングシンボル・フレーズを推奨する他のシステムよりもかなり喜ばしくおよび有用なアイコノグラフィック・シンボル・フレーズを提供することができる。
【００６５】
検索モジュール２３０は、以前の電子通信のアイコノグラフィック・シンボルのフレーズに基づいてモデル２３２をトレーニングしてもよい。即ち、モデル２３２の学習部分は、他のコンピューティング・デバイスのユーザにより入力されるかまたはコンピューティング・デバイス２２０のユーザにより入力されるアイコノグラフィック・シンボル・フレーズ埋め込みのルールを生成するためにオフラインでトレーニングされてもよい。モデル２３２のルール予測部分は、テキスト入力で渡されるためのアイコノグラフィック・シンボル・フレーズ予測を提供するためのテキスト入力に対して、当該学習したルールを実行してもよい。
【００６６】
リモートコンピューティング・システム（例えば、サーバ）で実行されるモデルまたはエンジンに依存しうる他の従来の検索システムと異なり、モデル２３２は、コンピューティング・デバイス２１０の１つまたは複数のプロセッサでローカルに実行されてもよい。モデル２３２のようなオンデバイスモデルに依存することにより、検索モジュール２３０は、ユーザがグラフィカル・キーボード１１６Ｂをタイプするときに有しうるテキスト会話に割り込むかまたは遅れることを回避するためにほぼリアルタイムであるとユーザに見えるものにアイコノグラフィック・シンボル・フレーズ予測を実施してもよい。代替的に、検索モジュール２３０は、リモートに実行するモデル２３２のようなモデルに依存してもよい。即ち、検索モジュール２３０は、グラフィカル・キーボード１１６Ｂにより推論されたテキストおよび／またはコンピューティング・デバイス２１０に関する他の情報をクラウドに送信し、応答して、１つまたは複数の関連するアイコノグラフィック・シンボル・フレーズ予測を受信することにより、アイコノグラフィック・シンボル・フレーズ予測を取得するためのクラウドサービスにアクセスしてもよい。
【００６７】
個人情報を格納し利用するための明示的な同意をユーザから受信した後、検索モジュール２３０は、当該個人情報を格納または利用する前に、分析されている当該情報を暗号化または処理してユーザの実際のアイデンティティを除去してもよい。例えば、当該情報が、処理のためにリモートコンピューティング・デバイスに格納または送信するときに任意の個人識別可能情報が除去されるように、キーボード・モジュールにより処理されてもよい。
【００６８】
検索モジュール２３０は、コンピューティング・デバイス２１０の位置が変化したこと、グラフィカル・キーボード１１６Ｂで入力されている言語が変化したことに応答して、またはユーザがコンピューティング・デバイス２２０と有している電子会話への参加者の変化により、モデル２３２の更新されたバージョンを自動的にダウンロードしてもよい。１例として、或る地理的位置に対するアイコノグラフィック・シンボル・フレーズを予測するためのモデル２３２の或るバージョンは、（例えば、２つの位置の間の言語、慣習、文化等の変動に起因して）異なる地理的位置におけるアイコノグラフィック・シンボル・フレーズの予測に関して適切または正確でないかもしれない。検索モジュール２３０は、或る言語（例えば、ローカル方言）でユーザがテキストを交換しているときに或るモデルを使用してもよく、異なる言語（例えば、ホーム位置の方言）で書かれたテキストを交換するときに異なるモデルを使用してもよい。検索モジュール２３０は、ユーザが或る他のユーザ（例えば、同僚または友達）とテキストを交換しているときに或るモデルを使用してもよく、異なるユーザ（例えば、家族構成員）とテキストを交換しているときに異なるモデルを使用してもよい。
【００６９】
検索モジュール２３０は、コンピューティング・デバイス２１０の位置が変化したことに応答して、新たなローカルモデル２３２を自動的にダウンロードしてもよい。例えば、検索モデル２３０は、通信ユニット２４２および／または入力コンポーネント２３２（例えば、ＧＰＳ受信器）のうち１つまたは複数から、コンピューティング・デバイス２１０の現在の位置に関する情報を受信してもよい。当該現在の位置がローカルモデル２３２に関連付けられた位置に対応しないと判定したことに応答して、検索モデル２３０は、リモートコンピューティング・システムに現在の位置に対するローカルモデルを問い合わせてもよい。当該現在の位置に対するローカルモデルを当該リモートコンピューティング・システムから受信すると、検索モデル２３０は以前のローカルモデル２３２を当該現在の位置に対するローカルモデルのコピーで置き換える。換言すれば、幾つかの例において、検索モジュール２３０は、コンピューティング・デバイス２１０の現在の位置の第１の位置から第２の位置への変化を決定したことに応答して、リモートコンピューティング・システムから、当該第２の位置に対するアイコノグラフィック・シンボル・フレーズ予測のローカルモデルを取得し、以前のローカルモデル２３２を当該第２の位置に対するローカルモデルで置き換えてもよい。他のコンピューティング・デバイスがコンピューティング・デバイスの現在の位置で配置される一方、ローカルモデル２３２の新たなバージョンは他のコンピューティング・デバイスにより送受信された以前の電子通信でトレーニングされていてもよく、他のコンピューティング・デバイスがコンピューティング・デバイスの以前の位置に配置される一方で、古いバージョン（即ち、当該新たなバージョンにより置き換えられたバージョン）が、他のコンピューティング・デバイスにより送受信された以前の電子通信でトレーニングされていてもよい。
【００７０】
検索モジュール２３０は、モデル２３２を用いて、グラフィカル・キーボード１１６Ｂで入力されているテキストを解析して、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を表すアイコノグラフィック・シンボル・フレーズを予測してもよい。例えば、ＬＭモジュール２２８は、当該テキストの少なくとも一部に基づいて、キーボード・モジュール２２２がグラフィカルキー１１８の選択から、ＬＭモジュール２２８の字句からの１つまたは複数の単語を推論すると判定してもよい。検索モデル２３０は当該１つまたは複数の単語をモデル２３２に入力してもよい。
【００７１】
モデル２３２は、当該単語に基づいて、ユーザ表現が当該１つまたは複数の単語に関連する確率を示すモデル２３２により識別されたユーザ表現に割り当てられたスコアを決定してもよい。ユーザ表現に割り当てられたスコアが閾値を満たすと判定したことに応答して、モデル２３２はユーザ表現を暗黙的ユーザ表現として識別してもよい。換言すれば、モデル２３２は、ユーザ表現のスコアが閾値を満たさない限り、暗黙的ユーザ表現に関連付けられた予測されたアイコノグラフィック・シンボル・フレーズを推奨することを控えてもよい。このように、かかる予測が会話に関連しない可能性があるとき、ユーザはアイコノグラフィック・シンボル・フレーズ予測で殺到されない。
【００７２】
モデル２３２は、当該暗黙的ユーザ表現に基づいて、かつ、アイコノグラフィック・シンボルの検索可能なフレーズのローカルモデルから、アイコノグラフィック・シンボルの当該フレーズが当該暗黙的ユーザ表現に関連する確率を示すアイコノグラフィック・シンボルのフレーズに割り当てられたスコアを決定してもよい。換言すれば、モデル２３２は、テキストから推論されたユーザ表現を、アイコノグラフィック・シンボル・フレーズを決定するための１つまたは複数のルールに入力してもよい。当該ルールは１つまたは複数のアイコノグラフィック・シンボル・フレーズを出力してもよく、それぞれは、当該フレーズがどれくらい近くユーザ表現にマッチするかを示す独自のスコアを有する。アイコノグラフィック・シンボルの当該フレーズに割り当てられたスコアが閾値を満たすと判定したことに応答して、モデル２３２は、そのアイコノグラフィック・シンボルのフレーズを、ユーザに推奨すべき１つまたは複数のアイコノグラフィック・シンボルのフレーズとして識別してもよい。
【００７３】
検索モジュール２３０は、モデル２３２から、当該アイコノグラフィック・シンボル・フレーズの指示およびその夫々のスコアを取得してもよい。検索モジュール２３０は当該スコアを閾値と比較してもよい。アイコノグラフィック・シンボル・フレーズに割り当てられたスコアが閾値を満たすと判定したことに応答して、検索モジュール２３０は当該フレーズをユーザに推奨するのに適切であるとして識別してもよい。
【００７４】
幾つかの例では、検索モデル２３０はさらに（例えば、モデル２３２に依存して）、アイコノグラフィック・シンボル・フレーズを予測するためにコンピューティング・デバイス２１０の現在の文脈に依存してもよい。本明細書で使用する際、現在の文脈は、特定の時点の、コンピューティング・デバイス２１０のようなコンピューティング・デバイスの物理環境および／または仮想環境の特性、およびコンピューティング・デバイスのユーザを規定する。さらに、「文脈的情報」という用語は、コンピューティング・デバイス、およびコンピューティング・デバイスのユーザが特定の時点で体験しうる仮想環境および／または物理環境の特性を定義するためにコンピューティング・デバイスにより使用しうる任意の情報を記述するために使用される。
【００７５】
文脈的情報の例は多数であり、コンピューティング・デバイス２１０のセンサ（例えば、位置センサ、加速度計、ジャイロスコープ、バロメータ、周辺光センサ、近接性センサ、マイクロフォン、および他の任意のセンサ）により取得されたセンサ情報、コンピューティング・デバイス２１０の通信モジュールにより送受信される通信情報（例えば、テキストベースの通信、可聴通信、ビデオ通信等）（例えば、コンピューティング・デバイス２１０のユーザとの会話における他のユーザからのテキストまたは他のユーザのコンピューティング・デバイスのスクリーン上のテキストを含む）、およびコンピューティング・デバイス２１０で実行されているアプリケーションに関連付けられたアプリケーション利用情報（例えば、アプリケーションに関連付けられたアプリケーションデータ、インターネット検索履歴、テキスト通信、音声およびビデオ通信、カレンダ情報、ソーシャル・メディア投稿および関連情報等）を含んでもよい。文脈的情報のさらなる例は、コンピューティング・デバイス２１０の外部にある送信デバイスかから取得された信号および情報を含む。
【００７６】
モデル２３２は、ユーザが入力をグラフィカル・キーボード１１６Ｂで提供する際にユーザが構成している可能性がある電子通信、ならびにコンピューティング・デバイス２２０により送信または受信されている１つまたは複数の他の電子通信を含む電子会話に関連付けられた情報を含む文脈的情報に依存してもよい。例えば、モデル２３２は、文脈的情報（例えば、コンピューティング・デバイス２２０により送信された以前のメッセージに関連付けられたテキストまたは他の情報およびコンピューティング・デバイス２２０により受信された以前のメッセージに関連付けられたテキストまたは他の情報）に基づいておよび機械学習されたモデル２３３から、暗黙的ユーザ表現および／またはアイコノグラフィック・シンボル・フレーズに割り当てられたスコアを修正してもよい。当該スコアを修正または改良した後、当該スコアが閾値を満たすと判定したことに応答して、モデル２３２は、ユーザ表現および／またはフレーズを、現在のテキスト入力および／または現在のコンテキストに関連するとして識別してもよい。
【００７７】
図３は、本開示の１つまたは複数の技術に従う、リモートデバイスで表示するためのグラフィカルコンテンツを出力する例示的なコンピューティング・デバイスを示すブロック図である。グラフィカルコンテンツは、一般に、幾つかの例のみを挙げると、テキスト、画像、動画グループのような、表示向けに出力しうる任意の視覚的情報を含んでもよい。図３に示す例はコンピューティング・デバイス３１０、ＰＳＤ３１２、通信ユニット３４２、モバイル・デバイス３８６、および視覚的ディスプレイ・コンポーネント３９０を含む。幾つかの例では、ＰＳＤ３１２は図１および２に示すように存在検知ディスプレイであってもよい。図１および２において例示の目的のためにスタンドアロンコンピューティング・デバイス１１０として示されているが、コンピューティング・デバイス３１０のようなコンピューティング・デバイスは、一般に、プロセッサまたはソフトウェア命令を実行するための他の適切なコンピューティング環境を含む任意のコンポーネントまたはシステムであってもよく、例えば、存在検知ディスプレイを含む必要はない。
【００７８】
図３の例に示すように、コンピューティング・デバイス３１０は、図２のプロセッサ２４０に関して説明したような機能を含むプロセッサであってもよい。かかる例では、コンピューティング・デバイス３１０は、通信チャネル３６２ＡによりＰＳＤ３１２に動作可能に接続されてもよく、通信チャネル３６２Ａはシステムバスまたは他の適切な接続であってもよい。コンピューティング・デバイス３１０はまた、通信チャネル３６２Ｂにより、さらに後述する通信ユニット３４２に動作可能に接続されてもよい。通信チャネル３６２Ｂはまた、システムバスまたは他の適切な接続であってもよい。図３では１例として別々に示してあるが、コンピューティング・デバイス３１０は、任意数の１つまたは複数の通信チャネルによりＰＳＤ３１２および通信ユニット３４２に動作可能に接続されてもよい。
【００７９】
他の例では、図１および２のコンピューティング・デバイス１１０により前述したように、コンピューティング・デバイスは、（スマートフォンを含む）携帯電話、ラップトップコンピュータ等のようなポータブル・デバイスまたはモバイル・デバイスを指してもよい。幾つかの例では、コンピューティング・デバイスはデスクトップコンピュータ、タブレットコンピュータ、スマートテレビプラットフォーム、カメラ、携帯情報端末（ＰＤＡ）、サーバ、またはメインフレームであってもよい。
【００８０】
ＰＳＤ３１２はディスプレイ・コンポーネント３０２および存在感知入力コンポーネント３０４を含んでもよい。ディスプレイ・コンポーネント３０２は、例えば、データをコンピューティング・デバイス３１０から受信し、グラフィカルコンテンツを表示してもよい。幾つかの例では、存在感知入力コンポーネント３０４は、ＰＳＤ３１２での１つまたは複数のユーザ入力（例えば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャ）を、静電容量、誘導、および／または光認識技術を用いて決定し、通信チャネル３６２Ａを用いてかかるユーザ入力の指示をコンピューティング・デバイス３１０に送信してもよい。幾つかの例では、存在感知入力コンポーネント３０４は、ユーザがディスプレイ・コンポーネント３０２により表示されたグラフィカル要素上に入力ユニットを配置したとき、存在感知入力コンポーネント３０４の位置が、当該グラフィカル要素が表示されているディスプレイ・コンポーネント３０２の位置に対応するように、ディスプレイ・コンポーネント３０２の上に物理的に配置してもよい。
【００８１】
図３に示すように、コンピューティング・デバイス３１０はまた、通信ユニット３４２を含んでもよく、かつ／または、それにに動作可能に接続されてもよい。通信ユニット３４２は図２で説明するように通信ユニット２４２の機能を含んでもよい。通信ユニット３４２の例は、ネットワークインタフェースカード、イーサネット（登録商標）カード、光送受信器、無線周波数送受信器、または情報を送受信できる他の任意のタイプのデバイスを含んでもよい。かかる通信ユニットの他の例はBluetooth（登録商標）、３Ｇ、およびWi-Fi無線、ユニバーサル・シリアル・バス（ＵＳＢ）インタフェース等を含んでもよい。コンピューティング・デバイス３１０はまた、簡潔さおよび例示の目的のため図３には示されていない１つまたは複数の他のデバイス（例えば、入力デバイス、出力コンポーネント、メモリ、記憶デバイス）を含んでもよく、かつ／または、それに動作可能に接続されてもよい。
【００８２】
図３はまたモバイル・デバイス３８６および視覚的ディスプレイ・コンポーネント３９０を示す。モバイル・デバイス３８６および視覚的ディスプレイ・コンポーネント３９０はそれぞれ、計算機能および接続機能を含んでもよい。モバイル・デバイス３８６の例は、電子書籍デバイス、コンバーチブルノートブックデバイス、ハイブリッド状態デバイス等を含んでもよい。視覚的ディスプレイ・コンポーネント３９０の例はテレビ、コンピュータモニタ等のような他のデバイスを含んでもよい。幾つかの例では、視覚的ディスプレイ・コンポーネント３９０は、（例えば、自動車、航空機、または幾つかの他の車両における）車両コックピット・ディスプレイまたはナビゲーションディスプレイであってもよい。幾つかの例では、視覚的ディスプレイ・コンポーネント３９０は、コンピューティング・デバイス３１０から分離されたホームオートメーションディスプレイまたは幾つかの他のタイプのディスプレイであってもよい。
【００８３】
図３に示すように、モバイル・デバイス３８６は存在検知ディスプレイ３８８を含んでもよい。視覚的ディスプレイ・コンポーネント３９０は存在検知ディスプレイ３９２を含んでもよい。存在検知ディスプレイ３８８、３９２は、本開示で説明するように存在検知ディスプレイ１１２、２１２、および／または３１２の機能のサブセットまたは全てを含んでもよい。幾つかの例では、存在検知ディスプレイ３８８、３９２は追加の機能を含んでもよい。いずれのケースでも、存在検知ディスプレイ３９２は、例えば、データをコンピューティング・デバイス３１０から受信し、グラフィカルコンテンツを表示してもよい。幾つかの例では、存在検知ディスプレイ３９２は、静電容量、誘導、および／または光認識技術を用いてプロジェクタスクリーンでの１つまたは複数のユーザ入力（例えば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャ）を決定し、１つまたは複数の通信ユニットを用いてかかるユーザ入力の指示をコンピューティング・デバイス３１０に送信してもよい。
【００８４】
上述のように、幾つかの例において、コンピューティング・デバイス３１０は、システムバスまたは他の適切な通信チャネルによりコンピューティング・デバイス３１０に接続されるＰＳＤ３１２で表示するためのグラフィカルコンテンツを出力してもよい。コンピューティング・デバイス３１０はまた、モバイル・デバイス３８６および視覚的ディスプレイ・コンポーネント３９０のような１つまたは複数のリモートデバイスで表示するためのグラフィカルコンテンツを出力してもよい。例えば、コンピューティング・デバイス３１０は、本開示の技術に従うグラフィカルコンテンツを生成および／または修正するための１つまたは複数の命令を実行してもよい。コンピューティング・デバイス３１０は、当該グラフィカルコンテンツを含むデータを、通信ユニット３４２のようなコンピューティング・デバイス３１０の通信ユニットに出力してもよい。通信ユニット３４２は、モバイル・デバイス３８６および／または視覚的ディスプレイ・コンポーネント３９０のような、当該リモートデバイスのうち１つまたは複数に当該データを送信してもよい。このように、コンピューティング・デバイス３１０は、当該リモートデバイスのうち１つまたは複数で表示するために当該グラフィカルコンテンツを出力してもよい。幾つかの例では、当該リモートデバイスのうち１つまたは複数は、当該夫々のリモートデバイスに含まれかつ／または動作可能に接続される存在検知ディスプレイで当該グラフィカルコンテンツを出力してもよい。
【００８５】
幾つかの例では、コンピューティング・デバイス３１０は、コンピューティング・デバイス３１０に動作可能に接続されるＰＳＤ３１２でグラフィカルコンテンツを出力しなくてもよい。他の例では、コンピューティング・デバイス３１０は、通信チャネル３６２Ａによりコンピューティング・デバイス３１０に接続されるＰＳＤ３１２と１つまたは複数のリモートデバイスとの両方で表示するためのグラフィカルコンテンツを出力してもよい。かかる例では、当該グラフィカルコンテンツは、夫々のデバイスで実質的に同時に表示されてもよい。幾つかの例では、コンピューティング・デバイス３１０により生成されたグラフィカルコンテンツおよびＰＳＤ３１２で表示するための出力が、１つまたは複数のリモートデバイスで表示するためのグラフィカルコンテンツ表示出力と異なってもよい。
【００８６】
コンピューティング・デバイス３１０は、任意の適切な通信技術を用いてデータを送受信してもよい。例えば、コンピューティング・デバイス３１０は、ネットワークリンク３７３Ａを用いて外部ネットワーク３７４に動作可能に接続されてもよい。図３に示すリモートデバイスの各々は、夫々のネットワークリンク３７３Ｂ、または３７３Ｃのうち１つによって外部ネットワーク３７４とネットワークするように動作可能に接続されてもよい。外部ネットワーク３７４は、動作可能に相互接続されそれにより図３に示すコンピューティング・デバイス３１０とリモートデバイスの間での情報交換を提供する、ネットワークハブ、ネットワークスイッチ、ネットワークルータ等を含んでもよい。幾つかの例では、ネットワークリンク３７３Ａ乃至３７３Ｃはイーサネット（登録商標）、ＡＴＭまたは他のネットワーク接続であってもよい。かかる接続は無線および／または有線接続であってもよい。
【００８７】
幾つかの例では、コンピューティング・デバイス３１０は、ダイレクトデバイス通信３７８を用いて図３に含まれるリモートデバイスのうち１つまたは複数に動作可能に接続されてもよい。ダイレクトデバイス通信３７８は、有線または無線通信を用いて、コンピューティング・デバイス３１０がそれを通じてリモートデバイスと直接データを送受信する通信を含んでもよい。即ち、ダイレクトデバイス通信３７８の幾つかの例において、コンピューティング・デバイス３１０により送信されたデータを、当該リモートデバイスで受信される前に１つまたは複数の追加のデバイスにより転送しなくてもよく、逆も成り立つ。ダイレクトデバイス通信３７８の例はBluetooth（登録商標）、近接場通信、ユニバーサル・シリアル・バス、Wi-Fi、赤外線等を含んでもよい。図３に示すリモートデバイスのうち１つまたは複数は、通信リンク３７６Ａ乃至３７６Ｃによりコンピューティング・デバイス３１０に動作可能に接続されてもよい。幾つかの例では、通信リンク３７６Ａ乃至３７６Ｃは、Bluetooth（登録商標）、近接場通信、ユニバーサル・シリアル・バス、赤外線等を用いた接続であってもよい。かかる接続は無線および／または有線接続であってもよい。
【００８８】
本開示の技術によれば、コンピューティング・デバイス３１０は、外部ネットワーク３７４を用いて視覚的ディスプレイ・コンポーネント３９０に動作可能に接続されてもよい。コンピューティング・デバイス３１０はＰＳＤ３９２で表示するためのグラフィカル・キーボードを出力してもよい。例えば、コンピューティング・デバイス３１０は、当該グラフィカル・キーボードの表現を含むデータを通信ユニット３４２に送信してもよい。通信ユニット３４２は、外部ネットワーク３７４を用いて、当該グラフィカル・キーボードの表現を含むデータを視覚的ディスプレイ・コンポーネント３９０に送信してもよい。視覚的ディスプレイ・コンポーネント３９０は、外部ネットワーク３７４を用いて当該データを受信したことに応答して、ＰＳＤ３９２に当該グラフィカル・キーボードを出力させてもよい。当該キーボードの１つまたは複数のキーを選択するためのユーザ入力をＰＳＤ３９２で受信したことに応答して、視覚的ディスプレイデバイス１３０は、外部ネットワーク３７４を用いて、ユーザ入力の指示をコンピューティング・デバイス３１０に送信してもよい。通信ユニット３４２は、ユーザ入力の指示を受信し、当該指示をコンピューティング・デバイス３１０に送信してもよい。
【００８９】
コンピューティング・デバイス３１０は、ユーザ入力に基づいて、１つまたは複数のキーの選択を決定してもよい。コンピューティング・デバイス３１０は、当該選択された１つまたは複数のキーに基づいて、１つまたは複数の単語を決定してもよい。コンピューティング・デバイス３１０は、当該１つまたは複数の単語に少なくとも部分的に基づいて、当該１つまたは複数の単語の少なくとも一部を特徴付ける暗黙的ユーザ表現を識別してもよく、当該暗黙的ユーザ表現に基づいて、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成してもよい。コンピューティング・デバイス３１０は、当該グラフィカル・キーボード内に表示するために、コンピューティング・デバイスが当該フレーズを予測したと示すためのグラフィカル指示を出力してもよい。通信ユニット３４２は当該更新されたグラフィカル・ユーザ・インタフェースの表現を受信してもよく、視覚的ディスプレイ・コンポーネント３９０がＰＳＤ３９２に、コンピューティング・デバイスが１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成したことを示すためのグラフィカル指示を含む、当該更新されたグラフィカル・キーボードを出力させることができるように、当該表現を視覚的ディスプレイ・コンポーネント３９０に送信してもよい。
【００９０】
図４Ａ乃至４Ｅは、本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成された例示的なコンピューティング・デバイスの例示的なグラフィカル・ユーザ・インタフェースを示す概念図である。図４Ａ乃至４Ｅは、それぞれ、例示的なグラフィカル・ユーザ・インタフェース４１４Ａ乃至４１４Ｅ（集合的に、ユーザ・インタフェース４１４）を示す。しかし、グラフィカル・ユーザ・インタフェースの他の多数の例を他の事例で使用してもよい。グラフィカル・ユーザ・インタフェース４１４の各々は、それぞれ図１および２のコンピューティング・デバイス１１０または２１０により表示されたグラフィカル・ユーザ・インタフェースに対応してもよい。図４Ａ乃至４Ｅは、コンピューティング・デバイス１１０の文脈で後述する。
【００９１】
グラフィカル・ユーザ・インタフェース４１４は出力領域４１６Ａ、編集領域４１６Ｃ、およびグラフィカル・キーボード４１６Ｂを含む。グラフィカル・キーボード４１６Ｂは提案領域４１８Ｂ、複数のキー４１８Ａ、および検索要素４１８Ｃを含む。
【００９２】
図４Ａに示すように、コンピューティング・デバイス１１０は、電子通信（例えば、テキストメッセージ）を家族構成員に関連付けられたデバイスから受信してもよい。コンピューティング・デバイス１１０は、出力領域４１６Ａ内で表示するための電子通信のコンテンツを出力してもよい。当該メッセージのコンテンツはフレーズ「Jane is graduating from college this year」を含んでもよい。
【００９３】
コンピューティング・デバイス１１０のユーザは、グラフィカル・キーボード４１６Ｂと対話して当該メッセージへの応答を作成してもよい。例えば、ユーザは、１つまたは複数のキー４１８Ａでタップまたはジェスチャして、当該応答を「Wow! I still remember her in kindergarten」とタイプしてもよい。コンピューティング・デバイス１１０のキーボード・モジュール１２２は、キー４１８Ａでのタップまたはジェスチャの指示を受信し、ユーザ入力に基づいて、コンピューティング・デバイス１１０が編集領域４１６Ｃ内でフォーマットし表示するテキストを決定してもよい。例えば、ユーザが「kindergarten」とタイプすると、コンピューティング・デバイス１１０は、編集領域４１６Ｃに「kindergarten」を表示させてもよい。さらに、ユーザがグラフィカルキー４１８Ａでタイプすると、コンピューティング・デバイス１１０のキーボード・モジュール１２２は、ユーザ入力に基づいて１つまたは複数の候補単語を予測し、当該候補単語のうち１つまたは複数（例えば、「kindergartens」、「kindergarten’s」、および「kindergarteners」）を提案領域４１８Ｂ内に表示してもよい。グラフィカルキー４１８Ａの「送信キー」の選択を検出したことに応答して、コンピューティング・デバイス１１０は、テキスト「Wow! I still remember her in kindergarten」を含む電子メッセージを構成し、当該家族構成員に関連付けられたコンピューティング・デバイスに送信してもよい。図４Ａに示すように、コンピューティング・デバイス１１０は、当該電子メッセージの内容を出力領域４１６Ａ内に表示するために出力してもよい。
【００９４】
ユーザが電子通信に関連付けられたテキストのタイプを終了した後、コンピューティング・デバイス１１０のキーボード・モジュール１２２は、ユーザがタイプを終了したことを自動的に推論し、応答して、当該メッセージで書かれたテキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を、家族構成員からおよび／またはグラフィカル・キーボード４１６Ｂで構成された応答メッセージから決定してもよい。コンピューティング・デバイス１１０のキーボード・モジュール１２２は、電子通信に関連付けられたテキストの末尾を決定したことに応答して、当該暗黙的ユーザ表現を決定してもよい。例えば、キーボード・モジュール１２２は、当該テキストの末尾を１つまたは複数の幾つかの方法で決定してもよい。キーボード・モジュール１２２は、当該テキスト内の最後の文字が句読点文字（例えば、「？」、「．」、「！」、または幾つかの他の句読点文字）であると判定したことに応答して、暗黙的ユーザ表現を決定してもよい。換言すれば、キーボード・モジュール１２２は、グラフィカル・キーボード４１６Ｂの選択された１つまたは複数のキーの最後のキーが句読点文字に関連付けられた句読点キーに対応すると判定したことに応答して、暗黙的ユーザ表現を決定してもよい。コンピューティング・デバイス１１０のキーボード・モジュール１２２は、ユーザにより選択された最後のキーが、選択されたとき、コンピューティング・デバイス１１０のチャットアプリケーションにメッセージの送信をトリガさせる「送信キー」または「リターンキー」であると判定したことに応答して、暗黙的ユーザ表現を決定してもよい。換言すれば、キーボード・モジュール１２２は、グラフィカル・キーボード４１６Ｂの選択された１つまたは複数のキーの最後のキーが、コンピューティング・デバイス１１０に電子通信を送信させるグラフィカル・キーボード４１６Ｂの送信キーに対応すると判定したことに応答して、暗黙的ユーザ表現を決定してもよい。コンピューティング・デバイス１１０のキーボード・モジュール１２２は、グラフィカル・キーボード４１６Ｂに関連付けられたユーザ入力の一時停止（例えば、１秒または数秒）が当該最後のキーが選択されてから発生したことまたは当該テキストに関連付けられた単語の量（例えば、１より大きな任意の量）が単語閾値を超過したことを判定したことに応答して、暗黙的ユーザ表現を決定してもよい。
【００９５】
当該電子会話のテキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定したことに応答して、キーボード・モジュール１２２は、検索モードを入力し、当該テキストに関連しうるアイコノグラフィック・シンボルのフレーズを予測してもよい。キーボード・モジュール１２２は、「Jane is graduating college this year」および「Wow! I still remember her in kindergarten」を分析して、コンピューティング・デバイス１１０のユーザが、子供の成長に関する会話をしていると推論してもよい。キーボード・モジュール１２２は、子供の成長に関する会話をしているときに他の他のコンピューティング・デバイスのユーザが使用した１つまたは複数のアイコノグラフィック・シンボルのフレーズを自動的に関連づけてもよい。例えば、キーボード・モジュール１２２は、図４Ｃのユーザ・インタフェース４１４Ｃの検索領域４１８Ｄ内のフレーズ結果として示され、「kids grow up so fast」を意味するとして解釈されるかもしれない絵文字シンボル・フレーズが、子供の成長に関する会話をしているときに他のコンピューティング・デバイスのユーザにより使用されていると判定してもよい。
【００９６】
幾つかの例では、コンピューティング・デバイス１１０は、当該コンピューティング・デバイスがアイコノグラフィック・シンボル・フレーズを生成したことを示すように、複数のキーからの検索キーの視覚的フォーマットを修正してもよい。例えば、図４Ｂに示すように、検索要素４１８Ｃは、検索要素４１８Ｃが第１のカラーパレットを有する第１の視覚的フォーマットで表示されることから、第２のカラーパレットを有する検索要素４１８Ｃが表示される第２の視覚的フォーマットで表示されることに変更されている。他の例では、コンピューティング・デバイス１１０は、検索要素４１８Ｃを、フラッシュし、移動し、サイズ変更し、第１のアイコンから第２の異なるアイコンにモーフィングし、またはコンピューティング・デバイス１１０がグラフィカル・キーボード４１６Ｂでのテキスト入力に基づいてアイコノグラフィック・シンボル・フレーズを予測したことをユーザに警告する幾つかの他の方法で変更させてもよい
【００９７】
幾つかの例では、コンピューティング・デバイス１１０は、コンピューティング・デバイスが予測されたフレーズのテキストまたはグラフィカル指示を出力することによってアイコノグラフィック・シンボル・フレーズを予測したと示してもよい。例えば、コンピューティング・デバイス１１０は、当該アイコノグラフィック・シンボル・フレーズが、提案領域４１８Ｂ内に表示されたとき、言語学的な候補単語またはフレーズ（例えば、非検索関連の提案）内に表示されるように、当該予測されたフレーズのテキストまたはグラフィカル指示をグラフィカル・キーボード４１６Ｂの提案領域４１８Ｂ内の提案として出力してもよい。他の例では、コンピューティング・デバイス１１０は、テキスト記述子を有するかまたは有さないアイコノグラフィック・シンボル・フレーズを表すかまたはそれに汎用的なグラフィカル要素（例えば、アイコン）を出力することによって、コンピューティング・デバイスが当該予測されたフレーズのテキストまたはグラフィカル指示を生成したことを示してもよい。例えば、図４Ｂに示すように、コンピューティング・デバイス１１０は、笑顔の絵文字シンボルをテキスト「フレーズ」で出力して、キーボード・モジュール１２２が予測されたフレーズを生成したことを示してもよい。
【００９８】
幾つかの例では、コンピューティング・デバイス１１０は、予測されたアイコノグラフィック・シンボル・フレーズのグラフィカル指示を当該グラフィカル・キーボードの別々の検索領域内に表示してもよい。当該検索領域は、テキスト入力に対する示唆された単語が表示されるグラフィカル・キーボード４１６Ｂの提案領域４１８Ｂと異なってもよい。例えば、当該検索領域がグラフィカルキー４１８Ａと提案領域４１８Ｃの間に配置されてもよく、または当該検索領域が編集領域４１６Ｃまたは出力領域４１６Ａと提案領域４１８Ｂとの間に配置されてもよい。幾つかの例では、コンピューティング・デバイス１１０は提案領域４１８Ｂを当該検索領域で置き換えてもよい。
【００９９】
図４Ｃは、コンピューティング・デバイス１１０がアイコノグラフィック・シンボルのフレーズのグラフィカル指示の選択の指示を受信したことに応答して表示しうるアイコノグラフィック・シンボル検索領域の１例を示す。換言すれば、図４Ｂの提案領域４１８Ｂからのフレーズ提案の選択を検出した際、コンピューティング・デバイス１１０はユーザ・インタフェース４１４Ｃを表示してもよい。ユーザ・インタフェース４１４Ｃにおいて、グラフィカル・キーボード４１６Ｂの少なくとも一部を置き換える別々の検索領域４１８Ｄで実際のアイコノグラフィック・シンボル・フレーズが示される。
【０１００】
ユーザは、電子通信の一部として入力するためのアイコノグラフィック・シンボル・フレーズを選択するための入力を検索領域４１８Ｄで提供してもよい。幾つかの事例では、キーボード・モジュール１２２は、予測された暗黙的ユーザ表現を表示し、当該暗黙的ユーザ表現を、ユーザがそこから他のアイコノグラフィック・シンボル・フレーズ、スティッカ、画像、ビデオ、または当該暗黙的ユーザ表現に関連する他のコンテンツを検索しうる示唆された検索クエリとして表示してもよい。さらに、ユーザは、当該暗黙的ユーザ表現追を改良するためのさらなる入力を提供して、コンピューティング・デバイス１１０により自動的に発見されたものと異なるアイコノグラフィック・シンボル・フレーズまたは異なる検索結果を取得してもよい。
【０１０１】
１つまたは複数のアイコノグラフィック・シンボルのフレーズのグラフィカル指示を表示した後、コンピューティング・デバイス１１０は当該アイコノグラフィック・シンボル・フレーズのグラフィカル指示の選択の指示を受信してもよく、当該グラフィカル指示の選択の指示を受信したことに応答して、コンピューティング・デバイス１１０は電子通信の一部として当該フレーズを出力してもよい。例えば、図４Ｂに示すように、キーボード・モジュール１２２は、当該予測されたフレーズが提案領域４１８Ｂ内で表示される位置で検出されたユーザ入力の指示を受信してもよい。ユーザ入力の指示を受信したことに応答して、コンピューティング・デバイス１１０は、編集領域４１６Ｃ内で表示するために、当該予測されたフレーズを出力してもよい。
【０１０２】
図４Ｄに示すように、ユーザは、コンピューティング・デバイス１１０に編集領域４１６Ｃのコンテンツを有するメッセージを送信させる「送信キー」で追加の入力を提供してもよい。例えば、図４Ｅに示すように、コンピューティング・デバイス１１０は、当該予測されたフレーズを有するメッセージを家族構成員のデバイスに出力し、当該メッセージの内容をユーザ・インタフェース４１４Ｅの出力領域４１６Ａ内に表示してもよい。
【０１０３】
図５は、本開示の１つまたは複数の態様に従う、統合されたアイコノグラフィック・シンボル・ベースの予測を有するグラフィカル・キーボードを提供するように構成されるコンピューティング・デバイスの例示的な動作を示す流れ図である。図５の動作は、図１または図２のコンピューティング・デバイス２１０のコンピューティング・デバイス１１０のようなコンピューティング・デバイスの１つまたは複数のプロセッサにより実施されてもよい。例示の目的としてのみ、図５を、図１のコンピューティング・デバイス１１０の文脈で後述する。
【０１０４】
動作に際して、コンピューティング・デバイス１１０は表示用のグラフィカル・キーボードを出力してもよい（５００）。例えば、コンピューティング・デバイス１１０で実行されるチャットアプリケーションは、キーボード・モジュール１２２（例えば、スタンドアロンアプリケーションまたは当該チャットアプリケーションとは別のコンピューティング・デバイス１１０の機能）を起動して、グラフィカル・キーボード１１６ＢをＰＳＤ１１２に表示してもよい。
【０１０５】
コンピューティング・デバイス１１０は、表示するために、複数のキーを含むグラフィカル・キーボードを出力してもよい（５００）。例えば、キーボード・モジュール１２２は、ＵＩモジュール１２に、ＰＳＤ１１２で、グラフィカル・キーボード１１６Ｂを含むユーザ・インタフェース１１４を表示させてもよい。
【０１０６】
コンピューティング・デバイス１１０は当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定してもよい（５０２）。例えば、コンピューティング・デバイス１１０のユーザがグラフィカル・キーボード１１６Ｂでタイプすると、キーボード・モジュール１２２は、キーボード１１６Ｂのどのキー１１８Ａが選択されているかを示すデータをＰＳＤ１１２およびＵＩモジュール１２０から受信してもよい。キーボード・モジュール１２２は、ユーザが「my last exam was today」および「it feels good to finally be done with college」をタイプしたと判定してもよい。
【０１０７】
コンピューティング・デバイス１１０は、当該通信のテキストを分析するための同意をユーザから取得してもよい（５０４）。例えば、キーボード・モジュール１２２は、ユーザの電子通信のテキストの分析を、ユーザからそれを行う明示的な許可を最初に受信した後にのみ行ってもよい。したがって、ユーザは、どのようにキーボード・モジュール１２２がユーザに関する情報を収集し使用するかの完全な制御を有しうる。例えば、コンピューティング・デバイス１１０のユーザに関連付けられた通信のテキストを分析する前に、キーボード・モジュール１２２は、ＵＩモジュール１２０にＵＩＤ１１２を介してユーザ・インタフェースを提供させてもよい。当該ユーザ・インタフェースは、ボックスを選択し、ボタンをクリックし、音声入力を述べ、またはキーボード・モジュール１２２によりキーボード・モジュールがユーザの個人情報を収集し利用するための曖昧でない、肯定的な同意として解釈される特定の入力を当該ユーザ・インタフェースに提供することを要求する。
【０１０８】
コンピューティング・デバイス１１０は当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定してもよい（５０６）。例えば、キーボード・モジュール１２２は、グラフィカル・キーボード１１６Ｂで入力されているテキストを解析し分析して、個性記述的なシンボル・フレーズの形態で搬送されうるセンテンスまたはフレーズにより特徴づけられうる何かをユーザがグラフィカル・キーボード１１６Ｂでタイプしたかどうかを検出する、（コンピューティング・デバイス２２０のモデル２３２のような）モデルに依存してもよい。キーボード・モジュール１２２は、ユーザ表現「it is time to celebrate graduation」が、他のコンピューティング・デバイスのユーザが同様な会話を特徴づけるために使用したユーザ表現であると判定してもよい。
【０１０９】
コンピューティング・デバイス１１０は当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成してもよい（５０８）。例えば、キーボード・モジュール１２２は、推論されたユーザ表現内の単語またはテキストのキーワード置換またはテキストフレーズ置換を実施して、当該ユーザ表現を表す１つまたは複数のシンボルからなるアイコノグラフィック・シンボル・フレーズを自動的に生成する。幾つかの事例では、キーボード・モジュール１２２に依存するモデルは、他のコンピューティング・デバイスのユーザが当該決定されたユーザ表現により特徴づけられうる会話を有しているときにしばしば使用されるアイコノグラフィック・シンボル・フレーズを決定してもよい。
【０１１０】
コンピューティング・デバイス１１０は、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力してもよい（５１０）。例えば、キーボード・モジュール１２２は、当該テキストの部分にユーザ表現により特徴づけられるフレーズを付加するかまたは当該テキストの部分を当該フレーズで置き換えることにより、当該フレーズのグラフィカル指示を出力してもよい。キーボード・モジュール１２２は、当該アイコノグラフィック・シンボル・フレーズを提案として（例えば、提案領域１１８Ｂで）出力し、ユーザ表現のテキストを、キーボード・モジュール１２２がユーザ表現に基づいて生成した１つまたは複数のアイコノグラフィック・シンボル・フレーズのページにつながる青のハイパーリンク（例えば、下線を引いたまたは下線が引かれていない）、および／または、当該アイコノグラフィック・シンボル・フレーズに関連付けられたアイコン（例えば、アイコノグラフィック・シンボル・フレーズの生成を示すための汎用的な絵文字シンボル）を出力してもよい。
【０１１１】
以下の採番された項は本開示の１つまたは複数の態様を示しうる。
【０１１２】
項１：コンピューティング・デバイスで実行されているキーボード・アプリケーションにより、表示するために、複数のキーを含むグラフィカル・キーボードを出力するステップと、当該キーボード・アプリケーションにより、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定するステップと、当該キーボード・アプリケーションにより、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定するステップと、当該キーボード・アプリケーションにより、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成するステップと、当該キーボード・アプリケーションにより、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力するステップとを含む、方法。
【０１１３】
項２：当該電子通信のテキストの末尾を決定したことに応答して、当該暗黙的ユーザ表現が決定される、項１に記載の方法。
【０１１４】
項３：当該キーボード・アプリケーションにより、当該選択された１つまたは複数のキーの最後のキーが句読点文字に関連付けられた句読点キーに対応すること、当該選択された１つまたは複数のキーの当該最後のキーが当該電子通信を送信するための当該グラフィカル・キーボードの送信キーに対応すること、当該最後のキーが選択されてからユーザ入力の一時停止が発生していること、または当該テキストに関連付けられた単語の量が単語閾値を超過することを判定したことに応答して、当該電子通信のテキストの当該末尾を決定するステップをさらに含む、項２に記載の方法。
【０１１５】
項４：１つまたは複数のアイコノグラフィック・シンボルの当該フレーズの当該グラフィカル指示の選択の指示を受信したことに応答して、当該キーボード・アプリケーションにより、当該電子通信の一部として、１つまたは複数のアイコノグラフィック・シンボルの当該フレーズを出力するステップをさらに含む、項１乃至３の何れか１項に記載の方法。
【０１１６】
項５：当該電子通信の一部として１つまたは複数のアイコノグラフィック・シンボルの当該フレーズを出力するステップは、当該テキストの当該部分に当該フレーズを付加するかまたは当該テキストの当該部分を当該フレーズで置き換えるステップを含む、項４に記載の方法。
【０１１７】
項６：当該フレーズの当該グラフィカル指示を出力するステップは、１つまたは複数のアイコノグラフィック・シンボルの当該フレーズの当該グラフィカル指示を当該グラフィカル・キーボードの提案領域内の提案として出力するステップを含む、項１乃至５の何れか１項に記載の方法。
【０１１８】
項７：１つまたは複数のアイコノグラフィック・シンボルの当該フレーズの当該グラフィカル指示は、コンピューティング・デバイスが１つまたは複数のアイコノグラフィック・シンボルの当該フレーズを生成したことを示すためのテキストまたはイコノグラフィのうち少なくとも１つを含むグラフィカル要素を含む、項１乃至６の何れか１項に記載の方法。
【０１１９】
項８：１つまたは複数のアイコノグラフィック・シンボルの当該フレーズは、それぞれが当該暗黙的ユーザ表現を表す複数のアイコノグラフィック・シンボル・フレーズからの特定のフレーズであり、１つまたは複数のアイコノグラフィック・シンボルの当該フレーズの当該グラフィカル指示はさらに、当該複数のアイコノグラフィック・シンボル・フレーズからの追加のフレーズへの選択可能要素またはリンクを含む、項７に記載の方法。
【０１２０】
項９：当該暗黙的ユーザ表現を決定するステップは、当該キーボード・アプリケーションにより、当該テキストの少なくとも一部に基づいて、１つまたは複数の単語を決定するステップと、当該キーボード・アプリケーションにより、当該１つまたは複数の単語に基づいて、かつ、検索可能なユーザ表現のローカルモデルから、当該特定のユーザ表現が当該１つまたは複数の単語に関連する確率を示す特定のユーザ表現に割り当てられたスコアを決定するステップと、当該特定のユーザ表現に割り当てられた当該スコアが閾値を満たすと判定したことに応答して、当該キーボード・アプリケーションにより、当該特定のユーザ表現を当該暗黙的ユーザ表現として識別するステップとを含む、項１乃至８の何れか１項に記載の方法。
【０１２１】
項１０：１つまたは複数のアイコノグラフィック・シンボルの当該フレーズを生成するステップは、当該キーボード・アプリケーションにより、当該暗黙的ユーザ表現に基づいて、かつ、アイコノグラフィック・シンボルの検索可能なフレーズのローカルモデルから、当該アイコノグラフィック・シンボルの特定のフレーズが当該暗黙的ユーザ表現に関連する確率を示すアイコノグラフィック・シンボルの特定のフレーズに割り当てられたスコアを決定するステップと、当該アイコノグラフィック・シンボルの特定のフレーズに割り当てられた当該スコアが閾値を満たすと判定したことに応答して、当該キーボード・アプリケーションにより、当該アイコノグラフィック・シンボルの特定のフレーズを１つまたは複数のアイコノグラフィック・シンボルの当該フレーズとして識別するステップとを含む、項１乃至９の何れか１項に記載の方法。
【０１２２】
項１１：当該ローカルモデルはコンピューティング・デバイスの現在の位置に関連付けられる、項１０に記載の方法。
【０１２３】
項１２：当該キーボード・アプリケーションにより、以前の電子通信のアイコノグラフィック・シンボル・フレーズに基づいて、アイコノグラフィック・シンボルの検索可能なフレーズの当該ローカルモデルをトレーニングするステップをさらに含む、項１０または１１の何れか１項に記載の方法。
【０１２４】
項１３：当該以前の電子通信は他のコンピューティング・デバイスにより送信または受信されたものであり、当該他のコンピューティング・デバイスは当該コンピューティング・デバイスの現在の位置で配置されたものである、項１２に記載の方法。
【０１２５】
項１４：当該ローカルモデルは第１のローカルモデルであり、当該方法は、コンピューティング・デバイスの現在の位置の第１の位置から第２の位置への変化を判定したことに応答して、当該キーボード・アプリケーションにより、リモートコンピューティング・システムから、アイコノグラフィック・シンボルの検索可能なフレーズの第２のモデルを取得するステップであって、当該第２のモデルは当該第２の位置に関連付けられる、ステップと、当該キーボード・アプリケーションにより、当該第１のローカルモデルを当該第２のモデルで置き換えるステップとをさらに含む、項１０乃至１３の何れか１項に記載の方法。
【０１２６】
項１５：存在検知ディスプレイ・コンポーネントと、少なくとも１つのプロセッサと、実行されたとき、当該少なくとも１つのプロセッサに、当該存在検知ディスプレイ・コンポーネントで表示するために、複数のキーを含むグラフィカル・キーボードを表示させ、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定させ、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定させ、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成させ、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力させるキーボード・アプリケーションに関連付けられた命令を格納するメモリとを備えた、コンピューティング・デバイス。
【０１２７】
項１６：当該命令は、実行されたとき、当該少なくとも１つのプロセッサに当該電子通信のテキストの末尾を決定したことに応答して当該暗黙的ユーザ表現を決定させる、項１５に記載のコンピューティング・デバイス。
【０１２８】
項１７：当該キーボード・アプリケーションは異なるアプリケーションのキーボード拡張として実行する、項１５または１６に記載のコンピューティング・デバイス。
【０１２９】
項１８：当該命令は、実行されたとき、さらに当該少なくとも１つのプロセッサに、当該暗黙的ユーザ表現に基づいて、かつ、アイコノグラフィック・シンボルの検索可能なフレーズのローカルモデルから、当該アイコノグラフィック・シンボルの特定のフレーズが当該暗黙的ユーザ表現に関連する確率を示すアイコノグラフィック・シンボルの特定のフレーズに割り当てられたスコアを決定させ、当該アイコノグラフィック・シンボルの特定のフレーズに割り当てられた当該スコアが閾値を満たすと判定したことに応答して、当該アイコノグラフィック・シンボルの特定のフレーズを１つまたは複数のアイコノグラフィック・シンボルの当該フレーズとして識別させる、項１５乃至１７の何れか１項に記載のコンピューティング・デバイス。
【０１３０】
項１９：実行されたときコンピューティング・デバイスの少なくとも１つのプロセッサに、表示するために、複数のキーを含むグラフィカル・キーボードを出力させ、当該複数のキーからの１つまたは複数のキーの選択の指示に少なくとも部分的に基づいて、電子通信のテキストを決定させ、当該テキストに少なくとも部分的に基づいて、当該テキストの少なくとも一部を特徴付ける暗黙的ユーザ表現を決定させ、当該暗黙的ユーザ表現を表す１つまたは複数のアイコノグラフィック・シンボルのフレーズを生成させ、当該グラフィカル・キーボード内に表示するために、当該フレーズのグラフィカル指示を出力させる命令を備えた、コンピュータ可読記憶媒体。
【０１３１】
項２０：当該命令は、実行されたとき、さらに当該少なくとも１つのプロセッサに、当該フレーズの当該グラフィカル指示の選択の指示を受信したことに応答して、当該電子通信の一部として、１つまたは複数のアイコノグラフィック・シンボルの当該フレーズを出力させる、項１９に記載のコンピュータ可読記憶媒体。
【０１３２】
項２１：項１乃至１４の何れか１項に記載の方法を実施するための手段を備えたシステム。
【０１３３】
項２２：項１乃至１４の何れか１項に記載の方法を実施するための手段を備えたコンピューティング・デバイス。
【０１３４】
項２２：コンピューティング・デバイスの少なくとも１つのプロセッサにより実行されたとき、当該少なくとも１つのプロセッサに項１乃至１４の何れか１項に記載の方法を実施させる命令を備えた、コンピュータ可読記憶媒体。
【０１３５】
１つまたは複数の例では、説明した機能を、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装してもよい。ソフトウェアで実装される場合、当該機能を、１つまたは複数の命令またはコードとして、コンピュータ可読媒体に格納するかまたは当該媒体で送信し、ハードウェアベースの処理ユニットにより実行してもよい。コンピュータ可読媒体はコンピュータ可読記憶媒体または媒体を含んでもよい。当該媒体は、データ記憶媒体のような有形媒体、またはコンピュータプログラムを或る場所から別の場所へ、例えば、通信プロトコルに従って転送するのを促進する任意の媒体を含む通信媒体に対応する。このように、コンピュータ可読媒体は一般に、（１）非一時的である有形コンピュータ可読記憶媒体、または、（２）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明した技術を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによりアクセスしうる任意の利用可能な媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでもよい。
【０１３６】
限定ではなく例として、かかるコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶、磁気ディスク記憶、または他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形で所望のプログラムコードを格納するために使用できコンピュータによりアクセスされうる他の任意の記憶媒体を含むことができる。pまた、任意の接続は正しくコンピュータ可読媒体と称される。例えば、命令がウェブサイト、サーバ、または他のリモートソースから同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のような無線技術を用いて送信される場合、前記同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のような無線技術は媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体および媒体およびデータ記憶媒体が接続、搬送波、信号、または他の透過的な媒体を含まず、非透過的な、有形記憶媒体に関することは理解されるべきである。ディスクは、本明細書で使用する際、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスクおよびBlu-ray（登録商標）ディスクを含む。ディスクは通常、データを磁気的に再生し、レーザで光学的にデータを再生する。上の組合せはコンピュータ可読媒体の範囲内に含まれるべきである。
【０１３７】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用目的マイクロプロセッサ、特殊用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ロジック・アレイ（ＦＰＧＡ）、または他の等価な集積回路または離散論理回路のような１つまたは複数のプロセッサにより実行されうる。したがって、本明細書で使用する際「プロセッサ」という用語は、以上の構造の何れかまたは本明細書で説明した技術を実装するのに適した他の任意の構造を指してもよい。さらに、幾つかの態様では、本明細書で説明する機能を、専用ハードウェアおよび／またはソフトウェアモジュール内で提供してもよい。また、当該技術を、１つまたは複数の回路または論理要素で完全に実装することができる。
【０１３８】
当該本開示の諸技術を、無線ハンドセット、集積回路（ＩＣ）または１組のＩＣ（例えば、チップセット）を含む、多種多様なデバイスまたは装置で実装してもよい。様々なコンポーネント、モジュール、またはユニットは、本開示では、開示された技術を実施するように構成されたデバイスの機能的態様を強調するように説明されているが、異なるハードウェアユニットによる実現を必ずしも必要とするものではない。むしろ、上述のように、様々なユニットは、ハードウェアユニットに結合するか、または、適切なソフトウェアおよび／またはファームウェアと関連して、上述の１つまたは複数のプロセッサを含む相互動作するハードウェアユニットの集合により提供されてもよい。
【０１３９】
様々な実施形態を説明した。これらのおよび他の実施形態は添付の特許請求の範囲内にある。
【符号の説明】
【０１４０】
１１０  コンピューティング・デバイス
１１２  存在検知ディスプレイ
１２０  ＵＩモジュール
１２２  キーボード・モジュール
２１０  コンピューティング・デバイス
２０２  ディスプレイ・コンポーネント
２０４  存在検知入力コンポーネント
２１２  存在検知ディスプレイ
２２０  ＵＩモジュール
２２２  キーボード・モジュール
２２４  アプリケーション・モジュール（複数可）
２２６  空間モデル・モジュール
２２８  言語モデル・モジュール
２３０  検索モジュール
２３２  アイコノグラフィック・シンボル・フレーズ・モデル
２４０  プロセッサ（複数可）
２４２  通信ユニット（複数可）
２４４  入力コンポーネント（複数可）
２４６  出力コンポーネント（複数可）
２４８  記憶デバイス
２５０  通信チャネル
２８２  検索モジュール
３０２  ディスプレイ・コンポーネント
３０４  存在検知入力コンポーネント
３１０  コンピューティング・デバイス
３１２  存在検知ディスプレイ
３４２  通信ユニット
３７４  外部ネットワーク
３７８  ダイレクトデバイス通信
【図１】
2018101413.tif 000003
【図２】
2018101413.tif 000004
【図３】
2018101413.tif 000005
【図４Ａ】
2018101413.tif 000006
【図４Ｂ】
2018101413.tif 000007
【図４Ｃ】
2018101413.tif 000008
【図４Ｄ】
2018101413.tif 000009
【図４Ｅ】
2018101413.tif 000010
【図５】
2018101413.tif 000011
【外国語明細書】
2018101413000001.pdf