Partage
  • Partager sur Facebook
  • Partager sur Twitter

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

Un chatterbot modulable open source

    12 juillet 2013 à 15:32:21

    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
      13 juillet 2013 à 16:08:57

      Bonne nouvelle. La regex suivante répond comme  il le faut : "##N.F.##"

      C'est pour détecter les noms féminins. Donc pour faire tous les noms il suffit de faire "(##N.F.##|##N.M.##)"

      Bien sur, ça marche aussi pour ##V.##, ##DET.##, ##ADV.##...

      Je suis content. Mais je crois que ma manière de faire peut avoir un bug. Si ça pose probleme, je reverrai cette partie ;)

      • Partager sur Facebook
      • Partager sur Twitter
        13 juillet 2013 à 17:00:58

        Tu a coder en quel language python ?
        • Partager sur Facebook
        • Partager sur Twitter
          13 juillet 2013 à 17:04:45

          Plutôt en quelle version ? ça dépend des scripts, y en a en Python 2.x et d'autres en 3... je sais c'est pas super super, faudrait tout passer en 3.
          • Partager sur Facebook
          • Partager sur Twitter
            13 juillet 2013 à 17:28:09

             dac merci bien de ta reponse j'aime bien ton idee mais je suis sous windobe :D

            aussi j'aimerai avoir acces a ton code source pour apprendre si sa ne te derange pas !?:) je ne te demande pas sa pour te copier je n'ai pas le niveau mais j'aimerai progresser pour etre meilleur :)

            merci de ta reponse :)

            -
            Edité par Alban Favier 13 juillet 2013 à 17:37:32

            • Partager sur Facebook
            • Partager sur Twitter
              15 juillet 2013 à 10:18:29

              Ok, merci pour les détails de ta réponse. Très intéressant comme projet, je le suis de près.
              • Partager sur Facebook
              • Partager sur Twitter
                15 juillet 2013 à 17:00:11

                @Alban Favier : Tout le projet est libre & open source. Tout est dispo sur le git du projet dans le post (bon j'ai beaucoup à mettre, mais il sera mis à jour)

                Après arrêtez de dire windobe tout le temps. Si vous êtes dessus c'est que vous l'appréciez ;) y a des points positifs sur windows (Jeux, une jolie interface, ...). Bon moi j'ai pas du tout windows, mais j'ai mes raisons ;)

                Vu que je pars à Colmar une semaine (sans PC... OhMyGod) en vacances à partir de samedi, je préfère avancer sur le design du projet donc voilà la mise en place du changement de fond d'écran (inspiré de Windows 8) :

                C'est tout pour aujourd'hui... je vais faire du dessin ;)

                -
                Edité par AmarOk1412 15 juillet 2013 à 17:01:05

                • Partager sur Facebook
                • Partager sur Twitter
                  16 juillet 2013 à 15:05:52

                  salut j'ai vue qe que tu a fait mis je ne trouve pas se que tu a ecrit en code ? merci de m'accorder de ton temp ;)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 juillet 2013 à 15:18:32

                    merci bien jadore ton projet ;)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 juillet 2013 à 17:13:43

                      Bon bah voilà, je pars une semaine à Colmar sans ordinateur, donc je ne vais pas avancer sur le projet, mais avant de partir, je vous offre une petite vidéo rapide sur l'interface de RORI et deux petits scripts python.
                      Le premier génère un avatar (à améliorer)

                      Le second recherche une photo de ce que l'on veut (recherche récursive dans l'ordinateur & une regex, rien de compliqué).

                      Voilà la petite vidéo :

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

                      A mon retour : je finis l'interface (me manque les cercles à voir avec la couleur & personnaliser le QCalendarWidget) + la connexion (login)

                      Puis j'attaque soit la RàPC, soit la traduction, soit l'attachement à la personne (avec une jolie formule), j'hésite encore ou la création d'histoires (Plusieurs chaines de markov ensembles vont marcher) il me reste d'ailleurs l'éditeur de texte qui prédit le futur (qui lui marche avec une chaine de Markov)

                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 juillet 2013 à 23:38:27

                        La génération d'avatar laisse à désirer... Tu pourrais le baser sur un système d'images composées et inspiré des préférences des utilisateurs. Par exemples: RORI choisi un style de background(rayures, barre oblique, unicolore, etc.), choisi une ou des couleurs couleurs pour le background, choisi une image ou une forme simple(silhouette de loup, silhouette lion, silhouette de dragon, carrée, losange, triangle, etc.), choisi une couleur pour l'image ou la forme et ajoute potentiellement un foreground. Et il faudrait aussi demander confirmation avant de changer l'avatar de l'utilisateur...

                        • 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".
                          27 juillet 2013 à 11:28:09

                          Il a l'air bien tentant ce projet ! A ton âge tu forces le respect ! Tu pourrais largement donner des cours x)

                          Je suivrais ça régulièrement, Rori m'a l'air assez aimable ^^ Par contre, la fonction vocale de Rori a disparu ou c'est simplement la vidéo qui la prend pas en compte (j'imagine dans ce cas un affichage texte+ transcription vocale) ? Je suppose qu'il n'est pas prévu de la commander à la voix type Ciri ? (Il faut avouer que sur PC, tout taper est pas gênant mais arrivé sur smartphone, c'est préférable de commander ça à la voix :) )

                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 juillet 2013 à 17:26:49

                            Salut à tous, je reviens de vacances (d'alsace... jolie région), donc je viens de voir vos messages

                            @charlesfire : En fait les scripts autour comme la génération ça reste du scripting est ce n'est pas le coeur du projet, mais j'en ferais peut être une plus jolie. Le but est que n'importe qui puisse ajotuer/modifier des scripts (plus tard, les scripts se génèreront seuls, ça marche déjà avec l'agenda). Je tenterais tout de même de faire de meilleurs avatars ;)

                            @Thain : Donner des cours de quoi X°, non je n'ai pas le niveau pour donner des cours et j'ai pas envie non plus ;).

                            Sinon oui dans la vidéo il n'y a pas la reconnaissance vocale car ça allait aussi vite à taper, mais elle existe (et puis j'avais peur que la reco foire en pleine démo, c'est pas encore fiable à 100%, et comme c'était la veille de mes vacances la vidéo fut réalisée en 5 minutes... c'était surtout pour montrer l'interface presque finie). Sinon, une version Android sera développée plus tard (d'abord le controle d'un local via BeagleBone (je commencerais en Septembre/Octobre ce point).

                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 juillet 2013 à 15:56:51

                              Nouvelle du jour :

                              Je viens d'entamer une partie importante pour l'apprentissage automatique : le générateur de regex !

                              En gros si je fais :

                              QStringListmakeRegexList;
                              makeRegexList.append("Rori es-tu vraiment énervé ou non?");
                              makeRegexList.append("es-tu énervé RORI?");
                              makeRegexList.append("tu es enervé en ce moment ?");
                              makeRegexList.append("es-tu énervé?");
                              makeRegexList.append("es tu franchement énervé quand je te demande ça?");
                              makeRegexList.append("Maintenant tu es enerve?");
                              makeRegex(makeRegexList);

                              En sortie j'ai : (es.tu|tu.es).{0,20}(é|e)nerv(é|e)

                              On va commencer simple et la fonction se développera ;)

                              Du côté mobile maintenant : J'ai trouvé une solution pour porter le tout sur Android sans peser lourd. J'ai juste un problème con, je bloque pour obtenir le code source d'une page web... c'est très con, mais comme Eclipse a l'air de planter toutes les 5 secondes, j'ai pas cherché plus loin et je commencerais cette partie plus tard (l'adt plante je peux plus rien faire et eclipse ferme, c'est très chiant), donc une version mobile sera combinée avec la version PC !

                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 août 2013 à 9:35:28

                                Juste pour dire que je suis avec beaucoup d'intérêt ton projet! :zorro:
                                • Partager sur Facebook
                                • Partager sur Twitter
                                L'homme est un automate naturel - Descartes XVIIème  *Plus qu'à cracker le code* | JSDZ@Toulouse !
                                  8 août 2013 à 17:35:51

                                  Merci pour ces commentaires de soutien, ça aide à avancer et ça motive

                                  Bon j'ai quelques nouvelles (dont une mauvaise).

                                  On va commencer par la mauvaise : 

                                  Je ne peux plus développer sur Android en ce moment, donc la version Android est repoussée (le jdk1.7 est bugué pour Fedora 19 et je n'ai pas envie de downgrade les versions juste pour ça, faudra attendre que le bug soit réglé) d'ailleurs j'en profite pour demander si quelqu'un développer sur Android, et qu'il voudrait bien faire un petit script à ma place (ça serait télécharger une page internet, et l'afficher dans un textview, si quelqu'un à le code, où j'attendrais que je puisse recommencer à développer).

                                  Côté avancement pour les regex, ça avance (j'ai réussi à sortir une première regex potable), j'ai juste un problème pour la gestion des pluriels et des verbes, mais bon, je trouverais une solution quand j'aurais le courage de me mettre sur le papier, là c'est les vacances X) 

                                  Par contre, j'ai énormément avancé sur tout ce qui est gestion de caméra ! En effet, 3 nouveaux scripts seront bientôt à disposition (après promis, je met le tout sur le git).

                                  Vous pouvez voir le premier ici : http://amarok1412.great-heberg.eu/codingDuSoir1.php (Il rend les personnes d'une photo anonyme, le code est basé sur un autre code trouvé sur Internet, j'ai presque rien eu à faire ici)

                                  Le second ici : http://amarok1412.great-heberg.eu/codingDuSoir2.php (pareil que le premier, mais la c'est direct depuis la caméra). Je commence donc sérieusement à réfléchir via la reconnaissance des personnes via webcam (ce qui serait cool)

                                  Enfin le troisième qui est le plus important (et sera sujet de "coding du soir, Bonsoir #05"), permet de controler la souris de son PC via son corps. En effet, vous l'avez sans doute vu, mais y a déjà la reconnaissance vocale implémentée dans RORI. Du coup, controler sa souris à distance, permet d'utiliser RORI à quelques mètres de son ordinateur sans problème. Par contre il faut un peu de pratique (j'étais pas trop à l'aise sur la vidéo de test XD).

                                  Lien de la vidéo : 

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

                                  Aidé par : https://github.com/abidrahmank/OpenCV-Python/blob/master/Other_Examples/multi_color_two_object.py (J'avais pas à réinventer la roue, juste modifier le code en conséquence, le code est bien documenté, j'ai presque rien fait en fait X), même s'il rajoute quelques étapes inutiles)

                                  En parlant de vacances, je pars camper à Vannes avec des amis ce week end, donc je ne vais pas coder. Mais dès que je rentre, je pense coder sur un module pour que RORI apprécie plus ou moins la personne (pour toujours plus d'intéraction).

                                  Cordialement, 

                                  AmarOk

                                  -
                                  Edité par AmarOk1412 8 août 2013 à 17:44:41

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    13 août 2013 à 18:05:48

                                    Me revoilà après un bon petit week end. Et vous voulez une très bonne nouvelle ? Je vous laisse deviner... petit indice :

                                    -
                                    Edité par AmarOk1412 13 août 2013 à 18:10:07

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      13 août 2013 à 22:03:34

                                      excellent ! merci de nous parler de ce que tu fais, avec autant de detail

                                      -
                                      Edité par Anonyme 13 août 2013 à 22:04:56

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 août 2013 à 9:33:44

                                        AmarOk1412 a écrit:

                                        Me revoilà après un bon petit week end. Et vous voulez une très bonne nouvelle ? Je vous laisse deviner... petit indice :

                                        tu a fait un script qui permet de te connecter a ton portable et de telecharger une photo de ton portable sur ton ordinateur ?:)

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          14 août 2013 à 15:24:24

                                          @s1pierro : ravi que le projet plaise ;)

                                          @Alban Favier : Bien tenté. En fait, c'est juste la partie connection au portable. Le screen c'était pour dire que j'ai commencé à développer la version Android de RORI. On peut depuis la version de RORI sur PC ouvrir la caméra (mais pas encore voir ou prendre de photo), ouvrir Internet, préparer un SMS (pas encore l'envoyer pour raison de sécurité), bientôt passer des appels. La connexion est encore à sens unique, mais dans les semaines qui suivent on pourra controler le Pc depuis le téléphone. 

                                          La question qui se pose c'est "Comment ça marche ?" :

                                          Pour la version Android, j'ai trouvé 3 solutions possibles :

                                          _ La version la plus réactive, mais la plus chiante niveau connection et poids de l'application : Recoder RORI entièrement pour Android et le faire tourner dessus. Un autre problème c'est qu'il faudrait refaire ça pour toutes les plateformes... Donc j'ai oublié.

                                          _ La solution de faire une application Android qui envoie des requêtes à un serveur et qui embarque les arborescences pour chaque plateformes (en gros les actions android restent sur le téléphone Android, les actions PC sur le PC). Peut être la plus simple en traitement, mais niveau connexion des plate formes ça aurait été chiant. 

                                          _ La solution que j'ai choisis, mais aussi la plus légère. RORI tourne sur un serveur avec toutes les arborescences sur le serveur (pour le moment mon PC). Le téléphone Android regarde en boucle une page précise (pour le moment qu'une fois, mais j'ai juste un timer à ajouter). Dès que la page change, elle exécute les actions demandées. Cette solution est légère (toutes les actions sont contenus en dehors de l'appareil) et permet de multiplier les plate-formes (Téléphone, PC, robots,...). Bien sûr, la multiplication des timers fait que cette solution est moins rapide (généralement < 1 seconde, mais on peut monter à plusieurs secondes pour des actions avancées) et il vaut mieux posséder une connection Internet (en Wifi illimité)

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            14 août 2013 à 16:06:58

                                            Ton projet m'impressionne beaucoup ^^
                                            C'est ce genre de bot que je cherché il y a quelques temps mais sans résulta xD 
                                            Je suis ton projet ;)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              14 août 2013 à 19:26:41

                                              Salut j'ai plusieurs question :)

                                              Depuis quand programme tu en python ? RORI est fait quand python ? Serieux se que tu fait m'impressionne faire sa en python doit te prendre longtemps :)

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 août 2013 à 22:58:19

                                                Merci. Sinon je programme depuis que j'ai un ordinateur (collège). Je suis en 2eme année post bac en septembre. En python depuis 1 an. Depuis quelques années entre les cours les associations et le personnel je fais beaucoup d'informatique. Depuis septzmbre dernier on va dire 10h/j (j'ai aussi une vie a coté mais des nuits assez courte). Non rori n'est pas exclusivement du python. Le coeur est en c++. Pour Android y a du java du shell du PHP et du python par exemple. La partie en python sert a lui donner des possibilités. Le plus important reste le coeur en c++ qui organise le tout. (Plus l'interface en c++ avec qt)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  16 août 2013 à 23:40:02

                                                  salut :) Pour ton système de contrôler ton ordinateur a partir d'un portable tu pour mettre le code sur ton "site" car nous expliquer ou développer sur d'autres OS que linus , je pense que ta pas que sa a faire ;) (quand tu aura fini le programme )

                                                  je te remercie d'avance pour avoir partagé un telle projet :)

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    18 août 2013 à 5:03:15

                                                    J'ai cru comprendre que tu utilise Qt... Qt vas être porter sur android, donc si RORI est codé avec Qt, ça devrais pas être trop difficile de le porter sous android, non??
                                                    • 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".
                                                      18 août 2013 à 18:19:15

                                                      @charlesfire  : En effet la partie centrale est basée sur Qt. Mais l'architecture ne serait pas supportée en intégralité par un terminal Android et c'est bien plus destiné à un serveur (c'est le but. Un serveur central et de multiples terminaux, PC, téléphone, domotique, robots, ...). Je vais donc juste réaliser une application cliente pour les terminaux Android (il faudra donc le serveur derrière, qui est pour moi la solution la plus simple/pratique). Pour cette application j'ai soit la solution classique du Java, soit comme tu le dis de reprendre Qt (Qt est déjà porté sur Android. Il existait Necessitas avant, mais c'est officiel depuis Qt 5.1.0 qui est la version actuelle).

                                                      La version android marche assez bien pour le moment. Pour le moment, je peux écrire "ouvre la caméra du téléphone" depuis le PC ou depuis le téléphone pour que ça marche (ouvrir internet et 2/3 trucs du genre).

                                                      Je peux aussi (depuis aujourd'hui), controler mon PC depuis mon téléphone (sur Android, le clavier à direct un contrôle vocal pas trop merdique, et ça c'est cool). Seul problème c'est que je ne peux pas envoyer plus d'un mot (le caractère espace bug dans l'url, je règle ce problème demain -> EDIT : Réglé). 

                                                      Il me reste donc à faire avant la prochaine vidéo de démonstration qui sera accompagné de la prochaine mise à jour du github

                                                      _ Régler l'encodage de l'url <-EDIT : bon en faite ça je viens de le faire

                                                      _ Implémenter une synthèse vocale <- EDIT : OK, elle est même plus compréhensible que sur PC

                                                      _ ordre ligne par ligne <- EDIT : OK

                                                      _ N° Ordre (Pour éviter de répéter) <- EDIT : OK

                                                      _ Quelques actions de plus <- EDIT : OK

                                                      _ Rendre le code propre et lisible (ce n'est pas le cas pour le moment). <- EDIT : OK

                                                      C'est à dire beaucoup, mais la base marche :D

                                                      -
                                                      Edité par AmarOk1412 21 août 2013 à 18:28:01

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        23 août 2013 à 11:12:20

                                                        Bonjour à tous ! 

                                                        Voilà quelques nouvelles de la semaine :

                                                        Côté application Android, elle est prête à une démonstration, (la voix est beaucoup plus agréable que sur PC). J'ai voulu réaliser la vidéo ce matin, mais... mon hébergeur a décidé de me refuser toutes mes requetes sur mes 2 fichiers... donc ça sera pour plus tard (oui faut vraiment que je me prenne un vrai serveur + nom de domaine).

                                                        Côté fonctionnalité de démonstrations, j'ai décidé de relier 2 API. L'API de wikimédia qui est juste extrement puissante, ainsi que celle de http://openweathermap.org/.

                                                        Les prochains point que je vais réaliser (même si je doute que ça soit pendant les vacances) :

                                                        Je pense encore en relier une de traduction, après je laisserais les futurs utilisateurs les faire.

                                                        Je vais surement partir sur la RàPC (J'ai très envie que RORI résolve des problèmes de maths de plus en plus complexes, mais on va commencer simplement)

                                                        Implémenter un module pour que RORI possède des préférences (couleurs/apparence physique/forme), on pourra imaginer plein de scripts depuis ;)

                                                        Pour l'interface PC, ajouter des options de paramétrages.

                                                        Voilà ;)

                                                        (Petit bug pour l'api wikimédia, je vais essayer de régler ça)

                                                        EDIT : GIT A JOUR ! : https://github.com/AmarOk1412/RORIV2

                                                        Et pour les questions du langage

                                                        1.  C++ 95.6%
                                                        2.  Python 2.9%
                                                        3.  Other 1.5%

                                                        -
                                                        Edité par AmarOk1412 23 août 2013 à 17:59:22

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          24 août 2013 à 9:25:34

                                                          Très impressionnant. À quand la reconnaissance du HTML ? XD

                                                          • 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