Performanța modelului pe datele tale
În acest exercițiu, vei exersa evaluarea unui model existent pe propriile date. Scopul este să analizezi performanța modelului pentru o etichetă specifică de entitate, PRODUCT. Dacă un model clasifică corect un procent mare de entități PRODUCT (de exemplu, mai mult de 75%), nu este necesar să antrenezi modelul pe exemple de entități PRODUCT. În caz contrar, ar trebui să iei în considerare antrenarea modelului pentru a-i îmbunătăți performanța la predicția entităților PRODUCT.
Vei folosi două recenzii din setul de date Amazon Fine Food Reviews. Poți accesa aceste recenzii prin lista texts.
Modelul en_core_web_sm este deja încărcat. Îl poți folosi apelând nlp(). Modelul a fost deja rulat pe lista texts, iar documents – o listă de containere Doc – este disponibilă pentru utilizare.
Acest exercițiu face parte din cursul
Procesarea limbajului natural cu spaCy
Instrucțiuni pentru exercițiu
- Construiește o listă
target_entitiescu toate entitățile din fiecare document dindocumentsși adaugă un tuplu (textul entității, eticheta entității) doar dacăJumbose află în textul entității. - Pentru fiecare tuplu din
target_entities, adaugăTrueîntr-o listăcorrect_labelsdacă eticheta entității (al doilea element din tuplu) estePRODUCT, altfel adaugăFalse.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)