Iir 21 ver.1.0

2,195 views
2,128 views

Published on

IIR: Introduction to Information Retrieval
Chapter 21
in Japanese

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,195
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Iir 21 ver.1.0

  1. 1. Link Analysis<br />Takashi Shiraki<br />1<br />
  2. 2. 本資料の元情報<br />Bの教養レベル<br />本とほぼ同等の内容を公開<br />http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html<br />StanfordCS276での講義Slideを公開<br />http://www.stanford.edu/class/cs276/cs276-2008-syllabus.html<br />YouTube Videoはない<br />IIR本関係サイト<br />この資料のベース<br />A. Langville, C. Meyer, <br />“Google’s PageRank and Beyond”,<br /> 2006<br /><ul><li>IIR説明スライド
  3. 3. http://bloghackers.net/~naoya/iir/ppt/
  4. 4. blog
  5. 5. http://d.hatena.ne.jp/naoya/
  6. 6. 奈良先端での講義資料
  7. 7. http://cl.naist.jp/~shimbo/courses/2008_advanced_information_science_ii_and_iv/</li></ul>はてなおやさん<br />Langville本<br />新保仁さん<br />IIR sec.21<br />⊂本書<br />21章の<br />資料はなし<br />もしこれを全部読めば<br />PageRankとHITSは十分<br />この資料<br />すばらしすぎ<br />2<br />
  8. 8. Table of contentsIIR (Chap. 21)<br />3<br /><ul><li>今回はCh. 21の内容を説明します</li></ul>IIR<br />IIR21<br />Useful chapters in IIR <br />for Search and Recommendation<br /><ul><li>IIR 21 Link analysis 461
  9. 9. 21.1 The Web as a graph 462
  10. 10. 21.1.1 Anchor text and the web graph 462
  11. 11. 21.2 PageRank 464
  12. 12. 21.2.1 Markov chains 465
  13. 13. 21.2.2 The PageRank computation 468
  14. 14. 21.2.3 Topic-specific PageRank 471
  15. 15. 21.3 Hubs and Authorities 474
  16. 16. 21.3.1 Choosing the subset of the Web 477
  17. 17. 21.4 References and further reading 480</li></ul>Sec. 06 Scoring, term weighting & the vector space model<br />Scoring (理論より)<br />Sec. 07 Computing scores in a complete search system<br />Scoring (実装より)<br />Sec. 08 Evaluation in information retrieval<br />評価手法<br />Sec. 09 Relevance feedback & query expansion<br />Sec. 15 Support vector machines & machine learning on documents<br />Sec. 16 Flat clustering<br />Sec. 18 Matrix decompositions & latent semantic indexing<br />Scaleするアルゴリズム(特異値分解など)<br /><ul><li>Sec. 21 Link analysis
  18. 18. PageRankとHITS</li></li></ul><li>Table of contentsGoogle’s PageRank and Beyond<br />今回は主にCh. 4-6, 11, 13の内容を説明します<br />Ch. 04 The Mathematics of Google’s PageRank<br />Ch. 05 Parameters in the PageRank Model<br />Ch. 06 The Sensitivity of PageRank<br />Ch. 11 The HITS Method for Ranking Webpages<br />Ch. 13 The Future of Web Information Retrieval<br />4<br />
  19. 19. 背景・前提<br />検索や情報推薦において、情報の評価付け方法は重要である<br />評価対象: Webページ、論文、ニュース、商品、人間など<br />評価付け方法は大きく分けて2つある<br />対象の特徴を解析するもの(tf-idfなど)<br />特徴などから算出した対象間の関係性を用いるもの<br />本資料は後者のLink Analysis手法の中で、2点間の関係性が与えられた後の技術説明である。<br />PageRank、HITS<br />2点間の関係性算出方法はいろいろ<br />5<br />
  20. 20. Graph表現<br />Graph とは 点(node/vertex) と 線(link/edge) によって表現されるネットワーク構造<br />対象とするデータには様々なものが考えられる<br />機能とDNAの関係性<br /><ul><li>IIR 21 はgraph 構造をリンク解析することで、node 間の関係から nodeの重要度を求める
  21. 21. node の重要度を用いた、情報推薦を行うなどの応用</li></ul>6<br />
  22. 22. HyperLinkが持つ情報page間の関係性 と Anchor<br />Page B<br />Page A<br />hyperlink<br />Anchor<br />  HyperLink data <br />   in Web PageA<br />&lt;a href=&quot;http://www.acm.org/jacm/&quot;&gt;Journal of the ACM.&lt;/a&gt;<br />Anchor<br />Page B<br />Copyright pageなどへのリンク排除が必要<br />Assumption 1: A hyperlink between pages denotes author perceived relevance (quality signal)<br />SEOリンク、Spam Anchorへの対処が必要<br />Assumption 2: The anchor of the hyperlink describes the target page (textual context)<br />Authorityのあるtop pageにはkeywordがない可能性(「白血病」の例)<br />PageRank/HITSは基本的にはGraph構造データだけで、Anchorは用いない<br />7<br />
  23. 23. PageRank<br />(Home pageのPageではなく、Larry PageのPage)<br />ままごとコードなら100行程度で書ける<br />HITS / k-means よりも楽です<br />8<br />
  24. 24. クエリに依存しない順序付けQuery-independent ordering<br />初期: リンク数を数えることで人気を評価した<br />Degree数(次数) で評価<br />3+2=5<br />the number of in-links plus the number of out-links<br />In-degree数(入次数)で評価<br />3<br />Score of a page = number of its in-links<br />PageRankのようなscoringが必要<br />Outlinksを増やせば<br />Scoreが上がる?<br />他と組んだり、自らの複数pagesをリンクし合えばScoreが上がる?<br />9<br />身内だけでリンクしても<br />Scoreは上がらない<br />
  25. 25. 10<br />What’s PageRank?<br />PageRankは基本的には、Web pageを対象にした、Globalで、Query-independent なScoring<br />「重要なサイトにリンクされているサイトは重要である」をポリシとする<br />古くから論文評価に用いられた解析モデル<br />ユーザのWeb page参照の行動モデルを仮定し、定常状態でのpage滞在確率をPageRankとする<br />PageRankが用いるモデル<br />Random Walk(/Suffer) Model<br />Teleport Model<br />
  26. 26. 11<br />PageRankはすごいのか?<br />歴史的には間違いなくYes.<br />Web pagesに対して、初めて有効なリンク解析を用いたScoring<br />Google以前は、人手による評価付けや、Term空間(頻度、共起)にこだわるものばかりであった<br />電子媒体であるWebは入手できるlinks情報(Hyperlinks) の質および量が、紙媒体よりも優れている<br />それまでの方式と比べ、SEO対策もかなり可能<br />現時点では有効性に関して賛否両論<br />Googleの百数十ある方式の一つ<br />相対的に重要度が落ちた理由を勝手に推測すると<br />page数が爆発しても、1 pageあたりのHyperlink数は昔とそんなに変わらない。従って、隣接行列(後述)がより疎になり、リンク解析だけに頼る方式の効果が下がってきている<br />隣接行列に対するリンク密度が高いほど精度に対して有効?<br />また新しい情報は被リンクがないので不利となっていることが需要に合わない?<br />ただし、Webデータの特徴であるリンク情報を解析した数少ない方法であり、今でも重要な方式の一つであることは間違いない<br />
  27. 27. 12<br />Markov Chains<br />PageRankはRandom WalksとTeleportのハイブリッドであるが、そのどちらもMarkov Chainsを前提としている<br />Markov Chainsとは、<br />現在の状態が1ステップ前の状態にのみ依存するモデル<br />1ステップごとに状態遷移をする<br />n states -&gt; n states<br />n pagesそれぞれの滞在確率<br />nnの遷移確率行列 P<br />Pij,1 i,j n はstate iである時に次にstate jへ遷移する確率 (self link OK) <br />各ステップで絶えずどこか一つの状態に属しながら、状態遷移を繰り返す<br />確率の総和は1 (ステップ前後で保存)<br />
  28. 28. Random Walks<br />Random Walk(/Surfer) Model<br />ユーザはpage内のhyperlinkを辿ってpageを遷移する<br />ただし、PageにあるHyperlinksの中からそれぞれを選択する確率は等しい<br />遷移確率は 1/(outlinks数)<br />htmlデータだけからhyperlink間の確率の違いは取得できないため<br />Pij =Pik<br />i<br />j<br />13<br />k<br />
  29. 29. Teleport<br />Teleport Model<br />ある状態から、次のステップで全状態に(基本的には等確率で)遷移するモデル<br />Teleportでは、全pagesに公平<br />フルメッシュ(全ノード間にリンクがある状態)でのRandom Walksに相当<br />Teleportする理由<br />実際にある別のユーザ行動をモデル化<br />現在のPageに関係なく、URLを直打ちするなどで、全Pagesに等確率にジャンプ<br />PageRankをErgodic Markov Chains(後述)にできる<br />結果(定常状態)の収束性が保証できる<br />dangling nodes/links (outlinksがないnode) へ遷移することによるrank sinkの排除<br />結果(定常状態)の一意性が保証できる<br />PageRankのPower iteration 計算の収束速度<br />Teleportをブレンドするパラメータをいじることで、計算の収束スピードも調整可能<br />Teleportで重要なこと<br />Teleportの割合となるパラメータの設定<br />Teleportを何%ブレンドすべきか?<br />Teleportが全サイト等確率にして良いのか?<br />もしpages間の価値の違いが取得できれば遷移確率に反映させることもできる<br />Biased Surfer Models(後述)へ<br />14<br />
  30. 30. Ergodic Markov Chains<br />[定義]<br />全ノード間に双方向のパスが存在<br />全体を循環する<br />任意の初期状態でTステップ後に、全状態の確率が正(非ゼロ)となるTが存在する<br />振動しない<br />Teleportは明らかにErgodic Markov Chanis<br />[定理] Ergodic Markov Chainsならば<br /><ul><li>任意の初期状態から、いずれ定常状態に達する</li></ul>PageRankはこの確率分布をeigenvectorとして求める<br />15<br />
  31. 31. PageRankの計算<br />Web GraphからAdjacency matrix Aを作成<br />1<br />2<br />3<br />4<br />5<br />6<br />16<br />
  32. 32. PageRankの計算cont’<br />Stochastic matrix Sを作成<br />Teleport, if #outlinks=0<br />Random Walks, if #outlinks&gt;0<br />, where n is #nodes<br />17<br />1<br />2<br />3<br />4<br />5<br />6<br />
  33. 33. PageRankの計算cont’<br />Google matrix Gを作成<br />Random Walksの確率をα、Teleportの確率を1-αにしてブレンド<br />Googleは,α=0.85くらいに設定<br />理由は精度と収束性のバランス<br />18<br />正方行列1ではなくeeTとすることで計算時間が違う<br />
  34. 34. PageRankの計算<br /><ul><li>Gのleft eignevectorのセット
  35. 35. 任意の初期vector    は次で表せられる
  36. 36. 定常状態のvector は次のようになる</li></ul>確率遷移行列なら<br />Principal left<br />eigenvalueは1<br />Gのprincipal left eigenvector に比例した定常状態に収束する<br />19<br />
  37. 37. PageRankの計算cont’<br />20<br />2次元でのイメージ(初期状態)<br />0<br />
  38. 38. PageRankの計算cont’<br />21<br />2次元でのイメージ(1ステップ後)<br />0<br />
  39. 39. PageRankの計算cont’<br />22<br />2次元でのイメージ(2ステップ後)<br />0<br />
  40. 40. PageRankの計算cont’<br />23<br />2次元でのイメージ(無限ステップ後)<br />定常状態∝主固有ベクトル<br />0<br />PageRankの値<br />
  41. 41. PageRankのまとめ<br />Preprocessing:<br />グラフから、行列 G を作成<br />principal left eigenvector π を計算<br />Power iterations methodでも求まる<br />定常状態π=πGとなるπがPageRank<br />Query processing:<br />Queryに合うページをフィルタリング<br />PageRankでordering<br />Order is query-independent<br />他の方法(tf-idfなど)のスコアと重ね合わせしてもOK<br />24<br />
  42. 42. PageRankの改良点<br />2つのRandom遷移モデルだけで良いのか?<br />back buttonを考慮する<br />これはMarkov Chainsでは無理<br />Search Enginesに入力するモデル<br />Keywords Filtering<br />他の方式との組み合わせ<br />非ランダム遷移(bookmarks & directories)<br />Random WalksやTeleport<br />Biased Surfer Models<br />各リンクが一様でないモデル<br />Bias jumps to pages on topic (e.g., based on personal bookmarks & categories of interest)<br />新鮮なItemを重視し、trendを早く拾う<br />新しいリンクの重みを強く<br />するなどしてもいいかも<br />Personalized / Contest aware<br />Sの作り方を変更したり、                  における<br />eeT部分を一様ではない行列に変更する工夫<br />25<br />
  43. 43. PageRankの話題<br />Googleは大規模であるにも関わらず、Power Methodを使っているようである(少なくともつい最近までは)<br />推測としてstorageに優しいのではないかとのこと?<br />ただしスコア更新頻度は行列全体で均等ではなく、更新頻度が高いpagesや重要なpagesを優先していると推測<br />αにより収束速度が保証できる<br />k回のiterationsによる誤差 の上限がαk になっていく(Langville本のp.41)<br />.8550≒.000296<br />26<br />
  44. 44. Non-uniform Teleportationcategory ‘Sports’<br />Sports<br />Teleport with 10% probability to a Sports page<br />27<br />
  45. 45. Non-uniform Teleportationcategory ‘health’<br />Health<br />10% Health teleportation<br />28<br />
  46. 46. Non-uniform TeleportationMulti Categories<br />Health<br />Sports<br />29<br />
  47. 47. PageRankに関するメモ疑問<br />疑問: αによってPageRankの逆転はあるか?<br />逆転がなければ、収束速度を上げるために、αをなるべく0に近づけると良いのだが?<br />30<br />
  48. 48. PageRankに関するメモ解答<br />31<br />解答: αによって、PageRankの逆転がありうる<br />例<br />αが大きくなると、<br />人気のある少数(a)から強く人気のノード e よりも、<br />人気のない多数(b, c)から弱く人気のノード f が有利となる<br />a<br />e<br />d<br />b<br />f<br />c<br />
  49. 49. HITS(Hyperlink-Induced Topic Search)<br />32<br />
  50. 50. HITS<br />有用なサイトであるAuthority pagesと、有用なサイトをリンクするHub pagesを見つける<br />Hubの評価基準は、Precision & RecallのRecallのようにCoverageを競っている感じ<br />Hubs and Authorities<br />Thus, a good hub page for a topic points to many authoritative pages for that topic.<br />A good authority page for a topic is pointed to by many good hubs for that topic.<br />Circular definition - will turn this into an iterative computation.<br />PageRankと似ていて、繰り返し計算による定常状態として求まる<br />33<br />
  51. 51. The hope<br />Authorities<br />Hubs<br />Long distance telephone companies<br />21.3<br />34<br />
  52. 52. Root set / Base set<br />Root set<br />Query wordを含んだページ<br /> Base set<br />Root setに1 hopでつながるページ<br />つながり方はどちら向きでもOK<br />Baseにまで広げることでKeywordがないHubs/Authoritiesも<br />見つけることが可能<br />Root<br />set<br />Base setの求め方(Naïveな方法)<br />Root setのvector rと隣接行列Aを用いて、ベクトル r(I+A+AT) の非負要素から算出可能<br />Base set<br />35<br />
  53. 53. Root set / Base setcont’<br />Root set<br />Query wordを含んだページ<br /> Base set<br />Root setに1 hopでつながるページ<br />つながり方はどちら向きでもOK<br />Root<br />set<br />r(I+A+AT) の rIの部分<br />Base set<br />36<br />
  54. 54. Root set / Base setcont’<br />Root set<br />Query wordを含んだページ<br /> Base set<br />Root setに1 hopでつながるページ<br />つながり方はどちら向きでもOK<br />Root<br />set<br />r(I+A+AT) の rAが正の部分<br />Base set<br />37<br />
  55. 55. Root set / Base setcont’<br />Root set<br />Query wordを含んだページ<br /> Base set<br />Root setに1 hopでつながるページ<br />つながり方はどちら向きでもOK<br />Root<br />set<br />r(I+A+AT) の rATが正の部分<br />Base set<br />38<br />
  56. 56. HITSの計算<br />x<br />INPUT<br />Base set のpagevector x<br />Adjacency Matrix A<br />OUTPUT<br />hub scoreh(x)<br />authority scorea(x)<br />Initialize<br />for all x, h(x)1; a(x) 1;<br />Each iteration<br />右の2式を交互に繰り返しh(x), a(x)を更新<br />Iterationの前後でh(x), a(x)の大きさが変わらないようにScaling補正をする<br />収束するまで続ける<br />After iterations<br />h(x)とa(x)がhub/authority score<br />x<br />AATやATAの固有値を求めることでも算出可能<br />39<br />Sを算出せず<br />Aのまま計算<br />HITSは初期値に依存<br />a<br />d<br />b<br />c<br />
  57. 57. 出力例query=“Japan Elementary Schools”<br />Hubs<br />Authorities<br />The American School in Japan <br />The Link Page <br />‰ªèŽs—§ˆä“c¬ŠwZƒz[ƒ€ƒy[ƒW<br />Kids&apos; Space <br />ˆÀéŽs—§ˆÀé¼•”¬ŠwZ <br />‹{é‹³ˆç‘åŠw•‘®¬ŠwZ <br />KEIMEI GAKUEN Home Page ( Japanese ) <br />Shiranuma Home Page <br />fuzoku-es.fukui-u.ac.jp <br />welcome to Miasa E&J school <br />_“ސ쌧E‰¡•lŽs—§’†ì¼¬ŠwZ‚̃y<br />http://www...p/~m_maru/index.html <br />fukuiharuyama-esHomePage<br />Torisu primary school <br />goo <br />YakumoElementary,Hokkaido,Japan<br />FUZOKU Home Page <br />Kamishibun Elementary School...<br />schools <br />LINK Page-13 <br />“ú–{‚ÌŠwZ <br />a‰„¬ŠwZƒz[ƒ€ƒy[ƒW <br />100 Schools Home Pages (English) <br />K-12 from Japan 10/...rnet and Education ) <br />http://www...iglobe.ne.jp/~IKESAN <br />‚l‚f‚j¬ŠwZ‚U”N‚P‘g•¨Œê<br />ÒŠ—’¬—§ÒŠ—“Œ¬ŠwZ <br />Koulutusjaoppilaitokset<br />TOYODA HOMEPAGE <br />Education <br />Cay&apos;s Homepage(Japanese) <br />–y“쏬ŠwZ‚̃z[ƒ€ƒy[ƒW<br />UNIVERSITY <br />‰J—³¬ŠwZ DRAGON97-TOP <br />ŽÂ‰ª¬ŠwZ‚T”N‚P‘gƒz[ƒ€ƒy[ƒW<br />¶µ°é¼ÂÁ© ¥á¥Ë¥å¡¼ ¥á¥Ë¥å¡¼ <br />Root setではなく、Base setに広げることにより、英語以外のサイトも見つけられている<br />40<br />
  58. 58. HITSに関するメモ<br />QueryごとにBase setを作って算出することが可能<br />Query-dependent<br />結局は、eigenvectorを求めて済ましている(ただし、λはScaling)<br />Hubは定常状態で 、h(x)=1/λAAth(x)となるAAtのeigenvector<br />Authorityは定常状態で、a(x)= 1/λAtAa(x)となるAtAのeigenvector<br />PageRankと比較して<br />Hubはリンクはったもん勝ち(八方美人が有利)<br />Outlinksが多ければ多いほど有利である(損はない)<br />このため、PageRank風Random Walksを追加したものがSALSA<br />Ergodicなどは気にせず、Teleportはしない<br />収束値は初期値に依存する<br />1から始めないといけない<br />AAtとAtAとの固有ベクトルが、          や            を満たさない<br />41<br />
  59. 59. SALSA(Stochastic Approach to Link Structure Analysis)<br />42<br />
  60. 60. SALSAの計算<br />x<br />INPUT<br />Base set のpagevector x<br />Adjacency Matrix A<br />OUTPUT<br />hub scoreh(x)<br />authority scorea(x)<br />Initialize<br />for all x, h(x)1; a(x) 1;<br />Each iteration<br />右の2式を交互に繰り返しh(x), a(x)を更新<br />収束するまで続ける<br />After iterations<br />h(x)とa(x)がhub/authority score<br />x<br />結局Authority Scoreがindegree, hub scoreがoutdegreeに比例<br />43<br />Sを算出せず<br />Aのまま計算<br />SALSAも初期値に依存<br />a<br />d<br />b<br />c<br />
  61. 61. References<br />IIR 21<br />Eiron et al.(IBM), “Ranking the Web Frontier”, Proceedings of the 13th international conference on World Wide Web, p.309-318, 2004.<br />Boldi et al.(Milano univ.), “The WebGraph Framework I: Compression Techniques”, In Proc. of the 13th International World Wide Web Conference, 2003.<br />Kamvar et al.(Stanford univ.), “Extrapolation Methods for Accelerating PageRank Computations”, In Proc. of the 12th International World Wide Web Conference, 2003.<br />Fagin et al.(IBM), “Searching the workplace web”, Proceedings of the 12th international conference on World Wide Web, p.366-375, 2003.<br />about Intranet Search<br />Patent<br />PageRank<br />US Patent #6285999<br />生駒日記<br />http://d.hatena.ne.jp/mamoruk/<br />44<br />

×