introducción a la recuperación de información information...
TRANSCRIPT
Introducción a la Recuperación de información
Information Retrieval
Raquel Trillo Lado ([email protected])
Sistemas de Información Curso 2012-2013
! Recuperación de información en grandes corpus documentales Introducción Arquitectura genérica de un sistema de Recuperación de
información El modelo booleano El modelo vectorial El modelo probabilístico
! Recuperación de información en la web Directorios y motores de búsqueda Funcionamiento de los buscadores web La Web oculta
! Bibliografía y referencias
Guión: Recuperación de Información
! RI trata el problema de recuperar los documentos relevantes a una necesidad de información expresada en forma de consulta (query) dada una colección de documentos (texto no estructurado). Ejemplo 1:
Corpus: Noticias publicadas en un determinado periódico Consulta (query): Las noticias acerca de los partidos Barcelona-Madrid
Ejemplo 2: Corpus: Historial médico de todos los aragoneses Consulta (query): Área donde viven los enfermos afectados por legionela
RI en corpus documentales Introducción
! En la mayoría de los casos no basta un simple emparejamiento de patrones (pattern matching/matching sintáctico). Ejemplo 1:
Un documento en el que aparezcan las palabras Barcelona, Madrid y partido de futbol no tiene porque ser relevante a la consulta.
Ejemplo 2: Un documento en el que no aparezcan las palabras legionela enfermo
puede ser relevante para la consulta. Un documento en el que se hable de síntomas de neumonía en un paciente
puede ser relevante Un documento donde se denomine a la enfermedad con el nombre
científico Legionella pneumophila.
RI en corpus documentales Introducción
! Es un problema distinto al abordado en el campo de las BDs: Se trata con objetos (datos) que tienen una estructura y semántica bien
definida a través del modelo relacional o modelo entidad-relación Existe un lenguaje de consulta definido para recuperar los datos: el
álgebra relacional o el sql. Ejemplo 1:
Una base de datos donde se almacenaran los partidos de futbol de los últimos años.
Select * from partido where local=‘Barcelona’ and visitante=‘Madrid’;
RI en corpus documentales Introducción
! Un modelo de RI se compone de: Un formalismo para representar documentos y consultas (queries) Una medida de similaridad entre un documento y una consulta.
! Existen diferentes modelos: Modelo Booleano.
El primero por lo tanto el más antiguo
Modelos vectoriales
Modelos probabilísticos
RI en corpus documentales Introducción
! Para evaluar la efectividad de los modelos y técnicas de RI: Precision (P): nº de doc. relevantes recuperados/ nº total de doc. recuperados Recall (R): nº de doc. relevantes recuperados/ nº total de doc. Relevantes
F-measurement: Media harmónica de P y R: (1+B2) P R / B2 (P + R) Curva precision/recall: Calcular la precisión para distintos niveles de recall Corpus TREC y la competición
RI en corpus documentales Introducción
Documentos relevantes
Corpus documental Doc. Recuperados
! Además de ser efectivo un sistema de RI debe ser eficiente (rápido, bajo coste en espacio, ...)
! RI no sólo trata modelos para representar documentos y consultas (queries) sino también: Métodos de almacenamiento de documentos
Métodos de compresión. Métodos de indexación de documentos
Métodos de organización de documentos Almacenamiento de metadatos y búsquedas de metadatos Clasificación automática de documentos (text classification) Agrupamiento de documentos similares (clustering)
RI en corpus documentales Introducción
Arquitectura genérica de un sistema de Recuperación de información
Usuario
Índices sobre los documentos
Módulo de gestión de documentos
Colección de
documentos
Interfaz de usuario consulta
Indexador Ficheros de
índices invertidos
Módulo de operaciones de texto
Representación
Representación
Módulo de operaciones de queries
Buscador
Ranking
Interfaz de documentos
Texto
Texto
! Módulo de gestión de documentos Parsear los documentos que forman la colección para extraer
información de ellos (autor, título, palabras clave, extraer metadatos, clasificar los documentos...)
Acceder a los documentos o a la información asociada a estos
! Módulo de operaciones de texto Transformar el documento original en una representación del mismo
(vista lógica): En general la vista lógica consiste en una secuencia de términos (terms).
Técnicas tradicionalmente empleadas son las stoplist y los stemmers Otras técnicas empleadas: Procesamiento de lenguaje natural (NLP),
obtención de estadísticas por ejemplo para obtener el sentido de una determinada palabra o para obtener representaciones basadas en pares de términos como ‘data bases’.
Arquitectura genérica de un sistema de Recuperación de información
! Módulo de operaciones de texto Transformar la consulta (query) original en una representación de la
misma (vista lógica). Esto no se aplica en todos los modelos.
! Módulo de indexación Construir índices sobre los documentos.
Los más conocidos y probados son los ficheros invertidos o índices invertidos.
La unidad de indexación es el término (term): una palabra, una frase, conjunto de palabras o frases o una raíz (stem)
Los recursos de tiempo y espacio que conllevan la creación de índices se amortizan en la recuperación.
Arquitectura genérica de un sistema de Recuperación de información
! Son una estructura eficiente para almacenar datos a los que se necesita acceder.
! Son independientes del modelo de RI que se use ! A cada término relevante de los documentos (del vocabulario)
se le asocian los documentos en los que aparece y el offset dentro de estos donde está.
! Compromiso entre coste de construir el índice y aumento de la velocidad de acceso a la información Corpus de más de 200 Mb compensa.
Índices invertidos
! Módulo de operaciones de queries: Expansión de términos de la representación (vista lógica) de la query.
Ejemplo: ‘coche’ pasa a ser ‘coche o auto o carro’ Pueden obtenerse mediante:
Recursos lingüísticos como Thesaurus Léxicos (WordNet) Otros recursos como ontologías Mediante un proceso de relevance feedback por parte del usuario
Eliminación de términos
! Módulo de búsqueda Busca en los índices para lograr matchings entre las representaciones de
los documentos y la query.
Arquitectura genérica de un sistema de Recuperación de información
! Módulo de ranking: Ordena los documentos recuperados de acuerdo con la relevancia
respecto a la query A veces también se cierra el ciclo aquí con relevance feedback.
! Otros módulos: Compresores Para reducir el espacio que ocupa el almacenamiento de los documentos
y los índices Fundamentalmente se distingue entre técnicas de compresión que
permiten la búsqueda sobre texto comprimido y entre las que no. (Las primeras son más eficientes)
Arquitectura genérica de un sistema de Recuperación de información
! 1º modelo de recuperación de información ! Se utilizó en:
Bibliotecas: Buscar información en los resúmenes (abstracts) de los libros.
Documentos legales en E.E.U.U., el sistema Lexis Nexis.
Documentos médicos.
! Cada documento se representa por una lista de bits (0 o 1) que indican si en ese documento aparece determinado término o no. Ejemplo 1:
Lista de términos: CASA, ES, VERDE, AZUL, AMARILLA, CARA, BARATA.
Documento: “Mi casa es amarilla y barata” -> vista lógica (1,1,0,0,1,0,1) Consulta 1 (query): Casa and barata -> (1,0,0,0,0,0,1)
Modelo Booleano
Consulta 2 (query): Casa and (amarilla or azul) -> (1,0,0,1,0,0,0) or (1,0,0,0,1,0,0)
Ejemplo 2: Consulta (query): (coste OR precio) AND papel Documento 1: “El coste del papel aumentó un 5%” (Documento relevante) Documento 2: “El precio de los alimentos aumentó” (Documento no relevante)
! Ventajas: Existen implementaciones eficientes mediante operaciones con bits e índices invertidos
! Problemas: Dificultad de los usuarios para expresar queries booleanas Recupera muy pocos documentos o demasiados
Modelo Booleano
! En lugar de considerar sólo 0 y 1 en los vectores considera la frecuencia con que aparece un término en un documento.
! Ventajas: Se puede hacer un ranking de los documentos recuperados: los que tienen
frecuencias más altas en los términos indicados por el usuario/a van antes que los documentos con menos apariciones en dichos términos.
Dio lugar al Modelo Vectorial (Vector Space Model)
Modelo Booleano Extendido
! Marcó el inicio de la investigación en el campo de la RI. ! Ofrece altas prestaciones y permite ranking. ! Las queries y los documentos se representan mediante vectores.
Dimensión del espacio vectorial es la cardinalidad del conjunto de términos
En modelos avanzados se usan técnicas de reducción de las dimensiones Cada dimensión representa la frecuencia para cada término (El nº de
veces que aparece un término en un documento) Ejemplo:
Considerar un vocabulario de 3 términos A, B y C Sean Di documentos tales que: - D1 contiene los términos A, B y C una vez
- D2 contiene el término A una vez - D3 contiene los términos A y B una vez
Modelo Vectorial
! Para obtener el ranking se considera la similaridad a través del coseno del ángulo que forman la query y los documentos.
Modelo Vectorial
A
B
C
D2 D1
D3
! Si X e Y son dos vectores y alfa el ángulo que forman: X Y = |X| |Y| cos (alfa) Cos (alfa) = X Y / |X| |Y| Cos (alfa) € [0-1]
Cuanto más parecidos sean X e Y más próximo a 1 será el cos (alfa) Cuanto más diferentes sean X e Y más próximo a 0 estará el cos(alfa)
! Ejemplo: Consulta (query) q: documentos con A y B q = <1,1,0> D1 = <1,1,1> D2 = <1,0,0>
D3 = <1,1,0>
Modelo Vectorial
q D1 = 1 1 + 1 1 + 0 1 = 2 |q| = sqrt(1^2 + 1^2 + 0^2) = sqrt(2) |D1| = sqrt(1^2 + 1^2 + 1^2) = sqrt(3) Cos(q y D1) = 2/(sqrt(2) sqrt(3)) = 2 / (1.414 )(1.732) = 2 / 2.449 = 0,81
q D2 = 1 1 + 1 0 + 0 0 = 1
|D2| = sqrt(1^2 + 0^2 + 0^2) = sqrt(1)=1 Cos(q y D2) = 1/(sqrt(2) 1)= 1/sqrt(2)= 1 / 1.414 = 0.707
q D3 = 1 1 + 1 1 + 0 0 = 2 |D3| = sqrt(1^2 + 1^2 + 0^2) = sqrt(2) Cos(q y D3) = 2/(sqrt(2) sqrt(2))= 2 / 2 = 1
Modelo Vectorial
! Existen muchas variantes considerando otras medidas de similitud: Dice: similaridad (X, Y) = (2 X Y )/ (X^2 Y^2) Jaccard: similaridad (X, Y) = (X Y) / (X^2 + Y^2 - |X||Y|)
! Otras variantes: En lugar de considerar la frecuencia de los términos (tf: term frequency)
consideran la frecuencia inversa de los términos (idf). Las palabras de menor frecuencia en un documento son más informativas
Utilizar log(idf) en lugar de valores absolutos Con frecuencias bajas las considera muy similares, sin embargo las
frecuencias altas las considera muy distantes (No es lo mismo cambiar de 1 a 2 que de 25 a 26, le da más importancia al cambio de 25 a 26)
Modelo Vectorial
! Ventajas: Poco coste computacional Muy popular: SMART (Sistema libre)
Alto rendimiento
! Inconvenientes: Asume independencia de términos (cada dimensión se trata de forma
independiente de las otras) No tiene en cuenta el tamaño de los documentos (en documentos más
grandes es más probable encontrar más términos)
Modelo Vectorial
! Estrategia adaptativa, las anteriores eran representativas y tiene un mayor fundamento lógico-matemático (las anteriores se basaban en heurísticas).
! Estudia la probabilidad de relevancia dada una query q y un documento Di: Probabilidad (Di sea relevante a q/ Di tiene las características X) = = p(rel/x)
! Hace el ranking de los documentos recuperados ordenándolos según la probabilidad de relevancia.
Modelo probabilístico
! Directorios de búsqueda: Organización manual de las páginas en unas categorías. Ejemplos:
Yahoo empezó siendo un directorio de búsqueda Hoy en día la mayoría de los buscadores mantienen también un directorio.
Inconvenientes: Organización manual y cubren una parte muy pequeña de la web
! Motores de búsqueda o buscadores: Los motores de búsqueda son sistemas que buscan en Internet cuando
les pedimos información sobre algún tema. Normalmente por palabras clave.
Ejemplos: Altavista, Google, Alltheweb....
Recuperación de información en la Web: Introducción
! Metabuscadores: Definición: Buscadores que buscan en buscadores y luego integran sus
resultados en tiempo real. Se han utilizado para mejorar la relevancia en buscadores en Internet.
Mediante algoritmos de ponderación: MetaCrawler, SavvySearch, Multibuscador,...
En entorno corporativo surgen como soluciones de ‘búsqueda federada’ Dificultades:
Traducción de consultas del formato general al de la fuente: Traducción de sintaxis y postprocesados
Construcción de ‘envoltorios’ sobre los buscadores origen. Relevancia ponderada de resultados: relevancia del origen, de la fuente... Eficiencia en las consultas
Recuperación de información en la Web: Introducción
Arquitectura genérica de un sistema de Recuperación de Información Web
Usuario
Índices sobre los documentos
Módulo de gestión de documentos
Colección de
documentos
Interfaz de usuario consulta
Indexador Ficheros de
índices invertidos
Módulo de operaciones de texto
Representación
Representación
Módulo de operaciones de queries
Buscador
Ranking
Crawlers o arañas
Texto
Texto
! Motores de Recuperación de información web: Construcción de un gran índice de palabras sobre todos los documentos
del web estático. Búsquedas por palabras clave o keywords sobre el índice, obteniendo
granularidad de documento.
! Problemas adicionales de investigación: Construcción del índice (arañas o crawling) Distribución del índice (gran volumen de información) Algoritmo de ejecución distribuida de consultas. Algoritmos de relevancia mucho más críticos. Hay que sacar partido de
la estructura proporcionada por los hiperenlaces Problema de la web oculta (todavía sin resolver)
RI en Web: Funcionamiento de los buscadores web
! Motores de Recuperación de información web: Ejemplo clásico: Altavista.
Arquitectura basada en grandes servidores -> No escala Algoritmos de relevancia de las páginas basados en los tradicionales de
bases de datos documentales -> Se inundaron por la cantidad de información. Además contar los hiperenlaces no resuelve el problema porque algunas páginas son muy comunes en cualquier contexto.
Sólo tratan la web estática
Ejemplo avanzado: Google Arquitectura distribuida basada en miles de estaciones de bajo precio Algoritmos de relevancia que sacan partido de la estructura basada en
hiperenlaces de formas más sofisticadas. Siguen limitándose a la web estática aunque investigan en la línea de la
web oculta.
RI en Web: Funcionamiento de los buscadores web
! Google debe su éxito al pagerank: Los enlaces son considerados como ‘citas’ de otros documentos. Se asumen como más relevantes lo documentos más citados.
También importa quién es el que te cita. Una página tiene un pagerank alto si tiene muchas páginas que la
apuntan o la apuntan páginas con un PageRank alto (“Hubs”). El texto en los enlaces se asocia también a la página destino.
RI en Web: Funcionamiento de los buscadores web
! Relevancia basada en hiperenlaces fue: HITS Búsqueda previa sobre un índice pre-construido. Algorimo iterativo sobre los enlaces entre documentos.
Hubs son páginas que enlazan muchas ‘páginas buenas’ (autoridades) Autoridades son páginas enlazadas desde muchos ‘referentes buenos’.
(hubs). Si buscamos autoridades relacionadas con un cierto tema, no llega con que sean
páginas apuntadas desde muchas otras: debe existir cierto solape entre las páginas que las apuntan (hubs).
RI en Web: Funcionamiento de los buscadores web
! Procedimiento básico HITS: Se realiza la búsqueda en un motor tradicional Se expanden sus resultados con páginas que ‘son apuntadas’ por
páginas de los resultados y con páginas que ‘apuntan’ a páginas resultados, hasta un cierto nivel de profundidad.
Cada página (nodo del grafo) comienza con un ‘peso de hub’ y un ‘peso de autoridad’
En cada iteración, el peso de’autoridad’ de un nodo se calcula como la suma del ‘peso de hub’ de la iteración anterior de los nodos que lo apuntan.
El ‘peso de hub’ se calcula como la suma del ‘peso de autoridad’ de los nodos a los que apunta.
Se demuestra que el algoritmo converge
RI en Web: Funcionamiento de los buscadores web
! Relevancia basada en hiperenlaces: PageRank Idea similar a HITS PR(A) = (1-d) + d(PR(t1)/C(t1)+...... (PR(tn)/C(tn))
T1,Tn son las páginas que apuntan a A C(Ti) número de enlaces salientes de Ti. D. ‘damping factor’ es 0.85. Una página tiene un PageRank alto si la apuntan muchas páginas, o la
apuntan menos páginas pero con un PageRank muy alto. Eficiente y no dependiente de búsqueda inicial como HITS.
RI en Web: Funcionamiento de los buscadores web
! Hace referencia a las páginas generadas dinámicamente: Cliente: Javascript, HTML dinámico, applets, etc Servidor: CGIs, Servlets, JSPs, ASPs, PHPs,..
Los crawlers tradicionales no pueden acceder a esta información: Dificil implementar soporte para JavaScript
Objetos del browser (navegador) Frames Etc
¿Cómo entender formularios, aprender a consultarlos y saber consultar en ellos? ¿Problemas de acceso mediante claves?
RI en Web: La web oculta
! Caracterización de la web oculta: Entre 400 y 500 veces mayor que la web estática Unos 300.000 sitios web
Sitios de la web oculta reciben en torno al 65% más de tráfico que los sitios de la web estática.
Crece mucho más rápido que la web estática. Más del 60% de los sitos son bases de datos de temas específicos que
proporcionan información de alta calidad. Más del 80% de los datos están accesibles públicamente.
RI en Web: La web oculta
! Avances en la web oculta cliente: Aparecen primeros sistemas capaces de tratar JavaScript real. El proceso de crawling pierde eficiencia (crawler es casi un browser),
con lo que su utilidad se restringe a problemas específicos.
! Avances en la web oculta servidor: Actualmente sólo mediante ‘wrappers’ o envoltorios ad-hoc para cada
fuente, o mediante acuerdos particulares. Se parte de una especificación de dominio (por ejemplo: tiendas
electrónicas de libros) Se estudian los atributos: tipos de datos y nombres posibles Se dan ejemplos de datos reales Se configura especificamente el dominio
RI en Web: La web oculta
! Avances en la web oculta servidor: Se parte de una especificación de dominio (por ejemplo: tiendas
electrónicas de libros) Se estudian los atributos: tipos de datos y nombres posibles. Se dan ejemplos de datos reales. Se configura especificamente el dominio.
Tareas: Identificar automáticamente formularios relevantes. Aprender a realizar consultas sobre el formulario. Generar consultas relevantes partiendo de los ejemplos del dominio y de
los obtenidos de consultas previas.
RI en Web: La web oculta
Information Retrieval, Ricardo Baeza-Yates 2 volúmenes. Cubre algoritmos de stemming y búsqueda de cadenas
Managing Gigabytes, Moffat and Zobel Cubre detalles de implementación de RI y Recuperación de imágenes.
Information Retrieval, Gerard Salton Es un libro clásico, la última versión es de 1989
Information Retrieval, Jerry Kowalski Un buen resumen de las arquitecturas de los sistemas de RI.
Bibliografía y referencias