ComenzarEmpieza 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 y completa el código de muestra.

# 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