Professional Documents
Culture Documents
Zuroutine: Modelo Personalizado de Rutinas de Ejercicios.: Conference Paper
Zuroutine: Modelo Personalizado de Rutinas de Ejercicios.: Conference Paper
net/publication/236736290
CITATIONS READS
0 428
4 authors, including:
Andrea Barraza
Pontificia Universidad Javeriana
19 PUBLICATIONS 20 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Andrea Barraza on 05 June 2014.
II. ZUGYM
ZuGym [1] es un sistema basado en agentes, orientado a
clientes de gimnasios, que provee servicios al usuario
adaptados a sus gustos, preferencias y a las características de
su contexto. El objetivo principal del sistema es proporcionar
una experiencia satisfactoria para el usuario buscando que éste
tome la práctica del ejercicio como una forma de vida y no
como una obligación. Entre los servicios que ofrece ZuGym se
encuentran: i) diseñar rutinas de ejercicios tomando en cuenta
las preferencias del usuario. ii) Generar dietas personalizadas Fig. 1. Modelo del Dominio ZuGym
acordes a los gustos del usuario. iii) Crear listas de
reproducción musical adaptadas al ejercicio que se realiza y a El Modelo de Dominio de ZuGym (ver Fig 1.) es una
las preferencias del usuario. ZuGym [1] tiene una arquitectura representación de aquellos componentes y relaciones que
multinivel compuesta de cuatro capas: a) Sistema Operativo: conforman el sistema ZuGym [1]. Este modelo muestra el
plataforma base sobre la cual funcionará toda la aplicación; b) flujo de negocio de ZuGym, desde quien utiliza sus servicios,
Modelo de Adaptación: se encarga de adaptar los servicios hasta los recursos necesarios para la oferta de los mismos.
según el perfil de usuario; c) Servicios del Gimnasio: Además, se muestran aquellos componentes de adaptación
compuestos de dos módulos: i) Servicios básicos comunes a necesarios para la personalización de los servicios.
todos los gimnasios, y ii) Servicios agregados: que son
A. Perfil del Paciente
adicionados por petición de un gimnasio; d) Aplicación:
encargada de mostrar la aplicación al usuario. Es fundamental El perfil del paciente (ver Fig. 3 al final del artículo) maneja
profundizar en las características del perfil de usuario para todos aquellos datos que son necesarios para la generación de
fines de personalización de los servicios. El perfil de usuario la rutina de ejercicio, tanto la inicial como la deseada. Este
es representado por tres módulos: un módulo que maneja la componente maneja cuatro tipos de información: i)
información básica del usuario (datos estáticos); un módulo Información Básica (estática), que maneja los datos básicos
que contiene la información acerca del contexto de uso (que del paciente, además de aquellos relacionados con
contiene características que pueden influir en la interacción información acerca de su estado de salud y datos sobre su
del usuario con el sistema como la localización, la temporada estado físico; ii) Contexto de Uso, que corresponde al entorno
y el dispositivo de acceso) y un módulo que mantiene los en el que se encuentra el paciente, datos sobre su localización,
datos de preferencias (consideradas como elementos características de su dispositivo de acceso entre otros; y por
dinámicos). En la sección III se describirán estos componentes último, iii) Preferencias (dinámico), que controla aquellos
que son la base para el proceso de adaptación/personalización datos del paciente que cambian con el tiempo, como sus
de los servicios brindados por ZuGym [1]. preferencias con respecto a la realización de ejercicios
El gimnasio representa al cliente de ZuGym [1] y será el específicos o una máquina señalada para realizarlo.
principal beneficiario de los servicios: listas de reproducciones Uno de los problemas de la personalización de servicios es
personalizadas, generación de dietas y de rutinas. Es la recolección de los datos suficientes para lograr inferir
importante resaltar que los gimnasios son los clientes del información a partir de las preferencias y gustos de cada uno
sistema, es decir, quienes van a adquirirlo, pero los usuarios de los usuarios. Es por esto que se plantea una serie de
finales son las personas o clientes que asistan a dichos preferencias que se irán obteniendo y refinando gracias a la
gimnasios. El gimnasio es el que debe proveer la información interacción del usuario con el sistema, por medio de
necesaria para la creación de los perfiles de usuario, además recomendaciones basadas en la rutina de ejercicios que se
de ofrecer la aplicación que será usada por sus clientes. Es practica.
necesario aclarar que la adquisición de información del En este artículo se hará especial énfasis en el servicio de
paciente, se hará de dos maneras: explícita, lo que significa generar rutinas personalizadas de ejercicio con base en el
que se le preguntará directamente al usuario algunos datos perfil de usuario. Este servicio es prestado por ZuRoutine, el
básicos para una primera aproximación del servicio; e cual se explica en la siguiente sección.
implícita, que se refiere a la capacidad del sistema de deducir
información, acerca del usuario, a partir de la interacción del III. ZUROUTINE
mismo con el sistema. Debido a que ZuGym es un sistema basado en agentes,
ZuRoutine también lo es. El servicio de generación de rutinas
es responsabilidad de un agente denominado Agente
Entrenador. Dicho agente personaliza/adapta la rutina acorde
ZuRoutine: Modelo Personalizado de Rutinas de Ejercicios 3
a las necesidades y objetivos de un usuario particular. El generalmente le gusta realizar cuando se encuentra en el
Agente Entrenador en su base de conocimiento debe tener gimnasio, nivel de compromiso y cuántas horas está dispuesto
rutinas pre-establecidas que se adaptarán de acuerdo a las a invertir en deporte a la semana. Con la información
características usuario por medio de un mecanismo de adquirida, el Agente Entrenador podrá comenzar a aprender
sustitución de elementos (e.g., ejercicios, máquinas). sobre las preferencias del usuario. Además, a partir de esta
Inicialmente, el Agente Entrenador le sugiere una rutina pre- información, el agente se encuentra preparado para generar
establecida al usuario y éste le indica al Agente Entrenador una primera aproximación a una rutina, sugiriéndole al usuario
qué actividades de dicha rutina no le gustan. Con la una de las rutinas pre-establecidas que más se ajuste a su
información adquirida, el Agente Entrenador aprende sobre perfil. A nivel de ZuGym existe un agente denominado
las preferencias del usuario en cuanto a las actividades que le “Agente perfil de usuario”, responsable de gestionar y
gustan o no del gimnasio. Para complementar su actualizar los perfiles de todos los usuarios en el sistema. El
conocimiento, el Agente Entrenador le pregunta al usuario, Agente Entrenador debe comunicarse con el Agente Perfil de
durante un periodo de tiempo establecido, al finalizar una Usuario cada vez que se inicie una nueva sesión para
actividad si le gustó, no le gustó, o le es indiferente. mantenerse actualizado en todos los cambios que ocurran en el
Apoyándose en su aprendizaje sobre las preferencias del perfil de dicho usuario. Igualmente, el Agente Entrenador
usuario y de su conocimiento acerca de las diferentes debe enviar la información que adquiera del usuario al Agente
actividades que posee el gimnasio, el Agente Entrenador Perfil de Usuario con el objetivo de mantener el perfil del
reemplazará las actividades seleccionadas (las que no le usuario actualizado.
gustan) por otras que le gusten más al usuario y que obtengan Al sugerirle una rutina al usuario se le brinda la posibilidad
resultados parecidos a las sugeridas inicialmente. Además, de comunicarle al Agente Entrenador qué partes de su
antes de sugerir una rutina, el Agente Entrenador debe entrenamiento no le gustan y el agente intentará sustituir los
asegurarse que ésta cumple con las recomendaciones del ejercicios indicados por otros que cumplan resultados
entrenador (reglas que todas las rutinas generadas deben parecidos a los originales. De esta manera, el Agente
cumplir para ciertos tipos de usuario). El Agente Entrenador Entrenador aprenderá qué actividades no le gustan al usuario e
dentro de su base de conocimiento tiene una ontología de intentará no asignárselas en alguna rutina. Para continuar
actividades que puede utilizar para identificar las diferentes aprendiendo del usuario y de su comportamiento, el Agente
actividades y los resultados que generalmente se adquieren al Entrenador, después de que el usuario ha terminado un
realizarlas. Una posible definición de una actividad puede ser ejercicio, le pregunta si el ejercicio fue satisfactorio, no
una secuencia de pasos que determinen un ejercicio, o el uso satisfactorio o simplemente no lo califica. La idea no es
de alguna máquina del gimnasio. Dentro de su base de abrumar al usuario con preguntas, razón por la cual, una vez se
conocimiento, el Agente Entrenador debe tener rutinas pre- haya calificado un ejercicio, el Agente Entrenador no le
establecidas especiales para cierto tipo de usuario. Además, vuelve a preguntar sobre el mismo después de un tiempo
este agente debe ser capaz de identificar al usuario con algún prudente. Las recomendaciones del entrenador son reglas que
perfil general con el fin de asignarle tal rutina pre-establecida. deben cumplir las rutinas para un usuario con ciertas
Estas rutinas pre-establecidas también deben tomar en cuenta características especiales.
características especiales de cada usuario como su estado de Por ejemplo, si el usuario sufre del corazón, la rutina no
salud (e.g., el usuario sufre problemas cardiacos), estilos de puede ser de alta intensidad. Utilizando la información
vida (e.g., el usuario generalmente no tiene tiempo para ir al adquirida, el Agente Entrenador intentará reemplazar las
gimnasio.) y objetivos (e.g., el usuario desea fortalecer actividades de una rutina preestablecida que no le gustan al
piernas.). En el caso en el que el Agente Entrenador no pueda usuario, por otras que obtengan resultados parecidos, tomando
asignarle al usuario una rutina, éste se comunicará con un en cuenta las preferencias del usuario y las recomendaciones
entrenador real con el fin de obtener nuevo conocimiento (una del entrenador. El resultado de este proceso será una rutina
nueva rutina). personalizada. El Agente Entrenador utilizará una ontología
Todos los servicios que genera ZuGym [1] se enfocan en el de actividades agrupando aquellas que obtengan resultados
usuario. En consecuencia, el Agente Entrenador debe aprender parecidos. Dicha agrupación se hará utilizando Fuzzy
todo lo posible del usuario, sus gustos y preferencias con Clustering [10] (técnica que define conjuntos mediante lógica
respecto al deporte, antes de generar una rutina. Si la rutina es difusa). Un ejemplo de los conjuntos que se pueden presentar
realmente personalizada, el usuario estará incentivado a serían máquinas/ejercicios que trabajen sobre el sistema
continuarla y seguirá asistiendo al gimnasio de forma cardiovascular, fuerza y aeróbicos. Es importante mencionar
constante o al menos regular. Lo primero que debe hacer el que el Agente Entrenador también debe tomar en cuenta las
Agente Entrenador cuando un usuario solicita sus servicios, es actividades disponibles para el usuario desde el lugar donde
solicitar el perfil del usuario. En el caso en el que sea la accede al sistema (desde un gimnasio o desde su casa). De
primera vez que el usuario solicite el servicio de generación de esta manera, si el agente necesita reemplazar una actividad, se
rutina, el sistema le solicitará que diligencie una pequeña escogerá otra que pertenezca al mismo conjunto y que le guste
encuesta donde se busca adquirir información sobre: sus más al usuario, cumpliendo al mismo tiempo con las
objetivos al hacer ejercicio (donde se incluiría la zona del recomendaciones del entrenador.
cuerpo que desea trabajar), su estilo de vida, actividades que El sistema ZuGym tiene dos interfaces de acceso: por medio
ZuRoutine: Modelo Personalizado de Rutinas de Ejercicios 4
de la página web o por medio de una máquina en un gimnasio. materiales disponibles en el momento.
Es claro que una rutina que se lleva a cabo en un gimnasio no
B. Representación de la Información
es la misma que una rutina que el usuario desea realizar en la
comodidad de su hogar. Por ejemplo, si el usuario se En esta sección se mostrará cómo será la representación de
encuentra en su casa y éste tiene una máquina de spinning, su de algunos de los componentes del modelo del dominio de
rutina podría incluir dicha máquina. Por otro lado, si el usuario ZuRoutine y cómo serán analizados. Para esta representación
se encuentra en alguna sucursal de un gimnasio, el Agente se ha utilizado la Notificación BNF (acrónimo de Backus-
Entrenador sólo incluirá actividades con las máquinas Naur Form), dado que ésta provee las características para crear
disponibles en la sucursal. Por tanto, el Agente Entrenador la definición de cada uno de los conceptos usados en el
tendrá que adaptar rutinas prediseñadas a su contexto. modelo y permite mostrar las conexiones entre éstos. En la
Tabla I y II, se presentan los datos que definen la
representación de las rutinas de ejercicio y el perfil del
paciente respectivamente.
TABLA I
PREFERENCIA EJERCICIO
Preferencia_Ejercicio(ejercicio, valor_preferencia,
substitución_ejercicio, Preferencia_MaterialEjercicio() )
<Alimento> ::= <Nombre_Ejercicio> <Tipo><Duración><Frecuencia>
<Intensidad><Obj> <Progresión> <ZonaCuerpo> <Descrip_Ejercicio>
<Tipo_Ejercicio> ::= <Aeróbico> | <Isométrico>
<Aeróbico> ::= <Ejercicio_Calentamto> <Tipo_Música><Resistencia>
<Isométrico>: := <Fuerza_Muscular> <Peso_Pesas> <Resistencia>
<Duración> <Frecuencia> <Intensidad> <Progresión> ::= <Número>
<Tipo_Medida>
<Energía> ::= <Número> Kcal
<Descripción_Ejercicio>::= <Descanso> <Repetición> <Tips> <Serie>
<Sustitución_Ejercicio> ::= <Preferencia_Ejercicio>
<Zona_Cuerpo > ::= <Característica_Inicial> <Característica_Deseada>
<Nombre_Zona_Cuerpo>
<Valor_Preferencia> ::= "Gusta" | "Prefiere" | "Rechaza"
<Material_Ejercicio>::= <Niveles_Esfuerzo> <Nombre_Material>
<Peso>
TABLA II
PERFIL PACIENTE
Perfil_Paciente(informaciónBasica, CapacidadesMotoras,
datosAntropométricos, patologías, contextoUso, preferencias)
<Nombre> <Apellidos> <Dirección> <e-mail>::= <Texto>
<Id> <Edad> <Telefono>::= <Número>
<Género> ::= Femenino | Masculino
<Fecha_Nacimiento> ::= <Día> <Mes> <Año>
<Capacidad_Motora>::= <Coordinación> <Resistencia> <Fuerza>
Fig. 2. Modelo del Dominio ZuRoutine <Lista_Hábitos> ::= {<Hábito>}*
<Información_Antropométrica> ::= <Estatura>, <IMC>, <Peso>..
A. Modelo del Dominio <Información_Fisiológica>::=<glucosa_muscular> <lípidos_muscular>
<Laboratorio_Clínico> ::= <Nombre_Examen> <Valor_Referencia>
El Modelo del dominio de ZuRoutine se puede apreciar en <Valor_Obtenido> := <Texto> <Número>
la Fig. 2; dicha figura muestra los componentes que se <Patología> ::= {<Tipo_Patología>, <Nombre>, <Origen>,
relacionan para ser posible la creación de la rutina. Todo <Medicamento>, <Restricción_Alimento>, <Restricción_Ejercicio>}*
<Contexto_Uso> ::= <Caract_Dispositivo>, <Caract_Económicas>,
paciente tiene un Entrenador asociado; esto se debe a que el <Loclización>, <Caract_Entorno>, <Caract_Sociales>
sistema no está desligado del entrenador ya que éste último es <Objetivo>::=<Objetivo_Peso>,<Tipo_Obj>,<Zona_Cuerpo> ::=
el que va a enriquecer el sistema con nuevas reglas, además de <Texto>
<Tipo_Obj>::= Dieta| Rutina
hacer más confiable el servicio. El componente Rutina, <Preferencia>::={Prefe_Alimento(),Prefe_HoraDieta(),Prefe_Actidad(),
representa la rutina inicial generada a partir de información Prefe_Ejercicio(),Prefe_Despliegue(),Prefe_HoraRutin()}*
básica (rutina generalizada); este componente al alimentarse
con las Preferencias y con el conocimiento del Contexto de C. Reglas
Uso, se transforma en la Rutina Deseada pues contiene los En esta sección se mostrará un ejemplo del sistema de
gustos, preferencias y necesidades del paciente: además, cada reglas que toma como base la representación de la información
rutina maneja una calificación, lo que provee al sistema más para su ejecución (ver sección III.B). A continuación se
información acerca de si la rutina está o no cumpliendo con el presentará un ejemplo de uno de los filtros iniciales que se
objetivo y que tanto entrenador como paciente estén realizan para la generación de la rutina deseada. Dicho filtro
satisfechos. Las rutinas están compuestas de ejercicios, cada elimina los ejercicios que no son deseados o no contribuyen al
uno, con los datos necesarios para que pueda ser realizado por bienestar u objetivo del paciente. Vale la pena resaltar que las
el paciente, con base en las condiciones del entorno y los reglas presentadas, son sólo un ejemplo de cómo una rutina
ZuRoutine: Modelo Personalizado de Rutinas de Ejercicios 5
Es por este motivo que ZuRoutine, provee una rutina tomando Mayo 2009.
[3] M. Ebling and M. Corner, "A pervasive personal trainer, an electronic
una gran cantidad de variables, que involucran tanto los leash, a light canvas". In: IEEE Pervasive Computing (Los Alamitos,
atributos físicos como de comportamiento del paciente. Dada USA), vol. 7, pp. 10-11, Abril - Junio 2008.
la amplitud de las variables a tener en cuenta, la generación de [4] M. Suh, K. Lee, A. Nahapetian, and M. Sarrafzadeh, "Interval Training
Guidance System with Music and Wireless Group Exercise Motivations"
rutinas, se relaciona con un sistema de recomendaciones, que
In: Proceedings of the IEEE International Symposium on Industrial
será el responsable de obtener los datos con base en la Embebed Systems (SIES ’09) (Lausanne, Suiza), pp. 110-119, Julio 8-10
interacción del paciente con el sistema. 2009.
Los modelos expuestos en el presente artículo, aunque [5] P. Jarvinen, T. H. Jarvinen, L. Lahteenmaki, and C. Sodergard,
"HyperFit: Hybrid Media in Personal Nutrition and Exercise
enfocados al desarrollo de ZuRoutine, son la base para la Management.” In: Proceedings of the Second International Conference
creación de los demás servicios. Los filtros planteados en la on Pervasive Computing Technologies for Healthcare (PervasiveHealth
sección III, podrán ser usados por los demás servicios, debido 2008) (Tampere, Finlandia), pp. 222-226, Enero 30 - Febrero 01 2008.
[6] R. Asselin, G. Ortiz, J. Pui, and A. Smailagic, "Implementation and
a que mantienen la misma idea de filtrar todas aquellas Evaluation of the Personal Wellness Coach". In: Proceedings of the 25th
variables que afectan al paciente de alguna manera, IEEE International Conference on Distributed Computing System
permitiendo así que el paciente se sienta satisfecho con la Workshops (ICDCS 2005) (Columbus, Ohio, USA), pp. 529 – 535,
Junio 10, 2005.
rutina generada y sea constante, logrando su objetivo. [7] R. Palomares, J. Ramirez, A. Montaño, J. Navarro, and J. Vazquez, "The
Como trabajo futuro, se espera implementar tanto el modelo Intelligent Personal Trainer". In: Proceedings of the IEEE International
de Zugym como el de ZuRoutine y así poder tanto validar la Conference on Electronics, Communications and Computers
(CONIELECOMP 2006) (Puebla, Mexico), Febrero 27 - Marzo 01,
rutina generada con un Entrenador como evaluar el nivel de 2006.
satisfacción de los diversos clientes ante la rutina provista por [8] S. Arteaga, M. Kudeki, and A. Woodworth, "Combating Obesity Trends
este último. Finalmente se espera integrar los servicios in Teenagers through Persuasive Mobile Technology". In: Special
Interest Group on Accessible Computing (SIGACCESS) (New York,
brindados por ZuRoutine con la Dieta y la Lista de
USA) vol. 94, pp. 17-25, Junio 2009.
Reproducción Musical en el contexto de ZuGym. Vale la pena [9] S. Jang, R. Park, Y. Jang, J. Park, Y. Yoon and S. Park, "Automated
destacar que aunque ZuRoutine fue diseñado en el marco del Individual Prescription of Exercise with an XML-based". In:
proyecto ZuGym, este puede ser utilizado como un Engineering in Medicine and Biology Society (EMBC) 27th Annual
Conference (Shanghai, China), Vol. 1, pp. 882-5, Septiembre 1-4, 2005
componente independiente, de utilidad para cualquier tipo de [10] S. Schiaffino and A. Analía, "Polite Personal Agents". In: IEEE
usuario así como para los mismos Entrenadores. Esta última Intelligent System, vol. 21, no. 1, pp. 12-19, Enero/Febrero 2006.
afirmación se podría validar con evaluaciones y tests [11] T. Chee and C. Xiang, "ExerTrek: A Portable Handheld Exercise
Monitoring, Tracking and Recommendation System" In: Proceedings of
practicados a personas del área de la Ciencia de Deporte. the 11th international conference on e-Health networking, applications
and services (Healthcom'09) (Sydney, Australia), pp. 84-88, Diciembre
REFERENCIAS 17-18, 2009.
[12] WHO, World Health Organization, "Obesity and overweight,
[1] A. Barraza, L. Barrera, A. Carrillo, and S. Martinez, "ZuGym: un http://www.who.int/mediacentre/factsheets/fs311/es/index.html”, última
Sistema Basado en Agentes que Ofrece Servicios Personalizados a actualización Marzo 2011.
Usuarios de Gimnasios.," In: Memorias del 5to Congreso Colombiano [13] WHO. "The World Heath Report: Reducing Risks, Promoting healthy
de Computación, Cartagena, Colombia, Abril 2010. Life" World Health Organization Report, Octubre 12, 2002.
[2] J. Lim, O. Choi, H. Na, and D. Baik, "A context-aware fitness guide http://www.who.int/mediacentre/news/releases/pr83/es/index.html
system for exercise optimization in U-health" In: IEE Transactions
Informatics Technology In Biomedicine, vol. 13, no. 3, pp. 370-379,