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
Anleitung zur Übung
- Erstelle eine Liste
target_entitiesmit allen Entitäten für jedes derdocuments, und hänge ein Tupel aus (Entitätstext, Entitätslabel) nur dann an, wennJumboim Entitätstext vorkommt. - Für jedes Tupel in
target_entitieshängeTruean die Listecorrect_labels, wenn das Entitätslabel (zweites Element im Tupel)PRODUCTist, andernfalls hängeFalsean.
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)