(57)【要約】  選択または挿入の候補は、抽出された候補の特徴および基準の特徴に基づいている。候補の特徴はスコアをつけられ、ランク付けされ、一方で、候補が選択基準に基づいて考慮から外される。残りの候補が、選択および／または挿入のために示される。
2015528604.tif 000002
【特許請求の範囲】
【請求項１】
検索基準および結果情報に少なくとも部分的に基づいて、検索エンジンによって返された１つまたは複数の候補から１つまたは複数の基準を選択することであって、前記検索基準が、少なくともユーザ入力を含む、選択することと、
前記１つまたは複数の候補から抽出された１つまたは複数の候補の特徴と前記１つまたは複数の基準から抽出された１つまたは複数の基準の特徴との間の比較に少なくとも部分的に基づいて、前記１つまたは複数の候補に対応するスコアを割り振ることと、
前記スコアに少なくとも部分的に基づいて、前記候補のうちの１つまたは複数を選択することと、
ユーザによる選択のために前記１つまたは複数の候補のうちの選択された１つまたは複数を提供することとを行うように、１つまたは複数のプロセッサを構成するための、前記１つまたは複数のプロセッサによって実行可能である命令を記憶するコンピュータ可読記憶媒体。
【請求項２】
前記命令が、前記プロセッサに、
テキスト入力、ジェスチャー、動き、または音声入力のうちの１つまたは複数を含む前記ユーザ入力を受け取らせ、
前記ユーザ入力のコンテキストまたは前記ユーザ入力の内容のうちの１つまたは複数を分析させ、
前記ユーザ入力の前記コンテキストまたは前記ユーザ入力の前記内容のうちの前記１つまたは複数に少なくとも部分的に基づいて、前記１つまたは複数の候補を集めさせるためにさらに実行可能である、請求項１に記載のコンピュータ可読記憶媒体。
【請求項３】
前記ユーザ入力の前記コンテキストが、前の検索、前のユーザ入力、またはコンピュータプログラムのうちの１つまたは複数を含む、請求項２に記載のコンピュータ可読記憶媒体。
【請求項４】
前記検索エンジンによって集められた前記１つまたは複数の候補が、ランク付けされた順番で返される、請求項２に記載のコンピュータ可読記憶媒体。
【請求項５】
前記結果情報が、１組の最も上位にランク付けされた結果、１組の末尾にランク付けされた結果、または１組の重複する結果のうちの１つまたは複数に少なくとも部分的に基づく、請求項４に記載のコンピュータ可読記憶媒体。
【請求項６】
前記１つまたは複数の候補が、候補画像、候補動画、候補音声ファイル、またはテキスト化されたグラフィックのうちの１つまたは複数を含む、請求項１に記載のコンピュータ可読記憶媒体。
【請求項７】
前記基準の特徴が、前記１つまたは複数の基準の平均的特徴を含む、請求項１に記載のコンピュータ可読記憶媒体。
【請求項８】
前記スコアが、分類器に少なくとも部分的に基づいて割り振られる、請求項１に記載のコンピュータ可読記憶媒体。
【請求項９】
前記分類器が、特徴をスコア値にマッピングする学習されたモデルに少なくとも部分的に基づいてスコアを割り振る、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記分類器が、回帰モデルに少なくとも部分的に基づいてスコアを割り振る、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記スコアに少なくとも部分的に基づいて１つまたは複数の候補を選択することが、前記スコアを閾値のスコア値と比較することを含み、前記閾値のスコア値を超えるスコアを有する１つまたは複数の候補が、選択のために使用可能である、請求項１に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記スコアに少なくとも部分的に基づいて１つまたは複数の候補を選択することが、候補と別の候補との間の比較を含み、別の候補と重複しているかまたは前記別の候補の類似性の閾値以内である候補が、選択のために利用することができないようにされる、請求項１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記候補の前記別の候補との前記比較が、局所的特徴、大局的特徴、またはピクセルレベルの比較のうちの１つまたは複数に少なくとも部分的に基づく、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
１つまたは複数のプロセッサと、
１つまたは複数の基準画像から１つまたは複数の基準の特徴を抽出し、１つまたは複数の候補画像から１つまたは複数の候補の特徴を抽出するために前記１つまたは複数のプロセッサによって実行可能な抽出器であって、前記１つまたは複数の基準画像が、検索エンジンから返された前記１つまたは複数の候補画像から、検索結果に少なくとも部分的に基づいて選択される、抽出器と、
抽出された候補の特徴と抽出された基準の特徴との間の比較に少なくとも部分的に基づいて、１つまたは複数の候補画像にスコアを割り振るために前記１つまたは複数のプロセッサによって実行可能な分類器と、
選択のために前記１つまたは複数の候補画像を提供するために前記１つまたは複数のプロセッサによって実行可能な挿入マネージャとを含むシステム。
【請求項１５】
テキスト入力のコンテキスト、前記テキスト入力の内容、または前記テキスト入力の前記コンテキストと前記テキスト入力の前記内容との組み合わせを分析するために前記１つまたは複数のプロセッサによって実行可能な分析器と、
前記テキスト入力の前記コンテキストおよび前記テキスト入力の前記内容に少なくとも部分的に基づいて１つまたは複数の候補画像を集め、１組の最も上位にランク付けされた結果、１組の末尾にランク付けされた結果、または１組の重複する結果のうちの１つまたは複数に少なくとも部分的に基づいて前記１つまたは複数の候補画像から１つまたは複数の基準画像を選択するために前記１つまたは複数のプロセッサによって実行可能な候補マネージャとをさらに含む、請求項１４に記載のシステム。
【請求項１６】
閾値のスコア値と比較された候補のスコアに少なくとも部分的に基づいて、前記１つまたは複数の候補画像から第１の候補画像を削除するために前記１つまたは複数のプロセッサによって実行可能な削減器をさらに含む、請求項１４に記載のシステム。
【請求項１７】
候補の別な候補との重複性または候補の別の候補との類似性のうちの１つまたは複数に少なくとも部分的に基づいて、前記１つまたは複数の候補から第２の候補画像を削除するために前記１つまたは複数のプロセッサによって実行可能な重複削除器をさらに含む、請求項１４に記載のシステム。
【請求項１８】
インプットメソッドエディタのインターフェースを通じてユーザからテキスト入力を受け取る工程と、
コンピューティングデバイスによって、前記テキスト入力の内容および前記テキスト入力のコンテキストを分析する工程と、
前記テキスト入力の前記コンテキストおよび前記テキスト入力の前記内容に少なくとも部分的に基づいて、検索エンジンから１つまたは複数の候補画像を集める工程と、
前記検索エンジンからの結果に少なくとも部分的に基づいて、前記１つまたは複数の候補画像から１つまたは複数の基準画像を選択する工程と、
前記１つまたは複数の基準画像から、１つまたは複数の基準の特徴を抽出する工程と、
前記１つまたは複数の候補画像から、１つまたは複数の候補の特徴を抽出する工程と、
抽出された候補の特徴に少なくとも部分的に基づいて、１つまたは複数の候補画像にスコアを割り振る工程と、
前記スコアに少なくとも部分的に基づいて、１つまたは複数の候補画像をランク付けする工程と、
第１の候補画像のスコアが閾値のスコア未満であるときに、前記１つまたは複数の候補画像から前記第１の候補画像を削除する工程と、
第２の候補と別の候補との間の特徴の比較に少なくとも部分的に基づいて、前記１つまたは複数の候補から前記第２の候補画像を削除する工程と、
前記インプットメソッドエディタのインターフェースを通じて選択するために、前記ユーザに前記１つまたは複数の候補のうちの残りの候補画像のランク付けされたサブセットを提供する工程とを含む方法。
【請求項１９】
前記検索エンジンからの前記結果が、１組の最も上位にランク付けされた結果、１組の末尾にランク付けされた結果、または１組の重複する結果のうちの１つまたは複数を含む、請求項１８に記載の方法。
【請求項２０】
前記第２の候補と前記別の候補との間の特徴の前記比較が、局所的特徴、大局的特徴、またはピクセルレベルの比較のうちの１つまたは複数に少なくとも部分的に基づく、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示は、一般に、インプットメソッドエディタ（IME）に関し、より詳細には、複数の動作モードを有するＩＭＥに関する。
【背景技術】
【０００２】
[0002]  インプットメソッドエディタ（IME）は、ユーザがコンピューティングデバイスのホストアプリケーションにテキストを入力するのを補助するコンピュータの機能である。ＩＭＥは、ユーザからの受け取られた入力に基づくいくつかの提案される語および句を、ホストアプリケーションに挿入するための候補として提供することができる。例えば、ユーザは、語または句の初めの１つまたは複数の文字を入力する可能性があり、ＩＭＥは、それらの初めの文字に基づいて、ユーザが所望の１つを選択するために、１つまたは複数の提案される語または句を提供することが可能である。
【０００３】
[0003]  別の例として、ＩＭＥは、ユーザが中国語などの非ラテン文字を入力するのを補助することもできる。ユーザが、キーボードを通じてラテン文字を入力し、ＩＭＥが、ラテン文字に基づいて、１つまたは複数の漢字を、ホストアプリケーションに挿入するための候補として返す。そして、ユーザは、適切な文字を選択し、その文字をホストアプリケーションに挿入する。多くの典型的なキーボードはラテン文字の入力をサポートするので、ＩＭＥは、ユーザがラテン文字キーボードを用いて非ラテン文字を入力するために有用である。
【０００４】
[0004]  ユーザによって選択された候補は、チャットアプリケーション、文書編集アプリケーション、電子メールアプリケーション、描画アプリケーション、ゲームアプリケーションなどのさまざまなホストアプリケーションに挿入され得る。
【発明の概要】
【０００５】
[0005]  この「課題を解決するための手段」は、「発明を実施するための形態」において以下でさらに説明される概念の選択を簡潔な形態で導入するために提供される。この「課題を解決するための手段」は、特許請求の対象の重要な特徴または必須の特徴を特定するように意図されておらず、特許請求の対象の範囲を限定するために使用されるように意図されてもいない。用語「技術」は、例えば、上の文脈によって認められるように、本開示の全体を通じて、デバイス、システム、方法、および／またはコンピュータ可読命令を指す可能性がある。
【０００６】
[0006]  本開示は、インプットメソッドエディタ（IME）を通じたユーザによる選択および／または挿入のための代替的な候補を提供するための技術を説明する。さまざまな実施形態において、ＩＭＥは、コンピューティングデバイスによって実行可能である。ＩＭＥは、ホストアプリケーションに挿入するためにユーザに対して候補を示し得る。ＩＭＥは、ユーザによる入力および入力のコンテキスト（context）に応じて異なる種類の候補を示し得る。ＩＭＥは、テキストの候補と、入力の形式とは異なる形式の代替的な候補との両方を提供し得る。
【０００７】
[0007]  「発明を実施するための形態」は、添付の図を参照して説明される。図においては、参照番号の最も左の桁が、参照番号が最初に現れる図を特定する。異なる図における同じ参照番号の使用は、同様のまたは同一のものを示す。
【図面の簡単な説明】
【０００８】
【図１】[0008]少なくとも１つの実施形態によるＩＭＥの例示的な構成のブロック図である。
【図２】[0009]少なくとも１つの実施形態によるＩＭＥを利用するホストアプリケーションの例の絵を使った図である。
【図３】[0010]ＩＭＥを実装するための例示的な代表的コンピューティングデバイスおよび環境を示す図である。
【図４】[0011]少なくとも１つの実施形態によるＩＭＥによって実行される例示的なプロセスの流れ図である。
【発明を実施するための形態】
【０００９】
概要
[0012]  本開示は、ホストアプリケーションに挿入するためにユーザによって選択され得る候補を表示するインプットメソッドエディタ（IME）をユーザに関連付けるための技術を説明する。ユーザに対して表示される複数の候補は、ＩＭＥのユーザが選択可能なモードに少なくとも部分的に基づくようにすることができる。このような候補には、非ラテン文字または漢字などのテキストの候補と、ユーザに補足的な情報を提供するとともにユーザエクスペリエンスを高めるために、マルチメディアの候補などのリッチな（rich）候補とを含むようにすることができる。追加的にまたは代替的に、候補は、ホストアプリケーション、以前のユーザ入力、直前のユーザ入力、これらの組み合わせ、およびその他のコンテキスト情報を含み得るが、これらに限定されないユーザ入力のコンテキストに少なくとも部分的に基づくようにできる。追加的にまたは代替的に、複数の候補は、ユーザの選択によって、入力されたテキストを置き換えるかまたは補う可能性がある。
【００１０】
[0013]  さまざまな実施形態において、ユーザ入力は、ＩＭＥのコンポジションウィンドウ（composition window）にユーザによって入力されたテキストの文字またはシンボルのうちの１つまたは複数である。ユーザ入力は、１つまたは複数の表現、検索クエリ、これらの部分的なもの、または、これらの組み合わせを表すこともある。例えば、ユーザ入力は、１つまたは複数の語または句の一連の初めの文字、略語、スペル、および／または翻訳である可能性がある。ユーザ入力と、語または句などのユーザ入力によって表される表現とは、同じであるかまたは異なる言語である可能性がある。ユーザは、キーボード入力、音声入力、タッチスクリーン入力、ジェスチャー、動き、またはこれらの組み合わせなどのさまざまな入力方法を通じてユーザ入力を入力する可能性がある。
【００１１】
[0014]  さまざまな実施形態において、複数の候補は、ユーザ入力から代替的な形態で与えられる。例えば、ユーザがテキストを入力する場合、代替的な候補が、画像、動画、音声ファイル、ウェブリンク、ウェブページ、地図、その他のマルチメディアファイル、またはこれらの組み合わせの形態で与えられる可能性がある。
【００１２】
[0015]  さまざまな実施形態において、複数の候補は、ユーザ入力および／またはユーザ入力のコンテキストとの関連性にしたがってランク付けされる。
例示的なシステムモデル
【００１３】
[0016]  図１は、ＩＭＥの例示的なシステムモデルを示す。例えば、ＩＭＥ１００は、候補マネージャ１０２および挿入マネージャ１０４を含み得る。候補マネージャ１０２は、ユーザ入力、ユーザ入力のコンテキスト、またはこれらの組み合わせを分析する分析器（アナライザ）１０６を含む。例えば、分析器１０６は、テキストの形態のユーザ入力を分析して、入力が何を表すかを推測することができる。分析器１０６は、ユーザ入力のコンテキストを決定することもできる。例えば、ユーザ入力のコンテキストは、ＩＭＥがサポートしているホストプログラム、同じＩＭＥセッションにおいてユーザによって行われた過去のおよび／もしくは別の入力、現在の入力の直前の、ホストプログラムにおいて参加者（participant）によって行われた入力、ユーザの位置、その他の要因、またはこれらの組み合わせを含むが、これらに限定されない。
【００１４】
[0017]  さまざまな実施形態において、位置情報、会話、または検索の内容などの個人情報が記憶されるかまたは送信される場合、ユーザが、収集、記憶、および／もしくは送信を許可すると判断するための機会、ならびに／またはそれらの収集、記憶、および／もしくは送信を中止するための機会を有するようにできる。さまざまな実施形態において、個人情報が記憶されるかまたは送信される場合、適切なセキュリティ対策および特徴が、個人データを守るために適所に置かれる。追加的にまたは代替的に、コンテキストは、トリガワード（triggering word）またはトリガフレーズ（triggering phrase）を含む可能性がある。例えば、ユーザは、代替的な候補が探索されることを示す入力の直前に句「ｐｈｏｔｏ  ｏｆ」（〜の写真）を入力する可能性がある。この例において、句「ｐｈｏｔｏ  ｏｆ」は、ユーザが後に続く入力の画像または写真を見ることに関心があるというコンテキストを与える可能性がある。その他の例示的なトリガワードまたはトリガフレーズは、「ｉｍａｇｅ」、「ｖｉｄｅｏ」、「ｓｏｕｎｄ」、「ｈｅａｒ」、「ｎｅａｒｂｙ」、「ｐｉｃｔｕｒｅ」、「ｌｅｔ  ｍｅ  ｓｅｅ」、「ｈａｖｅ  ａ  ｌｏｏｋ  ａｔ」、「ｄｉｄ  ｙｏｕ  ｓｅｅ」などを含む可能性があるがこれらに限定されない。トリガワードまたはトリガフレーズは、文化および／または言語に固有であることが理解される。
【００１５】
[0018]  さまざまな実施形態においては、ユーザ入力の内容とコンテキストとの両方が、候補の選択を知らせるために使用される。あり得る実施形態においては、ユーザ入力のコンテキストおよび内容が、複数の候補を集めるための検索を編成するために使用される。一例においては、ユーザが、テキスト「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」（紫禁城）とチャットプログラムに入力する一方、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」と入力する数行または数エントリ前に、ユーザまたは第三者が、語「ｍｏａｔ」（堀）を既に入力している。この例においては、入力の内容が、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」である可能性があり、入力のコンテキストが、チャットプログラムおよびテキスト入力「ｍｏａｔ」である可能性がある。
【００１６】
[0019]  この例において、候補マネージャ１０２は、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」における、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」の近くの、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」に属する、または「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」内の「ｍｏａｔ」を見つけるために、画像、動画、音声ファイル、グラフィックス、その他、またはこれらの組み合わせの検索を実行させるようにし得る。この例は、ユーザ入力のコンテキストを考慮に入れない検索とは異なるものとして考えることができる。
【００１７】
[0020]  さまざまな実施形態において、候補マネージャ１０２によって引き起こされる検索は、検索エンジン、例えば、さまざまな形態の媒体を検索することができる検索エンジンコンピューティングデバイス上の商用の検索エンジンによって容易に実行され得る。例えば、検索エンジンコンピューティングデバイスは、複数の候補を集めるためにＢｉｎｇ（登録商標）、Ｇｏｏｇｌｅ（登録商標）、Ｙａｈｏｏ（登録商標）、Ａｌｉｂａｂａ（登録商標）などの検索エンジンを選択する可能性がある。候補は、例えば、ウェブ検索の結果、動画検索の結果、画像検索の結果、音声ファイル検索の結果、または辞書および百科事典検索の結果を含み得る。
【００１８】
[0021]  さまざまな実施形態において、候補マネージャ１０２によって引き起こされる検索は、ユーザ入力の内容および／またはユーザ入力のコンテキストに少なくとも部分的に基づくようにすることができる。
【００１９】
[0022]  さまざまな実施形態において、候補マネージャ１０２によって引き起こされる検索は、任意の周りのテキスト、候補に関連するメタデータ、またはこれらの組み合わせとともに複数の候補を返すようにできる。
【００２０】
[0023]  さまざまな実施形態において、候補マネージャ１０２によって引き起こされる検索は、ランク付けされた形式の結果情報とともに複数の候補を返す可能性がある。例えば、結果情報は、ランク付けされた形式を含む可能性があり、最も上位の結果のセット（組）、末尾のもしくは最も下位の結果のセット、および／または重複する候補を提供する可能性がある。
【００２１】
[0024]  さまざまな実施形態において、候補マネージャ１０２は、複数の候補から１つまたは複数の基準（reference；リファレンス）を選択する。例えば、いくつかの基準画像が、検索エンジンによって返されたすべての候補画像の組から選択されるようにしてもよい。基準画像は、返された重複するまたは似た画像のランクおよび数に少なくとも部分的に基づいて選択されるようにできる。例えば、Ｎが０以上の整数であるものとして、検索で返された上位Ｎ個の候補画像が、あり得る基準画像であると捉えることができる。追加的にまたは代替的に、Ｍが０以上の整数であるものとして、検索で返された下位Ｍ個の候補画像または末尾の候補画像が、基準画像として避けるべき可能性のある画像であると考えることができる。追加的にまたは代替的に、重複するまたは似た画像の数が、あり得る基準画像として考慮される可能性がある。例えば、第１の候補画像が第２の候補画像よりも多くの重複するまたは似た画像を有する場合、第１の候補画像は、第２の候補画像よりも優れた基準画像と考えることができる。追加的にまたは代替的に、重複するまたは似た画像の数は、候補画像の人気、流行、または同様の性質を示すことがある。
【００２２】
[0025]  追加的にまたは代替的に、候補マネージャ１０２は、抽出器（エクストラクタ）１０８を含むようにすることができる。さまざまな実施形態において、抽出器１０８は、基準の特徴を抽出し得る。例えば、抽出器１０８は、基準画像として選択された候補画像から特徴を抽出する。さまざまな実施形態において、基準画像から抽出される特徴は、平均的特徴を含むようにすることができる。
【００２３】
[0026]  追加的にまたは代替的に、抽出器１０８は、基準画像として選択されなかった候補画像から特徴を抽出することができる。さまざまな実施形態においては、候補画像から抽出された特徴が、基準画像から抽出された特徴と比較される。例えば、候補画像から抽出された特徴と基準画像から抽出された特徴との間のコサイン距離（cosine distance）が、計算される。追加的にまたは代替的に、候補画像のメタデータまたは周りのテキストに含まれる情報が、基準画像のメタデータまたは周りのテキストに含まれる情報と比較される。例えば、コサインの差（cosine difference）が、これら２つの間で計算される。
【００２４】
[0027]  さまざまな実施形態において、それぞれの抽出された特徴、および基準との比較は、候補の次元（dimension；ディメンション）を含むようにできる。候補の各次元が、その候補のスコア、ランク、ユーザに示す適性、またはこれらの組み合わせを決定するために使用され得る。さまざまな実施形態において、組み立てられる次元の数は、大きい可能性がある。追加的にまたは代替的に、第１の次元の値または重みは、第２の次元と比較して、このモジュールにおいて、または関連するプロセスもしくは方法の類似の段階で評価または決定されるとは限らない。
【００２５】
[0028]  追加的にまたは代替的に、候補マネージャ１０２は、分類器（クラシファイア）１１０を含む可能性がある。さまざまな実施形態において、分類器１１０は、各候補を分類し得る。例えば、分類器１１０は、候補画像に関連する次元を用いて、その候補画像にスコアを割り振る。さまざまな実施形態において、分類器は、手動でプログラムされるか、モデルがその後の検索もしくは追加によって拡張される場合に特徴とスコアとの間の初期相関を植え付け（seed）られる、論理エンジンによって生成されるか、またはこれらを組み合わせて行われる可能性がある。追加的にまたは代替的に、分類器は、発展させられるか、更新されるか、維持されるか、オフラインであるか、オンラインであるか、またはこれらの組み合わせである可能性がある。追加的にまたは代替的に、回帰モデルが、ある次元に反映された画像の関連する特徴をスコアにマッピングするために使用され得る。さまざまな実施形態において、スコアは、候補のスコアを生成するために各候補画像に関して集計される可能性がある。
【００２６】
[0029]  追加的にまたは代替的に、候補マネージャ１０２は、ランク付け器（ランカ）１１２を含むようにすることができる。さまざまな実施形態において、ランク付け器１１２は、各候補をランク付けし得る。例えば、ランク付け器１１２は、候補のスコアに少なくとも部分的に基づいて、各候補画像をランク付ける。
【００２７】
[0030]  追加的にまたは代替的に、候補マネージャ１０２は、選択プロセスを含み、この選択プロセスにおいては、候補が、選択されるか、選択のために利用することができるようにされるか、選択のために利用することができないようにされるか、考慮から外されるか、またはこれらの組み合わせのうちの１つまたは複数を行われる。例えば、候補マネージャ１０２は、削減器（リデューサ）１１４を含む可能性がある。さまざまな実施形態において、削減器１１４は、考慮される候補の数を減らすことができる。例えば、削減器１１４は、候補のスコアに少なくとも部分的に基づいて、各候補画像を考慮から外す。さまざまな実施形態においては、閾値未満の候補のスコアを有する候補が、考慮から外される。
【００２８】
[0031]  追加的にまたは代替的に、候補マネージャ１０２は、重複削除器（デュプリケイト・リムーバ）１１６を含むことができる。さまざまな実施形態において、重複削除器１１６は、選択プロセスの一部として含まれる。さまざまな実施形態において、重複削除器１１６は、考慮される候補の数を減らす。例えば、重複削除器１１６は、複数の候補画像から重複する画像を削除する。追加的にまたは代替的に、重複削除器１１６は、完全な重複と、互いに似ている候補画像とを削除する。例えば、第１の候補画像と第２の候補画像との間の差が閾値の差未満であるかまたは類似性の閾値以内である場合、第１のおよび第２の候補画像は、十分に似ているかまたは互いに重複していると考えることができる。この例において、重複削除器１１６は、第１の候補画像もしくは第２の候補画像のどちらかを考慮から外し、および／またはその候補を選択のために利用することができないようにすることができる。
【００２９】
[0032]  例えば、上で検討されたように、さまざまな実施形態において、ユーザ入力の内容およびユーザ入力のコンテキストが、示されるべき候補を知らせ、決定するために使用される。さまざまな実施形態において、ユーザ入力のコンテキストおよび内容が、複数の候補を集めるための検索を編成し、特徴を抽出し、候補を分類し、および／または候補をランク付けするために使用される。例えば、ユーザは、テキスト「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」をチャットプログラムに入力する。しかし、テキスト「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」を入力する数行または数エントリ前に、ユーザおよび第三者が、語「ｍｏａｔ」を入力する。この例においては、入力の内容が、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」である可能性があり、入力のコンテキストが、チャットプログラムおよびテキスト入力「ｍｏａｔ」である可能性がある。
【００３０】
[0033]  この例において、候補マネージャ１０２は、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」における、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」の近くの、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」に属する、または「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」内の「ｍｏａｔ」を見つけるために、画像、動画、音声ファイル、グラフィックス、その他、またはこれらの組み合わせの検索を引き起こす。この例は、ユーザ入力のコンテキストを考慮に入れず、単に「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」を検索するだけの検索とは異なる。この例において、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」の検索は、紫禁城（the Forbidden City）の堀（moat）を含む紫禁城の画像を返す可能性があり、または返さない可能性がある。追加的にまたは代替的に、抽出器１０８は、特徴を抽出し、語「ｍｏａｔ」に関連する次元を生成する可能性がある。追加的にまたは代替的に、分類器１１０は、堀の特徴に関連する次元を持たない画像よりも、堀の特徴に関連する次元を含む画像により高いスコアをマッピングする可能性がある。追加的にまたは代替的に、ランク付け器１１２は、堀のない候補画像よりも堀を含む候補画像をより高くランク付けする可能性がある。この例においては、「ｆｏｒｂｉｄｄｅｎ  ｃｉｔｙ」に関連する入力のコンテキストを考慮に入れることによって、例えば、ユーザが紫禁城自体の画像ではなく紫禁城の堀の画像を望んでいる場合に、既に使用された語「ｍｏａｔ」が、より望ましい候補画像の組をもたらす可能性がある。
【００３１】
[0034]  追加的にまたは代替的に、ＩＭＥ１００は、挿入マネージャ１０４を含むようにできる。さまざまな実施形態において、挿入マネージャ１０４は、挿入するためにユーザに候補を提供し得る挿入器（インサータ）１１８を含む。例えば、挿入器１１８は、ユーザ入力、ユーザ入力のコンテキスト、残りの候補、またはこれらの組み合わせに少なくとも部分的に基づいて、複数の候補画像のサブセットがユーザに対して表示されるようにする。例えば、ユーザがチャットプログラムにテキストを入力している場合、挿入器１１８は、チャットプログラムをＩＭＥのホストプログラムとして特定し、一度に適切な数の候補画像を表示する。追加的にまたは代替的に、挿入器１１８は、利用可能な候補画像のすべてを同時に示す。
【００３２】
[0035]  図２は、少なくとも１つの実施形態によるＩＭＥを利用するホストアプリケーションの例の絵を使った図を示す。例えば、図２は、さまざまな実施形態によるＩＭＥを利用するホストアプリケーション２０２の例２００を示す。ホストアプリケーション２０２は、本明細書においてはチャットアプリケーションとして示される。ホストアプリケーション２０２は、文書編集アプリケーション、お絵かきアプリケーション、電子メールアプリケーション、またはさまざまなその他のアプリケーションである可能性もある。
【００３３】
[0036]  示された例において、ホストアプリケーション２０２は、全体的に符号２０４によって示されるテキスト挿入領域を含む。テキスト挿入領域２０４は、ユーザによってホストアプリケーションに直接、またはＩＭＥ２０６を介して挿入された文字を含む。テキスト挿入領域２０４は、例えば、挿入マネージャ１０４によってホストアプリケーション２０２に候補が挿入されるべき場所の指示を表す「｜」によって表される入力指示も含む。入力指示は、例えば、マウスのフォーカスである可能性がある。入力指示は、コンピューティングデバイスで実行される多くのホストアプリケーションの中でコンピューティングデバイスのどのホストアプリケーション２０２がＩＭＥ２０６によって挿入される候補を受け取るべきであるかも示す。１つの特定の例においては、複数のホストアプリケーションが、ＩＭＥ２０６の特徴を同時に利用する可能性があり、ユーザが、ホストアプリケーションの間で入力指示を移動させることによって、候補を受け取るためのホストアプリケーションのうちの１つまたは複数を切り替えることができる。
【００３４】
[0037]  示された例において、ＩＭＥ２０６は、ピンインを用いてホストアプリケーション２０２に漢字を挿入するように動作している。
【００３５】
[0038]  ＩＭＥ２０６は、ユーザ入力を受け取るためのコンポジションウィンドウ２１０、ユーザに対してテキスト候補を示すためのテキスト候補ウィンドウ２１２、およびユーザに対して代替的な形態の候補を示すための代替候補ウィンドウ２１４を含むユーザインターフェース２０８として示される。候補ウィンドウ２１２が、テキスト候補ウィンドウ２１２に現在示されていない更なるテキスト候補を受け取るためにユーザがインタラクションすることができる前および次候補矢印２１６を含むことが示されている。代替候補ウィンドウ２１４も、代替候補ウィンドウ２１４に現在示されていないさらなる代替的な候補を受け取るためにユーザがインタラクションすることができる前および次候補矢印２１８を含むことが示されている。
【００３６】
[0039]  さまざまな代替候補モードが示されているが、その他の代替候補モードが、本開示の範囲を逸脱することなく使用され得る。例えば、ＩＭＥ２０６は音声モードを含む可能性があり、音声モードにおいては、例えば、代替的な候補が、動画専門家グループ（MPEG: Moving Picture Experts Group）ＭＰＥＧ−１またはＭＰＥＧ−２オーディオレイヤＩＩＩ（mp3）ファイルなどの音声ファイルを含む可能性がある。追加的にまたは代替的に、ＩＭＥ２０６は動画モードを含む可能性があり、動画モードにおいては、例えば、代替的な候補が、動画を含む可能性がある。追加的にまたは代替的に、ＩＭＥ２０６はグラフィカルテキストを含む可能性があり、例えば、代替的な候補が、グラフィカルテキストを含む可能性がある。グラフィカルテキストの例は、テキストを含むグラフィックスファイル（例えば、画像ファイル）を含む可能性があるがこれに限定されない。追加的にまたは代替的に、ＩＭＥ２０６は動きの付いたグラフィカルな画像（animated graphical image）を含む可能性があり、例えば、代替的な候補が、動きの付いたグラフィカルな画像を含む可能性がある。前および次候補矢印２１６とインタラクションすることによって、ユーザは、リッチ候補モードメニューでこれらの更なるリッチ候補モードにアクセスし得る。追加的にまたは代替的に、ＩＭＥ２０６は、ユーザ入力のコンテキストを考慮に入れ、ある種類を別の種類より先に表示するか、または２つのもしくはすべてのあり得る種類の組み合わせを表示する。
【００３７】
[0040]  示された例において、ユーザは、テキスト「ｈａ’ｈａ」を入力した。ユーザがこのコンテキストでテキストを入力した結果として、ＩＭＥ２０６は、代替候補モードになる。代替候補モードである間、テキスト候補ウィンドウ２１２は、テキスト「ｈａ’ｈａ」をピンインから漢字に変換し続ける。一方、代替候補ウィンドウ２１４は、テキスト「ｈａ’ｈａ」の画像検索の結果をユーザに示す。示されるように、代替候補ウィンドウ２１４は、笑っているさまざまな漫画の動物の画像を含むオプション２〜５を示す。
【００３８】
[0041]  さまざまな実施形態において、ユーザは、「１」を入力することによって、テキスト候補ウィンドウ２１２に示された漢字をホストアプリケーション２０２のテキスト挿入領域２０４に挿入すること、または「２」、「３」、「４」、もしくは「５」を入力することによって、代替候補ウィンドウ２１４に示された画像を挿入することのいずれかをＩＭＥ２０６に行わせることができる。その他のユーザ選択オプションが、本開示の範囲を逸脱することなく使用され得る。
【００３９】
例示的なコンピューティングデバイスおよび例示的な動作環境
[0042]  図３は、さまざまな実施形態による、本明細書において説明されるシステムおよび方法を実装するために使用され得るが、必ず使用されるとは限らない可能性がある代表的なコンピューティングデバイス３００を示す。本明細書において説明される技術およびメカニズムは、コンピューティングデバイス３００の複数の事例と、任意のその他のコンピューティングデバイス、システム、および／または環境とによって実装され得る。図３に示されたコンピューティングデバイス３００は、コンピューティングデバイスの一例であるに過ぎず、上述のプロセスおよび／または手順を実行するために利用される任意のコンピューティングデバイスの使用または機能の範囲についていかなる限定を示唆するようにも意図されていない。
【００４０】
[0043]  少なくとも１つの構成において、コンピューティングデバイス３００は、少なくとも１つのプロセッサ３０２およびシステムメモリ３０４を含む。プロセッサ３０２は、コンピューティングデバイス３００にさまざまな機能を実行させるための１つまたは複数のモジュールおよび／またはプロセスを実行し得る。一部の実施形態において、プロセッサ３０２は、中央演算処理装置（CPU）、グラフィックス処理ユニット（GPU）、ＣＰＵとＧＰＵとの両方、または当技術分野で知られているその他の処理ユニットもしくはコンポーネントを含み得る。加えて、プロセッサ３０２のそれぞれは、プログラムモジュール、プログラムデータ、および／または１つもしくは複数のオペレーティングシステムをやはり記憶し得る独自のローカルメモリを所有する。
【００４１】
[0044]  コンピューティングデバイス３００の厳密な構成および種類に応じて、システムメモリ３０４は、揮発性である（RAMなど）か、不揮発性である（ROM、フラッシュメモリ、小型ハードドライブ、メモリカードなど）か、またはこれらの何らかの組み合わせである可能性がある。システムメモリ３０４は、オペレーティングシステム３０６、１つまたは複数のプログラムモジュール３０８を含み、プログラムデータ３１０を含む。オペレーティングシステム３０６は、（プロパティおよびイベントを含む）コンポーネント、オブジェクト、継承、ポリモーフィズム、リフレクションをサポートし、オブジェクト指向のコンポーネントに基づくアプリケーションプログラミングインターフェース（API）を提供するコンポーネントに基づくフレームワーク３３４を含む。コンピューティングデバイス３００は、破線３１２によって区切られた非常に基本的な例示的構成で構成される。さらに、端末は、より少ないコンポーネントを有する可能性があるが、そのような基本的な構成を持ち得るコンピューティングデバイスとインタラクションすることができる。
【００４２】
[0045]  プログラムモジュール３０８は、ＩＭＥ３３４、アプリケーション３３６、および／またはその他のコンポーネント３３８を含み得るがこれらに限定されない。さまざまな実施形態において、ＩＭＥ３３４は、ユーザインターフェース（UI）３４０、候補マネージャ１０２、および／または挿入マネージャ１０４を含むようにできる。さまざまな実施形態において、候補マネージャ１０２は、分析器１０６、抽出器１０８、および／または分類器１１０を含む。
【００４３】
[0046]  コンピューティングデバイス３００は、追加的な特徴および／または機能を有する可能性がある。例えば、コンピューティングデバイス３００は、例えば、磁気ディスク、光ディスク、またはテープなどの（取り外し可能なおよび／または取り外し不可能な）追加的なデータストレージデバイスも含む可能性がある。そのような追加的なストレージが、取り外し可能なストレージ３１４および取り外し不可能なストレージ３１６によって図３に示される。
【００４４】
[0047]  ストレージデバイスおよび任意の関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータを記憶し得る。コンピュータ可読媒体は、少なくとも２種類のコンピュータ可読媒体、すなわち、コンピュータストレージ媒体（記憶媒体）および通信媒体を含む。
【００４５】
[0048]  コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性および不揮発性の取り外し可能なおよび取り外し不可能な媒体を含む。
【００４６】
[0049]  コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（DVD）、もしくはその他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、またはコンピューティングデバイスによるアクセスのための情報を記憶するために使用され得る任意のその他の非送信媒体を含むが、これらに限定されない。
【００４７】
[0050]  対照的に、通信媒体は、搬送波などの変調されたデータ信号またはその他の送信メカニズムでコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを具現化し得る。本明細書において定義されたように、コンピュータストレージ媒体（記憶媒体）という用語には、通信媒体を含まない。
【００４８】
[0051]  さらに、コンピュータ可読媒体は、プロセッサ３０２によって実行されたときに、本明細書に記載のさまざまな機能および／または動作を実行するコンピュータが実行可能な命令を含み得る。
【００４９】
[0052]  コンピューティングデバイス３００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス３１８も有する可能性がある。ディスプレイ、スピーカ、プリンタなどの出力デバイス３２０も、含まれる可能性がある。
【００５０】
[0053]  コンピューティングデバイス３００は、ネットワークを介するなどして当該デバイスがその他のコンピューティングデバイス３２４と通信することを可能にする通信接続３２２も含む可能性がある。限定ではなく例として、通信媒体および通信接続は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、無線周波数（RF）、赤外線、およびその他の無線媒体などの無線媒体を含む。通信接続３２２は、通信媒体の一部の例である。概して、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールなどによって具現化され得る。
【００５１】
[0054]  さらに、図３は、例示的なシステムが動作し得る例示的な動作環境の概略図を示す。例えば、システムのさまざまな実施形態が、コンピューティングデバイス３００上で動作する可能性がある。コンピューティングデバイス３００は、ユーザデバイス３２６と直接的または間接的にインタラクションし得る。コンピューティングデバイスは、ネットワーク３２８に接続され得る。ネットワークデバイス３２８は、サーバ３３０、モバイルデバイス３３２、ならびに／またはその他の接続および／もしくはリソースを含むその他のコンピューティングデバイス３２４へのアクセスを提供し得る。接続は、有線または無線である可能性がある。
【００５２】
[0055]  示されたコンピューティングデバイス３００は、好適なデバイスの一例であるに過ぎず、説明されるさまざまな実施形態の使用または機能の範囲についていかなる限定を示唆するようにも意図されていない。実施形態で使用するのに好適である可能性があるその他のよく知られているコンピューティングデバイス、システム、環境、および／または構成は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、ゲームコンソール、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境、フィールドプログラマブルゲートアレイ（「FPGA」）および特定用途向け集積回路（「ASIC」）を用いた実装などを含むがこれらに限定されない。
【００５３】
[0056]  単一のコンピューティングデバイスでの共有リソースコンピューティング環境の実装および管理は、ネットワークインターフェースカード、ハブ、ルータ、サーバ、ブリッジ、スイッチ、およびインターネットを介した通信に通常関連するその他のコンポーネントなどであるがこれらに限定されないネットワーキングハードウェアに依存せず、インターネットを介した通信のためのソフトウェアアプリケーションおよびプロトコルにも依存せずに、複数のコンピュータのユーザが同じコンピューティングタスクを同時に共同で行うかまたは同じコンピューティング体験を共有することを可能にし得る。
【００５４】
[0057]  追加的にまたは代替的に、ＩＭＥ３３４を実装するコンピューティングデバイス３００は、例えば、ネットワーク３２８を介して１つまたは複数の検索エンジンコンピューティングデバイス３４２と通信する。
【００５５】
[0058]  通信接続３２２は、ネットワーク３２８などのネットワークを介して１つまたは複数の検索エンジンコンピューティングデバイス３４２にデータを伝達し、１つまたは複数の検索エンジンコンピューティングデバイス３４２からデータを伝達するためにプロセッサ３０２によってアクセスされ得る。検索エンジンコンピューティングデバイス３４２は、１つまたは複数の検索エンジン３４４を用いて検索を実行するように構成され得る。検索エンジン３４４は、Ｂｉｎｇ（登録商標）、Ｇｏｏｇｌｅ（登録商標）、もしくはＹａｈｏｏ（登録商標）などの汎用的な検索エンジン、検索エンジンの組み合わせ、または（翻訳エンジンなどの）ＩＭＥ３３４と連携して動作するように構成されたカスタム検索エンジンである可能性がある。検索エンジン３４４は、Ｂｉｎｇ（登録商標）、Ｍａｐｓ、またはＧｏｏｇｌｅ（登録商標）画像検索などの特別な形態の検索エンジンである可能性もある。
【００５６】
[0059]  ＩＭＥ３３４は、汎用または専用コンピュータシステムの環境または構成で使用され得ることを理解されたい。例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはポータブルデバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットアップボックス、プログラム可能なカスタマー電子デバイス、ネットワークＰＣ、および任意の上記のシステムまたはデバイスを含む分散コンピューティング環境を含む。
【００５７】
例示的なプロセス
[0060]  理解を容易にするために、本開示で検討されるプロセスは、独立したブロックとして表される別々の動作として示される。しかし、これらの別々に示された動作は、これらの動作を実行する際に必ずしも順番に依存すると考えられるべきでない。プロセスが説明される順番は、限定と考えられるように意図されておらず、任意の数の説明されるプロセスのブロックが、当該プロセスまたは代替的なプロセスを実施するために任意の順番で組み合わされ得る。さらに、与えられる動作のうちの１つまたは複数が修正または省略され得る可能性もある。
【００５８】
[0061]  プロセスは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実装され得る一連の動作を表す論理的な流れ図においてブロックの集合として示される。検討を進めるために、プロセスは、図１〜３に示されたシステムを参照して説明される。しかし、プロセスは、異なるアーキテクチャおよびデバイスを用いて実行される可能性がある。
【００５９】
[0062]  図４は、入力に少なくとも部分的に基づいて１つまたは複数の候補を提供する例示的なプロセス４００の流れ図である。４０２において、入力が、ＩＭＥによって受け取られる。この入力は、ユーザからのものであり得て、テキスト、グラフィックス、ジェスチャー、声、音、動き、またはこれらの組み合わせを含み、キーボード、マイクロホンもしくは音声入力メカニズム、マウス、タッチスクリーン、および／またはこれらの組み合わせから受け取られる可能性がある。追加的にまたは代替的に、入力は、入力のコンテキストとともに受け取られる可能性がある。コンテキストは、ＩＭＥがサポートしているホストアプリケーションを含み得る。追加的にまたは代替的に、コンテキストは、入力と別に、入力の直前に、またはこれらの組み合わせでユーザによって入力された語または句を含む可能性がある。
【００６０】
[0063]  ４０４において、ＩＭＥが、入力の内容および入力のコンテキストを分析する。内容およびコンテキストは、一緒にまたは別々に、代替的な候補が提供されるべきであるか否かを判定するために、ＩＭＥによって使用され得る。例えば、入力がトリガフレーズの直前である場合、そのコンテキストが、ユーザがある代替的な候補に関心がある見込みを高め、複数の代替的な候補が提供されるようになる。
【００６１】
[0064]  ４０６において、ＩＭＥは、１つまたは複数の候補を集める。例えば、受け取られた入力が、クエリに編成され、検索エンジンに送信される。追加的にまたは代替的に、コンテキストの態様が、例えば、さらなるクエリの語を追加するかまたは関連するクエリの語を除外することによって、クエリに影響を与える可能性がある。さまざまな実施形態において、クエリは、ランク付けされた結果のフォームで結果を返す。ランク付けされた結果は、いくつかの上位にランク付けされた結果、いくつかの下位または末尾にランク付けされた結果、ならびにさまざまな重複するおよび／または同様の結果を含み得る。追加的にまたは代替的に、結果は、各候補に関連する任意のメタデータも含み得る。追加的にまたは代替的に、結果は、候補の周りのテキストも含む可能性がある。
【００６２】
[0065]  ４０８において、ＩＭＥが、１つまたは複数の候補から１つまたは複数の基準を選択する。ＩＭＥは、クエリで返された候補のランクおよび重複するまたは同様の候補の数に少なくとも部分的に基づいて、基準を選択するようにできる。
【００６３】
[0066]  ４１０において、ＩＭＥが、１つまたは複数の基準から（１つまたは複数の）特徴を抽出する。基準から抽出される特徴は、基準の特徴とすることができる。さまざまな実施形態において、基準の特徴は、入力の内容およびコンテキストの観点で所与の候補の組に関する平均的特徴として考えることができる。
【００６４】
[0067]  ４１２において、ＩＭＥが、１つまたは複数の候補画像から（１つまたは複数の）特徴を抽出する。候補画像から抽出される特徴は、候補の特徴と考えることができる。さまざまな実施形態において、抽出された候補の特徴は、類似した抽出された基準の特徴と比較される。複数の類似した抽出された特徴の間の差は、候補に関連する次元を定義するために使用され得る。さまざまな実施形態において、抽出された特徴は、基準そのものに含まれる特徴を含む可能性があり、例えば、基準が画像である場合に、画像が水の画像を含むとき、水の特徴が抽出され得る。追加的にまたは代替的に、抽出された特徴が、候補に関連する情報に含まれる特徴を含む。例えば、画像は、調べられおよび／または抽出され得るメタデータを含む。追加的にまたは代替的に、画像は、クエリの結果の一部として返されたテキストによって囲まれている。周りのテキストは、調べられおよび／または抽出される可能性がある。
【００６５】
[0068]  ４１４において、ＩＭＥが、各候補にスコアをつける。さまざまな実施形態において、分類器が、次元および抽出された特徴に少なくとも部分的に基づいて、各候補にスコアをつける。さまざまな実施形態において、分類器は、オフラインの学習または訓練されたモデルとすることができる。追加的にまたは代替的に、分類器は、初期設定および例を手動で植え付けられ、植え付けられた素材の周辺を検索して訓練され、モデルの適用範囲を広げおよび／またはモデルの精度を高める。さまざまな実施形態において、感情を表す語が、代替的な形態による置換または代替的な形態による補足の対象である。追加的にまたは代替的に、よく使われている用語、句、話題、またはこれらの組み合わせが、植え付けおよび検索方法を用いてマッピングされ得る。ＩＭＥは、分類器を用いて、抽出された特徴をスコアにマッピングすることができる。それぞれの特徴および／または次元のスコアが各候補に関して集計され、候補のスコアを生成する。
【００６６】
[0069]  ４１６において、ＩＭＥが、複数の候補のスコアに少なくとも部分的に基づいて、複数の候補をランク付けする。
【００６７】
[0070]  ４１８において、ＩＭＥが、第１の選択基準に少なくとも部分的に基づいて、（１つまたは複数の）候補を削除する。さまざまな実施形態において、第１の選択基準は、候補のスコアが閾値のスコアよりも高いか否かを含む。候補のスコアが閾値のスコア未満であるとき、候補は、考慮から外される。
【００６８】
[0071]  ４２０において、ＩＭＥが、第２の選択基準に少なくとも部分的に基づいて、（１つまたは複数の）候補を削除する可能性がある。さまざまな実施形態において、第２の選択基準は、候補が別の候補と重複しているかまたは似ているか否かを含む。候補が別の候補と重複しているとき、ＩＭＥが、その候補かまたは別の候補かのどちらかを考慮から外すようにできる。同様に、候補と別の候補との間の相違が区別の閾値を超えないとき、ＩＭＥは、その候補かまたは別の候補かのどちらかを考慮から外すようにできる。さまざまな実施形態において、候補と別の候補との間の比較は、局所的特徴、大局的特徴、ピクセルレベルの比較、またはこれらの組み合わせに少なくとも部分的に基づく可能性がある。
【００６９】
[0072]  ４２２において、ＩＭＥが、ユーザによる選択またはアプリケーションへの挿入のための１つまたは複数の候補を提供する。
【００７０】
結論
[0073]  上述の対象は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実装され得る。実装が構造的特徴および／または方法の動作に特有の言葉で説明されたが、添付の請求項で定義された対象は上で説明された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、請求項を実施する例示的な形態として開示される。例えば、方法の動作は、必ずしも本明細書において説明された順番または組み合わせで実行されるとは限らず、１つまたは複数の動作の任意の組み合わせで実行し得る。
【図１】
2015528604.tif 000003
【図２】
2015528604.tif 000004
【図３】
2015528604.tif 000005
【図４】
2015528604.tif 000006
【国際調査報告】
2015528604.tif 000007
2015528604.tif 000008
2015528604.tif 000009