(57)【特許請求の範囲】
【請求項１】
クエリ情報を処理する方法であって、
コンピュータシステムにおいて、
ユーザから部分検索クエリを取得するステップと、
前記部分検索クエリから、前記部分検索クエリに関連する予測完全クエリの集合を予測するステップであって、前記部分検索クエリおよび前記予測完全クエリの集合は、第１の言語であるステップと、
前記予測の後、
前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得するステップであって、前記翻訳は、前記第１の言語とは異なる第２の言語であり、前記第２の言語は前記部分検索クエリの取得元の電子デバイスのコンピュータネットワークアドレスに基づいて予測されるステップと、
前記予測完全クエリの集合および対応する翻訳の両方を、前記ユーザに対して表示するために、フォーマットするステップと
を含む、方法。
【請求項２】
前記取得するステップ、予測するステップ、およびフォーマットするステップは、前記電子デバイスと前記コンピュータシステムとの単一のトランザクションを含む、請求項１に記載の方法。
【請求項３】
前記部分検索クエリおよび前記予測完全クエリが、２つの言語の事前定義される集合のうちの第１の言語である場合、前記翻訳は、２つの言語の事前定義される集合のうちの第２の言語であり、前記部分検索クエリおよび前記予測完全クエリが、前記第２の言語である場合、前記翻訳は前記第１の言語である、請求項１に記載の方法。
【請求項４】
２つの言語の事前定義される集合は、前記電子デバイスにおいて検索要求者により選択される、請求項３に記載の方法。
【請求項５】
少なくとも部分的に前記部分検索クエリに基づいて、前記２つの言語の事前定義される集合を予測するステップをさらに含む、請求項３に記載の方法。
【請求項６】
前記部分検索クエリは、前記ユーザに対して表示される翻訳ウェブページから取得される、請求項１に記載の方法。
【請求項７】
前記予測するステップは、前記部分検索クエリを取得する前に計算された、前記予測完全クエリを前記部分検索クエリに関連付ける予測情報から、前記予測完全クエリを取得するステップを含む、請求項１に記載の方法。
【請求項８】
ランク付け基準に従って前記予測完全クエリの集合を順序付けるステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記部分検索クエリが、前記予測完全クエリの集合のメンバである場合、前記順序付けるステップは、前記部分検索クエリを前記予測完全クエリの順序付き集合の最上位位置に配置するステップを含む、請求項８に記載の方法。
【請求項１０】
前記予測するステップは、前記部分検索クエリをチャンクテーブル内のエントリにマッピングするステップを含み、前記チャンクテーブルは、トークンテーブル内のエントリへのポインタを含み、前記トークンテーブルは、クエリおよび対応する翻訳を有するエントリを含む、請求項１に記載の方法。
【請求項１１】
前記予測完全クエリの集合は、略語または短縮語である各予測完全クエリを含み、前記方法は、前記略語または短縮語の完成形または同義語を取得するステップを含み、前記各予測完全クエリおよび前記完成形または同義語の両方は同じ言語である、請求項１に記載の方法。
【請求項１２】
クエリ情報を処理する方法であって、
クライアント装置において、
検索要求者から部分検索クエリを取得するステップと、
前記クライアントから離れたコンピュータシステムから、前記部分検索クエリに関連する予測完全クエリの集合および前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得するステップであって、前記部分検索クエリおよび前記予測完全クエリの集合は、第１の言語であり、前記翻訳は、前記第１の言語とは異なる第２の言語であり、前記第２の言語は前記部分検索クエリの取得元の電子デバイスのコンピュータネットワークアドレスに基づいて予測されるステップと、
前記予測完全クエリの集合から２つ以上の完全なクエリと前記２つ以上の完全なクエリの翻訳のうちの少なくとも部分とを前記検索要求者に対して表示するステップと
を含む、方法。
【請求項１３】
前記予測完全クエリおよび前記翻訳は、前記コンピュータシステムとの単一のトランザクションで取得される、請求項１２に記載の方法。
【請求項１４】
前記部分検索クエリおよび前記予測完全クエリは、２つの言語の事前定義される集合のうちの第１の言語である場合、前記翻訳は、前記２つの言語の事前定義される集合のうちの第２の言語であり、前記部分検索クエリおよび前記予測完全クエリが前記第２の言語である場合、前記翻訳は前記第１の言語である、請求項１２に記載の方法。
【請求項１５】
前記２つの言語の事前定義される集合は、前記検索要求者により選択される、請求項１４に記載の方法。
【請求項１６】
前記部分検索クエリは、前記クライアント装置に表示されるウェブページから受信され、前記２つの言語の事前定義される集合は、前記検索要求者により事前定義された言語対のリストから選択される、請求項１４に記載の方法。
【請求項１７】
前記部分検索クエリは、前記クライアント装置に表示される翻訳ウェブページから取得される、請求項１２に記載の方法。
【請求項１８】
前記予測完全クエリは、前記ユーザコミュニティにより前記コンピュータシステムに過去に提出された完全なクエリである、請求項１２に記載の方法。
【請求項１９】
前記部分検索クエリが前記予測完全クエリの集合のメンバである場合、前記部分検索クエリを前記予測完全クエリの順序付き集合の最上位位置に配置する順序付けるステップを含む、請求項１２に記載の方法。
【請求項２０】
前記予測完全クエリの集合は、略語または短縮語である各予測完全クエリを含み、前記方法は、前記略語または短縮語の完成形または同義語を前記コンピュータシステムから取得するステップを含み、前記各予測完全クエリおよび前記完成形または同義語の両方は同じ言語である、
請求項１２に記載の方法。
【請求項２１】
１つまたは複数のプロセッサと、
データおよび前記１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するメモリと
を備える、クエリ情報を処理するコンピュータシステムであって、前記１つまたは複数のプログラムは、
ユーザから部分検索クエリを取得する命令と、
前記部分検索クエリから、前記部分検索クエリに関連する予測完全クエリの集合を予測する命令であって、前記部分検索クエリおよび前記予測完全クエリの集合は第１の言語である、命令と、
前記予測の後、
前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得する命令であって、前記翻訳は、前記第１の言語とは異なる第２の言語であり、前記第２の言語は前記部分検索クエリの取得元の電子デバイスのコンピュータネットワークアドレスに基づいて予測される命令と、
前記予測完全クエリの集合および対応する翻訳の両方を、前記ユーザに対して表示するために、フォーマットする命令と
を含む、コンピュータシステム。
【請求項２２】
ユーザコミュニティにより過去に提出された完全なクエリおよび前記完全なクエリの翻訳を表す、前記メモリに記憶されるデータを含み、
前記予測する命令および前記翻訳を取得する命令は、前記記憶されたデータから、前記予測完全クエリおよび前記予測完全クエリの集合の翻訳を表すデータを抽出する命令を含む、請求項２１に記載のコンピュータシステム。
【請求項２３】
１つまたは複数のプロセッサと、
データおよび前記１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するメモリと
を備える、クエリ情報を処理するクライアントシステムであって、前記１つまたは複数のプログラムは、
検索要求者から部分検索クエリを取得する命令と、
前記クライアントから離れたコンピュータシステムから、前記部分検索クエリに関連する予測完全クエリの集合および前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得する命令であって、前記部分検索クエリおよび前記予測完全クエリの集合は、第１の言語であり、前記翻訳は、前記第１の言語とは異なる第２の言語であり、前記第２の言語は前記部分検索クエリの取得元の電子デバイスのコンピュータネットワークアドレスに基づいて予測される命令と、
前記予測完全クエリの集合から２つ以上の完全なクエリと前記２つ以上の完全なクエリの翻訳のうちの少なくとも部分とを前記検索要求者に対して表示する命令と
を含む、システム。
【請求項２４】
前記クライアントシステムで表示されるウェブページならびに前記予測完全クエリの集合を表す予測データおよび前記コンピュータシステムから取得される翻訳を含む、前記メモリに記憶されるデータを含み、前記予測データのうちの少なくとも部分集合は、前記ウェブページ内に表示される、請求項２３に記載のシステム。
【請求項２５】
コンピュータシステムの１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムは、
ユーザから、部分検索クエリを取得する命令と、
前記部分検索クエリから、前記部分検索クエリに関連する予測完全クエリの集合を予測する命令であって、前記部分検索クエリおよび前記予測完全クエリの集合は、第１の言語である命令と、
前記予測の後、
前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得する命令であって、前記翻訳は、前記第１の言語とは異なる第２の言語であり、前記第２の言語は前記部分検索クエリの取得元の電子デバイスのコンピュータネットワークアドレスに基づいて予測される命令と、
前記予測完全クエリの集合および対応する前記翻訳の両方を、前記ユーザに対して表示するために、フォーマットする命令と
を含む、コンピュータ可読記憶媒体。
【請求項２６】
各クライアント装置またはシステムの１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムは、
検索要求者から部分検索クエリ取得する命令と、
前記部分検索クエリに関連する予測完全クエリの集合および前記予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得する命令であって、前記部分検索クエリおよび前記予測完全クエリの集合は、第１の言語であり、前記翻訳は、前記第１の言語とは異なる第２の言語である、取得する命令と、
前記予測完全クエリの集合から２つ以上の完全なクエリと前記２つ以上の完全なクエリの翻訳の少なくとも部分とを前記検索要求者に対して表示する命令と
を含む、コンピュータ可読記憶媒体。
【請求項２７】
前記部分検索クエリおよび前記予測完全クエリが、２つの言語の事前定義される集合のうちの第１の言語である場合、前記翻訳は、２つの言語の事前定義される集合のうちの第２の言語であり、前記部分検索クエリおよび前記予測完全クエリが、前記第２の言語である場合、前記翻訳は前記第１の言語であり、
前記１つまたは複数のプログラムは、前記電子デバイスのインターネットプロトコルアドレスに少なくとも部分的に基づいて、２つの言語の事前定義される集合を予測する命令を含む、
請求項２１に記載のコンピュータシステム。
【請求項２８】
前記部分検索クエリおよび前記予測完全クエリが、２つの言語の事前定義される集合のうちの第１の言語である場合、前記翻訳は、２つの言語の事前定義される集合のうちの第２の言語であり、前記部分検索クエリおよび前記予測完全クエリが、前記第２の言語である場合、前記翻訳は前記第１の言語であり、
前記１つまたは複数のプログラムは、前記電子デバイスのインターネットプロトコルアドレスに少なくとも部分的に基づいて、２つの言語の事前定義される集合を予測する命令を含む、
請求項２５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
[0001]  開示される実施形態は、一般にはオンライン自動辞書サービスに関する。
【背景技術】
【０００２】
背景
[0002]  オンライン辞書サービスは、個々の単語または用語をある言語から別の言語に翻訳するウェブベースのサービスを含む。翻訳を得るために、ユーザは、完全な単語または用語をある言語で入力して、他の言語での翻訳、定義、または他の情報を受け取る。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
[0003]  後述するいくつかの実施形態によれば、サーバで実行されるクエリ情報を処理する方法は、サーバから離れて配置されたクライアント装置から部分検索クエリを受信するステップを含む。この方法は、部分検索クエリから、部分検索クエリに関連する予測された完全なクエリの集合を予測するステップをさらに含み、予測完全クエリは、ユーザコミュニティにより提出された、過去に提出された完全なクエリを含む。部分検索クエリおよび予測完全クエリの集合は、同じ言語である。さらに、この方法は、予測完全クエリの集合のうちの少なくとも部分集合の翻訳を得るステップであって、翻訳は、予測完全クエリの集合とは異なる言語であるステップ、ならびに予測完全クエリの集合および対応する翻訳の両方をクライアント装置に伝達するステップを含む。
【０００４】
[0004]  いくつかの実施形態によれば、クライアントで実行される方法は、検索要求者から部分検索クエリを受信するステップ、ならびにクライアントから離れたサーバから、部分検索クエリに関連する予測完全クエリの集合および予測完全クエリの集合のうちの少なくとも部分集合の翻訳を得るステップを含む。予測完全クエリは、ユーザコミュニティにより提出された、過去に提出された完全なクエリを含み、翻訳は、予測完全クエリの集合とは異なる言語である。この方法は、予測完全クエリの集合から２つ以上の完全なクエリを表示するステップ、および２つ以上の完全なクエリの翻訳のうちの少なくとも部分を表示するステップも含む。
【０００５】
[0005]  いくつかの実施形態では、クエリ情報を処理するサーバシステムは、１つまたは複数のプロセッサと、データおよび１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するメモリとを含む。１つまたは複数のプログラムは、サーバから離れて配置された検索要求者から部分検索クエリを受信する命令と、部分検索クエリから、部分検索クエリに関連する予測完全クエリの集合を予測する命令とを含み、予測完全クエリは、ユーザコミュニティにより提出された、過去に提出された完全なクエリを含む。１つまたは複数のプログラムは、予測完全クエリの集合のうちの少なくとも部分集合の翻訳を得る命令であって、翻訳は、予測完全クエリの集合とは異なる言語である命令と、予測完全クエリの集合および対応する翻訳の両方を検索要求者に伝達する命令とをさらに含む。
【０００６】
[0006]  いくつかの実施形態では、クエリ情報を処理するクライアントシステムは、１つまたは複数のプロセッサと、データおよび１つまたは複数のプロセッサにより実行される１つまたは複数のプログラムを記憶するメモリとを含む。１つまたは複数のプログラムは、検索要求者から部分検索クエリを受信する命令と、クライアントから離れたサーバから、部分検索クエリに関連する予測完全クエリの集合および予測完全クエリの集合のうちの少なくとも部分集合の翻訳を取得する命令とを含む。予測完全クエリは、ユーザコミュニティにより提出された、過去に提出された完全なクエリを含み、翻訳は、予測完全クエリの集合とは異なる言語である。１つまたは複数のプログラムは、予測完全クエリの集合から２つ以上の完全なクエリを表示する命令および２つ以上の完全なクエリの翻訳の少なくとも部分を表示する命令も含む。
【図面の簡単な説明】
【０００７】
図面の簡単な説明
【図１】[0007]  いくつかの実施形態による例示的な画面ショットを示す。
【図２】[0008]  いくつかの実施形態によるクエリ処理システムのブロック図を示す。
【図３】[0009]  いくつかの実施形態によるクエリ情報の処理に関連するデータ構造を示す。
【図４】[0010]  いくつかの実施形態によるデータベースビルダの概念ブロック図を示す。
【図５Ａ】[0011]  いくつかの実施形態による、部分検索クエリを処理し、予測されたクエリを表示するプロセスを示す。
【図５Ｂ】[0012]  いくつかの実施形態による予測アシスタントでのプロセスを示す。
【図６】[0013]  いくつかの実施形態によるサーバでの部分検索クエリの処理を示す。
【図７】[0014]  いくつかの実施形態によるクライアントでの部分検索クエリの処理を示す。
【図８】[0015]  いくつかの実施形態によるサーバシステムのブロック図である。
【図９】[0016]  いくつかの実施形態によるクライアントシステムのブロック図である。
【発明を実施するための形態】
【０００８】
詳細な説明
[0017]  図１は、クライアント装置に表示された例としてのウェブページ１００を示す。このウェブページは、オンライン辞書サービスに関連付けられ得、「ｂａｎｋ（銀行）」という部分検索クエリの入力を示すテキスト入力ボックス１０２を含む。この図では、ユーザは、プルダウンメニュー１０４から、ユーザが第１の言語から第２の言語への単語または用語の翻訳を求めていることを示す一対の言語を選択している。部分検索クエリの検出に応答して、クライアントシステムは、サーバから予測完全クエリの集合を取得し、ユーザが選択し得る候補を、予測完全クエリをウェブページの表示エリアに表示する。図示のように、完全な予測は、テキスト入力ボックス１０２から延びるドロップダウンボックス１０６内に提示される。部分クエリ「ｂａｎｋ」が、＜ｂａｎｋ＞、＜ｂａｎｋｅｒ＞、および＜ｂａｎｋｉｎｇ＞等の予測完全クエリならびにそれぞれの韓国語翻訳も生成することに留意する。予測のうちの１つがユーザの意図する（が、まだ完全には入力されていない）クエリに一致する場合、ユーザは、例えば、その予測クエリを「クリック」する（またはその予測クエリまでスクロールするか、または強調表示する）ことにより、ドロップダウンボックス１０６からそれぞれの予測クエリを選択することができる。ユーザは、予測クエリを選択するか、または完全なクエリを入力し終えた場合、「Ｆｉｎｄ（検索）」ボタン１０８を押下するか、または予測クエリをクリックして、さらなる情報を辞書から得ることができる。例えば、完全なクエリは、ユーザが翻訳を要求している単語または用語であり得、得られる情報は、翻訳を含み、任意選択的に、単語または用語の様々な文脈の中での使用例等の追加情報を含む。あるいは、ユーザは部分クエリの変更、部分クエリへのより多くの文字の入力、またはクエリの終了を行い得る。
【０００９】
[0018]  いくつかの実施形態では、予測完全クエリのそれぞれは、部分クエリと同じ文字または符号で始まる。しかし、他のいくつかの実施形態では、スペルミスの可能性が識別された場合（例えば、サーバにより）、予測完全クエリのうちの１つまたは複数は、スペル修正候補の文字または符号で始まり得る。あるいは、いくつかの実施形態では、予測完全クエリのそれぞれは、部分クエリまたは部分クエリのスペル修正候補と同じ文字または符号で始まる構成要素（例えば、単語または音節）を含む。
【００１０】
[0019]  図２は、本発明の実施形態の実施に適した分散システム２００を示す。分散システム２００は、通信ネットワーク２０４によりサーバ２０６に接続された１つまたは複数のクライアントシステム２０２を含み得る。各クライアントシステム２０２は、予測アシスタント（図５Ａ、図５Ｂ、および図６を参照して後述する）を有する。各クライアントシステム２０２は、クライアントまたはクライアント装置と呼ばれることもあり、デスクトップコンピュータ、ラップトップコンピュータ、キオスク、携帯電話、個人情報端末等であり得る。通信ネットワーク２０４は、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の１つまたは複数の通信ネットワークを含み得る。サーバ２０６は、任意選択的に、完全な検索クエリおよび部分検索クエリ等のユーザ要求をサーバ２０６内の適切な部分またはサービスに転送するフロントエンドサーバ２０８を含む。いくつかの実施形態では、サーバ２０６は、複数のサーバを含むシステムであり得、部分検索クエリを処理する予測サーバ２１０を含む。完全な検索クエリを処理するクエリサーバ２１４が、任意選択的に、サーバ２０６内に含まれる。示される実施形態では、予測サーバ２１０は、予測データベース２１２内のクエリ予測情報にアクセスし、その一方で、クエリサーバ２１４は、辞書データベース２１８からの翻訳および任意選択的に追加情報にアクセスする。いくつかの実施形態では、予測サーバ２１０およびクエリサーバ２１４は、例えば、別個のロケーションにあり、かつ／または異なるＵＲＬもしくはＩＰアドレスを有する別個のサーバであり、その一方で、他の実施形態では、予測サーバ２１０およびクエリサーバ２１４は、同じサーバか、または同じサーバシステム内に配置される。
【００１１】
[0020]  オプションのクエリログ２１６が、ユーザコミュニティにより提出された検索クエリについての情報を記憶する。いくつかの実施形態では、クエリログ２１６は、サーバ２０６に提出された完全な検索クエリを記憶し、その一方で、他の実施形態では、インターネット検索エンジン等の１つまたは複数の他のサービスに提出された検索クエリを記憶する。より詳細に後述するように、予測データベース２１２は、クエリログ２１６および辞書データベース内の情報に基づいて生成し得、この辞書データベースは、クエリサーバ２１４が使用する辞書データベース２１８と同じであってもよく、または同じでなくてもよい。
【００１２】
[0021]  図３は、本発明のいくつかの実施形態による、マッピング関数および部分検索クエリを処理するデータ構造を示す。各ユーザから受信した部分検索クエリ３０２は、マッピング関数３０４により処理される。マッピング関数３０４は、チャンクテーブル３０６内で、部分検索クエリ３０２に一致するエントリ３０７を識別する。例えば、マッピング関数３０４およびチャンクテーブル３０６は、ハッシュ関数およびハッシュテーブルを使用して実施し得るが、同様に他の実施態様を使用してもよい。チャンクテーブル３０６の各エントリ３０７には、ユーザから受信し得る潜在的な部分検索クエリであるテキストストリングが関連付けられる。チャンクテーブル内の各エントリ３０７は、部分検索クエリ毎に、完全なクエリ用途３２０のトークンテーブル３１２内のエントリ３１４への１つまたは複数のポインタ３１０を含む。任意選択的に、チャンクテーブルの各エントリ３０７は、テキストストリング３０８またはユーザ指定の部分検索クエリとマッピング関数３０４により識別されたチャンクテーブルエントリとの一致を検証する他の値（例えば、固定長ＣＲＣ値）を含む。
【００１３】
[0022]  示されるように、各チャンクテーブルエントリ３０７−１内のポインタ３１０−１−２には、ストリング３０８−１（またはストリングを表す他の値）が関連付けられ、トークンテーブル３１２内のエントリ３１４−２を指す。さらに、多くの実施形態では、チャンクテーブル３０６内の複数のエントリ３０７が、トークンテーブル内の同じエントリ３１４へのポインタ３１０を含む。例えば、チャンクテーブル内のエントリ＜ｂ＞、＜ｂａ＞、および＜ｂａｎ＞のそれぞれは、完全なクエリ用語＜ｂａｎｋ＞のトークンテーブルエントリ３１４へのポインタを含む。
【００１４】
[0023]  トークンテーブル３１２内の各エントリ３１４は、完全なクエリ用語３２０および完全な検索クエリの簡潔な翻訳３１８を指定する。いくつかの実施形態では、各エントリ３１４は、完全なクエリ用語に関連付けられた頻度３１６または他の値も含む。頻度または他の値３１６は、含まれる場合、完全なクエリ用語の重み、重要性、または人気度を表し得る。各エントリ３１４内で、完全なクエリ用語３２０は簡潔な翻訳３１８と異なる言語である。いくつかの実施形態では、単一のトークンテーブル３１２が、用語を第１の言語（例えば、英語）から第２の言語（例えば、韓国語）に翻訳するエントリ３１４ならびに用語を第２の言語から第１の言語に翻訳する他のエントリ３１４を含み得る。これは、２つの言語での単語が別個に符号化される（例えば、標準ユニコード符号化を使用して）場合に特に実用的である。いくつかの実施形態では、サーバ２０６または予測完全検索クエリおよび定義の生成に使用される予測サーバ２１０（図２）は、特定の言語対に関連する予測情報をそれぞれ提供する複数のチャンクテーブルおよびトークンテーブルを含む。
【００１５】
[0024]  図４は、いくつかの実施形態により、データベースビルダがどのようにして図３のチャンクテーブルおよびトークンテーブルを構築するかを示す概念ブロック図を示す。履歴クエリログ４０２は、ユーザコミュニティにより提出されたクエリを含む。クエリは、それらクエリの翻訳を調べるためのクエリであってもよく、またはインターネット検索エンジンもしくは他のオンラインサービスに提出されたクエリであってもよい。辞書データベース４０４は、用語および用語の翻訳を含む。履歴クエリログ４０２および辞書データベース４０４の内容は、フィルタ４０６により処理されて、トークンテーブル４０８が作成される。フィルタは、辞書データベース４０４内のエントリに一致しないクエリを（ログ４０２から）除去する。フィルタ４０６は、辞書データベース内に含まれる場合であっても、好ましくないと見なされ得る単語等の事前定義された用語の集合に一致するクエリをさらに除去し得る。フィルタリングされたクエリは、トークンテーブル４０８内の用語４１０（完全な検索クエリとも呼ばれる）になる。トークンテーブル４０８は、各用語４１０の簡潔な定義も含み、任意選択的に、各用語４１０の頻度または重み４１２を含む。頻度４１２は、履歴クエリログ４０２から導出される。例えば、各用語４１０の頻度４１２は、用語４１０を含む履歴クエリ数のカウントまたは正規化されたカウントとして計算し得る。上述したように、頻度４１２は、トークンテーブル４０８内のすべての頻度値が０〜１、０〜２Ｎ−１、または０〜Ｍ等の事前定義された範囲内にあるように正規化し得る。但し、Ｎは正の整数であり、Ｍは正の値である。
【００１６】
[0025]  いくつかの代替の実施形態では、フィルタ４０６は、履歴クエリログ４０２にアクセスせずに、辞書データベース４０４の内容を有するトークンテーブル４０８を作成する。そのような場合、トークンテーブル４０８は、辞書データベース全体から、または辞書データベース内の用語の部分集合からの用語を含み得る。
【００１７】
[0026]  各トークンテーブルエントリ４１６内の簡潔な定義４１４は、辞書データベース４０４からコピーされるか、または辞書データベース４０４から導出される。例えば、簡潔な定義４１４は、辞書データベース４０４内の用語４１０の第１の定義から抽出され得る。あるいは、簡潔な定義４１４は、わずか数個の単語で提示できる定義の最も有意味部分を抽出することを目標とする規則セットに従って辞書データベース４０４内の情報から導出され得る。通常、用語４１０は第１の言語（例えば、英語）であり、簡潔な定義４１４は、用語４１０の第２の言語（例えば、韓国語）の翻訳である。この文脈の中では、用語４１０の「翻訳」は、従来の翻訳であってもよく、または第２の言語での用語の説明であってもよい。用語によっては、後述するように、簡潔な定義４１４は、対応する用語４１０と同じ言語での対応する用語４１０の同義語または完成形である（またはそれら同義語または完成形を含む）。
【００１８】
[0027]  いくつかの実施形態では、トークンテーブル内の各用語４１０が略語または短縮語である場合、対応する簡潔な定義４１４（トークンテーブル４０８内の）は、翻訳に加えて、または翻訳に代えて、略語または短縮語の完成形または同義語を含む。例えば、簡潔な定義４１４は、用語４１０が「ＵＳＡ」であるエントリの場合、「Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  ｏｆ  Ａｍｅｒｉｃａ」であり得、他の例は、用語「ｅｔｃ．」の場合には「ｅｔｃｅｔｅｒａ」であり、用語「ｅ．ｇ．」の場合には「ｆｏｒ  ｅｘａｍｐｌｅ」である。いくつかの実施形態では、完成形（完全な形で綴られた語とも呼ばれる）および／または同義語は、辞書データベース４０４からコピーされるか、または辞書データベース４０４から導出される。いくつかの他の実施形態では、完成形および／または同義語は異なる辞書またはデータベースから別個に挿入される。それら特別な（例えば、同義語または完成形の）場合では、同義語または完成形は、対応する予測完全クエリと同じ言語である。
【００１９】
[0028]  トークンテーブル４０８内の用語４１０は、パーサ４１８およびチャンクテーブルビルダ４２０によりさらに処理される。パーサ４１８は、各用語４１０をトークンテーブル４０８からとり、用語を解析して部分クエリ４２２にする。いくつかの実施形態では、部分クエリ４２２は、用語４１０の最初の１つまたは複数の文字に対応するストリングである。例えば、パーサは、用語「ｂａｎｋ」から部分クエリ＜ｂ＞、＜ｂａ＞、＜ｂａｎ＞、および＜ｂａｎｋ＞を生成し得る。別の例では、パーサは、用語「ｂａｔｈ」から部分クエリ＜ｂ＞、＜ｂａ＞、＜ｂａｔ＞、および＜ｂａｔｈ＞を生成し得る。
【００２０】
[0029]  チャンクテーブルビルダ４２０は、部分クエリ４２２およびトークンテーブル４０８に基づいてチャンクテーブル４２４を構築する。チャンクテーブル４２４は、部分クエリ４２６および部分クエリ４２６に関連付けられたトークンテーブルエントリへのポインタ４２８を含む。例えば、部分クエリ＜ｂａ＞のチャンクテーブルエントリは、完全なクエリ用語＜ｂａｎｋ＞および＜ｂａｔｈ＞のトークンテーブルエントリへのポインタを有し得る。チャンクテーブル４２４を１つまたは複数のテーブルに構造化して、部分クエリ４２６および／またはトークンテーブルエントリへのポインタ４２８へのアクセスを容易にし得る。いくつかの他の実施形態では、部分クエリ４２２は、追加または代替として、多音節用語４１０内の２つ以上の別個の音節の音節境界で始まる文字シーケンスを含む。例えば、用語「ｄａｔａｂａｓｅ」の場合、チャンクテーブル４２４内の部分クエリは、＜ｂ＞、＜ｂａ＞、＜ｂａｓ＞等ならびに＜ｄ＞、＜ｄａ＞、＜ｄａｔ＞等を含み得る。
【００２１】
[0030]  いくつかの実施形態では、チャンクテーブルビルダ４２０は、チャンクテーブル４２４内に、部分検索クエリが第１の言語であることが意図される場合、第２の言語での部分検索クエリ表現を含む。例えば、ユーザが、韓国語で「ｍｏｂｉｌｅ」を意味するクエリ
【数１】
0005474960.tif 000002
の入力を意図する場合、ユーザが誤った英語入力法を使用したとき、ユーザのタイピングは、韓国語入力法でタイプされた場合の韓国語検索クエリを生成したキーボードストロークに対応するローマ字検索クエリ「ａｈｑｋｄｌｆ」に繋がり得る。チャンクテーブルビルダ４２０は、検索クエリ「ａｈｑｋｄｌｆ」およびその部分検索クエリをチャンクテーブル４２４に追加し得る（韓国語検索クエリおよび部分検索クエリに加えて）。これら追加エントリのそれぞれは、韓国語
【数２】
0005474960.tif 000003
に対応するトークンテーブルトークン４０８内のエントリ４１６へのポインタ４２８を含む。
【００２２】
[0031]  ローマ字表現へのクエリの韓国語文字ストリングの変換は、各音節ブロック文字の構成成分をなす各子音または母音のインデックスを計算することにより達成することができる。ユニコードで表された韓国語文字の場合、文字は、
ユニコード＝（最初の子音＊２１＊２８）＋（中間母音＊２８）＋オプションの終了＋０ｘＡＣ００
として構成される。
【００２３】
[0032]  図５Ａは、クライアントシステム５０２およびサーバ５０４を含むいくつかの実施形態による、部分検索クエリを処理し、予測完全クエリを得るプロセスを示す。このプロセスのさらなる詳細および実施形態について、図５Ａ、図６、および図７を参照して後述する。このプロセスは、クライアントが部分検索クエリをユーザ（検索要求者とも呼ばれる）から受信したときに開始される（５０６）。部分検索クエリは、１つもしくは複数の文字または１つもしくは複数の単語であり得る。クライアントは、サーバから、予測完全クエリの集合および予測完全クエリの翻訳を得る（５０８）。これは、サーバに要求を行い、サーバから応答を受信することにより達成し得る。要求は、ユーザからの部分検索クエリを含む。サーバは、部分検索クエリをクライアントから受信した場合（５１０）、部分検索クエリから完全なクエリの集合を予測する（５１２）。いくつかの実施形態では、予測は、図３を参照して説明したように、部分検索クエリをチャンクテーブル内のエントリにマッピングすることにより行われる。サーバは、予測完全クエリのうちの少なくとも部分集合の翻訳も取得し、予測完全クエリは第１の言語であり、翻訳（定義または簡潔な定義とも呼ばれる）は第２の言語である（５１２）。サーバは、クライアントに、予測完全クエリおよび対応する翻訳を含む応答を伝達する（５１４）。クライアントは、上述したように応答を受信する。続けて、クライアントは、予測完全クエリの集合から２つ以上の完全なクエリおよび予測される完全クエリの翻訳のうちの少なくとも部分を表示する（５１６）。より詳細に他のどこかで考察するように、予測完全クエリのうちの１つまたは複数について受信される予測データは、対応する完全なクエリの翻訳以外の簡潔な定義を含み得る。
【００２４】
[0033]  上述したように、いくつかの実施形態では、予測完全クエリが略語または短縮語を含む場合、クライアントに返される情報は、任意選択的に、予測完全クエリの翻訳に加えて、またはそれに代えて、予測完全クエリの完成形または同義語を含む。
【００２５】
[0034]  いくつかの実施形態では、クライアントは、サーバから取得される予測完全クエリの集合全体を表示し得る。いくつかの他の実施形態では、クライアントは、画面サイズもしくはインターネットブラウザウィンドウのウィンドウサイズおよび／またはユーザもしくはデフォルトにより設定される表示する完全なクエリ数等の要因を含む事前定義される基準に基づいて選択される２つ以上の完全なクエリを表示する。
【００２６】
[0035]  いくつかの実施形態では、クライアントは、サーバから得られた翻訳を表示する。いくつかの他の実施形態では、クライアントは翻訳の部分を表示する。部分は、画面サイズもしくはインターネットブラウザウィンドウのウィンドウサイズおよび翻訳のストリング長等の１つまたは複数の要因を含む別の事前定義される基準に基づいて選択される。いくつかの実施形態では、クライアントは、任意の同義語または完全な形で綴られた用語がサーバにより返される情報内に含まれる場合、翻訳への追加または代替として、同義語または完全な形で綴られた用語を表示する。
【００２７】
[0036]  図５Ｂは、クライアントシステム２０２の予測アシスタント５５０内で実施し得る実施形態を示す。予測アシスタント５５０は、クライアントシステム上のテキスト入力ボックス内への検索クエリのユーザ入力を監視する（５５２）。ユーザの入力は、１つもしくは複数の文字または１つもしくは複数の単語（例えば、語句の最初の１もしくは２つの単語または最初の単語および複合語の語句の新しい単語の最初の文字、キャラクタ、もしくは符号）を入力し得る。予測アシスタント５５０は、２つの異なる種類のクエリを識別し得る。第１に、予測アシスタント５５０は、ユーザが入力ストリングの完了を示す前に入力が識別される場合（後述するように）、部分検索クエリを受信または識別する。第２に、予測アシスタント５５０は、ユーザが提示された予測を選択するか、または入力ストリングの完了を示した場合、ユーザ入力を受信または識別する。
【００２８】
[0037]  ユーザ入力または選択が、ユーザ入力の完了として識別された場合、完了したユーザ入力は、処理のためにサーバに送信される（５５４）。サーバは検索結果の集合を返し、検索結果の集合は、予測アシスタント５５０またはブラウザアプリケーション等のクライアントアプリケーションにより受信される（５５６）。いくつかの実施形態では、ブラウザアプリケーションは、検索結果を少なくともウェブページの部分として表示する。いくつかの他の実施形態では、予測アシスタント５５０は検索結果を表示する。あるいは、完了したユーザ入力の送信５５４および検索結果の受信５５６は、予測アシスタント５５０以外のメカニズムにより実行されてもよい。例えば、これら動作は、標準の要求・応答プロトコルを使用してブラウザアプリケーションにより実行してもよい。
【００２９】
[0038]  ユーザ入力は、ユーザが改行もしくは同等の文字を入力した場合、検索クエリの入力中にユーザに提示されるグラフィカルユーザインタフェース（ＧＵＩ）での「ｆｉｎｄ（検索）」または「ｓｅａｒｃｈ（サーチ）」ボタンを選択した場合、または検索クエリの入力中にユーザに提示される予測クエリの集合のうちの１つを選択することによるなどのいくつかの方法で、予測アシスタント５５０（またはブラウザまたは他のアプリケーション）により完了したユーザ入力として識別し得る。検索クエリの入力終了を通知するいくつかの方法を当業者なら認識するであろう。
【００３０】
[0039]  ユーザ入力の完了をユーザが示す前に、部分検索クエリを識別し得る。例えば、部分検索クエリは、テキスト入力ボックス内への文字の入力または削除を検出することにより識別される。部分検索クエリは、識別されると、サーバに送信される（５５８）。部分検索クエリに応答して、サーバは、予測完全検索クエリおよび予測完全検索クエリのうちの少なくとも部分集合の翻訳を含む予測を返す。予測アシスタント５５０は、予測を受信し（５６０）、提示（例えば、表示、発音）する（５６２）。
【００３１】
[0040]  予測クエリおよび翻訳がユーザに提示された後（５６２）、ユーザは、予測の１つが意図する入力に一致する場合、予測完全検索クエリのうちの１つを選択し得る。いくつかの場合では、予測は、考慮されなかった追加情報をユーザに提供し得る。例えば、ユーザは、検索戦略の一環として１つのクエリが頭にあり得るが、予測結果を見ることで、入力戦略を変更する。集合が提示されると（５６２）、ユーザの入力は再び監視される。ユーザが予測のうちの１つを選択した場合、ユーザ入力は完全なクエリとして（本明細書では完了したユーザ入力とも呼ばれる）サーバに送信される（５５４）。要求が送信された後、ユーザの入力動作が再び監視される（５５２）。
【００３２】
[0041]  いくつかの実施形態では、予測アシスタント５５０は、追加の予測結果をサーバから事前ロードし得る（５６４）。事前ロードされた予想結果は、ユーザ入力に対する応答速度を改良するために使用し得る。例えば、ユーザが＜ｂａｎ＞を入力した場合、予測アシスタント５５０は、＜ｂａｎ＞に対する予測結果に加えて、＜ｂａｎａ＞、・・・、および＜ｂａｎｋ＞に対する予測結果を事前ロードし得る。ユーザが、さらに１つの文字、例えば＜ｋ＞を入力して、（部分検索クエリ）入力を＜ｂａｎｋ＞にした場合、部分検索クエリをサーバに送信せずに、または予測を受信せずに、＜ｂａｎｋ＞に対する予測結果を表示することができる。
【００３３】
[0042]  いくつかの実施形態では、予測結果の１つまたは複数の集合は、クライアントにローカルにキャッシュされる。検索要求者が、先の部分入力を反映するように現在のクエリを変更した場合（例えば、バックスペースキーを押下して、いくつかの文字を削除することにより）、部分入力がサーバに送信されることに代えて、先の部分結果に関連付けられた予測結果の集合がクライアントキャッシュから検索され、再びユーザに再提示される。
【００３４】
[0043]  最終入力に対する結果またはドキュメントを受信した（５５６）後、あるいは予測完全検索クエリを表示し（５６２）、任意選択的に予測結果を事前ロードした（５６４）後、予測アシスタント５５０は、ユーザが、例えば、予測アシスタント５５０を含むウェブページを閉じることにより予測アシスタント５５０を終了するまで、ユーザ入力を監視し続ける（５５２）。
【００３５】
[0044]  図６は、いくつかの実施形態による、サーバにおいて部分検索クエリを処理する方法またはプロセスを示す。サーバでのプロセスは、サーバが部分検索クエリをクライアント装置から受信した場合に開始される（６０２）。いくつかの実施形態では、サーバは、部分検索クエリをクライアント装置上のウェブページから受信する（６０８）。
【００３６】
[0045]  各部分検索クエリを受信する前に、サーバは、第１の言語での単語または用語およびその単語または用語の第２の言語での翻訳を含む結果を返す際に使用する言語対を識別する。いくつかの実施形態では、サーバは、クライアントから、ユーザにより選択された言語対を受信し得る（６０４）。いくつかの他の実施形態では、サーバは、例えば、部分検索クエリのユニコード、クライアントのインターネットプロトコル（ＩＰ）アドレス、および／またはユーザコミュニティにより提出された検索クエリに基づく統計等の複数の要因に基づいて、言語対を予測し得る。
【００３７】
[0046]  部分検索クエリを受信した後、サーバは、部分検索クエリから、完全なクエリの集合を予測する（６１０）。いくつかの実施形態では、予測完全クエリの集合は、複数の別個の用語を含む。いくつかの他の実施形態では、予測完全クエリはすべて互いに異なる。いくつかの実施形態では、予測は、ユーザコミュニティにより過去に提出された完全なクエリに基づく。クエリは、それらクエリの翻訳を調べるためのクエリであってもよく、またはインターネット検索エンジンもしくは他のオンラインサービスに提出されたクエリであってもよい。
【００３８】
[0047]  いくつかの実施形態では、予測は、部分検索クエリに対する完全クエリの集合を得ることに加えて、第１の言語の部分検索クエリを第２の言語での表現に変換すること（例えば、ユーザのキーストロークがまるで第２の言語で部分クエリを入力するために使用されたかのようにユーザのキーストロークを扱うことにより）および変換された部分検索クエリに対する完全クエリの集合を得ることを含む。
【００３９】
[0048]  いくつかの実施形態では、予測は、部分検索クエリをチャンクテーブル内のエントリにマッピングすることにより行われる（６１２）。チャンクテーブルは、図３を参照して上述したように、トークンテーブル内のエントリへのポインタを含めて構造化し得る。いくつかの実施形態では、部分検索クエリを予測完全検索クエリにマッピングするために、別個のチャンクテーブルが各言語対に使用される。
【００４０】
[0049]  各予測完全クエリのうちの少なくとも部分集合について、サーバは対応する翻訳を取得する（６１０）。翻訳は、各予測完全クエリに一致するエントリを参照することにより、予測データベース２１２、辞書データベース２１８、トークンテーブル３１２、または他の任意の辞書データベースから取得し得る。上述したように、いくつかの実施形態では、各予測完全クエリが略語または短縮語である場合、クライアントに返される情報は、任意選択的に、各予測完全クエリに対する追加または代替として、各予測完全クエリの完成形または同義語を含む。したがって、そのような用語の場合、予測データは、用語の完成形もしくは同義語または（Ａ）用語と同じ言語の完成形／同義語および（Ｂ）第２の言語での用語の翻訳もしくは他の説明の両方を含む簡潔な定義を含む。
【００４１】
[0050]  いくつかの実施形態では、予測完全クエリはフィルタリングされて、好ましくないと見なされ得る単語等の事前定義される用語の集合に一致する任意のクエリが除去される（６１４）。換言すれば、予測完全クエリの集合はフィルタリングされて、事前定義されるクエリの集合のメンバである任意の予測完全クエリが除去される。
【００４２】
[0051]  いくつかの実施形態では、クエリの部分集合が、予測完全クエリから選択され、部分集合内のクエリ数は事前定義される数Ｎである（６１６）。選択は、辞書編纂順（アルファベット順と呼ばれることもある）、ユーザコミュニティによる各予測完全クエリの提出頻度、データベース内での完全クエリのエントリ順、および事前定義される数Ｎ等の事前定義される基準に基づいて行うことができる。
【００４３】
[0052]  いくつかの実施形態では、識別される（または選択される）予測完全クエリはサーバにより順序付けられる（６１８）。いくつかの実施形態では、順序付けること（６１８）は、予測完全クエリを辞書編纂順に並び替える（６２０）。いくつかの実施形態では、予測検索クエリは、ユーザコミュニティによる予測完全クエリの提出頻度に従って順序付けられる。いくつかの実施形態では、検索クエリは、少なくとも部分的に、クエリが最後に提出された時間値／日付値に従って順序付けられる。いくつかの実施形態では、検索クエリは、ユーザの個人情報またはコミュニティ情報等の個人情報に従って順序付けられる。例えば、ユーザ個人情報は、ユーザが関心を有する情報のテーマ、コンセプト、および／またはカテゴリについての情報を含み得る。ユーザ個人情報は、ユーザにより直接提供されてもよく、またはユーザの過去の検索もしくは閲覧動作からユーザの許可を得て推測されてもよく、あるいは少なくとも部分的に、ユーザに関連付けられたグループもしくはユーザが属する（例えば、メンバもしくは従業員として）グループについての情報に基づいてもよい。予測検索クエリの集合は、最初に、事前定義される人気度基準等の第１ランクの基準に従って順序付け、次に、任意の予測検索結果がユーザのユーザ個人情報に一致する場合、一致した予測検索クエリを予測検索クエリの順序付き集合の最上位に、または最上位近くに配置するように並べ替えられてもよい。いくつかの実施形態では、部分検索クエリが予測完全クエリの集合のエントリに一致する場合、その部分検索クエリを、順序付き予測完成クエリの最上位または事前定義される第１の場所に配置することができる（６２２）。
【００４４】
[0053]  いくつかの実施形態では、サーバは、識別（または選択）される予測完全クエリおよび対応する翻訳を含む応答をフォーマットする（６２４）。いくつかの実施形態では、サーバは、スペル修正用語が提供される場合、スペル修正用語も応答内に組み込む（６２６）。
【００４５】
[0054]  いくつかの実施形態では、スペル修正用語は、サーバ（またはスペルチェックを実行する別のサーバ）が、ユーザ入力がスペルミスを含み得ると判断した場合に提供される。スペル修正は、多くの方法で生成することができる。例えば、部分検索クエリは、スペルミスのある検索クエリおよび正確なスペルを有する対応する検索クエリを含むスペル辞書内のエントリと突き合わせてチェックすることができる（６２８）。別の例では、スペル修正は、部分検索クエリと最も密に一致する完全検索クエリとの類似度および相違度に基づいて示唆し得る。スペル修正を生成する方法に関係なく、スペル修正がある場合、スペル修正が返される（６３０）。
【００４６】
[0055]  サーバは、予測完全クエリおよび対応する翻訳を含む応答をクライアントに伝達する（６３２）。いくつかの実施形態では、部分検索クエリ（および言語対選択）をクライアントから受信し、応答を伝達することは、クライアントとサーバとの間の単一のトランザクションで完了する（６３４）。例えば、単一のトランザクションは、単一のＨＴＴＰ要求およびそのＨＴＴＰ要求に対する単一の応答を含み得る。
【００４７】
[0056]  図７は、いくつかの実施形態によるクライアントでの部分検索クエリの処理を示す。クライアントにおけるこのプロセスは、クライアントが部分検索クエリを検索要求者から受信する場合に開始される（７０２）。いくつかの実施形態では、クライアントは、部分検索クエリをクライアント上のウェブページから受信する（７０６）。
【００４８】
[0057]  いくつかの実施形態では、ユーザは、ユーザが第１の言語から第２の言語への単語または用語の翻訳を求めていることを示す言語対を選択し得る（７０４）。いくつかの実施形態では、ユーザの言語対の前の選択またはサーバにより予測される言語対を、例えば、キャッシュまたはクッキー内にローカルに記憶し得る。部分検索クエリをユーザから受信すると、クライアントは、前に使用された言語対を参照し、言語対情報をサーバとのトランザクションの一環として送信し得る。
【００４９】
[0058]  次に、クライアントは、サーバから、予測完全クエリの集合および予測完全クエリの翻訳を得る（７１０）。これを達成するために、クライアントは、図５Ｂを参照して説明したように、要求を送信し、応答を受信し得る。いくつかの実施形態では、予測は、ユーザコミュニティにより過去に提出された完全クエリに基づく。クエリは、それらクエリの翻訳を調べるためのクエリであってもよく、またはインターネット検索エンジンもしくは他のオンラインサービスに提出されたクエリであってもよい。いくつかの実施形態では、クライアントは、応答の一部としてスペル修正用語を取得し得る（７１２）。
【００５０】
[0059]  いくつかの実施形態では、予測完全クエリは、クライアントにおいてフィルタリングされて、事前定義された用語の集合に一致するあらゆるクエリが除去される（７１４）。事前定義される用語の集合は、好ましくないと見なされ得る単語、あるいはユーザにより設定される単語、またはペアレントコントロールアプリケーション等の他のアプリケーションにより提供される単語であり得る。上述したように、いくつかの実施形態では、予測完全クエリは、サーバにおいてフィルタリングされて、好ましくない用語が除去され、この場合、クライアントでのファイル他リングは、実行される場合、サーバでのフィルタリングに加えて実行される。例えば、クライアントは、サーバにより実行されるフィルタリング（もしあれば）よりも厳格なフィルタリングを実施し得る。
【００５１】
[0060]  いくつかの実施形態では、クエリの部分集合が予測完全クエリから選択され、部分集合内のクエリ数は事前定義される数Ｎである（７１６）。この選択は、辞書編纂順、サーバから受信される応答内の予測完全クエリの順序、データベース内の完全クエリのエントリの順序、および事前定義される数Ｎ等の事前定義される基準に基づいて行われ得る。例えば、いくつかの実施形態では、応答内の予測完全クエリは、最も人気のあるものから最も人気のないものに、または最高値から最低値に単調に順序付けられる（応答内で）、クライアントは、応答内のＮ個の最も人気のあるクエリまたはＮ個の最高値クエリを選択する。あるいは、クライアントは、応答内で予測完全クエリを辞書編纂順（例えば、アルファベット順）に順序付けし（７２０）、次に、予測完全クエリの記録されたリスト内のＮ個の最初のクエリを選択し得る。
【００５２】
[0061]  いくつかの実施形態では、識別（または選択）される予測完全クエリは、クライアントにより順序付けられる（７１８）。例えば、順序付けることは、識別（または選択）された予測完全クエリを辞書編纂順に並べ替えることができる（７２０）。いくつかの実施形態では、部分検索クエリが、予測完全クエリの集合のエントリに一致する場合、その部分検索クエリは、予測完成クエリのリストの最上位（または事前定義された第１の場所）に配置することができる（７２２）。
【００５３】
[0062]  いくつかの実施形態では、クライアントは、識別（または選択）された予測完全クエリおよび対応する翻訳を含む応答をフォーマットする（７２４）。いくつかの実施形態では、サーバは、スペル修正用語が提供される場合、スペル修正用語も応答内に組み込む（７２６）。
【００５４】
[0063]  クライアントは、図５Ａを参照して上述したように、予測完全クエリの集合から２つ以上の完全クエリおよび表示された予測完全クエリの翻訳の少なくとも部分を表示する（７２８）。表示する予測完全クエリの数および表示する翻訳の部分は、上述した任意の方法を使用して決定し得る。予測完全検索クエリおよび翻訳をユーザに提示するいくつかの方法を当業者なら認識するであろう。例えば、予測完全検索クエリおよび翻訳は、非永続的なウィンドウの部分、ポップアップウィンドウ、現在の表示の部分、またはユーザインタフェースの部分に表示することができる。クライアントは、スペル修正用語が提供される場合、スペル修正用語も表示し得る（７３０）。
【００５５】
[0064]  図８を参照すると、上述した方法を実施するクライアントシステム８００（本明細書ではクライアント８００とも呼ばれる）の実施形態は、１つまたは複数の処理ユニット（ＣＰＵ）８０２、１つまたは複数のネットワークまたは他の通信インタフェース８０４、メモリ８０６、およびこれら構成要素を相互接続する１つまたは複数の通信バス８０８を含む。クライアント８００は、図２のクライアント２０２および図５Ａのクライアント５０４に対応し得るクライアント装置またはシステムの実施形態である。通信バス８０８は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路（チップセットと呼ばれることもある）を含み得る。クライアント８００は、任意選択的に、ユーザインタフェース８１０を含み得る。いくつかの実施形態では、ユーザインタフェース８１０は、表示装置８１２および／またはキーボード８１４を含むが、同様に他の構成のユーザインタフェースを使用してもよい。メモリ８０６は、高速ランダムアクセスメモリを含み得、１つまたは複数の磁気記憶ディスク、光学記憶ディスク、フラッシュメモリ装置、または他の不揮発性固体状態記憶装置等の不揮発性メモリも含み得る。高速ランダムアクセスメモリは、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体状態メモリ装置等のメモリ装置を含み得る。メモリ８０６は、任意選択的に、ＣＰＵ８０２から離れて配置された大容量記憶装置を含み得る。メモリ８０６または代替としてメモリ８０６内の不揮発性メモリ装置は、コンピュータ可読記憶媒体を含む。メモリ８０６は、以下の要素またはそれら要素の部分集合：
・様々な基本システムサービスを処理し、ハードウェアに依存したタスクを実行するためのプロシージャを含むオペレーティングシステム８１６、
・１つまたは複数の通信ネットワークインタフェース８０４およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の１つまたは複数の通信ネットワークを介してクライアントシステム８００を他のコンピュータに接続するために使用されるネットワーク通信モジュール（または命令）８１８、
・ユーザとインタフェースして、検索クエリを受信する命令、検索クエリをサーバまたはオンラインサービスに提出する命令、および検索結果を表示する命令を含み得る、クライアントアプリケーション８２０（例えば、インターネットブラウザアプリケーション）、
・クライアント８００に表示されるか、または他の様式で提示されるウェブページコンテンツ８２４を含むウェブページ８２２であって、クライアントアプリケーション８２０と併せて、ウェブページコンテンツ８２４を提示し、クライアント８００のユーザと対話するためのグラフィカルユーザインタフェースを実施する、ウェブページ８２２、
・予測完全検索クエリおよび対応する翻訳を含むデータ８３６、および
・予測アシスタント８２６
を記憶し、追加の要素を記憶することもできる。
【００５６】
[0065]  最低でも、予測アシスタント８２６は、部分検索クエリ情報をサーバに送信する。予測アシスタントは、予測完全クエリおよび対応する翻訳ならびに表示された予測完全検索クエリのうちユーザが選択したものを含む予測データを表示できるようにもし得る。いくつかの実施形態では、予測アシスタント８２６は、以下の要素またはそのような要素の部分集合：検索クエリの入力およびサーバに送信する部分検索クエリの選択を監視する入力・選択監視モジュール（または命令）８２８、部分検索クエリおよび（任意選択的に）完了した検索クエリをサーバに送信する部分／完全入力送信モジュール（または命令）８３０、予測クエリを受信する予測データ受信モジュール（または命令）８３２、ならびに予測および結果を表示する予測データ表示モジュール（または命令）８３４を含む。最終的な（すなわち、完了した）クエリの送信、完了したクエリの検索結果の受信、およびそのような結果の表示は、クライアントアプリケーション／ブラウザ８２０、予測アシスタント８２６、またはこれらの組み合わせにより処理し得る。予測アシスタント８２６は、多くの方法で実施することができる。
【００５７】
[0066]  いくつかの実施形態では、クエリの入力およびクエリに対する応答の提示に使用される１つ（または複数の）ウェブページ８２２は、JavaScript（商標）または他の埋め込みコード、例えば、Macromedia FlashオブジェクトまたはMicrosoft Silverlightオブジェクト（これらは両方とも各ブラウザプラグインと協働する）あるいは部分検索クエリのサーバへの送信、予測検索クエリの受信および表示、ならびに任意の予測検索クエリのユーザ選択に対応する応答に役立つ命令も含む。特に、いくつかの実施形態では、予測アシスタント８２６は、例えば、JavaScript（Sun Microsystemsの商標）を使用して実装される実行可能な関数として、またはクライアント８００が実行可能な他の命令としてウェブページ８２２内に埋め込まれる。あるいは、予測アシスタント８２６は、クライアントアプリケーション８２０の一部として、またはクライアントアプリケーション８２０と併せてクライアント８００により実行されるクライアントアプリケーション８２０の拡張、プラグイン、もしくはツールバーとして実装される。さらに他の実施形態では、予測アシスタント８２６は、クライアントアプリケーション８２０とは別個のプログラムとして実装される。
【００５８】
[0067]  図９は、上述した方法を実施するサーバシステム９００の実施形態を示す。サーバシステム９００は、１つまたは複数の処理ユニット（ＣＰＵ）９０２、１つまたは複数のネットワークまたは他の通信インタフェース９０４、メモリ９０６、およびこれら構成要素を相互接続する１つまたは複数の通信バス９０８を含む。通信バス９０８は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路（チップセットと呼ばれることもある）を含み得る。いくつかの他の実施形態では、複数のサーバを使用してサーバシステム９００を実施して、スループットおよび信頼性を向上させてもよいことを理解されたい。例えば、クエリログ９１０は、サーバシステム９００内の複数のサーバのうちの他のいくつかのサーバと通信し、それらサーバと協働する別個のサーバに実装し得る。別の例として、予測データベースビルダ９１２は、別個のサーバまたは計算装置に実装し得る。したがって、図９は、本明細書において説明する実施形態の構造的な概略よりも、サーバセット内に存在し得る様々な特徴の機能的な説明であることを目的とする。サーバシステム９００の実施に使用される実際のサーバ台数および特徴がサーバにどのように割り振られるかは、実施態様毎に様々であり、部分的に、システムがピーク使用期間中ならびに平均使用期間中に処理しなければならないデータトラフィックに依存し得る。
【００５９】
[0068]  メモリ９０６は、高速ランダムアクセスメモリを含み得、１つまたは複数の磁気記憶ディスク、光学記憶ディスク、フラッシュメモリ装置、または他の不揮発性固体状態記憶装置等の不揮発性メモリも含み得る。高速ランダムアクセスメモリは、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体状態メモリ装置等のメモリ装置を含み得る。メモリ９０６は、任意選択的に、ＣＰＵ９０２から離れて配置される大容量記憶装置を含み得る。メモリ９０６または代替としてメモリ９０６内の不揮発性メモリ装置は、コンピュータ可読記憶媒体を含む。メモリ９０６は、以下の要素またはそれら要素の部分集合：
・様々な基本システムサービスを処理し、ハードウェアに依存したタスクを実行するためのプロシージャを含むオペレーティングシステム９１６、
・１つまたは複数の通信ネットワークインタフェース９０４およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の１つまたは複数の通信ネットワークを介してサーバシステム９００を他のコンピュータに接続するために使用されるネットワーク通信モジュール（または命令）９１８、
・クライアントから、完全検索クエリを受信し、応答を生成し伝達するクエリサーバ９２０、および
・クライアントから、部分検索クエリを受信し、応答を生成し伝達する予測サーバ９２２
を記憶し、追加の要素を記憶することもできる。
【００６０】
[0069]  クエリサーバ９２０は、以下の要素またはそれら要素の部分集合：
・クエリおよび応答をクライアントとやりとりするために使用されるクライアント通信モジュール（または命令）９２４、
・クエリ受信・処理・応答モジュール（または命令）９２６、
・翻訳および任意選択的に単語または用語の様々な文脈の中での使用例等の追加情報を含む情報を含む１つまたは複数の辞書９３０を含むデータベース９２８、および
・ユーザコミュニティにより提出されたクエリについての情報を含むオプションのクエリログ９１０
を記憶し、追加の要素を記憶することもできる。
【００６１】
[0070]  予測サーバ９２２は、以下の要素またはそれら要素の部分集合：
・部分クエリ受信モジュール（または命令）９３２、
・言語対決定モジュール（または命令）９３４、
・完全検索クエリを予測し、翻訳を取得するモジュール（または命令）９３６、
・結果伝達モジュール（または命令）９３８、
・マッピング関数３０４、
・任意選択的に１つまたは複数のフィルタ４０６を含み得る予測データベースビルダ９１２、および
・１つまたは複数のチャンクテーブル４２４および１つまたは複数のトークンテーブル４０８（図４を参照して上述した）を含み得る予測データベース９４６
を記憶し、追加の要素を記憶することもできる。
【００６２】
[0071]  さらに、予測サーバ９２２は、任意選択的に、
・結果順序付けモジュール（または命令）９４０、
・フィルタモジュール（または命令）９５２、および
・スペル修正モジュール（または命令）９５４
を含み得る。
【００６３】
[0072]  検索要求者から離れて配置された辞書または翻訳データベースと併用されるように設計されたサーバを参照して本明細書での考察を行ったが、本明細書において開示される概念は他の検索環境にも等しく適用可能なことを理解されたい。例えば、本明細書において説明されたものと同じ技法は、クエリまたは検索が実行される任意の種類の情報リポジトリに対するクエリに適用可能である。したがって、用語「サーバ」はそのような使用をすべて包含するものとして広く解釈されるべきである。
【００６４】
[0073]  別個のモジュールまたは構成要素として図８および図９において示したが、様々なモジュールまたは構成要素は、サーバもしくはクライアント内に配置してもよく、またはサーバもしくはクライアント内の同じ場所に配置してもよい。例えば、いくつかの実施形態では、予測サーバ９２２および／または予測データベース９４６の部分は、クライアントシステム８００に存在するか、または予測アシスタント８２６の部分を形成する。例えば、いくつかの実施形態では、最も人気のある検索のマッピング関数９４２、トークンテーブル４０８、およびチャンクテーブル４２４をクライアントシステム８００に定期的にダウンロードし、それにより、少なくともいくつかの部分検索クエリに対して完全にクライアントに基づく処理を提供し得る。
【００６５】
[0074]  別の実施形態では、予測アシスタント８２６は、少なくとも部分的にユーザによる過去のクエリに基づいて完全検索クエリ予測を行う予測サーバ９２２のローカル版を含み得る。代替または追加として、ローカル予測サーバは、サーバまたはリモート予測サーバからダウンロードされたデータに基づいて予測を生成し得る。さらに、予測アシスタント８２６は、ローカルに生成された予測集合とリモートに生成された予測集合を統合して、ユーザに提示してもよい。結果は、例えば、２つの集合をインタリーブすることにより、またはユーザにより過去に提出されたクエリが、結合された予測クエリリストの最上位に配置されるか、または最上位に向けて挿入される傾向になるようにバイアスしながら集合を統合することにより、いくつかの任意の方法で統合し得る。いくつかの実施形態では、予測アシスタント８２６は、ユーザにとって重要であると思われるクエリを予測集合に挿入する。例えば、ユーザが頻繁に提出するが、サーバから得られた集合内に含まれていないクエリを予測内に挿入することができる。
【００６６】
[0075]  様々な図面のうちのいくつかは、いくつかの論理段階を特定の順に示すが、順序に依存しない段階を並べ替えてもよく、他の段階を組み合わせてもよく、または複数の段階に分けてもよい。いくつかの並べ替えまたは他のグループ化に特に言及されるが、当業者には他の並べ替えまたはグループ化が明らかになるため、代替の排他的リストを提示しない。さらに、段階をハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実施し得ることを認識されたい。
【００６７】
[0076]  上記説明は、説明のために、特定の実施形態を参照して説明された。しかし、例示的な上記考察は、網羅的である、すなわち、本発明を開示された厳密な形態に限定する意図はない。多くの変更および変形が上記教示に鑑みて可能である。実施形態は、本発明の原理およびその実際の適用を最良に説明し、それにより、当業者が、意図される特定の用途に適する様々な変更を行って本発明および様々な実施形態を最良に利用できるようにするために選択され説明された。
【図１】
0005474960.tif 000004
【図２】
0005474960.tif 000005
【図３】
0005474960.tif 000006
【図４】
0005474960.tif 000007
【図５Ａ】
0005474960.tif 000008
【図５Ｂ】
0005474960.tif 000009
【図６】
0005474960.tif 000010
【図７】
0005474960.tif 000011
【図８】
0005474960.tif 000012
【図９】
0005474960.tif 000013