(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
ローマ字入力を受け取る段階と、
前記ローマ字入力を使用して非ローマ字の候補セットを識別する段階と、
それぞれが対応する非ローマ字の候補セットと関連付けられている、リソースロケーションの候補セットを識別する段階と、
前記リソースロケーションの候補セット及び前記非ローマ字の候補セットを表示用のユーザインタフェースに提供する段階と
を含み、
前記リソースロケーションの候補セットを識別する段階が、
各非ローマ字の候補セットに関して、非ローマ字の候補セットに対するキーワードを識別する段階と、
各識別されたキーワードに関して、関連するリソースロケーションを識別する段階と、
非ローマ字の候補セットに前記リソースロケーションを関連付ける段階とを含む
ことを特徴する方法。
【請求項２】
前記非ローマ字の候補セットに対するキーワードを識別する段階が、非ローマ字の候補セットをプレフィックスとして使用し、キーワードをプレフィックス検索する段階を含む
ことを特徴する請求項１に記載の方法。
【請求項３】
非ローマ字の候補セットの内の１つの選択物を受け取る段階と、
前記選択物の受け取りに応答して、前記非ローマ字の候補セットと関連付けられている前記リソースロケーションの候補セットを表示する段階と
を更に含むことを特徴する請求項１に記載の方法。
【請求項４】
前記非ローマ字が、“Ｈａｎｚｉ”文字である
ことを特徴する請求項１に記載の方法。
【請求項５】
前記ローマ字入力を使用して非ローマ字の候補セットを識別する段階が、前記非ローマ字の候補セットのそれぞれに関して、
キーワードを非ローマ字におけるプレフィックスにマッピングするプレフィックステーブルを、前記非ローマ字の候補セットによって検索し、キーワードを識別する段階と、
キーワードをリソースロケーションにマッピングするキーワードテーブルを、前記識別されたキーワードによって検索し、リソースロケーションを識別する段階と、
前記非ローマ字の候補セットに前記識別されたリソースロケーションを関連付ける段階と
を更に含むことを特徴する請求項１に記載の方法。
【請求項６】
キーワードテーブルを、前記識別されたキーワードによって検索し、リソースロケーションを識別する段階が
各識別されたキーワードに関して、前記識別されたキーワードにマッピングされたリソースロケーションを識別する段階と、
前記識別されたキーワードにマッピングされた各リソースロケーションの順位を識別する段階と、
最高順位を有する前記リソースロケーションを選択する段階とを含み、
前記非ローマ字の候補セットに前記識別されたリソースロケーションを関連付ける段階が、前記非ローマ字の候補セットに各キーワードに関して前記最高順位を付けられたリソースロケーションだけを関連付ける段階を含む
ことを特徴する請求項５に記載の方法。
【請求項７】
前記リソースロケーションの候補セットのそれぞれの中の前記リソースロケーションのそれぞれが選択される回数を記録する段階と、
前記リソースロケーションのそれぞれが選択される回数に基づいて、各リソースロケーションの順位を調整する段階と
を更に含むことを特徴する請求項６に記載の方法。
【請求項８】
各リソースロケーションの候補セットに関して、
前記リソースロケーションの候補セットのそれぞれの中の前記リソースロケーションのそれぞれが選択される回数を記録する段階と、
前記リソースロケーションのそれぞれが選択された回数に基づいて、前記リソースロケーションの候補セットのそれぞれの中の前記リソースロケーションを、前記リソースロケーションの候補セットの中の他のリソースロケーションと比較して順位付けする段階と
を更に含むことを特徴する請求項１に記載の方法。
【請求項９】
前記非ローマ字の候補セットのそれぞれを前記ユーザインタフェース上に表示する段階と、
非ローマ字の候補セットの内の１つの選択物を受け取る段階と、
前記非ローマ字の候補セットの内の選択された１つと関連付けられている前記リソースロケーションの候補セット及びキーワードだけを表示する段階と
を更に含むことを特徴する請求項１に記載の方法。
【請求項１０】
前記リソースロケーションの候補セット及び前記非ローマ字の候補セットを表示用のユーザインタフェースに提供する段階が、前記リソースロケーションの候補セット及び前記非ローマ字の候補セットを、前記ユーザインタフェースを備えるユーザ装置に送信する段階を含む
ことを特徴する請求項１に記載の方法。
【請求項１１】
クエリログにおけるクエリからキーワードを識別する段階と、
記憶場所がマッピングされたキーワードを含んだ検索に応答してそれぞれがユーザによって選択された記憶場所であるリソースロケーションに対する前記キーワードのマッピングを生成する段階と、
キーワードに対するプレフィックスのマッピングを生成する段階と、
クライアント装置に対して、リソースロケーションアドレスを決定する際に使用するために、前記キーワードに対するプレフィックスのマッピング及び前記リソースロケーションに対するキーワードのマッピングを提供する段階と
を更に含むことを特徴する請求項１に記載の方法。
【請求項１２】
キーワードに対するプレフィックスのマッピングを生成する段階が、前記キーワードに関するプレフィックスツリーを生成する段階を含み、
前記プレフィックスツリー内の各ノードが、キーワードに対応するか、または複数のキーワードに共通するプレフィックスに対応する
ことを特徴する請求項１１に記載の方法。
【請求項１３】
各キーワードが、１つ以上の“Ｈａｎｚｉ”文字を含む
ことを特徴する請求項１２に記載の方法。
【請求項１４】
リソースロケーションに対する前記キーワードのマッピングを生成する段階が、前記リソースロケーションのそれぞれが選択された回数に基づいて、各キーワードに関する各リソースロケーションを、前記キーワードに関する他のリソースロケーションと比較して順位付けする段階を含む
ことを特徴する請求項１３に記載の方法。
【請求項１５】
機械可読媒体に実体的に内蔵されたコンピュータプログラムであって、
前記コンピュータプログラムが、機械によって読み込まれたときに、データ処理装置に、
ローマ字入力を受け取る段階と、
前記ローマ字入力を使用して非ローマ字の候補セットを識別する段階と、
それぞれが対応する非ローマ字の候補セットと関連付けられている、リソースロケーションの候補セットを識別する段階と、
前記リソースロケーションの候補セット及び前記非ローマ字の候補セットを出力する段階と
を含む工程を実行させる命令を有し、
前記リソースロケーションの候補セットを識別する段階が、
各非ローマ字の候補セットに関して、非ローマ字の候補セットに対するキーワードを識別する段階と、
各識別されたキーワードに関して、関連するリソースロケーションを識別する段階と、
非ローマ字の候補セットに前記リソースロケーションを関連付ける段階とを含む
ことを特徴するコンピュータプログラム。
【請求項１６】
前記非ローマ字の候補セットに対するキーワードを識別する段階が、非ローマ字の候補セットをプレフィックスとして使用し、キーワードをプレフィックス検索する段階を含む
ことを特徴する請求項１５に記載のコンピュータプログラム。
【請求項１７】
非ローマ字の候補セットの内の１つの選択物を受け取る段階と、
前記選択物の受け取りに応答して、前記非ローマ字の候補セットと関連付けられている前記リソースロケーションの候補セットを表示する段階と
を更に含むことを特徴する請求項１５に記載のコンピュータプログラム。
【請求項１８】
前記非ローマ字が、“Ｈａｎｚｉ”文字である
ことを特徴する請求項１５に記載のコンピュータプログラム。
【請求項１９】
前記ローマ字入力を使用して非ローマ字の候補セットを識別する段階が、前記非ローマ字の候補セットのそれぞれに関して、
キーワードを非ローマ字におけるプレフィックスにマッピングするプレフィックステーブルを、前記非ローマ字の候補セットによって検索し、キーワードを識別する段階と、
キーワードをリソースロケーションにマッピングするキーワードテーブルを、前記識別されたキーワードによって検索し、リソースロケーションを識別する段階と、
前記非ローマ字の候補セットに前記識別されたリソースロケーションを関連付ける段階と
を更に含むことを特徴する請求項１５に記載のコンピュータプログラム。
【請求項２０】
キーワードテーブルを、前記識別されたキーワードによって検索し、リソースロケーションを識別する段階が、
各識別されたキーワードに関して、前記識別されたキーワードにマッピングされたリソースロケーションを識別する段階と、
前記識別されたキーワードにマッピングされた各リソースロケーションの順位を識別する段階と、
最高順位を有する前記リソースロケーションを選択する段階とを含み、
前記非ローマ字の候補セットに前記識別されたリソースロケーションを関連付ける段階が、前記非ローマ字の候補セットに各キーワードに関して前記最高順位を付けられたリソースロケーションだけを関連付ける段階を含む
ことを特徴する請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記リソースロケーションの候補セットのそれぞれの中の前記リソースロケーションのそれぞれが選択される回数を記録する段階と、
前記各リソースロケーションが選択される回数に基づいて、各リソースロケーションの順位を調整する段階と
を更に含むことを特徴する請求項２０に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、入力方式に関連する。
【背景技術】
【０００２】
この出願は、その内容が参照によってここに組み込まれる、２００８年７月３日に出願された米国仮特許出願シリアル番号第６１／０７８，１５７号、及び２００８年９月１６日に出願されると共に“Resource Locator Suggestions From Input Character Sequence”と題された米国通常特許出願第１２／２１１，７１２号に対する優先権を主張する。
【０００３】
１つまたは２つの文字がおおよそ１つの単語または意味に対応する表意文字のスクリプト（logographic script）を使用する言語は、コンピュータキーボードまたはモバイル機器のキーパッドのような標準入力装置上のキーより、更に多くの文字を有している。例えば、中国語は、基本ピンイン要素及び５つの音程によって定義された発音を有する数万の文字を含む。これらの潜在的な多対１の結合のマッピングは、入力装置上で発見されなかった文字及び記号の入力を容易にする入力方式によって実現され得る。従って、ローマ字スタイルキーボードが、漢字を入力するために使用され得る。同様に、入力方式は、日本語、韓国語、及び他の言語のような表意文字を含む多くの他の言語を入力するためにローマ字スタイルキーボードまたは他の入力装置を使用するのに使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インプットメソッドエディタ（入力方式エディタ：input method editor）の有用性にもかかわらず、インターネットサイトのアドレス、例えばユニフォームリソースロケータ（uniform resource locator：ＵＲＬ）は、多くの場合、ＡＳＣＩＩ文字の形式である。それ故に、母国語が表意文字のスクリプトに基づいているユーザ、例えば主として中国語の方言を話すユーザは、彼らが、彼らの言語におけるウェブサイトの文字通りの名前を知っているにもかかわらず、ウェブサイトのＵＲＬを覚えるのに苦労する。従って、これらのユーザは、彼らが見ることを望むウェブサイトのＵＲＬを入力するいくらかの個別の措置をとらなければならない。ＵＲＬと関連付けられた文字通りの名前は、ユーザの言語では、彼らの言語の表意文字を使用してつづられ得る。表意文字が西洋スタイルのキーボードの使用によって直接入力されないので、インプットメソッドエディタが、ローマ字の音声記号で表した入力（例えば、ピンイン）から候補表意文字（例えば、Ｈａｎｚｉ）への変換を遂行するために使用される。従って、表意文字が、ユーザによって望まれている潜在的なウェブサイトを発見するために、検索エンジンによって使用されると共に、もしウェブサイトが結果として生じる検索結果に現れるならば、それらのユーザは、ウェブサイトを選択する。
【課題を解決するための手段】
【０００５】
この明細書は、インプットメソッドエディタに関連する技術を説明する。いくらかの実施において、リソースロケーション、例えばＵＲＬは、ウェブブラウザのアドレスバーに入力された音声記号で表した入力、例えばピンイン入力から直接発見され得る。ローマ字におけるユーザ入力は、ウェブブラウザにおけるアドレスバーで受け取られると共に、非ローマ字の候補セット、例えばＨａｎｚｉ文字の候補セットに変換される。非ローマ字の各セットは、キーワードを識別するためのキーワードプレフィックス（キーワード接頭語）として使用される。それらのキーワードはＵＲＬに関連付けられると共に、ＵＲＬ及び関連するキーワードは、非ローマ字の各関連する候補セットに関して、その候補セットが選択される場合に表示される。
【０００６】
概して、この明細書で説明された主題の１つの特徴は、ローマ字入力を受け取る動作と、前記ローマ字入力を使用して非ローマ字の候補セットを識別する動作と、それぞれが対応する非ローマ字の候補セットと関連付けられている、リソースロケーションの候補セットを識別する動作と、前記リソースロケーションの候補セット及び前記非ローマ字の候補セットを表示用のユーザインタフェースに提供する動作とを含む方法において具体化され得る。この特徴の他の実施例は、対応するシステム、装置、及びコンピュータプログラム製品を含む。
【０００７】
この明細書で説明された主題の別の特徴は、クエリログ（query log）におけるクエリ（query）からキーワードを識別する動作と、記憶場所がマッピングされたキーワードを含んだ検索に応答してそれぞれがユーザによって選択された記憶場所であるリソースロケーションに対する前記キーワードのマッピングを生成する動作と、キーワードに対するプレフィックス（接頭語）のマッピングを生成する動作と、クライアント装置に対して、前記クライアント装置においてリソースロケーションアドレスを決定する際に使用するために、前記キーワードに対するプレフィックスのマッピング及び前記リソースロケーションに対するキーワードのマッピングを提供する動作とを含む方法において具体化され得る。この特徴の他の実施例は、対応するシステム、装置、及びコンピュータプログラム製品を含む。
【０００８】
この明細書で説明された主題の１つ以上の実施例の詳細は、以下の添付図面及び記述において説明される。主題の他の特徴、側面、及び利点は、以下の記述、図面、及び特許請求の範囲から明白になるであろう。
【図面の簡単な説明】
【０００９】
【図１】インプットメソッドエディタの入力からリソースロケーションが識別される、一例のウェブブラウザ環境を例証するスクリーンショットである。
【図２Ａ】一例のキーワードプレフィックステーブルを例証する図である。
【図２Ｂ】一例のキーワードリソーステーブルを例証する図である。
【図３】選択可能なリソースロケーションを提供するための一例の工程のフローチャートである。
【図４】リソースロケーションアドレスを決定するための一例の工程のフローチャートである。
【図５】ここで説明された方法を実施し得る一例のシステムの構成図である。
【発明を実施するための形態】
【００１０】
様々な図面における同様の参照符号及び呼称は、同様の要素を示す。
【００１１】
図１は、インプットメソッドエディタの入力からリソースロケーションが識別される、一例のウェブブラウザ環境１０４を例証するスクリーンショット１００である。アドレスバー１０３は、ＩＭＥアドレス環境１０１に統合される。いくらかの実施において、アドレスバー１０３は、ユーザが、ウェブアドレス、例えば“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”を入れ得る標準のＵＲＬ入力バーとして機能し得る。いくらかの実施において、インプットメソッドエディタの入力は、ＩＭＥアドレスバー１０２に入力されたローマ字（例えば、ピンイン入力のためのＡＳＣＩＩ文字）が非ローマ字（例えば、Ｈａｎｚｉ文字）に変換されるＩＭＥアドレス環境１０１に提供される。いくらかの実施において、ローマ字入力は、例えばＨａｎｚｉ文字のピンイン表現のような、表意文字のテキストの１つ以上の候補セットの発音表記を表す。ＩＭＥアドレス環境１０１は、ユニフォームリソースロケータ（ＵＲＬ）を自動的に検出するために入力されたテキストを使用することができると共に、ローマ字入力と関係がある１つ以上のユーザが選択可能なＵＲＬの結果を示唆し得る。
【００１２】
アドレスバー１０３、及びＩＭＥアドレスバー１０２が個別のアドレスバーとして示されるが、ＩＭＥアドレスバーは、アドレスバー１０３に統合され得る。更に、ＩＭＥアドレス環境１０１は、自動または手動のいずれかで例示され得る。ユーザが、音声記号で表した入力、例えば“Ｘｉｎ”に対応すると共に、更に標準のリソースロケーションアドレス、例えば“www.example.com”に対応しないローマ字を入力する場合に、自動の例示化（instantiation）が発生し得る。手動の例示化は、ユーザによって入力された特定の命令、例えばキーボード命令またはメニュー命令に応答して発生し得る。
【００１３】
ローマ字から非ローマ字への変換、及びＵＲＬの識別は、一般的にＨａｎｚｉ、または表意文字を使用する他の言語を使用して読み書きを行うユーザに対して、ＵＲＬを記憶している必要なく、ＵＲＬの便利な識別を提供する。ＩＭＥアドレス環境１０１は、ローマ字入力を受け取り得ると共に、ローマ字入力を非ローマ字に変換するＩＭＥ処理能力を提供する。いくらかの実施において、これらの非ローマ字は、ＵＲＬにマッピングされたキーワードに対応する。
【００１４】
例えば、ユーザは、ピンイン入力“ｘｉｎ  ｌａｎｇ”を、ＩＭＥアドレス環境１０１のＩＭＥアドレスバー１０２に入力し得ると共に、ピンイン入力は、非ローマ字１０６の候補セットに変換され得る。非ローマ字１０６のこれらの候補セットは、いくらかの実施において、非ローマ字のキーワード１１２のキーワードプレフィックスである。キーワード１１２は、キーワードプレフィックス１０６によって識別されると共に、従って、キーワードプレフィックス１０６は、対応するＵＲＬ１０８を識別するために使用され得る。
【００１５】
図１において例証されたように、非ローマ字１０６の各候補セットの選択によって、従って、対応するキーワード１１２、及びＵＲＬ１０８が表示され得ると共に、それは、第１の候補文字セット“新浪”の選択、そして対応する候補ＵＲＬ１０８及びキーワード１１２を示す。別の候補文字セット１０６の選択によって、同じく、ＵＲＬ１０８及びキーワード１１２の別の候補セットが表示されるであろう。ユーザは、第２のＵＲＬ１０８（“ｎｅｗｓ．ｓｉｎａ．ｃｏｍ．ｃｎ”）及びその対応するキーワード１１２を囲む選択ボックス１１４で例証されたように、ＵＲＬの内の１つを選択するために、入力装置、例えばキーボードまたはマウスを利用し得る。
【００１６】
非ローマ字１０６の９つの候補セットが示されるが、より多いか、またはより少ない非ローマ字のセットが表示され得る。同様に、より多いか、またはより少ないリソースロケーション１０８及びキーワード１１２の候補セットが、非ローマ字の候補セットの選択に応答して同じく示され得る。
【００１７】
いくらかの実施において、各候補セット１０８におけるリソースロケーションは、例えば特定のリソースロケーションまたはキーワードの人気に従って順位付けされ得る。リソースロケーション１０８及び関連するキーワード１１２は、例えば、選択頻度ベースのクリックログ（click log）及びクエリログに従って、及び／または、クエリログにおけるキーワードの順位に基づいて事前に順位付けされた順番で、提供され得る。いくらかの実施において、リソースロケーション１０８、キーワード１１２、及び対応する順位を定義するデータは、ユーザ装置に提供され得ると共に、それらの順位は、ユーザ装置の（複数の）ユーザの選択履歴に基づいて修正され得る。例えば、ＩＭＥアドレス環境１０１は、各リソースロケーションがユーザ装置の現在の（複数の）ユーザによって選択された回数を追跡すると共に、従って、リソースロケーションの順位を調整し得る。例えば、その順位は、ユーザ装置の（複数の）ユーザに対して、リソースロケーションの人気に基づいて、特定の好ましい順番でリソースロケーション１０８のリストを出力するために使用され得る。同様の方式で、候補文字１０６が表示される順番は、ユーザ装置の（複数の）ユーザによる選択に基づいて、調整され得る。
【００１８】
いくらかの実施において、候補文字セット１０６に対するキーワード１１２のマッピングが、例えばキーワードプレフィックステーブルのようなデータ構造において提供され得る。図２Ａは、一例のキーワードプレフィックステーブル２００を例証する。いくらかの実施において、テーブル２００は、外部のサーバによって作成され得ると共に、クライアント装置上のウェブブラウザに提供され得る。キーワードプレフィックステーブル２００は、キーワードプレフィックス列２０２、キーワード列２０４、及びネスト化された（nested）キーワード列２０６を含む。ローマ字は、キーワードプレフィックステーブルに含まれていないが、しかし、説明の容易さのために、説明図には含まれている。
【００１９】
第１の行２０８は、列２０２における語句“Sina”に関するＨａｎｚｉ文字を表すキーワードプレフィックス１１０を含む。一例において、キーワードプレフィックス１１０は、“Sina Homepage”２１０及び“Sina Sports”２１２を含む２つのキーワードに分岐され得る。いくらかの実施において、キーワードプレフィックスから更に多くのキーワードが分岐され得る。
【００２０】
第２の行２１４は、列２０２において、キーワードプレフィックス“United”を表すＨａｎｚｉ文字と共に、キーワードプレフィックス“United”２１６を含む。一例において、キーワードプレフィックス２１６は、“United Nations”２１８及び“United Airlines”２２０を含む２つのキーワードに分岐され得る。キーワード“United Nations”２１８は、その上、更なるキーワードに分岐され得る。例えば、キーワード２１８は、“United Nations Charter”２２２及び“Secretary of UN”２２４を含む更に２つのキーワードに分岐されて示される。
【００２１】
テーブル２００の中のキーワードは、リソースロケーションにマッピングされ得る。図２Ｂは、一例のキーワードリソーステーブル２５０を例証する。キーワードリソーステーブル２５０は、キーワードと（例えばユニフォームリソースロケータのような）リソースロケーションとの間のマッピング、そして、ユーザ選択（user preference）、クリック率（click rate）、または他の測定基準に基づいたユニフォームリソースロケータの順位である。テーブル２００は、外部のサーバによって作成され得ると共に、クライアント装置上のウェブブラウザに提供され得る。いくらかの実施において、テーブル２５０は、各キーワードに対する各ＵＲＬがキーワードを含むクエリに応えて選択される頻度を判定することによって作成され得る。これらの頻度は、検索エンジンと関連付けられたクエリログ及びクリックログを利用することによって獲得され得る。ユニフォームリソースロケータは、これらの頻度に基づいて、各々のキーワード候補セットに関して、他のユニフォームリソースロケータと比較して順位付けされる。
【００２２】
テーブル２５０は、文字の列２５２、ＵＲＬの列２５４、及び順位の列２５６を含む。文字の列２５２は、Ｈａｎｚｉ文字を含む。それらの文字は、ユーザによって入力されたキーワードを示す。ＵＲＬの列２５４は、列２５２において示されたキーワードＨａｎｚｉ文字を含むクエリに応答して選択されたユニフォームリソースロケータの真部分集合を含む。順位の列２５６は、各ユニフォームリソースロケーション（uniform resource location）に関する順位付け点数を含む。その順位は、各ユニフォームリソースロケーションが対応するキーワードに関して選択される相対頻度を表しており、更に、キーワード及びユニフォームリソースロケータがユーザに対して表示される順番を決定する。
【００２３】
１つの例において、行２５８は、第１のキーワード２６０、関連するユニフォームリソースロケータ２６２、及びユニフォームリソースロケータの順位２６４を含む。最上位に順位付けされたユニフォームリソースロケータは、“www.sina.com”であると共に、それは“9.75”の得点が与えられ、一方、更に順位が低いユニフォームリソースロケータが、それぞれ“9.22”及び“2.21”の得点で順位付けされる。従って、文字２６０で表されたキーワードに関して、選択されるべきである最も有り得るユニフォームリソースロケータは、３つのユニフォームリソースロケータ２６２である。同様の方式で、行２６６は、第２のキーワード２６８、関連するユニフォームリソースロケータ２７０、及びユニフォームリソースロケータの順位２７２を表示する。
【００２４】
これらの順位は、クエリログ及びクリックログの利用に基づいて、初めに設定され得る。いくらかの実施において、クライアント装置上の特定のテーブル２５０における順位は、（複数の）ユーザの入力に基づいて調整され得る。
【００２５】
テーブル２００及び２５０は、ＩＭＥアドレス環境１０１においてリソースロケーション１０８及び対応するキーワード１１２を選択して表示するためにウェブブラウザによって使用され得る。例えば、ＩＭＥアドレス環境１０１を例示するソフトウェアを実行しているクライアント装置は、候補文字セット１０６に基づいてキーワードを識別するために、プレフィックステーブル２００にアクセスすることができる。その場合に、これらのキーワードは、選択された候補文字セットに関して最も人気がある（popular）リソースロケーションを識別するための、キーワードロケーションテーブル２５０におけるインデックスとして使用され得る。例えば、もしそのユーザが、キーワードプレフィックス“United”の識別に結び付いたピンインを入力したならば、ＩＭＥアドレス環境１０１は、示唆されたキーワード“United Nations”及び“United Airlines”、及びキーワードリソーステーブル２５０においてインデックスが付けられた対応するリソースロケーションを含むであろう。更に、ＩＭＥアドレス環境１０１は、同様に、“United Nations Charter”及び“Secretary of UN”、そして対応するリソースロケーションを示唆するであろう。
【００２６】
いくらかの実施において、テーブル２００及び２５０は、検索エンジンサーバのようなサーバ装置上に常駐し得る。これらの実施において、サーバ装置は、ＩＭＥアドレス環境１０１における全ての操作、またはそれの一部分を実行することができる。例えば、クライアント装置上のブラウザは、ピンイン入力を候補文字セット１０６に変換することのような、基礎的なＩＭＥ機能を遂行し得る。候補文字セット１０６は、同様に、ＩＭＥアドレス環境１０１における表示のために、リソースロケーションの候補セット１０８及びキーワード１１２をクライアント装置に返信として提供し得る、サーバ装置に提供され得る。
【００２７】
図３は、選択可能なリソースロケーションを提供するための一例の工程３００のフローチャートである。例えば、工程３００は、図５において示された装置５０２及び／または装置５０４において実行され得る。
【００２８】
工程３００は、ＡＳＣＩＩ文字列のようなローマ字入力を受け取る（３０２）。例えば、ＩＭＥアドレス環境１０１は、ローマ字入力を受け取り得るＩＭＥアドレスバー１０２を含む。１つの例において、ユーザは、装置５０４上で表示されるアドレスバー１０２において、中国語の言葉のピンイン表現を入力することができる。例えば、その利用者は、ＩＭＥアドレスバー１０２において語句“ping”を入力することができる。語句“ping”は、語句“apple（アップル）”のピンイン表現である。いくらかの実施において、ピンイン表現“ping”は、キーワードプレフィックスであり得る。例えば、“ping”は、語句“apple pie（アップルパイ）”に関するプレフィックスであり得る。概して、“apple（アップル）”を表すローマ字“ping”は、例えば、西洋のスタイルのキーボードのようなキーボード、または手書き文字認識エンジンと共に使用されるスタイラスから入力され得る。
【００２９】
工程３００は、その入力がアドレスバーにおいて受け取られるかどうかを判定する（３０４）。例えば、装置５０４は、ローマ字入力（すなわち、キーワードプレフィックス）がＵＲＬバー、検索バー、テキストエディタ、または他のプログラムに提示されたかどうかを判定し得る。もしその入力がＵＲＬバー（例えば、ＩＭＥアドレスバー１０２）に入力されなかったならば、工程３００は、終了すると共に、入力されたテキストは、意図したプログラムによって処理される。
【００３０】
もしキーワードプレフィックスがＵＲＬバーに入力されたならば、工程３００は、非ローマ字の候補セットを識別するために、ローマ字入力を使用する（３０６）。例えば、工程３００は、ピンインから中国語（例えば、Ｈａｎｚｉ文字）にローマ字入力を変換するインプットメソッドエディタ工程を含み得る。ＩＭＥ工程は、サーバ装置５０２か、またはクライアント装置５０４のいずれかで実行され得る。
【００３１】
ローマ字を非ローマ字に変換すると、工程３００は、非ローマ字の候補セットに対応するリソースロケーションの候補セットを識別する（３０８）。例えば、工程３００は、同じ非ローマ字のキーワードプレフィックスを共有するキーワードプレフィックステーブル２００におけるキーワードを識別することによって、非ローマ字の各セットに関するキーワードを識別する。キーワードの識別は、サーバ装置５０２か、またはクライアント装置５０４のいずれかで実行され得る。
【００３２】
工程３００は、関連するリソースロケーション（例えば、ＵＲＬ）を識別すると共に、このリソースロケーションを非ローマ字の候補セットと照合する（３１０）。例えば、工程３００は、関連するリソースロケーションを識別するためのキーワードリソーステーブル２５０に対するインデックスとして、キーワードプレフィックステーブル２００から識別されたキーワードを使用する。関連するリソースロケーションの識別は、サーバ装置５０２か、またはクライアント装置５０４のいずれかで実行され得る。
【００３３】
もしリソースロケーションが発見されないならば、工程３００は終了する。もしリソースロケーションが発見されるならば、その場合に、工程３００は、リソースロケーションの候補セット及び非ローマ字の候補セットを表示用のユーザインタフェースに提供する（３１２）。例えば、もしリソースロケーションがサーバ装置５０２において識別されるならば、サーバ装置は、リソースロケーション及び関連するキーワードを、クライアント装置５０４に提供し得る。関連するキーワード及びリソースロケーションを受け取ると、もしくは、もしリソースロケーション及びキーワードがクライアント装置５０４において識別されるならば、キーワード及びリソースロケーションは、例えばウェブブラウザインタフェースのような表示インタフェースに提供され得る。その後、工程３００は、候補文字セットの選択に応答して、リソースロケーション１０８、及び対応するキーワード１１２を表示する。
【００３４】
いくらかの実施において、リソースロケーションは、選択頻度に従って順位付けされ得る。いくらかの実施において、各キーワードに関する最も高く順位付けされたＵＲＬが選択され得ると共に、非ローマ字の候補セットと関連付けられ得る。
【００３５】
図４は、リソースロケーションアドレスを決定するための一例の工程４００のフローチャートである。工程４００は、例えば、図５において示される装置５０２において実行され得る。
【００３６】
工程４００は、クエリログ４０１ａにおけるクエリ、及びクリックログ４０１ｂにおいて識別された選択されたリソースロケーションから、キーワード及びリソースロケーションを識別する（４０２）。例えば、多くのユーザからのクエリを記録するクエリログ４０１ａ、及びリソースロケーションの選択と、それに関してリソースロケーションが識別された対応するクエリとを記録するクリックログ４０１ｂは、サーバ装置５０２上のデータマイニングエンジン（data-mining engine）によって利用され得る。
【００３７】
工程４００は、リソースロケーションに対するキーワードのマッピングを生成し得る（４０４）。いくらかの実施において、各リソースロケーションは、キーワードを含んだ入力された検索クエリに応答してユーザによって選択された記憶場所を表す。そのマッピングは、データベース（例えば、キーワードリソーステーブル２５０）に格納され得る。いくらかの実施において、キーワードをマッピングすることは、各キーワードに関する各リソースロケーションを、そのキーワードに関する他のリソースロケーションと比較して順位付けすることを含み得る。いくらかの実施において、順位は、それぞれのリソースロケーションの各々が選択された回数に基づき得る。他の順位の測定基準が同様に使用され得る。その場合に、マッピングは、サーバ装置５０２の中のデータマイニングエンジンによって生成され得ると共に、キーワードリソーステーブル２５０に格納され得る。
【００３８】
工程４００は、キーワードに対するプレフィックスのマッピングを生成し得る（４０６）。例えば、サーバ装置５０２の中のデータマイニングエンジンは、各キーワードまたはそれのプレフィックスを含むプレフィックスツリーを生成するために、クエリログ４０１を使用し得る。プレフィックスツリー内の各ノードは、キーワードに対応するか、または複数のキーワードに共通するプレフィックスに対応し得る。プレフィックステーブル２００における例のノードは、列２０２及び列２０４によって定義されたノードを含む。この情報は、キーワードプレフィックステーブル２００に格納され得る。いくらかの実施において、例えばある期間の間の回数を超えて使用されるキーワードのみのような、クエリログ４０１ａが提供するキーワードの真部分集合は、キーワードプレフィックステーブル２００に格納され得る。
【００３９】
工程４００は、キーワードに対するプレフィックスのマッピング、及びリソースロケーションに対するキーワードのマッピングを、クライアント装置に提供し得る（４０８）。例えば、サーバ装置５０２は、キーワードプレフィックステーブル２００、及びキーワードロケーションテーブル２５０を、クライアント装置５０２に提供し得る。
【００４０】
図５は、ここで説明された方法を実施し得る一例のシステム５００の構成図である。システム５００は、インターネット接続５０６を横断してクライアント処理装置５０４とデータ通信を行うサーバ処理装置５０２を備える。１つだけのクライアント及び１つだけのサーバが図５において例証されるが、あらゆる数のサーバ及び／またはクライアントが含まれ得る。
【００４１】
サーバ５０２は、クライアント装置５０４によって実行可能であるインプットメソッドエディタコード５１０を備えると共に、それはクライアント装置５０４に提供され得る。クライアント装置５０４によって実行されると、インプットメソッドエディタコード５１０は、クライアント装置５０４上でＩＭＥアドレス環境１０１を例示する。インプットメソッドエディタコード５１０は、ローマ字入力、例えばピンイン入力を処理すると共に、ローマ字入力を非ローマ字入力に変換するための言語モデル（図示せず）を備えることができる。
【００４２】
サーバ５０２は、更に、上記図２Ａ及び図２Ｂで示されたキーワードプレフィックステーブル２００、及びキーワードリソーステーブル２５０を備える。他の記憶構成（storage architecture）が同様に使用され得る。これらのテーブル２００及び２５０は、クライアント装置に提供され得る。
【００４３】
サーバ５０２は、更に、キーワードプレフィックステーブル２００及びキーワードリソーステーブル２５０を生成するために、クエリログ４０１ａ及びクリックログ４０１ｂを利用し得る、マイニングエンジン５１４を備える。いくらかの実施において、マイニングエンジン５１４は、まれなことかめったに使用されなかったキーワードを除外するために、頻度のしきい値を超えるキーワード、例えばある期間の間の最小の回数を超過して使用されるキーワードを識別するように構成され得る。この選択工程は、入力されそうにないキーワード、もしくはユーザによって選択されたキーワードを省略することによって、キーワードプレフィックステーブル２００の大きさを減少させる。他の選択基準が同様に使用され得る。
【００４４】
いくらかの実施において、マイニングエンジン５１４は、リソース、例えば頻度のしきい値を超えて選択されるウェブサイト、例えばキーワードがクエリにおいて使用される場合に少なくとも最小の回数選択されるリソースロケーション、を識別するように更に構成され得る。この選択工程は、ユーザによって選択されそうにないリソースロケーションを省略することによって、キーワードリソーステーブル２５０の大きさを減少させる。他の選択基準が同様に使用され得る。
【００４５】
キーワードリソーステーブル２５０は、クライアント装置５０４に提供される場合には、最初の順位を含み得る。これらの最初の順位は、クエリログ４０１ａ及びクリックログ４０１ｂに起因する選択可能性を反映する。いくらかの実施において、ＩＭＥコード５１０は、クライアント装置５０４におけるユーザ選択を追跡し得ると共に、クライアント装置５０４に格納されるキーワードリソーステーブル２５０内の順位を調整し得る。従って、キーワード及びリソースロケーションの識別は、ユーザの走査検索（browsing）の履歴に基づいて、各ユーザに関してカスタマイズされ得る。
【００４６】
特定の言語及び入力方式例との関連で説明されたが、ここで説明されたシステム及び方法は、表意文字を利用するあらゆる言語のために使用され得る。例えば、ここで説明されたシステム及び方法は、例えば日本語のような表意文字を含む、多くの他の言語のために使用され得る。
【００４７】
この明細書で説明された主題、及び機能的動作の実施例は、デジタル電子回路構成か、もしくは、この明細書おいて開示された構成及びそれらの構成上の等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアか、もしくは、それらの内の１つ以上の組み合わせにおいて実施され得る。この明細書で説明された主題の実施例は、１つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のための、もしくはデータ処理装置の動作を制御するための、実際のプログラム担体上に符号化して記録されたコンピュータプログラム命令の１つ以上のモジュールとして実施され得る。実際のプログラム担体は、伝搬信号（propagated signal）またはコンピュータ読み取り可能な媒体であり得る。伝搬信号は、人工的に生成された信号、例えば機械で生成された電気信号、光学信号、もしくは電磁気信号であると共に、それは、情報を、コンピュータによる実行のための適当な受信機装置に対する伝送用に符号化するように生成される。コンピュータ読み取り可能な媒体は、機械可読記憶装置、機械可読記憶回路基板、メモリ装置、機械可読伝搬信号を生じさせる組成物（composition of matter）、または、それらの内の１つ以上の組み合わせであり得る。
【００４８】
用語“処理装置”は、プログラム可能なプロセッサ、コンピュータ、もしくはマルチプロセッサまたはマルチコンピュータを一例として含む、データを処理するための全ての装置、機器、及び機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの内の１つ以上の組み合わせを構成するコードを備えることができる。
【００４９】
コンピュータプログラム（同様にプログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとして知られている）は、コンパイルされた言語または解釈された言語（interpreted language）、もしくは、宣言型言語または手続き型言語を含むあらゆる形式のプログラミング言語で書かれ得ると共に、それは、独立型プログラム、もしくは、モジュール、コンポーネント、サブルーチン、またはコンピュータ環境における使用に適当な他のユニットを含むあらゆる形式で配置され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに必ずしも対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイル（例えば、マークアップ言語文書に格納される１つ以上のスクリプト）の一部分に格納され得るか、問題のプログラム専用の単一のファイルに格納され得るか、または複数の組織的なファイル（例えば、１つ以上のモジュール、サブプログラム、またはコードの一部分を格納するファイル）に格納され得る。コンピュータプログラムは、１つのサイトに設置されるか、もしくは複数のサイトに横断して分散される、１つのコンピュータまたは複数のコンピュータ上で実行されるように配置され得ると共に、通信ネットワークによって相互に接続され得る。
【００５０】
コンピュータプログラムの実行に適当なプロセッサは、一例として、一般的なマイクロプロセッサと特殊用途のマイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータのあらゆる１つ以上のプロセッサを含む。一般的に、プロセッサは、読み取り専用メモリ、またはランダムアクセスメモリ、またはその両方から、命令及びデータを受け取ることになる。コンピュータの必須要素は、命令を遂行するためのプロセッサと、命令及びデータを格納するための１つ以上のメモリ装置である。一般的に、コンピュータは、更に、データを格納するための、例えば光磁気ディスク（magnetic optical diskまたはmagneto optical disk）、もしくは光ディスクのような１つ以上の大容量記憶装置からデータを受信するか、またはそのような１つ以上の大容量記憶装置にデータを送信するか、またはその両方であるように、そのような１つ以上の大容量記憶装置を含むことになるか、もしくはそのような１つ以上の大容量記憶装置に対して動作可能に連結されることになる。しかしながら、コンピュータは、そのような装置を有している必要がない。更に、コンピュータは、別の装置、例えば２〜３例を挙げると、携帯電話、携帯情報機器（ＰＤＡ）、携帯型オーディオまたはビデオプレーヤ、ゲームコンソールに埋め込まれ得る。
【００５１】
コンピュータプログラム命令及びデータを格納することに適当なコンピュータ読み取り可能な媒体は、全ての形式の不揮発性のメモリ、媒体、及びメモリ装置を含み、それらは、一例として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置のような半導体メモリ装置、例えば内部ハードディスクまたは交換可能ディスクのような磁気ディスク、光磁気ディスク、そしてＣＤ−ＲＯＭディスク及びＤＶＤ−ＲＯＭディスクを含んでいる。プロセッサ及びメモリは、専用論理回路構成によって補完され得るか、専用論理回路構成に併合され得る。
【００５２】
ユーザとの意志の疎通を提供するために、この明細書で説明された主題の実施例は、ユーザに対して情報を表示するための表示装置、例えばＣＲＴ（ブラウン管）モニタまたはＬＣＤ（液晶表示装置）モニタと、それによってユーザが入力をコンピュータに提供できるキーボード及びポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実施され得る。他の種類の装置が、同様に、ユーザとの意志の疎通を提供するために使用され得ると共に、また例えば、ユーザに提供されるフィードバックは、あらゆる形式の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、そして、ユーザからの入力は、音響入力、音声入力、または触覚入力を含むあらゆる形式で受信され得る。
【００５３】
この明細書で説明された主題の実施例は、計算システムにおいて実施され得ると共に、例えば、計算システムは、例えばデータサーバのようなバックエンドコンポーネントを備えるか、もしくは、計算システムは、例えばアプリケーションサーバのようなミドルウェアコンポーネントを備えるか、もしくは、計算システムは、それを通してユーザがこの明細書で説明された主題の具体化と情報のやり取りをすることができる、例えばグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータのようなフロントエンドコンポーネントを備えるか、もしくは、計算システムは、１つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントのあらゆる組み合わせを備える。
【００５４】
この明細書は、多数の実装時固有事項を含む一方、これらは、全ての発明の範囲及び特許請求の範囲における制限と解釈されるべきでなく、むしろ特定の発明の特定の実施例に特有であり得る特徴の説明であると解釈されるべきである。この明細書で説明される個別の実施例の文脈におけるいくつかの特徴は、同様に、単一の実施例の組み合わせにおいて実施され得る。逆に、単一の実施例の文脈で説明される様々な特徴は、同様に、複数の実施例において別々に実施され得るか、またはあらゆる適当な副次的な組み合わせにおいて実施され得る。更に、特徴が、いくつかの組み合わせにおける動作として上記において説明され得ると共に、そういうものとして初めに主張されるが、場合によっては、主張された組み合わせが提供する１つ以上の特徴を、組み合わせから削除することができると共に、主張された組み合わせは、副次的な組み合わせまたは副次的な組み合わせの変化したものを対象にし得る。
【００５５】
同様に、動作が図面において特定の順序で描写される一方、これは、望ましい結果を達成するために、そのような動作が示された特定の順序、または順次的な順序で実行されること、あるいは、全ての例証された動作が実行されること、を必要とするとして理解されるべきでない。いくつかの状況において、マルチタスク処理及び並列処理が有利であり得る。更に、上述の実施例における様々なシステムコンポーネントの分離は、全ての実施例においてそのような分離を必要とするとして理解されるべきでないと共に、それは、説明されたプログラムコンポーネント及びシステムは、一般的に、１つのソフトウェア製品に一緒に統合されるか、もしくは複数のソフトウェア製品に実装され得ると理解されるべきである。
【００５６】
この明細書で説明された主題の特別な実施例が説明された。他の実施例は、特許請求の範囲の中にある。例えば、請求項において列挙された動作は、異なる順序で行われ得ると共に、それでも望ましい結果が達成され得る。望ましい結果を達成するために、１つの例として、添付の図面において描写された処理は、説明された特定の順序、及び順次的な順序を必ずしも必要とするとは限らない。いくつかの実施において、マルチタスク処理及び並列処理が有利であり得る。
【符号の説明】
【００５７】
１００    スクリーンショット
１０１    ＩＭＥアドレス環境
１０２    ＩＭＥアドレスバー
１０３    アドレスバー
１０４    ウェブブラウザ環境
１０６    キーワードプレフィックス（非ローマ字）
１０８    リソースロケーション（ＵＲＬ）
１１０    キーワードプレフィックス
１１２    キーワード
１１４    選択ボックス
２００    キーワードプレフィックステーブル
２０２    キーワードプレフィックス列
２０４    キーワード列
２０６    ネスト化されたキーワード列
２０８    第１の行
２１０    キーワード“Sina Homepage”
２１２    キーワード“Sina Sports”
２１４    第２の行
２１６    キーワードプレフィックス
２１８    キーワード“United Nations”
２２０    キーワード“United Airlines”
２２２    キーワード“United Nations Charter”
２２４    キーワード“Secretary of UN”
２５０    キーワードリソーステーブル
２５２    文字の列
２５４    ＵＲＬの列
２５６    順位の列
２５８    行
２６０    第１のキーワード
２６２    関連するユニフォームリソースロケータ
２６４    ユニフォームリソースロケータの順位
２６６    行
２６８    第２のキーワード
２７０    関連するユニフォームリソースロケータ
２７２    ユニフォームリソースロケータの順位
３００    選択可能なリソースロケーションを提供するための一例の工程
４００    リソースロケーションアドレスを決定するための一例の工程
４０１ａ    クエリログ
４０１ｂ    クリックログ
５００    システム
５０２    サーバ装置
５０４    クライアント装置
５０６    インターネット接続
５１０    インプットメソッドエディタコード
５１４    マイニングエンジン
【図１】
0005497022.tif 000002
【図２Ａ】
0005497022.tif 000003
【図２Ｂ】
0005497022.tif 000004
【図３】
0005497022.tif 000005
【図４】
0005497022.tif 000006
【図５】
0005497022.tif 000007