• Aucun résultat trouvé

Description globale de l’approche

3 Contribution à l’intégration holistique des graphes hiérar- hiérar-chiques

3.1 Description globale de l’approche

Notre approche prend en entrée N ≥ 2 graphes de structure hiérarchique et renvoie en

sortie un graphe intégré Gint. Ce dernier doit se présenter sous la forme de structures hié-rarchiques strictes où chaque élément doit avoir au plus un seul parent. De telles structures dans le graphe intégré, faciliteront à des utilisateurs non-experts l’identification du schéma multidimensionnel de l’entrepôt.

L’approche se déroule en trois phases, comme le montre la Figure III.10 :

– Dans la phase de préparation des données, nous construisons des matrices de direc-tions, nous préparons N(N−1)/2 paires de graphes et nous combinons dans des matrices de similarités les résultats de plusieurs techniques d’appariement élémen-taires. Par rapport à la Figure III.3, cette phase englobe les étapes de pré-traitement, d’exécution de techniques d’appariement de type élémentaire et de combinaison des résultats.

– Dans la deuxième phase, nous construisons et nous résolvons un programme linéaire (LP4HM). Ce programme linéaire contient des variables de décision, une fonction ob-jectif et des contraintes linéaires. Ces dernières seront construites en utilisant les ma-trices de direction, les paires de graphes et les mama-trices de similarité. Pour la

réso-Figure III.10 — Un aperçu global des étapes de notre approche

des techniques mathématiques et un moteur d’optimisation2. La deuxième phase fu-sionne l’étape d’appariement structurel sans calcul de mesure de similarité structurelle et l’étape de sélection des correspondances. Nous pouvons remarquer que notre ap-proche comporte moins d’étapes que celles proposées dans le processus général de la Figure III.3.

– Dans la dernière phase, nous regroupons les correspondances et nous construisons un unique graphe intégré qui correspond à une vue unifiée des différents modèles de données fournis en entrée.

Étude de casNous proposons au lecteur de suivre notre démarche à travers un scéna-rio qui concerne l’intégration de deux graphes de données de soins en France. La Figure III.11 montre ces deux graphes qui correspondent aux données structurelles hiérarchisées des tableaux disponibles sur le portail data.gouv.fr3 4. Le graphe III.11(a) contient des sta-tistiques sur la consommation des soins par type de soin et par année. Le graphe III.11(b) contient des statistiques sur les dépenses de soins par année et par type de soin. Ce qui nous intéresse est l’obtention d’une vue unifiée des données structurelles sur le type de soins. A l’aide des mêmes codes couleurs entre les éléments des deux schémas, nous remarquons qu’il y a plusieurs correspondances et des labels en communs. Il s’agit d’un exemple de faible hétérogénéité puisque tous les labels sont soit identiques, soit proches sémantique-ment. Généralement, dans ces cas un seuil de similarité très élevé suffit pour donner des résultats pertinents. Nous illustrons à travers cet exemple comment il est possible de trou-ver des résultats cohérents en imposant des contraintes de structures sans utiliser un seuil de similarité puis l’impact du seuil de similarité sur les résultats.

2. http ://www.cat-logistique.com/vocabulaire.htm

3. https ://www.data.gouv.fr/fr/datasets/comptes-nationaux-de-la-sante-2010-consommation-de-soins-et-de-biens-medicaux-en-volume-bas-30378565/

4. https ://www.data.gouv.fr/fr/datasets/comptes-nationaux-de-la-sante-2010-depenses-de-sante-par-type-de-financeur-2006-30378525/

(a) graphe 1

(b) graphe 2

Figure III.11 — Les graphes de données ouvertes en entrée

3.2 Préparation des données

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 direcconstruc-tion et (2) une sous-étape de construcconstruc-tion 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 V22 et V23 : l’arc e22,3 ∈ E2alors dir22,3 =1 et dir23,2 = −1.

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)}|mcjl=|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

3.3.1 Préliminaires

3.3.1.1 La programmation linéaire

Un programme linéaire [Balinski, 1965] [Burke et Kendall, 2005] contient des variables de décision, des contraintes et une fonction objectif : (1) les variables de décision prennent des valeurs numériques, (2) les contraintes sont utilisées pour limiter les valeurs possibles dans une région de faisabilité et elles doivent être linéaires en fonction des variables de décision, (3) la fonction objectif définit quelles sont les affectations optimales possibles pour les variables de décision permettant de maximiser ou de minimiser la valeur de la fonction objectif. La fonction objectif doit être aussi linéaire en fonction des variables de décision.

Dans la littérature, [Plastria, 2002] ont proposé des fondements théoriques qui ex-pliquent comment il est possible de passer d’implications logiques, de la forme Si A Alors B, en contraintes linéaires. En supposant que A et B sont des variables de décision en 0-1 [Plastria, 2002] ont proposé le théorème suivant :

Théorème 1. Soit xi une variable 0-1 ∀i appartenant à un ensemble fini I et soit une