Brevet FR2887353A1 — publié le 20061222

Procédé et système pour construire un langage d'une base de connaissance La présente invention concerne un procédé pour construire un langage d'une base de connaissance, en adéquation avec l'observation de faits dans un monde ou contexte. Elle vise également un système pour la mise en oeuvre de ce procédé. La réalisation d'un outil logiciel dédié à un métier ou un contexte spécifique s'avère généralement très complexe dès lors que ce métier ou ce contexte recèle de nombreux particularismes impliquant une très sérieuse expertise du domaine et de ses pratiques. Il en est ainsi par exemple dans le domaine des métiers juridiques dès lors que l'on a pour objectif de concevoir un outil logiciel d'aide à l'élaboration d'un contrat. On pourrait aussi citer le domaine médical lorsqu'il s'agit par exemple de concevoir un outil d'aide au diagnostic. Bien d'autres domaines professionnels pourraient être cités pour montrer combien il peut être difficile et coûteux de développer un outil logiciel métier qui soit à la fois performant et ergonomique. Pour tenter de rationaliser la démarche de conception d'un outil logiciel qui s'appuie généralement sur une base de connaissance, on connaît déjà des techniques de construction de systèmes de représentation de connaissance, qui mettent en oeuvre des ontologies. On peut ainsi citer le document US 2004/0220969 (Cho et al.) qui divulgue des procédés de construction et de maintenance de systèmes de représentation de connaissance qui sont organisés sous la forme d'ontologies, ainsi que le document US 2003/0126136 (Omoigui) qui divulgue un système et un procédé pour présenter, fournir, gérer et récupérer de la connaissance. Toutefois les techniques actuelles de construction de systèmes de représentation de connaissance se heurtent au problème de l'absence de généricité et sont bien restreintes et limitées à un métier ou un contexte pour lequel elles ont été développées. On se fixe donc pour objectif de proposer une solution technique simple et performante pour concevoir des outils logiciels dédiés à des métiers ou des savoir-faire en tous domaines. Cet objectif est atteint avec un procédé pour construire un langage d'une base de connaissance en adéquation avec l'observation de faits dans un monde ou contexte spécifique, ce procédé comprenant: - une description par un utilisateur, d'une représentation dudit système, en 5 construisant une ontologie, ladite représentation étant basée sur une base de connaissance, - une traduction de cette description en un réseau de contraintes correspondant à des prescriptions de l'utilisateur, - une observations d'objets et d'actions présents dans un environnement 10 réel dudit système, - une confrontation desdits objets observés auxdites prescriptions, - une détection d'erreurs entre les séquences d'objets observés et la traduction de la description en réseau de contraintes, et une adaptation de l'ontologie ou du comportement dudit système de façon 15 à corriger lesdites erreurs, ladite ontologie ainsi adaptée procurant audit utilisateur le langage de la base de connaissance. Avec le procédé selon l'invention, on dispose ainsi d'un mode particulièrement performant de construction d'un langage de base de connaissance permettant de produire à moindre coût des outils logiciels métier . Ce procédé de construction peut être mis en oeuvre dans tout système d'information comprenant une ou plusieurs bases de données et de connaissances et des postes de travail utilisés par des praticiens ou professionnels et à partir desquels des objets et/actions peuvent être observés et collectés. Les étapes de description, de traduction et d'observation peuvent être itérées tant que les erreurs observées sont au-delà d'un état d'erreurs admissible. Lorsque ce procédé est mis en oeuvre pour la fourniture d'un outil 30 logiciel métier , l'étape de description comprend une construction d'un référentiel de pratique. La construction d'un référentiel de pratique peut être avantageusement assistée par une définition d'un réseau sémantique constitué de termes, de concepts et de relations. L'étape d'observation peut comprendre une saisie d'informations en temps réel sur un poste de travail d'un utilisateur dudit outil logiciel métier et/ou une collecte d'informations dans une ou plusieurs bases de données métier . Suivant un autre aspect de l'invention, il est proposé un système pour construire un langage d'une base de connaissance en adéquation avec l'observation de faits dans un système, en vue de fournir un outil logiciel associé audit système, mettant en oeuvre le procédé selon l'invention, comprenant: - des moyens pour construire, à partir d'une description d'une représentation dudit système par un utilisateur, une ontologie pour la base de connaissance, - des moyens pour traduire cette description en un réseau de contraintes correspondant à des prescriptions de l'utilisateur, - des moyens pour observer des objets et des actions présents dans un environnement réel dudit système, - des moyens pour confronter lesdits objets observés auxdites prescriptions, - des moyens pour détecter des erreurs entre les séquences d'objets observés et la traduction de la description en réseau de contraintes, et - des moyens pour adapter l'ontologie ou du comportement dudit système de façon à corriger lesdites erreurs, ladite ontologie ainsi adaptée procurant audit utilisateur le langage de la base de connaissance. D'autres avantages et caractéristiques de l'invention apparaîtront à 25 l'examen de la description détaillée d'un mode de mise en oeuvre nullement limitatif, et des dessins annexés sur lesquels: - la figure 1 illustre schématiquement la problématique générale dans laquelle s'inscrit le procédé selon l'invention, et - la figure 2 illustre un processus de définition et qualification d'un 30 référentiel de pratiques implémentant le procédé de construction selon l'invention. Le procédé de construction selon l'invention s'inscrit dans une offre originale de réponse technique à une demande croissante dans le domaine de la résolution de problèmes complexes rencontrés dans les systèmes d'information. En référence à la figure 1, il y a initialement une définition 2887353 -4- (1) d'un problème à résoudre. A partir de données collectées auprès d'experts, des règles et des ontologies sont établies suivant des techniques conventionnelles ou bien spécifiques au problème à résoudre. Ces règles et ces ontologies sont mises en oeuvre pour réaliser des outils logiciels qui sont fournis (2) à des praticiens ou opérateurs sur leurs postes de travail, soit en mode résident, soit en mode distant. Ces outils logiciels mettent en oeuvre une pluralité d'applications logicielles, constituant ainsi un système multiactions. Par ailleurs, les prescriptions issues des règles et ontologies sont confrontées et comparées (3) à des observations effectuées sur différentes composantes du système d'information, de façon à réaliser une adéquation entre prescriptions et observations, et c'est à ce stade qu'est mis en oeuvre le procédé de construction de langage selon l'invention. On va maintenant décrire un exemple de mise en oeuvre du procédé de construction de langage selon l'invention. On considère le domaine du diagnostic médical en cancérologie. Dans ce contexte, un médecin doit décider d'un traitement en réponse à la description d'une pathologie, d'un historique du patient et du compte-rendu d'une consultation en cours. Ce traitement doit être conforme à des règles de bonnes pratiques, élaborées, par exemple par une société savante, une association professionnelle ou une institution. La construction de ces règles de bonne pratiques, ou référentiel de pratiques, est assistée pat la définition d'un réseau sémantique constitué de termes, de concepts et de relations. Les termes sont des signifiés associés à des signifiants concept ou relation . Chaque concept ou relation est placé dans une arborescence et est représenté par: - une définition: expression de la différence entre un concept/une relation et son père, - un ensemble de formes canoniques: expression des formes d'usage 30 admissibles pour un concept/une relation, - un ensemble de prototypes: expressions des formes prototypiques d'un concept/d'une relation. On définit ainsi, avec les médecins, les concepts manipulés dans le cadre de cette activité (patient, traitement, stades, grades,...) et les relations permises entre ces concepts. Par exemple, ces relations permises peuvent être: - un patient a un ensemble de traitements antérieurs, l'indicateur d'un stade interdit un traitement, - un grade supérieur à une valeur donnée implique de privilégier un traitement particulier. On construit ainsi la sémantique d'une pratique en explicitant son référentiel. Cette représentation peut être aisément transformée en un réseau de contraintes définissant, dans un autre langage, les relations d'implication (si [A et B] alors [C ou D], de vérification ([C ou D] toujours VRAI) et d'exclusion ([A et B] toujours FAUX) entre termes. Par ailleurs, on observe l'activité de consultation et de prescription du médecin, qui est perceptible au moyen d'un outil métier spécialisé, par exemple un logiciel médical lié à une ou plusieurs bases de données. La séquence d'activité observée est composée des actions réalisées par le médecin: ajout d'information sur un patient, choix d'un traitement, exclusion d'un antécédent. Ces informations sont saisies au fur et à mesure de la consultation ou obtenues à partir d'une ou plusieurs bases de données patient. Ces séquences d'événements sont projetées dans le réseau de contraintes, c'est-à-dire que les objets observés sont confrontés aux contraintes correspondant à la modélisation du référentiel de pratique. Cette confrontation permet: - de propager des contraintes dans le réseau, à partir des objets 25 observés, - de détecter des erreurs (d'un point de vue logique, des contradictions sources d'erreurs) entre les séquences d'objets observés et le référentiel traduit en contraintes. Ces erreurs permettent aux utilisateurs de corriger le référentiel 30 et/ou l'usage du logiciel, en l'occurrence la séquence d'événements observés. Dans un exemple de mise en oeuvre du procédé de construction selon l'invention, illustré par la figure 2, en réponse à une demande de qualification d'un référentiel de pratique, par exemple de la pratique de l'élaboration d'un document juridique contractuel, une première étape est de construire un référentiel de cette pratique, par exemple la trame d'un contrat avec ses clauses-types. Il s'agit ensuite de transformer ce référentiel en réseau de contraintes, telles que des contraintes de compatibilité entre clauses juridiques. On observe ensuite l'activité d'un praticien utilisant l'outil logiciel d'aide à la rédaction de contrat. Cette observation prend la forme pratique d'une saisie d'entrées de données ou d'information effectuées par l'utilisateur dans une interface graphique dédiée à cet outil logiciel. Suit alors une étape de confrontation entre cette activité et les contraintes, puis une étape de détection des erreurs qui sont visualisées sur l'interface graphique. Le processus qui vient d'être décrit est itéré tant que des erreurs sont détectées entre observation et contraintes, ce qui a pour effet d'intervenir à nouveau dans la construction du référentiel de pratique. Ce processus est aisément automatisable pour conduire au procédé de construction de langage d'une base de connaissance. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. On peut en particulier prévoir un processus itératif avec un niveau d'itération plus ou moins complexe. Par ailleurs, les métiers et savoirs concernés par le procédé de construction de langage selon l'invention ne sont pas limités à ceux du secteur médical ou juridique, mais peuvent concerner tous les domaines de l'activité humaine dès lors que l'on a pour objectif de concevoir un outil de représentation de la connaissance et d'aide à la décision ou à l'élaboration d'un produit. - 7 - REVENDICATIONS 1. Procédé pour construire un référentiel de pratique en adéquation avec l'observation de faits au sein d'un système d'information, comprenant: une description d'une représentation dudit système d'information à partir d'une base de connaissances, constituant une construction dudit référentiel de pratique, - une traduction de cette description en un réseau de contraintes correspondant à des prescriptions, - une saisie d'observations d'objets et d'actions présents dans un environnement réel dudit système d'information, - une confrontation desdits objets observés auxdites prescriptions, - une détection d'erreurs entre les séquences d'objets observés et la traduction de la description en réseau de contraintes, suivie d'une correction dudit référentiel de pratique en réponse à ladite détection. 2. Procédé selon la revendication 1, caractérisé en ce que les étapes de saisie de description, de traduction et de saisie d'observation sont itérées tant que les erreurs observées sont au-delà d'un état d'erreur admissible. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que la construction d'un référentiel de pratique est assistée par une définition d'un réseau sémantique constitué de termes, de concepts et de relations. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la saisie d'observation comprend une saisie d'informations en temps réel sur un poste de travail d'un utilisateur d'un outil logiciel métier . 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la saisie d'observation comprend une collecte d'informations dans une ou plusieurs bases de données métier . 6. Procédé selon l'une quelconque des revendications précédentes, 35 caractérisé en ce que l'étape de confrontation comprend une propagation de contraintes dans le réseau, à partir des objets observés. -8 7. Système pour construire un référentiel de pratique en adéquation avec l'observation de faits au sein d'un système, mettant en oeuvre le procédé selon l'une quelconque des revendications précédentes, comprenant: - des moyens pour saisir une description d'une représentation dudit système à partir d'une base de connaissances, constituant une construction dudit référentiel de pratique, - des moyens pour traduire cette description en un réseau de contraintes correspondant à des prescriptions, - des moyens pour saisir des observations d'objets et d'actions présents dans un environnement réel dudit système, - des moyens pour confronter lesdits objets observés auxdites prescriptions, - des moyens pour détecter des erreurs entre les séquences d'objets observés et la traduction de la description en réseau de contraintes, et - des moyens pour corriger ledit référentiel de pratique en réponse à ladite détection.