Comment fonctionne le traitement du langage naturel ?

Comment fonctionne le traitement du langage naturel ?

Table des matières

En 2021, quelqu’un a eu une idée. Notre GMAO contenait vingt ans de commentaires de panne, tapés à la main, dans un champ libre. Des dizaines de milliers de lignes. L’idée était de faire lire tout ça à une machine, pour trouver les pannes récurrentes. Sur le papier, c’était brillant. Ça n’a jamais marché. Comprendre pourquoi m’a pris trois ans, une retraite, pas mal de lectures. Voilà ce que j’ai fini par apprendre sur le traitement du langage naturel.

Le champ libre, ce trésor pourri

Commençons par ce qu’il y avait dedans. Des vraies lignes, ou presque, je les tape de mémoire :

« RAS » « idem hier » « changé le roult, voir avec Dédé » « pompe HS, cf intervention du 12 » « ça refait pareil »

Vingt ans de ça. Écrit à 3 h du matin, les mains sales, entre deux interventions. Aucun opérateur n’a jamais rempli ce champ en pensant qu’une machine le lirait un jour. Des données textuelles, au sens strict. Du langage humain, au sens le plus humain du terme.

Ce sont des données textuelles. Le NLP, le traitement du langage naturel, existe précisément pour ça : faire comprendre à une machine du langage humain écrit par des humains, pour des humains. Le langage naturel, c’est le nôtre. Celui qu’on parle sans y penser.

Voilà comment il s’y prend.

Ce que la machine fait avant de comprendre

Le traitement du langage naturel, en anglais natural language processing, n’est pas une opération. C’est une chaîne de traitements. Chaque étape prépare la suivante. Les tâches du NLP se ressemblent toutes de ce point de vue : préparer le texte, puis le faire manger à un modèle.

ÉtapeCe que la machine faitSur notre exemple
TokenisationDécouper le texte en unités« changé », « le », « roult »
LemmatisationRamener chaque mot à sa racine« changé » devient « changer »
Étiquetage morpho-syntaxiqueMarquer verbe, nom, adjectif« changer » verbe, « roult » inconnu
Reconnaissance d’entités nomméesRepérer les noms propres, lieux, dates« Dédé » personne, « 12 » date probable
VectorisationTransformer les mots en nombresChaque mot devient une suite de chiffres
ModèleChercher les régularitésTrouver les pannes qui reviennent

Six étapes. Sur nos commentaires, ça cassait dès la deuxième.

Découper, c’est déjà compliqué

La tokenisation semble bête. Découper aux espaces, aux ponctuations. Sauf que « pompe HS » compte pour deux mots, alors que ça veut dire une seule chose. « cf. » contient un point qui n’est pas une fin de phrase.

Un texte de journal se découpe bien. Un commentaire de maintenance, non. Le NLP aime les documents propres.

La racine des mots

La lemmatisation ramène « changé », « changera », « changement » à une même famille. C’est ce qui permet de compter.

Elle repose sur un dictionnaire, sur des règles de langue. « Roult », abréviation maison de roulement, n’est dans aucun dictionnaire. Chaque site industriel a son vocabulaire. Notre machine voyait un mot inconnu, elle le jetait. Aucune analyse ne rattrape ça.

L’étiquetage, la grammaire

L’étiquetage morpho-syntaxique marque la nature de chaque mot. C’est cette étape qui permet de distinguer « le bouchon ferme » du « bouchon de la ferme ».

Elle a besoin d’une phrase. « RAS » n’est pas une phrase. « idem hier » non plus.

Les entités nommées

La reconnaissance d’entités nommées, la NER en anglais, repère les noms propres, les lieux, les dates, les références de pièces. C’est l’étape la plus utile en industrie : elle extrait les informations clés d’un document.

Sur nos textes, cette tâche marchait plutôt bien. Elle trouvait les références de machine, les dates. Elle butait sur « Dédé », qu’elle rangeait en personne, ce qui était juste, sans aucun intérêt. C’est la manière dont fonctionne le NLP : il applique, il ne juge pas.

Peser les mots

Ensuite, il faut transformer les mots en nombres, parce que les modèles ne mangent que des nombres. C’est là que les données textuelles deviennent des données tout court.

La méthode ancienne s’appelle TF-IDF. On me l’a expliquée simplement : un mot qui apparaît partout ne dit rien, un mot rare qui apparaît souvent dans un document précis, celui-là est caractéristique. Le mot « le » ne caractérise rien. Le mot « vibration » caractérise.

C’est vieux. C’est simple. Ça marche encore très bien pour la recherche documentaire, pour classer des documents par thème.

Du comptage aux réseaux neuronaux

Voilà la bascule qu’on m’a expliquée, celle qui a tout changé depuis dix ans.

Les vieilles méthodes comptaient les mots. Les nouvelles regardent le contexte. Un modèle de deep learning, entraîné sur des milliards de phrases, apprend que « roulement » vit près de « graisse », de « vibration », de « bruit ». Il fabrique une représentation où les mots proches par le sens sont proches par les chiffres. Cet apprentissage se fait sans qu’aucun humain n’écrive la règle.

C’est de là que sortent les modèles dont tout le monde parle, les GPT, ceux d’IBM, de Google, de Microsoft, ceux qu’on loue chez AWS. Le principe est le même à toutes les échelles : deviner ce qui vient après, en fonction du contexte.

Le NLP moderne, c’est ça. Du machine learning, du deep learning, de l’apprentissage automatique sur des réseaux neuronaux, entraînés sur des quantités de texte qu’aucun humain ne lira jamais. L’intelligence artificielle dont on parle aujourd’hui sort en grande partie de cette branche-là.

Ce qui n’a pas changé : le modèle a besoin de contexte. Sans contexte, il ne devine rien.

NLP, machine learning, deep learning : qui fait quoi

On m’a fait un dessin, un jour, sur un coin de table. Je le refais.

La linguistique informatique est le vieux fond : des règles de grammaire, écrites par des humains, pour analyser le langage. Ça a tenu trente ans. Ça tient encore pour certaines tâches.

Le machine learning, l’apprentissage automatique, a remplacé les règles par des exemples. On ne dit plus à la machine ce qu’est un verbe : on lui montre un million de phrases étiquetées, elle trouve la règle toute seule.

Le deep learning est du machine learning avec des réseaux neuronaux à plusieurs couches. C’est ce qui a permis les modèles de langage actuels.

Le NLP, lui, n’est pas une technologie. C’est un domaine : faire traiter du langage humain par une machine. Il utilise les trois autres, selon la tâche.

Autrement dit : le traitement du langage naturel est la question, l’apprentissage automatique est la méthode, les modèles de deep learning sont l’outil du moment.

Ce dessin m’a plus servi que dix articles. Je le passe tel quel.

Pourquoi notre projet a échoué

Maintenant je peux répondre à ma propre question.

« Idem hier » ne contient aucune information. Zéro. L’information est dans la ligne d’hier, qu’aucun système ne rattache à celle-ci. Un humain de l’équipe comprenait. Le lien était dans sa tête, pas dans les données.

« Ça refait pareil » suppose de savoir ce que « pareil » désigne. C’était dans la tête du gars. Il est parti en 2019.

Notre langage d’atelier était un langage de contexte. Chaque commentaire n’avait de sens qu’entouré de dix ans de mémoire collective. Le NLP travaille sur du texte. Nous, on n’avait pas écrit du texte. On avait écrit des rappels, pour nous-mêmes.

La machine n’a pas échoué. Le modèle non plus. Ils ont lu exactement ce qu’il y avait. Il n’y avait rien.

Aucune analyse de données ne fabrique de l’information absente.

Où le traitement du langage naturel marche vraiment

Je ne dis pas que le NLP ne marche pas. Ça marche très bien, quand le texte contient ce qu’on cherche. Les applications réussies se comptent par milliers.

Les applications que je vois autour de moi : le tri automatique des demandes du service client, l’analyse des sentiments sur les publications des réseaux sociaux, l’extraction d’informations clés dans des documents contractuels, la traduction, la génération de langage naturel, la reconnaissance vocale qui produit le texte que le NLP va ensuite traiter. Chacune de ces applications repose sur les mêmes étapes.

En industrie, l’OCR mérite une mention. Il ne fait pas de NLP : il transforme une image de texte en texte. C’est l’étape zéro. Nos vieux rapports papier sont passés par là avant tout traitement.

Le point commun de toutes ces applications réussies : le texte a été écrit pour être lu. Un mail de clients est écrit pour être compris. Un contrat aussi. Un commentaire de GMAO à 3 h du matin, non.

Où lire des gens dont c’est le métier

Je ne suis ni linguiste, ni informaticien. Je renvoie.

  • L’INRIA pour la recherche française en traitement automatique des langues, expliquée par ceux qui la font.
  • Le CNRS pour la linguistique informatique, les travaux de fond.
  • La CNIL dès que les textes analysés contiennent des données personnelles. Un commentaire qui cite Dédé cite quelqu’un.
  • France Num pour les entreprises qui envisagent ces technologies.

Questions fréquentes

Comment fonctionne le traitement du langage naturel, en résumé ?

En chaîne. Le texte est découpé en unités, les mots sont ramenés à leur racine, étiquetés grammaticalement, les entités nommées sont repérées, puis tout est transformé en nombres pour qu’un modèle de machine learning y cherche des régularités. La machine ne comprend rien : elle calcule des proximités.

Quelle différence entre NLP, NLU, NLG ?

On me les a présentés comme trois moments. Le NLP est l’ensemble. Le NLU, natural language understanding, est la partie qui extrait le sens. Le NLG, natural language generation, est celle qui produit du texte. Un assistant vocal utilise les trois.

À quoi sert le NLP dans une entreprise ?

Aux tâches où le texte contient l’information : tri des demandes de clients, analyse de sentiments, extraction dans des documents, recherche documentaire, traduction. Le NLP bute là où le texte suppose un contexte humain que la machine n’a pas.

Qu’est-ce que la reconnaissance d’entités nommées ?

L’étape qui repère les noms propres, les dates, les lieux, les références dans un texte. En industrie, c’est souvent la plus utile : elle sort les informations clés d’un rapport sans que personne ne le lise.

Le NLP peut-il analyser nos données internes ?

Ça dépend entièrement de ce qu’il y a dedans. Nous, la réponse a été non : nos commentaires supposaient une mémoire collective absente des données. Regardez vos champs libres avant d’acheter quoi que ce soit. Lisez-en cinquante au hasard. Vous saurez.

Quelles sont les principales tâches du NLP ?

La tokenisation, la lemmatisation, l’étiquetage morpho-syntaxique, la reconnaissance d’entités nommées, la classification de documents, l’analyse de sentiments, la traduction, la génération de langage naturel. Les premières préparent le texte, les suivantes en font quelque chose.

Faut-il beaucoup de données pour faire du NLP ?

Les gros modèles de langage sont entraînés sur des quantités de texte que personne ne peut produire seul. Pour une entreprise, la question n’est pas la quantité de données. C’est la qualité, la présence réelle de l’information dans le texte.

Pour finir

Le traitement du langage naturel fonctionne. Franchement bien, même. J’ai vu des choses impressionnantes depuis que je m’y intéresse.

Ce que j’ai retenu de notre échec, en revanche, vaut pour toute l’industrie : une machine ne peut lire que ce qui a été écrit. Nos vingt ans de commentaires étaient une illusion de données. On croyait avoir un trésor. On avait des post-it.

Quelque part, c’est rassurant. Le langage d’un atelier tient dans les gens qui le parlent. Le jour où on l’écrira correctement, une machine le lira. Ce jour-là, il ne sera peut-être plus le même langage.


En savoir plus