Este repositorio contiene el desarrollo de un simulador de búsqueda de archivos utilizando estructuras de datos avanzadas para la recuperación de información.
- Estudiante de Ingeniería Infomatica
- Diego Sanhueza
- Se encargará de realizar la estructura de los grafos que se usarán.
- Estudiante de Ingeniería Informatica
- Miguel Loaiza
- Se encargará de implementar el algoritmo PageRank.
- Estudiante de Ingeniería Informatica
- Felipe Carcamo
- Se encargará de implementar el Indice Invertido.
- Estudiante de Ingeniería Informatica
- Miguel Maripillan
- Se encargará de implementar los grafos que se utilizarán.
El objetivo de este proyecto es implementar un sistema avanzado de recuperación de información, integrando dos técnicas clave en el manejo de datos estructurados: el índice invertido y el algoritmo PageRank. Con este proyecto, buscamos comprender en profundidad los mecanismos de los motores de búsqueda modernos.
Este simulador de búsqueda simplificado indexará un conjunto de documentos web que contienen enlaces entre ellos, simulando hipervínculos. El proyecto se divide en dos componentes principales:
- Índice Invertido: Implementación de un índice invertido para realizar búsquedas rápidas de palabras clave en los documentos.
- PageRank: Uso de un grafo para modelar las relaciones entre documentos mediante enlaces. Se implementará el algoritmo de PageRank para calcular la importancia de cada documento en la web, y se mostrarán los resultados en orden de relevancia.
- Los documentos estarán en archivos de texto plano y contendrán enlaces a otros documentos, representados como
link: docN
. - El sistema procesará estos documentos para extraer palabras clave y construir el grafo de enlaces.
- Cada palabra relevante en el documento (excluyendo "stopwords" comunes) se añadirá al índice invertido con su ID de documento.
- Al realizar una consulta, el sistema devolverá los documentos que contienen la palabra clave.
- El sistema construirá un grafo dirigido donde cada documento es un nodo, y cada enlace entre documentos es una arista.
- Implementación del algoritmo de PageRank para calcular la importancia de cada documento, considerando enlaces entrantes y salientes.
- Al realizar una búsqueda, los documentos que contienen la palabra clave serán recuperados del índice invertido.
- Los resultados estarán ordenados de acuerdo con el puntaje de PageRank, mostrando primero los documentos más relevantes.
- Estructuras de Datos:
- Implementación del índice invertido usando listas enlazadas o tablas hash.
- Representación del grafo mediante listas de adyacencia.
- Algoritmos:
- Implementación del algoritmo de PageRank en iteraciones, usando un factor de amortiguación (damping factor).
- Algoritmos de búsqueda eficientes en el índice invertido.
- Resultados:
- El sistema mostrará una lista de documentos ordenados por relevancia para una palabra o frase dada.
Si deseas más información sobre la ejecución del proyecto o los detalles técnicos, revisa el archivo README.MD que esta en docs/README.MD.