viernes, 22 de diciembre de 2017

"Entities" compuestas con Dialogflow

En google cloud español Publicado en 2017 dic 22 por Guillaume Laforge

Localizando  valores complejos gracias a entidades compuestas

Cuando se construyen interfaces conversacionales, necesitamos localizar los patrones complejos.

Dialogflow viene con varios tipos incorporados (normalmente llamados entidades del sistema system-entties), para reconocer varias formas de: fechas y horas, números (ordinales, cardinales o incluso números al vuelo), cantidades y unidades (como distancias, monedas, duración o temperatura), nombres de unidades, geografía (direcciones, códigos postales, códigos de aeropuertos, y más), así como nombres (incluso artistas de música).

Pero a veces, necesita su propio tipo de entidad, para que coincida con algo que es específico para su caso de uso.

En el ejemplo desarrollado a continuación, defino una entidad entity especial que representa un movimiento de robot: que es la combinación de varios pasos y una dirección. Y Dialogflow me permite definir dicha estructura, para que coincida como una entidad distinta dentro de mis intenciones.

Los usuarios de mi chatbot deberían ser capaces de dar órdenes a mi robot, y decirle que mueva un cierto número de pasos, en una dirección particular, como esta:


Primero, vamos a crear una entidad  entity de dirección, que cubre las 4 direcciones principales (incluidos algunos sinónimos): adelante, atrás, izquierda y derecha:


Luego, podemos crear nuestra entidad compuesta de movimiento, que combina una serie de pasos, la palabra paso y nuestra dirección recién creada:


Ahora, sus intents  pueden hacer referencia a esta entidad @move para que coincida con los movimientos complejos que no formaban parte de las entidades integradas en Dialogflow.