La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "FIUBAODD - Curso Servetto1 Resolución de Consultas Consultas en el Modelo Booleano Consultas en el Modelo Vectorial Consultas Especiales."— Transcripción de la presentación:

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

2 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

3 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

4 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

5 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,3 2 + 1 * 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,3 2 + 0 * 0,125 2 = 0,09 Sim(4, c) = p(cosas, 4) * 0,3 + p(vida, 4) * 0,125 = 0 * 0,3 2 + 2 * 0,125 2 = 0,03 cosas|0,3|1

6 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

7 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 = 2-1 31243124 Pares de Términos cosas, querer cosas, vida vida, bella vida, vida Listas Invertidas

8 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

9 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

10 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

11 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

12 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;


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

Presentaciones similares


Anuncios Google