Faster R-CNN et PEGASUS - Résumé automatique de texte dans les documents

Aujourd'hui, les entreprises doivent traiter des volumes croissants de documents et les informations qu'ils contiennent afin de pouvoir exploiter leur contenu caché. Cela se fait soit par un résumé de texte manuel qui prend beaucoup de temps, soit par l'utilisation d'une solution d'automatisation. Le résumé automatique de texte aide l'homme à traiter efficacement la quantité croissante d'informations.

Qu'est-ce que le résumé automatique de texte exactement ?

L'Oxford English Dictionary définit le résumé automatique de texte comme "la création d'une version abrégée d'un texte par un programme informatique. Le produit de ce procédé contient encore les points les plus importants du texte original". [1]

Un bon exemple de cas où un résumé peut être utile est celui des rapports annuels des entreprises. Ces documents contiennent de nombreux faits qui peuvent être décisifs pour les investisseurs, car ils fournissent des informations sur de nombreux facteurs tels que la durabilité ou la politique environnementale, qui peuvent être utiles pour la prise de décision des investisseurs. Cependant, les rapports annuels sont généralement des documents très longs de plusieurs centaines de pages, ce qui fait de leur analyse un processus qui prend du temps et qui pourrait être facilité par un flux de travail automatique.

Comment peut-on résumer le texte dans des fichiers PDF ?

Nous divisons le processus en trois parties principales. Pour chacune de ces étapes, nous entrons dans les détails dans les sections suivantes de cet article. Vous pouvez entrer directement dans les détails ou nous vous expliquerons d'abord les principaux résultats de chaque étape.

1. utiliser la reconnaissance des objets pour la segmentation des pages

La première étape consiste à sélectionner les parties du document sur lesquelles nous voulons nous concentrer. Par segmentation des pages ou analyse de la mise en page, nous entendons la division d'un document en différentes parties. Nous le faisons avec notre propre modèle entraîné, car nous n'avons pas pu obtenir le résultat souhaité avec des logiciels standard comme Tesseract ou Abbyy FineReader. Alors que nous pouvons obtenir de nombreuses informations déjà résumées à partir d'images, de graphiques et de titres, c'est le texte qui constitue la source d'information la plus complète. Une manière possible de diviser le document en différents composants est d'utiliser une approche de vision par ordinateur. Un modèle de reconnaissance d'objets multiclasses peut faire automatiquement la distinction entre les différents éléments du rapport d'activité. Tous les contenus peuvent être divisés en cinq catégories : Titre, texte, tableau, liste et illustration. Seuls les emplacements trouvés dans la catégorie Texte sont utilisés pour les étapes suivantes du processus de compression.

2. conversion de l'image en texte avec OCR

L'étape suivante consiste à convertir les bounding boxes sélectionnées du document en texte. Cette partie peut être définie comme un problème d'OCR (reconnaissance optique des caractères) résolu à l'aide d'outils établis. Bien entendu, cette étape peut être supprimée si les documents disposent déjà d'incrustations de texte. Toutefois, il est souvent nécessaire de lire des tableaux ou des documents numérisés, par exemple. Dans notre solution logicielle, les utilisateurs peuvent décider pour chaque projet s'ils souhaitent utiliser des incrustations de texte, Tesseract ou un OCR commercial.

3. résumé de texte de n'importe quel paragraphe

La dernière étape consiste à résumer le contenu sélectionné. C'est là qu'interviennent les "transformers", qui se sont récemment révélés être des modèles performants. Nous avons utilisé le modèle BERT sur mesure PEGASUS, spécialement conçu pour les résumés automatiques. Le résultat nous montre une version résumée du paragraphe que nous avons reconnu et extrait du rapport lors des premières étapes. La longueur initiale de 910 caractères a été réduite à 193 caractères, ce qui représente un gain de temps de près de 80%. Néanmoins, toutes les informations pertinentes pour la compréhension du paragraphe sont incluses.

Cette approche réduit les paragraphes d'un fichier PDF de 80 %.

Le résultat du résumé automatique de texte avec le modèle PEGASUS d'un paragraphe extrait du rapport annuel nous montre un bon résultat. Parcourons-le pour vérifier le type d'aspects qu'il contient : Nom de l'entreprise, probabilité d'un événement, montant de l'amende, nom de la commission.

Résumé de texte avec PEGASUS et livre blanc R-CNN plus rapide




    Vous voulez en savoir plus maintenant ?

    Comment utiliser la reconnaissance d'objets pour la segmentation des pages ?

    La reconnaissance d'objets est une tâche qui consiste à identifier des objets d'une classe connue dans l'image et à fournir des informations sur leur emplacement. Une architecture très connue pour cette tâche est le Faster R-CNN. Cette architecture a deux sorties pour chaque objet : une étiquette de classe et une bounding box. Elle se compose de deux modules : un réseau profond et entièrement replié pour proposer des régions et un Fast R-CNN qui reconnaît les objets dans ces régions.

    Faster R-CNN dispose de deux sorties pour chaque objet : une étiquette de classe et une boîte de délimitation.

    Cela fonctionne de la manière suivante : une image d'entrée est injectée dans un réseau de convolution, qui crée une carte de caractéristiques de l'image. Ensuite, un réseau séparé (le réseau de suggestions de régions) prend cette carte de caractéristiques et prédit les régions possibles pour les objets (suggestions de régions). Ces propositions de régions sont envoyées à une couche de mise en commun du ROI, qui les transforme en une taille prédéfinie. Enfin, le vecteur de sortie de la couche de mise en commun est utilisé pour classer les régions proposées et pour affiner les bounding boxes.

    Plus récemment, Mask R-CNN, qui est une extension de Faster R-CNN, a ajouté une troisième sortie qui permet de masquer l'objet. Le résultat est la classification, la bounding box et le masque de l'objet. La prédiction du masque se fait en parallèle avec la prédiction de la classe et du cadre de délimitation [2].

     En ajustant finement un modèle R-CNN de base formé dans le PubLayNet, nous pouvons disposer d'un modèle qui nous permet de détecter les parties des documents qui correspondent au texte.

    L'objectif est de ne sélectionner que les parties pertinentes du rapport, dans notre cas les paragraphes de texte. Les autres parties qui contiennent déjà des résumés, comme les titres ou les tableaux, ne sont pas pertinentes. La première chose dont nous avons besoin est donc un ensemble de données annotées contenant les différents éléments du document. PubLayNet est un jeu de données contenant des annotations de texte, de figures, de titres, de listes et de tableaux sur plus de 360.000 pages de travaux scientifiques [3]. En affinant un modèle R-CNN de masque qui a été entraîné dans PubLayNet, nous obtenons un modèle qui nous permet de reconnaître les parties des documents qui correspondent à du texte. Le modèle que nous avons utilisé est disponible dans la plateforme Detectron2, une plateforme de Facebook AI Research qui permet de tester rapidement des algorithmes de pointe [4]. Dans l'illustration, nous voyons les bounding boxes et la classification représentée par une couleur différente pour chaque classe, ce qui était le résultat sans aucun réglage fin. Pour notre problème, nous ne nous intéressons pas au masque du texte, mais uniquement à la bounding box marquée en bleu.

    Inscrivez-vous gratuitement et testez l'API de segmentation de pages avec vos propres documents. Inscrivez-vous pour accéder à notre documentation sur l'API. Notre outil de labellisation de documents vous permet de créer un dataset et d'affiner le modèle PubLayNet sur vos propres documents.

    Konfuzio API pour segmenter les pages via Faster R-CNN.

    Quel est le meilleur moteur d'OCR ?

    Après avoir trouvé la partie des images qui nous intéresse, l'étape suivante consiste à extraire le texte des images à l'aide de la reconnaissance optique de caractères (OCR). L'OCR peut être réalisée à l'aide d'approches de vision par ordinateur, qui peuvent impliquer la reconnaissance, la segmentation et la reconnaissance de caractères, mais les approches les plus récentes impliquent une combinaison de CNN et de réseaux neuronaux récurrents.

    Voici un exemple de pipeline OCR :

    • Reconnaissance de texte - reconnaît l'emplacement des caractères
    • Prétraitement - le texte est normalisé
    • Extraction de caractéristiques - la sortie est la carte des caractéristiques de l'image
    • Post-traitement - les erreurs peuvent être corrigées, par exemple en comparant avec des suites de mots plus fréquentes.

    Comment fonctionne le résumé de texte ?

    Le regroupement est désormais couramment effectué à l'aide de modèles Transformer. Les transformers sont un type d'architecture de réseau neuronal qui a été introduit en 2017. Ils ont été développés à l'origine pour la traduction automatique, mais sont désormais utilisés pour presque toutes les applications PNL modernes, telles que : Entity Recognition, Natural Language Inference, Question Answering et Summarization. Les transformateurs sont capables de traiter toutes les données entrantes en parallèle, par rapport aux modèles de l'état de l'art, les LSTM, qui traitent les données de manière séquentielle. Cette capacité de mise en parallèle facilite la mise à l'échelle avec une quantité de puissance de calcul et de données en croissance exponentielle.

    Le nouveau concept le plus important introduit dans l'architecture du Transformer est l'utilisation de "Multi-Head Attention". Dans le transformateur, chaque élément de la séquence d'entrée est divisé en trois vecteurs : Q, K et V. L'attention est calculée comme la somme pondérée de ces vecteurs, les poids étant à la fois appris et dépendants du contexte. En d'autres termes, ce sont les données introduites dans le modèle qui décident sur quoi le modèle doit porter son attention. L'attention à plusieurs têtes signifie que nous divisons chaque vecteur en plusieurs "têtes" et que nous calculons l'attention pour chaque tête en parallèle. Nous effectuons donc plusieurs calculs d'attention à la fois, tous en parallèle, avant de fusionner les résultats à la sortie. [5]

    La variante de transformateur la plus utilisée est appelée BERT. BERT utilise uniquement l'encodeur du Transformer original, avec de très petites modifications de l'architecture. La principale nouveauté de BERT est qu'il a été entraîné en tant que "modèle de langage masqué" sur une grande quantité de texte non marqué. Les modèles linguistiques masqués ont pour tâche de remplir les espaces vides d'une phrase donnée, c'est-à-dire qu'ils remplacent dans une phrase certains des mots par un jeton [MASK] et tentent ensuite de prédire quel était le mot réel. Il s'avère que cette tâche apprend beaucoup au modèle sur le langage naturel, à tel point qu'il est désormais courant de prendre un modèle BERT pré-entraîné et de l'adapter ensuite à la tâche souhaitée. C'est généralement un bon point de départ lorsqu'on essaie les réseaux neuronaux pour la PNL, et la plupart des recherches en PNL se concentrent maintenant sur la manière d'améliorer les modèles de transformateurs et leurs variantes, soit en optimisant l'architecture, soit en inventant un nouvel objectif de pré-entraînement.

    PEGASUS est un modèle développé pour les résumés automatiques. Son architecture est similaire à celle du transformateur original avec le décodeur, mais il est pré-entraîné à deux tâches simultanément. La première tâche est la tâche de modélisation linguistique masquée introduite par BERT. La deuxième tâche est la prédiction d'une phrase entière qui a été masquée en entrée. PEGASUS est d'abord pré-entraîné sur un énorme volume de texte, composé de 1,5 milliard d'articles d'actualité, puis finement ajusté sur l'ensemble de données cible. Il a obtenu les meilleures performances sur douze ensembles de données de résumé fréquemment utilisés. [6].

    Sources :

    [1] He, K. et al. (2017). Masque R-CNN. Facebook AI Research (FAIR).

    [2] Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn : Towards real-time object detection with region proposal networks. 

    [3] Zhong, X., Tang, J., & Yepes, A. (2019). PubLayNet : le plus grand ensemble de données jamais créé pour l'analyse de la mise en page des documents. In 2019 International Conference on Document Analysis and Recognition (ICDAR) (pp. 1015-1022). 

    [4] Yuxin Wu, et al. (2019). Detectron2 Github Repository.

    [5] Vaswani, A. et al. (2017). Attention is all you need. 

    [6] Zhang, J. et al (2020). Pegasus : Pré-apprentissage avec des gap-sentences extraites pour une synthèse abstraite. In Conférence internationale sur l'apprentissage automatique (pp. 11328-11339). PMLR.


    "
    "
    Avatar de Maximilian Schneider

    Derniers articles