Academia.eduAcademia.edu

Recuperaci on Eficiente de Informaci on Multimedia

WICC 2012 287 Recuperación Eficiente de Informaci ón Multimedia Luis Britos, Marı́a E. Di Gennaro, Jacqueline Fernández, Veronica Gil-Costa, Fernando Kasi án, Verónica Ludueña, Marcela Printista, Nora Reyes, Patricia Roggero LIDIC, Departamento de Informática, Fac. de Ciencias Fı́sico Matemáticas y Naturales Universidad Nacional de San Luis {lebritos,mdigena jmfer, gvcosta, fkasian,vlud, mprinti,nreyes, proggero}@unsl.edu.ar Edgar Chávez Escuela de Ciencias Fı́sico–Matemáticas Universidad Michoacana de San Nicolás de Hidalgo elchavez@umich.mx Resumen En general, es tan difı́cil para los usuarios que intentan recuperar informaci ón multimedia poder especificar claramente sus intereses a través de una consulta bien definida, como para los dise ñadores del sistema decidir qué caracterı́sticas de los objetos multimedia pueden resultar relevantes. La forma en que los datos multimedia se representan, cómo se almacenan y el costo de transferirlos, entre distintos niveles de la jerarquı́a de memoria o sobre una red, afectan directamente las respuestas del sistema. Dada una consulta, el objetivo clave de un sistema de recuperaci ón de informaci ón es obtener aquello que podrı́a ser útil o relevante para el usuario, en general haciendo uso de un ı́ndice especialmente dise ñado para responder a las consultas de manera eficiente. Ası́, nuestra lı́nea de investigaci ón tiene como principal objetivo desarrollar herramientas eficientes para la recuperación de informaci ón multimedia. Se investigan nuevas técnicas que soporten la interacci ón con el usuario, nuevas estructuras de datos (ı́ndices) capaces de manipular eficientemente datos multimedia y que permitan manejar grandes vol úmenes de este tipo de datos. Palabras Claves: Recuperaci ón de Informaci ón, Bases de Datos Multimedia, Indexaci ón, Paralelismo. ción de las investigaciones sobre adquisición, preprocesamiento y análisis de datos no estructurados y su aplicación en dominios no convencionales. Se espera, como principal aporte de esta propuesta, incorporar información no estructurada en los procesos de toma de decisiones y resolución de problemas que quedan sin considerar en los enfoques clásicos. Dentro de este contexto nuestra lı́nea se dedica, principalmente, al diseño de ı́ndices eficientes que sirvan de apoyo a sistemas de recuperación de información orientados a datos no estructurados, en particular datos multimedia. Se espera ası́ contribuir a estos sistemas obteniendo ı́ndices más eficientes para memorias jerárquicas, con I/O eficiente y capaces de manejar grandes volúmenes de datos. Se propone analizar las estructuras de datos existentes, proponer optimizaciones o diseñar nuevas estructuras, para manipular y recuperar algunos de los tipos de datos no estructurados que aparecen en entornos multimedia, considerando en algunos casos la paralelización de los mismos con el objetivo de hacer aún más eficiente la recuperación. Contexto 1. Esta lı́nea de investigación se encuentra enmarcada dentro del Proyecto Consolidado 30310 de la Universidad Nacional de San Luis y en el Programa de Incentivos (código 22/F034): “Nuevas Tecnologı́as para el Tratamiento Integral de Datos Multimedia”, dentro de la lı́nea “Recuperación de Datos e Información Multimedia”, desarrollada en el ámbito del Laboratorio de Investigación y Desarrollo en Inteligencia Computacional (LIDIC) de la UNSL. En este marco se pretende avanzar en la integra- Los sistemas de computación hacen uso intensivo de información estructurada, es decir datos elementales o estructuras, generadas con un formato especı́fico. Una caracterı́stica principal en estos casos, es que la estructura o formato de esta información puede ser fácilmente interpretada y directamente utilizada por un programa de computadora. Pero el hecho de restringirse al uso de este tipo de información conduce, muchas veces, a representar una visión parcial del problema y dejar fuera información 2012 Introducción y Motivación XIV Workshop de Investigadores en Ciencias de la Computación WICC 2012 288 que podrı́a ser importante para la resolución efectiva del mismo. En este contexto gran parte de la información que se requiere para la toma de decisiones y la resolución de problemas de ı́ndole general proviene de información no estructurada. En general, para responder eficientemente consultas para recuperación de información sobre bases de datos multimedia se utilizan diferentes métodos de acceso o ı́ndices [13, 5, 11], principalmente por el volumen de datos con el que se trabaja. Un enfoque prometedor para implementar sistemas de recuperación usando búsqueda por similitud es una búsqueda basada en contenidos, la cual usa el dato multimedia mismo. Para calcular la similitud entre dos objetos multimedia, se debe definir una función de distancia. Dicha función mide la similitud, o más bien la disimilitud, entre dos objetos. En muchos casos para modelar la similitud de objetos multimedia se transforman los objetos en puntos de un espacio vectorial, el cual es un tipo particular de espacio métrico. Cada objeto es representado por un vector de caracterı́sticas o descriptor, generalmente de alta dimensionalidad. Sobre espacios vectoriales se han definido numerosas funciones de distancia (distancia Euclidiana). El tipo de aplicación, las caracterı́sticas a explotar o la dimensionalidad son aspectos fundamentales a considerar para definir la mejor función de distancia a utilizar. Por lo tanto, es necesario resolver un problema de optimización. El concepto de búsqueda por similitud se puede definir a partir del concepto de espacios métricos, que da un marco formal independiente del dominio de aplicación. Un espacio métrico está compuesto por un universo U de objetos y una función de distancia d : U × U −→ R+ , que satisface las propiedades que la hacen una métrica. Las consultas por similitud, sobre una base de datos S ⊆ U, son usualmente de dos tipos: Búsqueda por rango: (recuperar los elementos de S a distancia r de un elemento q dado) y Búsqueda de los k vecinos más cercanos (dado q recuperar los k objetos más cercanos a q en S). En el caso de los espacios métricos, la función de similitud (distancia) mide el mı́nimo esfuerzo (costo) necesario para transformar un objeto en otro. Dependiendo de los tipos de datos multimedia reales la función de similitud puede ser muy compleja y puede no satisfacer las propiedades de una métrica. Si la base de datos S posee n objetos, las consultas pueden ser respondidas llevando a cabo n evaluaciones de distancia. Sin embargo, en la mayorı́a de las aplicaciones las distancias son costosas de 2012 computar (comparación de huellas digitales), por lo que la búsqueda secuencial no sirve para problemas de tamaño medio o grande, que son los tamaños más habituales de las bases de datos multimedia. Ası́ debemos preprocesar la base de datos, construyendo un ı́ndice, para que las consultas puedan ser respondidas con la menor cantidad de cálculos de distancia. Además, es probable que la base de datos, el ı́ndice o ambos no puedan almacenarse en memoria principal con lo cual se debe considerar minimizar el número de operaciones de E/S realizadas en cada operación, tener siempre presente la existencia de la jerarquı́a de memorias y tratar de lograr mayor eficiencia a través de paralelizar las operaciones a realizar. En suma, esta propuesta se enfoca en mejorar las herramientas de recuperación desarrollando nuevas técnicas que soporten la interacción con el usuario, diseñando estructuras de datos (ı́ndices), capaces de manipular eficientemente grandes volúmenes de datos multimedia y facilitando la realización de operaciones sobre los mismos de modo de acercarse a la madurez de las bases de datos tradicionales. 2. Lı́neas de Investigación Se pretende investigar sobre distintos aspectos de los sistemas de recuperación de información multimedia: diseñar nuevos ı́ndices, definir representaciones que reflejen caracterı́sticas de interés de los objetos y manejar distintas operaciones sobre estos tipos de bases de datos, considerando trabajar eficientemente sobre grandes volúmenes de datos. Diseño de Índices Un catálogo importante de ı́ndices para espacios métricos aparece en [11, 5, 13]. La mayorı́a usan la desigualdad triangular para evitar el análisis secuencial de la base de datos. La distancia entre la consulta q y los objetos de la base de datos puede ser estimada calculando de antemano algunas distancias a objetos distinguidos llamados pivotes y sin calcular las distancias reales desde q a los objetos de la base de datos durante una búsqueda. Otra técnica común es indexar a través de una partición del espacio en regiones denominadas particiones compactas. Existen dos posibles situaciones por el tipo de base de datos con la que se va a trabajar, que determinan una caracterı́stica importante que debe tener el ı́ndice que la manipulará: los objetos de la base de datos se conocen de antemano y por lo tanto el ı́ndice se creará de una sola vez y se realizarán consultas sobre él (ı́ndices estáticos). O no se conocen los objetos de la base de datos de antemano y por lo tanto XIV Workshop de Investigadores en Ciencias de la Computación WICC 2012 289 el ı́ndice se debe ir creando a medida que arriban los elementos y preferentemente de manera incremental (ı́ndices dinámicos). Las estructuras estáticas se benefician desde el conocimiento de la base de datos seleccionando los mejores puntos de referencia para una estructura de datos determinada, lo cual no es posible en las estructuras de datos dinámicas donde tanto los objetos como las consultas arriban al azar. Índices Estáticos En este caso, al conocer de antemano los elementos a indexar, es posible elegir con más información cómo hacerlo de manera tal que las búsquedas sean eficientes. Sin embargo, hay ejemplos como el del Árbol de Aproximación Espacial, SAT [8], que por ser una estructura estática deberı́a ser más eficiente que la versión dinámica, el DSAT [9], y no lo es. En estos casos ha sido posible investigar alguno de los motivos por los que la versión dinámica, usando menos información, proporciona búsquedas mas rápidas. En nuestras investigaciones hemos detectado que una condición clave para mejorar la performance de SAT es modificar la estrategia de selección de vecinos, es por ello que se está trabajando en diferentes heurı́sticas, como la de utilizar un orden de inserción arbitrario de los vecinos o hasta elegirlos de manera totalmente contraria a lo que la versión original lo hacı́a y se están consiguiendo en este caso resultados preliminares muy interesantes [4]. En algunos sistemas de recuperación de información que trabajan con datos masivos, con vistas a mejorar el compromiso con el usuario entre completitud de las respuestas a una consulta por similitud y tiempo de respuesta del sistema, se puede adoptar un enfoque aproximado. En los enfoques aproximados se mejora el tiempo de respuesta a estas consultas gracias a bajar los tiempos requeridos, pero a costa de obtener una respuesta no exacta a la consulta. Este enfoque es valioso cuando el método, a pesar de no obtener la respuesta exacta a la consulta devuelve los resultados más similares a la misma. Por lo tanto, se está investigando un nuevo ı́ndice que permita obtener la respuesta aproximada a una consulta por similitud, logrando que sea de alta calidad (que obtenga buenos valores en las métricas de Precision y Recall) y minimizando cantidad de cálculos de distancia realizados y número de operaciones de E/S. Índices Dinámicos Aquı́ el interés está en mejorar el desempeño de ı́ndices dinámicos jerárquicos (árboles), que es el caso de algunos de los ı́ndices para espacios métricos. 2012 Estos ı́ndices dinámicos, en general, se construyen incrementalmente vı́a inserciones. De tal manera, la raı́z del árbol es el primer objeto que llega, y esto se repite recursivamente en cada nivel del árbol. En esta lı́nea se ha propuesto una técnica donde el “buffering” logra un buen compromiso entre una estructura estática, construı́da con toda la información necesaria y una dinámica con conocimiento local de los datos. Entonces, en lugar de elegir al primer elemento como la raı́z, se demora la selección hasta que hayan arribado suficientes elementos para estar en condiciones de realizar dicha selección, y de esta manera se toma una decisión en base a más información. Dado que las consultas arriban a un ritmo desconocido, para mantener el dinamismo es necesario contar con un ı́ndice que responda a las consultas con mejor desempeño que la técnica de fuerza bruta. La idea ha sido, entonces, dar una estructura propia al “buffer” de manera que fuera capaz de responder consultas. Es por ello que el ı́ndice del “buffer” deberı́a ser rápido y eficiente. Esta técnica provee un marco adecuado para diseñar estructuras de datos dinámicas estables. Por lo tanto, tener un “buffer” en todos los niveles de una estructura jerárquica deberı́a ser útil cuando se diseñan estrategias de ruteo para guiar las búsquedas, lo cual resulta un área promisoria de investigación [6]. En muchos casos los volúmenes de información con los que se debe trabajar (millones de imágenes en la Web), hacen necesario que los ı́ndices sean almacenados en memoria secundaria. En este caso, para hacerlos eficientes, no sólo se debe considerar que durante las búsquedas se realice el menor número de cálculos de distancia sino también, dado el costo de las operaciones sobre disco, se efectúe la menor cantidad posible de operaciones de E/S. Por ello, en esta lı́nea nos hemos dedicado a diseñar ı́ndices especialmente adaptados para trabajar en memoria secundaria, logrando un buen desempeño de los mismos, principalmente en las búsquedas. Hemos diseñado e implementado las siguientes estructuras DSACL*-tree y el DSACL+-tree [2], las cuáles son optimizaciones para memoria secundaria de la estructura propuesta en [1] y demostraron ser competitivas frente a otras de las estructuras conocidas tales como el M-tree y DSA*-tree y DSA+tree [9]. Además, existen nuevas propuestas en evaluación que prometen ser aún más adecuadas para memoria secundaria. Por otro lado, nos proponemos optimizarlas todavı́a más gracias a la aplicación de técnicas de computación de alto desempeño, apli- XIV Workshop de Investigadores en Ciencias de la Computación WICC 2012 290 cando y comparando distintas estrategias de paralelización con el fin de determinar la más adecuada. Diversificación de Resultados La técnica de diversificación de resultados provee una manera de hacer frente a las preguntas ambiguas por medio de la reordenación de un conjunto de documentos recuperados como resultado de una consulta. Los enfoques actuales suelen ser ambiciosos y costosos, requieren O(n2 ) comparaciones de documentos con el fin de diversificar un ranking de n documentos. Una alternativa de menor costo y que permite mantener una buena calidad de los resultados es utilizar un enfoque que aplica las propiedades de espacios métricos, en el cual se reduce la sobrecarga que se produce por las comparaciones de documentos requeridas como resultado de la diversificación. Para este fin, la diversificacion de resultados se modela como una búsqueda por similitud en un espacio métrico, aprovechando las propiedades de este espacio para identificar de manera eficiente los documentos novedosos. En particular, se explota la propiedad desigualdad triangular para reducir drásticamente el número de comparaciones de documento requeridos. En este contexto se estudian técnicas de indexación existentes que permitan mejorar la eficiencia del proceso de diversificación y mantenengan una buena calidad de los resultados. El trabajo presentado en [12] aplica el enfoque de espacios métricos por primera vez en el contexto de búsqueda de imágenes para mejorar la eficiencia del proceso de diversificación. En [7] se presenta el primer intento de aprovechar las propiedades de espacios métricos para la diversificación de documentos de texto. En este trabajo se manifiesta que el número de cálculos necesarios para determinar la novedad de un documento se puede reducir utilizando un algoritmo basado en pivotes, que selecciona documentos pivote disı́miles (distantes en el espacio métrico). Consultas sobre Bases de Datos Multimedia Aunque las operaciones más comunes sobre bases de datos multimedia son las consultas por similitud (búsquedas por rango o de k-vecinos más cercanos), existen otras operaciones de interés entre las cuales se encuentran las distintas variantes del join por similitud. Para estas operaciones se consideran dos bases de datos A y B, ambas subconjuntos del mismo universo del espacio métrico U . El resultado de cualquier operación de join por similitud entre A y B obtiene el conjunto de pares formados por un objeto de A y otro de B, tales que entre ellos se satisface 2012 el predicado de similitud considerado. Las variantes más conocidas del join por similitud son: el join por rango, el join de k-vecinos más cercanos y el join de vecino más cercano; aunque existen otras. Formalmente, dadas A, B ⊆ U, se define el join por similitud entre A y B (A ! B) como el conjunto Φ de todos los pares (x, y), donde x ∈ A e y ∈ B; es decir, (x, y) ∈ A × B, tal que entre x e y se satisface el criterio de similitud considerado Φ. De acuerdo al criterio de similitud el join puede llamarse: Join por Rango: A !r B = {(x, y) : x ∈ A, y ∈ B ∧ d(x, y) ≤ r}. Join de k-Vecinos Más Cercanos: A !k B es el conjunto de k-pares, donde ∀(x, y) ∈ A !k B, x ∈ A, y ∈ B y ∀(u, v) ∈ ((A × B) \ (A !k B)), u ∈ A, v ∈ B, entonces d(x, y) ≤ d(u, v). En caso de empate elegimos cualquier conjunto de k-pares que satisfaga la condición. En el caso particular en que A = B el join por similitud se denomina auto-join. Existen dos situaciones distintas sobre las que se puede trabajar, para resolver el join por similitud: que ambas bases de datos se encuentren indexadas, cada una por separado; o que ambas bases de datos se indexen conjuntamente, con un ı́ndice diseñado para el join. Como calcular cualquiera de las variantes del join por similitud de manera exacta sobre conjuntos de datos masivos es muy costoso [10], vale la pena obtener más rápidamente una respuesta aproximada al join, siempre y cuando se pueda dar una respuesta rápida y de buena calidad. Para ello, estamos investigando un nuevo ı́ndice, diseñado para memoria secundaria y que permita obtener una buena respuesta realizando pocos cálculos de distancia y la menor cantidad de operaciones de E/S posibles. PostgreSQL es el primer sistema de base de datos que permite realizar consultas por similitud sobre algunos atributos, particularmente indexación para búsquedas de k-vecinos más cercanos (KNN-GiST indexes). Estos ı́ndices pueden ser usados sobre texto, comparación de ubicación geoespacial, etc.. Sin embargo, los ı́ndices K-NN GiST proveen plantillas para ı́ndices con estructura de árbol balanceado (B-tree, R-tree), aunque el balance no siempre es bueno para los ı́ndices que se utilizan en búsquedas por similitud [3]. Además este tipo de consultas no está disponibles para todo tipo de datos métricos. Ası́, es importante proveer un manejador de bases de datos capaz de administrar bases de datos métri- XIV Workshop de Investigadores en Ciencias de la Computación WICC 2012 291 cas que manejen todos los posibles datos métricos y todas las operaciones de interés sobre ellos. 3. Resultados Se ha comprobado experimentalmente que las estrategias de “buffering” mejoran el desempeño en un ı́ndice dinámico [6]. Se seleccionó el Árbol de Aproximación Espacial Dinámico (DSA-tree) [9] y se obtuvo una mejora sistemática en los costos de las consultas usando un “buffer” en el primer nivel del árbol. En particular, se verificó que esta estructura es mejor que su versión estática [9], por dejar como “vecinos” de un nodo objetos alejados, permitiendo ası́ avanzar en la exploración espacial a “pasos más grandes”. Entonces, se pretende analizar el efecto de elegir como vecinos objetos cercanos y lejanos. Si clasificáramos los objetos por distancia a la raı́z, usando la información de su histograma de distancias, se podrı́a elegir con esa misma densidad a los vecinos, para mejorar su desempeño y que esto pueda aplicarse a otros ı́ndices jerárquicos. En este mismo sentido, se implementaron dos versiones: DSACL*-tree y DSACL+-tree, que trabajan con grandes volúmenes de datos, por haber sido diseñadas para memoria secundaria y que mostraron ser competitivas contra otras estructuras diseñadas para tal fin [2]. Se espera lograr para estos ı́ndices una implementación paralela eficiente. 4. Formación de Recursos Considerando la importancia de la formación, para contribuir al desarrollo de sistemas de recuperación de información multimedia, se están capacitando los siguientes investigadores: Tesis de Doctorado en Cs. de la Computación: uno de los integrantes se encuentra definiendo su plan de doctorado sobre temas de diseño y optimización de ı́ndices para búsquedas por similitud, para aplicaciones de minerı́a de datos multimedia. Tesis de Maestrı́a en Cs. de la Computación: una sobre ı́ndices dinámicos eficientes sobre datos masivos (con una beca de posgrado de la UNSL), una sobre ı́ndices dinámicos para búsqueda aproximada por similitud sobre datos masivos, una sobre ı́ndices para join aproximado por similitud sobre datos masivos y otra un sistema para administrar bases de datos métricas. Referencias [1] M. Barroso, N. Reyes, and R. Paredes. Enlarging nodes to improve dynamic spatial appro2012 ximation trees. In Proc. of the 3rd SISAP, pages 41–48. ACM Press, 2010. [2] L. Britos, A. M. Printista, and N. Reyes. Dynamic spatial approximation trees with clusters for secondary memory. In XVI CACIC Selected Papers, 2011. [3] E. Chávez, V. Ludueña, and N. Reyes. Revisiting the VP-forest: Unbalance to improve the performance. In Proc. de las JCC08, 26, 2008. [4] E. Chávez, V. Ludueña, N. Reyes, and P. Roggero. Reaching near neighbors with far and random proxies. In CCE, 8th Int. Conf. on, pages 1–8, oct. 2011. [5] E. Chávez, G. Navarro, R. Baeza-Yates, and J. Marroquı́n. Searching in metric spaces. ACM, 33(3):273–321, sep 2001. [6] E. Chávez, N. Reyes, and P. Roggero. Delayed insertion strategies in dynamic metric indexes. In SCCC, pages 34–42, 2009. [7] V. Gil-Costa, R. Santos, C. Macdonald, and I. Ounis. Sparse spatial selection for noveltybased search result diversification. In SPIRE, pages 344–355, 2011. [8] G. Navarro. Searching in metric spaces by spatial approximation. VLDBJ, 11(1):28–46, 2002. [9] G. Navarro and N. Reyes. Dynamic spatial approximation trees. Journal of Experimental Algorithmics, 12:1–68, 2008. [10] R. Paredes and N. Reyes. Solving similarity joins and range queries in metric spaces with the list of twin clusters. JDA, 7:18–35, 2009. [11] H. Samet. Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling). 2005. [12] R. van Leuken, L. Garcia, X. Olivares, and R. van Zwol. Visual diversification of image search results. In Proc. of the 18th, WWW ’09, pages 341–350. ACM, 2009. [13] P. Zezula, G. Amato, V. Dohnal, and M. Batko. Similarity Search: The Metric Space Approach (Advances in Database Systems). SpringerVerlag., 2005. XIV Workshop de Investigadores en Ciencias de la Computación