Webir - 2014
Webir - 2014
08/09/20142
Extensiones
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
3
Consultas por Conceptos o Frases
Consultas por Conceptos o Frases
Universidad de la RepúblicaUniversidad de la República ““Universidad de la República”Universidad de la República”
Concepto relacionado con la cercanía de Concepto relacionado con la cercanía de
palabras
palabras
Soluciones eficientesSoluciones eficientes
Índices de pares de palabras - biwordsÍndices de pares de palabras - biwords Índices posicionalesÍndices posicionales
Combinación de índices posicionales e índices Combinación de índices posicionales e índices
de pares de palabras
4
Recuperación Tolerante a Errores de
Ortografía y Otras Inconsistencias
Estructuras de datos auxiliares para las Estructuras de datos auxiliares para las
búsquedas en el vocabulario del diccionario
búsquedas en el vocabulario del diccionario
Búsquedas con ”comodines”Búsquedas con ”comodines”
a*e*i*o*ua*e*i*o*u automat*automat*
Errores de ortografíaErrores de ortografía
Búsquedas de términos fonéticamente Búsquedas de términos fonéticamente
similares
5
Estructuras de Datos Auxiliares el
Estructuras de Datos Auxiliares el
Vocabulario del Diccionario
Vocabulario del Diccionario
Búsqueda de términosBúsqueda de términos
HashingHashing
Árboles de búsquedaÁrboles de búsqueda
Depende deDepende de
Cuantos términosCuantos términos Cantidad estáticaCantidad estática
Sólo se agregan términos o pueden desaparecerSólo se agregan términos o pueden desaparecer Frecuencia de acceso de los términosFrecuencia de acceso de los términos
6
Estructuras de Datos Auxiliares el
Estructuras de Datos Auxiliares el
Vocabulario del Diccionario
Vocabulario del Diccionario
HashingHashing
Transformar cada término en un enteroTransformar cada término en un entero Resolver colisiones de forma simpleResolver colisiones de forma simple
Espacio grande para que hayan pocas o Espacio grande para que hayan pocas o
ninguna colisión
ninguna colisión
Demasiado espacio para InternetDemasiado espacio para Internet
Obsoleto en poco tiempo para InternetObsoleto en poco tiempo para Internet
7
Estructuras de Datos Auxiliares el
Estructuras de Datos Auxiliares el
Vocabulario del Diccionario
Vocabulario del Diccionario
ÁrbolesÁrboles
BinariosBinarios
c/nodo tiene hasta 2 hijosc/nodo tiene hasta 2 hijos
O(logO(log22 N) depende de mantenerlo balanceo N) depende de mantenerlo balanceo
Árboles-BÁrboles-B
c/nodo tiene entre [a,b] hijosc/nodo tiene entre [a,b] hijos BalanceadosBalanceados
Práctico para levantar mayor porción del árbol de Práctico para levantar mayor porción del árbol de
disco
disco
Requieren un orden asociado a los Requieren un orden asociado a los
caracteres
caracteres
8
Estructuras de Datos Auxiliares el
Estructuras de Datos Auxiliares el
Vocabulario del Diccionario
Vocabulario del Diccionario
Árbol binario Árbol-BÁrbol binario Árbol-B
Raiz aard vark muz a-m n-z Raiz a-h i-n o-r r-z
9
Búsquedas con ”Comodines”
Búsquedas con ”Comodines”
No se conoce completamente la palabra - No se conoce completamente la palabra -
S*dney
S*dney
Se busca conscientemente distintas Se busca conscientemente distintas
versiones de la misma palabra - color y
versiones de la misma palabra - color y
colour
colour
Se buscan variantes de la palabra - Se buscan variantes de la palabra -
operating, operational, etc
operating, operational, etc
Se busca palabras en otros idiomas – Se busca palabras en otros idiomas –
Universit* Stuttgart
10
Búsquedas con ”Comodines”
Búsquedas con ”Comodines”
mon* - se puede encontrar en un árbol de mon* - se puede encontrar en un árbol debúsqueda para las palabras del vocabulario
búsqueda para las palabras del vocabulario
El conjunto W de palabras con prefijo monEl conjunto W de palabras con prefijo mon |W| búsquedas en el diccionario|W| búsquedas en el diccionario
*mon - se puede encontrar en un árbol de *mon - se puede encontrar en un árbol de
búsqueda para las palabras invertidas del
búsqueda para las palabras invertidas del
vocabulario
vocabulario
árbol invertidoárbol invertido
se*mon - se puede resolver mediante ambos se*mon - se puede resolver mediante ambos
árboles
11
Búsquedas con ”Comodines”
Búsquedas con ”Comodines”
Caso general de búsqueda de la palabra qCaso general de búsqueda de la palabra qww
ev. con más de un comodín - conjunto W de
ev. con más de un comodín - conjunto W de
palabras que resuelven la consulta
palabras que resuelven la consulta
Buscar un conjunto Q tal que W Buscar un conjunto Q tal que W ⊂⊂ QQ
Controlar las que cumplen las condicionesControlar las que cumplen las condiciones
IndiceIndice Permuterm Permuterm IndiceIndice k-gram k-gram
12
Índice
Índice
Permuterm
Permuterm
Permutaciones de las palabrasPermutaciones de las palabras
hello$hello$ ello$hello$h llo$hello$he lo$hello$hel ...... Consulta m*nConsulta m*n
Se busca n$m* (ev. en un árbol de búsqueda)Se busca n$m* (ev. en un árbol de búsqueda)
Se incrementa el tamaño del diccionarioSe incrementa el tamaño del diccionario
hello$ ello$h llo$he lo$hel hello ...
13
Índice
Índice
Permuterm
Permuterm
Resolver fi*mo*erResolver fi*mo*er
Buscar las palabras er$fi* (= fi*er)Buscar las palabras er$fi* (= fi*er)
Filtrar las que tengan ”mo” en el medioFiltrar las que tengan ”mo” en el medio fishmonger pero no filibusterfishmonger pero no filibuster
Buscar los términos que cumplen las Buscar los términos que cumplen las
condiciones en el diccionario
14
“
“
Compressed Permuterm Index”
Compressed Permuterm Index”
Ferragina
Ferragina
y
y
Venturini
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
15
Índice
Índice
k-gram
k-gram
Secuencias de k caracteresSecuencias de k caracteres
3-gram de la palabra castle: cas, ast y stl3-gram de la palabra castle: cas, ast y stl
$ para comenzar y finalizar las $ para comenzar y finalizar las
subsecuencias de una palabra
subsecuencias de una palabra
$castle$: $ca, cas, ast, stl, tle, le$$castle$: $ca, cas, ast, stl, tle, le$
etr metric retrieval ...
metric
16
Índice
Índice
k-gram
k-gram
Resolver re*veResolver re*ve
Buscar $re AND ve$Buscar $re AND ve$ relive, remove, retrieverelive, remove, retrieve
Buscar los términos que cumplen las Buscar los términos que cumplen las
condiciones en el diccionario
condiciones en el diccionario
Resolver red*Resolver red*
Buscar $re AND redBuscar $re AND red Error retiredError retired
Filtrado posterior para eliminar erroresFiltrado posterior para eliminar errores
17
Correcciones Ortográficas
Correcciones Ortográficas
britney spears = britian spears, britney’s britney spears = britian spears, britney’s
spears, brandy spears, prittany spears
spears, brandy spears, prittany spears
Dos formasDos formas
Distancia de ediciónDistancia de edición k-gramk-gram
Tipos de correccionesTipos de correcciones
Encontrar el término más cercanoEncontrar el término más cercano
Elegir entre dos (o más) términos cercanos, Elegir entre dos (o más) términos cercanos,
grnt = grunt, grantgrnt = grunt, grant
Mayor frecuencia en la colección de documentosMayor frecuencia en la colección de documentos Mayor frecuencia en las consultas de los usuariosMayor frecuencia en las consultas de los usuarios
18
Correcciones Ortográficas – Acciones
Correcciones Ortográficas – Acciones
Devolver documentos con el término original y Devolver documentos con el término original y
otros términos que son correcciones del original
otros términos que son correcciones del original
Devolver documentos con términos que son Devolver documentos con términos que son
correcciones del original sólo si el original NO
correcciones del original sólo si el original NO
aparece en el diccionario
aparece en el diccionario
Devolver documentos con términos que son Devolver documentos con términos que son
correcciones del original sólo si el original devuelve
correcciones del original sólo si el original devuelve
menos de
menos de mm resultados resultados
Si el original devuelve menos de Si el original devuelve menos de mm resultados se resultados se
presentan al usuario términos alternativos que son
presentan al usuario términos alternativos que son
correcciones del original
19
Correcciones Ortográficas
Correcciones Ortográficas
Términos aisladosTérminos aislados
Corregir las palabras de la consulta en forma Corregir las palabras de la consulta en forma
individual, aún en caso de conceptos o frases
individual, aún en caso de conceptos o frases
Agunas palabras se pueden NO corregir ya que Agunas palabras se pueden NO corregir ya que
no se detectan como errores
no se detectan como errores
20
Correcciones Ortográficas –
Correcciones Ortográficas –
Distancia de Edición
Distancia de Edición
Distancia de edición entre sDistancia de edición entre s11 y s y s22 = mínimo = mínimo
número de operaciones de edición
número de operaciones de edición
necesarias para transformar s
necesarias para transformar s11 en s en s22
Insertar un caracterInsertar un caracter Borrar un caracterBorrar un caracter
Reemplazar un caracter por otroReemplazar un caracter por otro
Se puede asignar pesos a las operacionesSe puede asignar pesos a las operaciones
Reemplazar ”a” por ”p” es menos probable que Reemplazar ”a” por ”p” es menos probable que
reemplazar ”a” por ”s” – teclado
reemplazar ”a” por ”s” – teclado
21
Correcciones Ortográficas –
Correcciones Ortográficas –
Distancia de Edición
Distancia de Edición
¿Con que términos del vocabulario se debe ¿Con que términos del vocabulario se debe
comparar la palabra de la consulta?
comparar la palabra de la consulta?
HeurísticasHeurísticas
Términos que empiecen con la misma letraTérminos que empiecen con la misma letra Versión del índice Permuterm sin $Versión del índice Permuterm sin $
Omitir algunas letras del comienzo y buscar en Omitir algunas letras del comienzo y buscar en
el indice Permuterm
22
Correcciones Ortográficas –
Correcciones Ortográficas –
k-gram
k-gram
Buscar en el índice k-gram un conjunto de
Buscar en el índice k-gram un conjunto de
palabras con muchas subsecuencias en
palabras con muchas subsecuencias en
común con la original para buscar las más
común con la original para buscar las más
cercanas – limitar aún más y usar dist. edición
cercanas – limitar aún más y usar dist. edición
¿k? ¿Cuántas palabras?¿k? ¿Cuántas palabras?
¿Cuántas subsecuencias en común?¿Cuántas subsecuencias en común?
Coeficiente Jaccard (medida de coincidencias)Coeficiente Jaccard (medida de coincidencias)
|A
|A ⋂ ⋂ B| / |A B| / |A ⋃ ⋃ B|B|
Conjuntos de subsecuencias que superen un Conjuntos de subsecuencias que superen un
umbral
23
Correcciones Ortográficas -
Correcciones Ortográficas -
Correccion Sensible al Contexto
Correccion Sensible al Contexto
Corregir las palabras de la consulta en forma Corregir las palabras de la consulta en forma
individual
individual
Buscar como conceptos o frases con y sin Buscar como conceptos o frases con y sin
las correcciones
las correcciones
Usar frecuencias para acotar las búsquedasUsar frecuencias para acotar las búsquedas
En el corpusEn el corpus
24
Correcciones Ortográficas -
Correcciones Ortográficas -
Ejercicios
Ejercicios
La distancia en edición entre s1 y s2 nunca La distancia en edición entre s1 y s2 nunca
es mayor que max{|s1|, |s2|}
25
Correcciones Ortográficas –
Correcciones Ortográficas –
Fonética
Fonética
Hash fonéticoHash fonético Principalmente nombres propiosPrincipalmente nombres propios
Algoritmos SoundexAlgoritmos Soundex
Reducir cada término a 4 caracteresReducir cada término a 4 caracteres
Construir un índice invertido de los términos de Construir un índice invertido de los términos de
la colección reducidos a los originales – índice
la colección reducidos a los originales – índice
Soundex
Soundex
Construir un índice invertido de los términos de Construir un índice invertido de los términos de
la consulta reducidos a los originales
la consulta reducidos a los originales
26
Correcciones Ortográficas –
Correcciones Ortográficas –
Soundex Clásico
Soundex Clásico
Variaciones en la forma de reducir los términosVariaciones en la forma de reducir los términos 1 letra y 3 dígitos (entre 0 y 9)1 letra y 3 dígitos (entre 0 y 9)
Dejar la primera letra del términoDejar la primera letra del término
Llevar a 0 las letras ”a”, ”e”, ”i”, ”o”, ”u”, ”h”, ”w”, ”y”Llevar a 0 las letras ”a”, ”e”, ”i”, ”o”, ”u”, ”h”, ”w”, ”y” Llevar a 1 las letras ”b”, ”f”, ”p”, ”v”Llevar a 1 las letras ”b”, ”f”, ”p”, ”v”
Llevar a 2 las letras ”c”, ”g”, ”j”, ”k”, ”q”, ”s”, ”x”, ”z”Llevar a 2 las letras ”c”, ”g”, ”j”, ”k”, ”q”, ”s”, ”x”, ”z” Llevar a 3 las letras ”d”, ”t”Llevar a 3 las letras ”d”, ”t”
Llevar a 4 la letra ”l”Llevar a 4 la letra ”l”
Llevar a 5 las letras ”m”, ”n”Llevar a 5 las letras ”m”, ”n” Llevar a 6 la letra ”r”Llevar a 6 la letra ”r”
Eliminar digítos repetidos consecutivos, dejando sólo uno Eliminar digítos repetidos consecutivos, dejando sólo uno
de ellos
de ellos
Eliminar los 0sEliminar los 0s