Une image vaut mille mots : laissez votre tableau de bord parler en votre nom!

Par : Chatana Mandava, Statistique Canada

Un tableau de bord est une représentation visuelle des renseignements les plus importants nécessaires à la réalisation d'un ou de plusieurs objectifs. On regroupe et organise ces renseignements sur un seul écran afin de pouvoir en prendre connaissance en un seul coup d'œil. Les tableaux de bord jouent un rôle essentiel dans le domaine de la science des données, car ils sont l'un des moyens les plus efficaces de résumer des résultats et de les communiquer aux utilisateurs. Les analystes de Statistique Canada passent souvent leur temps à chercher des renseignements parmi les données fournies ou à tirer manuellement des conclusions à partir de ces données. La présentation de tableaux de bord conviviaux et interactifs réduit la charge de travail des analystes, car ils sont en mesure d'extraire des renseignements pertinents simplement à l'aide de filtres. Les tableaux de bord sont un puissant moyen de présenter les renseignements qui peuvent servir à observer les tendances et à faire le suivi du rendement des modèles, pour faciliter la prise de décisions au sein d'une organisation. Lorsqu'ils sont bien présentés, les tableaux de bord augmentent la productivité des utilisateurs en réduisant l'ampleur des renseignements à analyser. En revanche, s'ils sont mal présentés, ils peuvent transformer la recherche de renseignements pertinents en une entreprise colossale.

De nombreux outils, notamment Tableau, Power BI, Dash Plotly (en anglais seulement) et Kibana, peuvent servir à créer un tableau de bord efficace et interactif. Le choix de l'outil dépend de nombreux facteurs comme le type de données (p. ex. des données de type texte, des données numériques), la taille des données, les paramètres ainsi que les besoins des utilisateurs. Le présent article permet d'examiner les exemples de deux énoncés de problèmes différents et de deux tableaux de bord créés sur la base de leurs exigences.

Tableaux de bord créés à l'aide d'Elasticsearch et de Kibana

Dans le cadre d'un projet récent, des scientifiques des données de Statistique Canada avaient pour mandat de créer un tableau de bord permettant de visualiser les articles de presse portant sur la COVID-19 et de les filtrer en fonction des critères suivants : le nom de l'entreprise, le nom de la source, le nom de la source d'extraction et la date, et en fonction de quelques mots clés importants comme « COVID » et « équipement de protection individuelle ». Les données extraites pour résoudre ce problème étaient de type texte. Des millions d'articles de presse ont été extraits par moissonnage du Web et divers autres moyens. Plusieurs modèles d'apprentissage automatique et d'apprentissage profond, comme les machines à vecteurs de support (SVM) et les représentations d'encodeur bidirectionnel à partir de transformateurs (BERT), ont été appliqués pour classer les articles de presse. La façon optimale d'afficher les résultats regroupés consistait à produire un tableau de bord interactif. Dans le cadre de ce projet, un tableau de bord Kibana a été créé afin d'afficher tous les articles de presse et des représentations visuelles des résultats.

Elasticsearch est un moteur de recherche fondé sur la bibliothèque Lucene (en anglais seulement). Il permet le stockage d'énormes volumes de données et permet aux utilisateurs d'effectuer rapidement des recherches parmi les données et d'obtenir des résultats en quelques millisecondes. Au lieu d'effectuer une recherche directement dans le texte, Elasticsearch parcourt un index et génère des résultats en peu de temps. Kibana est un outil de visualisation et de gestion conçu pour Elasticsearch. Compte tenu de l'objectif du projet, Kibana a été choisi comme étant l'outil le plus approprié. Cet outil comporte de nombreuses fonctionnalités intéressantes pour les utilisateurs, notamment celle de créer des histogrammes, des graphiques circulaires, des graphiques à barres, des cartes géographiques et ainsi de suite. De plus, l'interactivité est gérée automatiquement dans l'outil. Il existe de nombreux autres outils de visualisation (p. ex. Vega ou Timelion) qui peuvent aider à créer des visualisations de données agrégées. Une autre fonctionnalité intéressante de Kibana est la possibilité de personnaliser les visualisations. Grâce à la nouvelle composante Vega, les utilisateurs peuvent créer une variété de visualisations des données accessibles à partir de la bibliothèque Vega. Ces données peuvent être intégrées dans Elasticsearch à l'aide d'une bibliothèque Python. L'objectif principal derrière l'utilisation de la bibliothèque Python d'Elasticsearch est d'accéder aux articles de presse et de les stocker dans Elasticsearch à des fins de recherche et d'analyse. Les données sont extraites puis intégrées dans Elasticsearch grâce à la création d'un schéma rigoureux ou d'une mise en correspondance, ce qui permet d'assurer leur indexation selon le format et le modèle appropriés. L'interrogation peut être effectuée une fois l'enregistrement indexé.

Un tableau de bord Kibana qui fournit de multiples interfaces pour l'interrogation des données. Cet exemple illustre l'utilisation d'un nuage de mots, d'un graphique chronologique qui montre le nombre d'articles extraits au cours d'une période donnée et d

Description - Figure 1Exemple de tableau de bord Kibana et ses nombreux filtres permettant aux analystes de trouver rapidement les éléments d'intérêt.

Les options intégrées dans le tableau de bord de Kibana ont été utilisées pour créer un tableau de bord interactif à partir d'articles de presse. Sur une période d'environ 10 jours, un graphique chronologique a été créé pour analyser le nombre total d'articles extraits au cours de cette période. Il s'agit d'un graphique chronologique interactif dans lequel les utilisateurs peuvent cliquer sur n'importe quelle année afin que les articles soient filtrés automatiquement en fonction du choix. L'option « tableau » a été utilisée pour la visualisation du titre et du corps de l'article, du fragment, de la source d'extraction, du nom de l'entreprise, et du nom de la source et du média qui a publié ces articles de presse. Toutes les fonctions de filtre requises ainsi que certaines visualisations de données agrégées ont été incluses dans le tableau de bord. Quelques autres fonctionnalités, comme les nuages de mots, ont également été ajoutées, ce qui a aidé les analystes à comprendre les mots importants dans les articles de presse et à filtrer les articles pertinents en fonction de ces mots. En fait, ces mots changent lorsqu'on applique des filtres, et de nouveaux ensembles de mots apparaissent selon les articles présélectionnés. Une de ces fonctionnalités permet aux utilisateurs d'enregistrer les résultats dans un fichier CSV, au cas où l'analyste aurait besoin d'intégrer d'autres outils pour réaliser une analyse plus poussée. Les utilisateurs peuvent également partager le tableau de bord avec d'autres personnes en leur envoyant une adresse URL.

La fonctionnalité « modèles d'indexation » de Kibana permet de modifier les modèles d'indexation et de mettre à jour le champ correspondant. Un modèle d'indexation sert à définir les propriétés d'un champ. Par exemple, lorsque les données sont intégrées dans la base de données, peu de champs deviennent consultables, et quelques champs peuvent être regroupés. Le modèle d'indexation permet aux utilisateurs d'activer ces fonctionnalités pour tous les champs. Dans le cas mentionné ci-dessus, il y a un champ comprenant l'adresse URL des articles. Au moment de l'intégration, le format de ce champ URL est passé à un format texte. Le format a été modifié en une adresse URL cliquable grâce à un modèle d'indexation.

Dash Plotly

Dans un autre exemple d'utilisation de tableaux de bord, un deuxième projet de Statistique Canada a consisté à trouver des événements à partir d'articles de presse. En travaillant avec des utilisateurs sur une période de 35 jours, les résultats finaux ont été affichés dans un tableau de bord produit à l'aide de Dash Plotly. Dash est un outil à accès libre conçu par Plotly pour créer des applications Web d'apprentissage automatique et de science des données. Comme la mise en page de Dash est en langage HTML, les utilisateurs peuvent intégrer divers gadgets logiciels, en choisissant leur disposition et leur style.

Exemple de tableau de bord créé à l'aide de Dash Plotly et personnalisé à partir d'un thème montrant l'image de marque du Gouvernement du Canada. Ce tableau de bord comporte une série de filtres par dates et par sujets ainsi qu'un diagramme qui affiche le

Description - Figure 2Exemple de tableau de bord créé à l'aide de Dash Plotly, qui présente les événements trouvés dans des articles de presse.

Ce tableau de bord comprend également un tableau qui affiche les articles de presse, un résumé d'autres articles, des boutons interactifs pour passer d'un article à l'autre, un graphique chronologique et un menu déroulant permettant de filtrer les articles en fonction du nom de l'entreprise, de la date et de la division. Dash ne compte pas le même nombre de fonctions intégrées que Kibana; il est conçu pour offrir un degré de fonctionnalité plus limité pour la création d'applications Web personnalisées. Avec Dash Plotly, les utilisateurs peuvent mettre en évidence l'emplacement, l'organisation, la date et l'heure dans les articles de presse. Tout le script du tableau de bord est écrit en langage Python, ce qui signifie que l'on doit y accorder une attention particulière si l'on souhaite diffuser ce tableau à l'extérieur de l'organisation.

Choix de l'approche en fonction des besoins de l'utilisateur final

Bien que cet article ait traité de la création de tableaux de bord à l'aide de Kibana et de Dash Plotly, il existe de nombreux autres tableaux de bord interactifs qui peuvent être construits à l'aide de divers outils. Les deux projets abordés permettent d'exploiter des systèmes infonuagiques, mais il existe aussi des outils sur ordinateurs que l'on peut connecter à des systèmes moins exigeants. Kibana et Plotly offrent tous les deux des systèmes flexibles, mais ils s'intègrent aux flux de travail de différentes façons. Elasticsearch est fortement axé sur l'indexation et la recherche de texte à haute performance, ce qui en fait un bon choix pour traiter de grandes quantités de données textuelles. Dash Plotly intègre toute la puissance et la commodité de la bibliothèque Pandas pour la manipulation des données. L'outil que vous choisissez d'utiliser dépend fortement du contexte et des exigences de votre projet ainsi que des besoins des utilisateurs finaux.

Date de modification :