始める無料で始める

プロットのレコメンデーションエンジン

この演習では、あらすじの類似性に基づいて映画を推薦するレコメンデーションエンジンを作成します。引数として映画タイトル、類似度行列、indices Series を受け取り、最も類似した映画のリストを出力する get_recommendations() 関数が用意されています。indices はすでに提供されています。

また、複数の映画のあらすじが入った movie_plots Series も与えられています。あなたのタスクは、これらのプロットの tf-idf ベクトルに対するコサイン類似度行列を作成することです。

最後に、私のお気に入りの映画のひとつである The Dark Knight Rises に対して推薦を生成し、エンジンの性能を確かめます。

この演習はコースの一部です

Pythonで学ぶNLPの特徴量エンジニアリング

コースを見る

演習の手順

  • 英語の stop_words を指定して TfidfVectorizer を初期化し、tfidf という名前を付けます。
  • fit_transform() を用いて映画のあらすじデータにフィット・変換し、tfidf_matrix を作成します。
  • tfidf_matrix からコサイン類似度行列 cosine_sim を生成します。cosine_similarity() は使わないでください!
  • get_recommendations() を使って、'The Dark Knight Rises' の推薦を生成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize the TfidfVectorizer 
tfidf = ____(____='english')

# Construct the TF-IDF matrix
tfidf_matrix = tfidf.____(movie_plots)

# Generate the cosine similarity matrix
cosine_sim = ____(tfidf_matrix, tfidf_matrix)
 
# Generate recommendations 
print(get_recommendations(____, cosine_sim, indices))
コードを編集して実行