JP2008510256A - シンクの改善を伴う、リンク解析を用いて文書をランク付けする方法、装置及びコンピュータプログラム - Google Patents

シンクの改善を伴う、リンク解析を用いて文書をランク付けする方法、装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2008510256A
JP2008510256A JP2007527877A JP2007527877A JP2008510256A JP 2008510256 A JP2008510256 A JP 2008510256A JP 2007527877 A JP2007527877 A JP 2007527877A JP 2007527877 A JP2007527877 A JP 2007527877A JP 2008510256 A JP2008510256 A JP 2008510256A
Authority
JP
Japan
Prior art keywords
scc
link
node
sccs
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007527877A
Other languages
English (en)
Inventor
ジョフリー、キャンライト
ケント、エンゴ‐モンセン
マーク、バージェス
Original Assignee
テレノール アーアスアー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレノール アーアスアー filed Critical テレノール アーアスアー
Publication of JP2008510256A publication Critical patent/JP2008510256A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

シンクの改善策として、リンク及びノードを含む元のグラフからのメタグラフの形成するステップと、メタグラフ内のリンクの反転とメタグラフ内のソースのポンピングの一方を行うステップとを含み、リンク解析を用いて文書をランク付けする方法、装置、及び、コンピュータプログラムである。

Description

関連出願の相互参照
本願は、2004年8月16日に出願され、全内容が参照によって本明細書に組み込まれた、米国出願第10/918,713号の優先権を主張する。本願は、2003年10月29日に出願され、全内容が参照によって本明細書に組み込まれた、米国特許出願第10/687,602号に関連した主題も含む。
本発明は、ハイパーテキストリンクを用いて分散ネットワーク内で見つけられた情報源をランク付けする方法、システム、及び、コンピュータプログラムを含む。特に、本発明は、分散ネットワーク環境内の検索からのヒットのリンク解析ベースのランク付けに関係する。方法のソフトウェア/ファームウェア実施は、分散ネットワーク環境内の検索からのヒットのリンク解析ベースのランキングの目的で分散情報システムを検索するシステムの一つのコンポーネントを構成する。方法は、文書又はその他のファイルがインターネットのようなリンクによって関連付けられる環境に適用可能である。
図1は、ワールドワイドウェブ(WWW)向けの検索エンジンを構築するために一般的に使用される部品を示す、インターネットの基本的な説明図である。クローラ1は、WWW2に公開されたウェブページに関する情報を収集する。該当する全テキスト情報は、反転インデックス3に供給され、WWWのクロールされた部分で利用可能な情報のオフラインスナップショットとして使用される。リンク構造に関する情報、すなわち、各ページが他のどちらのウェブページを指し示しているかがリンクデータベース4に保存される。ユーザが検索を実行するとき、ユーザは検索クエリ5を発行し、検索クエリが反転インデックス3へ送られる。反転インデックスの走査の結果として、優先順位付きのヒットのリストが生じる。このヒットリストは、次に、テキスト関連性6及びリンク構造7に従ってランク付けされる。2個のランキング指標は次に、1個の優先順位付きの、ランク付けされたリスト8に統合され、リスト8が検索クエリを発したユーザへ優先順位付き検索結果9として戻される。
クエリ結果が反転インデックスから取得されるとき、クエリ結果は、一般に、インターネット上の異なるWWWドメインに属するヒット/文書を含む。文書相互の相互参照(指示)を作成する方法は、暗黙的に有向グラフを構築する。この有向グラフは、ノードとしての文書と、有向エッジとしてのハイパーテキストとにより構成され、この有向グラフがリンクベースのランキングで使用される。リンクベースのランキングは、次に、ヒット(文書)の内容ではなく、ヒット(文書)が大規模なネットワーク(有向グラフ)内でどのように位置するかに基づいて、ヒット(文書)の「重み」すなわち「重要度」を評価する。
リンク解析ベースのランキングは、ランク付けされるべき文書が、ある文書から別の文書を指し示す有向リンクによって関連付けられ、リンクがレコメンデーションの形式として解釈されるいかなる状況においても有用である。すなわち、文書uから文書vを指し示すリンクは、文書uに関心のあるユーザが文書vにも関心があることを示唆する。リンク解析は、役に立つ形で、すべてのこのような「リコメンデーション」(リンク)に含まれる情報を結合することを可能にするので、大域的な意味で文書をランク付けすることが可能である。この種のアプローチの顕著な一例は、ワールドワイドウェブと称されるリンク付き文書の集合へのグーグルのPageRank法の適用である。
リンクベースのランキングを行い、文書の「重み」を見つけるいくつかの代替的な方式がある。すべての方法は、様々に変形された、グラフの隣接行列Aの(最大固有値に関連した固有ベクトル)主固有ベクトルの検出に基づいている。(前述の)グーグルのPageRank法は、列が単位元に正規化された転置隣接行列の主固有ベクトルを計算することにより、文書のそれぞれのランキングを取得する。HITS法では、(後述の)Kleinbergに起因して、2個のランキングが取得され、1)ハブスコアは、隣接行列の転置行列を用いて作られた隣接行列の主固有ベクトルを計算することにより取得され、2)オーソリティスコアは、隣接行列自体を用いて作られた転置隣接行列の主固有ベクトルを取得することにより計算される。しかし、(単独で使用される)修正されていない隣接行列及び(同様に単独で使用される)その転置から生じるランキングを取り扱うことは実施されていない。
リンク解析のための種々の方法は、2個の簡単な演算子、すなわち、F(フォワード)及びB(バックワード)と、それらのそれぞれの正規化バージョンであるf及びbとを定義することによって、最も容易に説明される。ランダムウォークの精神で、有向グラフ上の各ノードに関連付けられたある重み(正数)を仮定することが可能である。F演算子は、各ノードuにおける重みw(u)を取得し、その重みを前方へ、すなわち、ノードuによって指し示されたすべてのノードへ送る。B演算子は、矢印と逆向きに、すなわち、ノードuを指し示す各ノードへw(u)を送る。Bは隣接行列Aであり、Fはその転置である。fはFの行正規化バージョンであり、fはノードuにおける重みw(u)を取得し、ノードuの出次数kout,uによって重みを割り、その結果w(u)/kout,uをノードuによって指し示された各ノードへ送る。同様に、bはバックワード演算子Bの正規化バージョンである。
PageRankは、(後述の)「ランダムサーファー」演算子によって補完されたf(正規化フォワード)演算子を使用する。HITS法は、オーソリティスコアを取得するため複合演算子FBを使用し、ハブスコアを取得するためBFを使用する。本発明は、シンクの問題に影響されるいかなる演算子とも、特に、基本演算子F、B、f又はbの何れとも共に使用される。
すべてのリンクベースのランキングスキームが取り扱わなければならない一つの問題は、有向リンクグラフ構造中の「シンク」の状況である。「シンク」は、自分自身を指し示すリンクだけを有し、シンクノードの集合からシンクノードの集合の外側にある他のノードへ向かうリンクが存在しない、ノード、又は、ノードの集合である。典型的に、シンクは、1個のノードではなく、ノードの集合で構成され、このような集合は「シンク領域」と呼ばれる。同様に、シンク領域内のあらゆるノードは「シンクノード」と呼ばれる。
有向グラフ上のランダムウォークに伴う問題は、ランダムウォークが容易にシンク内に、すなわち、中に入る経路はあるが、外へ出る経路はないグラフの領域内に閉じ込められることである。PageRankは、ある特定の確率で(リンクとは独立した)完全にランダムなホップを追加することによりシンクを訂正し、一方、WiseNutは、グラフ内のあらゆる他のノードへ双方向接続された仮ノードである「ページウェイトリザーバ」を利用することによりシンクを訂正する。シンクは、一般に、ハイパーテキストシステムに存在するので、有向グラフ上のランダムウォークを必要とするあらゆる方法は、何とかしてこの問題を取り扱わなければならない。
異なるアプローチが、IBMのCLEVERプロジェクトに関してなされた研究に基づいて、コーネル大学のJon Kleinbergによって特許を取得されている(米国特許第6,112,202号明細書、その内容は参照によって本明細書に組み込まれている)。そのアルゴリズムはしばしばHITS(「ハイパーテキスト・インデュースド・トピック・セレクション」)と呼ばれる。
HITSアプローチでは、HITS演算子BF又はFBの何れかを適用する際に、矢印(有向アーク)に沿う動きと矢印に逆行する動きとを交互にするので、シンクに伴う問題は知られていない。このアプローチと、このアプローチの変形は、いくつかの特許において扱われている(参照によって内容が本明細書に組み込まれた、たとえば、米国特許第6,11,203号明細書、第6,321,220号明細書、第6,356,899号明細書、及び第6,560,600号明細書)。
13個のノード(文書)を伴う簡単なグラフが図2に示されている。図2では、2個のシンク領域があり、一方のシンク領域はノード(6,7,8)の集合により構成され、もう一方のシンク領域はノード(10,11,12,13)の集合により構成される。矢印方向だけへの動きは、その動きがシンク領域の何れかに初めて到達すると、これらのシンク領域の何れかに閉じ込められる。
シンクの存在は、リンク解析による重要度ランキングの重大な実際的な問題を提起する。問題は、あるアプローチでは、シンクノード又はシンク領域は重みすべてを累積し、一方、その他の非シンクノード(文書)はゼロ重みを獲得することである。このように、有向グラフ全体に亘って、重みの安定した、非ゼロの、正分布を獲得する可能性はない。このような重み分布がなければ、重要な文書のランキングは不可能になる。すなわち、文書は、典型的に、リンク解析を用いて、隣接行列の選択された修正の主固有ベクトルから獲得された、正の、非ゼロの「重要度重み」をノード毎に計算し、次に、文書のランキングを与える全体的な重みを計算するため、この「リンク解析重要度重み」を(テキストのクエリへの関連性などのような)その他の重要度の指標と共に使用することによりランク付けされる。シンクが存在するとき、主固有ベクトルは、グラフの大部分に亘ってゼロ重みを有する傾向がある。この固有ベクトルに基づく重要度ランキングは有用ではない。
数学的に、グラフがシンクを有するということは、グラフが強接続されていないということと等価である。有向強接続グラフは、グラフ内のノードの任意のペアu及びvに対し、uからvへの少なくとも1個の有向パスと、vからuへの少なくとも1個の有向パスが存在するようなグラフである。これらのパスは、必ずしもグラフノードの同じ集合を通り抜けなくてもよい。より平易には、強接続されたグラフの中を移動する際に、有向リンクを辿って、任意の開始場所から任意のノードに到達し得る。シンクノード、又は、シンク領域の存在は、この条件に違反し、シンク内で動けなくなり、決して外へ出られない。したがって、シンクをもつグラフは強接続されず、シンク問題の改善策はリンクグラフ全体を強接続させることである。
グーグルのPageRankアルゴリズムは、各ノードから他のノードへのリンクを追加することによりシンク問題を改善する。すなわち、グラフ内のノード毎に、あらゆる他のノードに対して、小さな重みが与えられたアウトリンクが追加される。この修正は、任意のページ(ノード)からランダムに任意の他のページへホップすることが可能であるウェブサーファーの効果を模倣するので、「ランダムサーファー」演算子と呼ばれる。
概念的には、ランダムサーファー演算子が使用されるとき、元のリンクグラフは、完全グラフ構造によって乱される。完全グラフとは、グラフ内の任意のノードから任意の他のノードへの有向リンクを有するグラフである。完全グラフによるリンクグラフの乱れによって、同様に完全である新しいグラフが得られる。シンク問題は、新しいグラフが強接続されているので、かくして解決され、すべてのノードの大域的なランキングが保証される。しかし、このことは、代償を伴わずには起こり得ない。支払われる代償は、リンクグラフの疎構造が犠牲にされ、新たに乱された、密なグラフによって置き換えられることである。これは、1)ランキングを計算するため使用されるアルゴリズムは、行列が密であるとき、通常は時間がかかるようになる、2)リンクグラフの構造が変更される、という二つの可能性のあるタイプの問題を引き起こす。
第1の問題はPageRank法の場合には起こらない。ランダムサーファー演算子の特殊な(完全かつ対称な)構造のため、その影響が非常に容易に計算され得る。したがって、PageRankアルゴリズムの計算時間は、完全グラフ構造の追加によって著しく増大されることがない。
第2の問題はそのまま残る。勿論、強接続されていないグラフを、何とかしてその構造を変えることなく、強接続グラフに変える可能性はない。しかし、PageRank修正が「膨大」であることの本当の意味がある。すなわち、元のグラフが大きいと仮定、すなわち、元のグラフが100万個のノードを有すると仮定する。(ワールドワイドウェブ内の文書の個数は何十億である。)したがって、グラフが「疎」であるということは、グラフ内のリンクの総数がノードの個数におおよそ比例する、この場合には、100万の数倍であるということである。しかし、PageRank修正を実行した後、リンクの本数は、百万の約百万倍、すなわち、約1兆本である。
図3は、図2のグラフ上でのランダムサーファー演算子の効果を説明する。ここでは、ノード1に追加されたアウトリンクだけが示される。すなわち、ランダムサーファーリンクの追加後、ノード1は、2本ではなく、12本のアウトリンクを有する。グラフ内のあらゆる他のノードも12本のアウトリンクを有するであろう。図2におけるすべての他のランダムサーファーリンクは、単に視覚的な混乱を回避するために描かれていない(このグラフの場合、全部で135本のランダムサーファーリンクが存在する)。
要約すると、PageRankシンク改善策は、潜在的に膨大な本数の新しいリンクを元のグラフに追加する。この変更は、ある意味で大きいが、すべての追加リンクに等しい重みを与えることにより、少なくとも偏らない方式で行われる。しかし、やがて開示される方法は、小規模の本数のリンクだけを元のグラフに追加することにより、偏らない方式で、グラフを強接続することを目指す。
WiseNut検索エンジンによって使用される別のアルゴリズム(米国特許出願第2002−0129014号明細書)は、PageRankにやや類似している。WiseNut法(WiseRankと呼ばれる)もまた、あらゆるノードを双方向に「ページウェイトリザーバ」(Rで表される)へ接続する多数のリンクを追加する。このことは、あらゆるノードがあらゆる他のノードへ到達することを可能にさせ、実際には、アルゴリズムでは、2回のホップu→R→vが1回に畳まれる。したがって、トポロジー的には、これはPageRankと同じである。しかし、Rを通るホップを使用する確率はWiseNutルールでは異なり、少ない出次数を有するノードほどRを使用する確率が高い。それにもかかわらず、特許出願から、得られるWiseNut行列の疎でない性質は、PageRank行列で見出された方式と同じ方式で管理可能である。よって、PageRankに関して説明したのと同じ利点及び不利点がWiseNutにも存在する。
リンク解析への第3のアプローチは、IBMのCLEVERプロジェクトに関してなされた研究に基づく、コーネル大学(米国)のJon Kleinberg(参照によって内容が本明細書に組み込まれた、米国特許第6,112,202号明細書)による。アルゴリズムは、しばしばHITS(「ハイパーテキスト・インデュースド・トピック・セレクション」)と呼ばれる。HITSアルゴリズムは、隣接行列をそのまま使用するのではなく、その代わりに、シンクを保有しないように構成された複合行列を使用する。したがって、HITS法は、シンク問題を回避する方法を含む、と言われることがある。しかし、複合行列にはその固有の問題がある。一例としては、複合行列は、元のグラフ内でリンクされたノード間に接続がない「効率的なグラフ」を与える。ある種のケースでは、これは、接続された元のグラフが切断された効率的なグラフを生じる原因になる。切断されたグラフの重要な大域的な重要度関数を取得する方式はないので、このようなケースでは、さらなる仮定又は修正が必要とされる。
複合行列は、元のグラフでは接続されていないノードの多数のペアも接続する。したがって、複合行列には、元の隣接行列中に存在するより遙かに多数の非ゼロエントリーが存在する。しかし、実証的研究は、これらの複合行列が依然として疎であることを示唆し、一実施例では、元の隣接行列内でノード毎に平均約8本のリンクが存在する場合に、ノード毎に効果的なグラフ内に約43本のリンクがあることがわかった。したがって、HITS法は管理可能な数値計算をまた与えることがわかる。
最後に、複合行列の使用は、殆ど又は全く商業使用されていないが、非複合的なPageRankアプローチは大いに成功している。出願人自身のテストでは(未発表)、HITS法はかなり芳しくない結果を与えるが、PageRankと米国特許出願10/687,602号明細書の両方は優れた結果を与えた。(これらのテストにおいて、「優れた結果」は最良ノードに高いランキングを与えることを意味する。)よって、HITS及び関連した方法は、数学的にはエレガントであるが、ランキングの点では優れた性能を与えない。本発明者によって発見されたような望ましい一つの特徴は、複合行列の使用に頼らないアプローチである。
ハイパーテキストリンク解析のため現在利用可能なスキームの上記欠点に鑑みて、本発明の一つの目的は、ハイパーリンク化されたネットワーク内で文書にランク付けするルールベースの方法と、対応するシステム及びコンピュータベースのプロダクトを提供することである。
前述のように、一般的な有向グラフ構造は強接続されていない。特に、一般的な有向グラフ構造は、リンク解析を実行する際に問題を引き起こすシンクノード及び/又はシンク領域を有する。しかし、典型的な有向グラフは強接続コンポーネント(SCC)を有する。強接続コンポーネントは、uとvが同じSCCにある限り、任意のノードuから任意の他のノードvへのパスが常に存在するノードの集合(通常はグラフ全体ではない)にすぎない。
異なるSCCの間にもリンクが存在する。しかし、これらのリンクは、必ず一方向である。その原因は、SCC_1とSCC_2との間で両方向に有向リンクが存在するならば、2個のSCCは実際にはただ一つであるということにある。
本発明は、リンク解析ベースのランキングを実行しようとするときに起きる技術的問題、すなわち、シンクの問題を解決する二つの新しい方式を提供する。特に、本発明は、シンク問題を解決する二つの新しいアプローチを提案する。これらの二つのアプローチはそれぞれに次の二つの望ましい特長を有する。
・これらのアプローチは任意のタイプ(フォワード、バックワード、正規化、非正規化)の非複合行列と共に使用するのに適している。
・これらのアプローチは元の疎グラフを密グラフに変更しない。その代わりに、これらのアプローチはグラフを疎の状態にしたままグラフを修正する。
・方法1は少数のリンクを元のグラフに追加し、方法2は新しいリンクを追加しない。
発明のより完全な認識と、発明の多数の付随する利点は、添付図面と共に考慮されるときに以下の詳細な説明を参照することによってより十分に理解されるので、容易に得られるであろう。
本発明は、各ノードuのノードリンク解析重みLA(u)を計算するためリンク解析を使用する。ランキングの目的のため、各ノードのテキスト関連性ノード重みTR(u)も計算することが一般に行われている。最終的なノード重みW(u)は、したがって、これらの2個の重み付き和:
W(u)=a・TR(u)+b・LA(u)
として取得される。重みW(u)は純粋にランキングのために使用され、比a/bだけがランキングに影響を与え、2個のパラメータaとbのうちの一方だけが独立したチューニングパラメータである。
本発明において記載されたリンク解析を含むリンク解析の任意の方法の開始点は、ノードが情報文書であり、リンクが一方のノードから別のノードへのポインタである有向グラフである。このグラフは、典型的に、リンクされた文書の集合の間でリンクをクロールすることにより、又は、さもなければ、リンクを測定することにより取得される。このグラフを「測定グラフ」と呼ぶ。
多くの場合に、品質管理と関係している種々の規準に従って、測定グラフを編集することが役に立つ。たとえば、多数のリンクが1個以上の文書のランキングを人為的に上昇させる目的で作られたと判定されるならば、これらのリンクはより正確かつ公正なランキングを与えるために除去される。同様に、ノードが除去される。たとえば、数個のノードが殆ど同一の内容を有し、文書システムの同じエリアにあり、それらが原則的に互いのコピーであるとみなされるならば、このようなノードのうち一つを除いて全部が除去される。勿論、ノードが取り除かれるとき、これらのノードを接続するリンクも除去されるべきである。
このような編集は、得られるハイパーリンク化されたグラフがリンクされた文書の集合の真の構造を正確に表現する能力を高めるため、必ず刈り込み、すなわち、ノード及び/又はリンクの除去の形をとる。測定グラフがこのように刈り込まれるとき、得られるグラフを「刈り込みグラフ」と呼ぶ。
刈り込みは、リンク解析の任意の段階で行われる。リンク解析を開始する前に、グラフを検査し刈り込むことは常に可能である。しかし、リンク解析のプロセス自体が、さらなる刈り込みの動機を与えるノード及び/又はリンクに関する品質情報を明らかにするということも起こる。したがって、リンク解析中の任意の段階における刈り込みもまた可能であり、多くの場合に望ましい。これらの理由のため、本発明は、リンク解析前又はリンク解析中のどちらでも刈り込みを許可する。
用語を簡単にするため、かつ、区別が重要でないケースでは、「元のグラフ」という用語がしばしば測定グラフ又は刈り込みグラフのどちらを参照するためにも使用される。ここでの要点は、本発明がシンクの問題を解決するために元のグラフを修正することを伴うことである。元のグラフは、その場合、本発明の方法によって修正されたまさにそのグラフである。測定グラフと刈り込みグラフの両方は、対応する隣接行列によって表現される。ここでは、「隣接行列A」は元のグラフの隣接行列を参照するという決まりを使用する。本発明の各方法はこの行列を修正する。表記を簡単にするため、どちらの方法に対しても、修正された行列をMSRとして表す(ここで、「SR」は「シンク改善策」の略語である)。
本発明は、シンクを取り扱う新しい手法を見つけるために「メタグラフ」の考え方を使用する。任意の所与の有向グラフに対し、メタグラフは、以下の通り元のグラフから形成される。
・すべてのSCCを見つける。
・各SCCを単一の「メタノード」で置き換える。
・SCC内のリンクはこのようにして無視される。
・SCC間のリンクは変更されずにそのまま維持される。すなわち、SCC_a内のあるノードからSCC_b内のある他のノードへの有向リンクはメタノードaからメタノードbへのリンクになる。
結果として生じるメタグラフには循環がなく、すなわち(ここで、有向リンクは有向フローを意味する)、メタグラフは、ソースからシンクへの一方向のフローだけにより構成される。このようなグラフは「有向非巡回グラフ」(DAG)と呼ばれる。
図2のサンプルグラフから取得されたメタグラフは図4に示されている。ここで、任意のフローは、「ソース領域」(1,2)から、中間領域を介して、シンク領域(6,7,8)及び(10,11,12,13)へ一方向に動くことが明らかである。
「コラプス型グラフ」と呼ばれる密接に関連しているグラフは、標準的な文献において知られている。コラプス型グラフは、すべてのSCC間リンクに関する情報を与えるとは限らない点を除いて、メタグラフと同じである。その代わりに、コラプス型グラフは、単に(もし存在するならば)SCCの各ペアの間のすべてのリンクの方向を与える。したがって、コラプス型グラフは、メタグラフと同じDAGであるが、SCCの各ペアの間のすべての並列リンクが単一リンクによって置き換えられている。メタグラフとコラプス型グラフとの間のこの差異は以下の説明で役に立つ。図2に対するコラプス型グラフは図5に示されている。
本発明は、シンクの技術的問題を解決する二つの新しい方式を組み込む。これらの新しい方法はどちらもそれらの開始点としてコラプス型グラフを採用する。したがって、新しい解決策を以下の3ステップで提示する。
・コラプス型グラフの検出
・方法1(リンクの反転)
・方法2(ソースのポンピング)
コラプス型グラフの検出
有向グラフのSCCの検出は、利用可能な標準的なアルゴリズムを用いて解決された問題である。この解決策の重要な態様は、「オーダーN」、又は、より簡潔にO(N)であるとも言われるが、「グラフのサイズに線形」である点である。ここで、「グラフのサイズ」は、ノード(文書)の個数、すなわち、Nであると解釈される。このことは、グラフが大きくなるとき、この問題を解決するために必要とされる時間の量がグラフのサイズ(ノードの個数、すなわち、N)と共に線形にしか増加しないことを意味する。このグラフサイズと一体となるSCCアルゴリズムの緩やかな増加は、今開示されている方法の大きなグラフへの適用に極めて重大である。多数の文書システムは、膨大な数の文書を有し、たとえば、ワールドワイドウェブのサイズは現在のところ約40億の文書であると推定される。したがって、大きなグラフに適用されるべき方法は、グラフサイズNと一緒に非常に急速に増加する計算又は記憶領域を要求すべきでなく、線形的なO(N)の増加は、現在の、許容可能な最新技術である。
疎行列を必要とする方法によるノード重みの計算は、少なくともグラフのサイズと共に線形に増加する計算時間を必要とする。すなわち、ノード重さ計算は、隣接行列による繰り返し乗算を必要とする。隣接行列が疎であるならば、隣接行列中の非ゼロエントリーの個数はO(N)であり、すなわち、グラフ内のノードの個数と比例するので、各乗算はNと共に線形に増加する時間を必要とする。次に、反復(乗算)の回数がグラフのサイズと共に全く増加しないならば、計算時間もNと共に増加するであろう。PageRank計算は、たとえ、増加するとしても、グラフのサイズと共に僅かしか増加しないという証拠がある(参照によって全内容が本明細書に組み込まれた、T. H. Haveliwala, Efficient Computation of PageRank, Stanford University Technical Report, 1999を参照せよ)。したがって、PageRank計算と、おそらく米国特許出願10/687,602号明細書に開示された方法のような類似した技術は、グラフのサイズと共に線形に増加するだけである。
要約すると、ノード重み計算のため必要とされる時間は、ノードの個数(グラフサイズ)Nと共に線形に(又は、おそらく線形より多少速く)増加する。したがって、Nと共に線形に増加するだけであることが知られているSCCを検出するため必要とされる付加的な計算時間は、十分に許容可能である。
SCC検出アルゴリズムの必要記憶領域もまた許容可能である。たとえば、Tarjanのアルゴリズムは、すべてのノードの記憶領域を必要とするので、O(N)の記憶領域を必要とする(参照によって全内容が本明細書に組み込まれた、Robert E. Tarjan、Depth−first Search and Linear Graph Algorithms, SIAM Journal on Computing, 1(2):146−160, 1972を参照せよ)。Tarjanのアルゴリズムの改良バージョンが必要とする記憶容量はさらに少ない(参照によって全内容が本明細書に組み込まれた、Esko Nuutila and Eljas Soisalon−Soininen, On Finding the Strongly Connected Components in a Directed Graph, Information Processing Letters 49(1993)9−14を参照せよ)。
メタグラフは、全SCCに関する情報を組み込むだけでなく、全SCC間リンクも含む。このさらなる情報は、標準的なアルゴリズムからは典型的に入手できない。それらは、代わりに、(メタグラフと同じように)全SCCをメタノードとして保有する「コラプス型グラフ」を与える。(完全なメタグラフを示す図4と、コラプス型グラフを示す図5を比較せよ。)コラプス型グラフは、かくして、任意の2個のリンクされたSCC間のフローの方向を示すが、本発明の方法のための十分な情報を与えない。二つの開示された方法は、(コラプス型グラフを越えて)異なる種類の付加的な情報を必要とするので、各方法が別々に説明される。
方法1
方法1は完全なメタグラフを必要とし、(図2の完全グラフから取得可能な)それらの始点及び終点を含むすべてのSCC間リンク(図4のサンプルグラフにおいてわかる)を知ることが必要である。
典型的に、疎有向グラフの隣接行列は、順序付きペアのリストとして蓄積される。たとえば、リンクu→vがグラフ中に存在するならば、リスト中にu vの形式のラインが存在するであろう。
SCC_1とSCC_2の2個のSCCが存在すると仮定し、(標準的なアルゴリズムから取得された)コラプス型グラフから、2個のSCCがリンクされていることがわかっていると仮定する。最後に、リンクは、SCC_1→SCC_2であると仮定する。このとき、これらの2個のSCC間の全リンクは、SCC_1で始まり、SCC_2で終わることがわかる。(同様に標準的なアルゴリズムから)どのノードがSCC_1にあり、どのノードがSCC_2にあるかがさらにわかる。したがって、順序付きペアのリスト(すなわち、疎隣接行列)を走査可能であり、SCC_1内のノードで始まり、SCC_2内のノードで終わる全エントリーを検出する。最悪の状況では、これは、リンクの個数と等しい時間を要し、疎行列の場合、この時間はノードの個数に比例し、したがって、O(N)である。隣接行列がソートされ(典型的である)、所与のノードuで始まる全エントリーが一つにグループ分けされるならば、一般にリスト全体を検索する必要はないが、所要時間は如何なる場合もO(N)である。
したがって、全SCC間リンク、故に、完全なメタグラフを検出するO(N)の時間を使用する簡単なアルゴリズムが存在する。完全なメタグラフを仮定すると、あらゆるSCC間リンクの反転を追加することに関連する問題はない。
たとえば、SCC_1とSCC_2がそれらを結合する以下のリンク:
→v
→v
→v
を保有すると仮定する。
すなわち、各uノードはSCC_1にあり、各vノードはSCC_2にある。(これらの2個のSCCの間の全リンクは、SCC_1とSCC_2が2個の別個のSCC_2が2個であるという仮定と呼応して、同じ方向に進むことに注意すべきである。)
ここに開示されている方法は、次に、以下のリンク:
←v
←v
←v
を追加することにより、これらの2個のSCCの間を単一のSCCにすることを提案する。
したがって、本発明の一実施形態では、あらゆるSCC間リンク(すなわち、メタグラフ中のあらゆるリンク)は、反転リンクで補完される。ここで、メタグラフは、刈り込まれているかもしれない元のグラフから形成されることを想起する。したがって、メタグラフ中のSCC間リンクは、すべてが「良い」リンクとしてみなされる可能性があるので、偏らないアプローチはSCC間リンクのすべてを反転することである。
代替的な実施形態では、SCC間リンクの部分集合だけが反転リンクで補完される。すなわち、シンクの問題は、少なくとも1個のSCC間リンクがリンクされたSCCの各ペアに対し反転される限り解決され、あるケースでは、さらに少数のSCC間リンクを反転し、それでもなおグラフ全体を強接続させることが可能である。SCC間リンクの部分集合を反転させるだけで、このフレキシビリティを有利に活用できる場合が生じる。
さらに、これらのシンク改善リンクに、最良性能を生じさせるために調整可能な重みεを与えることが可能である。一実施形態では、εの値は、元のリンクのεの値(典型的に1)より下に保持される。このように、元のグラフを非常に強く摂動させることを回避することが可能である。
再度、簡単なグラフ上での方法1の効果を示す図2及び図6を参照すると、各SCC間リンクは、反転パートナーが与えられ、その他の新しいリンクは必要とされない。
最後に、グラフが方法1によって強接続させられると、ノード重み、したがって、ノードランキングを検出するため、隣接行列の任意の非複合形式(フォワード又はバックワード、正規化又は非正規化)を使用可能である。
図2のサンプルグラフ上での方法1の効果は図6に示されている。追加されたリンクは破線で描かれている。図7は、修正されていない形式が図4に示されている対応するメタグラフ上での方法1の効果を示す。図7は、方法1がSCC間リンク毎に1本の新しいリンクしか必要としないことをより明瞭に示す。すなわち、この簡単なグラフの場合、方法1は6本の新しいリンクを追加し、一方、PageRankのランダムサーファー演算子は135本の新しいリンクを追加する。二つの方法の間のこの差異は、非常に大きなグラフでは非常に大きくなる。
方法2
方法2は、方法1によって使用された情報とは僅かに異なる情報を必要とする。方法1と同様に、方法2はコラプス型グラフから始まる。あらゆるこのようなグラフは有向非巡回グラフ、すなわち、DAGである。このようなグラフは、常に少なくとも1個のソースと少なくも1個のシンクとを有する。重みがソース(メタノード)に置かれ、メタグラフ中の矢印の方向に沿って動かされるならば、これらの重みはソースからシンクへ流れ、シンクメタノード以外の任意のメタノードに一般にゼロ重みを残す。
しかし、グラフ隣接行列の作用下で、重みは所与の倍率によって増幅される。PageRankのような正規化された方法では、この倍率は1以下であり、米国特許出願10/687,602号明細書に開示されたCanrightとEngo−Nonsenの方法のような正規化されていない方法では、この増幅倍率は一般的に1より大きい。何れの場合でも、他のすべてから分離して考慮された、(すなわち、全SCC間リンクを無視する)各SCCは、所与の増幅倍率、すなわち、「利得」を有する。
メタグラフ中の全ソースSCCの「利得」が(i)等しい、かつ、(ii)任意の他のSCCの利得より大きいならば、重みのフローは、グラフ中のあらゆるノードに正の重みがある状態で、平衡分布に到達する。換言すると、これらの2個の条件が成り立つとき、隣接行列の主固有ベクトルはどこでも正である。この記述の証明は、全内容が参照によって本明細書に組み込まれた、出願人の発表予定の論文:2004年5月2日にJACMへ投稿された、Importance Functions for Directed Graphsで見つけられる。
一般に、条件(i)も条件(ii)も成立しない。方法2は、ソースSCCの範囲内にある全リンクについての重みを調整することにより、強制的に両方の条件を成立させる。その際、両方の条件(i)及び(ii)が満たされるまで、ソースSCCの利得を調整する。
方法2は、そのとき、以下のステップにより構成される。
最初に、メタグラフ中の各SCCを取り込み、このSCCを他のSCCへ接続する全リンクを無視する。すなわち、各SCCは、他のSCCから孤立しているとみなされる。この方法は、次に、SCC毎に、全SCC内リンク、すなわち、SCC内部の全リンクを必要とする。それらは、SCC間リンクを検出するため方法1において使用されたプロシージャと本質的に同じであるO(N)のプロシージャによって検出される。このプロシージャは、次に、孤立したSCC毎に完全な隣接行列を与える。
次に、各(孤立)SCCの利得(主固有ベクトル)を計算するため、希望の形式の隣接行列(フォワード又はバックワード、正規化又は非正規化)を使用する。このステップにおいて使用すべき行列の選択は、重要度固有ベクトルを計算する際にグラフ全体のため使用されるべき行列によって決定される(後述を参照せよ)。すなわち、同じ行列タイプが各ステップで使用されるべきである。
次に、どのSCCがソースSCCであるかを決定する。この情報は、O(N)より短い(典型的に遙かに短い)時間でコラプス型グラフから容易に取得され、ソースSCCはコラスプ型グラフ中でアウトリンクだけを有するメタノードである。
一般的なケースのように、2個以上のソースSCCが存在し、これらのソースSCCが等しくない利得を有し、少なくとも1個のソースSCCがある他のSCCの利得より小さい利得を有すると仮定する。目的は、次に、以下の二つの条件:(i)全ソースSCCは同じ利得を保有しなければならない、かつ、(ii)ソースSCCの共通利得倍率は任意の他のSCCの利得倍率を上回らなければならない、という条件が満たされるまで、全ソースSCCの利得を増加させることである。
特に、所与のソースSCCが利得gを有し、その利得をG>gまで増加させたい場合を想定する。本実施形態では、そのようにする以下の偏らない方式が存在する。所与のソースSCC内の(再び、典型的に1である)すべての元の内部リンク重みに係数G/gを乗算する。この簡単な変更は希望の効果をもたらす。ソースSCCが単一のノードにより構成され、よって、内部リンクを保有しない特殊なケースでは、ノードからそのノード自体を指し示す「自己リンク」を追加し、そのリンクに利得Gを与えることが可能である。
Gが任意の他の(非ソース)SCCの利得を越えることを保証すると共に、すべてのソースSCCに同じ利得Gを選択することにより、条件(i)及び(ii)が満たされる。次に、(後で引用される)3人の発明者による前刷りに示されているように、完全な修正グラフの主固有ベクトル(ここに詳述されるように、唯一の修正はすべてのソースSCC中の内部リンク重みの調整である)は、グラフ上のどこにおいても正である。したがって、このような固有ベクトルはノードの重要度指標として使用される。
元のグラフに対する摂動は、この方法では、Gをすべての非ソースSCCの間で見つけられた最大利得g_maxより僅かに大きくするだけで、できる限り小さく保たれる。
ここで繰り返されるべき点は、全グラフの重要度指標を見つけるため、完全な修正グラフに使用される行列は、孤立した各SCCの利得を見つけるため使用された行列と同じ行列タイプ(フォワード又はバックワード、正規化又は非正規化)でなければならない。
本発明の代替的な実施形態では、利得はソースSCCの部分集合だけに対し調整(増加)される。一般的なルールは依然として成り立つが、ポンピングされたソースSCCの共通利得Gは、ソースであるか否かを問わず、任意のポンピングされていないSCCの未修正利得を上回るように選択されるべきである。そのようにすることの効果は、上記発明者による前刷りに示されているように、ポンピングされていないソースSCC内の全ノードにゼロ重みを与えることである。さらに、重みのフローに関してポンピングされていないソースSCCに排他的に(直接又は間接に)依存する任意のSCCは、同様にゼロ重みを取得する。それにもかかわらず、一部のソースSCCに対し、これを行うことが望ましい。例えば、ソースSCCが1個以上のSCCを指し示す単一のノードにより構成され、それらの1個以上のSCCが他のソースSCCから重みを取得できると仮定する。この単一のソースノードは、よって、グラフ(文書の集合)の残りの部分を指し示すが、このノードを指し示す文書はない。したがって、このノード(文書)は、リンクされた文書の完全集合に関して、非常に重要度が低いと判断される。この1個のノードに利得Gを与えることは、この小さなソースSCCが、他のソースSCCが行うのと同じように大きな重みをグラフに注入することを許容する。このような小さな、殆ど孤立したSCCがそのように大きな重みを注入することを許容することは、最良の結果を与えるものではないと判断される。したがって、方法2の代替的な実施形態では、一部のソースSCCをポンピングしないことを選択し、よって、得られるリンク解析にゼロ重みを与えることが可能である。多数のこのような小さな、殆ど孤立したソースSCCを伴うグラフでは、方法2を使用するのではなく、本発明の方法1を使用する方が有利である。
前述のように、ソースSCCをポンピングしないように選択することは、そのソースSCC中のノードにゼロ重みを与えるという結果をもたらす。このことは、今度は、このSCCがグラフの残りの部分に重みを注入しないことを意味する。したがって、ポンピングされないソースSCCは、グラフからポンピングされたとしてみなされる。さらに、未修正利得g_xがグラフ内の任意の他のSCCを上回るソースSCC C_xをポンピングしないことが望ましい(おそらく起こりそうもない)ケースでは、一つではなく、二つの選択肢に直面する。すなわち、すべての他のソースSCCを利得G>g_xまでポンピングできるか、又は、グラフからSCC C_xを単に刈り込むことができる。後者の選択肢は、残りのソースSCCをより低い利得までポンピングすること、よって、元のグラフのより小さな修正を与えることを可能にする。これらの選択肢はどちらも、ゼロ重みをポンピングされていないSCC C_x内のノードに与える効果を有する。
ポンピングされていないSCCの「下流」であり、さらにポンピングされていないソースSCCに重みが排他的に依存する1個以上のSCCにゼロ重みを与えないことが望ましいこともある。たとえば、図3のソースSCC(1,2)が重要ではないと判断され、そのソースSCCをポンピングしないことが選択されるならば、下流のSCC(3,4,5)(この場合には、実際はすべての他のSCC)は、ゼロ重みを取得する。この場合、ソースSCC(1,2)をポンピングしないことは、SCC(3,4,5)を「効果的なソース」にする。より厳密に言うと、SCCが効果的なソースであるのは、(i)SCCが重みについてポンピングされていないソースSCCに排他的に依存し、かつ、(ii)ポンピングされていないソースがメタグラフから刈り込まれるならばソースSCCになる場合である。この定義は、任意の効果的なソースをポンピングすることを選択し、任意の他のソースのため使用された規準と同じ規準に従ってその効果的なソースに利得Gを与えることが可能である方法2の別の実施形態を示唆するので有用である。すなわち、図3において、SCC(1,2)をポンピングしないことを選択するならば、SCC(3,4,5)をポンピングするオプションが得られる。
一つのさらなる点が方法2に関して明らかにされるべきである。すなわち、PageRankアプローチのような一部のアプローチは、ノード重みを計算するため、(前述のように完全行列によって修正された)正規化行列を使用する。グラフの隣接行列の正規化は、シンクであるすべてのSCCが1の利得を保有し、(ソースSCCを含む)すべての他のSCCが1より小さい利得を保有するという効果がある。したがって、方法2は、厳密な正規化特性を失うことを犠牲にして、このようなケースに限り適用されるが、その理由は、方法2の場合、ソースSCCの利得は1より大きいある値Gに設定されなければならないからである。しかし、利得Gは、1より僅かに大きいだけでよいので、厳密な正規化からの変化は小さいと考えられる。その意味では、方法2は正規化行列にも非正規化行列にも適用可能である。
図8は、図2のサンプルグラフ上での方法2の効果を示す。新しいリンクは追加されていないことに注意すべきである。その代わりに、単一のソース領域(1,2)の「利得」が、その領域の大きな斜線付きの円によって表されているように、増加している。多数のソース領域をもつ一般的なグラフの場合、方法2の適用後に、すべてが同じ増加した利得を保有する。
パーソナル化
現在、「パーソナル化」する検索が非常に興味を持たれている。すなわち、あらゆるユーザの同じ質問に同じ回答を与えないが、むしろ、ある程度役立つように各ユーザの関心に合わせた検索サービスが求められている。より簡潔には、パーソナル化検索のため、質問に対する回答は質問と質問者の両方に依存すべきである。
現在、検索をパーソナル化する優れた方式を見つける競争に明確なリーダーは存在しない。さらに、多種多様のアプローチがある。ここでは、本発明のシンク改善策が類似したタイプのパーソナル化にも容易に役立つことを指摘するため、PageRank及びWiseRankのシンク改善方法から自然かつ容易に続くアプローチに重点を置く。
前述のように、PageRankとWiseRankの両方は、所与の隣接行列が密になるように、実際には、所与の隣接行列が全ノードから全ノードへのリンクを保有するように、隣接行列を修正する。しかし、追加されたリンクは、それらの効果が重みのリスト(ベクトル)を元の未修正隣接行列による乗算の結果に単に加算するという形で表現されるように、重み付けられる。
すなわち、Mが隣接行列の望ましい形式であり、M’が追加されたリンクから形成された行列であるので、修正行列の最終的な形式がM+M’であると仮定する。各ノードの重みの検出は、次に、修正行列による繰り返し乗算を使用して達成される。すなわち、重みxの試行ベクトルは、重みベクトルが安定パターンに収束するまで、行列M+M’によって繰り返し乗算される。
PageRankとWiseRankの両方に対し、追加されたリンク行列M’は、乗算の殆ど又は全部がオフラインで実行されるような形式である。
(M+M’)x=Mx+s
すなわち、重みsの補完ベクトルは、密行列M’との行列乗算を行うこと無しに計算される。
PageRankとWiseRankの正規化バージョンでは、補完ベクトルsは、同じ重みを各ノード(文書)に加算し、その主な効果は、前述のように、重みがシンク領域に閉じ込められることを防ぐことである。しかし、簡単なパーソナル化の方法が出現し、補完ベクトルsにバイアスをかけ、検索毎にカスタマイズされた方式でそのようにすることが可能である。例えば、検索者が、キーワード毎に重みをもつ、(例えば)キーワードのリストとして表現された、関心プロファイルPを保有するならば、各文書uは(知られているテキスト関連性方法を使用して)スコアP(u)が与えられる。このスコアは、どの程度十分に文書がユーザのプロファイルに適合するかを表現し、ユーザ毎及び文書毎に1回だけ計算されればよい。これらのスコアは、次に、パーソナル化された補完ベクトルを形成するために使用され、補完ベクトルのu番目のベクトルに対し、単にスコアP(u)を使用することが可能である。このようなパーソナル化された補完ベクトルの使用は、最終的な(収束型)重み付けにおいて、より高いスコアP(u)を保有するページに与えられるより大きな重みをもたらす。
よって、PageRank法とWiseRank法の両方に現れる補完ベクトルsはパーソナル化してもよく、その結果、パーソナル化検索を提供する。
しかし、シンク問題を改善する本発明の前述の方法は、それ自体では、このような補完ベクトルを生じない。実際には、元のグラフに追加されるリンクは、殆ど無い(方法1)又は全く無い(方法2)。それにもかかわらず、今開示されている方法は、隣接行列自体の中でリンク上の重みをパーソナル化することが可能であるという事実を利用することにより、P(u)の形式のスコアの使用も可能にする。たとえば、(スコアP(u)を含む)文書uから(スコアP(v)を含む)文書vへのリンクがあると仮定する。リンク解析ベースのランキングでは、各リンクはある種のリコメンデーションとしてみなされる。したがって、パーソナル化されたランキングでは、どの程度十分に「リコメンダ」(u)がユーザの関心に一致するかに応じて、リコメンデーション(リンク)を重み付けすることが自然である。したがって、スコープP(u)によって簡単にリンクに重みを付けることが可能である。
別の可能性は、ノードのスコアに関して利用可能なすべての情報を利用することである。すなわち、指示元ノードuのパーソナル関心スコアだけでなく、指示先ノードvのパーソナル関心スコアによってもリンクに重みを付ける。これを行う簡単な方式は、和(P(u)+P(v))によって各リンクu→vに重みを付けることである。
その他の変形も可能である。最も一般的に、P(u)及びP(v)の任意の単調増加関数f(P(u),P(v))を選択可能である。関数f(x,y)は、x又はyの何れか(或いは両方)の増加が関数fも増加するという結果を与えるならば、xとyに関して単調増加する。したがって、最も一般的な形式では、本発明は、リンクを、P(u)及びP(v)の単調増加関数f(P(u),P(v))で重み付けすることにより、リンク解析のパーソナル化を可能にする。このようなパーソナル化の計算の負担は、スコア自体を計算するために必要とされる負担だけである。この負担は、このようなスコアを使用する任意の方法に対して同じである。
以上を要約すると、各ノード(文書)uは、文書が個々のユーザの関心にどの程度十分に一致するかを表現するために、パーソナル関心スコアP(u)が与えられる。パーソナル関心スコアは、次に、uからvへ指示するリンクの重みにバイアスをかけるために使用される。あらゆるリンクu→vは、重みP(u)が与えられ、又は、代替的に、あらゆるリンクu→vは、重みP(u)+P(v)が与えられる。リンクが高パーソナル関心スコアをもつノードから、及び/又は、ノードを指し示すならば、そのリンクはより大きな重みを取得するという一般的なルールを反映するその他のルールも可能である。リンク上のパーソナル化重みをもつ結果として得られるパーソナル化された隣接行列Aは、したがって、リンク解析の開始点として、(1と0とにより構成された)標準的な隣接行列Aを置き換える。すなわち、パーソナル化された隣接行列A自体は、パーソナル化されたバックワード行列Bであり、その転置はパーソナル化されたフォワード行列Fであり、これらの列正規化バージョンは、それぞれ、パーソナル化された正規化行列b及びfである。本発明の方法1又は方法2は、いずれもこれらのパーソナル化された行列に適用される。
要約すると、ノードのパーソナル関心スコアは、グラフのリンクに重みを付け直すために使用される。方法1又は方法2を使用するリンク解析は、その後に、(主固有ベクトルを介して)ノードをランク付けするため使用されるノード重みLA(u)を与える。ノードのパーソナル関心スコアP(u)はパーソナル化された開始点であり、リンク解析から取得される最終的なノード重みと混同されるべきでない。
パーソナル化のその他の形式は本発明と組み合わされる。本発明の代替的な実施形態では、適切に重み付けされたパーソナル関心スコアP(u)は、パーソナル化補完ベクトルsに集められる。すなわち、αがチューニングパラメータであるとして、s(u)=αP(u)を設定する。このベクトルは、乗算プロセスの反復毎に、ノード重みベクトルxに加算される。
new=MSRold+s
ここで、MSRは元の行列(フォワード又はバックワード、正規化又は非正規化形式)であり、方法1又は方法2によって指定されるようなシンク改善策によって修正されている。この式は、次に、ノード重みxが収束するまで繰り返され、結果はその後にリンク解析重みLA(u)を与える。
このアプローチは、完全グラフを修正された元のグラフに追加することと等価である。この事実によって、この形式のパーソナル化を使用するとき、実際には、方法1又は方法2の改善策を使用しないように選択可能であり、その代わりに、修正されていない元のグラフMと、前の段落において定義されたような補完ベクトルとを使用して、
new=Mxold+s
を繰り返す。本発明の実施形態は、非正規化演算子を使用する点でPageRankと異なり、M行列は列正規化されず、補完ベクトルsはそのエントリーの和に関して定数を保有しない。したがって、このアプローチは、米国特許出願10/687,602号明細書に開示された、CanrightとEngo−Monsenの方法に記載されているように、F又はB演算子に基づくリンク解析をパーソナル化するため使用される。
列正規化の制約が無くなると、他の形式の補完ベクトルが可能である。特に、
Figure 2008510256
とすると、別の可能性のある選択肢は
Figure 2008510256
である。これらの選択肢のすべては、すべてがリンク上の正の重みをもつ完全グラフを表現するので、重みの正集合に収束する。特に、重みの前向き伝搬が行われるように、M=Fであると仮定するならば、選択肢s(u)=αP(u)は、uに向かって指し示す全リンク上に重みαP(u)をもつ完全グラフを表現し、選択肢
Figure 2008510256
は、uから指し示す全リンク上に重みαP(u)をもつ完全グラフを表現し、選択肢
Figure 2008510256
は、uとvとの間の全リンク上に重みαP(u)P(v)をもつ完全グラフを表現する。これらの3個の選択肢はどれでも任意の非正規化形式の元の行列M、又は、修正行列MSRと共に使用される。(最初とは異なる)後の2個の選択肢は、PageRankのような正規化(重み保存)法と共に使用できない。この理由は、(正規化アプローチのため必要とされる)sのすべてのエントリーの和が定数であるという必要条件が、補完ベクトルs中のxoldのエントリーの重み付き和を伴うこれら2個の選択肢の場合には可能性がないからである。
本発明の別の代替的な実施形態では、パーソナル関心スコアP(u)は、リンク解析プロシージャにおいて全く使用されない。その代わりに、パーソナル関心スコアは、単に、テキスト関連性のためのノード重みTR(u)と、リンク解析からのLA(u)とに加算され、各ノードの最終的なノード重みW(u):
W(u)=a・TR(u)+b・LA(u)+c・P(u)
を与える。ここで、係数a、b、及びcはチューニングパラメータであるが、重みW(u)はランキングのため使用されるので、3個のうちの2個だけが独立したチューニングパラメータである。
図9は、本発明の実施形態が実施されるコンピュータシステム1201を示す。コンピュータ設計は、参照によって内容全体が本明細書に組み込まれた、STALLINGS, W., Computer Organization and Architecture, 4th ed., Upper Saddle River, NJ, Prentice Hall, 1996に詳述されている。コンピュータシステム1201は、情報を通信するバス1202又はその他の通信メカニズムと、バス1202と結合され、情報を処理するプロセッサ1203とを含む。コンピュータシステム1201は、バス1202に結合され、情報及びプロセッサ1203によって実行されるべき命令を記憶するランダムアクセスメモリ(RAM)又はその他のダイナミックストレージデバイス(たとえば、ダイナミックRAM(DRAM)、スタティックRAM(SRAM)、及び、シンクロナスDRAM(SDRAM))のようなメインメモリ1204をさらに含む。その上、メインメモリ1204は、プロセッサ1203による命令の実行中に、一時変数又はその他の中間情報を記憶するため使用される。コンピュータシステム1201は、バス1202に結合され、プロセッサ1203のための静的情報及び命令を記憶するリードオンリーメモリ(ROM)1205又はその他のスタティックストレージデバイス(たとえば、プログラマブルROM(PROM)、消去可能PROM(EPROM)、及び、電気的消去可能PROM(EEPROM))をさらに含む。
コンピュータシステム1201は、磁気ハードディスク1207及びリムーバブルメディアドライブ1208(たとえば、フレキシブルディスクドライブ、リードオンリーコンパクトディスクドライブ、リード/ライトコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブ、及び、リムーバブル光磁気ドライブ)のような、情報及び命令を記憶する1台以上のストレージデバイスを制御するため、バス1202に結合されたディスクコントローラ1206をさらに含む。ストレージデバイスは、適切なデバイスインターフェイス(たとえば、スモールコンピュータシステムインターフェイス(SCSI)、インテグレイティッドデバイスエレクトロニクス(IDE)、エンハンスドIDE(E−IDE)、ダイレクトメモリアクセス(DMA)、又は、ウルトラDMA)を使用して、コンピュータシステム1201に付加されることがある。
コンピュータシステム1201は、特定目的ロジックデバイス(たとえば、特定用途向け集積回路(ASIC))、又は、再構成可能なロジックデバイス(たとえば、シンプルプログラマブルロジックデバイス(SPLD)、コンプレックスプログラマブルロジックデバイス(CPLD)、及び、フィールドプログラマブルゲートアレイ(FPGA))をさらに含む。
コンピュータシステム1201は、陰極線管(CRT)のような、情報をコンピュータユーザに表示するディスプレイ1210を制御するためバス1202に結合されたディスプレイコントローラ1209をさらに含む。コンピュータシステムは、キーボード1211及びポインティングデバイス1212のような、コンピュータユーザと相互作用し、情報をプロセッサ1203に供給する入力デバイスを含む。ポインティングデバイス1212は、たとえば、方向情報及びコマンド選択をプロセッサ1203へ通信し、ディスプレイ1210上のカードル移動を制御するマウス、トラックボール、又は、ポインティングスティックでもよい。その上、プリンタは、コンピュータシステム1201によって蓄積及び/又は生成されたデータの印刷されたリストを提供する。
コンピュータシステム1201は、メインメモリ1204のようなメモリに格納された1個以上の命令の1個以上のシーケンスを実行するプロセッサ1203に応じて、本発明のプロセシングステップの一部又は全部を実行する。このような命令は、ハードディスク1207又はリムーバブルメディアドライブ1208のような別のコンピュータ読み取り可能な媒体からメインメモリ1204に読み込まれる。マルチプロセシング配置内の1台以上のプロセッサが、メインメモリ1204に格納された命令のシーケンスを実行するため利用されることもある。代替的な実施形態では、ハードワイヤード回路がソフトウェア命令に代えて、又は、組み合わせて使用される。このように、実施形態はハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
前述のように、コンピュータシステム1201は、本発明の教示に従ってプログラムされた命令を保持し、データ構造、テーブル、レコード、又は、本明細書に記載されたその他のデータを格納する少なくとも1台のコンピュータ読み取り可能な媒体又はメモリを含む。コンピュータ読み取り可能な媒体の例は、コンパクトディスク、ハードディスク、フレキシブルディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM、フラッシュEPROM)、DRAM、SRAM、SDRAM、又は、その他の磁気媒体、コンパクトディスク(たとえば、CD−ROM)、又は、その他の光媒体、パンチカード、紙テープ、又は、孔のパターンをもつその他の物理的媒体、(後述される)搬送波、又は、コンピュータが読むことができるその他の媒体である。
本発明は、コンピュータシステム1201を制御し、発明を実施する1台又は複数台のデバイスを駆動し、コンピュータシステム1201がヒューマンユーザ(たとえば、印刷物製作作業員)と相互作用することを可能にする、コンピュータ読み取り可能な媒体のうちの何れか一つ又は組み合わせに蓄積された、ソフトウェアを含む。このようなソフトウェアは、デバイスドライバ、オペレーティングシステム、開発ツール、及び、アプリケーションソフトウェアを含むが、それらに限定されない。このようなコンピュータ読み取り可能な媒体は、発明を実施する際に実行されるプロセシングの全部又は(プロセシングが分散されているならば)一部を実行する本発明のコンピュータプログラムプロダクトをさらに含む。
本発明のコンピュータコードデバイスは、スクリプト、翻訳可能なプログラム、ダイナミックリンクライブラリ(DLL)、Javaクラス、及び、完全な実行可能プログラムを含むが、それらに限定されない翻訳可能な、又は、実行可能なコードメカニズムでもよい。その上、本発明のプロセシングの一部は、より良い性能、信頼性、及び/又は、コストのため分散型でもよい。
本明細書中で使用されるような用語「コンピュータ読み取り可能な媒体」は、命令を実行のためプロセッサ1203へ供給することに関わるあらゆる媒体を指す。コンピュータ読み取り可能な媒体は、不揮発性メディア、揮発性メディア、及び、伝送メディアを含むが、それらに限定されない様々な形をとる。不揮発性メディアは、たとえば、ハードディスク1207又はリムーバブルメディアドライブ1208のような光ディスク、磁気ディスク、及び、光磁気ディスクを含む。揮発性メディアは、メインメモリ1204のようなダイナミックメモリを含む。伝送メディアは、バス1202を構築するワイヤを始めとして、同軸ケーブル、銅線、及び、光ファイバーを含む。伝送メディアは、電波及び赤外線データ通信中に発生されるような音波又は光波の形をとることもある。
種々の形のコンピュータ読み取り可能な媒体は、実行のためのプロセッサ1203への1個以上の命令の1個以上のシーケンスを実行する際に必要とされる。たとえば、命令は、最初に、リモートコンピュータの磁気ディスク上で搬送される。リモートコンピュータは、本発明の全部又は一部を実施する命令をダイナミックメモリへ遠隔的にロードし、モデムを使用して電話回線によって命令を送信する。コンピュータシステム1201に局部的であるモデムは、電話回線上のデータを受信し、データを赤外線信号に変換するため赤外線トランスミッタを使用する。バス1202に結合された赤外線検出器は、赤外線信号で搬送されるデータを受信し、データをバス1202に収めることが可能である。バス1202はデータをメインメモリ1204へ搬送し、メインメモリから、プロセッサ1203は命令を受け取り、実行する。メインメモリ1204によって受け取られた命令は、オプションとして、プロセッサ1203による実行の前又は後に、ストレージデバイス1207又は1208に蓄積される。
コンピュータシステム1201は、バス1202に結合された通信インターフェイス1213をさらに含む。通信インターフェイス1213は、たとえば、ローカルエリアネットワーク(LAN)1215、又は、インターネットのような別の通信ネットワーク1216に接続されたネットワークリンク1214への双方向データ通信カップリングを提供する。たとえば、通信インターフェイス1213は、パケット交換LANに取り付けるためのネットワークインターフェイスカードでもよい。別の例として、通信インターフェイス1213は、データ通信コネクションを対応するタイプの通信回線に提供するために、非対称デジタル加入者回線(ADSL)カード、統合サービスデジタルネットワーク(ISDN)カード、又は、モデムでもよい。ワイヤレスリンクが実施されることもある。どのような実施においても、通信インターフェイス1213は、種々のタイプのデータを表現するデジタルデータストリームを搬送する電気信号、電磁信号、又は、光信号を送受信する。
ネットワークリンク1214は、典型的に、他のデータ装置へ一つ以上のネットワークを介してデータ通信を提供する。例えば、ネットワークリンク1214は、ローカルネットワーク1215(例えば、LAN)を介して、又は、通信ネットワーク1216を通る通信サービスを提供するサービスプロバイダによって運用される設備を介して、別のコンピュータにコネクションを提供する。ローカルネットワーク1214及び通信ネットワーク1216は、たとえば、デジタルデータストリームを搬送する電気信号、電磁信号、又は、光信号と、関連した物理レイヤ(例えば、CAT5ケーブル、同軸ケーブル、光ファイバーなど)を使用する。コンピュータシステム1201との間でデジタルデータを搬送する種々のネットワークを通る信号、及び、ネットワークリンク1214上と、通信インターフェイス1213を通る信号は、ベースバンド信号で実施してもよく、又は、搬送波ベースの信号で実施してもよい。ベースバンド信号は、デジタルデータビットのストリームを記述する非変調電気パルスとしてデジタルデータを運び、ここで、用語「ビット」はシンボルを意味するように広く解釈されるべきであり、各シンボルが少なくとも1個以上の情報ビットを搬送する。デジタルデータは、たとえば、導電性媒体を介して伝搬させられた、又は、伝搬媒体を介して電磁波として伝送された、振幅、位相、及び/又は、周波数偏移信号などで搬送波を変調するためにも使用される。よって、デジタルデータは、搬送波を変調することにより、「有線」通信チャンネルを介して非変調ベースバンドデータとして送信され、及び/又は、ベースバンドとは異なる所定の周波数バンド内で送信される。コンピュータシステム1201は、(複数の)ネットワーク1215及び1216と、ネットワークリンク1214と、通信インターフェイス1213とを介して、プログラムコードを含むデータを送受信することが可能である。その上、ネットワークリンク1214は、LAN1215を通るコネクションを、携帯情報端末(PDA)、ラップトップコンピュータ、又は、携帯電話機のようなモバイル機器1217に提供する。
集中型ウェブ検索エンジンにおけるヒットをランク付けするための本発明の実施は、複数の他のコンポーネント、すなわち、テキストランキングシステム、インデクシングシステム、クローラ、及び、ユーザインターフェイスとの統合を必要とする。実施において、本発明は、完全な現用検索エンジンの一部を表し、このようなシステムの他のコンポーネントから分離して実施できない。
本発明は、単一PCに保持されたコンテンツの上で動作する検索エンジンの一部として実施してもよい。この実施は、PC(すなわち、「プライベートウェブ」)に蓄積された全文書(メール、テキスト、プレゼンテーションなど)の間にハイパーリンクの導入を必要とする。このアイデア(単一PC上の文書間のハイパーリンク)は、現在のオペレーティングシステムでは、非常に限定された範囲で実現されているに過ぎない。したがって、「プライベートウェブ」の一部として本発明を実施することは、PC内の多数のファイルハンドリングアプリケーションの修正を必要とするであろう。その上、インデクシングシステム、ユーザインターフェイス、及び、(おそらく)テキスト関連性に基づくランキングシステムが必要とされるであろう。
本発明の多数の変更及び変形が上記の教示を考慮して可能である。したがって、請求項に記載された範囲内で、発明は本明細書中で特に断らない限り別の態様で実施されることが理解されるべきである。
一般的な検索環境を示す図である。 シンク領域を含むサンプルグラフを示す図である。 図2のグラフ上でのランダムサーファー演算子の効果を示す図である。 図2のサンプルグラフに対応する完全なメタグラフを示す図である。 図2のサンプルグラフに対応する畳まれたグラフを示す図である。 図2のサンプルグラフ上での方法1の効果を示す図である。 図4に示されたメタグラフ上での方法1の効果を示す図である。 図4に示されたメタグラフ上での方法2の効果を示す図である。 本発明と関連するコンピュータシステムのブロック図である。

Claims (35)

  1. コンピュータシステムにおいてリンク解析を使用して文書をランク付けする方法であって、
    各ノードが1個の文書を表現し、各リンクが1個の文書内での1個の別の文書への参照を表現する元のグラフ内で、すべての強接続コンポーネント(SCC)を特定するステップと、
    各SCCをメタノードで置き換えることによりメタグラフを形成するステップと、
    リンクされたSCCのペアが強接続になるように、前記メタグラフ内のリンクされたSCCのペア毎に前記元のグラフ内で少なくとも1本のリンクを追加することにより前記元のグラフを修正するステップと、前記メタグラフ内のソースと対応する1個以上のSCCをポンピングするステップとのうちの一方のステップと、
    リンク解析ノード重みを決定するステップと、
    前記文書のランキングを決定するときに前記リンク解析ノード重みを使用するステップと、
    を含む方法。
  2. メタグラフを形成するステップが、
    第1のSCC内のノードから第2のSCC内のノードへの有向リンクが第1のメタノードから第2のメタノードへのリンクになるように、前記第1のSCCと前記第2のSCCとの間でリンクを維持するステップを含む、
    請求項1に記載の方法。
  3. 前記メタグラフに対応するコラプス型グラフを特定するステップをさらに含む、請求項2に記載の方法。
  4. 前記元のグラフ内で少なくとも1本のリンクを追加するステップが、
    始点及び終点を含むSCC間リンクを特定するステップと、
    前記SCC間リンクの反転リンクを追加するステップと、
    を含む、請求項1に記載の方法。
  5. 重みεを前記追加された反転リンクに割り当てるステップをさらに含む、請求項4に記載の方法。
  6. 対応するSCC間リンクの計算された重みより小さい重みεを前記追加された反転リンクに割り当てるステップをさらに含む、請求項5に記載の方法。
  7. テキスト関連性ノード重みを決定するステップと、
    前記文書のランキングを決定するときに、前記テキスト関連性ノード重みを前記リンク解析ノード重みと一緒に使用するステップと、
    をさらに含む、請求項1に記載の方法。
  8. 前記リンク解析ノード重みを決定するステップが、
    正規化オペレータと非正規化オペレータのうちの一方である、フォワード演算子とバックワード演算子のうちの一方を適用し、前記SCCに対する隣接行列を決定するステップを含む、
    請求項1に記載の方法。
  9. 1個以上のSCCをポンピングするステップが、
    前記コラプス型グラフ内でアウトリンクを保有する1個以上のメタノードだけを決定するため前記コラプス型グラフを使用するステップと、
    前記1個以上のSCCとして、前記1個以上のメタノードと対応する前記SCCを選択するステップと、
    をさらに含む、
    請求項2に記載の方法。
  10. 1個以上のSCSをポンピングするステップが、
    前記1個以上のSCCの範囲内で各SCC内リンクを特定するステップと、
    正規化演算子と非正規化演算子のうちの一方である、フォワード演算子とバックワード演算子のうちの一方を適用し、前記1個以上のSCCのそれぞれに対して隣接行列を決定するステップと、
    前記隣接行列に基づいて前記1個以上のSCCのそれぞれの主固有値を計算することにより、前記1個以上のSCCのそれぞれに対し利得を決定するステップと、
    (i)前記1個以上のSCCのそれぞれが同じ利得を保有する、(ii)1個以上のSCCのそれぞれの共通利得が非ソースSCCの利得を上回る、及び、(iii)前記1個以上のSCCの前記共通利得がソースSCCの利得を上回るという3個の条件が満たされるまで、前記1個以上のSCCのそれぞれの前記利得を増加させるステップと、
    をさらに含む、
    請求項1に記載の方法。
  11. 前記1個以上のSCCのうちのいずれかが単一のノードを保有し、SCC内リンクを保有しないかどうかを判定するステップと、
    各SCC内リンクを特定するステップの前に、単一のノードを保有し、SCC内リンクを保有しないことが判定されたいずれかの1個以上のSCCに対し、前記単一のノードからそのノード自体を指し示す自己リンクを追加するステップと、
    をさらに含む、請求項10に記載の方法。
  12. 前記1個以上のSCCのそれぞれの利得を増加させるステップが、
    Gが1個以上の各SCCの希望の共通利得を表し、gが前記SCCの前記元の利得を表し、前記SCC内のすべての元のSCC内リンクに係数G/gを乗算するステップを含む、
    請求項10に記載の方法。
  13. 指示元ノードと指示先ノードの少なくとも一方に対するパーソナル関心スコアを計算するステップと、
    前記パーソナル関心スコアに従って、前記指示元ノードから指し示す、又は、前記指示先ノードを指し示す少なくとも1本のリンクの上記重みを調整するステップと、
    をさらに含む、請求項1に記載の方法。
  14. 少なくとも1個のノードに対するパーソナル関心スコアを計算するステップと、
    計算されたパーソナル関心スコアをパーソナル化された補完ベクトルに組み立てるステップと、
    前記リンク解析ノード重みを決定するため、ノード重み計算プロセスの繰り返し毎に、前記パーソナル化された補完ベクトルを計算されたノード重みベクトルに加算するステップと、
    をさらに含む、請求項1に記載の方法。
  15. 少なくとも1個のノードに対するパーソナル関心スコアを計算するステップと、
    前記パーソナル関心スコアを前記決定されたリンク解析ノード重みに加算するステップと、
    をさらに含む、請求項1に記載の方法。
  16. 前記元のグラフが前記文書に関する情報を収集するクローラを用いて特定される、請求項1に記載の方法。
  17. 前記クローラがウェブクローラであり、前記文書がワールドワイドウェブ上のウェブページである、請求項16に記載の方法。
  18. リンク解析を用いて文書をランク付けするように構成されたコンピュータシステムであって、
    各ノードが1個の文書を表現し、各リンクが1個の文書内での1個の別の文書への参照を表現する元のグラフ内で、すべての強接続コンポーネント(SCC)を特定するステップと、
    各SCCをメタノードで置き換えることによりメタグラフを形成するステップと、
    リンクされたSCCのペアが強接続になるように、前記メタグラフ内のリンクされたSCCのペア毎に前記元のグラフ内で少なくとも1本のリンクを追加することにより前記元のグラフを修正するステップと、前記メタグラフ内のソースと対応する1個以上のSCCをポンピングするステップとのうちの一方のステップと、
    リンク解析ノード重みを決定するステップと、
    前記文書のランキングを決定するときに前記リンク解析ノード重みを使用するステップと、
    を実行するため、命令を格納するメモリと前記命令を実行するプロセッサとを備えるコンピュータシステム。
  19. メタグラフを形成するステップが、
    第1のSCC内のノードから第2のSCC内のノードへの有向リンクが第1のメタノードから第2のメタノードへのリンクになるように、前記第1のSCCと前記第2のSCCとの間でリンクを維持するステップを含む、
    請求項18に記載のシステム。
  20. 前記メタグラフに対応するコラプス型グラフを特定するステップを実行するようにさらに構成されている、請求項19に記載のシステム。
  21. 前記元のグラフ内で少なくとも1本のリンクを追加するステップが、
    始点及び終点を含むSCC間リンクを特定するステップと、
    前記SCC間リンクの反転リンクを追加するステップと、
    を含む、請求項18に記載のシステム。
  22. 重みεを前記追加された反転リンクに割り当てるステップを実行するようにさらに構成されている、請求項21に記載のシステム。
  23. 対応するSCC間リンクの計算された重みより小さい重みεを前記追加された反転リンクに割り当てるステップを実行するようにさらに構成されている、請求項22に記載のシステム。
  24. テキスト関連性ノード重みを決定するステップと、
    前記文書のランキングを決定するときに、前記テキスト関連性ノード重みを前記リンク解析ノード重みと一緒に使用するステップと、
    を実行するようにさらに構成されている、請求項18に記載のシステム。
  25. 前記リンク解析ノード重みを決定するステップが、
    正規化オペレータと非正規化オペレータのうちの一方である、フォワード演算子とバックワード演算子のうちの一方を適用し、前記SCCに対する隣接行列を決定するステップを含む、
    請求項18に記載のシステム。
  26. 1個以上のSCCをポンピングするステップが、
    前記コラプス型グラフ内でアウトリンクを保有する1個以上のメタノードだけを決定するため前記コラプス型グラフを使用するステップと、
    前記1個以上のSCCとして、前記1個以上のメタノードと対応する前記SCCを選択するステップと、
    をさらに含む、
    請求項19に記載のシステム。
  27. 1個以上のSCSをポンピングするステップが、
    前記1個以上のSCCの範囲内で各SCC内リンクを特定するステップと、
    正規化演算子と非正規化演算子のうちの一方である、フォワード演算子とバックワード演算子のうちの一方を適用し、前記1個以上のSCCのそれぞれに対して隣接行列を決定するステップと、
    前記隣接行列に基づいて前記1個以上のSCCのそれぞれの主固有値を計算することにより、前記1個以上のSCCのそれぞれに対し利得を決定するステップと、
    (i)前記1個以上のSCCのそれぞれが同じ利得を保有する、(ii)1個以上のSCCのそれぞれの共通利得が非ソースSCCの利得を上回る、及び、(iii)前記1個以上のSCCの上記共通利得がソースSCCの利得を上回るという3個の条件が満たされるまで、前記1個以上のSCCのそれぞれの前記利得を増加させるステップと、
    をさらに含む、
    請求項18に記載のシステム。
  28. 前記1個以上のSCCのうちのいずれかが単一のノードを保有し、SCC内リンクを保有しないかどうかを判定するステップと、
    各SCC内リンクを特定するステップの前に、単一のノードを保有し、SCC内リンクを保有しないことが判定されたいずれかの1個以上のSCCに対し、前記単一のノードからそのノード自体を指し示す自己リンクを追加するステップと、
    を実行するようにさらに構成されている、請求項27に記載のシステム。
  29. 前記1個以上のSCCのそれぞれの利得を増加させるステップが、
    Gが1個以上の各SCCの希望の共通利得を表し、gが前記SCCの前記元の利得を表し、前記SCC内のすべての元のSCC内リンクに係数G/gを乗算するステップを含む、
    請求項27に記載のシステム。
  30. 指示元ノードと指示先ノードの少なくとも一方に対するパーソナル関心スコアを計算するステップと、
    前記パーソナル関心スコアに従って、前記指示元ノードから指し示す、又は、前記指示先ノードを指し示す少なくとも1本のリンクの上記重みを調整するステップと、
    を実行するようにさらに構成されている、請求項18に記載のシステム。
  31. 少なくとも1個のノードに対するパーソナル関心スコアを計算するステップと、
    計算されたパーソナル関心スコアをパーソナル化された補完ベクトルに組み立てるステップと、
    前記リンク解析ノード重みを決定するため、ノード重み計算プロセスの繰り返し毎に、前記パーソナル化された補完ベクトルを計算されたノード重みベクトルに加算するステップと、
    を実行するようにさらに構成されている、請求項18に記載のシステム。
  32. 少なくとも1個のノードに対するパーソナル関心スコアを計算するステップと、
    前記パーソナル関心スコアを前記決定されたリンク解析ノード重みに加算するステップと、
    を実行するようにさらに構成されている、請求項18に記載のシステム。
  33. 前記文書に関する情報を収集することができ、前記元のグラフを構築するクローラをさらに備える、請求項18に記載のシステム。
  34. 前記クローラがウェブクローラであり、前記文書がワールドワイドウェブ上のウェブページである、請求項33に記載のシステム。
  35. コンピュータ機器に請求項1乃至17のいずれか一項に記載されたステップを実行させるように構成された命令を含む、コンピュータプログラム。
JP2007527877A 2004-08-16 2005-08-10 シンクの改善を伴う、リンク解析を用いて文書をランク付けする方法、装置及びコンピュータプログラム Pending JP2008510256A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/918,713 US7493320B2 (en) 2004-08-16 2004-08-16 Method, system, and computer program product for ranking of documents using link analysis, with remedies for sinks
PCT/US2005/028521 WO2006023357A1 (en) 2004-08-16 2005-08-10 A method, system, and computer program product for ranking of documents using link analysis, with remedies for sinks

Publications (1)

Publication Number Publication Date
JP2008510256A true JP2008510256A (ja) 2008-04-03

Family

ID=35219525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007527877A Pending JP2008510256A (ja) 2004-08-16 2005-08-10 シンクの改善を伴う、リンク解析を用いて文書をランク付けする方法、装置及びコンピュータプログラム

Country Status (8)

Country Link
US (1) US7493320B2 (ja)
EP (1) EP1779274A1 (ja)
JP (1) JP2008510256A (ja)
KR (1) KR20070047784A (ja)
CN (1) CN100511227C (ja)
CA (1) CA2575661A1 (ja)
RU (1) RU2007109604A (ja)
WO (1) WO2006023357A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151392A (ja) * 2007-12-18 2009-07-09 Fuji Xerox Co Ltd 情報分析装置、及び情報分析プログラム
JP2015532495A (ja) * 2012-10-19 2015-11-09 パテント アナリティクス ホールディング プロプライエタリー リミテッドPatent Analytics Holding Pty Ltd ネットワークデータセットを提示し、視覚的にナビゲートするためのシステム及び方法
JP2018032374A (ja) * 2016-08-17 2018-03-01 ヤフー株式会社 検索データ管理装置、検索データ管理方法、および検索データ管理プログラム

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836076B2 (en) * 2004-08-20 2010-11-16 Hewlett-Packard Development Company, L.P. Distributing content indices
US20060074910A1 (en) * 2004-09-17 2006-04-06 Become, Inc. Systems and methods of retrieving topic specific information
US20060074632A1 (en) * 2004-09-30 2006-04-06 Nanavati Amit A Ontology-based term disambiguation
JP2008525896A (ja) * 2004-12-23 2008-07-17 ビカム, インコーポレイテッド リンクされた文書の集合に相対的品質スコアを割り当てるための方法
US7668822B2 (en) * 2004-12-23 2010-02-23 Become, Inc. Method for assigning quality scores to documents in a linked database
US8117200B1 (en) * 2005-01-14 2012-02-14 Wal-Mart Stores, Inc. Parallelizing graph computations
US8566144B2 (en) * 2005-03-31 2013-10-22 Amazon Technologies, Inc. Closed loop voting feedback
KR100952391B1 (ko) * 2005-04-14 2010-04-14 에스케이커뮤니케이션즈 주식회사 인터넷 네트워크에서 콘텐츠의 평가에 따른 가치 분석시스템, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수있는 기록 매체
EP1746521A1 (fr) * 2005-07-22 2007-01-24 France Telecom Procédé de classement d'un ensemble de documents électroniques du type pouvant contenir des liens hypertextes vers d'autres documents électroniques
US8249915B2 (en) * 2005-08-04 2012-08-21 Iams Anthony L Computer-implemented method and system for collaborative product evaluation
US20070067282A1 (en) * 2005-09-20 2007-03-22 Microsoft Corporation Domain-based spam-resistant ranking
US20070078670A1 (en) * 2005-09-30 2007-04-05 Dave Kushal B Selecting high quality reviews for display
US8010480B2 (en) * 2005-09-30 2011-08-30 Google Inc. Selecting high quality text within identified reviews for display in review snippets
US8438469B1 (en) 2005-09-30 2013-05-07 Google Inc. Embedded review and rating information
US7827052B2 (en) * 2005-09-30 2010-11-02 Google Inc. Systems and methods for reputation management
TWI337712B (en) * 2006-10-30 2011-02-21 Inst Information Industry Systems and methods for measuring behavior characteristics, and machine readable medium thereof
US7617194B2 (en) * 2006-12-29 2009-11-10 Microsoft Corporation Supervised ranking of vertices of a directed graph
US20080229828A1 (en) * 2007-03-20 2008-09-25 Microsoft Corporation Establishing reputation factors for publishing entities
US7734641B2 (en) 2007-05-25 2010-06-08 Peerset, Inc. Recommendation systems and methods using interest correlation
US20080294624A1 (en) * 2007-05-25 2008-11-27 Ontogenix, Inc. Recommendation systems and methods using interest correlation
US20090030932A1 (en) * 2007-07-27 2009-01-29 Ralph Harik Methods for detecting and remedying missed opportunities in a social network
CN101399818B (zh) * 2007-09-25 2012-08-29 日电(中国)有限公司 基于导航路径信息的主题相关网页过滤方法和系统
KR101119691B1 (ko) * 2008-02-26 2012-06-12 주식회사 지식과지혜 개미군락시스템을 이용한 문서 스코어링 시스템 및 방법
US8810576B2 (en) * 2010-04-13 2014-08-19 Microsoft Corporation Manipulation and management of links and nodes in large graphs
US9489350B2 (en) * 2010-04-30 2016-11-08 Orbis Technologies, Inc. Systems and methods for semantic search, content correlation and visualization
US8533319B2 (en) * 2010-06-02 2013-09-10 Lockheed Martin Corporation Methods and systems for prioritizing network assets
US8639695B1 (en) * 2010-07-08 2014-01-28 Patent Analytics Holding Pty Ltd System, method and computer program for analysing and visualising data
AU2010202901B2 (en) 2010-07-08 2016-04-14 Patent Analytics Holding Pty Ltd A system, method and computer program for preparing data for analysis
US10380147B1 (en) 2010-10-07 2019-08-13 PatentSight GmbH Computer implemented method for quantifying the relevance of documents
US9251123B2 (en) * 2010-11-29 2016-02-02 Hewlett-Packard Development Company, L.P. Systems and methods for converting a PDF file
KR101290000B1 (ko) * 2011-01-31 2013-08-07 한양대학교 산학협력단 논문 랭킹 방법 및 장치
KR101282577B1 (ko) * 2011-01-31 2013-07-04 한양대학교 산학협력단 검색을 위한 논문 랭킹 방법 및 장치
US20140012631A1 (en) * 2012-07-03 2014-01-09 Ramot At Tel-Aviv University Ltd. Competitive economy as a ranking device over networks
US8978010B1 (en) 2013-12-18 2015-03-10 Sap Ag Pruning compilation dependency graphs
US9292616B2 (en) * 2014-01-13 2016-03-22 International Business Machines Corporation Social balancer for indicating the relative priorities of linked objects
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US11036797B2 (en) * 2017-10-12 2021-06-15 Adtran, Inc. Efficient storage and utilization of a hierarchical data set
US10776087B2 (en) * 2018-06-25 2020-09-15 Intel Corporation Sequence optimizations in a high-performance computing environment
US11762924B2 (en) * 2020-06-30 2023-09-19 Microsoft Technology Licensing, Llc Web content reliability classification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037074A1 (en) * 2001-05-01 2003-02-20 Ibm Corporation System and method for aggregating ranking results from various sources to improve the results of web searching
US7058628B1 (en) * 1997-01-10 2006-06-06 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889999A (en) * 1996-05-15 1999-03-30 Motorola, Inc. Method and apparatus for sequencing computer instruction execution in a data processing system
GB2331166B (en) 1997-11-06 2002-09-11 Ibm Database search engine
US6112202A (en) 1997-03-07 2000-08-29 International Business Machines Corporation Method and system for identifying authoritative information resources in an environment with content-based links between information resources
US6555465B2 (en) * 1997-12-05 2003-04-29 Yamaha Corp. Multi-layer wiring structure of integrated circuit and manufacture of multi-layer wiring
US6738678B1 (en) * 1998-01-15 2004-05-18 Krishna Asur Bharat Method for ranking hyperlinked pages using content and connectivity analysis
US6457028B1 (en) * 1998-03-18 2002-09-24 Xerox Corporation Method and apparatus for finding related collections of linked documents using co-citation analysis
US6112203A (en) 1998-04-09 2000-08-29 Altavista Company Method for ranking documents in a hyperlinked environment using connectivity and selective content analysis
US6356899B1 (en) * 1998-08-29 2002-03-12 International Business Machines Corporation Method for interactively creating an information database including preferred information elements, such as preferred-authority, world wide web pages
US6321220B1 (en) 1998-12-07 2001-11-20 Altavista Company Method and apparatus for preventing topic drift in queries in hyperlinked environments
CN1271134A (zh) * 1999-04-15 2000-10-25 伊塞公司 网络系统的动态回馈及查询方法
US6591261B1 (en) 1999-06-21 2003-07-08 Zerx, Llc Network search engine and navigation tool and method of determining search results in accordance with search criteria and/or associated sites
US6353825B1 (en) 1999-07-30 2002-03-05 Verizon Laboratories Inc. Method and device for classification using iterative information retrieval techniques
US6665665B1 (en) 1999-07-30 2003-12-16 Verizon Laboratories Inc. Compressed document surrogates
US7260774B2 (en) 2000-04-28 2007-08-21 Inceptor, Inc. Method & system for enhanced web page delivery
US6993475B1 (en) * 2000-05-03 2006-01-31 Microsoft Corporation Methods, apparatus, and data structures for facilitating a natural language interface to stored information
US6999963B1 (en) * 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
JP2001319129A (ja) 2000-05-04 2001-11-16 Apex Interactive Inc インターネットウェブサイトのサーチエンジンランキングを向上させるためのシステム、方法、およびコンピュータプログラム製品
US6922696B1 (en) * 2000-05-31 2005-07-26 Sri International Lattice-based security classification system and method
US6560600B1 (en) 2000-10-25 2003-05-06 Alta Vista Company Method and apparatus for ranking Web page search results
US7356530B2 (en) 2001-01-10 2008-04-08 Looksmart, Ltd. Systems and methods of retrieving relevant information
US6526440B1 (en) 2001-01-30 2003-02-25 Google, Inc. Ranking search results by reranking the results based on local inter-connectivity
EP1384155A4 (en) * 2001-03-01 2007-02-28 Health Discovery Corp SPECTRAL KNIVES FOR LEARNING MACHINES
US6795820B2 (en) 2001-06-20 2004-09-21 Nextpage, Inc. Metasearch technique that ranks documents obtained from multiple collections
US6701312B2 (en) 2001-09-12 2004-03-02 Science Applications International Corporation Data ranking with a Lorentzian fuzzy score
AU2003214311A1 (en) * 2002-01-11 2003-07-24 Enrico Maim Methods and systems for searching and associating information resources such as web pages
MXPA04011507A (es) 2002-05-20 2005-09-30 Tata Infotech Ltd Identificador de estructura de documento.
US7178112B1 (en) * 2003-04-16 2007-02-13 The Mathworks, Inc. Management of functions for block diagrams
US7739281B2 (en) * 2003-09-16 2010-06-15 Microsoft Corporation Systems and methods for ranking documents based upon structurally interrelated information
US7281005B2 (en) * 2003-10-20 2007-10-09 Telenor Asa Backward and forward non-normalized link weight analysis method, system, and computer program product
US7231399B1 (en) * 2003-11-14 2007-06-12 Google Inc. Ranking documents based on large data sets
US7464076B2 (en) * 2004-05-15 2008-12-09 International Business Machines Corporation System and method and computer program product for ranking logical directories
US8057235B2 (en) * 2004-08-12 2011-11-15 Purdue Research Foundation Agent based modeling of risk sensitivity and decision making on coalitions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058628B1 (en) * 1997-01-10 2006-06-06 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US20030037074A1 (en) * 2001-05-01 2003-02-20 Ibm Corporation System and method for aggregating ranking results from various sources to improve the results of web searching

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151392A (ja) * 2007-12-18 2009-07-09 Fuji Xerox Co Ltd 情報分析装置、及び情報分析プログラム
JP2015532495A (ja) * 2012-10-19 2015-11-09 パテント アナリティクス ホールディング プロプライエタリー リミテッドPatent Analytics Holding Pty Ltd ネットワークデータセットを提示し、視覚的にナビゲートするためのシステム及び方法
JP2018032374A (ja) * 2016-08-17 2018-03-01 ヤフー株式会社 検索データ管理装置、検索データ管理方法、および検索データ管理プログラム

Also Published As

Publication number Publication date
WO2006023357A1 (en) 2006-03-02
RU2007109604A (ru) 2008-09-27
WO2006023357A8 (en) 2006-06-29
US7493320B2 (en) 2009-02-17
CN100511227C (zh) 2009-07-08
WO2006023357B1 (en) 2006-05-26
KR20070047784A (ko) 2007-05-07
CN101006443A (zh) 2007-07-25
CA2575661A1 (en) 2006-03-02
EP1779274A1 (en) 2007-05-02
US20060059119A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
JP2008510256A (ja) シンクの改善を伴う、リンク解析を用いて文書をランク付けする方法、装置及びコンピュータプログラム
US7089252B2 (en) System and method for rapid computation of PageRank
JP4268638B2 (ja) バックワード及びフォワード非正規化リンク重み分析方法、システム、及びコンピュータ・プログラム製品
US7761448B2 (en) System and method for ranking search results using click distance
US7577650B2 (en) Method and system for ranking objects of different object types
KR100962925B1 (ko) 파일 시스템에 대한 검색 순위부여 방법 및 관련된 검색엔진
US7343374B2 (en) Computation of page authority weights using personalized bookmarks
US6718324B2 (en) Metadata search results ranking system
US9953049B1 (en) Producing a ranking for pages using distances in a web-link graph
US7346621B2 (en) Method and system for ranking objects based on intra-type and inter-type relationships
EP1596314A1 (en) Method and system for determining similarity of objects based on heterogeneous relationships
US7660791B2 (en) System and method for determining initial relevance of a document with respect to a given category
US7509299B2 (en) Calculating web page importance based on a conditional Markov random walk
US20060271532A1 (en) Matching pursuit approach to sparse Gaussian process regression
US7890502B2 (en) Hierarchy-based propagation of contribution of documents
Singh et al. A comparative study of page ranking algorithms for information retrieval
US7512587B2 (en) Efficient computation of web page rankings
スブチュアタナポール A Study on Efficient Topical Focused Website Segment Crawler
Bar-Yossef et al. Focused sampling: Computing topical web statistics
JPH11184893A (ja) パターン照合装置及び文書処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110819

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120803