Leçon 1 — Pourquoi le langage humain est difficile pour un ordinateur
Une phrase de six mots, quatre lectures possibles
Prenez cette phrase : « J'ai vu l'homme avec le télescope. »
Qui a le télescope ? Vous, et vous l'avez utilisé pour le voir ? Ou lui, et vous l'avez vu le portant ? La phrase ne le dit pas. Un humain choisit instantanément la lecture qui colle au contexte — s'il vient d'être question d'astronomie, ce sera la première. Un ordinateur qui applique des règles de grammaire produit deux arbres syntaxiques également valides et n'a aucun moyen de trancher.
Ce n'est pas un cas tordu inventé pour les manuels. Presque toute phrase réelle est ambiguë à un niveau ou à un autre, et nous ne le remarquons pas parce que la résolution est automatique chez nous.
Quatre niveaux d'ambiguïté
L'ambiguïté lexicale
Un même mot, plusieurs sens. « Avocat » est un fruit ou un métier. « Grève » est un arrêt de travail ou un rivage. « Voler » est se déplacer dans l'air ou dérober. Le mot est identique ; seul l'entourage décide.
L'ambiguïté syntaxique
Une même suite de mots, plusieurs structures. C'est le cas du télescope. En français, les groupes prépositionnels sont particulièrement propices à ce genre d'attachement flottant.
L'ambiguïté référentielle
« Le chirurgien a expliqué au patient qu'il devait se reposer. » Qui doit se reposer ? Grammaticalement, les deux fonctionnent. Notre connaissance du monde nous dit que c'est le patient. Cette connaissance-là n'est écrite nulle part dans la phrase.
L'implicite
« Il n'a pas pu ouvrir le coffre : la clé était tombée dans la grille. » Comprendre cette phrase suppose de savoir qu'un coffre s'ouvre avec une clé, qu'une grille laisse passer les petits objets, et qu'un objet tombé dedans devient inaccessible. Rien de tout cela n'est dit. Le sens repose entièrement sur des connaissances partagées.
Ce que cinquante ans de règles ont donné
Des années 1950 aux années 1990, le NLP a été symbolique : on écrivait des grammaires, des lexiques, des règles de désambiguïsation. Des équipes entières y ont consacré des carrières.
Le résultat est instructif. Ces systèmes fonctionnaient remarquablement bien sur des domaines très restreints — un système de réservation de vols, une interface de requêtes météo — et s'effondraient dès qu'on sortait du périmètre prévu. Chaque nouvelle exception demandait une nouvelle règle, les règles finissaient par se contredire, et la maintenance devenait ingérable.
La leçon est la même que celle de l'introduction à l'IA : le langage fait partie des tâches que nous accomplissons sans pouvoir énoncer les règles que nous utilisons. Aucun locuteur du français ne peut expliciter comment il désambiguïse « avocat ». Il le fait, c'est tout.
Ce que l'approche statistique a changé
Le basculement s'est fait en deux temps.
Premier temps, les années 1990-2000 : compter. Plutôt que d'écrire les règles, on mesure sur de gros corpus. Si « avocat » apparaît statistiquement plus souvent près de « tribunal » que près de « salade », on dispose d'un signal exploitable. La traduction automatique statistique est née de cette idée, et elle a immédiatement dépassé les systèmes à règles.
Second temps, depuis 2013 : apprendre des représentations. Au lieu de compter des co-occurrences dans un tableau immense, on apprend pour chaque mot un vecteur dense de quelques centaines de nombres, positionné de façon à refléter ses usages. C'est le sujet de la leçon 3, et c'est ce qui a rendu possible tout ce qui a suivi.
Dans les deux cas, personne n'a écrit ce que veut dire « avocat ». Le sens a été extrait de l'usage. C'est l'hypothèse distributionnelle, formulée par le linguiste John Firth en 1957 : on connaît un mot par la compagnie qu'il fréquente.
Trois difficultés propres au français
Le NLP est très majoritairement développé et évalué sur l'anglais. Le français apporte ses propres complications, qu'il faut connaître avant de choisir un outil.
La morphologie riche. Un verbe français a des dizaines de formes fléchies. « Aller » donne « vais », « iras », « allions », « irions »… Un modèle entraîné surtout sur l'anglais, langue peu fléchie, consomme davantage de tokens et dispose de moins d'exemples par forme.
Les accents et la casse. « Ou » et « où », « a » et « à », « pêcher » et « pécher » sont des mots différents. Beaucoup de chaînes de traitement anciennes supprimaient les accents pour « normaliser » : c'était détruire de l'information.
L'élision et les contractions. « L'avocat », « d'accord », « jusqu'au » demandent un découpage plus fin que l'espace. Un tokeniseur mal réglé sur le français produit des unités absurdes, et le modèle en aval hérite du problème.
À retenir
- Le langage est ambigu à quatre niveaux au moins : lexical, syntaxique, référentiel, et par tout ce qu'il laisse implicite.
- Nous résolvons ces ambiguïtés sans savoir comment, ce qui rend l'écriture de règles vouée à l'échec hors domaines restreints.
- Le NLP symbolique a réussi sur des périmètres étroits et n'a jamais passé à l'échelle.
- L'approche moderne extrait le sens de l'usage plutôt que de le déclarer.
- Le français impose ses propres contraintes : morphologie riche, accents porteurs de sens, élisions.
Leçon suivante — La tokenisation : comment le texte devient des unités →