Výkon modelu na tvých datech
V tomto cvičení si procvičíš vyhodnocení existujícího modelu na vlastních datech. Cílem je zjistit, jak si model vede u konkrétního štítku entity – PRODUCT. Pokud model dokáže správně klasifikovat velkou část entit PRODUCT (například více než 75 %), není potřeba ho na příkladech těchto entit dále trénovat. V opačném případě bys měl/a zvážit dotrénování modelu, aby se jeho přesnost při předpovídání entit PRODUCT zlepšila.
Pro toto cvičení použiješ dvě recenze z datasetu Amazon Fine Food Reviews. Najdeš je v seznamu texts.
Model en_core_web_sm je už načtený – přistoupíš k němu voláním nlp(). Model byl spuštěn na seznamu texts a k dispozici máš seznam documents obsahující kontejnery Doc.
Toto cvičení je součástí kurzu
Zpracování přirozeného jazyka s knihovnou spaCy
Pokyny k cvičení
- Sestav seznam
target_entitiesze všech entit z každého dokumentu vdocumentsa přidej do něj n-tici (text entity, štítek entity) pouze tehdy, pokud text entity obsahuje slovoJumbo. - Pro každou n-tici v
target_entitiespřidej do seznamucorrect_labelshodnotuTrue, pokud je štítek entity (druhý prvek n-tice) rovenPRODUCT, jinak přidejFalse.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)