# Modelado de usuario

Modelado de usuario es la subdivisión de Interacción persona-computadora que describe el proceso de crear y modificar un entendimiento conceptual del usuario. Su principal objetivo es la personalización y adaptación de los sistemas a las necesidades específicas del usuario. El sistema necesita "decir la cosa 'correcta' en el momento 'correcto' de manera 'correcta'. Para hacerlo, necesita una representación interna del usuario. Otro propósito común es modelar tipos específicos de usuarios, incluyendo el modelado de sus habilidades y conocimiento declarativo, para su uso en testing automático de software.

## Antecedentes

Un modelo de usuario es una colección y categorización de datos personales asociados a un usuario específico. Por lo tanto, es la base de cualquier cambio adaptativo en el comportamiento del sistema. Los datos incluidos en el modelo dependen del propósito de la aplicación y puede incluir información personal como el nombre o edad del usuario, sus intereses, sus habilidades y conocimientos, sus objetivos y planes, sus preferencias o datos sobre su comportamiento y sus interacciones con el sistema.
Hay diferentes patrones de diseño de modelos de usuario, aunque a menudo se suele usar una mezcla de ellos.
* Modelos de usuario estáticos
    Los modelos de usuario estáticos son el tipo más básico. Una vez los datos principales han sido recopilados, normalmente no cambian, son estáticos. Los cambios en las preferencias de los usuarios no son registrados, y no se aplican algoritmos de aprendizaje para alterar el modelo.
* Modelos dinámicos de usuario
    Los modelos de usuario dinámicos permiten una representación de los usuarios más actualizada. Cambios en sus intereses, su proceso de aprendizaje o sus interacciones con el sistema son registrados y ejercen influencia sobre los modelos del usuario. Los modelos pueden ser actualizados y toman las necesidades y objetivos del usuario actuales en cuenta.
* Modelos de usuario basados en estereotipos
    Los modelos de usuario basados en estereotipos están basados en estadísticas demográficas. Los usuarios son clasificados en diferentes estereotipos basados en la información recopilada, entonces el sistema se adapta a este estereotipo. Por lo tanto, la aplicación puede adaptarse al usuario aunque no haya datos sobre un área concreta. Esto es así porque los estudios demográficos han mostrado que otros usuarios del mismo estereotipo tienen las mismas características. Como consecuencia, los modelos basados en estereotipos se basan principalmente en estadísticas y no toman en cuenta los atributos personales que podrían no encajar en el estereotipo. Sin embargo, permiten hacer predicciones sobre un usuario aunque haya poca información del mismo.
* Modelos de usuario altamente adaptativos
    Los modelos de usuario altamente adaptativos intentan representar a un usuario particular y por lo tanto, permitir una gran adaptación del sistema. A diferencia de los modelos basados en estereotipos, no se basan en estadísticas demográficas, sino que intentan encontrar una solución específica para cada usuario. A pesar de que los usuarios pueden obtener un gran beneficio de estos sistemas, este tipo de modelos requieren recopilaruna gran cantidad de información primero.

## Recopilación de información

La información de los usuarios puede recopilarse de varias maneras. Hay tres métodos principales:
* Preguntar sobre hechos concretos mientras se interactúa con el sistema por primera vez.
    La mayoría de la información se recopila durante el proceso de registro. Mientras se registran, a los usuarios se les pide información como sus gustos o necesidades. A menudo las respuestas dadas pueden ser cambiadas más adelante.
* Aprender sobre las preferencias del usuario observando e interpretando sus interacciones con el sistema
    En este caso, no se preguntan los datos personales ni las preferencias a los usuarios directamente, sino que esta información se deriva de su comportamiento mientras interactúa con el sistema. Cosas como las diferentes formas en las que el usuario completa tareas y sus intereses permiten realizar una inferencia sobre un usuario específico. La aplicación aprende de forma dinámica mientras observa estas interacciones. Diferentes algoritmos de aprendizaje automático pueden ser usaros para complementar este método.
* Un enfoque híbrido en el que se pregunta ppregunta sobre ciertos hechos y se altera el modelo de usuario a través de aprendizaje adaptativo
    Este enfoque es una mezcla de los anteriores. Los usuarios tienen que responder preguntas específicas. Después, sus interacciones con el sistema son observadas y la información derivada es usada para ajustar los modelos de usuario automáticamente.
Aunque el primer método es una buena manera de recopilar rápidamente los datos principales, flaquea en la habilidad de adaptarse automáticamente a los cambios de las preferencias e intereses del usuario. Depende de la predisposición de los usuarios para dar su información, y es poco probable que los usuarios cambien sus respuestas una vez completado el proceso de registro. Por lo tanto, existe una gran probabilidad de que los modelos de usuario no estén actualizados. Sin embargo, el primer método permite que los usuarios tengan un control total sobre los datos recopilados sobre ellos, por lo que ellos deciden que información están dispuestos a otorgar.
Esta posibilidad se pierde en el segundo método. Los cambios adaptativos en un sistema que aprende de las necesidades y preferencias de un usuario simplemente interpretando su comportamiento puede ser un poco oscuro para los usuarios, ya que no pueden comprender la razón por la que el sistema se comporta de la manera que lo hace. Además, el sistema está forzado a recolectar una cierta cantidad de datos antes de que pueda ser capaz de predecir las necesidades de un usuario con la precisión correcta. Por lo tanto, el usuario tarda un tiempo en poder beneficiarse de los cambios adaptativos. Sin embargo, estos modelos de usuario ajustados automáticamente permiten una buena precisión cuando pasa el tiempo.
Los enfoques híbridos intentan combinar las ventajas de los dos métodos anteriores. A través de la recolección de datos preguntando a los usuarios directamente, obtiene una cantidad de información inicial que puede ser usada para los cambios adaptativos. Aprendiendo de las interacciones del usuario puede ajustar los modelos de usuario y alcanzar una mayor precisión. Aun así, el diseñador del sistema tiene que elegir cuanta influencia tienen la información aprendida sobre los datos otorgados por el usuario en caso de contradecirse.

## Adaptación del sistema

Una vez que el sistema ha recopilado información sobre el usuario, puede evaluar los datos con algoritmos analíticos y así comenzar a adaptarse a las necesidades del usuario. Estas adaptaciones pueden incluir todos los aspectos del comportamiento del sistema y depender del propósito del mismo. La información y sus funciones pueden ser presentadas en función de los intereses del usuario, su conocimiento o sus objetivos, mostrando solo las características relevantes y escondiendo información que los usuarios no necesitan. En un sistema adaptable, el usuario puede cambiar la apariencia, comportamiento o funcionalidad del sistema seleccionando las opciones correspondientes. En un sistema adaptativo, la adaptación dinámica del sistema al usuario la realiza el propio sistema, basada en el modelo de usuario. Sin embargo, un sistema adaptativo necesita maneras de interpretar la información sobre el usuario para poder realizar la adaptación. Una forma de conseguirlo es implementar un filtro basado en reglas. En este caso, se establece un conjunto de reglas condicionadas para cubrir la base del conocimiento del sistema. Otra aproximación está basada en el filtrado colaborativo. En este caso la información del usuario se compara con la de otros usuarios del mismo sistema. Si las características del usuario concuerdan con las de otros, el sistema puede asumir que el usuario tiene las mismas características en áreas en las que el sistema no tiene información del mismo, pero si de otros. Basado en estas relaciones, el sistema puede hacer cambios adaptativos.

## Usos

* Hipermedia adaptativa: En un sistema de hipermedia adaptativa el contenido mostrado y los hiperlinks son elegidos en función de las características específicas del usuario, teniendo en cuenta sus características, objetivos, intereses, conocimiento y habilidades. Estos sistemas intentan reducir el síndrome de "perdido en el hiperespacio" presentando solo información relevante.
* Hipermedia adaptativa educativa: Es una subdivisión de hipermedia adaptativa. Su principal objetivo es la educación, mostrando al usuario contenido e hiperlinks basándose en su conocimiento de un campo de estudio concreto.
* Sistema de tutoría inteligente: A diferencia de la hipermedia adaptativa educativa, los sistemas de tutoría inteligente son sistemas independientes. Su objetivo es ayudar a los estudiantes en un campo de estudio específico. Para hacerlo, crean un modelo de usuario donde guardan información sobre sus habilidades, conocimientos y necesidades. El sistema puede entonces adaptarse al usuario presentándole ejercicios, ejemplos y pistas que le ayudaran donde más lo necesite.
* Sistemas expertos: Los sistemas expertos son sistemas que emulan la habilidad en la toma de decisiones de un experto humano, para así ayudar al usuario a resolver un problema en un área expecífica. Hacen preguntas paso a paso para identificar el problema y encontrar una solución. Los modelos de usuario pueden ser usados aquí para adaptarse al conocimiento actual del usuario, diferenciando entre expertos y novatos. El sistema puede asumir que usuarios más experimentados pueden entender y preguntar cosas más complejas que alguien nuevo en el tema. Además, puede ajustar el vocabulario usado y el tipo de preguntas presentadas al usuario, reduciendo así los pasos necesarios para encontrar una solución.
* Sistema de recomendación: La idea básica de un sistema de recomendación es presentar una selección de opciones al usuario que encajen con sus necesidades. La selección puede estar basada en opciones que el usuario ha marcado, comprado, visto o evaluado. Los sistemas recomendadores suelen usarse en e-commerce pero también pueden cubrir áreas como redes sociales, sitios web, noticias, etc.
* Prueba de usabilidad: Ya que los sistemas de modelado de usuario permiten al sistema mantener una representación interna de un usuario específico, se pueden simular diferentes tipos de usuario de forma artificial. Expertos y novatos suelen ser tipos comunes de usuarios.

## Estándares

Están disponibles algunos formatos de representación y estándares para representar usuarios en sistemas de computación, por ejemplo:
* IMS-LIP (IMS - Learner Information Packaging, usado en e-learning)
* HR-XML (usado en recursos humanos)
* JXDM (Justice with the Global Justice Extensible Markup)
* Europass (the Europass online CV)