Entidades e extensões
Neste exercício, você vai combinar atributos de extensão personalizados com as previsões do modelo e criar um getter de atributo que retorna uma URL de busca da Wikipedia se o span for uma pessoa, organização ou local.
A classe Span já foi importada e o objeto nlp já foi criado para você.
Este exercício faz parte do curso
NLP Avançado com spaCy
Instruções do exercício
- Complete o getter
get_wikipedia_urlpara que ele retorne a URL somente se o rótulo do span estiver na lista de rótulos. - Defina a extensão
'wikipedia_url'deSpanusando o getterget_wikipedia_url. - Faça um loop pelas entidades no
doce exiba a URL da Wikipedia de cada uma.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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(____, ____)