LoslegenKostenlos loslegen

Bewertungen nach Stimmung klassifizieren

Nachdem du die Embeddings berechnet hast, ist es Zeit, die Kosinus-Distanzen zu berechnen und das ähnlichste Label zu ermitteln.

Das machst du, indem du eine Funktion namens find_closest() definierst. Sie vergleicht die Embeddings zwischen einem Vektor und mehreren anderen und gibt die nächste Distanz sowie deren Index zurück. Anschließend iterierst du über die Reviews und verwendest find_closest(), um die jeweils nächste Distanz zu finden, und extrahierst mithilfe des Index das klassifizierte Label.

Die Objekte class_embeddings und review_embeddings, die du in der letzten Übung erstellt hast, stehen dir zur Verfügung, ebenso wie reviews und sentiments.

Diese Übung ist Teil des Kurses

Einführung in Embeddings mit der OpenAI API

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine Funktion find_closest(), die die Distanz und den Index des ähnlichsten Embeddings zum query_vector zurückgibt.
  • Verwende find_closest(), um die kleinste Distanz zwischen den Embeddings jedes Reviews und den class_embeddings zu finden.
  • Verwende den 'index' von closest, um sentiments zu subsetten und das 'label' zu extrahieren.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen