
El Procesamiento de Lenguaje Natural o NLP (en inglés) es uno de los pilares de la Inteligencia Artificial o Cognitive Computing. La calidad y efectividad del NLP marcan la diferencia en soluciones de este tipo.
A modo de ejemplo, un Chatbot que se apoya en un modelo conversacional basado en un NLP de última generación es muy superior a un Chatbot basado en scripts estáticos y puede ofrecer la sensación de ofrecer una conversación natural.
Los grandes fabricantes como IBM, Microsoft, Google, Facebook, Amazon, etc. tienen NLPs potentes dentro de su pila de tecnologías de Inteligencia Artificial que permiten construir soluciones realmente potentes y eficaces.
Ranking de idiomas
El Mandarín lidera el ranking de los idiomas mundiales por número de personas, seguido por el Español y el Inglés. Dicho esto, no cabe duda que el Inglés es el idioma dominante en el mundo occidental, dado que los principales fabricantes de NLPs tienen su origen en los Estados Unidos y el idioma soportado por defecto es el Inglés.
Por otro lado, existe un gran número de idiomas de poco interés económico o que no tienen un número de personas suficiente para que los fabricantes incluyen estos idiomas en sus productos.
¿Cómo pasamos de Chatbot NLP a ‘Xatbot’ en Catalán?
Surge el reto cómo construir un Chatbot NLP que hable un idioma que nuestro fabricante no ha incluido en su lista de idiomas soportados.
La solución consiste en montar un NLP híbrido. Para ello lo que se necesita es un segundo NLP capaz de traducir el idioma no soportado por nuestro NLP principal en un idioma vehicular soportado por nuestra fabricante preferido.
En nuestro ejemplo utilizamos IBM Watson como NLP principal con Español como idioma vehicular y Google Assistant como segundo NLP capaz de procesar Catalán. Esta combinación nos permite construir una solución NLP híbrida de forma efectiva y eficiente con un nivel de calidad equiparable a las soluciones no híbridas.
Funciones de NLP para el Chatbot
Las funciones de NLP son diversas y productos como IBM Watson tienen una amplia cobertura de las diferentes facetas de estas funciones. Para construir un Chatbot NLP híbrido necesitamos las siguientes funcionalidades:
- Traducción de texto. Proceso de traducción de un idioma origen en un idioma destino.
- Análisis de texto. Proceso de un análisis semántico p. ej. con una ontología en el idioma en cuestión.
Si queremos dotar a nuestro Chatbot con control por voz, el NLP debe tener también soporte para:
- Conversión voz a texto. Proceso de conversión analógico a digital a través de un procesador específico para el idioma en cuestión.
- Conversión texto a voz. Proceso de conversión digital a analógico a través de un procesador específico para el idioma en cuestión.
Chatbot NLP en Catalán
Nuestro Chatbot híbrido utiliza Slack como canal de comunicación con el usuario y sigue la siguiente secuencia:
ID |
Paso |
Input |
Output |
NLP |
Idioma |
Tecnología |
1 |
Usuario consulta |
- |
texto |
No |
Catalán |
Slack |
2 |
Recibir consulta |
texto |
texto |
Si |
Catalán |
IBM Watson |
3 |
Traducir texto |
texto |
texto |
Si |
Castellano |
Google Translator |
4 |
Análisis de texto |
texto |
comando |
Si |
Castellano |
IBM Watson |
5 |
Realizar comando |
comando |
texto |
No |
- |
IBM Watson |
6 |
Traducir texto |
texto |
texto |
Si |
Catalán |
Google Translator |
7 |
Enviar respuesta |
texto |
texto |
Si |
Catalán |
IBM Watson |
8 |
Contestar usuario |
voz |
- |
No |
Catalán |
Slack |
Conclusión
- Una solución NLP híbrida nos permite compensar que nuestra plataforma NLP preferida no tenga soporte para nuestro idioma preferido.
- Alternativamente, podríamos utilizar el NLP que tenga soporte para nuestro idioma preferido, pero esto no siempre es posible o deseable.
- Los motivos pueden ser que el NLP preferido forma parte de una arquitectura que debe dar soporte a múltiples idiomas o que el NLP implementa y entrena un cuerpo de conocimiento en un idioma vehicular.
¡Ya no hay excusa para no ampliar el universo de idiomas para los chatbots!