Personnaliser les modèles spaCy

Traitement du langage naturel avec spaCy

Azadeh Mobasher

Principal data scientist

Pourquoi entraîner des modèles spaCy ?

  • Très utiles pour des cas d'usage NLP généraux
  • Mais ils n'ont pas forcément vu des données de domaines spécifiques lors de l'entraînement, p. ex.
    • Données Twitter
    • Données médicales

Exemple de NER dans le domaine médical

Traitement du langage naturel avec spaCy

Pourquoi entraîner des modèles spaCy ?

 

  • Meilleurs résultats sur votre domaine
  • Indispensable pour la classification de textes spécifique au domaine

 

Avant de commencer l'entraînement, posez-vous ces questions :

  • Les modèles spaCy sont-ils assez performants sur nos données ?
  • Notre domaine comporte-t-il de nombreuses étiquettes absentes des modèles spaCy ?
Traitement du langage naturel avec spaCy

Performance des modèles sur nos données

  • Les modèles spaCy sont-ils assez performants sur nos données ?
  • Oxford Street n'est pas correctement classé avec l'étiquette 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')]
Traitement du langage naturel avec spaCy

Étiquettes de sortie dans les modèles spaCy

  • Notre domaine comporte-t-il de nombreuses étiquettes absentes des modèles spaCy ?

Exemple de NER : domaine courant vs médical

Traitement du langage naturel avec spaCy

Étiquettes de sortie dans les modèles spaCy

 

Si un entraînement personnalisé est nécessaire, procédez ainsi :

  • Rassembler des données propres à votre domaine
  • Annoter ces données
  • Choisir de mettre à jour un modèle existant ou d'en entraîner un de zéro
Traitement du langage naturel avec spaCy

Passons à la pratique !

Traitement du langage naturel avec spaCy

Preparing Video For Download...