(57)【要約】【課題】検索結果をクリックディスタンスという新しい機能に従ってランク付けする。【解決手段】ネットワーク上の検索クエリの検索結果をネットワーク上の各文書に接続した付加的なクリックディスタンス特性に従ってランク付けする。クリックディスタンスはあるページあるいはネットワーク上の最高権威あるいは根ページと指定されたネットワーク上のページからのクリック回数あるいはユーザナビゲーションの測定値である。結果の精度は、検索クエリが起こるサイトあるいはイントラネットが階層的に構成されているとき、クリックディスタンス項目の追加により向上する。【選択図】図２
2011258235.tif 000002
【特許請求の範囲】
【請求項１】
検索結果をランク付けする方法であって、
文書およびネットワーク上の文書のリンク情報を格納すること、
前記文書および前記リンク情報からネットワークの表記を生成することであって、前記ネットワークの表記は、文書を表記するノードを含み、前記ノードは、少なくとも２つの高権威ノードおよび他のノードを含むこと、
各高権威ノードに、管理者によって設定されたクリックディスタンス値を割り当てること、
前記他のノードの初期クリックディスタンス値を所与の値に設定すること、
コンピューティングデバイスにおいて、前記他のノードのクリックディスタンス値を計算することであって、前記他のノードの各々のクリックディスタンス値は、最も近い高権威ノードへの最短パスを辿る前記リンクの数であること、
前記高権威ノードおよび前記他のノードの前記クリックディスタンス値を使用して、クエリに独立な検索能力尺度として検索結果をランク付けすること
を備えたことを特徴とする方法。
【請求項２】
前記所与の値は、最大値であることを特徴とする請求項１に記載の方法。
【請求項３】
前記ランク付けされた検索結果をメモリに格納することをさらに含み、前記ランク付けされた検索結果は、検索能力尺度の降順に並び替えられた前記文書のいくつかのリストを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記クリックディスタンス値を、前記検索結果をランク付けする前に、他の文書統計と結合することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
スコア機能を、前記計算されたクリックディスタンス値および前記他の統計に適用して、前記文書をランク付けするためのスコアを作成することを特徴とする請求項４に記載の方法。
【請求項６】
前記高権威ノードおよび前記他のノードの前記クリックディスタンス値を使用して、クエリに独立な検索能力尺度として検索結果をランク付けすることは、前記文書の各々に対する検索能力スコアを判定するためのスコア機能において、クリックディスタンスに対応する要素を用いることをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記検索能力スコアを、前記クリックディスタンスの前記検索能力スコアへの影響を滑らかにするＵＲＬ深さプロパティによりオフセットすることを特徴とする請求項６に記載の方法。
【請求項８】
前記ネットワークの表記を生成することは、前記ネットワークの表記内の複数のノードを高権威ノードとして指定して、前記ネットワークの表記を生成することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記クリックディスタンス値の１つを計算したあとに、前記クリックディスタンス値の１つを手動で変更する入力をユーザから受け取ることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
計算されたクリックディスタンス（ＣＤ）、クエリに独立な検索能力要素の重み（ｗcd）、クリックディスタンスの重み（ｂcd）、ＵＲＬ深さの重み（ｂud）、ＵＲＬ深さ（ＵＤ）、およびクリックディスタンス飽和定数（Ｋcd）によって、少なくとも判定されるスコア（Ｓｃｏｒｅ）に従って、前記文書をランク付けすることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
計算されたクリックディスタンス（ＣＤ）、重み付けした項目頻度（ｗｔｆ）、重み付けした文書長さ（ｗｄｌ）、重み付けした文書の平均長（ａｖｗｄｌ）、ネットワーク上の文書数（Ｎ）、クエリ項目を含む文書の数（ｎ）、クエリに独立な検索能力要素の重み（ｗcd）、クリックディスタンスの重み（ｂcd）、ＵＲＬ深さの重み（ｂud）、ＵＲＬ深さ（ＵＤ）、クリックディスタンス飽和定数（Ｋcd）およびその他の定数（ｋl、ｂ）によって、少なくとも判定されるスコア（Ｓｃｏｒｅ）に従って、前記文書をランク付けすることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
スコア（Ｓｃｏｒｅ）は、
【数１】
2011258235.tif 000006
で与えられることを特徴とする請求項１１に記載の方法。
【請求項１３】
検索結果のランク付けをするシステムであって、前記システムは、検索エンジンを実行するコンピューティングデバイスを含み、前記検索エンジンは、前記コンピューティングデバイスにより実行されると、前記コンピューティングデバイスに、
文書およびネットワーク上の文書のリンク情報を記録すること、
前記文書および前記リンク情報からネットワークの表記を生成することであって、前記ネットワークの表記は、文書を表記するノードを含み、前記ノードは、少なくとも２つの高権威ノードおよび他のノードを含むこと、
各高権威ノードに、管理者によって設定されたクリックディスタンス値を割り当てること、
前記他のノードの初期クリックディスタンス値を所与の値に設定すること、
コンピューティングデバイスにおいて、前記他のノードのクリックディスタンス値を計算することであって、前記他のノードの各々のクリックディスタンス値は、最も近い高権威ノードへの最短パスを辿る前記リンクの数であること、
前記高権威ノードおよび前記他のノードの前記クリックディスタンス値を使用して、クエリに独立な検索能力尺度として検索結果をランク付けすること
を実行させるコンピュータ実行命令を含むことを特徴とするシステム。
【請求項１４】
前記ネットワークの表記を生成することは、ネットワークグラフを生成し、前記ネットワークグラフをメモリに格納することをさらに備えたことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記コンピューティングデバイスに、
前記クリックディスタンス値を、前記検索結果をランク付けする前に、他の文書統計と結合することをさらに実行させることを特徴とする請求項１３に記載のシステム。
【請求項１６】
スコア機能を、前記計算されたクリックディスタンス値および前記他の統計に適用して、前記文書をランク付けするためのスコアを作成することを特徴とすることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記高権威ノードおよび前記他のノードの前記クリックディスタンス値を使用して、クエリに独立な検索能力尺度として検索結果をランク付けすることは、前記文書の各々に対する検索能力スコアを判定するためのスコア機能において、クリックディスタンスに対応する要素を用いることをさらに備えたことを特徴とする請求項１３に記載のシステム。
【請求項１８】
コンピューティングデバイスにより実行されると、前記コンピューティングデバイスに、
文書およびネットワーク上の文書のリンク情報を記録すること、
前記文書および前記リンク情報からネットワークの表記を生成することであって、前記ネットワークの表記は、文書を表記するノードを含み、前記ノードは、少なくとも２つの高権威ノードおよび他のノードを含むこと、
各高権威ノードに、管理者によって設定されたクリックディスタンス値を割り当てること、
前記他のノードの初期クリックディスタンス値を所与の値に設定すること、
コンピューティングデバイスにおいて、前記他のノードのクリックディスタンス値を計算することであって、前記他のノードの各々のクリックディスタンス値は、最も近い高権威ノードへの最短パスを辿る前記リンクの数であること、
前記高権威ノードおよび前記他のノードの前記クリックディスタンス値を使用して、クエリに独立な検索能力尺度として検索結果をランク付けすること
を実行させるコンピュータ実行命令を含むことを特徴とするコンピュータ読取り可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索結果をクリックディスタンスという新しい機能に従ってランク付けするシステムおよび方法に関する。
【背景技術】
【０００２】
文書の検索において一般にユーザは検索エンジンにクエリ内容を入力する。検索エンジンはインデックス化した文書のデータベースに対してクエリ内容を評価し、クエリ内容に最も良く合致する文書のランク付けしたリストを返す。文書がクエリ内容にどれくらい良く合致するかという尺度を表すスコアは、検索エンジンがアルゴリズムを用いて生成する。一般に用いられているスコアアルゴリズムは、クエリ内容を検索項目に分解し、検索する文書本体において各項目の出現に関する統計的情報を使用する。文章はそれぞれのスコアに従ってランクによりリストアップされ、これにより検索結果リストの最上段に最もよく合致する検索結果が表示される。
【０００３】
検索結果の特性を活用するためにいくつかの検索エンジンで用いている別の評価方法として、結果のランクを選択したランク付け機能により修正するものがある。１つの従来技術のある例のランク付け機能は、１つのページが他のページにリンクしている場合、他のページに効果的に一票を投じると決める。あるページに投じられる票が多いほどそのページは重要性を増す。ランク付け機能はまた誰が票を投じたかを考慮する。そのページが重要であればあるほど票も重要である。これらの票は集められてネットワーク上のページの格付けの要素として使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ランク付け機能はランク付けの質を向上するために用いられる。しかしランク付け機能の効果はネットワークのトポロジーに影響される。例えば前記の投票を用いたランク付け機能はイントラネット環境においては効果が減少する。イントラネットとはインターネットと同じプロトコルをいくつか使用するが、アクセスできるのは会社の従業員のようなユーザの部分集合である。イントラネットのページは構造化されていないか、あるいはインターネットのようにきちんと接続されておらず、したがってランク付け機能により生成する結果の関連性をインターネット環境ほど減少させることができない。
【課題を解決するための手段】
【０００５】
本発明の実施例は、検索結果をクリックディスタンスという新しい機能に従ってランク付けするシステムおよび方法に関する。クリックディスタンス機能はイントラネットの階層構造を利用する。通常イントラネットは根ノードと根から他のノードへ伸びる枝からなるツリー構造になっている。イントラネットの根ノードはしばしばそのホームページと呼ばれる。イントラネット環境の外部のサイトもまた階層構造に基づいていることがあり、これらのサイトに対するクリックディスタンスもまたそのサイトのページのランク付けに大いに適用することができる。
【０００６】
クリックディスタンスはクエリに独立な検索能力尺度で、サイトの特定のページに到達するために必要な「クリック」の回数である。ツリー構造においてクリック数は、根ノードからの経路を辿る際の、枝の数で表される。あるページに対するクリックディスタンスが判定されると、そのクリックディスタンスはそのページのスコアに組み込まれる。クリックディスタンスを組み込んだそのページのスコアは検索結果内のその他のページとの間のページランクを判定する。
【０００７】
本発明の１つのある側面では、ネットワークのリンクとページに接続する特性テーブルを作成するためにネットワークをまず「這い回る（crawled）」。「這い回る（crawling）」とはインデックスと呼ぶデータベースに自動的にいくつかの文書（あるいは類似の情報の個別単位）を収集することである。這い回りはある文書内の文書参照リンクに従ってネットワーク上の複数の文書について行い、それから見つかった各文書について処理を行う。文書の処理は文書内でキーワードか一般テキストかを識別し、インデックスを作成する。
【０００８】
典型的なインデックスは、語の欄とどの文書にこれらの語があるかを示す欄を有する引用リストである。ユーザが１個あるいは複数の検索項目を入力すると、得られた結果に本発明によるクリックディスタンス機能を含むランク付けアルゴリズムが適用される。クリックディスタンス機能はそのページのスコアについてプラスあるいはマイナスに作用し、ユーザに返される結果を改善する。
【０００９】
本発明の別の側面では、結果をさらに改善するためにＵＲＬ（Uniform Resource Locator）の深さプロパティをランク付けアルゴリズムに付加する。ＵＲＬ深さプロパティはクリックディスタンス機能に対するチェックを行うためにＵＲＬのレベル数を測定し、それによってそのページのスコアを調整する。
【図面の簡単な説明】
【００１０】
【図１】本発明の典型的な実施例に用いることができる典型的なコンピューティングデバイスを示す図である。
【図２】検索結果を本発明に従ってクリックディスタンスによりランク付けするシステムを示す図である。
【図３】本発明に従う典型的なネットワークグラフを示す図である。
【図４】本発明に従う典型的な階層ネットワークグラフを示す図である。
【図５】本発明に従ってクリックディスタンスを計算する典型的な処理を示す論理フロー図である。
【図６】本発明に従ってクリックディスタンスを用いて検索結果のランク付けをする典型的な処理を示す論理フロー図である。
【発明を実施するための形態】
【００１１】
本発明の一部であり本発明の典型的な実施例を示す図面を用いて、本発明についてさらに詳細に説明する。しかし本発明は多様な形で実施可能であり、ここに示す実施例に限定されると解釈してはならない。これらの実施例は本発明を完全に漏れなく公開するためのものであり、本発明の範囲をこの技術に詳しい人に完全に伝えることを目的としたものである。特に本発明は方法としても装置としても実施できる。したがって本発明は全部がハードウエアで実施することも、全部がソフトウエアの形で実施することも、またソフトウエアとハードウエアの組合せでも実施できる。以下の詳細な説明はしたがってどちらかに限定すると解釈してはならない。
【００１２】
（動作環境の説明）
図１にコンピューティングデバイス１００のようなコンピューティングデバイスを含む、本発明の実施のための典型的なシステムを示す。コンピューティングデバイス１００はクライアント、サーバ、可搬装置あるいはどのような形のコンピューティングデバイスで構成されていてもよい。もっとも基本的な構成では、コンピューティングデバイス１００は通常少なくとも１個の処理ユニット１０２とシステムメモリユニット１０４とを含む。コンピューティングデバイスのそれぞれの構成とタイプによってシステムメモリ１０４は揮発性（例えばＲＡＭ）、不揮発性（例えばＲＯＭ、フラッシュメモリ）、あるいはこの２つの組合せでもよい。システムメモリ１０４は一般にオペレーティングシステム１０５、１個あるいは複数のアプリケーション１０６を含み、またプログラムデータ１０７を含んでいてもよい。ある実施例においては、アプリケーション１０６が本発明の機能性を実現するための検索ランク付けアプリケーション１２０を含む。図１にこの基本構成を点線１０８の中に部品として図示している。
【００１３】
コンピューティングデバイス１００はその他の特性あるいは機能を持っていてもよい。例えばコンピューティングデバイス１００は磁気ディスク、光ディスク、あるいはテープのような追加のデータ格納装置（取り外し可能あるいは不可能な）を有していてもよい。図１ではこのような付加的な格納装置は取り外し可能な格納装置１０９，取り外し不可能な格納装置１１０として図示している。コンピュータの格納媒体にはコンピュータ読取り可能命令、データ構造、プログラムモジュール、その他のデータのような情報を格納するために、いろいろな方法あるいは技術で実現された揮発性および不揮発性、取り外し可能および取り外し不可能の媒体がある。システムメモリ１０４，取り外し可能格納装置１０９および取り外し不可能な格納装置１１０はすべてコンピュータ格納媒体の例である。コンピュータ格納媒体にはＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリあるいはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多目的ディスク（ＤＶＤ）あるいはその他の光学的格納装置、磁気カセット、磁気テープ、磁気ディスクあるいはその他の磁気格納装置、あるいは所望の情報を格納できまたコンピュータデバイス１００がアクセス可能なその他の媒体があるが、これに限定されない。このようなコンピュータ格納媒体は装置１００の一部分であっても構わない。コンピュータデバイス１００はまたキーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス１１２を有することができる。ディスプレイ、スピーカ、プリンタなどの出力デバイスが含まれてもよい。
【００１４】
コンピュータデバイス１００はまたネットワークなどを経由して他のコンピュータデバイス装置１１８と通信できるように、通信接続１１６も備えている。通信接続１１６は通信媒体の一例である。通信媒体は一般に搬送波あるいはその他の伝送機構のような変調データ信号に含まれるコンピュータ読取り可能命令、データ構造、プログラムモジュールあるいはその他のデータによって具現化され、どのような情報供給媒体を含んでいてもよい。「変調データ信号」とはその１つあるいは複数のプロパティが情報をエンコードするようなやり方で信号中に設定あるいは変化された信号を意味する。例えば通信媒体には有線ネットワークあるいはその他の直結接続のような有線媒体、および音響、高周波、赤外線その他の無線媒体のような無線媒体を含むが、これに限定されない。ここでいうコンピュータ読取り可能媒体には格納媒体および通信媒体の両方を含む。
【００１５】
（クリックディスタンスによる検索結果ランク付けの実施例）
本発明の実施例は検索エンジンに対するランク付け機能に関するものである。検索エンジンの質は一般にランク付け機能によって割り当てられるランクに従う文書の接続によって決まる。ランク付け機能は複数の特徴に準拠できる。これらの特徴のあるものはクエリ内容に依存するものでもよいし、あるものはクエリ内容とは無関係でもよい。本発明においてはクリックディスタンスと呼ぶ、クエリに独立な検索能力尺度を用いる。クリックディスタンスとはユーザがイントラネットのホームページ（イントラネット上のもっとも権威あるＵＲＬ、あるいはもっとも権威あるＵＲＬのうちの１つ）から当該ページまでに行う必要のある「クリック」の回数である。ウエブグラフ上ではクリックディスタンスをホームページと当該ページとの最短パスとして表すことができる。ある実施例においてはアリゴリズムがまず全幅を辿り、所定のノードとグラフにあるすべての他のノードとの距離を計算する。イントラネットに対するクリックディスタンスの計算を完了するのに、Ｎ回反復して辿る必要がある可能性がある。ここでＮはグラフの直径（最大最短距離）である。この場合の変数Ｎはグラフ上のノードの総数よりずっと小さい。例えば、本発明に対するＮはネットワークによって５と６０の間であるとする。他のランク付け機能ではこのグラフ全体をカバーするのに４０−５０回の反復を要する（例えばページランク）可能性があり、このような他のランク付け機能はクリックディスタンスを使用するよりも数倍遅い。
【００１６】
図２は本発明に従ってクリックディスタンスにより検索結果をランク付けするシステムを示す。検索エンジン２００は複数のクエリ項目を含むクエリを受け取る。各クエリ項目は、クエリ項目がフレーズの場合、複数の要素項目を含む（例えば「ドキュメントマネージメントシステム」というフレーズは１個のクエリ項目と見なされる）。さらにクエリは１個あるいは複数の、ブール演算子、制約条件などの演算子を含んでもよく、これらは通常従来の検索エンジンでサポートされている。
【００１７】
文書２１０，２１２，２１４，２１６で表されている分布ネットワーク上の複数の文書に検索を適用する。実際には検索エンジンはどのような数の文書でも検索でき、一般に多数の（例えば数百万の）文書を含む集合を検索する。文書の数はインターネット環境からイントラネット環境になれば減少するが、それは通常数十億から数百万への減少で、相対的な文書数は依然として極めて多い。インデックス化モジュール（図示されていない）は各文書について個々の文書統計を生成する（例えば２１８，２２０，２２２，２２４）。この文書統計はインデックス２２６に格納される。
【００１８】
検索エンジン２００はインデックス２２６を参照して、クエリおよびそれに対応する文書統計に基づいて各文書に対する検索スコア２２８を判定する。本発明においては使用する文書統計の１つがその文書のクリックディスタンスである。他の実施例において使用する文書統計の１つがその文書に接続するURLの深さである。それからクリックディスタンスおよびURLの深さはクエリに関係する統計と結合され、文書の最終スコアを作る。文書スコア２２８は通常それから降順にランク付けされて、検索アルゴリズムがクエリにもっとも関連があると考える文書リストをユーザに提供する。
【００１９】
図示のシステムにおいて検索エンジン２００はクリックディスタンスを文書の検索スコアの判定に用いるクリックディスタンス検索エンジンを表す。文書のクリックディスタンス採点はサイトのホームページからその文書までの距離を測定して階層構造サイト（図３参照）において文書を位置づけする。例えば、ホームページからのクリックディスタンスはそのページの重要性の尺度であり、階層においてホームページに近いページは階層において低いページより重要であると考えられる。しかし、階層の低い文書が階層の高いページよりも重要であるという、反対の場合が正しいということもあり得る。したがってクリックディスタンスはクエリによる（例えばクエリに関係するある機能は文書中に検索項目が表れる回数を計数するというような）よりは全体的な重要性を採点するので、クエリに独立な検索能力尺度であると考えられる。
【００２０】
図３は本発明に従った典型的なネットワークグラフを示す。このネットワークグラフはノード（例えば３１０）およびエッジあるいはリンク（例えば３２０）から成る。ノード（例えば３１０）は、検索クエリへの結果として返されることになる、ネットワーク上のページおよびその他のリソースを表す。リンク（例えば３２０）はページに記載されているナビゲーションに従ってこれらのページのそれぞれを結合する。各ページについてリンク情報の組を集めることにより特定のページに対するクリックディスタンスを計算できる。
【００２１】
ある実施例において、ノード３３０は一群の文書に対してネットワーク上の最も権威あるページあるいは根ノードを表す。ネットワークの残りのページに対するクリックディスタンスはノード３３０から計算できる。例えば、ノード３４０はノード３３０から２回の「クリック」のクリックディスタンスである。前記のように「クリック」とは最高権威ノードから最短のパスを通って辿る枝の数である。ノード３３０からノード３４０に到達する他のパスも選択できるが、クリックディスタンスは最短パスに関するものである。
【００２２】
ネットワークグラフ３００は特定の順序に従っていないノードを示し、この点でインターネットに類似している。順序が無いのでページのランク付けにクリックディスタンスを適用することを概念化するのが困難かもしれない。しかしページおよびリソースのネットワークは次の図４に示すような順序に適合することもしばしばある。
【００２３】
図４は本発明に従った典型的な階層ネットワークを示す。階層ネットワークグラフ４００はノード（例えば４１０）およびリンク（例えば４２０）を含む点で図３に示すネットワークグラフ３００に似ている。しかし階層ネットワークグラフ４００は構造化サイトあるいはイントラネットの固有階層に基づいている。したがって、階層ネットワークグラフ４００は根ノードから枝が広がっているツリー構造として概念化できよう。
【００２４】
階層ネットワークグラフ４００に対するクリックディスタンスの適用性および計算はもっと判りやすい。例えばノード３３０は最高権威ノードあるいはツリーの根ノードに対応する。したがってノード３４０は、根ノードから３クリックあるいは３回のユーザナビゲーションなので、関連クリックディスタンスは３である。言い方を変えれば、ユーザはノード３３０からノード３４０に移行するのにツリーの枝を３本通過する必要があるので、クリックディスタンスも３である。
【００２５】
図３および図４に表されるネットワークグラフは、クリックディスタンスを計算するために文書のインデックス化をする間メモリに構成されるグラフの例である。インデックス化する間グラフを構成することにより、クリックディスタンスをインデックスに保存される文書統計に含めることができ、またページのランク付けに使用することができる。クリックディスタンスプロパティの生成プロセスおよびクリックディスタンスプロパティを文書のランク付けに使用する例を以下に図５および図６に関連して説明する。
【００２６】
図５は本発明に従ってクリックディスタンス（ＣＤ）を計算するための処理例の論理フロー図を示す。処理５００は分布ネットワーク上の文書がインデックス化され、ネットワークグラフが生成されているブロック５０２で始まる。ある実施例において、ネットワークグラフがデータから生成されるが、そのデータはリンクおよびアンカーテキスト情報を集める処理によって集められ、アンカーの特定のターゲット文書に帰せられたデータである。この処理およびアンカーテキストの概念はさらに詳しくは、本願と同時に申請した出願「System and Method for Incorporating Anchor Text into Ranking Search Results」で説明されている。処理はブロック５０４で継続する。
【００２７】
ブロック５０４においてネットワークグラフがメモリにロードされる。このネットワークグラフは文書の識別表示（例えば文書ＩＤ）の構造的表示であり、ネットワークから集めたリンク情報である。ネットワークグラフの例を図３および図４に示す。ネットワークグラフはサイトあるいはイントラネットのノードあるいはページを表している。各ノードは、値あるいは重みを持ち、接続するクリックディスタンスプロパティを有する。ある実施例においては、このクリックディスタンスプロパティは文書ＩＤの最後に集中している。処理はブロック５０６で継続する。
【００２８】
ブロック５０６においてクリックディスタンス（ＣＤ）値を各ノードについて初期化する。最高権威ノードを割り当てノードとして指定する。これらのノードにはクリックディスタンス値が０（ゼロ）に割り当てられる。１個のネットワークグラフに対して複数の高権威ノードが指定されることもある。例えば管理者が１００ノードの組を手動でランク付けし、これらのすべてを高権威ノードに指定することもできる。さらに高権威ノードは必ずしも０（ゼロ）のクリックディスタンスを有する必要はなく、管理者がどのような値でも割り当てることができる。高権威ノードのクリックディスタンスを変更することが残りのアルゴリズムを変更することはなく、それは単にノードの重要度を手動で指定する方法を提供するだけである。例えば管理者はいくつかのノードのクリックディスタンススコアを増やすことができる。別の場合には管理者がクリックディスタンススコアを減らすことができる（初期設定でアルゴリズムが計算した値よりもクリックディスタンスを強制的に大きくする）。割り当てのない各ノードのクリックディスタンスは最大値に初期化される。ある実施例においては、基本的にクリックディスタンスの最大値を無限大に設定する。ノードに無限大値を割り当てることにより、そのノードについてまだクリックディスタンスが計算されていないことが容易に認識できる。クリックディスタンス値の初期化が終わると処理はブロック５０８に移る。
【００２９】
ブロック５０８において最大値以外の接続クリックディスタンスを持つノードは待ち行列に挿入される。ある例においては、この段階は最初の反復のみで生成する。待ち行列に挿入されたノードのクリックディスタンスは最大値以外の値、０（ゼロ）に設定されるので、これらのノードは最高権威ノードに相当する。最大値以外のクリックディスタンスを持つノードが待ち行列に加えられるとブロック５１０で判定処理を行う。
【００３０】
判定ブロック５１０では待ち行列が空かどうかを決める。待ち行列が空であればターゲットノードのクリックディスタンスを計算する必要のあるノードがもう無いということを意味する。待ち行列が空の場合、処理はブロック５１２に移動し、そこで処理５００は終了する。しかし待ち行列が空でない場合は、処理はブロック５１４で継続する。
【００３１】
ブロック５１４ではノードが待ち行列から除去される。ノードを待ち行列から除去するとその文書に接続するターゲットノードについてクリックディスタンスの計算を開始する。ターゲットノードは元の文書からリンクのある文書に対応している。この場合、元の文書は待ち行列から除去したノードに対応する文書である。このノードが除去されると処理はブロック５１６に移る。
【００３２】
ブロック５１６では次のターゲットノードを持ってくる。次のターゲットノードとは元の文書によりリンクされている文書中の次の文書に関するものである。次のターゲットノードを持ってくると処理を判定ブロック５１８で継続する。
【００３３】
判定ブロック５１８において、ターゲットノードに接続するクリックディスタンスが現在のページプラス１（ＣＤ＋１）のクリックディスタンスより大きいかどうかを判定する。ある実施例においては、ブロック５１８における条件を満たす方法はターゲットノードが無限大のクリックディスタンスを有するときである（高権威ノードがゼロに設定されており、管理者がクリックディスタンスを手動で設定していないと想定）。例えば、現在のクリックディスタンスが１の場合、ＣＤ＋１＝２である。クリックディスタンス２はしたがって無限大より小さく、条件が満たされる。ターゲットクリックディスタンスがそのクリックディスタンスプラス１より大きいかの判定により、それより小さいクリックディスタンスを持つターゲット文書が変更されるのを防止する。前の例を用いれば、ターゲットノードのクリックディスタンスが１で現在のクリックディスタンスも１の場合、ターゲットクリックディスタンスはＣＤ＋１＝２より大きくない。この場合ターゲットノードへの最短パスが既に記録されており、したがって更新の必要がない。したがってターゲットクリックディスタンスが現在のクリックディスタンスプラス１より大きくないときは、処理は判定ブロック５２２へと進む。しかしターゲットクリックディスタンスが現在のクリックディスタンスプラス１よりも大きい場合は、処理はブロック５２０に移る。
【００３４】
ブロック５２０において、ターゲットノードのクリックディスタンス値は更新され、ターゲットノードがそのターゲットノードのクリックディスタンスを計算する必要のあるノードとして待ち行列に加えられる。ターゲットノードは無限大値を除去して新しいクリックディスタンス値で更新され、ノードに計算したクリックディスタンス値を設定する。ある実施例においては、そのノードのクリックディスタンス値は現在のクリックディスタンス値プラス１（ＣＤ＋１）に設定される。処理は判定ブロック５２２で継続する。
【００３５】
判定ブロック５２２において、待ち行列から除去する現在のノードについてすべてのターゲットノードが持って来たかを判定する。現在のノードについてまだ持ってくるターゲットノードが残っている場合は、処理はブロック５１６に戻り、次のターゲットノードを持ってくる。しかし、現在のノードについてすべてのターゲットノードを持って来た場合、処理は判定ブロック５１０に戻り、待ち行列がいま空かどうかを再チェックする。待ち行列か空であれば処理はブロック５１２に移り、ここで処理５００は終了する。
【００３６】
ネットワーク中のすべてのノードが最初の高権威ノードに接続されていないこともあり得る。したがって、本発明の他の実施例においては高権威ノードに接続されていないノードは重要度が低いと見なされ、ネットワークグラフに対する平均よりも低いクリックディスタンスが割り当てられる。
【００３７】
図６は本発明に従って検索結果のランク付けにクリックディスタンスを用いるための典型的な処理の論理フロー図を示す。処理６００はクエリが要求され、ネットワーク上の各文書に対するクリックディスタンスが計算されているブロック６０２で始まる。処理はブロック６０４で継続する。
【００３８】
ブロック６０４において各文書に対するクリックディスタンスはインデックス中の他の文書統計（図２参照）と結合される。クリックディスタンスを他の文書統計と結合することにより、ランク付けに関するすべての情報が一箇所に集められるので、クエリへの応答が速くなる。したがってインデックス中のリストにある各文書は結合後の接続クリックディスタンス値を持つ。結合が完了すると処理はブロック６０６に移る。
【００３９】
ブロック６０６において、スコア機能を、クリックディスタンスを含む文書統計の組に適用して、特定の文書についてスコアを計算する。クリックディスタンスはクエリに独立な検索能力要素をスコア機能に提供する。スコア機能のその他の部分はクエリに接続するか、あるいはスコア機能の内容に接続する部分である。ある実施例においては、スコア機能はクエリに接続する（ＱＤ）スコアとクエリに独立な検索能力（ＱＩＤ）スコアの和である。すなわち、  
Score = QD(doc, query) + QID(doc)      （１）。
【００４０】
ＱＤ機能はどのような文書スコア機能であってもよい。ある実施例においては、ＱＤスコア機能は、２００４年３月１８日に申請した「Field Weighting in Text Document Searching」と題する米国特許出願１０／８０４，３２６号の明細書に説明しているフィールド重み付けスコア機能に相当する。米国特許出願１０／８０４，３２６号明細書に述べているように次式がフィールド重み付けスコア機能の式である。
【００４１】
【数１】
2011258235.tif 000003
【００４２】
ここで各項は以下のように定義される。ｗｔｆは重み付けした項目の頻度あるいは全プロパティにわたって重みを乗じた所定の項目の頻度の和である。ｗｄｌは重み付けした文書の長さである。ａｖｗｄｌは重み付けした文書の平均長である。Ｎはネットワーク上の文書の数（すなわち辿る文書の数）である。ｎは所定のクエリ項目を含む文書の数である。ｋlおよびｂは定数である。これらの項目および等式については米国特許出願１０／８０４，３２６号明細書に詳しく述べている。
【００４３】
ＱＩＤ機能はクリックディスタンスおよび他の文書統計（ＵＲＬ深さのような）のどのような変換式であってもよい。ある実施例においてはこの機能は次のようなものである。
【００４４】
【数２】
2011258235.tif 000004
【００４５】
ここにこの機能の項目は以下のように定義される。ｗcdはクエリに独立な検索能力要素の重みである。ｂcdはクリックディスタンスの重みである。ｂudはＵＲＬ深さの重みである。ＣＤはクリックディスタンスである。ＵＤはＵＲＬ深さである。Ｋcdはクリックディスタンスの飽和定数である。重み付け項目（ｗcd、ｂcd、ｂud）はこれらに接続する各項目の重要度を定義するのを支援し、最終的にスコア機能を形成する。ＵＲＬ深さ（ＵＤ）は、スコア機能へのクリックディスタンスの影響を滑らかにするための、クエリに独立な検索能力の付加的要素である。ある場合にはあまり重要でない（すなわちＵＲＬ深さが大きい）文書が短いクリックディスタンスを持つことがある。ＵＲＬの深さは文書のＵＲＬにおけるスラッシュの数を数える。例えば、www.example.com/d1/d2/d3/d4.htmには４個のスラッシュがあり、したがってＵＲＬ深さは４である。しかしこの文書はメインページwww.example.comから直接つながっており、クリックディスタンスが１かもしれない。機能（３）にＵＲＬ深さ項目を含み、それをクリックディスタンスに対して重み付けすると、クリックディスタンスの高スコアが補正されて階層におけるそのページのより正確なランクを反映する。ネットワークによっては、３あるいはそれ以上のＵＲＬ深さは深いリンクと見なされることがある。この実施例に対して、本発明では（２）と（３）の２つの機能を加えてスコア機能（Score）を作り、したがってこの新しいスコア機能は次のようになる。
【００４６】
【数３】
2011258235.tif 000005
【００４７】
他の実施例では、クエリに接続する要素あるいはクエリに独立な検索能力の精度を向上するために、ＵＲＬ深さをスコア機能から取り除き、あるいは他の要素をスコア機能に加えてもよい。さらに本発明の趣旨あるいは範囲を離れずに、ランク付け結果を向上するためにクエリに独立な検索能力要素をここに示されていない他のランク付け機能に組み込んでもよい。スコア機能（４）に特定の文書の文書統計がポピュレートされると処理はブロック６０８に進む。
【００４８】
ブロック６０８においてスコア機能を実行し、文書の検索能力スコアを計算する。検索能力スコアの計算が完了するとメモリにそれを格納し、その特定の文書と接続する。それから処理は判定ブロック６１０に移る。
【００４９】
判定ブロック６１０においてスコア機能（４）に従ってすべての文書について検索能力スコアを計算したかどうかを判定する。スコアは図示のように直列に計算しても、並列に計算してもよい。全てのスコアが計算されていない場合、処理はブロック６０６に戻り、スコア機能に次の文書統計の組がポピュレートされる。しかし、すべてのスコアが計算された場合、処理はブロック６１２で継続する。
【００５０】
ブロック６１２においてクエリの検索結果をその検索能力スコアに従ってランク付けする。このスコアにはすでに各文書のクリックディスタンスとＵＲＬ深さが考慮されている。したがって文書のランク付けは改善されており、他の要素がすべて同じ場合、イントラネットあるいはサイトの階層の高い文書が他の文書よりも高いランクにある。検索結果のランク付けが終わると、処理はブロック６１４に進み、ここで処理６００は終了する。
【００５１】
処理６００が完了すると検索エンジンによる結果の伝送および表示に関連するさまざまな操作によりランク付けした文書をユーザに返すことができる。これによりユーザは高い精度の結果に対応する文書がユーザの裁量により選択、閲覧できる。
【００５２】
上記の仕様、例およびデータは本発明の構成の製作および使用を完全に説明するためのものである。本発明の趣旨と範囲を離れることなく多くの実施例が可能であるから、本発明は以下に付する請求項に存する。
【符号の説明】
【００５３】
２００  検索エンジン
２１０，２１２，２１４，２１６  文書
２１８，２２０，２２２，２２４  文書統計
２２６  インデックス
２２８  検索スコア
【図１】
2011258235.tif 000007
【図２】
2011258235.tif 000008
【図３】
2011258235.tif 000009
【図４】
2011258235.tif 000010
【図５】
2011258235.tif 000011
【図６】
2011258235.tif 000012