Définir des attributs d’extension (2)
Essayons de définir des attributs plus complexes avec des getters et des méthodes d’extension. L’objet nlp a déjà été créé pour vous, et les classes Doc, Token et Span sont déjà importées.
Souvenez-vous : si vous exécutez votre code plusieurs fois, vous pourriez voir un message d’erreur indiquant que l’extension existe déjà. C’est parce que DataCamp réexécute votre code dans la même session. Pour éviter cela, vous pouvez définir force=True dans set_extension, ou recharger pour démarrer une nouvelle session Python. Rien de tout cela n’affectera la réponse que vous soumettez.
Cet exercice fait partie du cours
NLP avancé avec spaCy
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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:', ____)