TensorFlow Recommenders

import tensorflow_datasets as tfds
import tensorflow_recommenders as tfrs

# Load data on movie ratings.
ratings = tfds.load("movielens/100k-ratings", split="train")
movies = tfds.load("movielens/100k-movies", split="train")

# Build flexible representation models.
user_model = tf.keras.Sequential([...])
movie_model = tf.keras.Sequential([...])

# Define your objectives.
task = tfrs.tasks.Retrieval(metrics=tfrs.metrics.FactorizedTopK(
    movies.batch(128).map(movie_model)
  )
)

# Create a retrieval model.
model = MovielensModel(user_model, movie_model, task)
model.compile(optimizer=tf.keras.optimizers.Adagrad(0.5))

# Train.
model.fit(ratings.batch(4096), epochs=3)

# Set up retrieval using trained representations.
index = tfrs.layers.ann.BruteForce(model.user_model)
index.index_from_dataset(
    movies.batch(100).map(lambda title: (title, model.movie_model(title)))
)

# Get recommendations.
_, titles = index(np.array(["42"]))
print(f"Recommendations for user 42: {titles[0, :3]}")
TensorFlow Recommenders (TFRS) es una biblioteca para compilar modelos de sistemas de recomendaciones.

Facilita el flujo de trabajo completo de la compilación de sistemas de recomendación: preparación de datos, formulación de modelos, entrenamiento, evaluación e implementación.

Se basa en Keras y se enfoca en lograr una curva de aprendizaje suave manteniendo flexibilidad para compilar modelos complejos.

TFRS posibilita lo siguiente:
  • Compilar y evaluar modelos de recuperación de recomendación
  • Incorporar libremente información de contexto, artículos y usuarios en los modelos de recomendación
  • Entrenar modelos para varias tareas que permitan optimizar varios objetivos de recomendación en conjunto
TFP es de código abierto y está disponible en GitHub.

Para obtener más información, consulta el instructivo para compilar un sistema de recomendación de películas o revisa la documentación de la API para ver la referencia de la API.