Systèmes d’information logiques et Bioinformatique Sébastien Ferré Mai 2004 Plan n Combiner interrogation et navigation – Analyse de concepts logiques (ACL) – Logiques dédiées et foncteurs logiques BLID : Bio-Logical Intelligent Database n Delfin : extraction de motifs, séquences n Synthèse et programme de recherche n Motivation initiale Recherche d’information n Naviguer dans un ensemble de documents pour une découverte progressive des documents comme dans les systèmes de fichiers hiérarchiques contrairement aux systèmes de recherche booléenne n Éviter toute classification à priori pour une représentation égale de tous les points de vue comme dans les systèmes de recherche booléenne contrairement aux systèmes de fichiers hiérarchiques Combiner interrogation et navigation dans un même cadre établi sur des fondements logiques Limite de la navigation hiérarchique / medium big far far far small near alone satellite satellite satellite satellite Mercury Venus Earth Mars Pluto Uranus Neptune Jupiter Saturn / far near small alone Mercury Venus small medium big satellite satellite satellite satellite Earth Mars Pluto Uranus Neptune Jupiter Saturn Combiner interrogation et navigation Le besoin de combiner interrogation et navigation est reconnu n Répertoire virtuel (Semantic File System, Gifford et al. 1991) : pas de navigation après interrogation, pas de mise-à-jour n Répertoire-requête (Hierarchy and Content, Gopal et al. 1999) : navigation rigide, incohérence dans les contenus n Concepts (Godin et al. 1991) : – structure de navigation automatique et flexible – alternance libre d’interrogation et de navigation – Mise-à-jour non-restreinte, cohérence Analyse de concepts formelle (ACF) Birkhoff 1940, Barbut et Monjardet 1970, Wille et Ganter 1980 Formalisme symétrique entre questions et réponses Analyse de concepts formelle : contexte Contexte = objets × attributs small medium big near far satellite alone Mercury • • • Venus • • • Earth • • • Mars • • • Jupiter • • • Saturn • • • Uranus • • • Neptune • • • • • Pluto • représentation centrée sur les objets pas de classification à priori Analyse de concepts formelle : treillis de concepts Concept (formel) = extension + intension Treillis de concepts = concepts + ordre de généralisation intension extension Classification automatique et multiples chemins vers un objet Structure de navigation automatique et flexible Navigation conceptuelle (1/4) Le concept courant est entouré • objets sélectionnés • liens de navigation pertinents Navigation conceptuelle (2/4) La sélection d’un lien de navigation modifie le concept courant… … restreint l’ensemble des objets sélectionnés… … et élimine des liens de navigation devenus non-pertinents near! Navigation conceptuelle (3/4) A force de raffinement, on atteint un concept minimal… … contenant un seul objet, ou bien plusieurs identiques Rmq : l’ordre de parcours des liens est indifférent near! satellite! Navigation conceptuelle (4/4) Le résultat d’une requête est également un concept… … ce qui rend pleinement compatible interrogation et navigation satellite and near! near! satellite! Analyse de concepts logique (ACL) Représentation des objets, requêtes et liens de navigation n Analyse de concepts formelle [Wille 1982] : ensembles d’attributs n Analyse de concepts logique [Ferré & Ridoux 2000] : formules d’une logique arbitraire → la logique doit former un treillis (L,<)=(langage, subsomption) f < g ssi tout objet possible satisfaisant f satisfait aussi g f <K g ssi tout objet du contexte K satisfaisant f satisfait aussi g Rmq. : la logique contextualisée (L,<K) est isomorphe au treillis de concepts Logiques dédiées et foncteurs logiques Logique dédié = syntaxe + sémantique + implémentation avec une sémantique d’instance plutôt que de valeur de vérité comme les Logiques de description Comment faciliter la construction de logiques dédiées ? Foncteur logique = composant logique abstrait sur des sousformules L = prop(aik(set(pair(attr,sum(num,text))))) § descr. = [name is “Jean Dupont”, age = 33] § requête = name contains “Jean” and not age in 15..25 Résumé SIL = Système d’information logique = + représentation centrée sur les objets + combinaison libre d’interrogation et de navigation automatique et flexible + représentation logique des objets, requêtes et liens de navigation + généricité dans la logique employée Prototype Camelis + qq. applications (BibTeX, librairie Java, ...) 2 autres thèses en cours : n Yoann Padioleau : Système de fichier logique, LISFS n Benjamin Sigonneau : SIL et génie logiciel Plan n Combiner interrogation et navigation – Analyse de concepts logiques (ACL) – Logiques dédiées et foncteurs logiques BLID : Bio-Logical Intelligent Database n Delfin : extraction de motifs, séquences n Synthèse et programme de recherche n Objectif de BLID n données brutes n BLID utilisée par des biologistes n n connaissances et prédictions n sur un génome complet (levure, ~6000 gènes) représentation de données logique et cohérente extraction de connaissances manuelle par interrogation extraction de connaissances automatique par fouille de données et apprentissage facilement extensible à tous les niveaux Intégration de données n data n programs n BDR n Sources de données publiques (ex., MIPS, SwissProt, KEGG) Programmes produisant des données supplémentaires (ex., ExPASy, PROF) Représentation relationnelle consistente (scripts automatiques) Entrepôt de données (BDR) Interrogation avec Prolog BK BDR n n n Prolog n n requêtes réponses n Langage relationnel comme SQL Récursivité naturelle Syntaxe plus compacte et naturelle Langage de programmation Background knowledge Compilation efficace en SQL Interrogation avec Prolog Background knowledge: n Prédicats utilitaires – Clôture transitive d’une relation taxonomique subfunc(X,Y) :- X=Y; isa(X,Z), subfunc(Z,Y). – Pattern matching (ex., sur les séquences) seq_is(X,’MTDNA...’), seq_match(X,’[DE]-x-A’) n Règles inférants de nouveaux faits Ex.: Tout métabolite impliqué dans le glycolysis décroît en quantité en cas d’inanition Interrogation avec Prolog n Fonctions de YAL001c ? has_func(‘YAL001c’,F) n Nombre de fonctions de YAL001c ? count(F, has_func(‘YAL001c’,F), N) n Protéines ayant une fonction métabolique ? has_func(X,F), subfunc(F,’metabolism’) Navigation dans un SIL Exploration et vue d’ensemble sur un génome n requête = sélection d’objets – combination booléenne de traits ex.: seq match [DE]-x-A and not metabolism n vue = sélection de traits – logique: spécialisation ou généralisation d’un trait ex.: < metabolism – syntaxique: expression régulière – contextuel: fréquence, etc. Navigation dans un SIL Pas besoin de connaître le contexte ou la logique ! " " # ! $ % ! " " " " ! + , ! & ' + & ! ( ) ** ** " ! + , - ! - * Navigation dans un SIL Vue d’ensemble sur les fonctions MIPS : . / / 0 0 ! + ! . 1 ** . 2 3 → ( 4 + ! ! ! + , fait apparaître des implications entre traits Fouille de données et apprentissage BDR BK Prolog spécification jeu de données + constraintes fouille de données apprentissage auto. traits (itemsets fréquents, motifs fréquents) règles de classification Fouille de données et apprentissage Langage Commun de spécification de jeux de données n Motivation: abstraire l’utilisation des différents outils n Langage de spécification : Prolog n Contenu: – – – – ensemble d’objets ou exemples ensemble de relations et de traits biais et contraintes outil/algorithme à appliquer une telle spécification joue le rôle d’une requête inductive (cf. Bases de données inductives) Fouille de données et apprentissage Encodage logique des résultats pour intégration dans le BK (en projet) 1. Extraction de traits dans des données structurées (ex.: séquences) 2. Construction de règles de classification à partir de ces traits (induction) 3. Interrogation en utilisant ces règles comme composante du BK (déduction) Plan n Combiner interrogation et navigation – Analyse de concepts logiques (ACL) – Logiques dédiées et foncteurs logiques n BLID : Bio-Logical Intelligent Database Delfin : extraction de motifs, séquences n Synthèse et programme de recherche n Delfin: un extracteur de traits (Dichotomic and Logical Feature INduction) n n n n Logiques (et espace de recherche) dédiées pour traiter des données structurées (ex., motifs dans les séquences biologiques) Guidée par la discrimination de concepts plutôt que par un parcours systématique Recherche dichotomique Supervisé : suppose assymétrie des règles ex.: motifs de séquence → fonctions Delfin: recherche orientée-concept intensions Toutes les formules d’une région ont la même extension dans le contexte (concept). Parce que les formules d’un concept sont équivalentes pour l’apprentissage, ce qui compte est de visiter un maximum de concepts dans un minimum de temps. Delfin: recherche dichotomique n Analogie: recherche dans un tableau ordonné – Séquentiel: linéaire dans la taille du tableau – Dichotomique: logarithmique… n dichotomie dans l’espace de recherche – Commencer par de long sauts, puis raffiner les “intervalles logiques” par des sauts de plus en plus petits – Flexible et non-redondante – Complète vis-à-vis de la discrimination de concept même avec des chaînes infinies (ex.: intervalles) Delfin: recherche dichotomique recherche top-down a b ba baa bab c bb bc recherche dichotomique a bc ab intervalle logique bac abc Raffinement minimal Dichotomie dans un intervalle logique <bcab> Delfin: exemple n n n n Objets : protéines de la levure Données : structure secondaire (from Prof) Classes : fonctions biologiques (from MIPS) Logique/espace de recherche : motifs de longueur arbitraire, intervalles arbitraires sur la longueur des éléments, et segments flexibles n Jeux de données : apprentissage (1660), validation (855), test (1312), non-classés (2320) Delfin: exemple n n Fonction : transport mitochondrial meilleure règle à ce jour (sortie brute) : struc length in 14 .. 70 and struc match a(10,13)-c(11,24)-a(11,13)-c(3,8) struc match c(1,3)-a(10,13)-c(7,11)-a(9,12)-c(3,10)-x(0,2)-a(7,26) n n Dans le jeu de test, couvre 8 protéines, toutes positives (1 chance sur 10e14) Prédit 2 protéines non-classées – YPR128c a été confirmée Plan n Combiner interrogation et navigation – Analyse de concepts logiques (ACL) – Logiques dédiées et foncteurs logiques BLID : Bio-Logical Intelligent Database n Delfin : extraction de motifs, séquences n n Synthèse et programme de recherche Synthèse et programme de recherche ! ( 4 - 4 6 ! ( * 8 ! ( $ ( 4 5 ! ! ! 7 ! ! ! * 4 ! ) ) ! ( ! ! % * ! ! * ( - ( 4 ! 7 7 4 4 4 ! 7 * ! ! * 6 ! ! ! 4 4 - 4 - ( 4 Programme de recherche n Axe vertical - logiques – Relations entre objets : • logique (raisonnement) + orienté-objet (id, dynamique) • généralisation de l’Analyse de concepts logique – Technologie des foncteurs logiques : • typage et autres formes de paramétrisation n Axe horizontal – bases de données inductives – Navigation plus intelligente par fouille de données • formes locales de fouille de données – Fouille de données plus flexible par navigation – … Merci ! Questions ?