the web as a graph
DESCRIPTION
The Web as a graph. 末次 寛之 清水 伸明. 目標. www のリンク構造をグラフ化し, HIT , Hab & Authority , PageRank 等の アルゴリズムを利用して,解析する. Hubs & Authorities. HubsAuthorities. Hubs & authorities. HubsAuthorities. The HITS algorithm. 1 a sampling step 探したいクエリに対して関係すると思われる web ページを約200探す - PowerPoint PPT PresentationTRANSCRIPT
The Web as a graph
末次 寛之清水 伸明
目標
www のリンク構造をグラフ化し,HIT , Hab & Authority , PageRank 等のアルゴリズムを利用して,解析する
Hubs & Authorities
Hubs Authorities
Hubs & authorities
Hubs Authorities
The HITS algorithm
1 a sampling step探したいクエリに対して関係すると思われる web ページを約200探すその200のページからリンクを何度かたどり1000~3000のページを集める
The HITS algorithm
2 a weight-propagation stepsampling step で集めたサイトを隣接行列にし hub や Authority に weight をつけていくhub や Authority を見つける
Hubs & Authorities
高い 高い
低い 低い
Hubs weight
Authoritiesweight
Updated of hubs and authority
Non-negative authority weight : Xp
Non-negative hub weight :Yp
(each page p V)∈
Xp = Σ Yq ← authority weight increased
Yp = Σ Xq ← hub weight increased
q→p
q→p
Update hubs and authority
A : adjacency matrix ( 隣接行列 )
x = (x1,x2,…,xN)
y = (y1,y2,…,yN)
x = A y ← update rule
y = Ax ← update rule
x ← A y← A Ax = (A A)x
y ← Ax← AA y = (AA )y
T
TT
T
T
T
Hubs & Authorities
1 0 1 1 0
2 0 0 1 1 3 0 0 0 1 4 0 0 0 0 adjacency matrix
(隣接行列)
1
4
3
2
=A
Hubs & Authorities
1 2 0 1 1 0 12 2 0 0 1 1 13 1 0 0 0 1 14 0 0 0 0 0 1 Hub authority
Weight weight
1
4
3
2
=
Hubs & Authorities
1 0 0 0 0 0 22 2 1 0 0 0 23 4 1 1 0 0 14 3 0 1 1 0 0 authority Hub
weight weight
1 0 0 0 0 2 1 0 0 0 3 1 1 0 0 4 0 1 1 0
1
4
3
2
=
=AT
Authorities weight
0 0 0 0 0 1 1 0 0 1 2 1 0 0 1 2 0 0 0 0
1 61 19 6 2
1 136 42 13 4
1 108 33 10 3
1
1
4
3
2
=AAT
← ← ← ← ←…
Authority Weight の正規化Authority Weight が無意味に増大しないよう
に毎回の正規化( Hub Weight についても同様)
Authority weight aInitialize a = (1,…1)For I = 0,1,2,… a i+1 = A A a i
Normalize a s.t. || a i+1||=1
T
→
→→
→ T
→→
検索エンジンの種類 ロボット型
ロボットが WEB 上を自動的に巡回して web ページを収集し、データベースを作成する
ディレクトリ型エディタ、サーファーなどと呼ばれる人間の閲覧者が web サイトを審査し、ユーザーにとって有益であると認めたサイトをデータベースに登録する
複合型ロボット型とディレクトリ型を複合して検索を行うほとんどの検索エンジンポータルで、使われている
ロボット型検索エンジンの運営プロセス1. クローラー(スパイダー)と呼ばれるプログラム
が WWW 上のドキュメントを自動的に巡回する2. クローラーで集めた情報をインデクサと呼ばれる
プログラムでデータベース(インデックス)を作成する
3. 与えられてた検索キー(クエリ)に対して、検索アルゴリズムに従ってデータベースの中を検索し、与えられた検索キーに対する適合度の高い順にURL をリストする
R : ロボットの検索結果D : ディレクトリーの検索結果 PPC : ペイパークリック 破線 : 結果の一部を提供
検索結果で優先して表示されるもの : 赤字 自身が情報源を持っているもの : 背景に着色E-japan( 株 ) 調べ
-PageRank-
100
12 50
54
50
50
4
4
4
ページAからページBへのリンクをページAからページBへの支持投票とみなしその票数からそのページの重要度( PageRank )を算出する
-PageRank-
web page をノード, hyper-link を有向辺としwww 全体を有向グラフとみなす
Rank(v):vの PageRankRank( u ):ページ v へのリンクをもつの u の
PageRankNu : ページ u からの外向きのリンク数Bv : v を指しているページの集合i : 更新の回数
v
u3
u1
u2
-PageRank-
web page をノード, hyper-link を有向辺として
www 全体を有向グラフとみなす
初期値を1
A0 1
B0 1
C0 1
=
A
C
B
-PageRank-
1.リンク先に重要度を均等に分配2.分配された和を重要度として更新
Ai+1 1/2 0 1/2 Ai
Bi+1 0 0 1/2 Bi
Ci+1 1/2 1 0 Ci
1. A は重要度を A と B に均等に分配2. Ai+1 = 1/2 Ai+1 + 1/2 Ci+1
=
A
B
C
-PageRank-
A=1
B=1
C=1
i = 0
初期値 = 1均等に分配
-PageRank-
A=1
B=1/2
C=3/2
i = 1
1/2
1/2
1/2
1/2
1
分配された和を均等に配分
-PageRank-
A=5/4
B=3/4
C=1
i = 2
1/2
1/2
3/4
3/4
1/2
分配された和を均等に配分
-PageRank-
A=8/9
B=1/2
C=11/8
i = 3
5/8
5/8
1/2
1/2
3/4
分配された和を均等に配分
-PageRank-
A=5/4
B=11/16
C=17/16
i = 4
9/16
9/16
11/16
11/16
1/2
分配された和を均等に配分
-PageRank-
A0 1
B0 1
C0 1
Ai+1 1/2 0 1/2 Ai
Bi+1 0 0 1/2 Bi
Ci+1 1/2 1 0 Ci
Ai 6/5 5/4 9/8 5/4 1 1
Bi 3/5 11/16 1/2 3/4 1/2 1
Ci 6/5 17/16 11/8 1 3/2 1
A
B
C=
=
…=limi→∞
-PageRank-
Ai+1 1/2 0 1/2 Ai
Bi+1 0 0 1/2 Bi
Ci+1 1/2 0 0 Ci
Ai 0 1/2 5/8 3/4 1 1
Bi 3 35/16 2 7/4 3/2 1
Ci 0 5/16 3/8 1/2 1/2 1
A
B
C=
…=limi→∞
Spider Trap
1
-PageRank-
Ai+1 1/2 0 1/2 Ai
Bi+1 0 0 1/2 Bi
Ci+1 1/2 0 0 Ci
Ai 0 1/2 5/8 3/4 1 1
Bi 0 3/16 1/4 1/4 1/2 1
Ci 0 5/16 3/8 1/2 1/2 1
A
B
C=
…=limi→∞
Dead End
0
-PageRank-Ai+1 1/2 0 1/2 Ai 1
Bi+1 ( 1-tax ) 0 1 1/2 Bi +tax 1
Ci+1 1/2 0 0 Ci 1
sample tax = 0.2
Ai 7/11 1
Bi 21/11 1
Ci 5/11 1
=
…=limi→∞
Spider Trap の回避重要度の 1 部を税金として徴収
Dead End 効果の回避税金の再配分
-PageRank-
Rank(v):vの PageRankRank( u ):ページ v へのリンクをもつの u
の PageRankNu : ページ u からの外向きのリンク数Bv : v を指しているページの集合N : ノードの総数c : dampening factor ( 通常 0.1 ~ 0.2 に設定 )i : 更新の回数