CommencerCommencer 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 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

Afficher le cours

Instructions

  • Créez et ajoutez un composant EntityRuler au pipeline.
  • Ajoutez les motifs fournis au composant EntityRuler.
  • Exécutez le modèle sur le text donné et créez son conteneur Doc correspondant.
  • 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.____])
Modifier et exécuter le code