Un paso común cuando se construye un bot es definir "intenciones".
Una intención puede ser "restablecer mi contraseña", "reservar un vuelo" o "contactar con el servicio de asistencia". El desarrollador del bot debe introducir varias frases en el software que tengan el mismo significado que la intención. Por ejemplo, "Quiero volar a París" sería una de esas frases para la intención "reservar un vuelo".
Generalmente, las plataformas de desarrollo de bots piden a los usuarios que introduzcan muchas frases para una determinada intención. Estas frases son datos de entrenamiento para el algoritmo de Procesamiento del Lenguaje Natural (PLN).
El algoritmo NLP es un algoritmo de aprendizaje automático que se entrena en los datos para ser capaz de reconocer frases con el mismo significado pero diferentes palabras (frente a los datos de entrenamiento).
El algoritmo NLP utiliza los datos de intención proporcionados por el desarrollador del bot más un enorme corpus de datos relativos a la lengua (con los que se ha entrenado previamente) para calibrar su modelo interno y poder reconocer nuevas frases.
Cuantos más ejemplos proporcione el desarrollador del chatbot al algoritmo NLP, más preciso será capaz de reconocer el mismo significado en otras frases que tengan una redacción diferente. Al menos ese es el mensaje que se da a los desarrolladores de bots.
El problema es que no todos los datos de formación son iguales. La calidad de los datos importa tanto como la cantidad.
Por ejemplo, imagina que quiero crear una intent llamada "restablecer mi contraseña".
Un autor bot podría empezar a crear las siguientes frases:
Restablecer mi contraseña
He olvidado mi contraseña
Mi contraseña no funciona
Nueva contraseña
Problema de contraseña
Etc.
El problema con lo anterior es que todas las frases utilizan la misma palabra "contraseña". Esto significa que cuando el algoritmo se entrena en estos datos, discierne la regla de que si la palabra "contraseña" está en la frase, entonces la intención es "restablecer mi contraseña". Esto, por supuesto, es erróneo. La gente puede decir muchas otras frases sin la palabra "contraseña" que tienen el mismo significado que "restablecer mi contraseña". También hay muchas frases con la palabra "contraseña" que no significan "restablecer mi contraseña".
En el mundo de los algoritmos, este problema se denomina sobreajuste de los datos de entrenamiento. El algoritmo se ha sobreajustado a la palabra "contraseña" y, por tanto, "cree" que toda frase que contenga la palabra "contraseña" significa "restablecer mi contraseña".
Existen otros ejemplos con la misma intención. Por ejemplo, el desarrollador del bot podría introducir las siguientes frases:
Mis credenciales no funcionan
Mi login no funciona
Mi contraseña no funciona
Mi nombre de usuario no funciona.
Etc.
Este es, por supuesto, un ejemplo más extremo del problema, pero el patrón es común cuando se crean datos de entrenamiento. Esto provocará de nuevo que el algoritmo se ajuste en exceso a los datos, pero esta vez a la frase "no funciona".
Esperamos que la solución sea obvia a estas alturas. Cada frase de los datos de entrenamiento debe ser lo más diferente posible de las demás frases del conjunto de datos. Por ejemplo:
Mis credenciales no funcionan.
Necesito restablecer mi contraseña.
¿Cómo puedo solucionar mi problema de inicio de sesión?
¿Quién puede ayudarme a registrarme en el sistema?
Etc.
Por supuesto, crear un conjunto de datos como el anterior requiere más esfuerzo. Incluso puede ayudar tener un diccionario de sinónimos abierto para encontrar sinónimos con el fin de estimular ideas para frases.
La otra forma en que los desarrolladores de bots superan este problema es teniendo acceso a los datos de chat de atención al cliente, que proporcionan muchos ejemplos de todas las formas en que un cliente real haría la misma pregunta. Estos datos pueden ser extremadamente valiosos.
Se plantea la cuestión de cuándo los algoritmos de PNL podrán funcionar bien con sólo un pequeño conjunto de datos de entrenamiento. Sin duda, sería mejor que el robot funcionara perfectamente utilizando sólo un pequeño conjunto de datos. Esto es algo en lo que están trabajando los investigadores, ya que no sólo reduciría el tiempo y el esfuerzo necesarios para crear chatbots, sino que mejoraría enormemente su calidad.
El algoritmo NLP es una caja negra para la mayoría de los desarrolladores de bots. Sin embargo, es importante que entiendan los fundamentos del funcionamiento del algoritmo para saber qué tipo de datos de entrenamiento (datos de intención) deben proporcionar al algoritmo para obtener los mejores resultados.
Comparte esto en:
Construye gratis tu propio chatbot personalizado
Empieza a crear un bot GPT personalizado con nuestra intuitiva interfaz de arrastrar y soltar.
Empieza: ¡es gratis! 🤖No se necesita tarjeta de crédito
Manténgase al día sobre lo último en IA chatbots