Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Google PageRank勉強会#1 / Google PageRank 2011-06-22

Google PageRank勉強会#1 / Google PageRank 2011-06-22

Google PageRankの数理 第1章〜第5章の輪講スライドです。

Jun Hashimoto

June 22, 2011
Tweet

More Decks by Jun Hashimoto

Other Decks in Technology

Transcript

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

    View Slide

  2. 参考文献について
    • Google PageRankの数理
    – 共立出版,¥4725
    • 今日は第1~5章の内容の
    説明です
    2

    View Slide

  3. Agenda
    • Webの情報検索の特徴・構成
    • 検索ランキングの生成法
    – 内容得点について(ざっくり)
    – 人気得点について(じっくり)
    • PageRankの起源
    • PageRankベクトルの確率的調整
    • PageRankモデルのパラメータ
    3

    View Slide

  4. Webの情報検索
    • 巨大
    – 2008年7月時点で1兆ページを超える
    • 動的
    – “.com”ページの23%は毎日更新
    • 自己組織化
    – データはつかの間.更新,リンクの破壊,ページ
    の消失
    • ハイパーリンク付き
    – リンク構造から得られる情報を検索に役立てる
    4

    View Slide

  5. 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

    View Slide

  6. インデックス(Index)
    • 構造インデックス(Structure Index)
    – ページ間のリンク情報
    • 内容インデックス(Content Index)
    – WebのKeyword,Subject,Key Sentenceを蓄積
    • 特殊用途インデックス(Special-purpose Index)
    – 画像・pdfファイル等の特別なQuery処理に利用
    Index
    Structure
    Index
    Content
    Index
    Special-purpose
    Index
    6

    View Slide

  7. 内容インデックス(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) - 1159223
    Page No.
    7

    View Slide

  8. さて
    8

    View Slide

  9. ざっくり言うと
    検索ランキング(Query Ranking)=
    内容得点(Content score)

    人気得点(Popularity score)
    9

    View Slide

  10. 内容得点(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)=348
    Page94=(1+0+7)*(0+0+5)=40
    Page673=(0+0+3)*(1+1+14)=48
    1st
    3rd
    2nd
    ※内容得点は検索語に依存->クエリー依存(Query dependent) 10

    View Slide

  11. 人気得点(Popularity score)
    • 大きく分けて2つのやり方がある
    – PageRank[Google]
    • ハイパーリンクはリンク先への“推薦”
    – HITS(Hypertext Induced Topic Search)[Ask.com etc]
    • 入リンク,出リンク共に考える
    • 今日はPageRankについて紹介
    11

    View Slide

  12. PageRankの起源
    • ブリンとページにより発明
    • ページ
    のPageRank:(
    )

    = ()
    ||

    -(1)[総和方程式]

    :
    を指すページの集合

    :ページ
    からの出リンクの個数
    • 問題点:(
    )が未知
    – 初期値を一様(1/n)とし,反復法を利用して算出
    – +1

    =

    ()
    ||

    -(2)
    12

    View Slide

  13. 反復法の例
    • 初期値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

    View Slide

  14. 総和方程式の行列表現
    • ハイパーリンク行列H(n*n)
    – ノードi->jのリンクがあれば
    = 1
    ||
    ,それ以外0
    • PageRankベクトルπ(1*n)
    • (2)式の行列表現: +1 =
    – Hは疎な行列
    – 平均的なwebページは出リンクが10個
    • O(10n)の計算量
    14

    View Slide

  15. 初期の反復法の問題点
    • ランクシンク問題(閉じ込め問題)
    – ぶら下がりノードにPageRankが集中
    • 収束性の問題
    – 初期値に依存するのか?収束までの反復回数は?
    • ブリンとページは基本モデルに調整を行った
    15

    View Slide

  16. 基本モデルに対する調整①
    • ぶら下がり問題に対する解決策(確率的調整)
    – “ランダムサーファー(random surfer)”モデルの導入
    • ぶら下がりノードに入った後はランダムに全ページに飛ぶ
    • この調整により,以下の行列が得られる
    – = + 1


    – S:確率行列
    – a:ぶら下がりノードベクトル
    • ぶら下がりノードなら
    = 1,そうでなければ0
    • この調整により,Sは確率的(stochastic)となる
    – マルコフ連鎖の推移確率行列
    16

    View Slide

  17. 基本モデルに対する調整②
    • 収束性の保証のための調整(原始的調整)
    – ランダムサーファーの議論の拡張
    – 全く新しいアドレスへの“テレポート”の可能性
    • この調整により,以下の行列が得られる
    – = + 1 − ∗ 1


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

    View Slide

  18. 原始的調整による効果
    • Google行列Gには,以下の性質がある
    – 確率的(stochastic):確率的行列SとEの合成
    • 各行の全成分を足し込むと1になる
    – 既約(irreducible):全ての
    成分が非零
    • 任意の状態から,任意の状態へと遷移可能
    – 非周期的(aperiodic):全ての対角成分が正
    – 原始的(primitive):Gの全ての成分が正
    • 原始性に対する必要十分条件: > を満たすm>0
    が存在(m=1で成立している)
    18
    →Gはマルコフ連鎖の推移確率行列

    View Slide

  19. 正行列に対するペロンの定理
    • 正行列A,Aの固有値で絶対値が最大のもの
    をrとすると,以下が成り立つ
    1. rは正
    2. rは単根
    3. = , > 0かつ |
    | = 1

    となるベクトル
    が唯一存在
    19

    View Slide

  20. Google行列Gに対するペロンの定理
    • 確率行列においてr=1(次回説明)
    – = に左から, 右からを乗算: =
    • Google行列を用いたPageRankの更新式
    – +1 =
    • :定常ベクトル=PageRankベクトル
    20

    View Slide

  21. GoogleのPageRank調整手法
    • +1 = ,これだけ
    • Gに適用したベキ乗法で計算できる
    – 最大の2つの固有値を1
    , 2
    とすると,漸近的な
    収束の速さは, 2
    1
    ->0の速さ
    – Google行列では1
    = 1, 2
    ≦ である(次回説明)
    ため,がおおよその収束の目安となる
    21

    View Slide

  22. PageRankモデルのパラメータ”α”
    • ブリンとページによる初期の論文:α=0.85
    – 結論から言うと,エンジニアリングセンス
    • α小:計算時間減尐,しかしランダム要素増大
    • α大:ランダム要素減尐,しかし計算時間増大
    • 数学的考察は次回以降紹介
    α 収束までの繰り返し数
    0.5 34
    0.85 142
    0.99 2292
    22

    View Slide

  23. PageRankモデルのパラメータ”E”
    • E=1

    ∗ をへ(パーソナル化)
    – :テレポーテーションベクトル
    • で与えられる個人的な嗜好に基づき,次のページへ
    テレポートする
    • 現実的な問題として,全てのユーザに対して
    を計算することは不可能
    – 1つのベクトルに対してでさえ,数日以上かかる
    23

    View Slide