ActiveTigger@RésIn2025

Émilien Schultz
CREST - ENSAE/Institut Polytechnique de Paris

2025-12-17

Déroulement de la session

  • 20 minutes de cadrage
  • puis pratique

Questions partout & tout le temps

Point de départ

  • Beaucoup de textes, de plus en plus de textes
  • Proliférations de modèles pré-entrainés & endpoints génératifs
  • Diversité des tâches de NLP (classification, NER, extraction, …)

⇒ stabiliser des pratiques ?

Annotation comme point de passage obligé

tâche régulière en sciences sociales : classifier

  • Comment accélérer l’annotation ?
  • Comment passer à l’échelle une classification ?
  • Comment faciliter la collaboration et la vérification ?
  • Comment articuler avec les pratiques plus quali ?
  • Comment donner accès à des ressources de calculs (GPU) ?

Les origines d’Active Tigger 🐯

Prototype R Shiny + Python en 2023 ; stabilisation progressive depuis

Plusieurs objectifs parallèles

  1. accélérer l’entrainement de classifieurs pour annoter de grands corpus
  2. possibilité d’évaluer les métriques pour la qualité des classifieurs
  3. frugalité avec des modèles de taille “raisonnable” (GPU bound)
  4. solution pédagogique pour les utilisateurs/formations non experts
  5. stimuler les discussions communautaires besoins/pratiques
  6. promouvoir les outils open source & reproductibilité
  7. solution qui peut tourner en local (données sensibles)

Un exemple d’usage1

Alternatives

  • Nombreux logiciels généralistes/open source : Doccano, Label studio, Argil, Inception …1
  • Et la mprogrammation

Mais

  • Forte division du travail, éloignés des SHS
  • Penser des tâches plus spécifiques adaptés à nos collectifs

SOTA ou pas SOTA ?

De nombreux critères à prendre en compte (rapidité, infrastructure, reproducibilité, …)

Situation d’Active Tigger fin 2025

rester un logiciel de recherche (évolutif), utile et pédagogique

Un mot d’architecture

  • API (Python) / frontend (React) / client (Python)
  • UX pensée no-code
    • i.e. annotation sur smartphone
  • installable & SAAS
    • Instance CREST
    • Docker compose

Notion 1 : classifieur

  • Apprentissage supervisé
  • Lié au Machine Learning
  • Différents datasets
    • Entrainement/Validation/Test
  • Des métriques d’évaluation
    • Precision/Recall/F1
  • Bonnes pratiques
    • Equilibrer le dataset, paramètres de deep learning, etc.

Notion 2: Plongements

Représentation vectorielle des textes via des modèles (spécialisés)

Notion 3 : active learning

Utiliser les éléments annotés pour prédire sur les autres éléments :

  • des catégories : maximiser la probabilité
  • l’incertitude : maximiser l’entropie

annoter > entrainer un modèle rapide (ML) > annoter avec active learning > renforcer le dataset de train > incrémenter > entraîner un modèle plus lourd

Notion 4 : BERT

Bidirectional Encoder Representations from Transformers

  • 2018, modèles pré-entrainés basés sur une architecture transformers encodeur
  • “petits” (~ Go ; ~ 100M paramètres) ; grande variété

N’hésitez pas à rejoindre pour tester

Hop, pratiquons !

  • Tâche : identifier à partir des résumés de thèses les travaux qui s’inscrivent dans une pratique quantitative, qualitative ou mixte
  • Corpus : thèses publiées depuis 2020 qui mentionnent socio dans la thématique
  • Accès : https://emilienschultz.github.io/activetigger/ - resin[0-40]

stress test 😅 limite à 20 projets actifs parallèles

Contributeurs

Principaux contributeurs : Julien Boelaert (UL) ; Étienne Ollion (CREST) ; Paul Girard (OuestWare) ; Axel Morin (CREST) ; Emma Bonutti (CREST) ; Annina Claesson (CREST) ; Léo Mignot (CED) ; Jule Brion (PACTE) ; Arnault Chatelain (CREST)

Financement : GENES / DRARI / Progedo