INDEXAMIENTO Y OPERACIONES CON TEXTO INTEGRANTES:

Download Report

Transcript INDEXAMIENTO Y OPERACIONES CON TEXTO INTEGRANTES:

INDEXAMIENTO Y OPERACIONES CON TEXTO

INTEGRANTES: OSCAR ESCALADA MUÑOZ ALEJANDRO MARTINEZ CHAGOYA ARNOLD DE ANDA ANAYA.

GUILLERMO VELEZ MELENDEZ.

HECTOR SANCHEZ MEJIA.

 INTRODUCCION .

En el lenguaje escrito algunas palabras tienen más significado que otras. Por lo tanto se considera importante procesar el texto de los documentos para determinar los términos a usar como "términos de índice.

 Ademas en este mundo actual, con las enormes librerias digitales es necesario comprimir los documentos.

 Procesamiento de Documentos: El procesamiento de documentos es un proceso que se puede divdir principalmente en 5 operaciones de texto:  1.- Análisis léxico del texto(puntos, guiones,comas, etc). - Números - Guiones - Puntuación - Mayúsculas y minúsculas No hay una solución clara pero hay que tomar en consideración a cada una de ellas.

 2.- Eliminación de palabras sin valor :Las palabras que son utilizadas en el 80 porciento de los documentos son inútiles para la recuperación.

 3.- Palabra raiz: Frecuentemente el usuario especifica una palabra en su búsqueda pero solo una variante de esta se encuentra en el texto  4.- Selección de términos para el índice: Si una representación de texto completo se adopta, entonces todas las palabras en el texto se usan como términos de índice.  5.- Diccionario de sinónimos De acuerdo con Foskett, el propósito principal de este diccionario es básicamente: a)Proveer un vocabulario estandar.

b)Asistir al usuario.

c)Proveer jerarquias clasificadas

 COMPRESIÓN DE TEXTO  1.- Motivación 2.- Conceptos básicos 3.- Método estadístico MODELADO - Los modelos de comprensión pueden ser adaptables, estáticos o semi-estáticos.

- Los modelos basados en palabras, toman palabras en lugar de caracteres como símbolos.  CREANDO CODIGO Crear código corresponde a la tarea de obtener la representación (código) de un símbolo basado en la probabilidad distribuida dada por un modelo. - Codificación de Huffman - Métodos de diccionario - Compresión por Archivos Invertidos  COMPARANDO TECNICAS DE COMPRESION DE TEXTO: -Un objetivo importante de cualquier método de compresión es poder obtener una buena proporción de compresión.

TABLA COMPARATIVA:

ARITMETICA PROPORCION DE COMPRESION VELOCIDAD DE COMPRECION VELLOCIDAD DE DESCOMPRESION ESPACIO EN MEMORIAS BUSQUEDAS EN MEMORIA MUY BIEN LENTO LENTO BAJO NO CARÁCTER HUFFMAN POBRE RAPIDO RAPIDO BAJO SI PALABRA HUFFMAN ZIV-LEMPEL MUY BIEN BIEN RAPIDO MUY RAPIDO MUY RAPIDO MUY RAPIDO ALTO SI MODERADO SI

INDEXAMIENTO Y BUSQUEDAS:  Cubriremos 3 significados de tecnicas e indexamiento : - Archivos invertidos - Arreglos suffix - Archivos firmados  Archivos invertidos : Un archivo invertido es aquel que permite hacer una búsqueda, en una colección de palabras, se compone de dos elementos: vocabulario y ocurrencias.

BUSQUEDAS EN ARCHIVOSA INVERTIDOS 1.- vocabulario 2.- lista de posiciones 3.- manipulación de posiciones

:

Este algoritmo sigue tres pasos en su búsqueda.

 Suffix Trees y Suffix Arrays: - Los índices invertidos asumen que el texto puede ser visto como una secuencia de palabras.

- El principal inconveniente es el proceso de costo de construcción  Estructura de Suffix trees y arrays - En esencia un suffix tree es una estructura de datos construida sobre todas las suffixes del texto.

 Búsqueda en Suffix trees y arrays -Si un suffix tree sobre un texto puede ser permitido, básicamente sus dibujos son semejantes a las palabras, prefijos, y frases que sean de O(n) y buscadas en una simple búsqueda trie.

 BUSQUEDA SECUENCIAL: - Es una parte basica de la tecnica de indexamiento y por ser la unica opcion en algunas ocasiones.

- La mayoria de los algoritmos presentados a continuación son una consecuencia de del algoritmo de búsqueda secuencial de fuerza bruta modificandolo en diferentes formas.

- En estos algoritmos el texto se divide en VENTANAS de longitud M y en esa ventana se checa si el patron que se desea reconocer coincide o no con lo que hay dentro de dicha ventana, luego se desplaza la ventana hacia delante.

- Dentro de los algoritmos mas comunes para búsquedas secuenciales encontramos los siguientes:  Fuerza bruta(BF).

-Este algoritmo consiste simplemente en probar todas las posiciones posibles en el texto donde pueda ser igual el patron que se esta intentando reconocer y lo verifica.

-El tiempo de este tipo de bisuquedas es de O(n) en promedio y en el peor caso es de O(nm).

Knuth-Morris-Pratt

-No es mas rapido que el BF.

-Reusa la información de los chequeos anteriores -Su tiempo promedio es O (m).

Boyer-Moore Family

-Este tipo de algoritmos se basan en el hechote que en cada ventana se pueden hacer “backwards” -El tiempo promedio para este algoritmo es de O(n log(m/n)) -El peor caso genera un tiempo de O(mn).

Shift-or

-Se basa en “bit parallelism” el cual ase toma ventaja del intrinseco paralelismo de las operaciones con bits -El peor caso de este algoritmoes de O(mn/w) donde w es el numero de bits de la palabra.

-El caso promedio esta dado por O(mn)

COMPARACIONES DE EFICIENCIA :    Esta comparación se basa en un texto generado aleatoriamenete con 64 letras asi como para texto en ingles con el mismo numero de letras.

Los patrones a comparar tambien fueron generados aleatorimente a partir del texto generado. Se trataron patrones largos y patrones cortos.

Las comparaciones miden el tiempo en el que se generan las búsquedas.

- El primer caso que se analizo para patrones pequeños para dichos textos generados random donde el algoritmo vencedor fue el de suffix automaton (backward DAWG mathcing) y estuvo mu cerca algoritmo Boyer – Moore.

- En la comparación para texto en ingles el vencedor fue el algoritmo AGREP que no es otra cosa mas que un algoritmo Boyer – Morre cuidadosamente optimizado.

- En patrones largos a reconocer nuevamente el algoritmo BDM de suffix automaton (backward DAWG mathcing) fue el que obtuvo mejor tiempo.

BUSQUEDA EN TEXTO PERMITIENDO ERRORES.

  Se aceptan u numero de errores en la busqueda de un patron determinado.

Existen varias soluciones a esto.

- Programación dinamica : - Autómatas : - Bit- Parallelism: - Filtering:

BUSQUEDA DE CADENAS USANDO LA TECNICA DE INDEXAMIENTO.

-Invertid files: -Suffix tree y suffix array

Compresion

     Código de Huffman, es una de las técnicas mas eficientes.

Toma palabras como símbolos.

Comprime el texto remplazando cada palabra por su respectivamente.

Este código esta basado en alfabeto de bytes en ves de bits.

Este comprime mucho mejor y mas rápido que los comerciales.

 La búsqueda es igual ya sea con índices invertidos así mismo para patrones simples y complejos.

 La busqueda al ser finalizada, se obtiene un lista de palabras que coinciden con el query.

Índices Comprimidos

    Los índices comprimidos son mas sencillos, ya que las listas ocurrentes son incrementadas en las posición del texto.

Son representadas por menos espacio por medio de técnicas favor de números pequeños.

Mientras mas larga la lista mas pequeñas las diferencias.

Reduciendo un 90% para el numero de bloques de dirección.

 No necesariamente reduce el tiempo de ejecución.

 Manteniendo el índice comprimido permite la transferencia de menos datos.

 Este será descomprimido solo para ser desplegado.

 Es posible integrar ambas técnicas (Compresión e Indexación).