You are on page 1of 5

SPORAS: Un Curso Adaptativo en Web basado en un Sistema

Multiagente y Ontologías
Denis A. Parra
Instituto de Informática, Facultad de Ingeniería, Universidad Austral de Chile
Julio D. Guerra
Instituto de Informática, Facultad de Ingeniería, Universidad Austral de Chile

Dr. José S. Carrasco
Instituto de Informática, Facultad de Ingeniería, Universidad Austral de Chile

Dra. Eliana I. Scheihing
Instituto de Informática, Facultad de Ingeniería, Universidad Austral de Chile


RESUMEN
Este articulo presenta una descripcion general del sistema
SPORAS. diseñado y construido para adaptar secuencias
de material hipermedial de un curso web tomando en
consideracion el estilo de aprendizaie particular y el
avance del estudiante. El sistema incorpora mecanismos
para la observacion del usuario y el control de su avance
iunto con los mecanismos de secuenciamiento de
recursos. Se ha tomado como reIerencia el modelo de
estilos de aprendizaie Felder-Silverman |3| y la
Taxonomia de Obietivos de Aprendizaie de Bloom |4|.
Dos caracteristicas distinguen este sistema de otros
similares y son. en primer lugar. la deduccion del estilo
de aprendizaie de cada alumno mediante la observacion y
el analisis de las acciones realizadas en una Iorma no
intrusiva y. en segundo lugar. que solo sugiere el orden
en que se presenta el contenido. mas no impide que el
alumno siga otra secuencia.
SPORAS se implemento integrando servlets. un sistema
multiagente. una base de datos y ontologias como
modelos de conocimiento.
Palabras Clave: adaptatividad. estilos de aprendizaie. e-
learning. sistemas multiagente. ontologias.
1. SPORAS: UN SISTEMA ADAPTATIVO
Los sistemas adaptativos tienen como obietivo adaptarse
a las necesidades de un usuario individual haciendo uso
de modelos que reIleian sus obietivos. preIerencias y
conocimiento|1|. Es natural. entonces. que sea el ambito
de la educacion una de las areas de aplicacion de los
sistemas adaptativos. debido a que cada estudiante
presenta distinto interes. nivel de conocimiento y modo
de aprender los diIerentes contenidos |1||3|. Sistemas
como ISIS-Tutor|1|. ELM-ART|1| y AHA|1| son
eiemplos de sistemas adaptativos aplicados a la
educacion. En este contexto. el obietivo principal de
SPORAS es adaptar los contenidos de un curso web
ordenando en una secuencia los recursos educativos
hipermediales en base al estilo particular de aprendizaie
del alumno y a su nivel de avance en cada topico. Se
construye un modelo del estilo de aprendizaie del alumno
analizando el grado de interes que el sistema veriIica en
los recursos que le han sido mostrado. cada uno de los
cuales debe estar correctamente caracterizado para este
proposito. El nivel de avance es establecido en base a
estos mismos recursos y es conIirmado realizando
evaluaciones. El diseño del sistema busca satisIacer dos
restricciones que caracterizarian a SPORAS de otros
sistemas similares:
a) El estilo de aprendizaie debe determinarse sin hacer un
test inicial.
b) El sistema solo sugiere. no impone. los recursos que
cree mas adecuados.
2. ARQUITECTURA DE SPORAS
SPORAS provee los contenidos del curso a traves de una
interIaz web. Un sistema multiagente se encarga de
registrar el comportamiento del alumno Irente a los
recursos. construir y actualizar el modelo del alumno y
sus niveles de avance y establecer la secuencia en que
seran mostrados los recursos de contenido. Los
contenidos del curso y los recursos asociados son
especiIicados en una Ontologia de Contenidos. El modelo
del alumno y el historial de recursos vistos y acciones
realizadas son almacenados en una base de datos (ver
Figura 1).
El sistema multiagente ha sido desarrollado utilizando
JADE. herramienta que cumple el estandar de desarrollo
de agentes FIPA. JADE provee un coniunto de
bibliotecas de Iunciones. una interIaz de depuracion y un
ambiente de eiecucion. lo que Iacilita el desarrollo de
sistemas multiagente.
Se ha escogido Jakarta-Tomcat como servidor web
debido a la posibilidad de comunicar los servlets con
JADE ya que ambos estan implementados en lenguaie
Java.
Se ha utilizado Protege para el desarrollo de las dos
ontologias implementadas:
• la Ontologia de Contenidos que es usada para
describir y mantener el contenido del curso y es
accedida por el sistema mediante la API que
provee Protege. y
• la Ontologia del Sistema Multiagente que
permite a los agentes JADE tener un lenguaie
comun para el contenido de los mensaies. No
obstante esta ontologia es modelada utilizando
Protege. debe ser convertida al esquema de
ontologia deIinido por JADE |2|
La base de datos Iue construida con MySQL y contiene
las estructuras necesarias para mantener los datos de cada
cuenta de usuario y el estilo de aprendizaie de los
alumnos. los niveles de avance de los alumnos por
obietivos y los historiales de recursos vistos y
evaluaciones realizadas.
Ontología del Sistema Multiagente
La ontologia del Sistema Multiagente establece los
conceptos. acciones y predicados necesarios para dar
sentido al contenido de los mensaies que conIorman las
conversaciones entre los agentes |2|.
Esta ontologia sirve para compartir. en un Iormato
comun. la inIormacion de la Ontologia de Contenidos y
de la base de datos en las conversaciones que se realizan
entre los agentes. A nivel de implementacion. la
Ontologia del Sistema Multiagente es. Iinalmente. un
coniunto de clases Java que pueden ser accedidas
directamente y en Iorma convencional por los agentes.
Sin embargo. esta ontologia no puede ser utilizada como
repositorio permanente de inIormacion.
Ontología de Contenidos: el curso y el
material de estudio.
El material del curso y su organizacion se deIinen en la
Ontologia de Contenidos. Esta ontologia Iue construida
usando Protege-2000 y sirve de repositorio de la
inIormacion del curso.
Dos son los principales conceptos (o clases) deIinidos en
esta ontologia: Obietivo de Aprendizaie y Recurso de
Contenido. Los contenidos del curso quedan deIinidos
por una lista de obietivos de aprendizaie. cada uno de los
cuales tiene un coniunto de recursos de contenido y
preguntas asociadas.
Objetivo de Aprendizaje
En la ontologia se desglosa un curso deIiniendo todos los
'obietivos de aprendizaie¨ que el proIesor espera
alcancen sus alumnos. Conviene hacer notar que es de
vital importancia la deIinicion exhaustiva de obietivos en

el curso. por minimos o simples que estos sean. Cada
obietivo cuenta entre sus atributos. la siguiente
inIormacion:
Recursos: un coniunto de Recursos de Contenido que
corresponde a todos los recursos que serviran para
alcanzar el obietivo de aprendizaie.
Nivel: el nivel del obietivo toma como valor uno de los
seis niveles deIinidos en la Taxonomia de Obietivos de
Educacionales de Bloom |4|: Conocimiento.
Comprension. Aplicacion. Analisis. Sintesis y
Evaluacion.
Obietivos Requeridos: la lista de otros obietivos cuyo
cumplimiento sea vital para alcanzar el obietivo actual.
Preguntas: un coniunto de Preguntas que serviran para
evaluar cada nivel que el alumno va alcanzando hasta
llegar al nivel del obietivo.
Recurso de Contenido
La clase Recurso de Contenido deIine un marco de
caracterizacion para un archivo de material hipermedial
del curso. Cada recurso cuenta entre sus atributos:
Archivo: el nombre del archivo que es el recurso
propiamente tal. Para simpliIicar la implementacion. se
ha limitado a que todos los archivos sean de Iormato
html.
Nivel: puede ser el alguno de los niveles hasta el nivel del
obietivo al que pertenece.
Estilo de Aprendizaie: tres parametros que indican las
caracteristicas de presentacion. de percepcion y de
procesamiento. tomando como base el modelo de estilos
de aprendizaie Felder-Silverman |3|.
Tiempo Esperado de Recepcion: es el tiempo medio que
se espera que un alumno tarde en leer. ver y procesar un
recurso medido en minutos.
Servlets
Las paginas web del sistema son generadas
dinamicamente en el servidor usando servlets. Cada
servlet realiza una tarea determinada y construye un tipo
de pagina distinta:
Servlet Login: se encarga del proceso de validacion del
usuario. consultando en la base de datos. cuando intenta
ingresar al sistema. Genera una pagina de bienvenida o de
error cuando la validacion Ialla.
Servlet CourseIndex: solicita la lista de obietivos de
aprendizaie personalizada segun los niveles de avance del
alumno y con esta inIormacion presenta una pagina
'Indice del Curso¨.
Servlet ContentResource: se encarga de solicitar la
secuencia de recursos de un obietivo de aprendizaie.
Dependiendo de las caracteristicas del primer recurso de
la secuencia y del avance del alumno. decide mostrar una
pagina con el contenido del recurso o invoca al servlet
Evaluation para generar una pagina de evaluacion.
Servlet Evaluation: cuando el servlet ContentResource
decide que debe realizarse un test de evaluacion. el
servlet Evaluation genera una pagina con un test de
cuatro preguntas. evalua y notiIica el resultado a la
plataIorma de agentes (ver 4. Seguimiento y Control de
Avance).
Agentes de la Plataforma
El sistema multiagente de SPORAS se compone de
cuatro tipos de agentes:
UserManager: este agente atiende a un usuario en
particular. por lo tanto habran tantos UserManagers como
alumnos conectados al sistema. Se encarga tanto de
recibir y gestionar los reportes de acciones monitoreadas
del alumno (ver 4. Seguimiento y Control de Avance).
como de recibir. gestionar y responder las peticiones de
contenido realizadas por los servlets (ver 6.
Secuenciamiento Adaptativo de los Recursos).
Interpreter: es un tipo de agente que se encarga de
realizar el proceso de 'interpretacion¨ de las acciones
observadas de un alumno al interactuar con un recurso.
Pueden crearse tantos agentes de este tipo como sea
necesario dependiendo del nivel de carga del sistema.
Cuando el agente UserManager pide el servicio de
'interpretacion¨ trata con el agente Interpreter que este
desocupado en ese momento.
Modeller: es un tipo de agente que se encarga de
construir el estilo de aprendizaie de un alumno
analizando el historial de recursos vistos y los niveles de
avance (ver 5. Construccion del Estilo de Aprendizaie).
Al igual que el agente Interpreter. pueden crearse varios
en el sistema para responder al nivel de carga.
ResourceProgrammer: este tipo de agente es capaz de
construir una secuencia de recursos para un alumno y
para un obietivo de aprendizaie en particular (ver 6.
Secuenciamiento Adaptativo de los Recursos). Al igual
que los tipos de agente anteriores. pueden crearse varios
ResourceProgrammer en el sistema para responder al
nivel de carga.
3. FUNCIONAMIENTO GLOBAL DEL
SISTEMA
Para lograr la adaptatividad del contenido del curso. el
sistema debe solucionar tres problemas: a) mantener y
controlar un registro del avance del alumno de acuerdo a
los recursos que ha visto y al exito de las evaluaciones
que ha enIrentado; b) determinar gradualmente el estilo
de aprendizaie del alumno. segun el modelo Felder-
Silverman |3|. y c) tomando en cuenta el avance y el
estilo de aprendizaie. construir secuencias ordenadas de
recursos de contenido en las cuales el primer recurso es el
mas conveniente a mostrar.
4. SEGUIMIENTO Y CONTROL DEL
AVANCE
Medidas para el Avance
Antes de describir como se realiza el control de avance es
oportuno deIinir las medidas deIinidas y utilizadas
mantener el nivel de avance del alumno. Por cada
obietivo de aprendizaie. se asocian al alumno tres
medidas de avance: nivel de trabajo. nivel evaluado y
nivel proyectado. Estos niveles toman los valores
deIinidos en la Taxonomia de Obietivos de Aprendizaie
de Bloom |4|.
1) Nivel de Trabajo: representa el nivel en el que
se supone esta el alumno. Este nivel comienza
con valor 1 cuando el alumno ingresa por
primera vez a los recursos de un obietivo de
aprendizaie y se incrementa luego de evaluarse
exitosamente.
2) Nivel Evaluado: este nivel toma un valor inicial
0 (cero) y va incrementandose al evaluar el nivel
de trabaio. Siempre tiene un valor menor en una
unidad al nivel de trabaio.
3) Nivel Proyectado: toma el valor del nivel del
recurso visto y aceptado con mas alto nivel por
sobre el Nivel de Trabaio cuando el recurso ha
sido escogido y no sugerido por el sistema.
Monitorización del Usuario
Con el obieto de determinar grados de interes del alumno
Irente a la inIormacion mostrada. el sistema lleva a cabo
un proceso de observacion de las acciones que el alumno
realiza Irente a cada uno de los recursos mostrados en
pantalla. Este proceso que ha sido denominado
'monitorizacion del usuario¨ registra algunos eventos que
pueden ser capturados con un browser: tiempo de
exposicion de la pagina. movimiento de las barras de
despliegue (scrolling). seleccion de textos o imagenes y
movimiento del mouse sobre enlaces.
La monitorizacion es realizada mediante Iunciones
iavascript en el cliente (browser) y comunicada por
medio de un mensaie ACL generado y enviado por un
applet hacia la plataIorma de agentes. que se ubica en el
servidor. Este applet. conocido como ActionReporter. es
considerado como un agente a nivel de diseño. a pesar de
que en rigor no es un agente JADE.
El mensaie enviado por el ActionReporter es recibido por
el agente UserManager del alumno. el cual se encarga de
registrar las acciones observadas en la base de datos.
Interpretación del Comportamiento
El proceso de interpretacion ocurre inmediatamente
despues de la Monitorizacion del Usuario. Luego de
registrar las acciones en la base de datos. el UserManager
del alumno encarga a un agente de tipo Interpreter que
decida si el comportamiento del alumno Irente al recurso
corresponde a una Aceptacion o un Rechazo del mismo.
El algoritmo usado por el agente Interpreter para la
interpretacion del comportamiento ha sido simpliIicado a
una comparacion de las caracteristicas del recurso y las
acciones monitoreadas. Sin embargo. el proceso ha sido
implementado de manera modular para permitir la
incorporacion Iutura de mecanismos mas compleios.
Finalmente. el resultado del proceso de interpretacion
(aceptacion. rechazo. indeterminado) es comunicado al
agente UserManager. el cual completa el registro de
acciones monitoreadas con esta inIormacion. Ademas. el
nivel provectado es actualizado al nivel del recurso
cuando este es mayor que el nivel de trabaio y la
interpretacion es una Aceptacion.
Control de Avance
El control de avance se realiza mediante evaluaciones.
Cada vez que un recurso va a ser mostrado. el servlet
ContentResource veriIica que el nivel del recurso no
sobrepase el nivel de trabaio del alumno en el obietivo de
aprendizaie (ver nivel del recurso en la Ontologia de
Contenidos). Si el nivel del recurso es mayor. se carga el
servlet Evaluation el cual construye y muestra una pagina
con un test de cuatro preguntas para evaluar el nivel
inmediatamente anterior al nivel del recurso. Este nivel
generalmente coincide con el nivel de trabaio. pero no
siempre: supongamos que el nivel de trabaio del alumno
es 2 y el siguiente recurso a mostrar es de nivel 5 (puede
ocurrir que no existan recursos para los niveles 3 y 4). El
sistema deberia evaluar el nivel 4 para que el nivel de
trabaio. si la evaluacion es exitosa. pase a ser 5 y pueda
mostrarse el recurso.
Una vez realizada la evaluacion. el servlet Evaluation
comunica el resultado al UserManager correspondiente.
que se mantiene. mientras tanto. a la espera de este
mensaie y ha mantenido sin actualizacion la secuencia
que ha generado la necesidad de evaluar (ver 6.
Secuenciamiento Adaptativo de los Recursos). El
UserManager veriIica el exito de la evaluacion y
dependiendo de este realiza dos procesos distintos:
• Cuando la evaluacion es exitosa. actualiza el
nivel evaluado y el nivel de trabaio. y luego
contesta al servlet Evaluation. Este a su vez
invoca al servlet ContentResource el cual
mostrara ahora el recurso.
• Cuando la evaluacion es reprobada. el
UserManager pide la re-construccion de la
secuencia de recursos poniendo enIasis en los
recursos del nivel Iallidamente evaluado y luego
notiIica al servlet Evaluation. Este invoca al
servlet ContentResource que construira una
pagina de contenido utilizando la secuencia
especialmente ordenada.
5. CONSTRUCCIÓN DEL ESTILO DE
APRENDIZAJE
Segun el modelo Felder-Silverman |3|. el estilo de
aprendizaie para un alumno esta dado por cuatro
dimensiones. cada una de las cuales toma valores entre
dos polos como se aprecia en la Tabla 1.

Dimensión Polo (+) Polo (-)
Percepcion Sensorial Intuitivo
Entrada Visual Verbal
Procesamiento Activo ReIlexivo
Comprension Secuencial Global
Tabla 1: las cuatro dimensiones del modelo de
Estilos de Aprendizaje Felder-Silverman
En SPORAS. cada dimension es representada como un
numero entero en la base de datos con valores positivos o
negativos dependiendo del polo que marque la tendencia
(los polos positivos y negativos estan deIinidos en la
Tabla 1).
Los valores para las dimensiones de Percepcion. Entrada
y Procesamiento son calculadas mediante el analisis de
las caracteristicas de percepcion. presentacion y
procesamiento de los recursos vistos por el alumno.
La dimension Comprension del estilo de aprendizaie es
calculada a partir de un analisis de las diIerencias en los
niveles de avance del alumno en los Obietivos de
Aprendizaie del curso y del registro de los recursos vistos
de acuerdo a si Iueron escogidos o sugeridos por el
sistema.
La construccion del estilo de aprendizaie es realizada por
un agente de tipo Modeller a peticion del UserManager
del alumno cada vez que un recurso visto ha sido
interpretado.
6. SECUENCIAMIENTO ADAPTATIVO
DE LOS RECURSOS
El agente UserManager del alumno maneia una secuencia
de recursos por cada obietivo de aprendizaie. Cada
secuencia es una estructura que. ademas de la lista de
recursos ordenados asociados al obietivo. contiene
inIormacion de avance del alumno y una lista ordenada
de preguntas.
La secuencia de un obietivo de aprendizaie es solicitada
al UserManager por el servlet ContentResource cada vez
que se requiera mostrar un recurso de contenido. El
servlet ContentResource genera una pagina mostrando el
primer recurso de la secuencia y un menu ordenado con
enlaces al resto de los recursos de la secuencia. De esta
Iorma el alumno puede elegir libremente acceder a un
recurso en lugar de seguir la secuencia sugerida por el
sistema.
La construccion y la actualizacion de las secuencias son
tareas realizadas por agentes del tipo
ResourceProgrammer. La construccion de una secuencia
involucra obtener la inIormacion de recursos y preguntas
desde Ontologia de Contenidos y la inIormacion de
avance desde la base de datos. La actualizacion de una
secuencia incluye registrar la ultima inIormacion de
avance y el ordenamiento de los recursos y las preguntas
en base a el registro de los recursos vistos. los niveles de
avance y el estilo particular de aprendizaie del alumno.
7. CONCLUSIONES
Las tres tareas del sistema que requieren inIerencia (la
construccion del estilo de aprendizaie. la interpretacion y
la construccion de secuencias) han sido incorporadas de
manera modular a los agentes que las realizan para
permitir la incorporacion Iutura de mecanismos mas
compleios. completos y/o eIicientes. La principal razon
para esto es que el sistema ha sido diseñado y construido
sin hacer pruebas reales de la aplicacion del modelo de
estilos de aprendizaie y los mecanismos incorporados han
sido diseñados sobre supuestos.
Una importante ventaia de SPORAS es el uso de un
sistema multiagente que permite. sin comprometer el
diseño o la implementacion. extender la plataIorma de
agentes en varias maquinas y por lo tanto distribuir la
carga de trabaio entre agentes en distintas locaciones.
El enIoque de desarrollo de este sistema sobre modelos
de conocimiento como ontologias. ha permitido
vislumbrar su utilidad como modelos para reutilizar
conocimiento. Se espera en un trabaio Iuturo implementar
la ontologia usando algun estandar como IMS o SCORM.
A pesar que ya se ha desarrollado un prototipo del
sistema descrito en este articulo. aun no se han realizado
evaluaciones de Iuncionamiento y eIicacia con alumnos.
Sin embargo. al momento de escribir este articulo se
estan realizando pruebas practicas de su uso con alumnos
de la carrera Ingenieria Civil InIormatica de la UACh.
8. GLOSARIO
JADE: Java Agent Development Framework.
http://jade.cselt.it
FIPA: Foundation for Intelligent Physical Agents.
http://www.fipa.org
API: Application Programming Interface.
Protégé: software para la edición de ontologías y
bases de conocimiento. http://protege.stanford.edu
MySQL: gestor de base de datos.
http://www.mysql.com
ACL: Agent Comunication Language.
9. REFERENCIAS
[1] Brusilovsky P. (2003) Developing adaptive
educational hypermedia systems: From design
models to authoring tools. In: T. Murray, S. Blessing
and S. Ainsworth (eds.): Authoring Tools for
Advanced Technology Learning Environment.
Dordrecht: Kluwer Academic Publishers.
[2] Caire G. (2002). Application-Defined Content
Languages and Ontologies, documentación JADE.
[3] Felder R. M. & Silverman L. K. (1988). Learning
and Teaching Styles in Engineering Education,
Engr. Education, 78(7), 674 - 681
[4] Bloom B. S. & Krathwohl D. R. (1956).
Taxonomy of Educational Objectives: The
Classification of Educational Goals, by a committee
of college and university examiners. Handbook I:
Cognitive Domain. New York, Longmans, Green.