Sunteți pe pagina 1din 5

Arquitectura de un Chatbot

Componentes:

1. Capa de presentación: La capa de presentación contiene los componentes que


implementan y muestran la interfaz de usuario y gestionan la interacción con el
usuario.

1.1 Soporte multicanal: Si nuestra solución de respuesta al cliente está


disponible a través de un solo canal, nuestro negocio podrá manejar sólo a
unos pocos de nuestros clientes. Por ejemplo, si tenemos un cliente de chat
en nuestro sitio web, nuestros agentes podrán atender a los clientes
únicamente a través de chats web. Los consumidores de hoy en día no
quieren estar vinculados a ningún canal en particular, ya sea móvil, en línea,
de voz o de medios sociales. Y si las soluciones de soporte al cliente no están
habilitadas en el resto de los canales operativos de la empresa, esto
resultaría en una mala experiencia para el usuario y también podría
convertirse en un desincentivo para consumidores que necesitan una
conversación sobre otros canales. Por otro lado, si implementamos ChatBot
y habilitarlo en todas las aplicaciones podemos dejar de preocuparnos por el
conteo de las consultas recibidas y también sobre la hora y el lugar de la
reunión. la duración de la ayuda que se concederá. El único el reto en ese
caso sería, desarrollar componentes para integrar y manejar las consultas de
todos los los diferentes canales, ya sea correo electrónico, SMS, Mensajería
de texto, Voz o desde un dispositivo IoT.

1.2 Soporte Multi-Plataforma: En el caso del desarrollo de aplicaciones


móviles, normalmente, hay mucho tiempo y esfuerzo para decidir qué
plataforma soportar - ¿iOS o Android? A diferencia de ese caso, - "Si lo
construyes, vendrán" es la mejor estrategia con bots e interfaces
conversacionales. Sin embargo, como se ha explicado anteriormente, el uso
de las plataformas de mensajería está muy extendido, dependiendo de la
geografía, la edad y las capacidades de mensajería. Esto significa que la
clave de la solución está en averiguar qué y dónde entregar, dependiendo
de nuestros clientes objetivo y de sus necesidades. Ya sea Facebook
Messenger, LINE, WhatsApp, Telegram, WeChat, Skype o Kik, cada
plataforma de mensajería tiene su propio enfoque para servir a sus usuarios,
tienen sus propias interfaces y capacidades únicas y diferentes. Además, el
punto clave a tener en cuenta es que cada una de estas plataformas está
evolucionando, lo que significa que requiere un seguimiento y mantenimiento
continuos.

1.3 Componentes de la interfaz de usuario: Debido a que tenemos múltiples


canales y múltiples plataformas que soportar, es evidente que es necesario
implementar patrones de interacción de usuario comunes como
componentes de usuario separados, lo que permite su reutilización en
múltiples interfaces de usuario.
Todas estas son las razones principales, nuestra arquitectura propone tener
una interfaz estandarizada en la capa de presentación, para permitir una fácil
comunicación con todas las plataformas e interfaces actuales, pero también
con las nuevas plataformas y sus interfaces. Este enfoque nos asegurará
que consideremos todos los factores relevantes a la hora de desarrollar
nuestra solución.

2. Capa de Negocio. La siguiente sección describe las funciones y


responsabilidades de los componentes de la capa de negocio.

2.1 Procesamiento de datos: Los Procesos de negocio normalmente implican


múltiples pasos que se deben realizar en el orden correcto. Los datos de la
capa de servicio también tienen que ser transformados en entidades de
negocio del “mundo real”, tales como productos y pedidos, y no como
entidades de la base de datos, como tablas y vistas. En la mayoría de casos,
tenemos una multitud de servicios y sus respectivas interfaces con sus
propias entidades y protocolos de comunicación. El procesamiento de los
datos muchas veces, recopila información desde más de un servicio, para
crear una entidad de negocio. Es evidente identificar patrones de uso de
entidades comunes e implementarlos como componentes separados, lo que
nos permite reutilizarlos en casos de uso múltiple.

2.2 Formateo de datos: Se entiende claramente por ahora, que una solución
ideal de ChatBot debería ser lo suficientemente ampliable como para poder
integrarse con cualquier plataforma y canal existente, y lo suficientemente
escalable para trabajar con otros nuevos también. Esto significa que la
implementación de dicha solución debe tener conectores o complementos,
que puedan convertir los datos procesados en el formato requerido, que
están en línea con los requisitos y capacidades de la interfaz de usuario. Por
ej. Las interfaces tipo Facebook, LINE y WeChat permiten mostrar imágenes
y texto juntos y mostrar controles, pero Amazon Echo y Google Home solo
usan voz. Por lo tanto, los mismos datos procesados deben formatearse de
acuerdo con la interacción / interfaz del usuario.

2.3 Gestor de diálogos: El componente más importante y único de la


arquitectura de una solución ChatBot es el gestor de diálogos. Toda la
experiencia de un ChatBot se basa en el rendimiento de este componente.
Como su nombre indica, es responsable de gestionar el diálogo con el
usuario. Para que el usuario disfrute de una experiencia sin problemas, este
componente puede ser necesario al menos para gestionar, si no para
mantener, el contexto de la conversación y el perfil y las preferencias del
usuario. La parte NLU (Natural Language Understanding) es atendida con la
ayuda de un servicio específico de AI/NLP. Dependiendo del contexto,
dominio y características que proporciona la solución de ChatBot, todos los
datos de los componentes de la capa de servicio necesitan ser procesados
para formar un conjunto significativo de estructura de datos según los
requisitos. Pero como tenemos que soportar múltiples plataformas y
múltiples canales, deberíamos tener una fachada de aplicación que nos
permita escuchar y responder de acuerdo a los respectivos puntos de
contacto mediante el uso de diferentes tecnologías de comunicación.

3. Capa de Servicios. La capa de servicios proporciona acceso a datos internos y


externos, funcionalidad comercial, conectividad de middleware y otros servicios.

3.1 Servicios NLP: La funcionalidad más básica de cualquier componente de


servicio NLP es NLU. El éxito y el fracaso de una solución ChatBot depende
de la elección del servicio NLP, ya sea desarrollado internamente o
proporcionado por un proveedor externo. Aunque el soporte del número de
idiomas puede ser un criterio importante, pero si el servicio de NLP no puede
entender las jergas nativas y no aprende y mejora de forma automática o
programable, entonces la cantidad de idiomas compatibles no importa. La
característica más importante de un servicio NLP es cuán eficiente es su
capacidad de aprendizaje automático en función de algoritmos de última
generación y de Inteligencia Artificial.

3.2 Servicios de acceso a datos: las interfaces estándar proporcionadas sobre


los datos disponibles localmente o datos remotos comprenden los
componentes del servicio de datos. Cuando los mensajes se pasan entre un
servicio y un consumidor, la mayoría de las veces, el mensaje debe
transformarse en un formato que el consumidor pueda entender. Como la
solución ChatBot necesitaría integrarse con un conjunto diferente de
servicios, debemos implementar adaptadores para proporcionar acceso a
estos servicios que convierta los datos de los servicios en un formato que los
demás componentes también entiendan.

3.3 Interfaces de servicio externo: Dependiendo de las funcionalidades


proporcionadas por la solución ChatBot, podríamos necesitar integrar con un
conjunto diferente de servicios externos. Esto nuevamente plantea la
necesidad de implementar adaptadores para proporcionar acceso a estos
servicios que convierte los datos de los servicios a un formato que los demás
componentes también entienden. Uno de los servicios externos importantes,
que debe integrarse es la conexión con la consola del agente del cliente, que
puede ser el canal de comunicación existente con los consumidores (IVR).
Una vez más, necesitaríamos desarrollar adaptadores reutilizables para
comunicarse con los diferentes sistemas disponibles de muchos
proveedores. Los componentes de la capa de servicio se pueden
implementar en el mismo nivel que otras capas, o en un nivel separado,
dependiendo del rendimiento y los requisitos de aislamiento de la
implementación. Sin embargo, siempre se recomienda que los componentes
de la capa de servicio también residan en el mismo nivel físico que los
componentes de la capa de negocios para maximizar el rendimiento del
sistema.

4. Capa de datos (almacenamiento). Es muy importante contar con un acceso de


datos eficiente y seguro, y por eso es de suma importancia tener un enfoque bien
definido al diseñar la capa de datos. Además, con el fin de reducir el tiempo de
desarrollo y mejorar el mantenimiento de la capa de datos, un enfoque de diseño
eficaz es la quintaesencia. En el caso de una solución ChatBot, es aún más
importante tener un diseño adecuado de la capa de datos, simplemente por el
hecho de que no solo hay mucha recopilación de datos y almacenamiento, sino
que también es importante un acceso más rápido a los datos. Hay muchos
servicios y componentes que dependen de este almacenamiento y acceso a los
datos en todo momento. Por ejemplo. almacenamiento de todas las
comunicaciones con los usuarios, análisis de los datos recopilados, realización
de técnicas de aprendizaje automático en los datos. Esto significa esencialmente
que los sistemas de almacenamiento también están bajo el control de los
paradigmas de procesamiento Big Data para habilitar funciones como Sentiment
Analytics.
5. Capa de utilidad. Por último, pero no menos importante, se incluyen las
utilidades que normalmente no se consideran como una de las partes
funcionales de los sistemas, pero que desempeñan un papel fundamental en las
operaciones generales de cualquier implementación de arquitectura. De los
muchos parámetros, los más importantes, que vale la pena abordar son la
seguridad y la configuración. El hecho de que la solución ChatBot esté siendo
expuesta a una multitud de sistemas, canales y plataformas, la hace altamente
vulnerable y nos obliga a monitorear y mitigar todos los riesgos en todos los
puntos de contacto, ya sea para la ingestión o el envío de datos fuera. Es
innecesario, por así decirlo, que los diversos componentes de seguridad que se
implementarán sean capaces de abordar las áreas de usabilidad,
almacenamiento, red, autorización y manejo de excepciones. Una vez que todas
las funcionalidades se han implementado, probado e implementado para un
cliente, canal o plataforma, si tenemos que gastar más o menos la misma
cantidad de tiempo y esfuerzo para otro cliente, plataforma o canal, entonces el
sistema se considera no configurable El componente de configuración es el que
satisface las características de escalabilidad y repetibilidad del sistema. Por lo
tanto, es fundamental para el éxito del sistema diseñar e implementar una
estructura configurable que permita el plug-n-play de todas y cada una de las
características y funcionalidades del sistema.

S-ar putea să vă placă și