Resumen de Técnicas Básicas de Recuperación de Buscador
-
Upload
jose-carlos-cortizo-perez -
Category
Education
-
view
1.465 -
download
1
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 [email protected]
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?