Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Programme|Bot]RORI v2, Assistant vocal multi plat

Un chatterbot modulable open source

    19 juin 2013 à 17:03:45

    Bien le bonjour à tous. Je suis AmarOk1412, 18 ans (AmarOk sinon ça marche aussi) étudiant actuellement en Licence préparatoire Ingénieur à Rennes. Je programme depuis le début du collège (en Liberty Basic à l'époque). Puis j'ai découvert de nombreux langage mais je programme aujourd'hui surtout avec le C++/Python. Je suis aussi très actif dans plusieurs associations en rapport avec l'informations (hackerspaces, communautés libres,...). Et aujourd'hui je tiens à vous présenter un projet de chatterbot open-source et personnalisable. Vous pouvez avoir d'autres informations sur mon site (encore en construction) : http://amarok1412.great-heberg.eu/

    En savoir plus sur le projet

    Genèse

    (Vidéo de démonstration) : http://www.youtube.com/watch?v=jlHHbtdXrBU&feature=youtu.be

    (Vidéo de démonstration #2) : http://www.youtube.com/watch?v=0QCpE57EK2g&feature=youtu.be (Interface graphique + 2 petits scripts)

    Le projet RORI est né en 2010 (ou 2011 je ne sais plus trop). Je l'avais même présenté sur le forum. Mais ce fut un échec grandiose. Un chatterbot fonctionnel mais une mauvaise architecture qui était remplie de tellement de bugs qu'il a finalement été mis de côté (mais j'ai reçu de nombreux messages pour me reprendre le projet, donc il a servit de base à d'autres bots qui ont sans doute pris fin de la même manière en 2011). Sauf qu'en Aout 2012, une idée m'est venue. Le projet v2 avec une refonte complète du système a vu le jour. 5 mois sur le papier ont été nécessaire pour concevoir cette architecture (qui grandit encore dans ma tête) et bon nombre de bouquins sur l'intelligence artificielle ont été absorbés ainsi que des discussions. Puis en février/mars de cette année j'ai commencé à programmer ce bot qui avance de jour en jour. Aujourd'hui j'ai une base qui est présentable mais tellement loin d'être finie...  

    Généralités et avancement

    RORI est un bot avec qui l'utilisateur interargit. Mais c'est bien plus qu'un simple système de questions/réponses. Le but de RORI est de pouvoir interargir avec un environnement, réaliser et assister l'utilisateur dans tout type de tâches. Voici une liste des fonctionnalités (non exhaustive) de RORI :

    Fait :

    _ Il répond à pas mal de questions (comme tout chatterbot qui se respecte)

    _ Peut effectuer des opérations de bases sur l'ordinateur (ouvrir un logiciel, le verrouiller, changer le volume, couper la luminosité, ...)

    _ Il est controlable à la voix quand il est connecté à Internet (Google speech API) ou moins performant (CMUsphinx)

    _ Peut trier les sujets de forum (seulement le siteduzero pour le moment)

    _ Naviguer sur le web à la voix grâce à Onivox_Shark

    _ Controler un Arduino

    _ Suivre une discussion de manière logique. En effet on peut demander à imprimer une page web seulement si on a demandé d'ouvrir internet avant. Ou alors on peut demander de changer la lumière seulement si on a demandé de se connecter à la lumière auparavant. En jouant avec la base de données on peut imaginer des suites de conversations logiques.

    _ Répondre différement selon son humeur (ou le comportement de l'utilisateur). Par exemple plus on insulte RORI plus le programme fait n'importe quoi. Jusqu'à éteindre l'ordinateur

    _ Controle vocale

    _ regex comprenant les champs lexicaux.

    _ Commenter des parties de TF2 (de manière basique, mais j'utilise personnelement RORI à 1 voir 2 % des capacités, le projet peut être puissant)

    _ Un agenda pour automatiser les tâches

    _ Publier sur Facebook

    _ Regex comprenant les types de mots

    _ Une interface utilisateur digne de ce nom

    _ Une version Android (BIENTÔT : Une démonstration en vidéo)

    _ API wikimédia + API openweathermap

    En cours :

    _ Base de données des fonctions (travail continu)

    _ Base de données des mots

    _ Résoudre des équations à une inconnue (bug sur la priorité des calculs avec parenthèses)

    _ Controler une maison à l'aide de RORI (en cours de discussion et ébauche. Une vidéo viendra ou RORI controle un système de lampe).

    _ Un éditeur de texte qui prédit le futur (fonctionnel, mais encore à améliorer. En effet l'éditeur copie le style de l'utilisateur et peut prédire des tournures de phrases (il prédit bien le dernier mot de la licence LGPL (celle de RORI) par exemple) ou génère des phrases que je pourrais très bien écrire. Le système est basé sur les chaines de Markov.

    _ Un module ou RORI filme elle même les vidéos de démonstrations

    _ Reconnaissance gestuelle & des visages

    _ Implémenter le système de RàPC (Recherche à partir de cas). Si l'utilisateur demande à RORI la recette de la tarte aux poires alors que RORI ne connait que la tarte au pommes, RORI va remplacer les pommes par des poires (possible à l'aide de l'arborescence des mots déjà présente et fonctionnelle (mais à refaire en plus propre)).

    A faire :

    _ Implémenter le système de traces pour améliorer la performance

    _ L'apprentissage automatique (il manque encore bon nombres de trous dans ma conception, mais j'avance dans ce sujet et je pense tenir un système qui permet à RORI d'apprendre seule). En effet le système d'aujourd'hui se base sur une conception logique d'un regroupement de phrases (les regex). RORI n'aura qu'à détecter un groupe de phrase qui amène à la même action (tu es marié ? es tu marié ? es tu seulement marié ? -> conduis à la réponse OUI/NON). RORI n'aura plus qu'à assembler ces phrases dans une seule regex (et la changer plus tard s'il le faut). Puis à chaque regex écrire une fonction pour répondre (RORI peut écrire des scripts python pour augmenter elle même ces possibilités, ce n'est pas le probleme. le probleme c'est de trouver automatiquement ce qu'il faut mettre dans cette fonctions et c'est ici que je bloque en ce moment, mais ça avance).

    _ La fusion de 2 RORI pour donner un autre RORI (hérédité, meilleure base de données)

    _ Depuis un site web

    _ Depuis un chat IRC (ça fonctionne mais bug beaucoup et pas encore fait pour ça).

    _ Un module pour que RORI apprécie plus ou moins les personnes

    _ Un module pour que RORI créé des histoires de manière logique (Chaines de Markov)

    _ API de traduction

    Abandonné

    _ La traduction en plusieurs langues. En effet, je ne connais pas d'API libre et gratuite qui donne un résultat avec une petite requête (Google le faisait avant, mais maintenant faut payer). La seule solution fiable reste de traduire les regex à la main.

    _ Authentification via le visage ou l'empreinte digitale. Car en fait il n'y a pas besoin de s'authentifier pour utiliser RORI

    Comment ça marche (en gros) :

    Une documentation beaucoup plus complète est en cours de rédaction (mais je préfère coder que l'écrire cette doc...).

    Mais en gros l'utilisateur envoie la phrase. La phrase est passé au travers d'un module de sémantique qui se base sur des regex améliorées. En effet, voici quelques exemples :

    _ Regex classique pour aller à la page suivant sur internet : 

    tri(e|).{0,50}(forum|sujet).{0,50}(sdz|siteduz(e|é)ro|site du z(é|e)ro)

    _ Regex amélioré pour détecter les insultes :

    --INSULTE--

    cette regex regarde si la phrase contient une insulte. Elle se base sur une arborescence représentant la catégorisation des mots de manière logique (en gros on a un dossier fruit. Dedans il y a pomme, poire, fruits rouges (un autre dossier comprenant fraise, cerise,...)).

    _ Regex hybride :

    (ouvre|lance) --LOGICIEL--

    pour ouvrir un logiciel ;)

    Une fois la regex trouvée, cette regex déclenche une fonction présente sur l'ordinateur (suivie éventuellement de --SENTENCESEND-- si le programme doit traiter la phrase. Le fichier ouvert est un fichier en .rorif composé comme ceci :

    CONDITIONS

    SCRIPT PARAMETRES

    Les conditions sont les conditions d'éxécutions. Mais elle ne sont pas forcément prise en compte. En effet ces conditions (RORI est de bonne humeur, l'utilisateur est poli/impoli/drôle/amical/peureux/curieux ? Rori pareil ?) joue juste un rôle sur la probabilité de réaliser l'action (si aucune condition n'est mise, la probabilité est d'environ 60%). Puis le script est bien entendu le chemin d'éxécution d'une fonction (la majorité sont des scripts python pour le moment dont le code source est visible via un éditeur de texte). Et les paramètres peuvent être de beaucoup de sortes (profil & humeur de RORI, profil & humeur de l'utilisateur, personnalisé). La liste des paramètres offerts par RORI sera bien sûr mise dans la documentation.

    Ce fichier .rorif est décortiqué par un module appelé profiler qui décide d'éxécuter ou non le programme.

    Puis le programme décide quoi dire (en écrivant dans le fichier end, on peut interargir avec RORI en la faisant parler, changer d'humeur, ajouter un mot à l'arborescence,...).

    C'est un résumé pour vous présenter un peu l'architecture atypique de RORI.

    Voici une vidéo de présentation (pour le moment c'est pas vraiment fort, mais d'autres viendront dès que la partie domotique que j'ai vraiment envie de réaliser commencera) :

    http://www.youtube.com/watch?v=jlHHbtdXrBU&feature=youtu.be

    Objectifs

    Le projet est d'offrir à tout ceux qui le souhaitent un système de bot qu'on peut personnaliser à souhait. Mais aussi de controler mon ordinateur puis ma maison via la parole (voir encore plus, téléphone, IRC, mail, ...). Ainsi que certaines de mes créations comme SPooky : 

    Ou encore Spot The Station (pas encore commencé la partie électronique).

    Le projet et son originalité

    Le projet n'est pas original en soit. Il y en a des dizaines de ce type. Mais ce qui est original c'est de pouvoir le personnaliser à son souhait et c'est vers ce but que je vais (ainsi qu'un produit open source). Pour quelques autres informations (lien du git, comment contribuer si vous êtes développeur ou non, ...) http://amarok1412.great-heberg.eu/rori.php

    FAQ :

    • On dirait un accent japonais, dis moi ton bot mange du riz ?

      Je l'avoue pour l'accent, il est très merdique (mais espeak est la seule synthèse vocale capable de s'intégrer à n'importe quel programme en 2 lignes de code).

      Je trouve que RORI est assez limitée

       RORI est limité je l'avoue. Mais je ne l'utilise qu'à 2 voir 3 %. De plus ce n'est qu'une base pour le moment. Il reste beaucoup de choses à intégrer (mini liste ici : voir lien description sur le sdz). Mais mon but n'est pas de faire un bot illimité. Le but est de faire un bot entièrement personnalisable (direct dans les scripts python pour le moment), capable de controler une maison à la voix (ça marche. Des vidéos viendront dans quelques mois) et d'apprendre seul (RORI peut se reprogrammer elle-même et créer des scripts aussi. Les phrases sont représentées logiquement avec les regex, donc il faut un générateur de regex). Cette partie est sur papier. Je l'intégrerais.Enfin, cette vidéo n'est la qu'après seulement 10 mois de développement (5 sur papier, 5 en codage). Ce n'est qu'une toute petite base de RORI final (je dirais que je suis à 3% de codage, 50/60% seront après la partie finale).

      Je suis seul sur le projet pour le moment. RORI ne sera pas parfaite. Mais ce qui la différencie pour le moment c'est qu'elle peut suivre une conversation logiquement, elle a un système d'humeur qui lui fait changer ces réponses et personnalisable

     Vous pouvez télécharger une petite démo ici : http://amarok1412.great-heberg.eu/zip/RORIV2.zip

    Cordialement, 

    AmarOk1412

    -
    Edité par AmarOk1412 6 octobre 2013 à 16:27:08

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2013 à 22:36:17

      Yo,

      J'adore ton projet, très bien fait, surprenant. Je vais suivre de près ce projet qui a de l'avenir :)

      • Partager sur Facebook
      • Partager sur Twitter
      http://pixelcodeteam.fr/ (@PixelCodeTeam) - L'intelligence c'est comme la programmation, quand t'en as pas tu segfault.
        20 juin 2013 à 16:38:29

        Merci de ton avis.

        Bon je vais mettre en ligne une démo (j'avais même pas pensé à le faire) : http://amarok1412.great-heberg.eu/zip/RORIV2.zip (Marche seulement sous linux, y a des dll inutiles normalement)

        Juste pour dire que le script pour poster sur facebook marche bien. Plus qu'à le développer un peu.

        Sinon, on m'a proposé de mettre RORI sur plusieurs projets en cours l'année prochaine (réalisation d'un local contrôler à la voix (ouverture des armoires, lumières pour commencer), ainsi que surement l'intégration d'un RORI partagé entre Spooky (photo plus haut), un drone et une voiture (voir une grosse araignée) qui seront sur des BeagleBone (http://arstechnica.com/information-technology/2013/04/for-your-robot-building-needs-the-45-beaglebone-linux-pc-goes-on-sale/), je vous dirais (la partie du local automatisé je veux vraiment la faire).

        Cordialement,

        AmarOk

        • Partager sur Facebook
        • Partager sur Twitter
          20 juin 2013 à 17:34:43

          D'où viennent donc toutes tes DLL ? ^^
          • Partager sur Facebook
          • Partager sur Twitter
          Moi, c'est tcitounet. «Peut mieux faire». Rendez-vous sur Zeste de Savoir ♥
            20 juin 2013 à 17:41:42

            d'un copié collé à l'arrache avec un autre projet.
            • Partager sur Facebook
            • Partager sur Twitter
              20 juin 2013 à 23:11:59

              J'aime bien ton projet :), RORI pourrait fonctionner sur Raspberry Pi ?

              En tout cas bonne chance pour la suite :D
              • Partager sur Facebook
              • Partager sur Twitter
                20 juin 2013 à 23:23:49

                Ouaip, RORI pourra fonctionner sur raspberry py (avec un bon pydora dessus).

                Merci :)

                • Partager sur Facebook
                • Partager sur Twitter
                  24 juin 2013 à 10:47:43

                  RORI v2 a-t-il pour but de contrôler le monde?

                  Non je déconne, franchement ça à l'air vraiment super intéressant comme projet, je te souhaite bonne chance pour la suite !

                  -
                  Edité par Th0m4s0m 24 juin 2013 à 10:48:06

                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 juin 2013 à 15:51:25

                    Super le projet. !

                    Bonne chance pour la suite je suis ton projet !

                    J'attend avec impatiente de nouvelle vidéo !!

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Apprend actuellement la programmation.
                      24 juin 2013 à 16:00:10

                      @Th0m4s0m : C'est une des prochaine fonctionnalités XD. Non j'aimerais déjà finir le coeur du programme avant de me consacrer aux fonctionnalités. Cette semaine c'est surtout sur l'agenda pour que RORI puisse demander elle même les actions en fonction de son humeur et de l'utilisateur.

                      Merci pour vos commentaires.

                      Juste une précision, RORI n'est en rien une IA, c'est juste un bot qui peut se modifier (d'ailleurs, vous pourrez bientôt le voir parce que quand RORI demande si on souhaite réaliser qu'elle réalise une action, on peut voir l'arborescence des fonctions se modifier et générer des scripts python).

                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 juin 2013 à 0:15:21

                        Faut-il beaucoup de connaissance en Python pour faire des scripts ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 juin 2013 à 8:49:48

                          Non du tout. enfin ça dépend ce que tu veux ajouter comme fonctionnalité, mais la plupart des scripts n'utilisent pas de notions objets. Si tu sais écrire un fichier, tu peux déjà en faire beaucoup. Après c'est sur que si tu veux la relier à un algo qui trouve le chemin le plus court sur une carte, ou une IA de jeu ça peut être plus compliqué. Si tu veux voilà un exemple de script python qui marche (y en a des plus compliqué quand même, mais celui la donne juste la possibilité de verrouiller l'écran) : 

                           #!/usr/bin/python
                           # -*- coding: latin-1 -*-
                          import random 
                          import sys
                          import subprocess
                          import os
                          
                          mon_fichier = open("end", "w")
                          toWrite = "Say : Pc verouillé !"
                          mon_fichier.write(toWrite)
                          
                          mon_fichier.close()
                          
                          subprocess.call("gnome-screensaver-command -l", shell = True)
                          



                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 juin 2013 à 16:08:52

                            Ok Merci pour l'exemple :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 juin 2013 à 18:01:18

                              Salut.

                              Après quelques jours de développement, j'ai implémenté un système d'agenda pour automatiser les tâches. Pour le moment, il n'y à pas d'interface pour le modifier alors je dois encore le modifier à la main (Je ferais un jour un design sublime, mais c'est pas ma préoccupation pour le moment). 

                              En gros voilà comment ça marche :

                              Dans le dossier de RORI il y a un sous dossier Agenda avec des fichiers du format hhjjmmaaaac (hh -> heure, jj -> jour, aaaa->l'année, c->si une fois réalisée, l'action s'efface ou si on doit la refaire à chaque fois). un paramètre peut être variable et le jour peut être écris selon sa place dans le mois ou dans la semaine.

                              Exemple :

                              xx1112xxxx1 -> les évenements dedans sont ceux du 11 Décembre de chaque année

                              xxxxxxxxxx1 -> Celui la c'est n'importe quand mais on les efface pas (0 -> on efface après coup l'évenement choisis)

                              xxd3xxxxxx1 -> Se répete le troisième jour de la semaine (le mercredi)

                              15xxxxxxxx1 -> entre 15 et 16 heure chaque jour.

                              RORI choisit un évenement au hasard tous les 1/4 d'heure si elle est de bonne humeur (sinon un peu plus). L'utilisateur peut ignorer sa question, ou alors dire oui/non (ok, d'accord, ...) pour déclencher l'action de l'évenement.

                              Les scripts python qui sont déclenché lors de la réponse de l'utilisateur sont générés automatiquement (si oui, appelle du subprocess voulu, puis on enleve la possibilité de réponse et on supprime le fichier) Voilà le fichier ouiGen.py écrit par RORI :

                               #!/usr/bin/python
                              # -*- coding: latin-1 -*-
                              import sys
                              import subprocess
                              mon_fichier = open("end", "w")
                              toWrite = "ResNFA\n"
                              toWrite += "\n"
                              toWrite += "\n-R_M- : -10"
                              toWrite += "\n-R_J- : -10"
                              toWrite += "\n-U_C- : -10"
                              toWrite += "\n-U_BU- : -10"
                              mon_fichier.write(toWrite)
                              
                              mon_fichier.close()
                              subprocess.call("python function/42.py", shell = True)

                              Je vais commencer à réfléchir au controle d'un local par RORI (armoire et lampes pour commencer). Ainsi qu'à l'interface et au point "_ Regex comprenant les types de mots"

                              • Partager sur Facebook
                              • Partager sur Twitter
                                26 juin 2013 à 18:32:12

                                Ça avance bien ! J'avais déjà vu ton projet sur ton site il me semble, et j'avais trouvé ça plutôt impressionnant. ^^

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 juillet 2013 à 17:33:16

                                  Merci pour ton commentaire. 

                                  Bon je n'ai pas beaucoup avancé ce week end (J'étais à Tu Imagines ? Construis ! à rennes) mais je commence à trouver une UX intéressante. Voilà un Screen de la page de démarrage (après le login pas encore fait) :

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 juillet 2013 à 17:52:06

                                    C'est class ! Bon, on ressent bien ta patte de graphiste. ^^

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 juillet 2013 à 17:54:47

                                      Merci. En fait je voulais faire une interface qui pourrait coller à une appli PC/smartphone/web (car le projet sera multi-plateforme).

                                      Seul truc qui m'embête un peu c'est la bordure blanche sur l'heure;.. Pas cherché non plus à l'enlever, je verrais c'est un détail.

                                      Bon ... le fond c'est juste tiré de mirror's edge avec un flou par dessus

                                      -
                                      Edité par AmarOk1412 1 juillet 2013 à 17:55:22

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 juillet 2013 à 17:59:49

                                        Personnellement, je la trouve bien cette bordure. Je pense qu'après on pourra nous-même le modifier, l'arrière-plan, donc pas d'importance. ^^

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          6 juillet 2013 à 18:09:49

                                          Salut salut.

                                          Une bonne nouvelle a fait que j'ai un peu avancé. Je lui ait donné la possibilité d'ouvrir la webcam (cheese...) mais je la remplacerais par un truc fait avec OpenCV (comme ça on pourra jouer plus facilement avec l'affichage et le tracking et la reconnaissance de visage).

                                          J'ai aussi donné la possibilité de filmer l'écran (plus qu'à tester). J'ai voulu jouer avec l'extension intégrée au gnome sheel mais je ne l'ai pas trouvée... alors j'ai opté pour recordmydesktop. 

                                          Enfin j'ai un peu avancé niveau design (les bandes noires sur le coté c'est pas expres... un programme a buggué et mon pc chauffe un max en ce moment) :

                                          -
                                          Edité par AmarOk1412 6 juillet 2013 à 18:12:54

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            9 juillet 2013 à 16:26:47

                                            Salut ArmarOK,

                                            Si il faut que le recompiler sous Windows contact moi par Skype(Pel10) et je te le ferais ^^ !!!

                                            A+

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              9 juillet 2013 à 17:49:59

                                              Pelt10 a écrit:

                                              Salut ArmarOK,

                                              Si il faut que le recompiler sous Windows contact moi par Skype(Pel10) et je te le ferais ^^ !!!

                                              A+


                                              Est-il seulement possible de recompiler pour Windows ou y a-t-il des parties de code à changer??

                                              En tout cas, je trouve ton projet très intéressant surtout que c'est le première fois que je vois un bot personnalisable à l'aide de script...

                                              Ps: Je cherche même une idée de projet intégrateur intégrant RORI pour l'année prochaine:D...

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              L'être humain, contrairement aux geeks qui ne sont de toute façon pas des êtres humains, est un animal social taillé pour vivre en "meute".
                                                9 juillet 2013 à 20:26:01

                                                Bien sur qu'on peut le recompiler ;) le coeur du programme est en c++ avec qt. Bon faudra sûrement changer quelques trucs... La contre de nombreux scripts seront a refaire car j'utilise quelques trucs de linux... mais tu peux si tu le sohhaites tenter de compiler depuis les sources du gît. 

                                                Vers la fin de la semaine on pourra faire des rêves avec des types de mots (nom; verbe,...)

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  10 juillet 2013 à 13:24:48

                                                  AmarOk1412 a écrit:

                                                  Bien sur qu'on peut le recompiler ;) le coeur du programme est en c++ avec qt. Bon faudra sûrement changer quelques trucs... La contre de nombreux scripts seront a refaire car j'utilise quelques trucs de linux... mais tu peux si tu le sohhaites tenter de compiler depuis les sources du gît. 

                                                  Vers la fin de la semaine on pourra faire des rêves avec des types de mots (nom; verbe,...)


                                                  Salut, je fais sa des que j'ai mon new Pc !!! mais vu que je suis pas trés bon en c++ ^^' 

                                                  Je vais deja essyer et si j'y arrive pas je te contacte par MP :D

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    10 juillet 2013 à 13:29:20

                                                    De toute façons faut que je change deux trois trucs dans le code... et je t'ajouterais sur skype pour t'aider des que j'aurais a nouveau DL skype...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Anonyme
                                                      10 juillet 2013 à 13:37:00

                                                      je vais essayer en aout cher mon pere car mon Pc actuel a que 512 MO de Ram et c'est insupportable...donc je vais essyer en Aout !!! Comme sa les utilisateurs Windows aurons leur version !!!
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        11 juillet 2013 à 18:03:28

                                                        On verra ça, la version windows n'est pas urgente.

                                                        Quelques nouvelles du jour : 

                                                        _ Les regex comprenant le type de mot avance (On peut bientôt faire des regex style : "##verbe## --FRUIT--" par exemple ou encore "^(##n.f.##|##adv.##)" (bon la ça n'a aucun sens)

                                                        _ Niveau de l'interface, on peut voir l'humeur de RORI et de l'utilisateur :

                                                        Voilà voilà
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          11 juillet 2013 à 18:12:19

                                                          T'avances vraiment rapidement !

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            12 juillet 2013 à 10:32:54

                                                            Salut, je te vois parler de regex assez souvent. Est-ce comme cela que tu interprètes (donnes du sens) les saisies utilisateurs ?? à coup de regex?
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              12 juillet 2013 à 15:32:08

                                                              Y a deux moyens utilisés pour déterminer l'action à réaliser.

                                                              Soit les regex pour savoir si la phrase correspond (regex modifiées, en effet elle prenne en compte les champs lexicaux grace à un arbre des mots et les types (nom, pronom, verbe, déterminant, ...)) pour le moment cette partie est presque fonctionnelle (manque plus qu'à finir pour les types de mots).

                                                              Puis y aura plus tard un système de RàPC (recherche à partir de cas). En gros si dans la bdd on a la tarte aux pommes, qu'on demande la tarte au poire, RORI tentera de donner la recette à partir de la tarte aux pommes. (Remplace les pommes par des poires).

                                                              Les regex sont pratique parce que RORI peut en créer elle même (prendre plein de phrases qui se ressemblent, les regrouper et pondre la regex en sortie). Y aura plus qu'à trouver l'action qui va derrière. Et RORI peut écrire des scripts python pour améliorer ses performances (ça marche déjà bien pour l'Agenda ou RORI écrit les scripts pour une réponse positive et négative de l'utilisateur.).

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Programme|Bot]RORI v2, Assistant vocal multi plat

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown