Technologies liées à la protection de la vie privée, partie trois : Analyse statistique confidentielle et classification de texte confidentiel fondées sur le chiffrement homomorphe

Par : Benjamin Santos et Zachary Zanussi, Statistique Canada

Introduction

Qu'est-ce qui est possible dans le domaine du chiffrement et quels cas d'utilisation peuvent être visés par le chiffrement homomorphe? Le premier article du Réseau de la science des données dans la série sur la protection de la vie privée, Une brève enquête sur les technologies liées à la protection de la vie privée, présente les technologies d'amélioration de la confidentialitéNote de bas de page 1 (TAC) et la façon dont elles permettent l'analyse tout en protégeant la confidentialité des données. Le deuxième article de la série, Technologies liées à la protection de la vie privéepartie deux : introduction au chiffrement homomorphe, a abordé plus en profondeur une des TAC, plus précisément le chiffrement homomorphe (CH). Dans cet article, nous décrivons les applications étudiées par les scientifiques des données de Statistique Canada en matière de traitement informatique à partir de données chiffrées.

Le CH est une technique de chiffrement qui permet d'effectuer des traitements informatiques à partir de données chiffrées ainsi que plusieurs paradigmes pour les traitements informatiques sécurisés. Cette technique comprend le traitement informatique sécurisé à l'externe, selon lequel un détenteur de données permet à un tiers (peut-être le nuage) d'effectuer des traitements informatiques à partir de données de nature délicate, tout en s'assurant que les données d'entrée sont protégées. En effet, si le détenteur de données veut que le nuage calcule une fonction f (polynomiale) à partir de ses données v, il peut les chiffrer sous forme de cryptogrammes, désignés [v], les envoyer de façon sécuritaire sur le nuage qui calcule f de façon homomorphe pour obtenir [f(v)] et renvoie les résultats au détenteur de données, qui peut déchiffrer et visualiser f(v). Le nuage n'a aucun accès aux valeurs des données d'entrée, de sortie ou intermédiaires.

Figure 1 : Illustration d'un flux de travail typique du CH
Figure 1 : Illustration d'un flux de travail typique du CH.

Une illustration d'un flux de travail typique du CH. Les données,v, sont chiffrées, donc elles sont placées dans une boîte verrouillée [v]. Cette valeur est envoyée au tiers qui effectuera le traitement informatique (le nuage). Les engrenages tournent et le chiffrement d'entrée[v] se transforme en chiffrement de sortie, [f(v)], comme souhaité. Ce résultat est renvoyé au propriétaire, qui peut le sortir de la boîte verrouillée et le visualiser. Le nuage n'a pas accès aux valeurs d'entrées, de sortie ou intermédiaires.

Des groupes internationaux envisagent actuellement la normalisation du CH. Le gouvernement du Canada ne recommande pas le CH ou l'utilisation des techniques cryptographiques avant que ce soit normalisé. Même si le CH n'est pas encore prêt à être utilisé sur des données de nature délicate, c'est un bon moment pour explorer ses capacités ainsi que d'éventuels cas d'utilisation.

Données de lecteurs optiques

Statistique Canada recueille des données en temps réel auprès des grands détaillants sur divers produits d'information. Ces données décrivent les opérations quotidiennes effectuées comme une description du produit vendu, le prix de vente et les métadonnées au sujet du détaillant. Ces données sont appelées « données de lecteurs optiques », d'après les lecteurs optiques utilisés lorsque les clients passent à la caisse. Une des utilisations des données optiques est d'augmenter la précision de l'Indice des prix à la consommation, qui mesure l'inflation et la vigueur du dollar canadien. Cette précieuse source de données est traitée comme des données de nature délicate – nous respectons la confidentialité des données et des détaillants qui les fournissent.

La première étape dans le traitement de ces données consiste à classer les descriptions de produits dans un système classificatoire normalisé de codification à l'échelle internationale, à savoir le Système de classification des produits de l'Amérique du Nord (SCPAN) Canada 2017 version 1.0. Ce système hiérarchique de codes à sept chiffres est utilisé pour classer les différents types de produits aux fins d'analyse. Il y a un code, par exemple, pour le café et ses produits. Chaque entrée de données scanographiques doit recevoir un de ces codes en fonction de la description du produit fournie par le détaillant. Ces descriptions ne sont toutefois pas normalisées et peuvent être très différentes d'un détaillant à l'autre ou d'une marque à l'autre de produits semblables. Ainsi, la tâche souhaitée est la conversion de ces descriptions de produit, qui comprennent souvent des abréviations et des acronymes, en codes correspondants.

Après avoir été classées, les données sont regroupées en fonction de leur code du SCPAN et les statistiques sont calculées à partir de ces groupes. Cela nous permet d'avoir une idée du montant dépensé pour chaque type de produit dans l'ensemble du pays, et de la façon dont cette valeur change au fil du temps.

Figure 2 : Aperçu de haut niveau du flux de travail des données de lecteurs optiques avec des données-échantillons
Figure 2 : Aperçu de haut niveau du flux de travail des données de lecteurs optiques avec des données-échantillons.

Aperçu de haut niveau du flux de travail des données de lecteurs optiques. D'abord, les descriptions de produit sont classées selon les codes du SCPAN. Des exemples sont fournis : « bonbons mochi à la crème glacée » se voit attribuer le code du SCPAN 5611121, alors que « sauce barbecue chipotle » se voit attribuer le code 5611132. L'application 2 consiste à attribuer ces codes aux descriptions. Les descriptions de produits sont liées à quelques identificateurs et à une valeur de prix. L'application 1 consiste à classer les données selon ces codes et identificateurs, et à calculer des statistiques sur les valeurs de prix.

Exemple d'ensembles de données 1
Description ID1 ID2 Valeur
« bonbons mochi à la crème glacée » 054 78 5.31 $
« sauce barbecue chipotle » 201 34 3.80 $

Application 2

Exemple d'ensembles de données 2
SCPAN ID1 ID2 Valeur
5611121 054 78 5.31 $
5611132 201 34 3.80 $

Application 1

Statistics (total, moyenne, variance)

Étant donné l'importance et la nature délicate des données, nous les avons ciblées comme domaine potentiel pour lequel les TAC pourraient préserver notre flux de travail des données tout en maintenant le niveau élevé de sécurité requis. Les deux tâches ci‑dessus ont, jusqu'à maintenant, été effectuées dans l'infrastructure sécurisée de Statistique Canada, où nous pouvons nous assurer que les données sont en sécurité au moment de l'ingestion et tout au long de leur utilisation. En 2019, quand nous avons commencé à étudier les TAC au sein de l'organisme, nous avons décidé de tenter d'utiliser le nuage à titre de ressource tierce de traitement informatique, sécurisé par le CH.

Nous avons créé un modèle infonuagique semblable à un tiers semi-honnête, ce qui signifie qu'il suivra le protocole que nous lui avons attribué, mais il essaiera de déduire tout ce qu'il peut au sujet des données pendant le processus. Cela signifie qu'il faut que les données de nature délicate soient toujours chiffrées ou masquées. Dans notre validation de principe, nous avons remplacé ces données par une source de données synthétiques, ce qui nous permet de procéder à des expériences sans craindre de nuire à la sécurité des données.

Application 1 : Analyse statistique confidentielle

Notre première tâche était de réaliser la dernière partie du flux de travail des données de lecteurs optiques – l'analyse statistique. Nous avons créé une version synthétique des données de lecteurs optiques pour assurer leur confidentialité. Ces données de lecteurs optiques fictives consistaient en 13 millions d'enregistrements, chacun comprenant un code du SCPAN, un prix de transaction et certains identificateurs. Cela représente environ une semaine de données de lecteurs optiques d'un seul détaillant. La tâche consistait à trier les données en listes, à les chiffrer, à les envoyer au nuage et à demander au nuage de calculer les statistiques. Le nuage nous enverrait ensuite les résultats toujours chiffrés, pour que nous puissions les déchiffrer et les utiliser aux fins d'analyse plus approfondie.

Supposons que notre ensemble de données est classé en listes ayant la forme v=(v1,,vl). Il est relativement simple de chiffrer chaque valeur vi en cryptogramme [vi], puis d'envoyer la liste de cryptogrammes ([v1],,[vl]) sur le nuage. Le nuage peut utiliser l'addition et la multiplication homomorphes pour calculer le total, la moyenne et la variance et nous retourner ces cryptogrammes (nous verrons de quelle façon la division est gérée pour la moyenne et la variance plus tard dans le présent article). Nous faisons cela pour chaque liste, puis déchiffrons et visualisons nos données. C'est simple, n'est-ce pas?

Le problème avec une mise en œuvre naïve de ce protocole est l'élargissement des données. Un seul cryptogramme CKKSNote de bas de page 2 représente une paire de polynômes de degré 214 avec des coefficients de 240-octets. Ensemble, cela peut prendre 1 Mo pour stocker un seul enregistrement. Pour l'ensemble de données complet de 13 millions, cela devient 13 To de données! La solution à ce problème s'appelle la mise en paquet.

Mise en paquet

Les cryptogrammes sont gros et nous avons beaucoup de petits éléments de données. Nous pouvons utiliser la mise en paquet pour stocker une liste complète de valeurs en un seul cryptogramme, et le procédé CKKS nous permet d'effectuer des opérations de type SIMD (instruction unique, données multiples) sur ce cryptogramme, donc nous pouvons calculer plusieurs statistiques en même temps! Cela représente une augmentation massive de l'efficacité pour de nombreuses tâches de CH, et une structure intelligente de mise en paquet des données peut faire la différence entre un problème insoluble et une solution pratique.

Supposons que nous avons une liste de valeurs l, v=(v1,v2,,vl). En utilisant la mise en paquet CKKS, nous pouvons mettre en paquet cette liste entière en un seul cryptogramme, désigné par [v]. Maintenant, les opérations d'addition et de multiplication homomorphes ont lieu par emplacement selon le principe du SIMD, c'est‑à‑dire que, si u=(u1,u2,,ul) est chiffré [u], nous pouvons alors calculer l'addition homomorphe pour obtenir

[u][v]=[u+v]

[u+v] est unNote de bas de page 3 chiffrement de la liste (u1+v1,u2+v2,,ul+vl). Cette addition homomorphe prend autant de temps à calculer que s'il y avait une seule valeur dans chaque cryptogramme; donc il est évident que nous pouvons obtenir un gain d'efficacité appréciable au moyen de la mise en paquet. L'inconvénient est que nous devons maintenant utiliser cette structure vectorielle dans tous nos calculs, mais avec un peu d'efforts, nous pouvons trouver un moyen de vectoriser les calculs pertinents pour profiter de la mise en paquet.

Figure 3 : Une illustration de la mise en paquet. Les quatre valeurs peuvent soit être chiffrées en quatre cryptogrammes séparés, ou être toutes mises en paquet en un seul cryptogramme
Figure 3 : Une illustration de la mise en paquet. Les quatre valeurs peuvent soit être chiffrées en quatre cryptogrammes séparés, ou être toutes mises en paquet en un seul cryptogramme.

Une illustration de la mise en paquet. Quatre valeurs, v1,v2,v3,v4 doivent être chiffrées. Dans un cas, elles peuvent toutes être chiffrées en cryptogrammes séparés, illustrés sous forme de boîtes verrouillées. Dans l'autre cas, nous pouvons mettre en paquet les quatre valeurs en une seule boîte. Dans le premier cas, cela prendra quatre boîtes, ce qui est moins efficace pour le stockage et les manipulations. Le dernier cas, la mise en paquet d'autant de valeurs que possible, est presque toujours préférable.

Je sais ce que vous pensez : la mise en paquet, qui stocke une série de valeurs dans un vecteur, ne rend-elle pas impossible le calcul des valeurs dans une liste? C'est-à-dire que, si nous avons v=(v1,v2,,vl), que ce passe-t-il si je voulais v1+v2? Nous avons accès à une opération appelée rotation. La rotation prend un cryptogramme qui représente le chiffrement de (v1,v2,,vl) et le transforme en Rot([v]), qui représente le chiffrement de (v2,v3,,vl,v1), c'est‑à‑dire qu'il déplace toutes les valeurs à gauche d'un emplacement, glissant la première valeur dans le dernier emplacement. Donc, en calculant [v]Rot([v]), nous obtenons

(v1+v2,v2+v3,,vl+v1)

et la valeur souhaitée est dans le premier emplacement.

Mathématiquement, la mise en paquet est réalisée en exploitant les propriétés du texte clair, du texte brut et des espaces du texte chiffré. Souvenez-vous que les fonctions de chiffrement et de déchiffrement sont des cartes entre les deux derniers espaces. La mise en paquet exige une autre étape appeléeencodage, qui code un vecteur (potentiellement complexe, mais dans notre cas, réel) de valeurs v à partir de l'espace du texte clair en un polynôme de texte brut p. Les données de p ne sont pas lisibles par un humain, mais elles peuvent être décodées en fonction du vecteur des valeurs par tout ordinateur sans avoir à recourir à des clés. Le polynôme de texte brut p peut être chiffré en cryptogramme [v] et utilisé pour calculer les statistiques sur les données de lecteurs optiques.Note de bas de page 4

Analyse statistique efficace au moyen de la mise en paquet

Pour revenir à l'analyse statistique des données de lecteurs optiques, souvenez‑vous que le problème était que le chiffrement de chaque valeur en cryptogramme était trop coûteux. La mise en paquet nous permettra de vectoriser ce processus, rendant ses ordres de grandeur plus efficaces en matière de communication et de calcul.

Nous pouvons maintenant commencer à calculer les statistiques désirées de notre liste v=(v1,v2,,vl). La première valeur d'intérêt est le total,Tv=i=1lvi, obtenu en additionnant toutes les valeurs dans la liste. Après avoir chiffré en un cryptogramme mis en paquet [v], nous pouvons simplement ajouter des rotations du cryptogramme [v] à lui‑même jusqu'à ce que nous ayons un emplacement avec la somme de toutes les valeurs. En fait, nous pouvons faire mieux que cette stratégie naïve de rotations et d'additions – nous pouvons le faire en étapes log2l en faisant d'abord une rotation d'un emplacement, puis de deux, puis de quatre, puis de huit jusqu'à ce que nous obtenions le total Tv dans un emplacement.

Ensuite, nous voulons la moyenne, Mv=Tv/l. Pour faire cela, nous chiffrons la valeur 1/l en cryptogramme [1/l] et l'envoyons avec la liste [v]. Nous pouvons ensuite simplement multiplier cette valeur par le cryptogramme que nous avons obtenu lorsque nous avons calculé le total. Il en va de même pour la variance, Vv=1/li=1l(vi-Mv)2, où nous soustrayons la moyenne par [v], multiplions le résultat par lui-même, calculons de nouveau le total, puis le multiplions de nouveau par le cryptogramme [1/ l].

Examinons les économies que la mise en paquet nous a permis de faire. Dans notre cas, nous avions environ 13 millions de points de données qui ont été séparés en 18 000 listes. En supposant que nous pourrions mettre en paquet chaque liste en un seul cryptogramme, cela réduit la taille des ensembles de données chiffrées de près de trois ordres de grandeur. Mais en réalité, les différentes listes avaient toutes des tailles différentes, certaines comptant des dizaines de milliers d'entrées et d'autres n'en comptant que deux ou trois, dont la majorité se situait dans la fourchette des centaines aux milliers. Au moyen d'une manipulation intelligente, nous avons été capables de mettre en paquet de multiples listes en cryptogrammes uniques et d'exécuter les algorithmes de total, de moyenne et de variance pour celles‑ci tous en même temps. En utilisant des cryptogrammes qui peuvent mettre en paquet 8 192 valeurs en même temps, nous avons pu réduire le nombre de cryptogrammes à seulement 2 124. À environ 1 Mo par cryptogramme, cela fait en sorte que l'ensemble de données chiffrées représente environ deux gigaoctets (Go). Comme les données en texte clair prennent 84 mégaoctets (Mo), cela a abouti à un facteur d'élargissement d'environ 25 fois. En tout, le traitement informatique chiffré a pris environ 19 minutes, ce qui est 30 fois plus long que le traitement informatique non chiffré.

Application 2 : Classification de texte confidentiel fondée sur le chiffrement homomorphe

Ensuite, nous avons attaqué la tâche d'entraînement pour l'apprentissage automatique. L'entraînement pour l'apprentissage automatique est une tâche réputée pour être coûteuse, donc nous ne savions pas exactement si nous serions capables de mettre en œuvre une solution pratique.

Souvenez‑vous de la première tâche dans le flux de travail des données de lecteurs optiques – les descriptions de produits pleines de bruit qui dépendant du détaillant doivent être classées par code du SCPAN. C'est une tâche de classification de textes comprenant de multiples catégories. Nous avons créé un ensemble de données synthétique à partir d'un répertoire en ligne de descriptions de produits et nous leur avons attribué un de cinq codes du SCPAN.

L'exécution d'un réseau neuronal représente essentiellement la multiplication d'un vecteur par une série de matrices, et l'entraînement d'un réseau neuronal demande des passages vers l'avant, ce qui consiste à évaluer les données d'entraînement dans le réseau, ainsi que des passages vers l'arrière, qui utilisent la descente de gradient (stochastique) et la règle de chaînage afin de trouver la meilleure façon de mettre à jour les paramètres du modèle pour améliorer la performance. Tout cela se résume à la multiplication de valeurs par d'autres valeurs, et en ayant accès à la multiplication homomorphe, l'entraînement d'un réseau chiffré est possible en théorie. En pratique, cela est entravé par une limite de base du procédé CKKS : la nature échelonnée des multiplications homomorphes. Nous discuterons d'abord de cet élément, puis nous étudierons les différents aspects du protocole désignés pour l'atténuer.

Niveaux des cryptogrammes dans CKKS

Afin de protéger vos données pendant le chiffrement, le procédé CKKS ajoute un peu de bruit à chaque cryptogramme. L'inconvénient est que ce bruit s'accumule avec les opérations consécutives et doit être modulé. Le CKKS a un mécanisme intégré pour cela, mais malheureusement il ne permet qu'un nombre limité d'opérations sur un même cryptogramme.

Supposons que nous avons deux cryptogrammes fraîchement chiffrés : [v1] et [v2]. Nous pouvons les multiplier de manière homomorphe pour obtenir le cryptogramme [v1v2]. Le problème est que le bruitNote de bas de page 5 dans le cryptogramme qui en résulte est beaucoup plus important que pour ceux nouvellement chiffrés, donc si nous le multiplions par le cryptogramme fraîchement chiffré [v3], le résultat serait touché par cette discordance.

Il faudrait d'abord remettre à l'échelle le cryptogramme [v1v2]. C'est géré de façon transparente par la bibliothèque de CH, mais sous le capot, le cryptogramme est déplacé dans un espace légèrement différent. Nous disons que [v1v2] a descendu d'un niveau, ce qui signifie que le cryptogramme a commencé au niveau L-1, et après la remise à l'échelle, il se trouve sur le niveau L-1. La valeur L est déterminée par les paramètres de sécurité que nous choisissons lorsque nous configurons le procédé de CH.

Nous avons maintenant [v1v2] qui a une quantité normale de bruit, mais qui se trouve au niveau L -1, et le [v3] fraîchement chiffré qui est toujours au niveau L. Malheureusement, nous ne pouvons pas effectuer d'opérations sur les cryptogrammes qui se trouvent sur différents niveaux, donc nous devons d'abord réduire le niveau de [v3] à L-1 par permutation modulée. Maintenant que les deux cryptogrammes sont au même niveau, nous pouvons enfin les multiplier comme souhaité. Il n'est pas nécessaire de remettre à l'échelle de résultat des additions, mais nous devons le faire pour chaque multiplication.

Figure 4 : Une illustration des niveaux
Figure 4 : Une illustration des niveaux.

Une illustration des niveaux. À gauche nous pouvons voir le niveau sur lequel chaque cryptogramme se trouve : de haut en bas, nous avons les niveaux L, L-1 et L-2. Les valeurs nouvellement chiffrées v1,v2 et v3 se trouvent toutes au niveau L tout en haut. Après la multiplication, v1v2 descend au niveau L-1. Si nous voulons multiplier v1v2 par v3, nous devons d'abord descendre v3 au niveau L-1. Le produit qui en résulte, v1v2v3, se trouve au niveau L-2.

Cette histoire de niveaux a deux conséquences. Premièrement, le développeur doit être conscient du niveau des cryptogrammes qu'il utilise. Deuxièmement, les cryptogrammes atteindront éventuellement le niveau 0 après de nombreuses multiplications consécutives; à ce moment‑là, ils sont épuisés et nous ne pouvons plus effectuer d'autres multiplications.

Il y a quelques options pour élargir les calculs au‑delà du nombre de niveaux disponibles. La première est un processus qui s'appelle le bootstrap, selon lequel le cryptogramme est déchiffré de manière homomorphe puis chiffré de nouveau, ce qui crée un nouveau cryptogramme. Ce processus peut en théorie permettre un nombre illimité de multiplications. Cependant, cette charge supplémentaire ajoute un coût au traitement informatique. Il est également possible d'actualiser les cryptogrammes en les renvoyant au détenteur de clé secrète, qui peut les déchiffrer et les chiffrer de nouveau avant de les renvoyer sur le nuage. Le va‑et‑vient des cryptogrammes ajoute un coût en communication, mais ça en vaut parfois la peine lorsqu'il n'y a pas beaucoup de cryptogrammes à envoyer.

Incidence des niveaux sur notre structure de réseau

Nous devions envisager cette contrainte fondamentale relative au CH lorsque nous avons conçu notre réseau neuronal. Le processus d'entraînement d'un réseau demande de réaliser une prédiction, d'évaluer la prédiction et de mettre à jour les paramètres du modèle. Cela signifie que chaque tour, ou époque, d'entraînement consomme des niveaux multiplicatifs. Nous avons essayé de réduire au minimum le nombre de multiplications nécessaires pour traverser le réseau d'un bout à l'autre afin de maximiser le nombre de tours d'entraînement disponibles. Nous décrirons maintenant la structure du réseau et la stratégie d'encodage.

L'architecture du réseau a été inspirée par la solution existante pour la production. Cela correspondait à un modèle d'ensemble d'apprenants linéaires. Nous avons entraîné plusieurs réseaux à couche simple et, au moment de la prédiction, nous avons fait en sorte que chaque apprenant vote pour chaque entrée. Nous avons choisi cette approche parce qu'elle réduisait la quantité de travail requis pour entraîner chaque modèle – moins de temps d'entraînement signifiait moins de multiplications.

Chaque couche dans un réseau neuronal est une matrice des poids des paramètres multipliée par des vecteurs de données pendant le passage vers l'avant. Nous pouvons adapter cela au CH en chiffrant chaque vecteur d'entrée en un seul cryptogramme et en chiffrant chaque rang de la matrice des poids en un autre cryptogramme. Le passage vers l'avant devient alors plusieurs multiplications vectorielles, suivies de nombreuses rotations et multiplications logarithmiques pour calculer la somme des extrants (souvenez‑vous que la multiplication matricielle est une série de produits scalaires, qui constitue une multiplication des composantes suivie d'un calcul de la somme des valeurs qui en résultent).

Le prétraitement est une partie importante de toute tâche de classification de texte. Nos données étaient constituées de courtes phrases, qui comportaient souvent des acronymes ou des abréviations. Nous avons choisi un encodage à caractère n-gramme, où n égale trois, quatre, cinq et six – « crème glacée » a été divisé en 3 grammes {« crè », « rèm », « ème », « vglav », « vlac », « vacé », « céev »}. Ces n-grammes ont été recueillis et dénombrés pour l'intégralité de l'ensemble de données et ont été utilisés pour chiffrer à chaud chaque entrée. Un vectoriseur de hachageNote de bas de page 6 a été utilisé pour réduire la dimension des entrées chiffrées.

De la même façon que nous avons mis en paquet de multiples listes dans l'analyse statistique, nous avons constaté que nous pouvions mettre en paquet de multiples paquets et les entraîner en même temps. L'utilisation d'une valeur N=215 signifiait que nous pouvions mettre en paquet 16 384 valeurs dans chaque cryptogramme, donc si nous hachions nos données en 4 096 dimensions, nous pourrions mettre quatre modèles dans chaque cryptogramme. Cela avait l'avantage supplémentaire de réduire le nombre de cryptogrammes requis pour chiffrer notre ensemble de données par un facteur de quatre. Cela signifie que nous pouvions entraîner quatre modèles simultanément.

Notre choix de paramètres de chiffrement signifiait que nous avions entre 12 et 16 multiplications avant de manquer de niveaux. À partir d'un réseau à une seule couche, le passage vers l'avant et le passage vers l'arrière nécessitaient chacun deux multiplications, ce qui nous laissait de la place pour trois à quatre époques avant que nos cryptogrammes modèles soient épuisés. Nos ensembles signifiaient que nous pouvions entraîner des modèles valant plusieurs cryptogrammes si désirés, ce qui signifie que nous pourrions avoir autant d'apprenants que souhaité au coût de temps supplémentaire d'entraînement. En modulant soigneusement quel modèle a appris au sujet de quelles données, cela nous a aidés à maximiser la performance globale de l'ensemble.

Notre ensemble de données représentait 40 000 exemples d'entraînements et 10 000 exemples de test qui ont tous été distribués également dans nos cinq classes. Entraîner quatre sous‑modèles en six époques a pris cinq heures et a permis d'obtenir un modèle qui a obtenu une précision de 74 % sur l'ensemble des essais. En utilisant la tactique d'actualisation des cryptogrammes précédemment décrite, nous pouvons hypothétiquement entraîner pendant autant d'époques que nous le voulons, bien que chaque actualisation ajoute des coûts de communication supplémentaires au processus.Note de bas de page 7 Après l'entraînement, le nuage renvoie le modèle chiffré à StatCan, et nous pouvons l'exécuter en texte clair sur les données en production. Ou nous pouvons conserver le modèle chiffré sur le nuage et exécuter une inférence de modèle chiffrée lorsque nous avons de nouvelles données à classer.

Conclusion

Cela conclut la série de Statistique Canada sur les applications CH pour les données de lecteurs optiques examinées à ce jour. Le CH a un certain nombre d'autres applications qui pourraient s'avérer intéressantes pour un organisme national de statistique comme l'intersection d'ensembles confidentiels, selon laquelle deux parties ou plus calculent ensemble l'intersection d'ensembles de données confidentielles sans les partager, ainsi que le couplage d'enregistrements préservant la confidentialité, selon lequel les parties effectuent des couplages, des partages et des traitements informatiques sur des microdonnées jointes à leurs ensembles de données confidentielles.

Il y a encore beaucoup de choses à explorer dans le domaine des TAC et StatCan travaille à tirer profit de ce nouveau domaine pour protéger les renseignements personnels des Canadiens tout en fournissant des renseignements de qualité qui compte.

Rencontre avec le scientifique des données

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à une Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Jeudi, le 15 décembre
14 h 00 à 15 h 00 HE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Bibliographie

Système de classification des produits de l'Amérique du Nord (SCPAN), Canada 2017, version 1.0

Cheon, J. H., Kim, A., Kim, M., et Song, Y. (2016). Homomorphic Encryption for Arithmetic of Approximate Numbers.(en anglais seulement). Cryptology ePrint Archive.

Gentry, C. (2009). A fully homomorphic encryption scheme. Thèse de doctorat, Stanford University. Craig Gentry's PhD Thesis (en anglais seulement)

Zanussi, Z., Santos B., et Molladavoudi S. (2021). Supervised Text Classification with Leveled Homomorphic Encryption. Dans Proceedings 63rd ISI World Statistics Congress (Vol. 11, p. 16). International Statistical Institute - Statistical Science for a Better World (en anglais seulement)

Date de modification :

Technologies d'amélioration de la protection de la vie privée : un survol de l'apprentissage fédéré

Par : Julian Templeton, Statistique Canada

Introduction

Les organismes nationaux de statistique (ONS) utilisent les données recueillies pour fournir des renseignements sur divers sujets, dans l'intérêt public. Malgré leur accès à de vastes quantités de données, il y a des limites à ce qui peut être recueilli ou présenté, quels qu'en soient les avantages. Les ONS doivent veiller à ce que les renseignements personnels restent privés, y compris les données diffusées. Au Canada, il existe des lois qui imposent la protection des données confidentielles, et Statistique Canada doit s'y conformer. Lorsque des données de nature délicate sont recueillies, tout le monde n'est pas convaincu qu'elles resteront privées et protégées, ce qui peut amener certaines personnes à hésiter à fournir leurs données.

Afin de renforcer la protection des données dans l'ensemble du secteur public et de permettre de nouvelles possibilités de collecte, de partage et d'utilisation des données, divers ONS explorent activement des moyens innovants d'utiliser et de recueillir des données de manière privée. Les technologies d'amélioration de la protection de la vie privée ou technologies liées à la protection de la vie privée (TPVP) constituent un nouvel ensemble de techniques actuellement à l'étude (voir : Une brève enquête sur les technologies liées à la protection de la vie privée).

Il existe de nombreux types de techniques d'amélioration de la protection de la vie privée, dont les suivantes.

  • Apprentissage fédéré : Permet de construire des modèles d'apprentissage automatique (AA) à partir de données distribuées, qui restent sur l'unité périphérique d'un client et ne sont pas recueillies. Les clients utilisent leurs données et leur unité périphérique pour entraîner des modèles d'AA locaux, qui sont ensuite recueillis et compilés dans un modèle central. Il s'agit d'un sous-ensemble de l'AA distribué, et nous en parlerons plus en détail dans le présent article.
  • Chiffrement homomorphe : Permet d'effectuer des opérations mathématiques sur des données chiffrées afin de préserver la protection de la vie privée pendant l'utilisation des données. Pour en savoir plus à ce sujet, voir le récent article du Réseau de la science des données : Technologies liées à la protection de la vie privée partie deux : introduction au chiffrement homomorphe.
  • Environnements d'exécution de confiance : Environnements virtuels isolés, également appelés enclaves sécurisées, qui peuvent exécuter du code sans être accessibles ailleurs.
  • Confidentialité différentielle : Ajoute du bruit aux données afin que des modifications puissent leur être occasionnellement apportées. Cela permet de protéger les données et de fournir un déni plausible, de sorte qu'une seule entrée de données peut avoir été modifiée par rapport à son état initial. La suppression d'un seul échantillon de formation de l'ensemble d'apprentissage ne devrait pas avoir d'incidence sur les résultats globaux.
  • Calcul sécurisé multi-parties : Permet à deux parties ou plus d'exécuter conjointement et en toute sécurité des fonctions sur leurs données.

Toutes les techniques d'amélioration de la protection de la vie privée énumérées ci-dessus offrent une méthode unique d'amélioration de la protection de la vie privée. Cependant, chaque technique présente ses propres inconvénients et doit être sélectionnée en fonction du cas d'utilisation dérivé. Bien qu'aucune technique d'amélioration de la protection de la vie privée ne soit une solution universelle aux problèmes de protection de la vie privée, différentes techniques peuvent être utilisées en conjonction les unes avec les autres pour assurer une meilleure protection de la vie privée dans l'ensemble. Statistique Canada est en phase de recherche sur les techniques d'amélioration de la protection de la vie privée. Il devient évident que l'adoption généralisée de techniques d'amélioration de la protection de la vie privée dans les secteurs public et privé sera nécessaire à mesure que la confidentialité des données deviendra plus courante et que de nouvelles lois sur la confidentialité des données seront adoptées.

L'une des méthodes d'exploration des statistiques consiste à utiliser des modèles d'AA, qui visent à apprendre des modèles par l'intermédiaire des données et à fournir des données de sortie cibles. Différents ONS utilisent déjà ou commencent à utiliser l'AA pour soutenir les processus internes, alléger la charge des analystes et améliorer l'efficacité globale. L'un des défis de l'AA est que la qualité des données utilisées est importante pour obtenir un modèle performant. D'après un dicton courant dans le domaine de l'intelligence artificielle, et même dans d'autres domaines de la science des données, on dit : « à données inexactes, résultats erronés ». Heureusement, les ONS détiennent des données de haute qualité qui peuvent être utilisées de manière appropriée et éthique pour entraîner des modèles d'AA de haute qualité (néanmoins, cet article traite uniquement de la confidentialité des données). Cependant, il peut s'avérer difficile d'acquérir des données de qualité sur des sujets de nature délicate ainsi que des données protégées par la loi pour explorer des statistiques sur des domaines précis.

De toutes les techniques d'amélioration de la protection de la vie privée présentées ci-dessus, l'apprentissage fédéré est l'approche qui permet de générer des modèles d'AA avec des données de nature délicate ou protégées par la loi, en supposant que les clients ou les collaborateurs soient d'accord. Le présent article traite de l'apprentissage fédéré et des cas potentiels de son utilisation dans le secteur public lorsque des recherches plus approfondies auront été menées.

Contexte de l'apprentissage fédéré

L'apprentissage fédéré est une technique d'apprentissage distribué qui vise à construire un modèle d'AA central à partir de sources de données distribuées, sans recueillir les données. Les données distribuées utilisées pour l'entraînement du modèle d'AA centralisé qu'une autorité centrale détiendra restent sur les unités périphériques des clients et n'en partent pas. Les réseaux neuronaux sont utilisés pour l'apprentissage fédéré, car ils utilisent des couches de facteurs de pondération numériques pour l'apprentissage qui sont faciles à regrouper et à partager. Dans le cadre du présent article, un client désigne une personne ou une organisation qui détient des données pertinentes qu'elle accepte d'utiliser dans le cadre du processus d'apprentissage fédéré, en collaboration avec l'autorité centrale. Parmi les exemples de clients, citons les participants à une collecte par approche participative qui utilisent leur ordinateur portatif, leur téléphone ou leur tablette et les organisations détenant des données pertinentes. Une autorité centrale fait référence à la personne ou à l'organisation (comme les ONS ou les entreprises privées) responsable de la détention, de la mise à jour et, possiblement, de la distribution du modèle d'AA central, entraînée sur les unités périphériques des clients avant que la collecte des facteurs de pondération du modèle des clients ne soit envoyée pour être regroupée.

Pour utiliser l'apprentissage fédéré afin d'entraîner un modèle d'AA détenu et initialisé par l'autorité centrale, sans visualiser les données d'entraînement du client, le modèle initial devrait d'abord être entraîné avec les données stockées par l'autorité centrale. Ensuite, l'autorité centrale soumettra des demandes à un sous-ensemble de clients pour entraîner le modèle. Si le client peut entraîner le modèle, il envoie le modèle et les instructions pour que son unité périphérique effectue l'entraînement. Les clients entraîneront ensuite le modèle d'AA fourni en utilisant les données stockées sur leur unité périphérique.

Une fois les modèles entraînés localement, les unités périphériques des clients renverront uniquement les facteurs de pondération du modèle d'AA mis à jour, sans les données utilisées pour l'entraînement. Ces facteurs de pondération sont des nombres ajustés pendant l'entraînement pour en apprendre plus sur les données. L'autorité centrale reçoit ensuite ces facteurs de pondération des clients et les regroupe pour les utiliser comme facteurs de pondération actualisés pour le modèle centralisé. Il en résulte un modèle d'AA entraîné détenu par l'autorité centrale sans recueillir ni apprendre les données détenues par ses clients. Le présent article ne portera pas sur tous les aspects techniques de ce processus ni sur les différentes options offertes, mais je mets en évidence le processus dans la figure ci-dessous.

 
Figure 1 : Vue d’ensemble du processus d’apprentissage fédéré
Figure 1 : Vue d'ensemble du processus d'apprentissage fédéré

Une vue d'ensemble du processus d'apprentissage fédéré. 1) L'autorité centrale dispose d'un modèle qui doit être entraîné. Une demande d'entraînement est fournie à deux clients qui acceptent la demande et reçoivent le modèle. 2) Les unités périphériques des clients utilisent leurs données locales pour entraîner le modèle reçu sur leur unité périphérique. 3) Après l'entraînement, chaque client renvoie ses facteurs de pondération à l'autorité centrale pour un traitement sans les données. 4) L'autorité centrale prend les facteurs de pondération mis à jour et calcule les données regroupées pour mettre à jour le modèle. La valeur w1,1 représente le premier facteur de pondération pour la première couche et la valeur wn,n représente le ne facteur de pondération pour la ne couche. 5) L'autorité centrale utilise les facteurs de pondération actualisés pour mettre à jour le modèle central. 6) Le modèle mis à jour est diffusé aux clients afin qu'ils puissent l'utiliser ou pour faire un entraînement complémentaire. Ce processus est répété au besoin.

Comme pour les autres techniques d'amélioration de la protection de la vie privée, l'apprentissage fédéré dispose de bibliothèques, de sorte que la technique peut être utilisée pour la recherche et la production. Toutefois, il reste encore beaucoup de choses à mettre en œuvre dans ces bibliothèques avant qu'une bibliothèque libre entièrement robuste soit accessible pour la production. D'autres bibliothèques sont créées en permanence, mais même les plus importantes ne sont pas assez sophistiquées pour traiter des problèmes complexes sans de solides compétences en programmation pour compléter les fonctionnalités.

Utilisation de l'apprentissage fédéré pour les organisations

Comme l'apprentissage fédéré permet d'entraîner des réseaux neuronaux dans un environnement distribué sans avoir accès aux données, des projets autrefois impossibles sont désormais envisageables. Un exemple de projet collaboratif de preuve de concept a été présenté au PET Lab des Nations Unies (le laboratoire des techniques d'amélioration de la protection de la vie privée) par divers ONS. Cette preuve de concept explique comment tirer des enseignements à partir de données distribuées sur l'activité physique à l'aide de l'apprentissage fédéré. Ce projet a utilisé et distribué un ensemble de données ouvertes sur l'activité physique parmi les ONS, où chaque ONS considère que ces données sont privées dans le cadre de son projet. Statistique Canada vise à tirer des enseignements à partir des données sur l'activité physique des autres ONS ainsi que de ses propres données privées sur l'activité physique, en construisant un modèle avec des données distribuées sans les recueillir (ce qui atténue les préoccupations juridiques et en matière de confidentialité de chaque ONS). Chaque ONS peut ensuite utiliser le modèle généré à ses propres fins statistiques.

Ce projet a permis de reproduire divers scénarios d'apprentissage fédéré dans lesquels les données distribuées ont généré un modèle détenu par l'autorité centrale sans accéder à aucune des données ni les recueillir. En outre, des expériences comportant l'utilisation d'un chiffrement homomorphe en plus de l'apprentissage fédéré, en chiffrant un sous-ensemble des facteurs de pondération du modèle pour les garder privés, ont également été couronnées de succès dans le cadre du projet.

Cela met en évidence une utilisation claire concernant l'apprentissage fédéré : les organisations qui ne peuvent généralement pas transmettre de données de nature délicate peuvent néanmoins générer des modèles à utiliser à des fins statistiques sans divulguer les données. Cela peut donner l'occasion de réaliser des projets comportant des domaines qui sont de nature délicate ou protégés par la loi et qui ne se produiraient pas autrement, comme certaines collaborations interorganismes. Bien entendu, les ONS et d'autres organisations gouvernementales étudient et expérimentent soigneusement les techniques d'amélioration de la protection de la vie privée et leurs faiblesses avant de prendre des mesures pour rendre ces techniques opérationnelles. Nous y reviendrons plus tard.

Une autre utilisation potentielle des techniques d'amélioration de la protection de la vie privée dans le cadre d'un ONS est celle des activités de collecte par approche participative. Cependant, pour certains sujets, les participants peuvent être réticents à fournir des renseignements, quelle que soit l'incitation. Par conséquent, en offrant une application ou une page Web sécurisée où les utilisateurs peuvent participer sans partager de données, le nombre d'utilisateurs qui hésitent à participer peut être moindre. Il reste néanmoins des défis à déterminer et à anticiper avant de pouvoir mettre en œuvre ces techniques, comme les attaques possibles et les stratégies de communication.

Les défis de l'apprentissage fédéré

Si l'apprentissage fédéré et les autres techniques d'amélioration de la protection de la vie privée peuvent sembler être des outils magiques capables de résoudre tous les problèmes majeurs en matière de protection de la vie privée, il y a des défis à prendre en compte. Une seule technique d'amélioration de la protection de la vie privée ne permet pas d'atténuer complètement tous les risques liés à la protection de la vie privée, mais fournira des mesures d'atténuation supplémentaires permettant de réaliser des projets qui seraient autrement impossibles. Les techniques d'amélioration de la protection de la vie privée à utiliser et la stratégie de communication qui explique la façon dont les données d'un client restent privées sont essentielles et varieront en fonction de chaque cas d'utilisation.

Les techniques d'amélioration de la protection de la vie privée font l'objet de recherches actives, et de nombreuses attaques et défenses contre les techniques d'amélioration de la protection de la vie privée sont à l'étude. Les attaques traditionnelles contre les modèles d'AA peuvent toujours être mises en œuvre contre certaines techniques d'amélioration de la protection de la vie privée et nécessitent toujours des défenses, ce qui fait que la technique d'amélioration de la protection de la vie privée agit comme une mesure de protection de la vie privée supplémentaire qui nécessite toujours des défenses contre les attaques. Par exemple, une attaque par inférence d'appartenance peut être effectuée pour déterminer si des données ont été utilisées pour entraîner un modèle. Comme l'apprentissage fédéré combine les facteurs de pondération des modèles recueillis auprès des clients, il y a un degré de défense supplémentaire contre certaines attaques, mais il existe des scénarios où les attaques peuvent encore être efficaces contre le modèle centralisé. Les ONS enquêtent sur ces questions afin de déterminer comment atténuer les attaques et se préparer à rendre les techniques d'amélioration de la protection de la vie privée opérationnelles en toute sécurité à l'avenir.

S'il existe des bibliothèques de programmation accessibles pour utiliser l'apprentissage fédéré, toutes ne sont pas prêtes à être utilisées dans des systèmes de production sans avoir de défis à relever ou en utilisant des logiciels payants (qui peuvent encore ne pas inclure toutes les fonctionnalités nécessaires à un cas d'utilisation). Par conséquent, l'un des principaux défis à relever par la communauté des techniques d'amélioration de la protection de la vie privée sera de continuer à développer des logiciels libres que les personnes ou les organisations pourront utiliser facilement et en toute confiance, au-delà des contextes de simulation.

Le dernier défi central à évoquer est celui des stratégies de communication entourant l'utilisation de l'apprentissage fédéré. Lorsque les organisations collaborent au moyen de l'apprentissage fédéré, elles peuvent procéder à un audit du code base et participer à son développement pour s'assurer qu'il est correctement mis en œuvre et qu'il peut être utilisé en toute sécurité avec leurs données. Il est donc plus facile à utiliser dans le cadre de collaborations professionnelles où des experts sont disponibles pour évaluer et développer les systèmes. Cependant, dans un cadre public, l'histoire est tout à fait différente. Chaque client devra être convaincu que l'approche fonctionne et que ses données ne quitteront jamais réellement son unité périphérique. Étant donné les difficultés générales entourant la confiance entre les utilisateurs et les organisations, il s'agit d'un obstacle important que les communautés et les organisations chargées des techniques d'amélioration de la protection de la vie privée devront surmonter.

Conclusions

L'apprentissage fédéré est un outil important qui peut conduire à des occasions qui ne sont pas possibles autrement. En générant des modèles d'AA sans avoir accès aux données utilisées pour l'entraînement, les ONS peuvent fournir au public des renseignements qu'il serait impossible de fournir autrement. Cette technique est actuellement utilisée par des organisations privées et fait l'objet de recherches actives. Les ONS étudient les techniques d'amélioration de la protection de la vie privée dans l'intention de favoriser les collaborations à l'échelle mondiale qui peuvent apporter un avantage à la société dans son ensemble. Ce travail de recherche peut également s'étendre à d'autres organisations publiques et permettre davantage de collaborations interorganismes au sein de la fonction publique. Bien qu'il reste encore beaucoup de travail à faire à Statistique Canada avant de rendre fonctionnel l'apprentissage fédéré, la poursuite de nos recherches permettra d'améliorer la protection de la vie privée et de produire davantage de statistiques.

L'apprentissage fédéré présente de nombreux défis qui doivent être relevés, mais les ONS et les communautés internationales des techniques d'amélioration de la protection de la vie privée continueront à collaborer et à utiliser la technique de manière sûre et efficace, en maintenant la protection de la vie privée au premier plan de toutes les initiatives. Chaque technique d'amélioration de la protection de la vie privée fera l'objet d'une analyse des attaques afin de prouver qu'il s'agit d'une méthode de protection de la vie privée solide. Tout cela devra être clairement communiqué au public et aux autres organisations.

Rencontre avec le scientifique des données

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à une Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Jeudi, le 15 décembre
14 h 00 à 15 h 00 HE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Tirer des avantages pour le public à partir des données administratives : une méthode d’amélioration de l’analyse à l’aide de données couplées

Par : Sarry Zheng et Howard Swerdfeger, École de la fonction publique du Canada

La vie quotidienne des Canadiens est de plus en plus façonnée par de nouvelles technologies et de nouveaux services qui sont fondés sur les données. En utilisant ces technologies et ces services, le gouvernement du Canada est en mesure d'accéder à des données provenant de sources multiples afin de mieux répondre aux besoins des citoyens et d'éclairer la prise de décisions.

L'Environnement de fichiers couplables de Statistique Canada est l'un des moyens permettant d'améliorer l'analyse. Il s'agit d'un environnement au niveau des entreprises qui permet de coupler les données administratives aux renseignements sur les entreprises et les particuliers dans l'ensemble du Canada. Cet outil permet d'accéder à des renseignements plus précis et à des analyses plus complètes. Il permet également de réduire le fardeau d'enquête et de réponse des ministères et des industries privées.

Qu'entend-on par données couplées?

Les données couplées découlent d'un processus par lequel les enregistrements de différentes sources de données sont réunis en un seul fichier à l'aide d'identificateurs comme le nom, la date de naissance, l'adresse et d'autres caractéristiques. Ce processus est également connu sous le nom de couplage d'enregistrements, d'appariement de données et de résolution d'entités, entre autres termes. L'idée initiale du couplage de données remonte aux années 1950. Cette technique est utilisée dans de nombreux domaines tels que l'entreposage de données, les renseignements organisationnels et la recherche médicale.

Types de couplage

Il existe deux types de couplage : l'appariement statistique et l'appariement exact.

  1. L'appariement statistique permet de créer un fichier qui reflète la répartition de la population sous-jacente. Les enregistrements qui sont combinés ne correspondent pas nécessairement à la même entité, comme une personne ou une entreprise. On suppose que la relation des variables dans la population sera semblable à la relation dans le fichier. Cette méthode est fréquemment utilisée dans les études de marché.
  2. L'appariement exact consiste à coupler les renseignements relatifs à un enregistrement particulier dans un fichier aux renseignements d'un autre fichier afin de créer un seul fichier contenant les renseignements exacts pour chaque enregistrement. Il en existe deux sous-types : le couplage d'enregistrements déterministe et le couplage d'enregistrements probabiliste.Note de bas de page 1
    • Le couplage d'enregistrements déterministe permet de coupler des enregistrements à partir d'identificateurs communs entre les sources de données.
    • Le couplage d'enregistrements probabiliste permet de coupler des enregistrements lorsque leurs colonnes ne sont pas toutes identiques, selon la probabilité que les enregistrements correspondent.

Couplage d'enregistrements probabiliste

Le couplage d'enregistrements probabiliste est une méthode pouvant servir à coupler des fichiers de données et à créer un ensemble de paires potentielles lorsqu'un ensemble de données ne contient pas d'identificateur unique, qu'il est incomplet ou qu'il comporte des erreurs. Comme nous pouvons le voir à la figure 1, les premiers enregistrements sont identiques, tandis que les deuxièmes et les troisièmes enregistrements correspondent, mais ne sont pas identiques. L'objectif de tout algorithme de couplage d'enregistrements probabiliste est de reproduire la capacité d'un être humain d'affirmer avec une grande certitude que ces entités sont les mêmes.

Figure 1 Exemple d'ensembles de données à joindre pour effectuer un couplage probabiliste
Description - Figure 1 Exemple d'ensembles de données à joindre pour effectuer un couplage probabiliste
Exemple d'ensembles de données 1
Nom de l'entreprise Adresse Ville Prov. Code postal No de permis Nombre de produits
ABC inc. 1072, rue Booth Saskatoon Sask. S5P 1E4 1111 50
XYZ ltée 118, Hammer Way Richmond C.-B. V7A 5E5 1112 3
613 Canada inc. 210, rue Glasgow Ottawa Ont. K1A 0E4 1113 500

Appariement des identificateurs identiques, seuil de 97 %

Exemple d'ensembles de données 2
Nom_entreprise Addr. Ville Prov. C.P.
ABC inc. 1072, rue Booth Saskatoon Sask. S5P 1E4
XYZ limitée 118, Hammer Way Richmond C.-B. V7A 5E5
613 Canada Incorporated 10200 - 210, rue Glassgow Ottawa ON K1A 0E4

Pratiques normalisées

L'un des outils que Statistique Canada utilise pour effectuer des couplages d'enregistrements probabilistes est le logiciel SAS appelé G-Coup. Ce logiciel représente une mise en œuvre directe de l'algorithme de couplage d'enregistrements de Fellegi-Sunter, qui est offert comme application Windows.

À mesure que la puissance de calcul s'accroît, ce qui permet de coupler de plus grands ensembles de données en moins de temps et de les rendre accessibles sur des ordinateurs de bureau, la mise au point de nouveaux modèles théoriques et l'amélioration des méthodologies et des logiciels existants sont de plus en plus répandues. Par exemple, la trousse d'outils de couplage d'enregistrements dans Python (anglais seulement) et l'outil reclin (anglais seulement) dans R sont deux exemples de logiciels ouverts faciles à utiliser qui s'intègrent bien à la méthode de couplage d'enregistrements de Fellegi-Sunter.

Algorithme de Fellegi-Sunter

Depuis sa publication, l'algorithme de Fellegi-Sunter (1969)Note de bas de page 2 est devenu l'approche utilisée de facto pour faire le couplage d'enregistrements probabiliste. Ce modèle consiste à estimer les poids d'appariement pour chaque colonne individuelle et à combiner ces poids d'appariement en une probabilité d'appariement globale. En supposant que les variables doivent être indépendantes étant donné l'état de l'appariement, on peut combiner le modèle avec le théorème de Bayes et le quantifier à l'aide de deux paramètres clés pour chaque colonne, soit les probabilités m et u, où :

  • m est la probabilité que les valeurs d'une colonne donnée ne correspondent pas, mais que les enregistrements soient les mêmes.
  • u est la probabilité que les valeurs d'une colonne donnée soient les mêmes, mais pas les enregistrements.

Selon le théorème de Bayes

PR|D=PD|R*PRPD

où :

  • PR est la probabilité d'un appariement d'enregistrements.
  • PD est la probabilité d'appariement de certains éléments d'information.

En développant le dénominateur,

PR|D=PD|R*PRPD|R*PD+PD|R¯*PR¯

où :

  • PR¯ est la probabilité que deux enregistrements ne correspondent pas, ou 1-PR.

Comme nous avons plusieurs colonnes ou plusieurs lignes de données disponibles, nous pourrions utiliser mi et ui pour calculer les probabilités m et u de la ie colonne.

PR|D=i=1Ncolmi*PRi=1Ncolmi*PR+i=1Ncolui*1-PR

Dr. Yvan P. Fellegi

M. Yvan P. Fellegi a été statisticien en chef de Statistique Canada de 1985 à 2008. Au cours de son mandat, il a mis en application de nouvelles méthodes de collecte et de compilation de statistiques nationales. Il a aussi défendu haut et fort l'indépendance de l'organisme par rapport à la politique. En juin 2008, à la retraite de M. Fellegi, le Gouvernement canadien l'a nommé statisticien en chef émérite.

Comparaisons de chaînes

L'algorithme de Fellegi-Sunter a au moins un désavantage qui se règle habituellement lors des applications pratiques. Dans la pratique, pour de nombreuses colonnes, les probabilités m et u ne sont souvent pas fondées sur la probabilité que deux colonnes soient identiques, mais plutôt sur l'utilisation d'une fonction de distance appropriée pour mesurer la similarité entre deux colonnes, puis pour calculer le seuil. Les probabilités m et u seraient alors fondées sur ces seuils.

Pour les chaînes, il existe plusieurs fonctions de distance courantes, chacune pouvant être utile pour combiner des données et tenir compte des différences prévues (fautes d'orthographe) dans l'ensemble de données. Certaines de ces fonctions sont résumées ci-dessous :

Exemple d'ensembles de données 3
Fonctions de distance Nom de l'entreprise Nom_entreprise
Jaro-Winkler La société Odyssée d'Homère La société Odyssée d'Homer
Sous-chaîne commune la plus longue La société Nain tracassin Société Nain tracassin et fils
Distance de Levenshtein Quasimodo et Esmeralda inc.  Quazimodo et Ezmeralda inc.
Cosinus Les entreprises William « Bill » S. Preston et Ted « Theodore » Logan Les entreprises Ted « Theodore » Logan et William « Bill » S. Preston
Couplage d'unités lexicales Cabinet d'avocats Legal Eagle Legal Eagle (2017) avocats

Couplage d'unités lexicales

Bien que la combinaison de l'algorithme de Fellegi-Sunter et de mesures traditionnelles de la distance des chaînes soit très utile, elle présente plusieurs lacunes possibles :

  • Pour les colonnes qui comportent des niveaux catégoriques et qui ne sont pas réparties uniformément, seul le taux d'appariement moyen est pris en compte pour le paramètre u. Il faut penser à apparier la colonne de la ville avec la valeur « Williamstown », ce qui est bien plus porteur de renseignements que l'appariement de la valeur « Toronto ».
  • La plupart des algorithmes de distance des chaînes fonctionnent sur le plan des caractères. Ils partent du principe que les distances sémantiques sont des fonctions des caractères qui composent une chaîne, tandis que, en français comme en anglais, l'information est transmise aux lecteurs par les mots.

L'algorithme de couplage d'unités lexicales et le progiciel R permettent de corriger ces problèmes. L'algorithme peut aider à relever les enregistrements où plusieurs niveaux catégoriques sont présents. Il permet également d'indiquer les colonnes comportant plusieurs mots à la fois, comme le nom ou l'adresse d'une entreprise.

L'algorithme de base consiste à accomplir les étapes suivantes :

  1. Segmentez en unités lexicales les mots dans la colonne et comptez les occurrences de chaque unité lexicale dans l'ensemble de données.
    Figure 2 : Mots segmentés en unités lexicales dans chaque colonne
    Description - Figure 2 : Mots segmentés en unités lexicales dans chaque colonne
    Mots segmentés en unités lexicales dans chaque colonne
    id Addresse
    1 742, Evergreen Terrace Springfield
    2 19, rue Plympton, Springfield
    3 744, Evergreen Terr, Springfield
    4 100, Industrial Way Springfield

    Nettoyez et segmentez

    Nettoyez et segmentez - Unités lexicales
    id Unité lexicale
    1 742
    1 Evergreen
    1 Terrace
    1 Springfield
    2 19
    2 Pympton
    2 Rue
    2 Springfield
    3 744
    3 Evergreen
    3 Terrace

    Dénombrez les unités lexicales

    Dénombrez les unités lexicales
    Unité lexicale N
    Springfield 24
    Evergreen 12
    Terrace 12
    Plympton 6
    Industrial 4
  2. Répétez la procédure de segmentation en unités lexicales et de dénombrement pour un autre ensemble de données.
  3. Créez une jointure externe complète pour les unités lexicales à deux mots.
    Jointure externe complète pour les unités lexicales
    Unité lexicale N_a N_b U_prob
    Springfield 24 7 500 3,7%
    Evergreen 12 2 0,0005%
    Terrace 12 500 0,12%
    Plympton 6 1 0,00013%
    Industrial 4 8 0,00067%
  4. Utilisez cette option pour estimer la probabilité U pour chaque unité lexicale, où nta et ntb représentent le nombre d'occurrences de l'unité lexicale t dans l'ensemble de données a ou b, et Na et Nb représentent le nombre d'enregistrements dans l'ensemble de données a et b.
    Ut=nta*ntbNa*Nb
  5. Estimez la probabilité m dans son ensemble ou indépendamment pour chaque unité lexicale.
  6. Joignez le fichier fusionné des unités lexicales dénombrées aux deux ensembles de données originaux, en calculant la probabilité PR|Ti-1Nt que deux enregistrements soient identiques étant donné qu'ils ont une unité lexicale en commun.
    PR|Ti-1Nt=t=1Ntmt*PRt=1Ntmt*PR+t=1Ntut*1-PR

Voici quelques-unes des limites de la technique de couplage d'unités lexicales :

  • Comme toutes les méthodes liées à l'algorithme de Fellegi-Sunter, cette technique présuppose que les éléments d'information sont indépendants. Le couplage d'unités lexicales part du principe que les mots sont indépendants. Par exemple, alors que les mots « recherche et développement » apparaissent souvent ensemble et ne devraient pas être traités indépendamment, cet algorithme traiterait ces mots comme des unités indépendantes et distinctes.
  • Cet algorithme ne tient pas compte de l'ordre des mots. Ainsi, la combinaison « Bill et Ted » serait considérée comme identique à « Ted et Bill ».
  • L'algorithme a de la difficulté à trouver des correspondances si une simple faute d'orthographe se trouve dans un mot d'identification important. Par exemple, cet algorithme pourrait avoir plus de difficulté à trouver la paire d'enregistrements « café Starbucks » et « Café Starbacks » que la paire d'enregistrements « café Starbucks coffee » et « Cofé Starbucks ».

Pour en savoir plus sur cette technique, consultez TokenLink sur GitHub (en anglais).

Pour commencer

L'Environnement de fichiers couplables (EFC) de Statistique Canada offre un soutien aux utilisateurs et aux partenaires pour leurs recherches et leurs rapports selon le principe du recouvrement des coûts. Pour en savoir plus sur ce service offert, communiquez avec l'équipe de l'EFC.

Les ministères qui souhaitent extraire de la valeur des données sur leurs parties réglementées en utilisant des données couplées doivent tenir compte de trois choses.

Identificateurs uniques

Songez à recueillir des identificateurs uniques, comme le numéro d'entreprise, auprès de vos parties réglementées. Bien qu'il soit possible de coupler des données sans identificateurs uniques au moyen de caractéristiques comme le nom ou l'adresse de l'entreprise, cela peut entraîner des erreurs dans le processus de couplage. Le taux d'erreur est souvent lié à la qualité des données et au mécanisme de collecte des données.

Statistiques sommaires

Déterminez quelle mesure sommaire demander. S'il existe un risque d'erreur dans le processus de couplage, certaines mesures sommaires sont plus efficaces que d'autres pour prévenir les valeurs aberrantes. Comme mesures de la tendance centrale et de la variation, pensez à demander la médiane et l'intervalle interquartile plutôt que la moyenne arithmétique et l'écart-type, car les deux premières mesures sont plus efficaces que les deux dernières pour prévenir les valeurs aberrantes.

Granularité et taille des données

Tenez compte des éventuelles suppressions de données. Si un ministère demande que les données soient résumées à un niveau très détaillé et qu'il n'y a pas un grand nombre de parties réglementées, il se pourrait qu'on supprime les cellules d'un tableau sommaire pour protéger la confidentialité des entités et se conformer à la Loi sur la statistique. En général, plus les ensembles de données sont grands, plus le niveau d'agrégation des données peut être affiné.

Remerciements

L'Environnement de fichiers couplables de Statistique Canada; Zhuo (Sarah) Zhang, Robert Dorling, Ministre des pêches et océans Canada

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à une Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Jeudi, le 17 novembre
14 h 00 à 15 h 00 HNE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Segmentation d'image en imagerie médicale

Par Loïc Muhirwa, Statistique Canada

Introduction

Étant donné que de nombreuses applications nécessitent l'identification des substructures des images numériques, la segmentation est une procédure fondamentale de prétraitement. La segmentation binaire entre l'avant-plan et l'arrière-plan d'une image, d'application très large, est un exemple canonique de segmentation d'image. En imagerie médicale, il peut être nécessaire de segmenter des images de résonance magnétique (RM) ou de tomodensitométrie (TDM) d'un organe en structures anatomiques distinctes ou de segmenter différents types de tissus. Dans le domaine de la neuroimagerie particulièrement, il est possible de segmenter le cerveau humain selon le tissu principal (matière blanche et grise) ou selon l'état de santé d'un tissu, c'est-à-dire sain ou avec lésion.

Pour mettre en forme ces idées, il nous faut une représentation mathématique d'une image. Il existe plusieurs manières de représenter les images, selon les applications; certaines sont plus pratiques que d'autres. Comme le décrit l'article, en raison de la multiplicité des méthodes de segmentation d'image, il est difficile de trouver une représentation mathématique unique d'une image. Malgré cela, nous adopterons une représentation primaire, de laquelle nous pourrons nous écarter aux fins de simplification de la notation ou pour régler les cas dans lesquels une image est un objet discret, par opposition à un objet continu. Formellement, une image peut être représentée comme une table de pixels d'un domaine d'image à un domaine d'intensité, comme suit :

I Ω  R

où le domaine d'image Ω est un espace compact et un sous-ensemble simplement connexe de Rdford2, 3 pour des images en 2D ou 3D, également appelé volumes (voir : la définition de simplement connexe – le contenu de cette page est en anglais). Par ailleurs, sans perte de généralité, l'article étudie seulement les images aux valeurs d'intensité unidimensionnelles, telles que les images en niveaux de gris. Il s'agit d'une définition implicite étant donné que l'image est mise en correspondance avec R. Dans cette représentation d'image, nous pouvons définir conceptuellement une segmentation Z de l'image I comme étant la carte suivante :

ZΩ0,...,K-1,

K est le nombre de segments d'image distincts.

Figure 1 : Segmentation d'une coupe axiale du cerveau. Le rouge, le vert et le bleu correspondent respectivement à la matière blanche, à la matière grise et au liquide céphalorachidien. (Source de l'image : A review of medical image segmentation: methods and available software.Footnote 21)

Figure 1 : Segmentation d'une coupe axiale du cerveau. Le rouge, le vert et le bleu correspondent respectivement à la matière blanche, à la matière grise et au liquide céphalorachidien. (Source de l'image : A review of medical image segmentation: methods
Description - Figure 1: Segmentation d'une coupe axiale du cerveau. Le rouge, le vert et le bleu correspondent respectivement à la matière blanche, à la matière grise et au liquide céphalorachidien. (Source de l'image : A review of medical image segmentation: methods and available software.

Imagerie cérébrale d'une coupe axiale à gauche en noir et blanc, et segmentation des tissus représentée par les couleurs rouge, vert et bleu à droite. Les couleurs de l'image de droite correspondent respectivement à la matière blanche, à la matière grise et au liquide céphalorachidien, de l'image de gauche.

En gros, la segmentation des images numériques peut être classée en deux catégories : la segmentation manuelle et la segmentation automatique. Dans la segmentation manuelle, un être humain annote manuellement les différents segments dans une image numérique, tandis que dans la segmentation automatique, un algorithme automatisé segmente l'image. La segmentation manuelle présente plusieurs difficultés, notamment en matière de coût, de temps et d'uniformité. Premièrement, dans de nombreuses applications, la personne qui annote les images doit être spécialiste du domaine, ce qui rend la segmentation manuelle difficile et coûteuse sur le plan opérationnel.

Si l'on prend l'exemple de la neuroimagerie médicale, certains des types de segmentation les plus courants consistent en une segmentation selon le type de tissu, qui classe le tissu cérébral en trois grands types : matière blanche, matière grise et liquide céphalorachidien (voir la figure 1). L'annotation manuelle du volume d'images neurologiques d'un seul patient nécessite beaucoup de temps et des connaissances de radiologue. Deuxièmement, le traitement d'image peut nécessiter l'annotation de centaines d'images, ce qui est ingérable en cas de traitement manuel. Troisièmement, les segmentations manuelles varient considérablement d'une personne à l'autre, y compris quand elles sont réalisées par des spécialistesFootnote 1. Certains tomodensitomètres peuvent produire des images facilement segmentables par un procédé automatique. À titre d'exemple, comme une image neurologique de tomodensitométrie a des intensités ayant une correspondance physique fixe, la segmentation automatisée ne pose pas de difficulté. Pour ces raisons et bien d'autres, il faut privilégier la segmentation automatique.

Dans les sections suivantes, nous classerons les méthodes de segmentation automatique en deux catégories : les méthodes fondées sur un modèle génératif et les méthodes d'apprentissage profond.

Segmentation automatique – Méthodes fondées sur un modèle génératif

Dans les méthodes fondées sur un modèle génératif, la segmentation d'une image est modélisée comme un problème d'inférence statistique. Plus précisément, on spécifie un modèle génératif de l'image, dans lequel la segmentation est une variable latente et la segmentation d'une image correspond à l'inférence de cette variable.

Modèles univariés

Pour ce qui est des points, la méthode univariée modélise les intensités d'image de différents segments en tant que sous-populations à partir d'un modèle par mélanges finis (MMF) avec des distributions d'intensité différentes décrivant les processus de génération de données de différents segments. Dans le cadre de cette modélisation, les intensités d'image appartenant à des segments donnés sont tirées de mélanges distincts. Un des cas particuliers de MMF souvent utilisé dans la segmentation d'image est un modèle de mélange gaussien (MMG) dans lequel les distributions de mélange sont gaussiennes.Footnote 2Footnote 3Footnote 4 Au moyen d'un MMG, nous montrerons comment un modèle génératif peut servir à segmenter une image. L'image est représentée par une variable aléatoire I qui est un ensemble de variables aléatoires indépendantes I(x)   avec un support R et l'on suppose que Z(x)  est une variable aléatoire avec un support 0,1k représentant la valeur d'intensité et l'affectation de mélange pour un élément de domaine d'image xΩ respectivement. Soit π un vecteur de variable aléatoire avec un support [0,1]k comme probabilités de mélange, où la ke entrée πk indique la probabilité d'appartenance au ke segment d'image. En supposant une configuration bayésienne,  Z(x)| π ~ Categorical(π) est une variable latente telle que cet événement Z(x)k=1 indique que x appartient au ke segment d'image et qu'il existe une loi a priori de Dirichlet sur les probabilités de mélange, à savoir π ~ Dirichlet(β) La fonction de densité conjointe de probabilité d'affectation de segment et d'intensité à une valeur xΩ donnée a la forme suivante :

Ix=x,Zx=z|π,μ,σ k=1KƝ(μ,σ2)zkk=1KπkzkΓ(Kβ)Γ(β)k=1Kπkβ-1

μ et σ sont des ensembles de paramètres de moyenne et de variance, respectivement, pour chaque mélange et β représente des paramètres de parcimonie de Dirichlet.

Modèles multivariés

Contrairement aux méthodes univariées, les méthodes multivariées modélisent la distribution d'intensité sur l'ensemble d'un domaine d'image, tout en tenant compte des dépendances à long terme entre pixels. Les champs aléatoires de Markov (CAM) sont une classe de modèles qui spécifient une distribution dans le domaine de l'image en commençant par discrétiser le domaine de manière à ce que

Ω=1,...,Md

pour certains M N and d2,3. Après cette discrétisation, la segmentation et les intensités sont indexées par les sommets d'un graphe non orienté et par les sommets adjacents correspondant aux pixels adjacents.Footnote 5 Supposons d'abord que les estimations d'intensité moyenne pour chaque classe de segments sont données, puis soit μk et σ2k be the mean and variance intensity estimate for the ke segment d'image. Nous pouvons alors définir une fonctionnelle qui correspond à la probabilité log négative du modèle et qui a la forme suivante :

HZ=k=1Kx  ΩlZx=kI(x)-μkσk2+λx  Ωly  NxlδZx,y

N(x)  est l'ensemble de sommets adjacents à x, l()  est une fonction indicatrice et δZ(x,y) est un terme de pénalité qui pénalise les emplacements voisins dans le domaine d'image qui n'ont pas en commun les étiquettes de segment. En pratique μk σ2k sont généralement obtenus par un étiquetage partiel (semi-supervisé) effectué par un spécialiste du domaine. Dans l'équation précédente, la première double sommation pénalise un Z()  qui étiquette les pixels dont les intensités s'écartent considérablement de l'intensité moyenne dans cette classe de segments. Pour la classe de segments, la distance par rapport à la moyenne est normalisée par l'écart-type afin que la proximité de la moyenne entre classes de segments soit comparable. La deuxième sommation double favorise un Z qui donne aux pixels voisins la même étiquette, et λ est un paramètre qui équilibre les deux sommations doubles.

Inférence et apprentissage

Comme cela a été dit plus haut, dans le contexte des modèles génératifs, la segmentation d'image est un problème statistique dans lequel la segmentation est inférée et les paramètres qui régissent le modèle génératif sont appris. Dans cette sous-section, nous donnons des exemples de problèmes d'inférence qui se posent couramment dans la segmentation d'image.

Maximum de vraisemblance et estimation du maximum a posteriori

Si nous avons accès à une distribution a posteriori ou une vraisemblance soluble, cette inférence est réalisable au moyen d'une estimation par la méthode du maximum de vraisemblance (EMV) ou d'une estimation du maximum a posteriori (MAP) de l'affectation des segments. De façon plus formelle, dans l'hypothèse d'un contexte bayésien, supposons que nous avons accès à une distribution a posteriori soluble et au comportement raisonnable p(Z|I) Z et I sont respectivement le MAP de la segmentation et l'image. L'estimation par le MAP du MAP de la segmentation aurait la forme suivante :

ZMAP=argmaxzp(Z|I).

Il n'est pas toujours facile de tirer un échantillon en cas de distribution a posteriori d'une segmentation; cela est particulièrement vrai pour les CAM. Dans ces scénarios, on utilise généralement des méthodes Monte Carlo par chaînes de Markov (MCMC) fondées sur des graphes. Plus précisément, un échantillonnage de Gibbs est généralement utilisé pour les CAMFootnote 6 puisqu'il s'agit d'un cas particulier de champ aléatoire conditionnel (CAC), ce qui permet de relativement facilement spécifier chaque affectation de segment comme une probabilité conditionnelle.

Inférence variationnelle

Plutôt que d'échantillonner une distribution a posteriori insoluble, on peut utiliser une méthode dite d'inférence variationnelle (IV) pour estimer la distribution a posteriori au moyen d'une distribution issue d'une famille de distributions solubles. Cette famille de distributions solubles est celle des distributions variationnelles, d'après le calcul des variations ou calcul variationnel. Après spécification de la famille de distributions, on peut estimer la distribution a posteriori en trouvant la distribution variationnelle qui optimise certaines mesures entre la distribution a posteriori vraie et elle-même. L'indicateur le plus couramment utilisé pour mesurer la similarité entre deux distributions est la divergence Kullback-Leibler (KL), définie comme suit :

KLq||p=Ez[logq(z)p(z|x)]

q()  est une densité approximative et p() est une densité vraie sur le même support. L'inférence de la segmentation latente au moyen de cette approximation de distribution peut être formulée comme un problème d'inférence d'espérance-maximisation bayésienne variationnelle (EMBV).Footnote 7 Une analyse plus approfondie de l'inférence variationnelle peut se trouver dans la section 4 de Variational Inference.Footnote 8

Méthodes d'apprentissage profond

Depuis quelques années, les méthodes d'apprentissage profond (AP) ont été appliquées avec succès à de nombreuses tâches d'apprentissage. Il a été démontré qu'elles surpassent des techniques antérieures d'apprentissage automatique de pointe, en particulier dans le domaine de la vision par ordinateur.Footnote 9 Vaguement inspirées des modèles informatiques d'apprentissage biologique, les méthodes d'AP donnent des modèles informatiques efficaces et extrêmement parallélisables de couches de traitement multiples qui apprennent implicitement des représentations de données.Footnote 10 Les configurations structurelles de ces couches de traitement sont connues sous le nom d'architectures. Certaines des architectures prédominantes dans la vision par ordinateur comprennent les réseaux antagonistes génératifs (ou GAN pour l'anglais)Footnote 11 les réseaux de neurones récurrents (ou RNN en anglais)Footnote 12 et les réseaux neuronaux convolutifs Footnote 13 ces derniers affichant des performances particulièrement bonnes en segmentation d'image. Un réseau neuronal convolutif en 3D appliqué à la segmentation des lésions cérébralesFootnote 14 a permis d'améliorer le modèle précédent pour obtenir les meilleures performances des ensembles de données de référence publics BRATS 2015Footnote 15 et ISLES 2015Footnote 16 (ensembles de données publics utilisés dans les défis sur la segmentation des lésions cérébrales).

Réseaux neuronaux convolutifs

Figure 2 : Processus typique de segmentation par apprentissage profond avec un réseau neuronal convolutif. Source de l'image : Going Deep in Medical Image Analysis: Concepts, Methods, Challenges and Future DirectionsFootnote 17

Figure 2 : Processus typique de segmentation par apprentissage profond avec un réseau neuronal convolutif. Source de l'image : Going Deep in Medical Image Analysis: Concepts, Methods, Challenges and Future Directions
Description - Figure 2 : Processus typique de segmentation par apprentissage profond avec un réseau neuronal convolutif. Source de l'image : Going Deep in Medical Image Analysis: Concepts, Methods, Challenges and Future Directions.

Le processus typique de segmentation par apprentissage profond avec un modèle fondé sur un réseau neuronal convolutif consiste d'abord à comprimer l'image source avec une pile de couches de convolution, d'activation et de regroupement différentes.

À l'heure actuelle, les réseaux neuronaux convolutifs sont considérés comme les réseaux les plus à la pointe de la technologie pour les problèmes de segmentation d'image par AP supervisé.Footnote 18 Leur architecture s'inspire d'un modèle de champ récepteur hiérarchique du cortex visuel et comprend généralement la composition de trois types de couches :

  1. couches de convolution, où un noyau (filtre) est convolué sur des entrées pour extraire une hiérarchie de caractéristiques;
  2. couches non linéaires, qui permettent de mapper les entrées aux espaces de caractéristiques;
  3. couches de regroupement, qui réduisent la résolution spatiale en agrégeant les informations locales.

Chaque couche est constituée d'unités de traitement connectées localement. Ces connexions locales sont appelées champs récepteurs. Les couches sont généralement composées pour former une pyramide multirésolution dans laquelle les couches de niveau supérieur apprennent les caractéristiques de champs récepteurs plus larges. Les paramètres du modèle sont généralement appris au moyen d'une version stochastique de l'algorithme de rétropropagationFootnote 19 qui est une routine d'optimisation par gradient propageant efficacement le gradient du résidu à travers le réseau.

Méthodes d'évaluation

En général, les méthodes d'évaluation de la segmentation supervisée tentent de quantifier le degré de chevauchement entre une segmentation estimée et la segmentation réelle sur le terrain. En utilisant la notation cartographique d'une segmentation de l'expression (2), nous pouvons comprendre de façon équivalente la segmentation comme un ensemble avec l'image de sa carte, c'est-à-dire Z(Ω). 

Le coefficient de Dice (D) est l'une des méthodes d'évaluation de la segmentation les plus populaires et les plus faciles à comprendre sur le plan conceptuel. Pour deux segmentations A et B, le coefficient de Dice est calculé comme suit

DA,B= 2|AB||A| + |B|

Le coefficient de Jaccard (J) — une autre méthode d'évaluation de la segmentation — est lié au coefficient de Dice par l'expression suivante

D= 2J1+J

D est connu pour produire des valeurs plus grandes pour des volumes plus élevés. Une autre méthode d'évaluation de la segmentation est la distance de Hausdorff moyenne, qui est particulièrement recommandée pour les tâches de segmentation présentant des limites complexes et de petits segments minces. Comparativement au coefficient de Dice, la distance de Hausdorff moyenne a l'avantage de tenir compte de la localisation quand on considère les performances de la segmentationFootnote 20 Pour deux segmentations A et B, qui sont des sous-ensembles non vides d'un espace métrique (S,d), la distance de Hausdorff moyenne est calculée comme suit :

HA,B=121|A|xAmindyBx,y+1|B|xAmindyBx,y.

Pour connaître d'autres méthodes d'évaluation, se reporter à Metrics for evaluating 3D medical image segmentationFootnote 22

Conclusion

En conclusion, la segmentation d'image est une technique cruciale dans le traitement d'image en général et en imagerie médicale en particulier. Ce processus est une partie essentielle d'un pipeline de traitement d'image qui nécessite des analyses d'images en aval, dans lesquelles sont identifiées les sous-structures sémantiques d'une image. L'apprentissage automatique nous permet d'automatiser cette procédure et de conserver la qualité d'exécution d'une annotation par un spécialiste, pour un coût nettement moindre.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à une Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Jeudi, le 17 novembre
14 h 00 à 15 h 00 HNE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

MLflow Tracking : Une façon efficace de suivre les essais de modélisation

Par : Mihir Gajjar, Statistique Canada
Collaborateurs : Reginald Maltais, Allie Maclsaac, Claudia Mokbel et Jeremy Solomon, Statistique Canada

MLflow (le contenu de cette page est en anglais) est une plateforme en source ouverte qui permet de gérer le cycle de vie d'apprentissage automatique, notamment l'expérimentation, la reproductibilité, le déploiement et un registre de modèles central. MLflow propose quatre composantes :

  • MLflow Tracking : enregistrement et interrogation d'essais : code, données, paramètres de configuration et résultats.
  • MLflow Projects : assemblage de code de science des données en un format permettant de reproduire les passages sur n'importe quelle plateforme.
  • MLflow Models : déploiement de modèles d'apprentissage automatique dans divers environnements d'utilisation.
  • Model Registry : stockage, annotation, découverte et gestion de modèles au sein d'un répertoire central.

Cet article se concentre sur MLflow Tracking. Le site Web de MLflow détaille les trois autres composantes.

Avantages de MLFlow

MLflow Tracking offre une solution pouvant être adaptée de votre machine locale à l'entreprise entière. Cela permet aux scientifiques des données de commencer sur leur machine locale, alors que les organisations peuvent mettre en œuvre une solution veillant à la maintenabilité à long terme et à la transparence au sein d'un répertoire central.

MLflow Tracking fournit des capacités de suivi cohérentes et transparentes en :

  • effectuant le suivi programmatique des paramètres et des résultats correspondants pour les essais de modélisation et en les comparant à l'aide d'une interface utilisateur;
  • récupérant le modèle présentant les meilleurs résultats ainsi que son code correspondant, pour diverses mesures d'intérêt pour tous les essais de différents projets;
  • regardant temporellement en arrière, afin de relever des essais effectués avec certaines valeurs de paramètres;
  • permettant aux membres de l'équipe de procéder à des essais et de faire part des résultats en collaboration;
  • exposant à l'intention de la direction l'état d'avancement de plusieurs projets au sein d'une seule interface ainsi que tous les détails (paramètres, tracé des résultats, mesures, etc.);
  • permettant le suivi pour tous les passages et paramètres au moyen d'un simple carnet; ce qui réduit le temps passé à gérer du code et diverses versions de carnet;
  • fournissant une interface permettant le suivi d'essais basés sur Python et R.

Comment passer d'un essai à un autre avec MLflow?

Cet article se concentre sur l'utilisation de MLflow avec Python. Le document QuickStart (le contenu de cette page est en anglais) relatif à MLflow présente des exemples de son utilisation avec R pour une installation locale sur une seule machine. Les organisations souhaitant déployer MLflow entre des équipes peuvent également se reporter à ce document QuickStart.

Le présent article explore un exemple d'utilisation de MLflow avec Python; toutefois, pour bien comprendre le fonctionnement de MLFlow, il est utile d'effectuer chaque étape sur votre machine.

Installation de MLflow

MLflow peut s'installer comme progiciel Python standard en entrant la commande suivante dans une fenêtre de terminal :

$ pip install mlflow

Une fois l'exécution de la commande terminée, vous pouvez entrer mlflow sur votre terminal et explorer les options disponibles. Vous pouvez essayer, par exemple : mlflow –version , pour vérifier la version installée.

Lancement du serveur MLflow

Il est recommandé de disposer d'un serveur MLflow centralisé pour une personne, une équipe ou une organisation, afin que les passages pour différents projets puissent être journalisés à un emplacement central, en les isolant par essai (différents essais pour différents projets). Nous discutons plus en détail de ces questions plus loin dans le présent article. Pour commencer rapidement à utiliser l'outil, vous pouvez ignorer le lancement du serveur et journaliser tout de même les passages. Ce faisant, les passages sont enregistrés dans un répertoire intitulé « MLruns », dans le même répertoire que le code. Vous pouvez plus tard ouvrir l'interface utilisateur de MLflow en suivant le même chemin d'accès et visualiser les passages journalisés.

Les passages peuvent être journalisés sur un serveur MLflow exécuté localement ou à distance en configurant l'adresse URI (identifiant uniforme de ressource) adéquate de suivi. La configuration de l'emplacement de journalisation adéquat est expliquée plus bas.

Si vous préférez toutefois lancer le serveur immédiatement, vous pouvez le faire en entrant la commande suivante :

$ mlflow server

Le terminal affichera des renseignements similaires à ceux présentés ci-dessous, qui montrent que le serveur écoute au port de serveur local 5000. Cette adresse est utile pour accéder à l'interface utilisateur (IU) de MLflow. N'hésitez pas à explorer la différence subtile entre l'IU de MLflow et le serveur de MLflow dans les documents relatifs à MLflow Tracking (le contenu de cette page est en anglais).

[2021-07-09 16:17:11 –0400] [58373] [INFO] Starting gunicorn 20.1.0
[2021-07-09 16:17:11 –0400] [58373] [INFO] Listening at: http://127.0.0.1:5000 (58373)
[2021-07-09 16:17:11 –0400] [58373] [INFO] Using worker: sync
[2021-07-09 16:17:11 –0400] [58374] [INFO] Booting worker with pid: 58374
[2021-07-09 16:17:11 –0400] [58375] [INFO] Booting worker with pid: 58375
[2021-07-09 16:17:11 –0400] [58376] [INFO] Booting worker with pid: 58376
[2021-07-09 16:17:11 –0400] [58377] [INFO] Booting worker with pid: 58377

Journalisation des données dans MLflow

Deux principaux concepts sous-tendent le suivi avec MLflow : les essais et les passages. Les données journalisées au cours d'un essai sont enregistrées sous forme de passage dans MLflow. Ces passages peuvent être organisés en essai; ce qui regroupe les passages pour une tâche particulière. On peut alors visualiser, rechercher, comparer et télécharger les artéfacts et métadonnées de passages pour les passages journalisés dans le cadre d'un essai MLflow.

Les données d'un essai peuvent être journalisées comme passage dans MLflow à l'aide de progiciels MLflow Python, R ou Java ou au moyen de l'IPA (interface de programmation d'applications) REST.

Le présent article fait la démonstration de la modélisation d'un des concours de mise en route de TLN (traitement du langage naturel) sur Kaggle intitulé « Natural Language Processing with Disaster Tweets (le contenu de cette page est en anglais) ». On utilise un carnet Jupyter et l'IPA Python de MLflow pour journaliser des données dans MLflow. Nous mettrons l'accent sur la démonstration de la façon de journaliser des données dans MLflow au cours de la modélisation, plutôt que sur l'obtention des meilleurs résultats de modélisation.

Tout d'abord, commençons par le processus de modélisation habituel, qui inclut des importations, la lecture de données, le prétraitement de texte, les caractéristiques de pondération rtf-idf (term frequency-inverse document frequency) et le modèle de machine à vecteurs de support (SVM). À la fin, une section sera intitulée « Journalisation dans MLflow ».

Note : Nous maintenons le pipeline TLN aussi simple que possible, afin de porter l'accent sur la journalisation dans MLflow. Certaines des étapes habituelles, comme l'analyse exploratoire des données, ne s'appliquent pas à cet objectif et nous ne les mentionnons donc pas. La façon préférable de journaliser des données dans MLflow est en laissant une portion de code à la fin de la journalisation. Vous pouvez également configurer MLflow au début du code et journaliser les données tout au long du code, lorsque les données ou variables sont disponibles à la journalisation. Un avantage de journaliser toutes les données ensemble à la fin à l'aide d'une seule cellule est que le pipeline entier se termine avec succès et le passage journalise les données (tant que le code de journalisation dans MLflow ne comporte aucun bogue). Si les données sont journalisées tout au long du code et que l'exécution du code est interrompue pour une raison ou une autre, la journalisation des données sera alors incomplète. Toutefois, en cas de scénario où un code comporte plusieurs portions de code (ce qui entraîne une longue exécution), la journalisation tout au long du code, à de multiples emplacements, peut en fait être bénéfique.

Importation des bibliothèques

Commencez par importer toutes les bibliothèques requises par l'exemple :

# To create unique run name.
import time
# To load data in pandas dataframe.
import pandas as pd

# NLP libraries

# To perform lemmatization
from nltk import WordNetLemmatizer
# To split text into words
from nltk. tokenize import word_tokenize
# To remove the stopwords
from nltk.corpus import stopwords

# Scikit-learn libraries

# To use the SVC model
from sklearn.svm import SVC
# To evaluate model performance
from sklearn.model_selection import cross_validate, StratifiedkFold
# To perform Tf-idf vectorization
from sklearn.feature_extraction.text import TfidfVectorizer
# To get the performance metrics
from sklearn.metrics import f1_score, make_scorer
# For logging and tracking experiments
import mlflow

Création d'un nom de passage unique

MLflow permet de suivre plusieurs passages d'un essai grâce à un paramètre de nom de passage. Le nom du passage peut être défini comme toute valeur, mais devrait être unique, afin de pouvoir être identifié ensuite parmi les différents passages. Ci-dessous, un horodatage est utilisé comme nom unique.

run_name = str(int(time.time()))
print('Run name: ', run_name)

On obtient :

Nom de passage : 1625604741 

Lecture des données

Chargez la formation et les données de test à partir des fichiers CSV fournis pour l'exemple.

# Kaggle competition data download link: https://www.kaggle.com/c/nlp-getting-started/data
train_data = pd.read_csv("./data/train.csv")
test_data = pd.read_csv("./data/test.csv")

En exécutant la portion de code suivant dans une cellule :

train_data

La figure 1 présente un exemple de données de formation venant d'être chargées.

Figure 1 : Aperçu des données de formation chargées

Figure 1 : Aperçu des données de formation chargées

Figure 1 : Aperçu des données de formation chargées

Cinq premières et dernières entrées du fichier CSV. Il contient les colonnes id, mot clé, emplacement, texte et cible. Les colonnes de texte contiennent le tweet en tant que tel et la colonne cible, la catégorie.

Figure 1: A preview of the training data that was loaded.
  id Mot clé Emplacement Texte Cible
0 1 NaN Nan Our Deeds are the Reason of this #earthquake M… 1
1 4 NaN Nan Forest fire near La Ronge Sask. Canada 1
2 5 NaN Nan All residents asked to 'shelter in place' are… 1
3 6 NaN Nan 13,000 people receive #wildfires evacuation or… 1
4 7 NaN Nan Just got sent this photo from Ruby #Alaska as… 1
... ... ... ... ... ...
7608 10869 NaN Nan Two giant cranes holding a bridge collapse int… 1
7609 10870 NaN Nan @aria_ahrary @TheTawniest The out of control w… 1
7610 10871 NaN Nan M1.94 [01:04 UTC] ?5km S of Volcano Hawaii. Htt… 1
7611 10872 NaN Nan Police investigating after an e-bike collided… 1
7612 10873 NaN Nan The Latest: More Homes Razed by Northern Calif… 1

7613 lignes x 5 colonnes

Les données de formation représentent environ 70 % des données totales.

print('The length of the training data is %d' % len(train_data))
print('The length of the test data is %d' % len(test_data))

Produit :

The length of the training data is 7613
The length of the test data is 3263

Prétraitement de texte

Selon la tâche à réaliser, différents types d'étapes de prétraitement peuvent être nécessaires pour que le modèle d'apprentissage automatique apprenne de meilleures caractéristiques. Le prétraitement peut normaliser les intrants, supprimer certains mots courants, le cas échéant, de sorte que le modèle ne les apprenne pas comme des caractéristiques, et apporter des modifications logiques et utiles pouvant mener à une amélioration du rendement et de la généralisation du modèle. La section suivante montre comment des étapes de prétraitement peuvent aider le modèle à capturer les caractéristiques pertinentes au cours de l'apprentissage.

def clean_text(text):
    # split into words
    tokens = word_tokenize(text)
    # remove all tokens that are not alphanumeric. Can also use .isalpha() here if do not want to keep numbers.
    words = [word for word in tokens if word.isalnum()]
    # remove stopwords
    stop_words = stopwords.words('english')
    words = [word for word in words if word not in stop_words]
    # performing lemmatization
    wordnet_lemmatizer = WordNetLemmatizer()
    words = [wordnet_lemmatizer.lemmatize(word) for word in words]
    # Converting list of words to string
    words = ' '.join(words)
    return words
train_data['cleaned_text'] = train_data['text'].apply(clean_text) 

Lors de la comparaison du texte d'origine et du texte nettoyé, les pseudo-mots ont été supprimés :

train_data['text'].iloc[100]

'.@NorwayMFA #Bahrain police had previously died in a road accident they were not killed by explosion https://t.co/gFJfgTodad (en anglais seulement)'

train_data['cleaned_text'].iloc[100]rain_data['text'].iloc[100]

'NorwayMFA Bahrain police previously died road accident killed explosion http'

À la lecture du texte ci-dessus, on peut dire qu'il contient des renseignements sur une catastrophe et devrait donc être classé comme tel. Pour confirmer cela avec les données, imprimez l'étiquette présente dans le fichier CSV relatif à ce tweet :

train_data['target'].iloc[100]

Produit :

1

Caractéristiques Tf-idf

Ensuite, nous convertissons une collection de documents bruts vers une matrice de caractéristiques TF-IDF en vue d'alimenter le modèle. Pour de plus amples détails sur tf-idf, reportez-vous aux documents TF–IDF - Wikipédia and scikit-learn sklearn.feature_extraction.text (le contenu de cette page est en anglais).

ngram_range=(1,1)
max_features=100
norm='l2'
tfidf_vectorizer = TfidfVectorizer(ngram_range=ngram_range, max_features=max_features, norm=norm)
train_data_tfidf = tfidf_vectorizer.fit_transform(train_data['cleaned_text'])
train_data_tfidf

Produit :

<7613x100 sparse matrix of type '<class 'numpy.float64'>'
with 15838 stored elements in Compressed Sparse Row format>
tfidf_vectorizer.get_feature_names()[:10]

Produit :

['accident',
'amp',
'and',
'as',
'attack',
'back',
'best',
'body',
'bomb',
'building']

Modèle SVC

L'étape suivante de la modélisation est d'ajuster un modèle et d'évaluer son rendement.

On utilise un programme de validation croisée K-Folds stratifié pour évaluer le modèle. Voir scikit learn sklearn.model_selection (le contenu de cette page est en anglais) pour de plus amples détails.

strat_k_fold = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)

Faire fonctionner un programme de calcul de résultat à l'aide de la mesure f1-score pour l'utiliser comme paramètre dans le modèle SVC.

scoring_function_f1 = make_scorer(f1_score, pos_label=1, average='binary')

Vient ensuite une étape importante pour adapter le modèle aux données. Dans cet exemple, le classificateur SVC est utilisé. Voir scikit learn sklearn.svm.svc (le contenu de cette page est en anglais) pour de plus amples détails.

C = 1.0
kernel='poly'
max_iter=-1
random_state=42
svc = SVC(C=C, kernel=kernel, max_iter=max_iter, random_state=random_state) 
cv_results = cross_validate(estimator=svc, X=train_data_tfidf, y=train_data['target'], scoring=scoring_function_f1, cv=strat_k_fold, n_jobs=-1, return_train_score=True)
cv_results

Produit :

{'fit_time': array([0.99043322, 0.99829006, 0.94024873, 0.97373009, 0.96771407]),
'score_time': array([0.13656974, 0.1343472 , 0.13345313, 0.13198996, 0.13271189]),
'test_score': array([0.60486891, 0.65035517, 0.5557656 , 0.5426945 , 0.63071895]),
'train_score': array([0.71281362, 0.76168757, 0.71334394, 0.7291713 , 0.75554698])}
def mean_sd_cv_results(cv_results, metric='F1'):
    print(f"{metric} Train CV results: {cv_results['train_score'].mean().round(3)} +- {cv_results['train_score'].std().round(3)}")
    print(f"{metric} Val CV results: {cv_results['test_score'].mean().round(3)} +- {cv_results['test_score'].std().round(3)}")

mean_sd_cv_results(cv_results)
F1 Train CV results: 0.735 +- 0.021
F1 Val CV results: 0.597 +- 0.042

Note : Le code ci-dessous est exécuté comme une commande d'interface système en ajoutant le point d'exclamation : « ! » au début du code dans une cellule Jupyter.

! Jupyter nbconvert --to html mlflow-example-real-or-not-disaster-tweets-modeling-SVC.ipynb
[NbConvertApp] Converting notebook mlflow-example-real-or-not-disaster-tweets-modeling-SVC.ipynb to html
[NbConvertApp] Writing 610630 bytes to mlflow-example-real-or-not-disaster-tweets-modeling-SVC.html

Journalisation dans MLflow

Tout d'abord, configurez le serveur URI. Le serveur s'exécutant localement, définissez l'URI de suivi comme port de serveur local 5000. L'URI de suivi peut être configurée pour un serveur distant également (voir : Where Runs are Recorded [le contenu de cette page est en anglais]).

server_uri = 'http://127.0.0.1:5000'
mlflow.set_tracking_uri(server_uri)

Pour organiser les passages, un essai a été créé et défini à l'emplacement où les passages seront journalisés. La méthode « set_experiment » créera un nouveau passage avec le nom de chaîne fourni et le définira comme l'essai en cours pour lequel les passages seront journalisés.

mlflow.set_experiment('nlp_with_disaster_tweets')

Enfin, lancez un passage et journalisez les données dans MLflow.

# MLflow logging.
with mlflow.start_run(run_name=run_name) as run:

    # Logging tags
    # run_name.
    mlflow.set_tag(key='Run name', value=run_name)
    # Goal.
    mlflow.set_tag(key='Goal', value='Check model performance and decide whether we require further pre-processing/hyper-parameter tuning.')
    # Modeling exp.
    mlflow.set_tag(key='Modeling technique', value='SVC')

    # Logging parameters
    mlflow.log_param(key='ngram_range', value=ngram_range)
    mlflow.log_param(key='max_features', value=max_features)
    mlflow.log_param(key='norm', value=norm)
    mlflow.log_param(key='C', value=C)
    mlflow.log_param(key='kernel', value=kernel)
    mlflow.log_param(key='max_iter', value=max_iter)
    mlflow.log_param(key='random_state', value=random_state)

    # Logging the SVC model.
    mlflow.sklearn.log_model(sk_model=svc, artifact_path='svc_model')
   
    # Logging metrics.
    # mean F1-score - train.
    mlflow.log_metric(key='mean F1-score - train', value=cv_results['train_score'].mean().round(3))
    # mean F1-score - val.
    mlflow.log_metric(key='mean F1-score - val', value=cv_results['test_score'].mean().round(3))
    # std F1-score - train.
    mlflow.log_metric(key='std F1-score - train', value=cv_results['train_score'].std().round(3))
    # std F1-score - val.
    mlflow.log_metric(key='std F1-score - val', value=cv_results['test_score'].std().round(3))
   
    # Logging the notebook.
    # Nb.
    mlflow.log_artifact(local_path='real-or-not-disaster-tweets-modeling-SVC.ipynb', artifact_path='Notebook')
    # Nb in HTML.
    mlflow.log_artifact(local_path='real-or-not-disaster-tweets-modeling-SVC.html', artifact_path='Notebook')

Selon le code ci-dessus, vous commencez un passage avec un nom de passage (run_name), puis journalisez ce qui suit :

  1. Balises : paire clé-valeur. La clé et la valeur sont toutes deux des chaînes; par exemple, cela peut servir à journaliser l'objectif du passage pour lequel la clé serait « Goal: » et la valeur peut être « To try out the performance of Random Forest Classifier with default parameters » (mettre à l'essai le rendement d'un classificateur de forêt aléatoire avec des paramètres par défaut).
  2. Paramètres : également une paire clé-valeur pouvant servir à journaliser les paramètres du modèle.
  3. Modèle : peut servir à journaliser le modèle. Vous journalisez ici un modèle scikit-learn comme artéfact MLflow, mais nous pouvons également journaliser un modèle pour d'autres bibliothèques d'apprentissage automatique pris en charge à l'aide du module MLflow correspondant.
  4. Mesures : paire clé-valeur. Le type de données de clé est « string » (chaîne) et peut avoir le nom de la mesure. Le paramètre de valeur est de type de données « float ». Le troisième paramètre facultatif est « step » qui est un nombre entier représentant toute mesure de progression de la formation : nombre d'itération de formation, nombre d'époques, etc.
  5. Artéfacts : un fichier ou répertoire local peut être journalisé comme artéfact pour le passage en cours. Dans cet exemple, nous journalisons à l'aide du carnet, de sorte que ces informations sont accessibles pour des passages futurs. Ce faisant, il est possible d'enregistrer un tracé comme « courbe de perte » ou « courbe de précision » dans le code et le journaliser comme artéfact dans MLflow.

Voilà, vous avez journalisé avec succès les données pour un passage dans MLflow! L'étape suivante est de visualiser les données journalisées.

IU de MLflow

Si vous retournez à la figure 1, vous vous souviendrez que vous avez lancé le serveur et qu'il écoutait au port de serveur local 5000. Ouvrez cette adresse dans votre navigateur préféré pour accéder à l'IU de MLflow. Une fois l'IU de Mlflow visible, vous pouvez utiliser l'interface pour consulter les données d'essai journalisées. Les essais créés s'affichent dans la barre latérale de l'IU et les balises, paramètres, modèle et mesures journalisés figurent dans les colonnes.

Figure 2 : IU de MLflow

Figure 2 : IU de MLflow

Figure 2 : IU de MLflow

La figure 2 présente l'IU de MLflow. L'essai configuré ci-dessus, c.-à-d. nlp_with_disaster_tweets est ouvert ainsi que le passage précédemment journalisé avec les détails comme le nom du passage, les paramètres et les mesures. Il indique également l'emplacement où sont enregistrés les artéfacts. Vous pouvez cliquer sur le passage journalisé pour l'explorer plus en détail.

Text in image: Modèles MLflow

Nlp_with_disaster_tweets (1. Cliquez sur cet essai)

ID de l'experience : 1. Emplacement de l'artéfact : ./miruns/1 (Emplacement des artéfacts journalisés)

Notes : Aucun

2. Exploration des données journalisées

Figure 2: MLflow UI
  Paramètres Mesures Étiquettes
Heure de début Nom de l'exécution Utilisateur Source : Version Modèles C Noyau max_feature Score moyen Score moyen Std F1-scor Technique :
2021-07-13 15:54:45 1626206076 Mihir ipykerne - sklearn 1.0poly            

3. Passage journalisé à l'aide de l'IPA Python. Cliquez sur le lien pour ouvrir le passage

Pour explorer un passage particulier plus en détail, cliquez sur le passage pertinent dans la colonne Heure de début. Cela permet d'explorer un passage journalisé en détail. Le nom du passage s'affiche et vous pouvez ajouter des notes relatives au passage, comme les paramètres, mesures, balises et artéfacts journalisés. Les données journalisées à l'aide de l'API Python pour ce passage figurent ici.

Les fichiers journalisés comme artéfacts peuvent être téléchargés; ce qui peut être utile si vous souhaitez extraire le code ultérieurement. Puisque le code ayant généré des résultats pour chaque passage est enregistré, vous n'avez pas à créer plusieurs copies du même code et pouvez expérimenter avec un seul carnet-cadre en changeant le code entre les passages.

Le modèle formé journalisé peut être chargé dans un essai futur à l'aide de l'IPA Python pour le passage journalisé.

Figure 3: Exploration des artéfacts journalisés dans un passage

Figure 3: Exploration des artéfacts journalisés dans un passage 

Figure 3: Exploration des artéfacts journalisés dans un passage

La figure 3 explore les artéfacts journalisés. Les fichiers journalisés (carnet et modèle) sont présentés. La description du modèle fournit également le code permettant de charger le modèle journalisé dans Python.

Texte de l'image :

Figure 4: Exploring the logged artifacts in a run
Nom Valeur Actions
Objectif Vérifier les performances du modèle et décidez si nous avons besoin d'un prétraitement/réglage hyperparamètres supplémentaire. Vérification : supprimer les icônes
Technique de modélisation SVC Vérification : supprimer les icônes 
Nom de passage  16525862471 Vérification : supprimer les icônes

Ajouter une balise

Nom – Valeur – Ajout

Artéfacts
Carnet

  • Real-or-not-disaster-tweets-modeling-SVC.html
  • Real-or-not-disaster-tweets-modeling-SVC.ipynb

svc_model

  • Modèle ML
  • conda.yaml
  • model.pkl

Chemin complet : ./miruns/1/b4af92528b1o4552b45231edeb6fe782/artefacts/Carnet
Taille : 0B

Modèle MLflow
Les extraits de code ci-dessous montrent comment faire des prédictions à l'aide du modèle enregistré.

Schéma du modèle
Schéma d'entrées et de sortie pour votre modèle. En savoir plus
Nom – Type
Pas de schéma

Pour démontrer la fonctionnalité de comparaison de passages, d'autres essais de modélisation ont été effectués et journalisés dans MLflow en changeant quelques paramètres dans le même carnet jupyter. N'hésitez pas à modifier certains paramètres et à journaliser davantage de passages dans MLflow.

La figure 4 présente les différents passages journalisés. Vous pouvez appliquer un filtre, conserver les colonnes souhaitées et comparer les paramètres ou les mesures entre les différents passages. Pour procéder à une comparaison détaillée, vous pouvez sélectionner les passages que vous souhaitez comparer et cliquer sur le bouton « Comparer » encerclé dans la figure ci-dessous.

Figure 4 : Personnalisation et comparaison de différents passages à l'aide de l'IU de MLflow

Figure 4 : Personnalisation et comparaison de différents passages à l'aide de l'IU de MLflow

Figure 4 : Personnalisation et comparaison de différents passages à l'aide de l'IU de MLflow

Dans l'IU de MLflow, on peut personnaliser les colonnes affichées, appliquer un filtre et rechercher différents passages en fonction des données journalisées et facilement comparer les différents passages journalisés en fonction des colonnes visibles. On peut également comparer les différents passages journalisés plus en détail en les sélectionnant et en cliquant sur le bouton « Comparer ».

Texte de l'image : 
1. Peut filtrer et conserver les colonnes d'intérêt.
Colonnes : Heure de début, Nom de l'exécution, Utilisateur, Source, Version, Modèles, Paramètres, Mesures, Balises
2. Peut comparer différents passages
3. Différents passages journalisés. Sélectionnez les passages que vous souhaitez comparer.
Affichage de 5 passages correspondants. Comparer, Supprimer, Télécharger, CSV
4. Cliquez sur comparer

Figure 5: Customizing and comparing different runs using MLflow UI
  Parameters Mesures
Heure de début Nom du passage Utilisateur Source Version Modèles C Noyau max_features Score mo Score mo Std F1-s
2021-07-13 16:08:50 1626115725 Mihir Ipykerne_laun - sklearn 1.0pol...          
2021-07-13 16:08:35 1626115688 Mihir Ipykerne_laun - sklearn 1.0pol...          
2021-07-13 16:08:21 1626115602 Mihir Ipykerne_laun - sklearn 1.0pol...          
2021-07-13 16:08:07 1626115552 Mihir Ipykerne_laun - sklearn 1.0pol...          
2021-07-13 15:54:45 1625002471 Mihir Ipykerne_laun - sklearn 1.0pol...          

Après avoir cliqué sur le bouton « Comparer », une comparaison sous forme de tableau entre différents passages est générée (comme le présente la figure 5), permettant de facilement comparer les données journalisées pour différents passages. Les paramètres qui diffèrent entre les passages sont surlignés en jaune. Cela fournit à l'utilisateur une idée de la façon dont le rendement du modèle a varié au fil du temps en fonction des paramètres modifiés.

Figure 5 : Comparaison détaillée de passages journalisés dans l'IU de MLflow

Figure 5 : Comparaison détaillée de passages journalisés dans l'IU de MLflow

Figure 5 : Comparaison détaillée de passages journalisés dans l'IU de MLflow

La figure 5 compare en détail différents passages journalisés dans MLflow. Les balises, paramètres et mesures figurent sur différentes lignes et les passages, dans différentes colonnes. Cela permet à un utilisateur de comparer les détails d'intérêt pour différents passages dans une seule fenêtre. Les paramètres qui diffèrent entre les passages sont surlignés en jaune. Par exemple, dans les essais, les paramètres max_features et ngram_range ont été modifiés pour différents passages et sont donc surlignés en jaune dans l'image ci-dessus.

Texte de l'image :
Nlp_with_disaster_tweets > Comparaison de 5 passages

Figure 6: Comparing logged runs in MLflow UI in detail
ID d'exécution : 7a1448a5f88147c093
c357d787dbe3
264533b107b04be3
bd4981560bad0397
7670578718b3477abb
798d7e404fed6c
D2372d5873f2435c
94dc7e633a611889
Fdc8362b2f37432f9
a4128fa522d80cb
Nom du passage 1626115725 1626115688 1626115602 1626115552 16265862471
Heure de début 2021-07-12 14:48:54 2021-07-12 14:48:16 2021-07-12 14:48:50 2021-07-12 14:46:01 2021-07-09 16:27:58
Paramètres
C 1.0 1.0 1.0 1.0 1.0
Noyau Poly Poly Poly Poly Poly
Max_features 500 500 500 500 500
Max_iter -1 -1 -1 -1 -1
Ngram_range (1.3) (1.2) (1.1) (1.1) (1.1)
Norm 12 12 12 12 12
random_state 42 42 42 42 42
Mesures
Mean f1-score-train 0.93 0.931 0.933 0.876 0.735
Mean f1-score-val 0.694 0.693 0.694 0.649 0.597
std f1-score-train 0.001 0.001 0.002 0.002 0.021
std f1-score-val 0.008 0.009 0.01 0.013 0.042

Des changements dans les paramètres et dans les mesures pour différents passages peuvent également être présentés dans un diagramme de dispersion. Les valeurs des axes des x et des y peuvent être définies comme tout paramètre ou toute mesure permettant à l'utilisateur d'analyser les changements. Dans la figure 6, le lecteur peut analyser la variation de la validation; dans ce cas, le F1-score moyen pour différentes valeurs du paramètre « max_features ». Si vous passez le curseur sur un point de donnée, les détails relatifs à ce passage s'affichent.

Figure 6 : Configuration du diagramme de dispersion pour visualiser les effets des différentes configurations de paramètres dans les passages journalisés

Figure 6 : Configuration du diagramme de dispersion pour visualiser les effets des différentes configurations de paramètres dans les passages journalisés

Figure 6 : Configuration du diagramme de dispersion pour visualiser les effets des différentes configurations de paramètres dans les passages journalisés

Démonstration des capacités de MLflow de produire un diagramme à l'aide des détails de différents passages. Vous pouvez sélectionner un paramètre particulier sur l'axe des X ainsi qu'une mesure que vous souhaitez surveiller sur l'axe des Y; cela crée immédiatement un diagramme de dispersion fournissant les détails sur l'axe correspondant et permet de visualiser les effets des paramètres sur la mesure, afin de vous faire une idée de la manière dont le paramètre influe sur la mesure.

Texte de l'image :
Parcelle de dispersionPlot – de contourParallèles – de coordonnées Parallèles
Axe des X : max_features
Axe des Y : score moyen F1 - val

Figure 7: Configuring the scatter plot to visualize the effects of different parameter configurations in the logged runs
1626115552
État_aléatoire : 42
Norme : 12
Max_iter :  -1
Max_features :  300
C : 1.0
Noyeau :  Poly
Ngram_range :  (1.1)
   
Mean f1-score-val 0.649
Mean f1-score-train 0.876
std f1-score-val 0.002
std f1-score-train 0.013

Le diagramme à coordonnées parallèles est également utile, car il présente à l'utilisateur d'un seul coup d'œil l'effet de certains paramètres sur les mesures souhaitées.

Figure 7 : Configuration du diagramme à coordonnées parallèles pour visualiser les effets de différents paramètres sur les mesures d'intérêt

Figure 7 : Configuration du diagramme à coordonnées parallèles pour visualiser les effets de différents paramètres sur les mesures d'intérêt

Figure 7 : Configuration du diagramme à coordonnées parallèles pour visualiser les effets de différents paramètres sur les mesures d'intérêt

Dans cette image, un diagramme à coordonnées parallèles est configuré. Vous pouvez sélectionner différents paramètres et différentes mesures à l'aide des fenêtres d'intrants fournies; le diagramme à coordonnées parallèles est mis à jour en conséquence. Ce diagramme peut donner une idée des résultats obtenus à l'aide de différentes configurations dans les essais. Il peut aider à comparer les différentes configurations et à sélectionner les paramètres fournissant un meilleur rendement.

Texte de l'image :
Parcelle de dispersionPlot – de contourParallèles – de coordonnéesParallèles
Paramètres : état_alléatoire, norme, max_iter, max_features, C, noyeau, ngram_range
Mesures : score moyen F1 - val

Figure 8: Configuring the parallel coordinates plot to visualize the effects of different parameters on the metrics of interest
état_aléatoire norme Max_iter Max_features C noyeau ngram_range Score moyen F1-val  
46.20000   -1.10000 500.00000 1.10000     0.69400  
46.0000   -1.10000 500.00000 1.10000   (1.3) 0.68000 0.68
45.0000     450.00000          
44.0000   -1.05000 400.00000 1.05000     0.66000 0.66
43.0000     350.00000          
42.0000   -1.0000 300.00000 1.00000 poly (1.2) 0.64000 0.64
41.0000     250.00000          
40.0000   -0.95000 200.00000 0.95000     0.62000 0.62
39.0000     150.00000          
38.0000   -0.9000 100.00000 0.90000   (1.1) 0.60000 0.6
37.80000   -0.90000 100.0000 0.9000     0.59700  

Autres aspects intéressants du suivi avec MLflow Tracking

Autres éléments importants à noter relativement à MLflow Tracking :

  • Les passages peuvent être directement exportés dans un fichier CSV à l'aide de l'IU de MLflow.
  • Il est possible d'accéder à l'aide d'un programme à toutes les fonctions de l'IU de suivi; vous pouvez interroger et comparer les passages avec du code, charger des artéfacts de passages journalisés ou exécuter une recherche automatisée de paramètre en appliquant une requête sur les mesures de passages journalisés pour décider des nouveaux paramètres. Vous pouvez également journaliser de nouvelles données sur un passage déjà journalisé dans un essai après l'avoir chargé à l'aide d'un programme (consultez Querying Runs Programmatically pour de plus amples détails - le contenu de cette page est en anglais).
  • En utilisant l'IU de MLflow, les utilisateurs peuvent rechercher des passages présentant des valeurs de données particulières à partir de la barre de recherche. Un exemple de cela serait d'utiliser metrics.rmse < 1 et params.model='tree'. Cela est très utile lorsque vous avez besoin de trouver un passage à paramètres particuliers exécuté par le passé.
  • Le carnet Jupyter utilisé comme exemple dans ce billet de blogue est accessible sur GitHub (le contenu de cette page est en anglais).

N'hésitez pas à communiquer avec nous à l'adresse statcan.dsnfps-rsdfpf.statcan@statcan.gc.ca pour nous faire part d'autres fonctionnalités intéressantes ou cas d'utilisation que vous aimez utiliser qui auraient pu être mentionnés selon vous. Nous vous offrirons également l'occasion de rencontrer le scientifique des données pour discuter de MLFlow plus en détail. Trouvez de plus amples détails ci-dessous.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

Mardi, le 18 octobre
14 h 00 à 15 h 00 HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Classification de texte des offres d’emploi dans la fonction publique

Par Dominic Demers et Jessica Lachance, Commission de la fonction publique du Canada

Introduction

La Commission de la fonction publique (CFP) est un organisme indépendant dont le mandat est de promouvoir et de protéger une fonction publique impartiale, fondée sur le mérite et représentative de tous les Canadiens. Parmi ses nombreuses responsabilités, la CFP supervise également plus de 50 000 activités d'embauche qui relèvent de la Loi sur l'emploi dans la fonction publique (LEFP), chaque année.

Ce riche environnement de données comprend plus d'un million de curriculum vitæ et 8 000 offres d'emploi par an. Certaines données sont structurées, comme le nom de l'organisation ou le groupe et le niveau du poste. Cependant, la plupart des données sur les ressources humaines (RH) recueillies par la CFP ne sont pas structurées. Les données non structurées, comme les offres d'emploi ou les questions de présélection, peuvent être utilisées à des fins d'analyse.

La Direction des services de données et de l'analyse de la CFP est responsable des demandes de données, des études statistiques, des enquêtes, des modèles de prévision et des outils de visualisation des données pour les activités de dotation et de recrutement qui relèvent de la LEFP.

Le présent article donne un aperçu de deux techniques de traitement du langage naturel (TLN) utilisées par notre équipe pour extraire des renseignements précieux de deux zones de texte ouvertes, à savoir les variables Exigences en matière d'études et Zone de sélection. Nous expliquons également comment nous les avons utilisées par la suite pour alimenter l'Outil de prévision de candidatures, un outil de visualisation des données qui fait état d'offres d'emploi.

Outil de prévision de candidatures

En 2019, la CFP a élaboré l'Outil de prévision de candidatures pour aider les gestionnaires et les conseillers en RH du gouvernement du Canada à se préparer aux processus de sélection. Les utilisateurs peuvent sélectionner les caractéristiques d'une offre d'emploi et obtenir une estimation du nombre de candidats, en fonction d'emplois similaires qui ont déjà été annoncés.

La première version de l'outil ne fonctionnait qu'avec les données structurées des offres d'emploi. Cependant, la CFP a reçu des commentaires au sujet de deux zones de texte ouvertes que les utilisateurs souhaitaient exploiter pour obtenir une meilleure estimation du nombre de candidats pour leur processus de sélection. Ces zones comprenaient le niveau d'études dans les qualifications essentielles et, pour les processus internes, des détails sur la zone de sélection, comme le ministère, l'emplacement ou la classification.

Par conséquent, la CFP a utilisé des techniques de classification de texte pour les zones relatives aux études et à la zone de sélection afin de structurer les renseignements en catégories qui alimentent l'Outil de prévision de candidatures. Ces algorithmes ont permis à la CFP de produire des rapports plus précis et utiles.

Classification de texte

La classification de texte est un sous-ensemble de problèmes du TLN. L'objectif de la classification de texte est de prendre les zones de texte ouvertes et d'attribuer à chaque texte une étiquette à partir d'un ensemble limité d'options.

Dans notre cas, nous avons étudié deux modèles différents pour atteindre notre objectif. Pour la variable d'exigences en matière d'études, nous avons utilisé une approche fondée sur des règles employant des expressions courantes. Pour la variable de zone de sélection, nous avons utilisé une approche fondée sur l'apprentissage automatique appelée « Reconnaissance de l'entité désignée ».

Bien que la classification de texte à l'aide d'un modèle quelconque puisse produire de bons résultats, la capacité de l'algorithme à extraire des renseignements du texte n'est pas toujours fiable. Par conséquent, nous avons dû évaluer l'efficacité avec laquelle l'algorithme extrait les renseignements pertinents. Nous avons évalué le modèle à l'aide d'un ensemble de données d'essai et examiné les paramètres pour déterminer la performance du classificateur.

Évaluation des modèles de classification de texte

Pour évaluer la performance de nos algorithmes de classification de texte, nous avons utilisé une matrice de confusion. Il s'agit d'un tableau qui décrit la performance du modèle de classification pour un ensemble de données d'essai pour lesquelles les valeurs « vraies » sont connues.

Le nombre de prévisions exactes et inexactes est résumé dans un tableau et comprend des valeurs de comptage. Le tableau résume également le nombre d'erreurs commises par notre classificateur et, surtout, le type d'erreur.

La matrice de confusion comprend quatre types de combinaisons de valeurs prédites et vraies. Dans notre contexte de classification de texte, l'algorithme fournira une valeur « vraie » (ou « positive ») en cas de prédiction du texte dans le cadre de la classification. Par exemple, si le texte est classé comme « diplôme d'études secondaires », l'algorithme renverra une valeur « vraie » (ou « positive ») pour cette classification.

Les quatre catégories sont décrites ci-dessous.

Figure 1 : Matrice de confusion

Figure 1 : Matrice de confusion
Description - Figure 1: Confusion Matrix

Diagramme quadrant avec quatre combinaisons de valeurs prédites et vraies.
Valeur prédite positive + valeur vraie positive = Vrai positif
Valeur prédite positive + valeur vraie négative = Faux positif
Valeur prédite négative + valeur vraie positive = Faux négatif
Valeur prédite négative + valeur vraie négative = Vrai négatif]

Combinaison Vrai positif (VP) : On prédit que la classification est vraie et cela est exact.
Combinaison Vrai négatif (VN) : On prédit que la classification est fausse et cela est exact.
Combinaison Faux positif (FP) ou erreur de type 1 : On prédit que la classification est vraie, mais cela est inexact.
Combinaison Faux négatif (FN) ou erreur de type 2 : On prédit que la classification est fausse, mais cela est inexact.

À partir de ces combinaisons, nous avons obtenu les mesures de performance suivantes :

  • Exactitude : Pourcentage de textes qui ont été catégorisés avec la classification exacte. Sert à déterminer le nombre de classifications que le modèle a prédit correctement.
  • Precision TPTP+FP: The percentage of texts correctly classified out of the total number of texts classified as positive. Used to determine the proportion of positive identification that were correct.
  • Recall TPTP+FN: The percentage of actual positive values that are predicted correctly. Used to determine the proportion of actual positives that were correctly identified.
  • Score F1 : Moyenne harmonique entre précision et rappel.

Dans le contexte du présent article, ces statistiques seront utilisées pour évaluer le rendement en matière de classification de deux variables, à savoir les variables Exigences en matière d'études et Zone de sélection.

Zone « Exigences en matière d'études »

Conformément à la LEFP, le Secrétariat du Conseil du Trésor a établi des normes de qualification par groupe professionnel ou classification pour l'administration publique centrale. Les normes de qualification définissent les exigences en matière d'études minimales pour chaque groupe professionnel. Les offres d'emploi pour les postes visés par la LEFP doivent inclure ces critères de mérite.

En règle générale, les gestionnaires utilisent la norme de qualification comme leur exigence essentielle. Mais ils peuvent établir des exigences en matière d'études supérieures au besoin. Par exemple, un gestionnaire d'embauche peut exiger qu'un analyste principal des politiques de niveau EC-06 ait une maîtrise, même si l'exigence minimale est un baccalauréat.

On pourrait s'attendre à ce que moins de candidats disposent d'une maîtrise que d'un baccalauréat. L'analyse du niveau d'études nous permettrait de fournir aux utilisateurs de l'Outil de prévision de candidatures des estimations et d'anciennes offres d'emploi plus pertinentes.

Méthode

Il y a un peu plus de 100 normes de qualification pour l'ensemble des groupes professionnels, lesquelles sont également rédigées en langage naturel. Nous avons déterminé que ces normes pouvaient être résumées comme appartenant à l'un des huit niveaux d'études suivants :

  • Études secondaires partielles
  • Études secondaires
  • Études postsecondaires partielles
  • Études postsecondaires
  • Diplôme professionnel (p. ex. diplôme en droit, en médecine)
  • Maîtrise
  • Doctorat ou grade supérieur
  • Niveau d'études inconnu/hors catégorie

Pour étiqueter les offres d'emploi en fonction du niveau d'études, nous avons utilisé des expressions courantes afin de trouver des phrases clés, que nous avons ensuite étiquetées. Les expressions courantes sont une séquence de caractères qui indiquent une tendance dans le texte. Pour analyser le niveau d'études, nous avons :

  • trouvé des phrases clés, à l'aide d'expressions courantes, qui indiquent un type d'études;
  • associé ces phrases à un niveau commun d'études;
  • étiqueté du texte concernant les exigences en matière d'études avec l'un de ces niveaux communs.

Au total, nous avons utilisé 30 règles différentes pour établir une correspondance entre les descriptions de poste et les huit niveaux d'études. Ces règles ont été créées manuellement, à l'aide d'un processus itératif. Nous avons commencé par des expressions courantes qui saisissent la structure des phrases et les phrases clés utilisées dans de nombreuses normes de qualification. Nous avons ensuite ajouté des règles supplémentaires pour saisir les cas qui ne respectaient pas les normes de qualification.

Voici une représentation visuelle du processus :

Figure 2 : Classification des exigences en matière d'études

Figure 2 : Classification des exigences en matière d'études

Description - Figure 2: Classification des exigences en matière d'études

**Veuillez lire la section *Autres renseignements*

ÉTUDES – EXIGENCES COMMUNES POUR TOUS LES VOLETS

Avoir terminé deux années de formation dans un programme acceptable d'études postsecondaires en informatique, en technologie de l'information, en gestion de l'information ou dans une autre spécialité connexe au poste à doter.

- Les employés nommés pour une période indéterminée qui étaient titulaires d'un poste du groupe CS au 10 mai 1999 et qui ne possèdent pas le niveau d'études prescrit ci-dessus sont réputés satisfaire à la norme minimale d'études de par leurs études, leur formation ou leur expérience. Il s'ensuit qu'ils doivent être reconnus comme ayant satisfait à la norme minimale d'études prescrite quand celle-ci est exigée aux fins de doter des postes du groupe CS.

– Il appartient à un établissement d'enseignement reconnu (p. ex. collège communautaire, cégep ou université) de déterminer si les cours suivis par un candidat correspondent à deux années d'un programme d'études postsecondaires au sein de l'établissement.

IMPORTANT :

– Il incombe aux candidats de fournir une preuve de leurs études. Veuillez noter que votre diplôme original sera exigé pendant le processus.

- Les candidats ayant des titres de compétence étrangers doivent fournir une preuve d'équivalence du Canada. Veuillez consulter le site Web du Centre d'information canadien sur les diplômes internationaux pour obtenir plus de renseignements. Les frais applicables sont à la charge du candidat. Les candidats qui ne sont pas en mesure de fournir la preuve qu'ils possèdent la qualification essentielle demandée seront éliminés du processus.

…années d'études… postsecondaires…

Études postsecondaires partielles

Dans cette image, la première section représente nos données. Le segment mis en évidence en vert indique la partie pertinente du texte liée aux exigences en matière d'études. « Avoir terminé deux années de formation dans un programme acceptable d'études postsecondaires en informatique, en technologie de l'information, en gestion de l'information ou dans une autre spécialité connexe au poste à doter ».

La deuxième section représente la règle qui a été appliquée au texte à l'aide d'expressions courantes. Le texte a été signalé comme contenant l'expression « … années d'études… postsecondaires ».

En raison de cet indicateur et de l'absence d'un indicateur d'une qualification supérieure (p. ex. « grade » ou « doctorat »), cette offre d'emploi a été étiquetée comme exigeant le niveau d'études « Études postsecondaires partielles ».

Évaluation du modèle

Pour évaluer le modèle, nous avons extrait un échantillon de 1 000 offres d'emploi de l'exercice 2019-2020 et avons étiqueté manuellement le niveau d'études correspondant à chaque offre. Le tableau ci-dessous présente la précision, le rappel et le score F1 de notre algorithme fondé sur des règles, pour chacun des huit niveaux d'études.

Tableau 1 : Résultats de l'évaluation du modèle pour les exigences en matière d'études
  Taille de l'échantillon Précision Rappel Score F1
Niveau d'études inconnu/hors catégorie 45 97,7 % 95,6 % 96,6 %
Études secondaires partielles 30 100,0 % 100,0 % 100,0 %
Études secondaires 418 99,3 % 98,3 % 98,8 %
Études postsecondaires partielles 72 94,4 % 94,4 % 94,4 %
Études postsecondaires 391 96,0 % 97,7 % 96,8 %
Diplôme professionnel 17 100,0 % 88,2 % 93,8 %
Maîtrise 17 83,3 % 88,2 % 85,7 %
Doctorat ou grade supérieur 10 100,0 % 90,0 % 94,7 %

Résultats

Nous avons appliqué l'algorithme à un total de 18 055 offres d'emploi entre le 1er avril 2016 et le 31 mars 2019. Le tableau suivant présente une répartition des offres d'emploi pour des postes EX-01, par niveau d'études tiré de l'algorithme. Comme l'indiquent les résultats ci-dessous, la grande majorité exigent des études secondaires ou postsecondaires.

Tableau 2 : Exigences en matière d'études pour les postes EX-01 (du 1er avril 2016 au 31 mars 2019)
Exigences en matière d'études Nombre d'offres d'emploi Total (en %)
Études postsecondaires 676 83 %
Maîtrise 81 10 %
Études postsecondaires partielles 27 3 %
Niveau d'études inconnu/hors catégorie 16 2 %
Études secondaires 13 2 %
Diplôme professionnel 2 0 %
Total 815 100 %

À l'aide de cette méthodologie, lorsqu'ils accèdent à l'Outil de prévision de candidatures pour estimer le nombre de demandes d'emploi, les utilisateurs peuvent filtrer les résultats dans ce nouveau champ lié aux études. Par exemple, depuis le 1er avril 2015, 921 postes EX-01 ont été annoncés et ont suscité l'intérêt d'un nombre médian de 30 candidats. Sur ces offres, 806 exigeaient un diplôme d'études postsecondaires et ont suscité l'intérêt d'un nombre médian de 32 candidats.

Zone « Zone de sélection »

Contexte

Conformément au paragraphe 34(1) de la LEFP, en vue de l'admissibilité à tout processus de nomination, une organisation peut limiter la zone de sélection pour les processus d'emploi internes en fixant des critères géographiques, organisationnels ou professionnels. Cette restriction est inscrite dans le champ « Qui est admissible » d'une offre d'emploi.

Une zone de sélection restreinte réduira le bassin de candidats potentiels. Les utilisateurs de l'Outil de prévision de candidatures souhaitaient connaître le nombre de candidats auquel ils pourraient s'attendre s'ils limitaient leur zone de sélection aux employés du niveau mentionné de leur ministère uniquement, par opposition à tous les fonctionnaires au Canada.

Méthode

Notre objectif était d'analyser le contenu de la zone de texte ouverte « Zone de sélection » pour en extraire le ou les ministères, emplacements et niveaux mentionnés en utilisant une technique appelée « reconnaissance de l'entité désignée ». Un modèle de reconnaissance de l'entité désignée est une technique de TLN qui désigne les « entités » dans un bloc de texte, comme les noms propres (nom d'une personne, pays) ou une catégorie de choses (animaux, véhicules).

Dans notre cas, les entités extraites sont les suivantes :

  • des organisations (p. ex. « Transports Canada », « la fonction publique fédérale »);
  • des emplacements (p. ex. « Canada », « région de l'Atlantique », « dans un rayon de 40 km de Winnipeg [Manitoba] »);
  • les classifications des professions (p. ex. « EC-04 », « EX-01 »).

Pour appliquer le modèle de reconnaissance de l'entité désignée, nous avons utilisé spaCy (le contenu de cette page est en anglais seulement), une bibliothèque libre gratuite destinée au traitement avancé du langage naturel dans Python.

L'algorithme de reconnaissance de l'entité désignée de spaCy comprend les entités « ORG » (organisation), « LOC » (localisation) et « GPE » (géopolitique).

Pour réduire la quantité de marquage manuel, nous avons adopté une approche itérative afin de créer notre ensemble de données d'entraînement. Tout d'abord, nous avons utilisé l'algorithme par défaut de spaCy pour marquer un échantillon aléatoire de 1 000 zones de sélection. Nous avons ensuite apporté les changements suivants :

  1. Fusion des balises « LOC » et « GPE » en une seule balise « LOC »;
  2. Ajout d'une balise « LEVEL » qui indique les classifications professionnelles;
  3. Correction de tout autre problème lié aux balises « ORG » et « LOC ».

À partir de là, nous avons créé 200 autres exemples de données d'entraînement, qui ont été ciblés pour inclure des exemples supplémentaires de la balise « LEVEL » et d'autres cas que l'algorithme initial a systématiquement omis de repérer.

Une fois l'ensemble des données d'entraînement mis en place, l'algorithme de reconnaissance de l'entité désignée de spaCy effectue les tâches suivantes :

  1. Créer un modèle de prédiction en utilisant une partie des données d'entraînement étiquetées.
  2. Envoyer une version sans étiquette d'une autre partie des données d'entraînement au modèle et prédire les entités.
  3. Comparer les étiquettes prédites et les étiquettes vraies.
  4. Mettre à jour le modèle pour représenter les étiquettes inexactes. Le volume de changements entre les modèles est appelé « gradient ».
  5. Répéter jusqu'à ce que le gradient soit réduit et que les prédictions du modèle changent très peu entre les itérations.

Ce processus a engendré un modèle final qui peut déterminer les différents critères d'une zone de sélection. L'image ci-après illustre un exemple de marquage du modèle effectué.

Figure 3 : Classification de la zone de sélection

Figure 3: Classification de la zone de sélection
Description - Figure 3 : Classification de la zone de sélection

Employés de la fonction publique au niveau PM-04 ou d'une classification équivalente qui occupent un poste dans un rayon de 40 km d'Edmonton (Alberta)

Employés de la fonction publique (ORG) au niveau PM-04 (LEVEL) ou d'une classification équivalente qui occupent un poste dans un rayon de 40 km d'Edmonton (Alberta) [LOC]

En haut de l'image s'affiche le texte complet de la zone de sélection. En bas de l'image, nos trois « entités » sont mis en évidence. « la fonction publique » est marquée par la balise ORG, « PM-04 » par la balise LEVEL et « dans un rayon de 40 km d'Edmonton (Alberta) » par la balise LOC.

Évaluation du modèle

Nous avons évalué le modèle à l'aide d'un échantillon aléatoire de 465 énoncés de la zone de sélection, que nous avons étiquetés manuellement. Le tableau suivant montre les scores de précision et de rappel pour chaque type d'entité.Footnote 1

 
Balise d'entité Précision Rappel Score F1
ORG 92,6 % 90,8 % 91,7 %
LOC 80,2 % 74,9 % 77,5 %
LEVEL 95,0 % 76,0 % 84,4 %

Résultats

À l'aide des résultats du modèle, nous avons produit l'analyse exploratoire suivante. Cette analyse est fondée sur 13 362 offres d'emploi internes entre le 1er avril 2016 et le 31 mars 2019.

Figure 4: Diagramme de Venn de la zone de texte ouverte « Zone de sélection », par organisation, groupe professionnel et géographie

Figure 4: Diagramme de Venn de la zone de texte ouverte « Zone de sélection », par organisation, groupe professionnel et géographie
Description - Diagramme de Venn de la zone de texte ouverte « Zone de sélection », par organisation, groupe professionnel et géographie

Diagramme de Venn de la zone de texte ouverte « Zone de sélection » divisée en trois.

Organisation (ministère) = 6,6 % Part commune des entités Organisation et Groupe professionnel = 0,4 %
Groupe professionnel = 1,6 % Part commune des entités Groupe professionnel et Géographie = 2,2 %
Géographie = 41,5 % Part commune des entités Géographie et Groupe professionnel = 37,9 %
Part commune des trois entités : 0,9 % Zone de sélection ouverte = 8,9 %

Ce que nous avons constaté, c'est que la plupart des offres d'emploi internes utilisent au moins l'un des filtres décrits dans la LEFP et que la plupart des zones de sélection comportant un filtre géographique étaient pour les « personnes employées dans la fonction publique qui occupent un poste dans la région de la capitale nationale (RCN) ».

Cependant, nous avons constaté que certaines zones de sélection sont plus difficiles à analyser. En voici quelques exemples :

1) Employés de Transports Canada qui occupent un poste à Calgary, Edmonton, Saskatoon, Winnipeg, Whitehorse, Yellowknife ou Churchill.

2) En cas de nombre insuffisant de candidats, les personnes employées dans la fonction publique qui occupent un poste à moins de 40 km de Winnipeg (Manitoba) ou à moins de 40 km d'Edmonton ou de Calgary (Alberta) pourraient être prises en compte sans que le poste soit annoncé de nouveau. Par conséquent, les candidats dans cette zone de sélection élargie sont encouragés à poser leur candidature.

Notre modèle a donné de bons résultats, mais en raison de critères multiples, nous avons décidé d'utiliser notre analyse avec un ensemble plus vaste de catégories. Auparavant, dans l'Outil de prévision de candidatures, les utilisateurs pouvaient seulement choisir une « offre d'emploi interne » ou une « offre d'emploi externe ». Maintenant, les offres d'emploi internes que les utilisateurs peuvent choisir sont plus précises. Ils ont le choix entre les offres d'emploi suivantes:

  • Offres d'emploi internes, ouvertes à tous les fonctionnaires
  • Offres d'emploi internes, ouvertes aux fonctionnaires de la RCN
  • Offres d'emploi internes (autres zones de sélection)

En ajoutant ces fonctionnalités à notre modèle, nous l'avons amélioré, de sorte qu'il permette aux utilisateurs de rechercher un ensemble plus restreint d'offres d'emploi pour trouver celles qui correspondent à leur processus de sélection prévu.

Conclusion

Les zones de texte ouvertes sont un excellent moyen de recueillir des renseignements et ne devraient pas être exclues des formulaires ou des enquêtes. Elles servent à recueillir des réponses fourre-tout lorsque les questions ne permettent pas aux utilisateurs de fournir des renseignements dans un ensemble de choix prédéfini.

Mais cette souplesse se fait au détriment de l'exactitude des classifications. Les systèmes de classification peuvent générer les bonnes prédictions (valeurs vraies positives et vraies négatives), mais peuvent aussi produire les mauvaises (valeurs fausses positives et fausses négatives). La validation croisée du rendement de votre algorithme sera essentielle afin de déterminer si les classifications sont suffisamment précises à des fins de production de rapports.

Le présent article a exposé des méthodes qui visent à structurer les renseignements tirés des zones de texte ouvertes aux fins de production de rapports dans l'Outil de prévision de candidatures. Les catégories provenant des zones « Zone de sélection » et « Exigences en matière d'études » ont été utilisées pour remplir des menus déroulants permettant aux utilisateurs d'améliorer leurs résultats de recherche.

Nous vous encourageons à consulter l'Outil de prévision de candidatures ou nos autres outils de visualisation des données dans le Centre de visualisations des données de la CFP.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

mardi, le 18 octobre
14 h 00 à 15 h 00 p.m. HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Extraction de tendances temporelles à partir d’images satellitaires

Par : Kenneth Chu, Statistique Canada

La Division de la science des données de Statistique Canada a récemment terminé un certain nombre de projets de recherche visant à évaluer l’efficacité d’une technique statistique appelée analyse en composantes principales fonctionnelles (ACPF) comme méthode d’ingénierie des caractéristiques afin d’extraire les tendances temporelles des données des séries chronologiques de satellites radar à synthèse d’ouverture (RSO).

Ces projets ont été réalisés en collaboration avec la Division de l’agriculture et la Division de la statistique de l’énergie et de l’environnement de Statistique Canada, ainsi qu’avec le Centre national de recherche faunique (CNRF) d’Environnement et Changement climatique Canada. Ces projets ont utilisé les données de Sentinel-1. Sentinel-1 est une constellation de satellites radar du programme Copernicus de l’Agence spatiale européenne. Elle recueille des données d’imagerie RSO qui capturent des renseignements sur les structures de la surface terrestre de la zone imagée. Sentinel-1 assure une couverture mondiale tout au long de l’année et dans toutes les conditions météorologiques de la zone imagée. Les données ne sont pas influencées par l’alternance du jour et de la nuit, ont une haute résolution spatiale (environ 10 m x 10 m) et une fréquence fixe de capture des données tous les 12 jours pour chaque zone imagée. Par conséquent, les données de Sentinel-1 conviennent parfaitement aux études scientifiques, car les structures de la surface de la Terre contiennent des renseignements importants.

Nos résultats suggèrent que l’ACPF pourrait être un outil très efficace pour extraire numériquement les tendances temporelles saisonnières saisies dans une série chronologique d’images de Sentinel-1 à grande échelle et de manière très granulaire. Le présent article présente un sommaire de la méthode fondée sur l’ACPF et de ses résultats d’extraction des caractéristiques à partir des séries chronologiques saisonnières de Sentinel-1.

Motivation

Je vais me concentrer sur l’une des zones d’étude de la recherche, à savoir la région de la baie de Quinte en Ontario, située près de Belleville. L’objectif de ce projet est de donner une classification plus précise des zones humides. Ce qui suit est une image satellitaire optique (plutôt qu’une image satellitaire radar) de la région de la baie de Quinte, téléchargée depuis Google Maps.

Figure 1: Image satellitaire optimale de la baie de Quinte, Ontario. Téléchargée depuis Google Maps.

Figure 1: Optimal satellite image of Bay of Quinte, Ontario. Downloaded from Google Maps.
Description - Figure 1

Image satellitaire optimale de la baie de Quinte, Ontario, située au centre en haut de l’image. Le reste montre un étalement généralement rural de la zone environnante et comprend plusieurs cantons ainsi que les autoroutes qui les relient. Les cantons représentés sont les suivants (dans le sens des aiguilles d’une montre, à partir du haut à gauche) : Rossmore, Fenwood Gardens, Mountain View, Crofton, Elmbrook, Picton, Gilbert Mills, Huff’s Corners, Bowermans et Allisonville.

Dans la Figure 1, notez la grande étendue d’eau au centre supérieur de l’image et les champs agricoles rectangulaires. Notez également l’île près du centre supérieur et la voie d’eau qui la sépare du continent.

Examinez ensuite la Figure 2, qui est une carte de la couverture terrestre de la région de la baie de Quinte.

Figure 2: Carte de la couverture terrestre de la baie de Quinte, ON. Cette image est créée à partir de données des séries chronologiques saisonnières de 2019 du RADARSAT-2 (Banks et al., 2019). Les couleurs indiquent les différents types de couverture terrestre : Le bleu indique l’eau, le rose indique les eaux peu profondes, le cyan montre les marais, le rouge indique les forêts, le vert correspond aux marécages et le marron indique des terres agricoles.

Figure 2: Land cover map of Bay of Quinte, ON.
Description - Figure 2

Carte de la couverture terrestre de la baie de Quinte, ON, à partir des données des séries chronologiques de 2019 de RADARSAT-2. Les couleurs indiquent les différents types de couverture terrestre. La baie de Quinte est bleue, indiquant la présence d’eau, et se trouve principalement au centre supérieur de l’image. Le contour de la baie de Quinte est en cyan, ce qui indique une zone marécageuse, et comprend quelques points roses, indiquant des eaux peu profondes. La zone terrestre environnante est principalement rouge, ce qui dénote une zone forestière, et deux taches semi-grandes au centre inférieur de l’image sont vertes, faisant ressortir une zone marécageuse

La figure 3 est un rendu rouge, vert, bleu (RVB) des trois premiers scores des composantes principales fonctionnelles (CPF) calculés à partir des données des séries chronologiques de Sentinel-1 de 2019 pour la région de la baie de Quinte. Notez la remarquable granularité et le haut degré de concordance avec la carte de couverture terrestre de la Figure 2.

Figure 3: Rendu RVB des trois premiers scores de CPF calculés à partir des données des séries chronologiques de Sentinel-1 de 2019 pour la région de la baie de Quinte.

Figure 3: RGB rendering of the first three FPC scores computed from 2019 Sentinel-1 time series data for the Bay of Quinte area.
Description - Figure 3

Carte de la couverture terrestre de la baie de Quinte. Les couleurs indiquent les différents types de couverture terrestre. La baie de Quinte est bleue, indiquant la présence d’eau. Le contour de la baie de Quinte est rose et la zone terrestre environnante est principalement orange. Cette image est semblable au rendu de la figure 2

La carte de la couverture terrestre de la figure 2 a été créée à partir des données des séries chronologiques de 2019 de RADARSAT-2 (l’un des satellites d’observation de la Terre RSO de l’Agence spatiale canadienne), à l’aide de la méthodologie décrite dans Banks et al. (2019). Elle est bien corroborée par la réalité du terrain recueillie par des observations sur le terrain. Une observation notable ici est que la voie d’eau qui sépare l’île au centre supérieur de l’image et le continent contient en fait deux types de zones humides – les marais en cyan et les eaux peu profondes en rose. Ces deux types de zones humides ne sont pas faciles à distinguer sur la figure 1. L’article rapporte que les données des séries chronologiques saisonnières du RSO contiennent suffisamment de renseignements pour la classification des terres humides, mais la méthodologie décrite comporte un haut degré de prise de décision manuelle informée par des connaissances d’experts (p. ex. les saisies de données pour quelles dates ou statistiques à utiliser, etc.).Cette méthode demandait beaucoup de travail et la façon d’automatiser cette méthodologie et de l’appliquer à l’échelle régionale, provinciale ou pancanadienne n’était pas claire.

Le projet de la baie de Quinte a été motivé par la recherche d’une méthodologie automatisable et efficace pour extraire numériquement les tendances temporelles des séries chronologiques saisonnières RSO afin de faciliter les tâches de classification de la couverture terrestre en aval.

Principaux résultats : Visualisation des caractéristiques extraites par ACPF

L’ACPF peut être une méthodologie puissante pour extraire les tendances dominantes d’une collecte de séries chronologiques (Wang et al. 2016). Nous avons donc réalisé une étude de faisabilité sur l’utilisation de l’ACPF comme technique d’extraction de caractéristiques pour les séries chronologiques saisonnières RSO au niveau du pixel. Les caractéristiques qui en résultent sont des scores CPF au niveau du pixel. Nos résultats préliminaires suggèrent que la méthodologie fondée sur l’ACPF pourrait être remarquablement efficace. La figure 3 est le rendu RVB des trois premiers scores CPF (le premier score CPF est le canal rouge, le deuxième score CPF est le vert, le troisième score CPF est le bleu (Wikipédia 2022)); calculés à partir des données des séries chronologiques de Sentinel-1 de 2019 pour la baie de Quinte. Notez la remarquable granularité de la figure 3 et son niveau élevé de concordance avec la figure 2. Cela suggère fortement que les caractéristiques extraites fondées sur l’ACPF peuvent faciliter de manière importante les tâches de classification de la couverture terrestre en aval. La suite du présent article expliquera comment la figure 3 a été générée à partir des données des séries chronologiques de Sentinel-1.

Aperçu de la procédure d’extraction des caractéristiques fondée sur l’ACPF

Voici un aperçu de la procédure :

  • Un sous-ensemble d’emplacements/pixels a été soigneusement et stratégiquement sélectionné dans la zone d’étude de la baie de Quinte.
  • Leurs séries chronologiques de Sentinel-1 respectives ont été utilisées pour éduquer un moteur d’extraction des caractéristiques fondées sur l’ACPF.
  • Le moteur d’extraction des caractéristiques fondé sur l’ACPF a ensuite été appliqué aux séries temporelles de Sentinel-1 de chaque emplacement/pixel de toute la zone de la baie de Quinte. La sortie de chaque série temporelle est une séquence ordonnée de nombres appelés scores CPF pour l’emplacement/pixel correspondant. Ces scores sont en ordre décroissant de la variabilité expliquée par leur CPF correspondante.
  • La figure 3 ci-dessus est le rendu RVB des trois premiers scores CPF des données des séries chronologiques de 2019 de Sentinel-1.

Les données de formation

La collecte de données de formation (à partir des emplacements/pixels de la région de la baie de Quinte) a été soigneusement et stratégiquement choisie pour contenir des propriétés précises.

  • Les emplacements de la formation étaient répartis dans toute la zone d’étude de la baie de Quinte.
  • Les types de couverture terrestre étaient connus sur la base d’observations antérieures sur le terrain.
  • Six types de couverture terrestre étaient représentés dans la collecte de formation : eau, eau peu profonde, marais, marécage, forêt et terres agricoles.
  • La collecte de formation était bien équilibrée entre les types de couverture terrestre, car chaque type de couverture terrestre contenait exactement 1000 emplacements/pixels (à l’exception des eaux peu profondes, qui en comptaient 518).
  • Les six types de couverture terrestre représentés dans la collecte de formation sont complets, car chaque emplacement/pixel de la zone d’étude de la baie de Quinte est couvert par l’un de ces six types de couverture terrestre.

Les données de Sentinel-1 ont deux polarisations – transmission verticale et réception verticale (VV), et transmission verticale et réception horizontale (VH). Ces deux polarisations peuvent être considérées comme deux variables observées mesurées par les satellites de Sentinel-1.

Les différentes structures de la surface de la Terre sont détectées avec des sensibilités différentes en polarisations. Par exemple, la diffusion des surfaces rugueuses, comme celles causées par un sol nu ou l’eau, est plus facilement détectée dans la polarisation VV. D’autre part, la diffusion volumique, généralement causée par les feuilles et les branches d’un couvert forestier, est plus facilement détectée dans les polarisations VH et HV. Enfin, un type de diffusion appelé à double réflexion, couramment causée par les bâtiments, les troncs d’arbres ou la végétation inondée, est plus facilement détecté dans la polarisation HH (NASA, 2022). Pour la suite de cet article, nous nous concentrerons sur la polarisation VV.

Figure 4: Données des séries chronologiques VV de Sentinel-1 pour les sites de formation et les diagrammes en ruban correspondants pour une visualisation facile des tendances temporelles. (a) : Données de 2017. Groupe du panneau gauche : Tracés linéaires des données des séries chronologiques VV de Sentinel-1 regroupés par type de couverture terrestre connu. Groupe du panneau droit : Graphiques en ruban correspondants, la courbe noire de chaque panneau indiquant la courbe moyenne particulière au panneau, et le ruban indiquant un écart-type au-dessus et au-dessous de la courbe moyenne particulière au panneau. (b), (c) : Données de 2018 et 2019, respectivement.

Données des séries chronologiques VV de Sentinel-1 pour les sites de formation et les diagrammes en ruban correspondants pour une visualisation facile des tendances temporelles.
Description - Figure 4

Chaque panneau correspond à l’un des six types de zones humides pour 2017, 2018 et 2019 : marais, marécage, eau, forêt, agriculture et eau peu profonde. Chaque panneau contient 1000 séries chronologiques de formation, correspondant à 1000 emplacements de formation distincts, à l’exception du panneau inférieur, qui ne comporte que 518 séries chronologiques. L’axe horizontal affiche les dates d’observation. Elles sont espacées de 12 jours, sauf les écarts occasionnels.

Les quatre points suivants sont observés pour les données des séries chronologiques pour 2017, 2018 et 2019 :

  • Observation 1 : La collecte des dates d’observation peut changer d’une année à l’autre, de même que les écarts.
  • Observation 2 : L’eau et l’eau peu profonde ont en moyenne des valeurs plus faibles que le reste des types de zones humides.
  • Observation 3 : Le diagramme en ruban des eaux peu profondes montre une tendance distincte qui commence à être faible au début de la saison de croissance et qui culmine ensuite à la fin du mois d’août.
  • Observation 4: D’après le graphique en ruban des marais, on constate que les marais présentent à peu près la tendance opposée à celle des eaux peu profondes, à savoir qu’ils commencent par une valeur élevée qui redescend plus tard dans la saison].

Analyse en composantes principales fonctionnelles

Nous donnons une explication conceptuelle de l’ACPF en la comparant à l’analyse en composantes principales ordinaires (ACPO).

L’ACPO est :

  • Supposons un ensemble fini D={x1,x2,,xn}d(des points de données) est donné.
  • Trouver des directions orthogonales d , plus précisément, des sous-espaces unidimensionnels dans d le long desquels D présente la plus grande variabilité, la deuxième plus grande, la troisième plus grande, et ainsi de suite. Ici, l’orthogonalité est définie par le produit interne standard (produit scalaire) sur d. Pour chaque sous-espace orthogonal unidimensionnel, choisir un vecteur unitaire dans ce sous-espace. Les vecteurs unitaires mutuellement orthogonaux résultants d sont les composantes principales ordinaires et elles forment une base orthonormale pour d.
  • Réécrire chaque xi,i=1,2,,n, en matière de composantes principales ordinaires. Les coefficients de cette combinaison linéaire sont les scores des composantes principales ordinaires de xi par rapport aux composantes principales ordinaires.

En quoi l’ACPF (plus précisément, la version particulière de l’ACPF que nous avons utilisée) diffère-t-elle de l’ACPO?

  • L’espace vectoriel de dimension finie d est remplacé par un sous-espace F (éventuellement de dimension infinie) des fonctions intégrables en L2définies sur un certain intervalle (de temps) [a,b].
  • Le produit interne standard sur d est remplacé par le produit interne L2 inner product ·,· sur F, c.-à-d. pour f,gFL2[a,b], f,g  :=  abf(z)g(z)dz

Pourquoi l’ACPF peut-elle saisir des tendances temporelles?

  • La raison en est que la « géométrie » de l’intervalle [a,b] est intégrée dans la définition même du produit interne L2 . Plus concrètement, le processus d’intégration des fonctions sur [a,b] intègre des renseignements sur l’ordre et la distance entre chaque paire de points temporels.
  • Cette « conscience » de la géométrie de l’intervalle [a,b] permet à son tour au produit interne L2 de saisir des renseignements sur les tendances temporelles.

Procédure générale pour appliquer l’ACPF à des données de séries chronologiques

  • Supposons qu’un ensemble fini D de n séries chronologiques observées soit défini sur un ensemble commun de points temporels dans un certain intervalle de temps [a,b] p. ex. dans la saison de croissance d’une certaine année civile), où a et b sont respectivement le point temporel commun initial et final.
  • Interpoler chaque série temporelle donnée dans D pour obtenir une fonction définie sur [a,b]. On obtient un ensemble fini BD de n fonctions définies sur l’intervalle commun [a,b], dont chacune est une interpolation d’une des séries chronologiques observées originales dans D.
    Remarque : Les B-splines sont un choix courant de techniques d’interpolation à cette fin (Schumaker, 2022).
  • Calculer la fonction moyenne globale et une séquence ordonnée de composantes principales fonctionnelles pour la collecte BD de fonctions (interpolations de séries chronologiques dans D dans son ensemble. Notez que chaque CPF est elle-même une fonction définie sur [a,b] (Wang et al. 2016).

Ensuite, pour chaque fonction dans BD, exprimez-la comme une combinaison linéaire des CPF. Les coefficients de cette combinaison linéaire sont les scores des CPF de la fonction donnée par rapport aux CPF.

Par conséquent, les fonctions dans BD, le CPF et les scores CPF peuvent être organisées comme suit :

interpolation d'une série chronologique 1 fonction de moyenne globale + score 11 · composantes principales fonctionelle 1 + score 12 · composantes principales fonctionelle 2 + interpolation d'une série chronologique 2 fonction de moyenne globale + score 21 · composantes principales fonctionelle 1 + score 22 · composantes principales fonctionelle 2 + interpolation d'une série chronologique n fonction de moyenne globale + score n 1 · composantes principales fonctionelle 1 + score n 2 · composantes principales fonctionelle 2 +

Plus le nombre de CPF est important, plus les approximations ci-dessus devraient être précises.

  • Nous considérons que la fonction moyenne globale et la séquence ordonnée de CPF sont ce qui a été appris des fonctions en BD utilisant le mécanisme de l’ACPF.
  • Enfin, notons qu’une fois que la fonction moyenne globale et les CPF de BD ont été calculés (ou « apprises »), elles peuvent être utilisées pour calculer les scores de nouvelles fonctions définies sur [a,b], en particulier pour les interpolations de nouvelles séries chronologiques. C’est cette observation qui permet d’utiliser le mécanisme de l’ACPF comme une technique d’ingénierie des caractéristiques.

Déroulement des opérations d’extraction de caractéristiques fondées sur l’ACPF

Nous expliquons comment les scores des CPF qui sous-tendent la figure 3 ont été calculés dans le projet de la baie de Quinte.

  • Comme décrit précédemment, une collecte T d’emplacements/pixels « de formation » de la zone d’étude de la baie de Quinte a été méticuleusement choisie, comme décrit précédemment.
  • Les données des séries chronologiques de Sentinel-1 pour 2017, 2018 et 2019 ont été extraites pour chaque emplacement/pixel de formation dans T. Nous désignons la collecte des séries chronologiques résultantes par D.
  • Chaque série temporelle dans D a été interpolée à l’aide de B-splines. Nous désignons la collecte de fonctions résultante par BD.
  • La fonction moyenne globale et l’ensemble des composantes principales fonctionnelles ont été calculés (« appris ») à partir de BD en utilisant le mécanisme de l’ACPF. Ce mécanisme de l’ACPF a été mis en œuvre sous la forme de l’ensemble R fpcFeatures (actuellement, uniquement pour un usage interne au CNRF et à Statistique Canada).
  • La série temporelle de Sentinel-1 de 2017 pour chacun des emplacements/pixels hors formation de la zone d’étude de la baie de Quinte a été interpolée avec des B-splines. Pour chacune des interpolations des B-spline résultantes, les scores CPF par rapport aux composantes principales fonctionnelles apprises ont été calculés. Cela s’applique également aux séries chronologiques Sentinel-1 hors formation de 2018 et 2019.
  • Les scores CPF résultants sont considérés comme les caractéristiques extraites pour chaque emplacement/pixel. Ces caractéristiques extraites peuvent être utilisées pour des tâches d’analyse ou de traitement en aval, comme la visualisation (p. ex. le rendu RVB), la classification de la couverture terrestre, la détection des changements d’utilisation du sol, etc.

Ce déroulement des opérations d’extraction de caractéristiques fondées sur l’ACPF est illustré à la figure 5.

Figure 5: Schéma du déroulement des opérations d’extraction de caractéristiques fondée sur

Schéma du déroulement des opérations d’extraction de caractéristiques fondée sur
Description - Figure 5

Le diagramme des caractéristiques des CPF commence par un carré pour les nouvelles données des séries chronologiques qui alimentent l’ensemble R, qui contient CPF 1, CPF 2, etc. Un carré pour des données des séries chronologiques de formation qui alimentent également l’ensemble R. Ensuite, le paquet R indique l’étape suivante, à savoir les caractéristiques ou le score CPF. Puis, des caractéristiques extraites sont générées, lesquelles peuvent être utilisées dans des tâches de traitement ou d’analyse en aval, p. ex. la visualisation par le rendu RVB, la classification de l’utilisation du sol, la détection des changements d’utilisation du sol

Les composantes principales fonctionnelles calculées

Si vous vous souvenez, le soi-disant « moteur d’extraction de caractéristiques fondé sur l’ACPF entraîné » n’est en fait que la fonction de moyenne globale et la séquence ordonnée de CPF (fonctions définies sur un intervalle de temps commun) calculées à partir des données de formation. La figure 6 présente les sept premières CPF calculées à partir des données des séries chronologiques de Sentinel-1 VV de formation pour 2017, 2018 et 2019 de la zone d’étude de la baie de Quinte.

Figure 6: Représentations graphiques des sept premières composantes principales fonctionnelles comme fonctions du temps.

Représentations graphiques des sept premières composantes principales fonctionnelles comme fonctions du temps.
Description - Figure 6

Sept graphiques linéaires des CPF calculés à partir des données des séries chronologiques de Sentinel-1 de 2017, 2018 et 2019. Dans chaque panneau, l’axe horizontal représente « l’indice des dates » où 1 correspond au jour de l’an, 2 correspond au 2 janvier, et ainsi de suite. L’axe vertical représente la valeur des scores CPF respectifs. CPF 1 – Variabilité saisie = 85,044 %; CPF 2 – Variabilité saisie = 7,175 %; CPF 3 – Variabilité saisie = 2,229 %; CPF 4 – Variabilité saisie = 1,677 %; CPF 5 – Variabilité saisie = 1,407 %; CPF 6 – Variabilité saisie = 1,162 %; CPF 7 – Variabilité saisie = 0,917 %. Une explication plus détaillée est donnée ci-dessous.

Ce sont des représentations graphiques des sept premières CPF en fonction du temps. Le panneau ke (en comptant à partir du haut) visualise la CPFke. Rappelons que chaque CPF est, avant tout, une fonction (continue) du temps, considérée comme un vecteur uk  F dans un certain espace vectoriel des fonctions F de (intégrable en L2) définies sur un certain intervalle de temps.

Dans chaque panneau, la courbe grise indique la courbe moyenne des interpolations splines de toutes les séries chronologiques VV (sur tous les lieux de la formation et pour les années 2017, 2018 et 2019). Les CPF s’avèrent être des vecteurs propres d’une certaine carte linéaire (liée à la « variance » de l’ensemble de données d’apprentissage) de F à elle-même (Wang et al. 2016). Dans chaque panneau, la courbe orange représente la fonction obtenue en ajoutant à la courbe moyenne (en gris) le multiple scalaire λk · uk   de la kth composante principale fonctionnelle  uk  , où λk  0 est la valeur propre correspondant à  uk  . La courbe bleue est obtenue en soustrayant le même multiple de  uk   de la courbe moyenne. Notez également que la première composante principale explique environ 85,04 % de la variabilité des données de formation (série chronologique VV), la deuxième composante explique environ 7,18 %, et ainsi de suite.

Ensuite, notez que la première composante principale fonctionnelle ressemble à une ligne horizontale (courbe orange dans le panneau supérieur); elle capture la caractéristique la plus dominante dans les séries chronologiques de formation, qui se révèle être la grande différence quasi constante dans les valeurs VV entre les séries chronologiques de l’eau/eau peu profonde et celles du reste des types de couverture terrestre (autre que l’eau). Cette grande différence quasi constante est clairement observable dans les tracés en ligne et en ruban des figures 4, 5 et 6.

Enfin, il faut noter que la deuxième composante principale fonctionnelle (courbe orange dans le deuxième panneau) présente un creux en début de saison et un pointe en fin de saison, ce qui permet de saisir la tendance des eaux peu profondes, comme on peut l’observer dans les diagrammes en ruban des eaux peu profondes des figures 4, 5 et 6.

Les deux premiers scores CPF des données de formation

Nous montrons ici les nuages de points du premier score CPF par rapport au second pour les données de formation. Observez la bonne séparation des emplacements de formation de l’eau et de l’eau peu profonde de ceux des autres types de couverture terrestre, et observez également la cohérence de cette séparation d’une année à l’autre.

Figure 7: Scores CPF de 2017 – formation

Figure 7 : Scores CPF de 2017 – formation
Figure 7 : Scores CPF de 2018 – formation
Figure 7 : Scores CPF de 2019 – formation
Description - Figure 7

Nuage de points du premier score CPF par rapport au second pour les données des séries temporelles de formation pour 2017, 2018 et 2019.Les scores CPF résultants sont considérés comme les caractéristiques extraites. Chaque point de données de ce graphique correspond à un emplacement de la formation, la couleur indiquant le type de zone humide. Les axes horizontaux et verticaux correspondent respectivement aux premier et second scores CPF dérivés des séries chronologiques VV. Nous insistons sur le fait que, bien que chaque graphique ne montre que les scores des séries temporelles de formation correspondante pour l’année, les scores CPF ont été calculés simultanément pour toutes les séries chronologiques VV pour toutes les années et tous les types de zones humides.

Les points de données sont partiellement regroupés par type de zone humide; en particulier, l’eau et les eaux peu profondes se séparent très bien des autres types de zones humides. La séparation horizontale (qui est la dimension correspondant à la première CPF) entre l’eau/eau peu profonde et le reste. Cela représente la grande différence verticale entre l’eau/eau peu profonde et les autres types de zones humides non aquatiques au regard des valeurs VV originales (voir figure 4). La première CPF saisit cette grande différence verticale constante tout au long de la saison de végétation, ce qui explique pourquoi la première CPF ressemble à une ligne plate (courbe orange qui apparaîtrait dans le panneau supérieur de la figure 6).

Rappelons également que la deuxième CPF présente une tendance qui ressemble à celle des eaux peu profondes (comme le montrent les tracés en ruban dans les panneaux inférieurs de la figure 4 par rapport à la courbe orange dans le deuxième panneau de la figure 6). Rappelons également que le marais présente en gros la tendance inverse (comme indiqué dans le panneau supérieur de la figure 4 par rapport à la courbe bleue du second panneau de la figure 6). La deuxième CPF saisit la tendance affichée par les eaux peu profondes et, par conséquent, dans ce nuage de points, ce sont les emplacements de formation en eaux peu profondes (rouge) qui s’étendent significativement dans la direction verticale positive. En revanche, comme le marais présente à peu près la tendance inverse, les emplacements de formation pour les marais (en noir) s’étendent significativement vers le bas dans le présent nuage de points.

Contrôle d’intégrité : approximation de la série temporelle de formation originale par l’ACPF.

Étant donné que l’ACPF repose sur l’approximation de séries chronologiques de données de formation individuelles en tant que combinaisons linéaires d’une séquence de CPF (elles-mêmes des fonctions) qui sont apprises à partir des séries chronologiques des données de formation en tant que groupe :

interpolation d'une série chronologique i fonction de moyenne globale + score i 1 · composantes principales fonctionnelle 1 + score i 2 · composantes principales fonctionnelle 2 +

Pour évaluer l’adéquation de l’ACPF à un ensemble particulier de données des séries chronologiques, il est prudent d’examiner dans quelle mesure les approximations fondées sur l’ACPF peuvent réellement se rapprocher des données des séries chronologiques originales.

La figure 12 montre six séries chronologiques de données de formation de Sentinel-1 choisies au hasard et leurs approximations par l’ACPF pour donner une impression de la qualité de l’ajustement des approximations de l’ACPF.

Figure 8: Approximations par l’ACPF de six séries chronologiques de données de formation.

Figure 8: Approximations par l’ACPF de six séries chronologiques de données de formation. Année 2017
Figure 8: Approximations par l’ACPF de six séries chronologiques de données de formation. Année 2018
Figure 8: Approximations par l’ACPF de six séries chronologiques de données de formation. Année 2019
Description - Figure 8

Approximations par l’ACPF de six séries chronologiques de données de formation. Dans chaque panneau, l’axe horizontal représente « l’indice des dates » où 1 correspond au jour de l’an, 2 correspond au 2 janvier, et ainsi de suite. L’axe vertical représente la valeur de la variable VV dans les données de Sentinel-1. Les points noirs sont les points de données des séries chronologiques originales. La courbe bleue est l’interpolation B-spline. La courbe rouge est l’approximation de l’ACPF à sept termes de l’interpolation B-spline (courbe bleue), où le « sept termes » signifie ici que l’approximation de l’ACPF est la somme de la fonction moyenne globale et d’une combinaison linéaire. Panneau 1 – année 2017, emplacement : -77,210217019792_43,8920257051607; Panneau 2 – année 2017, emplacement : -77,2997875102733_44,0678018892809; Panneau 3 – année 2018, emplacement : -77,2373431411184_44,1006434402341; Panneau 4 – année 2018, emplacement : -77,2691161641941_43,9610969253399; Panneau 5 – année 2019, emplacement : -77,2663596884513_43,950887882021; Panneau 6 – année 2019, emplacement : -77,3141305185843_44,1218009272802

Travaux à venir

  • Cet article présente la technique d’ingénierie des caractéristiques fondée sur l’ACPF pour les données saisonnières des séries chronologiques de Sentinel-1. Rappelons toutefois que le but ultime est la classification des zones humides. La recherche de suivi immédiat consiste à appliquer certaines techniques de classification « de base » (p. ex. une forêt aléatoire) aux caractéristiques extraites fondées sur l’ACPF (c.-à-d. les scores CPF) et à examiner les précisions qui en résultent.
  • La plupart des techniques de classification de base, comme la forêt aléatoire, ignorent les relations spatiales entre les emplacements/pixels. Si les techniques de base se révèlent insuffisamment précises, vous pouvez envisager des techniques de classification plus sophistiquées qui tentent de prendre en compte les relations spatiales, p. ex. en imposant des contraintes qui favorisent les emplacements/pixels proches pour avoir le même type de couverture terrestre prédit. L’une de ces techniques est le champ aléatoire de Markov caché, qui traite la tâche de classification de la couverture terrestre comme un problème de segmentation d’image non supervisée.
  • Il a fallu environ 45 minutes pour générer la figure 3, en l’exécutant dans 16 fils parallèles sur un seul ordinateur virtuel x86 64-conda-linux-gnu (64 bits), sur un nuage informatique commercial, avec 28 Go de mémoire, en utilisant le système d’exploitation Ubuntu 20.04.2 LTS et R version 4.0.3 (2020– 10-10). Toutefois, la figure 3 ne couvre que la zone d’étude de la baie de Quinte, qui est une zone minuscule comparée à la province de l’Ontario ou à l’ensemble du Canada. L’utilisation des mêmes ressources informatiques que celles mentionnées ci-dessus pour exécuter le flux de travail d’extraction de caractéristiques fondées sur l’ACPF nécessiterait environ trois semaines pour l’Ontario et plusieurs mois pour l’ensemble du Canada. Plusieurs années de données de Sentinel– 1 pour l’ensemble du Canada auront une empreinte de stockage de plusieurs douzaines de téraoctets. D’un autre côté, on aimerait bien, à terme, mettre en place un système de classification pancanadien des terres humides (presque entièrement) automatisé. L’informatique répartie (informatique en nuage ou grappes de calcul à haute performance) sera nécessaire pour déployer un tel déroulement des opérations capable de traiter de tels volumes de données dans un délai raisonnable. Une étude de suivi est en cours pour déployer ce déroulement des opérations sur la plate-forme nuagique de Google (Google Cloud Platform (GCP)) pour l’ensemble de la Colombie-Britannique. Nous prévoyons que le temps d’exécution du déploiement du GCP pour l’ensemble de la Colombie-Britannique, divisé en centaines de tâches de calcul simultanées, sera inférieur à 3 heures. En outre, nous mentionnons que, en raison de la nature vectorielle des calculs de l’ACPF, une mise en œuvre du GPU devrait en théorie être possible, ce qui pourrait accélérer encore davantage les calculs de manière spectaculaire. Un article scientifique sur les résultats et les méthodologies de cette série de projets est en préparation et sera bientôt publié dans une revue à comité de lecture.
  • Comme nous l’avons mentionné, les changements saisonniers des structures de la surface de la Terre, saisis sous forme de tendances temporelles dans les données des séries chronologiques de Sentinel-1, sont des variables prédictives utiles pour la classification des zones humides. Toutefois, pour pouvoir utiliser les données correctement et à grande échelle, il faut être conscient d’un certain nombre de problèmes potentiels. Par exemple, les utilisateurs de données doivent être bien informés des artefacts de mesure qui peuvent être présents dans de telles données, de la façon de détecter leur présence et de la façon de les corriger, si nécessaire. Nous prévoyons également que les tendances temporelles varieront (p. ex. en raison des variations naturelles, des cycles climatiques, du changement climatique), tant d’une année à l’autre que dans l’espace. La question de savoir comment tenir compte des variations spatiotemporelles des tendances temporelles de Sentinel-1 lors de la conception et de la mise en œuvre d’un déroulement des opérations pancanadien.
  • Rappelons que nous nous sommes concentrés exclusivement sur la polarisation VV dans les données de Sentinel-1, bien que nous ayons déjà mentionné que les données de Sentinel-1 présentent une polarisation supplémentaire, à savoir VH. Les différentes polarisations sont sensibles aux différents types de structures au niveau du sol (NASA, 2022). En outre, Sentinel-1 est une constellation de satellites RSO en bande C (c.-à-d. avec une fréquence de signal radar d’environ 5,4 GHz), ce qui signifie notamment que Sentinel-1 mesure, très approximativement, des structures au niveau du sol d’une taille d’environ 5,5 cm. Toutefois, il existe d’autres satellites RSO qui ont des fréquences de signal différentes qui ciblent donc des structures au niveau du sol de tailles différentes (NASA, 2022). Il sera très intéressant de voir si les données RSO avec des fréquences de signal différentes, et mesurées dans des polarisations différentes, pourront être combinées afin d’améliorer de manière importante l’utilité de ces données.

Références

  1. BANKS, S., WHITE, L., BEHNAMIAN, A., CHEN, Z., MONTPETIT, B., BRISCO, B., PASHER, J., AND DUFFE, J. Wetland classification with multi-angle/temporal sar using random forests. Remote Sensing 11, 6 (2019).
  2. EUROPEAN SPACE AGENCY. Sentinel-1 Polarimetry. https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/product-overview/polarimetry (le contenu de cette page est en anglais). Accédé : 2022-02-10.
  3. NASA. What is Synthetic Aperture Radar? https://earthdata.nasa.gov/learn/ backgrounders/what-is-sar (le contenu de cette page est en anglais).  Accédé : 2022-02-10.
  4. SCHUMAKER, L. Spline Functions: Basic Theory, third ed. Cambridge Mathematical Library. Cambridge Mathematical Library, 2007.
  5. WANG, J.-L., CHIOU, J.-M., AND MU¨LLER, H.-G. Functional data analysis. Annual Review of Statistics and Its Application 3, 1 (2016), 257–295.
  6. WIKIPEDIA. RGB color model. https://en.wikipedia.org/wiki/RGB_color_model (le contenu de cette page est en anglais). Accédé : 2022-02-10.

All machine learning projects at Statistics Canada are developed under the agency's Framework for Responsible Machine Learning Processes that provides guidance and practical advice on how to responsibly develop automated processes.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

mercredi, le 14 septembre
14 h 00 à 15 h 00 p.m. HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Élaboration de profils de compétences pour encadrer la science des données dans la fonction publique

par: Reginald Maltais, Statistique Canada

Introduction

L'un des premiers enjeux soulevés par le Réseau de la science des données (RSD) lors de sa mise en place, a été la difficulté d'attirer et de retenir les talents en science des données au sein du gouvernement du Canada. Il n'existait aucun instrument commun pour l'évaluation équitable des candidatures à l'échelle gouvernement, et il n'y avait pas non plus de manière de déterminer les compétences requises pour permettre l'avancement professionnel des scientifiques des données déjà à l'emploi du gouvernement.

Les profils de compétences offrent une manière de consigner le niveau minimum de compétences requises dans diverses disciplines pour un poste donné au sein du gouvernement fédéral. En avril 2021, le Réseau de la science des données a mis sur pied le Groupe de Travail (GT) sur les compétences en science des données pour déterminer : 1) les postes que les scientifiques des données pourraient occuper au gouvernement fédéral et 2) les compétences requises pour ces postes.

Le GT a lancé ses travaux dans le cadre d'un atelier donné à la Conférence sur les données de 2021, lors duquel la décision a été prise de mettre l'accent sur les postes en science des données suivants :

  • analyste en science des données
  • ingénieur/ingénieure en science des données
  • spécialiste de la visualisation en science des données
  • gestionnaire en science des données

Figure 1 : Schéma en étoile du profil de compétences

Schéma en étoile du profil de compétences
Figure 1 : Schéma en étoile du profil de compétences Schéma en étoile avec un cercle central représentant les quatre profils de compétences, entouré de cinq branches représentant les éléments qui ont contribué à son élaboration. Cela comprend les efforts concertés de 61 membres du Groupe de travail issus de 21 ministères et organismes. Ils ont déterminé pour chaque rôle 72 compétences comportant chacune trois niveaux, permettant une dotation flexible et offrant un parcours de développement clair pour les personnes qui souhaiteraient accroître leurs compétences en science des données au sein du gouvernement du Canada.

Justification des profils de compétences

Des profils de compétences ne sont pas le type d’instrument de ressources humaines auquel les gens pensent immédiatement lorsqu’ils créent l’annonce d’un poste ou présentent leur candidature à un poste. Compte tenu du fait que les rôles sont habituellement définis selon la description des fonctions, et qu’au sein du gouvernement, l’énoncé des critères de mérite est utilisé pour dresser la liste des compétences requises pour un poste aux fins d’embauche, quelle valeur un profil des compétences peut-il apporter?

Les profils de compétences comblent une importante lacune et peuvent être utilisés à tous les échelons à de multiples fins — les gestionnaires peuvent les utiliser pour préparer la description de poste qui accompagnera une nouvelle annonce dans la banque Emplois GC. Les spécialistes en ressources humaines peuvent aussi les utiliser pour rédiger des énoncés de critères de mérite propres à un poste, permettant ainsi de créer des annonces pour différents niveaux d'expertise tout en assurant un certain niveau de cohérence à l'échelle du gouvernement. Les profils de compétences offrent aussi l'avantage de ne pas être liés à une classification ou à un niveau en particulier, contrairement aux descriptions de poste.

Par exemple, un analyste de politiques qui souhaite devenir un analyste en science des données pourrait utiliser un profil de compétences pour connaître les compétences qui sont requises pour assumer un tel rôle. Il peut ensuite intégrer ces compétences dans le plan d’apprentissage de son poste actuel. Cela peut l’aider à tirer parti des données avec lesquelles il travaille actuellement et le guider pendant qu’il développe les aptitudes requises pour devenir un analyste en science des données.

Les talents en technologie sont rares. Il y a une très forte concurrence interne pour les rares talents qui ne sont pas toujours affectés à des initiatives prioritaires.

Stratégie pour le gouvernement dans l’ère numérique – BDPI – Diapositive 18

Le fait de ne pas être lié à une classification ou à un niveau existants offre une grande souplesse professionnelle et a permis au Groupe de travail de réellement envisager ce que cela signifie d’être un scientifique des données au gouvernement du Canada, sans se limiter aux définitions prévues dans les cadres existants. Bien entendu, quand une personne est embauchée pour un poste, elle doit être correctement classifiée; c’est pourquoi les profils de compétences sont utilisés comme intrants pour le Groupe de Travail des ressources humaines sur les fonctions liées à l’information et aux données. Ce groupe a pour but de normaliser les descriptions de poste, de dresser un parcours montrant comment une carrière peut progresser, et d’aider à accroître la visibilité des talents qui sont disponibles dans l’ensemble du gouvernement.

Comment les utiliser aujourd’hui

Le gouvernement du Canada dote toutes sortes de postes dont les titulaires travaillent et analysent les données. Ce n’est pas tout le monde qui souhaite ou doit être un scientifique des données, mais le fait d’offrir aux employés le moyen de s’établir un plan pour améliorer leurs aptitudes analytiques et la diversité de leurs compétences contribuera à renforcer le gouvernement dans son ensemble.

Les chercheurs qui souhaitent incorporer la science des données dans leur travail ne veulent pas nécessairement renoncer à leurs postes de recherche. Les profils des compétences peuvent les aider à déterminer les capacités requises pour s’assurer qu’une science des données de grande qualité peut être intégrée à leurs travaux. Les gestionnaires qui désirent bâtir des équipes robustes peuvent utiliser les profils en complément avec le Cadre des compétences en données du gouvernement du Canada, élaboré par le Groupe de travail sur les personnes et la culture de la Communauté de pratique sur les données ministérielles pour créer des équipes comportant un large éventail de compétences et déjà prêtes à répondre aux besoins de leurs ministères ou organismes respectifs.

Appuyer diverses structures d’équipe

Il y a de multiples angles à la science des données, ce qui signifie qu’il y a de multiples façons d’intégrer la science des données dans les équipes. Certaines organisations ont des besoins tellement prononcés qu’elles ont formé des divisions entières pour fournir une expertise en science des données en tant que service, alors que d’autres tentent d’intégrer les scientifiques des données dans de nouveaux secteurs d’activité ou dans ceux qui sont déjà en place. Chaque approche s’accompagne d’enjeux particuliers liés au recrutement, à la rétention et à la progression de carrière.

Les compétences qui ont été définies fournissent des renseignements en lien avec les personnes et les organisations quant aux compétences minimales requises pour différents niveaux de poste. Ainsi, les gestionnaires d’embauche peuvent cibler les compétences et les niveaux du poste à doter, et cela permet aux candidats de voir le perfectionnement des compétences requis pour obtenir un poste de niveau plus élevé en science des données.

Les fondements d’une chaîne de valeur en RH améliorée

La gestion des talents est un dossier complexe. Comme on l'a souligné dans le Processus opérationnel commun en matière de ressources humaines, les profils de compétences ne représentent qu'une portion d'un plus vaste ensemble. En tirant profit des compétences développées par la communauté, les gestionnaires d'embauche collaborent maintenant à l'élaboration de descriptions de poste normalisées interministérielles, dans le cadre du Groupe de travail des ressources humaines sur les fonctions liées à l'information et aux données. Les compétences pourront être appliquées à des classifications précises au sein du gouvernement du Canada, faisant avancer davantage les éléments réutilisables qui rendront l'embauche plus facile.

Les ressources pour développer vos capacités techniques en tant que scientifique des données ne manquent pas. Le Réseau de la science des données pour la fonction publique fédérale diffuse régulièrement des occasions d’apprentissage. Cependant, les capacités techniques ne sont pas les seules qualités requises d’un fonctionnaire, et les profils de compétences offrent un cadre que les personnes peuvent utiliser pour compléter leur plan d’apprentissage. Qu’il s’agisse de renseigner sur l’importance de l’éthique, de la protection des renseignements personnels ou de la communication narrative, les profils de compétences donnent aux scientifiques des données un aperçu des domaines où ils peuvent s’améliorer et leur servir de référence pour l’élaboration de leur plan d’apprentissage.

Un avenir qui s’annonce prometteur

La science des données est encore relativement nouvelle au sein de la fonction publique. Bien qu'elle soit déjà présente dans de nombreux aspects de la vie des Canadiennes et des Canadiens, la capacité d'exploiter la science des données pour mieux servir la population n'est qu'à ses débuts. De la Comparaison des outils de reconnaissance optique de caractères pour les documents à forte densité de texte et les textes provenant de scènes, à l'amélioration des temps de service en automatisant l'ingestion des données à partir de documents écrits (voir la page Intelligence documentaire), en passant par l'utilisation responsable des systèmes décisionnels automatisés du gouvernement fédéral, la science des données est déjà utilisée et porte ses fruits. Le gouvernement fournit un grand nombre de services, et la science des données peut être utilisée de bien des manières. Les analystes qui travaillent déjà à la prestation de ces services disposent maintenant d'une nouvelle ressource pour les aider à déterminer comment améliorer leurs propres compétences pour commencer à utiliser la science des données, et les gestionnaires disposent de nouveaux outils qu'ils peuvent utiliser pour évaluer les scientifiques des données lorsqu'ils tentent l'intégrer dans leurs secteurs de programme. Visitez la page GCWiki pour le Réseau de la science des données de la fonction publique fédérale pour voir les profils de compétences pour les postes suivants :

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

mercredi, le 14 septembre
14 h 00 à 15 h 00 p.m. HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Cas d'utilisation sur la gestion des métadonnées

par : Ekramul Hoque, Statistique Canada

Que sont les métadonnées?

Les métadonnées sont des données qui fournissent des renseignements sur d'autres données. En d'autres termes, il s'agit de « données sur des données ». Il s'agit de l'une des composantes essentielles de la gouvernance des données, car elle impose des règles de gestion en matière de collecte et de contrôle des données. Les scientifiques de données consacrent un temps considérable à rassembler et à comprendre les données. Nous pouvons générer des aperçus plus rapides lorsque nous avons accès aux métadonnées sous-jacentes.

Pourquoi une organisation a-t-elle besoin d'un système de gestion des métadonnées?

Lorsqu'une organisation dispose d'un système de gestion des métadonnées, cela signifie que ses employés peuvent ajouter des métadonnées dans leurs référentiels de manière rapide et précise sans aucune incidence sur l'accès aux données au sein de leurs systèmes. Cela permet d'accroître la créativité des flux de travail et de renforcer les processus opérationnels. Par exemple, l'une des activités principales de Statistique Canada consiste à effectuer une analyse statistique d'un large éventail de types et de quantités de données. Pour y parvenir efficacement, les analystes doivent être en mesure d'identifier rapidement les données les plus utiles pour en déterminer la structure et la sémantique.

Parmi les principaux avantages de la gestion des métadonnées, notons les suivants :

  • Optimisation de l'utilisation des données pertinentes et accroissement de leur qualité
  • Plateforme commune permettant à divers groupes d'utilisateurs des données de discuter et de gérer efficacement leur travail. Par exemple, les ingénieurs de données, qui travaillent avec des métadonnées techniques et des normes de type de données, peuvent fournir une assistance pour la génération et la consommation de métadonnées
  • Délais de livraison de projets plus courts grâce à une meilleure intégration des données sur diverses plateformes

Naturellement, une analyse de données réussie repose sur une gestion solide des métadonnées. Une bonne gestion des métadonnées peut également améliorer la capacité en matière de découverte des données. Elle résume l'information fondamentale de base sur les données, ce qui facilite la recherche et le suivi.

L'automatisation des métadonnées est une tendance récente de l'industrie qui remplace le processus de plus en plus fastidieux de la mise en correspondance manuelle des données pendant la gestion des métadonnées. Parmi les principaux avantages de l'automatisation, citons l'assurance de la qualité des données et le raccourcissement des délais de réalisation des projets grâce à une meilleure intégration des données sur diverses plateformes. La gestion des métadonnées garantit la conformité à la réglementation grâce à la normalisation des données. Elle améliore également la productivité et réduit les coûts. La gestion des métadonnées permet de connaître les données existantes et leur valeur potentielle, favorisant ainsi la transformation numérique; celle-ci permet aux organisations de connaître les données dont elles disposent et leur valeur potentielle.Note de bas de page 1

Normalisation des données

Lorsque les données sont fournies par des partenaires externes, il est probable que leur système ou application ait été créé indépendamment. La normalisation des données établit une compréhension mutuelle de la signification et de la sémantique des données, ce qui permet aux utilisateurs de les interpréter et de les utiliser de manière appropriée.Note de bas de page 2

Dans le cadre du Collectif canadien de normalisation en matière de gouvernance des données, Statistique Canada a adopté les recommandations de l'initiative d'échange de données et de métadonnées statistiquesNote de bas de page 3 (SDMX), un projet international qui vise à normaliser et à moderniser les mécanismes et les processus d'échange de données et de métadonnées. Les règles SDMX sont maintenant diffusées sous l'égide de l'Organisation internationale de normalisation et sont approuvées à titre de norme officielle à Statistique Canada.

SDMX est un cadre qui permet de normaliser à la fois les données et les métadonnées. Bien qu'il soit bien implanté dans le Système des comptes nationaux de Statistique Canada, il est encore en phase initiale d'introduction dans d'autres secteurs de l'organisation. Cette méthode d'interopérabilité des données devrait permettre :

  • de réduire les doublons;
  • de mieux comprendre les concepts;
  • de cerner les lacunes statistiques;
  • de faciliter le rapprochement des données;
  • d'approfondir les analyses.

La norme SDMX pourrait être exploitée, par harmonisation, dans un format « normatif léger et souple » permettant l'utilisation d'outils pour produire rapidement des couches d'infrastructure et d'interopérabilité, ce qui faciliterait l'échange rapide de l'information.

Catalogage des données

Le catalogage des données est un autre élément clé de la gestion des métadonnées. Cette expression est communément définie comme la découverte de données utiles à partir d'ensembles de données participants. Elle a pour objectif principal d'employer des méthodes cohérentes pour trouver les données et les renseignements qui leur sont associés. La figure 1 illustre comment les processus d'analyse changent lorsque les analystes utilisent un catalogue de données.

Figure 1 : Processus avec et sans catalogue de données. Graphique tiré d' Alation - Data Intelligence + Human Brilliance (le contenu de cette page est en anglais)

Figure 1 : Processus avec et sans catalogue de données
Figure 1 : Processus avec et sans catalogue de données

Voici deux graphiques.

Le premier graphique montre comment les processus fonctionnent sans catalogue de données. On y voit un cercle jaune comportant les mots « Documentation disponible et connaissance organisationel ». Une flèche pointe vers le bas vers une case bleue comportant la mention « Trouver les données ». De là, une flèche pointe à droite vers une autre case bleue comportant la mention « Obtenir les données », puis une autre pointe vers une troisième case bleue comportant la mention « Évaluer les données ». De celle-ci, une flèche pointe vers le haut vers la mention « Ne convient pas », où le lecteur est invité à reprendre le processus au cercle jaune. Notez qu'une autre flèche pointe à droite à partir de la case « Évaluer les données ». Au-dessus de cette flèche se trouve la mention « Essayer ». Elle mène le lecteur à une autre case bleue portant la mention « Comprendre les données ». Cette case est dotée d'une flèche pointant vers le haut jusqu'à la case « Ne convient pas » et d'une autre flèche pointant vers la droite jusqu'à la case bleue comportant les mots « Préparer les données ». Cette case bleue comporte également deux flèches – l'une pointant vers le haut jusqu'aux mots « Besoin de plus de données », où le lecteur est redirigé vers le cercle jaune pour recommencer à l'étape 1, et l'autre pointant vers la droite jusqu'à la case « Analyser les données »; de là, une autre flèche pointe à droite vers une case bleu marine comportant les mots « Partager l'analyse ». Ce graphique est censé représenter les essais et les erreurs sans catalogue de données.

Le graphique inférieur illustre le fonctionnement des processus quand on dispose d'un catalogue de données. On y voit un carré de couleur jaune comportant les mots « Catalogue de données ». À partir de cette case, deux flèches pointent vers le bas. L'une mène, à gauche, à une case bleue comportant la mention « Trouver les données » et l'autre, à droite, à une autre case bleue comportant la mention « Évaluer les données ». Les deux boîtes sont également reliées par une flèche allant de gauche à droite. De la case « Évaluer les données », une flèche pointe à droite vers une autre case bleue comportant la mention « Obtenir les données ». Une flèche pointe ensuite vers une autre case bleue comportant la mention « Comprendre les données », et la suivante mène à une autre case comportant les mots « Préparer les données ». À partir de cette boîte, une flèche pointant vers le haut signifie que vous avez besoin de plus de données et que vous devez recommencer à la boîte jaune comportant la mention « Catalogue de données »; si vous suivez la flèche pointant vers la droite, elle vous mène à la case bleue comportant les mots « Analyser les données ». Celle-ci comporte une flèche menant à la case bleu marine « Partager l'analyse ». Ce graphique illustre la rapidité du processus avec un catalogue de données, son efficacité et la confiance qu'il inspire.

Sans catalogue de données, les analystes recherchent des renseignements en étudiant la documentation antérieure, en collaborant avec des associés et en ayant recours à d'autres ensembles de données reconnaissables. Ce cycle exige une expérimentation et la nécessité « d'étendre et d'améliorer » les données. L'analyste doit ensuite consulter des ensembles de données déjà connus.

Le catalogue de données permet à l'analyste de rechercher des ensembles de données disponibles, d'évaluer les données et de prendre des décisions éclairées quant aux renseignements à utiliser. Il peut ensuite examiner et planifier l'information de manière efficace et avec plus de certitude.Note de bas de page 4 Le réseau de stockage et de distribution de données CKAN (le nom est derivé d'acronym du « Comprehensive Knowledge Archive Network ») a été créé pour soutenir ce processus.

Qu'est-ce que le CKAN?

CKAN - The world's leading open source data management system (le contenu de cette page est en anglais) est un système de gestion de données à code source ouvert destiné aux éditeurs de données nationaux et régionaux, aux gouvernements et aux organisations qui souhaitent publier des données, les faire connaître et les rendre ouvertes et accessibles à l'utilisation.

Pourquoi utiliser CKAN?

  • Il s'agit d'un logiciel libre et gratuit, ce qui signifie que les utilisateurs conservent tous les droits sur les données et les métadonnées qu'ils stockent dans le logiciel.
  • Le logiciel est encodé avec Python et JavaScript. Le code JavaScript, dans CKAN, est décomposé en modules, c'est-à-dire en petites unités indépendantes de code JavaScript. Dans les thèmes CKAN, on peut ajouter des fonctionnalités JavaScript en y intégrant ses propres modules. De cette façon, le code demeure simple et facile à tester, à déboguer et à maintenir, puisqu'il est décomposé en petits modules indépendants. Les développeurs sont autorisés à ajouter des extensions, c'est‑à‑dire des paquets en Python qui modifient ou étendent CKAN. Chaque extension contient un ou plusieurs modules d'extension qui doivent être ajoutés au fichier de configuration CKAN de l'utilisateur pour activer les fonctionnalités de l'extension.
  • La gestion des utilisateurs et des données est ainsi assurée.
  • De cette façon, on peut développer des extensions personnalisées.
  • On y trouve également un point de terminaison de l'interface de programmation d'application (IPA), qui sert à stocker, à modifier, à extraire et à analyser les données.

Cas d'utilisation des métadonnées

À la fin de 2019, l'équipe Opérationnalisation de la science des données de Statistique Canada a commencé à utiliser le Programme intégré de la statistique des entreprises (PISE) de l'organisme. Le PISE est le système commun de traitement des données utilisé pour la plupart des enquêtes économiques de Statistique Canada.

L'objectif du projet est de vaincre les limites de l'espace analytique actuel. Une nouvelle solution permettra :

  • de répondre au besoin d'une solution analytique en libre-service;
  • d'accroître la capacité de connexion aux outils d'analyse;
  • d'accroître la capacité de recherche et de découverte dans des ensembles de données;
  • d'éviter la duplication des données;
  • d'avoir moins recours à des modes d'accès uniformisés;
  • d'utiliser l'analyse horizontale à partir de données extérieures au PISE.

Le PISE et la Division de la science des données se sont associés à l'infrastructure de données FAIR (IDF) pour déterminer si un prototype pouvait être créé à l'aide d'outils à code source ouvert.

L'IDF vise à produire un écosystème collaboratif de données et de métadonnées pour tous les fournisseurs et utilisateurs de données. Au cœur de cet espace figurent un catalogue de données, de même que des outils de gestion des données et des métadonnées.

Transfert de connaissances des analystes à l'administrateur avant la mise en place d'un système infonuagique

Le PISE dispose d'analystes qui souhaitent accéder aux enquêtes. Ces enquêtes sont gérées et mises à jour par un administrateur de l'équipe du PISE; cependant, le processus de mise à jour et de création d'accès entraîne des duplications et des redondances de données. De plus, les analystes ont du mal à faire des recherches parmi ces données et les métadonnées correspondantes, car elles sont disponibles dans des répertoires partagés.

Figure 2 : Goulot d'étranglement dans la validation de concept du PISE

Figure 2 : Goulot d’étranglement dans la validation de concept du PISE
Figure 2 : Goulot d'étranglement dans la validation de concept du PISE) Il s'agit du processus de transfert des connaissances des analystes à l'administrateur avant l'établissement d'un système infonuagique. La figure montre d'abord une ampoule électrique, dans le coin supérieur gauche, au-dessus de laquelle se trouve le mot « Analyser ». En dessous, on voit trois personnes, qui sont des « analystes ». Une flèche pointe à droite vers l'image suivante dans la chronologie, à savoir un octogone dans lequel figure une icône « Non » au-dessus de laquelle se trouve le mot « Découvrabilité? ». De là, une flèche pointe à droite vers une icône avec des cercles superposés, ce qui signifie que les données sont en cours d'organisation. À droite, une flèche pointe également vers cette icône depuis l'icône d'administration. On voit plusieurs icônes de page sous l'icône de l'administrateur; sous celles-ci se trouvent les mots « Articles en double ».

Transfert de connaissances des analystes à l'administrateur après la mise en place d'un système infonuagique

L'équipe a proposé une solution en trois points pour remédier au goulot d'étranglement :

  • Le service de recherche de l'IDF : L'équipe de l'IDF a facilité l'enregistrement et la découverte des métadonnées grâce à une couche de virtualisation des donnéesNote de bas de page 5 Le moteur de recherche figure au-dessus d'Elastic Search et il y a des points de terminaison IPA qui permettent aux utilisateurs externes et internes de gérer leur actif en données.
  • CKAN
  • Le locataire de la plateforme Azure

Le PISE télécharge les données et les métadonnées dans CKAN et le service de recherche de l'IDF. Cela permet aux analystes de rechercher les données et les métadonnées et d'y avoir accès. Les deux systèmes sont synchronisés avec le locataire de la plateforme Azure pour gérer l'authentification des utilisateurs et le stockage des données.

Figure 3 : Solution présentée pour la validation de concept du PISE

Figure 3 : Solution présentée pour la validation de concept du PISE
Figure 3 : Solution présentée pour la validation de concept du PISE Cette image illustre le processus de transfert de connaissances des analystes vers l'administrateur après l'établissement d'un système infonuagique. La figure montre d'abord une ampoule électrique, dans le coin supérieur gauche, au-dessus de laquelle se trouve le mot « Analyser ». Sous l'ampoule, on voit trois personnes et sous celles-ci, le mot « Analyste ». Deux flèches pointent à droite, vers une case au centre de l'image, au-dessus de laquelle se trouve le mot « Nuage ». Une des flèches partant de l'icône « Analyste » pointe vers l'icône « Moniteur », située au-dessus de la case « Nuage »; à proximité, on peut voir ce qui suit : « IDF : Service de recherche/Référentiel de métadonnées ». L'autre flèche pointe vers l'icône « CKAN », sous l'icône « Moniteur ». Sur le côté droit de la figure 3, on voit une icône représentant une seule personne; le mot « Admin » s'affiche sous celle-ci. À partir de cette icône, deux flèches pointent à gauche – la première revient à l'icône « Moniteur », tandis que l'autre va vers l'icône « CKAN ». On voit les deux postes travaillant dans le nuage, ce qui règle le problème du goulot d'étranglement illustré à la figure 3.

Une solution de gestion des métadonnées

Pour être réussie, la mise en œuvre d'une solution de gestion des métadonnées doit comprendre : une stratégie en matière de métadonnées; l'intégration et la publication des métadonnées; la saisie et le stockage des métadonnées; ainsi que la gouvernance et la gestion des métadonnées. La stratégie de métadonnées garantit la cohérence de l'ensemble de l'écosystème de données d'une organisation. Elle explique pourquoi l'entreprise assure le suivi des métadonnées et recherche toutes les sources de métadonnées, de même que les méthodes qu'elle utilise. Une telle stratégie peut se révéler très complexe sur le plan du volume et des variations des données, de même que sur le plan des capacités technologiques de l'entreprise qui l'appuient. Le graphique ci-dessous donne un aperçu très général de la manière dont une telle stratégie peut être mise en œuvre.

Figure 4 : Infrastructure de métadonnées

Figure 4 : Infrastructure de métadonnées
Figure 4 : Infrastructure de métadonnées

Le graphique présente un projet de mise en œuvre d'une infrastructure de métadonnées, dans laquelle les données sont généralement acheminées de leurs sources (de gauche à droite) vers leurs utilisateurs. Au début, on voit un marqueur ovale dont le titre est « Source de données ». On y trouve quatre icônes désignées par une étiquette ou un mot. Chacune des icônes est superposée et accompagnée d'une étiquette ou d'un mot correspondant en dessous. La première icône représente des cercles superposés, illustrant que les fichiers sont organisés. Sous celle-ci se trouve l'étiquette « Données structurées ». La deuxième icône représente deux pages; elle est assortie de l'étiquette « Fichiers ». La troisième icône représente une partie d'engrenage accompagnée de l'acronyme « IPA »; l'étiquette de cette icône est « IPA Web ». La quatrième et dernière icône du marqueur est constituée de trois images côte à côte, chacune comportant un disque de forme carrée; elles sont placées les unes sur les autres, pour illustrer qu'il y a plusieurs sources de données. L'étiquette ou mot situé se trouvant sous cette icône est « Autres données ».

Une flèche pointe de ce marqueur vers un plus grand marqueur de forme carrée intitulé « Infrastructure de métadonnées »; on voit, à l'intérieur de celui-ci, quatre autres marqueurs de forme ovale empilés horizontalement ou juxtaposés dans lesquels se trouvent des paires d'icônes et des étiquettes ou mots joints par des flèches pointant à droite. Le premier marqueur montre deux papillons adhésifs superposés. Le premier est de couleur jaune et porte la mention « Transformation de données ». Le second comporte, sur fond vert, la mention « Normalisation des données ».

Une flèche pointe vers le marqueur suivant, qui contient deux paires d'icônes et d'étiquettes placées les unes au-dessus des autres. La première icône est le bureau d'un ordinateur, contenant une icône de verrou comportant l'image de deux utilisateurs. L'étiquette ou le mot décrivant cette icône est « Enregistrement des métadonnées ». Juste en dessous, la deuxième icône indique « CKAN », avec « Catalogue de données » comme étiquette. Une flèche partant de la première icône va à une icône placée dans un autre marqueur. Elle mène à des cercles dorés superposés représentant des données organisées; l'étiquette en dessous de ceux-ci indique « Référentiel de métadonnées ». De la deuxième icône « CKAN » partent deux flèches pointant vers deux icônes différentes. La première flèche pointe aussi vers l'icône indiquant « Référentiel de métadonnées », et la seconde pointe vers une case intitulée « Stockage sécurisé des données », comme on peut le voir à droite. Dans cette case, il y a trois icônes dont les étiquettes sont placées horizontalement. La première icône est un triangle bleu représentant le « Blob Azure ». La deuxième icône, de forme cylindrique, est colorée en noir et en bleu et est étiquetée « Lac de données ». La dernière icône de ce marqueur représente un nuage avec une flèche pointant vers le haut; elle est intitulée « Stockage dans le nuage ».

Deux flèches en partent. La première va de l'icône « Référentiel de métadonnées » à une autre qui représente un navigateur et une loupe, qui est étiquetée « Services de recherche ». L'autre va de la case « Stockage sécurisé des données » vers une icône comportant un cadenas sur fond bleu, étiquetée « Contrôle d'accès ». Les deux icônes visées sont dans un marqueur séparé et elles sont superposées.

De là, une flèche pointe vers le dernier marqueur de cette image, intitulé « Utilisateur des données ». On y trouve quatre icônes désignées par une étiquette ou un mot. Chacune des icônes est superposée et accompagnée d'une étiquette ou d'un mot. La première icône représente le bureau d'un ordinateur sur lequel se trouvent des graphiques et des analyses. Sous cette icône figure l'étiquette « Visualisation des données et rapports ». La deuxième icône représente un navigateur accompagné d'un graphique et d'une loupe; sous celle-ci se trouvent les mots « Analyse des données ». La troisième icône présente une image partielle d'un cerveau auquel trois fils sont connectés; sous cette icône se figurent les mots « Apprentissage automatique ». La quatrième et dernière icône de ce marqueur présente une figure humaine et la lettre « i ». Sous celle-ci se trouve l'étiquette « Services cognitifs ».

Toute organisation dispose d'une liste de sources de données qui se présentent sous diverses formes, telles que des données structurées, des formats de fichiers plats ou des IPA Web. Ces données sont utilisées par les analystes aux fins de visualisation et d'établissement de rapports, de création d'analyses ou de prestation de services cognitifs. Une stratégie de gestion des métadonnées est essentielle pour garantir que les données sont bien interprétées et sont susceptibles de favoriser l'obtention de résultats.

La première étape de cette gestion est l'absorption des données; en général, cela nécessite un ensemble de transformations et de classifications. En cette matière, l'adoption d'une normalisation des données est un processus clé, car elle permettra d'établir une manière commune de structurer et de comprendre les données, en plus d'inclure les principes et les questions de mise en œuvre pour leur utilisation. L'objectif opérationnel de ce processus permettra également de procéder à une analyse et à un échange collaboratifs avec des partenaires externes.

Grâce à la normalisation, les administrateurs de données devraient être en mesure d'enregistrer l'actif en données et les métadonnées. Ils devraient avoir la possibilité d'absorber et d'enregistrer leurs métadonnées, ce qui rendra leur actif en données découvrable et leur permettra de continuer à gérer leurs données par l'intermédiaire d'une couche de virtualisation. Cela peut être réalisé en introduisant un outil de catalogage des données qui facilitera la mise en place d'une méthode cohérente de repérage des données et des renseignements disponibles pour les partenaires internes et externes de l'organisation.

Grâce à l'emploi de technologies à code source ouvert et d'une infrastructure infonuagique moderne, il est possible de créer une plateforme où ces partenaires peuvent importer des données brutes provenant de diverses sources vers un espace de stockage sécurisé (c'est-à-dire un lac de données ou un stockage en Blob). Plutôt que d'avoir une base de données « sur site » pour l'outil de catalogage des données ou d'enregistrement des métadonnées, comme Postgres ou autre, le stockage dans le nuage est un moyen plus évolutif et plus solide pour appuyer de tels systèmes. Il permettra non seulement de mettre à jour les données, de les synchroniser et de les partager facilement, mais aussi de gérer le contrôle d'accès aux éléments sensibles.

Les services de recherche peuvent être mis en œuvre à la dernière couche de cette stratégie, afin de rendre les données et les métadonnées accessibles aux utilisateurs finaux. Lorsqu'il y a une lacune au chapitre des données, les utilisateurs devraient être autorisés à la signaler, de sorte que les responsables puissent savoir quelles données sont nécessaires pour la combler. Toute la communication entre les composants du graphique peut se faire par l'intermédiaire d'IPA ou de SSH, pour permettre un système d'intégration modulaire.

Enfin, une organisation a besoin d'une structure de gouvernance des métadonnées, qui comprend une évaluation de la responsabilité, des cycles de vie et des statistiques des métadonnées, de même que de leur intégration dans les divers processus opérationnels.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

Mardi, le 21 juin
14h00 à 15h00 p.m. HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

Date de modification :

Considérations sur les biais dans le traitement bilingue des langues naturelles

par : Marie-Pier Schinck, Eunbee (Andrea) Jang et Julien-Charles Lévesque, Emploi et Développement social Canada

Introduction et objectif de l'étude

Ces dernières années, le ministère de l'Emploi et Développement social Canada (EDSC) a utilisé le traitement du langage naturel (TLN) dans de nombreux projets et a repéré des défis associés au travail lorsque la proportion de données de chaque langue officielle est débalancée. Les récents progrès réalisés dans le domaine du TLN sont principalement axés sur la langue anglaise, et les ressources consacrées aux langues autres que l'anglais sont limitées. Ainsi, lorsqu'ils travaillent sur des solutions de TLN appliquées pour EDSC, les scientifiques des données doivent prendre des décisions concernant le traitement de la langue française, tout en faisant face à des ressources limitées et à des priorités concurrentes.

Les auteurs de cette étude ont initialement soulevé des préoccupations concernant le traitement de la langue française en se fondant principalement sur leur expérience en tant que scientifiques des données travaillant avec des ensembles de données bilingues à EDSC (voir : Langues officielles et traitement du langage naturel). En réponse, les auteurs ont consulté divers scientifiques des données fédéraux et des chercheurs en TLN. Ils ont alors constaté que ces défis ne se limitaient pas à EDSC et étaient, en fait, communs à divers ministères et organismes.

L'objectif principal du projet est d'explorer cette question et d'acquérir des connaissances transférables que les scientifiques des données peuvent utiliser pour améliorer l'équité des solutions fournies par EDSC.

Comme point de départ, nous mesurons l'ampleur du biais linguistique dans quatre projets d'EDSC où des systèmes de classification multilingue ont été mis en œuvre. Nous mettons également à l'essai des stratégies de rééquilibrage afin de mieux comprendre la représentation idéale de la langue minoritaire. Nous comparons les rendements des modèles dans plusieurs scénarios, à savoir des modèles multilingues, des modèles unilingues séparés, ou une approche interlinguistique fondée sur une traduction du français vers l'anglais permettant un entraînement unilingue à partir d'un modèle unilingue anglais. Nous pouvons ainsi observer la mesure dans laquelle les rendements des modèles s'améliorent ou se détériorent en fonction de chaque langue.

2 – Mise en place de l'étude

Les quatre ensembles de données utilisés dans le cadre de cette étude portent sur des problèmes de classification supervisée de projets antérieurs et en cours à EDSC. Le champ d'application a été limité à des problèmes de classification supervisée afin de représenter le temps et les ressources disponibles pour ce projet, en raison de la facilité d'accès aux données et parce qu'il s'agit de la tâche de TLN la plus communément traitée par notre équipe.

Tableau 1 : Caractéristiques des ensembles de données.
Ensemble de données Description Nombre de documents Proportion de données françaises
T4 Notes de résumé des appels rédigées par les agents du centre d'appels de Service Canada (SC). Ces notes sont généralement constituées de phrases courtes et incomplètes utilisant du jargon administratif. Le projet vise à réduire le travail humain coûteux en repérant automatiquement les cas où SC a renvoyé un formulaire T4 aux particuliers. 6 000 35 %
RH Réponses des candidats et candidates à une question de présélection dans un processus d'embauche. Ce projet de recherche a été entrepris pour évaluer la faisabilité de l'utilisation du TLN pour filtrer un bassin de candidats et candidates dans le cadre de processus de recrutement à grande échelle. 5 000 6 %
RE Commentaires rédigés par les employeurs sur les formulaires de relevé d'emploi (RE) reçus par SC. Les commentaires figurant sur les RE sont généralement des phrases courtes et incomplètes qui utilisent fréquemment du jargon utilisé dans le domaine de l'assurance-emploi. Le projet est conçu pour réduire le travail manuel des employés de SC en classant les commentaires figurant sur les RE en divers objectifs. 280 000 28 %
DGAPRI Articles d'actualité provenant de sources médiatiques canadiennes, obtenus par l'intermédiaire de la plateforme InfoMedia. La tâche consiste à indiquer si un article doit être signalé comme une source pertinente à inclure dans un dossier destiné aux sous-ministres. 69 000 25 %

2.1 – Vectorisation et architecture du modèle

Pour notre expérience, nous avons entraîné des modèles pour chaque ensemble de données et pour plusieurs méthodes de vectorisation, architectures de modèles et configurations d'hyperparamètres (voir tableau 2). Les méthodes de vectorisation et les modèles choisis couvrent certains des outils les plus courants utilisés pour les problèmes de classification de TLN. Les méthodes de vectorisation comprennent une méthode de sélection des caractéristiques appliquée aux sacs de mots reposant sur la distribution khi carré (Chi2BOW), des vectorisations FastText (FT) et des vectorisations contextuelles provenant d'un algorithme multilingue BERT (Devlin et al., 2018b).

Pour la configuration du modèle, nous disposons de deux grands ensembles d'architectures de classification, que nous appelons les méthodes d'apprentissage contextuelles et non contextuelles. On entend par « non contextuel » les systèmes d'apprentissage qui traitent des représentations agrégées de phrases et rejettent les renseignements relatifs à l'ordre des mots. Il s'agit notamment de la régression logistique (LR), du perceptron multicouche (MLP) et de XGBoost (XGB; Chen et Guestrin, 2016). En revanche, les approches contextuelles prennent en compte les renseignements relatifs à l'ordre des mots dans l'apprentissage et la prédiction. Nous avons mis en œuvre deux architectures de modèles contextuelles, un réseau de neurones récurrents à mémoire court et long terme (LSTM, Hochreiter et Schmidhuber, 1997) et un modèle populaire basé sur l'attention appelé BERT (Devlin et al., 2018a). Les détails de la recherche des hyperparamètres sont inadmissibles pour le présent article, mais les principaux résultats sont fournis à la lumière d'une méthodologie de recherche exhaustive. Nous avons également évalué les méthodes de LR, de MLP et de XGB avec une simple vectorisation de sac de mots (sans sélection de caractéristiques du khi carré), bien qu'elle soit omise dans cet article pour simplifier la présentation. N'hésitez pas à communiquer avec les auteurs pour obtenir le rapport dans son intégralité.

Tableau 2 : Vectorisation et configuration des modèles
Vectorisation Modèles
Khi carré avec sac de mots (Chi2BOW) Régression logistique (RL)
Chi2BOW Perceptron multicouche (MLP)
Chi2BOW XGBoost (XGB)
FastText (FT) LSTM
BERT (WordPiece) BERT

3 – Présence de biais

Dans la présente étude, nous nous intéresserons au biais linguistique en examinant la disparité dans la précision des tests entre les deux langues officielles. La présence de biais sera évaluée dans plusieurs contextes différents, et ceux-ci seront abordés plus en détail ci-dessous.

Disparité des rendements des modèles multilingues

Notre première expérience consistait à entraîner des modèles multilingues (c.-à-d. un entraînement simultané des deux langues avec un seul modèle), avec les méthodes abordées dans la section précédente, en utilisant la représentation linguistique trouvée dans les ensembles de données originaux (sans rééquilibrage). Pour évaluer la présence d'un biais linguistique, nous avons ensuite comparé le rendement obtenu pour la partie française des données avec celui obtenu pour la partie anglaiseNote de bas de page 1. La figure 1 montre la précision des tests par langue pour la meilleure configuration des hyperparamètres de chaque méthode testée.

Figure 1 : Précision du test par rapport à la langue du texte.

Figure 1 : Précision du test par rapport à la langue du texte
Figure 1 : Précision du test par rapport à la langue du texte.

Rendements de toutes les méthodes énumérées au tableau 2, réparties par ensemble de données et par langue. Les données détaillées sont présentées ci-dessous.

Figure 1 : Précision du test par rapport à la langue du texte.
Rendements de toutes les méthodes énumérées au tableau 2, réparties par ensemble de données et par langue.
Ensemble de données T4 RH RE DGAPRI
Méthode/Langue Ang. Fr. Ang. Fr. Ang. Fr. Ang. Fr.
BERT 97,6 97,2 78,4 73,2 91,7 91,2 86,3 87,0
C2BOW + LR 96,6 96,7 68,1 67,9 90,6 90,0 82,3 83,8
C2BOW + MLP 95,4 97,9 69,1 66,1 87,5 87,3 63,9 68,3
C2BOW + XGBoost 95,0 97,2 75,3 75,0 88,7 86,4 84,6 85,0
FT + LSTM 94,8 94,7 72,0 69,6 91,7 90,9 83,7 83,2

Un examen de la figure 1 nous permet d'abord de conclure qu'aucune tendance dominante ne se perpétue dans les quatre ensembles de données. Par exemple, l'ensemble de données du projet des RE montre que les résultats obtenus pour la partie anglaise des données surpassent systématiquement ceux de la partie française des données. En revanche, pour l'ensemble de données du projet T4, la tendance inverse se dégage; en effet, la plupart des méthodes produisent pour la partie française un rendement supérieur à celui de la partie anglaise. Cela peut s'expliquer par le fait que l'ensemble de données du projet T4 contient la plus grande proportion de données françaises ainsi que par le contenu des données en soi, où le contexte commercial appuie l'hypothèse d'une distribution sous-jacente différente pour chaque langue, de sorte que le problème de classification est plus facile à résoudre en français qu'en anglais. Les ensembles de données des projets de la DGAPRI et des RH affichent des tendances moins claires : le rendement du français surpasse légèrement celui de l'anglais pour la DGAPRI, tandis qu'on observe l'inverse pour les RH.

Pour obtenir une image plus détaillée, nous avons compilé les différences de rendement de ces expériences et les avons normalisées en calculant leurs écarts réduits (des scores plus élevés indiquant un meilleur rendement relatif en anglais). Cet exercice a révélé qu'en moyenne, les modèles multilingues entraînés pour cette étude ont obtenu des résultats légèrement supérieurs en anglais qu'en français, par un facteur de 0,13 écart-type sur la mesure de rendement. Les tendances sur les ensembles de données individuels sont légèrement plus fortes, avec une différence moyenne de 0,56 et 0,41 écart-type respectivement pour les ensembles de données des projets des RE et des RH, et de -0,33 pour le projet T4. Malgré ce léger biais général en faveur de l'anglais, la principale conclusion de ces résultats est l'importance d'une analyse de rendement minutieuse propre à la langue dans l'utilisation de modèles multilingues, car la présence de biais variera en fonction des propriétés de l'ensemble de données et du contexte commercial qui sous-tend la collecte des données.

Influence de la distribution des langues dans les systèmes multilingues

Dans la présente section, nous explorons l'incidence de la proportion linguistique (c.-à.d. le rapport entre les données françaises et anglaises) dans les systèmes multilingues. Nous évaluons deux méthodes qui sont couramment utilisées pour les tâches de classification du TLN et qui ont donné des résultats satisfaisants sur nos repères : BOW+XGBoost et BERT. Pour notre évaluation, nous utiliserons l'ensemble de données du projet des RE en raison de sa taille plus importante.

Dans l'expérience, le sous-échantillonnage est appliqué à l'une des langues afin d'obtenir un rapport cible entre les données françaises et les données anglaises de l'ordre de 10:90 à 90:10. Les données d'essai restent intactes avec un rapport entre le français et l'anglais de 28:72, afin d'effectuer chaque fois une évaluation en fonction des mêmes échantillons.

Figure 2 : Expérience de rapport linguistique sur des données du projet des RE. À gauche : Sacs de mots avec un classificateur XGBoost. À droite : Moyenne du modèle BERT sur trois répétitions par rapport.

Figure 2 : Expérience de rapport linguistique sur des données du projet des RE. À gauche : Sacs de mots avec un classificateur XGBoost. À droite : Moyenne du modèle BERT sur trois répétitions par rapport.
Figure 2 : Expérience de rapport linguistique sur des données du projet des RE. À gauche : Sacs de mots avec un classificateur XGBoost. À droite : Moyenne du modèle BERT sur trois répétitions par rapport.

Les deux graphiques ci-dessus montrent le résultat des expériences de rapport linguistique sur l'ensemble de données du projet des RE. À gauche se trouvent les rendements du modèle XGBoost et à droite, les rendements du modèle BERT, avec une moyenne établie sur trois répétitions par rapport. L'axe des x des deux graphiques montre la proportion des données, une série de rapports entre le français et l'anglais. Il part d'un rapport de 10:90 entre le français et l'anglais pour arriver à un rapport de 90:10. L'axe des y est le score de précision exprimé en pourcentage. La ligne pointillée grise représente le score de précision général de chaque modèle, et les lignes colorées pleines montrent séparément le rendement de chaque langue : le rouge représente la partie française des données, et le bleu la partie anglaise des données. D'après ces chiffres, l'augmentation de la proportion d'une langue pour l'entraînement d'un modèle entraînera une amélioration des rendements dans cette langue, et la tendance inverse est également observée. De plus, les graphiques montrent que le rapport où le français et l'anglais ont la plus faible disparité en matière de rendements est différent du rapport original (28:72) de l'ensemble de données. Il s'agit d'un rapport de 50:50 pour le modèle XGBoost (à gauche) et d'un rapport de 40:60 pour le modèle BERT.

La figure 2 illustre les rendements de ces deux modèles avec les répartitions des rapports de données décrites ci-dessus. Comme prévu, l'expérience montre qu'une diminution de la proportion de données dans une langue donnée tend à réduire le rendement dans cette langue dans tous les cas; la tendance inverse est observée lorsque la proportion d'une langue augmente, bien que le rendement reste parfois stable pour divers rapports. La courbe de précision générale est systématiquement plus proche de la courbe de précision de l'anglais, car elle est calculée sur un ensemble de tests utilisant le rapport linguistique fixe (fr:ang) que l'on trouve dans l'ensemble de données original (28:72).

Les expériences montrent également que les rapports linguistiques optimaux varient en fonction des diverses méthodes d'apprentissage. Plus précisément, pour BOW + XGBoost, les scores de précision du français et de l'anglais présentent l'écart le plus faible avec un rapport de 50:50 (fr:ang). Avec la méthode BERT, les deux langues présentent le plus faible écart de précision aux rapports 30:70 et 40:60. Ceci est particulièrement intéressant étant donné que le rapport optimal est différent du rapport original dans l'ensemble de données, dans ce cas 28:72.

Cette expérience indique que la manipulation artificielle de la proportion linguistique peut intensifier ou améliorer les biais. Il est conseillé d'avoir une proportion de langues quelque peu équilibrée à l'entraînement afin de réduire la disparité entre le rendement des deux langues. Cependant, il faut faire un compromis entre la précision générale (précision pour l'ensemble des échantillons) et la précision pour les textes français et anglais : le point de rendement optimal peut ne pas être le même pour les deux critères.

Compromis entre la modélisation multilingue et unilingue

Dans la présente section, nous présentons une analyse de la disparité des rendements pour chaque langue dans l'entraînement d'un modèle dans les deux langues, ce qu'on appelle le contexte multilingue (multi), et dans l'entraînement de deux modèles (un par langue), soit le contexte unilingue (uni). Les résultats sont présentés séparément pour chaque langue; la section en langue française comprend également le rendement d'un système unilingue anglais entraîné avec des données françaises traduites vers anglais (trad_uni). Il convient de souligner que le modèle n'a été entraîné qu'avec des données françaises traduites, plutôt qu'avec l'ensemble des données comprenant les données originales anglaises et les données françaises traduites, principalement en raison de contraintes en termes de ressources informatiques. Cette expérience vise à comprendre la mesure dans laquelle le signal nécessaire à la classification demeure intact après la traduction de documents. Pour la traduction, nous utilisons le modèle de traduction automatique neuronal Marian.Note de bas de page 2

Anglais

Le diagramme à barres de la figure 3 montre le meilleur rendement de chaque méthode pour la partie anglaise des données. Deux barres sont associées à chaque méthode : la barre de gauche montre le contexte multilingue et la barre de droite, le contexte unilingue.

En termes d'architecture de modèle, on constate que le modèle BERT est le plus performant sur tous les ensembles de données. En revanche, la méthode de perceptron multicouche avec vectorisation du sac de mots au khi carré (C2BOW + MLP) est l'une des configurations les moins performantes parmis tous les ensembles de données.

Figure 3 : Comparaison du rendement en anglais (précision du test) dans deux contextes – multilingue et unilingue

Figure 3 : Comparaison du rendement en anglais (précision du test) dans deux contextes – multilingue et unilingue
Figure 3 : Comparaison du rendement en anglais (précision du test) dans deux contextes – multilingue et unilingue

Rendement sur des textes anglais pour toutes les méthodes énumérées au tableau 2 entraînées dans un cadre unilingue et multilingue, réparties par ensemble de données. Les données détaillées sont présentées ci-dessous.

Figure 3 : Comparaison du rendement en anglais (précision du test) dans deux contextes – multilingue et unilingue
Rendement sur des textes anglais pour toutes les méthodes énumérées au tableau 2 entraînées dans un cadre unilingue et multilingue, réparties par ensemble de données.
Ensemble de données T4 RH RE DGAPRI
Méthode/Mode Multi Uni Multi Uni Multi Uni Multi Uni
BERT 97,57 97,35 78,40 77,84 91,66 91,83 86,29 84,47
C2BOW + LR 96,63 96,56 68,14 72,87 90,56 90,58 82,34 82,12
C2BOW + MLP 95,41 95,90 69,09 69,79 87,52 87,95 63,92 68,07
C2BOW + XGB 95,01 96,69 75,30 77,61 88,70 89,30 84,65 84,83
FT + LSTM 94,82 93,65 71,97 77,37 91,69 91,37 83,70 83,30

Pour les ensembles de données des projets T4, des RH et de la DGAPRI, le rendement du modèle BERT est plus élevé dans le contexte multilingue, tandis que le contexte unilingue surpasse légèrement le contexte multilingue pour l'ensemble de données du projet des RE, qui, fait intéressant, est le plus grand ensemble de données. Bien que l'entraînement multilingue semble donner de meilleurs résultats pour les modèles reposant sur BERT, les méthodes multilingues affichent, dans leur ensemble, un rendement légèrement inférieur à celui des modèles unilingues, en moyenne de 0,56 %. Nous considérons cela comme une preuve que la méthode d'entraînement (multilingue ou unilingue) n'a pas d'incidence considérable sur la catégorie de langue dominante, l'anglais.

Français

La figure 4 présente la comparaison générale des trois approches avec la modélisation française. Plus précisément, nous comparons le rendement de la partie française des données dans le contexte multilingue (multi) avec des approches unilingues, l'une avec des modèles entraînés avec des données françaises originales (uni) et l'autre avec les données françaises traduites en anglais à introduire dans un système unilingue anglais (trad_uni). Pour trad_uni, nous utilisons uniquement la partie française des données pour l'entraînement, et laissons de côté les données originales en anglais, afin d'observer directement l'incidence de l'approche axée sur la traduction sur la langue minoritaire.

Figure 4 : Comparaison du rendement du français pour trois approches – multilingue, unilingue, traduit unilingue.

Figure 4 : Comparaison du rendement du français pour trois approches – multilingue, unilingue, traduit unilingue.
Figure 4 : Comparaison du rendement du français pour trois approches – multilingue, unilingue, traduit unilingue.

Rendement sur des textes français pour toutes les méthodes énumérées au tableau 2 entraînées dans un contexte unilingue ou multilingue, réparties par ensemble de données. Les données détaillées sont présentées ci-dessous.

Figure 4 : Comparaison du rendement du français pour trois approches – multilingue, unilingue, traduit unilingue.
Rendement sur des textes français pour toutes les méthodes énumérées au tableau 2 entraînées dans un contexte unilingue ou multilingue, réparties par ensemble de données.
Ensemble de données T4 RH RE DGAPRI
Méthode/Mode multi trad_uni uni multi trad_uni uni multi trad_uni uni multi trad_uni uni
BERT 97,18 96,34 96,34 73,21 88,00 90,00 91,23 90,99 92,45 87,05 81,63 86,10
C2BOW + LR 96,71 96,59 96,83 67,86 86,00 86,00 90,02 89,39 90,36 83,79 80,89 83,85
C2BOW + MLP 97,89 94,39 96,10 66,07 58,00 64,00 87,30 86,69 88,20 68,32 68,62 81,08
C2BOW + XGB 97,18 95,61 96,59 75,00 76,00 84,00 86,42 88,71 89,38 84,97 82,63 86,47
FT + LSTM 94,68 95,37 94,63 69,57 60,00 68,00 90,88 90,16 90,92 83,21 78,30 83,36

En ce qui concerne l'architecture des modèles, à l'instar de ce qui a été observé pour l'anglais, les meilleures méthodes ont tendance à varier en fonction de l'ensemble de données, BERT étant la méthode la plus performante dans l'ensemble. La méthode BERT est la meilleure pour les données du projet des RH, des RE et de la DGAPRI; le contexte unilingue surpasse les deux autres contextes dans les deux premiers cas (RH et RE) et le contexte multilingue obtient les meilleurs résultats pour la DGAPRI. Il est intéressant de noter que la méthode Chi2BOW + MLP offre un résultat supérieur à toutes les autres méthodes pour l'ensemble de données du projet T4, alors qu'elle obtient les plus mauvais résultats pour les trois autres ensembles de données.

En ce qui concerne les systèmes d'entraînement, nous remarquons tout d'abord que trad_uni semble être le contexte le moins performant en général pour les ensembles de données des projets T4, des RE et de la DGAPRI. En ce qui concerne le projet des RH, trad_uni n'est pas toujours la pire approche, mais ce n'est pas non plus le meilleur modèle. Il semble que les erreurs de deux modèles en cascade, le modèle neuronal de traduction automatique utilisé et le classificateur principal, sont potentiellement propagées lorsqu'ils sont utilisés l'un après l'autre. Cela prouve que la traduction n'est peut-être pas une option idéale pour atténuer le problème du déséquilibre des données. Toutefois, il convient de noter que la portée de notre expérience sur l'approche fondée sur la traduction est limitée à la partie française des données et que le résultat peut varier si l'intégralité des données (soit les données anglaises et les données françaises traduites en anglais) est utilisée dans un système unilingue anglais.

Les modèles unilingues français semblent offrir des résultats supérieurs à ceux des modèles multilingues équivalents pour trois des quatre ensembles de données, soit les RH, les RE et la DGAPRI. Pour l'ensemble de données du projet T4, nous observons que les modèles multilingues surpassent la version unilingue pour la majorité des méthodes. Enfin, une évaluation des différences de scores de précision pour la partie française des données entre les modèles unilingues et multilingues nous permet de constater que les modèles unilingues surpassent en moyenne les modèles multilingues de 2,22 points de pourcentage de précision. Cette différence est beaucoup plus prononcée que ce qui a été observé pour la langue anglaise. Cela indique que le choix d'utiliser un modèle multilingue, par opposition à deux modèles unilingues, entraînera en moyenne une baisse plus importante du rendement dans la partie française des données, par rapport à la partie anglaise.

4 – Conclusion

La prise de décisions concernant le traitement de données textuelles bilingues est monnaie courante pour de nombreux spécialistes des données travaillant en tant que fonctionnaires fédéraux. Bien que le statut des langues officielles prescrit qu'il ne devrait pas y avoir de différence dans le traitement de chaque langue, cela peut être particulièrement difficile lorsque les outils de TLN sont plus nombreux et de qualité supérieure en anglais qu'en français. Cette initiative visait à acquérir des connaissances appliquées et transférables afin d'aider les spécialistes des données du gouvernement du Canada à prendre des décisions plus éclairées dans l'élaboration de solutions de TLN pour des ensembles de données bilingues.

Nos résultats ont d'abord indiqué qu'aucune tendance ne s'applique à tous les ensembles de données lorsqu'on examine le biais dans les modèles multilingues. Par exemple, l'ensemble de données du projet des RE a montré un léger biais où le rendement des commentaires en anglais est systématiquement plus élevé que celui des commentaires en français, tandis que l'analyse des données du projet T4 a révélé une tendance inverse avec un biais favorisant le français. En résumé, bien qu'il n'y ait pas de règle définitive concernant l'apparition de biais dans les modèles multilingues dans tous les ensembles de données, certains modèles ont tendance à être moins performants dans l'une des langues officielles, ce qui fait ressortir la nécessité d'une évaluation adaptée à la langue pour éviter les risques de traitement biaisé ou de répercussion disparate. Les expériences sur les proportions de langues dans le contexte multilingue ont montré que l'objectif d'une représentation de 30 % à 50 % du français par sous-échantillonnage de la langue majoritaire donne les meilleurs résultats. Plus précisément, elle permet de réduire la disparité du rendement entre les deux langues officielles, sans nuire au rendement général.

L'exploration du contexte multilingue par rapport au contexte unilingue a révélé que l'incidence sur le rendement de la partie anglaise des données était négligeable, car les deux contextes donnent des résultats semblables, bien que le rendement soit légèrement supérieur dans le contexte unilingue. D'autre part, on constate avec la partie française des données une diminution plus importante du rendement dans le contexte multilingue, par rapport au contexte unilingue. Cela signifie que, lorsqu'une identification linguistique de bonne qualité est disponible, les praticiens de la science des données dans l'ensemble du gouvernement du Canada devraient sérieusement envisager l'utilisation de deux modèles unilingues, car cela tend à donner de meilleures performances en moyenne, par opposition à l'utilisation d'un seul modèle multilingue. Enfin, la traduction du français pour l'utilisation d'un modèle unilingue anglais s'est avérée le moins prometteur des trois contextes pour tous les ensembles de données. Puisque, selon notre expérience, il comporte un plus grand risque de biais sur la langue minoritaire, nous recommandons d'effectuer une analyse complète de son incidence lorsque l'on tente de déployer un modèle unilingue unique reposant sur la traduction de la langue minoritaire.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de cet article ou si vous souhaitez en discuter, nous vous invitons à notre nouvelle série de présentations Rencontre avec le scientifique des données où le(s) auteur(s) présenteront ce sujet aux lecteurs et aux membres du RSD.

Mardi, le 21 juin
14h00 à 15h00 p.m. HAE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données. À bientôt !

References

Chen, T., et C. Guestrin. 2016. « Xgboost: A scalable tree boosting system », Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, p. 785 à 794.

Devlin, J., M.W. Chang, K. Lee et K. Toutanova. 2018a. « BERT: Pre-training of deep bidirectional transformers for language understanding », arXiv, prépublication arXiv:1810.04805.

Devlin, J., M.W. Chang, K. Lee et K. Toutanova. 2018b. Multilingual BERT, GitHub: google-research / bert (le contenu de cette page est en anglais)

Hochreiter, S., et J. Schmidhuber. 1997. « Long short-term memory », Neural Computation, vol. 9, no 8, p. 1735 à 1780.

Date de modification :