Filtrado colaborativo El filtrado colaborativo es uno de los métodos para construir predicciones ( recomendaciones) en sistemas de recomendación que utiliza preferencias conocidas (estimaciones) de un grupo de usuarios para predecir preferencias desconocidas de otro usuario. [1] Su suposición básica es que aquellos que valoraron las cosas de la misma manera en el pasado tienden a dar valores similares a otras cosas en el futuro. [1] Por ejemplo, utilizando el filtrado colaborativo, una aplicación de música puede predecir qué tipo de música le gustará a un usuario , dada una lista incompleta de sus preferencias (me gusta y no me gusta). [2] Las previsiones se realizan individualmente para cada usuario, aunque la información utilizada se recopila de muchos participantes. De esta manera, el filtrado colaborativo difiere del enfoque más simple , que otorga una puntuación promedio para cada objeto de interés, por ejemplo, en función del número de votos emitidos por él. La investigación en esta área se lleva a cabo activamente en nuestro tiempo, lo que también se debe a la presencia de problemas no resueltos en el filtrado colaborativo.
En la era de la explosión de la información , los métodos de recomendación personalizados, como el filtrado colaborativo, son muy útiles, porque la cantidad de objetos incluso en una categoría (como películas, música, libros, noticias, sitios web) se ha vuelto tan grande que una sola persona no es poder verlos todos para elegir los correctos.
Los sistemas de filtrado colaborativo suelen utilizar un esquema de dos etapas [1] :
El algoritmo descrito anteriormente se construye con respecto a los usuarios del sistema.
También existe un algoritmo alternativo, inventado por Amazon [3] , construido con respecto a los artículos (productos) en el sistema. Este algoritmo incluye los siguientes pasos:
Como ejemplo, puede ver la familia de algoritmos Slope One
También existe otra forma de filtrado colaborativo que se basa en la observación implícita del comportamiento normal del usuario (a diferencia de la observación explícita, que recopila las calificaciones de los usuarios). En estos sistemas, observa lo que hizo un usuario determinado y lo que hicieron otros (qué música escuchó, qué videos vio, qué canciones compró) y usa los datos para predecir el comportamiento del usuario en el futuro, o predecir cuál será el al usuario le gustaría hacer si hay una cierta posibilidad. Estas predicciones hay que hacerlas según la lógica empresarial , ya que de nada sirve, por ejemplo, ofrecer a alguien comprar un archivo de música que ya tiene.
Hay 2 métodos principales que se utilizan para crear sistemas de recomendación: filtrado colaborativo y recomendaciones basadas en el contenido. También en la práctica, se utiliza un método híbrido para crear recomendaciones, que incluye una combinación de los métodos anteriores. El filtrado colaborativo, a su vez, también se divide en 3 enfoques principales (tipos) [4] :
Este enfoque es históricamente el primero en el filtrado colaborativo y se utiliza en muchos sistemas de recomendación. En este enfoque, se selecciona un subgrupo de usuarios similares a él para un usuario activo. La combinación de pesos y puntajes de subgrupos se utiliza para predecir puntajes de usuarios activos [5] . Este enfoque tiene los siguientes pasos principales:
Este enfoque proporciona recomendaciones mediante la medición de los parámetros de los modelos estadísticos para las calificaciones de los usuarios creados mediante métodos como las redes bayesianas , la agrupación en clústeres , los modelos semánticos latentes como la descomposición de valores singulares , el análisis semántico latente probabilístico , la distribución latente de Dirichlet y los modelos de toma de decisiones basados en Markov . [5] Los modelos se desarrollan utilizando minería de datos, algoritmos de aprendizaje automático para encontrar patrones basados en datos de entrenamiento. El número de parámetros en el modelo se puede reducir dependiendo del tipo usando el método de componentes principales .
Este enfoque es más complejo y produce predicciones más precisas, ya que ayuda a descubrir factores latentes que explican las puntuaciones observadas. [7]
Este enfoque tiene una serie de ventajas. Maneja matrices dispersas mejor que el enfoque basado en la adyacencia, lo que a su vez ayuda con la escalabilidad de grandes conjuntos de datos.
Las desventajas de este enfoque son la creación "cara" del modelo [8] . Existe una compensación entre la precisión y el tamaño del modelo, ya que se puede perder información útil debido a la reducción del modelo.
Este enfoque combina los enfoques basados en vecindarios y basados en modelos. El enfoque híbrido es el más común en el desarrollo de sistemas de recomendación para sitios comerciales, ya que ayuda a superar las limitaciones del enfoque original original (basado en el vecindario) y mejora la calidad de las predicciones. Este enfoque también supera el problema de la escasez de datos y la pérdida de información. Sin embargo, este enfoque es complejo y costoso de implementar y aplicar. [9]
Por regla general, la mayoría de los sistemas de recomendación comerciales se basan en una gran cantidad de datos (productos), mientras que la mayoría de los usuarios no califican los productos. Como resultado, la matriz artículo-usuario es muy grande y escasa, lo que presenta problemas a la hora de calcular las recomendaciones. Este problema es especialmente agudo para los sistemas nuevos y emergentes. [4] Además, la escasez de datos exacerba el problema del arranque en frío .
Con el aumento del número de usuarios en el sistema aparece el problema de la escalabilidad. Por ejemplo, con 10 millones de clientes y un millón de artículos , un algoritmo de filtrado colaborativo con la misma complejidad ya es demasiado complicado de calcular. Además, muchos sistemas deben responder instantáneamente a las solicitudes en línea de todos los usuarios, independientemente de su historial de compras y calificaciones, lo que requiere una escalabilidad aún mayor.
Los nuevos elementos o usuarios son un gran problema para los sistemas de recomendación. El enfoque basado en contenido soluciona parte del problema, ya que se basa en atributos en lugar de calificaciones para ayudar a incluir nuevos elementos en las recomendaciones a los usuarios. Sin embargo, el problema de proporcionar una recomendación para un nuevo usuario es más difícil de resolver. [cuatro]
La sinonimia es la tendencia de objetos similares e idénticos a tener nombres diferentes. La mayoría de los sistemas de recomendación no pueden detectar estas conexiones ocultas y, por lo tanto, tratan estos elementos como diferentes. Por ejemplo, "cine para niños" y "cine infantil" pertenecen al mismo género, pero el sistema los percibe como diferentes. [5]
En los sistemas de recomendación donde cualquiera puede calificar, las personas pueden calificar positivamente a sus sujetos y mal a sus competidores. Además, los sistemas de recomendación se han convertido en una gran influencia en las ventas y las ganancias desde que se usaron ampliamente en sitios comerciales. Esto da como resultado que vendedores sin escrúpulos intenten clasificar sus productos de manera fraudulenta y degradar a sus competidores. [cuatro]
El filtrado colaborativo se diseñó originalmente para aumentar la diversidad a fin de permitir a los usuarios descubrir nuevos productos entre un número infinito. Sin embargo, algunos algoritmos, en particular los basados en ventas y calificaciones, crean condiciones muy difíciles para la promoción de productos nuevos y poco conocidos, ya que son reemplazados por productos populares que llevan mucho tiempo en el mercado. Esto, a su vez, solo aumenta el efecto de “los ricos se hacen más ricos” y conduce a una menor variedad. [diez]
Los "cuervos blancos" son usuarios cuya opinión constantemente no coincide con la mayoría del resto. Debido a su sabor único, es imposible que recomienden nada. Sin embargo, estas personas tienen problemas para obtener recomendaciones en la vida real, por lo que actualmente no se está buscando una solución a este problema. [5]
El filtrado colaborativo es muy utilizado en servicios comerciales y redes sociales. El primer caso de uso es crear una recomendación de información interesante y popular basada en los "votos" de la comunidad. Servicios como Reddit y Digg son ejemplos típicos de sistemas que utilizan algoritmos de filtrado colaborativo.
Otro ámbito de uso es el de crear recomendaciones personalizadas para el usuario, en base a su actividad previa y datos sobre las preferencias de otros usuarios similares. Esta implementación se puede encontrar en sitios como YouTube , Last.fm y Amazon [3] , así como en servicios de geolocalización como Gvidi y Foursquare .
Sistemas de recomendación | |
---|---|
Conceptos |
|
Métodos y preguntas |
|
Implementaciones |
|
Investigar |
|