Correspondência eficiente de frases
Às vezes, é mais eficiente corresponder strings exatas do que escrever padrões que descrevem os tokens individualmente. Isso é especialmente verdadeiro para categorias finitas de coisas – como todos os países do mundo.
Nós já temos uma lista de países, então vamos usá-la como base para nosso script de extração de informações. Uma lista de nomes em forma de string está disponível na variável COUNTRIES. O objeto nlp e um doc de teste já foram criados e o doc.text foi impresso no console.
Este exercício faz parte do curso
NLP Avançado com spaCy
Instruções do exercício
- Importe o
PhraseMatchere inicialize-o com ovocabcompartilhado na variávelmatcher. - Adicione os padrões de frases e chame o matcher no
doc.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import the PhraseMatcher and initialize it
from spacy.____ import ____
matcher = ____(____)
# Create pattern Doc objects and add them to the matcher
# This is the faster version of: [nlp(country) for country in COUNTRIES]
patterns = list(nlp.pipe(COUNTRIES))
matcher.add('COUNTRY', None, *patterns)
# Call the matcher on the test document and print the result
matches = ____(____)
print([doc[start:end] for match_id, start, end in matches])