Kom igångKom igång gratis

Modellens prestanda på din data

I den här övningen tränar du på att utvärdera en befintlig modell på din data. Målet är att undersöka modellens prestanda för en specifik entitetsetikett, PRODUCT. Om modellen kan klassificera en stor andel av PRODUCT-entiteterna korrekt (t.ex. mer än 75 %) behöver du inte träna modellen på exempel med PRODUCT-entiteter. I annat fall bör du överväga att träna modellen för att förbättra dess förmåga att förutsäga PRODUCT-entiteter.

Du använder två recensioner från datamängden Amazon Fine Food Reviews. Du kan komma åt dessa recensioner via listan texts.

Modellen en_core_web_sm är redan inläst. Du kan använda den genom att anropa nlp(). Modellen har redan körts på listan texts, och documents – en lista med Doc-behållare – är tillgänglig för dig.

Den här övningen är en del av kursen

Naturlig språkbehandling med spaCy

Visa kurs

Övningsinstruktioner

  • Bygg en lista target_entities med alla entiteter från varje dokument i documents, och lägg till en tupel med (entitetens text, entitetens etikett) endast om Jumbo förekommer i entitetens text.
  • För varje tupel i target_entities, lägg till True i en lista correct_labels om entitetens etikett (det andra elementet i tupeln) är PRODUCT, annars lägg till False.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod