La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Recuperación de Textos (RTT)‏

Presentaciones similares


Presentación del tema: "Recuperación de Textos (RTT)‏"— Transcripción de la presentación:

1 Recuperación de Textos (RTT)‏
Casos Modelo Booleano de RTT Modelo Vectorial de RTT Métricas de Evaluación Consultas Especiales Índices Invertidos Implementación de Índices FIUBA ODD - Curso Servetto

2 Casos Biblioteca → de cada libro se registra características como ISBN, título, clasificación, año de edición, autores, editorial, ... pero también su “tesauro” (tesoro) o títulos clave en formato de texto → se requiere poder buscar libros por términos clave o títulos que se encuentren en tesauros. Documentos en formato digital - páginas Web → se requiere poder buscar documentos o páginas que contengan términos o frases clave Enciclopedia digital en CD-ROM → se requiere poder buscar artículos que se refieran a uno o más términos o frases clave FIUBA ODD - Curso Servetto

3 Modelo Booleano de RTT Búsqueda con conjunción de términos clave (and/+) → los documentos (unidades de recuperación resultado de la búsqueda) deben contener todos los términos (unidades de búsqueda) especificados Búsqueda con disyunción de términos clave (or) → los documentos deben contener alguno de los términos especificados Búsqueda con exclusión de términos clave (not/-) → los documentos no deben contener los términos especificados Ejemplo → dueño propietario particular -agencia - concesionario vende vendo +Peugeot Diesel usado FIUBA ODD - Curso Servetto

4 Modelo Booleano de RTT Los documentos de un resultado tienen todos la misma importancia, sin importar el “grado de cumplimiento” de la consulta (cuántos términos de disyunción o no obligatorios aparecen)‏ No contempla cumplimientos parciales (cuando aparecen “casi” todos los términos de una conjunción)‏ No contempla la cantidad de veces que aparece una palabra buscada El usuario promedio no entiende correctamente las reglas lógicas Fue el modelo utilizado por los primeros sistemas de RTT y es el más conocido Es simple de formalizar Las implementaciones resultan muy eficientes Es la opción favorita para manejar texto en sistemas de administración de bases de datos relacionales (RDBMS)‏ Con buenas interfaces puede resultar muy útil Los usuarios expertos le pueden sacar mucho provecho FIUBA ODD - Curso Servetto

5 Modelo Vectorial de RTT
Dados el conjunto de documentos D = { d1, d2, ... dN } y el de todos los términos relevantes en documentos de D, T = { t1, t2, ... tH }, cada documento dj se modela como un vector ( p(t1, dj), p(t2, dj), ... p(tH, dj) ) donde p(ti, dj) es el peso del término i en el documento j Hay varias fórmulas aceptables para calcular pesos; una de las más comunes es p(ti, dj) = ( ai,j * log( N / ni ) ) / norma( dj ) donde ai,j es la cantidad de apariciones del término i en el documento j, ni es el número de documentos en los que aparece el término i, y norma( dj ) = ( p(t1, dj)2 + p(t2, dj) p(tH, dj)2 )1/2 FIUBA ODD - Curso Servetto

6 Modelo Vectorial de RTT
El peso de un término en un documento representa la importancia del término para distinguir al documento del resto: Si un término i aparece muchas veces en un documento j, su peso en el documento j es grande (por ai,j )‏ Si un término aparece en muchos documentos, su peso en cualquier documento es chico (por log( N / ni ) que es su peso global) → Ley de Zipf: un pequeño número de palabras son utilizadas con mucha frecuencia, mientras que frecuentemente ocurre que un gran número de palabras son poco empleadas Los vectores se normalizan para neutralizar la incidencia del tamaño de los documentos en el peso de los términos FIUBA ODD - Curso Servetto

7 Modelo Vectorial de RTT
Dueño Sim( d1, d2 )‏ d1 = “Dueño vende VW Gol ...” Vende d2 = “Agencia Peugeot vende ...” Peugeot Sim( dj, dk ) = p(t1, dj) * p(t1, dk) + p(t2, dj) * p(t2, dk) p(tH, dj) * p(tH, dk)‏ FIUBA ODD - Curso Servetto

8 Modelo Vectorial de RTT
La similaridad entre dos documentos es un valor entre 0 y 1 Dos documentos iguales tienen similaridad 1 Dos documentos que no compartan ningún término tienen similaridad 0 Las consultas se modelan como documentos La relevancia de un documento dj para una consulta c se calcula Sim( dj, c ) = p(t1, dj) * p(t1, c) + p(t2, dj) * p(t2, c) p(tH, dj) * p(tH, c) ≈ Sumatεc( p(t, dj) * log( N / nt ) ) Permite ordenar documentos por su relevancia Permite agrupar documentos similares → retroalimentación por igual relevancia (“más documentos como éste”)‏ FIUBA ODD - Curso Servetto

9 Métricas de Evaluación
Precisión: cuántos documentos recuperados son relevantes. Recuperación (recall): cuántos documentos relevantes se recuperaron. Precisión: Recuperación: FIUBA ODD - Curso Servetto

10 Consultas Especiales Frases Textuales → títulos de obras, procesos o eventos históricos (p.e. “Segunda Guerra Mundial”, “servicio militar obligatorio”), nombres compuestos (p.e. “San Fernando del Valle de Catamarca”) → no basta con saber si los términos están en un documento sino que hay que saber además sus posiciones Términos Próximos → sirven para buscar frases equivalentes, como “Algoritmos y Estructuras de Datos” - “Estructuras de Datos y Algoritmos” o que los términos estén vinculados en una misma oración → se puede pedir que los términos estén a no más de cierta distancia; también hay que conocer la posición de los términos en los documentos Con Patrones → comodines (* y ?), clases de caracteres, caracteres repetibles u opcionales (p.e. “doc[0-9]+.html?”), expresiones regulares (p.e. “(Dr.|Ing.|PhD.|Prof.) Carlos Rosito”)‏ Términos aproximados → cuando no se está seguro de cómo se escribe un término o se sospecha que puede encontrarse mal escrito (apellidos, errores ortográficos, OCR, p.e. ~“Zipf”)‏ FIUBA ODD - Curso Servetto

11 Índices Invertidos Son índices de clasificación de documentos por término → en la versión básica, por cada término se tiene la lista de números de documento en los que aparece (con el número se accede a la dirección física del documento)‏ El conjunto de términos de un índice se llama “vocabulario” Las listas de cada término se llaman “invertidas” Para el modelo booleano las listas invertidas se organizan en orden creciente de número de documento (para optimizar operaciones de conjuntos)‏ FIUBA ODD - Curso Servetto

12 Índices Invertidos Para el modelo vectorial
Cada elemento de la lista invertida de un término ti debe ser (j, ai,j) para cada documento j en el que aparezca, y se organiza en orden decreciente de número de apariciones del término Con cada término del vocabulario se tiene su peso global y el máximo número de apariciones en un documento Para búsqueda de frases y términos próximos Por cada término y documento se debe tener la lista de posiciones donde aparece en término en el documento Para reducir espacio las posiciones pueden ser de bloques de texto dentro del documento FIUBA ODD - Curso Servetto

13 Implementación de Índices
Ley de Heaps → el vocabulario de un texto de largo n crece como k = C * nβ donde C y 0 < β < 1 dependen del tipo de texto. En la práctica, 5 < C < 50 y 0;4 ≤ β ≤ 0;6, y k es menos del 1% de n Ley de Zipf → si se ordenan los términos de un texto de más a menos frecuente, entonces an ~ 1/nx con an número de apariciones (frecuencia) del término en la posición n, y x casi 0 Unas pocas palabras (las stopwords o palabras irrelevantes) aparecen muchas veces y muchas aparecen pocas veces. En particular, las stopwords se llevan el 40 %-50% de las ocurrencias y aproximadamente la mitad de las palabras aparecen sólo una vez NO se indexan las palabras irrelevantes (stopwords)‏ También se aplican otras técnicas para reducir la cantidad de términos del índice → representación en minúsculas (case folding) y agrupación de términos con igual raíz (steming)‏ FIUBA ODD - Curso Servetto

14 Implementación de Índices
Las Cosas de la Vida La Vida es Bella Las Cosas del Querer La Vida después de la Vida MODELO BOOLEANO Vocabulario Listas Invertidas bella cosas querer vida 2 1, 3 3 1, 2, 4 MODELO VECTORIAL FRASES Y TÉRMINOS PRÓXIMOS Vocabulario Listas Invertidas Vocabulario Listas 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)‏ bella cosas querer vida 2 (2)‏ 1 (1), 3 (1)‏ 3 (2)‏ 1 (2), 2 (1), 4 (1, 2)‏ FIUBA ODD - Curso Servetto


Descargar ppt "Recuperación de Textos (RTT)‏"

Presentaciones similares


Anuncios Google