Tutoriel sur les fonctionnalités avancées de Gephi : usage des filtres pour obtenir des cartographies plus lisibles

Nous avons vu dans le précédent tutoriel comment effectuer des calculs d’influence et les visualiser via Gephi, dans le cadre d’un ensemble de tweets dont on étudie les mentions et RT. Néanmoins, ce genre de calcul ne suffit pas forcément pour aider à visualiser les informations pertinentes. Dès lors que l’on étudie plusieurs milliers de tweets, l’information peu vite devenir brouillonne. Nous allons ici prendre l’exemple de l’analyse des 205 418 tweets envoyés avec le hashtag #EP2014 en avril : sans filtrage, une telle analyse est impossible à réaliser.

Nous allons voir ici :

–          Comment jouer sur la taille des nœuds (comptes twitter) pour les rendre plus visibles ;

–          Comment mettre en place des filtres mettant en valeur les résultats les plus pertinents selon la variable étudiée ;

–          Comment effectuer des filtrages par communautés

Jouer sur la taille des nœuds

Une première possibilité pour clarifier les cartographies obtenues pourra être de jouer sur la taille des « nœuds » représentés à l’écran – la taille choisie se reflète quel que soit ensuite le classement choisi (par degré, connectivité, centralité eigenvector). Les nœuds correspondent aux comptes twitter, les liens aux tweets du corpus.

La taille minimale correspond à celle des nœuds les plus petits : en l’augmentant, ceux-ci sont plus grands. Le résultat sera un graphique avec beaucoup de nœuds de taille moyenne plutôt que de petite taille.

La taille maximum correspond aux nœuds les plus importants : si on l’augmente, les quelques nœuds les plus importants seront énormes et seront les seuls visibles.

taille

Dans notre exemple, avec le réglage min = 10 et max = 100, on obtient ce graphique, très dense, avec très peu de nœuds visibles, et plutôt illisible (avec une police Ariel 12 pour les labels, de taille proportionnelle à la valeur du degré) :

taille_10_100Si on augmente la valeur maximum à 1000, les mêmes nœuds déjà identifiés deviennent plus visibles – il suffirait d’augmenter l’espace entre les nœuds pour avoir une bonne lisibilité de ceux avec les valeurs les plus élevées :

taille_10_1000Utiliser les filtres

Le filtrage par plage de degrés

Ce filtre correspond à l’affichage des nœuds en fonction du nombre de RT / mentions qu’ils ont obtenu. Plutôt que d’afficher avec Gephi les 200 000 tweets du corpus, on va donc ne retenir que ceux qui ont obtenu au moins 99 RT ou mentions.

Pour ce faire, on cherchera à afficher les degrés sortants. Les degrés entrants correspondent aux tweets envoyés par chaque nœud, et le total des degrés à la somme des tweets avec les mentions et RT. Cela nous permet de changer la taille des nœuds en prenant en compte le classement des degrés sortants (on garde ici une échelle de taille entre 10 et 100). Pour commencer, il faut aller dans la section classement, à gauche de l’écran, dans la section « Vue d’ensemble ».

degres_entrants_rankEnsuite, à droite de l’écran, il faut aller choisir un filtre. Une fois que celui-ci est sélectionné, une barre apparait en bas à droite de l’écran, allant de 1 jusqu’à la valeur de degré maximale. Il suffit de déplacer le curseur pour filtrer les degrés en fonction de leur valeur de degrés entrants.

degres_entrants_filtrage_99Vous noterez qu’en haut à droite de l’écran, le nombre de nœuds et de liens obtenus après le filtrage est indiqué. Cela permet de régler le filtre en fonction du nombre de nœuds désirés.

Nb : Comment ré agencer au mieux les nœuds restants ?

Une fois le filtrage effectué, on obtient en général, surtout sur un grand corpus de tweets, des nœuds très éclatés. Pour les réassembler, il faut utiliser l’algorithme « Force Atlas 2 » dans les paramètres de spatialisation en bas à gauche de l’écran :

degres_entrants_configurationOn obtient ainsi le résultat suivant, nettement plus lisible :

degres_entrants_resultatLes filtrages avancés (influence, connecteurs, PageRank)

Tout d’abord, après chaque filtrage terminé, il faut désélectionner le filtre en validant « filtrer » à nouveau en dessous de la sélection de la plage. On vérifiera bien que tous les nœuds et tous les liens sont à nouveau indiqués sur l’écran en haut à gauche.

filtres_SNAIci, on choisit comme filtre « Betweeness Centrality », qui correspond aux connecteurs. On sélectionne à nouveau une plage et on lance le filtrage :

filtres_connecteurs_mapA nouveau, il faut utiliser l’algorithme « Force Atlas 2 » pour repositionner les nœuds. On obtient un résultat très clair, avec 120 nœuds gardés par le filtre :

EP2014_avril_connecteurs_mapLes filtrages par communautés

Il peut également être intéressant de faire apparaitre certaines communautés, détectées par l’algorithme de Louvain, via un filtrage. On utilise pour ce faire le filtre « Modularity Class ».

Modularity_classOn obtient ensuite une liste des communautés, classées en fonction du pourcentage de nœuds compris dans chacune d’entre-elles. Il suffit de les cocher pour les filtrer ensuite.

Modularity_class_filtrage

Effectuer deux niveaux de filtrages

Dans le cas de l’étude d’un grand corpus, le filtrage des tweets est nécessaire également pour les grandes communautés : 10 % des 200 000 tweets font toujours 20 000 tweets, ce qui rend la cartographie illisible. Il est donc possible de choisir des sous-filtres.

Par exemple, si l’on veut uniquement afficher les nœuds avec plus de 200 mentions/ RT ou tweets, on ajoutera un filtre par plage de degrés, qu’on fera glisser sur l’option « Glissez le sous-filtre ici »:

Modularity_class_double_filtrageCe qui nous donne comme résultat une fois les étapes de « Force Atlas 2 » et de l’affichage passées :

EP2014_avril_0830_0948Auteur : Guillaume Sylvestre, consultant à l’ADIT

Etudiant