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 :

Algo de reconnaissance syntaxique


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier Avatar de ghost emperor
    Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Septembre 2007
    Messages : 170
    Points : 122
    Points
    122
    Par défaut Algo de reconnaissance syntaxique
    Bonjour,

    J'ai un petit souci de méthode à suivre pour la reconnaissance syntaxique.
    en effet, j'ai une application avec un bot et l'utilisateur peut saisir une phrase dans une zone de texte et l'envoyer. Jusque là, pas de souci.

    Mais je voudrais maintenant que le robot analyse ce que l'utilisateur à entré et qu'il réponde par une phrase en rapport avec ce qu'a tapé l'utilisateur.

    Je voudrais savoir quelle est la méthode la plus efficace (pas forcément la plus simple) pour faire ce genre de chose.

    Merci d'avance.
    - "Pourquoi t'as pas de signature ?"

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Tu as regardé du côté de AIML et du bot A.L.I.C.E :

    http://www.alicebot.org/aiml.html

    Au vu de ta description, c'est exactement ça.

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Ne pas confondre reconnaissance 'syntaxique' et reconnaissance 'sémantique'.
    Reconnaissance 'syntaxique' c'est le plus difficile, surtout pour les langages naturels où les grammaires sont très très complexes (difficiles à formaliser). La reconnaissance 'syntaxique' vise à décider si une phrase 'est du français correct' même si elle n'a aucun sens.
    Du point de vue de l'analyse 'sémantique' il s'agit seulement de comprendre ce que la personne a voulu dire. C'est beaucoup plus simple si l'univers du discours est très restreint (le robot sert des boissons chaudes par exemple). Dans ce cas l'analyse sémantique peut se ramener à analyser:
    Le client veut il du thé du café ou du chocolat
    Avec ou sans sucre
    Avec ou sans lait
    Quelle taille: petit moyen ou grand.
    On peut pour cela utiliser des techniques de filtrage (pattern matching) sans se soucier de la grammaire, on cherche seulement à repérer des mots clés ou du moins leur racines en étant même permissif au niveau de l'orthographe.
    Cela c'est nettement plus simple et il y a beaucoup d'exemples dans de nombreux langages (Lisp par exemple).
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Oui tout à fait d'accord, par contre il y aura toujours des pièges avec des phrases ou mots à double connotation. Par ex: "Les fils sifflent"

  5. #5
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Et aussi "la peur du gendarme".
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par ghost emperor Voir le message
    Bonjour,

    J'ai un petit souci de méthode à suivre pour la reconnaissance syntaxique.
    en effet, j'ai une application avec un bot et l'utilisateur peut saisir une phrase dans une zone de texte et l'envoyer. Jusque là, pas de souci.

    Mais je voudrais maintenant que le robot analyse ce que l'utilisateur à entré et qu'il réponde par une phrase en rapport avec ce qu'a tapé l'utilisateur.

    Je voudrais savoir quelle est la méthode la plus efficace (pas forcément la plus simple) pour faire ce genre de chose.

    Merci d'avance.
    Bonjour,

    dans emacs, il y a une fonction M-x doctor RET basée sur le principe d'Eliza qui permet d'avoir un dialogue (en anglais) entre l'utilisateur et le programme.

    Est-ce quelque chose comme ça que tu cherches?

    Peux-tu préciser quel langage utilise l'utilisateur?

    Est-ce le langage naturel?

    )jack(

  7. #7
    Membre régulier Avatar de ghost emperor
    Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Septembre 2007
    Messages : 170
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Bonjour,

    dans emacs, il y a une fonction M-x doctor RET basée sur le principe d'Eliza qui permet d'avoir un dialogue (en anglais) entre l'utilisateur et le programme.

    Est-ce quelque chose comme ça que tu cherches?

    Peux-tu préciser quel langage utilise l'utilisateur?

    Est-ce le langage naturel?

    )jack(
    alors, j'espère ne pas répondre à côté : mon algo est en vb.net et la langue utilisée est le français
    - "Pourquoi t'as pas de signature ?"

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par ghost emperor Voir le message
    alors, j'espère ne pas répondre à côté : mon algo est en vb.net et la langue utilisée est le français
    Donc il s'agit bien de "reconnaissance/compréhension du langage naturel".

    Ouh là! C'est coton ! [cf. H2G2]

    Et tu as combien d'années d'expérience dans le domaine? ;-)

    De combien d'années disposes-tu pour ce projet?


    Plus sérieusement, et sans vouloir te décourager, as-tu des spécifications un peu plus détaillées sur le genre de dialogue que tu voudrais instaurer?

    ou, au minimum, des exemples.

    )jack(

  9. #9
    Membre régulier Avatar de ghost emperor
    Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Septembre 2007
    Messages : 170
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Donc il s'agit bien de "reconnaissance/compréhension du langage naturel".

    Ouh là! C'est coton ! [cf. H2G2]

    Et tu as combien d'années d'expérience dans le domaine? ;-)

    De combien d'années disposes-tu pour ce projet?


    Plus sérieusement, et sans vouloir te décourager, as-tu des spécifications un peu plus détaillées sur le genre de dialogue que tu voudrais instaurer?

    ou, au minimum, des exemples.

    )jack(
    Heu... pour les années d'expérience dans le domaine... heu... je dirais qu'il faut bien débuter un jour... Après pour le temps dont je dispose, je n'ai pas de limite, c'est un projet personnel. En fait, je développe un site internet qui dispose d'un support en ligne. L'utilisateur pose ses questions à un robot. J'ai donc adapté mon script vb en php. J'ai réussi a obtenir quelque chose qui fonctionne (enfin pour le moment) en comparant le nombre de concordances entre ce que la personne a saisi et ce que mon robot "connait". Et mon robot renvoie ainsi la réponse qui correspond le plus a ce que l'utilisateur à saisit, ou alors indique qu'il n'a pas compris la question.
    - "Pourquoi t'as pas de signature ?"

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par ghost emperor Voir le message
    Heu... pour les années d'expérience dans le domaine... heu... je dirais qu'il faut bien débuter un jour...
    Ben oui, on a tous débuté un jour...

    Y en a même qu'arrêtent pas de débuter...

    Citation Envoyé par ghost emperor Voir le message
    Après pour le temps dont je dispose, je n'ai pas de limite,
    Le rêve!

    Citation Envoyé par ghost emperor Voir le message
    c'est un projet personnel.
    Ah bon, je m'disais aussi...

    Citation Envoyé par ghost emperor Voir le message
    En fait, je développe un site internet qui dispose d'un support en ligne. L'utilisateur pose ses questions à un robot. J'ai donc adapté mon script vb en php. J'ai réussi a obtenir quelque chose qui fonctionne (enfin pour le moment) en comparant le nombre de concordances entre ce que la personne a saisi et ce que mon robot "connait". Et mon robot renvoie ainsi la réponse qui correspond le plus a ce que l'utilisateur à saisit, ou alors indique qu'il n'a pas compris la question.
    Donc, si j'ai bien compris, tu as quelque chose comme une liste de questions répertoriées avec, pour chaque question, la réponse associée.

    L'utilisateur pose une question avec ses propres mots.

    Tu fais une recherche dans ta base de question.

    Tu lui proposes de choisir dans la liste (classée par pertinence) des questions prédéfinies semblant correspondre le mieux à sa demande, ou bien tu lui proposes juste celle qui te paraît la meilleure, ou bien tu ne lui demande même pas confirmation.

    Puis tu lui envoies la réponse associée à la question reconnue ou choisie.

    C'est bien ça?

    Si oui, il me semble que le plus simple à coder est probablement d'appeler un moteur de recherche (genre google) avec une recherche limitée à ton site en lui passant en paramètre la question posée par l'utilisateur.

    Ou alors, tu peux t'inspirer des systèmes d'aide (genre MacOS, Windows, etc.)

    )jack(

  11. #11
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Algo de reconnaissance des empreintes digitales
    Par AmineRaikkonen dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 20/02/2014, 23h08
  2. Algo reconnaissance image
    Par pipo44 dans le forum Traitement d'images
    Réponses: 23
    Dernier message: 21/07/2008, 14h33
  3. Algos de reconnaissance faciale
    Par Noutch dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 09/04/2008, 15h25
  4. [Algo] Reconnaissance de texte
    Par GyZmoO dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/06/2007, 17h24
  5. Algos pour reconnaissance de formes
    Par Laurent Gomila dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 09/12/2005, 10h34

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