IA (intelligence artificielle)

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

IA (intelligence artificielle)

Message par blendman »

salut

Je suis tombé il y a quelques semaines sur un robot avec qui discuter sur le net et j'ai trouvé ça plutôt sympa.

J'aimerai avoir votre avis sur la possibilité de réaliser un logiciel d'intelligence artificiel en purebasic.
Je pense à plusieurs types de logiciels :
- un robot avec qui on pourrait discuter et qui apprendrait de nos conversations (avec des simulations d'émotions), et pourquoi pas même en utilisant la reconnaissance vocale de windows
- un robot qui pourrait analyser certaines situations et donner son avis, faire des propositions de solutions

Je sais que ce doit être faisable, mais d'après vous que vaut-il mieux utiliser pour stocker la mémoire et les souvenirs de l'IA ? Sqlite, fichiers texte ?
Avatar de l’utilisateur
Ulix
Messages : 315
Inscription : ven. 04/juin/2004 14:27
Localisation : Frontignan

Re: IA (intelligence artificielle)

Message par Ulix »

Salut blendman


Sujet intéressant qui représente un vrai challenge, mais permet de faire de vrai progrès dans la conceptualisation, et l'agencement d'un programme.

En ce qui concerne ta question, vaut-il mieux utiliser utiliser une base de donnée ou des fichier texte ?

Pour ma part je considère, au long terme, qu'une base de donnée est indispensable !
Toutefois dans la phase de développement, des fichiers texte sont plus souple, plus facilement modifiable, est facile a lire.

Mais je pense que le probléme n'est pas le stockage des données, mais plutôt la façon d'organisée ces données (leurs structures, quel agencement choisir, quel est l’élément clé... )



Si tu désire voilà quelques liens sur des robots (chabot), je crois qu'il est possible de télécharger les sources,
cela donnera peut-être des idées. (J'espère que les liens sont encore bon)

http://www.javafr.com/r/global.aspx?r= ... 5642.aspx


Après les avoir décortiqué, peut-être auras-tu une idée de génie. :idea:

En attendant :
Commence par quelque choses de simple (Saisie d'une texte, réponse du chatbot)
Pas d'interface vocal, pas de simulations d'émotions...etc... tu verras cela plus tard !

En faisant cela, tu pourras de concentrer sur l'analyse du texte
Détection que les mots existe
Détection du sens de la phrase
Divers traitement en fonction du sens :
(réponse près-programmer pour les plus courante,
ou bien consultation de la base...)
Préparation de la réponse
....


Tiens moi au courant, c'est un sujet qui m’intéresse aussi ! :wink:

A+
Ulix
Fred
Site Admin
Messages : 2652
Inscription : mer. 21/janv./2004 11:03

Re: IA (intelligence artificielle)

Message par Fred »

L'avantage d'une base donnée c'est qu'on peut facilement faire des requetes dessus, et dans ton cas, ca me parait utile.
XD73
Messages : 8
Inscription : mer. 02/janv./2013 15:40

Re: IA (intelligence artificielle)

Message par XD73 »

Ah !

Sujet très passionnant :P
Mais c'est super dur à réaliser se genre de chose non ?
Bon courage en tous qu'a :)
Avatar de l’utilisateur
Ulix
Messages : 315
Inscription : ven. 04/juin/2004 14:27
Localisation : Frontignan

Re: IA (intelligence artificielle)

Message par Ulix »

Du coup, j'ai trouvé d'autre liens :


http://chatterbots.fr/



Il y en a plusieurs en php, possible de télécharge les sources !

De quoi les analysés, et de pouvoir en reproduire un avec PureBasic. :lol:

Après... fait attention de ne pas nous faire un Skynet (AI dans terminator) :cry:

Ulix


Ps : Pour ma part j'ai bien apprécier la "Smart-i, chatterbot pour domotique."
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: IA (intelligence artificielle)

Message par Backup »

il y a fort longtemps , a l'epoque, les Dinosaures etaient encore de ce monde ..
nous trouvions des listings assez simple de prg de conversation ....

ce genre de prg etait plutot orienté Psychanalyse :lol:

le principe de base etait simple

le prg posait une question genre "comment te décrirai tu ?"

et l'utilisateur racontais en quelques lignes sa petite vie

au finale et apres bien sur, plusieurs questions
le prg sortait ton analyses Psy ..

comment faisait t'il ? simple , il analysait le contenu Grammaticale du texte entré par l'utilisateur ...

si le mec avait tendance a écrire , "moi je......" le prg pouvait facilement en déduire le coté Narcissique de l'utilisateur ...

c'est une piste a suivre .. :)

récemment Nico avec sa reconnaissance vocale , m'avais donné l'idée d'un petit exemple de base
ou le prg analysait quelques mots parmi ceux Exprimés par l'utilisateur , des mots "Clef" en quelque sorte
et réagissait en fonction de ces mots....


par exemple , si on lui dit "Salut Mec .."
le prg voyant "Salut" , il répondait "Bonjour"

le gars dit , "comment tu vas"

le prg voit "Vas" et "comment" ; ça lui suffit pour déduire qu'on lui demande info sur sa santé ... il répond en fonction de son humeur ... etc ...

c'est assez simple , mais ça marche tres bien ....:)

Ensuite, seule la base d'analyse des mots ,fait l'intelligence du prg :)


note qu'ensuite on peut attribuer un systeme de "poids" a certains mots
en donnant une valeur a certains mots, suivant leur position dans la phrase , on peut meme donner l'impression
d'une certaine subtilité au programme ...
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Re: IA (intelligence artificielle)

Message par Frenchy Pilou »

Cela me rappelle le temps où l'on pouvait programmer dans les boutiques du boulevard Saint Michel en libre accès
(il y a bien 30 ans...et en basic déjà :)
un gars avait programmé ce genre de truc en dix minutes et il fallait voir la tête des gens de passage
qui posaient des questions à ce "robot textuel"! Un grand moment de magie! :D

Je vais essayer de me rappeler le concept des questions réponses...ça cela va être plus dur! :oops:

Je crois que c'était un truc du genre :
On l'alimentait avec une petite série de réponses de base une dizaine à tout casser
et hop on lançait la machine!

on posait sa question à l'oracle
si la réponse était mauvaise, on était invité à rentrer la bonne!

Comme cela plus les gens passaient plus l'oracle devenait "puissant"! :)

Et comme les gens n'ont pas beaucoup d'imagination, c'était quasiment la même douzaine de questions qui revenaient! :mrgreen:

Dès que le flot de passant baissait, hop on en rajoutait! :D

Et tournez manège! :wink:
Est beau ce qui plaît sans concept :)
Speedy Galerie
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: IA (intelligence artificielle)

Message par Ar-S »

Comme Akinator, qui avec les ans est devenu très performant.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: IA (intelligence artificielle)

Message par Backup »

Frenchy Pilou a écrit :Cela me rappelle le temps où l'on pouvait programmer dans les boutiques du boulevard Saint Michel en libre accès
(il y a bien 30 ans...et en basic déjà :)
on a fréquenté les memes lieux ... ainsi que les Galeries Lafayette ..hausman , a l'epoque les Micro 8bits etaient dispo pour s'amuser a coder avec :)

et je ne parle pas de la "Regle a calcul" ou on pouvais y acheter des Regles a Calcul bien sur, mais surtout etait le Seul magasin a proposer
des TExas instrument TI99/4A :D


putain, on est devenu des vieux cons :lol:
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: IA (intelligence artificielle)

Message par blendman »

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 :D.

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 ;)
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: IA (intelligence artificielle)

Message par comtois »

http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
XD73
Messages : 8
Inscription : mer. 02/janv./2013 15:40

Re: IA (intelligence artificielle)

Message par XD73 »

Ar-S a écrit :Comme Akinator, qui avec les ans est devenu très performant.
Hééé, pas mal du tout 8O
Bluffant même :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: IA (intelligence artificielle)

Message par Backup »

hum ! :mrgreen:

Image

l'avantage , il apprends !! :)
XD73
Messages : 8
Inscription : mer. 02/janv./2013 15:40

Re: IA (intelligence artificielle)

Message par XD73 »

Bha moi il s'est gourré :lol:
Est-ce-que votre personnage est plus agé que vous ? Oui Non
J'ai dis oui et lui il dit non 8O

S’étaie Samantha Carter de stargate

J'ai moins que elle !
J'ai entre 20 et 30, je sais se que je dis quand même :lol:
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: IA (intelligence artificielle)

Message par Shadow »

Ah le bon gros déterrage de topic de fou des année 40 :lol:
Et bien et bien les chose on évoluer dic donc, 10 ans plus tard !
Nous avons donc ChatGPT, Bing basé sur lui aussi et d'autres encore !

Moi j'essais d'apprendre à coder à ChatGPT et BING, laisse tombé, Bing est meilleurs quand même.
Mais c'est pas encore ça !

Un projet communautaire d'apprendre à une IA a codé en Purebasic ? :P
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre