slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
データモデリング Web ページの検索とランキング PowerPoint Presentation
Download Presentation
データモデリング Web ページの検索とランキング

Loading in 2 Seconds...

play fullscreen
1 / 18

データモデリング Web ページの検索とランキング - PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on

データモデリング Web ページの検索とランキング. Google, Yahoo はこんなことをしている. 検索の精度を示す指標. 全文書内の 適合文書の数 (本当の解集合). 検索された 文書の数. 適合率 (Precision) 検索結果内の正解文書数 検索された文書の数 再現率 (Recall) 検索結果内の正解文書数 全文書内の適合文書の数 F 値 F =. P =. 2. 1 P. 1 R. +. R. P. R =. 全文書. 検索結果内の 正解文書数. 条件が厳しくなると P が上がり R が下がる

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'データモデリング Web ページの検索とランキング' - aglaia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

データモデリングWebページの検索とランキングデータモデリングWebページの検索とランキング

Google, Yahooはこんなことをしている

slide2
検索の精度を示す指標
  • 全文書内の
  • 適合文書の数
  • (本当の解集合)
  • 検索された
  • 文書の数

適合率(Precision)

検索結果内の正解文書数

検索された文書の数

再現率(Recall)

検索結果内の正解文書数

全文書内の適合文書の数

F値

F =

P=

2

1

P

1

R

+

R

P

R=

全文書

検索結果内の

正解文書数

条件が厳しくなるとPが上がり Rが下がる

条件が緩くなるとPが下がり Rが上がる

tf idf
キーワードらしさ tf-idf
  • 文章中の特徴的な単語(キーワード)を抽出するためのアルゴリズム
  • 文書の集合 { D1, D2, …., Dn}内の文書 Diを単語の集合 { W1, W2, …, Wm} とみる
  • 個々の単語の評価
    • tf(Term Frequency)は単語の頻度
      • 繰り返される 単語は評価が高い
      • 文書Dk でのWi の出現数 / Dkの単語数
    • Idf(Inverse Document Frequency)
      • Wi は,特定の文書 Di にしか出現しない なら、評価が高い。逆にWi は,すべての文書に出現するなら、その 評価は低い
      • 文書の集合 { D1, D2, …., Dn}のなかでWi が現れる比の逆数
      • そのままでは大きすぎるので log をとる
  • 単語の評価 = 頻度・ log (総文書数/出現文書数)
crawling
クローリング(Crawling)
  • リンクの自動航行
    • クローラと呼ばれるプログラムが、インターネット上のWebペー ジのリンクをたどりながら情報を収集
    • クローラは スパイダ(蜘蛛) とも呼ばれる
  • クローラが収集するもの
    • 各ページに含まれる各単語の tf-idf値 を計算
    • ページごとに文書ベクトル化

  文書ベクトルDk

Dk = (W1 のtf-idf値, W2 のtf-idf値, …, Wn のtf-idf値)

    • 各ページのリンク先を記録(PageRankで利用)
  • 一度、訪問したサイトはそこからのリンクを辿らない
  • クローリングは 定期的 に実施される
slide5
空間ベクトル法

ページの文書ベクトル Dk と問合せのベクトルQの類似度で検索を実施

Dk = (W1 のtf-idf, W2 のtf-idf, …, Wn のtf-idf)

Q = (W1 のtf-idf, W2 のtf-idf, …, Wn のtf-idf)

2つのベクトルのコサイン類似度

  似ているときに1、逆方向の時に-1

  • 文書「空間ベクトル法」
    • 類似度は0.7, Webは0.2, 検索は1.4
  • 問合せ(類似度 Web 検索)
    • 類似度1, Web 1, 検索 1
  • 類似度が高いものを選択

類似度

問合せ

文書

Web

検索

pagerank algorithm
PageRank Algorithm
  • 多くの検索結果を順位づけて並べたい
  • Google 創始者の Larry Page と Sergey Brin が米スタンフォード大学大学院在籍中に開発
  • 論文の評価にヒントを得て考え出された
  • PageRankとは
    • 「多くの良質なページからリンクされているページは、 やはり良質なページである」 という再帰的な関係をもとに、すべてのWebページの重要度を判定したもの
    • PageRank 自体はユーザが検索式に与えた語句とはまったく無関係な、 すでに定まった量
google
Googleの紹介ページより
  • ページAからページBへのリンクをページAによるページBへの支持投票と みなし、Googleはこの投票数によりそのページの重要性を判断します。
  • しかしGoogleは単に票数、つまり リンク数を見るだけではなく、票を投じた ページについても分析します。「重要度」 の高いページによって投じられた票はより高く評価されて、それを受け取ったページ を「重要なもの」 にしていくのです。
  • PageRankは ページの重要度を示す総合的な指標であり、各検索に影響 されるものではありません
pagerank
PageRankの意味の図示
  • あるページの PageRank を、そのページに存在する発リンク数で 割った数が、リンク先のページの PageRank に加算される
slide9
数式を使って表現
  • すべてのWebページの集合を Vとし,それらの間のリンクの集合を EとするとWeb空間は

G = ( V , E )

 で表現できる

  • ページの総数を nとし,ページ iのPageRankスコアを P(i),ページ jからの外向けリンクの数を Ojとすると

ただし、(j i) はページ j からページ iへのリンク

P(j)

(式1)

P(i) = Σ

Oj

(j i) ∈ E

slide10
ベクトルと行列で表現
  • PageRankのスコアを値とする n 次元ベクトルを P,

ページ間のリンクを表現する行列を A とすると、

  先の式は

  と表される

P(1)

P(2)

 :

P(n)

P =

(式2)

(i j)∈ E の場合

ページ iからj にリンクがあれば

リンク元ページi の外向きリンク数の逆数

Ai j =

(式3)

0それ以外

1

Oi

(式4)

P = AT P

a a t
どうしてAの転置行列 ATなの?

さきの(式1)とAの定義(式3)をよく見比べると,リンクの出るページと入るページで i と j が入れ替わっている.

  • ページ i(1≦i≦n)からページ jにリンクがある場合に,ページ j のページランク P(j) は

P(j) = A11 P(1) + A21 P(2) +...+An1P(n)

= (1/o1) P(1) + (1/o2) P(2) +...+ (1/on) P(n)

となる.Aの2つある添字のうち,さきにある添字が増える式になっている.ページランクの計算を,通常の行列とベクトルの積で表現するには

P(i) = A11 P(1) + A12 P(2) +...+A1nP(n)

となって, Aの2つある添字のうち,後にある添字が増える式になって欲しい.どうすればよいか?

i と j をひっくり返せば良い.

つまり 転置した行列を用いれば良い.

slide12
図による例示

この図を表現する行列 Aは

0 1/5 1/5 1/5 1/5 0 1/5

1 0 0 0 0 0 0

1/2 1/2 0 0 0 0 0

0 1/3 1/3 0 1/3 0 0

1/4 0 1/4 1/4 0 1/4 0

1/2 0 0 0 1/2 0 0

0 0 0 0 1 0 0

A=

A21だから, ページ2から1へリンクがあるかどうか.

pagerank1
各ページのPageRankは不変な値

P = AT P

  • 不変なベクトル P は A をかけても P のまま
  • これは、行列とベクトルの固有値問題

P ≠ 0 が存在するためには

これはλのn 次方程式で、λの実数解は高々 n 個

  • この場合 Pは固有値 λ = 1 に対応する固有ベクトル
  • 固有値 λ = 1 の存在には特定条件の成立が必要
  • 成立すれば 、n元連立方程式 P = AT P より、べき乗法で P も計算可能

λ P = M P

(M – λ E) P = 0

| M– λ E | = 0

page brin
Page と Brin はマルコフモデルに着目
  • ユーザがリンクを無作為にたどるとすると、ページ遷移はマルコフ遷移モデル
  • 次の条件が満たされると、固有値 λ = 1 が存在
    • A がマルコフ推移の遷移確率行列である
      • 各行の値を総和すると 1
      • 外部にリンクを持たないページがない
    • グラフが強連結である
      • どのページからも、どのページへも辿り着ける
    • グラフが非周期的である
      • あるページからそこに戻るパスの長さが k (>1) の整数倍であれば周期的、そうでなければ非周期的(すなわち k = 1)
  • このような A が見つかるということは、ユーザがリンクをクリックし続けると、ある特定のページに行き着く確率を計算できることを意味する
page brin1
Page と Brin のアイデア

遷移確率行列を修正

  • 外部リンクが無いページからは、各ページに同じ確率で遷移
    • このページに相当する Aの行はすべて 1/n
  • ユーザは確率 d でリンクを辿る(1-dで新ページを検索)
    • 各ページからすべてのページへのリンク追加(確率は 1- d )

要素がすべて1のベクトルが e のとき、遷移確率は

Page と Brin の論文では d = 0.85

1

1

1

A11A21・・

1/n1/n・・

(1 – d) e + dATp = (1– d) + d p

page brin2
[補助]PageとBrinは考えた!
  • ①について,外部にリンクを持たないページからはn個あるページのどれにでも同じ確率(1/n)で移動する.(これでA がマルコフ推移の遷移確率行列になった)
  • ②について,あるページから出ているリンクをたどる確率は d で,リンクを辿らず無作為に新しいページに移る確率は(1-d)である.(これで,どのページへも辿り着けるようになった.また周期kが1となったので、周期グラフでもなくなった)
  • 式の中で,(1-d)e の項はリンクを辿らず無作為に新しいページに移行した時を表し,dATp の項は現在のページからのリンクを辿った時を表す.
pagerank2
すべてのページの PageRank を計算
  • 不変になるまで遷移確率行列を繰り返し適用

3.22億個のリンクがある場合、52回の繰り返しで収束

P0 = e / n

k = 1

do {

Pk = (1 – d ) e + dAT Pk-1

k = k + 1

} while( | Pk – Pk-1| < ε )

return Pk

slide18
検索エンジンの概要
  • クローリングしてインデックスと 行列 A を作っておく。

インデックスは、ページごとの文書ベクトル Dk

      • Dk = (W1 のtf-idf値, W2 のtf-idf値, …, Wn のtf-idf値)
  • PageRank を計算しておく
  • ユーザが指定した検索式とインデックスから、類似度を使って検索結果の集合を作成
  • 検索結果の集合の要素を PageRank で整列