ComeçarComece de graça

EntityRuler com múltiplos padrões no spaCy

EntityRuler permite adicionar entidades a doc.ents e melhorar o desempenho de reconhecimento de entidades nomeadas. Neste exercício, você vai praticar a adição de um componente EntityRuler a um pipeline nlp existente para garantir que várias entidades sejam classificadas corretamente.

O modelo en_core_web_sm já está carregado e disponível como nlp. Você pode acessar um texto de exemplo em example_text e usar nlp e doc para acessar, respectivamente, um modelo do spaCy e o contêiner Doc de example_text.

Este exercício faz parte do curso

Processamento de Linguagem Natural com spaCy

Ver curso

Instruções do exercício

  • Imprima uma lista de tuplas com o texto e o tipo das entidades em example_text usando o modelo nlp.
  • Defina múltiplos padrões para corresponder brother e sisters (em minúsculas) ao rótulo PERSON.
  • Adicione um componente EntityRuler ao pipeline nlp e adicione os patterns ao EntityRuler.
  • Imprima uma tupla com o texto e o tipo das entidades para example_text usando o modelo nlp.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

nlp = spacy.load("en_core_web_md")

# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")

# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
            {"label": ____, "pattern": [{"lower": ____}]}]

# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)

# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])
Editar e executar o código