Construir un programa llamado buscador que toma en su línea de comandos los archivos vocabulario.txt, documentos.txt, listas_invertidas.txt y una consulta formada por una o más palabras.Cada palabra va a generar un conjunto de documentos, cuyos URLs deben ser presentados al usuario por orden de "ranking" (los más relevantes, i.e. mayor ranking, primero). Para hacer el ranking de documentos se utilizará el método del vector que se describe a continuación.
Sea Frec(t,i) la frecuencia normalizada de la palabra relevante t en el documento i, sea D(t) el número de documentos donde aparece la palabra t, y N el número total de documentos. Entonces la importancia de la palabra t en el documento i, denotada W(t,i), esta dada por,
W(t,i) = log( N / D(t) ) * Frec(t,i).
Luego el puntaje o ranking R(i,Q) de un documento i frente una consulta Q formada por n palabras t esta dado por,
R(i,Q) = SUMA{para todo t en Q}[ W(t,i) ].
Ejemplo:hola mundo mundo chao mundo hola chao hola --------- vocabulario arbol,0,1 casa,1,1 chao,2,2 hola,3,2 mundo,4,1 --------- listas invertidas 0,3,0.500 1,3,1.000 2,1,0.333,2,0.500 3,1,0.333,2,1.000 4,1,1.000 --------- Consultas con respuestas de la forma (doc-id,ranking), Consulta [ arbol ]: (3,0.239) --- Consulta [ casa ]: (3,0.477) ---- Consulta [ arbol casa ]: (3,0.715) ---- Consulta [ chao ]: (2,0.088) (1,0.059) ---- Consulta [ chao mundo ]: (1,0.536) (2,0.088) ---- Consulta [ hola mundo chao ]: (1,0.595) (2,0.264) casa arbol casa