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]}")
TFRS(TensorFlow Recommenders)는 추천자 시스템 모델을 빌드하기 위한 라이브러리입니다.

추천자 시스템을 빌드하는 전체 워크플로(데이터 준비, 모델 공식화, 학습, 평가 및 배포)에 도움이 됩니다.

Keras에 기반하며 복잡한 모델을 빌드하는 유연성을 제공하면서 완만한 학습 곡선을 갖추는 것을 목표로 합니다.

TFRS를 통해 다음을 처리할 수 있습니다.
  • 유연한 추천 검색 모델을 빌드하고 평가합니다.
  • 항목, 사용자, 컨텍스트 정보를 추천 모델에 자유롭게 통합합니다.
  • 공동으로 여러 추천 객체를 최적화하는 멀티태스크 모델을 학습시킵니다.
TFRS는 오픈소스이며 GitHub에서 사용 가능합니다.

자세한 내용은 영화 추천자 시스템을 빌드하는 방법에 관한 튜토리얼을 참고하거나 API 참조용 API 문서를 확인하세요.