CommencerCommencer gratuitement

Entités et extensions

Dans cet exercice, vous allez combiner des attributs d’extension personnalisés avec les prédictions du modèle et créer un accesseur d’attribut qui renvoie une URL de recherche Wikipedia si le span est une personne, une organisation ou un lieu.

La classe Span est déjà importée et l’objet nlp a été créé pour vous.

Cet exercice fait partie du cours

NLP avancé avec spaCy

Afficher le cours

Instructions

  • Complétez le getter get_wikipedia_url pour qu’il ne renvoie l’URL que si l’étiquette du span figure dans la liste des étiquettes.
  • Définissez l’extension Span 'wikipedia_url' en utilisant le getter get_wikipedia_url.
  • Itérez sur les entités dans le doc et affichez leur URL Wikipedia.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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(____, ____)
Modifier et exécuter le code