BlogL’analyse textuelle de réseaux, Qu’est-ce que c’est ? Comment faire ? (par Muriel Epstein)

Muriel Epstein, chercheuse en sociologie à Paris 1, nous fait ici l'honneur d'expliquer linkage.fr pour un public non-averti

Quelques collègues mathématiciens et informaticiens ont développé en juin 2017 la plateforme linkage.fr qui devraient intéresser les sociologues. L’objectif de ce petit article est de donner des explications sur ce que c’est et comment ça marche. Il s’agit donc d’un tutoriel en français destiné à des sociologues.

Linkage combine deux types d’études : l’étude de réseau et l’analyse textuelle. Il part du principe qu’une manière d’analyser un réseau est de comprendre de quoi on parle avec qui. Il permet ainsi de proposer trois analyses :

  • Les groupes de personnes qui parlent ensemble
  • Les sujets dont parlent les personnes
  • La structure et le contenu des relations entre les personnes

Par exemple, prenons le cas (fictif) de Claude. Claude aime l’art et en parle beaucoup à ses amis. Quand elle envoie un mail à ceux-ci, il n’est pas rare qu’elle mentionne un musée ou un tableau qu’elle a aimé. Un sous-groupe de ses amis est passionné de sculpture en particulier. Avec sa famille, elle discute de la santé des uns et des autres, des problèmes de garde d’enfants, parfois de problèmes financiers ou de l’organisation des vacances. Les vacances sont aussi un sujet de discussion occasionnelle au travail mais Claude, qui est commerciale, parle plus souvent des résultats, des clients, des objectifs avec ses collègues.

Dans le cas de Claude, une analyse des champs lexicaux utilisés permettra à la fois de reconstituer les sphères familiales, professionnelles, amicales, voire celles liées à un intérêt particulier (la sculpture) et de savoir ce qu’elle partage avec ces groupes de personnes.

En effet, on retrouvera très souvent les mots « musées », « peinture », « tableau », « sculpture » dans les mails avec ses amis. Les mots « santé », « enfants », « argent », « euros », « vacances » ainsi que les mots « tu », « salut » « coucou » « bises » distingueront la famille des collègues où les termes « euros », « vacances » apparaitront également mais associés à d’autres champs lexicaux et d’autres termes comme « cordialement » qu’on ne retrouvera pas dans les mails à la famille.

L’objet de ce tutoriel est donc 1) d’expliquer succinctement les concepts mathématiques qu’il y a derrière l’analyse textuelle de réseau pour 2) permettre à n’importe quel sociologue qui voudrait faire de l’analyse textuelle sur des réseaux de se saisir de linkage.fr

1. Aspects théoriques

a) Les topics models

Le modèle utilisé pour générer des topics, appelé « lda » pour « latent dirichlet association », fait l’hypothèse suivante : chaque personne parle ou écrit avec, à sa disposition, des « sacs de mots » ou « champs lexicaux » qui pré-existent. On appelle ces « sacs de mots » ou « champs lexicaux » des « topics ». En observant ce que la personne dit, on peut reconstituer les sacs de mots ou champs lexicaux dans lesquelles elle a pioché. Un même mot peut être associé à plusieurs champs lexicaux mais un même groupe de mots ne peut être associé qu’à un champ.

Par exemple, l’expression « feu rouge » pourra être associée à un autre champ lexical que l’expression « il y avait le feu »

Un topic (ou un sujet en bon français) est une distribution de mots. Un document est un mélange de quelques topics. Chaque mot est tiré au sort dans un topic (comme on tire des boules d’une urne dans les exercices de probabilité).

Dans la réalité, on observe des documents et on recherche les topics qui existaient le plus probablement pour que ce soit cette observation-là qui existe. On parle d’apprentissage non supervisé car le modèle n’est pas construit a priori (on ne fait pas une hypothèse sur les sacs de mots) mais construit a postériori.

Ce qu’on peut en retenir si on est allergique aux maths c’est que cette technique :

  • Fait une hypothèse forte qui est l’existence de ces sacs de mots (thèmes ou sujets) dans lesquels les gens piochent pour écrire
  • Permet de (re)trouver les thèmes utilisés dans des documents

b) Le clustering

L'image est issue du site https://lovelyanalytics.com/2017/03/25/cah-comment-ca-marche/

Cluster en anglais signifie « groupe/ communauté ». Le clustering est le regroupement en communautés. Parmi les techniques classiques de regroupements, on trouve la classification ascendante hiérarchique (CAH) et les K-means. Dans les deux cas, il s’agit de regrouper les individus qui « se ressemblent » et sont proches sur des critères préalablement choisis, en un nombre de groupes imposés (pour les K-means) ou en un nombre de groupes choisi selon des critères statistiques (pour la CAH). Par exemple, sur la figure ci-dessus, les individus sont regroupés parce qu’ils ont un panier moyen et une ancienneté similaire. Dans le cas du clustering sur linkage, on procède en testant quelques situations, à la manière des K-means. C’est-à-dire que, par défaut, il est proposé de chercher entre 2 et 5 groupes et qu’on garde le nombre de groupes qui donne les meilleurs résultats. Par « meilleurs résultats », on entend un maximum de vraisemblance au sens statistique. L’algorithme procède un peu comme pour l’analyse textuelle c’est-à-dire en apprentissage non supervisé. On suppose que les gens appartiennent à des groupes (sur des critères de champs lexicaux et de liens entre eux) et on observe quels sont les groupes qui se forment qui sont les plus probables.

L’avantage de cette méthode par rapport à d’autres méthodes d’analyse de réseau est qu’elle ne suppose pas de hiérarchie ou d’influenceur. La seule chose qui compte est ce qui est partagé entre les acteurs. Deux personnes sont dans le même cluster parce qu’elles utilisent les mêmes champs lexicaux et/ou qu’elles ont interagit. Le fait qu’elles interagissent augmente leur chance d’être dans le même cluster sans que ce ne soit indispensable.

Selon le type de graphes étudiés, ils sont ou non connexes. Par exemple, une requête twitter sur un hashtag n’a pas de raison d’être connexe. En revanche, une requête sur les mails est nécessairement connexe.

2. En pratique

a) Login

On se logue avec un login et un mot de passe sur https://linkage.fr/ en cliquant sur « try linkage » En cas de mot de passe oublié, écrire à contact@linkage.fr

Lors de la première fois, on tombe sur la page ci-dessus où il faut dire si vous utilisez ce site pour raisons personnelles, de recherches universitaires ou pour une entreprise. Vous vous engagez alors à citer linkage si vous l’utilisez. Le plus simple étant d’ajouter en bibliographie le papier « C. Bouveyron, P. Latouche and R. Zreik, The Stochastic Topic Block Model for the Clustering of Networks with Textual Edges, Statistics and Computing, in press, 2017. DOI: 10.1007/s11222-016-9713-7 ».

On arrive alors sur la page ci-dessous et on clique sur « new job » en haut à gauche. Si on clique sur jobs on peut revoir tout ce qu’on a déjà fait comme travail.

b) New job

La colonne de gauche propose en particulier :

  • Papers co-authorship network qui permet de voir qui écrit des papiers avec qui. En ce cas, il faut choisir un ou des mots clés puis choisir si l’on veut voir les articles publiés sous HAL, sous arXiv ou sous PubMed (trois archivages libres de papiers scientifiques). Deux personnes sont reliées si elles ont écrit ensemble. Il peut être judicieux d’augmenter le nombre de papiers limite téléchargés (limite fixée par défaut à 500) et de décocher la case « only keep the largest subgraph from the graph » qui est utile quand on étudie de gros réseaux mais moins pour de petits réseaux. En effet, supprimer les petits graphiques est utile pour mieux voir les réseaux importants.

  • MBox file qui permet des études de réseaux basées sur les mails. Il suffit alors d’entrer un fichier MBox. Sur roundcube, il suffit de faire un export. Sur gmail, il faut se connecter à son compte puis aller sur la page https://takeout.google.com/ pour récupérer tout ou partie de ses mails en format .mbox (attention cela peut prendre entre quelques heures et quelques jours). Attention, on ne peut pas aller au-delà de 1Go de fichier. Il existe une fonction « Gmail » permettant l’import de Gmail directement.

  • Twitter search, avec une option « Use loklak API » qui permet de ne pas se restreindre aux 7 derniers jours qui est le paramètre par défaut de l’API twitter. On peut chercher des mots clés mais aussi des comptes twitters.

  • Your own network (CSV) c’est-à-dire un réseau présenté en format CSV fourni par nos soins. Autrement dit, un tableau contenant trois colonnes : le nœud source, le nœud de destination et le texte. Chaque ligne est un lien qui contient donc ces trois informations.

Exemple :

noeud source noeud destination text
Personne 1 Personne 2 Blabla de personne 1 à personne 2
Personne 3 Personne 4 Baeu beuh de personne 3 à personne 4
Personne 2 Personne 4 Texte de personne 2 à personne 4
..

Une fois le cas choisi, on a accès à un certain nombre d’informations pour l’analyse

c) Les graphiques

On a accès à deux types de graphiques. Le premier est une représentation synthétique des groupes (les carrés sur la figure ci-dessus) avec leurs sujets de discussion.

Les exemples sont données sur des sociologues de l’éducation, après recherche de leurs écrits sur HAL.

Sur la figure précédente, il y a 3 clusters et 5 topics.

Les membres du cluster en rose parlent entre eux majoritairement en utilisant le topic bleu (sur les diplômés) et communiquent avec les deux autres clusters en utilisant majoritairement le topic vert (sur l’éducation). Les membres du cluster en vert parlent particulièrement d’Europe. Enfin les membres du cluster orange parlent particulièrement entre eux de formation, d’activités académiques et salariées. Il suffit de cliquer sur les carrés pour avoir le nom des membres du cluster et sur les flèches pour avoir les topics et leur distribution. Le terme PI donne la probabilité d’interaction entre les clusters, c’est-à-dire à quel point les groupes communiquent entre eux.

Sur la figure ci-dessous, on visualise les mêmes 3 clusters et 5 topics mais en détaillant qui a écrit quoi à qui (ou en l’occurrence avec qui car il s’agit d’une étude sur les co-auteurs mais ce serait le même type de graphique si l’on parlait d’échanges de mails). Pour ce faire, il faut cliquer sur « expand clusters » Le fait de pointer sur un individu particulier (un rond) permet de chercher où se trouvent tel ou tel auteur. Ainsi, on observe une position centrale de Roger Establet en sociologie de l’éducation en France.

d) Les clusters

Les clusters apparaissent dans la colonne de gauche. Il est possible de modifier le nombre de clusters entre 2 (minimum) et 5 (maximum) avec un « cliquer-glisser » de la souris qui emmène le cercle vers le nombre de clusters souhaités.

Ensuite, un simple clic sur « show nodes » ou « hide nodes » permet de visualiser qui sont les membres d’un cluster. Par exemple, ici, le cluster vert comprend, entre autre, Yaël Brinbaum, Patrick Werquin, Agnès Van Zanten, et François Dubet

En cliquant sur le petit crayon à droite du nombre ( indiquant le nombre de personnes présentes dans un cluster), on peut donner un nom au groupe.

Si l’on modifie le nombre de topics, on modifie le nombre de clusters et réciproquement, les deux étant inter-dépendants.

e) Les topics

On peut procéder de la même façon avec les topics qu’avec les clusters et modifier le nombre de topics et le nom du topic. Par exemple, par défaut le topic orange dont le mot que l’on retrouve le plus souvent est « comment » s’appelle « comment ». Il semble évident que ce mot-là n’est pas caractéristique et l’on peut voir en descendant un peu que ce topic se caractérise surtout par les mots « formations », « compétences », « activité salariée ». C’est-à-dire qu’il s’agit d’un sujet qui relie le monde des études au monde du travail. On peut rebaptiser ce sujet « formations vers le monde salarié » qui correspond dans l’ensemble aux thèmes travaillés par les chercheurs concernés.

f) La matrice d’adjacence

La matrice d’adjacence est plus ou moins lisible selon le nombre de personnes étudiées. Elle représente l’ensemble des individus intégrés à l’étude. La couleur du topic le plus utilisé entre eux est indiqué au croisement entre deux individus.

g) Les statistiques

Les statistiques proposées sont celles du nombre de membres de chaque cluster, de la répartition des sujets, des mots les plus utilisés par sujet. Cf figure ci-dessous:

h) Advanced

On trouve dans la rubrique « advanced » (onglet de gauche) un seuil (cluster to cluster cut off) que l’on peut faire varier. Si ce seuil est à 0, tous les liens entre clusters sont affichés, même ceux qui sont nuls, c’est-à-dire que la probabilité que les deux clusters soient liés est nulle. Le fait d’augmenter ce seuil permet d’éclaircir les graphiques. On dispose aussi d’un score par nombre de clusters et de topics. Il s’agit du score de vraisemblance. Par exemple, le maximum de vraisemblance est atteint pour 2 topics et 2 clusters. Le choix fait de 3 topics et 5 clusters est nettement moins bon statistiquement que 2 clusters et 2 topics. Et de fait, lors des analyses, si le cluster 1 que j’ai nommé « sociologues de la jeunesse » se distinguent assez bien des clusters 2 et 3, il a été très difficile de donner un nom aux clusters 2 et 3.

Published July 27, 2017

                                             

Terms and conditions         Credits