Comece agoraComece grátis

Criando uma entidade nomeada personalizada no spaCy

Se as entidades nomeadas nativas do spaCy não forem suficientes, você pode criar as suas usando a classe EntityRuler() do spaCy.

EntityRuler() permite criar suas próprias entidades para adicionar a um pipeline do spaCy.

Você começa criando uma instância de EntityRuler() e passando para ela o pipeline atual, nlp.

Em seguida, você pode chamar add_patterns() na instância e passar um dicionário com o pattern de texto que deseja rotular com uma entidade.

Depois de configurar um padrão, você pode adicioná-lo ao pipeline nlp usando add_pipe().

Como a Acme é uma empresa de tecnologia, você decidiu marcar o padrão "smartphone" com o rótulo de entidade "PRODUCT".

spaCy já foi importado e um doc já existe contendo o texto transcrito de call_4_channel_2.wav file).

Este exercicio faz parte do curso

Processamento de Linguagem Falada em Python

Ver curso

Instruções do exercicio

  • Importe EntityRuler de spacy.pipeline.
  • Adicione "smartphone" como o valor para a chave "pattern".
  • Adicione a instância EntityRuler(), ruler, ao pipeline nlp.
  • Imprima os atributos de entidade contidos em doc.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Import EntityRuler class
from spacy.pipeline import ____

# Create EntityRuler instance
ruler = EntityRuler(nlp)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Update existing pipeline
nlp.add_pipe(____, before="ner")

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Editar e Executar Código