Diseño e Implementación de un Metabuscador de Párrafos para la Recuperación de Documentos Similares en la Web

La recuperación de documentos similares a un documento dado en la Web, es un problema no resuelto por los motores de búsqueda tradicionales. Esto se debe, a que los motores de búsqueda están pensados para resolver necesidades de información de usuarios basadas en conjuntos pequeños de términos clave. En este trabajo, se define el problema de recuperación de documentos similares como el proceso en que un usuario ingresa un párrafo a un sistema de información y éste le retorna los documentos con mayor similitud a éste en la Web. Los documentos recuperados son rankeados por medio de una métrica de similitud estimada por el sistema. La resolución del problema, podría ser utilizado en contextos como la detección de plagio, el análisis de impacto de documentos en la Web y la recuperación de ideas similares. Se propone una metodología basada en modelos de lenguaje generativos y metabuscadores. Los modelos de lenguaje son utilizados como generadores de consultas aleatorizadas sobre el texto del documento entregado, donde se propone un modelo que extrae términos relevantes sin reposición llamado Modelo de Lenguaje Hipergeométrico. El conjunto de consultas generado intenta ser una representación de la información relevante del documento. Posteriormente, cada consulta es enviada como entrada a una lista de motores de búsqueda de la Web. Para luego combinar los resultados de cada búsqueda en una única respuesta. A este proceso se le conoce como metabúsqueda. Finalmente, los resultados son ordenados por relevancia y presentados al usuario. Para estimar la relevancia entre el documento de entrada y los documentos encontrados se propone una función de scoring basada en la ley de Zipf, la cual considera los rankings locales de aparición de cada resultado, la confianza en los motores de búsqueda utilizados y la cantidad instancias de búsqueda en que éstos son recuperados. Se definen los requerimientos de software junto a un análisis preliminar de las características de éste donde se define una arquitectura basada en capas. La capa de aplicación de la herramienta es diseñada acorde a una arquitectura orientada a servicios, de manera que pueda interoperar con otros sistemas. La herramienta se diseña en base al paradigma de orientación a objetos y el uso patrones de diseño conocidos. Esto se realiza para permitir la mantenibilidad y extensibilidad del modelo al uso de diversas estrategias para la generación de consultas, rankeo de resultados y para permitir al metabuscador hacer uso de diversos motores de búsqueda externos. La capa de interfaz se diseña como una interfaz Web donde el usuario ingresa el párrafo dentro de un cuadro de texto, permitiéndole a éste además, evaluar la calidad de los resultados entregados. Los resultados son registrados dentro de la capa de datos, para poder evaluar continuamente la calidad predictiva del modelo al adaptar sus parámetros al conocimiento entregado por los usuarios. Una vez implementada la herramienta, se realiza una serie de experimentos basados en métricas de recuperación de información para evaluar la calidad del modelo en la herramienta implementada. Se obtiene una precisión de 0.87 para los primeros resultados recuperados al evaluar la relevancia de 2400 documentos recuperados sobre una muestra de 160 párrafos entregados como entrada al sistema. Además, se valida que la combinación de varios motores de búsquedas mejora la precisión del modelo, al ampliar la cobertura de la Web. Finalmente, se evalúan la calidad del diseño y la implementación del software. Para el caso del diseño de software la evaluación se realiza en base a métricas de orientación a objetos, y para el caso de la implementación se evalúan la funcionalidad y el rendimiento en base a casos de pruebas. En ambos casos, los resultados obtenidos comprueban la extensibilidad y mantenibilidad del diseño junto al cumplimiento de los requerimientos funcionales y no funcionales establecidos.