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

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. hendrik.drachsler@o 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

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

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

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producció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

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

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

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO 1 Objetivo del Manual Elaborado por: Revisado por: Aprobado por: Fecha: 13/08/2015 Difusión: Información del Manual

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

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

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

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

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

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

e-mailing Solution La forma más efectiva de llegar a sus clientes.

e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution Es muy grato para nosotros presentarles e-mailing Solution, nuestra solución de e-mail Marketing para su empresa. E-Mailing

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

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

Más detalles

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE 3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar

Más detalles

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 -

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 - Graballo+ Agosto de 2007-1 - Índice Índice...2 Introducción...3 Características...4 DESCRIPCIÓN GENERAL...4 COMPONENTES Y CARACTERÍSTICAS DE LA SOLUCIÓN...5 Recepción de requerimientos...5 Atención de

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

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

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

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS Estructura de Cargos y Competencias Institucionales Campus San Juan Pablo II Presentación La Universidad Católica

Más detalles

Introducción a los sitios de SharePoint en Office 365

Introducción a los sitios de SharePoint en Office 365 Introducción a los sitios de SharePoint en Office 365 Universidad Central del Este Contenido 1. QUÉ ES UN SITIO SHAREPOINT?... 3 2. CÓMO INGRESAR AL ÁREA DE SITIOS?... 3 3. DESCRIPCIÓN GENERAL DEL ÁREA

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

CAPITULO I FORMULACION DEL PROBLEMA

CAPITULO I FORMULACION DEL PROBLEMA CAPITULO I FORMULACION DEL PROBLEMA TITULO DESCRIPTIVO DEL PROYECTO. Implementación de un servidor proxy para el control de tráfico de la red y gestión de los servicios de Internet en los centros de cómputo

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

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

Manual del Usuario. Sistema de Help Desk

Manual del Usuario. Sistema de Help Desk Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos

Más detalles

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

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

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

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

Más detalles

INGRESAR CON NÚMERO DE DOCUMENTO Y CONTRASEÑA

INGRESAR CON NÚMERO DE DOCUMENTO Y CONTRASEÑA INGRESAR CON NÚMERO DE DOCUMENTO Y CONTRASEÑA ROL PAQUETES FUNCIONALES QUE SE ACTIVAN AL ROL DE APRENDIZ ROL: APRENDIZ PAQUETE: REGISTRO ESTAS SON LAS OPCIONES QUE TIENE UN APRENDIZ EN LA PARTE DE REGISTRO.

Más detalles

Unidad III. Software para la administración de proyectos.

Unidad III. Software para la administración de proyectos. Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de

Más detalles

CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA.

CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA. CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA. El análisis se ha centrado en cuatro temas solamente, sin profundizar en otros elementos que pueden ser más diferenciales, pero

Más detalles

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE Creado en May/14 Objetivo: Contar con una guía de las actividades que se deben realizar en esta fase,

Más detalles

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

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

Más detalles

<Generador de exámenes> Visión preliminar

<Generador de exámenes> Visión preliminar 1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

INDICE. 13. Recomendaciones 15. Yachay Aula Virtual 1

INDICE. 13. Recomendaciones 15. Yachay Aula Virtual 1 INDICE 1. Presentación 2 2. Acceso a Yachay Aula Virtual 2 3. Componentes del panel de acceso del aula virtual 3 4. Aula Virtual YACHAY 3 5. Estructura del aula virtual 4 6. Cómo ingresar a un curso del

Más detalles

CMMI (Capability Maturity Model Integrated)

CMMI (Capability Maturity Model Integrated) CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios

Más detalles

Studium, Campus Virtual de la Universidad de Salamanca.

Studium, Campus Virtual de la Universidad de Salamanca. Studium, Campus Virtual de la Universidad de Salamanca. Contenidos 1 Qué es Studium 2 Instalación de Studium en USAL 3 Atención a los usuarios 4 Instalación Moodle. MoodleWindowsInstaller 5 Moodle portable

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08 PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet Revisión 1.1 Fecha 2006-08 Índice 1. Acceder 2. Menú 3. Gestión Básica 3.1 Añadir 3.2 Editar 3.3 Eliminar 3.4 Eliminación de registros

Más detalles

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS SISTEMA DE ESPECIICACION DE REQUERIMIENTOS Presentado por: Jefferson Peña Cristian Álvarez Cristian Alzate 10 CONTENIDO 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. AMBITO DEL SISTEMA 1.3. DEFINICIONES, ACRÓNIMOS

Más detalles

CRM. Customer Relationship Management Sistema de Gestión Inteligente de Mercadeo y Ventas. Sistema de Gestión Inteligente de Mercadeo y Ventas

CRM. Customer Relationship Management Sistema de Gestión Inteligente de Mercadeo y Ventas. Sistema de Gestión Inteligente de Mercadeo y Ventas CRM Customer Relationship Management Sistema de Gestión Inteligente de Mercadeo y Ventas Sistema de Gestión Inteligente de Mercadeo y Ventas Customer Relationship Management (Administración de Relaciones

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

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total. INFO 2002 Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total. Autor: Ing. Alfredo Batista Rodríguez. Ing. Emilio Joel Macias. Correo electrónico: alfredo@biomundi.inf.cu

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

E-learning: E-learning:

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

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

MANUAL PARA PRESENTACIÓN DE PROYECTOS EN SISTEMA WEB

MANUAL PARA PRESENTACIÓN DE PROYECTOS EN SISTEMA WEB INTRODUCCIÓN El presente documento les guiará y servirá de apoyo para una mayor comprensión en la forma que se debe entregar y completar la información para la generación de proyectos. Los usuarios que

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for SharePoint. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

Más detalles

Creación y administración de grupos de dominio

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

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Criterios de revisión de un curso que utiliza PBL ING. y CB.

Criterios de revisión de un curso que utiliza PBL ING. y CB. Criterios de revisión de un curso que utiliza PBL ING. y CB. Curso: Clave: Facilitador: Profesor: Campus: Introducción: En este documento se presentan los criterios que deben de cumplir los elementos de

Más detalles

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) Introducción 1. Como se indica en la Norma Internacional de Auditoría 401, "Auditoría en un contexto informatizado", los objetivos globales

Más detalles

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES? QUE ES COMLINE MENSAJES? Comline Mensajes es una plataforma flexible, ágil y oportuna, que permite el envío MASIVO de MENSAJES DE TEXTO (SMS). Comline Mensajes integra su tecnología a los centros de recepción

Más detalles

Introducción a las redes de computadores

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

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

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

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT INTRODUCCIÓN La documentación de auditoría ó papeles de trabajo son el respaldo que tiene el auditor para registrar los procedimientos aplicados,

Más detalles

BearSoft. SitodeCloud. Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo

BearSoft. SitodeCloud. Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo BearSoft Rafael Rios Bascón Web: http://www.bearsoft.com.bo Móvil: +591 77787631 Email: rafael.rios@bearsoft.com.bo CONTENIDO 1. Resumen. 3 2. Business Intelligence.. 4 3. Características del software.

Más detalles

Dirección de Procesos y Tecnología

Dirección de Procesos y Tecnología INTRODUCCIÓN 3 CONSIDERACIONES, ALCANCE Y LIMITACIONES DEL SISTEMA 4 USUARIO ADMINISTRATIVO SEDE PRERREQUISITOS: 6 ACCESO AL SISTEMA 6 BÚSQUEDA DE PROGRAMACIÓN DEL DOCENTE: 9 REGISTRO HISTÓRICO 11 BITÁCORA

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... Tabla de Contenido PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... 2 1. LA PRESENCIA DE INFORMACIÓN Y AYUDA ÚTIL PARA COMPLETAR LOS TRÁMITES EN LÍNEA.... 2 2. LA DISPONIBILIDAD DE DIVERSOS

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Sistema de Gestión de Proyectos Estratégicos.

Sistema de Gestión de Proyectos Estratégicos. [Documento versión 2.0 del 24/06/2015] Sistema de Gestión de Proyectos Estratégicos. El sistema de Gestión de Proyectos Estratégicos (GPE), es una poderosa herramienta para administrar y gestionar los

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Para empezar el proceso de evaluación: el diagnóstico

Para empezar el proceso de evaluación: el diagnóstico SUBSECRETARÍA DE EDUCACIÓN BÁSICA DIRECCIÓN GENERAL DE DESARROLLO CURRICULAR DIRECCIÓN DE DESARROLLO CURRICULAR PARA LA EDUCACIÓN PREESCOLAR Para empezar el proceso de evaluación: el diagnóstico México,

Más detalles

GUÍA PARA LA INDUCCIÓN AL PUESTO DE TRABAJO

GUÍA PARA LA INDUCCIÓN AL PUESTO DE TRABAJO GUÍA PARA LA INDUCCIÓN AL PUESTO DE TRABAJO DIRECCION DE RECURSOS HUMANOS INDUCCIÓN AL PUESTO. La finalidad de la Inducción es brindar información general, amplia y suficiente al colaborador que le permita

Más detalles

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

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

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

MS Project aplicado al Control de Proyectos

MS Project aplicado al Control de Proyectos MS Project aplicado al Control de Proyectos I. Datos generales Profesor tutor Duración del curso Dedicación del participante Modalidad : Rolando Luna Flores : 8 semanas (54 horas) : 6 a 8 horas semanales

Más detalles

Joomla! La web en entornos educativos

Joomla! La web en entornos educativos Joomla! La web en entornos educativos Módulo : 2012 ACL (I). Usuarios. Estructura predeterminada. 4 Las versiones 2.5 de Joomla! poseen un avanzado ACL (Access Control List), que especifica qué usuarios

Más detalles

El texto extenso Taller de Búsqueda de Recuperación de Información en Bases de Datos en la Red Capital de Bibliotecas Públicas

El texto extenso Taller de Búsqueda de Recuperación de Información en Bases de Datos en la Red Capital de Bibliotecas Públicas Título de la ponencia: Taller de Búsqueda de Recuperación de Información en Bases de Datos en la Red Capital de Bibliotecas Públicas Información del autor(es): Nombres y apellidos: Sergio Alfonso Grado

Más detalles

Educación y capacitación virtual, algo más que una moda

Educación y capacitación virtual, algo más que una moda Éxito Empresarial Publicación No.12 marzo 2004 Educación y capacitación virtual, algo más que una moda I Introducción Últimamente se ha escuchado la posibilidad de realizar nuestra educación formal y capacitación

Más detalles

Eficiencia en la Automatización y Gestión de Servicios

Eficiencia en la Automatización y Gestión de Servicios Eficiencia en la Automatización y Gestión de Servicios GESTIÓN EFECTIVA DE SERVICIOS CON SERVICETONIC Hoy en día las empresas están obligadas a hacer más con menos recursos y como consecuencia de ello

Más detalles

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Introducción Aunque la estrategia de adquisiciones que Oracle ha seguido en los últimos años siempre ha buscado complementar y fortalecer nuestra oferta

Más detalles

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

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

Más detalles

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado Ministerio de Educación, Cultura y Deporte Joomla! La web en entornos educativos Guía del alumnado INTEF 2012 Joomla! La web en entornos educativos Guía Didáctica En este apartado describiremos las características

Más detalles

SISTEMA DE RASTREO Y MARCADO ANTIRROBO

SISTEMA DE RASTREO Y MARCADO ANTIRROBO SISTEMA DE RASTREO Y MARCADO ANTIRROBO DESCRIPCIÓN Y MANUAL DE USO Enlaces - Centro de Educación y Tecnología IMPORTANTE En caso de robo de un computador, y para su posterior recuperación, es imprescindible

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

GUIA GENERAL PARA LA EVALUACION DE PROGRAMAS

GUIA GENERAL PARA LA EVALUACION DE PROGRAMAS GUIA GENERAL PARA LA EVALUACION DE PROGRAMAS A. Introducción La evaluación de un programa supone la colección sistemática de datos y el análisis e interpretación de los mismos, con el propósito de determinar

Más detalles

Módulo 7: Los activos de Seguridad de la Información

Módulo 7: Los activos de Seguridad de la Información Módulo 7: Los activos de Seguridad de la Información Se explica en este tema cómo deben abordarse la elaboración de un inventario de activos que recoja los principales activos de información de la organización,

Más detalles

Curso Online de Microsoft Project

Curso Online de Microsoft Project Curso Online de Microsoft Project Presentación El curso a distancia estudia conceptos generales sobre las tecnologías relacionadas con Internet. Conceptos que cualquier usuario de ordenadores debe conocer

Más detalles

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler ADMINISTRADOR DE PROYECTOS SEIS Bizagi Process Modeler Copyright 2011 - bizagi Contenido CONSTRUCCIÓN DEL PROCESO... 1 1. DIAGRAMA DEL PROCESO... 3 Sub proceso Fase... 4 Sub proceso Crear Entregable...

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA ACLARACIONES Y RESPUESTAS A CONSULTAS SEGUNDA PARTE De acuerdo a lo señalado en el numeral 11 de las Bases de Licitación, a continuación se presenta

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

EXPERTOS EN DESARROLLO WEB

EXPERTOS EN DESARROLLO WEB EXPERTOS EN DESARROLLO WEB ADAPTACIÓN A LA NUEVA NORMATIVA SOBRE COOKIES NUEVA NORMATIVA SOBRE EL USO DE COOKIES A D SITUACIÓN DESEADA SITUACIÓN ACTUAL Se establecen multas a las empresas que no informen

Más detalles

Un primer acercamiento a la CMDB.

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

Más detalles

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

DECLARACIÓN DE PRIVACIDAD DE FONOWEB DECLARACIÓN DE PRIVACIDAD DE FONOWEB Fonoweb se compromete a respetar su privacidad y la confidencialidad de su información personal, los datos de las comunicaciones y el contenido de las comunicaciones

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

PLATAFORMA VIRTUAL BASADA EN MOODLE

PLATAFORMA VIRTUAL BASADA EN MOODLE PLATAFORMA VIRTUAL BASADA EN MOODLE GUIA PARA LOS ALUMNOS GUIA PARA LOS ALUMNOS El siguiente documento es un manual de usuario para los alumnos en general, que pertenezcan a la Plataforma Virtual basada

Más detalles

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler Bizagi Process Modeler Copyright 2011 - Bizagi Tabla de Contenido CRM- Gestión de Oportunidades de Venta... 4 Descripción... 4 Principales Factores en la Construcción del Proceso... 5 Modelo de Datos...

Más detalles