Version d'archive
- Ce site est en lecture seule. Certains liens dynamiques peuvent ne pas fonctionner correctement.
Le projet ERic
Le fil des nouvelles sur l'avancement de mon projet ERic (Entity-Relationship interactive calculator).
La dernière version stable ERic 0.2g :
- Vous pouvez consulter la documentation en ligne
- Vous pouvez récupérer l' archive zip de la dernière version
- Vous pouvez également récupérer la version SVN d'ERic
- Rejoignez le forum des utilisateurs d'ERic
Les derniers commentaires
« Plus récents 1 2 3 4 5
Mise à jour mineure de 0.2b vers 0.2c (ECO étendue, plus d'unités SI, pas de nouvelle fonctionnalité).
SpiceGuid il y a plus de 11 ans
Je viens de m'inscrire
À la mailing-list cg@conceptualgraphs.org
En parcourant la (maigre) archive de la liste je constate la quasi-absence de marché US pour du logiciel entités/relations, c'est typique du domaine de l'informatique appliquée, le buzzword c'est ce dont tout le monde parle mais que personne n'utilise.
Au début je pensais qu'il n'y avait qu'un simple problème d'absence interface graphique et de capacité multi-utilisateurs mais apparemment la résistance/réticence va bien plus loin que ça.
En recoupant avec d'autres sources d'information j'en conclus que :
- quand il n'y a presque pas de marché US pour de l'IA alors il n'y en a pas du tout dans l'UE
- l'acteur majeur du marché c'est Google qui fait du "web sémantique" ou du moins qui prétend qu'il va bientôt en faire que d'ailleurs il en fait déjà, que c'est pour demain mais qu'aujourd'hui c'est déjà demain et que d'ailleurs son nouveau langage s'appelle Google Noop heu non en fait il s'appelle Google Go ... aux dernières nouvelles il s'appelle Google Dart ... (mais ça n'est pas le même, c'est un nouveau ++ mieux bien)
- le "web sémantique" c'est simplement du web
2.0, 3.0, ++ ce que vous voulez - la faiblesse (économique) de mon approche vient de ce qu'il faut alimenter la base manuellement, de préférence avec du personnel qualifié en informatique/linguistique, qui sait ce qu'il fait. or les personnes qui savent ce qu'elles font sont trop rares et trop chères. le coût est trop immédiat, le gain d'échelle est trop lointain ou trop difficile à chiffrer.
- d'où l'approche Googlesque (je spam le net avec des robots collecteurs et j’agrège pour les nuls puis je vends du trafic aux annonceurs)
Au total c'est assez démotivant
SpiceGuid il y a plus de 11 ans
Préfixes / Suffixes
ERic possède déjà certaines relations destinées à élargir le champ d'usage de certains concepts. Par exemple ERic n'a pas besoin du suffixe -ment parce que ce suffixe sert à construire des adverbes. Or ECO possède déjà la relation Manner , en français façon ou manière , qui sert précisément à construire des adverbes.
Par exemple on ne peut pas dire "agir illégalement", mais on peut dire :
// agir de façon illégale [Act] Manner [Illegal]
On ne peut pas dire "un chat peureux", mais on peut dire :
// un chat sujet à la peur [Cat] Temper [Fear]
Autant que possible ERic + ECO remplacent les préfixes / suffixes par des relations appropriées qui font sens pour lui et pour son algorithme de subsomption.
C'est tout le principe du modèle Entités/Relations, on créer un langage artificiel aussi riche que possible mais avec un vocabulaire aussi réduit que possible comparativement à un langage naturel.
Les unités de mesure
Il y a là une exception. Sans doute parce que le système de mesure n'a rien d'un langage naturel puisqu'il a été conçu après des siècles de sciences. J'ai étudié la proposition de Sbirematqui pour que 1000 Meter = 1 KiloMeter et je l'ai amendée pour la rendre compatible avec le reste du système à l'aide d'une extension minimale .
Modification n°1
Micro , Kilo ,... ne sont pas des préfixes de Meter , Watt ,... mais des suffixes des nombres réels. Par exemple au lieu d'écrire 1.e3 on peut écrire 1. Kilo , au lieu d'écrire 1.e-6 on peut écrire 1. Micro . Donc essentiellement il n'y a plus du tout d'extension, il n'y a que la possibilité d'écrire en lettres ce qu'on pouvait déjà écrire en chiffres. Or pas d'extension du tout c'est justement l'extension que l'on recherche.
Modification n°2
Il y a exclusion entre les nombres réels et les autres référents. En particulier il n'y a plus de risque d'avoir à comparer des réels avec des entiers. Les concepts ordinaires acceptent tous les référents ordinaires (dont les entiers) mais pas les réels. Au contraire, les unités de mesure sont déclarées à l'aide de crochets et d'un point comme [.Meter] , [.Gram] , [.Watt] et leur référent ne peut être qu'un nombre réel précédent l'unité au lieu de suivre le concept. Ainsi on a [1. Kilo Meter] mais on ne peut pas avoir [1. Kilo Apple] dont on ne saurait pas s'il s'agit d'1Kg de pomme ou bien de mille pommes.
[Apple 1000] // mille pommes [Apple] Weight [1. Kilo Gram] // 1Kg de pomme
Modification n°3
Toute unité a un super-type qui indique de quoi l'unité est la mesure.
super-type [Fruit] Apple. // n'est pas une unité super-type [Power] [.Watt]. // est une unité de puissance
C'est essentiel pour pouvoir utiliser une proposition quand on ne connaît pas la quantité exacte.
// La puissance requise par le convecteur temporel de la DeLorean // afin de voyager dans le temps [Power] Description [Consume*c] c Agent [Time Convector*t] [Car DeLorean] EquippedWith t c RequiredBy [Time Travel]
Conclusion
Tous les problèmes de mesure ne sont pas résolus pour autant. Par exemple il reste à étendre le système de requêtes pour pouvoir filtrer les réponses selon des critères quantitatifs (au dessus d'un minimum, au dessous d'un maximum, à l'intérieur d'un intervalle). Ce genre de filtrage serait également intéressant sur les dates (avant, après, pendant une période).
Une autre limitation mentionnée dans la documentation concerne l'absence de négation. Une forme restreinte de négation (appelée graphes polarisés ) pourra néanmoins être ajoutée sans perturber l'équilibre du système.
Il y a également la possibilité de créer des "contextes" en imbriquant les graphes ER (un graphe ER est alors le référent d'une boîte-entité). Cependant on n'obtient pas forcément toute l'expressivité qu'on pourrait attendre d'un modèle in-the-box / out-of-the-box.
SpiceGuid il y a plus de 11 ans
Après presque 1 mois d'errances ERic a enfin une (modeste) feuille de route vers la version 0.2b :
Un nouveau type de base: les nombres réels flottants.
Deux
annotations
pour mieux documenter les
relations
:
La barre verticale symbolise un miroir, elle sépare un couple de relations inverses comme
ParentOf|ChildOf SalariedOf|EmployerOf
L'encadrement par un tiret symbolise une relation réciproque (bidirectionnelle) comme
-Spouse- -Sibling- -Twin- -Friend- -Associate- -Colleague- -Rival-
Ce que j'ai appris pendant ce mois d'inactivité
J'ai compris qu'il n'y aurait pas d'extension miraculeuse pour rendre ERic plus "intelligent". À partir de maintenant tout ce que j'ai à faire n'est plus que maintenance, documentation, ergonomie, interface graphique, client/serveur,...
En résumé, même s'il reste encore à faire quelques morceaux assez consistants, la matière principale est déjà là. Tout le reste n'est qu'extensions d'un proof-of-concept vers un logiciel complet/efficace/convivial. Est-ce vraiment ce que je souhaitais au départ ? Pas vraiment. Tout en sachant qu'il y avait bien une limite indépassable, je m'étais bercé d'illusions en fantasmant une escalade d'IA toujours plus sophistiquées. En fait d'escalier il ne me reste plus que deux ou trois marches à gravir avant d'arriver à un "plateau" d'intelligence. Tant pis pour la "créativité orgasmique". J'ai fini de m'amuser. Cette fois-ci j'ai vraiment décidé d'aller jusqu'au bout, c'est-à-dire un logiciel utilisable avec comme but ultime la viabilité commerciale. Pas seulement un programme pour me faire plaisir mais pour une fois un programme socialement utile (enfin j'espère).
Si j'arrive finalement à faire de la recherche appliquée en OCaml sans mourir de faim et de froid, ce sera déjà pas si mal.
Quant à ceux (ici ou là), que je suspecte de vouloir faire de la recherche fondamentale, je dis ceci : regardez encore une fois Spiderman II
SpiceGuid il y a plus de 11 ans
Juste deux images pour vous montrer l'expressivité d'ERic.
Après si vous préférez UML c'est votre droit le plus entier
SpiceGuid il y a plus de 11 ans
Vous pouvez à présent consulter la documentation en ligne .
( @TSG attention ça pique les yeux )
SpiceGuid il y a plus de 11 ans
Bilan provisoire
Presque une semaine après le lancement du projet.
J'ai utilisé à peu près tous les canaux de communications raisonnables, c'est-à-dire sans en faire trop, quitte à ne pas en faire assez.
Pour l'instant :
- je n'ai eu aucun retour utilisateur
- j'ai reçu un courriel d'un autodidacte me demandant si ERic est capable de raisonner (la réponse est non évidemment, dans le cas contraire ERic serait un être doté de raison)
- je suis à cours de feuille de route
Le dernier point est le plus pénible car ERic est un projet que j'aimerais bien poursuivre. Les possibilités d'extension sont multiples mais (à partir de maintenant) elles peuvent s'exclure mutuellement. J'entrevois quatre issues possibles :
- décider d'une extension "raisonnable" en faisant le pari que ça ne mène pas à une impasse (impossibilité d'ajouter d'autres extensions)
- refactoriser la conception pour rendre ERic "extension neutral", les extensions deviendraient des composants enfichables pour faire un logiciel à la carte (toutefois c'est hyper-complexe et ça pénalise la performance)
- faire appel aux conseils d'un gourou (un mentor, une personne reconnue dans le domaine de la représentation des connaissances)
- continuer à communiquer, à promouvoir, jusqu'à trouver une niche applicative puis se laisser guider par des demandes communautaristes
Ou bien cinquième option : le projet est mort-né
SpiceGuid il y a plus de 11 ans
Le forum DVP de discussion du projet ERic est maintenant actif.
Vous y trouverez toutes les informations pour installer / utiliser ERic v0.2a
Aka Guymelef il y a plus de 12 ans
« Plus récents 1 2 3 4 5
|
SpiceGuid il y a plus de 11 ans