İnceleme duyarlılığını sınıflandırma
Artık gömlemeleri hesapladığına göre, kosinüs uzaklıklarını hesaplama ve en benzer etiketi çıkarma zamanı.
Bunu, bir vektör ile birden fazla diğer vektör arasındaki gömlemeleri karşılaştırıp en yakın uzaklığı ve dizinini döndüren find_closest() adlı bir fonksiyon tanımlayarak yapacaksın. Ardından incelemeler üzerinde döngü kurup her inceleme için en yakın uzaklığı bulmak üzere find_closest() fonksiyonunu kullanacak ve dizini kullanarak sınıflandırılmış etiketi çıkaracaksın.
Son egzersizde oluşturduğun class_embeddings ve review_embeddings nesneleri, ayrıca reviews ve sentiments senin için hazır.
Bu egzersiz, kursun bir parçasıdır
OpenAI API ile Embeddings’e Giriş
Egzersiz talimatları
query_vectorile en benzer gömlemenin uzaklığını ve dizinini döndürenfind_closest()adlı bir fonksiyon tanımla.- Her incelemenin gömlemeleri ile
class_embeddingsarasındaki en yakın uzaklığı bulmak içinfind_closest()fonksiyonunu kullan. closestiçindeki'index'değerini kullanaraksentimentsüzerinde alt kümeleme yap ve'label'değerini çıkar.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Define a function to return the minimum distance and its index
def find_closest(query_vector, embeddings):
distances = []
for index, embedding in enumerate(embeddings):
dist = distance.cosine(____, ____)
distances.append({"distance": dist, "index": index})
return ____(distances, key=lambda x: x["distance"])
for index, review in enumerate(reviews):
# Find the closest distance and its index using find_closest()
closest = ____(review_embeddings[____], ____)
# Subset sentiments using the index from closest
label = ____
print(f'"{review}" was classified as {label}')