CommencerCommencer gratuitement

EntityRuler avec plusieurs motifs dans spaCy

EntityRuler vous permet d’ajouter des entités à doc.ents et d’améliorer les performances de la reconnaissance d’entités nommées. Dans cet exercice, vous allez vous entraîner à ajouter un composant EntityRuler à un pipeline nlp existant afin de garantir que plusieurs entités soient correctement classifiées.

Le modèle en_core_web_sm est déjà chargé et accessible via nlp. Vous pouvez accéder à un texte d’exemple dans example_text et utiliser nlp et doc pour accéder respectivement à un modèle spaCy et au conteneur Doc de example_text.

Cet exercice fait partie du cours

Traitement du langage naturel avec spaCy

Afficher le cours

Instructions

  • Affichez une liste de tuples contenant le texte et le type des entités dans example_text avec le modèle nlp.
  • Définissez plusieurs motifs pour faire correspondre en minuscules brother et sisters à l’étiquette PERSON.
  • Ajoutez un composant EntityRuler au pipeline nlp et ajoutez les patterns à EntityRuler.
  • Affichez les tuples (texte, type) des entités pour example_text avec le modèle nlp.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

nlp = spacy.load("en_core_web_md")

# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")

# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
            {"label": ____, "pattern": [{"lower": ____}]}]

# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)

# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])
Modifier et exécuter le code