Webir - 2014 08/09/2014
Extensiones Búsqueda de conceptos, por ej. sistema operativo Medidas de cercanía, por ej. Gates cerca de Microsoft Recuperación tolerante a errores de ortografía y otras inconsistencias 2
Consultas por Conceptos o Frases Universidad de la República Universidad de la República Concepto relacionado con la cercanía de palabras Soluciones eficientes Índices de pares de palabras - biwords Índices posicionales Combinación de índices posicionales e índices de pares de palabras 3
Recuperación Tolerante a Errores de Ortografía y Otras Inconsistencias Estructuras de datos auxiliares para las búsquedas en el vocabulario del diccionario Búsquedas con comodines a*e*i*o*u automat* Errores de ortografía Búsquedas de términos fonéticamente similares 4
Estructuras de Datos Auxiliares el Vocabulario del Diccionario Búsqueda de términos Hashing Árboles de búsqueda Depende de Cuantos términos Cantidad estática Sólo se agregan términos o pueden desaparecer Frecuencia de acceso de los términos 5
Estructuras de Datos Auxiliares el Hashing Vocabulario del Diccionario Transformar cada término en un entero Resolver colisiones de forma simple Espacio grande para que hayan pocas o ninguna colisión Demasiado espacio para Internet Obsoleto en poco tiempo para Internet No hay forma de encontrar términos parecidos 6
Estructuras de Datos Auxiliares el Árboles Vocabulario del Diccionario Binarios c/nodo tiene hasta 2 hijos O(log 2 N) depende de mantenerlo balanceo Árboles-B c/nodo tiene entre [a,b] hijos Balanceados Práctico para levantar mayor porción del árbol de disco Requieren un orden asociado a los caracteres No siempre ocurre por ej. Chino 7
Estructuras de Datos Auxiliares el Vocabulario del Diccionario Árbol binario Árbol-B a-m Raiz n-z a-h i-n Raiz r-z o-r aardvark muz 8
Búsquedas con Comodines No se conoce completamente la palabra - S*dney Se busca conscientemente distintas versiones de la misma palabra - color y colour Se buscan variantes de la palabra - operating, operational, etc Se busca palabras en otros idiomas Universit* Stuttgart 9
Búsquedas con Comodines mon* - se puede encontrar en un árbol de búsqueda para las palabras del vocabulario El conjunto W de palabras con prefijo mon W búsquedas en el diccionario *mon - se puede encontrar en un árbol de búsqueda para las palabras invertidas del vocabulario árbol invertido se*mon - se puede resolver mediante ambos 10 árboles
Búsquedas con Comodines Caso general de búsqueda de la palabra q w ev. con más de un comodín - conjunto W de palabras que resuelven la consulta Buscar un conjunto Q tal que W Q Controlar las que cumplen las condiciones Indice Permuterm Indice k-gram 11
Índice Permuterm Permutaciones de las palabras hello$ ello$h llo$he lo$hel... Consulta m*n hello$ ello$h llo$he lo$hel... hello Se busca n$m* (ev. en un árbol de búsqueda) Se incrementa el tamaño del diccionario 12
Índice Permuterm Resolver fi*mo*er Buscar las palabras er$fi* (= fi*er) Filtrar las que tengan mo en el medio fishmonger pero no filibuster Buscar los términos que cumplen las condiciones en el diccionario 13
Compressed Permuterm Index Ferragina y Venturini mississippi$ ississippi$m ssissippi$mi sissippi$mis issippi$miss ssippi$missi sippi$missis ippi$mississ ppi$mississi pi$mississip i$mississipp $mississippi $ mississipp i i $mississip p i ppi$missis s i ssippi$mis s i ssissippi$ m m ississippi $ p i$mississi p p pi$mississ i s ippi$missi s s issippi$mi s s sippi$miss i s sissippi$m i L = ipssm$pissii 14
Índice k-gram Secuencias de k caracteres 3-gram de la palabra castle: cas, ast y stl $ para comenzar y finalizar las subsecuencias de una palabra $castle$: $ca, cas, ast, stl, tle, le$ etr metric retrieval... metric 15 retrieval
Índice k-gram Resolver re*ve Buscar $re AND ve$ relive, remove, retrieve Buscar los términos que cumplen las condiciones en el diccionario Resolver red* Buscar $re AND red Error retired Filtrado posterior para eliminar errores String matching 16
Correcciones Ortográficas britney spears = britian spears, britney s spears, brandy spears, prittany spears Dos formas Distancia de edición k-gram Tipos de correcciones Encontrar el término más cercano Elegir entre dos (o más) términos cercanos, grnt = grunt, grant Mayor frecuencia en la colección de documentos 17 Mayor frecuencia en las consultas de los usuarios
Correcciones Ortográficas Acciones Devolver documentos con el término original y otros términos que son correcciones del original Devolver documentos con términos que son correcciones del original sólo si el original NO aparece en el diccionario Devolver documentos con términos que son correcciones del original sólo si el original devuelve menos de m resultados Si el original devuelve menos de m resultados se presentan al usuario términos alternativos que son correcciones del original 18
Correcciones Ortográficas Términos aislados Corregir las palabras de la consulta en forma individual, aún en caso de conceptos o frases Agunas palabras se pueden NO corregir ya que no se detectan como errores Corrección sensible al contexto 19
Correcciones Ortográficas Distancia de Edición Distancia de edición entre s 1 y s 2 = mínimo número de operaciones de edición necesarias para transformar s 1 en s 2 Insertar un caracter Borrar un caracter Reemplazar un caracter por otro Se puede asignar pesos a las operaciones Reemplazar a por p es menos probable que reemplazar a por s teclado Algoritmo de programación dinámica 20
Correcciones Ortográficas Distancia de Edición Con que términos del vocabulario se debe comparar la palabra de la consulta? Heurísticas Términos que empiecen con la misma letra Versión del índice Permuterm sin $ Omitir algunas letras del comienzo y buscar en el indice Permuterm 21
Correcciones Ortográficas k-gram Buscar en el índice k-gram un conjunto de palabras con muchas subsecuencias en común con la original para buscar las más cercanas limitar aún más y usar dist. edición k? Cuántas palabras? Cuántas subsecuencias en común? Coeficiente Jaccard (medida de coincidencias) A B / A B Conjuntos de subsecuencias que superen un 22 umbral
Correcciones Ortográficas - Correccion Sensible al Contexto Corregir las palabras de la consulta en forma individual Buscar como conceptos o frases con y sin las correcciones Usar frecuencias para acotar las búsquedas En el corpus En las consultas 23
Correcciones Ortográficas - Ejercicios La distancia en edición entre s1 y s2 nunca es mayor que max{ s1, s2 } 24
Correcciones Ortográficas Hash fonético Fonética Principalmente nombres propios Algoritmos Soundex Reducir cada término a 4 caracteres Construir un índice invertido de los términos de la colección reducidos a los originales índice Soundex Construir un índice invertido de los términos de la consulta reducidos a los originales Buscar en el índice Soundex 25
Correcciones Ortográficas Soundex Clásico Variaciones en la forma de reducir los términos 1 letra y 3 dígitos (entre 0 y 9) Dejar la primera letra del término Llevar a 0 las letras a, e, i, o, u, h, w, y Llevar a 1 las letras b, f, p, v Llevar a 2 las letras c, g, j, k, q, s, x, z Llevar a 3 las letras d, t Llevar a 4 la letra l Llevar a 5 las letras m, n Llevar a 6 la letra r Eliminar digítos repetidos consecutivos, dejando sólo uno de ellos Eliminar los 0s 26 Completar las posiciones del final con 0s