Por @Alvy — 12 de Septiembre de 2006

Recommenders06Ya estoy en Bilbao en Recommenders06, el curso de verano sobre «El Presente y Futuro de los Sistemas de Recomendación» que organiza la gente MyStrands. Somos unas 100 personas en total (~60% académicos, resto industria). Debido a los horarios del vuelo he llegado con las sesiones ya empezadas y me he perdido la presentación, la primera charla y parte de la segunda (aunque he rescatado lo posible de los apuntes). Para los interesados, la documentación completa se colgará en la web oficial una vez terminado el evento.

También se puede leer sobre las sesiones en inglés en el Blog de Recommenders06.

(Estoy tomando notas a ratos, sobre la marcha, así que esto no será muy exhaustivo, tal vez apuntes generales y frases que me resulten destacadas.)

Sesiones de la mañana

La presentación ha corrido a cargo de Mauri Lazkano, del SPRI, Ramón López de Mántaras del IIIA-CSIC y Francisco Martín de MyStrands.

La primera charla ha sido ¿Qué es un sistema de recomendación? por parte de Juntae Kim de la Dongguk University, una introducción general a la historia de estos sistemas y los diferentes tipos que existen.

Temas abiertos en los Sistemas de Recomendaciones de John Riedl, de University of Minesota, ha revisado algunos asuntos como los abusos y fraudes en sistemas de recomendación (tanto por parte de comerciantes como de individuos); las relaciones entre recomendadores y comercio eletrónico; los sistemas híbridos (recomendaciones tradicionales + palabras claves, tags, etc.) y la relación entre sistemas de recomendación y privacidad (ha mencionado los recientes problemas de AOL al respecto). También ha hablado de los sistemas de recomendación basados en grupos de gente, no solo en individuos. La frase: «The Social Web will be powered by recommender systems» (La Web Social funcionará a base de sistemas de recomendación). Uno de los ejemplos: MovieLens, un recomendador de películas.

Dentro de Sistemas de Personalización y Recomendación la charla de Barry Smith, del University College de Dublín trata sobre Personalización Dinamica, enfocada principalemente a dispositivos de Internet móvil. Ha dado algunos datos sobre lo complicado que es que estos sistemas funcionen de forma práctica, debido al pequeño tamaño de sus pantallas, lo difícil que resulta escribir y lo incómodo de la navegación. Se calcula la «distancia de click» como el número de saltos que hay que dar para llegar a algo útil (ej. comprar una entrada de cine) que suele estar entre 15 y 30, números demasido altos. Además, el gran volumen de contenidos hace que una gran parte no esté accesible en «poco tiempo de navegación» (un estudio dice que menos del 25% de algunos portales móviles está a menos de 30 segundos de navegación). Los sistemas de personalización pueden reducir el problema adivinando los «siguientes clicks» (entre 10 y 12) con bastasnte fiabilidad.

Tecnologías de Recomendación Basadas en Conocimiento es la presentación de Alexander Felfernig de la Universität Klagenfurt. Estos sistemas de «bases de conocimiento» se aprovechan de un más amplio conocimiento del «dominio» de la situación en vez de los filtros típicos o colaborativos, por ejemplo, un sistema de recomendaciones financieras, cámaras digitales, servicios de soporte técnico, etc. No tienen problemas típicos como el «arranque en frío» de otros sistemas de recomendaciones (la clásica situación en que mientras no mucha gente usándolos, no funcionan bien). Ha contado algunos casos de cómo estos sistemas ayudan a equipos de personas de fuerzas de venta a trabajar más rápido y mejor y acertar más con sus recomendaciones a los clientes finales.

El Recomendador de MyStrands es el título de la charla de Jim Shur, de MyStrands, la explicación práctica de cómo funciona un «sistemas de recomendación en el MundoReal™. La charla describe la «anatomía» o arquitectura de un sistema de recomendaciones, en este caso el que MyStrands creó para recomendar música. El sistema parte de la información de las canciones favoritas del usuario, en base a la lista de lo que escucha a diario, canciones que ha comprado u otras fuentes. En base a esto se crea una enorme matriz numérica que relaciona todas las canciones, artistas y usuarios. Tras aplicar unos filtros personalizados, basados en el historial del usuario y otros factores, se generan las recomendaciones. La matriz general, llamada UMA almacena todas las canciones, y es donde se buscan las correlaciones o «relaciones» entre canciones mediante algoritmos matemáticos. Para ser más eficientes las principales recomendaciones se precalculan todas por adelantado. Se emplean los metadatos (género, año, tags, popularidad, etc.) y otros datos generados por el usuario en su «historial» (veces que ha escuchado una canción, veces que la ha saltado, en qué listas las ha puesto). Finalmente se aplican algunos filtros para personalizar más a gusto del usuario («no quiero flamenco», «sólo música que pueda comprar en iTunes Music Strore», «sólo artistas conocidos»). La arquitectura técnica esá montada con Apache / Tomcat / Servlets, mediante PCA, sin base de datos, simple y escalable, con todos los servidores configurados igual, de modo que la caché es capaz de almacenar unos 250.000 resultados en memoria con un ratio de aciertos del ~93%.

Las Características de un Sistemas de Recomendaciones de Alto Volumen es el título de la charla de Mike Mull de Yahoo aplicada a sus servicios de música. Literalmente: millones de usuarios, millones de ítems, miles de millones de ratings y de canciones escuchadas. Yahoo lleva unos cuatro o cinco años almacenando esta información para generar mejores recomendaciones, especialmente los ratings o puntuaciones que la gente da a canciones, vídeos, etc. Algunos problemas reales son que la gente, ante un rating de 1 a 5 estrellas, tiende a votar simpre el 4, votar sólo lo que le gusta pero ignorar lo que no le gusta, etc. Gran parte de los cálculos relativos a las recomendaciones se hacen off-line, de forma precalculada para ganar tiempo. Luego se utilizan en Yahoo Music y la radio online «personalizada» (LAUNCHcast). Están basados en afinidades detectadas entre artistas, canciones, álbumes, y usuarios. Los recálculos completos necesitan muchas horas, a veces días, de modo que se hacen sólo una vez a la semana, coincidiendo con los martes que suelen ser los días en que se dan a conocer nuevas canciones en la industria musical. El sistema gestiona unas 590 recomendaciones por segundo de promedio para diferentes servicios de Yahoo, con picos de hasta 1.200, que se resuelven en aproximadamente 1,5 segundos por recomendación. Algunos de los problemas típicos con que se han encontrado incluyen: diferencias en catálogos musicales, incluyendo criterios editoriales y los popularidad, y diferentes sistemas de DRM.

Sesiones de la tarde

Las sesiones de la tarde incluyen un grupo de estudiantes destacados que están realizando trabajos de investigaciónl.

Comienza Claudio Baccigalupo del IIIA-CISC con Cómo funciona un sistema de recomendación de listas de canciones. Explica que uno de los criterios importantes que a veces se pasa por alto en los sistemas de recomendación musicales son las listas (playlists) de canciones y el orden de las canciones dentros de esas listas, algo que por ejemplo los DJs valoran mucho. Esta técnica llamada CBR y es similar a la que se ha usado a veces para renocimiento del lenguaje. Se puede ver una demo de esta técnica en los laboratorios de MyStrands (labs.mystrands.com, sección Case-based Reasoning for Playlist Recommendation).

Ralf Jung de la Saarland University investiga sobre Notificaciones de Audio en Entornos Multiusuario, que es la forma un tanto técnica de referirse a música y melodías de aviso/alerta como las de los móviles o el «correo nuevo», cuando se combinan con el ruido ambiente y hay mucha gente usándolas a la vez.

Maria Nunez de la Universite de Montpellier II trabaja sobre Sistemas de Recomendación basados en Reputación Psicológica Humana. Tradicionalmente en los sistemas de redcomendación la reputación no representa los aspectos psicológicos importantes. Sus estudios consideran que para interactuar mejor en las comunidades virtuales ese tipo de información supondría una ventaja. Algunos sistemas de reputación como Amazon o eBay son bien conocidos. iKarma sería un ejemplo de red social de profesionales donde la gente se registra, se les asignan unos tags o etiquetas sobre sus áreas de conocimientos y pueden ser valorados por otras personas psicológicamente y con comentarios. «Tu reputación te precede» sería el lema aquí. Algo parecido se aplica en BuddySpace, una especie de mensajería aumentada con funciones sociales. La representación explícita de estados («estoy contento», «no estoy de buen humor») se utiliza en algunos sistemas de mensajería o blogs pero no es muy común todavía. Otra posibilidad es que sean los miembros de un grupo los que hagan ratings periódicos del estado de ánimo de otros miembros, actualizando de ese modo su perfil de reputación psicológica.

Nava Tintarev de la University of Aberdeen trabaja sobre Cómo explicar las recomendaciones, que es uno de los problemas típicos de estos sistemas: el usuario recibe una recomendación pero quiere entender por qué le ha sido recomendado algo, por ejemplo un libro. La razones típicas son: porque es parecido a otra obra, porque es del mismo autor, porque tratan del mismo tema, etc. Entre las razones para explicar las recomendaciones están la confianza y la transparecia en el sistema, lo cual puede tener a la vez efectos persuasivos y eficientes.

A continuación hay una sesión con dos ponentes, Evaluando Recomendadores sociales y Cómo Protegerse de Ataques Maliciosos.

Bamshad Mobasher, de la DePaul University trata el tema de los Sistemas de Recomendación Seguros. Desde el punto de vista teórico, hay muchos tipos posibles de «ataques» colaborativos en un sistema de recomendación. El más típico es el shilling o manipulación para promocionar un ítem (un objeto en una subasta, una noticia en un sistema de noticias tipo Digg, un producto en la sección de recomendados de una tienda) y el nuke o ataque para conseguir justamente lo contrario. Estos ataques se encajan dentro de lo que se denominan «modelos de ataques» que se suelen hacer variar para hacerlos pasar desaparecibidos (aleatorios, metódicos, amor-odio, etc). Los atacantes suelen seleccionar un conjunto de ítems sobre que votan o valoran para promocionar de forma asociada el ítem deseado, mientras que también seleccionan y votan ítems de relleno de forma más o menos aleatoria para despistar. Pueden llegar incluso a segmentar y hacer que ciertos ítems sean asociados de forma artificial sólo para ciertos grupos de usuarios (ej. para fans de las películas de Star Wars.) Se realizaron algunos ataques de ejemplo a MovieLens con éxito. ¿Las posibles soluciones? Por un lado, la Ley de los Grandes Números está de parte de los sistemas de recomendación. Por otro, las soluciones pasan por un cálculo más explícito de la confianza de la información suministrada. Por otro, las recomendaciones híbridas pueden ser más seguras que las que se basan en un solo criterio. También se pueden identificar los atacantes mediante perfiles en base a ciertos atributos y eliminar al menos los ataques más comunes o efectivos. Vigilar las desviaciones sobre los promedios típicos en los ratings, votos, etc. puede ser suficiente en muchos caos. Clam o «Collaborative Spam» (Spam colaborativo) es el nombre que se ha dado a este tipo de ataques.

Jim Shur, de MyStrands reemplaza a Rick Hangartner para presentar la Evaluación de las Listas de Canciones, que es el «cómo funcionan» las recomendaciones de música basadas en listas. Los fundamentos son poder ir algo más allá de «los gustos de las masas» para conseguir mejores recomendaciones. Ese «más allá» puede conseguirse por medios teóricos y también conociendo algo sobre gustos musicales. Otros factores a tener en cuenta son la capacidad de asimilar lo que es nuevo, reconociendo lo novedoso o popular frente a lo «raro» (el famoso efecto de la larga cola) y también el resistir a los ataques maliciosos. En el caso de MyStrands, se combinan las listas intencionadas (como las que forman los discos comerciales) con las listas de reproducción reales de la gente (las canciones que realmente escuchan) y otros factores, creándose diversas asociaciones que se pueden analizar. Es un modelo matemático que en realidad aprende sin supervisión. Este modelo se puede reforzar mediante observaciones de lo que realmente hace la gente.

Llegó el turno de la Mesa Redonda con varios de los ponentes seleccionados que participaron durante el día. Se plantean algunos temas y los asistentes pueden preguntar al respecto. Los temas generales son la relación entre teoría e ingeniería, detalles tecnológicos, del aspecto social de las recomendaciones y de la parte económica de este tipo de proyectos.

Hay fotos en Flickr de algunos de los asistentes, con el tag recommenders06. Todas las mías están disponibles con licencia Creative Commons by-sa-nc, en el álbum Recommenders06. (Si alguien las necesita con más resolución se las puedo pasar).

[Si alguno de los asistentes tiene correcciones o matices sobre los textos, o direcciones web de referencia que añadir que por favor utilice el formulario de correo.]

(Nota: MyStrands es uno de los proyectos en los que estoy involucrado personalmente como inversor y asesor desde hace casi un par de años. Ver Full-Disclosure.)

Compartir en Flipboard Publicar / Tuitear