Скачать презентацию Indexación M Andrea Rodríguez Tastets DIIC — Universidad Скачать презентацию Indexación M Andrea Rodríguez Tastets DIIC — Universidad

4f2e6259f60c185c1fa6b7e466e18860.ppt

  • Количество слайдов: 27

Indexación M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción http: //www. inf. udec. Indexación M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción http: //www. inf. udec. cl/~andrea

Introducción l l l Cómo recuperar información? Una altenativa simple es buscar en todo Introducción l l l Cómo recuperar información? Una altenativa simple es buscar en todo el texto Otra alternativa es construir estructuras de datos sobre el texto (llamdos índices) para celerar la búsqueda

Introducción l Técnicas de indexación: • • • Archivos invertidos Arreglo de sufijos Archivos Introducción l Técnicas de indexación: • • • Archivos invertidos Arreglo de sufijos Archivos de firma (signature files)

Notación l l n: el tamaño del texto m: el largo del patrón v: Notación l l n: el tamaño del texto m: el largo del patrón v: el tamaño del vocabulario M: la cantidad de memoria principal disponible

Inverted Files l Definición: es un mecanismo orientado a l Estructura: la palabra para Inverted Files l Definición: es un mecanismo orientado a l Estructura: la palabra para indexar una colección de archivos. • Vocabulario: es un conjunto de todas las • Ocurrencias: listas conteniendo toda la palabras distintas en el texto información necesaria para cada palabra de vocabulario ( posición en el texto, frecuencia, documentos donde aparece, . . )

Ejemoplo l 1 Texto: 6 12 16 18 25 29 36 40 45 54 Ejemoplo l 1 Texto: 6 12 16 18 25 29 36 40 45 54 58 66 70 That house has a garden. The garden has many flowers. The flowers are beautiful l Inverted file Vocabulario Ocurrencias beautiful 70 flowers 45, 58 garden 18, 29 house 6

Requerimientos de espacio l • • El espacio requerido para un vocabulario es más Requerimientos de espacio l • • El espacio requerido para un vocabulario es más bien pequeño. De acuerdo a Heaps’ law, el vocabulario crece en un orden O(n ), donde es una constante entre 0. 4 y 0. 6 in practica y n es la cantidad de documentos Las ocurrencias demandan mayor espacio. Debido a que cada palabra que aparece en el texto es referenciada una vez en la estructura, el espacio extra es O(n) Para reducir espacio, se usa una técnica de direccionamiento de bloque (block addressing)

Block Addressing l l l El texto se divide en bloques Los puntos de Block Addressing l l l El texto se divide en bloques Los puntos de ocurrencia son a los bloques donde las palabras aparecen Ventajas: • • l Los bloques son menores que las posiciones Todas las referencias dentro de un bloque se reducen a una sola ocurrencia Desventaja: • búsqueda en línea sobre los bloques preseleccionados si las posiciones exactas son requeridas

Ejemplo l Text: Block 1 Block 2 Block 3 Block 4 That house has Ejemplo l Text: Block 1 Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful l Inverted file: Vocabulario Ocurrencias beautiful 4 flowers 3 garden 2 house 1

Búsqueda l El algoritmo de búsqeda en un archivo invertido sigue los siguientes pasos: Búsqueda l El algoritmo de búsqeda en un archivo invertido sigue los siguientes pasos: • • • Búsqueda en el vocabulario Recuperación de ocurrencias Manipulación of ocurrencias

Búsqueda l l l Tarea de búsqueda en archivos invertidos siempre comienza en la Búsqueda l l l Tarea de búsqueda en archivos invertidos siempre comienza en la vocabulario ( Es mejor tener elvocabulario en un archivo separado) Las estructuras más usadas para el vocubulario son hashing, tries o Btrees Una alternativa simple es mantener el vocabulario en orden (O(log v) costo )

Btree P C A B D E F G M J K L T Btree P C A B D E F G M J K L T N O Q R S X U V Y Z

Tries Tries

Construcción l l l Todo el vocabulario es mantenido en una estructura de datos Construcción l l l Todo el vocabulario es mantenido en una estructura de datos adecuada para mantener por cada palabra una lista de ocurrencias Cada palabra del texto es leída y buscada en el vocabulario Si no se encuentra, se agrega con una lista de ocurrencia vacía y la nueva ocurrencia en agregada a la lista

Construcción • Una vez el texto es revisado, el vocabulario es escrito en disco. Construcción • Una vez el texto es revisado, el vocabulario es escrito en disco. Dos archivos son creados • • • en el primer archivo, la lista de ocurrencias en almacenada contiguamente en el segundo, el vocabulario es almacendao en orden con un puntero a lista en el primer archivo El proceso tiene un tiempo en el peor caso de orden O(n)

Construcción • • l Una opción es usar el algoritmo previo hasta que la Construcción • • l Una opción es usar el algoritmo previo hasta que la memoria principal se agota. Cuando esto ocurre, el índice parcial Ii obtenido hasta ahora es grabado en disco y borrado de memoria antes de continuar con el resto del texto. Cuando el texto se acaba, un número parcial de índices Ii existen en disco Ls índices parciales son mezclados para obtener el índice final

Ejemplo final index I 1. . . 8 7 level 3 I 1. . Ejemplo final index I 1. . . 8 7 level 3 I 1. . . 4 3 I 1. . . 2 I 5. . . 8 6 I 3. . . 4 1 I 5. . . 6 2 I 3 level 2 I 7. . . 8 4 I 5 level 1 5 I 6 I 7 I 8 initial dumps

Construcción l l El tiempo total para generar el índice parcial O(n) El número Construcción l l El tiempo total para generar el índice parcial O(n) El número índices parciales O(n/M) Para mezclar los O(n/M) índices parciales, se necesitan log 2(n/M) noveles de mezcla El costo total es de O(n log(n/M))

Arreglo de Sufijos l l El índice ve el texto como una larga cadena Arreglo de Sufijos l l El índice ve el texto como una larga cadena de palabras (string). Las mayores desventajas de un arreglo de sufijo son su costo de construcción, el texto debe estar disponible al tiempo de consulta, y los resultados son entregados sin seguir el orden en el texto. Este índice puede organizar palabras y texto de caracteres. Cada posición en el texto es vista como un sufijo (un string que va desde la posición hasta el final del texto). Sufijos partiendo de diferentes posición son siempre diferentes.

Arreglo de Sufijos: Ejemplo 4 22 37 52 62 Un texto con palabras y Arreglo de Sufijos: Ejemplo 4 22 37 52 62 Un texto con palabras y letras que forman párrafos.

Arreglo de Sufijos: Ejemplo 4 22 37 52 62 Un texto con palabras y Arreglo de Sufijos: Ejemplo 4 22 37 52 62 Un texto con palabras y letras que forman párrafos.

Arreglo de Sujifo: Búsqueda l l Para textos grandes arreglos de sufijos responden en Arreglo de Sujifo: Búsqueda l l Para textos grandes arreglos de sufijos responden en el orden de O(log n), con n el tamaño de la base de datos textual, para búsqueda binarias. El proceso de búsqueda es el siguiente: l l l el patrón de búsqueda S origina dos "patrones límites" P 1 y P 2 tal que cualquier sufijo es P 1 S P 2. La búsqueda es binaria entre los dos patrones límites en el arreglo de sufijos. Todas las consultas recuperan un intervalo del arreglo sufijo.

Arreglo de Sufijo: Construcción • • Se dividen los sufijos por bloques de acuerdo Arreglo de Sufijo: Construcción • • Se dividen los sufijos por bloques de acuerdo al orden dado por la primera letra. Luego, se sigue con la segunda letra y así. El tiempo promedio de construcción de un arreglo sufijo en memoria es O(nlog n). Para texto muy largos, se construye un arreglo sufijo para un primer bloque se combina con un segunda y con un tercero a medida que se construyen los arreglos sufijos de sucesivos bloques.

Archivos de Firmas l l Los archivos signatura son estructuras de índices orientadas a Archivos de Firmas l l Los archivos signatura son estructuras de índices orientadas a la palabra basadas en hashing. Poseen un consumo extra de espacio de 10% a un 20% del texto al costo de forzar una búsqueda secuencial sobre el índice. La función hash traduce las palabras a mascaras de B bits. Un archivo signatura divide el texto en bloques de b palabras. Para cada bloque de palabras una máscara de B bits es asignada. La máscara es asignada al "bitwise ORing" la signatura de todas las palabras en el bloque.

Archivos de Firmas Archivos de Firmas

Archivos de Firmas l l El problema de este índice es cuando un máscara Archivos de Firmas l l El problema de este índice es cuando un máscara indica que una palabra existe aunque no se así (debido a la operación OR sobre las signaturas). Este es llamado "falso drop. " La probabilidad de este error esta determinada por el tamaño B y b, es decir, por el "overhead" del sistema. Este esquema mejora para búsqueda de frases ya que todos las palabras deben ser encontradas dentro del bloque reduciendo la probabilidad de "false drop. "

Conclusiones l l Archivos invertidos es probablemente el índice más adecuado para base de Conclusiones l l Archivos invertidos es probablemente el índice más adecuado para base de datos textuales Los índices son adecuados cuando la colección de texto es grande y semiestáctica Si la colección de texto es volátil, búsqueda en línea es la única opción Algunas ténicas combinan búsqueda online con indexación