LoslegenKostenlos starten

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

<Kurs>Einführung in Embeddings mit der OpenAI API</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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