jueves, 16 de mayo de 2013

Recuperación de información (information retrieval) y búsqueda en la Web: consultas de frases e índices posicionales

Hasta ahora hemos visto como recuperar documentos que contienen una o más palabras pero no como recuperar documentos que contienen una frase armada; si yo quisiera recuperar todos aquellos documentos en donde aparece la frase: "facultad de ingeniería", por ejemplo, lo único que podría hacer es recuperar los documentos que contienen las palabras "facultad", "de" e "ingeniería" ("de" podría obviarse porque es una stop word) y luego revisarlos exhaustivamente para encontrar la frase textual, ya que no me interesan los documentos que dicen cosas como: "Pedro estudió ingeniería en la facultad de Salta", estos no deberían ser devueltos.

Hay dos formas de solucionar este problema.

Recuperación de información (information retrieval) y búsqueda en la Web: consultas sobre Indices invertidos

En el post anterior vimos como crear un índice invertido, ahora voy a explicar como realizar una consulta sobre ese tipo de índice.

Supónganse que queremos obtener todos los documentos en donde aparecen las palabras: "Brutus" y "Cesar"

  1. Obtenemos la lista de documentos en donde aparece la palabra "Brutus"
  2. Obtenemos la lista de documentos en donde aparece la palabra "Cesar"
  3. Realizamos una intersección de ambas listas mediante un algoritmo de merge

miércoles, 15 de mayo de 2013

Recuperación de información (information retrieval) y búsqueda en la Web: Índices invertidos

Los índices invertidos son la estructura de datos más utilizada en los sistemas de recuperación de información, en particular en aquellos con grandes volúmenes de datos a manejar como los motores de búsqueda; hacen uso eficiente de la idea principal de la matriz de incidencias vista previamente.

Índice invertido:
  • Para cada término t, tenemos que guardar todos los documentos que contienen t
  • Identificar cada documento por un docId, que es un número incremental
Tendremos dos partes bien definidas: el diccionario y las listas de postings, que son básicamente una serie de listas, una por cada término, donde iremos insertando los docIds de los documentos. 

martes, 14 de mayo de 2013

Recuperación de información (information retrieval) y búsqueda en la Web: Matrices de incidencia

Supongamos que mi colección de documentos no es ni más ni menos que las obras completas de William Shakespeare, y que la información que quiero conseguir es la siguiente:

   Todas las obras de Shakespeare que contengan las palabras: "Brutus" y "Cesar" pero no la palabra "Calpurnia".

    Una forma de solucionar este problema es hacer una búsqueda exhaustiva de todos los documentos, seleccionar primero aquellos que tienen las palabras "Brutus" y "Cesar" y luego eliminar de la lista los que también tienen la palabra "Calpurnia".  Con el comando grep de Linux se puede hacer en pocos pasos, pero: ¿es esta una buena solución?

Recuperación de información (information retrieval) y busqueda en la Web, introducción

la recuperación de información puede ser definida, según Chris Manning,  como la búsqueda de material (generalmente documentos) de naturaleza no estructurada (generalmente textos) que satisface una necesidad de información dentro de una colección muy grande elementos (generalmente almacenados en computadoras).

Por supuesto no siempre buscamos documentos de texto, a veces buscamos imágenes o música en grandes colecciones. El lugar más frecuente en donde se realiza esta recuperación de información suele ser la Web, pero no es el único escenario, otros posibles son:
  • búsqueda de un email en nuestra bandeja de entrada
  • búsqueda de un archivo en nuestra computadora
  • búsquedas en la base de datos de conocimientos de una empresa
  • búsqueda de información legal