Magazine Emarketing

Outils de visualisation des réseaux sociaux (Mathieu Jacomy) - MasterWebscience [del.icio.us]

Publié le 27 juillet 2009 par Christophe Benavent

Retour vers Programme des sessions 2008/2009

Cette session est donc dédiée principalement au logiciel de visualisation de graphes Géphi. Il s'agit de montrer précisément comment fonctionne le logiciel, mais puisque cette page héberge des ressources, c'est l'occasion de replacer le logiciel dans son "écosystème" naturel. Il faut bien noter deux choses :

- Géphi prend place dans un ensemble d'outils qui, ensembles, forment une "boîte à outils" ou "toolkit" pour les anglicistomanes. Il est donc question d'une certaine maîtrise des formats de documents. Les outils de cet ensemble s'enchaînent selon un parcours d'usage qui est aussi un parcours méthodologique : collecte, visualisation, analyse... A chaque étape plusieurs outils peuvent coexister et se compléter, pour autant que les formats soient compatibles.

- Géphi est en perpétuel développement. Cela signifie que pour pleinement en profiter, il faut suivre ses mises à jours régulières et lui pardonner certaines lacunes qui seront comblées au fur et à mesure. C'est aussi le cas des autres outils. Pour autant il permet déjà d'effectuer un travail sérieux dans de bonnes conditions, et c'est pourquoi il est temps de le présenter.

Etapes du travail, et outils associés

  1. Collecte - Un outil qui s'associe naturellement à Géphi est le Navicrawler. Il s'agit d'une extension Firefox qui collecte les liens de sites web pour constituer un graphe, et vous permettre de construire un corpus. Il est aussi possible de faire appel à un crawler pour obtenir un graphe issu du web, mais nous ne connaissons pas d'outil libre et suffisamment fiable. Il s'agit plutôt de faire appel à un partenaire comme [http://rtgi.fr RTGI] ou [http://www.magellan-project.com/blog/ Magellan]. Enfin il existe bien d'autres logiciels qui produisent des graphes et qui n'ont pas nécessairement à voir avec le web. Par ailleurs on peut également composer un graphe "à la main" avec un logiciel de texte.

    • Ressources Navicrawler :
      • [http://www.webatlas.fr/index.php?page=Tlcharger Téléchargement]

      • [http://www.webatlas.fr/ressources/doc_navicrawler.pdf Documentation de base (PDF)]

      • [http://ticm.msh-paris.fr/IMG/pdf/methodo_shs_navicrawler.pdf Tutoriel et scénarios d'usage (PDF)]

      • [http://web-mining.fr/taxonomy/term/23 Blog où suivre les évolutions] et son [http://web-mining.fr/blog/7/atom/feed Fil RSS]

      • [http://web-mining.fr/forum Forum où discuter de soucis techniques (entre autres)] NB : aller dans Les Projets > Navicrawler

  2. Spatialisation - Il s'agit de manifester le graphe dans un espace graphique afin de s'y confronter et d'en tirer diverses informations. C'est le domaine de Géphi. Mais il existe d'autres logiciels également utiles tels que Pajek ou Guess. Pajek est fortement orienté sur la mathématique des graphes. Il est très polyvalent mais difficile d'usage (dans les SHS la plupart des chercheurs utilisent 1% des possibilités offertes... Parfois simplement faute de comprendre le vocabulaire). Guess quant à lui est plus accessible, plus ouvert aussi, mais n'est véritablement puissant qu'à condition de maîtriser un petit langage de programmation qui permet d'écrire des scripts. Il a été le référent pour le développement de Géphi, et il est compatible avec lui. En l'absence de certaines fonctionnalités dans Géphi, il est parfois utile d'utiliser Guess en complément. Le format généré par le Navicrawler, certains crawlers, Guess et Géphi est le GDF. Géphi quant à lui a été conçu pour être agréable à l'utilisateur : installation facile, opérations graphiques de manipulation. Une autre spécificité de Géphi est d'utiliser la visualisation OpenGL pour afficher les graphes, à l'instar des jeux vidéo. En effet l'un des goulots d'étranglement qui brident la taille des graphes qu'on peut visualiser tient à la puissance graphique demandée pour afficher une grande quantité d'information. Pajek solutionne le problème en étant très basique à ce niveau, tandis que Guess utilise une brique logicielle générique mal adaptée et lente. Géphi quant à lui profite de la grande réserve de puissance des cartes graphiques que l'industrie des jeux vidéo a rendue bon marché.

    • Ressources Géphi :
      • [http://gephi.org/ Site officiel (en anglais)]

      • [https://launchpad.net/gephi/+download Téléchargment]

      • [http://gephi.org/tutorials/first/index.htm Tutoriel vidéo en anglais]

    • Ressources Guess :
  3. Analyse - Idéalement les logiciels comme Géphi doivent permettre l'analyse des données. C'est le cas dans une certaine mesure, mais nous aurions bien tort de nous priver d'un tableur. Par ailleurs lorsque c'est possible, de petits scripts peuvent également faire des miracles - mais ce n'est pas à la portée de tous. Pour cette raison il est utile de savoir transformer un fichier GDF en fichiers lisibles par un tableur (et vice versa). C'est la partie encore trop faible de la chaîne de gestion de corpus numériques.

  4. Retour à la collecte - Les phases de collecte et de spatialisation s'alternent bien souvent. En effet il est souvent nécessaire soit de visualiser la collecte en cours pour s'orienter, soit de revenir à la collecte pour l'améliorer lorsque le résultat n'est pas satisfaisant. Pour revenir d'un logiciel de spatialisation à un logiciel de collecte il existe autant de solutions plus ou moins bricolées que d'outils. Certains crawlers savent par exemple reprendre des fichiers pour refaire de la collecte. Dans le cas d'une collecte "façon Navicrawler" un petit outil est bien utile : Flem. Cette extension pour Firefox est d'autant plus géniale que sa simplicité est confondante. Il s'agit de coller dans Flem une liste d'URLs (depuis un fichier texte ou un tableur...) et ensuite il est possible de naviguer dans cette liste avec un bouton "suivant" et un bouton "précédent", épargnant ainsi la corvée du copier-coller à la chaîne. Flem permet aussi d'automatiser ce travail, et est pleinement compatible avec le Navicrawler.

    • Ressources Flem :
      • [http://www.web-mining.fr/flem_(firefox_links_explorer_module) Page de téléchargement et infos]

  5. Travail graphique - Les logiciels de graphes sont bien jolis mais encore faut-il produire des images lisibles pour communiquer ses résultats : si on n'y prend pas garde, les graphes se manifestent sous la forme d'une pelote raturée, à moins qu'ils ne soient de toute petite taille. Pour cette raison il est utile de passer un minimum de temps dans un logiciel de dessin pour rajouter une légende, dimensionner son image, et/ou faire différentes retouches. Illustrator est bien utile mais c'est un logiciel très cher. Son équivalent open source Inkscape est satisfaisant, et permet notamment de faire des PDF qu'on peut échanger facilement (et dans lesquels on peut zoomer et faire des recherches textuelles).

Fonctionnalités de Géphi

Espace de travail et interface

L'espace central de Géphi est dédié à l'affichage de graphes, comme on peut s'y attendre. Autour de cet espace se trouvent différentes palettes qui regroupent ses fonctions et que vous pouvez réorganiser. Celles qui ne vous sont pas utiles peuvent être fermées. Si vous ne trouvez pas une palette évoquée ici, c'est qu'elle n'est pas apparente : affichez-la depuis le menu "fenêtres > vues".

Lorsque vous ouvrez un fichier, il crée un espace de travail. C'est-à-dire un environnement qui contient les données et qui vous permet de les manipuler. Si vous ouvrez plusieurs fichier, ils iront chacun dans un espace de travail distinct. Vous pouvez visualiser ces espaces de travail en haut à droite de Géphi. Ceci vous évite d'avoir à ouvrir plusieurs fois Géphi, et vous permet de passer rapidement d'un document à un autre, par exemple pour comparer différentes façons de spatialiser un graphe.

Le concept d'"Espace" pour les noeuds

Dans Géphi vous devrez maîtriser un autre type d'espace, non pas l'espace graphique de l'écran mais des espaces virtuels qui contiennent les graphes. Ce que Géphi appelle Espace (je mets une majuscule pour distinguer) est comme une page blanche qui contient un graphe. Vous pouvez séparer les graphes dans plusieurs Espaces pour trier les noeuds par exemple. Vous pouvez également grouper plusieurs espaces pour visualiser ce qu'il contiennent en même temps, mais dans ce cas les liens entre les noeuds qui ne sont pas dans le même espace n'apparaissent pas. La règle des Espaces est la suivante : un noeud est dans un et un seul espace. Notez qu'un espace à part appelé corbeille contient les noeuds que vous avez éliminés : vous pouvez ainsi les y reprendre en cas d'erreur.

Deux exemples typiques de l'utilisation des espaces :

  • Vous avez un graphe des gentils et des méchants. En séparant les noeuds entre un Espace dédié aux gentils et un Espace dédié aux méchants, vous pourrez visualiser séparément le graphe des gentils et le graphe des méchants, exclusion faite de leurs interconnexions, pour les comparer par exemple.
  • Vous avez un graphe si gros qu'il est difficile à visualiser. Vous voulez savoir si ce graphe est consistant en dehors des noeuds les plus connectés. Vous séparez donc les noeuds en deux catégories, les très connectés et les peu connectés. En séparant ces deux ensembles dans deux Espaces, vous pourrez observer si les noeuds très connectés sont connectés entre eux (résultat attendu) et si les noeuds peu connectés entre eux sont tout de même connectés entre eux (signe d'une activité communautaire dans certains cas).

Quelles différences entre les Espaces et les espaces de travail ?

  • Les espaces de travail contiennent les Espaces.
  • Un graphe va être découpé dans différents Espaces, car un noeud est dans un et un seul Espace. Mais on peut ouvrir ce même graphe dans un autre espace de travail, et il n'y a pas de découpage. Les données sont en double, une fois dans un espace de travail, une fois dans un autre. On peut les découper en Espaces dans l'espace de travail 1, et ne pas les découper dans l'espace de travail 2. Les espaces de travail sont étanches et indépendants.
  • Les Espaces sont un outil de travail, qui transforment les graphes.
  • Les espaces de travail sont une commodité, qui fonctionne comme si vous ouvriez plusieurs fois le logiciel.

Fonctions de base

  • Zoomer / dézoomer : utilisez la molette de la souris.

  • Déplacer la vue : utilisez un clic-droit tout en bougeant la vue.

  • Incliner la perspective : utilisez un clic-molette en bougeant la souris vers le haut ou vers le bas.

  • Déplacer un noeud : sélectionnez l'outil "flèche" et déplacez le noeud...

  • Masquer / Afficher les liens : ce sont les deux petites icônes en bas à droite de la fenêtre principale qui contient le graphe.

Affichage du nom des noeuds

Une palette dédiée permet de gérer l'affichage du nom des noeuds. Par défaut ce nom n'apparaît pas, car le mode pré-sélectionné est "Aucun". Pour changer cela, rendez-vous dans la palette "Textes". Vous disposez de 5 modes d'affichage :

  • Aucun : les noeud sont affichés sans leur texte, point barre.

  • A l'échelle : la taille du nom des noeuds est toujours la même quel que soit votre niveau de zoom.

  • Taille fixe : la taille des noms "fait partie du graphe". Si vous êtes loin elle sera en petit, si vous être près elle sera en grand.

  • Proportionnelle : la taille est fixe aussi mais elle est proportionnelle à la taille des noeuds. Les gros noeuds ont un gros texte et les petits un petit texte.

  • Souris : les noms s'affichent quand vous passez la souris dessus, en mode "à l'échelle".

Vous pouvez changer la police de caractères, sa taille et sa couleur dans les autres paramètres de la palette. Ces données sont prises en compte dans l'export vectoriel.

Spatialisation

La palette Spatialisation permet de mettre en forme son graphe selon différentes modalités. Ce travail se passe en plusieurs étapes :

  1. Sélectionnez un Algorithme dans le menu déroulant ainsi nommé.

  2. Cliquez sur le bouton Lecture (triangle vers la droite) pour lancer la spatialisation. Votre graphe se spatialise en temps réel.

  3. Affinez la spatialisation en changeant les paramètres.

  4. Lorsque le résultat vous satisfait, cliquez sur Stop (bouton carré) et la spatialisation s'arrête.

Cette palette fonctionne comme un petit laboratoire. La description des paramètres s'affiche en bas de la palette quand vous cliquez dessus. Pour vous y retrouver voici un guide rapide :

  • Sélectionnez l'algorithme Force Atlas (une exclusivité Géphi) et lancez-le.

  • Si votre graphe est petit, il va se mettre à trembler fortement. C'est normal. Tous les force vectors fonctionnent sur un principe commun : la simulation physique est toujours d'autant plus précise qu'elle est lente, et d'autant plus rapide qu'elle est approximative. Il vous faut donc arbitrer. C'est la vitesse et le refroidissement qui gèrent cet aspect. Si vous refroidissez le graphe ou que vous baissez la vitesse, il sera plus lent mais plus précis. Soyez juste assez précis que vos besoins l'exigent, pas plus, pour ne pas perdre de temps. Si le graphe tremble, augmentez le refroidissement et soyez plus patient. Pour les gros graphes, soyez imprécis au début pour faire le gros du travail, puis refroidissez progressivement.

  • Si votre graphe est grand et dense (par exemple, plusieurs centaines de noeuds et plus d'un milliers de liens) vous avez intérêt à activer la fonction attraction distribuée. Ce paramètre tend à mettre les hubs (beaucoup de liens sortants) en périphérie et à garder au centre les autorités (beaucoup de liens entrants). Cette logique manifeste une centralité graphique plus intuitive, car les hubs sont abstraitement "partout et nulle part" tandis que les autorités sont plus authentiquement centrales.

  • Si les noeuds sont trop proches, augmentez la répulsion ou baissez l' attraction.

  • Lorsque le graphe est stable, et que le résultat vous convient, effectuons un petit raffinement. Stoppez l'algorithme.
  • Sélectionnez une taille des noms des noeuds qui vous convient dans la palette "Texte"
  • Sélectionnez l'algorithme de spatialisation Label Adjust, et lancez-le.

  • Lorsqu'il s'arrête, vous avez la garantie que les noms des noeuds ne se chevaucheront pas dans l'image que vous exporterez, pour un minimum de modification du graphe.

Les filtres

Je ne vais pas décrire les filtres en détail ici, car une démo vaut mieux qu'un long discours. Ces fonctions sont largement en chantier à l'heure actuelle mais elles sont néanmoins utilisables à différentes fins.

Les filtres sont des fonctions de découpage et de manipulation graphique du graphe qui s'enchaînent les unes aux autres pour régler les paramètres visuels du graphe, dans l'esprit de Bertin par exemple. Il s'agit de sélectionner des paramètres intrinsèques du graphe (métadonnées, nombre de liens...) pour déterminer des paramètres graphiques (taille, couleur des noeuds...)

Trois logiques y sont concentrées :

  • Le découpage qui consiste en la séparation du graphe en plusieurs ensembles auxquels on peut appliquer des paramètres graphiques distincts.

  • Le lotage qui permet de séparer le graphe en une série de lots, auxquels on peut appliquer des paramètres graphiques. Cette logique est proche du découpage, mais s'en distingue, en revanche on peut facilement transformer un lotage en découpage (on découpe les lots).

  • L'ordonnancement ordonne les noeuds selon une hiérarchie, du plus petit au plus grand.

Chacune de ces logiques permet un type de manipulation graphique particulière.

  • Le découpage permet d'appliquer des logiques différentes aux parties découpées, ou de séparer les parties dans des espaces différents.

  • Le lotage permet par exemple d'effectuer un tri binaire (regrouper les lots en deux paquets distincts qu'on découpe) ou d'attribuer une couleur distincte à chaque lot (d'où l'importance que les lots restent "ensemble" contrairement aux découpages qui sont indépendants.

  • L'ordonnancement permet d'échelonner la taille ou de faire un dégradé de couleur. En posant un seuil on peut faire une découpe.

Voici un exemple de scénario d'usage avec des filtres, à partir d'un crawl :

  • On effectue un lotage par rapport à notre méta donnée qui indique si le noeud est un point d'entrée ou pas.
  • On effectue la découpe du lotage. On a donc deux ensembles, les points d'entrée et les autres.
    • Pour les points d'entrée :
      • On applique une taille moyenne (50).
      • A la suite on les met en noir.
    • Pour les autres noeuds :
      • On effectue un ordonnancement par rapport au nombre de liens entrants.
      • On effectue une séparation à la moyenne, qui donne une découpe en deux paquets.
        • Sur le paquet "supérieur à la moyenne", on a approximativement les autorités.
          • On leur applique une grande taille (100)
          • En on applique à la suite une couleur (bleu par exemple).
        • Sur le paquet "inférieur à la moyenne", on a les autres noeuds.
          • On effectue un ordonnancement par rapport au nombre de liens sortants.
          • On applique un dégradé de tailles avec les petits scores en taille 10 et les gros scores en taille 50.
          • On applique aussi un dégradé de couleur du jaune (petit score) au rouge (gros score).

Résultat : Les points d'entrée sont en noir taille moyenne, les autorités sont en bleu grande taille, et les autres noeuds sont d'autant plus rouges et gros qu'ils sont des hubs.

Les filtres permettent ce type de manipulations complexes qui construisent la carte. Une utilisation typique est de colorer les différentes parties prédéterminées dans les données, et d'échelonner la taille par rapport à une hiérarchie comme celle de la connectivité. Les filtres sont importants car ils sont assez souples pour permettre de travailler la lisibilité du travail méthodologique en amont, comme dans notre exemple de distinguer les points d'entrée des autres noeuds.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Christophe Benavent 205789 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte