200 likes | 333 Views
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
E N D
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 • 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) Géomer – LETG Brest, UEB 2
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 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).” Texte réglementaire 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
Processus De l’acquisition à l’exploitation de la connaissance métier Acquisition de la connaissance métier Exploitation de la connaissance acquise Texte en langage naturel Validation de la connaissance
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 … durationis …] • 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 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) 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, … 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 • Validation sémantique • Exemples de diagnostics à l’issue du processus de validation 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, … 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 Interface Web de saisie Données saisies à valider // les 8èmes jours de chaque semaine each 8th day of eachweek // les 8èmes jours de chaque mois each 8th day of eachmonth utilise Extrait du modèle de Calendrier // jours par semaine rule "day": 7 times during one 1 weeks period conforme à réfère conforme à Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite) • 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 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 desc.rang<= 60 else if desc.unite="heure" and self.descripteurs.at(self.descripteurs.indexOf(desc)).unite="jour" then desc.rang<= 24 … endif endif endif ) Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite)
Exprimer la contrainte dans d’autres langages Base de faits Prolog Contrainte sur la classe RegleDescripteur en terme de fréquence descn.rang <= freq(descn.unite, descn+1.unite)
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é
An Algebraic Representation of Calendars, Ning Peng, X. Sean Wang
De l’acquisition à l’exploitation de la connaissance métier • Recoupement temporel d’événements Acquisition de la connaissance métier Validation de la connaissance Exploitation de la connaissance acquise • 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