Skip to Content

Tutoriel Arkindex


Documentation 

Le déroulement d'un projet sur Arkindex

Arkindex est une plateforme open source développée par TEKLIA pour le passage à l'échelle des traitements par intelligence artificielle sur de grandes collections de documents numérisés. Les premiers usages concernaient des manuscrits médiévaux, mais la plateforme a été pensée dès le départ pour s'adapter à des collections beaucoup plus variées. Documents imprimés, photographies, formulaires, cartes d'indexation, œuvres d'art, ou collections patrimoniales peuvent être traités selon les mêmes principes.

Dans Arkindex, la démarche consiste toujours à définir les objets que l'on souhaite étudier dans les éléments, à les enrichir progressivement grâce aux classes et aux métadonnées, puis à utiliser les traitements d'intelligence artificielle pour automatiser ces opérations à grande échelle.



1

Définition des objectifs


2

Import et structuration des données


3

Traitements automatiques

4

Exports

Commencer avec Arkindex

Création d'un nouveau projet 

Le projet est le niveau le plus haut de l'arborescence de vos fichiers. 

Après votre connexion à Arkindex, commencez par créer un nouveau projet.

Le projet constitue l'espace de travail dans lequel seront stockés vos documents, vos annotations, vos traitements et vos résultats. Vous pouvez également y gérer les personnes autorisées à accéder aux données.

Paramétrer le projet en cliquant sur l’icône "crayon" à coté du nom du projet. 

Arkindex - TEKLIA

Import des données et sélection 

Arkindex permet l'import d'une grande variété de formats. Déplacez les éléments importés dans des dossiers grâce à la sélection. 

La première étape consiste à importer les données. Ces données peuvent prendre différentes formes : images individuelles, fichiers PDF, archives compressées ou manifestes IIIF. Pour les projets de grande ampleur, des mécanismes d'import massif permettent également de connecter directement la plateforme à un espace de stockage externe.

Arkindex - TEKLIA


Arkindex peut importer :

  • images (JPEG, TIFF, PNG...)
  • PDF
  • manifestes IIIF
  • archives ZIP
  • imports massifs depuis un stockage externe

Attention, l'import se fait en deux étapes. 

Toutes les images sont gérées via le standard IIIF.

Si vous importez un PDF multipage, Arkindex créera automatiquement un dossier contenant toutes les pages du document. Une fois l'import terminé, vérifiez que vos documents apparaissent dans l'arborescence du projet.

Vous pouvez sélectionner des éléments en cliquant sur ✓ sur chaque élément. L’icône ✓ deviendra verte et vous pourrez retrouver l'ensemble des éléments sélectionnés en cliquant sur l’icône "document" à coté de votre identifiant en haut à droite. Il est possible de déplacer des éléments ou lancer un traitement dessus à partir de la sélection.

Créer des dossiers pour vos documents : Elements -> Add Folder

Déplacer des documents dans des dossiers : selection  ✓ -> icône "document" -> actions -> move elements

Organisation du corpus

Modifiez la structure de vos données grâce aux éléments. Enrichissez-les grâce aux classes et aux métadonnées. 

Avant même de lancer un traitement d'intelligence artificielle, il est important de réfléchir à la manière dont les données seront structurées. La réussite d'un projet dépend souvent davantage de la qualité de la structure de données que du choix d'un modèle particulier.

La clé pour comprendre Arkindex est de retenir que tout repose sur la structuration des données autour des éléments, puis sur leur enrichissement progressif par des classes, métadonnées, transcriptions et résultats de modèles IA. 

Arkindex a été développé avec une ambition particulière : pouvoir traiter n'importe quel type de document numérique. Cette généralité explique certains choix de vocabulaire dans l'interface. Là où d'autres logiciels parlent uniquement de documents et de pages, Arkindex utilise des termes plus neutres afin de pouvoir décrire des réalités très différentes : les éléments. 

Arkindex - TEKLIA

Eléments 


Un élément représente n'importe quel objet que l'on souhaite décrire dans un projet. Ils constituent les briques de base du modèle de données. Les éléments sont hiérarchiques au niveau du corpus mais aussi en dessous du niveau de la page, pour la description et la segmentation des parties d'une image. 

Dans un projet de manuscrits, un élément pourra être un volume, une page ou une ligne de texte. Dans une collection photographique, il pourra s'agir d'un carton d'archive, d'un album, d'une photographie, d'une personne ou d'un visage. Dans un projet consacré à des œuvres d'art, il pourra représenter une exposition, une sculpture, un motif décoratif ou un détail iconographique.

Gestion des élements : Project → Project information → Types


Classes

Une fois les éléments créés, ils peuvent être qualifiés à l'aide de classes.

Une classe permet d'ajouter une information descriptive à un élément existant. Une illustration pourra par exemple être qualifiée comme photographie, dessin ou gravure.

Le choix entre créer plusieurs types d'éléments ou utiliser des classes dépend du projet, cette décision est souvent guidée par les besoins d'analyse et par les capacités des modèles utilisés.

Dans la pratique, les classes sont souvent utilisées pour représenter des catégories ou des résultats de classification produits automatiquement par des modèles d'intelligence artificielle.

Gestion des classes : Project → Project information → Classes ​


Métadonnées 

Les métadonnées constituent un autre niveau d'enrichissement.

Elles permettent d'associer à chaque élément des informations complémentaires comme une date, un auteur, une cote, un lieu ou une référence externe.

Ces informations sont le plus souvent importées avec les documents, bien qu'elles puissent aussi être ajoutées manuellement ou générées automatiquement à partir de traitements.

L'un des avantages d'Arkindex est de pouvoir centraliser dans un même environnement des données provenant de plusieurs systèmes avant de les réexporter dans un format unique.

Gestion des metadonnées : Project → Project information → Metadata

Annotations manuelles 

Ajoutez des transcriptions, classes et métadonnées manuellement en définissant des zones sur l'image. 

Même si votre objectif est l'automatisation, il est conseillé de créer quelques exemples manuels afin de comprendre le fonctionnement de la plateforme et de disposer de données de référence.

Arkindex - TEKLIA


Au niveau d'une page, choisissez + Annotate pour ouvrir les outils d'annotation : 

  • dessiner un rectangle ;
  • dessiner un polygone ;
  • associer un type d'élément ;
  • modifier ou supprimer une annotation.

Choisissez une zone annotée pour y associer une transcription manuelle, une classe ou des métadonnées. 

Premiers traitements 

Lancez des traitements à l'échelle sur tous les éléments choisis. 

La plateforme peut utiliser aussi bien des modèles open source que des services externes accessibles par API. OCR, reconnaissance d'écriture manuscrite, détection d'objets, extraction d'entités nommées ou grands modèles de langage peuvent ainsi coexister dans un même projet. Arkindex fournit le cadre technique, mais il appartient aux utilisateurs d'évaluer les performances, les coûts et l'adéquation des modèles à leurs besoins. 

L'expérimentation joue ici un rôle essentiel. Dans la plupart des projets, plusieurs modèles sont testés avant de retenir la solution la plus adaptée.

Les traitements peuvent être placés les uns à la suite des autres dans une chaîne de traitement : Analyse de documents, détection d’objets, transcription automatique (OCT/HTR), extraction d’entités nommées (NER), extraction de métadonnées, embeddings (recherche), légendage, traduction, etc.


Arkindex - TEKLIA
Lancer un traitement 


Processes -> Create inference process 

Il est important de vérifier que tous les éléments cibles sont bien pris en compte dans le traitement. Pour intégrer les sous-dossiers et leurs pages, choisir load all children dans la page Filter process elements. Cliquez ensuite sur -> Configure workers

Sélectionnez le modèle : + select workers -> + add to process -> done

Configurez le modèle : Model Version + et/ou Configuration + 

Vérifiez que les paramètres de votre modèle sont tous configurés puis lancez Run process

A la fin du traitement, vous trouverez les résultats dans la partie gauche de l'interface de visualisation de vos images. 


Vous pouvez suivre l'ensemble des traitements en cours dans l'onglet en haut à gauche : -> Process

Exports

Choisissez l'export selon votre besoin.  

Une fois les traitements terminés, les données peuvent être exportées dans différents formats afin d'être exploitées dans d'autres outils.

Les formats standards couvrent la plupart des besoins courants, mais Arkindex permet également d'exporter l'ensemble d'un projet sous forme de base SQLite. Cette approche est souvent privilégiée lorsque des traitements ou des exports spécifiques doivent être développés.

L'export constitue la dernière étape du cycle de travail et permet de réutiliser les résultats produits dans l'environnement de son choix.

Exercices de prise en main

-> Consortium PictorIA 

Arkindex - TEKLIA

Segmentation d’objets : détection d'illustrations avec le modèle YOLO


YOLO est un modèle open-source de classification, detection et segmentation d’objets dans les images. Cette librarie est très performante, tant sur le plan de la qualité des prédictions que sur les temps de traitement et ne nécessite pas beaucoup d’exemples pour entrainer des modèles. YOLO est intégré dans Arkindex pour l’entrainement et l’inférence mais vous pouvez aussi entrainer un modèle vous-même (à l’extérieur d’Arkindex) et l’importer dans Arkindex pour traiter un grand corpus de documents.

Vidéo : Importer un manifest IIIF

  • Créer un processus de traitement (inference) :

    • sur les pages
    • en utilisant le worker “YOLO Segmenter”
    • avec le modèle " YOLO | Photograph segmentation"

Vidéo : Détecter les photographies avec Yolo

  • Evaluer la segmentation en passant en revue les photographies détectées

    • avec la barre de filtrage, afficher type=photograph recursive=yes
En savoir plus
Arkindex - TEKLIA

Reconnaissance d’écriture manuscrite avec l’ATR Microsoft


Microsoft propose une API de reconnaissance de documents imprimés et manuscrits multilingue (Microsoft OCR). Le système fonctionne bien pour des documents récents (à partir de fin XIXème).

Le service procède à une détection de ligne, suivie d’une reconnaissance d’écriture. La transcription est ajoutée sur les elements “Text line”.

Vidéo : Reconnaissance d’écriture manuscrite avec Microsoft OCR

Arkindex - TEKLIA

Extraction d’informations dans un document imprimé avec un LLM (OpenAI)


Les LLM (Large Language Models) sont des modèles pré-entrainés capables de réaliser n’importe quelle tâche à partir d’une description en langage naturel. Certains LLM sont aussi capables d’analyser des images de documents pour transcrire le texte et extraire des informations. Les LLMs les plus puissants sont généralement les LLMs commerciaux accessibles par API. Arkindex permet de faire des requêtes en utilisant ces API commerciales. Il est nécessaire d’obtenir une clé d’API associée à un moyen de paiement.

Vidéo : Extraction d’information dans un document imprimé avec ChatGPT

Arkindex - TEKLIA

Extraction d’entités nommées avec spaCy

spaCy est une librairie open-source pour l’analyse morpho-syntaxique et la detection d’entités nommées efficace et facilement configurable. Elle comporte 24 modèles pré-entrainés. spaCy est intégré dans Arkindex pour l’entrainement et l’inférence mais vous pouvez aussi entrainer un modèle vous-même (à l’extérieur d’Arkindex) et l’importer dans Arkindex pour traiter un grand corpus de documents.

  • Importer le document https://gallica.bnf.fr/iiif/ark:/12148/bpt6k3348465m/manifest.json et effectuer une reconnaissance d’écriture imprimée avec tesseract et un modèle français

    • Créer un processus de traitement (inference) :
    • sur pages
    • en utilisant le worker “spaCy Remote model”
    • ajouter la configuration “French Paragraph”

Vidéo : Reconnaissance d’entités nommées avec spaCy