1 / 28

Chapter 21 Link Analysis

Chapter 21 Link Analysis. 2010. 4. 20 김영호. Contents in the chapter. 1. Basic ideas in link analysis 2. Two methods for link analysis PageRank ™ Markov Chain PageRank Computation Topic-specific PageRank Computation Hubs and Authorities Hyperlink Induced Topic Search(HITS).

erno
Download Presentation

Chapter 21 Link Analysis

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 21Link Analysis 2010. 4. 20 김영호

  2. Contents in the chapter • 1. Basic ideas in link analysis • 2. Two methods for link analysis • PageRank™ • Markov Chain • PageRank Computation • Topic-specific PageRank Computation • Hubs and Authorities • Hyperlink Induced Topic Search(HITS)

  3. The web as a graph • Link analysis • citation analysis로부터 시작 • bibliometrics - 논문 저작자에 의한 참조 논문의 authority의 증가 • In-link의 개수로 해당 website의 authority를 계산 • 모든 참조 논문 리스트가 해당 논문의 authority의 증가를 의미하지는 않음 • In-link들의 개수만으로 web page의 authority를 가늠하는 것은 좋은 방법이 아님 • Sophisticated link analysis에 좋은 기초 자료가 될 수 있음 • Link analysis는 두 가지 직관적 가정에 기반 • PageB로 향하는 Anchor text 는 페이지 B를 잘 설명한다 • Page A에서 B로 향하는 hyperlink는 page B에 대한 Page A 저작자의 지지를 나타낸다. • 예외) 어떤 website의 “template”으로 존재하는 website 내부로 향하는 링크들 • 따라서, Link analysis algorithm들은 internal link들에 대해서는 discount하는 방식으로 동작한다

  4. Anchor text and theweb graph • Journal of ACM 페이지로 향하는 hyperlink의 예시 <a href="http://www.acm.org/jacm/">Journal of the ACM.</a> HTML Tag는 ACM Journal로 향하는 링크를 나타내고 있으며, 링크에 사용된 텍스트는 대상을 잘 나타내고 있다. • Hyperlink를 index에 포함하는 이유 • 대상 페이지가 자신을 잘 나타내지 않는 경우가 많다. • 예) http://www.ibm.com • 가장 큰 컴퓨터 회사임에도 불구, 첫 페이지에 computer를 나타내는 어떤 text도 표시되어 있지 않음 • Yahoo! 의 경우에도 첫 페이지에 portal이라는 단어는 찾아볼 수 없음 • Website 자체가 가진 term들과 website의 성격은 종종 차이를 보임 • 따라서, web surfer들은 query를 위해 반드시 page 안에 나타난 term을 사용하지는 않음

  5. Anchor text and theweb graph • 그러나 http://www.ibm.com으로 향하는 많은 링크들은 computer라는 term을 가지고 있는 경우가 많음 • 따라서 website index시에 anchor text를 같이 index하는 경우가 많음 • 예외) 너무 많이 나타나는 term들은 제외시킴: <click>, <here>, … • 현재 널리 사용되는 search engine들은 위 전략에 많은 weight를 할당 • Window of surrounding text • 다른 이름으로, extended anchor text • 많은 경우 anchor text 주위의 내용들도 힌트가 되는 경우가 많음 • 예) there is good discussion of Vedic scripture <a>here</a>. • Side effect in use of anchor text as index • “big blue” – IBM corporation이 가장 상위 랭크로 나옴 • 특정 website에 대한 campaign의 결과로 anchor text에 많이 사용된 결과 • Spamming 의 목적으로 다수의 anchor text가 systematic하게 사용된 경우, search engine은 이를 가려내어야 함 – spam detection

  6. PageRank • PageRank • 어떤 web graph의 노드마다 0-1 사이의 score를 부여 • Query result의 rank를 계산하는 feature 중 하나로 쓰임 • c.f. ) cosine similarity, term proximity, … • Page A에 위치하고 있는 random surfer의 경우 • B, C, D 중 하나의 페이지로 링크를 따라 이동 • A 페이지의 random surfer는 각 페이지로 갈 확률이 1/3 • Random walk를 계속할 때마다, 어떤 node는 더 많이 방문됨 • 직관적으로, in-link가 더 많을 수록, 더 많이 방문될 확률이 많음 • Out-link가 없는 node에 도달한다면 • Random surfer는 teleport operation을 수행 • web graph 상의 어떤 node라도 방문하게 될 수 있음 • 링크 방문이 아닌, 주소 창에 주소를 직접 입력하는 방식

  7. PageRank • Teleport operation • 목적지는 all webpage에 대한 uniform random choice • N개의 총 node에 대해 1/N으로 표시한다. • c.f. ) Surfer는 현재 자신이 위치한 페이지로도 1/N 확률로 teleport 한다고 가정 • Teleport operation은 두 가지 상황에 일어난다고 가정 • 1. Out-link가 없는 node에 도달하였을 경우 • 2. Out-link가 있는 node인 경우, 0 < α < 1 의 확률로 teleport • 1- α 의 확률로 random walk를 지속한다. • 보통의 경우 α = 0.1 → 10%의 확률로 teleport한다고 일반적으로 가정한다 • Random walk + teleport 를 수행하였을 때 • 각 node v 에 대하여 일정 단위의 시간마다 π(v)만큼 방문하게 된다. • π(v)를 결정하는 두 가지 요소: (1) web graph의 구조 (2) α • Markov chain을 사용하여 π(v)를 계산한다.

  8. Markov Chain • Markov Chain • Discrete-time stochastic process • 각각 random choice로 일어난 time-step의 연쇄로 인한 process • N state로 구성됨 • 모든 web page는 Markov chain의 state에 대응하도록 함 • Markov Chain의 구성 • N×N transition probability matrix P • Matrix의 각 entry는 [0-1] 구간의 값을 가짐 • Matrix P의 한 row는 전부 더하면 1 • 어떤 time step에서 N state 중 하나의 state가 될 수 있음 • Pij = 현재의 state가 i일 때 다음 state가 j가 될 확률 • Markov property라고도 불림 (21.1)

  9. Markov Chain • Markov Chain의 예시 • 최초 상태가 다음과 같이 주어졌다면, 다음날의 날씨는 • 와 같이 나타낼 수 있음 • 전 페이지의 (21.1)과 같이, 예시의 상태 전이 확률(state transition matrix)에서 각 행의 합은 1이고, 각 state의 확률은 0-1 사이의 값을 가짐

  10. Markov Chain • Stochastic Matrix • Non-negative 값을 가지면서 • (21.1)의 요건을 충족하는 matrix • Markov chain의 상태 전이를 설명하기 위해 쓰이는 concept • 초기 상태는 row vector로 주어짐 • Stationary probability vector π는 transition matrixP하에서 더 이상 바뀌지 않는 수렴된 상태 vector를 의미하며, eigenvalue 는 1인 left eigenvector임 • 정의에 의해, πP = π • 예제) 3 state를 가지는 간단한 Markov chain • Page A에서 B, C로 이동할 확률 각각 0.5 (cf. A→A로 이동할 확률 0) • Page B, C 에서는 A로 이동할 확률이 각각 1 (cf. B→B, B→C로 이동할 확률 0)

  11. Markov Chain • 간단한 3-state Markov chain • teleport operation이 빠져 있음 • teleport operation을 고려하면서 transitional matrix를 만드는 과정 소개 • Adjacency Matrix • 어떤 page i에서 page j로 향하는 링크가 있다면 Aij = 1, 없다면 Aij = 0 • from common graph theory • Adjacency matrix A를 기반으로 N×N transitional matrix P를 구성

  12. Markov Chain • N×N Markov chain probability matrix P의 생성 과정 • Matrix A의 row가 1이 없으면 모든 element를 1/N로 교체 • 한 row에 속한 각 1을 row에 속한 1의 개수로 나눔 • ex) row에 3개의 1이 있으면, 각각을 1/3으로 교체 • 위 과정으로 만들어진 matrix에 1-α 를 곱함 • 위 과정으로 만들어진 matrix의 원소 각각에 α/N 를 더해 matrix P를 얻음

  13. Markov Chain • Transitional probability matrix P • 초기 상태를 로 가정 • t=0(초기 상태) 에서는 어떤 entry에 1을 가지고, 나머지는 0의 값을 가짐 • 관찰된 현재 상태를 표현 • 정의에 의해, random surfer의 분포는 t=1에서 를 보이게 됨 • t=2에서는 • Markov chain이 각 time step을 수행할 때 마다 • 각 state는 다른 visit 비율을 보이게 됨 • 이는 random surfer가 특정 page를 더 많이 visit하는 모습과 유사 • 위 과정을 확장시켜, Markov chain을 steady-state가 될 때까지 수행시킴 • Steady-state visit frequency →각 node의 PageRank v

  14. Markov Chain • Ergodic Markov chain • Markov chain is ergodic if there exists positive integer T0 such that for all pairs of statesi, jin the Markov chain if it is started at time 0 in state i then for all t > T0, the probability of being in state j at time t is grater than 0. • Ergodic - state i에서 일정 시간이 지나면 state j로 갈 수 있어야 함. • 두 가지 조건을 필요로 함 • (1) i, j 에 대응되는 모든 state가 있어야 하며 • (2) 각 state의 값(possibility)은 0 이상이어야 함 • 위 두 조건은다음을 만족시킴 • (1) 특정 state로부터 어떤 state로든 transition이 가능함(non-zero probability) • (2) state들은 partition된 한 부분집합에서 다른 부분집합으로 cyclic하게 transition 되지 않고 global하게 transition이 이루어짐

  15. Markov Chain • Theorem 21.1 • For any ergodic Markov chain, there is a unique steady-state probability vector that is the principal left eigenvector of P, such that if η(i,t) is the number of visits to state i in t steps, then • where is the steady-state probability for state i. • Steady-state Markov chain의 left eigenvector 는 time t가 무한대일때 state i에서의number of visit η을 time t로 나눈 비율과 같다. • 어떤 state에서 steady-state 확률은 그 web page의 PageRank와 대응한다.

  16. The PageRank Computation • PageRank의 계산 • 18.2장의 left eigenvector를 계산하는 방법과 같음 • : steady-state에서 web surfer가 각 page에 있게 될 확률분포 • 가 steady-state 분포일 때, • 따라서 P의 eigenvalue 는 1이 됨 • Eigenvector의 계산에는 여러 가지 방법이 존재하고, text에서는 방법 중 하나인 power iteration method를 소개함

  17. The PageRank Computation • Power iteration method • Vector x가 초기 분포라고 할 때, t=1일 때 분포는 xP • t=2 일 때 분포는 xP· P = xP2 • t=3 일 때 분포는 xP2· P = xP3 • t=n 일 때 분포는 xPn이 되며, n이 클 때 Markov chain은 steady-state가 된다. • Frequencies for each state “settle down” • Frequency의 variation이 threshold 이하가 될 때 power 연산을 중지하며, 이 때 계산된 state들의 값이 PageRank value가 된다. • 예제) initial probability distribution , α = 0.5 steady-state dist. vector π

  18. The PageRank Computation • A small web graph and probability matrix P (α = 0.14)

  19. Topic-specific PageRank • Consider teleporting to a random web page chosen non-uniformly • Sports에 관심이 있는 random surfer를 가정 • random walk를 하는 대신 sport에 관련된 페이지를 방문하게 되므로관련 페이지의 steady-state 분포가 증가한다. • Teleportation도 “random page on the topic of sports”에 한해 일어나게 된다. • Sports-related nonzero subset S를 상정하여, 그 안에서 teleport를 하도록 한다. • Sports-related nonzero subset S에서의 PageRank를 vector πs라 하고, subset S에 포함되지 않은 state에 대해서는 0을 할당한다. • Vector πs를 “Topic-specific PageRank for Sports” 라고 한다. • 다른 Topic-specific PageRank 분포도 또한 생각해 볼 수 있다. • Science, religion, politics, … • 유저가 어떤 주제에 관심이 있는 경우, 대응되는 topic-specific PageRank를 적용한다.

  20. Topic-specific PageRank • Random surfer가 multiple topic mixture에 관심이 있는 경우 • 60% sport, 40% politics 가정 • Linear combinationof small number of topic page distribution으로 대응한다. • Personalized PageRank Vector는 다음과 같이 계산된다.

  21. Hubs and Authorities • 모든 web page는 두 가지 score로 계산된다. • (1) hub score (2) authority score • 예1) high authority score • “I wish to learn about leukemia” • Authoritative sources of information on the topic • 이 경우, the National Cancer Institute’s page on leukemia가 된다. • 이런 페이지들을 authorities 라고 부른다. • 예2) high hub score • 다른 경우, 어떤 topic에 대하여 사람이 직접 만든 authoritative page들의 링크 리스트가 있을 수 있다. • 이런 hub page는 authoritative하지는 않지만, 어떤 관심사에 대하여 사람이 직접 시간을 들여 만든 결과물이다. • 이런 hub는 authoritative한 페이지를 찾는 데 많은 도움이 된다.

  22. Hubs and Authorities • 좋은 hub page는 authority가 많이 포함된 page이다. • 좋은 authority page는 좋은 hub에 의해 많이 참조된 page이다. • 이러한 concept을 수식으로 표현하면 다음과 같다. • v→y 는 v로부터 y로의 링크를 나타내며, a(y)는 authority score를, h(y)는 hub score를 나타낸다. • v로부터 y로 향하는 페이지에서 authority score a(y)의 합이 h(v)가 된다. • 반대의 경우도 마찬가지이다. • 계산에는 adjacency matrix A를 이용한다. • Aij = 1 or Aij = 0 (21.8)

  23. Hubs and Authorities • Adjacency matrix A에서 (21.8)을 다시 표현하면, • AT는 transpose를 나타낸다. 서로 대입하면, • eigenvector를 구하는 식과 비슷해진다. • ← symbol을 =로 바꾸고, 미지수인 eigenvalue를 도입하면 각각 AT A, AAT에 대한 eigenvector를 구하는 식이 된다.

  24. Hubs and Authorities • 계산결과의 관찰 • 반복 연산에 의한 결과는 이전의 power iteration과 동일하다. • Vector h와 Vector a는 계산을 거듭할수록 steady-state value에 수렴한다. • 수렴 결과는 Adjacency matrix A를 반영하며, • Adjacency matrix는 web graph의 link structure를 반영하게 된다. • 반드시 power iteration method를 사용할 필요는 없으며, 더욱 좋은 다른 방법도 존재한다. • 계산 방법 정리 • target subset page들을 정리하여 adjacency matrix A로 정리하고, AAT와 ATA 를 계산한다. • AAT와 ATA 의 주고유벡터(principal eigenvector)를 계산하여 hub score(vector h)와 authority score(vector a)를 계산한다. • Top scoring hub와 authorities를 결과로 제시한다.

  25. Choosing the subset of the Web • 위에서 소개한 link analysis 방법을 HITS라고 한다. • Hyperlink Induced Topic Search • HITS를 계산하기 위해서는 target page를 잘 정의할 필요가 있다. • 우리는 leukemia 과 같은 topic을 어떻게 잘 모을 수 있는가? • → Choosing the subset of the Web

  26. Choosing the subset of the Web • Assembling a subset of web pages • leukemia에 대한 topic에 대하여 정리하고자 할 때, • 좋은 authority page는 leukemia와 같은 term을 포함하고 있지 않을 수도 있다. • 예) IBM은 computer나 hardware와 같은 term을 전혀 포함하지 않는다. 대신, hub를 살펴 볼 때 IBM website를 가리키고 있는 경우가 많다. • 위와 같은 관찰에 의거, subset page를 정의하고자 할 때 다음과 같은 procedure가 제안되었다. • Query(→leukemia)로 leukemia를 포함한 페이지를 모두 찾아낸다. 이들을 root set of pages 라고 지칭한다. • Root set으로부터 Base set of pages를 만들어낸다. 이들은 root set에 있는 page를 가리키거나, root set에 있는 페이지들에 의해 참조된 페이지를 포함한다. • Base set을 hub와 authority score를 구하기 위해 사용한다.

  27. Choosing the subset of the Web • Base set 은 세 가지 이유에 의해 만들어진다. • 좋은 authority page는 query text를 포함하지 않을 수 있다. • 적어도 query text가 좋은 hub page를 찾아 내었을 때, hub page로부터 좋은 authority page가 유도될 수 있다. • 반대로 query text에 의해좋은 authority page가 찾아졌을 때, 이들로부터 좋은 hub page가 유도될 수 있다. • “expansion(확장)”에 의해 root set은 좋은 hub와 authority page들의 pool인 base set이 된다. • HITS를 다양한 query로 실행시켜 보면 link analysis에 대한 몇 가지 재미있는 결과를 얻을 수 있다. • Top hub와 top authority에 대한 목록에서 query의 언어가 아닌 다른 언어의 페이지도 발견할 수 있다. • Cross-language retrieval의 일부 특성은 여기에서 명백하게 드러난다. • Translation이 전혀 개입되지 않은 link analysis의 결과에서 나타났다는 것은 매우 재미있는 사실이라 할 수 있다.

  28. Choosing the subset of the Web • Top hub와 authority score의 정확한 값은 구할 필요가 없다. • 상대적인 score만을 알면 그것으로 충분한 결과가 된다. • 이것은 작은 수의 반복만으로도 결과를 이끌어 낸다는 것을 의미한다. • 실험 결과, 5번의 반복으로도 괜찮은(fairly good) 결과를 나타냄을 보였다. • 또한, link structure가 매우 sparse하여, matrix-vector product가 아닌 (21.8)의 additive update만으로도 결과를 이끌어낼 수 있었다. • 예시) “Japanese elementary school” query에 대한 HITS의 결과

More Related