Pipelines spaCy

Traitement du langage naturel avec spaCy

Azadeh Mobasher

Principal Data Scientist

Pipelines spaCy

 

  • spaCy segmente d'abord le texte en jetons pour produire un objet Doc
  • Le Doc est traité en plusieurs étapes de la chaîne de traitement

 

import spacy
nlp = spacy.load("en_core_web_sm")

doc = nlp(example_text)
Traitement du langage naturel avec spaCy

Pipelines spaCy

  • Une pipeline est une suite d'étapes, ou acteurs sur les données
  • Exemple de pipeline spaCy pour NER :
    • Tokenisation
    • Repérage des entités nommées
    • Classification des entités nommées  

Exemple de pipeline spaCy pour la NER

print([ent.text for ent in doc.ents])
Traitement du langage naturel avec spaCy

Ajouter des étapes

 

  • sentencizer : composant de pipeline spaCy pour la segmentation en phrases.
text = " ".join(["This is a test sentence."]*10000)

en_core_sm_nlp = spacy.load("en_core_web_sm") start_time = time.time() doc = en_core_sm_nlp(text)
print(f"Finished processing with en_core_web_sm model in {round((time.time() - start_time)/60.0 , 5)} minutes")
>>> Finished processing with en_core_web_sm model in 0.09332 minutes
Traitement du langage naturel avec spaCy

Ajouter des étapes

 

  • Créer un modèle vide et ajouter l'étape sentencizer :
blank_nlp = spacy.blank("en")

blank_nlp.add_pipe("sentencizer")
start_time = time.time() doc = blank_nlp(text) print(f"Finished processing with blank model in {round((time.time() - start_time)/60.0 , 5)} minutes")
>>> Finished processing with blank model in 0.00091 minutes
Traitement du langage naturel avec spaCy

Analyser les composants de la pipeline

  • nlp.analyze_pipes() analyse une pipeline spaCy pour déterminer :
    • Les attributs définis par les composants
    • Les scores produits par un composant à l'entraînement
    • La présence de tous les attributs requis

 

  • Avec pretty=True, un tableau s'affiche au lieu de seulement retourner les données structurées.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Traitement du langage naturel avec spaCy

Analyser les composants de la pipeline

Résultat de la méthode analyze_pipes

Traitement du langage naturel avec spaCy

Passons à la pratique !

Traitement du langage naturel avec spaCy

Preparing Video For Download...