• Aucun résultat trouvé

1.2.2) Approches Non Logiques

Partie I: Etat de l’Art

Chapitre 3 : La découverte des services web

III. 1.2.2) Approches Non Logiques

Les approches logiques possèdent plusieurs inconvénients, la complexité élevée du raisonnement affaiblit les chances de scalabilité, en outre les raisonneurs logiques ont un faible rappel (beaucoup de faux négatifs), puisque la subsomption ne couvre pas tous liens sémantiques, et en dernier nous constatons que la majorité des services web actuels ne sont pas annotés avec des langages logiques formels.

D‘autres part, nous constatons que la présence des descriptions informelles ou la sémantique implicite (la fréquence des termes) au niveau des services, peut être efficace dans la découverte, en plus la complexité du matching est moins élevée que celles des approches logiques. En général, ces techniques utilisent le matching de graphes, la linguistique, le data mining, les techniques de recherche d‘information, et les mesures de similarité.

 [Dong et al, 2004] proposent un système nommé woogle, il permet de trouver des opérations de services similaires à un prototype donné. Pour cela il utilise plusieurs sources d‘évidences. Il propose aussi les services composables avec un service donné.

Le système calcule les similarités entre les descriptions textuelles des opérations de services et entre les identifiants des paramètres d'entrées - sorties. Les auteurs utilisent un algorithme de clustering pour grouper les noms de paramètres, dans des classes sémantiques, qui seront par la suite, utilisées pour calculer la similarité inter paramètres (Inputs/Outputs).

Différents types de similarités sont combinés en utilisant une fonction d‘agrégation linéaire, les poids de cette fonction sont assignés manuellement, (après l'analyse des résultats de différentes expérimentations). Les auteurs proposent l‘apprentissage des poids en fonction du feed_back des utilisateurs dans les travaux futurs. Cette approche utilise des similarités sémantiques et syntaxiques.

L'algorithme de clustering adopte le principe suivant : « les paramètres expriment souvent le même concept s'ils apparaissent souvent ensemble". Des règles d'association sont définies entre les identifiants des paramètres. La règle d'association entre deux identifiants t1 et t2 est désignée par t1 t2 (a,b) ou le support a est la probabilité que le paramètre t1 apparait dans

39

une entrée ou une sortie, et la confidence b est la probabilité que le paramètre t2 apparait dans une entrée ou une sortie sachant qu'elle contient t1.

Il est utile de noter que ces règles ne sont pas symétriques : t1 t2 et t2 t1 peuvent avoir des valeurs de supports et de confidences différentes. Les auteurs emploient la fusion (merging) et la scission (splitting) pour améliorer le clustering et garantir une meilleure cohésion. Les auteurs utilisent un autre principe, pour éliminer les bruits des concepts. Un terme associé à un concept est considéré comme bruit, si dans la moitié de ses occurrences il n'est pas associé à d'autres termes du même concept.

Les expérimentations ont confirmé que, la cohésion rigide empêche les grands clusters étroitement associés de se fusionner. En plus la fusion précoce peut être inadéquate car elle empêchera une éventuelle fusion ultérieure.

Le moteur Woogle, propose trois types de recherche : la recherche par mots clés classique, la recherche par prototype « template search » et la recherche par composition « composition search ». Les deux dernières utilisent l'algorithme de clustering. « Template search » considère les mots clés de l'utilisateur comme des paramètres d‘opérations, et applique l'algorithme de clustering pour la recherche d'un service équivalent. Le second type de recherche retourne l'éventuelle composition de services qui répond au besoin de l'utilisateur si les services existants ne sont pas satisfaisants.

 [Li et al, 2007] proposent une approche de découverte à base du framework WSMO, ils utilisent la théorie de graphe pour évaluer la similarité sémantique entre deux concepts.

 Le matchmaker URBE présenté dans [Plebani et Pernici, 2009], assure un matching sémantique de services formalisés avec SAWSDL sans utiliser la logique.

Ce système compare

 les propriétés ontologiques avec des similarités textuelles,  les types de donnés associées aux éléments XML (XSD I/O)

 les concepts ontologiques en utilisant une similarité structurelle (basée sur le calcul de longueur de chemins)

Selon [Klusch et al, 2009 b], URBE effectue un appariement de graphes bipartis des opérations de services (de manière similaire à SAWSDL-MX1 et SAWSDL-MX2). Ensuite il classe les résultats, en utilisant un score qui agrège la similarité structurelle et textuelle.

40

Nous notons que, URBE a gagné la compétition des matchmakers S36 (2008 et 2009) en termes de précision moyenne (0.72). URBE a dépassé même la précision offerte par les matchmakers adaptatifs tels que SAWSDL-mx2. Mais le temps d‘exécution moyen est un peu long (20 sec) par rapport aux matchmakers adaptatifs.

 Lumina [Li et al, 2006] est développé dans le cadre du projet de météor-s, il convertit les descriptions WSDL-S (le prédécesseur de SAWSDL) en structures enregistrées dans l‘annuaire UDDI, le matching sémantique de LUMINA se base sur le calcul de longueurs de chemins qui relient les concepts d‘une ontologie de domaine. LUMINA fait aussi une recherche syntaxique par simples mots clés.

 WXplorer de [stroulia et yang, 2004] propose deux fonctions de similarité : une similarité structurelle qui compare uniquement les types des arguments d‘opérations, et une similarité sémantique qui compare les noms d‘opérations et d‘arguments à l‘aide du thesaurus wordnet [Fellbaum, 1998]. Et pour cela les auteurs définissent 04 scores sémantiques : exact match, plug-in and subsumes match

 [Skoutas et al, 2007] proposent des mesures de similarité basées sur le rappel, et la précision, pour apparier les services et la requête. Les auteurs prennent en compte, les paramètres suivants : les entrées, les sorties, les preconditions, les effets.

Pour apparier les entrées /sorties ils proposent les formules suivantes :

recall=(CR,CA)=|x tel que x (ascendants(CR) ascendants(CA))|/|y tel que y ascendants(CR)| prec=(CR,CA)=|x tel que x (ascendants(CR) ascendants(CA))|/|y tel que y ascendants(CA)|

CA dénote un concept de service et CR un concept de la requête, les formule calculent les concepts (éventuellement les propriétés) communes au niveau des ascendants des deux concepts.

Pour apparier les preconditions et les effets, les auteurs utilisent les concepts et les mesures suivantes:

Aef représente l‘ensemble des effets du service

Ref représente l‘ensemble des effets de la requête

Apr représente l‘ensemble des preconditions du service

6

Annual International Contest S3 on Semantic Service Selection – Retrieval Performance Evaluation of Matchmakers for Semantic Web Services,http://www-ags.dfki.uni-sb.de/_klusch/s3/

41

Rpr représente l‘ensemble des preconditions de la requête

Notons que, chaque effet ou precondition est une formule logique. Recallef (Ref , Aef ) noté RCef

C‘est la proportion des effets de la requête qui sont disponibles dans ceux du service. Precisionef (Ref , Aef ) noté PRef

C‘est la proportion des effets de service devant satisfaire un effet de la requête. Recallpr (Rpr , Apr ) noté RCpr

C‘est la proportion des preconditions de service qui sont satisfaites par la requête. Precisionpr (Rpr , Apr ) noté PRpr

C‘est la proportion des preconditions de la requête qui doivent satisfaire les preconditions du service.

Les auteurs agrègent les 04 sous-scores de matching selon la fonction suivante :

Rec=(Win. RCin +Wout. RCout + Wpr. RCpr +Wef. RCef)/( Win +Wout + Wpr +Wef) Prc=(Win. PRin +Wout. PRout + Wpr. PRpr +Wef. PRef)/( Win +Wout + Wpr +Wef) Nous notons que cette approche n‘est pas expérimentée.

Documents relatifs