Tema 2. Indexaci - PowerPoint PPT Presentation

About This Presentation
Title:

Tema 2. Indexaci

Description:

Title: Tema 1. Modelos de RI avanzados Author: Ramon Vte. Cirilo Gimeno Last modified by. Created Date: 9/30/2002 8:30:07 AM Document presentation format – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 89
Provided by: Ramo159
Category:
Tags: indexaci | modelos | tema

less

Transcript and Presenter's Notes

Title: Tema 2. Indexaci


1
Tema 2.Indexación y Búsqueda
  • Sistemas de Gestión Documental

2
Introducción
  • Qué tipos de consulta puedo realizar?
  • Cómo puedo tratar (indexar) el texto para poder
    realizar mis consultas?
  • Necesito realizar alguna tarea previa a la
    indexación (preprocesado)?
  • Cómo se van a resolver las consultas? Tengo
    alguna alternativa de ayuda?

3
Lenguajes de consulta
  • Cada modelo de RI responderá a distintos tipos de
    consultas.
  • Veremos QUE consultas se pueden hacer, y COMO se
    resuelven.
  • Modelos básicos consultas basadas en palabras
    clave (keywords).
  • Modelos avanzados consultas con procesamiento
    del lenguaje natural.

4
Palabras clave
  • La consulta se compone de palabras clave que se
    deben buscar dentro de los documentos.
  • Son intuitivas, fáciles de expresar, y permiten
    un ranking rápido.
  • Constan de una sola palabra o de una combinación
    más o menos compleja de palabras.

5
Palabras clave
  • Consultas de una palabra
  • Aceptada por todos los modelos. Algunos modelos
    permiten la separación de palabra en letras.
  • Detección de palabras letras y separadores ?
    problema de identificación de separadores
    (válidos sólo en algunos casos).
  • El resultado de la consulta es el conjunto de
    documentos que contienen la palabra.
  • El ranking se soporta con medidas estadísticas
    como la frecuencia de términos y la frecuencia de
    documento inversa.

6
Palabras clave
  • Consultas contextuales
  • Permiten búsquedas de palabras en ciertos
    contextos del documentos (proximidad).
  • Operaciones contextuales
  • Frases. Secuencia de palabras. Permite la
    inclusión de palabras vacías dentro de la frase.
  • Proximidad. Especificación de la distancia entre
    los términos o frases, según distintas unidades
    (palabras, párrafos) y características
    (unidireccional, bidireccional).
  • El ranking de consultas de frases es similar al
    de consultas de términos. El ranking de
    proximidad no está muy claro como hacerlo.

7
Palabras clave
  • Consultas booleanas
  • La forma más antigua de combinar términos.
  • Sintaxis términos combinados con operadores
    booleanos.
  • Es un esquema composicional los operandos pueden
    ser los resultados de otras operaciones.
  • Producen conjuntos de documentos.

8
Palabras clave
  • Consultas booleanas
  • Arbol de consulta
  • Operadores
  • OR (a or b)
  • AND (a and b)
  • NOT (not b)
  • BUT (a but b)
  • No hay ranking en sistemas booleanos puros.

9
Palabras clave
  • Lenguaje natural
  • Eliminación completa de operadores.
  • Simple enumeración de términos y contextos.
  • Se recuperan documentos que satisfagan
    parcialmente la consulta.
  • El ranking será mayor cuanto más partes de la
    consulta se satisfagan.
  • Completamente aplicable al modelo de RI de
    espacios vectoriales.

10
Patrones
  • Se permiten búsquedas parciales de términos
  • Palabras completas (preservar)
  • Prefijos (preser)
  • Sufijos (cación)
  • Subcadenas (cans)
  • Rangos (1027 lt x lt 2077)
  • Fallos permitidos (fuzzy) (suarseneguer)
    (Distancia Levenshtein mínimo número de
    inserciones, sustituciones y borrados necesario
    para igualar las dos cadenas)Ejercicio
    (schwarzenegger suarseneguer)

11
Patrones
schwarzeneggersuarseneguer scuarseneguer
(c)schuarseneguer (h)schwarseneguer
(u??w)schwarzeneguer (s??z) schwarzenegger (u??g)
12
Patrones
  • Expresiones regulares(pro(blemateina)(s?)(012
    ?))problema02, proteinas, proteina00121, ...
  • Unión (ab)
  • Concatenación (ab)
  • Repetición ()
  • Patrones extendidos. Particularizaciones de los
    patrones extendidos, con un lenguaje de consulta
    más sencillo.
  • Clases de caracteres (dígitos, posiciones, etc.)
  • Expresiones condicionales
  • Truncamientos
  • Combinaciones de encaje exacto, encaje con errores

13
Consultas estructuradas
  • Estructura fija campo
  • Hipertexto
  • Estructura jerárquica

14
Protocolos de Consulta
  • En red (on-line)
  • Z39.50
  • WAIS (Wide Area Information Service)
  • CDs (off-line)
  • CCL (Common Command Language)
  • CD-RDx (Compact Disc Read Only Data exchange)
  • SFQL (Structured Full-text Query Language)

15
Indexación y búsqueda
  • Vamos a ver las principales técnicas que permiten
    resolver las consultas.
  • Consultas compuestas de palabras ? documentos que
    las contienen
  • Operaciones booleanas
  • Algoritmos de búsqueda secuencial y búsqueda de
    patrones

16
Indexación
  • Opciones de búsqueda
  • Recorrido del texto
  • No hay preprocesamiento.
  • Textos pequeños.
  • Colecciones volátiles.
  • Utilización de estructuras de apoyo (índices)
  • Grandes colecciones.
  • Colecciones estáticas.
  • Ficheros invertidos, vectores de sufijos y
    ficheros de firmas.

17
Ficheros invertidos
  • Es un mecanismo orientado al término para indexar
    una colección.
  • Se compone de
  • Vocabulario (conjunto de palabras que aparecen en
    un texto).
  • Ocurrencias (lista de las apariciones de cada
    palabra en el texto, una por cada palabra).
  • Posiciones de palabras (facilitan las búsquedas
    de proximidad y de frases)
  • Posiciones de caracteres (facilitan los accesos a
    las posiciones de los textos)

18
Ficheros invertidos
1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
Vocabulario
Ocurrencias
Compuestas De Es Están Esto Las Letras Muchas Pala
bras Texto Tiene Un
70... 81... 6... 64... 1... 51... 84... 34... 41,
55... 12, 22... 28... 9, 19...
13... 14... 2... 12... 1... 10... 15... 8... 9,
11... 4, 6... 7... 3, 5...
Fichero Invertido
19
Ficheros invertidos
  • Fichero invertido / Lista invertida
  • El primero hace referencia (apunta) a documentos,
    y el segundo a términos.
  • Espacio que necesita el vocabulario
  • Crecimiento O(n?), 0.4lt ? lt0.6, n es el número
    de palabras en la base de datos
  • Ejemplo 1Gb de una colección de TREC-2 ocupa
    5Mb.
  • Espacio que necesitan las ocurrencias
  • Crecimiento O(n)
  • En la práctica, 30 o 40 sobre el tam. del texto

20
Ficheros invertidos
  • Se puede reducir el tamaño de las ocurrencias
    utilizando la técnica de direccionamiento de
    bloques

Bloque 1 Bloque 2 Bloque 3 Bloque 4
Esto es un texto.
Un texto tiene muchas
palabras. Las palabras están
compuestas de letras.
Vocabulario
Ocurrencias
Compuestas De Es Están Esto Las Letras Muchas Pala
bras Texto Tiene Un
4... 4... 1... 3... 1... 3... 4... 2... 3... 1,
2... 2... 1, 2...
Fichero Invertido
21
Ficheros invertidos
INDICE COLECCIÓN PEQUEÑA (1Mb) COLECCIÓN PEQUEÑA (1Mb) COLECCIÓN MEDIANA (200 Mb) COLECCIÓN MEDIANA (200 Mb) COLECCIÓN GRANDE (2 Gb) COLECCIÓN GRANDE (2 Gb)
PALABRAS 45 73 36 64 35 63
DOCUMENTOS 19 26 18 32 26 47
BLOQUES (64K) 27 41 18 32 5 9
BLOQUES (256) 18 25 1.7 2.4 0.5 0.7
Tamaños de un fichero invertido como porcentajes
del total de la colección. La columna de la
izquierda indica que no se han indexado
stopwords. La columna de la derecha indica que se
han indexado todos los términos.
22
Ficheros invertidos
  • Búsqueda en ficheros invertidos (algoritmo)
  • Búsqueda de vocabulario
  • Se buscan las palabras de la consulta en el
    vocabulario, separando en palabras las frases y
    búsquedas de proximidad.
  • Recuperación de ocurrencias
  • Manipulación de ocurrencias
  • Se resuelven frases, proximidad u operaciones
    booleanas.
  • Si se usa indexación de bloques, habrá que buscar
    posiciones exactas dentro de los bloques.

23
Ficheros invertidos
  • Búsqueda de vocabulario
  • Búsqueda secuencial, Búsqueda binaria, Arboles B,
    Tablas Hash
  • Las búsquedas de prefijos y rangos no se puede
    hacer con tablas hash.
  • Las búsquedas contextuales se resolverán de forma
    distinta según el tipo de indexación utilizado.
  • Un ejemplo la búsqueda de una palabra en un
    fichero de 250Mb puede costar 0.08 s., mientras
    que la búsqueda de una frase (3 a 5 palabras) de
    0.25 s a 0.35 s.

24
Ficheros invertidos
  • Construcción
  • Una de las formas más utilizadas de
    implementación son los árboles
  • Se mantienen 2 ficheros separados
  • Vocabulario, que se puede mantener en memoria y
    referencia a las ocurrencias.
  • Ocurrencias, almacenadas de forma contigua.
  • Se parte de un estado previo del índice.
  • Se busca si el término existe
  • SI ? Se añade la entrada en las ocurrencias
  • NO ? Se añade al vocabulario, y se actualizan las
    ocurrencias.

25
Ficheros invertidos
  • Construcción Ejemplo

1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
compuestas 70
c
letras 84
l
m
muchas 34
p
palabras 41,55
t
e
texto 12,22
i
tiene 28
26
Vectores de sufijos
  • Los ficheros invertidos asumen que los textos son
    secuencias de palabras ? se limita el tipo de
    búsquedas.
  • Las consultas de tipo frases son más difíciles de
    resolver.
  • Los vectores de sufijos permiten resolver de
    forma más eficiente consultas de tipo complejo.

27
Vectores de sufijos
  • El inconveniente es que construirlos es un
    proceso costoso.
  • Permite indexar palabras y caracteres.
  • Se pueden aplicar a un mayor rango de
    aplicaciones.
  • Para aplicaciones que utilizan exclusivamente
    palabras, los ficheros invertidos funcionan
    mejor, sin considerar la resolución de consultas
    complejas.

28
Vectores de sufijos
  • Cómo funciona?
  • Se considera el texto como una cadena de
    caracteres.
  • Cada posición del texto se considera como un
    sufijo.
  • Cada sufijo se identifica unívocamente por su
    posición.
  • No es necesario indexar todas las posiciones del
    texto (por ejemplo, se pueden indexar sólo
    comienzos de palabras).
  • Los elementos no indexados NO serán recuperables.

29
Vectores de sufijos
1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
texto. Un texto tiene muchas palabras. Las
palabras están compuestas de letras.
texto tiene muchas palabras. Las palabras están
compuestas de letras.
tiene muchas palabras. Las palabras están
compuestas de letras.
muchas palabras. Las palabras están compuestas de
letras.
palabras. Las palabras están compuestas de letras.
palabras están compuestas de letras.
compuestas de letras.
letras.
30
Vectores de sufijos
1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
70
c
Arbol de sufijos
84
l
m
34
55

p
a
l
a
a
b
r
s
t
.
41
e

x
t
o
22
i
.
28
12
31
Vectores de sufijos
1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
70
c
Arbol PAT (Patricia)
84
l
m
1
34
55

p
t
8
.
41

e
22
2
i
6
.
28
12
32
Vectores de sufijos
1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
compuestas
muchas
texto
84
70
34
22
55
28
41
12
84
70
34
22
55
28
41
12
Vector de sufijos
33
Vectores de sufijos
  • Búsquedas
  • Se pueden buscar prefijos, frases y palabras en
    los árboles de sufijos.
  • Las búsquedas en vectores de sufijos se pueden
    realizar de la misma manera, pero más
    rápidamente.
  • Las búsquedas en los árboles determinan el
    subárbol que satisface la consulta.
  • Las búsquedas en los vectores determinan el
    conjunto de valores que satisfacen la consulta.

34
Vectores de sufijos
  • Buscar palabras.

70
c
Arbol de sufijos
84
l
m
34
55

p
a
l
a
a
b
r
s
t
.
41
e

x
t
o
22
i
.
28
12
35
Vectores de sufijos
  • Buscar palabras.

70
c
Arbol PAT (Patricia)
84
l
m
1
34
55

p
t
8
.
41

e
22
2
i
6
.
28
12
36
Vectores de sufijos
  • Buscar palabras.

1 6 9 12 19 22 28 34 41
51 55 64 70 81 84
Esto es un texto. Un texto tiene muchas palabras.
Las palabras están compuestas de letras.
compuestas
muchas
texto
84
70
34
22
55
28
41
12
84
70
34
22
55
28
41
12
Vector de sufijos
37
Ejercicio
  • Crear un fichero invertido, un arbol de sufijos y
    un arbol PAT para el siguiente texto. (Nota
    Extraer sólo información relevante, es decir,
    eliminar stopwords)

La defensa de una idea comienza por la defensa de
las ideas básicas que componen la idea principal.
38
Ficheros de firmas
  • Son estructuras de índice orientadas a palabras,
    basadas en técnicas de hashing.
  • Ocupan poco espacio (10-20 sobre el tamaño del
    texto).
  • Contrapartida hay que hacer búsqueda secuencial
    sobre el índice.
  • Apropiada para textos no excesivamente largos, su
    coste es lineal, con una constante bastante
    pequeña.
  • Son menos eficientes que los ficheros invertidos
    para la mayoría de aplicaciones.

39
Ficheros de firmas
  • Funcionamiento
  • Se divide el texto en bloques
  • Se determina una función de hash
  • A cada bloque se asigna una máscara de bits que
    lo identifica unívocamente.
  • Se crea una tabla hash que asigna a cada bloque
    el resultado de una función OR a nivel de bit
    para los términos en el bloque.

40
Ficheros de firmas
Bloque 1 Bloque 2 Bloque 3 Bloque 4
Esto es un texto.
Un texto tiene muchas
palabras. Las palabras están
compuestas de letras.
000101
110101
100100
101101
h(texto) 000101h(muchas) 110000 h(palabras)
100100h(compuestas) 001100h(letras) 100001
41
Ficheros de firmas
  • Búsquedas
  • Se compara el resultado de una función de hash W
    con la máscara correspondiente a una entrada en
    el índice Bi. Si W Bi W entonces el término
    se encuentra en el bloque.
  • False drop. Hay que conseguir una buena función
    de hash para evitarlo.

42
Ficheros de firmas
Bloque 1 Bloque 2 Bloque 3 Bloque 4
Esto es un texto.
Un texto tiene muchas
palabras. Las palabras están
compuestas de letras.
000101
110101
100100
101101
BUSQUEDA DE MUCHAS h(muchas) 110000 h(muchas)
B1 110000 000101 000000 ? 110000 h(muchas)
B2 110000 110101 110000
110000 h(muchas) B3 110000 100100 100000
? 110000 h(muchas) B4 110000 101101
100000 ? 110000
h(texto) 000101h(muchas) 110000 h(palabras)
100100h(compuestas) 001100h(letras) 100001
43
Ficheros de firmas
Bloque 1 Bloque 2 Bloque 3 Bloque 4
Esto es un texto.
Un texto tiene muchas
palabras. Las palabras están
compuestas de letras.
000101
110101
100100
101101
BUSQUEDA DE TEXTO h(texto) 000101 h(texto) B1
000101 000101 000101 000101 h(texto) B2
000101 110101 000101 000101 h(texto) B3
000101 100100 000100 ? 000101 h(texto) B4
000101 101101 000101 000101
h(texto) 000101h(muchas) 110000 h(palabras)
100100h(compuestas) 001100h(letras) 100001
44
Consultas booleanas
  • Primero hay que recuperar los documentos según
    los términos.
  • Posteriormente hay que resolver la relevancia de
    los documentos.
  • Por último, hay que resolver las operaciones de
    conjuntos a través de los árboles sintácticos de
    la consulta.

45
Consultas booleanas
  • Evaluación completa frente a evaluación perezosa

AND
AND
4 6
OR
1 4 6
1 4 6
2 3 4 6 7
2 4 6
2 3 7
AND
AND
AND
OR
1
OR
4
OR
6
...
4
3
4
3
6
7
46
Búsqueda secuencial
  • Algoritmos para búsqueda de cadenas cuando el
    texto no tiene ningún tipo de estructura de apoyo
    asociada.
  • Trataremos la búsqueda exacta de cadenas.
  • Problema dado un patrón P de longitud m y un
    texto T de longitud n (ngtm), se trata de
    encontrar las posiciones del texto que contienen
    el patrón de búsqueda.

47
Búsqueda secuencial
  • Es un problema informático tradicional
  • Existen multitud de algoritmos que se pueden
    aplicar. Sólo veremos los más importantes.
  • En comparación, los algoritmos tendrán costes
    espaciales y temporales, de modo que a mayor
    coste temporal, menor coste espacial, y a la
    inversa.

48
Autómatas de estados finitos
Problema Buscar la palabra CPU
49
Autómatas de estados finitos
  • Algoritmo

Algoritmo Busqueda Secuencial Autómata
Finito Empezar Estado ? S0 Carácter ? Primer
carácter del texto Mientras (! Final de texto)
Caso (Estado) S0 si (Carácter C)
entonces Estado ? S1 fin si
S1 si (Carácter P) entonces Estado ? S2
sino si (Carácter C) entonces Estado ? S1
sino Estado ? S0
fin si fin si S2 si
(Carácter U) entonces Estado ? S3 (ENCONTRADO
TERMINAR) sino si (Carácter C)
entonces Estado ? S1 sino Estado
? S0 fin si fin si
Fin Caso Carácter ? Leer siguiente carácter
del texto Fin Mientras Fin
50
Fuerza Bruta
  • Es el algoritmo más simple posible.
  • Consiste en probar todas las posibles posiciones
    del patrón en el texto.
  • Se sitúa el patrón en la primera posición, y se
    compara carácter a carácter hasta encontrar un
    fallo o llegar al final del patrón.
  • Se pasa a la siguiente posición y se repite el
    proceso.
  • El proceso finaliza al alcanzar el final del
    texto.

51
Fuerza Bruta
desvalijar una valijavalija valija valija
valija valija valija valija
valija valija valija
valija valija valija
valija valija
valija
52
Knuth-Morris-Prat
  • El proceso de búsqueda no depende de la longitud
    de la cadena a buscar.
  • No necesita hacer comparaciones para todos los
    caracteres en el documento de entrada.
  • Cuando se produce una discordancia, los
    caracteres analizados con anterioridad definen el
    número de posiciones que se debe avanzar para
    continuar la búsqueda.

53
Knuth-Morris-Prat
  • El funcionamiento del algoritmo es el siguiente
  • Cuando se produce una discordancia en un
    carácter, se salta toda la cadena de búsqueda
    hasta la siguiente posición en la que se produjo
    el fallo, excepto en el caso en que se repitan
    patrones en los caracteres que ya han coincidido.
  • El salto dependerá de la cadena de búsqueda, de
    forma que el salto será una función de la
    posición donde se produzca la discordancia.

54
Knuth-Morris-Prat
D E S D E Ñ A R . . . D E S D E N D E S
D E N
D E S D E S D E Ñ A R . . . D E S D E Ñ A R
D E S D E Ñ A R D E S D E Ñ A R
55
Knuth-Morris-Prat
D E S D E Ñ A M I E N T O . . . D E S D E Ñ A R
D E S D E Ñ A R D E S D E Ñ A R
???
56
Knuth-Morris-Prat
A B C A B C A C
SALTO COINCIDEN - REPETICION
57
Knuth-Morris-Prat
58
Boyer-Moore
  • El algoritmo de búsqueda se puede mejorar si el
    proceso de comparación comenzase por la derecha
    en lugar de por la izquierda, y el avance en caso
    de fallo se produjese como en casos anteriores
    hacia la derecha.
  • La ventaja es que se pueden generar grandes
    saltos cuando el carácter que no coincide en el
    texto de entrada no existe en el patrón de
    búsqueda.

59
Boyer-Moore
ES MAS FACIL DETERMINAR EL SALTOSALTO SALTO
SALTO SALTO
SALTO SALTO
SALTO
60
Boyer-Moore
  • Métodos para calcular el salto
  • Algoritmo 1. Ante una discordancia de un
    carácter, el carácter del texto se compara con el
    patrón de búsqueda para determinar el salto hacia
    la derecha. Si el carácter no existe en el patrón
    de búsqueda se salta la cadena completa.
  • Algoritmo 2. Si la discordancia se produce tras
    varias coincidencias, se salta en función de la
    repetición de patrones en la secuencia de
    búsqueda, y se alinea de nuevo usando ese valor.
  • Se toma como salto el mayor de los dos valores.

61
Boyer-Moore
R L T D A B C D A B CA B C D A B C A B C D
A B C A B C D A B C
Algorimto 1
Algorimto 2
62
Boyer-Moore
63
Búsqueda secuencial
Patrones cortos en inglés
64
Búsqueda secuencial
Patrones largos de ADN
65
Búsqueda secuencial
Patrones cortos en texto aleatorio
66
Ejercicios
1. Dibujar los autómatas de estados finitos para
la búsqueda de las siguientes cadenas a)
CIEN b) CENCERRO c) COCOLOCO d) DIENTE e)
TONTOS e) DINADINO 2. Utilizando el algoritmo
KMP, realizar las siguientes búsquedas de cadenas
de texto a) TERFTERA en TEDTHRETETERTERFTERFTERF
TERA b) ACIECIACIEN en AACCIIAACIACIEACIECIACIEN
c) KGRHRHKGH en KGRHKGRHRHKGKGRHRHKGH 3.
Utilizando el algoritmo BM, realizar las
siguientes búsquedas de cadenas de texto a)
PERCOPE en TERMOPERMIDOSPERCOPE b) AASLETDAAA en
AAAAAATAAAAAASLETDAAA c) COMIDA en NO SIRVE DE
NADA COMER EN ESTE RESTAURANTE SI NO TE GUSTA
LA COMIDA
67
Feedback
  • Los SRI no son perfectos en cuanto a precisión y
    exhaustividad.
  • Es necesario repetir un proceso de consulta para
    alcanzar un resultado deseado para resolver
    NIOPs...
  • ... ampliando la consulta ( exhaustividad)
  • ... reduciendo la consulta ( precisión)
  • En ambos casos, trabajar sin ayuda del sistema
    para mejorar la consulta es una tarea poco
    efectiva.

68
Feedback
  • La ayuda del sistema para mejorar las consultas
    se conoce como Relevance Feedback.
  • El Relevance Feedback conlleva la modificación
    automática de la consulta.
  • El principal problema a resolver es encontrar
    términos que son relevantes (han sido indexados
    en documentos relevantes) pero que no se utilizan
    en la consulta.

69
Feedback
Formulación de la consulta
Mostrar hits
no hits
Reformular la consulta o mostrar
Nueva consulta
Mostrar información recuperada
Decidir el paso siguiente
Reformular consulta
Nueva consulta
70
Feedback
  • La evolución del relevance feedback se ha llevado
    por dos vías
  • Asignación de nuevos pesos (reweighting) para los
    términos de la consulta basado en la distribución
    de estos términos en los documentos relevantes y
    no relevantes que han sido obtenidos para esa
    consulta.
  • Modificación de los términos de la consulta, para
    contemplar nuevos términos que aparecen en
    documentos relevantes y eliminación de términos
    que aparecen en documentos no relevantes.

71
Feedback
  • Primeros pasos
  • Maron y Kuhns (1960). Los términos relacionados
    con la consulta original deberían ser añadidos a
    la consulta.
  • Salton (1971). Experimentos de relevance feedback
    sobre el sistema SMART.
  • Rocchio (1965, 1971). Experimentos sobre
    reasignación de pesos y expansión de la consulta.

72
Feedback
  • Primeros pasos
  • Fórmula de Rocchio (modelo EV)

Q0 Vector de la consulta inicial Ri El vector
del documento relevante i Si El vector del
documento no relevante i n1 Número de
documentos relevantes n2 Número de documentos
no relevantes
73
Feedback
  • Evaluación del feedback
  • Comparación de datos compuestos de precisión
    exhaustividad con y sin relevance feedback
  • ? Poco realista, puesto que sobre los mismos
    documentos vistos antes y después, seguro que hay
    mejora.
  • Comparación de datos compuestos de precisión
    exhaustividad, eliminando los documentos que el
    usuario ya ha visualizado (para la evaluación
    inicial se utilizan los x documentos más
    relevantes).

74
Feedback
  • Reasignación de pesos.
  • Basado en modelo probabilístico.

Wij Peso del término i en la consulta j r
Número de documentos relevantes para la consulta
j que tienen el término i R Número total de
documentos relevantes para la consulta j n
Número de documentos en la colección que tienen
el término i N Número de documentos de la
colección
75
Feedback
  • Expansión de la consulta.
  • Idealmente, se debería utilizar tesauros para
    buscar palabras relacionadas.
  • La construcción manual de tesauros es costosa y
    poco efectiva.
  • Se suele abordar el problema con la construcción
    automática de tesauros, aplicando técnicas de
    clustering y asociaciones término-término.

76
Feedback
  • Expansión de la consulta.
  • Asociaciones de términos.
  • Co-ocurrencia de términos. Se suele dar en los
    mismos documentos, y serán estos los que
    aparezcan en lo alto del nuevo ranking. Se mejora
    más la precisión que la exhaustividad.
  • Clustering de términos. No da buenos resultados,
    y hay que limitar la expansión a los términos
    fuertemente relacionados.
  • Nearest neighbor. Tampoco da buenos resultados.
    Se puede pedir al usuario que seleccione los
    términos a expandir, lo que mejora un poco el
    resultado.

77
Feedback
  • Expansión de la consulta con reasignación de
    pesos.
  • Es la técnica más utilizada.
  • Para el modelo EV, existen 3 métodos que son los
    estándares clásicos, combinan reasignación y
    expansión
  • Ide Regular
  • Ide dec-hi
  • Standard Rocchio

Q0 Vector de la consulta inicial Ri El vector
del documento relevante i Si El vector del
documento no relevante i S El vector del
documento menos relevante n1 Número de
documentos relevantes n2 Número de documentos
no relevantes ? 0,75 ? 0,25
El mejor
78
Feedback
  • Otras aproximaciones
  • Considerar el(los) documento(s) relevante(s) para
    la primera consulta como una nueva consulta. Da
    buenos resultados, y se puede aplicar a cualquier
    sistema.
  • Producción de lista de términos en todos los
    documentos recuperados en la primera iteración,
    ordenados por la frecuencia de aparición en el
    conjunto, para que el usuario seleccione.
  • En sistemas booleanos, utilizar términos de
    documentos previamente recuperados para construir
    una nueva consulta, pero no para el nuevo ranking.

79
Feedback
  • Cuando utilizar feedback
  • En sistemas booleanos ? se mejora bastante el
    rendimiento. Opciones
  • Modificación automática de la consulta
  • Producción de listas de términos ordenadas de
    importancia para que el usuario seleccione
    términos en la consulta siguiente.
  • En sistemas EV.
  • Se recomienda la formula de Ide dec-hi.
  • Se aporta tanto reasignación de pesos como
    expansión de consulta.
  • Hay que decidir cuanta expansión se realiza, pues
    en caso de exceso o defecto, los resultados
    empeoran.
  • En sistemas probabilísticos, la reasignación de
    pesos y la expansión de la consulta son dos
    procesos separados sin ninguna interdependencia.

80
Feedback
  • Proceso de adaptación
  • Caracterizar una NIOP para repetir una consulta
    hasta alcanzar un grado de satisfacción por parte
    del usuario.
  • Proceso de optimización
  • Selección de la mejor forma de obtener
    automáticamente una consulta en base a la
    evaluación del usuario.
  • Selección de los mejores algoritmos para cada
    usuario y situación en concreto.

81
Feedback
  • Ejemplo de algoritmos de feedback para sistemas
    booleanos
  • Colecciones estáticas
  • Algoritmo de feedback adaptativo
  • Algoritmo de feedback selectivo
  • Colecciones dinámicas
  • Algoritmo de feedback adaptativo
  • Algoritmo de feedback selectivo
  • Utilizando técnica de documentos marcados.

82
Feedback
  • Algoritmo de feedback adaptativo para colecciones
    estáticas

1. Se seleccionan los documentos pertinentes del
resultado de la consulta anterior (PQ). 2. Se
construye un nuevo conjunto de documentos
marcados combinando los documentos pertinentes
del paso 1 con los documentos usados para la
formulación de consultas anteriores (CM). 3. Se
construye una consulta auxiliar (AQ) usando como
entrada el conjunto de documentos marcados del
paso 2 (CM) y aplicando algún algoritmo de
indexación de consultas como el Algoritmo-M. 4.
Se considera la formulación de una nueva consulta
(NQ) eliminando de AQ todas las subconsultas que
aparezcan en PQ y todas las subconsultas que
contienen subconsultas incluidas en PQ. 5. Se
realiza la consulta y se eliminan del resultado
aquellos documentos que se hubiesen obtenido y
mostrado al usuario en consultas previas. 6. El
proceso finaliza cuando 6.1. AQ es una consulta
vacía, o 6.2. No hay nuevos documentos, o 6.3.
El usuario decide finalizar
83
Feedback
  • Algoritmo de feedback adaptativo para colecciones
    dinámicas

1. Selección de los documentos pertinentes de la
última consulta. 2. Se construye un nuevo
conjunto de documentos marcados combinando los
obtenidos en el paso 1 con los de la consulta
previa. 3. Se construye una consulta auxiliar AQ
usando el conjunto marcado del paso 2 y las
nuevas frecuencias de descriptores en la nueva
colección, esto es, con datos actualizados para
aplicar el algoritmo de indexación de
consultas. 4. Se crea una consulta modificad MQ
añadiendo a PQ las nuevas subconsultas de AQ
MQPQ U AQ. 5. Se seleccionan los documentos no
pertinentes de la consulta anterior. 6. Las
subconsultas de PQ que se usaron para encontrar
los documentos no pertinentes se eliminan de MQ
si no aparecen en AQ. 7. El resultado final se
obtiene de la búsqueda en la nueva colección con
la consulta final del paso 6. 8. El proceso
finaliza cuando 8.1. No existen documentos
pertinentes nuevos, o 8.2. No existen documentos
no pertinentes nuevos, o 8.3. AQ es una consulta
vacía o no existe variación en MQ, o 8.4. Si el
usuario decide finalizar
E
P
84
Feedback
  • Optimización
  • Criterio de selección del mejor algoritmo max
    (r2/n), siendo r el número de docs pertinentes, n
    el número total de documentos devueltos.
  • No se puede utilizar el criterio P E ( r/c
    r/n) no se conoce c.
  • Se utiliza el criterio

85
Feedback
  • Justificacion

K(k1,k2,...,kN), evaluación del usuario a la
consulta
V(v1,v2,...,vN), evaluación del sistema a la
consulta
Si ? es el ángulo entre K y V, veremos que cos ?
(E P)½
86
Feedback
  • Justificacion

Veamos ahora que (E P)½ no depende de c.
Supongamos que q1 y q2 son dos consultas de la
misma representación de la NIOP. El número de
documentos relevantes para cada consulta es el
mismo, luego c será invariante para cada
variación de la formulación de la consulta
87
Feedback
  • Algoritmo de feedback selectivo para colecciones
    estáticas

1. Se seleccionan los documentos relevantes de la
última respuesta del sistema 2. Si la consulta
anterior se basó en una consulta combinada de
varios algoritmos, se comparan los algoritmos
usando el criterio r2/n y se selecciona el mejor
algoritmo 3. Se utiliza el mejor algoritmo para
construir una consulta auxiliar AQ 4. Se
construye una nueva consulta NQ eliminando de AQ
todas las subconsultas que aparecen en PQ y las
subconsultas que incluyen subconsultas de PQ. 5.
Si NQ no está vacío, la búsqueda se realiza y se
obtiene la salida preliminar 6. Se obtiene una
nueva salida eliminando de la salida preliminar
los documentos que aparecían en salidas
anteriores. Esta nueva salida es la que se
presenta al usuario.
88
Feedback
  • Algoritmo de feedback selectivo para colecciones
    dinámicas

1. Se seleccionan los documentos relevantes de la
última respuesta del sistema, basándose en la
evaluación del usuario de esta salida. 2. Si la
consulta anterior se basó en una consulta
combinada, construida por más de un algoritmo, se
comparan los algoritmos usando el criterio r2/n y
se selecciona el mejor algoritmo. 3. Usando el
mismo criterio, se seleccionan las mejores
subconsultas entre las consultas que no son la
mejor, y si el valor del criterio para tales
subconsultas es mayor que el valor máximo,
entonces se seleccionan para ser usadas en la
búsqueda sobre la nueva colección de
documentos. 4. Los documentos relevantes
encontrados en la consulta previa son añadidos a
aquellos en base a los cuales se construyó la
anterior consulta, es decir, se obtiene una
consulta más precisa. 5. En base al nuevo
conjunto marcado, se construye una consulta
preliminar utilizando los mejores algoritmos. 6.
La consulta final se construye añadiendo las
mejores subconsultas originales (paso 3) a la
consulta preliminar. 7. Se realiza la búsqueda
usando la consulta final, y el resultado se
presenta al usuario.
Write a Comment
User Comments (0)
About PowerShow.com