ComeçarComece de graça

Fazendo correspondência de um único termo no spaCy

Padrões de RegEx não são triviais de ler, escrever e depurar. Mas você não está sem opções: o spaCy oferece uma alternativa legível e de nível de produção, a classe Matcher. A classe Matcher pode casar regras predefinidas com uma sequência de tokens em um contêiner Doc. Neste exercício, você vai praticar o uso do Matcher para encontrar uma única palavra.

Você pode acessar o texto correspondente 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

  • Inicialize uma classe Matcher.
  • Defina um padrão para corresponder a witch em minúsculas em example_text.
  • Adicione os padrões à classe Matcher e encontre as correspondências.
  • Itere pelas correspondências e imprima os índices de tokens de início e fim e o trecho (span) do texto correspondente.

Exercício interativo prático

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

nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)

# Initialize a Matcher object
matcher = Matcher(nlp.____)

# Define a pattern to match lower cased word witch
pattern = [{"lower" : ____}]

# Add the pattern to matcher object and find matches
matcher.add("CustomMatcher", [____])
matches = matcher(____)

# Print start and end token indices and span of the matched text
for match_id, start, end in matches:
    print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)
Editar e executar o código