IT & Engineering
Consejos de desarrollo de chatbots: cómo empezar con la IA conversacional
El auge de los chatbots ya está aquí. Y si quieres mantenerte en el lado bueno de estas creaciones de inteligencia artificial, probablemente deberías saber un par de cosas sobre cómo crearlas. Parafraseando el conocido dicho de Sun Tzu: “Mantén a tus amigos cerca y a los bots más cerca”.
Bromas aparte, los chatbots se están convirtiendo en algo muy importante. Y aunque en Sinch Mailgun nos dedicamos al email, utilizar chatbots para mejorar la experiencia del usuario tiene grandes ventajas. En concreto, los chatbots pueden ofrecer respuestas inmediatas… cualquier día y a cualquier hora. Los chatbots también pueden aumentar la adopción de productos, ayudar a los usuarios a navegar por tu aplicación y responder a preguntas recurrentes de asistencia.
Entender cómo funcionan los chatbots y cómo crear un bot te ayudará a diversificar tus skills y te convertirá en un profesional del desarrollo aún más valioso.
Por supuesto, la imagen estereotipada de un profesional del desarrollo de software es la de alguien sentado en una habitación oscura rodeado de pantallas llenas de código mientras toma grandes cantidades de cafeína.
Puede que haya algo de verdad en ello. Pero los mejores profesionales del desarrollo también entienden cómo crear una experiencia de usuario ideal. Cuando se trata del desarrollo de chatbots, esto incluye conocer las formas en que la gente habla, escribe, piensa y siente.
Como aprendimos de Fréderic Godin, responsable de IA en Chatlayer by Sinch, para crear un chatbot se necesita mucho más que escribir código.
Conceptos básicos: cómo funcionan los chatbots
Un chatbot es un software programado para simular una conversación humana. Según CX Today, hay tres métodos principales para ejecutar un chatbot:
- La coincidencia de patrones es un método que utilizan los bots basados en reglas para clasificar el texto y responder en función de las palabras clave que reconocen en las preguntas.
- Otros bots utilizan algoritmos, como el algoritmo de Naive Bayes multinomial , que está diseñado para analizar entradas de texto y resolver problemas con numerosas clases.
- Los chatbots más avanzados utilizan redes neuronales artificiales, que son algoritmos más complejos basados en el funcionamiento de las neuronas del cerebro humano.
Los chatbots más eficaces utilizan el procesamiento del lenguaje natural (PLN), que es una rama de la inteligencia artificial (IA). El objetivo del PLN es ayudar a las máquinas a entender cómo se comunican las personas para que la IA pueda generar una respuesta útil. Como explica Fréderic, un buen chatbot puede incluso identificar las emociones humanas.
Gracias al procesamiento del lenguaje natural, el bot puede entender si una persona se siente enfadada, feliz o neutral. Y puede responder en consecuencia.
Algunos bots responden a comunicaciones de texto, mientras que los voicebots permiten a las personas interactuar con un dispositivo mediante la voz, lo que elimina la necesidad de escribir.
Aunque todos los chatbots utilizan la lógica empresarial básica para ofrecer respuestas predefinidas a las preguntas, los bots basados en reglas o que coinciden con patrones solo pueden hacerlo a partir de un número limitado de preguntas y palabras clave reconocibles. Sin embargo, la tecnología de los chatbots ha avanzado mucho más allá.
Los bots más avanzados utilizan el machine learning para ampliar sus conocimientos y capacidades en función de las peticiones e interacciones de los usuarios. Con el tiempo, estos bots se programan para mejorar a la hora de responder a personas reales en función de las conversaciones que han tenido con los usuarios.
Esto es lo que se conoce como IA conversacional. Es entonces cuando un bot utiliza el PLN, el machine learning y el diseño conversacional para replicar una interacción realista de persona a persona. En pocas palabras, la IA conversacional hace que los chatbots suenen humanos, no como un robot.
Se trata de un reto extremadamente complicado. Ten en cuenta el hecho de que la persona típica tarda hasta los 12 años en aprender las 20 000 palabras más comunes de su lengua materna. Así que imagínate desarrollar un chatbot multilingüe eficaz para una organización internacional.
Afortunadamente, gran parte del trabajo preliminar ya está hecho. Las plataformas de creación de chatbots como Chatlayer by Sinch ayudan a simplificar y agilizar el proceso. Un bot puede crearse en un idioma y entender más de 100 sin necesidad de volver a entrenarlo.
Cómo responden a las preguntas los chatbots
Las personas pueden hacer la misma pregunta de muchas formas distintas. Por eso Fréderic dice que un chatbot bien programado debe ser capaz de gestionar una gran variedad de consultas. Puede utilizar el machine learning para hacerlo, pero primero hay que darle al bot algo con lo que trabajar.
Cuando quieras crear un bot, deberás darle algunos ejemplos de cómo las personas preguntan algo. Por ejemplo, si quieres que la gente pida pizza, le darás al bot cinco formas en las que la gente suele pedirla. A partir de esos ejemplos, intentamos asegurarnos de que el bot entienda todas las variantes de la forma en que la gente pide pizza.
Fréderic dice que un chatbot de primer nivel también debe entender las faltas de ortografía, los errores tipográficos, la jerga, los sinónimos y las frases que tienen palabras en distinto orden.
Chatbots y PLN
Cuando los chatbots utilizan un motor de procesamiento del lenguaje natural, pueden interpretar una gran variedad de entradas de los usuarios, incluso sin las palabras clave más importantes en el mensaje del usuario. Además, un motor de PLN ayuda a los bots a procesar errores tipográficos y de otro tipo.

Por supuesto, es mucho más complejo que la imagen anterior. Aquí tienes varios términos clave relacionados con el PLN y la experiencia con los chatbots:
- Mensajes y expresiones
- Intención
- Tasa de confianza
- Respuestas
- Entidades
- Sentimientos
En conjunto, estos términos constituyen los componentes básicos que, al conectarse, crean el flujo de una conversación de chatbot. Aprender a crear estos flujos es una práctica conocida como diseño conversacional.
Un mensaje es la pregunta o el comentario que un cliente o usuario envía al chatbot: “Quiero pedir una pizza”. Este mensaje se asigna a una intención antes de enviarse al chatbot.
Una intención es el objetivo general que el cliente quiere alcanzar. En este caso: Pedir una pizza.
Por supuesto, hay más de una forma de pedir pizza. Las expresiones representan las distintas formas de hacer la petición:
- “¿Puedo pedir una pizza?”
- “Necesito una pizza lo antes posible”.
- “¡Me apetece una pizza!”
Cuando un cliente envía un mensaje, el motor de PLN intenta entender la expresión y asignarla a la intención correcta. También le da al mensaje una puntuación de confianza, que evalúa lo segura que está la tecnología sobre la predicción de la intención. El equipo de desarrollo puede establecer un umbral de puntuación de confianza para que, si es demasiado bajo, el bot dé una respuesta de “no entendido” y posiblemente pida al cliente que reformule la pregunta para aclararla.
Las respuestas son (¡sorpresa!) lo que el bot le envía de vuelta al cliente. No siempre se trata de una respuesta directa. Muchas veces, es otra pregunta que ayuda a aclarar el mensaje y mantiene la conversación. Además, incluir varias respuestas del bot hace que la interacción parezca más auténtica para los clientes que vuelven.
- “Claro, ¿qué tipo de pizza quieres?”
- “Por supuesto, ¿de qué tamaño te gustaría pedirla?”
- “¡Por supuesto! ¿Será a domicilio o para recoger?”
Las entidades son frases que se encuentran dentro de una expresión y que proporcionan información que el chatbot acabará necesitando, además de sugerir el tipo de respuesta que debe dar. Por ejemplo, el mensaje inicial de un cliente sobre la pizza puede incluir el tamaño o los ingredientes. Por tanto, el chatbot debe procesar esa información y dar una respuesta adecuada sin tener que hacer la pregunta más adelante.
- Cliente: “¿Puedo pedir una pizza grande?”
- Bot: “Claro, ¿qué ingredientes quieres en tu pizza grande?”
Por último, los sentimientos en un mensaje le dan pistas al chatbot sobre cómo se siente la persona. Por ejemplo, si la persona suena frustrada, el bot podría responder con una disculpa empática.
- Cliente: “¡¿Dónde diablos está mi pizza?!”
- Bot: “Siento que aún estés esperando. Déjame ver si puedo ayudarte”.
El motor de PLN asigna el mensaje a la intención correcta, pero también extrae entidades de la expresión y puede captar el sentimiento para enviar una respuesta adecuada a medida.
Aquí tienes una tabla que muestra cómo podría funcionar todo este flujo en el sector de los viajes:

Haz clic para ver el gráfico a tamaño completo
Chatbots y datos
Otro factor importante en el desarrollo de chatbots es tener una base de datos fiables. Necesitas datos de los usuarios para descubrir detalles sobre los tipos de preguntas que responderá el bot. Después, necesitas una base de datos que ayude al bot a ofrecer la información correcta en su respuesta.
Pongamos a Alexa como ejemplo…
Si le preguntas a Alexa, “¿Qué tiempo hace hoy?”, la IA ya sabe dónde te encuentras. Ese es un dato que tiene sobre ti. Luego, tiene que conectarse a una base de datos con información meteorológica actualizada de tu ubicación para poder decirte el pronóstico.
Una solución eficaz de IA conversacional se integrará con otras plataformas para acceder a datos que mejoren y personalicen la experiencia del chatbot. Por ejemplo, Las integraciones de Chatlayer incluyen herramientas como Salesforce, ZenDesk y Hootsuite.
Fréderic dice que una forma de aprovechar los zero-party data en la IA conversacional es a través del acceso a los registros de asistencia al cliente.
Si se ha grabado el audio entre las personas que llaman y los agentes en directo, disponemos de herramientas para identificar las preguntas más frecuentes y cómo suele hacerlas la gente. De este modo obtienes información y datos, que puedes utilizar para crear un bot basado en lo que los clientes preguntan realmente en tu centro de llamadas.
Cuando un chatbot se queda atascado
Los chatbots también tienen que saber qué hacer cuando no pueden satisfacer a un cliente o no tienen respuesta para el problema. En este caso, Fréderic afirma que el PLN, incluida la capacidad de identificar emociones, resulta muy útil. El equipo de desarrollo puede programar a los bots para que reconozcan cuándo un cliente necesita a un agente en directo.
“Bueno, si de verdad se ha enfadado, quizá deberíamos enviar a esta persona al centro de llamadas en lugar de dejar que siga hablando con el chatbot”. Pero si el cliente está neutral, el bot podría pedirle que reformule la pregunta que no ha entendido.
Una observación interesante que hace Fréderic sobre las interacciones con chatbots es cómo la gente cambia su forma de hacer preguntas tras darse cuenta de que está hablando con un bot. Cuando es necesario, la gente parece “simplificar las cosas” un poco para el bot. Parece que nos estamos adaptando a los bots a medida que aprenden a entendernos.
Profundizar antes de empezar
Aunque saber programar será sin duda una gran ventaja en el desarrollo de chatbots, también hay que dedicar tiempo a planificar el proyecto. Aquí tienes cinco preguntas clave que debes hacerte antes de empezar a crear un bot:
- ¿Cuál es el objetivo? ¿Hay algo que tu organización espere conseguir desarrollando un chatbot? ¿Por qué lo necesitas? Determina cómo será una experiencia de chatbot eficaz y mide los resultados.
- ¿Cuáles son los casos de uso? ¿Cómo se aplicará el chatbot en el mundo real? ¿Hará las veces de agente de asistencia al cliente o recomendará productos? ¿Quieres que ayude a la gente a hacer pedidos y realizar su seguimiento? ¿Debería poder reservar citas? Asegúrate de definir claramente qué hará el bot.
- ¿Quién interactuará con el bot? Entender a la base de usuarios y sus necesidades es extremadamente importante. Piensa en lo que tu audiencia esperaría de la experiencia de un chatbot y pide consejo a tus compañeros que tengan contacto directo con los clientes.
- ¿Cuál es la personalidad de tu chatbot? Quieres que tu bot suene auténticamente humano, pero eso podría cambiar en función del sector y del cliente. ¿Debería ser formal y educado, o a tus usuarios les gustaría interactuar con un chatbot divertido?
Es posible que tu equipo de marketing también quiera que el bot refleje una voz de marca específica. Si se trata de un voicebot, tendrás literalmente que elegir una voz con un sonido que encaje con la personalidad deseada de tu bot. - ¿Dónde vivirá tu chatbot? La IA conversacional puede tener lugar en un sitio web, por SMS, aplicaciones de mensajería de redes sociales, a través de la automatización del centro de llamadas o dentro de tu software. El canal que elijas puede influir en las opciones de desarrollo del chatbot.
Mejores prácticas para el desarrollo de chatbots
A la hora de empezar a crear tu bot, Fréderic Godin y el equipo de Chatlayer by Sinch tienen muchos consejos. Estos son algunos de sus mejores consejos para el desarrollo de chatbots:
Haz una presentación adecuada
Las primeras impresiones son importantes. La forma en que tu bot se presenta a tus usuarios marca el tono de la conversación. Además, permite a la gente saber exactamente qué esperar del chatbot.
Aquí tienes un ejemplo:
“¡Hola, James! Soy Bessie, una asistente virtual que está aquí para ayudarte a descubrir cómo crear un sitio web para tu pequeña empresa”.
¿En qué te puedo ayudar hoy?”
En este ejemplo, supongamos que, dado que el usuario ha iniciado sesión, el bot también puede personalizar la presentación con su nombre.
Empieza de forma sencilla
Cuando te inicias en el desarrollo de chatbots, todas esas preguntas potenciales y las diversas expresiones pueden resultar abrumadoras. Fréderic dice que lo mejor es elegir un problema sencillo del cliente y partir de ahí.
Recomendamos elegir un caso de uso que quieras abordar primero. Normalmente, se trata de uno muy repetitivo y que no es demasiado difícil de responder.
Por ejemplo, Fréderic sugiere responder a una pregunta con una respuesta educada en la que el bot simplemente proporciona un enlace que dirige a los usuarios a una página web donde pueden encontrar la respuesta que necesitan.
Hazlo dinámico y eficiente
A medida que tu proyecto de desarrollo del chatbot sea más avanzado y complejo, busca formas de reducir la cantidad de trabajo que tenéis que hacer tú y tu bot. Eso podría significar reutilizar diálogos y variables del bot cuando sea posible.
También deberías asegurarte de que tu chatbot pueda acceder a la información y reutilizarla. Si pides el número de pedido de un cliente una vez, el bot no debería tener que volver a pedirlo más adelante en la interacción.
Un chatbot dinámico es resiliente al cambio. Puedes programar un chatbot dinámico haciendo que acceda a la información desde bases de datos externas en lugar de codificarla de forma fija en el bot. Tu base de datos externa sirve como “fuente de verdad”. Así, cuando actualices la base de datos, tu chatbot también se actualizará. Solo tienes que hacer el cambio en un sitio.
Deja que tu chatbot aprenda
No esperes la perfección cuando tu chatbot empiece por fin a interactuar con humanos. Los profesionales del desarrollo de chatbots pueden aprender mucho observando lo que funciona y lo que no.
Pon a prueba a tu bot en la vida real lo antes posible. Observa cómo utilizan el bot los clientes. A partir de ahí, añade nuevas expresiones al bot que se parezcan a las preguntas reales. Por ejemplo, ¿cómo pide la gente realmente una pizza?
Encontrarás más mejores prácticas de creación de bots y una lista de control de diseño conversacional en la documentación de Chatlayer de Sinch. También hay plantillas predefinidas de creación de chatbots para sectores concretos, que te pueden ayudar a arrancar a la hora de crear y personalizar tu bot.
Ten en cuenta tu retorno sobre el desarrollo
Aunque Fréderic es un gran defensor de los chatbots, admite sin reparos que llega un punto en que las cosas se vuelven demasiado complejas y se necesita la intervención humana. Cuanto más avanzados se vuelven los mensajes de los usuarios, más tiempo y recursos se invierten en desarrollar la IA. De este modo, al final te encuentras con rendimientos decrecientes en tu trabajo.
¿Puedes llegar al punto de estar totalmente automatizado? Probablemente. Pero cuanto más te acerques a una automatización del 100 %, más inversión necesitarás para conseguirlo. Así que siempre habrá una fracción de preguntas, creo yo, para las que necesitarás a un humano.
Por eso, asegúrate de programar a tu chatbot para que envíe a los clientes a los agentes en directo para obtener ayuda cuando sea probable que la IA se quede corta.
Más sobre cómo mejorar las experiencias con los chatbots
Los chatbots se han convertido en una tecnología útil para la comunicación omnicanal. Se trata de un enfoque de las experiencias de los usuarios que permite interacciones consistentes entre las personas y las marcas en cualquier canal que el usuario prefiera (SMS, voz, email, aplicaciones de mensajería, etc.).
Fréderic señala que puedes personalizar la experiencia de un chatbot en función del canal en el que se desarrolle la conversación. Por ejemplo, puede que quieras que las respuestas de tu chatbot en Instagram suenen más informales que las que ofrezca en una función de chat integrada en tu aplicación.
Por supuesto, la mejor forma de crear una mejor experiencia de usuario es entender lo que pasa por la cabeza de un cliente. No hace falta leer la mente, pero resulta útil entender la historia del cliente.
Para ayudarte a conseguirlo, nuestros amigos de Sinch Mailjet han preparado un ebook gratuito sobre lo que llaman “el viaje del héroe omnicanal”. En el ebook, descubrirás qué tienen en común tus usuarios con héroes tan conocidos como Luke Skywalker y Harry Potter. Además, obtendrás algunas ideas sobre qué tipo de rol podría desempeñar tu chatbot en la historia. (Pista: R2D2 y C3PO son dos opciones bastante buenas.)