Kom igångKom igång gratis

Klassificera recensionssentiment

Nu när du har beräknat inbäddningarna är det dags att räkna ut cosinusavstånden och hitta den närmaste etiketten.

Du gör detta genom att definiera en funktion kallad find_closest(), som jämför inbäddningarna mellan en vektor och flera andra och returnerar det kortaste avståndet samt dess index. Sedan loopar du över recensionerna och använder find_closest() för att hitta det närmaste avståndet för varje recension, och extraherar den klassificerade etiketten via indexet.

Objekten class_embeddings och review_embeddings som du skapade i föregående övning finns tillgängliga, liksom reviews och sentiments.

Den här övningen är en del av kursen

Introduktion till inbäddningar med OpenAI API

Visa kurs

Övningsinstruktioner

  • Definiera en funktion kallad find_closest() som returnerar avståndet och indexet för den inbäddning som liknar query_vector mest.
  • Använd find_closest() för att hitta det närmaste avståndet mellan varje recensions inbäddningar och class_embeddings.
  • Använd 'index' från closest för att indexera sentiments och extrahera 'label'.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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}')
Redigera och kör kod