ページランク

出典: Wikipedio


画像:Linkstruct2.svg
ページランクの動作概念図

ページランク (PageRank) とは、ウェブページの重要度を決定するためのアルゴリズムであり、検索エンジングーグルにおいて、検索語に対する適切な結果を得るために用いられている中心的な技術。

名称の由来は、ウェブページの"ページ"と、グーグルの創設者の一人ラリー・ペイジ (Larry Page) のファミリーネームをかけたものである。

PageRank™ はグーグルの商標であり、また PageRank の処理は特許が取得されている(Template:US patent)。ただし、特許はグーグルではなくスタンフォード大学に帰属しており、グーグルはスタンフォード大学から同特許の権利を独占的にライセンスされている。なお、同大学は特許の使用権と交換にグーグルから180万株を譲渡されているが、その株式は2005年に3億3600万ドルで売却された。 <ref>Template:Cite web</ref> <ref>Template:Cite web</ref>

目次

概要

発想

PageRank アルゴリズムの発想は、引用に基づく学術論文の評価に似ている。

  1. 学術論文の重要性を測る指標としては、被引用数がよく使われる。重要な論文はたくさんの人によって引用されるので、被引用数が多くなると考えられる。同様に、注目に値する重要なウェブページはたくさんのページからリンクされると考えられる。
  2. また、被引用数を用いる考え方以外にも、「被引用数の多い論文から引用されている論文は、重要度が高い」とする考え方が以前から存在した。ウェブページの場合も同様に、重要なページからのリンクは価値が高いと考えられる。
  3. ただし、乱発されたリンクにはあまり価値がないと考えられる。リンク集のように、とにかくたくさんリンクすることを目的としている場合には、リンク先のウェブページに強く注目しているとは言い難い。

この発想を、数億~数十億ページにのぼるウェブページのリンク関係にも適用したのが PageRank である(PageRank の登場まで、このような大規模なリンク関係に適用するのは難しかった)。

この方法を適用することにより、仲間内でリンクし合っているだけのサイトの重要度が上がりにくくなり、リンク集のような多くのリンクを張っているだけのサイトからのリンクの重要性を相対的に減らす効果がある。

方法

以上を少し単純化して数学的に表すと、次のような方法が考えられる。

  1. 各ページは、固有の得点を持っている。
    各リンクもまた、固有の得点を持っている。
  2. あるページ X に対して、
    • X の得点を P とする。
    • 他のページから X に対して張られているリンクの得点をそれぞれ <math>I_1, ..., I_n</math> とする。
    • X から他のページに張られているリンクの得点をそれぞれ <math>O_1, ..., O_m</math> とする。
  3. このとき、次が成り立つものとする。
<math>I_1 + ... + I_n = P</math>
<math>O_1 = ... = O_m = \frac{P}{m} \left( = \frac{\sum_{i=1}^n I_i}{m} \right)</math>

すなわち、各ページに「流れ込む」リンクの得点の総和と、各ページから「流れ出す」リンクの得点の総和が等しくなるようにして、その総和をそのページの得点と考えるのである。 この得点が高いほど、そのページは重要であると考えられる。

全体に亘って矛盾が生じないようにうまく得点を割り振る必要があるが、これは一種のフローの問題であり、この問題の解法については様々な理論が考え出されている。

グラフ理論

グラフ理論の言葉を使うなら、次のようなことである。

  1. WWW上の各ページをノードと見なし、リンクをエッジと見なした有向グラフを考える。
  2. このとき、このグラフの隣接行列を転倒したものを A =(aij) とし、
    行列 B = (bij) を 次によって定義する。
    <math> b_{ij} = \frac{a_{ij}}{\sum_{k} a_{kj}}</math>
  3. B の最大固有値に属する固有ベクトルを求める。固有ベクトルの各要素の値が、求めるべき各ページの得点である。

補足すると、上の定義に於いて、B は A の各要素をその列の非零要素の数で割ったものである。 従って、B の各列の和は 1 になっている。

B は推移確率行列と呼ばれ、あるページからあるページへリンクによってジャンプする確率を表しているものと考えられる。

別の定義式

ファイル形式の論文がウェブ上にて公表されている。参照(英語)日本語による平易な解説

上記の論文によれば、あるページAのページランクPR(A)は、次のような式で定義される。

<math>PR\left(A\right) = \left(1-d \right) + d\sum_{i=1}^n \frac{PR\left(T_i \right)}{C\left(T_i \right)}</math>

<math>\Longleftrightarrow PR\left(A\right) = 1-d + d\left(\frac{PR\left(T_1 \right)}{C\left(T_1 \right)} + ... + \frac{PR\left(T_n \right)}{C\left(T_n \right)} \right)</math>

  • <math>PR\left(T_n\right)</math>:ページAにリンクしているページ<math>T_n</math>のページランク。仮にページAに対して3つのページがリンクしているとした場合、<math>T_1</math>から<math>T_3</math>までの各ページを表す。
  • <math>C\left(T_n\right)</math>:ページ<math>T_n</math>に含まれる他ページ(Aでも<math>T_n</math>でもないページ)へのリンクの総数。(注:『他ページ』に内部リンクが含まれるのか否かについてはstub)
  • d:ダンピング・ファクター。通常0.85に設定されるが、作為的にページランクを上げようとする者に対しては、より小さい値に設定される。(常に<math>d\le1</math>)

Google ツールバー

グーグル社が配布しているGoogle ツールバーを用いれば、このアルゴリズムによる各ページの評価点を0~10の11段階で表示することができる。ただしこの評価点については、幾分古いデータが用いられる(年に3回程度更新)などで、必ずしもその時々の実態を反映したものではないため、飾りとしての意味しか持たないとの見方もある。近年は有料でリンクを販売しているサイトの評価点が下落傾向にある。

rel="nofollow"

リンクに属性 rel="nofollow" を加えることで、同リンクをページランクの計算対象から除外することが可能となっている。これは、ブログにおけるコメントスパムへの対策などを主目的として、2005年のはじめにGoogleにより提案されたものである。例えばページAからページBにリンクする場合、ページBのURLを仮にhttp://ja.wikipedia.org/とするならば、<a href="http://ja.wikipedia.org/" rel="nofollow"></a>とすることで、ページBがページAから受け取る(便宜的表現)ページランクは無となる。

なお、Wikipediaを含むMediaWikiの外部リンクにはすべてこの属性を持たせている。これは、Wikipedia(MediaWiki)が宣伝の道具に利用されるのを防ぐためである。

Buzzurldel.icio.usといったソーシャルブックマークにおいても、ブックマークスパム対策として、この属性が使われる傾向にある。一方、はてなブックマークは、この属性を持たせていないため、ページランクを上げる目的としてのブックマーク登録が後を絶たない。

脚注

Template:Reflist

外部リンク

Template:Google Inc.ar:ترتيب الصفحة ca:PageRank cs:PageRank de:PageRank en:PageRank es:PageRank eu:PageRank fa:رتبه صفحه fi:PageRank fr:PageRank he:PageRank hu:PageRank id:PageRank it:PageRank kk:PageRank kn:ಪೇಜ್‍ರ್ಯಾಂಕ್ ko:페이지랭크 lt:PageRank nl:PageRank no:PageRank pl:PageRank pt:PageRank ro:PageRank ru:PageRank sk:PageRank sv:Pagerank ta:பேஜ் தரவரிசை te:పేజ్ రాంక్ th:เพจแรงก์ tr:PageRank uk:PageRank zh:PageRank

個人用ツール