• No se han encontrado resultados

CAPÍTULO 2: INSTALACIÓN Y CONFIGURACIÓN DE LA PLATAFORMA

E- LEARNING DOTLRN

3.1. Descripción del proceso de aprendizaje en dotLRN 3

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: http://devel.adenu.ia.uned.es:8010/dotlrn/. 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.

38 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:

39

 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.

3.2. 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.

40 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 3.2.

41 Fig. 3.2. 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

42 representativas con respecto a los foros y que se relacionan con la información almacenada dentro del archivo de logs.

Fig. 3.3. 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 31.

43 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 6.5.1.

 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 8.48. 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 6.5.1 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-3.5.2-plugin9. 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. 3.4. Este plugin es de mucha utilidad para realizar distintos tipos de reportes.

8

http://www.enterprisedb.com/products/postgres_plus/overview.do

9

44 Fig. 3.4. 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

45 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 ETL10 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

46 enviarla a la tabla user_interaction, que almacenara la interacción que el usuario mantiene con la plataforma.

3.4. 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

47 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) clave primaria que sirve como

identificador de la acción. integer

action_start tiempo de inicio de la acción

(en formato UNIX-TIME). integer

action_finish

tiempo de finalización de la acción (en formato UNIX-

TIME).

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.

48 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.

49 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 4.1.

50

DATOS DE INTERACCIÓN CARACTERÍSTICA DE

COLABORACIÓN

Número de sesiones del usuario

Nivel de Actividad (activity_level)

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 Nivel de Iniciativa (iniciative_level)

Número de Hilos iniciados por el usuario

Número de respuestas a los mensajes de usuario

Nivel de actividad de otros compañeros causada por el usuario

(classmate_activity_caused_by_user_level)

Último acceso o visita

No serán utilizados para el proceso de minería de datos

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

Número de visitas al calendario

51 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 número de sesiones del

usuario. Integer

average_time_per_session tiempo medio por sesión double

precision

last_visit fecha del último acceso Text

max_days_from_last_visit número máximo de días

entre visitas Integer

min_days_from_last_visit número mínimo de días

entre visitas Integer

num_pages_visited

número de visitas a las páginas dentro de la

plataforma

Integer

num_forums_visited número de visitas a los

foros Integer

num_msg_to_group_forum mensajes posteados por el

usuario Integer

num_msg_visited número de mensajes

visitados Integer

num_average_replies_threads número medio de

respuestas a hilos

double precisión

num_threads_user número de hilos

contestados Integer

num_threads_started número de hilos iniciados

por el usuario Integer

num_folders_visited número de visitas a las

carpetas Integer

num_files_visites número de visitas a los

52

num_files_download número de descargas

realizadas Integer

num_faqs_visited número de visitas a las

preguntas frecuentes Integer

num_help_visited número de visitas a la

ayuda Integer

num_controlpanel_visited número de visitas al panel

de control Integer

num_calendar_visited número de visitas al

calendario Integer

num_threads_user_and_tutor

número de hilos en los que han participado el estudiante y el profesor

Integer Tabla 3.4. Descripción de campos de la tabla interaction_data

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. 3.6. 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 3.5.

53

TABLA vista_minable

Campo Descripción Tipo

user_id identificador del usuario. integer

sessions_num número de sesiones del

usuario. integer

average_time_session tiempo medio por sesión 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 número medio de respuestas a

hilos

double precisión

num_threads_started número de hilos iniciados por

el usuario integer

num_threads_user_and_tutor

número de hilos en los que han participado el estudiante y el

profesor

integer

num_answers_to_user_msg número de respuestas dadas a

los mensajes de usuario integer

num_answered_threads número de hilos que contestó

el usuario 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

text 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.

54

Capítulo 4:

55 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 laidentificació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.

Documento similar