Le nouvel essor du Natural Language Processing – NLP

Le Natural Language Processing, ou NLP (traitement automatique du langage en français, ou TAL) connaît depuis récemment un fort regain d’intérêt dans la communauté scientifique. Cet engouement est directement lié aux progrès réalisés depuis quelques années dans le domaine de l’intelligence artificielle (machine learning et deep learning plus particulièrement). L’avènement des assistants vocaux nous laisse penser que le problème de la reconnaissance du langage humain par des machines est désormais quasiment résolu, mais où en est-on exactement ?

Histoire du NLP

Le NLP est une discipline qui étudie la compréhension, la manipulation et la génération du langage naturel par les machines, que ce langage soit écrit ou parlé. Il allie les connaissances issues de la linguistique, de l’informatique et de l’intelligence artificielle.

Des années 50 aux années 80: les premiers travaux

Les premières applications étaient principalement basées sur la traduction automatique.

Un des tous premiers ordinateurs IBM

Un ordinateur d’IBM dans les années 50

Bien que les premières expériences remontent aux années 30, c’est l’expérience Georgetown-IBM en 1954 qui lance véritablement la période d’euphorie sur le sujet: IBM et l’Université de Georgetown s’associent pour créer le premier programme informatique capable de traduire une soixantaine de phrases du russe vers l’anglais. La machine était surnommée « le cerveau ».

Dans les années 60 cependant, les progrès n’ayant pas été assez rapides pour générer un engouement durable, les travaux sur le sujet commencent à être nettement moins nombreux, jusqu’au rapport ALPAC de 1966, très critique sur les efforts en cours et qui constate que les buts n’ont pas été atteints. Il suggère de favoriser la recherche fondamentale plutôt que les applications.

Malgré la désillusion et les subventions qui s’arrêtent aux Etats-Unis, les recherches continuent. Dans les années 60 et 70, parallèlement aux recherches en traduction automatique, on voit l’apparition des premiers chatbots de l’histoire, avec par exemple ELIZA en 1964, qui était capable de simuler une psychothérapie (reformulation des phrases du « patient » et questions contextuelles) avec seulement 5 pages de langage informatique.

A partir des années 80 : une approche statistique du NLP

Jusqu’alors il s’agissait d’une approche symbolique de la discipline (développée sous l’impulsion de Noam Chomsky à la fin des années 60), c’est à dire que le savoir linguistique était codé sous forme de grammaires et de bases de données lexicales développées manuellement.

C’est à partir des années 80 que les premières approches statistiques voient le jour. Mais pour rendre la modélisation mathématique possible, il faut pouvoir transformer le texte en input numérique. Les premières méthodes consistaient alors à représenter le texte sous forme de vecteurs, en comptant les occurrences des mots ou groupes de mots par exemple.

A la fin des années 80, l’augmentation des capacités de traitement informatique et l’introduction des algorithmes de machine learning dans le traitement du langage donnent un nouveau souffle au NLP.

Avec cette approche qui vient compléter la précédente, la machine est en mesure de créer ses propres règles, déterminées par apprentissage à partir de textes.

Années 90 : la révolution du deep learning

« La technologie du deep learning apprend à représenter le monde. C’est-à-dire comment la machine va représenter la parole ou l’image par exemple » – Yann LeCun (Le Monde, 24/07/2015)

C’est dans les années 90 qu’a lieu une avancée décisive avec les travaux de Yann LeCun sur l’apprentissage profond au sein des laboratoires Bells: la mise au point du premier système basé sur les réseaux de neurones convolutifs permettant de lire les chèques bancaires. S’ensuivra pourtant une période « noire » pour le domaine, une dizaine d’années avec peu d’avancées significatives.

A partir de 2013, des réseaux de neurones comme Word2Vec, Glove puis Vanilla RNNs pour ne citer qu’eux, sont introduits dans la discipline, mais les chercheurs ne sont pas encore satisfaits et commencent à s’intéresser de plus près à ces réseaux de neurones convolutifs (initialement développés pour la reconnaissance d’images) aux résultats époustouflants.

NLP et apprentissage

 

Actuellement, grâce à la puissance de calcul exponentielle des ordinateurs, la disponibilité massive des données en open source de plus en plus importante et le perfectionnement continu des algorithmes de machine learning, le NLP est donc de nouveau en plein essor.

 

Comment ça marche ?

Les concepts de base

Qu’il s’agisse de traduction automatique ou d’une discussion avec un chatbot, les méthodes de NLP prêtent attention aux hiérarchies afin de mettre en cohérence les mots entre eux

Quelque soit la méthode utilisée, les grandes étapes préalables restent souvent les mêmes, à savoir, de manière simplifiée:

  1. L’analyse lexicale permet d’extraire les éléments du texte, mots ou groupes de mots, et de les « étiqueter » selon leur catégorie grammaticale (article, nom, verbe, adjectif, etc…). On parle de tokenisation, racinisation et lemmatisation en particulier
  2. L’analyse syntaxique (ou parsing): il s’agit de comprendre la structure des phrases. Cette étape se base sur un dictionnaire (le vocabulaire) et sur un ensemble de règles syntaxiques (la grammaire) et permet d’identifier les relations syntaxiques entre les mots (sous forme d’arbres syntaxiques)
  3. L’analyse sémantique quant à elle s’attache à la signification même des phrases. Cette étape s’avère souvent très compliquée en raison de l’ambiguïté même de notre langage: par exemple un même mot peut avoir plusieurs sens possibles
  4. L’analyse pragmatique vient compléter l’analyse sémantique en analysant les mots et phrases proches les uns des autres

Les outils

Python est un des langages couramment utilisés pour faire du Traitement Automatique des Langues, et il est très à la mode en ce moment.

Sa particularité est d’être open source et de bénéficier d’une communauté active d’utilisateurs qui collaborent et partagent leurs solutions pour résoudre des problèmes communs.

Ainsi, des « librairies » contiennent différents algorithmes directement utilisables par les data scientists.

D’autres solutions proposent également des algorithmes de NLP, comme R ou SAS par exemple.

Des experts très recherchés

les compétences d'un data scientist

Les compétences d’un data scientist

Pour manipuler ces différents concepts et les outils informatiques dédiés, sans parler des énormes quantités de données, de plus en plus non structurées, les data scientists, data miners et autres ingénieurs Big Data sont particulièrement demandés actuellement sur le marché du travail, et d’autant plus s’ils ont des connaissances dans le domaine du Natural Language Processing.

Les GAFAM ne sont pas en reste et rachètent à coup de millions toutes les startups pour lesquels travaillent les experts en intelligence artificielle ou linguistique (l’exemple le plus criant est le rachat par Google de l’entreprise britannique DeepMind en 2014 pour 628 millions de dollars).

Selon le site internet freelance Upwork, le Traitement Automatique du Langage Naturel se classe premier dans la liste des compétences aux croissances les plus rapides sur le marché du travail mondial.

Quelle sont les applications du NLP ?

Les assistants vocaux

Ces assistants personnels sont des interfaces entre un utilisateur et des fournisseurs de contenus ou de services et sont disponibles sur différents supports: smartphone (système d’exploitation / application), ordinateur et depuis peu enceinte intelligente.

Les progrès croissants en Traitement Automatique du Langage de ces dernières années ont vu l’explosion de l’offre de ces assistants et plus particulièrement des enceintes connectées. Bien qu’elles ne tiennent pas encore toutes leurs promesses, les taux d’adoption sont extrêmement élevés (plus élevés que pour les mobiles et les tablettes) et Gartner prévoit qu’en 2020 75% des foyers américains en seront équipés.

test de compréhension des enceintes intelligentes

Test de compréhension des enceintes intelligentes – Crédit: stylistme.com

D’autres applications concrètes

  • Les chatbots
  • La traduction automatique
  • Le résumé automatique de textes
  • L’analyse de discours
  • L’algorithme RankBrain de Google
  • Le filtrage des spams dans nos boîtes mail
  • La détection d’évènements
  • La traduction des vidéos
  • L’analyse de sentiments

Finalement, même si on constate que les progrès en traitement automatique du langage ont été variés et nombreux depuis la deuxième moitié du XXème siècle, et qu’on utilise désormais certaines applications concrètes de ces travaux tous les jours sans même nous en rendre compte, nous ne sommes pas encore arrivés à percer le mystère de notre langage « naturel ». Toutefois, l‘utilisation plus récente des réseaux de neurones et les espoirs qu’ils suscitent nous laissent entrevoir un futur peut être pas si lointain où les machines seront enfin capables de nous comprendre parfaitement.

Crédits photos:

Sources:

Par | 2018-03-12T11:39:57+00:00 mercredi, 7 mars, 2018|Catégories : Tech|

À propos de l'auteur :

Data analyst chez Pages Jaunes sur des problématiques marketing et commerciales, précédemment consultante en SSII, j'entame une reconversion dans l'univers du numérique pour m'ouvrir de nouvelles perspectives professionnelles tout en faisant fructifier mes compétences actuelles.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.