Analyse Visuelle de la Mise en Page
Comme mentionné dorénavant, le format PDF est un format de présentation, à la différence du HTML par exemple, qui sépare dans la mésure du possible la structure sémantique du texte et sa mise en page. Concrètement cela veut dire que, en théorie (on aimerait tous y vivre!), l’extraction du texte même d’une page HTML très « visuelle », avec une mise en page comprenant des multiples colonnes, des images, des figures, etc, se résume à simplement enlever les tags.
Comme aussi mentionné dorénavant, le standard PDF dans sa déclinaison « universellement accessible » admet une extraction du texte et même de la structure sémantique légèrement plus compliquée mais néanmoins faisable. Malheureusement, il suffit qu’on oublie de cocher la case PDF/UA en sauvegardant un fichier, ou qu’on sélectionne « imprimer en format PDF » au lieu de « exporter », ou qu’on passe le PDF par un logiciel douteux, pour que toute cette belle structure tombe à l’eau. On se retrouve avec des fragments de texte positionnés absolument, souvent sans séparation entre les mots et parfois même dans une ordre arbitraire.
Dont la nécessité d’une analyse de la mise en page, pour identifier et séparer le texte, les figures, et les tableaux, mais aussi pour identifier les éléments textuelles, dont les titres et listes, ainsi que les artéfacts textuelles qui ne font pas partie du contenu, dont les en-têtes, les pieds de page et les captions de figures. Étant donné le fait que les éléments d’un PDF sont positionnés absolument sur une page (sans référence à une grille ou autre structure visuelle), la diversité de formats de papier, de polices de caractères, de marges et entrelignes, entre autres, il est presque impossible de concevoir des règles pour prendre en charge tout cela à moins de le refaire pour chaque nouveau document ou presque.
Dont aussi la nécessité (il me semble que je me répète souvent!) d‘utiliser… l’apprentissage machine (toé IA chose machin). On en a déjà parlé un peu par rapport aux éléments du texte. On peut catégoriser les types d’analyses propices à l’apprentissage.
Analyse textuelle
Ceci est le type d’analyse le plus simpliste et probablement le plus répandu. En présumant une extraction préalable du texte, correspondant le plus possible à la forme perçue par un lecteur, on peut faire une analyse textuelle (parsing) ou une classification de séquence pour répérer des éléments structurels.
Évidemment, puisque toute l’information provenant de la mise en page a été évacué par le processus d’extraction de texte, on n’a peu de chances de reconstruire la structure du document de façon robuste ou fiable.
Analyse espacielle
Par défaut, ALEXI fait une analyse espacielle, c’est à dire qu’il prend compte de l’emplacement des éléments de texte ainsi que des attributs typographiques (taille de police, caractères gras ou italiques, etc.) pour identifier des éléments tels que titres de sections, éléments de listes, etc.
Bien qu’il utilise l’apprentissage machine, d’autres logiciels utilisent aussi des méthodes algorithmiques ou heuristiques, par exemple pdfminer.six ou camelot.
Analyse visuelle
Dernièrement, il existe une tendance à faire une analyse purement visuelle de la mise en page pour identifier les éléments structurelles. Alors que l’analyse textuelle évacuait toute la mise en page et les attributs visuels du document, une analyse visuelle fait exactement le contraire - chaque page d’un PDF est transformé en image matricielle, qui est par la suite analyser par un modèle de vision tel que DeformableDETR, YOLOX ou YOLO, qui a été préalablement entraîner sur un corpus d’images semblables.
Quoiqu’il soit possible d’utiliser ces modèles par le biais de des logithèques peu fiables provenant de compagnies qui préfèrent prendre votre argent et/ou vos données personnelles, ceci n’est aucunement nécessaire. En plus, il semble que ces logithèques libres fonctionnent essentiellement comme appât pour les services payants / espions. Nous allons donc, dans le prochain billet, regarder comment utiliser les modèles directement pour éviter divers problèmes reliés à ces logithèques.
(La seule exception dans cette bande là est probablement DocLing qui provient d’un groupe de récherche réputé.)