Le blog de Nicolas Ruiz

Aller au contenu | Aller au menu | Aller à la recherche

mardi 30 novembre 2004

Créer une Intelligence Artificielle : pour quelle utilité ?

Avant d'essayer de simuler ou de recréer une quelconque intelligence, il faut savoir ce que l'on veut imiter : nous l'avons vu dans le billet précédent, les clés de l'IA commencent par une certaine approche de l'IP puis de l'IH. Pourtant, dans le cas d'un chatterbot par exemple, toutes les constantes sont-elles nécessaires ? Un chatterbot se contente en effet « simplement » de répondre à des questions, pas de voir ni de sentir. Seule la constante « Son » pourra donc être utilisée mais dans ce cas-là, cela équivaudrait à une entrée de caractères (et si reconnaissance vocale il y a, ce ne sera pas l'IA à proprement parler qui s'en occupera mais un de ses modules : nous considérerons donc que l'IA entre véritablement en jeu lorsqu'elle reçoit une chaine en paramètre qui équivaut à une requête) ; cela rejoint donc un exemple très utilisé en IA car libéré de toutes ces contraintes : le test du téléphone. Au téléphone, on ne voit pas notre interlocuteur, on ne le sent pas, on se contente de recevoir et d'envoyer des requêtes. Pour le chatterbot, c'est pareil : il est aveugle et ne peut sentir, tout ce qu'il peut recevoir reste une requête extérieure (clavier ou micro). Concevoir une IA avec ce « simple » cahier des charges (dans ces termes) reste donc la voie à explorer pour des applications grand public à moyen terme (car les applications gourmandes en sécurité ne tarderont pas à vouloir voir et reconnaître leur environnement et leurs utilisateurs).

Passons maintenant au point important de ce billet, celui qui lui donne son nom : l'utilité de l'IA. A quoi cela servirait de créer une autre intelligence ? Et bien, outre que cela pourrait nous donner des points de vue interessants, les systèmes d'IA serviront à résoudre des problèmes (ce qu'ils font déjà) mais surtout, ils passeraient pour une nouvelle évolution de l'espèce humaine : l'intelligence évoluée. La puissance des ordinateurs évoluant continuellement, leur capacité de stockage aussi, on peut espérer d'ici un siècle avoir affaire à des systèmes d'IA très performant, voire plus performant qu'un être humain dans un domaine de prédilection. Les systèmes pourraient donc aider l'homme à évoluer et à trouver des solutions que nous n'aurions pas trouver avant des siècles. Le deuxième scénario, plus chaotique, serait de dire que les robots terrasseraient la race humaine pour devenir les maîtres de la Terre. Un tel scénario a peu de chances de se produire même si l'arrivée de l'IA pourra réveiller l'envie de pouvoir de certains.

L'utilité de l'IA ne différencie donc pas des autres inventions de l'être humain : l'aider, l'assister, être à son service pour que ce dernier puisse évoluer (dans n'importe quel sens).

lundi 29 novembre 2004

La première alpha Seline 1000 en fin de semaine

Cela fait quelques jours que je n'ai pas posté mais il faut savoir que le travail passe avant le blog, ce qui explique ce silence de 3 jours.
Cependant, il fait apparaître une bonne nouvelle : l'alpha de Seline 1000 sera lancée à la fin de cette semaine (4/12/2004) ! Il ne s'agit pas d'une béta car la version qui va être distribuée ne contient pas toutes les fonctions que j'ai annoncé dans un précédent billet.
De même, la publication de cette alpha est pour moi un geste très égoïste, n'allez pas croire que c'est pour vous faire plaisir. En effet, comme je viens de le dire, c'est le travail avant tout, et publier cette alpha va me permettre de mieux travailler, recueillir les premières remarques, pourquoi pas les premiers rapports de bugs (malgré le terme "alpha", cette version est testée fortement pour être utilisable en production) et voir fleurir pourquoi pas le premier pré-test. J'ai bien dit le premier : en effet, un seul journaliste aura affaire à cette version, je ne tiens pas à voir fleurir sur le net des tests d'une version non finalisée où les rédacteurs oublient trop vite que cette version n'a rien de finale (et puis, tester une version qui n'aura pas grand-chose à voir avec la version finale n'aura pas grand interêt à mes yeux).

Comment tester l'alpha ?
- Il suffit simplement de m'envoyer un e-mail et de disposer d'une version de Seline 600. Contrairement à la béta en effet, les gens sans licence ne sont pas acceptés. Les places ne sont pas limitées en nombre mais dans le temps : Samedi 4/12 à 12:00, les inscriptions seront closes.

Enfin, voici une capture de deux autres "smartobjects", à savoir le traitement de texte (qui peut lire les PDF) et le calendrier :

jeudi 25 novembre 2004

Les clés de l'Intelligence Artificielle

Avant d'essayer de programmer quoi que ce soit en IA, il faut observer l'existant et s'en inspirer. Toutes les technologies importantes (avions, automobiles) ont procédé de cette façon, il est nécessaire de les suivre dans cette voie.

L'intelligence primaire (IP) :

Les animaux peuvent être considérés comme des êtres ayant plus ou moins une intelligence primaire. Certains sont étonnants mais ne se hissent en aucun cas à notre niveau ; ils entreront aussi dans cette catégorie. Si nous analysons de visu l'IP, on constate que les animaux, en général, font la jonction entre trois constantes : - Les sons - Les images - Les odeurs

Les deux premières constantes sont les plus importantes. La troisième n'apporte qu'un complément d'information et ne peut être utilisé que peu de temps avant l'action (même l'être humain a du mal a se rappeler d'une odeur bien précise, notre vocabulaire étant trop limité pour cela : ce facteur de souvenir entrera donc uniquement en jeu lorsque l'odeur se manifestera). Le cumul de ces constantes n'est pas obligatoire pour déclencher la réponse de l'animal (l'action), mais plus il y aura de constantes en jeu, plus l'information sera vérifiée et entraînera donc l'action adéquate. Il est même intéressant de noter que si l'une de ces constantes entrent en jeu, elle peut entraîner les autres avec elle (un son déclenche le souvenir d'une image et donc d'une action). On peut donc schématiser simplement l'intelligence primaire par :


La ou les actions pouvant être des mouvements, des sentiments ou tout se qui pourrait résulter de ces constantes. Pour comprendre facilement ce concept, prenons un exemple concret et simple : le chien. Le chien réagit à son maître à des sons ou des gestes, en fonction de ce qu'il a appris. Si on dit au chien de se coucher, les constantes associées à ce son sont des images où on voit le chien être couché, ce qui lui arrive s'il ne le fait pas (douleur) et ce qui lui arrive s'il le fait (récompense). Le chien réagit aussi en termes d'espace : s'il entend une porte et qu'il n'y a pas son maître avec lui, les constantes associées au son de la porte seront l'image de cette porte, sa position dans l'espace et la raison (probable) du déclenchement de tout cela : son maître rentre à la maison : le chien sera donc capable de l'accueillir.


Il y a comme cela des dizaines d'exemples et ils doivent constituer une base à un système d'IA. En effet, de simples associations comme nous venons de le voir permettent une grande polyvalence et cache une grande complexité.

L'intelligence Humaine (IH) :


L'IH est bien plus complexe que l'IP. Bien sûr, nous résonnons en terme d'images, de sons et d'odeurs mais le fait de posséder un langage (complexe) et une connaissance commune (contrairement aux animaux, nous pouvons apprendre autrement que par nous-mêmes, par notre mère, ou par notre ADN : nous avons des encyclopédies et une histoire J) nous oblige à entrer de nouveaux paramètres? de très nombreux paramètres. Si nous vivions à même la nature, en petits groupes, sans avoir de contact avec une civilisation, l'IH serait probablement quasiment identique à l'IP. Mais le fait est que nous vivons entre nous, que nous n'avons pas besoin de chasser pour survivre et que la loi de la jungle ne s'applique plus (dans le sens premier du terme). L'essentiel de nos communications se fait donc avec nos semblables, ces derniers possédant (semble-t-il) les mêmes facultés. L'action (qui peut être un mouvement, un sentiment, ou une réponse dans un langage complexe) ne se déclenche donc plus par trois mais par quatres constantes, dont la plus importante, le langage, possède des sous catégories. Le langage est en effet composé de mots et résulte de connaissances (sinon, il n'y aurait pas de langage, c'est une condition sine qua none) : la constante « Langage » sera donc activé (s'il elle est activable, il se peut en effet que l'on ne comprenne pas ce qui se dit) par la relation Mots-clés ET connaissances, ces dernières s'activant dans les deux sens : - d'abord dans le sens de celui qui envoie la requête (il faut qu'il sache de quoi il parle) - ensuite dans le sens de celui qui va formuler une réponse à cette requête (il faut qu'il est les connaissances requises pour y répondre : dans le cas contraire, soit l'action n'est pas activé, soit elle entraîne une autre requête (dans le sens inverse) avant d'être activé (« C'est à moi que tu parles ??? ») soit elle débouche sur une réponse négative (mais cela reste une réponse correcte)). La suite est identique à l'IP mais à des degrés différents : nous ne possédons pas la même expérience que les animaux et comme je l'ai souligné, nous avons l'avantage de tout savoir sur nos aïeux (et par la même, d'en savoir plus).

mercredi 24 novembre 2004

Définir l'Intelligence Artificielle

Il est difficile de donner une définition claire et exacte de l'intelligence artificielle tant que l'on arrive pas à définir l?intelligence elle-même : pourtant, c'est le cas, puisque entre autres, on n'arrive même pas à la mesurer. Les tests du QI sont en effet loin d'être juste. Cependant, dans un souci d'avancée, on pourrait définir l'intelligence comme le fait de posséder la conscience de soi par rapport au monde qui nous entoure ainsi qu'une une certaine logique et d'appliquer cette dernière, d'en déduire des réponses qui feront avancer de nouveau cette logique. Par logique étant défini la faculté de penser et de sortir des idées sensées, c'est-à-dire admises par la majorité des gens utilisant ces idées et régissant la société à une époque donnée.

L'exemple est facilement détournable mais reste dans la plupart des cas juste. De toute façon, d'aucune façon on ne pourra sortir de définition de l'intelligence tant qu'on n'aura pas exactement compris ce qui se passait dans nos têtes ; pour définir l'intelligence artificielle, il faut donc regarder autour de nous.

Dans la vie de tous les jours, le fait de parler avec une autre personne revêt une certaine forme d'intelligence : l'intelligence artificielle peut donc être définie comme le fait de se trouver devant une entité artificielle (un ordinateur), de lui parler et de recevoir des réponses en rapport avec la question et qui auraient pu être formulé par une autre personne (même si cet ordinateur donne ces réponses par rapport à des conditions et non pas parce qu'il « pense » que c'est une bonne réponse). Un test existe d'ailleurs pour cela : le test du Turing : imaginé par la personne du même nom dans la seconde moitié du 20ème siècle, il consiste, pour simplifier, à mettre une personne devant un terminal, celle-ci devant deviné si l'entité qui répond à ces questions est un homme ou une femme. Il a été détourné au profit de l'intelligence artificielle pour tester les programmes simulant l'homme ; le test est simple : placer un homme devant un ordinateur et lui demander de dialoguer. Il ne sait pas avec qui il dialogue, soit une machine, soit un homme. Le but est de faire la distinction entre ces deux entités. Si le « cobaye » n'y arrive pas, c'est gagné : l'ordinateur aura passé le test du Turing avec succès.

Qu'on se rassure, ceci n'est encore jamais arrivé. Un des rares chatterbot (robot de discussion littéralement) des plus performants actuellement, ALICE, remporte effectivement des prix mais n'arrive pas à imiter vraiment l'humain. Elle repose en effet sur une gigantesque base de données où toutes les questions possibles et inimaginables sont inscrites ainsi que leurs réponses respectives. Mais ce système est un cul-de-sac : non seulement, il va devenir très lourd au fil du temps mais surtout on remarque qu'Alice tourne en rond quand elle ne sait quoi répondre : en bref, elle est incapable de réellement apprendre, ce qui n'en fait pas un véritable « agent intelligent ».

Car, actuellement, on ne programme pas réellement de systèmes doués d'intelligence artificielle. En effet, la plupart des programmes actuels sont bridés, incapables de progresser. Ils ne peuvent apprendre sans que leur créateur le décide. A ce moment-là, on ne possède alors que d'une base de données inaltérable, un comble ; imaginez-vous avec une base de données dans votre entreprise de ce type : elle serait aussi inutile que l'annuaire gardé depuis 10 ans ! Complètement dépassé, désuet et inutilisable dans une industrie qui va aussi vite que celle de l'informatique.

Nous avons donc une simili-définition de ce qu'est l'intelligence artificielle : un système qui apprend et qui simule la vie. Reste à savoir désormais comment mettre cela en oeuvre, d'un point de vue concepteur et utilisateur et cela afin d'arranger les deux camps.

lundi 22 novembre 2004

Evi, l'interface (quasi) finale

Voici donc une capture de l'interface presque finalisée de Evi. En plus des icônes et du Smart Desktop, Evi pourra accueillir des objets interactifs comme une horloge, un lecteur média (compatible avec les listes de lecture de la médiathéque), vos tâches, la console, etc.

samedi 20 novembre 2004

Galerie : de HAL 9000 aux robots de SONY :



HAL 9000 (pour Heuristic ALgorithmic Computer) apparut dans 2001, l'odyssée de l'espace, de Stanley Kubrick et Clark. Il possédait sur Terre son double, SAL 9000 et, dans le scénario original, s'appelait Athéna et possédait une voix féminine. Dans « 2001 », HAL décida de détruire tous les membres de l'équipage car une de ses règles (faire régner une grande transparence dans l'information) entrait en paradoxe avec le but ultime de la mission (dont seul lui et les membres cryogénisés connaissaient la finalité), à savoir trouvé le troisième monolithe sur Io (un satellite de Jupiter).


Les robots de Honda, désormais très célèbres pour leur habilité et surtout le fait qu'ils se déplacent avec deux jambes (ce qui nécessite un centre de gravité assez haut)



Plusieurs modèles d'AIBO (pour Artificial Intelligence roBOt) de SONY, du moins au plus récent. Le second, plus "agressif" et destiné principalement à la surveillance, eut un succès mitigé. Le troisième modèle, sorti il y a peu a donc corrigé ces défauts...



Le dernier robot sorti des laboratoires de SONY : le QRio. Haut de 35cm, il devrait pouvoir avoir plus de fonctions que les AIBO. Pas de date de sortie annoncée.

vendredi 19 novembre 2004

Le paradoxe des journalistes et des clients

En ce début d'année, quand fut disponible la version 325 de Seline, seuls 2 mois passèrent avant la mise-à-jour (350). La version 600 arriva ensuite fin Août. Devant les nombreux e-mails de journalistes qui n'avaient pas le temps de tester les différentes versions de Seline, un dispositif avait été mis en place pour cette dernière version, à savoir disponibilité 1 mois auparavant pour ces derniers. Et surtout, un étalement du planning qui annonçait la future version 800 mi-décembre au lieu de début novembre, comme annoncé dans la roadmap modifiée.
Le temps a passé et la version 800 a été abandonné, au profit d'une future version 1000 prévu pour mi-2005. Tout le monde devait être content sauf que...

Sauf qu'un sondage envoyé hier à tous les utilisateurs de Seline et dont les premiers résultats arrivent cet après-midi montrent que cette nouvelle fréquence de tests ne plait pas du tout. A la question 43 "Quelle devrait être, selon vous, la fréquence des mises-à-jour de Seline ?", la majorité des utilisateurs demandent une nouvelle version par trimestre (60%). Les 30% restants demandent une mise-à-jour par mois ou tous les deux mois, enfin, les 10% restants sont plus sages et n'en demandent qu'une tous les six mois.



Seline 1000 est prévu 11 mois après Seline 600. C'est donc trop long pour tous les utilisateurs ; voici donc les deux options :
- Sortir Seline 1000 plus tôt que prévue (Février 2005 étant la date butoire) sans pour autant la brider dans certaines de ces fonctionnalités.
- Sortir une version de Seline intermédiaire, comme une version 900 par exemple.

Qu'en pensez-vous ?
Dans tous les cas, une béta-test devra être effectuée au plus tard fin Décembre.

jeudi 18 novembre 2004

Reconnaissance vocale, Bluetooth et TabletPC : le trio gagnant

Depuis que Seline comprend le langage courant, une des questions les plus fréquemment posées est "Est-ce qu'elle dispose de reconnaissance vocale ?"
La réponse est Oui et Non. Oui car elle dispose d'une reconnaissance vocale par mot-clé. Non par elle est en anglais uniquement. La version 1000 de Seline devrait proposer une reconnaissance vocale continue (elle peut comprendre des phrases complétes). Seline n'utilisera ni plus ni moins que les API de Dragon Naturally Speaking, à mon avis le meilleur logiciel de reconnaissance vocale sur le marché.

Le souci actuellement reste l'équipement "lourd" que cela génère. Un micro-casque n'a jamais rendu beau et les fils qui l'accompagnent sont destinés à vous faire tomber par terre plus qu'autre chose. Une des pistes explorées est donc le casque Bluetooth (BT).
Un casque BT permet en effet de s'affranchir de fils et surtout reste discret, donc utilisable même en réunion. Hélas, mes précédents tests sur une HP TabletPC TC1000 furent catastrophiques, le son est vraiment mauvais, le taux de reconnaissance est proche du 0 absolu et le docteur Christopher J. James, webmaster du site http://tc-one-thousand.com/ m'a confirmé cela (il avait la même machine).
Le seul espoir résidait donc dans l'attente de la sortie d'un casque BT spécifiquement adapté à la reconnaissance vocale. Ceux-ci sont prévus, j'ai pu en voir mais ne peut en dire plus (NDA, quand tu nous tiiiiiiiiiiiiiens). Reste à savoir quand vont-ils sortir et surtout à quel prix (ca va donner).
Toshiba, à qui on doit la M200 (TabletPC) qui dispose de BT, vient de sortir une mise-à-jour pour que ces portables disposent du profil audio via BT. Sans grand espoir, j'ai donc réitérer ma tentative de reconnaissance vocale via oreillette. Quel ne fût mon étonnement lorsque celle-ci s'avéra très bonne ! On atteint sans souci le taux que l'on a avec un casque micro filaire classique, ce qui montre la polyvalence de l'oreillette. De ce fait, le problème avec le TC1000 était sûrement dû à de mauvais pilotes mais surtout à un CPU Transmeta mauvais dans le domaine.

Seline est donc désormais (et dans sa version 1000 béta) un logiciel parfaitement en adéquation avec la plate-forme TabletPC : reconnaissance vocale, possible via BT, reconnaissance de l'écriture, via Ink et ergonomie pensé pour le stylet, compréhension du langage courant et outils de communication (visioconférence, surf, mail, chat, groupware, etc.)


La TabletPC, couplé à Seline et à la reconnaissance vocale, deviennent, sans rire, un trio vraiment gagnant...

Article associé : la reconnaissance vocale sur TabletPC : http://www.tabletpccorner.net/revue_40.html

mercredi 17 novembre 2004

Le tableur sous Seline

Pour continuer avec le thread des fonctionnalités (http://www.hypranet.org/forum/viewtopic.php?t=341&postdays=0&postorder=asc&start=0), je vous propose aujourd'hui une capture du tableur de Seline 1000 :


Ce tableur sera compatible Excel et pourra générer des fichiers xls. Pour le reste, rien de révolutionnaire si ce n'est une utilisation facilitée et des options d'IA intégrées.

Ma boite de réception

Voici le genre de boite de réception que je trouve tous les jours :

S'il vous plaît, je sais que vous m'écrivez pour Seline, essayez d'être un poil plus explicite sur le sujet (mention très bien au dernier). Personnellement, j'essaie, quand j'envoie un mail, de mettre un objet du type "[Thème] Descriptif" comme par exemple "[Seline] Communiqué".

Pas compliqué la vie ;)

Mise au point sur les fonctionnalités de Seline

Etant donné l'ouverture du blog, je me permets de rappeler les fonctionnalités de Seline 1000 :

- IA améliorée
- Agents 3D
- Synthèses vocales avancées
- GPS
- Domotique
- Nouvelle interface (Dock+Nouveau Panel+Nouveau Design)
- Médiathéque améliorée
- Lecteur de News SelineNews (RSS et autres)
- Nouveau système Evi
- Système de starter à distance
- Indexation du disque dur interrogeable en langage courant
- Reconnaissance vocale externe interfaçable
- Chat amélioré et plaçable dans le PIM
- Système de cryptage software et hardware intégré
- Ajout de nouveaux services : programmes TV, cinéma, etc.
- IA capable de téléphoner et de répondre
- Contrôle total du PC possible par l'IA en fonction d'évènements
- Tableur compatible Excel intégré
- Gestionnaire de projets intégré
- Traitement de texte intelligent, capable de stocker les textes en fonction de leur contenu
- Client Mail
- Système de profils faisant changer l'IA : jour/nuit/début de travail/rendez-vous, etc.
- Compatibilité XHL et XML (?)
- Calendrier amélioré
- Synchronisation Outlook/Téléphones portables/PocketPC/Palm
- Nouvelles fonctions de secrétariat
- Lecture à voix haute des pages Internet
- Possibilité de contrôler les boutons "Requête" et "Compréhension" à la voix
- Possibilité de créer des dossiers de connaissances, activables ou désactivables en temps réel, exportables et échangeables via le groupware de Seline
- Toutes les applications standards diposent d'un nouveau bouton permettant la lecture de l'application (rendez-vous, carte de visite, texte, etc.)
- Seline est disponible en espagnol, anglais et français
- Seline dispose d'un système de visio-conférence
- Seline est compatible PocketPC

Je vous invite à lire le forum Seline pour pouvoir visualiser les questions des participants.

Le forum

Lancement du blog

Bienvenue sur le blog de Seline Software. Dans ce blog vous y retrouverez l'actualité concernant le développement et l'avancement de Seline. Les évolutions du produit ainsi que les mises à jour. Bonne lecture :-)