PageRank y HITS. Felipe Bravo Márquez. 8 de noviembre de 2013. F. Bravo-Marquez PageRank y HITS



Documentos relacionados
Análisis de Redes Complejas: Un paseo

Procesamiento de Texto y Modelo Vectorial

Matrices equivalentes. El método de Gauss

Redes y Sistemas Complejos Cuarto Curso del Grado en Ingeniería Informática. Seminario 2: Análisis de Redes y Búsqueda en la Web: PageRank

Estructura de la Web. Felipe Bravo Márquez. 6 de noviembre de 2013

Análisis de Redes Sociales

Cadenas de Markov y Perron-Frobenius

Recuperación de Información en Internet Tema 3: Principios de Recuperación de Información

Alvaro J. Riascos Villegas Universidad de los Andes y Quantil. Marzo 14 de 2012

UNIDAD 4 PROCESOS DE MARKOV

1 v 1 v 2. = u 1v 1 + u 2 v u n v n. v n. y v = u u = u u u2 n.

Tema 2. Espacios Vectoriales Introducción

Introducción a la Teoría de Grafos

Algoritmos sobre Grafos

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Subespacios vectoriales en R n

El Álgebra Lineal detrás de Google

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Técnicas para mejorar nuestro Posicionamiento

Tema 3: Aplicaciones de la diagonalización

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

PROBABILIDADES Y ESTADÍSTICA (C) Práctica 2

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

1. Números Reales 1.1 Clasificación y propiedades

Materia: Informática. Nota de Clases Sistemas de Numeración

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Matrices Invertibles y Elementos de Álgebra Matricial

PROBABILIDADES Y ESTADÍSTICA (C) Práctica 2

Cadenas de Markov.

Espacios generados, dependencia lineal y bases

Ingeniería de Aplicaciones Web

Función exponencial y Logaritmos

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

1.4.- D E S I G U A L D A D E S

Ecuaciones de primer grado con dos incógnitas

ESTIMACIÓN. puntual y por intervalo

Lección 24: Lenguaje algebraico y sustituciones

Cadenas de Markov. Ejercicios resueltos Página 1 EJERCICIOS RESUELTOS DE CADENAS DE MARKOV

MODELOS DE RECUPERACION

Geometría Tridimensional

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano.

Sistemas de ecuaciones lineales

M a t e m á t i c a s I I 1

PEOBLEMAS RESUELTO DE CADENAS DE MARKOV

Tema 3. Espacios vectoriales

SISTEMAS DE NUMERACIÓN. Sistema decimal

Módulo 9 Sistema matemático y operaciones binarias

2.2 Transformada de Laplace y Transformada Definiciones Transformada de Laplace

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales.

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

x y 8000 x + y a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.

Ejemplo: Resolvemos Sin solución. O siempre es positiva o siempre es negativa. Damos un valor cualquiera Siempre + D(f) =

1.1. Introducción y conceptos básicos

SIMULACION. Formulación de modelos: solución obtenida de manera analítica

4 APLICACIONES LINEALES. DIAGONALIZACIÓN

Profr. Efraín Soto Apolinar. Factorización

4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD

Ejercicios de Trigonometría

VI Olimpiada de Informática del estado de Guanajuato Solución Examen Teórico

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR}

Análisis de los datos

Unidad Formativa UF0525: Gestión Administrativa para el Asesoramiento de Productos de Activo

Tema 3: Variables aleatorias y vectores aleatorios bidimensionales

1. a) Definimos X =número de personas con síntomas si examino sólo una persona, la cual sigue una distribución B(1, p), donde

Semánticas de procesos y aplicaciones

Universidad Diego Portales Facultad de Economía y Empresa. 1. Reputación. Apuntes de Teoría de Juegos Profesor: Carlos R. Pitta

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

ÁLGEBRA DE MATRICES. Al consejero A no le gusta ninguno de sus colegas como presidente.

MATEMÁTICAS BÁSICAS. Autora: Jeanneth Galeano Peñaloza Edición: Oscar Guillermo Riaño

MATEMÁTICAS CCSS II Sobrantes 2010 (Modelo 1) SELECTIVIDAD ANDALUCÍA OPCIÓN A EJERCICIO 1

ANÁLISIS DE UN JUEGO DE CARTAS: LAS SIETE Y MEDIA

Repaso de matrices, determinantes y sistemas de ecuaciones lineales

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S

LÍMITES Y CONTINUIDAD DE FUNCIONES

Análisis de propuestas de evaluación en las aulas de América Latina

Anexo 1: Demostraciones

Covarianza y coeficiente de correlación

4 Aplicaciones Lineales

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

TEMA 2: Representación de la Información en las computadoras

Curso de Procesamiento Digital de Imágenes

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Conceptos y Herramientas POSICIONAMIENTO WEB. 1

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

Por ejemplo convertir el número 131 en binario se realiza lo siguiente: Ahora para convertir de un binario a decimal se hace lo siguiente:

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION


Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

EJERCICIOS DE MATEMÁTICAS I HOJA 4. Ejercicio 1. Se consideran los vectores

Números Reales. MathCon c

POSICIONAMIENTO WEB. Una web sin posicionamiento tiene muy limitado el tráfico y una página web sin tráfico es comercialmente inútil.

VII. Estructuras Algebraicas

ESTRUCTURAS ALGEBRAICAS 1

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES. ÁLGEBRA PARA INGENIEROS (Solucionario)

Transcripción:

PageRank y HITS Felipe Bravo Márquez 8 de noviembre de 2013

Analizando la Web como un Grafo La Web es una colección de documentos interconectados por hipervínculos (links). Se modela como un grafo dirigido donde los vértices son documentos y las aristas son links. Generalmente, cuando un sito A apunta a un sitio B (A B). Se asume que el autor de A aprueba el contenido de B.[Manning et al., 2008] Los motores de búsqueda consideran para rankear documentos para una consulta además de la similitud de contenido, la popularidad del documento dentro del grafo Web. Una página es considerada popular cuando es muy apuntada, lo que tiene relación con la centralidad del vértice en el grafo.

PageRank [1] Tanto la Web como una red de publicaciones y sus citas son redes de información. Se puede realizar la analogía de la Web hacia sus link como para los papers hacia sus citas. Mientras mayor sea el número de citas de un paper, mayor es su impacto y más confiable es su contenido. No es lo mismo ser citado por un paper que con el tiempo se vuelve muy citado a ser citado por un paper que pasa al olvido. Idea circular:el voto o citación es ponderado de acuerdo al índice de impacto. Este concepto fue inventado en Bibliometría en 1960 por Pinsker y Narin.

PageRank [2] Brin & Page lo introducen en 1998 en la Web como Pagerank como propuesta para el buscador Google. [Brin and Page, 1998]

El random surfer [1] Consideremos un random surfer que sigue un paseo aleatorio navegando a través de los links desde una página inicial. Cuando el random surfer se encuentra en la página A, éste puede seguir navegando por cada uno de sus out-links de manera equiprobable. Figura: El random surfer seguirá por B,C o D con probabilidad 1/3 Las páginas que visite el surfista aleatorio con mayor frecuencia deben ser más importantes. El surfista se teletransporta cualquier sitio de manera uniforme si no existen out-links y puede teletransportarse en cualquier momento con probabilidad 0 < α < 1 a cualquier sitio del grafo.

PageRank [2] Figura: Fuente: http://en.wikipedia.org/wiki/pagerank

PageRank y Markov El paseo aleatorio del random surfer se modela con cadenas de Markov discretas. Markov Una cadena de Markov discreta es un proceso estocástico que ocurre en una serie de pasos de tiempo donde se toman decisiones aleatorias. Consiste en N estados (páginas) y una matriz de transiciones entre estados de N N llamada P con valores [0, 1] además i, N j=1 P ij = 1. En una cadena de Markov, el próximo estado depende solamente del estado actual. Una matriz con entradas no negativas, que satisfaga la ecuación anterior se denomina como una matriz estocástica. En cada paso del proceso, estamos en un estado particular (una página a la vez). Cada elemento P ij representa la probabilidad de transición desde el estado i al estado j.

PageRank y Markov [2] Figura: Cadena de Markov de tres estados La cadena de la figura tendría la siguiente matriz P de (3 3) de transiciones: P = Todas las filas suman 1. 0 0,5 0,5 1 0 0 1 0 0

PageRank y Probabilidades Estacionarias Cuando calculamos PageRank, buscamos un vector de probabilidades estacionarias sobre la matriz de transiciones P. La probabilidad estacionaria de un estado π i representa la probabilidad de llegar a ese estado cuando la cantidad de transiciones tiende a infinito. El PageRank de una página, es su probabilidad estacionaria. Sea η(i, t) la cantidad de veces que se ha caído en el estado i para el período t en un paseo aleatorio sobre el grafo: π i = lím t η(i, t) t

Vector de Probabilidades Estacionarias Ergocidad Una matriz estocástica admite probabilidad estacionarias sólo si es ergódica. Donde una cadena de Markov ergódica debe ser irreductible y aperiódica. La irreductibilidad exige que haya un camino desde cualquier página a otro (lo solucionamos con la teletransportación). La aperiodicidad exige que no se caiga en ciclos debido a referencias circulares tipo A B y B A. (Se soluciona con teletransportación y se mejora podando las referencias circulares del grafo).

Vector de Probabilidades Estacionarias [2] Vector Propio Izquierdo Una matriz estocástica ergódica tiene un vector propio izquierdo principal π correspondiente a su valor propio λ de mayor valor. π P = λ π El vector propio principal es equivalente al vector de probabilidades estacionarias π. Por el teorema de Perron-Frobenius sabemos que para matrices estocásticas el mayor valor propio λ vale siempre 1, entonces π P = π

Computando PageRank Podemos partir con un π 0 y recomputar π P hasta converger al vector de probabilidades estacionarias (Iteración de Potencias). Ejemplo: Sea el grafo Web de nodos 1, 2, 3 con la siguiente estructura de links: 1 2, 3 2, 2 1, 2 3. Comenzamos definiendo una matriz de adyacencia A tal que A ij vale 1 si i apunta a j y 0 caso contrario. Para el ejemplo A es una matriz de 3 3. 0 1 0 A = 1 0 1 0 1 0 Debemos transformar esta matriz en una matriz de transición estocástica y ergódica. Si alguna fila no tiene 1 s reemplazamos sus valores por 1/N. Dividimos cada valor 1 en A por la cantidad de 1 s en su fila, para respetar propiedad estocástica. 0 1 0 1/2 0 1/2 0 1 0

Computando PageRank Multiplicamos la matriz resultante por el escalar 1 α, generalmente se usa α = 0,25 (teletransportación) ahora usaremos α = 1. 2 0 1/2 0 1/4 0 1/4 0 1/2 0 Sumamos α, (1/6 en el ejemplo) a todas las entradas de la matriz N resultante y obtenemos P. La matriz de transición del random surfer. P = 1/6 2/3 1/6 5/12 1/6 5/12 1/6 2/3 1/6 Imaginemos que el surfista comienza en la página 1 tomamos como π 0 = [1, 0, 0]. Computamos π 1 = π 0P = [1/6, 2/3, 1/6]. Computamos π 2 = π 1 P = [1/3, 1/3, 1/3]. Iteramos: π 3 = [1/4, 1/2, 1/4], π 4 = [7/24, 5/12, 7/24] Después de varios pasos convergemos a π = [5/18, 4/9, 5/18]. Podemos usar un criterio de parada π i+1 π i < ɛ [Velasquez and Palade, 2008].

Conclusiones de PageRank La actualización del PageRank de una página se puede representar con la siguiente expresión: x i+1 p = α N + (1 α) q,p/q p x (i) q outdeg(q) PageRank rankea las páginas de manera independiente de una consulta. Para tener un PageRank elevado no basta con ser muy apuntado (in-degree) es necesario ser apuntado por páginas con alto PageRank. PageRank se puede calcular off-line, osea se puede tener precalculado para cuando llega una consulta. Los motores de búsqueda lo precalculan. Variaciones de PageRank se usan en el proceso de crawling para darle prioridad a sitios más relevantes en la cola de prioridad.opic (Online Page Importance Computation).

HITS HITS (Hyperlink-Induced Topic Search) [Kleinberg, 1998] propone que dada una consulta q cada página existente en el grafo Web tendrá dos tipos de puntajes asociados (un puntaje hub y un puntaje authority). Al igual que PageRank, HITS propone que los links entregan información semántica no necesariamente contenida en el matching de texto entre una consulta y un documento. Para cada consulta se construye un subgrafo de la Web, donde se computa un puntaje de hub y otro de authority para cada documento del subgrafo donde: 1 Una página con alto puntaje de authority proveerá información relevante para la consulta. 2 Una página con alto puntaje de hub proveerá links a sitios relevantes para la consulta. Entonces un buen hub apunta a buenas authorities y una buena authority es apuntada por buenos hubs.

Hubs y Autoridades Figura: Hubs y Autoridades para una consulta s q= Top automobile makers

HITS Se modelan los puntajes hubs y authority de una página de la siguiente forma: Definiciónes El puntaje hub de un sitio v h(v) es la suma del puntaje de autoridad de todos los sitios que apunta: h(v) v y a(y) El puntaje de autoridad de un sitio v a(v) es suma del puntaje hub de todos los sitios que lo apuntan: a(v) y v h(y)

Escogiendo un subconjunto de la Web Es muy importante en HITS el subconjunto de la Web que se procesa dada una consulta q. Se esperan encontrar documentos que no necesariamente son similares textualmente a la consulta pero que si son buenos satisfaciendo una necesidad de información. Por ejemplo para una consulta sobre autos una página que sólo contiene imágenes de autos no sería bien rankeada con tf-idf, pero probablemente sea apuntada por documentos que si contienen alta similitud textual. Se espera que las páginas hubs contengan mayor similitud textual, pero las autoridades sean mejores resolviendo la necesidad de información asociada a la consulta. Las autoridades aportan al ranking, mientras que los hubs no [Manning et al., 2008]. Dada una consulta q se toman los primeros k documentos mediante alguna medida de rankeo textual (tf-idf) Ese conjunto S se exande agregando todos los in-links y out-links del conjunto para obtener S como subgrafo Web a procesar.

Computando HITS Se tiene la matriz de adyacencia A sobre el subgrafo Web donde se computarán los puntajes h(v) y h(a) v G. Donde en A, A ij = 1 si v i v j para todo i, j y 0 en caso contrario. Relaciones Matriciales Matricialmente se puede representar los puntajes de hub y authority como: h A a a A T h Si A ij modela los existencia de out-links de i a j, A T nm modela la existencia de un in-link de n a m (m apunta a n). Reemplazamos en ambas ecuaciones para obtener definiciones recursivas: h AA T h a A T A a

Relaciones Matriciales [2] Las relaciones anteriores se parecen a las relaciones de vectores propios usadas en Pagerank, entonces si pasamos las relaciones de a relaciones de igualdad, aparecen valores propios desconocidos porque nuestras matrices no son estocásticas y no necesariamente se cumple λ = 1 como en Pagerank : h = (1/λh )AA T h a = (1/λa )A T A a Para poder realizar iteración en potencias (como en PageRank), se normalizan los vectores h y a tal que la suma de sus elementos sume 1 en cada interacción.

Ejemplo Ejemplo: Supongamos que a partir de una consulta obtenemos un sub-grafo Web de nodos 1, 2, 3 con la siguiente estructura de links: 1 2, 1 3, 2 3, 3 1. A = A T = 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 Luego h AA T h con h 0 = [1 1 1] T con 2 1 0 AA T = 1 1 0 0 0 1 h 1 AA T h = [3 2 1] T Normalizamos y obtenemos h 1 = [0,5 0,33 0,166] T h 2 = [0,571437 0,357148 0,07143] T = h 3

Ejemplo [2] Nos damos cuenta que el vector de hubs tiene sentido el sitio de acuerdo a la definición, 1 es el que más apunta por lo que tiene mayor peso, y el sitio 2 pesa más que el sitio 3 pues apunta al sitios con mayor autoridad. Ahora calculamos el vector de autoridades con a 0 = [1 1 1] T A T A = 1 0 0 0 1 1 0 1 2 a A T A a = [1 2 3] T, normalizamos y nos queda a 1 = [0,1666 0,3333 0,5] a 2 = [0,071429 0,357143 0,5471429] T a 3 = [0,028571 0,37149 0,6] T = a 4

References I Brin, S. and Page, L. (1998). The anatomy of a large-scale hypertextual web search engine. Computer Networks and ISDN Systems, 30(1-7):107 117. Proceedings of the Seventh International World Wide Web Conference. Kleinberg, J. M. (1998). Authoritative sources in a hyperlinked environment. In SODA, pages 668 677. Manning, C. D., Raghavan, P., and Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press, New York, NY, USA. Velasquez, J. D. and Palade, V. (2008). Adaptive Web Sites: A Knowledge Extraction from Web Data Approach.