LoslegenKostenlos loslegen

Modellleistung auf deinen Daten

In dieser Übung übst du, ein vorhandenes Modell auf deinen Daten zu evaluieren. Hier soll die Modellleistung für ein bestimmtes Entitätslabel untersucht werden: PRODUCT. Wenn ein Modell einen großen Anteil der PRODUCT-Entitäten korrekt klassifizieren kann (z. B. mehr als 75 %), musst du das Modell nicht mit Beispielen für PRODUCT-Entitäten weitertrainieren. Andernfalls solltest du ein Training in Betracht ziehen, um die Vorhersageleistung für PRODUCT-Entitäten zu verbessern.

Für diese Übung verwendest du zwei Rezensionen aus dem Amazon Fine Food Reviews-Datensatz. Du kannst auf diese Rezensionen über die Liste texts zugreifen.

Das Modell en_core_web_sm ist bereits für dich geladen. Du kannst es mit nlp() aufrufen. Das Modell wurde bereits auf die Liste texts angewandt, und documents, eine Liste von Doc-Containern, steht dir zur Verfügung.

Diese Übung ist Teil des Kurses

Natural Language Processing mit spaCy

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Liste target_entities mit allen Entitäten für jedes der documents, und hänge ein Tupel aus (Entitätstext, Entitätslabel) nur dann an, wenn Jumbo im Entitätstext vorkommt.
  • Für jedes Tupel in target_entities hänge True an die Liste correct_labels, wenn das Entitätslabel (zweites Element im Tupel) PRODUCT ist, andernfalls hänge False an.

Interaktive Übung

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

# Append a tuple of (entities text, entities label) if Jumbo is in the entity
target_entities = []
for doc in ____:
  target_entities.extend([(ent.____, ent.____) for ent in doc.____ if "Jumbo" in ent.text])
print(target_entities)

# Append True to the correct_labels list if the entity label is `PRODUCT`
correct_labels = []
for ent in target_entities:
  if ____[1] == "PRODUCT":
    correct_labels.append(____)
  else:
    correct_labels.append(____)
print(correct_labels)
Code bearbeiten und ausführen