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]}")
Executar em um notebook
A TensorFlow Recommenders (TFRS) é uma biblioteca para criar modelos de sistema de recomendações.

Ela ajuda com o fluxo de trabalho completo da criação de um sistema de recomendações: preparação de dados, elaboração de modelos, treinamento, avaliação e implantação.

A biblioteca é criada com base na Keras, e o objetivo é ter uma curva de aprendizado suave e, ao mesmo tempo, proporcionar flexibilidade para criar modelos complexos.

A TFRS possibilita:
  • a construção e a avaliação de modelos flexíveis de recuperação de recomendação;
  • a incorporação livre de itens, usuários e informações contextuais nos modelos de recomendação;
  • o treinamento de modelos multitarefa que otimizam em conjunto vários objetivos de recomendação.
A TFP é de código aberto e está disponível no GitHub.

Para saber mais, acesse o tutorial sobre como construir um sistema de recomendação de filmes ou confira os documentos da API para a Referência da API.