5177 sujets

Le Bar du forum

Pages :
Bonjour

Je m'intéresse depuis quelques temps déjà aux bots dans l'idée de produire un CMS sur base AIML (Artificial Intelligence Markup Langage) qui une déclinaison de XML appropriée aux échanges hommes-machines. En gros on parle à la machine (elle demande plus de précisions si elle ne comprend pas bien la demande, ou si la demande est incomplète), machine qui ensuite parle au serveur qui fait alors ce qu'elle lui demande.

L'intérêt c'est que le bot peut prendre une forme Html (intégré dans une page comme <form><input>) ou "avatarienne" (dans une 3D [[oui oui, je sais]] ), etc... On a donc un outil qui permet d'en finir avec ces interfaces CMS compliquées et lourdes. En plus on produit du contenu depuis n'importe quel outil. En plus, en terme de prod de contenus toujours, on a un certain contrôle d'accessibilité puisque le bot peut appréhender et "qualifier" le contenu proposé par l'auteur en fonction de nombreux critères filtrants (pertinence du alt d'une image au regard de sa fonction: est-elle une illustration ? un lien ? une déco ?).

L'autre intérêt est qu'il n'y a rien (ou presque) à installer sur le serveur puisque le bot crée ce qu'on lui demande, s'il le comprend bien. En gros je lui dis "crée le blog Azerty" et crac, il crée les reps, les liens, les outils, etc., ce qui se faisait manuellemment par la procédure d'install qui du coup se retrouve guidée par le bot étape par étape. Ou "crée l'utilisateur Untel". Ou "crée une rubrique Azerty". Ou "remplace tel mot par tel autre partout". Ce genre de choses. Ou encore, comme dit plus haut, si je lui demande d'ajouter une image le bot peut me demander à quoi elle sert avant de l'envoyer au serveur.

Le dernier intérêt enfin c'est évidemment qu'en utilisant une synthèse vocale (pour l'instant je ne travaille qu'en échanges textuels avec le bot) n'importe qui pourra créer et gérer vocalement son propre blog. Mais on en n'est pas là Smiley smile => 2050 ???

Sur les forums consacrés aux bots il est très difficile de trouver des personnes intéressées par la prod de contenus web. Ceux que j'ai rencontrés ne sont pas du tout dans la logique CMS de gestion de sites complets, avec toute la complexité que cela présente en terme de process de prod.

J'en viens à la question : quelqu'un dans la communauté Alsa a-t'il déjà exploré ces questions et ce langage et voudrait-il constituer un groupe de travail informel autour de ce projet ?

(Exemples d'utilisations commerciales des chatbots en France sur des sites web (MMA, SNCF, etc) : http://www.chatbots.org/fr. Là l'utilisation est orientée service, ce qui est beaucoup plus facile puisque la gamme des "possibles" est plus restreinte - sûrement rigolo à installer sur un site...)

Pour "causer" avec le bot de la SNCF : c'est dans la colonne de gauche. Tapez par exemple "quel tarif TGV paris" ou "grèves prévues" ( Smiley biggol ) et la botgirl Léa vous proposera de préciser vos options.
Modifié par Arsene (05 Feb 2009 - 12:20)
C'est un projet intéressant. Cependant je pense qu'avant de mettre des bots dans les CMS faudrait peut-être commencer par créer un CMS sur lequel tout le monde est d'accord.

De plus le bot serait en quoi ? Côté serveur en PHP/python/autre ou côté client en JS ? Un bot XMPP peut s'envisager également.
Hello,

Pour ma part ça me passe à quelques trois kilomètres au dessus de la tête, et ce que je pense comprendre ne me passionne guère.
(Juste pour dire que j'ai lu le sujet. Smiley cligne )
Changaco a écrit :
C'est un projet intéressant. Cependant je pense qu'avant de mettre des bots dans les CMS faudrait peut-être commencer par créer un CMS sur lequel tout le monde est d'accord.


Non. Le bot EST le CMS.

Changaco a écrit :
De plus le bot serait en quoi ? Côté serveur en PHP/python/autre ou côté client en JS ? Un bot XMPP peut s'envisager également.


Le bot est en rien d'autre que lui-même, c'est-à-dire des bibliothèques AIML (XML). En version écran d'ordi il sera en interface Html, ailleurs il sera autrement (LSL ou autres langages).

Dans un CMS classique l'admin remplit des cases, coche des boutons, etc. bref, passe par des formulaires et des étapes plus ou moins complexes. Par derrière la machine crée les fichiers qu'il faut, écrit ce qu'il faut où il faut, etc. Les inconvénients sont que l'interface est souvent assez complexe - voire parfois déroutante - pour un débutant, qu'elle nécessite un apprentissage plus ou moins long (avec d'importants risques d'erreurs) ou encore que des décisions pas forcément bien comprises sont à prendre à chaque étape. L'autre inconvénient est que pour modifier un objet via le CMS il faut souvent parcourir plusieurs écrans, cocher plusieurs cases, "submitter" plusieurs boutons.

L'idéal serait donc que dans l'absolu les CMS soient "intelligents", c'est-à-dire qu'ils comprennent ce que tu veux faire : par exemple imaginons que tu veuilles éditer un article du 12 janvier pour simplement changer la photo... tu entrerais "changer photo article du 12 janvier" dans le formulaire en page d'accueil admin du CMS et celui-ci t'afficherait direct le form qu'il faut.

Ça, un bot sait le faire Smiley smile

Il n'y a donc plus de CMS (des pages et des pages admin de formulaires à remplir) mais un seul input unique dialoguant avec le bot - ou mieux, à terme, une interaction "voice" directe.

Je reprends l'exemple de la photo à changer : dial direct entre ADM et BOT.

ADM ouvre l'interface.

ADM : change une photo
BOT : quel article ?
ADM : 12 janvier 2009
BOT : la photo "la ville sous 30 centimètres de neige" ? (là, BOT utilise le alt)
ADM : oui

BOT, en entendant "oui" dans ce contexte de dial, sait exactement ce qu'il faut faire.
Au lieu de répondre à ADM, il parle directement au serveur : techniquement parlant PHP intercepte le dialogue (un dial de bot AIML c'est du XML-RPC, on capture donc les var passées très facilement) pour afficher l'interface de sélection de photo à poster. Quand ADM a envoyé son image, PHP fait ce qu'il faut pour remplacer l'ancienne par la nouvelle ; quand c'est fait il retourne l'info à BOT.

BOT : la photo est changée, quelle est sa description (alt)
ADM : embouteillage urbain suite aux importantes chutes de neige
BOT : c'est en ligne

L'idée en gros est d'insérer un agent intelligent entre l'utilisateur et la solution CMS quelle qu'elle soit. Au final ça a peu d'importance puisque le résultat est identique. C'est le bot qui prend en charge (ou plus exactement le dialogue bot-serveur en tâche de fond) la complexité de l'usage des mutiples formulaires.

Alors par exemple je suis dans le train, avec mon mobile je fais une photo de paysage urbain enneigé et d'autoroute embouteillée, je me connecte au bot et par un simple échange moins de deux minutes après la photo est en ligne.

D'accord avec toi Florent que c'est complètement inintéressant Smiley biggrin Merci de l'avoir lu quand même.

[je crois que j'ai oublié de préciser qu'entre autres avantages un tel outil serait assez redoutable sur un lecteur d'écran...]
Modifié par Arsene (06 Feb 2009 - 12:08)
Salut,

Arsene a écrit :

Il n'y a donc plus de CMS (des pages et des pages admin de formulaires à remplir) mais un seul input unique dialoguant avec le bot - ou mieux, à terme, une interaction "voice" directe.


Même si je te comprend, le CMS reste ce qui gère le contenu. Il n y a plus d'interface d'administration.

Ton projet me parait plutôt futuriste et en tout cas pour l'instant, je voix mal l'intérêt de mettre à la trappe l'interface d'administration et considèrerai plus le Bot comme un fonctionnalité secondaire (rien que parce que ces truc peuvent prendre la tête, ex : le trombone de microsoft office).

De plus, leur utilisation nécessite une phase d'apprentissage qui est, à mon avis, que celle de l'utilisation de formulaire basiques rien que parce qu'il faut apprendre à connaitre les expressions reconnues par le bot.

<hs>J'ai déclaré ma flamme à la botgirl de la sncf ^^ (taper : je t'aime)</hs>
Bah j'ai pas dit que c'était simple, mais encore une fois tout dépend de la complexité qui peut s'envisager étape par étape, module par module. D'autre part on n'est pas dans une configuration "ouverte" ou n'importe qui peut dire n'importe quoi (genre 'je t'aime" à Léa - trop fort Bzh, tu vois que tu n'es pas sérieux Smiley biggrin ) et où, effectivement, la gamme des dials possibles est quasi infinie. Dans ce cas-là évidemment les apprentissages de dial adm-bot pourraient représenter de dizaines de milliers de définitions AIML. Le cas que tu décris est un échange homme-bot où le seul critère d'analyse pris en compte est ce que disent l'un et l'autre, et donc toute phrase non-répertoriée produit un échec.

Mais on est là en fait dans un dial à trois : adm-bot-serveur.
Quand ADM dit : "l'article du 12 janvier" il est évident que l'on ne peut pas lister l'intégralité des possibles. En revanche le serveur peut via l'URL passer à BOT une certaine instruction de type "&article=12-01-09" dans l'URL.

Futuriste ? Oui et non. J'ai installé un mini-blog de test le w-e dernier et j'arrive à écrire un nouvel article (de courtes news : un titre et 3 lignes de texte) par le bot, depuis le web ou depuis Second Life - (oui oui je sais). En gros dès que le bot comprend ma demande il envoie au serveur l'ordre de créer un fichier .xml correctement constitué qui se retrouve instantanément en ligne. C'est donc un outil quasi déjà prêt pour gérer des RSS par exemple

Techniquement c'est pas compliqué : il y a un outil PHP sur le serveur qui, lorsqu'il recoit une instruction postée de type "post#Mon titre de news#Le texte bla bla bla" reconnait (if substr($_POST['message'],0,4)=='post#') qu'il s'agit d'un nouvel article à écrire. Ensuite, classiquement, il sépare titre et texte et génère le fichier .xml adéquat. Toute la difficulté est de faire envoyer le dial "post#Mon titre de news#Le texte bla bla bla" par le bot.

Dans SL c'est assez simple : il suffit que le bot entende un mot-clé qu'il reconnaît. Sur le web c'est un poil plus compliqué, il y a une étape en plus mais ça marche.

Pour résumer vite fait, on remplace la solution CMS classique
admin > interface web Html > outil > contenus
par
admin > bot AIML > outil > contenus
mais il va de soi que si dans les deux cas il y a un outil qui "produit" le contenu, il n'est pas du tout le même.

Le but du jeu est donc de concevoir simultanément le type de dials à construire avec le type d'outil qui retraitera tout ça par derrière.

J'ai fait la même proposition (créer un groupe de travail) sur un forum bots AIML et dans une communaute de dév SL et c'est très rigolo parce que les arguments ou les remarques des uns ou des autres sont complètement marqués par leurs domaines d'appartenance : les "bot-men" sont peu excités par l'idée de parler à un serveur et les "esseliens" par l'intérêt de produire du contenu internet Smiley cligne Alors qu'ici sur Alsa l'idée de supprimer l'interface web du CMS paraisse totalement farfelue ne me surprend pas beaucoup non plus. Mais comme c'est vendredÿ ça fait rien Smiley biggol
Modifié par Arsene (06 Feb 2009 - 14:09)
Je maintien que le bot n'est qu'une interface et non le CMS en lui-même et que par conséquent avant de s'occuper des interfaces faudrait peut-être s'occuper de ce qu'il y a sous le capot.

Ensuite je suis d'accord sur le fait que la bonne vieille interface peut-être plus rapide si on la connaît et que les deux peuvent cohabiter. D'ailleurs si je devait me lancer dans un tel projet l'interface HTTP serait classique et je mettrais le bot sur XMPP qui est plus adapté aux communication en temps réel.
a écrit :
Je maintien que le bot n'est qu'une interface et non le CMS en lui-même et que par conséquent avant de s'occuper des interfaces faudrait peut-être s'occuper de ce qu'il y a sous le capot.


Oui et non Changaco, basiquement un CMS se réduit à un certain nombre d'opérations (créer, éditer, modifier, deleter...) portant sur un certain nombre d'objets plus ou moins complexes (contenus, structures, outils ...) et on ne peut pas à mon avis détacher l'interface - ce qu'elle permet ou pas, ce qu'elle rend simple ou très compliqué - de ce qu'elle produit au final. C'est l'interface et l'usage qu'on en a qui déterminent quel contenu sera produit, et pas une "machine sous le capot" qui en serait totalement indépendante.

Autrement dit, et si on raisonne en modules à ajouter les uns aux autres, on peut définir un nombre fini de scénarios qui, additionnés, sont capables de produire l'intégralité de ce dont on a besoin. Chaque scénario peut prendre la forme d'un dialogue et être modélisé comme tel en AIML. A la fin de chaque dial/module, au moment où le bot a réuni toutes les infos dont il a besoin il s'adresse à la machine sur le serveur qui écrit alors ce qu'il faut là où il faut et de la façon qu'il faut. On n'a pas besoin de l'interface classique présentant toutes les options possibles pour chaque cas de figure puisque la demande est toujours dirigée.
Un CMS c'est une librairie est un GUI en HTML, si la séparation entre les deux n'est pas actuellement faite c'est parce que le seul langage disponible pour le GUI est le HTML et parce que quasiment tout ce qui est Web dynamique (PHP) a été mal pensé. Le Web est considéré par beaucoup comme un domaine à part de la programmation alors que ce n'est pas le cas.
Faut que t'arrêtes de fumer les feuilles du Changaco Arsene Smiley lol
Je pensais que tu délirais mais le bot de MMA est terrible, celui de la sncf c'est juste une recherche par contre !

Pour MMA, je vous invite à taper "c'est cher" ou encore "hello", c'est impressionant...même quand vous retapez le texte la réponse est différente.

Je ne connaissais pas du tout, merci à Arsène et à sa quête du rich média, mais je pense qu'il doit exister un framework pour ce type d'application car à développer ça doit être trompette et confettis Smiley cligne
copperfield a écrit :
mais je pense qu'il doit exister un framework pour ce type d'application car à développer ça doit être trompette et confettis Smiley cligne


Pas à ma connaissance, en tout cas pas pour de la solution CMS. D'où l'idée de défricher le terrain à temps perdu pour faire avancer la machinerie. Compliqué ? pas tellement. Long ? sûrement.

En gros une "unité sémantique" de dial de bot en AIML se présente comme ça :


<category>
<pattern>CREE UNE PAGE</pattern>
<template>Dans quelle rubrique ?</template>
</category>


...où <pattern> est le contexte de dial et <template> le retour du bot. Donc quand le bot entend quelque chose qui ressemble à "Crée une page" il demande illico "Dans quelle rubrique ?". Si on a comme réponse de ADM "Les News", alors :


<category>
<pattern>LES NEWS</pattern>
<template>CMS:nouvelle_page_news</template>
</category>


PHP (ou autre) détecte que le retour de bot commence par CMS: (par un if substr---> capture du retour XML-RPC) Du coup le dial n'est plus destiné à ADM mais au serveur qui prépare une nouvelle page selon les instuctions attachées à la variable $_POST['nouvelle_page_news'] et renvoie "PAGE PRETE" à BOT.

Alors :


<category>
<pattern>PAGE PRETE</pattern>
<template>Entrez son titre</template>
</category>


BOT reprend son dial avec ADM et demande le titre.

Voilà en gros le principe. Je suppose que ça peut présenter un certain intérêt pour les utilisateurs de mobiles ou de Jaws : si au lieu d'avoir des pages et des pages d'interfaces formulaires HTML (les GUI de Changaco) tu n'as qu'un seul champ, ça simplifie les choses.

Ça peut naturellement aller encore plus loin (pur délire inside) :


<category>
<pattern>CREE CUBE VERT</pattern>
<template>CMS:cree_cube_vert</template>
</category>


peut à la fois créer un cube en 3D dans un univers virtuel (assez facile à faire) et un dessin SVG de cube en 2D en perspective pour le web.... On peut aussi par ex créer un graphique complet avec GD... Y'a pas beaucoup de limites. Suffit de poster n'importe quel pattern dans l'URL et ça part. Faut juste éduquer le bot qui a de son côté certaines capacités d'apprentissage. Donc en gros le boulot consiste à créer les contextes de dials nécessaires à la fabrication d'un site, probablement autour de quelques centaines.

En vocal c'est généralement ce que tu trouves sur les boites vocales des FAI qui demandent le numéro de téléphone ou ce que tu veux faire (payer ta facture, râler...). On peut imaginer le délire que serait un CMS vocal Smiley biggol Tu dis ce que tu veux faire dans ton micro et crac c'est en ligne... Le jour où on a ça, là ça déchire pour de vrai Smiley smile

Bon j'arrête pour ce soir la moquette est finie, là j'attaque le plancher...
Modifié par Arsene (07 Feb 2009 - 19:39)
Hummm pour la sncf ça doit être ça...par contre pour MMA les réponses diffèrent pour une même question.

Si tu insultes la fille, elle te dit que tu es malpoli et qu'elle attend des excuses Smiley lol
Si tu lui dis plusieurs fois bonjour ou hello, elle te sort rebonjour...c'est quand même poussé comme développement juste pour MMA.

A mon avis, il doit exister une bibliothèque pour ce type d'application car sinon ça veut dire que le développement du BOT serait plus long que le site Smiley cligne

Tant qu'à fumer la moquette autant associer la synthèse vocale au BOT...le pire c'est que ça risque d'arriver plus vite que l'on croit !

Edit: je rajoute ce petit lien pour finir cette moquette Smiley lol il lui manque plus la parole !
http://www.motionportrait.com/e/about/demo_face_01.html

Après recherche les BOTS sont créés par une même société que se soit mma, scnf, gdf, ebay etc...
C'est la société VirtuOz et voici leur page technique :
http://www.virtuoz.com/technology.html
Modifié par copperfield (07 Feb 2009 - 21:01)
Administrateur
Aaaah merci copperfield, 2 jours que je cherchais le nom de la boîte qui crée ces bots et dont j'avais entendu le nom à la radio Smiley biggol
[Hors Sujet]
Pas de soucis Felipe, tu me rendras la pareille pour mon changement de pseudo sur Alsa...
Copperfield c'est devenu ringard je voudrai Majax Smiley lol

Non non plus sérieusement mon prénom suffira, j'enverrai un email en début de semaine prochaine pour la démarche.

@+
Felipe a écrit :
2 jours que je cherchais le nom de la boîte qui crée ces bots et dont j'avais entendu le nom à la radio Smiley biggol


Fallait d'mander Smiley smile

L'inconvénient c'est que les boites de dials de virtuOz sont (à peu près) toutes les mêmes et sont construites sur une solution propriétaire : la leur. Avec sortie Flash derrière.
Au contraire du projet CMS bot qui est ouvert et dispo en langages ouverts.

Je reviens vite fait sur MMA : vous avez remarqué que quand la botgirl comprend la demande finale le dial s'interrompt et la page correspondante se charge ? C'est ça le principe qu'on veut appliquer au bot : simplement au lieu que l'instruction soit une URL à charger, c'est du code qui s'écrit sur le serveur. Y'a pas plus simple.

A part ça, l'info du jour est que j'ai discuté hier a-m dans SL avec un pote qui participe à ce projet de CMS bot (il est même un peu à l'origine puisque c'est lui qui m'a "initié" à l'art du bot...) et qu'il vient de m'annoncer que sous peu une version parlante de bot - construit sur la même base que celle qu'on utilise* - sera dispo sous iPhone. Une équipe bosse là-dessus en ce moment.

Mais tout ça limite la vocalisation au seul iPhone. Heureusement il semblerait que des programmes permettant de relier le bot à une API 'text-to-speech" commencent à faire leur apparition dans la sphère botesque. On aurait donc d'un côté une solution "vocale" par téléphone (réseau GSM) et de l'autre une solution logicielle (synthèse vocale).

Du coup ce projet de pure moquette/science-fiction (un CMS vocal) annoncé pour 2050 dans mon premier post pourrait bien en fait être rendu possible d'ici quelques mois. Hé hé Smiley smile
A nous d'être prêts à ce moment là.

*sur base Alice

@Copperfield : comme je vois que tu commences à aimer, je te propose de parler avec Dieu Chat with God (EN) lol. Là où il déraille c'est quand tu lui demandes "where is your son ?" et qu'il répond "in California". Bon, nul n'est parfait. Les vidéos de Chat-with-God en AIML audio sont assez désopilantes elles aussi.
Modifié par Arsene (08 Feb 2009 - 15:49)
a écrit :
@Copperfield : comme je vois que tu commences à aimer, je te propose de parler avec Dieu Chat with God (EN) lol.

Testé...autant poser des questions à une boule magique non ? Smiley cligne
http://fr.wikipedia.org/wiki/Magic_8_Ball

Bon je retourne discuter avec MMA Bot, c'est la première fois que je ne saoule pas une femme Smiley lol , tant que j'y pense je vais lui demander les numéros du loto, on ne sait jamais sur un malentendu héhé
Modifié par copperfield (09 Feb 2009 - 16:29)
Juste pour s'amuser : Premiers tests

Si vous arrivez sur un message d'erreur genre "Error:couldn't connect to host" patientez 15 secondes et renvoyez. Le serveur de bot utilisé actuellement est souvent très surchargé.
C'est un bon début !
Par contre "une actu" n'a pas marché chez moi Smiley decu

Tu t'es quand même attaqué à quelque chose de fastidieux Arsene...bon courage Smiley cligne
Tu dois indiquer l'action : "une actu" n'a pas de sens en soi...
Que veux-tu faire : la créer, l'éditer, la supprimer ???

- ecrire une nouvelle actu
- entrer une autre actu
- nouvelle actu
- mettre en ligne une actu urgente
- etc...
donne strictement le même résultat. Le tout est de définir d'abord le contexte sémantique de l'action (voir le bloc de droite qui donne ces contextes environnementaux...) puis un mot-clé (ici "actu" : entre temps j'ai supprimé la contrainte du "une"...). On a donc en tout et pour tout deux schèmes importants fonctionnant en couple : |contexte|+|objet|

Fastidieux peut-être mais d'abord assez excitant à faire Smiley smile Ensuite je me dis que sur mobiles ou en synthèse vocale ça peut être carrément grandiose lol
Modifié par Arsene (10 Feb 2009 - 16:11)
Yes j'ai pu tester avec tes indications.
On en reparle dans un mois pour voir si ta motivation n'a pas faibli Smiley lol
Pages :