FIUBAODD - Curso Servetto1 Resolución de Consultas Consultas en el Modelo Booleano Consultas en el Modelo Vectorial Consultas Especiales.

Slides:



Advertisements
Presentaciones similares
Recuperación de Textos (RTT)‏
Advertisements

IBD Curso 2007 Clase 2.
Organizaciones Directas
Organizaciones B, B+, B* y B#
Diseño y análisis de algoritmos
Programación de Computadores
Organización de Datos - Curso Servetto
Organizaciones Indexadas
Organización Secuencial
FIUBAODD - Curso Servetto1 Organizaciones Directas Costos de Recuperación Unidades de Organización Funciones de Dispersión Organizaciones Estáticas – Primitivas.
Construcción de Indices
Phrase Query Evaluator
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
SENTENCIAS SECUENCIALES
Organización Secuencial
Construcción de Indices Invertidos
Sistemas Gestores de Ficheros
UCR – ECCI CI-2414 Recuperación de Información
ADA: lenguaje de programación concurrente
OPERADORES LÓGICOS Diplomado II
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Diseño y análisis de algoritmos
Metodología de la Programación
INGENIERIA EN SISTEMAS COMPUTASIONALES. Habitualmente, el investigador ensambla su modelo "sobre una mesa vacía" usando elementos que ofrece el lenguaje.
Seminario de Actualización - Excel Avanzado y Macros
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
Clase 4 Profesora: Estela Muñoz Vilches
Curso de Programación 1 Plan 97
Organización de Datos - Curso Servetto
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
Unidad 4: Análisis de algoritmos (parte II)
IBD Plan 2003 Clase 4. UNLP - Facultad de InformáticaIBD - CLASE 4 2 Archivos - Búsqueda Búsqueda de información (costo) # de comparaciones (operaciones.
Preguntas tipo test (I)
Preguntas tipo test (Tema I)
Algoritmos de Búsqueda
Teoría de lenguajes y compiladores
BÚSQUEDA Y RECUPERACIÓN DE LA INFORMACIÓN
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Como usar el Catálogo Bello Guía práctica Acceso al catálogo  Se puede acceder al catálogo desde cualquier parte del mundo por Internet.  Es posible.
Ordenación, Clasificación
CATÁLOGO AUTOMATIZADO
Algoritmos de ordenación
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
Procesadores del Lenguaje
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Especificación de Consultas M
Conversión cadena a número
Diseño y análisis de algoritmos
Estructuras de Datos Arreglos.
COMPUTACION 2009 Clase 6 Clase 7.
Métodos de búsqueda Unidad 6.
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación I Arreglos II- Matrices.
Aplicaciones de las derivadas
Teoría – Alejandro Gonzalez
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
Tema 8: Tipos de Datos Estructurados I
Algoritmos de Ordenamiento y Complejidad
CATÁLOGO AUTOMATIZADO
Indexación M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
Fundamentos de Programación
BASES DE DATOS BIBLIOGRAFICAS Es el conjunto de datos o registros bibliográficos organizados en contenido y formatos normalizados, que se almacena en.
Almacenamiento de la información IES Virgen del Espino.
Teoría de lenguajes y compiladores
Reconocimiento de patrones
MIA - Grupo 5 Unidad 2.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Transcripción de la presentación:

FIUBAODD - Curso Servetto1 Resolución de Consultas Consultas en el Modelo Booleano Consultas en el Modelo Vectorial Consultas Especiales

FIUBAODD - Curso Servetto2 Consultas en el Modelo Booleano 1.Se buscan los términos de la consulta en el índice 2.Se recuperan las listas invertidas correspondientes a cada término 3.Se realizan las operaciones de conjuntos correspondientes sobre las listas (unión, intersección y/o diferencia) 4.Las listas están ordenadas en orden creciente de número de documento (distancias) se puede operar recorriéndolas secuencialmente los documentos se recuperan ordenados por número de documento

FIUBAODD - Curso Servetto3 Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida después de la Vida d1 d2 d3 d4 Vocabulario bella cosas querer vida Listas Invertidas 2 1, 3 3 1, 2, 4 c+cosas +vida 1, 3 1, 2, 4 = 1 Las Cosas de la Vida

FIUBAODD - Curso Servetto4 Consultas en el Modelo Vectorial Una consulta puede tener muchos términos, y sólo interesa obtener los N documentos más relevantes La lista de documentos de cada término se almacena ordenada por orden decreciente de apariciones del término en cada documento Se quiere obtener los N documentos con mayor similitud con la consulta Se comienza con la lista correspondiente al término con mayor peso global y se consideran los primeros N números de documento de la lista Si la lista tiene menos de N números de documento se sigue con la lista de otro término con peso global menos o igual al del anterior

FIUBAODD - Curso Servetto5 Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida después de la Vida d1 d2 d3 d4 VocabularioListas Invertidas bella|0,6|1 cosas|0,3|1 querer|0,6|1 vida|0,125|2 (2, 1) (1, 1), (3, 1) (3, 1) (4, 2), (1,1), (2, 1) c cosas, vida N = 2 vida|0,125|2 0,3 > 0,125 (1, 1), (3, 1) Sim(1, c) = p(cosas, 1) * 0,3 + p(vida, 1) * 0,125 = 1 * 0, * 0,125 2 = 0,1 N = 3 (1, 1), (3, 1), (4, 2) Sim(3, c) = p(cosas, 3) * 0,3 + p(vida, 3) * 0,125 = 1 * 0, * 0,125 2 = 0,09 Sim(4, c) = p(cosas, 4) * 0,3 + p(vida, 4) * 0,125 = 0 * 0, * 0,125 2 = 0,03 cosas|0,3|1

FIUBAODD - Curso Servetto6 Resolución de Consultas Especiales Consultas de Frases o Términos Próximos Se buscan los términos de la consulta en el vocabulario y se recupera sus listas invertidas Se calcula la intersección de los números de documento Para los documentos en que aparecen todos los términos, se determina las posiciones relativas de los términos al primer término de la consulta Variante para frases índice de pares de términos

FIUBAODD - Curso Servetto7 Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida después de la Vida d1 d2 d3 d4 2 (2) 1 (1), 3 (1) 3 (2) 1 (2), 2 (1), 4 (1, 2) Vocabulario bella cosas querer vida Listas Invertidas ccosas vida 1 (1), 3 (1)1 (2), 2 (1), 4 (1, 2) {1, 3} {1, 2, 4} = {1} cosas c(1), 1(1); vida c(2), 1(2) 2-1 = Pares de Términos cosas, querer cosas, vida vida, bella vida, vida Listas Invertidas

FIUBAODD - Curso Servetto8 Consultas con Patrones Fuerza bruta recorrido secuencial del léxico Índice secundario de n-gramas por cada término que se agrega al índice invertido, se indexan en el secundario todos sus n-gramas Índice secundario de léxico rotado por cada término que se agrega al índice invertido, se agregan al secundario todas sus rotaciones Los índices secundarios permiten buscar en el invertido todos los términos que cumplan con el patrón de búsqueda

FIUBAODD - Curso Servetto9 Consultas con Patrones Índice Secundario de n-gramas Para agregar el término normalizado organizacion al índice invertido y teniendo un índice secundario de digramas, deben indexarse los digramas |o, or, rg, ga, an, ni, iz, za, ac, ci, io, on, n| en el índice secundario debe haber un registro para cada digrama con una lista de términos que lo contienen Para buscar un patrón orga* se buscan las listas de términos correspondientes a los digramas |o, or, rg, ga y se hace la intersección de las listas

FIUBAODD - Curso Servetto10 Consultas con Patrones Índice Secundario de Léxico Rotado Para agregar el término normalizado organizacion al índice invertidodeben indexarse las rotaciones |organizacion, n|organizacio, on|organizaci, ion|organizac, cion|organiza, acion|organiz, zacion|organi, izacion|organ, nizacion|orga, anizacion|org, ganizacion|or, rganizacion|o, en el índice secundario debe haber un registro para cada rotación que corresponda al término sin rotar Para buscar un patrón orga* se buscan las listas de términos correspondientes a todas las rotaciones que comiencen con |orga

FIUBAODD - Curso Servetto11 Consultas de Términos Parecidos Espacio Métrico (Léxico, Distancia Edición) Distancia de Edición o de Levenshtein d(casado, cazado) = 1 c a s a d o c a z a d o d(anemia, anestesia) = 4 a n e m i a a n e s t e s i a

FIUBAODD - Curso Servetto12 Distancia de Edición function dist(var t1, t2: tTermino): Byte; {Calcula la distanca de Levenshtein entre t1 y t2} var d: Array[0..LMT, 0..LMT] of Byte; {LMT Long.Max.Term.} lt1, lt2, i, j, costo: Byte; begin lt1:=length(t1); lt2:=length(t2); for i:=0 to lt1 do d[i, 0]:=i; for j:=0 to lt2 do d[0, j]:=j; for i:=1 to lt1 do for j:=1 to lt2 do begin if t1[i]=t2[j] then costo:=0 else costo:=1; d[i, j]:=min(d[i-1, j] + 1, {supresion} d[i, j-1] + 1, {insercion} d[i-1, j-1] + costo {sustitucion} ) end; dist:=d[lt1, lt2] end;