Skip to content

Choix de conception

Les arbres à palabres

Dans les grandes lignes, l’algorithme est le suivant :

  • Trouver les fils de discussion dans le corpus

  • Initialiser l’arbre à « root = thème »

  • Récursivement (jusqu’à ce qu’il n’y ait plus de fils) :
    • Trouver les fils dans le corpus, et pour chaque fils qui devient père :
    • Créer les noeuds fils et peupler le niveau de la structure avec les attributs (author, submission title, timestamp, commentaire, score, profondeur...)
  • Exporter la structure en JSON pour permettre son chargement par les visualisations.

Les tests menés ont consisté à vérifier les profondeurs par inspection visuelle, les timestamps (échantillonnage), les relations père-fils (par échantillonnage).

Traitement du langage

Les librairies utilisées sont les suivantes : spacy, NLTK pour la classification des thèmes (Naïve Bayes), seaborn et statmodels l’analyse des sentiments porte sur les thèmes des fils de discussion. Dans l’arbre à palabres, la classification et l’analyse de sentiments sont simples et s’appuient sur textblob.fr et sont donc illustratives à ce stade.

Clusters

Les librairies utilisées sont Python et Graphistry, qui dispose d’un « free tier ».

Librairies utilisées :

Arguments :

  • Portabilité, intégration dans les navigateurs pour les chercheurs de l’ISC
  • Logique d’interaction et performance associée : (rafraîchissement écran versus logique select/enter/update qui va permettre de gérer 30000+ noeuds pour le thème « Politique » par exemple...)
  • Temps de développement et tests, et maintenabilité du code : disponibilité et réutilisation des composants de d3.js et jQuery UI versus développement from scratch

Mais :

  • Gestion des événements plus complexe (jquery UI et d3.js)

  • Courbe d’apprentissage plus raide

Implémentation

Technologiquement, les arbres s’appuient sur des librairies D3.JS et JQuery pour permettre à la fois un maquettage des interactions dans la console du navigateur et une sédimentation du code par la suite. Un gros intérêt de ces librairies est qu’elles sont interopérables avec la plupart des navigateurs sans aucune installation, et soutenues et enrichies par des communautés actives.

Difficultés et limitations en back-end

En back-end la plus grosse difficulté a été de construire la récursivité de l’arbre à partir du jeu de données.