(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムが実行する方法であって、
文書中のテキストのユーザーによってなされた選択を受領手段によって受領する段階と；
少なくとも部分的には選択されたテキストに一つまたは複数のクエリー拡張技法を適用することによって生成されたクエリーを含む複数の候補クエリーを取得手段によって取得する段階と；
少なくとも部分的には（ｉ）選択されたテキストの一部または全部および追加的なテキストを含む前記文書中のテキストを含むコンテキストから導出される言語モデルまたは（ｉｉ）クエリーであって該クエリーと対にされた文書の内容に関係しているクエリーを有するものとして人間の検査者によって識別された文書とクエリーの対の集合をもってトレーニングされる人工知能システムに基づいて、前記複数の候補クエリーを、ランク付け手段によってランク付けする段階とを含む、
方法。
【請求項２】
前記クエリー拡張技法は、クエリー・ログに対してK平均アルゴリズムを適用すること、クエリー・ログをパースすることによって生成されるクエリー‐文書二部グラフ上でランダム・ウォークを実施すること、クエリー・ログから生成されたクエリー‐フロー・グラフ上でページランク・アルゴリズムを実行することまたはクエリー・ログからターム関連付けパターンをマイニングすることのうち少なくとも一つを含む、請求項１記載の方法。
【請求項３】
前記コンテキストが、所定数の単語またはキャラクタを有する前記文書のテキストの一部を有しており、テキストの前記一部は、前記選択されたテキストがテキストの前記一部の実質的に中央になるよう前記文書中で位置される、請求項１記載の方法。
【請求項４】
前記ランク付けが少なくとも部分的には前記言語モデルに基づき、各候補クエリーについて、前記選択されたテキストおよび前記コンテキストが与えられたときにその候補クエリーが生成される条件付き確率を決定することを含み、前記言語モデルは前記条件付き確率を、少なくとも部分的には、（ｉ）クエリー・コーパスにおいて前記候補クエリー内の各単語を含むクエリーのそれぞれの集合、（ｉｉ）前記クエリー・コーパスにおいて前記選択されたテキスト内の各単語を含むクエリーのそれぞれの集合、（ｉｉｉ）前記クエリー・コーパスにおいて前記コンテキスト内の各単語を含むクエリーのそれぞれの集合の一つまたは複数を組み合わせた集合の要素数に基づいて与える、請求項１記載の方法。
【請求項５】
前記ランク付けが少なくとも部分的には前記言語モデルに基づき、前記言語モデルは、前記複数の候補クエリーからのクエリー内の単語が該クエリー内の直前の単語に依存する二項言語モデルを含む、請求項１記載の方法。
【請求項６】
呈示手段によって、前記複数の候補クエリーを、少なくとも部分的には前記ランク付けに従って順序付けされたリストにおいて、ユーザーに対して呈示する段階と；
受領手段によって、前記複数の候補クエリーのうちの一つのクエリーのユーザーによる選択を受領する段階と；
提出手段によって、前記候補クエリーのうちの選択されたクエリーを検索エンジンに提出する段階とをさらに含む、
請求項１記載の方法。
【請求項７】
コンピューティング・システムに：
ユーザーによる文書中のテキストの選択を、少なくとも部分的には選択されたテキストに基づく一つまたは複数の検索クエリーをユーザーに提供するコマンドとして解釈する段階と；
少なくとも選択されたテキストに基づいて複数の候補クエリーを取得する段階と；
前記文書によって与えられるコンテキストに少なくとも部分的に基づいて前記複数の候補クエリーをランク付けする段階とを実行させるためのコンピュータ・プログラム。
【請求項８】
前記テキストの選択が：
ユーザーがタッチスクリーン・ディスプレイ上に表示されたテキストに沿ってポインティング器具をドラッグすること、または
ユーザーがタッチスクリーン・ディスプレイ上に表示されたテキストのまわりで概括的に円形または卵型にポインティング器具を動かすことを含む、
請求項７記載のコンピュータ・プログラム。
【請求項９】
前記コンテキストが、前記選択されたテキストの少なくとも一部を含む前記文書からのテキストのセクションを含み、前記複数の候補クエリーをランク付けすることが、各候補クエリーについて、クエリー・コーパスが与えられたときにその候補クエリーが前記選択されたテキストおよび前記コンテキストに対応する確からしさを表わす値を決定し、決定された値に基づいて前記複数の候補クエリーをランク付けすることを含む、請求項７記載のコンピュータ・プログラム。
【請求項１０】
前記コンテキストが、前記選択されたテキストを含む前記文書からのテキストのセクションを含み、前記ランク付けが、文書／クエリー・タプルのデータ・セットを使う人工知能システムを使うことを含み、前記文書／クエリー・タプルのそれぞれのタプルにおける文書とクエリーとの間の対応は人間の検査者によって検証されている、請求項７記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はコンテキスト・ベースの検索クエリー形成に関する。
【背景技術】
【０００２】
多くのインターネット検索は、ユーザーがブラウズしているウェブ・ページがきっかけとなる。すなわち、ユーザーはウェブ・ページ上のコンテンツを消費した後に検索を開始することを決める。検索を実施するために、ユーザーはウェブ・ページを去って検索エンジンにアクセスしなければならない。ユーザーはウェブ・ページから単語を検索ボックス中にコピー・アンド・ペーストしてもよいし、あるいは検索ボックス中または検索エンジン・ウェブ・ページ中への入力のために検索クエリーを手動で作成してもよい。検索クエリーを生成するいずれの技法も、特異性の欠如、複数の意味をもつ検索タームおよび検索ターム間の曖昧な関係といった不足があることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
検索結果が返されたのち、ユーザーは検索インターフェースを去ってウェブ・ブラウズに戻ることができる。ウェブ・ページと検索インターフェースとの間のこの行ったり来たりは不十分である。さらに、さまざまなユーザー・インターフェースとの対話（たとえば、テキスト選択、コピー、ペーストなど）は特に、携帯電話、タブレット・コンピュータ、ゲーム・コンソール、テレビジョンなどのような、小さな形状因子の装置上またはテキストを入力するための能力が限られている装置上では煩わしくなることがある。ますます多くのユーザーがウェブ・ページおよび他の電子文書に、伝統的なコンピュータ以外の装置を通じてアクセスするようになるにつれ、文書の消費と検索とをスムーズに統合する必要性が高まってくる。それを実行でき、さらに、改善された検索クエリーを提供できるシステムがユーザーを利するであろう。
【課題を解決するための手段】
【０００４】
この概要は、下記の詳細な説明においてさらに説明される概念のセレクションを単純化した形で紹介するために与えられている。この概要は、特許請求される主題のキーとなる特徴または本質的な特徴を同定するために意図されたものではなく、特許請求される主題の範囲を制限するために使われることも意図されていない。
【０００５】
本開示は、ウェブ・ページまたは他の文書上でのユーザーの注目の領域および周囲のコンテキストの両方を使って複数の検索クエリーを生成し、ランク付けする技法を説明する。ウェブ・ページをブラウズしながら、ユーザーはウェブ・ページからのテキストを選択する。テキストの選択は、そのテキストを候補クエリー――選択されたテキストに関連する結果を与えうる検索クエリー――を生成するための出発点として使うコマンドをも生成する。選択されたテキストから複数の候補クエリーを生成するために、複数の型の検索クエリー拡張または検索クエリー再定式化技法が適用されてもよい。次いで、ユーザーはこれらの検索クエリーの一つを、検索エンジンに提出するために選択してもよい。このように、ブラウズする行為が検索する行為と組み合わされ、単にウェブ・ページからテキストを選択して次いで候補クエリーの一つを選択することによる「ブラウズ中検索（Browsing  to  Search）」を可能にするインターフェースを作り出す。
【０００６】
候補クエリーの組から検索クエリーにユーザーを案内するために、文書のコンテキストが考慮される。ブラウズされるウェブ・ページによって与えられるコンテキストに照らしての候補クエリーの評価が、それぞれの候補クエリーをランク付けするために使われる。周囲のコンテキストを考慮することは、候補クエリーをランク付けすることにおいて補助する。ブラウズされるウェブ・ページは、候補クエリー中のタームの曖昧さを解決し、候補クエリーを同じウェブ・ページに関係した以前の検索クエリーと比較するために（可能性としては修正されて）使用されることができる単語を含むことがあるからである。
【０００７】
候補クエリーのランク付けは、言語モデル、分類方法または両者の組み合わせによって実行されうる。言語モデルは、選択されたテキストおよび周囲のコンテキストが与えられたときの候補クエリーの確率を決定するモデルとして実装されてもよい。分類方法は、ウェブ・ページ上の選択されたテキストと関連付けられた問い合わせとを含むトレーニング・データを使う。人間の検査者が、ウェブ・ページのその選択されたテキストが、ユーザーがその関連付けられた検索クエリーを行なう結果につながったことがありそうかどうかを判定する。もしそうであれば、選択されたテキストとクエリーの対が、機械学習システムによって、その選択されたテキストおよびそのコンテキストを与えられたときの候補クエリーについての信頼レベルを予測する関数を学習するために使われる。
【図面の簡単な説明】
【０００８】
詳細な説明は、付属の図面を参照して記述される。図面では、参照符号の左端の数字（単数または複数）がその参照符号が最初に現われる図面を同定する。異なる図面における同じ参照符号の使用は、同様のまたは同一の項目を指示する。
【図１】クエリー作成器を含む情報処理システムを示す例示的なアーキテクチャである。
【図２】図１のアーキテクチャからの例示的なデータおよびコンポーネントの概略的な表現を示す図である。
【図３】例示的な文書を選択されたテキストとともに示す図である。
【図４】テキストを選択するための二つの例示的なユーザー・インターフェースを示している。
【図５】テキストのユーザー選択に応答して候補クエリーのランク付けされたリストを提供する例示的な方法を示す例示的なフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、ユーザー１０２がローカル・コンピューティング装置１０４と対話して検索クエリーを取得できるアーキテクチャ１００を示している。ローカル・コンピューティング装置１０４は、デスクトップ・コンピュータ、ノートブック・コンピュータ、タブレット・コンピュータ、スマートフォン、ゲーム・コンソール、テレビジョンなどといったいかなる型のコンピューティング装置であってもよい。ローカル・コンピューティング装置１０４はネットワーク１０６を介して一つまたは複数のネットワーク・アクセス可能なコンピューティング装置１０８と通信してもよい。ネットワーク１０６は、ローカル・エリア・ネットワーク、広域ネットワーク、インターネット、電話網、ケーブル・ネットワーク、ピアツーピア・ネットワーク、メッシュ・ネットワークなどといった任意の一つまたは複数の型のデータ通信ネットワークであってもよい。ネットワーク・アクセス可能なコンピューティング装置１０８は、ネットワーク・サーバー、ウェブ・サーバー、ファイル・サーバー、スーパーコンピュータ、デスクトップ・コンピュータなどといったコンピューティング装置の任意の型または複数の型の組み合わせとして実装されてもよい。ネットワーク・アクセス可能なコンピューティング装置１０８は、一つまたは複数の検索エンジン１１０を含んでいるまたはそれに通信上接続されているのでもよい。検索エンジン１１０は、検索サービスを提供するエンティティによって維持される一つまたは複数の専用のコンピューティング装置上に実装されてもよい。
【００１０】
情報処理システム１１２は一つまたは複数の位置を通じて分散された一つまたは複数の処理要素１１４およびメモリ１１６を含む。処理要素１１４は、中央処理ユニット（CPU）、グラフィック処理ユニット（GPU）、単一コア・プロセッサ、マルチコア・プロセッサ、特定用途向け集積回路（ASIC）などのいかなる組み合わせを含んでいてもよい。一つまたは複数の処理要素１１４は、ハードウェア実装に加えてソフトウェアおよび／またはファームウェアで実装されてもよい。処理要素１１４のソフトウェアまたはファームウェア実装は、記載されるさまざまな機能を実行するための任意の好適なプログラミング言語で書かれたコンピュータまたは機械実行可能な命令を含んでいてもよい。処理要素１１４のソフトウェア実装はメモリ１１６に全体的または部分的に記憶されていてもよい。
【００１１】
メモリ１１６は、処理要素１１４上でロード可能かつ実行可能な命令のプログラムならびにこれらのプログラムの実行中に生成されるデータを記憶してもよい。メモリ１１６上に記憶されるプログラムおよびデータの例は、ローカル・コンピューティング装置１０４、ネットワーク・アクセス可能なコンピューティング装置１０８に利用可能なハードウェアおよびソフトウェア資源の動作を制御するためのオペレーティング・システム、ハードウェア装置と対話するためのドライバ、ネットワーク１０６および他のコンピューティング装置との間でデータを送受信するための通信プロトコルならびに追加的なソフトウェア・アプリケーションを含んでいてもよい。ローカル・コンピューティング装置１０４および／またはネットワーク・アクセス可能なコンピューティング装置１０８の構成および型に依存して、メモリ１１６は揮発性（RAMのように）および／または不揮発性（ROM、フラッシュメモリなどのように）でありうる。
【００１２】
情報処理システム１１２は、リムーバブル記憶、非リムーバブル記憶、ローカル記憶および／またはリモート記憶といった追加的なコンピュータ可読媒体をも含んでいてもよい。メモリ１１６および任意の関連するコンピュータ可読媒体が、コンピュータ可読命令、データ構造、プログラム・モジュールおよび他のデータの記憶を提供してもよい。コンピュータ可読媒体は、少なくとも、二つの型のコンピュータ可読媒体、すなわちコンピュータ記憶媒体および通信媒体を含む。
【００１３】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータといった情報の記憶のための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク（DVD）または他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイスまたはコンピューティング装置によるアクセスのために情報を記憶するために使用できる他の非伝送媒体を含むが、これに限られない。
【００１４】
対照的に、通信媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータを、搬送波または他の伝送機構のような変調されたデータ信号において具現してもよい。本稿で定義されるところでは、コンピュータ記憶媒体は通信媒体を含まない。
【００１５】
情報処理システム１１２は、ローカル・コンピューティング装置１０４およびネットワーク・アクセス可能なコンピューティング装置１０８のいずれか一方または両方に全体的または部分的に存在してもよい。このように、情報処理システム１１２は、さまざまな物理的コンポーネントおよびデータ・コンポーネントが一つまたは複数の位置に存在して、一緒になって情報処理システム１１２の役割を実行する、分散式のシステムであってもよい。いくつかの実装では、情報処理システム１１２のすべての特徴がローカル・コンピューティング装置１０４上に存在していてもよい。他の実装では、ローカル・コンピューティング装置１０４は、単に表示データを受信して、情報処理システム１１２を含んでいる、ネットワーク・アクセス可能なコンピューティング装置１０８のような別の装置にユーザー入力信号を送信する、シン・クライアントであってもよい。
【００１６】
情報処理システム１１２は、ユーザー１０２のために検索クエリーを定式化するクエリー作成器１１８を含んでいてもよい。いくつかの実装では、クエリー作成器１１８は、全体的または部分的に、メモリ１１６内の記憶であってもよい。他の実装では、クエリー作成器１１８は、ASICの一部のような、処理要素１１４の一部として実装されてもよい。情報処理システム１１２自身と同様に、クエリー作成器１１８は全体的または部分的にローカル・コンピューティング装置１０４およびネットワーク・アクセス可能なコンピューティング装置１０８のいずれか一方または両方に存在してもよい。クエリー作成器１１８の全部または一部が複数のコンピューティング装置に冗長に位置している実装では、クエリー作成器１１８を実装するためにどのコンピューティング装置を使うかの選択は、相対的な処理速度、ネットワーク１０６を通じた情報伝送の速度および／または他の因子に基づいていてもよい。
【００１７】
図２は、クエリー作成器１１８および図１に示されるアーキテクチャ１００の他の部分を通じた情報およびデータの流れを示している。ユーザー１０２が文書からテキストを選択すると、これがクエリーを定式化するためのクエリー作成器１１８にとっての入力を与える。選択されたテキスト２０２およびコンテキスト２０４は検索開始モジュール２０６によって受領される。選択されたテキスト２０２は、ユーザー１０２がローカル・コンピューティング装置１０４と対話して文書からテキストを選択するための任意の通常の機構によってテキストの一つまたは複数のパッセージを選択または指示することによって選択されてもよい。コンテキスト２０４は、選択されたテキスト２０２を囲むまたは選択されたテキスト２０２の近くに位置する当該文書中の他のテキストを含んでいてもよい。コンテキスト２０４は、文書の意図されたまたはありそうな使用に基づく文書の分類をも含んでいてもよい。たとえば、文書がウェブ・ページであり、該ウェブ・ページが商品およびサービスを売るための販売人のウェブ・ページとして識別される場合、コンテキスト２０４はユーザーが、購入すべき商品またはサービスを検索する可能性が高いことを認識してもよい。テキスト２０２を選択する前のユーザー１０２の先行する行動も、コンテキスト２０４を提供してもよい。たとえば、ユーザー１０２によって最近提出された検索クエリーが、ユーザー１０２が現在検索しているトピックまたは領域に関するコンテキスト２０４を与えてもよい。
【００１８】
検索開始モジュール２０６は、選択されたテキスト２０２を選択するユーザーからの単一の入力を、テキストの選択として、かつ選択されたテキスト２０２に基づいて検索クエリーを生成するコマンドとして解釈してもよい。たとえば、ユーザー１０２がカーソルを動かして文書から連続するテキストの系列を選択する場合、ユーザー１０２は、検索クエリー提案を受け取るために、このテキストを別のインターフェースにペーストしたり動かしたりする必要はない。テキストの選択自身が、検索開始モジュール２０６によって、一つまたは複数の検索クエリーを生成するコマンドとして解釈されうる。検索開始モジュール２０６のこの二重の役割は、ローカル・コンピューティング装置１０４との単一の入力または対話により、ユーザーがテキストを選択することと、検索クエリーを要求することとの両方をできるようにする。
【００１９】
検索開始モジュール２０６は選択されたテキスト２０２、コンテキスト２０４および検索クエリーを生成するコマンドをクエリー作成器１１８に渡す。クエリー作成器１１８は、選択されたテキスト２０２から候補クエリーを生成する候補クエリー生成器２０８を含んでいてもよい。候補クエリー生成器２０８は、選択されたテキスト２０２に、クエリー拡張またはクエリー再定式化技法を適用してもよい。候補クエリー生成器２０８は、選択されたテキスト２０２から候補クエリーを生成することを、同義語を含めること、単語の代替的な形態論上の形を加えること、間違って綴られた単語の綴りを訂正することおよび／または単語の代替的な綴りを提供することによって行なってもよい。たとえばテキストがそのまわりに（指を使って）楕円を描くことによって選択される場合、ユーザーが関心テキストを精密に選択し損なうときは、単語または句が偶発的に二つの部分に分割されることがある。後処理作業は、選択されたテキストから有意でないキャラクタを除去するまたは有意なキャラクタを前置／後置することを含んでいてもよい。いくつかの実装では、その文書に関連付けられた諸クエリーのクエリー・ログが、候補クエリーを生成するために使われる。クエリー・ログを使うクエリー拡張技法は、クエリー・ログに対してK平均アルゴリズムを適用すること、クエリー・ログをパースする（parse）ことによって生成されるクエリー‐文書二部グラフ上でランダム・ウォークを実施すること、クエリー・ログから生成されたクエリー‐フロー・グラフ上でページランク（PageRank）アルゴリズムを走らせることまたはクエリー・ログからターム関連付けパターンをマイニングすることを含んでいてもよい。
【００２０】
候補クエリー生成器２０８は候補クエリーを直接生成してもよく、あるいは候補クエリー生成器２０８はクエリー作成器１１８の外部の別のモジュールまたはシステム（たとえば、検索エンジンに付随するクエリー再定式化モジュール）に選択されたテキスト２０２を渡してもよい。候補クエリー生成器２０８は、選択されたテキスト２０２を別のシステムまたはモジュールに渡し、次いでその外部のモジュールまたはシステムから候補クエリーを受け取ることによって、事実上、候補クエリーを生成してもよい。候補クエリー生成器２０８は、選択されたテキスト２０２からいくつクエリーを生成してもよい。いくつかの実装では、候補クエリー生成器２０８によって生成される候補クエリーの数は、3個のクエリー、10個のクエリーなどといった所定の数に制限されてもよい。
【００２１】
ひとたびある数の候補クエリーが得られたら、クエリー・ランキング・モジュール２１０は、それらのクエリーが選択されたテキスト２０２およびコンテキスト２０４に対応する確からしさまたは確率に基づいて、候補クエリーにランク付けしてもよい。クエリー作成器１１８は、候補クエリーの生成と、それらの候補クエリーのランク付けの両方を、検索エンジン１１０に問い合わせを提出することなく実行してもよく、それにより検索エンジン１１０の負担を軽減する。
【００２２】
クエリー・ランク付けモジュール２１０は、一つまたは複数のランク付け技法に基づいて一つまたは複数の候補クエリーにランク付けしてもよい。使用されうるランク付け技法は、言語モデル２１２および人工知能（AI）システム２１４を含んでいてもよい。それぞれは、独立してまたは組み合わせて使用されてもよい。
【００２３】
言語モデル２１２は、コンテキスト２０４および選択されたテキスト２０２の二項〔バイグラム〕表現を生成してもよい。コンテキスト２０４は、選択されたテキスト２０２を含む文書からのテキストの一部を含んでいてもよい。このように、コンテキスト２０４は、選択されたテキスト２０２に当該文書からの追加的なテキストを加えたものであってもよい。言語モデル２１２は、候補クエリーのそれぞれにおけるいくつかの単語、選択されたテキスト２０２中のいくつかの単語およびコンテキスト２０４をなすテキストの当該部分におけるいくつかの単語に基づいて、候補クエリー生成器２０８からの候補クエリーの相対的なランク付けを決定してもよい。言語モデル２１２の一つの実装の詳細は下記で論じる。
【００２４】
人工知能システム２１４は、サポート・ベクター・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイジアン信頼ネットワーク、ファジー論理エンジン、データ融合エンジンなどといったいかなる型の人工知能または機械システムとして実装されてもよい。人工知能システム２１４は、人間がラベル付けしたトレーニング・データから生成されてもよい。一または複数のユーザーの過去の文書消費および検索挙動から得られた、文書およびそれらの文書に関連付けられたクエリーを表わす<文書,クエリー>タプルのコーパスが、トレーニング・データの全部または一部のはたらきをしてもよい。いくつかの実装では、タプルは、検索エンジン１１０に自分のブラウズおよび検索挙動を提供することを選んだユーザーからの検索エンジン１１０からの検索ログから得られてもよい。ブラウズおよび検索データは、自分のデータを貢献することを選ぶユーザーのプライバシーを保護するために匿名化されてもよい。人間のラベル付け者がタプルを検査して、文書とクエリーとの間に因果関係があるかどうかを判定する。換言すれば、人間のラベル付け者が、タプル内の文書の内容がユーザーにそのタプル内のクエリーを提出させた確率の主観的な評価に基づいて、各タプルにラベルを割り当てる。人工知能システム２１４の一つの実装の詳細が下記で論じられる。
【００２５】
ひとたびクエリー作成器１１８がクエリーを定式化し、それらのクエリーにランク付けしたら、ユーザーはクエリーのランク付けされたリストを呈示されてもよい。より高いランク付けをもつクエリーは、より低いランク付けをもつクエリーよりも、リスト中で先に、またはより目立つ位置にリストされてもよい。ユーザー１０２は、クエリーに基づいて一つまたは複数の検索エンジン１１０上で検索を開始するよう、候補クエリーの一つを選択してもよい。
【００２６】
検索エンジン１１０は、クエリーをネットワーク１０６または他のデータ・ストアに提出し、検索アルゴリズム、選択されたクエリーおよびネットワーク１０６中で利用可能なデータに基づいて、検索結果２１６を受領してもよい。検索エンジン１１０は、選択された検索クエリーを処理するためのいかなる通常の検索技法を使ってもよい。
【００２７】
〈例示的な言語モデル〉
言語モデル２１２は、コンテキスト２０４に基づいて候補クエリーをランク付けする。候補クエリーは、sと表わされる選択されたテキスト２０２およびcと表わされるコンテキスト２０４が与えられたときに、それらの候補クエリーからのクエリーの一つであるクエリーqが生成される可能性を表わす条件付き確率p(q|s,c)によってランク付けされる。言語モデル２１２は、q＝qw1,qw2,qwNq、s＝sw1,sw2,swNsおよびc＝cw1,cw2,cwNcを想定する。ここで、qwi、swiおよびcwiは、それぞれクエリーq、選択されたテキストsおよびコンテキストcにおけるi番目の単語を表わす。言語モデル２１２では、Nqはクエリーqの単語長さを表わし、Nsは選択されたテキストsの単語長さを表わし、Ncはコンテキストcの単語長さを表わす。
【００２８】
言語モデル２１２は、選択されたテキストsおよびコンテキストcを条件として、各クエリー語qwiはその直前の単語qwi-1のみに依存するというさらなる想定を含む。この想定は、二項言語モデルについてなされる想定と同様である。いくつかの実装について二項表現が望ましいのは、一項〔ユニグラム〕モデルではクエリー内部のターム・レベルの関係を捕捉できないことがあるためである。逆に、n項〔nグラム〕（n≧3）アプローチは、計算量が高くなることがあり、オンライン・クエリー提案のために時間がかかりすぎる可能性がある。しかしながら、処理機能が向上し続けるにつれて、3項（またはそれ以上）のアプローチの計算量にそれほど時間がかからなくなる可能性が高く、言語モデル２１２はn項（n≧3）のアプローチにも対応するよう適応されることができることが考えられている。
【００２９】
上記の定義および想定から、選択されたテキスト２０２およびコンテキスト２０４が与えられたときの候補クエリーからのクエリーの一つが生成される可能性は、次のように表わせる。
【００３０】
【数１】
0006429630.tif 000002
上記の定式化では、より長いクエリーはより小さな確率をもつ傾向がある。この効果を軽減するために、確率は追加的な重みをかけられ、より長いクエリーはより大きな重みが割り当てられる。修正された確率は次式によって計算できる。
【００３１】
【数２】
0006429630.tif 000003
ここで、Λは1より大きい定数である。
【００３２】
p(qi|s,c)を計算する定式化は次のようになる。
【００３３】
【数３】
0006429630.tif 000004
ここではp(s,c)は無視できる。ランク付けされる候補クエリーのそれぞれは同じ選択されたテキストsおよびコンテキストcに基づいているからである。
【００３４】
p(qwi)の値を推定するためには、グローバル・クエリー・コーパスが使用されることができる。クエリー・コーパスQが与えられると、p(qwi)の値は
【００３５】
【数４】
0006429630.tif 000005
によって計算されることができる。ここで、|Q(qwi)|はクエリー・コーパス中の、単語qwiを含むクエリーの数を表わし、|Q|はグローバル・クエリー・コーパス中のクエリーの総数を表わす。
【００３６】
式(4)を平滑化したバージョンが使用されてもよい。
【００３７】
【数５】
0006429630.tif 000006
ここで、aは0から1までの間の定数である。
【００３８】
式(3)におけるもう一つの確率は、次のように導出できる。選択されたテキストsおよびコンテキストcが任意のクエリー語qwiを条件として独立であるとすると、
【００３９】
【数６】
0006429630.tif 000007
この関数を単純化するために、言語モデル２１２はさらに、任意のクエリー語qwiを条件として、選択されたテキストsまたはコンテキストcの諸単語は独立して生成されることができると想定する。よって、
【００４０】
【数７】
0006429630.tif 000008
ここで、p(swj|qwi)は、qwiが存在するときにswjがqwiと一緒に現われる確率である。この確率は、グローバル・クエリー・コーパスを使って推定されることができる。
【００４１】
【数８】
0006429630.tif 000009
ここで、|Q(swj)∩Q(qwi)|はグローバル・クエリー・コーパスにおいてswjおよびqwiを同時に含むクエリーの数であり、|Q(qwi)|はクエリー・コーパス中の、単語qwiを含むクエリーの数を表わし、a∈(0,1)は平滑化のために使われている。
【００４２】
p(cwj|qwi)の値は同様に計算できる。Nsは常にNcよりはるかに小さいので、式(7)および(8)によれば、p(s|qwi)およびp(c|qwi)の値は不均衡である。この不均衡を解決するために、p(s|qwi)およびp(c|qwi)の規格化された値が使われてもよい。
【００４３】
p(s|qwi)の規格化された定式化は次のようになる。
【００４４】
【数９】
0006429630.tif 000010
同様に、p(c|qwi)の規格化された値は次式によって計算できる。
【００４５】
【数１０】
0006429630.tif 000011
p(qwi-1|s,c,qwi-1)を計算するための定式化は
【００４６】
【数１１】
0006429630.tif 000012
となる。ここで、p(qwi-1|s,c)は式(3)によって計算できる。p(s,c)は、同じ選択されたテキスト２０２および同じコンテキスト２０４に基づく候補クエリーすべてについて同じ値を取るので、
【００４７】
【数１２】
0006429630.tif 000013
となる。ここで、p(qwi-1)は式(5)によって計算できる。p(qwi|qwi-1)は、qwi-1が存在するときに、qwi-1の直後にqwiが現われる確率である。しかしながら、グローバル・クエリー・コーパスを使ってこの確率を計算するとき、グローバル・クエリー・コーパスが疎であるために単語qwi-1およびqwiがめったに連続して現われないことがある。その可能性を取り入れるため、p(qwi|qwi-1)は、qwi-1が存在するときにqwiがqwi-1と一緒に現われる確率として（qwiとqwi-1が連続して現われることは要求せずに）推定されてもよい。これは式(9)に従って計算できる。
【００４８】
最後に、確率p(s,c|qwi,qwi-1)を計算するための定式化を下記に与えておく。簡単にするため、言語モデル２１２は、選択されたテキストsとコンテキストcが二つのクエリー語qwiおよびqwi-1を条件として独立であることを前提とする。
【００４９】
【数１３】
0006429630.tif 000014
式(7)と同様に、言語モデル２１２は二つのクエリー語qwiおよびqwi-1を条件として、選択されたテキストsまたはコンテキストc内の諸単語が独立に生成できることを想定する。よって、
【００５０】
【数１４】
0006429630.tif 000015
ここで、p(swj|qwi,qwi-1)はグローバル・クエリー・コーパスによって推定されることができる：
【００５１】
【数１５】
0006429630.tif 000016
ここで、|Q(swj)∩Q(qwi)∩Q(qwi-1)|はグローバル・クエリー・コーパスにおいてswj、qwi、qwi-1を同時に含むクエリーの数である。|Q(qwi)∩Q(qwi-1)|およびaは式(9)と同様の意味をもつ。
【００５２】
式(10)と同様に、p(s|qwj,qwi-1)の確率は規格化されてもよい：
【００５３】
【数１６】
0006429630.tif 000017
p(c|qwi,qwi-1)の値は同様に計算および規格化されることができる。
【００５４】
〈例示的な人工知能システム〉
人工知能システム２１４は、候補クエリーをランク付けするための分類技法を実装してもよい。分類技法では、人間の検査者が、文書とそれらの文書に関連付けられたクエリーqとの間の関連付けを評価する。人間の検査者によるラベル付けの前には、その文書のそのコンテンツがそのクエリーを引き起こしたのかどうか、あるいはその文書とそのクエリーとの間の関連付けが単に偶然またはその文書に無関係であるかどうかはわかっていなくてもよい。
【００５５】
人間のラベル付け者は、文書‐クエリー対の一つからのクエリーを、その文書の内容に関連している、その文書の内容に関連していないまたはその文書の内容との関連が曖昧として分類する。このように、人間のラベル付け者は<文書,クエリー>タプルのコーパスを吟味する。タプルは、ユーザーの実際のブラウズおよび検索挙動によって生成され、グローバル・クエリー・コーパスに記憶されてもよい。これは、言語モデル２１２によって使用されるのと同じグローバル・クエリー・コーパスであってもよい。<文書,クエリー>タプルにおける各文書は、その文書からの選択されたテキストsおよびその選択されたテキストsを含むコンテキストcとして表現されてもよい。したがって、人間のラベル付け者の作業は、<s,c>とqの対にラベル付けすることと表現されてもよい。ラベル付けされた対は、次いで人工知能システム２１４のためのトレーニング・データとして使用される。いくつかの実装では、<s,c>とqの対のうちクエリーが文書の内容に関連しているとラベル付けされているもののみがトレーニング・データとして使用されてもよい。
【００５６】
人工知能システム２１４は、トレーニング・データを使って関数f(<s,c>q)→{−1,＋1}を学習する。関数fは、図２からの選択されたテキスト２０２、コンテキスト２０４およびクエリー候補といった新たなデータに適用され、それぞれの候補クエリーがその文書の内容に関連していることの信頼レベルを予測することができる。さまざまなクエリー候補についての信頼レベルは、クエリー・ランク付けモジュール２１０によってクエリー候補にランク付けするために使用されてもよい。
【００５７】
文書‐クエリー関係の手動のラベル付けは煩わしいことがある。手動のラベル付け努力を軽減し、関数fの精度を改善するためにより大量のトレーニング・データを取得するために擬似トレーニング・データが使用されてもよい。擬似トレーニング・データは、グローバル・クエリー・コーパスにおいて、ユーザーがクエリーと対になった文書を閲覧した後まもなくユーザーによって提出された検索クエリーを識別することによって生成されてもよい。この近接した時間関係は、文書の内容がユーザーにクエリーqを生成させたことを示唆しうる。検索クエリーqと文書の内容cの間の類似性の自動的なテキストに基づく比較によって検索クエリーqと同様である文書中の句pを同定してもしなくてもよい。自動解析によってそのような句pが同定される場合には、周囲のコンテキストcを与えられたとき、句pが検索クエリーqを引き起こしたまたは誘起したことがありうると想定される。これは、手動のラベル付けなしに(<p,c>,q)対を生成し、それらの対が人工知能システム２１４のためのトレーニング・データに追加されることができる。
【００５８】
〈例示的なユーザー・インターフェース〉
図３は、ローカル・コンピューティング装置１０４上に表示されうる例示的な文書３００を示している。文書３００はウェブ・ページ、テキスト文書、ワードプロセシング文書、スプレッドシート文書またはテキストを含む他の任意の型の文書であってもよく、ハイパーテキストマーケット言語（HTML）または拡張可能マークアップ言語（XML）のようなマークアップ言語で書かれた文書を含むがこれに限られない任意のフォーマットであってもよい。文書３００は、ユーザー１０２によって選択されるテキストについてのコンテキストの複数の例を示している。
【００５９】
ユーザーが選択したテキスト３０２が、ユーザー１０２によって選択された単数または複数の単語を囲む太線の長方形によって示されている。ユーザー１０２は部分的な単語または単独文字を選択してもよい。選択されたテキスト３０２は、ユーザーの注目を受けている文書３００の部分を示す。選択されたテキスト３０２は文書３００のコンテキスト内に存在する。言語モデル２１２または人工知能システム２１４によって、コンテキストと考えられる文書３００の量は変わりうる。
【００６０】
いくつかの実装では、文書３００全体が、選択されたテキスト３０２についてのコンテキストを与えてもよい。文書３００全体は、表示されていないものも含め複数のページを含んでいてもよく、その一部のページはユーザーによって閲覧されていなくてもよい。コンテキストのより狭いビューは、選択されたテキスト３０２を含むセンテンス３０４のみを含んでいてもよい。他の実装では、コンテキストは、選択されたテキスト３０２を含む段落３０６、選択されたテキスト３０２を含む欄３０８（またはウェブ・ページ・レイアウト中のフレーム）または選択されたテキスト３０２を含む文書３００のページ３１０として定義されてもよい。センテンス、段落および／またはページのない文書を含む任意の型の文書について、コンテキストは文書３００全体の相対的により大きなまたは相対的により小さな部分として定義されてもよい。
【００６１】
コンテキストは、所定の数の単語または文字をもち、選択されたテキスト３０２を含むテキストの部分３１２であってもよい。たとえば、選択されたテキスト３０２を含む文書３００の60語のセグメントがコンテキストとして使われてもよい。テキスト３１２のこの部分は、複数のセンテンス、段落、欄などにまたがってもよく、センテンス、段落、欄などの途中で始まったり終わったりしてもよい。60語の長さは単に例示的であり、コンテキストは100語、20語といった任意の長さであってもよく、あるいはキャラクタに基づいていて、20文字、100文字、500文字または他の何らかの数の単語またはキャラクタを含んでいてもよい。
【００６２】
いくつかの実装では、選択されたテキスト３０２は、テキストの部分３１２の実質的に中央に位置している。たとえば、選択されたテキスト３０２が3語をもち、テキストの部分３１２が60語を含む場合、選択されたテキスト３０２はコンテキストをなすテキストの部分３１２の先頭から約23または24語に位置していてもよい（すなわち、60−3＝57；57÷2＝23.5）。いくつかの実装では、選択されたテキスト３０２はテキストの部分３１２の中央50%に（すなわち、最初の1/4および最後の1/4にはない）、あるいはテキスト３０８の前記部分の中央20%に（すなわち、最初の40%および最後の40%にはない）位置していてもよい。
【００６３】
テキスト３０８の前記部分における単語または文字の数の計算は、コンテキストを検索クエリーをランク付けするために最も有用でありうる単語に基づくものとするために、ストップワードを除外してもよい。たとえば、選択されたテキスト３０２を中心とする20語のコンテキストは、「a」、「the」、「and」、「it」および他の型のストップワードといった単語がコンテキストの20語に含まれているとしたら、検索クエリーをランク付けすることにおいてそれほどの助けとならないことがありうる。よって、コンテキストをなすテキスト３０２の前記部分における単語の所定の数は、ストップワードを除外した単語の所定の数であってもよい。
【００６４】
図３は、文書３００内の事前に定式化された検索クエリー３１４の位置をも示している。事前に定式化された検索クエリー３１４は、ユーザーによるテキストの選択より前に文書の一部に関連付けられていてもよい。たとえば、事前に定式化された検索クエリー３１４は、文書３００中の特定の単語、センテンス、段落、欄、ページなどに関連付けられていてもよい。この例は、選択されたテキスト３０２の直前のセンテンスに関連付けられているとして、事前に定式化された検索クエリー３１４を示している。選択されたテキスト３０２についてのコンテキストと考えられる文書３００の広がりに依存して、事前に定式化された検索クエリー３１４は、文書３００の、選択されたテキスト３０２と同じ部分に含まれていてもいなくてもよい。たとえば、選択されたテキスト３０２を含むセンテンス３０４がコンテキストである場合、事前に定式化された検索クエリー３１４は、文書３００の、選択されたテキスト３０２と同じ部分に関連付けられない。しかしながら、コンテキストが段落３０６である場合には、事前に定式化された検索クエリー３１４は、文書３００の、選択されたテキスト３０２と同じ部分に関連付けられる。
【００６５】
文書３００は、0個、1個または複数個の事前に定式化された検索クエリー３１４を含みうる。事前に定式化された検索クエリー３１４は、文書３００の関連する部分を消費しているときにユーザーが実施する可能性が高いであろうクエリーでありうる。事前に定式化された検索クエリー３１４は、文書３００の特定の部分に埋め込むために人間の作者によって手動で制作されてもよい。代替的または追加的に、事前に定式化された検索クエリー３１４の一つまたは複数が、文書３００を閲覧しその後クエリーを生成した他のユーザーからの検索ログの解析に基づいて決定されてもよい。
【００６６】
図２に示した検索クエリー生成器２０８は、事前に定式化された検索クエリー３１４を、選択されたテキスト３０２から生成される他の検索クエリーと一緒に取得してもよい。いくつかの実装では、候補クエリー生成器２０８は、文書３００に関連付けられたすべての事前に定式化された検索クエリー３１４を、ユーザーに呈示される検索クエリーのリストに含めてもよい。他の実装では、候補クエリー生成器２０８は、コンテキストの定義に基づいて、文書３００の、選択されたテキスト３０２と同じ部分に関連付けられている事前に決定された検索クエリー３１４のみを含めてもよい。さらなる実装では、文書３００内の、選択されたテキスト３０２の位置に最も近い位置に関連付けられている閾値数（たとえば1個、2個、3個）の事前に決定された検索クエリー３１４のみが、ユーザーに呈示される検索クエリーのリストに含められる。
【００６７】
ひとたびユーザーが候補クエリーのリストからクエリーを選択したら、その選択されたクエリーが、文書３００のその後の呈示について、事前に決定された検索クエリー３１４として使われてもよい。その事前に決定された検索クエリー３１４は、その検索クエリーをもともと生成した選択されたテキスト３０２の位置に関連付けられていてもよい。このように、文書３００に関連付けられる事前に決定された検索クエリー３１４の数は、システムの使用が増すにつれて増大しうる。
【００６８】
図４は、タッチスクリーン・デバイス上でテキストを選択するための二つの例示的なユーザー・インターフェース４００および４０２を示している。図１からのローカルなコンピューティング装置１０４は、タッチスクリーン・ディスプレイをもつ装置として実装されてもよい。第一のユーザー・インターフェース４００では、ユーザーは自分の指（またはスタイラスのような他のポインティング器具）を、タッチスクリーンの表面上を横切って、選択すべきテキストの先頭にある点４０４から、点４０６かつ選択したいテキストの終わりまでドラッグする。ユーザーは、テキストの中央を通じて、あたかもテキストに下線を引いているかのようにテキストの底部に沿って、あるいはテキストの流れに概括的に一致する別の動きにおいて（たとえば英語では左から右へ、ただし動きの方向は異なる言語については異なりうる）、指を動かしうる。システムにとって、選択されたテキストから検索クエリーを定式化するための合図は、指が終点４０６で静止したときの指の動きの停止、タッチスクリーンの表面からの指の持ち上げ、終点４０６でのタッチスクリーンのタップなどであってもよい。
【００６９】
ユーザーは、第二のユーザー・インターフェース４０２において示されているように、ユーザーが選択することを意図しているテキストのまわりに概括的に円形（circular）の形状でスタイラス（または指のような他のポインティング器具）を動かすことによって、テキストを選択してもよい。概括的に円形の形状は、円形というよりは卵形（ovoid）の形であってもよく、始点４０８と終点４１０が接する閉じた円であっても、始点４０８が終点４１０とは異なる位置にある開いた弧であってもよい。
【００７０】
この例において、円は、選択されるテキストの右下の点４０８で始まってぐるっと時計回りに選択されるテキストの右上の点４１０まで描かれる。いくつかの実装では、時計回りまたは反時計回りいずれの方向に描かれた円もいずれも同じ結果を引き起こしうる。しかしながら、他の実装では、検索結果の生成の開始は、円が時計回り（あるいはまた反時計回り）方向に描かれるときにのみ行なわれてもよい。システムにとっての、選択されたテキストから検索クエリーを定式化するための合図は、スタイラスが終点４１０で静止したときのスタイラスの動きの停止、タッチスクリーンの表面からのスタイラスの持ち上げ、スタイラスが始点４０８に戻るときに円が閉じること、終点４１０でのタッチスクリーンのタップまたはテキスト選択の終了を表わし検索クエリー生成の開始を要求する他の何らかのジェスチャーであってもよい。
【００７１】
図４に示されるユーザー・インターフェース４０２および４０４のいずれも、ユーザーが、複数のコマンドやキーボードの使用あるいは消費していた文書以外のインターフェースへの切り換えなしに検索プロセスを開始するための便利な方法を提供する。
【００７２】
〈例示的なプロセス〉
理解の簡単のため、本開示で議論した諸プロセスは、独立したブロックとして表現される別個の動作として描かれるが、これらの別個に描かれた動作は、その機能において必ずしも順序依存として解釈されるべきではない。これらのプロセスが記載される順序は、限定として解釈されることは意図されておらず、記載されるプロセス・ブロックの任意の数が任意の順序で組み合わされて当該プロセスまたは代替的なプロセスを実装してもよい。さらに、提供される動作の一つまたは複数が修正または省略されてもよいことも可能である。
【００７３】
これらのプロセスは、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの組み合わせとして実装できる動作のシーケンスを表わす論理的なフローチャートにおいてブロックの集合として示される。議論のために、これらのプロセスは、図１〜図４に示したアーキテクチャ、システムおよびユーザー・インターフェースを参照して記述されるが、これらのプロセスは異なるアーキテクチャ、システムおよび／またはユーザー・インターフェースを使って実行されてもよい。
【００７４】
図５は、ユーザーに対する候補クエリーを同定し、呈示するプロセス５００のフローチャートを示している。５０２では、文書中のテキストのユーザーによる選択が受領される。ユーザーは、図１に示したユーザー１０２であってもよく、選択は情報処理システム１１２によって受領されてもよい。選択されたテキストは、連続した1個、2個、3個、4個などの単語のようなテキストの連続的な系列または文書中の複数の位置からの複数の単語または組み合わせ単語の諸選択でありうる。文書は、ウェブ・ページ、テキスト文書、ワードプロセシング文書、電子書籍または他の任意の型の文書でありうる。
【００７５】
５０４では、複数の候補クエリーが取得される。候補クエリーは、候補クエリー生成器２０８から直接または間接的に取得されてもよい。候補クエリーは、５０２において選択されたテキストに一つまたは複数のクエリー拡張技法を適用することによって生成される。クエリー拡張技法は、選択されたテキストを以前のクエリー・ログと比較して、選択されたテキストに基づいて以前のクエリー・ログからの一つまたは複数のクエリーを同定するいかなる技法を含んでいてもよい。例示的な技法は、クエリー・ログに対してK平均アルゴリズムを適用すること、クエリー・ログをパースすることによって生成されるクエリー‐文書二部グラフ上でランダム・ウォークを実施すること、クエリー・ログから生成されたクエリー‐フロー・グラフ上でページランク（PageRank）アルゴリズムを走らせることまたはクエリー・ログからターム関連付けパターンをマイニングすることを含む。
【００７６】
５０６では、当該文書に関連付けられた事前に定式化されたクエリーがあるかどうかが判定される。事前に定式化されたクエリーは、過去の検索挙動のクエリー・ログに基づいて同定されても、人間の編集者によって作成されても、あるいは検索クエリーを生成するための他のいかなる技法によって生成されてもよい。事前に定式化されたクエリーは、特定の単語、センテンス、段落、ページなど、文書の特定の部分に関連付けられていてもよい。たとえば、図３に示される事前に定義されたクエリー３１４といったものである。ユーザーによって選択されたテキストが文書の、事前に定式化されたクエリーと同じ部分からである場合には、プロセス５００は「yes」経路に沿って５０８に進む。しかしながら、文書が事前に定式化されたクエリーに関連付けられていない場合または文書に関連付けられた事前に定式化されたクエリーが、文書の、選択されたテキストを含む部分に関連付けられていない場合には、プロセス５００は「no」経路に沿って５１０に進む。
【００７７】
５０８では、事前に定式化されたクエリーが、５０４で得られた候補クエリーの集合に含められる。事前に定式化されたクエリーは、事前に定式化されていて、生成するために処理や解析を必要としないことがあるので、５０４において得られる他のクエリーより速く得られることがある。
【００７８】
５１０では、５０８で同定された事前に定式化されたクエリーがあればそれも含めて５０４で得られた候補クエリーがランク付けされる。候補クエリーのランク付けは、５０２で選択されたテキストに基づいてユーザーが所望する結果を返す可能性がより高いクエリーにより高いランクを与える。ランク付けは、文書によって与えられるコンテキストを考える言語モデル５１２に基づいていてもよい。コンテキストは、５０２でユーザーによって選択されたテキストおよび追加的なテキストを含む、文書中のテキストによって表わされてもよい（すなわち、コンテキストは、ユーザーによって選択されたテキストより、少なくとも一つの追加的な単語または文字だけ多くを含む）。ランク付けは、追加的または代替的に、人工知能システム５１４に基づいていてもよい。人工知能システム５１４は、人間の吟味によって検証される文書とクエリーの対の集合（すなわち、トレーニング・データ）を用いてトレーニングされる。人間の検査者は、文書とクエリーの対を評価して、クエリーであって、該クエリーと対にされた文書の内容に関係しているクエリーをもつ対を同定する。
【００７９】
５１６では、候補クエリーが、ランク付けに従って順序付けられたランク付けされたリストにおいて、ユーザーに呈示される。ランク付けされたリストは、ユーザーがテキストを選択したもとの文書をも表示するインターフェースにおいてユーザーに対して示されてもよく、それによりユーザーは、検索クエリーを選びながら、当該文書および選択されたテキストを見ることができる。あるいはまた、文書はもはや示されず、文書はリストによって置換されてもよい（たとえば、両方を示すには小さすぎる表示領域をもつ装置上で）。リストをポップアップ・ボックス、ドロップダウン・メニューなどで呈示するといった、リストを表示するための追加的な技法も考えられている。このように、５０２におけるテキストの選択は、選択されたテキストおよび周囲のコンテキストに基づいて関連性の順序でランク付けされた推奨されるクエリーのリストの表示を引き起こしうる。
【００８０】
５１８では、リストからの候補クエリーの一つのユーザーによる選択が受領される。ユーザーは、リストから項目を選択するためのいかなる通常の技法によって選択を行なってもよい。このように、ユーザーは、検索すべき単語を５０２において選択するときの自分の意図を最もよく表わす検索クエリーを前記リストから取ることができる。
【００８１】
５２０では、ユーザーによって選択されたクエリーは、検索エンジン１１０のような一つまたは複数の検索エンジンに提出される。次いでユーザーは、検索エンジンから検索結果を受け取ることができる。このように、この方法５００では、ユーザーは、文書から選択された単語を単純に検索するよりも、効果的な結果を生成するようよりよく設計されている検索クエリーに基づいて、検索結果を得ることができ、ユーザーはそれらの結果を、文書および／または検索エンジン・インターフェースとの最小限の対話のみで受け取ることができる。
【００８２】
〈結語〉
上記の主題はハードウェア、ソフトウェアまたはハードウェアとソフトウェアの両方において実装できる。実装は、構造的な特徴および／または方法論的な工程に固有の言辞において記載されてきたが、付属の請求項において定義される発明は必ずしも上記の特定の特徴または工程に限定されるものではないことは理解されるものとする。むしろ、そうした特定の特徴および工程は、検索クエリーを生成する例示的な実装の例示的な形として開示されているのである。
いくつかの態様を記載しておく。
〔態様１〕
文書中のテキストのユーザーによってなされた選択を受領する段階と；
少なくとも部分的には選択されたテキストに一つまたは複数のクエリー拡張技法を適用することによって生成されたクエリーを含む複数の候補クエリーを取得する段階と；
少なくとも部分的には（ｉ）選択されたテキストの一部または全部および追加的なテキストを含む前記文書中のテキストを含むコンテキストから導出される言語モデルまたは（ｉｉ）クエリーであって該クエリーと対にされた文書の内容に関係しているクエリーを有するものとして人間の検査者によって識別された文書とクエリーの対の集合をもってトレーニングされる人工知能システムに基づいて、前記複数の候補クエリーを、一つまたは複数の処理要素によってランク付けする段階とを含む、
方法。
〔態様２〕
前記クエリー拡張技法は、クエリー・ログに対してK平均アルゴリズムを適用すること、クエリー・ログをパースすることによって生成されるクエリー‐文書二部グラフ上でランダム・ウォークを実施すること、クエリー・ログから生成されたクエリー‐フロー・グラフ上でページランク・アルゴリズムを実行することまたはクエリー・ログからターム関連付けパターンをマイニングすることのうち少なくとも一つを含む、態様１記載の方法。
〔態様３〕
前記コンテキストが、所定数の単語またはキャラクタを有する前記文書のテキストの一部を有しており、テキストの前記一部は、前記選択されたテキストがテキストの前記一部の実質的に中央になるよう前記文書中で位置される、態様１記載の方法。
〔態様４〕
前記ランク付けが少なくとも部分的には前記言語モデルに基づき、前記言語モデルは、少なくとも部分的には、前記複数の候補クエリーのうちのクエリー内のいくつかの単語、前記選択されたテキスト内のいくつかの単語および前記コンテキスト内のいくつかの単語に基づく、態様１記載の方法。
〔態様５〕
前記ランク付けが少なくとも部分的には前記言語モデルに基づき、前記言語モデルは、前記複数の候補クエリーからのクエリー内の単語が該クエリー内の直前の単語に依存する二項言語モデルを含む、態様１記載の方法。
〔態様６〕
前記複数の候補クエリーを、少なくとも部分的には前記ランク付けに従って順序付けされたリストにおいて、ユーザーに対して呈示する段階と；
前記複数の候補クエリーのうちの一つのクエリーのユーザーによる選択を受領する段階と；
前記候補クエリーのうちの選択されたクエリーを検索エンジンに提出する段階とをさらに含む、
態様１記載の方法。
〔態様７〕
コンピュータ実行可能命令を有する一つまたは複数のコンピュータ可読媒体であって、前記命令は、プロセッサによって実行されたときに、コンピューティング・システムに：
ユーザーによる文書中のテキストの選択を、少なくとも部分的には選択されたテキストに基づく一つまたは複数の検索クエリーをユーザーに提供するコマンドとして解釈する段階と；
少なくとも選択されたテキストに基づいて複数の候補クエリーを取得する段階と；
前記文書によって与えられるコンテキストに少なくとも部分的に基づいて前記候補クエリーをランク付けする段階とを実行させるものである、
一つまたは複数のコンピュータ可読媒体。
〔態様８〕
前記テキストの選択が：
ユーザーがタッチスクリーン・ディスプレイ上に表示されたテキストに沿ってポインティング器具をドラッグすること、または
ユーザーがタッチスクリーン・ディスプレイ上に表示されたテキストのまわりで概括的に円形または卵型にポインティング器具を動かすことを含む、
態様７記載の一つまたは複数のコンピュータ可読媒体。
〔態様９〕
前記コンテキストが、前記選択されたテキストの少なくとも一部を含む前記文書からのテキストのセクションを含み、前記ランク付けが、少なくとも部分的には前記候補クエリーのうちのクエリー内およびクエリー・コーパス内の単語の数に基づいて候補クエリーをランク付けする二項言語モデルを使うことを含む、態様７記載の一つまたは複数のコンピュータ可読媒体。
〔態様１０〕
前記コンテキストが、前記選択されたテキストを含む前記文書からのテキストのセクションを含み、前記ランク付けが、文書／クエリー・タプルのデータ・セットを使う人工知能システムを使うことを含み、前記文書／クエリー・タプルのそれぞれのタプルにおける文書とクエリーとの間の対応は人間の検査者によって検証されている、態様７記載の一つまたは複数のコンピュータ可読媒体。
【図１】
0006429630.tif 000018
【図２】
0006429630.tif 000019
【図３】
0006429630.tif 000020
【図４】
0006429630.tif 000021
【図５】
0006429630.tif 000022