pagerank algorithm and hits alogrithm
DESCRIPTION
PageRank Algorithm and HITS Alogrithm. Web ページのランキング. Web ページ検索の特異性 文書 DB からの検索の場合、使える情報は文書中のテキスト、単語 tf×idf によるベクトル空間の類似度ではない重み付けはできないか? Web ページの検索の場合、テキスト、単語に加え、リンク情報が使える リンクは(テキストや単語と異なり)、 Web (=データベース)の大域的構造 リンクを利用する検索結果のランキングについて説明する。代表的な PageRank について説明する。. PageRank algorithm のアイデア. - PowerPoint PPT PresentationTRANSCRIPT
PageRank Algorithm andHITS Alogrithm
Web ページのランキング
Web ページ検索の特異性文書 DB からの検索の場合、使える情報は文書中
のテキスト、単語tf×idf によるベクトル空間の類似度ではない重み
付けはできないか?Web ページの検索の場合、テキスト、単語に加え、
リンク情報が使えるリンクは(テキストや単語と異なり)、 Web
(=データベース)の大域的構造リンクを利用する検索結果のランキングについて
説明する。代表的な PageRank について説明する。
PageRank algorithm のアイデア
多くの良質なページからリンクされているページは、 やはり良質なページである
利用者がページをリンクをたどってサーフする状況を模擬する。 ( 良いページには沢山の利用者がいると考えればよい)ページの重みが決められているリンク元ページからの流入する重み総和がその
ページの重みリンク先へ流入する重みは、そのページの重みを
リンク先の本数で割ったもの
ページ重みの概念図
30
10
10
10
10 5
5
10+5=15
10
ところが問題はあるページ Pi の重みは Pi へのリンク元
のページの重みが確定しないと計算できない。
めぐりめぐって、 Pi の重みが確定しないと Pi へのリンク元のページの重みが確定しないと計算できない。
各ページの重みを要素とし、全ページ数
の次元を持つベクトル R を考え、このベクトルを数学的に求めることにする
ページ重みの計算法
接続行列 A=(aij) で表現if ページ i からページ j にリンク then aij=
1/Ni
(Ni は i からでるリンク数) otherwise aij=0
ページのベクトル R は以下の式を満足する
R=cAR つまり
nnnn
n
n r
r
aa
aa
c
r
r
1
1
1111
しかし、その12 つのページの間だけでループしている状態に
他からのリンクがあり、そこに重みがどんどん吸収されてしまう場合
ページがいくつかのグループにまとまり、グループ間にはリンクがない
このような場合には、全ページにわたっての重みが均等に行き渡らない。
ある割合 (15%) で、ランダムにページを探したと仮定
A に全要素が一定値の行列を加算して計算R =( cA+(1-c)E)R
E は全要素が1の行列、 c=0.85 としている
しかし、その2
流出すれだけで、流入する全くリンクのないページとは
勝手に他人にリンクを張っているだけの権威のないページ 無視する
機械的に張ったリンクの問題PageRank のアイデアの基本は、人間が We
b ページを評価しリンクを張った状況、すなわち人間の判断を利用しようとしているので、機械が張ったリンクは悪影響を与える
ページベクトルの計算 R =( cA+(1-c)E)R
E は全要素が1の行列、 c=0.85 としてみた これはベクトルの固有値問題で R は固有
ベクトル。これを以下の繰り返し計算で解く。
1. R(0) 適当な初期値2. R(i+1) ( cA+(1-c)E) R(i)3. D||R(i)|| ー ||R(i+1)||4. R(i+1)R(i+1)+dE5. δ ||R(i+1) ー R(i)||6. if δ>ε then goto 2 なお ||x|| はベクトルの全要素 2 乗の和の√
計算例 簡単な例で繰り返し計算すると (ε=0.001) R は と確率になるように正規
化
EAEccA
d
c
b
adcba
A 8501501
00210
002121
00021
0100
..)(
/
//
/
1 / 20.18
1 / 20.18
1/2
0.102
10.321
a: 0.365 b:0.204
c:0.321
14
1
iir
1/20.102
d:0.110
考察I. a,b,c,d ページともほぼ流れ込むリンクの重み
に近いII. リンク重みとページ重みのズレは、 0.15 の確
率でランダムにページを移動する分III. 良いページ c からリンクされている a は重み
が大きいIV. 多くのページからリンクされている c も重み
が大きいV. あまりたいしたことのないページ b だけから
リンクされている d は重みが小さいVI. 以上、ほぼ我々の意図したページの重みに
なっている。
数値計算の問題これまで述べてきたページ重みの繰り返し計
算はうまく収束するのか、十分早いのか?Google の 10 億ページでは 100 億のリンクが
あるので、まっとうに線形代数の計算をしていたのでは無理。数値計算法ではかなり工夫をしているはず。企業
秘密らしく公開されていないGoogle のマシンルームの様子からみると、
PC クラスタによる並列計算疎な行列を適当に分解すればまとまったページ群
を独立に計算できるかも
収束の問題 ( 以下の論文の数値例グラフ )
Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd, 'The PageRank Citation Ranking: Bringing Order to the Web', 1998
• 1回前との誤差• 107
• 106
• 105
• 0 15 30 45 繰り返し回数
322,000,0000
161,000,000
リンク数
HITS algorithm のアイデア探し当てたい Web ページは必ずしも検索の
キーワードを含まないTOYOTA や HONDA のページに自動車製造業なん
てキーワードは見当たらない一方、 yahoo などの権威あるページはこういう
キーワードをむキーワードではなく Web のリンク構造を利用 (Pag
eRank と同じ意図 )HITS は、ある話題に対する authorities と多数
の authorities にリンクを張る hub との関係を使う方法
Focused Subgraph - 1
ある話題に関するページ集合 :S が対象S の持つべき性質は
比較的小さい関連あるページを十分に含むほとんど全ての(あるいは多数の) author
ity page を含むトピック :Q を表わすキーワードで検索エンジンから拾ってきたページ集合では、上記の条件は満たさない。
Focused Subgraph - 2
例えば、検索結果の上位 20 ページを集めると
java というキーワードで検索すると、別のサイトのページ間には 15links
censorship というキーワードで検索すると、別のサイトのページ間には 28links
最大 link 数= 200×199=39800 には遠く及ばない
そこで、
Focused Subgraph - 3
比較的少数のタネ集合 :R からはじめる。 R は質問 :Q の検索結果の上位 t ページ
① S=R② R に属するページからリンクしている
(out going link) ページを S に追加③ R に属するページにリンクされている
(in coming link) ページのうち d ページをランダムに選んで S に追加
Kleinberg の論文では t=200, d=50 で S は 1000 ~5000 ページ
Focused Subgraph - 4
R
S
Hub と Authority の計算S 中には、トピック :Q に関係がないのに多く
のリンクが入ってくるページがあり、重要なページでないのに、やたらと他のペー
ジにリンクを張りまくっているページがある真の authorioty と hub は相互に強化する
Good hub pages points to many good authority pages, good authority pages are pointed to by many hubs.
同じ domain名の中でのリンクの張り合い無視(目次や自己参照などだから)
weights
Authority weight of page: Hub weight of page:Link set:Normalization
pyp
pxp
}::|),{( qpageppageqpE topoints
11 22
Spp
Spp yx )(,)(
iteration nn R),.....,,(,R),.....,,( 111111 00 yx① :
② : 以下③から⑥を k回繰り返す (k = 20 くらいで十分)
③ :
④ :
⑤ :
⑥ :
⑦ :結果は
q
Epqqp
qEpqq
p
xySpeveryfor
yxSpeveryfor
),(:
),(:
}{}{
}{}{
pp
pp
ynormalizedy
xnormalizedx
p
p
yvaluehub
xvalueauthority
計算例
Authority: a=3.46×10-6, b=0.408
c=0.816 , d=0.408Hub: a=0.707, b=0.707,
c=5.98× 10-6, d=0
a b
c d
0010
0011
0001
0100
d
c
b
adcba
A
数学的再考-1
結局はページ間の接続行列に関連する固有値問題接続行列
繰り返し計算は
otherwise 0
j page topoints i page if 1
1
111
ij
nnn
n
a
aa
aa
A
111
11
and
iiit
ini
i
ini
i
i AxyyAx
y
y
y
x
x
x
数学的再考- 2
したがって
ゆえに
1
11 zzAAyzAAAx kt
ktkt
k ,)(,)(
る固有ベクトルの最大固有値に対応す
る固有ベクトルの最大固有値に対応す
、線形代数の結果によりのの対称行列だから、は
Loan Van and Golub
t
t
t
AAy
AAx
nnAA
実例Jon M. Klienberg の Authorities Sources in a Hyperlinked Environment, JACM 46-5 によ
る• (java) Authorities• 0.328: http://www.gamelan.com• 0.251: http://java.sun.com/• 0.190: http://www.digitalfocus.com/digitalfocus/ f
aq/howdoi.html• 0.190: http://lightyear.ncsa.unic.edu/~srp /java/jav
abooks.html