Un “chatbot” en portugués es un programa capaz de entender y analizar una conversación en portugués. Hoy en día, estos chatbots pueden mantener un diálogo muy fluido entre humanos y computadoras.

Los avances recientes en Procesamiento de Lenguaje Natural (PLN) permiten crear chatbots en portugués considerando las particularidades del idioma. Estos avances usan aprendizaje automático (ML) para entender no solo la estructura del lenguaje, sino también el significado de las palabras y sus contextos.

Creando un chatbot en portugués con IA

El portugués es el sexto idioma más hablado del mundo, la mitad de sus hablantes están en Brasil, y aunque está cerca de otras lenguas latinas, tiene dos particularidades notables:

  • Existen numerosos falsos cognados, palabras que se parecen pero tienen significados diferentes. En pt_PT, propina es un pago mensual, en pt_BR es un soborno. Incluso en Brasil, las palabras pueden cambiar de significado: en el noreste, "cabra" se usa para referirse a un hombre, pero en el resto del país solo significa el animal.
  • El uso intensivo de contextos dificulta mucho el trabajo de interpretación de un chatbot en portugués. La palabra "chega" puede ser un verbo ("ella llega mañana") o una petición de detenerse ("basta de esta conversación").

Además, existen expresiones idiomáticas completamente diferentes entre hablantes de distintos países, lo que a veces dificulta mucho la comprensión de frases enteras.

¿Estas particularidades hacen que el trabajo de un chat en portugués sea difícil? No es de extrañar, la respuesta es sí.

Chatbot en portugués: desafíos del PLN

Lo anterior plantea retos para el PLN en chatbots en portugués. El primer paso para cualquier algoritmo de Procesamiento de Lenguaje Natural es entender el idioma, es decir, analizar las frases en pequeñas unidades de significado, o "tokens". A esto se le llama "tokenización" (por cierto, una característica del portugués brasileño es adaptar palabras extranjeras). Así, cuanto más sistemático y ordenado es el idioma, más fácil es tokenizarlo.

Antes de entender los últimos avances en PLN, necesitamos saber cómo se crearon los modelos de comprensión de PLN.

En el pasado

De alguna manera, entender cómo se crea un chatbot en portugués (o en cualquier idioma) implica un viaje en el tiempo.

Las primeras investigaciones para abordar la imprevisibilidad del lenguaje se remontan a la década de 1940, con los artículos del neuroanatomista y psiquiatra Warren McCulloch, del Instituto Tecnológico de Massachusetts, y del matemático Walter Pitts, de la Universidad de Illinois. Ellos sentaron las bases teóricas que permitieron a John von Neumann escribir “The General and Logical Theory of Automata”, a finales de los años 40.

Los avances que permitieron a las computadoras tener cada vez más poder de procesamiento formaron el otro pilar que llevó la investigación del PLN de los laboratorios científicos a los laboratorios de empresas y organismos gubernamentales dedicados a investigar el uso cotidiano de las nuevas tecnologías.

La historia del PLN, específicamente, comienza realmente en la década de 1950, cuando Alan Turing publicó el artículo “Computing Machinery and Intelligence”, que proponía lo que ahora se conoce como el Test de Turing como criterio de inteligencia.

A partir de finales de los años 80, sin embargo, hubo una revolución en el PLN con la introducción de algoritmos de aprendizaje automático para el procesamiento del lenguaje. Esto se debió tanto al aumento constante del poder computacional como a la disminución gradual de la dominancia de las teorías lingüísticas “chomskyanas”, cuyos fundamentos teóricos desalentaban el tipo de corpus lingüístico que subyace al enfoque de aprendizaje automático en el procesamiento del lenguaje. Esta automatización se lograba dividiendo las oraciones en bloques más pequeños y aplicando reglas estadísticas para catalogar e identificar las relaciones entre esos bloques. Este proceso se llama “tokenización”, ya detallado arriba.

Sin embargo, el trabajo de tokenizar un idioma requería mucha intervención manual por parte del investigador de PLN. Cada idioma tenía que ser tokenizado de forma independiente y esencialmente manual.

Este trabajo de tokenización era especialmente difícil para los bots que manejan lenguajes altamente contextuales, como puedes imaginar.

Una vez tokenizado el idioma, se pueden aplicar algoritmos de IA para entenderlo, es decir, construir un mapa de significado sobre cómo se relacionan las palabras en el idioma.

Esta etapa de comprensión del idioma podría automatizarse si la tokenización fuera confiable. El problema, sin embargo, era que la tokenización era complicada y, por tanto, incluso los algoritmos de comprensión debían configurarse manualmente junto con la tokenización.

Y el resultado final no era bueno. Por ejemplo, el nivel de comprensión del portugués en comparación con el inglés era mediano. Por supuesto, siempre ha habido mucho más enfoque en la investigación en inglés que en portugués, pero la dificultad de manejar los escenarios de contextualización del portugués hacía difícil lograr buenos resultados.

Como es natural en los investigadores de IA, se preguntaban si la propia tokenización podría hacerse mediante aprendizaje automático. Esto permitiría que los algoritmos de tokenización y comprensión fueran independientes del idioma subyacente (lo que se llama agnóstico al idioma) y, por tanto, haría que entrenar la IA en un idioma fuera mucho más rápido y eficiente.

Avances recientes en inteligencia artificial

Y fue en ese momento cuando se logró la innovación a finales de 2018: la IA podía entrenarse en portugués sin intervención manual y, como resultado, el rendimiento del PLN mejoró notablemente.

Las plataformas de IA para chatbots en portugués pudieron mejorar instantáneamente y la comprensión resultante en portugués fue similar al nivel alcanzado en otros idiomas.

El hecho de que este avance ocurriera no significa que la calidad general de los chatbots en portugués mejorara de inmediato. Para que los clientes notaran estos beneficios, el primer paso para las plataformas de chatbot que usan IA fue actualizar sus algoritmos para emplear las tecnologías más recientes.

Dado el nivel de inversión en la tecnología anterior, esto no fue algo que estas plataformas hicieran rápidamente.

Además, hay algunas funciones que las plataformas deben implementar para garantizar que los chatbots en portugués ofrezcan una buena experiencia a los usuarios finales. Por ejemplo, la construcción de bloques de sinónimos y sus usos en diferentes contextos para mapear los significados y así evitar que el chatbot interprete una palabra con un significado diferente al contexto en el que se usa.

Plataforma multilingüe

Trabajar con varios idiomas en diferentes plataformas puede ser complicado. Algunas plataformas requieren que los chatbots en distintos idiomas se creen como bots separados, lo que claramente es ineficiente para escalar y mantener.

Por eso, una buena plataforma debe ser realmente multilingüe y permitir varias traducciones del mismo contenido en la interfaz de usuario.

Además, el idioma debe definirse como una variable de la conversación, para que la IA pueda detectarlo con precisión y los diseñadores de conversación puedan crear la lógica en torno a ese idioma.

Más allá de la funcionalidad específica del idioma, para crear un gran chatbot en cualquier idioma, la funcionalidad general de la plataforma debe ser excelente. Hay dos categorías de funcionalidad importantes.

  • La primera es la tecnología general de comprensión del lenguaje natural (o, como se mencionó antes, el algoritmo de PLN). Una plataforma con buen rendimiento no solo será independiente del idioma, sino que el algoritmo de PLN subyacente usará la tecnología más reciente y funcionará bien en general. Es importante que la plataforma cuente con funciones relacionadas con PLN, como el llenado de 'slots' (fragmentos de información extraídos de un contexto para formar un conjunto de datos en formato “clave/valor”) y la coincidencia de intención basada en el contexto del diálogo.
  • La segunda categoría es la funcionalidad general de la plataforma. Debe permitir a los diseñadores crear fácilmente experiencias de chatbot altamente satisfactorias para los usuarios finales, incluyendo la integración sencilla con sistemas heredados y de terceros. Si no tiene esta funcionalidad o no es fácil de usar, no importa si es en portugués o no.

Por último, la calidad de la experiencia de chatbot creada para el usuario final está directamente relacionada con la potencia de la herramienta utilizada para crearla, desde la comprensión del idioma hasta el enfoque de la interfaz gráfica o textual.

Construyendo el mejor chatbot en portugués

Incluso con una buena plataforma, todavía existen desafíos al crear un chatbot en portugués. Hay pocos estudios en portugués en el mundo de la IA, por lo que conseguir los recursos adecuados para un proyecto puede ser bastante complicado.

Aunque no es necesario encontrar recursos para escribir los algoritmos subyacentes del PLN, ya que estos se proporcionan de inmediato, puede ser un reto encontrar diseñadores competentes que entiendan las diferencias idiomáticas entre los distintos grupos a los que debe atender el chatbot en portugués. Esto es especialmente cierto en el caso del portugués, dado el uso extensivo de expresiones idiomáticas basadas en el contexto.

Por eso es importante que la plataforma de chatbot permita que el contenido y las traducciones se actualicen y mantengan fácilmente por personas no técnicas, ya que es probable que los diseñadores y desarrolladores no dominen los aspectos culturales de las distintas variantes del portugués.

Obviamente, el hecho de que los chatbots de alta calidad en portugués sean cada vez más precisos significa que la adopción de esta tecnología aumentará en los próximos años. Esta adopción creciente resolverá los problemas de restricción de recursos y permitirá a los posibles compradores de la tecnología tener una idea clara de cuál es la mejor práctica para lograr los mejores resultados.

Resumen

Las innovaciones en tecnología de PLN no solo se aplican a los chatbots en portugués, sino también a otras aplicaciones de IA. Ahora vemos sistemas multifacéticos que usan IA en portugués de diferentes maneras, desde el análisis de sentimientos en noticias y comentarios, hasta el resumen o la generación de textos que antes solo podían hacer los humanos. Por lo general, un chatbot en portugués se usa como interfaz de usuario no solo para diferentes tecnologías de IA, sino también para ayudar a los usuarios finales a utilizar otros sistemas, como sitios web o aplicaciones web, o incluso como asesor de compras y/o toma de decisiones.

Por supuesto, aunque ha habido un gran avance en el poder del PLN en portugués, los resultados siempre pueden mejorar. La investigación sigue mejorando los motores de PLN y sin duda vendrán nuevos avances. Hasta que el PLN alcance niveles humanos, siempre habrá trabajo por hacer.

El siguiente paso para todos los motores de PLN, sin importar el idioma, es mejorar en los diálogos de varias vueltas. Esto significa permitir que una persona tenga una conversación de varios pasos con el bot en un dominio temático restringido, en lugar de solo dar comandos o hacer preguntas. Y el siguiente paso relacionado con las plataformas de chatbot es facilitar la creación de diálogos de varias vueltas.

El diálogo de varias vueltas es especialmente importante para interfaces de voz como Alexa o dispositivos como Google Home.

Aunque hemos hablado de avances en la tokenización basada en aprendizaje automático y sus implicaciones para el PLN en portugués, un tema relacionado es la transcripción de voz a texto en portugués. La transcripción de voz a texto para el portugués aún está evolucionando respecto a otros idiomas, aunque las diferencias de rendimiento están disminuyendo rápidamente. Esperamos que el progreso del PLN descrito aquí y que se está logrando en todo el mundo ayude a reducir aún más esa brecha en el futuro cercano.