Propuesta de proyecto de investigación: desarrollo de un rastreador web capaz de aprender a identificar la información más relevante 30 de enero de 2016 Responsables Dr. Ricardo Marcelín Jiménez y M. en C. Orlando Muñoz Texzocotetla Perfil deseable del alumno El alumno(a) participante en este proyecto debe tener conocimientos de redes de computadoras y sistemas distribuidos. Debe mostrar facilidad para la programación de algoritmos distribuidos y la lectura de artículos en inglés. Presentación del contexto e identificación de la problemática Un rastreador o explorador web (también llamado araña o robot) es un programa que permite descargar y clasificar el contenido de páginas en la web. Entre sus múltiples aplicaciones, se les usa como el componente principal de los motores de búsqueda en la web, sistemas que reúnen un corpus de páginas electrónicas, las indexan y permiten las consultas de un amplio contenido temático. Una segunda aplicación es para el archivado de la web [2], que consiste en la descarga de páginas que son guardadas para la posteridad. Una tercera aplicación es para la minería de datos de la web, en la que se analizan estadísticamente las páginas descargadas. Finalmente, podemos mencionar los servicios de monitoreo en la web, en los que se disparan alarmas cuando la búsqueda empata con cierto contenido disponible en la red. Actualmente la investigación de los algoritmos de rastreo web (crawling algorithms) es de gran importancia debido al enorme crecimiento de la información contenida en la web, y a que ésta no se encuentra almacenada en un servidor centralizado, sino en una 1
federación de cientos de millones de repositorios articulados mediante un conjunto de protocolos, reglas de acceso y formatos de datos [3]. Algunos de los trabajos sobre esta temática son: El diseño e implementación de algoritmos para rastreo web conlleva una serie de retos entre los que destacan: 1. Recolectar solo la más valiosa de las páginas web visitadas. Debido al crecimiento de la información disponible en Internet, este proceso es importante para mejorar el rendimiento de los programas de minería de datos, análisis semántico, y análisis estadístico, los cuales son aplicados a la información recolectada por los rastreadores. 2. Optimizar el número de visitas que el rastreador hace a cada página web para mantener la información actualizada (Page update y freshing). 3. Al recolectar la información de los diferentes sitios Web visitados, los rastreadores consumen recursos de diferentes organizaciones (recursos de cómputo, de red, etc.). Por esto debe minimizarse el impacto que los rastreadores imponen sobre estos recursos. 4. Paralelizar del proceso de rastreo. Ya que la información que buscan los rastreadores se encuentra distribuida en cientos de millones de computadoras a lo largo y ancho de la Web, los rastreadores deben ser ejecutados en paralelo. Este proceso de paralelización no es trivial e implica que el rastreo se deba llevar a cabo en un tiempo razonable y de manera coordinada. En este proyecto se desea la construcción de un rastreador web enfocado (focused crawler). Este tipo de rastreadores buscan información relevante a un tema específico. Como se mencionó anteriormente esto es importante para mejorar el rendimiento de las aplicaciones que procesarán las grandes cantidades de información recolectada (minería de datos, aprendizaje maquinal, web semántica, etc.). Algunas implementaciones de este tipo de rastreadores son: A Genre-Aware Approach to Focused Crawling [1], el cual es un rastreador que toma en cuenta la información de género para guiar el proceso de rastreo. En [4] se propone un rastreador enfocado para hiperenlaces el cual utiliza una técnica adaptativa formulada en términos del problema llamado multi-armed bandit - MAB. El MAB es un problema para asignar uno o más recursos por medio de diversas alternativas. También se han propuesto métodos para el rastreo de información en la llamada deep web como el presentado en [6]. Otro ejemplo de rastreadores enfocados lo encontramos en [5], el cual le da importancia a los metadatos para encontrar información relevante en los documentos y que estos puedan ser clasificados. 2
Objetivos Objetivo general: Construir un rastreador o explorador web capaz de aprender a identificar la información más relevante en las páginas web Objetivos particulares: 1. Estudiar las arquitectura y características básicas de un rastreador Web. 2. Estudiar las técnicas de aprendizaje maquinal (que serán utilizadas por el rastreador que será construido). 3. Diseñar el rastreador web (incluyendo las técnicas de aprendizaje maquinal estudiadas). 4. Implementar el rastreador propuesto y evaluar sus prestaciones. Metodología propuesta 1. Revisión del estado del arte de las actuales propuestas de aplicación de técnicas de aprendizaje maquinal en rastreadores. 2. Creación del protocolo de investigación. 3. Definición de la arquitectura. 4. Implementación del rastreador. 5. Evaluación del rastreador con distintos casos de uso. 6. Interpretación de resultados y comparación con otros rastreadores que usan aprendizaje maquinal para la identificación de la información más importante en las páginas Web. 7. Elaboración de conclusiones. 8. Elaboración de la idónea comunicación de resultados. 3
Resultados esperados Al finalizar el proyecto el alumno habrá diseñado e implantado un sistema para realizar búsquedas de documentos sobre un conjunto de servidores web en Internet. Asimismo, habrá completado un conjunto de pruebas de funcionamiento que le permitirán validar su propuesta. Dicho sistema será capaz de aprender a reconocer la información más importante contenida en las páginas web. Al término del primer trimestre el alumno entregará al coordinador el protocolo de investigación que, al menos, contendrá una descripción del estado del conocimiento, la problemática que se aborda y la metodología. Este protocolo se presentará en el seminario de avances organizado al cierre del trimestre. Al término del segundo trimestre el alumno entregará al coordinador un reporte de avance en forma de artículo. Éste contendrá los primeros resultados de su investigación. Dicho reporte se presentará en el seminario de avances. Al finalizar el tercer trimestre el alumno entregará al coordinador un primer borrador de su idónea comunicación de resultados. De igual forma, el alumno presentará por última vez en el seminario de avances, el resultado de su trabajo. En el curso del cuarto trimestre el alumno entregará la versión final de su idónea comunicación de resultados. Calendarización de actividades Infraestructura necesaria y disponible Una computadora personal, herramientas para simulaciones dirigidas por eventos, intérprete y librerías del lenguaje Python, Mik -TeX ó LaTex. 4
Lugar de realización Laboratorio de Análisis de Rendimiento de Teleservicios (ARTe) / T327bis Referencias [1] G. T. De Assis, A. H. Laender, M. A. Gonçalves, and A. S. Da Silva, A genre-aware approach to focused crawling, World Wide Web, 12 (2009), pp. 285 319. [2] J. Masanès, Web archiving, Springer, 2006. [3] C. Olston and M. Najork, Web crawling: Foundations and trends in information retrieval, 2010. [4] A. Pechnikov and D. Chernobrovkin, Adaptive crawler for external hyperlinks search and acquisition, Automation and Remote Control, 75 (2014), pp. 587 593. [5] L. Rajesh, V. Shanthi, and V. Varadhan, Enhanced web crawler design to classify web documents using contextual metadata, in Proceedings of Fourth International Conference on Soft Computing for Problem Solving, Springer, 2015, pp. 509 516. [6] Z. Zhang, G. Dong, Z. Peng, and Z. Yan, A framework for incremental deep web crawler based on url classification, in Web Information Systems and Mining, Springer, 2011, pp. 302 310. 5