Traitement multilingue du langage naturel : NLP dans des langues autres que l'anglais

Effectuer le traitement du langage naturel dans des langues autres que l'anglais est un défi. Aujourd'hui, il est possible d'obtenir d'excellents résultats avec le traitement multilingue du langage naturel. Enfin, tout le monde peut effectuer le traitement du langage naturel en français, japonais, espagnol, russe, chinois, allemand... et bien plus encore.

Multilingue

Pourquoi le traitement multilingue du langage naturel est un défi

Près de 7000 langues différentes sont parlées dans le monde aujourd'hui ! Chaque langue a ses propres règles et certaines langues peuvent fonctionner très différemment. Par exemple, le français, l'espagnol et l'italien sont très similaires, mais ils n'ont rien à voir avec les langues asiatiques basées sur des idéogrammes ou des symboles comme le chinois et le japonais.

Il en résulte que différentes techniques doivent être utilisées pour créer des modèles linguistiques capables de traiter toutes ces langues.

Pour faire court, des langues différentes peuvent nécessiter des espaces vectoriels différents, même s'il existe déjà des encastrements linguistiques pré-entraînés. Il s'agit d'un domaine de recherche actif.

Quelles sont donc les solutions ?

Formation de modèles spécifiques non anglophones

Une première approche consiste à former un modèle pour une langue spécifique. Par exemple, plusieurs nouvelles versions de BERT ont été entraînées dans différentes langues. German BERT, de Deepset AI, est un bon exemple d'une nouvelle version de BERT entraînée sur la langue allemande depuis le début. de zéro : voir le BERT allemand ici.

Le problème est que cette technique n'est pas très évolutive. La formation d'un nouveau modèle prend du temps et coûte beaucoup d'argent. L'entraînement de plusieurs modèles est encore abordable pour les petits modèles comme spaCy, et Explosion AI (la société derrière spaCy) fait un excellent travail en maintenant plusieurs modèles pré-entraînés dans de nombreuses langues. un excellent travail en maintenant plusieurs modèles pré-entraînés dans de nombreuses langues : voir plus ici. 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.

Elle n'est pas non plus très évolutive du point de vue de l'inférence. Si une entreprise a besoin d'utiliser le traitement du langage naturel en production dans plusieurs langues, elle devra maintenir plusieurs modèles et provisionner plusieurs serveurs et GPU. Cela peut s'avérer extrêmement coûteux. Ce site est l'une des raisons pour lesquelles, chez NLP Cloud, nous essayons d'éviter cette stratégie autant que possible.

Modèles multilingues

Une deuxième approche consiste à exploiter des modèles multilingues.

Ces dernières années, de nouveaux modèles multilingues sont apparus et se sont avérés très précis. Parfois même plus précis que les modèles spécifiques non-anglais. Les plus populaires sont mBERT, XLM et XLM Roberta. XLM Roberta semble être le modèle multilingue le plus précis et obtient d'excellents résultats sur le jeu de données d'évaluation XNLI (une série d'évaluations visant à évaluer la qualité des modèles multilingues). pour évaluer la qualité des modèles multilingues).

De très bons modèles pré-entraînés basés sur XLM Roberta sont disponibles. Par exemple, pour la classification de textes dans de nombreuses langues, le meilleur modèle est XLM Roberta Large XNLI : voir ce modèle ici.

Pour l'instant, il n'existe pas de bon modèle multilingue pour la génération de texte. Par exemple, GPT est excellent en anglais et pas si mauvais dans plusieurs langues non anglaises. dans plusieurs langues non anglaises, mais loin d'être impressionnant. Big Science travaille actuellement sur de très grands modèles de génération de texte multilingue. Cela semble prometteur ! Plus d'informations ici..

Big Science multilingue 176 milliards de paramètres transformateurs modèle
Big Science vient d'annoncer un modèle multilingue de transformateurs de 176 milliards de paramètres

La traduction à la rescousse

La dernière stratégie consiste à utiliser la traduction. L'idée est de traduire votre contenu non-anglais en anglais, envoyer le contenu anglais au modèle, et retraduire le résultat dans votre langue d'origine.

Cette technique peut sembler être une pirouette, mais elle présente des avantages. La maintenance d'un flux de traduction peut être moins coûteuse que la formation de modèles dédiés, et toutes les langues du monde peuvent être facilement prises en charge.

Ces dernières années, des modèles de traduction avancés basés sur l'apprentissage profond ont été créés. Ils sont à la fois rapides et donnent de très bons résultats. Par exemple, Helsinki NLP a publié une série de modèles de traduction basés sur l'apprentissage profond. Vous pouvez utiliser les plus les plus populaires sur NLP Cloud : voir plus ici.

Cependant, l'ajout de la traduction à votre flux de travail augmentera le temps de réponse global. Il n'est donc pas forcément adapté si vous recherchez des des résultats très rapides.

Conclusion

Le traitement multilingue du langage naturel n'est pas un problème résolu, mais de nombreux progrès ont été réalisés ces dernières années. Il est maintenant possible d'effectuer le traitement du langage naturel dans des langues non anglaises avec de très bons résultats, grâce à des modèles spécifiques, aux modèles multilingues et à la traduction.

Chez NLP Cloud, nous pensons que la compréhension et la génération de texte dans de nombreuses langues sont cruciales, c'est pourquoi nous avons publié un add-on spécifique appelé "module complémentaire multilingue". Une fois activé, tous nos modèles d'IA peuvent fonctionner correctement dans plus de 20 langues, y compris les modèles GPT comme GPT-J et GPT-NeoX : voir ici.. We also propose advanced multilingual models like spaCy and XLM Roberta. tr%}

Julien Salinas
Directeur technique de NLP Cloud