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
Instrucciones del ejercicio
- Completa el getter
get_wikipedia_urlpara 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 getterget_wikipedia_url. - Itera sobre las entidades del
docy 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(____, ____)