Entità ed estensioni
In questo esercizio combinerai attributi di estensione personalizzati con le previsioni del modello e creerai un getter di attributo che restituisce un URL di ricerca di Wikipedia se lo span è una persona, un'organizzazione o una località.
La classe Span è già importata e l'oggetto nlp è stato creato per te.
Questo esercizio fa parte del corso
NLP avanzato con spaCy
Istruzioni dell'esercizio
- Completa il getter
get_wikipedia_urlin modo che restituisca l'URL solo se l'etichetta dello span è nell'elenco delle etichette. - Imposta l'estensione di
Span'wikipedia_url'usando il getterget_wikipedia_url. - Itera sulle entità in
doce stampa il loro URL di Wikipedia.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
def get_wikipedia_url(span):
# Get a Wikipedia URL if the span has one of the labels
if ____ in ('PERSON', 'ORG', 'GPE', 'LOCATION'):
entity_text = span.text.replace(' ', '_')
return "https://en.wikipedia.org/w/index.php?search=" + entity_text
# Set the Span extension wikipedia_url using get getter get_wikipedia_url
____.____(____, ____=____)
doc = nlp("In over fifty years from his very first recordings right through to his last album, David Bowie was at the vanguard of contemporary culture.")
for ent in doc.ents:
# Print the text and Wikipedia URL of the entity
print(____, ____)