290 likes | 567 Views
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).
E N D
Chapter 21Link 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)
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하는 방식으로 동작한다
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을 사용하지는 않음
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
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라도 방문하게 될 수 있음 • 링크 방문이 아닌, 주소 창에 주소를 직접 입력하는 방식
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)를 계산한다.
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)
Markov Chain • Markov Chain의 예시 • 최초 상태가 다음과 같이 주어졌다면, 다음날의 날씨는 • 와 같이 나타낼 수 있음 • 전 페이지의 (21.1)과 같이, 예시의 상태 전이 확률(state transition matrix)에서 각 행의 합은 1이고, 각 state의 확률은 0-1 사이의 값을 가짐
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)
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를 구성
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를 얻음
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
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이 이루어짐
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와 대응한다.
The PageRank Computation • PageRank의 계산 • 18.2장의 left eigenvector를 계산하는 방법과 같음 • : steady-state에서 web surfer가 각 page에 있게 될 확률분포 • 가 steady-state 분포일 때, • 따라서 P의 eigenvalue 는 1이 됨 • Eigenvector의 계산에는 여러 가지 방법이 존재하고, text에서는 방법 중 하나인 power iteration method를 소개함
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 π
The PageRank Computation • A small web graph and probability matrix P (α = 0.14)
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를 적용한다.
Topic-specific PageRank • Random surfer가 multiple topic mixture에 관심이 있는 경우 • 60% sport, 40% politics 가정 • Linear combinationof small number of topic page distribution으로 대응한다. • Personalized PageRank Vector는 다음과 같이 계산된다.
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한 페이지를 찾는 데 많은 도움이 된다.
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)
Hubs and Authorities • Adjacency matrix A에서 (21.8)을 다시 표현하면, • AT는 transpose를 나타낸다. 서로 대입하면, • eigenvector를 구하는 식과 비슷해진다. • ← symbol을 =로 바꾸고, 미지수인 eigenvalue를 도입하면 각각 AT A, AAT에 대한 eigenvector를 구하는 식이 된다.
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를 결과로 제시한다.
Choosing the subset of the Web • 위에서 소개한 link analysis 방법을 HITS라고 한다. • Hyperlink Induced Topic Search • HITS를 계산하기 위해서는 target page를 잘 정의할 필요가 있다. • 우리는 leukemia 과 같은 topic을 어떻게 잘 모을 수 있는가? • → Choosing the subset of the Web
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를 구하기 위해 사용한다.
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의 결과에서 나타났다는 것은 매우 재미있는 사실이라 할 수 있다.
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의 결과