Chatbots

Eliza, le premier chatbot du monde en 1966

ELIZA est un programme informatique de traitement du langage naturel créé entre 1964 et 1966 au laboratoire d'intelligence artificielle du MIT par Joseph Weizenbaum. un Chatbot en franglais moderne.

Voici ce qu'en dit Wikipedia en version anglaise.

Créé pour démontrer la superficialité de la communication entre les humains et les machines, Eliza simulait une conversation en utilisant une méthodologie de " correspondance de motifs " et de substitution qui donnait aux utilisateurs l'illusion d'une compréhension de la part du programme, mais ne disposait d'aucun cadre intégré pour la contextualisation des événements. [Les directives sur la manière d'interagir étaient fournies par des "scripts", écrits à l'origine en MAD-Slip, qui permettaient à ELIZA de traiter les entrées de l'utilisateur et de s'engager dans un discours en suivant les règles et les directives du script. Le script le plus célèbre, DOCTOR, simulait un psychothérapeute de l'école Rogerienne (dans laquelle le thérapeute renvoie souvent les mots du patient au patient), et utilisait des règles, dictées dans le script, pour répondre par des questions non directionnelles aux entrées de l'utilisateur. À ce titre, ELIZA était l'un des premiers chatterbots et l'un des premiers programmes capables de passer le test de Turing.

Le créateur d'ELIZA, Weizenbaum, considérait le programme comme une méthode permettant de montrer la superficialité de la communication entre l'homme et la machine, mais il a été surpris par le nombre de personnes qui ont attribué au programme informatique des sentiments semblables à ceux des humains, y compris la secrétaire de Weizenbaum.De nombreux universitaires pensaient que le programme serait capable d'influencer positivement la vie de nombreuses personnes, en particulier celles souffrant de problèmes psychologiques, et qu'il pourrait aider les médecins travaillant sur le traitement de ces patients. Bien qu'ELIZA soit capable de tenir un discours, il ne pouvait pas converser avec une véritable compréhension. Cependant, de nombreux utilisateurs étaient convaincus de l'intelligence et de la compréhension d'ELIZA, malgré l'insistance de Weizenbaum qui affirmait le contraire. Étonnamment, le code source original d'ELIZA a disparu depuis les années 1960, car il n'était pas courant de publier des articles incluant le code source à cette époque. Toutefois, plus récemment, le code source de MAD-Slip a été découvert dans les archives du MIT et publié sur diverses plates-formes, telles que archive.org. Le code source présente un grand intérêt historique car il démontre non seulement la spécificité des langages et des techniques de programmation de l'époque, mais aussi les débuts de la stratification et de l'abstraction logicielles comme moyen de réaliser une programmation logicielle sophistiquée.

 

ELIZA, créée par Joseph Weizenbaum et reposant sur le script DOCTOR, a été créé pour parodier " les réponses d'un psychothérapeute non directif lors d'un premier entretien psychiatrique " et pour " démontrer que la communication entre l'homme et la machine est superficielle ". Bien qu'ELIZA soit surtout connu pour agir à la manière d'un psychothérapeute, les modèles de discours sont dus aux données et aux instructions fournies par le script DOCTOR. Le script exécuté par ELIZA détermine les mots clés, fixe les valeurs des mots clés et définit les règles de transformation du résultat. [Weizenbaum a choisi de créer le script DOCTOR dans le contexte de la psychothérapie pour " contourner le problème consistant à donner au programme une base de données de connaissances du monde réel ", car dans une situation thérapeutique rogérienne, le programme n'avait qu'à renvoyer les déclarations du patient. Les algorithmes de DOCTOR permettaient une réponse faussement intelligente, ce qui a trompé de nombreuses personnes lors de la première utilisation du programme.

Weizenbaum a nommé son programme ELIZA d'après Eliza Doolittle, un personnage de la classe ouvrière dans Pygmalion de George Bernard Shaw. Selon Weizenbaum, la capacité d'ELIZA à être " amélioré de manière incrémentielle " par différents utilisateurs le rendait similaire à Eliza Doolittle[18], puisque dans la pièce de Shaw, on apprenait à Eliza Doolittle à parler avec un accent de classe supérieure. Cependant, contrairement à la pièce de Shaw, ELIZA est incapable d'apprendre de nouveaux modèles de discours ou de nouveaux mots par la seule interaction. Pour modifier le mode de fonctionnement du programme, il est nécessaire de modifier directement le script actif d'ELIZA.

Weizenbaum a d'abord implémenté ELIZA dans son propre langage de traitement de listes SLIP, où, en fonction des entrées initiales de l'utilisateur, l'illusion de l'intelligence humaine pouvait apparaître ou être dissipée par plusieurs échanges. [Certaines réponses d'ELIZA étaient si convaincantes que Weizenbaum et plusieurs autres personnes ont raconté que des utilisateurs s'étaient attachés au programme, oubliant parfois qu'ils conversaient avec un ordinateur. La secrétaire de Weizenbaum aurait demandé à Weizenbaum de quitter la pièce pour qu'elle et ELIZA puissent avoir une vraie conversation. Weizenbaum en a été surpris et a écrit plus tard : "Je n'avais pas réalisé que des expositions extrêmement brèves à un programme informatique relativement simple pouvaient induire des pensées délirantes puissantes chez des personnes tout à fait normales ".

En 1966, l'informatique interactive (via un télétype) était une nouveauté. Il a fallu attendre 15 ans avant que l'ordinateur personnel ne devienne familier au grand public, et trois décennies avant que la plupart des gens ne rencontrent des tentatives de traitement du langage naturel dans des services Internet comme Ask.com ou des systèmes d'aide pour PC comme Microsoft Office Clippit. Bien que ces programmes aient nécessité des années de recherche et de travail, ELIZA reste une étape importante simplement parce que c'était la première fois qu'un programmeur tentait une telle interaction homme-machine dans le but de créer l'illusion (aussi brève soit-elle) d'une interaction homme-homme.

Lors de l'ICCC de 1972, ELIZA a été réuni avec un autre programme d'intelligence artificielle précoce appelé PARRY pour une conversation réservée aux ordinateurs. Alors qu'ELIZA était conçu pour parler comme un médecin, PARRY était destiné à simuler un patient atteint de schizophrénie.

Conception d'ELIZA

À l'origine, Weizenbaum a écrit ELIZA en MAD-SLIP pour CTSS sur un IBM 7094, comme un programme visant à rendre possible la conversation en langage naturel avec un ordinateur. Pour ce faire, Weizenbaum a identifié cinq " problèmes techniques fondamentaux " qu'ELIZA devait surmonter : l'identification des mots critiques, la découverte d'un contexte minimal, le choix des transformations appropriées, la génération de réponses adaptées à la transformation ou en l'absence de mots critiques et la fourniture d'une capacité de fin [further explanation needed] pour les scripts ELIZA. Weizenbaum a résolu ces problèmes et a fait en sorte qu'ELIZA n'ait pas de cadre contextuel ou d'univers de discours intégré, ce qui exigeait toutefois qu'ELIZA dispose d'un script d'instructions sur la manière de répondre aux entrées des utilisateurs.

Le processus de réponse d'ELIZA à l'entrée d'un utilisateur commence par l'examen du texte saisi à la recherche d'un " mot-clé ". Un " mot-clé " est un mot désigné comme important par le script ELIZA actif, qui attribue à chaque mot-clé un numéro de précédence, ou RANK, conçu par le programmeur. Si de tels mots sont trouvés, ils sont placés dans une " pile de clés ", le mot-clé ayant le RANK le plus élevé étant placé en tête. La phrase d'entrée est alors manipulée et transformée selon la règle associée au mot-clé du RANK le plus élevé. Par exemple, lorsque le script DOCTOR rencontre des mots tels que "alike" ou "same", il affiche un message relatif à la similarité, dans ce cas "In what way ?", car ces mots ont un numéro de précédence élevé. Cela démontre également comment certains mots, tels que dictés par le script, peuvent être manipulés indépendamment des considérations contextuelles, comme le passage des pronoms de la première personne aux pronoms de la deuxième personne et vice versa, car ces mots ont également un nombre de préséance élevé. De tels mots avec des numéros de précédence élevés sont considérés comme supérieurs aux modèles conversationnels et sont traités indépendamment des modèles contextuels.

Après ce premier examen, l'étape suivante du processus consiste à appliquer une règle de transformation appropriée, qui comprend deux parties : la "règle de décomposition" et la "règle de réassemblage". Tout d'abord, l'entrée est examinée à la recherche de modèles syntaxiques afin d'établir le contexte minimal nécessaire pour répondre. En utilisant les mots-clés et d'autres mots proches de l'entrée, différentes règles de désassemblage sont testées jusqu'à ce qu'un modèle approprié soit trouvé. En utilisant les règles du script, la phrase est alors "démontée" et arrangée en sections des éléments constitutifs comme le dicte la "règle de décomposition pour le mot-clé de rang le plus élevé". L'exemple que Weizenbaum donne est l'entrée "Vous êtes très serviable", qui est transformée en "Je suis très serviable". Cette entrée est ensuite décomposée en (1) vide (2) "je" (3) "suis" (4) "très utile". La règle de décomposition a décomposé la phrase en quatre petits segments qui contiennent à la fois les mots-clés et les informations de la phrase.

La règle de décomposition désigne ensuite une règle de réassemblage particulière, ou un ensemble de règles de réassemblage, à suivre lors de la reconstruction de la phrase. La règle de réassemblage prend les fragments de l'entrée que la règle de décomposition avait créée, les réarrange et ajoute des mots programmés pour créer une réponse. En reprenant l'exemple de Weizenbaum cité précédemment, une telle règle de réassemblage prendrait les fragments et les appliquerait à la phrase "Qu'est-ce qui vous fait penser que je suis (4)", ce qui donnerait "Qu'est-ce qui vous fait penser que je suis très utile ?". Cet exemple est plutôt simple, car selon la règle de désassemblage, le résultat pourrait être beaucoup plus complexe et utiliser davantage les données de l'utilisateur. Cependant, à partir de ce réassemblage, ELIZA envoie ensuite la phrase construite à l'utilisateur sous forme de texte à l'écran.

Ces étapes représentent l'essentiel des procédures suivies par ELIZA pour créer une réponse à partir d'une entrée typique, bien qu'il existe plusieurs situations spécialisées auxquelles ELIZA/DOCTOR peut répondre.

La deuxième méthode consistait à utiliser une structure " MEMOIRE ", qui enregistrait les entrées récentes antérieures et les utilisait pour créer une réponse faisant référence à une partie de la conversation précédente lorsqu'elle était rencontrée sans mots clés. Cela était possible grâce à la capacité de Slip à marquer les mots pour une autre utilisation, ce qui permettait simultanément à ELIZA d'examiner, de stocker et de réaffecter les mots pour les utiliser dans les sorties.

Bien que ces fonctions soient toutes intégrées dans la programmation d'ELIZA, la manière exacte dont le programme démonte, examine et réassemble les entrées est déterminée par le script d'exploitation. Le script n'est pas statique et peut être modifié, ou un nouveau script créé, selon les besoins de l'opération dans le contexte requis. Le programme peut ainsi être appliqué dans de multiples situations, notamment le célèbre script DOCTOR, qui simule un psychothérapeute rogérien.

Une version Lisp d'ELIZA, basée sur l'article du CACM de Weizenbaum, a été écrite peu après la publication de cet article par Bernie Cosell. Une version BASIC est apparue dans Creative Computing en 1977 (bien qu'elle ait été écrite en 1973 par Jeff Shrager). Cette version, qui a été portée sur un grand nombre des premiers ordinateurs personnels, semble avoir été traduite par la suite en de nombreuses autres versions dans de nombreux autres langages. Shrager affirme n'avoir vu ni la version de Weizenbaum ni celle de Cosell.

En 2021, Jeff Shrager a fouillé les archives Weizenbaum du MIT, avec l'archiviste du MIT Myles Crowley, et a trouvé des fichiers étiquetés Computer Conversations. Ceux-ci comprenaient la liste complète du code source d'ELIZA dans MAD-SLIP, avec le script DOCTOR en pièce jointe. La succession Weizenbaum a donné l'autorisation d'ouvrir ce code sous une licence Creative Commons CC0 du domaine public. Le code et d'autres informations sont disponibles sur le site ELIZAGEN.

Une autre version d'Eliza populaire parmi les ingénieurs logiciels est celle qui est fournie avec la version par défaut de GNU Emacs, et à laquelle on peut accéder en tapant M-x doctor dans la plupart des implémentations modernes d'Emacs.


 

 

Search