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

Algorithmes et structures de données Discussion :

comportement/dialogue humain robot


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Par défaut comportement/dialogue humain robot
    Bonsoir,

    Je développe en ce moment un robot en python qui a pour but de tenir une discussions avec une ou plusieurs personnes, j'ai donc pour se faire besoin de développer une intelligence artificielle. Seulement je ne sais pas comment m'y prendre.. Je pense que je poste dans le bon forum, parce qu'il me faudrait développer plus qu'un script qui balance une phrase lorsqu'il voit un mot, ce serait plutôt selon la phrase et sa tournure et à qui elle s'adresse. Je recherche donc des conseils sur la façon de faire pour développer cette IA aussi bien dans l'analyse des phrases lues par le robot que par le stockage de phrases pré existante et qui seront envoyée par le robot (je pense que générer une phrase serait beaucoup trop compliqué, donc il faudrait pour se faire trouver un moyen de stockage pour bien différencier chaque phrase pour chaque thème etc.. j'espère que vous m'aurez compris.)

    merci d'avance.

  2. #2
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Avant de parler, je précise que je n'ai jamais fait ce genre de chose et qu'il est fort possible que mes conseils n'aient aucune valeur. Je ne saurait donc être tenu responsable de ... (blabla habituel)

    A mon avis, renvoyer une phrase est beaucoup plus simple qu'en comprendre une. En effet, à supposer que l'interlocuteur parle parfaitement (ce qui est déjà peu probable), celui-ci pourra utiliser un grand nombre de syntaxes et de tournures différentes, alors que si c'est ton robot qui parle, il suffira de lui enseigner quelques syntaxes basiques sans que cela ne gêne la conversation (il existe même pas mal d'automates qui font cela sur le net (plus les adresses).

    D'ailleurs, développer une IA implique tout d'abord de réussir à décortiquer la phrase de manière à en extraire le sens. Pour cela il y as deux méthode (à ma conaissance):
    • extraire des 'mots-sens' pré-choisis qui, par association entre-eux, te feront choisir une réponse, mais il me semble que ce n'est pas la méthode que tu veux (il est vrai qu'elle est assez limitée)
    • décortiquer la phrase et identifier la syntaxe, puis faire un classement des 'sens' de cette phrase et ressortir la réponse approprié (par exemple: "je suis un humain vert" aura deux sujets (je, humain), un qualificatif (vert) un verbe d'état (suit soit être). ensuite, il faut voir que être est l'équivalent d'un "=" donc je = humain vert, les sujet étant des variables, les qualificatifs doivent en être des valeurs. là, tu trouve deux type de réponse possible: confirmation (vous=humain vert) ou bien constatation ('ha bon', 'je vois) (équivalent de 'done' dans certains langages).)


    si tu est arrivé à ce stade, c'est que tu peux également en construire...
    par contre, là, j'évoque une syntaxe, mais d'une part, il y en as plusieurs, d'autre part, il y as les expressions idiomatiques, et enfin, les fautes d'orthographe qui ne sont pas à négliger.

    à mon avis, ton travail se rapproche plus de la conception d'un traducteur que de celle d'un 'répondeur' (le mot est mal choisit je sait).

    Bonne chance.

  3. #3
    Membre chevronné Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Par défaut
    Si j'en suis ton raisonnement:
    - l'auxiliaire "être" serait le "="
    - les sujets seraient des variables
    - et l'adjectif sa valeur

    Mais une question me vient à l'esprit comment comparer ces morceaux de phrases et à quoi ? et comment les déterminer ? Nous êtres humains, nous savons à quoi correspond chaque morceau, mais le robot lui comment va-t-il s'y prendre ? Il faut bien comparer chaque morceau à quelque chose pour en deviner son "identité" ?

    Si je prends pour exemple ta phrase "je suis un humain vert", comment savoir que je est le sujet, etc..

  4. #4
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    c'est bien sur grace à une base de donnée. ouvre ton dico à je:
    JE. Pronom personnel, dit de la première personne du singulier.
    (selon académie française).

    bon, un pronoms est (comme un nom) une variable et un sujet potentiel.
    en fait, je m'aperçoi que j'ai commis une grosse imprecision: dans cette phrase, 'un humain' n'est pas une variable, mais bien une constante de type sujet (qui contient sa définition).
    par contre, 'cet humain' serais égal à un pronom, c'est à dire une variable.
    ainsi, si je dis 'un humain est vert' cela sera équivalent à une proposition qui renvoie vrai ou faux (allez voir si vert existe dans humain(couleur)). évidement, les constantes sont modifiable, mais je pense que l'enseignement ne sera pas un priorité premiere de ton robot.
    par contre, si je dis 'cet humain est vert', alors là ça se complique par-ce que cet-humain ne vas pas forcément renvoyer une variable: c'est une variable qui renvoie à la dernière inclusion de type humain masculin utilisée. si celle-ci étais une variable (ma femme, je...) alors, cet-humain sera équivalent à une variable, mais si c'étais une constante ( un homme, Napoléon...) 'cet homme' renverra vesr une constante, mais on rencontre un nouveau problème: doit t'on considérer les "=" avec des pseudo-constantes comme des comparaisons ou des rentrées d'information: en effet, en fançais, on à pas de "=" et de "==" qui se différencient... il faut alors faire un choix, qui se fera par exemple par la présence d'un conditionel comme en vb (on utilise = partout, mais si c'est dans un "if" ou autre, c'est interprété comme un "==").

    bref, comme tu vois, ça devient de plus en plus compliqué. ensuite, il y as des problèmes avec les homographes

    bref, je te sent bien parti pour t'amuser (tu vois que je me contredit moi même au fur et à mesure du raisonement, car c'est assez difficile de tout envisager d'un bloc.)

    donc une fois de plus:

    bonne chance et bon courage (s'il t'en reste encore )

  5. #5
    Membre chevronné Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Par défaut
    Il est vrai que ça devient extrêment compliqué et que l'on s'y perd facilement.. Je ne lâche pas, mais j'ai vraiment beaucoup de mal. J'espère quand même réussir à trouver la bonne façon de faire.

    Pour ce qui est de la couleur de l'humain il faudrait que le robot soit renseigné dessus.. De même que pour certains mots, comme tu l'as dis ça nécessite un dictionnaire. C'est encore un autre problème..

  6. #6
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    excuse moi si j'ai pas tout lu il est un peu tard
    par contre si j'ai bien compris, tu as des problèmes de "traitement automatique du langage naturel". ca peu vite devenir compliqué, tout dépend de ce que tu veut faire

    la première chose que je peut te conseilller c'est d'essayer de trouver des cours avec ces mots clefs. sinon j'essaierai de te redire de ce que j'ai retenu de mes cours

    a+

Discussions similaires

  1. Foxbots : des robots pour remplacer les humains chez Foxconn
    Par Hinault Romaric dans le forum Actualités
    Réponses: 58
    Dernier message: 02/01/2017, 17h19
  2. Simuler un comportement humain sur un site Web
    Par Ceubex dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 25/01/2014, 01h29
  3. Réponses: 1
    Dernier message: 12/05/2012, 20h29
  4. Réponses: 2
    Dernier message: 18/08/2011, 11h32
  5. Dll et boîte de dialogue MFC
    Par paulj dans le forum MFC
    Réponses: 3
    Dernier message: 19/12/2002, 09h59

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