Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fil de discussion général - Chatbot FR - [français] #130

Open
moz4r opened this issue Dec 5, 2017 · 16 comments
Open

Fil de discussion général - Chatbot FR - [français] #130

moz4r opened this issue Dec 5, 2017 · 16 comments

Comments

@moz4r
Copy link
Contributor

moz4r commented Dec 5, 2017

No description provided.

@moz4r moz4r changed the title Fil de discussion Chatbot - [français] Fil de discussion général - Chatbot FR - [français] Dec 5, 2017
@moz4r
Copy link
Contributor Author

moz4r commented Dec 5, 2017

@Sebchko
Copy link
Contributor

Sebchko commented Dec 5, 2017

Hello.
Je ne sais pas ce qui cloche mais, apparemment la recherche wiki a un soucis chez moi...
bref, un petit print screen vaux mieux qu'un long disours.

capture

Alors docteur, c'est grave?

@moz4r
Copy link
Contributor Author

moz4r commented Dec 5, 2017

mmmm , pas grave ! wikidata a changé un petit peu ses méthodes pour l'api, on a corrigé très récemment . Tu as gagné une mise à jour de myrobotlab.jar ( gaffe ça va écraser tes aiml )

@Sebchko
Copy link
Contributor

Sebchko commented Dec 5, 2017

Merci! Il a contracté une petite régression des scripts python au passage mais rien qu'une bonne petite piqûre de rappel n'a pu rétablir.
Il est maintenant au top pour continuer à apprendre

@Sebchko
Copy link
Contributor

Sebchko commented Dec 7, 2017

Bon assez assez travaillé en sous-marin.
Afin que les choses soient claires, j'ai découvert AIML en même temps qu'InMoov du coup il y a certainement mieux à faire que ce que je propose en terme d'optimisation. Je suis ouvert à toutes vos suggestions!

Histoire que la chose puisse être discutée, voila ce que je suis en train de faire sur les AIML FR:

  • éventuellement ré-indentations des fichiers et fix des fonctions (cf utilities)
  • nettoyage des fichiers
    - ajouts d'accents, correction orthographe, grammaire, conjugaison, suppression de données
    personnelles d'ancien botmaster,...
    - agrégation de catégories en utilisant # XXX # au lieu de plusieurs catégories avec *
  • classement par sujet/fonction en récupérant les catégories ad-hoc dans les fichiers alphabétiques. (ex:
    genre, métier, couleur favorite,...)
    -->user-profil , bot-profile (à venir), gestion de listes ( à venir)...pour le reste je n'y ai pas encore
    songé
  • création de sets lorsque c'est possible (nationalité, pays, genre,color...) pour fermer les possibilités de
    réponses à une question précise.
    - voire même dans un second temps pour regrouper des catégories qui sont traitées de la même
    manière (par ex les favoris , sur l'exemple de bot-profile du jeux d'AIML en anglais).
  • utilisation de "condition" pour spécifier une réponse différente pour certaines caractéristiques d'une même catégories. (je suis avocat -->bonjour maître)
  • rédactions de nouvelles réponses et de nouvelles déclarations (cf infra)
  • ajout de commandes en fonction de l'inspiration (confirmation extinction par ex).
  • comparaison avec le chatbot en langue anglaise et intégration de fonctions (contact, rsvp,...)

Pour l'instant les changements les plus visibles ont été introduits par la création de user-profile qui reprend des caractéristiques que l'utilisateur déclare en répondant aux questions du bot. Une partie de son contenu a été pompé sur le fichier "profile" (que je compte bien à terme assécher) et par-ci par-là dans le jeux de fichiers disponibles. Pour le reste, j'ai aussi ajouté un peu de contenu.

Le fichier est organisé +/- dans l'ordre dans lequel les questions apparaissent dans "questions.aiml"
Un espèce de sommaire se trouve en tête du fichier pour que les futurs robot-psychologues puissent s'y retrouver à moindre frais. (ce qui est l'argument principal du classement par sujet selon moi)

A priori, les déclarations spontanées sont traitées dans la mesure où la variable peut être déclarée.
(Ces caractéristiques sont stockées dans le fichier "username".predicate)

Le fichier user-profile est flanqué de user-profile-srai qui reprend les déclarations de l'utilisateur pouvant être dirigées sur une déclaration de caractéristique.
Aussi, pour plus de clarté, le fichier that-questions a été formaté de la même manière que les deux nouveaux.

Je compte débuter le même processus sur les "préférences/caractéristiques" du bot sur base d'un fichier "properties.txt"contenant plus de caractéristiques qu'actuellement.
Bref, il y a encore de quoi s'amuser pendant plusieurs semaines (mois)!

Pour la suite voila quelques idées en vrac que j'ai envie de développer pour le chatbot de InMoov dans l'esprit assistant personnel (et si elles existent déjà tant mieux!) :

  • (bien sur) à terme ajouter une couche de neurones artificiels en lien avec le chatbot. Je n'y connais encore rien du tout...du coup les avis et idées sont les bienvenus mais je me dis qu'un chatbot correct pourrait servir de base à l'entraînement du réseau.

  • récupérer les mails, donner l'expéditeur et le sujet; effacer/lire ceux que l'utilisateur désire.

  • envoyer des mails, tweet,...

  • gestion d'agendas, de rappel, alarme, etc (rappelle moi de sortir la pizza du four dans 10'; va chercher
    le bouquet de fleur quand ma femme rentre, note mon rendez-vous )

  • pour le fun donner l'horoscope sur demande (apparemment cette fonction à un jour existé sur un des
    bots sources)

  • récupérer la météo à plus d'un jour (c'est possible avec openweathermap mais comme le service est
    encapsulé...je ne sais pas encore y faire grand chose.)

  • donner l'heure sur un autre fuseau horaire (quelle heure est-il à NYC)

  • possibilité pour le bot de gérer une conversation avec deux interlocuteurs sur la même session
    (reconnaissance de la voix? et par extension qu'InMoov puisse reconnaître qqu à la voix, attribuer des
    "droits" en fonction (admin) et adapter son comportement (éviter les blagues salaces devant les petits
    cousins)

  • et d'autre qui m'échappent maintenant

  • et celles qui vous font envies

J'ai cru comprendre que la crew qui a débuté le nettoyage l'année dernière s'est essouflée... sauf contre-ordre lorsque je serai passé par la case présentation sur le forum, j'ai l'intention de lancer un appel à volontaires pour éditer du contenu.
En espérant avoir été clair,
Enjoy

Seb

@moz4r
Copy link
Contributor Author

moz4r commented Dec 7, 2017

Yo ! y a toujours mieux à faire, le principal c'est de faire ! et pour un gars qui débarque tu assure grave.
Essouflement sur le contenu du chatbot car la pauvre crew a beaucoup trop de choses a regler dans d'autres services, et les aiml ça peu faire peur au 1er abord , c'est vraiment cool que tu sois la pour relancer la machine !
Bonne idée, pour toutes tes idées surtout "rappel, va chercher
le bouquet de fleur quand ma femme rentre" et les neurones, obscure domaine fascinant a explorer

Au plaisir

image

@hairygael
Copy link
Contributor

hairygael commented Dec 9, 2017 via email

@Sebchko
Copy link
Contributor

Sebchko commented Dec 9, 2017

Hellow!
une petite update du pull request (il reste encore pas mal de taf...bref)

@hairygael j'ai un peu chipoté en rapport à ton envie de switch entre les langues et j'ai un embryon de solution qui fonctionne chez moi mais je doute que ça fonctionne avec toutes les options envisageables.
Si tu veux y jeter un oeil c'est dans "patch-1" sur https://github.com/Sebchko/inmoov/tree/patch-1

Il y a 5 fichiers à changer (configparser, _inMoov.config, chatbot.py, translator.aiml et traduction.aiml)
Ma langue par défaut est le français du coup il y qques petites modifs à faire
1/ _InMoov.config ajouter MyVoiceType2FR="lavoixfrdetonchoix" (j'ai mis mon fichier en ex)
2/ ChatBot.py l59 supprimer "2EN"
l65 MyVoiceType -->MyVoiceType2FR
3/ConfigParser l57 EN --> FR

Ensuite il suffit de dire (enfin chez moi...) SPEAK IN FRENCH et tadaaa
Pour revenir en Anglais PARLE EN FRANçAIS
En gros ça relance le chatbot en Anglais après avoir sauvé les fichier AIML, changé de voix et changé de langue...
ps: c'est qui Bonifet?

@hairygael
Copy link
Contributor

Bon alors grosse confusion.
Je t'ai confondu avec notre webmaster qui s'appelle seb également.

@Sebchko
Copy link
Contributor

Sebchko commented Dec 26, 2017

Salut salut,
j'avais un peu cafouillé avant de poster mon dernier message (supprimé depuis) le restart w/o aimlif fonctionne au poil!

Je voulais soulever un point à discuter:

il reste des vieux srai d'un chat bot source du genre "APPJOIE" ou "APPMOQUERIE" , à priori il me semble que cela servait à animer un visage pour le chatbot... (cf apparence.aiml pour toute la série.)
bref en gros, je me demandais si il y avait des projets pour ces fonctions?

Il est probablement possible de renvoyer certaines "expressions" vers des gestures, existantes ou à créer.
Ça vous tente? ou est-ce qu'on abandonne ce genre de fonctions pour le moment?

@moz4r
Copy link
Contributor Author

moz4r commented Dec 27, 2017

coucou bonne idée ça serait fun de pouvoir gerer quelques emotions de base !
J'ajouterais aussi un de ces 4 une librairie d'effets vocaux ( rires, soupirs ... ) comme on avait dans acapela. mais marytts n'est pas encore interfacé comme les autres tts pour gerer les fichiers audio.

@hairygael
Copy link
Contributor

hairygael commented Dec 27, 2017 via email

@Bruno-F
Copy link
Contributor

Bruno-F commented Jan 2, 2018

Salut à tous,
Pour rebondir sur le post de Sebchko, je suis volontaire pour filer un coup de main en échange d’explications claires et limpides sur la tâche à effectuer.
J’ai besoin de mieux connaître AIML et aurai qq questions avant de pouvoir être productif.
@+

@hairygael
Copy link
Contributor

hairygael commented Jan 3, 2018 via email

@Sebchko
Copy link
Contributor

Sebchko commented Jan 14, 2018

Salut salut,

désolé du long silence, j'avais d'autres affaires sur le feu.Bref...

@Bruno-F Je ne sais pas si tu à déjà regardé ce que tu pourrais faire pour améliorer le chatbot en français, qui peut sembler obscur au premier abord mais tu verras ce n'est pas si compliqué que ça.

A mon avis le plus simple et le plus agréable au départ est d'ajouter des réponses ou d'étoffer celles qui existent déjà en corrigeant au passage les diverses erreurs (orthographe, conjugaison, indentation, ponctuation,...) que tu rencontres.
Par exemple tu peux ajouter des blagues, des variantes aux réponses sur la couleur des cheveux,...
Si tu te sens chaud, car ça demande un peu de réflexion, il est maintenant possible de demander la météo par période de 3h.
Du coup tu peux ajouter des requêtes du genre: "quel temps fera t-il demain après midi?". Le truc c'est qu'il faut faire un calcul en fonction du moment de la requête...et envoyer la période (en heure divisé par 3 en gros ) entre la requête et la prévision voulue.
Va voir comment ça fonctionne dans weather.aiml et si ça te parle...enjoy.

Tu peux aussi si cela t'amuse, simplement parler avec le bot et observer la réponse et sa construction dans le terminal. Si certaines entrées renvoient vers la réponse "je suis encore en développement" ou ses variantes. Tu peux ajouter la catégorie qui te sembles nécessaire à l'emplacement opportun et construire la réponse attendue. Pour débuter tu peux les lister et me contacter, on essayera de faire ça ensemble.

Passer son temps à passer en revue les fichiers pour les corriger est sans doute le meilleur moyen pour en avoir assez vite plein le dos...mais bon faudra y passer.
Pour ce dossier par exemple, il est possible de supprimer pas mal d'entrée. Par exemple les différentes variantes d'une catégories pour capter l'orthographe approximative de certains qui ne sont plus vraiment nécessaires dans la mesure où la reconnaissance vocale fait le travail.
Aussi, il y une multitude d'entrée et de réponse qui ne servent- à mon avis - à rien car vraiment pourrie ou obsolète qui peuvent soit être simplement supprimées (genre: "connais tu netscape?" ... ) ou si tu peux y trouver un sens, les réécrire dans un français compréhensible. (sauf si je n'ai pas encore découvert comment une entrée en français à peu près correct peut se voir martyrisée au point de ressembler à ce charabia par l'algo... je suspecte plutôt un bon passage par un programme de traduction automatique. Moz si tu connais ce Graal, je suis tout ouï )

Histoire de pas surcharger ce fil, si tu le désires on peut communiquer par mail ou sur le forum, je me ferai un plaisir de te raconter les quelques trucs que j'ai appris en AIML et développer un peu plus. Dans ce cas je t'expliquerai aussi le chantier que je me suis assigné, et si ça te botte on peut travailler ensemble dessus.
Bref fais signe, si tu veux plus de précision.

Enjoy et joyeux non anniversaire à tous.

ps: allez je vous le dis quand même, je me suis commandé une imprimante 3d c'est pourquoi j'ai délaissé InMoov pour m'initier à Blender, me goinfrer de tuto, et tutti quanti.

@Bruno-F
Copy link
Contributor

Bruno-F commented Jan 19, 2018

Hi,
OK suis prêt à entrer dans le dur, on gagnera en efficacité par tel.
Suis joignable au O6 (trente sept) O5 24 (quatre-vingt seize)
Faudrait trouver le support idéal pour les (nombreuses) questions/réponses à venir...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants