Validation sémantique d’objets à l’aide d’un modèle de référence et de contraintes • appliquée aux expressions temporelles • Cyril Faucher, Samnang Chea, Frédéric Bertrand, Jean-Yves Lafaye L3i (Informatique, Image et Interaction) Université de La Rochelle – France contact : cyril.faucher@univ-lr.fr http://l3i.univ-larochelle.fr/Faucher-Cyril.html Ce travail est financé par l’Agence Nationale de la Recherche ANR-Contint, projet RelaxMultiMedias 2
Plan Contexte Problématique Validation de la cohérence d’expressions temporelles Métamodèle temporel et modèle de calendrier Validation des expressions Exemple de contrainte Conclusion et perspectives
Contexte 2 Géomer – LETG Brest, UEB Proposer un cadre conceptuel et des outils pour acquérir, structurer et manipuler de la connaissance concernant des événements culturels, touristiques et sportifs gérés par des agences de presse Dépêches annonçant des événements : cinéma, théâtres, expositions, etc Textes réglementaires (pêche à pied) Relax infos loisirs Expressions dans des textes en langage naturel : Dépêches loisirs Texte réglementaires
Les journalistes saisissent des textes dans des dépêches Contexte Au centre de nos intérêts : les propriétés temporelles i.e., période d’accès et périodicité d’un événement L’ouverture d’un musée Tous les jours de 20h00 à 22h00 sauf le lundi Texte réglementaire Les journalistes saisissent des textes dans des dépêches “Digging is prohibited each year, from 9 pm to 6 am between July 1st and August 31st. Out of these periods, digging is allowed from 3 hours before low tide up to 3 hours after the same low tide (according to the tide almanac in Douarnenez).” La pêche à a Telline
Problématique Rester proche du langage des utilisateurs (journalistes) i.e. du langage naturel tout en assurant rigueur et cohérence (formelles) Vérifier la cohérence des propriétés temporelles d’un événement : 8ème jour de la semaine du 8ème jour de chaque mois au 6ème jour de chaque mois
De l’acquisition à l’exploitation de la connaissance métier Processus De l’acquisition à l’exploitation de la connaissance métier Acquisition de la connaissance métier Exploitation de la connaissance acquise Validation de la connaissance Texte en langage naturel
Métamodèles et modèles mis en oeuvre Métamodèle Evénements Structure d’événements composites Métadonnées Spatial Expressions Temporelles (périodiques) décrit des unités calendaires (reliés par un modèle de correspondance) conforme à Modèle de Calendrier (Grégorien) sous forme d’événements
Métamodèle temporel et pouvoir d’expression Instants périodiques 5 fois par jour Tous les jours Tous les 1ers jours Tous les 3èmes mois de chaque siècle Intervalles périodiques Du 1er jour de chaque mois au 5ème jour de chaque mois Du 1er jour de chaque mois au 5ème jour de chaque mois de juillet à août
Acquisition de la connaissance métier Gestion d’événements périodiques par saisie textuelle contextuelle : grammaire proche du langage naturel (Xtext) par transformations de modèles : intégration de données issues de : Traitement Automatique de la Langue (TAL, ex. TKA) EventsML G2 (XML) Flux d’événements : RSS FNAC, Le Monde iCalendar Editeur généré La grammaire permet de faire le lien entre les métamodèles d’Evénement et Temporel
Validation des expressions Validation structurelle - métamodèle Cardinalités Un intervalle possède un début et une fin ou bien un début et une durée Les descripteurs doivent être ordonnés suivant les Unités Calendaires Classiquement en modélisation => OCL Validation syntaxique - grammaire Patron textuel guidant l’instanciation du modèle Combinaison début + fin : [from … to …] Combinaison début + durée : [from … duration is …] Validation sémantique – connaissance issue du calendrier JANVIER suit DECEMBRE de l’année précédente 1minute est constituée de 60 secondes => Nécessité de spécifier la sémantique du calendrier Validation sémantique Vérification du sens d’une expression via des contraintes et un « modèle de référence » Le modèle de référence décrit le calendrier Grégorien sous forme d’événements périodiques e.g., jour, semaine, mois, année, … Exemples de diagnostics 8ème jour de chaque mois 8ème jour de chaque semaine 8ème jour de chaque mois de chaque année (sur-spécification) Ensemble de contraintes non gérées par le système de type et les cardinalités spécifiés dans le métamodèle
Validation des expressions Vérification du sens d’une expression via des contraintes et un « modèle de référence » Le modèle de référence décrit le calendrier Grégorien sous forme d’événements périodiques e.g., jour, semaine, mois, année, … Validation sémantique Exemples de diagnostics à l’issue du processus de validation 8ème jour de chaque mois 8ème jour de chaque semaine 8ème jour de chaque mois de chaque année (sur-spécification)
Modèle de référence représentant le calendrier Extrait du modèle de référence du calendrier Grégorien Evénement Minute réfère Evénement Heure réfère réfère Evénement Jour
Contrainte utilisant le modèle de référence Métamodèle d’expressions temporelles Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite) Interface Web de saisie utilise conforme à réfère // les 8èmes jours de chaque semaine each 8th day of each week // les 8èmes jours de chaque mois each 8th day of each month Données saisies à valider conforme à Extrait du modèle de Calendrier // jours par semaine rule "day": 7 times during one 1 weeks period Les contraintes sont écrites et évaluées en Java. OCL n’est pas très adaptés à la gestion et la navigation de plusieurs modèles à différents niveaux
Exprimer la contrainte dans d’autres langages Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite) En OCL context RegleDescripteur inv : self.descripteurs->forAll( desc | if desc.unite="seconde" and self.descripteurs.at(self.descripteurs.indexOf(desc)).unite="minute" then desc.rang<= 60 else if desc.unite="minute" and self.descripteurs.at(self.descripteurs.indexOf(desc)).unite="heure" then if desc.unite="heure" and self.descripteurs.at(self.descripteurs.indexOf(desc)).unite="jour" then desc.rang<= 24 … endif ) Base de faits
Exprimer la contrainte dans d’autres langages Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite) Base de faits Prolog Base de faits
Conclusion et perspectives Définition d’un modèle sémantique décrivant le calendrier à l’aide d’événements périodiques Exploitation du modèle de calendrier à l’aide de contraintes pour valider des expressions temporelles Assister et contrôler la saisie d’informations temporelles périodiques décrivant des événements issus de dépêches d’information Extensibilité : l’utilisateur peut ajouter de règles temporelles Développer de nouvelles contraintes Prise en compte de nouveaux calendriers (lunaire, administratif, républicain) Proposer des corrections en s’appuyant sur le diagnostic ex. : rang, unité
Merci de votre attention
An Algebraic Representation of Calendars, Ning Peng, X. Sean Wang
De l’acquisition à l’exploitation de la connaissance métier Acquisition de la connaissance métier Validation de la connaissance Exploitation de la connaissance acquise Recoupement temporel d’événements RelaxMultiMedias 2 Du texte en langage naturel à une syntaxe contrôlée Législation de la pêche à pied
Relation entre événements et éléments du métamodèle Relation entre un événement et un élément du métamodèle temporel « conforme à », réutilisation du langage pour s’auto-définir « réfère », relation entre l’événement périodique et l’élément du métamodèle qu’il décrit