Dostosowywanie modeli spaCy

Przetwarzanie języka naturalnego z użyciem spaCy

Azadeh Mobasher

Principal data scientist

Dlaczego trenować modele spaCy?

  • Sprawdzają się w ogólnych zastosowaniach NLP
  • Mogą jednak nie zawierać danych z określonych dziedzin, np.
    • Dane z Twittera
    • Dane medyczne

Przykład NER w dziedzinie medycznej

Przetwarzanie języka naturalnego z użyciem spaCy

Dlaczego trenować modele spaCy?

 

  • Lepsze wyniki w konkretnej dziedzinie
  • Niezbędne do klasyfikacji tekstu specjalistycznego

 

Przed rozpoczęciem trenowania należy zadać sobie następujące pytania:

  • Czy modele spaCy działają wystarczająco dobrze na naszych danych?
  • Czy nasza dziedzina zawiera wiele etykiet nieobecnych w modelach spaCy?
Przetwarzanie języka naturalnego z użyciem spaCy

Wydajność modeli na naszych danych

  • Czy modele spaCy działają wystarczająco dobrze na naszych danych?
  • Oxford Street nie jest poprawnie klasyfikowany jako GPE:
import spacy
nlp = spacy.load("en_core_web_sm")

text = "The car was navigating to the Oxford Street."
doc = nlp(text)
print([(ent.text, ent.label_) for ent in doc.ents])
[('the Oxford Street', 'ORG')]
Przetwarzanie języka naturalnego z użyciem spaCy

Etykiety wyjściowe w modelach spaCy

  • Czy nasza dziedzina zawiera wiele etykiet nieobecnych w modelach spaCy?

Przykład NER: dziedzina ogólna vs. medyczna

Przetwarzanie języka naturalnego z użyciem spaCy

Etykiety wyjściowe w modelach spaCy

 

Jeśli potrzebujemy niestandardowego trenowania modelu, wykonujemy następujące kroki:

  • Zbieramy dane z naszej dziedziny
  • Adnotujemy nasze dane
  • Decydujemy, czy zaktualizować istniejący model, czy trenować od podstaw
Przetwarzanie języka naturalnego z użyciem spaCy

Czas na ćwiczenia!

Przetwarzanie języka naturalnego z użyciem spaCy

Preparing Video For Download...