design of a data warehouse opened on the web - cirad · design of a data warehouse opened on the...
TRANSCRIPT
Design of a data warehouse opened
on the Web
Juliette Dibie-Barthélemy1,2, Patrice Buche3
1Unité INRA - Mét@Risk
16, rue Claude Bernard
75231 PARIS Cedex 05
2AgroParisTech
UFR d’informatique
16, rue Claude Bernard
75231 PARIS Cedex 05
3UMR INRA – IATE
2, place Pierre Viala
34 060 Montpellier
DR Web sémantique
Agenda
Introduction
Fuzzy annotation of Web data tables driven
by a domain ontology
Flexible querying of fuzzy RDF annotations
using fuzzy conceptual graphs
Flexible SPARQL querying of Web data
tables driven by an ontology
Besoins en construction et évolution
d'ontologie dans un système d’intégration de
données du Web
DR Web sémantique
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
DR Web sémantique
Fuzzy annotation of Web data tables
driven by a domain ontology
Gaëlle Hignette, Patrice Buche, Juliette Dibie-Barthélemy, Ollivier Haemmerlé
DR Web sémantique
Agenda
Introduction
Main steps of the processing
Experimental results
Visualization of the annotations
Conclusion and perspectives
DR Web sémantique
Introduction
Context: local relational databases
containing internal data of a company exist
How to exploit the huge amount of tables
available on the Web to complement those
local databases ?
One possibility is to index Web tables
using the vocabulary already used to index
local data in order to be able to query
them simultaneously
DR Web sémantique
Example of table to annotate
Organism minimum
aw
optimum
aw
maximum
aw
Clostridium
perfringens
0.943
0.95-0.96
0.97
Staphylococcus
aureus
0.83
0.98
0.99
Table 1: Approximate aw values for growth of selected pathogens in food
relations
Symbolic data Numerical data
DR Web sémantique
Structure of the ontology
micro-
organisms
food
products
Escherichia
E. coli
E. coli O157
Bacillus
B. cereus
pathogen
UHT milk pasteurized
milk
milk
pasteurized
UHT milk
symbolic type :
- name of the type (+ synonyms)
- taxonomy of values
numeric type :
- Name of the type (+ synonyms)
- possible units
- interval of values
pH: No unit,
[0,14]
aW: No unit,
[0,1]
Temperature:
°C or °F,
no interval
relations
relation:
- name of the relation (+ synonyms)
- signature: - result type (range)
- access types (domain)
DR Web sémantique
Creation of the ontology
Ontology
Local
database
Meta data
and data extraction
csv
files
Generation
of the ontology in OWL
DR Web sémantique
Data integration and querying
Web <XML>
<html> doc
Document
search
Table extraction
and transformation
Semantic
annotation XML
database
Ontology
Flexible
query
Mediator
Local
databases
DR Web sémantique
Agenda
Introduction
Main steps of the processing
Experimental results
Visualization of the annotations
Conclusion and perspectives
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Numeric or symbolic cell
Count the number of marks in the cell
numeric indicator: number in scientific notation or
number followed by a unit
numeric mark : number or unit
symbolic mark : word which is nor a unit and nor an
indicator of no result (nr, …)
Choose the type of the cell
numeric
More numeric marks than symbolic marks
Else symbolic
Unknown if same number of numeric and symbolic
DR Web sémantique
Numeric or symbolic cell
Example
Products Samples
tested
Positive for
Campylobacter (%)
Year Reference
Chilled
chicken
22 68.2 1984 Gill and
Harris, 1984
Chicken
products
1320
(approx –
not
specified)
0.07
1992/
1994
Campbell
and Gilbert,
1995
symb.
symb.
num.
unknown
symb. num.
num.
num.
num.
num.
num. num.
symb.
symb.
symb.
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Coordinate axis = possible lemmatized words
Coordinate values = weight of the word in the term (0 if the word is not part of the term or is a stopword, else 1)
Similarity between vectors (Cosine similarity)
Cos(cooked turkey, turkey meat) = 0.5
coord.
term
cook turkey meat
WEB: cooked turkey 1 1 0
ONTOLOGY: turkey meat 0 1 1
Similarity measure between terms
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Score of a symbolic type for the column
Computation of two scores scoretitle: cosine similarity score between the title of
the column and the name of the type
scorecontent: score obtained from similarities between terms in the cells and terms of the taxonomy of the symbolic type
Final score computation:
scorefinal = 1 – (1-scorecontent)(1-scoretitle)
The type having the best score is chosen for the column (at least 10% superior to the second best)
DR Web sémantique
Score according to the column content
FOOD
Minced beef
Chorizo (low-
acid fermented
sausage)
Smoked
salmon
minced poultry: 0.5
ground beef: 0.5
lactic acid bacteria: 0.3
fermented milk: 0.3
smoked sausage: 0.4
dried sausage: 0.4
fresh sausage: 0.4
smoked sausage : 0.5
smoked salmon: 1.0
smoked fish: 0.5
Sum of the similarities
food product : 1.0
food product : 1.5
food product : 2.0
similarities
microorganism: 0.0
microorganism: 0.3
microorganism: 0.0
FOOD
FOOD
FOOD
Score of content : scorecontent(food product)=3/3,
scorecontent(microorganism)=0/3
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Score of a numeric type for the column
Positive for
Campylobacter
(%)
0.07
Units
present
in the
column
%
Types possible
according to the unit
N2
O2
0.2
0.2
: 0.2
: 0.2
CO2 0.2
: 0.2
Samples Positive : 0.2
NaCl : 0.2 0.2
0.2
Score according
to the title
0
0
0
0
0.5
scorefinal = 1-(1-0.2)(1-0.5)=0.6
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Columns recognized in the table
Strain Min
pH
Max
pH
Min
temperature
Max
temperature
ATCC
3502
5 10 10°C 40°C
NCIB
4270
5.2 10.5 3.3°C 35°C
Table 2: Conditions of growth for Clostridium botulinum
unknown pH pH Temperature Temperature
Search for relations of the ontology whose result type has been
recognized in the columns of the table
DR Web sémantique
Finding the relations
Unknown pH pH Temperature Temperature
Relation of the web:
Relations of the ontology:
Conditions of growth for Clostridium botulinum
Relation Signature Score on the
columns
Score on
the title
Final
score
Growth parameter
- pH
pH
Microorganism
1/2 0.35 0.68
Product property -
pH
pH
Food product
1/2 0 0.5
Growth parameter
- Temperature
Temperature
Microorganism
1/2 0.35 0.68
DR Web sémantique
Steps of the automatic annotation
Distinguish between numeric & symbolic columns
Computation of the similarity scores between
terms of the ontology and terms from the web
Finding the type of
numeric columns
Finding the relations represented in the table
Finding the type of
symbolic columns
Instanciating the relations for each row of the table
DR Web sémantique
Instanciation of the relations
For each row of the table, we instanciate
each type of the signature of the
recognized relations
Instanciation of the types as fuzzy sets
symbolic types : semantic of similarity
numeric types : semantic of imprecision
DR Web sémantique
Symbolic types
The fuzzy set is defined on the set of
terms of the ontology
Membership function: similarity of the term
of the Web with each term of the ontology
cooked turkey : 0
1
Turkey
meat
Turkey.
pie
0,5
DFS
DR Web sémantique
Similariy between terms using an ontology
A lot of measures of semantic similarity
using ontologies
Need to have an ontology including all the
terms to compare
Experimentation
Food products in
Sym’Previus
Food products from
the Web tables
Present in
WordNet
37,3% 35,7%
Present in
AgroVoc
29,6% 20%
DR Web sémantique
Numeric types
The fuzzy value associated with the numeric type
may be built from one or several columns having the
same type
Several numerical values must be linked
The fuzzy set is built from the recognition of key-words in
the titles of the columns (Minimum, Maximum, Optimum)
Exclusive weighted disjunction of possible values
Example
Species pH
Min
pH
Opt
pH
Max
Bacillus
cereus
5 6 - 7 8.8
CFS
DR Web sémantique
Numeric: semantic of imprecision
Exclusive weighted disjunction of possible values
Other cases are considered
interval in a cell
mean+standard deviation in a cell
mean+standard deviation in two columns
Precise value
regular
expression
Key-word
0
0,5
1
35 36 37 38 39 40
0
0,5
1
35 36 37 38 39 40
0
0,5
1
35 36 37 38 39 40
DR Web sémantique
Agenda
Introduction
Main steps of the processing
Experimental results
Visualization of the annotations
Conclusion and perspectives
DR Web sémantique
Experimental results: symbolic vs numeric
Manual
annotation
Total
number
Classification using the
ontology
Naïve classification
numeric symbolic numeric symbolic
numeric 263 262 1 229 34
symbolic 86 5 81 13 73
precision : 98% precision : 87%
Input
Output
classification using the ontology naïve classification
349 columns Sym’Previus
ontology
annotated columns : symbolic or numeric
comparison with the manual annotation
DR Web sémantique
Finding symbolic types
Ontology Nb symbolic
types
Nb
columns
Precision Recall
Microbiological
risk
3 81 89% 81%
Chemical risk 3 22 100% 100%
Aeronautics 4 46 82% 100%
DR Web sémantique
Finding numeric types
Ontology Nb numeric
types
Nb
columns
Precision Recall
Microbiological
risk
18 261 96% 93%
Chemical risk 5 65 100% 85%
Aeronautics 29 114 96% 86%
DR Web sémantique
Finding the relations
Ontology Nb relations in
the ontology
Nb relations
manually
annotated
Precision Recall
Microbiological
risk
16 123 80% 97%
Chemical risk 4 34 93% 79%
Aeronautics 26 113 98% 88%
DR Web sémantique
Instanciating the relations: numerical values
Evaluation on 119 relations for the
Microbiological corpus:
The first row examined manually
On 119 relations:
2 errors of recognition of the numerical value
3 errors of reconstruction of intervals of
values
On 13 relations, the numerical type
Temperature was not instanciated because
not present in the table
DR Web sémantique
Instanciating the relations: symbolic values
185 food product
names from the web
Sym’Previus
food product
taxonomy
(507 terms)
Codex
Alimentarius
(1644 terms) Input
output terms of the ontology sorted by their decreasing
similarity with the term of the web
For each ontology, for each term of the web
Assessment
evaluation «at worst» of the position of the « best match »
Manual definition of the « best match »
For each ontology, for each term of the web
DR Web sémantique
Experimental Results
ontology Codex Alimentarius Sym’Previus
Best match with
score >0
60% 78%
Position of the
best match
1st
position
in the 5
firsts
1st
position
in the 5
firsts
cosinus 34% 52% 46% 66%
Important to keep the fuzzy set of similarities in
order to keep the best match
DR Web sémantique
Agenda
Introduction
Main steps of the processing
Experimental results
Visualization of the annotations
Conclusion and perspectives
DR Web sémantique
Agenda
Introduction
Main steps of the processing
Experimental results
Visualization of the annotations
Conclusion and perspectives
DR Web sémantique
Conclusion
The annotation of tables is unsupervised using one resource, the ontology
Annotations are accurate
Experimental results are encouraging to confirm the potential genericity of our approach tested in microbiological risk in food and in two other fields (chemical risk in food and aeronautics)
Method implemented in the @Web software
OWL
ontology
XML
tables
tables annotated
in RDF
DR Web sémantique
Short term perspectives
Flexible querying
To take into account fuzzy annotations
(similarity, imprecision)
Integration in different applications
Sym’Previus industrial partners : simulation of
pathogen growth
French food safety agency (CARAT):
evaluation of the chemical contamination of a
population
EADS: economic watch in aeronautics
DR Web sémantique
Comparison with the bibliography
Semantic web proposals:
TableSeer permits to extract a set of predefined
metadata (caption, cell content, geographical position
of the table in the page, …) from web tables but it
does not compare the schema of the web table to
preexisting schemas
WebTables identifies, indexes to query and rank
tables. But the querying language is only composed
of a set of key-words compared to the attribute names
of the tables (the content of the tables is not used in
the querying process)
DR Web sémantique
Comparison with the bibliography
Fuzzy DL
Our approach is less rich but permits to represent and
query, with standard SPARQL engines like Jena or
Corese, fuzzy sets having a semantic of similarity and
imprecision
Very interesting approach to represent fuzzy
assertions
By example: combining the instantiations with the
terminological knowledge and find inconsistencies.
We will study the way we could generate the fuzzy
annotations in order to take benefits of this approach
(Ontosearch2).
DR Web sémantique
Agenda
Introduction
Fuzzy annotation of Web data tables driven
by a domain ontology
Flexible querying of fuzzy RDF annotations
using fuzzy conceptual graphs
Flexible SPARQL querying of Web data
tables driven by an ontology
Besoins en construction et évolution
d'ontologie dans un système d’intégration de
données du Web
DR Web sémantique
Flexible querying
of fuzzy RDF annotations
using fuzzy conceptual graphs
Patrice Buche,
Juliette Dibie-Barthélemy,
Gaëlle Hignette
DR Web sémantique
Introduction
Data source integration for decision
support systems
Main application: risk in food
DR Web sémantique
Data properties
Heterogeneity
Structure
Vocabulary
Rarity
Experimental cost
Manual entering cost
Imprecision
Biological variability
Sensor resolution
Semantic annotation
DR Web sémantique
Data integration
Web
Document
search
Data table
extraction
Semantic
annotation
Ontology
RDB
Manual
entering
CG XML/RDF
Local databases Web data
DR Web sémantique
Flexible querying
MIEL flexible query
Mediator
RDB XML/RDF CG
Ontology
Translation
DR Web sémantique
Agenda
Introduction
Semantic annotation of data tables
The fuzzy CG base
Flexible query processing of the CG base
Concluding remarks
DR Web sémantique
The ontology
Micro-
organism
Food
Product
Clostridium
botulinum Salmonella
Gram-
UHT milk pasteurized
milk
milk
pasteurized
UHT milk
Aw: no unit,
[0,1]
Temperature: °C or °F,
no
value interval
relations
Symbolic types
Numeric types
Gram+
Staphylococcus
Spp.
DR Web sémantique
An example of Web data table
Organism aw minimum aw optimum aw maximum
Clostridium 0.943 0.95-0.96 0.97
Staphylococcus 0.88 0.98 0.99
Salmonella 0.94 0.99 0.991
Table 1: Cardinal values
Microorganism aw
GrowthParameterAw
0
1
Clostridium
Perfringens
Clostridium.
Botulinum
0,5
DFS
60
0.943 0.95 0.96 0.97 0
1
CFS
DR Web sémantique
An example of fuzzy RDF annotation
uriRow1
GrowthParameterAw
CFS1 aw1 AssociatedRange
Aw
rdf:type
isAnnotatedBy
CFS rdf:type
HasForSemantic
Imprecision
HasForUnit
None
HasForMaxS
0.95
HasForMaxK 0.96
HasForMinS
0.943
HasForMinK
0.97
micro1 AssociatedDomain
MicroOrg rdf:type
DFS1 isAnnotatedBy
DFS
rdf:type
HasForSemantic Similarity
elt1 HasForElt
elt2 HasForElt
CPerfring. rdf:type
CBotulinum rdf:type
HasForMbDgr 0.5
rdf:type
HasForMbDgr
0.5
DR Web sémantique
Agenda
Introduction
Semantic annotation of data tables
The fuzzy CG base
Flexible query processing of the CG base
Concluding remarks
DR Web sémantique
Fuzzy types and markers
Fuzzy
markers NumericalValue:
: *
Fuzzy
concept
types 0
1
Clostridium
Perfringens
Clostridium.
Botulinum
0,5
60
0.943 0.95 0.96 0.97 0
1
DR Web sémantique
Translation rules
Rules from Corby 2000: URI -> individual marker of the Resource concept
type
Literal value -> individual marker of the Literal concept type
RDF class -> subtype of Resource
RDF property -> relation
Rules to translate fuzzy values RDF description typed by the class DFS ->
concept vertex with a fuzzy type
RDF description typed by the class CFS -> concept vertex with a fuzzy marker
DR Web sémantique
An example of fuzzy RDF annotation
uriRow1
GrowthParameterAw
CFS1 aw1 AssociatedRange
Aw
rdf:type
isAnnotatedBy
CFS rdf:type
HasForSemantic
Imprecision
HasForUnit
None
HasForMaxS
0.95
HasForMaxK 0.96
HasForMinS
0.943
HasForMinK
0.97
micro1 AssociatedDomain
MicroOrg rdf:type
DFS1 isAnnotatedBy
DFS
rdf:type
HasForSemantic Similarity
elt1 HasForElt
elt2 HasForElt
CPerfring. rdf:type
CBotulinum rdf:type
HasForMbDgr 0.5
rdf:type
HasForMbDgr
0.5
DR Web sémantique
An example of fuzzy CG
GrowthParameterAw:uriRow1
AssociatedDomain
MicroOrg:uriMicro1
AssociatedRange
Aw:uriAw1
IsAnnotatedBy
1.0
Clost.Perf. Clost.Botu.
0.5 :*
HasForSemantic Similarity:*
IsAnnotatedBy
1.0
0.943 0.97
0.5
NumVal:
0.95 0.96
HasForSemantic
Imprecision:*
HasForUnit
NONE:*
DR Web sémantique
Agenda
Introduction
Semantic annotation of data tables
The fuzzy CG base
Flexible query processing of the CG
base
Concluding remarks
DR Web sémantique
Flexible querying of the CG base
MIEL flexible query
Mediator
RDB CG
(local + Web)
Ontology
DR Web sémantique
Query : {a,b | V1(a,b,c) (c ≈ v)}
Selection of the view graph
Query projection CG query generation
c : v
a
b
conceptual
graph base
R1 ={ad1, (1, N1 ), a1, b1}
…
Rn ={adn, (n, Nn), an, bn}
Query processing in the CG subsystem
DR Web sémantique
Example of query
Q ={Microorganism,aw|
(GrowthParameterAw(Microorganism, aw)
(Microorganism ≈ MicroPreferences)
(aw ≈ awPreferences)}
1.0
Clost.Perf Gram-
0.5
MicroPref
1.0
0.9 0.99
0.5
0.94 0.97
AWPref
DR Web sémantique
The view graph GrowthParameterAw
GrowthParameterAw:*
AssociatedDomain
MicroOrg:*
AssociatedRange
Aw:*
IsAnnotatedBy
HasForSemantic Similarity:*
IsAnnotatedBy
NumVal:*
HasForSemantic
Imprecision:*
HasForUnit
NONE:*
T:*
DR Web sémantique
A query in the view GrowthParameterAw
GrowthParameterAw:*
AssociatedDomain
MicroOrg:*
AssociatedRange
Aw:*
IsAnnotatedBy
HasForSemantic Similarity:*
IsAnnotatedBy
HasForSemantic
Imprecision:*
HasForUnit
NumVal:*
NONE:*
T:*
Microorganism ≈ MicroPreferences
1.0
Clost.Perf Gram-
0.5 :*
aw ≈ awPreferences
1.0
0.9 0.99
0.5
NumVal:
0.94 0.97
DR Web sémantique
Fuzzy matching: the approximate-projection
GrowthParameterAw:*
AssociatedDomain MicroOrg:*
AssociatedRange
Aw:*
IsAnnotatedBy HasForSemantic
Similarity:*
IsAnnotatedBy
HasForSemantic
Imprecision:*
HasForUnit
NONE:*
1.0
Clost.Perf Gram-
0.5 :*
1.0
0.9 0.99
0.5 NumVal:
0.94 0.97
Data
Query
GrowthParameterAw:uriRow1
AssociatedDomain
MicroOrg:uriMicro1
AssociatedRange Aw:uriAw1
IsAnnotatedBy
1.0
Clost.Perf. Clost.Botu.
0.5 :*
HasForSemantic
Similarity:*
IsAnnotatedBy
1.0
0.94 0.991
0.5
NumVal:
0.99 0.99
HasForSemantic Imprecision:*
HasForUnit
NONE:*
2 = 0.68
N2 = 0.5
ad = 0.5
Query can be
approx-projected into Data
with ad = 0.5, = 0.68, N = 0.5
DR Web sémantique
Example of answer
ad N Microorganism Aw
0.5 1 1 0.5/Clostridium Perfringens
+
0.5/Clostridium Botulinum
[0.943, 0.95, 0.96,
0.97]
0.5 0.5 0.68 0.5/Staphylococcus spp.+
0.5/Staphylococcus aureus
[0.88, 0.98, 0.98, 0.99]
0.5 0 0.965 1.0/Salmonella
[0.94, 0.99, 0.99,
0.991]
DR Web sémantique
Agenda
Introduction
Semantic annotation of data tables
The fuzzy CG base
Flexible query processing of the CG base
Concluding remarks
DR Web sémantique
Conclusion
Design of a flexible querying system of
fuzzy RDF annotations
Translation rules of fuzzy RDF annotations
into fuzzy CGs
An « approximate »-projection
Next steps
Experimentation: test on different corpuses
(risk in food and aeronautics)
Integration in two decision support systems
(risk in food)
DR Web sémantique
Agenda
Introduction
Fuzzy annotation of Web data tables driven
by a domain ontology
Flexible querying of fuzzy RDF annotations
using fuzzy conceptual graphs
Flexible SPARQL querying of Web data
tables driven by an ontology
Besoins en construction et évolution
d'ontologie dans un système d’intégration de
données du Web
DR Web sémantique
Flexible SPARQL querying of Web
data tables driven by an ontology
P. Buche, J. Dibie-Barthélemy, H. Chebil
INRA and AgroParisTech
France
DR Web sémantique
Motivation
Interested in applications in scientific domains with lack of data
Two complementary ways to deal with this problem: Flexible querying systems
To exploit Web sources of information
A lot of data tables are available on the Web
They represent a very interesting potential to complement local databases of a company
Preliminary step: harmonizing Web data tables with local data
DR Web sémantique
Integration driven by a domain ontology
Ontology
Local
database
Meta data
and data extraction
csv
files
Generation
of the ontology in OWL
DR Web sémantique
Integration driven by a domain ontology
Web <XML>
<html>
doc
Document
search
Table extraction
and transformation
Semantic
annotation XML
database
Ontology
Mediator
Local
database
MIEL++
query
DR Web sémantique
Agenda
Ontology content
An example of annotated Web table
The MIEL++ flexible querying language
Query evaluation
Conclusion and perspectives
DR Web sémantique
Ontology content
micro-
organisms
food
products
Escherichia
E. coli
E. coli O157
Bacillus
B. cereus
pathogen
UHT milk pasteurized
milk
milk
pasteurized
UHT milk
symbolic attribute :
- name of the attribute (+ synonyms)
- taxonomy of values
numeric attribute :
- Name of the attribute (+ synonyms)
- possible units
- interval of values
pH: No unit,
[0,14]
aW: No unit,
[0,1]
Temperature:
°C or °F,
no interval
relations
DR Web sémantique
Agenda
Ontology content
An example of annotated Web table
The MIEL++ flexible querying language
Query evaluation
Conclusion and perspectives
DR Web sémantique
An example of Web data table
Organism aw minimum aw optimum aw maximum
Clostridium 0.943 0.95-0.96 0.97
Staphylococcus 0.88 0.98 0.99
Salmonella 0.94 0.99 0.991
Table 1: Cardinal values
Microorganism aw
GrowthParameterAw
0
1
Clostridium
Perfringens
Clostridium.
Botulinum
0,5
DFS
60
0.943 0.95 0.96 0.97 0
1
CFS
DR Web sémantique
An example of fuzzy RDF annotation
uriRow1 GrowthParameterAw
CFS1 aw1
AssociatedRange
Aw
rdf:type
isAnnotatedBy
CFS rdf:type
HasForSemantic
Imprecision
HasForUnit
None
HasForMaxS
0.95
HasForMaxK 0.96
HasForMinS
0.943
HasForMinK
0.97
micro1 AssociatedDomain
MicroOrg rdf:type
DFS1 isAnnotatedBy
DFS
rdf:type
HasForSemantic Similarity
elt1 HasForElt
elt2 HasForElt
CPerfring. rdf:type
CBotulinum rdf:type
HasForMbDgr 0.5
rdf:type
HasForMbDgr
0.5
DR Web sémantique
Agenda
Ontology content
An example of annotated Web table
The MIEL++ flexible querying language
Query evaluation
Conclusion and perspectives
DR Web sémantique
MIEL++ flexible query
{Microorganism, aw | GrowthParameterAw( Microorganism, aw )
(Microorganism MicroPref) (aw awPref)}
Projection attributes
Selection attributes
Relation in which the query is asked
DR Web sémantique
Preferences expressed as fuzzy sets
1.0
Gram+ Gram-
0.5
MicroPref
1.0
0.9 0.99
0.5
0.94 0.97
AWPref
DR Web sémantique
Agenda
Ontology content
An example of annotated Web table
The MIEL++ flexible querying language
Query evaluation
Conclusion and perspectives
DR Web sémantique
Query evaluation overview
Query : {a,b | R1(a,b,c) (c ≈ v)}
Selection of the relation
in the ontology
SPARQL
query evaluation SPARQL query generation
c : v
a
b
XML/RDF
base
R1 ={ad1, (1, N1 ), a1, b1}
…
Rn ={adn, (n, Nn), an, bn}
Calculation of
the comparison degrees
DR Web sémantique
A part of the OWL ontology
rdfs:domain
SymbolicAttribute
Microorganism
Attribute
NumericalAttribute
HasForTaxonomy rdfs:range
MicroorganismRoot
Gram+
Staphylococcus
Spp.
Clostridium
botulinum
rdfs:subClassOf
Salmonella
Gram-
rdfs:domain HasForMinValue
rdfs:range
rdfs:domain
0
HasForMaxValue
rdfs:range
1
rdfs:domain
AssociatedUnitList
rdfs:range
Temperature
°C, °F
Relation
GrowthParameterAw
AssociatedDomain
rdfs:range
rdfs:domain
Aw rdfs:domain
AssociatedRange rdfs:range
Selection of the relation
DR Web sémantique
Building of the query pattern
?r
GrowthParameterAw
?v ?aw ?s
HasForMbDgr AssociatedRange
Aw
rdf: type
isAnnotatedBy
CFS
rdf: type HasForSemantic
Imprecision
HasForUnit
None
HasForMaxS
?MinK
HasForMaxK ?MaxK
HasForMinS
?MinS
HasForMinK
?MaxS
?micro
AssociatedDomain
MicroOrg
rdf : type
?m isAnnotatedBy
DFS
rdf: type
HasForSemantic Similarity
?elt HasForElt
?t.
rdf: type
HasForMbDgr ?deg
rdf: type
CONSTRUCT
DR Web sémantique
Fuzzy query transformation
Fuzzy predicates are transformed into
boolean predicates (α-cut with α=0)
awPreferences = {0.9, 0.94, 0.97, 0.99}
0-cut
awInterval = [0.9, 0.99]
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}
closure
microorganismsList = {Gram+, Gram- , Clostridium botulinum,
Staphylococcus Spp., Salmonella}
0-cut
DR Web sémantique
Sparql query generation
?r
GrowthParameterAw
?v
?aw ?s
HasForMbDgr AssociatedResult
Aw
rdf: type
isAnnotatedBy
CFS
rdf: type HasForSemantic
Imprecision
HasForUnit
None
HasForMaxS
?MinK
HasForMaxK
?MaxK
HasForMinS ?MinS
HasForMinK
?MaxS
?micro
AssociatedKey
MicroOrg
rdf : type
?m isAnnotatedBy
DFS
rdf: type
HasForSemantic Similarity
?elt HasForElt
?t.
rdf: type
HasForMbDgr ?deg
rdf: type
WHERE <idem Construct>
CONSTRUCT
FILTER ( xsd:float (?s) >= 0.5)
FILTER ( ?t = ‘Gram+’ || ?t = ‘Gram-’ || ?t = ‘Clostridium_botulinum' || ?t = ‘Staphylococcus_Spp.' ||
?t = ‘Salmonella')
FILTER ( ( xsd:float (?minS) >= 0.9 && xsd:float (?minS) <= 0.99) || ( xsd:float (?maxS) >= 0.9 &&
xsd:float (?maxS) <= 0.99 || ( xsd:float (?maxS) <= 0.99 && xsd:float (?minS) >= 0.9 ) )
DR Web sémantique
Comparison function 1
Preferences (Q) /similarity (A)
1.0
Gram+ Gram-
0.5
MicroPref
0
1
Clostridium
Perfringens
Clostridium.
Botulinum
0,5
MicroAnnotation
Clostridium
botulinum
…
ad = 0.5
DR Web sémantique
Comparison function 2
Preferences (Q) /imprecision (A)
1.0
0.9 0.99
0.5
0.94 0.97
AWPref
60
0.943 0.95 0.96 0.97 0
1
AWAnnotation
= 1.0
N = 1.0
DR Web sémantique
Example of answer
ad N Microorganism Aw
0.5 1 1 0.5/Clostridium Perfringens +
0.5/Clostridium Botulinum
[0.943, 0.95, 0.96, 0.97]
0.5 0.5 0.68 0.5/Staphylococcus spp.+
0.5/Staphylococcus aureus
[0.88, 0.98, 0.98, 0.99]
0.5 0 0.965 1.0/Salmonella
[0.94, 0.99, 0.99, 0.991]
DR Web sémantique
Agenda
Ontology content
An example of annotated Web table
The MIEL++ flexible querying language
Query evaluation
Conclusion and perspectives
DR Web sémantique
Conclusion-perspectives
A domain ontology used to extract, annotate and query Web tables
A flexible querying of fuzzy annotations
Work implemented in the @Web software (under evaluation in a risk in food real application)
How to take into account the ontology evolutions ?
How to evaluate the fiability of a Web data table ?
DR Web sémantique
Query evaluation on 22.000 RDF triples
Queried relation Selection criteria Precision-
recall
Number of
answer graphs
Lag Time Microorganism=L.
Monocytogenes
100%-100% 47 graphs
Lag Time Microorganism=P. Fluorescens 100%-100% 29 graphs
Growth kinetics Microorganism=E. Coli 100%-100% 39 graphs
Lag Time FoodProduct= Egg salad 50%-100% 24 graphs
Growth kinetics FoodProduct= Salad 54%-100% 26 graphs
DR Web sémantique
Agenda
Introduction
Fuzzy annotation of Web data tables driven
by a domain ontology
Flexible querying of fuzzy RDF annotations
using fuzzy conceptual graphs
Flexible SPARQL querying of Web data
tables driven by an ontology
Besoins en construction et évolution
d'ontologie dans un système d’intégration de
données du Web
DR Web sémantique
Besoins en construction et évolution
d'ontologie dans un système d’intégration
de données du Web
Juliette Dibie-Barthélemy, Patrice Buche,
Liliana Ibanescu and Rim Touhami
DR Web sémantique
Contexte
La modélisation de la RTO
- Présentation de la RTO
- La composante conceptuelle de la RTO
- La composante terminologique de la RTO
Evolution de la RTO
Conclusion
Plan de la présentation
DR Web sémantique
Intégration de données
pour l’aide à la décision
Microbiologie prévisionnelle: simulation de
la croissance d’un microorganisme dans
un aliment
Évaluation de l’exposition d’une population
à un risque chimique d’origine alimentaire
Impact d’opérations unitaires sur les
caractéristiques d’un produit d’origine
végétale
DR Web sémantique
Exemple en microbiologie
prévisionnelle
Objectif: simulation de la croissance d’un microorganisme à partir de données existantes (bibliographiques) sur l’aliment
Cinétiques de croissance
Autres paramètres (temps de latence, µmax, …)
Création d’une BD et d’une grille de saisie standardisée Excel
Création d’outils d’interrogation
Interrogation flexible en mode exploratoire
Interrogation intégrée au module de simulation
DR Web sémantique
Verrous scientifiques
Coût de saisie important (0,5j par publi)
Prise de conscience de la disponibilité de
nombreuses sources de données sur le
Web (publis, rapports de projet, thèses,
sites Web…)
Pertinent de développer des méthodes et
outils d’intégration semi-automatique
des sources de données du Web
DR Web sémantique
Contexte
Cadre : L’intégration de données scientifiques
hétérogènes
Domaine : la microbiologie alimentaire
Problème : Les données concernant les caractéristiques
des aliments et des emballages sont dispersées,
incomplètes, exprimées dans des formats hétérogènes,
avec un coût important de la saisie
Solutions :
- Compléter les bases de données locales avec des
documents trouvés sur le Web :
l’annotation sémantique de tableaux de données
- Utiliser des mécanismes d’interrogation flexible
des bases de données disponibles (théorie de la
logique floue).
DR Web sémantique
L’ontologie :
- Permet de guider l’extraction des documents depuis le Web.
- Est essentielle pour l’annotation sémantique des tableaux.
- Est utilisée pour l’interrogation des tableaux annotés.
Web <XML>
<html> doc PDF
Ontologie
Recherche de
documents et filtrage
Extraction de
tableaux
Annotation
sémantique Base
d’annotation
Requêtes
1
2
3
4
Contexte
DR Web sémantique
Besoin d’une méthodologie claire de
construction de l’ontologie
La version actuelle a été construite de manière « artisanale » Types symboliques: récupération des taxonomies
associées aux types symboliques dans la BDR
Types numériques: définis à partir du corpus de tableaux disponibles
Relations sémantiques: définies par les experts car très dépendantes des paramètres d’entrée des modèles de simulation, pas toutes dans le schéma BDR
DR Web sémantique
symbolic concept
Quantity
Relation:
Signature: - result concept
(range)
- Access concepts
(domain)
pH: No unit,
[0,14]
Thickness: m, dm, cm, etc
no interval
O2Permeability:
Barrer, ml/m2/day, etc
no interval
O2Permeability_
Relation
Packaging
Vinyl Resin
Polyvinyl
Chloride (PVC)
Polyolefin
EVOH
Thermoplastics
food
products
UHT milk pasteurized
milk
milk
pasteurized
UHT milk
Contexte La RTO
Multilingue
Abréviations
Synonymes
DR Web sémantique
Solutions proposées
1) Proposer une nouvelle modélisation pour une ressource
termino-ontologique (RTO) dédiée à la tâche d’annotation
sémantique des relations n-aire dans les tableaux web.
(Touhami et al., 2011)
2) Proposer une méthode de gestion d’évolution de cette
ressource termino-ontologique en tenant compte des
annotations définies avec celle-ci.
DR Web sémantique
Plan de l’exposé
Contexte
La modélisation de la RTO
- Présentation de la RTO
- La composante conceptuelle de la RTO
- La composante terminologique de la RTO
Evolution de la RTO
Conclusion
DR Web sémantique
• La RTO est composée de deux composantes :
- La composante conceptuelle.
- La composante terminologique.
La modélisation de la RTO Présentation de la RTO
DR Web sémantique
La composante conceptuelle de la RTO est
composée de deux parties :
• Une partie générique (Core ontology) :
- Permet de représenter la structure de l’ontologie.
- Dédiée à la tâche d’annotation des relations n-aires dans
les tableaux du Web.
• Une partie spécifique (Domain ontology):
- Elle dépend du domaine d’intérêt.
Notre RTO est générique : elle permet l’instanciation
des relations n-aires dans n’importe quelle application.
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
La partie générique de la RTO :
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
La modélisation de la RTO La composante conceptuelle de la RTO
La partie spécifique permet de représenter les concepts
spécifiques à un domaine d’intérêt donné.
Elle est représentée comme sous-concepts des
concepts générique.
Elle est représentée en utilisant un langage du web
sémantique (OWL) :
- Tous les concepts sont représentés par des classes OWL.
- Elle sont reliées par des relations de subsomption (subClassOf)
- Elle sont mutuellement disjointes.
DR Web sémantique
Un concept symbolique est caractérisé par : sa hiérarchie des
valeurs possible
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
Une quantité est caractérisé par :
- Un ensemble d’unités de mesure
- Une dimension
- Un intervalle de valeurs possible
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
Exemple : La quantité spécifique « Relative_Humidity »
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
Un concept unité est caractérisé par :
- Sa dimension
- Ses conversions
La modélisation de la RTO La composante conceptuelle de la RTO
DR Web sémantique
La modélisation de la RTO La composante conceptuelle de la RTO
Une relation est caractérisée par :
- Sa signature : définie par un domaine et un co-domaine
Exemple : La relation spécifique
« O2Permeability_Relation »
DR Web sémantique
La RTO est composée de deux composantes :
- La composante conceptuelle.
- La composante terminologique.
La modélisation de la RTO
DR Web sémantique
Les labels associés à un concept donné sont utilisés pour
l’annotation sémantique des tableaux de données.
- Un seul label préféré par langue.
- Un ou plusieurs labels alternatifs par langue
(synonymes et abréviations).
La modélisation de la RTO La composante terminologique de la RTO
Elle contient l’ensemble des termes associés aux concepts de la
partie conceptuelle.
A chaque sous concept du concept générique «T_concept»
est associé une partie terminologique :
DR Web sémantique
La modélisation de la RTO La composante terminologique de la RTO
Utilisation des propriétés lexicales de skos (Simple
Knowledge Organization Scheme) : prefLabel et altLabel.
Utilisation de la technique du « Punning » (ou
métamodélisation) possible en passant à OWL2-DL.
DR Web sémantique
Plan de l’exposé
Contexte
La modélisation de la RTO
- Présentation de la RTO
- La composante conceptuelle de la RTO
- La composante terminologique de la RTO
Evolution de la RTO
Conclusion
DR Web sémantique
Évolution de l’ontologie pour améliorer la
qualité de l’annotation
Besoin
Améliorer l’annotation des types numériques
Améliorer l’annotation des types symboliques
Aligner - fusionner l’ontologie avec
d’autres ressources ontologiques ?
Nouvelles connaissances sur les unités de
mesure (Oboe, Oum, …)
Utiliser de nouvelles ressources
taxonomiques (par exemple sur les aliments
avec AgroVoc, Wordnet, …)
DR Web sémantique
Évolution du domaine d’application
Besoin:
Ajouter de nouveaux concepts et relations
afin d’enrichir l’outil d’aide à la décision
Aide à la conception d’emballages biodégradables
en étendant l’outil de simulation Sym’Previus à la
prise en compte de l’action des gaz (O2/CO2) sur
la croissance des microorganismes
Élaboration en cours d’une BDR intégrant
données sur aliments et emballages
DR Web sémantique
Le processus d’évolution à proposer doit permettre :
1) L’identification des changements
2) La gestion des changements de la RTO
3) La propagation des changements dans la base
d’annotation
Evolution de la RTO
DR Web sémantique
Evolution de la RTO
1) L’identification des changements :
L’évolution de la RTO suite à une évolution du
domaine.
L’évolution après l’analyse de la structure
interne de la RTO.
L’évolution suite à la détection de tableaux
mal annotés.
L’évolution par alignement avec des
ontologies externes
DR Web sémantique
Evolution de la RTO
2) La gestion des changements de la RTO :
- Ajouter toutes les quantités et
les concepts symboliques de la
signature de la relation s’ils ne
sont pas définis dans la RTO.
- Créer les liens entre la nouvelle
relation et les propriétés
nécessaires. - Créer un lien hiérarchique de
subsomption entre la nouvelle
relation et le concept générique
« Relation ». - Ajouter la terminologie associée à
la relation O2Permeability_Relation.
Exemple 1 : Ajouter le nouveau concept relation
O2Permeability_Relation :
Partial_pressur
e
DR Web sémantique
- Supprimer le lien d’hiérarchie
entre le concept générique
Quantity et le concept
partial_pressure.
Exemple 2 : Supprimer la quantité partial_pressure :
- Supprimer les liens avec les
propriétés ayant partial_pressure
comme domaine.
- Supprimer les liens avec les
propriétés ayant partial_pressure
comme co-domaine
- Supprimer la terminologie
associée à partial_pressure.
Evolution de la RTO
Partial_pressur
e
Quantity PH
AW
Skos:C
oncept
Pascal
Pascal
Millibar
hasUnitConcept
hasUnitConcept
hasUnitConcept
O2Permeability
_Relation
hasAccessConcept
Packaging
Temperature
…
hasAccessConcept
hasAccessConcept
2) La gestion des changements de la RTO :
DR Web sémantique
Evolution de la RTO 3) La propagation des changements dans la base d’annotation :
Partial_pressur
e
Quantity PH
AW
Skos:C
oncept
Pascal
Pascal
Millibar
hasUnitConcept
hasUnitConcept
hasUnitConcept
O2Permeability
_Relation
hasAccessConcept
Packaging
Temperature
…
hasAccessConcept
hasAccessConcept
RTO Annotations
(O2PRel hasResultConcept O2P1)
(O2PRel hasAccessConcept PP)
(O2PRel hasAccessConcept
Temp)
…
(O2PRel type
O2Permeability_Relation)
(O2P1 type O2Permeability)
(PP type Partiel_Pressure)
(Temp type Temperature)
DR Web sémantique
Conclusion
Modéliser une RTO pour l’annotation sémantique de
tableaux de données. Cette RTO est composée de :
- Partie conceptuelle :
- Partie générique (Core ontology)
- Partie spécifique (Domain ontology)
- Partie terminologique
Proposer des solutions pour la gestion d’évolution de la
RTO qui est dédiée à la tâche d’annotation.
DR Web sémantique
Bibliographie
http://www.paris.inra.fr/metarisk/our_team/dibie_barthelemy_juliett
e/publications
DR Web sémantique