Filtros Colaborativos y Sistemas de Recomendación
-
Upload
gabriel-huecas -
Category
Education
-
view
14.337 -
download
6
description
Transcript of Filtros Colaborativos y Sistemas de Recomendación
Filtros Colaborativosy
Sistemas de Recomendación
G. HuecasJ. Salvachúa
Índice
• Un poco de historia: Groupware / Workflow• Introducción a Sistemas Recomendadores• Taxonomía vs. Folksonomías• Arquitectura SR
– Similitud– Predictores– Evaluación de SR
• SR Colaborativos• SR Basados en Contenidos• SR Híbridos• Bibliografía
Groupware
• El Groupware es un tipo de software colaborativo que ayuda a grupos de trabajo a realizar sus actividades a través de una red. Formalmente se puede definir al groupware de la siguiente manera:“Sistemas basados en computadoras que apoyan a grupos de personas que trabajan en una tarea común y que proveen una interfaz para un ambiente compartido”
Dave Chaffney[CHAFFEY]
Características Groupware
• Proveer de un ambiente de colaboración, en el que realmente se perciba que el trabajo en grupo se lleva a cabo.
• Mantener la información en un solo sitio común para todos los miembros.
• Interactuar con otros usuarios, de forma escrita, voz o video.
Funciones esenciales del Groupware: CCC
• La Comunicación, es la función mas importante del groupware, ya que es el medio en que la información es compartida.
• La Colaboración, utilizada para unir la cooperación y resolver problemas de negocios o alguna actividad empresarial. Proporciona la ventaja de resolver problemas de las asambleas tradicionales como: lugar y tiempo para la realización de la misma o la disponibilidad de información. Además de mejorar la eficiencia en la toma de decisiones con la contribución de todos los miembros del grupo.
• La Coordinación, es la acción de asegurar que el equipo esta trabajando eficientemente y en conjunto para alcanzar una meta. Esto incluye la distribución de tareas y revisión de su ejecución.
Workflow• Los Workflows son sistemas que ayudan a administrar y automatizar
procesos de negocios. Un workflow puede ser descrito como el flujo y control en un proceso de negocio.
• La WfMC (Workflow Management Coalition) define a los workflows como [4]:
"La automatización de un proceso de negocio, total o parcial, en la cual documentos, información o tareas son pasadas de un participante a otro para efectos de su procesamiento, de acuerdo a un conjunto de reglas establecidas."
• También definen lo que es un proceso de negocio:"Es un conjunto de uno o mas procedimientos o actividades directamente ligadas, que colectivamente realizan un objetivo del negocio, normalmente dentro del contexto de una estructura organizacional que define roles funcionales y relaciones entre los mismos."
Funciones proporcionadas por WF
• Asignación de tareas al personal.• Aviso al personal de tareas pendientes.• Permitir la colaboración en las tareas comunes.• Optimización de recursos humanos y técnicos,
alineándolos a la estrategia de la empresa.• Automatización de las secuencias de los procesos de
negocio y optimización de las mismas.• Agilización de los procesos de negocio y como resultado
un mejor servicio al cliente.• Control y seguimiento de dichos procesos
Sistemas de Recomendación
Sistema de Recomendación (I)
• Los Sistemas de Recomendación forman parte de un tipo especifico de técnica de filtro de información, los cuales presentan distintos tipos de temas o ítems de información (películas, música, libros, noticias, imágenes, paginas web, etc.) que son del interés de un usuario en particular.
• Generalmente, un Sistema de Recomendación compara el perfil del usuario con algunas características de referencia de los temas, y busca predecir el "ranking" o ponderación que el usuario le daría a un ítem que aún el sistema no ha considerado. Estas características pueden basarse en la relación o acercamiento del usuario con el tema o en el ambiente social del mismo usuario.
Mecanismos de Retroalimentación
• Cuando se crea un perfil del usuario, se crea utilizando dos formas o métodos en la recolección de características (implícitas o explicitas).– Explícita: Cuando se aplica la recomendación explícita,
el sistema otorga al usuario la oportunidad de calificar, dentro de un rango predefinido, los ítems que ha utilizado
– Implícita: El sistema obtiene retroalimentación implícita capturando la interacción del usuario sin que él lo note.
Recolección de Datos• Ejemplos de recolección de datos de forma explicita
– Solicitar al usuario que pondere en base a una escala proporcionada, algún tema en particular
– Solicitar al usuario que pondere un conjunto de temas de una lista de temas favoritos
– Presentar al usuario dos temas, y solicitarle que seleccione uno de ellos– Solicitar al usuario que cree una lista de temas de su preferencia
• Algunos ejemplos de recolección de datos de forma implícita– Guardar un registro de los temas que el usuario ha visto en una tienda online– Analizar el número de visitas que recibe un artículo– Guardar un registro de los artículos que el usuario ha seleccionado– Obtener un listado de los artículos que el usuario ha seleccionado o visto en su
computadora– Analizar las redes sociales de las que el usuario forma parte y de esta manera
conocer sus gustos y preferencias
Técnicas de Recomendación• Colaborativa, que acumula recomendaciones de usuarios sobre los ítems, identifica
similitudes entre usuarios y genera nuevas recomendaciones.• Demográfica, que clasifica a los usuarios en grupos y hace recomendaciones de acuerdo
con el grupo.• Basada en el contenido (es una ampliación del filtrado de información), que aprende el
perfil del usuario basado en las características de los ítems que él mismo ha jerarquizado y ofrece recomendaciones de acuerdo con su perfil. Esta técnica y la colaborativa crean un modelo a largo plazo, que van actualizando a medida que llegan evidencias.
• Basada en utilidad, que no construye generalizaciones a largo plazo, sino que compara la necesidad del usuario con el conjunto de opciones disponible, mediante una función de la utilidad de cada objeto para el usuario; esa función seria su perfil. Luego emplea técnicas de satisfacción de restricciones para escoger la mejor opción.
• Basada en el conocimiento, que dispone de información acerca de cómo un ítem satisface una necesidad del usuario y establece relación entre una necesidad y una recomendación. El perfil puede ser cualquier estructura de datos que soporte esta relación. Algunos sistemas han usado el razonamiento basado en casos para la recomendación.
[BURKE]
Algoritmos de Recomendación (I)
• En general, los algoritmos de recomendación deben encontrar la preferencia (likeliness), que se expresa en una de estas 2 formas: – Predicción: un valor numérico P(a,j) que predice la
preferencia del usuario activo (Ua), hacia el ítem (Ij), no usado aun por Ua.
– Recomendación: una lista de los N primeros ítems que el usuario Ua posiblemente prefiere, no usados aún por Ua, y se llaman los top-N.
Algoritmos de Recomendación (II)• Pueden basarse en el usuario (en la memoria), o en el ítem (en el
modelo).– Los algoritmos basados en el usuario usan estadísticas para buscar el
conjunto de los usuarios mas similares al Ua (vecinos cercanos, o nearest neighbors) y a continuación combinan las preferencias de esos vecinos para producir una predicción o recomendación (top-N) para Ua.
– Los algoritmos basados en los ítems suponen que un usuario estaría interesado en ítems similares a los que le interesaron antes a ese mismo usuario, y buscan entre el conjunto de ítems que el usuario ha usado y jerarquizado, calculan la similitud con el ítem objetivo, y seleccionan los k mas similares. También se les llama “basados en el modelo”, pues desarrollan primero un modelo de las opiniones de los usuarios, usando técnicas de aprendizaje automático [SARWAR00], [SARWAR01], [YU].
Algoritmos Recomendación (III)
• Uno de los algoritmos mas usado comúnmente en sistemas de recomendación es el Nearest Neighborhood (Acercamiento al Vecino mas Cercano). En una red social, un usuario particular usa un vecino con gustos e intereses similares que pueden ser encontrados calculándolos con la Pearson Correlation, recolectando las preferencias de los primeros N- vecinos para un usuario en particular, (pesado por su similitud), y se predice la preferencia del usuario usando ciertas técnicas.
Ejemplos de SR• Amazon.com (Pagina de compra por internet, incluye recomendaciones de productos) • Amie Street (Servicios de música) • Baynote (Servicio de recomendación vía web) • ChoiceStream (Sistema de recomendación de productos) • Collarity (Plataforma multimedia de recomendación) • Daily Me (Sistema de recomendación de noticias) • Genius (Servicio de música, forma parte de la tienda online de iTunes) • Last.fm (Sistema de música) • Loomia (Motor de contenido) • Strands (Tecnología de recomendación social) • Netflix (Servicio de alquiler de DVD) • Pandora (servicio de música) • Reddit (Sistema de recomendación de noticias) • Slacker (servicio de música) • StumbleUpon (Servicio web) • StyleFeeder (Busqueda personalizada de compras)
Taxonomía vs. Folksonomía (I)• Tradicionalmente, clasificar grandes cantidades de información
requiere de un riguroso proceso en el cual un grupo de expertos documentalistas, clasifica una serie de volúmenes de acuerdo a una taxonomía pre-existente, haciendo uso de un Vocabulario Controlado que permite mantener la precisión y autoridad en esta clasificación.
• Un sistema de clasificación social contradice todos estos principios: La clasificación social deja la puerta abierta para que cualquier persona agregue términos descriptivos, también conocidos como keywords o tags a los diferentes elementos de la colección, sin control en su vocabulario ni jerarquía en la organización.
• El resultado de esto es una clasificación plana, llena de ambigüedad y errores, pero con un gran dinamismo y flexibilidad para adaptarse a la mentalidad de los usuarios, lo que resulta útil para éstos.
Taxonomía vs. Folksonomía (II)
Taxonomía:● Control● Autoridad● Precisión● Jerarquía, clasificación● Búsqueda
Folksonomía:● Flexibilidad● Simpleza, popularidad● Utilidad● Plano, categorización● Exploración, serendipity
Folksonomías• Ventajas de las Folksonomies:
– Las folksonomies entregan información acerca de la gente que las crea, invitando a la participación.
– Tienen el potencial de nutrir una Web Semántica.– A nivel de empresa tienen el potencial de mejorar la categorización de
documentos.– Refleja directamente el lenguaje de los usuarios.
• Debilidades de las Folksonomies:– Polisemia– Palabras con múltiples significados– Sinonimia– Conceptos descritos con diferentes términos– Plurales y raíces: Gato vs gatos , Ciclismo vs Ciclista
SISTEMA DE RECOMENDACIÓN Y PERSONALIZACIÓN
Basado en presentación de Viviana L. Matos, Universidad Nacional del Sur
SR: Aplicación
WWW
Necesito informaciónde libros ¿ayuda?
SR
SR: Concepto
• Un Sistema de Recomendación es una herramienta que ayuda al usuario a obtener la información que necesita de acuerdo a sus preferencias– Un SR toma decisiones basado en información
disponible.– Un SR requiere de un método de filtrado de la
información.– Un SR se aplica en algún dominio determinado
(Ej: películas, música, restaurantes, email, e-commerce,..)
Arquitectura del SR
Perfil del Usuario
Recomendaciones
Sistema de Información(Data Source)
Usuario
Interactúa
Motor del Sistemade Recomendaciones
Módulo de Actualización del Perfil del Usuario
SR Colaborativos
• Mapea usuarios con intereses similares y luego crea recomendaciones sobre esa base
• Sugiere nuevos ítems o predice la utilidad de un cierto ítem para un usuario particular basado en los gustos previos del usuario y en las opiniones de otros usuarios con iguales intereses.
Item-Based Collaborative Filtering RecommendationAlgorithms. Sarwar et al. ACM Press
Proceso de Filtro Colaborativo
Tipos de Filtros Colaborativos
• Basado en Memoria– Utiliza el algoritmo del vecino más cercano para chequear
por similitud a los usuarios con respecto al usuario activo. Y combina las preferencias para determinar una predicción o lista de recomendaciones para el usuario activo.
• Basado en Modelo– No usan la matriz de ratings directamente. Usan un
esquema de aprendizaje mecánico para construir un modelo de valoraciones de usuarios. Ej: sistema de filtro colaborativo basado en ítem: Un usuario podría estar interesado en ítems que le gustaron y evitaría los ítems que no le gustaron.
Filtro Colaborativo Basado en Ítem• Sobre el conjunto de ítems que el usuario activo valoró,
computa cuán similar es el ítem recuperado con respecto a los ítems valorados por el ua, y elige los k más similares {i1, i2, ..., ik} y al mismo tiempo sus correspondientes similitudes {si1,si2,...,sik}.
Producto Escalar de Vectores
• Cuando θ es cero, los vectores apuntan en la misma dirección. Así, para valores de cercanos a cero, los vectores tienden a apuntar en la misma dirección
·cos·vuvu
Similitud entre Ítems
• Correlación de Pearson
• Similitud por Coseno
• Similitud por Coseno Ajustada
ji
jijijisim
·
·,cos),(
Uujju
Uuiiu
Uujjuiiu
RRRR
RRRRjisim
2
,
2
,
,,
,
Uuuju
Uuuiu
Uuujuuiu
RRRR
RRRRjisim
2
,
2
,
,,
,
Cálculo de la Predicción
• Suma ponderada (weighted sum)
• Regresión
Suma Ponderada
Se toman todos los elementos que el usuario ha votado. Se toma un elemento “x1” y para ese elemento se suman todos los coeficientes de similitud entre ese elemento y los elementos votados por el usuario, proporcionados al valor del voto. Siendo N cada elemento votado por el usuario Si,N la similitud entre los elementos i y N y Ru,N la valoración del usuario del elemento N:
NNi
NNuNi
iuS
RSP
,
,,
,
*
Regresión
Similar al modelo anterior, pero en lugar de sumar directamente las notas de los elementos similares se utiliza una aproximación basada en la recta de regresión. Con este método se intenta compensar un problema que se da al evaluar las similitudes mediante medidas del coseno o la correlación, y es que vectores con alta similitud pueden encontrarse distantes en sentido euclídeo. Se utiliza la misma fórmula que en el caso de la suma proporcionada pero sustituyendo Ru,N por
iN RR '
Predictores “slope-one” (I)
• Partiendo de dos Arrays vi y wi de longitud n se busca obtener la mejor predicción de w a partir de v. Tendrá la forma f(x) = x + b y deberá minimizar el error cuadrático medio∑i (vi + b − wi)2 .Derivando:
• Es decir, la diferencia media entre ambos arrays
n
vwb ii
Predictores “slope-one” (II)
• Diseño de las predicciones:• A partir de un conjunto X de datos de entrenamiento se
toman dos elementos cualquiera i,j con votaciones ui uj y se calcula la desviación media entre ambos (Sólo se consideran usuarios que hayan votado tanto i como j):
• Con lo que se tiene un array simétrico precalculado que es posible actualizar con cada nuevo elemento que se añada al sistema.
n
uudesv ij
ij ,
Predictores “slope-one” (III)
• La predicción para un usuario uj a partir del resto de usuarios será (Con Rj el conjunto de ítems relevantes):
jRi
iijj
udesvRtotal
P .
1
Predictor “slope-one” con pesos
• El predictor anterior no tiene en cuenta el número de notas que se han tomado. No es igual predecir la nota de un usuario sobre un ítem L a partir de los ratings de ese usuario de otros elementos J K si hay muchos mas usuarios que tienen el par de votos J-L que el par K-L. El elemento J es mucho mejor predictor que el elemento K en este caso. Analíticamente esta idea se introduce en la ecuación con el factor cj,i que es el número de evaluaciones de los ítems j,i
juSiij
juSiijiij
j c
cudesv
uP,
,,
Predictor “slope-one” Bi-Polar• Trabaja dividiendo la predicción en dos partes. Usa el algoritmo anterior una vez
para obtener una predicción de los elementos que han gustado al usuario y de los que no han gustado.
• El primer problema que plantea este sistema es establecer el umbral a partir del que se considera que un elemento gusta o disgusta. La idea intuitiva es establecer un umbral que sea la mitad de la escala de evaluación. Si la escala va de 1 a 10 los elementos por debajo de 5 se considerarían como evaluados negativamente y los otros son evaluados positivamente. Esta aproximación sería la adecuada si las evaluaciones de los usuarios fueran distribuidas uniformemente, Sin embargo el comportamiento real de los usuarios indica que existe un porcentaje elevado de votaciones superiores a la mitad de la escala. Por ello el valor del umbral se establece como la media de todas las notas dadas por el usuario.
• En la práctica este procedimiento supone doblar el número de usuarios, pero a la vez también reduce el número de elementos en el cálculo de las predicciones.
Métodos de Evaluación de Rendimiento
• No trivial• La bondad de los algoritmos dependen del dataset elegido• Los objetivos del SR pueden ser diversos
– Estimar con exactitud– No proporcionar recomendaciones erróneas– Múltiples tipos de medidas:
• que cubran todo el espectro de elementos del conjunto (cobertura),• que no se repitan,• que sean explicables…
– Principal objetivo de un SR (no cuantificable):la satisfacción del usuario.• un menor error cuadrático menor no es apreciado por el usuario.• otros parámetros: sensación de credibilidad que ofrezca el sistema, la interfaz de
usuario, la mejora del perfil al incluir nuevos votos...
Métodos de Evaluación de SR
• Métodos Estadísticos
• Métricas de Decisión
Métodos de Evaluación: Estadísticos
• El parámetro de evaluación más usado es el Error Medio Absoluto (MAE) (mejor cuanto menor MAE)
• Problema: el usuario sólo se interesa en los primeros N elementos de la recomendación, en el resto da igual el error cometido
• Ventaja: sencillo y muy estudiado• Variaciones:
– Error cuadrático medio (penaliza mayores errores)– Error absoluto normalizado (facilita comparaciones)
N
qpMAE
N
i ii
1
Métodos de Evaluación: Métricas• Evalúan cómo de efectivo es un sistema de predicción ayudando al
usuario a seleccionar los elementos mayor calidad,– es decir con qué frecuencia el sistema de recomendación efectúa
recomendaciones correctas• Asumen que el proceso de predicción es binario: o el elemento
recomendado agrada al usuario o no lo agrada• Sin embargo en la práctica se plantea el problema de evaluar esto• Posible solución: dividir el conjunto de datos en entrenamiento y test.
– Se trabaja con el conjunto de entrenamiento– posteriormente se evalúa el resultado comparando las recomendaciones
proporcionadas con las del conjunto de test.• Técnica útil,
– Los resultados dependen fuertemente del porcentaje de elementos relevantes que el usuario haya votado.
Métrica “Precision and Recall”
• La mas conocida• Utilizada en muchos tipos de sistemas de recuperación de
información.– Precision es la probabilidad de que un elemento seleccionado sea
relevante – Recall es la probabilidad de que sea seleccionado un elemento
relevante, • aunque en los sistemas de recomendación la “relevancia” es algo totalmente
subjetivo.
• Intuitiva para el usuario: establecer que un sistema tiene una precisión del 90% significa que de cada 10 elementos recomendados 9 serán buenas recomendaciones, algo que no queda claro proporcionando valores de error cuadrático medio.
Métrica ROC• ROC (Reciver operating characteristic): muy utilizada.• Proporciona una idea de la potencia de diagnóstico de un
sistema de filtrado.• Las curvas ROC dibujan la especifidad (Probabilidad de que un
elemento malo del conjunto sea rechazado por el filtro)• y la sensitividad (probabilidad de que un elemento bueno al azar
sea aceptado).• Si un elemento es bueno o malo viene dado por las valoraciones
de los usuarios. Las curvas se dibujan variando el umbral de predicción a partir del cual se acepta un elemento. El área bajo la curva se va incrementando si cuando el filtro es capaz de retener mas elementos buenos y menos malos.
Ventajas Filtros Colaborativos
• Permite recomendar contenidos difíciles de analizar
• Recomendar ítems basados en las preferencias del usuario
• Realizar recomendaciones válidas pero no esperadas, lo cual puede ser de gran utilidad
Desventajas Filtros Colaborativos
• Problema de Cold-Start– Problema del Usuario Nuevo (ó early rater)– Problema de Ítem Nuevo
• Problema de Dispersión (Sparsity)– Si el número de usuarios es pequeño en relación al volumen de
información en el sistema, se corre el riesgo de que el cubrimiento de ratings se vuelva muy disperso. Achicando la colección de ítems recomendables.
• Problema de Escalabilidad– A medida que la cantidad de usuarios y de ítems crece, también
crece la cantidad de cómputos de vecinos mas cercanos para la determinación de usuarios similares, y como los cálculos se hacen en tiempo real, el sistema puede colapsar.
Desventajas Filtros Colaborativos
• Problema de la Oveja Gris– Existen usuarios donde sus perfiles caen entre clases
existentes de usuarios, haciendo difícil determinar para ellos una recomendación adecuada.
• Problema de la Sinonimia– Se produce por la escasez de cualquier forma de
interpretación semántica. Ítems similares no se trataran de tal manera cuando se hagan las recomendaciones.
• Problema de la Subjetividad– Con respecto a la naturaleza de los ratings
Sistemas Basados en Contenido
• Recomienda ítems que son similares a los ítems que previamente valoró el usuario.
Matriz de Valoraciones – Escala: 1-5
Si te gustaron estos ítems, es muy probable que te gusten similares
SR Basado en Contenido
• Los ítems se definen según sus características. (Ej: palabras en el documento)
• El perfil de usuario se basa en cómo el usuario valora esas características.
• Este recomendador representa los documentos como las técnicas de IR, haciendo uso del espacio vectorial y los índices para representar usuarios y documentos.
Ventajas de SR Basados en Contenido
• Recomendación por contenido– Y no por opiniones subjetivas de otros usuarios.
• Se explica– El sistema puede generar explicaciones sobre la
recomendación que hizo en base al historial del usuario.
• No hay Dispersión (Sparsity)– Pues el modelado de la información está presente en
las características del documento y no necesitan proveerlas otros usuarios.
Desventajas SR Basados en Contenido
• Sobreespecialización– El usuario está limitado a que le recomienden ítems
similares a los que recomendó.• Subjetividad de los Contenidos.– Dificultad en dominios con contenido difícil de
analizar, (audio, gráficos, imágenes, video)• Problema del Usuario Nuevo.– El usuario tiene que valorar un número suficiente de
ítems para que el sistema pueda realmente entender sus preferencias.
Desventajas SR Basados en Contenido
• Representación del Perfil del Ítem– Para cada ítem se extraen ciertas características sobre las cuales se
evalúa la similitud.• Efecto Portfolio.
– Se da en dominios como recomendación de noticias, ya que es posible descartar noticias que pueden ser muy similares a previas, pero que al mismo tiempo presentan hechos nuevos e importantes.
• Problema Estabilidad vs Plasticidad.– Es difícil para el sistema aprender a adaptarse, a los cambios en el
perfil del usuario hasta no haber recolectado un número suficiente de ratings actualizados.
• Tarea Onerosa de tener que valorar.
Sistemas Híbridos
• Los sistemas híbridos explotan características de los sistemas Basados en Contenido y Colaborativos, debido a la naturaleza complementaria de ambos. Lo que se busca es sobrellevar los inconvenientes de ambos sistemas para obtener mejores recomendaciones.
• Para crear un sistema híbrido colaborativo basado en contenido, los perfiles de usuario se mantienen según el análisis de los contenidos de los ítems, y directamente se comparan esos perfiles para determinar las similitud entre usuarios para una recomendación colaborativa.
Sistemas Híbridos• Se han propuesto varios esquemas de
Sistemas Colaborativos basados en contenido, que pueden categorizarse en dos grupos– Combinación Lineal
– Combinación Secuencial (Ej Sistema FAB)
Matriz deValoraciones
Perfil deUsuario
Filtro Colaborativo
Filtro Basado en Contenido
FiltroCombinado
Perfil deUsuario
Filtro Colaborativo
Filtro Basado en Contenido
FiltroCombinado
Bibliografía• [AKAPA] http://www.akapa.com/member.html • [AVERY] Christopher Avery, Richard Zeckhauser. Recommender systems for
evaluating computer messages. Communications of the ACM, 40(3):88-89, March 1997
• [BALABANOVIC] Marko Balabanovíc and Yoav Shoham. Fab: Content-based, collaborative recommendation. Communications of the ACM, 40(3):66-72, March 1997.
• [BIGDATES] http://www.bigdates.com/ • [BRESSE] J. Bresse, D. Heckerman, and C. Kadie.Empirical analysis of predictive
algorithms for collaborative filtering. Proceedings of the UAI-98 Conference. Morgan Kaufmann, 1998.
• [BURKE] Burke Robin. Hybrid recommender systems: survey and experiments. User Modeling and User-Adapted Interaction. November 2002. Volume 12 Issue 4.
• [CHAFFEY] Chaffey Dave, Groupware, Workflow and Intranets. Reengineering the Enterprise with Collaborative Software. Chaffey Dave, Ed. Digital Press, 1998.
• [CISCO] http://www.cisco.com/warp/public/cc/pd/unco/persasst/
Bibliografía• [FREEDOMSPACE] http://www.myfreedomspace.com/ • [GOLDEN] http://www.goldencrater.com/software/epAssist/epAssist.html • [HORVITZ] Horvitz E.: Lumiere Project: Bayesian Reasoning for automated assistance.
Adaptive Systems & Interaction. Microsoft research. Redmond, Washington. • http://research.microsoft.com/~horvitz/lumiere.htm• [KAUTZ] Henry Kautz, Bart Selman, and Mehul Shah. Referral Web: Combining social
networks and collaborative filtering.Communications of the ACM, 40(3):63-65, March 1997.
• [KONSTAN] Joseph A. Konstan, Bradley N. Miller, David Maltz, Jonathan L. Herlocker, Lee R. Gordon, John Riedl. GroupLens: applying collaborative filtering to Usenet news. Communications of the ACM, 40(3):77-87, March 1997.
• [LINTON] Linton F., Charron, A. and Joy Debbie. Owl a Recommender System for Organization-Wide Learning.
• [LIVEPERSON] http://www.humanclick.com/community/pa.asp • [LOGILAB] http://www.logilab.org/narval/ • [LUCENT] http://www.lucent.com/
Bibliografía• [MACKAY] David J. Mackay Information Theory, Inference and Learning Algorithms,
Cambridge• [MOBONE] http://www.mobone.com/dir/site.html?c=77&s=78• [OMICRON] http://www.omicronsoft.com/Products/PersonalAssistant/ • [RESNICK] Paul Resnick, Hal R. Varian. Recommender systems. Communications of
the ACM, 40(3):56-58, March 1997. • [RUCKER] James Rucker, Marcos J. Polanco. Siteseer: personalized navigation for
the Web. Communications of the ACM, 40(3):73-76, March 1997.• [SARWAR00] Sarwar, B. M., Karypis, G., Konstan, J. A., and Riedl, J. "Analysis of
Recommendation Algorithms for E-Commerce". Proceedings of the 2nd ACM E-Commerce Conference (EC'00). Oct., 2000.
• http://www-users.cs.umn.edu/~sarwar/ec00.pdf • [SARWAR01] Sarwar, B. M., Karypis, G., Konstan, J. A., and Riedl, J. "Item-based
Collaborative Filtering Recommender Algorithms. Accepted for publication at the WWW10 Conference. May, 2001.http://www-users.cs.umn.edu/~sarwar/sdm.pdf
Bibliografía• [SEGARAN] Toby Segaran, Programming Collective Intelligence. O’Reilly• [SHELLTOYS] http://www.shelltoys.com/personal_assistant/index.html
• [SITEEXPERTS] http://www.siteexperts.com/assist/about.asp• [TERVEEN] Loren Terveen, Will Hill, Brian Amento, David McDonald,
Josh Creter. PHOAKS: a system for sharing recommendations. Communications of the ACM, 40(3):59-62, March 1997.
• [VIPDESK] http://www.vipdesk.com/info/about.asp• [WIKIPEDIA] http://es.wikipedia.org/wiki/Sistema_recomendador • [YAHOO] http://www.yahoo.com• [YU]Kai Yu, Zhong Wen Xiaowei Xu Martin Ester. Feature weighting and
instance slection for collaborative filtering. http://ifsc.ualr.edu/xwxu/publications/wim01.pdf