検索エンジンとページランク(11月22日)

計算機科学的意思決定論
第7回
システム情報科学研究院・情報学部門
瀧本 英二
http://www.i.kyushu-u.ac.jp/~eiji
ウェブページの重要性
検索エンジンの形式化
入力:キーワード
出力:ウェブページへのリンクの系列.
ただし,各リンク先は入力キーワードを
含む.重要なページほど上位に表示する.
このままでは,解の品質に関する基準が
与えられていないので,問題の形式化としては不十分
ウェブページの重要性を表す指標が必要
ウェブページの重要性
Google の場合: PageRank
(200以上ある指標の1つ)
PageRank の考え方
• ウェブ全体のリンク構造だけで決める
• 重要なページからたくさんリンクを張られて
いるページは重要
P2
P3
P1
P5
P4
どのページが
最も重要?
PageRank の定義 (ver 0.1)
r(P) =
Q2L(→P) r(Q) / |L(Q→)|
r(P) = ページ P のランク
L(Q→) = ページ Q から出ているリンク先の集合
L(→P) = ページ P にリンクを出しているページの集合
計算例(P2 のランク):
L(→P2) = {P1, P5}
L(P1→) = {P2, P3, P5}
L(P5→) = {P1, P2}
r(P2) = r(P1)/3 + r(P5)/2
P2
P1
P3
P5
P4
PageRank の定義 (ver 0.1)
r(P) =
Q2L(→P) r(Q) / |L(Q→)|
r(P) = ページ P のランク
L(Q→) = ページ Q から出ているリンク先の集合
L(→P) = ページ P にリンクを出しているページの集合
計算例(P2 のランク):
L(→P2) = {P1, P5}
L(P1→) = {P2, P3, P5}
L(P5→) = {P1, P2}
r(P2) = r(P1)/3 + r(P5)/2
P2
P1
P3
P5
P4
PageRank の行列表現
r(P1)
r(P2)
0
0
0
0 1/2
1/3 0
0
0 1/2
r(P3) = 1/3 1/2 0 1/2 0
r(P4)
r(P5)
0 1/2 0
1/3 0
0
0
1 1/2 0
r(P1)
P2
r(P2)
r(P3)
r(P4)
r(P5)
P1
P3
P5
P4
状態遷移確率行列
(i, j)成分 = ランダムにリンク先をたどったとき,
Pj から Pi に遷移する確率
PageRank の行列表現
r(P1)
r(P2)
0
0
0
0 1/2
1/3 0
0
0 1/2
r(P3) = 1/3 1/2 0 1/2 0
r(P4)
r(P5)
0 1/2 0
1/3 0
0
0
1 1/2 0
r(P1)
P2
r(P2)
r(P3)
r(P4)
r(P5)
P1
P3
P5
P4
状態遷移確率行列の固有値 1 に対する固有ベクトル
= 行列が既約で非周期的なら,定常確率分布
(マルコフ過程の理論)
ランダムサーフモデルによる解釈
r(P) = 「ランダムにリンクをたどる遷移を十分な
回数行った後,ページ Pにいる確率」
(既約で非周期的の場合)
P2
P3
P1
P5
P4
ランダムサーフモデルによる解釈
r(P) = 「ランダムにリンクをたどる遷移を十分な
回数行った後,ページ Pにいる確率」
(既約で非周期的の場合)
P2
P3
P1
P5
P4
ランダムサーフモデルによる解釈
r(P) = 「ランダムにリンクをたどる遷移を十分な
回数行った後,ページ Pにいる確率」
(既約で非周期的の場合)
P2
P3
P1
P5
P4
これを無限に繰り返す
例:
r(P1)
r(P2)
0
0
0
0 1/2
1/3 0
0
0 1/2
r(P3) = 1/3 1/2 0 1/2 0
r(P4)
r(P5)
0 1/2 0
1/3 0
0
0
1 1/2 0
r(P1)
r(P2)
r(P3)
r(P4)
r(P5)
の解は,(3/19, 4/19, 4/19, 2/19, 6/19)T
4/19
P2
3/19
4/19
P1
P3
P5
6/19
P4
2/19
練習
P1
P2
P3
このネットワークの PageRank
(r(P1), r(P2), r(P3))T
を求めよ
練習
P1
このネットワークの PageRank
(r(P1), r(P2), r(P3))T
を求めよ
P2
P3
r(P1)
r(P2) =
r(P3)
0 1/2 1
1
0
r(P1)
0 r(P2)
0 1/2 0 r(P3)
を解けばよい
ただし,r(P1) + r(P2) + r(P3) = 1
答え: (2/5, 2/5, 1/5)T
既約でない場合?
定義: 状態遷移行列(マルコフ過程)が既約
任意のページ P から任意のページ Q に到達可能
既約でない例:
P2
P1
P7
P3
P4
P5
P6
ランダムウォークの初期ページが
P2
P5
定常分布は
(0, 2/5, 2/5, 1/5, 0, 0, 0)T
定常分布は
(0, 0, 0, 0, 1/2, 1/4, 1/4)T
PageRank が一意に定まらない!
既約でない場合?
既約でない例2:
P1
P2
定常分布が定義できない!
P3
既約でない例3:
P1
P2
P3
定常分布は (0, 1, 0)T
リンク先がないページのランクが
最大となってしまう!
周期的な場合?
周期的な例:
P1
P2
P3
定常分布に収束しない!
現実のインターネットは既約でなく,
周期的(な部分ネットワークを含む)に違いない
どう解決する?
PageRank の改良
PageRankの定義(ver 0.9)
r(P) = 「確率  でランダムにリンクをたどり,
確率 1- でランダムに任意のページに移る
という遷移を十分な回数行った後,
ページ P にいる確率」
P2

P2
P1
P3
P5
P4
+ (1-)
P1
P3
P5
P4
PageRank (ver 0.9) の解釈
P2

P2
P1
P3
P5
P4
+ (1-)
P1
P3
P5
P4
確率 ® でリンクをたどり,確率 (1 - ®) で
任意のサイトに(直接 URL を打ち込むこと
によって)移動することを十分な回数行った後,
ページ P にいる確率
行列表現
PageRankの定義(ver 0.9)
1/5 1/5 1/5 1/5 1/5
A
オリジナル
=  の遷移確率 + (1-)
行列
1/5 1/5 1/5 1/5 1/5
1/5 1/5 1/5 1/5 1/5
1/5 1/5 1/5 1/5 1/5
1/5 1/5 1/5 1/5 1/5
(r(P1), r(P2), ... )T = 行列Aの固有値 1 に対する
固有ベクトル
行列Aは,必ず既約・非周期的となる!
さまざまな問題点
スポンサーリンクや 他人のblog のコメント
欄に書いたバックリンクによって,人為的に
PageRank が上がってしまう
どう解決する?
現在の解決法:nofollow オプションの導入
例: <a href="http://www.example.com/"
rel="nofollow">discount drugs</a>
とすると,www.example.com へのリンクは
ないものとされる
さまざまな問題点
有料リンク問題
リンクを高い値段で販売する業者の出現
無料アクセスカウンタ提供による大量リンク
獲得
アクセスカウンタに,隠しリンクを記述
どう解決する?
さまざまな指標によるランクの統合
PageRank 以外に,200以上の指標が
使われているらしい
これらの指標は,それぞれページにランクを
つける
どう統合する?
ランクの統合
サイト1 サイト2 サイト3 サイト4
指標A
1
3
2
4
指標B
2
1
4
3
指標C
2
4
1
3
すべての指標が同じいくらい重要とするとき,
どのように統合するのが良いか?
cf. 選挙・・・有権者が各候補者に順位をつける場合
レポート課題(締め切り 11/28)
PageRank の改良の余地はないだろうか?
ページの重要性を表す指標について,適当と
思うものをいくつか考案せよ.
電子メールで,[email protected] まで!