Brevet FR3096492A1 — publié le 20201127

Description Titre de l'invention : Procédé et système d'analyse ou d'impression d'un document à partir d'au moins une représentation numérisée du document [pool j La présente demande se rapporte à un procédé d'analyse ou d'impression d'un document, comme un ticket de caisse, à partir d'au moins une représentation numérisée du document. [0002] Selon un mode dc réalisation connu, un ticket dc caisse comprend dc nombreuses in- formations, comme par exemple une liste de produits associés chacun à un prix, des données relatives au commerçant, des données relatives à la somme à payer, des données relatives au paiement et éventuellement des données relatives à des réductions activées lors de l'achat. [0003] Dans le cadre de la garantie d'un produit, le ticket de caisse sur lequel figure le produit garanti constitue une preuve d'achat qui est généralement nécessaire pour pouvoir actionner la garantie. Le stockage et la gestion des tickets de caisse physiques sont problématiques pour les consommateurs. Par conséquent, des applications ont été développées pour stocker de manière virtuelle les tickets de caisse. Ces applications proposent aux consommateurs de photographier les tickets de caisse afin de les stocker de manière dématérialisée dans un espace qui leur est dédié. [0004] En parallèle, des programmes de fidélisation sont mis en place pour permettre aux consommateurs de bénéficier d'avantages promotionnels (réduction lors d'un futur achat, cadeau ou autres). Dans ce cadre, des coupons ou des codes (alphanumériques, codes-barres, QR-codes) sont distribués aux consommateurs, par exemple lors d'un achat. En présentant ce coupon ou ce code lors d'un achat suivant, le consommateur peut bénéficier d'un avantage promotionnel. Comme précédemment, des applications ont été développées pour gérer, de manière dématérialisée, ces coupons ou ces codes promotionnels. [0005] Dans certains cas, l'avantage promotionnel est déclenché lors de la présentation d'une preuve d'achat, comme par exemple un ticket de caisse sur lequel figure le produit associé à l'avantage promotionnel. [0006] Dans ce cas, comme pour la garantie, les applications gérant les programmes de fidé- lisation demandent aux consommateurs de prendre en photo leurs tickets de caisse. Le prestataire assurant la gestion du programme de fidélisation doit alors contrôler si le produit bénéficiant de la garantie promotionnelle est bien présent sur le ticket de caisse. Cette étape de contrôle n'est jusqu'ici pas automatisée et constitue une tâche longue et fastidieuse. 2 [0007] En dehors des programmes de fidélisation, il existe un intérêt à analyser les données contenues sur les tickets de caisse. [0008] Toutefois, cette analyse s'avère problématique car les tickets de caisse ne sont pas photographiés parfaitement à la verticale, si bien que les lignes ne sont généralement pas horizontales. De plus, les tickets de caisse peuvent être froissés ou abîmés, ce qui tend à complexifier leur analyse. [0009] Si on souhaite imprimer les représentations numérisées des tickets de caisse pour l'analyse, leurs impressions sont généralement illisibles. [0010] Selon une deuxième problématique, les produits ne sont généralement pas référencés de la même manière en fonction des commerçants. A titre d'exemple, un yaourt brassé nature de la marque XXXX sera mentionné sur les tickets de caisse émis par un premier commerçant « YRT BRAS NAT XXXX » et par un deuxième commerçant « YT BRNAT XXXX ». [0011] La première problématique, liée à la reconnaissance de texte, n'est pas propre à l'analyse des tickets de caisse et peut être généralisée à tout document. [0012] La présente invention vise à remédier à tout ou partie des inconvénients de l'art antérieur. [0013] A cet effet, l'invention a pour objet un procédé d'analyse ou d'impression d'un document à partir d'au moins une représentation numérisée du document, ledit document comprenant une succession de segments comportant chacun au moins un bloc de caractères, caractérisé en ce qu'il comprend les étapes : d'association d'un référentiel à au moins une représentation numérisée du document, de repérage des blocs de caractères présents dans la représentation numérisée du document dans ce référentiel, chaque bloc de caractères étant associé à un point, de reconnaissance de texte pour décoder chaque caractère présent dans chaque bloc de caractères de manière à reconstituer la chaîne de caractères de chaque bloc de caractères, de regroupement des blocs de caractères pour reconstituer les segments en déterminant des points d'origine et une droite directrice pour chaque segment, les blocs de caractères de chaque segment considéré étant associés aux points appartenant à ou proches de chacune des droites directrices, d'interprétation ou d'impression des segments reconstitués. [0014] D'autres caractéristiques et avantages ressortiront de la desciiption de l'invention qui va suivre, description donnée à titre d'exemple uniquement, en regard des dessins annexés parmi lesquels : [0015] [fig.1] est une vue de face d'un ticket de caisse, 3 [0016] [fig.2] est une vue d'une photographie du ticket de caisse visible sur la figure 1, [0017] [fig.3] est une représentation schématique du ticket de caisse dans un référentiel après une étape de repérage des blocs de caractères dans le référentiel, [0018] [fig.4] est une représentation schématique détaillée des blocs de caractères dans le ré- férentiel, [0019] [fig.5] est une représentation de l'orientation des segments, et [0020] [fig.6] est une représentation schématique d'un système d'analyse. [0021] Selon un mode de réalisation, un ticket de caisse 10 se présente sous la forme d'une bande de papier rectangulaire présentant un bord supérieur 10.1, un bord inférieur 10.2, des bords latéraux droit et gauche 10.3, 10.4 parallèles. [0022] Des informations sont imprimées sur le ticket de caisse 10, comme des données relatives au commerçant 12, une liste de produits 14, des données relatives à la somme à payer 16 et des données relatives au paiement 18 (moyen de paiement, date du paiement, ...). [0023] Bien entendu, l'invention n'est pas limitée à ces données, d'autres informations pouvant figurer sur le ticket comme par exemple des données relatives à des offres promotionnelles. [0024] Ainsi, le ticket de caisse 10 comprend au moins une deuxième zone Z14 où figure la liste de produits 14 et, éventuellement, au moins une première zone Z12 où figurent les données relatives au commerçant, au moins une troisième zone Z16 où figurent les données relatives à la somme à payer 16, au moins une quatrième zone Z18 où figurent les données relatives au paiement 18. [0025] Ainsi, chaque zone Z12 à Z18 comprend au moins un segment 20 (ou ligne) comportant chacun au moins un bloc de caractères 22.1, 22.2. Les différents segments 20 du ticket de caisse 10 sont parallèles entre eux et orientés perpendiculairement aux bords latéraux 10.3, 10.4. Chaque bloc de caractères 22.1, 22.2 comprend un caractère ou plusieurs caractères accolés les uns aux autres, sans espace. Les différents blocs de caractères 22.1, 22.2 d'un même segment sont séparés par au moins un espace 24. [0026] Les caractères sont de type alphanumérique. Les blocs de caractères peuvent être de type lettre 22.1 ou de type nombre 22.2. [0027] Pour chaque produit, la deuxième zone Z14 comprend au moins un segment de type produit 20.1 comprenant au moins un bloc de caractères de type lettre 22.1 et au moins un bloc de caractères de type nombre 22.2. [0028] Dans la deuxième zone Z14, les segments de type produit 20.1 peuvent être séparés par un segment 20 de type titre comprenant un bloc de caractères de type mot 22.1 indiquant une catégorie de produits, comme par exemple « boisson(s) », « épicerie », « crèmerie », « divers »,... [0029] Le procédé d'analyse d'un ticket de caisse comprend une étape d'acquisition d'au moins une image 24 du ticket de caisse 10 et une étape de stockage de l'image 24 du ticket de caisse 10 dans un espace mémoire 26 d'un serveur 28. L'étape d'acquisition peut être réalisée par un utilisateur à l'aide d'un appareil 30 communiquant, via un réseau 31, avec le serveur 28 et intégrant ou étant connecté à un capteur d'images comme un smartphonc ou une tablette par exemple. Bien entendu, l'étape d'acquisition d'une image du ticket de caisse n'est pas limitée à cc mode opératoire, la dématérialisation du ticket de caisse pouvant être réalisée par tout autre moyen. [0030] En fonction de la longueur du ticket de caisse 10, plusieurs images 24 du ticket de caisse peuvent être réalisées lors de l'étape d'acquisition, les images 24 étant faites de manière à couvrir toute la superficie du ticket de caisse 10 et comprenant des zones de chevauchement. Ainsi, deux images d'un même ticket de caisse 10 comprennent au moins un segment 20 commun. [0031] Selon un mode de réalisation, une application est installée sur l'appareil 30 configure pour inviter l'utilisateur à saisir au moins une image 24 du ticket de caisse 10 et pour transmettre chaque image 24 au serveur 28. Cette application peut être configurée pour contrôler au moins une caractéristique de l'image 24, comme sa netteté par exemple. [0032] Le procédé d'analyse comprend une étape d'association d'un référentiel 32 à chaque image 24 du ticket de caisse 10 et de repérage des blocs de caractères 22.1, 22.2 présents dans l'image 24 dans ce référentiel 32. [0033] Chaque image 24 a une forme rectangulaire et comprend un côté supérieur 24.1 un côté inférieur 24.2 (parallèle au côté supérieur 24.1), un côté droit 24.3 et un côté gauche 24.4 (parallèle au côté choit 24.3). [0034] Le référentiel 32 comprend des premier et deuxième axes X et Y perpendiculaires, le premier axe X étant parallèle aux côtés supérieur/inférieur 24.1, 24.2, le deuxième axe Y étant parallèle aux côtés droit/gauche 24.3, 24.4. [0035] Généralement les bords latéraux 10.3, 10.4 du ticket de caisse 10 ne sont pas pa- rallèles au deuxième axe Y sur l'image 24, comme illustré sur la figure 2. Par conséquent, les segments 20 du ticket de caisse 10 ne sont pas nécessairement parallèles au premier axe X. [0036] De plus, même si les segments 20 sont imprimés selon une droite sur le ticket de caisse 10, les segments 20 présents sur l'image 24 sur le ticket de caisse 10 ne sont pas nécessairement agencés selon des droites mais peuvent éventuellement être courbes, dans le cas par exemple d'un ticket de caisse froissé ou abîmés. [0037] L'étape de repérage consiste à identifier chaque bloc de caractères 22, comme une aire contenant des caractères qui est encadrée d'un cadre 34, et à associer au moins un point dans le référentiel 32 à chaque cadre 34. Ainsi, comme illustré sur la figure 3, chaque bloc de caractères 22 est associé à un cadre 34 qui présente un premier côté positionné juste au-dessus des caractères du bloc de caractères 22, un deuxième côté po- sitionné juste au-dessous des caractères du bloc de caractères 22, un troisième côté positionné juste avant le premier caractère du bloc de caractères 22 et un quatrième côté positionné juste après le dernier caractère du bloc de caractères 22. Selon une configuration, le cadre est rectangulaire. Comme illustré sur la figure 3, les côtés des cadres 34 ne sont pas nécessairement parallèles aux premier et deuxième axes X, Y du référentiel 32. [0038] L'étape de repérage des blocs de caractères 22 dans l'image 24 du ticket de caisse 10 peut être réalisée en utilisant un logiciel d'analyse d'images, tel que l'application « Cloud Vision » par exemple, mis en oeuvre par une unité de traitement. [0039] Selon un mode de réalisation visible sur la figure 4, chaque cadre 34.1 à 34.12 est repéré par ses quatre sommets Al, Bl, Cl, D1 pour le cadre 34.1, A2, B2, C2, D2 pour le cadre 34.2 et ainsi de suite. [0040] Le procédé d'analyse comprend une étape de reconnaissance de texte permettant de décoder chaque caractère présent dans chaque cadre 34 de manière à reconstituer la chaîne de caractères de chaque bloc de caractères 22. Cette étape est mise en oeuvre par un logiciel de type OCR (pour Optical Character Recognition). L'application « Cloud Vision » peut être utilisée pour réaliser cette étape de reconnaissance de texte. [0041] Le procédé d'analyse comprend une étape de regroupement des blocs de caractères 22 par segment 20 pour pouvoir les interpréter. [0042] Si le ticket de caisse 10 était photographié verticalement et/ou si le ticket de caisse 10 n'était pas froissé, les points des blocs de caractères 22 seraient agencés selon des droites parallèles et horizontales. [0043] Pour l'étape de regroupement, chaque bloc de caractères est associé à un point 01, 02,... correspondant au milieu du côté gauche AID1, A2D2,... du cadre 34.1, 34.2. D'autres points auraient pu être choisis, comme par exemple le point d'intersection des diagonales de chaque cadre 34. [0044] A partir des points 01 à 012, l'étape de regroupement consiste à: déterminer les points les plus proches du deuxième axe Y qui sont potentiellement des points d'oiigine de segments ; à déterminer, pour au moins un de ces points 01, 05, 010 dit, point, d'origine, une droite DLI, DL5, DLIO passant par le point d'origine 01, 05, 010 et parallèle au premier axe X, à déterminer, pour au moins un de ces points d'origine 01, 05, 010, le point 02, 06, 011, appelé point directeur, le plus proche du point d'origine considéré 01, 05, 010 et de la droite DLI, DL5, DLIO passant par le point d'origine considéré, à déterminer, pour au moins un de ces points d'origine 01, 05, 010, une droite directrice DDI. DD5, DDIO passant par le point d'origine considéré 6 01, 05, 010 et le point directeur 02, 06, 011 associé, la droite directrice correspondant approximativement à l'orientation du segment 20 associé au point d'origine 01, 05, 010 considéré. à déterminer, pour chacun des points restants, la droite directrice DD1, DD5, DD10 la plus proche. [0045] Il n'est pas nécessaire de déterminer les points directeurs associés à chacun des points d'origine. En effet, à partir d'une droite directrice passant par un point d'origine et son point directeur, il est possible de déterminer toutes les autres droites directrices passant chacune par un des points d'origine, toutes les droites directrices étant parallèles et ayant le même coefficient. [0046] Chaque droite directrice DD1, DD5, DD10 correspond à un segment 20. Pour chaque segment 20, les blocs de caractères 22 contenus dans ce segment 20 sont associés aux points appartenant à ou les plus proches de la droite directrice DD1, DD5, DD10 correspondant au segment 20. Pour déterminer les points les plus proches, la méthode des moindres carrés peut être utilisée par exemple. [0047] Selon un autre mode opératoire, l'étape de regroupement consiste à: déterminer des premiers points 01, 05, 010 les plus proches du deuxième axe Y; à déterminer, pour au moins un de ces premiers points 01, 05, 010, une première droite directrice DL1, DL5, DL10 passant par le premier point 01, 05, 010 et parallèle au premier axe X, à déterminer, pour au moins un de ces premiers points 01. 05, 010, un deuxième point 02. 06. 011, le plus proche du premier point considéré 01, 05, 010 et de la première droite directrice DLI, DL5, DLIO passant par le premier point considéré, à déterminer une deuxième droite directrice passant par le premier point 01, 05,010 et le deuxième point 02,06, 011, à déterminer un troisième point 03, 07, 012, le plus proche du deuxième point 02, 06, 011 et de la deuxième droite directrice, à déterminer une troisième droite directrice con-espondant à la droite des moindres carrés des trois premiers points par une régression linéaire, à reproduire les deux dernières étapes jusqu'à ce que tous les points soient associés à une droite, les blocs de caractères associés aux points d'une même droite appartenant au même segment. [0048] Selon un autre mode opératoire, les points sont regroupés par segment en dé- terminant pour chacun d'eux une droite directrice qui est réajustée à chaque intégration d'un nouveau point par une régression linéaire, les points étant intégrés aux droites de proche en proche en partant de points d'origine, chaque point étant intégré à la droite 7 directrice la plus proche ou, si la distance le séparant de la droite directrice la plus proche est supérieure à un seuil donné, en le considérant comme un nouveau point d'origine d'une nouvelle droite. Ce mode opératoire est plus particulièrement adapté pour les tickets pliés ou froissés. [0049] L'étape de reconnaissance de texte peut être réalisée avant l'étape de repérage ou après l'étape de regroupement. [0050] Ces premières étapes permettent d'obtenir une liste de segments 20 comprenant chacun au moins un bloc de caractères 22, lesdits segments étant ordonnés comme sur le ticket de caisse 10. [0051] L'étape de regroupement peut être réalisée par une application interprétée par un or- dinateur ou le serveur 28. [0052] Dans le cas d'un ticket de caisse 10 de grandes dimensions nécessitant la prise de plusieurs images 24, chacune est analysée comme précédemment indiqué de manière à établir, pour chacune d'elles, une liste de segments 20 ordonnés. [0053] Le procédé d'analyse d'un ticket de caisse 10 associé à plusieurs images comprend également une étape d'ordonnancement des segments 20 reconstitués issus des différentes images 24 selon l'ordre des segments 20 du ticket de caisse 10, en les comparant et en supprimant les doublons. [0054] Selon un premier mode opératoire, le premier segment de la liste de segments re- constitués d'une première image 24 est comparé avec les segments de la liste de segments reconstitués de chacune des autres images 24 en partant du dernier segment de la liste des autres images 24 jusqu'au premier. [0055] Si aucun autre segment n'est identique cela signifie que la liste de segments de la première image correspond au début de la liste de segments du ticket de caisse 10. [0056] Si le premier segment de la première image est identique à un segment d'une deuxième image, la liste du ticket de caisse comprend la liste de la première image positionnée après la liste de la deuxième image en supprimant les doublons présents sur les deux listes. En réitérant ces comparaisons, il est possible de reformer de manière ordonnée la liste des segments reconstitués du ticket de caisse 10. [0057] Selon un deuxième mode opératoire, le dernier segment de la liste de segments re- constitués d'une première image 24 est comparé avec les segments de la liste de segments reconstitués de chacune des autres images 24 en partant du premier segment 20 de la liste des autres images 24 jusqu'au dernier. [0058] Si aucun autre segment n'est identique, cela signifie que la liste de segments de la première image correspond à la fin de la liste de segments du ticket de caisse 10. [0059] Si le dernier segment de la première image est identique à un segment d'une deuxième image, la liste du ticket de caisse comprend la liste de la première image positionnée avant la liste de la deuxième image en supprimant les doublons présents sur 8 les deux listes. En réitérant ces comparaisons, il est possible de reformer de manière ordonnée la liste des segments reconstitués du ticket de caisse 10. [0060] Suite à ces premières étapes, les informations indiquées sur le ticket de caisse se présentent sous la forme d'une liste de segments reconstitués 20 contenant chacun au moins un bloc de caractères 22. [0061] Les précédentes étapes peuvent être appliquées pour analyser toute représentation numérisée d'un document, comme par exemple un document photographié. Elles permettent de reconstituer les chaînes de caractères d'un document ligne par ligne. La reconstitution des segments permet de favoriser l'analyse des documents, certains blocs de caractères de la représentation numérisée du document ne pouvant pas s'interpréter seuls mais à partir de l'interprétation des autres blocs de caractères du segment. Enfin, l'impression d'une représentation numérisée d'un document est de meilleure qualité si les segments d'au moins un bloc de caractères ont pu être reconstitués et si, pour chacun d'eux, les caractères des blocs de caractères ont pu être identifiés. [0062] Le procédé d'analyse du ticket de caisse 10 comprend une étape d'interprétation des segments 20 reconstitués pour notamment identifier des produits. [0063] L'étape d'interprétation des segments peut comprendre une sous-étape d'identification de mots clés en comparant chaque bloc de caractères 22 de chaque segment 22 avec une liste de mots clés, comme par exemple les noms des commerçants, les noms des enseignes, des mots comme « prix », « total », « avantage(s) », « carte bancaire » « chèque », « espèces », ....ainsi qu'une étape d'identification de format particulier comme des formats correspondant à une date, à une heure, à un numéro de téléphone. [0064] L'étape d'interprétation des segments peut comprendre une sous-étape d'identification des segments correspondant à' des segments produits. A cet effet, les deux derniers blocs de caractères 22 de chaque segment 20 de la liste des segments reconstitués sont analysés. Si les deux derniers blocs de caractères ne comprennent pas de symbole monétaire et/ou de chiffres alors le segment ne correspond pas à un segment produit. Dans le cas contraire, le segment correspond à un segment produit sauf si l'un des autres blocs de caractères du segment correspond ou contient le mot « total ». [0065] Les segments produits ayant été identifiés, chacun d'eux est traité afin d'identifier le produit. [0066] Selon un autre mode opératoire, cette sous-étape d'identification des segments cor- respondant à des segments produits est supprimée. Ainsi, un segment est considéré comme un segment produit si un produit est identifié dans le segment. [0067] Chaque produit correspond à une séquence d'au moins une chaîne de caractères, 9 chacune d'elles comportant un mot, une abréviation, .... [0068] Selon une difficulté, un même produit peut être identifié de différentes manières sur différents tickets de caisse. Ainsi un yaourt brassé nature peut être identifié par une première séquence de chaînes de caractères « YR BRS NAT » sur un premier ticket de caisse et par une deuxième séquence de chaînes de caractères « YAOT BRA NA » sur un autre ticket de caisse. Selon une autre problématique, un autre produit, comme une bière brassée naturellement, peut être identifié sur un ticket de caisse par une séquence de chaînes de caractères proche, comme par exemple « BR BRS NAT ». [0069] L'étape d'interprétation des segments utilise une liste de noms, comme par exemple les noms de marques ou les noms de produits. Chaque nom comprend une séquence d'au moins une chaîne de caractères. A titre d'exemple, la liste de noms peut comprendre les noms : BIERE (une chaîne de caractères), COUCHE CULOTTE (deux chaînes de caractères), .... [0070] Cette liste de noms peut associer à chaque nom au moins un mot semblable, comme un synonyme, une abréviation,..., chaque mot semblable comprenant une séquence d'au moins une chaîne de caractères. Ainsi, le produit « YAOURT » peut être associé au mot semblable « YRT ». [0071] Au moins certains noms de la liste de noms sont associés chacun à un champ lexical répertoriant des mots associés comportant chacun une séquence d'au moins une chaîne de caractères. Les mots associés pouvant être présents dans plusieurs champs lexicaux, chacun d'eux est couplé à une pondération dans chaque champ lexical en fonction du nombre de fois où il a été associé au nom du champ lexical considéré. A titre d'exemple, si le terme « BRS » a été associé huit fois avec le produit YAOURT et deux fois avec le produit BIERE, la pondération du terme « BRS » est égale à 80% dans le champ lexical du nom YAOURT et à 20% dans le champ lexical du nom BIERE. [0072] L'étape d'interprétation des segments comprend, pour chaque segment, une étape d'identification d'un nom (marque ou produit) présent dans le segment étudié qui consiste à comparer une séquence d'au moins un bloc de caractères du segment étudié avec les séquences d'au moins une chaîne de caractères des noms de la liste de noms et de leurs mots semblables si ces derniers sont associés aux noms. [0073] Si une séquence de bloc de caractères du segment étudié est égale à une séquence de chaîne de caractères d'un nom de la liste de noms ou d'un mot semblable alors le nom est identifié. Le segment contenant cette séquence de blocs de caractères est considéré comme un segment produit. [0074] Les autres blocs de caractères du segment étudié, appelés blocs restants, sont considérés comme des mots associés du champ lexical du nom identifié. Chaque bloc restant peut être comparé à la séquence de chaîne de caractères des mots associés du champ lexical du nom identifié. Si le bloc restant est égal à une séquence de chaîne de caractères d'un mot associé du champ lexical, la pondération du mot associé est augmentée d'une unité dans le champ lexical du nom identifié. Si le bloc restant ne correspond à aucune séquence de chaîne de caractères des mots associés du champ lexical alors cc bloc restant est considéré comme la séquence de chaîne de caractères d'un nouveau mot associé du champ lexical du nom identifié. Ainsi, ce nouveau mot associé est ajouté au champ lexical de nom identifié avec une pondération d'une unité. [0075] Si aucune séquence de bloc de caractères du segment étudié n'est égale à une séquence de chaîne de caractères d'un nom de la liste de noms ou d'un mot semblable alors l'étape d'identification consiste à comparer les séquences d'au moins un bloc de caractères du segment étudié avec les séquences d'au moins une chaîne de caractères des mots associés des différents champs lexicaux. [0076] Si aucune séquence d'au moins un bloc de caractères n'est égale à une séquence d'au moins une chaîne de caractères des mots associés des différents champs lexicaux, le nom est identifié par un opérateur. Si le segment ne correspond pas à un segment produit, il n'est pas analysé. [0077] Si l'opérateur identifie un nouveau nom, il ajoute ce nom à la liste de noms et les blocs de caractères du segment autres que ceux correspondant du nouveau nom sont considérés comme des mots associés du champ lexical du nouveau nom. [0078] Si l'opérateur identifie un produit dont le nom est déjà présent dans la liste de noms (le produit étant identifié dans le segment par un nouveau mot semblable), alors l'opérateur associe au nom du produit identifié un nouveau mot semblable correspondant à une séquence d'au moins un bloc de caractères du segment. Les blocs de caractères du segment autres que ceux correspondant au nouveau mot semblable sont considérés comme des mots associés du champ lexical du nom du produit identifié. La pondération des mots associés présents dans le segment étudié et dans le champ lexical du nom identifié est augmentée d'une unité. Si l'un des mots associés présent dans le segment étudié ne figure pas dans le champ lexical du nom identifié, il y est ajouté avec une pondération d'une unité. [0079] Si une séquence de bloc de caractères du segment étudié est égale à une séquence de chaîne de caractères d'un mot associé présent dans un seul champ lexical identifié alors le nom est automatiquement déduit comme étant le nom associé au champ lexical identifié. [0080] Si certaines séquences de bloc de caractères du segment étudié sont égales à des séquences de chaîne de caractères de différents mots associés présents dans plusieurs champs lexicaux, les noms de ces différents champs lexicaux sont couplés chacun à un score de véracité. Selon une configuration, le score de véracité est un nombre fonction d'au moins une caractéristique déduite par exemple des pondérations. Lors de cette 11 étape, une liste de résultats est établie et comporte au moins les deux noms ayant les scores de véracité les plus élevés. [0081] Si le score dc véracité pour un premier nom est supérieur à un premier seuil, par exemple 80, et si la différence entre le score de véracité du premier nom de la liste de résultats et le score de véracité du deuxième nom de la liste de résultats est supérieure à un deuxième seuil, par exemple 50, alors le nom figurant dans le segment étudié correspond au premier nom. La pondération de chaque mot associé ayant permis d'identifier le nom est augmentée d'une unité dans le champ lexical du nom identifié. [0082] Si le premier seuil n'est pas atteint, le produit est identifié par un opérateur comme indiqué précédemment. [0083] Si le premier seuil est atteint mais que le deuxième seuil n'est pas atteint parce qu'au moins deux noms ont des scores de véracité élevés et proches, l'étape d'identification consiste à demander à un opérateur dc choisir parmi les noms, ayant chacun un score de véracité élevé et dont la différence entre les scores dc véracité est inférieure au deuxième seuil, celui qui est présent dans le segment. La pondération de chaque mot associé ayant permis d'identifier le nom sélectionné par l'opérateur est augmentée d'une unité dans le champ lexical du nom sélectionné. [0084] Pour la mise en oeuvre de l'étape d'interprétation, le serveur 28 comprend au moins une base de données 36 répertoriant la liste des mots clés, la liste des noms et leurs mots semblables, un champ lexical pour chaque nom dans lequel figurent les mots associés ainsi qu'une unité de traitement 38 configurée pour comparer des segments d'au moins un bloc de caractères avec des segments d'au moins une chaîne de caractères des mots clés, des noms, des mots semblables, des mots associés, afin de déterminer un score de véracité, pour mettre à jour les pondérations des mots associés, pour demander à un opérateur d'identifier un nom de produit dans un segment ou de choisir entre plusieurs noms de produit. Plus généralement, l'unité de traitement est configurée pour identifier les produits dans les segments. [0085] Quel que soit le mode de réalisation, le système d'analyse d'un document comprend au moins une unité de traitement 38 configurée pour repérer dans un référentiel 22 les blocs de caractères 22 présents sur au moins une représentation du document, pour réaliser une reconnaissance de texte des caractères présents dans chacun des blocs de caractères 22, pour regrouper les blocs de caractères 20 par segment, lesdits segments reconstitués étant listés selon le même ordonnancement que sur le document. [0086] Lorsque le document photographié est associé à plusieurs images, l'unité de traitement 38 est configurée pour analyser chacune des images 24 comme précédemment indiqué, pour ordonnancer les segments reconstitués des différentes images selon l'ordre du document en les comparant et en supprimant les doublons. 12 [Revendication 1] REVENDICATIONSProcédé d'analyse ou d'impression d'un document à partir d'au moins une représentation numérisée du document, ledit document comprenant une succession de segments (20) comportant chacun au moins un bloc de caractères (22.1, 22.2), caractérisé en ce qu'il comprend les étapes : d'association d'un référentiel (32) à au moins une représentation numérisée du document, de repérage des blocs de caractères (22.1, 22.2) présents dans F image (24) dans ce référentiel (32), chaque Hoc de caractères (22.1, 22.2) étant associé à un point (01 à 012), de reconnaissance de texte pour décoder chaque caractère présent dans chaque bloc de caractères de manière à reconstituer la chaîne de caractères de chaque bloc de caractères, de regroupement des blocs de caractères (22.1, 22.2) pour reconstituer les segments en déterminant des points d'origine (01, 05, 010) et une droite directrice (DD1, DD5, DD10) pour chaque segment (20), les blocs de caractères de chaque segment (20) considéré étant associés aux points (01 à 012) appartenant à ou proches de chacune des droites directrices (DD1, DD5, DD10), d'interprétation ou d'impression des segments reconstitués. [Revendication 2] [Revendication 3] [Revendication 4] Procédé d'analyse d'un document selon la revendication 1, caractérisé en cc que les points sont regroupés par segment en déterminant pour chacun d'eux une droite directrice qui est réajustée à chaque intégration d'un nouveau point par une régression linéaire, les points étant intégrés aux droites de proche en proche en partant d'un point d'origine, chaque point étant intégré à la droite directrice la plus proche. Procédé d'analyse d'un document selon la revendication 1 ou 2, caractérisé en ce qu'il comprend une étape d'acquisition de plusieurs images (24) du document, une étape d'ordonnancement des segments (20) reconstitués issus des différentes images (24) selon l'ordre des segments du ticket de caisse (10) en les comparant et en supprimant les doublons. Procédé d'analyse d'un document. selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape d'interprétation des 13 segments (20) afin d'identifier des noms de produits ou de marques consistant pour chaque segment : à comparer des séquences de bloc de caractères du segment étudié avec des séquences de chaîne de caractères des noms d'une liste de noms, si aucune séquence de bloc de caractères du segment étudié n'est égale à une séquence de chaîne de caractères d'un nom de la liste de noms, à comparer les séquences dc bloc de caractères du segment étudié avec des séquences de chaîne de caractères des mots associés de différents champs lexicaux associés aux noms de la liste de noms, si certaines séquences de bloc de caractères du segment étudié sont égales à des séquences de chaîne de caractères de différents mots associés présents dans plusieurs champs lexicaux, à coupler un score de véracité à chaque nom de ces différents champs lexicaux. [Revendication 5] [Revendication 6] Procédé d'analyse d'un document selon la revendication précédente, caractérisé en ce que le nom du produit ou de la marque figurant dans le segment étudié correspond à un premier nom si le score dc véracité pour le premier nom est supérieur à un premier seuil et si la différence entre le score de véracité du premier nom et le score de véracité d'un deuxième nom est supérieure à un deuxième seuil, en ce que le nom du produit ou de la marque figurant dans le segment étudié est identifié par un opérateur si aucun score de véracité n'est supérieur au premier seuil et en ce que le nom du produit ou de la marque figurant dans le segment étudié est sélectionné par un opérateur parmi une liste de noms ayant chacun un score de véracité supérieur au premier seuil et dont la différence entre les scores de véracité est inférieure au deuxième seuil. Procédé d'analyse d'un document selon la revendication précédente, caractérisé en ce que les mots associés appartenant à plusieurs champs lexicaux sont associés à une pondération dans chacun des champs lexicaux dans lesquels ils sont présents et en ce que, pour chaque mot associé présent dans le segment d'un nom identifié, sa pondération est augmentée d'une unité dans le champ lexical du nom identifié s'il y figure ou ledit mot associé est ajouté dans le champ lexical du nom identifié avec une pondération d'une unité s'il n'y figure pas. 14 [Revendication 7] [Revendication 8] Procédé d'analyse d'un document selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend une étape d'interprétation des segments (20), afin d'identifier des noms de produits ou de marque, consistant pour chaque segment : à comparer des séquences de bloc de caractères du segment étudié avec des séquences de chaîne de caractères des noms d'une liste de noms, si aucune séquence de bloc de caractères du segment étudié n'est égale à une séquence de chaîne de caractères d'un nom de la liste de noms, à comparer les séquences de bloc de caractères du segment étudié avec des séquences de chaîne de caractères des mots associés de différents champs lexicaux associés aux noms de la liste de noms. si une séquence de bloc de caractères du segment étudié est égale à une séquence de chaîne de caractères d'un mot associé présent dans un seul champ lexical identifié, à déduire que le nom du produit ou de la marque présent dans le segment étudié correspond au nom du champ lexical identifié. Procédé d'analyse d'un document selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend une étape d'interprétation des segments (20) afin d'identifier des noms de produits ou de marques consistant pour chaque segment : à comparer des séquences de bloc de caractères du segment étudié avec des séquences de chaîne de caractères des noms d'une liste de noms, si aucune séquence de bloc de caractères du segment étudié n'est égale à une séquence de chaîne de caractères d'un nom de la liste de noms, à comparer les séquences de bloc de caractères du segment étudié avec des séquences de chaîne de caractères des mots associés de différents champs lexicaux associés aux noms de la liste de noms, Si aucune séquence d'au moins un bloc de caractères n'est égale à une séquence d'au moins une chaîne de caractères des mots associés des différents champs lexicaux, à demander à un opérateur d'identifier le nom du produit ou de la marque.