CommencerCommencer gratuitement

Intégrer des descriptions plus détaillées

L'une des dernières étiquettes prédites ne semblait pas représentative de l'examen ; cela est probablement dû au manque d'informations capturées lorsque nous n'intégrons que les étiquettes de classe. Cette fois-ci, les descriptions de chaque classe seront intégrées, afin que le modèle "comprenne" mieux que vous classez des critiques de restaurants.

Les objets suivants sont à votre disposition :

sentiments = [{'label': 'Positive',

               'description': 'A positive restaurant review'},

              {'label': 'Neutral',

               'description':'A neutral restaurant review'},

              {'label': 'Negative',

               'description': 'A negative restaurant review'}]


reviews = ["The food was delicious!",

           "The service was a bit slow but the food was good",

           "The food was cold, really disappointing!"]

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • Extrayez une liste contenant les descriptions des sentiments et intégrez-les.

Exercice interactif pratique

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

# Extract and embed the descriptions from sentiments
class_descriptions = ____
class_embeddings = ____
review_embeddings = create_embeddings(reviews)

def find_closest(query_vector, embeddings):
  distances = []
  for index, embedding in enumerate(embeddings):
    dist = distance.cosine(query_vector, embedding)
    distances.append({"distance": dist, "index": index})
  return min(distances, key=lambda x: x["distance"])

for index, review in enumerate(reviews):
  closest = find_closest(review_embeddings[index], class_embeddings)
  label = sentiments[closest['index']]['label']
  print(f'"{review}" was classified as {label}')
Modifier et exécuter le code