Wydajność modelu na twoich danych
W tym ćwiczeniu przećwiczysz ocenę istniejącego modelu na własnych danych. Celem jest zbadanie wydajności modelu dla konkretnej etykiety encji – PRODUCT. Jeśli model poprawnie klasyfikuje dużą część encji PRODUCT (np. ponad 75%), nie musisz go doszkalać na przykładach PRODUCT. W przeciwnym razie warto rozważyć trenowanie modelu, aby poprawić jego skuteczność w przewidywaniu encji PRODUCT.
W tym ćwiczeniu skorzystasz z dwóch recenzji z zestawu danych Amazon Fine Food Reviews. Dostęp do tych recenzji masz przez listę texts.
Model en_core_web_sm jest już dla ciebie załadowany – możesz wywołać go za pomocą nlp(). Model został już uruchomiony na liście texts, a documents – lista kontenerów Doc – jest dostępna do użycia.
To ćwiczenie jest częścią kursu
Przetwarzanie języka naturalnego z użyciem spaCy
Instrukcje do ćwiczenia
- Utwórz listę
target_entitieszawierającą wszystkie encje z każdego dokumentu wdocumentsi dodaj krotkę (tekst encji, etykieta encji) tylko wtedy, gdy w tekście encji pojawia sięJumbo. - Dla każdej krotki w
target_entitiesdodajTruedo listycorrect_labels, jeśli etykieta encji (drugi element krotki) toPRODUCT; w przeciwnym razie dodajFalse.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)