• Aucun résultat trouvé

Repr´esentation et interaction

Dans le document The DART-Europe E-theses Portal (Page 80-87)

1.4 Conclusion

2.1.3 Repr´esentation et interaction

Dans la section pr´ec´edente, nous avons propos´e une m´ethode permettant d’identifier des communaut´es de mots-cl´es apparaissant souvent ensemble dans les pages web et des ponts entre ces communaut´es. Nous avons maintenant besoin de produire un syst`eme per-mettant de visualiser ces r´esultats afin d’orienter l’utilisateur vers les pages qu’il recherche.

Ce syst`eme doit ˆetre muni d’une technique de navigation efficace non seulement pour don-ner la possibilit´e `a l’utilisateur de passer ais´ement du graphe quotient aux mots-cl´es que des communaut´es choisies contiennent, mais aussi pour lui permettre d’acc´eder aux pages internet contenant ces mots-cl´es. La solution que nous proposons est d´ecrite dans les sous-sections qui suivent. Nous ´etudierons d’abord les m´ethodes que nous utilisons afin de placer les objets sur la visualisation, puis nous d´ecrirons les moyens d’interaction et de navigation.

2.1.3.1 Pr´e-traitements

Avant de commencer `a placer concr`etement les objets sur la carte, certaines op´erations sont n´ecessaires.

9. Il n’est pas ´evident que l’utilisateur sache `a l’avance le degr´e de pr´ecision n´ecessaire `a ces recherches et il est encore moins ´evident qu’un ´eventuel degr´e de pr´ecision lui permette de d´eterminer le nombre de ponts `a extraire. C’est pourquoi l’interface du syst`eme doit ˆetre r´ealis´ee de fa¸con `a ce que l’utilisateur puisse faire varier le nombre de ponts jusqu’`a qu’il ait obtenu un r´esultat satisfaisant en fonction des taches qu’il doit accomplir.

Calcul des plus courts chemins Afin de refl´eter la topologie du graphe, nous souhaitons placer les sommets de fa¸con `a ce que ladistance euclidienneentre chaque paire de som-mets corresponde `a la distance entre ces mˆemes somsom-mets dans le graphe, i.e.la longueur du plus court chemin les reliant. Cettedistance cibleest donc ´egale `a la distancedijentre un sommeti et un sommetj telle que nous l’avons d´efinie pr´ec´edemment. Id´ealement, les positions des sommetsp(1) = (x(1), y(1)),. . .,p(n) = (x(n), y(n))∈R2 doivent ˆetre trou-v´ees telles que les distances euclidiennes kp(i)−p(j)k=p(x(j)−x(j))2+ (y(i)−y(j))2 correspondent aux distances cibles.

Nous commen¸cons donc notre m´ethode en construisant la matriceD = (dij)1≤i≤n,1≤j≤n

contenant les distances cibles entre chaque paire d’´el´ements de Q(G). Pour cela, nous utilisons un classique parcours en largeur ( voir [24] par exemple pour la description d’un tel algorithme).

Suppression des ponts Avant le placement des communaut´es (ensemble C), nous supprimons temporairement les ponts (ensemble B). Le but de cette op´eration est de placer ces ponts apr`es les communaut´es afin qu’ils apparaissent entre celles auxquelles ils sont reli´es. Ceci rend la compr´ehension des relations entre les ´el´ements plus simple pour l’utilisateur.

2.1.3.2 Positionnement des ´el´ements du graphe

Dans la section pr´ec´edente, nous avons construit une matriceDcontenant des distances cibles. Id´ealement, nous voudrions donc avoir :

kp(i)−p(j)k ≈dij

pour toutes les paires (i, j) avec i, jC. Ce probl`eme peut ˆetre r´esolu grˆace `a un algorithme de Multidimensional Scaling (MDS) [34] (voir [141] pour obtenir plus d’infor-mations sur l’adaptation de ces m´ethodes au dessin de graphe). Une approche efficace de MDS consiste `a introduire une p´enalit´e quadratique lorsque l’on s’´eloigne de l’´equation ci-dessus. Pour cela, on utilise une fonction de stress que l’algorithme de placement devra minimiser :

σ(p) =X

i<j

wij dij− kp(i)−p(j)k2

Celle-ci mesure l’´eloignement entre laconfigurationcourantep=p(1), . . . , p(n)et les distances cibles{dij}. Ici, on utilise la fonction standard pour calculer le poidswij =d−2ij [107] qui permet de donner plus d’influence `a la repr´esentation des distances courtes et am´eliore ainsi le placement des structures locales.

Malheureusement, il n’existe pas de m´ethodes connues permettant la minimisation de la fonction stress. Il existe cependant des techniques permettant d’obtenir des r´esultats satisfaisants comme celle connue sous le nom de stress majorization.

Stress majorization Cette technique consiste `a it´erer une fonction calculant des con-figurations successives telles que la fonction stress n’augmente pas. Elle a ´et´e introduite par de Leeuw [52] et est devenue tr`es populaire pour le dessin de graphe [107, 79, 141].

Plus concr`etement, `a partir d’une configuration p[t] `a un temps t, elle permet de trouver une configuration p[t+1] en am´eliorant localement les positions des ´el´ements. En voici la formule pour un sommet i :

En utilisant cette fonction sur tous les sommets, on obtient donc une nouvelle con-figuration. Cette op´eration est ensuite it´er´ee jusqu’`a ce qu’une configuration stable soit trouv´ee,i.e.jusqu’`a ce que la fonctionstress ne puisse plus ˆetre r´eduite significativement :

σ(p[t])−σ(p[t+1]) σ(p[t]) <

avec >0,e.g.= 10−4.

Les fonctionsstress des configurations successives n’augmentent pas, i.e.

σ(p[0])≥σ(p[1])≥σ(p[2])≥ · · · ≥σ(p[t])

et elles convergent vers un minimum local [53]. L’avantage de l’utilisation d’une m´eth-ode destress majorization r´eside dans sa faible complexit´e en temps :O(n) (nous l’avons d´ej`a exp´eriment´ee pour le placement des centres deSequencesViewer section 1.3.2.2). Cet algorithme est plus rapide qu’un algorithme de force tel que [72] qui est en O(n3) (voir [28] pour une vue d’ensemble de ce type de m´ethodes bas´ees sur l’analogie avec des forces physiques et [91] pour une comparaison de leurs r´esultats).

En revanche, un probl`eme de cette m´ethode est dˆu au fait que le r´esultat final d´epend fortement de la configuration initiale choisie (p[0]). Nous allons maintenant d´ecrire la solution `a ce probl`eme.

Placement initial Comme le montrent Pich et Brandes [33], la m´ethode pr´esent´ee ci-dessus a la fˆacheuse tendance de faire tomber la fonctionstress dans des minima locaux.

Pour ´eviter cela, il faut trouver une configuration initiale globale respectant la topologie du graphe et utiliser ensuite le processus de stress majorization pour affiner localement le positionnement.

Une m´ethode efficace de placement global initial est connue sous le nom de Classical MDS [176]. Bas´ee sur de l’alg`ebre lin´eaire, elle permet elle aussi de trouver une configura-tion dont la la valeur de la foncconfigura-tionstress est peu ´elev´ee. Elle utilise une matriceB = (bij) d´efinie ainsi :

bij =−1 vecteurs propres correspondants (ce sont des r´eels car la matrice est sym´etrique). Ces valeurs peuvent ˆetre calcul´ees, par exemple, grˆace `a un algorithme nomm´epower iteration (voir [83]). Deux vecteurs de coordonn´ees x ety peuvent ˆetre ensuite d´eduits :

x=pλ1u1, y=pλ2u2

La configuration initiale correspond aux valeurs de ces vecteurs :

p(i) = (x(i), y(i))

2.1.3.3 Post-traitements

Apr`es avoir trouv´e un positionnement des communaut´es grˆace aux m´ethodes de Mul-tidimensional scaling il faut maintenant r´eintroduire les ponts.

R´e-insertion des ponts Nous consid´erons ici que la mani`ere la plus intuitive et la plus efficace visuellement consiste `a placer les ponts (ensembleB) au niveau du barycentre des communaut´es deC auxquelles ils sont reli´es dans le graphe bipartiQ(G) = (B, C, EQ(G)).

Soit un pont bB reli´e `a un ensemble de communaut´esN(b) ={c∈C: (b, c)∈EQ(G)}, la position de best donn´e par la formule :

p(b) = 1

|N(b)|

X

c∈N(b)

p(c)

La figure 2.9.a montre le r´esultat d’un tel positionnement. Nous aurions pu aussi placer les ponts en mˆeme temps que les communaut´es en utilisant les algorithmes de Multidimensional scaling. Apr`es avoir test´e cette approche, nous avons pr´ef´er´e utiliser la m´ethode des barycentres afin que les ponts soient positionn´es entre les communaut´es qu’ils relient. Cette solution permet en effet d’introduire visuellement la notion de betweenness qui a ´et´e utilis´ee pour trouver les ponts10.

Comme nous pouvons le constater sur la figure 2.9.a, les sommets ainsi plac´es se chevauchent beaucoup ce qui rend la carte illisible. C’est pourquoi nous allons maintenant voir quelle technique peut ˆetre mise en place afin de supprimer ces chevauchements.

10. Dans ce cas, la syntaxe est bas´ee sur des propri´et´es cognitives qui nous feront attribuer un sens au signe /pont plac´e entre les communaut´es auxquelles il est reli´e/. Dans le premi`ere partie, nous avons mis le cartographe en garde contre l’utilisation de tels proc´ed´es. Dans les faits, nous pensons qu’une telle approche peut ˆetre utilis´ee si une l´egende ou une explication quelconque vient confirmer l’intuition cognitive.

(a) (b)

Figure 2.9: Graphe quotient bipartiQ(G) = (B, C, EQ(G)) : (a) apr`es r´e-insertion des ponts, (b) apr`es suppression des chevauchements.

Suppression des chevauchements La m´ethode utilis´ee afin de supprimer les chevauche-ments des sommets est pr´esent´ee dans [76]. C’est une adaptation originale du processus de strees majorization d´ecrit ci-dessus au probl`eme qui nous concerne ici. Selon cette approche, les chevauchements sont ´elimin´es graduellement en d´epla¸cant petit `a petit les sommets qui se chevauchent de fa¸con `a modifier le moins possible la configuration issue de l’´etape de placement.

L’algorithme repose sur la cr´eation d’un graphe de voisinage d´eriv´e de la configu-ration courante des ´el´ements. Plus concr`etement, nous calculons une triangulation de Delaunay sur les ´el´ements de Q(G) ce qui nous permet d’obtenir un graphe planaire DT(Q) = (VDT(Q)=BC, EDT(Q)). Dans ce graphe, la paire de sommets(i, j)appartient

`

a EDT(Q)) si et seulement si les r´egions du diagramme de Vorono¨ı11 correspondantes sont adjacentes. Il est important de noter ici que DT(Q)est seulement construit `a partir du positionnement sur le plan des sommets de Q(G), il ne tient donc pas compte des arˆetes de E ou de EQ(G).

La suppression de chevauchements est effectu´ee en it´erant le processus suivant : 1. Tout d’abord, le grapheDT(Q)est construit grˆace `a une triangulation de Delaunay

des sommets deQ(G) pr´ealablement positionn´es.

2. Ensuite, pour chaque arˆete de la triangulation (i, j) ∈ EDT(Q) un facteur de chevauchement

tij = max

ai+aj

kp(i)−p(j)k,1

est calcul´e, o`u ai etaj repr´esentent les rayons des sommets i et j. Il correspond `a la valeur minimale par laquelle la distance euclidienne doit ˆetre multipli´ee afin de

11. Par d´efinition, la r´egion du diagramme de Vorono¨ı correspondant `a un sommetiest la r´egion form´ee par les points du plan plus proches deique de n’importe quel autre sommet.

supprimer le chevauchement (il est donc ´egal `a 1 si les sommets ne se chevauchent pas). La nouvelle distance cible doit ˆetre

dDTij =sDTij kp(i)0p(j)0k

o`u, sDTij est un facteur d’amortissement d´efini par sDTij = min{smax, tij}. smax est une constante d’amortissement, elle doit ˆetre sup´erieure `a 1 et repr´esente la quantit´e maximale de chevauchement devant ˆetre ´elimin´ee en une it´eration. Elle permet de ne pas trop s’´eloigner de la configuration initiale.

3. Enfin, grˆace aux nouvelles distances cibles, on obtient une nouvelle fonctionstress σDT(p) = X

(i,j)∈EDT(Q)

wij

dDTij − kp(i)−p(j)k2

que nous allons pouvoir minimiser en utilisant la m´ethode de stress majorization d´efinie dans la sous-section 2.1.3.2. On substitue pour cela dDTij et sDTij `adij etsij. Ces trois op´erations sont r´ep´et´ees jusqu’`a ce que les chevauchements soient supprim´es, i.e. jusqu’`a ce que tij = 1 pour tout (i, j) ∈ EDT(Q). Le figure 2.9.b repr´esente le mˆeme graphe que celui de la figure 2.9.a apr`es avoir utilis´e cet algorithme de suppression des chevauchements.

Interaction et navigation La visualisation cr´e´ee lors des ´etapes pr´ec´edentes (figure 2.9.b) permet `a l’utilisateur d’avoir une vue d’ensemble des mots-cl´es des pages internet correspondant `a sa recherche. Afin qu’il puisse comprendre la signification des commu-naut´es et explorer les pages correspondantes, nous avons mis en place plusieurs types d’interaction.

Tout d’abord, lorsque l’utilisateur survole une communaut´e, une infobulle contenant la liste des mots-cl´es appartenant `a cette communaut´e est affich´ee, comme on peut le voir sur la figure 2.11.a. Ceci lui permet de s´electionner rapidement les communaut´es qui l’int´eressent. De plus, les ponts sont ´etiquet´es par leur mot-cl´e ce qui est n´ecessaire

`

a la compr´ehension des relations entre les communaut´es. Lorsque l’on clique sur une communaut´e, le cercle jaune la repr´esentant disparaˆıt et les sommets qu’elle contient viennent se placer sur un cercle dont le rayon d´epend de leur nombre12 (voir figure 2.10 dans laquelle deux communaut´es sont ainsiouvertes). L’utilisateur peut ainsi avoir une information plus pr´ecise sur cette communaut´e et les liens qui existent entre les mots-cl´es qui la composent. Il peut aussi la refermer en cliquant au centre du cercle. Enfin, un clic droit sur une communaut´e permet d’afficher une liste de liens hypertextes menant aux pages internet contenant les mots-cl´es de cette communaut´e (un exemple est montr´e sur la figure 2.10). L’utilisateur peut donc naviguer dans les pages retourn´ees par un moteur de recherche grˆace `a notre syst`eme.

Mises `a part les diff´erentes interactions disponibles sur les communaut´es, nous en avons aussi d´evelopp´e d’autres sur les sommets repr´esentant des mots-cl´es. Lorsque la souris

12. Compte tenu de la densit´e des arˆetes pr´esentes `a l’int´erieur des communaut´es, une alternative in-t´eressante mais que nous n’avons pas test´ee consisterait `a utiliser des matrices pour les repr´esenter, comme Henryet al.le proposent dans l’article [93].

Figure 2.10: Mˆeme graphe que celui repr´esent´e sur la figure 2.9 avec deux com-munaut´es ouvertes et la liste des pages internet affich´ee pour l’une des autres communaut´es.

survole l’un de ces sommets, une infobulle indique quelle est le mot-cl´e correspondant.

Les sommets dupliqu´es apparaissent en bleu alors que les autres sont dessin´es en vert.

Lorsque l’on clique sur un des sommets dupliqu´es (voir section 2.1.2.1), celui-ci, ainsi que toutes les autres instances du mˆeme cl´e, sont affich´es en rose, ´etiquet´es avec ce mot-cl´e et leurs tailles sont augment´ees (voir figure 2.10). L’utilisateur peut ainsi identifier rapidement les communaut´es dans lesquelles ils apparaissent.

L’expansion d’une communaut´e afin d’afficher les sommets qu’elle contient peut en-traˆıner de nouveaux probl`emes de chevauchement. En effet, le diam`etre du cercle le long duquel ces sommets viennent se placer est d´etermin´e en fonction de leur nombre. Si ce nombre est sup´erieur `a un certain seuil, le cercle est plus grand que le disque jaune qui repr´esentait pr´ec´edemment la communaut´e. Nous sommes donc oblig´es de d´erouler de nouveau l’´etape de suppression des chevauchements d´ecrite ci-dessus en modifiant les rayons ai des sommetsouverts de C. L’ordre des sommets positionn´es le long du cer-cle a aussi son importance. En effet, comme ceux-ci ont des arˆetes partant vers les autres communaut´es, il est important que ceux reli´es aux mˆeme communaut´es soient plac´es cons´ecutivement. Ceci permet de limiter les croisements d’arˆetes et de les regrouper plus facilement. Pour cela, nous utilisons l’heuristique du barycentre qui consiste `a ordonner les sommets en fonction de l’angle des coordonn´ees polaires de leur barycentre [10]. Lorsque toutes les communaut´es sontouvertes, cela revient `a calculer un positionnement connu sous le nom de micro/macro graph layout [16].

Dans le document The DART-Europe E-theses Portal (Page 80-87)