cuadernillo de lectoescritura para niños de básica
Resumen de Técnicas Básicas de Recuperación de Buscador
1. 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
2. Índice
Esquema de funcionamiento
Normalización y Tokenización
Indexación
Modelo del Espacio Vectorial
José Carlos Cortizo Pérez
4. Esquema de Funcionamiento
Doc
Doc
Normalización
Indexación
Doc Tokenización
MEV Res.
Normalización
Q Tokenización
José Carlos Cortizo Pérez
5. Ejemplo
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
6. Ejemplo
Normalizamos y Tokenizamos los Documentos
Documento 1:
Pepe; coger; coche; mañana
Documento 2:
Mañana; ver; Pepe
Documento 3:
Traen; coche; mañana
Consulta:
Coche
José Carlos Cortizo Pérez
7. Ejemplo
Indizamos los Documentos
Documento 1 Documento 2 Documento 3
Pepe 1 1
Coger 1
Coche 1 1
Mañana 1 1 1
Ver 1
Traer 1
Consulta:
Coche
José Carlos Cortizo Pérez
8. Ejemplo
Tokenizamos y Normalizamos la consulta
Documento 1 Documento 2 Documento 3
Pepe 1 1
Coger 1
Coche 1 1
Mañana 1 1 1
Ver 1
Traer 1
Consulta:
Coche
José Carlos Cortizo Pérez
15. Normalización y Tokenización
¿Qué?
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.
José Carlos Cortizo Pérez
16. Normalización y Tokenización
¿Por qué?
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.
José Carlos Cortizo Pérez
17. Normalización y Tokenización
¿Cómo tokenizar?
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
José Carlos Cortizo Pérez
18. Normalización y Tokenización
¿Cómo normalizar?
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”
José Carlos Cortizo Pérez
19. Normalización y Tokenización
Palabras vacías
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
José Carlos Cortizo Pérez
20. Normalización y Tokenización
Normalización morfológica
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
José Carlos Cortizo Pérez
21. Normalización y Tokenización
Normalización “avanzada”
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
José Carlos Cortizo Pérez
24. Indexación
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
José Carlos Cortizo Pérez
27. Indexación
¿Cuál es mejor?
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)
José Carlos Cortizo Pérez
30. Modelo del Espacio Vectorial
Introducción
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
José Carlos Cortizo Pérez
31. Modelo del Espacio Vectorial
Introducción
Cálculo de similitud: el coseno de los vectores que forman el
documento y la consulta
José Carlos Cortizo Pérez
34. Bibliografía
Adicional
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
José Carlos Cortizo Pérez