NLP… ça a à voir avec la langue ?

Voici quelques semaines, j’intervenais en cours de M1 de Linguistique Informatique, pour présenter ma marotte (qui plaît beaucoup aux universitaires), à savoir les aspects industriels du Traitement Automatique des Langues. J’ai donc fait un exposé sur les applications métier de la génération automatique de textes.

La professeure m’a proposé de rester pour la suite de la séance qui consistait en une présentation par les étudiants, la première portait sur Spacy.io, le toolkit (que je trouve plutôt bien fait) de traitement de la langue en Python. L’introduction faite par le groupe d’étudiants était : « Spacy.io est un toolkit de NLP, le NLP est une partie de l’IA qui est une partie importante du deep-learning ». Leur professeure s’est évidemment étranglée sur sa chaise (autant que moi), mais ne les a pas interrompus, les laissant présenter les diverses fonctionnalités de Spacy (tokenization, POS-tagging, syntaxe, etc.) pour en arriver à « la plus importante » : la production de vecteurs de mots (ou word-embeddings) qui permettent de mesurer la similarité entre des énoncés.

Bien sûr, les jeunes se sont fait vertement tancer par leur professeure, comme on disait autrefois, mais ils ne sont pas les seuls responsables. L’ambiance générale – pas seulement médiatique, qui ne comprend pas grand chose à la technologie – mais aussi du marché de l’emploi brouille totalement les pistes et mélange allègrement ces concepts.

Reprenons point par point :

  • Le TAL fait partie de l’IA. Oui. C’en était une branche dans les années 80, avant de prendre son autonomie quand l’IA s’est réduite aux moteurs de règles qui sont devenus des composants standard de la boîte à outils du programmeur.
  • L’IA est une partie du deep-learning. C’est évidemment faux, mais plus globalement, l’IA n’est pas que l’apprentissage, deep ou non. Il y a d’autres techniques d’IA que l’apprentissage (ce que même Cédric Villani, dans son rapport sur l’IA, a complètement oublié, par parenthèse).

Et c’est sur ce dernier point que ça se complique. Si l’on confond IA et apprentissage, alors il n’y a plus de TAL que de et par l’apprentissage (sur corpus) et la réflexion sur la langue passe progressivement au second plan pour réduire le travail sur le texte à une « préparation des données » pour les data-scientists, préparation de données qui n’a plus pour objectif que de gagner des points dans des tâches d’évaluation ou de faire des vecteurs associées à des mots. La boucle est bouclée et nos étudiants ne sont pas si à côté de la plaque, au bout du compte.

Pour illustrer mon propos, une offre d’emploi pour un « language data specialist » pour Amazon, pointée par Emily M. Blender. Il est demandé de savoir travailler avec des gros volumes de texte, travailler en SAS ou R, mais aucune connaissance de linguistique ni même de langue n’est requise. On imagine que c’est pour travailler en anglais, mais même ça, ce n’est pas spécifié. A ce sujet, Emily Blender est à l’origine du hashtag #NLisnotasynonymforEnglish, sur lequel je reviendrai.

Alors pour m’amuser (et aussi pour vérifier que je ne me lançais pas dans un combat d’arrière-garde), je me suis donc livré à un petit test en utilisant Spacy pour valider la proximité de deux phrases. Le voici :

import spacy

nlp = spacy.load('fr')

doc1 = nlp("je veux bien acheter ce produit")

doc2 = nlp("je ne veux pas acheter ce produit")

print(doc1.similarity(doc2))

Résultat :

0.886037151253

Autrement dit, une phrase et sa négation sont considérées comme sémantiquement très, très proches. Ce qui n’est pas aberrant : on parle bien d’une volonté d’achat d’un produit. Ce n’est pas comme si on comparait la première phrase avec un vers de Victor Hugo. Mais si vous basez le développement de votre site de vente en ligne sur un chatbot avec ce type de similarité, vous risquez d’être déçu par le chiffre d’affaires effectif.

Bref, une vraie étude de la langue, avec un peu de syntaxe, par exemple, ça peut aider, c’est même indispensable. Les linguistes ont encore des choses à dire, ne les oublions pas.

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s