Aan de slagBegin gratis

Reviews op sentiment classificeren

Nu je de embeddings hebt berekend, is het tijd om de cosinusafstanden te berekenen en het meest vergelijkbare label te bepalen.

Je doet dit door een functie find_closest() te definiëren, die je kunt gebruiken om de embeddings van één vector met meerdere andere te vergelijken en de dichtstbijzijnde afstand en bijbehorende index terug te geven. Vervolgens loop je over de reviews en gebruik je find_closest() om voor elke review de dichtstbijzijnde afstand te vinden, waarna je met de index het geclassificeerde label ophaalt.

De objecten class_embeddings en review_embeddings die je in de vorige oefening hebt gemaakt, zijn beschikbaar, net als reviews en sentiments.

Deze oefening maakt deel uit van de cursus

Introductie tot Embeddings met de OpenAI API

Bekijk cursus

Oefeninstructies

  • Definieer een functie find_closest() die de afstand en index teruggeeft van de meest vergelijkbare embedding met de query_vector.
  • Gebruik find_closest() om de kleinste afstand te vinden tussen de embeddings van elke review en de class_embeddings.
  • Gebruik de 'index' van closest om sentiments te subsetten en het 'label' op te halen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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}')
Code bewerken en uitvoeren