EmpezarEmpieza gratis

Creando SQL a partir de lenguaje natural

Ahora vas a escribir una función respond() que pueda manejar mensajes como "I want an expensive hotel in the south of town" y responder de forma adecuada según el número de resultados coincidentes en una base de datos. Esta es una funcionalidad importante para cualquier chatbot conectado a una base de datos.

Tu función find_hotels() de los ejercicios anteriores ya está definida, junto con un objeto interpreter de Rasa NLU, que puede gestionar consultas de hoteles, y una lista de responses, que puedes explorar en la Shell.

Este ejercicio forma parte del curso

Creación de chatbots en Python

Ver curso

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Define respond()
def respond(message):
    # Extract the entities
    entities = ____.____(____)["____"]
    # Initialize an empty params dictionary
    params = {}
    # Fill the dictionary with entities
    for ent in entities:
        params[ent["entity"]] = str(ent["value"])

    # Find hotels that match the dictionary
    results = ____
    # Get the names of the hotels and index of the response
    names = [r[0] for r in results]
    n = ____(len(results),3)
    # Select the nth element of the responses array
    return ____[n].____(*names)
Editar y ejecutar código