16
Google PageRank Google PageRank 다음 소프트 검색기술부 전희원 2006.10.16

구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

Google PageRank Google PageRank

다음 소프트

검색기술부

전희원

2006.10.16

Page 2: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

PageRank PageRank 정의정의

PageRank thesisPageRank thesis• A page is important if it is pointed to by other A page is important if it is pointed to by other

important pageimportant page• InlinkInlink• OutLinkOutLink• 확률과 통계에 의한 확률과 통계에 의한 PageRank VectorPageRank Vector의 반복계산의 반복계산

r P i= ∑Pj∈BPi

r Pj∣Pj∣

Basic PageRank Algorithm

Page 3: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

Original PageRank Formula Original PageRank Formula

r(P_i) r(P_i) • 페이지 페이지 P_i P_i 를 가르키는 모든 페이지의 를 가르키는 모든 페이지의 PageRankPageRank의 합의 합

B_p B_p • P_iP_i를 가르키는 페이지의 집합를 가르키는 페이지의 집합

|P_j| |P_j| • P_jP_j로부터의 로부터의 OutlinkOutlink의 갯수 의 갯수

r(P_j)r(P_j)• 페이지 페이지 P_jP_j를 가르키는 모든 페이지의 를 가르키는 모든 페이지의 PageRankPageRank의 합의 합

r P i= ∑Pj∈BPi

r Pj∣Pj∣

Unknown

Page 4: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

Iterative procedureIterative procedure

가정가정• 모든 페이지의 초기 모든 페이지의 초기 PageRankPageRank는 는 1/n 1/n 이다이다..– n : number of page int the world

• Iteration Iteration 방법으로 해결방법으로 해결

– R_k+1(P_i) : P_i의 K+1번째 Iteration– 따라서 R_0(P_i) = 1 / n

rk1Pi= ∑P j∈BPi

rkPj∣Pj∣

Iterative PageRank Algorithm

Page 5: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

예제예제(1)(1)

1 2

3

56

4

옛날에 전세계의 웹페이지가 옛날에 전세계의 웹페이지가 66개였다개였다..

이것들의 이것들의 PageRankPageRank를 생각를 생각해보자해보자

Page 6: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

예제예제(2)(2)

22번째까지의 번째까지의 Iteration Iteration 예예

Iteration0 Iteration1 Iteration2 Rank at Iter 2.---------------------------------------------------------------------------r_0(P_1) = 1/ 6 r_1(P_1) = 1/18 r_2(P_1) = 1/36 5r_0(P_2) = 1/ 6 r_1(P_2) = 5/36 r_2(P_2) = 1/18 4r_0(P_3) = 1/ 6 r_1(P_3) = 1/12 r_2(P_3) = 1/36 5r_0(P_4) = 1/ 6 r_1(P_4) = 1/ 4 r_2(P_4) = 17/72 1r_0(P_5) = 1/ 6 r_1(P_5) = 5/36 r_2(P_5) = 11/72 3r_0(P_6) = 1/ 6 r_1(P_6) = 1/6 r_2(P_6) = 14/72 2

Page 7: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

식을 더 직관적으로식을 더 직관적으로

그래프로 표현그래프로 표현• 자료구조 책을 참고하자면 그래프 표현법은자료구조 책을 참고하자면 그래프 표현법은??– 인접행렬(adjacency matrices)– 인접리스트(adjacency list)– 인접다중리스트(adjacency multilist)

• 직관적인 방법직관적인 방법

– 메트릭스로 표현

– Sparse matrix 계산의 경우 인접리스트가 유리

– 하지만 여기서는 고려하지 않겠음 ^^;

Page 8: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

예제의 예제의 Matrix Matrix 표현표현

H = [0 1

212 0 0 0

0 0 0 0 0 013

13 0 0 1

3 0

0 0 0 0 12

12

0 0 0 12 0 1

20 0 0 1 0 0

]P1 P2 P3 P4 P5 P6

P1 P2 P3 P4 P5 P6

∏ k1 T = ∏ k T H

“∏ ” “∏ ” is n column is n column VectorVector

Alias PagerankVectorAlias PagerankVector

Page 9: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

이슈사항이슈사항

IterationIteration은 언제까지 인가은 언제까지 인가?? 수렴의 보장수렴의 보장?? ∏ ∏ 초기값의 영향은 얼마나되나초기값의 영향은 얼마나되나?? Iteration Iteration 횟수는 예상할 수 있나횟수는 예상할 수 있나?? RankSink, Positive Value RankSink, Positive Value 문제문제• 예제의 예제의 1313번째의 ∏값번째의 ∏값

– (0, 0, 0, 2/3, 1/3, 1/5) Cycle Cycle 문제문제

Page 10: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

또 한번의 개선또 한번의 개선(1) - Makov Chain(1) - Makov Chain

Makov ChainMakov Chain• HH는 는 Transition probability matrixTransition probability matrix의 특징을 가지고 있다의 특징을 가지고 있다..• Makov ChainMakov Chain이 만족하는 조건을 충족 시키면 이 만족하는 조건을 충족 시키면 Sink, CycleSink, Cycle

문제를 해결할 수 있다문제를 해결할 수 있다..– Stochastic– Irreducible– Aperiodic

• 그래서 그래서 HH에 대한 보정 작업이 필요하다에 대한 보정 작업이 필요하다..

Brin Brin 과 과 PagePage가 제안한 수정모델가 제안한 수정모델• Random surferRandom surfer– Dangling node and teleport

• HH의 변형모델인 의 변형모델인 Stochastic matrix Stochastic matrix 제안제안

Page 11: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

또 한번의 개선또 한번의 개선(2) – stochastic matrix(2) – stochastic matrix

S = H + a*( (1/n)*e^t )S = H + a*( (1/n)*e^t )• aa벡터에서 벡터에서 ( a_i = 1 If i == ( a_i = 1 If i == 단말노드 단말노드 else a_i = 0)else a_i = 0)

S = [0 1

212 0 0 0

16

16

16

16

16

16

13

13 0 0 1

3 0

0 0 0 0 12

12

0 0 0 12 0 1

20 0 0 1 0 0

] updated

Page 12: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

또 한번의 개선또 한번의 개선(3) – Google Matrix(3) – Google Matrix

G = α *G = α * S + (1 – α) 1/n * e*e^TS + (1 – α) 1/n * e*e^T αα의 의미는의 의미는??• α = 0.6α = 0.6일때일때??

PageRank methodPageRank method의 결과의 결과

∏ k1 T = ∏ k T G

Page 13: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

Example(1)Example(1)

앞 페이지의 예제를 예로 들면앞 페이지의 예제를 예로 들면

G = .9⋅H.9⋅010000.1⋅

111111⋅1 /6⋅111111

G= [1 /61 7/15 7 /15 1 /60 1 /60 1 /601 /6 1/6 1 /6 1 /6 1 /6 1 /619/60 19/60 1 /60 1 /60 19/60 1 /601 /60 1/60 1 /60 1 /60 7 /15 7 /151 /60 1/60 1 /60 7 /15 1 /60 7 /151 /60 1/60 1 /60 11 /12 1 /60 1 /60

]

Page 14: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

Example(2)Example(2)

∏∏^T = (.03721 .05396 .04151 .3751 .206 .2863)^T = (.03721 .05396 .04151 .3751 .206 .2863)• Ranked to (6 4 5 1 3 2)Ranked to (6 4 5 1 3 2)• ∏∏_1 = 0.03721 _1 = 0.03721 의 의미의 의미

– 3.721 % 의 시간을 Page1을 보는데 쓴다.

프로그래머를 위한 식 정리프로그래머를 위한 식 정리• ∏∏^(k+1)T = α * ( ∏^(k)T) * H + (α ( ∏^(k)T) a + 1 - α)e^T/n^(k+1)T = α * ( ∏^(k)T) * H + (α ( ∏^(k)T) a + 1 - α)e^T/n• 구현 예제구현 예제

–Http://www.freesearch.pe.kr/545

Page 15: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

여러 부연설명여러 부연설명

α α • Page Page 와 와 BrinBrin의 논문에 의하면 의 논문에 의하면 0.850.85• 대략 대략 Iteration : 50Iteration : 50• α^50 = (0.85)^50 α^50 = (0.85)^50 ≈≈ 0.000296 (2~3 places of accuracy) 0.000296 (2~3 places of accuracy)• 약 약 33 억 페이지에서 실험한 결과 억 페이지에서 실험한 결과

• 10^(-10) 10^(-10) 정도의 정확도를 계산 정도의 정확도를 계산

Vector – Matrix Vector – Matrix 계산 복잡도 계산 복잡도• O(n^2)O(n^2)• Sparse Matrix (Sparse Matrix ( 평균 평균 1010 개의 링크일 경우 개의 링크일 경우))–O(nnz(H)) -> O(n) -> O(10n)

• Other Iteration MethodOther Iteration Method–GMRES, BICGSTAB– 저장공간의 많아야 한다.

– 구글 식에는 (∏, H, a, PageRank Vector : 2)

Page 16: 구글 페이지 랭크 - from future import dreamfreesearch.pe.kr/wp-content/uploads/1/XBk8blnVBO.pdf · 또 한번의 개선(1) - Makov Chain Makov Chain • H는 Transition probability

끝끝

Google PageRank and BeyondGoogle PageRank and Beyond Next ReadNext Read

• Combating Web Spam with TrustRankCombating Web Spam with TrustRank– http://www.vldb.org/conf/2004/RS15P3.PDFhttp://www.vldb.org/conf/2004/RS15P3.PDF

다음 세미나 주제다음 세미나 주제??• HIT HIT 랭킹 알고리즘랭킹 알고리즘

• TrustRank TrustRank 알고리즘알고리즘

수고하셨습니다수고하셨습니다..