Découverte de services Web sémantiques Sana Sellami sana.sellami@univ-amu.fr
Découverte de Services Web La découverte est un processus de recherche des services web implémentant la fonctionnalité souhaitée. Déterminer les services les plus pertinents qui correspondent à une requête donnée Les registres UDDI sont des entités qui servent d appui à la découverte de services web pour les applications client. De cette façon une application interroge un registre UDDI pour les fournisseurs d un service web. 2
Découverte de Services Web Approche classique (syntaxique): La recherche de service confronte deux acteurs : le fournisseur ou producteur de service ; qui cherche à annoncer du mieux possible ses services et l utilisateur ; qui ne sait pas où chercher le service de ses rêves. Rechercher un service Annuaire de services Publication de la Description de service Client: demandeur de service Établir une liaison avec un service Serveur Web Fournisseur 3
Limites Registre UDDI Pointe sur la description WSDL Syntaxique Rechercher Décrit le service un service Pointe sur le service Client: demandeur de service SOAP Web Service 4
Limites Manque d expressivité: les méthodes de recherche actuelles sont syntaxiques se basant sur une simple recherché par mots clés. Manque de sémantique dans la description (WSDL) des WS L utilisation et l intégration de services est réalisée manuellement Passage à l échelle: un grand nombre de services et d annuaires 5
Solution? Mécanismes nécessaires pour Annoter et concevoir des services Déterminer et comparer les fournisseurs de services Composer des servcices Résoudre le problème d hétérogéniété des formats de données, protocoles et processus (e.g médiation) Besoin de modèles conceptuels, langages formels et environnements d exécution Approches web sémantique : Description sémantique des services web Utilisation des ontologies comme modèle 6
LES SERVICES WEB SÉMANTIQUES 7
Langages de description des SWS Approches basées sur des langages sémantiques OWL-S (Ontology Web Language for Services) [9] WSMO (Web Service Modelling Ontology) [10]+ WSML (Web Service Modelling Language) SWSL (Semantic Web Service Language) Approches de description à base d annotations SAWSDL (Semantic Annotation for WSDL) [2] USDL (Universal Service-Semantics Description Language) SAREST (Semantic Annotation of Web Resources) 8
Approches à base d annotation Qu est ce qu une Annotation? Définition du dictionnaire Oxford: «The word «annotation» is defined as «a note by way of explanation or comment added to a text or diagram»» Une annotation désigne à la fois une métadonnée associée à une partie du document et le processus de génération de cette métadonnée. Exemple : Annotations de Java 9
Approches à base d annotation Qu est ce qu une Annotation Sémantique? Une annotation est sémantique lorsqu elle se réfère à une ontologie, qui décrit, dans une logique de descriptions, les concepts et les relations entre les concepts d un domaine. Dans le domaine des SW: L annotation sémantique est une solution pour enrichir cette description afin d'automatiser les tâches de découverte et de composition. 10
Approches à base d annotation Processus d annotation sémantique: Extraction Module Concept Matching Annotation 11
Approches à base d annotation SAWSDL (Semantic Annotation for WSDL) [2] USDL (Universal Service-Semantics Description Language) [8] SAREST [12] (Semantic Annotation of Web Resources) HREST (HTML for Restful Services) 12
Approches à base d annotation: SAWSDL SAWSDL(Semantic Annotation for WSDL) Fournit un mécanisme permettant d annoter sémantiquement les types de données, les opérations, les entrées et les sorties. Semantic Template ontologie Operation Input Output Operation model reference Input model reference Output model reference 13
Approches à base d annotation: SAWSDL Mécanisme d annotation grâce à l attribut «sawsdl» 3 extensions: ModelReference: associer un composant WSDL ou XML schema à un concept d une ontologie liftingschemamapping et loweringschemamapping: spécifier une correspondance entre les données sémantiques et les éléments XML. 14
Approches à base d annotation: SAWSDL 15
Approches à base d annotation: SAWSDL Exemple 16 SampleOntology
Approches à base d annotation: hrest hrest(html for Restful Services) est un micro-format qui permet la description des Web API en se basant sur le langage HTML. L annotation sémantique est déterminée grâce au microformat MicroWSMO. 17
Approches à base d annotation: hrest Exemple de description de service d hôtel avec hrest 18
Approches à base d annotation: hrest Exemple de description de service de réservation d hôtels annoté avec MicroWSMO 19
Outils d annotation Outils d annotation manuels, semi-automatiques et automatiques: Meteor-S [3] RadiantWeb [4] : WSDL-S/SAWSDL Annotation tool Servface [5] AWSA [6] ASSAM [7] Iridescent (http://lpis.csd.auth.gr/people/thanosgstavr/development.html#iridesc ent) SWEET (Semantic Web services Editing Tool) [13]: Outil développé pour la création de services RESTful en structurant les descriptions de services et leur associant des annotations sémantiques. (http://sweet.kmi.open.ac.uk/) SOWER ou WSMO-Lite editor (Sweet is not a Wsdl EditoR) [19] Etc, 20
DÉCOUVERTE DE SWS 1. Problématique 2. Techniques de Matchmaking pour la découverte de SWS 3. Outils de Matchmaking 4. Evaluation des matchmakers 5. Challenges 21
Problématique: Découverte de services web sémantiques Déterminer les services les plus pertinents qui correspondent à une requête donnée Les implémentations courantes sont basées sur une représentation ontologique des opérations, inputs et outputs. Retourne une liste de services classés 22
Matchmaking pour la découverte de services Web Processus de découverte de services web sémantiques (ou Matchmaking) en basant sur des matchers: logiques, non logiques ou hybrides. Se base sur une comparaison des opérations input advertisement output input request output 23
Matchmaking Le matchmaking correspondance utilisation des techniques de matching Le matching c est quoi exactement? Quelles techniques ont été proposées dans le domaine? 24
Matching: Problématique Schema1 Porder DeliverTo Address City Post Representation Semantic Schema2 PurchaseOrder CAddress code City DeliverTo Contact? Contact Name firstname fastidieux lastname Erreurs coûteux Comment déterminer les correspondances entre les éléments de deux schémas? 25
Classification Cité 3807fois 26 Erhard Rahm and Philip A. Bernstein A survey of approaches to automatic schema matching VLDB journal, 2001.
Matching dimensions Schema-based matching techniques Granularity layer Technique layer Input type layer Schema-based matching techniques 27 P. Shvaiko, J. Euzenat: A Survey of Schema-based Matching Approaches Journal on Data Semantics, 2005.
Techniques niveau éléments: String based Description: souvent utilisées pour le matching des noms et des descriptions des éléments des schémas/ontologies. Techniques: Préfixe: prend en entrée deux chaînes de caractères et vérifie si la première chaîne est incluse au début de la deuxième chaîne de caractères (e.g net network) Suffixe: prend en entrée deux chaînes de caractères et vérifie si la première chaîne est incluse à la fin de la deuxième chaîne e.g phone telephone Edit-distance: nombre minimal de caractères qu il faut supprimer, insérer ou remplacer pour passer d une chaîne à l autre, e.g EditDistance (NKN, Nikon)=2/5=0,4 N-grammes: calcule le nombre de séquences n caractères communs entre deux chaînes de caractères 28
P. Shvaiko, J. Euzenat: A Survey of Schema-based Matching Approaches Journal on Data Semantic 2005. Matching dimensions 29 29
Techniques niveau éléments: Language based Description: Basées sur les techniques de traitement du langage naturel (NLP) en exploitant les propriétés morphologiques des termes en entrée. Techniques: L analyse lexicale (ou tokenization) : qui consiste à transformer un flot de caractères en un flot de jetons par un analyseur (tokenizer) qui reconnait les ponctuations, les caractères blancs, les chiffres, etc. e.g Hands-Free_Kits= (Hands, Free, Kits) Lemmatisation: analyse lexicale du contenu d'un texte regroupant les mots d'une même famille. Chacun des mots d'un contenu se trouve ainsi réduit en une entité appelée lemme (forme canonique). La lemmatisation regroupe les différentes formes que peut revêtir un mot, soit : le nom, le pluriel, le verbe à l'infinitif, etc. (e.g Kits Kit) Ces techniques sont souvent appliquées aux noms des entités avant d avoir exécuté les techniques string-based or lexicon techniques-based afin d améliorer les résultats. 30
P. Shvaiko, J. Euzenat: A Survey of Schema-based Matching Approaches Journal on Data Semantic 2005. Matching dimensions 31 31
Techniques niveau éléments Techniques basées contraintes: Comparaison des types de données, e.g varchar et text domaine des valeurs Ressources linguistiques: Égalité des synonymes, e.g: car automobile Égalité des hyperonymes, e.g book publication ou article publication Etc.. 32
P. Shvaiko, J. Euzenat: A Survey of Schema-based Matching Approaches Journal on Data Semantic 2005. Matching dimensions 33 33
Techniques niveau structure: Graph based Similarité des nœuds fils Similarité des feuilles car vehicle price model price model 34
P. Shvaiko, J. Euzenat: A Survey of Schema-based Matching Approaches Journal on Data Semantic 2005. Matching dimensions 35 35
Strategies de Matching Séquentielle (Hybrid Matcher) Parallèle (composite Matcher) S1 paramètres Matcher 1 M1 Matcher 1 M Matcher 2 Matcher 2 M2 Agrégation S2 ressources M' Matcher 3 M3 M' Matcher 4 M4 36
COMA++ [DO, SIGMOD 2005] [Massmann et al., OM 2011] 37
Techniques de matchmaking Matchmaking Linguistic matchers Constraint based matchers Structure based matchers Semantic matchers IR techniques Data-type matching Graph matching DL Reasoner Name matching Information content OLS Linguistic ressources 38
Matchmaking pour la découverte de services Web Logic- based Non logic-based: basé sur des mesures textuelles utilisées habituellement pour une comparaison purement textuelle dans le contexte de recherche d information ainsi que les comparaisons structurelles Hybride: une combinaison des 2 39
Matchmaking logic-based Raisonnement sur l ontologie Définition de filtres (DoM) Considérons S comme le Service et R requête utilisateur Exact (one to one maping) Input (R) Input (S) Ouput (R) Output (S) Ou S immediatesubclassof R Plugin: S plug into R Input (S) Input (R ) Output (S) direct child concept of Output (R) Subsume: S subsume R Input (S) Input (R ) Output (R) Output (S) Subsumed-by : S est subsumed by R Input (S) Input (R ) Output (R) Output (S) and Output (S) direct parent of Output (R) Fail 40 Exact > Plug-in > Subsume > Subsumed-by > Fail
Matchmaking logic-based: Exercice Requête R Input: Patient, Hospital Output: Hospital-Physician Service S Input: Person, Hospital Output: Surgeon Filtre plug-in Person Patient Surgeon direct child Hospital-Physician 41
Matchmaking Non logic-based Matching Textuel (similarité entre 0 et 1) Token based text similarity : Loss of information Cosine : cos(r,s)= R.S R S Indice de Jaccard: J(R,S)= R S R S Jaccard étendu (Extended jaccard) : SimEJ R, S = Etc, Similarité des noms: edit distance, Coefficient de dice: dice coefficient (R,S) = jaro coefficient, etc Ressources auxiliaires: WordNet Matching Structurel 2.R.S R 2 + S 2 R.S R 2 + S 2 R.S Le plus court chemin entre les concepts dans l ontologie+ profondeur de leur subsumer commun 42
Ontologie T Matchmaking Non logic-based: Exercice LOI(R,S)=? Requête R Input: Patient, Hospital Output: Hospital -Physician Service S Input: Person, Hospital Output:, Emergency -Physician atthias Klusch, Benedikt Fries, Katia P. Sycara: OWLS-MX: A hybrid Semantic Web service atchmaker for OWL-S services. J. Web Sem. 7(2): 121-133 (2009) Sim LOI (S,R)=1 - LOI R,S +LOI (R,S) in out 2 Avec LOI x (R,S)= PC PC PC PC R x S, x R x S x,,, PC + PC R, x S x, x in, out, PC R, x et PC S, x set of primitive components in unfolded logical input/output concept expression of request R and services S Unfolded(Patient,T)= Patient Person Unfolded (Hospital, T) = Hospital Medical Organisation Organisation 43
Exercice Input Requête CheckIn CheckOut HotelName Luxury Service 1 Booking LuxuryHotel HotelName Room Service 2 DeluxeHotel CheckIn CheckOut Deluxe Output checkavailability checkavailability HotelName 1. Déterminez la relation logique (en vous basant sur les filtres DoM) entre la requête et les différents services. 2. En vous basant sur la métrique LOI (Loss Of Information), vous allez déterminer la similarité entre la requête et le Service 1. 44