Uno de los componentes principales es el módulo agente (
agent
), que actúa a modo de controlador del flujo de datos y normalmente es la interfaz del sistema con los diferentes canales
(input/output channels
) ofrecidos a los usuarios, como aplicaciones de chat, redes sociales, aplicaciones web o móviles, etc.
El módulo de NLU (
Natural Language Understanding
) se encarga de identificar la intención del usuario (qué quiere consultar o hacer), la extracción de entidades (de qué está hablando) y la generación de respuestas. Se considera un flujo (
pipeline
) porque intervienen varios procesos de diferente complejidad, en muchos casos incluso mediante el uso de modelos pre-entrenados de Inteligencia Artificial.
Finalmente, el módulo de gestión de conversaciones (
dialogue policies
) define cuál es el siguiente paso en una conversación, basándose en el contexto y el histórico de mensajes. Este módulo se integra con otros subsistemas como el almacén de conversaciones (
tracker store
) o el servidor que procesa las acciones necesarias para dar respuesta al usuario (
action server
).