Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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