pagerank algorithm and hits alogrithm

25
PageRank Algorithm and HITS Alogrithm

Upload: louisa

Post on 05-Feb-2016

66 views

Category:

Documents


0 download

DESCRIPTION

PageRank Algorithm and HITS Alogrithm. Web ページのランキング. Web ページ検索の特異性 文書 DB からの検索の場合、使える情報は文書中のテキスト、単語 tf×idf によるベクトル空間の類似度ではない重み付けはできないか? Web ページの検索の場合、テキスト、単語に加え、リンク情報が使える リンクは(テキストや単語と異なり)、 Web (=データベース)の大域的構造 リンクを利用する検索結果のランキングについて説明する。代表的な PageRank について説明する。. PageRank algorithm のアイデア. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PageRank Algorithm and HITS Alogrithm

PageRank Algorithm andHITS Alogrithm

Page 2: PageRank Algorithm and HITS Alogrithm

Web ページのランキング

Web ページ検索の特異性文書 DB からの検索の場合、使える情報は文書中

のテキスト、単語tf×idf によるベクトル空間の類似度ではない重み

付けはできないか?Web ページの検索の場合、テキスト、単語に加え、

リンク情報が使えるリンクは(テキストや単語と異なり)、 Web

(=データベース)の大域的構造リンクを利用する検索結果のランキングについて

説明する。代表的な PageRank について説明する。

Page 3: PageRank Algorithm and HITS Alogrithm

PageRank algorithm のアイデア

多くの良質なページからリンクされているページは、 やはり良質なページである

利用者がページをリンクをたどってサーフする状況を模擬する。 ( 良いページには沢山の利用者がいると考えればよい)ページの重みが決められているリンク元ページからの流入する重み総和がその

ページの重みリンク先へ流入する重みは、そのページの重みを

リンク先の本数で割ったもの

Page 4: PageRank Algorithm and HITS Alogrithm

ページ重みの概念図

30

10

10

10

10 5

5

10+5=15

10

Page 5: PageRank Algorithm and HITS Alogrithm

ところが問題はあるページ Pi の重みは Pi へのリンク元

のページの重みが確定しないと計算できない。

めぐりめぐって、 Pi の重みが確定しないと Pi へのリンク元のページの重みが確定しないと計算できない。

各ページの重みを要素とし、全ページ数

の次元を持つベクトル R を考え、このベクトルを数学的に求めることにする

Page 6: PageRank Algorithm and HITS Alogrithm

ページ重みの計算法

接続行列 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

Page 7: PageRank Algorithm and HITS Alogrithm

しかし、その12 つのページの間だけでループしている状態に

他からのリンクがあり、そこに重みがどんどん吸収されてしまう場合

ページがいくつかのグループにまとまり、グループ間にはリンクがない

このような場合には、全ページにわたっての重みが均等に行き渡らない。

ある割合 (15%) で、ランダムにページを探したと仮定

A に全要素が一定値の行列を加算して計算R =( cA+(1-c)E)R

E は全要素が1の行列、 c=0.85 としている

Page 8: PageRank Algorithm and HITS Alogrithm

しかし、その2

流出すれだけで、流入する全くリンクのないページとは

勝手に他人にリンクを張っているだけの権威のないページ  無視する

機械的に張ったリンクの問題PageRank のアイデアの基本は、人間が We

b ページを評価しリンクを張った状況、すなわち人間の判断を利用しようとしているので、機械が張ったリンクは悪影響を与える

Page 9: PageRank Algorithm and HITS Alogrithm

ページベクトルの計算 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 乗の和の√

Page 10: PageRank Algorithm and HITS Alogrithm

計算例 簡単な例で繰り返し計算すると (ε=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

Page 11: PageRank Algorithm and HITS Alogrithm

考察I. a,b,c,d ページともほぼ流れ込むリンクの重み

に近いII. リンク重みとページ重みのズレは、 0.15 の確

率でランダムにページを移動する分III. 良いページ c からリンクされている a は重み

が大きいIV. 多くのページからリンクされている c も重み

が大きいV. あまりたいしたことのないページ b だけから

リンクされている d は重みが小さいVI. 以上、ほぼ我々の意図したページの重みに

なっている。

Page 12: PageRank Algorithm and HITS Alogrithm

数値計算の問題これまで述べてきたページ重みの繰り返し計

算はうまく収束するのか、十分早いのか?Google の 10 億ページでは 100 億のリンクが

あるので、まっとうに線形代数の計算をしていたのでは無理。数値計算法ではかなり工夫をしているはず。企業

秘密らしく公開されていないGoogle のマシンルームの様子からみると、

PC クラスタによる並列計算疎な行列を適当に分解すればまとまったページ群

を独立に計算できるかも

Page 13: PageRank Algorithm and HITS Alogrithm

収束の問題 ( 以下の論文の数値例グラフ )

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

リンク数

Page 14: PageRank Algorithm and HITS Alogrithm

HITS   algorithm のアイデア探し当てたい Web ページは必ずしも検索の

キーワードを含まないTOYOTA や HONDA のページに自動車製造業なん

てキーワードは見当たらない一方、 yahoo などの権威あるページはこういう

キーワードをむキーワードではなく Web のリンク構造を利用 (Pag

eRank と同じ意図 )HITS は、ある話題に対する authorities と多数

の authorities にリンクを張る  hub との関係を使う方法

Page 15: PageRank Algorithm and HITS Alogrithm

Focused Subgraph  - 1

ある話題に関するページ集合 :S が対象S の持つべき性質は

比較的小さい関連あるページを十分に含むほとんど全ての(あるいは多数の) author

ity page  を含むトピック :Q を表わすキーワードで検索エンジンから拾ってきたページ集合では、上記の条件は満たさない。

Page 16: PageRank Algorithm and HITS Alogrithm

Focused Subgraph  - 2

例えば、検索結果の上位 20 ページを集めると

java というキーワードで検索すると、別のサイトのページ間には 15links

censorship というキーワードで検索すると、別のサイトのページ間には 28links

最大 link 数= 200×199=39800 には遠く及ばない

そこで、

Page 17: PageRank Algorithm and HITS Alogrithm

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 ページ

Page 18: PageRank Algorithm and HITS Alogrithm

Focused Subgraph  - 4

R

S

Page 19: PageRank Algorithm and HITS Alogrithm

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名の中でのリンクの張り合い無視(目次や自己参照などだから)

Page 20: PageRank Algorithm and HITS Alogrithm

weights

Authority weight of page: Hub weight of page:Link set:Normalization

pyp

pxp

}::|),{( qpageppageqpE topoints

11 22

Spp

Spp yx )(,)(

Page 21: PageRank Algorithm and HITS Alogrithm

iteration nn R),.....,,(,R),.....,,( 111111 00 yx① :

② : 以下③から⑥を k回繰り返す (k = 20 くらいで十分)

③ :

④ :

⑤ :

⑥ :

⑦ :結果は

q

Epqqp

qEpqq

p

xySpeveryfor

yxSpeveryfor

),(:

),(:

}{}{

}{}{

pp

pp

ynormalizedy

xnormalizedx

p

p

yvaluehub

xvalueauthority

Page 22: PageRank Algorithm and HITS Alogrithm

計算例

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

Page 23: PageRank Algorithm and HITS Alogrithm

数学的再考-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

Page 24: PageRank Algorithm and HITS Alogrithm

数学的再考- 2

したがって

ゆえに

1

11 zzAAyzAAAx kt

ktkt

k ,)(,)(

る固有ベクトルの最大固有値に対応す

る固有ベクトルの最大固有値に対応す

、線形代数の結果によりのの対称行列だから、は

Loan Van and Golub

t

t

t

AAy

AAx

nnAA

Page 25: PageRank Algorithm and HITS Alogrithm

実例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