UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ESCUELA DE CIENCIAS DE LA COMPUTACIÓN UNIDAD DE VIRTUALIZACIÓN

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

Download "UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ESCUELA DE CIENCIAS DE LA COMPUTACIÓN UNIDAD DE VIRTUALIZACIÓN"

Transcripción

1 UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ESCUELA DE CIENCIAS DE LA COMPUTACIÓN UNIDAD DE VIRTUALIZACIÓN APLICACIÓN DE ALGORITMOS DE CLUSTERING PARA CONOCER EL COMPORTAMIENTO DE LOS ESTUDIANTES DURANTE SU INTERACCIÓN EN LOS FOROS DE LA PLATAFORMA DOTLRN. CASO REAL UTPL Proyecto de Tesis previo a la obtención del título de Ingeniero en Sistemas Informáticos y Computación RAMIRO ALEXANDER GONZAGA BUSTAMANTE Directora: Ing. Priscila Valdiviezo Loja, Ecuador 2010

2 Ing. Priscila Valdiviezo DIRECTORA DE TESIS Certifica: Que el Sr. Ramiro Alexander Gonzaga Bustamante, autor de la tesis APLICACIÓN DE ALGORITMOS DE INTELIGENCIA ARTIFICIAL PARA PREDECIR LOS ELEMENTOS QUE CONFORMAN LAS RECOMENDACIONES OFERTADAS DENTRO DE UNA PLATAFORMA E-LEARNING, ha cumplido con los requisitos estipulados en el Reglamento General de la Universidad Técnica Particular de Loja, la misma que ha sido coordinada y revisada durante todo el proceso de desarrollo, desde su inicio hasta la culminación, por lo cual autorizo su presentación. Loja, diciembre del 2009 Priscila Valdiviezo DIRECTORA DE TESIS i

3 Cesión de Derechos Yo, Ramiro Alexander Gonzaga Bustamante, declaro ser autor del presente trabajo y eximo expresamente a la Universidad Técnica Particular de Loja y a sus representantes legales de posibles reclamos o acciones legales. Adicionalmente declaro conocer y aceptar la disposición del Art. 67 del Estatuto Orgánico de la Universidad Técnica Particular de Loja que en su parte pertinente textualmente dice: Forman parte del patrimonio de la Universidad la propiedad intelectual de investigaciones, trabajos científicos o técnicos y tesis de grado que se realicen a través o con el apoyo financiero, académico o institucional (operativo) de la Universidad. Ramiro Alexander Gonzaga Bustamante ii

4 Autoría Las ideas, opiniones, conclusiones, recomendaciones y más contenidos expuestos en el presente informe de tesis son de absoluta responsabilidad del autor. Ramiro Alexander Gonzaga Bustamante iii

5 Contenido Certificación i Cesión de derechos ii Autoría iii Índice de contenidos iv CAPÍTULO 1: ESTADO DEL ARTE Introducción Sistemas adaptativos educativos Fases del proceso de adaptación a. Adquisición de datos Datos necesarios para la adaptación....5 Datos de usuario...5 Datos de entorno Datos de uso Procesos para obtener los datos... 7 Datos de usuario...8 Datos de entorno.10 Datos de uso b. Representación e inferencia del modelo Modelos explícitos.. 11 Modelos implícitos aprendidos..11 Modelos híbridos c. Producción o realización de las tareas de adaptación Adaptación de contenido Adaptación de enlaces Sistema recomendador a. Técnicas de recomendación b. Algoritmos de recomendación...15 Algoritmos de clasificación o Clasificación no supervisada iv

6 k-medias Algoritmo EM o Clasificación supervisada C Reglas de decisión Clasificadores bayesianos Clasificador NaiveBayes Búsqueda y análisis de sistemas recomendadores Descripción y análisis del sistema recomendador desarrollado por la UNED Modelo de recomendaciones de dotlrn El modelo de datos CAPÍTULO 2: INSTALACIÓN Y CONFIGURACIÓN DE LA PLATAFORMA E-LEARNING DOTLRN Plataforma dotrn OpenACS AOLserver PostgreSQL TCL Características y herramientas de dotlrn Instalación de dotlrn Problemas en la Instalación Configuración de dotlrn CAPÍTULO 3: OBTENCIÓN DE DATOS DE INTERACCIÓN Descripción del proceso de aprendizaje en dotlrn Interacción con los Foros Tablas de dotlrn relacionadas con la información almacenada en los archivos de logs Tablas de dotlrn relacionadas con la interacción en los foros Recolección de datos de interacción en la plataforma v

7 Herramientas utilizadas para el procesamiento de datos Proceso de configuración de las herramientas para el procesamiento de datos 43 Proceso de extracción de datos Modelo de datos desarrollado Descripción de las tablas Obtención de datos de interacción a partir de los datos de usuario...48 Tabla Vista Minable CAPÍTULO 4: MINERÍA DE DATOS Conexión desde WEKA a la base de datos Minería_de_Datos en postgresql Selección de atributos a utilizar Iniciativa de usuario Actividad del usuario Actividad de otros compañeros causada por el usuario Aplicación de algoritmos de clustering para obtener grupos de usuarios con características similares Proceso de clustering en WEKA Algoritmo SimpleKMeans 60 Análisis de resultados aplicando el algoritmo SimpleKMeans Algoritmo EM Análisis de resultados aplicando el algoritmo EM Comparación de resultados de los algoritmos SimpleKMeans y EM Algoritmo escogido: SimpleKMeans Grupos obtenidos con el algoritmo SimpleKMeans Aplicación de algoritmos de clasificación supervisada...85 Resultados obtenidos mediante la experimentación con cada algoritmo..86 a) Nivel de iniciativa b) Nivel de actividad c) Nivel de actividad de otros compañeros causada por el usuario...91 Elección de los algoritmos vi

8 Verificación de resultados Pruebas para cada una de las características de colaboración 94 Nivel de iniciativa Algoritmo JRip Nivel de actividad Algoritmo REPTree con el método bagging 95 Nivel de actividad de otros compañeros causada por el usuario - Algoritmo J Relación entre los resultados obtenidos de la clasificación de instancias nuevas y los grupos obtenidos mediante el Clustering.99 CAPÍTULO 5: DEFINICIÓN DE RECOMENDACIONES EN BASE A LOS RESULTADOS OBTENIDOS Análisis de resultados de interacción Reporte de resultados de la interacción en los foros Reporte de resultados de la interacción con otras herramientas Situaciones en las qué ofrecer recomendaciones Situaciones en las que ofrecer recomendaciones de acuerdo a las características de colaboración Recomendaciones relacionadas con la iniciática de usuario Recomendaciones relacionadas con la actividad de usuario Recomendaciones de colaboración hacia otros compañeros DISCUSIÓN CONCLUSIONES Y RECOMENDACIONES Conclusiones Recomendaciones ANEXOS BIBLIOGRAFÍA vii

9 Capítulo 1: Estado del arte 1

10 1.1. Introducción: Las plataformas e-learning han adoptado un papel protagónico dentro de la educación en los últimos años; ejemplos de estas son moodle 1, dokeos 2 o dotlrn 3. Es precisamente ésta última la que se estudiará y analizará más a fondo para el desarrollo de este proyecto. Estas plataformas cumplen el rol de sistemas de educación e-learning y se valen de varios elementos para potenciar el aprendizaje como por ejemplo: foros, recursos compartidos, mensajes, chats, entre otros. Su principal uso se da en la educación a distancia; muchas universidades a lo largo y ancho del planeta se encuentran usando o implementando este tipo de herramientas para fortalecer las bases de la educación e-learning. Dentro de una plataforma e-learning se puede encontrar o implementar sistemas recomendadores (SR) como medio de adaptación. Un SR cumple la función de presentar recomendaciones a los usuarios tomando en cuenta distintos elementos acordes a sus preferencias. Los sistemas recomendadores son muy utilizados con diferentes fines, uno de ellos es potenciar el aprendizaje dentro de los sistemas de educación e-learning. Las ventajas que brindan al usuario son muchas, ya que si se implementan de buena manera pueden elevar el grado de satisfacción del usuario hacia la plataforma considerablemente; además el interés que el usuario tiene por usar la plataforma también se ve fortalecido. Dentro del estudio de Sistemas Recomendadores un aspecto importante es el uso de algoritmos de inteligencia artificial para clasificar los elementos que conforman las recomendaciones ofertadas dentro de la plataforma e-learning; tema de estudio en este proyecto. Existen muchos algoritmos que se usan para este tipo de tareas, no obstante se deberá realizar un análisis exhaustivo a fin de determinar cuáles son los algoritmos más adecuados para obtener los valores de las condiciones que conforman las recomendaciones

11 1.2. Sistemas Adaptativos Educativos Los sistemas adaptativos educativos son sistemas de educación enfocados en personalizar la enseñanza para cada estudiante acorde a sus necesidades y preferencias. Existen muchas variantes y muchos métodos para desarrollar sistemas adaptativos pero el objetivo es siempre el mismo, adaptarse a las necesidades del usuario. En un sistema adaptativo, dependiendo del nivel de control que tenga el usuario sobre la adaptación que se le proporciona, se puede encontrar diferentes tipos básicos de adaptación, según en la fase en que se produzcan: Iniciación: Se detecta la necesidad de realizar adaptación. Propuesta: Se pide algún tipo de adaptación. Selección: Se selecciona algún tipo de adaptación. Ejecución: Se ejecuta la adaptación. [1] De acuerdo a [2] existen 2 tipos de sistemas de acuerdo a la participación del usuario: los sistemas adaptables o parametrizables y los sistemas adaptativos; los primeros se refieren a sistemas en los que el usuario es quien controla directamente la iniciación, propuesta, selección y ejecución, los segundos en cambio realizan todos estos pasos automáticamente, adaptándose a las necesidades del usuario. Los conceptos de parametrización y adaptación no deben tomarse como opuestos, es más, por lo general se utilizan juntos; para esto debe tomarse en cuenta el sistema y la situación particular para brindar tal o cual concepto. Los Sistemas Recomendadores utilizan estos conceptos para su implementación y desarrollo. Un sistema adaptativo necesita obtener primero una buena cantidad de datos acerca de la interacción del usuario con el sistema para poder empezar a adaptarse a él, no puede empezar un proceso de adaptación inmediatamente se cree un usuario. 3

12 Fases del Proceso de Adaptación En base a [1] existen 3 fases fundamentales que hay que realizar en cualquier proceso de adaptación independientemente del tipo de adaptación que se considere y de la complejidad de la misma. Estas fases comunes son las siguientes: Adquisición de datos: En esta fase se debe primeramente identificar la información del usuario a la que se tiene acceso y así mismo la información de su interacción con el sistema; además existen algunos sistemas que precisan de información del entorno en el cual se desenvuelve el usuario, basicamente elementos como el ancho de banda, el sistema operativo, navegador, etc. En esta fase se identifican los elementos que se utilizarán para la fase de representación e inferencia en los modelos. Existen diferentes técnicas para realizar el proceso de adquisición de los datos, de acuerdo a [3] entre ellos se puede mencionar por ejemplo la información proporcionada por el usuario, reglas de obtención de información, reconocimiento del Plan, razonamiento del Estereotipo. Representación e Inferencia en los modelos: En esta fase se realiza ya la representación formal de los modelos en base a la información recolectada. Para esta fase se realiza un proceso de diseño de los modelos para su posterior creación. Es de fundamental importancia analizar a fondo todos los requerimientos necesarios para poder realizar modelos útiles que puedan luego utilizarse para realizar una minería de datos apropiada. Producción o realización de las tareas de adaptación: En esta fase se realiza ya la identificación de recomendaciones basándose en el modelo construido en la fase anterior. Una vez que se cuenta ya con los modelos, y se posee datos para la experimentación se puede empezar a diseñar y elaborar las tareas de adaptación, para esto se sigue un proceso de manipulación y tratamiento de los modelos; esto se refiere básicamente a la minería de datos como se verá más adelante. 4

13 a. Adquisición de Datos 1. Datos necesarios para la adaptación Para establecer un modelo de usuario válido se debe obtener algunos datos importantes. Según [1] Para poder realizar una recomendación adecuada se necesita realizar un proceso de recolección intensivo de datos. Algunos de ellos se pueden observar directamente en el Sistema, otros requieren un proceso de inferencia. Tradicionalmente la obtención de datos se enfocaba en las características del usuario representadas en el modelo de usuario. En la actualidad este procedimiento ha cambiado. Ahora los sistemas son capaces de adaptarse a algo más que simplemente las características del usuario. De acuerdo a [1] se distingue entre: o Datos de usuario. o Datos de entorno. o Datos de uso. Datos de Usuario Según [1] los datos de usuario se refieren a la información sobre las características personales del usuario. En cambio los datos de uso abarcan datos que tienen que ver con la interacción del usuario con el Sistema. Sin embargo, se verá que hay los posibles solapamientos entre estas dos categorías. Algunos datos de usuario pueden ser obtenidos directamente desde el usuario, en cambio la mayoría de los datos de uso deben ser deducidos de las observaciones de interacciones en el sistema. De acuerdo a [3] los datos de usuario que se suelen considerar a la hora de personalizar los sistemas, se dividen en las siguientes categorías: Datos demográficos: en estos datos se incluye información referente a la identificación personal del usuario como nombre, dirección, fecha de nacimiento, sexo, número de 5

14 teléfono, lugar de residencia, etc. En estos datos se puede incluir además información menos relevante como por ejemplo sus motivaciones y aspiraciones. Conocimiento del usuario: de acuerdo a [1] estos datos incluyen supuestos sobre el conocimiento del usuario dentro del dominio de aplicación del sistema. Estos datos son muy importantes a la hora de elaborar los datos para la personalización, de hecho por lo general los sistemas se basan en ellos para guiar al usuario sobre los contenidos que debería examinar o sobre las actividades que debería realizar. Destrezas y Capacidades del usuario: se refiere a los supuestos que asume el sistema sobre las diferentes capacidades del usuario (por ejemplo el buen manejo del computador), para de esta forma mejorar las recomendaciones ofrecidas. Intereses y Preferencias del usuario: estos datos son muy útiles para un sistema recomendador, ya que basándose en los gustos del usuario puede definir recomendaciones más acertadas. Objetivos y Planes del usuario: se basa en guardar una traza de navegación del usuario a fin de encontrar sus objetivos, de manera que el sistema puede usarlos más adelante para recomendar sitios que podrían interesarle al usuario. Datos de Entorno Según [1] y [3] los datos de entorno abarcan los datos que tienen que ver con el entorno del usuario, tanto hardware como software. Estos datos son de utilidad para el sistema, ya que basado en ellos puede realizar mejores recomendaciones. Entre los datos con los que se puede trabajar destacan por ejemplo el software que se utiliza con mayor frecuencia, las características del computador con que trabaja el usuario, etc. El siguiente ejemplo se plantea en [1]: si se detecta que un alumno tiene un equipo poco potente, se puede decidir no mostrar una imagen irrelevante que sea demasiado grande y que ralentizará la carga de la página. 6

15 Entre los datos que tienen que ver con el software se puede encontrar: el Sistema Operativo con el que trabaja, el navegador que utiliza, si dispone o no de plug-ins, etc. En cuanto a hardware se puede considerar: las características en general de la máquina entre ellas por ejemplo la capacidad del procesador o de la memoria RAM, el ancho de banda de la conexión, etc. Datos de Uso En [1] y [3] se encontró que este tipo de datos se refiere a los datos de interacción del usuario con el sistema, por ejemplo: las páginas visitadas, mensajes, respuestas a foros, etc. Estos datos se pueden obtener por observación directa o con un procesado posterior basado en los datos que el sistema recolecta. Este proceso de recolección - por lo general - varía de un sistema a otro. Acorde a la interfaz que se muestre al usuario, los datos de uso podrán basarse en las operaciones realizadas con la interfaz o bien en las interacciones. Una de las desventajas en el proceso de monitorizar al usuario en sus acciones sobre la interfaz es que el modelo generado a partir de estos datos depende plenamente de la interfaz y por tanto de la aplicación en sí. Por ende, no suelen ser modelos reutilizables. Los modelos sólo son aplicables en un determinado entorno, lo que pone trabas al momento de aplicar estas técnicas en sistemas diferentes. 2. Procesos para obtener los datos Ya se dijo que datos se necesita para establecer un modelo de usuario válido, ahora se analizará los procesos para obtener dichos datos. La mayoría de estos datos no pueden ser usados directamente para el proceso de adaptación, sin embargo se puede procesarlos a fin de obtener datos iniciales para la creación de un modelo de usuario. 7

16 Datos de Usuario De acuerdo a [3] algunos procesos para obtener los datos de usuario serían: Información proporcionada por el usuario.- una estrategia obvia para adquirir información acerca de un usuario es dejar que el usuario facilite los datos necesarios. Para algunos datos de los usuarios, en particular los datos demográficos, la asistencia por parte del usuario es la única fuente posible de información. La obtención de datos de usuario puede tener lugar a través de las preguntas planteadas por el sistema, generalmente en una fase inicial de uso del sistema. La mayoría de los sitios web actuales que proporcionan personalización también emplean ampliamente entrevistas. Las entrevistas iniciales a menudo conducen a una asignación del usuario a uno de un conjunto predefinido de subgrupos de usuarios. Reglas de obtención de información.- los métodos de obtención de información pasivos o implícitos suelen ser menos molestos para el usuario que los activos. Por definición, los métodos de pasivos no inician ninguna interacción con el usuario. Un medio frecuentemente utilizado para la generación de hipótesis sobre el usuario son las reglas de obtención de información, es decir, reglas de inferencia que normalmente se ejecuta cuando la nueva información sobre el usuario está disponible. En la mayoría de los casos, las normas se refieren a la obtención de las acciones del usuario observadas o una interpretación más o menos directa del comportamiento del usuario. Las normas de adquisición pueden ser específicas de un dominio de aplicación dado, o pueden ser aplicaciones independientes. Reconocimiento del Plan.- el reconocimiento del plan ofrece el razonamiento acerca de los objetivos que el usuario pretende alcanzar y la secuencia de acción (plan) que él lleva a cabo para alcanzarlos. Un sistema de reconocimiento del plan consiste en una base de conocimiento de tareas que modela posibles acciones de los usuarios y las relaciones entre estas, y un mecanismo que identifica el plan actual (y los objetivos asociados) de los usuarios de las interacciones observadas. El reconocimiento del Plan 8

17 es especialmente prometedor para las aplicaciones con un pequeño número de objetivos posibles y un pequeño número de posibles formas de lograr estos objetivos. Por ejemplo, en centros de mensajes y sistemas de información, los usuarios suelen tener objetivos específicos, tales como escuchar los mensajes nuevos, obtener información de facturación o recibir la información del pronóstico del tiempo para una región local. Si el sistema reconoce esos objetivos (en el tiempo), puede proporcionar accesos directos para estos tipos de metas de rutina. Razonamiento del Estereotipo.- De acuerdo a [4] un método simple para hacer una primera evaluación sobre los usuarios es clasificarlos en categorías y luego hacer predicciones acerca de ellos sobre la base de un estereotipo que se asocia a cada categoría. De esta forma los estereotipos contienen las hipótesis estándar que uno hace sobre los demás miembros de dicha categoría. Los principales componentes de un estereotipo son: o Un cuerpo, que contiene información real de los usuarios a los que se les aplicó el estereotipo. o Un conjunto de condiciones de activación (disparadores) para aplicar el estereotipo a un usuario. El razonamiento del estereotipo significa evaluar las condiciones de activación de los estereotipos disponibles y, si una condición se cumple para el usuario actual, integrar el contenido del estereotipo correspondiente como supuestos dentro del modelo de usuario actual para este usuario en particular. 9

18 Datos de entorno Esto se refiere nada más que a la obtención de información sobre el hardware y el software utilizado. o Software.- En [3] se encontró que muchos sitios web toman en cuenta las limitaciones del software del navegador. La información sobre el cliente web se puede obtener de la cabecera de peticiones HTTP que se reciben por el servidor. Cada solicitud lleva a los valores de un número de variables (también llamados campos de encabezado). o Hardware.- de acuerdo a [3] las limitaciones de hardware son a menudo difíciles de evaluar. Algunos aspectos pueden ser detectados fácilmente, pero otras características de hardware, como el ancho de banda y la velocidad del procesador, son mucho más difíciles de determinar. Existen sistemas que tienen la capacidad de predecir el tiempo de descarga de objetos utilizando información hipermedia acerca de sus tamaños y los comentarios de las sondas de red que se inyecta en las páginas HTML solicitadas. Esta predicción puede ser utilizada como un factor en la determinación de la composición de adaptación de una página. Datos de uso El comportamiento del usuario no solo debe ser observado, sino también modelado como base para un sistema adaptativo. Los sistemas actuales deben aprender a interpretar las relaciones que se dan entre las situaciones que percibe el usuario y las acciones que realiza. A partir de estos datos se puede en cierta forma predecir comportamientos futuros del usuario para poder ofrecer las sugerencias y recomendaciones adecuadas y personalizadas. 10

19 De acuerdo a [3] varios algoritmos de aprendizaje máquina se han aplicado a los agentes, entre estos se puede mencionar: aprendizaje basado en la memoria (un tipo de aprendizaje basado en casos), el aprendizaje de refuerzo y la inducción de árboles de decisión (ID3). Además de aprender a predecir las acciones que un usuario puede realizar en una situación particular, también se puede tratar de predecir las secuencias de acción. b. Representación e Inferencia del Modelo Una vez que se obtiene los datos, es necesario representarlos dentro de un modelo. De acuerdo a [1] se puede obtener 3 tipos básicos de modelos acorde a su tipo de inferencia, estos modelos se exponen a continuación: Modelos explícitos. En este caso, los modelos de usuario se representan explícitamente en base a un conocimiento declarado previamente (por ejemplo, mediante reglas). Tienen la ventaja de que al ser modelos explícitos son fácilmente explorables y modificables [1]. Sin embargo si bien es cierto estos modelos son más fáciles de entender una vez construidos, es cierto también que son difíciles de construir y mantener. Modelos implícitos aprendidos. Tomando como referencia lo encontrado en [5], los modelos están basados en un conjunto de atributos calculados a través de la ejecución de tareas de aprendizaje automático. En estos modelos el sistema va a aprendiendo y construyendo sus modelos basado en interacciones anteriores. Poseen la ventaja de que se van actualizando automáticamente, no obstante tienen el problema de que no guardan un modelo explícito por lo tanto representan una dificultad a la hora de intentar interpretarlos y analizarlos. Modelos híbridos. Estos modelos combinan técnicas de los modelos anteriores con el objetivo de aprovechar las ventajas de cada uno. De esta forma se explota lo mejor de diferentes técnicas, obteniendo una que mejore los resultados que obtendrían cada una por separado. 11

20 Dentro de los modelos más utilizados se encuentran los híbridos ya que, como se mencionaba anteriormente, combinan diferentes técnicas para obtener mejores resultados. A opinión del autor este tipo de modelos son los más recomendables debido a que son más flexibles y eficaces a la hora de representar los diferentes modelos. c. Producción o realización de las tareas de adaptación Hasta ahora se ha tratado la recolección de datos y su representación en los modelos de usuario. A continuación se abordará la identificación de las tareas de adaptación que buscan la satisfacción del usuario. Dentro de un sistema adaptativo hipermedia se pueden diferenciar distintos niveles de adaptación de acuerdo al elemento que adapten, de acuerdo a [1] estos serían: Adaptación de contenido Su función es la de adaptar el contenido que se presenta al usuario dentro de la pagina, dándole un toque de personalidad basada en las preferencias del usuario. Para realizar este nivel de adaptación se debe utilizar los datos de usuario, de interacción y de entorno. Adaptación de enlaces Básicamente se personaliza el recorrido que realizará el usuario en el sitio web, adaptando la presentación de enlaces de interés para él. Dentro de un sistema adaptativo se puede implementar Sistemas Recomendadores que cumplen la función de brindar al usuario sugerencias acorde a sus preferencias, habilidades, destreza y falencias; para de estar forma mejorar la experiencia de usuario y contribuir en el desarrollo del usuario. A continuación se tratará mas sobre este tema. 12

21 1.3. Sistema Recomendador Lo que hace un sistema recomendador (SR) es básicamente, almacenar opiniones y preferencias de los usuarios sobre diferentes objetos de su interés, por ejemplo un tema en particular al que le viene dando seguimiento; una vez almacenada ésta información se compara el perfil del usuario con características de referencia dentro los temas, y se trata de predecir la importancia de cada ítem para un usuario específico, mostrándole las opciones más valoradas. Según [6] los SR nacen de los sistemas de recuperación de información, de los sistemas de ayuda y de los motores de búsqueda, pero se diferencian de estos en su personalización mediante técnicas de aprendizaje automático. La parte primordial de un SR es la personalización. El objetivo de ella es brindar a los usuarios lo que necesitan sin necesidad de preguntárselo explícitamente. El sistema infiere lo que el usuario necesita basándose en la información que ya posee sobre él, en datos de otros usuarios similares o en datos de su entorno. Dentro de la educación e-learning los Sistemas Recomendadores son parte esencial a la hora de potenciar el aprendizaje de los estudiantes; son muchas las ventajas que brindan los SR a la enseñanza, por ejemplo facilitando al estudiante documentos y artículos de su interés, o mostrándole opciones de cursos que pueden ayudarlo a superar inconvenientes en una determinada materia. a) Técnicas de recomendación Con base en la información de la que disponen los sistemas recomendadores (datos de los elementos, datos del usuario y algoritmos de recomendación), se distinguen, hasta ahora, 6 técnicas de recomendación: [6] Colaborativa: Se basa en acumular recomendaciones de los propios usuarios sobre los objetos y gustos a fines, a fin de generar nuevas recomendaciones a partir de estas para 13

22 ofrecer a otros usuarios. Esta técnica se refiere a una teoría basada en un análisis de los grupos implícitos que se encuentran por ejemplo en un curso, grupos de usuarios que se inclinan por contenidos similares, para aprovechar este punto y poder diseñar recomendaciones. Demográfica: Se basa en la clasificación de usuarios, creando grupos para poder realizar recomendaciones de acuerdo con cada grupo. Con esta técnica se realiza las recomendaciones de forma más general, ya que se toma en cuenta recomendaciones específicas para cada grupo. Basada en el contenido: Esta técnica realiza un análisis del perfil de usuario, es decir revisa los elementos del perfil y realiza recomendaciones de acuerdo a ellos. Se basa en el análisis de las características del perfil de usuario para adaptarse a cada uno de ellos y ofrecer recomendaciones personalizadas. Basada en el conocimiento: Lo que hace esta técnica es analizar como los elementos satisfacen las necesidades del usuario, estableciendo una relación entre la necesidad y la recomendación. Basada en la utilidad: No construye generalizaciones a largo plazo, sino que compara la necesidad del usuario con el conjunto de opciones disponibles, mediante una función de la utilidad de cada objeto para el usuario; esa función seria su perfil. [6] Basada en casos: Se basan en los resultados de casos anteriores para la resolución de un problema actual. Tanto la técnica basada en utilidad como la basada en casos utilizan Técnicas de Razonamiento Basado en Casos (CBR). 14

23 b) Algoritmos de recomendación Por lo general los SR parten de un Algoritmo Global para realizar la recomendación, este debe encontrar la verosimilitud entre un usuario y las preferencias del mismo [6]. De acuerdo a [6] para realizar una recomendación, los algoritmos suelen basarse en el usuario o en los elementos. Aquellos algoritmos que se basan en el usuario usan técnicas como la del vecino más cercano o la de los K-Vecinos más cercanos y luego combinan las preferencias de los vecinos para producir una recomendación para el usuario activo. En cambio los algoritmos que se basan en los elementos se apoyan en la teoría de que un usuario estaría interesado en elementos similares a los que antes ya le interesaron, de esta forma busca dentro del conjunto de ítems que el usuario ha usado y ponderado, realiza un cálculo de la similitud con el ítem objetivo, y seleccionan los k mas aproximados. Según [7] existen diferentes categorías de algoritmos utilizados para los Sistemas Recomendadores, entre ellos se puede distinguir los siguientes (se dará breves descripciones, si se desea profundizar más sobre el tema puede revisarse [7]): o Algoritmos de Filtrado basados en Memoria y basados en Modelos Según [7] los Modelo basados en algoritmos de filtrado suelen tener un enfoque probabilístico que contempla el proceso de recomendación como el cálculo del valor esperado dentro de un rango de las preferencias de usuario. o Algoritmos Híbridos De acuerdo a [7] los algoritmos híbridos utilizan una combinación de varias técnicas para formar una sola. Lo que se trata de hacer es utilizar las mejores funcionalidades de cada técnica y combinarlas a fin de obtener mejores resultados. Entre los principales algoritmos se tiene: Filtrado Colaborativo impulsado por el contenido. Filtrado colaborativo como un problema de aprendizaje de máquina 15

24 o Algoritmos Numéricos y No-Numéricos Según [7] esta clasificación sólo distingue a los algoritmos de filtrado que se emplea algún tipo de método numérico a fin de generar sus predicciones. La importancia de la utilización de un método numérico se encuentra en el hecho de que se basa en fundamentos matemáticos. Estos algoritmos son: El filtrado colaborativo como un sistema de clasificación de problemas de aprendizaje y el filtrado colaborativo utilizando LSI / SVD Diagnóstico de la Personalidad. Existen muchos otros algoritmos de recomendación, sin embargo la elección del más adecuado dependerá del tipo de implementación que se desee realizar y de la arquitectura con que se va a trabajar. Los algoritmos que se utilizarán para el presente proyecto cumplirán con la finalidad de agrupar y clasificar instancias, a estos algoritmos se los llama Algoritmos de Clasificación y a continuación se habla de ellos Algoritmos de Clasificación El proceso de clasificación es un factor importantísimo al momento de construir un Sistema Recomendador, debido a que es aconsejable trabajar con grupos de datos clasificados acorde a sus similitudes, con esto se facilita el brindar una recomendación al usuario ya que la información que a él le interese estará ya en un grupo a fin. Existen 2 grandes familias dentro de los algoritmos de clasificación, por un lado está la clasificación no supervisada también denominada clustering que según [8] orienta el proceso de clasificación como la deducción de las clases del problema; de esta forma, los objetos se presentan descritos por un vector de características, pero no está claro a qué clase pertenecen, el objetivo de estos algoritmos será entonces descubrir y crear grupos de objetos afines que dividan las clases del problema clasificatorio. 16

25 Por otro lado está la clasificación supervisada que, de acuerdo a [8] orienta la clasificación de forma diferente ya que, parte de un conjunto de objetos descritos por un vector de características y la clase a la que pertenecen, a este conjunto se le llama conjunto de entrenamiento, cuando se tiene los datos en una base de datos se lo llama también base de datos de entrenamiento; basándose en este conjunto de entrenamiento la clasificación supervisada construye un modelo que servirá para clasificar nuevos objetos de los cuales no se conozca su clase. Para realizar el análisis de los datos existen algunas herramientas, una de las más usadas es sin lugar a dudas WEKA 4 ; dentro de ella se puede encontrar muchísimos algoritmos para realizar este tipo de tareas de clasificación. A continuación se habñará un poco más sobre estas 2 grandes familias de algoritmos de clasificación. o Clasificación No Supervisada (Clustering) El clustering se refiere a la agrupación o aglomeración de casos dentro de los denominados clústeres; un clúster no es otra cosa que una agrupación de elementos con características similares. De acuerdo a [8] existen 2 grandes grupos de métodos de clustering: los jerárquicos y los no jerárquicos o particionales. En los jerárquicos, el hecho de pertenecer a un clúster en un nivel jerárquico significa pertenecer también a clústeres de un nivel superior. Según [8] los métodos particionales obtienen una sola partición de los datos de la optimización de funciones. Para la creación de clústeres existen algunos algoritmos interesantes, entre los más utilizados se puede destacar los siguientes: k-medias.- En base a [9] este es un algoritmo de particionado y recolección. Es el algoritmo más utilizado en aplicaciones científicas e industriales. Su nombre se debe a que representa cada clúster por la media o media ponderada de sus puntos, o sea por su 4 17

26 centroide. Este método se aplica exclusivamente a atributos numéricos y es considerado un método de particionado y recolocación. Entre las principales ventajas que presenta este método se puede mencionar que es bastante veloz y bastante eficiente de acuerdo a trabajos realizados con él. De acuerdo a [10] los pasos que sigue el algoritmo k-means son los siguientes: 1.Ubicación tentativa de los centros iniciales de las clases 2.Asignación de las observaciones a la clase más cercana 3.Determinación de los nuevos centros de las clases 4.Verificar si se cumple alguno de los criterios de finalización del algoritmo. En el caso de no satisfacerse el criterio de convergencia se vuelve a la etapa 2. Los pasos expuestos anteriormente se puede decir que tratan de expresar el funcionamiento básico del algoritmo, no obstante existen muchas versiones del mismo y de acuerdo a [8] dependen totalmente del criterio de optimización seleccionado. Algoritmo EM (Expectation Maximization).- el algoritmo EM asigna a cada instancia una distribución de probabilidad de pertenencia a cada clúster [9]. El algoritmo va decidiendo cuantos clústeres crear basándose en validación cruzada o se puede especificar cuantos clústeres crear. Usa el modelo Gaussiano finito de mezclas, asumiendo que todos los atributos son variables aleatorias independientes. De acuerdo a [8] el algoritmo EM trata de maximizar la probabilidad del modelo a partir de los datos incompletos. De acuerdo a [11] el algoritmo EM trata de obtener la FDP (Función de Densidad de Probabilidad) desconocida a la que pertenece todo el conjunto de datos. y básicamente consta de 2 pasos primordiales que se repiten iterativamente: Paso E(Expectation).- Utiliza los valores de los parámetros, iniciales o proporcionados por el paso Maximization de la iteración anterior, obteniendo diferentes formas de la FDP buscada [11]. 18

27 Paso M(Maximization).- Obtiene nuevos valores de los parámetros a partir de los datos proporcionados por el paso anterior [11]. Después de varias iteraciones de los pasos expuestos anteriormente se obtiene un conjunto de clústeres que se reparten las instancias del conjunto original. De acuerdo a [9] el algoritmo EM es mucho más elaborado que el k-medias, ya que requiere muchas más operaciones. o Clasificación Supervisada Ya se hizo antes una pequeña descripción sobre a lo que se refiere la Clasificación Supervisada anteriormente, a continuación se coloca algunos de los algoritmos de este tipo que más se utilizan para este tipo de proyectos: C4.5.- Este algoritmo fue introducido dentro de la comunidad Machine Learning por Quinlan y sirve para representar una serie de condiciones categorizándolas; para ello se valen de los árboles, los cuales se utilizan para ir dividiendo la información en diferentes grupos. De acuerdo a [12] el proceso que sigue este algoritmos es el siguiente: Inferir el árbol con el conjunto A Establecer todas las posibles podas del árbol (convirtiendo los caminos desde la raíz en reglas de decisión y eliminando precondiciones) Para cada poda medir el error respecto del conjunto V Ordenar los mejores resultados y aplicaros en la fase de test. Dentro de la aplicación WEKA se puede encontrar una implementación propia de este algoritmo llamado J48, el cual potencia las funcionalidades del algoritmo C4.5, por ejemplo realiza el proceso de post-poda mediante el método reduceerrorprunnig que se encarga de la reducción del error. 19

28 Reglas de Decisión.- Su funcionamiento es muy parecido al de los árboles de decisión; la diferencia radica en que las reglas de decisión utilizan reglas que van clasificando la información en lugar de árboles. Una de las principales ventajas sobre los árboles de decisión es que son más fáciles de comprender y utilizar. Los dos algoritmos que sobresalen en este grupo son los algoritmos AQ y el CN2 que tienen un funcionamiento bastante parecido; otro algoritmo bastante utilizado es el JRip que se puede encontrar también dentro de la herramienta WEKA. Clasificadores Bayesianos.- De acuerdo a [13] La Teoría de Bayes proporciona un método para el cálculo de probabilidades condicionadas (a posteriori). Este tipo de técnica utiliza grafos cíclicos dirigidos mediante los cuales va clasificando los casos. El clasificador de este tipo más conocido es el Naive Bayes. En [13] se encontró que si en la aplicación del teorema de Bayes a la clasificación de documentos se asume la independencia entre los rasgos de un documento se tiene un clasificador bayesiano ingenuo (naïve). Clasificador NaiveBayes.- Considerando lo mencionado en [14] este algoritmo toma la hipótesis de que las variables que describen las instancias son estadísticamente independientes. A partir del conjunto de datos de entrenamiento se calcula una probabilidad a priori de que una instancia pertenezca a una clase, además se calcula la probabilidad condicional de que un determinado atributo adopte un valor si la instancia pertenece a una determinada clase, luego de obtener estos datos se puede calcular la probabilidad de que una instancia pertenezca a una determinada clase cuando sus atributos toman diferentes valores aplicando la fórmula de bayes Búsqueda y análisis de sistemas recomendadores Se ha optado por buscar algunas alternativas de SR para realizar la experimentación con recomendaciones y que pueda llevarse a cabo a través de la plataforma dotlrn instalada y que además sea de licencia gratuita. 20

29 Entre los Sistemas Recomendadores (SR) más importantes que se encontró en la web se puede mencionar los que se muestran en la tabla 1.1. SR Descripción Problema Link o Remashed Sirve para definir que les gusta a los usuarios y que no dentro de un entorno Web 2.0 Solo disponible para interactuar con ciertos Servicios Web / Prastava Sistema recomendador open source basado en ruby 5. Requeriría un largo proceso de adaptación a la plataforma. Además de poseer algunas limitantes en base a nuestros requerimientos. edu.sg/~lmthang/pra stava/ Duine Duine es una colección de bibliotecas de software que permite a los desarrolladores crear motores de predicción para sus propias aplicaciones. Un motor de predicción es un componente que predice cómo los usuarios se interesan en determinados componentes. No fue construido para un entorno e- learning por lo que al igual que el caso anterior requeriría un largo proceso de adaptación a la plataforma mework.org/ Recommenderorg Es un sistema de recomendaciones genéricas que se puede utilizar para crear un entorno personalizado de sitios web, así como aplicaciones de escritorio. No fue construido para un entorno e- learning por lo que al igual que el caso anterior requeriría un largo proceso de adaptación a la plataforma t/projects/recommen der-org/ 5 Lenguaje de programación interpretado, reflexivo y orientado a objetos. 21

30 Scout Portal Toolkit (SPT) SPT permite a las organizaciones que tienen colecciones de conocimiento o recursos que desean compartir poner esa colección en línea sin una gran inversión en recursos técnicos. Dentro de esta herramienta viene incluido un SR. Incompatible con nuestro modelo. g/project/scoutportal Toolkit/ Sistema Recomendador de la Open University of the Netherlands Este sistema desarrollado por Hendrik Drachsler, Hans G.K. Hummel y Rob Koper de la Open University of the Netherlands propone (de acuerdo a los propios autores) una combinación de técnicas de recomendación basadas en memoria adecuadas para realizar recomendaciones personalizadas sobre las actividades de aprendizaje en el contexto de e- learning. Se ha intentado conseguirlo pero aún no se ha tenido éxito. u.nl Sistema Recomendador desarrollado por la UNED 6 Este sistema ha sido desarrollado por miembros del equipo adenu 7 de la UNED y fue diseñado para trabajar con la plataforma dotlrn. Aún no se encuentra disponible en la web. Tabla 1.1. Otros Sistemas Recomendadores es/ 6 Universidad Nacional de Educación a Distancia 7 Adaptive Dynamic online Educational systems based on User modelling 22

31 De los sistemas analizados, a excepción del SR de la UNED, se observa algunas limitaciones y contratiempos, entre las principales se puede mencionar las siguientes: El sistema no se adapta a nuestros requerimientos. El sistema no fue diseñado para trabajar con dotlrn y por ende requiere de una fuerte etapa de adaptación a la plataforma. No se recibió respuestas alentadoras ante las solicitudes enviadas Descripción y análisis del sistema recomendador desarrollado por la UNED El sistema recomendador con el cual se podría realizar la experimentación es el desarrollado por la UNED. A continuación se describe los componentes utilizados dentro de este sistema, pasando luego por la descripción de los modelos y técnicas utilizadas Modelo de Recomendaciones de dotlrn En [15] se encontró que las experiencias de trabajos realizados en esta área muestran que las recomendaciones se basan en información relevante sobre el alumno individual y las actividades disponibles, información sobre la Ruta de aprendizaje; es decir el historial de los alumnos y sus actividades. Además debe tenerse en cuenta los requisitos de accesibilidad y capacidades de los dispositivos. Para contribuir en la mejor identificación de recomendaciones existen muchos modelos ya desarrollados, en particular existe un modelo en él que se define un conjunto de elementos que facilitan el proceso de ejecución. Este modelo cubre los siguientes objetivos: Servir de apoyo al diseñador en la descripción de las recomendaciones en escenarios de aprendizaje inclusivo. 23

32 Presentación de información adicional que explica por qué la recomendación ha sido ofrecida. Solicitar al usuario la ayuda necesaria para mejorar la recomendación, esto se realiza mediante comentarios pedidos al usuario una vez que evidenció interés por la recomendación. Estructura de la Recomendación Según [15] se presenta al usuario una lista con una o más recomendaciones. Ésta lista consta de: Un texto introductorio para el usuario. Una lista de recomendaciones que el usuario puede elegir si seguir o no. Cada una de estas recomendaciones describe una acción sugerida para ser realizada por el usuario, está recomendación contiene un link. De acuerdo a [15] la recomendación se estructura como sigue: El contenido: la recomendación que se muestra al usuario; incluye el link. El texto: el texto que figura en el enlace. El título: el atributo título del enlace. El puntero: el URI que abre el vínculo, puede ser una URL o un identificador de objeto dentro del Sistema de Gestión de Aprendizaje. El tipo: puede ser interno al Sistema de Gestión de Aprendizaje o externo si se apunta a una URL, tanto de dentro o de fuera del Sistema de Gestión de Aprendizaje. Las recomendaciones deben ser ofrecidas al usuario en todo momento como una sugerencia para mejorar y facilitar su estudio; no se debe colocar las recomendaciones de tal forma que el usuario sienta que se le quiere obligar a usarlas, las recomendaciones no deben dejar de ser eso, recomendaciones. 24

33 El usuario podrá acceder a cualquier recomendación cuando él así lo requiera El modelo de datos El modelo de datos de este SR es bastante amplio, dentro de él se almacenan campos importantes que sirven de base para la identificación de recomendaciones. En este modelo se pueden encontrar tablas que almacenan campos como: el nivel de interés del usuario, el nivel de colaboración, los servicios requeridos, las competencias, el nivel de conocimiento requerido, explicaciones a las recomendaciones, tipos de recomendación, las preferencias de accesibilidad, etc. Cabe recalcar que se debe analizar profundamente con que tablas y con qué campos se puede trabajar, para poder realizar una extracción y procesamiento adecuados. Por lo general este tipo de modelos son complejos de manejar, es por esto que hay que poner especial atención a la hora de manipularlos. Como se pudo observar en la tabla 1.1 el único SR open source que se puede adaptar a nuestras necesidades y a la plataforma dotlrn, es el desarrollado por la UNED, pero existe el inconveniente que no se encuentra aún disponible en la web; y en cambio para trabajar con alguno de los otros SR sería necesario, como ya se mencionaba anteriormente realizar un fuerte proceso de adaptación del SR de acuerdo a nuestros requerimientos, y para hacer eso se requeriría de un tiempo y esfuerzo superior a los planificados para la presente tesis, por lo que la experimentación con el SR se lo podría considerar para un trabajo futuro. 25

34 Capítulo 2: Instalación y configuración de la plataforma e-learning dotlrn 26

35 La plataforma dotlrn posee algunos componentes necesarios para su instalación, configuración y uso; en este capítulo se describirá cada uno de esos componentes, además del proceso de instalación y configuración de la plataforma Plataforma dotlrn Como se había mencionado una de las plataformas e-learning mas utilizadas actualmente es.lrn. Ésta plataforma viene siendo utilizada por numerosas Universidades y cuenta con funcionalidades bastante completas. De acuerdo a [16].LRN es una plataforma open source para apoyar el aprendizaje electrónico y las comunidades digitales. Originalmente desarrollado en el MIT (Instituto Tecnológico de Massachutets). LRN es utilizado en todo el mundo por más de medio millón de usuarios en la educación superior, el gobierno, etc. Son cada vez más los centros universitarios que acogen a dotlrn como plataforma en su afán de mejorar la educación electrónica. En la Fig se muestra un diagrama detallado de la arquitectura de dotlrn, el cual puede encontrarse en [17]; un modelo más detallado puede encontrarse en [18]. A continuación se describen los componentes de la arquitectura de dotlrn: OpenACS OpenACS es la base para la plataforma.lrn y es un kit de herramientas Open Source para el desarrollo de aplicaciones con licencia GPL. OpenACS usa el servidor web AOLserver y las bases de datos Oracle y PostgreSQL, para el presente trabajo se usará esta última. Según [17] OpenACS consta de una colección de paquetes o módulos cuya funcionalidad es de dos tipos: 27

36 Aplicaciones: usados directamente por el usuario. Servicios: dan funcionalidad a las capas superiores o a otros paquetes Por tanto, un paquete puede ser una aplicación cliente, dar servicio a otros paquetes (ya sean de la misma capa o de otra superior) o tener ambas funcionalidades. AOLserver Según [19] AOLserver es un servidor web open source de America Online. Tiene procesamiento multihilo, soporte para Tcl, y se usa para sitios web dinámicos de gran tamaño. AOLserver se distribuye bajo la licencia AOLserver Public License, que es similar a la de Mozilla (Mozilla Public License). AOLserver se considera el primer servidor HTTP en unir el procesamiento multihilo, el lenguaje interpretado de serie y y el procesamiento de colas de conexiones persistentes a la base de datos. PostgreSQL Según [20]: postgresql es un potente motor de bases de datos, que tiene prestaciones y funcionalidades equivalentes a muchos gestores de bases de datos comerciales. Es más completo que MySQL ya que permite métodos almacenados, restricciones de integridad, vistas, etc. aunque en las últimas versiones de MySQL se han hecho grandes avances en ese sentido. TCL De acuerdo a [21] Tcl (Tool Command Language) es un poderoso lenguaje de programación dinámico, adecuado para una gama muy amplia de aplicaciones, incluyendo 28

37 aplicaciones web y de escritorio, redes, administración de pruebas y muchos más; de código abierto y amigable a los negocios. Se combina con Tk (Tool Kit) que es un conjunto de herramientas de interfaz gráfica de usuario para el desarrollo de aplicaciones de escritorio a un nivel superior a los enfoques convencionales. Tk es la interfaz de usuario estándar no sólo para Tcl, sino para muchos otros lenguajes dinámicos, y puede producir aplicaciones nativas que se ejecutan sin cambios en Windows, Mac OS X, Linux y más. Fig Arquitectura de dotlrn - tomada del artículo Una plataforma de teleeducación de código libre dotlrn (Gutiérrez, I. 2008) Características y Herramientas de dotlrn Dentro del portal se puede encontrar varios elementos que sirven para la interacción del usuario con el sistema, sus compañeros y su profesor, a continuación se mencionan algunos de los más importantes: Foros de Discusión.- Se refieren a actividades de colaboración entre miembros de la plataforma. Por lo general es el profesor quien los inicia, luego los alumnos revisan el tema y dan sus respuestas iniciando así una 29

38 discusión que se extiende dentro de un determinado marco de tiempo en la cual participan tanto estudiantes como profesores. Agendas y Eventos.- Es una herramienta que permite manejar una agenda dentro de la plataforma. El usuario puede usar todas las características de una agenda como agregar eventos y recordatorios en una fecha determina; además se puede sincronizar las agendas del usuario con agendas de cursos y comunidades. Noticias.- Mediante esta utilidad el usuario puede recibir notificaciones con las noticias más importantes referentes al curso. Estas noticias son ingresadas por el profesor. Notificaciones.- El usuario puede recibir notificaciones a su si así lo requiere; para esto cuenta con esta utilidad que le permite decidir si quiere o no ser notificado de las diferentes acciones en el curso a su . UserTracking.- El UserTracking es básicamente un manejador de estadísticas mediante el cual un usuario puede revisar sus datos personales y sus datos de interacción con el sistema, por ejemplo puede revisar cosas como su id, el número de mensajes que ha posteado, los archivos que ha subido, su último acceso, etc. Faqs(Preguntas Frecuentes).- Aquí se puede encontrar ayuda adicional referente a inquietudes comunes de los usuarios. Documentos del Curso.- sirve para revisar todos los documentos y archivos que se encuentran dentro del curso. Mapa del Sitio.- da una visión tipo mapa, una versión categorizada del sitio. 30

39 Otra de las herramientas utilizadas en dotlrn es el Tracking and Audit Module (TAM), desarrollado por el grupo adenu de la UNED, éste es un módulo de seguimiento y auditoría, para registrar la información de la interacción de los usuarios con la plataforma en archivos de log. Para este proyecto los archivos serán facilitados por la UNED Instalación de dotlrn En primera instancia el proceso de instalación se llevó a cabo en Ubuntu 9.04, y pese a encontrar muchas dificultades para llevar a cabo este proceso finalmente se consiguió alcanzar el objetivo. Los pasos que se llevaron a cabo para lograr la instalación pueden observarse en el Anexo 1. No obstante en base a algunos inconvenientes encontrados y por simple facilidad de uso se realizó una instalación en Windows XP. Dicha instalación se llevó a cabo de forma correcta y en estos momentos el servidor dotlrn se encuentra funcionando adecuadamente. La versión Open-ACS instalada es la 1.19 lanzada el 11 de Noviembre del 2009, y sus componentes software se detallan a continuación (esta información puede encontrarse en [22]): 1. aolserver que incluye: a. nssha b. nspostgres 4.1 c. nsoracle 2.8a1 d. nsopenssl tcl tk tdom xotcl thread tcllib

40 8. postgresql openssl k 10. openacs xowiki dotlrn Paquetes Binarios externos: a. wget b. convert, cp, cvs, date, diff, ftp, gzip, iconv, ln, ls, mkdir, mv, pdftk, ps, rm, rmdir, sh, shutdown, tar c. htmldoc d. trml2pdf Este instalador es soportado por los siguientes sistemas operativos tanto para las versiones de 32 y de 64 bits: Windows XP Windows Vista Windows 7 Windows Server 2003 Windows Server 2008 La instalación del servidor dotlrn se realizó en Windows XP Service Pack 2 de 32 bits, y las características relevantes del equipo en que se llevó a cabo son las siguientes: Procesador Intel Core 2 Duo GHz RAM: 1GB Espacio en Disco: 266 MB Tarjeta de Red: Broadcom NetLink Gigabit Ethernet Los pasos para realizar la instalación pueden encontrarse en [22] y se muestran a continuación: 32

41 1. Descargar el instalador desde la siguiente dirección: 2. Correr el instalador win32-openacs.exe. 3. Se sigue las instrucciones del instalador. 4. Esperar a que el instalador copie todos los archivos necesarios y solicite su permiso para continuar y luego presionar el botón "Ok" realicen el siguientes pasos. 5. Esperar a que el instalador complete la instalación de PostgreSQL, cree algunas bases de datos iniciales, instale el Microsoft VC , creee y levante OpenACS y dotlrn, y luego pulsar el botón "Ok" para continuar. 6. El programa de instalación le informa sobre las acciones realizadas durante la instalación. Pulsar el botón "Next" para continuar. 7. El instalador debe reiniciar su equipo para completar la instalación. Pulsar el botón "Finish" para reiniciar su sistema. 8. Luego de Reiniciar el Sistema se puede ya empezar a utilizar dotlrn como puede verse en la siguiente figura(agregar pantallazo de maquina virtualización): 2.3. Problemas en la Instalación Tras realizar la instalación en Ubuntu se encontró algunos problemas que en su mayoría tenían que ver con las versiones de cada componente; es preciso ser muy cuidadoso con las versiones instaladas y su compatibilidad; en este caso particular el principal problema fue que pese a tratar de seguir al pie de la letra las indicaciones brindadas por la página oficial de OpenACS algunos repositorios en los cuales se alojaban los componentes ya no se encontraban disponibles por lo que era necesario recurrir a otros, o surgía la necesidad de bajar los paquetes uno por uno para luego tratar de instalarlos y acoplarlos, esto a la final puede crear algunos problemas que no son sencillos de resolver. No obstante para resolver el problema referente a la instalación se recurre a realizar la instalación en Windows XP, la cual se realizó con éxito y sin eventualidades. 33

42 2.4. Configuración de dotlrn El proceso de configuración se desarrollo sin inconvenientes y a continuación se detalla: Una vez instalado, los servicios se inician automáticamente, por lo que solo se deberá entrar a la pestaña Open Dotlrn dentro del grupo Win32-OpenACS, el cual se encuentra en Todos los programas en el menú Inicio. Si dotlrn no se levanta se puede dar click en Start Dotlrn dentro del mismo grupo. Una vez iniciado dotlrn se debe ingresar primeramente con los datos por defecto. Luego de ingresar se puede observar una pantalla como la mostrada en la figura 2.2. Aquí ya se puede empezar a crear y a editar cursos. Fig Vista de la plataforma dotlrn instalada Si se desea detener el servidor simplemente hay que dar click en Stop Dotlrn dentro del grupo Win32-OpenACS. 34

43 Actualmente el servidor dotlrn se encuentra funcionando correctamente y corriendo en la dirección: 35

44 Capítulo 3: Obtención de datos de interacción 36

45 Como se mencionó en un inicio existen tres fases primordiales que se deben llevar a cabo en todo proceso de adaptación, estas fases son: Adquisición de datos, Representación e Inferencia en los modelos y Producción o realización de las tareas de adaptación, este capítulo se centrará en las 2 primeras y dejará la tercera para los capítulos 5 y 6, es así que en el presente capítulo primero se realizará una descripción de la experimentación realizada sobre la plataforma dotlrn para luego proceder ya a describir el proceso de obtención de los datos y finalmente realizar una descripción del desarrollo del modelo de datos que almacenará la información necesaria para realizar una minería de datos con miras a obtener información útil para la identificación de recomendaciones 3.1. Descripción del proceso de aprendizaje en dotlrn Fueron un total de 30 estudiantes (31 usuarios si se cuenta al profesor) de la materia Fundamentos Informáticos (periodo Oct/2009-Feb/2010) que durante un período de 2 semanas tuvieron acceso a la plataforma dotlrn, instalada y configurada en la siguiente dirección: El acceso a este sitio fue proporcionado por integrantes del grupo adenu de la UNED En la Figura 3.1 se puede observar una captura de la interfaz gráfica del portal. Fig Interfaz Gráfica del Portal 37

46 Dentro de la plataforma el profesor puede realizar diferentes acciones, entre las principales se puede mencionar las siguientes: Crear o eliminar cursos.- se crean a manera de comunidades para que los estudiantes puedan inscribirse o darse de baja. Crear, editar o eliminar foros.- estos se crean dentro de los cursos. Añadir, editar o eliminar preguntas frecuentes (faqs).- útiles a la hora de consultas habituales. Añadir, editar o eliminar Noticias.- de mucha ayuda como medio informativo. Subir o eliminar archivos.- que pueden ser compartidos dentro del curso. Añadir, editar o eliminar notificaciones.- ayudan para informar al estudiante. Ingresar, editar o eliminar eventos.- dentro de la agenda para informar al estudiante sobre fechas importantes. Además de las acciones antes listadas tanto el profesor como los estudiantes tienen acceso a las diferentes herramientas disponibles dentro de la plataforma; estas herramientas son: Foros Calendario Faqs (preguntas frecuentes) Panel de control Noticias Mapa del sitio Archivos Agenda y eventos User Tracking De entre todas las herramientas dentro de la plataforma, la presente Tesis se centra exclusivamente en la obtención de los datos de la interacción en los Foros planteados, que correspondían a los temas: 38

47 Internet y sus Aplicaciones La necesidad pone en peligro la Web Presencia Web 2.0 La interacción sobre estos foros se refiere básicamente a las visitas a foros y mensajes, ingreso de mensajes e inicio de hilos Interacción con los Foros Dentro de la plataforma dotlrn una de las principales herramientas es sin duda la herramienta foros; el profesor puede crearlos y administrarlos para de esta forma tratar diferentes temáticas con los estudiantes, los cuales pueden acceder a la información y participar activamente en ellos. La información de la interacción de los usuarios con la plataforma se almacena en los archivos de log llamados tam-events, proporcionados por la UNED, ésta información contiene especificaciones básicas concernientes a las acciones del usuario sobre los diferentes objetos de la plataforma; no obstante lo que interesa para la presente tesis son específicamente los foros, ya que la idea es identificar recomendaciones relacionadas con la lectura e ingreso de mensajes en esta herramienta. Los archivos de logs facilitan información útil relacionada con la interacción de los usuarios en la plataforma, sin embargo existe también la herramienta User Tracking que maneja estadísticas sobre datos personales y de interacción con el sistema, la cual brinda una ayuda adicional para obtener información. 39

48 Tablas de dotlrn relacionadas con la información almacenada en el archivo de log tam-events Dentro de este archivo de logs se almacenan campos como: Tiempo de inicio sobre acción Tiempo de fin sobre acción Duración de acción Fecha Id del paquete Id de la sesión Id del usuario Ip desde la cual se accede Locación del objeto Url El archivo u objeto al que se está accediendo El objeto sobre el cual ocurre el evento. Estos campos están relacionados con información almacenada en la base de datos de dotlrn, parte de esta relación puede observarse en la figura

49 Fig Relación entre algunas de las tablas de la base de datos de dotlrn y el archivo de logs Tablas de dotlrn relacionadas con la interacción en los foros Como ya se había mencionado de entre toda la interacción del usuario con la plataforma y sus herramientas nos interesa exclusivamente la interacción con los foros, es por esto que únicamente se utilizará la información del archivo de logs que tenga que ver con ellos. La figura 3.3. muestra la relación entre las tablas de la base de datos de dotlrn más 41

50 representativas con respecto a los foros y que se relacionan con la información almacenada dentro del archivo de logs. Fig Relación entre el archivo de logs y algunas de las tablas de la base de datos de dotlrn 3.3. Recolección de datos de interacción en la plataforma A partir de los archivos de logs se extraerá la mayor cantidad de información para obtener nuevos datos de interacción. Es necesario recalcar que mucha de la información obtenida desde los archivos de logs no es información concisa; ya que no informa de manera clara algunos de los eventos realizados por el usuario en la plataforma, es por esto que se utilizó también la información obtenida desde la herramienta User Tracking para complementar y reforzar estos datos, para de esta manera tener datos más precisos. El número total de usuarios almacenados en la tabla users (se describirá más adelante) es actualmente de

51 Herramientas utilizadas para el procesamiento de datos Para obtener los datos de interacción se realizará un proceso paulatino; se desarrollará cada una de las fases necesarias para poder llegar a la obtención de estos datos. Para esto, además de las herramientas ya descritas, se utiliza las siguientes: Lenguaje de programación Java. IDE - Netbeans Plugin para Netbeans Jasper Reports. Base de datos PostgreSQL. Proceso de configuración de las herramientas para el procesamiento de datos Instalación de las herramientas a. PostgreSQL Como se mencionó anteriormente PostgreSQL es un potente gestor de bases de datos de código abierto y nos servirá para crear nuestra base de datos. Primeramente se descarga el instalador de postgresql, para este caso se descargó postgresql Plus Una vez descargado el software se realiza la instalación que es totalmente sencilla. b. Java y NetBeans Primero se instala el lenguaje de programación java y una vez instalado se procede a instalar el IDE NetBeans que nos ayudara en el proceso de escribir código java. c. Plugin ireport para NetBeans Existe un plugin de ireport que se puede descargar para NetBeans, para este caso se descargó el ireport-nb plugin 9. Este plugin se instala desde NetBeans, una vez instalado se encontrará que ya se puede añadir reportes en NetBeans como se ve en la Fig Este plugin es de mucha utilidad para realizar distintos tipos de reportes

52 Fig Uso de JasperReports Proceso de extracción de datos Los datos de las acciones del usuario sobre los objetos de la plataforma se almacencan en una tabla llamada action_object dentro de la Base de Datos MineriaDeDatos en postgresql. Estos datos de usuario se obtienen desde los archivos de logs. Cabe recalcar que para trabajar de mejor manera se realizó un proceso de depuración sobre el archivo de logs, este proceso de depuración consiste básicamente en la estandarización de los elementos dentro del archivo; esto se refiere a poner en un lenguaje común a cada elemento, por ejemplo en algunos campos se puede encontrar secuencias de caracteres precedidas del signo % como las siguientes: %5f %2d %2f %3f %3d, etc. 44

53 Este tipo de cadenas no son otra cosa que la representación ASCII en hexadecimal de algunos caracteres especiales, el signo % nos indica que a continuación se introduce un código ASCII hexadecimal, por ejemplo %5f nos indica con el signo % que 5f es una representación ASCII hexadecimal es decir 5f representa el carácter especial _. Sin embargo no todos los datos tienen este tipo de representaciones, existen algunos que utilizan los caracteres directamente, es decir en lugar de colocar %5f colocan directamente _, esto varía principalmente por cuestiones de navegador y configuraciones relacionadas al navegador. Para realizar un mejor proceso de extracción de los datos se creyó conveniente la estandarización de los elementos y para realizarla se realizó un simple proceso de remplazo de caracteres automático. Una vez se tiene los datos estandarizados se procede a realizar la extracción de los mismos desde el archivo de logs hacia la base de datos en PostgreSQL, para esto se ha creado una pequeña aplicación ETL 10 hecha en Java que básicamente hace lo siguiente: Leer desde el archivo. Extraer los datos. Transformarlos. Almacenarlos en la base de Datos PostgreSQL. Es decir realiza el proceso normal que lleva a cabo cualquier aplicación ETL. Una vez se cuenta con datos en la tabla action_object se empieza a realizar el proceso de extracción de datos de interacción, para esto hemos desarrollado otra aplicación ETL en Java que se encarga de obtener información desde la base de datos, procesarla, y una vez procesada 10 Extract, transform and load. Se refiere al proceso de extraer los datos transformarlos de acuerdo a las necesidades y luego cargarlos en una base de datos. 45

54 enviarla a la tabla user_interaction, que almacenara la interacción que el usuario mantiene con la plataforma Modelo de datos desarrollado Para poder analizar la información necesaria para la identificación de las recomendaciones dentro de la plataforma es necesario analizar y desarrollar un modelo de datos en donde se almacenará información referente al usuario y su interacción con el sistema. Este proceso como se mencionó antes se desarrolló con la ayuda de aplicaciones ETL. Una vez se posee esta información dentro de las tablas se puede realizar un proceso de minería de datos a fin de realizar la clasificación de usuarios, de este punto se hablará más adelante. Descripción de las tablas Las tablas utilizadas tienen cada una, una función en especial, a continuación se describe cada una de ellas: a. users.- en esta tabla se almacenan los datos correspondientes a la información de cada usuario. Para obtener estos datos se utilizó la utilidad UserTracking desde donde se extrajo los datos de cada usuario. En la Tabla 3.1 se describen los campos de la tabla usuario. TABLA users Campo Descripción Tipo user_id identificador del usuario. integer first_name nombre del usuario. text last_name apellido del usuario. text mail mail del usuario. text Tabla 3.1. Descripción de campos de la tabla users 46

55 b. action_object.- dentro de esta tabla están almacenados los datos obtenidos a partir del archivo tams-events. En la Tabla 3.2 se describen los campos de action_object. TABLA action_object Campo Descripción Tipo action_id (PK) action_start action_finish clave primaria que sirve como identificador de la acción. tiempo de inicio de la acción (en formato UNIX-TIME). tiempo de finalización de la acción (en formato UNIX- TIME). integer integer integer ses_id identificador de sesión. integer user_id identificador de usuario. integer ip dirección ip. text url url del objeto. text object_type objeto al que se accedió. text object_name identificador del objeto sobre el cual se realiza la acción. text action_date fecha en la que se realizó. text Tabla 3.2. Descripción de campos de la tabla action_object En la Figura 3.5 puede observarse la estructura de la tabla y algunos de sus datos dentro de postgresql. Fig Vista Parcial de los datos de la Tabla action_object 47

56 Obtención de datos de interacción a partir de los datos de usuario Para obtener los datos de interacción necesarios se requirió la extracción y procesamiento de los datos de las tablas action_object y users previamente mencionadas. Es necesario realizar un procesamiento de los datos a fin de obtener nuevos campos que nos ayudarán en el desarrollo de nuestro proyecto, para ello se ha elaborado una aplicación java que realiza las siguientes tareas: a. Extracción de datos desde las tablas necesarias.- para esto se realiza la debida conexión desde java a postgresql, luego se realiza una determinada consulta con la cual se almacena en resulsets la información requerida. b. Tratamiento de la Información.- una vez se tiene los datos en los resulsets se procede a realizar las operaciones convenientes sobre ellos a fin de convertirlos en la información necesaria. c. Inserción de los Datos en la Tabla interaction_data.- luego de haber procesado los datos y haber obtenido los campos necesarios se procede a insertarlos en la base de datos en la tabla interaction_data. Los campos que se pudieron extraer a partir de las tablas usuario y action_object hacen referencia a: a. Interacciones con los foros b. Interacción con otros servicios de la plataforma como: Visitas a faqs. Visitas a la ayuda. Archivos descargados. Visitas a las carpetas. Visitas al calendario. Visitas al panel de control. 48

57 En la Tabla 3.3. puede observarse la relación de los datos de la interacción en los foros con las características de colaboración que pueden determinarse de esta interacción, que de acuerdo a [23] pueden ser representadas como: nivel de iniciativa, nivel de actividad y nivel de actividad de otros compañeros causada por el usuario que hacen referencia a las acciones en las que se denota una iniciativa propia por parte del usuario, las acciones donde queda demostrada la actividad del usuario en la plataforma y las acciones de otros compañeros provocadas gracias a la participación del usuario respectivamente. Estas características de colaboración se han definido con la finalidad de facilitar el proceso de clasificar a los usuarios de acuerdo a su colaboración en cada atributo; todo esto se explica mas a detalla en la sección

58 DATOS DE INTERACCIÓN Número de sesiones del usuario Tiempo medio por sesión Número de visitas a los foros Número de visitas a los mensajes Número de mensajes enviados Número de Hilos en los que ha participado el estudiante Número de Hilos en los que ha participado el estudiante y el profesor Número de Hilos iniciados por el usuario Número de respuestas a los mensajes de usuario Último acceso o visita Número mínimo de días desde la última visita Número máximo de días desde la última visita Número de páginas que el usuario ha visitado Número de veces que visito carpetas Número de archivos visitados Número de archivos descargados Número de veces que visito faqs Número de veces que solicito ayuda Número de visitas al panel de control CARACTERÍSTICA DE COLABORACIÓN Nivel de Actividad (activity_level) Nivel de Iniciativa (iniciative_level) Nivel de actividad de otros compañeros causada por el usuario (classmate_activity_caused_by_user_level) No serán utilizados para el proceso de minería de datos Número de visitas al calendario Tabla 3.3. Datos de Interacción en la plataforma. 50

59 Los datos mostrados en la tabla 3.3. se almacenan dentro de la tabla user_interaction, en la tabla 3.4 puede verse la estructura de la tabla con todos los datos obtenidos. TABLA interaction_data Campo Descripción Tipo user_id identificador del usuario. Integer num_sessions average_time_per_session número de sesiones del usuario. tiempo medio por sesión Integer double precision last_visit fecha del último acceso Text max_days_from_last_visit min_days_from_last_visit num_pages_visited num_forums_visited num_msg_to_group_forum num_msg_visited num_average_replies_threads num_threads_user num_threads_started num_folders_visited num_files_visites número máximo de días entre visitas número mínimo de días entre visitas número de visitas a las páginas dentro de la plataforma número de visitas a los foros mensajes posteados por el usuario número de mensajes visitados número medio de respuestas a hilos número de hilos contestados número de hilos iniciados por el usuario número de visitas a las carpetas número de visitas a los archivos Integer Integer Integer Integer Integer Integer double precisión Integer Integer Integer Integer 51

60 num_files_download num_faqs_visited num_help_visited num_controlpanel_visited num_calendar_visited num_threads_user_and_tutor número de descargas realizadas número de visitas a las preguntas frecuentes número de visitas a la ayuda número de visitas al panel de control número de visitas al calendario número de hilos en los que han participado el estudiante y el profesor Tabla 3.4. Descripción de campos de la tabla interaction_data Integer Integer Integer Integer Integer Integer En la Figura 3.6 puede observarse la estructura de la tabla y algunas de sus columnas y de sus datos dentro de postgresql. Fig Vista Parcial de los datos de la Tabla interaction_data Tabla Vista Minable La tabla vista_minable es una tabla en la que cual se almacenan los datos de interacción de los usuarios con su respectivo valor en cada uno de los atributos relacionados con las características de colaboración que se definen posteriormente en la sección 4.1. El diseño con los respectivos atributos para la tabla vista_minable puede verse en la tabla

61 TABLA vista_minable Campo Descripción Tipo user_id identificador del usuario. integer sessions_num average_time_session número de sesiones del usuario. tiempo medio por sesión integer double precision num_forums_visits número de visitas a los foros integer num_msg_to_group_forum mensajes posteados por el usuario integer num_msg_visits número de mensajes visitados integer num_average_replies_threads num_threads_started num_threads_user_and_tutor número medio de respuestas a hilos número de hilos iniciados por el usuario número de hilos en los que han participado el estudiante y el profesor double precisión integer integer num_answers_to_user_msg num_answered_threads número de respuestas dadas a los mensajes de usuario número de hilos que contestó el usuario integer integer iniciative_level nivel de iniciativa del usuario text user_activity_level nivel de actividad del usuario text classmate_activity_caused_by_ user_level nivel de actividad de otros compañeros causada por el usuario Tabla 3.5. Descripción de campos de la tabla vista_minable Una vez se tiene ya las tablas necesarias de nuestro modelo se puede empezar a realizar la minería de datos como se hará en el siguiente capítulo. text 53

62 Capítulo 4: Minería de datos 54

63 Este capítulo se centrará en la primera parte de la tercera fase de todo proceso adaptativo, es decir en la Producción o realización de las tareas de adaptación; es así que este apartado se enfocará en la minería de datos para dejar para el capítulo 6 la identificación de recomendaciones. Para el proceso de minería de datos se utilizó la herramienta de código abierto WEKA; si bien es cierto existen muchas herramientas que permiten utilizar algoritmos de inteligencia artificial que se encarguen de realizar procesos de clustering y clasificación, no hay ninguna más completa que WEKA, la cual además de poseer un sinnúmero de algoritmos y otras herramientas bastante útiles, es de código abierto, por lo que no se necesita de ninguna licencia para poder utilizarla, asimismo su uso es bastante intuitivo y relativamente sencillo con un poco de paciencia. Conexión desde WEKA a la base de datos Minería_de_Datos en postgresql Weka ofrece la posibilidad de conectarse a una base de datos directamente desde su interfaz Explorer. Cabe señalar que para poder trabajar con algunos de los datos de postgresql se tuvo que configurar el archivo DatabaseUtils.props.postgresql de WEKA; para esto se ingresó al archivo y se agregó algunos tipos de datos que por defecto WEKA no reconoce, se agregaron los tipos de datos int4 y text dentro del código de DatabaseUtils.props.postgresql, lo que se agregó puede observarse en la figura 4.1. Fig Configuración del Archivo DatabaseUtils.props.postgresql 55

64 Una vez cargados nuestros datos en WEKA es posible observar una pantalla como la de la figura 4.2; y ya se puede empezar a aplicarles los diferentes y numerosos algoritmos que posee WEKA. Fig Base de datos cargada en WEKA Es tiempo ahora de eliminar aquellos atributos con los que no se va a trabajar; y se deja solo los que interesan para el proceso, es así que los atributos que quedan son los siguientes: num_sessions average_time_per_session num_forums_visited num_msg_to_group_forum num_msg_visited num_average_replies_threads num_threads_started num_threads_user_and_tutor num_answers_to_user_msg num_answered_threads 56

65 Esto puede observarse en la figura 4.3. Fig Atributos con los que se trabajará en WEKA En un principio se consideró realizar un proceso de estandarización de los datos debido a que los valores de los atributos son de diferentes magnitudes, mediante este proceso los valores de los datos se establecerían dentro de un rango de valores parecidos, y la diferencia de magnitudes se vería bastante reducida. Para el proceso de estandarizado se utiliza el filtro Standardize de WEKA cuyo procedimiento es el siguiente: restar la media y dividir para la desviación estándar, Standardize transforma las variables, convirtiendo su media a 0 y su desviación a 1. A la final se optó por trabajar con los datos en sus magnitudes originales debido a que se necesita obtener valores reales para trabajar en base a ellos, por lo que se descartó el proceso de estandarizado. Una vez listos los atributos, se aplica la técnica de Clustering con el fin de obtener grupos que sirvan para entender y procesar las instancias almacenadas en la base de datos. Se realizará el proceso de Clustering con los datos no estandarizados; luego se comparará los resultados para elegir qué tipo de resultados nos convienen más. Existen algunos algoritmos 57

66 de Clustering que se puede usar, la herramienta WEKA viene con implementaciones de algunos de ellos, dentro de los más utilizados están el algoritmo SimpleKMeans y el algoritmo EM, los campos en donde se han utilizado con éxito este par de algoritmos son muchísimos, entre ellos se puede mencionar por ejemplo: la selección de alumnos dentro de un proceso de admisión en una Universidad, compresión de voz e imagen, reconocimiento de formas, preprocesamiento de datos, fusión sensorial, procesamiento de imagen, etc. Precisamente son estos 2 algoritmos los que se van a utilizar, y se escogieron porque existen muchos trabajos que se han realizado satisfactoriamente aplicando estos algoritmos (como ya se había mencionado); son de los de mejores resultados y su aplicación e interpretación no son complicados Selección de atributos a utilizar Para llevar a cabo la selección de los atributos que se utilizará para la aplicación de los algoritmos de IA se realizará un análisis en base a lo que representa cada atributo, de esta forma se obtiene 3 nuevos atributos que se utilizarán en el modelo: iniciativa del usuario, actividad del usuario y actividad de otros compañeros causada por el usuario; se define estos atributos en vista de que se necesita medir el nivel de colaboración de los estudiantes en la plataforma y se llegó a la conclusión de que los estudiantes son mayormente colaborativos si tienen iniciativa propia, si son activos y si causan actividad en sus compañeros, para realizar esta clasificación se usó lo encontrado en [23]. Iniciativa de usuario.- este atributo se deriva de aquellos atributos que tienen que ver con las acciones del usuario en las que se denota una iniciativa propia del usuario en las diferentes actividades que se pueden realizar en la plataforma. Es así que en este grupo se ubican los atributos número de hilos iniciados por el usuario y número de hilos en los que el usuario participa con el profesor. Se colocó estos atributos en este grupo debido a que el primero representa el ánimo del alumno por participar en los foros, a pesar de ser la opción más rápida denota un interés del usuario por participar y el segundo porque cuando el usuario trata de interactuar voluntariamente con el profesor es claro que se encuentra implícita su iniciativa. 58

67 Actividad del usuario.- este atributo nace de los atributos que representan la actividad realizada por el usuario dentro de la plataforma. En este grupo se excluye el anterior, por lo que no se toma en cuenta acciones que sean de iniciativa propia del usuario. De esta forma los atributos seleccionados para este grupo son Número de Mensajes Enviados, Número de Sesiones, Tiempo Medio por Sesión, Visitas a los Foros, Visitas a los Mensajes, Número de Hilos que contestó el usuario; todos estos atributos denotan la actividad del usuario. Actividad de otros compañeros causada por el usuario.- este atributo se deriva de los atributos que se refieren a la actividad que el usuario provocó en otros; es decir a las actividades que llevaron a cabo sus compañeros gracias a alguna de sus actividades propias. Es así que se tiene el atributo Número de respuestas de compañeros a los mensajes de usuario. Solo existe este atributo para este grupo, pero se considera suficiente para tratar el nivel de Actividad de otros compañeros causada por el usuario. La clasificación de los atributos puede encontrarse en la tabla 4.1. Iniciativa de usuario Número de Hilos Iniciados por el usuario Número de Hilos en los que el usuario participa con el profesor Actividad del usuario Número de Mensajes Enviados Número de Sesiones Tiempo Medio por Sesión Visitas a los Foros Visitas a los Mensajes Número medio de Respuestas por hilo Actividad de otros compañeros causada por el usuario Número de respuestas de compañeros a los mensajes de usuario Número de Hilos que contestó el usuario. Tabla 4.1. Clasificación de los atributos de acuerdo a los grupos a ser evaluados. 59

68 4.2. Aplicación de algoritmos de clustering para obtener grupos de usuarios con características similares. Los algoritmos de Clustering se aplican con la finalidad de obtener grupos de usuarios con preferencias y características similares. Estos grupos sirven de referencia para identificar las situaciones en las cuales ofrecer recomendaciones. En un principio se pensó en realizar un pre-proceso de estandarización de los datos con la finalidad de colocarlos en un rango parecido; de esta forma no hubiese existido mayor diferencia entre las magnitudes entre uno y otro atributo, no obstante después de realizar algunas pruebas se prefirió realizar el proceso de Clustering con los atributos en sus magnitudes originales, es decir sin estandarizar, esto debido a que luego se utilizará los valores obtenidos por los algoritmos de clustering para establecer las condiciones de las recomendaciones y por esto se necesita tener valores reales con los que trabajar Proceso de Clustering en WEKA Como se había mencionado los algoritmos que se utilizarán para el proceso de clustering serán el SimpleKMeans y el EM; y se escogieron porque existen muchos trabajos que se han realizado satisfactoriamente aplicando estos algoritmos, son de los de mejores resultados en experimentaciones similares y su aplicación e interpretación no son complicados Algoritmo SimpleKMeans Primera Aplicación Se aplica el algoritmo SimpleKmeans y se lo configura para obtener 3 clústeres (el valor por defecto es de 2 clústeres); se eligió 3 clústeres debido a que se cuenta con un número de instancias pequeño (31), y se desea obtener 3 grupos definidos de usuarios de acuerdo a sus aportes y participación, estos grupos serían: bajo (clúster con valores más pequeños), medio (clúster con valores medios) y alto (clúster con valores más 60

69 elevados); en el resto de campos se deja los valores por defecto. Se trabajará con el modo Use training set que de acuerdo a [24] entrena el método con el total de los datos disponibles y luego lo aplica de nuevo sobre los mismos. Como se puede observar en la figura 4.4 WEKA nos da el número de iteraciones realizadas para obtener los clústeres, además se puede ver la suma de de los errores cuadrados, y luego se puede ver el resultado de los clústeres, además se muestran los centroides para cada atributo de cada clúster. Fig Primera aplicación del algoritmo SimpleKMeans semilla = 10 En la tabla 4.2 puede observarse la distribución de los clústeres obtenidos. 61

70 Clúster Instancias % Tabla 4.2. Instancias de los Clústeres en la primera aplicación del algoritmo SimpleKMeans Como se puede observar en la figura 4.4 y en la tabla 4.2 la distribución obtenida después de hacer la primera aplicación del algoritmo SimpleKMeans es demasiado dispareja; se obtuvó tan sólo una instancia colocada en los 2 primeros clústeres y 28 en el tercero, además la suma de los errores cuadrados tiene un valor de 14.67, lo que representa un error considerable. Este tipo de agrupaciones no son muy convenientes para nuestros fines en vista de que se necesita definir grupos con características similares para en base a ello poder definir nuestras recomendaciones a futuro, no nos sirve que en los 2 primeros clústeres exista tan solo una instancia agrupada y que casi la totalidad de los casos se agrupen en el tercer clúster. Es por esto que se procede a realizar una segunda aplicación del algoritmo SimpleKMeans. Segunda Aplicación Para realizar esta segunda aplicación se va a utilizar el concepto de semilla, el cual se refiere a los centros iniciales del clúster, se elegirá la misma configuración que en el caso anterior; sólo que esta vez se usará un valor de semilla (seed) de 20 (el valor por defecto es 10). Los resultados obtenidos pueden observarse en la figura

71 Fig Segunda aplicación del algoritmo SimpleKMeans semilla = 20 Como se puede observar en la figura 4.5 esta vez la agrupación dentro de los 3 clústeres mejora en cierta forma ya que se obtuvo 2 instancias en el primero, 4 en el segundo y 24 en el tercero, se puede observar la distribución en la tabla 4.3; se puede observar que dentro del clúster 0 se agrupan los casos cuyos atributos, por lo general, tienen valores mayores, sin embargo si se analiza los otros 2 clústeres se observa que los valores en algunos casos son mayores en el clúster 1 y en otros son mayores en el clúster 2, esto representa una agrupación un tanto confusa, ya que se esperaba una clasificación en la cual se obtenga clústeres bien definidos, es decir que se esperaba que en cada clúster los valores de los atributos se ubiquen dentro de un rango definido, hubiese sido ideal obtener un clúster con valores bajos, otro con valores medios y otro con valores altos. 63

72 Clúster Instancias % Tabla 4.3. Instancias de los Clústeres en la segunda aplicación del algoritmo SimpleKMeans Tercera Aplicación Ahora se usará un valor mucho mayor para la semilla (semilla = 100), el resto de parámetros se conservará igual que en los casos anteriores. Fig Tercera aplicación del algoritmo SimpleKMeans semilla = 100 Como puede observarse en la figura 4.6 esta vez se obtiene una agrupación un tanto más pareja para cada clúster. La distribución de las instancias puede observarse en la tabla

73 Clúster Instancias % Tabla 4.4. Instancias de los Clústeres en la tercera aplicación del algoritmo SimpleKMeans Se puede observar que en esta ocasión en el clúster 0 se encuentran aquellas instancias con valores generalmente menores; se puede observar que el centroide del atributo num_sessions se encuentra en un valor de , este valor es mayor que el respectivo valor del clúster 2 pero menor que el del clúster 1, es decir que en este clúster se agrupan usuarios con un mediano número de sesiones, sin embargo el tiempo medio por sesión (average_time_per_session) es ligeramente mayor que el del clúster 1 pero bastante menor que el del clúster 2, con esto se puede concluir que por lo general los alumnos con mayor número de sesiones, permanecen dentro de la plataforma por menos tiempo en cada sesión que los alumnos con un número de sesiones menor, es decir los alumnos con menos sesiones permanecen una mayor cantidad de tiempo conectados en cada sesión. En el resto de atributos los alumnos clasificados en el clúster 0 poseen los menores valores en casi todos excepto en el atributo num_threads_started (número de hilos iniciados), donde el valor es el mayor de entre los 3 clústeres; con esto se puede concluir que los alumnos con una participación por lo general baja inician un mayor número de hilos, es decir que contestan directamente en los foros, esto tiene su lógica ya que resulta claro que por lo general estos alumnos realizan participaciones rápidas, y qué más rápido que contestar directamente en el foro iniciando un hilo? ya que de esta forma no tienen que ingresar en los otros hilos para así dar una respuesta, lo que les llevaría más tiempo, esto se ve reflejado en el valor del atributo num_msg_to_group_forum (número de mensajes que se envían dentro del grupo sin tener en cuenta los hilos iniciados) que es el más bajo de los 3 clústeres, de hecho el valor del centroide es 0, lo que nos indica que la mayoría de estos alumnos no tiene 65

74 mensajes de este tipo. El resto de valores son los más bajos por la misma causa, es decir participaciones rápidas en cada sesión. Las diferencias entre el clúster 1 y el clúster 2 son un poco más difíciles de interpretar, ya que existen algunos atributos mayores en el clúster 1 y otros mayores en el clúster 2 aunque como se puede observar en el clúster 1 se puede encontrar valores medios de entre los 3 clústeres, es decir aquí se encuentran los alumnos con un nivel de participación medio y en el clúster 2 los alumnos con un nivel de participación bajo. Además se debe señalar que la suma de los errores cuadrados es de 11.03, un error que si bien es cierto no es el ideal, es bastante bajo y factible para trabajar. No obstante se debe realizar una interpretación basada en los grupos de atributos definidos anteriormente. Análisis de Resultados aplicando el algoritmo SimpleKMeans Luego de haber aplicado el algoritmo SimpleKMeans con distintos valores para la semilla se ha obtenido diferentes resultados en cada experimentación. A continuación se evaluará esos resultados para determinar cuál es el caso que mejores resultados nos presenta. Primer Aplicación Segunda Aplicación Clúster Instancias Clasificadas % Instancias Clasificadas Suma de Errores Cuadrados 14,673 10,978 Tercera Aplicación ,028 Tabla 4.5. Instancias de los Clústeres en la tercera aplicación del algoritmo SimpleKMeans 66

75 Como se había mencionado los resultados de la primera experimentación no son muy convenientes para nuestros fines, ya que la clasificación obtenida no está muy bien distribuída y además el error obtenido (suma de errores cuadrados) es el más alto de entre las 3 experiencias; en la segunda experimentación se obtuvó mejores resultados, sin embargo la agrupación no es tan clara, ya que los clústeres no quedan muy bien definidos y aunque el error es el menor, se considera que la clasificación no es lo suficientemente buena como para quedarnos con esta configuración del algoritmo. En la tercera experimentación es donde se obtuvo mejores resultados, es decir una agrupación mejor distribuida y un error bastante aceptable (todo lo anteriormente dicho puede observarse en la tabla 4.5), es por eso que a continuación se realizará una interpretación basada en los grupos de atributos definidos anteriormente con respecto a los resultados de la tercera experimentación: Iniciativa del Usuario.- de acuerdo a este grupo se considerará los atributos: Número de Hilos Iniciados por el usuario y Número de Hilos en los que el usuario participa con el profesor. Como se puede observar en la figura 8 en el clúster 0 se tiene el mayor valor para el atributo Número de Hilos Iniciados por el usuario (num_threads_started), mientras que para el atributo Número de Hilos en los que el usuario participa con el profesor (num_threads_user_and_tutor) se tiene un valor menor que el del clúster 1 pero igual que el del clúster 2. En el clúster 1 se ve que el valor del atributo Número de Hilos Iniciados por el usuario (num_threads_started) es el menor de entre los 3 clústeres, mientras que para el atributo Número de Hilos en los que el usuario participa con el profesor (num_threads_user_and_tutor) se tiene el mayor valor. En el clúster 2 se puede apreciar que el valor del atributo Número de Hilos Iniciados por el usuario (num_threads_started) es el valor medio de entre los 3 clústeres, mientras que para el atributo Número de Hilos en los que el usuario participa con el profesor (num_threads_user_and_tutor) se da el mismo valor que en el clúster 0. El análisis para determinar el nivel de iniciativa para cada clúster puede observarse en la tabla

76 Clúster 0 Clúster 1 Clúster 2 Atributo num_threads_ started num_threads_ user_and_tutor num_threads_ started num_threads_ user_and_tutor num_threads_ started num_threads_ user_and_tutor Centroide Nivel de Iniciativa Alto Bajo Medio Tabla 4.6. Determinación del Nivel de Iniciativa del Usuario para cada Clúster. Con esto se puede concluir que en el clúster 0 se agrupan los alumnos con el nivel más alto de Iniciativa, en el clúster 1 se agrupan en cambio los alumnos con el nivel más bajo y finalmente en el clúster 2 se agrupan aquellos con un nivel medio. Actividad del usuario.- De acuerdo a este grupo se trabajará con los atributos Número de Mensajes Enviados, Número de Sesiones, Tiempo Medio por Sesión, Visitas a los Foros, Visitas a los Mensajes y Número de Hilos que contestó el usuario. Para realizar la evaluación de este criterio se realizó un análisis entre los atributos mencionados de cada uno de los clústeres; cabe recalcar que los atributos Número de Sesiones y Tiempo Medio por Sesión pueden tratarse como un solo atributo ya que representan el tiempo total de sesiones, para ello se puede multiplicar el valor del centroide del atributo Número de Sesiones con el valor del centroide del atributo Tiempo Medio por Sesión y tratarlos como un solo atributo. El análisis realizado para obtener el nivel de actividad de usuario puede observarse en la tabla

77 Clúster Atributo Centroide Clúster 0 Clúster 1 Clúster 2 num_sessions average_time_per_session num_forums_visited num_msg_to_group_forum 0 num_msg_visited num_answered_threads 0 num_sessions average_time_per_session num_forums_visited num_msg_to_group_forum num_msg_visited num_answered_threads num_sessions 2 average_time_per_session num_forums_visited 10.5 num_msg_to_group_forum num_msg_visited num_answered_threads Nivel de Actividad Bajo Alto Medio Tabla 4.7. Determinación del Nivel de Actividad del Usuario para cada Clúster. Luego de este análisis se puede concluir que en el clúster 0 se agrupan aquellos alumnos con un nivel de Actividad bajo, en el clúster 1 están agrupados los alumnos con un nivel de Actividad alto y en el clúster 2 los alumnos con nivel de Actividad medio. Actividad de otros compañeros causada por el usuario.- en este grupo se trabajará únicamente con el atributo Número de respuestas de compañeros a los mensajes de usuario. Entonces lo único que se tiene que hacer es comparar el valor del centroide de este atributo en cada clúster tal y como se muestra en la tabla

78 Clúster 0 Clúster 1 Clúster 2 Centroide de num_answers_to_user_msg Nivel de Actividad de otros compañeros causada por el usuario 0,1667 0,5833 2,8333 Bajo Medio Alto Tabla 4.8. Determinación del Nivel de Actividad de otros compañeros causada por el usuario para cada Clúster. En la tabla 4.8 se muestra que en el clúster 0 se encuentran los alumnos con un nivel de actividad de otros compañeros causada por el usuario bajo, es medio para el clúster 1 y alto para el clúster 2. Como se pudo observar se obtuvo valores diferentes para un mismo clúster dependiendo del atributo; esto se justifica debido a que los niveles evalúan parámetros distintos de las acciones de los usuarios, fue precisamente por esta razón que se optó por dividir los parámetros en 3 grupos distintos Algoritmo EM Primera Aplicación Se aplica el algoritmo EM configurado para obtener 3 clústeres (el valor por defecto es de 2 clústeres) por las razones que ya se explicó en la aplicación del algoritmo anterior, el resto de campos de configuración del algoritmo se dejan tal y como vienen por defecto. Los resultados obtenidos con esta configuración se muestran en la figura

79 Fig Primera aplicación del algoritmo EM. Como puede observarse se obtiene una clasificación un tanto llamativa ya que la distribución de las instancias para cada clúster se realiza como se muestra en la tabla

80 Clúster Instancias % Log Likelihood Tabla 4.9. Instancias de los Clústeres en la primera aplicación del algoritmo EM. Como puede verse en la figura 4.7 en el clúster 0 se agrupan aquellos alumnos con una media del atributo número de sesiones (num_sessions) medio (2,9333) pero con una media del atributo tiempo medio por sesión (average_time_per_session) bajo (317,5108). Con esto se puede concluir que los alumnos de este grupo inician sesiones muy de vez en cuando y que sus sesiones no son muy duraderas, es por esto que al observar el resto de atributos dentro de este clúster se puede notar que los valores de la media son los más bajos en casi todos los atributos exceptuando el número de hilos iniciados (num_threads_started) que tiene un valor medio (1,9231) y el número de respuestas a sus mensajes (num_answers_to_user_msg) que también posee un valor medio (0,1538) que es ligeramente superior al respectivo valor del clúster 1. Analizando estos valores se puede concluir que en el clúster 0 se encuentran agrupados los alumnos con un nivel de participación baja, que posee una media del atributo número de hilos iniciados (num_threads_started) medio debido a que es lógico que este tipo de alumnos realicen participaciones rápidas como postear directamente en los foros iniciando así hilos, ya que esta es la forma más rápida de contestar, por esta misma razón si se analiza la media del atributo mensajes enviados (num_msg_to_group_forum) se puede notar que es un valor bastante bajo (0,0769) en comparación con sus respectivos valores de los otros 2 clústeres debido a que es mas trabajoso y lleva más tiempo responder de esta manera. En el clúster 1 se encuentra que la media del número de sesiones (num_sessions) es la más baja (2,9333) de entre los 3 clústeres, no obstante la media del tiempo medio por sesión (average_time_per_session) es en cambio la más alta (757,9208), con esto se observa que los alumnos con menor número de sesiones permanecen por lo general por más tiempo conectados en cada sesión. Si se analiza el resto de los valores de las 72

81 medias de los atributos se ve que en todos los casos los valores se encuentran entre los del clúster 0 y los del clúster 2, excepto en el atributo de número de respuestas a sus mensajes (num_answers_to_user_msg) donde se observa un valor más alto (1,5333) que el respectivo valor del clúster 2 y apenas más bajo que el del clúster 0. Estos valores nos indican que en el clúster 1 se agrupan aquellos estudiantes con una participación media dentro de la plataforma. En el clúster 2 entonces se puede concluir que se encuentran los alumnos con una participación en general mayor, alumnos que inician muchas sesiones y que permanecen conectados durante un tiempo medio razonable en cada una de ellas. Además se puede observar que la medida de bondad o probabilidad para este algoritmo, la cual es denominada Log Likelihood es de ; se debe señalar que de acuerdo a [25] éste se obtiene de las probabilidades condicionales sobre toda la muestra. Es así que nuestro objetivo se enfoca en obtener un mayor Log Likelihood. Cabe recalcar que ésta configuración del algoritmo EM fue la que nos arrojó mejores resultados, y de ahí que sea la escogida; ya que se obtuvo una mejor clasificación y un Log Likelihood mayor que con otras configuraciones. Análisis de resultados aplicando el algoritmo EM A continuación se realiza el análisis de resultados luego de aplicar el algoritmo EM, cabe señalar que se analiza tan solo una aplicación debido a que los valores encontrados para otras experimentaciones con otros valores de los parámetros de configuración del algoritmo fueron bastante parecidos. A continuación se realiza un análisis de los resultados obtenidos evaluados de acuerdo a los grupos definidos con anterioridad: 73

82 Iniciativa del usuario.- De acuerdo a este grupo se considerará los atributos: Número de Hilos Iniciados por el usuario y Número de Hilos en los que el usuario participa con el profesor. Se realiza un proceso parecido al análisis realizado para el algoritmo SimpleKMeans, la única diferencia es que esta vez en lugar de trabajar con centroides se trabaja con las medias, los resultados se muestran en la tabla Clúster 0 Clúster 1 Clúster 2 Atributo num_threads_ started num_threads_ user_and_tutor num_threads_ started num_threads_ user_and_tutor num_threads_ started num_threads_ user_and_tutor Media Nivel de Iniciativa Medio Bajo Alto Tabla Determinación del Nivel de Iniciativa del Usuario para cada Clúster. Con esto se puede concluir que en el clúster 0 se agrupan los alumnos con un nivel medio, en el clúster 1 se agrupan en cambio los alumnos con el nivel más bajo y finalmente en el clúster 2 se agrupan aquellos con un nivel alto. Actividad del Usuario.- de acuerdo a este grupo se trabajará con los atributos Número de Mensajes Enviados, Número de Sesiones, Tiempo Medio por Sesión, Visitas a los Foros, Visitas a los Mensajes y Número de Hilos que contestó el usuario. Se trabajará igual que como se lo hizo en el algoritmo SimpleKMeans con la única diferencia que aquí se usará las medias en lugar que con los centroides. Los resultados se muestran en la tabla

83 Clúster Atributo Media Clúster 0 Clúster 1 Clúster 2 num_sessions average_time_per_session num_forums_visited num_msg_to_group_forum num_msg_visited num_answered_threads num_sessions average_time_per_session num_forums_visited 11 num_msg_to_group_forum 1.4 num_msg_visited 7 num_answered_threads num_sessions 16.5 average_time_per_session num_forums_visited 60 num_msg_to_group_forum 7.5 num_msg_visited 18 num_answered_threads 4 Nivel de Actividad Bajo Medio Alto Tabla Determinación del Nivel de Actividad del Usuario para cada Clúster. Con esto se puede concluir que en el clúster 0 se agrupan los alumnos con el nivel más bajo de actividad, en el clúster 1 se agrupan en cambio los alumnos con un nivel medio y finalmente en el clúster 2 se agrupan aquellos con el nivel más alto. Actividad de otros compañeros causada por el usuario.- en este grupo se trabajará únicamente con el atributo Número de respuestas de compañeros a los mensajes de usuario. Entonces lo único que se debe hacer es comparar el valor de la media de este atributo en cada clúster tal y como se muestra en la tabla

84 Clúster 0 Clúster 1 Clúster 2 Media de num_answers_to_user_msg 0,1538 1,5333 0,5 Nivel de Actividad de otros compañeros causada por el usuario Bajo Alto Medio Tabla Determinación del Nivel de Actividad de otros compañeros causada por el usuario para cada Clúster. Como se pudo observar en el clúster 0 se encuentran los alumnos con un nivel bajo de actividad de otros compañeros causada por el usuario, es alto para el clúster 1 y medio para el clúster Comparación de resultados de los algoritmos SimpleKMeans y EM Después de haber aplicado ambos algoritmos al conjunto de datos y haber observado e interpretado los resultados se concluye que el algoritmo que mejores resultados presenta es el SimpleKMeans, ya que los clústeres obtenidos mediante este algoritmo presentan mayor consistencia y similitud entre sus características y además se obtuvo una distribución de las instancias más uniforme. Con este algoritmo se obtuvo grupos que muestran la actividad y participación del usuario en los foros, a partir de estos grupos se podrá ir aplicando nuevos algoritmos de clasificación de acuerdo a lo que se necesita. En la tabla 4.13 puede observarse una comparación entre el algoritmo SimpleKMeans configurado para 3 clústeres y 100 semillas y el algoritmo EM configurado también con los mismos valores. 76

85 Clúster 0 Clúster 1 Clúster 2 Algoritmo k-means EM k-means EM k-means EM Nivel de Iniciativa Alto Medio Bajo Bajo Medio Alto Nivel de Actividad Bajo Bajo Alto Medio Medio Alto Nivel de Actividad de otros compañeros Bajo Bajo Medio Alto Alto Medio causada por el usuario Tabla Comparación de Resultados de ambos Algoritmos en la Determinación del Nivel de Iniciativa del Usuario para cada Clúster Como se puede observar en la tabla antes descrita cada algoritmo obtuvo diferentes niveles en cada caso, no obstante para elegir uno de ellos en particular se tiene que analizar toda la gama de resultados. La tabla 4.13 simplemente pretende mostrar los niveles obtenidos con cada algoritmo para cada uno de los 3 grupos de atributos. Al analizar los valores obtenidos para cada atributo con ambos algoritmos y tomando en cuenta la distribución de las instancias en cada clúster como se hizo en la sección de análisis individual para cada algoritmo, se ha optado por el algoritmo SimpleKMeans en vista de que realiza una buena clasificación y la distribución de las instancias en los clústeres es mas pareja que en el algoritmo EM. Los resultados que se obtuvieron con éste algoritmo pueden observarse en la tabla

86 Clúster Instancias % Nivel de Iniciativa Alto Bajo Medio Nivel de Actividad del Usuario Bajo Alto Medio Nivel de Actividad de otros compañeros causada por el usuario Bajo Medio Alto Tabla Resultados Obtenidos con el algoritmo escogido (Algoritmo SimpleKMeans) Algoritmo escogido: SimpleKMeans En vista de que el algoritmo escogido es el SimpleKMeans, a continuación se presenta las gráficas obtenidas con dicho algoritmo y se da una interpretación a las mismas. Fig Número de Sesiones de acuerdo al número de Instancia En la figura 4.8 se puede apreciar la distribución de las instancias de acuerdo al número de sesiones. En el eje x se encuentra el número de la instancia mientras que en el eje y el número de sesiones. Cada x en la gráfica representa una instancia de la base de datos, es por esto que se puede observar 30 x, las cuales son de 3 colores diferentes: azules para el clúster 78

87 0, rojas para el clúster 1, y verdes para el clúster 2. En la gráfica se puede observar para cada instancia cuantas sesiones inició, por ejemplo para la instancia 15 se puede ver que se inició tan solo una sesión. Se puede observar una gráfica parecida para cada atributo colocando simplemente en el eje y el atributo requerido, de esta forma se puede observar el valor que obtuvo cada instancia para cada atributo. El tipo de gráfica mostrada anteriormente no nos ayuda mucho para obtener conclusiones de las tendencias que se siguen en la clasificación; solo nos ayuda a apreciar los valores de cada instancia en sus diferentes atributos. Si se desea observar tendencias en la clasificación se debe realizar combinaciones de atributos que pudieran tener una relación, para de esta forma observar ciertos patrones que podrían aparecer en la clasificación. A continuación se muestran algunas de las gráficas que presentan ciertos patrones en la distribución de las instancias. Fig Número de foros visitados de acuerdo al número de sesiones 79

88 En la figura 4.9 se puede apreciar que para los alumnos de cada clúster se da un cierto patrón, dicho patrón es que mientras más sesiones tienen mayor es el número de visitas a los foros; esto se da en la mayoría de los casos pero no en todos, ya que existen algunas excepciones. Si se observa las x de color rojo (clúster 1) se puede ver claramente como se forma la gráfica de una función cuadrada, lo cual nos indica que en el clúster 1 en la mayoría de los casos mientras mayor es el número de sesiones mayor es el número de visitas a los foros; esto puede observar también para los casos del clúster 0, aunque no de forma tan marcada; para los casos del clúster 2 no se observa algo similar. Fig Número de mensajes enviados de acuerdo al número de sesiones En la figura 4.10 se puede apreciar la gráfica que compara el número de sesiones con el número de mensajes enviados. Como se puede apreciar las instancias del clúster 0 tienen una tendencia a mantenerse en 0, las del clúster 1 tiene los valores más altos, mientras que los del clúster 2 poseen valores medios. 80

89 Fig Número de mensajes visitados de acuerdo al número de sesiones En la figura 4.11 se puede observar la gráfica que compara el número de sesiones con el número de visitas a los mensajes. Se puede apreciar que existe una tendencia en cada clúster, para el clúster 0 se puede observar valores bajos en el número de visitas a los mensajes mientras que el número de sesiones es un tanto variado pero se podría decir que es un valor medio; para el clúster 1 se puede observar que para la mayoría de los casos mientras mayor sea el número de sesiones mayor es el número de visitas a los mensajes, en este grupo se puede observar los valores más altos para el número de visitas a los mensajes; en el clúster 2 se puede observar que el número de sesiones es bajo pero el número de visitas a los mensajes se mantiene en un nivel medio. 81

90 Fig Número de hilos iniciados de acuerdo al número de sesiones En la figura 4.12 se puede observar la gráfica que compara el número de sesiones con el número de hilos iniciados. Se puede ver que en el clúster 0 es donde el número de sesiones es menor, no obstante el número de hilos iniciados es mucho mayor para este grupo, en el clúster 1 se ve que pese a tener un mayor número de sesiones el número de hilos iniciados es el menor, para el clúster 2 se tiene en cambio el menor valor para el número de sesiones pero un número de hilos iniciados medio. 82

Juan C Jiménez UPSI-Universidad Técnica Particular de Loja Loja Ecuador. tener en el aprendizaje y por ende maximizar la calidad de la enseñanza.

Juan C Jiménez UPSI-Universidad Técnica Particular de Loja Loja Ecuador. tener en el aprendizaje y por ende maximizar la calidad de la enseñanza. Recolección de datos de interacción de alumnos en una plataforma E-learning para obtener indicadores de interés de su actividad aplicando técnicas de aprendizaje automático Greyson P Alberca UPSI-Universidad

Más detalles

Olga C. Santos Jesús G. Boticario Grupo de Investigación adenu, Departamento de Inteligencia Artificial, ETSI Informática, UNED (España)

Olga C. Santos Jesús G. Boticario Grupo de Investigación adenu, Departamento de Inteligencia Artificial, ETSI Informática, UNED (España) I.S.S.N.: 1138-2783 APLICACIÓN DE MÉTODOS DE DISEÑO CENTRADO EN EL USUARIO Y MINERÍA DE DATOS PARA DEFINIR RECOMENDACIONES QUE PROMUEVAN EL USO DEL FORO EN UNA EXPERIENCIA VIRTUAL DE APRENDIZAJE (APPLICATION

Más detalles

Inteligencia Artificial y Seguridad Informática. en plataformas Open Source

Inteligencia Artificial y Seguridad Informática. en plataformas Open Source Inteligencia Artificial y Seguridad Informática en plataformas Open Source Jornadas de Software Libre y Seguridad Informática Santa Rosa La Pampa 4 y 5 de Diciembre de 2009 AGENDA Primera Parte Definiciones

Más detalles

UNA PLATAFORMA DE TELEEDUCACIÓN DE CÓDIGO LIBRE

UNA PLATAFORMA DE TELEEDUCACIÓN DE CÓDIGO LIBRE UNA PLATAFORMA DE TELEEDUCACIÓN DE CÓDIGO LIBRE Israel Gutiérrez Rojas NIA: 100025221 israel.gutierrez@alumnos.uc3m.es 5º Ing. de Telecomunicación Introducción.LRN ("dotlrn") es una plataforma de software

Más detalles

Arquitectura de un Sistema Recomendador

Arquitectura de un Sistema Recomendador DCIC SR: Situación de Aplicabilidad Sistemas de Recomendación y Personalización Necesito información de películas, pero... por dónde empiezo?? Hay tanta información!! Hey! Yo te puedo recomendar:... Viviana

Más detalles

Etapas del desarrollo

Etapas del desarrollo Capítulo 4 Etapas del desarrollo Este capítulo documenta la aplicación del modelo presentado anteriormente, para el caso de la detección y clasificación de eventos sísmicos sobre señales digitales. El

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

ESET Remote Administrator 6. Version 6.0 Product Details

ESET Remote Administrator 6. Version 6.0 Product Details ESET Remote Administrator 6 Version 6.0 Product Details A pesar de que ESET Remote Administrator 6.0 es el sucesor de ESET Remote Administrator V5.x, representa un gran adelanto, ya que constituye una

Más detalles

Unicenter Asset Management versión 4.0

Unicenter Asset Management versión 4.0 D A T A S H E E T Unicenter Asset Management versión 4.0 Unicenter Asset Management es una completa solución para gestionar los activos TI de su entorno empresarial de forma activa. Proporciona funciones

Más detalles

CAPÍTULO V PROPUESTA DE LA SOLUCIÓN

CAPÍTULO V PROPUESTA DE LA SOLUCIÓN CAPÍTULO V PROPUESTA DE LA SOLUCIÓN 5.1 Introducción En los últimos tres años la entidad financiera ha venido sufriendo cambios que le han permitido crecer y pasar de ser una Sociedad Financiera a un Banco

Más detalles

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com DISEÑO, DESARROLLO E IMPLANTACIÓN DE UNA APLICACIÓN WEB PARA LA AUTOMATIZACIÓN DE LA INFORMACIÓN DE LA IGLESIA EVANGÉLICA INDÍGENA ECUATORIANA DE LA ALIANZA CRISTIANA Y MISIONERA. Javier Velásquez Maldonado

Más detalles

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

Algoritmos de minería de datos incluidos en SQL Server 2008 1. Algoritmo de árboles de decisión de Microsoft [MIC2009a] Cómo funciona el algoritmo

Algoritmos de minería de datos incluidos en SQL Server 2008 1. Algoritmo de árboles de decisión de Microsoft [MIC2009a] Cómo funciona el algoritmo 1 Algoritmos de minería de datos incluidos en SQL Server 2008 Los algoritmos que aquí se presentan son: Árboles de decisión de Microsoft, Bayes naive de Microsoft, Clústeres de Microsoft, Serie temporal

Más detalles

La Intranet corporativa como herramienta de gestión de información y conocimiento

La Intranet corporativa como herramienta de gestión de información y conocimiento La Intranet corporativa como herramienta de gestión de información y conocimiento Conferencia dictada en el Centro para el Control Estatal de Medicamentos, Equipos y Dispositivos Médicos (CECMED). Abril

Más detalles

Capítulo 5. Implementación y Tecnologías Utilizadas

Capítulo 5. Implementación y Tecnologías Utilizadas Capítulo 5. Implementación y Tecnologías Utilizadas Cada vez más, se está utilizando Flash para desarrollar aplicaciones basadas en Web, pues permite la construcción de ambientes con mayor interacción.

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

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

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión.

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión. TEMA 9 TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA EL ANÁLISIS DE LA INFORMACIÓN CONTABLE 9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de

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

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

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Minería de Datos Web. 1 er Cuatrimestre 2015. Página Web. Prof. Dra. Daniela Godoy. http://www.exa.unicen.edu.ar/catedras/ageinweb/

Minería de Datos Web. 1 er Cuatrimestre 2015. Página Web. Prof. Dra. Daniela Godoy. http://www.exa.unicen.edu.ar/catedras/ageinweb/ Minería de Datos Web 1 er Cuatrimestre 2015 Página Web http://www.exa.unicen.edu.ar/catedras/ageinweb/ Prof. Dra. Daniela Godoy ISISTAN Research Institute UNICEN University Tandil, Bs. As., Argentina http://www.exa.unicen.edu.ar/~dgodoy

Más detalles

B) COMPETENCIAS PROFESIONALES, PERSONALES Y SOCIALES ASOCIADAS AL MÓDULO O A LA

B) COMPETENCIAS PROFESIONALES, PERSONALES Y SOCIALES ASOCIADAS AL MÓDULO O A LA Ciclo: ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED. Código: 369 Módulo profesional: IMPLANTACIÓN DE SISTEMAS OPERATIVOS. Profesor/a: Miguel Álvarez Amada Año: 2015/2016 A) INTRODUCCIÓN.... 2 B) COMPETENCIAS

Más detalles

1. Capítulo 1: Herramientas de Software para el sistema

1. Capítulo 1: Herramientas de Software para el sistema 1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios

Más detalles

Con la interacción de tus empleados mejorará la productividad de tu negocio

Con la interacción de tus empleados mejorará la productividad de tu negocio 1. Introducción Con la interacción de tus empleados mejorará la productividad de tu negocio Los empleados de cualquier compañía precisan numerosos accesos en su trabajo diario, además de interaccionar

Más detalles

Base de datos II Facultad de Ingeniería. Escuela de computación.

Base de datos II Facultad de Ingeniería. Escuela de computación. Base de datos II Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos II en el desarrollo de sus prácticas de laboratorios,

Más detalles

Crawlers - Arañas. UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides

Crawlers - Arañas. UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Crawlers - Arañas UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Qué es una Araña? También se le llama robot o araña (spider, crawler). Una araña (crawler) es

Más detalles

FLACSOANDES CENTRO ACADÉMICO VIRTUAL ANDINO PARA LA INVESTIGACIÓN EN CIENCIAS SOCIALES

FLACSOANDES CENTRO ACADÉMICO VIRTUAL ANDINO PARA LA INVESTIGACIÓN EN CIENCIAS SOCIALES FLACSOANDES CENTRO ACADÉMICO VIRTUAL ANDINO PARA LA INVESTIGACIÓN EN CIENCIAS SOCIALES Antecedentes Flacso Andes: descripción y objetivos Características técnicas Áreas de trabajo: e-biblioteca, ágora,

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción El WWW es la mayor fuente de imágenes que día a día se va incrementando. Según una encuesta realizada por el Centro de Bibliotecas de Cómputo en Línea (OCLC) en Enero de 2005,

Más detalles

1. INTRODUCCIÓN AL CONCEPTO DE LA INVESTIGACIÓN DE MERCADOS 1.1. DEFINICIÓN DE INVESTIGACIÓN DE MERCADOS 1.2. EL MÉTODO CIENTÍFICO 2.

1. INTRODUCCIÓN AL CONCEPTO DE LA INVESTIGACIÓN DE MERCADOS 1.1. DEFINICIÓN DE INVESTIGACIÓN DE MERCADOS 1.2. EL MÉTODO CIENTÍFICO 2. 1. INTRODUCCIÓN AL CONCEPTO DE LA INVESTIGACIÓN DE MERCADOS 1.1. DEFINICIÓN DE INVESTIGACIÓN DE MERCADOS 1.2. EL MÉTODO CIENTÍFICO 2. GENERALIDADES SOBRE LAS TÉCNICAS DE INVESTIGACIÓN SOCIAL Y DE MERCADOS

Más detalles

SERVICIO RECOMENDADOR DE RECURSOS DIGITALES PARA EL SISTEMA DSPACE

SERVICIO RECOMENDADOR DE RECURSOS DIGITALES PARA EL SISTEMA DSPACE DESARROLLO DE UN SERVICIO RECOMENDADOR DE RECURSOS DIGITALES PARA EL SISTEMA DSPACE 1. INTRODUCCIÓN Desde hace dos décadas, las bibliotecas han efectuado con éxito una serie de transformaciones en su filosofía,

Más detalles

Análisis de aplicación: LetoDMS

Análisis de aplicación: LetoDMS Análisis de aplicación: LetoDMS Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (Ceslcam, http://ceslcam.com). Copyright 2010, Junta de Comunidades

Más detalles

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA ANÁLISIS, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA ORIENTADO A LA WEB PARA GESTIÓN ACADÉMICA. CASO PRÁCTICO: JOHN OSTEEN

Más detalles

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Memoria resumen del Proyecto de Innovación Docente (PID) Ref.: 52B (periodo 2009-2011) Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Investigador Principal:

Más detalles

MINERÍA DE DATOS. Teleprocesos y Sistemas Distribuidos Licenciatura en Sistemas de Información FACENA - UNNE. Octubre - 2003

MINERÍA DE DATOS. Teleprocesos y Sistemas Distribuidos Licenciatura en Sistemas de Información FACENA - UNNE. Octubre - 2003 MINERÍA DE DATOS Teleprocesos y Sistemas Distribuidos Licenciatura en Sistemas de Información FACENA - UNNE Octubre - 2003 CONTENIDO Qué es Data Warehousing Data Warehouse Objetivos del Data Warehouse

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Guía de uso de Moodle para participantes

Guía de uso de Moodle para participantes Guía de uso de Moodle para participantes ÍNDICE 1 QUÉ ES MOODLE?... 3 2 INTRODUCCIÓN A LA PLATAFORMA... 4 2.1 ACCESO... 4 2.2 CURSO... 5 2.2.1 BLOQUES... 6 3 RECURSOS Y MÓDULOS... 8 3.1 TRANSMISIVOS...

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA PRESTACIÓN DEL SERVICIO PYME.NET COMERCIO ELECTRÓNICO

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA PRESTACIÓN DEL SERVICIO PYME.NET COMERCIO ELECTRÓNICO PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA PRESTACIÓN DEL SERVICIO PYME.NET COMERCIO ELECTRÓNICO DENOMINACIÓN: SERVICIO PYME.NET COMERCIO ELECTRÓNICO DE CÁMARA TERUEL 1. INTRODUCCIÓN Y OBJETIVOS 2. ALCANCE

Más detalles

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

El software de gestión integral para empresas instaladoras y afines. Documentación comercial / tarifas

El software de gestión integral para empresas instaladoras y afines. Documentación comercial / tarifas El software de gestión integral para empresas instaladoras y afines Documentación comercial / tarifas Descripción general El software instalgest 1.0 es un paquete de software estándar de gestión que integra

Más detalles

DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI

DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI Informe de Práctica Profesional de 4to Año, Ingeniería Informática Autor: Manuel Alejandro Aguilar Díaz

Más detalles

VivaMéxico sin PRI. Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres. Otoño 2013

VivaMéxico sin PRI. Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres. Otoño 2013 VivaMéxico sin PRI Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres Facultad de Ciencias de la Computación Benemérita Universidad Autónoma de Puebla Otoño 2013 IMAGENESpemexmorena Adquisición

Más detalles

Especialista en Creación de Portales Web con Joomla 3.3

Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales Web con Joomla 3.3 TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Especialista en Creación de Portales Web

Más detalles

Manual de uso Cmap Tools

Manual de uso Cmap Tools Manual de uso Cmap Tools AFED E-LEARNING VERSIÓN 1.0 29/11/2012 S I S T E M A D E G E S T I Ó N D E L A C A L I D A D Tabla de contenido Tabla de contenido...2 CmapTools: software para construir mapas

Más detalles

Especificación de Requisitos del Sistema de Registro y Control de Bienes Muebles de la ULA (ULA_SRCBM, versión 1.0)

Especificación de Requisitos del Sistema de Registro y Control de Bienes Muebles de la ULA (ULA_SRCBM, versión 1.0) Proyecto: Actualización del Sistema de Información de Muebles Documento: Especificación de s del Sistema de Registro y Control de Muebles ULA (ULA_SRCBM, versión 1.0) Elaborado por: William J. Montilva

Más detalles

Gestionando Agile/Scrum con Sciforma

Gestionando Agile/Scrum con Sciforma agile Gestionando Agile/Scrum con Sciforma El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

CAPÍTULO 1: CONCEPTOS DE MICROSOFT DYNAMICS CRM

CAPÍTULO 1: CONCEPTOS DE MICROSOFT DYNAMICS CRM Capítulo 1: Conceptos de Microsoft Dynamics CRM CAPÍTULO 1: CONCEPTOS DE MICROSOFT DYNAMICS CRM Objetivos Los objetivos son Resumir de forma general Microsoft Dynamics CRM y sus áreas de ventas, marketing

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

PRESENTACIÓN. Quiénes somos? Nuestra visión de servicio. satisfagan sus necesidades. Grupo CF Developer http://www.grupocfdeveloper.

PRESENTACIÓN. Quiénes somos? Nuestra visión de servicio. satisfagan sus necesidades. Grupo CF Developer http://www.grupocfdeveloper. PRESENTACIÓN Quiénes somos? Grupo CF Developer es un grupo tecnológico dedicado a desarrollar productos y servicios informáticos destinados al sector educativo. Actualmente Grupo CF Developer distribuye

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

MINERIA DE DATOS Y Descubrimiento del Conocimiento

MINERIA DE DATOS Y Descubrimiento del Conocimiento MINERIA DE DATOS Y Descubrimiento del Conocimiento UNA APLICACIÓN EN DATOS AGROPECUARIOS INTA EEA Corrientes Maximiliano Silva La información Herramienta estratégica para el desarrollo de: Sociedad de

Más detalles

DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES

DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES ETAPA: SISTEMA DE INFORMACIÓN PARA LA GESTIÓN DEL PROCESO DE PRÁCTICAS PROFESIONALES ENTORNO VIRTUAL DE PRÁCTICAS PROFESIONALES Esta Publicación

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

Programación del Módulo Profesional. Despliegue de Aplicaciones Web. Del Ciclo Formativo de Grado Superior. Desarrollo de Aplicaciones Web

Programación del Módulo Profesional. Despliegue de Aplicaciones Web. Del Ciclo Formativo de Grado Superior. Desarrollo de Aplicaciones Web Programación del Módulo Profesional Despliegue de Aplicaciones Web Del Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Contenido 1 OBJETIVOS GENERALES DEL MÓDULO PROFESIONAL.... 3 2 UNIDADES

Más detalles

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas Ponentes: ---- angel.cifuentes2@carm.es CENTRO REGIONAL DE ESTADÍSTICA DE MURCIA - CREM Resumen: Sistema Informático denominado GATOCREM permite una gestión automatizada de todas las tareas estadísticas

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

CAPÍTULO V. Propuesta

CAPÍTULO V. Propuesta CAPÍTULO V Propuesta 5.1 Propuesta Implantación de una aplicación WEB para optimizar el Enlace Laboral de la Cámara de Comercio e Industria de El Salvador, Filial San Miguel 5.2 Requerimientos de la Aplicación

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

Cómo se usa Data Mining hoy?

Cómo se usa Data Mining hoy? Cómo se usa Data Mining hoy? 1 Conocer a los clientes Detectar segmentos Calcular perfiles Cross-selling Detectar buenos clientes Evitar el churning, attrition Detección de morosidad Mejora de respuesta

Más detalles

PROGRAMACIÓN DE MÓDULO DEPARTAMENTO INFORMÁTICA Y COMUNICACIONES CURSO 2º CICLO FORMATIVO ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

PROGRAMACIÓN DE MÓDULO DEPARTAMENTO INFORMÁTICA Y COMUNICACIONES CURSO 2º CICLO FORMATIVO ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED Página 1 de 17 DEPARTAMENTO INFORMÁTICA Y COMUNICACIONES CURSO 2º CICLO FORMATIVO ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED 1. Introducción. MÓDULO IMPLANTACIÓN DE APLICACIONES WEB Este módulo de

Más detalles

La Universidad, la Tecnología y el Software Libre

La Universidad, la Tecnología y el Software Libre ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO La Universidad, la Tecnología y el Software Libre Carlos Volter Buenaño Pesántez DIRECTOR DEPARTAMENTO DE SISTEMAS Y TELEMATICA ESPOCH Mail: cbuenano@live.espoch.edu.ec

Más detalles

EDUCACIÓN A DISTANCIA

EDUCACIÓN A DISTANCIA EDUCACIÓN A DISTANCIA Manual del Moodle Consulta ESTUDIANTE Cuernavaca, Morelos 12 de febrero de 2010 Índice ÍNDICE I ERROR! MARCADOR NO DEFINIDO. RESUMEN 1 MANUAL PARA EL ESTUDIANTE 2 1 MOODLE 2 1.1 QUÉ

Más detalles

Joomla. Creación de sitios web con contenido dinámico

Joomla. Creación de sitios web con contenido dinámico Joomla. Creación de sitios web con contenido dinámico Autor: José Luis Bautista Tutor: José Luis Bautista 1. TÍTULO Joomla. Creación de sitios web con contenido dinámico 2. DESCRIPCIÓN Joomla es uno de

Más detalles

DKA Elearning SLU- B91864512-Pasaje Ramiro Lindado 1-3c 41.600 Sevilla Tl: 902808120 servicios@dka-formacion.es

DKA Elearning SLU- B91864512-Pasaje Ramiro Lindado 1-3c 41.600 Sevilla Tl: 902808120 servicios@dka-formacion.es DKA FORMACIÓN.- Servicios Integrales para la Formación MOODLE Diseño general Promueve una pedagogía constructivista social (colaboración, actividades, reflexión crítica, etc.). Apropiada para el 100% de

Más detalles

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Programa de Capacitación y Certificación. INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Contenido PERFIL DE UN ESPECIALISTA EN BASES DE DATOS.... 3 6231. MANTENIENDO UNA BASE DE DATOS DE SQL SERVER 2008

Más detalles

SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL SIMAD CLOUD. La Gestión Documental ahora en la nube, es más eficiente aurea

SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL SIMAD CLOUD. La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL El más potente programa para el manejo integral

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA Expte. EXCEL. CEI 04/11 1. OBJETO DEL CONTRATO Actualmente, la información presentada

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

APROVECHE AL MÁXIMO EL MEJOR SOFTWARE DE ANÁLISIS DE DATOS, ASISTA A LOS CURSOS DE CAPACITACIÓN DE SPSS CHILE

APROVECHE AL MÁXIMO EL MEJOR SOFTWARE DE ANÁLISIS DE DATOS, ASISTA A LOS CURSOS DE CAPACITACIÓN DE SPSS CHILE TRAINING 2007 APROVECHE AL MÁXIMO EL MEJOR SOFTWARE DE ANÁLISIS DE DATOS, ASISTA A LOS CURSOS DE CAPACITACIÓN DE SPSS CHILE Fundamentos en el Uso y Aplicaciones con SPSS Introducción a la Sintaxis Estadísticas

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL Página 1 de 23 CUALIFICACIÓN PROFESIONAL Familia Profesional Nivel 3 Código IFC363_3 Versión 5 Situación RD 1701/2007 Actualización ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS

Más detalles

Curso de Analítica web con Google Analytics para emprendedores en la enseñanza del español y gestión cultural Centro Internacional de Tecnologías

Curso de Analítica web con Google Analytics para emprendedores en la enseñanza del español y gestión cultural Centro Internacional de Tecnologías Curso de Analítica web con Google Analytics para emprendedores en la enseñanza del español y gestión cultural Centro Internacional de Tecnologías Avanzadas Fundación Germán Sánchez Ruipérez 1. Título:

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Cualificación Profesional ADMINISTRACIÓN DE SERVICIOS DE INTERNET. Nivel 3. Versión 5

Cualificación Profesional ADMINISTRACIÓN DE SERVICIOS DE INTERNET. Nivel 3. Versión 5 Página 1 de 23 Cualificación Profesional ADMINISTRACIÓN DE SERVICIOS DE INTERNET Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC156_3 Versión 5 Situación Publicada Competencia general

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

WEB 2.0 MOODLE COMO PLATAFORMA

WEB 2.0 MOODLE COMO PLATAFORMA Fundación Joan XXIII WEB 2.0 MOODLE COMO PLATAFORMA SERVEIS DE INTERNET SILVIA MOMPEL Y ALBERT MURILLO Moodle Moodle Desarrollador: Martin Dougiamas Última versión: 1.8.2 (8 de julio 2007) S.O.: Género:

Más detalles

Electrónica Digital II

Electrónica Digital II Electrónica Digital II M. C. Felipe Santiago Espinosa Aplicaciones de los FPLDs Octubre / 2014 Aplicaciones de los FPLDs Los primeros FPLDs se usaron para hacer partes de diseños que no correspondían a

Más detalles

Capítulo 1. Introducción. 1.1. Antecedentes

Capítulo 1. Introducción. 1.1. Antecedentes Capítulo 1. Introducción En este capítulo se presenta una descripción general del problema a investigar y el enfoque con el que se aborda. Se establece la necesidad de incorporar técnicas de análisis novedosas

Más detalles

CURSO MINERÍA DE DATOS AVANZADO

CURSO MINERÍA DE DATOS AVANZADO CURSO MINERÍA DE DATOS AVANZADO La minería de datos (en inglés, Data Mining) se define como la extracción de información implícita, previamente desconocida y potencialmente útil, a partir de datos. En

Más detalles

GRID COMPUTING MALLA DE ORDENADORES

GRID COMPUTING MALLA DE ORDENADORES GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación

Más detalles

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos 1. Introducción Curso académico 2009-2010 La práctica de Integración de Sistemas consiste en el diseño

Más detalles

Aplicaciones Web que Permitan Administrar Portafolios para Gestionar el Aprendizaje

Aplicaciones Web que Permitan Administrar Portafolios para Gestionar el Aprendizaje Escuela Universitaria de Ingeniería Industrial, Informática y Sistemas Área de Computación e Informática Universidad Tarapacá Arica Aplicaciones Web que Permitan Administrar Portafolios para Gestionar

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB DENOMINACIÓN: CON TECNOLOGÍAS WEB Código: IFCD0210 Familia profesional: Informática y Comunicaciones Área profesional: Desarrollo Nivel de cualificación profesional: 3 Cualificación profesional de referencia:

Más detalles

Identificación fácil de los clientes adecuados

Identificación fácil de los clientes adecuados PASW Direct Marketing 18 Especificaciones Identificación fácil de los clientes adecuados Sabemos que le gustaría que sus programas de marketing sean lo más rentables posible y sabemos que conocer la información

Más detalles

Administración de Servicios Web (Online)

Administración de Servicios Web (Online) TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Administración de Servicios Web (Online) Duración: 180 horas Precio: 0 * Modalidad: Online * hasta

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

COMPONENTES ESENCIALES DE LA HERRAMIENTA LMS MOODLE DOCUMENTO DE APOYO PARA LA IMPLEMENTACIÓN DE AULAS VIRTUALES

COMPONENTES ESENCIALES DE LA HERRAMIENTA LMS MOODLE DOCUMENTO DE APOYO PARA LA IMPLEMENTACIÓN DE AULAS VIRTUALES UNIVERSIDAD DE CALDAS FACULTAD DE INGENIERIA DEPARTAMENTO DE SISTEMAS E INFORMATICA COMPONENTES ESENCIALES DE LA HERRAMIENTA LMS MOODLE DOCUMENTO DE APOYO PARA LA IMPLEMENTACIÓN DE AULAS VIRTUALES COORDINACION

Más detalles

V. CAPÍTULO: CONTRIBUCIÓN

V. CAPÍTULO: CONTRIBUCIÓN V. CAPÍTULO: CONTRIBUCIÓN Requerimientos del Sistema Para llevar a cabo el desarrollo de nuestro sistema se establecieron tanto los actores como los requerimientos funcionales y no funcionales del sistema.

Más detalles

Capítulo 6: Instrumentación: Diseño del Sistema de H2O

Capítulo 6: Instrumentación: Diseño del Sistema de H2O Capítulo 6: Instrumentación: Diseño del Sistema de H2O Digital Media Server El video en demanda a través del web aún está restringido a las grandes empresas que pueden pagar por contar por un servicio

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio Otro camino para el BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 El BPM El BPM (Business Process Management) no es solo una tecnología, además a grandes rasgos es una disciplina

Más detalles

Luis Esteban Peñaherrera Sandoval Ing. de Software

Luis Esteban Peñaherrera Sandoval Ing. de Software DESARROLLO DE UN SISTEMA DE APRENDIZAJE INTERACTIVO PARA EL ÁREA DEL IDIOMA INGLÉS CON EL SOPORTE DEL KINECT DE MICROSOFT- CASO PRÁCTICO PARA NIÑOS DE 6 A 8 AÑOS EN EL CENTRO EDUCATIVO ILINIZAS. Luis Esteban

Más detalles