1. Trang chủ
  2. » Luận Văn - Báo Cáo

Etude et mise en oeuvre de segmentation documentaire par ma chine learning

55 23 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 2,52 MB

Nội dung

UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL ABALO Kokou ETUDE ET MISE EN OEUVRE DE SEGMENTATION DOCUMENTAIRE PAR MACHINE LEARNING MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE HANOÏ - 2020 UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ INSTITUT DE LA FRANCOPHONIE POUR L’INNOVATION ABALO Kokou ETUDE ET MISE EN OEUVRE DE SEGMENTATION DOCUMENTAIRE PAR MACHINE LEARNING Spécialité : Systèmes Intelligents et Multimédia Code : Programme pilote MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE Sous la direction de : Mr Marc DENTY HANOÏ - 2020 Attestation d’honneur J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a été bien précisée Signature de l’étudiant ABALO Kokou Table des matières Remerciements vi Résumé vii Acronymes Présentation du projet 1.1 Structure d’accueil 1.2 Contexte du projet 1.3 Problématique 1.4 Objectifs du stage 1.5 Périmètres du projet État de l’art 2.1 2.2 2.3 Généralités sur l’apprentissage automatique Les réseaux de neurones 2.2.1 Le perceptron multi couches 2.2.2 Réseau de neurones convolution (CNN) 2.2.3 Les réseaux de neurones récurrents Quelques articles connexes pertinents 2.3.1 2.3.2 2.3.3 2.3.4 xi 3.2 Article : Document Flow Segmentation for Business Applications[3] Article : An Approach to the Segmentation of Multi-page Document Flow Using Binary Classification[1] 12 Article : Page Stream Segmentation with Convolutional Neural Nets Combining Textual and Visual Features[6] 14 Bilan récapitulatif des articles les plus pertinents étudiés 15 Solution proposée 3.1 17 Préparation des données 19 3.1.1 Collecte des données 19 3.1.2 Labélisation des données 20 Vectorisation 21 3.2.1 VGG16 21 3.2.2 VGG19 21 3.2.3 Xception 22 i 3.2.4 InceptionV3 22 3.3 Vecteurs de caractéristiques de transition 22 3.4 Prédiction sans logique métier associée 23 3.4.1 MLP 23 3.4.2 LSTM 23 3.4.3 LSTM Bidirectionnel 24 3.5 Prédiction avec logique métier associée 25 3.6 Evaluation des modèles 26 3.7 Segmentation 26 Expérimentation et analyse des résultats 29 4.1 Pré-traitement des données 29 4.2 Première phase de réalisation 30 4.2.1 Vectorisation 30 4.2.2 Vecteurs de caractéristiques de transition 31 4.2.3 Tests suivant les différents modèles d’extraction de caractéristiques 31 4.3 Deuxième phase de réalisation 34 4.3.1 Test sur le corpus global 34 4.3.2 Prise en compte de la logique métier 35 4.4 Outils et environnement de travail 35 4.5 Difficultés du stage 36 ii Table des figures Perceptron[5] Classification multi classes Convolution[2] RNN Organigramme de segmentation des documents, basé sur une classification supervisée (a) formation, (b) tests Illustration du cas d’usage de la solution proposée 18 Illustration de l’architecture fonctionnelle de la solution proposée 19 Jeu de données de test et d’expérimentation 20 VGG16 - Caractéristiques d’entrée et de sortie 21 10 VGG19 - Caractéristiques d’entrée et de sortie 21 11 Xception - Caractéristiques d’entrée et de sortie 22 12 InceptionV3 - Caractéristiques d’entrée et de sortie 22 13 MLP - Architecture 23 14 LSTM - Architecture 24 15 LSTM Bidirectionnel - Architecture 25 16 Architecture prédiction de la classe métier 25 17 Simulation de découpage de flux 26 18 Aspect visuel général du corpus 29 19 Aspect visuel général du corpus apuré 30 20 Fichiers vectorisés 31 21 Extraction de caractéristiques et Prédiction MLP 32 22 Accuracy de Prédiction MLP 32 23 Vgg19 avec Prédiction RNN 32 24 Accuracy - Vgg19 avec Prédiction RNN 32 25 Variation de la taille de fenêtre de lecture 33 26 Performance du modèle vgg19 + LSTM Bidirectionnel 33 27 Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel 34 28 Jeu de données globales 34 29 Performance du modèle vgg19 + LSTM Bidirectionnel - Jeu de données globales 34 30 Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel - Test sur le corpus global iii 35 31 Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel - Avec logique métier 35 32 Architecture VGG16 39 33 Architecture VGG19 39 34 Architecture Xception 40 35 Architecture Inception V3 40 iv Liste des tableaux Représentation des caractéristiques 10 Evaluation de quelques approches de segmentation de flux de documents 15 Tableau récapitulatif des articles les plus pertinents étudiés 16 Labélisation classification binaire 20 Labélisation classification métier 20 MLP network hyperparameters 31 v Remerciements Pour les efforts consentis dans la réalisation de ce mémoire, nous exprimons notre très vive reconnaissance l’endroit de : − L’Université Nationale du Vietnam (VNU), pour nous avoir donné l’occasion de poursuivre nos études de Master l’IFI travers l’octroi d’une bourse d’étude ; − L’Institut Francophone International (IFI) en cotutelle avec l’Université de la Rochelle, et de tous les professeurs, pour leur enseignement et leurs rigueurs ; − Laboratoire Tessi Lab pour l’accueil et le suivi de ce stage ; − Mes encadrants pour les explications, les conseils, les différentes pistes de réflexion et l’appui technique dans mon encadrement vi Résumé Le présent mémoire s’inscrit dans le contexte de la gestion électronique de documents avec les différents concepts et technologies de l’Intelligence Artificielle Avec l’avènement des TICs, la numérisation, le stockage et la gestion de documents papier devient un volet incontournable dans le maintien du système d’information de toutes organisations La structuration du stockage de ces informations requiert en amont des méthodes et techniques, en particulier dans le cas de numérisation par lots de grande quantité de documents Ainsi la séparation automatique du flux de pages numérisées en ensembles continus de pages correspondant aux documents physiques est une étape importante qui, toutefois, implique des problématiques Le travail réalisé porte sur l’étude de différentes méthodes de segmentation de flux de documents numérisés par Machine Learning Pour ce faire, nous avons d’une part, fait usage de réseaux de neurones convolution (CNN) combinés avec du réseau MLP (Multi-Layer Perceptron) et d’autre part, de réseaux de neurones convolution combinés avec le réseau RNN (Recurrent Neural Network) L’objectif étant de tester ces deux approches en afin d’identifier laquelle est la mieux adaptée pour les données image traiter Le noeud du problème résoudre était de déterminer la nature de la transition entre deux pages successives : “continuité du même document” (CD) ou “début d’un nouveau document” (ND) Nous avons dans un premier temps extrait les caractéristiques de chaque document image du flux par vectorisation l’aide de différents réseaux CNN Ensuite, pour chaque cas d’extraction de vecteurs de caractéristiques, nous avons combiné suivant différents modes, et ce sur une fenêtre donnée, ces vecteurs de pages consécutives en un seul vecteur de caractéristiques de transition Ce dernier alors est passé un classificateur binaire MLP ou RNN selon l’approche choisi afin de déterminer le type de transition entre les pages consécutives Des résultats obtenus, nous avons procédé au regroupement des pages correspondant chaque document Enfin nous avons effectué les tests de précision par rapport au découpage du flux en documents en vue d’évaluer la performance de chaque approche Nos évaluations ont en effet révélé que la méthode de segmentation du flux de documents utilisant la combinaison des modèles VGG19 et LSTM Bidirectionnel est la plus performante Afin d’optimiser les résultats obtenus partir de l’approche retenue, nous avons associé cette dernière la logique métier Pour cela nous avons couplé en parallèle au modèle de classification binaire obtenu un modèle permettant de déterminer la catégorie de chaque document Ensuite, les résultats obtenus de part et d’autre sont alors confrontés entre eux en vue de corriger d’éventuelles erreurs relative la classification binaire Pour mener bien notre recherche, nous avons projeté l’approche d’apprentissage non supervisé pour résoudre le même problème de segmentation documentaire vii Les statistiques proposées ce sujet sont les suivantes : − Taux de prédiction de la bonne feuille : précision issue de la prédiction − Taux de bonnes feuilles prédites pour les documents correctement découpés − Taux de documents bien découpés Constitution de documents partir des pages/feuilles prédites : Algorithm 1: Algorithme de découpage du flux de documents pred_Y : Tableau de valeurs prédites (0 ou 1) ; Y_pred_doc : l’ensemble des documents prédits ; i : compteur pour parcourir la boucle ; document : Tableau contenant un document identifié pendant le parcours de pred_Y ; for i = → length(pred_Y ) if i = then document ←− [i]; else if pred_Y[i] = then Y_pred_doc ←− document; document ←− []; document ←− [i]; else document ←− [i]; Y_pred_doc ←− document; Calcul du taux global des nombres de pages des documents bien constitués : Algorithm 2: Taux de bonnes feuilles prédites doc : objet(tableau de) document ; y_test_doc : Tableau contenant le flux de documents doc de test prédire ; good_page ←− : compteur de pages bien prédictes; pred_Y : Tableau de valeurs prédites (0 ou 1) ; Y_pred_doc : l’ensemble des documents prédits ; for doc ∈ y_test_doc if doc ∈ y_pred_doc then good_page ←− +length(doc); good_page/len(pred_y) 27 Calcul du taux de reconstitution de documents : Algorithm 3: Taux de documents découpés doc : objet(tableau de) document ; y_test_doc : Tableau contenant le flux de documents doc de test prédire ; good ←− : compteur de documents bien découpés; pred_Y : Tableau de valeurs prédites (0 ou 1) ; Y_pred_doc : l’ensemble des documents prédits ; for doc ∈ y_test_doc if doc ∈ y_pred_doc then good ←− +1; good/length(y_test_doc) 28 Chapitre IV 4.1 Expérimentation et analyse des résultats Pré-traitement des données Dans les données mises notre disposition, nous remarquons la présence des fichiers “html” et “.tiff” Cependant notre objectif est de travailler uniquement avec les fichiers images Ainsi un apurement des données est nécessaire en vue d’avoir uniquement les fichiers d’extension “tiff” Par un script écrit en python, nous supprimons donc les fichiers “html” La figure 18 est une illustration du corpus brut Figure 18 – Aspect visuel général du corpus Nous supprimons alors les fichiers “html” La figure 19 est une illustration du corpus apuré 29 Figure 19 – Aspect visuel général du corpus apuré 4.2 Première phase de réalisation Durant cette phase de réalisation, nous avons opté pour un seul type de jeu de données : “ Tableau d’Amortissement ” Les extractions de caractéristiques sont effectes par les modèles pré-entrnés vgg16, vgg19, Xception et InceptionV3 dont les couches de prédictions sont supprimées au préalable Chaque document image est ainsi converti en vecteur de caractéristiques 4.2.1 Vectorisation Nous avons procédé séparément la vectorisation des documents images Quel que soit le type de modèle utilisé, on obtient des fichiers vectorisés dont laperỗu se prộsente comme indiquộ sur la figure 20 : 30 Figure 20 – Fichiers vectorisés 4.2.2 Vecteurs de caractéristiques de transition La constitution des vecteurs de caractéristiques de transition représente une étape importante pour l’objectif atteindre dans notre travail Elle est faite par concaténation par paire des fichiers vectorisés sur une fenêtre donnée suivant la séquence de documents constituant le flux découper Dans un premier temps, nous avons opté pour le mode de combinaison de vecteurs de caractéristiques : Pi−2 + Pi−1 + Pi Le vecteur résultant est ensuite passé, selon nos cas de tests, un modèle MLP ou un modèle de type LSTM 4.2.3 Tests suivant les différents modèles d’extraction de caractéristiques Table – MLP network hyperparameters Parameter Value Vector size 300 Batch size Learning rate 0.0001 Maximum epochs 30 dropout 0,5 31 A- Cas de prédiction avec du MLP Figure 21 – Extraction de caractéristiques et Prédiction MLP Figure 22 – Accuracy de Prédiction MLP Des résultats, on en déduit que le modèle VGG19 convient le mieux pour l’extraction des vecteurs de caractéristiques Nous retenons alors ce modèle pour la suite de nos tests d’expérimentation en le combinant cette fois-ci avec les modèles RNN B- Cas de prédiction avec du RNN Figure 23 – Vgg19 avec Prédiction RNN Figure 24 – Accuracy - Vgg19 avec Prédiction RNN Des résultats, on en déduit que la combinaison des modèles VGG19 et LSTM Bidirectionnel est la plus performante 32 Pour la suite, nous allons tester différents vecteurs de caractéristiques de transition avec cette combinaison C- Test suivant différentes formes de vecteurs de transition Figure 25 – Variation de la taille de fenêtre de lecture Nous constatons que la combinaison de vecteur de caractéristiques «Pi−2 + Pi−1 + Pi » produit le meilleur résultat illustré par le graphe suivant avec un nombre d’epoch égale 500 Figure 26 – Performance du modèle vgg19 + LSTM Bidirectionnel D- Segmentation Nous procédons ici aux segmentations du flux en documents avec notre solution retenue jusqu’à cette étape Les résultats sont alors présentés en taux de découpage en documents et en pages dans le tableau ci-après : 33 Figure 27 – Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel Dans les deux cas, nous constatons que les résultats sont proches, ce qui s’explique par le fait que les « Tableaux d’amortissement » sont des documents où le nombre de pages est fixe et connu 4.3 Deuxième phase de réalisation 4.3.1 Test sur le corpus global A ce stade, nous continuons notre test du modèle retenu avec le jeu de données en entier C’est-à-dire sur les neuf (9) corpus prévus (Figure 28) Figure 28 – Jeu de données globales La figure ci-dessous représente les nouveaux résultats du test Nous remarquons une baisse de l’accuracy Figure 29 – Performance du modèle vgg19 + LSTM Bidirectionnel - Jeu de données globales L’écart entre accuracy en phase de train et de validation est environ de l’ordre de 0.2 34 C’est un écart acceptable, un accuracy de l’ordre de 0.79 en phase de validation montre que notre modèle a bien été convergé De même avec les statistiques de découpage en documents (Figure 30), nous remarquons également une baisse des taux Figure 30 – Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel - Test sur le corpus global Ainsi pour l’amélioration des résultats nous continuons nos tests en prenant en compte l’approche métier 4.3.2 Prise en compte de la logique métier Le tableau(Figure 31) montre les nouveaux résultats par les statistiques de découpages Nous constatons cette fois-ci une amélioration des taux Figure 31 – Statistiques de découpage par rapport au modèle vgg19 + LSTM Bidirectionnel - Avec logique métier 4.4 Outils et environnement de travail Il est mis notre disposition Tessi lab deux instances de calcul : (i) Un ordinateur de bureau pour faire des opérations demandant moins de charge mémoire (ii) un serveur GPU pour reduire significativement les temps d’apprentissage Il s’agit respectivement de : − macOS 10.13, 3.2GHz Core i5, RAM 16Go, VRAM 1Go − Ubuntu 16.04, CUDA/cuDNN 10.0, GPU nvidia RTX 2080 TI 11Go Les expérimentations ont été implémentées en Python 3.6, en utilisant une bibliothèque destinée l’apprentissage automatique appelée scikit-learn et un framework (keras) destiné modéliser et entrner des architectures en apprentissage profond 35 4.5 Difficultés du stage Les difficultés sont essentiellement liées, d’une part la recherche de travaux connexes et d’autre part l’évaluation des différentes approches pouvant résoudre notre problème et qui ont pris des temps d’apprentissage automatique assez longs Concernant les articles, il y a en très peu qui traitent du sujet, et ceux qui existent relatent des travaux de segmentation de documents comportant uniquement des textes Concernant la réalisation, les étapes exposées dans la partie conception ont résulté de différents tests et méthodologies − Premièrement nous avons commencé les expérimentations sur le jeu de données global avec les combinaisons de modèles vgg16 + MLP Les résultats obtenus étant faibles, nous avons joué sur les hyperparamètres en vue de les améliorer − Toujours avec le modèle vgg16+MLP et les hyperparamètres retenus, nous avons effectué des tests séparément sur chaque type de jeu de données en vue d’identifier les données incohérentes et de procéder d’éventuels nettoyages A cet effet, un test de découpage de flux est effectué pour identifier les fichiers rejetés Ces fichiers rejetés sont réinjectés pour l’entrnement, mais n’ont pas apporté de résultats satisfaisants et également cette approche prendrait plus de temps poursuivre jusqu’au bout compte de la durée du stage Ainsi nous avons repris avec le jeu de données « Amortissement » tout en utilisant d’autres modèles d’extraction combinés avec du MLP Cependant, c’est partir de cette étape que nous sommes parvenus sur la piste de notre solution retenue Mais également, pour les tests avec le RNN, nous avons dû effectuer différentes variations de valeur par rapport aux hyperparamètres 36 CONCLUSION ET PERSPECTIVES Dans ce travail, nous nous sommes intéressés la segmentation de flux documentaire, partir de file de documents issus de scanners industriels Pour traiter cette thématique, nous avons proposé plusieurs modèles qui s’appuient sur le contexte de notre stage afin de répondre la problématique de segmentation de flux de documents Le travail réalisé met en évidence l’usage de quelques techniques de deeplearning utilisées travers des travaux connexes notre sujet La première technique consiste utiliser quatre (4) types de modèles CNN fin d’extraire les caractéristiques grâce l’opération de convolution sur nos images constituant la file de documents en entrée de notre système Le résultat issu de cette extraction est utilisé pour créer des vecteurs de caractéristique de transition sur une fenêtre coulissante donnée Chaque vecteur obtenu est ensuite passé, selon le cas d’études, une perceptron multicouche pour la classification binaire des pages en ND ou CD La deuxième technique s’apparente la première sauf que le modèle perceptron multicouche est remplacé par un modèle RNN Que ce soit l’une ou l’autre technique, l’étape suivante consistait évaluer la performance de découpage du flux en documents par un test de prédiction Dans un premier temps, les tests ont été effectués sur un seul type de corpus, c’est un corpus homogène Et dans un second temps, ils sont effectués sur l’ensemble de corpus, donc un corpus hétérogène Ensuite nous avons associé au modèle le plus performant, un modèle de classification pour déterminer la catégorie de chaque page numérisée en vue d’optimiser les résultats de découpages Les perspectives possibles du projet seraient d’essayer d’autres approches de Machine Learning, notamment l’analyse non supervisée 37 ANNEXES 38 Figure 32 – Architecture VGG16 Figure 33 – Architecture VGG19 39 Figure 34 – Architecture Xception Figure 35 – Architecture Inception V3 40 Bibliographie [1] Onur Agin, Cagdas Ulas, Mehmet Ahat, and Can Bekar An approach to the segmentation of multi-page document flow using binary classification In Sixth International Conference on Graphic and Image Processing (ICGIP 2014), volume 9443, page 944311 International Society for Optics and Photonics, 2015 [2] Charles Crouspeyre Comment les réseaux de neurones convolution fonctionnent https ://medium.com/@CharlesCrouspeyre/comment-les-r%C3%A9seauxde-neurones-%C3%A0-convolution-fonctionnent-b288519dbcf8, consultée le 04 Octobre 2019 [3] Hani Daher and Abdel Belaïd Document flow segmentation for business applications In Document Recognition and Retrieval XXI, volume 9021, page 90210G International Society for Optics and Photonics, 2014 [4] David G Lowe Distinctive image features from scale-invariant keypoints International journal of computer vision, 60(2) :91–110, 2004 [5] OPEN CLASS ROOMS Entrnez un réseau de neurones simple https ://openclassrooms.com/fr/courses/4470406-utilisez-des-modeles-supervisesnonlineaires/4730716-entrainez-un-reseau-de-neurones simple, consultée le 04 Octobre 2019 [6] Gregor Wiedemann and Gerhard Heyer Page stream segmentation with convolutional neural nets combining textual and visual features arXiv preprint arXiv :1710.03006, 2017 [7] John Winn, Antonio Criminisi, and Thomas Minka Object categorization by learned universal visual dictionary In Tenth IEEE International Conference on Computer Vision (ICCV’05) Volume 1, volume 2, pages 1800–1807 IEEE, 2005 41 ... justement dans ce contexte que s’inscrit notre sujet de stage initié par la société Tessi Lab et intitulé : “ Etude et mise en oeuvre de segmentation documentaire par Machine Learning? ?? Il s’agit de. .. DU VIETNAM, HANOÏ INSTITUT DE LA FRANCOPHONIE POUR L’INNOVATION ABALO Kokou ETUDE ET MISE EN OEUVRE DE SEGMENTATION DOCUMENTAIRE PAR MACHINE LEARNING Spécialité : Systèmes Intelligents et Multimédia... type de jeu de données en vue d’identifier les données incohérentes et de procéder d’éventuels nettoyages A cet effet, un test de découpage de flux est effectué pour identifier les fichiers rejetés

Ngày đăng: 06/09/2020, 18:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN