• Aucun résultat trouvé

La première étape de préparation des données a pour objectif d’élaborer des matrices de direction et des matrices de similarité ; ces matrices seront utilisées dans le programme linéaire. L’étape de préparation comprend deux sous-étapes : (1) une sous-étape de construc- tion des matrices de direction et (2) une sous-étape de construction des matrices de simila- rité.

Cette étape de préparation prend en entrée N ≥ 2 modèles de données. Dans notre proposition, ces modèles de données peuvent être soit des graphes de propriétés, soit des graphes RDF issus de données ouvertes tabulaires (voir chapitre 2). Ces graphes contiennent des données structurelles annotées et organisées en hiérarchies strictes ainsi que des don- nées numériques. Pour notre approche d’intégration, nous ne prenons en compte que les données structurelles, leurs propriétés sémantiques et les relations de spécialisation entre ces données. Ces données structurelles forment en effet le schéma des données ouvertes tabulaires.

correspondent à un graphe orienté acyclique Gi = (Vi, Ei)où 1≤i≤N, tel que :

– Vi = {vik, ∀k∈ [1, ni]}représente l’ensemble des noeuds du graphe Gi.

– Ei = {eik,l = (vik, vil), ∀k, l ∈ [1, ni]}représente l’ensemble des arcs du graphe Gi. Avec k correspond à l’ordre de chaque noeud après un parcours en profondeur du graphe et ni = |Vi|correspond au nombre de noeuds du graphe Gi. Les N graphes en entrée seront

ordonnés selon un ordre décroissant de niafin de réduire la taille du modèle LP4HM.

La Figure III.12 montre les notations associées aux graphes G1et G2de notre scénario.

Figure III.12 — Les notations des graphes à intégrer

Remarque 1. D’une façon générale, notre approche peut accepter n’importe quel modèle hiérarchique de données tel que des sources XML ou des taxonomies. Ces sources peuvent se transformer en graphe orienté acyclique en éclatant leurs propriétés.

3.2.1 Préparation des matrices de direction

Les matrices de direction encodent la direction des arcs dans les graphes sachant que les arcs sont de même type. Une matrice de direction, notée Diri, de taille ni×ni pour chaque

graphe Gi ∀i∈ [1, N]est définie comme suit :

Diri ={dirik,l, ∀k×l∈ [1, ni] × [1, ni]} dirik,l =      1 si eik,l ∈Ei −1 si eil,k ∈Ei 0 sinon

Dans la Figure III.13, nous avons un extrait du graphe G2(de notre étude de cas) et un

extrait de la matrice de direction Dir2 qui lui correspond. Prenons le cas des deux noeuds

Figure III.13 — Un exemple de matrice de direction

3.2.2 Préparation des matrices de similarité

Dans cette étape nous construisons N(N−1)/2 matrices de similarité des N graphes. Ces matrices de similarité seront utilisées par le programme linéaire.

Une matrice de similarité Simi,jde taille ni×njcontient des mesures de similarité simik,jl calculées entre toutes les combinaisons des paires de noeuds vik et vjl appartenant respecti- vement à Gi∀i∈ [1, N−1]et Gj ∀j∈ [i+1, N]:

Simi,j = {simik,jl,∀k∈ [1, ni],∀l∈ [1, nj]}

Afin de calculer les mesures de similarité simik,jl, nous avons opté pour une stratégie optimiste qui consiste à prendre le maximum de plusieurs techniques d’appariement élé- mentaires. Nous utilisons trois techniques d’appariement élémentaires différentes : (1) des techniques élémentaires basées sur le langage, (2) des techniques élémentaires basées sur le caractère, (3) des techniques élémentaires basées sur les groupes de termes et (4) des tech- niques élémentaires basées sur des ressources formelles externes.

La combinaison de techniques différentes a pour objectif de pallier les problèmes d’hé- térogénéité sémantique entre les données structurelles provenant de plusieurs sources. En effet, l’usage de toutes ces techniques permet une meilleure estimation de la similarité.

Dans un premier temps, nous appliquons les techniques d’appariement élémentaires basées sur le langage. Ces techniques nous permettent de décomposer les labels des noeuds de chaque graphe en des sacs de termes. Ces sacs de termes seront utilisés par les trois autres types de techniques. Les techniques élémentaires basées sur le langage se déroulent comme suit : nous découpons chaque label de chaque noeud de chaque graphe en sacs de termes en utilisant des expressions régulières, puis nous éliminons les termes vides enfin nous cherchons les racines de chaque terme en utilisant la libraire Snowball5. Notons par cik le label du noeud vik dans un graphe Gi. Après cette première itération préparatoire, cik sera

considéré comme à un sac de racines de termes. Il est noté comme suit cik =

|cik| S

n=1

cikn avec cikn est une racine de terme contenue dans le label cik.

Dans un deuxième temps, nous appliquons les trois autres techniques élémentaires en utilisant les sacs de racines de termes. Chaque technique se calcule indépendamment des autres techniques. Le choix des techniques utilisées s’est basé principalement sur une récente étude comparative proposée par [Sun et al., 2015].

Dans l’étude de [Sun et al., 2015], les techniques élémentaires basées sur le caractère Edit- Distance, Monge-Elkan, Jaro-Winkler, ISUB et Trigramme donnent de bons résultats, nous les avons ainsi choisies pour calculer la similarité entre deux termes. Afin de calculer les similarités entre les labels des noeuds (sacs de racines de termes), nous avons utilisé la mé- thode de Mongue-Elkan généralisée [Jimenez et al., 2009] sur chacune des techniques élé- mentaires basées sur le caractère. Cette méthode est exprimée comme suit :

MongueElkanGen[TechElem]ik,jl(cik, cjl) = (1/|cik| |cik|

n=1 (max{TechElem(cikn, cjlm)} |cjl| m=1)2)1/2

Avec TechElem= {EditDistance, Monge-Elkan, Jaro-Winkler, ISUB, Trigramme}

Parmi les techniques élémentaires basées sur les groupes de termes, nous avons sélec- tionné les mesures Jaccard et SoftTFIDF qui obtiennent également de bons résultats.

Parmi les techniques élémentaires basées sur les ressources formelles externes, nous avons retenu la technique Lin étudiée par [Sun et al., 2015]. Nous avons également retenu la technique Wup [Wu et Palmer., 1994] qui est jugée comme une technique "bien élaborée" dans [Euzenat et Shvaiko, 2013].

En fonction de ces différentes techniques, notre mesure de similarité est exprimée comme suit :

simik,jl = max(MongueElkanGen[EditDistance]ik,jl, MongueElkanGen[MongeElkan]ik,jl MongueElkanGen[JaroWinkler]ik,jl, MongueElkanGen[ISUB]ik,jl, MongueElkanGen[3−gram]ik,jl, Jaccardik,jl, So f tTFIDFik,jl, Linik,jl, Wupik,jl)

Actuellement, différentes librairies implémentent ces techniques, celles qui ont été utili- sées pour calculer les mesures de similarité de chaque technique sont : OntoSim6, SimMe- tric7, SecondString8et WS4J9.

Calcul d’un seuil de similarité prédéfini

Lors du calcul des matrices de similarités, notre approche calcule un seuil de similarité. En effet, pour chaque matrice entre paire de graphes, nous calculons le maximum de chaque

6. http ://ontosim.gforge.inria.fr/

7. http ://sourceforge.net/projects/simmetrics/ 8. http ://secondstring.sourceforge.net/ 9. https ://code.google.com/p/ws4j/

ligne, puis nous prenons la médiane des maximums des lignes qui représente un seuil local pour chaque matrice. Sur les N(N−1)/2 matrices de similarité, le seuil de similarité global est la médiane de tous les seuils locaux.

3.3 Le programme linéaire LP4HM