Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Tal-Ia : une plateforme pour l’exploration et la préparation de corpus

Nous présenterons lors de la journée GANESHs du 15 avril (qui fait suite à celle-ci) la version alpha d’une plateforme développée dans le cadre du programme d’expérimentation GANESHs IA (présenté ici) . Nous souhaitons en partager prochainement le code et ouvrir le développement à de nouvelles collaborations.

Un aperçu de l’utilisation du modèle Gliner sur un texte non balisé

Objectifs

Cet outil, en phase de développement, est destiné à tester les possibilités de modèles de langue légers et Open Source pour des tâches comme la détection d’entités nommées, la recherche sémantique, la classification de textes… Les modèles choisis peuvent fonctionner sur un ordinateur classique (en CPU) et sans connexion internet, ce qui nous garantit la maîtrise des données, sans frais d’abonnement ni autre dépense que l’investissement matériel.

Notre parti pris est donc résolument low tech, et s’appuie sur deux constats: d’abord celui d’une imperfection ou d’une faillibilité fondamentale des modèles proposés par les géants de l’IA. Derrière les miroirs aux alouettes du remplacement de l’humain, il y a toujours un travail de vérification des outputs. La question est donc celle du ratio entre le temps de vérification et celui gagné par l’usage (payant) du modèle en ligne. Deuxième constat : il y a des alternatives, certainement moins efficaces, mais dont nous pouvons contrôler la mise en oeuvre (sans parler de la production de nos propres modèles).

Ces alternatives, couplées avec des outils de correction collaborative comme Doccano ou Argilla, peuvent produire des résultats suffisamment intéressants pour nous faire gagner du temps sur certaines tâches fastidieuses. Outre la gratuité, la sobriété énergétique et la maîtrise des données, l’utilisation ‘en local’ de ces modèles assure une reproductibilité des tests et une meilleure compréhension de leurs biais et autres limitations, alors que les APIs et webservices bien connus sont à la fois opaques et en évolution constante.

Enfin, nous avons également planifié l’ouverture d’un serveur GPU à l’Université, ce qui rendra possibles des tâches plus complexes (production de résumés de documents, interrogation de ces résumés en ‘langage naturel’, génération de graphes de connaissances), via la même application et avec les mêmes garanties de sécurité, et toujours le souci d’une sobriété énergétique maximale.

Scénarios d’utilisation

Un premier scénario d’utilisation (déjà implémenté) est celui de l’import d’un corpus en XML, pour repérer des types d’information et les baliser automatiquement, corriger les annotations dans la plateforme Argilla, puis exporter le résultat dans un format compatible avec l’outil de textométrie TXM (1) . Ce scénario peut correspondre à plusieurs opérations de recherche comme la fouille de texte, l’indexation pour une publication en TEI, ou encore la pseudonymisation d’entretiens ou de documents d’archives.

Import d’un fichier XML, correction dans Argilla puis export XML

La plateforme est installée avec quatre modèles par défaut : deux modèles de la librairie Spacy, un modèle basé sur ModernBERT adapté au français, et le modèle Gliner. Celui-ci permet de définir arbitrairement des types d’information : alors que les modèles classiques détectent 4 types d’entités (personnes, lieux, organisations, autres [‘misc’]), il devient possible de demander au modèle de repérer des références bibliographiques, des activités professionnelles, des informations géographiques (par exemple, il est possible de distinguer ville et pays, comme le montre la 1re vidéo)…

Un autre scénario serait de pré-annoter un corpus d’entretiens ou d’articles de presse pour l’importer ensuite dans un outil d’annotation qualitative comme QualCoder. Dans ce scénario, on utilise dans un premier temps la recherche sémantique pour sélectionner des extraits représentatifs puis, dans un second temps, on réalise l’entraînement d’un mini-classifieur à partir de cette sélection. Les segments pré-annotés peuvent ensuite être récupérés dans QualCoder.

La vidéo ci-dessous montre comment créer un vector store à partir de deux fichiers XML : dans un premier temps il est nécessaire de calculer des embeddings (ici avec un ModernBERT adapté pour le français) et d’importer les paragraphes dans la base de données (ici Chroma avec LangChain). Cette opération est plus ou moins longue selon le volume de texte et la puissance CPU. Pour donner un ordre d’idée, le processus d’import/vectorisation prend 19 secondes pour un corpus d’environ 90k signes, soit une soixantaine de pages, avec un processeur Intel i7 de 16 coeurs et 32 Go de RAM.

Dans un 2nd temps, le corpus — composé d’une centaine de paragraphes tirés d’un article sur Victor Hugo et d’un autre sur Napoléon III — devient interrogeable. Et ce, sans connaître le lexique au préalable : on peut formuler une question rédigée en ‘langage naturel’, ou une requête thématique simple, pour identifier les passages les plus pertinents, sans savoir a priori quels mots chercher dans le corpus (N. B.: la pertinence est définie via un simple calcul de similarité entre les embeddings de la question et ceux des paragraphes stockés dans Chroma).

Cette approche basée sur des modèles de langue légers vient donc compléter l’approche textométrique classique et lui adjoint un traitement préalable appréciable — puisqu’il n’est plus nécessaire de dégager par tâtonnements itératifs des mots-clés caractérisant une thématique : les résultats de la recherche sémantique et Gliner donnent en quelques clics un lexique très utile qu’il est difficile d’obtenir avec les outils classiques.

Enfin, un module graphique d’annotation permet de sélectionner des passages pour réaliser ensuite l’entraînement d’un classifieur basé sur FlauBERT (en cours d’implémentation). La sélection des segments de texte peut se faire en utilisant un jeu de tags prédéfinis mais il est possible de le personnaliser à volonté (cf. dernière partie de la vidéo).

Modèles et modules

La structure de la plateforme se compose d’un frontend JavaScript (Vue3) et de modules python gérés par FastApi. Elle communique également avec la plateforme Argilla (qui peut s’installer très facilement grâce à une image Docker).

Cette architecture permet d’installer facilement de nouveaux modèles, et devrait permettre la réutilisation rapide de modules python. Par exemple, j’ai commencé les tests pour la fonctionnalité de recherche sémantique en utilisant un modèle basé sur CamemBERT, que j’ai pu optimiser au format ONNX Q-int8 avec la VM GPU dont nous disposons sur Lyse Cloud. Mais un modèle plus récent, basé sur ModernBERT, est à la fois plus rapide et capable de traiter un contexte plus grand (8192 tokens contre 512). Le remplacement de l’ancien modèle par le nouveau se fait en une dizaine de lignes de code — et pourra être implémenté dans l’interface si besoin.

Il s’agit donc à l’heure actuelle d’un bac à sable qui nous donne la possibilité de tester des modèles pour différents types de corpus sur des tâches de recherche d’information, d’indexation et de représentation de connaissances, mais aussi de développer rapidement de nouvelles fonctionnalités en reprenant la trame des modules existants. La prochaine étape du développement sera la production de mini-modèles de classification entraînés à partir des exemples sélectionnés.

  1. Dans cette vidéo, je reprends l’exemple de l’article de Wikipedia sur Victor Hugo, préalablement transformé en XML. Le modèle Gliner est chargé avec les mêmes catégories que dans la première vidéo. On récupère ensuite les annotations de Gliner dans Argilla, où l’on peut les corriger. On peut également sélectionner les passage les plus proches sémantiquement : je conserve les 10 premiers résultats de la rercherche sémantique, dont les annotations sont enfin ajoutées dans une copie du fichier XML initial. Ces annotations étant marquées par la balise <span ref=”…”>, elles deviennent interrogeables dans TXM avec la requête : [ _.span_ref=”…” ]. ↩︎

Atelier Wikimédia avec Delphine Montagne

Le prochain rendez-vous Ganeshs aura lieu le jeudi 17 octobre de 9h à 13h dans la salle K201. Cet atelier est co-organisé avec le groupe local Lyon Saint-Étienne du réseau Maté-shs.

Nous aurons le plaisir d’accueillir Delphine Montagne Wikimédienne en résidence actuellement à Lyon. Les Résidences wikimédia ont pour objectifs de former le monde de l’enseignement supérieur et de la recherche à Wikipédia, Wikidata (bases de données) et aux Commons (photos et vidéos) entre autres. Elles s’inscrivent dans la dynamique des sciences ouvertes.

Elle animera un atelier autour de Wikipédia et des données : “Wikipédia est le 5e site internet le plus consulté au monde et l’un des sites de connaissances les plus consultés en France. Pourtant nous ne savons pas toujours comment il fonctionne ni comment y contribuer. Le temps de cet atelier orienté sur la pratique, venez découvrir cette encyclopédie collaborative et quelques exemples simples d’extraction de données.”
Venez nombreux et nombreuses à cet atelier qui intéressera aussi bien les (jeunes) chercheur·es, que les étudiant·es ou encore les personnels d’accompagnement de la recherche.

Plusieurs supports ont déjà été créés dans le cadre des résidences :

– Un Tuto M@te SHS ;

– Des : Wikipédia pour la médiation scientifique, comment utiliser les données de Wikipédia etc.;

– Des retours d’expériences de l’ESR sur l’utilisation des projets wikimédia à travers les “wikicafés“.

Pour vous inscrire écrivez à François Féliu (francois.feliu@cnrs.fr)

Perspectives pour l’édition et l’exploitation de corpus avec l’IA — Premier atelier du groupe GANESHs

Nous avons le plaisir de vous communiquer ci-dessous le programme de nos journées GANESHs du mardi 2 et mercredi 3 avril 2024.

Mardi 2 avril 2024 (journée complète) : Campus Manufacture, Bâtiment des Forges, Amphi L206

— 9H00 : Accueil

— 9h30 : Introduction

* Vito Avarello : le groupe GANESHs et la rencontre SHS-IA

* Vincent Ventresque : L’expérimentation des modèles open source légers sur nos corpus

— 09h45 L’IA et les institutions patrimoniales 

 * Jean-Philippe Moreux (Gallica-BnF, Paris) : « De la numérisation à la diffusion : l’IA et les institutions patrimoniales »
 * Sitthida Samath, Eric Astier, Samantha Saïdi (Persée, ENS de Lyon, CNRS, MESR) : « De la constitution de corpus à leur exploitation par IA : regards croisés »

— 11h TAL et LLM pour les humanités numériques (1/2)

 * Jean-Philippe Magué (ICAR, ENS-Lyon) ; Jean-Pierre Chevrot, Tristan Dumas, Louise Tarrade : « Compétences sociolinguistiques des grands modèles de langue. »

~~ Buffet  ~~

— 14h TAL et LLM pour les humanités numériques (2/2)

 * Marianne Reboul (IHRIM, ENS-Lyon) : « Constructions et usages de modèles multilingues pour le latin et le grec ancien

— 14h30 : Les LLM à la loupe 

 * Antoine Gourru (Lab. H. Curien, UJM) : « Limites et biais des grands modèles de langage. »
 * Cédric Boscher (Lab. H. Curien, UJM) : « Extraction d’informations sensorielles à partir de documents textuels basée sur des modèles de langage et des ressources linguistiques. »

Mercredi 3 avril 2024 (matinée) : Campus Tréfilerie, Bâtiment M, Salle M 001

— 9h30 : Table-ronde / Café GANESHs

* Retours et échanges sur la journée du 2 avril: enjeux collaboratifs 

Inscriptions : Fabienne.vial@univ-st-etienne.fr

3e rencontre GANESHs

Nous vous proposons de nous rencontrer à l’heure du déjeuner pour notre 3e rencontre “GANESHs”. Ce sera l’occasion d’échanger entre-nous, de présenter la journée IA prévue en avril 2024, les actions futures, etc 

Le déjeuner GANESHs n° 3 aura lieu le 19 décembre à 12h15 au bâtiment M.

Chacun amène son repas. GANESHs s’occupe des papillotes et du dessert !

GANESHs IA | Mise en place d’un espace d’expérimentation IA pour les SHS

Nous lançons un programme d’expérimentation d’outils de traitement automatique du langage (TAL) utilisant les technologies de machine-learning.

Les développements récents des modèles de langage, notamment les “Large Language Models” de type GPT et BERT, ont apporté non seulement une amélioration très significative des performances mais également une meilleure accessibilité des librairies, jeux de données et modèles pré-entraînés. De nombreux outils Open Source sont disponibles, bien documentés et il devient très facile de réaliser certaines opérations comme la reconnaissance d’entités nommées (NER) et la classification de textes.

Grâce au soutien de l’université de Saint-Étienne (UJM), nous bénéficions d’une machine dédiée sur le cloud (Lyse Cloud), ce qui nous permettra d’implémenter des modèles de langage et de les entraîner à des tâches correspondant à nos corpus. Nous souhaitons également contribuer à la création d’un espace d’échange interdisciplinaire entre les chercheur·e·s travaillant sur des corpus, les spécialistes du TAL et du machine-learning, ainsi que les ingénieur·e·s des laboratoires.

Notre premier objectif sera d’implémenter une chaîne de traitement permettant d’importer des corpus textuels (presse, éditions numériques, etc) afin de tester les performances des modèles open source et de faciliter les opérations d’indexation fine et de fouille de texte. Cette chaîne inclura un outil d’annotation, qui facilitera l’analyse et la correction des résultats obtenus par les outils d’extraction, mais aussi la préparation d’échantillons pour le ré-entraînement des modèles.

Détection d’entités nommées sur un échantillon du Dictionnaire de Port-Royal (1), réalisée avec Spacy (2) et importée dans Doccano (3).

Nous proposerons au printemps une journée d’atelier pour présenter les résultats des tests et la chaîne de traitement, et ouvrir la discussion autour de tables rondes réunissant les actrices et acteurs des différentes disciplines.


(1) https://www.sudoc.fr/081347561

(2) https://spacy.io

(3) https://github.com/doccano/doccano

Mapping Matteo Ricci : Atelier

Nous vous proposons un café Ganeshs autour du projet “Ricci — Mappemonde 1602 | Mapping Matteo Ricci” de Vito Avarello.

Le support utilisé est une base de données Heurist incluant une carte interactive (basée sur la librairie Leaflet). Cette carte, sans les annotations, est visible ici : https://roii.huma-num.fr/Ricci/mappemonde-2.html .

Voir la page de test : https://heurist.huma-num.fr/h6-alpha/?db=Ricci&website&id=53&pageid=173

Notre objectif est de tester les fonctionnalités de recherche et d’affichage afin de préciser le modèle de données.

Les questions suivantes seront abordées :

  • Configuration du widget “Map and Timeline”
  • Utilisation des couches d’annotation (layers) : quelles conséquences sur le modèle de données ? Comment lier les objets entre eux ?
  • Utilisation des custom reports et règles d’expansion : plutôt que de complexifier les relations entre objets, utilisation possible de raccourcis (agrégation d’informations via des champs calculés ? affichage de différents types de records via les règles d’expansion ? personnalisation des fenêtres popup via les custom reports ?)
  • Configuration des niveaux de zoom : comment faire apparaître les objets de la carte uniquement à un niveau de zoom faible, et les détails à un niveau élevé ?

La difficulté technique consiste à transposer les outils qui relèvent traditionnellement des systèmes d’information géographiques à l’annotation d’une image non géo-référencée. En effet, la mappemonde de Ricci, composée de 6 panneaux, mesure 167.5 cm x 371.2 cm, et la lecture du texte chinois suppose une numérisation en haute définition. Il s’agit donc de pouvoir naviguer dans une image de très grandes dimensions, avec la possibilité de zoomer.

Nous avons donc produit une “Tilemap” à partir des images de la Librairie du Congrès ( https://lccn.loc.gov/2010585650 ).

Notre image “originale” (résultat du collage des deux moitiés de la carte) est de dimensions 46200 x 20700 pixels. On doit d’abord redimensionner cette image au niveau maximal de zoom requis, de manière à ce qu’elle se décompose en un nombre entier de tuiles (tiles) de 256 pixels : le niveau de zoom maximal correspond à 32768 x 14682 pixels (car 20700 ÷ 46200 x 32768 = 14682).

Cette tilemap peut être utilisée indépendamment d’Heurist : https://roii.huma-num.fr/Ricci/mappemonde-2.html

Cependant le système Heurist nous permet de construire un environnement de travail collaboratif pour la traduction, l’annotation, et la construction de liens entre les objets annotés.

Compte-rendu de la première réunion GANESHs du 29 juin 2023.

Présents : Vito AVARELLO (IHRIM), Philippe COLANTONI (VP Numérique UJM), François COURONNÉ (SCD), Ahmad FLITI (LEM CEROR CNRS), Cécile JOSSE (Institut ARTS), Pierre-Olivier MAZAGOL (EVS), Renaud MAYOUD (EVS), Orline POULAT (MSH LYSE), Thomas PRIEUR (CERCRID), Vincent VENTRESQUE (IHRIM/Triangle), Fabienne VIAL-BONACCI (IHRIM/CNRS).

Excusée : Geneviève GARDIN (SCD).

Le premier Café GANESHs s’est tenu le 29 juin 2023 au CSI, plateforme IXR, Bâtiment des Forges (site Carnot) avec Philippe COLANTONI, vice-président numérique de l’UJM et des actrices et acteurs de la recherche et du numérique.

Le Café s’est ouvert avec l’annonce de la prochaine rencontre qui aura lieu début octobre 2023 en présence de madame Christelle BAHIER-PORTE, vice-présidente à la Recherche de l’UJM et les directions des laboratoires. Il a également été annoncé la tenue d’un événement annuel GANESHs autour des grandes questions numériques qui traversent l’Université française, notamment la place de l’IA et le droit des données. 

L’ouverture de ce premier Café GANESHs a été l’occasion de présenter les ambitions du groupe stéphanois, principalement la fédération de tous les acteurs qui œuvrent au développement des Humanités Numériques à Saint-Etienne, autour de réflexions, d’échanges et de rencontres plus ou moins informels d’un groupe de bonne volonté, au sein duquel l’investissement se fait à l’envie, en fonction du temps des uns et des autres. 

Au cœur de GANESHs convergent l’idée d’une interaction avec la politique numérique de l’Université, le partage de pratiques entre les actrices et acteurs du numérique, l’établissement de liens avec les partenaires extérieurs de l’UJM (MSH, Huma-Num, Maté SHS…), un positionnement comme relais d’informations à la fois ascendantes et descendantes afin de faire écho aux initiatives locales et au projets remarquables, dans le but aussi d’identifier les acteurs et dégager des thématiques de réflexion commune (ex. droit des données, droit d’auteur, droit d’usage). 

GANESHs s’est emparé également de la question de la formation, au travers de l’investissement de ses membres au sein de différents parcours pédagogiques comme l’UEOS Humanités Numériques proposée aux étudiant.e.s de 2e et 3e année de Licence ALL et SHS, le Master Métiers de l’Historien et le Master Géomatique.

Le tour de table a été l’occasion pour Philippe COLANTONI de présenter la politique de l’UJM sur le terrain du numérique : 

  • Le développement d’un Cloud pédagogie avec la mise en place de VM et de salles virtuelles (type BYOD)
  • le déploiement du plan data, avec l’annonce pour la rentrée d’un stockage massif et collaboratif de 2 pétaoctets, la nécessité d’en rationaliser l’usage, la proposition des services MyDrive et NextCloud. 

Pour l’instant, ce dispositif reste expérimental. Le VP s’est également arrêté sur l’idée d’identifier les données ayant de la valeur, en lien avec les questions de la science ouverte et des pratiques de sobriété numérique. Sur ces deux points, GANESHs aura vocation à synthétiser demandes et infos. Sur la question de l’IA, il apparaît nécessaire d’engager une réflexion d’envergure au sein de l’UJM, particulièrement en SHS. 

La question de la formation spécifique des ingénieurs a été posée. Là aussi GANESHs pourrait appuyer des demandes de formations spécifiques dans le domaine des HN, demandes qui pourraient s’intégrer dans le plan de formation de l’Établissement.

GANESHs aura vocation à dialoguer avec des acteurs HN comme l’Atelier des données et à s’engager dans des démarches participatives ou de partenariat avec des instances institutionnelles comme le GT science ouverte, l’Institut Arts ou le SCD.

Au cours des échanges a émergé l’idée de la création d’un Service Universitaire de la Recherche, utile à la coordination de l’ingénierie, par analogie avec le SUPédagogie.

Le réseau GANESHs s’est doté d’une liste de diffusion (ganeshs@groupes.renater.fr) et d’un carnet hypothèse (https://ganeshs.hypotheses.org).