Ppagerank

  • Uploaded by: oscar reyes
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ppagerank as PDF for free.

More details

  • Words: 1,118
  • Pages: 4
Pr´actica 4 de Computaci´on Cient´ıfica I Proyecto: Algoritmo PageRank

Fecha de distribuci´on: 13-14/11/2008 Fecha de entrega: 15/01/2009

1.

Ejercicios obligatorios

1. El objetivo del proyecto es ordenar, seg´ un su relevancia, las p´aginas de un sitio web, seg´ un las ideas del algoritmo PageRank empleado en el buscador de Google. El proyecto se desarrollar´a sobre los siguientes sitios web: a) http://www.eps.uam.es b) http://www.uam.es. Dado el volumen de este sitio, ser´a necesario usar t´ecnicas espec´ıficas para matrices sparse. Las fases a seguir ser´an: a) Obtener las relaciones (qu´e p´agina apunta a cu´al) entre las p´aginas del sitio web. Para ello se podr´a usar un Web Spider/Crawler, como por ejemplo el disponible en http://www.openwebspider.org Se recomienda ejecutar el spider fuera de horas de trabajo, en horario nocturno o fin de semana, para evitar cargar los servidores del sitio web. Tambi´en se recomienda usar las siguientes opciones: descargar s´olo las relaciones entre p´aginas (por ejemplo, opci´on ’-r 2’ de openwebspider) y no las p´aginas en s´ı, con su contenido evitar la indexaci´on de las p´aginas (opci´on ’-n’ de openwebspider) evitar saltar a nodos externos al suministrado (opci´on ’-e’ de openwebspider) b) A partir de las relaciones entre p´aginas construir la matriz correspondiente a la cadena de Markov subyacente. Para ello se recomienda usar alguna herramienta de proceso de ficheros de texto, como awk o perl. c) Desarrollar y aplicar el algoritmo PageRank para ordenar las p´aginas Se pide: a) Un programa octave que implemente el algoritmo Pagerank, usando el m´etodo de potencias para el c´alculo de autovalores. 1

16 de enero de 2009, Pr´actica 4 de Computaci´on Cient´ıfica I-Proyecto: Algoritmo PageRank

2

1) Estudiar bajo qu´e condiciones se cumple que X

xi = 1 .

i

2) Aplicar el resultado anterior para trabajar s´olo con matrices sparse. b) Partiendo de los ficheros con la matriz de relaciones entre p´aginas suministrados, o de los obtenidos por el alumno, la lista de las 100 p´aginas m´as importantes de cada los sitios web de la UAM y la EPS, junto con la puntuaci´on obtenida para cada una. Discutir los resultados. c) Un estudio sobre el efecto de alterar el valor del par´ametro de damping α (incluyendo el caso en que valga 1) sobre la convergencia y los resultados obtenidos. d ) Unos programas en awk, perl, etc. que generen: 1) un fichero con los identificadores num´ericos asignados a cada p´agina; 2) un fichero octave con la matriz de relaciones a partir de los ficheros de texto plano con las p´aginas enlazadas y sus identificadores num´ericos. e) Realizar el proceso completo para las webs de la EPS y de la UAM, y alguna otra como http://www.upm.es, http://www.ucm.es o http://www.uc3m.es: 1) Ejecutar openwebspider para obtener los enlaces entre p´aginas. 2) Descargar estos enlaces de la base de datos MySQL a un fichero plano. 3) Generar el fichero octave con la matriz de enlaces entre p´aginas a partir del fichero de texto anterior. 4) Aplicar el algoritmo Pagerank para obtener las 100 p´aginas m´as importantes junto con su puntuaci´on.

2. 2.1.

Ayuda Formato de los archivos suministrados

1. links: pagina origen—pagina destino, donde la pagina origen contiene un enlace a la pagina destino. 2. IDs: url pagina—id numerico. 3. matrices: el elemento Aij es 1 si la p´agina con ID = i tiene un enlace a la p´agina con ID = j. De lo contrario, el elemento es cero.

2.2.

openwebspider sobre linux

1. Descargar la versi´on 0.7 de http://prdownloads.sourceforge.net/openwebspider/openwebspider-0.7.zip?download. 2. Se requiere instalar mysql-server y la parte de desarrollo (libmysqlcliente15-dev para Ubuntu). 3. Compilar con make. 4. Seguir la gu´ıa de configuraci´on en http://www.openwebspider.org/documentation/openwebspider-v06-v07-handbook/ a) Crear la base de datos necesaria para openwebspider con script en sql/sql struct.txt.

16 de enero de 2009, Pr´actica 4 de Computaci´on Cient´ıfica I-Proyecto: Algoritmo PageRank

3

b) Configurar openwebspider editando openwebspider.conf: usuario (root) y contrase˜ na (si se comenta la l´ınea, se asume que no tiene). 5. Ejecutar openwebspider evitando la sobrecarga (opciones -n -r 2 -e). 6. El resultado de la ejecuci´on de openwebspider se almacena en las bases de datos se hosts y se spiderdb.

2.3.

mysql

1. Para entrar en la base de datos se hosts: mysql -u root se hosts. 2. Se pueden ejectuar mandatos mysql usando pipes: echo ”show tables;”| mysql -u root se hosts. 3. Para generar el fichero con las relaciones entre p´aginas se ha de descargar la tabla rels de la base de datos se hosts: a) Usar el mandato select para leer los registros de la tabla. b) Las funciones concat y replace pueden ser u ´tiles para generar archivos como los suministrados, con una l´ınea por cada link, con el nombre de las p´aginas enlazadas separadas por un car´acter separador, por ejemplo ’|’.

2.4.

Generaci´ on del fichero de id’s de p´ aginas con awk y sort

1. ¿C´omo se cambia el separador de campo en awk? 2. ¿C´omo se imprime un campo en awk? 3. ¿C´omo se eliminan l´ıneas repetidas con sort? 4. ¿C´omo se obtiene el n´ umero de l´ınea en awk? Ejemplo de pseudoc´odigo: cat fichero_con_links | awk para imprimir cada url en una l´ ınea | sort para ordenar y eliminar l´ ıneas repetidas | awk para asignar n´ umero de l´ ınea a cada url >ids.txt

2.5.

Generaci´ on de la fichero de enlaces entre p´ aginas con awk, wc y sort

1. ¿C´omo se lee un fichero en awk? 2. ¿C´omo se carga, y se usa, una tabla asociativa (hash) en awk? 3. ¿C´omo se ejecuta c´odigo antes y despu´es del proceso de todas las l´ıneas en awk? 4. ¿C´omo se cuentan las l´ıneas de una archivo con wc? 5. ¿C´omo se pasan variables al invocar a awk? 6. ¿Cu´al es la cabecera de un fichero .m con una matriz sparse?

16 de enero de 2009, Pr´actica 4 de Computaci´on Cient´ıfica I-Proyecto: Algoritmo PageRank 7. ¿C´omo se han de ordenar las entradas de un fichero .m con una matriz sparse? 8. ¿C´omo se usa sort para ordenar por distintos campos? Ejemplo de pseudoc´odigo: cat fichero_con_links | wc para contar enlaces (guardar resultado en una variable) cat awk -

fichero_con_links | que realiza lo siguiente | lee al comenzar la tabla asociativa cambia en cada enlace la p´ agina por de un fichero .m sparse sort para ordenar como espera octave un awk que realiza lo siguiente >enlaces.m - recibe los datos necesarios para la - imprime cabecera .m al iniciarse - imprime l´ ınea a l´ ınea

3.

de p´ agina<->id su id y crea la entrada .m sparse | cabecera .m

Material de consulta http://en.wikipedia.org/wiki/Markov chain http://en.wikipedia.org/wiki/PageRank http://www.ams.org/featurecolumn/archive/pagerank.html http://www.rose-hulman.edu/˜bryan/googleFinalVersionFixed.pdf Datos de prueba: http://trec.nist.gov/ Spider http://www.openwebspider.org/ Documentaci´on de awk http://www.gnu.org/software/gawk/manual Reference Card de awk http://torvalds.cs.mtsu.edu/˜neal/awkcard.pdf Documentaci´on MySQL http://www.mysql.com/documentation Reference Card de MySQL http://www.digilife.be/quickreferences/QRC/MySQL-4.02a.pdf

4

Related Documents

Ppagerank
May 2020 6

More Documents from "oscar reyes"