CommencezCommencez 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 l'étiquette la plus similaire.

Vous allez définir une fonction appelée find_closest() qui servira à comparer l'embedding d'un vecteur à plusieurs autres et à retourner la distance la plus proche et son index. Vous parcourrez ensuite les avis et utiliserez find_closest() pour trouver la distance la plus faible pour chaque avis, puis extrairez l'étiquette classifiée à l'aide de l'index.

Les objets class_embeddings et review_embeddings que vous avez créés au dernier exercice sont à votre disposition, ainsi que reviews et sentiments.

Cette activité fait partie du cours

Introduction aux embeddings avec l'API d'OpenAI

Voir le cours

Instructions de l’exercice

  • Définissez une fonction appelée find_closest() qui retourne la distance et l'index de l'embedding le plus similaire au query_vector.
  • Utilisez find_closest() pour trouver la distance la plus faible entre l'embedding de chaque avis et class_embeddings.
  • Utilisez le 'index' de closest pour sous-ensemblonner sentiments et extraire le 'label'.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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