+ All Categories
Home > Documents > Modelo de Generación de Dietas Personalizadas...

Modelo de Generación de Dietas Personalizadas...

Date post: 21-Sep-2018
Category:
Upload: phamdung
View: 219 times
Download: 0 times
Share this document with a friend
16
CLEI 2011 This paper is electronically published in Electronic Notes in Theoretical Computer Science URL: www.elsevier.nl/locate/entcs Modelo de Generación de Dietas Personalizadas dirigidas a Clientes de Gimnasios Luisa Fernanda Barrera, Angela Carrillo Ramos, Andrea Paola Barraza y Saul Martinez a Departamento de Ingeniería de Sistemas Pontificia Universidad Javeriana Bogotá D.C., Colombia Resumen El estilo de vida que mantiene la sociedad actual es preocupante y entidades de salud pública enfrentan el reto de crear mecanismos que incentiven a individuos a cambiar sus comportamientos con el fin de mejorar su calidad de vida. Como una de las soluciones se propone ZuGym, un sistema de apoyo a gimnasios que, al ofrecer servicios personalizados, busca motivar a sus usuarios a cumplir con una rutina de ejercicios (ZuRoutine) y a seguir una dieta (ZuDiet). Este artículo se concentra en ZuDiet, sistema generador de dietas personalizadas que toma en cuenta no sólo las necesidades nutricionales del usuario; además considera sus gustos, preferencias, hábitos alimenticios, características contextuales (tales como, herencia socio-cultural y factores económicos) y el consumo calórico de la rutina de ejercicios que practica. Este artículo se enfoca en el perfil de usuario (particularmente en sus preferencias), en el formalismo utilizado para su representación (BNF) y en el prototipo funcional utilizado para la validación de ZuDiet. Palabras Clave: Personalización, Adaptación, Preferencias, Perfil de Usuario, Contexto, Sistema Multiagente, Generador de Dietas. Abstract Society’s current lifestyle is concerning, and public health agencies face the challenge of creating mechanisms that can encourage individuals to change their behaviors in order to improve their quality of life. A possible solution is ZuGym, a support system for gyms that provides personalized services to motivate its users to comply with an exercise routine (ZuRoutine) and a diet (ZuDiet). This article focuses on ZuDiet, a personalized diet generator that takes into account not only the user’s nutritional needs; but also considers the user’s tastes, preferences, eating habits, contextual features (such as socio-cultural heritage and economic factors) and calorie consumption of the user’s exercise routine. This article focuses on the user profile (particularly in the user’s preferences), in the formalism used for its representation (BNF) and the functional prototype used to validate ZuDiet. Keywords: Personalization, Adaptation, Preferences, User Profile, Context, Multiagent System, Diet Generators. a Email: {luisa.barrera, angela.carrillo, abarraza, smarinez}@javeriana.edu.co
Transcript

CLEI 2011

This paper is electronically published in Electronic Notes in Theoretical Computer Science URL: www.elsevier.nl/locate/entcs

Modelo de Generación de Dietas Personalizadas dirigidas a Clientes de Gimnasios

Luisa Fernanda Barrera, Angela Carrillo Ramos, Andrea Paola Barraza y Saul Martineza Departamento de Ingeniería de Sistemas

Pontificia Universidad Javeriana Bogotá D.C., Colombia

Resumen

El estilo de vida que mantiene la sociedad actual es preocupante y entidades de salud pública enfrentan el reto de crear mecanismos que incentiven a individuos a cambiar sus comportamientos con el fin de mejorar su calidad de vida. Como una de las soluciones se propone ZuGym, un sistema de apoyo a gimnasios que, al ofrecer servicios personalizados, busca motivar a sus usuarios a cumplir con una rutina de ejercicios (ZuRoutine) y a seguir una dieta (ZuDiet). Este artículo se concentra en ZuDiet, sistema generador de dietas personalizadas que toma en cuenta no sólo las necesidades nutricionales del usuario; además considera sus gustos, preferencias, hábitos alimenticios, características contextuales (tales como, herencia socio-cultural y factores económicos) y el consumo calórico de la rutina de ejercicios que practica. Este artículo se enfoca en el perfil de usuario (particularmente en sus preferencias), en el formalismo utilizado para su representación (BNF) y en el prototipo funcional utilizado para la validación de ZuDiet.

Palabras Clave: Personalización, Adaptación, Preferencias, Perfil de Usuario, Contexto, Sistema Multiagente, Generador de Dietas.

Abstract

Society’s current lifestyle is concerning, and public health agencies face the challenge of creating mechanisms that can encourage individuals to change their behaviors in order to improve their quality of life. A possible solution is ZuGym, a support system for gyms that provides personalized services to motivate its users to comply with an exercise routine (ZuRoutine) and a diet (ZuDiet). This article focuses on ZuDiet, a personalized diet generator that takes into account not only the user’s nutritional needs; but also considers the user’s tastes, preferences, eating habits, contextual features (such as socio-cultural heritage and economic factors) and calorie consumption of the user’s exercise routine. This article focuses on the user profile (particularly in the user’s preferences), in the formalism used for its representation (BNF) and the functional prototype used to validate ZuDiet.

Keywords: Personalization, Adaptation, Preferences, User Profile, Context, Multiagent System, Diet Generators.

a Email: {luisa.barrera, angela.carrillo, abarraza, smarinez}@javeriana.edu.co

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

2

1. Introducción Mantener una dieta balanceada y una rutina de ejercicios es primordial para prevenir padecimientos crónico-degenerativos como los son la diabetes, la obesidad, el cáncer, enfermedades cardiovasculares, entre otros [7]. Es evidente que el sedentarismo y el consumir alimentos de manera desproporcionada tienen un efecto desfavorable para la salud; por tanto, crear mecanismos para promover estilos de vida saludables se ha convertido no sólo en una prioridad; es un gran reto para los sistemas de salud pública. Estudios han demostrado que gran parte del problema es la falta de factores motivacionales que buscan apoyar a individuos con el ánimo de cambiar sus estilos de vida; es aquí donde surge la necesidad de crear ZuGym [7].

ZuGym es un sistema informático 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 [1]. Entre los servicios provistos se pueden mencionar la generación de rutinas de ejercicio, dietas y listas de reproducción de música que consideran los criterios de adaptación mencionados. El objetivo principal del sistema es proporcionar una experiencia satisfactoria para el usuario que lo incentive a: (i) tomar el deporte como una forma de vida y no como una obligación (ii) mantener una dieta equilibrada (basada en la moderación, variedad y balance [7]) que se encuentre articulada a su rutina de ejercicios.

Específicamente el presente artículo se concentrará en el componente encargado de la generación de dietas personalizadas denominado ZuDiet. La diferencia más relevante entre ZuDiet y sistemas parecidos es que éste toma en cuenta que un individuo no sólo se alimenta por salud, sino además por el placer de comer [7]. Como consecuencia se observa que aunque una dieta sea “correcta desde el punto de vista nutricional”, si no es personalizada, muy seguramente fracasará [7]. Por este motivo, ZuDiet no sólo considera las necesidades nutricionales del usuario; también considera sus gustos, preferencias, hábitos alimenticios, contexto (características tales como herencia socio-cultural, disponibilidad de los alimentos, factores económicos). Además, ZuDiet se puede articular con ZuRoutine[3], un sistema creado también en el marco de Zugym que genera rutinas basadas en los gustos y preferencias del usuario, así como en su estado de salud. Vale la pena mencionar que estos dos sistemas se pueden utilizar de manera separada. Cuando se utilizan juntos, consideran en común el consumo calórico, el peso y otras características con el fin de establecer un equilibrio entre lo que el usuario consume y lo que gasta a través de su rutina de ejercicios y de su diario vivir.

Este artículo está organizado de la siguiente manera: la sección 2 muestra una visión general del sistema ZuGym y su arquitectura; en la sección 3 se describe ZuDiet, sistema utilizado por el Agente Nutricionista cuya labor principal es el Generar una Dieta Personalizada. Vale la pena indicar que ZuDiet es parte fundamental de ZuGym En la sección 4 se presentan algunos trabajos relacionados que se comparan con ZuDiet. Finalmente, en la sección 5 se concluye y se presentan trabajos futuros.

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

3

2. 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 el deporte como una forma de vida y no como una obligación. Entre los servicios que ofrece el sistema se encuentran: i) crear rutinas de ejercicios tomando en cuenta las preferencias del usuario. ii) Generar dietas personalizadas acordes a los gustos del usuario. iii) Crear listas de reproducción musical adaptadas al ejercicio que se realiza y a las preferencias del usuario. ZuGym tiene una arquitectura multinivel compuesta de cuatro capas (ver Fig. 1): a) Sistema Operativo: plataforma base sobre la cual funcionará toda la aplicación; b) Modelo de Adaptación: se encarga de adaptar los servicios según el modelo de usuario; c) Servicios del Gimnasio: compuestos de dos módulos: i) Servicios básicos comunes a todos los gimnasios, y ii) Servicios agregados: que son adicionados por petición de un gimnasio; d) Aplicación: encargada de mostrar la aplicación al usuario.

Fig. 1. Arquitectura del Sistema ZuGym

Es fundamental profundizar en las características del perfil de usuario para fines de personalización de los servicios. Tal como se muestra en la Fig. 2, el perfil de usuario se divide en dos partes: una parte estática (que contiene información que generalmente se mantiene constante- atributos físicos del usuario, estado de salud-) y una parte dinámica (contiene información sobre las preferencias del usuario las cuales tienden a variar con el tiempo –actividades que le gusta realizar, tipo de máquina, zonas del cuerpo que desea trabajar, música que le gusta escuchar, alimentos que prefiere en una dieta, entre otros-). Este perfil de usuario se explica en detalle en la sección 3.2 y se hará especial énfasis en las preferencias identificadas para fines de personalización.

Los agentes de ZuGym encargados de cada uno de los servicios que ofrece son: i)

Fig. 2. Características del Perfil de Usuario

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

4

Agente Entrenador, encargado de generar rutinas; ii) Agente DJ, responsable de crear las listas de reproducción y iii) Agente Nutricionista, encargado de diseñar las dietas personalizadas. En general, estos agentes observan y comprenden el comportamiento del usuario para obtener retroalimentación implícita y/o explicita, y son creados ante la invocación de un servicio ofrecido por alguno de ellos; serán destruidos cuando cumplan sus objetivos/tareas. Además se cuenta con un Agente Perfil de Usuario que es el encargado de gestionar la información del usuario, la cual es la base para la personalización de servicios en ZuGym. Los otros agentes se deben comunicar con éste para prestar servicios personalizados. Por ejemplo, para que el Agente Nutricionista genere dietas personalizadas, éste debe utilizar información tal como el estado de salud y gustos alimenticios del usuario, la cual es manejada por el Agente Perfil de Usuario. Igualmente, el Agente Perfil de Usuario debe actualizar el perfil con la retroalimentación recibida del Agente Nutricionista, la cual es generada del conocimiento que el último adquiere a partir de sus interacciones con el usuario.

Una descripción detallada de todos los agentes de ZuGym se encuentra en [1]. En este artículo se hará especial énfasis en el rol del Agente Nutricionista que consiste en generar dietas personalizadas basado en el perfil de usuario. Este agente es el encargado de utilizar ZuDiet que se describe a continuación.

3. ZuDiet ZuDiet es un sistema utilizado por el Agente Nutricionista de ZuGym que genera dietas personalizadas basadas en un perfil de usuario, particularmente de sus gustos y preferencias en cuanto a alimentos y tipos de comida. Además, considera características como su talla, peso y estado de salud. ZuDiet agrega valor a las rutinas tradicionales de los gimnasios, mediante su articulación con una dieta que toma en cuenta las necesidades y características del usuario. En esta sección se describen brevemente el rol del Agente Nutricionista, explicando así la generación de dietas y el proceso seguido por ZuDiet para tal fin. Información detallada sobre el rol del Agente Nutricionista se encuentra en [2].

El Agente Nutricionista provee una dieta personalizada al usuario. Una dieta personalizada es una dieta balanceada adaptada a las necesidades y preferencias del cliente. “Una dieta balanceada significa obtener los tipos y cantidades adecuadas de alimentos y bebidas con el fin de proporcionar nutrición y energía para el mantenimiento de los órganos, tejidos y células del cuerpo, al igual que para apoyar el crecimiento y desarrollo normales.”[18] Una técnica utilizada por los nutricionistas para armar dietas personalizadas es la sustitución de alimentos por otros que tengan un valor nutricional parecido y tomen en cuenta al usuario, sus gustos y preferencias. Esta técnica es la utilizada por el Agente Nutricionista para cumplir con su objetivo. Para construir una dieta personalizada con la técnica de sustitución de alimentos mencionada, el Agente Nutricionista necesita tener conocimiento sobre: a) alimentos y su valor nutricional, b) dietas preestablecidas, y c) los gustos del usuario. Además, dicho agente posee dietas pre-establecidas que son las recomendadas generalmente a pacientes con ciertas características. El Agente Nutricionista debe ser capaz de asignarle al usuario una de estas dietas pre-establecidas, primero identificando qué

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

5

tipo de paciente es y luego, buscando en su base de conocimiento si existe una dieta para este usuario. En el caso en el que el Agente Nutricionista no pueda asignarle al usuario una dieta, éste puede interactuar con un nutricionista real con el fin de obtener nuevo conocimiento (una nueva dieta). Vale la pena resaltar que el usuario es motivado a mantener una dieta si en ella hay comidas que a él/ella le parezcan agradables. Por otro lado, cada usuario es único, no sólo en cuanto a sus gustos, sino en cuanto a sus necesidades. Existen muchas limitaciones con respecto a la cantidad de nutrientes que un paciente puede consumir que varían según la edad, el sexo, y su estado de salud. Para diseñar una dieta personalizada, el Agente Nutricionista debe obtener cierta información con respecto al usuario, tal como: la edad, el peso, la altura, el sexo, el nivel de grasa que hay en su cuerpo, la religión (existen religiones que prohíben ciertas comidas), estado de salud, enfermedades. El agente también debe aprender sobre los hábitos alimenticios actuales del usuario y de su estilo de vida. Para adquirir dicha información, el agente debe consultar al usuario y también debe solicitar información al Agente Perfil de Usuario. Adicionalmente, las preferencias del usuario deben incluir información sobre los gustos del cliente con respecto a los alimentos. En consecuencia, se debe desarrollar un mecanismo de interacción entre el usuario y el Agente Nutricionista, que le permita al usuario comunicarle al agente sus gustos con respecto a una cierta dieta. Inicialmente, cuando el Agente Nutricionista no posee conocimiento sobre los gustos del usuario, dicho agente le propondrá al usuario una dieta pre-establecida. Le ofrecerá la opción al usuario de indicarle qué partes de la dieta no le gustan y si al usuario le gustaría que le propongan otra dieta. A partir de esta información, el Agente Nutricionista aprenderá qué alimentos le gustan, no le gustan o le son indiferentes al usuario. Si el usuario desea otra dieta, las comidas de la dieta pre-establecida que al usuario no le gustan, serán sustituidas por otras que tengan un valor nutricional parecido y que le apetezcan más al usuario. Cuando el Agente Nutricionista adquiere cierta cantidad de información sobre los gustos alimenticios del usuario, este agente puede ofrecer dietas aún más adaptadas. La información que el Agente Nutricionista obtenga sobre el usuario será enviada al Agente Perfil de Usuario para aportar a la base de conocimiento del último. Con respecto a la información adquirida sobre el estado de salud, el Agente Nutricionista debe tomar ciertas decisiones sobre la dieta que va a recomendar. Las recomendaciones del nutricionista son reglas que se deben cumplir para usuarios con cierto estado de salud. Una posible estructura para estas reglas puede ser: si el usuario sufre de gastritis no debe consumir productos que contengan lactosa. Igualmente, si el usuario sufre de alguna enfermedad y dentro de las recomendaciones no está especificada, el Agente Nutricionista se puede comunicar con la nutricionista real. Este agente es capaz de asignarle al usuario una dieta pre-establecida. Sin embargo, esta dieta pre-establecida no es personalizada. Para convertir esta dieta pre-establecida en una dieta personalizada, el Agente Nutricionista utilizará una técnica de reemplazo de alimentos, que consiste en cambiar ciertos alimentos por otros que tengan un valor nutricional parecido tomando en cuenta los gustos del usuario y las recomendaciones del nutricionista. Principalmente, la técnica tomará los alimentos que al usuario no le apetecen e intentará sustituirlos por otros. Primero, el Agente Nutricionista debe organizar los alimentos que se encuentran dentro de su base de conocimiento. De esta manera, si

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

6

el agente necesita reemplazar un alimento, escogerá otro que pertenezca al mismo conjunto y sea más apetecible para el usuario y que a la vez cumpla con las recomendaciones del nutricionista.

Finalmente, se calcula la cantidad de calorías que el usuario consumiría con esa dieta. Dichas calorías son consideradas al diseñar la rutina de ejercicios (generada por el Agente Entrenador) para que el usuario mantenga un equilibrio entre lo que consume y las que gastaría con la rutina sugerida por ZuGym. La generación de la dieta está a cargo de ZuDiet, tomando en cuenta algunas características de la rutina de ejercicio del paciente con el fin de mantener un equilibrio en el estado físico del mismo. El proceso de generación de la dieta será detallado en la sección 3.3, donde se mostrará cómo se utilizan las características de los perfiles de paciente para el enriquecimiento de un Dieta genérica.

3.1. Modelo de Dominio ZuDiet

El modelo del dominio de ZuDiet (ver Fig. 3), muestra los componentes que se relacionan para llevar a cabo el proceso de la generación de la Dieta Personalizada. A continuación se hará una breve descripción de los componentes que hacen parte del modelo del dominio de ZuDiet, los cuales serán los encargados de adaptar/personalizar este servicio.

El componente Dieta es el encargado de la generación de la dieta. Usando diferentes recursos realiza los filtros necesarios para generar, en primera medida, una Dieta General (sin personalización) y una Dieta Deseada (con personalización) adaptada a los perfiles del usuario. La Dieta está compuesta de comidas, que se entenderán como los diferentes platos que la persona ingerirá en el día, especificando el horario y la comida. De igual manera, una comida está compuesta de platos y cada plato está compuesto de alimentos. Igualmente, cada alimento tiene las especificaciones de su composición necesarias para la creación de la dieta. En una dieta se muestra cuáles deben ser las comidas diarias de una persona, junto con las horas en que debe ingerirlas, los platos propuestos y los alimentos que componen estos últimos. En el componente Calendario, se relacionarán Comida, Plato y Alimento, para generar la planificación de la Dieta que debe seguir el paciente.

Un alimento, aparte de una composición química, expresa a su vez diferentes dimensiones que son una forma de representar los alimentos según aspectos de su entorno y de cómo las personas lo perciben. Algunas de las dimensiones son [19]: i) Económicas, precio asequible según capacidad monetaria; ii) Sociales, se integra en los códigos de prestigio y oportunidad de consumo fijados por el grupo; iii) Psíquicas, aceptación o rechazo del alimento en función de su inclusión o no en el catálogo de alimentos habituales del grupo consumidor. Estas dimensiones ayudarán a que el concepto de alimento tenga el detalle suficiente y se pueda generar una dieta que se adapte a los requerimientos tanto del paciente como de su entorno alimenticio. Estas características se verán reflejadas en el perfil del paciente, más exactamente en el componente de preferencias (ver Fig. 4) y serán tomadas en cuenta en el momento de hacer el primer filtro a las hojas composición de alimentos (ver sección 3.2).

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

7

Vale la pena resaltar que el perfil del paciente maneja todos aquellos datos del

paciente que son necesarios para realizar los filtros y así generar la Dieta Deseada. En la siguiente sección se presentará en detalle este perfil.

3.2. El modelo de Perfil de Usuario

El modelo perfil de usuario (ver Fig. 4) tiene como objetivo mostrar cuáles serán los datos/características que se tendrán en cuenta para la clasificación y jerarquización de las preferencias del paciente y así lograr generar el Dieta Deseada. El perfil de paciente define tres tipos de perfil, que conjugados hacen posible la adaptación de una Dieta genérica en uno personalizado. Los componentes del Perfil de Paciente contienen sus datos individuales que se comportarán como un filtro en el momento de generar la dieta. El perfil estático del paciente maneja todos aquellos datos del paciente que no varían frecuentemente en un largo periodo de tiempo. Adicionalmente, estos datos proveerán la información necesaria para realizar los cálculos correspondientes a la primera etapa de la generación de la dieta (ver sección 3.3). Para esto se tomaron en cuenta tres diferentes grupos de datos: Información Básica, Hábitos, Datos Antropométricos y Patologías. Esta es una aproximación de los datos necesarios, pero podrían ser más o necesitarse manos. El contexto de uso representa el entorno en el que se encuentra el paciente.

Fig. 3. Modelo de Dominio de ZuDiet

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

8

Uno de los problemas de la personalización de servicios es la recolección de los datos suficientes para lograr una predicción de las preferencias y gustos de cada uno de los usuarios. Es por esto que se plantea una serie de preferencias que se irán obteniendo gracias a la interacción del usuario con el sistema, por medio de recomendaciones basadas en el patrón alimentico deseado. En ZuDiet se han definido diversos tipos de preferencias: Preferencia Horario Dieta: según las actividades diarias y las preferencias del

paciente con respecto a las horas en que come, se establecerá la preferencia de horarios en los que el paciente debe ingerir los alimentos recomendados en la dieta con el fin de que las comidas no se interpongan con las actividades del paciente.

Preferencia Actividad: representan lo que realiza el paciente en su diario vivir, lo que ayudará al sistema a reconocer cuál es su gasto energético diario, qué tipo de actividad realiza frecuentemente (fuera de las rutinarias), entre otras. Además, se puede conocer el tipo de actividades especiales que realiza según sus creencias, estilo de vida o la temporada del año (vacaciones, fines de semana). Ver Tabla 1.

Preferencia Alimento: con la representación del alimento en el sistema, la preferencia maneja la clasificación de los alimentos según la preferencia del usuario (gusta, prefiere o rechaza) y las preferencia de cocción del mismo. Además maneja otros datos necesarios para personalizar la dieta inicial, ver Tabla 1.

Preferencia Despliegue: dependiendo de las características del dispositivo y los gustos del paciente, la información acerca de la dieta será desplegada; por ejemplo, si a la persona prefiere ver los alimentos en imágenes o a través de una lista. Ver Tabla 1.

Fig. 4. Modelo Perfil de Usuario

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

9

Tabla 1. Representación de la Información Preferencias

Preferencia Alimento <Prefe_Alimento>::=<Nombre_Alimento><Prefe_Cocción><Valor_Preferencia><Intercambio_

Alimento> <Sustitución_Cocción> <Alimento>::=<Nombre_Alimento><Tipo_Alimento><Energía><Proteínas><Lípidos><Carbo

hidratos_Totales><Tipo_Plato> <Tipo_Alimento> ::= Vegetales | Carnes | Frutas | Cereales | Harinas | Lácteos| Otros (<Proteínas> <Lípidos> <Carbohidratos_Totales>) ::= <Número> gr <Energia> ::= <Número> Kcal <Tipo_Plato> ::= Aperitivo | Ensalada | Sopa | Seco <Valor_Preferencia> ::= "Gusta" | "Prefiere" | "Rechazado" <Intercambio_Alimento> ::= <Alimento> <Prefer_Cocción> ::= <Valor_Preferencia> <Sustitución_Cocción> <Cocción> ::= "Acuoso" | "Graso" | "Aéreo" <Sustitución_Cocción> ::= <Cocción> Preferencia Horario Dieta <Prefe_HoraDieta> ::= <Fecha> <Franja> <Nombre_Comida> <Fecha> ::= <Día> <Mes> <Año> <Franja> ::= <Hora_Inicial> <Hora_Final> (<Hora_Inicial> <Hora_Final>) ::= <Hora> <Minutos> <Nombre_Comida> ::= Tabla 3 Preferencia de Despliegue <Prefe_Despliegue>::=<Formato_Despligue><Característica_Dispositivo><Sustitución_Formato> <Formato_Despliegue> ::= "video" | "texto" | "imagen" <Característica_Dispositivo> ::= <Tamaño_Archivo> <Tamaño_Pantalla> … <Formato_Sustitución> ::= <Formato> Preferencia Actividad <Pref_Actividad> ::= <Actividad> <Sustitución_Actividad> <Tipo_Actividad> <Tipo_Actividad> ::= Especifica | General <Sustitución_Actividad> ::= <Actividad> <Actividad> ::= <Nombre_Actividad> <Temporada> <Nombre_Actividad> ::= <Texto> <Temporada> ::= Trabajo | Vacaciones | …

Para lograr una mejor comprensión de cuáles serán las preferencias que se tomarán

en cuenta y cómo interactúan dentro de ZuDiet, se realizó un diagrama de flujo (ver Fig. 5) que muestra cómo es el proceso de convertir una Dieta (general) en una Dieta Deseada (personalizada).

3.3. Flujo Generación de la Dieta

En esta sección se explicará el proceso de generación de dieta (ver Fig. 5). Este proceso se divide en ocho subprocesos: los cuadrados redondeados representan los

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

10

procesos que se deben realizar y los rectángulos, las fuentes de datos; además los cuadrados redondos de color morado representan lo que realiza el Nutricionista, los verdes lo que hace el Sistema y el azul, la interacción del Paciente. A continuación se explicará cada uno de estos subprocesos y la interacción entre los mismos.

.

Antes de empezar a describir el proceso, se necesita conocer algunos conceptos: Dieta Inicial que se genera en un principio y que sólo toma en cuenta los alimentos que están a disposición y el perfil estático del paciente. Dieta Deseada que es el patrón que se genera después de realizar los filtros con las preferencias que se encuentran en el perfil del paciente. Patologías que corresponden a los padecimientos o enfermedades del paciente

En la Fig. 5, se pueden apreciar las actividades que son realizadas por el nutricionista (moradas), el paciente (azules) y/o el sistema (verdes); estas actividades son: a) Estado Actual del Paciente: es la primera fuente de información de donde se almacenarán aquellos datos básicos del paciente, para su uso en el momento de realizar la dieta. b) Composición Alimentos Colombianos: es la primera fuente de información, de donde se tomará la lista de alimentos disponibles en la región. c) Alimentos por paciente: es la lista de alimentos que ya han pasado por el filtro de patologías y preferencia y corresponde a los alimentos que serán consumidos por el paciente. d) Dieta Inicial: es la fuente de información que será filtrada por las preferencias para ser personalizada; esta dieta sólo tendrá aquellos datos que se pueden generar a partir de los primeros filtros basados en las patologías y requerimientos nutricionales generales de la población colombiana [12]. e)Dieta Deseada: será la fuente de información usada por el sistema para la planeación de las comidas diarias propuestas para el paciente según sus preferencias y gustos; ésta será dinámica debido a que los gustos del paciente pueden cambiar con el tiempo y además se genera según la interacción del paciente con el sistema y la evaluación del nutricionista.

Con el fin de generar una dieta personalizada a partir de la dieta inicial se utilizarán los filtros que contribuirán a descartar alimentos que no serán usados para la creación de la dieta, ya sea por motivos patológicos o por las preferencias del paciente. Los filtros más relevantes son: el filtro Patologías es el encargado de tomar todos los datos del paciente acerca de las patologías y filtrar la lista de alimentos, descartando todos aquellos que en alguna medida puedan afectar al paciente, según su

Fig. 5. Flujo Generación de Dieta

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

11

composición química. Un ejemplo de esto, es que si el paciente es diabético no se le podrá realizar la dieta que contenga alimentos como el azúcar refinado, pero si verduras como el brócoli. Algunos de los alimentos no se descartarán por completo, sino que serán restringidos, lo que indica que durante algún tiempo (patología temporal) no podrán ser consumidos por el paciente. El filtro Preferencias es el encargado de tomar todos los datos generados en la Dieta Inicial y filtrarlos según las preferencias del paciente en diferentes dimensiones. Estas dimensiones representan un histórico del paciente, cómo ha sido el comportamiento con el sistema o las características de su entorno. Como se mostró en la sección 3.2, estas preferencias estarán en el perfil del paciente y serán obtenidas de manera implícita.

Con el ánimo de formalizar la representación de información se mostrarán dos de los componentes del modelo del dominio de ZuDiet: el perfil de paciente y la dieta (ver Tabla 2 y 3). Para esta representación se ha utilizado BNF (acrónimo de Backus-Naur Form). Tabla 2. Representación Información Perfil Paciente

Tabla 3. Representación Información Dieta

Finalmente se mostrará algunas de las reglas que serán las encargadas de la

generación del Dieta Deseada. El orden en que serán expuestas las reglas se basa en el flujo para la generación de un Dieta Deseada (ver sección 3.3): Sean c y d HBA

PERFIL PACIENTE <Información_Básica> ::= <Datos_Básicos> <Patologías> <Info_Fisiologica> <Cuali_Físicas> <Hábitos> <Info_Antropométrica> <Patologías> ::= <Nombre_Patología> <Origen> <Restr_Alimentos> <Restr_Ejercicio> <Tipo> … <Laboratorio_Clinico> ::= <Examen> <Valor_Referencia> <Valor_Obtenido> <Info_Fisiológica> ::= (<Glucosa_Muscular> | <Lipidos_Musculares> | …) ::= <Texto>

<Info_Antropométrica> ::= <Estatura> <Peso> <TMB> <IMC> <fTMB> <ECA> <ECE> <GCT>

<Hábito> ::= {<Tipo_Hábito> <Frecuencia> }* <Contexto_Uso> ::= <Caract_Entorno> <Localización> <Caract_Entorno> <Caract_Económica> <Caract_Social> <Caract_Cultural> <Caráct_Dispositivo> ::= <Referencia_Dispositivo> <Localización_Dispo> <Caráct_Red> <Req_Aplicación> <Sesión_Actual_User> <Caract_Económica> ::= <Estrato> <Capacidad_Económica> ::= <Número> <Caract_Social> ::= <Ciudad_Actual> <Ciudad_Nacimiento> <Costumbres> ::= <Texto> <Objetivo> ::= <Tipo_Obj> <Orientado_a> <Peso_Obj> <Tipo_Obj> ::= <Obj_Patología> <Obj_Estetica> <Obj_MejorarEstadoFísico>

DIETA <Dieta> ::= <Fecha_Inicial> <Fecha_Final> <Calificación_Paciente> <Calificación_Nutricionista> <Calendario_Dieta> <Compos_Alimentos> <Distribución_Calórica> <Intercambio_Alimentos> {<Comida>}* <Kilocalorias_Consumidas> <Calendario_Dieta> ::= <Día> <Franja> <Tiempo_Comida> <Comida> ::= <Nombre_Comida> { <Plato> }* <Plato> ::= {<Porción> }* [<Disponibilidad>] <Cocina_Regional> <Porción> ::= {Alimento}* <Peso_Porción> <Total_Carbohidratos> <Total_Energía> <Total_Lipídos> <Total_Proteínas> <Grupo_Alimentos> ::= Azucares | Carnes-Huevos | Cereales | Frutas | Grasas | Lacteos | leguminozas | Tuberculos-Platanos | Verduras-Hortalizas

<Distribución_Calórica> ::= <Carbohidratos_B> <Carbohidratos_A> <Proteínas> <Grasas_Insaturadas> <Grasas_Saturadas> <Fibra>

<Dieta_Deseada> ::= <Alimentos:Beneficos> <Alimentos_Preferidos> <Prefe_Alimento> <Prefe_HorarioDieta>

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

12

Preferencia_Alimentos (c) {

If (c == "Rechaza") { Filtrar (c); SustituciónIntercambio (c) SustituciónPreferencia (c) }

else { If (c == "Gusta") {PAD {c}. /*Se podrán manejar listas separadas de los alimentos

opcionales; una para los que son por salud y otra para los que son por preferencia.*/

} else { //por preferencia, Sea f |lista alimentos preferidos

if (c Є f ) { f {c}}}}}

SustituciónPreferencia(c) { Return d } //Donde d es uno de los alimentos de la lista de opcionales por preferencia.

SustituciónIntercambio (c) { d = Intercambio(c); Return d}

// Donde

Intercambio (c) {

For (i = 0; i >= HBA.length ; i++){

If (c.Kilocalorias == HBA.get(i).Kilocalorias

c. Carbohidratos == HBA.get(i).Carbohidratos

c.Grasas == HBA.get(i).Grasas c.Proteínas == HBA.get(i).Proteínas) {

Return HBA.get(i)

} } }

3.4. Implementación

Se implementó un prototipo del sistema ZuDiet articulado con ZuRoutine. Para tal implementación se utilizó .Net en Visual Basic y se usó la metodología TDD (Test-Driven Development). Como primer paso, después de tomar los datos básicos del paciente, se obtiene una primera visión del estado físico de éste. Después, el sistema genera una dieta general con base en unos patrones alimenticios para cuatro tipos de dietas: hipoglúcida, hipocalóricas, hipercalórico e hiposódica. El usuario debe diligenciar un corto cuestionario sobre lo que come normalmente; estos datos serán los primeros a ser tenidos en cuenta para realizar los filtros según las preferencias en alimentos del paciente. Por último, se genera una dieta personalizada, que no solamente muestra alimentos que le gustan o prefiere, sino que también el sistema arroja como resultado una alarma al nutricionista cuando se elevan o bajan los niveles de consumo con respecto a los que el usuario gasta con la rutina de ejercicio (ZuRoutine) o simplemente con las actividades físicas diarias. Muestra además la interfaz del sistema para la generación de dietas personalizadas y su integración con ZuRoutine con el fin de también generar una rutina acorde con los objetivos del paciente así como con el consumo de calorías al seguir la dieta. Vale la pena indicar que este prototipo está dirigido al nutricionista y servirá como apoyo a su labor de generación de dietas. Vale la pena destacar que cualquier dieta que se genere debe contar con el aval de un profesional de la salud.

Al terminar el desarrollo del prototipo se realizaron algunas pruebas de caja negra, en las que se comprobó que el sistema generaba una dieta general con base en la información básica del paciente y junto a ésta, el estado físico actual del mismo. Además, el sistema genera también una primera dieta deseada (personalizada), que descarta aquellos alimentos que no son del gusto del paciente e igualmente crea el

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

13

perfil de preferencias del mismo. En busca de la integración con ZuRoutine [3], el prototipo igualmente genera una rutina inicial y una personalizada; según el número de calorías quemadas y las consumidas se generan alertas si el paciente excede o aminora la cantidad de calorías sugeridas por el Nutricionista según el objetivo del paciente (bajar o subir de peso). Como resultado, en la Fig. 6(a), se muestra una dieta sin personalización y en Fig. 6(b) una dieta personalizada y con la variable de calorías quemadas según la rutina de ejercicios realizada por el paciente que es el punto de conexión entre ambos servicios.

Fig. 6. (a) Dieta General; (b) Dieta Deseada

4. Trabajos Relacionados A continuación, se presentarán algunos trabajos relacionados y se compararán con la generación de dietas de ZuDiet. Existen páginas web que facilitan la búsqueda de una dieta para un usuario que se identifica con un perfil general. Por ejemplo, en DietChannel [17] se realiza una encuesta al usuario para informarle qué tipos de dietas pueden generarse, según sus datos personales. En eDiets [6], también se le presenta un cuestionario al usuario para asignarle un perfil de dieta que se acomode con algunas de sus características. En ZuDiet, la dieta que genera el Agente Nutricionista es realmente personalizada, pues el usuario no es el que debe adaptarse a la dieta o a un perfil pre-establecido debido a que la dieta se le diseña según sus características, gustos y preferencias. Para la generación de dietas actualmente se plantean varios sistemas como los que se comparan en la Tabla 4:

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

14

Tabla 4. Cuadro comparativo trabajos relacionados en nutrición

Un diario alimenticio es útil para mantener un registro regular de las calorías

consumidas por un usuario, permitiendo entender dónde o por qué una dieta falla, ayudando a revelar los insumos calóricos del usuario. Este tipo de herramientas tienden a ser demandantes y requieren de costumbre y disciplina para llevar a cabo un uso correcto de la herramienta. De esta manera, los incentivos ofrecidos por los diarios alimenticios y sistemas personales para la salud deben compensar el esfuerzo y el tiempo que el usuario invierte en el ingreso de datos. La Tabla 5, se presenta un cuadro comparativo con respecto a los aspectos que considerará ZuDiet.

Tabla 5. Sistemas de Uso Diario para Seguimiento de Dietas

CRITERIOS [10][9] [8] ZuDiet Diario alimenticio + + - Diario de rutinas + + - Personalización - - + Adaptación + - + Hybrid media - + - Requiere de uso diario + + - Creación de dieta - - +

Existen también algunas herramientas de software, que se encuentran en internet,

para el manejo de dietas y rutinas. La Tabla 6 compara algunos de ellas:

CRITERIOS [15] [11] [1] ZuDiet Generación de dietas +/- - - +

Estilo de vida del usuario - + - +

Hábitos nutricionales + - - +

Adaptación según estado de salud + - - +

Personalización gustos y/o preferencias del usuario + + - +

Apoyo en bases de conocimiento + - - -

Soporte de diferentes tipos de clientes - - - +

Integración con otros servicios - + + +

Modelación del contexto del usuario - - + -

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

15

Tabla 6. Comparación Herramientas para la Generación de Dietas

CRITERIOS [20] [21] [14] [16] [4] [13] [5] ZuDiet Calendario + + + + - + - + Movilidad +/- + - +/- + + - +/- Servicios Web - + - + - - - + Personalización - - - + +/- +/- +/- + Consejos de Nutrición + + + + + + + + Manejo de Dieta - - - + + + - + Agregar/Borrar Dietas - - - + - - - + Calculador de RDA Diarios (“Alimentos a Consumir”)

+ + + + - - - +

Personalización de número de comidas

- + - + - - - +

Biblioteca de Alimentos + - - + + + + + Generación de Dietas - - - + + - +/- +

A partir de la información que se presentó en esta sección, se puede concluir que aunque existen sistemas que trabajan una idea similar a ZuDiet, no trabajan todos los aspectos contemplados en las comparaciones realizadas. No obstante, se debe resaltar que no se encuentra uno que integre todos los servicios relacionados con la generación de dietas y no articula otros como la creación de rutinas personalizadas. Adicionalmente, se puede identificar un factor competitivo de ZuDiet y es el nivel de personalización que caracteriza la dieta que genera.

5. Conclusiones y Trabajos Futuros La generación de una dieta, realizada en su totalidad por un nutricionista, no tiene en cuenta muchas de las variables relacionadas con el paciente, que conllevan a que sean fácilmente desechadas y no se cumplan los objetivos. Es por este motivo que ZuDiet, provee una dieta tomando una gran cantidad de variables, que involucran tanto los atributos físicos como de comportamiento del paciente. Dada la amplitud de las variables a tener en cuenta, la generación de dietas se relaciona con un sistema de recomendaciones; el sistema de recomendaciones será el responsable de obtener los datos con base en la interacción del paciente con la aplicación.

Los modelos expuestos en el presente artículo, aunque enfocados al desarrollo de ZuDiet, son la base para la creación de los demás servicios de ZuGym. Los filtros planteados en la sección 3.3, podrán ser usados por los demás servicios, debido a que mantienen la misma idea de filtrar todas aquellas variables que afectan al paciente de alguna manera, permitiendo así que el paciente se sienta satisfecho con el Dieta generado y sea constante, logrando su objetivo.

Como trabajo futuro, se espera validar la dieta generada con un Nutricionista y evaluar el nivel de satisfacción de los diversos clientes ante la dieta provista por ZuDiet. Finalmente se espera integrar los servicios brindados por ZuDiet con la Rutina y la Lista de Reproducción Musical en el contexto de ZuGym. Vale la pena

BARRERA LEÓN, CARRILLO RAMOS, BARRAZA URBINA, MARTINEZ RUBIO

16

destacar que aunque ZuDiet fue diseñado en el marco del proyecto ZuGym, éste puede ser utilizado como un componente independiente, de utilidad tanto para cualquier tipo de usuario como para los mismos Nutricionistas. Esta última afirmación se podría validar con evaluaciones y tests practicados a profesionales de la salud.

6. Referencias [1] Barraza Andrea., Luisa Barrera, Angela Carrillo, and Saul Martinez: ZuGym: un Sistema Basado en Agentes que

Ofrece Servicios Personalizados a Usuarios de Gimnasios. In: 5to Congreso Colombiano de Computación, (5CCC) (Cartagena, Colombia, Abril 2010)(2010).

[2] Barrera Luisa, Angela Carrillo, Andrea Barraza and Saul Martinez: Zudiet: Un Sistema Que Genera Patrones Alimenticios Personalizados Y Adaptados. In: Revista Avances en Sistemas e Informatica, Medellin, (RASI), Vol 8, 25-28 (2011).

[3] Barrera Luisa, Angela Carrillo, Andrea Barraza and Saul Martinez: ZuRoutine: Modelo personalizado de Rutinas de Ejercicio. In: 6to 5to Congreso Colombiano de Computación (6CCC) (Manizales, Colombia, Abril 2011) (2011).

[4] Diet Master 2100, http://www.dietmastersoftware.com/dietmaster_2100_nutrition-software.html (Ultimo acceso mayo 2011).

[5] DietPower, http://www.dietpower.com/ (Ultimo acceso febrero 2011). [6] Ediets. http://www.ediets.com (Ultimo acceso mayo 2011). [7] Henández Manuel and, Sastre Ana: “Tratado de nutrición”. Ediciones Díaz de Santos, S.A., Madrid (1999) [8] Järvinen, P., T. Järvinen, L. Lähteenmäki, C Södergård: Hyperfit: hybrid media in personal nutrition and

exercise management. In: Proc. of the 2nd Int. Conf. on Pervasive Computing Technologies for Healthcare (PervasiveHealth'08), (Tampere, Finland, 30 Jan - 1 Feb 2008), 222 – 226 (2008).

[9] Korhonen, I., E Mattila, A Ahtinen, J Salminen, L Hopsu, R Lappalainen, T Leino: Personal health promotion through personalized health technologies –Nuadu experience. In: Proceedings of Engineering in Medicine and Biology Society Annual International Conference of the IEEE (EMBC'09), (Hilton Minneapolis, Minnesota, USA, September 2-6, 2009), 316 – 319 (2009).

[10] Koskinen, E., J Salminen: A customizable mobile tool for supporting health behavior interventions (EMBS'07), (Lyon, France, August 23-26, 2007), 5907-5910 (2007).

[11] Lee, C., M Wang, W Sun, Y Chang: Intelligent healthcare agent for food recommendation at Tainan city. In: Proceedings of Engineering in Medicine and Biology Society the 29th Annual Int. Conference of the IEEE (SMC'08), (Oct. 12-15, Singapore, 2008), 1465-1470 (2008).

[12] Ministerio de Salud e Instituto Colombiano de Bienestar Familiar. “GUÍAS ALIMENTARIAS para la población colombiana mayor de dos años, Bases Técnicas”. http://www.icbf.gov.co/icbf/directorio/portel/libreria/pdf/BASESTECNICASGUIAALIMENTARIAPOBLACIONMAYORDE2A%C3%91OS.pdf (Última revisión enero 2011) (1999).

[13] Nutrinote. http://www.nutrinote.com/ (Ultimo acceso enero 2011) [14] ProTrack: http://www.dakotafit.com/ (Ultimo acceso enero 2011) [15] Snae, C., M Brückner: FOODS- A food- oriented ontology-driven system. In: Department of Computer

Science and Information Technology, Naresuan University, Phitsanulok, Thailand. 2nd IEEE Int. Conference on Digital Ecosystems and technologies, (February 2008) (2008)

[16] Tap & Track, http://itunes.apple.com/us/app/tap-track-calorie-weight-

exercise/id307749752?mt=8 (Ultimo acceso febrero 2011) [17] The DietChannel . http://www.thedietchannel.com/ (Ultimo acceso mayo 2011) [18] University of Maryland Medical Center: Dieta Balanceada,

http://www.umm.edu/esp_ency/article/002449.htm (Ultimo acceso maryo 2011) [19] Varela G: Dieta y Salud. Revista Española de Salud Pública. No. 2, Vol. 65, 91-95. (1991). [20] Vida One Diet & Fitness, http://www.vidaone.com/vodf_win.htm (Ultimo acceso marzo 2011) [21] WeightMania, http://www.weightmania.com/ (Ultimo acceso marzo 2011) [22] Word Reference: Dieta, http://www.wordreference.com/definicion/dieta (Ultimo acceso

marzo 2011)


Recommended