ANAlyse de données ENVironnementales ! Approches

!
!
!
!
!
!
!
!
!
!
!
!
Actes de l’atelier!
!
ANAlyse de données ENVironnementales !
Approches mises en œuvre et retours d’expérience!
!
!
!
!
conjointement au !
dix-neuvième congrès national sur la Reconnaissance de
Formes et l'Intelligence Artificielle (RFIA'14)!
!
!
!
!
Rouen - 1er Juillet 2014!
!
!
!
!
!
!
!
!
!
ANAlyse de données ENVironnementales
Approches mises en œuvre et retours d’expérience
Organisation :
Florence Le Ber, Université de Strasbourg/ENGEES, ICube
Maguelonne Teisseire, Irstea, TETIS
Comité de programme
:
Agnès Braud - ICube, Strasbourg
Maroua Bouzid - Greyc, Caen
Sandra Bringay - LIRMM, Montpellier
Xavier Dolques - ICube, Strasbourg
Jérôme Gensel - LIG, Grenoble
Thomas Guyet - AgroCampus / Irisa, Rennes
Dino Ienco - TETIS, Montpellier
Medhi Kaytoue - LIRIS, Lyon
Eric Kergosien - LIRMM / TETIS, Montpellier
Christine Largouet - AgroCampus / Irisa, Rennes
Thérèse Libourel - Espace-dev, Montpellier
Véronique Masson - Irisa, Rennes
Francois Pinet - IRSTEA Motive, Clermont-Ferrand
Cyril de Runz - CReSTIC, Reims
Nazha Selmaoui-Folcher - PPME, Nouméa
Rémy Thibaud - IRENav, Brest
Site web :
Hugo Alatristas Salas - LIRMM, Montpellier
Contenu de l'atelier
Conférence invitée
Marie-Odile Cordier : « Exploiter les résultats de simulation : un enjeu pour les
modélisateurs et les décideurs »
Articles
Rouaa Wannous, Jamal Malki, Alain Bouju, Cecile Vincent : « Trajectory
ontology inference over domain and temporal rules. Inference complexity
analysis »
Mickaël Fabrègue, Agnès Braud, Sandra Bringay, Florence Le Ber, Maguelonne
Teisseire : « Recherche de motifs partiellement ordonnés clos discriminants
pour caractériser l’état des milieux aquatiques »
Antoine Cornuéjols, Antonin Duroy, Chantal Loyce, David Makowski, Christine
Martin, Aurore Philibert : « Recherche de documents par apprentissage
artificiel pour une méta-analyse sur les émissions d’un gaz à effet de serre »
Thomas Guyet, Yves Moinard, René Quiniou : « Simuler l’assolement d’un
paysage par reproduction des structures locales »
!
!
Exploiter les résultats de simulation : un enjeu pour les modélisateurs
et les décideurs
Marie-Odile Cordier
IRISA, Université de Rennes 1
[email protected]
Résumé
Dans cet exposé, je présenterai les travaux que nous avons fait en collaboration avec l'Inra depuis une quinzaine
d'années, en insistant sur l'importance des modèles bien sûr, mais aussi des outils permettant d'exploiter les
résultats obtenus dans un contexte d'aide à la décision.
Je parlerai un peu plus précisément des travaux suivants :
1. Le projet Sacadeau s'appuie sur un modèle décisionnel couplé à un modèle biophysique dans le contexte du
transfert de désherbants dans un bassin versant breton. La contribution principale est l'utilisation d'outils
d'apprentissage symbolique pour explorer la base des résultats de simulations et en inférer des
recommandations d'action pour minimiser les nuisances environnementales .
2. Les projets Ecomata et Patur'mata s'appuient sur un modèle de haut niveau décrit par un système à
événements discrets et utilisent les outils de model-checking efficaces pour répondre à des requêtes sur ce type
de modèles. Ceci permet d'évaluer des scénarios de type simulation prédictive (que se passera-t-il si on agit de
telle ou telle manières) ou normative (quels chemins pour arriver à un but donné). Ceci a été appliqué à la
gestion d'un écosystème halieutique et à la gestion du pâturage dans une exploitation.
3. Enfin, le projet N-Catch concerne l'exploitation des données de simulation de TNT (modèle spatialement
explicite des flux de nitrates à l'échelle du bassin versant). Il propose l'utilisation d'un entrepôt de données qui
permet l’agrégation et la visualisation des données de simulation. A partir de là il est possible de faire le l'aide à
la décision sur la base d'analyses multicritères.
!
Trajectory ontology inference over domain and temporal rules.
Inference complexity analyzing
Rouaa Wannous1
1
Jamal Malki1
Alain Bouju1
Cecile Vincent2
L3i laboratory , LIENSs laboratory, University of La Rochelle, France
2 LIENSs laboratory, University of La Rochelle, France
{rwannous, jmalki, abouju, cvincent}@univ-lr.fr
Abstract
Capture devices rise a large scale trajectory data about moving object’s movements. These devices use different technologies like global navigation satellite system (GNSS),
wireless communication, radio-frequency identification
(RFID), and other sensors. Huge trajectory data are available. In this article, we are interested in these data, so we
use an ontological data modeling approach to build a trajectory ontology. This ontology contains temporal concepts,
so we map it to a temporal ontology. We present an implementation framework for declarative and imperative parts
of ontology rules in a semantic data store. An inference
mechanism is computed over these semantic data. The running time and memory of the inference increases very rapidly as a function of the data size. For this reason, we propose a two-tier inference filters on data. The primary filter
analyzes the trajectory data considering all the possible domain constraints. The data analyzed are considered as the
first knowledge base. These data is passed to the secondary
filter. Then the latter computes the inference over the filtered trajectory data. The secondary filter results yield the
final knowledge base where the user can query.
Keywords
Trajectory ontology modeling, Ontology inference, Temporal rules, Data filter algorithm.
Résumé
Les dispositifs de capture de trajectoires d’objets en mouvement produisent généralement des volumes de données
très important. Ils se développent grâce á différentes technologies, telles que les systèmes de navigation globale par
satellite (GNSS), les communications sans fil, l’identification par radio-fréquence (RFID) et d’autres types de capteurs. Nous nous intéressons dans cet article á ces larges
volumes de données que nous organisons au sein de modèles ontologiques dans le but de construire une ontologie des trajectoires. Cette ontologie est interfacée avec une
ontologie temporelle afin de gérer les concepts relatifs au
temps. Nous présentons l’implémentation d’un framework
pour les phases de déclaration et de mise en œuvre des
règles au sein d’une base de données sémantiques. Un mécanisme d’inférence est lancé sur ces données sémantiques.
Son temps d’exécution ainsi que sa charge en mémoire
augmentent rapidement en fonction du volume de données.
Afin de limiter ce problème, nous proposons un double
filtre d’inférence sur les données. Le premier filtre analyse les données de trajectoire en prenant en compte toutes
les contraintes de domaine possibles. Les données de sortie forment alors la première base de connaissances et sont
transférées au deuxième filtre. Celui-ci effectue l’inférence
sur ces données filtrées. Les données en sortie de ce second
filtre forment la base de connaissances finales que l’utilisateur va pouvoir interroger.
Mots Clef
Modélisation de trajectoire, Règles temporelles, Inférence,
filtrage de données.
1
Introduction
Advances in information and communication technologies
have encouraged collecting spatial, temporal and spatiotemporal data of moving objects [5]. The raw data captured, commonly called trajectories, traces moving objects
from a departure point to a destination point as sequences
of data (sample points captured, time of the capture). Raw
trajectories don’t contain goals of traveling nor activities
accomplished by the moving object. Large datasets need to
be analyzed and modeled to tackle the user’s requirements.
To answer these queries we need also to take into account
the domain knowledge.
This paper deals with marine mammals tracking applications, namely seal trajectories. Trajectory data are captured
by sensors included in a tag glued to the fur of the animal
behind the head. The captured trajectories consist of spatial, temporal and spatio-temporal data. Trajectories data
can also contain some meta-data. These datasets are organized into sequences. Every sequence, mapped to a temporal interval, characterizes a defined state of the animal. In
our application, we consider three main states of the seal :
haulout, dive and cruise. Every state is related to seal’s activity. For example, a foraging activity occurs during dives.
Our goal is to enrich trajectory data with semantics to extract more knowledge. In our previous work [15], we tackled trajectory data connected to other temporal and spatial source of information. We directly computed the inference over these data. The experimental results addressed
the running time and memory problems over the ontology
inference computation. Furthermore, we try to solve these
problems by defining some domain constraints, time restrictions [9] and inference refinements [14]. The proposed
refinements enhanced the inference computation, however,
they do not definitely solve the inference problems.
In the present work, we introduce a two-tier inference filters on trajectory data. In other words, two distinct operations are performed to enhance the inference : primary and
secondary filter operations. The primary filter applies all
the possible domain constraints over the captured data. So,
the primary filter permits fast selection of the analyzed data
to pass along to the secondary filter. The latter computes
the inference over the data output of the primary filter. The
global view of this work is detailed as the following steps :
– Semantic trajectory data is an RDF dataset based on the
ontology trajectory ;
– For analyzing data, filtering or indexing could be applied. In our case, we carry out a place-of-interest process to analyze data. The analyzed data are stored in a
knowledge repository ;
– Secondary filter computes inferences over the data with
the consideration of the domain knowledge ;
– Semantic trajectory data and the new data inferred are
stored in the knowledge repository ;
This paper is organized as follows. Section 2 illustrates
an overview of the ontological modeling approach used.
This trajectory ontology contains temporal concepts, so
Section 3 presents W3C OWL-Time ontology [7] which
is mapped to our ontology. Section 4 details the implementation of the trajectory ontology, the domain ontology rules
and the temporal rules. Section 5 addresses the complexity
of the ontology inference over domain and temporal rules.
Section 6 introduces the primary filter over trajectory data
based on place-of-interest process. Section 7 evaluates the
ontology inference over the filtered data. Section 8 summarizes recent work related to trajectory data modeling using
ontology approach and some introduced solutions to tackle
the problem of the inference complexity using data filtering. Finally, Section 9 concludes this paper.
2
2.1
Trajectory ontology modeling
Trajectory domain ontology
This paper considers trajectories of seals. The data comes
from the LIENSs 1 (CNRS/University of La Rochelle) in
collaboration with SMRU 2 . These laboratories work on
marine mammals’ ecology. Trajectory data of seals between their haulout sites along the coasts of the English
1. http ://lienss.univ-larochelle.fr
2. SMRU : Sea Mammal Research Unit- http ://www.smru.stand.ac.uk
Channel or in the Celtic and Irish seas are captured using
GNSS systems. From the analysis of captured data, we define a seal trajectory ontology that we connect to the trajectory domain ontology. The trajectory domain ontology
is our model used in many moving object applications.
Details of the modeling approach is discussed in [11]. Figure 1 shows an extract of the seal trajectory ontology, called owlSealTrajectory. Table 1 gives a dictionary of its
concepts.
Thing
Moving Object Domain Ontology
Trajectory Domain Ontology
hasTrajectory
Mobile
Object
Trajectory
hasSensor
startPosition
Sensor
Position
Sequence
hasDeploy
endPosition
Deployment
GeoSequence
Seal
Zone
Dive
Haulout
Cruise
Specific
Sequence
Summary
CTD
Seal Domain Ontology
Seal Trajectory Ontology
rdfs:subClassOf
owl:objectProperty
F IGURE 1 – Overview of the seal trajectory ontology
2.2
Seal trajectory ontology
In this work, we propose a Semantic Domain Ontology (Figure 2) based on activities organized as general ones linked
to trajectory, and a hierarchy of basic activities linked to
sequences of the trajectory domain ontology. The Seal Domain Ontology (Figure 2) considers seal’s activities. According to the domain expert, the seal trajectory ontology
sequences are associated with four main activities : resting,
traveling, foraging and traveling-foraging.
3
Time ontology
Seal trajectory ontology includes concepts that can
be considered as temporal. For example, the concept
Sequence is a temporal interval. To integrate temporal concepts and relationships in seal trajectory ontology, we choose a mapping approach between our ontology and the OWL-Time 3 ontology [7] developed by
the World Wide Web Consortium (W3C). This mapping
is detailed in our previous work [15]. An extract of the
declarative part of this ontology is shown in figure 3
described in detail in [7]. We are mainly interested in
the ProperInterval concept and its two properties
hasBeginning and hasEnd.
3. http://www.w3.org/2006/time
so Secwhich is
lementaogy rules
mplexity
ral rules.
ory data
uates the
summang using
to tackle
ata filterpresents
a comes
helle) in
work on
seals beEnglish
ed using
seal tratory doy is our
Details
Figure 1
y, called
ry of its
logy
(Figure 2) based on activities organized as general ones
linked to trajectory, and a hierarchy of basic activities
linked to sequences of the trajectory domain ontology. The
Seal Domain Ontology (Figure 2) considers seal’s activities. According to the domain expert, the seal trajectory
ontology sequences are associated with four main activities: resting, traveling, foraging and traveling-foraging.
4
Table 1: Dictionary classes of the seal trajectory ontology
TABLE 1 – Seal trajectory ontology dictionary
Trajectory domain ontology
Concept
Description
Trajectory
logical form to represent sets of sequences
Sequence
spatio-temporal interval representing a
capture
GeoSequence spatial part of sequence
Specific Se- metadata associated of a capture
quence
startPosition, object properties to represent the end and
endPosition
the beginning of a sequence
Seal domain ontology
Concept
Description
haulout
a state seal where it is not in the water and
wet for 40 seconds
cruise
a state seal where it is in the water and shallower than 1.5 meter
dive
a state seal where it is in the water and
deeper than 1.5 m for 8 seconds
CTD
Conductivity-Temperature-Depth: metadata about marine environment
Summary
metadata about deployment’s conditions of
the sensor
dive_dur,
data properties: dive duration, surface dusur_dur,
ration and maximum depth of a dive
max_depth
TAD
Time Allocation at Depth: data properties
to define the shape of a seal’s dive [7].
4.1
Thing
1
2
3
4
hasActivity
Trajectory
5
Activity
Trajectory
Activity
6
7
8
hasBaseActivity
Sequence
BaseActivity
9
hasBaseActivity
Trajectory
Domain Ontology
Sequence
logy
10
Semantic Domain
Ontology
BaseActivity
11
ology
Resting Ontology
Traveling
Trajectory Domain
12
Domain Ontology
EXECUTE SEM_APIS.CREATE_RULEBASE(’sealActivities_rb’);
INSERT INTO mdsys.semr_sealActivities_rb
VALUES( ’foraging_rule’,
’(?diveObject rdf:type
s:Dive
)
(?diveObject s:max_depth
?maxDepth
)
(?diveObject s:tad
?diveTAD
)
(?diveObject s:dive_dur
?diveDur
)
(?diveObject s:surf_dur
?surfaceDur
)
(?diveObject s:seqHasActivity
?activityProberty )’,
’(maxDepth > 3) and (diveTAD > 0.9) and
(surfaceDur/diveDur < 0.5)’,
’(?activityProberty rdf:type s:Foraging
)’,
SEM_ALIASES(SEM_ALIAS(’s’,’owlSealTrajectory#’)));
Code 1 – Implementation of foraging rule
Seal Domain Ontology
logy
and.ac.uk
Traveling
Semantic
Foraging
Foraging
Seal trajectory ontology rules
Seal trajectory ontology (Figure 2) considers seal’s activities. Each seal activity has both a declarative part and an
imperative corresponding part. The imperative parts of activities are defined as rules in the ontology. A rule is an
object that can be used by an inference process to query
semantic data.
Oracle Semantic Technologies is a rule-based system where rules are based on IF-THEN pattern
and new assertions are placed into working memory.
Thus, the rule-based system is said to be a deduction system. In deduction systems, the convention is
to refer to each IF pattern an antecedent and to
each THEN pattern a consequent. User-defined rules
are defined using SEM_APIS.CREATE_RULEBASE
procedure in a rulebase. Our rulebase is called
sealActivities_rb. The system automatically associates a view called MDSYS.SEMR_rulebase-name to
insert, delete or modify rules in a rulebase. Code 1 gives
the foraging_rule definition based on the domain expert’s conditions. From line 4 to 10 of Code 1, we construct
a subgraph and necessary variables needed by the IF part
of foraging_rule. Line 11 gives the THEN part of the
rule. Line 12 defines the namespace of ontology.
Thing
hasActivity
Ontology rules
Seal Trajectory Ontology
Resting
Traveling
Traveling
Foraging
Foraging
4.2
Figure 2: Overview of Seal Trajectory Ontology
Seal Domain Ontology
Seal Trajectory Ontology
F IGURE 2 – Overview of Seal Trajectory Ontology























F IGURE 3 – A view of OWL-Time ontology


Time ontology rules
The OWL-Time ontology declares the 13 temporal interval relationships based on Allen algebra [1]. We implement the rule base owlTime_rb to hold the interval temporal relationships. For example, the code 2 presents the implementation of the imperative part of the
intervalAfter_rule based on operations defined in
the table TM_RelativePosition of the ISO/TC 211
specification about temporal schema [6]. In code 2, the line
10 expresses the condition that the beginning of the reference interval is bigger than the end of the argument interval. Line 11 is the consequent of rule.
5
Trajectory ontology inference
Inferencing is the ability to make logical deductions based
on rules defined in the ontology. Inferencing involves the
use of rules, either supplied by the reasoner or defined by
the user. At data level, inference is a process of discovering
EXECUTE SEM_APIS.CREATE_RULEBASE(’owlTime_rb’)
INSERT INTO mdsys.semr_owltime_rb
VALUES(’intervalAfter_rule’,
’(?tObj1
rdf:type ot:ProperInterval
)
(?tObj2
rdf:type owltime:ProperInterval )
(?tObj1
ot:hasEnd ?end1
)
(?end1
:inXSDDateTime ?endTime1
)
(?tObj2
ot:hasBeginning ?begin2
)
(?begin2
ot:inXSDDateTime ?beginTime2
)’,
’(beginTime2 > endTime1
)’,
’(?tObj2
owltime:intervalAfter ?tObj1
)’,
SEM_ALIASES(SEM_ALIAS(’ot’,’http://www.w3.org/2006/
time#’)));
1
2
3
4
5
6
7
8
9
10
11
12
Code 2 – Implementation of intervalAfter rule
In Oracle Semantic Technologies, an entailment contains
precomputed data inferred from applying a specified set
of rulebases to a specified set of semantic models. Code 3
creates an entailment over the seal trajectory and time models. This entailment uses a subset of OWL rules called
OWLPrime [12], the seal trajectory and time ontologies
rules. Other options are also required like number of rounds
that the inference engine should run. In case of applying
user-defined rules USER_RULES=T, the number of rounds
should be assigned as default to REACH_CLOSURE.
In our experiment, we measure the time needed to compute the entailment (Code 3) for different sets of real trajectory data for one seal. Its movements are captured from
16 June until 18 July 2011 and we have got 10 000 captured
data. In this experiment, the seal activity rulebase contains
only the foraging rule. So, the input data for the entailment
are only dives. Figure 4 shows experiment results for the
computation time in seconds needed by the entailment. For
example, for 450 dives, the inference takes around 60 000
seconds (' 16.6 hours).
1
2
3
4
SEM_APIS.CREATE_ENTAILMENT(’owlSealTrajectory_idx’,
SEM_MODELS(’owlSealTrajectory’,’owlTime’),
SEM_RULEBASES(’OWLPrime’,’sealActivities_rb’, ’
owlTime_rb’),
SEM_APIS.REACH_CLOSURE, NULL, ’USER_RULES=T’);
Code 3 – Entailment over owlSealTrajectory and
owlTime ontologies
6
Place Of Interest over trajectory
data
Our proposal is to analyze the captured data before computing the ontology inference. This analyzing is achieved by our primary filter. This filter considers trajectories
which are segmented by the object positions. These positions changes and stays fixed. Spaccapietra [13] named the
former moves and the latter stops. For this reason, a trajectory is seen as a sequence of moves going from one stop
to the next one.
Definition 1 (Stop) A stop is a part of a trajectory having
a time interval and represented as a single point.






new relationships, in our case, new triples. Inferencing, or
computing entailment, is a major contribution of semantic
technologies that differentiates them from other technologies.


























F IGURE 4 – Entailment computation time with all temporal
rules and the foraging activity
Definition 2 (Move) A move is a part of a trajectory represented as a spatio-temporal line.
The primary filter defines interesting places for a moving
object. The interesting places are related to where the moving object stays more and visits more. This filter is explained in Algorithm 1. This algorithm takes the two parts of
a trajectory (move and stop) data as input and gives as output interesting places. The following definitions are used
by the algorithm :
Definition 3 (Neighbors) Neighbors for a point (pi ) are
a list of points from the Move data where the distance between pi and any neighbor point is smaller
than a fixed radius. Neighbor(pi ) = {(p j )nj=1 : pi , p j 2
Move, distance(pi , p j ) < radius}.
Definition 4 (Peak) A peaki is a cardinality of the list
Neighbor(pi ). (peaksi )ni=1 = #(Neighbor(pi ))ni=1 .
Definition 5 (Points_Neighbors) Points_Neighbors are a
list of points and their neighbors. Points_Neighbors =
{(pi , Neighborsi )ni=1 : pi , Neighborsi 2 Move}.
Definition 6 (Places) Placei is an interesting place which
contains the Neighbor(pi ) and number of its visits (nVisits)
by the moving object. Places = {(Neighborsi , nVisitsi )ni=1 :
Neighborsi 2 Move, nVisitsi 2 number}.
The first step of the primary filter, Algorithm 1 lines 59, gathers the move data into groups of neighbors. These
groups are defined with respect to a radius. This radius is a fixed distance between two points to calculate the neighbors. The candidate of the radius is related to the application view of a trajectory, and it is taken as input for this algorithm. The output of the first
step is Points_Neighbors. The second step of this filter,
lines 10-16, defines the interesting places starting from the
Points_Neighbors. In general, we could take all the members of the Points_Neighbors or we could apply a condition over the (Peak). For example, the application view
7



























F IGURE 5 – Interesting and foraging places
could be interesting in places which having 60 points and
over, or could be interesting in any place having at least
a point. For defining places, the coordinate of the group
neighbors could be an interesting place with two condition.
Every point belongs to a place should be far from the stop
data more than the fixed radius. Any place should not have
any neighbor place within the radius distance, otherwise
we merge the two coordinates and increase the visits number. The result of this step (Places) is the output of this
algorithm.
To analyze our data, we consider the same datasets in
Sect. 5. We pass these data to the Place Of Interest algorithm. This algorithm analyzes the data and gives as output
the places and their visits, as shown in Fig 5 interesting
places (1). Finally, the results of the primary filter are decreased the captured data from 10 000 into 6 170 interesting raw trajectories.
Algorithm 1: The Place Of Interest algorithm
Experimental results
We analyze the trajectory data and define the interesting
places. However, the main goal is to define foraging places
among these them. This is the goal of the secondary filter. The secondary filter computes the entailment over the
interesting places. This filter specifies foraging places and
determines the number of foraging activity for each place,
as shown in Figure 5 foraging places (2). We can notice that
the places 1, 4, 5, 7 and 11 are not considered as foraging
places. Places 2, 6 , 9 and 10 are the significant foraging
places.
By the normal inference ontology computation results, we
could not be able to consider all the captured data. Actually,
we compute the inference just for 500 raw data. However,
using the primary filter and defining the interesting places
help us to define foraging places over all the captured data.
These inferred data are considered as the final knowledge
data where the user can query.
8
Related work
Data management techniques including modelling, indexing, inferencing and querying large data have been actively investigated during the last decade [16, 10, 8]. Most
of these techniques are only interested in representing and
querying moving object raw trajectories [17, 15, 3]. A
conceptual view on trajectories is proposed by Spaccapietra et al. [13] in which trajectories are a set of stops, moves.
Each part contains a set of semantic data. Based on this
conceptual model, several studies have been proposed such
as [2, 17]. Alvares et al. [2] proposed a trajectory data preprocessing method to integrate trajectories with the spatial.
Their application concerned daily trips of employees from
home to work and back. However, the scope of their paper
is limited to the formal definition of semantic trajectories
with the space and time without any implementation and
evaluation. Yan et al. [17] proposed a trajectory computing
platform which exploits spatio-semantic trajectory model.
One of the layers of this platform is data preprocessing
layer which cleanses the raw GPS feed, in terms of preliminary tasks such as outliers removal and regression-based
smoothing. Based on a space-time ontology and events approach, Boulmakoul et al. [4] proposed a generic metamodel for trajectories to allow independent applications
processing trajectories data benefit from a high level of interoperability, information sharing. Their approach is inspired by ontologies, however the proposed resulting system
is pure database approach. Boulmakoul et al. have elaborated a meta-model to represent moving objects using a mapping ontology for locations. Actually, in extracting information from the instantiated model during the evaluation
phase, they seem rely on a pure SQL-based approach not
on semantic queries. Related to all those limitations in the
state of the art, we define and implement two tier filters
over trajectory data to clean and analyze the data and solve
the computation problem.
9
Conclusion and future work
In this work, we propose a modeling approach based on ontologies to build a trajectory ontology. Our approach considers three separated ontology models : a general trajectory
domain model, a domain knowledge or semantic model and
a temporal domain model. We map the spatial concepts in
the trajectory ontology to the spatial ontology. To implement the declarative and imperative parts of the ontologies,
we consider the framework of Oracle Semantic Data Store.
To define the thematic and temporal reasoning, we implement rules related to the considered models. Thematic rules
are based on domain trajectory activities and the temporal
rules are based on Allen relationships. Then, we consider
two-tier inference filters. In other words, two distinct operations are performed to enhance the inference : primary
and secondary filter operations. The primary filter analyzes
the trajectory data into places of interest. The secondary
filter computes the ontology inference over the semantic
trajectories using the ontology domain and temporal rules.
The experimental results shows that we are able with the
two- tier filters to answer user query over all the captured
data, whereas we could not without it even compute the
ontology inference.
For the evaluation, we use a PC with Linux system over a
processor i5-250M, 2.5GHz and 8G memory. For the future work, we look for a server PowerVault NX400 with
processor E5-2420 at 1.90GHz 6 cores and 16Gb ram with
4 drives TB.
Références
[1] J. F. Allen. Maintaining knowledge about temporal
intervals. Commun. ACM, 26(11) :832–843, 1983.
[2] L. O. Alvares, V. Bogorny, B. Kuijpers, A. F. Macedo,
B. Moelans, and A. Vaisman. A model for enriching
trajectories with semantic geographical information.
In Proceedings of the 15th annual ACM international
symposium on Advances in geographic information
systems, pages 22 :1–22 :8. ACM, 2007.
guage Information Processing, volume 3, pages 66–
85, 2004.
[8] J. Malki, A. Bouju, and W. Mefteh. An ontological approach modeling and reasoning on trajectories.
taking into account thematic, temporal and spatial
rules. In TSI. Technique et Science Informatiques, volume 31/1-2012, pages 71–96, 2012.
[9] J. Malki, R. Wannous, A. Bouju, and C. Vincent.
Temporal reasoning in trajectories using an ontological modelling approach. Control and Cybernetics,
pages 1–16, 2012.
[10] P. Matthew. A framework to support spatial, temporal
and thematic analytics over semantic web data. PhD
thesis, Wright State University, 2008.
[11] W. Mefteh. Approche ontologique pour la modelisation et le raisonnement sur les trajectoires. Prise
en compte des aspects thematiques, temporels et saptiaux. PhD thesis, La Rochelle university, 2013.
[12] Oracle. Oracle Database Semantic Technologies Developer’s guide 11g release 2, 2012.
[13] S. Spaccapietra, C. Parent, M. Damiani, J. Demacedo,
F. Porto, and C. Vangenot. A conceptual view on trajectories. Data and Knowledge Engineering, pages
126–146, 2008.
[14] R. Wannous, J. Malki, A. Bouju, and C. Vincent. Modelling mobile object activities based on trajectory
ontology rules considering spatial relationship rules.
In Modeling Approaches and Algorithms for Advanced Computer Applications, volume 488 of Studies in
Computational Intelligence, pages 249–258. Springer
International Publishing, 2013.
[15] R. Wannous, J. Malki, A. Bouju, and C. Vincent.
Time integration in semantic trajectories using an ontological modelling approach. In New Trends in Databases and Information Systems, volume 185 of Advances in Intelligent Systems and Computing, pages
187–198. Springer Berlin Heidelberg, 2013.
[3] M. Baglioni, J. Macedo, C. Renso, and M. Wachowicz. An ontology-based approach for the semantic
modelling and reasoning on trajectories. In Advances
in Conceptual Modeling - Challenges and Opportunities, volume 5232, pages 344–353. Springer Berlin/Heidelberg, 2008.
[16] Z. Yan, D. Chakraborty, C. Parent, S. Spaccapietra,
and K. Aberer. SeMiTri : A framework for semantic annotation of heterogeneous trajectories. In Proceedings of the 14th International Conference on Extending Database Technology, pages 259–270. ACM,
2011.
[4] A. Boulmakoul, L. Karim, and A. Lbath. Moving object trajectories meta-model and spatio-temporal queries. In International Journal of Database Management Systems (IJDMS), volume 4, pages 35–54, 2012.
[17] Z. Yan, C. Parent, S. Spaccapietra, and D. Chakraborty. A hybrid model and computing platform for
spatio-semantic trajectories. In The Semantic Web :
Research and Applications, pages 60–75. Springer
Berlin/Heidelberg, 2010.
[5] R. Güting and M. Schneider. Moving Objects Databases. Morgan Kaufmann, 2005.
[6] ISO/TC_211. Geographic information – temporal
schema, ISO 19108, 2002.
[7] R. H. Jerry and P. Feng. An ontology of time for the
semantic web. In ACM Transactions on Asian Lan-
Recherche de motifs partiellement ordonnés clos discriminants pour caractériser
l’état des milieux aquatiques
M. Fabrègue1,2
1
A. Braud1
S. Bringay3
F. Le Ber1
M. Teisseire2
ICube, Université de Strasbourg, ENGEES, CNRS
2
IRSTEA, TETIS
3
LIRMM, Université Montpellier 2
ICUBE, 300 bd Sébastien Brant - CS 10413 - F-67412 Illkirch Cedex
[email protected], [email protected]
TETIS - 500 rue Jean-François Breton - F-34093 Montpellier Cedex 5
[email protected], [email protected]
LIRMM - 161 rue Ada - CC477 - F-34095 Montpellier Cedex 5
[email protected]
Résumé
1
Cet article présente un processus de fouille de données mis
en œuvre pour extraire des connaissances d’un jeu de données concernant l’hydro-écologie des cours d’eau. L’approche s’appuie sur la recherche de motifs clos partiellement ordonnés, utilisés comme éléments discriminants
pour relier les paramètres physico-chimiques et biologiques mesurés sur des stations de rivières. Pour chaque
valeur d’un indice biologique, sont mis ainsi en évidence des séquences temporelles de valeurs de paramètres
physico-chimiques ayant un impact sur la biologie. L’approche est mise en œuvre sur un jeu de données regroupant
plusieurs milliers de stations de rivières.
Le travail présenté ici se situe dans le cadre du projet Fresqueau 1 , qui a pour but de développer des méthodes de
fouille de données pour étudier, comparer et exploiter l’ensemble des données disponibles permettant d’évaluer l’état
d’un cours d’eau. Ces données sont relatives à la qualité
de l’eau, l’hydrologie, les stations de mesure, etc. mais
concernent également l’environnement des cours d’eau. Il
s’agit en particulier des données physico-chimiques et biologiques produites par les agences de l’eau et l’O NEMA
(Office National de l’Eau et des Milieux Aquatiques), qui
se déclinent en trois sous-ensembles :
Mots Clef
Fouille de données, motifs clos partiellement ordonnés,
mesure d’intérêt, hydro-écologie.
Abstract
This paper presents a data mining process implemented
to extract original knowledge from hydro-ecological data.
The approach is based on closed partially ordered patterns
used as discriminant features to link physico-chemistry
with biology in river sampling sites. For each bio-indicator
quality value, we obtain a set of significant discriminant
features. We use them to identify the impact of physicochemical characteristics on the biological dimensions. The
approach has been experimented on a dataset of several
thousands river sites.
Keywords
Data mining, Closed partially ordered patterns, Interestingness measure, Hydro-ecology.
Introduction
1. données concernant l’état physico-chimique de l’eau
et des sédiments ; macropolluants (nitrates, matières
organiques, ...) et micropolluants (pesticides, ...) ;
2. données concernant l’état des peuplements biologiques floristiques et faunistiques : cet état est synthétisé dans des indices biologiques, parmi lesquels
l’indice biologique global normalisé (IBGN) [1] est
le plus fréquemment utilisé ;
3. données concernant l’état physique : il s’agit de l’hydromorphologie du cours d’eau (état des berges, du lit
mineur, du lit majeur, ...) et des conditions hydrologiques (débits) et hydrauliques (vitesse, géométrie du
cours d’eau).
Ces données sont issues de résultats d’analyse de prélèvements effectués régulièrement sur les réseaux de mesure
nationaux. Chaque station d’un réseau de mesure est ainsi
caractérisée théoriquement par une note annuelle d’un ou
plusieurs indices biologiques, et par des valeurs bimensuelles de paramètres physico-chimiques. Dans le cadre de
1. http://engees-fresqueau.unistra.fr/
Numéro
Station
1
2
Mois
/ année
02/07
06/07
07/07
09/07
12/07
02/08
04/08
05/08
07/08
01/04
04/04
07/04
08/04
09/04
11/04
12/04
03/05
06/05
08/05
NH+
4
NKJ
NO2
PO34
0,088
0,154
0,062
0,043
2,331
0,117
0,004
-
0,672
1,235
0,040
0,023
0,146
7,993
1,414
0,0844
0,182
-
0,026
0,134
0,246
0,091
0,198
0,421
0,252
0,0310
0,012
-
0,043
0,168
0,025
0,046
0,325
0,132
0,188
0,067
0,137
0,035
-
Phosphore
total
0,032
0,011
0,006
0,003
0,009
0,093
0,066
0,078
0,034
-
IBGN
17
12
8
10
TABLE 1 – Extrait du jeu de données avec différents paramètres physico-chimiques (ammonium, nitrate de Kjeldahl, nitrite,
orthophosphate, phosphore total) et un indice biologique (IBGN)
Fresqueau, nous travaillons sur les districts Rhin-Meuse
et Rhône-Méditerranée et Corse, qui recouvrent respectivement 33.000 et 130.000 km2 et comptent ensemble
11.329 stations. Les données sont disponibles sur une dizaine d’années (2000-2010). Pour plus d’information sur
les données collectées, le lecteur pourra se référer à [4].
Nous avons exploité ces données pour mettre en évidence
des liens entre différentes métriques permettant de caractériser la qualité des cours d’eau, ici les métriques liées aux
paramètres physico-chimiques et les métriques liées à la
biologie. Nous avons en particulier cherché à mettre en évidence les valeurs des paramètres physico-chimiques précédant généralement dans le temps les valeurs des indices
biologiques, en particulier l’IBGN. Notre démarche s’inscrit dans le domaine général de la fouille de motifs dans des
séquences, domaine pour lequel de nombreuses méthodes
et applications ont été développées [2, 12, 6, 15]. L’article
présente brièvement les données, puis la méthode développée spécifiquement pour notre application et quelques résultats obtenus, avant de conclure.
2
Matériel et méthodes
Nous avons exploité les données en utilisant une méthode
décrite dans [11], qui recherche des motifs partiellement
ordonnés clos (CPO-motifs) dans une base de séquences.
Les CPO-motifs ont fait l’objet de différents travaux [14,
5]. Ils présentent un certain nombre d’avantages :
1. ils sont bien adaptés au caractère temporel des données ;
2. ils donnent plus d’information sur l’ordre entre élé-
ments que les motifs séquentiels ;
3. ils sont représentés sous la forme de graphes acycliques, qui sont facilement lisibles par des experts.
Le fait que les motifs soient clos permet de résumer au
mieux les informations contenues dans une base de séquences. Malgré cela, la méthode produit encore trop de
résultats et pour les réduire, nous utilisons des mesures
d’intérêt [12] qui permettent alors de mettre en évidence
des motifs discriminants que nous noterons DCPO-motifs
par la suite.
2.1
Préparation des données
Avant de mettre en œuvre cette méthode, différents prétraitements sont nécessaires. Nous utilisons l’exemple présenté dans le tableau 1 pour les expliquer. On remarque
sur ce tableau que les données sont éparses : en particulier,
alors que les paramètres physico-chimiques sont mesurés
tous les deux mois par les agences de l’eau, l’IBGN est
réalisé au mieux une fois l’an, en période d’étiage, donc
généralement en été.
Les données ont d’abord été discrétisées en utilisant la
norme SEQ-Eau 2 , modifiée à la marge selon l’avis des
hydro-écologues travaillant dans le projet Fresqueau. Cette
discrétisation transforme les données initiales en cinq
classes de qualité, "Très bon", "Bon", "Moyen", "Mauvais"
and "Très mauvais" representées par cinq couleurs Bleu,
Vert, Jaune, Orange et Rouge. Par exemple PO34 =0,026
appartient à la classe de qualité "Très bon"/Bleu et phos2. http://sierm.eaurmc.fr/eaux-superficielles/
fichiers-telechargeables/grilles-seq-eau-v2.pdf
Sous-bases
IBGNB
IBGNJ
IBGNR
Séquences
h(AZOT )(AZOTV ,PHOSB )i
B
h(AZOT ,PHOSV )(PHOSV )(AZOTJ ,PHOSB )i
h(AZOTV ,PHOSV )(AZOTB ,PHOSV )i
h(PHOSO )(AZOTO ,PHOSJ )(AZOTV ,PHOSJ )i
h(AZOTV ,PHOSJ )(AZOTV ,PHOSB )(AZOTV )i
h(AZOTO ,PHOSJ )(AZOTR ,PHOSO )(AZOTV ,PHOSJ )i
h(PHOSO )(AZOTO ,PHOSJ )(AZOTV )i
B
TABLE 2 – Sous-bases de séquences associées à trois valeurs de l’indice IBGN
phore total = 0,67 appartient à la classe de qualité
"Moyen"/Jaune. La norme SEQ-Eau permet également de
regrouper les paramètres initiaux en 15 macro-paramètres :
ainsi les paramètres PO34 et phosphore total sont rassemblés en un seul paramètre qualitatif PHOS (matières
phosphorées) qui prend la valeur la plus basse des deux
("Moyen"/Jaune sur l’exemple précédent). Les paramètres
NH+
4 , NJK et NO2 sont eux rassemblés dans le macroparamètre AZOT (matières azotées hors nitrate).
A la suite de cette discrétisation, le jeu de données est transformé en séquences. Chaque valeur de paramètre constitue un item. Deux paramètres (ou plus) mesurés à la même
date constituent un ensemble d’items ou itemset. Une succession d’itemsets constitue une séquence. Sur la station 1,
par exemple, on a relevé la classe de qualité Vert pour le
macro-paramètre PHOS en février 2007, la classe de qualité Bleu pour le macro-paramètre AZOT en juin 2007, la
classe de qualité Vert pour AZOT et la classe de qualité
Bleu pour PHOS en juillet 2007. L’indice IBGN mesuré
en septembre de la même année a la valeur Bleu. Ainsi la
station 1 est associée à la séquence h(PHOSV ) (AZOTB )
(AZOTV , PHOSB ) (IBGNB )i.
Les séquences ainsi constituées sont ensuite segmentées
selon des fenêtres de longueurs 2 à 6 mois, en amont d’une
mesure de l’indice biologique. En effet, l’indice biologique
intègre les événements physico-chimiques antérieurs sur
une durée limitée, et c’est ce que nous cherchons à mettre
en évidence. La base de séquences obtenue est alors subdivisée selon la valeur de l’IBGN concluant une séquence.
Dans le tableau 2, trois valeurs d’indices sont considérées,
Bleu, Jaune et Rouge.
2.2
AZOTO
<
$
<
AZOTV
/ >
:
"
PHOSO
F IGURE 1 – Un exemple de motif partiellement ordonné
tif l’englobant (présenté sur la figure 2) existe avec le même
support. En effet l’item PHOSJ est présent dans toutes
les séquences supportant P dans les sous-bases IBGNJ et
IBGNR (voir tableau 2).
AZOTO , PHOSJ
;
%
<
AZOTV
/ >
8
$
PHOSO
Extraction des motifs
Cette étape est le cœur de notre proposition. Pour extraire
les motifs des différentes sous-bases, nous avons utilisé
une version adaptée de l’algorithme présenté dans [11].
La modification essentielle concerne l’utilisation de différents supports minimums, en fonction des sous-bases. Par
exemple le motif représenté sur la figure 1 a un support
de 0/2 dans la sous-base IBGNB , 1/3 dans la sous-base
IBGNJ et 2/2 dans la sous-base IBGNR (voir tableau 2).
De plus, nous ne considérons que les motifs partiellement
ordonnés clos (CPO-motifs), ce qui permet d’extraire un
ensemble plus petit de motifs sans perte d’information.
Ainsi le motif P de la figure 1 ne sera pas retenu car un mo-
F IGURE 2 – Un exemple de CPO-motif incluant le motif
de la figure 1
2.3
Sélection des motifs
Cette sélection s’effectue pour chaque sous-base selon trois
critères : la fréquence, la discriminance et la redondance.
Fréquence et discriminance sont des critères utilisés par
l’algorithme pour limiter l’exploration, à l’issue de laquelle un sous-ensemble de motifs non redondants est sélectionné, selon une procédure définie ci-desous, pour être
présenté à l’analyste.
Fréquence d’un CPO-motif : elle est classiquement
mesurée par le nombre de séquences de la sous-base qui
contiennent le CPO-motif, rapporté au nombre total de séquences dans la sous-base. Lors de l’extraction des CPOmotifs, l’utilisation d’un support minimal permet de sélectionner les motifs fréquents.
Discriminance d’un CPO-motif : elle est mesurée par
un facteur de croissance généralisé à partir de celui proposé
dans [9]. Un motif est discriminant pour une sous-base s’il
est plus fréquent dans cette sous-base que dans toutes les
autres. Plus formellement :
Définition 1 Soit un motif partiellement ordonné clos P ,
une sous-base C et un ensemble de sous-bases EC ={C1 ,
C2 , . . . , Cn }, le taux de croissance généralisé de P dans C
en référence à EC , dénoté GGR(P, C, EC ), est :
8
0, si suppC (P ) = 0 et max(suppC1 (P ),
>
>
>
>
supp
>
C2 (P ), . . . , suppCn (P )) = 0
<
1, si suppC (P ) 6= 0 et max(suppC1 (P ),
(1)
>
suppC2 (P ), . . . , suppCn (P )) = 0
>
>
>
suppC (P )
>
:
max(supp (P ),supp (P ),...,supp (P )) sinon
C1
C2
Cn
où suppCi (P ) dénote le support du motif P dans la sousbase Ci .
Un CPO-motif est discriminant si GGR(P, C, EC )> 1. Il est
alors noté DCPO-motif pour "motif partiellement ordonné
clos discriminant". Le calcul de la discriminance est fait
au cours de l’extraction : pour chaque CPO-motif P extrait
de la sous-base courante, on calcule son support dans les
autres bases, ce qui permet de calculer en même temps le
taux de croissance généralisé de P .
Redondance d’un CPO-motif : elle est mesurée par le
nombre de CPO-motifs décrivant le même ensemble de séquences. Plus précisément, à chaque CPO-motif est associé un sous-ensemble des séquences de la base, représenté
comme une suite binaire de présence-absence de chaque
séquence. On peut ainsi utiliser une distance de Hamming
entre les ensembles associés à différents CPO-motifs : plus
les motifs sont proches (donc couvrent approximativement
le même sous-ensemble de séquences) plus ils sont redondants.
et NGGR(P ) est son taux de croissance généralisé et normalisé dans la sous-base considérée et vis-à-vis des autres
sous-bases. Le facteur 3 est introduit pour des raisons de
normalisation.
Cette procédure a une complexité de l’ordre de :
k
X1
i=0
i ⇥ (n
i) ⇥ p + (n
i)
où n est le nombre de DCPO-motifs extraits de la sous-base
B de taille p, et k > 0 le nombre de motifs à sélectionner
parmi eux. A chaque étape, les i motifs déjà sélectionnés
dans P sont comparés deux à deux aux n i motifs restants
en calculant la distance de Hamming sur la base B.
3
Résultats
Nous ne traitons ici que de l’indice IBGN, qui tient compte
de la présence ou de l’absence de certaines espèces macroinvertébrées polluo-sensibles. Parmi les sites de la base de
données ne sont donc retenus que ceux sur lesquels l’IBGN
a été calculé et pour les périodes où il a été calculé. Le
calcul de la note (entre 0, très mauvais état, et 20, très bon
état), puis de la classe, est fondé sur l’inventaire de 128
espèces. La méthode est opérée en deux temps : extraction
des CPO-motifs discriminants pour chaque sous-base, puis
sélection d’un nombre restreint d’entre eux via l’indice IPB .
Dans cette expérimentation, le même seuil de fréquence
(égal à 10%) est utilisé pour toutes les sous-bases.
La figure 3 donne le nombre (selon une échelle logarithmique) de DCPO-motifs extraits des cinq sous-bases associées aux classes de valeur de l’IBGN. Ces résultats déséquilibrés sont en partie liés aux nombres déséquilibrés de
séquences dans les classes, en lien avec l’état observé des
cours d’eau : les sous-bases les plus peuplées sont IBGNV
(2405 séquences), lIBGNJ (1282) et IBGNB (1056). La
sous-base IBGNO est plus faiblement peuplée (556 séquences), tandis que la sous-base IBGNR est quasi vide (89
séquences). Mais la diversité des motifs extraits des sousbases s’explique aussi par la diversité des valeurs de para-
Combinaison des critères : les critères de fréquence,
discriminance et redondance sont normalisés et combinés
afin d’obtenir un ensemble restreint de CPO-motifs caractéristiques pour chaque sous-base. La procédure que nous
utilisons consiste à sélectionner k motifs, pas-à-pas, en
maximisant la valeur suivante, calculée sur le motif à sélectionner P en référence à un ensemble P de motifs déjà
sélectionnés :
IPB (P, P) =
NMH(P, P) ⇥ Freq(P ) ⇥ NGGR(P )
⇥ 3 (2)
NMH(P, P) + Freq(P ) + NGGR(P )
où NMH(P, P) est la distance de Hamming normalisée minimale entre P et les motifs de l’ensemble P (distance initialisée à 1 pour P = ;), Freq(P ) est la fréquence de P
F IGURE 3 – Nombres de CPO-motifs extraits des sousbases IBGN (classes de valeur Bleu, Vert, Jaune, Orange
et Rouge), avec un support minimum de 1/10
<
/ >
/ MINER MOOXR
F IGURE 6 – Un DCPO-motif de la sous-base IBGNR
(mêmes paramètres mais de classes différentes que dans
la figure 5)
AZOTJ
<
$
<
F IGURE 4 – Visualisation dans un plan factoriel des 20
DCPO-motifs sélectionnés parmi les motifs extraits de la
sous-base IBGNR
mètres menant à une même classe d’IBGN. C’est pourquoi
il est intéressant de mettre en œuvre la procédure de sélection décrite plus haut, permettant de choisir des DCPOmotifs qui mettent en évidence cette variété.
Nous avons donc sélectionné 20 DCPO-motifs pour chaque
sous-base. La figure 4 représente leur distribution vis-à-vis
des DCPO-motifs extraits dans la sous-base IBGNR , dans
le plan factoriel construit sur la distance de Hamming entre
motifs. Chaque DCPO-motif est représenté par un cercle
dont le diamètre représente la fréquence du motif et le niveau de gris la discriminance. On observe sur cette projection que ces 20 DCPO-motifs sont assez bien répartis
parmi les motifs extraits de la sous-base, respectant ainsi le
critère de non redondance.
Les figures 5 et 6 présentent deux DCPO-motifs extraits
des sous-bases associées aux états "Très bon" (IBGNB )
et "Très mauvais" (IBGNR ). Les deux macro-paramètres
MINE et MOOX représentent respectivement la minéralisation de l’eau et les matières organiques et oxydables
présentes dans l’eau. On remarque ici que les classes des
macro-paramètres correspondent exactement aux classes
de l’indice biologique. Ce n’est pas forcément le cas pour
les autres indices – non présentés dans cet article.
<
/ MINEB MOOXB
/ >
F IGURE 5 – Un DCPO-motif de la sous-base IBGNB , associant les macro-paramètres "minéralisation de l’eau" et
"matières organiques et oxydables"
La figure 7 présente un DCPO-motif caractéristique de
la sous-base IBGNO . On observe ici que différentes séquences mènent à la classe "Mauvais état" de cet indice.
Le paramètre TEMP (température) est peu pertinent car
peu variable sur les données considérées. En revanche les
/ TEMPB
/ TEMPB
/5 >
"
MOOXJ
F IGURE 7 – Un DCPO-motif de la sous-base IBGNO , associant les macro-paramètres "température de l’eau", "matières azotées hors nitrate" et "matières organiques et oxydables"
macro-paramètres AZOT et MOOX – pour des valeurs
moyennes (Jaune) – ont visiblement un effet dégradant sur
l’état mesuré par l’IBGN.
4
Autres travaux
De nombreux travaux ont porté sur l’exploitation de
données hydro-écologiques. Classiquement les hydroécologues utilisent des approches statistiques. Des approches de fouille de données ont également été mises en
œuvre, arbres de décision [7], réseaux de neurones [8],
ou treillis de Galois [3]. Ces travaux ont généralement
pour objectif de mettre en relation des caractéristiques physiques ou physico-chimiques des rivières et les populations de taxons (faune ou flore) qui les habitent. Ainsi,
certains auteurs [7] utilisent des arbres de décision pour
prédire l’adéquation des habitats (caractérisés par des paramètres physiques et physico-chimiques) d’une rivère en
Grèce à certains macro-invertébrés. Le modèle des arbres
de régression multiple a été utilisé pour étudier l’impact
des conditions physico-chimiques du milieu sur les communautés de diatomées (algues microscopiques) dans un
lac macédonien [13]. Avec les mêmes techniques, d’autres
auteurs [10] ont cherché à prédire des valeurs de paramètres physico-chimiques à partir de paramètres biologiques (abondance des taxons).
A notre connaissance, aucune étude n’a porté sur l’utilisation d’algorithmes de recherche de motifs dans les séquences, avec l’objectif d’extraire les relations temporelles
entre les paramètres physico-chimiques et les indices biologiques, comme nous le proposons ici.
5
Conclusion
Le travail présenté ici a pour but de mettre en évidence
les liens temporels entre les valeurs de paramètres physicochimiques et d’indices biologiques. Nous avons développé
pour cela une méthode originale d’extraction de motifs
partiellement ordonnés clos. De plus nous avons mis en
œuvre une procédure de sélection des motifs s’appuyant
sur trois critères combinés, et permettant ainsi d’obtenir
des résultats exploitables par l’analyste et représentatifs du
jeu de données initial. La méthode a été exploitée avec succès sur un jeu de données important (15 macro-paramètres
et environ 5000 séquences pour l’IBGN, mais davantage,
de l’ordre de 10.000, quand on considère tous les indices
biologiques), ce qui prouve de plus sa pertinence pour la
fouille de données massives.
Par la suite, l’étude sera étendue aux données hydroécologiques collectées sur l’ensemble du territoire français et éventuellement à d’autres indices biologiques ou
d’autres paramètres physiques. La méthode devra également être testée sur des jeux de données aux caractéristiques diverses, afin d’en éprouver la stabilité.
rence on Data Engineering, ICDE 2008, pages 169–
178, 2008.
[7] Eleni Dakou, Tom D’Heygere, Andy P. Dedecker, Peter L.M. Goethals, Maria Lazaridou-Dimitriadou, and
Niels Pauw. Decision Tree Models for Prediction of
Macroinvertebrate Taxa in the River Axios (Northern
Greece). Aquatic Ecology, 41 :399–411, 2007.
[8] Andy P. Dedecker, Peter L.M. Goethals, Wim Gabriels, and Niels De Pauw. Optimization of Artificial
Neural Network (ANN) model design for prediction
of macroinvertebrates in the Zwalm river basin (Flanders, Belgium). Ecological Modelling, 174 :161–173,
2004.
[9] Guozhu Dong and Jinyan Li. Efficient Mining of
Emerging Patterns : Discovering Trends and Differences. In Proceedings of the Fifth ACM SIGKDD International Conference on Knowledge Discovery and
Data Mining, KDD, pages 43–52, 1999.
Remerciements
[10] Sašo Džeroski, Damjan Demšar, and Jasna Grbovi´c.
Predicting chemical parameters of river water quality from bioindicator data. Applied Intelligence,
13(1) :7–17, 2000.
Cette recherche est financée par l’Agence Nationale de la
Recherche dans le cadre du projet ANR 11 MONU 14
Fresqueau. Nous remercions chaleureusement les hydroécologues participant au projet, en particulier Corinne Grac
(UMR LIVE, ENGEES) et Danielle Levet (Aquascop).
[11] Mickaël Fabrègue, Agnès Braud, Sandra Bringay,
Florence Ber, and Maguelonne Teisseire. Orderspan :
Mining closed partially ordered patterns. In Advances
in Intelligent Data Analysis XII, LNCS 8207, pages
186–197. 2013.
Références
[12] Liqiang Geng and Howard J. Hamilton. Interestingness measures for data mining : A survey. ACM
Computing Survey, 38(3), 2006.
[1] AFNOR. Qualité de l’eau : détermination de l’Indice
Biologique Global Normalisé (IBGN). XP T90-350,
2004.
[2] Rakesh Agrawal and Ramakrishnan Srikant. Mining
sequential patterns. In International Conference on
Data Engineering, ICDE, pages 3–14, 1995.
[3] Aurélie Bertaux, Florence Le Ber, Agnès Braud,
and Michèle Trémolières. Identifying Ecological
Traits : A Concrete FCA-Based Approach. In Formal Concept Analysis, volume 5548, pages 224–236,
2009.
[4] Agnès Braud, Sandra Bringay, Flavie Cernesson, Xavier Dolques, Mickaël Fabrègue, Corinne Grac, Nathalie Lalande, Florence Le Ber, and Maguelonne
Teisseire. Une expérience de constitution d’un système d’information multi-sources pour l’étude de la
qualité de l’eau. In Atelier "Systèmes d’Information
pour l’environnement", Inforsid 2014, Lyon, 2014.
[5] Gemma Casas-Garriga. Summarizing Sequential
Data with Closed Partial Orders. In SIAM International Conference on Data Mining, Newport Beach,
CA, SDM PR119, pages 1–12, 2005.
[6] Hong Cheng, Xifeng Yan, Jiawei Han, and Philip S.
Yu. Direct Discriminative Pattern Mining for Effective Classification. In IEEE 24th International Confe-
[13] Dragi Kocev, Andreja Naumoski, Kosta Mitreski,
Svetislav Krsti´c, and Sašo Džeroski. Learning habitat models for the diatom community in Lake Prespa.
Ecological Modelling, 221(2) :330–337, 2010.
[14] Jian Pei, Haixun Wang, Jian Liu, Ke Wang, Jianyong
Wang, and Philip S. Yu. Discovering Frequent Closed
Partial Orders from Strings. IEEE Transactions on
Knowledge and Data Engineering, 2006.
[15] Miao Wang, Xue-qun Shang, and Zhan-huai Li. Sequential Pattern Mining for Protein Function Prediction. In Advanced Data Mining and Applications, volume 5139 of ADMA, pages 652–658. 2008.
Recherche de documents par apprentissage artificiel
pour une méta-analyse sur les émissions d’un gaz à effet de serre
A. Cornuéjols1
1
Ch. Loyce2
AgroParisTech, département MMIP et INRA UMR-518
2
3
A. Duroy 1
D. Makowski 3
A. Philibert3
16, rue Claude Bernard, F-75231 Paris Cedex 5 (France)
AgroParisTech, Dept. SIAFEE, UMR Agronomie INRA / AgroParisTech
UMR 211 INRA AgroParisTech
Ch. Martin1
78850 Thiverval-Grignon, France
78850 Thiverval-Grignon, France {antoine.cornuejols,christine.martin}@agroparistech.fr
Résumé
1
La méta-analyse est un outil puissant pour réaliser des synthèses quantitatives d’articles scientifiques traitant d’un
sujet commun, par exemple l’estimation des émissions de
gaz à effet de serre. La qualité d’une méta-analyse dépend
de plusieurs facteurs, et notamment de la qualité de la recherche bibliographique. Celle-ci génère fréquemment une
liste de plusieurs centaines voire plusieurs milliers d’articles. En général, seule une petite partie de ces articles
inclut des données exploitables. Dans ce cas, le tri manuel des articles et l’extraction des données constituent des
étapes longues (souvent plusieurs mois) et fastidieuses. Ce
papier décrit une technique permettant d’automatiser le tri
des articles par apprentissage artificiel dans le but de réaliser des méta-analyses portant par exemple sur des problématiques environnementales.
Prédire l’évolution et les risques liés à des systèmes mettant
en jeu des interactions complexes est un défi. Les enjeux
sont particulièrement évidents dans l’estimation du changement climatique, des risques sanitaires, de l’utilisation
des ressources naturelles ou des politiques agricoles.
Étant donnée l’importance croissante de ces questions pour
nos sociétés, il est fréquent qu’existe déjà un (très) grand
nombre d’études. Celles-ci sont cependant le plus souvent
parcellaires et locales aussi bien d’un point de vue spatial
que temporel. Prises séparément, il est difficile d’en extraire un scénario précis, ou même une estimation fiable de
quelques paramètres clés, comme, par exemple, l’estimation des émissions de gaz à effet de serre (N2 O en particulier) par les sols agricoles. Nous avons besoin de solutions permettant de faciliter le tri des sources scientifiques,
d’augmenter la fiabilité de ce tri et de rendre les procédures
utilisées pour les exploiter plus transparentes.
La méta-analyse est une méthode permettant de réaliser
des revues quantitatives de la littérature scientifique. Elle
consiste à réaliser une analyse statistique d’un jeu de données constitué d’un nombre plus ou moins grand d’expérimentations traitant du même sujet. Cependant, la qualité
d’une méta-analyse est en grande partie dépendante de la
pertinence et de la complétude du corpus d’études rassemblé au préalable.
Ce papier présente une démarche générique pour opérer
une sélection des articles pertinents. Elle est illustrée pour
une méta-analyse cherchant à estimer la part des doses
d’engrais azotés apportés sur les sols agricoles qui se retrouve convertie en N2 O, un puissant gaz à effet de serre 1 .
Mots Clef
Apprentissage Artificiel, méta-analyse, réchauffement climatique
Abstract
Meta-analysis is a powerful tool to perform quantitative
syntheses from scientific articles related to some given
question such as what is the amount of nitrous oxide coming from fertilizers that ends up as a greenhouse effect
agent ? The quality of a meta-analysis is greatly dependent
upon the relevance and completeness of the prior bibliographical search. It is common that a first search yields
hundreds or thousands of potentially relevant papers. In
general, however, only a small number of these articles
turn out to be of interest. Their filtering out mobilizes human experts for long periods of time and the process is
subject to many and difficult to control defects. This paper
describes an automatic process based on machine learning
techniques that help to screen the vast amount of literature
on a subject.
Keywords
Machine Learning, Meta-Analysis, Information Retrieval,
Global Warming.
Introduction
Principe de l’approche. Étant donnée la masse des documents désormais disponibles dans l’univers numérique,
ainsi que la complexité de chaque document par rapport à
l’information recherchée se rapportant à un paramètre, une
démarche raisonnable consiste à recourir à une séquence
d’opérations destinées à raffiner la recherche.
1. Sélection des articles par mots-clés. Soit Smc , l’ensemble des articles retenus ainsi.
1. Son pouvoir de réchauffement global sur 100 ans est 310 fois plus
élevé qu’une masse équivalente de CO2 [4].
2. Apprentissage portant sur les abstracts des documents à trier (trois phases) :
– Apprentissage d’une redescription des abstracts
qui diminue le nombre de descripteurs afin de
rendre la tâche d’apprentissage réalisable
– Étiquetage par l’expert de N articles parmi ceux
retenus à l’étape précédente (Smc ), de telle manière qu’environ N/2 de ces articles soient étiquetés comme valides (contenant l’information recherchée pour la méta-analyse), et que les autres soient
étiquetés négativement 2 .
– Apprentissage supervisé d’une règle de décision
permettant, sur la base des abstracts redécrits, de
distinguer les articles probablement pertinents de
ceux qui ne le sont probablement pas.
non d’un mot dans le texte, parfois avec une information
aussi sur la fréquence. Une difficulté est alors que la taille
du vocabulaire implique des représentations dont la taille
est aisément de l’ordre de plusieurs milliers, et donc souvent d’un ou deux ordres de grandeur supérieur au nombre
d’exemples d’appprentissage disponible.
Il faut donc réduire très notoirement la dimension de l’espace de représentation, tout en conservant autant que possible l’information utile. Les grandes étapes de prétraitement de textes classique sont les suivantes.
3. Apprentissage pour chercher l’information dans le
contenu des articles retenus après filtrage sur les abstracts.
2.2
La suite de ce papier est consacrée à la deuxième étape
(section 2).
Le souci récurrent à chaque étape est d’éliminer au maximum les articles non pertinents (les faux positifs) tout en
conservant cependant tous (ou le plus possible) les articles pertinents (vrais positifs). Or ces deux objectifs sont
contradictoires.
2
2.1
Traitement des abstracts
Du texte à une représentation vectorielle
La source d’information la plus riche et la plus discriminante étant les abstracts, c’est sur eux que doit prioritairement porter la méthode de filtrage. Cependant, si les experts sont incapables de fournir une telle règle, ils sont
néanmoins aptes à étiqueter les abstracts (et les documents
associés) en deux classes : positif et négatif, ou « pertinent » et « non pertinent ». Il devient dès lors tentant de
recourir à des techniques d’apprentissage artificiel supervisé pour essayer de découvrir de manière automatique une
règle de décision dont la performance en reconnaissance se
rapproche si possible de celle des experts.
Il n’existe pas encore de méthode d’apprentissage supervisé capable de s’appliquer à des textes quelconques. Ceuxci sont en effet à la fois semi-structurés, avec une ligne argumentative non contrainte et une longueur variable, tout
en impliquant potentiellement un vocabulaire considérable,
de l’ordre de plusieurs dizaines de milliers de mots (en
comptant les terminaisons et variations diverses). Il n’est
donc pas possible de fournir en entrée à des systèmes d’apprentissage classiques des textes sous leur forme brute.
C’est pourquoi a été imaginée une approche radicale
consistant à « projeter » un texte sur l’espace des mots du
vocabulaire du domaine d’intérêt. Dans cette approche en
« sac de mots » (bag-of-words), la structure du texte est
ignorée et ne subsiste que l’information sur la présence ou
2. Pour favoriser l’apprentissage, il est généralement préférable que
les classes soient équilibrées dans l’échantillon d’apprentissage.
1.
2.
3.
4.
Étape de reconnaissance des mots.
Le retrait des mots standards (stopwords).
La lemmatisation.
Le stemming.
Sélection d’attributs
Si les traitements purement textuels permettent un gain appréciable en terme de réduction de taille de vocabulaire
(souvent une division par 3 ou 4 du nombre de « mots »),
cela n’est généralement pas suffisant pour permettre la
mise en œuvre de techniques d’apprentissage. Il faut donc
compléter ces traitements par des analyses fondées sur des
mesures statistiques.
L’analyse tf-idf est l’une d’elle. Elle consiste à retirer les
termes ne permettant pas, au vu d’une analyse statistique,
de discriminer les textes au sein d’une collection de documents. Mais d’autres analyses sont spécifiquement dédiées
à la découverte des attributs de description qui sont les plus
corrélés à la distinction en classes selon certains critères.
Parmi les méthodes de sélection d’attributs (feature selection), on distingue généralement les méthodes de filtre (filter methods) qui évaluent la pertinence de chaque attribut
ou descripteur indépendamment, et sans tenir compte de la
méthode de classification supervisée utilisée en aval. Les
méthodes de filtre calculent un score à chaque attribut de
description indépendamment. Nous avons utilisée une méthode basée sur une mesure d’entropie : la mdl-entropie [3].
2.3
Recodage structuré et supervisé
Cependant, au lieu de redécrire les données grâce à des
techniques de sélection décrites dans la section précédente,
il peut être judicieux de procéder à un changement de représentation permettant si possible de rendre compte, au
moins en partie, de la structure des textes étudiés.
Un moyen simple pour commencer à tenir compte de cette
structure est de considérer non pas des mots isolés mais
des ensembles de mots (motifs) particuliers pour décrire les
documents. Une technique classique est de calculer les ngrams fréquents. On généralise les n-grams par les « motifs
fréquents » qui ne sont pas tenus d’être composés d’éléments contigus.
Soit A l’ensemble des descripteurs ai issus des étapes présentées en section 2.1. Un motif m est alors défini comme
un sous-ensemble de A et un motif m est dit présent dans
un document si tous les descripteurs qui le composent y figurent au moins une fois. Étant donné un motif m et une
2.4
Recherche d’une règle de discrimination
par apprentissage supervisé
Après l’étape de sélection ou de recodage des attributs de
description des documents, ne doit subsister qu’un petit
vocabulaire de termes à l’aide duquel sont décrits les documents. Il est préférable que la taille du vocabulaire ainsi
déterminée soit inférieure au nombre de documents de l’ensemble d’apprentissage. Tout document, d’apprentissage
ou à classer, est alors codé soit en signalant pour chaque
attribut si il est présent ou non dans le document : codage booléen, soit en reportant le nombre d’occurrences de
chaque attribut dans le document : codage par fréquence.
Une fois le codage obtenu, supposé aussi concis et néanmoins informatif que souhaitable, il devient possible de recourir à des techniques d’apprentissage artificiel supervisé
pour rechercher des règles de décision permettant de distinguer les documents pertinents de ceux qui ne le sont pas.
Ainsi, à partir d’un corpus d’entraînement S =
{(dj , yj )}1jm de m documents dj étiquetés dans une
classe yj par un expert, un algorithme d’apprentissage supervisé induit une règle de décision h(·) qui à partir d’un
document d lui associe une étiquette y = h(d).
De nombreuses techniques d’apprentissage supervisé
existent (voir [2]). Les plus classiques incluent : l’apprentissage par plus proches voisins, l’apprentissage bayésien naïf, l’apprentissage par réseaux de neurones artificiels, l’apprentissage par arbres de décision, les méthodes
à noyaux dont les SVM (Séparateurs à Vastes Marges),
et des méthodes de méta-apprentissage comme le boosting
ou le bagging. Ces algorithmes ont des propriétés propres
et présentent des avantages et inconvénients les rendant
plus ou moins adaptés à une utilisation donnée (voir le tableau 2.4). De plus, le choix parmi ces méthodes doit aussi
prendre en compte les critères importants pour l’application visée, à savoir par exemple :
– La robustesse au bruit dans les données (données mal
décrites, présence de données aberrantes, ...)
SVM
thè
se)
non
tell
lin
igi
éai
b
de
ilit
re
é
gra
n
de
Be
dim
soi
nd
ens
’a
ion
pri
ori
Fac
f
o
ilit
rt
éd
up
ara
mé
Gé
tra
nér
ge
alis
de
atio
la m
n/
éth
Mu
ins
ode
ltiens
cla
i
b
ilit
sse
éa
ub
rui
t
, in
n(
hyp
o
Naïve Bayes
Arbre de décis.
Réseau de neur.
Esp
ace
p
p
p
p
p
enc
e
éci
sio
de
d
k-ppv
Tra
nsp
ar
Rè
gle
fréquence minimale fmin servant de seuil de décision, on
dit que m est fréquent si et seulement si sa fréquence parmi
les documents concernés est supérieure à fmin . L’algorithme Apriori [2], ou l’une de ses variantes, permet de calculer l’ensemble des motifs fréquents pour tout ensemble
de documents fournis en entrée.
En sélectionnant les « motifs fermés fréquents » indépendamment sur chaque classe de documents que l’on souhaite pouvoir identifier (pertinent et non pertinent) on obtient une nouvelle « base » de descripteurs de dimension
d’autant plus faible que la table initiale est creuse et que
le seuil choisi est élevé. Il faut néanmoins veiller à ce que
chaque document soit décrit par au moins un descripteur.
Il y a donc un compromis à trouver au niveau de seuil de
sélection pour, d’une part, réduire au maximum le nombre
de descripteurs et, d’autre part, en conserver suffisamment
pour que chaque exemple disponible initialement reste utilisable pour la suite des traitements.
-p
-p
-p
p
p
p
-
-p
-p
-p
p
p
p
p
p
p
-
TABLE 1 – Comparaison de certaines propriétés de méthodes d’apprentissage supervisé classiques.
– La capacité à traiter des données numériques et/ou de
nature symbolique
– La capacité à traiter des données décrites dans un espace
de grande dimension
– L’intelligibilité des règles de décision produites
– La complexité calculatoire (temps calcul et espace mémoire nécessaires)
3
Application : Estimation des émissions de N2 O par les sols agricoles
Dans ses rapports successifs sur le réchauffement climatique, et concernant plus particulièrement les calculs
d’émission de gaz à effet de serre dans l’atmosphère, le
Groupe d’Experts Intergouvernemental sur l’Évolution du
Climat (GIEC) a d’abord considéré que 1,25% des doses
d’engrais azoté appliquées aux sols cultivés est converti en
N2 O [1]. Plus récemment, le GIEC a revu ce taux d’émission à la baisse (1%) suite à une nouvelle méta-analyse [5].
Or l’impact de cet écart d’estimation est considérable sur
les scénarios de réchauffement climatique. Il est donc crucial de parvenir à l’estimation la plus fiable et la plus précise possible, et cela dépend d’abord de la qualité du corpus
de sources scientifiques rassemblé. Ce papier étudie l’estimation des émissions de N2 O liées aux quantités d’engrais
azotés apportées aux cultures.
3.1
Corpus
La production mondiale d’articles scientifiques est en
croissance vertigineuse depuis de nombreuses années
(⇠470 000 en 1988 contre ⇠990 000 en 2008 selon le rapport de l’UNESCO sur la science 2010). La plus grande
partie de cette production est désormais potentiellement accessible sur Internet et il existe différents sites Internet as-
surant le référencement de ces publications. Parmi ceux-ci,
l’un des acteurs majeurs du marché est le Web of Science
(Thomson Reuters) qui regroupe de multiples domaines
scientifiques au sein de ses bases de données.
La recherche de documents sur le Web of Science s’effectue
en précisant une thématique et des mots-clés. Par exemple,
la requête avec les mots-clés « nitrous oxide » et
« crop » retourne environ 1400 articles.
Partant des 1400 articles sélectionnés grâce à la première
requête par mots-clés sur le Web of Science, les experts ont
étudié les abstracts de 44 articles, étiquetant 20 d’entre eux
comme « non-pertinent » et 24 comme « pertinent » formant ainsi le corpus utilisable pour l’entraînement et l’évaluation de notre méthode à chacune de ces étapes : d’abord
filtrage sur la base des abstracts puis sur la base des contenus par l’analyse des légendes des figures et des tableaux.
Les fichiers PDF correspondant à ces documents représentent un spectre assez large de documents types liés à la
thématique de recherche sur les émissions de gaz à effets
de serre. Ils sont issus d’une dizaine de revues scientifiques
différentes parmi les plus représentées dans le domaine de
la biologie (Elsevier, etc.). Leur examen montre que l’agencement des parties de document ainsi que les formalismes
utilisés sont très variés selon les publications, ce qui représente un défi supplémentaire pour la mise au point d’une
méthode générique de récupération du contenu d’un document sous format PDF 3 .
3.2
Mise en œuvre de la méthode
Le retrait de mots-standard (stop-words), la lemmatisation
et le stemming ont été réalisés sur ces 44 abstracts, ramenant le nombre de termes de description à 1413.
Afin d’examiner comment varie la richesse du vocabulaire,
ainsi que sa redondance, dans les abstracts, nous avons
tracé la courbe du nombre t de termes différents en fonction
du nombre n d’abstracts étudiés. Cette courbe a été obtenue par tirages aléatoires répétés de k abstracts parmi les
44 étiquetés avec calcul de la moyenne et de l’écart-type
(voir Figure 1). La courbe, d’allure concave, montre que
le nombre de termes croît sub-linéairement avec le nombre
d’abstracts. Cependant, même s’il y a donc redondance, les
mêmes termes étant utilisés dans plusieurs abstracts, il y a
introduction significative de nouveaux termes (environ 30)
encore au 42ème abstract.
Une fois cette première étape de réduction de la dimension
des abstracts effectuée, les expériences réalisées avaient
plusieurs objectifs :
1. Déterminer le nombre optimal d’abstracts à étiqueter pour obtenir une bonne performance de discrimination entre articles prometteurs et articles à rejeter.
Étant donné le coût en temps expert de l’étiquetage
des articles et la tendance des experts humains à augmenter leur taux d’erreur d’étiquetage avec le nombre
3. Faute de place, nous ne détaillons pas la méthode mise au point
pour cette extraction, qui a cependant représenté une bonne moitié de
notre travail et dont la qualité est cruciale pour le reste de l’analyse.
F IGURE 1 – Nombre moyen d’attributs n (et écart-type)
en fonction du nombre k d’abstracts considéré pour 100
tirages aléatoires
à traiter, il est souhaitable de limiter au maximum la
taille requise du corpus d’entraînement.
2. Mesurer l’effet des changements de représentation en
comparant trois situations :
– performance sans changement de représentation
(pas de réduction au delà de la première étape)
– performance en utilisant la méthode de codage par
mdl-entropie
– performance en utilisant le recodage par motifs fréquents
3. Comparer les performances sur ce problème de diverses méthodes de classification supervisée. Nous
avons comparé trois méthodes ayant des fondements
différents :
– Les arbres de décision
– Le classifieur naïf de Bayes
– Les séparateurs à vastes marges (SVM), ici avec un
noyau à base radiale
3.3
Résultats
Sélection des attributs et recodage par motifs
Aussi bien les méthodes de recodage par sélection d’attributs (mdl-entropie) que les méthodes par construction
de nouveaux descripteurs (motifs fréquents) dépendent du
corpus d’entraînement. Il était donc important d’analyser
l’impact de la taille du corpus d’entraînement (le nombre
d’abstracts) sur le recodage obtenu.
La méthode de sélection de descripteurs par mdl-entropie
apparaît satisfaisante à trois titres. Elle conduit à un codage de petite dimension, celui-ci est stable puisque les
mêmes descripteurs sont sélectionnés lors des tirages, enfin
les descripteurs sélectionnés semblent pertinents comme
l’indique la présence de termes liés à des unités de mesure (« kg », « ha »), qui sont effectivement des cibles de
la méta-analyse.
Le recodage par motifs fréquents présente grossièrement
les mêmes caractéristiques : stabilité des motifs, pertinence
apparente, mais les nouveaux descripteurs ressortent en
plus grand nombre, nombre qui varie fortement en fonction du taux de couverture utilisé.
Il est notable que 80 à 90 % des motifs retenus proviennent des documents de la classe « pertinent » tandis
que seulement 10 à 20 % sont issus des documents non
pertinents avec une intersection assez faible entre ces deux
ensembles. Cela démontre que les documents « non pertinent » exploitent un vocabulaire plus diversifié et sont plus
hétérogènes que les documents « pertinent ».
Comparaison des méthodes de classification supervisée
et nombre optimal de documents à étiqueter
Une méthode de filtrage de documents pertinents sera performante et donc utilisée si elle demande aux experts un effort d’étiquetage faible, c’est-à-dire portant sur peu de documents, et si cela permet néanmoins d’obtenir une règle
de classification efficace, ce qui veut dire en premier lieu
maximisant le rappel (peu de faux négatifs) sans que cela
soit trop au détriment de la précision (aussi peu que possible de faux positifs).
Nous avons comparé les performances des trois classifieurs : Séparateurs à Vastes Marges (SVM) (noyau gaussien avec
= 0.5), arbres de décision (C4.5) et Naïve
Bayes (NB) en termes de rappel et précision en faisant varier le codage utilisé.
Sans recodage (après lemmatisation et stemming), les performances ont été obtenues par répétition de tirages de n
abstracts d’entraînement (avec équirépartition de « pertinent » et « non pertinent » dans les ensembles d’apprentissage et de validation). On a fait varier n de 10 à 42 (auquel
cas il reste 2 abstracts de validation : un « pertinent » et un
« non pertinent »).
Avec recodage, la procédure est la même. Pour chaque valeur de n considérée, on a répété 100 tirages aléatoires
de n abstracts parmi les 44 étiquetés par les experts. Pour
chaque tirage, le codage est calculé (parfois avec plusieurs
valeurs de support pour le codage par motifs fréquents),
puis utilisé pour coder les exemples d’entraînement et de
test. La performance en rappel et précision est alors obtenue pour chaque valeur de n par calcul de la moyenne sur
les 100 répétitions.
Les meilleurs résultats ont été obtenus avec les SVM.
Sans recodage
Rappel (n = 20)
(n = 40)
Précision (n = 20)
(n = 40)
SVM
68%
80%
80%
90%
Avec le recodage par motifs fréquents :
motifs fréquents
SVM
C4.5
NB
Rappel (n = 20)
87%
96%
96%
(n = 40)
96%
100%
98%
74%
v62%
54%
v83%
65%
55%
Précision (n = 20)
(n = 40)
De ces tableaux, il est possible de tirer les conclusions suivantes :
1. Le recodage améliore sensiblement les performances.
2. Le recodage par motifs fréquents est le plus performant, alors même qu’il implique un plus grand
nombre de descripteurs que le codage par mdlentropie. Cela peut être dû à ce que ce codage capture
mieux les structures du texte. Plus probablement, cela
est dû au fait que le codage lui-même distingue déjà
beaucoup les deux classes de textes.
3. Il est possible d’obtenir un rappel de quasiment 100%
par recodage par motifs fréquents (support 0.5) et utilisation des arbres de décision, avec une précision qui
est alors de 65%.
4. Il est possible d’obtenir une bien meilleure précision
en utilisant les SVM (83%), mais c’est au prix d’un
rappel de 96% ce qui peut être rédhibitoire dans une
tâche de méta-analyse qui ne veut pas laisser passer
de documents pertinents.
5. On obtient déjà d’excellents résultats à partir de 20
abstracts d’entraînement. L’amélioration des performances étant faible ensuite.
La méthode qui maximise le rappel est donc celle qui repose sur un recodage par motifs fréquents et une classification supervisée par arbres de décision, avec apprentissage
sur au moins une vingtaine d’articles.
Dans un contexte dans lequel on peut estimer à 10% environ la proportion des articles pertinents (soit environ 150
sur 1440 articles sélectionnés sur la base des mots clés),
trois stratégies sont intéressantes à comparer pour évaluer
l’effort demandé aux experts. Toutes les trois reposant sur
un recodage par motifs fréquents, le plus performant.
1. Utilisation d’un corpus d’entraînement de 40 abstracts (20 « pertinent » et 20 « non pertinent ») et apprentissage d’arbres de décision. Le rappel est alors
de 100% et la précision de 65%. La matrice de confusion est alors proche de :
Avec le recodage issue de la méthode mdl-entropie :
mdl-entropie
SVM
C4.5
NB
Rappel (n = 20)
76%
80%
70%
(n = 40)
90%
90%
86%
Précision (n = 20)
72%
72%
68%
(n = 40)
75%
74%
74%
XXX
XXXRéelle
XXX
Estimée
+
+ (P)
(N)
VP = 144
FP = 144 0.35
⇡ 78
0.65
FN = 0
VN = 1218
Pour obtenir 40 abstracts d’entraînement, dont 20 positifs (« pertinents »), les experts ont du préalablement
examiné environ 200 documents. Après filtrage par recodage et apprentissage d’une règle de décision, il en
ont encore 222-20 soit environ 200 à examiner pour finalement découvrir les 144 documents pertinents. Au
total, les experts auront étiqueté environ 400 documents, soit environ 28% des 1440 documents initiaux.
2. Utilisation d’un corpus d’entraînement de 20 abstracts (10 « pertinent » et 10 « non pertinent ») et apprentissage d’arbres de décision. Le rappel est alors
de 96% et la précision de 62%. La matrice de confusion est alors proche de :
XX
XXX Réelle
XXX
Estimée
X
+ (P)
+
VP = 138
⇡ 85
FP = 144 0.35
0.65
FN = 6
VN = 1211
(N)
Avec cette stratégie, les experts doivent préalablement
examiner environ 100 documents pour obtenir le corpus d’entraînement, puis encore 128 + 85 ⇡ 215 documents, soit au total 315 documents, ou 22% des
1440 documents initiaux. Le prix à payer pour cet effort moindre que dans la stratégie précédente est de
courir le risque de manquer 6 documents pertinents.
3. Utilisation d’un corpus d’entraînement de 40 abstracts (20 « pertinent » et 20 « non pertinent ») et apprentissage par Séparateurs à Vastes Marges. Le rappel est alors de 96% et la précision de 83%. La matrice
de confusion est alors proche de :
XXX
XXXRéelle
XXX
Estimée
+
4
Conclusion et perspectives
Étant donnée la globalité, tant spatiale que temporelle, des
processus environnementaux, c’est une multitude d’études
fragmentaires et partielles qu’il faut savoir prendre en
compte. Seul un processus automatisé défini avec soin peut
à la fois permettre d’en faire l’analyse et de garantir l’objectivité et la reproductibilité de celle-ci. Ce papier a présenté une méthode visant à aider les experts à faire le tri des
articles scientifiques portant sur une question donnée pour
n’avoir à analyser que les articles pertinents : seulement
ceux-ci mais tous ceux-ci.
Le souci est de maximiser le rappel tout en ayant une bonne
précision. De notre étude, il ressort que le recodage par motifs fréquents est le plus performant, couplé à un apprentissage par arbre de décision ou par Séparateurs à Vastes
Marges (SVM).
La méthodologie décrite a été testée sur un problème d’estimation d’émission de gaz à effet de serre, le N2 O, par kilo
d’engrais épandu sur les terres agricoles. Elle a permis de
voir qu’à partir d’environ 10 articles étiquetés « pertinent »
et 10 « non pertinent », il était possible d’apprendre une
règle de décision portant sur les abstracts permettant d’éliminer environ 80% des articles potentiels (ici 1440) sans
risque (quasiment) d’éliminer des faux négatifs.
Remerciements. Nous remercions le Conseil Scientifique
d’AgroParisTech pour le soutien au projet ExtraEx dans le cadre
de l’appel d’offre annuel en 2012 sur les projets scientifiques,
ainsi que le soutien par le Réseau National des Systèmes Complexes lors de l’appel à Réseaux pour l’année 2013.
Références
[1] Bouwman, A. (1996). Direct emission of nitrous oxide
from agricultural soils. Nutrient cycling in agroecosystems 46(1), 53–70.
[2] Cornuéjols, A. and L. Miclet (2010). Apprentissage
Artificiel. Concepts et algorithmes (2nd Ed.). Eyrolles.
+ (P)
(N)
VP = 138
FP = 144 0.17
⇡ 29
0.83
FN = 6
VN = 1267
Avec cette stratégie, les experts doivent préalablement
examiner environ 200 documents pour obtenir le corpus d’entraînement, puis encore 128 + 29 ⇡ 160 documents, soit au total 360 documents, ou 25% des
1440 documents initiaux. Cette stratégie est à michemin des deux précédentes en termes d’effort demandé aux experts.
On voit que les trois stratégies permettent une économie
très sensible du travail demandé aux experts en terme
d’examen des documents sans conduire à un taux de faux
négatifs important (moins de 4%).
[3] Kohavi, R. and M. Sahami (1996). Error-based and
entropy-based discretization of continuous features. In
Proceedings of the second international conference on
knowledge discovery and data mining, pp. 114–119.
[4] Mosier, A., J. Duxbury, J. Freney, O. Heinemeyer, and
K. Minami (1998). Assessing and mitigating N2O emissions from agricultural soils. Climatic Change 40(1),
7–38.
[5] Stehfest, E. and L. Bouwman (2006). N2O and no
emission from agricultural fields and soils under natural
vegetation : summarizing available measurement data
and modeling of global annual emissions. Nutrient Cycling in Agroecosystems 74, 207–228.
Simuler l’assolement d’un paysage par reproduction des structures locales
T. Guyet1,3
1
Y. Moinard2,3
R. Quiniou2,3
AGROCAMPUS-OUEST/IRISA UMR 6079, Rennes
2
Inria
[email protected], [email protected], [email protected]
Résumé
Le développement d’outils pour la simulation de paysages
virtuels est un enjeu important pour l’étude des relations
croisées entre les paysages, les processus biophysiques et
leurs acteurs. L’approche suivie dans ce travail consiste
à engendrer des paysages réalistes en s’intéressant à reproduire des structures locales caractéristiques d’un paysage réel. Cet article propose la démarche générale de la
simulation de paysage en deux étapes principales : 1) la
fouille de motifs fréquents et 2) la recomposition d’un paysage réaliste à l’aide de méthodes de programmation logique (ASP) incluant la génération de l’assolement. Nous
présentons quelques résultats de simulation et des règles
expertes qui peuvent être utilisées pour contraindre la génération.
Mots Clef
Graphe, ASP, programmation logique, simulation, paysage
Abstract
The development of tools for the simulation of virtual landscapes is an important issue for the study of the relationships between landscape, biophysical processes and their
actors. Our approach generates realistic landscapes by reproducing characteristic local structures of a real landscape. This paper proposes the general approach of the simulation landscape in two main steps : 1) the extraction
of frequent patterns and 2) the reconstruction of a realistic
landscape using the method of logic programming (ASP)
including generation crops. We present some simulation
results and expert rules that can be used to constrain the
generation.
Keywords
Graph, ASP, logic programming, simulation, landscape
1
Introduction
De plus en plus de recherches en agronomie s’intéressent
aux processus agro-écologiques en interaction avec un paysage. Mais les agronomes ne disposent généralement pas
d’une variété importante de paysages réels pour identifier
les interrelations entre les caractéristiques de paysage et les
processus agro-écologique. La simulation de paysages virtuels, réalistes et paramétrables doit pallier ce manque de
données réelles. Ces paysages virtuels serviront de support
à la simulation du processus étudié pour comprendre les
interactions entre paysage et processus.
Nous définissons un paysage agricole comme l’organisation spatiale d’éléments paysagers naturels (p. ex. parcelles
agricoles, haies, plans d’eau) ou artificiels (p. ex. bâtiments,
routes) avec lequel interagissent des acteurs aussi divers
que des agriculteurs, des insectes, la faune en général, la
végétation naturelle et cultivée, etc. Un paysage virtuel est
une représentation numérique d’un paysage. L’approche de
simulation de paysage réaliste que nous mettons en œuvre
est inspirée de Le Ber et al. [9]. Cette méthode de simulation neutre de paysage consiste à extraire des caractéristiques des paysages et de les reproduire dans les paysages
simulés. La méthode est dite “neutre” par opposition aux
modèles décisionnels qui s’appuient sur la modélisation
des acteurs et de leurs pratiques pour générer les paysages
(p. ex. Akplogan et al. [1] ou Bergez et al. [3]). La méthodes de Lazrak et al. [8] proposent une approche combinant la modélisation des acteurs et la modélisation stochastique de la dynamique d’organisation spatiale et temporelle
des paysages agricoles.
Nos travaux s’intéressent à la génération d’un assolement
pour un paysage agricole, c’est-à-dire à l’attribution des
types de culture (blé, prairie, maïs, etc.) à chaque parcelle agricole d’un paysage. Pour les besoins d’études
agronomiques portant sur des populations animales vivant
dans les haies et talus, nous cherchons à reproduire les
caractéristiques organisationnelles des paysages agricoles,
i.e. d’avoir des colocalisations de parcelles réalistes.
Le processus général présenté dans cet article est illustré
par la figure 1. Le processus comprend trois étapes principales :
1. extraction des structures caractéristiques d’un parcellaire réel. On construit également l’ensemble des
structures “nues” (sans attribution d’occupation du
sol)
2. décomposer un parcellaire nu (à assoler) en sousstructures
3. attribuer les occupations du sol des nœuds aux par-
F IGURE 1 – Processus de simulation d’une occupation du sol en trois étapes : 1) l’extraction de structures caractéristiques
d’un paysage, 2) la décomposition du nouveau parcellaire à assoler et 3) l’attribuer d’une occupation du sol.
celles correspondantes
Dans nos travaux précédents, nous avons mis en place une
méthode d’extraction des colocalisations de parcelles, appelées par la suite structures, à partir d’un paysage numérique représenté sous la forme d’un graphe d’adjacence des
parcelles [6]. D’autre part, nous nous sommes intéressés à
la formalisation du problème de la simulation d’un assolement [7]. La simulation de l’assolement y est vue comme
un problème combinatoire de décomposition du graphe de
parcelles par des structures.
Dans cet article, nous mettons en œuvre ces travaux pour
générer effectivement des paysages agricoles. Nous revenons pour cela sur les étapes d’extraction de structures et de
recomposition d’un graphe puis nous présentons la génération de l’assolement. Cette génération est effectuée sous
contraintes ajoutées par l’expert.
2
Représentation des paysages sous
la forme d’un graphe
Dans notre approche, un paysage est représenté par un
graphe dont les nœuds sont des parcelles agricoles et dont
les arcs sont des relations spatiales entre les parcelles agricoles [6]. Cette représentation met en exergue des structures dans le paysage (i.e. des colocalisations de parcelles).
Le graphe est construit à partir d’un parcellaire agricole
qui décrit la géométrie et l’occupation du sol des parcelles.
Les sommets du graphe représentent les parcelles. Ils sont
caractérisés par un attribut qualitatif qui donne l’occupation du sol (p. ex. prairie, blé, forêt, bâtiment, route, etc.
les données comprennent 20 types d’occupations du sol au
total).
Les arêtes du graphe indiquent une relation d’adjacence
entre deux parcelles. L’information spatiale n’est conservée qu’au travers de l’existence de ces arrêtes. La relation
d’adjacence a été adaptée pour tenir compte des données.
En particulier, nous faisons en sorte que deux parcelles situées de part et d’autre d’une route, d’un chemin, d’une
voie ferrée ou d’une haie soient considérées comme adjacentes dans le graphe. Les arêtes du graphe sont nonorientées et ne sont décrites par aucun attribut.
Dans la suite, nous notons G = hV, E, µi un graphe où V
est l’ensemble des nœuds du graphe, E ⇢ V ⇥ V l’ensemble des arcs du graphe et µ : V 7! ⌃ la fonction attribuant une occupation du sol à un nœud (⌃ représentant
l’ensemble des occupations du sol).
3
Fouille de structures fréquentes
L’utilisation de méthodes de fouille de sous-graphes fréquents extrait des sous-graphes récurrents dans un paysage.
Ces sous-graphes caractérisent le paysage. Nous avons
adapté les algorithmes de fouille de sous-graphes à notre
problématique dans un outil appelé G EO S PAN. Cet algorithme est une adaptation de l’algorithme G S PAN [10].
Nous avons repris la méthode d’énumération de sousgraphes mais nous y avons intégré la méthode d’énumération de sous-graphes de Bringmann et Nijssen [4].
La définition du seuil de fréquence minimum requis pour
identifier un motif comme intéressant a également été
adaptée. La distribution des occupations du sol d’un parcellaire est fortement déséquilibrée. En particulier, les prairies sont très fortement sur-représentées. Avec de telles caractéristiques, les méthodes classiques de fouille de sousgraphes sont limitées par la sur-représentation de motifs
comportant uniquement (ou très majoritairement) des prairies. À nombre d’occurrences égal, les motifs comportant
des occupations du sol plus fréquemment rencontrées sont
donc moins intéressants que ceux qui comportent des occupations du sol plus rares.
La fonction de seuil de fréquence minimum ⌧ (m) pour un
motif m est définie ci-dessous. Un motif m est fréquent si
le nombre de ses occurrences est supérieur à ⌧ (m).
8
si ⇢(m) < 1
< 1
⇢(m) si 1 < ⇢(m) <
⌧ (m) =
:
si ⇢(m) >
avec,
⇢(m) = ↵ ⇥ min (f (µ (n))) +
n2V (m)
⇥ |V (m)|2
où V (m) est l’ensemble des nœuds du motif m, |V (m)|
le nombre de ces nœuds, et f (os) est la fréquence de l’occupation du sol os 2 ⌃ dans le graphe. ↵ et sont deux
nouveaux paramètres, et désigne le seuil de fréquence
habituellement fixé pour les algorithmes de fouille de données.
Le seuil d’un motif ⌧ (m) est donc fonction de la fréquence de l’occupation du sol la moins fréquente dans le
graphe, et de la taille du motif. Si on considère une fonction de la forme ↵ ⇥ minn2V (m) (f (µ(n))) + (|V (m)|)
où ↵ 2 [0, 1] et (|V (m)|) est une fonction du nombre de
sommets dans le motif, alors le critère de fréquence d’un
motif devient de plus en plus strict à mesure que le motif
grandit. Une telle manière d’adapter le seuil de fréquence
est compatible avec la propriété d’anti-monotonie de la mesure de support. Une fonction croissant rapidement associée à un seuil maximum important ne gardera que des petits motifs. Une fonction croissant rapidement associée à un
seuil maximum bas gardera les petits motifs contenant des
sommets peu fréquents en permettant d’avoir des motifs
plus grands avec des sommets fréquents. L’utilisation d’un
seuil dépendant d’une fonction quadratique du nombre de
nœuds est un bon compromis entre les temps de calcul et
la diversité des motifs.
Le résultat de la méthode de fouille de sous-graphes fréquents est un ensemble N de graphes attribués connexes.
Pour le processus de génération, nous construisons également un ensemble de structures nues S à partir des structures de N (en supprimant leurs attributs). Tous les graphes
sont distincts (i.e. il n’y a aucune paire de structures qui
soient isomorphes). En revanche, si nous considérons ces
structures sans leurs attributs (structures nues), il existe des
structures nues isomorphes. Un seul exemplaire de structure nue isomorphe est conservé dans S.
4
4.1
Décomposition optimale
graphe par des structures
d’un
Présentation du problème
Soit G = hV, Ei un graphe représentant un parcellaire
agricole nu (sans ses occupations du sol) et S un ensemble de structures nues. Une instance IS d’une structure
S = hVS , ES i 2 S dans un graphe G est un sous-graphe
de G isomorphe à la structure S : tout sommet de IS est un
sommet de G et tout arc de IS est un arc E de G.
Une décomposition du graphe G par S est un ensemble
d’instances de S tel que chaque nœud de G est associé
à une seule et unique instance. Une décomposition optimale est une décomposition comportant le nombre minimal d’instances (décomposition par un ensemble d’instances les plus grandes possible).
La décomposition n’est pas nécessairement possible dans
le cas général. En revanche, quel que soit le graphe
G, si S contient la structure-singletons (constituées d’un
unique nœud), alors la décomposition triviale en autant
d’instances-singleton que de nœuds est possible, et donc
une décomposition optimale existe. La décomposition optimale n’est bien sûr pas nécessairement unique.
Cette tâche de décomposition peut s’apparenter à une coloration de graphe, mais nous n’avons pas connaissance
d’une solution algorithmique concernant ce problème de
décomposition.
4.2
Représentation du problème en ASP
La programmation par ensembles réponses [2] (abrégé ici
par l’acronyme anglais ASP, “answer set programming”)
est proche de l’idéal de la programmation déclarative : le
problème est le programme. La solution est un ensemble
de modèles particuliers appelés ensembles réponses. Les
moteurs de résolution des programmes ASP s’appuient sur
des solveurs de contraintes efficaces. En pratique, nous utilisons l’outil clingo4 [5].
Le graphe et les structures sont représentés à l’aide des cinq
prédicats node/1, edge/2, structure/1, snode/2, sedge/3 de la
façon suivante :
— node(X) : X est un nœud du graphe
— edge(X,Y) : le graphe comporte un arc entre les
nœuds X et Y
— structure(S) : S est une structure
— snode(S,P) : P est un nœud de la structure S
— sedge(S,P,Q) : la structure S contient un arc entre les
nœuds P et Q
La représentation d’une solution au problème de décomposition d’un graphe par un ensemble de structures utilise les
prédicats instance/2 et sgraph/3 :
— instance(I,S) : I désigne une instance de la structure
S dans le graphe.
— sgraph(I, X, P) : le nœud X du graphe est associé
au nœud P de l’instance I . L’ensemble des atomes
sgraph décrit ainsi la décomposition du graphe en
sous-graphes.
La figure 2 illustre un AS, i.e. un modèle qui représente une
décomposition optimale.
4.3
Résolution avec ASP
Le programme ASP est composé de trois parties :
1. La partie “génération” consiste à générer des modèles potentiels, sans que ceux-ci répondent nécessairement à toutes les contraintes du problème.
2. La partie “contraintes” formalise les contraintes qui
doivent être vérifiées par les solutions générées. Les
Algorithme 1: Programme ASP de résolution d’une décomposition optimale d’un graphe par un ensemble de
structures
1
2
3
F IGURE 2 – Illustration d’un AS. À gauche : le graphe, à
droite : les instances. Les traits fins entre les nœuds des instances et les nœuds du graphe illustrent les atomes sgraph.
4
5
6
7
3. La partie “optimisation” définit les contraintes
d’optimisation visant à identifier les solutions “les
meilleures” par rapport aux critères choisis.
Le principe de la génération (ligne 2 à 4) est de fixer un
nombre d’instances K, et d’engendrer les atomes instance
pour associer chacune de ces instances à une structure.
L’ensemble des combinaisons de structures est ainsi exploré (p. ex. pour 2 structures : K instances de S1 et 0 de
S2 , K 1 instances de S1 et 1 de S2 , etc.). Ceci est effectué
pour toutes les valeurs de K possibles, i.e. de 1 au nombre
de nœuds du graphe (ligne 1).
10
11
12
La contrainte de correspondance entre la structure et un
sous-graphe de G est exprimée, lignes 27 et 28, à l’aide
du nombre d’arcs d’un nœud X : { sgraph(I, Y, Q): edge(X,Y
), sedge(S, P, Q)} désigne l’ensemble des nœuds Y du graphe
pour lesquels 1) il existe un arc entre X et Y pour la struc-
% Contrainte sur le nombre de noeuds
suminstance(I, L) : snumber(S,L), instance(I,S).
: M { node(N) }, M=Tot+1, Tot=#sum{ L : suminstance(I, L) }.
: { node(N) } M, M=Tot 1, Tot=#sum{ L : suminstance(I, L) }.
13
14
15
% Génération des correspondances
L { sgraph(I, X, P): node(X), snode(S,P) } L :
instance(I,S).
snumber(S,L),
16
17
18
19
20
% Contraintes d’unicité des correspondances entre noeuds
: sgraph(I,X,P), sgraph(I,Y,P), X<Y.
: sgraph(I,X,P), sgraph(J,X,Q), Q<P.
: sgraph(I,X,P), sgraph(J,X,Q), I<J.
21
22
:
not sgraph(_,N,_), node(N,_).
23
24
25
26
Les contraintes sont ensuite exprimées par des règles “sans
tête” pour exprimer “il n’est pas possible que”. La ligne 18
indique qu’un même nœud P d’une instance I ne peut pas
être attribué à deux nœuds différents du graphe.
Les contraintes d’unicité (lignes 18 à 22) assurent l’existence d’une bijection entre l’ensemble des nœuds des structures générées, et l’ensemble des nœuds du graphe G. Les
lignes 19 et 20 indiquent la réciproque : un nœud du graphe
est couvert par un unique nœud d’une unique instance. La
ligne 22 indique que chaque nœud du graphe G doit correspondre à un nœud d’une structure générée. Cette contrainte
élimine les solutions partielles où un nœud du graphe G ne
figure dans aucun des atomes sgraph générés.
Ces quatre contraintes imposent un nombre total de nœuds
des structures égal au nombre de nœuds du graphe. Néanmoins, nous ajoutons les lignes 10 à 12 pour rendre explicite la contrainte sur la somme des nombres de nœuds
des instances. Celle-ci est donc redondante, mais elle peut
être utilisée en amont de la génération des atomes sgraph et
ainsi élimine-t-elle très tôt des AS potentiels non valides.
L’égalité s’exprime ici comme l’impossibilité des deux inégalités strictes (ligne 11 – élimine les cas avec un cardinal
supérieur ou égal à M – et ligne 12 – élimine les cas avec
un cardinal inférieur ou égal à M).
% snumber donne le nombre de noeuds dans la structure S
snumber(S, L) : L = #count{ N : snode(S,N) }, structure(S).
8
9
solutions générées qui ne satisfont pas toutes les
conditions sont éliminées.
% Génération des instances, nnode(NN) : nombre de noeuds du
graphe
1{ nbinstances(1..NN): nnode(NN) } 1.
instid (1.. K) : nbinstances(K).
1{ instance(I,S) : structure(S) } 1 : instid( I ) .
27
28
% L est le degré du noeud P dans la structure S
sdegree(S, P, L) : L= #count{ N : sedge(S, P, N) }, structure(
S), snode(S, P).
% Contraintes de correspondance entre les arcs des graphes
: { sgraph(I, Y, Q): edge(X,Y), sedge(S, P, Q) } M , instance(I
, S), sgraph(I, X, P), sdegree(S, P, L), M=L 1.
: M { sgraph(I, Y, Q): edge(X,Y), sedge(S, P, Q) }, instance(I,
S), sgraph(I, X, P), sdegree(S, P, L), M=L+1.
29
30
31
32
%Optimisation
nbinstances(L) : L={instance(I,S)}.
#minimize { L : nbinstances(L) }.
ture S dont I est une instance, et 2) il existe un arc entre P et
Q. La taille de cet ensemble doit être exactement le degré
du nœud correspondant dans la structure. Notons que par
construction on a la correspondance dans un sens, et donc
vérifier cette égalité assure la correspondance bijective.
Finalement, la partie optimisation, lignes 31 et 32, précise
que seuls les modèles dont le nombre d’instances est minimal sont calculés.
Pour plus de détails sur la méthode et les choix de résolution, nous invitons le lecteur à consulter [7].
5
Reconstruction d’un assolement
avec ASP
Le principe de la génération de l’occupation du sol est
de faire correspondre les instances qui décomposent le
graphe à des structures attribuées. Les attributs des structures donnent l’occupation du sol aux nœuds correspondants. Comme une instance est déjà associée à une structure nue, il s’agit de sélectionner une structure attribuée
isomorphe à la structure nue de l’instance pour en déduire
l’occupation du sol (OS). L’intérêt d’intégrer cette sélection à la résolution ASP est de lier la génération de l’organisation structurelle à celle de l’assolement.
En effet, nous ajoutons la possibilité de définir des règles
expertes sur la disposition des occupations du sol et celle
de définir a priori l’occupation du sol de certains nœuds.
Cette dernière fonctionnalité permet, par exemple, de fixer
des nœuds correspondant à des "parcelles" d’eau, de route
ou de bâti, mais éventuellement d’autres parcelles cultivées. Ceci permet d’utiliser notre outil pour compléter une
occupation du sol plutôt que de générer intégralement un
parcellaire.
Nous présentons tout d’abord la génération des attributs,
puis nous introduisons la définition de règles expertes pour
améliorer le réalisme de l’attribution des parcelles.
5.1
ture dans l’atome asnode(AS,P,B). Ceci est exprimé par la
négation d’avoir A différent de B. Si ce n’est pas le cas,
le modèle n’est pas valide : il faut que le solveur ASP teste
une autre attribution pour l’instance de ce nœud, voire qu’il
modifie l’organisation des structures dans leur globalité.
1
2
3
4
5
Pour construire l’assolement, nous ajoutons les règles cidessous au programme précédent. La première règle sélectionne un type de structure attribuée pour chacune des
instances qui sont générées par le programme précédent.
Les deux règles suivantes permettent d’attribuer des OS
uniques aux nœuds du graphe. La première de ces deux
règles concerne les nœuds pour lesquels nous ne disposons
pas d’information a priori (node_allocated(N) n’est pas défini). Dans ce cas, un atome gnode est généré à partir des
informations de la structure attribuée de l’instance.
La seconde règle concerne les nœuds pour lesquels l’OS est
fixée a priori. Dans ce cas, il faut s’assurer que la structure
attribuée utilisée correspond bien au nœud. Pour que les
structures générées soient cohérentes, il est nécessaire que
l’OS A corresponde avec l’allocation définie par la struc-
gnode(N,A) : asnode(AS,P,A), selectedAS(AS,I), sgraph(I,N,
P), not node_allocated(N).
: gnode(N,A), node_allocated(N), asnode(AS,P,B),
selectedAS(AS,I), sgraph(I,N,P), instance(I,S), A!=B.
L’utilisation du même argument P dans sgraph (numéro du
nœud dans la structure nue) et dans asnode (numéro du
nœud dans la structure attribuée) impose l’égalité des numéros de nœuds et impose assure l’isomorphisme des deux
structures.
Génération d’attributs d’occupation du
sol
Nous complétons le programme précédent par des faits et
règles pour générer les occupations du sol (OS) de chacun
des nœuds. Nous introduisons pour cela de nouveaux prédicats :
— asstructure(AS,S) : AS est une structure attribuée
isomorphe à une structure nue S
— asnode(AS,P,A) : A est l’OS du nœud P dans la structure AS
— gnode(N,A) : A est l’OS au nœud N du grand graphe.
— node_allocated(N) : le nœud N du parcellaire a une
OS fixé a priori
— selectedAS(AS,I) : l’instance I est associée à la structure attribuée AS
Les atomes des prédicats asstructure/2 et asnode/3 sont générés automatiquement à partir des graphes obtenus par la
méthode de fouille de données. Pour chaque structure nue,
nous disposons d’un ensemble de structures attribuées dont
les OS sont données par asnode/3.
Les atomes du prédicat gnode/2 sont générés par le programme ASP, mais lors d’un assolement partiel – pour lequel certaines parcelles ont des OS fixées a priori – des
atomes de gnode/2 et de node_allocated/1 sont fournis.
%Sélection du graphe attribué pour chaque instance
1{ selectedAS(AS,I) : attstructure(AS,S) } 1 : instance(I,S).
5.2
Ajout de contraintes expertes
L’un des intérêts d’utiliser la programmation logique est
de pouvoir exprimer facilement des connaissances expertes
sur l’organisation du paysage sous forme de règles. Les experts peuvent ainsi tester de nouvelles règles liées à l’organisation du paysage. Les agronomes pourraient ainsi s’intéresser à évaluer quel pourrait être l’influence sur le paysage de l’ajout d’une interdiction de cultiver des céréales à
proximité immédiate d’un cours d’eau. D’autres connaissances expertes proviennent de la connaissance des pratiques agricoles. Nous donnons deux exemples illustrant
l’utilisation de ces règles.
Il faut, par exemple, éviter de mettre des cultures de
céréales à côté de surfaces boisées pour éviter que ces
cultures soient détériorées par les animaux. Cette règle peut
s’exprimer ainsi :
1
2
3
% 8 code les céréales, 7 le maïs et 3 la forêt
: edge(X,Y), gnode(X,8), gnode(Y,3).
: edge(X,Y), gnode(X,7), gnode(Y,3).
La représentation des nœuds précédente permettait de se
focaliser sur le problème de la génération de l’assolement.
Mais il est également possible de compléter la description
des nœuds par des attributs complémentaires.
À titre d’exemple, l’ajout d’atomes surface(N,T) (où N est le
numéro d’un nœud et T est la surface de la parcelle) permettrait d’ajouter une contrainte sur la surface totale de prairie
qui doit être au moins de 300ha sur l’ensemble du parcellaire :
1
2
% 61 code les prairies
: #sum{ T : surface(N,T), gnode(N, 61) } 300
Ces deux exemples ne sont que des illustrations simples des
règles expertes qu’il est possible d’écrire pour contraindre
la génération des assolements. Leur expression est aisée
et ASP offre une expressivité importante. Pour l’expert
agronome, il suffit d’ajouter les contraintes souhaitées sans
avoir à modifier le reste du programme. La résolution se
chargera alors de trouver une organisation des parcelles
agricoles qui respectent à la fois les structures locales et
les règles expertes.
6
Résultats de génération
structures ne comportaient que des parcelles de céréales ou
de prairies à côté des forêts, le nouvel assolement ne fait
quasiment pas apparaître de maïs.
Dans ces expérimentations, nous utilisons des données issues de la Zone Atelier Armorique 1 située au nord de
Rennes.
Nous présentons ici des résultats de génération d’assolements comme résultat de l’ensemble du processus :
construction des structures par fouille de graphe et génération d’une occupation du sol par résolution ASP.
Pour la construction des structures à l’aide de la méthode
de fouille de graphe, nous avons utilisé un jeu de données
comportant 62 parcelles agricoles. Nous n’utilisons que les
parcelles de culture et de forêt à cette étape. Les paramètres
utilisés pour la fouille de graphe sont = 10, ↵ = = 1
et nous limitons l’exploration aux graphes comportant au
maximum 3 arcs. Le nombre de structures attribuées est
de 71 pour 5 structures nues différentes (sans compter la
structure-singleton).
La figure 3 illustre le parcellaire original dont nous nous
servons pour illustrer la génération de l’assolement. Dans
cette illustration, les parcelles en blanc sont des parcelles
cultivées que nous cherchons à assoler. Les parcelles vertes
correspondent à des forêts, les parcelles grisées sont des
habitations ou des routes. Elles sont utilisées pour tester
l’assolement partiel.
F IGURE 4 – Exemple de paysages générés à partir, en haut,
du paysage nu et, en bas, du paysage partiellement nu. En
vert foncé : les forêts, en vert clair : les prairies, en jaune :
le maïs, en orange : les autres céréales, en grisé : routes et
habitations.
Pour améliorer cet assolement, nous ajoutons des règles expertes pour interdire l’utilisation de parcelles de maïs ou
de céréales à proximité des forêts (voir règles de la section
précédente). La figure 5 (en haut) illustre le résultat obtenu.
Il n’y a plus aucune parcelle de céréales voisine de la forêt, mais nous nous retrouvons avec une sur-représentation
de parcelles de forêt. Nous ajoutons alors une contrainte
sur le nombre maximal de parcelles de forêt par les règles
ci-dessous pour obtenir le résultat de la figure 5 (en bas).
F IGURE 3 – Paysage en entrée, partiellement nu (forêt, habitat et routes conservées)
La figure 4 illustre le résultat obtenu par la génération
sans utilisation de règles expertes. Le premier assolement
est obtenu à partir du parcellaire nu (sans forêt ni route).
On remarque, en particulier que la route a été transformée
en forêt. Le parcellaire fait apparaître majoritairement des
cultures de céréales (maïs et autres) et des prairies, qui sont
les cultures les plus représentées dans le parcellaire réel.
Les parcelles de forêt sont également utilisées, car présentes dans le jeu de structures utilisé.
Le second assolement considère le parcellaire partiellement nu de la figure 3. Dans ce cas, dans la mesure où les
1. Une zone atelier est une zone d’étude de long terme sur laquelle
des recherches pluri-disciplinaires sont menées.
1
2
3
4
% décompte du nombre de parcelles de forêt
ngnode(L,3) : L=#count{ X : gnode(X,3) }.
% ne pas pas avoir plus de 14 parcelles de forêt
: ngnode(L,3), L>14.
7
Discussion et conclusions
Dans ce travail, nous avons présenté le cadre général de
la simulation de paysages agricoles qui reproduisent des
organisations structurelles souhaitées.
Les résultats de cette approche ont illustré la capacité de
notre proposition à générer des occupations du sol en te-
sonnables, mais des parcellaires comportant des tailles supérieures peuvent conduire à une explosion combinatoire
et, en particulier, à un besoin de mémoire très important.
L’utilisation des contraintes expertes facilite la résolution
avec des solutions simples, mais le calcul d’une solution
optimale nécessite beaucoup de temps de calcul.
Une amélioration des temps de calcul pour un passage à
l’échelle dans la génération de l’assolement reste un défi
important. Il s’agit, en particulier, d’améliorer l’étape de
décomposition d’un graphe par des structures.
Références
[1] M. Akplogan, S. de Givry, J-Ph. Métivier, G. Quesnel,
A. Joannon, and F. Garcia. Solving the crop allocation problem using hard and soft constraints. RAIRO
- Operations Research, 47(2) :151–172, 2013.
[2] C. Baral. Knowledge representation, reasoning and
declarative problem solving. Cambridge university
press, 2003.
[3] J.E. Bergez, N. Colbach, O. Crespo, F. Garcia, M.H.
Jeuffroy, E. Justes, C. Loyce, N. Munier-Jolain, and
W. Sadok. Designing crop management systems by
simulation. European Journal of Agronomy, 32(1) :3
– 9, 2010.
F IGURE 5 – Exemple de paysages générés à partir du paysage partiellement nu avec règles sur les céréales et le maïs.
Dans le second cas, nous avons contraint le nombre de parcelles de forêts.
nant compte à la fois des caractéristiques locales d’un paysage et également de contraintes exprimées par un expert.
Les contraintes présentées illustrent la grande expressivité de l’ASP. Les règles peuvent facilement porter sur les
nombres de parcelles, sur les surfaces cultivées et la prise
en compte des territoires d’exploitation pourrait être envisagée.
Une contrainte de l’approche pourrait être son caractère déterministe. Dans le cadre d’une étude agronomique, il est
intéressant de disposer de plusieurs paysages pour effectuer plusieurs simulations avec les mêmes caractéristiques
de paysage. Le déterminisme du solveur n’est pas limitant
par rapport à cette question. En effet, le solveur clingo
donne la possibilité de récupérer plusieurs ou toutes les solutions à un problème. Il est possible d’utiliser de manière
aléatoire tous ces modèles possibles. L’outil doit néanmoins être testé et évalué par des agronomes.
L’approche de résolution proposée contient néanmoins toujours des redondances liées à la combinatoire du problème
de décomposition. Les temps de calcul nécessaire pour la
résolution de l’ensemble des contraintes croît rapidement
avec le nombre de parcelles du parcellaire à assoler ou avec
le nombre de structures utilisées. Dans le cas des exemples
proposés (46 parcelles), les temps de résolution permettant
d’obtenir les premières solutions (non-optimales) sont rai-
[4] B. Bringmann and S. Nijssen. What is frequent in a
single graph ? In Proceedings of the 12th Pacific-Asia
conference on Advances in knowledge discovery and
data mining, pages 858–863. Springer-Verlag, 2008.
[5] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub, and M. Schneider. Potassco : The
Potsdam answer set solving collection. AI Communications, 24(2) :107–124, 2011.
[6] Th. Guyet. Fouille de données spatiales pour la caractérisation spatiale de paysages en lien avec des fonctionnalités agro-écologiques. In Spatial Analysis and
GEOmatics (SAGEO’10), page 3, 2010.
[7] Th. Guyet and Y. Moinard. Programmation par
ensembles réponses pour simuler l’assolement d’un
paysage. In Reconnaissance de Formes et Intelligence
Artificielle (RFIA’14), page 7, 2014.
[8] Mari J.-F. Lazrak E. G., Schaller N. Extraction de
connaissances agronomiques par fouille des voisinages entre occupations du sol. In Atelier EGC/FDC,
2011.
[9] F. Le Ber, C. Lavigne, K. Adamczyk, F. Angevin,
N. Colbach, J-F. Mari, and H. Monod. Neutral modelling of agricultural landscapes by tessellation methods - application for gene flow simulation. Ecological Modelling, 220 :3536–3545, 2009.
[10] X. Yan and J. Han. gSpan : Graph-based substructure
pattern mining. In Proceedings of the 2002 IEEE International Conference on Data Mining, pages 721–.
IEEE Computer Society, 2002.