ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea un diccionario llamado ents para guardar las entidades llamando a dict.fromkeys() con include_entities como único argumento.
  • Crea un documento de spacy llamado doc pasando message al objeto nlp.
  • 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 .text de la entidad a la clave correspondiente en el diccionario ents.

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'))
Editar y ejecutar código