CommencerCommencer gratuitement

Classifier le sentiment des critiques

À présent que vous avez calculé les enchâssements, il est temps de calculer les distances cosinusoïdales et d'extraire l'étiquette la plus similaire.

Pour ce faire, vous définirez une fonction appelée find_closest(), qui peut être utilisée pour comparer les intégrations entre un vecteur et plusieurs autres, et renvoyer la distance la plus proche et son indice. Vous passerez ensuite en revue les avis et utiliserez find_closest() pour trouver la distance la plus proche pour chaque avis, en extrayant l'étiquette classée à l'aide de l'index.

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

Cet exercice fait partie du cours

Introduction à l'intégration avec l'API OpenAI

Afficher le cours

Instructions

  • Définissez une fonction appelée find_closest() qui renvoie la distance et l'indice de l'intégration la plus similaire à query_vector.
  • Utilisez find_closest() pour trouver la distance la plus proche entre les encastrements de chaque revue et le site class_embeddings.
  • Utilisez le site 'index' de closest pour sous-ensembler sentiments et extraire le site '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