TensorFlow 推薦功能

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) 是用於建立推薦功能系統模型的程式庫。

在建構推薦功能系統的整個工作流程中 (包括準備資料、形成模型、訓練、評估和部署),這個程式庫都能派上用場。

這個程式庫是以 Keras 為基礎打造而成,旨在讓使用者能夠循序漸進輕鬆上手,同時彈性靈活地建構複雜模型。

TFRS 有下列用途:
  • 建構及評估彈性靈活的推薦內容擷取模型。
  • 在推薦模型中任意導入項目、使用者和關聯資訊
  • 訓練可共同最佳化多個推薦目標的多工處理模型
TFRS 為開放原始碼,可在 GitHub 上取得。

詳情請參閱電影推薦功能系統建構教學課程,或是查看 API 文件中提供的 API 參考資料。