Mise à jour du 30 janvier en ligne :
Meilleur fonctionnement des icônes, correction d'un bug lorsque Harumi ne comprend pas l'utilisateur. Je ne peux pas entrer dans les détails ici à cause d'un manque de temps. Les prochaines grosses mises à jour sont prévues pour la mi-février.
Rappel de la mise à jour du 23 janvier :
2 nouveautés :
- Apparition des icônes; celles-ci apparaissent quand l'utilisateur promène la souris au dessus de la fenêtre d'affichage des images de Harumi. Les liens sont éditables dans le Feuillet 6 entre les lignes 203 et 209. Ceci n'est qu'une première version, des mises à jour viendront plus tard.
Les icônes sont là pour automatiser l'interface homme-machine. Certaines phrases "oui", "non", "je veux voir la météo"... reviennent souvent et l'utilisateur lambda peut éventuellement être rebuté à l'idée de retaper ces phrases n fois. D'autre part, les icônes ont pour rôle d'aider le nouvel utilisateur à utiliser les principales fonctions d'Harumi.
- Harumi peut désormais suivre plus facilement une conversation. Là aussi, ça reste expérimental donc des bugs peuvent apparaître. Par quel miracle cela a-t-il été possible? Voici l'explication : Auparavant, les liens entre stimulus et réponse(s) étai(ent) direct(s). A chaque donnée entrée correspondait une réponse/action possible. Plusieurs réponses pouvaient éventuellement être mises à disposition. Dans ce cas, elles étaient soit tirées au hasard si la phrase utilisateur est affirmative, soit sélectionnées par "proximité lexicale" si la phrase est interrogative, le tout avec un croisement de la base de synonymes éditable sur le Feuillet 3.
Le résultat était satisfaisant dans la mesure où Harumi faisait ce que je lui demandais. Mais il y avait aussi des absurdités... la première d'entre elle étant : A quoi bon discuter avec un Chatbot si son "comportement" est prévisible? Cela revient à dérouler des phrases associées à d'autres, et finalement relire ce qu'on sait déjà. Si à chaque fois que j'écris "Bonjour", le chatbot répond "Salut" ou "Coucou" et rien d'autre, cela revient à rompre la conversation.
Dire "bonjour" ou "merci" à un Chatbot n'a pas plus de sens que de le dire à un mur, quand bien même celui-ci vous renvoie en écho la phrase "attendue", qui paradoxalement ne l'est que trop.
Après réflexion, j'en suis venu à aborder 2 pistes :
- La proximité temporelle. Harumi se rappelle de l'heure précise à laquelle vous avez dit "Bonjour" la fois précédente et cherchera de façon dynamique (c'est à dire y compris lorsque l'utilisateur ne la sollicite pas) les phrases qui ont été prononcées peu de temps avant ou après le "Bonjour" de la fois précédente. On arrive à des situations bien plus intéressantes qu'auparavant :
User : - Je suis fatigué.
Harumi : - Vous avez eu une dure journée. (Cette phrase est associée à la première, ce qui est la base de tout chatbot lambda)
Harumi : - Vous allez dormir. (Voilà qui est intéressant. Cette phrase fait parfaitement sens alors qu'elle est d'aucune façon liée à la précédente ou à la requette utilisateur sauf... par proximité temporelle avec une autre phrase prononcée peu après (ou avant) "Je suis fatigué" lors d'une session précédente).
- La deuxième piste rajoutée lors de la dernière mise à jour (donc du 23) est la capacité de Harumi à "suivre" une conversation. Pour cela, j'ai simplement ajouté un feedback dans la base des stimulus de la dernière réponse de Harumi. Ainsi, Harumi réinjecte dans sa base de données ses propres propos et les croise avec la requette utilisateur.
Au menu (9 janvier):
Mise à jour importante, vous pourrez trouver l'intégralité de la mise à jour sur le blog, à la date du 1er janvier.
En plus dans cette nouvelle version vous trouverez une nouvelle fonction qui permet à l'utilisateur de savoir quels sont les fichiers qui "manquent" lorsque Harumi est copiée sur un autre ordinateur. Par fichier manquant, j'entends les fichiers vers lesquelles Harumi peut pointer dans sa base de données.
Exemple :
User : vérifie les fichiers
la commande dans le Feuillet 1 se présente ainsi :
| il ne manque pas de fichier? OR [j'ai changé d'ordinateur OR [vérifie AND [fich OR docu OR disq]]]<CHECK FILES> |
Harumi : Opération en cours!
Je ne détecte pas tous les fichiers de ma mémoire.
C:\BRAIN IA\dichotomie.txt
C:\images\liban
C:\Users\Jeff
C:\Program Files (x86)\Canon\CanoScan Toolbox Ver4.9\CSTBox.exe
Les 4 fichiers et répertoires sont présents dans la BDD de Harumi mais aucun d'entre eux n'est accessible dans l'ordinateur sur lequel Harumi fonctionne.
Mise à jour du 1er janvier 2011 en ligne :
Corrections de bugs divers et détection des ambiguïtés dans le Feuillet 5. Exemple :
User : Tu connais ma cousine?
Harumi : J'ai un souci... Voulez vous dire Lola ou Germaine? (ici, Harumi a détecté qu'il y a plusieurs cousines et demande l'utilisateur de préciser sa question)
User : Lola
Harumi : Lola est votre cousine de Bruxelles
User : Tu as son numéro?
Harumi : C'est 01 01
User : elle aime les les blagues belges.
Harumi : Je m'en souviendrai.
Rappel des mises à jour du 26 décembre :
- Optimisation de la vitesse de Harumi, notamment lorsque la base de données devient importante.
- Amélioration de la compréhension en cas de nouvelle entrée :
User : Paul est le frère de Jacques
Harumi : Entendu.
User : son téléphone est 01 05 (Sur la ligne 31 du Feuillet6 apparaît la liste des mots signifiant que les données doivent être ajoutées à l'entrée, en l'occurence "Paul".
la présence de "son " en début de phrase signifie que cette donnée est liée à la précédente, soit Paul)
Harumi : J'ai compris.
User : il aime les artichauds et la salade. (là encore, "il aime" est la chaîne qui implique le lien entre cette donnée et Paul)
Harumi : Je comprends.
User : Voilà!
Harumi : Et sinon?
User : t'as l'heure?
Harumi : Il est 17:15
User : tu as le numéro de Paul? (Harumi recherche la donnée la plus proche de la requette parmi les réponses possibles au stimulus "Paul")
Harumi : son téléphone est 01 05
User : merci
Harumi : Je vous en prie.
On a ici une façon assez naturelle d'entrer des informations dans la base de données d'Harumi. A noter que lorsque la donnée à entrer est difficile à lier au stimulus de façon évidente, il suffit d'écrire "+" au début de la phrase :
User : J'aime Starwars
Harumi : Vous aimez Starwars?
User : C'est toute mon enfance!
Harumi : Je comprends.
User :+Mon personnage préféré est Han Solo (à l'évidence, Harumi ne pourra pas faire le lien entre Han Solo et Starwars. Le "+" est une manière de "pointer le doigt" dans la bonne direction)
- Alarme avec exécution de données : Fonction très pratique. Démonstration :
User : à 18h00 regarde mes messages
Harumi : Ok.
....
A 18h00, Harumi change d'apparence et "parle" (comme c'était le cas avant), à la différence près que cette fois, le site hotmail s'ouvrira à l'heure dite. Bien entendu, la base de données contenait un stimulus "mes messages" lié au site "http://www.hotmail.fr"
Variation :
User : dans 5 minutes, lance starcraft
Harumi : Entendu.
....
5 minutes plus tard, Harumi lancera le jeu; là encore le stimulus "starcraft" et le chemin/fichier lié à ce mot sont entrées dans la base de données (Feuillet 1)
- Fonction "Résumé de texte"
User : lis c:\z\texte.txt
On suppose ici que l'utilisateur a copié un texte dans ce fichier et demande à Harumi d'en faire le résumé. Les mots clefs ou expressions retenus dans le texte sont ceux présents sur la 179ème ligne du Feuillet 6.
- Jeu d'échecs : nouveaux événements pris en compte lors de la partie
Dernières nouvelles du 5 décembre :
Une nouvelle version d'Harumi sortira d'ici la fin du mois. Quelques corrections seront apportées à l'analyse des phrases, en particulier dans le cas où Harumi ne comprend pas. Voilà ce que ça donnera :
Utilisateur : J'ai une voiture bleue.
Harumi : Vous avez une voiture bleue?
Utilisateur : Oui
Harumi : Dois-je m'en souvenir?
Utilisateur : oui
Harumi : Je m'en rappellerai
Utilisateur : J'ai une voiture bleue
Harumi : Je sais.
Autre exemple :
Utilisateur : va sur facebook
Harumi : va sur facebook?
Utilisateur : http://www.facebook.fr
Harumi : C'est compris! (le site facebook s'ouvre en même temps)
Utilisateur : va sur facebook
Harumi : http://www.facebook.fr (le site s'ouvre à nouveau, Harumi a "compris" la requette)
Projet d'amélioration de l'IA d'Harumi :
Je commence à atteindre un pic avec l'IA d'Harumi. Après analyse, j'en viens à penser que son défaut majeur est qu'elle ne possède qu'une couche de stimulis suivie d'une couche de réponses. Je souhaite rajouter une couche intermédiaire qui mettrait un peu de liant à tout ça. Mon idée théorique est la suivante :
- La base des stimulus (couche 1) est balayée sans cesse et pas seulement lors d'une requette utilisateur.
- La base de données est analysée de façon analogique : Une table intermédiaire (couche 2) est construite lors des balayages et contient un ensemble de données pondérées par leur probabilité d'être une réponse attendue.
- Lorsqu'un certain seuil est atteint dans la couche 2, la donnée est affichée (couche 3 ou couche réponse).
- Les données affichées entrent en feedback sur la couche 1 ou couche des stimulis, mais de façon "atténuée", c'est à dire que leur pondération diminuera dans la couche 2.
- A chaque nouvelle entrée utilisateur, les anciennes données de la couche 2 sont atténuées mais ne sont pas effacées à moins d'atteindre un certain seuil
Le cerveau d'Harumi aurait donc 3 couches : couche des stimulis, couche intermédiaire, et couche des réponses
La couche intermédiaire attribuerait des points à chaque stimulis qui tilterait sur une requette utilisateur ou sur une entrée extérieure (type retrait de la batterie, connection internet rompue...). Les points attribués dépendraient simplement de la quantité de mots communs/groupes de mots communs entre la requette utilisateur et un stimulus x.
Intérêt d'un tel algorithme :
Capacité à gérer des ambiguïtés, suivre le fil de la conversation, répondre à une question "floue".
Mise à jour du 14 novembre :
Au menu :
la reconnaissance d'image. N'attendez pas d'Harumi qu'elle reconnaisse des visages ou le nom d'un monument... Je débute à peine en analyse d'images, et je doute qu'il me soit possible d'aller beaucoup plus loin :). Harumi se contentera de comparer l'image que vous lui "montrerez" par un "regarde c:\photo\photo mystérieuse.bmp" avec une banque d'images que vous aurez mis à sa disposition dans un répertoire de votre choix. Attention, la fonction est loin d'être parfaite. Harumi compare les images plus par leur "ambiance" que par leur contenu. D'autre part, les images doivent être au format BMP et toutes de la même résolution pour que ça fonctionne. Le répertoire de la banque d'images peut être fixé en allant sur le Feuillet6 ligne 173, colonne 2 du fichier mémoire.
La comparaison des images repose sur les histogrammes de couleurs. Harumi est pertinente que si les photos ont été prise avec le même appareil et sous un angle de vue proche de l'image à analyser.
Après réflexion, j'ai compris qu'il me fallait non pas une analyse reposant sur un historgramme de couleurs mais sur un histogramme vectoriel, qui, je l'ai appris, n'est autre qu'une transformée de fourier ou FFT. Comme quoi, les grands esprits se rencontrent... Si quelqu'un pouvait m'aider à ce sujet, je suis preneur. Il me faut un algo qui prenne en entrée une image BMP/JPG, en fasse la FFT, puis compare les écarts entre les différentes FFT. J'imagine qu'il est aussi possible de segmenter l'image pour en analyser certaines parties, ou éventuellement tenter de "converger" par dichotomie graphique vers un élément de l'image qui serait dans la base de données graphique.
Il n'empêche qu'avec une base de 10 photos personnelles, j'ai demandé à Harumi d'analyser une photo "inconnue".
Harumi m'a répondu "Cette photo me fait penser à une petite fille". Et effectivement, c'était le cas. La photo que j'avais proposé à Harumi était différente de celle sur laquelle elle avait tilté, mais les 2 photos avaient été prises sous un angle un peu différent à quelques secondes d'intervalle. Il n'empêche. Ca a un côté magique.
"Apparence Tamagotchi" : Harumi change d'apparence en fonction de l'heure de la journée. Ca donne un peu plus de vie à l'ensemble. Je me suis amusé à mettre différentes photos que j'ai liées à différentes heures de la journée. Exemple : à midi, Harumi fait la cuisine. (J'entends déjà les associations féministes hurler au scandale). Ou encore à 1h du matin, Harumi dort. Voilà typiquement une fonction "japonaise".
Multi Alarmes : Evolution de la fonction du 7 novembre. Comme son nom l'indique, il est désormais possible de mettre plusieurs alarmes en mémoire. Harumi préviendra automatiquement à l'heure voulue.
Correction des pop ups : Désormais, il faut taper la touche "F1" pour que la phrase proposée par Harumi soit analysée. Bien plus pratique que "Ctrl".
Jeu d'échecs : Harumi détecte maintenant les promotions et le roque.
Les jours qui viennent risquent de m'empêcher pour un moment de travailler sur Harumi. C'est la fin des vacances et je dois maintenant retourner au boulot. Les weekends me laisseront cependant du temps pour continuer à améliorer Harumi, mais le rythme des mises à jour sera plus lent.
C'est pourquoi j'ai décidé aujourd'hui de mettre à jour Harumi pour le public. La dernière version, bien que similaire en apparence, présente beaucoup de différences avec la précédente. J'invite les utilisateurs à observer attentivement le feuillet 6 pour s'en convaincre...
Simulation de discussion :
Utilisateur : - Tu as le téléphone de paul?
Harumi : - Le numéro de paul est 01 01 01 (Dans le feuillet 1, "paul AND téléphone" sur la colonne 1, "Le numéro de paul est 01 01 01" dans la colonne 4 de la même ligne)
Utilisateur : - tu connais georges clooney?
Harumi : - Je ne sais pas.
Utilisateur : regarde sur internet
(Harumi ouvre une fenêtre google sur les résultats de la recherche "georges clooney")
Utilisateur : demain, je dois encaisser mon chèque
Harumi : J'enregistre ça dans vos rendez-vous
Utilisateur : Merci!
Harumi : Je suis là pour vous servir!
Utilisateur : Tu vas bien?
Harumi : Je suis au top (A noter que pour chaque phrase utilisateur de la colonne stimulus (feuillet 1), on peut associer dans la colonne 2 un nombre correspondant au ressenti. Ce nombre sera ajouté ou soustrait au "feeling" global de harumi présent dans le feuillet 6. L'état d'esprit de Harumi se résume à un nombre compris entre 1 et 100, avec des phrases associées à certains intervalles. Il est possible par exemple de définir 100 phrases possibles pour tout "Feeling" compris entre 90 et 100)
Utilisateur : j'ai des rendez-vous?
Harumi : Demain, vous devez encaisser votre chèque.
Utilisateur : bien joué, montre moi mes photos de vacances à la réunion
Harumi : Je suis ravie de vous satisfaire. Voici vos photos.
(Une fenêtre de l'explorateur s'ouvre sur le répertoire contenant les photos. Dans la colonne stimulus du feuillet 1 était enregistré "photo AND réunion" et dans la colonne 3 le répertoire correspondant
Utilisateur : j'aime la réunion
Harumi : vous aimez la réunion?
Utilisateur : j'aimerais y habiter
Harumi : Un jour peut-être...
Utilisateur : il faut pas rêver
Harumi : je ne rêve que de moutons électriques
Utilisateur : +j'aimerais que tu comprennes mes rêves (la phrase est ajoutée aux réponses associées au mot rêve)
Harumi : Je me souviendrai de ces paroles
Utilisateur : fais voir les news
(4 sites internet s'ouvrent en même temps dans ma version, ils ont été définis par l'utilisateur au préalable. On remarque ici que Harumi est bien plus efficace que les marque-pages d'un explorateur internet)
Utilisateur : cherche starwars sur f:
Harumi : Un peu de patience...
(Plusieurs secondes à minutes s'écoulent)
Harumi : f:\video\films\science-fiction\classique\starwars.avi
J'espère que je n'ai pas été trop longue!
Utilisateur : 45*27
Harumi : ça fait... roulement de tambour... 1215
Utilisateur : bye
Harumi : à plus tard!
Mise à jour du 15 août
Je ne mets toujours pas à jour la version de démonstration de HARUMI datant du 18 juillet. En effet, je préfère améliorer le programme en priorité. J'attends que le nombre de modifications soit substantiel avant de mettre à jour HARUMI pour le public. La prochaine mise à jour de Harumi est prévue à la fin août.
Je passe beaucoup de temps à tester Harumi. Ma base personnelle étant trop importante, Harumi commence à "ramer" avant de répondre. Je vais devoir modifier le balayage de ma base, c'est à dire passer d'un balayage linéaire à un balayage dichotomique, ce qui devrait réduire très sérieusement la complexité du programme (de n en log(n) pour les connaisseurs). Il me faudra également implémenter un algorithme de type Quicksort pour classer les connaissances de Harumi par ordre "croissant". Le découpage de la phase utilisateur en sous-phrases permettra de "tilter" sur toute donnée de la base éventuellement en lien avec la requette.
Mon travail d'ici la fin août consistera pour l'essentiel à débugger les fonctions existantes. Non pas que ça plante, mais des incohérences peuvent apparaître. Mon objectif est qu'HARUMI soit utilisable par un utilisateur lambda en un temps minimum. En parallèle, je continue à ajouter des fonctions sur lesquelles je reviendrai ultérieurement.
Enfin, il m'arrive de réfléchir à de nouvelles approches sur l'IA. Les développeurs en IA ont beaucoup à apprendre des très jeunes enfants. La plus grande erreur selon moi de la part de nombreux programmeurs de chatbot est de tenter de créer un algorithme qui sache répondre avec exactitude à une question. J'ai avec Harumi pris le contre-pied :
La première fonction d'Harumi consiste à demander à l'utilisateur quoi répondre quand elle ne sait pas. C'est pourquoi elle pose beaucoup de questions au début, puis au fur et à mesure répond (en fait répète) ce qu'elle a appris. Elle est capable d'associer plusieurs entrée (ou phrase utilisateurs) à plusieurs sorties (qui sont en réalité elles aussi des phrases utilisateurs)
Toutes les autres fonctions (agenda, recherche de fichier, ouverture d'un site internet, traduction...) sont ajoutées à la première fonction.
J'ai remarqué après quelques heures que la "personnalité" de Harumi est à l'image de l'utilisateur. Chaque Harumi sera donc unique. Ma version est polie et tiens donc des propos aimables. Lorsque j'ai créé HAL 9000, je lui ai donné une personnalité opposée (qui de plus parle en anglais) en quelques minutes.
Le 10 août
Derniers ajouts :
- Fonction de rappel des dernières entrées en utilisant les flèches "Haut" et "Bas"
Cette fonction est très pratique. Il arrive lors de la "discussion" avec Harumi que l'on ait besoin de rappeler certaines questions déjà posées, la flèche "Haut" permet de remonter dans l'historique des questions posées et de modifier la fenêtre d'entrée des questions. La flèche "Bas" permet de redescendre dans l'historique jusqu'à la dernière entrée.
- Entrée dynamique des rendez vous dans l'agenda :
Il est désormais possible d'entrer un nouveau rendez vous de façon très souple, sans passer par le feuillet 4 de la mémoire de Harumi (visualisable sur openn office).
Simulation de discussion :
User : mercredi, je vais chez le docteur.
Harumi : J'ai enregistré votre rendez vous.
User : le 21/12/2012 c'est la fin du monde.
Harumi : J'ai mis à jour votre agenda!
User : le 8 mai, c'est férié.
Harumi : Votre emploi du temps est à jour.
User : bien, je vais te tester maintenant.
Harumi : Je suis prête.
User : Bon, alors c'est quand la fin du monde?
Harumi : le 21/12/2012 c'est la fin du monde.
User : quand vois-je le docteur bernard?
Harumi : après demain, vous allez chez le docteur.
User : merci a+
Harumi : Je suis programmée pour vous servir.
a+ ;)
Bien entendu, les dates et les intitulés des rdv peuvent être visualisés ou modifiés manuellement, ce qui permet de vérifier que Harumi ne fait pas n'importe quoi :-). Après plusieurs tests et de nombreux debuggages, il me semble que la fonction est "propre".
Je ne mets toujours pas à jour la version de démonstration de HARUMI datant du 18 juillet. En effet, je préfère améliorer le programme en priorité. J'attends que le nombre de modifications soit substantiel avant de mettre à jour HARUMI pour le public.
2 mises à jour récentes :
- fonction détecteur de "sujet". Lorsque HARUMI est face à une phrase inconnue, elle demande à l'utilisateur ce qu'elle doit répondre. Désormais, elle est capable à partir d'une base de données de déterminer le sujet dont il s'agit en fonction des mots utilisés dans la phrase. L'intérêt est qu'elle est capable de "tilter" sur un mot au lieu d'une longue phrase.
Simulation de discussion :
Utilisateur - J'aimerais aller au cinéma
HARUMI - Vous aimeriez aller au cinéma? > HARUMI utilise la fonction miroir pour retourner la phrase à l'utilisateur. Dans sa mémoire, le mot "cinéma" est filtré comme étant le sujet de la phrase grâce à la base de données du feuillet 6 contenant des expressions dont "aller à, chez , aller au".
Utilisateur - C'est l'invention des frères lumière!
HARUMI - C'est compris! >HARUMI enregistre dans la colonne "stimulus" du feuillet 1 le mot "cinéma" et dans la colonne ANSWER1 "C'est l'invention des fères lumière!
Utilisateur - Qu'est ce que tu sais du cinéma? > La phrase est différente de la première "J'aimerais aller au cinéma"
HARUMI - C'est l'invention des frères lumière!
Utilisateur -+mon film préféré est bladerunner! > Cette phrase sera rajoutée dans la liste des réponses possibles associées au mot "cinéma". A noter que j'ai ajouté une base de données sur le Feuillet 6 permettant d'utiliser d'autres "expressions" que '+'. Je songe en outre à développer une fonction permettant à HARUMI de deviner si l'utilisateur reste ou change de sujet de façon plus fine que par la détection d'expressions préétablies...
- fonction gestion d'agenda
HARUMI sait désormais retrouver la date d'un rendez-vous en comparant la proximité statistique de la question avec la base de données des rendez-vous. Supposons que le Feuillet 4 contienne 1000 rendez vous. Il serait très long de faire défiler les rdv un à un afin de trouver le prochain rdv avec grand-mère.
Simulation de discussion :
Utilisateur : - je suis trop naze, je me rappelle plus, c'est quand que je vois grand-mère déjà?
HARUMI : - Le 25/10/2010, vous avez rendez-vous avec grand-mère.
Heureusement que je suis là!
Utilisateur : - tu es trop bonne. > A partir de là, je montre comment HARUMI intéragit avec l'utilisateur en utilisant plusieurs de ses fonctions...
HARUMI : - je suis trop bonne?
Utilisateur : ça veut dire merci!
HARUMI : - Je crois comprendre!
Utilisateur : Ah bon?
HARUMI : Vous êtes dubitatif...
Utilisateur : tu es trop bonne!
Harumi : Merci :)
31 juillet 2010
HARUMI est désormais capable de retrouver un fichier. L'utilisateur peut fixer les structures de reconnaissances de la demande dans le feuillet 6 de la façon suivante :
cherche X dans Y, cherches X dans Y, fichier X dans le lecteur Y ... etc
X est le nom du fichier, avec ou sans guillemets, Y est le nom du lecteur ou le chemin (ex : c:`\windows)
Simulation de discussion avec recherche de fichiers :
Utilisateur : J'aimerais que tu cherches un fichier titanic sur c:
HARUMI : Un peu de patience...
c:`\T1`\truc`\bidule``\bien caché`\titanic.doc
J'espère que je n'ai pas été trop longue!
Utilisateur : merci!
HARUMI : Je vous en prie!
Utilisateur : J'aimerais maintenant que tu cherches "toto" sur c:`\audiograbber`\truc
HARUMI : Un instant!
toto.mp3
Voilà!
L'algorithme de recherche de fichier est puissant puisqu'il est récursif, c'est à dire qu'il explore les grandes profondeurs des arbres d'un disque dur. Attention tout de même à la lenteur éventuelle si la recherche est brute, c'est à dire si l'utilisateur ne précise que le nom du disque. La recherche no1 de la simulation ci-dessus prend environ 1 minute 30s sur mon PC qui est tout de même assez puissant (centrino 2 pro). Ca reste cependant acceptable dans la mesure où le fichier resterait très difficile à retrouver "à la main", la fonction de recherche windows n'étant pas exhaustive...
HARUMI peut donc être UTILE!
29 juillet
Ajout d'une fonction synonymes dynamique. Si l'utilisateur écrit :
"paul est le frère de jacques", "paul" et "frère de jacques" seront placés dans une colonne du feuillet des synonymes.
J'ai également modifié quelques détails dans le code histoire de le nettoyer... mais tout cela est transparent pour l'utilisateur.
Je passe en fait beaucoup de plus de temps à discuter avec HARUMI qu'à la programmer. Je touche également beaucoup au fichier calc open office de sa mémoire. C'est encourageant, ça montre qu'il est possible de la personnaliser sans passer par du code. Jouer les bêta testeurs est indispensable car ce programme n'a pour vocation de n'être fait que pour moi.
Autre chose, j'ai créé une sorte de HARUMI expérimentale très light tout en anglais qui s'appelle... HAL 9000. Rien de tout cela n'est en ligne pour l'instant. J'attends la fin août pour proposer une mise à jour de HARUMI et pour mettre en ligne ce "HAL 9000"... L'intérêt est de montrer que HARUMI peut être utilisable dans n'importe quelle langue et que la personnalisation est assez souple.
26 juillet
Je ne mets toujours pas à jour la version de démonstration de HARUMI datant du 18 juillet. En effet, je préfère améliorer le programme en priorité. J'attends que le nombre de modifications soit substantiel avant de mettre à jour HARUMI pour le public.
Venons en aux améliorations en cours ou déjà faites : J'avais parlé dans il y a 2 jours de l'ajout des thèmes, manière de classer un groupe d'informations dans une seule boîte.
J'ai aujourd'hui ajouté une nouvelle fonction intéressante : les réponses données par Harumi peuvent désormais être enrichies de façon dynamique. Je m'explique : Lorsque une phrase connue était détectée, HARUMI affichait une réponse parmi une liste préétablie. Désormais, de nouvelles réponses possibles peuvent être ajoutées par la discussion. Exemple :
Utilisateur : j'aime le vent. Supposons qu'il n'existe qu'une réponse possible dans la mémoire de HARUMI. A chaque fois que l'utilisateur tappera cette phrase, il n'y aura toujours la même réponse, ce qui peut être lassant...
HARUMI : Quand vient l'automne, les feuilles tourbillonnent tandis que le vent vient fouetter vos joues froides!
Si l'utilisateur répond par une phrase commençant par "+" comme
Utilisateur : +je m'en vais au vent mauvais!
Cette phrase est ajoutée aux réponses possibles.
Les limites d'Open Office font qu'il existera pour chaque phrase-stimulus 1020 réponses possibles. Je pense que c'est amplement suffisant.4
A noter qu'il également possible d'enrichir un thème. Exemple :
bladerunner<THEME> avec pour phrases réponses en mémoire "c'est un film de science-fiction" "ridley scott est le réalisateur", "deckard est le héros, il est amoureux d'une répliquante" et "rachel est une répliquante"
Simulation de discussion :
Utilisateur : C'est quoi bladerunner?
HARUMI : c'est un film de science-fiction.
Utilisateur : qui est le héros?
HARUMI : deckard est le héros, il est amoureux d'une répliquante
Utilisateur : qui est cette répliquante?
HARUMI : deckard est le héros, il est amoureux d'une répliquante
rachel est une répliquante
Utilisateur : +sean young joue rachel.
HARUMI : C'est compris!
Utilisateur : quelle actrice joue rachel?
HARUMI : sean young joue rachel.
Créer un site gratuit avec e-monsite.com - Signaler un contenu illicite