La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Construcción de Indices

Presentaciones similares


Presentación del tema: "Construcción de Indices"— Transcripción de la presentación:

1 Construcción de Indices
Organización Compresión de Términos Construcción de Listas Invertidas Compresión de Listas Invertidas ODD - Curso Servetto Recuperación de Textos

2 Recuperación de Textos
Organización Vocabulario en RAM y listas invertidas en archivo de bloques Términos ordenados en un arreglo (búsqueda binaria), con referencias a listas en archivo Actualización por fusión Vocabulario en arbol B# y listas invertidas en archivo de bloques Términos en un archivo con organización B#, con referencias a listas en archivo Actualización directa ODD - Curso Servetto Recuperación de Textos

3 Compresión de Términos 1
codazo, codearse, codera, codicia, codiciar, codiciosa, codicioso, codificar, codigo Compresión Frontal (front coding) 6codazo#35earse#42ra#34icia#71r#63osa#81o#4 5ficar#42go# Prefijo de longitud Cantidad de caracteres coincidentes con el término previo Después de cada término se agrega un número de bloque donde encontrar la lista (2 bytes) ODD - Curso Servetto Recuperación de Textos

4 Compresión de Términos 2
6codazo#35earse#42ra#34icia#71r#63osa# 81o#45ficar#42go# Optimización de búsquedas 6codazo#35earse#42ra#7codicia#71r#63os a#9codicioso#45ficar#42go# Cantidad de secciones de compresión Posición relativa de términos sin comprimir: al final de nodos (B#) o en arreglo independiente (RAM) ODD - Curso Servetto Recuperación de Textos

5 Construcción de Listas Invertidas 1
Documentos Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida Después de la Vida Modelo Booleano cosas, vida, bella, querer (1, 1), (2, 1), (2, 2), (3, 2), (1, 3), (4, 3), (2, 4), (2, 4) (1, 1), (1, 3), (2, 1), (2, 2), (2, 4), (2, 4), (3, 2), (4, 3) 1, 2(1, 3) 2, 3(1, 2, 4) 3, 1(2) 4, 1(3) cosas, 1, 2(1, 3) vida, 2, 3(1, 2, 4) bella, 3, 1(2) querer, 4, 1(3) ODD - Curso Servetto Recuperación de Textos

6 Construcción de Listas Invertidas 2
Documentos Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida Después de la Vida Modelo Vectorial cosas, vida, bella, querer (1, 1), (2, 1), (2, 2), (3, 2), (1, 3), (4, 3), (2, 4), (2, 4) (1, 1, 1), (2, 1, 1), (2, 2, 1), (3, 2, 1), (1, 3, 1), (4, 3, 1), (2, 4, 2) (1, 1) (2, 1) (3, 1)(4, 2) (1, 1, 1), (1, 3, 1), (2, 1, 1), (2, 2, 1), (2, 4, 2), (3, 2, 1), (4, 3, 1) 1, 2((1, 1), (3, 1)) 2, 3((4, 2), (1, 1), (2, 1)) 3, 1(2, 1) 4, 1(3, 1) cosas, 1, 2((1, 1), (3, 1)) vida, 2, 3((4, 2), (1, 1), (2, 1)) bella, 3, 1(2, 1) querer, 4, 1(3, 1) ODD - Curso Servetto Recuperación de Textos

7 Construcción de Listas Invertidas 3
Documentos Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida Después de la Vida Consultas de Frases o Términos Próximos cosas, vida, bella, querer (1, 1, 1), (2, 1, 2), (2, 2, 1), (3, 2, 2), (1, 3, 1), (4, 3, 2), (2, 4, 1), (2, 4, 2) (1, 1, 1), (1, 3, 1), (2, 1, 2), (2, 2, 1), (2, 4, 1), (2, 4, 2), (3, 2, 2), (4, 3, 2) 1, 2((1, 1(1)), (3, 1(1))) 2, 3((1, 1(2)), (2, 1(1)), (4, 2(1, 2))) 3, 1(2, 1(2)) 4, 1(3, 1(2)) cosas, 1, 2((1, 1(1)), (3, 1(1))) vida, 2, 3( (1, 1(2)), (2, 1(1)), (4, 2(1, 2))) bella, 3, 1(2, 1(2)) querer, 4, 1(3, 1(2)) ODD - Curso Servetto Recuperación de Textos

8 Compresión de Listas Invertidas 1
Reducción de cantidad de bits para representar números de documento Reducción de magnitud → Se ordenan los números de documento de menor a mayor y se representan como distancias al número previo Puede haber números grandes Hay pocos números grandes y muchos chicos Codificar con cantidades de bits proporcionales a la magnitud Los números chicos se representan con pocos bits Los números grandes se representan con muchos bits ODD - Curso Servetto Recuperación de Textos

9 Compresión de Listas Invertidas 2
Codificación Alineada a Bytes Representa números naturales con la mínima cantidades de bytes, usando los dos bits más significativos del código para indicar la cantidad de bytes empleados → 00xxxxxx → 01xxxxxx xxxxxxxx → 10xxxxxx xxxxxxxx xxxxxxxx → 11xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ODD - Curso Servetto Recuperación de Textos

10 Compresión de Listas Invertidas 3
Códigos de Elias Fragmentan la representación de un número n en 2 partes, la primera de las cuales debe constituir un prefijo (debe distinguirse de la segunda) Exponente de la máxima potencia de 2 que no exceda a n → └log2(n)┘ n - 2└log2(n)┘ El número se reconstruye sumando 2└ log2(n)┘a la segunda parte. Ejemplo 723 → └log2(723)┘| └log2(723)┘→ 9|723 – 29 → 9|211 9|211 → = = 723 ODD - Curso Servetto Recuperación de Textos

11 Compresión de Listas Invertidas 3
Códigos de Elias Gamma └log2(n)┘ unos seguidos de un cero (o viceversa) n - 2└log2(n)┘ en └ log2(n) ┘ bits 723 → Delta └log2(n)┘+1 en código Gamma n - 2└log2(n)┘ en └log2(n)┘ bits 723 → ODD - Curso Servetto Recuperación de Textos

12 Compresión de Listas Invertidas 4
Codificación de Golomb Fragmenta la representación de un número n en 2 partes, la primera de las cuales debe constituir un prefijo, en función de un parámetro ajustable g q = └n/g┘ con q unos seguidos de un 0 (o viceversa) r = n mod g en log2(g) bits (para g potencia de 2) Ejemplo 723 con g = 512 → └723/512┘723 mod 512 → ← log2(512)=9 ODD - Curso Servetto Recuperación de Textos

13 Compresión de Listas Invertidas 5
Codificación de Golomb con g Óptimo Se puede demostrar que la compresión es óptima cuando g se relaciona con la probabilidad p de que un término se encuentre en un documento de la siguiente manera: (1-p)^g+(1-p)^(g+1) ≤ 1 < (1-p)^(g-1)+(1-p)^g g se obtiene redondeando al entero más próximo el valor: log2(2-p)/(-log2(1-p)), P = nt/N (N cant. de documentos, nt documentos en los que aparece un término t) b = ┌log2(g)┐ Si r < 2^b-g se representa r en b-1 bits Si r ≥ 2^b-g se representa 2^b-g+r en b bits ODD - Curso Servetto Recuperación de Textos

14 Recuperación de Textos
Ejemplo Golomb p = 8/500 = 0.016 g = Round(log2( ) / (-log2( ))) = = Round(log2(1.984) / (-log2(0.984))) = = Round(42.47) = 42 b = Techo(log2(42)) = Techo(5.39) = 6 2^b-g = 2^6-42 = 22 42 → → 21 → 22 → → 41 → ODD - Curso Servetto Recuperación de Textos


Descargar ppt "Construcción de Indices"

Presentaciones similares


Anuncios Google