Resumen de Técnicas Básicas de Recuperación de Buscador

Post on 29-Jun-2015

1.465 views 1 download

Transcript of Resumen de Técnicas Básicas de Recuperación de Buscador

Técnicas Básicas (resumen)

José Carlos Cortizo Pérez http://www.esp.uem.es/jccortizo josecarlos.cortizo@uem.es

Departamento de Sistemas Informáticos Escuela Superior Politécnica Universidad Europea de Madrid

José Carlos Cortizo Pérez

Índice

Esquema de funcionamiento

Normalización y Tokenización

Indexación

Modelo del Espacio Vectorial

Sistemas Inteligentes de Acceso a la Información

Esquema de Funcionamiento

José Carlos Cortizo Pérez

Esquema de Funcionamiento

José Carlos Cortizo Pérez

DocDocDoc

Q

NormalizaciónTokenización Indexación

NormalizaciónTokenización

MEV Res.

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Documento 1:Pepe coge su coche por las mañanas

Documento 2:Mañana veré a Pepe

Documento 3:Me traen el coche mañana

Consulta: Coche

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Documento 1:Pepe; coger; coche; mañana

Documento 2:Mañana; ver; Pepe

Documento 3:Traen; coche; mañana

Consulta: Coche

Normalizamos y Tokenizamos los Documentos

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Consulta: Coche

Documento 1 Documento 2 Documento 3

Pepe 1 1

Coger 1

Coche 1 1

Mañana 1 1 1

Ver 1

Traer 1

Indizamos los Documentos

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Consulta: Coche

Documento 1 Documento 2 Documento 3

Pepe 1 1

Coger 1

Coche 1 1

Mañana 1 1 1

Ver 1

Traer 1

Tokenizamos y Normalizamos la consulta

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Consulta: Coche

Documento 1 Documento 2 Documento 3

Pepe 1 1

Coger 1

Coche 1 1

Mañana 1 1 1

Ver 1

Traer 1

Seleccionamos candidatos

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Consulta:

Representamos en forma de Vectores

Documento 1: (1, 1, 1, 1, 0)

Representación:(Pepe, coger, coche, mañana, traer)

Documento 2: (0, 0, 1, 1, 1)

(0, 0, 1, 0, 0)

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Consulta:

Aplicamos MEV

Documento 1: (1, 1, 1, 1, 0)

Representación:(Pepe, coger, coche, mañana, traer)

Documento 2: (0, 0, 1, 1, 1)

(0, 0, 1, 0, 0)

cos(D1, C) = 1·0 + 1·0 + 1·1 + 1·0 + 0·0

RC(4) · RC(1)= 0.5

cos(D1, C) = 0·0 + 0·0 + 1·1 + 0·0 + 0·0

RC(3) · RC(1)= 0.57

José Carlos Cortizo Pérez

Ejemplo

José Carlos Cortizo Pérez

Y obtenemos un ranking de resultados

Resultados ordenados:Documento 2Documento 1

José Carlos Cortizo Pérez

¿Alguna pregunta?

Sistemas Inteligentes de Acceso a la Información

Normalización y Tokenización

José Carlos Cortizo Pérez

Normalización y Tokenización

Tokenizar: Separar las palabras o elementos a indizar

Normalizar: Estandarizar la forma de escribir algunas cosas. P.e. eliminar las tildes, cambiar de mayúsculas a minúsculas, etc.

¿Qué?

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

Tokenizar: Necesitamos tener unidades indizables para utilizarlas como base de nuestra representación. Pueden ser palabras, frases, n-gramas, etc.

Normalizar: El lenguaje es muy flexible, y además es muy corriente cometer errores de algún tipo. La normalización nos provee una forma de “eliminar” estos problemas.

¿Por qué?

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

Forma simple: utilizar un Tokenizador que separe por caracteres clave (p.e. espacios, signos de puntuación, etc.)

En java se haría con un String Tokenizer

Si en lugar de palabras, queremos separar frases, la cosa es algo más compleja (dependiendo del tipo de frase)

Análisis del lenguaje

¿Cómo tokenizar?

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

Por lo general aplicando reglas heurísticas

P.e. Cambiar todas las vocales acentuadas por vocales sin acentuar

Pasar las mayúsculas a minúsculas

Eliminar “palabras vacías”

¿Cómo normalizar?

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

Las palabras muy frecuentes no aportan semántica

Artículos, pronombres, conjunciones, etc.

Las apariciones de las 10 palabras más frecuentes del inglés constituyen un 20/30% de un documento

Se suelen incluir en una lista de parada

Estas listas se obtienen a partir de un córpora representativo del idioma

Palabras vacías

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

Múltiples palabras son variaciones morfológicas, con idéntico significado

Los stemmers (extractores de raíces), normalizan a una forma canónica, p.e.

analizar, análisis, analizador... => ‘anali’

Algoritmo de Porter, SnowBall

Normalización morfológica

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Normalización y Tokenización

En función del idioma, podemos aplicar reglas de normalización que permitan una mejor recuperación (p.e. tolerante a errores)

P.e., para el Castellano

Eliminar las ‘h’

Cambiar ‘v’ por ‘b’

Cambiar ‘ll’ por ‘y’

Esto aumenta el recall pero puede bajar la precisión

Normalización “avanzada”

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

¿Alguna pregunta?

Sistemas Inteligentes de Acceso a la Información

Indexación

José Carlos Cortizo Pérez

Indexación

Los índices son necesarios para poder realizar las consultas en tiempos aceptables

Generan un “overhead” en cuánto a almacenamiento

2 tipos de índices importantes

Directos

Inversos

Indexación

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

IndexaciónIndice directo

José Carlos Cortizo Pérez

Pal1 Pal2 Pal3 Pal4

Doc1 1 1 0 0

Doc2 0 1 0 0

Doc3 1 0 1 0

Doc4 0 0 0 1

José Carlos Cortizo Pérez

IndexaciónIndice inverso

José Carlos Cortizo Pérez

Doc1 Doc2 Doc3 Doc4

Pal1 1 1 0 0

Pal2 0 1 0 0

Pal3 1 0 1 0

Pal4 0 0 0 1

José Carlos Cortizo Pérez

Indexación

Cada uno tiene sus pros y sus contras

Sin embargo, el inverso es muy eficiente en consulta (nos interesa más)

El inverso es el que se suele implementar en la práctica (p.e. Google)

¿Cuál es mejor?

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

¿Alguna pregunta?

Sistemas Inteligentes de Acceso a la Información

Modelo del Espacio Vectorial

José Carlos Cortizo Pérez

Modelo del Espacio Vectorial

Es un modelo más sofisticado que el Booleano

Se basa en el álgebra vectorial

La representación se realiza en base a vectores de pesos de términos

Introducción

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Modelo del Espacio Vectorial

Cálculo de similitud: el coseno de los vectores que forman el documento y la consulta

Introducción

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

Modelo del Espacio VectorialIntroducción

José Carlos Cortizo Pérez

José Carlos Cortizo Pérez

¿Alguna pregunta?

José Carlos Cortizo Pérez

Bibliografía

Baeza-Yates, Ricardo; Ribeiro-Neto, Berthier. Modern information retrieval. Addison-Wesley, 1999 (Z699.35 .I53 B34 Biblioteca UEM, edificio C).

Raymond Mooney. Basic Tokenizing, Indexing and Implementation of Vector-Space Retrieval. Tema 3 de su curso en IR.

http://www.cs.utexas.edu/~mooney/ir-course/slides/Evaluation.ppt

Adicional

José Carlos Cortizo Pérez

¿Alguna pregunta?