Personalizarea modelelor spaCy

Procesarea limbajului natural cu spaCy

Azadeh Mobasher

Principal data scientist

De ce să antrenăm modele spaCy?

  • Funcționează bine pentru cazuri generale de NLP
  • Dar pot să nu fi văzut date din domenii specifice, de ex.
    • Date de pe Twitter
    • Date medicale

Exemplu de NER în domeniu medical

Procesarea limbajului natural cu spaCy

De ce să antrenăm modele spaCy?

 

  • Rezultate mai bune pe domeniul specific
  • Esențial pentru clasificarea textului specific domeniului

 

Înainte de antrenare, puneți-vă următoarele întrebări:

  • Modelele spaCy performează suficient de bine pe datele noastre?
  • Domeniul nostru include multe etichete absente din modelele spaCy?
Procesarea limbajului natural cu spaCy

Performanța modelelor pe datele noastre

  • Modelele spaCy performează suficient de bine pe datele noastre?
  • Oxford Street nu este clasificat corect cu eticheta 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')]
Procesarea limbajului natural cu spaCy

Etichete de ieșire în modelele spaCy

  • Domeniul nostru include multe etichete absente din modelele spaCy?

Exemplu NER: domeniu comun vs. medical

Procesarea limbajului natural cu spaCy

Etichete de ieșire în modelele spaCy

 

Dacă avem nevoie de antrenare personalizată, urmăm acești pași:

  • Colectăm date din domeniul specific
  • Adnotăm datele
  • Decidem dacă actualizăm un model existent sau antrenăm unul de la zero
Procesarea limbajului natural cu spaCy

Să exersăm!

Procesarea limbajului natural cu spaCy

Preparing Video For Download...