Intérêt dans le domaine de la défense et de la sécurité : manipulation

Télécharger le fichier original (Mémoire de fin d’études)

Détection de robots

De larges pans de l’activité légitime sur Twitter est constitué de robots, souvent mus par des entreprises ou institutions, répliquant de manière automatisée sur plusieurs réseaux sociaux un même contenu. Leur proportion pourrait atteindre 15% des inscrits sur le réseau en 2017 2 soit 48 millions de comptes ; au minimum elle serait d’au moins 8,5%, suivant différentes motivations : spambots, paybots et influence bots [Subrahmanian et al., 2016]. Ce découpage n’est pas exhaustif, mais il correspond aux principaux objectifs malicieux recherchés :
— spambots : la définition la plus large, elle englobe tous les diffuseurs de messages non désirés, qu’ils soient liés à des escroqueries ou non ;
— paybots : ces robots diffusent des contenus légitimes, mais via des adresses redirigées à tra-vers des sites rémunérant le trafic généré. Ainsi le créateur du robot est rémunéré au nombre d’utilisateurs suivant son lien, vers un contenu qui ne lui appartient pas ;
— influence bots : la vocation de ces comptes est de propager une information, un point de vue, vis-à-vis d’un problème donné ; les applications incluent des choix sociétaux (par exemple : pour ou contre la vaccination, l’avortement), électoraux (comme la promotion ou le dénigre-ment d’une personnalité politique, d’un parti), ou publicitaires (tel que la promotion ou le dé-nigrement d’une entreprise, d’une industrie).
Les robots ou faux comptes sont aussi appelés comptes sybils, ainsi nommés à cause de la disso-ciation entre les identités revendiquée et réelle. Afin de les identifier automatiquement sur le réseau social chinois Renren, un classifieur SVM entraîné sur 1 000 « sybils » et 1 000 « vrais comptes » atteint une fiabilité de 99% [Yang et al., 2014]. Les données utilisées excluent le texte, se focalisant sur l’usage des fonctionnalités de la plate-forme : taux d’acceptation des requêtes d’amis, séparément selon qu’elles soient émises ou reçues, fréquence d’envoi de requêtes d’amitié (en quantité par heure), et coefficient de clustering dans le graphe constitué par les 50 premiers amis d’un compte. Ce système est tout à fait adapté pour détecter des comportements de spammeurs agressifs, reposant sur l’ajout massif de connexions (amitié).
Une tâche de détection de robots plus subtils, intitulée « DARPA bot challenge », a encouragé des progrès dans la catégorisation des comptes, favorisant l’émergence de bonnes pratiques et d’une liste de caractéristiques d’intérêt, exploitables pour entraîner un classifieur « bot » versus « compte légitime » [Subrahmanian et al., 2016]. Sur un corpus artificiel de 7 038 comptes au format Twit-ter, les participants devaient trouver les influence bots, dont le nombre (40) leur était inconnu. Les caractéristiques choisies par les différents concurrents recouvrent les aspects suivants :
— la syntaxe : nombre de hashtags, d’URLs, de caractères spéciaux ; proportion de messages finissant par un hashtag ou une URL ;
— la sémantique : proportion de messages portant sur un même sujet, sentiment moyen, nombre de langues utilisées ;
— le comportement temporel : évolution du sentiment dans le temps, analyse des écarts tempo-rels entre deux émissions de tweets, nombre moyen de tweets par jour, évolution du nombre d’abonnés ;
— le profil du compte : taux de remplissage du profil, apparence du pseudonyme (présence de tiret bas, réplication de patrons génératifs de pseudonymes), nombre de messages, mentions, etc. ;
— la topologie du réseau : degré du compte dans les graphes d’abonnements, de mentions ; res-semblance d’un sous-réseau avec un réseau aléatoire, suggérant un groupe de robots.
Au cours du challenge, d’une durée de quatre semaines, les modèles mis au point par les équipes ont évolué. Le nombre de caractéristiques différentes prises en compte par l’équipe Sentimetrix, par exemple, est passé de 66, pour le modèle initial, à 175 en fin de défi ; ces informations étaient fournies à un classifieur SVM pour prédire le type de compte : bot, or not.
La meilleure fiabilité obtenue lors du « DARPA bot challenge » résulte de l’exploitation humaine d’une détection d’observations aberrantes (outliers). La méthode complète est la suivante : le jeu de données, où chaque individu est représenté par les caractéristiques retenues, subit tout d’abord une phase de réduction de dimension (méthode NMF, Factorisation Non-négative de Matrice), puis ali-mente un algorithme de clustering qui distingue nettement la foule d’utilisateurs « normaux », des anomalies recherchées. Ainsi se trouve réduite la longueur de la liste des comptes sur lesquels les enquêteurs humains travaillent, vérifiant l’humanité des uns, bannissant les autres.
Distances entre comptes utilisateurs
Une liste de caractéristiques comparable a été élaborée pour une autre fin : l’identification d’un même individu derrière plusieurs comptes, répartis sur plusieurs plate-formes de médias sociaux [Liu et al., 2014]. La méthode n’adresse pas la présence multiple d’un individu sur une même plate-forme. La figure 3.1 illustre leur méthode : une collecte d’informations provenant de plusieurs réseaux so-ciaux différents, occidentaux (Twitter et Facebook) et chinois (Renren et Sina Weibo) pour les princi-paux, vient enrichir des profils multi-aspects. Des modules de comparaison spécifiques (par exemple, pour comparer deux images, qui peuvent être la même photo à différentes résolutions ou cadrages) ali-mentent un score de similarité entre profils, permettant éventuellement de les lier s’ils correspondent à la même identité réelle.
FIGURE 3.1 – Comparaison de profils issus de plate-formes différentes, selon [Liu et al., 2014]
Ce système porte plus sur le stockage et l’élaboration et adaptation de comparateurs pour chacune des modalités (profils, photos, textes, trajectoires) à travers des réseaux sociaux différents, dont les schémas de données divergent. Cette adaptation n’a rien de trivial : les images, textes et informa-tions diverses ne sont pas structurées de la même façon et ne sont pas forcément présents de façon équilibrée sur les plate-formes numériques observées. Enfin, la pondération des scores des différents comparateurs permet d’atteindre le but recherché : par exemple, la comparaison des images suggère une proximité entre deux comptes ; ce signal est renforcé par les similarités dans les informations de profils, et permet au classifieur de statuer.
Certaines pages de l’encyclopédie Wikipedia sont sujettes à des modifications malicieuses, ne reflétant pas la réalité. Afin de faciliter la tâche des modérateurs du site, un modèle de classifica-tion détermine si un compte est sybil ou non. Cependant, les modes d’attaque actuels reposent sur des identités multiples qui effectuent de manière anodine les changements. Visant à regrouper les faux comptes manipulés par un même individu (dits sockpuppets, poupées de chiffon), le système SocksCatch construit un graphe bipartite (éditeurs, pages) ; une distance est proposée entre les nœuds, prenant en compte la similarité des actions d’édition des pages, et leur proximité dans le temps [Ya-mak et al., 2018].
Dans ces travaux, nous avons vu comment se structurent les modèles représentant globalement les comptes utilisateurs ; nous nous penchons plus en détail dans le paragraphe suivant sur la gestion des informations temporelles.

Travaux sur la dynamique du comportement

La dynamique du comportement apporte des informations déterminantes pour caractériser le com-portement. Elle peut être représentée comme l’histogramme de l’activité du compte, décrivant la quan-tité d’actions et modifications accomplies heure par heure sur une journée, ou sur une semaine [Liu et al., 2010]. Ainsi, sur le site Google Actualités, le nombre de clics par mois pour chacune des ru-briques est compté, d’où s’obtient un vecteur de fréquence dont les dimensions sont les rubriques. Ce vecteur représente, pour un mois donné, les préférences d’un utilisateur et permet d’en visualiser l’évolution sur une année, et de les agréger au niveau national par exemple. Les auteurs constatent des écarts significatifs sur les distances entre profils selon le pays affiché : les habitudes de navigation de la population de chaque pays ne sont pas homogènes, mais diffèrent nettement de celles du pays voisin.
Un tel modèle, combinant thématique et temporalité, auxquelles s’ajoute la dimension spatiale (combinant donc contenus, date d’émission, lieu d’émission), a été proposé pour tirer parti des ré-seaux sociaux géographiques tels que FourSquare et Loopt (location-based social networks). Sur ces plate-formes, les utilisateurs signalent leurs entrées dans des lieux d’intérêt : musées, parcs, restau-rants, bureaux, plus rarement le domicile. Les auteurs développent un système de recommandation des lieux d’intérêt, correspondant au mieux aux préférences thématiques de l’utilisateur, mais aussi au moment de la requête dans la journée, dans la semaine, ainsi qu’à l’éloignement du domicile (ce qui différencie les vacances de la routine) [Yin et al., 2016].
Plus la granularité est fine, et plus le stockage nécessaire est important, ce qui devient probléma-tique lorsque l’analyse porte sur une grande population. Plutôt que de se limiter aux heures exactes, il peut être pertinent de ne diviser la journée qu’en 4 périodes, ce qui suffit à prédire l’activité d’un compte et détecter d’éventuelles anomalies. Cette affirmation provient d’une analyse de Twitter où quatre types d’actions sont répertoriées :
— posting : émission d’un message, tweet ;
— forwarding : transfert d’un message, c’est-à-dire retweet ;
— liking : marquage d’une publication comme « aimée », anciennement « favorite » ;
— replying : publication d’une réponse envers un message original posté par un tiers.
Le modèle ne compte que les actions de posting, dont le sujet (présence de mots-clés définis a priori) et le sentiment sont extraits automatiquement. La constitution de tels profils, par l’étude
d’une population (les comptes interagissant avec une personnalité politique), fournit des probabilités d’enchaînement d’actions vraisemblables pour un système multi-agents simulant Twitter [Gatti et al., 2013].
Afin de prédire les périodes d’activité des comptes, une modélisation par des chaînes de Markov cachées utilise les observations (actions émises par le compte, actions reçues) pour déterminer l’état : actif (connecté) ou non [Raghavan et al., 2014]. Un jeu de données réelles permet d’apprendre des paramètres, plus précisément des ratios :
— p1 représente la propension d’un compte à réagir aux mentions le concernant (qui incluent les
p0
retweets et les réponses) :
— p1 est la probabilité que l’utilisateur s’active, sachant qu’il a été mentionné dans l’inter-valle de temps précédent ;
— p0 est la probabilité que l’utilisateur ne s’active pas, sachant qu’il a été mentionné dans l’intervalle de temps précédent ;
— °1 correspond à la capacité d’un compte à rendre actif ses voisins :
°0
— °1 est la probabilité que l’entourage d’un utilisateur s’active, sachant que lui-même est actif ;
— °0 est la probabilité que l’entourage d’un utilisateur s’active, sachant que lui-même n’est pas actif.
La figure 3.2, issue de [Raghavan et al., 2014], illustre la distribution de comptes réels. Les lignes en vert pointillé ne présagent pas du modèle utilisé, elles ne servent qu’à clarifier la séparation entre les clusters. Les auteurs en déduisent un découpage en trois catégories de comptes :
1. le cluster 1, autour de (1 ;1), en noir : il représente une majorité de comptes, qui reçoivent et réémettent sans déséquilibre :
2. le cluster 2, en bleu, vers la droite de la figure : ces comptes s’activent lorsqu’ils sont mention-nés par leurs contacts ;
3. le cluster 3, en rouge : ces comptes déclenchent l’activité de leurs abonnés.
La présence d’une tendance temporelle cyclique, à prendre en compte dans la représentation de l’activité d’un compte au long d’une journée est attestée [Yuan et al., 2013], résultant en des patrons, par exemple des profils moyens d’activité. Les données, issues de réseaux sociaux géographiques (chaque contenu publié est associé à des coordonnées GPS), sont représentées sous la forme d’un cube « UTP », pour Utilisateur – Temps – Point d’intérêt. Chaque élément cu,t , p du cube vaut 1 si l’utilisateur u est présent au point p durant l’heure t .
Ce cube est alors stocké sous la forme d’une matrice creuse ; cependant il permet aussi de récupé-rer rapidement les fréquentations usuelles selon chacun des axes. À une heure donnée, où se trouvent les utilisateurs ? Quelle est la quantité de personnes présentes dans le lieu p au fil de la journée ? Comment u organise-t-il sa journée ? De plus, une fonction est proposée pour calculer la similarité de deux lieux, et de deux comptes, ce qui aide à améliorer un système de recommandation : il s’agit de la similarité de cosinus (cosine similarity), qui compte la proportion de lieux identiques visités par deux comptes, par rapport au produit du nombre de lieux visités par chacun des deux comptes. Pour ce faire, les lieux sont vus comme des mots, l’ensemble de l’activité d’un utilisateur constituant un document : la dimension P ressemble alors à un vecteur de fréquences de termes. La comparaison entre deux utilisateurs nécessite un vocabulaire commun, aussi les comparaisons se font à l’intérieur d’une même ville.
Cette similarité permet de positionner les signaux personnels les uns en fonction des autres, et ainsi d’en extraire des groupes de comportement similaires, qu’il s’agisse de groupes d’individus ou de groupes de lieux.
36 Copyright ©2018 – AIRBUS DEFENCE AND SPACE SAS – INSA Rouen Normandie – Tous droits réservés.
CHAPITRE 3. ÉTUDE DES COMPTES UTILISATEURS
FIGURE 3.2 – Catégorisation non supervisée de comptes selon leurs réactions temporelles [Raghavan et al., 2014]

Discussion sur la construction de profils-utilisateurs

La revue de ces travaux clarifie les diverses implémentations de la notion de profil : il s’agit d’une structure de données, associée à une distance, et en conséquence à un calcul de similarité. Nous avons parcouru les grandes approches de mesure des actions individuelles, débouchant sur la constitution de profils comportementaux. Les caractéristiques retenues dépendent de l’application visée ; notons que pour un même problème (par exemple, la détection de robots), ces listes évoluent. D’une part, parce que les plate-formes évoluent, ouvrant et fermant de nouvelles fonctionnalités et contrôles ; d’autre part, parce que l’application évolue (les robots de 2018 ne sont pas les mêmes que ceux de 2008).
Dans la section suivante, nous abordons la notion d’influence : plutôt que de regrouper toutes les informations disponibles sur un compte, il s’agit « uniquement » d’évaluer son importance. En effet, sur un réseau social numérique, chacun a droit à la parole. Pourtant, tous n’ont pas le même impact, et certains comptes occupent une place centrale dans le débat : ils sont appelés les acteurs-clés. En section 3.2, nous commençons par définir l’influence, puis nous nous penchons sur un premier type d’acteurs-clés : ceux dont le rôle est prépondérant dans la diffusion de l’information.

Influence dans un modèle de diffusion de l’information

Le dynamisme des échanges et la quantité d’émetteurs de messages dans les réseaux sociaux numériques rend nécessaire l’utilisation d’outils pour déterminer les acteurs influents, parfois appelés acteurs-clés : il s’agit de ceux qui initient la propagation d’une information ou d’une opinion, qui occupent un rôle crucial dans leurs (non-)propagations. La recherche d’acteurs-clés dans un réseau social nous mène naturellement à la notion d’influence, qui couvre plusieurs facettes en définition 3.2.1.

Table des matières

Table des matières
Liste des figures
Liste des tableaux
1 Introduction
1.1 Contexte : les réseaux sociaux numériques
1.1.1 L’essor du Web social
1.1.2 Intérêt économique .
1.1.3 Intérêt dans le domaine de la défense et de la sécurité : manipulation
1.2 Objectif : comprendre l’espace médiatique
1.2.1 Détecter les opinions présentes dans les messages.
1.2.2 Identifier et caractériser les acteurs-clés .
1.2.3 Identifier et caractériser les communautés thématiques .
1.2.4 Application aux médias sociaux
1.3 Organisation du document.
I État de l’art
2 Analyse du sentiment, détection de l’opinion
2.1 Définitions de l’émotion, du sentiment, de l’opinion et de la posture.
2.1.1 Émotion .
2.1.2 Sentiment
2.1.3 Opinion.
2.1.4 Posture, attitude
2.1.5 Liens entre émotion, sentiment, opinion et posture .
2.1.6 Les caractéristiques particulières des sociolectes.
2.2 Chaîne de traitement usuelle
2.2.1 Normalisation
2.2.2 Tokenisation .
2.2.3 Analyse morpho-syntaxique et lemmatisation
2.2.4 Projection du texte vers un autre espace .
2.2.5 Bag of Words, fréquences et tf.idf .
2.3 Analyse du sentiment basée sur des ressources.
2.3.1 Principe.
2.3.2 Les principales ressources linguistiques en anglais
2.3.3 Exploitation de ressources par des règles
2.4 Analyse du sentiment basée sur les approches statistiques .
2.4.1 Catégorisation par apprentissage sur un corpus.
2.4.2 Méthodes hybrides
2.5 Détection de l’opinion, de la posture .
2.5.1 Détection de la cible et de l’expression de l’opinion .
2.5.2 Classification d’opinion : au-delà de la cible, la posture
2.6 Synthèse sur l’analyse de sentiment et l’extraction d’opinion .
3 Étude des comptes utilisateurs
3.1 Construction d’un profil de comportement
3.1.1 Profil psychologique .
3.1.2 Profil des thématiques abordées par un compte.
3.1.3 Détection de robots
3.1.4 Distances entre comptes utilisateurs
3.1.5 Travaux sur la dynamique du comportement
3.1.6 Discussion sur la construction de profils-utilisateurs .
3.2 Influence dans un modèle de diffusion de l’information.
3.2.1 Modèles de diffusion d’information dans les réseaux sociaux
3.2.2 Influenceurs dans un modèle de diffusion .
3.2.3 Limites des modèles de diffusion
3.3 L’influence comme position de confiance
3.3.1 Graphes de confiance .
3.3.2 Versions améliorées de la confiance
3.3.3 Limites de l’approche par confiance
3.4 Réputation et position sociale .
3.4.1 Indicateurs topologiques : centralités, PageRank .
3.4.2 Classification non-supervisée des positions dans le réseau : le rôle
3.4.3 Statistiques liées à l’implémentation du réseau social numérique
3.4.4 Limites de la réputation
3.5 Synthèse et discussion sur l’analyse des comptes utilisateurs .
4 Détection de communautés par l’analyse de graphes relationnels
4.1 Notion de communauté.
4.1.1 En analyse de médias sociaux
4.1.2 En analyse de réseaux .
4.1.3 Partitions et couvertures
4.2 Mesures d’évaluation et de comparaison de communautés
4.2.1 Mesures topologiques .
4.2.2 Mesures de comparaison de deux ensembles de communautés .
4.3 Algorithmes de détection de communautés
4.3.1 Partitionnement de graphe.
4.3.2 Couvertures : appartenance multiple à des communautés
4.3.3 Synthèse des algorithmes de détection de communautés
4.4 Applications à des réseaux sociaux numériques .
4.4.1 Approches classiques .
4.4.2 Approches hybrides
4.4.3 Exemples d’utilisation : détection d’événement, de thématique, d’oppositions
4.5 Synthèse de la détection et analyse de communautés
II Contributions théoriques
5 La contextonymie pour détecter la posture dans le tweet
5.1 Détection de posture dans des tweets .
5.1.1 Description du problème
5.1.2 Approche proposée pour la détection de posture.
5.2 Les difficultés des dictionnaires de sentiment pour traiter les tweets .
5.2.1 Définitions pour la détection de posture dans un tweet
5.2.2 Approches classiques de détection de posture
5.2.3 Présentation de la difficulté des sociolectes
5.3 Contextonymes et contextosets
5.3.1 Définitions .
5.3.2 Construction d’une ressource linguistique .
5.4 Description des contextosets issus de tweets.
5.4.1 Détails de l’implémentation .
5.4.2 Le corpus GenTweets .
5.4.3 Aperçu de la co-occurrence .
5.4.4 Comparaison avec Word2Vec et Wordnet .
5.5 Évaluation des contextosets pour la détection de posture .
5.5.1 Le corpus SemEval
5.5.2 Exploitation des contextosets pour améliorer la détection de posture.
5.5.3 Mesures d’évaluation .
5.5.4 Résultats
5.6 Discussion
5.7 Synthèse .
6 Caractérisation des acteurs-clés : scores, profils et rôles
6.1 Caractérisation d’un compte influenceur .
6.1.1 Fonctionnalités liées à l’analyse des comptes
6.1.2 Trois axes de représentation de l’utilisateur
6.1.3 Quantité et qualité de la collecte des données nécessaires.
6.2 Construction d’un exemple à vocation illustrative : CinéTweets
6.2.1 Les messages
6.2.2 Les utilisateurs
6.3 Mesure de l’influence de l’utilisateur .
6.3.1 Transformation d’indicateurs connus.
6.3.2 L’influence comme position centrale dans le réseau
6.3.3 Application à l’exemple CinéTweets.
6.3.4 Discussion sur l’influence.
6.4 Caractérisation du comportement par le profil-type .
6.4.1 Construction de Profils
6.4.2 Profils-types
6.5 Caractérisation de la position par le rôle .
6.5.1 Un algorithme de détection de rôles-types : RolX .
6.5.2 Expérience sur l’exemple CinéTweets.
6.5.3 Discussion sur le rôle .
6.6 Synthèse .
7 Détection et caractérisation de groupes d’utilisateurs
7.1 Analyse de structures sociales émergentes
7.2 Modélisation du réseau social
7.2.1 Éléments informatifs de source
7.2.2 Modèles de représentation d’un réseau social.
7.2.3 Détection de groupes : partitions et couvertures .
7.2.4 Mesures topologiques de qualité des communautés .
7.2.5 Extraction de la thématique des textes
7.3 Mesures de la cohésion sémantique d’un groupe .
7.3.1 Scores de relation entre thématiques et groupes .
7.3.2 Cohésion considérant une similarité entre thématiques
7.3.3 Score de pertinence thématique d’un groupe
7.3.4 Synthèse des mesures introduites
7.4 Illustration par un exemple artificiel : ArtsTweets .
7.5 Discussion sur les communautés.
7.5.1 Limites de la représentation en graphes
7.5.2 Limites des mesures de cohésion
7.6 Synthèse
III Évaluation du système
8 Le système SARTN
8.1 Vue d’ensemble des fonctionnalités
8.2 La chaîne de traitement, brique à brique
8.2.1 Collecte des données
8.2.2 Extraction d’informations : relations et contenus
8.2.3 Analyse des données textuelles
8.2.4 Analyse des comptes utilisateurs
8.2.5 Construction de graphes et obtention de groupes d’influence .
8.3 Détails d’implémentation technique
8.4 Synthèse
9 Étude de cas sur deux réseaux sociaux numériques
9.1 Critères d’évaluation
9.2 Application à Twitter
9.2.1 Description du corpus KevRandTweets
9.2.2 Analyse du texte : répartitions entre thématiques et sentiments
9.2.3 Représentation du réseau social par des graphes .
9.2.4 Comptes influents et types de comportement
9.2.5 Détection et caractérisation des communautés.
9.2.6 Synthèse de l’étude de KevRandTweets
9.3 Application à Galaxy2.
9.3.1 Présentation de Galaxy2.
9.3.2 Analyse du texte : répartitions entre thématiques et sentiments
9.3.3 Représentation du réseau social par des graphes .
9.3.4 Comptes influents et types de comportement
9.3.5 Détection et caractérisation des communautés.
9.3.6 Conclusion de l’application à Galaxy2
9.4 Synthèse de l’évaluation .
IV Conclusion et perspectives
10 Conclusion et perspectives
10.1 Synthèse sur les contributions
10.2 Pistes d’amélioration des contributions
10.3 Travaux futurs et axes d’ouverture
10.3.1 Perspectives d’utilisation des fonctionnalités de SARTN
10.3.2 Axes d’ouverture.
V Annexes
A Liste des publications
B Annexes techniques à propos des implémentations
B.1 Mots-clés pour le corpus GenTweets.
B.2 Données complètes de l’exemple ArtsTweets
B.3 Galaxy2 : les raisons de la rupture
B.4 Description des dimensions de l’ACP sur Galaxy2
Bibliographie

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *