• Aucun résultat trouvé

IV.3 Détails sur les mécanismes de réconciliation de données

V.1.3 Évaluation de la librairie EasierSBS

Parmi les différentes étapes de la réconciliation, le goulot se situe au niveau de la réconciliation « 1-1 », d’une part à cause de son importance dans l’algorithme de com- position « n-m », de l’autre du fait de la quantité de données à traiter (grand nombre de profils). Un travail important a donc été réalisé en terme de performances (aussi bien en terme d’efficacité que de rapidité) à l’aide de tests à grande échelle.

V.1.3.1 Les indicateurs étudiés

La recherche d’informations (ressources, données ou documents) dans une base de données n’est pas une problématique récente. On retrouve dans la littérature un grand nombre d’algorithmes dédiés et, pour les comparer, des indicateurs de performance re- connus [Cleverdon et al., 1966]. Initialement limitée au rappel (recall) et à la précision (precision), la liste des critères a évoluée avec le temps pour s’adapter aux nouvelles de- mandes (telles que la réconciliation sémantique ou l’alignement d’ontologies [Do et al., 2009]).

Le rappel est le rapport entre le nombre de résultats pertinents retournés par la requête et le nombre de résultats pertinents présents dans la base de données. Un rappel égal à 1 signifie que tous les résultats pertinents ont été retournés par la requête, c’est à dire qu’il n’y a pas de faux négatifs. Au contraire, un rappel proche de 0 signifie qu’il y en a beaucoup comparé au nombre de vrais positifs. La précision est le rapport entre le nombre de documents pertinents retournés sur le nombre de documents retournés. Une précision proche de 1 indique que la majorité des documents retournés sont pertinents (peu de faux positifs). A l’inverse, une faible précision signifie qu’il y a du « bruit » dans la réponse (des documents non pertinents sont retournés) et donc peu de vrais positifs dans les documents récupérés. Ces valeurs seront souvent combinés afin de limiter le nombre d’indicateurs formant la F-measure (notée Fmesure ∈ [0; 1]), moyenne harmonique des

deux indicateurs précédents. Plus la valeur de Fmesure est proche de 1, plus le résultat

est exhaustif et pertinent.

rappel = |r´ecup´er´es ∩ pertinents|

|pertinents| pr´ecision =

|r´ecup´er´es ∩ pertinents|

|r´ecup´er´es| (V.1)

Fmeasure = 2 ·

pr´ecision × rappel

pr´ecision + rappel (V.2)

Ces trois indicateurs permettent de qualifier le résultat de la sélection de services dans son ensemble mais ne prennent malheureusement pas en compte l’ordre des résultats retournés. En effet, notre mécanisme renvoi à l’utilisateur une liste de services classés en fonction de leur note de proximité avec le service ou l’activité recherchée. Pour qualifier la qualité de résultats ordonnés, un quatrième indicateur existe : la Mean-Average Precision (M AP ∈ [0; 1]) : M AP = PQ q=1AP (q) Q avec AP = Pn k=1P (k) · Rel(k) |pertinents| (V.3)

avec AP (q) la précision moyenne pour la requête q, Q le nombre de requêtes, P (k) représente la précision pour les k premiers résultats (par rapport à l’ordre donné) et

Rel(k) un indicateur valant 1 si le kème élément est pertinent, 0 sinon. On peut aussi représenter généralement le diagramme rappel/précision, qui trace l’évolution de la pré- cision en fonction du rappel. Les valeurs sont calculées à partir des valeurs moyennes de précisions et rappel pour les kème résultats de chaque requête, pour tout k.

V.1.3.2 Résultats des tests

Cette section présente les résultats des tests à grande échelle qui ont été réalisés sur notre mécanisme de sélection de services. Nous avons utilisé la suite de test SAWSDL- TC21 (SAWSDL Test Collection), qui comprend 42 requêtes et les réponses attendues

sur 1080 services annotés avec 38 ontologies [Cabral and Toma, 2010]. Cela permet l’éva- luation de notre mécanisme sur un ensemble de services annotés, volontairement proches, afin d’induire la librairie en erreur, et couvrant divers domaines tels que l’éducation, la nourriture, les soins médicaux, etc. Ces tests ont été réalisés sur une machine avec un processeur i7 2GHz et 4 Go de RAM sous MacOS X et Java 6.

Cinq configurations ont été étudiées : sémantique uniquement, syntaxique unique- ment (avec et sans l’utilisation de la limite de Levenshtein), hybride (avec et sans filtre entre les sélections sémantiques et syntaxiques). La Table V.1 donne pour chacune de ces configurations le temps d’exécution moyen, le M AP et la Fmeasure. On retrouve aussi sur la Figure V.9 le diagramme recall/precision des différentes configurations. Seule une courbe pour les réconciliations syntaxiques est représenté étant donné que les deux ré- sultats (avec et sans Levenshtein) coïncident.

Chapitre V. Implémentation et illustration

Table V.1 – Résultats des tests à grande échelle sur la sélection de services Semantic Syntactic Syntactic Hybrid Filtred

(Leven.) Hybrid MAP 0.59 0.52 0.52 0.54 0.58 Fmeasure(∈ [0; 1]) 0.45 0.48 0.48 0.57 0.48 Avg. time (ms) 512 283 971 751 664 0   0,1   0,2   0,3   0,4   0,5   0,6   0,7   0,8   0,9   1   0   0,1   0,2   0,3   0,4   0,5   0,6   0,7   0,8   0,9   1   Préci si on   Rappel   Séman2que   Syntaxique   Hybride   Hybrid  (filtre)  

Figure V.9 – Test à grande échelle : diagramme rappel/précision

Premièrement, ces résultats montrent l’inefficacité de l’utilisation de la distance de Levenshtein dans notre algorithme. Pour un temps de calcul environ quatre fois plus élevé, les résultats sont quasiment identiques. Cela s’explique d’un coté par le fait que les interfaces des services (contenant la description des opérations et entrées/sorties) sont longuement étudiés et ne comportent pas de faute de frappe, et de l’autre qu’une différence sur une lettre peut changer la signification de l’opération. Ainsi, getBook et getBooks renverront, d’après les règles de nommage classiques, un livre pour le premier et une liste de livres pour le second.

On remarque aussi que les résultats des approches sémantiques et syntaxiques sont nativement bons. L’utilisation d’une approche hybride peut donc dans ce cas sembler peu utile. Il faut cependant rappeler que les services et ontologies de la suite SAWSDL-TC ne représentent pas la diversité que l’on peut retrouver dans des collaborations, où les descriptions de services peuvent être réalisées par des entités différentes, dans des langues

différentes ou sur des ontologies pas forcement adaptées. L’approche hybride apportera dans ce cas la souplesse que les deux autres approches ne peuvent avoir indépendamment. Enfin, ces tests montrent que l’ajout d’un filtre entre les deux calculs de l’approche hybride a tendance à réduire la qualité des résultats dans leur globalité (Fmeasure) mais

en améliore l’ordonnancement (M AP ). L’utilisateur aura donc plus de chance de trouver le service satisfaisant ses besoins dans les premiers résultats, ce qui nous intéresse ici.

Nous ne pouvons pour l’instant comparer ces résultats avec les implémentations concurrentes. Bien que l’on dispose des résultats de certaines campagnes d’évaluations2, proches des nôtres en termes de Fmeasure et/ou M AP , il nous a été impossible de les reproduire et ainsi comparer réellement ces librairies dans des conditions identiques. Nous pouvons cependant comparer les résultats de la Table V.1 récapitulant les indicateurs pour la dernière version d’EasierSBS avec ceux mesurés avant la phase d’amélioration du mécanisme réalisée au cours de la dernière année (Table V.2).

Table V.2 – Résultats des tests avant amélioration du mécanisme Semantic Syntactic Hybrid

MAP 0.38 0.41 0.43

Fmeasure(∈ [0; 1]) 0.46 0.49 0.48

Avg. time (ms) 1126 1287 2534

On remarque en comparant ces résultats avec les précédents qu’un effort particulier a été fait sur le temps de traitement, particulièrement celui de la réconciliation syn- taxique qui gagne un coefficient 4.5. Bien que la qualité globale du résultat (indiqué par la Fmeasure ait peu évolué, le classement des services s’est amélioré grandement.

Cela vient principalement de la refonte du traitement des entrées/sorties qui comparait initialement les concepts sans prendre en compte la hiérarchie des éléments ou le degré de couverture. Le temps d’initialisation de la librairie (principalement dû au rapproche- ment des ontologies et de l’inférence de l’ensemble) a grandement chuté, passant de 943 secondes en moyenne à moins de 40. Un effort a aussi été réalisé sur la consommation mémoire afin de tenir sur des systèmes plus petits (passant de 2,5Go à 940Mo pour les tests sur SAWSDL-TC). Cette utilisation de la mémoire est cependant encore trop élevé pour une utilisation en production. Cela vient principalement du fait que l’ensemble des données (profils, descriptions de services, ontologies) est gardé en mémoire et non dans des bases de données. Ce passage serait une étape essentielle de l’industrialisation de cette librairie.

Ces résultats (que ce soit la Fmeasure ou la M AP ) peuvent sembler assez faibles puisqu’en dessous de 60%. Il faut cependant prendre conscience qu’ils ont été mesurés à l’aide de la suite de test SAWSDL-TC, spécialement conçue pour induire les moteurs de réconciliation en erreur. En effet, les services proposés sont volontairement proches et seuls quelques légères variations sont apportées aux descriptions d’un même domaine

Chapitre V. Implémentation et illustration

d’activité. Les résultats de la sélection de services seront donc bien plus pertinents dans un cas d’utilisation réel, où seuls quelques services simplement différentiables peuvent répondre à notre besoin.