google pagerank 0622

23
Google検索システムにおける PageRank手法(1) M2 Jun HASHIMOTO 1

Upload: manji-602

Post on 06-Dec-2014

2.051 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Google PageRank 0622

Google検索システムにおける PageRank手法(1)

M2 Jun HASHIMOTO

1

Page 2: Google PageRank 0622

参考文献について

• Google PageRankの数理

–共立出版,¥4725

• 今日は第1~5章の内容の説明です

2

Page 3: Google PageRank 0622

Agenda

• Webの情報検索の特徴・構成

• 検索ランキングの生成法

–内容得点について(ざっくり)

–人気得点について(じっくり)

• PageRankの起源

• PageRankベクトルの確率的調整

• PageRankモデルのパラメータ

3

Page 4: Google PageRank 0622

Webの情報検索

• 巨大 – 2008年7月時点で1兆ページを超える

• 動的 – “.com”ページの23%は毎日更新

• 自己組織化

–データはつかの間.更新,リンクの破壊,ページの消失

• ハイパーリンク付き – リンク構造から得られる情報を検索に役立てる

4

Page 5: Google PageRank 0622

Query-dependent Query-independent

検索エンジンの要素

WWW Crawler Module

Page Repository

Indexing Module

Index

User

Query Module

Ranking Module

Input Query

Output Result

Structure Index

Content Index

Special-purpose Index

クエリー独立:検索語と無関係 クエリー従属:検索語に依存

collect stock

extract

compress

5

Page 6: Google PageRank 0622

インデックス(Index)

• 構造インデックス(Structure Index) –ページ間のリンク情報

• 内容インデックス(Content Index) – WebのKeyword,Subject,Key Sentenceを蓄積

• 特殊用途インデックス(Special-purpose Index) –画像・pdfファイル等の特別なQuery処理に利用

Index

Structure Index

Content Index

Special-purpose Index

6

Page 7: Google PageRank 0622

内容インデックス(Content Index) • 内容インデックス

– タイトル

– メタタグの記述文

• Ex:<meta name=“description” content=“hogehuga”/>

–アンカーテキスト(太字,大きなフォント,リンク)

• これらの内容を転置ファイル(inverted file)へ格納

<Example> ・Word1(aardvark) - 3,117,3961 … ・Word10(aztec) - 3,15,19,101,673,1199 ・Word11(baby) - 3,31,56,94,673,909,11114,253791 … ・Word m(zymurgy) - 1159223

Page No.

7

Page 8: Google PageRank 0622

さて

8

Page 9: Google PageRank 0622

ざっくり言うと

検索ランキング(Query Ranking)=

内容得点(Content score)

人気得点(Popularity score)

9

Page 10: Google PageRank 0622

内容得点(Content score) • 転置ファイルを以下のような3次元ベクトルで表現 <Simple Example> ・Word10(aztec) - 3[1,1,27],94[1,0,7],673[0,0,3] ・Word11(baby) - 3[1,1,10],94[0,0,5],673[1,1,14]

タイトルタグに現れた(1 or 0)

metaタグに現れた(1 or 0)

本文中に現れた回数

aztec baby

[Content score] Page3=(1+1+27)*(1+1+10)=348 Page94=(1+0+7)*(0+0+5)=40 Page673=(0+0+3)*(1+1+14)=48

1st 3rd 2nd

※内容得点は検索語に依存->クエリー依存(Query dependent) 10

Page 11: Google PageRank 0622

人気得点(Popularity score)

• 大きく分けて2つのやり方がある

– PageRank[Google]

• ハイパーリンクはリンク先への“推薦”

– HITS(Hypertext Induced Topic Search)[Ask.com etc]

• 入リンク,出リンク共に考える

• 今日はPageRankについて紹介

11

Page 12: Google PageRank 0622

PageRankの起源

• ブリンとページにより発明

• ページ𝑃𝑖のPageRank:𝑟(𝑃𝑖)

– 𝑟 𝑃𝑖 = 𝑟(𝑃𝑗)

|𝑃𝑗|𝑃𝑗∈𝐵𝑃𝑖

-(1)[総和方程式]

• 𝐵𝑃𝑖: 𝑃𝑖を指すページの集合

• 𝑃𝑗 :ページ𝑃𝑗からの出リンクの個数

• 問題点:𝑟(𝑃𝑖)が未知 –初期値を一様(1/n)とし,反復法を利用して算出

– 𝑟𝑘+1 𝑃𝑖 = 𝑟𝑘(𝑃𝑗)

|𝑃𝑗|𝑃𝑗∈𝐵𝑃𝑖

-(2)

12

Page 13: Google PageRank 0622

反復法の例

• 初期値1/6,反復法を利用

• 𝑟𝑘+1 𝑃𝑖 = 𝑟𝑘(𝑃𝑗)

|𝑃𝑗|𝑃𝑗∈𝐵𝑃𝑖

1 2

3

4

5 6 0回目 1回目 2回目

𝑟0 𝑃1 = 1/6 𝑟1 𝑃1 = 1/18 𝑟2 𝑃1 = 1/36

𝑟0 𝑃2 = 1/6 𝑟1 𝑃2 = 5/36 𝑟2 𝑃2 = 1/18

𝑟0 𝑃3 = 1/6 𝑟1 𝑃3 = 1/12 𝑟2 𝑃3 = 1/36

𝑟0 𝑃4 = 1/6 𝑟1 𝑃4 = 1/4 𝑟2 𝑃4 = 17/72

𝑟0 𝑃5 = 1/6 𝑟1 𝑃5 = 5/36 𝑟2 𝑃5 = 11/72

𝑟0 𝑃6 = 1/6 𝑟1 𝑃6 = 1/6 𝑟2 𝑃6 = 14/72

13

Page 14: Google PageRank 0622

総和方程式の行列表現

• ハイパーリンク行列H(n*n)

– ノードi->jのリンクがあれば𝐻𝑖𝑗 =1

|𝑃𝑖|,それ以外0

• PageRankベクトルπ(1*n)

• (2)式の行列表現:𝜋 𝑘+1 𝑇 = 𝜋 𝑘 𝑇𝐻

– Hは疎な行列

–平均的なwebページは出リンクが10個

• O(10n)の計算量

14

Page 15: Google PageRank 0622

初期の反復法の問題点

• ランクシンク問題(閉じ込め問題)

–ぶら下がりノードにPageRankが集中

• 収束性の問題

–初期値に依存するのか?収束までの反復回数は?

• ブリンとページは基本モデルに調整を行った

15

Page 16: Google PageRank 0622

基本モデルに対する調整①

• ぶら下がり問題に対する解決策(確率的調整)

– “ランダムサーファー(random surfer)”モデルの導入

• ぶら下がりノードに入った後はランダムに全ページに飛ぶ

• この調整により,以下の行列が得られる

– 𝑆 = 𝐻 + 𝑎1

𝑛∗ 𝑒𝑇

– S:確率行列

– a:ぶら下がりノードベクトル

• ぶら下がりノードなら𝑎𝑖 = 1,そうでなければ0

• この調整により,Sは確率的(stochastic)となる

– マルコフ連鎖の推移確率行列 16

Page 17: Google PageRank 0622

基本モデルに対する調整②

• 収束性の保証のための調整(原始的調整)

– ランダムサーファーの議論の拡張

–全く新しいアドレスへの“テレポート”の可能性

• この調整により,以下の行列が得られる

– 𝐺 = 𝛼𝑆 + 1 − 𝛼 ∗1

𝑛∗ 𝑒𝑒𝑇

– G:Google行列

– α:パラメータ(ハイパーリンクに従う時間の比率) テレポーテーション行列E

17

Page 18: Google PageRank 0622

原始的調整による効果

• Google行列Gには,以下の性質がある

–確率的(stochastic):確率的行列SとEの合成

• 各行の全成分を足し込むと1になる

–既約(irreducible):全ての𝐺𝑖𝑗成分が非零

• 任意の状態から,任意の状態へと遷移可能

–非周期的(aperiodic):全ての対角成分が正

–原始的(primitive):Gの全ての成分が正

• 原始性に対する必要十分条件:𝐴𝑚 > 𝑂を満たすm>0が存在(m=1で成立している)

18

→Gはマルコフ連鎖の推移確率行列

Page 19: Google PageRank 0622

正行列に対するペロンの定理

• 正行列A,Aの固有値で絶対値が最大のものをrとすると,以下が成り立つ

1. rは正

2. rは単根

3. 𝐴𝑝 = 𝑟𝑝, 𝑝 > 0かつ |𝑝𝑖| = 1𝑖 となるベクトル𝑝が唯一存在

19

Page 20: Google PageRank 0622

Google行列Gに対するペロンの定理

• 確率行列においてr=1(次回説明)

– 𝐴𝑝 = 𝑟𝑝に左から𝑝𝑇 ,右から𝑝𝑇を乗算:𝑝𝑇𝐴 = 𝑝𝑇

• Google行列を用いたPageRankの更新式

– 𝜋 𝑘+1 𝑇 = 𝜋 𝑘 𝑇𝐺

• 𝑝𝑇:定常ベクトル=PageRankベクトル

20

Page 21: Google PageRank 0622

GoogleのPageRank調整手法

• 𝜋 𝑘+1 𝑇 = 𝜋 𝑘 𝑇𝐺,これだけ

• Gに適用したベキ乗法で計算できる

–最大の2つの固有値を𝜆1, 𝜆2とすると,漸近的な

収束の速さは,𝜆2

𝜆1

𝑘->0の速さ

– Google行列では𝜆1 = 1, 𝜆2 ≦ 𝛼である(次回説明)ため,𝛼𝑘がおおよその収束の目安となる

21

Page 22: Google PageRank 0622

PageRankモデルのパラメータ”α”

• ブリンとページによる初期の論文:α=0.85

–結論から言うと,エンジニアリングセンス

• α小:計算時間減尐,しかしランダム要素増大

• α大:ランダム要素減尐,しかし計算時間増大

• 数学的考察は次回以降紹介

α 収束までの繰り返し数

0.5 34

0.85 142

0.99 2292

22

Page 23: Google PageRank 0622

PageRankモデルのパラメータ”E”

• E=1

𝑛∗ 𝑒𝑒𝑇を𝑒𝑣𝑇へ(パーソナル化)

– 𝑣𝑇:テレポーテーションベクトル

• 𝑣𝑇で与えられる個人的な嗜好に基づき,次のページへテレポートする

• 現実的な問題として,全てのユーザに対して𝑣𝑇を計算することは不可能

– 1つの𝑣𝑇ベクトルに対してでさえ,数日以上かかる

23