Procesamiento multilingüe del lenguaje natural: NLP en lenguas no inglesas

Realizar el procesamiento del lenguaje natural en lenguas no inglesas es todo un reto. Hoy en día, es posible obtener grandes resultados con el procesamiento multilingüe del lenguaje natural. Por fin, cualquiera puede realizar el procesamiento del lenguaje natural en francés, japonés, español, ruso, chino, alemán... y mucho más.

Multilingüe

Por qué el procesamiento multilingüe del lenguaje natural es un reto

Hoy en día se hablan casi 7.000 lenguas diferentes en el mundo. Cada lengua tiene sus propias reglas y algunas lenguas pueden funcionar de forma muy diferente. Por ejemplo, el francés, el español y el italiano son muy similares, pero no tienen nada que ver con las lenguas asiáticas basadas en ideogramas o símbolos como el chino y el japonés.

La consecuencia es que hay que utilizar diferentes técnicas para crear modelos lingüísticos capaces de tratar todas estas lenguas.

Para abreviar, los distintos idiomas pueden requerir espacios vectoriales diferentes, aunque ya existan algunas incrustaciones lingüísticas preentrenadas. Este es un campo de investigación activo.

¿Cuáles son las soluciones?

Formación de modelos específicos no ingleses

Un primer enfoque consiste en entrenar un modelo para un idioma específico. Por ejemplo, varias versiones nuevas de BERT se han entrenado en varios idiomas. German BERT, de Deepset AI, es un buen ejemplo de una nueva versión de BERT entrenada en el idioma alemán desde desde cero: ver el BERT alemán aquí.

El problema es que esta técnica no se adapta bien. Entrenar un nuevo modelo lleva tiempo y cuesta mucho dinero. El entrenamiento de varios modelos sigue siendo asequible para modelos pequeños como spaCy, y Explosion AI (la empresa que está detrás de spaCy) hace hace un gran trabajo al mantener varios modelos preentrenados en muchos idiomas: vea más aquí. But natural language processing models are getting bigger and bigger, and training these big models is very costly. For example, training the brand new GPT models (GPT-3, GPT-J and GPT-NeoX) took several weeks and cost million dollars. Training new versions of these models is not something everybody can do.

Además, no se adapta bien desde el punto de vista de la inferencia. Si una empresa necesita utilizar el procesamiento del lenguaje natural en producción en varios idiomas, tendrá que mantener varios modelos y aprovisionar varios servidores y GPUs. Esto puede resultar extremadamente costoso. Este es una de las razones por las que, en NLP Cloud, intentamos evitar esta estrategia en la medida de lo posible.

Modelos multilingües

Un segundo enfoque es aprovechar los modelos multilingües.

Estos últimos años han aparecido nuevos modelos multilingües que han demostrado ser muy precisos. A veces incluso más precisos que los modelos específicos no ingleses. Los más populares son mBERT, XLM y XLM Roberta. XLM Roberta parece ser el modelo multilingüe más preciso, y está funcionando muy bien en el conjunto de datos de evaluación XNLI (una serie de evaluaciones para evaluar la calidad de los modelos multilingües).

Hay disponibles algunos modelos preentrenados muy buenos basados en XLM Roberta. Por ejemplo, para la clasificación de texto en muchos idiomas, el mejor es XLM Roberta Large XNLI: ver este modelo aquí.

Por el momento no existe un buen modelo multilingüe para la generación de textos. Por ejemplo, GPT es excelente en inglés y no tan malo en varios idiomas no ingleses, pero dista mucho de ser impresionante. Big Science está trabajando actualmente en modelos de generación de texto multilingüe muy grandes. Parece prometedor. Vea más aquí..

Modelo de transformadores Big Science multilingüe de 176 mil millones de parámetros
Big Science acaba de anunciar un modelo de transformadores multilingües de 176 mil millones de parámetros

La traducción al rescate

La última estrategia es utilizar la traducción. La idea es que traduzcas tu contenido no inglés al inglés, enviar el contenido en inglés al modelo, y traducir el resultado de nuevo a su idioma original.

Esta técnica puede parecer una chapuza, pero tiene sus ventajas. Mantener un flujo de trabajo de traducción puede ser menos costoso que entrenar modelos dedicados, y todos los idiomas del mundo pueden ser fácilmente soportados.

Estos últimos años se han creado modelos de traducción avanzados basados en el aprendizaje profundo. Son rápidos y proporcionan muy buenos resultados. Por ejemplo, Helsinki NLP lanzó una serie de modelos de traducción basados en el aprendizaje profundo. Puede utilizar los más populares en NLP Cloud: vea más aquí.

Sin embargo, añadir la traducción a su flujo de trabajo aumentará el tiempo de respuesta general. Así que puede que no sea adecuado si está buscando resultados muy rápidos.

Conclusión

El procesamiento multilingüe del lenguaje natural no es un problema resuelto, pero se ha avanzado mucho en los últimos años. Ahora es posible realizar el procesamiento del lenguaje natural en lenguas no inglesas con muy buenos resultados, gracias a modelos específicos los modelos multilingües y la traducción.

En NLP Cloud, creemos que la comprensión y generación de texto en muchos idiomas es crucial, por lo que lanzamos un complemento específico llamado "complemento multilingüe". Una vez activado, todos nuestros modelos de IA pueden funcionar bien en más de 20 idiomas, incluidos los modelos GPT como GPT-J y GPT-NeoX: véalo aquí.. We also propose advanced multilingual models like spaCy and XLM Roberta. tr%}

Julien Salinas
CTO en NLP Cloud