最も類似した商品を見つける
埋め込み同士の類似度を計算できることは、Embedding アプリケーションにおける重要なステップです。この演習では、以前に扱った products という辞書のリストに戻ります。このリストには、先ほど作成した短い商品説明の埋め込みが含まれています。
これらの埋め込み済みの説明と、あるテキストを比較して、最も類似した説明を特定します。
numpy は np としてインポート済みで、scipy.spatial から distance が利用できます。単一の入力から埋め込みを作成できる create_embeddings() 関数は、すでに定義済みで利用可能です。
この演習はコースの一部です
OpenAI API ではじめる Embeddings 入門
演習の手順
- カスタム関数
create_embeddings()を使ってテキスト"soap"を埋め込み、単一の埋め込みリストを取り出します。 query_embeddingとproduct内の各埋め込みとのコサイン距離を計算します。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(____)