View
106
Download
2
Category
Preview:
Citation preview
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 2
Partenaires
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
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
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
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++
e.Dot – juillet 2005 Page 7
Architecture générale d’e.Dot
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
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)
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.
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
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
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
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
e.Dot – juillet 2005 Page 15
Exemple
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++
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
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)
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
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»
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
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
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>
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
e.Dot – juillet 2005 Page 25
Interrogation de l’entrepôt final
Intégré dans la démonstration de AQWEB
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
......
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
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 ):
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
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
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
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
Recommended