En la introducción se mencionó, que un motor de recomendaciones puede predecir las preferencias del usuario y así ahorrarle tiempo. El sistema puede hacer esto en función de lo que los usuarios han demostrado anteriormente de hacia que se sienten atraídos (lo que más les gusta a los usuarios), lo que les ha gustado a los usuarios similares a ellos (los usuarios se dividen en varios segmentos según sus preferencias) o una combinación de las primeras opciones Al recopilar todos estos datos, podemos tener información relevante para su interés seleccionado.
El sistema de recomendaciones se vuelve más preciso a medida que aumenta la cantidad de elementos calificados por los usuarios. Además, cuanto más preciso sea el motor, más usuarios se animarán a usarlo. Como resultado, parece que construir un sistema válido es una tarea decisiva.
Un sistema de recomendación es un esquema que predice la calificación de un elemento por un usuario y, al hacerlo, puede elegir la mejor opción para él o ella.
Hay dos principales enfoques: filtrado colaborativo (CF, del inglés collaborative filtering) y basado en contenido (CB, del inglés content-based). En la primera, CF, la recomendación se basa en calificaciones de usuarios similares a la actual. En la última, CB, las recomendaciones se basan en las descripciones de los elementos que el usuario calificó previamente.
Ambos enfoques tienen sus ventajas y sus inconvenientes.
CF sufre de un problema de arranque en frío. Es más evidente cuando se lanza un nuevo elemento, ningún usuario lo habrá calificado previamente, por lo que el sistema no lo recomendará, o cuando haya un nuevo usuario que no haya calificado ningún elemento, el sistema no se puede compararlo con ningún otro usuario. Además, encontrar un conjunto de usuarios afines no siempre es una tarea fácil, ya que la probabilidad de que varios usuarios califiquen los mismos elementos es baja. CB carece de novedad y necesita guardar la descripción del contenido para cada elemento.
Pero las recomendaciones descubiertas por la CF son fortuitas. Sin embargo, para CB, el problema del arranque en frío se resuelve haciendo que un nuevo usuario complete una breve encuesta.
Se han hecho esfuerzos para combinar ambos enfoques de varias maneras con el fin de minimizar los inconvenientes. Estas técnicas incluyen cambiar entre los dos enfoques, ponderar la salida de ambos esquemas, usarlos en cascada, etc.
Las redes bayesianas se vuelven muy útiles al pensar en modelar nuestro sistema de Recomendaciones. Una red bayesiana es un gráfico acíclico dirigido donde los nodos representan un conjunto de variables aleatorias y los arcos representan dependencias directas entre las variables. La fuerza de la relación entre ellos se cuantifica por la distribución de probabilidad condicional asociada con cada nodo.