Chatbot, base d'un agent virtuel par analyse syntaxique

Soyez le premier à donner votre avis sur cette source.

Vue 21 519 fois - Téléchargée 2 083 fois

Description

Voici une source qui sert de base.

realisé sous forme de chat avec un personnage virtuel,
le programme recupere le texte, decompose la phrase, et compare a l'aide d'operations logiques les mot afin de les comparer a un index sous forme de xml.
il repond ensuite a une phrase pre-ecrite parmis les reponses possibles.

Le plus gros du travail consiste a creer l'index XML.

Source / Exemple :


Voici comment il fonctionne ::
voici un exemple de noeud XML:

<test> 
      <wordlist> 
         <word op='and' value='tu' /> 
         <word op='and' value='bien' /> 
         <word op='and' value='?' /> 
         <word op='not' value='fuck' /> 
      </wordlist> 
      <answerlist> 
         <answer value='ça va bien, et toi?' /> 
         <answer value='ça px aller, et toi, tu va bien?' /> 
         <answer value='super, et toi?' /> 
         <answer value='hyper bien! et toi?' /> 
      </answerlist> 
</test> 

<test></test> delimite le noeud analysé.
<worldlist> delimite la liste des mots clés dans la phrase analysé.
<word op='OPERATOR' value='STRING'> est la balise qui indique le mot clé (type string) et op est l'operateur de ce mot, qui pourra etre :
- AND: le mot doit se trouver dans la phrase (sinon on passe direct au noeud suivant)
- OR: l'un des mot en OR doit se trouver dans la phrase. si il n'y a qu'un seul OR dans la liste de mots, alors il sera considéré comme un AND.
- NOT: Le mot NE DOIT PAS se trouver dans la phrase. si ce mot est trouvé, on passe au noeud suivant.

avec l'exemple ci-dessus, si dans la phrase il y a le mot 'tu' ET le mot 'va' ET le mot 'bien' MAIS PAS le mot 'fuck', alors le programme va retournée en Random l'une des phrases du noeud <answerlist>.

Conclusion :


En passant par une page php qui genere un xml deja indexé, il est tres facile de creer un moteur de recherche du style ask jeeves (www.ask.com).

Vous pouvez aussi en faire un bot de moderation en le connectant, via un server socket et les XMLSocket, a un server irc, ou meme le conencter tres facilement a mon austre source, le chat XML via server php.

Bref, les possibilités sont ennormes avec un index xml bien géré, et le sont encore plus si cette index est relié dynamiquement a un base de donnée.

Ce qui est dans la source n'est qu'un squelette, a vous de construire le reste selon vos envies ;)

Si vous utilisez ce moteur, merci de preciser sur le visuel, ou de me prevenir, pour que je vois si ça vous est utile ou non :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

golgothe
Messages postés
2
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
24 novembre 2009

Bonjour, le fichier zip semble endommagé et je ne parviens pas à le décompresser. J'ai essayé avec winzip, 7zip et izarc.

Es ce que quelqu'un pourrait me dire comment faire ?

Merci
jcvar83
Messages postés
1
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
2 août 2009

Salut,

Perso j'ai trouvé mon bonheur avec ce code. Vraiment extra !
Par contre, est il possible de marquer une pause avant les réponses, histoire de faire un peu plus naturel ?

Merci à blackwizzard....
JC
cs_JCpp
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010

Bonjour
Mon projet est de refaire Jenny en Flash.
Je reprend se code pour l'améliorer et j'aurai besoin d'aide.
http://ia.jenny.free.fr/Charger%20source.htm
Merci
@+
zenwebeur
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
1 juin 2007

J'approuve à 500 % ce type de code.

Je recherchais exactement ça mais si quelqun a reussi à debuggé le code xml ??????? je suis preneur.

Il mérite qu'on y bosse un peu ce code (génialissime)
cs_Fantole
Messages postés
4
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
25 mai 2006

Pfiouuuuu la source date à ce que je vois.
Je suis tombé dessus et je dois dire que c'est pas mal du tout.

J'ai pas testé en approfondie encore mais c'est la classe.
Sa peux permettre de faire du support de premier degré ou de présenter des produits, etc...

Franchement j'adopte

Bon boulot ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.