EntityRuler com modelo spaCy em branco
EntityRuler permite que você adicione entidades a doc.ents. Ele pode ser combinado com o EntityRecognizer, um componente do pipeline do spaCy para reconhecimento de entidades nomeadas, para aumentar a precisão, ou usado sozinho para implementar um sistema de reconhecimento de entidades puramente baseado em regras. Neste exercício, você vai praticar a adição de um componente EntityRuler a um modelo inglês spaCy em branco e classificar entidades nomeadas do text fornecido usando apenas reconhecimento de entidades baseado em regras.
O pacote spaCy já está importado e um modelo inglês spaCy em branco está pronto para você como nlp. Uma lista de patterns para classificar OpenAI e Microsoft em minúsculas como ORG já foi criada para você usar.
Este exercício faz parte do curso
Processamento de Linguagem Natural com spaCy
Instruções do exercício
- Crie e adicione um componente
EntityRulerao pipeline. - Adicione os padrões fornecidos ao componente
EntityRuler. - Execute o modelo no
textfornecido e crie seu respectivo contêinerDoc. - Imprima uma tupla (texto e tipos das entidades) para todas as entidades no contêiner
Doc
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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.____])