Consultas en el Modelo Booleano 1. Se buscan los términos de la consulta en el índice 2. Se recuperan las listas invertidas correspondientes a cada término 3. Se realizan las operaciones de conjuntos correspondientes sobre las listas (unión, intersección y/o diferencia) 4. Las listas están ordenadas en orden creciente de número de documento (distancias) → se puede operar recorriéndolas secuencialmente → los documentos se recuperan ordenados por número de documento Resolución de Consultas Consultas en el Modelo Booleano Consultas en el Modelo Vectorial Consultas Especiales ODD - Curso Servetto 1 FIUBA d1 Las Cosas de la Vida Vocabulario d2 La Vida es Bella bella cosas querer vida d3 Las Cosas del Querer d4 La Vida después de la Vida ODD - Curso Servetto 2 Consultas en el Modelo Vectorial Listas Invertidas Hay dos escenarios posibles para la resolución de consultas en el modelo vectorial: 2 1, 3 3 1, 2, 4 1. Cuando el número de documentos es acotado (índices para una biblioteca digital, índices internos de sitios web, etc.), las consultas se pueden resolver en forma análoga a como se resuelven para el modelo booleano: c 2. ∩ 1, 2, 4 = 1 ODD - Curso Servetto FIUBA 4 Consultas en el Modelo Vectorial 5 Las listas se almacenan ordenadas por frecuencia normalizada del término en el documento: … (fni, ndi) … donde (i)(fni>fni+1) Para resolver la consulta se ordenan las listas en orden decreciente de peso global del término: pgt1; n, (fn1, nd1), (fn2, nd2), … (fnm, ndn) … pgtz; q, (fn1, nd1), (fn2, nd2), … (fnq, ndq) donde (i=1, …z)(pgti>pgti+1) ODD - Curso Servetto FIUBA Se cumple que (i)(Sim(d1(ti), c)>Sim(d1(ti+1), c)), entonces se van devolviendo los documentos de la lista 1 a partir del pivote cuya similitud con la consulta sea mayor que la pivote de las listas siguientes Al obtener una similitud en la lista 1 que sea menor a la pivote de la lista 2, se cambia la similitud pivote de la lista 1 por la menor y se reordenan las listas según el nuevo pivote de la lista 1 Luego se repite el proceso devolviendo documentos a partir del pivote de la lista que haya quedado en primer lugar La aproximación de similitud para este proceso conlleva a que la misma no represente cabalmente la relevancia de un documento para una consulta porque sólo considera un término de la misma. Por ello son importantes las métricas de precisión y de recuperación. En los resultados podrían repetirse documentos, a menos que para agregar un nuevo documento al resultado se verifique que éste ya no haya salido. Se calcula la similitud del primer documento de cada lista i con la fórmula Sim(d1(ti), c) = pgti*fn1 como pivotes de lista pgt1; n, (fn1, nd1), (fn2, nd2), … (fnm, ndn) Sim(d1(t1), c) … pgtz; q, (fn1, nd1), (fn2, nd2), … (fnq, ndq) Sim(d1(tz), c) ODD - Curso Servetto Las listas invertidas se almacenan ordenadas por frecuencia normalizada decreciente del término en el documento (algoritmo de cálculo de similitudes a continuación) Consultas en el Modelo Vectorial Cálculo de similitudes ente una consulta y los documentos que contienen a cada uno de sus términos en el segundo escenario: Se ordenan las similitudes en orden descendente para ofrecer los documentos resultantes Cuando el número de documentos es potencialmente ilimitado (buscadores web), como las listas invertidas pueden tener cientos de miles de componentes y las búsquedas deben multiprocesarse en paralelo, los resultados se devuelven a razón de un número determinado por página de respuesta: Las Cosas de la Vida 3 Las listas invertidas se almacenan ordenadas por número de documento para obtener intersecciones de listas eficientemente Se calcula las similitudes de la consulta con todos los documentos con la fórmula Sim( dj, c ) = i=1, …H(( ai,j /norma(dj))* log( N / n i )) +cosas +vida 1, 3 FIUBA FIUBA 6 ODD - Curso Servetto FIUBA 1 Resolución de Consultas Especiales Métricas de Evaluación Precisión: cuántos documentos recuperados son relevantes. Recuperación (recall): cuántos documentos relevantes se recuperaron. Consultas de Frases o Términos Próximos Se buscan los términos de la consulta en el vocabulario y se recupera sus listas invertidas Se calcula la intersección de los números de documento Para los documentos en que aparecen todos los términos, se determina las posiciones relativas de los términos al primer término de la consulta Variante para frases → índice de pares de términos Precisión: Recuperación: 7 ODD - Curso Servetto FIUBA d1 Las Cosas de la Vida Vocabulario Listas Invertidas bella cosas querer vida 2 (2) 1 (1), 3 (1) 3 (2) 1 (2), 2 (1), 4 (1, 2) 8 ODD - Curso Servetto FIUBA d2 La Vida es Bella d3 Las Cosas del Querer d4 La Vida después de la Vida c “cosas vida” 1 (1), 3 (1) 1 (2), 2 (1), 4 (1, 2) {1, 3} ∩ {1, 2, 4} = {1} cosas c(1), 1(1); vida c(2), 1(2) Pares de Términos cosas, querer cosas, vida vida, bella vida, vida 9 ODD - Curso Servetto 2-1 = 2-1 Listas Invertidas 3 1 2 4 FIUBA 2