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
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)