Usar el reconocedor de entidades de spaCy
En este ejercicio, vas a usar el reconocedor de entidades integrado de spaCy para extraer nombres, fechas y organizaciones de consultas de búsqueda. La biblioteca spaCy ya se ha importado por ti y su modelo de inglés se ha cargado como nlp.
Tu tarea es definir una función llamada extract_entities(), que recibe un único argumento message y devuelve un diccionario con los tipos de entidad incluidos como claves y las entidades extraídas como valores. Los tipos de entidad incluidos están en una lista llamada include_entities.
Este ejercicio forma parte del curso
Creación de chatbots en Python
Instrucciones del ejercicio
- Crea un diccionario llamado
entspara guardar las entidades llamando adict.fromkeys()coninclude_entitiescomo único argumento. - Crea un documento de
spacyllamadodocpasandomessageal objetonlp. - Itera sobre las entidades del documento (
doc.ents). - Comprueba si la
.label_de la entidad es una de las que nos interesan. Si lo es, asigna el atributo.textde la entidad a la clave correspondiente en el diccionarioents.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define included_entities
include_entities = ['DATE', 'ORG', 'PERSON']
# Define extract_entities()
def extract_entities(message):
# Create a dict to hold the entities
ents = ____
# Create a spacy document
doc = ____
for ent in ____:
if ____ in ____:
# Save interesting entities
ents[____] = ____
return ents
print(extract_entities('friends called Mary who have worked at Google since 2010'))
print(extract_entities('people who graduated from MIT in 1999'))