0Home Page test forums PROGRAMMATION INTELLIGENCE ARTIFICIELLE Tuto AIML [MAJ 30/1/17]

This topic contains 7 replies, has 4 voices, and was last updated by  anthony 1 year, 11 months ago.

  • Author
    Posts
  • #4479

    anthony
    Moderator

    Quelques infos posées ci et la destinées aux personnes souhaitant contribuer ou comprendre le fonctionnement.

    – DESCRIPTION
    – CORRECTIONS
    – FAUX POSITIFS
    – PUBLIER DES MODIFICATIONS
    – DÉBOGAGE

    DESCRIPTION

    Le moteur de conversation à l’intérieur d’Inmoov est l’AIML
    L’aiml c’est une base de donnée au format texte ( XML )
    En fonction de ce que le robot entend il va essayer de construire une réponse.

    Petit tuto indispensable en Anglais : http://www.tutorialspoint.com/aiml/
    Fil de discussion général pour le dev du chatbot en français : https://github.com/MyRobotLab/inmoov/issues/130
    On peut discuter aussi sur tel ou tel ‘commit’ ( envoi de modifications ), pour cibler le sujet

    Voici un petit exemple

    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/chatbot/bots/fr/aiml/_inmoovGestures.aiml#L230-L240

    Description rapide de quelques éléments :
    – L’étoile représente n’importe quel mot à interpréter, c’est un “wildcard” à priorités , dans l’ordre ( * ^ _ # $ )
    pour * et _ un mot doit être présent forcément
    $ est la priorité absolue ( exemple $TEST ) rarement utilisé.
    – La balise that, c’est pour conditionner la dernière chose qu’a dit le bot ( il y a des subtilités, comme l’avant dernière phrase… )
    – La balise srai, c’est une redirection vers une autre rubrique

    Mise en lumière des fichiers SET et MAPS
    ce sont des petites base de données, par exemple qui évite d’avoir a spécifier chaque article pour un mot, ou pour catégoriser des choses, exemple

    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/chatbot/bots/fr/aiml/profile-user.aiml#L130
    Utilise
    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/chatbot/bots/fr/sets/mois.txt

    https://docs.google.com/document/d/1DWHiOOcda58CflDZ0Wsm1CgP3Es6dpicb4MBbbpwzEk/pub

    —————-

    CORRECTIONS

    [JE CORRIGE UNE ERREUR]
    Et des corrections sur ce que répond le bot, il y en a à la pelle !
    Exemple je trouve une vilaine erreur :

    Interressant, comment s’appelle ton bot, j’aimera bien le connaitre
    > Intéressant, comment s’appelle ton bot, j’aimerai bien le connaître

    [JE TESTE UNE CONVERSATION AVEC LE BOT]
    Et il ne répond pas ce à quoi je m’attendais

    Exemple : OU EST CE QUE JE POURRAIS PARTIR EN VACANCES
    On commence par rechercher ce qui peut déjà exister comme “OU EST CE QUE JE PEUX” ou alors “VACANCES” et faire une redirection dessus.

    Si il n’y a vraiment rien de correspondant, on ajoute
    <category>
    <pattern>OU EST CE QUE JE POURRAIS PARTIR EN VACANCES
    </pattern>
    <template>
    <random>
    <lli>
    Sur une plage ensoleillée, avec un mojito et un pc portable
    <lli>
    Tu n’a plus de CP, donc tu reste chez toi
    </lli>
    </random>
    </template>
    </category>

    —————-

    FAUX POSITIFS :
    – Les apostrophes et les traits d’union sont volontairement omis.
    – Certaines questions comme QU EST CE QUE VIOLON ( il manque volontairement l’article car il est en base de donnée <set> )

    —————-

    DÉBOGAGE:

    Vous pouvez suivre le cheminement de la “pensée” du bot dans la console :

    Astuce : Le bouton “kill aimlIf” vous permet de tester des modif sur les aiml en direct, sans avoir besoin de relancer tout le programme.

    —————-

    PUBLIER DES MODIFICATIONS:

    Cela se passe sur github sur la branche develop, exemple pour modifier un fichier :

    https://github.com/MyRobotLab/inmoov/edit/develop/InMoov/chatbot/bots/fr/aiml/U.aiml

    la liste complète est ici :

    https://github.com/MyRobotLab/inmoov/tree/develop/InMoov/chatbot/bots/fr

    To be continued…

    • This topic was modified 2 years, 10 months ago by  anthony.
    • This topic was modified 2 years, 10 months ago by  anthony.
    • This topic was modified 2 years, 10 months ago by  anthony.
  • #4599

    lecagnois
    Participant

    salut antony
    Merci pour le lien

    • #10080

      lecagnois
      Participant

      hello@anthony

      Je ne trouve pas le bouton KILL AIMLif dans le chatbot
      cela serais effectivement pratique car tout relancer a chaque modif ………
      ci joint copie écran .

      et je n arrive pas a transférer mes modifications dans GITUB

      pour les fichier questque.aiml j ‘ai refais toutes les définitions
      aimerai bien le partager.

      • This reply was modified 1 year, 12 months ago by  lecagnois.
      Attachments:
      You must be logged in to view attached files.
  • #4608

    lecagnois
    Participant

    comprendre les fichiers AIML :

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <aiml> <!– debut de balise AIML –>

    <category> <!– définit l’unité de la connaissance dans la base de connaissances de Alicebot.–>
    <pattern># loto #</pattern> <!–représente l’entrée d’un utilisateur. Il devrait être la première balise au sein < catégorie > –>
    <template> <!– définit la réponse d’un Alicebot à l’entrée de l’ utilisateur.–>
    <oob> <!– démarrer un chat service bot ProgramAB MRL il prend en charge les balises OOB dans la réponse de ProgramAB –>
    <mrl> <!– debut balise MRL –>
    <service>python</service> <!– pour transmettre a python –>
    <method>exec</method> <!– executera dans python la fonction loto –>
    <param>loto(“Voci les numéros a jouer au loto, “,”Le “,”Et le numéro chance le, “,”Je vous souhaite bonne chance, “)</param>
    <!– ici 4 parametres sont transmit a la fonction loto –>

    </mrl> <!– FIN balise MRL –>
    </oob> <!– FIN balise programme AB–>
    </template> <!– FIN de balise template –>
    </category> <!– FIN de balise catégorie –>

    </aiml> <!– FIN de balise AIML –>

    • This reply was modified 3 years, 4 months ago by  lecagnois.
  • #6604

    anthony
    Moderator

    Pour quand il n’est pas possible de bricoler, il reste la lecture au coin du feu : https://www.amazon.fr/Parsing-Turing-Test-Philosophical-Methodological/dp/1402067089

  • #6608

    Pierrick
    Participant

    Je te laisserai nous faire une petite synthèse… de ce morceau d’anthologie!

  • #10125

    Vandamme
    Participant

    ya t’il un script pour que inmoov va chercher des infos sur internet?
    genre wikipédia meteo …

  • #10128

    anthony
    Moderator

    Il y a en effet des travaux en cours qui utilisent des webservices intégré à mrl. Dans l’absolu si Inmoov arrive à traiter l’info en local c’est l’idéal.

    Quelques exemples de mots clés actuellement implémentés : donne moi la météo / quel est le fruit du pommier / qui est Isaac Asimov etc …

You must be logged in to reply to this topic.