UNIVERSITAT POLITÈCNICA DE VALÈNCIA Departamento de Sistemas Informáticos y Computación ALGORITMOS DE CLUSTERING PARALELOS EN SISTEMAS DE RECUPERACIÓN DE INFORMACIÓN DISTRIBUIDOS TESIS DOCTORAL: Presentada por: D. Daniel Jiménez González Dirigida por: Dr. D. Vicente Emilio Vidal Gimeno Valencia, mayo de 2011. DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN Agradecimientos Quiero darle especialmente las gracias a mis padres que me han apoyado a lo largo de todo este tiempo, y que gracias a ellos soy quien soy y he llegado a donde estoy. Gracias Marisa, por compartir conmigo esta importante parte de mi vida. Al principio desde muy lejos y ahora desde lo más cerca posible. Me has ayudado a que a pesar de las dificultades haya podido, creo yo, ir mejorando como persona. También le quiero dar las gracias a mi tutor que ha tenido tanta paciencia durante estos largos años que han pasado desde que el proyecto de esta tesis surgio hasta ahora que es una realidad. Tampoco puedo olvidar a todas esas personas que durante este tiempo me han acompañado, algunas se han quedado en el camino, otras se unieron a mitad y algunas de ellas han estado desde el principio al final. Todas ellas han sido importantes, pero creo que las que lo son especialmente, y ellas lo saben, se lo demuestro continuamente, aunque a lo mejor menos de lo que deberı́a. i Resumen La información es útil si cuando se necesita está disponible y se puede hacer uso de ella. La disponibilidad suele darse fácilmente cuando la información está bien estructurada y ordenada, y además, no es muy extensa. Pero esta situación no es la más común, cada vez se tiende más a que la cantidad de información ofrecida crezca de forma desmesurada, que esté desestructurada y que no presente un orden claro. La estructuración u ordenación manual es inviable debido a las dimensiones de la información a manejar. Por todo ello se hace clara la utilidad, e incluso la necesidad, de buenos sistemas de recuperación de información (SRI). Además, otra caracterı́stica también importante es que la información tiende a presentarse de forma natural de manera distribuida, lo cual implica la necesidad de SRI que puedan trabajar en entornos distribuidos y con técnicas de paralelización. Esta tesis aborda todos estos aspectos desarrollando y mejorando métodos que permitan obtener SRI con mejores prestaciones, tanto en calidad de recuperación como en eficiencia computacional, los cuales además permiten trabajar desde el enfoque de sistemas ya distribuidos. El principal objetivo de los SRI será proporcionar documentos relevantes y omitir los considerados irrelevantes respecto a una consulta dada. Algunos de los problemas más destacables de los SRI son: la polisemia y la sinonimia; las palabras relacionadas (palabras que juntas tienen un significado y separadas otro); la enormidad de la información a manejar; la heterogéneidad de los documentos; etc. De todos ellos esta tesis se centra en la polisemia y la sinonimia, las palabras relacionadas (indirectamente mediante la lematización semántica) y en la enormidad de la información a manejar. El desarrollo de un SRI comprende básicamente cuatro fases distintas: el preprocesamiento, la modelización, la evaluación y la utilización. El preprocesamiento que conlleva las acciones necesarias para transformar los documentos de la colección en una estructura de datos con la información relevante de los documentos ha sido una parte importante del estudio de esta tesis. En esta fase nos hemos centrado en la reducción de los datos y estructuras a manejar, maximizando la información contenida. La modelización, ha sido la fase más analizada y trabajada en esta tesis, es la que se encarga de definir la estructura y comportamiento del SRI. Solamente se ha trabajado sobre el modelo vectorial, dejando a parte otros modelos como el probabilistico y el lógico. En la fase de evaluación que se encarga de determinar la calidad del SRI, se han utilizado métodos ya definidos, ampliamente usados y corroborados, todos ellos basados directa o indirectamente en la precisión (precision) y la cobertura (recall ). iii Algoritmos de clustering paralelos en sistemas de recuperación de información distribuidos Por último, en la tesis no se ha abordado la fase de utilización. Debido a la gran cantidad de métodos de clustering existentes en multitud de ámbitos y para una extensa variedad de sistemas de información, se ha buscado trabajar a partir de dos de los principales y más importantes métodos de la literatura: K-Means y DBSCAN. Y, entonces, mejorar su calidad, intentando no perder su funcionalidad ni sus prestaciones computacionales, e incluso mejorándolas. Concretamente se ha desarrollado un método menos sensible que el K-Means a la inicialización de sus parámetros, α-Bisecting Spherical K-Means. También se ha desarrollado el método VDBSCAN que obtiene los mismos clusters que el DBSCAN pero en casi la mitad de tiempo y eliminando la elección aleatoria de los parámetros de inicialización cuando no se tiene información suficiente sobre el SRI (fijando a un valor constante uno de sus parámetros y el otro obteniéndolo de una forma heurı́stica también desarrollada en esta tesis). Todos estos métodos se han creado con el objetivo de trabajar en entornos distribuidos y por ello una parte importante de la tesis se centra en los aspectos de paralelización. Tras el estudio experimental de la calidad de recuperación de información y de las prestaciones computacionales se ha concluido que el método VDBSCAN obtiene una mejor calidad respecto al método α-Bisecting Spherical K-Means. Aunque el VDBSCAN tiene una modelización claramente más costosa, responde mejor a la paralelización. El tiempo de respuesta del α-Bisecting Spherical K-Means siempre es un poco más rápido que el del VDBSCAN. Ası́ y todo el VDBSCAN obtiene mejores valores de speed up y sensiblemente mejores resultados de eficiencia. En conclusión, el VDBSCAN será elegido siempre que se considere primordial la calidad de recuperación. Mientras que el α-Bisecting Spherical K-Means, cuando la fase de modelización se repita muchas veces, por su menor coste computacional. iv Resum La informació és útil si quan es necessita està disponible i es pot fer ús d’ella. La disponibilitat ocorre fàcilment quan la informació està bé estructurada i ordenada, i a més a més, no és molt extensa. Però aquesta situació no és la més comú, cada volta la tendència és més a que la quantitat d’informació oferida cresca de forma desmesurada, que estiga desestructurada i que no presente un ordre clar. L’estructuració u ordenació manual és inviable per raó de les dimensions de la informació a manejar. Per tot això es fa clara l’utilitat, i fins i tot la necessitat, de bons sistemes de recuperació d’informació (SRI). També, altra caracterı́stica important és que la informació tendeix a presentarse de forma natural de manera distribuı̈da, la qual cosa implica la necessitat de SRI que puguen treballar en entorns distribuı̈ts i amb tècniques de paral·lelització. Aquesta tesi tracta tots eixos aspectes desenvolupant i millorant mètodes que permeten obtindre SRI amb millors prestacions, tant en qualitat de recuperació com en eficiència computacional, els quals a més poden treballar des de la perspectiva de sistemes ja distribuı̈ts. El principal objectiu dels SRI serà proporcionar documents rellevants i ometre els considerats irrellevants respecte a una consulta donada. Alguns dels problemes més destacats dels SRI són: la polisèmia i la sinonı́mia; les paraules relacionades (paraules que juntes tenen un significat i serapades en tenen un altre); la gran quantitat d’informació a manejar; l’heterogeneı̈tat dels documents; etc. De tots ells, esta tesi es centra en la polisèmia i la sinonı́mia, les paraules relacionades (indirectament mitjançant la lematització semàntica) i en la gran quantitat d’informació a manejar. El desenvolupament d’un SRI comprén bàsicament quatre fases diferents: el preprocessament, la modelització, l’evaluació i la utilització. El preprocessament que inclou les accions necessàries per a transformar els documents de la col·lecció en una estructura de dades amb la informació rellevant dels documents ha sigut una part important de l’estudi d’aquesta tesi. En aquesta fase ens hem centrant en la reducció de les dades i estructures a manejar, maximitzant la informació continguda. La modelització, ha sigut la fase més analitzada i treballada en aquesta tesi, és l’encarregada de definir l’estructura i comportament del SRI. Només s’ha treballat el model vectorial, deixant a banda altres models com el probabilı́stic i el lògic. En la fase d”evaluació que s’encarrega de determinar la qualitat del SRI, s’han utilitzat mètodes ja definits, ampliament usats i corroborats, basats directa o indirectament en la precisió (precision) i la cobertura (recall ). A la fi, aquesta tesi no es fica en la fase d’utilització. Degut a la gran quantitat de mètodes de clustering que existeixen en multitud v Algoritmos de clustering paralelos en sistemas de recuperación de información distribuidos d’àmbits i per a una extensa varietat de sistemes d’informació, s’ha buscat treballar partint de dos dels principals i més importants mètodes de la lliteratura: K-Means i DBSCAN. I, aleshores, millorar la seua qualitat, intentant no perdre la seua funcionalitat ni les seues prestacions computacionals, i fins i tot millorar-les. Concretament s’ha desenvolupat un mètode menys sensible que el K-Means a la inicialització dels seus paràmetres, α-Bisecting Spherical K-Means. També s’ha desenvolupat el mètode VDBSCAN que obté els mateixos clusters que el DBSCAN però en quasi la meitat del temps i suprimint l’elecció aleatòria dels paràmetres de inicialització quan no es té informació suficient respecte al SRI (fixant a un valor constant un dels seus paràmetres i l’altre obtenint-lo heurı́sticament, mètode tambè desenvolupat en aquesta tesi). Aquests mètodes s’han creat amb l’objectiu de treballar en entorns distribuı̈ts i per això una part important de la tesi es centra en aspectes de paral·lelització. Després de l’estudi experimental de la qualitat de recuperació d’informació i de les prestacions computacionals s’ha conclós que el métode VDBSCAN obté una millor qualitat respecte al métode α-Bisecting Spherical K-Means. Encara que el VDBSCAN té una modelització clarament més costosa, respon millor a la paral·lelitzación. El temps de resposta del α-Bisecting Spherical K-Means sempre és una mica més ràpid que el del VDBSCAN. Aixı́ i tot el VDBSCAN obté millors valores de speed up i sensiblement millors resultats d’eficiència. En conclusió, el VDBSCAN serà elegit sempre que es considere primordial la qualitat de recuperació. Mentres que el αBisecting Spherical K-Means, quan la fase de modelització es repetisca moltes voltes, pel seu menor cost computacional. vi Abstract If when we need information, it is avaiable and we can use it, then information is useful. The avaiability is easy when information has good estructure and order, and it is not very large. But this situation is unusual, every time the amount of offered information tends to grow of extreme form, to be unstructured and to show unclear order. The manual structuration or order is unviable because the size we have to handle. So goods information retrieval (IR) systems are useful and even needed. Besides, another important characteristic is that the information appears on distributed way in its natural form, so the IR systems have to work on distributed environment and with paralelization methods. This doctoral thesis deals all these aspects developing and improving methods to obtain IR systems with improve performances, in retrieval quality and computational eficiency too. Moreover, this methods can work on distributes systems already. The main objective of IR systems is supply relevant documents and omit irrelevant respect to gived query. IR systems have various important handicaps, emphasizing: polysemy, synonyme; related words (two join words have a concret meaning and the same words when are separated have other meaning); etc. All these ones are deal in this doctoral thesis. The development of IR system has four different basic phases: the preprocessing, the modelization, the evaluation and the utilization. The preprocessing presents needed actions to transform documents collection to data structure with documents relevant information. One important part of the doctoral thesis studies this phase, being centered in data and structures reduction, maximizing contained information. The modelization defines the structure and behaviour of IR system and this phase has been the most analyzed and developed phase. This doctoral thesis work about vectorial model, leaving outside other models as probabilistic and boolean. The evaluation determinates IR system quality. In this doctoral thesis we use already defined methods, widely used and tested. These methods are based directly or indirectly in the precision and recall. And the fourth phase is the utilization of the system, the doctoral thesis does not raise this phase. It exists a very large number of clustering methods in multitude of fields and for an extensive variety of information systems, so we have started from the two main and most important methods of the literature: K-Means and DBSCAN. Later, we have tried to improve their quality and not to lose their funcionality and their computational performance. Specifically, we have developed a less sensitive method than vii Algoritmos de clustering paralelos en sistemas de recuperación de información distribuidos the K-Means in respect of the parameters initialization, the α-Bisecting Spherical KMeans. Also, we have developed the VDBSCAN method, which obtains the DBSCAN same clusters, with almost double quickness and eliminating aleatory selection of initializacion parameters when we have not enough information about the IR system (it fixes the first parameter on a constant valor and the second is obtained with an heuristic, developed in this doctoral thesis). All this methods have the objective of work on distributed environment, so an important part of the doctoral thesis discusses paralelization aspects. After the experimental study of information retrieval quality and computational performances we could conclude that VDBSCAN method obtain better quality than α-Bisecting Spherical K-Means method. VDBSCAN have a more expensive modelization, but have a better behaviour in the paralelization. With respect to the evaluation time, α-Bisecting Spherical K-Means always is a little faster than VDBSCAN, but the last one obtain better values to the speed up and efficiency. In conclusion, the VDBSCAN method will be selected always that retrieval quality would be the most important thing. And the α-Bisecting Spherical K-Means method when the modelization phase is repeated very times, because it has a smaller computational cost. viii Índice general 1. Introducción 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Estructura de la tesis . . . . . . . . . . . . . . . . . . . . . 1.3. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Los sistemas de recuperación de información . . . 1.3.2. Los paradigmas de la recuperación de información 1.3.3. El clustering en la recuperación de información . . 1.3.4. La familia del K-Means . . . . . . . . . . . . . . . 1.3.5. La familia del DBSCAN . . . . . . . . . . . . . . . 1.4. Justificación de objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Los sistemas de recuperación de información 2.1. Aspectos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Qué vamos a entender por sistema de recuperación de información 2.1.2. ¿Para qué un sistema de recuperación de información? . . . . . 2.1.3. Evolución de los sistemas de recuperación de información . . . 2.1.4. Organización manual o automática de la información . . . . . . 2.1.5. Fases de un sistema de recuperación de información . . . . . . 2.1.6. Sistemas parecidos y relacionados . . . . . . . . . . . . . . . . . 2.1.7. Problemática de los sistemas de recuperación de información . 2.2. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Selección de los términos que identificarán la colección . . . . . 2.2.2. Eliminación de palabras carentes de información: Stopwords . . 2.2.3. Trabajar únicamente con la raı́z de las palabras: Stemming . . 2.2.4. Utilización de información sintáctica y/o semántica: Lematización 2.2.5. Reducciones heurı́sticas de términos poco o demasiado utilizados 2.2.6. Tesauros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Modelización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Clasificación de los modelos . . . . . . . . . . . . . . . . . . . . 2.3.2. Modelo vectorial básico: Matriz de pesos . . . . . . . . . . . . . 2.3.3. Modelo de indexación semántica latente (LSI): Mediante la SVD 2.3.4. Modelo de clustering . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Tratamiento de la consulta . . . . . . . . . . . . . . . . . . . . . . . . I 1 1 2 2 3 4 5 7 8 9 11 11 11 12 13 14 15 21 25 32 32 34 35 36 36 37 37 37 40 46 50 52 ÍNDICE GENERAL 2.4.1. Tipos de consultas . . . . . . . . . . . . . . . 2.4.2. Retroalimentación de la consulta . . . . . . . 2.5. Métodos de evaluación . . . . . . . . . . . . . . . . . 2.5.1. Evaluación especı́fica de clusters . . . . . . . 2.5.2. Medidas de evaluación estándar . . . . . . . 2.5.3. Otras medidas de evaluación menos comunes 2.5.4. Colecciones de prueba para evaluación . . . . 2.5.5. Colecciones de prueba utilizadas . . . . . . . 2.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 53 55 56 57 60 62 62 64 3. Algoritmos de clustering 3.1. Tipos de métodos de clustering . . . . . . . . . . . . . . . . . 3.1.1. Clustering particional . . . . . . . . . . . . . . . . . . 3.1.2. Clustering jerárquico . . . . . . . . . . . . . . . . . . . 3.1.3. Clustering basado en densidades . . . . . . . . . . . . 3.2. Métodos básicos . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. K-Means . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2. DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Variante del K-Means: α-Bisecting Spherical K-Means . . . . 3.3.1. α-Bisection . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2. α-Bisecting Spherical K-Means . . . . . . . . . . . . . 3.4. Variante del DBSCAN: VDBSCAN . . . . . . . . . . . . . . 3.4.1. El algoritmo VDBSCAN . . . . . . . . . . . . . . . . . 3.4.2. Estudio de prestaciones de recuperación . . . . . . . . 3.4.3. Estudio temporal . . . . . . . . . . . . . . . . . . . . 3.5. Eliminación de parámetros del VDBSCAN . . . . . . . . . . 3.5.1. Fijación del mı́nimo número de elementos por cluster 3.5.2. Heurı́stica para seleccionar una buena proximidad . . 3.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 71 73 74 75 77 77 79 82 82 84 85 86 87 89 90 93 95 99 4. Clustering en sistemas distribuidos 4.1. Introducción . . . . . . . . . . . . . . . . 4.2. Posibles distribuciones . . . . . . . . . . . 4.3. α-Bisecting Spherical K-Means distribuido 4.3.1. α-Bisecting K-Means . . . . . . . . 4.3.2. α-Bisecting Spherical K-Means . . 4.4. VDBSCAN distribuido . . . . . . . . . . . 4.4.1. Versiones paralelas del DBSCAN . 4.4.2. Versión distribuida del VDBSCAN 4.5. Evaluación distribuida de consultas . . . 4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 105 107 109 109 113 114 114 116 118 119 II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÍNDICE GENERAL 5. Estudios experimentales 123 5.1. Colecciones de prueba y entornos utilizados . . . . . . . . . . . . . . . 123 5.1.1. Colección: Times Magazine 1963 . . . . . . . . . . . . . . . . . 123 5.1.2. Colección: Cystic Fibrosis Database . . . . . . . . . . . . . . . 123 5.1.3. Colección: TREC-DOE . . . . . . . . . . . . . . . . . . . . . . 124 5.1.4. Cluster de PCs: KEFREN . . . . . . . . . . . . . . . . . . . . . 124 5.1.5. Cluster de PCs: ODIN . . . . . . . . . . . . . . . . . . . . . . . 124 5.2. Comparación de calidad de recuperación . . . . . . . . . . . . . . . . . 124 5.2.1. Matriz de Pesos vs. Spherical K-Means . . . . . . . . . . . . . 125 5.2.2. Matriz de Pesos vs. α-Bisecting Spherical K-Means . . . . . . 127 5.2.3. Spherical K-Means vs. α-Bisecting Spherical K-Means . . . . . 130 5.2.4. Matriz de Pesos vs. VDBSCAN . . . . . . . . . . . . . . . . . 131 5.2.5. α-Bisecting Spherical K-Means vs. VDBSCAN . . . . . . . . . 133 5.3. Comparación de prestaciones computacionales . . . . . . . . . . . . . . 134 5.3.1. Modelización: VDBSCAN vs. α-Bisecting Spherical K-Means vs. Spherical K-Means . . . . . . . . . . . . . . . . . . . . . . . 136 5.3.2. Evaluación: Matriz de Pesos vs. Spherical K-Means vs. α-Bisecting Spherical K-Means . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.3.3. Evaluación: Matriz de Pesos vs. VDBSCAN . . . . . . . . . . . 145 5.3.4. Evaluación: VDBSCAN vs. α-Bisecting Spherical K-Means . . 149 5.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.4.1. Prestaciones en recuperación de información . . . . . . . . . . . 154 5.4.2. Prestaciones computacionales . . . . . . . . . . . . . . . . . . . 154 5.4.3. Mejor método según sus prestaciones . . . . . . . . . . . . . . . 156 6. Conclusiones finales y trabajos futuros 6.1. Evolución de la tesis y produción cientı́fica . 6.1.1. Evolución de la tesis . . . . . . . . . 6.1.2. Publicaciones de la tesis . . . . . . . 6.2. Conclusiones . . . . . . . . . . . . . . . . . 6.3. Trabajos Futuros . . . . . . . . . . . . . . . Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 159 159 164 168 170 173 III Lista de algoritmos 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Clustering particional . . . . . . . . . . K-Means tı́pico . . . . . . . . . . . . . . Spherical K-Means . . . . . . . . . . . . DBSCAN . . . . . . . . . . . . . . . . . Bisección . . . . . . . . . . . . . . . . . α-Bisection . . . . . . . . . . . . . . . . α-Bisecting K-Means . . . . . . . . . . . α-Bisecting Spherical K-Means . . . . . VDBSCAN . . . . . . . . . . . . . . . . Selección de buena proximidad . . . . . Vector concepto normalizado en paralelo α-Bisection paralelo . . . . . . . . . . . α-Bisecting K-Means paralelo . . . . . α-Bisecting Spherical K-Means paralelo VDBSCAN Distribuido . . . . . . . . . PEpsVecindario . . . . . . . . . . . . . Evaluación de Clusters . . . . . . . . . Evaluación distribuida de Clusters . . . IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 77 79 80 83 83 84 85 86 97 111 112 113 114 117 117 118 119 Índice de figuras 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. Creación de un sistema de recuperación de información. . . Evaluación de un sistema de recuperación de información. . Utilización de un sistema de recuperación de información. . Taxonomı́a de los modelos de recuperación de información. Comportamiento del esquema de pesado tfn. . . . . . . . . Relación de equilibrio de prestaciones. . . . . . . . . . . . . Representación del resultado de una consulta. . . . . . . . Curvas tı́picas de precisión versus cobertura. . . . . . . . . Histograma de precisión tı́pico. . . . . . . . . . . . . . . . . . . . . . . . . . 16 19 20 38 45 55 58 59 61 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. Árbol jerárquico o dendograma. . . . . . . . . . . . . . . . . . . . . . Estudio de prestaciones DBSCAN vs. VDBSCAN - Colección Times -. Estudio de prestaciones DBSCAN vs. VDBSCAN - Colección Cystic -. Estudio temporal: DBSCAN vs. VDBSCAN. . . . . . . . . . . . . . . Mı́nimo número de elementos por cluster - Colección Times -. . . . . Mı́nimo número de elementos por cluster - Colección Cystic -. . . . . Proceso heurı́stico de selección de la proximidad para el VDBSCAN. . 74 88 88 90 91 92 98 4.1. 4.2. 4.3. 4.4. 4.5. Distribución de la colección en el α-Bisecting K-Means. . . Proceso de construcción del vector concepto normalizado en Diagrama del α-Bisection paralelo. . . . . . . . . . . . . . Diagrama del α-Bisecting K-Means paralelo. . . . . . . . . Distribución de la colección en el VDBSCAN paralelo. . . . 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. Comportamiento del Spherical K-Means con la colección Times. . . . Comportamiento del Spherical K-Means con la colección Cystic. . . . Comportamiento del α-Bisecting Spherical K-Means, colección Times. Comportamiento del α-Bisecting Spherical K-Means, colección Cystic. Spherical K-Means vs. α-Bisecting Spherical K-Means, con la Times. Spherical K-Means vs. α-Bisecting Spherical K-Means, con la Cystic. Comparación entre la matriz de pesos y el VDBSCAN, colección Times. Comparación entre la matriz de pesos y el VDBSCAN, colección Cystic. α-Bisecting Spherical K-Means vs. VDBSCAN, colección Times. . . . V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . paralelo. . . . . . . . . . . . . . . . . 109 110 . 111 . 112 . 116 125 126 128 129 130 131 132 132 133 ÍNDICE DE FIGURAS 5.10. α-Bisecting Spherical K-Means vs. el VDBSCAN, colección Cystic. . 5.11. Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12. Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13. Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14. Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.15. Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.16. Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.17. Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección Times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18. Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección Cystic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.19. Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección DOE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.20. Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección Times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.21. Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección Cystic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.22. Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección DOE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.23. Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Times. . . . . . . . . . . . . . . . 5.24. Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Cystic. . . . . . . . . . . . . . . . 5.25. Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección DOE. . . . . . . . . . . . . . . . . 5.26. Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Times. . . . . . . . . . . . . . . VI 134 137 137 138 139 139 140 141 142 142 143 143 144 145 146 146 147 ÍNDICE DE FIGURAS 5.27. Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Cystic. . . . . . . . . . . . . . . 5.28. Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección DOE. . . . . . . . . . . . . . . . 5.29. Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. . . . . . . 5.30. Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. . . . . . . 5.31. Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. . . . . . . 5.32. Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. . . . . . . 5.33. Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. . . . . . . 5.34. Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. . . . . . . VII 148 148 150 150 151 152 153 153 Índice de tablas 2.1. Fórmulas de pesado local. . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Fórmulas de pesado global. . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Fórmulas de normalización. . . . . . . . . . . . . . . . . . . . . . . . . 43 44 44 3.1. Algoritmos de clustering particionales importantes. . . . . . . . . . . 3.2. Algoritmos de clustering jerárquicos importantes. . . . . . . . . . . . 3.3. Algoritmos de clustering basados en densidades importantes. . . . . . 74 75 76 5.1. Análisis de influencia de la modelización en los costes de evaluación. . 135 VIII Capı́tulo 1 Introducción 1.1. Objetivos El principal objetivo de esta tesis es desarrollar métodos eficientes de clustering enfocados a obtener una buena calidad de recuperación de información, concretamente en sistemas formados por colecciones de documentos. Dichos métodos deben presentar unos tiempos de respuesta, al menos en la fase de evaluación de las consultas del usuario, más que aceptables. Y, además, tienen que ser capaces de funcionar mediante técnicas de paralelización en entornos donde la información de forma natural se encuentra distribuida. Debido a la gran cantidad de métodos de clustering existentes en multitud de ámbitos y para una extensa variedad de sistemas de información, se ha buscado trabajar a partir de dos de los principales y más importantes métodos de la literatura: K-Means y DBSCAN. Y, entonces, aprovechar las caracterı́sticas propias de los sistemas de recuperación de información para mejorarlos, intentando no perder su funcionalidad general. Más especı́ficamente se ha trabajado con el objetivo de mejorar la calidad de dichos algoritmos sin perder prestaciones computacionales, e incluso mejorándolas. Concretamente se ha querido desarrollar un método menos sensible que el K-Means a la inicialización de sus parámetros, conseguido ello con el método desarrollado: αBisecting Spherical K-Means. También se ha buscado mejorar en los posibles tipos de cluster que se pueden reconocer e incluso prácticamente eliminar la elección aleatoria de los parámetros de inicialización cuando no se tiene información suficiente sobre el sistema de información. Este aspecto no se ha conseguido a partir del método αBisecting Spherical K-Means, para ello se ha desarrollado el método VDBSCAN a partir del método DBSCAN. Una parte importante de la tesis trabaja aspectos de paralelización, ya que los sistemas de recuperación de información suelen tender a presentarse distribuidos, debido a la naturaleza distribuida que en las colecciones de documentos en general se observa. Por lo tanto, es importante que los sistemas de recuperación de información sean capaces de trabajar en entornos distribuidos, y los métodos presentados en la tesis se han desarrollado con el objetivo de que puedan trabajar en este tipo de situaciones. 1 1.2. ESTRUCTURA DE LA TESIS 1.2. Estructura de la tesis Buscando que los objetivos descritos y que los conceptos, métodos y experimentos presentados en la tesis queden lo más claro posible y que sea fácil su consulta y seguimiento, la tesis se ha estructurado en cuatro grandes bloques, además de un apartado dedicado a la conclusiones y trabajos futuros. Los cuatro apartados principales son los siguientes: Los sistemas de recuperación de información: En este apartado se explican lo que son los sistemas de recuperación de información, para que sirven, cual ha sido su evolución, cuales son los principales problemas a los que se enfrentan, y luego con mayor detenimiento se explican cada una de las fases que podemos encontrar en los sistemas de recuperación: preprocesamiento, modelización, evaluación y utilización (evaluación de las consultas del usuario). Algoritmos de clustering : Apartado en el cual se describen los distintos tipos de métodologı́as de clustering existentes. Luego con más detalle se presentan dos de los algoritmos de clustering más utilizados, el K-Means y el DBSCAN. Y el resto del apartado se dedica al desarrollo de los nuevos métodos presentados en esta tesis: el α-Bisecting Spherical K-Means y el VDBSCAN, como variantes de los dos algoritmos básicos antes descritos. Clustering en sistemas distribuidos: Tras una breve introducción, se explican las distribuciones posibles y cual es la elegida y por qué. Luego se presentan las versiones paralelas de todos los algoritmos que a lo largo de la tesis se usan. En este apartado no se presenta ningún estudio comparativo entre versiones, se dedica al desarrollo y explicación de los mismos, ası́ como a la justificación de éstos aún cuando puedan existir versiones distribuidas de los métodos básicos. Estudios experimentales: Como su nombre indica, en este apartado se han englobado los estudios experimentales de las prestaciones de los algoritmos desarrollados, tanto desde el punto de vista de la calidad de recuperación de información, como de los costes computacionales, secuenciales y paralelos. También se presenta un subapartado explicativo de las colecciones de prueba utilizadas para determinar la calidad de los distintos métodos y se finaliza con otro subapartado a modo de resumen de las conclusiones que se pueden extraer de las distintas comparaciones experimentales entre los diferentes métodos. En el apartado de conclusiones se han incluido las conclusiones que se pueden extraer del trabajo presentado en esta tesis, ası́ como las lı́neas de trabajos futuros que se abren a partir de ella. 1.3. Estado del arte Aunque el estado del arte se desarrolla a lo largo de toda la tesis incluyéndolo dentro del desarrollo de cada apartado, se ha querido presentar también un punto 2 1.3. ESTADO DEL ARTE general del mismo. Existen varias revisiones del estado del arte ofreciendo un aporte más extenso y detallado de los distintos métodos y enfoques en la recuperación de información, entre los cuales podemos destacar [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. 1.3.1. Los sistemas de recuperación de información Desde sus origienes el ser humano ha sabido de la necesidad de organizar y extraer información. Pero en cada momento de su historia lo ha realizado de una forma u otra, en función de la información y en función de los medios disponibles. La disponibilidad de la información mejora cuando está bien estructurada, ordenada y no es muy extensa. Hace decadas era una situación común, al encontrarse la información en bibliotecas y archivos. Pero al crecer el volumen de información considerablemente, fue necesario construir estructuras de datos especializadas para asegurar un acceso rápido a la información almacenada. Los ı́ndices son una antigua y popular estructura de datos, que de una forma u otra, es el corazón de todos los sistemas de recuperación de información modernos. Los sistemas de organización de las bibliotecas, basados fundamentalmente en ı́ndices, se han ido refinando durante mucho tiempo, de hecho se puede considerar que éstas fueron de las primeras instituciones en adoptar sistemas de recuperación de información, aunque éstos eran muy diferentes a los actuales [11, 12], incluso en 1995 se trabajo en su paralelización [13]. Se pueden ver tres generaciones en el desarrollo de los sistemas de recuperación de información [11]: Primera generación: Automatización de tecnologı́as previas, por ejemplo catálogos de tarjetas. Permitı́an búsquedas básicas basadas en el tı́tulo y autor del documento. Segunda generación: Inclusión de nuevas formas de búsqueda: por tı́tulos de capı́tulo, palabras claves, etc. Tambien se facilita la realización de consultas más complejas. Tercera generación: Mejora de interfaces con el usuario, de modelos, de visualización de la información, de la clasificación y categorización de los documentos, etcétera. Esta se puede considerar la generación actual. Con la aparición de los sistemas de información digitales, sobre todo de la World Wide Web, a principios de los noventa, la cantidad de información disponible para ser compartida sufrió un cambio sin precedente alguno. Lo cual conllevó un nuevo problema, la búsqueda de dicha información se convirtió en difı́cil y tediosa, ya que ésta es estructuralmente de baja calidad. De hecho aunque pueda parecer que los actuales motores de búsqueda de la Web utilizan métodos de indexación similares a los empleados en las bibliotecas de hace siglos, es una mera apariencia. Existen trabajos enfocados directamente a la Web como por ejemplo [14, 15]. Son fundamentalmente tres los cambios debidos al avance tecnológico de la informática moderna y la explosión de la Web [11]: 3 1.3. ESTADO DEL ARTE 1. De forma muy barata se puede acceder a la información de varias fuentes. 2. A la información se puede acceder de manera muy rápida incluso a pesar de las distancias fı́sicas, gracias a la comunicación digital. 3. La libertad de la gente a incluir la información que considera útil a disposición del resto de personas. Este entorno conlleva la necesidad de una herramienta que facilite que se pueda extraer la información que sea de interés. La investigación en este campo ha seguido distintas direcciones en función del tipo de información buscada o de si se pretende la organización de la información. Minerı́a de datos (Data Mining ): Busca datos concretos entre grandes cantidades de información [3]. Navegación (Browsing ): Realiza una búsqueda interactiva a través del sistema de información cuando la información buscada es amplia o no está claramente definida [4, 11]. Clasificación: Agrupa de forma supervisada o no supervisada la información en conjuntos relacionados directamente [3, 4]. Filtrado (Filtering ): Filtra según unas consultas predefinidas la información que continuamente llega [4, 11]. Recuperación de información (Information Retrieval ): Obtiene de un sistema de información más o menos estático la información relevante a una consulta puntual dada [4, 11]. Los primeros aportes serios de paralelización surgen en 1994, cuando se intenta introducir la paralelización de sistemas de recuperación de información en las bases de datos [16] y en 1995, cuando se trabaja en la paralelización de ı́ndices y de algunos métodos de clustering (Fuzzy Covarianze y Affinity Decomposition) sobre distintas arquitecturas (maquinas vectoriales, computadores de memoria distribuida y memoria compartida) [13]. El uso de la recuperación de información se ha llevado a varios campos distinto del puramente textual. Por ejemplo, en [17] se une el reconocimiento de voz y la recuperación de información en un único sistema, el cual recibe las consultas habladas y devuelve los documentos escritos relevantes a dicha consulta. Y en [18, 19, 20] se ha intentado llevar a los en sistemas de imágenes. 1.3.2. Los paradigmas de la recuperación de información Durante mucho tiempo la información se ha organizado manualmente como jerarquı́as categorizadas [11]. Forma que hoy en dı́a todavı́a se utiliza en muchos lugares, sobre todo en bibliotecas. Actualmente los ordenadores han posibilitado la construcción de grandes ı́ndices de forma automática. Y aunque los sistemas de indexación 4 1.3. ESTADO DEL ARTE manual, a pesar de sus problemas, trabajan muy bien, la proliferación de gran cantidad de información ha provocado la necesidad de los sistemas automatizados [12]. Un claro ejemplo de que la organización manual es, también hoy en dı́a, una posible solución a la organización y estructuración de la información se ve al adoptarse para organizar una parte de Internet, concretamente la Web www.yahoo.com [21]. De todas formas este proceso sólo es viable cuando se dispone de grandes recursos. A medida que ha ido pasando el tiempo y el problema de la recuperación de información se ha ido conociendo y estudiando más profundamente, han ido apareciendo otros paradigmas de modelado alternativos a los clásicos (lógico, vectorial y probabilı́stico). Dentro del paradigma lógico destacan los modelos de lógica difusa (Fuzzy) y el modelo lógico extendido. El paradigma algebraico incluye el modelo vectorial generalizado, la indexación semántica latente (Latent Semantic Index ing) y las redes neuronales. Las alternativas del modelo probabilı́stico son las redes de inferencia (Inference Network ) y las redes de convicción (Belief Network ). Los métodos de clustering se podrı́an englobar en cualquiera de los paradigmas en función del modelo en el que se basen, aunque habitualmente trabajan dentro del modelo vectorial. Durante la historia de los sistemas de recuperación de información han habido multitud de intentos de unir las caracterı́sticas de distintos paradigmas. Por ejemplo: en [22] se intenta unir el LSI y el probabilistico, en [23, 24] se intenta relacionar la matriz de vectores conceptos obtenida a partir del Spherikal K-Means con la matriz de bajo rango obtenida con el modelo LSI utilizando la SVD, en [25] se quiere unir el modelo LSI con la formulación de consultas boleanas. E incluso de unir varios métodos indistintamente cuales sean éstos, al centrarse en como combinar los resultados de varios métodos de recuperación para unificar y dar sólo una relación de documentos relevantes, aún cuando cada método puede dar lugar a un conjunto distinto [26]. Diferentes trabajos sobre el modelo LSI han ido apareciendo, destacan [27, 28, 29], más tarde se afrontan problemas especı́ficos y surgen distintos tipos de optimizaciones. En [30] se presenta un estudio para optimizar la SVD mediante descomposiciones semidiscretas, el cual a su vez se basó en un anterior trabajo [31]. En [32] se plantea la utilización de alternativas a la SVD para mejorar computacionalmente las descomposiciones de bajo rango. En [33] se presenta una nueva implementación del modelo LSI mejorando implementaciones anteriores. En [14] se estudian diferentes alternativas basadas en la LSI enfocadas a un entorno Web. En [34] se afronta el problema de determinar el rango buscado en la LSI, concretamente se basan en cálculos de la SVD de muestras de la matriz de pesos. 1.3.3. El clustering en la recuperación de información Las técnicas de clustering trabajan directamente con la colección de documentos y no con el texto de los documentos [11]. Esta es la razón por la que el modelo de clustering no pertenece a ninguno de los paradigmas de recuperación de información (lógico, vectorial o probabilı́stico). Incluso se pueden encontrar trabajos basados en modelos de grafos que presentan técnicas de clustering [35, 36, 37]. Inicialmente el clustering fue investigado para mejorar la precisión y la cobertura (recall ) de los sistemas de recuperación de información y como un camino eficiente 5 1.3. ESTADO DEL ARTE de encontrar los vecinos más próximos de un documento. Después, fue propuesto para usarse en la navegación por las colecciones de documentos, o en la organización de los resultados de una consulta, o en la generación automática de jerarquı́as de documentos, o en el análisis de conceptos latentes en conjuntos de documentos desestructurados, etc. [23, 38]. En la literatura existe una vasta colección de algoritmos de clustering disponibles, lo cual puede a priori confundir a la hora de seleccionar cual es el más conveniente para un problema dado, pero no hay que olvidar que no existe una técnica de clustering universal que se pueda aplicar a todos los conjuntos de datos [3, 39]. No todas las técnicas de clustering pueden encontrar todos los clusters, y aún pudiéndolos encontrar no todos lo hacen con la misma facilidad. Esto es debido a las asunciones implı́citas que cada algoritmo hace, tales como la forma de los clusters buscados, la configuración de múltiples clusters o los criterios de agrupación entre clusters [3, 39]. Toda esta multitud de métodos de clustering disponibles en la literatura comúnmente se divide en dos tipos: [3, 4, 5, 6, 40]: Particional: Construye particiones, donde cada cluster optimiza un criterio de clustering. Se caracterizan por su alta complejidad, algunos incluso enumeran exhaustivamente todas las posibles particiones intentando encontrar el óptimo global. Normalmente se empieza con una solución inicial aleatoria y luego se refina. Jerarquico: Crea una descomposición jerárquica. Se subdividen a su vez en aglomerativos y divisivos. Los aglomerativos parten siendo cada documento un cluster independiente y sucesivamente los mezclan de acuerdo a una medida de distancia. Los divisivos parten de un único cluster formado por toda la colección y sucesivamente lo divide en grupos más pequeños según algún criterio hasta que cada documento forma un único cluster. Un método jerárquico se puede utilizar como un método particional y el proceso inverso también es posible, de una técnica particional se pueden obtener resultados jerárquicos [38, 41]. A parte de estas dos principales categorı́as de algoritmos de clustering han surgido otros métodos, los cuales suelen estar enfocados a problemas o conjuntos de datos especı́ficos [3, 5, 6]: Clustering basado en densidades: Los elementos vecinos se agrupan en un mismo conjunto basándose en funciones objetivo especı́ficas de densidad (número de objetos en un vecindario particular). Clustering basado en grid: Están pensados principalmente para datos espaciales (por ejemplo, los que modelan estructuras geométricas). El procedimiento que siguen es dividir el espacio en un número finito de celdas y entonces trabajar con dichas celdas y su contenido. Clustering basado en modelos: Se utilizan para encontrar buenas aproximaciones de los parámetros del modelo que mejor define los datos. Están bastante cerca de los algoritmos basados en densidades aunque no tienen por que usar el mismo concepto de densidad. 6 1.3. ESTADO DEL ARTE Clustering de información categórica: Están especialmente desarrollados para datos categóricos donde la medida de distancia Euclı́dea u otras numéricas no pueden ser aplicadas. En [42] se presenta un estudio comparativo de varios métodos de clustering para analizar el tráfico de una red, entre ellos se encuentra el DBSCAN y el K-Means. Los resultados de este trabajo presentan al DBSCAN como el mejor de los métodos comparados. Este estudio es un ejemplo del buen comportamiento de los métodos de clustering presentados en esta tesis en otros campos distintos a los sistemas de recuperación de información. 1.3.4. La familia del K-Means El algoritmo K-Means es la técnica iterativa particional más ampliamente usada [43, 44], y el algoritmo K-Means tı́pico ha sido varias veces presentado [3, 6, 38, 45]. A lo largo del tiempo se han presentado diversas mejoras y enfoques del K-Means y sus principales variantes. Una mejora tı́pica es intentar alcanzar el mı́nimo global, en lugar de uno local intentando para ello mejorar la elección de los centros iniciales [3]. Otra mejora importante es permitir separar y juntar clusters en función de dos umbrales, separando cuando la varianza del cluster supera el umbral determinado y juntando cuando los centros de dos clusters superan el umbral de cercanı́a [3]. Otra posible mejora es actualizar los centros de los clusters incrementalmente, es decir a medida que los documentos se asignan a los clusters [38]. También se ha intentado mejorar el método de inicialización, tanto basándose en modos de distribución probabilı́sticos [46], como en la densidad de puntos de las celdas en las que se distribuye la región de puntos con los que se trabaja [47] (este trabajo se centra en una baja dimensionalidad, concretamente en dos dimensiones). En [48] se intenta acelerar el método K-Means mediante razonamiento geométrico usando la estructura kd-tree (también utilizada anteriormente en [49] para también intentar mejorar el K-Means), las pruebas realizadas llegan sólo hasta datos de cinco dimensiones. En [43, 44] se aporta una técnica alternativa a las clásicas de elejir el elemento a dividir en los métodos basados en divisiones como el Bisecting K-Mean. En [21] se trabaja en una implementación eficiente de un sistema completo de clustering basado en el Spherical K-Means. En [50] se extiende el K-Means para que pueda trabajar con distintas caracterı́sticas (además de la habitual, la aparición de términos en el documento, se puede utilizar también, por ejemplo, los enlaces que aparecen en las páginas Web). Este aspecto lo afrontan usando tuplas de caracterı́sticas en la modelización. El algoritmo K-Means has sido paralelizado muchas veces (por ejemplo en [51, 52, 53, 54]) partiendo en la mayorı́a de los casos de un conjunto de datos centralizado o repetido. Es decir, o los datos residen en un servidor central y entonces se distribuyen entre los diferentes elementos de proceso, o cada elemento de proceso presenta una copia de todos los datos. La filosofı́a seguida en esta tesis parte de que la colección de documentos se encuentra ya distribuida entre los distintos elementos de proceso. Estudiando un poco el algoritmo K-Means en seguida se encuentra una filosofı́a de paralelización básica y sencilla, operaciones de suma y producto vectoriales en 7 1.3. ESTADO DEL ARTE paralelo y una operación de reducción global, la cual también sirve como método de sincronización. Ésta es la lı́nea que han seguido en general las versiones paralelas que se encuentran en la literatura (ver por ejemplo en [51, 52, 53]) y es también la que se seguirá en esta tesis. En [55, 56] se presenta una generalización de cómo paralelizar los métodos basados en centroides, tales como el K-Means. 1.3.5. La familia del DBSCAN Tras su aparición en 1996 comparándose con el CLARANS, el DBSCAN [40] ha dado lugar a diferentes variantes y mejoras destacando las siguientes: GDBSCAN: Versión generalizada del DBSCAN que permite trabajar con datos numéricos y con atributos categóricos [57]. DBCLASD: Variante del DBSCAN que permite trabajar sin ningún parámetro de entrada, al asumir que los objetos dentro de un cluster son distribuidos uniformemente [58, 59]. Estudios muestran que el DBSCAN es más rápido (tendiendo al doble) que el DBCLASD [59]. DBSCAN Incremental: Se ha desarrollado una versión incremental eficiente [60]. DBSCAN Paralelo: Existe una versión paralela del DBSCAN la cual empieza con el conjunto de datos residente en un servidor central y entonces distribuye la información a los diferentes clientes [61]. También existe el DBDC (Density Based Distributed Clustering) una versión distribuida, que parte de la colección ya distribuida, entonces hace un clustering local y envı́a información del modelo local a un servidor central, donde se genera un modelo global a partir de los locales, el cual es distribuido para actualizar los modelos locales [62, 63, 64]. OPTICS: Extensión del DBSCAN que relaja el requerimiento estricto de los parámetros de entrada, computando una descomposición jerárquica de clusters basada en un rango de configuración de los parámetros [65, 66]. El DBSCAN y el OPTICS son similares en estructura y presentan la misma complejidad computacional [6]. Este método aunque tiene el proposito del análisis de clusters no construye explı́citamente los clusters, en su lugar crea un orden que representa la estructura de clustering basada en densidades [65] Más recientemente han aparecido bastantes trabajos enfocados al DBSCAN, a su mejora, a su extensión a otros entornos y formas de aplicación, a su aprovechamiento para mejorar otras herramientas, etc. A modo de ejemplo citaremos los siguientes. En [67, 68, 69] trabajan con subespacios de densidades basados en métodos de densidades como el DBSCAN. En [70] se presenta una ampliación y mejora del DBSCAN, basado en el trabajo con muestras, igualmente que en [71] que se pretende mejorar el tiempo de respuesta del DBSCAN basándose en cálculos parciales sobre muestras. Y buscando también la aceleración en [72, 73] reducen las comprobaciones sobre el vecindario de los elementos, y en [73] se presenta una variante que basándose en ciertas ordenaciones lo acelera. En [74] se trabaja en un método basado en el modelo de densidades para 8 1.4. JUSTIFICACIÓN DE OBJETIVOS objetos representados de varias formas, y en [75] se presenta un nuevo método basado en el DBSCAN para descubrir clusters de acuerdo a valores no espaciales, espaciales y temporales de los objetos. En [76] se intentan hacer métodos hı́bridos del modelo basado en densidades junto con grid, en [77] con un método de clustering de lı́deres, y en [78] se conjugan con los k-vecinos más próximos. También es interesante observar como en la literatura cada vez aparecen más métodos para diferentes campos que se basan en el DBSCAN principalmente [67, 68, 74, 76, 79, 80, 81, 82, 83, 84] (y en ciertos casos de alguna de sus variantes, sobre todo del OPTICS [74, 75, 85]). 1.4. Justificación de objetivos Una vez expuestos los objetivos, la estructura de la tesis y el estado del arte, se van a relacionar los tres apartados, concretando los objetivos en relación a las áreas de investigación dónde se quieren mejorar aspectos, a qué contribuciones se quieren hacer y a cómo se abordan éstos a lo largo de la tesis. 1. Mejorar dos de los principales y más importantes métodos de la literatura, KMeans y DBSCAN. Los métodos de clustering existentes suelen estar enfocados y funcionar en entornos muy especı́ficos, dependiendo mucho del conocimiento de dicho entorno para seleccionar correctamente los parámetros del método. Por ello, se ha querido trabajar con dos de los métodos más generalistas y aprovechar sus caracterı́sticas y ventajas y mejorar aquellos puntos más débiles. Para ello, al hablar de los métodos de clustering (ver apartado 3 en la página 71) se han estudiado las cualidades de éstos métodos y como en la literatura se han afrontado posibles mejoras. Luego se han desarrollado variantes de los mismos para mejorarlos. 2. Desarrollar un método menos sensible que el K-Means a la inicialización de sus parámetros, el α-Bisecting Spherical K-Means. Aunque el K-Means es uno de los métodos más importantes de la literatura, debido principalmente a su simplicidad, velocidad y generalidad, tiene un problema muy importante, depende mucho de la elección de sus parámetros. Por ello, se ha desarrollado el método αBisecting Spherical K-Means que aprovecha las caracterı́sticas de otros métodos también conocidos como el Bisection y que gracias a un enfoque algo diferente minimiza la sensibilidad del algoritmo al seleccionar los parámetros de entrada. Todo esto se trabaja fundamentalmente en el apartado 3.3 en la página 82. 3. Eliminar la elección aleatoria de los parámetros de inicialización cuando no se tiene información suficiente sobre el sistema de información, desarrollando el método VDBSCAN a partir del método DBSCAN. Nuevamente el principal problema de los métodos de clustering generales que obtienen buenas prestaciones es la elección correcta de sus parámetros de entrada cuando se desconoce a priori información sobre la colección (o conjunto de datos) sobre los que se trabaja. Y esto ocurre también con el DBSCAN. Por ello, se ha desarrollado un 9 1.4. JUSTIFICACIÓN DE OBJETIVOS método alternativo el VDBSCAN basado en el DBSCAN que mantiene todas las cualidades del DBSCAN pero que mejora en tiempos de respuesta y que prácticamente no necesita ningún parámetro de entrada. Todo esto se trabaja fundamentalmente en los apartados 3.4 en la página 85 y 3.5 en la página 90. 4. Desarrollar métodos capaces de trabajar en entornos distribuidos. La paralelización y los sistemas distribuidos son áreas de investigación muy importantes a la hora de mejorar tiempos de respuesta o de posibilitar abordar problemas que de otra forma serı́an inviables. Pero también es una área muy importante cuando el problema planteado es de naturaleza distribuida, situación bastante natural de los sistemas de recuperación de inforamción. Por ello, todos los métodos desarrollados lo han sido con la capacidad de trabajar en sistemas paralelos sin afectar a la propia naturaleza de la distribución de los datos y mejorando en la medida de lo posible las prestaciones temporales y computacionales. Este aspecto se ha trabajado fundamentalmente en el apartado 4 en la página 105. 10 Capı́tulo 2 Los sistemas de recuperación de información 2.1. Aspectos generales 2.1.1. Qué vamos a entender por sistema de recuperación de información El concepto de sistema de recuperación de información es muy amplio, por ello vamos a centrar lo que se va a entender a lo largo de esta tesis por sistema de recuperación de información, ya que éstos se pueden caracterizar por multitud de factores: El formato de la información contenida: textual, sonora, multimedia, mixta, etc. El medio en el que se almacena la información: bases de datos, ficheros de texto, ficheros de imágenes, libros, mixtos, etc. La vigencia de la información: estática, se añade información continuamente, se actualiza la información continuamente, etc. El tipo de información que se desea extraer: información concreta y puntual, información general o documental sobre un tema, etc. Y muchos otros factores. En concreto en esta tesis se va a trabajar con sistemas formados por documentos textuales, sin una estructura determinada, almacenados digitalmente. Por tanto, se puede ver el sistema de información como una colección de documentos digitales, pudiendo éstos representar a libros, artı́culos, patentes, resúmenes, etc. Además, se presupone que dicha colección no varı́a sustancialmente en su contenido. Pueden añadirse documentos de forma esporádica y no suelen eliminarse ninguno, consecuentemente se puede considerar estática. La información que se pretende obtener de dicho sistema 11 2.1. ASPECTOS GENERALES es la relación de documentos relevantes incluidos en la colección. O en otras palabras, una consulta (la información buscada) dará lugar a una relación de documentos relevantes (la parte relevante de la información disponible) [31]. En estas condiciones el sistema de recuperación de información no proporciona una solución a la búsqueda de información sobre un tema concreto, sino que es preciso “interpretar” el contenido de los documentos relevantes obtenidos. En los sistemas de información el concepto quizá más importante es el de relevancia ya que el principal objetivo del mismo es proporcionar aquellos documentos que se consideran relevantes sin recuperar los considerados irrelevantes (no relevantes) a partir de una consulta [11]. La medida de relevancia se estudia principalmente teniendo en cuenta la información sintáctica o léxica que presenta el texto, a veces también se tiene en cuenta la información semántica e incluso estructural del documento. Al ser tan importante la relevancia también ocasionará los principales problemas de los sistemas de recuperación de información. 2.1.2. ¿Para qué un sistema de recuperación de información? Para entender la utilidad, o incluso se podrı́a decir la necesidad, de los sistemas de recuperación de información hay que tener claro que la información es útil si cuando se necesita está disponible y se puede hacer uso de ella. La disponibilidad de la información está directamente relacionada con el esfuerzo necesario para obtenerla. Es bastante importante para mejorar la disponibilidad que la información esté bien estructurada y ordenada, y preferiblemente no ser muy extensa. Normalmente esta situación no es la más común, en cambio, hace años sı́ lo era, ya que la información principalmente se encontraba en bibliotecas o archivos bien estructurados y ordenados, siendo además de tamaños aceptablemente pequeños. Dicha ordenación y estructuración se debe fundamentalmente a un trabajo manual previo, sólo posible al ser la cantidad de información manejable. Pero, cada vez más, se tiende a que la cantidad de información ofrecida crezca de forma desmesurada, que, además, esté desestructurada, al menos a nivel global, y que tampoco presente un orden claro, cuando lo tiene. A todo ello hay que añadir que no es viable la estructuración u ordenación manual de la información, debido a las dimensiones de la misma. Esto se ve claramente al tratar con la información ofrecida por la World Wide Web, o la multitud de intranets existentes, o cualquier otro entorno de trabajo con documentación digital: revistas cientı́ficas, patentes, etc. Dentro de este contexto se hace precisa una herramienta, en su amplio sentido, que ayude a extraer la información que en un momento dado sea de interés. Dependiendo del tipo de información que se quiera obtener o si lo que se pretende es organizar de forma más global la información se ha investigado en distintas direcciones: Minerı́a de datos (Data Mining ): Pretende buscar datos especı́ficos entre grandes cantidades de información [3]. Navegación (Browsing ): Ante una necesidad de información amplia o no claramente definida, no concreta, se pretende realizar una búsqueda interactiva por el sistema de información [4, 11]. 12 2.1. ASPECTOS GENERALES Clasificación: Pretende agrupar la información en conjuntos directamente relacionados. Puede ser de forma supervisada donde se conocen los patrones que definen cada grupo, o no supervisada donde no se conocen dichos patrones. [3, 4]. Filtrado (Filtering ): Pretende seleccionar la información que continuamente está llegando en función de ciertas consultas predefinidas o al menos relativamente estáticas [4, 11]. Recuperación de información (Information Retrieval ): Pretende obtener de un sistema de información más o menos estático la información relevante a una consulta puntual dada [4, 11]. En conclusión, los sistemas de recuperación de información son la herramienta que cuando la cantidad de información donde buscar es enorme, permite que la obtención de información relevante tenga buenas prestaciones, tanto en tiempo de respuesta como en calidad de respuesta. No hay que olvidar que grandes cantidades de información no son útiles a menos que la información se pueda buscar de manera eficiente y efectiva [31]. 2.1.3. Evolución de los sistemas de recuperación de información Desde siempre el ser humano ha sido consciente de la necesidad de organizar y extraer información. Pero en cada momento de su historia lo ha realizado de una forma u otra, en función de la información y en función de los medios disponibles. En el momento que el volumen de información creció más allá de unos pocos libros, fue necesario construir estructuras de datos especializadas para asegurar un acceso rápido a la información almacenada. Una antigua y popular estructura de datos es el ı́ndice. El cual, de una forma u otra, es el corazón de todos los sistemas de recuperación de información modernos [11]. Durante décadas, incluso centurias, de experiencia se han refinado los sistemas de organización en las bibliotecas, donde todo está catalogado en base a alguna valoración individual o de grupo, y todo ello completado con las apropiadas referencias en catálogos [12]. Las bibliotecas fueron de las primeras instituciones en adoptar sistemas de recuperación de información. Aunque lógicamente éstos eran muy diferentes a los actuales. Se pueden ver tres generaciones en el desarrollo de los sistemas de recuperación de información [11]: Primera generación: Los sistemas consistı́an en automatizar tecnologı́as previas, tales como los catálogos de tarjetas, y básicamente permitı́an búsquedas basadas en el nombre del autor y el tı́tulo del documento. Segunda generación: Los sistemas incrementaron su funcionalidad añadiendo la posibilidad de buscar por tı́tulos de capı́tulo, por palabras clave, y añadiendo también algunas facilidades de consulta más complejas. 13 2.1. ASPECTOS GENERALES Tercera generación: Se puede considerar la actual y se está enfocando hacia la mejora de interfaces con el usuario, caracterı́sticas de hipertexto, modelos, visualización de la información, clasificación y categorización de documentos, etc. Con la aparición, a principios de los noventa, de la World Wide Web hubo un cambio sin precedente alguno en el volumen de la información disponible para ser compartida, ya que guarda el conocimiento universal y la cultura humana, permitiendo compartir ideas a una escala grandiosa. De todas formas este avance a conllevado un nuevo problema. La tarea de búsqueda de información en la Web se ha convertido frecuentemente en difı́cil y tediosa, ya que no existe un modelo de datos subyacente bien definido, dando lugar a información estructuralmente de baja calidad. Aunque en un principio pueda parecer que los actuales motores de búsqueda de la Web utilizan métodos de indexación similares a los empleados en las bibliotecas de hace siglos, es una mera apariencia ya que existen fundamentalmente tres cambios debidos al avance tecnológico de la informática moderna y la explosión de la Web [11]: 1. El acceso a varias fuentes de información se ha vuelto muy barato, permitiendo alcanzar mayor audiencia. 2. Los tipos de comunicación digital con su avance tecnológico permiten un mayor acceso a las redes de conexión, posibilitando que las fuentes de información estén disponibles con accesos rápidos incluso a pesar de las distancias fı́sicas. 3. Ha crecido la libertad existente en la colocación de la información que la gente considera útil a disposición del resto de personas, popularizando ası́ la Web. La mayorı́a de los sistemas de recuperación de información comerciales utilizan el modelo lógico o booleano extendido [25]. Pero estos sistemas no resuelven las necesidades de información reales. Todavı́a se debe avanzar bastante en varios puntos. A pesar de las mejoras actuales, todavı́a es difı́cil, e incluso en ocasiones imposible, recuperar información relevante ante ciertas necesidades de información. Se han de encontrar técnicas que permitan una recuperación de información de alta calidad. Además, en muchas ocasiones se tarda mucho en conseguir la información relevante. Se precisan técnicas con tiempos de respuesta cortos. Y también, hay que tener en cuenta la separación semántica entre lo que se quiere buscar y lo que se busca (por problemas de transformación de una idea en palabras, etc.). La solución pasa por la interacción con el usuario para ofrecer algún tipo de realimentación en la estrategia de búsqueda. 2.1.4. Organización manual o automática de la información Existen dos formas fundamentales de organizar la información, la realizada manualmente por una o varias personas, y la realizada de forma automática mediante una máquina. También se podrı́an estudiar situaciones mixtas, por ejemplo una organización automática supervisada y perfeccionada por humanos, pero no son habituales. Las caracterı́sticas principales de la indexación u organización manual se deben a aspectos propios del ser humano, tanto para bien como para mal. La principal ventaja radica en que un revisor humano puede establecer relaciones entre conceptos 14 2.1. ASPECTOS GENERALES aparentemente diferentes pero que más tarde pueden ser útiles para recuperar información relevante [12]. En contrapartida dicha ventaja se puede convertir en algo negativo, ya que la relación establecida entre conceptos puede ser demasiado subjetiva, influye mucho los conocimientos, la experiencia, la opinión y la personalidad del revisor. La decisión sobre las palabras clave importantes y los conceptos puede basarse en atributos como la edad, la formación cultural, la educación, la lengua, e incluso las ideas polı́ticas del evaluador. De hecho existen estudios que han mostrado que hay un 20 % de disparidad de media en los términos elegidos como apropiados por dos indexadores profesionales independientes para describir un documento dado [29]. De todas formas, la principal desventaja de la organización manual reside en que precisa de mucho tiempo, además de ser cara. Tampoco hay que olvidar que una indexación manual puede ser muy difı́cil de reproducir o reconstruir [12]. Análogamente, la caracterización de la organización automática también está directamente relacionada a las caracterı́sticas propias de los ordenadores. La principal ventaja es la velocidad y el volumen de información que puede procesar. Pero en contrapartida, le es muy difı́cil establecer relaciones entre conceptos, e incluso entre términos (por ejemplo, sinónimos). Además, el desarrollo de buenos algoritmos de clasificación, sobre todo los de carácter general, es también una tarea complicada. A las diferencias entre la organización manual y la automática debidas a sus propias caracterı́sticas, también existe una diferencia significativa respecto a la visión del problema. La indexación automática provee una visión del problema de recuperación de información más relacionado con el sistema en sı́ mismo que con las necesidades del usuario [11]. Durante mucho tiempo la información se ha organizado manualmente como jerarquı́as categorizadas [11]. Forma que hoy en dı́a todavı́a se utiliza en muchos lugares, sobre todo bibliotecas. Actualmente los ordenadores han posibilitado la construcción de grandes ı́ndices de forma automática. Y aunque los sistemas de indexación manual, a pesar de sus problemas, trabajan muy bien, la proliferación de cantidad de información ha provocado la necesidad de los sistemas automatizados [12]. Un claro ejemplo de que la organización manual es, también hoy en dı́a, una posible solución a la organización y estructuración de la información es que ha sido adoptada para organizar una parte de Internet, concretamente la Web www.yahoo.com [21]. De todas formas este proceso sólo es viable cuando se dispone de grandes recursos. 2.1.5. Fases de un sistema de recuperación de información El desarrollo de un sistema de recuperación de información comprende básicamente cuatro fases distintas. Las tres primeras corresponderı́an al desarrollo propiamente dicho del sistema y serı́an: el preprocesamiento, la modelización y la evaluación. En la figura 2.1 en la página siguiente se muestran las dos primeras fases, que corresponderı́an con la creación propiamente dicha del sistema de recuperación de información. La cuarta fase serı́a la de utilización del sistema para la obtención de información relevante a partir de consultas. 15 2.1. ASPECTOS GENERALES Figura 2.1: Creación de un sistema de recuperación de información. Preprocesamiento El preprocesamiento es la primera fase en la construcción de un sistema de recuperación de información. Básicamente durante esta etapa se hacen todas las acciones necesarias para transformar los documentos de la colección en una estructura de datos con la información relevante de los documentos que será la base para la modelización. Fundamentalmente en el preprocesamiento tienen lugar cinco transformaciones diferentes [11], no siempre se tienen que dar todas: 1. Análisis léxico del texto con el objetivo de identificar los términos que forman el documento. Puede haber un tratamiento especial para los dı́gitos, las palabras con guiones, los signos de puntuación, etc. 2. Eliminación de las palabras o términos carentes de significado, conocidas en la literatura como stopwords con el objetivo de eliminar palabras con muy poco valor discriminante para los propósitos de recuperación. 3. Obtención de la raı́z de las palabras restantes, conocido en la literatura como stemming, con el objetivo de eliminar afijos (prefijos y sufijos) y permitir la recuperación de documentos que contienen variaciones sintácticas de los términos de la consulta. También se puede trabajar con la extracción de la raı́z semántica (lematización) [86, 87, 88], aunque esta lı́nea está mucho menos trabajada. 4. Selección de los términos ı́ndice, que pueden ser: palabras, raı́ces de palabra, números, grupos de palabras, fechas, etc. Éstos términos serán usados como elementos de indexación. La decisión sobre qué elementos serán usados como términos ı́ndices puede estar relacionada con la naturaleza sintáctica de la palabra (un sustantivo frecuentemente presenta más significado que un adjetivo o un adverbio, por ejemplo). La decisión también puede venir dada por el número de veces que aparece el término en un documento en relación a la colección, aquı́ es donde aparece la utilización de heurı́sticas (una de las más básicas es eliminar los términos que aparecen en todos los documentos, ya que no ofrecen información discriminante). 16 2.1. ASPECTOS GENERALES 5. Construcción de estructuras de categorización de términos tales como los tesauros, o la extracción de la estructura directamente representada en el texto, para permitir la expansión de la consulta original con los términos relacionados (un procedimiento útil normalmente). Las distintas transformaciones descritas se han presentado siguiendo una lógica temporal de aplicación, pero también se podrı́an analizar en relación al aspecto que trabajan: Análisis a nivel de palabra: análisis léxico, tratamiento de los signos de puntuación, eliminación de las stopwords, aplicación de métodos de stemming, etc. Análisis a nivel de documento o contexto de la palabra: conjunción de palabras (palabras juntas con significado propio), formato de números y fechas, lematización, etc. Análisis a nivel de colección: reducciones heurı́sticas, tesauros, etc. Tras el preprocesamiento, en general, se dispone de una lista de términos por cada documento de la colección. A partir de esta estructura de datos básica se procederá a la modelización del sistema. Modelización La fase de modelización es la que se encarga de definir la estructura y comportamiento del sistema de recuperación de información, tanto a nivel de colección, como de consulta, sin olvidar la presentación de resultados. Existen tres modelos clásicos de recuperación de información: el lógico o booleano (boolean), el vectorial y el probabilı́stico [11, 31]. El modelo lógico se fundamenta en la teorı́a de conjuntos, y representa a los documentos y consultas mediante un conjunto de términos ı́ndice. El modelo vectorial se fundamenta en la teorı́a algebraica, y define los documentos y consultas como vectores en un espacio m-dimensional. El modelo probabilı́stico se fundamenta en la teorı́a de probabilidades y modela los documentos y consultas como relaciones de probabilidades. Dependiendo del modelo elegido el marco de trabajo se centrará en una teorı́a matemática u otra. El paradigma más utilizado hoy en dı́a en los sistemas de recuperación de información comerciales es el modelo lógico [25]. Dicho modelo tiene como estructura de datos subyacente los ı́ndices invertidos. Por su lado, los demás modelos cada vez están siendo más utilizados, ya que aunque algo más complejos también ofrecen nuevas caracterı́sticas que mejoran las prestaciones del modelo lógico (facilidad para generar rankings, facilidad de agrupación automática -clustering-, etc.). Esta tesis se centra en el modelo vectorial, por lo que se hablará en relación al mismo, aunque la mayorı́a de aspectos y caracterı́sticas comentadas son extrapolables a los demás paradigmas con algunas o ninguna modificación. Dentro del paradigma vectorial existen diferentes modelizaciones y enfoques, pero todos tienen en común una primera fase. El primer paso tras el preprocesamiento es construir una estructura de datos vectorial que será la base de cualquiera de las 17 2.1. ASPECTOS GENERALES modelizaciones. Concretamente se genera una matriz de pesos que representará la colección. Esta matriz tendrá tantas filas como términos caractericen a la colección y una columna por documento presente. Cada elemento tendrá un peso, un valor entre 0 y 1 que corresponderá a lo importante que es cada término en cada documento. Existen multitud de fórmulas, cada una potenciando una caracterı́sticas, para determinar dichos pesos, aunque todas ellas coinciden en que un valor de cero significa ninguna importancia. Lógicamente el número de términos que caracterizan la colección es muy superior al número de términos que identifican un documento en particular. Esta situación conlleva que la matriz de pesos presente una estructura dispersa. Aspecto muy importante para las prestaciones espaciales y temporales del sistema de recuperación. Las consultas, en el modelo vectorial, se representan como si fuesen un documento más de la colección, pero con algunas particularidades. Es decir, una consulta dada se modelizará mediante un vector con tantos elementos como términos caractericen la colección, y cada uno de éstos presentará un peso. Los resultados de la consulta se presentan como una lista de documentos ordenados por relevancia (ranking). Una vez la colección, la consulta y los resultados se encuentran representados como se ha descrito, se puede decir que ya se dispone del modelo vectorial más básico. Pero a partir de éste se pueden desarrollar nuevos modelos más sofisticados. Por ejemplo si se desarrolla la modelización de la colección y la consulta pueden aparecer: modelos basados en métodos de clustering (por ejemplo, familia del K-Means), modelos de indexación semántica latente (LSI -Latent Semantic Indexing-), etc.; o también pueden aparecer variantes si se modeliza teniendo en cuenta las estructuras de los textos (se diferencian los tı́tulos del resto del texto, por ejemplo). Si lo que se pretende es mejorar los rankings entonces aparecen métodos como priorizar una respuesta u otra en función de la estructura de los documentos (no se valora igual que los términos buscados aparezcan en el tı́tulo que en el cuerpo del texto, por ejemplo), o se utilizan métodos de retroalimentación, o de agrupación semántica, etc. Evaluación La fase de evaluación es la encargada de determinar la calidad del sistema de recuperación de información. Al menos lo hará en la fase de desarrollo y de una forma más o menos teórica, ya que lo bueno o malo que sea el sistema lo decidirán realmente los usuarios durante la fase de utilización. La figura 2.2 en la página siguiente muestra el proceso de evaluación de un sistema de recuperación de información. Esta etapa es una de las más complejas, si no la que más, ya que en la decisión sobre la calidad del sistema intervienen multitud de aspectos, muchos de ellos subjetivos y dependientes del usuario final, que realmente son multitud de usuarios. Pero la evaluación no es sólo importante ante nuevos métodos, algoritmos o modelos desarrollados, es también decisiva cuando se presenta una modificación de alguno ya existente, ya que aparece el problema crucial de decidir si, y en que magnitud, lo nuevo mejora las prestaciones de lo ya existente. 18 2.1. ASPECTOS GENERALES Figura 2.2: Evaluación de un sistema de recuperación de información. Para poder comparar métodos o modelos y poder determinar las prestaciones que ofrecen, se han desarrollado algunos estándares de evaluación [12]. Las dos definiciones estándares más usadas, directa o indirectamente, son la precisión (precision) y la cobertura (recall ) [11, 12]. La precisión serı́a la relación entre el número de documentos relevantes recuperados y el número total de documentos recuperados. Mientras que la cobertura (recall ) serı́a la relación entre los documentos recuperados como relevantes y los realmente relevantes. Normalmente ambos aspectos están directamente relacionados en todas las medidas de evaluación, ya que el objetivo de un buen sistema de recuperación de información es maximizar ambos aspectos, obtener todos los documentos relevantes y sólo los documentos relevantes. De todas formas no hay que olvidar que la decisión de si un documento es relevante dependerá totalmente del sistema, dos sistemas con la misma colección y con la misma consulta pueden no decidir que los documentos relevantes sean los mismos (o en la misma relevancia), y de hecho es una situación normal. Además, independientemente de la decisión del sistema, con la misma colección y la misma consulta, para un usuario un documento puede ser relevante y para otro no. Cuando se habla de evaluación, de alguna forma se está hablando de la precisión y cobertura del sistema. Y para determinar ambos aspectos es preciso tener información sobre qué documentos son realmente relevantes para una consulta dada. Lógicamente esto sólo se puede conocer disponiendo de una relación de consultas de prueba con sus respectivos documentos relevantes. Éste suele ser el método más común para evaluar los sistemas de recuperación de información desarrollados. De todas formas, también existen otros métodos más teóricos, aunque éstos suelen utilizarse más en los métodos de clustering, ya que permiten determinar la calidad de los clusters en función únicamente de la relación entre los elementos de un cluster con los elementos de los demás clusters. Hasta ahora se ha hablado de evaluar la calidad del sistema de recuperación de información desde el punto de vista de la calidad de la respuesta. Pero no hay que 19 2.1. ASPECTOS GENERALES olvidar la evaluación del sistema desde el punto de vista computacional. Hay que tener en cuenta el espacio de almacenamiento que precisa y el tiempo de respuesta de las consultas. No serı́a muy útil, salvo casos concretos, un sistema cuya respuesta fuese casi perfecta pero que tardará muchı́simo tiempo en dar dicha respuesta. Luego también se pueden considerar otros aspectos más secundarios para evaluar la calidad general de un sistema de recuperación de información, tales como el interfaz con el usuario (la sencillez para hacer las consultas o la claridad en las respuestas serı́an factores a tener muy en cuenta), la disponibilidad de los documentos seleccionados como relevantes (todo el documento o sólo la referencia), etc. Utilización La utilización del sistema de recuperación de información es la fase final y el objetivo en sı́ mismo de las fases de desarrollo. El funcionamiento de esta fase es muy sencillo, los usuarios realizan consultas y el sistema devuelve los documentos que determina como relevantes; este proceso se presenta en la figura 2.3. A partir de ahı́ dependiendo del sistema de recuperación concreto se puede complicar más o menos las posibilidades. Por ejemplo, se podrı́a dar la opción de refinar consultas (se trabajarı́a únicamente con los documentos respuesta de otra consulta), o se podrı́a disponer de un detector de errores ortográficos que sugiriera la consulta corregida, etcétera. Figura 2.3: Utilización de un sistema de recuperación de información. La fase de utilización también se considera como la evaluación final del sistema de recuperación de información, ya que realmente la calidad del sistema se valorará en función de la satisfacción de los usuarios ante los resultados de sus consultas [12]. De todas formas este tipo de evaluación no es del todo fidedigna, ya que puede convertirse en demasiado simplista al no quedar claro cómo medir la satisfacción del usuario ¿de forma binaria, sı́ o no? ¿o relativamente, mediante escalas? Sin contar que al considerarse la satisfacción del usuario únicamente en función de los resultados del sistema, no se tiene en cuenta que éstos dependen también directamente de otros factores independientes del sistema. El más importante serı́a la calidad de la consulta realizada por 20 2.1. ASPECTOS GENERALES el usuario. Por muy bueno que sea el sistema de recuperación de información si la consulta está mal realizada es dificilı́simo obtener resultados que satisfagan. Qué pasarı́a si se quiere buscar información sobre “casas” y resulta que al escribir la consulta se comente una equivocación y se escribe “cosas”. El sistema aunque tuviera detector de faltas de ortografı́a no se darı́a cuenta del error. Lógicamente los documentos que el sistema de recuperación de información devolverı́a como relevantes no satisfarı́an al usuario ¿y eso significa que el sistema es malo? 2.1.6. Sistemas parecidos y relacionados La recuperación de información en un amplio sentido se puede enfocar desde distintos puntos de vista, ya que no siempre interesa el mismo tipo de información o tratarla de la misma forma. En ocasiones lo que importa es obtener una serie de documentos relevantes a una consulta efectuada, pero en otros muchos casos la intención puede ser otra: interpretar la información para obtener datos especı́ficos (Minerı́a de datos), buscar información interactivamente (Navegación), agrupar la información relacionada (Clasificación), o seleccionar parte de la información que continuamente llega (Filtrado). Todos estos sistemas son parecidos y están relacionados, pero cada uno de ellos tienen sus caracterı́sticas particulares que diferencian los unos de los otros. Minerı́a de datos (Data Mining ) La minerı́a de datos se podrı́a definir como la búsqueda de datos especı́ficos y útiles entre grandes cantidades de datos [3]. La aparición de la minerı́a de datos se ha debido fundamentalmente a la necesidad de desarrollar métodos que permitiesen extraer la información subyacente de grandes cantidades de datos de todo tipo, cuyo volumen ha crecido enormemente en los últimos años. Aunque la minerı́a de datos se aplica fundamentalmente a bases de datos relacionales y transaccionales, donde los datos están bien definidos y establecidos, no es éste su único campo de acción. La investigación en minerı́a de datos también trabaja con datos desestructurados como la World Wide Web [3]. La minerı́a de datos se basa en una actividad exploratoria de datos, por ello los métodos de clustering son buenos en este campo. De hecho normalmente un paso inicial importante aplicado en cantidad de procesos de minerı́a de datos es algún método de clustering [3]. Estas primeras etapas se utilizan para la segmentación de las bases de datos en grupos homogéneos, permitiendo ası́ identificar caracterı́sticas propias de cada subgrupo e incluso poder visualizar la gran cantidad de datos de forma compacta. La principal diferencia entre la minerı́a de datos y la recuperación de información es el tipo de información que se pretende obtener. Mientras que la recuperación de información busca un conjunto de documentos de una colección que pueden aportar información relevante sobre el tema de la consulta realizada, la minerı́a de datos pretende conseguir datos que den una respuesta concreta a la consulta. Esto se traduce en que pequeños errores en minerı́a de datos pueden ocasionar la invalidez de los 21 2.1. ASPECTOS GENERALES resultados, puesto que, ésta debe satisfacer unas condiciones claramente definidas y suele trabajar con datos bien estructurados [11]. Por el contrario, en los sistemas de recuperación de información la existencia de pequeñas imprecisiones o errores, que se dan normalmente, suelen pasar desapercibidos o simplemente se desprecian, ya que estos sistemas trabajan con textos en lenguaje natural habitualmente mal estructurados e incluso ambiguos semánticamente [11]. Navegación (Browsing) La navegación cobra sentido cuando el usuario no tiene claro lo que busca, o simplemente no busca, sólo quiere información general, sobre nada en concreto. En otras palabras, la navegación, aunque es un proceso de recuperación de información, no tiene su principal objetivo claramente definido desde un principio, pudiendo éste cambiar varias veces y de forma sustancial durante la navegación [4, 11]. Cuando el usuario tiene un interés pobremente definido o inherentemente amplio, lo que le interesa es una búsqueda interactiva sobre la colección de documentos, que le permita cambiar entre documentos de temas relacionados. Se pueden distinguir tres tipos fundamentales de navegación: Navegación plana (flat browsing), navegación guiada estructuralmente y navegación por hipertexto [11]. Navegación plana: Es aquella navegación que se produce cuando el espacio a explorar tiene una estructura organizativa plana. En este caso, el usuario de un vistazo busca la información dentro de los documentos visitados. Navegación guiada estructuralmente: Esta técnica trata de facilitar la tarea de navegación a través de la colección, para lo cual organiza los documentos mediante directorios. Los directorios son jerarquı́as de clases que agrupan documentos que cubren temas relacionados. Este tipo de jerarquı́as de clases han sido ampliamente utilizadas durante muchı́simo tiempo para la clasificación de documentos. Navegación por hipertexto: Pretende organizar el contenido de los documentos, su estructura, no de una forma secuencial, si no por hiperenlaces. De esta forma se consigue localizar la información más fácilmente, al igual que facilita omitir parte de la información y moverse entre diferentes partes. Su mayor desventaja es que no permite obtener una versión completa y secuencial del texto. En conclusión la utilidad de la navegación aparece cuando se dan situaciones en las que el usuario no es capaz de formular una consulta con precisión que exprese su necesidad de información y que permita por tanto obtener un conjunto de documentos relevantes. Esta situación se puede dar fácilmente cuando el usuario no está familiarizado con el vocabulario propio del tema que le interesa, o cuando el usuario no busca nada especı́fico, sino únicamente información genérica [89]. De hecho existen métodos que se preocupan fundamentalmente por el proceso iterativo de búsqueda, como por ejemplo [89, 90]. 22 2.1. ASPECTOS GENERALES Clasificación Se puede entender por clasificación el procedimiento de agrupar los documentos de una colección dentro de una serie de conjuntos cuyas caracterı́sticas diferenciadoras ya están definidas y establecidas [4, 5, 91]. La clasificación y los métodos de clustering son muy parecidos, pero hay que tener muy claras las diferencias, ya que son procedimientos distintos. Algunos autores entienden la clasificación anteriormente definida como clasificación supervisada y el clustering como clasificación no supervisada [3]. La diferencia fundamental entre clasificación y clustering es que la primera presenta una serie de caracterı́sticas propias de cada grupo que son obtenidas independientemente de su contenido, pudiendo, además, incluir información sustraı́da de su contenido. En cambio en el clustering la información disponible para identificar un grupo viene dada únicamente por el contenido del grupo [4]. Otra diferencia importante, que no siempre se tiene por que dar, es que los métodos de clustering trabajan muchas veces sin conocimiento previo del número de agrupaciones que deben generar y menos todavı́a de información referente a ellas. Son métodos iterativos que van refinando una solución inicial. Es en las etapas del proceso y en función del contenido de cada grupo cuando se extrae información caracterı́stica de la agrupación. Al igual que el resto de métodos de obtención de información, la clasificación crece en importancia a medida que crece el volumen de documentos disponibles, que es lo que sucede con Internet, bibliotecas digitales, intranets, etc. Cuando se está trabajando con tal cantidad de información no estructurada es casi imprescindible la categorización de la misma en diferentes grupos preespecificados, ya que la información desorganizada dificulta enormemente encontrar la información buscada. Los varios algoritmos de categorización de documentos que han sido desarrollados durante estos años se encuentran dentro de dos categorı́as generales [91]: 1. Algoritmos tradicionales de aprendizaje que han sido usados directamente o tras una adaptación para su uso con documentos. Como ejemplos están los árboles de decisión, conjuntos de reglas, clasificadores basados en instancias, clasificadores probabilı́sticos, máquinas con soporte vectorial (support vector machines), etc. 2. Algoritmos de categorización especializados que han sido desarrollados dentro de la comunidad de la recuperación de información. Ejemplos de tales algoritmos incluyen la retroalimentación, clasificadores lineares, clasificadores de conjuntos de instancias generalizados, etc. Los algoritmos basados en el concepto de similitud generalmente se han presentado con buenas prestaciones en la categorización o clasificación de documentos [91]. Algoritmos como k-vecinos más próximo (k-nearest neighbor ), conjunto de instancias generalizado, o los basados en centroides son un claro ejemplo de algoritmos basados en el concepto de similitud. Este tipo de métodos determinan a que grupo pertenece un nuevo documentos midiendo su similitud entre ciertos documentos de prueba que caracterizan a un grupo o entre los elementos de ese grupo o una mezcla de ambas acciones. 23 2.1. ASPECTOS GENERALES Filtrado (Filtering) La tarea de filtrado consiste en seleccionar o no los documentos que fluyen hacı́a el sistema, la decisión se toma en función de una consulta que permanece relativamente estática [4, 11, 28, 92]. El filtrado serı́a como el proceso contrario al de recuperación de información convencional. En este último son los documentos los que permanecen en el sistema prácticamente sin cambios y son las consultas las que llegan al sistema, siendo éstas muy variadas, mientras que en los sistemas de filtrado son los documentos los que llegan al sistema y las consultas las que permanecen estáticas. Las consultas de los sistemas de filtrado se conocen también como perfil de usuario, ya que suelen corresponder con el perfil de los documentos que interesan a un usuario en concreto. Se supone que dicho perfil no varı́a significativamente, al menos a medio plazo, aunque sı́ se asume que pueden haber pequeñas modificaciones que lo perfeccionen definiendo mejor aquello que el usuario quiere. Estas pequeñas correcciones del perfil de filtrado se realizan a través de la retroalimentación suministrada a partir de la relevancia real de los documentos recuperados por el sistema de filtrado. Normalmente para el filtrado de documentos sólo se trabaja con la información del perfil y el nuevo documento a filtrar, la decisión de relevancia es instantánea, no se espera a obtener más información sobre los siguientes documentos que llegan. En el filtrado, el aspecto más crucial es la construcción de un perfil de usuario que verdaderamente refleje las preferencias de éste. Existen básicamente dos aproximaciones diferentes para la construcción del perfil de usuario: una aproximación simplista y otra más elaborada o sofisticada [11]. La aproximación simplista de construcción de perfiles de usuario consiste en describir éste a través de un conjunto de palabras clave requiriendo al usuario que las suministre. La simplicidad radica en que se le exige al usuario que haga el trabajo. Esta forma de actuar falla en que si el usuario no está familiarizado con el contexto de los documentos le puede ser muy difı́cil determinar que palabras clave describen sus preferencias en dicho contexto. Además, si el usuario intenta familiarizarse con el vocabulario de los documentos, el proceso se convierte fácilmente en largo y tedioso. Y por otro lado, requerir al usuario que describa de forma precisa su perfil puede ser algo impracticable. Por todo ello, aparece una alternativa más elaborara, que consiste en recolectar información sobre las preferencias del usuario y usarla para construir el perfil de forma dinámica. Se parte de un perfil inicial de las preferencias del usuario, éste se puede realizar a partir de un pequeño conjunto de palabras claves suministradas por el usuario. Serı́a algo parecido a la aproximación simplista, pero sin exigir una calidad mı́nima. Luego, a medida que los nuevos documentos llegan al sistema se utiliza dicho perfil inicial para seleccionar los documentos que potencialmente interesarı́an al usuario. Entonces se muestran al usuario, el cual inicia un proceso de retroalimentación que consiste en indicar los documentos que son relevantes y los que no lo son. A partir de dicha información el sistema ajustará automáticamente el perfil del usuario para que refleje las nuevas preferencias descritas. Aunque en un principio parezca que esta forma de actuar conlleva a un cambio continuo del perfil de usuario, lo normal, al menos desde un punto de vista optimista, es que el perfil se estabilice después de un 24 2.1. ASPECTOS GENERALES tiempo, consiguiendo que no sufra ningún cambio drástico (lógicamente se presupone que los intereses del usuario no se alteran repentinamente). 2.1.7. Problemática de los sistemas de recuperación de información El objetivo de los sistemas de recuperación de información es seleccionar los documentos de una colección que están estrechamente relacionados, debido a la información que incluyen, respecto a una consulta realizada. En general, la gente espera mucho de los sistemas de recuperación de información [12], pero normalmente los resultados no son tan buenos. Esta diferencia entre lo esperado y lo obtenido se debe fundamentalmente a la problemática intrı́nseca de los sistemas de recuperación de información. Estos problemas se pueden agrupar básicamente en dos tipos: los influenciados por la calidad de la consulta y los influenciados por la organización y representación de la información incluida en los documentos. Luego también hay ciertos problemas que afectan tanto a la caracterización de la consulta como de los documentos. Siempre va a ver una diferencia, mayor o menor, entre la necesidad de información de un usuario y la expresión o representación de la misma en una consulta. Normalmente las consultas presentadas suelen ser vagas y poco precisas, mientras que en cambio se espera obtener respuestas concisas y bien organizadas [12]. El usuario espera conseguir información sobre lo que quiere buscar y lo tiene muy claro en su cabeza, el problema viene cuando lo tiene que expresar en una consulta. Se espera del sistema de recuperación de información que si una palabra puede tener más de un sentido éste sepa exactamente a cual se refiere el usuario, que si se ha cometido una falta de ortografı́a la detecte y utilice la palabra corregida, que si se ha consultado sobre una palabra también debe tener en cuenta sus sinónimos, que sepa el nivel de importancia de las distintas partes de la consulta y de la importancia relativa de las palabras en un documento, y un largo etcétera que lógicamente el sistema de recuperación de información no puede tener en cuenta. Por otro lado, se pretende seleccionar ciertos documentos de una colección que incluyan información relevante sobre una consulta. Claro está que para poder medir la relación entre la información que pide una consulta y la información incluida en un documento, es necesario primero caracterizar ésta tanto en la consulta como en el documento. Dicha caracterización se suele hacer mediante la selección de ciertos términos identificativos. Aunque los métodos aplicados variarán mucho, pasando de los más simples a los más sofisticados, todos ellos en mayor o menor medida se basan en un conjunto de términos que identifican la información de la colección (esto es ası́ fundamentalmente por que la unidad de información más pequeña de los documentos textuales es la palabra). Aquı́ es donde aparece otra fuente de problemas de los sistemas de recuperación de información. La representación y organización de la información deberı́a ofrecer al usuario un fácil acceso a aquella información en la que el usuario está interesado. Pero, desafortunadamente, caracterizar la información que el usuario necesita no es un problema trivial [11]. En este campo, aunque también están los problemas derivados de la cantidad de información que ofrece cada término, el problema fundamental viene dado por 25 2.1. ASPECTOS GENERALES la polisemia y la sinonimia, teniendo en cuenta que se pueden dar también a expresiones y no sólo a palabras sueltas. Además, hay que entenderla en un sentido relajado y no estricto. Ya que aunque por definición dos palabras no sean lo mismo, para los usuarios la diferencia de significado es despreciable en relación a la información que puede ser recuperada. Y de forma análoga se encuentran las palabras relacionadas, que son conjuntos de palabras que por separado tienen un sentido, pero que si se toman como un grupo tienen otro distinto (por ejemplo, en un contexto “casa blanca” puede tomarse como palabras independientes y referirse a una casa que es de color blanco y en otro tomarse como un conjunto y referirse a la residencia oficial del presidente de los Estados Unidos de America). Estos problemas de caracterizar la información, añadidos a que no todas las palabras de un documento ofrecen la misma información y a que pocos términos hacen perder información y muchos hacen que se pierda eficiencia en la recuperación, hacen que determinar los términos que caracterizan a un documento sea tanto una ciencia como un arte. Además de los problemas intrı́nsecos descritos, en los sistemas de recuperación de información también aparecen otros problemas también muy importantes: La enormidad de la información a manejar, que hace fundamental encontrar métodos con muy buenas prestaciones de almacenamiento y computación. Los sistemas de recuperación de información para ser útiles deben dar una respuesta de calidad, pero sin olvidar que la deben de dar en un tiempo de respuesta razonable. La heterogeneidad de los documentos, que dificulta la caracterización de los mismos de forma que se puedan comparar unos con otros para evaluar la información que ofrecen. Por ejemplo, en todos los documentos la información que ofrece un término tiene que tener en cuenta no sólo las veces que aparece en el texto, sino también la longitud del documento. La influencia de las distintas partes de un documento, que puede obligar a ponderar la importancia de un término en función de su localización en el texto. A lo mejor no tiene la misma importancia un término que aparece en el tı́tulo de un artı́culo que si sólo aparece en el texto. La interfaz de usuario, que puede provocar que un sistema se utilice o se deje de utilizar independientemente de la calidad del sistema en la recuperación de información. Si hacer la consulta es fácil para el usuario y los resultados están claros de entender a lo mejor ese sistema se utilizará más que otro, que ofrezca una mayor calidad en el resto de prestaciones. Enormidad de la información a manejar: millones de documentos Uno de los aspectos más destacables de los sistemas de recuperación de información actuales es el volumen de información con el que tienen que trabajar. Las colecciones de documentos están creciendo en poco tiempo de forma exponencial [14, 24, 33], este crecimiento es debido fundamentalmente al surgimiento de la World Wide Web 26 2.1. ASPECTOS GENERALES y en general con la disponibilidad de documentación en formato digital (bibliotecas digitales, fuentes de noticias, intranets, artı́culos cientı́ficos, etc.) [21, 23, 24, 29, 33]. Lógicamente este aumento en el número de documentos a manejar ha conllevado el desarrollo y mejora de nuevas técnicas para poder automatizar en la medida de lo posible los sistemas de recuperación de información. Pero en ocasiones no es suficiente con sistemas automáticos y se precisan métodos basados en computación de altas prestaciones, donde destaca la computación paralela o distribuida. Esta situación se da fundamentalmente en dos casos: cuando el volumen de información a manejar es tan grande que una única máquina no es capaz de manejarlo en un tiempo razonablemente aceptable; y cuando los documentos ya se encuentran distribuidos de forma natural y no es viable o no tiene sentido centralizarlos. Sinonimia y polisemia Se podrı́a decir que la sinonimia y la polisemia son los dos problemas más comunes y más complejos de los sistemas de recuperación de información [12, 29]. Se entiende por sinonimia el uso de sinónimos, es decir de palabras diferentes que tienen el mismo significado (múltiples palabras tienen un único significado); y se entiende por polisemia el uso de una palabra que varı́a su significado dependiendo del contexto en el que se encuentre (un único término tiene múltiples significados). Tradicionalmente, los sistemas de recuperación de información trabajan con emparejamiento literal entre los términos de los documentos y los de la consulta. Pero esta forma de actuar debido a los problemas de sinonimia y polisemia puede dar lugar a bajas prestaciones en la recuperación de documentos relevantes [24]. Cuando un término tiene varios significados y se realiza un emparejamiento puramente léxico el sistema recuperará ciertos documentos irrelevantes al no diferenciar entre las diferentes semánticas del término y tratarlas todas por igual. Por otro lado, cuando en un documento aparezca un sinónimo del término de la consulta, ese documento no será recuperado como relevante, por lo tanto se perderán muchos documentos realmente relevantes porque el sistema sólo determina la relevancia por coincidencia léxica. El análisis de este tipo de problemática permite deducir que es más importante la relación entre los conceptos tratados en los documentos y los descritos en la consulta, que la relación léxica directa entre los términos que aparecen en los documentos y los presentes en la consulta. Al trabajar con conceptos y no con términos se podrı́an obtener mejores prestaciones, ya que se podrı́an recuperar documentos que aún no teniendo ningún término en común con la consulta describan los mismo conceptos, y también se podrı́a prevenir la recuperación de documentos que aún teniendo términos comunes con la consulta éstos no tuvieran la misma semántica. La indexación semántica latente (LSI -Latent Semantic Indexing-) es una modelización utilizada en los sistemas de recuperación de información que intenta superar los problemas de emparejamiento léxico, es decir, los problemas de sinonimia y polisemia, usando ı́ndices conceptuales en lugar de término individuales [25]. La LSI asume que existen estructuras semánticas latentes o subyacentes a los términos usados en los documentos, la cual se encuentra parcialmente oculta por la variabilidad de uso de los términos. 27 2.1. ASPECTOS GENERALES Aunque la lógica puede hacer pensar que la utilización de conceptos para obtener la relación de relevancia entre la consulta y los documentos de la colección tendrı́a que ofrecer mejores prestaciones, en muchas ocasiones los usuarios realizan consultas presuponiendo el emparejamiento léxico y haciendo búsquedas literales a propósito. Este comportamiento sucede sobre todo cuando el usuario consciente o inconscientemente valora más la precisión de los resultados, aunque no obtenga todos los documentos relevantes, que la obtención de toda la información relevante disponible. En otras palabras, cuando una consulta devuelve muchos documentos relevantes y el usuario prefiere concretar la información, éste suele basarse en que el sistema de recuperación de información hace emparejamiento léxico para hacer la consulta más precisa. Palabras relacionadas Una situación análoga a la sinonimia y a la polisemia son los problemas que ocasionan las palabras relacionadas. Dentro del concepto de palabras relacionadas podemos definir varios tipos: 1. Aquellas palabras que solas tienen un significado pero que unidas o relacionadas pueden tener otro significado distinto: Por ejemplo, la expresión “casa blanca”, según el contexto puede significar varias cosas; si se toma como palabras independientes habları́a de una casa de color blanco, pero si se toman juntas entonces cambia su significado y puede referirse a la casa presidencial de Estados Unidos. 2. Aquellas palabras que definen un mismo concepto pero desde un punto de vista morfosintáctico distinto: Por ejemplo las diferentes formas verbales, el plural frente al singular, los adjetivos frentes a los nombres, etc. 3. Aquellas palabras que son antónimas: Por ejemplo, se puede buscar información sobre las subidas en bolsa de una empresa, pero la información puede estar expresada en relación a las bajadas en bolsa. 4. Aquellas palabras que se centran en aspectos complementarios a un concepto: Por ejemplo, los términos como enseñar y aprender, que están estrechamente relacionados y se complementan. Heterogeneidad de los documentos El concepto de documento se refiere a una unidad simple de información, formada por texto, generalmente en formato digital, aunque también podrı́a incluir otros tipos de contenido no textuales. Un documento se definirı́a como una unidad lógica completa, la cual puede presentarse de multitud de formas: artı́culos de investigación, libros, manuales, noticias, juicios de opinión, descripciones, y un largo etcétera. Además, la representación fı́sica del documento también varı́a, pudiendo ser desde un fichero, a un correo electrónico, pasando por una página de la World Wide Web o cualquier otra forma. A partir del amplio concepto de documento se puede decir que todo documento tiene una sintaxis, una estructura, una semántica y un diseño (la forma en que se 28 2.1. ASPECTOS GENERALES presenta), aspectos todos ellos que pueden cambiar significativamente de un documento a otro. El primer problema que plantea esto es como unificar los criterios para que a partir de documentos con diferente estructura se puedan hacer comparaciones que permitan determinar la relevancia de los documentos de forma equiparable. Para conseguirlo, se suelen tomar decisiones más o menos arbitrarias que aún conllevando pérdida de parte de la información que ofrecen algunos documentos permiten homogeneizar aceptáblemente todos ellos. Un ejemplo de ello podrı́a ser, no tener en cuenta la estructura de los documentos y tomarlos como un único texto largo y continuo (eliminar capı́tulos de libros, etc). También se suele normalizar la longitud de los documentos para que no influya ésta en la evaluación de relevancia (en un texto largo un término buscado probablemente aparecerá más veces que en un texto corto, sin significar ello que necesariamente sea más relevante el texto largo). Cuando se está trabajando con una colección formada por documentos que mantienen todos ellos al menos una mı́nima coherencia en su estructura, sintaxis y forma, es posible mejorar los sistemas de recuperación de información aprovechando la información incluida en la estructura de los documentos. Si todos los documentos están formados por varios apartados (por ejemplo, tı́tulo, resumen y texto), puede ser útil diferenciar dichos apartados para ponderar la relevancia de los documentos. Puede ser interesante potenciar aquellos documentos donde los términos buscados se encuentran en unos apartados concretos (por ejemplo en el tı́tulo o en el resumen), sobre aquellos en los que sólo aparecen en otro apartado menos importante (por ejemplo si los términos únicamente se encuentran en el texto). Lógicamente uno de los mayores problemas respecto a la heterogeneidad de los documentos viene dado por las diferencias idiomáticas de los documentos. Si en una misma colección se encuentran documentos escritos en varias lenguas diferentes y se pretende que el sistema ante una consulta devuelva los documentos relevantes indistintamente del idioma de los documentos, entonces a los problemas normales de los sistemas de recuperación de información, que no son pocos, hay que añadirles los de traducción automática, además de los problemas propios de cada uno de los idiomas con los que se trabaje. Además, de las diferencias propias de la estructura de los documentos, éstas pueden provocar indirectamente problemas al establecer qué caracterı́sticas de los documentos se utilizarán para representar los documentos. Por ejemplo, en documentos de hipertexto, además de los términos propios del texto se podrı́an utilizar los enlaces entrantes y los salientes, los cuales no aparecerı́an en documentos textuales estándares. Los documentos de una colección pueden tener múltiples y heterogéneas caracterı́sticas como situación natural y común [50]. ¿Tienen la misma importancia todas las partes de un documento? Es bastante lógico pensar que no todas las partes de un documento tienen la misma importancia a la hora de determinar la relevancia del documento en relación a los términos de la consulta. La principal causa es que el contenido de las distintas partes del documento se escriben de forma diferente en función de su objetivo: resumir la información, sintetizarla, detallarla, etc. 29 2.1. ASPECTOS GENERALES Por ejemplo, no se escribe igual el tı́tulo de un documento, que un resumen del mismo, o que su texto completo. En el tı́tulo se utilizan muy pocas palabras pero con mucha significación del tema principal del documento. En el resumen se utilizan también pocas palabras, pero muchas más que en el tı́tulo, y se nombra sólo el tema principal del documento y posiblemente algún tema secundario también importante. Los resúmenes son compactos y densos en información [93]. Lo cual implica que se utilicen términos especı́ficos y muy diferenciadores. Estos términos actúan como representantes de múltiples ocurrencias en el texto original [93]. Por su parte en el texto completo, la utilización de palabras crece enormemente y se tratan todos los temas del documento. Dependiendo de la zona se puede hablar del tema principal o ni siquiera mencionarlo y sólo desarrollar algún tema complementario. El texto completo tratará de muchos subtemas que no han sido mencionados en el resumen, si existiese [93]. Consecuentemente es importante conocer el patrón de distribución de los términos en el documento, ya que de esta forma es más fácil interpretar como influyen los términos para determinar la relevancia del documento [93]. De todo ello se deduce que, en principio, si la relación entre la consulta y el documento se establece en el tı́tulo del documento entonces la relevancia de dicho documento seguramente será mucho mayor que si se establece en una parte especı́fica del texto completo. A pesar de que está clara la influencia de la estructura no se suele tener en cuenta en los sistemas de recuperación de información habituales (o mı́nimamente, el tı́tulo y poco más). Esto es debido principalmente a la complejidad de extraer la estructura de los documentos, a que las colecciones suelen presentar documentos con estructuras muy heterogéneas difı́ciles de unificar, y a que es difı́cil evaluar y medir la diferencia de influencia de las diferentes partes del documento. Por otro lado hay una clara influencia, en este sentido, de la evolución de los sistemas de recuperación de información. Tradicionalmente la mayorı́a de los sistemas trabajaban únicamente con documentos cortos (resúmenes) [93], pero con el aumento de las capacidades computacionales y de almacenamiento se ha evolucionado hasta trabajar con documentos largos (documentos completos, no sólo resúmenes). Interfaz con los usuarios Los usuarios interactúan con el sistema de recuperación de información básicamente de dos formas: formulando las consultas y revisando los resultados; también podrı́a haber una tercera forma si existiera la opción de refinar los resultados de la consulta [4]. Consecuentemente, las interfaces de usuario básicamente cumplen dos funciones distintas. Por un lado deben facilitar que el usuario realice la consulta y por otro lado debe presentar de forma útil los resultados de la búsqueda. Pero tampoco hay que olvidar que la interfaz de usuario debe mantener a éste informado durante el transcurso de la búsqueda. Es decir, la interfaz de usuario deberı́a ayudar a formular las consultas, a seleccionar entre las fuentes de información disponibles, a entender los resultados de la búsqueda, y a informar del progreso de la búsqueda [11]. Normalmente los usuarios no tienen claro cómo deben actuar para obtener la información que precisan, aunque sea simplemente por que la búsqueda de información 30 2.1. ASPECTOS GENERALES sea un proceso impreciso. Por lo tanto la interfaz de usuario debe guiar al usuario para que éste pueda obtener la información deseada. Una interfaz que sea una pantalla vacı́a o un formulario de entrada en blanco no ayuda mucho al usuario a decidir por dónde empezar el proceso de búsqueda, la interfaz debe proveer un buen camino para empezar [11]. Una vez el usuario ha iniciado el proceso de búsqueda es necesario que la interfaz ofrezca algún tipo de información que indique como está evolucionando el proceso. Es decir, mientras la búsqueda está siendo conducida el usuario necesita saber lo que el sistema está haciendo antes de que el resultado llegue, y además, aunque parezca una ironı́a es importante que cuando el sistema devuelva que no existen documentos relevantes, esta respuesta no sea demasiado rápida, pero si existen documentos relevantes éstos han de ser devueltos lo más pronto posible [12]. Cuando un sistema de recuperación de información devuelve una serie de documentos relevantes ante la consulta de un usuario, la interfaz deberı́a proveer más información que únicamente el conjunto de documentos. Aunque la mayorı́a de los sistemas de recuperación de información devuelven únicamente una lista o un ranking de documentos [4], es importante el contexto que ha provocado que un documento sea relevante, ya que esto hace más comprensible al usuario el porque ese documento le va a aportar más o menos información. El contexto se puede establecer entre los documentos devueltos con los términos de la consulta y también todos los documentos recuperados entre sı́. Para cumplir este objetivo existen distintos tipos de información que se puede presentar [4, 11], por ejemplo: tı́tulo del documento, longitud, porcentaje de similitud, resumen del documento, formato del documento, fragmento del texto con los términos de la consulta, enlace al documento completo, presentación gráfica de la distribución de los términos de la consulta en el documento (el paradigma de presentación TileBars permite ver simultáneamente la longitud relativa de los documentos recuperados, la frecuencia relativa de los términos de la consulta, y su distribución con respecto al documento y respecto a los demás documentos [93]), etc. El patrón de distribución de los términos de una consulta en el texto completo de un documento es un aspecto muy importante para valorar la relevancia de un documento [93]. Es importante saber, sobre todo en los documentos largos, tanto como de frecuente es un término, cómo cual es su distribución. No es lo mismo que el término se comente a lo largo de todo el texto (es un tema general del documento, principal o no) a que sólo se comente en una parte muy concreta del texto (es un tema de apoyo o parcial del documento). Existen trabajos que se centran en la la presentación visual de los resultados del sistema de recuperación de información [85, 93]. Una caracterı́stica muy importante para las interfaces de usuario es la posibilidad de disponer de interfaces alternativas para novatos y para expertos. No valoran de igual forma una interfaz un usuario que otro, dependiendo totalmente de su perfil. Mientras que el novato agradecerá más la simplicidad de manejo y claridad en la información, el experto le dará más importancia a la potencia del sistema [12]. Los sistemas simples son más fáciles de aprender, a expensas incluso de menor flexibilidad e incluso menor eficiencia de uso. Las interfaces potentes permiten al usuario estar bien informado haciendo más cosas y teniendo más control sobre las operaciones, pero en cambio suponen mayor tiempo de aprendizaje. El buscador experto prefiere 31 2.2. PREPROCESAMIENTO entender cómo la búsqueda opera en orden a estrecharla o ensancharla y asegurar su minuciosidad, mientras el novato meramente quiere una respuesta [12]. Aunque se suela infravalorar la importancia de la interfaz de usuario no hay que olvidar que el usuario juzgará las prestaciones del sistema de recuperación de información tanto por la calidad del resultado final de la búsqueda como por cuanto le ha costado conseguirlo. Por lo tanto, la importancia de la comunicación entre el usuarios y el motor del sistema de recuperación de información, es decir, la interfaz de usuario, no se puede subestimar [12]. 2.2. Preprocesamiento La fase del preprocesamiento es la inicial en la creación de un sistema de recuperación de información. Durante esta etapa se transforman los documentos de la colección en una estructura de datos que sintetiza la información relevante de los documentos. Las cinco transformaciones fundamentales que suelen tener lugar durante el preprocesamiento de la colección son [11]: Análisis léxico para identificar los términos. Eliminación de las palabras carentes de significado (stopwords). Unificación de términos según su raı́z sintáctica (stemming) o semántica (lematización). Reducción de los términos identificativos de la colección (unificación de formatos, reducciones heurı́sticas, etc.). Utilización de tesauros. Estas transformaciones básicas son descritas con mayor detalle en los siguientes subapartados, haciendo especial hincapié en los aspectos generales de cualquier modelización y en los más particulares del paradigma vectorial. 2.2.1. Selección de los términos que identificarán la colección Los documentos de las colecciones se suelen representar mediante un conjunto de términos ı́ndice o palabras clave, adoptando la idea que la semántica del documento y la necesidad de información del usuario puede expresarse mediante términos ı́ndice. Esta asunción es una considerable amplificación del problema porque muchos de los significados en un documento o en la consulta de usuario se pierden cuando se reemplaza su texto con un conjunto de palabras clave [11]. La selección de los términos ı́ndice o palabras clave puede realizarse extrayéndolas directa y automáticamente del propio texto del documento o puede ser un especialista quien las determine [2, 11]. Lógicamente cuando la selección la realiza un experto humano sus decisiones estarán basadas en su edad, su bagaje cultural, su educación, el idioma e incluso sus tendencias polı́ticas. De hecho existen experimentos que han demostrado que hay en media 32 2.2. PREPROCESAMIENTO un 20 % de disparidad en los términos elegidos como apropiados para describir un documento dado por dos indexadores profesionales diferentes [29]. A pesar de ello hay ciertas comparativas que muestran que la indexación automática simple y los métodos manuales ofrecen prestaciones similares [2]. En función de qué palabras clave se seleccionen para describir un documento se tienen distintas vistas lógicas de dicho documento [11]. Si los términos ı́ndice elegidos fuesen el texto completo del documento, entonces se estarı́a frente a la vista lógica más completa. Esta vista implica mayores costes computaciones, tanto temporales como espaciales. En el otro extremo estarı́a la vista lógica más concisa del documento, que se obtendrı́a por la selección de un pequeño conjunto de palabras clave elegidas por un especialista humano. Pero esta vista puede conllevar recuperaciones de pobre calidad. Como es habitual, en un estado intermedio suele estar la mejor solución. Se pueden adoptar multitud de vistas lógicas intermedias, las cuales pueden contemplar gran número de términos ı́ndice pero al mismo tiempo eliminar muchas palabras clave que aportan muy poca información, también pueden reconocer la estructura propia interna del documento (tı́tulo, capı́tulo, secciones, apéndices, etc.), e incluso estructurar y relacionar los términos ı́ndice del texto para obtener un valor añadido a través de nueva información. Aunque los ordenadores modernos hacen posible representar los documentos por el conjunto completo de palabras que forman su texto, vista lógica completa, también es verdad que ciertas alternativas pueden mejorar las prestaciones de la vista lógica completa pasando a una vista intermedia. Por ejemplo, al reducir el número de palabras clave las prestaciones computacionales mejoran, pero lógicamente esta reducción debe hacerse minimizando la pérdida de prestaciones de recuperación. Una buena opción para esta situación es la eliminación de las palabras carentes de significado (stopwords), o también está la opción de agrupar todos los términos ı́ndice con la misma raı́z gramatical en una única palabra clave (stemming). Una vez el concepto abstracto de selección de términos ı́ndice está descrito, se puede proceder a describir el proceso que se sigue para pasar de un documento a las palabras claves seleccionadas. El análisis léxico es el proceso de convertir un flujo de caracteres (el texto del documento) en un flujo de palabras (las palabras candidatas a ser adoptadas como términos ı́ndice) [11]. Es decir, a través del análisis léxico del documento se extraen una lista inicial de palabras claves, luego está lista se irá refinando por diversos métodos hasta llegar a la lista final de términos ı́ndice. Aunque a simple vista el análisis léxico parece consistir en un sencillo proceso de identificar las palabras del texto, las cuales estarı́an separadas por espacios en blanco, el procedimiento va mucho más allá, teniendo que normalizar dichas palabras tomando decisiones clave sobre que será un término, como se diferencian dos, y un largo etcétera [11, 12]. Hay que decidir qué se hace con los dı́gitos. Aunque los números no suelen ser unos buenos términos ı́ndice al ser muy vagos sin un contexto, en ciertas ocasiones hay que tenerlos en cuenta. Por ejemplo, cuando aparecen mezclados con palabras, formando fechas, o aunque estén sueltos identifican una información importante (número de tarjeta de crédito, cuentas bancarias, etc.). Tampoco hay que olvidar que serı́a importante la normalización de fechas y números para unificar formatos entre distintos documentos. 33 2.2. PREPROCESAMIENTO También es importante tener en cuenta cómo se van a tratar los guiones, éstos pueden ser parte integral de una palabra, pueden unir palabras formando un único término, e incluso pueden separar una misma palabra al final de lı́nea. Habrı́a que identificar cada caso y decidir como tratarlo. Aunque en principio los signos de puntuación no deberı́an tener ningún trato especial y eliminarlos enteramente del proceso de análisis léxico, realmente hay que plantearse que algunos signos de puntuación son parte integral de ciertas palabras (por ejemplo en las siglas, “A.C.”). De todas formas normalmente su eliminación no suele tener un gran impacto en las prestaciones de recuperación ya que el riesgo de mal interpretaciones es mı́nimo [11]. La decisión más fácil versa sobre la diferenciación de mayúsculas y minúsculas a la hora de distinguir dos términos, ya que salvo casos muy concretos (por ejemplo, cuando se describen detalles sobre comandos Unix) no se suele hacer distinción alguna. Tampoco hay ninguna razón para limitarse a la utilización de palabras simples como términos ı́ndice, también se pueden utilizar frases [31]. Las frases conllevan mayor contenido semántico, pero también conllevan mayor especificidad semántica, lo cual puede reducir las prestaciones de recuperación [2]. De todas formas, la utilización de frases permite capturar el orden de éstas y según ciertos estudios mejoran la precisión de los sistemas de recuperación de información [50]. Después de obtener una lista de palabras o frases clave tras haber tomada diferentes decisiones sobre todos los aspectos comentados en el análisis léxico, dicha lista se simplifica eliminando todas aquellas palabras carentes de significado o con un valor prácticamente nulo, las stopwords. Y luego todavı́a se reduce más esta lista unificando distintos términos en una única raı́z gramatical, el proceso de stemming. 2.2.2. Eliminación de palabras carentes de información: Stopwords Hay ciertas palabras que independientemente del documento en el que estén no aportan información discriminante, o ésta es tan mı́nima que no compensa tenerlas en cuenta. Este tipo de palabras son conocidas como stopwords y no son tenidas en cuenta como términos clave. Generalmente las palabras que son excesivamente frecuentes entre los documentos de la colección corresponden con las stopwords. De hecho, una palabra que aparece en el 80 % de los documentos en la colección es inútil para propósitos de recuperación [11]. Claros candidatos de palabras que deberı́an estar en las stoplists (listas de palabras carentes de significado) son los artı́culos, las preposiciones y las conjunciones. La eliminación de las stopwords tiene un claro e importante beneficio en el proceso de recuperación de información. Reduce considerablemente la lista de los términos ı́ndice de la colección. Es tı́pico obtener una reducción en la talla de la estructura de indexación, de un 40 % o más, solamente con la eliminación de las stopwords [11]. Rebajar el número de palabras clave conlleva por tanto dos ventajas importantes en la mejora de las prestaciones computacionales, por un lado reduce el espacio de almacenamiento necesario para guardar la estructura de datos que define la colección, y por otro lado reduce el tiempo necesario para construir y manejar dicha estructura. 34 2.2. PREPROCESAMIENTO Y, además, minimizando las repercusiones en las prestaciones de recuperación de información. Todo ello hace que en ocasiones se plantee la posibilidad de extender la lista de stopwords para incluir otras palabras que también aportan poca información, por ejemplo, algunos verbos, adverbios y adjetivos. A pesar de estas importantes ventajas, no hay que olvidar que la eliminación de las stopwords puede reducir la cobertura (recall ) del sistema de recuperación de información, al eliminar términos clave en la evaluación de la relevancia de un documento [4], aunque esta reducción suele ser insignificante a efectos de la calidad de la recuperación (prácticamente no se pierden documentos importantes). De todas formas esta es una razón, junto a otras varias, que da lugar a la adopción de la indexación completa de los documentos utilizada por algunos motores de búsqueda de la Web [11]. También hay que tener en cuenta que cuando se está trabajando con una estructura de fichero invertido comprimido la mejora espacial obtenida eliminando las stopwords puede ser cuestionable, ya que las palabras omitidas tı́picamente requieren pocos bits por puntero haciendo que la mejora total en almacenamiento no sea destacable [12]. 2.2.3. Trabajar únicamente con la raı́z de las palabras: Stemming El stemming es el proceso por el cual las palabras, los términos ı́ndices de un documento, se sustituyen por su raı́z morfológica. Es decir, el stemming consiste en la eliminación de los afijos (prefijos y sufijos) de la palabra [11, 12]. La idea subyacente es la sustitución de las variantes morfológicas de una palabra por el concepto que define dicha palabra, representado éste por la raı́z de la misma, consiguiendo ası́ mejorar las prestaciones en la recuperación de información. Su utilidad se ve claramente al analizar el proceso de consulta. El usuario especifica una palabra clave en la consulta, pero lo más seguro es que en el documento relevante para el usuario aparezca una variante de dicha palabra clave. Las variaciones sintácticas más comunes que impiden el correcto emparejamiento entre los términos ı́ndice de una consulta y las palabras clave de un documento suelen ser: plurales, gerundios, participios, formas verbales, etc. El stemming en definitiva busca la eliminación de ruido, pero no hay que olvidar que también puede eliminar términos cruciales para juzgar la relevancia de un documento [4], aunque esta potencial pérdida suele ser mı́nima y se da en casos muy especı́ficos, además suele ser totalmente compensada por los beneficios que aporta. La utilización de los métodos de stemming tiene una tradición relativamente larga en el proceso de selección de los términos ı́ndice [12]. El stemming no es una tarea para ser tomada a la ligera, ya que puede ser una empresa tediosa que tiene diversas variantes y enfoques. Afortunadamente, varios métodos de stemming automáticos han sido desarrollados [12], destacando el Porter [94] como el más popular debido a su simplicidad y elegancia [11]. A pesar de ser muy simple, el método Porter produce resultados comparables con otros algoritmos más sofisticados [11]. El uso del stemming tiene el efecto secundario, en este caso bueno, de reducir la talla de la estructura de indexación porque reduce el número de distintas palabras clave utilizadas [11]. Concretamente, en el modelo vectorial, el stemming reduce el número de filas en la matriz de términos por documentos [12]. Esta propiedad no hay 35 2.2. PREPROCESAMIENTO que infravalorarla ya que es una ventaja añadida muy importante, sobre todo debido al volumen de información que se suele manejar. Por lo tanto, el stemming favorece la mejora de prestaciones a todos los niveles buscados. Mejora las prestaciones en la calidad de la recuperación de información, y mejora las prestaciones computacionales, tanto espaciales (estructuras de datos más pequeñas) como temporales (menos datos a manejar y consultar). 2.2.4. Utilización de información sintáctica y/o semántica: Lematización Análogamente al stemming aparece la lematización, la cual obtiene los términos de la colección a partir del lexema de las palabras de la colección (lematización) [95] o a partir de los sentidos de las palabras de la colección (lematización semántica). A la utilización de técnicas sintácticas y/o semánticas para mejorar las prestaciones en recuperación de información se le conoce como word sense desambiguation [4]. La lematización obtiene la raı́z de las palabras, pero a diferencia del stemming que simplemente elimina afijos, se basa en la raı́z léxica: los verbos conjugados pasan a la forma del infinitivo, los sustantivos a la forma singular masculina, etc. La lematización semántica, que es una extensión de la lematización al necesitar de la raı́z léxica de las palabras, se basa en el significado de éstas, teniendo en cuenta su contexto. Para trabajar con los significados en relación al contexto se precisa un recurso externo, una ontologı́a (relación conceptual exhaustiva y rigurosa) siendo una de las más populares y utilizadas la de WordNet [96]. Un estudio interesante sobre el uso de las ontologı́as en la recuperación de información fue [97] y también destaca [98] que muestran cómo se pueden obtener mejoras con el uso de la lematización en la recuperación de información. En [86] se hizo una comparación entre la influencia de la lematización semántica y del stemming en las prestaciones de recuperación. Se obtuvieron mejores prestaciones al utilizar en el preprocesamiento técnicas de stemming en contraposición a las de lematización, aunque el comportamiento de ambas fue parecido. 2.2.5. Reducciones heurı́sticas de términos poco o demasiado utilizados En un intento por reducir más el número de palabras clave o términos ı́ndice de una colección se utilizan criterios heurı́sticos para eliminar aquellas palabras que aportan muy poca información discriminante entre documentos de la colección [12, 23, 33]. Concretamente, las palabras que se plantea eliminar son aquellas que aparecen de manera muy infrecuente en la colección, generalmente en un único documento de la colección (o en dos documentos), y también aquellas que aparecen en prácticamente todos los documentos de la colección (palabras candidatas a incluir en la lista de stopwords). Es decir, se eliminan aquellos términos de muy poca frecuencia o de muy alta frecuencia. Con las reducciones heurı́sticas se pretende mejorar las prestaciones computacionales del sistema de recuperación de información, al tener que manejar menos información y al tener que almacenar también menos información. Lógicamente esta 36 2.3. MODELIZACIÓN mejora puede conllevar un empeoramiento de las prestaciones de calidad de la recuperación de información. Pero se prevé que ésta sea mı́nima, al eliminar los términos que prácticamente no aportan información. Ahı́ es donde aparece la heurı́stica. 2.2.6. Tesauros La palabra tesauro tiene su origen en el Griego y en el Latı́n y es usada como una referencia a un tesoro de palabras. De forma simple un tesauro consiste en una lista precompilada de palabras a las que se asocia un conjunto de palabras relacionadas generalmente derivadas de una relación de sinonimia. De forma más general, también involucra alguna normalización del vocabulario e incluye una estructura más compleja. Básicamente, los principales propósitos de un tesauro son [11]: Proveer un vocabulario estándar (o sistema de referencia) para la indexación y la búsqueda. Asistir al usuario en la elección de términos para crear consultas apropiadas. Proveer jerarquı́as clasificadas que permitan ensanchar y ampliar la petición de consulta actual de acuerdo con las necesidades del usuario. Una de las principales motivaciones para construir un tesauro está basada en la idea de usar un vocabulario controlado para la indexación y la búsqueda, lo cual conlleva importantes ventajas como la reducción de ruido, la recuperación basada en conceptos, etc. [11] Los tesauros favorecen la reformulación automática de consultas [11, 31]. Es sabido que en muchas ocasiones la calidad de los resultados del sistema de recuperación de información dependen directamente de la calidad de la consulta. Generalmente si no se tiene claro cómo construir una consulta de calidad y además se desconoce cómo es la colección en la que se busca, lo más normal es que la consulta realizada no permita recuperar los documentos relevantes. Es entonces, cuando es interesante reformular o expandir la consulta para mejorar sus prestaciones. Los tesauros se pueden utilizar para este fin sustituyendo los términos que aparecen en la consulta por aquellos que el tesauro determina que están directamente relacionados. 2.3. Modelización 2.3.1. Clasificación de los modelos El propósito principal de los sistemas de recuperación de información es ayudar a los usuarios a acceder eficientemente a grandes colecciones para ası́ satisfacer su necesidad de información. Con la finalidad de conseguir tal objetivo existen tres modelos clásicos de recuperación de información: el lógico (boolean), el vectorial y el probabilı́stico [11, 31, 93, 99]. El paradigma lógico modela los documentos y las consultas mediante conjuntos de términos ı́ndice y se basa en la teorı́a de conjuntos. En cambio, el paradigma vectorial modeliza los documentos y las consultas como vectores 37 2.3. MODELIZACIÓN en un espacio m-dimensional (m serı́a el número de términos ı́ndice) y se basa en la teorı́a algebraica. Por su parte, el paradigma probabilı́stico modeliza los documentos y las consultas como probabilidades y se basa en la teorı́a probabilı́stica. A medida que ha ido pasando el tiempo y el problema de la recuperación de información se ha ido conociendo y estudiando más profundamente, han ido apareciendo otros paradigmas de modelado alternativos a los clásicos. En la figura 2.4 se presenta una taxonomı́a sobre los modelos de recuperación de información [11]. Dentro del paradigma lógico destacan los modelos de lógica difusa (Fuzzy) y el modelo lógico extendido. El paradigma algebraico incluye el modelo vectorial generalizado, la indexación semántica latente (Latent Semantic Indexing) y las redes neuronales. Las alternativas del modelo probabilı́stico son las redes de inferencia (Inference Network ) y las redes de convicción (Belief Network ). Los métodos de clustering se podrı́an englobar en cualquiera de los paradigmas en función del modelo en el que se basen, aunque habitualmente trabajan dentro del modelo vectorial. Figura 2.4: Taxonomı́a de los modelos de recuperación de información. El modelo lógico está basado en la teorı́a de conjuntos y en el álgebra booleana. Las consultas, dentro de este modelo, están definidas en términos de disyunciones, conjunciones y negaciones entre conjuntos de documentos que contienen ciertos términos ı́ndices. Los documentos recuperados son aquellos cuyo contenido satisface el enunciado lógico que es la consulta. Las principales ventajas del modelo lógico son su claro formalismo de base y su simplicidad. Al ser el concepto de conjunto bastante intuitivo y al ser las consultas especı́ficas (las expresiones lógicas tienen un significado preciso), el modelo lógico es fácil de comprender por un usuario común. Estas caracterı́sticas destacadas provocaron el auge del modelo lógico, siendo éste adoptado por los primeros sistemas comerciales. De todas formas el modelo lógico presenta algunas desventajas importantes. En la forma más básica del modelo lógico no se obtiene una clasificación ordenada (ranking). Esto es debido a que su estrategia de recuperación está basada en un criterio de decisión binario o lógico (un documento es relevante o no) sin ninguna noción de gradiente. Al no haber una noción de correspondencia parcial para los términos ı́ndice de las consultas, las prestaciones en la recuperación se ven resentidas. Aunque las expresiones lógicas tienen un significado preciso, normalmente es difı́cil traducir una necesidad de información en expresión lógica. De hecho, la mayorı́a de los usuarios encuentran complicado definir las consultas como expresiones lógicas [11]. 38 2.3. MODELIZACIÓN Existen dos alternativas al paradigma lógico, el llamado modelo de conjuntos difusos y el modelo booleano extendido [11, 99]. La primera se basa en el hecho que representar los documentos y las consultas mediante conjuntos de palabras clave conlleva descripciones sólo parcialmente relacionadas con el contenido semántico real de dichos documentos y consultas. Por lo tanto, la relación de un documento con los términos de la consulta es aproximada o vaga. Para solventar esta situación aparece la teorı́a de conjuntos difusos, donde cada documento presenta un grado de pertenencia al conjunto difuso que define cada término de la consulta. Por su parte, el modelo booleano extendido, está basado en una crı́tica al axioma básico de la lógica booleana que dice que un documento que contiene sólo parte de los términos de la consulta es tan irrelevante como aquel que no contiene ninguno [11]. Dado que este criterio de decisión binario en la mayorı́a de los casos es ilógico desde el punto de vista del sentido común, el modelo booleano extendido se lo salta tratando de forma diferente los documentos en función de los términos de la consulta que son relevantes en el documento. El modelo vectorial intenta superar la restricción del uso de pesos binarios proponiendo la posibilidad de una correspondencia parcial. Para ello utiliza pesos no binarios en los términos de los documentos y de las consultas, los cuales se utilizan para determinar el grado de similitud entre consultas y documentos, permitiendo ordenar los documentos recuperados por similitud. En el paradigma vectorial tanto los documentos como las consultas se modelizan mediante vectores m-dimensionales que contienen el peso de cada término. La relación de similitud puede ser cuantificada de multitud de formas, aunque una de las más comunes suele ser calculando el coseno del ángulo que forman el vector representante de una consulta con el de un documento. Actuando de esta forma el modelo vectorial puede clasificar los documentos en relación al grado de similitud respecto a la consulta y ası́ recuperar documentos que presentan una relación sólo parcial con la consulta. Destacan tres modelos como alternativas al paradigma algebraico clásico [11]: el modelo vectorial generalizado, en el que se asume que los vectores ı́ndice son linealmente independientes pero no ortogonales; el modelo de indexación semántica latente (LSI -Latent Semantic Indexing- ); y el modelo de redes neuronales. Aunque el modelo de clustering no está únicamente relacionado con el paradigma vectorial, muchos de los métodos de clustering (y todos los desarrollados en el marco de esta tesis) trabajan partiendo de una representación vectorial y utilizando técnicas de cálculo de distancias iguales o similares a las utilizadas en el modelo vectorial para calcular similitudes. Los métodos de clustering, de forma simple, tratan de separar una colección de objetos (documentos) en dos conjuntos distintos (normalmente disjuntos) basándose en una vaga descripción de un conjunto: el primero de los conjuntos estará formado por todos los objetos relacionados con dicha descripción vaga y el otro por todos los objetos que no están relacionados. Hay que entender por descripción vaga aquella información qué no permite discernir con precisión que objetos pertenecen o no al conjunto descrito. Cuando se está trabajando con modelos de clustering aparecen principalmente dos problemas: la necesidad de determinar cuales son las caracterı́sticas (términos) que 39 2.3. MODELIZACIÓN mejor describen los objetos (documentos) de un conjunto y la necesidad de determinar cuales son las caracterı́sticas (términos) que mejor distinguen los objetos (documentos) de un conjunto de los restantes objetos (documentos) de la colección. Las primeras caracterı́sticas servirán para cuantificar la similitud intracluster (se utiliza la frecuencia de los términos dentro de los documentos) y las segundas para valorar la similitud intercluster (se hace uso de la inversa de la frecuencia de los términos entre los documentos de la colección). El modelo probabilı́stico intenta estimar la probabilidad de que un documento de la colección sea relevante para una consulta dada. Para ello asume que dicha probabilidad depende sólo de la representación del documento y de la consulta. Este modelo tiene el problema de no establecer explı́citamente cómo calcular las probabilidades de relevancia, ni siquiera determina cual serı́a el espacio muestral utilizado para definir tales probabilidades [11]. El procedimiento simplificado que realiza el paradigma probabilı́stico es asignar a cada documento un ratio como medida de similitud, el cual es la relación entre la probabilidad que dicho documento sea relevante para una consulta dada y el de que no lo sea. Luego toma la probabilidad de relevancia como el rango que minimiza la probabilidad de un juicio erróneo [11]. Las alternativas al paradigma probabilı́stico están basadas en las redes bayesianas, son el modelo de redes de inferencia (inference networks) y una generalización de éste, el modelo de redes de convicción (belief networks) [11]. 2.3.2. Modelo vectorial básico: Matriz de pesos El origen del modelo vectorial se basa en un intento de eliminar algunos de los mayores problemas asociados a las técnicas de emparejamiento léxico y exacto, concretamente la polisemia (varios significados expresados por un mismo término) y sinonimia (el mismo significado expresado por varios término) [33]. El modelo vectorial al trabajar en el espacio de los términos y documentos y al calcular similitudes en dicho espacio con las consultas, permite clasificar el resultado de una consulta en relación a la medida de similitud usada. Tales clasificaciones no son posibles con el emparejamiento léxico. El modelo vectorial, también gracias a trabajar en espacios vectoriales, facilita la implementación de métodos de retroalimentación, los cuales permiten ir mejorando la consulta realizada a partir de la información devuelta por la propia consulta. Partiendo de la premisa de que el significado de un documento puede ser derivado de los términos que lo forman, el modelo vectorial crea una estructura matricial de la colección de documentos. Concretamente, los documentos son representados como vectores de términos, siendo cada uno de los elementos de dicho vector un peso que denota la importancia del término correspondiente en el documento. El conjunto de los vectores documento forman la matriz que representa la colección. Las consultas se definen análogamente a los documentos, como vectores de términos. Y para determinar los documentos relacionados con una consulta se mide el grado de similitud (por ejemplo mediante la distancia euclı́dea) entre el vector consulta y los vectores documentos. 40 2.3. MODELIZACIÓN En el modelo vectorial más básico, la representación de los documentos solamente se basa en la frecuencia de términos, la cual no modeliza adecuadamente el contenido semántico dando lugar a ciertos errores. Estas incertidumbres han sido tratadas mejorando la representación vectorial de los documentos (y por ende de las consultas). Fundamentalmente se han desarrollado dos soluciones. La primera se basa en el pesado de los términos, y la segunda utiliza aproximaciones de bajo rango de la matriz original [12]. Esta última solución, que suele incluir también la primera, se basa en la premisa de que con la reducción del rango de la matriz se reduce también el ruido de esta (es decir, los problemas de sinonimia y polisemia). El modelo vectorial de indexación semántica latente (LSI -Latent Semantic Indexing-) es el que trabaja la solución de las aproximaciones de bajo rango, utilizando algoritmos tales como la factorización QR y la descomposición en valores singulares (SVD -Singular Value Decomposition-). Desafortunadamente, tanto en el modelo vectorial como el LSI, no es posible distinguir las consultas que usan conectivas Y (and ) de las que usan conectivas O (or ) [25]. El modelo vectorial, excepto su variante LSI, trata cada término independientemente imitando los ı́ndices invertidos, sin embargo es más flexible que éstos últimos, ya que cada término puede ser pesado individualmente [33]. Además, al utilizar medidas de similitud para comparar las consultas con los documentos permiten enfatizar o desenfatizar ciertas caracterı́sticas de los documentos o de la colección (por ejemplo, la longitud de los documentos). El éxito o fracaso del método vectorial se basa principalmente en la elección adecuada del esquema de pesado de los términos. Existen muchas investigaciones respecto a las técnicas de pesado pero no parece haber consenso respecto al mejor método [12, 31], lo cual se debe a que dependiendo de la naturaleza del vocabulario de la colección un tipo de pesado u otro será mejor. En [12, 31] se incluye una comparación computacional de varias de las técnicas sugeridas en la literatura. La matriz de pesos La relación existente entre los términos clave y los documentos de la colección se establece mediante una matriz dispersa de términos por documentos [2, 11, 12, 14, 33, 100]. Cada documento se representa mediante un vector m-dimensional, siendo m el número total de términos clave de la colección. Por lo tanto, si existen n documentos en la colección, ésta será expresada por una matriz A con m filas y n columnas. Normalmente cuando una colección es pequeña (tiene pocos documentos) el número de términos en esa colección es mucho mayor que el número de documentos y más, cuando la colección versa sobre temas heterogéneos. Ahora bien, la tendencia natural es a que las colecciones sean cada vez más grades (el ejemplo más claro es la Web), pero lógicamente aunque el vocabulario que los forma (los términos) también vaya creciendo está limitado al vocabulario del idioma usado, además de que luego se suele reducir el número de términos durante el preprocesamiento. Por tanto, la situación con colecciones normales es que existen muchos más documentos que términos. Cada elemento aij de la matriz Am,n ofrece información sobre si el término i aparece o no en el documento j. Dicha información puede referirse únicamente a la aparición del término en el documento u ofrecer mayor información referente a 41 2.3. MODELIZACIÓN la importancia de ese término en ese documento. Para cumplir este objetivo cada elemento toma un valor, un peso, entre 0 y 1. La ausencia del término en el documento es indicada mediante un 0, y un valor positivo define el peso de dicho término en el documento. Esta forma de representación provoca que la matriz presente una enorme cantidad de elementos iguales a cero. Ya que el número de términos en un documento es un subconjunto muy pequeño de todos los términos de todos los documentos de la colección. Ello es la causa de la dispersión caracterı́stica de estas matrices. Normalmente se asume que los pesos son mutuamente independientes [11]. En otras palabras conocer el peso de un término asociado a un documento no da ninguna información sobre el peso de otro término asociado a ese mismo documento. Esta simplificación, ya que los términos de un documento están correlacionados, facilita la computación de los pesos y acelera la creación de clasificaciones (rankings). Además, ninguna de las soluciones propuestas en el pasado ha demostrado claramente que tener en cuenta la correlación de términos sea ventajosa para mejorar las clasificaciones, al menos en condiciones generales [11]. Esquemas de pesado Los esquemas de pesado son un método común y eficaz para mejorar las prestaciones de recuperación en el modelo vectorial, el cual consiste en sustituir la frecuencia de aparición de un término en un documento por una función que otorgue un peso a cada elemento de la matriz de términos por documentos [28]. Esta transformación presenta tres componentes distintos, un peso local que presenta la importancia relativa de un término en un documento, un peso global que presenta la importancia de un término en relación a todos los documentos de la colección, y un factor de normalización que minimiza la influencia de la longitud de los documentos [12, 21, 23, 31]. Cada elemento aij de la matriz Am,n de términos por documentos presentará la siguiente forma: aij = lij gi dj donde lij corresponde con el peso local del i-ésimo término en el j-ésimo documento, gi corresponde con el peso global del i-ésimo término y dj corresponde al factor de normalización del j-ésimo documento [12, 21, 23, 31]. Los esquemas de pesado se especifican mediante una combinación de seis letras [12, 31]. Las tres primeras indican la componente local, global y de normalización para la matriz de documentos, y las tres segundas determinan la componente local, global y de normalización utilizadas en la consulta. Cuando se utiliza un arterisco en lugar del sı́mbolo de una fórmula se está denotando que puede ser cualquier fórmula. La mayorı́a de los esquemas de pesado más utilizados se basan en las dos funciones siguientes: χ (r) = fij pij = P j fij 1 si r > 0 0 si r = 0 En la tabla 2.1 en la página siguiente se muestran los esquemas de pesado local más comunes [12, 31], que como se puede ver sólo dependen de las frecuencias intradocumento (dentro del documento) y no de las frecuencias interdocumento (entre documentos). 42 2.3. MODELIZACIÓN Sı́mbolo Nombre Fórmula b Binario χ (fij ) t Frecuencia fij n Frecuencia Normalizada Aumentada f χ(fij )+ máx ijf k kj 2 l Logaritmo log (fij + 1) a Logaritmo Alternativo χ (fij ) (log (fij ) + 1) Tabla 2.1: Fórmulas de pesado local. Tanto la fórmula binaria (b) como la de frecuencia de términos (t) son simples, claras y obvias. En la binaria se da igual importancia a todos los términos independientemente del número de veces que aparecen. Por su parte la fórmula de frecuencia otorga relevancia a los términos proporcionalmente al número de veces que se presentan. El primer caso puede ser útil si el número de apariciones no se considera importante, aunque normalmente es su principal desventaja. En el segundo caso usualmente se da demasiada importancia a los términos que más aparecen. La frecuencia normalizada aumentada intenta mejorarlo, para ello le da importancia a todos los términos que aparecen y además añade cierta importancia a aquellos términos que más se repiten. Por su parte las fórmulas con logaritmos (l,a) también se utilizan para desenfatizar el efecto de la frecuencia. La elección de la componente local del esquema de pesado depende de las caracterı́sticas de la colección, principalmente de su vocabulario. Por ejemplo, ante vocabularios técnicos o cientı́ficos los esquemas que mejor suelen funcionar son los basados en la frecuencia de términos normalizada (n**), en cambio, cuando el vocabulario es variado o generalizado, normalmente utilizando únicamente la frecuencia del término suele ser suficiente (t**) [12]. En la tabla 2.2 en la página siguiente se muestran los esquemas de pesado global más comunes [12, 31], los cuales son utilizados para enfatizar los términos que son discriminantes basándose en la dispersión de un término a través de los documentos. De hecho el pesado global teóricamente hace innecesaria la eliminación de las stopwords, al presentar éstas un peso global muy pequeño [31]. De todas formas, en la práctica, sı́ que se eliminan en la fase de preprocesamiento, puesto que de esta forma hay que trabajar con un volumen menor de términos, con las consiguientes ventajas que ello supone. La fórmula de la entropı́a (e) asigna pesos entre cero y uno, siendo cero cuando el término aparece con la misma frecuencia en todos los documentos y uno si sólo aparece en un único documento. Como su propio nombre indica, la fórmula de frecuencia de documento inversa (f), hace decrecer más el peso de un término en cuantos más documentos aparece éste, si el término aparece en todos los documentos el peso global es cero. La fórmula GfIdf (g) calcula un ratio entre el número de veces total que el término aparece en la colección y el número de documentos en los que aparece. 43 2.3. MODELIZACIÓN El pesado inverso probabilı́stico (p) también se basa en la frecuencia de documentos inversa, concretamente asigna valores entre menos infinito (realmente elimina el término) cuando el término aparece en todos los documentos y log (n − 1) cuando el término aparece en un sólo documento. Sı́mbolo Nombre x Ninguna Fórmula 1 n X e Entropı́a f Frecuencia de documento inversa (IDF -Inverse Document Frecuency-) g GfIdf n Normal pij log pij 1+ log n j=1 n log Pn k=1 χ (fij ) P fij P j j χ (fij ) 1 qP j p Inversa probabilı́stica log 2 fij Pn n − k=1 χ (fij ) Pn k=1 χ (fij ) Tabla 2.2: Fórmulas de pesado global. A la hora de elegir el factor de pesado global hay que tener en cuenta como es de habitual que la colección cambie, ya que tener que reajustar el peso global cada vez que cambie el vocabulario afectará a todas las filas de la matriz de pesos. Por lo tanto, para evitar en la medida de lo posible tales actualizaciones se puede simplificar el esquema de pesado descuidando el factor global (*x*) cuando el vocabulario de la colección cambia continuamente. Pero cuando el vocabulario es estático (o es asumible) entonces la elección más común suele ser la frecuencia de documento inversa (*f*). Sı́mbolo Nombre Fórmula x Ninguna 1 n,c Normal o Coseno 1 qP i (gi lij ) 2 Tabla 2.3: Fórmulas de normalización. Una vez el peso local y el global están establecidos comúnmente se procede a normalizar, concretamente las columnas de la matriz de términos por documentos. Si esta normalización no se realiza puede conllevar que los documentos cortos no 44 2.3. MODELIZACIÓN sean reconocidos cómo relevantes aún siéndolo. En la tabla 2.3 en la página anterior se muestran el esquema de normalización más utilizado [12, 31], basado en la 2norma, aunque muchas otras normalizaciones son posibles [31]. La normalización de la consulta no da lugar a ninguna diferencia en la clasificación final de los documentos recuperados, por lo cual no se realizará nunca. Intuitivamente, con la normalización se busca retener sólo la información sobre la dirección de los vectores documentos, es decir con información únicamente sobre el tema del documento, ya que documentos con diferentes longitudes pero que versan sobre el mismo tema darán lugar a vectores similares. Aunque existen muchos esquemas de pesado, sólo hay que contar el número de posibles combinaciones, no todos los esquemas son interesantes. Uno de los más populares y efectivos es el (tfn) que se muestra en la figura 2.5, donde el peso local utiliza la frecuencia de los términos, el peso global es la frecuencia de documento inversa y la normalización utilizada es la normal. Figura 2.5: Comportamiento del esquema de pesado tfn. La norma general de los esquemas de pesado de términos, al menos en el modelo vectorial, es la asignación de un peso cero a aquellos términos que están ausentes. Esta forma de actuar conlleva a que no se tengan en cuenta dichos términos para calcular similitudes. Mediante un nuevo esquema de pesado, el BTWS (Balanced TermWeighting Scheme), se hace que los términos ausentes también contribuyan en el cálculo de similitud, dándoles un peso negativo [101]. El principal problema del esquema BTWS es su coste computacional, al utilizar todos los términos en la comparación con la consulta. Para suavizar este problema se utilizan métodos de compresión de dimensión que reducen dicho coste drásticamente, pero todavı́a sin llegar a un nivel tan pequeño como el del coseno, que sólo considera los positivos [101]. 45 2.3. MODELIZACIÓN Utilización del modelo básico La utilización del modelo vectorial básico consiste en transformar la consulta del usuario en un vector de pesos, según el esquema elegido, y entonces buscar que vectores documento de la matriz de términos por documentos son más parecidos al vector consulta. La medida de similitud puede ser cualquiera, aunque la más común y más utilizada suele ser el coseno del ángulo que forman el vector consulta y los vectores documento. Sea Am,n la matriz de términos por documentos con m términos y n documentos, sea aj el vector documento j-ésimo, y sea q el vector consulta. Entonces la expresión del coseno serı́a: m X aij qi aTj q i=1 v =v cos θj = um uX kaj k2 kqk2 u m 2 uX t aij t qi2 i=1 (2.1) i=1 Hay que tener en cuenta que las normas de los documentos pueden estar precalculadas y que la norma de la consulta no afecta a la clasificación final, con lo cual el cálculo se puede acelerar. Además, si el esquema de pesado incluye normalización, entonces ni siquiera habrı́a que preocuparse de las normas ya que éstas valdrı́an uno (kaj k2 = 1 ; kqk2 = 1). Esta situación es muy habitual, con lo cual normalmente la medida de similitud utilizada es el producto escalar entre el vector documento y el vector consulta: cos θj = aTj q aTj q = = aTj q kaj k2 kqk2 1 (2.2) Al igual que la matriz de pesos (matriz de términos por documentos), el vector consulta es de naturaleza dispersa, lo cual implica que todos los cálculos en el modelo vectorial se pueden optimizar recurriendo a técnicas que aprovechen dicha estructura dispersa. Una vez calculado el grado de similitud entre el vector consulta y todos los vectores documento, se ordenan los documentos de mayor a menor similitud con la consulta. Si hay algún criterio de corte, todos los documentos que no llegan al umbral de similitud establecido no se presentan al usuario. 2.3.3. Modelo de indexación semántica latente (LSI): Mediante la SVD En el modelo vectorial la elección de los documentos relevantes a una consulta se realiza basándose en emparejamientos literales de términos (o de transformaciones léxicas). Pero existen diversas formas de expresar un concepto (sinonimia) y varios conceptos se pueden expresar de la misma forma (polisemia). Al contemplar únicamente la relación léxica se pueden perder otras formas de expresar el mismo concepto 46 2.3. MODELIZACIÓN y recuperar conceptos que se expresan igual. El modelo de Indexación Semántica Latente (LSI -Latent Semantic Indexing-) [27], una variación del modelo vectorial, trata de superar esta situación pasando a una recuperación de información conceptual, basándose en la asunción de que existe una estructura latente en los términos utilizados, la cual se encuentra oculta por la variabilidad en la elección de términos [28, 33]. Ya que en la LSI las búsquedas están fundamentadas en los conceptos y no en los términos se pueden obtener documentos que no comparten ningún término con la consulta (sinonimia), e incluso no recuperar documentos que sı́ que comparten términos con la consulta (polisemia). Las colecciones de documentos grandes dan lugar, en prácticamente todos los casos, a matrices de términos por documentos que no son de rango completo, es decir no son todas las columnas linealmente independientes. En este hecho se fundamenta la LSI para llegar a la indexación conceptual (búsqueda por conceptos), ya que aproxima la matriz de pesos de términos por documentos en una nueva matriz de rango menor [12]. La idea principal que reside en la reducción de dimensionalidad, de rango, es proyectar cada documento dentro de un espacio dimensional más pequeño, el cual de forma explı́cita tendrá en cuenta la relación y dependencia entre términos. El rango k de la matriz aproximada, será mucho menor que el rango de la matriz de pesos mı́n (m, n), es decir k mı́n (m, n). La reducción del rango de la matriz de términos por documentos es, además, un medio de eliminar información extraña, ruido, de la colección [28, 33]. Ahora bien, la elección del número de dimensiones (k), es decir, del rango, es un problema importante, ya que cuanto menor sea k más ruido se puede eliminar, pero reducir demasiado el rango puede dar lugar a perder información importante, y por otro lado hay que tener cuidado de no reconstruir la matriz original de pesos perdiéndose las ventajas de la reducción de rango. Realmente la determinación del rango óptimo con el cual aproximar la matriz de términos por documentos es una cuestión abierta, aunque está bastante claro que es muy dependiente de la colección concreta con la que se esté trabajando [12]. El hecho que la LSI trabaje bien con un relativo número pequeño de dimensiones respecto al número de términos de la colección, muestra que realmente se está capturando parte importante de la estructura subyacente. La LSI puede conseguir mejores prestaciones de recuperación de información que otras técnicas vectoriales [2, 33, 34], sin embargo no es bien entendida la razón de las buenas prestaciones de la LSI, la búsqueda de dicha razón es un área activa de investigación [24]. En cambio la complejidad del modelo LSI suele conllevar que sus prestaciones computacionales, de ejecución y respuesta, estén muy por debajo de los otros modelos vectoriales. Aunque mediante diferentes optimizaciones de implementación las prestaciones de la LSI podrı́an acercarse mucho a las demás técnicas vectoriales. Otras ventajas importantes de este modelo es su automatismo y su facilidad de uso y retroalimentación. Existen multitud de técnicas para la reducción dimensional de una matriz, entre ellas destacan la factorización QR, el análisis de componentes principales (PCA -Principal Component Analysis-) y la descomposición en valores singulares (SVD Singular Value Decomposition-). Siendo esta última la más utilizada debido principalmente a que permite la aproximación de bajo rango de la matriz original con el 47 2.3. MODELIZACIÓN mı́nimo error [12, 29]. Además, mientras la aproximación QR únicamente suministra una base de rango reducido para el espacio de las columnas de la matriz de términos por documentos, sin aportar información sobre las filas, la SVD, aunque con mayor coste computacional, ofrece una aproximación de bajo rango de ambos espacios, el de columnas y el de filas. Base matemática La factorización QR transforma la matriz de términos por documentos Am,n en dos matrices de la siguiente forma: A = QR, donde la matriz Q ∈ <m×m es ortogonal y la matriz R ∈ <m×n es triangular superior [12, 29, 102]. La factorización QR existe para cualquier matriz y hay diversos métodos para calcularla. La factorización QR también se puede representar como sigue: R1 A = Q1 Q2 = Q1 R1 + Q2 0 = Q1 R1 (2.3) 0 En la expresión 2.3, Q1 es la porción de la matriz Q asociada a R1 , Q2 es el resto de la matriz Q y R1 representa las filas de R distintas de cero. Claramente, las columnas de Q2 no contribuyen para producir la matriz A, lo cual implica que el rango de las matrices A, R y Q1 es el mismo. Como las columnas de la matriz A son todas combinación lineal de las columnas de Q, un subconjunto de k columnas de la matriz Q, concretamente las columnas de Q1 , forman una base para el espacio de columnas de la matriz A, donde k = rango (A) [12, 29]. Cuando se utiliza la factorización QR en el modelo LSI, el cálculo de coseno del ángulo que forman los vectores documento y los vectores consulta sufre una lógica modificación [12, 29], presentada en la expresión 2.4: T rjT QT1 q aTj q (Q1 rj ) q A = [aj ] ∀j ∈ [1, n] = = (2.4) cos θj = R1 = [rj ] ∀j ∈ [1, n] kaj k2 kqk2 kQ1 rj k2 kqk2 krj k2 kqk2 Otra de las técnicas utilizadas para la reducción de dimensionalidad es el análisis de componentes principales (PCA -Principal Component Analysis-), el cual consiste en utilizar los k principales vectores propios de la matriz de covarianza de la matriz de términos por documentos [24]. La principal desventaja de la PCA son los altos requerimientos computacionales y espaciales que precisa. Por último, otra técnica es la descomposición en valores singulares, que existe para cualquier matriz A y se define como A = U SV T , donde U ∈ <m×m es la matriz ortogonal cuyas columnas se corresponden con los vectores singulares izquierdos de A, V ∈ <n×n es la matriz ortogonal cuyas columnas se corresponden con los vectores singulares derechos de A, y S ∈ <m×n es la matriz diagonal cuyos elementos definen los valores singulares s1 ≥ s2 ≥ . . . ≥ smı́n(m,n) de A ordenados a lo largo de su diagonal [12, 14, 23, 25, 29, 33, 102]. Existen diversos métodos para computar la SVD tanto de matrices densas como dispersas y la mayorı́a de ellos están muy bien documentados [12, 14, 102]: Householder, rotaciones de Givens, método de la potencia, iteración del subespacio, Lanczos, Arnoldi, etc. Los métodos que trabajan con matrices dispersas (Arnoldi, Lanczos, iteración del subespacio, etc.) sólo referencian a ésta a 48 2.3. MODELIZACIÓN través de operaciones de multiplicación de matriz por vector, y por lo tanto pueden ser implementadas aprovechando los formatos de almacenamiento dispersos [12, 29]. Los primeros k valores singulares (los primeros k elementos diagonales de S), junto con las k primeras columnas de U y V , se utilizan para obtener la aproximación de rango k de la matriz de términos por documentos, es decir, en realidad se hace uso de la SVD truncada: Ak = Uk Sk VkT [25]. Los cambios relativos en los valores singulares al pasar del mayor al menor puede dar información para determinar que dimensión del subespacio reducido es la apropiada para modelizar el espacio de términos por documentos [34]. En el cálculo de la SVD se aprovecha la caracterı́stica dispersa de la matriz de términos por documentos, pero no se hace ningún esfuerzo por preservar dicha dispersión en la aproximación de bajo rango. De hecho las matrices de vectores singulares (Uk y Vk ) son normalmente densas, lo que conlleva grandes requerimientos de almacenamiento, superiores a los necesarios para la matriz de términos por documentos dispersa. Y, aunque la matriz de bajo rango no se reconstruye (se trabaja con las matrices Uk , Sk y Vk ) los costes computacionales también aumentan, eso sı́ menos significativamente que los costes de almacenamiento. Como posible solución a este decremento de prestaciones aparece una variante de la SVD, la SDD (Semi-Discrete Decomposition) que utiliza únicamente tres valores ({−1, 0, 1} representados por dos bits cada uno) para definir los elementos de Uk y Vk , reduciendo ası́ los requerimientos de almacenamiento, aunque los computacionales aumentan al necesitar resolver una secuencia de problemas de programación entera para producir la descomposición [12, 30]. A la hora de calcular la similitud de las consultas con los documentos de la matriz de términos por documentos reducida mediante el coseno del ángulo que forman los respectivos vectores, es necesario sustituir la matriz de pesos por su correspondiente descomposición en valores singulares. Si se define ej como el j-ésimo vector canónico de dimensión n (es decir, es la j-ésima columna de la matriz identidad de dimensión n, In,n ), entonces el vector Ak ej es simplemente la j-ésima columna de la matriz Ak (es decir, el vector columna j-ésimo). Teniendo en cuenta todo esto el cálculo del coseno del ángulo serı́a [12, 33]: T Uk Sk VkT ej q eTj Vk Sk UkT q aTj q (Ak ej )T q cos θj = = = = kaj k2 kqk2 kAk ej k2 kqk2 kUk Sk VkT ej k2 kqk2 kSk VkT ej k2 kqk2 (2.5) Utilización del modelo LSI El proceso que se sigue en el modelo LSI es análogo al utilizado en el modelo vectorial básico. 1. A partir de la colección de documentos se genera una matriz de pesos de términos por documentos, de igual forma que en el modelo vectorial básico. La elección del esquema de pesado y otros aspectos del preprocesamiento, se elegirán en relación a la colección, independientemente de que se vaya a usar el modelo LSI. 49 2.3. MODELIZACIÓN 2. El siguiente paso es hacer la descomposición truncada en valores singulares de la matriz de pesos. El bajo rango deseado y por lo tanto el número de valores singulares a calcular se determinará en función de la información disponible y por el método que se considere oportuno. 3. Las consultas se evaluarán proyectando las mismas dentro del subespacio de relaciones conceptuales construido. Para ello se utiliza el coseno del ángulo que forman el vector consulta y el vector documento, ambos proyectados, según se muestra en la ecuación 2.5 en la página anterior. Todos estos cálculos no precisan la reconstrucción de la matriz de bajo rango, ya que se puede hacer uso directamente de las matrices Uk , Sk y Vk . 2.3.4. Modelo de clustering La idea fundamental subyacente a los modelos de clustering es particionar la colección de documentos en diferentes grupos (los clusters), donde los miembros de una agrupación son documentos más similares entre sı́ que a los pertenecientes a las demás agrupaciones [5, 6, 103]. La hipótesis de base es que los documentos relevantes tienden a estar más cerca los unos de los otros que los documentos no relacionados [92]. No hay que confundir la clasificación con el clustering, mientras el primero asigna elementos a conjuntos de categorı́as predefinidos, el clustering no dispone de clases predefinidas o información sobre que relación deberı́a ser validada entre los elementos, es un proceso no supervisado. El clustering puede encontrarse en muy diferentes contextos a parte de la recuperación de información: generación de hipótesis, prueba de hipótesis, reducción de información, predicción basada en grupos, negocios, análisis de datos espaciales, minerı́a en la web, etc.; aunque también puede aparecer referenciado de distintas formas tales como aprendizaje no supervisado en reconocimiento de patrones, taxonomı́as numéricas en biologı́a o ecologı́a, tipologı́as en ciencias sociales, o particiones en teorı́a de grafos [5]. El clustering en la recuperación de información La recuperación de información se puede modelizar como un problema de clustering haciendo la siguiente analogı́a. La colección de documentos es el conjunto de objetos C y la consulta del usuario es una especificación vaga del conjunto de objetos A, entonces el problema de encontrar los documentos relevantes a la consulta se traduce en el problema de determinar que objetos del conjunto C pertenecen al conjunto A y cuales no [11]. En este proceso hay que hacer especial hincapié en dos hechos, el primero serı́a determinar cuales son las caracterı́sticas que mejor describen a los objetos del conjunto A para establecer la similitud intracluster, y segundo cuales son las que mejor los distinguen del resto de objetos de C para cuantificar la diferencia intercluster [11]. Uno de los grandes problemas de las técnicas de clustering es determinar el número de clusters (de agrupaciones) que el conjunto de datos presenta, de hecho debido a su particular dificultad los algoritmos normalmente lo ignoran [103]. 50 2.3. MODELIZACIÓN El procedimiento de clustering deberı́a idealmente ser eficiente y entero. La eficiencia se suele medir en base al tiempo requerido para realizar el clustering y la entereza teórica se valora bajo los siguientes criterios [2]: El particionado no debe variar drásticamente con la inserción de documentos. Pequeños errores de descripción de los documentos deben ocasionar pequeños cambios de particionado. El método debe ser independiente de la ordenación inicial de los documentos. Las técnicas de clustering trabajan directamente con la colección de documentos y no con el texto de los documentos [11]. Esta es la razón por la que el modelo de clustering no pertenece a ninguno de los paradigmas de recuperación de información (lógico, vectorial o probabilı́stico), ya que el tratamiento del texto puede estar basado en cualquiera de dichos paradigmas, y luego utilizar el modelo de clustering. No hay que olvidar que el clustering pretende trabajar con la estructura intrı́nseca de la colección [4]. Inicialmente el clustering fue investigado para mejorar la precisión y la cobertura (recall ) de los sistemas de recuperación de información y como un camino eficiente de encontrar los vecinos más próximos de un documento. Después, fue propuesto para usarse en la navegación por las colecciones de documentos, o en la organización de los resultados de una consulta, o en la generación automática de jerarquı́as de documentos, o en el análisis de conceptos latentes en conjuntos de documentos desestructurados, etc. [23, 38] En la literatura existe una vasta colección de algoritmos de clustering disponibles, lo cual puede a priori confundir a la hora de seleccionar cual es el más conveniente para un problema dado, pero no hay que olvidar que no hay una técnica de clustering universal que se pueda aplicar a todos los conjuntos de datos [3, 39]. No todas las técnicas de clustering pueden encontrar todos los clusters, y aún pudiéndolos encontrar no todos lo hacen con la misma facilidad. Esto es debido a las asunciones implı́citas que cada algoritmo hace, tales como la forma de los clusters buscados, la configuración de múltiples clusters o los criterios de agrupación entre clusters [3, 39]. Toda esta multitud de métodos de clustering disponibles en la literatura puede ser clasificada fundamentalmente en los siguientes tipos: clustering particional, clustering jerárquico, clustering basado en densidades y clustering basado en grid [3, 5, 6, 40]. Utilización del modelo clustering Al igual que en el modelo LSI o en el vectorial básico se parte de una matriz de pesos de términos por documentos generada a partir de la colección de documentos. A continuación se utiliza el método de clustering elegido y se obtienen los distintos clusters de la colección, en función de la técnica elegida pueden estar estructurados en una jerarquı́a. La consulta del usuario se compara inicialmente con los representantes de cada cluster, generalmente el centroide, mediante una función de cercanı́a o similitud, generalmente el coseno. El cluster más relacionado con la consulta se elegirá y sólo 51 2.4. TRATAMIENTO DE LA CONSULTA los documentos incluidos en dicho cluster serán devueltos como relevantes, ordenados por su grado de proximidad con la consulta. Los métodos de clustering se basan en que los documentos similares a uno que es relevante a una consulta, también tenderán a ser relevantes a la misma consulta, consiguiendo con ello mejorar la cobertura (recall ) del sistema de recuperación de información gracias a la determinación previa de los clusters [89]. 2.4. Tratamiento de la consulta La consulta del usuario debe ser introducida al sistema de recuperación de información de tal forma que éste sea capaz de interpretarla y resolverla, este proceso se realiza en tres fases. La primera conlleva la formulación de la consulta por parte del usuario intentando representar su necesidad de información, esta formulación dependerá mucho de la experiencia y conocimientos del usuario, ası́ como de la forma que el propio sistema de recuperación de información permita introducir la consulta. En una segunda fase, el sistema de recuperación de información traducirá la consulta realizada por el usuario al modelo con el que trabaja. Convertirá las palabras, frases y/o operadores utilizados por el usuario en los términos y relaciones que utiliza para representar la colección de documentos. Por ejemplo, se eliminarán de la consulta cualquier término que no se haya utilizado para caracterizar la colección de documentos (ello incluye las stopwords), se utilizarán métodos de stemming para generar los términos de la consulta si se utilizaron para obtener los términos de la colección. Se podrı́a dar el caso, también, de expandir la consulta añadiendo términos sinónimos o relacionados (mediante tesauros) a aquellos que aparecen en la consulta. Por último, en la tercera fase, el sistema de recuperación de información utilizará la consulta traducida para obtener los documentos de la colección que son relevantes para dicha consulta, presentándolos al usuario. Puede existir una cuarta fase optativa que tratarı́a de mejorar la consulta mediante retroalimentación de la misma. 2.4.1. Tipos de consultas Existen diversos tipos de consultas: booleanas, vectoriales, en lenguaje natural, etc.; y cada tipo, además, se puede sofisticar todavı́a más, fundamentalmente permitiendo utilizar información de dos tipos: de proximidad entre términos y estructural del documento [11, 12]. El tipo de consulta que el usuario podrá formular depende directamente de que tipo o tipos de consulta acepte el sistema de recuperación de información que se va a utilizar, y ello dependerá concretamente de la modelización subyacente al sistema. La preferencia por parte del usuario del tipo de consulta dependerá en parte de su formación y conocimientos, mientras que un usuario más novato o más inexperto probablemente estará más cómodo con una consulta en lenguaje natural un profesional de la información seguramente prefiera un tipo de búsqueda booleana con parámetros de proximidad entre términos [4, 12]. 52 2.4. TRATAMIENTO DE LA CONSULTA Una consulta booleana está formada por términos que recuperan documentos y por operadores booleanos que operan dichos conjuntos de documentos recuperados, devolviendo al final un conjunto concreto de documentos [11]. Los operadores booleanos más habituales son: la disyunción lógica (O), la conjunción lógica (Y) y la negación (No). Este tipo de consulta es el más antiguo y todavı́a es muy utilizado, aunque la mayorı́a de los usuarios no están bien entrenados en operadores booleanos [11, 12]. En las consultas de tipo vectorial se introducen una serie de términos que determinan los documentos relevantes, pero no se utilizan operadores como en las consulta booleanas, de hecho los operadores booleanos generalmente son reconocidos como stopwords y por tanto ignorados [11, 12]. La consulta vectorial, compuestas por términos o palabras clave, son intuitivas, fáciles de expresar y permiten clasificaciones fáciles [11]. En muchas ocasiones este tipo de consultas están formadas por una única palabra, aunque la situación más normal, al menos en Internet, es suministrar unas pocas palabras sobre todo dos o tres. Si la consulta vectorial se comportase como una consulta booleana con operadores disyuntivos (O) dos o tres términos podrı́a ser un buen número, pero al estar basado en el modelo vectorial más términos pueden dar lugar a mejores prestaciones, al definir y sintetizar mejor la consulta [12]. Las consultas en lenguaje natural son formuladas como una oración, es entonces cuando los sistemas de recuperación de información deben extraer los términos que se utilizarán para realizar la búsqueda real; con este tipo de actuación se suele perder el contexto de las palabras perdiendo con ello información discriminante [12]. Algunos sistemas de recuperación de información permiten tener en cuenta en las búsquedas la proximidad de los términos buscados, es decir, tienen la habilidad de buscar términos en un contexto dado. Esta caracterı́stica se fundamenta en que los términos que aparecen cerca de otro pueden dar mayor probabilidad de relevancia que si aparecen lejos [11]. La proximidad puede ser de dos tipos: los términos están contiguos formando una frase o están cerca pudiendo haber cierta distancia entre ellos. La distancia se puede medir de varias formas, destaca la medición por caracteres o términos. Para poder implementar este tipo de búsquedas el sistema de recuperación debe guardar, además de que términos aparecen en cada documento, también información sobre la posición que ocupan cada uno de ellos. Esto conlleva mayores capacidades y requerimientos de computación y almacenamiento. Si el sistema de recuperación de información dispone de información sobre la estructura de los documentos de la colección, entonces se puede aprovechar ésta para realizar las consultas incluyendo la estructura de los documentos. Es decir, permiten al usuario realizar consultas basándose en el contenido y en la estructura del documento, lo cual puede dar lugar a consultas muy potentes y expresivas [11]. 2.4.2. Retroalimentación de la consulta La retroalimentación es un método iterativo de mejora de la consulta basándose en los documentos relevantes de dicha consulta [4, 11, 12, 28, 33, 104]. La idea subyacente es que los términos incluidos en los documentos relevantes a una consulta tienen similitudes entre ellos y que los términos que aparecen en los documentos no relevantes son diferentes a los de los documentos relevantes. 53 2.4. TRATAMIENTO DE LA CONSULTA Por tanto, el procedimiento a seguir consistirá en reformular la consulta de tal forma que se acerque más a los términos de los documentos relevantes (se da más peso a estos términos) y si es posible se aleje más de los términos de los documentos no relevantes (se reduce el peso de estos términos). Con esta forma de actuar se pueden mejorar las prestaciones de recuperación en términos de precisión y cobertura (recall ). Existen experimentos que han mostrado que al reemplazar la consulta con una combinación de unos pocos documentos relevantes la precisión mejora para algunas colecciones [12, 29]. Todo el rato se está hablando de aprovechar la información dada por documentos relevantes, pero lógicamente éstos son el objetivo de la consulta y por lo tanto no se dispone de ellos (una vez alcanzados no tendrı́a sentido seguir con la búsqueda). Entonces lo que hacen los sistemas de recuperación de información es utilizar documentos que a priori se suponen relevantes, o que al menos lo son parcialmente. Hay dos métodos básicos de llevar a cabo la retroalimentación: Automático: El sistema evalúa la consulta y obtiene una clasificación de documentos ordenados por relevancia. Entonces selecciona los primeros de la clasificación y los utiliza para realizar la retroalimentación. Tiene la ventaja de que no precisa la participación del usuario (se hace transparentemente a él) y que es rápido. En contrapartida, la eficacia del método dependerá totalmente de las prestaciones iniciales del sistema. Si los primeros documentos de la clasificación no son realmente relevantes en las siguientes iteraciones las prestaciones empeorarán, por ello es importante priorizar la precisión a la cobertura (recall ). Manual: El usuario evalúa unos pocos documentos de la clasificación ofrecida por el sistema de recuperación y determina si son o no son relevantes. En el paso siguiente el sistema utiliza dicha selección para realizar la retroalimentación. Tiene la ventaja que los documentos que pretenden mejorar la consulta son realmente relevantes o no para el usuario, y por tanto la consulta se acercará o alejará de ellos de forma correcta. El principal inconveniente es que el proceso es lento, ya que se deben analizar algunos documentos. De hecho será tanto más lento cuantos más documentos se evalúen. Basándose en que sea Dr el conjunto de documentos relevantes identificados por el usuario entre los documentos recuperados, sea Dn el conjunto de documentos no relevantes entre los documentos recuperados, sea Cr el conjunto de documentos relevantes entre todos los documentos de la colección; basándose también en que |Dr |, |Dn | y |Cr | sean el número de documentos de los conjuntos Dr , Dn y Cr respectivamente; y en que α, β y γ sean constantes de ajuste; se puede definir de forma más matemática la retroalimentación óptima ideal por la siguiente fórmula (siendo n el número de documentos total de la colección) [11]. qopt = X 1 1 X d− d |Cr | n − |Cr | ∀d∈Cr (2.6) ∀d∈C / r La fórmula 2.6 define una situación ideal e irreal, ya que el conjunto completo Cr de documentos relevantes para una consulta q no se conoce, de hecho ese es el 54 2.5. MÉTODOS DE EVALUACIÓN conjunto de documentos buscado. Entonces lo que se hace es reformular la consulta en base a los conjuntos Dr y Dn que sı́ se pueden conocer. Aunque existen multitud de maneras de hacerlo es famosa la formulación de Rochio [11]: qm = αq + γ X β X d− d |Dr | |Dn | ∀d∈Dr (2.7) ∀d∈Dn En la fórmula de Rochio (expresión 2.7) destaca que los términos de la consulta original son utilizados y que usualmente a la información contenida en los documentos relevantes se le da más importancia que a la suministrada por los documentos no relevantes (por tanto la constante γ será más pequeña que la constante β). Una alternativa, también ampliamente utilizada, es utilizar sólo una estrategia de retroalimentación positiva estableciendo γ a cero. La principal ventaja de la técnica de retroalimentación de Rochio (expresión 2.7) es su simplicidad y sus buenos resultados. La simplicidad se debe a que los términos modificados se obtienen directamente de los documentos recuperados. Y los buenos resultados se observan experimentalmente, los cuales se deben a que la consulta modificada refleja una parte de la semántica pensada, de la necesidad de información real del usuario. Otra forma de mejorar la consulta consistirı́a en expandirla, añadiendo o sustituyendo cada término de la consulta original con un sinónimo o un término relacionado mediante, por ejemplo, un tesauro [4]. Lógicamente, esta forma de actuar no excluye al método citado anteriormente, siendo ambos complementarios. 2.5. Métodos de evaluación Cuando se crea un nuevo sistema de recuperación de información (básicamente un nuevo algoritmo) o se modifica uno ya existente hay que estudiar si éste aporta mejores prestaciones, y en que magnitud lo hace. Este problema es muy sutil y resbaladizo, y normalmente se embellece o desenfatiza [43]. A la hora de valorar la calidad de un sistema de recuperación o algoritmo se plantea la difı́cil y delicada tarea de balancear tres aspectos fundamentales: velocidad, precisión y cobertura [14]. Figura 2.6: Relación de equilibrio de prestaciones. 55 2.5. MÉTODOS DE EVALUACIÓN Como se puede observar en la figura 2.6 en la página anterior [14] llegar a mejorar los tres factores es imposible, siempre hay alguno que empeora al mejorar los otros dos, por lo cual es necesario llegar a un compromiso entre ellos. También se podrı́a hablar de un cuarto aspecto importante para medir la calidad de un sistema, los requerimientos de espacio de almacenamiento, valorándose más cuanto menos espacio sea necesario. De hecho, en general, para cualquier algoritmo las prestaciones de respuesta se miden en función del tiempo de respuesta (velocidad) y de la complejidad espacial (espacio de almacenamiento requerido). Lo que se particulariza es la medida de prestaciones referentes a la calidad de los resultados, ya que dependiendo de los objetivos del algoritmo dichas prestaciones se miden de una forma u otra. En la recuperación de información se han desarrollado algunos estándares de evaluación que permiten discutir y comparar la calidad de los resultados de diferentes búsquedas en distintos sistemas de recuperación de información [12]. La evaluación de la calidad de las respuestas de un sistema de recuperación de información se suele basar en la medición directa o indirectamente de la precisión (los documentos devueltos son sólo los relevantes) y la cobertura (todos los documentos relevantes son devueltos) de dicho sistema en relación a una colección de prueba (conjunto de documentos y consultas de las cuales se conocen los documentos relevantes). Cambia la forma de evaluar el resultado de una consulta del de una sesión interactiva (o una combinación de ambas). Durante una sesión interactiva se deberı́a evaluar las caracterı́sticas del diseño de la interfaz, la ayuda del sistema, la duración de la sesión y el esfuerzo del usuario, y aunque pueden ser aspectos crı́ticos, pero en la evaluación de los resultados de una consulta ninguno de estos aspectos es importante en comparación con la calidad del conjunto respuesta devuelto [11]. Existen diferentes medidas de evaluación de calidad y dependiendo de las utilizadas pueden variar los resultados al evaluar distintos sistemas de recuperación; sin embargo, si un algoritmos funciona mejor que otro en varias de esas posibles medidas de evaluación entonces se puede decir que es mejor, al menos para la situación que se está evaluando [38]. 2.5.1. Evaluación especı́fica de clusters Los métodos de clustering tienen algunas caracterı́sticas especı́ficas respecto a otros métodos de recuperación de información, por ello mismo también tienen ciertas caracterı́sticas propias a la hora de ser evaluados. De hecho, casi lo más importante es determinar si los clusters generados contribuyen a una recuperación de información efectiva [4], en otras palabras, si son útiles. Cualquier proceso de clustering puede ser realizado [43]: Por expertos humanos: Se asume que estas particiones son “correctas”, aunque el problema es que los expertos humanos únicamente pueden procesar pequeñas cantidades, y que su evaluación es subjetiva. Por métodos automáticos: Tienen la ventaja de ser capaces de procesar ingentes cantidades de información, pero su evaluación no es sencilla. 56 2.5. MÉTODOS DE EVALUACIÓN La evaluación de los resultados obtenidos por un algoritmo de clustering se puede enfocar desde dos puntos de vista distintos [4, 5, 7, 8, 38, 43, 103]: Evaluación de la calidad externa: Se asume que es buena si da lugar a la misma partición que un experto humano. La entropı́a o la medida F son ampliamente usadas para evaluar la calidad externa. Evaluación de la calidad interna: Se asume que no hay información externa (incluida una partición por expertos humanos), por tanto, sólo el algoritmo es evaluado, no el proceso entero de clustering. La similitud global es muy utilizada para evaluar la calidad interna. Los méritos y peligros de ambas evaluaciones se puede resumir en [43]: Maximizar la calidad externa es el objetivo final en cualquier aplicación práctica de clustering. El principal lı́mite de la evaluación de la calidad externa es que es subjetiva, dado que es fuertemente dependiente de un proceso de clustering dirigido por humanos. Usar la calidad interna es el mejor camino de medir las prestaciones de un algoritmo de clustering. Obviamente alta calidad interna no garantiza buenos resultados del proceso global de clustering en una aplicación especı́fica, dado que tales resultados también dependen de otros pasos crı́ticos como la selección de caracterı́sticas y el preprocesamiento. 2.5.2. Medidas de evaluación estándar La precisión (precision) y la cobertura (recall ) son dos de las definiciones estándares más usadas en la evaluación de sistemas de recuperación de información. Cómo están directamente relacionadas se suelen estudiar juntas, y prácticamente todas las medidas de evaluación existentes se basan directa o indirectamente en ellas. Siendo Dr el número de documentos relevantes recuperados y Dt el número total de documentos recuperados; la precisión P se define como la fracción de los documentos recuperados que son relevantes: P = Dr Dt (2.8) Siendo, de nuevo, Dr el número de documentos relevantes recuperados y Nr el número total de documentos relevantes en la colección; la cobertura (recall ) R se define como la fracción de los documentos relevantes que son recuperados: R= Dr Nr 57 (2.9) 2.5. MÉTODOS DE EVALUACIÓN En la figura 2.7 se muestra gráficamente el resultado de una consulta, en dicha imagen se puede observar claramente los conjuntos de documentos que determinan la precisión (expresión 2.8 en la página anterior) y la cobertura (expresión 2.9 en la página anterior). Figura 2.7: Representación del resultado de una consulta. Es importante no olvidar que la relevancia de un documento es una cuestión subjetiva, de hecho dos sistemas de recuperación ante la misma consulta pueden dar distinta relevancia al mismo documento. También hay que tener en cuenta que el número total de documentos relevantes nunca es conocido, aunque ello no reduce la utilidad de la cobertura. La relación entre precisión y cobertura es clara, un sistema de recuperación de información busca la mayor precisión y la mayor cobertura, pero ambas caracterı́sticas se afectan mutuamente obligando a llegar a un compromiso entre ellas. Si se desea mucha precisión se corre el riesgo de perder documentos relevantes. Pero si se obtienen muchos documentos respuesta para garantizar la obtención de todos los relevantes, entonces existirá mucho ruido, muchos documentos que realmente no son relevantes. La precisión y la cobertura asumen que todos los documentos del conjunto respuesta han sido examinados. Sin embargo, el usuario examina la clasificación desde el documento más relevante, con lo cual, la precisión y la cobertura irán variando a medida que el usuario revise los documentos [11]. Sea Di el número de documentos relevantes hasta la posición i, inclusive, de la clasificación de documentos devuelta. Entonces la cobertura en el documento i-ésimo de la clasificación, Ri se define como Di ). Y la precisión la proporción de documentos relevantes hasta ese momento (Ri = N r en el documento i-ésimo, Pi se define como la proporción de documentos hasta la posición i, inclusive, que son relevantes para la consulta dada (Pi = Dii ). Un gráfico de precisión versus cobertura representa p puntos de precisión generados sobre la cobertura de forma uniformemente espaciada tomando valores entre 0 y 1, formando siempre una curva no incremental [31]. La curva de precisión versus cobertura normalmente se basa en once niveles (11 puntos) de cobertura estándar 58 2.5. MÉTODOS DE EVALUACIÓN (0 %, 10 %, 20 %,..., 100 %), los cuales son obtenidos por interpolación [11]. En la figura 2.8 se muestran tres curvas tı́picas de precisión versus cobertura para los once niveles estándares. Figura 2.8: Curvas tı́picas de precisión versus cobertura. El procedimiento de interpolación, imprescindible en casos tales como cuando una consulta presenta menos de diez documentos relevantes, se basa en elegir la precisión máxima entre un nivel y el siguiente. Sea rj la referencia a los j-ésimos niveles de cobertura estándar, teniendo en cuenta que j ∈ {0, 1, 2, ..., 10}. Entonces la precisión interpolada en el nivel de cobertura estándar j-ésimo, el cual es la máxima precisión conocida en cualquier nivel de cobertura entre el nivel j-ésimo y j-ésimo más uno, es: P (rj ) = máx rj ≤r≤rj +1 P (r) (2.10) De esta forma se consigue la curva de precisión versus cobertura para una consulta simple, pero lo normal es evaluar mediante varias consultas distintas. En estos casos lo que se genera es la media de todas las curvas de precisión versus cobertura. Siendo Nq el número de consultas y Pi (r) la precisión al nivel de cobertura r para la consulta i-ésima, la precisión media en el nivel r será: P (r) = Nq X Pi (r) i=1 Nq (2.11) Una opción alternativa o adicional a la curva media de precisión versus cobertura es la precisión media en un valor de corte de documentos establecido (por ejemplo al encontrar 5, 10, 20, 50 ó 100 documentos relevantes). En general recibe el nombre de r-precision definiéndose como la precisión después de r documentos y siendo la rprecision para múltiples consultas la media de las r-precision para todas ellas aunque dicha media puede ser bastante imprecisa [11, 31]. 59 2.5. MÉTODOS DE EVALUACIÓN La utilidad de las curvas de precisión versus cobertura radica en que permiten evaluar cuantitativamente tanto la calidad del conjunto de respuestas como la calidad de la cobertura del sistema de recuperación de información, permitiendo ası́ comparar diferentes sistemas. Además, son intuitivas y se pueden combinar en una única curva simple. De todas formas, a veces, también es interesante utilizar otras medidas que combinen la precisión y la cobertura en una única medida simple, ya que éstas están relacionadas y capturan aspectos diferentes a tener en cuenta. 2.5.3. Otras medidas de evaluación menos comunes Aunque la precisión y la cobertura son medidas estándares y muy populares, no siempre son las medidas más apropiadas para evaluar las prestaciones de recuperación [11], por ello durante años han ido apareciendo y siendo propuestas numerosas medidas alternativas, entre las que destacan las siguientes: Media harmónica: Sirve para medir la calidad de un cluster y su definición combina la precisión y la cobertura estándar del j-ésimo documento de la clasificación, tomando el valor uno con la precisión y cobertura perfectas y el valor cero con precisión y cobertura nulas [11, 92]: Fj = 1 pj 2 + (2.12) 1 rj Medida E (E measure): También combina la precisión y la cobertura para el jésimo documento de la clasificación, pero permitiendo especificar la importancia relativa entre ellas mediante el parámetro b (b = 1 equivale al complemento de la media harmónica, b > 1 potencia la precisión y b < 1 potencia la cobertura [11]: Ej = 1 − 1 + b2 b2 1 rj + p j (2.13) Entropı́a: Definiendo pij como la probabilidad de que un miembro del cluster j pertenezca al cluster i, la entropı́a de cada cluster j serı́a Ej y la entropı́a total ET es la suma de las entropı́as de cada cluster pesadas por sus tallas, siendo nj la dimensión del cluster j, m el número de clusters y n el número total de datos [92]: Ej = − X pij log pij i ET = m X nj Ej j=1 n (2.14) Histogramas de precisión: La medida de evaluación r-precision cuando se aplica a varias consultas puede ser utilizada para comparar la calidad de recuperación de dos sistemas distintos. Siendo RPA (i) y RPB (i) los valores de la r-precision de los sistemas de recuperación A y B, respectivamente, para la consulta i-ésima; 60 2.5. MÉTODOS DE EVALUACIÓN se define RP (i) = RPA (i) − RPB (i) [11]. Un valor de RP (i) igual a cero significa que ambos sistemas presentan prestaciones equivalentes para la consulta i-ésima, un valor positivo indicarı́a que el sistema A alcanza mejores prestaciones, y un valor negativo destacarı́a al sistema de recuperación B como el de mejores prestaciones. Los análisis mediante diferencias entre medidas r-precision se suelen representar mediante histogramas de precisión que representan las diferencias de prestaciones entre los dos sistemas para todas las consultas estudiadas. En la figura 2.9 se presenta un histograma de precisiones tı́pico donde el sistema de recuperación A presenta en general mejores prestaciones que el sistema de recuperación de información B. Figura 2.9: Histograma de precisión tı́pico. Ratios coverage y novelty : La precisión y la cobertura se basan en la asunción de que los documentos relevantes para una consulta dada son los mismos independientemente de los usuarios, pero usuarios diferentes seguramente tendrán interpretaciones distintas de cuales documentos son relevante y cuales no. Con el objetivo de tener este aspecto en cuenta surgieron dos ratios, el coverage y el novelty, que miden la cobertura relativa y el esfuerzo de cobertura [11]. Dada una colección y una consulta, se define R como el conjunto de documentos relevantes, A como el conjunto de documentos respuesta, U como el subconjunto de R que es conocido por el usuario, RK como la intersección del conjunto A y U que serán los documentos relevantes recuperados y conocidos por el usuario, y RU como el conjunto de documentos relevantes recuperados desconocidos previamente por el usuario. Sea |U |, |RK | y |RU | el número de documentos de los conjuntos U , RK y RU respectivamente. Basándose en todo ello se define [11]: Coverage: Fracción de documentos conocidos por el usuario como relevantes k| que han sido recuperados: coverage = |R |U | . 61 2.5. MÉTODOS DE EVALUACIÓN Novelty: Fracción de documentos relevantes recuperados desconocidos por u| el usuario: novelty = |Ru|R |+|Rk | . Cobertura relativa: Relación entre el número de documentos relevantes encontrados por el sistema y el número de documentos relevantes que el usuario esperaba encontrar. Esfuerzo de cobertura: Relación entre el número de documentos relevantes que el usuario espera encontrar y el número de documentos examinados intentando encontrar dichos documentos relevantes esperados. 2.5.4. Colecciones de prueba para evaluación Las colecciones de prueba consisten en colecciones de documentos, las cuales llevan asociadas información añadida que permite hacer evaluaciones. Concretamente, suelen presentar un conjunto de consultas y los documentos relevantes a las mismas (decididos por especialistas). Estas colecciones permiten estudiar el comportamiento de diversos sistemas de recuperación de información, ya que facilitan enormemente la tarea de calcular medidas de calidad de recuperación. Aunque históricamente casi todas las colecciones de prueba ampliamente aceptadas han sido de tamaño relativamente pequeño, cada vez existen más colecciones de prueba de dimensiones mayores que caracterizan mejor a las grandes colecciones reales. Dentro de este campo destaca la conferencia anual TREC (Text REtrieval Conference) [105], nacida a principios de los noventa, la cual se dedica a la experimentación con colecciones de pruebas enormes, llegando incluso a un millón de documentos. En cada conferencia TREC se designan un conjunto de experimentos de referencia y los investigadores participantes los usan para comparar sus sistemas de recuperación de información. 2.5.5. Colecciones de prueba utilizadas En esta tesis se ha utilizado como principal método de evaluación las colecciones de prueba, concretamente se han empleado para tal fin tres colecciones de prueba distintas. Las tres están formadas por una colección de documentos, un conjunto de consultas y los documentos relevantes a las mismas. Las tres colecciones versan sobre temáticas totalmente diferentes, una sobre noticias principalmente polı́ticas, otra sobre un tema muy concreto, la fibrosis cı́stica, y la última sobre resúmenes del departamento americano de energı́a. El tamaño de dichas colecciones también es variado, va desde una pequeña colección de 425 documentos, pasando por otra que aproximadamente los triplica, hasta una colección muy grande con más de 226000 documentos. Colección: Times Magazine 1963 La colección “Times Magazine 1963 ” contiene artı́culos del ’Times Magazine’ de 1963, fue obtenida de ftp://ftp.cs.cornell.edu/pub/smart/time/. El idioma de la colección es el inglés. La colección incluye 425 documentos, 83 consultas de prueba con las 62 2.5. MÉTODOS DE EVALUACIÓN consiguientes referencias a los documentos relevantes a las mismas, y una lista de stopwords. El tema principal de la colección son las noticias mundiales, especialmente las referidas a polı́tica internacional. Incluso parecen centradas en la guerra frı́a. La estructura de los ficheros es la siguiente. Todos los documentos se encuentran en un único fichero, separados uno de otro por una lı́nea del tipo “-TEXT-043 01/18/6326”. La palabra identificativa “TEXT” entre guiones, un número diferente para cada texto y tres números más separados por “/” los cuales se pueden repetir. El fichero de stopwords está formado por un término o sı́mbolo en cada lı́nea. Existe otro fichero que incluye todas las consultas una detrás de la otra, cada una empieza con una lı́nea que incluye el texto “-TOPIC-”. El fichero con la relación de documentos relevantes a cada consulta está formado por una columna para cada una de ellas, en el mismo orden que aparecen en el fichero de consultas. Cada columna está formada por los números que identifican al documento relevante correspondiendo el uno al primero que aparece en el fichero de documentos, dos al segundo y ası́ sucesivamente, el cero no indica nada sólo está para rellenar. Colección: Cystic Fibrosis Database La colección “Cystic Fibrosis Database” [11, 106] está formada por 1239 documentos escritos en inglés y publicados desde 1974 a 1979 sobre aspectos de fibrosis cı́stica, e incluye 100 consultas con sus respectivos documentos relevantes. Existe un fichero por cada uno de los años contemplados, que incluye los documentos referentes a ese año. Todos los ficheros presentan el mismo formato, once campos, donde destacan el campo “RN” que identifica cada documento con un número entre 1 y 1239, y el campo con el resumen del texto original que puede estar identificado con la etiqueta “AB” o con la “EX”. El fichero con las consultas y sus documentos relevantes incluye cuatro campos por consulta. El primero “QN” es el número identificativo de la consulta. El segundo “QU” es el texto de la consulta. El tercero “NR” indica el número de documentos relevantes. Y el cuarto y último “RD” da información sobre los documentos relevantes para esa consulta desde cuatro evaluaciones distintas y tres grados de relevancia (2, 1, y 0) de mayor a menor relevancia. Este campo está organizado por pares de columnas, cada par tiene una primera columna con el número de documento relevante y luego otra columna con cuatro números que identifican la relevancia por cada una de las fuentes evaluadoras. La colección incluye un fichero con más información. Colección: TREC-DOE La colección “TREC-DOE ”, obtenida del TREC (“Text REtrieval Conference”) [105], contiene resúmenes (abstracts) del departamento de energı́a de EEUU (DOE -Department Of Energy-). El idioma de la colección es el inglés. La colección incluye 226087 documentos y 200 consultas de prueba con la consiguientes referencias a los documentos relevantes a las mismas. La estructura de los ficheros es la siguiente. Todos los documentos se encuentran en un único fichero. Cada documento empieza con una lı́nea con la etiqueta “<DOC>”, 63 2.6. CONCLUSIONES seguidamente incluye otra lı́nea donde aparece el identificativo único del documento entre las etiquetas “<DOCNO>” y “</DOCNO>”, luego en una nueva lı́nea aparece la etiqueta que identifica el comienzo del texto “<TEXT>” y a continuación aparece el contenido propiamente dicho del documento usando todas las lı́neas necesarias, por último aparecen en dos nuevas lı́neas las etiquetas de fin del texto y de fin del documento, “</TEXT>” y “</DOC>” respectivamente. El fichero de consultas es algo complejo, ya que cada consulta tiene varios campos de información algunos de ellos optativos. Lo importante es saber que cada consulta está delimitada por las etiquetas “<top>” y “</top>” y que el texto que se ha de utilizar como consulta es el identificado por la etiqueta “<title>” seguida de la palabra ”Topic:”. También se podrı́a utilizar el texto que acompaña a la etiqueta “<desc>” y a la palabra “Description:”. Destaca también el campo definido por la etiqueta “<narr>” seguida de “Narrative:” que explica el tema que deben tratar los documentos para que éstos sean relevantes. Y el campo identificado por “<num>” y la palabra “Number:” es uno de los más importantes ya que indica el número de la consulta. El fichero con la relación de documentos relevantes para las consultas dadas tiene el siguiente formato. Una primera columna con el número identificativo de la consulta a la que hace referencia, una segunda columna que no se usa, normalmente suele ser cero, una tercera columna con el identificativo de un documento evaluado, y una cuarta y última columna con el resultado de la evaluación, cero si el documento no es relevante y uno si lo es. No tienen por que estar referenciados todos los documentos, de hecho sólo aparecen los que han sido evaluados, los demás han sido considerados irrelevantes. El orden en el que aparecen los documentos no indica ningún grado de relevancia, es decir, el primero en aparecer no tiene por que ser más o menos relevante que el segundo. La relevancia sólo se indica por el número de la última columna y un documento es o no es relevante. 2.6. Conclusiones En esta tesis al hablar de sistema de recuperación de información se hace referencia a aquellos sistemas formados por documentos textuales, sin una estructura determinada y almacenados digitalmente, y además, se presupone que la colección no varı́a sustancialmente en su contenido. De todas las posibles lı́neas de investigación que han surgido en la búsqueda de extraer la información de interés en el momento oportuno esta tesis se centra en la recuperación de información, dejando de lado la minerı́a de datos (Data Mining), la navegación (Browsing), la clasificación y el filtrado (Filtering). El principal objetivo de los sistemas de recuperación de información será proporcionar aquellos documentos que se consideran relevantes y omitir los considerados irrelevantes respecto a una consulta dada. El trabajo desarrollado en la tesis se centra en la organización, manipulación y evaluación automática de la información, a diferencia de la vertiente manual, muy utilizada hace mucho tiempo pero hoy en dı́a en desuso (salvo algunas excepciones). También se omite la alternativa mixta, bastante poco habitual. 64 2.6. CONCLUSIONES En general, existe una diferencia entre lo mucho que la gente espera de los sistemas de recuperación de información y los resultados normalmente no tan buenos, la cual se debe fundamentalmente a la problemática intrı́nseca de los sistemas de recuperación de información y a que siempre va a ver una diferencia, mayor o menor, entre la necesidad de información de un usuario y la expresión o representación de la misma en una consulta. Normalmente las consultas presentadas suelen ser vagas y poco precisas, mientras que en cambio se espera obtener respuestas concisas y bien organizadas. Los problemas más destacables de los sistemas de recuperación son: La polisemia y la sinonimia, teniendo en cuenta que se pueden dar también a expresiones y no sólo a palabras sueltas. Las palabras relacionadas, que son conjuntos de palabras que por separado tienen un sentido, pero que si se toman como un grupo tienen otro distinto. La enormidad de la información a manejar, que hace fundamental encontrar métodos con muy buenas prestaciones de almacenamiento y computación. La heterogeneidad de los documentos, que dificulta la caracterización de los mismos de forma que se puedan comparar unos con otros para evaluar la información que ofrecen. La influencia de las distintas partes de un documento, que puede obligar a ponderar la importancia de un término en función de su localización en el texto. La interfaz de usuario, que puede provocar que un sistema se utilice o deje de utilizar independientemente de la calidad del sistema en la recuperación de información. De todos ellos esta tesis se centra directa o indirectamente en unos pocos de ellos, concretamente en la polisemia y la sinonimia, las palabras relacionadas (indirectamente mediante la lematización semántica) y en la enormidad de la información a manejar. El desarrollo de un sistema de recuperación de información comprende básicamente cuatro fases distintas. La cuarta fase serı́a la de utilización del sistema para la obtención de información relevante a partir de consultas, en la cual la tesis no entra. Las tres primeras corresponderı́an al desarrollo propiamente dicho del sistema y serı́an: La fase de preprocesamiento: conlleva las acciones necesarias para transformar los documentos de la colección en una estructura de datos con la información relevante de los documentos que será la base para la modelización. Una parte importante de la tesis ha estudiado esta fase, centrándose en la reducción al máximo de los datos y estructuras a manejar maximizando la información contenida en ellos. Concretamente se ha hecho especial hincapié en la reducción de los efectos negativos de la polisemia y sinonimia en los textos mediante el uso de técnicas como el stemming, la lematización semántica y reducciones heurı́sticas. 65 2.6. CONCLUSIONES La fase de modelización: es la que se encarga de definir la estructura y comportamiento del sistema de recuperación de información, tanto a nivel de colección, como de consulta, sin olvidar la presentación de resultados. Esta tesis se centra en el modelo vectorial, dejando a parte otros modelos como el probabilı́stico y el lógico, con todas sus variantes. Incluso dentro del modelo vectorial la tesis se centra en el modelo de indexación semántica latente (LSI) y en técnicas de clustering vectoriales. La fase de evaluación: es la encargada de determinar la calidad del sistema de recuperación de información y es una de las más complejas al intervenir multitud de aspectos subjetivos sobre la calidad del sistema. La tesis tampoco hace estudios centrados en esta fase, se limita a utilizar métodos ya definidos y ampliamente usados y corroborados, todos ellos basados en el uso directo o indirecto de la precisión (precision) y la cobertura (recall ). La precisión serı́a la relación entre el número de documentos relevantes recuperados y el número total de documentos recuperados. Mientras que la cobertura (recall ) serı́a la relación entre los documentos recuperados como relevantes y los realmente relevantes. Durante el proceso de creación de un sistema de recuperación de información, la fase del preprocesamiento es la inicial. En ella se convierten los documentos de la colección en una estructura de datos que sintetiza la información relevante de los documentos. Las cinco transformaciones fundamentales que suelen tener lugar son: Análisis léxico para identificar los términos. En esta tesis se ha realizado mediante una extracción automática, obteniendo una lista inicial de palabras clave que posteriormente se refinan. Eliminación de las palabras carentes de significado (stopwords). Este es el primer refinamiento que se hace, obteniendo una reducción considerable de la lista de los términos ı́ndice, con la consiguiente mejora de las prestaciones computacionales, espaciales y temporales. Unificación de términos según su raı́z sintáctica (stemming) o semántica (lematización). Siguiente refinamiento que se ha estudiado en la tesis, haciendo comparativas entre los mismos en relación a las prestaciones de recuperación, y obteniendo comportamientos parecidos aunque algo mejores con el stemming. Ambas reducen el número de términos ı́ndice, mejorando con ello también las prestaciones computacionales. Reducción de los términos identificativos de la colección (unificación de formatos, reducciones heurı́sticas, etc.). Dentro de las diferentes opciones de reducción la tesis se ha centrado en las reducciones heurı́sticas. Éstas se han basado en la eliminación de los términos que a priori podrı́an ser significativos pero que son muy infrecuentes o demasiado frecuentes y su eliminación compensa en prestaciones computacionales minimizando la pérdida de prestaciones de recuperación. 66 2.6. CONCLUSIONES Utilización de tesauros. Este último refinamiento no se ha tenido en cuenta en la tesis. Se basa en una lista precompilada de palabras a las que se asocia un conjunto de palabras relacionadas generalmente derivadas de una relación de sinonimia. El enfoque de modelización utilizado en esta tesis está basado en el paradigma vectorial, tanto los documentos como las consultas se modelizan mediante vectores mdimensionales que contienen el peso de cada término, superando ası́ la restricción del uso de pesos binarios y posibilitando una correspondencia parcial con un grado de similitud entre consultas y documentos, el cual permite ordenar los documentos recuperados por similitud (ranking). Además, al trabajar en espacios vectoriales, facilita la implementación de métodos de retroalimentación de la consulta. Concretamente, los documentos son representados como vectores de términos, teniendo cada elemento un peso que denota la importancia del término en el documento. El conjunto de los vectores documento forman la matriz que representa la colección, una matriz dispersa denominada matriz de pesos. Las consultas se definen análogamente a los documentos, como vectores de términos. Y para determinar los documentos relacionados con una consulta se mide el grado de similitud entre el vector consulta y los vectores documentos. Un aspecto importante del método vectorial es el adecuado pesado de los términos. La función que determina el peso de cada elemento de la matriz está formada por tres componentes distintos: el peso local (importancia relativa de un término en un documento), el peso global (importancia de un término en relación a todos los documentos de la colección) y un factor de normalización (minimiza la influencia de la longitud de los documentos). La elección del primero depende de las caracterı́sticas de la colección, principalmente de su vocabulario. El factor global está influido por lo habitual que sean los cambios en la colección. Esta tesis no se ha centrado en el estudio de las diferentes funciones de pesado, de hecho ha utilizado uno de los pesos más ampliamente usado y adecuado al tipo y caracterı́sticas de las colecciones de prueba utilizadas (lenguaje general y vocabulario estático, con lo cual el esquema elegido es el tfn). Existen muchos métodos para medir la similitud entre los documentos y la consulta, aunque el más común y más utilizada suele ser el coseno del ángulo que forman el vector consulta y los vectores documento. Si el pesado incluye normalización la medida de similitud pasarı́a a ser el producto escalar de ambos vectores. Esta ha sido la medida de similitud elegida a lo largo de toda la tesis. Existen tres modelos como alternativas al paradigma algebraico: el modelo vectorial generalizado, en el que se asume que los vectores ı́ndice son linealmente independientes pero no ortogonales; el modelo de indexación semántica latente (LSI -Latent Semantic Indexing- ); y el modelo de redes neuronales. El modelo de Indexación Semántica Latente (LSI -Latent Semantic Indexing-) ha sido uno de los utilizados en los estudios presentados en la tesis. Éste se basa en una recuperación de información conceptual, fundamentándose en la asunción de que existe una estructura latente en los términos utilizados, la cual se encuentra oculta por la variabilidad en la elección de términos. Ya que en la LSI las búsquedas están 67 2.6. CONCLUSIONES fundamentadas en los conceptos y no en los términos se pueden obtener documentos que no comparten ningún término con la consulta (sinonimia), e incluso no recuperar documentos que sı́ que comparten términos con la consulta (polisemia). El modelo LSI trabaja con aproximaciones de bajo rango, utilizando algoritmos tales como la factorización QR, el análisis de componentes principales (PCA -Principal Component Analysis-) y la descomposición en valores singulares (SVD -Singular Value Decomposition-), esta última herramienta es la utilizada en la tesis al usar el modelo LSI. La idea principal del modelo LSI reside en la reducción de dimensionalidad, de rango, se proyecta cada documento dentro de un espacio dimensional más pequeño, el cual de forma explı́cita tendrá en cuenta la relación y dependencia entre términos. El rango de la matriz aproximada k será mucho menor que el rango de la matriz de pesos mı́n (m, n), es decir k mı́n (m, n), pero determinar el rango óptimo k es una cuestión abierta, aunque está bastante claro que es muy dependiente de la colección. Éste ha sido uno de los principales problemas que han aparecido al trabajar con este modelo. La complejidad del modelo LSI suele conllevar que sus prestaciones computacionales, de ejecución y respuesta, estén muy por debajo de los otros modelos vectoriales. Y este aspecto es el que ha llevado a estudiar otros modelos, concretamente el de clustering. Aunque el modelo de clustering no está únicamente relacionado con el paradigma vectorial, muchos de los métodos de clustering (y todos los desarrollados en el marco de esta tesis) trabajan partiendo de una representación vectorial y utilizando técnicas de cálculo de distancias iguales o similares a las utilizadas en el modelo vectorial. Realmente las técnicas de clustering trabajan directamente con la colección de documentos y no con el texto de los documentos, por lo que no pertenecen a ninguno de los paradigmas de recuperación de información (lógico, vectorial o probabilı́stico). Los métodos de clustering, básicamente, tratan de separar una colección de documentos en dos conjuntos disjuntos distintos apoyándose en una vaga descripción de uno de los conjuntos (consulta): el primero de los conjuntos estará formado por todos los objetos relacionados con dicha descripción vaga y el otro por todos los objetos que no están relacionados. Normalmente, parten inicialmente la colección en diferentes grupos (los clusters), donde los miembros de una agrupación son documentos más similares entre sı́ que a los de las demás agrupaciones. La hipótesis de base es que los documentos relevantes tienden a estar más cerca los unos de los otros que los documentos no relacionados. El clustering puede encontrarse en muy diferentes contextos a parte de la recuperación de información: generación de hipótesis, prueba de hipótesis, reducción de información, predicción basada en grupos, negocios, análisis de datos espaciales, minerı́a en la web, etc.; aunque también puede aparecer referenciado de distintas formas tales como aprendizaje no supervisado en reconocimiento de patrones, taxonomı́as numéricas en biologı́a o ecologı́a, tipologı́as en ciencias sociales, o particiones en teorı́a de grafos. Toda esta multitud de métodos de clustering disponibles en la literatura puede ser clasificada fundamentalmente en los siguientes tipos: clustering particional, clustering jerárquico, clustering basado en densidades, clustering basado en grid, clustering basado en modelos y clustering de información categórica. En esta tesis se han utilizado dos tipos fundamentalmente: clustering jerárquico y clustering basado en densidades. 68 2.6. CONCLUSIONES En este trabajo la consulta del usuario no se ha analizado, se han utilizado aquellas consultas que las colecciones de prueba aportaban. Las consultas se han traducido al modelo vectorial elegido y luego han sido utilizadas para la evaluación. Posibles mejoras de los resultados mediante la retroalimentación de la consulta no se han trabajado. La retroalimentación es un método iterativo de mejora de la consulta basándose en los documentos que se suponen a priori relevantes a dicha consulta. El procedimiento a seguir consistirá en reformular la consulta de tal forma que se acerque más a los términos de los documentos relevantes (se da más peso a estos términos) y si es posible se aleje más de los términos de los documentos no relevantes (se reduce el peso de estos términos). Con esta forma de actuar se pueden mejorar las prestaciones de recuperación en términos de precisión y cobertura (recall ). A la hora de valorar la calidad de un sistema de recuperación o algoritmo se plantea la difı́cil y delicada tarea de balancear tres aspectos fundamentales: velocidad, precisión y cobertura (recall ); teniendo en cuenta que llegar a mejorar los tres factores es imposible, hay que llegar a un compromiso entre ellos. En esta tesis se ha dado más importancia a la precisión y la cobertura (recall ) que a la velocidad de respuesta, aunque siempre manteniendo unos tiempos aceptables. De hecho no se ha compensado mejora de velocidad con calidad de respuesta, salvo en la fase de preprocesamiento cuando se ha utilizado un método heurı́stico para eliminar términos muy poco frecuentes, y aún ası́ la perdida en recuperación ha sido prácticamente nula y la mejora de prestaciones computacionales enorme. Aunque es importante no olvidar que la relevancia de un documento es una cuestión subjetiva, de hecho dos sistemas de recuperación ante la misma consulta pueden dar distinta relevancia al mismo documento, la evaluación de la calidad de las respuestas de un sistema de recuperación de información se suele basar en la medición directa o indirectamente de la precisión (los documentos devueltos son sólo los relevantes) y la cobertura (todos los documentos relevantes son devueltos) de dicho sistema en relación a una colección de prueba (conjunto de documentos y consultas de las cuales se conocen los documentos relevantes). Las colecciones de prueba consisten en colecciones de documentos, las cuales llevan asociadas información añadida que permite hacer evaluaciones. Concretamente, suelen presentar un conjunto de consultas y los documentos relevantes a las mismas (decididos por especialistas). Estas colecciones permiten estudiar el comportamiento de diversos sistemas de recuperación de información, ya que facilitan enormemente la tarea de calcular medidas de calidad de recuperación. Este ha sido la principal herramienta de evaluación de la calidad de recuperación de los métodos desarrollados en la tesis, concretamente se han utilizado tres colecciones de prueba diferentes, de temas y tamaños distintos. Un gráfico de precisión versus cobertura representa p puntos de precisión generados sobre la cobertura de forma uniformemente espaciada tomando valores entre 0 y 1, formando siempre una curva no incremental. Normalmente se basa en once niveles (11 puntos) de cobertura estándar (0 %, 10 %, 20 %,..., 100 %), los cuales son obtenidos por interpolación. Su utilidad radica en que permiten evaluar cuantitativamente tanto la calidad del conjunto de respuestas como la calidad de la cobertura del sistema de recuperación de información, permitiendo ası́ comparar diferentes sistemas. Además, 69 2.6. CONCLUSIONES son intuitivas y se pueden combinar en una única curva simple. Estos gráficos han sido los elegidos para representar los estudios de calidad de recuperación y comparar los diferentes algoritmos desarrollados. De todas formas, a veces, también es interesante utilizar otras medidas que combinen la precisión y la cobertura en una única medida simple, ya que éstas están relacionadas y capturan aspectos diferentes a tener en cuenta: r-precision, media harmónica, medida E (E measure), entropı́a, histogramas de precisión y ratios coverage y novelty. 70 Capı́tulo 3 Algoritmos de clustering 3.1. Tipos de métodos de clustering El clustering es ampliamente reconocido como una herramienta útil en muchas aplicaciones de diferentes disciplinas, sin embargo, es difı́cil al combinar conceptos de diversos campos cientı́ficos (por ejemplo, bases de datos, reconocimiento de patrones, estadı́stica, etc.) [5]. Lo cual ha llevado al desarrollo de una gran variedad de métodos de clustering. Aunque existen otras clasificaciones más modernas, por ejemplo en [107], la clasificación más común de los métodos utilizados en recuperación de información divide los métodos de clustering en particionales y jerárquicos [3, 4, 5, 6, 40]: Particional: Construye particiones, donde cada cluster optimiza un criterio de clustering. Se caracterizan por su alta complejidad, algunos incluso enumeran exhaustivamente todas las posibles particiones buscando el óptimo global. Normalmente se empieza con una solución inicial aleatoria y luego se refina. Jerarquico: Crea una descomposición jerárquica. Se subdividen a su vez en aglomerativos y divisivos. Los aglomerativos parten siendo cada documento un cluster independiente y sucesivamente los mezclan de acuerdo a una medida de distancia. Los divisivos parten de un único cluster formado por toda la colección y sucesivamente la divide en grupos más pequeños según algún criterio, hasta que cada documento forma un único cluster. Un método jerárquico se puede utilizar como un método particional y el proceso inverso también es posible, de una técnica particional se pueden obtener resultados jerárquicos [38, 41]. En el primer caso basta con aplanar la jerarquı́a creada en el nivel adecuado para generar el número de clusters deseados, y en el segundo caso basta con mantener los resultados de diferentes repeticiones de la técnica particional construyendo ası́ una jerarquı́a (serı́a algo parecido al método divisivo jerárquico). A parte de estas dos principales categorı́as de algoritmos de clustering han surgido otros métodos, los cuales suelen estar enfocados a problemas o conjuntos de datos especı́ficos [3, 5, 6]: 71 3.1. TIPOS DE MÉTODOS DE CLUSTERING Clustering basado en densidades: Los elementos vecinos se agrupan en un mismo conjunto basándose en funciones objetivo especı́ficas de densidad (número de objetos en un vecindario particular). Clustering basado en grid : Están pensados principalmente para datos espaciales (por ejemplo, los que modelan estructuras geométricas). El procedimiento que siguen es dividir el espacio en un número finito de celdas y entonces trabajar con dichas celdas y su contenido. Clustering basado en modelos: Se utilizan para encontrar buenas aproximaciones de los parámetros del modelo que mejor define los datos. Están bastante cerca de los algoritmos basados en densidades aunque no tienen por que usar el mismo concepto de densidad. Clustering de información categórica: Están especialmente desarrollados para datos categóricos donde la medida de distancia euclı́dea u otras numéricas no pueden ser aplicadas. Aunque un método de clustering especı́fico puede trabajar bien en un conjunto de datos concreto, en cambio en otro puede obtener resultados muy pobres, dependiendo sobre todo de la talla y la dimensionalidad de los datos, ası́ como de la función objetivo y de las estructuras usadas [6]. En lo que los investigadores están más o menos de acuerdo, independientemente del método elegido, es que una buena técnica de clustering debe verificar en un alto grado las siguientes caracterı́sticas: Escalabilidad: Debe funcionar bien tanto con pocos como con muchos elementos. Clusters arbitrarios: Debe ser capaz de encontrar los clusters independientemente de su forma. Muchos algoritmos de clustering sólo son capaces de encontrar clusters con una determinada forma, la más común es la esférica. Parámetros de entrada mı́nimos: Debe exigir el mı́nimo de información sobre el sistema, ya que estos datos pueden ser desconocidos e influir en el resultado, por ejemplo el número de clusters. Manejo del ruido: Debe ser capaz de manejar desviaciones de la normalidad en los datos, por ejemplo elementos aislados que no formarı́an parte de ningún cluster. Insensibilidad al orden de entrada: No debe ser influido por el orden de reconocimiento de los datos. Muchos algoritmos, generalmente los que están dirigidos a soluciones locales, dan lugar a resultados distintos cuando los datos se analizan en orden diferente. Dimensionalidad alta: Debe ser capaz de trabajar con alta dimensionalidad sin empobrecer la calidad del resultado ni deteriorar las prestaciones temporales de forma desproporcionada. Cuantos más atributos o caracterı́sticas de los datos se tienen en cuenta, mayor es la dimensionalidad. Interpretabilidad y usabilidad: Debe ofrecer los resultados de forma fácilmente interpretable y usable posteriormente. 72 3.1. TIPOS DE MÉTODOS DE CLUSTERING 3.1.1. Clustering particional Los algoritmos de clustering particionales obtienen directamente tantas agrupaciones como se deseen sin construir una jerarquı́a y siguiendo los pasos tipo descritos en el algoritmo 1 [24, 38]: Algoritmo 1 Clustering particional Entrada: Colección de documentos y número de clusters a construir Salida: Clusters Paso-1: Formar tantos clusters como se quieran construir con semillas normalmente elegidas aleatoriamente. Paso-2: Calcular un representante de cada cluster (por ejemplo el centroide que es la media de todos los elementos del cluster ). Paso-3: Asignar cada documento al cluster más cercano en función de una medida de distancia elegida (por ejemplo asignarlo al cluster cuyo centroide sea más similar al documento). Paso-4: Si no ha habido movimiento de documentos entre clusters finalizar, si no refinar los clusters volviendo al paso-2. Una caracterı́stica importante de las técnicas particionales, es que cuando se trabaja con grandes conjuntos de datos los métodos jerárquicos conllevan un coste computacional prohibitivo, mientras que los particionales se pueden seguir utilizando [3]. En cambio, la principal desventaja que presentan los métodos particionales es que precisan como parámetro de entrada el número de clusters que se van a construir [3]. También, debido a su naturaleza de funcionamiento, las técnicas particionales presentan la desventaja de encontrar soluciones locales, ya que la búsqueda de soluciones globales conlleva demasiados costes computacionales. Por ello, lo que se suele hacer es ejecutar varias veces el algoritmo particional elegido con diferentes estados de partida (distintas semillas generadoras) y entonces seleccionar la mejor de todas las soluciones locales obtenidas [3]. En la tabla 3.1 en la página siguiente se muestran algunos de los algoritmos de clustering particionales más importantes [5, 6]. Se destacan caracterı́sticas como los parámetros de entrada que precisan, para qué están optimizados, qué tipo de estructura de cluster detectan y qué complejidad computacional presentan. 73 3.1. TIPOS DE MÉTODOS DE CLUSTERING Algoritmo Parámetros de entrada Optimizado para Estructura del cluster Complejidad K-MEANS Número de clusters Clusters separados Esférico O (Ikn) PAM Número de clusters Clusters separados Conjuntos de datos pequeños Esférico O Ik (n − k)2 CLARA Número de clusters Conjuntos de datos relativamente Esférico O ks2 + k (n − k) CLARANS Número de clusters Máximo número de vecinos Esférico O kn2 grandes Conjuntos de datos espaciales n = número de elementos ; k = número de clusters ; s = talla de la muestra ; I = iteraciones Tabla 3.1: Algoritmos de clustering particionales importantes. 3.1.2. Clustering jerárquico Las técnicas jerárquicas dan lugar a una secuencia anidada de particiones con un único cluster en la zona más alta que engloba a todos los elementos y clusters unitarios formados por los elementos individuales en la parte más baja. Toda esta secuencia jerárquica de particiones se puede representar gráficamente como un árbol que provee distintas vistas en diferentes niveles de abstracción, el cual recibe el nombre de dendograma [3, 38, 40, 41] y se presenta en la figura 3.1. Figura 3.1: Árbol jerárquico o dendograma. 74 3.1. TIPOS DE MÉTODOS DE CLUSTERING Cada nivel intermedio puede ser interpretado desde dos puntos de vista, como la agrupación de dos clusters de un nivel más bajo o como la división de un cluster de un nivel más alto, ambas opciones dan lugar a los dos procedimientos básicos dentro de los métodos jerárquicos: aglomerativo (se precisa una función de similitud o distancia entre clusters) y divisivo (se precisa un criterio de elección del cluster a dividir y el método para realizar tal división) [3, 5, 38, 40, 41, 43, 44]. La selección del cluster a dividir en un procedimiento jerárquico divisivo es un aspecto muy importante ya que tiene un gran impacto en los resultados globales de la técnica de clustering. Existen diversos métodos para realizar dicha elección, entre ellos destacan los siguientes [24, 41, 43]: Seleccionar el cluster más grande de todos los disponibles, suele dar soluciones razonablemente buenas y balanceadas, aunque su principal limitación es que no funciona bien cuando los cluster naturales son de distintos tamaños. Seleccionar todos los clusters, realmente no existe elección al dividirlos todos obteniendo un árbol binario completo ignorando la calidad de los clusters. Seleccionar el cluster con mayor varianza respecto a su centroide, basándose en la útil propiedad del esparcimiento de un cluster, lo que le lleva a ser el criterio comúnmente más usado. En la tabla 3.2 se muestran algunos de los algoritmos de clustering jerárquicos más importantes [5, 6, 108, 109, 110]. Se destacan caracterı́sticas como los parámetros de entrada que precisan, para qué están optimizados, qué tipo de estructura de cluster detectan y qué complejidad computacional presentan. Algoritmo Parámetros de entrada BIRCH Factor de Conjuntos de Esférica ramificación datos grandes Umbral del diámetro Número de Conjuntos de Arbitraria clusters datos Número de relativamente clusters grandes representativos n = número de elementos CURE Optimizado para Estructura del cluster Complejidad O (n) O n2 log n Tabla 3.2: Algoritmos de clustering jerárquicos importantes. 3.1.3. Clustering basado en densidades La idea subyacente en los método de clustering basados en densidades es agrupar aquellos elementos que son vecinos, determinando la cualidad de vecindad utilizando 75 3.1. TIPOS DE MÉTODOS DE CLUSTERING una función objetivo que trabaje especı́ficamente sobre densidades [5, 6]. Concretamente la función de densidad establece valores muy distintos entre los elementos de un cluster y los de los demás clusters, ası́ como de los elementos considerados ruido (no pertenecen a ningún cluster ) y los datos sueltos (tampoco pertenecen a ningún cluster ) [40, 66]. En otras palabras, la idea clave es que los objetos densos se agrupan juntos dentro de un mismo cluster, entendiendo que un cluster es una región que presenta una densidad de objetos más alta que sus regiones vecinas [111]. En la tabla 3.3 se muestran algunos de los algoritmos de clustering basados en densidades más importantes [5, 6, 40, 58]. Se destacan caracterı́sticas como los parámetros de entrada que precisan, para qué están optimizados, qué tipo de estructura de cluster detectan y qué complejidad computacional presentan. Algoritmo Parámetros de entrada DBSCAN Radio del cluster Mı́nimo número de elementos en el cluster Radio del cluster Mı́nimo número de elementos DENCLUE Optimizado para Estructura del cluster Formas de cluster Arbitraria arbitrarias Conjuntos de datos grandes Formas de cluster Arbitraria arbitrarias Conjuntos de datos grandes n = número de elementos Complejidad O (n log n) O (n log n) Tabla 3.3: Algoritmos de clustering basados en densidades importantes. Las principales ventajas de las técnicas basadas en densidades son [9, 62, 66, 112]: 1. Los parámetros iniciales son pocos y lo más importante, no hay que indicar cuántos clusters generar. Concretamente se suele definir inicialmente el radio de los clusters (en sentido amplio es el criterio de densidad y define que elementos pertenecen a un cluster ) y el mı́nimo número de objetos que debe contener. 2. La estructura de los clusters no es importante ya que son detectados independientemente de su forma. Se encuentran clusters de tallas y formas arbitrarias. 3. La complejidad de estos métodos suele ser más que aceptable. 4. Pueden ser usados para todo tipo de espacios métricos y no están confinados a los espacios vectoriales. 5. Son robustos en relación a los datos sueltos (outliers) y filtran el ruido. 6. Han probado ser muy eficientes y efectivos agrupando toda clase de datos. 7. Las versiones paralelas y distribuidas amplı́an la eficiencia. 76 3.2. MÉTODOS BÁSICOS 3.2. Métodos básicos 3.2.1. K-Means El algoritmo K-Means es la técnica iterativa particional más ampliamente usada [43, 44], y el algoritmo 2 presenta el K-Means tı́pico [3, 6, 38, 45]: Algoritmo 2 K-Means tı́pico Entrada: Colección de documentos y número de clusters a construir (k ) Salida: Clusters Paso-1: Elegir k centros de clusters generalmente de forma aleatoria. Paso-2: Asignar cada documento al cluster de centro más cercano. Paso-3: Recalcular los centros de los clusters a partir de los elementos del cluster. Paso-4: Si se cumple el criterio de convergencia (normalmente que no haya movimiento de documentos entre clusters o que éste sea mı́nimo) entonces finalizar, si no refinar los clusters volviendo al paso-2. Las principales razones detrás de la popularidad del algoritmo K-Means son [3]: Su complejidad temporal es O (Ikn) donde n es el número de documentos, k es el número de clusters e I es el número de iteraciones necesarias para converger. Tı́picamente, k e I son fijas y se establecen con anterioridad, con lo cual el algoritmo tendrı́a una complejidad temporal lineal con la talla de la colección (en [21, 23] se analiza también asumiendo que la matriz de pesos es dispersa). Su complejidad espacial es O (k + n) más el espacio necesario para la matriz que modeliza la colección (en [21, 23] se analiza también asumiendo que la matriz de pesos es dispersa). No influye el orden en el que se analizan los documentos para una semilla dada, aunque sı́ influye la semilla inicial (el K-Means actúa de forma determinista respecto a los parámetros de entrada obteniendo una solución óptima local [46]). Aprovecha la dispersión tı́pica de las matrices de pesos del modelo vectorial. El cuello de botella del algoritmo K-Means es la computación de la medida de distancia entre los documentos y el centro de los clusters (paso-2 del algoritmo 2), pero como sólo es en las primeras iteraciones cuando hay mucho movimiento de documentos entre clusters, se puede mejorar el algoritmo evitando calcular distancias utilizando distancias estimadas y comparándolas con distancias lı́mites [21]. Una mejora tı́pica es intentar alcanzar el mı́nimo global, en lugar de uno local intentando para ello mejorar la elección de los centros iniciales [3]. Otra mejora importante es permitir separar y juntar clusters en función de dos umbrales, separando 77 3.2. MÉTODOS BÁSICOS cuando la varianza del cluster supera el umbral determinado y juntando cuando los centros de dos clusters superan el umbral de cercanı́a [3]. Otra posible mejora es actualizar los centros de los clusters incrementalmente, es decir a medida que los documentos se asignan a los clusters [38]. La definición de centroide o vector concepto el cual determina el centro de un cluster es muy importante (algunos autores utilizan vector concepto para definir el centroide normalizado). Si se denota por xi el documento i-ésimo del cluster j-ésimo (πj ), y nj denota el número de documentos de πj , entonces el centroide o vector concepto cj del cluster πj se define como [23]: 1 X xi nj x ∈π i j cj = 1 X xi nj xi ∈πj (3.1) Definiendo cj como el centroide del cluster πj , k como el número de clusters y x un documento del cluster πj ; entonces la función objetivo del algoritmo K-Means que intenta minimizar la distancia de cada documento con el centroide del cluster al que pertenece (normalmente se utiliza la distancia eEuclı́dea o el coseno del ángulo que forman -expresión 3.3-), se puede formular como [5, 21, 46]: k X X k f {πj }j=1 = d (x, cj ) (3.2) j=1 x∈πj k X X k f {πj }j=1 = x T • cj (3.3) j=1 x∈πj El algoritmo K-Means es un proceso iterativo que suele tender a la convergencia de la función objetivo, por lo tanto es interesante disponer de un criterio de parada, ası́ como contemplar un número máximo de iteraciones. Siendo un valor muy pequeño, el criterio de convergencia normalmente utilizado es [21, 23]: k k k f πjt j=1 − f πjt+1 j=1 ≤ · f πjt+1 j=1 (3.4) La variante más importante del algoritmo K-Means es la que utiliza como medida de distancia el coseno del ángulo que forman los vectores representantes de los documentos y los centroides de los clusters. Cuando se hace uso del coseno como medida de cercanı́a los clusters resultantes toman una forma geométrica de esfera m dimensional. De ahı́ que esta variante reciba el nombre de Spherical K-Means: 78 3.2. MÉTODOS BÁSICOS Algoritmo 3 Spherical K-Means Entrada: M ∈ Rm×n , , maxiter, k ∈ N. k Salida: k clusters disjuntos {πj }j=1 . Paso-1: Construir arbitrariamente k clusters iniciales n ok (0) troides normalizados cj e inicializar t=0. n ok (0) πj , calcular sus cen- j=1 j=1 n ok (t+1) Paso-2: Construir una nueva partición πj j=1 (t+1) πj n ok (t) inducida por cj según: j=1 n o (t) (t) = x ∈ M : xT · cj > xT · cl , 1 ≤ l ≤ k , j 6= l , 1 ≤ j ≤ k n ok (t+1) Paso-3: Calcular los vectores concepto cj de la nueva partición. j=1 Paso-4: Finalizar si el criterio de parada (expresión 3.4 en la página anterior) se cumple o si t es igual a maxiter, sino incrementar t y volver al paso-2. 3.2.2. DBSCAN El método DBSCAN [40] presenta dos parámetros de entrada , M inEle; el primero define la distancia máxima entre dos elementos para considerarlos vecinos, y el segundo define el mı́nimo número de elementos que deben ser vecinos para formar un cluster [40]. La salida de este algoritmo son clusters disjuntos, el número de éstos no es un parámetro, viene determinado por los datos de entrada; también puede dar lugar a un conjunto de elementos definidos como ruido, ya que no se pueden incluir en ninguno de los clusters construidos. El DBSCAN (algoritmo 4 en la página siguiente) comprueba qué elementos están a una distancia máxima de cada uno de los elementos del conjunto de datos de entrada (es decir, qué documentos están a una distancia de cada uno de los documentos de la colección). Y también determina si en dicha área de “radio” existen al menos M inEle elementos (es decir, si en dicha área existen al menos M inEle documentos). Si un elemento presenta esos mı́nimos elementos dentro de una distancia se le considera un elemento núcleo, el cual será el corazón de un cluster, y a partir de este tipo de elementos crecerán los clusters añadiendo aquellos otros que sean directamente alcanzables por densidad desde el punto corazón (a partir de un documento corazón se podrán alcanzar al menos M inEle documentos en un área de “radio” los cuales formarán un cluster junto con todos los documentos que estén a una distancia de cualquier elemento que ya forme parte del cluster ). Si dos puntos corazón están a una distancia el uno del otro entonces sus clusters se unen en uno sólo. Los elementos incluidos en un cluster que en un área de “radio” no incluyen al menos 79 3.2. MÉTODOS BÁSICOS M inEle elementos se consideran elementos borde. El algoritmo termina si no existen más elementos (documentos de la colección) que puedan ser asignados a un cluster. Aquellos elementos que no pueden ser asignado a ningún cluster durante el proceso son tratados como ruido (los documentos que al finalizar el algoritmo no han sido incluidos en ningún cluster se consideran ruido dentro de la colección). [40, 112, 113] Algoritmo 4 DBSCAN Entrada: M ∈ Rm×n , ∈ R, M inEle ∈ N. k Salida: k clusters disjuntos {πj }j=1 , R (Ruido) Paso-1: j = 1 k Paso-2: Para todo documento d ∈ M todavı́a por clasificar (d ∈ / {πj }j=1 y d ∈ / R): Paso-2.1: S = EpsV ecindario(d, M, ) (elementos de M que están a una distancia de d). Paso-2.2: Si |S| < M inEle Entonces R = R ∪ d Paso-2.3: Sino ... Paso-2.3.1: πj = πj ∪ S Paso-2.3.2: S = S − d Paso-2.3.3: Mientras existan elementos en S Paso-2.3.3.1: Elegir x ∈ S Paso-2.3.3.2: Z = EpsV ecindario(x, M, ) (elementos de M que están a una distancia de x). Paso-2.3.3.3: Si |Z| ≥ M inEle Entonces n o j Paso-2.3.3.3.1: ZN C = z ∈ Z : z ∈ / {πl }l=1 Paso-2.3.3.3.2: ZR = {z ∈ Z : z ∈ R} Paso-2.3.3.3.3: S = S ∪ ZN C Paso-2.3.3.3.4: πj = πj ∪ ZN C ∪ ZR Paso-2.3.3.4: S = S − x Paso-2.3.4: j = j + 1 Destacan las siguientes caracterı́sticas del DBSCAN [6, 40, 62, 66, 111, 112, 113]: Fue diseñado para descubrir eficientemente los clusters y el ruido de bases de datos. Funciona igual de bien para espacios euclı́deos de 2 ó 3 dimensiones como para espacios de dimensionalidad alta. 80 3.2. MÉTODOS BÁSICOS Busca regiones de densidad alta que están separadas por regiones de densidad baja. Encuentra clusters con talla y forma arbitraria, pero influida por la función utilizada para el cálculo de la distancia entre dos objetos. No es sensitivo al orden de entrada de los objetos. No es determinı́stico en un sentido estricto (la ejecución depende del orden de los objetos), pero tanto el tiempo de ejecución como el resultado (los clusters formados) son siempre los mismos. Es incremental, ya que los nuevos objetos insertados sólo afectan a un cierto vecindario. Es un algoritmo de clustering muy eficiente y efectivo, entre otros motivos porque sólo precisa de una evaluación a través de la base de datos. Es robusto respecto al ruido. Trabaja en cualquier espacio métrico, no sólo en el espacio vectorial. Puede ser fácilmente implementado. Requiere dos parámetros de entrada: el radio de los clusters y el número mı́nimo de objetos que deben formarlos. No requiere un número predeterminado de clusters. Presenta una complejidad computacional O n2 , la cual se puede mejorar utilizando ı́ndices espaciales a O (n log n). No permite trabajar con densidades variables, por lo cual no puede generar clusters de distintas densidades. El algoritmo DBSCAN a dado lugar a diferentes variantes y mejoras destacando las siguientes: GDBSCAN: Versión generalizada del DBSCAN que permite trabajar con datos numéricos y con atributos categóricos [57]. DBCLASD: Variante del DBSCAN que permite trabajar sin ningún parámetro de entrada, al asumir que los objetos dentro de un cluster son distribuidos uniformemente [58, 59]. Estudios muestran que el DBSCAN es más rápido (tendiendo al doble) que el DBCLASD [59]. DBSCAN Incremental: Se ha desarrollado una versión incremental eficiente [60]. 81 3.3. VARIANTE DEL K-MEANS: α-BISECTING SPHERICAL K-MEANS DBSCAN Paralelo: Existe una versión paralela del DBSCAN la cual empieza con el conjunto de datos residente en un servidor central y entonces distribuye la información a los diferentes clientes [61]. También hay desarrollada una versión distribuida, que parte de la colección ya distribuida, entonces hace un clustering local y envı́a información del modelo local a un servidor central, donde se genera un modelo global a partir de los locales, el cual es distribuido para actualizar los modelos locales [62, 63]. OPTICS: Extensión del DBSCAN que relaja el requerimiento estricto de los parámetros de entrada, computando una descomposición jerárquica de clusters basada en un rango de configuración de los parámetros [65, 66]. El DBSCAN y el OPTICS son similares en estructura y presentan la misma complejidad computacional [6]. Este método aunque tiene el proposito del análisis de clusters no construye explı́citamente los clusters, en su lugar crea un orden que representa la estructura de clustering basada en densidades [65]. Otras mejoras más recientes están sobre todo enfocadas a la reducción del tiempo de respuesta del DBSCAN. Entre ellas se puede destacar la utilización de diversos métodos para trabajar con muestras, como se presenta como por ejemplo en [70, 71, 78]. Este enfoque se pretende estudiar en el futuro para reducir también la necesidad de comunicación en la versión paralela (ver apartado 6 en la página 159). También destaca la reducción de comprobaciones sobre el vecindario de los elementos [72, 73]. También es interesante observar como en la literatura cada vez aparecen más métodos para diferentes campos que se basan en el DBSCAN principalmente [67, 68, 74, 76, 79, 80, 81, 82, 83, 84] (y en ciertos casos de alguna de sus variantes, sobre todo del OPTICS [74, 75, 85]). 3.3. Variante del K-Means: α-Bisecting Spherical K-Means 3.3.1. α-Bisection El método de bisección consiste en recursivamente dividir un cluster en dos subclusters partiendo de un conjunto inicial formado por todos los elementos, este método es uno de los más comunes y básicos en campos como la recuperación de documentos, la minerı́a de datos, el análisis de patrones, la segmentación de imágenes, la toma de decisiones, etc. [43, 44]. Al realizar diversas divisiones recursivas se pueden obtener tantos clusters como se deseen, obteniendo de este modo un árbol binario jerárquico (o taxonomı́a binaria), lo que lo hace tan atractivo para muchas aplicaciones [43, 44]. Aunque el método más común de bisección utiliza como criterio de reparto de documentos la distancia de los elementos a los centroides de los subclusters (ver algoritmo 5 en la página siguiente [43, 44]), se presenta también el α-bisection [114], una versión basada en la creación de los subclusters a partir de los elementos que se encuentran dentro de un radio α (ver algoritmo 6 en la página siguiente). 82 3.3. VARIANTE DEL K-MEANS: α-BISECTING SPHERICAL K-MEANS Algoritmo 5 Bisección Entrada: M ∈ Rm×n , maxiter. Salida: πl ∈ Rm×nl y πr ∈ Rm×nr donde πl es el cluster izquierdo, πr es el cluster derecho con nl + nr = n. Paso-1: Calcular dos vectores concepto normalizados, cl ∈ <m y cr ∈ <m , de dos conjuntos arbitrarios de documentos. Paso-2: Dividir M en dos subclusters πl y πr de acuerdo a: d ∈ πl si kd − cl k ≤ kd − cr k d ∈ πr si kd − cl k > kd − cr k Paso-3: Calcular los nuevos vectores concepto normalizados de πl y πr , c0l y c0r respectivamente, definidos como: P P 1 t 1 t 0 0 t = nl t = nr d∈πl d ; cl = ktk d∈πr d ; cr = ktk Paso-4: Si c0l == cl y c0r == cr o maxiter == 0 entonces finalizar, sino decrementar maxiter en una unidad, hacer cl = c0l y cr = c0r e ir al paso-2. Algoritmo 6 α-Bisection Entrada: M ∈ Rm×n , α, , maxiter. Salida: πl ∈ Rm×nl y πr ∈ Rm×nr donde πl es el cluster izquierdo, πr es el cluster derecho con nl + nr = n. Paso-1: Calcular α usando la expresión 3.5 en la página siguiente. Y el vector concepto normalizado, c ∈ Rm , de un conjunto de documentos seleccionado. Paso-2: Dividir M en dos subclusters πl y πr de acuerdo a: d ∈ πl si dT • c ≥ α d ∈ πr si dT • c < α Paso-3: Calcular el nuevo vector concepto normalizado de πl , c0 , definido como: t= 1 X t m ; c0 = nl m∈π ktk l Paso-4: Si el criterio de parada (kc0 − ck ≤ ) ha sido alcanzado o maxiter == 0 entonces finalizar, sino decrementar maxiter, hacer c = c0 e ir al paso-2. 83 3.3. VARIANTE DEL K-MEANS: α-BISECTING SPHERICAL K-MEANS Una colección puede ser vista como una gran esfera, cuyo volumen está determinado por su radio que aumenta en relación a la dimensión de los documentos (número de términos). Pero se pretende crear k clusters y por tanto dividir la colección en k subesferas de volumen aproximadamente igual. Entonces el valor α representa el radio de cada una de esas k subesferas. Aunque para determinar el valor α se han considerado estos aspectos teóricos también se ha refinado experimentalmente la fórmula que representa el valor α [114]: x−σ √ (3.5) m k En la expresión 3.5, x define la media de las distancias de coseno al centroide (relacionando las ecuaciones 2.2 en la página 46 y 3.1 en la página 78), σ la desviación estándar entre cada documento de la colección y el centroide de ésta, y m es el número de términos. Basándose en este parámetro α y en el algoritmo tı́pico de bisección (algoritmo 5 en la página anterior) se ha desarrollado el α-Bisection, que se presenta en el algoritmo 6 en la página anterior. α=1− 3.3.2. α-Bisecting Spherical K-Means El método de bisección permite crear una simple pero eficiente variante del KMeans, el Bisecting K-Means [38, 43, 44], el cual da lugar a clusters mejores que los producidos por el método básico del K-Means, debido principalmente a que genera clusters de talla relativamente uniforme. También genera clusters tan buenos o incluso mejores que los obtenidos con técnicas de clustering jerárquicas aglomerativas [38]. Algoritmo 7 α-Bisecting K-Means Entrada: M ∈ Rm×n , k ∈ N. k Salida: k clusters disjuntos{πj }j=1 . Paso-1: Seleccionar M como el cluster a dividir, establecer t = 1 y α usando la expresión 3.5. Paso-2: Encontrar dos clusters πt y πt+1 con el algoritmo α-Bisection ( algoritmo 6 en la página anterior). Paso-3: Si t == k − 1 entonces finalizar, sino seleccionar πt+1 como cluster a dividir, incrementar t e ir al paso-2. El algoritmo 7 presenta una variante del bien conocido K-Means (algoritmo 2 en la página 77) el α-Bisecting K-Means. El cual utiliza el α-Bisection (algoritmo 6 en la página anterior) para realizar todas las particiones requeridas aprovechando las buenas caracterı́sticas de este método (el α no se recalcuları́a). No se utiliza directamente el método de bisección puesto que éste sólo da lugar a dos clusters y lo que interesa es obtener k clusters, lo cual lo permite el K-Means. 84 3.4. VARIANTE DEL DBSCAN: VDBSCAN Cuando se utiliza como medida de similitud el coseno, el algoritmo K-Means se convierte en el Spherical K-Means (algoritmo 3 en la página 79). Lo mismo ocurre cuando hacemos uso como medida de distancia el coseno en el α-Bisecting K-Means (algoritmo 7 en la página anterior), obtenemos el α-Bisecting Spherical K-Means: Algoritmo 8 α-Bisecting Spherical K-Means Entrada: M ∈ Rm×n , , maxiter, k ∈ N. k Salida: k clusters disjuntos{πj }j=1 . n ok (0) Paso-1: Calcular k clusters iniciales πj aplicando el α-Bisecting K-Means, aln ok (0) goritmo 7 en la página anterior y sus vectores concepto normalizados cj . j=1 j=1 Inicializar t = 0. n ok (t+1) Paso-2: Construir una nueva partición πj j=1 (t+1) πj n ok (t) inducida por cj según: j=1 n o (t) (t) = x ∈ M : xT • cj > xT • cl , 1 ≤ l ≤ k , j 6= l , 1 ≤ j ≤ k n ok (t+1) Paso-3: Calcular los nuevos vectores concepto cj de la nueva partición. j=1 Paso-4: Finalizar si el criterio de parada, expresión 3.4 en la página 78, se cumple o t es igual a maxiter, sino incrementar t en una unidad e ir al paso-2. La idea subyacente del α-Bisecting Spherical K-Means (algoritmo 8) es utilizar el α-Bisecting K-Means (algoritmo 7 en la página anterior) para obtener una solución inicial aproximada y más tarde refinarla con el Spherical K-Means (algoritmo 3 en la página 79), intentando tomar ventaja de ambos algoritmos. Esta misma idea se utilizó en una versión previa del α-Bisecting Spherical K-Means (desarrollada y analizada en [115]), la cual se basaba en una versión de bisección más estándar que no contemplaba el parámetro α. 3.4. Variante del DBSCAN: VDBSCAN El algoritmo del DBSCAN se basa en dos parámetros, el mı́nimo número de elementos que pueden formar un cluster y la proximidad entre dos elementos para considerarlos pertenecientes al mismo cluster. Ambos parámetros dependen exclusivamente del conjunto de datos con el que se trabajen y no se conocen a priori. Ahora bien, realizando una pequeña variación en el algoritmo DBSCAN y al trabajar en recuperación de información sobre colecciones de documentos se puede minimizar la variabilidad de dichos parámetros e incluso eliminarla del todo. 85 3.4. VARIANTE DEL DBSCAN: VDBSCAN 3.4.1. El algoritmo VDBSCAN En el algoritmo DBSCAN original [40] (algoritmo 4 en la página 80) el parámetro del mı́nimo número de elementos se utiliza cada vez que se buscan los vecinos de un elemento. Si el número de vecinos es menor que dicho parámetro entonces ese elemento o se considera ruido o no se tienen en cuenta sus vecinos. Cambiar este comportamiento es la idea principal del VDBSCAN (algoritmo 9). Algoritmo 9 VDBSCAN Entrada: M ∈ Rm×n , ∈ R, M inEle ∈ N. k Salida: k clusters disjuntos {πj }j=1 , R (Ruido) Paso-1: N oU = M y j = 1 Paso-2: Mientras existan elementos en N oU Paso-2.1: Incluir en S, un elemento aleatorio de N oU . Paso-2.2: Inicializar U = {} Paso-2.3: Mientras existan elementos en S Paso-2.3.1: Elegir x ∈ S Paso-2.3.2: U = U ∪ {x} Paso-2.3.3: N oU = N oU − S Paso-2.3.4: V = EpsV ecindario(x, N oU, ) (elementos de N oU que están a una distancia de x). Paso-2.3.5: S = (S ∪ V ) − U Paso-2.4: Si |U | < M inEle Entonces R = R ∪ U Paso-2.5: Si |U | ≥ M inEle Entonces πj = U y j = j + 1 j Paso-2.6: N oU = M − {πi }i=1 − R En el VDBSCAN el número mı́nimo de elementos sólo se utiliza para determinar si el cluster construido debe considerarse ruido o cluster real. Es decir, se tiene en cuenta siempre el vecindario de un elemento, sea cual sea el tamaño de éste. Ahora bien, cuando partiendo de una semilla ya se han agrupado todos los posibles elementos teniendo en cuenta todos sus vecinos, es entonces cuando se determina si dicha agrupación da lugar a un cluster o dicha agrupación pasa a considerarse ruido. El procedimiento seguido en el VDBSCAN (algoritmo 9) es que mientras hayan elementos sin analizar (Paso-2, algoritmo 9) se elegirá una semilla, la cual dará lugar a un cluster. Ahora, a partir de dicha semilla se irán incluyendo en la agrupación sus vecinos y los vecinos de éstos continuamente (Paso-2.3, 2.3.1,...,2.3.5, algoritmo 9). Primero elegimos un elemento (Paso-2.3.1, algoritmo 9) y calculamos su vecindario (Paso-2.3.4, algoritmo 9) e incluimos todos ellos como posibles elementos de expansión 86 3.4. VARIANTE DEL DBSCAN: VDBSCAN (para valorar sus posibles vecinos) (Paso-2.3.5, algoritmo 9 en la página anterior). Cuando ya no quedan elementos a incluir (todos los vecinos ya están incluidos) se comprueba cuantos elementos forman la agrupación y en función de ello se elegirá su naturaleza (Paso-2.4 y Paso-2.5, algoritmo 9 en la página anterior) Con este cambio en la forma de actuar conseguimos tres aspectos muy importantes: 1. Reducir de dos a una el número de veces que se calcula el vecindario en cada iteración del algoritmo, y sobre menos elementos. 2. Poder determinar un valor constante de forma general para el mı́nimo número de elementos que forman un cluster. 3. Poder obtener heurı́sticamente un buen valor para la distancia mı́nima entre dos elementos de un mismo cluster. Por lo tanto, conseguimos reducir el coste computacional y, por consiguiente, el temporal del algoritmo (ver resultados del apartado 3.4.3 en la página 89). Realmente en el mejor de los casos computacionalmente hablando, se conseguirı́a teóricamente un coste lineal Ω (n), que coincidirı́a con el caso de formar un único cluster. Y en el peor 2 de los casos, todos los elementos son ruido, el coste serı́a O n2 , al menos teóricamente. Aunque no se ha hecho el estudio, al igual que el DBSCAN, la complejidad se podrı́a mejorar mediante ı́ndices espaciales. También, conseguimos reducir uno de los parámetros del algoritmo, ya que, al trabajar en recuperación de información, se puede establecer el número mı́nimo de elementos que forman un cluster a dos elementos (ver el estudio más detallado en el apartado 3.5.1 en la página 93). Y, una vez determinado uno de los parámetros, el otro, la distancia entre dos elementos, se puede calcular de forma heurı́stica para obtener un valor que da lugar a un buen comportamiento, aunque no sea el óptimo (ver más detalles en el apartado 3.5.2 en la página 95). Con todo ello alcanzamos el objetivo de reducir la variabilidad del algoritmo determinando a priori uno de los parámetros y el otro mediante un método heurı́stico. Claro está que todo lo conseguido sólo es aceptable si el VDBSCAN presenta iguales prestaciones al DBSCAN o al menos las diferencias son mı́nimas. En el apartado 3.4.2 se presenta la demostración de que las prestaciones de recuperación son iguales. 3.4.2. Estudio de prestaciones de recuperación Los resultados del estudio de prestaciones de recuperación del VDBSCAN (algoritmo 9 en la página anterior) se han presentado en las figuras 3.2 en la página siguiente y 3.3 en la página siguiente. En ellas se observa al VDBSCAN con el número mı́nimo de elementos fijado a 2 y el valor de la distancia mı́nima obtenido heurı́sticamente (ver apartado 3.5 en la página 90) comparado con el DBSCAN (algoritmo 4 en la página 80) con varios valores para el número mı́nimo de elementos y con la distancia mı́nima igual a la usada en el VDBSCAN. También se incluyen como referencia los resultados de la matriz de pesos. En dicha comparación se han usado dos colecciones 87 3.4. VARIANTE DEL DBSCAN: VDBSCAN de prueba: la ’Times Magazine 1963 ’ y la ’Cystic Fibrosis Database’ (ver más detalles en el apartado 2.5.5 en la página 62). Figura 3.2: Estudio de prestaciones DBSCAN vs. VDBSCAN - Colección Times -. Figura 3.3: Estudio de prestaciones DBSCAN vs. VDBSCAN - Colección Cystic -. 88 3.4. VARIANTE DEL DBSCAN: VDBSCAN En la figura 3.2 en la página anterior se observa que el DBSCAN para otros valores del mı́nimo número de elementos empeora en prestaciones. De hecho a medida que dicho valor aumenta las prestaciones disminuyen, esto se aprecia más claramente en la zona de aumentada. En la figura 3.3 en la página anterior en cambio se observa que el algoritmo DBSCAN para otros valores del mı́nimo número de elementos, las prestaciones incluso llegan a mejorar en algunos casos. Ası́ y todo el comportamiento del algoritmo DBSCAN con un valor de dos y el algoritmo VDBSCAN es muy bueno, e incluso mejor globalmente. En ambas figuras se observa que tanto el comportamiento del VDBSCAN como el comportamiento del DBSCAN con valor de dos para el mı́nimo número de elementos es prácticamente igual (los resultados numéricos aseguran que ambos métodos obtienen valores iguales). Además, las dos curvas son muy similares a la de la matriz de pesos, de hecho en algunos momentos la mejoran. De todo este estudio se puede concluir que el nuevo algoritmo, VDBSCAN, tiene las mismas prestaciones que el algoritmo DBSCAN para un valor de dos en el número mı́nimo de elementos de un cluster. Además, en las pruebas realizadas con otros valores el comportamiento obtenido en ambos algoritmos era igual. Aunque es posible que exista algún caso particular en el que no se de dicha igualdad, ya que el algoritmo DBSCAN puede dar lugar en condiciones concretas a resultados distintos si la semilla inicial varı́a [40] y en cambio el algoritmo VDBSCAN da el resultado independiente de la semilla elegida. 3.4.3. Estudio temporal Es interesante ver como influye en los costes temporales la eliminación de un cálculo de vecindario. Al ser, en el caso del VDBSCAN (algoritmo 9 en la página 86), el cálculo de los vecinos dependiente del número de elementos todavı́a no analizados y, en cambio, en el DBSCAN (algoritmo 4 en la página 80), independiente pero influido por el número de veces que se calcula el mı́nimo número de elementos que forman un cluster, entonces las diferencias temporales no serán proporcionales. Por ello en la figura 3.4 en la página siguiente se presenta el estudio temporal realizado comparando el DBSCAN para varios valores del mı́nimo número de elementos y VDBSCAN en las colecciones de prueba: la ’Times Magazine 1963 ’ y la ’Cystic Fibrosis Database’ (ver más detalles en el apartado 2.5.5 en la página 62). Para ambos algoritmos el valor de la distancia entre dos elementos es el mismo, el obtenido mediante el método heurı́stico desarrollado para el algoritmo VDBSCAN (ver apartado 3.5.2 en la página 95). La figura 3.4 en la página siguiente destaca dos aspectos muy importantes. Primero, el tiempo obtenido por el algoritmo DBSCAN es independiente del parámetro del mı́nimo número de elementos. Y segundo, el algoritmo VDBSCAN siempre es considerablemente más rápido que el DBSCAN, incluso llegando a tardar menos de la mitad del tiempo con la colección ’Cystic Fibrosis Database’. 89 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN Figura 3.4: Estudio temporal: DBSCAN vs. VDBSCAN. 3.5. Eliminación de parámetros del VDBSCAN Como se muestra en este apartado, el número mı́nimo de elementos se puede fijar, dejando ası́ de ser un parámetro. También se presenta en esta sección un método heurı́stico que se ha desarrollado para determinar el valor de proximidad a elegir. Dicho valor permite obtener una buena calidad de recuperación aunque no asegure ser el óptimo global, el cual darı́a lugar a la mejor calidad de recuperación posible. Es cierto que los autores del DBSCAN aportan una solución simple para determinar los parámetros de entrada del algoritmo [40]. Pero dicha solución sólo es factible para pequeños conjuntos de datos, ya que hay que realizar costosas operaciones para cada dato (k-vecinos más próximos), lo cual es ineficiente para grandes conjuntos de datos [40, 59]. Además, la evaluación de los parámetros se basa en la visualización de un gráfico el cual está limitado a conjuntos de datos relativamente pequeños debido a las limitaciones de resolución de las pantallas [40, 59]. Esta limitación puede ser suavizada utilizando muestras de los datos, pero entonces la precisión de la estimación de los parámetros puede decrecer significativamente [59]. Por otro lado, se podrı́a ver innecesario estudiar la fijación de los parámetros del DBSCAN ya que existe una variante, el DBCLASD [59], el cual no precisa parámetros de entrada. Sin embargo, esta variante del DBSCAN se basa en la asunción de que los elementos dentro de un cluster están uniformemente distribuidos [59], situación que no tiene por que darse en los sistemas de recuperación de información. Y aunque en algunos casos, como los catálogos de terremotos, también funciona bien aún sin estarestrictamente los datos distribuidos uniformemente [59], en los sistemas de recuperación de información los documentos de las colecciones están distribuidos aleatoriamente. Además, hay que tener en cuenta también el coste temporal de ambos algoritmos. Con conjuntos de datos pequeños el DBSCAN es ligeramente más rápido que el DBCLASD, pero a medida que crece el tamaño del conjunto de datos esta diferencia crece tendiendo a ser el doble e incluso el triple [59]. 90 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN Figura 3.5: Mı́nimo número de elementos por cluster - Colección Times -. En las figuras 3.5 y 3.6 en la página siguiente se presenta un estudio sobre el comportamiento del algoritmo VDBSCAN para un amplio abanico de proximidades (casi total) respecto a diferentes números mı́nimos de elementos por cluster, y todo ello para dos colecciones de documentos de prueba: ’Times Magazine 1963 ’ y ’Cystic Fibrosis Database’ (ver más detalles en el apartado 2.5.5 en la página 62). 91 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN Figura 3.6: Mı́nimo número de elementos por cluster - Colección Cystic -. Con estas gráficas se pretende observar y estudiar el comportamiento del algoritmo VDBSCAN respecto a sus dos parámetros (por ello el eje vertical representará el número de clusters o la mejora de prestaciones según corresponda a una u otra curva). En todas las gráficas se muestran dos curvas, una con el número de cluster que genera el algoritmo respecto a las distintas proximidades estudiadas. Y otra con 92 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN la relación de mejora (o empeoramiento) de la calidad de recuperación obtenida respecto a la matriz de pesos, también en función de diferentes proximidades. Destaca, además, una zona delimitada por dos lı́neas verticales, que determinan el intervalo de proximidades que dan lugar a más de un cluster ya que si no estarı́amos en una situación equiparable a trabajar con la matriz de pesos, pero perdiendo prestaciones de calidad de recuperación (fundamentalmente por los documentos que el VDBSCAN considera ruido). 3.5.1. Fijación del mı́nimo número de elementos por cluster La fijación del mı́nimo número de elementos por cluster conlleva la eliminación de un parámetro y por tanto la eliminación de variabilidad. Dicha variabilidad es perjudicial ya que interesa encontrar una solución buena, si no óptima, valorando el mı́nimo número de casos posibles. De las gráficas de las figuras 3.5 en la página 91 y 3.6 en la página anterior se deduce que hay dos tipos de comportamiento. Uno cuando el tamaño mı́nimo de cluster es uno y otro cuando es mayor de uno. Esto se observa claramente tanto en la curva del número de clusters generados como en la mejora de prestaciones (en relación con la matriz de pesos). De todas formas se resalta con mayor claridad en la curva del número de clusters generados. En ésta se aprecia que mientras al ser el tamaño mı́nimo igual a un elemento, la curva nunca es decreciente, al ser éste al menos de dos elementos por cluster la curva hace una campana (con tendencia hacia una distribución normal, estadı́sticamente hablando). Mediante un análisis bastante sencillo y lógico se puede descartar la utilización de un elemento como tamaño mı́nimo de cluster. Esto es debido principalmente a varios motivos: Todos los elementos pertenecerán siempre a un cluster, aunque sea el formado por ellos mismos. Con lo cual no habrá ningún elemento que se pueda considerar ruido, perdiendo ası́ una de las caracterı́sticas potenciales del algoritmo VDBSCAN. A poco que se estudie la separación de los documentos en clusters cuando se genera más de uno, se verá que la tendencia es a construir un cluster con prácticamente todos los documentos y luego el resto con prácticamente ninguno, muchas veces un sólo elemento por cluster. Con ello básicamente lo que se está haciendo es construir un único cluster más ruido, más algún pequeño cluster prácticamente irrelevante de cara a las consultas en general. Cuando se generan muchos clusters se tiende cada vez más a crearlos unitarios, indicando más que dichos elementos son ruido y no clusters. Llegando incluso al extremo de que toda la colección está dividida en tantos clusters como documentos la forman, situación bastante inútil de cara a la recuperación de información. Al comparar la calidad de las recuperaciones con la calidad ofrecida por un sistema modelado únicamente con la matriz de pesos, se observa como el deterioro 93 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN de dicha calidad es grande y muy rápido. Prácticamente desde el momento que se generan más de un cluster el empeoramiento es considerable, y aunque llega un momento que se estabiliza, lo hace a un nivel inaceptable. Cuando en el VDBSCAN se varı́a el tamaño mı́nimo de cluster, siendo éste siempre superior a uno, se observa que el comportamiento para los posibles tamaños mı́nimos de cluster es análogo, aunque con diferencias significativas. Destacan, por un lado, que a mayor tamaño mı́nimo de cluster el número máximo de clusters generados disminuye. Llegando incluso, en algunos casos, a diferencias considerables con poco aumento del tamaño mı́nimo de cluster (por ejemplo, para la colección Cystic figura 3.6 en la página 92, variando de un tamaño mı́nimo de dos a tres elementos, el número máximo de clusters pasa de aproximadamente 135 a 65, se reduce más o menos a la mitad). Por otro lado, también es destacable que, el intervalo de proximidades entre las cuales se encuentra la campana de la curva del número de clusters disminuye a medida que el tamaño mı́nimo aumenta. Esto directamente implica, que cuanto más estrecha es la campana pequeñas variaciones en la proximidad elegida dan lugar variaciones grandes en el número de clusters. La ventana de proximidades delimitada por la obtención de más de un cluster, la cual delimita la campana de la curva de número de clusters, también es la que establece el intervalo de estudio de la mejora o empeoramiento de la calidad de recuperación. Al ser esta ventana más estrecha, compacta más el comportamiento de la curva de mejora de calidad, con lo cual la caı́da de prestaciones se hace más pronunciada y los desniveles se van haciendo más agudos. Por lo tanto, pequeñas variaciones en la proximidad elegida dan lugar a grandes variaciones en la calidad de la recuperación, lo que indicarı́a que el problema está más condicionado. La elección de un número mı́nimo de elementos por cluster tiene que ser tomada teniendo en cuenta los siguientes aspectos de interés: Los clusters deben de ser lo más compactos y especı́ficos que se pueda, al menos debe existir esa posibilidad aunque luego se estime oportuno no llegar al lı́mite. Con compactos se quiere que los elementos de un mismo cluster estén lo más cerca posible entre ellos, y con especı́ficos, se desea que la temática que une a los documentos de un cluster sea más concreta y menos general. No limitar arbitrariamente el tamaño mı́nimo de los clusters ya que en general no se tiene información suficiente, ni siquiera, para saber el número de clusters existentes y menos para conocer el tamaño mı́nimo de los mismos. Aunque en algunos casos se puede disponer de dicha información y con ella tomar una decisión apropiada para mejorar las prestaciones, no es un conocimiento presente normalmente. La calidad de recuperación de los algoritmos de clustering suele ser peor que la alcanzada con la matriz de pesos. Pero con la utilización de ellos se pretende fundamentalmente mejorar las prestaciones temporales de la consulta a cambio de empeoramientos aceptables en la calidad de recuperación. Por ello interesa el mayor número de clusters posible mientras no cambie sustancialmente las 94 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN prestaciones de recuperación, ya que el tiempo de consulta disminuirá más, al tener que trabajar sólo con los documentos de un cluster y no con todos los de la colección. Basándose en todos estos aspectos de interés se puede elegir un número mı́nimo de dos elementos por cluster como valor para fijar el correspondiente parámetro. Permite clusters más especı́ficos al permitir menos elementos por cluster y además los hace más compactos ya que para la misma proximidad genera mayor número de clusters (como se puede ver en las figuras 3.5 en la página 91 y 3.6 en la página 92). La limitación arbitraria de tamaño es mı́nima sino nula, ya que limita a dos elementos, pero menos de dos está claro que no es viable. Para la misma proximidad el número de clusters es mayor y la calidad de recuperación empeora menos, e incluso en algunos casos puede mejorar a la obtenida con la matriz de pesos (por ejemplo, con la colección Times, tamaño mı́nimo de 2 documentos y una proximidad más o menos de 0.15 la calidad de recuperación mejora respecto al sistema modelizado con la matriz de pesos). 3.5.2. Heurı́stica para seleccionar una buena proximidad La elección de la proximidad a utilizar como parámetro es también una cuestión delicada. Ya que en función del valor elegido los resultados pueden ser estupendos o desastrosos (en las figuras 3.5 en la página 91 y 3.6 en la página 92 se puede observar dicho comportamiento). Por lo tanto serı́a interesante poder dar un valor a este parámetro que permita obtener buenos resultados, es decir, buena calidad de recuperación y un buen número de clusters. A diferencia del número de elementos mı́nimos por cluster la proximidad no se puede fijar, al depender directamente de los documentos de la colección. Pero lo que sı́ se puede hacer es utilizar una heurı́stica que ayude a seleccionar un valor de proximidad bueno, si no óptimo, con un coste computacional razonable. En este sentido se ha desarrollado un método heurı́stico (plasmado en el algoritmo 10 en la página 97), el cual determina un valor de proximidad máximo local, basándose en el siguiente proceso iterativo y sustentado por las siguientes propiedades: Propiedad 1: Sea f (x) la curva diferencia entre dos curvas de comportamiento de precisión vs. cobertura para once puntos estándares. f (x) es continua en un intervalo [a, b] y derivable en dicho intervalo abierto ]a, b[. Propiedad 2: Sea g n (y) = {r(c0 , c1 ) ∪ . . . ∪ r(cn−1 , cn )}, donde c0 = a, cn = b c −c y r(cj , ck ) la recta que pasa por los puntos cj y ck . Sea ci = cj + k 2 j y g n (ci ) = f (ci ). Entonces f (x) = lı́m g n (y). n→ı́nf Propiedad 3: Dada una recta r entre dos puntos, r = recta(ci , cj ) con ci < cj , entonces r es creciente si r(ci ) < r(cj ) y decreciente si r(ci ) > r(cj ). Proceso Iterativo: De la función f (x) ' g 4 (y) = {r(c0 , c1 ) ∪ r(c1 , c2 ) ∪ r(c2 , c3 ) ∪ 0 r(c3 , c4 )} parte el proceso iterativo, donde c0 = a, c2 = c0 + c4 −c 2 , c1 = c0 + c2 −c0 c4 −c2 y c4 = b, cumpliéndose además que f (c0 ) > f (c3 ) 2 , c3 = c2 + 2 95 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN (decreciente). Además, LI = c0 , P M I = c1 , P M = c2 , P M D = c3 y LS = c4 que delimitan las rectas de trabajo. Paso 1: Reordenar si hiciese falta los ı́ndices para obtener g k (y) = {r(c0 , c1 ) ∪ . . . ∪ r(ck−1 , ck )} y seleccionar las rectas de trabajo g k (y) ⊇ h(y) = {r(LI, P M I) ∪ r(P M I, P M ) ∪ r(P M, P M D) ∪ r(P M D, LS)}. Paso 2: Si la recta r(P M I, P M ) es decreciente entonces ésta recta se subdivide en dos subrectas de la siguiente forma: ci = cLI + cP M I2−cLI , g k (ci ) = f (ci ), P MI cj = cP M I + cP M −c , g k (cj ) = f (cj ) y LI = LI, LS = P M , P M = P M I, 2 P M I = ci , y P M D = cj . Y se volverı́a al paso 1. Paso 3: Si la recta r(P M I, P M ) es creciente entonces la recta r(P M, P M D) se estudiará. Si ésta es decreciente finalizariamos y el punto elegido serı́a PM. 1 Sino se crearı́an las rectas de trabajo de la siguiente forma: ci = c1 + c2 −c 2 , c3 −c2 k k g (ci ) = f (ci ), cj = c2 + 2 , g (cj ) = f (cj ) y LI = P M I, LS = P M D, P M = P M , P M I = ci , y P M D = cj . Y se volverı́a al paso 1. Básicamente el algoritmo 10 en la página siguiente divide el intervalo de proximidades en el cual se trabaja en dos mitades y elige sus puntos medios. Comprueba si en la proximidad media de la mitad izquierda se mejora la calidad respecto al punto medio actual que divide el intervalo en dos. Si mejora las prestaciones de recuperación se define un nuevo intervalo siendo ahora el lı́mite superior el que hasta ahora era el punto medio del intervalo. Si la calidad hubiese empeorado entonces se elegirı́a el punto medio derecho. Si éste mejorara entonces se redefinirı́a el intervalo siendo el lı́mite inferior el punto medio izquierdo y el superior el punto medio derecho. Si, en cambio, no hubiese mejora entonces el punto medio actual se elegirı́a como valor de proximidad máxima local, que suele ser un buen valor, que incluso está cerca del óptimo en muchos casos. Cuando una proximidad es peor que otra anterior porque el número de clusters no es mayor de dos, se asume que la mejora en esa proximidad es menos infinito, ya que ası́ la siguiente proximidad aunque empeore la curva de la matriz de pesos puede considerarse mejor que la proximidad que no genera suficientes clusters. La prioridad que se le da a la zona izquierda se basa en que a medida que la proximidad crece la calidad de recuperación empeora, al menos como tendencia general de comportamiento (en las figuras 3.5 en la página 91 y 3.6 en la página 92 se aprecia este hecho claramente). Esto permite asumir con más seguridad que cuanto más a la izquierda en la curva esté el valor de proximidad elegido, hasta cierto umbral, mayor será la mejora de calidad. 96 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN Algoritmo 10 Selección de buena proximidad Entrada: M ∈ Rm×n , Q ∈ Rm×nq , R ∈ Rmr×nq , AP RM ∈ [0, 1] Salida: Clusters disjuntos π, P rox ∈ R, AP R ∈ [0, 1] 11×1 11×1 , M inEle ∈ N. . Paso-1: Inicializar: Li = 0 y Ls = 1 (Lı́mite inferior y superior del intervalo) Paso-2: Calcular datos del punto medio: Paso-2.1: P M = Li + Ls−Li 2 Paso-2.2: πP M = VDBSCAN (M, P M, M inEle) Paso-2.3: AP RP M = PrecisionCobertura* (M, Q, R, πP M ) P11 Paso-2.4: Calcular vP M = i=1 (AP RP M − AP RM ) Paso-3: Calcular datos del punto medio izquierdo: Paso-3.1: Calcular P M I = Li + P M −Li 2 Paso-3.2: πP M I = VDBSCAN (M, P M I, M inEle) Paso-3.3: AP RP M I = PrecisionCobertura* (M, Q, R, πP M I ) Paso-3.4: Calcular kP M I =|πP M I | (Número de clusters en πP M I ) P11 Paso-3.5: Calcular vP M I = i=1 (AP RP M I − AP RM ) Paso-4: Si P M I mejora** P M Entonces Paso-4.1: Ls = P M Paso-4.2: Ir al Paso-2 Paso-5: Calcular datos del punto medio derecho: Paso-5.1: Calcular P M D = P M + Ls−P M 2 Paso-5.2: πP M D = VDBSCAN (M, P M D, M inEle) Paso-5.3: AP RP M D = PrecisionCobertura* (M, Q, R, πP M D ) Paso-5.4: Calcular kP M D =|πP M D | (Número de clusters en πP M D ) P11 Paso-5.5: Calcular vP M D = i=1 (AP RP M D − AP RM ) Paso-6: Si P M D mejora** P M Entonces Paso-6.1: Li = P M I y Ls = P M D Paso-7: Finalizar: π = πP M , P rox = P M , AP R = AP RP M . * Calcula la curva media de precisión para 11 niveles estándar de cobertura (ver apartado 2.5.2). ** Mejorar es cumplir vP M I > vP M Y kP M I > 2, empeorar es no mejorar. 97 3.5. ELIMINACIÓN DE PARÁMETROS DEL VDBSCAN Lógicamente en el criterio de mejora, además de la calidad de recuperación, se contempla también el hecho de que se generen un mı́nimo número de clusters, en este caso el lı́mite se ha establecido a dos para que sirva en general para cualquier caso (si un cluster fuese viable directamente trabajarı́amos con la matriz de pesos y no con clustering). Pero si se tiene información suficiente sobre la colección dicho lı́mite se puede subir. Figura 3.7: Proceso heurı́stico de selección de la proximidad para el VDBSCAN. 98 3.6. CONCLUSIONES En la figura 3.7 en la página anterior se presentan el comportamiento del proceso heurı́stico de selección de una buena proximidad para el VDBSCAN, descrito en el algoritmo 10 en la página 97. Aparecen dos gráficos, uno correspondiente a la colección de prueba Times Magazine 1963 y el otro a la colección de prueba Cystic Fibrosis Database. En ambos casos se observa un comportamiento similar obteniendo además, buenos resultados finales, también en ambos casos. Las dos gráficas de la figura 3.7 en la página anterior presentan tres tipos de curvas. Una discontinua gruesa y azul que corresponde con la curva obtenida mediante la matriz de pesos, la cual se utiliza como curva de referencia. Otra curva discontinua fina y verde que identifica las distintas curvas intermedias obtenidas durante el proceso heurı́stico, cada una de las cuales identificada con la etiqueta correspondiente a la iteración en la que se genera. Cuando éstas se corresponden con la curva obtenida mediante la matriz de pesos significa que el número de clusters generados no es superior al umbral elegido de dos clusters. Y por último, una curva lisa y roja que se corresponde con la curva obtenida con la proximidad seleccionada, también está identificada con una etiqueta identificativa de la iteración en la que se produce. En la leyenda se presentan también datos importantes que ayudan a entender el proceso y justificar porque la proximidad elegida es una buena selección. Aunque a priori no se establece ninguna cota superior en el número de iteraciones, las pruebas realizadas están entre diez y veinte iteraciones. Es cierto que en cada iteración se debe realizar una evaluación completa de las consultas de prueba, pero el coste computacional que conlleva es aceptable en la fase de modelización y puesta en marcha de un sistema de recuperación de información. De todas formas se podrı́a plantear estudiar el trabajar con un subconjunto de las consultas de prueba, e incluso con una muestra de la colección. Tampoco hay que olvidar que en la implementación se han hecho optimizaciones para evitar algunas evaluaciones completas de las consultas de prueba. Por ejemplo, cuando se debe volver a evaluar una proximidad ya elegida anteriormente (Pasos 2.1, 3.1 y 5.1 del algoritmo 10 en la página 97). Dichas optimizaciones no se han incluido en la versión presentada en la tesis (algoritmo 10 en la página 97) porque se desea destacar la metodologı́a del mismo. En el algoritmo 10 en la página 97 a la hora de determinar la mejora de una proximidad respecto a otra sólo se tiene en cuenta la calidad de recuperación, pero se podrı́an contemplar otros factores, dependiendo de los intereses del sistema. Por ejemplo, una posible optimización que se podrı́a plantear es compensar la pérdida de calidad de recuperación aumentando el número de clusters. De esta forma se podrı́a trabajar con una función cuyos parámetros fuesen la mejora de calidad y el número de clusters generados. 3.6. Conclusiones La comunidad investigadora está más o menos de acuerdo, independientemente del método de clustering elegido, en que una buena técnica de clustering debe verificar en un alto grado las siguientes caracterı́sticas: escalabilidad, clusters arbitrarios, parámetros de entrada mı́nimos, manejo de ruido, insensibilidad al orden de entrada, 99 3.6. CONCLUSIONES dimensionalidad alta e interpretabilidad y usabilidad. Los principales métodos desarrollados en la tesis el α-Bisecting Spherical K-Means y el VDBSCAN han buscado presentar estar caracterı́sticas. Aunque el VDBSCAN destaca más en algunas de las caracterı́sticas, como encontrar clusters arbitrarios, manejar el ruido o la sensibilidad al orden de entrada. La clasificación más común de los métodos de clustering es dividirlos en particionales y jerárquicos; estos últimos a su vez se dividen en aglomerativos y divisivos. A parte de estas dos principales categorı́as de algoritmos de clustering han surgido otros métodos, los cuales suelen estar enfocados a problemas o conjuntos de datos especı́ficos: clustering basado en densidades, clustering basado en grid, clustering basado en modelos y clustering de información categórica. La tesis se ha centrado en dos tipos concretos, en clustering particional y en clustering basado en densidades. El clustering particional construye particiones, donde cada cluster optimiza un criterio de clustering. Se caracterizan por su alta complejidad, algunos incluso enumeran exhaustivamente todas las posibles particiones intentando encontrar el óptimo global. Normalmente se empieza con una solución inicial aleatoria y luego se refina. Su principal desventaja es que precisan como parámetro de entrada el número de clusters que se van a construir. También presenta la desventaja de encontrar soluciones locales, ya que, debido a su naturaleza de funcionamiento, la búsqueda de soluciones globales conlleva demasiados costes computacionales. Por ello, se suele seleccionar la mejor solución obtenida tras varias ejecuciones con distintas semillas. El algoritmo K-Means [3, 6, 38, 45] es un proceso iterativo que suele tender a la convergencia de la función objetivo, por lo tanto es interesante disponer de un criterio de parada, ası́ como contemplar un número máximo de iteraciones. Es la técnica iterativa particional más ampliamente usada siendo las principales razones [3, 21, 23, 43, 44, 46]: Su complejidad temporal es O (Ikn) donde n es el número de documentos, k es el número de clusters e I es el número de iteraciones que el algoritmo necesita para converger. Tı́picamente, k e I son fijas y se establecen con anterioridad, con lo cual el algoritmo tendrı́a una complejidad temporal lineal con la talla de la colección. Su complejidad espacial es O (k + n) más el espacio necesario para la matriz que modeliza la colección. No influye el orden en el que se analizan los documentos para una semilla dada, aunque si influye la semilla inicial. Aprovecha la dispersión tı́pica de las matrices de pesos del modelo vectorial. El método de bisección recursivamente divide un cluster en dos, partiendo de un clusters formado por todos los elementos, este método obtiene recursivamente tantos clusters como se deseen. Este método permite crear una simple pero eficiente variante del K-Means, el Bisecting K-Means, que da lugar a clusters de documentos mejores que los producidos por el método básico del K-Means, debido principalmente a que 100 3.6. CONCLUSIONES genera clusters de talla relativamente uniforme. Y análogamente a éste, en la tesis se presenta el α-Bisecting K-Means (incluido en el apartado 3.3.2 en la página 84) a partir del α-bisection (apartado 3.3.1 en la página 82). Cuando se utiliza como medida de similitud el coseno del ángulo que forman los vectores representantes de los documentos y los centroides de los clusters, el algoritmo K-Means se convierte en el Spherical K-Means, su variante más importante, la cual genera clusters cuya forma geométrica es de esfera m dimensional. Lo mismo ocurre cuando hacemos uso como medida de distancia el coseno en el α-Bisecting K-Means, obtenemos el α-Bisecting Spherical K-Means (apartado 3.3.2 en la página 84), cuya idea subyacente es utilizar el α-Bisecting K-Means para obtener una solución inicial aproximada y más tarde refinarla con el Spherical K-Means. La idea subyacente en los métodos de clustering basados en densidades es agrupar aquellos elementos que son vecinos, determinando esto mediante una función objetivo que trabaje especı́ficamente sobre densidades. En otras palabras, la idea clave es que los objetos densos se agrupan juntos dentro de un mismo cluster, entendiendo que un cluster es una región que presenta una densidad de objetos más alta que sus regiones vecinas. Las principales ventajas de las técnicas basadas en densidades son: 1. El número de parámetros iniciales son pocos y lo más importante, no hay que indicar el número de cluster que se van a generar. 2. Se encuentran clusters de tallas y formas arbitrarias. 3. La complejidad de estos métodos suele ser más que aceptable. 4. Pueden ser usados para todo tipo de espacios métricos. 5. Son robustos en relación a los datos sueltos (outliers) y filtran el ruido. 6. Han probado ser muy eficientes y efectivos agrupando toda clase de datos. 7. Las versiones paralelas y distribuidas amplı́an la eficiencia. El algoritmo DBSCAN [40], representante tı́pico de los métodos basados en densidades, presenta dos parámetros de entrada , M inEle; el primero define la distancia máxima entre dos elementos para considerarlos vecinos, y el segundo define el mı́nimo número de elementos que deben ser vecinos para formar un cluster. La salida de este algoritmo son clusters disjuntos, el número de éstos no es un parámetro, viene determinado por los datos de entrada; también puede dar lugar a un conjunto de elementos definidos como ruido, ya que no se pueden incluir en ninguno de los clusters construidos. Destacan las siguientes caracterı́sticas del DBSCAN [6, 40, 62, 66, 111, 112, 113]: Fue diseñado par descubrir eficientemente los clusters y el ruido de bases de datos. Funciona igual de bien para espacios euclı́deos de 2 ó 3 dimensiones como para espacios de dimensionalidad alta. 101 3.6. CONCLUSIONES Busca regiones de densidad alta que están separadas por regiones de densidad baja. Encuentra clusters con talla y forma arbitraria, pero influida por la función utilizada para el cálculo de la distancia entre dos objetos. No es sensitivo al orden de entrada de los objetos. No es determinı́stico en un sentido estricto (la ejecución depende del orden de los objetos), pero tanto el tiempo de ejecución como el resultado (los clusters formados) son siempre los mismos. Es incremental, ya que los nuevos objetos insertados sólo afectan a un cierto vecindario. Es un algoritmo de clustering muy eficiente y efectivo, entre otros motivos porque sólo precisa de una evaluación a través de la base de datos. Es robusto respecto al ruido. Trabaja en cualquier espacio métrico, no sólo en el espacio vectorial. Puede ser fácilmente implementado. Requiere dos parámetros de entrada: el radio de los clusters y el número mı́nimo de objetos que deben formarlos. No requiere un número predeterminado de clusters. Presenta una complejidad computacional O n2 , la cual se puede mejorar utilizando ı́ndices espaciales a O (n log n). No permite trabajar con densidades variables, por lo cual no puede generar clusters de distintas densidades. En esta tesis se ha desarrollado el algoritmo VDBSCAN (apartado 3.4.2 en la página 87), realizando una variación en el algoritmo DBSCAN. De esta forma y al trabajar en recuperación de información sobre colecciones de documentos, se puede minimizar la variabilidad de sus dos parámetros (desconocidos a priori) e incluso eliminarla del todo. En el algoritmo DBSCAN original el parámetro del mı́nimo número de elementos se utiliza cada vez que se buscan los vecinos de un elemento. Si el número de vecinos es menor que dicho parámetro entonces ese elemento o se considera ruido o no se tienen en cuenta sus vecinos. Cambiar este comportamiento es la idea principal del VDBSCAN donde el número mı́nimo de elementos sólo se utiliza para determinar si el cluster construido debe considerarse ruido o cluster real. Es decir, se tiene en cuenta siempre el vecindario de un elemento, sea cual sea el tamaño de éste, y cuando ya se han agrupado todos los posibles elementos teniendo en cuenta todos sus vecinos se decide si dicha agrupación da lugar a un cluster o no. Con este cambio en la forma de proceder conseguimos tres aspectos muy importantes: 102 3.6. CONCLUSIONES 1. Reducir de dos a una el número de veces que se calcula el vecindario en cada iteración del algoritmo, consiguiendo reducir el coste computacional y por tanto temporal del algoritmo. 2. Poder determinar un valor constante de forma general para el mı́nimo número de elementos que forman un cluster, reduciendo el número de parámetros del método. 3. Poder obtener heurı́sticamente un buen valor para la distancia mı́nima entre dos elementos de un mismo cluster. Las prestaciones de recuperación del VDBSCAN, con el número mı́nimo de elementos fijado a 2 y el valor de la distancia mı́nima obtenido heurı́sticamente, comparadas con el DBSCAN, con varios valores para el número mı́nimo de elementos y con la distancia mı́nima igual a la utilizada en el VDBSCAN, presentan un comportamiento igual (más detalles en el apartado 3.4.2 en la página 87). Tras el estudio temporal pertinente entre ambos métodos (apartado 3.4.3 en la página 89) destacan dos aspectos muy importantes. Primero, el tiempo del DBSCAN es independiente del parámetro del mı́nimo número de elementos. Y segundo, el VDBSCAN siempre es considerablemente más rápido que el DBSCAN, incluso llegando a tardar menos de la mitad del tiempo en algunos casos. Aunque los autores del DBSCAN aportan una solución simple para determinar los parámetros de entrada de dicho algoritmo, ésta sólo es factible para pequeños conjuntos de datos, ya que hay que realizar costosas operaciones para cada dato (k-vecinos más próximos), y además, la evaluación de los parámetros se basa en la visualización de un gráfico limitado a la resolución de las pantalla. Existe el DBCLASD, una variante del DBSCAN que no precisa parámetros de entrada, sin embargo se basa en la asunción de que los elementos dentro de un cluster están uniformemente distribuidos, situación que no tiene por que darse en los sistemas de recuperación de información. Además, hay que tener en cuenta que el DBCLASD es más lento que el DBSCAN tendiendo a ser el doble e incluso el triple. El número mı́nimo de elementos del VDBSCAN se puede fijar, dejando ası́ de ser un parámetro y mediante el método heurı́stico presentado en esta tesis se puede elegir un buen valor de proximidad (más detalles en el apartado 3.5 en la página 90). Aunque a priori en la heurı́stica no se establece ninguna cota superior en el número de iteraciones y en cada iteración se debe realizar una evaluación completa de las consultas de prueba, el coste computacional que conlleva es aceptable en la fase de modelización y puesta en marcha de un sistema de recuperación de información. De todas formas se podrı́a plantear estudiar el trabajar con un subconjunto de las consultas de prueba, e incluso con una muestra de la colección. 103 Capı́tulo 4 Clustering en sistemas distribuidos 4.1. Introducción Hay un hecho que está claro, se quiere que las cosas se hagan más veces o más rápido. Ahora bien, por un lado la velocidad de un procesador está limitada por la velocidad de la luz, cuando se haya alcanzado la máxima miniaturización de los microchips. Y por otro el reducir el tamaño de los microchips tiene un coste muy alto, tanto en diseño como en manufacturación [116]. Con lo cual la paralelización se presenta como una importante alternativa para hacer más cosas o hacerlas más rápido. Concretamente la paralelización se puede utilizar para mejorar los siguientes aspectos [116]: El tiempo de respuesta: Aunque un sistema secuencial de recuperación de información tenga unas buenas prestaciones, cuando el número de usuarios que quiere utilizarlo simultáneamente es alto, el tiempo de respuesta del mismo se incrementa enormemente. Existen fundamentalmente dos alternativas para mejorar el tiempo de respuesta. Usar métodos más rápidos a costa de peores prestaciones, o utilizar paralelismo y obtener las mismas buenas prestaciones acelerando el tiempo de respuesta individual. Las grandes cantidades de datos: El tiempo de respuesta de un sistema de recuperación de información pequeño, que maneje poca cantidad de datos, deberı́a ser el mismo que el de un sistema de recuperación de datos grande, que maneje una gran cantidad de datos. En general la escalabilidad de un sistema secuencial es mucho peor que la de un sistema paralelo. Es decir, normalmente un sistema secuencial empeora mucho más y más rápido en sus prestaciones al aumentar la cantidad de datos que maneja que un sistema paralelo. 105 4.1. INTRODUCCIÓN La gran demanda computacional de los algoritmos: Muchas veces la posibilidad de mejorar las prestaciones utilizando algún otro método no se tiene en cuenta porque las alternativas presentan unos costes computacionales elevados. Y tampoco se plantea la posibilidad a priori de la paralelización, ya que las caracterı́sticas del sistema es de un usuario y los datos a manejar son pocos. De esta forma se está perdiendo la posibilidad de mejorar las prestaciones y la solución estarı́a en utilizar la paralelización, pero para reducir (mejor dicho repartir) los costes computacionales de los métodos alternativos. Al igual que en la actualidad, la tendencia futura es a que cada vez hayan más usuarios utilizando un mismo sistema, que además, hayan más datos que manejar, y que el coste computacional de los métodos aumente a medida que se quieran contemplar más aspectos para mejorar las prestaciones de recuperación. Todo ello indica claramente la utilidad de aprovechar las caracterı́sticas de la paralelización, entendiéndola de la forma más amplia. Incluso, muchas veces, la propia naturaleza del problema obliga a la paralelización (a la distribución) de los datos. Ya que estos se encuentran de por si distribuidos y no es admisible su centralización. Una vez se tiene claro en que puede ayudar la paralelización hay que entender los sistemas paralelos. Éstos se clasifican básicamente en cuatro tipos distintos: SISD (Single Instruction, Single Data): Un mismo flujo de instrucciones se aplica a un mismo conjunto de datos. Es una estructura Von Newman secuencial. MISD (Multiple Instruction, Single Data): Varios flujos de instrucciones se aplican a un mismo conjunto de datos. Es una estructura muy rara, destacarı́an los computadores sistólicos. SIMD (Single Instruction, Multiple Data): Un mismo flujo de instrucciones (programa) se aplica a varios conjuntos de datos. A la hora de programar se suele utilizar como interfaz de paso de mensajes el MPI [117, 118]. MIMD (Multiple Instruction, Multiple Data): Varios flujos de instrucciones (programas) se aplican a varios conjuntos de datos. A la hora de programar se suele utilizar como interfaz de paso de mensajes el PVM [119, 120]. El concepto “elementos de proceso” (o “unidades de proceso”) utilizado en esta tesis se refiere a cualquier unidad con capacidad de procesar información de forma paralela al estar comunicada con otras unidades análogas. Ejemplos claros y comunes son: los procesadores de un multiprocesador, los distintos PCs de un Cluster de PCs, los diferentes ordenadores conectados a una red, etc. Los algoritmos paralelos diseñados en esta tesis están basados en el modelo instrucción simple y múltiples datos (SIMD -Single Instruction, Multiple Data-). No se trabaja con arquitecturas de memoria compartida ya que de esta forma existe la posibilidad de escalar fácilmente el algoritmo al número de elementos de proceso que se desee. La implementación de los algoritmos se ha desarrollado en un cluster de PCs, principalmente por la disponibilidad y la versatilidad a la hora de hacer las pruebas. Para las comunicaciones se ha elegido como interfaz de paso de mensajes el 106 4.2. POSIBLES DISTRIBUCIONES MPI [117, 118] debido a que es un estándar y es muy portable (está desarrollado para multitud de plataformas). Los algoritmos desarrollados no son exclusivos para multiprocesadores o clusters de PCs, están también pensados para sistemas distribuidos. La principal diferencia a la hora de la implantación en un tipo u otro de sistemas se presenta en las comunicaciones, ya que para los sistemas distribuidos la comunicación deberı́a ser utilizando TCP/IP. La transformación del uso de MPI a TCP/IP es de fácil extrapolación, sólo habrı́a algo de complejidad a la hora de implementar las operaciones de reducción. La principal diferencia entre un ordenador paralelo y un sistema distribuido es el coste de las comunicaciones entre unidades de proceso, el cual es considerablemente más alto en los entornos distribuidos. En los primeros se tiende hacia un granulado fino, mientras que en los segundos la tendencia es hacia uno granulado grueso [11]. En esta tesis se han desarrollado los algoritmo pensando en sistemas distribuidos, es decir con un alto coste en las comunicaciones. Existen dos formas de aprovechar el concepto de paralelización dentro de la recuperación de información. Creando nuevos algoritmos cuya naturaleza tienda directamente a la paralelización (por ejemplo, mediante redes neuronales). O adaptando los algoritmos de recuperación de información actuales que se ha confirmado que son buenos. Esta segunda opción es la que se ha elegido en esta tesis, concretamente se van a crear versiones distribuidas del α-Bisecting Spherical K-Means (algoritmo 8 en la página 85) y del VDBSCAN (algoritmo 9 en la página 86). Hay que distinguir cuando se hace una misma consulta sobre varias colecciones distintas y distribuidas de cuando se considera una única colección distribuida. En el primer caso se obtendrı́an varios resultados, asumiendo como tal un ranking de documentos, realmente uno por cada colección. Con lo cual, habrá que unificar en un único ranking cada uno de los rankings obtenidos, con los consiguientes problemas [4]. En cambio en el segundo caso se obtendrı́a directamente un único ranking, lógicamente a cambio de un mayor coste inicial a la hora de modelizar la colección de forma distribuida. 4.2. Posibles distribuciones Primero de todo hay que decir que la utilización de paralelismo no garantiza la mejora de prestaciones, dependerá de como se distribuyan las tareas y los datos [116]. La distribución elegida determinará el nivel de comunicación entre las unidades de proceso. La distribución de los datos podrá basarse en una granularidad fina, gruesa o variable. Y la distribución de las tareas determinará el paralelismo sobre la consulta, es decir elegir si cada consulta es distribuida entre los procesadores (la misma consulta trabaja en cada unidad de proceso con distintos datos, Intra-query), o múltiples consultas se realizan concurrentemente (en cada unidad de proceso trabaja una consulta distinta con todos los datos, Inter-query) [11, 116]. El primer caso se podrı́a ver como si en cada elemento de proceso se ejecutase un sistema de recuperación de información separado e independiente, y únicamente habrı́a que añadir un elemento de proceso que determinará a cual mandar la consulta. En este caso los elementos de 107 4.2. POSIBLES DISTRIBUCIONES proceso no cooperarı́an al gestionar la consulta, aunque podrı́an buscarse formas de que compartieran recursos. A medida que se incluyesen más elementos de proceso, se podrı́an tratar más consultas concurrentemente, pero el tiempo de respuesta de cada consulta individual no cambiarı́a. En el segundo caso, cada elemento de proceso se encargarı́a de resolver parcialmente la consulta ya que dispondrı́a de una parte de los datos (de la colección de documentos) y colaborarı́an todos ellos para dar un resultado final. En este caso la distribución de datos podrı́a seguir básicamente dos lı́neas, o dividir los términos de la colección o repartir los documentos. Los dos algoritmos que se van a paralelizar, α-Bisecting Spherical K-Means (algoritmo 8 en la página 85) y del VDBSCAN (algoritmo 9 en la página 86), se han desarrollado basándose en una matriz de pesos. Se sabe que existen tres tipos de distribuciones fundamentales cuando la estructura de datos subyacente es una matriz: distribución por filas, por columnas y por bloques. En este caso concreto equivaldrı́a a una distribución por términos de la colección (por filas), una distribución por documentos (por columnas) o una distribución parcial de términos y documentos (por bloques). Particionar la colección en función de los términos implica gran sobrecarga por comunicaciones durante el proceso de consulta, por ello es raramente empleada en sistemas distribuidos [11]. La operación que más aparece es el producto vector por vector, si la distribución fuese por filas la comunicación de menor coste se implementarı́a como una reducción con un coste igual al número de columnas. En cambio si la distribución fuese por columnas la comunicación de menor coste se implementarı́a como una difusión (Broadcast) de coste igual al número de filas. Entonces, por un lado es una caracterı́stica inherente a los sistemas de recuperación de información que el número de filas (términos) es mucho menor al de columnas (documentos), y por tanto la distribución por columnas es de menor coste. Y por otro lado, a la hora de implementar estas comunicaciones en un sistema distribuido y por tanto con TCP/IP es más sencilla la operación de difusión que la de reducción (no olvidar que la situación real más común son colecciones distribuidas entre máquinas conectadas por redes TCP/IP: intranets, internet, etc.). Particionar la colección por bloques conllevarı́a también gran sobrecarga de comunicaciones, además, los algoritmos a paralelizar no presentan ninguna caracterı́stica que favorezca la utilización de bloques, y la división de los documentos darı́a lugar a una mayor complejidad. De esta forma, las dos opciones de distribución por filas y por bloques, a priori se podrı́an descartar. Pero además, la idea es poder trabajar en un sistema distribuido donde la colección de documentos pueda estar formada por subcolecciones reales, las cuales muy posiblemente pueden estar separadas fı́sicamente. Es decir, por definición del problema los documentos pueden estar ya distribuidos. Por lo tanto, la mejor elección es la distribución por documentos (por columnas). En esta tesis se pretende que la distribución sea transparente al usuario, por lo cual, para éste, habrá una colección lógica global y única. Pero luego, cada elemento de proceso tendrá una subcolección disjunta. Por ello, el usuario podrá obtener como respuesta la referencia a cualquier documento que se encuentre en la colección global, aún cuando dichos documentos se encuentren en alguna subcolección distante. 108 4.3. α-BISECTING SPHERICAL K-MEANS DISTRIBUIDO 4.3. α-Bisecting Spherical K-Means distribuido El algoritmo K-Means ha sido paralelizado muchas veces (por ejemplo en [51, 52, 53, 54]) partiendo en la mayorı́a de los casos de un conjunto de datos centralizado o repetido. Es decir, o los datos residen en un servidor central y entonces se distribuyen entre los diferentes elementos de proceso, o cada elemento de proceso presenta una copia de todos los datos. La filosofı́a seguida en esta tesis parte de que la colección de documentos se encuentra ya distribuida entre los distintos elementos de proceso. Estudiando un poco el algoritmo K-Means en seguida se encuentra una filosofı́a de paralelización básica y sencilla, operaciones de suma y producto vectoriales en paralelo y una operación de reducción global, la cual también sirve como método de sincronización. Esta es la lı́nea que han seguido en general las versiones paralelas que se encuentran en la literatura (ver por ejemplo en [51, 52, 53]). En esta tesis también se ha elegido esta forma de paralelizar pero los algoritmos que se presentan son versiones paralelas de las modificaciones y mejoras realizadas al K-Means desarrolladas en esta tesis, concretamente: α-Bisecting K-Means paralelo (algoritmo 13 en la página 113) y α-Bisecting Spherical K-Means paralelo (algoritmo 14 en la página 114). 4.3.1. α-Bisecting K-Means En la versión paralela del α-Bisecting K-Means (algoritmo 7 en la página 84) desarrollada se ha asumido una distribución por documentos, tal y como muestra la figura 4.1. Figura 4.1: Distribución de la colección en el α-Bisecting K-Means. En otras palabras, cada unidad de proceso tiene un pequeño número de documentos de la colección. Pero además, realizando las comunicaciones necesarias entre ellos, todas las unidades de proceso disponen del mismo vector concepto normalizado. Por tanto, es preciso desarrollar un algoritmo paralelo para crear un vector concepto normalizado (algoritmo 11 en la página 111), una versión paralela del α-Bisection (algoritmo 12 en la página 112) y finalmente la versión paralela del α-Bisecting K-Means (algoritmo 13 en la página 113). Cuando se busca un cluster, éste no se construye explı́citamente. En su lugar, se genera un vector que incluye el ı́ndice a cada documento incluido en el cluster. Este 109 4.3. α-BISECTING SPHERICAL K-MEANS DISTRIBUIDO vector de ı́ndices es usado como parámetro de entrada en el algoritmo paralelo de cálculo del vector concepto normalizado y en la versión paralela del α-Bisection. La figura 4.2 muestra el proceso general seguido a la hora de calcular el vector concepto normalizado en paralelo. Destaca el vector idx (nidx será la cardinalidad de idx ), el cual contine los ı́ndices de los documentos con los que se va a trabajar, es decir, incluye la referencia de las columnas que intervienen en el cálculo del vector concepto (las que pertenecerı́an al cluster con el que se está trabajando). Localmente cada elemento de proceso suma todas las columnas de la parte de la matriz de pesos que guarda y que su vector de ı́ndices le indica, obteniendo su vector concepto local (ncvi ). Luego mediante una reducción global se construye el vector concepto global (ncv ) a partir de los vectores concepto locales. Por último, cada elemento de proceso normaliza el vector concepto. Figura 4.2: Proceso de construcción del vector concepto normalizado en paralelo. El proceso se presenta detallado en el algoritmo 11 en la página siguiente. La implementación del cálculo de la 2-norma del ncv también se realiza en paralelo, concretamente aprovechando que el vector ncv se encuentra en todos los elementos de proceso cada uno de ellos realiza una parte del cálculo y luego se utiliza una reducción global para unificarlos. 110 4.3. α-BISECTING SPHERICAL K-MEANS DISTRIBUIDO Algoritmo 11 Vector concepto normalizado en paralelo Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , idxi ∈ Rnidxi . Salida: ncv ∈ Rm . Pnidx Paso-1: ncvi = j=1 i midxi (j) : midxi (j) ∈ Mi . Paso-2: Ejecutar la reducción global sumando todos los nidxi en N. Ahora N, en todas las unidades de proceso, es igual a la suma de todos los nidxi . Paso-3: Ejecutar la reducción global sumando todos los ncvi en ncv. Ahora ncv, en todas las unidades de proceso, es igual a la suma de todos los documentos procesados. Paso-4: ncv= ncv N Paso-5: ncv= ncv kncvk En la figura 4.3 se muestra un diagrama representando el comportamiento de la versión paralela del α-Bisection presentado en el algoritmo 12 en la página siguiente. Figura 4.3: Diagrama del α-Bisection paralelo. El método de α-Bisection da lugar a dos clusters, uno se identifica como izquierdo y el otro como derecho. Ahora bien, cuando el proceso se realiza en paralelo cada elemento de proceso tiene una parte de la colección y obtiene los clusters generados de su parte de la colección. Por tanto, luego habrı́a que difundir esta información para que cada elemento de proceso conozca la distribución global de los clusters en relación a la colección. En el algortimo 12 en la página siguiente la parte del cluster izquierdo de la i-ésima unidad de proceso se denota por πli y análogamente la derecha por πri . 111 4.3. α-BISECTING SPHERICAL K-MEANS DISTRIBUIDO Algoritmo 12 α-Bisection paralelo Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , , maxiter. Salida: πli ∈ Rm×nli y πri ∈ Rm×nri donde nli + nri = ni . Paso-1: Seleccionar un conjunto de documentos locales (crean idxi ∈ Rnidxi ) y calcular en paralelo el vector concepto normalizado c ∈ <m (algoritmo 11 en la página anterior). Paso-2: Calcular α usando la expresión 3.5 en la página 84. Paso-3: Dividir Mi en dos subclusters πli y πri de acuerdo a: d ∈ πli si dT • c ≥ α d ∈ πri si dT • c < α Paso-4: Calcular nc, el nuevo vector concepto normalizado de πl, usando el algoritmo 11 en la página anterior, ( idxi referenciará los documentos que incluye πli ). Paso-5: Si el criterio de parada (knc − ck ≤ ) ha sido alcanzado o maxiter == 0 entonces finalizar, sino decrementar maxiter, hacer c = nc e ir al paso-3. Es importante remarcar dos aspectos importantes. Primero, el cálculo de α se realiza en paralelo (paso-2 del α-Bisection paralelo, algoritmo 12). Concretamente la paralelización es alcanzada obteniendo la media y la desviación tı́pica. Cada unidad de proceso trabaja con su propia parte de la colección, entonces todas las unidades de proceso realizan una reducción global añadiendo las sumas parciales locales. Y segundo, la implementación de la 2-norma knc − ck (paso-4, algoritmo 12) es realizada también en paralelo, usando una reducción global, análogamente al cálculo de la 2norma del ncv en el algoritmo 11 en la página anterior. Figura 4.4: Diagrama del α-Bisecting K-Means paralelo. 112 4.3. α-BISECTING SPHERICAL K-MEANS DISTRIBUIDO La figura 4.4 en la página anterior presenta un diagrama esquemático del comportamiento del α-Bisecting K-Means paralelo (algoritmo 13). Algoritmo 13 α-Bisecting K-Means paralelo Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , k ∈ N. k Salida: k clusters disjuntos {πj }j=1 . Paso-1: Seleccionar Mi como el cluster a dividir, establecer t=1 y calcular α usando la expresión 3.5 en la página 84. 0 Paso-2: Encontrar los clusters πti y πti usando el α-Bisection paralelo, algoritmo 12 en la página anterior. 0 Paso-3: Construir πt y πt+1 mediante reducción global a partir de πti y πti respectivamente. Paso-4: Si t es igual a k -1 entonces devolver todos los clusters sino seleccionar πt+1 como el cluster a dividir, incrementar t e ir al paso-2. La idea del α-Bisecting K-Means paralelo (algoritmo 13) es aprovechar el paralelismo implementado en el α-Bisection paralelo (algoritmo 12 en la página anterior), ya que éste es el grueso del paralelismo que presenta. También hay comunicación para obtener la información global de los clusters y en el cálculo del α que también se realiza en paralelo, de igual forma a la descrita para el α-Bisection paralelo (algoritmo 12 en la página anterior). Ahora bien, cuando el método del α-Bisection paralelo se utiliza como parte del α-Bisecting K-Means paralelo el cálculo del α sólo se realiaza una vez, en este último. También, es importante destacar que cada unidad de proceso selecciona aleatoriamente un documento de su subcolección, entonces todas las unidades de proceso calculan el vector concepto normalizado de todos los documentos elegidos. 4.3.2. α-Bisecting Spherical K-Means La distribución elegida para el desarrollo de la versión paralela del α-Bisecting Spherical K-Means (algoritmo 14 en la página siguiente) es la misma que se ha utilizado en el α-Bisecting K-Means paralelo (algoritmo 13). Dicha distribución es por documentos, la cual consiste en que una porción de la colección se encuentra presente en cada una de las unidades de proceso, y se presenta en la figura 4.1 en la página 109. La evaluación del criterio de parada también se realiza en paralelo. De hecho, la evaluación de la función objetivo se hace en paralelo. Básicamente, cada unidad de proceso calcula la suma parcial con los documentos que contiene, entonces todas las unidades de proceso realizan un reducción global añadiendo la sumas parciales, obteniendo ası́ el resultado final. 113 4.4. VDBSCAN DISTRIBUIDO Algoritmo 14 α-Bisecting Spherical K-Means paralelo Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , , maxiter, k ∈ N. k Salida: k clusters disjuntos{πj }j=1 . Paso-1: Calcular k clusters n ok (0) πj aplicando el α-Bisecting K-Means paralelo, j=1 algoritmo 13 en la página anterior y calcular también en paralelo su vector n ok (0) concepto normalizado cj , algoritmo 11 en la página 111. Inicializar t=0. j=1 n ok (t+1) Paso-2: Construir una nueva partición πj j=1 (t+1) πj n ok (t) inducida por cj según: j=1 n o (t) (t) = x ∈ Mi : xT • cj > xT • cl , 1 ≤ l ≤ k , j 6= l , 1 ≤ j ≤ k n ok (t+1) Paso-3: Calcular en paralelo el nuevo vector concepto normalizado cj aso- j=1 ciado con la nueva partición mediante el algoritmo 11 en la página 111. Paso-4: Finalizar si el criterio de parada, expresión 3.4 en la página 78, se cumple o si t es igual a maxiter, sino incrementar t e ir al paso-2. 4.4. VDBSCAN distribuido Hoy en dı́a, gran cantidad de información heterogénea y compleja reside en ordenadores diferentes, trabajando independientemente, los cuales están conectados vı́a redes de área local o ancha (LAN o WAN). Existen varias razones para que dicha información no pueda ser transmitida a un sitio central, por ejemplo, ancho de banda limitado o aspectos de seguridad [62, 63]. Además, la transmisión de ingentes cantidades de información a un sitio central es en algunas áreas de aplicación casi imposible, debido a la cantidad de información recolectada en poco tiempo, la cual puede ser no sólo excesiva para ser transmitida sino analizada en un único sitio central [62, 63]. 4.4.1. Versiones paralelas del DBSCAN El algoritmo PDBSCAN [61] es una versión paralela del DBSCAN. Este algoritmo parte de un conjunto de datos el cual reside completamente en un servidor central y entonces distribuye los datos entre los diferentes elementos de proceso. El algoritmo PDBSCAN presenta un programa principal (master ) que inicializa los programas secundarios (slave) en cada uno de los elementos de proceso disponibles, y distribuye entre éstos el conjunto de datos. 114 4.4. VDBSCAN DISTRIBUIDO Cada elemento de proceso genera clusters basándose sólo en sus datos locales. Las comunicaciones necesarias se realizan por paso de mensajes. Es el programa principal el que se encarga de balancear la carga dinámicamente y de mezclar los resultados producidos por los distintos elementos de proceso [61]. Los resultados del algoritmo PDBSCAN son bastante buenos según presenta sus autores [61], pero las pruebas han sido realizadas con conjuntos de datos de baja dimensionalidad (máximo 5). De todas formas hay que tener en cuentas que el enfoque del algoritmo precisa una distribución inicial la cual no es una situación natural e incluso inviable en muchos casos, sobre todo por el volumen de datos que debe manejar un único elemento de proceso (el que ejecute el programa principal). El algoritmo DBDC (Density Based Distributed Clustering) [62, 63, 64] es una versión distribuida del DBSCAN. Este algoritmo parte de que la información se encuentra distribuida en diferentes elementos de proceso, que se consideran independientes los unos de los otros. Lo primero que hace es realizar localmente en cada elemento de proceso el clustering mediante la utilización del DBSCAN (algoritmo 4 en la página 80), este proceso se realiza independientemente en cada elemento de proceso sin comunicación entre ellos. Entonces se extrae información sobre los clusters localmente creados y ésta se envı́a a un servidor central, siendo el coste de transmisión mı́nimo al ser dicha información representativa, es sólo una fracción de la información original. En el servidor central, basándose en la información representativa enviada desde los elementos de proceso locales, se genera un modelo global, el cual se devuelve a los elementos de proceso locales. Esta fase es la más delicada y difı́cil, ya que pueden existir muchas dependencias entre los datos localizados en los distintos elementos de proceso, que no se han tenido en consideración durante la creación del modelo local. De todas formas, la fase de generación del modelo global en el servidor central es bastante rápida, ya que no trabaja con todo el conjunto de datos. De hecho hay que decidir qué información es la enviada llegando a un compromiso entre la complejidad y la precisión. Cuanta más información se envı́e mayor será la complejidad de realización del modelo global y mayores serán los costes de transmisión. Pero también mayor será la precisión de los resultados. Lo usual es elegir un conjunto de representantes para cada cluster encontrado localmente. El modelo global se genera normalmente analizando los representantes locales, lo cual es similar a ejecutar un nuevo método de clustering sobre el conjunto de representantes (una nueva ejecución del DBSCAN). El resultado del clustering global es enviado a los elementos de proceso locales, los cuales actualizan sus clusters basándose en dicho modelo global generado en el servidor central (por ejemplo, mezclando dos clusters locales en uno o asignando ruido local a un cluster global). Según se presenta en [62, 63, 64] los resultados del algoritmo DBDC son bastante buenos, al menos en prestaciones computacionales. De todas formas presenta una carencia importante, aunque en determinados contextos pueda ser aceptada. Los clusters resultantes no coinciden con los obtenidos mediante una versión secuencial del propio DBSCAN. Es cierto que la variación entre el contenido de los clusters es mı́nima, pero también es cierto que el conjunto de datos con los que se han hecho las pruebas son bidimensionales, cuyo comportamiento es diferente al de una colección de documentos (vectores m-dimensionales). 115 4.4. VDBSCAN DISTRIBUIDO 4.4.2. Versión distribuida del VDBSCAN El algoritmo VDBSCAN distribuido está enfocado a la recuperación de información en colecciones de documentos, aunque no está limitado únicamente a dicho campo de acción y deberı́a funcionar en cualquier área al mismo nivel que el DBSCAN. Tal y como se ha argumentado en el apartado 4.2 en la página 107 la distribución elegida es por columnas quedando ésta como se muestra en la figura 4.5. Figura 4.5: Distribución de la colección en el VDBSCAN paralelo. La sincronización en el VDBSCAN distribuido (algoritmo 15 en la página siguiente) se produce al mantener de forma global la misma información de elementos no usados (NoUG), de semillas (SG) y de elementos usados (UG). Y también a la hora de calcular el vecindario de forma paralela, algoritmo 16 en la página siguiente. Cada elemento de proceso trabaja con la parte de la colección formada por los documentos que almacena. También, cada elemento de proceso, guarda la información global de que documentos ya han sido clasificados, en que cluster, cuales todavı́a no han sido evaluados y cuales lo están siendo. El grueso de la comunicación se da a la hora de mantener esta información y cuando se distribuye el documento del cual se busca el vecindario. Más concretamente en la implementación del algoritmo VDBSCAN paralelo se utilizan operaciones de distribución y de reducción. En el Paso-2.1 del algoritmo 15 en la página siguiente la elección del elemento aleatorio conlleva una sincronización, ya que todos los elementos de proceso deben usar ese mismo elemento. Luego cuando se empiezan a elegir elementos del conjunto de semillas (SG) Paso-2.3.1 del algoritmo 15 en la página siguiente, vuelve a haber otra sincronización ya que todos los elementos de proceso deben conocer el elemento seleccionado (el documento). La unidad de proceso que guarda dicho documento lo distribuye al resto de elementos de proceso, ya que todos deben calcular cual es el vecindario de éste dentro de sus propios documentos que todavı́a no han sido usados (Paso-2.3.4 del algoritmo 15 en la página siguiente). Las siguientes comunicaciones son reducciones para actualizar el número global de elementos que pertenecen a cada conjunto: elementos no usados, usados y semillas. Éstas se producen principalmente en el Paso-2.3.5, en el Paso-2.4, en el Paso-2.5 y en el Paso-2.6, ya que cada elemento de proceso actualiza dichos conjuntos en función de los elementos que guarda, pero todos necesitan al menos saber cuantos elementos de forma global se incluyen en cada conjunto. 116 4.4. VDBSCAN DISTRIBUIDO Algoritmo 15 VDBSCAN Distribuido Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , , M inEle ∈ N. k Salida: k clusters disjuntos {πj }j=1 , R (Ruido) Paso-1: N oU G = Mi y j = 1 Paso-2: Mientras existan elementos en N oU G Paso-2.1: Incluir en SG, un elemento aleatorio de N oU G (Sincronización, el mismo en todos los procesadores). Paso-2.2: Inicializar U G = {} Paso-2.3: Mientras existan elementos en SG Paso-2.3.1: Elegir x ∈ SG (Sincronización, el mismo x en todos los procesadores). Paso-2.3.2: U G = U G ∪ {x} Paso-2.3.3: N oU G = N oU G − SG Paso-2.3.4: V = P EpsV ecindario(x, N oU G, ) (cálculo en paralelo de los elementos de N oU G que están a una distancia de x, según el algoritmo 16). Paso-2.3.5: SG = (SG ∪ V ) − U G Paso-2.4: Si |U G| < M inEle Entonces R = R ∪ U G Paso-2.5: Si |U G| ≥ M inEle Entonces πj = U G y j = j + 1 j Paso-2.6: N oU G = Mi − {πl }l=1 − R Algoritmo 16 PEpsVecindario Nota: Este código es ejecutado por la i-ésima unidad de proceso. Entrada: Mi ∈ Rm×ni , , x y N oU G ⊆ M . Salida: V ⊆ Mi . Paso-1: Inicializar V = {} Paso-2: Para toda columna y ∈ Mi hacemos Paso-2.1: Si y ∈ N oU G y xt ∗ y < entonces V = V ∪ {y} 117 4.5. EVALUACIÓN DISTRIBUIDA DE CONSULTAS Para que el algoritmo 16 en la página anterior se entienda mejor y sea más clara su notación se ha supuesto que la matriz M y las respectivas submatrices Mi se comportan como conjuntos de documentos. En el algoritmo 16 en la página anterior se incluye la versión paralela del cálculo del vecindario de un elemento. Ésta está basada directamente en la versión del cálculo de vecindarios incluida en el artı́culo original donde se presento el DBSCAN [40]. Como se puede observar la paralelización no conlleva ninguna comunicación, puesto que cada elemento de proceso únicamente debe realizar productos vectoriales con los datos que ya posee y con un vector que recibe como entrada. Aunque este algoritmo no precise comunicaciones, no hay que olvidar que el vector de entrada x en la mayorı́a de los elementos de proceso se ha recibido tras una comunicación (ver algoritmo 15 en la página anterior). 4.5. Evaluación distribuida de consultas Una vez realizado el desarrollo distribuido de los métodos de clustering también hay que paralelizar el proceso de evaluación. El método de evaluación (presentado en el algoritmo 17) es común a todos los métodos de clustering ya que trabaja únicamente con la colección, la consulta y los clusters construidos, independientemente de cómo se hayan creado éstos. Algoritmo 17 Evaluación de Clusters k k Entrada: M ∈ Rm×n , q ∈ Rm , {πj }j=1 y {cj }j=1 (según la ecuación 3.1 en la página 78). Salida: Un ranking R de los documentos. Paso-1: Seleccionar el centroide (y cluster asociado) más cercano a la consulta q, el que maximice la ecuación 2.2 en la página 46. ch ; cth · q ≥ ctj · q, j = 1, ..., k , j 6= h Paso-2: Calcular la relevancia de cada documento del cluster seleccionado (dl ∈ πh ) respecto a la consulta q usando el coseno (ecuación 2.2 en la página 46). Rell = dtl · q ; ∀dl ∈ πh Paso-3: Calcular el ranking R ordenando los documentos según su relevancia Rell . Los centroides se construyen en la fase de modelización, una vez creados los diferentes clusters. Su cálculo es obtener la media de una serie de documentos (ver ecuación 3.1 en la página 78). En su versión paralela los documentos se encuentran distribuidos. El proceso es básicamente que cada elemento de proceso suma los documentos que guarda de cada uno de los clusters, luego mediante una operación de 118 4.6. CONCLUSIONES reducción todos los elementos de proceso obtienen la suma de todos los documentos de cada cluster. Otra operación de reducción permite que todos los elementos de proceso conozcan el número total de documentos por cluster. Luego independientemente, cada elemento de proceso hace el resto de operaciones necesarias, incluyendo el cálculo de normas. La versión distribuida de la evaluación de los clusters (algoritmo 17 en la página anterior) se presenta en el algoritmo 18. Algoritmo 18 Evaluación distribuida de Clusters Nota: Este código es ejecutado por la i-ésima unidad de proceso. k k Entrada: Mi ∈ Rm×ni , q ∈ Rm , {πj }j=1 y {cj }j=1 (según la ecuación 3.1 en la página 78). Salida: Un ranking R global de los documentos. Paso-1: Seleccionar el centroide (y cluster asociado) más cercano a la consulta q, el que maximice la ecuación 2.2 en la página 46. ch ; cth · q ≥ ctj · q, j = 1, ..., k , j 6= h Paso-2: Calcular la relevancia de cada documento local del cluster seleccionado (dl ∈ Mi y dl ∈ πh ) respecto a la consulta q usando el coseno (ecuación 2.2 en la página 46). Rell = dtl · q ; ∀dl ∈ πh Paso-3: Difundir las relevancias parciales para obtener las relevancias globales. Paso-4: Calcular el ranking R ordenando los documentos del cluster según su relevancia Rell . En el Paso-3 del algoritmo 18 cada elemento de proceso tiene las relevancias de los documentos que guarda, pero necesita las relevancias de todos los documentos. Por tanto, cada elemento de proceso difunde sus relevancias al resto de elementos de proceso y recibe las relevancias del resto, construyendo ası́ la relación de relevancias globales. Éstas se usarán en el siguiente paso para generar el ranking de documentos. 4.6. Conclusiones Hay un hecho que está claro, se quiere que las cosas se hagan más veces o más rápido. Ahora bien, mediante las mejoras tecnológicas hay un lı́mite más o menos cercano, ya que la velocidad de un procesador está limitada por la velocidad de la luz, con lo cual la paralelización se presenta como una importante alternativa. Concretamente la paralelización se puede utilizar para mejorar aspectos como: el tiempo 119 4.6. CONCLUSIONES de respuesta, las grandes cantidades de datos o la gran demanda de computación de algunos algoritmos. Al igual que en la actualidad, la tendencia futura es a que cada vez hayan más usuarios utilizando un mismo sistema, que además, hayan más datos que manejar, y que el coste computacional de los métodos aumente a medida que se quieran contemplar más aspectos para mejorar las prestaciones de recuperación. Incluso, muchas veces, la propia naturaleza del problema obliga a la paralelización (a la distribución) de los datos. Ya que estos se encuentran de por si distribuidos y no es admisible su centralización. Los algoritmos paralelos diseñados en esta tesis están basados en el modelo instrucción simple y múltiples datos (SIMD -Single Instruction Multiple Data-). La implementación de los algoritmos se ha desarrollado en un cluster de PCs. Para las comunicaciones se ha elegido como interfaz de paso de mensajes el MPI al ser éste un estándar y muy portable. Los algoritmos desarrollados no son exclusivos para multiprocesadores o clusters de PCs, están también pensados para sistemas distribuidos. La transformación del uso de MPI a TCP/IP es de fácil extrapolación, sólo habrı́a algo de complejidad a la hora de implementar las operaciones de reducción. La principal diferencia entre un ordenador paralelo y un sistema distribuido es el coste de las comunicaciones entre unidades de proceso, el cual es considerablemente más alto en los entornos distribuidos. En esta tesis se han desarrollado los algoritmo pensando en sistemas distribuidos, es decir con un alto coste en las comunicaciones. Concretamente se han desarrollado las versiones distribuidas del α-Bisecting Spherical K-Means (Algoritmo 8 en la página 85) y del VDBSCAN (Algoritmo 9 en la página 86). Existen tres tipos de distribuciones fundamentales cuando la estructura de datos subyacente es una matriz: distribución por filas (por términos de la colección), por columnas (por documentos) y por bloques (parcial de términos y documentos). En los algoritmos desarrollados la operación que más aparece es el producto vector por vector. Si la distribución fuese por filas la comunicación de menor coste se implementarı́a como una reducción con un coste igual al número de columnas. En cambio si la distribución fuese por columnas la comunicación de menor coste se implementarı́a como una difusión (Broadcast) de coste igual al número de filas. Entonces, por un lado es una caracterı́stica inherente a los sistemas de recuperación de información que el número de filas (términos) es mucho menor al de columnas (documentos), y por tanto la distribución por columnas es de menor coste. Y por otro lado, a la hora de implementar estas comunicaciones en un sistema distribuido y por tanto con TCP/IP es más sencilla la operación de difusión que la de reducción. Particionar la colección por bloques conllevarı́a también gran sobrecarga de comunicaciones, además, la división de los documentos darı́a lugar a una mayor complejidad. Pero además, la idea es poder trabajar en un sistema distribuido donde la colección de documentos pueda estar formada por subcolecciones reales, las cuales muy posiblemente pueden estar separadas fı́sicamente. Es decir, por definición del problema los documentos pueden estar ya distribuidos. Por lo tanto, la mejor elección es la distribución por documentos (por columnas) y es la que se ha utilizado a lo largo de toda la tesis. 120 4.6. CONCLUSIONES α-Bisecting Spherical K-Means distribuido El algoritmo K-Means ha sido paralelizado muchas veces, partiendo en la mayorı́a de los casos de un conjunto de datos centralizado (posteriormente se distribuyen entre los diferentes elementos de proceso) o repetido (cada elemento de proceso presenta una copia de todos los datos). La filosofı́a seguida en esta tesis parte de que la colección de documentos se encuentra ya distribuida entre los distintos elementos de proceso. Estudiando un poco el algoritmo K-Means en seguida se encuentra una filosofı́a de paralelización básica y sencilla, operaciones de suma y producto vectoriales en paralelo y una operación de reducción global, la cual también sirve como método de sincronización. Esta es la lı́nea que han seguido en general las versiones paralelas del K-Means que se encuentran en la literatura, en esta tesis también se ha elegido esta forma de paralelizar pero con las variantes desarrolladas en esta tesis. En la paralelización del α-Bisecting Spherical K-Means cada unidad de proceso tiene un subconjunto de documentos de la colección y una copia del mismo vector concepto normalizado. Por tanto, es preciso desarrollar un algoritmo paralelo para crear un vector concepto normalizado, una versión paralela del α-Bisection y finalmente la versión paralela del α-Bisecting K-Means. Todas estas versiones paralelas suponen además el cálculo en paralelo de la 2-norma (distribuyendo el vector y usando una reducción global), el cálculo también en paralelo de α (se utiliza una reducción global de las sumas parciales locales) y la evaluación paralela del criterio de parada (la función objetivo se calcula parcialmente en cada unidad de proceso y luego éstas se reducen globalmente). VDBSCAN distribuido Principalmente existen dos versiones paralelas del DBSCAN: el PDBSCAN y el DBDC. Pero ambas, además, de haberse probado únicamente con datos de dimensionalidad baja, presentan una carencia fundamental, los clusters se generan basándose únicamente en información local. No dan lugar a los mismos clusters que presentarı́a la versión secuencial del DBSCAN, ahı́ es donde aparece la necesidad de desarrollar el VDBSCAN distribuido. El algoritmo PDBSCAN parte de un conjunto de datos residente en un servidor central y entonces los distribuye entre los diferentes elementos de proceso. Cada uno de los cuales genera clusters basándose sólo en sus datos locales. Las comunicaciones necesarias se realizan por paso de mensajes. Es el programa principal el que se encarga de balancear la carga dinámicamente y de mezclar los resultados producidos por los distintos elementos de proceso. Según sus autores presenta buenos resultados, pero los datos de las pruebas son de baja dimensionalidad (máximo 5). De todas formas hay que tener en cuenta que el enfoque del algoritmo precisa una distribución inicial la cual no es una situación natural e incluso inviable en muchos casos. El algoritmo DBDC (Density Based Distributed Clustering) es una versión distribuida del DBSCAN que parte de que la información se encuentra distribuida en diferentes elementos de proceso. Éstos realizan local e independientemente el clustering mediante el DBSCAN. Entonces se extrae información sobre los clusters localmente creados y se envı́a a un servidor central que genera un modelo global basándose en 121 4.6. CONCLUSIONES ella (una nueva ejecución del DBSCAN), dicho modelo se devuelve a los elementos de proceso. Según los autores los resultados del algoritmo DBDC son bastante buenos, al menos en prestaciones computacionales (las pruebas se realizaron con datos bidimensionales). En la versión distribuida del VDBSCAN cada elemento de proceso trabaja con la parte de la colección que almacena y guarda la información global de que documentos ya han sido clasificados, en que cluster, cuales todavı́a no han sido evaluados y cuales lo están siendo (estos puntos sirven de sincronización). El grueso de la comunicación se da a la hora de mantener esta información, ya que conllevan difusiones o reducciones, y cuando se distribuye el documento del cual se busca el vecindario. La versión paralela del cálculo del vecindario de un elemento está basada directamente en la versión del cálculo de vecindarios incluida en el artı́culo original del DBSCAN [40]. Dicha paralelización no conlleva ninguna comunicación, puesto que cada elemento de proceso únicamente debe realizar productos vectoriales con los datos que ya posee y con el vector que recibe como entrada. Pero no hay que olvidar que el vector de entrada se ha recibido tras una comunicación. Evaluación distribuida de consultas El método de evaluación de consultas es común a todos los métodos de clustering ya que trabaja únicamente con la colección y los clusters construidos, independientemente de cómo se hayan creado éstos. En su versión distribuida cada elemento de proceso trabaja con sus documentos locales obteniendo las relevancias de éstos. Ahora bien, para construir el ranking global precisa de las relevancias de todos los documentos, por ello se hace una distribución de las relevancias locales (paso diferenciador de la versión secuencial). 122 Capı́tulo 5 Estudios experimentales 5.1. Colecciones de prueba y entornos utilizados Con el objetivo de verificar el comportamiento de los métodos desarrollados en este trabajo, se ha hecho uso de tres colecciones de prueba distintas. Todas ellas consisten en colecciones de documentos, con un conjunto de consultas de prueba. Las colecciones presentan muy distintas dimensiones (desde 425 documentos hasta más de 226000) y también muy diferentes temáticas (desde la polı́tica, pasando por la fibrosis cı́stica, hasta resúmenes de energı́a). Los estudios experimentales se han realizado en dos clusters de PCs: Kefren y Odin (los resultados expuestos son principalmente de Odin). Ambas máquinas están formadas por nodos biprocesador y presentan internamente una red con topologı́a en malla. El sistema operativo que las gestiona es Linux y destacan las librerias numéricas BLAS, LAPACK y SCALAPCK, y la librerı́a de comunicaciones MPI. 5.1.1. Colección: Times Magazine 1963 La colección “Times Magazine 1963 ” contiene 425 artı́culos escritos en inglés, todos extraidos del “Times Magazine” de 1963 y cuyo tema principal versa sobre noticias de polı́tica internacional. Viene acompañada de 83 consultas de prueba, los documentos relevantes a dichas consultas. Más detalles en el apartado 2.5.5 en la página 62. Una vez construida la matriz de pesos, como modelo de referencia y base para los métodos de clustering, ésta presenta las siguientes dimensiones: 6545 filas (términos) por 425 columnas (documentos). Y la dispersión de la matriz de pesos es de 0.027017. 5.1.2. Colección: Cystic Fibrosis Database La colección “Cystic Fibrosis Database” trata sobre aspectos de fibrosis cı́stica, está escrita ı́ntegramente en inglés y los 1239 documentos que la forman fueron publicados entre 1974 y 1979. También incluye 100 consultas con sus respectivos documentos relevantes. Ver más detalles en el apartado 2.5.5 en la página 62. 123 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN Una vez construida la matriz de pesos, como modelo de referencia y base para los métodos de clustering, ésta presenta las siguientes dimensiones: 3518 filas (términos) por 1239 columnas (documentos). Y la dispersión de la matriz es de 0.013698. 5.1.3. Colección: TREC-DOE La colección “ TREC-DOE” incluye resúmenes del departamento de energı́a de EEUU, lógicamente utiliza el idioma inglés. Concretamente contiene 226087 documentos y 200 consultas de prueba con la consiguientes referencias a los documentos relevantes a las mismas. Ver más detalles en el apartado 2.5.5 en la página 62. Una vez construida la matriz de pesos, como modelo de referencia y base para los métodos de clustering, ésta presenta las siguientes dimensiones: 87417 filas (términos) por 226087 columnas (documentos). Y la dispersión de la matriz es de 0.00053025. 5.1.4. Cluster de PCs: KEFREN Kefren consta de 20 nodos biprocesadores Pentium Xeon a 2 Ghz con 1 Gigabyte de memoria RAM. Debido a ciertas reconfiguraciones el cluster a pasado a 16 nodos, interconectados mediante una red SCI con topologı́a de Toro 2D en malla de 4x4. La red se reconfigura automáticamente en caso de fallo de algún nodo. Utiliza como sistema operativo un Linux CentOS 5.3 con kernel 2.6.18. Tiene instalados los compiladores: gcc, g++ version 4.1.2 y g77 version 3.4.6. Las librerias numéricas que ofrece son: BLAS Version 3.0-37, LAPACK Version 3.0-37 y SCALAPACK Version 1.8; y la librerı́a de comunicaciones MPI que presenta es la NMPI 1.3.3.1 (implementación completa del estándar MPI-2, optimizada para la red SCI). 5.1.5. Cluster de PCs: ODIN Odin consta de 51 nodos biprocesadores Intel(R) Xeon(TM) CPU a 2.80GHz, interconectados mediante una red SCI con topologı́a de Toro 2D en malla de 10x5. Cada nodo consta de 2 Gigabyte de memoria RAM. El nodo principal es el punto de acceso al cluster y el resto de nodos (50) están disponibles para cálculo cientifico. La red se reconfigura automáticamente en caso de fallo de algún nodo. Utiliza como sistema operativo un Linux CentOS 5.3 con kernel 2.6.18. Tiene instalados los compiladores: gcc, g++ version 4.1.2 y g77 version 3.4.6. Las librerias numéricas que ofrece son: BLAS Version 3.0-37, LAPACK Version 3.0-37 y SCALAPACK Version 1.8; y la librerı́a de comunicaciones MPI que presenta es la NMPI 1.3.3.1 (implementación completa del estándar MPI-2, optimizada para la red SCI). 5.2. Comparación de calidad de recuperación En este apartado se va a presentar la comparación entre los distintos métodos desarrollados tomando de referencia los resultados obtenidos directamente con la matriz de pesos. Dicha comparación se centra la calidad de recuperación, estudiando posteriormente otros aspectos también importantes, como el tiempo de computación. 124 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN Las medidas en las que se basan los estudios son la precisión y la cobertura (recall ), concretamente se ha utilizado la curva para 11 niveles estándares que compara ambas. La elección se fundamenta en ser uno de los métodos más ampliamente usado, su sencillez, su claridad visual y su amplio rango de estudio. 5.2.1. Matriz de Pesos vs. Spherical K-Means En este apartado se presentan las prestaciones del método Spherical K-Means (algoritmo 3 en la página 79) junto con las prestaciones de la matriz de pesos como referencia. Se incluyen cuatro gráficos por colección de prueba (figuras 5.1 y 5.2 en la página siguiente para la Times y la Cystic respectivamente), mostrando cada uno el comportamiento con dos, cuatro, ocho y dieciséis clusters. De esta forma se puede observar la evolución del comportamiento del método según el número de clusters elegido. En las pruebas realizadas también se estudiaron valores intermedios, los cuales siguen el comportamiento que se ve con los valores presentados. Figura 5.1: Comportamiento del Spherical K-Means con la colección Times. 125 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN Figura 5.2: Comportamiento del Spherical K-Means con la colección Cystic. Hay que tener en cuenta que el método Spherical K-Means depende mucho de la solución inicial elegida, es decir, de los centroides iniciales seleccionados. Por ello cada gráfico muestra cuatro curvas distintas, una corresponde a la matriz de pesos, como curva de referencia, y tres correspondientes al método de estudio. Dos de éstas son de acotación y corresponden al mejor y peor caso de todos los estudiados (un mı́nimo de cien pruebas). La otra presenta el comportamiento medio de todas las pruebas. En la figura 5.1 en la página anterior, estudio realizado con la colección Times, se observa claramente que al aumentar el número de clusters generados la calidad de la recuperación empeora, excepto, como es lógico, la de la curva de máxima calidad que es prácticamente igual a la curva de la matriz de pesos, aunque siempre un poco menor. De ello podemos deducir que generar más de dos clusters es contraproducente. Aunque generemos sólo dos clusters la calidad de recuperación será peor que con la matriz de pesos. Dependiendo de la suerte o la buena elección de la inicialización del algoritmo (si tuviésemos información previa) la calidad aumentará o disminuirá. Pero a no ser que afinemos mucho en general la calidad empeorará significativamente. 126 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN El comportamiento de las curvas obtenido con la colección Cystic (figura 5.2 en la página anterior) es análogo a los resultados presentados al utilizar la colección Times (figura 5.1 en la página 125). A medida que aumenta el número de clusters a generar empeora la calidad de recuperación, pero además, en este caso también se observa que la curva máxima baja de prestaciones significativamente sobre la matriz de pesos. Con la colección Cystic el comportamiento del método no está muy influenciado por la selección inicial. De hecho las curvas media, máxima y mı́nima están prácticamente solapadas. Esto se explica en parte por el comportamiento tipo de las curvas, el cual ya se observa en la matriz de pesos: las prestaciones empeoran rápidamente a medida que aumenta la cobertura. Este comportamiento es intrı́nseco a la colección y a las consultas de prueba. Aunque la inicialización del algoritmo no influye de forma significativa sı́ se observa que las prestaciones finales obtenidas siempre son peores a las presentadas por la matriz de pesos. Eso sı́, a diferencia de la colección Times dicho empeoramiento es bastante bajo, incluso insignificante generando dos clusters. El hecho que en ambos casos (figuras 5.1 en la página 125 y 5.2 en la página anterior para la colección Times y la colección Cystic respectivamente) el aumento del número de clusters a generar provoque que la calidad de recuperación se vea menoscabada sugiere pensar que dicho comportamiento puede deberse más a caracterı́sticas propias del método Spherical K-Means que a aspectos propios de las colecciones. De todas formas aventurar dicha conclusión sin más datos ni más estudios con otras distintas colecciones es muy arriesgado. En todos los casos la curva media está por debajo de la matriz de pesos, y la curva de calidad máxima también. Por lo tanto habrı́a que estudiar que ventajas ofrece el Spherical K-Means respecto a la matriz de pesos que pudiesen justificar esa pérdida de calidad. La principal ventaja que puede argumentar el Spherical K-Means es mejorar las prestaciones computacionales, sobre todo la mejora de la velocidad de consulta. Es cierto que inicialmente, en la modelización, el coste computacional es mayor, pero al realizarse éste una única vez se puede despreciar y no considerar. Mediante este método se han generado dos clusters tanto en la colección Times como en la Cystic con lo cual a la hora de realizar una consulta sólo se ha de evaluar los documentos de un cluster. Con lo cual en media se podrı́a decir que se evaluarı́an la mitad de documentos por consulta respecto a la matriz de pesos. Dicha mejora en el tiempo de respuesta ante una consulta puede ser importante cuando la colección es muy grande, siendo el empeoramiento de prestaciones de recuperación aceptable. Decir que con las dos colecciones de prueba presentadas, compensarı́a la mejora del tiempo de respuesta respecto al empeoramiento en la calidad de recuperación. 5.2.2. Matriz de Pesos vs. α-Bisecting Spherical K-Means Este punto presenta las prestaciones del método α-Bisecting Spherical K-Means (algoritmo 3 en la página 79) junto con las prestaciones de la matriz de pesos como referencia. Al igual que en las prestaciones del Spherical K-Means, se incluyen cuatro gráficos por colección de prueba (figuras 5.1 en la página 125 y 5.2 en la página anterior para la Times y la Cystic respectivamente), cada uno de los cuales muestra el comportamiento del α-Bisecting Spherical K-Means generando dos, cuatro, ocho y 127 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN dieciséis clusters. De esta forma se puede observar la evolución del comportamiento del método según el número de clusters elegido. Hay que tener en cuenta que el método α-Bisecting Spherical K-Means, al igual que el Spherical K-Means, depende mucho de los centroides iniciales elegidos. Y de la misma forma, cada gráfico muestra cuatro curvas distintas, una para la matriz de pesos, como curva de referencia, y tres más relacionadas directamente con el método de estudio. Dos de éstas son acotaciones y muestran las prestaciones mı́nimas y máximas de todas las pruebas realizadas (un mı́nimo de cien). La otra presenta el comportamiento medio de todas las pruebas. Figura 5.3: Comportamiento del α-Bisecting Spherical K-Means, colección Times. En general el comportamiento del α-Bisecting Spherical K-Means con la colección Times (ver figura 5.3) es análogo al del Spherical K-Means (ver figura 5.1 en la página 125). Pero destacan tres aspectos importantes que se pueden resumir en uno, la calidad en recuperación de información mejora y además en todos los casos, tanto a nivel de clusters generados como de curvas mı́nima, máxima y media. El primer aspecto destacado es que la curva máxima es prácticamente igual que la curva 128 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN obtenida con la matriz de pesos, incluso se podrı́a decir que la mejora. El segundo, la diferencia entre la curva mı́nima y la máxima es mucho menor que con el Spherical K-Means, el resultado no depende tanto de la solución inicial elegida. Y el tercero, y posiblemente más importante, es que la curva media mejora considerablemente con el α-Bisecting Spherical K-Means respecto al Spherical K-Means. También hay que decir, que generando dos clusters es cuando se obtienen mejores resultados en la recuperación de información. El comportamiento del α-Bisecting Spherical K-Means con la colección Cystic (ver figura 5.4) sigue los mismos pasos que con la colección Times, pero las diferencias respecto al Spherical K-Means (ver figura 5.2 en la página 126) destacan menos, al tener un comportamiento mucho más regular. De hecho prácticamente no se aprecian diferencias de un caso al otro, sólo un poco en las curvas mı́nima y máxima que se ven mucho más cercanas a la curva media. Figura 5.4: Comportamiento del α-Bisecting Spherical K-Means, colección Cystic. 129 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN 5.2.3. Spherical K-Means vs. α-Bisecting Spherical K-Means Del estudio del comportamiento del Spherical K-Means y del α-Bisecting Spherical K-Means se han seleccionado los mejores casos según el número de clusters seleccionados y se han incluido todos en un mismo gráfico (figura 5.5 y 5.6 en la página siguiente para las colecciones Times y Cystic respectivamente) para poder compararlos con mayor facilidad. En ambos casos se ha elegido las curvas medias, presentadas al generar dos clusters ya que son los casos óptimos para ambos métodos. En el estudio con la colección Times (figura 5.5) se observa claramente que el método α-Bisecting Spherical K-Means presenta mejores prestaciones que el Spherical K-Means a lo largo de toda la curva. Ambos algoritmos son bastante regulares y siguen, aunque con peores prestaciones, la misma lı́nea de comportamiento que la curva descrita por la matriz de pesos. Aunque se han presentado las curvas medias, según se observó en las figuras 5.1 en la página 125 y 5.3 en la página 128, el rango en el que se mueve el método α-Bisecting Spherical K-Means es mucho menor que el del Spherical K-Means. Por lo tanto la variación entre las curvas presentadas y las que realmente se obtendrı́an variarán mucho menos con el α-Bisecting Spherical K-Means. Figura 5.5: Spherical K-Means vs. α-Bisecting Spherical K-Means, con la Times. Por otro lado el estudio con la colección Cystic (figura 5.6 en la página siguiente) da muy poca información, puesto que ambos métodos presentan diferencias entre sı́ despreciables con las curvas medias. Lo que sı́ está claro es que siempre están por debajo de las prestaciones de recuperación ofrecidas por la matriz de pesos. Como se observa en las figuras 5.2 en la página 126 y 5.4 en la página anterior la diferencia entre ambos métodos se aprecia en el rango de comportamiento, fundamentalmente entre la curva máxima y la mı́nima, pero ası́ y todo estas diferencias son mı́nimas. 130 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN Figura 5.6: Spherical K-Means vs. α-Bisecting Spherical K-Means, con la Cystic. 5.2.4. Matriz de Pesos vs. VDBSCAN En este apartado se presenta la comparación de comportamiento entre la matriz de pesos y el VDBSCAN (algoritmo 9 en la página 86 seleccionando el parámetro mediante el algoritmo 10 en la página 97). El estudio se ha realizado comparando las prestaciones de recuperación de información con la colección Times y la Cystic (figuras 5.7 en la página siguiente y 5.8 en la página siguiente respectivamente). Con la colección Times (figura 5.7 en la página siguiente) se observa que el algoritmo VDBSCAN tiene un comportamiento con prácticamente las mismas prestaciones de recuperación de información que las obtenidas con la matriz de pesos. De hecho en algunos momentos la mejora y en otros la empeora, pero siempre con diferencias sutiles. Destaca que en la zona de cobertura inicial el VDBSCAN presenta menos prestaciones, pero enseguida (tras el 10 % de cobertura) ya ha igualado la matriz de pesos. Luego, a partir del 50 % de recuperación definitivamente mejora las calidad de recuperación de información. El comportamiento del VDBSCAN con la colección Cystic (figura 5.8 en la página siguiente) también es prácticamente igual que el de la matriz de pesos. Aunque excepto en el momento inicial que la mejora de forma casi inapreciable, el resto la empeora pero con una diferencia despreciable (al final del todo, a partir del 90 % de cobertura, dicha diferencia se hace más evidente pero en esa zona es bastante indiferente). 131 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN Figura 5.7: Comparación entre la matriz de pesos y el VDBSCAN, colección Times. Figura 5.8: Comparación entre la matriz de pesos y el VDBSCAN, colección Cystic. En ambos casos, con las dos colecciones utilizadas, se observa que el comportamiento del VDBSCAN habiendo seleccionado de forma adecuada sus parámetros, tal y como se presenta en el apartado 3.4 en la página 85, es tan similar al com132 5.2. COMPARACIÓN DE CALIDAD DE RECUPERACIÓN portamiento de la matriz de pesos que podrı́a perfectamente sustituirlo sin apreciar diferencias significativas en la calidad de la recuperación de información. Ahora bien, habrá que valorar otros aspectos también importantes, sobre todo las prestaciones computacionales. Aunque el estudio computacional se trata más adelante hay un aspecto claro que se puede valorar analizando superficialmente ambos modelos. Utilizando la matriz de pesos se deben comprobar todos los documentos de la colección en cada consulta del usuario. Por el contrario con el VDBSCAN, al ser un método de clustering, la comprobación se limitará a los documentos de un cluster, que siempre son menos que la colección entera. De esta forma el coste computacional de la consulta se verı́a reducido en tiempo mediante el método VDBSCAN, y es obvio que el tiempo de respuesta ante el usuario es una caracterı́stica fundamental. Además, el coste añadido en la modelización del VDBSCAN es bastante pequeño y al producirse ésta una única vez es por lo tanto aceptable. 5.2.5. α-Bisecting Spherical K-Means vs. VDBSCAN Una vez comprobado el comportamiento individual de los dos métodos presentados en esta tesis (α-Bisecting Spherical K-Means y VDBSCAN respecto al modelo generado con la matriz de pesos, apartados 5.2.2 en la página 127 y 5.2.4 en la página 131 respectivamente), se realiza en este apartado la comparación entre ambos métodos nuevamente respecto a la matriz de pesos. Figura 5.9: α-Bisecting Spherical K-Means vs. VDBSCAN, colección Times. 133 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES En la figura 5.9 en la página anterior se presenta el comportamiento de ambos métodos en relación a la colección Times. Y en la figura 5.10 se presentan ambos métodos respecto a la colección Cystic. Cuando se utiliza cualquiera de las dos colecciones de prueba, se observa claramente que el VDBSCAN supera en todos los aspectos al α-Bisecting Spherical K-Means, al menos en su curva media. De todas formas, si se comparase con la curva máxima también se podrı́a apreciar que lo superarı́a. Figura 5.10: α-Bisecting Spherical K-Means vs. el VDBSCAN, colección Cystic. 5.3. Comparación de prestaciones computacionales La evaluación de los algoritmos secuenciales la hemos realizado valorando la calidad de recuperación de información principalmente, y el coste temporal del algoritmo de forma superficial. Pero con los algoritmos paralelos esto no es suficiente, hay que valorar también otros factores destacando entre ellos el estudio de la reducción de tiempo a medida que se incrementa el número de unidades de proceso (evaluado estudiando el speed up) y el estudio de la relación entre los recursos utilizados y la mejora que estos suponen (evaluado estudiando la eficiencia). El speed up se define como el ratio del tiempo de ejecución de un algoritmo en un procesador por el tiempo de ejecución en p unidades de proceso (relación entre el mejor tiempo secuencial y el tiempo paralelo). Es un resumen de la mejora temporal de un algoritmo paralelo cuando involucramos más unidades de proceso. Es decir, para una talla concreta del problema el speed up captura el decremento en el tiempo de ejecución que puede ser obtenido por el incremento del numero de procesadores. 134 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES S= Mejor tiempo secuencial Tiempo paralelo El valor ideal del speed up serı́a el número de elementos de proceso utilizados en la ejecución paralela, pero en la práctica es inalcanzable mientras no se pueda descomponer el problema secuencial en tantas subtareas como elementos de proceso hayan, evitando ası́ los tiempos de sobrecarga necesarios para realizar la versión paralela (las comunicaciones necesarias). La eficiencia se define como el ratio del speed up por el número de unidades de proceso utilizadas. Siendo, por tanto, un resumen de la calidad de utilización de nuevos recursos (unidades de proceso). La eficiencia capturarı́a el nivel de aprovechamiento de los recursos utilizados. E= SpeedUp Unidades de Proceso El valor ideal de la eficiencia es 1, el 100 % de los recursos nuevos es utilizado en la mejora. Dicha eficiencia sólo se podrı́a dar con un speed up perfecto, pero en situaciones reales es prácticamente inalcanzable un speed up ideal. En definitiva cada caso de estudio se ha evaluado en función del coste temporal, del speed up, y de la eficiencia. Las prestaciones en recuperación de información son las mismas que la versión secuencial, ya que ambas dan lugar a los mismos clusters. Todas los resultados presentados se han obtenido como medias de comportamiento ante diversas pruebas y repeticiones de las mismas para evitar posibles influencias puntuales. Por ejemplo, los tiempos de respuesta ante la evaluación son respecto a todas las consultas de prueba que las colecciones aportan, al igual que las curvas de precisión vs. cobertura (recall ) también son medias de todas las consultas de prueba. El algoritmo de evaluación de las consultas (ver apartado 4.5 en la página 118) es el mismo para todos los métodos de clustering, por lo cual se podrı́a suponer que los costes computacionales de evaluación serı́an iguales independientemente del método de modelización. Dicha suposición es errónea, ya que en función de la modelización se generaran clusters de diferente talla y de diferente distribución, aspectos ambos que influyen directamente en el tiempo de respuesta de la fase de evaluación de consultas. A modo de ejemplo ilustrativo se presenta en la tabla 5.1 los distintos métodos analizados con el número de documentos que incluye cada cluster generado y la distribución de las consultas de prueba, todo ello en base a la colección Times: Spherical K-Means α-Bisecting Spherical K-Means Documentos por cluster 201 224 41 384 Documentos por cluster Consultas por cluster 37 49 10 73 Consultas por cluster VDBSCAN (15 clusters) Documentos por cluster 324 12 3 2 9 5 4 2 5 2 2 2 2 2 4 Consultas por cluster 67 5 0 0 2 2 0 1 4 0 2 0 0 0 0 Tabla 5.1: Análisis de influencia de la modelización en los costes de evaluación. Como se observa en la tabla 5.1 el método VDBSCAN genera muchos más clusters que los métodos Spherical K-Means y el α-Bisecting Spherical K-Means. Lógicamente 135 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES a la hora de evaluar una consulta requiere mayor tiempo decidir que cluster seleccionar entre 15 candidatos que entre 2 (hay que comparar la consulta con 15 centroides o sólo 2). También se puede ver en la tabla 5.1 en la página anterior que cada método genera los clusters con tallas diferentes. Obviamente no es lo mismo evaluar una consulta en un cluster de 384 documentos (el α-Bisecting Spherical K-Means evalúa 73 consultas) que en uno de 12 documentos (el VDBSCAN evalúa 5 consultas). 5.3.1. Modelización: VDBSCAN vs. α-Bisecting Spherical KMeans vs. Spherical K-Means En este apartado se presenta el estudio temporal comparativo de la modelización de los dos métodos desarrollados en la tesis en relación al Spherical K-Means. También se incluye el estudio del speed up y de la eficiencia. Todos los estudios se presentan para las tres colecciones de prueba que se usan en esta tesis (ver apartado 5.1 en la página 123). No se ha incluido la matriz de pesos puesto que se supone que ésta es el punto de partida para las distintas modelizaciones. Toma de Tiempos Del estudio temporal de la modelización se pueden destacar tres aspectos importantes, independientemente de la colección de prueba utilizada. Primero, la modelización mediante el VDBSCAN es enormemente más costosa que el resto. Segundo, el Spherical K-Means y el α-Bisecting Spherical K-Means tienen un coste temporal muy parecido, pero el α-Bisecting Spherical K-Means es potencialmente más mejorable con paralelización. Y tercero, la mejora paralela se aprecia fundamentalmente en el VDBSCAN y cuando la colección empleada es de tamaño considerable. Con la colección Times (figura 5.11 en la página siguiente) al ser pequeña, las diferencias temporales son también pequeñas. Además, la mejora en la paralelización sólo se da con hasta dos unidades de proceso, a partir de las cuales los beneficios se empiezan a perder, llegando incluso a empeorar los tiempos. Destaca también, que el VDBSCAN presenta una mejorı́a sustancial con pocas unidades de proceso pero al aumentar el número de éstas se producen perdidas considerables, debido a los costes de comunicación. Con la colección Cystic (figura 5.12 en la página siguiente) se obtienen resultados prácticamente iguales que con la colección Times, debido principalmente a que ambas tienen un tamaño pequeño. Eso sı́, como la colección Cystic presenta una talla algo superior (de 425 a 1239 documentos) destacan algo más los aspectos descritos con la colección Times. 136 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Figura 5.11: Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. Figura 5.12: Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. 137 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES La colección DOE (figura 5.13) conlleva un aumento del tamaño muy considerable (alcanzando unos 226000 documentos) y por lo tanto los resultados son más caracterı́sticos, más claros y más extremos. El coste temporal en valores absolutos se diferencia de manera desmesurada, sobre todo el del método VDBSCAN. Ahora bien, la mejora de prestaciones con el paralelismo también es enormemente mejor en el VDBSCAN. También se observa con mucha claridad que los tres métodos mejoran con el paralelismo, al menos al utilizar hasta ocho unidades de proceso. Además, esta colección nos permite destacar otro aspecto importante, cuanto más elaborado es el método utilizado más costosa computacionalmente es su fase de modelización. Figura 5.13: Comparación de toma de tiempos de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. Estudio del Speed Up y de la Eficiencia A partir del análisis del speed up y de la eficiencia con las tres colecciones de prueba se puede deducir, más o menos, lo esperable. Con las colecciones Times y Cystic los resultados del speed up son malos, hay una mı́nima mejora pero despreciable y enseguida un empeoramiento sustancial. Ello es debido al pequeño tamaño de las colecciones. Razón que también provoca que ninguno de los métodos obtenga una eficiencia aceptable a partir de dos unidades de proceso. En cambio al utilizar una colección de un tamaño ya considerable, la DOE, el comportamiento del speed up sufre una mejora continua, obteniéndose sólo buenos valores con el método VDBSCAN. En la eficiencia también mejoran las prestaciones plausiblemente, llegando con el VDBSCAN siempre a eficiencias superiores al 70 %. 138 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Figura 5.14: Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. En el estudio del speed up con la colección Times (figura 5.14) destaca que es utilizando dos procesadores dónde parece que éste quiera mejorar, pero a partir de ahı́ el speed up decae alcanzando valores bastante malos. Por su lado, la eficiencia presenta una caı́da bastante pronunciada, aunque con dos procesadores consigue mantenerse cerca de un 60 %, la bajada luego continúa hasta alcanzar valores cercanos a la ineficiencia. Este comportamiento es común a los tres curvas obtenidas por los algoritmos comparados, siendo las diferencias entre unos y otros métodos prácticamente despreciables. Figura 5.15: Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. 139 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Al utilizar la colección Cystic (figura 5.15 en la página anterior) los resultados mejoran algo más, llegan a valores más altos y caen más tarde, ası́ y todo los resultados alcanzados son malos. Nuevamente debido al tamaño reducido del problema. Cuando ya utilizamos una colección de mayor embergadura, la DOE (figura 5.16), los resultados ya son más que aceptables, llegando incluso a ser bastante buenos con el algoritmo VDBSCAN. Al ser la colección de un tamaño ya considerable los algoritmos pueden aprovechar mejor la paralelización y eso se observa en los resultados. Figura 5.16: Comparación de speed up y eficiencia de modelización entre el Spherical K-Means, el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. Hasta ocho procesadores los tres métodos mejoran su speed up y el VDBSCAN además de mejorar continuamente obtiene valores cercanos a los óptimos con dos y tres procesadores (2 procesadores 1.90 y 3 procesadores 2.70), y alejándose progresivamente de los valores óptimos a medida que aumentan las unidades de proceso. El Spherical K-Means y el α-Bisecting Spherical K-Means presentan eficiencias medio-altas hasta los tres o cuatro procesadores y a partir de ahı́ mantienen la eficiencia algo baja (rondan el 40 %). Por su lado el VDBSCAN mantiene buenos valores de eficiencia hasta las ocho unidades de proceso, no bajando en ningún caso del 70 %. 5.3.2. Evaluación: Matriz de Pesos vs. Spherical K-Means vs. α-Bisecting Spherical K-Means En este apartado se presenta el estudio temporal comparativo de la evaluación de consultas mediante el Spherical K-Means y el α-Bisecting Spherical K-Means usando como referencia el coste temporal de la matriz de pesos. También se presentan los estudios del speed up y de la eficiencia. Todos los estudios se presentan para las tres colecciones de prueba que se utilizan a lo largo de esta tesis (ver apartado 5.1 en la página 123). 140 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Toma de Tiempos En general, independientemente de las colecciones, los métodos Spherical K-Means y α-Bisecting Spherical K-Means presentan en todo momento un tiempo de evaluación menor que la matriz de pesos, siendo siempre más rápido el Spherical K-Means. Ahora bien, ninguno de los dos métodos responde con mejoras claras a la paralelización. En la figura 5.17, se observa claramente como con la colección Times se manifiesta el comportamiento general. Ambos métodos son más rápidos que la matriz de pesos utilizada como referencia. Además, la paralelización del Spherical K-Means es nula y con el α-Bisecting Spherical K-Means muy reducida. Figura 5.17: Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección Times. Con la colección Cystic (figura 5.18 en la página siguiente) el comportamiento obtenido es similar, la matriz de pesos en todo momento tiene un mayor coste temporal que los otros métodos. En este caso la respuesta a la paralelización es mala respecto a las prestaciones temporales, ya que en lugar de mejorar o mantenerse, empeoran de manera drástica llegando a perder casi toda la mejora que presentaban. A medida que el tamaño de la colección crece, como se puede ver en la figura 5.19 en la página siguiente, proporcionalmente la mejora temporal del Spherical K-Means y el α-Bisecting Spherical K-Means se acrecenta, manteniendo siempre la misma estructura. También se observa que los costes de comunicación en la paralelización se compensan con la mejora temporal de usar más unidades de proceso, por ello el tiempo de respuesta de ambos métodos consiguen mantenerse en el mismo orden de magnitud. 141 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Figura 5.18: Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección Cystic. Figura 5.19: Comparación de toma de tiempos de evaluación entre el Spherical KMeans, el α-Bisecting Spherical K-Means y la Matriz de Pesos con la colección DOE. 142 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Estudio del Speed Up y de la Eficiencia La colección Times (figura 5.20) ofrece unos resultados buenos pero anormales y no generalizables, al menos con el α-Bisecting Spherical K-Means que sigue un comportamiento similar a la matriz de pesos, la cual se utiliza de referencia. Estos resultados se asocian a relación óptima entre la colección, el método y los parámetros de éste elegidos. Por su parte el Spherical K-Means presenta un speed up que empeora continuamente. Figura 5.20: Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección Times. Figura 5.21: Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección Cystic. 143 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES El comportamiento presentado en la figura 5.21 en la página anterior (colección Cystic) representa mejor el comportamiento general de ambos métodos, las malas prestaciones computacionales al utilizar paralelismo. El speed up de ambos empeora al subir los procesadores usados. Con la colección Cystic la curva de la eficiencia de ambos métodos es cercana a la de referencia, y ya que esta última de por sı́ no presenta buenas prestaciones, lógicamente los métodos presentados no obtienen buenas prestaciones. Ası́ y todo los valores que muestran se reducen a una eficiencia entorno al 50 % con dos unidades de proceso y valores inaceptables a partir de ahı́. Figura 5.22: Comparación de speed up y eficiencia de evaluación entre el Spherical K-Means, el α-Bisecting Spherical K-Means y la Matriz de Pesos, colección DOE. La utilización de una colección de mayor tamaño (colección DOE, figura 5.22) compensa los costes de comunicación con los costes de evaluación propios y las curvas del speed up y eficiencia se suavizan. Pero ası́ y todo está claro que tanto el Spherical K-Means como el α-Bisecting Spherical K-Means no obtienen mejores prestaciones temporales al utilizar paralelismo. El speed up viene a plasmar de forma más clara la respuesta ante la paralelización ya vista en el estudio temporal. El método Spherical K-Means presenta un speed up pésimo, puesto que está por debajo de uno siempre y a medida que se aumentan los elementos de proceso baja todavı́a más. Por su lado el α-Bisecting Spherical KMeans presenta un comportamiento también malo pero menos desastroso, llegando incluso a tener algunas mejoras con la colección Times, lo cual se explica por una situación óptima casual de la colección y los parámetros elegidos. Del estudio de la eficiencia destacan dos aspectos. Primero que el α-Bisecting Spherical K-Means tiene un comportamiento especial y relativamente bueno con la colección Times. Y segundo, salvo dicho caso, la eficiencia de ambos métodos sólo podrı́a llegar a ser aceptable con dos unidades de proceso con un valor rondando el 50 %, a partir de ahı́ sufre un importante descenso. 144 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES 5.3.3. Evaluación: Matriz de Pesos vs. VDBSCAN En este apartado se hace la comparación de los costes temporales del VDBSCAN con la matriz de pesos como elemento de referencia. También se incluyen los estudios del speed up y de la eficiencia. Todos los estudios se presentan para las tres colecciones de prueba que se han usado en esta tesis (ver apartado 5.1 en la página 123). Toma de Tiempos El método VDBSCAN en todos los casos tiene un coste temporal menor que el método de referencia (la matriz de pesos). A medida que el tamaño del problema aumenta la diferencia entre uno y otro aumenta, siendo en comparación proporcionalmente cada vez más rápido el VDBSCAN. También destaca que parece que la mejora de prestaciones al utilizar paralelismo se pierde antes con el VDBSCAN, en otras palabras el número de unidades de procesamiento que hace mejorar el tiempo de evaluación es menor con el VDBSCAN que con la matriz de pesos. Esto es debido a que en el primero la complejidad del método conlleva mayor número de comunicaciones y por tanto éstas limitan antes el número de elementos de proceso que benefician las prestaciones. Figura 5.23: Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Times. La colección Times (figura 5.23) conlleva un tiempo de respuesta ante la evaluación prácticamente igual tanto en el VDBSCAN como con la matriz de pesos, pero siempre el VDBSCAN por debajo. También se observa que a medida que aumentamos el número de unidades de proceso el tiempo de evaluación se reduce, hasta que 145 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES se alcanzan las cuatro unidades, punto a partir del cual el paralelismo deja de ser beneficioso y los tiempos empeoran. Figura 5.24: Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Cystic. Figura 5.25: Comparación de toma de tiempos de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección DOE. 146 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Como muestra la figura 5.24 en la página anterior, con la colección Cystic el comportamiento es similar, aunque en este caso las diferencias temporales son mayores. Pero también es peor la respuesta ante la paralelización, la matriz de pesos tiene mejor comportamiento relativo. De hecho, el VDBSCAN a partir de dos unidades de proceso ya no presenta beneficios con el paralelismo, mientras que la matriz de pesos alcanza las cuatro unidades de proceso. Con la colección DOE (figura 5.25 en la página anterior) las diferencias temporales de evaluación son todavı́a más significativas, el VDBSCAN es bastante más rápido en comparación. En cuanto a la respuesta ante la paralelización se observa que ambas curvas suavizan la mejora de prestaciones, sobre todo el VDBSCAN. Ahora bien, mientras la matriz de pesos aumenta las unidades de proceso que le mejoran las prestaciones, el VDBSCAN sigue manteniéndose en cuatro como número lı́mite, aunque sı́ que alarga el lı́mite en el cual empieza a realmente empeorar las prestaciones. Estudio del Speed Up y de la Eficiencia El VDBSCAN presenta un speed up no muy bueno, de hecho en todo momento está por debajo de la matriz de pesos (modelo de referencia) aunque ésta de por sı́ ya lo tiene malo. De hecho destaca que a medida que aumenta el tamaño de la colección el speed up empeora en relación con la matriz de pesos. Es obvio que no se aprovechan lo que debieran las posibilidades de mejora de prestaciones de la paralelización, existen demasiadas comunicaciones. Tras lo visto en el estudio del speed up el estudio de la eficiencia no aporta mucho más. El VDBSCAN es menos eficiente en todos los casos respecto a la matriz de pesos, aunque no se va mucho de ésta. Ası́ y todo, eficiencias aceptables sólo se consiguen con dos unidades de proceso y en algunos casos concretos se podrı́an aceptar hasta tres unidades de proceso. Figura 5.26: Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Times. 147 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES La colección Times (figura 5.26 en la página anterior) es la que presenta el mejor comportamiento, ya que se puede observar como el VDBSCAN obtiene prácticamente el mismo speed up que la curva de referencia (la matriz de pesos). No se puede hablar de un buen speed up puesto que está muy lejos de los valores ideales, pero al menos el VDBSCAN responde respecto a los valores de referencia. Análogamente presenta la mejor eficiencia, estando en todo momento pareja a la de la matriz de pesos. De hecho es la única que admitirı́a hasta tres unidades de proceso con una eficiencia que ronda el 50 %. Figura 5.27: Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección Cystic. Figura 5.28: Comparación de speed up y eficiencia de evaluación entre el VDBSCAN y la Matriz de Pesos con la colección DOE. 148 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Con la colección Cystic (figura 5.27 en la página anterior) las diferencias son mayores, pero también hay que decir que ya la matriz de pesos presenta un speed up malo. El comportamiento de la eficiencia es también similar, un poco menor el VDBSCAN respecto a la matriz de peso, pero ambos muy igualados. Eso si la eficiencia decae mucho más y ya con sólo dos unidades de proceso alcanza valores menores de un 60 %. Con la colección DOE (figura 5.28 en la página anterior) serı́a de esperar obtener unas prestaciones mucho mejores debido a que la colección es mucho más grande, pero los resultados indican que las diferencias respecto a la matriz de pesos son mayores. Esta mala respuesta a la paralelización del algoritmo VDBSCAN tiene sentido ya que mientras que con la matriz de pesos se trabaja con toda la colección (muchos más documentos), el VDBSCAN evalúa sólo unos cuantos documentos, los que se encuentran dentro del cluster seleccionado. Además, cuando la colección de documentos crece, también lo hace la dispersión de la matriz que lo modeliza, con lo cual los costes computacionales también disminuyen pero las comunicaciones no. 5.3.4. Evaluación: VDBSCAN vs. α-Bisecting Spherical KMeans Por último se presenta la comparación del tiempo de respuesta en la fase de evaluación de consultas de los dos métodos destacados: el α-Bisecting Spherical K-Means y el VDBSCAN. El estudio del speed up y de la eficiencia también son incluidos. Todos los estudios se presentan para las tres colecciones de prueba que se usan en esta tesis (ver apartado 5.1 en la página 123). Toma de Tiempos En el estudio temporal destaca que el α-Bisecting Spherical K-Means presenta en todo momento un tiempo de evaluación menor que el VDBSCAN, aunque esta diferencia es pequeña sobre todo a medida que aumentan las unidades de proceso utilizadas. Siempre teniendo en cuenta que se compara el comportamiento medio del α-Bisecting Spherical K-Means y que este depende de la elección de los parámetros iniciales, desconocidos a priori. Con la colección Times (figura 5.29 en la página siguiente) el método α-Bisecting Spherical K-Means siempre presenta un tiempo de respuesta menor que el tiempo obtenido con el método VDBSCAN. Ambos métodos, además, reducen el tiempo de respuesta a medida que aumentan las unidades de proceso utilizadas, pero mientras que el algoritmo VDBSCAN a partir de cuatro empieza a dejar de mejorar, el algoritmo α-Bisecting Spherical K-Means a partir de cuatro empieza a empeorar rápidamente, perdiendo pronto todos los beneficios alcanzados, e incluso emperorando los tiempos secuenciales. 149 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES Figura 5.29: Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. Figura 5.30: Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. La colección Cystic (figura 5.30) conlleva un comportamiento mucho más similar entre ambos métodos, de hecho a partir de cuatro unidades de proceso el tiempo 150 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES es prácticamente el mismo, aunque excepto con siete unidades de proceso que el método VDBSCAN es más rápido, el método α-Bisecting Spherical K-Means en todo momento presenta menores tiempos. Lo que también destaca con esta colección es que con el paralelismo no se aprecia mejorı́a en los tiempos de respuesta, de hecho éstos empeoran a apartir de tres unidades de proceso (sólo mejoran un poco con dos unidades de proceso y con el método VDBSCAN). Con la colección DOE (figura 5.31) se continúa viendo el mismo comportamiento general que con las demás colecciones. El método α-Bisecting Spherical K-Means tarda algo menos de tiempo en realizar la evaluación de la consulta, pero el método VDBSCAN tiene mayor mejora al aumentar el número de elementos de proceso. Figura 5.31: Comparación de toma de tiempos de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. Estudio del Speed Up y de la Eficiencia Como era de esperar al observar los costes temporales, el estudio del speed up confirma que ambos algoritmos no tienden a responder bien al paralelismo en la fase de evaluación (tal y como pasaba con el modelo de referencia, la matriz de pesos), pero ası́ y todo el método VDBSCAN obtiene mejores prestaciones paralelas que el método α-Bisecting Spherical K-Mean. En general se aprecia que la eficiencia de ambos métodos es muy similiar, prácticamente igual, y que en los dos casos es bastante mala, ya que a partir de dos unidades de proceso la eficiencia siempre está por debajo del 50 %. Aunque no hay que olvidar que este comportamiento ya lo tenı́a la matriz de pesos, lo cual implica que es inherente al problema. 151 5.3. COMPARACIÓN DE PRESTACIONES COMPUTACIONALES La figura 5.32 muestra el estudio realizado con la colección Times, en ella se observa como en todo momento el método VDBSCAN mantiene mejores prestaciones, aunque éstas no sean buenas en valores absolutos (sı́ lo son en relación al modelo de referencia, la matriz de pesos). También se aprecia que a partir de tres unidades de proceso el método α-Bisecting Spherical K-Means se empieza a diferenciar mucho más del método VDBSCAN, y a partir de cuatro, su speed up cae en picado. Respecto a la eficiencia se observa cómo ambas curvas siguen prácticamente el mismo camino, teniendo una eficiencia aceptable ambos métodos con dos y tres unidades de proceso (casi del 70 % y del 50 %, respectivamente) y a partir de ahı́ bajando paulatinamente. Figura 5.32: Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Times. Con la colección Cystic (figura 5.33 en la página siguiente) el comportamiento es parecido al de la colección Times, el speed up del VDBSCAN es siempre superior al del α-Bisecting Spherical K-Means. Pero, en este caso, los resultados a nivel de paralelismo son desastrosos, el speed up cae desde el principio, a excepción del caso de dos unidades de proceso con el VDBSCAN que sube sutilmente. En eficiencia ambos métodos presentan los mismos valores de eficiencia, siendo bastante bajos, estando entorno al 50 % con dos unidades de proceso y luego siempre por debajo. Al hacer el estudio con la colección DOE (figura 5.34 en la página siguiente) se observa de nuevo el comportamiento general, el α-Bisecting Spherical K-Means obtiene un speed up inferior al VDBSCAN, el cual, además, cada vez está más distante. Hasta cuatro unidades de proceso las prestaciones mejoran, aunque sea un poco, pero a partir de ahı́ éstas empiezan a empeorar drásticamente. El mayor tamaño de la colección DOE no hace mejorar las prestaciones de eficiencia de ninguno de los dos métodos. Lo único que hace es minimizar más las pequeñas diferencias de eficiencia de ambos métodos. Al igual que con la colección Cystic la eficiencia con dos unidades de proceso ronda el 50 % y ya con más elementos de proceso decae considerablemente. 152 5.4. CONCLUSIONES Figura 5.33: Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección Cystic. Figura 5.34: Comparación de speed up y eficiencia de evaluación entre el α-Bisecting Spherical K-Means y el VDBSCAN con la colección DOE. 5.4. Conclusiones Se ha presentado el estudio experimental de la calidad de recuperación de información y de las prestaciones computacionales de los métodos α-Bisecting Spherical K-Means y VDBSCAN. Pero todo ello de forma extendida y por partes, en este apartado se destacan de manera resumida los resultados hallados y en función de los mismos se determina el mejor método. 153 5.4. CONCLUSIONES 5.4.1. Prestaciones en recuperación de información Con el método Spherical K-Means se puede deducir que generar más de dos clusters es contraproducente, de hecho aunque se generen sólo dos clusters la calidad de recuperación será peor que con la matriz de pesos. El método Spherical K-Means depende mucho de la solución inicial elegida, por tanto según sea su elección la calidad aumentará o disminuirá, pero hay que afinar mucho si no en general la calidad empeorará significativamente. El método α-Bisecting Spherical K-Means, al igual que el Spherical K-Means, depende mucho de los centroides iniciales elegidos (pero algo menos) y en general su comportamiento es análogo al del Spherical K-Means. Pero la calidad en recuperación de información mejora tanto en el peor, como en el mejor y medio de los casos. La curva media mejora considerablemente con el α-Bisecting Spherical K-Means respecto al Spherical K-Means, obteniéndose los mejores resultados en la recuperación de información generando dos clusters. Comparando ambos métodos, el Spherical K-Means y el α-Bisecting Spherical KMeans, se observa que el segundo mejora las prestaciones de recuperación del primero. Ambos son bastante regulares y siguen la misma lı́nea de comportamiento que la matriz de pesos. El método VDBSCAN, con la selección adecuada de sus parámetros, tiene un comportamiento de prestaciones de recuperación de información muy similar al de la matriz de pesos. Comparando éste, con el método α-Bisecting Spherical K-Means, se aprecia que el algoritmo VDBSCAN obtiene una mejor calidad. Si en lugar de comparar con la curva media se hiciese con la curva óptima del algoritmo α-Bisecting Spherical K-Means el método VDBSCAN sigue siendo superior aunque las diferencias son menores. 5.4.2. Prestaciones computacionales Al igual que ocurrı́a en el estudio de la calidad de recuperación de información, en el estudio de costes temporales, también se ha utilizado la matriz de pesos como referencia de comparación. Esto es debido a que los métodos presentados pretenden dar mejores prestaciones que la matriz de pesos, que es el modelo base a partir del cual se construyen los demás. Teniendo en cuenta este aspecto, en ocasiones se observa que las prestaciones de un método pueden parecer que no sean buenas, pero cuando se comparan éstas con las prestaciones de referencia (las que da lugar el modelo de la matriz de pesos) se observa que éstas son relativamente muy buenas. Respecto a la modelización de los métodos hay que decir que mientras el Spherical K-Means y el α-Bisecting Spherical K-Means presentan unos costes similares entre si, los obtenidos con el VDBSCAN son claramente mucho más costosos. Aunque éste también responde mejor a la paralelización. De todas formas, no hay que olvidar que la fase de modelización se hace una única vez al inicio de la puesta en funcionamiento del sistema de recuperación de información, por lo cual un coste elevado en la misma seguramente es más que aceptable si luego se compensa en la fase de evaluación o en la calidad de recuperación. 154 5.4. CONCLUSIONES En el análisis de la modelización a partir del speed up y la eficiencia se observa que con las colecciones Times y Cystic los resultados alcanzados no son buenos, con dos unidades de proceso son aceptable pero a partir de ahı́ son realmente malos. Ninguno de los tres métodos con estas colecciones presenta un comportamiento destacado, los tres son muy similares. Cuando se utiliza la colección DOE, de un tamaño ya considerable las mejoras son claras. Son pequeñas y aceptables con los métodos Spherical K-Means y α-Bisecting Spherical K-Means pero bastante buenas con el VDBSCAN llegándose a speed up cercanos al óptimo en algunos casos y no bajando de una eficiencia del 70 % hasta con ocho unidades de proceso. En relación a la comparativa de evaluación entre el Spherical K-Means y el αBisecting Spherical K-Means respecto a la matriz de pesos como referencia, hay que decir que ambos métodos presentan en todo momento un tiempo de evaluación menor que la matriz de pesos, siendo siempre más rápido el Spherical K-Means. Ahora bien, ninguno de los dos métodos responde con mejoras claras a la paralelización. Ésto se puede ver en el estudio del speed up. El método Spherical K-Means presenta un speed up por debajo de uno siempre y a medida que se aumentan los elementos de proceso baja todavı́a más. Por su lado el α-Bisecting Spherical K-Means presenta un comportamiento también malo pero más suavizado, éste además presenta un caso concreto en el que llega incluso a tener mejoras. Esta situación se da con la colección Times y se explica por una situación óptima casual de la colección y los parámetros elegidos. El estudio de la eficiencia confirma lo observado en el estudio temporal y de speed up. El α-Bisecting Spherical K-Means presenta una situación anormal pero buena con la colección Times. Pero a excepción de dicha situación la eficiencia de ambos métodos sólo es aceptable con dos unidades de proceso con un valor en torno al 50 %. Cuando se compara el tiempo de respuesta de la evaluación del método VDBSCAN respecto a la matriz de pesos se observa que el método VDBSCAN en todos los casos tiene un coste temporal menor. A medida que el tamaño del problema aumenta la diferencia entre uno y otro aumenta, siendo en comparación proporcionalmente cada vez más rápido el VDBSCAN. También destaca que el comportamiento del VDBSCAN ante la paralelización es parecido al de la matriz de pesos, pero algo peor, tal y como demuestra el estudio de su speed up y de la eficiencia. El VDBSCAN presenta un speed up no muy bueno, en todo momento está por debajo de la matriz de pesos (modelo de referencia) aunque ésta de por sı́ ya lo tiene malo. Es obvio que no se aprovechan lo que debieran las posibilidades de mejora de la paralelización, existen demasiadas comunicaciones. El VDBSCAN es menos eficiente que la matriz de pesos en todos los casos, aunque no se va mucho de ésta. Ası́ y todo, eficiencias aceptables sólo se obtienen para dos y a lo sumo tres unidades de proceso. Para acabar y para aclarar se ha comparado el tiempo de respuesta del α-Bisecting Spherical K-Means y el VDBSCAN, donde destaca que el primero siempre es un poco más rápido que el segundo, haciéndose incluso más pequeñas estas diferencias a medida que aumentan el número de unidades de proceso. Mediante el estudio del speed up y la eficiencia se confirma lo que ya se habı́a visto al estudiar los métodos respecto a la matriz de pesos, su paralelismo no aporta claras mejoras en las prestaciones temporales (aunque en relación a la referencia de la matriz de pesos, no son resultados tan malos, 155 5.4. CONCLUSIONES ya que ésta ya presenta malas prestaciones de por si). Ası́ y todo el VDBSCAN obtiene mejores valores de speed up y sensiblemente mejores resultados de eficiencia estando éstos enseguida por debajo del 50 %. En general, para todos los métodos, se ha observado que las prestaciones temporales no sufren una mejorı́a clara y satisfactoria mediante la paralelización. Es interesante mejorar los métodos de paralelización, por ello en el apartado de trabajos futuros (apartado 6.3 en la página 170) se explica un poco más las posibles razones y formas de mejorar este aspecto. 5.4.3. Mejor método según sus prestaciones La coparación se ha realizado entre los métodos estudiados: DBSCAN, VDBSCAN, Spherical K-Means y α-Bisecting Spherical K-Means. Y los criterios de evaluación son la calidad de recuperación de información y la complejidad computacional, teniendo ambas en cuenta de forma global. Primero de todo una aclaración, las comparaciones siempre se han hecho sobre el comportamiento medio del Spherical K-Means y del α-Bisecting Spherical K-Means y éste depende de la elección de los parámetros iniciales, desconocidos a priori. Con lo cual, no se puede asegurar que los resultados sean mejores o peores, pero normalmente tenderán a no mejorar puesto que la elección de los parámetros iniciales no se hará bajo un conocimiento de apoyo. No hay que olvidar que en calidad de recuperación el VDBSCAN y el DBSCAN obtienen los mismos resultados. En cuestión de coste temporal el VDBSCAN es casi el doble de rápido que el DBSCAN. Por todo ello, entre estos dos métodos es claramente superior el VDBSCAN. Ası́ que desde este momento se descarta el DBSCAN del análisis. Desde el punto de la calidad de la recuperación de información ha quedado bastante claro que el método Spherical K-Means es el peor de todos, ni siquiera se acerca al modelo de referencia (la matriz de pesos). El método α-Bisecting Spherical K-Means mejora sustancialmente la calidad de recuperación del Spherical K-Means, aunque sigue dependiendo mucho de la elección inicial de las semillas. Por su lado el método VDBSCAN, cuyos parámetros adecuados se pueden conocer con un preprocesamiento (ver apartado 3.5 en la página 90), presenta una calidad de recuperación muy similar al modelo de referencia, estando en algunos momentos por debajo y en otros por encima de éste. Además, gana con claridad en calidad de recuperación de información al método α-Bisecting Spherical K-Means, de hecho es superior incluso al compararse con la curva óptima del método α-Bisecting Spherical K-Means. Por lo tanto, en cuestión de calidad de recuperación de información es claramente mejor el VDBSCAN. Con lo cual, a no ser que comparativamente fuese muy inferior en la cuestión temporal, esto serı́a suficiente para elegir globalmente el VDBSCAN como mejor método, ya que la calidad de recuperación de información es más importante, en general, que el tiempo de respuesta, mientras que éste se encuentre dentro de unos lı́mites aceptables. Respecto al estudio temporal se puede destacar que en cuestión de tiempo de modelización el VDBSCAN es mucho más costoso que el Spherical K-Means o el α156 5.4. CONCLUSIONES Bisecting Spherical K-Means, aunque al incluir paralelización la mejorı́a del primero es también mucho mayor que los otros dos métodos, alcanzando valores de speed up cercanos al óptimo y eficiencias superiores al 70 %. Tampoco hay que olvidar que la fase de modelización se da una única vez al poner en funcionamiento el sistema y que por lo tanto no es tan importante el tiempo que conlleve, ya que el que más importancia tiene es el tiempo de evaluación de las consultas una vez el sistema de recuperación de información esté en funcionamiento. Cuando se estudia el tiempo de evaluación de los distintos métodos se observa que todos ellos tienen tiempos de respuesta inferiores al del modelo de referencia (matriz de pesos). Y por orden, el más rápido es el Spherical K-Means, seguido por el α-Bisecting Spherical K-Means y por último, el más lento de los tres es el VDBSCAN. De todas formas las diferencias tampoco son muy grandes en valores absolutos. Además, estas diferencias se suavizan a favor del VDBSCAN cuando se acude a la paralelización. Y de hecho el comportamiento ante ésta es peor por parte del Spherical K-Means y el α-Bisecting Spherical K-Means. Aunque en ninguno de los casos se puede hablar de un buen aprovechamiento de las posibilidades del paralelismo a la mejora de prestaciones, aspecto que, de todas formas, ya es observado en el propio modelo de referencia. Con todo ello y a modo de resumen tenemos que: El VDBSCAN obtiene claramente mejor calidad de recuperación de información, el aspecto más importante. Las diferencias entre los tiempos de respuesta ante la evaluación de las consultas es mı́nima y además se reduce a medida que aumentan las unidades de proceso en la paralelización (no olvidar que el sistema se plantea ya en un entorno distribuido de forma natural). El VDBSCAN presenta un mejor comportamiento ante la paralelización, sobre todo durante la modelización, aunque también conlleva unos costes computacionales mucho mayores que el α-Bisecting Spherical K-Means. En conclusión, según los requisitos del sistema y sus caracterı́sticas el mejor método será el VDBSCAN o el α-Bisecting Spherical K-Means. El primero de ellos será elegido siempre que se considere primordial la calidad de recuperación, ya que el VDBSCAN presenta las mejores prestaciones a este respecto. Ahora bien, si el sistema prevé que la fase de modelización se va a repetir muchas veces, por ejemplo porque cada cierto tiempo se incluyen nuevas subcolecciones al sistema, entonces se dará un mayor valor a los costes computacionales, en cuyo caso el α-Bisecting Spherical K-Means serı́a la opción elegida. 157 Capı́tulo 6 Conclusiones finales y trabajos futuros 6.1. Evolución de la tesis y produción cientı́fica 6.1.1. Evolución de la tesis La idea original de la tesis surgió al estudiar la utilización de la descomposición en valores singulares como posible método de recuperación de información. Ello conllevó empezar a estudiar los distintos modelos de sistemas de recuperación centrándonos rápidamente en el modelo vectorial básico y en el enfoque LSI (Latent Semantic Indexing) más sofisticado. La razón principal fue la estructura de datos subyacente, una matriz dispersa de gran dimensión. Durante el desarrollo de la tesis se trabajó en el estudio de la fase de preprocesamiento, fundamentalmente en el stemming, la reducción heurı́sitica de términos y la lematización semántica. Y sobre todo se abordó la fase de modelización, estudiando diferentes métodos vectoriales y posibles mejoras de los mismos. Fue en esta fase cuando se descartó el enfoque LSI en pro del de clustering donde se perfeccionó el conocido método Spherical K-Means y luego al observar los problemas intrı́nsecos al mismo nos decantamos por trabajar en base al DBSCAN, llegando a desarrollar una variante con mejores prestaciones. Al principio estudiamos la fase de preprocesamiento, donde empezamos por evaluar diferentes métodos de stemming, concretamente tres de los más importantes [121]: Potter, Lovins y Paice. Para su comparación se desarrollo una aplicación en el entorno Matlab que integraba los algoritmos de los distintos métodos desarrollados en C (desarrollados por otros autores). Nuestros estudios presentados en [115] y los presentados en [122] demostraron que el algoritmo Paice proporcionaba mejores prestaciones al obtener una mayor reducción de terminos. También, siguiendo con la fase de preprocesamiento, se estudió en [115] la influencia de la reducción heurı́stica de términos, eliminando aquellos que daban poca información, por aparecer mucho o prácticamente nada. Destacó el hecho que elimi159 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA nando aquellos términos que sólo aparecı́an en un documento se reducı́a en casi el 50 % los terminos que modelizaban la colección, y eliminando los que sólo aparecı́an en cinco documentos se obtenı́a más de un 75 % de reducción. Como además de la reducción del problema, es decir la reducción de términos, también es muy importante las prestaciones de recuperación se estudió ésta en función de las diferentes reducciones heurı́sticas. Se desarrolló una aplicación en Matlab que evaluaba un sistema de recuperación de información vectorial básico, y se evaluó dicho sistema con las distintas reducciones heurı́sticas, llegándose a la conclusión que eliminando heurı́sticamente aquellos términos que sólo aparecı́an en un único documento las prestaciones del sistema se mantenı́an practicamente intactas y el tamaño del problema se reducı́a casi a la mitad. La misma aplicación en Matlab desarrollada nos sirvió para estudiar la influencia de la utilización de una matriz de pesos respecto a la matriz de frecuencias, más primitiva y simple. Corraboramos en [115] que la matriz de pesos permitı́a obterner mejores prestaciones de recuperación que la matriz de frecuencias. Tras los estudios de la fase de preprocesamiento pasamos a comparar el enfoque LSI mediante la utilización de la SVD como herramienta y una primera modificación del conocido método de clustering Spherical K-Means. La modificación dio lugar a una versión primitiva del α-Bisecting Spherical K-Means en la cual el parámetro α fue determinado empı́ricamente. Ambos métodos fueron desarrollados en el entorno Matlab para las primeras pruebas, más adelante se desarrollaron en C. Primero de todo se demostró que ambos métodos daban lugar a prestaciones de recuperación similares a la matriz de pesos. Al utilizar la SVD se estudió también cual era el número de valores singulares adecuado a calcular, y con α-Bisecting Spherical KMeans se ajustarón sus parámetros iniciales. Después se compararon entre sı́ ambos métodos, dando lugar a prestaciones de recuperación similares. Todo ello se puede ver con más detalle en [115]. Siguiendo en la lı́nea de la investigación del preprocesamiento estudiamos la influencia de la lematización semántica. En [86] se presentó el estudio comparativo entre el stemming y la lematización semántica basándonos en el modelo vectorial básico, el enfoque LSI y el método de clustering α-Bisecting Spherical K-Means. La comparación entre stemming, que serı́a agrupar los términos por su raı́z morfológica, y la lematización semántica, que serı́a agrupar los términos por el significado de cada uno según el contexto en el que se encuentre, dio como resultado que las prestaciones obtenidas con el stemming son claramente mejores que las obtenidas con la lematización semántica. Estos resultados se dan tanto con la matriz de pesos (modelo vectorial básico), como con el enfoque LSI (mediante la técnica SVD) y el clustering. Y todo ello se puede ver en [86]. Esta lı́nea de investigación se volvió a trabajar más adelante mediante variaciones en los sistemas de lematización [87, 88]. Se llegó a mejorar parcialmente la lematización, pero ası́ y todo el stemming seguı́a ganando tanto mediante el modelo de clustering usando el α-Bisecting Spherical K-Means, como el modelo LSI con la SVD. En un momento dado de la investigación decidimos estudiar cómo funcionarı́an las técnicas de recuperación de información desarrolladas en otros entornos distintos a los sistemas de información, concretamente en el análisis de imágenes de test mamográfico. Los resultados los presentamos en los trabajos [123] y [124]. 160 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA Concretamente se desarrollo una aplicación en Matlab que interpreta la imagen que representa la zona de estudio de la resolución de un patrón mamográfico, el cual permite controlar la calidad de los mamógrafos. Dicha resolución vendrá dada por el número de agrupaciones que se puedan identificar [123, 124]. Después de interpretar dicha imagen se genera una matriz dispersa que la modeliza y que es equivalente a la obtenida por un sistema de recuperación de información. Entonces se aplica la modelización LSI, una indexación semántica latente basada en la descomposición en valores singulares (SVD), y se elige como consulta un patrón de las franjas que forman las agrupaciones. Una vez realizada la consulta se seleccionan los “documentos” (posibles franjas de las agrupaciones) por orden de relevancia y se van identificando las agrupaciones. Con esta forma de proceder en [123] y en [124] se presentaron los resultados obtenidos mediante este proceso, pudiendo observar cómo el modelo desarrollado es útil en el análisis de imágenes de test mamográfico. Incluso al compararlo con otro método ya desarrollado se concluyó que se obtenı́an mejores resultados. Paralelamente se nos invitó a hacer una ponencia en el I Congreso Internacional de Computación Paralela, Distribuida y Aplicaciones, en Mexico [125]. Dicho trabajo expuso a nivel general los sistemas de recuperación de información, sus modelos y aplicaciones, sobre todo enfocado al los métodos de clustering y al uso de la SVD como método LSI. Se presentarón también detalles sobre la importancia de la paralelización y las posibilidades de ella en ambos enfoques. También se presentó un caso de estudio y otras posibles aplicaciones de los métodos en entornos diferentes a la recuperación de información. En este punto observamos que los métodos de clustering tenı́an importantes ventajas respecto a los métodos basados en el modelo LSI. Los primeros trabajan con matrices dispersas que permiten utilizar diversos tipos de metodos de compresión mejorando los costes de almacenamiento. Mientras que la SVD y otros métodos similares (QR, etc.) precisan almacenar matrices densas, es decir conllevan mayores costes de almacenamiento. Además, los costes de modelización también dan lugar a mayores costes computacionales. Y al final de todo las prestaciones de recuperación no son destacablemente mejores. Por todo ello decidimos centrarnos más en los métodos de clustering. En esta lı́nea trabajamos en la paralelización de los métodos de clustering desarrollados, para ası́ estudiar su comportamiento en sistemas distribuidos. En [114] se mejoró y paralelizó el método α-Bisecting Spherical K-Means, paralelizando también las versiones en las que éste se basa: cálculo del vector concepto normalizado, α-Bisection y α-Bisecting K-Means. Para la paralelización se llegó a la conclusión de que la mejor distribución era por documentos (por columnas). Cada elemento de proceso tiene un pequeño conjunto de la colección sobre la que trabaja, pero todos el mismo vector concepto (lo que conlleva el grueso de las comunicaciones, basadas en reducciones globales). Los experimentos de este trabajo se centraron en la comparación de costes computacionales de la modelización de un sistema de recuperación de información mediante las versiones paralelas del α-Bisecting K-Means y del α-Bisecting Spherical K-Means. Ambos métodos mejoraban sus prestaciones computacionales al aumentar 161 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA el número de elementos de proceso cuando se trabajaba con una matriz de grandes dimensiones, concretamente se utilizó la colección TREC-DOE (ver apartado 2.5.5 en la página 63). Es decir, se reduce el tiempo de generación de los clusters que modelizan el sistema de recuperación de información. Ası́ y todo la eficiencia obtenida no es demasiado buena (con pocos elementos de proceso llega enseguida a un 50 %) lo cual se debe a la dispersión de las matrices que da lugar a muy pocas operaciones que compensen las comunicaciones [114]. También se obtuvo una importante conclusión, que la inicialización de éstos métodos es su principal inconveniente ya que influencia mucho el resultado (número de iteraciones y por tanto coste computacional). En relación a los sistemas distribuidos en recuperación de información, realizamos una presentación sobre la paralelización de modelos algebraicos de recuperación de información en la Universidad de San Luis (Argentina), como iniciativa de acercamiento de colaboración entre universidades. Tras todo esto decidimos buscar métodos de clustering alternativos a la familia del K-Means, ya que estos tienen el principal problema de que sus parámetros iniciales no son conocidos a priori. Lo cual fácilmente conlleva a resultados insatisfactorios. Ello nos condujo a empezar a trabajar con el DBSCAN, el cual presentaba buenos resultados de recuperación de información (y también en otros campos). Aunque no habı́a muchos estudios sobre este método en recuperación de información y menos en entornos de gran dimensionalidad, estuvimos realizando estudios previos en el entorno Matlab que dieron grandes esperanzas. El primer trabajo que desarrollamos utilizando el método DBSCAN fue adaptarlo para trabajar con nuestra estructura de datos, para que trabajara con matrices dispersas. En un primer momento hicimos las pruebas con las propias imágenes que estudiaba el artı́culo original del DBSCAN [40] y vimos que todo funciona correctamente. El siguiente paso era estudiar cómo respondı́a el método con matrices de un tamaño importante, es decir extender el problema a datos de gran dimensionalidad. Nuestras pruebas obtuvieron buenos resultados. A nivel de recuperación de información se obtuvieron mejores resultados incluso que con la matriz de pesos (modelo de referencia) y computacionalmente los costes aumentaron considerablemente en la fase de modelización, el aumento de costes en esta fase eran compensados por la calidad de recuperación en la fase de evaluación. Todas estas pruebas se hicieron fundamentalmente a través del entorno Matlab. Tras observar que el DBSCAN podı́a trabajar bien con matrices dispersas de gran dimensionalidad, pasamos a afrontar el siguiente obstáculo, la elección de los parámetros iniciales del método: mı́nimo número de elementos para formar un cluster y la distancia mı́nima para determinar que dos elementos son vecinos. Es cierto que este método no precisa determinar el número de clusters que se van a formar y que para los mismos parámetros iniciales no importa por qué elementos se empiece. Pero también es cierto que la elección adecuada de sus parámetros no es conocida a priori, y que en función de su elección los resultados pueden ser buenos o muy malos. Los autores del algoritmo presentaron un método que permite determinar dichos parámetros, pero dicho método sólo es funcional con sistemas de muy poca dimensionalidad (se presenta para dos dimensiones), de tamaño reducido, y siempre hay un 162 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA factor de selección humano. Ya que se realiza un gráfico y de manera visual se determina qué valores son los que provocan un cambio fundamental. Lógicamente este sistema no es viable para matrices grandes donde se trabaja con cientos, miles o más dimensiones. Tras varias ideas y pruebas poco fructı́feras desarrollamos una pequeña variante al DBSCAN original, mediante una pequeña simplificación desarrollamos el VDBSCAN. Esta variante del DBSCAN deja de utilizar los conceptos de elementos núcleo y elementos borde, y se basa fundamentalmente en el de elementos alcanzables, y además, utiliza el mı́nimo número de elementos para decidir si un cluster se forma o pasa a ser ruido una vez ya está creado (ver más detalles en el apartado 3.4 en la página 85). Con estos cambios se obtuvo un método que generaba los mismos resultados que el DBSCAN original, pero mucho más rápido (casi la mitad de tiempo, ver estudios en el apartado 3.4.3 en la página 89) y el cual permitı́a fijar el mı́nimo número de elementos y encontrar heurı́sticamente la distancia mı́nima. Realizamos un estudio exhaustivo de la influencia del mı́nimo número de elementos en relación al espectro de distancias mı́nimas y pudimos llegar a la siguiente conclusión. En sistemas de recuperación de información basados en colecciones de documentos (tales como las que se han trabajado en esta tesis) el mı́nimo número de elementos se puede fijar a dos (ver estudio detallado en el apartado 3.5.1 en la página 93). Ahora nos queda por concluir si esta situación se puede extender a otros sistemas de recuperación de información, o si en otros se puede fijar también aunque sea a otro valor. A continuación, desarrollamos un método heurı́stico de coste aceptable que encuentra un máximo local para determinar el valor de la distancia mı́nima entre dos elementos para considerarlos vecinos (ver método en el apartado 3.5.2 en la página 95). Mediante este método que en pocas iteraciones da un buen valor para la distancia mı́nima, el VDBSCAN consigue mejorar las prestaciones de recuperación de los métodos de clustering de la familia K-Means que se han desarrollado en esta tesis. Con todo ello se ha conseguido un método que presenta mejores prestaciones de recuperación de información, que computacionalmente conlleva unos costes de evaluación un poco mayores pero más que aceptables, y que sobre todo no tiene problemas a la hora de elegir sus parámetros de entrada. Una vez desarrollado con éxito el nuevo método VDBSCAN pasamos a trabajar en una versión funcional en C que permitiera trabajar con colecciones de gran tamaño. Luego estudiamos su funcionamiento y prestaciones en entornos distribuidos y paralelos. Con lo cual se desarrollo una versión paralela del mismo y se estudio bajo los mismos casos que el α-Bisecting K-Means y del α-Bisecting Spherical K-Means. Esta fase final de la tesis, que aborda los desarrollos del VDBSCAN, su fijación de parámetros, el estudio de su paralelización, y los estudios comparativos con los anteriores métodos de clustering descritos en la tesis, se ha reflejado en diferentes publicaciones. Concretamente en dos artı́culos ya publicados y otros que están pendiente de publicación. En [126] se presentó el estudio comparativo entre las versiones paralelas de los algoritmos VDBSCAN y el α-Bisecting Spherical K-Means, centrado en la comparación de prestaciones. Por su parte, en [127] se centró la comparación de los métodos α-Bisecting Spherical K-Means y VDBSCAN en los sistemas de re163 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA cuperación de información, y se enfocó al estudio de la calidad de recuperación y al estudio de los costes computacionales. Además, toda la parte de presentación y desarrollo del método VDBSCAN en sı́ mismo, ası́ como la parte de fijación de sus parámetros, está en fase de publicación. 6.1.2. Publicaciones de la tesis A Comparision of Experiments with the Bisecting-Spherical K-Means Clustering and SVD Algorithms Datos importantes AUTORES: AÑO: PUBLICACIÓN: D. Jiménez ; V. Vidal ; C. F. Enguix 2002 Actas de las I Jornadas de Tratamiento y Recuperación de la Información Resumen En este artı́culo proponemos una versión modificada del algoritmo de clustering Spherical K-Means, el Bisecting Spherical K-Means. El algoritmo de clustering Bisecting se usa para determinar el conjunto inicial del Spherical K-Means. Se han preparado un conjunto de experimentos para comparar la SVD con un números diferentes de valores singulares para encontrar una solución óptima. Análogamente, se ha estudiado el Bisecting Spherical K-Means con diferentes números de clusters. Y finalmente se han comparado ambas técnicas respecto a ratios de precisión vs cobertura (recall ). The Influence of Semantics in IR using LSI and K-Means Clustering Techniques Datos importantes AUTORES: AÑO: PUBLICACIÓN: D. Jiménez ; E. Ferretti ; V. Vidal ; P. Rosso ; C.F. Enguix 2003 Proceedings of the International Symposium on Information and Communication Technologies Resumen Se estudia la influencia de la semántica en la fase de preprocesamiento de un sistema de recuperación de información. Concretamente se compara las prestaciones alcanzadas con el stemming y la lematización semántica como métodos de preprocesamiento. Tres técnicas se han usado en el estudio: el uso directo de la matriz de pesos, la técnica SVD como herramienta dentro del modelo LSI y un método de clustering concretamente el Bisecting Spherical K-Means. Aunque los resultados no parecen ser prometedores, puede ser que en el futuro sean mejorados. 164 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA Utilización de una Aproximación SVD para el Análisis de la Resolución de un Fantoma Mamográfico Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez ; Vicente Vidal 2003 XXIX Reunión Anual de la Sociedad Nuclear Española Resumen Se presenta un método de análisis automático y objetivo de la resolución de un mamógrafo, a través de un fantoma. Dicho método está basado en la teorı́a de la recuperación de información, concretamente en el modelo de indexación semántica latente (LSI). Dentro del modelo LSI se ha elegido como herramienta la descomposición en valores singulares (SVD). La calidad de una mamografı́a es fundamental para el diagnóstico de múltiples problemas, aunque principalmente el cancer de mama. La resolución del mamógrafo es uno de los principales factores que influyen en la calidad de la mamografı́a, por lo cual es fundamental evaluar su correcto funcionamiento. Para ello se utilizan los fantomas que presentan ciertas zonas para el análisis de la resolución del mamógrafo. Análisis de imágenes de test mamográfico mediante la técnica SVD Datos importantes AUTORES: AÑO: PUBLICACIÓN: V. Vidal ; D. Jiménez ; G. Verdú 2003 Actas del XVIII Congreso de Ecuaciones Diferenciales y Aplicaciones y VIII Congreso de Matemática Aplicada (CEDYA) Resumen Este trabajo presenta un método para comprobar de forma automatizada parte del buen funcionamiento de un mamógrafo, en concreto la resolución que alcanza. El método se basa en técnicas de recuperación de información, especı́ficamente se utiliza una aproximación de bajo rango calculada mediante el método SVD, dentro del modelo LSI. La aplicación de este método permite conseguir buenos resultados. Aspectos Computacionales de Modelos Algebraicos de Recuperación de Información Datos importantes AUTORES: AÑO: PUBLICACIÓN: V. Vidal ; D. Jiménez 2003 Libro de actas del I Congreso Internacional de Computación Paralela, Distribuida y Aplicaciones 165 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA Resumen En este trabajo se da a los sistemas de recuperación de información un enfoque más computacional que el punto de vista de los sistemas de información. Se presenta la creación de un sistema de recuperación de información basándose en tres modelos algebraicos: vectorial, LSI y clustering. Además, se introduce una extrapolación de estás técnicas a otros ámbitos distintos, concretamente la reconocimiento de patrones sencillos en imágenes. Y por último, se comenta posibles paralelizaciones de los tres modelos descritos. Information Retrieval and Text Categorization with Semantic Indexing Datos importantes AUTORES: AÑO: PUBLICACIÓN: Paolo Rosso ; Antonio Molina ; Ferran Pla ; Daniel Jiménez ; Vicente Vidal 2004 Computational Linguistics and Intelligent Text Processing (Lecture Notes in Computer Science) Resumen Se presenta el efecto de la indexación semántica usando sentidos de WordNet en la recuperación de información y en tareas de categorización de textos. Los documentos han sido etiquetados semánticamente usando un sistema de desambiguación de sentidos de palabra basado en modelos de Markov (Specialized Hidden Markov Models - SHMMs -). Los resultados preliminares muestran una pequeña mejorı́a en las prestaciones que fueron obtenidas sólo en la tareas de categorización de textos. Text Categorization and Information Retrieval using WordNet Senses Datos importantes AUTORES: AÑO: PUBLICACIÓN: Paolo Rosso ; Edgardo Ferretti ; Daniel Jiménez ; Vicente Vidal 2004 Proceedings of the Second International WordNet Conference Resumen Se estudia la influencia de la semántica en la categorización de textos y en la recuperación de información. El método de los k vecinos más próximos fue usado para realizar la categorización de textos. Los resultados experimentales fueron obtenidos teniendo en cuenta para un término relevante de un documento su correspondiente significado según WordNet. Para la tarea de recuperación de información, tres técnicas fueron investigadas: el uso directo de la matriz de pesos, la SVD como técnica del modelo de indexación semántica latente (LSI) y la técnica de clustering Bisecting Spherical K-Means. Los resultados experimentales obtenidos teniendo en cuenta la semántica de los documentos muestran una mejora de prestaciones en la categorización de textos mientras que no parecen muy prometedores en la recuperación de información. 166 6.1. EVOLUCIÓN DE LA TESIS Y PRODUCIÓN CIENTÍFICA Parallel Implementation of Information Retrieval Clustering Models Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez ; Vicente Vidal 2004 High Performance Computing for Computational Science - Vecpar 2004 (Lecture Notes in Computer Science) Resumen Se presenta el desarrollo en paralelo de dos algoritmos de clustering, concretamente del α-Bisecting K-Means y α-Bisecting Spherical K-Means, basados en un α (menos evolucionado que el desarrollado en esta tesis). También se presentó una comparación de prestaciones computacionales para los métodos desarrollados. El conjunto de experimentos se llevaron a cabo en un cluster de PCs con 20 nodos biprocesadores y dos colecciones diferentes. Heuristic Fixation of the Distance between two Cluster Elements at DBSCAN Algorithm Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez ; Vicente Vidal 2009 Enviado a Information Science y corrigiendo la revisión Resumen Se presenta un algoritmo heurı́stico el cual elimina uno de los parámetros del algoritmo DBSCAN, cuando se trabaja sobre sistemas de recuperación de información sobre colecciones de documentos. Concretamente se elimina el estudio necesario para establecer la proximidad entre dos elementos para considerarlos pertenecientes al mismo cluster. Este parámetro depende exclusivamente del conjunto de datos y se desconoce a priori. Es importante porque el algoritmo DBSCAN es uno de los principales modelos de clustering y se usa en multitud de contextos, destacando la recuperación de información. VDBSCAN and α-Bisecting Spherical K-Means in distributed information retrieval systems Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez González ; Vicente Vidal Gimeno ; Leroy Anthony Drummond 2010 Vecpar 2010 167 6.2. CONCLUSIONES Resumen Se presenta un estudio comparativo entre los algoritmos VDBSCAN y el α-Bisecting Spherical K-Means. El primero es una variante del algoritmo DBSCAN, el cual produce los mismos resultados pero añade la posibilidad de seleccionar heurı́sticamente uno de los parámetros del DBSCAN. El segundo algoritmo es una variación del bien conocido K-Means la cual mejora las prestaciones de éste. Se han implementado las versiones paralelas de ambos métodos y se han comparado sus prestaciones. Una comparación entre el VDBSCAN y el α-Bisecting Spherical K-Means en sistemas de recuperación de información Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez ; Vicente Vidal 2010 Jornadas de paralelismo 2010 Resumen Se presenta un estudio comparativo entre las versiones paralelas del método VDBSCAN y del α- Bisecting Spherical K-Means. Ambas variantes son mejoras del DBSCAN y del K-Means respectivamente. Destaca que la paralelización está condicionada a la naturaleza propia del problema, el cual ya se presenta distribuido al estar los sistemas de recuperación de información formados por subcolecciones de documentos reales repartidas por distintos lugares. VDBSCAN: Variant DBSCAN without parameters in information retrieval systems Datos importantes AUTORES: AÑO: PUBLICACIÓN: Daniel Jiménez ; Vicente Vidal 2011 Pendiente de publicación Resumen Se presenta el método VDBSCAN, una variante del conocido del método DBSCAN. Éste, cambiando algunos detalles en la forma de proceder, permite generar los mismo clusters que el algoritmo DBSCAN pero en menos tiempos. Además, permite fijar sus dos parámetros. El mı́nimo número de elementos por cluster se puede fijar al trabajar con sistemas de recuperación de información, y la distancia mı́nima para considerar dos elementos del mismo cluster se establece mediante un método heuristico, el cual también es presentado. 6.2. Conclusiones La tesis ha conseguido alcanzar en gran medida los objetivos propuestos. Se ha desarrollado una variante del DBSCAN, el VDBSCAN, la cual permite determinar buenos valores para los parámetros del algoritmo, fijando uno de ellos y obteniendo el 168 6.2. CONCLUSIONES otro a partir de un método heurı́stico. Esta variante tiene un coste computacional de uso menor que el DBSCAN, llegando en ocasiones a ser menor de la mitad de éste, y una calidad de recuperación igual. Además, su variante paralela trabaja de forma aceptable, aunque mejorable, en entornos distribuidos. También se ha desarrollado una variante del conocido K-Means, el α-Bisecting Spherical K-Means, la cual mejora las prestaciones de calidad de recuperación aunque no alcanza la calidad de la matriz de pesos. Respecto a los costes temporales el algoritmo α-Bisecting Spherical K-Means es algo más lento que el Spherical K-Means pero más rápido que la matriz de pesos. En paralelización ninguno de los dos presentaba buenas prestaciones ante sistemas de recuperación de información basados en colecciones de documentos. Además de todo eso, la influencia de los parámetros iniciales es muy importante y éstos no se conocen a priori. Por todo ello se desarrollo el método VDBSCAN, el cual mejora todos estos aspectos. Cuando uno trabaja con sistemas de recuperación de información basados en colecciones de documentos es posible fijar uno de los dos parámetros que presenta el algoritmo VDBSCAN, y el otro se puede ajustar mediante un método heurı́stico (también desarrollado en esta tesis) a partir del cual se obtiene un buen valor de proximidad, aunque no sea el óptimo. Dicho método tiene uno coste computacional aceptable, sobre todo porque sólo es necesario utilizarlo una vez, durante la fase de modelización, con lo cual no afecta al tiempo de respuesta en la fase de utilización del sistema, cuando se evalúan las consultas al sistema. Mediante esta fijación de parámetros se consiguen principalmente dos aspectos importantes. Por un lado, cuando se desconocen suficientes caracterı́sticas del sistema de recuperación de información para determinar a priori los parámetros de modelización (éstos dependerán del método de modelización), se evita la necesidad de un estudio exhaustivo del sistema para establecer dichos parámetros, o se evita en su lugar las pruebas, si son posibles, con distintos parámetros hasta obtener unos aceptables. Por otro lado, también se evita el riesgo de elegir unos parámetros que den lugar a prestaciones de calidad de recuperación malas, ya que en muchas ocasiones no se dispondrán de medios para evaluar si la modelización realizada da buenos resultados hasta que el sistema esté en uso. El algoritmo VDBSCAN junto a la heurı́stica para seleccionar la distancia mı́nima entre dos elementos podrı́a verse como un método que trabaja sin parámetros basado en el algoritmo DBSCAN. En la literatura también existe una variante del método DBSCAN, el algoritmo DBCLASD, que permite trabajar sin parámetros, con lo cual parecerı́a innecesario todo lo desarrollado. Ahora bien, mientras el VDBSCAN no añade ninguna restricción a las impuestas por el DBSCAN, el DBCLASD asume una distribución uniforme de los elementos, lo cual no es generalizable a los sistemas de recuperación de información. Además, mientras que el VDBSCAN conlleva un coste variable añadido en la fase de modelización (debido al método heurı́stico) y luego en la fase de uso presenta un tiempo de respuesta inferior al DBSCAN, el DBCLASD tiene un coste computacional que tiende a doblar el coste alcanzado por el DBSCAN e incluso llega a triplicarlo al utilizar bases de datos de gran tamaño. En cuanto a calidad de recuperación de información el VDBSCAN presenta la misma que el DBSCAN, y éste alcanza una calidad muy similar al conseguido con la matriz de pesos, llegando en varios momentos a mejorarla. Por supuesto, también 169 6.3. TRABAJOS FUTUROS mejora claramente a la calidad del α-Bisecting Spherical K-Means, al menos en la curva media, en la óptima tienen una calidad parecida. Por lo que respecta al coste temporal se concluye que en general en tiempo de respuesta absoluto se obtienen buenas prestaciones pero en el campo de la paralelización no, hay que mejorarlo. De todas formas, estos resultados no son tan malos como a priori podrı́an parecer, por dos motivos. Primero las prestaciones comparadas con el modelo de referencia se ven que son parecidas a éste, es decir el sistema de por sı́ tiene una naturaleza que no responde bien a la paralelización. Y segundo, se supone que el problema de por sı́ es distribuido y no hay un gasto añadido para aumentar prestaciones, la situación es la que hay y los tiempos de respuesta mejoran. En trabajos futuros se abordará la mejora de las prestaciones paralelas con el objetivo de optimizar los recursos y poder ampliar el sistema de recuperación de información. Las prestaciones ante la paralelización dependen mucho de la distribución de la colección y de la modelización final. Ya que en la consulta de un cluster depende mucho de cómo esté distribuido éste (el balanceo de la carga) y si la distribución no está equilibrada los tiempos de comunicación pueden no ser compensados por la reducción de tiempo de evaluación. Eso se puede ver en cómo cambia mucho de una colección a otra el tiempo de respuesta en la paralelización, incluso cuando la colección es muy grande (DOE) no se obtienen claras mejorı́as. Habrı́a que confirmar este supuesto estudiando la distribución de las consultas y los clusters a los que afecta. No se ha hecho puesto que los resultados presentados son una media de todas las consultas de prueba que las colecciones aportaban. 6.3. Trabajos Futuros Las lı́neas de trabajo que abre la tesis o que pueden permitir mejorar los resultados obtenidos en ella, se pueden agrupar de la siguiente forma: Mejorar la calidad de recuperación de información de los métodos desarrollados. Mejorar las prestaciones computacionales de los métodos presentados. Mejorar la respuesta de los algoritmos desarrollados ante la paralelización. Generalizar los resultados obtenidos a otros entornos y sistemas de información. También serı́a interesante comparar en el futuro el método VDBSCAN presentado con otros métodos, preferı́blemente también basados en densidades, que tampoco precisan parámetros de entrada, destacando el método DBCLASD [58, 59] y el más moderno método MajorClust [107]. Aunque ambos presentan peores tiempos de respuesta, parece ser que en algunos casos, sobre todo el MajorClust, obtiene mejores prestaciones de recuperación. Mejorar la calidad de recuperación Dentro de la lı́nea de mejora de la calidad de recuperación de información se pueden destacar dos vı́as: la utilización de métodos hı́bridos que permitan obtener las 170 6.3. TRABAJOS FUTUROS ventajas de ambos y minimizar las desventajas; y el refinamiento de los resultados obtenidos. En la literatura ya aparecen métodos hı́bridos, por ejemplo en [70, 128], la idea es aplicar y acoplar los resultados obtenidos al método VDBSCAN. Por ejemplo, se podrı́a buscar un método LSI de reducción de dimensiones para minimizar los problemas de sinonimia y polisemia, y luego utilizar el VDBSCAN para realizar el clustering final. Por otro lado también se puede refinar el resultado que el método obtiene, ello se puede hacer reutilizando el mismo método tras filtrar los resultados o hacer uso de otro método distinto. Sea el método que sea el utilizado, todos se basan principalmente en solventar mejor los problemas de sinonimia y polisemia. Por ejemplo en [29] proponen la utilización de una comparación de términos con términos, o en [89, 90] hablan de un método iterativo de agrupación y separación con la intervención del usuario. Como trabajo futuro queda pendiente la identificación dentro del cluster que el VDBSCAN ofrece como resultado de una consulta, los subgrupos que existen debido a la polisemia de los términos de la consulta. Dicho de otro modo, tras la consulta el VDBSCAN genera un ranking con los elementos del cluster seleccionado, pero dentro de éste seguramente habrán elementos relacionados con los distintos significados que la consulta puede adoptar. Bien, pues el reto ahora es diseñar un método (posiblemente una variante del VDBSCAN) para obtener los distintos subclusters que determinen los distintos significados de los términos de la consulta y ofrecer éstos como resultados alternativos. Mejorar las prestaciones computacionales La primera lı́nea de trabajo para reducir los costes computacionales del VDBSCAN se centra en reducir su coste de modelización, para lo cual es menester reducir el coste del método heurı́stico que se basa en varias ejecuciones del VDBSCAN. El planteamiento de partida es estudiar si la heurı́stica seguirı́a dando buenos resultados si trabajase con menos consultas de prueba o sólo con una muestra de la colección. Este enfoque también se puede generalizar al propio método, el cual, como otras variantes del DBSCAN, puede trabajar con muestras de la colección para determinar los clusters en lugar de trabajar en todo momento con toda la colección. Dentro de esta lı́nea de trabajo se quiere también generalizar que el DBSCAN y el VDBSCAN dan lugar a los mismos resultados con los mismos parámetros de entrada (dan lugar a las mismas prestaciones de recuperación). Para ello se pretende hacer un estudio más riguroso y teórico de ambos métodos. Esto conllevarı́a la posibilidad de generalizar el uso de la heurı́stica desarrollada en la tesis al método DBSCAN y por tanto, a todos sus usos y posiblemente a muchas de sus variantes. Serı́a también interesante estudiar la importancia e influencia de las estructuras de datos utilizadas a la hora de implementar los métodos. Aunque en esta tesis se ha utilizado una estructura vectorial y alta dimensionalidad, en la literatura se suele hablar de los R*-Tree como una estructura óptima para el DBSCAN que reduce su coste de O n2 a O (n log n) cuando se trabaja con baja dimensionalidad. 171 6.3. TRABAJOS FUTUROS Mejorar la paralelización Al buscar mejoras computacionales se ha hablado de utilizar muestras de la colección, bien pues esta lı́nea de trabajo también influye en la mejora de la paralelización, ya que puede conllevar una disminución de las comunicaciones y por tanto minimizar el principal problema de la paralelización. Para minimizar los tiempos de comunicación en la paralelización se podrı́a pensar en crear un sistema de recuperación de información independiente en cada unidad de proceso, y luego una vez evaluado cada uno de ellos desarrollar un método que integre todos los rankings generados [4], en este caso el enfoque de trabajo futuro no sigue este camino, se basa más en desarrollar un método distribuido. De hecho, la lı́nea de trabajo está más relacionada a aplicar el método de clustering a cada unidad de proceso y luego integrar los clusters generados para trabajar con ellos de forma distribuida, ya en [70] se menciona este tipo de enfoque para el DBSCAN. Dentro del enfoque de la paralelización una lı́nea importante es la de realizar los estudios en distintos entornos distribuidos, de hecho se tiende a una implementación donde las comunicaciones sean a través de Internet, y ver si entonces los comportamientos obtenidos permitirı́an llegar a conclusiones similares. Estos entornos describirı́an una situación mucho más real. Generalizar los resultados Existen tres lı́neas fundamentales de generalizar los resultados. Primero serı́a estudiar si el VDBSCAN es utilizable en todos los sistemas de información y entornos en los que el DBSCAN lo es, no sólo en la recuperación de información. Aspecto que parece cumplir debido a su similitud casi total al DBSCAN. Segundo, extender la eliminación de parámetros utilizada en el VDBSCAN al propio DBSCAN y otras variantes de éste que funcionan bien en otros contextos, para ası́ aprovechar al máximo las caracterı́sticas de ambos. Y tercero, hacer los estudios mediante otros métodos de evaluación, para ası́ poder generalizar los métodos a sistemas o entornos en los que no existan consultas de prueba (o datos similares). Incluso habrı́a que extender el método heurı́stico también a otros métodos de evaluación y ası́ no depender de colecciones con consultas de prueba para poder aplicar dicha heurı́stica. 172 Bibliografı́a [1] Duran, B., Odell, P.: Cluster analysis: A survey. Lecture Notes in Economics and Mathematical Systems (1974) [2] Faloutsos, C., Oard, D.W.: A survey of information retrieval and filtering methods. Technical report, Electrical engineering Department, University of Maryland (1995) [3] Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: A review. ACM Computing Surveys 31 (1999) 264–323 [4] Greengrass, E.: Information retrieval: A survey. Technical report, UMBC Center for Architectures for Data-Driven Information Processing (2001) [5] Halkidi, M., Batistakis, Y., Vazirgiannis, M.: On clustering validation techniques. Journal of Intelligent Information Systems 17 (2001) 107–145 [6] Andritsos, P.: Data clustering techniques. Technical Report CSRG-443, Department of Computer Science, University of Toronto (2002) [7] Halkidi, M., Batistakis, Y., Vazirgiannis, M.: Cluster validity methods: part i. SIGMOD Rec. 31 (2002) 40 – 45 [8] Halkidi, M., Batistakis, Y., Vazirgiannis, M.: Clustering validity checking methods: part ii. SIGMOD Rec. 31 (2002) 19 – 27 [9] Kotsiantis, S., Pintelas, P.: Recent advances in clustering: A brief survey. WSEAS Transactions on Information Science and Applications 1 (2004) 73 – 81 [10] Langville, A.N., Meyer, C.D.: A survey of eigenvector methods of web information retrieval. The SIAM Review 47 (2005) 135–161 [11] Baeza-Yates, R.A., Ribeiro-Neto, B.A.: Modern Information Retrieval. ACM Press / Addison-Wesley (1999) [12] Berry, M.W., Browne, M.: Understanding Search Engines: Mathematical Modeling and Text Retrieval. SIAM (2005) 173 BIBLIOGRAFÍA [13] Skillicorn, D.B.: A generalisation of indexing for parallel document search. Technical report, Department of Computer Science, The Australian National University (1995) [14] Kobayashi, M., Dupret, G., King, O., Samukawa, H.: Efficient estimation of singular values for searching very large and dynamic web databases. Technical report, IBM (2000) [15] Tiun, S., Abdullah, R., Kong, T.E.: Automatic topic identification using ontology hierarchy. In: Proceedings of the 2nd International Conference on Intelligent Text Processing and Computational Linguistics. Lecture Notes on Artificial Intelligence, Springer-Verlag (2001) [16] Grossman, D.A., Holmes, D.O., Frieder, O.: A parallel dbms approach to ir in trec-3. In: Proceedings of the Third Text Retrieval Conference (TREC-3), NIST Special publications. (1994) 279–288 [17] Fujii, A., Itou, K., Ishikawa, T.: A method for open-vocabulary speech-driven text retrieval. In: EMNLP ’02: Proceedings of the ACL-02 conference on Empirical methods in natural language processing, Association for Computational Linguistics (2002) 188–195 [18] Vailaya, A., Zhong, Y., Jain, A.K.: A hierarchical system for efficient image retrieval. In: Proc. Int. Conf. on Patt. Recog. (1996) 356–360 [19] Jain, A.K., Vailaya, A.: Image retrieval using color and shape. Pattern Recognition 29 (1996) 1233–1244 [20] Gupta, A., Jain, R.: Visual information retrieval. ACM 40 (1997) 70–79 [21] Dhillon, I.S., Fan, J., Guan, Y.: Efficient clustering of very large document collections. In: Data Mining for Scientifec and Engineering Applications. Kluwer Academic Publishers (2001) Invited Book Chapter. [22] Ding, C.H.Q.: A similarity-based probability model for latent semantic indexing. In: SIGIR ’99: Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval, ACM (1999) 58–65 [23] Dhillon, I.S., Modha, D.S.: Concept decompositions for large sparse text data using clustering. Technical report, IBM (2000) [24] Karypis, G., Han, E.H.: Concept indexing: A fast dimensionality reduction algorithm with applications to document retrieval and categorization. Technical report tr-00-0016, University of Minnesota (2000) [25] Baek, D., Lim, H., Rim, H.C.: Latent semantic indexing model for boolean query formulation. In: Research and Development in Information Retrieval. (2000) 310–312 174 BIBLIOGRAFÍA [26] Bartell, B.T., Cottrell, G.W., Belew, R.K.: Automatic combination of multiple ranked retrieval systems. In: SIGIR ’94: Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval, New York, NY, USA, Springer-Verlag New York, Inc. (1994) 173–181 [27] Deerweter, S.C., Dumais, S.T., Landauer, T.K., Furnas, G.W., Harshman, R.A.: Indexing by latent semantic analysis. Journal of the American Society of Information Science 41 (1990) 391–407 [28] Berry, M.W., Dumais, S.T., O’Brien, G.W.: Using linear algebra for intelligent information retrieval. SIAM Rev. 37 (1995) 573–595 [29] Berry, M.W., Drmac, Z., Jessup, E.R.: Matrices, vector spaces, and information retrieval. SIAM 41 (1999) 335–362 [30] Dowling, J.: Information Retrieval using Latent Semantic Indexing and a SemiDiscrete Matrix Decomposition. PhD thesis, Monash University (2002) [31] Kolda, T.G.: Limited-Memory Matrix Methods with Applications. PhD thesis, University of Maryland at College Park, Applied Mathematics Program. (1997) [32] Berry, M.W., Fierro, R.D.: Low-rank orthogonal decompositions for information retrieval applications. Numerical Linear Algebra with Applications 1 (1996) 1– 27 [33] Letsche, T.A., Berry, M.W.: Large-scale information retrieval with latent semantic indexing. Information Sciences 100 (1997) 105–137 [34] Kobayashi, M., Dupret, G., King, O., Samukawa, H.: Efficient estimation of singular values for searching very large and dynamic web databases. Technical report, IBM (2000) [35] Aslam, J., Leblanc, A., Stein, C.: A new approach to clustering. In: Workshop on Algorithm Engineering. (2000) [36] Dhillon, I.S.: Co-clustering documents and words using bipartite spectral graph partitioning. In: Knowledge Discovery and Data Mining. (2001) 269–274 [37] Choo, J., Jiamthapthaksin, R., Chen, C.S., Celepcikay, O.U., Giusti, C., Eick, C.F.: Mosaic: A proximity graph approach for agglomerative clustering. In: Data Warehousing and Knowledge Discovery, 9th International Conference. (2007) 231 – 240 [38] Steinbach, M., Karypis, G., Kumar, V.: A comparison of document clustering techniques. KDD-2000 Workshop on Text Mining (2000) [39] Fasulo, D.: An analysis of recent work on clustering algorithms. Technical report, Department of Computer Science & Engineering (1999) 175 BIBLIOGRAFÍA [40] Ester, M., Kriegel, H.P., Sander, J., Xu, X.: A density-based algorithm for discovering clusters in large spatial databases with noise. In: In proceedings of 2nd International Conference on Knowledge Discovery and Data Mining. (1996) 226–231 [41] Zhao, Y., Karypis, G.: Evaluation of hierarchical clustering algorithms for document datasets. In: CIKM ’02: Proceedings of the eleventh international conference on Information and knowledge management, ACM Press (2002) 515–524 [42] Erman, J., Arlitt, M., Mahanti, A.: Traffic classification using clustering algorithms. In: MineNet ’06: Proceedings of the 2006 SIGCOMM workshop on Mining network data, New York, NY, USA, ACM (2006) 281 – 286 [43] Savaresi, S., Boley, D.L., Bittanti, S., Gazzaniga, G.: Choosing the cluster to split in bisecting divisive clustering algorithms. Technical report, University of Minnesot (2000) [44] Savaresi, S.M., Boley, D.L.: On the performance of bisecting k-means and pddp. First Siam International Conference on Data Mining (2001) [45] Hartigan, J.: Clustering Algorithms. Wiley (1975) [46] Bradley, P.S., Fayyad, U.M.: Refining initial points for k-means clustering. In: Proc. 15th International Conf. on Machine learning, Morgan Kaufmann, San Francisco, CA (1998) 91–99 [47] Pizzuti, C., Talia, D., Vonella, G.: A divisive initialization method for clustering algorithms. In: PKDD’99 - Third Europ. Conf. on Principles and Practice of Data Mining and Knowledge Discovery. Volume 1704 of Lecture Notes in Artificial Intelligence., Prague, Springer-Verlag (1999) 484–491 [48] Pelleg, D., Moore, A.: Accelerating exact k-means algorithms with geometric reasoning. In: Proceedings of Fifth International Conference of Knowledge Discovery adn Data Mining. (1999) 277–281 [49] Alsabti, K., Ranka, S., Singh, V.: An efficient k-means clustering algorithm. In: Proceedings of IPPS/SPDP Workshop on High Performance Data Mining. (1998) [50] Modha, D., Spangler, S.: Feature weighting in k-means clustering. Machine Learning 52 (2003) [51] Kantabutra, S., Couch, A.L.: Parallel k-means clustering algorithm on nows. NECTEC Technical Journal 1 (2000) 243–248 [52] Xu, S., Zhang, J.: A hybrid parallel web document clustering algorithm and its performance study. Technical report, Department of Computer Science, University of Kentucky (2003) 176 BIBLIOGRAFÍA [53] Dhillon, I.S., Modha, D.S.: A parallel data-clustering algorithm on distributed memory multiprocessors. In: Large-Scale Parallel Data Mining, Lecture Notes in Artificial Intelligence. Volume 1759. Springer-Verlag, New York (2000) 245–260 [54] Li, X., Fang, Z.: Parallel clustering algorithms. Parallel Computing 11 (1989) 275–290 [55] Forman, G., Zhang, B.: Distributed data clustering can be efficient and exact. ACM SIGKDD Explorations Newsletter 2 (2000) 34–38 [56] Forman, G., Zhang, B.: Linear speed-up for a parallel non-approximate recasting of center-based clustering algorithms, including k-means, k-harmonic means, and em. Technical report, HP Labs Technical Reports (2000) [57] Sander, J., Ester, M., Kriegel, H.P., Xu, X.: Density-based clustering in spatial databases: The algorithm gdbscan and its applications. Data Mining and Knowledge Discovery 2 (1998) 169 – 194 [58] Hinneburg, A., Keim, D.A.: An efficient approach to clustering in large multimedia databases with noise. In: Knowledge Discovery and Data Mining. (1998) 58 – 65 [59] Xu, X., Ester, M., Kriegel, H.P., Sander, J.: A distribution-based clustering algorithm for mining in large spatial databases. In: Proc. Int. Conf. on Data Engineering (ICDE’98). (1998) 324–331 [60] Ester, M., Kriegel, H.P., Sander, J., Wimmer, M., Xu, X.: Incremental clustering for mining in a data warehousing environment. In: Proc. of 24rd International Conference on Very Large Data Bases, New York. (1998) 323 – 333 [61] Xu, X., Jäger, J., Kriegel, H.P.: A fast parallel clustering algorithm for large spatial databases. Data Mining and Knowledge Discovery 3 (1999) 263 – 290 [62] Januzaj, E., Kriegel, H.P., Pfeifle, M.: Towards effective and efficient distributed clustering. In: Workshop on Clustering Large Data Sets, 3rd Int. Conf. on Data Mining (ICDM 2003). (2003) 49 – 58 [63] Januzaj, E., Kriegel, H.P., Pfeifle, M.: Dbdc: Density based distributed clustering. In Springer, ed.: Advances in Database Technology - EDBT 2004, Lecture Notes in computer Science (2004) 88–105 [64] Januzaj, E., Kriegel, H.P., Pfeifle, M.: Scalable density-based distributed clustering. In: PKDD ’04: Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases, New York, NY, USA, Springer-Verlag New York, Inc. (2004) 231 – 244 [65] Ankerst, M., Breunig, M.M., Kriegel, H.P., Sander, J.: Optics: ordering points to identify the clustering structure. ACM SIGMOD Record 28 (1999) 49 – 60 177 BIBLIOGRAFÍA [66] Kailing, K.: New Techniques for Clustering Complex Objects. PhD thesis, Ludwig-Maximilians Universität München, Munich, Germany (2004) [67] Kailing, K., Kriegel, H.P., Kroeger, P.: Density-connected subspace clustering for high-dimensional data. In: Proc. SDM. 2004. (2004) 246 – 257 [68] Jahirabadkar, S., Kulkarni, P.: Isc - intelligent subspace clustering, a desity based clustering approach for high dimensional dataset. World Academy of Science, Engineering and Technology 55 (2009) 69 – 73 [69] Kriegel, H.P., Kroger, P., Renz, M., Wurst, S.: A generic framework for efficient subspace clustering of high-dimensional data. In: ICDM ’05: Proceedings of the Fifth IEEE International Conference on Data Mining, Washington, DC, USA, IEEE Computer Society (2005) 250 – 257 [70] El-Sonbaty, Y., Ismail, M.A., Farouk, M.: An efficient density based clustering algorithm for large databases. In: ICTAI ’04: Proceedings of the 16th IEEE International Conference on Tools with Artificial Intelligence, Washington, DC, USA, IEEE Computer Society (2004) 673 – 677 [71] Borah, B., Bhattacharyya, D.: An improved sampling-based dbscan for large spatial databases. In: Proceedings of the 2004 International Conference on Intelligent Sensing and Information Processing, IEEE Computer Society (2004) 92 – 96 [72] Zhou, B., Cheung, D.W.L., Kao, B.: A fast algorithm for density-based clustering in large database. In: PAKDD ’99: Proceedings of the Third Pacific-Asia Conference on Methodologies for Knowledge Discovery and Data Mining, London, UK, Springer-Verlag (1999) 338 – 349 [73] Liu, B.: A fast density-based clustering algorithm for large databases. In: Proceedings of the 2006 International Conference on Machine Learning and Cybernetics, IEEE Computer Society (2006) 996 – 1000 [74] Achtert, E., peter Kriegel, H., Pryakhin, A., Schubert, M.: Hierarchical densitybased clustering for multi-represented objects. In: Workshop on Mining Complex Data (MCD 2005) at ICDM05. (2005) [75] Birant, D., Kut, A.: St-dbscan: An algorithm for clustering spatial-temporal data. Data Knowl. Eng. 60 (2007) 208 – 221 [76] Zhao, Y., Zhang, C., Shen, Y.D.: Clustering high-dimensional data with loworder neighbors. In: WI ’04: Proceedings of the 2004 IEEE/WIC/ACM International Conference on Web Intelligence, Washington, DC, USA, IEEE Computer Society (2004) 103 – 109 [77] Viswanath, P., Pinkesh, R.: l-dbscan: A fast hybrid density based clustering method. In: ICPR ’06: Proceedings of the 18th International Conference on Pattern Recognition, Washington, DC, USA, IEEE Computer Society (2006) 912 – 915 178 BIBLIOGRAFÍA [78] Biçici, E., Yuret, D.: Locally scaled density based clustering. In: ICANNGA ’07: Proceedings of the 8th international conference on Adaptive and Natural Computing Algorithms, Part I, Berlin, Heidelberg, Springer-Verlag (2007) 739 – 748 [79] Huang, J., Ertekin, S., Giles, C.: Efficient name disambiguation for large-scale databases. Knowledge Discovery in Databases: PKDD 2006 (2006) 536 – 544 [80] Liu, S., Dou, Z., Li, F., Huang, Y.: A new ant colony clustering algorithm based on dbscan. In: Proceedings of the 3rd International Conference on Machine Learning and Cybernetics. (2004) 1491 – 1496 [81] Kalnis, P., Mamoulis, N., Bakiras, S.: On discovering moving clusters in spatiotemporal data. In: SSTD, Springer (2005) 364 – 381 [82] Birant, D., Kut, A.: Spatio-temporal outlier detection in large databases. In: Proceedings of the 28th International Conference on Information Technology Interfaces. (2006) 179 – 184 [83] Roy, S., Bhattacharyya, D.K.: An approach to find embedded clusters using density based techniques. In: Distributed Computing and Internet Technology, Second International Conference. (2005) 523 – 535 [84] Ruiz, C., Spiliopoulou, M., Ruiz, E.M.: C-dbscan: Density-based clustering with constraints. In: Rough Sets, Fuzzy Sets, Data Mining and Granular Computing. (2007) 216 – 223 [85] Brecheisen, S., Kriegel, H.P., Kröger, P., Pfeifle, M.: Visually mining through cluster hierarchies. In: Proceedings of the Fourth SIAM International Conference on Data Mining. (2004) 400 – 412 [86] Jiménez, D., Ferretti, E., Vidal, V., Rosso, P., Enguix, C.F.: The influence of semantics in ir using lsi and k-means clustering techniques. Proceedings of International Symposium on Information and Communication Technologies (ISICT) (2003) 286–291 [87] Rosso, P., Molina, A., Pla, F., Jiménez, D., Vidal, V.: Information retrieval and text categorization with semantic indexing. Lecture Notes in Computer Science 1 (2004) 596–600 [88] Rosso, P., Jimenez, D., Vidal, V.: Text categorization and information retrieval using wordnet senses. Proceedings of Second International Wordnet Conference (GWC 2004) (2004) 299–304 [89] Cutting, D.R., Karger, D.R., Pedersen, J.O., Tukey, J.W.: Scatter/gather: a cluster-based approach to browsing large document collections. In: SIGIR’92: Proceedings of the 15th annual international ACM SIGIR conference on Research and development in information retrieval, ACM Press (1992) 318–329 179 BIBLIOGRAFÍA [90] Cutting, D.R., Karger, D.R., Pedersen, J.O.: Constant interaction-time scatter/gather browsing of very large document collections. In: SIGIR ’93: Proceedings of the 16th annual international ACM SIGIR conference on Research and development in information retrieval, New York, NY, USA, ACM (1993) 126 – 134 [91] Shankar, S., Karypis, G.: Weight adjustment schemes for a centroid based classifier. Technical report, University of Minnesota, Department of Computer Science (2000) [92] Aslam, J., Pelekov, K., Rus, D.: Information organization algorithms. In: Proceedings of the International Conference on Advances in Infrastructure for Electronic Business, Science, and Education on the Internet (SSGRR). (2000) [93] Hearst, M.A.: Tilebars: Visualization of term distribution information in full text information access. In: Proceedings of the Conference on Human Factors in Computing Systems, CHI’95. (1995) [94] Porter, M.F.: An algorithm for suffix stripping. Program 14 (1980) 130–137 [95] Manning, C.D., Sch(ü)tze, H.: Foundations of Statistical Natural Language Processing. The (MIT) Press (1999) [96] Miller, A.: Wordnet: lexical database for english. Communications of the ACM 38 (1995) 39–41 [97] Wang, B.B., Mckay, R.I.B., Abbass, H.A., Barlow, M.: A comparative study for domain ontology guided feature extraction. In: ACSC ’03: Proceedings of the 26th Australasian computer science conference, Australian Computer Society, Inc. (2003) 69–78 [98] Gonzalo, G., Verdejo, F., Chugur, I., Cigarran, J.: Indexing with wordnet synsets can improve text retrieval. In: Proceedings of the COLING/ACL, 98 Workshop on Usage of WordNet for NLP (1998) [99] Losada, D., Barreiro, A.: A logical model for information retrieval based on propositional logic and belief revision. The Computer Journal 44 (2001) 410– 424 [100] Raghavan, V.V., Wong, S.K.M.: A critical analysis of vector space model for information retrieval. Journal of the American Society for Information Science 37 (1999) 279–287 [101] Jung, Y., Park, H., Du, D.: A balanced term-weighting scheme for improved document comparison and classification. In: Text Mine’01. (2001) 68 [102] Golub, G.H., Loan, C.F.V.: Matrix Computations. third edition edn. The Johns Hopkins University Press (1996) 180 BIBLIOGRAFÍA [103] Halkidi, M., Vazirgiannis, M.: Clustering validity assessment: Finding the optimal partitioning of a data set. In: ICDM. (2001) 187–194 [104] Koenemann, J., Belkin, N.J.: A case for interaction: A study of interactive information retrieval behavior and effectiveness. In: CHI. (1996) 205–212 [105] http://trec.nist.gov/: (Text retrieval conference (trec)) [106] Shaw, W.M., Wood, J.B., Wood, R.E., Tibbo, H.R.: The cystc fibrosis database: content and research opportunities. Library and Information Science Research 13 (1991) 347–366 [107] Stein, B., Busch, M.: Density-based cluster algorithms in low-dimensional and high-dimensional applications. In: Second International Workshop on TextBased Information Retrieval (TIR 05), Koblenz, Germany. (2005) 45–56 [108] Guha, S., Rastogi, R., Shim, K.: Cure: An efficient clustering algorithm for large databases. In: SIGMOD Conference, ACM Press (1998) 73–84 [109] Zhang, T., Ramakrishnan, R., Livny, M.: Birch: An efficient data clustering method for very large databases. In: SIGMOD Conference’96. (1996) 103–114 [110] Zhang, T., Ramakrishnan, R., Livny, M.: Birch: A new data clustering algorithm and its applications. Data Min. Knowl. Discov. 1 (1997) 141–182 [111] Su, Z., Yang, Q., Zhang, H., Xu, X., Hu, Y.: Correlation-based document clustering using web logs. In: Proc. of the 34th Hawaii International Conference on System Sciences, IEEE Computer Society (2001) 5022 [112] Iváncsy, R., Babos, A., Legány, C.: Analysis and extensions of popular clustering algorithms. In: Proc. of the 6th International Symposium of Hungarian Researchers on Computational Intelligence. (2005) 390–400 [113] Ertöz, L., Steinbach, M., Kumar, V.: Finding clusters of different sizes, shapes, and densities in noisy, high dimensional data. In: SIAM International Conference on Data Mining (SDM’03). (2003) [114] Jiménez, D., Vidal, V. In: Parallel Implementation of Information Retrieval Clustering Models. Volume 3402/2005 of Lecture Notes in Computer Science. Springer Berlin (2005) 129–141 [115] Jiménez, D., Vidal, V., Enguix, C.F.: A comparison of experiments with the bisecting-spherical k-means clustering and svd algorithms. Actas congreso JOTRI (2002) [116] Macfarlane, A., Robertson, S., McCann, J.: Parallel computing in information retrieval - an updated review. Journal of Documentation 53 (1997) 274 – 315 [117] http://www.mcs.anl.gov/research/projects/mpi/index.htm: passing interface (mpi) standard) 181 (The message BIBLIOGRAFÍA [118] http://www.mpi forum.org/: (Message passing interface forum) [119] Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM: Parallel virtual machine: a users’ guide and tutorial for networked parallel computing. MIT Press (1994) [120] http://www.netlib.org/pvm3/book/pvm book.html: (Pvm: Parallel virtual machine a users’ guide and tutorial for networked parallel computing) [121] O’Neill, C., Paice, C.D.: What is www.comp.lancs.ac.uk/computing/research/stemming/ (2003) stemming? [122] Paice, C.D.: An evaluation method for stemming algorithms. Proceedings of the 17th ACM-SIGIR Conference on R&D in Information Retrieval (1994) 42–50 [123] Jiménez, D., Vidal, V.: Utilización de una aproximación svd para el análisis de la resolución de un fantoma mamográfico. Actas congreso 29 Reunión Anual Sociedad Nuclear Española 2003 (2003) [124] Vidal, V., Jiménez, D., Verdú, G.: Análisis de imágenes de test mamográfico mediante la técnica svd. Actas congreso XVIII CEDYA 2003 (2003) [125] Vidal, V., Jimenez, D.: Aspectos computacionales de modelos algebraicos de recuperación de información. Actas Congreso Internacional de Computación Paralela, Distribuida y Aplicaciones (2003) [126] Jiménez, D., Vidal, V., Drummond, L.A.: Vdbscan and a-bisecting spherical k-means in distributed information retrieval systems. In: VECPAR’10 9th International Meeting, High Performance Computing for Computational Science. (2010) http://vecpar.fe.up.pt/2010/lpapers.php [127] Jiménez, D., Vidal, V.: Una comparación entre el vdbscan y el a-bisecting spherical k-means en sistemas de recuperación de información. In: XXI Jornadas de Paralelismo, JP (SARTECO). (2010) 889–894 [128] Tsai, C.F., Liu, C.W.: Angel: A new efficient data clustering algorithm. In: Artificial Intelligence and Soft Computing - ICAISC 2006. (2006) 702 – 711 182