CommencerCommencer gratuitement

Classifier le sentiment d’un avis

Maintenant que vous avez calculé les embeddings, il est temps de calculer les distances cosinus et d’extraire le label le plus similaire.

Vous allez définir une fonction appelée find_closest() qui permet de comparer les embeddings entre un vecteur et plusieurs autres, puis de renvoyer la distance la plus proche et son index. Vous parcourrez ensuite les avis et utiliserez find_closest() pour trouver la distance la plus proche pour chaque avis, en extrayant le label classé à l’aide de l’index.

Les objets class_embeddings et review_embeddings que vous avez créés dans l’exercice précédent sont à votre disposition, ainsi que reviews et sentiments.

Cet exercice fait partie du cours

Introduction aux embeddings avec l’API OpenAI

Afficher le cours

Instructions

  • Définissez une fonction appelée find_closest() qui renvoie la distance et l’index de l’embedding le plus similaire au query_vector.
  • Utilisez find_closest() pour trouver la distance la plus proche entre les embeddings de chaque avis et les class_embeddings.
  • Utilisez le 'index' de closest pour sous‑sélectionner sentiments et extraire le 'label'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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}')
Modifier et exécuter le code