La PNL podría ser de gran ayuda en la construcción de chatbots en idiomas regionales, pero aún queda mucho por hacer.
Por Prakash Kumar y Apoorv Vishnoi
¿Se ha preguntado cómo se filtran los correos electrónicos basura, cómo los motores de búsqueda muestran las páginas más adecuadas, cómo la aplicación Word corrige continuamente la gramática, cómo los asistentes de voz nos hablan mientras redactamos un mensaje en WhatsApp, cómo nos sugieren las siguientes palabras? ¿Cómo descubren rápidamente los evaluadores los casos de plagio en los trabajos presentados en línea? Detrás de todo esto hay una importante aplicación de Inteligencia Artificial (IA) llamada Procesamiento del Lenguaje Natural o PLN.
A los humanos siempre nos han fascinado otros que pueden hablar como nosotros, ya sea un loro o un asistente de voz como Alexa. Ahora bien, los loros se limitan a repetir lo que oyen sin entender el verdadero significado de lo que dicen. Sin embargo, nuestros asistentes de voz son más inteligentes que eso; pueden hacer tareas significativas por nosotros, controlar nuestros dispositivos e incluso mantener una conversación interactiva con nosotros. El principal campo que confiere a los asistentes de voz este poder es el Procesamiento del Lenguaje Natural o (PLN). En pocas palabras, el PLN hace posible que los dispositivos procesen lenguajes naturales en formato escrito u oral e interactúen con nosotros. En el caso de las órdenes habladas, hay otro paso de conversión de voz a texto cuando hablamos al dispositivo y de texto a voz cuando el dispositivo nos habla.
¿Cómo entienden estos aparatos lenguas naturales como el inglés, el hindi o el francés? Bueno, los ordenadores y los algoritmos no entienden realmente las palabras. Los programas informáticos convierten el texto en números, ya que los ordenadores sólo entienden de números. En el caso de la PNL, hay un proceso intermedio llamado conversión del habla humana en propiedades o características computables llamadas vectores de características, como la intención, el tiempo y el sentimiento. Esto es necesario porque el lenguaje, a diferencia de los comandos informáticos, tiene muchos matices. Todo esto ocurre utilizando determinados algoritmos especializados de aprendizaje automático y aprendizaje profundo. Estas aplicaciones se entrenan para tareas específicas utilizando una gran cantidad de datos. Cuando utilizamos este tipo de aplicaciones en nuestros teléfonos para dictar un mensaje, no solo utilizamos la aplicación NLP, sino que también proporcionamos más datos que el programa utiliza para mejorar su rendimiento. En otras palabras, estas aplicaciones siguen aprendiendo, y por eso notamos una mejora en su rendimiento a medida que usamos la aplicación más y más.
Recibimos alertas sobre el sentimiento que prevalece en plataformas de medios sociales como Twitter, especialmente cuando se ha producido un incidente como la derrota de la India en un partido de críquet en la copa del mundo T20. ¿Cómo se hace? Al leer un tuit, sabemos si el texto muestra un sentimiento positivo, negativo o neutro. Las aplicaciones basadas en PNL se entrenan para analizar los tuits examinando las palabras o frases tras eliminar artículos, signos de puntuación, etc. Se prepara un diccionario de palabras y frases basado en tuits anteriores y se marcan como negativas, positivas o neutras. Los nuevos tuits se analizan con hashtags apropiados, como @T20World Cup en nuestro ejemplo, y mediante PNL se evalúa si la gente está contenta, triste o neutral con el resultado.
Las empresas utilizan herramientas basadas en la PNL. Una de ellas es identificar un tema en un documento extenso y resumir el informe. Utilizar un algoritmo bien entrenado para resumir estos informes en puntos clave ahorra mucho tiempo. Los bufetes de abogados y las administraciones públicas utilizan herramientas para redactar informes resumidos cuando tienen que revisar un gran número de páginas.
Los gobiernos invitan a los ciudadanos a hacer sugerencias sobre los proyectos de políticas. El gran número de respuestas dificulta el análisis manual de miles de ellas. Las herramientas de PNL son ideales para ello.
Los chatbots, que son herramientas basadas en la PNL, se han hecho muy populares de repente en los sitios web. Están entrenados en las preguntas más frecuentes y pueden responder a las llamadas con eficacia, aliviando la carga del personal del servicio de asistencia. También resuelven consultas puramente informativas, que muchas personas encuentran difíciles de localizar en los sitios web. Muchos departamentos gubernamentales han empezado a utilizar chatbots. El siguiente paso podría ser un chatbot multilingüe en los portales de la Administración para que los ciudadanos de distintos estados puedan interactuar y obtener información y ayuda hablándole en su lengua materna o utilizando texto.
Los asistentes de voz son la aplicación más conocida de la PNL. Son una mezcla de múltiples tecnologías emergentes: Un humano dice: "Eh, asistente, enciende la luz". A través del reconocimiento de voz, las palabras se convierten en texto; el texto se convierte en números que el sistema entiende; los números pasan por un conjunto de algoritmos PNL entrenados que dan un mensaje sobre la acción. El mensaje de acción se transmite a la bombilla a través de Internet de las Cosas o IoT y, por último, la bombilla se enciende. Por supuesto, todo esto ocurrirá en una fracción de segundo.
Otro caso emblemático de uso de la PNL es la traducción de idiomas. Existen muchas aplicaciones que ayudan a los usuarios a traducir de un idioma a otro. En un país como el nuestro, con 22 lenguas oficiales, un traductor entrenado en PNL puede ayudarnos a convertir documentos, páginas web y avisos públicos a varias lenguas regionales. De hecho, puede incluso ayudarnos a hablar en lenguas regionales.
Aunque se ha avanzado mucho, por el momento la PNL no puede ofrecernos una precisión muy alta en las tareas. Incluso una precisión de 75% se considera bastante buena. Una de las razones es que las lenguas tienen atributos complejos como el sarcasmo, la ironía, los modismos y muchos más. Por ejemplo, una persona escribió "Quiero saltar desde el puente". La aplicación respondió con una lista de seis puentes cercanos. Un pasajero frustrado tuiteó: "@XXX Gracias por enviar mi equipaje a Hyderabad y volarme a Calcuta al mismo tiempo. Brillante servicio. #XXX". El chatbot de la aerolínea respondió: "Me alegra oírlo. #KeepFlying XXX". Además, el algoritmo NLP es muy específico de un dominio, por lo que un algoritmo entrenado para analizar documentos legales no será adecuado para analizar historiales médicos.
Por último, los algoritmos de PNL dan mejores resultados en lenguas como el inglés, para las que se dispone de una gran cantidad de datos. Si necesitamos un rendimiento similar en lenguas regionales, tendremos que dedicar mucho esfuerzo a recopilar y limpiar los datos y a entrenar estas aplicaciones.