Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 18: Link analysis Introduction to Information Retrieval Aula de Hoje Texto âncora. Link análise para o ranking. Pagerank e variantes. HITS. Sec. 21.1 Introduction to Information Retrieval A Web como um Grafo direcionado Pag. A âncora hyperlink Pag B Hipótese 1: Um hyperlink entre as páginas mostra a relevância percebida pelo autor (qualidade do sinal). Hipótese 2: O texto âncora do hyperlink descreve o destino da página (contexto textual). Sec. 21.1.1 Introduction to Information Retrieval Texto âncora WWW Worm - McBryan [Mcbr94] Para ibm como a distinção entre: IBM’s home page (amostra grafica). IBM’s copyright page (alta frequencia de termo para ‘ibm’). Rival’s spam page (arbitrariamente alta freq. termo.) “ibm” Um milhão de partes para texto âncora para “ibm” mandando um sinal forte. “ibm.com” www.ibm.com “IBM home page” Sec. 21.1.1 Introduction to Information Retrieval Indexação do texto âncora Ao indexar um documento D, incluir o texto âncora de links que apontam para D. Armonk, NY-based computer giant IBM announced today www.ibm.com Joe’s computer hardware links Sun HP IBM Big Blue today announced record profits for the quarter Introduction to Information Retrieval Sec. 21.1.1 Indexação de texto âncora Pode as vezes ter efeitos colaterais inesperados- e.g., império do mal. Pode marcar o texto âncora com peso dependendo da entidade âncora da página do site. E.x., se fôssemos assumir que o conteúdo de cnn.com ou yahoo.com seja autoritário, e em seguida seja o texto âncora de confiança deles. Introduction to Information Retrieval Sec. 21.1.1 Texto âncora Outras aplicações: Ponderação / links de filtragem no gráfico. Gerando a partir de descrições de página de texto âncora. Introduction to Information Retrieval Análise de Citações Frequência da Citação. Co-citação de frequência de acoplamento. Cocitação com medidas de um determinado autor de “impacto”. Análise de Cocitação. Frequência Bibliographica de acoplamento. Artigos que fazem co-citação de artigos relacionados. Indexação de Citação. Quem é o autor sitado por? (Garfield 1972). Vizualizando Pagerank : Pinsker and Narin ’60s. Introduction to Information Retrieval Consulta independente da ordenação Primeira Geração: através da contagem de link como medidas simples de popularidade. Duas sugestões básicas: Popularidade indireta: Cada página recebe uma pontuação = o número de in-links mais os números de ligações out-links (3+2=5). Direcionando a popularidade: Resultado de uma página = número de in-links (3). Introduction to Information Retrieval Processamento de Consultas Primeiro recupera todas as páginas da reunião da consulta de texto (digamos capital de risco). Ordenar estes pela popularidade do link (qualquer variante do slide anterior). Mais sutil – a utilização do link conta como uma boa medida estática (Aula7), combinando com o resultado do texto. Introduction to Information Retrieval Spamming popularidade simples Exercício: How do you spam each of the following heuristics so your page gets a high score? Cada página recebe uma pontuação fixa = ao número de in-links mais o número de out-links. Contagem fixa de uma página = aos números dos inlinks. Introduction to Information Retrieval Sec. 21.2 Pontuação Pagerank Imagine um navegador fazendo um passeio aleatório em páginas da Web: 1/3 1/3 Estartar uma página 1/3 randômicamente. Em cada etapa, saia da página atual ao longo de um dos links da página, equacionadamente. “Em um estado parado” cada página tem um longterm na taxa de visita – use isso como pontuação da página. Sec. 21.2 Introduction to Information Retrieval Não é o Bastante A web é cheia de becos sem saidas. Random walk podem ficar presos em becos sem saida. Não faz sentido falar de long-term para taxas de visitas. ?? Introduction to Information Retrieval Sec. 21.2 Teleporting Em um beco sem saida, salta aleatóriamente para uma pág. Web. Em todo final non-dead, com probabilidade de 10%, salta para uma página randomicamente. Com o restante da probabilidade (90%), sair para um link aleatório. 10% - um parâmetro. Introduction to Information Retrieval Sec. 21.2 Resultado do teleporting Agora não podem ficar presos no local. Existe uma taxa para long-term onde uma página é visitada (não é óbvio, mostrar isso). Como podemos calcular essa taxa de visita? Sec. 21.2.1 Introduction to Information Retrieval Cadeias de Markov Uma cadeia de Markov consiste em n estados, mais nn probabilidade de transição da matriz P. A cada passo estamos em um dos estados. For 1 i,j n, a entrada da matriz Pij temos a probalidade de j ser o próximo estado, dado que estão atualmente no estado i. Pii>0 is OK. i Pij j Sec. 21.2.1 Introduction to Information Retrieval Cadeias de Markov n Pij 1. Evidente , j 1 para todo i, Cadeias de Markov são abastrações de passeios aleatórios. Exercise: represent the teleporting random walk from 3 slides ago as a Markov chain, for this case: Sec. 21.2.1 Introduction to Information Retrieval Cadeia de Markov Ergodic Uma cadeia de Markov é ergodic se se você tem um caminho a partir de qualquer estado para qualquer outro. Para qualquer estado inicial , após um tempo finito T0, a probablidade de ser em qualquer estado em um tempo fixo T>T0 é diferente de zero. Not ergodic (even/ odd). Introduction to Information Retrieval Sec. 21.2.1 Cadeias de Markov Ergodic Para qualquer cadeia de Markov ergótica existe uma taxa de visita long-term para cada estado. Probabilidade de distribuição Steadystate(estado-equilibrio). Durante um tempo, visitamos cada estado na proporção desta taxa. Não importa o ponto de partida. Sec. 21.2.1 Introduction to Information Retrieval Vetor de Probabilidade Uma probabilidade (linha) do vetor x = (x1, … xn) nos diz que o caminho é qualquer ponto. Ex.., (000…1…000) significa que estamos em estado i. 1 i n Mais genéricamenteo o vetor x = (x1, … xn) significa que o andar esta em estados de i n com a probab. xi. x i 1 i 1. Introduction to Information Retrieval Sec. 21.2.1 Mudança na probalidade de vetores Se a prob do vetor é x = (x1, … xn) nesta etapa , é a próxima? Lembre-se que a linha i da transição prob. Matriz P onde vamos ao próximo estado i. Apartir de x, o próximo estado é distribuido como xP. Sec. 21.2.1 Introduction to Information Retrieval Exemplo do estado estável O estado estacionário parece um vetor de probabilidade a = (a1, … an): ai é a probabilidade de estarmos no estado i. 3/4 1/4 1 2 3/4 1/4 Para esse exemplo, a1=1/4 e a2=3/4. Introduction to Information Retrieval Sec. 21.2.2 Como calcular esse vetor? Dado a = (a1, … an) mostrar o vetor linha das probabilidades de estado estacionário. Se a posição atual é descrita por a, o próximo passo é distribuir aP. Mas a é o estado de equilíbrio , tal que a=aP. Resolvendo essa matriz de equação temos a. Assim a (esquerda) de autovetor para P. (Corresponde para o “principal” autovetor de P com o maior autovalor) Matrizes de transição de probalidade sempre tem o maior autovalor como 1. Introduction to Information Retrieval Sec. 21.2.2 Uma forma de calcular a Lembre-se que independente de onde começar eventualmente pode atingir o estado fixo a. Comece com a distribuição (say x=(10…0)). Depois de um step estamos em xP; Depois de dois steps xP2 , em seguida xP3 e assim por diante. “Eventualmente” para “grande” de k, xPk = a. Algoritimo: multiplicar x pelo valor incrementado de P até que o produto seja estável. Introduction to Information Retrieval Sec. 21.2.2 Resumo Pagerank Pré-processamento: Dado o grafo de links, construir a matriz P. A partir dele calcular a. A entrada ai é um número entre 0 e 1: O pagerank da pagina i. Processamento da Query: Recuperar paginas da consulta. Classificar por pagerank. A ordenação é independente da consulta. Introduction to Information Retrieval A Realidade Pagerank é usado no google, mas não é a história completa do ranking. Muitos recursos sofisticados são utilizados. Alguns endereços específicos para consulta de classes. Ranking de máquina ja aprendido (aula 15) é muito utilizado. Pagerank ainda é muito utilizado na politica de indexação. Introduction to Information Retrieval Pagerank: Questões e Variantes Quão realista é modelo surfar (surfer model) randômico? (Isso é importante?). E se modelarmos o botão de voltar? O Comportamento de surfar constantemente desvia para trajetos curtos. Motores de busca, bookmarks & directories fazem saltos não aleatórios. Tendenciosos Surfer Models A probabilidade da passagem do peso da borda baseado na passagem do topic/query (borda selecionada não uniforme). Bias salta para páginas no tema (e.x., com base em pessoal bookmarks & categorias de interesse). Introduction to Information Retrieval Sec. 21.2.3 Tópico Específico Pagerank Objetivo – Valores de pagerank que dependem da consulta do tema (topic). Conceitualmente, utilizamos um surfista que se teleporta aleatoriamente, com 10% de probabilidade, utilizando a seguinte regra: Seleciona um tema(uma das 16 categorias do nivel superior ODP) baseado na consulta & usuário específico distribuido sobre as categorias. Teleporte aleatório para uma página uniforme dentro do tema escolhido. Parece dificil de implementar: não é possivel calcular o PageRank no momento da consulta! Introduction to Information Retrieval Sec. 21.2.3 Tópico Específico Pagerank Offline: Compute pagerank para tópicos individuais. Consulta independente como antes. Cada página tem várias contagens do PageRank – uma para cada categoria ODP, com teletransporte só para essa categoria. Online: Contexto de consultas classificados em (maior distribuição de pesos) tópicos. Gerar pagerank dinamicamente com a pontuação para cada página – soma ponderada de topic-specific para pageranks. Introduction to Information Retrieval Sec. 21.2.3 Influenciando PageRank (“Personalização”) Input: Grafo Web W Influência do vetor v sobre temas v : (página grau de influência) Vector tem um Componente p/a Cada tópico Output: Rank do vetor r: (pagina importancia da página wrt v) r = PR(W , v) Introduction to Information Retrieval Sec. 21.2.3 Teletransporte Não Uniforme Esporte Teleport com 10% de probabilidade para uma página de esportes. Introduction to Information Retrieval Sec. 21.2.3 Interpretação da Composição de Score Dado um conjunto de vetores de personalização {vj} j [wj · PR(W , vj)] = PR(W , j [wj · vj]) Considerando a preferência do usuário sobre o tema, expressa como a combinação de vetores “basis” vj. Introduction to Information Retrieval Interpretação Esporte 10% teletransporte Esporte. Sec. 21.2.3 Sec. 21.2.3 Introduction to Information Retrieval Interpretação Saúde 10% teletransporte saúde. Sec. 21.2.3 Introduction to Information Retrieval Interpretação Saúde Esporte pr = (0.9 PResporte + 0.1 PRsaúde) gera : 9% teletransporte esporte, 1% teletransporte saúde. Introduction to Information Retrieval Sec. 21.3 Hyperlink-Induced Topic Search (HITS) Em resposta a uma consulta, ao invés de uma lista ordenada de cada consulta, encontra dois conjuntos de páginas inter-relacionadas: Páginas Hub são boas listas de links sobre o assunto. ex., “Bob’s listas de links relacionadas ao cancer.” Authority pages ocorrem recorrentemente em bons hubs para o assunto. Consultas mais adequadas para “termo amplo” do que consultas para encontrar a página. Obtém uma ampla parte da opinião comum. Introduction to Information Retrieval Sec. 21.3 Hubs e Autoridades Assim, uma boa página hub para um tópico points para muitas páginas de autoridade para o tópico. Uma página de boa autoridade para um tópico é apontada por muitos outros bons hubs sobre esse assunto. Definição Circular – vai transformar isso em um cálculo interativo. Sec. 21.3 Introduction to Information Retrieval A Expectativa AT&T Alice Authorities Hubs ITIM Bob O2 Empresas de telefonia Móvel Introduction to Information Retrieval Sec. 21.3 High-level scheme Extrair da web um conjunto básico de páginas que poderiam ser bons hubs de autoridade. A partir destas, identificar um pequeno conjunto de hub e páginas de autoridade superior; Algoritimo interativo. Introduction to Information Retrieval Sec. 21.3 Base set Atendendo a consulta de texto (say browser), utilização de um indice de texto para obter todas as páginas que contém o browser. Chame uma root set (conjunto raiz) das páginas. Adicionar em qualquer página que queira Aponta para uma página do conjunto raiz, ou É apontada por uma página na raiz do jogo. Chame essa base base set. Sec. 21.3 Introduction to Information Retrieval Visualização Conj raiz Base set Introduction to Information Retrieval Sec. 21.3 Montagem do Conjunto Básico Conjunto raíz tipico 200-1000 nós. Base set pode ter milhares de nós. Tópicos dependentes. Como encontrar os nós na base set ? Seguir as ligações ao analisar a raiz do conjunto de páginas. Obter in-links (e out-links) da conectividade de servidores (Aula 17). Introduction to Information Retrieval Sec. 21.3 Distribuindo hubs and authorities Calcular, para cada página x do base set, um hub score h(x) e um authority score a(x). Inicializar : para todo x, h(x)1; a(x) 1; Atualizar iterativamente todos h(x), a(x); Key Depois das iterações. Pag. saída com valor alto h() score para top hubs. valor alto a() scores com top authorities. Sec. 21.3 Introduction to Information Retrieval Atualização Iterativa Repita as seguintes atualizações para x: h( x) a( y) x x y a( x) h( y) y x x Introduction to Information Retrieval Sec. 21.3 Scaling Para evitar que os valores h() e a() fiquem muito grandes, pode-se diminuir o score a cada iteração. O Fator de dimencionamento não importa: Deve-se preocupar apenas com os valores relativos para o score. Introduction to Information Retrieval Sec. 21.3 Quantas Iterações? Afirmação: Os valores relativos do scores irão convergir após algumas iterações: De fato, devidamente dimensionados os pontos, h() e a() estabelecer um score fixo! A prova disso vem depois. É requerida a ordem relativa para o score de h() e a() - não sendo valores absolutos. Na prática, ~5 iterações podem levar a estabilidade. Sec. 21.3 Introduction to Information Retrieval Escoloas Fundamentais do Japan Hubs schools LINK Page-13 “ú–{‚ÌŠw• Z a‰„ ¬Šw Zƒz [ƒ ƒy [ƒW 100 Schools Home Pages (English) K-12 from Japan 10/...rnet and Education ) http://www...iglobe.ne.jp/~IKESAN ‚l‚f‚j ¬Šw Z‚U”N‚P‘g•¨Œê ÒŠ—’¬—§ ÒŠ—“Œ ¬Šw Z Koulutus ja oppilaitokset TOYODA HOMEPAGE Education Cay's Homepage(Japanese) –y“ì ¬Šw Z‚̃z [ƒ ƒy [ƒW UNIVERSITY ‰J—³ ¬Šw Z DRAGON97-TOP ‰ª ¬Šw Z‚T”N‚P‘gƒz [ƒ ƒy [ƒW ¶µ°é¼ÂÁ© ¥á¥Ë¥å¡¼ ¥á¥Ë¥å¡¼ Authorities The American School in Japan The Link Page ‰ª• èsŽ—§ˆä“c ¬Šw Zƒz [ƒ ƒy [ƒW Kids' Space ˆÀ• ésŽ—§ˆÀ é¼ •” ¬Šw Z ‹{ 鋳ˆç‘åŠw• ‘® ¬Šw Z KEIMEI GAKUEN Home Page ( Japanese ) Shiranuma Home Page fuzoku-es.fukui-u.ac.jp welcome to Miasa E&J school _“Þ ìŒ§ E‰¡•l s—§’† ì ¼ ¬Šw Z‚̃y http://www...p/~m_maru/index.html fukui haruyama-es HomePage Torisu primary school goo Yakumo Elementary,Hokkaido,Japan FUZOKU Home Page Kamishibun Elementary School... Introduction to Information Retrieval Sec. 21.3 Pertence a nota Recupera páginas boas independente do idioma de conteúdo dessa página. Utilize o link depois de analisar a base set montada. A pontuação iterativa é independente da consulta. Cálculo iterativo depois de recuperar o texto do índice – significativa sobrecarga. Sec. 21.3 Introduction to Information Retrieval Prova da Convergência nn adjacency matrix A: Cada uma das n páginas na base set tem uma linha e coluna na matriz. Entry Aij = 1 if page i links to page j, else = 0. 1 2 3 1 1 0 2 1 3 0 2 1 1 1 3 1 0 0 Sec. 21.3 Introduction to Information Retrieval Vetor Hub/autoridade Ver o hub scores h() e a autoridade scores a() como vetores com n components. Recall as atualizações iterativas. h( x) a( y) x y a( x) h( y) y x Sec. 21.3 Introduction to Information Retrieval Reescreva na forma matriz h=Aa. a=Ath. Recall At is the transpose of A. Substituting, h=AAth and a=AtAa. portanto, h é um autovetor de AAt e a é um autovetor de AtA. Por outro lado, o algoritimo é um conhecido algoritimo para calcular autovetores: the power iteration method. Guaranteed to converge. Introduction to Information Retrieval Sec. 21.3 Questões Topic Drift. Páginas Off-topic podem causar off-topic “autoridades” devolvidas. Ex., O gráfico de proximidade pode ser referente a um “super topic”. Reforçam Mutamente Afiliados. pages/sites afiliados podem retornar e aumentar scores uns dos outros. Linkage entre páginas afiliadas não é um sinal útil. Introduction to Information Retrieval Recursos IIR Chap 21. http://www2004.org/proceedings/docs/1p309.pdf http://www2004.org/proceedings/docs/1p595.pdf http://www2003.org/cdrom/papers/refereed/p270/ kamvar-270-xhtml/index.html http://www2003.org/cdrom/papers/refereed/p641/ xhtml/p641-mccurley.html