IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Creation d'un assistant avec une IA


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut Creation d'un assistant avec une IA
    Bonjour,

    Je vais commencer à développer une sorte d'assistant personnel en VB.Net avec une IA qui ferait ce qu'on lui dit. Par exemple si je lui envoie : "Ouvre mes mails" il s'exécutera (elle ouvrira le client mail par défaut).

    Mais je dois avouer que j'ai du mal à savoir par ou commencer, j'imagine que je dois programmer une sorte de fonction d'analyse de la phrase entrer par l'utilisateur, mais j'ignore comment m'y prendre. Sachant qu'il va falloir intégrer une grande partie des subtilités de notre langage, "Des nouveaux mails ?" et "Ouvre mes mails" ne veulent pas dire la même chose. Ainsi que la négation, interrogation...

    Je voudrais aussi que l'agent virtuel soit capable de me répondre, mais pas avec des phrases pré-enregistrer, avec des phrases créer sur mesure, qui colle avec le contexte.(pas de "Je vais faire ce que vous m'avez demandé", mais plutôt "J'ouvre vos mails.")

    De plus, je voudrais pouvoir passer une idée à l'ordinateur, mais je ne sais pas comment la représenter par le code. Si je lui demande de faire des recherche sur une recette de cuisine, je ne veux pas avoir a codé la fonction pour les recettes, mais plutôt un ensemble de fonction qui le rendrait autonome.

    Exemple :

    Si je lui demande des informations sur une recette, il ne sait pas ce que c'est qu'une recette, donc il va utiliser une fonction de recherche avec le terme "Recette", ce qui va certainement lui amener le mot "cuisine", et avec "recette cuise" et le nom de la recette, il trouvera certainement les résultats demandés.

    Bien sûr l'exemple ci-dessus sera très TRÈS compliquer a mètre en place... Je ne suis même pas sûr qu'il soit réalisable...

    Comprenez bien que je ne souhaite pas créer un chatterbot, mais bien un assistant. Pour vous faire une idée, un peu les assistant virtuel que l'on peut rencontrer dans les oeuvre de science fiction. (VIKI pour I-Robot, IDA pour MassEffect 2...)

    Voilà, je suis ouvert a tous les conseils, surtout de ceux qui ont de l'expérience dans le domaine.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Eh bien, ca n'existe que dans les livres de science fiction justement

    Plus sérieusement, si tu souhaites avoir un système qui apprend tu peux te tourner vers les réseaux de neurones, mais évidemment tu n'arriveras jamais au résultat que tu cherches, ou alors tu seras le premier à réussir et tu deviendras riche et celebre

  3. #3
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    C'est clair.... Ça parait un peu ambitieux de créer une IA tout seul sur son PC. Si tu y arrives embauche moi !!

    Bon sinon.... pour L'IA Flamby38 il existe des sytèmes qui sont a la pointe de la recherche. Alors tu peux toujours essayer de les depasser... tout seul.

    Sinon les solutions non IA, c'est jouable. Par exemple, tu peux préenregistrer dans une base de donnée des combinaisons de mots et attaché un action.

    Donc t'auras des lignes:
    ouvre + mail -> "Action ouvre les mail"
    ouvre + nouveau + mail -> "Action ouvre les nouveaux"

    Déjà ça !! Si t'arrives a référencer toutes les actions possible qu'un utilisateur puisse faire... Ça sera long et laborieux, mais ça peut marcher.

    Sans parler des problèmes de langages... Il faut que tu prennes en comptes la grammaire, les fautes d'orthographe. Par exemple je sais que pour des systèmes de recherche d'adresse (système publi-postage laposte, ou simple google maps) passe parfois par une transcription en phonétique... où plusieurs ingénieur se penche pendant des années....

    Bon courage !!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut
    Oui, la solution de mactwist69 me parait bien, sachant que je ne veut pas que mon assistant puisse apprendre (J'ai regarder un tutoriel sur les réseaux de neurone, ...)

    Sinon, pour cette technique, vous savez comment il faut si prendre ?

    Merci pour vos réponses.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    [ame="http://www.amazon.fr/Conscience-artificielle-syst%C3%A8mes-adaptatifs-Cardon/dp/2212091249"]http://www.amazon.fr/Conscience-artificielle-syst%C3%A8mes-adaptatifs-Cardon/dp/2212091249[/ame]

    Rien que de lire la description j'en ai mal à la tête ^^

    J'imagine bien que la recherche se penche dessus, mais je doute que ce soit très avancé. Par exemple j'ai vu qu'il y avait des robots capables de marcher à 4 pattes sur toutes sortes de terrain, c'est déjà un bel exploit et de ce que je sais c'est ce qui se fait de mieux.

    Les systèmes dont tu parles (passage en phonétique, tolérance aux fautes d'orthographe), tu sais si ce sont des sytemes adaptatifs (qui apprennent) ou des algorythmes codés en durs? Dans les 2 cas c'est pas simple a faire de toute manière.

  6. #6
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Les deux systèmes existent.

    Dans un premier temps il faut une base de données contenant les associations qui nous intéresse et l'action associé.

    Si tu souhaite passé par la phonétique (arrangeant pour les erreurs de frappe) il faut un algorithme qui transcris en phonétique et cherche les correspondances dans la BDD.

    Dans le même temps tu peux avoir une table qui enregistre des associations en claire, à leur action (un historique), du coup plus de transcription et de recherche base de données. Fonctionnement se rapprochant de l'index...

    Donc plus tu effectues d'action, plus la correspondance est rapide.

    Le seul point délicat je pense c'est de créer la base de données de départ. Parce qu'il faut trouver toutes les actions que tu veux faire... (pas 100 000 j'espère pour toi), puis de trouver toutes les associations a cette action.

    Car ce qui risque d'arriver souvent c'est qu'une personne n'utilise pas les même mot... et si y'a pas de réponse t'es planter.

    Après ton système peut toujours, si il ne trouve rien, proposer a l'utilisateur d'associer sa recherche a une liste d'action existante.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut
    Ok,

    Le système phonétique, on peut sans passer, le système de base de donnée me parait très bien.

    Ce que j'avais imaginé c'est faire un système d'association de mot clé ("ouvrir", "afficher", "visualiser"... serait associer à une seule action -> ouvrir), comme sa si je dit "Ouvre mes mails" ou "Affiche mes mails", l'action sera la même.

    Cela dit, j'ai du mal a comprendre ton système d'index mactwist69

    Je tien quand même que je reste réaliste, je ne veut pas créer C3-PO...

    Merci.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut
    Citation Envoyé par Flamby38 Voir le message
    http://www.amazon.fr/Conscience-arti.../dp/2212091249

    Rien que de lire la description j'en ai mal à la tête ^^
    En effet...

Discussions similaires

  1. [AC-2003] Creation de table dynamique avec une requete action création de table
    Par Jeanpierre71 dans le forum IHM
    Réponses: 3
    Dernier message: 24/10/2011, 15h56
  2. Creation d'un formulaire avec une scrollbar
    Par Phago dans le forum Android
    Réponses: 4
    Dernier message: 01/03/2010, 01h13
  3. Problème de creation de repertoire avec une DLL
    Par Avisseau dans le forum Delphi
    Réponses: 4
    Dernier message: 19/06/2006, 09h13
  4. creation d'une table avec une clé primaire multiple
    Par oursquetaire dans le forum Oracle
    Réponses: 2
    Dernier message: 23/12/2005, 13h29
  5. Creation dynamique d'elements de menu avec une DLL
    Par Sunchaser dans le forum C++Builder
    Réponses: 5
    Dernier message: 14/12/2005, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo