Apprendre à lire à une machine

Cet article est issu de la newsletter IA Comprise et reproduit ici par commodité. Recevez toutes les lettres dans votre boîte mail au fur et à mesure de leur publication en laissant votre adresse dans le cadre à droite !


Chère lectrice, cher lecteur,

Lisez cette phrase :

« La cuisinière est sortie en pleurant du café. »

Je suppose que vous vous êtes représenté une femme travaillant en cuisine, fuyant en larmes le bistrot dans lequel elle se trouvait…

… et pas un appareil de cuisson qui sort sur ses petites pattes en pleurant des larmes de café.

La seconde proposition est grammaticalement tout à fait correcte. Même sémantiquement, cela tient à peu près la route (à condition d’avoir l’esprit ouvert…). Pourtant, n’importe quel humain privilégiera intuitivement la première, pour des raisons pourtant difficiles à expliciter et liées à cet étrange concept qu’est le langage.

Un superpouvoir inconscient

Cet exemple illustre la complexité du langage, cette construction humaine dont les règles ont été progressivement établies par l’usage durant des milliers d’années – et qui pourtant me permet de vous écrire et de me faire comprendre sans peine aujourd’hui.

Lorsque nous maîtrisons un langage, nous sommes capables en un clin d’œil :

  • D’appliquer un ensemble de règles grammaticales (conjugaison, déclinaison, ponctuation…) aussi nombreuses qu’hétéroclites
  • De nous souvenir de la signification de dizaines de milliers de mots, y compris très abstraits, à partir d’un assemblage largement arbitraire de lettres [1]
  • De résoudre les coréférences, autrement dit de déterminer à quoi se rapporte un pronom tel que « il » ou « qui »
  • De lever des ambiguïtés, comme la signification de « cuisinière » ou de « sortir en pleurant du café » [2]
  • De reconnaître de l’ironie, de l’humour ou des jeux de mots [3]
  • Et même de corriger naturellement de (petites) erreurs d’orthographe ou de syntaxe

La contrepartie de cette complexité est la richesse de la langue [4] : les jeux sur les sonorités ou les sens des mots, les tournures littéraires, la poésie, la création de nouveaux mots, la formulation de concepts abstraits… et les jurons des experts en Intelligence Artificielle qui travaillent dessus depuis des dizaines d’années.

Tweetez comme Trump grâce à l’IA

L’Intelligence Artificielle ne s’intéresse pas qu’aux chiffres. Des textes écrits portent également de grandes quantités d’information, quoi de plus normal que de chercher à en automatiser l’analyse ?

C’est l’objet d’un vaste champ de l’Intelligence Artificielle nommé justement Traitement du Langage Naturel (NLP ou Natural Language Processing en anglais).

Petite liste non exhaustive de ses applications pratiques :

Extraire les informations pertinentes d’un texte

  • Les messages reçus par le service clients sont-ils plutôt positifs ou négatifs ? De quoi parlent les messages négatifs ?
  • Quelle est la signification en français d’un texte en basque ?
Un outil d’analyse de sentiment sur un commentaire (Microsoft Azure)

Faire des prévisions à partir du contenu d’un texte

  • Comment accélérer ou améliorer le diagnostic d’un patient à partir de ses documents (carnet de santé, antécédents, discussions avec le médecin…) ?

Classifier un texte à partir de son contenu

  • Comment identifier les contrats parmi un ensemble de documents scannés ?
  • Quel est l’auteur probable de ce roman – ou de ce code informatique ?
  • Ce texte est-il un plagiat d’un texte existant ?
  • L’email que j’ai reçu d’un prince nigérian qui me lègue 100’000’000 de petites pilules bleues est-il un spam ?
A screenshot of a social media post

Description automatically generated
Cet email d’un entrepreneur de la distribution pharmaceutique a automatiquement atterri dans ma boîte à spam. La principale raison ? Il contient des mots [5] que l’on trouve apparemment extrêmement rarement dans un email légitime.

Améliorer un texte

  • Comment détecter automatiquement les fautes d’orthographe, de grammaire et même les tournures maladroites dans un texte ?
  • Quels mots mon téléphone peut-il me suggérer lorsque j’écris un message pour me faire gagner du temps de composition ?
A screenshot of a cell phone

Description automatically generated
Détection automatique d’une faute d’accord dans Word et proposition de correction

Générer du texte

  • Comment créer un « chatbot », un programme capable de tenir une conversation avec un client ou un patient…
  • … ou un « deepfake » textuel capable de tweeter dans le style de Trump ?
@DeepDrumpf, un compte parodique capable de tweeter automatiquement « dans le style de Trump » déjà en 2016 (une éternité à l’échelle de l’IA)

Comment a-t-on appris à lire aux machines ?

Le NLP est l’une des frontières de la recherche en Intelligence Artificielle.

Il est difficile de se rendre compte à quel point ce sujet est d’une grande complexité ; malgré des dizaines d’années de recherche théorique, ce n’est que très récemment (fin des années 2010) que des modèles parviennent à rivaliser avec l’humain dans la « compréhension » de texte [6].

Il faut dire que des moyens colossaux ont été investis depuis une dizaine d’années par les géants de la tech dans ce domaine.

Fin 2019, Google a ainsi procédé à l’une des plus importantes mises à jour de son moteur de recherche depuis des années pour mieux analyser les demandes où l’ordre des mots compte et lever des ambigüités dans les recherches :

Ce n’est que depuis fin 2019 que le moteur de recherche de Google parvient à proposer à un voyageur brésilien souhaitant se rendre aux États-Unis le site de l’ambassade des États-Unis au Brésil, plutôt que des informations sur les visas nécessaires aux Américains souhaitant se rendre au Brésil [7]

Au commencement étaient les règles

L’approche la plus intuitive du langage naturel consiste à essayer d’en comprendre les règles (la grammaire, l’orthographe, la signification des mots), puis de les implémenter dans des programmes informatiques comme on enseigne la langue aux enfants à l’école.

C’est l’approche qui a été privilégiée jusqu’aux années 90 par des informaticiens travaillant main dans la main avec des linguistes pour percer les secrets du langage naturel.

Si ces travaux ont posé de nombreuses bases fondamentales, peu d’applications pratiques ont réellement vu le jour. Et pour cause : la variété et la complexité des règles du langage sont telles que tenter de les rassembler dans un programme informatique est une tâche titanesque demandant une maintenance permanente.

Le pouvoir des statistiques

Comme dans beaucoup de domaines, les progrès en traitement du langage naturel n’ont pas été progressifs, mais par accélérations brutales.

La première de ces accélérations a eu lieu dans les années 90. Le développement de l’informatique a mis à disposition de grandes quantités de textes, tandis que le machine learning émergent a offert les outils statistiques pour les analyser automatiquement.

L’approche était radicalement différente des tentatives de compréhension des règles du langage : peu importent les subtilités syntaxiques, les statistiques permettent d’inférer les règles et de dégager les informations pertinentes dans la plupart des cas. Et tant pis pour la minorité de cas où l’on tombe en plein contresens.

En se concentrant sur la signification probable et générale d’un texte et en automatisant l’apprentissage à partir de bases de données de texte, le NLP statistique a offert un rapport bénéfice/coût beaucoup plus intéressant et permis un vrai décollage des applications.

Dans les méandres de l’apprentissage profond

La seconde accélération a eu lieu il y a une dizaine d’années, avec le développement des algorithmes d’apprentissage profond (deep learning).

Ces algorithmes basés sur les réseaux neuronaux ont permis de développer des modèles statistiques capables de reconstituer eux-mêmes les règles si complexes du langage pour les exploiter ensuite, que ce soit pour analyser ou pour générer du texte.

Attention, il ne faut pas croire que ces règles déduites de millions de textes par apprentissage automatisé sont intelligibles : les réseaux neuronaux sont aussi performants que difficiles à interpréter.

Prenez par exemple BERT, le modèle de NLP Google dont une version a été implémentée dans son moteur de recherche. Les détails de ce modèle ont beau être public, personne ne sait vraiment expliquer pourquoi ce modèle est l’un des plus performants à ce jour [8], autrement que par le fait qu’il a été entraîné et sélectionné pour réussir les tests de compréhension du langage.

Et pourtant, il tourne.

Aujourd’hui une poignée de modèles, pour la plupart dérivés de BERT, parviennent même depuis peu à dépasser le score d’un humain moyen dans les différents tests standardisés [9].

Quelques exemples de questions parfois loin d’être évidentes auxquelles une bonne IA doit être capable de répondre correctement [10]

Alors, tout cela est bien beau, mais la lecture de cette lettre générale vous a peut-être laissé sur votre faim.

Je n’ai pas du tout parlé ici des différentes méthodes utilisées en pratique pour traiter un texte, de sacs de mots, de racinisation et d’analyse fréquentielle.

Ce sera l’objet… de la prochaine lettre !

À bientôt,

Erwan


Inscrivez-vous gratuitement pour ne rater aucune lettre !


Références
[1] Ma fille m’a demandé la semaine dernière pourquoi on appelait « girafe » l’animal au long cou, plutôt que, par exemple, « chat » ou « canard » ? Que répondre à cela ?…
[2] « Cuisinière » est une ambiguïté syntaxique (un mot qui peut prendre plusieurs sens), « sortir en pleurant du café » est une ambiguïté lexicale (un ensemble de mots qui peut prendre plusieurs sens selon la construction de la phrase).
[3] On dit que reconnaître les tournures ironiques dans une langue étrangère est le signe que l’on maîtrise vraiment cette langue.
[4] Ou plutôt des langues, puisque cela se décline dans toutes les langues du monde !
[5] Dans une première version de cet email j’avais fort imprudemment cité les mots incriminés ainsi que le nom commercial des pilules bleues… ce qui a bien entendu eu pour conséquence de faire monter en flèche la probabilité qu’il soit lui-même considéré comme spam et atterrisse dans vos courriers indésirables…
[6] « Compréhension » restant bien entendu entre guillemets – aussi perfectionné que soit le modèle dans des conditions de test, cela reste une machine donnant une illusion de compréhension.
[7] https://www.blog.google/products/search/search-language-understanding-bert/
[8] https://www.aclweb.org/anthology/D19-1445/
[9] Les classements actuels selon différents benchmarks :
GLUE : https://gluebenchmark.com/leaderboard/
SQuAD : https://rajpurkar.github.io/SQuAD-explorer/
SWAG : https://leaderboard.allenai.org/swag/submissions/public
[10] https://docs.google.com/spreadsheets/d/1BrOdjJgky7FfeiwC_VDURZuRPUFUAz_jfczPPT35P00

Laisser un commentaire

Abonnez-moi à la newsletter