🧠Analyser des données
Créer une analyse NLP approfondie sur une importation : chunking, vectorisation, lemmatisation, sentiment, topic mining, coordination et annotation.
Créer une analyse
Objectif
Créer l'objet analyse qui sert de conteneur à tous les traitements avancés appliqués à une importation.
Prérequis
- Avoir créé et collecté des données sur une importation.
Étapes
- 1
Dans la barre latérale, ouvrez Analyser des données et cliquez sur Créer une analyse.
- 2
Sélectionnez le client et le projet concernés.
- 3
Renseignez les champs du formulaire :
Champ Description Exemple Nom Identifiant lisible de l'analyse. Choisissez un nom décrivant le traitement ou la période. Analyse sentiment Q1 2025 Type d'analyse Type d'analyse à réaliser sur l'importation : clustering, classification_llm, coordination, narrative_filtering. Clustering - 4
Cliquez sur Créer. Un `analyse_id` est généré et l'analyse apparaît dans l'onglet Analyses du dashboard.
✓ Résultat attendu
L'analyse est créée. Vous pouvez maintenant passer à l'étape de chunking ou lancer un pipeline.
Chunking
Objectif
Préparer les documents à analyser. Cette étape consiste à créer un "dataset d'analyse" (sous-ensemble des données disponibles dans l'importation). Un formatage des données peut être paramétré, tel que le découpage des documents longs en chunks (segments) de taille contrôlée, nécessaire avant la vectorisation.
Prérequis
- Avoir créé une analyse liée à une importation collectée.
Étapes
- 1
Dans Analyser des données, cliquez sur Chunking.
- 2
Sélectionnez le Client, le Projet, l'Importation et l'Analyse.
- 3
Sélectionnez les données à inclure dans le dataset d'analyse en appliquant des filtres sur le type de post, la période de publication ou la langue des posts.
- 4
(recommandé) : pour les textes longs (Linkedin, Facebook, Telegram, articles de presse, transcripts vidéo...), activez le Sentence splitting. Pour les textes courts (X, TikTok, Youtube...), une copie simple suffit.
- 5
Sélectionnez le texte à préparer : le texte original ou traduit.
- 6
Configurez les paramètres de découpe :
Champ Description Exemple Phrase par chunk Taille des segments, généralement entre 3 et 5 phrases. Une valeur trop petite fragmente trop le sens ; trop grande, elle dépasse la fenêtre du modèle de vectorisation. 3 Nombre de chunks max par post Nombre maximum de chunks à créer par post. Permet de limiter la taille du dataset d'analyse. 50 Taille minimale d'un chunk Taille minimale d'un chunk en nombre de caractères. Permet de s'assurer que chaque chunk contient suffisamment de contenu pour être analysé. 10 - 7
(facultatif) Planifiez une exécution régulière du chunking pour préparer les nouveaux documents collectés.
- 8
Cliquez sur Lancer.
✓ Résultat attendu
Chaque document est découpé en chunks stockés dans GCS. Le nombre de chunks créés est visible dans le détail de l'analyse.
Vectorisation
Objectif
Transformer les chunks textuels en vecteurs numériques (embeddings) pour permettre la recherche sémantique et le clustering.
Prérequis
- Avoir créé une analyse avec des données collectées.
- Pour les textes : avoir effectué le chunking sur l'analyse.
- Pour les images : pas besoin d'effectuer le chunking.
Étapes
- 1
Dans Analyser des données, cliquez sur Vectorisation.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Sélectionnez le type de données à vectoriser : texte ou image.
- 4
Choisissez le Modèle de vectorisation :
Champ Description Exemple paraphrase-multilingual-MiniLM-L12-v2 Modèle CPU multilingue. Recommandé pour la réalisation des topic modeling sur des corpus francophone ou multilingue. Topic Modeling de corpus francophone ou multilingue all-MiniLM-L6-v2 Modèle CPU. Recommandé pour la réalisation des topic modeling sur des corpus anglophones. Topic Modeling anglais all-mpnet-base-v2 Modèle CPU très léger. Recommandé pour la réalisation des topic modeling sur des corpus anglophones. Topic Modeling anglais opsci/Jinav3_SUPCON Modèle GPU. Recommandé pour la réalisation de Narrative Filtering. Narrative Filtering - multilingue jina-embeddings-v3 Modèle GPU - multilingue. Recommandé pour la réalisation d'un topic modeling multilingue ou analyse de coordination. Topic modeling - Coordination CLIP-ViT-H-14-laion2B-s32B-b79K Modèle GPU. Modèle multimodal sémantique. Vectorisation des images / clustering sémantique dinov2-large Modèle GPU. Modèle de vectorisation des images. Vectorisation des images / clustering visuel - 5
(facultatif) Planifiez une exécution régulière de la vectorisation pour traiter les nouveaux chunks créés.
- 6
Cliquez sur Lancer.
✓ Résultat attendu
Chaque chunk est représenté par un vecteur dense stocké dans la base vectorielle de l'analyse. Les recherches sémantiques et le clustering sont désormais possibles.
Lemmatisation
Objectif
Réduire chaque mot à sa forme canonique (lemme) pour normaliser le vocabulaire avant les analyses statistiques.
Prérequis
- Avoir créé une analyse avec des données collectées.
- Avoir réalisé de chunking
Étapes
- 1
Dans Analyser des données, cliquez sur Lemmatisation.
- 2
Sélectionnez le Client, le Projet et l'Analyse cibles.
- 3
Sélectionnez le modèle approprié à utiliser pour la lemmatisation (en fonction de la langue).
- 4
Définissez les types de mots à conserver et les mots à exclures (stop words) pour affiner les résultats.
- 5
Cliquez sur Lancer.
✓ Résultat attendu
Un champ 'lemmatized_text' est ajouté aux chunks. Ce champ est utilisé par le topic mining et les analyses de fréquence.
Sentiment
Objectif
Calculer le score de sentiment (positif / négatif / neutre) de chaque document de l'analyse.
Prérequis
- Avoir créé une analyse avec des données collectées.
- Avoir réalisé de chunking
Étapes
- 1
Dans Analyser des données, cliquez sur Sentiment.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Sélectionnez un modèle d'analyse de sentiment.
- 4
(facultatif) Planifier une exécution régulière de l'analyse de sentiment pour traiter les nouveaux chunks.
- 5
Cliquez sur Lancer.
✓ Résultat attendu
Chaque document se voit attribuer un score de sentiment (entre -1 et +1) et un label (`positive`, `negative`, `neutral`). Ces champs sont exportables dans les rapports CSV.
Narrative Filtering
Objectif
Filtrer les documents selon leur proximité sémantique avec un ensemble de narratifs définis, pour ne conserver que les contenus pertinents.
Prérequis
- Avoir créé une analyse avec des données collectées.
- Avoir effectué le chunking.
- Avoir effectué la vectorisation sur l'analys en utilisant le modèle JINAv3_SUPCON.
- Avoir défini au moins un narratif dans la base de narratifs.
Étapes
- 1
Dans Analyser des données, cliquez sur Narrative Filtering.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Sélectionnez les sujets / narratifs / claims que vous souhaitez utiliser comme référence.
- 4
(facultatif) Filtrer les chunks par date d'indexation.
- 5
Configurez le Seuil de similarité :
Champ Description Exemple Seuil (0–1) Score cosinus minimal pour qu'un document soit conservé. Plus le seuil est élevé, plus les documents retenus sont proches des narratifs. Valeur recommandée : 0.7 0.7 top_k Nombre de documents les plus similaires à conserver pour chaque narratif. Valeur recommandée entre 3 et 5 3 - 6
(recommandé) Activer le reranker pour affiner les résultats.
- 7
Cliquez sur Lancer.
✓ Résultat attendu
Seuls les documents dépassant le seuil de similarité sont conservés dans l'analyse filtrée. Le reranker fait office de juge pour déterminer les narratifs les plus pertinents.
Coordination
Objectif
Détecter les comportements coordonnés entre comptes (publication simultanée de contenus similaires) qui peuvent indiquer de l'astroturfing ou des campagnes orchestrées.
Prérequis
- Avoir effectué la vectorisation sur l'analyse.
Étapes
- 1
Dans Analyser des données, cliquez sur Coordination.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Configurez les paramètres :
Champ Description Exemple Fenêtre temporelle Utilisé pour la prédiction de nouveaux points - Intervalle de temps (en jours) dans lequel deux publications similaires sont considérées comme coordonnées. 7 Seuil de similarité Score cosinus minimal entre deux documents pour qu'ils soient considérés comme similaires. 0.85 Seuil de pondération temporelle Intervalle de temps dans lequel deux publications similaires sont considérées comme coordonnées. 0.85 Décroissance temporelle Pénalité de décroissance appliqué aux scores de similarité en fonction du temps écoulé entre deux publications. 0.1 - 4
(facultatif) - pour prédire de nouveaux points (ex : mise à jour d'une analyse de coordination déjà existante), activez le mode incrémental. Le seuil de pondération temporelle correspond à un intervalle de temps dans lequel deux publications similaires sont considérées comme coordonnées.
- 5
Cliquez sur Lancer.
✓ Résultat attendu
Les données de coordination sont insérées en base. Un graphe de coordination peut être produit.
Réseaux de coordination
Objectif
Produire un network graph représentant les coordinations entre comptes et reprises de contenus similaires.
Prérequis
- Avoir réalisé le calcul de coordination.
Étapes
- 1
Dans Analyser des données, cliquez sur Coordination.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Sélectionnez les posts à inclure dans le graphe : période, type de posts.
- 4
Ajuster le score de coordination minimum - plus la valeur est élevée, plus seules les coordinations fortes sont conservées. Augmentez la valeur pour filtrer le bruit ou être plus restrictif par rapport à la similarité des messages.
coordination_score = similarity × coverage
similarity (cosine moyen) : entre 0 et 1 — mesure à quel point le contenu des deux documents est sémantiquement proche
coverage : entre 0 et 1 — proportion de chunks qui ont trouvé un match : (chunks_matchés_A + chunks_matchés_B) / (total_chunks_A + total_chunks_B) - 5
Configurez le(s) réseau(x) à produire via les trois sections ci-dessous.
Référence des champs — Configuration réseau
Champ Description Exemple period Granularité temporelle des graphes produits. `static` = un seul graphe global ; les autres valeurs produisent un graphe par tranche de temps. static, day, week network_type Types de relations à modéliser : coordination entre posts ou entre comptes. Chaque type produit un fichier de graphe séparé. similarity_posts, similarity_accounts threshold_attribute Attribut de nœud utilisé pour le filtrage par seuil. degree threshold Valeur minimale de `threshold_attribute` pour qu'un nœud soit conservé dans le graphe. 1 max_nodes Nombre maximal de nœuds conservés dans le graphe final (les nœuds les plus importants sont gardés). 5000 n_composantes Nombre de composantes connexes à conserver. Entier = N composantes, décimal 0–1 = percentile de taille, vide = toutes. 1.0 min_nodes_composantes Taille minimale d'une composante connexe pour être incluse. 3 modularity_resolution Résolution de l'algorithme de détection de communautés (Louvain). Plus élevée = communautés plus petites et nombreuses. 1.0 mutual_relationships Si activé, conserve uniquement les paires avec interactions mutuelles → réseau non directionnel. false compute_dynamic_metrics Calcule les métriques de centralité à chaque période temporelle. Désactiver accélère le traitement. true dynamic_nodes True = nœuds et liens varient par période. False = nœuds fixes, seuls les liens changent. true dynamic_filtering True = filtre les N nœuds les plus importants à chaque période. False = filtre calculé sur l'ensemble des données. true Référence des champs — Métriques
Champ Description Exemple degree Nombre total de liens d'un nœud (entrant + sortant). — in_degree Nombre de liens entrants (mentions reçues, réponses reçues…). — out_degree Nombre de liens sortants (mentions émises, réponses émises…). — degree_centrality Centralité de degré normalisée : part du degree total du nœud dans le réseau. — in_degree_centrality Centralité de degré entrant normalisée. — out_degree_centrality Centralité de degré sortant normalisée. — betweenness_centrality Fréquence à laquelle un nœud se trouve sur le chemin le plus court entre deux autres nœuds. Mesure le rôle de pont d'un compte. — eigenvector_centrality Centralité de vecteur propre : un nœud est influent s'il est connecté à d'autres nœuds influents. — Référence des champs — Visualisation (Sigma)
Champ Description Exemple node_color Attribut de nœud utilisé pour la couleur (ex : modularity = couleur par communauté). modularity node_size / node_size_range Attribut pilotant la taille des nœuds, et plage [min, max] en pixels. in_degree · [2, 15] node_label / node_label_size Attribut affiché comme label, et taille fixe ou variable (None = taille fixe définie par `default_node_label_size`). label · 12 node_border_color_from Source de la couleur de bordure du nœud (`node` = même couleur que le nœud, `None` = pas de bordure colorée). node node_halo_size Attribut pour la taille du halo autour du nœud. `None` = pas de halo. none edge_color / default_edge_color Attribut pilotant la couleur des arêtes, ou couleur hexadécimale fixe si `edge_color` = None. none · #e1e1e1 default_edge_type Forme des arêtes dans la visualisation Sigma. arrow / rectangle / line / curve / triangle edge_size / edge_size_range Attribut pilotant l'épaisseur des arêtes, et plage [min, max] en pixels. weight · [1, 15] background_color Couleur de fond de la visualisation. white start_layout Durée en secondes du calcul de layout ForceAtlas2 avant arrêt automatique. 10.0 label_density Nombre de labels affichés par cellule de grille. Réduire pour alléger l'affichage. 1 barnesHutTheta / barnesHutOptimize Paramètres de l'optimisation Barnes-Hut pour la répulsion (O(n·log n)). Theta ≈ 1.0 = rapide. 1.5 · true gravity / scalingRatio Attraction vers le centre et échelle globale du layout. scalingRatio élevé = nœuds plus espacés. 1.5 · 500 linLogMode Active le modèle LinLog de Noack, qui favorise la séparation visuelle des communautés. true strongGravityMode Active une gravité linéaire qui attire les composantes isolées vers le centre. true - 6
Cliquez sur Lancer.
✓ Résultat attendu
Un fichier de network graph est disponible sur GCS.
Clustering
Objectif
Regrouper automatiquement les documents de l'analyse en clusters thématiques cohérents.
Prérequis
- Avoir effectué le chunking.
- Avoir effectué la vectorisation.
- Avoir effectué la lemmatisation.
- Avoir effectué l'analyse de sentiment.
Étapes
- 1
Dans Analyser des données, cliquez sur Clustering.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Définissez le type de données à analyser : le texte des posts, les images, les transcripts de vidéo
- 4
Définissez si tous les posts doivent être classés, ou si du bruit est accepté (posts considérés comme "inclassables")
- 5
(facultatif) Ajustez les paramètres avancés du clustering :
Champ Description Exemple Longueur min. du texte Nombre de caractères minimum pour considérer les textes à classer. 90 Pourcentage de hashtags max Proportion de hashtags 4 Pourcentage de mentions max Proportion de mentions 4 n_neighbors UMAP - nombre de voisins 15 n_epochs UMAP - nombre d'epochs 2500 learning_rate UMAP - learning_rate 0.5 spread UMAP - spread 1.0 min_dist UMAP - min_dist 0.0 metric_umap UMAP - metric cosine random_state Etat aléatoire 42 min_cluster_size HDBSCAN - min_cluster_size None min_samples HDBSCAN - min_samples 6 cluster_method_selection HDBSCAN - cluster_method_selection eom metric_hdbscan HDBSCAN - metrique de distance euclidean - 6
Cliquez sur Lancer.
✓ Résultat attendu
Les documents sont regroupés en clusters. Chaque document se voit assigner un `cluster_id`. Les clusters sont annotables depuis la section Annoter des clusters.
Annoter des clusters
Objectif
Attribuer automatiquement, à l'aide d'un LLM, un label thématique à chaque cluster produit par le clustering pour faciliter l'interprétation.
Prérequis
- Avoir effectué le chunking.
- Avoir effectué la vectorisation.
- Avoir effectué la lemmatisation.
- Avoir effectué l'analyse de sentiment.
- Avoir lancé un clustering sur l'analyse.
Étapes
- 1
Dans Analyser des données, cliquez sur Annotation des clusters.
- 2
Sélectionnez le Client, le Projet et l'Analyse.
- 3
Sélectionnez le type de données que l'on souhaite annoter : texte ou image
- 4
Sélectionnez un template de prompt ou personnalisez le prompt pour l'annotation
- 5
Cliquez sur Enregistrer après avoir annoté tous les clusters.
✓ Résultat attendu
Chaque cluster dispose d'un label lisible. Ces labels sont inclus dans les exports CSV et les rapports.