Foxylicious+Clu: Gestor automatizado de bookmarks online

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Foxylicious+Clu: Gestor automatizado de bookmarks online"

Transcripción

1 Proyecto Fin de Carrera de Ingeniería Informática Foxylicious+Clu: Gestor automatizado de bookmarks online Escuela Técnica Superior de Ingeniería Informática Julio 2009 Alumnos: Directores: Abraham Troitiño Piñón Eduardo del Reguero Rodríguez Patricio García Báez Carmen Paz Suárez Araujo

2

3 Don Patricio García Báez, profesor de la Escuela Técnica Superior de Ingeniería Informática del Departamento de Estadística, Investigación Operativa y Computación de la Universidad de La Laguna CERTIFICA: Que el presente Proyecto de Fin de Carrera de la Escuela Técnica Superior de Ingeniería Informática titulado Foxylicious+Clu: Gestor automatizado de bookmarks online, presentado por D. Abraham Troitiño Piñón y por D. Eduardo del Reguero Rodríguez ha sido realizado bajo la dirección de la profesora Carmen Paz Suárez Araujo (ULPGC) y mía en la Escuela Técnica Superior de Ingeniería Informática. Y para que así conste, en cumplimiento de la legislación vigente y a los efectos que haya lugar se firma el presente en La Laguna, a 28 de julio de Patricio García Báez

4

5 A nuestros padres y hermanos por la confianza que nos han demostrado. A nuestras novias Jyoti y Elizabeth por su comprensión, apoyo y paciencia durante nuestros abandonos del hogar. Quisiéramos agradecer la inestimable ayuda recibida de Patricio García Báez, que nos ofreció el proyecto, por su disponibilidad, dedicación, comprensión, y porque se ha volcado en su colaboración y a la hora de dirigir este proyecto. Agradecemos también, la codirección de este trabajo por parte de la profesora de la ULPGC, Carmen Paz Suárez Araujo. Abraham y Eduardo

6 2

7 Índices Índice de contenidos PREÁMBULO... 7 Descripción general del proyecto... 8 Objetivos... 9 Estructura de la memoria INTRODUCCIÓN Introducción Web Mining Clusterización de documentos Qué son los Bookmarks CLUSTERIZACIÓN DE DOCUMENTOS WEB Algoritmos de clusterización Tipos Aprendizaje sin supervisión en Redes Neuronales Representación de documentos web Pre-procesado de documentos web Stemming El modelo TF-IDF Similitud y distancia entre documentos Situación actual en la clusterización de documentos web TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Gestores de bookmarks Gestores de bookmarks incluidos en los navegadores Gestores de bookmarks online Delicious Extensiones en Mozilla Firefox La plataforma Mozilla Esquema de una extensión de Firefox Extensiones Delicious para Firefox Delicious bookmarks Another Delicious Sidebar Foxylicious

8 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online SimpleDelicious Herramientas de clusterización Herramientas de clusterización de escritorio HyPursuit Websom T-LAB DocCluster Cluto Herramientas integradas en navegadores Bookmark Organizer HyperBk Herramientas de clusterización online NIRVE PRISE Perspective Wall Vivísimo Clusty iboogie KartOO GESTOR AUTOMÁTICO DE BOOKMARKS Descripción a nivel de usuario Requisitos e instalación Panel de control de la extensión Foxylicious+Clu Añadir un nuevo bookmark Proceso de reentrenamiento Tecnologías de desarrollo empleadas XUL JavaScript JSON SQLite Java La extensión Foxylicious Extracción de la información necesaria Documentos HTML

9 Índices Parser Cálculo del vector de pesos de un documento Métodos de clusterización implementados Algoritmo k-medias Algoritmo ART-2A Almacenamiento de información Batería de pruebas y entrenamiento Resultados con el algoritmo k-medias Resultados con el algoritmo ART-2A Discusión de resultados CONCLUSIONES Conclusiones Dificultades encontradas Trabajos futuros REFERENCIAS ANEXO I: Lista de palabras stopwords Stopwords en español Stopwords en inglés ANEXO II: Código fuente de los algoritmos Algoritmo k-medias Algoritmo ART-2A

10 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Índice de figuras Figura 1: Algunas características de los algoritmos de clusterización Figura 2: Ejemplo de documento HTML Figura 3: Representación de documentos en un espacio tridimensional Figura 4: Relación entre la frecuencia de aparición de un rasgo y su ordenación en función de esa frecuencia, según Luhn Figura 5: Nube de etiquetas Figura 6: Resultado de la búsqueda "universidad" en Delicious Figura 7: Icono para Extensiones en Mozilla Figura 8: Esquema de directorios para una extensión Figura 9: Iconos de la extensión "Delicious bookmarks" en el navegador Firefox Figura 10: Menú correspondiente a la extensión "SimpleDelicious" Figura 11: Ventana de la aplicación T-LAB en la opción de "Cluster Analysis" Figura 12: Representación gráfica de los resultados de NIRVE Figura 13: Varias representaciones gráficas de los resultados de PRISE Figura 14: Representación gráfica de los resultados de Perspective Wall Figura 15: Representación gráfica de los resultados de Vivísimo Figura 16: Representación gráfica de los resultados de Clusty Figura 17: Representación gráfica de los resultados de iboogie Figura 18: Representación gráfica con pocos resultados de KartOO Figura 19: Representación gráfica aumentando los resultados de KartOO Figura 20: Ventana de complementos del navegador Firefox con la extensión Foxylicious con clusterización instalada Figura 21: Opción Foxylicious+Clu en el menú Herramientas en el navegador Firefox Figura 22: Panel de control de la extensión Foxylicious+Clu Figura 23: Opción de la extensión que habilita el uso de la herramienta de clustering Figura 24: Organización en pestañas de las opciones de la herramienta para clustering de bookmarks Figura 25: Pestaña General de Options for Automatic Bookmarks Clustering Figura 26: Pestaña Bookmark Characterization de Options for Automatic Bookmarks Clustering Figura 27: Pestaña Weighting de Options for Automatic Bookmarks Clustering

11 Índices Figura 28: Pestaña Clustering de Options for Automatic Bookmarks Clustering Figura 29: Pestaña Rename Clustering de Options for Automatic Bookmarks Clustering Figura 30: Posibilidad de renombrar un cluster existente Figura 31: Proceso a la hora de almacenar un bookmark clusterizado en Delicious Figura 32: Secuencia de ventanas que le aparecen al usuario en el proceso de clusterizar un bookmark Figura 33: Bookmark almacenado en Delicious y cluster al que pertenece Figura 34: Botón para llevar a cabo el proceso de reentrenamiento Figura 35: Ventanas del proceso de reentrenamiento de bookmarks Figura 36: Ejemplo de fichero XUL Figura 37: Ventana de opciones de la extensión Foxylicious Figura 38: Acceso desde el navegador a los bookmarks descargados de Delicious Figura 39: Árbol de etiquetas HTML Figura 40: Diagrama de flujo del algoritmo k-medias Figura 41: Diagrama de flujo del algoritmo ART2A Figura 42: Esquema de la base de datos empleada Figura 43: Log para la ejecución del k-medias con el grupo ADJ Figura 44: Sensibilidad y Estabilidad para ADJ con el algoritmo k-medias Figura 45: Fichero log para la ejecución del k-medias con el grupo ABC Figura 46: Sensibilidad y Estabilidad para ABC con el algoritmo k-medias Figura 47: Sensibilidad y Estabilidad para ADJ con el algoritmo ART-2A Figura 48: Fichero log para la ejecución del ART-2A con el grupo ADJ Figura 49: Sensibilidad y Estabilidad para ABC con el algoritmo ART-2A Figura 50: Fichero log para la ejecución del ART-2A con el grupo ABC

12 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Índice de tablas Tabla 1: Ejemplo de documentos Tabla 2: Matriz término-documento para el modelo booleano Tabla 3: Matriz término-documento para el modelo vectorial Tabla 4: Medidas de similitud Tabla 5: Categorías del conjunto de datos BankSearch Tabla 6: Matriz de cruces para el algoritmo k-medias con el grupo ADJ Tabla 7: Matriz de cruces para el algoritmo k-medias con el grupo ABC Tabla 8: Matriz de cruces para el grupo ADJ con β = 0,0125 y ρ = 0, Tabla 9: Matriz de cruces para el grupo ABC con β = 0,0250 y ρ = 0,

13 PREÁMBULO En esta memoria de proyecto de fin de carrera se presenta una herramienta para la clasificación automática de documentos web basada en redes neuronales artificiales. Este trabajo se desarrolla con el objetivo principal de poder discernir si la computación inteligente, concretamente las redes neuronales, son eficaces en la clasificación de documentos HTML (HyperText Markup Language). El ámbito de aplicación sería la clasificación automática y el clustering de páginas web. Las técnicas y herramientas propuestas pueden utilizarse en la creación de directorios web temáticos o aplicarse sobre los resultados devueltos tras una consulta a un motor de búsqueda. Esto resulta interesante en el contexto de la web, visto su tamaño actual y su tasa de crecimiento. Los documentos web con los que trabaja la herramienta desarrollada son los marcadores (bookmarks) sociales encuadrados en el fenómeno de las denominadas redes sociales. Los bookmarks sociales son direcciones web que se guardan en la red de manera que el usuario pueda acceder a ellos y agregar otras desde cualquier dispositivo con acceso a Internet, además de compartirlos con otros usuarios. Para alcanzar el objetivo principal propuesto se utilizan dos algoritmos de clustering empleados para resolver problemas de agrupamiento o clustering, uno de carácter no neuronal, k-medias y otro de carácter neuronal, ART-2A. El método de las k-medias es uno de los métodos más antiguos y más utilizados en aplicaciones científicas e industriales, ha sido aplicado también en distintos trabajos de catalogación de documentos web. Por otro lado, en el campo de las redes neuronales, las arquitecturas basadas en la teoría de resonancia adaptativa (Adaptive Resonance Theory) [Carpenter et al. 2002] introducida y desarrollada por Carpenter y Grossber también son bastante utilizadas en el ámbito del clustering. A partir de esta teoría se desarrollaron varias arquitecturas de redes neuronales. Para comprobar el comportamiento de la aplicación de redes neuronales a la clasificación de documentos, hemos utilizado el algoritmo ART- 2A [Carpenter et al. 1991]. 7

14 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Tras el análisis de los resultados obtenidos tanto con el algoritmo de carácter neuronal ART-2A, como con el algoritmo no neuronal clásico, k-medias, se puede concluir el primero tiene un buen comportamiento a la hora de clusterizar documentos web y por tanto es adecuado para nuestros propósitos. Descripción general del proyecto En la actualidad, el reconocimiento de agrupamientos de páginas web similares o relacionadas, es una tarea importante y difícil. La categorización de documentos puede definirse como la tarea de separar documentos en grupos. El criterio de agrupamiento se basa en las similitudes existentes entre los documentos que pertenecen a cada grupo [Kaufman et al., 1990]. El incremento en los volúmenes de información disponibles en forma electrónica implica la necesidad cada vez mayor de encontrar la información buscada en un tiempo mínimo. Así, agrupar documentos con contenidos similares puede ser muy útil, no sólo para facilitar el acceso a la información, sino también para clasificar dicha información. Aplicar técnicas de clasificación automática de documentos de páginas web puede resultar muy útil para facilitar y mejorar las tareas de extracción y búsqueda de información en Internet. La mayoría de las técnicas existentes para la clasificación automática de documentos web tienen importantes limitaciones. Una de ellas es la gran cantidad de tiempo que consumen en tareas de búsqueda y de mantenimiento. Para reducir este importante hándicap se precisan nuevos métodos. Como características deseables de estos métodos deberíamos tener la precisión y que el usuario tenga que intervenir lo menos posible. El agrupamiento ciego (Blind Clustering) es la tarea de asociar o agrupar documentos sin tener información a priori acerca del resultado de la asociación de los documentos. Este tipo de clasificación, junto con las redes neuronales artificiales puede contribuir con sus características a una herramienta de gestión automática de bookmarks. Este documento describe una herramienta para clusterizar de manera automática los bookmarks almacenados en una cuenta de usuario de Delicious [Delicious]. En este proyecto se han seleccionado y estudiado un conjunto de representaciones y técnicas neuronales para determinar su utilidad en la categorización de documentos web, en concreto para los bookmarks. La clusterización se ha basado en modificaciones del conocido algoritmo k-medias [MacQueen, 1967] y del algoritmo ART2-A [Carpenter, 8

15 PREÁMBULO 1991]. Además, hemos llevado a cabo un estudio comparativo entre dichos algoritmos para poder detectar sus ventajas y desventajas para nuestros objetivos. Objetivos Los objetivos principales de este proyecto son: Como objetivo principal se pretende averiguar si las técnicas de redes neuronales resultan útiles para la catalogación de documentos web, en concreto los bookmarks, así como detectar sus ventajas y desventajas ante métodos más clásicos y extendidos basados en aproximaciones no neuronales. El segundo objetivo del proyecto será el desarrollo de un gestor automático de bookmarks. Se deberá por tanto estudiar con qué herramientas se podrán reutilizar para aprovechar las posibilidades tecnológicas. Así mismo, se pretende adquirir experiencia en el desarrollo con código ajeno en distintas tecnologías web. Estructura de la memoria Esta memoria está organizada en cuatro capítulos y las conclusiones. Comenzaremos con un capítulo de introducción en el que hablaremos de la importancia de la clusterización en Internet, el Web Mining y el Data Mining. En el capítulo 2 describiremos la clusterización de documentos web, abordando temas como son: los algoritmos de clusterización, la representación de documentos web y la situación actual en la clusterización de documentos web. Hablaremos de las tecnologías para bookmarks y la clusterización de páginas web en el capítulo 3, describiendo los gestores de bookmarks integrados en navegadores web y los online, las extensiones utilizadas en los navegadores, las herramientas online y basadas en extensiones para clusterizar. En el capítulo 4 se describe la herramienta desarrollada y la clusterización de bookmarks mediante los algoritmos que ésta incorpora. Se presenta una descripción general desde 9

16 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online el punto de vista del usuario de la herramienta y se justifican la tecnología y herramientas empleadas. Además se describe en detalle la extensión Foxylicious para el navegador web Mozilla Firefox. Se detalla la implementación llevada a cabo, explicando la extracción de la información necesaria de una página web, los métodos de clusterización implementados, el sistema de almacenamiento utilizado, las baterías de pruebas y entrenamientos empleados y los resultados obtenidos con todo ello. Finalmente, se presentan las conclusiones del trabajo desarrollado y los posibles trabajos futuros. Todo ello inferido desde los resultados obtenidos a nivel usuario, así como de las dificultades existentes en el desarrollo del proyecto. 10

17 1 INTRODUCCIÓN En este capítulo introductorio se da un enfoque global los ámbitos de estudio Web Mining y Clusterización de documentos en los que está encuadrado el problema de la Clusterización de documentos web, en especial en el ámbito de los bookmarks. 11

18 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 1.1 Introducción El crecimiento constantemente del número de documentos web en Internet junto a la poca o nula catalogación por parte de sus autores genera que los procesos de búsquedas sobre dichos documentos se dificulten cada día más. El problema ya no es tanto el acceso a la información en sí misma, sino conseguir un acceso realmente acorde a nuestras necesidades, de entre toda la cantidad de información disponible. De poco sirve disponer de una inmensa cantidad de datos si no se es capaz de acceder a ellos de un modo realmente provechoso. Además de su tamaño, una de las características inherentes a la web es la capacidad que ofrece de publicar contenidos libremente. El contenido de la web abarca temas desde los más generales a los más específicos. Los documentos resultan ser completamente heterogéneos, ya que han sido creados por personas de todo tipo y condición. Puesto que se trata de una información mínimamente estructurada, se tiene una seria dificultad a la hora de diseñar sistemas que asistan en el acceso a la información contenida en la web. Debido al crecimiento exponencial y a la implantación de un sistema de información de gigantesco volumen como es la World Wide Web, las investigaciones de técnicas de acceso y recuperación de información han experimentado su mayor auge y deben estar orientadas a la gestión eficaz y eficiente. Uno de los enfoques de los diferentes desarrollos en investigaciones es aplicar minería sobre documentos obtenidos de la red. Esto permite mejorar la búsqueda de información, generar perfiles de usuarios adecuados a sus necesidades y organizar bookmarks entre otras cosas. 1.2 Web Mining La minería web (Web Mining) es una metodología de recuperación de la información que usa herramientas de la minería de datos para extraer información tanto del contenido de las páginas como de su estructura de relaciones (enlaces) y de los registros de 12

19 Capítulo 1 INTRODUCCIÓN navegación de los usuarios [Wkp-webmining]. Se puede dividir Web Mining en tres variantes: Web Content Mining: tiene como principal objetivo otorgar datos reales o finales a los usuarios que interactúan con la web. Es decir, extraer y descubrir información útil de los contenidos de las páginas web. Existen dos grupos de estrategias sobre minería de contenidos: aquellas que extraen directamente el contenido de los documentos y aquellas que mejoran la búsqueda de contenidos. Web Structure Mining: intenta descubrir el modelo subyacente de las estructuras de los enlaces. El modelo se basa en la topología de los hiperenlaces con o sin la descripción de los enlaces. Este modelo puede ser usado para categorizar las páginas web y es útil para generar información tal como la similitud y relación entre diferentes páginas web. Web Usage Mining: trata de dar sentido a los datos y comportamientos generados en las sesiones de navegación del web. Es decir, son aquellos datos que describen el uso al cual se ve sometido un sitio, registrado en los logs de acceso a de los servidores web. Por otro lado los sistemas de recomendación son otra técnica relacionada con el Web Mining que puede facilitar la estructuración de la información en la web. Los sistemas de recomendación son herramientas que generan recomendaciones sobre un determinado objeto de estudio, a partir de las preferencias y opiniones dadas por otros usuarios, dando lugar a los dos grandes grupos de sistemas de recuperación: Colaborativo: sistema de recuperación que usa la información conocida sobre las preferencias de otros usuarios para realizar la recomendación al usuario que la precise. No colaborativos o basados en contenidos: realizan las recomendaciones usando únicamente las preferencias del usuario y los atributos de los ítems a recomendar. Cuando se utilizan sistemas de recomendación basados en la generación automática de etiquetas obtenidas a partir del propio contenido, los bookmarks sociales son una fuente propicia para ser filtrada en los sistemas de recomendación basados en filtrado colaborativo. 13

20 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Para solventar los problemas de acceso a la web se precisa de métodos de categorización que permitan organizar y clasificar los documentos de la forma más certera posible y con la mínima interacción del usuario, de esta forma se conseguiría reducir en gran medida los periodos de exploración que dedicamos a la búsqueda de documentos de nuestro interés, así como lograr mantenernos al día en cualquier nueva aparición o modificación en dichos datos. El objetivo de un sistema de clasificación automática de documentos es encontrar un agrupamiento de una colección de documentos. La clasificación automática de las páginas web que el usuario desear almacenar online o en su navegador supone una posible aplicación de estos sistemas. Dentro del ámbito de la problemática de la catalogación automática de documentos web abordaremos el problema de poder llevar a cabo la clusterización de los repositorios de URLs (Universal Resource Locator) de manera automática. 1.3 Clusterización de documentos La clasificación automática de documentos se puede entender como aquella tarea en la que un documento, o una parte del mismo, es etiquetado como perteneciente a un determinado conjunto, grupo o categoría. Cuando se habla de clasificación automática se distingue entre dos escenarios diferentes que requieren soluciones distintas. El primer tipo o escenario se conoce como clasificación supervisada, consiste en que se parte de una serie de clases o categorías prediseñadas a priori y en la que labor del clasificador (manual o automático) es asignar cada documento a la clase o categoría que le corresponda. En el segundo escenario posible, no hay categorías previas ni esquemas o cuadros de clasificación establecidos a priori. Los documentos se agrupan en función de ellos mismos, de su contenido; de alguna manera, podemos decir que se auto-organizan. Es lo que se conoce como clasificación (automática) no supervisada o clustering; no supervisada porque se efectúa de forma totalmente automática, sin supervisión o asistencia manual. Lo que se pretende no es asignar un documento a una clase dada, sino agrupar documentos que tengan características similares. Resulta útil para encontrar grupos de contenidos similares y puede servir, por ejemplo, para mantener agrupadas y organizadas las URLs que un usuario desee conservar. 14

21 Capítulo 1 INTRODUCCIÓN El clustering de documentos ofrece una solución complementaria a la clasificación automática. El objetivo de estos sistemas es el de dividir un conjunto de documentos en grupos disjuntos, o clusters, de modo que la similitud sea máxima entre elementos de un mismo grupo y mínima entre los elementos de conjuntos distintos [Everitt et al., 2001]. Según [Fresno, 2006], para construir cualquier clasificador de documentos sería necesario seguir los siguientes pasos: Construir una base matemática que derive del sistema de clasificación y que nos permita representar un documento. Desarrollar procedimientos por los cuales los documentos puedan ser clasificados automáticamente dentro de categorías. Determinar la precisión o exactitud de la clasificación en relación a algún criterio. Primeramente será necesario transformar los documentos formados por textos con etiquetas HTML a un formato que nos permita trabajar con un modelo de recuperación de la información clásico como es el modelo vectorial [Salton, 1975]. Debemos por tanto, y puesto que los documentos se considerarán vectores de frecuencia de aparición de palabras que se encuentran en las distintas etiquetas HTML, se debe de extraer la información relativa a las frecuencias de aparición de los diferentes rasgos dentro de la colección de documentos. Para ello se debe llevar a cabo un pre-procesado de los elementos de la colección, pasando a minúsculas y eliminando todas aquellas palabras que se encuentren en la lista de palabras prohibidas (stopwords) que contiene una lista de palabras comunes. En muchas aplicaciones no se sabe exactamente de cuantos clusters consta el conjunto de patrones a estudiar. En concreto, en el problema que abordamos, el usuario a priori no tiene porque saber el número de categorías o clusters que va a obtener para un conjunto de documentos web. Por lo tanto, se hace necesario usar algoritmos de clusterización ciega (Blind Clustering) para que ellos detecten el número de clusters existentes automáticamente. 15

22 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 1.4 Qué son los Bookmarks Se entiende por URL (Uniform Resource Locator) a una secuencia de caracteres, de acuerdo a un formato estándar, que se usa para nombrar recursos, como documentos e imágenes en Internet, por su localización [Wkp-bookmark] [RFC-URL]. Un bookmark o marcador es una información relativa a una URL que marcamos de alguna forma por su interés o para su posterior visualización. Los bookmarks suelen estar organizados en una estructura jerárquica en forma de árbol, de manera que cada categoría de enlaces se agrupa en un directorio o carpeta. En la actualidad, estas URLs suelen poder organizarse mediante las etiquetas o tags que se les asocie. El usuario puede usar los bookmarks para volver a visitar una página web, simplemente haciendo click en el enlace. Además, parte de su atractivo es motivado por la facilidad a la hora de crearlos. Estos repositorios almacenan de cada documento su dirección URL e información adicional (título, clasificación, descripción, notas, tags) que podrían ser utilizados para recordar sitios web (sities) o documentos para volver a visitar en un futuro. Estos repositorios inicialmente eran representados por una lista simple de URLs y se llamaban HotLists en Mosaic, Quicklists en WebExplorer, Favoritos en Internet Explorer y Bookmarks en Netscape Navigator (bookmarks en adelante). Debido al auge del uso de Internet, se produjo un aumento del crecimiento de los repositorios personales. Sin embargo, la organización y gestión adecuada de bookmarks se ha convertido en algo crucial de manera análoga a la necesidad de tener organizados los ficheros en nuestros dispositivos de almacenamiento. Algunos navegadores empezaron a incluir herramientas para la gestión de los bookmarks, de manera que es el usuario quien clasifica la URL en un esquema que debe recordar. Sin embargo, a medida que el número de bookmarks aumenta, la clasificación manual y la organización de los bookmarks pueden ser difíciles y tediosas. Hoy en día, todos los navegadores ofrecen al menos una herramienta que permite organizar los bookmarks, ya sea en directorios o con etiquetas o tags. La mayoría de los usuarios, en algún momento han usado bookmarks. Cuando un usuario decide crear un bookmark a partir de una URL, suele ser por [Abrams et al. 1998]: 1. Utilidad de la información. 16

23 Capítulo 1 INTRODUCCIÓN 2. Calidad de la página. 3. Frecuencia de uso. 4. Facilidad a la hora de volver a visitar sitios de interés personal. 5. Posible uso futuro. Los bookmarks básicamente se usan por las siguientes razones descritas en [Abrams et al. 1998]: Reducen la carga física de la gestión de una dirección URL. o Evitando la gestión de direcciones URL. o Ayudando a recordar el historial. Facilitan el obtener un grupo de páginas relacionadas. o Acelerando el acceso a la información. o Encontrando información en la web. Permiten a los usuarios crear un espacio de información para ellos mismos y para otros. o Creando un espacio personal de la web. o Autorizando y publicando páginas web. o Colaborando en el uso de la información web. Los bookmarks son únicamente usados en un 2.7% de todas las operaciones de navegación [Abrams et al. 1997] pero aún así no dejan de ser importantes ya que permiten al usuario recordar URLs de sesiones de navegación anterior y facilitan el volver a visitarlas. Como siguiente paso en la evolución del uso de los bookmarks, han surgido los denominados social bookmarks. Surgen a raíz de la aparición de distintas herramientas que permiten almacenar los bookmarks en la red, los denominados gestores de bookmarks online, lo que permite que se puede acceder a ellos desde cualquier dispositivo pudiendo gestionarlos teniendo acceso a Internet. En los social bookmarks, los usuarios pueden mantener el carácter privado de sus bookmarks o cooperar con otros usuarios, compartiendo sus bookmarks de manera que se aprovechan las preferencias de los miembros de la red social para establecer cuáles son las mejores páginas. 17

24 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Folcsonomía es una indexación social, es decir, la clasificación colaborativa por medio de etiquetas simples en un espacio de nombres llano, sin jerarquías ni relaciones de parentesco predeterminadas. Las folcsonomías surgen cuando varios usuarios colaboran en la descripción de un mismo material informativo. Se trata de una práctica que se produce en entornos de software social cuyos mejores exponentes son los sitios compartidos como Delicious (enlaces favoritos), Flickr (fotos), Tagzania (lugares), flof (lugares) o 43 Things (deseos). El elemento que caracteriza de manera principal a los bookmarks almacenados online son las etiquetas o tags basándose en la folcsonomía. Cada usuario puede crear sus propias etiquetas para los bookmarks, tanto los propios como los ajenos. Éstas deben ser palabras o frases cortas que describan el contenido del material. Los tags son una forma de metadatos, es decir, información sobre el contenido de páginas web. Sin embargo, surgen problemas como la ambigüedad y el reconocimiento de sinónimos. El hecho de que los bookmarks acaben haciendo referencia a documentos, muchas veces documentos de texto, es lo que permite abordar la organización de estos bookmarks de forma automática con técnicas de Web Mining. Por otro lado, dado lo personal que suelen ser las listas de bookmarks, establecer unas categorías prefijadas a priori no resulta operativo, con lo que la aproximación más adecuada resulta ser la clusterización de documentos web. 18

25 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB. En este capítulo se describen los métodos de representación y clusterización de documentos web, centrándonos en el enfoque de las redes neuronales. Además, se trata uno de los aspectos clave del proceso de clustering que es la función de peso que se aplica a las palabras seleccionadas para representar dichas páginas. Por último, se describe la situación actual en la clusterización de documentos web. 19

26 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 2.1 Algoritmos de clusterización Un cluster o agrupamiento es un grupo de objetos cuyos integrantes tienen una similitud alta mientras que objetos de diferentes grupos una similitud baja. Clusterización o análisis cluster es el proceso por el cual un determinado conjunto de datos o patrones se divide en varios grupos o clusters, presentando estos grupos cierta afinidad o semejanza entre sus miembros, más que con los miembros de otros grupos. El propósito principal de realizar estos agrupamientos consiste en descubrir información sobre los datos o patrones problema, como similaridades, diferencias, relaciones, familiaridades, etc., que nos permitan adquirir conocimiento sobre los mismos pudiendo derivar conclusiones útiles para posteriores estudios. Los algoritmos de clustering se aplican en áreas como las siguientes: Reconocimiento de patrones Análisis de datos espaciales Procesamiento de imágenes Ciencias económicas, especialmente mercadotecnia Clasificación automática de documentos Aplicaciones web 2.2 Tipos Existen varios tipos de algoritmos de clusterización. La Figura 1 basada en [Medina, 2008] muestra algunas de las características principales que los definen. 20

27 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB Figura 1: Algunas características de los algoritmos de clusterización El número de clusters a obtener puede venir fijado a priori o bien puede ser desconocido, en este último caso la clusterización se denomina clusterización ciega. La exclusividad se relaciona con la pertenencia de un objeto a un grupo. Cuando los objetos pertenecen a un sólo grupo, el algoritmo es exclusivo. En caso contrario, se denomina difuso. La organización se refiere a la estructura que el algoritmo construye para explorar los objetos. Existen otras características muy importantes para seleccionar el algoritmo apropiado como la dimensionalidad, la precisión y la cobertura, o la velocidad del agrupamiento. En cuanto a la relación existente entre los clusters que se generan tenemos: Los métodos jerárquicos consiguen la categorización final mediante la separación (métodos divisivos) o la unión (métodos aglomerativos) de grupos de documentos Así, estos métodos generan una estructura en forma de árbol en la que cada nivel representa una posible categorización de los documentos [Willet, 1998]. Los algoritmos de categorización jerárquicos son determinísticos (dado un conjunto de documentos, generan siempre la misma categorización), y no prevén la reasignación de un documento que ya fue incluido en un grupo. Los métodos particionales, también llamados no jerárquicos, no producen una serie de grupos anidados, sino que llegan a una única categorización que optimiza 21

28 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online un criterio predefinido o función objetivo [Everitt et al., 2001]. Los algoritmos comienzan con una partición inicial de los documentos y luego van reasignando los mismos entre los grupos hasta que se cumpla la condición de fin. La mayoría de los métodos utilizan una partición inicial aleatoria, aunque algunos tratan de generarla con algún método que intente conseguir grupos disímiles entre si [Anderberg, 1973]. En general, la efectividad de la técnica de optimización está fuertemente influenciada por la partición inicial. Entre las técnicas utilizadas para la categorización de documentos también podemos resaltar tanto aproximaciones neuronales como no neuronales [Rasmussen, 1992]. 2.3 Aprendizaje sin supervisión en Redes Neuronales En el campo de la inteligencia artificial, las redes de neuronas artificiales son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida [Wkp-rna]. Las redes neuronales en general han sido propuestas en numerosas ocasiones como instrumentos útiles para la Recuperación de Información y también para la clasificación automática. De una manera genérica, una de las principales aplicaciones de las redes neuronales es el reconocimiento de patrones. No es de extrañar, por tanto, que se hayan aplicado a problemas de categorización de documentos. Básicamente, una red neuronal consta de varias capas de unidades de procesamiento o neuronas interconectadas; en el ámbito que nos ocupa la capa de entrada recibe términos agrupados en documentos, mientras que las unidades o neuronas de la capa de salida mapean clases o categorías de documentos. Las interconexiones tienen pesos, es decir, un coeficiente que expresa la mayor o menor fuerza de la conexión. Es posible entrenar una red para que, dada una entrada determinada (los términos de un documento), produzca la salida deseada (la clase que corresponde a ese documento). El proceso de entrenamiento consta de un ajuste de los pesos de las interconexiones, a fin de que la salida sea la deseada. 22

29 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB Algunas de las características en la manera que procesan la información son: aprendizaje adaptativo (capacidad de aprender la tarea a partir del entrenamiento inicial o de la experiencia); auto-organización (organización de la información que ellas reciben durante el entrenamiento en la estructura de pesos de la red); generalización (cuando a la red se le presentan una condiciones nuevas o datos nuevos, la red responde generalizando lo que tenían aprendido); tolerancia a fallos (hace referencia a las características de ser capaz de responder ante datos con ruido y de reforzarse ante fallos de la red); y operar en tiempo real (procesamiento paralelo). El dilema de estabilidad-plasticidad plantea cómo se pueden aprender nuevos patrones (plasticidad del aprendizaje) asegurándonos que se puedan retener los patrones previamente aprendidos (estabilidad del aprendizaje). Carpenter y Grossberg [Carpenter et al. 2002] presentaron el modelo de red neuronal Teoría de la Resonancia Adaptativa o Adaptative Resonante Theory (ART) capaz de cubrir el dilema de estabilidad-plasticidad Las redes ART mantienen la plasticidad para aprender nuevos patrones, y a la vez previenen la modificación de otros que se han aprendido previamente. Las redes ART entrenan sin supervisión, formando grupos de patrones conforme van aprendiendo. Para funcionar, aplican el concepto de aprendizaje competitivo. El modelo ART propone añadir a las redes un mecanismo de retroalimentación entre las neuronas competitivas de la capa de salida de la red y la capa de entrada. Este mecanismo facilita el aprendizaje de nueva información sin destruir la ya almacenada. Para el problema de encontrar el cluster al que corresponda un documento, las redes neuronales más deseables serían las que utilizan aprendizaje no supervisado porque realizan la clusterización, y dentro de este tipo de redes, las basadas en algoritmos ART porque permiten un aprendizaje continuo en la fase de la producción. 2.4 Representación de documentos web Un documento web es un documento en formato HTML, de manera que puede verse como la suma de [Fresno, 2006]: 23

30 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Texto enriquecido: combinación entre el contenido de texto de una página y una información específica, en forma de anotaciones y capaz de aportar información tipográfica sobre cómo debe mostrarse el contenido. Metainformación: metaetiquetas en las que se puede incluir información relativa a la propia página web, como puede ser: autores, palabras claves (keywords) que describan el contenido y ayuden en el proceso de exploración automática y descarga de las páginas web por medio de motores de búsqueda, e incluso que contengan un resumen del contenido del documento. Estructura de hiperenlaces o hyperlinks: son lo más característico de un documento web. Los hiperenlaces de una página web son referencias a documentos, o determinadas partes de documentos, en una relación 1 a 1 unidireccional. De este modo, la web puede verse como un grafo de hipertextos enlazados de un modo lógico por medio de estas referencias. <!-- Ejemplo: estructura de un documento HTML --> <HTML> <HEAD> <TITLE> Título de la página web </TITLE> </HEAD> <BODY> <IMG SRC="imagen.jpg" ALT="Descripción de la imagen"/> <A HREF=" de la ULL</A> <P> Texto del párrafo. </P> <H1> Texto resaltado. </H1> </BODY> </HTML> Figura 2: Ejemplo de documento HTML. De toda esta información, el texto nos permite trabajar con un documento web como un documento de texto. En la Figura 2 puede verse un ejemplo de documento en formato HTML, donde aparece seleccionado el texto que se extraería para trabajar como si fuese un documento de texto. Además se puede utilizar la información contenida en las metaetiquetas en forma de atributos como parte de la representación, como por ejemplo las palabras clave que describen el documento. 24

31 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB Pre-procesado de documentos web Para representar el documento web, es necesario entonces realizar un análisis de la página web y extraer el texto, y de esta forma utilizar los diferentes modelos de representación de información para documentos de texto. En el momento de la extracción, también se puede dar más énfasis a aquellas palabras contenidas en determinadas metaetiquetas frente a otras que contendrán información menos relevante o característica de ese documento. Una vez extraído el texto, se le ha de aplicar un pre-procesado consistente en convertir las palabras originales del documento a un formato estándar, para evitar la duplicación de términos. Para ello, inicialmente se realiza una conversión de todas las palabras al mismo formato, por ejemplo convertir todas las letras a minúsculas (las siguientes palabras de un texto: los, Los, los, los, Los, LoS, los y LOS se convertirían en la término los ). A continuación se elimina del conjunto de términos a considerar todas aquellas palabras que aportan poca información semántica y que son muy comunes en todos los textos, como pueden ser los artículos, las preposiciones o las conjunciones. De esta forma se reduce la densidad del espacio de los documentos. A este conjunto de palabras se les conoce como "stopwords" o "palabras irrelevantes, y en los diferentes idiomas, aunque tienen palabras comunes, no son iguales. Se pueden encontrar fácilmente listas de stopwords para numerosos idiomas, entre las que se incluyen también algunos verbos, adverbios o adjetivos de uso frecuente. Una vez que se ha pre-procesado, tenemos que un documento [Figerola et al., 2000] es un conjunto de términos y se puede representar utilizando el modelo bolsa de palabras o bag of words, que consiste en ver cada documento como un vector de características D = (c 1, c 2, c 3,..., c j ), donde c j es la importancia o peso, que indica en qué grado el documento D posee la característica j-ésima. Habitualmente, como característica se utiliza la ocurrencia de una palabra o término en el documento. La forma en que se calcula esta característica da lugar a diferentes modelos. En general son modelos frecuentemente utilizados en la recuperación de información a partir de búsquedas basadas en consultas sobre documentos. 25

32 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online El más simple es el modelo booleano, y en él se indica con un 1 o un 0 si una palabra aparece o no en un documento. Este modelo no discrimina entre documentos más o menos relevantes, y es indiferente el número de veces que un documento contenga las palabras. A cambio, es uno de los más fáciles de diseñar e implementar [Martínez, 2006]. Por ejemplo, para los documentos de la Tabla 1: Ejemplo de documentos se obtiene la matriz de asociación término-documento mostrada en la Tabla 2. Texto Términos D 1 java internet java java java internet D 2 internet business java bank internet business java bank D 3 bank information java bank business bank information java business D 4 car internet car internet Tabla 1: Ejemplo de documentos. java internet bank information car Business D D D D Tabla 2: Matriz término-documento para el modelo booleano. Teniendo en cuenta que una palabra puede aparecer más de una vez en el mismo documento y que unas palabras pueden considerarse como más significativas que otras, surge el modelo vectorial [Salton, 1968], que nos permite usar el concepto de grado de similitud entre documentos. El modelo vectorial está basado en tres principios [Martínez, 2006]: La equiparación parcial: la capacidad del sistema para ordenar los resultados de una búsqueda, basado en el grado de similaridad entre cada documento de la colección y la consulta. La ponderación de los términos en los documentos: no limitándose a señalar la presencia o ausencia de los mismos, sino adscribiendo a cada término en cada documento un número real que refleje su importancia en el documento. 26

33 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB La ponderación de los términos en una consulta: de manera que el usuario puede asignar pesos a los términos al realizar una consulta, que reflejen la importancia de los mismos en relación a su necesidad informativa. En este modelo, el vector de características puede ser la frecuencia de aparición de un término en un documento, o una medida más elaborada que obedezca a cálculos algo más sofisticados teniendo en cuenta más factores además de la simple ocurrencia o no de un término, como es el caso del esquema TF-IDF (véase sección 2.4.3). Para el ejemplo visto en el caso booleano, los documentos de la Tabla 1 serían representados en la matriz de asociación término-documento mostrada en la Tabla 3. java internet bank information car Business D D D D Tabla 3: Matriz término-documento para el modelo vectorial. Gracias a esta representación, los documentos pueden tratarse matemáticamente como vectores en un espacio t dimensional. Por ejemplo, considerando tres dimensiones (tres términos: ω 1, ω 2 y ω 3 ), la representación de dos documentos d y d en el espacio tridimensional sería el de la Figura 3. 27

34 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 3: Representación de documentos en un espacio tridimensional. Existe también el modelo probabilístico, donde la base de cálculo es la probabilidad de un documento de ser relevante a una pregunta dada, para lo que es preciso determinar las propiedades que definen el conjunto de documentos relevantes. Es un modelo binario puesto que parte de la presencia o ausencia de los términos en los documentos Stemming Stemming [Wkp-stemming][Figerola et al., 2004] es un método para extraer los sufijos y prefijos comunes de palabras literalmente diferentes pero con una raíz común y reducir una palabra a su raíz o mejor a un stem o tema. El algoritmo de stemming más conocido es el algoritmo de Porter. Las posibles variaciones de los derivados de una palabra, junto con formas flexionadas, alteraciones en género y número, etc. hacen aconsejable un agrupamiento de tales variantes bajo un único término. De esta forma, en vez de tener un documento representado por sus términos, lo tendremos representado por los diferentes lexemas de los términos. Por ejemplo, las palabras "bibliotecas" y "bibliotecario" se contarían como un solo término, porque el stem de las dos palabras es el mismo ("bibliotec"). Al aplicar stemming, se asegura que la forma de las palabras no penalice la frecuencia de estas. 28

35 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB La eficacia del stemming ha sido objeto de discusión, pero se puede concluir que es fuertemente dependiente del idioma en que se encuentran documentos y consultas, de manera que resulta difícil aplicar algoritmos diseñados para un idioma a información en otra lengua diferente. No solamente los sufijos y raíces son diferentes, sino que la forma en que aquellos se adhieren a estas es distinta El modelo TF-IDF El modelo TF-IDF es una técnica de cálculo de pesos relativamente antigua, pero simple y efectiva. Consiste en representar un documento en base a que los términos más frecuentes en un documento son mejores indicadores del tema del documento, pero teniendo en cuenta que los términos que aparecen en muchos documentos diferentes son menos indicativos del significado de éstos. Así, se define TF como la frecuencia absoluta de aparición de un término en un documento, siendo importante que esta frecuencia esté normalizada, lo que atenúa el crecimiento. Hay que tener en cuenta, que en esta medida, la importancia de un término en función de su distribución puede llegar a ser desmesurada (por ejemplo, una frecuencia de 2 es un 200% más importante que una frecuencia de 1, y la diferencia aritmética es sólo de una unidad). La ecuación correspondiente al TF es: tf ij nij n k ik n d ij i donde n ij : es el número de veces que aparece el término t j en el documento d i. Además, la ley de Zipf nos dice que el número Y de veces que aparece una palabra en un texto, es inversamente proporcional a su rango X, es decir Y a. De modo que si X representamos gráficamente el logaritmo del número de apariciones de las palabras en función del rango de las mismas, lo que obtenemos es una recta con inclinación. Esto nos viene a decir que una misma palabra puede presentar una frecuencia elevada no solo en un documento, sino en muchos, por lo tanto no sería una característica representativa de dicho documento. 29

36 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Teniendo en cuenta esto, la capacidad de discriminación de un término frente a otro, ha de ser vista en su conjunto, no en un único documento. Para ello, hay que incentivar la presencia de aquellos términos que aparecen en menos documentos frente a los que aparecen en todos o casi todos, ya que los muy frecuentes discriminan poco o nada a la hora de la representación del contenido de un documento. En el modelo TF-IDF, esto se hace con la componente IDF (frecuencia inversa del documento) que se calcula de la siguiente forma: idf j log N n donde N es el número total de documentos y n j es el número de documentos que contienen el término t j. j El cálculo del factor de peso (w) para un término en un documento se define como combinación de la frecuencia de término (tf), y la frecuencia inversa del documento (idf). Para calcular el valor del j-ésimo término del vector que corresponde al documento i- ésimo, se emplea la ecuación siguiente: w ij tf ij idf j La frecuencia puede ser usada para la extracción de rasgos y sintagmas que representen el contenido de un documento. Considerando las frecuencias de los rasgos en un documento y su ordenación en función de esta frecuencia, H. P. Luhn mostró que los rasgos siguen una curva hiperbólica como se muestra en la Figura 4 [Fresno, 2006]. 30

37 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB Figura 4: Relación entre la frecuencia de aparición de un rasgo y su ordenación en función de esa frecuencia, según Luhn. Los términos de un documento que aparecen muchas veces no son candidatos a pertenecer al conjunto de términos representativos porque son muy generales. Tampoco son aquellos que aparecen pocas veces debido a que son muy específicos y su presencia en el documento puede ser anecdótica Similitud y distancia entre documentos En el modelo vectorial se puede evaluar el grado de similaridad entre los documentos de una colección mediante algún criterio que muestre la mayor o menor cercanía entre los vectores correspondientes a los documentos y el vector correspondiente a la consulta. Uno de las maneras más habituales de cuantificar el nivel de cercanía entre vectores es mediante el coseno del ángulo que forman (llamada distancia coseno), pues presenta la propiedad de ser un número mayor cuanto más cercanos estén entre sí ambos vectores (en el límite, el coseno de 0º vale la unidad), mientras que es un número menor cuanto más alejados estén entre sí. La similitud del coseno equivale a calcular el producto escalar de dos vectores de documentos (D y Q) y dividirlo por la raíz cuadrada del sumatorio de los componentes del vector D multiplicada por la raíz cuadrada del sumatorio de los componentes del vector Q: 31

38 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online SIM ( D, Q ) i i ( x x 2 i i y ) i y 2 i Existen otras medidas de similitud mostradas en la siguiente tabla: 2 2 Distancia euclídea d ( x x ) ( y y ) Similitud de Dice Similitud de Jaccard SIM ( D, Q ) SIM ( D, Q ) i i i i x i 2 xi ( x y ) ( x y i i i i y y ) i i ( x i y ) i Tabla 4: Medidas de similitud. 2.5 Situación actual en la clusterización de documentos web El clustering de documentos web se ha convertido en un área muy interesante de investigación. En primer lugar por ser una alternativa para la presentación de los resultados al usuario y segundo porque puede disminuir el tiempo que los usuarios tardan en recuperar o en buscar las páginas de su interés. Dentro del contexto de la web, es en los motores de búsqueda, en el que se maneja una importante cantidad de documentos, donde se ha hecho un mayor uso de clustering de documentos web. Muchos motores de búsqueda proporcionan características para consultas avanzadas. Por ejemplo, AltaVista, sugiere palabras que pueden ser añadidas o excluidas de la consulta. Estas palabras se organizan en grupo, pero estos grupos no representan clusters de documentos. Existen otros motores de búsqueda como Vivísimo que proporcionan el resultado de las URLs organizadas en categorías de manera que cada categoría es etiquetada mediante una palabra o una frase corta. La empresa Vivísimo no descubre el método que utiliza para la creación de estas categorías En la literatura se pueden encontrar números documentos sobre los algoritmos de clusterización aplicados a los documentos web: 32

39 Capítulo 2 CLUSTERIZACIÓN DE DOCUMENTOS WEB En Automatically organizing bookmarks per contents [Maarek, 1996], se presenta una implementación del algoritmo Agglomerative Hierarchical Clustering (HAC) para la organización de bookmarks por medio de su clasificación automática. Este tipo de algoritmos se comportan de manera lenta cuando se aplican a conjuntos grandes de documentos. En el artículo A Bookmarking Service for Organizing and Sharing URLs [Keller et al., 1997] se describen deficiencias en los sistemas de bookmarks empleados hasta ese momento. Se presenta WebTagger, un prototipo orientado tanto al uso individual como en grupo de un servicio para organizar y acceder a los bookmarks utilizando los recursos web. Proponen un sistema semi-automatizado de clusterización de URLs También encontramos en la literatura algoritmos de clustering como el k-medias que tratan a un documento como un conjunto de palabras y no como una secuencia ordenada de palabras, por lo que pierde información importante. En el artículo [Zamir et al., 1997] se presenta los algoritmos Word-Intersection Clustering y Phrase Intersection Clustering using Suffix Trees en los que se hace uso de frases contenidas en los documentos web para indexar el sistema de recuperación. Víctor Diego Fresno Fernández en su tesis, Representación Autocontenida de Documentos HTML: una propuesta basada en Combinaciones Heurísticas de Criterios [Fresno, 2006] expone en el ámbito del clustering de páginas web, dos representaciones basadas únicamente en el contenido textual de los documentos HTML. En el artículo Categorizing Web pages on the subject of neural networks [Vlajic et al., 1998], los autores introducen un agente autónomo para la clasificación de hipertexto implementado en Java. Emplean una variante del algoritmo ART-2A para la clusterización de documentos web. El conjunto de documentos Banksearch [Sinka, 2004] se ha utilizado en una gran variedad de artículos sobre clusterización de documentos web. Está formado por páginas web en ingles preclasificadas en 11 categorías del mismo tamaño. Fue recopilada y clasificada con el propósito de ser utilizada como una colección de referencia para evaluar clustering de páginas web. 33

40 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Como hecho a destacar encontramos que en EEUU hay dada de alta la patente con título Automatic categorization of bookmarks in a web browser [US Patent, 2001] sobre navegador web que categorice bookmarks automáticamente. A pesar de los avances en clustering de documentos web, todavía quedan muchas preguntas por resolver, como por ejemplo, que los grupos no sean de tan diversos temas, sino que estén suscritos al interés específico del usuario, y lo que no esté relacionado quede en un grupo etiquetado como otros. 34

41 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Este capítulo proporciona una visión global sobre la plataforma y las tecnologías utilizadas para construir la herramienta. En una primera sección, mostraremos una visión global de los gestores de bookmarks tanto online como de los integrados en navegadores. A continuación hablaremos de la plataforma Mozilla y sus principales componentes. Posteriormente, tendremos una sección en la que hablaremos de las herramientas de clusterización online y de las basadas en extensiones. 35

42 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 3.1 Gestores de bookmarks Los gestores de bookmarks son herramientas que nos sirven para poder recordar o recuperar cualquier URL en cualquier momento. Pueden tratarse de aplicaciones de escritorio o aplicaciones web. Dependiendo de las características propias del gestor, se nos permite organizar la información recolectada con etiquetas y otras informaciones para luego recuperarla fácilmente desde cualquier dispositivo con conexión a internet, o bien, para el caso de aplicaciones de escritorio o de los navegadores web, se organizan los bookmarks en directorios correspondientes a categorías Gestores de bookmarks incluidos en los navegadores Los gestores de bookmarks suelen mantener una serie de características comunes en los distintos navegadores. Por lo general, los navegadores tienen incluido en el menú principal una opción para la gestión de los bookmarks, además, también suelen disponer de una barra de menú lateral que contiene todos los bookmarks. Esta barra de menú lateral suele contener un buscador de bookmarks. Los bookmarks incluidos en los navegadores son almacenados localmente en la máquina en la que se tiene instalado dicho navegador y la gestión de dichos bookmarks es llevada a cabo por el navegador, de tal manera que si se tienen instalados dos navegadores diferentes en una misma máquina, no tienen por qué coincidir los bookmarks que se tengan almacenados en ambos navegadores. No obstante existen herramientas que pueden sincronizar bookmarks de distintos navegadores o permiten la importación y exportación de los mismos a distintos formatos. En el caso de que el usuario desee incluir una categoría de bookmarks, deberá hacerlo de manera manual, teniendo que previamente crear la categoría para a posteriori incluir los bookmarks en la categoría correspondiente. De manera estándar, las categorías suelen mostrarse en el menú de bookmarks de los distintos navegadores, de manera que los menús y submenús dividen a los bookmarks en las categorías formando una estructura jerárquica. 36

43 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Gestores de bookmarks online Los gestores online de bookmarks nos permiten acceder a los bookmarks que tengamos almacenados en la web con independencia del equipo y el navegador que dispongamos. Requieren que el usuario posea una cuenta en el sitio web que proporciona el gestor de bookmarks online. Se caracterizan por tener interfaces sencillas y presentar varias características que son de gran utilidad para los usuarios, como mostrar en sus páginas de inicio los últimos bookmarks agregados, la categoría en que son indexados, la fecha en que son seleccionados y un sencillo sistema de búsqueda. Algunos de estos gestores de bookmarks online se basan en las denominadas redes sociales, de manera que un usuario pueda compartir sus bookmarks con otros usuarios. Así mismo, para poder realizar aplicaciones que faciliten la utilización de estos gestores (sincronización de bookmarks online y locales en el navegador, comprobación de existencia de bookmarks online, integración con otros gestores de bookmarks online, etc.), ciertos gestores de bookmarks online proporcionan una API (Application Programming Interface). Unos de los gestores online de bookmarks más utilizados es Delicious [Delicious], en la siguiente sección detallaremos sus características con más profundidad Delicious Es un servicio de gestión de marcadores sociales en web que permite agregar los bookmarks que clásicamente se guardaban en los navegadores y categorizarlos mediante las folcsonomías (Figura 5). No sólo puede almacenar sitios web, sino que también permite compartirlos con otros usuarios de Delicious y determinar cuántos tienen una determinada URL guardada en sus marcadores. 37

44 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 5: Nube de etiquetas. Para almacenar un bookmark, además de la descripción de la misma, el usuario deberá añadir al menos una etiqueta y una explicación (opcional). Así, cada enlace de Delicious muestra sus tags asociados (Figura 6), cuánta gente lo ha guardado, la fecha y las opciones de copiar (en una URL ajena) o editar (en las URLs propias). Los enlaces de un usuario son públicos y la categorización de los mismos a través de etiquetas ayuda a otros usuarios a encontrar otros enlaces relacionados con alguna etiqueta específica. Dentro de los elementos que forman Delicious nos encontramos con los bundles. Un tag bundle es un grupo de tags relacionadas por medio de un tag representante, es decir, que cuando se busca los bookmarks que tengan asignados un bundle, encontraremos todos los bookmarks que tengan asignadas tags que forman el bundle. De esta manera se facilita la búsqueda de bookmarks. Según [Stumbleupon], una web que ayuda a descubrir y compartir a los usuarios interesantes sitios web, a fecha de 1 de julio de 2008, Delicious contaba con 5,5 millones de usuarios. 38

45 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Figura 6: Resultado de la búsqueda "universidad" en Delicious. Delicious ofrece una API que se encuentra actualmente en fase de desarrollo y que permite acceder para leer y escribir en los bookmarks, tags y bundles de una cuenta por medio de un interface basada en HTTP. 3.2 Extensiones en Mozilla Firefox Una extensión (add-on) es un pequeño complemento que añade, altera o corrige funcionalidades a una aplicación. Su uso se ha hecho especialmente popular entre los usuarios de las aplicaciones Mozilla (Figura 7), sobre todo en el navegador Firefox, debido a que da la opción de personalizar el navegador para que se adapte a las necesidades y gustos del usuario, ya que permite añadir desde un botón para una barra de herramientas hasta características totalmente nuevas. Se pueden encontrar extensiones para mejorar áreas como la descarga de ficheros, la visualización de imágenes y vídeos, mejoras en la gestión de las pestañas, organización de marcadores, etc. Figura 7: Icono para Extensiones en Mozilla. 39

46 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online La principal ventaja cuando se desarrolla para Mozilla Firefox es el soporte que tiene para las extensiones. La plataforma por sí sola fue construida para soportar extensiones por lo que añadirle funcionalidades no es complejo. Además, también hay una gran cantidad de trabajo elaborado en esta área y se han desarrollado y distribuido muchas extensiones. Junto con esto, no debemos olvidar que Firefox es multiplataforma y que está soportado para sistemas operativos tales como Linux, Windows o MacOS. Mozilla mantiene los repositorios de extensiones en [FxAddons]. La justificación del uso del navegador Mozilla Firefox para implementar la herramienta es fundamentada por el hecho de que nos permite desarrollar la herramienta para clusterizar como una extensión independiente o bien como parte de una extensión ya existente aprovechando las funcionalidades ya implementadas, sujeto siempre a la licencia establecida La plataforma Mozilla La plataforma Mozilla proporciona un entorno de trabajo que engloba a productos como Firefox, Thunderbird, SeaMonkey y el navegador Mozilla. El proyecto Mozilla comenzó después de que se liberase el código fuente del navegador Netscape Navigator. La plataforma Mozilla fue desarrollada desde una visión por capas para poder solventar la limitación en la cantidad de funcionalidades que podían ser ofrecidas. Básicamente, hay cuatro importantes características en la plataforma: XUL, JavaScript, RDF y XPCOM. XUL (XML User Interface Language) se usa para definir el interfaz de usuario. JavaScript se utiliza para definir la funcionalidad. RDF usado para almacenar información, aunque a partir de Firefox 3 gran parte de la información se almacena en SQLite. XPCOM (Cross Platform Component Object Model) es un objeto para la gestión del sistema. 40

47 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Esquema de una extensión de Firefox Existe una estructura obligatoria definida que las extensiones deberán cumplir. Dicha estructura define el nombre de los directorios, la estructura jerárquica, el tipo de archivos que contendrá cada uno y el lugar donde se deberán almacenar para que sean reconocidas por Firefox. A la hora de crear una extensión primeramente se deberá crear un directorio con el nombre identificador de la extensión a partir del cual se encontrarán el resto de directorios y ficheros necesarios para la extensión. Dicho nombre deberá ser único y corresponder con el nombre definido en el archivo de instalación install.rdf explicado más adelante. El directorio chrome debe encontrarse inmediatamente después del directorio raíz. El navegador Firefox sabe que lo que se encuentra debajo de este directorio deberá ser interpretado por el navegador y gestionado de forma especial. Dentro de este directorio se pueden encontrar a su vez los siguientes directorios (Figura 8): Directorio content: contendrá todo el código de definición de interfaz (archivos XUL), y toda la lógica necesaria para implementar el comportamiento de la extensión. La lógica puede ser desarrollada principalmente a través de JavaScript. Directorio local: se utiliza para almacenar los ficheros dtd u archivos de configuración de los distintos idiomas. De esta forma se permite generar una extensión multilenguaje, traduciendo la interfaz y los mensajes por pantalla a un idioma determinado. Directorio skin: guarda los estilos CSS a ser utilizados en la interfaz. También se encuentran almacenadas las imágenes empleadas. En el directorio profile, Firefox almacena todos los datos referentes al usuario, ya sea información personal, marcadores, extensiones y configuración general del usuario. Dentro del directorio profile del usuario, se encuentra el directorio extensions, bajo el cual se guardan las extensiones siguiendo la estructura anteriormente detallada. Las extensiones se distribuyen en archivos comprimidos en formato ZIP, o en paquetes, con extensión xpi. Se suelen instalar en el directorio que se corresponde al perfil del 41

48 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online usuario. Dentro del directorio de la extensión, junto a un nuevo directorio chrome, debemos tener los siguientes dos archivos: chrome.manifest: crea una lista con todos los tipos de recurso usados por la extensión. El fichero.manifiest también le indica a Firefox cuál es el archivo XUL de la extensión que se va a fusionar con el navegador. install.rdf: es un archivo en formato RDF/XML. La aplicación encargada de instalar las extensiones usa el contenido de este fichero para determinar la información acerca de como una extensión ha de ser instalada. Este archivo contiene metadatos que identifican la extensión, provee información del creador de éste, donde se puede hallar más información acerca de la extensión, con cuáles versiones de qué aplicaciones es compatible, cómo debería ser actualizado y demás información sobre la extensión a instalar. <directorio extension>\ install.rdf chrome.manifest chrome\ content\ locate\ en-en\ skin\ Figura 8: Esquema de directorios para una extensión Extensiones Delicious para Firefox Existen distintas extensiones para Firefox que son capaces de interactuar con el gestor de bookmarks online Delicious, entre ellas destacamos las siguientes: Delicious bookmarks Delicious Bookmarks [Addons-delbks] es la extensión que integra Delicious con cualquiera de los siguientes navegadores: Firefox, Safari, Internet Explorer, Chrome y Opera. Se trata de la extensión oficial de Delicious y actualmente es desarrollada y propiedad de Yahoo! Inc. Ofrece las siguientes ventajas: Buscar y navegar sobre los bookmarks de una cuenta de Delicious. Acceder a los bookmarks desde cualquier dispositivo en cualquier momento. Mantener los bookmarks organizados mediante etiquetas. 42

49 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Compartir los bookmarks con cualquier usuario de Delicious. Importar los bookmarks existentes del navegador. Figura 9: Iconos de la extensión "Delicious bookmarks" en el navegador Firefox Another Delicious Sidebar Extensión [Addons-another] desarrollada por Nathan Reed para el navegador Firefox, de diseño sencillo consistente en una barra de menús, con el que fácilmente se pueden eliminar, editar y buscar los bookmarks de una cuenta Delicious, ver los tags ordenados alfabéticamente y cambiar el número de etiquetas que se ven en la barra de menús. Se trata de una alternativa sencilla a la extensión oficial de Delicious con licencia MPL 1.1/GPL 2.0/LGPL Foxylicious Foxylicious [Addons-foxy] es una extensión con licencia GPL desarrollada en su versión original por Dietrich Ayala y que integra los bookmarks almacenados de Delicious con los bookmarks del navegador Firefox guardando una copia en un directorio llamado delicious de los marcadores locales en el navegador Firefox. De esta manera si se selecciona dicho directorio en el Administrador de Marcadores veremos todos los tags almacenados en Delicious y dentro de cada uno de ellos se tienen las distintas URLs. Se hablará con más detalle de esta extensión en el Capítulo SimpleDelicious Se trata una extensión bajo licencia GPL desarrollada por Jonathan Zhang que agrega al navegador Firefox un menú SimpleDelicious para acceder a los bookmarks de una cuenta en Delicious como si fueran los bookmarks del propio navegador (Figura 10). La extensión [Addons-simdel] interpreta como directorios las etiquetas que se hayan asignado a cada bookmark. Esta extensión es muy útil si se utiliza una cuenta en Delicious sólo con bookmarks que se hayan creado allí. 43

50 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 10: Menú correspondiente a la extensión "SimpleDelicious". 3.3 Herramientas de clusterización Se pueden encontrar diversos trabajos relacionados con la clusterización de documentos web. En esta sección hacemos un repaso a aquellas herramientas que nos han parecido más importantes. En un primer apartado se comentan las herramientas de clusterización de escritorio más relevantes, luego los integrados en navegadores y finalmente se comentan las herramientas de clusterización online Herramientas de clusterización de escritorio HyPursuit HyPursuit [Weiss et al., 1996] es un motor de búsqueda que clusteriza los documentos por los términos que contiene el documento y por la información semántica en la estructura del hipervínculo. Organiza la información en una jerarquía de clusters Websom Dentro de los sistemas de recuperación en la web hay experiencias sobre la clasificación automática de páginas web, como por ejemplo el método WEBSOM [WEBSOM], en el que se utilizan mapas auto-organizativos para establecer categorías de términos. Esas categorías se emplean para definir o representar vectores de las páginas web, con los cuales se puede construir un mapa visual de las propias páginas colocadas en función de su similitud. El usuario puede utilizar dicho mapa para, una vez seleccionada alguna de las páginas, obtener las más cercanas o más relacionadas con ella. 44

51 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB T-LAB Software diseñado para plataformas Microsoft y compuesto por un conjunto de herramientas lingüísticas y estadísticas para el análisis de contenido, el análisis del discurso y la minería de textos [T-LAB]. Figura 11: Ventana de la aplicación T-LAB en la opción de "Cluster Analysis". Dentro de la aplicación, el usuario puede elegir entre los siguientes métodos ( Figura 11): jerárquica (método Ward). k-medias (método MacQueen). Kohonen (mapa auto-organizado de neuronas) DocCluster DocCluster [Fung et al. 2003] es una herramienta para clasificar documentos que implementa el algoritmo de agrupamiento Frequent Itemset-based Hierarchical Clustering (FIHC), el cual se basa en la identificación de grupos de términos frecuentes. La premisa de este algoritmo es que existen algunos términos frecuentes en cada grupo del conjunto de documentos, y que diferentes grupos comparten pocos términos frecuentes. Los documentos se almacenan en ficheros de textos y se agrupan en directorios. Estos ficheros únicamente contienen términos. El resultado de las jerarquías se vuelca a un fichero XML bien formado. 45

52 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Cluto CLUTO [Karypis, 2003] es una familia de programas y librerías de análisis de grupos computacionalmente eficientes, adecuados para conjuntos de datos. Su función es agrupar conjuntos de datos y analizar las características de diferentes grupos. CLUTO consta de dos programas stand-alone (vcluster y scluster) y una biblioteca a través de la cual una aplicación puede acceder directamente a las diferentes agrupaciones y análisis de algoritmos implementados. Algunas características de CLUTO son: Contiene múltiples funciones de similitud: distancia euclidiana, coseno, coeficiente de correlación, Jaccard y definidos por el usuario. Emplea diversos formatos de salida para las visualizaciones de los grupos: postscript, SVG, GIF, XGIF, entre otros Herramientas integradas en navegadores Actualmente las aplicaciones que hemos encontrado integradas en un navegador web que automáticamente categoricen bookmarks lo hacen de manera local, es decir, los bookmarks se almacenan en el ordenador en el que esté utilizando el navegador Bookmark Organizer La primera aproximación a la clasificación automática de bookmarks en un navegador es la descrita en [Maarek, 1996]. Se hizo utilizando NetScape Navigator 2.0 y se utilizó un algoritmo de clusterización jerárquico acumulativo (Hierarchical Agglomerative Clustering, HAC). Indexan el documento utilizando Lexical Affinity (LA), empleando una técnica de slicing adaptada a la organización de bookmarks automáticamente identifica los niveles de cluster dentro del árbol que tienen un grado de similitud parecido dentro del cluster HyperBk Otro trabajo relacionado con la clasificación automática de bookmarks es [Ian Bugeja, 2006]. Se trata de una extensión para el navegador Mozilla Firefox que almacena los 46

53 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB bookmarks localmente y que propone clasificar la URL a almacenar en un conjunto de categorías previamente creadas. El algoritmo de clasificación que implementa es propio. A la hora de extraer las características emplea el algoritmo de stemming de Porter [Figerola et al., 2004], quedándose con las cinco palabras con mayor valor en el vector de frecuencia de aparición Herramientas de clusterización online En las herramientas de clusterización online queremos hacer constar la relevancia de la visualización de los contenidos que llevan a cabo. Por otro lado, destacamos que en la mayoría de los casos, en la bibliografía consultada sobre estas herramientas, no se comentan los algoritmos utilizados en ellas NIRVE NIRVE [Tool-nirve] (NIST Information Retrieval Visualization Engine) es un sistema de búsqueda en el que cada documento recuperado incluye el título del documento, un identificador único, la relevancia con respecto a la consulta, el tamaño del documento y el número de ocurrencias de cada descriptor que lleva asignado. La pantalla se organiza en dos ventanas. Una de documentos con los títulos, los clusters, los descriptores y los conceptos y otra de control de las operaciones que no se pueden mostrar de forma natural en el espacio de documentos. 47

54 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 12: Representación gráfica de los resultados de NIRVE. El usuario puede crear un conjunto de descriptores de la consulta en un concepto y ese concepto puede tener asignado un nombre y un color. La asociación de descriptores y conceptos se muestra con una leyenda interactiva en la parte inferior de la ventana de documentos. Para cada documento se crea un perfil de concepto según la frecuencia con la que aparecen los descriptores de ese concepto; de esta manera un cluster sería un conjunto de documentos que comparten un subconjunto de conceptos. Cada cluster se representa como una caja con barras de colores que indican el perfil de concepto medio de sus documentos; cuantos más documentos contenga el cluster, más grande se representa la caja. Cuando el usuario abre un cluster se proyecta un rectángulo en 2D que contiene los títulos de los documentos que integra; esos títulos están ordenados de forma que los documentos más similares se encuentran cercanos horizontalmente y los más relevantes se encuentran más arriba en la vertical. Si el usuario selecciona un título puede abrir el texto completo en el navegador web y ver cómo los descriptores aparecen destacados en el color que corresponde al concepto al que hacen referencia. Además, puede marcar documentos e incluso clusters enteros indicando si son de más o menos interés. 48

55 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB PRISE Lo más destacable de PRISE [Tool-prise] es que muestra la lista de documentos en diferentes formas (véase la Figura 13), como una línea en forma de espiral siguiendo el orden de relevancia, con un gráfico de tres ejes, cada uno correspondiente a un descriptor y mostrando así el espacio donde confluyen; o finalmente mediante una representación de las vecindades entre términos. Figura 13: Varias representaciones gráficas de los resultados de PRISE Perspective Wall Perspective Wall [Tool-perwall] es uno de los más conocidos dentro de la visualización (ver la Figura 14). Desarrollado por Inxight, simula a una pared que permite al usuario traer información al frente de la pantalla, mientras que al fondo se quedarían las otras dos partes. Los datos se muestran en dos dimensiones y el usuario puede ordenar los documentos en el eje de abscisas por otro criterio distinto. 49

56 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 14: Representación gráfica de los resultados de Perspective Wall Vivísimo Vivísimo [Tool-vivisimo] es un buscador creado el año 2000 a partir de una tecnología propia (Advanced document clustering) que divide por categorías los resultados de la búsqueda. La principal innovación de la tecnología de Vivísimo fue ser el primero que empleó inteligencia artificial para organizar los resultados de cada búsqueda en categorías, de forma que se facilita la clasificación de los datos, estructurando y agrupando los resultados en clusters. Vivísimo unifica resultados (eliminando duplicados) y los distribuye por grupos que el sistema de organización es capaz de generar de manera automática. Figura 15: Representación gráfica de los resultados de Vivísimo. 50

57 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Vivísimo envía la pregunta a diversos motores y procesa los resultados antes de ofrecerlos al usuario (metabuscador). Esta operación le permite ofrecer un resultado unificado (ver Figura 15) cuyas fuentes, sin embargo, tienen procedencias muy diversas. Vivísimo lanzó el buscador Clusty en 2004, centrándose en desarrollar una plataforma de búsquedas para empresas llamada Velocity Clusty Clusty [Tool-clusty] es un meta-buscador desarrollado por Vivísimo que utiliza la tecnología ya implementada por este último para clusterizar las páginas. Clusty realiza las búsquedas en otros buscadores, filtrando y ordenando los resultados obtenidos. De esta manera, en lugar de proveer sólo una larga lista con resultados, el motor de Vivísimo crea directorios organizados según el tipo de información (ver Figura 16), por lo que se logra un mayor orden y menos confusión. Figura 16: Representación gráfica de los resultados de Clusty iboogie iboogie [Tool-iboogie] es un motor de búsqueda que combina elementos tradicionales de los buscadores como es la meta-búsqueda, es decir la presentación de los resultados en 51

58 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online una lista por orden de relevancia y clustering, agrupando las diferentes páginas bajo grandes conceptos relacionados con la información buscada. Presenta (Figura 17) los grupos en los que se dividen los resultados obtenidos, en función de la concurrencia de términos, y dispone además de la opción de poder realizar búsquedas simultáneas en sitios web que dispongan de un motor de búsqueda interno. Figura 17: Representación gráfica de los resultados de iboogie KartOO Kartoo [Tool-kartoo] es un meta-buscador programado en Flash que representa gráficamente los resultados que obtiene. Las páginas encontradas son mostradas con un tamaño diferente en función de la importancia o relevancia de la misma, ofreciendo una referencia importante al lector. En un menú lateral se muestran palabras relacionadas con la búsqueda, permitiendo afinar los resultados. 52

59 Capítulo 3 TECNOLOGÍAS PARA BOOKMARKS Y CLUSTERIZACIÓN DE PÁGINAS WEB Figura 18: Representación gráfica con pocos resultados de KartOO. Las palabras buscadas son lanzadas en varios motores de búsqueda, a continuación recupera los resultados, los compila y los representa en una serie de mapas interactivos mediante un algoritmo propietario. Permite encontrar los resultados relacionados con la palabra buscada de forma gráfica. Esta presentación gráfica muestra los primeros resultados de tamaño proporcional a su relevancia relativa con una imagen de su página principal. Si pasamos el cursor por encima de cada uno podemos ver la descripción de lo que ha devuelto ese enlace (Figura 18). El número de resultados puede ser aumentado, con lo que la representación gráfica se vuelve más densa (Figura 19). 53

60 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 19: Representación gráfica aumentando los resultados de KartOO. Lo interesante de Kartoo es que elabora enlaces semánticos entre los resultados. Dichos enlaces se representan mediante líneas sinuosas que enlazan los resultados. En medio de dichas líneas se encuentra una palabra que es la que el algoritmo considera que enlaza semánticamente ambos resultados y pasando por encima de ellas se resaltan los resultados que enlazan. 54

61 4 GESTOR AUTOMÁTICO DE BOOKMARKS Este capítulo describe la implementación de la herramienta de categorización automática de documentos web, que ha hecho uso del gestor de bookmarks online Delicious y de la extensión para el navegador web Mozilla Firefox, Foxylicious [Foxylicious]. La herramienta integra los algoritmos clusterización k-medias y ART-2A en dicha extensión. 55

62 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 4.1 Descripción a nivel de usuario Para el desarrollo de nuestro gestor automatizado de bookmarks se decidió, en primer lugar, utilizar la plataforma Mozilla Firefox por las capacidades de la misma para incorporar extensiones y la gran disponibilidad de éstas, como ha sido comentado en el capítulo anterior. Otra decisión que se tomó fue, en vez de realizar una extensión desde cero, utilizar alguna de las ya existentes y cuya licencia nos permitiera modificarla a nuestro antojo. Esto nos permitió centrar el esfuerzo en nuestro verdadero objetivo. Finalmente se optó por integrar la clusterización de bookmarks en la extensión Foxylicious para el navegador Firefox. Se ha elegido esta extensión puesto que dispone distintas funcionalidades ya implementadas que permiten trabajar con los bookmarks que disponga un usuario en una cuenta Delicious. Destacamos entre ellas: Zona de validación de la cuenta de Delicious. Reorganizar los bookmarks ya creados. Importar bookmarks a partir de un fichero plano. Exportar bookmarks a un fichero plano. Reestructurar los bookmarks ya guardados en la cuenta de Delicious. Añadir un nuevo bookmark a la cuenta de Delicious. Disponible bajo licencia GNU GPL. El gestor automatizado de bookmarks que se diseño, y que denominamos Foxylicious+Clu, se encuentra por tanto disponible su código fuente bajo licencia GNU GPL en la forja de proyectos de la Comunidad RedIRIS [Forja-foxyclu] Requisitos e instalación La aplicación puede ser llevada a cabo en cualquier equipo que tenga el navegador Mozilla Firefox con una versión 2.x instalado. A la hora de añadir bookmarks a la cuenta de Delicious se precisa que el usuario este validado en Delicious. Para instalar la extensión simplemente se ha de abrir o arrastrar el archivo Foxylicious+Clu.xpi correspondiente a la extensión Foxylicious+Clu sobre el navegador Firefox y automáticamente se verá una ventana donde se pregunta si desea instalar dicha 56

63 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS extensión y una vez aceptada el mensaje de confirmación se continua con la instalación de forma habitual. Figura 20: Ventana de complementos del navegador Firefox con la extensión Foxylicious con clusterización instalada. Una vez que la extensión se ha instalado correctamente, deberemos poder ver la extensión instalada en la ventana de Herramientas Complementos Extensiones, tal y como podemos apreciar en la Figura 20. Se puede acceder a una nueva opción en el menú Herramientas del menú del navegador llamada Foxylicious+Clu (Figura 21) que nos proporcionará acceso al panel de control de la extensión donde podremos configurar la extensión. Figura 21: Opción Foxylicious+Clu en el menú Herramientas en el navegador Firefox. 57

64 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Panel de control de la extensión Foxylicious+Clu Figura 22: Panel de control de la extensión Foxylicious+Clu. Si el usuario desea utilizar la extensión en su manera original, es decir, sin la herramienta de clusterización, deberá tener desmarcada la opción Enable Automatic Clustering del panel de control (Figura 22) tal y como se puede ver en la Figura 23. Figura 23: Opción de la extensión que habilita el uso de la herramienta de clustering. 58

65 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Por lo tanto, para poder acceder a la opciones de clustering automático, debemos tener marcada la opción Enable Automatic Clustering que nos permitirá pulsar sobre el botón Options for Automatic Clustering que nos abrirá una nueva ventana Options for Automatic Bookmarks Clustering con los distintas parámetros y opciones de la herramienta agrupadas en varias pestañas como se puede ver en la Figura 24. Analizamos a continuación las distintas opciones disponibles en cada una de las pestañas: Figura 24: Organización en pestañas de las opciones de la herramienta para clustering de bookmarks. General En esta pestaña el usuario puede elegir el algoritmo de clusterización que desea usar. Una vez que se empiece a utilizar uno de los algoritmos ha de continuarse utilizando el mismo. El cambio de algoritmo solo deberá hacerse cuando se vuelva a llevar a cabo un reentrenamiento por medio del botón Retrain que se encuentra en el mismo apartado. Tal y como se puede ver en la Figura 25, el usuario también puede ver los bookmarks que forman cada cluster. 59

66 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 25: Pestaña General de Options for Automatic Bookmarks Clustering. Bookmark Characterization El usuario puede establecer como caracterizará a cada bookmark, esto es, por medio del número máximo de palabras que lo representarán, el porcentaje de las palabras más frecuentes que se tendrán en cuenta y el número máximo de etiquetas automáticas que lo identificarán. Este último dato indica el número máximo de tags que el sistema es capaz de seleccionar y sugerir al usuario, de acuerdo a sus relevancias, para etiquetar el documento. En esta pestaña también se muestra información sobre la representación del conjunto de bookmarks que se tiene: número total de palabras del conjunto de documentos, número de palabras distintas utilizadas para representar a documentos y sobre el último reentrenamiento se tiene la información utilizada para caracterizar a los bookmarks actualmente (Figura 26). 60

67 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Figura 26: Pestaña Bookmark Characterization de Options for Automatic Bookmarks Clustering. Weighting Además, el usuario podrá elegir caracterizar un documento tanto por los tags populares de Delicious como por el texto contenido en sus marcas HTML. Para ello ha de indicar la ponderación que desea asignar a cada una de las formas de caracterización anteriores. En la Figura 27 se puede ver que el usuario podrá establecer en esta pestaña sus preferencias a la hora de que palabras van a caracterizar la URL que desea almacenar. Mediante esta ponderación se permiten dar más importancia a cierto tipo de palabras que a otras que se suponen menos relevantes. Seleccionando la opción Use Popular tags weightings, la aplicación tendrá en cuenta los tags clasificados como populares en Delicious, estos son los tags que otros usuarios más veces han asignado para la misma URL que el usuario desea agregar a su cuenta Delicious. Escogiendo la opción Use HTML marks weightings, el usuario podrá ponderar las palabras que aparezcan en las distintas marcas HTML. Esta ponderación se asigna en el apartado HTML mark Weighting de la misma pestaña Weighting. 61

68 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 27: Pestaña Weighting de Options for Automatic Bookmarks Clustering. Clustering En esta pestaña que podemos ver en la Figura 28 es donde el usuario debe establecer los parámetros de los algoritmos implementados que serán explicados posteriormente: Para el k-medias se debe elegir el valor de k que se corresponde con el número de clusters a formar. Para el algoritmo neuronal ART-2A debemos fijar: o El valor del incremento del parámetro de vigilancia. o El valor máximo parámetro de vigilancia. o El ratio de aprendizaje. Al usuario se le presentan datos del último entrenamiento tales como la fecha en la que se llevó a cabo, el algoritmo utilizado junto con sus valores asociados y el número de clases o clusters que se generaron. 62

69 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Figura 28: Pestaña Clustering de Options for Automatic Bookmarks Clustering. Rename Clusters La finalidad de esta pestaña que podemos ver en la Figura 29 es la de que el usuario pueda cambiar el nombre de los clusters. Figura 29: Pestaña Rename Clustering de Options for Automatic Bookmarks Clustering. Para poder llevar cabo dicha operación, se deberá seleccionar el cluster que se quiere renombrar y a continuación pulsar sobre el botón Rename cluster para que la aplicación le brinde la posibilidad de introducir el nuevo nombre y aplicarlo (Figura 30). 63

70 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 30: Posibilidad de renombrar un cluster existente Añadir un nuevo bookmark Figura 31: Proceso a la hora de almacenar un bookmark clusterizado en Delicious. Una vez que el usuario decide añadir una URL al gestor de bookmarks online Delicious, mediante el menú contextual del botón derecho del ratón, el usuario deberá seleccionar Add to Delicious. De manera transparente se le lleva a cabo el pre-procesado de la URL para caracterizarlo y poderla catalogar en algunas de las clases ya existentes. En el caso de que no existiese clase alguna, se producirá un reentrenamiento (explicado en la 64

71 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS sección 4.1.4). Los nombres de los clusters comenzaran con el prefijo #_CL_. A continuación se mostrará una ventana con el nombre del cluster obtenido por el algoritmo seleccionado, dándole la posibilidad de seleccionar otro cluster existente o seleccionar un nombre nuevo. Como paso final en el proceso, al usuario le aparecerá una ventana con un formulario similar a la web de Delicious que permite almacenar un bookmark. En dicha ventana, el nombre del cluster aparecerá de manera automática como un tag. Además, el usuario deberá completar los campos obligatorios: URL, Title, y tags. La herramienta sugerirá como tag el nombre de cluster que seleccionó en la ventana anterior. Para finalizar el proceso de añadir un nuevo bookmark, el usuario deberá pulsar el botón Save. Se puede ver un esquema del proceso que se lleva a cabo a la hora de asignar automáticamente una clase a un bookmark en la Figura 31. En la Figura 32 podemos ver las ventanas de la aplicación involucradas en dicho proceso. Por último, en la Figura 33 se tienen las pantallas en la web de Delicious con el bookmark clusterizado. Figura 32: Secuencia de ventanas que le aparecen al usuario en el proceso de clusterizar un bookmark. 65

72 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 33: Bookmark almacenado en Delicious y cluster al que pertenece Proceso de reentrenamiento El proceso de reentrenamiento consiste en volver a llevar a cabo la clusterización del conjunto de bookmarks. Este proceso es recomendable que el usuario lo realice cuando detecte de manera reiterada que el cluster o categoría propuesto por la aplicación para las URLs que desea almacenar no se corresponde con la categoría esperada. El tiempo que puede consumir un reentrenamiento es dependiente del número de bookmarks a clusterizar. El proceso de reentrenamiento se efectuará de manera automática cuando se hayan añadido un 10% más de bookmarks con respecto a los que ya se tienen almacenados. De esta manera, a medida que el usuario vaya añadiendo bookmarks, el proceso de reentrenamiento automático tenderá a efectuarse con menor frecuencia, pero cuando se produzca éste, el tiempo que llevará este proceso será mayor al tener más cantidad de bookmarks. Cuando en la aplicación no existan categorías creadas se producirán reentrenamientos de manera automática a medida que se van añadiendo los bookmarks hasta que se 66

73 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS satisfaga el porcentaje fijado para llevar a cabo el reentrenamiento con el consentimiento del usuario. Para llevar a cabo un reentrenamiento, el usuario puede pulsar el botón Retrain que se encuentra en la pestaña General de la ventana Options for Automatic Bookmarks Clustering (véase la Figura 34). Figura 34: Botón para llevar a cabo el proceso de reentrenamiento. Una vez el usuario pulsa el botón de reentrenamiento, le aparecerá una ventana de confirmación que deberá aceptar. Durante el proceso de reentrenamiento el usuario verá una ventana indicativa de que el proceso se está llevando a cabo (Paso 2 de la Figura 35). Cuando el proceso finaliza se le presenta al usuario una ventana con un mensaje que le informa de la conclusión del proceso de reentrenamiento (Paso 3. de la Figura 35). Figura 35: Ventanas del proceso de reentrenamiento de bookmarks. 67

74 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online 4.2 Tecnologías de desarrollo empleadas XUL Las aplicaciones Mozilla utilizan XUL (XML User Interface Language) para describir todos los elementos visuales que se encuentran en la pantalla, y por tanto ha sido utilizado para el desarrollo del aspecto de nuestra aplicación. XUL emplea la sintaxis XML para definir los elementos. Hay etiquetas para cajas de texto, menús, elementos de menús, etiquetas, botones y todos los elementos posibles en una interfaz de usuario. La capa XUL se basa en que las cajas de elementos pueden tener una alineación vertical u horizontal. El XUL se carga en un DOM (Document Object Model) de manera que la estructura XML del XUL queda almacenada en memoria y puede ser accedida y manipulada utilizando JavaScript. En la Figura 36 mostramos un ejemplo de sintaxis XUL formada por cuatro cajas de elementos y 5 etiquetas. Los elementos dentro de hbox tienen una alineación horizontal, por lo que se mostrarán uno a continuación de otro, mientras que los elementos dentro de un vbox tienen una alineación vertical y se mostrarán uno encima de otro. Figura 36: Ejemplo de fichero XUL JavaScript El desarrollo de la aplicación se ha realizado fundamentalmente usando lenguaje JavaScript. Es un lenguaje de tercera generación que es miembro de la familia de lenguajes de programación C y comparte con éste muchas de las sintaxis y estructuras. A pesar de ser conocido como JavaScript, su nombre oficial es ECMAScript. JavaScript no 68

75 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS necesita ser compilado por la máquina destino, de hecho, el código JavaScript es interpretado por una máquina virtual como la Java VM. Debido a esto, el código escrito en JavaScript es más lento a la hora de ejecutarse comparado con otros lenguajes compilados como Java, no siendo el lenguaje JavaScript el más indicado para la implementación de algoritmos que requieren mucho tiempo computacional. El código JavaScript puede encontrarse integrado en un fichero XUL dentro de marcas de script o también en ficheros.js separados, que son referenciados en el fichero XUL a través del atributo src en la marca script. Esta ha sido la manera que en la que se ha implementado la herramienta ya que nos permite separar el código JavaScript que proporciona la funcionalidad a la herramienta, del código XUL que proporciona la interfaz de usuario JSON JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero basado en un subconjunto de la sintaxis de JavaScript: literales de matrices y objetos que no requiere el uso de ficheros XML. Una fuente web (canal web o feed) es un medio de redifusión de contenido web. Se utiliza para suministrar información actualizada frecuentemente a sus suscriptores [Wkp- Fuenteweb]. Delicious ofrece para la mayoría de sus páginas una serie de feeds en formato JSON que pueden utilizarse en aplicaciones. En la herramienta se utiliza JSON para averiguar la información relacionada a los tags populares para la URL que el usuario desea almacenar SQLite SQLite [Wkp-sqlite] es un sistema de gestión de bases de datos relacional. A diferencia de los sistemas de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica, se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en 69

76 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. Las definiciones, tablas, índices y los propios datos son guardados en un sólo fichero estándar. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción. La biblioteca implementa la mayor parte del estándar SQL-92. Existe un programa independiente de nombre sqlitebrowser que puede ser utilizado para consultar y gestionar los ficheros de base de datos SQLite Java Hoy en día, los distintos fabricantes proveen máquinas con arquitecturas diversas y en las que se pueden utilizar diversos tipos de sistemas operativos, así como de software en ellos. El lenguaje Java es un lenguaje interpretado, robusto, seguro, de arquitectura neutra (multiplataforma), portable, de altas prestaciones y multihilo. Llevar a cabo los estudios de los algoritmos implementados en la extensión mediante el uso de la herramienta, se hacía tedioso, por lo que se decidió realizar la implementación del algoritmo ART-2A en un lenguaje compilado como es Java. La similitud a nivel sintáctico entre el lenguaje JavaScript y el leguaje Java es evidente, por lo que una vez implementado el algoritmo ART-2A en JavaScript como fuente para la extensión, transcribirlo a código Java no supuso un esfuerzo en demasía. 4.3 La extensión Foxylicious Foxylicious es una extensión para Mozilla Firefox desarrollada por Dietrich Ayala que permite tener sincronizados los bookmarks almacenados y etiquetados en Delicious con los del navegador, guardando una copia en un directorio de los bookmarks locales de Firefox [Foxylicious]. En la Figura 37 se puede ver la ventana de configuración incorporada en la extensión, en donde hay opciones que permiten, entre otras cosas, configurar la manera en que se 70

77 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS hará la importación de los bookmarks, permitiendo incluso realizar el proceso de manera automática diariamente. Figura 37: Ventana de opciones de la extensión Foxylicious. Está disponible para las versiones inferiores a Mozilla Firefox 3, mientras que para ésta última, hay una adaptación que no está completamente operativa [Fx updated for FF3]. Para trabajar con ella, requiere que se le proporcione la información de acceso a una cuenta de Delicious, usuario y contraseña. Además, hay que indicarle el directorio en el que se desea realizar la sincronización, en donde la extensión agregará un directorio con el nombre "del.icio.us". En este directorio se deben guardar los bookmarks que se vayan a mantener sincronizados con Delicious, para evitar perder los que haya en otros directorios del navegador al descargar los de Delicious, puesto que se eliminan todos antes de proceder a la descarga. Los bookmarks descargados se guardan en directorios con el nombre de las tags que se le hayan asignado en la cuenta de Delicious, de manera que estos bookmarks aparecen 71

78 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online repetidos, una vez en el directorio de cada tag con el que se les haya caracterizado. Esto puede llegar a crear una representación algo saturada de los bookmarks almacenados si el número de bookmarks es elevado. En la Figura 38 se puede ver el acceso a los bookmarks a través de las tags en el menú del navegador, que es una de las formas proporcionadas por la extensión de acceder a los bookmarks descargados desde Delicious. Figura 38: Acceso desde el navegador a los bookmarks descargados de Delicious. El Foxylicious está disponible bajo licencia GNU GPL (GNU General Public License), lo que permite realizar modificaciones y mejoras, además de poder distribuirlas, siempre y cuando sean bajo esta misma licencia. Esto proporciona un punto de partida, de manera que agregar un algoritmo de clusterización es una mejora para mantener organizados los bookmarks en categorías, las cuales son obtenidas de los contenidos de los propios documentos. 72

79 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS 4.4 Extracción de la información necesaria Las técnicas tradicionales de clusterización de documentos online están principalmente basadas en el trabajo independiente de Salton y Buckley [Salton et al, 1987] y de Rijsbergen [Rijsbergen, 1979]. Aunque el trabajo de Salton está orientado hacia la clusterización de información, y el de Rijsbergen hacia la recuperación de información, sus ideas básicas son muy similares. Ambos suponen que el contenido de un documento está únicamente definido por su contenido de texto, es decir, por la frecuencia de aparición en un documento de cada uno de los términos que lo componen y de su frecuencia de aparición en el corpus de documentos, valores con los que es posible obtener un vector de representación. De esta forma, la similaridad entre dos documentos web puede ser determinada comparando sus correspondientes vectores de palabras [Vlajic et al., 1998]. Así pues, para tratar un documento web mediante algoritmos de clusterización lo consideraremos como un documento de texto. Para ello, el primer paso para añadir una página web que está cargada en el navegador es extraer el texto incluido en ella Documentos HTML Un documento web es un documento adaptado a la web, cuya principal característica son los hiperenlaces (elementos que hacen referencia a otros recursos) y está escrito en un lenguaje que permite la inclusión de estos, generalmente HTML. El HTML es un lenguaje de marcado, de manera que un documento HTML está constituido por texto y un conjunto de etiquetas que define la forma en que se presenta el texto y los demás elementos del documento. Las etiquetas están formadas por códigos encerrados entre los signos < y >, siendo precedido este último por el símbolo / cuando se trata de una etiqueta de cierre. Normalmente hay una etiqueta de apertura, como por ejemplo <body> y una etiqueta de cierre, que para el caso anterior sería </body>. Pero en el estándar HTML esto no es obligatorio en todas las etiquetas, lo que hace que determinas etiquetas no cerradas provoquen que algunos elementos no se muestren bien en determinados navegadores web. A los documentos escritos de esta forma se les considera escritos en lenguaje HTML mal formado. Para que un documento HTML esté bien formado ha de cumplir con el estándar XML, que entre otras cosas dice: 73

80 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Todas las etiquetas deben cerrarse. La intercalación de etiquetas no está permitida. Es obligatorio entrecomillar los atributos. Utilizar caracteres de escape para los comandos de script Parser Para extraer el texto de un documento web, es necesario analizar el documento HTML del que proviene mediante un parser. Esta tarea se simplifica haciendo uso del Document Object Model (DOM o Modelo de Objetos del Documento) permite ver un documento HTML de otra manera, describiendo el contenido del documento como un conjunto de objetos que un programa JavaScript puede manipular [González, 2007]. El DOM es una API (Application Programming Interface) que permite acceder a la estructura de una página HTML mediante el mapeo de los elementos de esta página en un árbol de nodos. Así, cada elemento se convierte en un nodo y cada porción de texto en un nodo de texto. Los nodos texto, a diferencia de los nodos asociados a las etiquetas, no poseen ni atributos ni hijos. En la Figura 39 se puede ver un ejemplo del árbol de etiquetas HTML asociado al documento mostrado en la Figura 2 de la sección 2.4. Figura 39: Árbol de etiquetas HTML. 74

81 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS En la implementación, hemos empleado las funciones que nos proporciona el parser xpath desde JavaScript, que nos permite trabajar con el DOM generado a partir del HTML del documento web para analizar el árbol de etiquetas y obtener el texto incluido en ellas. El texto obtenido de los documentos web es previamente convertido a minúsculas, de esta manera se evitan repeticiones de términos por distinción entre mayúsculas y minúsculas. El siguiente paso es la sustitución de las vocales acentuadas por las mismas vocales sin acentuar, por el mismo motivo, puesto que un error ortográfico en una palabra de un documento web podría generar un nuevo término, que en realidad debería ser una repetición más de otro término ya existente. Una vez obtenido el texto de cada una de las marcas HTML indicadas en las opciones de la extensión, este es devuelto en un string. El siguiente paso a realizar es obtener todas las palabras que se encuentren dentro del string, descartando números y símbolos. Para ello se emplea la función JavaScript match, que a partir de un texto devuelve en un vector los elementos que casan con una expresión regular pasada como parámetro. La expresión regular empleada para obtener las palabras del texto es: /[a-z_ñ][\w ñ]+/g. Las marcas HTML desde donde se selecciona el texto son modificables en las opciones de la extensión, así como su peso o importancia en el cálculo de los pesos que los términos contenidos en ellas tendrán en la representación del documento. Inicialmente, estas marcas se seleccionaron de entre las más comunes en un documento HTML y son: <body> <h3> <h6> <u> <em> <table> <h1> <h4> <title> <b> <img> <top> <h2> <h5> <i> <strong> <p> El peso asignado a estas marcas inicialmente fue de un 100%, pudiendo variarse a través de las opciones de la extensión. Las palabras obtenidas son almacenadas en un vector, junto con su importancia en función de la marca HTML donde se hayan encontrado. 75

82 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Cálculo del vector de pesos de un documento Con el vector obtenido de la etapa anterior, se realiza el recuento del número de veces que aparece cada palabra. Hay que tener en cuenta, como se ha comentado en el apartado 2.4.3, que determinadas palabras aportan poca información semántica y son muy comunes en todos los textos. Estas palabras llamadas stopwords no han de ser consideradas para la representación de un documento. Para descartar estas palabras, se tiene un vector hash donde están almacenadas todas las palabras prohibidas o stopwords. Las palabras incluidas en este conjunto no se tienen en cuenta, de manera que no se almacenan en el vector de palabras de ese documento web ni se tienen en cuenta en el cómputo total de palabras del documento. La lista de stopwords se creó concatenando las listas de dos idiomas: inglés [StopWordsEng] y español [StopWordsSpa]. Se tomó la decisión de mantener una lista de palabras prohibidas en estos dos idiomas debido a que inicialmente se empezó trabajando en español, pero el conjunto de pruebas elegido está formado por páginas en inglés. Esta lista de stopwords se lee desde un fichero de texto en el directorio \chrome\content\foxylicious a partir del directorio raíz de la extensión, de manera que es ampliable a otros idiomas fácilmente, tan sólo hay que añadir las palabras en otro idioma a continuación de la última de este fichero. La frecuencia de aparición de cada término en cada documento se almacena en una matriz, donde las filas son los documentos almacenados y las columnas los términos. El acceso a los documentos se realiza con el identificador asignado al documento, mientras que el acceso al término se realiza con la propia palabra como índice del vector, es decir, como un hash. En el momento de contar la frecuencia de aparición de un término en un documento también se realiza el recuento total de palabras del documento. Para el cálculo de los pesos de los términos en el documento, se utiliza un subconjunto del total de términos presentes en todos los documentos almacenados. Este subconjunto se selecciona tomando un porcentaje de los más frecuentes en el corpus de documentos. El porcentaje, como se ha comentado, es indicado en las opciones de configuración de la extensión. Toda esta información se almacena en las tablas correspondientes de la base de datos, ya que será necesaria en los futuros reentrenamientos, puesto que el conjunto de términos representantes variará en función del tipo de documentos web almacenados. 76

83 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS A medida que se van insertando documentos, estos se clasifican asignándoles la clase que le corresponda de entre las que ya están creadas. Con los nuevos términos aportados por el nuevo documento, no se vuelven a calcular los términos representantes de todos los documentos. Esto es así debido a que un recálculo del conjunto de términos que representan al corpus de documentos requiere bastante tiempo, mientras que las variaciones al incorporar un nuevo documento son pequeñas. Estas variaciones, sin embargo, se acumulan y cuando el incremento de documentos supera un cierto porcentaje del tamaño del corpus, el error acumulado hace que sea conveniente un recálculo del conjunto de términos representantes, y por consiguiente de la matriz de pesos términos-documento, para evitar que los clusters generados no representen correctamente las clases en las que deberían estar distribuidos los documentos web. Así, el reentrenamiento se produce cuando se han introducido un porcentaje de documentos frente al corpus existente en el último entrenamiento, y este porcentaje se fijó en un 10%. Con esta información del documento web y el conjunto de términos representantes de todos los documentos almacenados se realiza el cálculo del peso de cada término en el documento, mediante la técnica del TF-IDF, que se ha comentado en la sección Métodos de clusterización implementados El ámbito más extendido en el que se aplica la clusterización de documentos web es el de los motores de búsqueda, sobre todo a la hora de mostrar los resultados de las consultas. Un subconjunto de documentos web importante para los usuarios son los bookmarks. No es frecuente el uso de técnicas de redes neuronales para la clusterización sobre este tipo de documentos. Para llevar a cabo la clusterización de los bookmarks en la extensión, se han implementado el algoritmo k-medias y el algoritmo ART-2A que es una versión rápida de ART-2. Se parte como requisito que las clases o categorías generadas no deben cambiar mucho a medida que aumenta el número de bookmarks ya que para un usuario no es cómodo que se le cambie un bookmark de una categoría a otra. Una vez consultada la bibliografía escrita sobre la utilización de técnicas de redes neuronales en el ámbito de la clusterización de documentos web hemos encontrado que el algoritmo que satisficiese el requisito anterior es el ART-2A. 77

84 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Algoritmo k-medias El algoritmo k-medias (k-means) es un algoritmo no jerárquico que fue utilizado por primera vez por [MacQueen, 1967] y es probablemente el algoritmo de clusterización más conocido. Ha sido usado para una amplia variedad de aplicaciones y es la base con la cual muchos otros algoritmos de clusterización son comparados, con lo que ha sido muy estudiado y se han realizado distintas modificaciones, debido principalmente a que su implementación es relativamente simple [Wkp-kmeans]. El k-medias basa su funcionamiento en minimizar la distancia media interna de cada centroide. Es un algoritmo sencillo y eficiente, pero requiere que se especifique el número k de clusters en los que se pretende que se distribuyan los elementos. Tiene un tiempo de ejecución proporcional al número de patrones y al número de clusters en cada iteración, lo que hace que sea computacionalmente caro, especialmente para grandes conjuntos de datos. Además, es un algoritmo de optimización local y su resultado es altamente dependiente del valor escogido para el parámetro k y de la elección de los centroides iniciales. El procedimiento, cuyo diagrama de flujo puede verse en la Figura 40, empieza con la construcción de unos centros de conglomerados o centroides iniciales. Estos pueden construirse de diversas formas, pero una forma común de inicialización es asignar los elementos de forma aleatoria en los k clusters. A continuación se calculan los centroides de cada uno de los clusters y se recorren todos los elementos. El algoritmo comprueba entonces las distancias de cada elemento a cada uno de los centroides reasignando los elementos al cluster cuyo centroide esté más próximo. El cluster elegido variará la situación de su centroide con la nueva incorporación, de manera que el siguiente paso es actualizar los valores de los centroides teniendo en cuenta el nuevo elemento incorporado. Este proceso se repite hasta cumplir una condición de convergencia, que puede ser por ejemplo, que no haya cambios en las asignaciones de los elementos a los clusters. 78

85 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Figura 40: Diagrama de flujo del algoritmo k-medias Algoritmo ART-2A El algoritmo de clusterización ART-2A [Benjamin et al., 2005] es un algoritmo basado en redes neuronales y surge como una variante del ART2, de cara a conseguir una mayor velocidad de convergencia. El ART-2A no requiere que el usuario especifique cuantos clusters desea obtener, al contrario de lo que ocurre en el k-medias donde es un parámetro necesario. En su lugar, el usuario especifica los valores del parámetro de vigilancia ρ y del de aprendizaje β. El primero indica cuando un elemento es lo suficientemente semejante a un centroide para formar parte de él, y el segundo controla la velocidad a la cual el algoritmo converge a una solución. Un valor grande del 79

86 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online parámetro de aprendizaje se traduce en movimientos grandes de los centroides al incorporar un elemento. Los algoritmos ART satisfacen el dilema de estabilidad y plasticidad del aprendizaje, es decir, retienen los patrones aprendidos a la vez que puede aprender nuevos patrones. Esto es necesario en la organización de los documentos web de un usuario en categorías, ya que debe ser capaz de crear nuevas clases, pero sin perder la información aprendida ni generar cambios bruscos en los patrones ya clasificados. Por ello consideramos que el algoritmo ART-2A es adecuado para la clusterización de documentos web. La ejecución comienza creando un cluster con el primer elemento, cuyos valores son a su vez los del centroide. A continuación se toma el siguiente elemento y se comprueba cuanto de semejante es al centroide. Si supera el valor del parámetro de vigilancia, es asignado a este cluster y se recalcula el valor del centroide. Si no lo supera, este elemento pasa a crear un nuevo cluster activando una neurona inhibida y usando los valores de los pesos para formar el nuevo centroide. Los elementos pasan por un proceso de inicialización, en donde se filtran los valores muy pequeños y a continuación se normalizan. En la implementación, hay en primer lugar un bucle que repite el proceso tantas veces como pasadas se hayan indicado. Para cada pasada, se recorren todos los documentos comprobando si las componentes correspondientes a los términos representativos tienen todas valor 0, en cuyo caso, ese documento se descarta pasando a una clase especial de no clasificados. En la Figura 41 se muestra el diagrama de flujo del algoritmo ART2A implementado. 80

87 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Figura 41: Diagrama de flujo del algoritmo ART2A. 4.6 Almacenamiento de información La información obtenida de los documentos web y del proceso de clusterización se debe almacenar para tenerla disponible en posteriores procesos de entrenamiento o simplemente para facilitarla en posteriores consultas del usuario. En el navegador Mozilla Firefox se plantearon 2 opciones para realizar el almacenamiento: Ficheros RDF (Resource Description Framework). Base de datos en SQLite. Se decidió usar para el almacenamiento el SQLite porque tiene un sistema de funcionamiento sencillo y permite crear una base de datos relacional con capacidad para poder realizar consultas en lenguaje SQL. El acceso desde el Firefox utilizando JavaScript es sencillo y parecido al acceso a un fichero de texto. Por último, también influyó el hecho de que Mozilla Firefox en su versión 2 utiliza ficheros RDF y SQLite, y en su versión 3 ha migrado los ficheros RDF a base de datos SQLite. 81

88 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Para almacenar los datos utilizados en la extensión, se crearon 5 tablas: Términos almacena los distintos términos que hay en el corpus. Documentos almacena los documentos del corpus. Frecuencias almacena la frecuencia y el peso de cada término en cada documento del corpus. Cluster almacena los clusters obtenidos por el algoritmo de clusterización. Configuración almacena información relativa a la configuración de la extensión. En la Figura 42 vemos el esquema relacional entre las tablas anteriores. Figura 42: Esquema de la base de datos empleada. El esquema de almacenamiento es totalmente local, lo que supone dificultades a la hora de la portabilidad de la aplicación entre distintos ordenadores. Nos planteamos la posibilidad de intentar almacenar parte de la información en el propio Delicious, pero los campos disponibles no permitían albergar la cantidad de datos necesaria. Otra opción sería utilizar servicios web de almacenamiento, pero ello supone más dependencias. 82

89 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS 4.7 Batería de pruebas y entrenamiento Para realizar pruebas con la aplicación desarrollada, es necesario un conjunto de datos ya clasificado con el que comprobar la eficacia de los algoritmos implementados a la hora de clusterizar documentos web. Además facilita la búsqueda de los parámetros óptimos a utilizar por los algoritmos. Para ello se empleó el conjunto de datos BankSearch [BankSearch], que como se comentó en el apartado 2.5, ha sido empleado en diversos estudios relacionados con el clustering de documentos web, entre otros [Sinka et al., 2004]. No es el único conjunto de pruebas que hay para emplear en estudios de clusterización de documentos web, pero está diseñado para ser lo más flexible y útil posible en este tipo de trabajos. El conjunto de datos BankSearch está compuesto por documentos distribuidos en 11 categorías de 1000 documentos cada una. Estas categorías están a su vez agrupadas por temas, tal y como se puede ver en la Tabla 5. Identificador Categoría Tema asociado A Bancos Bancos y finanzas B Constructoras Bancos y finanzas C Agencias de seguros Bancos y finanzas D Java Lenguajes de programación E C/C++ Lenguajes de programación F Visual Basic Lenguajes de programación G Astronomía Ciencia H Biología Ciencia I Fútbol Deportes J Deportes de motor Deportes K Deportes Deportes Tabla 5: Categorías del conjunto de datos BankSearch. Para comprobar el comportamiento de los algoritmos ART-2A y k-medias implementados fue necesario realizar unas pruebas en las que hubiese categorías similares de documentos y otras en las que hubiese categorías más diferenciadas. De esta forma se podría comprobar hasta que punto los algoritmos son capaces de obtener los clusters iniciales en los que estaban pre-clasificados. En [Sinka et al., 2004] se realiza una prueba 83

90 Clusters Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online para un estudio similar empleando el algoritmo k-medias, y se utilizan dos grupos, que fueron los que nosotros usamos con las siguientes características: ADJ Grupo formado por tres categorías diferentes. ABC Grupo formado por tres categorías similares. Para estas pruebas, se parte de diferentes tamaños del vector de frecuencias de palabras, calculados en función del número total de palabras de los conjuntos de documentos. Comprobaron que los resultados no diferían mucho entre el 0,5% y el 2% del número total de palabras. Por este motivo y por la baja velocidad de ejecución en JavaScript de nuestra implementación, se decidió utilizar un tamaño del vector de frecuencias de términos para representar los documentos, del 0,35% del total de términos presentes en los conjuntos de pruebas. Los documentos que no tienen ningún término que los represente entre los seleccionados, se descartan formando un cluster espurio o no-clasificados Resultados con el algoritmo k-medias Se ejecutó varias veces el algoritmo k-medias sobre los conjuntos ADJ y ABC, con valor del parámetro k = 3, como corresponde para obtener los 3 clusters esperados. Se comprobó que el resultado variaba en cada repetición, debido a que la distribución inicial de los documentos web en cada uno de los clusters iniciales del algoritmo k-medias se hizo aleatoria. Uno de los mejores resultados de las pruebas realizadas sobre el conjunto ADJ se muestra a continuación. Clases reales A D J CL_ CL_ CL_ Tabla 6: Matriz de cruces para el algoritmo k-medias con el grupo ADJ. 84

91 Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS 17/6/ :44:1 - Reentrenando. 17/6/ :44:29 - Nº cambios: /6/ :44:42 - Nº cambios: /6/ :44:55 - Nº cambios: 71 17/6/ :45:8 - Nº cambios: /6/ :45:21 - Nº cambios: /6/ :45:34 - Nº cambios: /6/ :45:47 - Nº cambios: /6/ :46:0 - Nº cambios: 74 17/6/ :46:13 - Nº cambios: /6/ :46:26 - Nº cambios: /6/ :46:39 - Nº cambios: /6/ :46:52 - Nº cambios: /6/ :47:5 - Nº cambios: 57 17/6/ :47:18 - Nº cambios: 10 17/6/ :47:31 - Nº cambios: 1 17/6/ :47:44 - Nº cambios: 0 17/6/ :47:49 - Ejecutado Algoritmo K-Medias. Figura 43: Log para la ejecución del k-medias con el grupo ADJ. Para el grupo ADJ, la matriz de cruces se muestra en la Tabla 6 y en la Figura 43 se puede ver el contenido del fichero log de la ejecución. El ratio de error es de 13,858%, los valores de sensibilidad de la matriz que indican la proporción de documentos de un cluster bien clasificados son: 0,8510, 0,9620 y 0,7740 y los valores de sensibilidad son: , y (Figura 44) para las clases A, D y J respectivamente. Figura 44: Sensibilidad y Estabilidad para ADJ con el algoritmo k-medias. 85

92 Clusters Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Clases reales A B C CL_ CL_ CL_ Tabla 7: Matriz de cruces para el algoritmo k-medias con el grupo ABC. 27/6/ :43:52 - Reentrenando. 27/6/ :44:13 - Nº cambios: /6/ :44:27 - Nº cambios: /6/ :44:39 - Nº cambios: /6/ :44:50 - Nº cambios: 49 27/6/ :45:0 - Nº cambios: 14 27/6/ :45:12 - Nº cambios: 5 27/6/ :45:22 - Nº cambios: 0 27/6/ :45:24 - Ejecutado Algoritmo K-Medias. Figura 45: Fichero log para la ejecución del k-medias con el grupo ABC. Para el grupo ABC, la matriz de cruces se muestra en la Tabla 7 y en la Figura 45 se puede ver el contenido del fichero log de la ejecución. El ratio de error es de 39,833%, los valores de sensibilidad de la matriz son: 0,1820, 0,8110 y 0,8120 y los valores de especificidad son 0,4631, 0,5130 y 0,7914 (Figura 46), para los grupos A, B y C respectivamente. Figura 46: Sensibilidad y Estabilidad para ABC con el algoritmo k-medias. 86

93 Clusters Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Resultados con el algoritmo ART-2A Para el algoritmo ART-2A se realizó una búsqueda de los parámetros óptimos para cada uno de los conjuntos de datos ADJ y ABC. Para ello, valiéndonos del desarrollo realizado en Java, se ejecutó el algoritmo barriendo los rangos de trabajo de los parámetros β y ρ, que son los que controlan el aprendizaje y creación de los nuevos clusters respectivamente. Estos valores variaron entre 0 y 1 con saltos de 0,0001. Para cada resultado, se obtuvo una matriz de cruces con su ratio de error. El número de pasadas para la convergencia del algoritmo se fijó a 5 debido a que es un valor suficiente para la convergencia del ART-2A y el tiempo empleado no es excesivo. Los mejores resultados obtenidos se muestran a continuación. Para el grupo ADJ, los valores con los que se consiguió el mejor resultado del algoritmo ART-2A fueron β = 0,0125 y ρ = 0,0083. La matriz de cruces obtenida con estos parámetros se muestra en la Tabla 8. El ratio de error para esta matriz es de 8,049%, los valores de sensibilidad son: 0,8594, 0,9780 y 0,9176, mientras que los valores de especificidad obtenidos son: 0,9584, 0,8569 y 0,9600 (Figura 47), para los grupos A, D y J respectivamente. En la Figura 48 puede verse el log de la ejecución. Clases reales A D J CL_ CL_ CL_ Tabla 8: Matriz de cruces para el grupo ADJ con β = 0,0125 y ρ = 0,

94 Abraham Troitiño Pinón Eduardo del Reguero Rodríguez Foxylicious+Clu: Gestor automatizado de bookmarks online Figura 47: Sensibilidad y Estabilidad para ADJ con el algoritmo ART-2A. 14/7/ :58: FIN PASADA Nº: 1 - Nº CAMBIOS /7/ :59: FIN PASADA Nº: 2 - Nº CAMBIOS /7/ :59: FIN PASADA Nº: 3 - Nº CAMBIOS /7/ :0:4 --- FIN PASADA Nº: 4 - Nº CAMBIOS /7/ :0: FIN PASADA Nº: 5 - Nº CAMBIOS /7/ :0:45 - Ejecutado algoritmo ART2A-M. Figura 48: Fichero log para la ejecución del ART-2A con el grupo ADJ. En el grupo ABC, los valores de parámetros con los que se consiguió el mejor resultado del algoritmo ART-2A fueron β = 0,0250 y ρ = 0,0240. La matriz de cruces obtenida con estos parámetros se muestra en la Tabla 9. El ratio de error para esta matriz es de 25,231%, los valores de sensibilidad son: 0,6599, 0,9032 y 0,6869, mientras que los valores de especificidad son: 0,7125, 0,6882 y 0,8814 (Figura 49), para los grupos A, B y C respectivamente. En la Figura 50 puede verse el log de la ejecución. 88

95 Clusters Capítulo 4 GESTOR AUTOMÁTICO DE BOOKMARKS Clases reales A B C CL_ CL_ CL_ Tabla 9: Matriz de cruces para el grupo ABC con β = 0,0250 y ρ = 0,0240. Figura 49: Sensibilidad y Estabilidad para ABC con el algoritmo ART-2A. 14/7/ :58: FIN PASADA Nº: 1 - Nº CAMBIOS /7/ :58: FIN PASADA Nº: 2 - Nº CAMBIOS /7/ :58: FIN PASADA Nº: 3 - Nº CAMBIOS /7/ :59:2 --- FIN PASADA Nº: 4 - Nº CAMBIOS /7/ :59: FIN PASADA Nº: 5 - Nº CAMBIOS /7/ :59:20 - Ejecutado algoritmo ART2A-M. Figura 50: Fichero log para la ejecución del ART-2A con el grupo ABC Discusión de resultados Comparando los resultados con el algoritmo k-medias obtenidos por nosotros y por [Sinka et al., 2004] podemos ver que para ADJ nuestro mejor resultado contiene un error del 13,858% mientras en [Sinka et al., 2004] obtienen como mejor resultado un error de 14,9% utilizando el 0,5% de los términos, mientras nosotros empelamos 89

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

ADT CONSULTING S.L. http://www.adtconsulting.es PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

ADT CONSULTING S.L. http://www.adtconsulting.es PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS ADT CONSULTING S.L. http://www.adtconsulting.es PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS ESTUDIO SOBRE EL POSICIONAMIENTO EN BUSCADORES DE PÁGINAS WEB Y LA RELEVANCIA DE LA ACTUALIZACIÓN DE CONTENIDOS

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Resumen de la Tesina. Autor: Adrià Batet López. Tutor: Víctor Pascual Ayats

Resumen de la Tesina. Autor: Adrià Batet López. Tutor: Víctor Pascual Ayats Inventario y geolocalización de las actividades comerciales en las plantas bajas de los edificios de L Hospitalet de Llobregat. Aplicación web de recursos para el ciudadano. Resumen de la Tesina. Autor:

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

Índice INTERNET MARKETING 1

Índice INTERNET MARKETING 1 INTERNET MARKETING 1 Índice Manual de Google Analytics... 2 Qué es Google Analytics?... 2 Cómo funciona Google Analytics?... 2 Iniciar Sesión en Google Analytics... 3 Visualizar las estadísticas... 3 Resumen

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,

Más detalles

Recuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012

Recuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012 Bases de Datos Documentales Curso 2011/2012 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña Introducción Hemos dedicado la primera mitad del curso a diseñar e implementar

Más detalles

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Maxpho Commerce 11 Gestión CSV Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Índice general 1 - Introducción... 3 1.1 - El archivo CSV... 3 1.2 - Módulo CSV en Maxpho... 3 1.3 - Módulo CSV

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN)

CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) CLASIFICACIÓN NO SUPERVISADA CLUSTERING Y MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) info@clustering.50webs.com Indice INTRODUCCIÓN 3 RESUMEN DEL CONTENIDO 3 APRENDIZAJE

Más detalles

Servicios y aplicaciones clave de la web 2.0

Servicios y aplicaciones clave de la web 2.0 Servicios y aplicaciones clave de la web 2.0 Etiquetado y social bookmarking La web 2,0 ha permitido crear comunidades llamadas Social Bookmarking o marcadores sociales, las cuales son una forma en la

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Se diferencia tres partes de gestión para mejorar la resolución de las incidencias de soporte técnico según el marco ITIL: 1. Gestión de Incidencias

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

POSICIONAMIENTO EN LA WEB (SEM Y SEO)

POSICIONAMIENTO EN LA WEB (SEM Y SEO) POSICIONAMIENTO EN LA WEB (SEM Y SEO) POSICIONAMIENTO EN LA WEB (SEM Y SEO) 1 Sesión No. 3 Nombre: Keywords Contextualización Qué son las Keywords? Debemos de tener en claro la definición de keywords para

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc.

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc. Página 1 BUSCADORES EN INTERNET Internet es una red de redes informáticas distribuidas por todo el mundo que intercambian información entre sí mediante protocolos 1 TCP/IP. Puede imaginarse Internet como

Más detalles

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 -

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 - Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos - Sesión 9 - Juan Alfonso Lara Torralbo 1 Índice de contenidos Actividad. Qué es un modelo de Data Mining Qué es

Más detalles

Nos encargamos del tuyo, tú disfruta

Nos encargamos del tuyo, tú disfruta EN ACTIVE SABEMOS QUE TIENES COSAS MÁS IMPORTANTES QUE EL TRABAJO, POR ESO Nos encargamos del tuyo, tú disfruta 2015 ACTIVE BUSINESS & TECHNOLOGY. TODOS LOS DERECHOS RESERVADOS. 1 Esta nueva versión ha

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS Administración Nacional de Universidad de la República Educación Pública Facultad de Ingenieria CF Res..0.07 Consejo Directivo Central Consejo Directivo Central Res..05.07 Res. 17.0.07 TECNÓLOGO EN INFORMÁTICA

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

Prezi: editor de presentaciones

Prezi: editor de presentaciones Prezi: editor de presentaciones Descripción Francisco Mora En momentos en que la Web 2.0 es un entorno de interacción, aparecen múltiples servicios que permiten compartir y editar recursos de forma conjunta.

Más detalles

Sistemas de Recuperación de Información

Sistemas de Recuperación de Información Sistemas de Recuperación de Información Los SRI permiten el almacenamiento óptimo de grandes volúmenes de información y la recuperación eficiente de la información ante las consultas de los usuarios. La

Más detalles

CAPÍTULO I FORMULACIÓN DEL PROBLEMA

CAPÍTULO I FORMULACIÓN DEL PROBLEMA CAPÍTULO I FORMULACIÓN DEL PROBLEMA 13 Formulación del Problema 1.1. Titulo descriptivo del proyecto: Diseño de un centro de cómputo adecuado a personas con capacidades especiales de audición y lenguaje

Más detalles

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma:

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma: Cookies policy a) Utilización de Cookies y Web Bugs b) Tipología, finalidad y funcionamiento de las Cookies c) Cómo deshabilitar las Cookies y los Web Bugs en los principales navegadores d) Qué ocurre

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Utilización del sistema operativo GNU/ Linux en las netbooks

Utilización del sistema operativo GNU/ Linux en las netbooks Utilización del sistema operativo GNU/ Linux en las netbooks El sistema operativo es la pieza de software básica de un sistema, que permite manejar los recursos de la computadora, abrir programas, manejar

Más detalles

GENERALIDADES DE BASES DE DATOS

GENERALIDADES DE BASES DE DATOS GENERALIDADES DE BASES DE DATOS A fin de evitar que idénticos datos se encuentren repetidos en múltiples archivos, parece necesario que los comunes se almacenen en un archivo único y que este archivo sea

Más detalles

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

Jornadas de INCLUSION DIGITAL. a través de las TIC ORGANIZAN: CAPACITA: CLAEH

Jornadas de INCLUSION DIGITAL. a través de las TIC ORGANIZAN: CAPACITA: CLAEH Jornadas de INCLUSION DIGITAL a través de las TIC ORGANIZAN: CAPACITA: CLAEH PRINCIPIOS DE LA NAVEGACIÓN EN INTERNET QUÉ ES EL EXPLORADOR WEB? El explorador Web es la herramienta creada para el uso y explotación

Más detalles

Ley Orgánica de Protección de Datos

Ley Orgánica de Protección de Datos Hécate GDocS Gestión del documento de seguridad Ley Orgánica de Protección de Datos 2005 Adhec - 2005 EFENET 1. GDocS - Gestión del Documento de Seguridad GDocS es un programa de gestión que permite mantener

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0. http://148.216.31.29:8080/siia/ PRONAD

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0. http://148.216.31.29:8080/siia/ PRONAD MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión 1.0 http://148.216.31.29:8080/siia/ PRONAD II C o n t e n i d o 1 Tabla de contenido C o n t e n i d o... I 1. Bienvenido...III 2. Antes de Comenzar...III 3. Iniciando

Más detalles

Módulo I Unidad Didáctica 2

Módulo I Unidad Didáctica 2 Módulo I Unidad Didáctica 2 Introducción Tal como un periódico, por ejemplo, no es sólo una colección de artículos, un sitio Web no puede ser simplemente una colección de páginas. Qué se busca al diseñar

Más detalles

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este Manual para usuarios USO DE ONEDRIVE Universidad Central del Este Contenido 1. QUÉ ES Y PARA QUÉ SIRVE OFFICE 365?... 3 1.1 CÓMO ENTRAR A LA PLATAFORMA DE OFFICE 365 DE LA UCE?... 3 ONEDRIVE... 5 2. QUÉ

Más detalles

Manual CMS Mobincube

Manual CMS Mobincube Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una

Más detalles

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable: MANUAL DE USUARIO La aplicación para la convocatoria Parques Científicos y Tecnológicos consta de un programa descargable más un módulo web. Mediante el módulo descargable, es posible cumplimentar todos

Más detalles

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A Usuario Propietario: Gerencia de Informática Usuario Cliente: Todos los usuarios de ANDA Elaborada por: Gerencia de Informática,

Más detalles

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Razones para que un investigador use Twitter

Razones para que un investigador use Twitter Las redes sociales se han convertido en una herramienta fantástica para que los científicos puedan mostrar cómo se hace ciencia, las luces y sombras de su trabajo, explicar de manera sencilla el por qué

Más detalles

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN Francisco Belmonte Díaz Diseño e implementación de Sistemas Informáticos. Coordinación de Tareas de Programación Servicio de Gestión Informática. Consejería

Más detalles

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS UNIVERSIDAD DE MEDELLÍN MANUAL DE USUARIO GESTOR DE CONTENIDOS NUEVO PORTAL WEB TABLA DE CONTENIDO Tabla de Contenido 2 Consideraciones Iniciales 3 Ingreso al Sistema 4 Opciones de Gestor de contenidos

Más detalles

Presentación de Pyramid Data Warehouse

Presentación de Pyramid Data Warehouse Presentación de Pyramid Data Warehouse Pyramid Data Warehouse tiene hoy una larga historia, desde 1994 tiempo en el que su primera versión fue liberada, hasta la actual versión 8.00. El incontable tiempo

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa Código del programa: PEMDE Programa Experto en MANEJO DE DATOS CON EXCEL Modalidad: Virtual Descripción del programa 1 Presentación del programa Justificación Microsoft Excel es la herramienta de manejo

Más detalles

E-learning: E-learning:

E-learning: E-learning: E-learning: E-learning: capacitar capacitar a a su su equipo equipo con con menos menos tiempo tiempo y y 1 E-learning: capacitar a su equipo con menos tiempo y Si bien, no todas las empresas cuentan con

Más detalles

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico TeCS Sistema de ayuda a la gestión del desarrollo de producto cerámico En el origen de todo proyecto de éxito se halla la capacidad de encauzar y estructurar la creatividad TeCS ofrece un entorno de fácil

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

Sistema Inteligente de Exploración

Sistema Inteligente de Exploración Observatorio Municipal de Estadística Sistema Inteligente de Exploración Capítulos 1. Consideraciones iniciales y requerimientos... 2 2. Navegación... 3 3. Consulta de indicadores... 5 3.1. Elaboración

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Instituto Politécnico Nacional. Escuela Superior de Turismo

Instituto Politécnico Nacional. Escuela Superior de Turismo Instituto Politécnico Nacional Escuela Superior de Turismo Santiago Peña Joyce Mariana 1M7 Lorena Correa Investigación sobre Buscador y Navegador Tic s Qué es un navegador? Un navegador (también llamado

Más detalles

CREACIÓN Y CONFIGURACIÓN DE WIKIS

CREACIÓN Y CONFIGURACIÓN DE WIKIS Paso 1: Creación CREACIÓN Y CONFIGURACIÓN DE WIKIS Como con el resto de actividades, para crear un wiki lo primero es activar el modo de edición y seleccionar la opción Wiki de la lista desplegable Agregar

Más detalles

revista transparencia transparencia y... 3.3. UNIVERSIDADES

revista transparencia transparencia y... 3.3. UNIVERSIDADES revista transparencia transparencia y... 3.3. UNIVERSIDADES 35 revista transparencia Mónica López del Consuelo Documentalista Open Data Universidad de Granada 3.3.1. El filtro básico de la transparencia.

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Qué es una página web?, qué conoces al respecto?, sabes crear una página Semana 13 13 Empecemos! Bienvenidos a una nueva sesión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estructuras de datos y métodos de ordenamientos, todo lo cual

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST.

6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST. 6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST. Hay varios ejemplos de sitios Web dedicados a almacenar WebQuest. Bernie Dodge mantiene en sus páginas una tabla (Figura 17) con los WebQuest publicados de los que

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE MARZO 2007 Este documento contesta las preguntas más frecuentes que se plantean las organizaciones que quieren

Más detalles

Acerca de esté Catálogo

Acerca de esté Catálogo Catálogo de Cursos 2015 Acerca de esté Catálogo En el presente documento podrá obtenerse la información necesaria sobre la oferta de cursos que Manar Technologies S.A.S. y su línea de educación Campus

Más detalles

Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web Universidad de Educación a Distancia Marzo 2013

Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web Universidad de Educación a Distancia Marzo 2013 Presentación de Trabajo de Fin de Máster PROPUESTA DE BÚSQUEDA SEMÁNTICA: APLICACIÓN AL CATÁLOGO DE MAPAS, PLANOS Y DIBUJOS DEL ARCHIVO GENERAL DE SIMANCAS Máster en Lenguajes y Sistemas Informáticos:

Más detalles

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE MANUAL DE USUARIO EGROUPWARE 1 INDICE Que es egroupware... 3 Inicio de sesión... 4 Aplicaciones de egroupware... 4 Correo electrónico... 5 Calendario... 7 ACL... 9 Administración de proyectos... 10 Libreta

Más detalles

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04).

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04). 5.2. PROYECTO RODA Se trata de un proyecto 1 piloto de demostración tecnológica, cofinanciado por el PROFIT 2003, cuya duración se fijó de Enero 2003 a Marzo de 2004. Los participantes son ROBOTIKER, la

Más detalles

Inteligencia de Negocio

Inteligencia de Negocio UNIVERSIDAD DE GRANADA E.T.S. de Ingenierías Informática y de Telecomunicación Departamento de Ciencias de la Computación e Inteligencia Artificial Inteligencia de Negocio Guión de Prácticas Práctica 1:

Más detalles

MOTORES VERSUS DIRECTORIOS: EL DILEMA DE LA BÚSQUEDA

MOTORES VERSUS DIRECTORIOS: EL DILEMA DE LA BÚSQUEDA MOTORES VERSUS DIRECTORIOS: EL DILEMA DE LA BÚSQUEDA José Raúl Vaquero Pulido Presidente Asociación Hispana de Documentalistas en Internet http://www.documentalistas.com "La indización automática es la

Más detalles

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com Un repaso a las estadísticas de lectura tanto de la página web como de la revista digital, para ver si alguien se acuerda de nosotros. Ya podemos

Más detalles

PRESENTACIÓN DEL PRODUCTO

PRESENTACIÓN DEL PRODUCTO PRESENTACIÓN DEL PRODUCTO esernet, s.l. Sebastián Elcano, 32 Planta 1 Oficina 22 28012 Madrid Teléfono: 91 433 84 38 -- Fax. 91 141 21 89 www.esernet.com -- esernet@esernet.com 1. Introducción 2. Descripción

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Trabajo final de Ingeniería

Trabajo final de Ingeniería UNIVERSIDAD ABIERTA INTERAMERICANA Trabajo final de Ingeniería Weka Data Mining Jofré Nicolás 12/10/2011 WEKA (Data Mining) Concepto de Data Mining La minería de datos (Data Mining) consiste en la extracción

Más detalles

Redes de Kohonen y la Determinación Genética de las Clases

Redes de Kohonen y la Determinación Genética de las Clases Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados

Más detalles

Un primer acercamiento a la CMDB.

Un primer acercamiento a la CMDB. Un Versión primer 1.2 acercamiento a la CMDB. 20/07/2005 Un primer acercamiento a la CMDB. Versión 1.1 1.2 18/02/05 20/02/05 Fecha Jose Autores Carlos Manuel García Viejo García Lobato http://ars.viejolobato.com

Más detalles