Accueil > Intérêts
Plan
HistoriquementLe moteur Syade a été conçu à l'origine pour les besoins de l’étude de demandes de crédit. Le projet original Thot décrit les enjeux et objectifs de ce projet. Besoin de faire évoluer l'étude de dossiersLe premier besoin identifié était la nécessité de pouvoir faire évoluer très vite la logique de l’étude de dossiers, pour suivre les changements de l’environnement, pour s’adapter aux risques (le taux d’impayés), aux nouvelles fraudes, changer de stratégie d’acceptation. L'application joue le rôle de "vanne" ou "filtre", pour reprendre les termes de la systémique. Ce filtre peut être réglé finement pour augmenter ou diminuer le débit, et augmenter la qualité du filtrage de l'acceptation de crédit.
L'analyse des dossiers acceptés a l'inconvénient de se faire sur la durée du crédit soit parfois plusieurs années. Le nombre de dossiers pouvant être acceptés dans cette période est important. Les experts en acceptation de crédits utilisateurs de ce système, sont les "yeux" sur l'environnement et en particulier sur les demandes de crédit. Ils réagissent aux changements et permettent de prendre en compte très vite des nouvelles situations qui seront ensuite prises en compte dans la base de données. FréquemmentDans la première année de fonctionnement, il y a eu 8 versions de la base de connaissance, soit plusieurs fois par trimestre. L’adaptabilité et la souplesse sont deux qualités essentielles dans un environnement changeant. RapidementL’outil étant utilisé en production avec un nombre important de dossiers traités par jour, il fallait pouvoir modifier rapidement la base de connaissance pour diminuer le nombre de dossiers « mal étudiés ». Avant l’outil, une modification des règles d’acceptation impliquée d’organiser des réunions pour informer les quelques 130 experts en acceptation de crédit. Sans informaticienUne modification d’une application informatique prenait beaucoup de temps depuis la demande, en passant par l’étude de besoin, l’analyse, la réalisation et la mise en place. L’objectif était de pouvoir réagir dans la journée pour des modifications « simples ». Par exemple, lorsque nous avions conçu la première version de la base de connaissance, un européen était encore considéré comme un étranger (il lui fallait une carte de séjour) ; A la mise en place de l’application, la carte de séjour n’était plus demandée pour les européens. La modification de la base de connaissance entre l’instant de la demande et la mise en place de la nouvelle base de connaissance, en passant par une validation du diagramme des tâches, prit une heure. Optimiser le processusLe processus d'acceptation a été optimisé :
L'étude de justificatifs est la plus longue tâche du processus. Plutôt que de transmettre tous les dossiers au service Acceptation, seul les dossiers "Acceptables" sont envoyés à l'étude. L'objectif est de consacrer du temps uniquement sur ces dossiers. Le principe a été poussé encore plus loin : les très bons dossiers, donc de clients connus, sont acceptés presque automatiquement (la décision reste une action humaine). Ainsi, presque 2/3 des dossiers (les refusés et les très bons) ont été traités rapidement (temps de saisie + temps d'étude Syade). Les experts se concentrent sur les 1/3 des dossiers. Raisonnement complexeL’étude de crédit exige de vérifier la cohérence du dossier pour repérer les fraudes ou les « mauvaises déclarations ». Par exemple, lorsque le demandeur du crédit ne déclare pas son conjoint mais qu’il semble en avoir un (logique des informations), l’étude est refaite avec la prise en compte du conjoint (d’où la nécessité de recommencer l’étude à zéro). Programmation complexeQui dit vérifications complexes, dit programmation complexe. Certes les langages comme Visual Basic permettent des programmations structurées et l’utilisation des objets, mais la superposition de tous les objets et fonctions en faisait une application complexe et difficilement maintenable. La génération d'un programmeNous avons testé la génération d'un programme à partir du diagramme des tâches. Le programme généré avec les mêmes fonctionnalités était trop volumineux pour les capacités de Visual Basic (Version 5 à l'époque). D'autre part, des fonctions devaient pouvoir être lancées de manière récursive (elles se lancent elle-même) compliquant la vision du déroulement du programme pour le débuggage. L'avis doit être justifiéL’avis donné par l’application devait être justifié, d’abord par des règles de décision, puis par l’assurance d’avoir étudié le dossier de manière impartiale et sans erreur de jugement. Les règles qui justifient la décisionDans la base de connaissance, nous avons identifié les règles qui justifient la décision (par exemple : un revenu trop faible pour la somme demandée). Les règles peuvent changées sans pour autant changer le raisonnement (par exemple : la valeur du revenu minimum). En programmation, il aurait fallu faire un système élaboré pour paramétrer les règles, et de manière différente pour chacune des règles (une centaine de règles). La technique de la Base de Connaissance permet d’exprimer la règle en une expression qui sera « évaluée » dans le raisonnement. Cela correspond à mettre la ligne de code dans une table et interpréter la ligne. La maintenance est plus simple, les règles s’exprimant dans le langage Visual Basic comme dans Microsoft Excel. La trace du raisonnement qui permet de vérifier le "raisonnement" suiviLe moteur de tâches trace sont raisonnement, c'est-à-dire toutes les tâches par lesquelles il est passé. Cette trace permet de suivre le raisonnement et permet de le vérifier. Cela permet à l'utilisateur de s'assurer de la pertinence d'une appréciation du système. Dans le cas d’une erreur, il suffit généralement de corriger la Base de Connaissance. Avantages de Syade
La logique peut être validée par les utilisateursLa grande nouveauté pour les utilisateurs, est de pouvoir valider la logique du raisonnement. Comme si chaque programme pouvait être décrit en langage clair. Une modification à faire peut être modélisée et proposée en validation. MASK permet une modélisation simple et compréhensibleMASK I offre une modélisation facilement compréhensible sans avoir besoin d’une formation quelconque. Par rapport à des modélisations comme MERISE et UML, MASK est beaucoup plus intuitif et proche de la réalité. Une trace qui permet de suivre le raisonnementLa trace du raisonnement permet de vérifier le fonctionnement complet du diagramme des tâches, ce qui permet de vérifier les valeurs utilisées, les calculs, les tests alternatifs et les boucles. En programmation, cela revient à avoir chaque ligne de code mémorisée avec les valeurs utilisées. Ceci n’est possible que dans un mode débuggage, et encore, à condition d’être gymnastiqué avec l’outils de programmation. La mise au point de la base de Connaissance est donc très facile.
Programmation plus fiableLe projet Thot a montré que sa programmation était très fiable. Seule quelques fonctions très courtes sont programmées en plus de la Base de Connaissance. Une fois la programmation du moteur de tâches stabilisée, le déroulement devient stable lui-même. La logique est dans l'arbre des tâchesLa logique est dans le diagramme des tâches, et à chaque tâche correspond une fonction simple, soit du moteur (une évaluation d’une expression) ou une fonction Visual Basic simple. Chaque concept est paramétré avec son mode de calculLa simplicité énorme qu’amène la base de connaissance et le moteur de tâches est sur l’accès et le calcul des données. Chaque concept est paramétré avec son mode « d’évaluation », c'est-à-dire la méthode pour calculer ou chercher sa valeur (une lecture d’un champ d’une table, un calcul, une lecture d’un formulaire…).
Le moteur a donc le moyen de rechercher automatiquement la valeur d’une donnée, un concept, si celui-ci n’est pas encore évalué. Ainsi sur des fonctions de calcul complexes utilisant plusieurs concepts, le moteur déclenche automatiquement les calculs dès qu’il en a besoin. Cette fonction sécurise énormément la programmation, on n'a plus à se soucier de savoir si une valeur a été calculée ou non avant. Rapidité de mise à jourLa base de connaissance est facile à faire évoluer avec l’application de gestion des bases de connaissances. Exemple : ajouter une donnée en entréeEn programmation classique, ajouter une donnée implique de modifier le formulaire de saisie de données, d’ajouter un champ dans la table de la base de données. Avec Ms Access et les outils modernes de Gestion de Bases de Données, ces tâches sont devenus relativement simples, en tout cas beaucoup plus simple qu’une programmation sur gros système avec l’obligation de faire une migration de la table modifiée. Si cette donnée est demandée qu’occasionnellement, l’application n’a pas besoin d’être modifiée, il suffit de créer un concept et une question pour saisir sa valeur. Ainsi, lorsque le moteur de tâches aura besoin de la valeur du concept, il posera automatiquement la question paramétrée dans la BC. InconvénientsIl y a bien sûr des inconvénients à cette « paramétrabilité ». Déroulement plus lent qu'un programme classiqueLe premier qui est apparent est le temps d’exécution. Pour un diagramme des tâches complexes, le raisonnement peut prendre jusqu’à 10 secondes (sur un ordinateur portable avec un Pentium II à 700 MHz et 256 Mo de mémoire centrale, avec une base de données SQL Oracle). C’est peu par rapport à l’étude de dossiers de crédit qui nécessitait une demi-heure « à la main », mais long quand on attend la réponse d’une application informatique. Aujourd'hui avec les processeurs, mémoire, disque dure, sur un PC portable de base, ce traitement ne met qu'une seconde. Les temps de réponse sont instantanés et l'utilisateur n'a pas l'impression d'attendre. Prend plus de ressource mémoire
Utilisations possiblesAide à la décisionLa première utilisation de cette solution amène naturellement à l'imaginer dans des utilisations de systèmes d'aide à la décision pour toutes les activités de type crédit, assurances, attribution d'aides... On peut imaginer que la Base de Connaissance soit établie par une maison mère et distribuée dans les succursales pour garantir l'application de règles. En poussant la réflexion jusqu'au bout, on pourrait même imaginer que les règles édictées par l'état pour des aides (Allocations familiales...) soient formalisées dans une base de connaissance et distribuées dans tous les établissements publics. Cela éviterait des interprétations de la lois. Le système est à l'origine basée sur une mise à jour de la base de connaissance sans informaticien, à part pour quelques fonctions de calcul réalisées en Visual Basic pour Application. Les évolutions du moteur et des environnements de développement permettent maintenant d'utiliser la base de connaissance pour générer un programme compilé (ce qui n'était pas possible en 1996). Etude de fichiersLa solution Thot élaborée par Cofinoga a été utilisée pour tester des évolutions de la base de connaissance sur des dossiers déjà étudiés pour évaluer les résultats et les différences. De la même manière qu'il peut fonctionner en interactif, la solution peut être utilisée en traitement "batch" de fichiers pour par exemple déterminer des fraudes, lancer des traitements particuliers, faire des offres commerciales ciblées par mailing, etc.. Console de surveillance et automatisation de tâchesCe type de solution est aussi envisageable pour la surveillance d'informations et le pilotage d'une activité (pilotage d'une centrale...). Les décisions à prendre peuvent être complexes et facilement modifiables en fonction des expériences. ou adaptées en fonction du contexte. Par exemple, couplé à des moteurs, on peut imaginer l'autorégulation de la température d'une maison en pilotant une climatisation, un chauffage, la fermeture de volet électriques pour éviter les rayons du soleil, etc. L'objectif étant d'utiliser au maximum les énergies naturelles pour refroidir ou réchauffer une maison (en été, rafraichir la maison en utilisant l'air frais du matin, en fermant les volets... en prenant en compte diverses paramètres, jours, heure, saison, lumière, présence d'une personne...). Pour e-KoalActuellement une solution démarre automatiquement tous les jours pour lancer des traitements sur une base de données distantes (MySQL), avec sauvegardes, compression des fichiers. L'utilisation du moteur permet de contrôler le focntionnement des traitements. L'application est lancée automatiquement grace au planificateur de tâches Windows. Voici les tâches et les concepts de la base de connaissance (au format Flash) L'utilisation de cette solution a permis d'optimiser les traitements de la Base de Données MySQL distante. La base de connaissance en est à sa version 3. La solution étant entièrement paramètrable grace en particulier aux concepts (noms des dossiers, noms des lignes de commande, durée de conservation des sauvegardes...), il est facile de l'adapter aux évolutions ou à un changement de contexte. Aide à la maintenance systèmeLa solution capitalisation d'experts et aide à la maintenance d'un système de production est actuellement en test. Le besoin est de capitaliser des experts (départ) et de créer un "système expert" d'aide à la décision et détection de cas de panne. L'objectif est de pouvoir modéliser et "faire tourner" la connaissance et de construire une solution avec les experts pour faire vivre facilement la base de connaissance lorsqu'un nouveau cas sera identifié. RobotiqueL'exemple précédent est déjà un pas vers la robotique. Le principe est réagir en fonction de stimuli envoyés par des capteurs. La démarche est d'utiliser la modélisation pour élaborer les raisonnements complexes. Le programme peut ensuite être généré pour gagner en performance et intégrer des principes de temps réels difficilement gérable en Visual Basic. L'expérience a été réalisée, pour le moment sommairement, avec les jeux Légo MindStorm en utilisant le "RCX" avec des capteurs et des moteurs. Le "RCX" intègre des programmes "réflexes" qui réagissent aux données captées, les données sont ensuite analysée par une solution Syade qui réagit en suivant un raisonnement plus complexe. IADans son principe de base, la base de connaissance est mémorisée en données et non en programme. Cela permet d'imaginer des solutions où la base de connaissance se met à jour toute seule. La première utilisation est la création de "concepts" (cf. MASK) qui permet d'imaginer des solutions de découvertes d'environnement ou chaque "objet" est transformé en élément de connaissance. La base de connaissance résultante contient donc de nouveaux concepts découverts par le système. De la même manière, le raisonnement est principalement mémorisé en données (excepté les fonctions de calcul). Le système pourrait alors modifier son raisonnement en fonction de règles d'évolution (Essais-erreur, adaptation...). Ce ne sont encore que des pistes de recherche. ConclusionSyade est utile pour des applications où le raisonnement est complexe (une décision humaine par exemple), et qui demande une grande souplesse et une adaptabilité. La visibilité du "raisonnement" par le diagramme des tâches et la trace du raisonnement, permet d'utiliser la solution dans un contexte où l'on doit être sûr de ce qui se passe (justification de la décision ou de l'avis et contrôle du raisonnement suivi). La trace et la base de connaissance en font une application rigoureuse et malgré tout simplifiée par la modélisation MASK. Une application Syade est utile pour étudier beaucoup d’informations comme des études (dossiers de crédits, assurance…), des consoles de surveillance, ou en robotique pour simuler des raisonnements complexes. Le dernier avantage qui n’a pas été présenté, parce que jamais utilisé à ce jour, est la possibilité du système à se reprogrammer. En effet, les tâches et les concepts ne sont que des données dans des tables ; on peut donc envisager que le système se modifie automatiquement lui-même en créant une nouvelle information (un nouveau concept), ou une nouvelle branche dans son diagramme des tâches. Mais cela ne veut pas dire qu’il faut remplacer tous les programmes par des systèmes SYADE. |
|
Mise à jour : 12/04/2024 |





