Definindo atributos de extensão (2)
Vamos definir alguns atributos mais complexos usando getters e extensões de método. O objeto nlp já foi criado para você e as classes Doc, Token e Span já foram importadas.
Lembre-se: se você executar seu código mais de uma vez, pode aparecer uma mensagem de erro dizendo que a extensão já existe. Isso acontece porque o DataCamp executa novamente seu código na mesma sessão. Para resolver, você pode definir force=True em set_extension, ou recarregar para iniciar uma nova sessão do Python. Nada disso vai afetar a resposta que você enviar.
Este exercício faz parte do curso
NLP Avançado com spaCy
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Define the getter function
def get_has_number(doc):
# Return if any of the tokens in the doc return True for token.like_num
return any(____ for token in doc)
# Register the Doc property extension 'has_number' with the getter get_has_number
____.____(____, ____=____)
# Process the text and check the custom has_number attribute
doc = nlp("The museum closed for five years in 2012.")
print('has_number:', ____)