0% encontró este documento útil (0 votos)
5 vistas10 páginas

Arquitectura de Chatbot para E-commerce

Cargado por

Alan Lopez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas10 páginas

Arquitectura de Chatbot para E-commerce

Cargado por

Alan Lopez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Politécnica de

Durango
ChatBot
Profesora: Anakarla Sotolongo Peña
Alumnos:
Arredondo Corral Gustavo Gael
Alan López Medina

18/07/2025
Universidad Politécnica de Durango​ 1
18/07/2025​ 1
Elemento a descomponer​ 3
Drivers elegidos para la iteración​ 3
Atributos de calidad y requerimientos funcionales que guían esta iteración​ 3
Conceptos de diseño a aplicar​ 4
Definir estructuras resultantes y responsabilidades de los elementos​ 4
Elementos principales:​ 4
Definir interfaces de los elementos​ 6
Conceptos de diseño para futuras iteraciones y justificación​ 8
Diagramas​ 9
Diagrama de secuencia​ 9
Diagrama de componentes​ 10
Elemento a descomponer
Sistema: Arquitectura del Chatbot para e-commerce.

En esta iteración inicial, descompondremos el sistema general del chatbot en módulos


principales que atiendan las funcionalidades base y atributos de calidad críticos.

Drivers elegidos para la iteración


Atributos de calidad y requerimientos funcionales que guían esta
iteración

●​ Disponibilidad: El chatbot debe estar disponible 24/7 para atender consultas.​

●​ Escalabilidad: Debe soportar aumento en la cantidad de usuarios concurrentes.​

●​ Tiempo de respuesta: Interacciones con usuarios deben responder en menos de 1


segundo.​

●​ Manejabilidad / Mantenibilidad: Fácil actualización y adición de nuevas


funcionalidades.​

●​ Seguridad: Protección de datos personales y pagos.​

●​ Funcionalidades principales:​

○​ Entender intenciones (saludo, búsqueda de productos, estado de pedido,


soporte)​

○​ Responder preguntas frecuentes​

○​ Procesar órdenes básicas​

○​ Escalar a un agente humano cuando sea necesario


Conceptos de diseño a aplicar
●​ Modularidad: Separar responsabilidades claras en módulos independientes.​

●​ Desacoplamiento mediante interfaces: Comunicación a través de APIs y contratos


bien definidos.​

●​ Escalabilidad horizontal: Módulos que pueden replicarse para manejar carga.​

●​ Seguridad en la comunicación: Autenticación, cifrado entre módulos.​

●​ Manejo de contexto: Un componente que almacene y administre el contexto


conversacional.​

●​ Adaptabilidad: Permitir incorporación de nuevos servicios ([Link]. nuevos canales:


WhatsApp, Telegram).​

Definir estructuras resultantes y responsabilidades


de los elementos

Elementos principales:
Interfaz de Usuario (UI)​

●​ Recibe mensajes de usuarios.​

●​ Envía respuestas del chatbot.​

●​ Puede ser multi-canal (webchat, WhatsApp, Facebook Messenger, etc.).​

Módulo de Procesamiento de Lenguaje Natural (NLP)​

●​ Análisis de texto de usuario.​

●​ Detección de intención y entidades.​

●​ Clasificación de consultas.​
Gestor de Diálogo / Contexto​

●​ Mantiene el estado de la conversación.​

●​ Define el flujo de diálogo.​

●​ Decide siguiente acción según contexto y respuestas.​

Motor de Reglas y Lógica de Negocio​

●​ Aplica reglas para respuestas automáticas.​

●​ Valida operaciones ([Link]. verificar estado de pedido).​

●​ Invoca servicios externos para órdenes, inventarios, pagos.​

Integración con Backend del E-commerce​

●​ API REST para consulta de catálogo, pedidos, usuarios.​

●​ Seguridad para autenticación/autorización.​

Módulo de Escalación a Agente Humano​

●​ Transfiere conversaciones a un operador humano cuando es necesario.​

●​ Monitorización y logging.​

Subsistema de Seguridad​

●​ Manejo de credenciales.​

●​ Cifrado de datos sensibles.​

●​ Control de acceso.
Definir interfaces de los elementos

Para asegurar un sistema modular, con bajo acoplamiento y alta cohesión, definiremos
interfaces claras para la comunicación entre módulos:

●​ Interfaz Interfaz de Usuario (UI) ⇄ Módulo NLP​

○​ Entrada: Mensajes de texto o voz del usuario (JSON con metadata: usuario,
canal, timestamp)​

○​ Salida: Respuesta procesada del chatbot (texto, sugerencias, botones)​

○​ Protocolo: API REST o WebSocket para mensajes en tiempo real​

○​ Métodos:​

■​ sendUserMessage(message: UserMessage) -> void​

■​ receiveBotResponse(response: BotResponse) -> void​

●​ Interfaz Módulo NLP ⇄ Gestor de Diálogo / Contexto​

○​ Entrada: Intenciones, entidades extraídas del texto​

○​ Salida: Estado actualizado del diálogo, decisión sobre siguiente acción​

○​ Métodos:​

■​ processIntent(intent: Intent, entities:


List<Entity>, context: Context) -> DialogAction​

●​ Interfaz Gestor de Diálogo ⇄ Motor de Reglas y Lógica de Negocio​

○​ Entrada: Solicitudes para validación o ejecución de reglas (por ejemplo:


consultar estado de pedido)​

○​ Salida: Resultado de la validación o respuesta a la consulta​

○​ Métodos:​

■​ executeBusinessRule(ruleRequest: RuleRequest) ->


RuleResponse​
●​ Interfaz Motor de Reglas ⇄ Backend E-commerce​

○​ Entrada: Solicitudes API REST para inventario, pedidos, pagos​

○​ Salida: Respuestas JSON con datos solicitados​

○​ Autenticación: OAuth 2.0 o JWT para seguridad​

●​ Interfaz Gestor de Diálogo ⇄ Módulo de Escalación a Agente Humano​

○​ Entrada: Solicitud para transferir conversación (con contexto y metadata)​

○​ Salida: Confirmación de escalación y estado de operador​

○​ Métodos:​

■​ escalateConversation(conversationId: string,
context: Context) -> EscalationStatus​

●​ Interfaz de Subsistema de Seguridad con todos los módulos​

○​ Provee servicios comunes de autenticación, autorización, cifrado y manejo de


credenciales​

○​ Métodos:​

■​ authenticate(credentials: Credentials) -> AuthToken​

■​ authorize(token: AuthToken, action: Action) -> bool​

■​ encrypt(data: Data) -> EncryptedData​

■​ decrypt(data: EncryptedData) -> Data​


Conceptos de diseño para futuras iteraciones y
justificación
Patrón CQRS (Command Query Responsibility Segregation):​
Para separar operaciones de consulta y comando, optimizando rendimiento y escalabilidad,
especialmente para consultas frecuentes de catálogo y pedidos.​

Event-Driven Architecture:​
Permitir que módulos reaccionen a eventos ([Link]. nueva orden, pago confirmado),
facilitando integración con otros sistemas y mejor escalabilidad.​

Microservicios:​
Evolución a una arquitectura basada en microservicios para desplegar y escalar
independientemente cada funcionalidad (NLP, lógica negocio, integración backend).​

Machine Learning para NLP:​


Incorporar modelos de ML para mejorar detección de intenciones y personalización de
respuestas según contexto del usuario.​

Cache Distribuido:​
Para mejorar tiempos de respuesta, cachear consultas frecuentes y contexto de usuarios
activos.​

Canales Multimodales:​
Soporte futuro para voz, video, asistentes virtuales integrados (Alexa, Google Assistant).​

Automatización de pruebas e integración continua:​


Para mejorar mantenibilidad y calidad al agregar nuevas funcionalidades.
Diagramas

Diagrama de secuencia
Diagrama de componentes

También podría gustarte