Escrito por Tita Risueño en Planeta Chatbot.
Un chatbot entrenado con mil millones de solicitudes de los usuarios suena a ciencia ficción, especialmente en un campo como la Inteligencia Artificial, en el que la escasez de datos para entrenamiento es un problema generalizado. Por ello, los bots tienen que ser alimentados con datos:
- Que sean proporcionados en grandes cantidades: no es ningún secreto que en los últimos años el concepto de ‘grande’ ha evolucionado a una nueva etapa: cualquier cosa que previamente se haya considerado Big Data, se ha convertido hoy en un pequeño conjunto de datos. A día de hoy, cuantos más datos puedas recopilar, mayor será la tasa de entendimiento de tu bot cuando debe captar intents.
- Que sean de calidad: Cuando se trata de datos de texto, esto conlleva etiquetarlos, una tarea que tradicionalmente se hace de modo manual, y es considerada aburrida y no muy fiable. Sin embargo, es una tarea crucial puesto que la calidad de los datos es clave para una conversación exitosa.
- Que se puedan usar: Los creadores de bots se enfrentan a problemas legales con la privacidad de los datos del usuario. La mayor parte deben ser convertidos en anónimos o descartados, lo que solo contribuye al problema de escasez de datos.
[cta]
Entonces, ¿cómo obtener este tipo de datos para entrenar nuestro chatbot? Para poder hacerlo, calculamos la cantidad de intents que un desarrollador de chatbot necesitaría para crear un bot de conversación poderoso y competente.
¿Cómo creamos Homebot ?
Normalmente, un chatbot suele especializarse en un determinado campo. En este caso, Bitext ha creado Domobot, un chatbot para IoT y domótica, con alrededor de 100 acciones, 300 dispositivos, 100 lugares y 20 funciones. Al combinar todas las opciones, obtuvimos todas las oraciones posibles en que los usuarios pueden expresar sus intenciones. Esto nos dio una primera aproximación de 10,000,000 oraciones base, lo que se traduce en la asombrosa cantidad de 1,000,000,000 oraciones completas o, lo que es lo mismo, enunciados.
Ahora que sabes cuántas afirmaciones necesitas para comenzar a tener un bot conversacional competente, ¿qué vas a hacer? ¿Saber el tiempo que necesitas para escribir y etiquetarlos a todos?
Sé lo que estás pensando: no es tan simple como multiplicar todas las entidades porque no todas las opciones pueden ir vinculadas con todas. Vamos a ver un ejemplo simple: imagina que tienes la entidad ‘Dispositivos’, donde tienes ‘TV’, ‘alta fidelidad’, ‘computadora’, ‘alarma’, etc., y otra con ‘Acciones’ que se pueden realizar en la casa (‘encender’, ‘establecer’, ‘abrir’ …). Puedes “encender la computadora”, puedes “configurar la alarma”, pero no puedes “abrir la alta fidelidad” o “configurar la TV”. Estas dos últimas emisiones no tienen sentido y agregarían ruido al proceso de capacitación del chatbot.
La única solución para este dolor de cabeza es aplicar el conocimiento lingüístico. La definición de las relaciones entre las entidades asegura un corpus de expresiones delgadas y sensibles que son relevantes para nuestro chatbot.
Además, hay muchas variables para la misma oración base, y producirlas es, una vez más, no una cuestión de iteración, sino una tarea para un equipo de lingüistas: hay que cubrir fenómenos como la cortesía, la redundancia o las proposiciones coordinadas, solo por mencionar algunos puntos. Es por eso que los números anteriores no tendrán ningún sentido si intentas hacer una simple multiplicación.
Entonces, ahora que entiendes estos dígitos y que entrenar un robot no es una tarea tan sencilla como algunos determinan, no tienes que perder la esperanza. El middleware de Bitext NLP para bots genera automáticamente enunciados etiquetados que son expresiones similares y sensibles de las solicitudes de los usuarios que ya tienes. De esta forma, puedes contar, desde el primer minuto, con un conjunto de datos considerable, de alta calidad y completamente operativos.