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
Instructions de l’exercice
- Créez et ajoutez un composant
EntityRulerau pipeline. - Ajoutez les motifs fournis au composant
EntityRuler. - Exécutez le modèle sur le
textfourni et créez le conteneurDoccorrespondant. - 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.____])