0% ont trouvé ce document utile (0 vote)
13 vues51 pages

Apprentissage Actif pour Textes NLS

Le document présente une approche d'apprentissage actif pour la détection de catégories dans des champs textuels, visant à intégrer les retours des clients chez Société Générale Assurances. Il aborde les défis liés à l'analyse de grandes quantités de données non labellisées et propose des solutions basées sur des algorithmes d'intelligence artificielle et des stratégies d'apprentissage actif. Différentes méthodes d'échantillonnage et de labellisation sont discutées, ainsi que des expérimentations réalisées pour évaluer leur efficacité.

Transféré par

Jospin Tchomguim
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues51 pages

Apprentissage Actif pour Textes NLS

Le document présente une approche d'apprentissage actif pour la détection de catégories dans des champs textuels, visant à intégrer les retours des clients chez Société Générale Assurances. Il aborde les défis liés à l'analyse de grandes quantités de données non labellisées et propose des solutions basées sur des algorithmes d'intelligence artificielle et des stratégies d'apprentissage actif. Différentes méthodes d'échantillonnage et de labellisation sont discutées, ainsi que des expérimentations réalisées pour évaluer leur efficacité.

Transféré par

Jospin Tchomguim
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

16 Novembre 2018

Hôtel Marriott Rive Gauche


Paris 14ème
Apprentissage actif pour la détection des
catégories dans des champs textuels
Qui sommes-nous ?

Marc JUILLARD, Romuald ELIE,


Directeur du DataLab de Société Professeur de Mathématiques à l’UPEM et
Générale Assurances professeur associé à l’ENSAE

François HU,
Doctorant CIFRE à la Société Générale
Assurances et à l’ENSAE
Sommaire

1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Contexte et objectif

Objectif ?
Intégrer les retours des Clients chez Société Générale Assurances.

Problème
1. Impossibilité pour les experts humain d’analyser toutes ces quantités
2. Données non labellisées

Solution
1. Volume : application d’algorithme d’IA
2. Labels : active Learning
Avantages de l’active learning

L’active learning – Sélectionner les meilleurs données à faire labelliser


c’est quoi ?

– Diminue le volume de données nécessaire


Pourquoi faire de
l’active learning ? – Diminue le temps demandé aux experts
– Cadre de rentabilité pour chaque nouvelle donnée
Exemple de données textuelles
Les données Net Promoter Score (NPS)

➢ Collection de verbatims des assurés afin de mesurer la satisfaction client

➢ Environ 100 000 verbatims

0 1 2 3 4 5 6 7 8 9 10

Détracteurs passifs Promoteurs


Processus d’apprentissage NLP

Construire un dictionnaire Encoder les données textuelles Construire un classifieur

Le dictionnaire permet de définir le corpus de mot sur lequel sera bâti notre algorithme prédictif. Il est
donc nécessaire en phase d’apprentissage mais surtout pour le déploiement du modèle.
- Tokenization : processus qui sépare une séquence (les textes) en une liste de tokens (mots)

- Nettoyer si besoin le corpus (faut d’orthographe, synonyme, stop-words,..)

Exemple :
“Je suis très satisfait par le service rendu. [Je, être, satisfait, par, le ,service,
Dictionnaire de
Conseiller très agrébale,……” rendu,…., conseiller, très, agréable,…]
taille 𝐷
Processus d’apprentissage NLP

Construire un dictionnaire Encoder les données textuelles Construire un classifieur

Les modèles de machine learning travaillant avec des nombres il est nécessaire d’encoder les données
textuelles. Plusieurs approches sont envisageables :
- Encodage binaire
- Encodage fréquentiel
- Encodage TF-IDF
- Encodage par méthodes « embedding »

Exemple :
“Je suis très satisfait par le service rendu. [Je, être, satisfait, par, le ,service,
Dictionnaire de
Conseiller très agrébale,……” rendu,…., conseiller, très, agréable,…]
taille 𝐷

Exemple représentation binaire


agréable avoir conseiller cible … très train satisfait
On crée 𝐷 variables (une pour chaque mot du X = [1, 0, 1, 0, …, 1, 0, 1]
dictionnaire).
Chaque document est alors représenté par le
simple comptage des mots présents
Vecteur de taille 𝐷
Processus d’apprentissage NLP

Construire un dictionnaire Encoder les données textuelles Construire un classifieur

Construire et entraîner notre modèle d’apprentissage :


- Modèles de Machine Learning « classique » (arbre, xgboost, …)
- Modèles de Deep Learning (CNN, RNN, …)

BESOIN DES DONNEES ANNOTEES


Approche non-supervisée

Problème : pas de données labellisées et labellisation à la main impossible

Idée : appliquer une démarche non supervisée :

▪ Encodage des différents verbatims par doc2vev. Principale avantage : permet


d’appliquer une distance entre les documents

▪ Application de méthodologies non supervisées (Kmeans et/ou CAH). Si la première est


plus rapide, la deuxième permet de distinguer thèmes et sous-thèmes.

▪ Labellisation automatique des 1% les plus proches des clusters.


Approche non-supervisée
Approche non-supervisée
Sommaire

1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Introduction à l’apprentissage actif

Apprentissage actif (Active Learning en anglais) :


Construire un modèle de Machine Learning plus performant si nous avons la possibilité
de choisir les données à étiqueter / entraîner

Passive Learning Active Learning


Quelques notations et une itération classique d’apprentissage actif

𝑳 𝜽 𝑼

Données Données non


annotées Modèle annotées
Quelques notations et une itération classique d’apprentissage actif

À l’itération t

Données Données non


annotées Modèle annotées
Quelques notations et une itération classique d’apprentissage actif

À l’itération t

Données Entraînement
Données non
annotées Modèle annotées
Quelques notations et une itération classique d’apprentissage actif

À l’itération t

Données Sélection
Modèle Données non
annotées
annotées
Quelques notations et une itération classique d’apprentissage actif

À l’itération t

Données
Modèle Données non
annotées
annotées

Étiquetage des données


Quelques notations et une itération classique d’apprentissage actif

À l’itération t

Données Modèle Données non


annotées annotées

Enrichissement
Quelques notations et une itération classique d’apprentissage actif

À l’itération t+1 …

1 Sélection
Données Modèle Données non
annotées annotées

4 3
Sommaire

1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Différentes stratégies d’Active Learning

Échantillonnage incertain

Requête par votes

Changement de modèle prévu

Méthode de densité pondérée


Échantillonnage incertain Questions :

➢ comment choisir la
région d’incertitude ?

Les sous-stratégies :

➢ Échantillonnage
« Least Confident »

➢ Échantillonnage
avec marge

➢ Échantillonnage
Crédit : Prateek Jain, Sudheendra Vijayanarasimhan et Kristen Grauman par entropie
Échantillonnage incertain
Échantillonnage « Least Confident »


𝑥𝐿𝐶 = arg max 1 − 𝑃𝜃 𝑦ො | 𝑥
𝑥
où 𝑦ො = arg max{𝑃𝜃 𝑦| 𝑥 } est la classe la plus probable sous le modèle
𝑦
Échantillonnage incertain
Échantillonnage « Least Confident »


𝑥𝐿𝐶 = arg max 1 − 𝑃𝜃 𝑦ො | 𝑥
𝑥
où 𝑦ො = arg max{𝑃𝜃 𝑦| 𝑥 } est la classe la plus probable sous le modèle
𝑦
Échantillonnage incertain
Échantillonnage « Least Confident »


𝑥𝐿𝐶 = arg max 1 − 𝑃𝜃 𝑦ො | 𝑥
𝑥
➢ Problème : nous regardons seulement la distribution d’un seul label
Échantillonnage incertain
Échantillonnage avec marge


𝑥𝑀 = arg max 𝑃𝜃 𝑦ො1 | 𝑥 − 𝑃𝜃 𝑦ො2 | 𝑥
𝑥

où 𝑦ො𝑖 est la classe la i-ème plus probable sous le modèle


Échantillonnage incertain
Échantillonnage avec marge


𝑥𝑀 = arg max 𝑃𝜃 𝑦ො1 | 𝑥 − 𝑃𝜃 𝑦ො2 | 𝑥
𝑥
➢ Problème : nous continuons à ignorer la distribution des sorties pour les classes restantes
Échantillonnage incertain
Échantillonnage par entropie

➢ Stratégie d’échantillonnage incertain plus générale (Shannon, 1948) utilise l’entropie comme mesure d’incertitude

𝑥𝐻∗ = arg max − ෍ 𝑃𝜃 𝑦𝑖 | 𝑥 log 𝑃𝜃 𝑦𝑖 | 𝑥


𝑥
𝑖
Requête par votes ➢ Sélectionner l’instance où les
modèles sont le plus en désaccord
Requête par votes ➢ Sélectionner l’instance où les
modèles sont le plus en désaccord

Questions :

1. Quel comité de modèles choisir ?

2. Quelle mesure de désaccord choisir ?


Requête par votes ➢ Sélectionner l’instance où les
modèles sont le plus en désaccord

Questions :

1. Quel comité de modèles choisir ?

2. Quelle mesure de désaccord choisir ?

Solutions possibles :
Nombre de vote
1. Une méthode par bagging pour la classe

2.

Taille de la comité
Changement de modèle prévu ➢ Sélectionner l’instance qui, si nous
connaissons son label, présente le plus
grand impact sur les paramètres de
notre modèle
Changement de modèle prévu ➢ Sélectionner l’instance qui, si nous
connaissons son label, présente le plus
grand impact sur les paramètres de
notre modèle

Exemple de stratégie :
➢ Longueur prévue du gradient :

Fonction objectif
Changement de modèle prévu ➢ Sélectionner l’instance qui, si nous
connaissons son label, présente le plus
grand impact sur les paramètres de
notre modèle

Exemple de stratégie :
➢ Longueur prévue du gradient :

Fonction objectif

➢ Problème 1 : coûteux en calcul

➢ Problème 2 : peu efficace si une des


dimensions a une magnitude supérieure
aux autres car le gradient peut
surestimer les légères variations de
cette dimension
Méthode de densité pondérée ➢ Il est parfois intéressant de connaître le
label d’une donnée plus représentative
de la distribution sous-jacente
Méthode de densité pondérée ➢ Il est parfois intéressant de connaître le
label d’une donnée plus représentative
de la distribution sous-jacente

➢ Sélectionner l’instance qui est :


➢ À la fois incertaine pour le modèle (cf.
échantillonnage incertain [Link].)
➢ À la fois proche d’une région dense
Méthode de densité pondérée ➢ Il est parfois intéressant de connaître le
label d’une donnée plus représentative
de la distribution sous-jacente

➢ Sélectionner l’instance qui est :


➢ À la fois incertaine pour le modèle (cf.
échantillonnage incertain [Link].)
➢ À la fois proche d’une région dense

Exemple de stratégie (Settles et al, 2008) :

Fonction de similarité
Quantité d’information de x en
fonction d’une stratégie A
1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Processus d’apprentissage actif par mini-batch
Algorithme de sélection : tant que nous n’avons pas atteint une condition d’arrêt

1. Entraîner notre modèle 𝜃 sur le train-set 𝐿 et évaluer sa performance sur le test-set 𝑇

2. Sélectionner les k échantillons 𝑥1∗ , 𝑥2∗ , … , 𝑥𝑘∗ les plus informatifs du pool-set 𝑈

3. Mettre à jour 𝑈 ← 𝑈 − {𝑥1∗ , 𝑥2∗ , … , 𝑥𝑘∗ }

4. Mettre à jour 𝐿 ← 𝐿 ∪ {𝑥1∗ , 𝑥2∗ , … , 𝑥𝑘∗ }

1 Sélection
Données Modèle Données non
annotées annotées

4 3
Échantillonnage aléatoire

➢ Modèle(s) :
▪ XGBoost

➢ Stratégie(s) : Échantillonnage
▪ Aléatoire

➢ Taille des données annotées


initiales (L) / d’un mini-batch (k) :
▪ 200 / 100

➢ Condition d’arrêt :
▪ 25 000
Échantillonnage aléatoire VS par entropie

➢ Modèle(s) :
▪ XGBoost

➢ Stratégie(s) : Échantillonnage
▪ Aléatoire
▪ par entropie

➢ Taille des données annotées


initiales (L) / d’un mini-batch (k) :
▪ 800 / 100

➢ Condition d’arrêt :
▪ 25 000
Différentes stratégies d’apprentissage actif
➢ Modèle(s) :
▪ XGBoost

➢ Stratégie(s) : Échantillonnage
▪ Aléatoire
▪ Par entropie
▪ Avec mage
▪ Par requête de votes
▪ Par densité pondérée avec
l’échantillonnage par entropie

➢ Taille des données annotées


initiales (L) / d’un mini-batch (k) :
▪ 800 / 200

➢ Condition d’arrêt :
▪ 6 000
Échantillonnage par entropie + différentes tailles de mini-batch

➢ Modèle(s) :
▪ XGBoost

➢ Stratégie(s) : Échantillonnage
▪ Aléatoire
▪ Par entropie

➢ Taille des données annotées


initiales (L) / d’un mini-batch (k) :
▪ 800 / (50, 100, 200)

➢ Condition d’arrêt :
▪ 6 000
Échantillonnage par entropie + différentes tailles de mini-batch

➢ Modèle(s) :
▪ XGBoost

➢ Stratégie(s) : Échantillonnage
▪ par entropie

➢ Taille des données annotées


initiales (L) / d’un mini-batch (k) :
▪ 1 000 / (200, 2 000)

➢ Condition d’arrêt :
▪ 13 000
1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Conclusion

➢ Possibilité de catégoriser automatiquement les données textuelles si nous avons


la possibilité d’avoir une base de données annotées

➢ Possibilité de réduire considérablement le coût d’annotation avec l’apprentissage


actif. Cela est vraie pour :
➢ Des données suivant la loi gaussienne
➢ Des données réelles assurantielles (type NPS)

➢ Section suivante : des améliorations possibles pour ces stratégies d’apprentissage


actif
1. Introduction

2. Apprentissage automatique sur les données textuelles

3. Apprentissage actif

4. Différentes stratégies d’apprentissage actif

5. Expérimentations

6. Conclusion

7. Prochaines étapes
Prochaines étapes
Quelques problèmes à soulever :

➢ Des approches Deep Learning :


▪ Quel est l’apport des modèles séquentiels (RNN, LSTM, …) dans la performance de notre
modèle ?

➢ Générer artificiellement des données textuelles :


▪ Quel est l’apport des méthodes génératives (GAN par exemple) dans la performance de
notre modèle ?

➢ Cas des bases très déséquilibrées :


▪ A l’initialisation, comment peut-on détecter rapidement les catégories très rares (<< 1%) ?
▪ Est-ce que les méthodes d’apprentissage actif présentées ci-dessus marchent toujours ?

➢ Accélération du temps de traitement :


▪ Séquentiellement, au lieu de faire de l’apprentissage « hors-ligne », peut-on faire de
l’apprentissage « en ligne » ?

Vous aimerez peut-être aussi