TensorFlow Recommender

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 Recommender(TFRS)は、レコメンデーション システムモデルを構築するためのライブラリです。

データの準備、モデルの作成、トレーニング、評価、デプロイなど、レコメンデーション システムを構築するすべてのワークフローで役立ちます。

Keras に基づいて構築されており、簡単に使用方法を習得し、複雑なモデルを柔軟に構築できます。

TFRS により、次のことができるようになります。
  • 柔軟なレコメンデーション取得モデルを構築して評価できる。
  • アイテム、ユーザー、コンテキスト情報をレコメンデーション モデルに自由に組み込める。
  • 複数のレコメンデーション対象を一緒に最適化するマルチタスク モデルをトレーニングできる。
TFRS はオープンソースであり、GitHub で入手できます。

詳しくは、ムービー レコメンデーション システムの構築方法に関するチュートリアルをご覧ください。API リファレンスについては、API ドキュメントをご確認ください。