Merci Microsoft

Qui aurait dit que moi, Unixien d’avant Linux à tendance Apple-maniac, je dirais un jour merci à Microsoft ? Et ce sans arrière-pensée (enfin presque). Ce que je veux évoquer, c’est ce qui s’est passé avec le « chatbot » Tay de Microsoft.

Note en passant : si vous n’avez pas encore entendu parler de chatbot, mettez-vous y, c’est le buzzword de l’année et ça va bien être bien plus qu’un buzzword. En revanche, si vous n’avez pas entendu parler de Tay, c’est possible car, comme me le faisait remarquer un ami journaliste, les news ont été assez largement nettoyées depuis l’événement.

Tay, c’est quoi ?

Tay, donc, pour ceux qui ont raté l’épisode, c’est un chatbot mis en ligne par Microsoft sur Twitter fin mars. Un robot entraîné à raconter « des choses » en réponse aux messages qu’il reçoit. Sans plus de but : avoir des conversations en ligne, c’est tout. Conceptuellement, on peut s’imaginer le système comme suit et ce n’est pas bien complexe : il s’agit d’une part d’un générateur de phrases (on est sur Twitter, donc on dépasse rarement deux phrases) et d’autre part d’un système d’évaluation des réactions. Là où on dépasse un peu la génération de textes traditionnelle, c’est que le système assemble des mots (ou suites de mots) trouvés sur Twitter, principalement dans les choses qu’on lui écrit et en fait des phrases. Les modèles de langages sont tels que les phrases ressemblent à des phrases bien construites et pas à des mots jetés au hasard.

Le modèle s’affine « en marchant » avec l’analyse des réactions qui suivent ces phrases. Si les gens répondent positivement (« yeah, trop cool »), alors l’exemple est à suivre ; si les réactions sont négatives, le système tâchera de ne plus produire cette phrase.

Conception simple a priori, même si la mise en œuvre implique des techniques très avancées, tournant autour de l’apprentissage profond (aussi appelé « deep learning », ce billet fait le plein de buzzwords). On appelle ça désormais de l’intelligence artificielle.

Vu de loin, ce n’est pas loin de la façon dont un enfant apprend à parler. Il raconte des choses, si vous avez l’air content, il continuera à les dire ; sinon il essaiera autre chose.

Microsoft avait tenté le coup voilà plusieurs mois en Chine et l’expérience avait été très concluante. Ils ont donc mis le robot en ligne le 23 mars, le présentant comme conçu pour dialoguer avec des adolescents. Mais, après quelques heures d’existence, Tay a été débranchée, car il/elle tenait des propos sexistes, pro-nazis, conspirationnistes et autres ignominies.

CeSpN6BWAAA0oEZ.jpg-largeNota: le 30 Mars, Tay a été remis en ligne et re-débranché le même jour, suite à des comportements incohérents – des bugs quoi…

Qu’est-ce qui s’est passé ?

La cause de ces dérapages est due à une équipe de néo-nazis, suprémacistes et autres branques qui s’expriment sur le réseau 4chan (canal /pol) et qui avaient eu vent de l’opération. Ils ont donc gavé le robot avec leurs discours.

Tay a été de ce point de vue une parfaite réussite technique : un propos révisionniste salué d’un bravo, et hop ! voilà un exemple positif. On continue, on en rajoute, et voilà un chatbot qui dit haïr les juifs, approuver Hitler, détester les féministes et vouloir gazer les mexicains.

Si on regarde comment est fait Tay (du moins ce que j’ai pu en reconstituer), cela était parfaitement prévisible. Pourtant, Microsoft ne s’y attendait pas. Pourquoi ? Parce que l’expérience précédente (en Chine) n’a pas eu ce travers, et pour cause: les chinois ne se laissent pas aller à ce genre de débordements sur des forums publics. Culture ou surveillance du Net, les deux causes sont convergentes et difficiles à mesurer. Quoi qu’il en soit, le terrain d’expérimentation était bien différent de ce que nous connaissons d’Internet.

Qu’en conclure ?

Une conclusion simple serait de dire que des techniciens ont laissé une liberté à une créature sans penser aux conséquences, que science sans conscience n’étant que ruine de l’âme, il aurait mieux valu réfléchir avant de lancer ce projet.

Je ne veux pas dénigrer la citation de Rabelais et elle s’applique bien ici, dans les faits, que s’est-il réellement passé ? C’est pour moi comme si on avait appris à dire « prout » à un perroquet. Il suffit d’y passer un peu de temps, d’avoir suffisamment de friandises à lui offrir. Assez rapidement, le perroquet pourra répéter l’interjection. Et alors ? Et alors rien. Son propriétaire apprendra à dire autre chose au perroquet ou le revendra. Pour un chatbot, c’est plus facile, il suffit de le couper. Si on reprend le parallèle de l’enfant qui apprend à parler, on en est au stade où l’enfant parle « pour parler », pas pour se faire comprendre. C’est un comportement récurrent chez l’enfant, mais qui se développe en pour étayer la finalité première du langage : se faire comprendre.

L’intelligence artificielle telle qu’elle se développe sous nos yeux est bien plus proche du perroquet que du HAL-9000 de 2001 l’Odyssée de l’Espace (et même clairement en deçà du perroquet). Tay n’avait pas de message à transmettre parce que son seul but était de produire des textes, pas de parler. La grande erreur ne vient pas des techniciens mais de ceux qui – sciemment ou non – veulent nous faire croire qu’il en est autrement, que les machines peuvent créer de l’information par la magie des Algorithmes (dernier buzzword). Ces algorithmes dont le but, comme le dit Gérard Berry, est d’évacuer la pensée du calcul afin de le rendre exécutable par une machine numérique. Des recettes de cuisine, quoi.

C’est pourquoi on peut dire merci à Microsoft de nous avoir rappelé quel est le niveau de l’IA aujourd’hui et de l’avoir clamé bien fort pour nous permettre de nous méfier de ceux qui font passer des recettes de cuisine pour l’expression d’une pensée philosophique ou politique.

Le TAL, ça marche pas

C’est un truisme d’écrire que les systèmes de TAL ne sont pas fiables à 100%, qu’ils répondent rarement à tous les fantasmes qu’on leur fait porter. Parce qu’au bout du compte, il ne s’agit que de faire répéter à un tas de ferraille et de silicium les choses qu’on lui a tant bien que mal apprises et pourtant… pourtant c’est un message souvent bien compliqué à faire entendre.

Je prends un exemple personnel : la société dans laquelle je travaille commercialise (entre autres) des analyseurs de Curriculum Vitae. Il s’agit de programmes auxquels on soumet des CVs dans des formats divers (office, pdf, voire image) et qui en produisent une belle représentation structurée avec toutes les informations : nom, prénom, adresse, liste des postes occupés avec fonction, employeur, période de temps, etc. tout ça dans un joli XML bien propret. Ca sert pour automatiser les systèmes de recrutement, en ligne ou non, et et ça vous évite d’avoir à remplir des formulaires kilométriques lorsque vous postulez à un poste sur Internet.

Pourtant, parfois, malgré tout le mal que se sont donné nos linguistes et nos développeurs, les informations ne sont pas correctement restituées. Et là, le dialogue avec le client devient très complexe (il y a un client parce que oui, au bout du compte, on essaye de les vendre, ces analyseurs). Et j’ai fréquemment des réactions du type : « ben pourquoi il ressort pas le nom ? On le voit bien, là, c’est écrit en gras ! Il marche pas, votre système ». Le dialogue qui s’ensuit est souvent difficile. Je commence par expliquer que le gars du CV s’appelant Marin Martin, il a un prénom qui pourrait être un nom de fonction et un patronyme qui pourrait être un prénom, alors c’est compliqué pour une machine, que le gras est souvent signe de… n’importe quoi dans un CV, à tel point que les infolinguistes ont décidé, comme première étape du traitement de supprimer toutes les marques de mise en page, vu qu’on ne peut rien en déduire de fiable. Enfin que la mise en page de ce CV (en PDF, qui plus est !) est on ne peut plus pénible à décortiquer. Et là, j’aboutis à la réaction : « ah bon ? Vous transformez en texte et vous comparez à des listes ? Ben moi aussi je pourrais le faire ! ». La magie est cassée.

Pourtant non, je ne fais pas de la magie noire, je vends un programme informatique qui a été programmé par des humains, un programme qui rend des services et qui a ses faiblesses, comme tout autre système automatique. Et, oui, vous pourriez le faire, moyennant un peu de formation (quand même). C’est de la programmation, c’est tout.

Maintenant imaginons un cas de figure légèrement différent où le nom serait reconnu correctement mais tronqué. Je pourrais expliquer que c’est normal vu que le champ est limité à 15 caractères et j’aurais très probablement en retour la réaction « Ah ben oui, c’est normal, il y a une limite ». Les limites de l’outil informatique sont intégrées, il faut faire avec. Mais dès que l’on aborde un comportement anthropomorphe, comme le fait un système de TAL, les attentes deviennent démesurées. Et les désillusions de même. A mon sens pour une raison simple, c’est que chacun est expert de la tâche (ici la langue), puisqu’il la pratique en continu. Donc il peut sans effort projeter un humain à la place de la machine. Il voit bien qu’il pourrait tancer vertement un stagiaire qui remplirait des fiches au stylo-bille pour n’avoir pas trouvé le nom sur le CV (pourtant, il est écrit en gras) alors qu’il lui pardonnerait sans problème de ne pouvoir écrire ce nom en entier sur cette fiche bristol qui ne comporte que 15 cases pour ce faire.

Plus le système vise à remplacer un humain, moins il a droit à l’erreur, alors que la tâche n’en devient nécessairement que plus complexe. Et les gains en temps, en productivité que fournit l’outil sont vite masqués par cette « qualité perçue » qui n’est pas au rendez-vous. Même si 99% des CVs sont bien traités, celui-là ne l’est pas. Dès lors, c’est le seul qui compte, c’est la marque d’infamie qui révèle au grand jour ma tentative de vendre un produit qui ne marche pas alors que, quand même, c’est écrit en gras.

C’est dire la grande misère des vendeurs de produit de TAL. Mais au bout du compte, et même si ça ne facilite pas l’acte de vente, je ne suis pas mécontent qu’on se pose ces questions. Pourquoi le système ne marche pas dans ce cas-là ? Qu’est-ce qu’on pourrait faire pour qu’il marche mieux ? Ce sont des questions saines. Simplement, par souci d’équité, j’aimerais aussi qu’on se pose un peu plus souvent la question de savoir pourquoi « c’est la faute à l’informatique », pourquoi on ne peut pas avoir un patronyme de 16 caractères, qui a décidé ça, de quel droit et pour quelle raison on devrait s’y soumettre.

Si on considère la critique des systèmes de TAL comme l’embryon salutaire d’un regard critique envers la technologie en général, elle me fera moins mal, à moi, modeste artisan du TAL.

Alors qu’on se le dise, le TAL, ça ne marche pas. Mais ni plus, ni moins que n’importe quel système informatique. Les systèmes de TAL ont des limites qu’il faut connaître pour pouvoir décider en pleine conscience de les accepter ou de les refuser. Comme les autres.

Et si on commençait par appliquer la loi ?

Le sondage réalisé à l’occasion de la journée ETERNAL (Ethique et Traitement Automatique des Langues) fait apparaître, parmi les commentaires produits par les participants à cette enquête la réaction suivante :

Beaucoup de chercheurs se servent des données glanées sur le web sans vérifier au préalable les droit d’utilisation de ces données. Cela peut poser problème si les données collectées massivement contiennent des données personnelles et sont redistribuées à d’autres chercheurs comme outil de travail.

Il est louable de s’interroger sur l’esprit de la loi (en l’occurrence de la licence d’utilisation), qui permet ou interdit certaines choses pour de bonnes raisons (éthiques), il n’en est pas moins obligatoire d’en respecter la lettre, quelles que soient les raisons : ça n’est pas seulement s’il y a des données personnelles que ça peut poser un problème. Le problème est d’aller à l’encontre de la licence. C’est interdit, même. Et l’éthique commence avant tout par un respect de la loi.

La citation ci-dessus est caractéristique d’un état d’esprit de certains chercheurs que l’on peut résumer par « oui, mais moi c’est pour la recherche, donc la licence ne s’applique pas à mes travaux ». Etonnant état d’esprit, si on creuse un peu : jusqu’où pousse-t-on l’exception si l’on est soi-même juge de ce qui est bon de ne pas appliquer ? D’autant que de réelles exceptions, encadrées et clairement définies, existent pour la recherche et que d’autres sont en préparation dans la loi Lemaire. Mais rien qui passe par l’auto-désignation (!).

Prenons par exemple le site doctissimo.fr, source de nombreuses analyses en TAL. La licence d’usage précise, entre autres qu’il « est interdit de procéder à une extraction qualitativement ou quantitativement substantielle des bases de données mises en ligne sur le site ». J’en conclus donc que le TP de master 1 TAL consistant à compter le nombre de pronoms personnels utilisés sur les forums doctissimo est interdit. On n’a pas le droit. Compréhensible ou pas, c’est la règle.

Notons par ailleurs que, de mon expérience, les industriels sont plus enclins à respecter ce type de règles que les scientifiques. Oh, non pas qu’ils soient plus vertueux, loin de là, mais ils savent le dommage que peut leur infliger la révélation publique d’une infraction à la loi, par un concurrent mesquin, par exemple. Et c’est à mon sens l’un des leviers qui peut permettre l’avancée dans les fait d’une certaine éthique. Mais je reviendrai probablement sur le sujet dans un autre post.

Le caractère inapproprié d’une règle est souvent l’excuse que l’on rencontre pour ne pas l’appliquer. La prétendue « exception scientifique » en est un exemple, mais elle n’est pas seule et à cette aune, chacun peut se trouver ses propres arguments pour ne pas s’y conformer.

J’ai par exemple entendu dire que la loi Informatique et Liberté était inappropriée et donc inapplicable, avec force arguments, entre autres à cette même journée ETERNAL. Le premier des griefs fait à cette loi était fait qu’elle se base sur une notion de croisement de fichiers alors qu’à l’heure du Big Data, on ne parle plus que de données. La belle affaire ! Le glissement lexical ne vaut pas invalidation du concept.

Autre grief, plus sur le fond, celui-là : la loi Informatique et Liberté partirait du principe que les données collectées ou agrégées le sont dans un but précis, alors qu’à l’heure du Big Data, on collecte à tout va, on mouline les données avec des outils à la mode (Hadoop, Spark, R, …) et on voit ce qu’on peut en déduire. Il serait donc impossible de savoir a priori pourquoi on demande des informations aux individus et, partant, impossible de leur demander leur consentement. Là encore, l’argument est spécieux. Si l’on tient vraiment à corréler tout avec n’importe quoi, on peut jouer, comme le montre le site « spurious correlations », à croiser les dépenses US pour l’espace, la science et la technologie avec le nombre de suicides par pendaison et trouver un taux de corrélation supérieur à 99%.

Non, quand on croise des données, c’est toujours dans un but précis. Savoir quel type de programme télé les adolescents très présents sur les réseaux sociaux sont prêts à consommer, pourra être l’objet d’un étude de positionnement d’une chaîne de télévision. Il est alors très simple de vérifier que les données qui permettent de faire ces croisements autorisent bien de tels traitements, la première autorisation étant le consentement donné par les individus qui ont fourni l’accès à leurs informations personnelles. C’est bien là l’esprit de la loi Informatique et Liberté : vérifier le consentement. Qu’il soit donné pour des lignes dans une base de données hiérarchique ou pour des « data » en JSON n’est qu’un détail de mise en œuvre.

Je ne veux pas dire que la loi Informatique et Liberté est parfaite, loin de là. Elle doit clairement évoluer sur certains points, s’étendre à tous les domaines, et le peu de moyens donnés à la CNIL ne l’aide pas à faire d’évolutions majeures. Mais elle demeure un socle solide de protection des individus. La contourner par une paresse intellectuelle qui se cacherait derrière une désobéissance civile est l’un des pires moyens d’action. Si on veut faire évoluer cette loi, il faut avancer avec des propositions claires et respectueuses des libertés individuelles, pas masqué derrière sa propre supériorité face au règlement, qui que l’on soit.