Google PageRankの数理 第1章〜第5章の輪講スライドです。
Google検索システムにおけるPageRank手法(1)M2 Jun HASHIMOTO1
View Slide
参考文献について• Google PageRankの数理– 共立出版,¥4725• 今日は第1~5章の内容の説明です2
Agenda• Webの情報検索の特徴・構成• 検索ランキングの生成法– 内容得点について(ざっくり)– 人気得点について(じっくり)• PageRankの起源• PageRankベクトルの確率的調整• PageRankモデルのパラメータ3
Webの情報検索• 巨大– 2008年7月時点で1兆ページを超える• 動的– “.com”ページの23%は毎日更新• 自己組織化– データはつかの間.更新,リンクの破壊,ページの消失• ハイパーリンク付き– リンク構造から得られる情報を検索に役立てる4
Query-dependentQuery-independent検索エンジンの要素WWWCrawlerModulePageRepositoryIndexingModuleIndexUserQueryModuleRankingModuleInputQueryOutputResultStructureIndexContentIndexSpecial-purposeIndexクエリー独立:検索語と無関係クエリー従属:検索語に依存collect stockextractcompress5
インデックス(Index)• 構造インデックス(Structure Index)– ページ間のリンク情報• 内容インデックス(Content Index)– WebのKeyword,Subject,Key Sentenceを蓄積• 特殊用途インデックス(Special-purpose Index)– 画像・pdfファイル等の特別なQuery処理に利用IndexStructureIndexContentIndexSpecial-purposeIndex6
内容インデックス(Content Index)• 内容インデックス– タイトル– メタタグの記述文• Ex:– アンカーテキスト(太字,大きなフォント,リンク)• これらの内容を転置ファイル(inverted file)へ格納・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) - 1159223Page No.7
さて8
ざっくり言うと検索ランキング(Query Ranking)=内容得点(Content score)+人気得点(Popularity score)9
内容得点(Content score)• 転置ファイルを以下のような3次元ベクトルで表現・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)=348Page94=(1+0+7)*(0+0+5)=40Page673=(0+0+3)*(1+1+14)=481st3rd2nd※内容得点は検索語に依存->クエリー依存(Query dependent) 10
人気得点(Popularity score)• 大きく分けて2つのやり方がある– PageRank[Google]• ハイパーリンクはリンク先への“推薦”– HITS(Hypertext Induced Topic Search)[Ask.com etc]• 入リンク,出リンク共に考える• 今日はPageRankについて紹介11
PageRankの起源• ブリンとページにより発明• ページのPageRank:()– = ()||∈-(1)[総和方程式]• : を指すページの集合• :ページからの出リンクの個数• 問題点:()が未知– 初期値を一様(1/n)とし,反復法を利用して算出– +1= ()||∈-(2)12
反復法の例• 初期値1/6,反復法を利用• +1= ()||∈1 23456 0回目 1回目 2回目01= 1/6 11= 1/18 21= 1/3602= 1/6 12= 5/36 22= 1/1803= 1/6 13= 1/12 23= 1/3604= 1/6 14= 1/4 24= 17/7205= 1/6 15= 5/36 25= 11/7206= 1/6 16= 1/6 26= 14/7213
総和方程式の行列表現• ハイパーリンク行列H(n*n)– ノードi->jのリンクがあれば= 1||,それ以外0• PageRankベクトルπ(1*n)• (2)式の行列表現: +1 = – Hは疎な行列– 平均的なwebページは出リンクが10個• O(10n)の計算量14
初期の反復法の問題点• ランクシンク問題(閉じ込め問題)– ぶら下がりノードにPageRankが集中• 収束性の問題– 初期値に依存するのか?収束までの反復回数は?• ブリンとページは基本モデルに調整を行った15
基本モデルに対する調整①• ぶら下がり問題に対する解決策(確率的調整)– “ランダムサーファー(random surfer)”モデルの導入• ぶら下がりノードに入った後はランダムに全ページに飛ぶ• この調整により,以下の行列が得られる– = + 1∗ – S:確率行列– a:ぶら下がりノードベクトル• ぶら下がりノードなら= 1,そうでなければ0• この調整により,Sは確率的(stochastic)となる– マルコフ連鎖の推移確率行列16
基本モデルに対する調整②• 収束性の保証のための調整(原始的調整)– ランダムサーファーの議論の拡張– 全く新しいアドレスへの“テレポート”の可能性• この調整により,以下の行列が得られる– = + 1 − ∗ 1∗ – G:Google行列– α:パラメータ(ハイパーリンクに従う時間の比率)テレポーテーション行列E17
原始的調整による効果• Google行列Gには,以下の性質がある– 確率的(stochastic):確率的行列SとEの合成• 各行の全成分を足し込むと1になる– 既約(irreducible):全ての成分が非零• 任意の状態から,任意の状態へと遷移可能– 非周期的(aperiodic):全ての対角成分が正– 原始的(primitive):Gの全ての成分が正• 原始性に対する必要十分条件: > を満たすm>0が存在(m=1で成立している)18→Gはマルコフ連鎖の推移確率行列
正行列に対するペロンの定理• 正行列A,Aの固有値で絶対値が最大のものをrとすると,以下が成り立つ1. rは正2. rは単根3. = , > 0かつ || = 1となるベクトルが唯一存在19
Google行列Gに対するペロンの定理• 確率行列においてr=1(次回説明)– = に左から, 右からを乗算: = • Google行列を用いたPageRankの更新式– +1 = • :定常ベクトル=PageRankベクトル20
GoogleのPageRank調整手法• +1 = ,これだけ• Gに適用したベキ乗法で計算できる– 最大の2つの固有値を1, 2とすると,漸近的な収束の速さは, 21->0の速さ– Google行列では1= 1, 2≦ である(次回説明)ため,がおおよその収束の目安となる21
PageRankモデルのパラメータ”α”• ブリンとページによる初期の論文:α=0.85– 結論から言うと,エンジニアリングセンス• α小:計算時間減尐,しかしランダム要素増大• α大:ランダム要素減尐,しかし計算時間増大• 数学的考察は次回以降紹介α 収束までの繰り返し数0.5 340.85 1420.99 229222
PageRankモデルのパラメータ”E”• E=1∗ をへ(パーソナル化)– :テレポーテーションベクトル• で与えられる個人的な嗜好に基づき,次のページへテレポートする• 現実的な問題として,全てのユーザに対してを計算することは不可能– 1つのベクトルに対してでさえ,数日以上かかる23