Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak de getter get_wikipedia_url af 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 getter get_wikipedia_url.
  • Loop over de entiteiten in de doc en 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(____, ____)
Code bewerken en uitvoeren