Cours DR Dauphine - Cirad...Interrogation flexible d’un entrepôt de données ouvert sur le Web...
Transcript of Cours DR Dauphine - Cirad...Interrogation flexible d’un entrepôt de données ouvert sur le Web...
Interrogation flexible
d’un entrepôt de données
ouvert sur le Web
Application à la prévention du risque alimentaire
Patrice Buche1 et Juliette Dibie-Barthélemy2,3
2Unité INRA - MIA
16, rue Claude Bernard
75231 PARIS Cedex 05
3AgroParisTech
UFR d’informatique
16, rue Claude Bernard
75231 PARIS Cedex 05
1UMR INRA – IATE
2, place Pierre Viala
34 060 Montpellier
1
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
Conclusion
Ouverture sur le Web (Juliette Dibie-Barthélemy)
2
Plan de l’exposé
Introduction
contexte structurel
le risque alimentaire
le projet Sym’Previus
spécificité des données
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
Conclusion
3
Contexte structurel
6 permanents impliquées + CDD + stagiaires
Unités IATE et MIA
2 enseignants-chercheurs, 4 ingénieurs
Depuis 2000, 4 thèses et 14 master recherche/pro soutenus 4
Codex Alimentarius (FAO/OMS): 1962
Elaboration de standards en matière de qualité et sécurité des aliments
SPS agreement (OMC): 1994 (dans le cadre des accords de Marrakech)
L’OMC reconnaît les standards de l’OMS
Les pays ont le droit de définir leurs propres standards en matière de commerce international des aliments avec pour objectif d’assurer la protection de la santé humaine
Ces standards doivent être basés sur une argumentation scientifique crédible.
Création d’agences nationales (ANSES) et européennes (EFSA).
L’analyse des risques nécessite des données de qualité
Systèmes efficaces de collecte d’informations (peu nombreux, spécialisés, fiabilité des données)
Données nécessaires complexes: contaminations initiales de matières premières, contaminations de produits finis, informations sur l’effet de facteurs, informations sur l’exposition du consommateur, ...
Le risque alimentaire (1)
Suite
5
Contre-exemple
La réglementation européenne interdisant dans l’Union la production et l’importation de viande aux hormones (essentiellement en provenance des Etats-Unis) a été jugée par l’OMC, en août 1997, contraire aux dispositions de l’Accord SPS, car les risques pour la santé, de la viande aux hormones n’ont pas pu être scientifiquement prouvés.
Retour
6
risques microbiologiques E. Sakazakii (risque méningite, jeunes enfants, lait en poudre)
Évaluation du comportement de bactéries pathogènes (ex. Listeria monocytogenes) de la fourche à la fourchette (dans les matières premières, les usines, le réfrigérateur du consommateur).
Facteurs qui influencent le comportement des bactéries (température, pH, aw)
risques physico-chimiques Methylmercure (neurotoxicité, fœtus enfants, poissons)
Évaluation de l’exposition au risque aigu ou chronique
Présence de contaminants chimiques (métaux lourds, dioxyne, ...) dans les matières premières et les produits transformés
Le risque alimentaire (2)
7
Les bases de données existantes
en France
Données sur les contaminations chimiques (DGCCRF, DGAL) et les consommations (INCA, SECODIP)
Bases microbiologiques spécialisées (charcuterie/CTSCCV)
privées (viande/Bigard), (Dynacard/Danone), ...
dans le monde
Bases sur les contaminants chimiques: internationales (OMS), européenne (?), nationales (Danemark, ...) et sur les consommations: internationales (OMS), européennes (EFCOSUM, EPIC, projets EFSA et EUROSTAT)
Bases microbiologiques Grande-Bretagne (Combase) et Etats-Unis (PMP) : données de
croissance sur des milieux de culture et matrices alimentaires
Nouvelle-Zélande, Australie et Danemark : dédiées à un type de produit (poisson...) ou une bactérie
Le risque alimentaire (3)
8
Plan de l’exposé
Introduction
contexte structurel
le risque alimentaire
le projet Sym’Previus
spécificité des données
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
Conclusion
9
Début en novembre 99
ANR e.dot, WebContent, Map opt
Outil d’aide à l’expertise en hygiène et sécurité
alimentaire (microbiologie prévisionnelle)
pour les industriels de l’agro-alimentaire, les
instituts techniques, de recherche et les pouvoirs
publics (DGAL/AFSSA)
originalité : données et modèles sur aliments
Le projet Sym’Previus
10
ADRIA
AERIAL
ARILAIT
CTSCCV
ENV Alfort
INRA
AgroParisTech
IP Lille
Laboratoires de
recherche
et instituts techniques
Bongrain
Danone
Fromarsac Pernod Ricard
Fromageries BEL
ACTIA
UNIR
Ministères RECHERCHE
AGRICULTURE (DGAL)
Associations
professionnelles + Pouvoirs
publics + Industriels +
Sym’Previus – Les partenaires
11
Constituer une base de connaissances qui contient
des données bibliographiques validées et saisies par des
experts
des données expérimentales acquises dans le cadre de
projets financés par l’état
des données industrielles (contamination initiale…)
Créer des requêtes « consolidées », synthèses du
comportement d’un micro-organisme
Caler les modèles de simulation et confronter les
résultats des simulations avec des données
expérimentales
Sym’Previus – Les objectifs
12
Sym’Previus – Données de la base
Comportement de germes pathogènes
dans des produits alimentaires : matières premières ou
produits transformés
dans les réseaux de distribution et au cours de processus de
transformation (chauffage, stockage, …)
Exemples d’études
résistance de la bactérie Listeria Monocytogenes aux
traitements thermiques
interaction de Listeria et des bactériocines, introduites dans
des produits alimentaires afin d’inactiver les Listeria
résistance thermique de Escherichia Coli dans la viande de
volaille
13
Evolution de Escherichia coli 0157:H7 sur matrice viande de boeuf
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
0 2 4 6 8 10
Temps (jours)
Po
pu
lati
on
(lo
g U
FC
/g)
4°C-Cabedo 1998- rep 1
4°C-Cabedo 1998- rep 2
4°C-Cabedo 1998- rep 3
4°C-Flores 1996- rep 1
4°C-Flores 1996- rep 2
4°C-Hathcox 1996
5°C-Abdul-Raouf 1993
8°C (Données ind)
12°C-Cabedo 1998- rep 1
12°C-Cabedo 1998- rep 2
12°C-Cabedo 1998- rep 3
12°C-Flores 1996- rep 1
12°C-Flores 1996- rep 2
12°C (Données ind)
15°C-Hathcox 1996
20°C-Flores 1996- rep 1
20°C-Flores 1996- rep 2
21°C-Abdul-Raouf 1993
21°C-Abdul-Raouf 1993 (3F) rep 1
21°C-Abdul-Raouf 1993 (3F) rep 2
30°C-Abdul-Raouf 1993
30°C-Abdul-Raouf 1993(3f) rep 1
30°C-Abdul-Raouf 1993(3f) rep 2
30°C-Abdul-Raouf 1993(3f) rep 3
30°C-Abdul-Raouf 1993(3f) rep 4
Sym’Previus – Exemple de données
14
15
Example of the impact of bibliographical data in the
simulation of bacterial growth in food
Listeria monocytogenes growth in smoked salmon simulated at 6°C (+/- 1°C)
Growth simulation without
bibliographical data Growth simulation with
bibliographical data
Sym’Previus - Sources
Base
Sym’Previus
plus de 700 articles de la bibliographie
internationale, sélectionnés par des
experts en microbiologie
données industrielles
anonymées
16
Plan de l’exposé
Introduction
contexte structurel
le risque alimentaire
le projet Sym’Previus
spécificité des données
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
Conclusion
17
Spécificités des données
hétérogénéité
imprécision
base de données
incomplète
18
Hétérogénéité des données
Hétérogénéité des sources de données
paramètres étudiés
vocabulaire employé (concepts et relations)
Champ de recherche actif
évolution des données
Comment :
relâcher la contrainte d’un schéma
relationnel ?
19
Incomplétude de la base de
données
Rareté relative de l’information
Coût, confidentialité
Nombre infini de données potentiellement
intéressantes
combinaison de nombreux germes pathogènes, de
nombreux produits alimentaires…
paramètres expérimentaux définis sur des domaines
continus
Comment retourner des informations
pertinentes à l’utilisateur ?
20
Imprécision des données
Complexité des processus biologiques
(expérimentations avec répétitions)
Seuils de détection des capteurs
Comment représenter cette imprécision,
particulièrement :
dans le modèle relationnel ?
les graphes conceptuels ?
dans une base XML ?
21
Base
Relationelle
Base de
graphes
conceptuels
Interface Graphique
MIEL
Requête
floue
Réponses
Médiateurs
Base XML
Données locales Données Web
Données
incomplètes
Données
hétérogènes
Données
incomplètes et
hétérogènes
Données
imprécises
Solution proposée
22
Plan de l’exposé
Introduction
Hétérogénéité des données
le système MIEL
le modèle des graphes conceptuels
le langage de requête MIEL
traitement d’une requête
Imprécision des données
Incomplétude de la base
Conclusion
23
Plan de l’exposé
Introduction
Hétérogénéité des données
le système MIEL
le modèle des graphes conceptuels
le langage de requête MIEL
traitement d’une requête
Imprécision des données
Incomplétude de la base
Conclusion
24
Hétérogénéité des données
Hétérogénéité des sources de données
paramètres étudiés
Champ de recherche actif
évolution des données
But : relâcher la contrainte d’un schéma
relationnel
25
Deux bases
Relational database
subsystem
(well-structured data)
Conceptual graph
subsystem
(weakly-structured data)
MIEL graphical
user interface Global schema
Local schema
RDB query processor
Local schema
CG query processor
relational
database
conceptual
graph base
26
Plan de l’exposé
Introduction
Hétérogénéité des données
le système MIEL
le modèle des graphes conceptuels
le langage de requête MIEL
traitement d’une requête
Imprécision des données
Incomplétude de la base
Conclusion
27
Les graphes conceptuels
Conceptual Structures : Information
Processing in Mind and Machine, (Sowa,
1984)
Chercheur chez IBM, puis State University of
New York
Objectif : « allier la puissance de la logique à
l’expressivité de la langue naturelle »
28
Pourquoi utilisons-nous ce modèle
Lisibilité pour des non-informaticiens
Noyau théorique robuste
fondé sur la théorie des graphes
lien étroit avec la logique des prédicats
Faiblement structuré par nature
Distinction claire terminologie / assertions
Implémentations existantes
CoGITo / CoGITanT/ Corese / CoGui
Formalisation utilisée (Mugnier et Chein, 1996) 29
Le modèle des graphes conceptuels
Deux ensembles distincts de connaissances
le support, ou connaissances terminologiques
(ou ontologie)
vocabulaire
contraintes d’utilisation du vocabulaire
les graphes, ou connaissances assertionnelles
faits proprement dits
30
GC – Le support
Un support S est un quintuplet (Tc, Tr, M, , )
Tc est l’ensemble des types de concepts
description des entités, attributs, états,
événements...
partiellement ordonné par la relation « sorte-
de »
31
Tc – L’ensemble des types de concepts
Datum
Nisin
Bacteriocin
ListeriaScottA
Listeria
PathogenicGerm
Germ
Reduction
Stability
Expe Result
Experiment
Action
CFU/ml U/ml
Conc.M.U.
Degree
Temp. M.U.
Hour
Time M.U.
MeasureUnit
Interaction E.Coli
WholeMilk
HalfSkim
Milk
Milk Meat
Substrate
Temperature Duration
Concentration
ExperimentalDatum
Skim
Milk
Poultry
Beef Pork
Pasteurized
Milk
Pasteurized
WholeMilk
^
^
ExperimentalFactor
ListeriaMono.
32
Interprétation logique de Tc
PasteurizedMilk
Milk
WholeMilk
PasteurizedWholeMilk
SkimMilk
Substrate
x (SkimMilk(x) Milk(x))
33
Tr – L’ensemble des types de relations
Description des liens entre concepts
Partiellement ordonnés
Relations « traditionnellement » pourvues d’une
sémantique pauvre
Agt (Action, Universal)
Obj (Action, Universal)
Res (Action, ExperimentalResult)
Subst (Action, Substrate) 34
M – L’ensemble des marqueurs
Les individus (ou instances) d’un concept
donné
« C.P. Rivituso » (instance du type de concept
« Author »)
« Journal of Food Protection » (instance de
« Journal »)
Le marqueur générique permet de désigner
un indéterminé
noté * ou omis
une Expérience, un Substrat... 35
Les graphes conceptuels (1)
Un graphe conceptuel G = (R, C, U, lab) est :
un multi-graphe
plusieurs arêtes peuvent lier 2 mêmes sommets
biparti
les sommets sont partitionnés en 2 classes (R et
C)
tout sommet d’une classe n’est relié qu’à des
sommets de l’autre classe
non nécessairement connexe
connexe : à partir d’un sommet, on peut atteindre tous les
autres sommets du graphe en parcourant les arêtes 36
Les graphes conceptuels (2)
R est l’ensemble des sommets relations
représentés par des ovales
étiquetés par un type de relation TR
Res Agt Obj
Obj Char
Char
37
Les graphes conceptuels (3)
C est l’ensemble des sommets concepts
représentés par des rectangles
étiquetés par un couple (type de concept TC,
marqueur M {*})
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
38
Les graphes conceptuels (4)
U est l’ensemble des arêtes
les arêtes adjacentes à un sommet relation r sont totalement ordonnées, et numérotées de 1 à degré(r)
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char
respect de l’association type de
concept / marqueur
respect de la signature des relations
Agt (Action, Universel)
39
Interprétation logique d’un GC (1)
chaque sommet concept générique de G est mis en
bijection avec une variable distincte de (G)
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char
w x y
z
40
Interprétation logique d’un GC (2)
chaque marqueur individuel de G est mis en
bijection avec une constante de (G)
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char
E1
I1
C.P.Rivituso
41
Interprétation logique d’un GC (3)
chaque sommet concept de G est représenté par un
prédicat unaire de (G), nommé par le type de
concept
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char
ListeriaScottA(w) Nisin(x) Reduction(y)
SkimMilk(z)
Experiment(E1)
Interaction(I1)
Author(C.P.Rivituso) 42
Interprétation logique d’un GC (4)
chaque sommet relation r de G est représenté par
un prédicat de (G) d’arité degré(r), nommé par le
type de relation
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char Obj(E1,I1)
Obj(I1,w)
Agt(I1,x)
Res(I1,y)
Char(I1,z)
Char(E1,C.P.Rivituso) 43
Interprétation logique d’un GC (5)
(G) est la fermeture existentielle de la conjonction
des prédicats associés à chaque sommet du graphe
w x y z (Experiment(E1) Interaction(I1) Author(C.P.Rivituso)
ListeriaScottA(w) Nisin(x) Reduction(y) SkimMilk(z) Obj(E1,I1)
Obj(I1,w) Agt(I1,x) Res(I1,y) Char(I1,z) Char(E1,C.P.Rivituso) )
SkimMilk : *
Author : C.P. Rivituso
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * ListeriaScottA : *
Res Agt Obj
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
Char
44
Spécialisation / projection (1)
Un graphe G1 est dit “spécialisation” d’un
graphe G2 (noté G1 G2) si G1 contient une
information plus spécifique que celle de G2
Comment déterminer que G1 est “plus
spécifique” que G2 ?
L’opération de projection
45
Spécialisation / projection (2)
Person : *
agt
1
2
Action : *
agt
1
2
G2
Author : C.P.Rivituso
agt
2
1
Write : * Article : #712 obj 1 2
G1
- opération de morphisme de graphe
(appariement)
- restrictions d’étiquettes de sommets possibles
- conservation des arêtes et de leur
numérotation
- non nécessairement injective
G1 G2 ssi projection(G2, G1)
46
Spécialisation / projection (3)
La projection est un problème NP-complet
dans le cas général (algorithme de backtrack)
explosion combinatoire si grand nombre de
sommets « banalisés » (molécules de chimie
par exemple)
peu réaliste dans le cas général (les étiquettes
des sommets ont un fort pouvoir discriminant)
Certains cas particuliers sont polynomiaux
projection d’un arbre dans un graphe 47
Spécialisation / projection (4)
Lien avec la déduction logique
G2 G1 ssi (G2) (G1)
Person : *
agt
1
2
Action : *
agt
1
2
G1
Author : C.P.Rivituso
agt
1
2
Write : * Article : #712 obj 1 2
G2
48
CoGITo / CoGITaNT/ CoGui
(LIRMM) Bibliothèque de classes C++
Haute teneur en pointeurs
Interface de saisie de graphes CoGui
http://cogitant.sourceforge.net
CoGITaNT is a C++ library for developing conceptual graphs applications, and a conceptual graph
editor.
Development Status: 4 - Beta, 5 - Production/Stable
Environment: Console (Text Based), Win32 (MS Windows), X11 Applications
Intended Audience: Developers, Other Audience, Science/Research
License: GNU General Public License (GPL)
Natural Language: French
Operating System: MacOS X, Windows NT/2000, OS Independent, FreeBSD, Linux, SunOS/Solaris
Programming Language: C++
Topic: Artificial Intelligence 49
Plan de l’exposé
Introduction
Hétérogénéité des données
le système MIEL
le modèle des graphes conceptuels
le langage de requête MIEL
traitement d’une requête
Imprécision des données
Incomplétude de la base
Conclusion
50
Base
Relationelle
Base de
graphes
conceptuels
Interface Graphique
MIEL
Requête
floue
Réponses
Médiateurs
Base XML
Données locales Données Web
Données
incomplètes
Données
hétérogènes
Données
incomplètes et
hétérogènes
Données
imprécises
Solution proposée
51
Attributs du langage MIEL
L’ontologie du système MIEL
aliments
microorganismes
vocabulaire lié aux expériences
références bibliographiques
A, ensemble fini d’attributs
a A, Type(a) {numérique, symbolique,
hiérarchisé} 52
Domaine de référence d’un attribut
si Type(a) = numérique, Ref(a) est un sous-ensemble de IR
Ref(pH) = [0, 14]
si Type(a) = symbolique, Ref(a) est un ensemble de
constantes symboliques
Ref(Author) = {S.Ajjarapu,C.P.Rivituso, M.Zwietering}
si Type(a) = hiérarchisé, Ref(a) est un ensemble de
constantes symboliques muni d’un ordre partiel
WholeMilk HalfSkim
Milk
Milk Meat
SkimMilk
Poultry
Beef Pork PasteurizedMilk
PasteurizedWholeMilk
Ref(Substrate) =
53
MIEL - Syntaxe d’une requête
{a1, …, ap |
Vue(a1, …, an) (ap+1 = vp+1) … (am = vm)}1pmn
Attributs de projection
Critères de sélection
Vue dans laquelle la requête est posée
54
MIEL – Forme d’une réponse
Réponse à une requête dans MIEL
{a1, …, ap | Vue(a1, …, an) (ap+1 = vp+1) … (am = vm)}1pmn
tuple {[a1, …, ap]}
55
Plan de l’exposé
Introduction
Hétérogénéité des données
le système MIEL
le modèle des graphes conceptuels
le langage de requête MIEL
traitement d’une requête
Imprécision des données
Incomplétude de la base
Conclusion
56
Exécution d’une requête MIEL
answers
answers
a b
a1 b1
a2 b2
… …
MIEL graphical
user interface Set of views
{V1(a,b,c), V2(d,e), V3(d,e,f)}
Set of views on the CGKB
V1(a,b,c) is view graph1
V3(d,e,f) is view graph3
Set of views on the RDB
V1(a,b,c) is « select … from »
V2(d,e) is « select … from »
Query : {a,b | V1(a,b,c) (c = 37)}
Set of views
{V1(a,b,c), V2(d,e), V3(d,e,f)}
Set of views on the RDB
V1(a,b,c) is « select … from »
V2(d,e) is « select … from »
Set of views on the CGKB
V1(a,b,c) is view graph1
V3(d,e,f) is view graph3
relational
database
conceptual
graph base
relational subsystem
(structured data)
conceptual graph subsystem
(weakly structured data)
57
MIEL – Le sous-système GC (1)
Représentation de l’ontologie en graphes
conceptuels
les numériques et symboliques apparaissent en tant
que marqueurs
les attributs de type hiérarchisé apparaissent ainsi
que leurs valeurs en tant que types de concepts
WholeMilk HalfSkim
Milk
Milk Meat
SkimMilk
Poultry
Beef Pork PasteurizedMilk
PasteurizedWholeMilk
Ref(Substrate) =
58
MIEL – Le sous-système GC (2)
Datum
Nisin
Bacteriocin
ListeriaScottA
Listeria
PathogenicGerm
Germ
Reduction
Stability
Expe Result
Experiment
Action
CFU/ml U/ml
Conc.M.U.
Degree
Temp. M.U.
Hour
Time M.U.
MeasureUnit
Interaction E.Coli
WholeMilk
HalfSkim
Milk
Milk Meat
Substrate
Temperature Duration
Concentration
ExperimentalDatum
Skim
Milk
Poultry
Beef Pork
Pasteurized
Milk
Pasteurized
WholeMilk
^
^
ExperimentalFactor
ListeriaMono.
59
Représentation du numérique dans les GC
Germ Action MeasureUnit
Universal
Value Datum
NumericalValue
Experiment : E1 Temperature : T1 Char NumVal NumericalValue : 30
Unit Degree
1 2
1
2
1 2
MIEL – Le sous-système GC (3)
60
Query : {a,b | V1(a,b,c) (c = 37)}
Selection of the view graph
A1 = {a1, b1}
A2 = {a2, b2}
…
An = {an, bn}
Query projection
Exécution d’une requête GC (1)
CG query generation
c : 37
a
b
conceptual
graph base
61
Exécution d’une requête GC (2)
Vue :
Bacteriocin interaction
Attributs de projection :
Pathogenic Germ, Expe. Result
Critères de sélection :
(Temperature = 37)
(Bacteriocin = Nisin)
62
Exécution d’une requête GC (3)
Graphe vue correspondant à la vue Bacteriocin interaction
Temp. M.U. : *
Temperature : * Duration : *
Substrate : *
Time M.U. : *
Expe. Result : *
Interaction : * Experiment : *
Bacteriocin : * Pathogenic Germ : *
Temperature Unit Time Unit
Res Agt
Char
Obj
Char
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
attributs interrogeables NumVal NumericalValue : *
2 1
63
Exécution d’une requête GC (4)
Temp. M.U. : *
Temperature : * Duration : *
Substrate : *
Time M.U. : *
Expe. Result : *
Interaction : * Experiment : *
Bacteriocin : * Pathogenic Germ : *
Temperature Unit Time Unit
Res Agt
Char
Obj
Char
Obj Char 1
2
1 2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
Le graphe requête : instantiation partielle du graphe vue
attributs interrogeables non utilisés
Temperature : *
Nisin : *
critères de sélection
Expe. Result : * Pathogenic Germ : *
attributs de projection
NumVal NumericalValue : 37 2
1
64
Exécution d’une requête GC (5)
Temp. M.U. : *
Temperature :* Duration : *
Substrate : *
Time M.U. : *
Expe. Result : *
Interaction : * Experiment : *
Nisin : * Pathogenic Germ : *
Temperature Unit Time Unit
Res Agt
Char
Obj
Char
Obj Char 1
2
1 2
1
2
1
2
1
2 1
2
1
2
1
2
1
2
Degree : *
Temperature : * Duration : 2
Skim Milk : *
Hour : *
Reduction : *
Interaction : I1 Experiment : E1
Nisin : * Listeria Scott A : *
Temperature Unit Time Unit
Res Agt
Char
Obj
Char
Obj Char 1
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
Concentration : 6.108 Hour : * Conc. Unit
Char 1
2
1 2
Concentration: 50
U/ml : *
Conc. Unit
Char
1
1 2
2
Pathogenic germ Expe. Result
Listeria Scott A Reduction
Requête
Donnée
numericalValue :37 Numval 1 2
numericalValue :37 Numval 1 2
65
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
les sous-ensembles flous
graphes conceptuels flous
base relationnelle floue
Incomplétude de la base
Conclusion
66
Imprécision des données
Expérimentations répétées
Seuils de détection des capteurs
Connaissances exprimées de manière floue
But : comment représenter cette imprécision
particulièrement dans les graphes conceptuels
67
Exemples d’informations imprécises
« Decimal reduction time of Listeria monocytogenes in skimmed
milk at 63.3°C is between [25.8, 28.2] (in seconds) »
« The bacterium Escherichia Coli is suspected to be responsible,
but the bacterium Shigella is not excluded »
68
0 2 4 6
0
1
°C
TempératureRéfrigération
noyau
support fonction d’appartenance
Notion de sous-ensemble flou
Assouplissement de la notion de sous-
ensemble d’un ensemble (classique)
Degré d’appartenance d’un élément au
sous-ensemble
classique : {vrai, faux}
flou : [0, 1]
69
Distribution de possibilités
Une distribution de possibilités représente,
sous la forme d’un sous-ensemble flou, un
ensemble priorisé de valeurs vraisemblables
mutuellement exclusives (Zadeh 1978).
ResponsibleBacterium
0
1
E. Coli Shigella
0.2
0 28.2 0
1
sec
DecimalReductionTime
25.8
70
Choix du modèle des sous-ensembles
flous
Expressivité (valeur précise, intervalle, valeur
floue, …)
Homogénéité données/requêtes
Etudié dans des travaux antérieurs
71
MIEL – Ce que deviennent les
valeurs
Utilisation des sous-ensembles flous
représentation de données imprécises
distribution de possibilités
Valeurs possibles d’un attribut a
application de Ref(a) dans [0, 1]
les valeurs possibles d’un attribut a sont les
sous-ensembles flous définis sur Ref(a)
4 0
1
pH_value
5 7 9 Milk
0
1
Substrate_value
Whole
Milk Skim
Milk
0.7 0.5
0 102 0
1
cells/g
Concentration
72
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
les sous-ensembles flous
graphes conceptuels flous
base relationnelle floue
Incomplétude de la base
Conclusion
73
Graphes conceptuels flous (1)
Exemple 1 : une température floue
Un concept avec marqueur flou est un concept dont le marqueur est
un sous-ensemble flou défini sur l’ensemble des marqueurs
individuels du support
45 60 70 85 0
1
1
Temperature: T
NumVa
l 2
NumericalValue :
74
: *
0
1
WholeMilk HalfSkimMilk
0,5
Exemple 2 : un substrat flou
Graphes conceptuels flous (2)
Un concept avec type flou est un concept dont le type est un sous-
ensemble flou défini sur un ensemble de types de concepts du
support. Son marqueur est générique. 75
Temperature : * 1 2
TempUnit
1
2 Degree : *
1
2
Experiment : *
Listeria : *
1
2
1
2
1
2
Char
Obj
Char
Res Expe.Result : *
NumericalValue :
35 36,5 37,5 43 0
1
: * 0
1
SkimMilk HalfSkimMilk
0,5
NumVal
a concept with a
fuzzy marker
a concept with a
fuzzy type
Graphes conceptuels flous (3)
76
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
les sous-ensembles flous
graphes conceptuels flous
base relationnelle floue
Incomplétude de la base
Conclusion
77
Le sous-système relationnel (1)
FuzzySetId MinSupp MinKer MaxKer MaxSupp
221 4 5 7 9
222 6 6 6 6
223 9 10 12 12.5
ExpeId Substrate Fuzzy
pH
27 Pork 221
39 SkimMilk 223 4
0
1
5 7 9
Valeurs numériques floues
78
Le sous-système relationnel (2)
Substrate FuzzyOriginId
Pork 101
FuzzyOriginId Value Degree
101 USA 1.0
101 Germany 1.0
101 Italy 0.7
USA
0
1
Germany Italy
0.7
Valeurs symboliques ou hiérarchiques floues
79
Le sous-système relationnel (3)
2 tables permettent de stocker le domaine de
référence pour les attributs à domaine
hiérarchisé
SubstrateName
Milk
WholeMilk
PasteurizedMilk
PasteurizedWholeMilk
SubstrateName1 SubstrateName2
Milk WholeMilk
Milk PasteurizedMilk
PasteurizedMilk PasteurizedWholeMilk
WholeMilk PasteurizedWholeMilk
RefSubstrate HierSubstrate
80
Le sous-système relationnel (4)
Base de données relationnelle floue
Oracle étendu au flou (traitements ad hoc)
données provenant de 700 publications
scientifiques en microbiologie
Structure
schéma relationnel (environ 90 tables ->
simplifié à 30)
complexité due à l’hétérogénéité des données
sources d’information variées
nombreuses demandes des membres du groupe
de travail qui a validé le schéma 81
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
expressions de préférences
fermeture d’un sous-ensemble flou
traitement d’une requête floue
généralisation de requêtes
ouverture sur le Web
Conclusion 82
Incomplétude de la base de données
But : comment retourner des informations
pertinentes à l’utilisateur
Rareté relative de l’information
Coût, confidentialité
Nombre infini de données potentiellement
intéressantes
combinaison de nombreux germes pathogènes, de
nombreux produits alimentaires…
paramètres expérimentaux définis sur des domaines
continus
83
Trois façons de traiter l’incomplétude
Requêtes flexible
expressions de préférences dans les requêtes
de l’utilisateur
Priorisation des valeurs recherchées
Généralisation automatique des requêtes
Complétion de la base
découverte de données sur le Web
84
Critères de sélection flous (1)
(attr val)
attribute name fuzzy set
(Temperature HumanBodyTemperature)
35 36,5 37,5 43 °C
HumanBodyTemperature
37,2 34 41 0
0,36
1
Expressions de préférences
85
10 15 45 50
0
1
°C
TempératureSurvie
répond à la requête ne répond pas
à la requête
???
Appariement d’un critère de sélection flou à
une valeur précise
Critères de sélection flous (2)
0,57
86
10 15 45 50
0
1
°C
TempératureSurvie
répond à la requête ne répond pas
à la requête
???
Critères de sélection flous (3)
Appariement d’un critère de sélection flou à
une valeur floue
87
Degrés d’adéquation d’une donnée
floue à un critère flou
Les sous-ensembles flous à comparer doivent
être définis sur le même domaine
Q D D Q
mesure d’inclusion mesure d’intersection Signification
Exemple
N(Q;D) = 1 - (Q;D)
= inf (max (µQ;1-D))
(Q;D) = sup (min (µQ; D)) Formule
Degré de nécessité
[Dubois&Prade 88]
Degré de possibilité
[Zadeh 78]
Degrés d’adéquation
88
Ensembles flous pour l’interrogation élargie
Ils expriment des critères de sélection élargis en associant des préférences aux valeurs recherchées
Une relation d’ordre est définie sur le domaine de valeurs.
Skim milk Semi-skimmed
milk
0
0,9
1
0,8
Whole milk
HFS
89
Ensembles flous définis sur un domaine de valeurs
hiérarchisé
Dans nos applications biologiques, les domaines de valeurs sont organisés en taxonomie: Une deuxième relation d’ordre représentée par la relation « sorte
de » est définie entre les valeurs
Exemples des taxonomies « food products » et « microorganisms ».
Whole milk
Half skim milk
Milk Cheese
Milk product
Skim milk
Yoghourt
Sweetened milk
Bacillus Clostridum
Gram positive
Listeria
Bacillus
anthracis
Bacillus
carotarum
Listeria monocytogenes
Listeria innocua
90
Une relation d’ordre pour définir des préférences sur le
domaine de valeurs
Une deuxième relation d’ordre représentée par la relation
« sorte de » est également définie.
L’hypothèse classique d’indépendance entre les degrés faite
pour les domaines de valeurs « plats » n’est plus vraie.
Les deux relations d’ordre doivent être
mises en adéquation.
Ensembles flous définis sur un domaine de valeurs
hiérarchisé
91
Sous-ensembles flous définis sur un
domaine hiérarchisé
Quelle signification quand deux termes comparables
(au sens de la relation « sorte de ») ont des degrés de
préférence différents ?
Peut-on utiliser la taxonomie pour élargir les requêtes
afin d’obtenir plus de réponses pertinentes ?
92
Notion de sous-ensemble flou hiérarchique (HFS)
Whole milk
Half skim milk
Milk Cheese
Milk product
Skim milk
Yoghourt
Pasteurized milk
Whole
pasteurized milk
Sweetened milk
Condensed milk
Condensed whole milk
Sweetened
condensed milk
Un HFS est un ensemble flou défini sur un sous-ensemble
de sa hiérarchie de référence.
Skim milk Milk 0
0,9
1
Milk Condensed milk 0
0,9
1
HFS1
HFS2
93
Deux constatations
Sémantique: les utilisateurs considèrent que
les termes plus spécifiques que ceux du HFS
doivent également être recherchés
Opérationnelle: les opérateurs classiques de
comparaison de la logique floue ne peuvent
pas être utilisés directement sur les HFS
Notion de sous-ensemble flou
hiérarchique (HFS) (2)
94
Fermeture d’ensemble flou hiérarchique
Whole milk Milk 0
0,8
1
0,3
Condensed milk
HFS
La fermeture d’un HFS est un HFS défini sur l’intégralité de sa hiérarchie de
référence en utilisant la relation « sorte de ».
Whole milk
1
Half skim milk 0.8
Milk
0.8
Cheese
0
Milk product
0
Skim milk 0.8
Yoghourt
0
Pasteurized milk 0.8
Whole
pasteurized milk 1
Sweetened milk 0.8
Condensed milk 0.3
Condensed whole milk
1
Sweetened
condensed milk 0.3
95
Notion d’ensemble flou hiérarchique minimal
Deux HFS différents peuvent avoir même fermeture.
Whole milk 0.8
Half skim milk 1.0
Milk
1.0
Cheese
0
Milk product
0
Skim milk 1.0
Yoghourt
0
Pasteurized milk 1.0
Whole
pasteurized milk 1.0
Sweetened milk 1.0
Condensed milk 1.0
Condensed whole milk
0.8
Sweetened
condensed milk 1.0
HFS1= 1.0/Milk
HFS2= 1.0/Milk + 1.0/Skim milk
Dans HFS2, Skim milk est déductible.
96
Notion d’ensemble flou hiérarchique minimal
Dans une classe d’équivalence donnée (pour une fermeture F donnée),
un HFS est dit minimal si sa fermeture est F et si aucun des termes de
son domaine de valeurs n’est déductible.
Whole milk 0.8
Half skim milk 1.0
Milk
1.0
Cheese
0
Milk product
0
Skim milk 1.0
Yoghourt
0
Pasteurized milk 1.0
Whole
pasteurized milk 1.0
Sweetened milk 1.0
Condensed milk 1.0
Condensed whole milk
0.8
Sweetened
condensed milk 1.0
HFS1= 1.0/Milk + 0.8/Whole milk +
1.0/Pasteurized milk
HFS2= 1.0/Milk + 0.8/Whole milk +
1.0/Whole pasteurized milk
Le HFS minimal est unique 0.8
97
Généralisation d’un ensemble flou hiérarchique
• Utiliser un ensemble flou hiérarchique comme
critère de sélection ne garantit pas que
l’utilisateur récupérera suffisamment de données.
• Idée: Généralisation du HFS en utilisant la
hiérarchie de référence pour obtenir plus de
réponses pertinentes.
98
Généralisation d’un ensemble flou hiérarchique
Whole milk 1.0
Half skim milk 0.8
Milk
0
Cheese
0
Milk product
0
Skim milk
0
Yogurt
0.6
Pasteurized milk
0
Whole
pasteurized milk 1.0
Sweetened milk
0
Condensed milk
0
Condensed whole milk
1.0
Sweetened
condensed milk 0
Whole milk Condensed
whole milk
0
0,8
1
0,6
Half skim
milk
HFS
Yogurt
Whole milk 0
0,8
1
0,6
Half skim milk
Minimal HFS
Yogurt
Etape 1: La généralisation est effectuée sur l’HFS minimal pour garantir la
même généralisation pour tous les HFS d’une même classe d’équivalence.
99
Généralisation d’un ensemble flou hiérarchique
• Etape 2: La généralisation est
composée d’un ensemble de
généralisation élémentaires
• Etape 3: La fermeture du HFS
généralisé est calculée avant
d’interroger la base.
Whole milk 1.0
Half skim milk 0.8
Milk
0.5
Cheese
0.3
Milk product
0.3
Skim milk 0.5
Yogurt
0.6
Pasteurized milk 0.5
Whole
pasteurized milk 1.0
Sweetened milk 0.5
Condensed milk 0.5
Condensed whole milk
1.0
Sweetened
condensed milk 0.5
100
Etat de l’art
1. Hierarchical fuzzy sets:
• Ontologies possibilistes [Loiseau & al. 2005]: les termes ont une
description floue
• Pseudo-thesaurii flous [Miyamoto & Nakayama 1986]: relations
floues entre les termes.
2. Généralisation d’un HFS:
• Affaiblissement d’un prédicat flou [Bosc & al. 2004] : uniquement
étudié sur un domaine de valeurs numériques.
• Tolerant fuzzy pattern matching [Dubois & Prade 1995]: applicable
à un HFS mais les résultats ne sont pas toujours intuitifs.
101
Comparaison des préférences de l’utilisateur aux données
imprécises: rendre les domaines comparables
0
1
Fresh
cheese
Soft
cheese
0.5
Food_Product_preferences
0/Substrate
0.5/Milk and milk products
1.0/Milk
0.5/Fresh cheese
0.5/Cheese
0/Meat
0.5/Soft cheese
0.5/Hard cheese
0.5/Camembert
fermeture +
généralisation
0
1
Milk Milk and
milk
products
0.5
Imprecise_Food_Product
0/Substrate
0.1/Milk and milk products
0.1/Milk
1/Fresh cheese
0.3/Cheese
0/Meat
0.5/Soft cheese
0.3/Hard cheese
0.5/Camembert
fermeture
102
Satisfaction d’un critère de
sélection flou dans MIEL
Satisfaction d’un critère de sélection (attr val)
degré de possibilité (val, [attr])
degré de nécessité n(val, [attr])
Adéquation d’un tuple à une requête ayant p
critères de sélection
= min(1, ..., p), N = min(n1, ..., np)
103
Appariement flou : la -N projection
Temperature : * 1 2
Temp.Unit
1
2
Degree : *
NumericalValue :
1 2 Experiment : E2
ListeriaScottA : *
1
2
1 2
Milk : *
1
2
Char
Obj
Char
Res Stability : *
NumVal
Duration : *
1
2
TimeUnit
1
2 Hour : *
1 2
Char
NumVal NumericalValue : 24
38 39 40 41 0
1
Temperature : * 1 2
Temp.Unit
1
2
Degree : *
1 2 Experiment : *
Listeria : *
1
2
1
2
: *
1
2
Char
Obj
Char
Res Expe.Result : *
NumVal
NumericalValue :
35 36,5 37,5 43 0
1
0
1
SkimMilk HalfSkimMilk
0,5
Query
Data
1 = 1
N1 = 0
2 = 0.77
N2 = 0.46 Query se
(-N)-projette dans Data
avec (=0.77 et N=0)
104
Base GC
Q1 : {a,b | V1(a,b,c) (c HumanBodyTemperature)}
Sélection des graphes vues
Génération de GC requêtes A1 = {w1, …, wn, 1}
A2 = {x1, …, xn, 2}
A3 = {y1, …, yn, 3}
A4 = {z1, …, zn, 4}
Projection
Exécution d’une requête GC
105
Exécution d’une requête BDR
Base relationnelle
Q1 : {a,b | V1(a,b,c) (c HumanBodyTemperature)}
« Défuzzification » de la requête
Sélection de la vue correspondant à la requête
V1(a,b,c) = « from R1, R2, R3 where
(R1.d = R2.d) and (R2.e = R3.f) »
Construction de la requête SQL floue
Q1’ = « select a,b from R1, R2, R3 where
(R1.d = R2.d) and (R2.e = R3.f) and (c
HumanBodyTemperature)»
A1 = {w1, …, wn, 1}
A2 = {x1, …, xn, 2}
A3 = {y1, …, yn, 3}
A4 = {z1, …, zn, 4}
Exécution de la requête
106
107
Transformation d’une requête
floue
microorganismPreferences = {1.0/Gram+ + 0.5/Gram-}
microorganismPreferences = {1.0/Gram+ + 0.5/Gram- + 1.0/
Clostridium botulinum + 1.0/ Staphylococcus Spp. + 0.5/ Salmonella}
fermeture
microorganismsList = {Gram+, Gram- , Clostridium botulinum,
Staphylococcus Spp., Salmonella}
« défuzzyfication »
Ouverture du MIEL sur le Web –
Les projets e.dot et WebContent
Entrepôt de données ouvert sur la toile
Objectif
constituer un entrepôt de données à partir
d’informations trouvées sur le Web
application à la prévention du risque
alimentaire
108
WebContent crawler/filter
html
xml
any2XML
XML
XML2RDF
XML
/RDF
XML base
xml
xml
xml
/ RDF
ontology
Local schema
RDB query processor
relational
database
(+ fuzzy sets)
Local schema
CG query processor
conceptual
graph KB
(+ fuzzy sets)
MIEL++
109
Plan de l’exposé
Introduction
Hétérogénéité des données
Imprécision des données
Incomplétude de la base
Conclusion
et concretement, ça donne quoi ?
conclusions
perspectives
stage de Master recherche
suite des exposés 110
Et concretement, ça donne quoi ?
111
112
113
114
Conclusion sur le système MIEL
Proposition d’une extension du modèle des GC à la
représentation de types et de marqueurs flous
Proposition de la notion de HFS en logique floue
Implémentation sur CoGITaNT
Système « médiateur » BD relationnelle + GC
Par rapport au projet Sym’Previus
très bon accueil de la part des professionnels
souplesse
interface graphique de saisie
115
En cours et perspectives
Méthode générale d’annotation sémantique et
interrogation flexible de documents textuels du
Web
Fiabilité des données du Web
116
Bibliographie
Haemmerlé O., Buche P., Thomopoulos R. (2007) The MIEL system: uniform
interrogation of structured and weakly-structured imprecise data, Journal of
Intelligent Information Systems 29 (3), 279-304.
Thomopoulos R., Buche P., Haemmerlé O. (2006) Fuzzy sets defined on a
hierarchical domain, IEEE Transactions on Knowledge and Data Engineering
18(10) 1397-1410.
Buche P., Dervin C., Haemmerlé O., Thomopoulos R., (2005) Fuzzy querying
on incomplete, imprecise and heterogeneously structured data in the relational
model using ontologies and rules, IEEE Transactions on fuzzy systems 13(3)
373-383.
J.F. Sowa, Conceptual structures, information processing in mind and machines,
Addison-Wesley, 1984
M.L. Mugnier, M. Chein, Représenter des connaissances et raisonner avec des
graphes, Revue d’Intelligence Artificielle, 10(1):7-56, 1996
Site Web du projet Sym’Previus, www.symprevius.net
L. Zadeh, Fuzzy sets as a basis for a theory of possibility, Fuzzy sets and
systems, 1:3-28, 1978 117
Bibliographie
Destercke S., Buche P., Charnomordic B. (2013) Evaluating data reliability: an
evidential answer with application to a Web-enabled data warehouse. IEEE
TKDE 25(1): 92-105.
Destercke S., Buche P., Guillard V. (2011) A flexible bipolar querying approach
with imprecise data and guaranteed results. Fuzzy sets and Systems 169 (1):
51-64.
Buche P., Couvert O., Dibie-Barthélemy J., Hignette G., Mettler E., Soler L.
(2011) Flexible querying of web data to simulate bacterial growth in food. Food
Microbiology, 28 (4): 685-693
Buche P., Dibie-Barthelemy J., Khefifi R., Saïs F. An Ontology-based method
for Duplicate Detection in Web Data Tables. Lecture Notes in Computer Science
6860, pp 511-525 (Proceedings of DEXA 2011)
Touhami R., Buche P., Dibie-Barthélemy J., Ibanescu L. An Ontological and
Terminological Resource for n-ary Relation Annotation in Web Data Tables. To
be published in Lecture Notes in Computer Science (Proceedings of Odbase'11)
118