Friday, April 26, 2013

Machine learning for user modeling in a multilingual learning system

El sistema se encuentra basado en un tutor inteligente (ITS) diseñado para conocer el tipo de estudiante, el material de estudio y las formas de aprendizaje.

La arquitectura del conocimiento del dominio se refiere al plan que será enseñado. En el caso de las pruebas presentadas, se refiere a un curso de inglés y otro de francés. Se sigue la misma estructura lógica para ambos idiomas. Se divide en 5 fases el nivel de principiante:

  1. Aprendizaje del alfabeto.
  2. Nombre y pronunciación de los meses y días.
  3. Géneros y artículos.
  4. Pronombres posesivos.
  5. Verbos ser y estar.

Se tiene una evaluación (ejercicios de opción múltiple) con las últimas 3 lecciones que se hayan estudiado. No se puede proceder a otra lección si no se ha aprobado la prueba.

El modelo del estudiante lleva un registro histórico del avance del usuario, se guardan sus debilidades y progreso. El mecanismo modelador del estudiante se compone de dos sub-mecanismos. El primero se encarga del modelo de cada estudiante, mientras que el segundo razona errores del multilenguaje (se encarga de buscar las causas de los errores de los estudiantes en un ambiente multilenguaje).

Se hace distinción entre los tipos de errores mediante dos mecanismos. El primero se encarga de buscar similitudes entre las cadenas de caracteres con la respuesta real. Si se da un alto porcentaje, entonces se trata de un error de escritura. El segundo mecanismo busca la similitud pero traduciendo la respuesta a los distintos idiomas que maneja el sistema. La arquitectura del sistema de diagnóstico de errores se muestra a continuación:

image

El modelo de enseñanza se encarga de presentar consejos y avisos al usuario cuando presenta errores en los ejercicios.

Se hace uso de k-medios para clasificar a los estudiantes según su edad y nivel de conocimiento en cierto idioma. Esto permite que al registrarse un nuevo usuario, se tenga una cierta clasificación y algunas consideraciones sobre su posible conocimiento para no empezar desde cero. La arquitectura se muestra a continuación:

image

La siguiente figura muestra algunos de los resultados de aplicar k-medios:

image

Virvou, M., Troussas, C., & Alepis, E. (2012). Machine learning for user modeling in a multilingual learning system. Information Society (i-Society), 2012 International Conference on (pp. 292–297). London: Institute of Electrical and Electronics Engineers ( IEEE ). Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6284978

Deriving Group Profiles from Social Media to Facilitate the Design of Simulated Environments for Learning

La primera tarea a la que se dedica esta investigación se centra en obtener los datos de las redes sociales para crear los perfiles de los usuarios. Se emplea un framework que integra aprendizaje supervisado (por medio de clasificación), aprendizaje no supervisado (clustering) y semántica. La siguiente figura ilustra la estructura general:

image

Las cinco fases en las que se divide son:

  • User-generated Content Retrieval – Se encarga de buscar y recolectar información del usuario sobre asuntos relacionados al tema de aprendizaje. Es dependiente de la red social que se desee utilizar.
  • Semantically Enriched Classification Model – Se emplea aprendizaje supervisado para clasificar qué información es relevante y cual es sólo ruido.
  • Semantic Driven Individual User Profiling – Se construye un perfil social basado en los datos recolectados y se representa como un vector.
  • Group Clustering Model – Se hace uso de aprendizaje no supervisado para crear grupos en base a la similitud de los vectores de los usuarios individuales.
  • Group Profiling – Se crean los grupos de perfiles en base a los conceptos relevantes extraídos y la distribución estadística de los datos demográficos de los autores.

Utilizando el framework en un caso específico, se proporciona el ejemplo de Youtube siguiendo entrevistas de trabajo como tema.

  1. Selección de video – Se buscan videos sobre entrevistas de trabajo ya sea en base a un experto del dominio o a palabras clave.
  2. Recopilación de comentarios – Se toman todos los comentarios públicos en los videos seleccionados.
  3. Filtración de comentarios ruidosos – Los comentarios ruidosos son los que tienen pocos conceptos relacionados a entrevistas de trabajo, son totalmente irrelevantes para el tema o son spam o mensajes de ese tipo.
  4. Recopilación de perfiles de usuario de Youtube – Se buscan el perfil de cada autor de los comentarios y luego se obtienen sus datos demográficos para crear los grupos.
  5. Generación de perfiles basado en clustering y basado en datos demográficos – Se llevan a cabo ambos procedimientos para crear grupos en base a las dos opciones.

La representación de los comentarios se hace en base a palabras que son semánticamente relevantes, por lo tanto se elimina el resto como se muestra en la siguiente figura:

image

Las pruebas se hicieron sobre el mismo tema de entrevistas de trabajo, las características del conjunto de datos se muestran en la siguiente tabla:

image

Un ejemplo de los conjuntos generados de acuerdo al perfil se muestra en la siguiente figura:

image

Por otra parte, un ejemplo de las agrupaciones por datos demográficos se muestra a continuación:

image

En conclusión, el sistema permite obtener características de los grupos de una manera automática basado en los perfiles y comentarios que se hacen sobre redes sociales, todo enfocado a un solo tema. La apreciación e interpretación de cada uno de los conjuntos generados se debe hacer de manera manual.

Ammari, A., Lau, L., & Dimitrova, V. (2012). Deriving group profiles from social media to facilitate the design of simulated environments for learning. Proceedings of the 2nd International Conference on Learning Analytics and Knowledge - LAK ’12 (pp. 198–207). New York, New York, USA: ACM Press. doi:10.1145/2330601.2330650

Web-Scale User Modeling for Targeting

Los métodos tradicionales para indicar la población de propaganda (ads) en internet emplean datos demográficos e información del lugar. Se elige un conjunto de lugares y de atributos demográficos para dirigir la propaganda a un segmento de la población en particular. Otro método tradicional emplean los datos de comportamiento del usuario. Los usuarios son colocados en categorías de interés predefinidas. Los grupos no son creados en base a una retroalimentación individual de los anunciantes. El registro se lleva a cabo en base a clics y no a compras.

Se asume que los eventos previos a una conversión (compra de un producto) contienen indicativos de su ocurrencia y se dejan de considerar eventos participantes a los ocurridos después de la compra. El historial se emplea como una secuencia de eventos relativos a un tiempo en el que el usuario es considerado como objetivo. La siguiente figura muestra un ejemplo del historial:

image

Por su parte, la arquitectura general del sistema se muestra en la siguiente figura:

image

En el historial de cada usuario se manejan eventos pasivos (visualización de anuncios y visitas a páginas) y activos (consultas en sitios y clics en anuncios). Dado que los intereses del usuario cambian, se considera tener un modelo actual (actualizado cada día). Para llevar esto a cabo, se hace uso de un método incremental para actualizar el perfil. Se usa el formato JSON para representar las actividades de un usuario den disco, mientras que en memoria se hace uso de mapas de C++ (implementados como árboles binarios de búsqueda balanceados).

Se creó un framework encargado de actualizar los valores dentro de los modelos de usuario. Se tienen varios módulos que se encargan de leer del disco el modelo, pasarlo a memoria, agregarlo al modelo que ya estaba en memoria, actualizar los datos y reescribirlo en disco. La arquitectura permite que cada módulo trabaje independientemente. La siguiente figura muestra el framework desarrollado:

image

Para el entrenamiento de las campañas se hace uso de SVM (Support Vector Machines). Se hace uso de dos conjuntos de datos por separado, los casos positivos (se realizó una compra) y los negativos (no se realizó la compra).

Para las pruebas se emplearon 7.7 billones de usuarios únicos, cada uno con un historial de 2 meses. Se recolectaron datos de 4 semanas de anuncios para 1776 campañas. Se encontraron que para los ejemplos negativos se logra un buen entrenamiento con alrededor de 200,000 casos.

Los resultados respecto al tiempo se muestran a continuación comparados con su sistema previo:

image

El resto de experimentos comprende la elección de rasgos y los pesos que emplean.

Las aportaciones principales del artículo son:

  • Mecanismos para construir perfiles de usuario a escala de la red en forma incremental por día.
  • Exploración del procesamiento en memoria para lidiar con billones de registros de usuarios.
  • Se presenta una técnica de etiquetamiento escalable al compartir ejemplos negativos de entrenamiento entre las campañas.
  • Se prueban distintas técnicas para asignar pesos a los rasgos. Se muestra la importancia de hacer uso de historia reciente sobre actividades más viejas.
  • Se muestra la importancia de tener una robusta selección de rasgos para optimizar actuar día con día sin afectar la precisión del modelo.

Aly, M., Hatch, A., Josifovski, V., & Narayanan, V. K. (2012). Web-scale user modeling for targeting. Proceedings of the 21st international conference companion on World Wide Web - WWW ’12 Companion (pp. 3–12). New York, New York, USA: ACM Press. doi:10.1145/2187980.2187982

Thursday, April 18, 2013

A SAM-Based Evolution Model of Ontological User Model

El modelado de usuario involucre inferior información inobservable a partir de la información observable de los usuarios. Se debe lidiar con la incertidumbre de las inferencias al no contar con información completa. Los modelos basados en ontologías intentan aprovechar el conocimiento contenido dentro de ellas en lugar de adquirir el modelo.

Las áreas de estudio del modelo de usuario se basan en: adquisición, representación y evolución. Este artículo se enfoca en la última. El modelo debe ser capaz de cambiar y adaptarse tanto a los sutiles cambios en las preferencias como a otros radicales (como ejemplo se menciona que se pierda completamente el interés en algo en particular).

Se menciona (como en otros artículos) que la manera tradicional de modelar un usuario se lleva a cabo mediante un conjunto de palabras con pesos. Otros emplean estructuras complejas pero esto vuelve el compartir y colaborar en una tarea difícil.

En el caso del artículo, se propone un modelo basado en ontologías. Se menciona a una ontología como la conceptualización de un dominio consistiendo en sus entidades, atributos, relaciones y axiomas, todo esto establecido bajo el concepto de compartir y reutilizar el conocimiento.

Los modelos basados en ontologías se centran además de en los conceptos (como los modelos de usuario tradicionales), en la semántica que los rodea. Se le da un peso a cada concepto y relación para determinar el interés del usuario. Los intereses del usuario se mapean a los conceptos del dominio. La siguiente figura muestra el modelo de usuario para un sistema de obtención de artículos científicos.

image

Para hacer que los intereses del modelo y los del usuario sean los mismos de manera dinámica, se empleó un enfoque SAM (Spreading Activation Model). SAM es un modelo de aprendizaje en redes asociativas, redes neuronales y redes semánticas. El proceso de aprendizaje inicia al etiquetar una serie de nodos fuente con pesos o activación para después propagarlo de manera iterativa a otros nodos enlazados a los nodos fuente. La activación puede iniciar en caminos alternativos y terminar cuando dos caminos se encuentran en el mismo nodo.

La ontología de dominio para este caso se encuentra ligada a las ciencias computacionales. La siguiente figura muestra un fragmento de la ontología de dominio.

image

La evolución del modelo se encuentra basada en la psicología. El modelo es inicializado por medio de aprendizaje de instancias. Cuando no se tiene una activación de revisión, el sistema adaptará el modelo con la función de olvido. De otra forma, se llama a la función de remembrar para adaptar el modelo. La siguiente figura muestra el proceso.

Se llevan a cabo dos evaluaciones, la primera muestra la evolución del modelo a lo largo de los días puesto que el modelo va adquiriendo conocimientos sobre los gustos del usuario. La siguiente figura muestra esto:

image

La segunda prueba muestra la precisión y el recall de los modelos basados en ontologías y los basados en la definición del usuario. Los modelos basados en ontologías obtienen un mejor resultado como se muestra en la siguiente tabla:

image

En conclusión, el modelo muestra la mejoría en precisión y recall dado el SAM empleado para hacer que los modelos evolucionen.

image

Pan, J., Zhang, B., & Wu, G. (2009). A SAM-Based Evolution Model of Ontological User Model. 2009 Eighth IEEE/ACIS International Conference on Computer and Information Science (pp. 1139–1143). Ieee. doi:10.1109/ICIS.2009.171

A New Ontology-Based User Modeling Method for Personalized Recommendation

Los primeros enfoques para representar los gustos de usuarios se basan en vectores de palabras claves o en matrices de recursos de usuarios. Sin embargo, el crecimiento en cuanto a número de usuarios como de recursos en el sistema impacta negativamente a su eficiencia.

El uso de ontologías sobre un dominio permite un conocimiento común de la información de un área, define el vocabulario cognitivo común y da una definición clara de los términos del dominio.

El artículo utiliza la estructura jerárquica de las ontologías para representar los intereses de los usuarios mientras que una técnica de razonamiento y extensión obtiene los intereses potenciales.

Para efectos del artículo, se hace uso del dominio de fósiles y minerales para construir la ontología. La ontología es creada en base a auto construcción y algunos componentes definidos a mano. Primero se introducen los códigos recursos para crear un árbol de clasificación jerárquica de meta-datos. Después, usando el árbol anteriormente creado, se genera un árbol jerárquico de los conceptos de la ontología. La siguiente figura muestra una parte del árbol de clasificación jerárquica de meta-datos.

image

Se siguen tres pasos para construir el modelo de usuario:

  1. Se analizan los registros del servidor web para obtener los puntajes de acceso de los usuarios en los nodos hoja del árbol jerárquico de conceptos de la ontología.
  2. Se hace uso de técnicas de razonamiento de ontologías con los nodos hoja para acceder a las puntuaciones del resto de los nodos.
  3. Se juntan los vectores con las puntuaciones de los nodos hoja y del resto para crear el modelo. El modelo consiste en un conjunto de vectores.

El modelo de similitud presentado se basa en lo siguiente:

  1. Si dos usuarios tienen una mayor cantidad de recursos en común (y menos recursos que no tengan en común), la similitud entre dichos usuarios será mayor.
  2. Si las puntuaciones entre los recursos comunes son cercanas, la similitud entre ambos usuarios será mayor.
  3. Si el ángulo entre los vectores de puntuación de los dos usuarios es pequeña, la similitud entre ambos usuarios será mayor.

El primer experimento muestra el error absoluto medio (MAE – Mean Absolute Error) del algoritmo de similitud frente a otras medidas (coseno, correlación y coseno ajustado). La siguiente figura muestra los resultados:

image

La segunda prueba se basa en la cobertura de las medidas de similitud. La siguiente figura muestra los resultados.

image

Para la segunda fase de pruebas se enfocaron en el modelo de usuario propuesto. La siguiente figura muestra el MAE del uso del modelo basado en ontologías contra los modelos basados en matrices.

image

La siguiente figura muestra el experimento con otro conjunto de datos pero los resultados siguen siendo consistentes con la mejoría.

image

En general, el artículo presenta un modelo de usuario basado en ontologías (representada por vectores) y una nueva medida de similitud que resulta ser más efectiva que las usadas tradicionalmente y basada en la similitud entre usuarios.

Yuan, J., Zhang, H., & Ni, J. (2010). A new ontology-based user modeling method for personalized recommendation. Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on (pp. 363–367). Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5564577

Ontology-Based User Modeling for E-Commerce System

Se propone primero un modelo de usuario genérico basado en ontologías. Se emplean 3 ontologías para llevar a cabo el modelo y son las siguientes:

  1. Ontología de usuario: captura las características de distintos usuarios y su relación.
  2. Ontología de dominio: define el dominio (en este caso el catálogo de productos siendo un sistema de comercio electrónico) y sus relaciones.
  3. Ontología de interacción: define la semántica de la interacción del usuario con el sistema.

La información demográfica es introducida manualmente por el usuario mientras que la información sobre la interacción se va registrando conforme el constante monitoreo del uso del sistema. La siguiente figura muestra las ontologías, su relación y la información que registran.

image

Los componentes explícitos del modelo de usuario (datos demográficos) fueron designados respecto a las especificaciones del Information Management System Learner Information Package

(IMS LIP). La siguiente tabla muestra los campos que conforman a estos componentes.

image

Para capturar los atributos implícitos, se generaron conceptos de comportamiento: preferencias de usuarios y sistema de ranking para describir las interacciones de los usuarios con el sistema. Basados en la frecuencia de actividad, se clasifican a los usuarios en: viejos, medios y novatos.

Las siguientes figuras muestran un ejemplo de las ontologías de producto para una computadora. La primera muestra las partes de la computadora mientras que la segunda se enfoca a los atributos que tiene.

image

image

El sistema está diseñado para que los usuarios encuentren los productos que buscan de manera más eficiente basados en las características que el modelo de usuario ha obtenido. Las evaluaciones están hechas a partir de dos cálculos: la precisión es la suma de los productos mostrados por una búsqueda sobre el número total de resultados evaluados; recall es el número total de productos obtenidos por un tipo de consulta sobre la suma de productos obtenidos por dos tipos de motores de búsqueda. Los resultados se muestran en la siguiente figura:

image

El artículo se enfoca en mostrar la utilidad del uso de ontologías para los sitios de comercio electrónico ya que la precisión del sistema de búsqueda llego a ser de un 87% después de haber sido entrenado a lo largo de una hora.

Liu, W., Jin, F., & Zhang, X. (2008). Ontology-Based User Modeling for E-Commerce System. 2008 Third International Conference on Pervasive Computing and Applications, 260–263. doi:10.1109/ICPCA.2008.4783589

Forgetting and Reenergizing User Preference

No existe una convención sobre el tipo de conocimiento que debe incluir un modelo de usuario, la forma en que la información es obtenida, cómo debe ser presentado, cómo deber ser evaluado a lo largo del tiempo y cómo debe ser usado en algún servicio. Debido a esto, la personalización se basa en la manera en que debe de construirse un modelo de usuario adecuado para la aplicación.

El modelo debe ser creado y evolucionar respecto al comportamiento del usuario. Los comportamientos deben verse reflejados en las preferencias del usuario para que al final se basen en sus contrapartes del mundo real.

La representación del modelo está basada en ontologías ya que se pueden añadir clases fácilmente. La ontología del usuario presenta información estática y general. La información de preferencias está representada en una ontología de dominio. La siguiente figura muestra un ejemplo de la ontología de usuario:

image

De acuerdo a la psicología cognitiva, es muy difícil obtener recuerdos a lo largo del tiempo. Sólo cuando la información es re-energizada, será recordada. Se cree que las preferencias de un usuario siguen el mismo modelo al olvidar la información.

Las preferencias del usuario fueron divididas en largo plazo, mediano plazo y corto plazo. Las de corto plazo son preferencias creadas por gustos que duran un corto periodo de tiempo como noticias breves o emergencias. Si los términos dentro de este tipo de memoria no son visitados en un tiempo corto, serán olvidados debido a los límites de la memoria humana. Las preferencias de mediano plazo duran más respecto a las de corto. Por último, las de largo plazo representan los gustos estables de los usuarios.

El algoritmo de re-energización se encarga de actualizar el peso de los nodos del modelo (incluyendo a sus ancestros y no sólo al nodo actual debido a la estructura jerárquica que mantiene el modelo).

La siguiente figura muestra los resultados del algoritmo de re-energización respecto a los tres tipos de preferencias.

image

Las preferencias utilizadas dentro del modelo de usuario y su evolución respecto al tiempo se muestran en la figura a continuación:

image

En conclusión, se presentó un modelo de usuario basado en jerarquías y con un algoritmo que simula el proceso de la mente humana para recordar las preferencias. Se tienen los mecanismos de olvido y re-energización. Falta optimizar las funciones y probar su utilidad en aplicaciones reales.

Zhou, B., Zhang, B., Liu, Y., & Xing, K. (2011). User Model Evolution Algorithm: Forgetting and Reenergizing User Preference. 2011 International Conference on Internet of Things and 4th International Conference on Cyber, Physical and Social Computing, 444–447. doi:10.1109/iThings/CPSCom.2011.71