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 basé sur des règles. Dans cet exercice, vous allez pratiquer l’ajout d’un composant EntityRuler à un modèle anglais spaCy vierge et classifier les entités nommées du text fourni en utilisant une approche purement à base de règles.
Le package 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 classifier OpenAI et Microsoft en minuscules comme ORG a déjà été créée pour vous.
Cet exercice fait partie du cours
Traitement du langage naturel avec spaCy
Instructions
- Créez et ajoutez un composant
EntityRulerau pipeline. - Ajoutez les motifs fournis au composant
EntityRuler. - Exécutez le modèle sur le
textdonné et créez son conteneurDoccorrespondant. - Affichez un tuple (texte de l’entité, type) pour toutes les entités du conteneur
Doc.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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.____])