LoslegenKostenlos loslegen

Klassifizierung der Stimmung in Rezensionen

Nachdem du nun die Einbettungen berechnet hast, ist es an der Zeit, die Kosinusabstände zu berechnen und die ähnlichsten Bezeichnungen herauszufiltern.

Dazu definierst du eine Funktion namens find_closest(), mit der du die Einbettungen zwischen einem Vektor und mehreren anderen Vektoren vergleichen und den nächstgelegenen Abstand und seinen Index zurückgeben kannst. Dann läufst du in einer Schleife über die Rezensionen und verwendest find_closest(), um den geringsten Abstand für jede Rezension zu finden und das klassifizierte Label mithilfe des Indexes zu extrahieren.

Die Objekte class_embeddings und review_embeddings, die du in der letzten Übung erstellt hast, stehen dir zur Verfügung, ebenso wie die Objekte 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 namens find_closest(), die den Abstand und den Index der ähnlichsten Einbettung zu query_vector zurückgibt.
  • Nutze find_closest(), um den geringsten Abstand zwischen den Einbettungen der einzelnen Rezensionen und class_embeddings zu finden.
  • Benutze die 'index' von closest, um sentiments zu unterteilen und die 'label' zu extrahieren.

Interaktive Ü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