Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NEURAL NETWORK AND METHOD FOR IMAGE PROCESSING, EXTRACTION AND AUTOMATIC INFORMATION RECOMBINATION
Document Type and Number:
WIPO Patent Application WO/2022/078722
Kind Code:
A1
Abstract:
The invention relates to a neural network (100) for semantic segmentation of a document with complex text. The network comprises a first multilayer neural encoding chain (10) of an initial image file (1) of the document to be processed, a second multilayer neural encoding chain (20) of a mask image file (4) of the document to be processed, a multilayer neural decoding chain (30) connected to the outputs (12, 22) of the first and second encoding chains (10, 20), a first bridge (40) of parallel residual connections between the layers of the first encoding chain (10) and the layers of the decoding chain (30), a second bridge (50) of parallel residual connections between the layers of the second encoding chain (20) and the layers of the decoding chain (30), the residual connections generating files of the same size that are connected after a layer of the neural decoding chain (30) generating a file of the same size.

Inventors:
CHEKROUN RAPHAËL (FR)
DE LA CLERGERIE ERIC (FR)
Application Number:
PCT/EP2021/075910
Publication Date:
April 21, 2022
Filing Date:
September 21, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HYPERLEX (FR)
CHEKROUN RAPHAEL (FR)
DE LA CLERGERIE ERIC (FR)
International Classes:
G06K9/00; G06K9/62; G06N3/04; G06N3/08
Other References:
MARTÍNEK JIRÍ ET AL: "Building an efficient OCR system for historical documents with little training data", NEURAL COMPUTING AND APPLICATIONS, vol. 32, no. 23, 9 May 2020 (2020-05-09), pages 17209 - 17227, XP037405362, ISSN: 0941-0643, DOI: 10.1007/S00521-020-04910-X
SCHREIBER SEBASTIAN ET AL: "DeepDeSRT: Deep Learning for Detection and Structure Recognition of Tables in Document Images", 2017 14TH IAPR INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION (ICDAR), IEEE, vol. 1, 9 November 2017 (2017-11-09), pages 1162 - 1167, XP033307919, DOI: 10.1109/ICDAR.2017.192
STEFAN KLINKANDREAS DENGELTHOMAS KIENINGER: "Document Structure Analysis Based on Layout and TextualFeafures", COMPUTER SCIENCE, 2000
GEOFFREY E. HINTONNITISH SRIVASTAVAALEX KRIZHEVSKYILYA SUTSKEVERRUSLAN R. SALAKHUTDINOV: "Improving neural networks by preventing co-adaptation of feature detectors", COMPUTER SCIENCE, 3 July 2012 (2012-07-03)
Attorney, Agent or Firm:
CABINET BENECH (FR)
Download PDF:
Claims:
Revendications

[Revendication 1 ] Réseau neuronal multimodal (100) mis en oeuvre par un système informatique, de segmentation sémantique d'un document de texte complexe à traiter, caractérisé en ce qu'il comprend :

• une première chaîne neuronale multicouche d'encodage (10) d'un fichier image initial (1 ) du document a traiter de dimension initiale déterminée, la première chaîne neuronale d'encodage ayant une entrée (1 1 ) recevant le fichier image numérique initial (1 ) du document a traiter, une pluralité de couches de calcul (E(j)) générant des fichiers de dimensions déterminées, et une sortie (12) ,

• une deuxième chaîne neuronale multicouche d'encodage (20) d'un fichier image masque (4) du document à traiter de dimension initiale déterminée généré à l'issue d'une opération de segmentation effectuée sur un fichier texte obtenu par reconnaissance de caractère du fichier image du document à traiter, la deuxième chaîne neuronale d'encodage (20) ayant une entrée (21 ) recevant le fichier image masque (4), une pluralité de couches de calcul (E'(j)) générant des fichiers de dimensions déterminées, et une sortie (22) ;

• une chaîne neuronale multicouche de décodage (30) connectée à la sortie (12) de la première chaîne neuronale multicouche d'encodage et à la sortie (22) de la deuxième chaîne neuronale multicouche d'encodage, et comprenant une pluralité de couches de calcul (D(j)) générant des fichiers de dimensions déterminées ;

• un premier pont (40) de connexions résiduelles (CR40(k)) parallèles entre les couches (E (j)) de la première chaîne neuronale multicouche d'encodage (10) et les couches (D(j)) de la chaîne neuronale multicouche de décodage (30),

• un deuxième pont (50) de connexions résiduelles (CR50(k)) parallèles entre les couches (E'(j)) de la deuxième chaîne neuronale multicouche d'encodage (20) et les couches (D(j)) de la chaîne neuronale multicouche de décodage

33 (30), les connexions résiduelles (CR40(k), CR50(k)) parallèles des premier et deuxième ponts (40, 50) de connexions résiduelles générant des fichiers de même dimension étant reliées après une couche (D(j)) de la chaîne neuronale multicouche de décodage (30) générant un fichier de même dimension.

[Revendication 2] Réseau neuronal selon la revendication 1 , dans lequel :

• la première chaîne neuronale multicouche d'encodage (10) comprend au moins N blocs de calcul d'encodage (E (j)) successifs liés entre eux par une connexion principale (1 3), N étant un entier compris entre 2 et 8, les blocs de calcul d'encodage de rang 1 à N-l comprenant en outre chacun une connexion résiduelle (CR40(k)) de sortie de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : lorsque le bloc de calcul d'encodage de rang 1 (E(l )) reçoit un fichier de dimension initiale déterminée (R0), il génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée (R0) ; et que lorsqu'un bloc de calcul d'encodage de rang i (E (i)), i étant un entier compris entre 2 et N, reçoit par la connexion principale (1 3) avec le bloc de calcul d'encodage de rang précédent i-1 (E(i-1 )), un fichier de dimension de rang précédent i-1 , il génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 , ;

• la deuxième chaîne neuronale multicouche d'encodage (20), parallèle à la première chaîne neuronale multicouche d'encodage (10), comprend un même nombre N de blocs de calcul d'encodage (E'(j)) successifs que la première chaîne neuronale multicouche d'encodage comprend de blocs de calcul d'encodage (E (j)), les N blocs de calcul d'encodage (E'(j)) successifs de la deuxième chaîne neuronale multicouche d'encodage (20) étant liés entre eux par une connexion principale (23), les blocs de calcul d'encodage de rang 1 à N-l comprenant en outre chacun une connexion résiduelle (CR50(k)) de sortie

34 de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : le bloc de calcul d'encodage de rang 1 (E'(l )) reçoit un fichier de dimension initiale déterminée (RO) et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée (RO) ; et qu'un bloc de calcul d'encodage de rang i (E'(i)), i étant un entier compris entre 2 et N, reçoit par la connexion principale (23) avec le bloc de calcul d'encodage de rang précédent i-1 (E'(i-l )) un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 ; et dans lequel

• la chaîne neuronale multicouche de décodage (30) comprend un même nombre N de blocs de calcul de décodage (D(i)) successifs que la première chaîne neuronale multicouche d'encodage comprend de blocs de calcul d'encodage, les N blocs de calcul de décodage étant liés entre eux par une connexion principale (33), chaque bloc de calcul de décodage (D(i)) comprenant un sous-bloc de fusion (df(i)) exécutant au moins une fusion de fichiers de dimensions identiques, suivi d'un sous-bloc de déconvolution (dd(i)) exécutant au moins une déconvolution des fichiers fusionnés par le sous-bloc de fusion (df (i)), les blocs de calcul de décodage (D(i)) étant reliés aux blocs de calcul de codage (E(i), E'(i)) de la première et de la deuxième chaîne neuronale multicouche d'encodage (10, 20) de telle sorte que : le sous-bloc de fusion (df( 1 )) du bloc de calcul de décodage de rang 1 reçoit les fichiers générés par les blocs de calcul d'encodage (E(N)- E'(N)) de rang N de la première et de la deuxième chaîne neuronale multicouche d'encodage (10-20) ; le sous-bloc de fusion du bloc de calcul de décodage (df(i)) de rang i, pour i compris entre 2 et N, reçoit les fichiers générés par le sous-bloc de déconvolution (dd (i-1 )) du bloc de calcul de décodage (D(i-1 ) de rang i-1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie du bloc de calcul d'encodage (E (N-(i-l )), E'(N-(i-l ))) de rang N-(i-l ) de la première et de la deuxième chaîne neuronale multicouche d'encodage (10-20).

[Revendication 3] Réseau neuronal selon la revendication 2, dans lequel la première et de la deuxième chaîne neuronale multicouche d'encodage (10-20) comprennent chacune un premier (E( 1 ), E'(l )) et un deuxième (E (2), E'(2)) blocs de calcul d'encodage effectuant chacun deux convolutions et une opération de sous-échantillonnage, et un troisième (E(3), E'(3)) et un quatrième (E (4), E'(4)) bloc de calcul d'encodage effectuant chacun trois convolutions et une opération de sous-échantillonnage.

[Revendication 4] Réseau neuronal selon la revendication 2, dans lequel la chaîne neuronale multicouche de décodage comprend un premier (D(l ), un deuxième (D(2)) et un troisième (D(3)) blocs de calcul de décodage munis chacun un sous-bloc de déconvolution (dd(l ), dd(2), dd(3)) effectuant une déconvolution, ainsi qu'un quatrième (D(4)) bloc de calcul de décodage muni d'un sous-bloc de déconvolution (dd (4)) effectuant une déconvolution et une opération d'argument maximum.

[Revendication 5] Réseau neuronal selon la revendication 2 ou 3, dans lequel :

• la première chaîne neuronale multicouche d'encodage (10) comprend, en sortie du bloc de calcul d'encodage (E (N)) de rang N, une connexion résiduelle (CR40(N)) de sortie de données résiduelles et une connexion principale (1 3) avec un bloc final de calcul d'encodage global (S), de rang N+ l , comprenant un premier et un deuxième sous-blocs (SI , 82) effectuant chacun trois convolutions et une opération de sous-échantillonnage, un troisième (S3) et un quatrième (S4) sous-bloc de calcul d'encodage effectuant chacun une convolution, suivi d'une opération de rectification, suivi d'une opération d'abandon, un cinquième sous-bloc (S5) effectuant une convolution, et un sixième sous-bloc (S6) effectuant une déconvolution telle qu'un fichier sortant du sixième bloc (S6) présente une dimension identique à la dimension d'un fichier sortant du bloc de calcul d'encodage (E (N)) de rang N, et dans lequel

• le sous-bloc de fusion (df(l )) du bloc de calcul de décodage (D(l )) de rang 1 de la chaîne neuronale multicouche de décodage (30) reçoit les fichiers générés par le bloc de calcul d'encodage global (S) de rang N+ l de la première chaîne neuronale multicouche d'encodage (10), des données résiduelles provenant de la connexion résiduelle (CR40(N)) de sortie du bloc de calcul d'encodage (E (N)) de rang N de la première chaîne neuronale multicouche d'encodage (10), et les fichiers générés par le bloc de calcul d'encodage (E'(N)) de rang N de la deuxième chaîne neuronale multicouche d'encodage (20).

[Revendication 6] Réseau neuronal selon l'une quelconque des revendications 1 à 5, dans lequel la première et la deuxième chaîne neuronales multicouches d'encodage (10, 20) sont d'architecture de réseau neuronal convolutif choisie parmi les réseaux VGG16 et les réseaux RESNet.

[Revendication 7] Procédé de segmentation sémantique d'un document de texte complexe à traiter, caractérisé en ce qu'il comprend les étapes suivantes : a) obtenir un fichier image numérique initial (1 ) du document de texte complexe à traiter, le fichier image présentant une dimension initiale déterminée (R0) ; b) réaliser une reconnaissance optique de caractères du fichier image numérique pour obtenir un fichier texte numérique (2) ; c) fournir une liste prédéfinie de types d'objet et effectuer une opération de segmentation pour assigner à chaque mot du fichier texte numérique un type d'objet choisi dans la liste prédéfinie de types d'objet, d) générer un fichier image masque (4), codé en valeurs en remplaçant chaque mot par une zone de valeur correspondant au type d'objet assigné audit mot, le fichier image masque étant de même dimension initiale déterminée (R0) que le fichier image numérique (1 ) ; e) fournir une première chaîne neuronale multicouche d'encodage (10)

37 comprenant au moins N blocs de calcul d'encodage (E (N)) successifs liés entre eux par une connexion principale (1 3), N étant un entier compris entre 2 et 8, les blocs de calcul d'encodage de rang 1 à N-l comprenant chacun une connexion résiduelle (CR40(k)) de sortie de données résiduelles, chacun des N blocs de calcul d'encodage (E (N)) exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : le bloc de calcul d'encodage (E( 1 )) de rang 1 reçoit un fichier de dimension initiale déterminée (RO) et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée (RO) ; et qu'un bloc de calcul d'encodage (E (i)) de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale (1 3) avec le bloc de calcul d'encodage (E (i-1 )) de rang précédent i-1 un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 , ; f) fournir une deuxième chaîne neuronale multicouche d'encodage (20), parallèle à la première chaîne neuronale multicouche d'encodage (10) et comprenant un même nombre N de blocs de calcul d'encodage (E'(i)) successifs que la première chaîne neuronale multicouche d'encodage (10), les N blocs de calcul d'encodage (E'(i)) successifs de la deuxième chaîne neuronale multicouche d'encodage (20) étant liés entre eux par une connexion principale (23), les blocs de calcul d'encodage de rang 1 à N-l comprenant chacun une connexion résiduelle de sortie de données résiduelles (CR50(k)) , chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : le bloc de calcul d'encodage (E'(l )) de rang 1 reçoit un fichier de dimension initiale déterminée (R0) et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée (R0) ; et qu'un bloc de calcul d'encodage (E'(i)) de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale avec le bloc de calcul

38 d'encodage de rang précédent i-1 un fichier de dimension de rang précédent i- 1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 ; g) fournir une chaîne neuronale multicouche de décodage (30) comprenant un même nombre N de blocs de calcul de décodage (D(i)) successifs que la première chaîne neuronale multicouche d'encodage (10) comprend de blocs de calcul d'encodage, chaque bloc de calcul de décodage étant liés entre eux par une connexion principale (33), chaque bloc de calcul de décodage (D(i)) comprenant un sous-bloc de fusion (df(i)) exécutant au moins une fusion de fichiers de dimensions identiques, suivi d'un sous-bloc de déconvolution (dd(i)) exécutant au moins une déconvolution des fichiers fusionnés par le sous-bloc de fusion, les blocs de calcul de décodage (D(i)) étant reliés aux blocs de calcul de codage (E(i), E'(i)) de la première et de la deuxième chaîne neuronale multicouche d'encodage (10, 20) de telle sorte que : le sous-bloc de fusion (df( 1 )) du bloc de calcul de décodage (D(l )) de rang 1 reçoit les fichiers générés par les blocs de calcul d'encodage (E(N), E'(N)) de rang N de la première et de la deuxième chaîne neuronale multicouche d'encodage ; le sous-bloc de fusion (df(i)) du bloc de calcul de décodage de rang i, pour i compris entre 2 et N, reçoit les fichiers générés par le sous-bloc de déconvolution (D(i-1 )) du bloc de calcul de décodage de rang i-1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie (CR40(N-(i-l )), CR50(N-i-l ))) du bloc de calcul d'encodage de rang N-(i-l ) de la première et de la deuxième chaîne neuronale multicouche d'encodage h) encoder le fichier image numérique (1 ) dans la première chaîne neuronale multicouche d'encodage (10) ; i) encoder le fichier image masque (4) dans la deuxième chaîne neuronale multicouche d'encodage (20) ; j) le sous bloc de déconvolution (dd (N)) de rang N générant un fichier image

39 masque de segmentation sémantique (5) constitué de pixels codés en valeurs, chaque valeur correspondant à un type d'objet de la liste prédéfinie, le fichier image masque de segmentation sémantique étant de même dimension (RO) que le fichier image numérique initial (1 ).

[Revendication 8] Procédé selon la revendication 7, comprenant, en outre, une étape I) de superposition du fichier texte numérique (2) et du fichier image masque de segmentation sémantique (5), et une étape m) de classement consistant à assigner à chaque mot du fichier texte numérique (20) le type d'objet du rectangle du fichier image masque de segmentation sémantique (5) superposé audit mot.

[Revendication 9] Procédé selon la revendication 7, comprenant, en outre, une étape k) de post-traitement du fichier image masque de segmentation sémantique (5), cette étape comprenant un calcul de coordonnées de rectangle recouvrant des pixels adjacents de même valeur, et une génération d'un fichier image masque de segmentation sémantique post-traité (7), une étape I') de superposition du fichier texte numérique (2) et du fichier image masque de segmentation sémantique post-traité (7), et une étape m') de classement consistant à assigner à chaque mot du fichier texte numérique (2) le type d'objet du rectangle du fichier image masque de segmentation sémantique post-traité (7) superposé audit mot.

[Revendication 10] Dispositif électronique comprenant un moyen de capture d'une image d'un document de texte complexe à traiter et une unité centrale programmée pour comprendre un réseau neuronal selon l'une quelconque des revendications 1 à 6 et mettre en oeuvre le procédé selon l'une quelconque des revendications 7 à 9.

[Revendication 1 1 ] Dispositif selon la revendication 10, caractérisé en ce qu'il est choisi parmi un scanner, une imprimante, un photocopieur et un smartphone.

40

Description:
RESEAU NEURONAL ET PROCEDE DE TRAITEMENT D'IMAGE, D'EXTRACTION ET DE RECOMBINAISON AUTOMATIQUE D'INFORMATIONS

[0001 ] L'invention se rapporte à un réseau neuronal et à un procédé de traitement d'image, d'extraction et de recombinaison d'informations, en particulier pour la segmentation sémantique d'un document de texte complexe. L'invention concerne également des dispositifs programmables pour mettre en oeuvre ledit procédé.

[0002] Les entreprises reçoivent de plus en plus de documents de textes par voie postale ou par voie électronique et ont besoin de pouvoir les traiter le plus rapidement possible.

[0003] Ce traitement peut consister à permettre un archivage automatique en fonction du type de document et/ou une indexation en fonction du contenu des documents, à retransmettre automatiquement ces documents à différents destinataires en fonction du type et/ou du contenu des documents, ou à fournir automatiquement à un utilisateur un corpus de documents archivés et sélectionnés en fonction d'une requête de sélection faite par l'utilisateur sur la base des différents types d'objets indexés.

[0004] Le traitement nécessite donc une analyse du contenu du document : les termes employés et leur contexte, les idées développées, une structure logique, puis une indexation des différents éléments du document en fonction de types d'objets que l'on recherche.

[0005] Cette analyse est classiquement faite par des êtres humains qui peuvent ensuite, archiver et classer les documents en fonction du contenu sémantique. Par exemple, après analyse du document, il est possible de renseigner manuellement dans un logiciel de gestion de documents (par exemple de contrats) : le logo et nom de l'entreprise émettrice, le destinataire et son adresse, le titre général du document, les titres des différents paragraphes, les paragraphes, les dates liées à tel ou tel paragraphe, la date de signature et si le contrat a bien été signé en identifiant la présence de signatures.

[0006] Compte tenu du nombre de documents à traiter et de leur complexité, il est nécessaire de proposer un procédé et un dispositif de traitement automatique de ces documents pour permettre leur analyse, leur archivage, leur indexage et leur consultation.

[0007] Par document de texte, on entend des documents constitués essentiellement, mais non nécessairement exclusivement, de texte. En d'autres termes, les documents texte comprennent majoritairement du texte, mais ils peuvent également comprendre quelques images (logo, signature), des tableaux, des dates, etc.

[0008] Par document de texte complexe, on entend des documents texte structurés, c'est-à-dire comprenant des parties et/ou des formes distinctes. Ce texte peut être sous forme de paragraphes, agencés en une ou plusieurs colonnes, et comprendre également des titres, des dates, des tableaux de texte ou de chiffres, des images telles que des logos comprenant ou non du texte, etc.

[0009] Par exemple, il peut s'agir de contrats juridiques, de documents administratifs, des conditions générales de ventes, des rapports d'intervention, des décisions de justice, des documents de brevet, des articles scientifiques, des thèses.

[0010] Les procédés classiques permettant un traitement automatique des documents pour permettre leur analyse, leur archivage et leur consultation consistent à scanner le document pour obtenir une image du document, puis à réaliser une reconnaissance optique de caractère ou OCR (pour optical character recognition en anglais) à l'aide d'un logiciel de traitement d'image spécialisé, et permettant d'obtenir un fichier texte numérique.

[001 1 ] Une fois ce fichier obtenu, il est possible d'analyser le texte de ce fichier pour en extraire de l'information à l'aide de logiciels d'analyse sémantique par exemple. Le résultat de cette analyse permet, par exemple, d'indexer le document en fonction de certains mots. En d'autres termes, une fois le document reçu, scanné, transformé en texte numérique et indexé, il est possible, dans le logiciel de gestion de données, de rechercher et d'obtenir tous les documents comprenant tel ou tel mot ou répondant à telle ou telle requête.

[0012] Cependant, pour que l'analyse sémantique et l'indexation soient efficaces, il est essentiel, en premier lieu, que l'étape d'OCR soit la plus efficace possible, c'est-à-dire que les mots aient tous été reconnus sans erreur.

[001 3] La tendance actuelle consiste donc à chercher toutes les solutions permettant d'améliorer la qualité du logiciel d'OCR.

[0014] L'idée qui sous-tend l'invention est radicalement différente.

[0015] Ainsi, l'invention propose de réaliser une OCR avec un logiciel classique, puis de combiner une analyse du texte obtenu par l'OCR avec une analyse topologique de l'image du texte par un réseau de neurones organisé sous la forme d'un bi-encodeur effectuant en parallèle deux cascades, c'est-à-dire de successions, de convolutions différentes, suivit d'un décodeur effectuant une cascade de déconvolutions.

[0016] Contre toute attente, les résultats obtenus en sortie sont beaucoup plus précis que ceux qui sont obtenus par les meilleurs logiciels d'analyse sémantique et permettent, en outre, une indexation ultérieure beaucoup plus pertinente, car comprenant des informations de géolocalisation des termes dans le document, le tout dans un temps de traitement très court. En d'autres termes, alors même que le logiciel d'OCR lui-même n'est pas modifié, les résultats obtenus par le procédé selon l'invention sont plus précis, car il enrichit le document en identifiant et typant des zones du document, telles qu'une zone de signature, ou un tableau, des paragraphes, des titres, etc. Ainsi, les résultats obtenus par le procédé selon l'invention contiennent plus d'informations (informations contextuelles et de géolocalisation) qui permettent une meilleure indexation du contenu du document ainsi que des traitements spécifiques pour les zones ainsi identifiées. Plus précisément, ils permettent une analyse sémantique et une indexation beaucoup plus efficace et fine, ce qui permet de faire des filtres de recherche qui étaient impossibles auparavant, comme par exemple, extraire du texte la date de signature ou la date de renouvellement d'un contrat.

[0017] L'invention a plus précisément pour objet un réseau neuronal multimodal de segmentation sémantique d'un document de texte complexe à traiter, le réseau neuronal comprenant :

• une première chaîne neuronale multicouche d'encodage d'un fichier image initial du document à traiter de dimension initiale déterminée, la première chaîne neuronale d'encodage ayant une entrée recevant le fichier image numérique initial du document à traiter, une pluralité de couches de calcul générant des fichiers de dimensions déterminées, et une sortie ,

• une deuxième chaîne neuronale multicouche d'encodage d'un fichier image masque du document à traiter de dimension initiale déterminée généré à l'issue d'une opération de segmentation effectuée sur un fichier texte obtenu par reconnaissance de caractère du fichier image du document à traiter, la deuxième chaîne neuronale d'encodage ayant une entrée recevant le fichier image masque, une pluralité de couches de calcul générant des fichiers de dimensions déterminées, et une sortie

• une chaîne neuronale multicouche de décodage connectée à la sortie de la première chaîne neuronale multicouche d'encodage et à la sortie de la deuxième chaîne neuronale multicouche d'encodage, et comprenant une pluralité de couches de calcul générant des fichiers de dimensions déterminées ;

• un premier pont de connexions résiduelles parallèles entre les couches de la première chaîne neuronale multicouche d'encodage et les couches de la chaîne neuronale multicouche de décodage,

• un deuxième pont de connexions résiduelles parallèles entre les couches de la deuxième chaîne neuronale multicouche d'encodage et les couches de la chaîne neuronale multicouche de décodage, les connexions résiduelles parallèles des premier et deuxième ponts de connexions résiduelles générant des fichiers de même dimension étant reliées après une couche de la chaîne neuronale multicouche de décodage générant un fichier de même dimension.

[001 8] Selon des formes de réalisation particulières qui peuvent être combinées entre elles :

• dans le réseau neuronal selon l'invention : ; la première chaîne neuronale multicouche d'encodage peut comprendre au moins N blocs de calcul d'encodage successifs liés entre eux par une connexion principale, N étant un entier compris entre 2 et 8, les blocs de calcul d'encodage de rang 1 à N-l comprenant en outre chacun une connexion résiduelle de sortie de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que :

* lorsque le bloc de calcul d'encodage de rang 1 reçoit un fichier de dimension initiale déterminée, il génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée ; et que

* lorsqu'un bloc de calcul d'encodage de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale avec le bloc de calcul d'encodage de rang précédent i-1 , un fichier de dimension de rang précédent i-1 , il génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 , ; la deuxième chaîne neuronale multicouche d'encodage, parallèle à la première chaîne neuronale multicouche d'encodage, peut comprendre un même nombre N de blocs de calcul d'encodage successifs que la première chaîne neuronale multicouche d'encodage comprend de blocs de calcul d'encodage, les N blocs de calcul d'encodage successifs de la deuxième chaîne neuronale multicouche d'encodage étant liés entre eux par une connexion principale, les blocs de calcul d'encodage de rang 1 à N-l comprenant en outre chacun une connexion résiduelle de sortie de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que :

* le bloc de calcul d'encodage de rang 1 reçoit un fichier de dimension initiale déterminée et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée ; et

* qu'un bloc de calcul d'encodage de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale avec le bloc de calcul d'encodage de rang précédent i-1 un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 ; et dans lequel la chaîne neuronale multicouche de décodage peut comprendre un même nombre N de blocs de calcul de décodage successifs que la première chaîne neuronale multicouche d'encodage comprend de blocs de calcul d'encodage, les N blocs de calcul de décodage étant liés entre eux par une connexion principale, chaque bloc de calcul de décodage comprenant un sous- bloc de fusion exécutant au moins une fusion de fichiers de dimensions identiques, suivi d'un sous-bloc de déconvolution exécutant au moins une déconvolution des fichiers fusionnés par le sous-bloc de fusion, les blocs de calcul de décodage étant reliés aux blocs de calcul de codage de la première et de la deuxième chaîne neuronale multicouche d'encodage de telle sorte que :

* le sous-bloc de fusion du bloc de calcul de décodage de rang 1 reçoit les fichiers générés par les blocs de calcul d'encodage de rang N de la première et de la deuxième chaîne neuronale multicouche d'encodage ;

* le sous-bloc de fusion du bloc de calcul de décodage de rang i, pour i compris entre 2 et N, reçoit les fichiers générés par le sous-bloc de déconvolution du bloc de calcul de décodage de rang i-1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie du bloc de calcul d'encodage de rang N-(i-l ) de la première et de la deuxième chaîne neuronale multicouche d'encodage.

• la première et de la deuxième chaîne neuronale multicouche d'encodage peuvent comprendre chacune un premier et un deuxième blocs de calcul d'encodage effectuant chacun deux convolutions et une opération de sous- échantillonnage, et un troisième et un quatrième bloc de calcul d'encodage effectuant chacun trois convolutions et une opération de sous-échantillonnage ;

• la chaîne neuronale multicouche de décodage peut comprendre un premier, un deuxième et un troisième blocs de calcul de décodage munis chacun un sous-bloc de déconvolution effectuant une déconvolution, ainsi qu'un quatrième bloc de calcul de décodage muni d'un sous-bloc de déconvolution effectuant une déconvolution et une opération d'argument maximum ;

• dans le réseau neuronal selon l'invention : la première chaîne neuronale multicouche d'encodage peut comprendre, en sortie du bloc de calcul d'encodage de rang N, une connexion résiduelle de sortie de données résiduelles et une connexion principale avec un bloc final de calcul d'encodage global, de rang N+ l , comprenant un premier et un deuxième sous-blocs effectuant chacun trois convolutions et une opération de sous-échantillonnage, un troisième et un quatrième sous-bloc de calcul d'encodage effectuant chacun une convolution, suivi d'une opération de rectification, suivi d'une opération d'abandon, un cinquième sous-bloc effectuant une convolution, et un sixième sous-bloc effectuant une déconvolution telle qu'un fichier sortant du sixième bloc présente une dimension identique à la dimension d'un fichier sortant du bloc de calcul d'encodage de rang N, et dans lequel le sous-bloc de fusion du bloc de calcul de décodage de rang 1 de la chaîne neuronale multicouche de décodage reçoit les fichiers générés par le bloc de calcul d'encodage global de rang N+ l de la première chaîne neuronale multicouche d'encodage, des données résiduelles provenant de la connexion résiduelle de sortie du bloc de calcul d'encodage de rang N de la première chaîne neuronale multicouche d'encodage, et les fichiers générés par le bloc de calcul d'encodage de rang N de la deuxième chaîne neuronale multicouche d'encodage ; et/ou

• la première et la deuxième chaîne neuronales multicouche d'encodage peuvent être d'architecture de réseau neuronal convolutif choisies parmi les réseaux

VGG1 6 et les réseaux RESNet.

[0019] L'invention a également pour objet un procédé de segmentation sémantique d'un document de texte complexe à traiter, le procédé comprenant les étapes suivantes : a) obtenir un fichier image numérique initial du document de texte complexe à traiter, le fichier image présentant une dimension initiale déterminée ; b) réaliser une reconnaissance optique de caractères du fichier image numérique pour obtenir un fichier texte numérique c) fournir une liste prédéfinie de types d'objet et effectuer une opération de segmentation pour assigner à chaque mot du fichier texte numérique un type d'objet choisi dans la liste prédéfinie de types d'objet, d) générer un fichier image masque, codé en valeurs en remplaçant chaque mot par une zone de valeur correspondant au type d'objet assigné audit mot, le fichier image masque étant de même dimension initiale déterminée que le fichier image numérique ; e) fournir une première chaîne neuronale multicouche d'encodage comprenant au moins N blocs de calcul d'encodage successifs liés entre eux par une connexion principale, N étant un entier compris entre 2 et 8, les blocs de calcul d'encodage de rang 1 à N-l comprenant chacun une connexion résiduelle de sortie de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : le bloc de calcul d'encodage de rang 1 reçoit un fichier de dimension initiale déterminée et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée ; et qu'un bloc de calcul d'encodage de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale avec le bloc de calcul d'encodage de rang précédent i-1 un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 , ; f) fournir une deuxième chaîne neuronale multicouche d'encodage, parallèle à la première chaîne neuronale multicouche d'encodage et comprenant un même nombre N de blocs de calcul d'encodage successifs que la première chaîne neuronale multicouche d'encodage, les N blocs de calcul d'encodage successifs de la deuxième chaîne neuronale multicouche d'encodage étant liés entre eux par une connexion principale, les blocs de calcul d'encodage de rang 1 à N-l comprenant chacun une connexion résiduelle de sortie de données résiduelles, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que : le bloc de calcul d'encodage de rang 1 reçoit un fichier de dimension initiale déterminée et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée ; et qu'un bloc de calcul d'encodage de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale avec le bloc de calcul d'encodage de rang précédent i-1 un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage de rang précédent i-1 ; g) fournir une chaîne neuronale multicouche de décodage comprenant un même nombre N de blocs de calcul de décodage successifs que la première chaîne neuronale multicouche d'encodage comprend de blocs de calcul d'encodage, chaque bloc de calcul de décodage étant liés entre eux par une connexion principale, chaque bloc de calcul de décodage comprenant un sous-bloc de fusion exécutant au moins une fusion de fichiers de dimensions identiques, suivi d'un sous-bloc de déconvolution exécutant au moins une déconvolution des fichiers fusionnés par le sous-bloc de fusion, les blocs de calcul de décodage étant reliés aux blocs de calcul de codage de la première et de la deuxième chaîne neuronale multicouche d'encodage de telle sorte que : le sous-bloc de fusion du bloc de calcul de décodage de rang 1 reçoit les fichiers générés par les blocs de calcul d'encodage de rang N de la première et de la deuxième chaîne neuronale multicouche d'encodage ; le sous-bloc de fusion du bloc de calcul de décodage de rang i, pour i compris entre 2 et N, reçoit les fichiers générés par le sous-bloc de déconvolution du bloc de calcul de décodage de rang i-1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie du bloc de calcul d'encodage de rang N-(i-l ) de la première et de la deuxième chaîne neuronale multicouche d'encodage h) encoder le fichier image numérique dans la première chaîne neuronale multicouche d'encodage ; i) encoder le fichier image masque dans la deuxième chaîne neuronale multicouche d'encodage ; j) le sous bloc de déconvolution de rang N générant un fichier image masque de segmentation sémantique constitué de pixels codés en valeurs, chaque valeur correspondant à un type d'objet de la liste prédéfinie, le fichier image masque de segmentation sémantique étant de même dimension que le fichier image numérique initial.

[0020] Selon des formes de réalisation particulières qui peuvent être combinées entre elles :

• le procédé peut comprendre, en outre, une étape I) de superposition du fichier texte numérique et du fichier image masque de segmentation sémantique, et une étape m) de classement consistant à assigner à chaque mot du fichier texte numérique le type d'objet du rectangle du fichier image masque de segmentation sémantique superposé audit mot ; et/ou • le procédé peut comprendre, en outre, une étape k) de post-traitement du fichier image masque de segmentation sémantique, cette étape comprenant un calcul de coordonnées de rectangle recouvrant des pixels adjacents de même valeur, et une génération d'un fichier image masque de segmentation sémantique post-traité, une étape I') de superposition du fichier texte numérique et du fichier image masque de segmentation sémantique post-traité, et une étape m') de classement consistant à assigner à chaque mot du fichier texte numérique le type d'objet du rectangle du fichier image masque de segmentation sémantique posttraité superposé audit mot.

[0021 ] L'invention a également pour objet un dispositif électronique comprenant un moyen de capture d'une image d'un document de texte complexe à traiter et une unité centrale programmée pour comprendre un réseau neuronal précédent et mettre en oeuvre le procédé précédent.

[0022] Avantageusement, le dispositif électronique peut être choisi parmi un scanner, une imprimante, un photocopieur et un smartphone.

[0023] D'autres caractéristiques de l'invention seront énoncées dans la description détaillée ci-après faite en référence aux figures annexées, données à titre d'exemple, et qui représentent, respectivement :

[0024] [Fig. 1 ], une vue schématique du principe de convolution appliqué à un pixel d'une image de départ ;

[0025] [Fig. 2], une vue schématique du principe de déconvolution appliqué à un pixel d'une image de départ ;

[0026] [Fig. 3], une vue schématique d'une opération de sous-échantillonnage appliquée à une image de départ ;

[0027] [Fig. 4], une vue schématique en plan d'un premier mode de réalisation d'un réseau neuronal selon l'invention ;

[0028] [Fig. 5], une vue schématique en plan d'un deuxième mode de réalisation d'un réseau neuronal selon l'invention ; et [0029] [Fig. 6], une vue schématique en plan détaillée du bloc final de calcul d'encodage global, de rang N+ l du deuxième mode de réalisation de réseau neuronal selon l'invention.

[0030] Par convention, on entend par convolution sur une image [ici appelée simplement convolution) l'application d'un filtre par déplacement sur l'ensemble des pixels d'une image en prenant en compte les pixels voisins. Plus formellement, il s'agit d'une opération mathématique entre deux objets : une image de départ [qui est, pour l'ordinateur, une matrice, c'est-à-dire un tableau de dimension n : par exemple une hauteur et une largeur et des valeurs de codage RGB de chaque pixel) et un filtre [qui est aussi une matrice). La convolution applique le filtre sur l'image, pixel par pixel, en suivant une formule mathématiquement prédéfinie. Une convolution peut servir à flouter une image, améliorer sa netteté, détecter les contours, etc. et son effet dépend du filtre utilisé. Appliquer une convolution sur un certain objet peut réduire sa dimension, c'est-à-dire le nombre de pixels en hauteur et en largeur de l'objet [considéré comme une matrice).

[0031 ] En notant I l'image, F le filtre de [xl ,x2] * [yl ,y2] et R le résultat de la convolution de I par F, la formule de la convolution est :

[0032] [Math. 1 ]

[0033] La figure 1 illustre un exemple de convolution appliquée à un seul pixel PI par souci de clarté. La convolution consiste à recalculer la valeur du pixel PI de l'image de départ 11 en se basant sur la valeur du pixel lui-même et sur la valeur des pixels environnants le pixel à recalculer.

[0034] Chaque pixel environnant est affecté d'un coefficient de calcul, l'ensemble des coefficients utilisés étant regroupés dans un tableau de valeurs constituant le filtre Fl . [0035] La valeur finale du pixel dans l'image finale RI correspond à un calcul prenant en compte tous les pixels environnants du pixel considéré PI et le pixel PI , combinés un à un aux coefficients du masque. Ensuite, le masque « glisse » au pixel suivant et ainsi de suite pour construire l'image finale complète.

[0036] Dans l'exemple, en appliquant le filtre Fl au pixel PI de valeur 50 dans l'image de départ 11 , on obtient un pixel PI ' dans l'image finale RI de valeur 42.

[0037] Inversement, par convention, on entend par déconvolution une opération mathématique ayant pour but d'inverser les effets d'une convolution. C'est une convolution couplée à une opération de suréchantillonnage qui permet d'augmenter la dimension d'un objet, c'est-à-dire le nombre de pixels en hauteur et en largeur, au lieu de la diminuer.

[0038] Une opération de suréchantillonnage est une opération qui agrandit virtuellement la dimension d'un objet, c'est-à-dire le nombre de pixels en hauteur et en largeur. Dans l'exemple illustré en figure 2, on ajoute à l'image de départ 12, des pixels de valeur déterminée (ici 0) pour obtenir une image intermédiaire B plus grande. Puis, on génère une image finale R2 plus grand que l'image de base A en appliquant un filtre F2 sur l'image intermédiaire B.

[0039] On entend également par opération de sous échantillonnage, telle qu'illustrée en figure 3, une opération qui prend en entrée une zone 13 de taille prédéfinie d'une image de départ, subdivise la zone 13 en n sous-tableaux de taille prédéfinie (ici n est égal à 4 et la taille est (2,2)) et génère une nouvelle zone R3 qui ne contient que certaines valeurs (par exemple les valeurs maximales, les valeurs minimales ou les valeurs moyennes selon le filtre qui est appliqué) de chaque sous-tableau I3A, I3B, I3C, I3D, la zone 13. R3 est donc de la taille de 13 divisée par n. ici, 13 est un carré de seize pixels, et R3 est un carré de quatre pixels, n étant égal à 4.

[0040] L'invention propose un réseau neuronal utilisant de manière astucieuse un ensemble de convolutions et de déconvolution, permettant, à partir d'un document texte à traiter et d'un fichier image du document texte à traiter, d'identifier les structures du document texte à traiter et d'améliorer significativement le classement ultérieur des mots du texte en fonction des structures logiques et sémantiques dans lesquels ils apparaissent.

[0041 ] Un réseau neuronal est un objet mathématique auquel on attribue une architecture, qui n'est autre que l'ordre et la façon d'appliquer des opérations d'une certaine nature [par exemple des convolutions) sur un [ou des) objet d'entrée, ici un document de texte complexe à traiter. Dans le cas de l'invention, le réseau neuronal est composé, d'une manière générale, d'une partie d'encodage - un ensemble d'opérations prenant l'objet en entrée [par exemple une image) et créant un autre objet ou fichier numérique, dénué de sens physique, mais portant des informations sémantiques riches - puis d'une partie de décodage, qui est un ensemble d'opérations [par exemple des déconvolutions) calculant l'objet recherché [par exemple un masque de segmentation) à partir de l'objet généré par la partie d'encodage.

[0042] Le réseau neuronal de segmentation sémantique selon l'invention se caractérise par le fait qu'il est multimodal en ce sens que sa partie d'encodage comprend deux chaînes neuronales parallèles traitant deux fichiers différents obtenus à partir du même document texte à traiter, ces deux chaînes neuronales d'encodage parallèle étant fusionnées en fin de chaîne avant d'entrer dans une chaîne neuronale de décodage unique.

[0043] Une chaîne neuronale est une chaîne de blocs de calcul successifs [blocs également appelés couches) liés entre eux par des connexions principales [ou directes), de sorte que l'objet sortant d'un bloc de calcul entre directement dans le bloc suivant.

[0044] Les chaînes neuronales d'encodage et la chaîne de décodage selon l'invention sont également caractérisées par le fait qu'elles présentent un nombre identique de blocs de calcul générant, en sortie de chaque bloc de même rang dans la chaîne, des objets de dimensions identiques, c'est-à-dire de même nombre de pixels en hauteur et en largeur. Dans un mode de réalisation optionnel décrit par la suite, la première chaîne neuronale d'encodage peut comprendre un bloc supplémentaire, mais dont le fichier de sortie est de dimension identique à la dimension (c'est-à-dire le nombre de pixels en hauteur et en largeur) du fichier qu'il reçoit en entrée.

[0045] En outre, le réseau neuronal selon l'invention comprend également des connexions résiduelles (ou indirectes ; voir ci-après) reliant deux chaînes neuronales différentes, à savoir une chaîne neuronale d'encodage et la chaîne neuronale de décodage. Plus précisément, chaque connexion résiduelle relie la sortie d'un bloc générant un fichier de dimension n des chaînes neuronales d'encodage, à la sortie du bloc de la chaîne neuronale de décodage générant un fichier de même dimension n que le bloc des chaînes neuronales d'encodage après lequel la connexion résiduelle est placée. En d'autres termes, une connexion résiduelle forme un pont reliant deux couches de deux chaînes neuronales différentes. Ces connexions supplémentaires permettent d'éviter une ou plusieurs couches (ou blocs) de traitement non linéaire et permettent d'ajouter une contribution résiduelle des couches précédentes avant la transformation de la dimension du fichier par les couches (ou blocs) suivantes qui sont ainsi « sautées », ce qui assure une meilleure stabilité du réseau.

[0046] Dans le réseau neuronal selon l'invention, chaque couche de chaque chaîne neuronale d'encodage est reliée à une couche (ou bloc) de la chaîne neuronale de décodage par une connexion résiduelle, de sorte que les couches (ou blocs) générant des fichiers de mêmes dimensions (même nombre de pixels en hauteur et en largeur) dans les chaînes neuronales d'encodage sont reliées à la chaîne neuronale de décodage après une couche (ou bloc) générant un fichier de même dimension.

[0047] Une connexion résiduelle entre deux couches de deux chaînes neuronales permet de conserver un objet en mémoire avant que celui-ci ne subisse une transformation/une opération dans le bloc suivant, puis de le re-exploiter plus tard dans la chaîne de traitement pour utiliser les informations qu'il contient. Ainsi, une connexion résiduelle ne peut se faire qu'entre deux couches, c'est-à-dire après deux blocs générant des objets (ou des fichiers) de mêmes dimensions, c'est-à-dire de même nombre de pixels en hauteur et en largeur.

[0048] L'avantage est de pouvoir conserver ou renforcer certaines informations qui peuvent se perdre au fil des opérations. Comme décrit par la suite, dans le cas de la présente invention, les convolutions successives peuvent faire perdre un certain sens du détail à l'image : en fonction des filtres appliqués les objets les plus fins ou les plus grossiers peuvent devenir difficilement discernables. Ajouter des connexions résiduelles permet de conserver ces détails.

[0049] Plus précisément, le réseau neuronal 100 selon l'invention, illustré en figure 4, comprend une première chaîne neuronale multicouche d'encodage 10 destinée à recevoir un fichier image initial du document à traiter. La première chaîne neuronale d'encodage 10 présente donc une entrée 1 1 recevant le fichier image numérique initial du document à traiter, une succession de blocs de calculs d'encodage E(j) (j étant un entier compris entre 1 et N, et N étant un entier compris entre 2 et 8), et une sortie 12. Sur la figure 4, N est égal à 4.

[0050] Le réseau neuronal selon l'invention comprend également une deuxième chaîne neuronale multicouche d'encodage 20 ayant une entrée 21 recevant un deuxième type de fichier décrit ci-après, une succession de blocs de calculs d'encodage E'(j) (j étant un entier compris entre 1 et N, et N étant un entier compris entre 2 et 8), et une sortie 22. Sur la figure 4, N est égal à 4. Il y a autant de blocs de calculs dans la première et la deuxième chaîne neuronale d'encodage.

[0051 ] La sortie 12 de la première chaîne neuronale d'encodage et la sortie 22 de la deuxième chaîne neuronale d'encodage sont connectées à l'entrée 31 d'une chaîne neuronale multicouche de décodage 30 comprenant une succession de blocs de calculs de décodage D(j) (j étant un entier compris entre 1 et N, et N étant un entier compris entre 2 et 8), et une sortie 32. Sur la figure 4, N est égal à 4.

[0052] L'une des caractéristiques de l'invention est de traiter, en parallèle, dans chaque chaîne neuronale d'encodage 10-20, deux fichiers différents 1 -2 obtenus à partir du même document texte devant être traité.

[0053] Dans la première chaîne d'encodage 10, on traite une image 1 du document texte, telle qu'elle peut être obtenue par un scanner ou une photo par exemple. Ce fichier image 1 est une matrice de pixel de dimension initiale R0.

[0054] Comme on peut le constater sur la figure 4, cette image 1 représente un document comprenant un logo 1 a avec le nom 1 b de l'entreprise émettrice du document, un destinataire et son adresse l e, un titre général 1 d, des titres de paragraphe l e, des paragraphes 1 f, une date 1 g dans l'un des paragraphes 1 f, une date 1 h de signature et une signature 1 i.

[0055] Si l'oeil et le cerveau humain savent immédiatement classer les objets d'une image en fonction de leur type (ici : logo, destinataire/adresse, titre général, titre de paragraphe, paragraphe, date, date de signature et signature), l'objectif de l'invention est que ce soit le réseau neuronal 100 lui-même qui puisse, seul, classer ces objets en fonction de leur type en vue d'une indexation précise et riche d'informations.

[0056] Dans la deuxième chaîne d'encodage, on traite un fichier image masque 4 généré à l'issue d'une opération de segmentation 3 effectuée sur un fichier texte 2 obtenu par reconnaissance de caractère du fichier image 1 du document à traiter.

[0057] Le fichier image masque 4, également appelé masque de segmentation, est une image générée à partir d'une image de départ à l'issue d'une opération de segmentation (ou de classification) de l'image. Cette opération est destinée à diviser l'image de départ en différentes zones, selon la nature des objets contenus dans l'image de départ. Par exemple, si l'image de départ est une image d'un texte comportant des objets divers (un fond, des paragraphes de texte, un logo, des titres de parties, un tableau, une date, une signature, une adresse, etc.), l'opération de segmentation vise à identifier à quel objet appartient chaque pixel de l'image. Pour cela, on utilise une liste prédéfinie de types d'objet que l'on souhaite identifier dans l'image de départ, chaque objet étant associé à une valeur de pixel. Si le fichier de départ est un fichier texte numérique obtenu par reconnaissance de caractère d'une image, l'opération de segmentation vise à identifier à quel objet appartient chaque mot du fichier texte numérique.

[0058] Pour assigner à chaque pixel ou à chaque mot du fichier texte numérique un type d'objet choisi dans la liste prédéfinie, on utilise un algorithme de classification utilisant de la prédiction textuelle. Ce type d'algorithme, basé sur un apprentissage non supervisé permet une segmentation et une structuration sémantique automatique du texte. On peut citer, simplement à titre d'exemple, la méthode de classification sémantique décrite dans l'article « Document Structure Analysis Based on Layout and Textual Features» de Stefan Klink, Andreas Dengel et Thomas Kieninger, Computer science, 2000.

[0059] Plus généralement, il est possible d'avoir des outils simples de structuration logique/sémantique de documents textuels en s'appuyant sur des modèles dont les composants (ou règles) sont des expressions régulières, plus des compléments sur la position absolue/ relative dans la page et éventuellement sur la casse des caractères (gras, italique, etc.).

[0060] Ainsi, de manière synthétique, le fichier image masque 4 est fabriqué de la manière suivante :

[0061 ] - le document est scanné et soumis à une reconnaissance de caractères

(OCR) ;

[0062] - le fichier résultat de l'OCR (texte avec coordonnées et éventuellement des informations sur la casse) est envoyé à un algorithme de structuration logique/sémantique s'appuyant essentiellement sur le contenu textuel ; [0063] - cet algorithme retourne une structuration sous forme de zones avec un type [table, titre, paragraphe, ...) et des coordonnées ;

[0064] - le masque 4 est construit à partir de cette structuration en associant à chaque pixel P couvert par une zone Z une valeur C [par exemple traduite sous la forme d'une couleur C) correspondant au type T de ladite zone Z [avec une valeur par défaut pour les pixels non couverts), de sorte que le masque 4 a les mêmes dimensions que l'image initiale.

[0065] Puis, on génère un fichier image masque, codé en valeurs, illustrant le résultat de cette segmentation de sorte que chaque pixel de l'image a la valeur qui correspond à l'objet du pixel ou du mot présent au même endroit sur l'image de départ. En d'autres termes, on génère le fichier image masque 4, en remplaçant chaque mot par une zone de valeur [par exemple un rectangle) correspondant au type d'objet assigné audit mot. Pour finir, le fichier image masque a la même dimension, c'est-à-dire le même nombre de pixels en hauteur et en largeur, que la dimension initiale R0 du fichier image de départ, ou du fichier image ayant servi à générer le fichier texte numérique par reconnaissance de caractères.

[0066] Dans le procédé selon l'invention, on réalise une reconnaissance optique de caractères du fichier image 1 du document pour obtenir un fichier texte numérique 2. Puis, à partir d'une liste prédéfinie de types d'objet auxquels peuvent appartenir les mots du texte [par exemple : logo, destinataire/adresse, titre général, titre de paragraphe, paragraphe, date, date de signature et signature), on effectue une opération de segmentation 3 pour assigner à chaque mot du fichier texte numérique un type d'objet choisi dans la liste prédéfinie de types d'objet. On peut alors générer un fichier image masque 4 dont chaque pixel est codé en valeur, en attribuant à chaque pixel situé dans les mêmes coordonnées géographiques du mot et de son voisinage [par simplicité remplacés par des rectangles), la valeur attribuée au type d'objet assigné audit mot. Sur les figures 4 et 5, les pixels sont codés selon des valeurs symbolisées par des motifs de remplissage ou des couleurs, comme cela serait fait sur un écran d'ordinateur. Les couleurs ou les motifs en soi ne sont pas importants, ils servent simplement à matérialiser le codage des pixels selon différentes valeurs. La zone sans mot est attribuée au fond et illustrée, sur la figure, en gris foncé uni. Bien entendu, on regroupe avantageusement les zones voisines de même valeur pour obtenir un fichier image masque composé de pixels codés en valeurs de types d'objets.

[0067] Lors de la mise en oeuvre automatique par un système informatique, il n'y a pas de nécessité d'éditer réellement le masque puisqu'aucun humain ne le consulte. Ainsi, tous les pixels d'une zone déterminée située aux coordonnées géographiques d'un mot à qui un type d'objet a été attribué lors de l'opération de segmentation, possèdent la même valeur, correspondant à une valeur.

[0068] Ce fichier masque 4 est de même dimension initiale déterminée R0 que le fichier image numérique 1 du document à traiter.

[0069] Le fichier image masque 4 ainsi généré comprend des informations de segmentation du document à traiter.

[0070] Comme illustré en figure 4, le fichier image masque 4 issu de l'OCR 2 et de la segmentation 4 est imparfait en raison de l'imperfection des logiciels connus de reconnaissance optique de caractère et de segmentation. Dans l'exemple illustré, le fichier image 4 ne fait pas de distinction entre le logo 1 a et le nom 1 b de l'entreprise émettrice qui sont regroupés sous un même rectangle 4a en hachures fines codant pour les dessins du texte. Le destinataire! c et le titre général 1 d sont répartis en trois zones distinctes 4b, mais classés sous un même type (rectangles blancs unis 4b). Un titre de partie l e a été classé de la même manière que les paragraphes 1 f, tout comme la date 1 g située dans un paragraphe 1 f, le tout étant réparti en plusieurs zones distinctes 4c classées sous un même type : rectangles à points 4c. Enfin la date de signature 1 h a été classée de la même manière que les titres de partie l e et illustré par un rectangle en hachures larges 4d. La signature a bien été reconnue comme un dessin dans le texte, elle a été remplacée par un rectangle 4e en hachures fines. Ainsi, le masque 4 est généralement imparfait, car il n'exploite qu'une partie des informations présentes dans l'image, celles fournies par les outils d'OCR.

[0071 ] On comprend donc qu'indexer un document à partir d'un tel fichier image masque 4 aboutirait nécessairement à de nombreuses erreurs. En traitant ce fichier image masque 4 en parallèle du fichier image 1 dans le réseau neuronal selon l'invention, on améliore significativement la classification automatique des différentes zones, ce qui permettra, in fine, une indexation automatique beaucoup plus efficace des documents.

[0072] Selon l'invention, le réseau neuronal comprend également un premier pont 40 de connexions résiduelles parallèles CR40(k), k étant un entier compris entre 1 et N-l , entre chacune des couches E( 1 ) à E(N- 1 ) de la première chaîne neuronale multicouche d'encodage 10 et chacune des couches D( 1 ) à D(N-1 ) de la chaîne neuronale multicouche de décodage 30.

[0073] Le réseau neuronal 100 selon l'invention, comprend également un deuxième pont 50 de connexions résiduelles parallèles CR50(k), k étant un entier compris entre 1 et N-l , entre chacune des couches E'(l ) à E'(N-1 ) de la deuxième chaîne neuronale multicouche d'encodage 20 et chacune des couches D( 1 ) à D(N- 1 ) de la chaîne neuronale multicouche de décodage 30.

[0074] Sur la figure 4, N étant égal à 4, chaque pont 40-50 comprend trois connexions résiduelles parallèles : CR40(l ), CR40(2), CR40(3), CR50(l ), CR50(2) et CR50(3).

[0075] Comme expliqué précédemment, les connexions résiduelles parallèles des premier et deuxième ponts de connexions résiduelles générant des fichiers de mêmes dimensions, c'est-à-dire de même nombre de pixels en hauteur et en largeur, sont reliées après une couche de la chaîne neuronale multicouche de décodage générant un fichier de même dimension.

[0076] Ainsi, sur la figure 4 :

• la connexion résiduelle CR40(l ) relie la sortie du bloc E(1 ) de la première chaîne neuronale multicouche d'encodage 10 et la sortie du bloc D(N-l ) (le bloc D(3) sur la figure 4) de la chaîne neuronale multicouche de décodage 30 ;

• la connexion résiduelle CR40(2) relie la sortie du bloc E(2) de la première chaîne neuronale multicouche d'encodage 10 et la sortie du bloc D(2) de la chaîne neuronale multicouche de décodage 30 ;

• la connexion résiduelle CR40(3) relie la sortie du bloc E(3) de la première chaîne neuronale multicouche d'encodage 10 et la sortie du bloc D(1 ) de la chaîne neuronale multicouche de décodage 30 ;

• la connexion résiduelle CR50(l ) relie la sortie du bloc E'(l ) de la deuxième chaîne neuronale multicouche d'encodage 20 et la sortie du bloc D(N-l ) (le bloc D(3) sur la figure 4) de la chaîne neuronale multicouche de décodage 30 ;

• la connexion résiduelle CR50(2) relie la sortie du bloc E'(2) de la deuxième chaîne neuronale multicouche d'encodage 20 et la sortie du bloc D(2) de la chaîne neuronale multicouche de décodage 30 ; et

• la connexion résiduelle CR50(3) relie la sortie du bloc E'(3) de la deuxième chaîne neuronale multicouche d'encodage 20 et la sortie du bloc D(1 ) de la chaîne neuronale multicouche de décodage 30.

[0077] En effet, les blocs de calcul des première et deuxième chaînes d'encodage 10-20 effectuant des convolutions, la dimension des fichiers sortant de chaque bloc diminue. Inversement, les blocs de calcul de la chaîne d'encodage 30 effectuant des déconvolutions, la dimension des fichiers sortant de chaque bloc augmente jusqu'à obtenir un fichier de même dimension initiale R0 que le fichier image 1 ou le fichier image masque 4.

[0078] Ainsi, les connexions résiduelles ne se croisent jamais au sein d'un même pont 40-50.

[0079] Plus en détail, la première chaîne neuronale multicouche d'encodage 10 comprend N blocs de calcul d'encodage successifs E(1 ) à E(N) liés entre eux par une connexion principale 1 3 (en trait plein sur les figures), N étant un entier compris entre 2 et 8, chacun des N blocs de calcul d'encodage exécutant au moins une convolution et ou moins une opération de sous-échantillonnage. Ainsi, lorsque le bloc de calcul d'encodage E ( 1 ) de rang 1 reçoit un fichier de dimension initiale déterminée RO, il génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée RO.

[0080] Plus généralement, lorsqu'un bloc de calcul d'encodage E(i) de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale 1 3 avec le bloc de calcul d'encodage E (i- 1 ) de rang précédent i-1 , un fichier de dimension de rang précédent i-1 , il génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage E(i-1 ) de rang précédent i-1 .

[0081 ] Il en va de même de la deuxième chaîne neuronale multicouche d'encodage 20, parallèle à la première chaîne neuronale multicouche d'encodage 10. Elle comprend un même nombre N de blocs de calcul d'encodage successifs E'(l ) à E'(N) que la première chaîne neuronale multicouche d'encodage 10 comprend de blocs de calcul d'encodage.

[0082] Les N blocs de calcul d'encodage successifs E'(l ) à E'(N) de la deuxième chaîne neuronale multicouche d'encodage 20 sont liés entre eux par une connexion principale 23 (en trait plein sur les figures) et exécutent au moins une convolution et au moins une opération de sous-échantillonnage, de telle sorte que le bloc de calcul d'encodage E'( 1 ) de rang 1 reçoit un fichier de dimension initiale déterminée R0 et génère un fichier de dimension de rang 1 inférieure à la dimension initiale déterminée R0.

[0083] Plus généralement, un bloc de calcul d'encodage E'(i) de rang i, i étant un entier compris entre 2 et N, reçoit par la connexion principale 23 avec le bloc de calcul d'encodage E'(i-l ) de rang précédent i-1 un fichier de dimension de rang précédent i-1 et génère un fichier de rang i avec une dimension de rang i inférieure à la dimension de rang précédent i-1 du fichier reçu du bloc de calcul d'encodage E'(i-l ) de rang précédent i-1 . [0084] En outre, la chaîne neuronale multicouche de décodage 30 comprend un même nombre N de blocs de calcul de décodage successifs D(i), pour i compris de 1 à N (D(l ) à D(N)) que la première chaîne neuronale multicouche d'encodage 10 comprend de blocs de calcul d'encodage, les blocs de calcul de décodage D(1 ) à D(N) successifs étant liés entre eux par une connexion principale 33.

[0085] Chaque bloc de calcul de décodage D(i), i allant de 1 à N (sur la figure N=4), comprend un sous-bloc de fusion df(i) exécutant au moins une fusion de fichiers de dimensions identiques pour générer un fichier résultant, le sous-bloc de fusion df(i) étant connecté à un sous-bloc de déconvolution dd (i) exécutant au moins une déconvolution du fichier résultant transmis par le sous-bloc de fusion df(i) correspondant.

[0086] Les blocs de calcul d'encodage de rang 1 à N-l des première et deuxième chaînes neuronales multicouches d'encodage 10-20 comprennent en outre chacun une connexion résiduelle de sortie de données résiduelles reliée aux sous-blocs de déconvolution dd(l ) à dd(N) des blocs de calcul de décodage de la chaîne neuronale multicouche de décodage 30 de telle sorte que : le sous-bloc de fusion df ( 1 ) du bloc de calcul de décodage D( 1 ) de rang 1 reçoit les fichiers générés par les blocs de calcul d'encodage E(N) (directement dans le cadre la figure 4, ou indirectement dans le cadre de l'option décrite en figure 5) et E'(N) de rang N de la première et de la deuxième chaîne neuronale multicouche d'encodage ; et que le sous-bloc de fusion df (i) du bloc de calcul de décodage D(i) de rang i, pour i compris entre 2 et N, reçoit les fichiers générés par le sous-bloc de déconvolution dd (i- 1 ) du bloc de calcul de décodage D(i- 1 ) de rang i-1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie CR40(N-(i-l )) et CR50(N-(i-l )) du bloc de calcul d'encodage E (N-(i- 1 )) et E'(N-(i- 1 )) de rang N-(i-l ) de la première et de la deuxième chaîne neuronale multicouche d'encodage 10- 20. [0087] Ainsi, sur la figure 4 :

• le sous-bloc de fusion df (2) du bloc de calcul de décodage D[2) de rang i=2 reçoit les fichiers générés par le sous-bloc de déconvolution dd ( 1 ) du bloc de calcul de décodage D( 1 ) de rang 1 , ainsi que des données résiduelles provenant de la connexion résiduelle de sortie CR40[3) et CR50[3) du bloc de calcul d'encodage E[3) et E'(3) de rang N-(2-l )=3 [pour N=4) de la première et de la deuxième chaîne neuronale multicouche d'encodage 10-20 ;

• le sous-bloc de fusion df (3) du bloc de calcul de décodage D[3) de rang i=3 reçoit les fichiers générés par le sous-bloc de déconvolution dd (2) du bloc de calcul de décodage D[2) de rang 2, ainsi que des données résiduelles provenant de la connexion résiduelle de sortie CR40[2) et CR50[2) du bloc de calcul d'encodage E[2) et E'(2) de rang N-(3-l )=2 de la première et de la deuxième chaîne neuronale multicouche d'encodage 10-20 ; et

• le sous-bloc de fusion df (4) du bloc de calcul de décodage D[4) de rang i=4 reçoit les fichiers générés par le sous-bloc de déconvolution dd (3) du bloc de calcul de décodage D[3) de rang 3, ainsi que des données résiduelles provenant de la connexion résiduelle de sortie CR40( 1 ) et CR50( 1 ) du bloc de calcul d'encodage E ( 1 ) et E'[l ) de rang N-(4-l )= 1 de la première et de la deuxième chaîne neuronale multicouche d'encodage 10-20.

[0088] Chaque sous-bloc de fusion df[i) effectue une opération terme à terme des fichiers qu'il reçoit et qui sont nécessairement de dimensions identiques.

[0089] On entend par opération terme à terme, une opération qui s'effectue sur chaque élément d'un tableau [une image par exemple). Par exemple, une fusion de fichiers des mêmes dimensions, c'est-à-dire de mêmes nombres de pixels en hauteur et en largeur, se fait par une opération terme à terme, c'est-à-dire pixel par pixel pour obtenir un fichier résultat de mêmes dimensions. La valeur de chaque pixel du fichier résultat est obtenue, en appliquant une fonction d'agrégat qui peut être choisie parmi le minimum [on applique au pixel résultat la valeur la plus faible parmi les valeurs des pixels correspondant dans les images de base), le maximum (on applique au pixel résultat la valeur la plus forte parmi les valeurs des pixels correspondant dans les images de base), la moyenne (on applique au pixel résultat la valeur égale à la moyenne des valeurs des pixels correspondant dans les images de base), ou toute autre fonction mathématique telle qu'une moyenne pondérée par la source (on applique au pixel résultat la valeur égale à la moyenne des valeurs des pixels correspondant dans les images de base, la valeur des pixels correspondants étant pondérée en fonction de l'image de base). Dans ce dernier cas, la pondération peut être apprise par le réseau neuronal en fonction des types de sources ou des types d'objets que l'on souhaite identifier. Ainsi, on peut choisir de donner plus de crédit à telle ou telle source en fonction du type d'objet que l'on souhaite identifier.

[0090] Avantageusement, la première et de la deuxième chaîne neuronale multicouche d'encodage 10- 20 comprennent chacune un premier E ( 1 )-E'(l ) et un deuxième E(2)-E'(2) blocs de calcul d'encodage effectuant chacun deux convolutions et une opération de sous-échantillonnage, et un troisième E(3)-E'(3) et un quatrième E(4)-E'(4) bloc de calcul d'encodage effectuant chacun trois convolutions et une opération de sous-échantillonnage.

[0091 ] En outre, la chaîne neuronale multicouche de décodage 30 comprend un premier D(1 ), un deuxième D(2) et un troisième bloc D(3) de calcul de décodage munis chacun un sous-bloc de déconvolution dd(l )-dd (2)-dd (3) effectuant une déconvolution, ainsi qu'un quatrième bloc D(4) de calcul de décodage muni d'un sous-bloc de déconvolution dd (4) effectuant une déconvolution et une opération d'argument maximum.

[0092] On entend par opération d'argument maximum, une opération qui, pour un tableau d'entrée, renvoie les coordonnées de l'élément du tableau qui est le plus grand. Par exemple, dans la figure 3, une opération d'argument maximum conduite sur le tableau I3A enverrait la coordonnée de la case 6.

[0093] En sortie 32 de la chaîne de déconvolution 30, le sous-bloc de déconvolution de rang N=4 génère un fichier image masque de segmentation sémantique 5 constitué de pixels codés en valeurs, chaque valeur correspondant à un type d'objet de la liste prédéfinie, le fichier image masque de segmentation sémantique étant de même dimension RO que le fichier image numérique initial.

[0094] Les pixels sont significativement mieux classés dans ce fichier masque 5 traité que dans le fichier masque 4.

[0095] En effet, on voit que le nom 1 b de l'entreprise émettrice a pu être distingué du logo 1 a, car ils sont matérialisés par deux zones différentes 5a et 5b, et qu'ils sont classés dans deux classes différentes, une classe d'image pour le logo (en hachures fines, comme pour la signature) et une classe texte (zone à points). Le destinataire et son adresse sont regroupés en une seule zone 5c (en blanc uni), et le titre général a été individualisé et classé comme tel dans une zone 5d (zone à hachures larges inclinées vers la droite). De même, les titres de paragraphes ont été isolés et classés comme tel dans des zones 5e (zone à hachures larges inclinées vers la gauche), et la date de signature n'est plus confondue avec ces titres puisqu'elle est classée comme date de signature dans une zone 5f (zone à points carrés). Les paragraphes de chaque partie sont regroupés en zones uniformes 5h (zone à points), et la date présente dans l'un des paragraphes a été isolée et classée comme telle dans une zone 5i (zone à hachures verticales).

[0096] Les différentes parties étant beaucoup mieux classées grâce au réseau neuronal selon l'invention, l'indexation ultérieure du texte sera beaucoup plus riche en informations, et avec beaucoup moins d'erreurs.

[0097] Un réseau neuronal s'exploite en deux phases. Une première phase d'entraînement ou d'apprentissage, durant laquelle il apprend, à partir d'un jeu de données prédéfini, les paramètres de ses opérations (par exemple les paramètres des filtres des convolutions, de déconvolution, de sous-échantillonnage, etc. qui le compose) nécessaires pour obtenir le résultat qu'on lui a demandé. Puis, une deuxième phase d'exploitation ou d'inférence, au cours de laquelle il reçoit un objet qu'il n'a encore jamais vu (une image par exemple) pour élaborer l'objet recherché (par exemple le masque de segmentation) à partir de cet objet d'entrée. [0098] Un jeu de données d'entraînement est un ensemble de données [par exemple des images de documents, ou des fichiers textes numériques obtenus par reconnaissance de caractère, de fichiers images de documents) choisies pour être représentatives de l'ensemble des données [dans l'invention des documents) que l'on peut être amené à traiter par la suite. Un jeu de données d'entraînement est dit « pré annoté » pour un réseau neuronal déterminé si, en plus des données d'entrée qui le compose [dans l'invention, des documents), on dispose de l'ensemble des données de sortie, correspondant au résultat que l'on attend en sortie du réseau neuronal, pour les données d'entrée.

[0099] L'invention peut avantageusement être mise en oeuvre en utilisant comme chaînes neuronales d'encodage une chaîne VGG, par exemple le réseau VGG16 qui est illustré dans les figures, ou une chaîne RESNet ou tout autre type d'architecture de réseau neuronal convolutif [connu en anglais sous l'acronyme CNN pour « convolution neural net architecture).

[0100] Le procédé de segmentation sémantique d'un document de texte complexe à traiter selon l'invention comprend donc les étapes suivantes : a) obtenir un fichier image numérique initial 1 du document de texte complexe à traiter, le fichier image présentant une dimension initiale déterminée R0 ; b) réaliser une reconnaissance optique de caractères du fichier image numérique pour obtenir un fichier texte numérique 2 ; c) fournir une liste prédéfinie de types d'objet et effectuer une opération de segmentation 3 pour assigner à chaque mot du fichier texte numérique un type d'objet choisi dans la liste prédéfinie de types d'objet, d) générer un fichier image masque 4, codé en valeurs en remplaçant chaque mot par une zone de valeur correspondant au type d'objet assigné audit mot, le fichier image masque étant de même dimension initiale déterminée R0 que le fichier image numérique.

[0101 ] Dans un réseau neuronal 100 selon l'invention tel que décrit précédemment, on encode le fichier image numérique 1 dans la première chaîne neuronale multicouche d'encodage 10, et on encode le fichier image masque 4 dans la deuxième chaîne neuronale multicouche d'encodage 20 de telle sorte que le sous bloc de déconvolution dd(N) de rang N génère un fichier image masque de segmentation sémantique traité 5 constitué de pixels codés en valeurs, chaque valeur correspondant à un type d'objet de la liste prédéfinie, le fichier image masque de segmentation sémantique traité 5 étant de même dimension RO que le fichier image numérique initial.

[0102] Ensuite, on peut superposer le fichier texte numérique 2 et le fichier image masque de segmentation sémantique traité 5 pour permettre un classement consistant à assigner à chaque mot du fichier texte numérique le type d'objet du rectangle du fichier image masque de segmentation sémantique superposé audit mot, et ainsi indexer le texte du document que l'on veut traiter.

[0103] Afin d'améliorer ce traitement, le procédé comprend avantageusement une étape 6 supplémentaire de post-traitement du fichier image masque de segmentation sémantique traité. Cette étape 6 comprend un calcul de coordonnées de rectangle recouvrant des pixels adjacents de mêmes valeurs, et une génération d'un fichier image masque de segmentation sémantique post-traité 7.

[0104] Dans ce cas, l'indexation du texte est réalisée en superposant le fichier texte numérique 2 et le fichier image masque de segmentation sémantique posttraité 7, et effectuant un classement consistant à assigner à chaque mot du fichier texte numérique 2 le type d'objet du rectangle du fichier image masque de segmentation sémantique post-traité 7 superposé audit mot.

[0105] Les résultats sont encore améliorés si l'on munit la première chaîne neuronale multicouche d'encodage d'un bloc de calcul spécial en fin de chaîne. Cette option est illustrée en figures 5 et 6.

[0106] Dans ce mode de réalisation, la première chaîne neuronale multicouche d'encodage 10 comprend, en sortie du bloc de calcul d'encodage de rang N, une connexion résiduelle de sortie de données résiduelles et une connexion principale 1 3 avec un bloc S final de calcul d'encodage global, de rang N+ l .

[0107] Comme illustré en figure 6, le bloc S est constitué d'une succession de sous-blocs liés entre eux par une connexion principale et dépourvus de connexion résiduelle.

[0108] Le bloc S comprend un premier sous-bloc SI suivi d'un deuxième sous- bloc 82 effectuant chacun trois convolutions et une opération de sous- échantillonnage. Il comprend également, après le deuxième sous-bloc 82, un troisième sous-bloc S3 suivi d'un quatrième sous-bloc 84 d'encodage effectuant chacun une convolution, puis une opération de rectification, puis une opération d'abandon.

[0109] On entend par opération de rectification, une opération qui attribue à chaque résultat d'une convolution sa valeur si cette dernière est positive, ou zéro si sa valeur est négative. En d'autres termes, cette opération renvoie toutes les valeurs positives sur elles-mêmes et toutes les valeurs négatives sur zéro.

[01 10] On entend par opération d'abandon, une opération qui consiste à ignorer certains paramètres d'un bloc d'opération lors de la phase d'entraînement, afin de le rendre plus robuste. Cela permet d'empêcher le surapprentissage, c'est- à-dire que cela permet d'apprendre à ne restituer que ce qui a été vu, et donc appris. En d'autres termes, certaines valeurs sont volontairement « oubliées » pour permettre au réseau de répondre même s'il a perdu une partie de son information. Cela oblige ainsi le réseau neuronal à ne pas prendre sa décision seulement sur quelques éléments très précis d'information, mais à considérer l'information de manière plus générale. Ce type d'opération est décrit, par exemple, dans l'article « Improving neural networks by preventing co-adaptation of feature detectors » de Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, Ruslan R. Salakhutdinov, Computer Science, 3 juillet 2012. [01 1 1 ] Alternativement à la fonction d'abandon, on peut utiliser tout autre mécanisme d'ajout de bruit dans le réseau pour éviter les phénomènes de surapprentissage.

[01 12] Le bloc S comprend également, après le sous-bloc S4, un cinquième sous-bloc 35 effectuant une convolution, lui-même suivi d'un sixième sous-bloc S6 effectuant une déconvolution telle qu'un fichier sortant du sixième bloc présente une dimension identique à la dimension d'un fichier sortant du bloc de calcul d'encodage de rang N et entrant dans le bloc S.

[01 1 3] En d'autres termes, le fichier de sortie du bloc S est de dimension identique à la dimension (c'est-à-dire le nombre de pixels en hauteur et en largeur) du fichier qu'il reçoit en entrée. Ainsi, le parallélisme des chaînes neuronales d'encodage 10 et 20 n'est pas modifié, car la dimension de l'objet N+ l est strictement identique à la dimension de l'objet N.

[01 14] Ce qui importe, c'est qu'il n'y ait aucun effet sur la dimension, c'est-à- dire sur le nombre de pixels en hauteur et en largeur, de l'objet reçu par la chaîne neuronale de décodage 30.

[01 15] Ainsi, dans le mode de réalisation illustré en figure 5, le sous-bloc de fusion df(l ) du bloc de calcul de décodage D(1 ) de rang 1 de la chaîne neuronale multicouche de décodage 30 reçoit :

• les fichiers générés par le bloc de calcul S d'encodage global de rang N+ l de la première chaîne neuronale d'encodage 10, des données résiduelles provenant de la connexion résiduelle CR40(4) de sortie du bloc de calcul d'encodage E(4) de rang N=4 de la première chaîne neuronale d'encodage 10, et

• les fichiers générés par le bloc de calcul d'encodage E'(4) de rang N=4 de la deuxième chaîne neuronale d'encodage 20.

[01 16] Puisque la dimension de l'objet issu du bloc de calcul de rang N n'est pas modifiée par le bloc S, le sous-bloc de fusion df( 1 ) du bloc de calcul de décodage D(1 ) de rang 1 reçoit indirectement les fichiers générés par les blocs de calcul d'encodage de rang N de la première chaîne neuronale d'encodage 10 qui a été traité par le bloc S sans que sa dimension n'ait été modifiée.

[01 17] Le réseau neuronal et le procédé de traitement selon l'invention peuvent avantageusement être mis en oeuvre directement dans un dispositif électronique comprenant un moyen de capture d'une image d'un document de texte complexe à traiter et une unité centrale programmée pour comprendre le réseau neuronal selon l'invention et mettre en oeuvre le procédé selon l'invention.

[01 1 8] Par exemple, il peut s'agir d'un scanner, d'une imprimante, d'un photocopieur et d'un smartphone. Dans ce cas, ils comprennent avantageusement une connexion vers un système d'indexation et d'archivage des documents ainsi traités pour pouvoir indexer et archiver automatiquement une grande quantité de documents.