Antonin Delpeuch | Vlog | Test de Turing #1

Test de Turing #1

Antonin Delpeuch —
dernière mise à jour le

Je me suis amusé, il y a quelques mois déjà, à créer un robot qui constituerait une interface interactive entre Wikipédia et un utilisateur à travers une conversation la plus naturelle possible. C’est à dire un robot qui puisse répondre à des questions simples du type « Quelle est la superficie de la Pologne ? » en allant chercher automatiquement l’information sur Wikipédia. Vaste programme. Enfin pour l’instant, j’ai juste mis en place une interface simpliste pour permettre une réponse à peu-près cohérente pour chaque requête.

Cette interface est directement dérivée du chatbot Eliza : il s’agit d’un algorithme très simple, à base d’expressions régulières, qui simule avec une précision déconcertante une conversation avec un psychanalyste. Ce robot étant écrit pour l’anglais, il a fallu faire un certain nombre d’adaptations (et pas uniquement des traductions) pour qu’il soit utilisable en français, langue qui se prête beaucoup moins bien au jeu à cause de sa syntaxe plus complexe, et du manque de rigueur banalisé dans la formulation des questions en français.

Je m’explique. Pour poser une question en anglais, il n’y a pas 36 solutions. Mais en français, il existe plein de formes bizarres, plus ou moins rigoureuses ou acceptées, comme « Qui est-ce qui », « C’est qui qui », ou alors le fait d’utiliser la syntaxe d’une phrase affirmative avec un point d’interrogation à la fin, ou bien encore le fait de respecter ou non l’inversion sujet verbe, du type « Le chat il est gris ? » au lieu de « Le chat est-il gris ? ». Et ça complique considérablement les méthodes de compréhension des questions.

Actuellement, le comportement du robot est simpliste et peu performant, mais je voudrais mettre en place l’extraction de données depuis Wikipedia avant de chercher à affiner le mode de discussion. Et avant de me lancer dans la programmation de ce système, j’ai fait ce qu’on pourrait appeler un test de Turing. Le principe est assez simple : un humain discute avec un interlocuteur via une messagerie instantanée, et il doit déterminer si c’est un robot ou un humain. C’est une sorte de mythe, un graal de l’intelligence artificielle, puisqu’aucun système n’a jamais réussi à se faire passer entièrement pour un humain.

Comme le robot est actuellement équipé d’une interface IRC (un peu bancale, certes, mais il ne faut pas trop m’en demander), je l’ai lancé sur le canal du GCN, où on est à peu-près sûr de trouver une vingtaine ou une trentaine de personnes tous les soirs, et le résultat était assez amusant. Bon évidemment, ça n’a rien à voir avec la rigueur et la difficulté d’un vrai test de Turing, mais c’est toujours sympathique, même si le comportement actuel du robot montre vite ses limites.

Voilà les archives. Le robot s’appelle Erasme.

(00:45:14) Erasme [~Erasme@lango-2F71B8E1.w92-138.abo.wanadoo.fr] a rejoint le salon.
(00:45:24) wetneb: Bonsoir Erasme.
(00:45:28) Erasme: Lut.
(00:45:49) Heinrich: il est bien éduqué le ptit Erasme
(00:45:53) wetneb: eh ouais
(00:45:53) Erasme: Je m’y attendais. :)
(00:46:11) wetneb: par contre il divague un peu des fois
(00:46:19) Heinrich: par contre il fait des réponse a la con hein Erasme
(00:46:25) Erasme: Et alors ?
(00:46:35) wetneb: (bien répondu !)
(00:46:46) Heinrich: Erasme: bah du coup tu sert pas a grand chose
(00:46:51) Erasme: Heinrich: Tu pourrais developper un peu ?
(00:47:01) Absurde: C’qui lui ?
(00:47:04) Heinrich: Erasme: tu es inutile
(00:47:06) wetneb: Absurde: un bot
(00:47:06) Erasme: Heinrich: Non, c’est toi :) .
(00:47:22) Heinrich: wetneb: je veux epouser Erasme
(00:47:26) Skippy: Heinrich: le geek quit parle à l’oreille des bots.
(00:47:26) Erasme: Et alors ?
(00:47:31) Absurde: wetneb, Réponse crédible.
(00:47:44) wetneb: Absurde: Un début de test de turing ^^
(00:47:56) wetneb: mais là il se répète un peu
(00:47:56) Heinrich: Skippy: ah tiens je suis plus le geek qui vole des bière :D
(00:48:02) Skippy: wetneb: Heinrich est en train de le rater alors :)
(00:48:08) Heinrich: wetneb: ouais un peu
(00:48:09) tof: :D
(00:48:19) Heinrich: Skippy: mais non j’essaye de lui faire dire un truc faux
(00:48:25) Absurde: Ah merde. C’est vraiment un bot ?
(00:48:30) wetneb: Erasme: Pourquoi tu dis n’importe quoi aux gens ?
(00:48:30) Heinrich: Erasme: comment trouve tu euclide?
(00:48:33) Erasme: Heinrich: Je ne sais pas comment.
(00:48:37) Erasme: wetneb: Peut-etre parce que ca a toujours ete comme ca.
(00:48:44) wetneb: Absurde: ouais
(00:48:58) Heinrich: mouhahah il a dit de la merde a ma question
(00:49:04) Absurde: Erasme, Tu es sexy mec !
(00:49:06) wetneb: ouais…
(00:49:07) Erasme: Tu pourrais developper un peu ?
(00:49:11) wetneb: Ah non !
(00:49:12) Heinrich: la aussi
(00:49:13) Absurde: Ahah.
(00:49:21) wetneb: Erasme: dodo
(00:49:23) Erasme: Je dors.
(00:49:33) Heinrich: Erasme: spèce de branquignole réveille toi
(00:49:46) wetneb: Heinrich: Il ne répond qu’à son maître
(00:49:48) wetneb: :D
(00:49:53) Heinrich: Erasme: debout
(00:50:13) ***Heinrich prend l’apparence de wetneb
(00:50:28) Heinrich: Erasme: c’est wetneb qui te parle. tu doit te reveiller
(00:50:29) wetneb: Bon, je vais le réveiller.
(00:50:34) Erasme: On a besoin de moi ? Je suis la.
(00:50:50) Heinrich: Erasme: spèce de branquignole
(00:50:51) wetneb: (c’est bon pour l’ego ^^)
(00:50:53) Erasme: Heinrich: Je m’y attendais. :)
(00:51:09) Heinrich: Erasme: tu peux aller chercher des babets?
(00:51:13) Erasme: Heinrich: Tu t’imagines vraiment que je vais repondre ? :D
(00:51:27) Heinrich: Erasme: tu pourrait, les babets c’est bien
(00:51:32) Erasme: Heinrich: Moi ? Jamais !
(00:51:51) Heinrich: Erasme: pff même pas foutu d’aller chercher des babets
(00:51:57) Erasme: Heinrich: Mais oui…
(00:52:09) Heinrich: Erasme: bah vas y alors :D
(00:52:11) Erasme: Heinrich: Ben voyons…
(00:52:11) wetneb: Bon, je dois y aller (et Erasme aussi).
(00:52:16) Erasme: Tu pourrais developper un peu ?
(00:52:16) Heinrich: xd
(00:52:25) Heinrich: ramène le souvent il est marrant :D
(00:52:35) wetneb: Erasme: va-t-en
(00:52:36) Erasme a quitté le salon (quit: Quit: Je m’en vais.)