Upgrade to Pro — share decks privately, control downloads, hide ads and more …

psuedo_CE_20201128

etalab-ia
November 26, 2020
18

 psuedo_CE_20201128

Présentation de l'outil de pseudonymisation de décisions de justice administratives

etalab-ia

November 26, 2020
Tweet

Transcript

  1. Pseudonymisation au Conseil d’État Premiers résultats Pavel SORIANO-MORALES November 28,

    2019 Pôle Data Science et Exploitation des Données ETALAB – DINUM – Services du Premier Ministre
  2. Pseudonymisation au Conseil d’État • Besoin d’ouvrir les décisions de

    justice au grand public, • Pour y arriver, on doit supprimer les informations sensibles, • La solution existante fonctionne à base de règles (regex) et dictionnaires (noms/prénoms), • Une solution fondée sur le Traitement Automatique du Langage Naturel (TALN, ou NLP en anglais) pourrait fournir une solution plus flexible et performante. • Etalab accompagne le Conseil d’État avec une première approche de la pseudonymisation avec du NLP. 1
  3. Le contexte NLP EI Language Modeling QA ... Extraction d’Information:

    + Reconnaissance d’Entités Nommées + Extraction de Relations + Remplissage de templates 2
  4. Le contexte NLP EI Language Modeling QA ... Extraction d’Information:

    + Reconnaissance d’Entités Nommées + Extraction de Relations + Remplissage de templates + Supervisé + Sequentiel + CRF, HMM, RNN - LSTM MACHINE LEARNING !! 2
  5. Le processus Token Tag Madame O Pauline B-PER SAILLY I-PER

    . . 𝚯 ENTRAÎNEMENT Token Tag Madame ? Amandine ? CASTAGNE ? . . Décisions NON annotées Prétraitement Prédiction du modèle Token Tag Madame O Amandine B-PER CASTAGNE I-PER . . PRÉDICTION et PSEUDONYMISATION Corpus annoté Décisions annotées Prétraitement Model Fitting Fitted Parameters Décision Pseudonymisé Madame X... Y... demeurant à Z… .... Décisions pseudonymisées Suppression d’entités et formatage 3
  6. Données d’entraînement ? Token Tag Madame O Pauline B-PER SAILLY

    I-PER . . 𝚯 ENTRAÎNEMENT Token Tag Madame ? Amandine ? CASTAGNE ? . . Décisions NON annotées Prétraitement Prédiction du modèle Token Tag Madame O Amandine B-PER CASTAGNE I-PER . . PRÉDICTION et PSEUDONYMISATION Corpus annoté Décisions annotées Prétraitement Model Fitting Fitted Parameters Décision Pseudonymisé Madame X... Y... demeurant à Z… .... Suppression d’entités et formatage Décisions pseudonymisées 4
  7. Données d’entraînement ? • Le système actuel et les corrections

    manuelles fournissent des ”annotations” indirectes, • Le système sauvegarde la localisation, le mot, et l’entité (nom/prénom/adresse) détectée (sous forme de XML), • Nous profitons de ces XMLs pour générer un corpus annoté à distance. 5
  8. Création de données d’entraînement ID Statut Préc Statut Detail anon

    d 1 4 en modif 5 corrigé XMLd1 d 2 4 5 XMLd2 ... 4 5 ... d n 4 5 XMLdn XML d 1 Position Ligne Mot XML d 2 Position Ligne Mot XML d n Position Ligne Mot DOC d 1 Conseil d’Etat …. DOC d 2 Conseil d’Etat …. DOC d n Conseil d’Etat …. TXT d 1 Conseil d’Etat …. TXT d 2 Conseil d’Etat …. TXT d n Conseil d’Etat …. CoNLL d 1 Token Tag Madame O Pauline PNOM SAILLY NOM 18 ADDR rue ADDR . CoNLL d 1 Token Tag Madame O Pauline PNOM SAILLY NOM 18 ADDR rue ADDR . CoNLL d n Token Tag Madame O Pauline PNOM SAILLY NOM 18 ADDR rue ADDR . 6
  9. Aperçu des données d’entraînement • 35 931 décisions corrigées à

    la main. • Parmi ces décisions, 24 769 appariées avec le document source. • 16 559 transformées avec succès (démarche précédente) • Nous prenons un échantillon de 497 décisions (afin de diminuer les temps de calcul pendent les expériences) • Nous divisons ces 497 décisions en trois ensembles: train (396), dev (50), test (51), • La distribution des séquences des entités (nombre de noms/prénoms/adresses) est : Ensemble Nom Prénom Adresse Total train (396) 7 064 1421 506 8 991 fdev (50) 846 183 59 1 088 test (51) 890 162 59 1 111 Total 8 800 1 766 624 11 190 7
  10. Entraînement/Apprentissage Token Tag Madame O Pauline B-PER SAILLY I-PER .

    . 𝚯 ENTRAÎNEMENT Token Tag Madame ? Amandine ? CASTAGNE ? . . Décisions NON annotées Prétraitement Prédiction du modèle Token Tag Madame O Amandine B-PER CASTAGNE I-PER . . PRÉDICTION et PSEUDONYMISATION Corpus annoté Décisions annotées Prétraitement Model Fitting Fitted Parameters Décision Pseudonymisé Madame X... Y... demeurant à Z… .... Suppression d’entités et formatage Décisions pseudonymisées 9
  11. Entraînement Le processus consiste en 3 entraînements : 1. Embeddings

    : obtenir des représentations performantes (une seule fois*), 2. Classifieur : obtenir les paramètres nécessaires pour prédire les labels (chaque expérience), 3. Classifieur séquentiel : deuxième algo pour prendre en compte les mots et prédictions précédentes et suivantes (chaque expérience). 10
  12. Entraînement Entraînement du premier algo de classification (BiLSTM) Wiki FR

    Jurinet JuriCA Web FR Entraînement du deuxième algo de classification (CRF) Entraînement des Embeddings (Flair, FastText, camemBERT) 0.2 0.1 0.3 0.1 ... 0.1 0.3 0.2 0.1 ... 0.3 0.2 0.1 0.2 ... Cour Administrative d’ Marseille 0.4 0.1 0.2 0.1 ... 𝚯 𝚯 1 2 3 Paramètres appris du BiLSTM Paramètres appris du CRF 11
  13. Méthode Madame Pauline SAILLY L1 R3 L2 R2 L3 R1

    CRF O B-PER I-PER BiLSTM + CRF 12
  14. Méthode Madame Pauline SAILLY L1 R3 L2 R2 L3 R1

    CRF O B-PER I-PER FastText Flair BERT ?? BiLSTM char-level EMBEDDINGS BiLSTM + CRF 12
  15. Méthode Madame Pauline SAILLY L1 R3 L2 R2 L3 R1

    CRF O B-PER I-PER FastText Flair BERT ?? BiLSTM char-level ENCODING BiLSTM word-level EMBEDDINGS BiLSTM + CRF 12
  16. Méthode Madame Pauline SAILLY L1 R3 L2 R2 L3 R1

    CRF O B-PER I-PER FastText Flair BERT ?? BiLSTM char-level DECODING ENCODING BiLSTM word-level EMBEDDINGS BiLSTM + CRF 12
  17. Prédiction Token Tag Madame O Pauline B-PER SAILLY I-PER .

    . 𝚯 ENTRAÎNEMENT Token Tag Madame ? Amandine ? CASTAGNE ? . . Décisions NON annotées Prétraitement Prédiction du modèle Token Tag Madame O Amandine B-PER CASTAGNE I-PER . . PRÉDICTION et PSEUDONYMISATION Corpus annoté Décisions annotées Prétraitement Model Fitting Fitted Parameters Décision Pseudonymisé Madame X... Y... demeurant à Z… .... Suppression d’entités et formatage Décisions pseudonymisées 13
  18. Évaluation Afin d’évaluer nous avons besoin de deux éléments :

    1. Un ensemble de test que nous avons déjà créé précédemment, 2. Un ensemble de métriques (si on prends les noms comme exemple) : • Précision : taux des noms correctement identifiés comme un nom parmi tous les noms identifiés par le modèle, • Rappel : taux de noms correctement identifiés comme un nom parmi tous les vrais noms dans l’ensemble de test, • F-score : moyenne harmonique de la précision et du rappel. • Taux d’erreur : nombre de décisions avec une erreur sur n décisions (à creuser). 14
  19. Résultats Précision Rappel F-score Fréquence ADRESSE 80.57 78.57 78.57 59

    NOM 95.87 90.15 93.24 890 PRENOM 87.10 98.18 92.31 162 Overall 93.85 92.14 92.98 1 111 • Le modèle a une performance F-score de 92.98% • Comme référence*, le modèle publié par OpenJustice est à 94.85% (sans optimisation et à 96.53% avec l’optimisation proposé.) 15
  20. What now ? 1. Consolider les données d’entraînement (e.g., nous

    ajoutons du bruit au modèle car il y a des informations incomplètes dans la base de données fournie), 2. Nous testons avec un échantillon assez réduit. Élargir l’échantillon devra permettre d’améliorer les résultats, 3. Réaliser plus d’expériences avec les embeddings disponibles (soit entraînés par nous mêmes, soit ceux crées par OpenJustice ou autres). 4. Définir la performance de la solution actuelle (à base de règles) et puis sélectionner une échantillon pour calculer le taux d’erreur. 17
  21. Livrables • Aujourd’hui on a : 1. Un dataset d’entraînement

    v1.0 et tout l’outillage pour le générer à partir de vos données, 2. La v1.0 du code pour générer un modèle type à partir ces données, 3. Un modèle Flair qui tourne sur CentOS 7. • À venir : 1. Version 2.0 avec des données mieux intégrées (et comprises) avec une alignement parfait entre XMLs et TXTs, 2. Code v2.0 avec les expériences en utilisant des autres embeddings, 3. Le modèle et le code installables de manière facile sous un autre système CentOS sous forme d’API. 18