32
e.Dot juillet 2005 Page 1 http:// www-rocq.inria.fr /verso/ edot / Projet R.N.T.L. e.Dot Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet 2005

E.Dot – juillet 2005 Page 1 Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

Embed Size (px)

Citation preview

Page 1: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 1

http://www-rocq.inria.fr/verso/edot/

Projet R.N.T.L. e.Dot–

Entrepôts de Données Ouverts sur la Toile

Rapport Final

4 juillet 2005

Page 2: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 2

Partenaires

Page 3: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 3

Objectifs

• Générique: – Outils pour construire des entrepôts de données

thématiques en découvrant des données sur le Web et en enrichissant des systèmes d’information existants par intégration automatique de ces données

• Particulier: – Développer un entrepôt de données XML intégrant

de manière automatique des informations liées au risque de contamination des aliments, qu’elles soient issues du Web, privées ou obtenues sous licence

Page 4: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 4

Choix faits dans e.dot

• XML– Format d’échange standard de données– Mariage entre documents et bases de données

• Services Web – Standard pour le développement modulaire

d’applications distribuées (SOAP)– Description standardisée des entrées/sorties (WSDL)

• Web sémantique – Ontologie: description explicite et déclarative de la

sémantique d’un domaine d’application

approche générique fondée sur des technologies standard du Web

Page 5: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 5

Organisation du projet

Tous les partenaires ont participé à tous les sous-projets

• Sous projet 1 : spécification d’un entrepôt de données pour le risque de contamination des aliments

• Sous projet 2 : acquisition de données du Web• Sous projet 3 : organisation et structuration de

l’entrepôt• Sous projet 4 : validation auprès des utilisateurs

Durée effective 2 ans (notification Juillet-Septembre 2003)

1 2 3 4

Page 6: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 6

Vue fonctionnelle globale

Web<XML>

<Html>Pdf

Doc Jpeg

microoganisme

TOPalime

nt facteur

Ontologie Sym’Previus

Crawling

Filtrage

Extraction de structures (XTab)

Enrichissement Sémantique (SML)

Entrepôt XML<SML>

Tables relationnelle

s

Graphes Conceptuel

s

Requête

MIEL

Le projet Sym’Previus

MIEL++

Page 7: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 7

Architecture générale d’e.Dot

Page 8: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 8

Lot 2 (intermédiaire)

• Chaîne de traitement d’acquisition de données du web, guidée par l’ontologie du domaine– crawling du web

• recherche de documents potentiellement pertinents– contenant des mots-clés de l’ontologie

• crawler généraliste de Xyleme, Google– filtrage des documents récupérés

• ne garder que ceux contenant des informations utiles– données tabulaires

• Thesus, EdotFilter, PDFFilter– extraction des données et transformation en XML

• Format Xtab • Any2Xtab

Page 9: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 9

Lot 2 (final)

• Achèvement et validation des modules en cours– Any2Xtab, PDFFilter

• Extensions :– Mise en oeuvre d’une approche de crawling

spécialisé : WebCrawler– Mise en œuvre d’une chaîne de traitement complète

d’acquisition de données à partir de documents pdf : package AQWEB

– Conversion de documents dans un format XML cible: Content Migration Platform (CMP)

Page 10: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 10

WebCrawler

• Approche inspirée de l’«Intelligent Crawling»– apprentissage automatique de l’estimation de la pertinence

d’une page web à partir des statistiques récoltées sur le graphe d’exploration

– pertinence effective vérifiée a posteriori après le rapatriement des pages candidates choisies

• évaluation sur le contenu de la page d’une requête WeQuel (langage de requêtes développé pour EdotFilter)

• mise à jour des statistiques et de la fonction calculant l’estimation de la pertinence d’une page candidate en fonction de la pertinence de ses voisins déjà rapatriés (pères ou frères)

Travail réalisé par D. Mezaour dans le cadre de sa thèse financée par une allocation de recherche du Ministère.

Page 11: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 11

WebCrawler: validation

• Expérimentation sur plusieurs thématiques– e.Dot, cours d’informatique

• Meilleurs résultats qu’un crawler suivant une stratégie systématique – profondeur d’abord ou largeur d’abord

• Meilleurs résultats que Google• A confirmé la rareté des documents utiles pour

e.dot sous format HTML

Page 12: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 12

Package AQWEB

• Crawl et filtrage de documents PDF • Extraction semi-automatique de tableaux• GUI pour l’interaction avec les experts• Intégration de XTab2SML• Stockage des documents PDF et des tableaux

(XTab et SML) à l’aide de Xyleme Server

Démonstration de AQWEB

Page 13: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 13

Content Migration Platform

• Environnement de transformation de documents Word sous un format XML cible– générique et déclaratif– à base de règles

• Fichier de règles (décrit en XML) : spécifie le format cible

– développé par Xyleme

Page 14: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 14

Schéma fonctionnel de l’approche

Doc Word

Transformation par

wvHtml

Représentation HTML

Fichier de règles

XML

Doc XML

Moteur de règles

Doc Word

Transformation par

wvHtml

Représentation HTML

Fichier de règles

XML

Doc XML

Moteur de règles

Page 15: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 15

Exemple

Page 16: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 16

Lot3 : organisation et structuration de l’entrepôt

• Entrepôt de travail : – espace de travail persistant et partagé par tous les

services d’acquisition et d’enrichissement de données– stockage des données en XML

• Entrepôt final :– données de l’entrepôt de travail validées et enrichies

sémantiquement • format SML

– interrogeables via MIEL++

Page 17: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 17

Construction de l’entrepôt de travail

• Rapport intermédiaire : – spécification des différents composants– à l’aide du système ACWare

• logiciel d’aide à la conception d’entrepôts de données XML• développé en Java, génère des exécutables ActiveXML

• Depuis Juin 2004 :– réalisation et intégration de services web pour la

construction et l’exploitation de l’entrepôt

Exposés après la pause

Page 18: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 18

Construction de l’entrepôt final

• Rapport intermédiaire :– première version du module XTab2SML de

transformation de tableaux dans le format SML• tableaux simples et en français

• Depuis Juin 2004 :– améliorations de XTab2SML

• traitement de tableaux plus complexes et en anglais

– étude expérimentale – publications (EGC, 2 workshops en anglais)

Page 19: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 19

<table><title><title-col>Food </title-col><title-col>PH </title-col></title> <nb-col>2</nb-col><content>…<Rel> <foodph>

<food >mushroom </food > <ph>5.00</ph>

</foodph> </Rel> </content> </table>

XTab2SML

Ontology

Items pH values

Cultivated mushroom 5.00

Crab 6.60

XTab2SML: enrichissement sémantique

<table><title><title-col>Items</title-col> <title-col>pH values</title-col></title> <nb-col>2</nb-col><content>…<row><cell>Cultivated mushroom </cell><cell>5.00 </cell></row></content> </table>

Any2XTab

Tables in Html, Pdf or Excel

Mapping operators

Page 20: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 20

1- Extraction of the attributes

Finding the attributes corresponding to a column C

based on the values in the cells of the column :a candidate: a term subsuming most of the values

values(C)={milk, apples, pie, meat, Listeria}

matching-attribute(C) = food

Based on the title of the column title(C) = "Ph values" matching-attribute(C) = ph.

Else : creation of a generic attribute «attribute»

Page 21: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 21

2- Identification of the relations

Perfect matching with a relation foodph

Partial matching with a relation

Missing attribute :foodFactorMicroorganism(food, Factor, Microorganism)

Else : creation of a generic relation «relation»

TabSch = {(c1,food) , (c2, ph)}

Table 1 – Growth of Listeria in food products

Items pH values

Cultivated mushroom 5.00

Crab 6.60

Page 22: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 22

3- Identification of the values

Mapping of the values with the terms of the taxonomy

equality test : equality between sets of wordsindMap="equal"

inclusion test: inclusion between sets of wordsindMap="inclusion"

intersection : intersection between sets of words

indMap="intersection"

Bag of lemmatized words after deleting empty words

Page 23: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 23

Example of semantic enrichment

Article Item Calorie

Cultivated mushroom 400g 230kCal

foodCalorie(food,calorie) :For 100 g number of calories

<table><title><title-col>Article</title-col><title-col>Item</title-col><title-col>Calorie</title-col></title> <nb-col>3</nb-col><content><Rel additionalAttr="yes"> <foodCalorie> <food indMap="inclusion" indCat=« food" indTrans="none" indProc="yes" >

<ontoVal>mushroom </ontoVal><origineVal>Cultivated mushroom</origineVal>

</food> <calorie indMap= "notFound" indCat= "notFound" indTrans="none" indProc="no" >

<ontoVal/><origineVal>230kCal</origineVal> </calorie> <attribute indOnto= "notFound" indCat= "notFound" indTrans="none" indProc="no" indMatch= "attribute" > <ontoVal/><origineVal>400g</origineVal></attribute> </foodCalorie></Rel></content> </table>

Page 24: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 24

First experimentFirst experiment

Evaluation of the identification of the relations :

- 50 XTab documents (real data)

 Identified relations  Precision Recall

Perfect matching relations  0,61 0,37Perfect matching relations and partial matching relations with constants

0,54 0,43

All relations 0,56 0,59

Page 25: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 25

Interrogation de l’entrepôt final

Intégré dans la démonstration de AQWEB

Page 26: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 26

Module générique de création et d’interrogation de vues relationnelles sur des documents XML

<LAB_DATA> <ANALYSIS_RECORD idNum="2003/01" >

<CONDITIONS> <TEMPERATURE value="25 C" /> <HUMIDITY value="80%" /> <ATMOSPHERIC_PRESSURE value="1040" /> </CONDITIONS> <TARGET> <RECEIPT idNum="01" name="Spaghetti Bolognese"> <FOODCOMPONENT> <APPELLATION>Spaghetti</APPELLATION > <CATEGORY>Pasta</CATEGORY> </FOODCOMPONENT> <FOODCOMPONENT> <APPELLATION> Bolognese Meat </APPELLATION> <CATEGORY> Meat </CATEGORY> </FOODCOMPONENT>

<FOODCOMPONENT> <APPELLATION> Tomato sauce </APPELLATION>

<CATEGORY> Vegetables </CATEGORY> </FOODCOMPONENT> <MICROORGANISM_TRACES name="listeria monocytogenes"/> <MICROORGANISM_TRACES name="listeria innocua"/> </RECEIPT> ... </TARGET> </ANALYSIS_RECORD> <ANALYSIS_RECORD idNum="2004/08" >

... </ANALYSIS_RECORD>

25 Clisteria innocuaTomato sauce

25 Clisteria innocuaBolognese Meat

25 Clisteria innocuaSpaghetti

25 Clisteria monocytogenesBolognese Meat

.........

25 Clisteria monocytogenesSpaghetti

25 Clisteria monocytogenesTomato sauce

FoodproductMicroorganismTemperature

MicroorganismAtmpressure

1040listeria monocytogenes

......

Page 27: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 27

Manual mappings between DTDs and the relational schema

labData

conditions target

temperature AtmPressurehumidity

category

analysisRecord *

foodComponent +

receipt +

microorgTraces *

idNum name

appellation name

valuevalue value

Foodproduct Microorganism

Temperature

<!ELEMENT labData ( analysisRecord* )><!ELEMENT analysisRecord ( conditions, target )><!ELEMENT conditions( temperature, humidity, atmosphericPressure )><!ELEMENT temperature (#PCDATA)><!ELEMENT humidity (#PCDATA)><!ELEMENT atmosphericPressure (#PCDATA)><!ELEMENT target( receipt+ )><!ELEMENT receipt( foodComponent+, microOrganismTraces* )><!ELEMENT foodComponent( appellation, category )><!ELEMENT appellation (#PCDATA)><!ELEMENT category (#PCDATA)>

<!ELEMENT microOrganismTraces (#PCDATA)><!ATTLIST microOrganismTraces name CDATA #REQUIRED><!ATTLIST temperature value CDATA #REQUIRED><!ATTLIST humidity value CDATA #REQUIRED><!ATTLIST atmosphericPressure value CDATA #REQUIRED><!ATTLIST receipt idNum CDATA #REQUIRED name CDATA #REQUIRED>

Mapping of the relation FoodproductMicroorganismTemperature on the DTD’s tree

Page 28: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 28

Automatic wrapping of the relational view in Xquery

let $Root := doc("archive2003.xml")/LAB_DATAfor $Branching-level-AB in $Root/ANALYSIS_RECORD

for $Branching-level-ABM in $Branching-level-AB/RECEIPTfor $Branching-level-ABMN in $Branching-level-ABM/FOODCOMPONENT

for $Branching-level-ABMQ in $Branching-level-ABM/MICROORGANISM_TRACES

let $Food-COLUMN := $Branching-level-ABMN/APPELLATION/text() let $Microorganism-COLUMN :=

$Branching-level-ABMQ/@name/string() let $Temperature-COLUMN :=

$Branching-level-AB/CONDITIONS/TEMPERATURE/@value/string()

return <TUPLE>

<FOOD>{ $Food-COLUMN }</FOOD> <MICROORGANISM>{ $Microorganism-COLUMN }</MICROORGANISM>

<TEMPERATURE>{ $Temperature-COLUMN }</TEMPERATURE> </TUPLE>

The view XV( FoodMicroorganismTemperature, lab-data2004.dtd ):

Page 29: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 29

Relational querying XML data

• The induced relational schema– the set of relations that are mapped to DTDs– relational point of view on the XML data– presented to the user through a GUI

Page 30: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 30

Interrogation de sources externes via MIEL++

• par mise en correspondance entre ontologies– relier les termes d’une nouvelle ontologie

(Com’base) avec les termes de l’ontologie du projet• mappings d’équivalence ou de spécialisation

– combinaison de techniques syntaxiques et sémantiques (WordNet)

• prototype OntoMap

Page 31: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 31

OntoMap: évaluation

0.831.00Précision

9628Nombre de mappingspertinents découverts par le

système

0.790.64Rappel

11528Nombre de mappingsdécouverts par le système

12144Nombre de mappingsdécouverts manuellement

Mappings de classification

Mappingsd’équivalence

0.831.00Précision

9628Nombre de mappingspertinents découverts par le

système

0.790.64Rappel

11528Nombre de mappingsdécouverts par le système

12144Nombre de mappingsdécouverts manuellement

Mappings de classification

Mappingsd’équivalence

Tab. 2. Précision et rappel par catégorie de mappings

Page 32: E.Dot – juillet 2005 Page 1  Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile Rapport Final 4 juillet

e.Dot – juillet 2005 Page 32

• Introduction (45mn) : LRI

• Démo AQWEB-MIEL++ (30mn) : INA-PG

• Pause (15mn)

• Architecture entrepôt (30mn) : INRIA

• Intégration AXML-Xyleme (20mn) : Xyleme

• Conclusion (20mn) : INRIA

• Discussion (30mn)

• Fin de la réunion: 17h30

Planning