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