ComenzarEmpieza gratis

Entidades y extensiones

En este ejercicio vas a combinar atributos de extensión personalizados con las predicciones del modelo y crearás un getter de atributo que devuelva una URL de búsqueda de Wikipedia si el span es una persona, organización o ubicación.

La clase Span ya está importada y el objeto nlp está creado para ti.

Este ejercicio forma parte del curso

NLP avanzado con spaCy

Ver curso

Instrucciones del ejercicio

  • Completa el getter get_wikipedia_url para que solo devuelva la URL si la etiqueta del span está en la lista de etiquetas.
  • Define la extensión de Span 'wikipedia_url' usando el getter get_wikipedia_url.
  • Itera sobre las entidades del doc y muestra su URL de Wikipedia.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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(____, ____)
Editar y ejecutar código