Publié le 2025-10-01 20:20:00. Pour mieux identifier et classifier les discours misogynes sur Twitter, des chercheurs ont développé une approche novatrice. Plutôt que d’analyser chaque compte isolément, leur méthode exploite les connexions entre utilisateurs et le contenu qu’ils partagent, s’appuyant sur les réseaux de neurones convolutionnels graphiques (GCN).
- L’analyse traditionnelle de classification suppose que les données sont indépendantes, ce qui ne convient pas aux réseaux sociaux où les liens et les similarités influencent la classification.
- Une nouvelle approche, baptisée TextGCN, modélise les comptes Twitter et les mots comme des nœuds dans un réseau, intégrant ainsi la structure relationnelle et le contenu textuel.
- Les réseaux de neurones convolutionnels graphiques (GCN) sont ensuite appliqués pour classer ces nœuds, en tenant compte des informations véhiculées par les voisins dans le réseau.
Dans le cadre de l’étude, la tâche consiste à attribuer une étiquette binaire, représentant la misogynie, à chaque compte Twitter analysé. Les méthodes classiques d’apprentissage automatique reposent souvent sur l’hypothèse que chaque point de donnée est généré indépendamment. Cependant, comme le soulignent Londres et Getoor, cette approche est inadéquate pour les données issues des réseaux sociaux. En effet, sur ces plateformes, les utilisateurs voisins ont une probabilité accrue de partager la même étiquette, et les interactions sont plus fréquentes entre des instances de même classe. Ignorer ces interdépendances conduit inévitablement à des performances sous-optimales.
Pour pallier ces limites, les chercheurs ont adopté l’approche TextGCN (Graph Convolutional Networks for Text classification), proposée par Yao et al. Cette méthode permet de considérer simultanément la structure des relations entre les comptes et le contenu textuel partagé par chaque utilisateur. Pour ce faire, un graphe hétérogène est construit, composé de nœuds représentant à la fois les comptes Twitter (identifiés par $N_u$ nœuds) et les termes extraits du vocabulaire du corpus (identifiés par $N_w$ nœuds), pour un total de $N_a$ nœuds. Le graphe est considéré comme non dirigé et sans auto-boucles, reflétant ainsi les relations symétriques et l’absence de liens d’un nœud vers lui-même.
La structure relationnelle de ce graphe est formalisée par une matrice d’adjacence par blocs de taille $N_a \times N_a$. Cette matrice comprend plusieurs composantes :
- La matrice $\mathbf{U}$ ($N_u \times N_u$) représente le réseau des comptes Twitter. L’élément $a^{(u)}_{i,j}$ vaut 1 s’il existe un lien (ami/abonné) entre le compte $v_i$ et le compte $v_j$, et 0 sinon.
- La matrice $\mathbf{W}$ ($N_w \times N_w$) modélise les cooccurrences de mots. L’élément $a^{(w)}_{i,j}$ correspond au nombre brut de fois où les mots $v_i$ et $v_j$ apparaissent ensemble dans l’ensemble du corpus.
- Enfin, la matrice $\mathbf{M}$ ($N_u \times N_w$), et sa transposée $\mathbf{M}’$, relient les comptes Twitter aux mots. L’élément $a^{(m)}_{i,j}$, représentant le poids du lien entre le compte $v_i$ et le mot $v_j$, est calculé selon la métrique TF-IDF (Term Frequency-Inverse Document Frequency). Le terme fréquence mesure le nombre d’occurrences du j-ème mot dans le i-ème document (compte), tandis que la fréquence documentaire inverse pondère ce chiffre en fonction de la rareté du mot dans l’ensemble des documents.
Ce cadre permet d’appliquer des réseaux de neurones convolutionnels graphiques (GCN), une technique qui excelle dans la classification de nœuds en exploitant la structure globale du graphe. Contrairement aux réseaux de neurones convolutionnels classiques qui opèrent sur des données structurées en grille, les GCN effectuent des convolutions sur des données représentées sous forme de graphes. Chaque couche d’un GCN reçoit des informations des neurones de la couche précédente, effectue une opération spécifique, puis applique une fonction d’activation pour générer la sortie destinée à la couche suivante. Pour plus de détails sur le fonctionnement et les intuitions graphiques, les lecteurs peuvent se référer aux travaux de Kipf et Welling, Bronstein et al., ainsi que Yao et al.
Pour produire une sortie au niveau de chaque nœud, les GCN nécessitent une description des caractéristiques de chaque nœud, consolidée dans une matrice de caractéristiques $\mathbf{x}$, ainsi qu’une représentation de la structure du graphe via sa matrice d’adjacence $\mathbf{a}$. Les couches cachées d’un réseau neuronal basé sur GCN sont décrites par l’équation suivante :
$\mathbf{h}^{(l+1)} = f \left( \tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}} \mathbf{h}^{(l)} \mathbf{W}_l \right)$
Dans cette formule, $\tilde{\mathbf{A}} = \mathbf{A} + \mathbf{I}_{n_a}$ représente la matrice d’adjacence enrichie de boucles d’auto-connexion, et $\tilde{\mathbf{D}} = \text{diag}(\tilde{\mathbf{A}} \mathbf{1}_{n_a})$ est la matrice de degré diagonale. $\mathbf{W}_l$ désigne la matrice des poids entraînables propre à chaque couche, et $f(\cdot)$ est une fonction d’activation telle que la fonction ReLU ($\max(0, \cdot)$). $\mathbf{h}^{(l)}$ représente la matrice des activations de la l-ième couche, avec $\mathbf{h}^{(0)} = \mathbf{x}$.
Dans cette étude, suivant l’approche de Yao et al., un GCN à deux couches est utilisé. Cette architecture permet un échange d’informations entre des nœuds situés au maximum à deux pas les uns des autres, capturant ainsi à la fois les liens directs entre utilisateurs et leurs proximités sémantiques. Il est à noter que les propriétés intrinsèques des nœuds ne sont pas prises en compte, la matrice de caractéristiques étant définie comme la matrice identité ($\mathbf{x} = \mathbf{I}$).
Le modèle GCN implémenté est résumé par la formule suivante :
$\text{softmax} \left( \tilde{\tilde{\mathbf{A}}} \text{relu} \left( \tilde{\tilde{\mathbf{A}}} \mathbf{x} \mathbf{W}_0 \right) \mathbf{W}_1 \right)$
Ici, $\tilde{\tilde{\mathbf{A}}} = \tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}}$. La fonction d’activation ReLU est appliquée à la première couche. La fonction softmax est ensuite utilisée comme fonction d’activation pour la deuxième couche, produisant les probabilités de classification pour chaque nœud.
Après l’entraînement des poids, chaque couche agrège les informations des documents et des mots. La fonction de perte choisie est l’erreur de catégorisation croisée (cross-entropy loss), calculée sur l’ensemble des documents étiquetés. L’algorithme d’optimisation Adam est utilisé pour l’entraînement du modèle.