CommencezCommencez gratuitement

EntityRuler avec un modèle spaCy vierge

EntityRuler vous permet d'ajouter des entités à doc.ents. Il peut être combiné avec EntityRecognizer, un composant du pipeline spaCy pour la reconnaissance d'entités nommées, afin d'améliorer la précision, ou utilisé seul pour mettre en place un système de reconnaissance d'entités entièrement fondé sur des règles. Dans cet exercice, vous allez vous exercer à ajouter un composant EntityRuler à un modèle anglais spaCy vierge et à classer les entités nommées du text fourni en utilisant une approche purement fondée sur des règles.

Le paquet spaCy est déjà importé et un modèle anglais spaCy vierge est prêt à être utilisé sous le nom nlp. Une liste de patterns pour classer OpenAI et Microsoft en minuscules comme ORG a déjà été créée pour vous.

Cette activité fait partie du cours

Traitement du langage naturel avec spaCy

Voir le cours

Instructions de l’exercice

  • Créez et ajoutez un composant EntityRuler au pipeline.
  • Ajoutez les motifs fournis au composant EntityRuler.
  • Exécutez le modèle sur le text fourni et créez le conteneur Doc correspondant.
  • Affichez un tuple (texte et type des entités) pour toutes les entités dans le conteneur Doc

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

nlp = spacy.blank("en")
patterns = [{"label": "ORG", "pattern": [{"LOWER": "openai"}]},
            {"label": "ORG", "pattern": [{"LOWER": "microsoft"}]}]
text = "OpenAI has joined forces with Microsoft."

# Add EntityRuler component to the model
entity_ruler = nlp.____("entity_ruler")

# Add given patterns to the EntityRuler component
entity_ruler.____(____)

# Run the model on a given text
doc = nlp(____)

# Print entities text and type for all entities in the Doc container
print([(ent.____, ent.____) for ent in doc.____])
Modifier et exécuter le code