Inizia subitoInizia gratis

Classificazione del sentiment delle recensioni

Ora che hai calcolato gli embeddings, è il momento di calcolare le distanze coseno ed estrarre l’etichetta più simile.

Lo farai definendo una funzione chiamata find_closest(), che può essere usata per confrontare gli embeddings tra un vettore e molti altri, restituendo la distanza più vicina e il relativo indice. Poi farai un loop sulle recensioni e userai find_closest() per trovare la distanza più vicina per ciascuna recensione, estraendo l’etichetta classificata usando l’indice.

Gli oggetti class_embeddings e review_embeddings che hai creato nell’esercizio precedente sono a tua disposizione, così come reviews e sentiments.

Questo esercizio fa parte del corso

Introduzione agli Embeddings con l'API di OpenAI

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una funzione chiamata find_closest() che restituisca la distanza e l’indice dell’embedding più simile a query_vector.
  • Usa find_closest() per trovare la distanza minima tra gli embeddings di ogni recensione e i class_embeddings.
  • Usa l’'index' di closest per filtrare sentiments ed estrarre il 'label'.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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}')
Modifica ed esegui il codice