Entiteiten en extensies
In deze oefening combineer je aangepaste extensieattributen met de voorspellingen van het model en maak je een attribute getter die een Wikipedia-zoek-URL teruggeeft als de span een persoon, organisatie of locatie is.
De klasse Span is al geïmporteerd en het nlp-object is voor je aangemaakt.
Deze oefening maakt deel uit van de cursus
Geavanceerde NLP met spaCy
Oefeninstructies
- Maak de getter
get_wikipedia_urlaf zodat deze alleen de URL teruggeeft als het label van de span in de lijst met labels staat. - Stel de
Span-extensie'wikipedia_url'in met de getterget_wikipedia_url. - Loop over de entiteiten in de
docen geef hun Wikipedia-URL weer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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(____, ____)