Dans une tribune de The Atlantic, Ben Zimmer (@bgzimmer) revient sur la difficile tâche qui consiste à faire comprendre aux ordinateurs les ambiguïtés du langage humain. La compréhension du langage par les machines (Natural Language Processing – TAL en français) est une branche de l’intelligence artificielle qui repose notamment sur la statistique et l’apprentissage automatique (utilisés pour comprendre un texte, le traduire et éventuellement y répondre grâce à la synthèse vocale). Si l’on est encore loin d’une parfaite compréhension du langage, des ordinateurs pulvérisent déjà les humains dans les tests de lecture et de compréhension (comme le quiz de Standford University auquel les IA de Alibaba et Microsoft ont sur-performé).
Mais si les ordinateurs sont très forts pour traiter un masse considérable d’informations, il n’en demeure pas moins qu’ils ne comprennent strictement rien à ce qu’ils processent. Ben Zimmer introduit son propos en reprenant un Tweet de Lin Manuel Miranda (@Lin_Manuel) relatant une conversation pour le moins absurde avec son fils (je traduis grossièrement) :
- Moi : « Tu vas manger ce marshmallow avec ce biscuit et du chocolat »
- [Mon fils me regarde comme si j’étais la personne la plus bête du monde.]
- Sebastian (le fils) : « Non, je vais le manger avec ma BOUCHE »
Si tous les jeunes parents vivent au quotidien ce genre de petites scénettes comiques, ils ne s’en inquiètent pas outre mesure : les enfants grandissent et finissent par intégrer naturellement les subtilités de la langue (par exemple, on précise rarement que l’on mange quelque chose « avec sa bouche », c’est plutôt implicite). En conséquence, ce qui vient après le « avec » dans la phrase finit par être compris comme faisant partie d’un contexte et non plus comme une donnée à prendre au sens strict.
Exemple : on peut manger un marshmallow « avec » : un ami, dégoût, lenteur, ses mains, etc. Tous ces mots ont des sens bien différents qui nécessitent une compréhension plutôt complète du monde à l’intérieur duquel vivent les humains. Or c’est bien connu, les ordinateurs n’ont absolument aucune idée de ce qu’est ce monde (d’ailleurs, ils n’ont aucune idée tout court, et c’est peut-être ça le problème), cependant, il est possible de les programmer pour les faire arriver au bon résultat, exposent les linguistes Ajda Gokcen, Ethan Hill et Michael White dans leur papier Madly Ambiguous: A Game for Learning about Structural Ambiguity and Why It’s Hard for Computers.
Le jeu s’appelle Madly Ambiguous et consiste à savoir avec quoi Jane mange ses spaghettis (en l’occurrence, avec « une fourchette » ou avec « des boulettes de viande » (il faut suivre les cinématiques du site qui sont délicieuses – cliquer pour agrandir l’image) :
Pour résoudre ces équations linguistiques, les chercheurs avancent deux méthodes. La première (le mode basic) consiste à comparer les situations à une vaste base de données (Word.net) recensant un maximum de noms classifiés par types (objet, aliment, sentiment, etc.). Cependant, il reste de nombreuses sources de confusion dans toute base de données. Le « mode avancé » quant à lui, est plus à la pointe avec la technique du « word embedding » (plongement lexical, on parle aussi de sémantique distributionnelle) – un classique du NLP – où les mots et phrases sont représentés par un vecteur de nombres réels correspondant. Pour le dire simplement, les mots apparaissant dans des contextes similaires appartiennent à des « grappes » qui sont relativement proches. Par exemple, les duos de mots « chien » et « chat » ou « boire » et « manger » appartiennent à des catégories similaires. Il en résulte que l’ordinateur est capable de relier un mot à un autre pour formuler un début d’interprétation (et donc de sens à une phrase) par rapprochement contextuel. Naturellement, il restera toujours de nombreuses ambiguïtés, si je dis par exemple : « je regarde l’homme avec les jumelles » (les jumelles sont-elles les lunettes qui me permettent de regarder l’homme ? Ou bien ses deux petites filles ? Enfin, s’agit-il de regarder un homme portant les lunettes ?). Seul le contexte peut aider à interpréter cette phrase et arbitrer pour en choisir le sens.
Les deux modèles fonctionnent plutôt bien avec une préférence pour le second. Un test très simple où l’on ajoute « Me » après la phrase « Jane is eating spaghetti with » donne un résultat plutôt concluant :
L’ordinateur (mode basic et avancé) comprend aussi parfaitement le sens de « manger en silence » :
Si ces techniques permettent (et permettront) à des intelligences artificielles de saisir les ambiguïtés de la langue (à des fins d’analyse de texte, de traduction ou en vue d’y apporter une réponse), il nous manque encore quelques bonds techniques pour les parfaire. Dans une autre tribune également publiée chez The Atlantic : The Shallowness of Google Translate (traduction : le manque de profondeur de Google Translate) le physicien Douglas Hofstadter (connu pour son ouvrage Gödel, Escher, Bach : Les Brins d’une Guirlande Éternelle) relève les erreurs de compréhension encore monumentales d’un traducteur en ligne parmi les plus utilisés au monde : Google Translate. Les moteurs de traduction ont certes évolué rapidement ces dernières années, mais du chemin reste à parcourir, pour Hofstadter, les traducteurs humains ne sont pas prêts de se faire remplacer, il entre la phrase suivante (en anglais) afin d’en obtenir la traduction en français. En entrée :
In their house, everything comes in pairs. There’s his car and her car, his towels and her towels, and his library and hers.
L’idée est bien sûr de tester la capacité du moteur à reconnaître qu’il s’agit de deux personnes qui possèdent chacune leur propre voiture, serviette, bibliothèque. La traducteur propose en sortie la traduction suivante :
Dans leur maison, tout vient en paires. Il y a sa voiture et sa voiture, ses serviettes et ses serviettes, sa bibliothèque et les siennes.
Ici, le moteur n’est tout simplement pas capable de comprendre que le possessif est attaché à l’objet en français et non pas au possesseur, le deep learning n’y change pas grand-chose. Hofstadter reproduit l’opération en faisant traduire sa propre traduction en français vers l’anglais. En entrée :
Chez eux, ils ont tout en double. Il y a sa voiture à elle et sa voiture à lui, ses serviettes à elle et ses serviettes à lui, sa bibliothèque à elle et sa bibliothèque à lui.
Et Google translate en sortie :
At home, they have everything in double. There is his own car and his own car, his own towels and his own towels, his own library and his own library.
L’incompréhension persiste alors même que cette fois-ci, le genre est clairement exprimé en entrée (« à elle, à à lui »). Cela ne ressort pas plus dans la traduction. Que faut-il en conclure ? Pour le physicien, Google Translate ne traite les mots que sous forme de chaîne de signaux dénués de tout sens : « It’s all about ultrarapid processing of pieces of text, not about thinking or imagining or remembering or understanding. » En d’autres termes, l’ordinateur ne sait même pas que les mots sont des choses, il n’opère aucune distinction entre signifiant et signifié. D’où la difficulté à traduire des dictons tels que par exemple : « une hirondelle ne fait pas le printemps. » Et pour cause, on le sait, les ordinateurs sont coupés du monde, un peu comme un homme illettré coincé dans une immense bibliothèque : il lui est toujours possible d’opérer tous les calculs et toutes les relations statistiques entre les chaînes de caractères des livres, ce qui est dit – le sens – restera opaque à tout jamais. Que ce soit vers l’allemand, le chinois, et probablement la totalité de la centaine de langues traduites par Google Translate, le problème reste le même. Douglas Hofstadter précise que « plus de big data » n’y changera probablement rien car le problème est ailleurs : les machines traitent du texte et des symboles qui sont déconnectés de toute expérience du monde (d’où la nécessité d’employer des artifices comme dans l’exemple précédent qui permet de différencier une fourchette d’un sentiment ou encore d’une personne). Une simple phrase comme « L’agent lève la main, la voiture s’arrête« , a priori évidente pour un humain, demande d’avoir intégré un certain nombre de conventions sociales : un humain sait ce qu’est un agent (en uniforme) et l’autorité qu’il représente, il sait qu’une voiture est conduite par un autre humain qui, voyant cet agent, arrêtera son véhicule (probablement sur la route). La voiture ne s’arrête donc pas par magie dès lors que quelqu’un lève la main.
Pour réellement « comprendre » et donc traduire correctement un texte, il faudrait avoir des idées, rappelle Douglas Hofstadter qui en cela fait écho à ses travaux sur le rôle central de l’analogie dans la pensée humaine. Or selon lui, les réseaux de neurones n’emploient pas cette route puisqu’ils se contentent d’opérer des relations statistiques entre des mots, sans jamais s’élever au rang des idées, des images (ou pensées), des expériences (qui sont des objets difficiles à manipuler avec du code, faut-il reconnaître). La traduction automatique reste une série de correspondances en surface, moyennant des corpus parallèles et sans passer par une représentation explicite du sens véhiculé par ces phrases. Les ordinateurs eux, sont des prestidigitateurs : ils donnent l’illusion de traduire et nous tombons volontiers dans ce piège (qu’on appelle aussi l‘effet ELIZA : la tendance à assimiler de manière inconsciente le comportement d’un ordinateur à celui d’un être humain, du nom du chatterbot ELIZA, élaboré en 1966 par Joseph Weizenbaum). Ce qui n’empêche en rien le physicien de relever la très grande utilité d’un outil comme Google Translate (qui peut servir à interviewer un joueur de football), il ne rejette pas non plus la possibilité de l’existence d’une intelligence artificielle qui serait en mesure de penser, de créer, d’être drôle ou nostalgique (mais avant tout ça, il faudra commencer par traduire correctement des phrases simples, même pour les enfants).