design of a data warehouse opened on the web - cirad · design of a data warehouse opened on the...

133
Design of a data warehouse opened on the Web Juliette Dibie-Barthélemy 1,2 , Patrice Buche 3 1 Unité INRA - Mét@Risk 16, rue Claude Bernard 75231 PARIS Cedex 05 2 AgroParisTech UFR d’informatique 16, rue Claude Bernard 75231 PARIS Cedex 05 3 UMR INRA IATE 2, place Pierre Viala 34 060 Montpellier DR Web sémantique

Upload: dinhhuong

Post on 12-Sep-2018

216 views

Category:

Documents


0 download

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

DR Web sémantique

Data specificity

Heterogeneous

Imprecise

Incomplete data base

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

PDF

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

DR Web sémantique

DR Web sémantique

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

PDF

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

La modélisation de la RTO

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