Module MegaHAL 3.4 Artixed 2.1 - Eggdrop 1.6.19
#1
Description:
Ce module permet d'integrer une IA à votre bot, afin qu'il réponde et apprenne en utilisant MegaHAL v8 qui utilise des métodes statistiques.
C'est un simple portage de la version 3.4 pour Windrop.

Interêt:
Contrairement à la version 2.7 qui répondait bêtement à chaque ligne dite par qui que ce soit, celle ci dispose d'options d'ignore et de chances de réponses et apprentissage. Il est aussi possible de faire des opérations directement sur le cerveau actuel.
On peut aussi noter que la version précompilée de la version 2.7 était destinée aux windrops utilisant Tcl 8.4 : donc impossible de l'utiliser avec la version précompilée de Windrop 1.6.19.

Fonctionnalités supplémentaires:
Il faut noter que cette version est modifiée pour rajouter les commandes learn et getreply de la version 2.7 sous les noms megahal_learn et megahal_getreply. Ce sont des commandes TCL qui permettent d'interagir directement avec l'IA. Ainsi, elles peuvent être utilisées dans un script pour contrôler l'IA, plutôt que d'utiliser les binds & méthodes de réaction standard du module.

Installation:
- Libre a vous de lire les 4 fichiers README
- Il faut placer le fichier megahal.dll dans le dossier modules de votre eggdrop
- Si vous désirez utiliser le script fourni avec le module (vivement recommandé), copiez megahal.tcl dans votre répertoire de scripts. N'oubliez pas de le configurer si besoin (pas néccessaire immédiatement)
- Copiez tout le reste (.swp .aux .trn etc) à la racine de votre eggdrop. Ces fichiers vont influencer l'IA, et seront décris plus loin - libre à vous de les modifier. Il faut noter que le fichier .trn est un fichier d'entrainnement, qui sera appris a l'eggdrop à son démarrage. Il est peut-être bon de le modifier tout de suite.
- Ajoutez alors dans votre fichier de configuration la ligne :
tcl
loadmodule megahal


- Si vous désirez charger le script, chargez le, tout simplement:
tcl
source scripts/megahal.tcl



Fichiers inclus dans l'archive:
megahal.dll - Le module en lui même, compilé pour Windrop
megahal.tcl - Le script de contrôle fourni avec le module

Note: Les fichiers suivant peuvent (et devraient être) modifiés.
megahal.aux - AUXilliary : Une liste de mots-clés "seulement utilisée pour remplacer d'autres mots"
megahal.swp - SWaP : Une liste de mots-clés à remplacer systématiquement lorsque utilisés.
megahal.ban - BAN : Une liste de mots-clés à ne pas utiliser
megahal.trn - TRaiN : Lors de la création de son IA, le bot va automatiquement apprendre tout ce qui est présent dans ce fichier. Il peut servir pour par exemple, obtenir une IA plus ou moins précise rapidement.
megahal.grt - GReeT : Fichier présent dans la version 2.7 seulement (heu ?), qui contiendrait des informations à propos de messages de salutation

Fichiers créés par le module:
megahal.brn - BRaiN : Le "cerveau" de l'IA
megahal.dic - DICtionnary : Le vocabulaire connu par l'IA
megahal.phr - PHRases (?) : (Seulement dans la 3.4) Bonne question, mais contiens des phrases plus ou moins claires.
Il faut noter que les fichiers doivent impérativement rester associés ! Il est impossible de prendre n'importe quel fichier .dic et le mettre avec un .brn - MegaHAL écrasera simplement les 2 pour recommencer à 0.

Note concernant les versions:
La version 3.4 n'est pas la suite de la version 2.7, ce qui explique la non-présence d'une partie des fonctionnalités de la 2.7 dans la 3.4 : les deux ont été développées en parrallèle (comme expliqué sur le site thelastexit.net)

Note concernant le module compilé:
Lors de la compilation de cette version pour Windrop, j'ai pu remarquer que les autres modules avaient de nombreux problèmes : le module assoc avait une taille plutot incohérente, le module dns ne marchait pas et le module serveur était en partie défectueux ! Il se peux donc que ce module le soit aussi (même si aucun bug n'a été constaté jusqu'a présent). Si vous en trouvez un, ou si vous avez besoin d'aide, n'hésitez pas à le signaler.

Note concernant la version DotFix:
Le module supprimait les carractères non alpha-numériques en fin de phrase, dont les accents, pour mettre à la place son point final. Cette version ne supprime pas les carractères et ne rajoute aucun point. Il se peut qu'elle ait une influence minime sur l'IA (pas sur...)

Lien vers le site officiel (Code Source): thelastexit.net/megahal
Lien de téléchargement: MegaHAL 3.4 pour Windrop 1.6.19 / Tcl 8.5
Version "dotfixée": MegaHAL 3.4 pour Windrop 1.6.19 / Tcl 8.5 + DotFix

Site officiel de la version 2.7: BarkerJr.net
Version 2.7: MegaHAL 2.7 pour Windrop 1.6.19 / Tcl 8.5

Verison 3.4 Artixed 2.1 : Version 3.4 Artixed 2.1
  Répondre
#2
Salut Artix Smile

J'ai un gros problème avec mon bot ! Sur mon chan irc, il y a juste la commande .braininfo qui fonctionne, mais pas les autres.
Pourrais-tu m'aider stp ?

Merci d'avance Smile
  Répondre
#3
J'ai rien dit, tout fonctionne x)
  Répondre
#4
Euh, comment on fait pour qu'il parle pas que quand on met son nom dans la phrase ? Merci Very Happy
Edit: trouvé, mais c'est nul qu'on soit obligé de mettre toutes les X lignes tu parles, on peut pas mettre un rand ? Genre tu as 10% de chance de répondre quandn on dit pas ton nom et 90% quand on dit ton nom (comme boole en fait ^^) ?

Ca doit pouvoir être modifiable dans megahal.tcl non ?
Merci d'avance
  Répondre
#5
En fait non, ce reglage est inclus dans le bind par défaut du module, ce n'est pas vraiment propre à MegaHAL
Quand à Boole, il utilise une interface spécialisée
Si tu veux un comportement similaire il y a une interface faite par Su_e_do_is qui permet de controler avec un pourcentage : http://www.eggdrop.fr/board/downloads.ph...ew&did=155
  Répondre
#6
Nouvelle version (Artixed 2.1) avec bah, d'autres nouveautés.
Comme j'ai supprimé les autres posts (c'était fouilli), voici la liste complete des modifications depuis le module 3.4 :
changelog.artixed.tcl a écrit :== Liste des modifications depuis le module 3.4 original ==
- Dotfix: Le module supprimait les carractères non-alphanumériques en fin de texte pour ajouter un point final sur la génération de dictionnaire. Ce n'est désormais plus le cas, afin de préserver les accents (et le bras gauche du bonhomme \o/)
- Une partie des messages d'erreurs ou autres trucs du modules ont été traduits
- Modification des binds des commandes. Jusqu'a présent les commandes de suppression avaient pour flags m. Ceci a été changé pour n|n
- Ajout de la commande forgetword en DCC, jusqu'a présent, elle n'était présente qu'en publique
- En plus des commandes forget et forgetword, deux nouvelles commandes ont été ajoutées, megacount et megaseek. Ces commandes permettent respectivement de compter le nombre de mots présents, ou rechercher une phrase dans la personnalité MegaHAL. Il faut noter que ce sont des répliques des commandes forget/forgetword sans les instructions de suppression (bawé, je bricole). Contrairement aux commandes forget/forgetword qui modifient la personnalité, celles ci ne sont pas dangereuses. Elles ont donc des flags m|m.
- Ajout d'une variable TCL mega_timeout qui corresponds au temps maximum de génération des réponses en secondes, par défaut a 1. Ceci a un but purement expérimental et n'a pas été testé.
- Ajout d'une variable TCL mega_saveondie. Lorsque cette variable vaut 1, MegaHAL effectuera une sauvegarde automatique de son cerveau en cas d'utilisation de die. Elle vaut 0 par défaut pour préserver le comportement habituel du module.
- Ajout d'une variable TCL mega_debugmodule. Lorsque cette variable vaut 1, le module enregistrera des informations en vue d'un déboggage. Ceci est désactivé par défaut pour réduire l'utilisation mémoire.
- Ajout d'une variable TCL mega_colormode. Lorsque cette variable est a 1, les couleurs seront utilisées dans les réponses aux commandes publiques.
- Ajout d'une variable TCL mega_color1 pour définir la couleur de réponse principale. Le maximum est de 5 carractères (couleur écriture, virgule et couleur background)
- Ajout d'une variable TCL mega_color2 pour définir la deuxième couleur utilisée. Max de 5 carractères (idem)
- Ajout d'une variable TCL en lecture seule mega_order. Cette variable a pour valeur la profondeur de contexte actuelle, par défaut 2.
- Ajout d'une variable TCL mega_minLearnWords pour définir le nombre de mots minimum néccessaires dans une phrase pour pouvoir l'apprendre. Valeur par défaut de 3. Il est préferable de la garder d'une valeur d'au moins 1 supérieur a la profondeur de contexte.
- Ajout de la fonction TCL megahal_expmem. Cette fonction permet d'obtenir une estimation de l'utilisation mémoire du module en octets.
Téléchargement: http://www.eggdrop.fr/board/downloads.ph...ew&did=162
  Répondre
#7
Problèmes connus concernant le module :
- Parfois, l'utilisation de saveondie provoque une boucle infinie, ou crashe le bot (bug aléatoire)
- Il semble y avoir un bug dans la fonction wordcmp2, qui peut crasher le bot pour les personnes n'utilisant pas d'interface (bug aléatoire)
- En créant une nouvelle personnalité, il est possible que MegaHAL subisse de nombreux crashs. Il est alors recommandé de supprimer les fichiers de l'IA et en démarrer une nouvelle (observé une fois)
- Il semble y avoir des bugs dans la fonction d'apprentissage sur de très gros cerveaux (à confirmer)
- Pour une raison pas très claire, MegaHAL semble admettre que les accents marquent la fin d'un mot lors de la recherche des contextes (ou l'utilisation des commandes countword & forgetword)
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)