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
Övningsinstruktioner
- Bygg en lista
target_entitiesmed alla entiteter från varje dokument idocuments, och lägg till en tupel med (entitetens text, entitetens etikett) endast omJumboförekommer i entitetens text. - För varje tupel i
target_entities, lägg tillTruei en listacorrect_labelsom entitetens etikett (det andra elementet i tupeln) ärPRODUCT, annars lägg tillFalse.
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)