Skip to content

Fichiers et scripts utilisés dans le cadre d'une dataviz pour le magazine Nouveau projet

License

Notifications You must be signed in to change notification settings

jhroy/np14-assnat

Repository files navigation

Nouveau Projet #14

Les mots de la 41e législature

Méthodologie

Pour la 14e édition de Nouveau Projet, tout ce qui a été dit par les élu.e.s de l'Assemblée nationale du Québec dans le cadre de leurs activités parlementaires au cours de la 41e législature a été analysé.

Quand?

Tous les propos enregistrés entre le 8 avril 2014 et 11 mai 2018 (moment où il a fallu livrer pour Nouveau Projet) ont été recueillis.

Qui?

On s'intéresse uniquement à ce qui a été dit par les quelque 140 personnes ayant été élues au cours de la période étudiée (deputesAssnat.csv).

Où?

À trois endroits :

Comment?

Le travail s'est effectué en trois étapes :

  • Il s'agissait d'abord de sauvegarder localement les fichiers HTML des résultats de recherche pour les travaux parlementaires et les conférences et points de presse obtenus sur le site de l'Assemblée nationale et de les placer dans un répertoire appelé sources.
    Voici deux exemples :

    • p10.htm -> la 10e page des résultats de recherche pour les travaux parlementaires et
    • presse2015.html -> la page des résultats de recherche pour tous les points de presse de 2015.
  • Ensuite, un script (np14-extraction.py) allait visiter chacun des quelque 1 344 hyperliens que contenaient les fichiers HTML sauvegardés dans la première étape. Chaque hyperlien menait à la retranscription de travaux parlementaires ou de points de presse durant la période étudiée. Le script découpait chacune des 1 344 transcriptions en paragraphes. Pour chaque paragraphe, il enregistrait dans un fichier CSV (voici un exemple de ce qu'on a obtenu pour le Journal des débats du 28 septembre 2017) les informations suivantes :

    • URL de la transcription
    • Instance (« Assemblée nationale », « Commission ... » ou « Conférence de presse »)
    • Titre du fichier HTML
    • Date
    • Locuteur
    • Texte des paroles prononcées
  • Enfin, il fallait ratisser un à un l'ensemble des 1 344 fichiers CSV obtenus de l'opération précédente pour filtrer uniquement les paroles prononcées par les élus. On y parvenait à l'aide d'un autre script (np14-quiditquoi.py) qui retrouvait les élus en fonction des différentes façons de les identifier dans les transcriptions (toutes les façons possibles sont indiquées dans le fichier deputesAssnat.csv).
    Toutes les paroles des élus étaient rassemblées dans un grand fichier CSV trop volumineux pour être reproduit ici, mais déposé dans le Dataverse Scholars Portal.
    Le fichier ne contient que cinq colonnes (chaque ligne étant toujours un paragraphe)  :

    • Le numéro d'identification de l'élu.e (tel qu'indiqué dans le fichier deputesAssnat.csv)
    • Le numéro de code du parti (p1 pour le PLQ; p2 pour le PQ; p3 pour la CAQ; p4 pour QS et p5 pour les indépendants)
    • La date où les mots ont été prononcés
    • L'URL de la source
    • Le texte

Quoi?

Une fois obtenu ce fichier central, différentes analyses étaient possibles. Toutes ne donnaient pas des résultats pertinents :

  1. Par exemple, une lemmatisation et un étiquettage morpho-syntaxique ont été effectués à l'aide de l'outil TreeTagger. Il en a résulté différents fichiers de tokens : quatre pour chacun des partis représentés à l'Assemblée nationale et 140 pour chacun des élus ayant siégé au cours de la 41e législature. Voici un exemple du résultat pour le député sortant de Gouin, Gabriel Nadeau-Dubois (d092-tokens.csv).
    Cette lemmatisation a été accompagnée d'une exclusion des « mots vides » (articles, prépositions, interjections et autres mots vides de sens réunis dans ce fichier : motsvides.py). C'est le résultat de cette lemmatisation qui a servi de base au calcul de richesse du vocabulaire des élus, calcul réalisé à l'aide de ce script relativement simple : np14-voc-dep.py.

  1. Une modélisation thématique (topic modeling, voir image ci-dessus) a également été tentée, mais sans grands résultats. En utilisant la bibliothèque python d'apprentissage machine Scikit Learn, notamment l'allocation de Dirichlet latente, il a été possible d'identifier les 10 thèmes les plus souvent abordés par les partis. Mais il était difficile d'identifier clairement ces thématiques.
    Je laisse ici les visualisations résultant de ces analyses. Peut-être y verrez-vous des choses qui ne me sautaient pas aux yeux :
  1. L'équipe de Nouveau Projet se demandait surtout comment les thématiques avaient évolué dans le temps : quels sujets étaient « populaires », et quand? Pour y parvenir, j'ai élaboré un script qui vous demande quelle expression vous cherchez et qui vous en donne la fréquence mensuelle d'utilisation dans les propos des élus : temps.py. C'est ce script qui donne les résultats les plus intéressants.

Allez voter le 1er octobre! ☑️

About

Fichiers et scripts utilisés dans le cadre d'une dataviz pour le magazine Nouveau projet

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published