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) est une bibliothèque permettant de créer des modèles système pour les outils de recommandation.

Elle vous accompagne tout au long de la procédure de création d'un système pour les outils de recommandation : préparation des données, formulation, entraînement, évaluation et déploiement du modèle.

Elle s'appuie sur l'API Keras. Rapidement maîtrisée, elle vous permet néanmoins de créer des modèles complexes.

TFRS permet d'effectuer les opérations suivantes :
  • Créer et évaluer des modèles de récupération de recommandations flexibles.
  • Incorporer librement des informations relatives à un élément et à un utilisateur, et des informations de contexte, dans des modèles de recommandation.
  • Entraîner des modèles multitâches qui, ensemble, optimisent plusieurs objectifs de recommandation.
TFRS est une bibliothèque Open Source disponible sur GitHub.

Pour en savoir plus, reportez-vous au tutoriel sur la création d'un système de recommandation de films ou consultez la documentation de référence de l'API.