SDS Manager
Documentation
Documentation/Préparer des documents

🔧Préparer des documents

Enrichir les données brutes collectées avec des traitements NLP légers : langue, traduction, NER, réseaux d'interaction.

Détecter la langue

Objectif

Détecter automatiquement la langue des posts de l'importation pour permettre des traitements adaptés (traduction, analyse, etc.).

Prérequis

  • Avoir collecté des données sur une importation.

Étapes

  1. 1

    Dans la barre latérale, ouvrez Préparer des documents puis cliquez sur Détection de langue.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation cible.

  3. 3

    (facultatif) Filtrez les posts par période.

  4. 4

    (facultatif) Des paramètres avancés peuvent être configurés pour optimiser le temps de traitement ou forcer la détection sur des posts disposant déjà d'une langue détectée.

  5. 5

    (facultatif) Planifiez une exécution récurrente pour maintenir à jour la langue détectée sur les nouveaux documents.

  6. 6

    Cliquez sur Lancer pour déclencher la détection.

✓ Résultat attendu

Chaque document de l'importation se voit attribuer un code de langue ISO 639-1 (ex : `fr`, `en`, `es`). Ce champ est utilisé par les étapes de traduction et d'analyse.

Erreurs fréquentes

ErreurCause probableSolution
Résultat incohérent sur des textes très courtsLes textes de moins de 20 caractères sont difficiles à détecter de façon fiable.Considérez ces cas comme du bruit et filtrez-les manuellement si nécessaire.

Traduction

Objectif

Traduire les documents de l'importation vers une langue cible pour homogénéiser le corpus avant analyse.

Prérequis

  • Avoir collecté des données.

Étapes

  1. 1

    Dans Préparer des documents, cliquez sur Traduction.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation.

  3. 3

    Sélectionnez le type de données sur lequel vous souhaitez appliquer la traduction : le texte du post, le texte détecté dans les images (OCR), le transcript vidéo (vidéo).

  4. 4

    Choisissez la Langue cible de traduction.

    ChampDescriptionExemple
    Langue cibleLangue vers laquelle tous les documents seront traduits. En général on traduit vers `fr` ou `en` pour homogénéiser le corpus.fr
  5. 5

    (recommandé) si vous connaissez la langue d'origine de vos documents, utilisez le champ "Langue source".

  6. 6

    (facultatif) Configurez des paramètres avancés pour filtrer les posts par date de publication ou écraser les traductions existantes.

  7. 7

    (facultatif) Planifier une exécution récurrente pour traduire automatiquement les nouveaux documents à mesure qu'ils sont collectés.

  8. 8

    Cliquez sur Lancer.

✓ Résultat attendu

Un champ `text_fr` / `text_en` / `text_ru` est ajouté à chaque document avec le texte traduit dans la langue cible.

Erreurs fréquentes

ErreurCause probableSolution
Certains documents ne sont pas traduitsLes documents déjà dans la langue cible sont laissés inchangés par souci d'efficacité.C'est un comportement normal. Vérifiez avec le champ de langue détectée.

NER (entités nommées)

Objectif

Extraire automatiquement les entités nommées (personnes, organisations, lieux) des documents pour enrichir le corpus.

Prérequis

  • Avoir collecté des données sur l'importation.

Étapes

  1. 1

    Dans Préparer des documents, cliquez sur NER.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation.

  3. 3

    Sélectionnez un modèle de NER adapté à votre besoin (monolingue ou multilingue).

  4. 4

    Sélectionnez le texte sur lequel vous souhaitez appliquer le modèle NER : le texte original ou le document traduit.

  5. 5

    Définissez les entitées à extraire (personnes, organisations, lieux, etc.).

  6. 6

    (facultatif) Configurez des paramètres avancés pour filtrer les posts par date de publication.

  7. 7

    (facultatif) Planifiez une exécution récurrente pour maintenir à jour les entités extraites sur les nouveaux documents.

  8. 8

    Cliquez sur Lancer.

✓ Résultat attendu

Chaque document est associé à des entités détectées, leur type (PER, ORG, LOC, MISC) et leur position dans le texte.

Réseaux d'interactions

Objectif

Construire un graphe des interactions (mentions, réponses, retweets) entre les comptes de l'importation.

Prérequis

  • Avoir collecté des données sur une importation de type Twitter API ou similaire avec des interactions entre comptes.

Étapes

  1. 1

    Dans Préparer des documents, cliquez sur Réseaux d'interactions.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation.

  3. 3

    Sélectionnez les posts à inclure dans le graphe : période, type de posts.

  4. 4

    Configurez le(s) réseau(x) à produire via les trois sections ci-dessous.

  5. Référence des champs — Configuration réseau

    ChampDescriptionExemple
    periodGranularité temporelle des graphes produits. `static` = un seul graphe global ; les autres valeurs produisent un graphe par tranche de temps.static, day, week
    network_typeTypes de relations à modéliser. Chaque type produit un fichier de graphe séparé.interactions, mentions, quotes, comments, shares, conversation
    threshold_attributeAttribut de nœud utilisé pour le filtrage par seuil.degree
    thresholdValeur minimale de `threshold_attribute` pour qu'un nœud soit conservé dans le graphe.1
    max_nodesNombre maximal de nœuds conservés dans le graphe final (les nœuds les plus importants sont gardés).5000
    n_composantesNombre de composantes connexes à conserver. Entier = N composantes, décimal 0–1 = percentile de taille, vide = toutes.1.0
    min_nodes_composantesTaille minimale d'une composante connexe pour être incluse.3
    modularity_resolutionRésolution de l'algorithme de détection de communautés (Louvain). Plus élevée = communautés plus petites et nombreuses.1.0
    mutual_relationshipsSi activé, conserve uniquement les paires avec interactions mutuelles → réseau non directionnel.false
    compute_dynamic_metricsCalcule les métriques de centralité à chaque période temporelle. Désactiver accélère le traitement.true
    dynamic_nodesTrue = nœuds et liens varient par période. False = nœuds fixes, seuls les liens changent.true
    dynamic_filteringTrue = filtre les N nœuds les plus importants à chaque période. False = filtre calculé sur l'ensemble des données.true
  6. Référence des champs — Métriques

    ChampDescriptionExemple
    degreeNombre total de liens d'un nœud (entrant + sortant).
    in_degreeNombre de liens entrants (mentions reçues, réponses reçues…).
    out_degreeNombre de liens sortants (mentions émises, réponses émises…).
    degree_centralityCentralité de degré normalisée : part du degree total du nœud dans le réseau.
    in_degree_centralityCentralité de degré entrant normalisée.
    out_degree_centralityCentralité de degré sortant normalisée.
    betweenness_centralityFré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_centralityCentralité de vecteur propre : un nœud est influent s'il est connecté à d'autres nœuds influents.
  7. Référence des champs — Visualisation (Sigma)

    ChampDescriptionExemple
    node_colorAttribut de nœud utilisé pour la couleur (ex : modularity = couleur par communauté).modularity
    node_size / node_size_rangeAttribut pilotant la taille des nœuds, et plage [min, max] en pixels.in_degree · [2, 15]
    node_label / node_label_sizeAttribut affiché comme label, et taille fixe ou variable (None = taille fixe définie par `default_node_label_size`).label · 12
    node_border_color_fromSource 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_sizeAttribut pour la taille du halo autour du nœud. `None` = pas de halo.none
    edge_color / default_edge_colorAttribut pilotant la couleur des arêtes, ou couleur hexadécimale fixe si `edge_color` = None.none · #e1e1e1
    default_edge_typeForme des arêtes dans la visualisation Sigma.arrow / rectangle / line / curve / triangle
    edge_size / edge_size_rangeAttribut pilotant l'épaisseur des arêtes, et plage [min, max] en pixels.weight · [1, 15]
    background_colorCouleur de fond de la visualisation.white
    start_layoutDurée en secondes du calcul de layout ForceAtlas2 avant arrêt automatique.10.0
    label_densityNombre de labels affichés par cellule de grille. Réduire pour alléger l'affichage.1
    barnesHutTheta / barnesHutOptimizeParamètres de l'optimisation Barnes-Hut pour la répulsion (O(n·log n)). Theta ≈ 1.0 = rapide.1.5 · true
    gravity / scalingRatioAttraction vers le centre et échelle globale du layout. scalingRatio élevé = nœuds plus espacés.1.5 · 500
    linLogModeActive le modèle LinLog de Noack, qui favorise la séparation visuelle des communautés.true
    strongGravityModeActive une gravité linéaire qui attire les composantes isolées vers le centre.true
  8. 5

    Cliquez sur Lancer.

✓ Résultat attendu

Un fichier de graphe (nœuds = comptes, arêtes = interactions) est produit et stocké dans GCS. Ce fichier est exploitable dans un outil de visualisation de réseau (Gephi, etc.).

OCR (extraction de texte depuis les images)

Objectif

Extraire automatiquement le texte visible dans les images des posts de l'importation à l'aide de PaddleOCR (GPU). Le texte extrait est stocké en base et peut ensuite être traduit, vectorisé ou analysé.

Prérequis

  • Avoir collecté des données incluant des images (posts avec médias).
  • Avoir lancé le téléchargement des médias (images stockées dans GCS).

Étapes

  1. 1

    Dans Préparer des documents, cliquez sur OCR.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation cible.

  3. 3

    Choisissez la langue OCR (`ocr_lang`). Le modèle `fr` prend en charge le Latin multilingue (français, anglais et accents).

    ChampDescriptionExemple
    ocr_langLangue du modèle PaddleOCR. `fr` charge le modèle Latin multilingue couvrant FR + EN + accents.fr
  4. 4

    (facultatif) Activez Retraiter les images déjà OCR-isées (`force_all`) pour forcer le recalcul sur des images déjà traitées.

  5. 5

    (facultatif) Sélectionnez les types de posts dont les images doivent être traitées : originaux, commentaires, repartages, citations.

  6. 6

    (facultatif) Filtrez les posts par période (start_date / end_date).

  7. 7

    (facultatif) Dépliez les paramètres avancés pour ajuster les seuils du modèle PaddleOCR et les tailles de batch.

  8. 8

    (facultatif) Planifiez une exécution récurrente pour traiter automatiquement les nouvelles images collectées.

  9. 9

    Cliquez sur Lancer l'OCR.

✓ Résultat attendu

Le texte extrait est enregistré dans la base de données pour chaque document dont les images ont été traitées. Ce champ peut ensuite être utilisé dans la traduction ou la vectorisation.

Erreurs fréquentes

ErreurCause probableSolution
Aucun texte extrait sur certaines imagesLes seuils de détection (`text_det_thresh`, `text_det_box_thresh`) peuvent être trop élevés pour des images de faible qualité.Abaissez les seuils dans les paramètres avancés (ex : `text_det_thresh` à 0.3).
Le job est accepté mais aucune tâche ne démarreAucune image liée à l'importation n'est disponible dans GCS.Vérifiez que le téléchargement des médias a bien été effectué au préalable.

Télécharger des documents

Objectif

Télécharger les médias (images, vidéos) associés aux documents de l'importation pour un traitement local.

Prérequis

  • Avoir collecté des données incluant des URLs de médias.

Étapes

  1. 1

    Dans Préparer des documents, cliquez sur Télécharger des documents.

  2. 2

    Sélectionnez le Client, le Projet et l'Importation.

  3. 3

    Sélectionnez le Type de média à télécharger (images, vidéos, ou les deux).

  4. 4

    (Facultatif) Filtrez les posts par date de publication et par type.

  5. 5

    (Facultatif) Des paramètres avancés permettent d'optimiser le téléchargement ou de forcer le téléchargement de fichiers déjà existants.

  6. 6

    (Facultatif) Planifiez le téléchargement des nouveaux posts collectés.

  7. 7

    Cliquez sur Lancer.

✓ Résultat attendu

Les médias sont téléchargés depuis leurs URLs d'origine et stockés dans GCS, liés à l'importation.

Erreurs fréquentes

ErreurCause probableSolution
Médias manquants dans le résultatCertaines URLs sont expirées (cas fréquent sur Twitter/X) ou ont été supprimées par l'auteur.C'est normal. Seuls les médias encore accessibles au moment du lancement sont téléchargés.