Focus sur 7 techniques de NLP

Focus sur 7 techniques de NLP

Le NLP, ou Natural Language Processing, est le domaine de l’informatique qui permet aux machines de mieux comprendre le langage humain.

Les récentes avancées dans ce domaine ont ouverts des perspectives exceptionnelles dans de nombreux domaines comme l’art, la santé ou l’IHM.

Les modèles de NLP d’aujourd’hui sont capables de comprendre des questions, de générer du texte et de comprendre des subtilités complexes comme l’ironie ou l’humour.

Dans cet article, je vous présente plusieurs techniques de NLP. On verra ce qu’elles permettent de faire, comment les utiliser, ainsi que leurs limites.

La traduction de texte

C’est une des applications les plus connues et les plus anciennes du NLP. C’est sans doute aussi celle qui est la plus utilisée.

Traditionnellement, les modèles de traduction de textes se contentaient de traduire les phrases mot à mot. Je me souviens encore de mes profs d’anglais aux collèges, qui interdisaient l’utilisation de ces systèmes pour leur manque de fiabilité.

Et je l’avoue, les traductions proposées étaient honteuses !

En 5-10 ans les choses ont bien changées. L’arrivée de systèmes de traduction comme celui de DeepL, l’amélioration de Google traduction, ont rendus ces outils beaucoup plus robustes.

L’augmentation de la quantité de données disponible et la conception d’architectures de réseaux de neurones comme les LSTM ont bien aidés.

Les LSTM ont changés l’approche utilisée pour résoudre le problème en introduisant des éléments de contexte. L’analyse du contenu à traduire ne se fait plus mot à mot mais par paquets de mots.

Les chatbots

Les chatbots sont devenus en quelques années, un outil essentiel dans de nombreux domaines.

Dans la relation clientèle, ils améliorent la prise en charge et permettent de libérer du temps pour les agents (des fois ahah). Dans l’éducation, ils permettent d’avoir rapidement des réponses à ses questions. Dans l’administration, ils permettent un temps d’attente plus réduit et aident à traiter les demandes répétitives et faciles à comprendre pour une IA.

De façon plus générale, les chatbots sont en train de devenir des outils de base dans les interactions humains-machines.

Même si d’un point de vue technique les solutions sont de plus en plus robustes et fiables, les perspectives liées à l’utilisation de chatbots sont limitées dans de nombreux domaines. Dans un article écrit en 2020, Personne n’aime parler à une IA, j’expliquais que les domaines comme la relation client ou l’administration, étaient une question de relations humaines et d’émotions, des choses que les chatbots ne sont toujours pas capables de copier.

Par ailleurs, les interactions humaines se font plus naturellement par la voix, ça ne m’étonnerait pas que d’ici quelques années on fasse toutes nos recherches, nos achats et nos démarches scientifiques par la voix. Au contact d’IA qui reconnaissent les voix, comprennent le langage et soient capables de détecter les émotions de l’interlocuteur et d’adapter leurs voix.

Générer des textes

La traduction de texte et les assistants intelligents, bien qu’impressionnants au départ, sont loins d’être des applications nouvelles.

La génération de texte en revanche, est une application très haut niveau, qui donne aux machines une vraie compétence qui peut beaucoup aider.

Les meilleurs modèles d’aujourd’hui permettent de générer des textes très réalistes, complets et cohérents. Certains étudiants sur Twitter expliquent qu’ils utilisent des modèles comme GPT-3 pour générer les essais demandées par leurs profs, et ça passe !

Beaucoup du contenu partagé sur les réseaux sociaux est généré par des modèles d’intelligence artificielle.

Exemple de générateur d'articles de blog

Pour expliquer au mieux le fonctionnement de ces IA, je laisse la parole à une IA ahah :

La génération de texte consiste à générer automatiquement du texte en langage naturel à partir d’un certain type de données d’entrée. Les données d’entrée peuvent aller d’un simple mot à une grande collection de documents. Le texte de sortie peut être n’importe quoi, d’une seule phrase à un document entier.

La génération de texte est souvent utilisée pour des applications telles que la traduction automatique, le résumé et la réponse aux questions. Il peut également être utilisé pour générer des descriptions d’images ou de vidéos. Ces dernières années, il y a eu un intérêt croissant pour l’utilisation des réseaux de neurones pour la génération de texte en raison de leur capacité à produire un texte réaliste.

L’IA peut être utilisée de différentes manières pour la génération de texte. Une méthode populaire consiste à utiliser des réseaux de neurones capables d’apprendre des modèles complexes à partir de données et de générer un nouveau texte qui semble réaliste. D’ autres méthodes incluent des systèmes basés sur des règles , qui utilisent des règles prédéfinies pour générer du texte , et des modèles statistiques , qui prédisent la probabilité que certains mots ou expressions apparaissent ensemble .

Quelle que soit la méthode utilisée, l’objectif est toujours de générer un texte qui semble naturel et qui ait un sens dans le contexte pour lequel il a été généré.

Je reprend la main ahah 🙂 Impressionnant non ?

Concernant ce sujet, Adib, un des contributeurs de La revue IA, a créé un modèle de génération de paroles de rap français, je vous laisse son github.

Text2image

Focus sur 7 techniques de NLP
Image générée avec le prompt : « tech article illustration, concept art »

Le text2image est une technique à cheval entre le NLP et le traitement d’images.

Je le met dans cet article car le vrai challenge à résoudre pour être capable de générer des images réside surtout dans la compréhension du texte.

C’est OpenAI qui a lancé en 2021 la course aux modèles d’intelligence artificielle qui permettent de générer des images, avec le projet DALL-E. La version 2, DALL-E 2, a été publié entre temps.

Dans un article récent, j’ai montré comment utiliser le modèle open-source stable diffusion pour générer des images à partir de texte.

Classification de textes

Une autre technique de NLP, moins impressionnantes mais très utilisées, est la classification de textes.

La première fois que j’ai fait du NLP c’était pour de la classification de textes. Je devais classifier automatiquement des descriptions de produits pour un site de e-commerce.

La classification de textes est très utilisés pour faire du clustering de films à l’aide de leurs synopsis, de livres ou encore de posts sur les réseaux sociaux.

Resumer du contenu

La génération de contenu assistée par intelligence artificielle a offert de nombreuses perspectives.

Comme les modèles sont capables de comprendre avec précision ce qui se dit dans le texte, ils savent comment filtrer le contenu entre ce qui est indispensable, ce qui est important et ce qui peut être supprimé. Ce qui les rend très utiles pour résumer des longs textes.

On pourrait imaginer des modèles d’intelligence artificielle capable de transcrire les échanges pendant une réunion, et fournir un résumé concis et qui contient les informations nécessaires à la fin de la réunion.

Améliorer du texte

Quand je dois rédiger un mail important, ou pour corriger mes articles, j’utilise souvent Grammarly, c’est un outil qui fonctionne avec de l’intelligence artificielle, et qui permet d’améliorer le texte.

En plus de proposer une correction orthographique, le modèle est capable de suggérer des modifications de mots, en mettant des synonymes ou changer complètement la tournure de phrase.

Par ailleurs, on peut donner notre objectif avec le texte au modèle pour améliorer les suggestions. Par exemple, on peut écrire un mail pour un ami, et envoyer un mail similaire avec les mêmes informations à un client, juste en demandant à l’IA de changer le ton du mail.

Conclusion

Même si les applications du NLP présentées ici sont très robustes et développées, l’aspect éthique du sujet n’a pas encore été totalement résolu.