1 / 27

Introducción

Indexación M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción http://www.inf.udec.cl/~andrea. Introducción. Cómo recuperar información? Una altenativa simple es buscar en todo el texto

Download Presentation

Introducción

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Indexación M.Andrea Rodríguez TastetsDIIC - Universidad de Concepciónhttp://www.inf.udec.cl/~andrea

  2. Introducción • 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

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

  4. Notación • 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

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

  6. Ejemoplo • Texto: • Inverted file 1 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 Vocabulario Ocurrencias beautiful flowers garden house 70 45, 58 18, 29 6

  7. Requerimientos de espacio • 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)

  8. Block Addressing • El texto se divide en bloques • Los puntos de ocurrencia son a los bloques donde las palabras aparecen • Ventajas: • 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 pre-seleccionados si las posiciones exactas son requeridas

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

  10. Búsqueda • 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

  11. Búsqueda • 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 B-trees • Una alternativa simple es mantener el vocabulario en orden (O(log v) costo )

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

  13. Tries

  14. Construcción • 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

  15. 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)

  16. Construcción • 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

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

  18. Construcción • 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 log2(n/M) noveles de mezcla • El costo total es de O(n log(n/M))

  19. Arreglo de Sufijos • 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.

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

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

  22. Arreglo de Sujifo: Búsqueda • 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: • el patrón de búsqueda S origina dos "patrones límites" P1 y P2 tal que cualquier sufijo es P1 S  P2. • 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.

  23. 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 log n). • Para texto muy largos, se construye un arreglo sufijo para un primer bloque que se combina con un segunda y con un tercero a medida que se construyen los arreglos sufijos de sucesivos bloques.

  24. Archivos de Firmas • 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.

  25. Archivos de Firmas

  26. Archivos de Firmas • 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."

  27. Conclusiones • 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 semi-está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

More Related