Et voila, à la suite de mon journal précédent, dans lequel je demandais que faire après avoir décidé de reprendre un projet, j'ai le plaisir d'annoncer la sortie définitive du nouveau pyborg ! :)
Il s'agit d'un bot parlant et apprenant écrit en python. Il apprend l'agencement des phrases et s'en sert pour en créer de nouvelles. Ça n'a pas beaucoup d'intérêt, sauf pour animer un canal IRC,se marrer en lisant les conversations de ceux qui ne savent qu'ils parlent à un robot, ou chercher à comprendre comment on peut simuler le langage humain..
Au menu des nouveautés ( en gros ) :
* Ajout d'un support expérimental du protocole MSN
* Réécriture du système de génération des phrases
* Simulation d'un temps d'écriture
* Quelques nouvelles commandes et options
* Possibilité d'utiliser le moteur de megahal ( qui devrait fonctionner, je ne peux pas le tester à cause d'un segfault sur mon système )
Le projet a finalement été accepté sur gna; je remercie tout ceux qui m'ont conseillé et qui m'ont proposé leur aide !
Le fichier se trouve ici : http://download.gna.org/pyborg/pyborg-1.1.0.tar.gz
La page du projet : http://self.runner.free.fr/pyborg.html
La page de développement : https://gna.org/projects/pyborg/
# le tester en ligne
Posté par B16F4RV4RD1N . Évalué à 3.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: le tester en ligne
Posté par theocrite (site web personnel) . Évalué à 2.
Tu installe le bot chez toi. Tu as sûrement un interpréteur python chez toi, je crois que c'est à peut près tout ce qui est requis (avec un connexion Internet). Tu peux lui donner un pseudo féminin, comme par exemple... hum... Anna (Anna heter hon).
Tu lui définit un serveur (par exemple freenode très en vogue chez les geeks) et un chan. Ensuite tu peux rejoindre toi même ce même chan sur le serveur et parler avec ton bot.
Mais tu risques de t'ennuyer rapidement seul avec ton bot à lui faire la conversation. Surtout qu'il va répéter ce que tu dis (en étant un peu mélangé). Le mieux est peut être de le mettre sur un chan fréquenté APRÈS s'être assuré d'avoir mis le replyrate à 0. Comme ça il apprend discrètement sur un chan populaire sans répondre et sans gêner les autres personnes. C'est utile si on ne souhaite pas se faire bannir tout de suite.
Quand le bot est capable de troller tout seul quand on lui parle, je pense qu'on peut considérer que la mission est accomplie.
Alternative : créer un chan spécial pour le bot, informer du serveur et du chan ici ou sur gna! et inviter des gens à venir tester leur bot dans un esprit convivial et dans la bonne humeur.
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . Évalué à 2.
pseudo : pyborg
salon : #pyborg
( utiliser la commande !owner test pour obtenir les commandes de controle, bon, allez pas lui vider son dictionnaire avant demain, au cas ou certains voudraient tester ;-) )
[^] # Re: le tester en ligne... ici
Posté par fabien . Évalué à 3.
qqun pourrait-il nous montrer ce que ca donne ? en copiant-collant quelques lignes d'une "conversation" avec ce bot ? (apres qu'il ai appris quelques vocabulaires bien sur)
[^] # Re: le tester en ligne... ici
Posté par Dr BG . Évalué à 2.
[^] # Re: le tester en ligne... ici
Posté par fabien . Évalué à 2.
[^] # Re: le tester en ligne
Posté par B16F4RV4RD1N . Évalué à 2.
J'ai essayé d'y aller depuis leur applet java sur le site, mais je n'ai pas vu pyborg.
Je l'ai installé sur freenode, nom PyBorg, canal #ifiction-fr (cf
http://ifiction.free.fr/index.php?id=irc il y a également un applet java pour se connecter directement sur le canal) , vous pouvez aller tester si vous voulez (J'ai réglé le robot à 75 % de réponse (au lieu de 33%)). Pour le moment il n'est pas bien intelligent le pauvre robot. Peut-être que l'auteur pourrait livrer un genre de dictionnaire par défaut qui permettrait de le rendre un peu plus locace au début, quitte à mettre ce dico en option pour ceux qui veulent...
J'ai remarqué aussi qu'il avait pas mal tendance à envoyer des virgules et des points pour un rien, est-ce que c'est moi qui l'ai mal entrainé lorsque j'essayais de faire cohabiter un autre robot en même temps ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . Évalué à 2.
http://self.runner.free.fr/fichiers/pyborg/
Pour ce qui est du problème des points et des virgules, c'est un problème qui apparait au début, mais cela disparaît par la suite...
Voila !
[^] # Re: le tester en ligne
Posté par srm . Évalué à 1.
En gros l'erreur (car je ne peux pas la c/c) :
pyborg.py line 172 __init__
num_contexts += len(self.lines[x][0]).split()
AttributeError: 'int' object has no attribute 'split'
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . Évalué à 1.
Effectivement, cela devrait être :
num_contexts += len(self.lines[x][0].split())
Je met a jour les fichiers illico !
[^] # Re: le tester en ligne
Posté par syntaxerror . Évalué à 1.
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . Évalué à 2.
[^] # Re: le tester en ligne
Posté par kowalsky . Évalué à 5.
C'est degueulasse...
# * Ajout d'un support expérimental du protocole MSN
Posté par Bertrand Jacquin (site web personnel) . Évalué à 7.
Un support de Jabber/XMPP aurais été plus approprié à mon avis et surtout moins galère à mettre en place avec les lib Jabber pour python qui existent déjà.
M'enfin, apres, ce n'est que mon avis de libriste profond ..
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par chimrod (site web personnel) . Évalué à 2.
Mais en construisant le bot, je n'ai pas pensé à ça, j'ai juste lu les logs des gens qui cherchaient à avoir l'adresse MSN du bot et je me suis dit que ça pourrait être une bonne idée de lui en donner une...
Le programme reste plus un gadget qu'autre chose ( à mes yeux en tout cas) et me permet de découvrir python plus qu'autre chose.
Je suis pret à essayer d'implanter le bot sous jabber, il n'y a pas de problème, ce sera là pour la version 1.1.1 :-) Le programme est assez modulable ( en entrée comme en sortie ) pour que cela se fasse sans problème !
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par BohwaZ (site web personnel, Mastodon) . Évalué à 2.
Le mieux serait sûrement mieux de mettre un support jabber avec un support des transports sur jabber ;)
En tout cas bravo à toi :)
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par dawar (site web personnel) . Évalué à 3.
Voici quelques "fortunes" du bot (et d'autres modèles basés sur la même idée) : http://rezal404.org/wikini/wakka.php?wiki=JeanClode (attention, politiquement incorrect).
Je sens que je vais bientot remettre cette nouvelle version en ligne d'ailleur... Le module MegaHal me parrait alléchant, c'est avec lui que j'avais les meilleurs résultats.
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par Darckense (site web personnel) . Évalué à 3.
Vous allez rire, mais j'ai lu :
"Ajout d'un support expérimental du protocole SMS" ...
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par Alexandre . Évalué à 1.
# megahal segfault
Posté par srm . Évalué à 1.
Et j'ai un segfault aussi dès que le robot essaye de répondre ?
Est ce que tout le monde à ce problème ?
megahal semble marcher cependant tout seul.
[^] # Re: megahal segfault
Posté par chimrod (site web personnel) . Évalué à 1.
( Dans mon cas megahal ne marche même pas tout seul.. et je suis aussi sous debian )
[^] # Re: megahal segfault
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
# Merci
Posté par Jarod_Summers . Évalué à 2.
Par contre, t'as pas de forum ?
Parce que tu vois tu dis "simulation d'un temps d'écriture" et j'ai pas trouvé où (hide the fact that pyborg is a bot à 1 ca fait rien de plus).
J'ai dû mettre un randint(4,8) suivi d'un time.sleep pour simuler le tps d'écriture dans la génération de réponse :D
[^] # Re: Merci
Posté par chimrod (site web personnel) . Évalué à 1.
Sinon pour le temps de différé, il est à la ligne 304 du fichier pyborg.py : time.sleep(.2*len(message))
( par contre il est normal que l'on ne s'en rende pas compte dans les sorties sur IRC, puisqu'il envoie les copie des messages au(x) owner(s) en même temps, de plus, le temps de différé n'est pas mis en route si c'est l'owner qui lui parle :p )
De rien !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.