Sonia, Système d’Opérateurs Numériques en Intelligence Artificielle
Pour résumer, SONIA est un robot en intelligence artificielle (SoniaBot), une sorte d’IHM (Interface Homme-machine) qui permet de dialoguer depuis un navigateur web, un PDA, un iPhone ou un univers virtuel genre SecondLife ou OpenSim.Ce projet est en cours de développement depuis 2008.
Sonia, dans sa version complète expérimentale, est un CMS (Système de gestion de contenu) à partir duquel quiconque peut gérer/alimenter un site, un blog ou n’importe quel assemblage de contenus numériques (objets 3D) en langage naturel, simplement en discutant avec le robot comme il le ferait avec un webmaster assis à ses côtés.
Sur le principe, Sonia est construit sur une “analyse syntaxique réductionniste” : le réductionnisme est la branche de la linguistique sémantique qui pose comme base de travail que toute assertion humaine peut être réduite à un ensemble d’objets basiques à traiter séquentiellement. Dans sa version complète (CMS), que vous disiez à Sonia “publier une news” ou “afficher une nouvelle info” ou encore “entrer une actu” ou même “poster une information” ne fait strictement aucune différence : en terme réductionnisme il s’agit d’opérer une action “écrire” portant sur un objet “info” ; les paradigmes équivalents sont donc perçus comme négligeables (écrire = poster = publier = entrer) + (info = actu = news).
En revanche, “écrire un article” présente une réduction différente : l’action est la même mais pas l’objet sur laquelle elle porte. Idem mais dans l’autre sens avec “supprimer une news”.
Sonia version “light”
Sonia est dispo commercialement en version light. Elle peut être intégrée à un site web, associée à un objet 3D, incorporée à une appli smartphone, peu importe. La version light à ceci de particulier qu’on lui affecte des domaines d’expressions : en gros le cadre de votre activité et de vos contenus. Elle saura évidemment répondre à toutes sortes d’autres demandes mais très évasivement, ou par des messages demandant plus d’explications. Si en revanche les dialogues portent sur le coeur de votre activité ou de votre service, elle est capable de proposer des niveaux de dialogues d’une grande complexité.
Un exemple
Sonia vient d’être intégrée à un site institutionnel portant sur la gestion des déchets des entreprises et collectivités. En gros, sa mission est d’être un agent conversationnel au service des publics-cibles pour les aider à trouver les opérateurs de déchets les plus proches, ou les mieux équipés, ou répondant à tel ou tel critère de compétences.
Le robot commence par demander à l’utilisateur quel type de déchets il souhaite qu’elle prenne en charge. Le réductionnisme opère une première fois sur les types de déchets : par exemple “seringues”, “compresse”, “aiguilles”, “clinique”, “cabinet” etc. seront réduit au schème “déchets de soins”.
Mais il existe tout de suite un autre niveau de complexité : par exemple sur le mot “huile”. Une huile peut être alimentaire, de vidange, souillée ou pas, etc. Dès lors se pose la question de son traitement et de son classement : “valoriser une huile alimentaire” et “dépolluer une huile souillée d’hydrocarbures” n’est pas du tout le même métier, et donc pas nécessairement le même opérateur. Sonia demande alors de quel type d’huile il s’agit exactement. Selon la réponse elle orientera la suite du dialogue différemment.
Une fois le(s) type(s) de déchets indentifié(s), le robot va s’intéresser à ce qu’il faut en faire. Là aussi le niveau de complexité est également élevé : on peut les collecter, les trier, les stocker, les valoriser, les enfouir, les dépolluer, etc. Plusieurs de ces opérations pouvant être mises en séquences, le bot opère une seconde réduction en posant les questions les plus pertinentes pour lever tous les doutes possibles.
A la fin de cette étape il propose d’afficher les opérateurs répondant à tous les critères identifiés. On peut s’arrêter là ou aller plus loin : on peut ainsi lui dire où l’on est et de nous trouver les opérateurs les plus proches (il demandera dans un rayon de combien de kilomètres), on peut lui demander de nous dire si dans la liste qu’il a créée se trouve telle ou telle entreprise avec qui l’on a déjà travaillé, etc.
Retour intéressant d’expérience
Le 23 mai en début d’après-midi j’ai présenté le SoniaBot à ce client. Je lui avais expliqué ce que c’était mais sans qu’il en perçoive la dimension. Comme c’est ma première “vente” commerciale de l’outil j’étais curieux de voir comment les testeurs allaient interagir et réagir avec le bot.
Ca a été très intéressant. La première réaction ne se fait pas attendre :
Testeur : ” et maintenant je lui dis quoi ? “
Moi : “ce que tu veux qu’elle fasse”
Testeur (dérouté) : “mais je dois lui dire comment pour qu’elle comprenne ce que je veux ?”
Moi : “comme tu me le dirais à moi”
Testeur : “donc j’écris ce que je veux ? ” (en l’occurence à ce stade il voulait afficher la liste d’opérateurs préalablement triés par le moteur d’analyse sémantique)
Moi : “oui, vas-y”
Testeur : “mais elle va comprendre ce que je vais dire ?”
Moi : “on verra bien, essaie”
Il écrit “affiche la liste” et crac la liste apparaît à l’écran.
Ce qui est vraiment intéressant c’est de constater à quel point nos usages du web sont ultra-conditionnés par des outils et interfaces. Dès qu’on peut enfin dire ce qu’on veut comme on le veut à la machine pour qu’elle l’exécute, c’est la déroute… On en est (ça a été la réaction des 3 personnes présentes) à essayer d’anticiper les réactions de la machine et à calculer ce qu’on doit dire pour que la machine comprenne, comme s’il était admis, normal et naturel que *nous* devions nous adapter à elle, et non l’inverse.
Second test, même stade :
Elle (finaude) : “je vais lui dire autrement on verra bien…”
Elle entre “les opérateurs” au clavier et la liste apparaît aussi, avec ses critères à elle.
Elle : “comment c’est possible ?”
Là on est dans un autre cas de figure : nous sommes tellement habitués au scénario “une action identique provoque toujours un résultat identique, une action différente provoque toujours une réaction différente” qu’une sorte d’incompréhension se manifeste.
Troisième testeur :
Il entre “bonjour”. Le bot lui répond “bonjour, que voulez-vous faire ?”
Il entre un truc aberrant.
Le bot : “ désolé je n’ai pas compris, vous pouvez me le redire autrement SVP”
Il enchaîne ensuite sur des dials attendus et le bot peut poursuivre sa démarche logique d’analyse sémantique des réponses reçues.
Il entre ensuite “ramasser” comme action à entreprendre.
Le bot lui répond : “vous voulez une collecte de vos déchets, c’est ça ?”
Premières conclusions à chaud
L’écueil principal de ce type d’outils un peu en décalage avec les usages est le léger “stade de stupéfaction” initial. On ne sait pas exactement quoi faire ni quoi dire. Autant avec un être humain à côté de soi on saurait lui dire “où puis-je faire valoriser cette pile de vieux cartons et de vieux journaux ?”, autant le dire de cette façon à une machine nous paraît inutile car présupposé incompréhensible.
Et quand ça marche, quand la machine réagit comme un être humain en posant les questions nécessaires à la préparation d’une réponse finale pertinente, c’est alors l’effet waow qui prend le relais. Il y a donc encore beaucoup de travail pour rendre cet outil plus “amical” - au sens où on se confie à lui en toute insouciance des conséquences présupposées et en toute inconscience qu’il ne s’agit que d’un système numérique.