Licence : GPL
<?xml version="1.0" encodage="UTF-8"?> <Configuration> < ID d'état ="0"> < message >Bonjour, comment vas-tu ?</ message > < mots-clés > < keyword target ="1">heureux</ mot-clé > </ mots-clés > </ État >Dans l'exemple ci-dessus, si l'utilisateur saisit le mot-clé happy, le bot passe à l'état « 1 » et affiche l'un des messages de l'état « 1 » de manière aléatoire. Si l'utilisateur saisit d'autres chaînes, l'un des messages non valides apparaîtra.<ID d'état ="1"> < message >wow, vous êtes content !</ message > < message > heureux d'entendre ça !</ message > </ État > < Messages invalides > < message >Hein, j'ai pas compris ?</ message > < message >Que veux-tu dire ?</ message > </ Messages invalides > </Configuration>
La balise de mot-clé contient plusieurs attributs pour permettre de personnaliser le bot en fonction des exigences.
<ID d'état ="16"> < message >Bonjour, comment vas-tu aujourd'hui ?</ message > <message> Comment vous sentez-vous ? </message> <message> Comment vas-tu ? </message> < keyword target ="11">heureux, très heureux</ mot-clé > < keyword target ="13">pas content,pas bien,pas bien,triste,énervé</ mot-clé > < keyword target ="23">bien, bien, merci</ mot-clé > < keyword target ="14">vous-même</ mot-clé > </ État >
Utiliser la fonction météo
Pour utiliser la fonctionnalité météo, la balise de mot-clé doit contenir deux attributs, className et arg, className doit être défini sur Weather et arg doit être défini sur les mots-clés "aujourd'hui", "demain" ou "dayaftertomorrow". Voici un exemple pour obtenir la météo du jour :
< mot-clé className ="Météo" arg ="aujourd'hui">météo</ mot-clé >
Résultat:
Vous : quel temps fait-il Bot : Je pense qu'aujourd'hui c'est le brouillard
<ID d'état ="11"> < message >C'est super, pourquoi es-tu content ?</ message > < mots-clés > < keyword target ="21">loterie</ mot-clé > < mot clé cible ="22">*</ mot clé > </ mots-clés > </ État >
<?xml version="1.0" encoding="UTF-8"?> <Configuration> < ID d'état ="0"> < message >Bonjour, Je m'appelle MajBot, quel est votre nom ?</ message > < mots-clés > < mot-clé target ="2" variable ="nom">([a-zA-Z ]+)</ mot-clé > </ mots-clés > </ État > <ID d'état ="16"> < message >Bonjour [nom], ravi de vous voir !</ message > </ État > </Configuration>Résultat:
Bot : Bonjour, Je m'appelle MajBot, quel est votre nom ? Vous : Majid Bot : Bonjour Majid, ravi de vous voir !Dans l'exemple ci-dessus "([a-zA-Z )+)" l'expression régulière accepte tous les caractères entre a et z (insensible à la casse), y compris les espaces et stocke le mot correspondant dans la variable de nom, puis en utilisant [nom] dans le message, le nom de l'utilisateur le nom sera remplacé par cette balise. (Pour plus d'informations sur la syntaxe Regex, reportez-vous à la documentation Java Regex).
<Configuration> < ID d'état ="0"> < message >Bonjour, Je m'appelle MajBot, quel est votre nom ?</ message > < mots-clés > < keyword target ="16" variable ="name" points ="2">.*je m'appelle ([a-zA-z]+).*</ mot-clé > < mot-clé target ="16" variable ="nom">([a-zA-Z ]+)</ mot-clé > </ mots-clés > </ État > <ID d'état ="16"> < message >Bonjour [nom], ravi de vous voir !</ message > </ État > </Configuration>Résultat:
Bot : Bonjour, Je m'appelle MajBot, quel est votre nom ? Vous : je m'appelle Majid Bot : Bonjour Majid, ravi de vous voir !Dans l'exemple ci-dessus, nous ajoutons 2 points pour le premier mot-clé, donc si l'utilisateur saisit « Je m'appelle Majid », il obtient uniquement le nom au lieu de renvoyer « Mon nom est Majid » comme nom.
<ID d'état ="1"> < message >De quoi veux-tu parler ?</ message > < variable de mot-clé ="subject" target ="27">([a-zA-z]+)</ mot-clé > </ État > < ID d'état ="27"> < message >Qu'est-ce que [sujet] ?</ message > < mot-clé target ="43" variable ="result" learn ="subject">(.*)</ mot-clé > </ État >Résultat:
Bot : De quoi veux-tu parler ? Vous : le football Bot : Qu’est-ce que le football ? Toi : c'est un bon jeu Bot : Je vois... Bot : De quoi veux-tu parler ? Vous : le football Bot : c'est un bon jeuComme le montre l'exemple ci-dessus, le bot découvre le mot-clé football, puis renvoie la réponse à l'utilisateur lorsque celui-ci envoie à nouveau le même mot-clé.
java -cp MajBot.jar bot.MainPour exécuter MajBot, vous pouvez simplement taper :
sh courir.shSi vous utilisez Windows, vous pouvez plutôt exécuter le fichier run.bat.
Après avoir démarré le bot, l'utilisateur peut saisir un message et commencer à discuter avec MajBot.
Apprécier!
http://www.majidkhosravi.com/chat-bot/