始める無料で始める

レコメンドエンジンにユーザー履歴を加える

映画や購入のレコメンドのように、多くのケースでは1つのデータポイントだけで次のレコメンドを決めるのは不十分です。こうした場合は、より正確で関連性の高いレコメンドのために、ユーザーの履歴データのすべて、または一部を埋め込みにする必要があります。

この演習では、これまでにユーザーが閲覧したすべての商品を考慮するように、商品レコメンドシステムを拡張します。これらは user_history という辞書のリストに保存されています。

次のカスタム関数を使用できます: create_embeddings(texts)create_product_text(product)find_n_closest(query_vector, embeddings, n=3)。また、numpynp としてインポート済みです。

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

OpenAI API ではじめる Embeddings 入門

コースを見る

演習の手順

  • user_history 内の各商品のテキスト特徴を結合し、生成した文字列を埋め込み、numpy を使って平均埋め込みを計算します。
  • user_history に含まれる商品を除外するように products をフィルタリングします。
  • products_filtered の各商品の特徴を結合し、生成した文字列を埋め込みます。

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

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

# Prepare and embed the user_history, and calculate the mean embeddings
history_texts = [____ for article in user_history]
history_embeddings = ____
mean_history_embeddings = ____

# Filter products to remove any in user_history
products_filtered = ____

# Combine product features and embed the resulting texts
product_texts = ____
product_embeddings = ____

hits = find_n_closest(mean_history_embeddings, product_embeddings)

for hit in hits:
  product = products_filtered[hit['index']]
  print(product['title'])
コードを編集して実行