始める無料で始める

最も類似した商品を見つける

埋め込み同士の類似度を計算できることは、Embedding アプリケーションにおける重要なステップです。この演習では、以前に扱った products という辞書のリストに戻ります。このリストには、先ほど作成した短い商品説明の埋め込みが含まれています。

これらの埋め込み済みの説明と、あるテキストを比較して、最も類似した説明を特定します。

numpynp としてインポート済みで、scipy.spatial から distance が利用できます。単一の入力から埋め込みを作成できる create_embeddings() 関数は、すでに定義済みで利用可能です。

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

OpenAI API ではじめる Embeddings 入門

コースを見る

演習の手順

  • カスタム関数 create_embeddings() を使ってテキスト "soap" を埋め込み、単一の埋め込みリストを取り出します。
  • query_embeddingproduct 内の各埋め込みとのコサイン距離を計算します。
  • distances にあるコサイン距離を使って、検索テキストに最も類似した商品の 'short_description' を見つけて出力します。

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

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

# Embed the search text
search_text = "soap"
search_embedding = ____

distances = []
for product in products:
  # Compute the cosine distance for each product description
  dist = ____(search_embedding, ____)
  distances.append(dist)

# Find and print the most similar product short_description    
min_dist_ind = ____
print(____)
コードを編集して実行