Friday, March 22, 2013

Survey of Data Mining Approaches to User Modeling for Adaptive Hypermedia

Los modelos de usuario pueden ser creados ya sea dirigidos por el usuario (los modelos son creados directamente en base a información que el usuario proporciona directamente) o en un enfoque automático (el sistema controla el proceso de creación del modelo de usuario de manera oculta). Se tienen dos conjuntos de características, primero los adaptables que deben reducirse al mínimo (edad, género, color favorito, etc.) y segundo, los adaptivos que deben ser creados por un proceso de aprendizaje (temas favoritos, patrones de comportamiento, etc.)

Se mencionan como sitios importantes para User Modeling:

  • User Modeling and User-Adapted Interaction.
  • International Conference on User Modeling.
  • IEEE Transactions on Neural Networks.
  • Workshop of Intelligent Techniques for Web Personalization (part of IJCAI International Joint Conference of Artificial Intelligence).
  • International Workshop on Knowledge Discovery on the WEB (WEBKDD, part of the ACM SIGKDD).

Primero, queda definido el modelado del usuario como un conjunto de estructuras de información diseñadas para representar al menos uno de los siguientes elementos:

  • Representación de objetivos, planes, preferencias, tareas o habilidades de uno o más tipos de usuarios.
  • Representación de características comunes relevantes de usuarios pertenecientes a subgrupos de usuarios o estereotipos específicos.
  • Clasificación del usuario en uno o más subgrupos o estereotipos.
  • Almacenamiento del comportamiento del usuario.
  • Formación de suposiciones sobre el usuario basado en su historial.
  • Generalización de historiales de interacción de muchos usuarios en los grupos.

El proceso básico para la generación automática del modelo de usuario es la siguiente:

  1. Recolección de datos
  2. Pre-procesamiento/extracción de información
  3. Descubrimiento de patrones
  4. Validación e interpretación

La siguiente figura ilustra el proceso:

image

Algunos de los retos al llevar a cabo el modelado de usuario son: se requieren grandes cantidades de datos, etiquetar los datos para el aprendizaje supervisado y la complejidad computacional. Dependiendo de la técnica de aprendizaje empleada, se capturan distintas relaciones entre los datos. Se debe localizar qué patrones deben ser capturados para crear un servicio adaptivo.

A lo largo del artículo se analizan técnicas de aprendizaje no supervisado y de aprendizaje supervisado empleadas para el modelado de usuario.

Aprendizaje no supervisado

a) Clustering

Primero inicia con clustering que trata de estructurar un conjunto de instancias sin clasificar creando conceptos basado en las similitudes de los datos. Los conceptos encontrados deben cubrir a todos los datos y se deben de asegurar que la similitud de los ejemplos dentro de un concepto sea maximizada mientras que la similitud entre ejemplos de distintos conceptos sea minimizada. Se puede llevar a cabo hard-clustering y fuzzy-clustering. En el primero, cada ejemplo sólo puede pertenecer a un concepto. En el segundo, los ejemplos pueden pertenecer a más de un concepto y se lleva registro de un grado de pertenencia.

Los algoritmos de hard-clustering se pueden clasificar en jerárquicos y no jerárquicos. Los primeros consisten en crear una estructura jerárquica (como un árbol) resultando en una serie de particiones anidadas. Los no jerárquicos también se les conocen como particionales y obtienen un número en particular de clusters en un solo paso.

Los principales algoritmos no jerárquicos son: k-means y self-organizing maps (SOM). Por otra parte, los algoritmos no jerárquicos tienen problemas trabajando con ejemplos multidimensionales debido a que constantemente no se cuentan con suficientes datos para hacer relevantes a todas las relaciones, debido a esto se crearon los algoritmos jerárquicos. Existen dos tipos de algoritmos jerárquicos: aglomerantes y divisivos. La diferencia entre ambos es que los aglomerantes crean una jerarquía de abajo hacia arriba (bottom-up) mientras que los divisivos crean una contraria (top-down). De manera general, se menciona que los divisivos son menos eficientes computacionalmente.

Para los algoritmos difusos (fuzzy), el principal es conocido como fuzzy C-means. La técnica es muy parecida a k-means pero se guarda una matriz de pertenencia que asocia a cada ejemplo a un cluster con cierto grado.

Las dos áreas de clustering mencionadas son: clusters de uso y clusters de páginas. El primero, establece grupos de usuarios con patrones de navegación similares. El conocimiento obtenido se ha usado para inferir perfiles demográficos para llevar a cabo segmentaciones de mercado para aplicaciones de comercio electrónico o para contenido en web personalizado. El segundo tipo, descubre grupos de páginas con contenido relacionado. Esta información es usada en motores de búsqueda y proveedores de asistencia en web. Por el lado de UM, la característica principal es que se usan valores no numéricos por lo que se obtienen mayormente datos relacionales.

El principal problema para la aplicación de clustering es el decidir qué concepto de distancia será utilizado. En general, se requiere de un conocimiento del problema para definirlo. En el caso de UM, el problema es que los valores presentados no son numéricos por lo que las representaciones hechas tienden a perder parte del significado semántico original. Por otra parte, los algoritmos no jerárquicos asumen que se conoce de antemano el número de grupos y siendo que en general esto no ocurre, se deben aplicar heurísticas para determinarlo. Por último, se menciona que no se han explotado por completo los usos de los algoritmos difusos.

La siguiente tabla muestra algunos modelos de usuarios basados en clustering:

image

Por otra parte la siguiente tabla muestra algunos ejemplos de fuzzy clustering:

image

b) Reglas de asociación

Una de las principales aplicaciones es la captura de páginas accedidas en conjunto. Normalmente se emplean para tareas de recomendación. La principal limitante consiste en que no capturan la secuencialidad de antecedente y consecuente además de la información sobre temporalidad. La secuencialidad captura el orden en que un usuario lleva a cabo un conjunto de acciones que permite predecir el consecuente que se presentará al tener una acción actual. La temporalidad sirve para no sólo predecir una acción sino el momento en que se llevará a cabo. La siguiente tabla muestra algunos ejemplos de aplicaciones:

image

Aprendizaje supervisado

a) Árboles de decisión / Reglas de clasificación

Se emplean para clasificar usuarios y/o documentos para propósito de personalizar la información presentada. Los árboles pueden lidiar con datos con errores o con parámetros faltantes. Los árboles se emplean típicamente para labores de clasificación y para implementar tareas de recomendación. Las reglas de clasificación se emplean para modelar el comportamiento del usuario. Una de las principales limitantes radica en que se depende enteramente de la calidad de los datos disponibles. En problemas multidimensionales, el tiempo de respuesta de los árboles puede ser muy grande. Algunos ejemplos del uso árboles se muestra en la siguiente tabla:

image

Por otro lado, la siguiente tabla muestra el uso de reglas de clasificación para UM:

image

b) KNN

Este tipo de algoritmos se emplea efectivamente para labores de recomendación de elementos nuevos basado en el comportamiento previo del usuario. Sin embargo, al ser un algoritmo de clasificación, también puede ser usado para esa tarea, principalmente para inicializar de cierta forma a un nuevo usuario. Las principales limitantes son las dependencias de los resultados respecto al valor de k y la métrica elegida. En general, se requiere experimentación y conocimiento sobre el funcionamiento del sistema para llevar a cabo la elección. El valor de k debe ser grande para ser más tolerante al ruido (que se presenta constantemente en el caso de los datos para UM). Sin embargo, el incrementar el valor de k, también implica un incremento en el tiempo para computar. Algunos ejemplos que han usado estos algoritmos se muestran en la siguiente tabla:

image

c) Redes neuronales

Estas redes son capaces de obtener un significado de datos imprecisos o complejos. No se requiere de la definición de una métrica. Se han empleado para clasificación y recomendación de forma que agrupan a los usuarios con características similares creando así perfiles y estereotipos. La principal ventaja para usar este tipo de algoritmos es que no requieren ningún tipo de heurística. Las principales desventajas son el tiempo requerido para el entrenamiento y la cantidad de datos requerida. El tiempo de entrenamiento es un impedimento para la creación de modelos dinámicos. La siguiente tabla muestra algunas aplicaciones:

image

d) Máquinas de soporte vectorial (SVM)

Debido a su capacidad para trabajar con datos multidimensionales, se emplean clasificar documentos para personalizar las recomendaciones en los motores de búsqueda. También se han usado para labores de clasificación. La principal limitación es la selección del kernel para el clasificador. Aunque existen algunos predefinidos que sirven para varios tipos de aplicaciones, se recomienda crear uno específico. Hasta el momento de la escritura de este artículo, solo se había empleado SVM en documentos y no directamente en los usuarios. Algunos ejemplos se muestran en la siguiente tabla:

image

Las características principales de los métodos revisados se conjuntan en la siguiente tabla:

image

En general, este artículo es un buen punto de partida pero ya es un tanto viejo por lo que hace falta ver las aplicaciones que se han hecho a partir de su escritura.

Frias-Martinez, E., Chen, S. Y., & Liu, X. (2006). Survey of data mining approaches to user modeling for adaptive hypermedia. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 36(6), 734–749. doi:10.1109/TSMCC.2006.879391

Friday, March 15, 2013

TUMS: Twitter-based User Modeling Service

En general TUMS es una herramienta en base a modelado de usuario que explota mensajes individuales de Twitter para inferir y proveer perfiles de usuario. La arquitectura general es la siguiente:

image

El primer módulo se encarga de seguir el nombre de usuario que se haya proporcionado para guardar sus mensajes. También contiene un módulo que constantemente se encuentra siguiendo medios tradicionales de noticias para registrar eventos. Dados los datos recolectados, se busca inferir los intereses del usuario y adherirlo a un par de vocabularios (Friend Of A Friend FOAF y Weighted Interest Vocabulary). Con esto se muestra cuánto interés tiene un usuario por una lista de temas. La siguiente figura muestra un ejemplo:

image

Para inferir los intereses se llevan a cabo los siguientes cuatro pasos:

  1. Se notifica al crawler que debe empezar a obtener información.
  2. Se enriquece la semántica de los mensajes del usuario al categorizar su tema, extrayendo hashtags y entidades.
  3. Si es posible, enlaza al mensaje con artículos de noticias relacionados y lo enriquece con la semántica extraída de ellos.
  4. Aplica diversas estrategias de modelado de usuario para general el perfil.

La siguiente tabla muestra los parámetros usados para las diferentes estrategias para la creación del modelo de usuario:

image

Se evaluaron mensajes de 1619 usuarios y se seleccionaron 50 entidades y 50 temas inferidos por el sistema para medir la precisión del sistema en cuanto a identificación y detección. Los resultados se muestran a continuación:

image

Como posibles aplicaciones de la herramienta se mencionan:

  • Recomendación de contenido
  • Explicación de las recomendaciones
  • Soporte para autores (como ejemplo se mencionan servicios como Zemanta)
  • Conciencia sobre privacidad

En conclusión, se mostraron varias estrategias para generar un modelado de usuario que tiene varias aplicaciones. Como observación, se podría explotar el hecho de las sub-redes de usuarios dentro de Twitter (perfiles asociados, redes de amistades) para mejorar el modelado de usuario y enriquecimiento con perfiles similares. Como nota, la herramienta se puede encontrar en: http://wis.ewi.tudelft.nl/tums/

Tao, K., Abel, F., Gao, Q., & Houben, G. (2012). TUMS: twitter-based user modeling service. UWeb 2011 International Workshop at The Semantic Web: ESWC 2011, 1–15. Retrieved from http://www.springerlink.com/index/U2501U25R6518064.pdf

TwikiMe! User profiles that make sense.

Esta herramienta se encarga de obtener perfiles generados semánticamente en lugar del uso de conjuntos de palabras para apegarse más a los gustos de los usuarios. Todo se expresa en un vector reducido que representa los intereses de los usuarios.

Se emplea a Wikipedia como base de conocimientos semántica ya que contiene más de 3.5 millones de artículos existentes que son categorizados manualmente por humanos. Wikipedia contiene 23 categorías generales de las que se desprenden las demás y es a partir de éstas que se genera el vector.

La creación de los perfiles se muestra en la siguiente figura:

image

La primera fase se encarga de extraer las entidades de los mensajes del usuario. Se toman en cuenta todas aquellas entidades que se puedan ligar a artículos de Wikipedia. Se hace uso de una herramienta llamada WikipediaMiner.

En la segunda etapa se extraen las categorías de las entidades que fueron encontradas en la primera fase. Se sigue todo la jerarquía de las categorías hasta llegar a alguna de las 23 principales, en algunos casos se puede llegar a más de una categoría.

A cada entidad se le asigna un valor por cada una de las 23 categorías principales y esto se agrega en la etapa final.

Para llevar a cabo un análisis complementario, decidieron comparar la variación en las categorías de los perfiles respecto al tiempo. También se analiza la similitud entre el usuario y sus seguidores, amigos y los seguidores de los amigos. La siguiente tabla muestra los resultados:

image

La herramienta se encuentra en línea en la siguiente liga: http://twikime.l3s.uni-hannover.de/twikime.php

Como muestra se da una comparación del perfil de Barack Obama y del Dalai Lama:

image

En conclusión este modelado de usuario involucra de manera muy general los temas sobre los que habla un usuario, sin embargo podría también indicar la polaridad (positiva o negativa) de los mensajes. El uso de una parte semántica se muestra como buena forma de obtener información que puede ayudar a completar la información que se tiene.

Siehndel, P., & Kawase, R. (2012). TwikiMe! User profiles that make sense. 11th International Semantic Web Conference (ISWC2012).

Modeling Public Mood and Emotion: Twitter Sentiment and Socio-Economic Phenomena

El estudio trata de mostrar el impacto de los patrones públicos de estado de ánimo afectan en lo macroscópico los indicadores económicos y sociales entre el 1 de agosto y el 20 de diciembre de 2008. Se emplea un corpus de 9,664,952 mensajes. Estos datos son complementados con una línea de tiempo de los sucesos políticos, culturales, sociales, económicos y naturales ocurridos en el mismo periodo de tiempo. La distribución de la información se muestra a continuación:

image

Por medio de una herramienta psicométrico (Profile of Mood States POMS), se mapea el estado de ánimo de los usuarios dentro de 6 categorías que son: Tensión, Depresión, Enojo, Vigor, Fatiga y Confusión. La herramienta original consta de 65 adjetivos medidos a través de un cuestionario pero fue modificada para incluir 793 términos para que hubiera una mayor posibilidad de encajar con lo encontrado en los mensajes.

Se lleva a cabo una normalización previa a la clasificación del estado de ánimo de los mensajes por medio de los siguientes pasos:

  • Separación de los términos individuales según sus fronteras definidas por espacios en blanco.
  • Borrado de todos los símbolos no alfanuméricos (comas, puntos, guiones, etc.)
  • Conversión de todos los términos a minúsculas.
  • Eliminación de 214 palabras comunes.
  • Lematización de los términos restantes.

Se llevan a cabo unas series de tiempo para analizar el progreso de los estados conforme transcurren los días. Se observó que la variación (o desviación) era inversamente proporcional al número de mensajes que se captaban por día como se muestra en la siguiente figura:

image

Dentro de los eventos observados (elección presidencial de Estados Unidos, colapso de bancos a nivel internacional, precio elevado del petróleo, inicio de la recesión económica), se pudieron mapear a una emoción en concreto aunque hubo situaciones en las que se traslapaban las situaciones, afectando los resultados.

Hacen varias interpretaciones de las cadenas de emociones y de cómo es que se van acumulando. Queda como hipótesis el decir que Twitter afecta los estados de ánimo haciendo que las corrientes se desplieguen entre las redes de conocidos.

El estudio tiene también un enfoque de ser una alternativa al uso de aprendizaje automático para llevar a cabo análisis de sentimientos o minería de opiniones. Se usa a Twitter como una fuente de información sin tomar en cuenta aspectos específicos de la red social. Falta una comparativa general frente a otro tipo de técnicas (incluidos los análisis mediante aprendizaje automático).

Bollen, J., Pepe, A., & Mao, H. (2011). Modeling public mood and emotion: Twitter sentiment and socio-economic phenomena. Proceedings of the Fifth International AAAI Conference on Weblogs and Social Media, 450–453. Retrieved from http://www.aaai.org/ocs/index.php/ICWSM/ICWSM11/paper/viewFile/2826/3237

Thursday, March 7, 2013

Conferencias sobre User Modeling

Éstas son algunas conferencias sobre user modeling:

  • User Modeling, Adaptation, and Personalization (UMAP)
    • Long Papers
      • Personalized Network Updates: Increasing Social Interactions and Contributions in Social Networks
      • Property-Based Interest Propagation in Ontology-Based User Model
      • A Comparative Study of Users’ Microblogging Behavior on Sina Weibo and Twitter
      • Users and Noise: The Magic Barrier of Recommender Systems
    • Short Papers
      • A Multi-faceted User Model for Twitter
      • User Modelling Ecosystems: A User-Centred Approach
    • Doctoral Consortium
      • Towards a Generic Model for User Assistance
      • Detecting, Acquiring and Exploiting Contextual Information in Personalized Services
      • Multi-source Provenance-aware User Interest Profiling on the Social Semantic Web
      • Ubiquitous Fuzzy User Modeling for Multi-application Environments by Mining Socially Enhanced Online Traces
  • International World Wide Web Conference (WWW)
    • Sesiones:
      • Behavioral Analysis & Content Characterization in Social Media
      • Community Detection in Social networks
      • Web User Behavioral Analysis and Modeling
    • Main
      • How Effective Is Targeted Advertising?
      • Dynamical Classes of Collective Attention in Twitter
      • We Know What @You #Tag: Does the Dual Role Affect Hashtag Adoption?
      • Bimodal Invitation-Navigation Fair Bets Model for Authority Identification in a Social Network
      • Modeling and Predicting Behavioral Dynamics on the Web
      • Are Web Users Really Markovian?
    • Companion
      • Web-Scale User Modeling for Targeting
      • Exploiting User Profile Information for Answer Ranking in CQA
      • Finding Expert Users in Community Question Answering
      • User Profile Integration Made Easy-Model-Driven Extraction and Transformation of Social Network Schemas
      • A User Profile Modelling Using Social Annotations: A Survey
  • Special Interest Group on Information Retrieval (SIGIR)
    • Modeling and Measuring the Impact of Short and Long-Term Behavior on Search Personalization
    • Search, Interrupted: Understanding and Predicting Search Task Continuation
    • Language Intent Models for Inferring User Browsing Behavior
    • Personalized Click Shaping through Lagrangian Duality for Online Recommendation
    • Modeling User Posting Behavior on Social Media
    • Friend or Frenemy? Predicting Signed Ties in Social Networks
    • Cognos: Crowdsourcing Search for Topic Experts in Microblogs
    • Collaborative Personalized Tweet Recommendation
  • International Conference on Advances in Human-oriented and Personalized Mechanisms, Technologies, and Services (CENTRIC)
    • Secciones
      • User-centric supporting mechanisms
      • User-centric advanced applications
    • User Modeling and Attention Support: Towards a Framework of Personalization Techniques
    • Personalized Mobile Services Using Weighted Instance Based Learner for User Profiling
  • International Conference on Human-Computer Interaction
    • My Personal User Interface: A Semantic User-Centric Approach to Manage and Share User Information
    • Experience Explorer: Context-based Browsing of Personal Media
    • Standardizing User Models
    • User Modeling through Unconscious Interaction with Smart Shop
    • Extraction of User Interaction Patterns for Low-usability Web Pages
  • Conferencias que llegan a tocar el tema aunque no se enfocan completamente en ello:
    • ACM International Conference on Ubiquitous Computing
    • ACM SIGCHI Conference on Human Factors in Computing Systems
    • International Semantic Web Conference
    • IADIS Multi Conference on Computer Science and Information Systems
    • International Conference on Human Factors in Computing & Informatics
    • International Conference on Embedded and Ubiquitous Computing
    • ACM Conference on Recommender Systems
    • Conference on Human-Computer Interaction (INTERACT)
    • IEEE/WIC/ACM International Conference on Web Intelligence
    • International Conference on Web Information Systems and Technologies (WEBIST)