始める無料で始める

レコメンデーションエンジンへのユーザー履歴の追加

映画や購買履歴のレコメンデーションなど、多くのケースにおいて、1つのデータポイントだけを基準にしたレコメンデーションでは不十分です。このような場合、より精度の高く関連性の高いレコメンデーションを実現するためには、ユーザーの履歴のすべてまたは一部を埋め込む必要があります。

この演習では、ユーザーがこれまでに閲覧したすべての商品(user_history という辞書のリストに格納済み)を考慮できるよう、商品レコメンデーションシステムを拡張します。

以下のカスタム関数が利用可能です:create_embeddings(texts)create_product_text(product)find_n_closest(query_vector, embeddings, n=3)。また、numpynp としてインポート済みです。

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

OpenAI API で学ぶ埋め込み入門

コースを見る

演習の手順

  • 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'])
コードを編集して実行