salut
Merci pour les réponses, je vois que ce sujet passionne les foules, c'est classe
@Ulix : pour Skynet, ne t'inquiète pas ce n'est pas de mon niveau lol, mais j'espère qu'un jour on arrivera à un niveau d'intelligence capable de prendre des décisions seuls, mais des bonnes hein

.
Sinon, j'ai commencé une première esquisse de chatbot, c'est vraiment le début, donc rien de vraiment intéressant.
Code : Tout sélectionner
; CHatterBot
; Teddy Twist Bot by Blendman 2013
Global Dim reponse.s(6), Nb_Reponse
Procedure AnalysePhrase(ed_textbox,ed_Central)
Shared NextText,nom$, teddyStart
If GetGadgetText(ed_textbox) <>""
text$ = GetGadgetText(ed_textbox)
ClearGadgetItems(ed_textbox)
AddGadgetItem(ed_Central,-1,"- "+text$)
;text$=FindString()
text$=LCase(text$)
; ReDim Word$(0)
; alpha_fr$ = "[-\wÀàÂâÆæÇçÉéÈèÊêËëÎîÏïÔôÙùÛûÜüÿ"+Chr(156)+Chr(230)+Chr(159)+"]+"
;
; If CreateRegularExpression(0, alpha_fr$)
; Nb = ExtractRegularExpression(0, text$, Word$()); nombre de mots dans la phrase
; For k = 0 To Nb
; Select word$(k)
;
; Case "hello","salut","yo","hi","bonjour","yop"
;
; Case "çaroule?","çava?","commentvas-tu?","commentçava?","est-cequetuvasbien?"
;
; Case "comment","pourquoi","dis-moi"
;
; Case "jesuis"
; reponse$ = "Pourquoi dis-tu que tu es un "
; jesuis$ = 1
;
; Case "vousêtes","tues"
;
;
; EndSelect
; Next
; EndIf
;{ old technics
text$ = RemoveString(text$," ")
If teddyStart = 0
teddyStart = 1
reponserandom = Random(4)
Select reponserandom
Case 0
reponse$ = "Salut."
Case 1
reponse$ = "Yop."
Case 2
reponse$ = "Hello."
Case 3
reponse$ = "Bien le Bonjour."
Default
reponse$ = "Bonjour."
EndSelect
Else
Select NextText
Case 0
Select text$
Case "hello","salut","yo","hi","bonjour","yop"
reponserandom = Random(4)
Select reponserandom
Case 0
reponse$ = "Salut."
Case 1
reponse$ = "Yop."
Case 2
reponse$ = "Hello."
Case 3
reponse$ = "Bien le Bonjour."
Default
reponse$ = "Bonjour."
EndSelect
Case "çaroule?","çava?","commentvas-tu?","commentçava?","est-cequetuvasbien?"
reponse$ ="Très bien et toi ?"
If nom$ = ""
NextText = 1; quel est ton nom
Else
NextText = 0
EndIf
Case "oui","super","nickel","yep","yes","ouais","ouich","ouech","ouaich","ok"
reponse$="Eh bien, c'est super alors."
Case "non"
reponse$="Ah bon.."
Case "àplus","aurevoir","àbientôt","adieu"
reponse$ = "A bientôt, j'espère."
Default
reponse$ = reponse(Random(Nb_Reponse))
EndSelect
;{ autres possibilités
Case 1 ;
If nom$ = ""
reponse$ ="Quel est ton nom?"
NextText = 2
Else
NewText = 0
EndIf
Case 2
reponse$="Ton nom est bien "+text$ +"?"
Nom$=text$
NextText = 3
Case 3
Select text$
Case "oui","super","nickel","yep","yes","ouais","ouich","ouech","ouaich","ok"
reponse$="Super. Alors, je t'appelerai "+Nom$+", ok?"
NextText = 0
Default
reponse$="Ah, tu peux me répéter ton vrai nom, alors, s'il te plait ?"
NextText = 2
EndSelect
;}
EndSelect
EndIf
;}
AddGadgetItem(ed_central,-1,"Teddy : "+reponse$)
EndIf
EndProcedure
If OpenWindow(0,0,0,600,400,"Teddy Twist Bot (TTBot) -",#PB_Window_ScreenCentered| #PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget)
CreateMenu(0,WindowID(0))
MenuTitle("Help")
MenuItem(0,"About")
ed_Central = EditorGadget(#PB_Any,0,0,WindowWidth(0),WindowHeight(0)-60,#PB_Editor_WordWrap|#PB_Editor_ReadOnly)
ed_Human = EditorGadget(#PB_Any,0,WindowHeight(0)-58,WindowWidth(0)-40,38,#PB_Editor_WordWrap)
Btn_ok = ButtonGadget(#PB_Any,WindowWidth(0)-40,WindowHeight(0)-58,40,38,"OK")
AddKeyboardShortcut(0,#PB_Shortcut_Return,10)
If ReadFile(0,"reponses.txt")
While Eof(0) = 0
ReDim reponse(i)
reponse(i) = ReadString(0)
i+1
Wend
CloseFile(0)
Nb_Reponse = i-1
Else
MessageRequester("Erreur","impossible d elire le fichier d'intelligence du robot. Votre robot sera vraiment très bête :( ")
EndIf
EndIf
Repeat
Select WaitWindowEvent(10)
Case #PB_Event_Gadget
Select EventGadget()
Case Btn_ok
AnalysePhrase(ed_Human,ed_Central)
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 0
MessageRequester("About","Teddy Twist Bot est un Robot virtuel avec qui vous pouvez parler.", 48)
Case 10
AnalysePhrase(ed_Human,ed_Central)
EndSelect
Case #PB_Event_CloseWindow
quit = 1
EndSelect
Until quit = 1
et le fichier reponses.txt :
Code : Tout sélectionner
Si tu le dis
Sans déconner
Ben, écoute, puisque tu m'en parles, justement, je me suis toujours posé la question...
Je t'écoute.
Tu me parles?
Je n'en sais rien à vrai dire..
Qui sait...
heu comment dirais-je...
Tu peux m'en dire ?
Oui, mais encore ?
Vous, les humaisn vous êtes vraiment drôle.. Mh, en fait, je ne sais pas ce qu'est l'humour pour dire la vérité.
Ta blague est très amusante, ah ce n'est pas une blague?
N'hésitez pas à le modifier ou l'améliorer si cela vous amuse
