FR 3109650 A1 20211029 FR 2004009 A 20200422 L’invention concerne un procédé d’établissement automatisé par ordinateur d’une nomenclature (N) d’un texte électronique de document de brevet, comprenant les opérations de : –extraire du texte chaque passage débutant par un article et terminé par au moins une référence, et pour chaque référence de chaque passage, constituer un objet comprenant la référence et un extrait incluant des mots du passage sans son article ; –enregistrer un premier objet dans une collection (N), et pour chaque autre objet : a) comparer cet autre objet à chaque objet de la collection (N), et l’intégrer à un objet de la collection (N) en enregistrant son extrait dans l’objet de la collection (N) si : –la référence de cet autre objet est identique à la référence de l’objet de la collection (N) ; et si –pour chaque mot de l’extrait de cet autre objet, l’objet de la collection (N) comporte un extrait incluant un mot identique à ce mot décliné dans une forme singulière ou plurielle, ou inversement ; b) enregistrer cet autre objet dans la collection (N) s’il n’a pas été intégré à l’étape a). Figure pour l’abrégé : Figure 3 Procédé d’établissement de la nomenclature d’un document de brevet L’invention concerne l’établissement automatisé de la nomenclature des composants mentionnés dans un document de brevet. ÉTAT DE LA TECHNIQUE ANTÉRIEURE Le texte d’un document de brevet mentionne habituellement des composants qui y sont nommés en étant suivis par une référence permettant de renvoyer à ces composants tels qu’ils sont représentés sur les figures du document de brevet. Le texte du document peut être terminé par une nomenclature, c’est-à-dire une liste récapitulant les noms des composants mentionnés avec leurs références, mais en pratique il est peu fréquent que le texte d’un document de brevet intègre une nomenclature. Le but de l’invention est d’apporter un procédé pour générer automatiquement la nomenclature d’un document de brevet électronique. A cet effet, l’invention a pour objet un procédé exécuté par un ordinateur pour établir une nomenclature des composants qui sont mentionnés en association avec une référence incluant un chiffre dans un texte électronique de document de brevet, ce procédé comprenant les opérations de : –extraire du texte des passages débutant par un article et terminés par une ou plusieurs références ; –pour chaque référence contenue dans chaque passage, former un objet comprenant cette référence ainsi qu’un extrait incluant tout ou partie des mots du passage sans article ; –enregistrer un premier objet dans une collection, et pour chaque autre objet : a) comparer cet autre objet à chaque objet de la collection, et intégrer cet autre objet à un objet de la collection en enregistrant son extrait dans l’objet de la collection si : –la référence de cet autre objet est identique à la référence de l’objet de la collection ; et si –pour chaque mot de l’extrait de cet autre objet, l’objet de la collection comporte un extrait incluant un mot identique à une forme singulière ou plurielle de ce mot ; ou si –pour chaque mot de l’extrait le plus long de l’objet de la collection, l’extrait de l’autre objet comporte un mot identique à une forme singulière ou plurielle de ce mot ; b) enregistrer cet autre objet dans la collection s’il n’a pas été intégré à un objet de la collection à l’issue de l’étape a). Grâce à cette solution, la nomenclature d’un texte peut être établie de manière à la fois exhaustive et rapide, en une seule passe de traitement, qui permet de répertorier pour chaque composant mentionné dans le document de brevet, la référence utilisée et la ou les dénominations utilisées. L’invention concerne également un procédé ainsi défini, dans lequel la détection d’articles du texte est assurée en identifiant chaque terme du texte qui est répertorié dans une liste d’articles préétablie. L’invention concerne également un procédé ainsi défini, dans lequel l’étape a) comporte l’établissement de formes singulières et plurielles d’un mot, incluant d’une part le mot original et d’autre part le mot original dont la lettre terminale « s » est retirée si ce mot original en comporte une ou le mot original auquel la lettre terminale « s » est ajoutée si ce mot original n’en comporte pas. L’invention concerne également un procédé ainsi défini, dans lequel l’étape a) comporte l’établissement de formes singulières et plurielles d’un mot au moyen d’un dictionnaire préétabli. L’invention concerne également un procédé ainsi défini, dans lequel l’établissement d’un extrait à partir d’un passage comporte d’une part le retrait de chaque article et référence présents dans ce passage, et d’autre part le retrait de mots clé ne pouvant faire partie d’un groupe nominal, ces mots clé sont répertoriés dans une liste préétablie. L’invention concerne également un procédé ainsi défini, dans lequel la comparaison d’un objet de la collection avec un autre objet est assurée en comparant les mots du plus long extrait de l’objet de la collection avec les mots de l’extrait de l’autre objet. L’invention concerne également un système de traitement de données comprenant des moyens pour mettre en œuvre les opérations du procédé ainsi défini. L’invention concerne également un produit programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur conduisent celui-ci à mettre en œuvre les opérations du procédé ainsi défini. L’invention concerne également un support lisible par ordinateur comprenant des instructions qui, lorsqu’elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les opérations du procédé ainsi défini. est une partie de texte de document de brevet comprenant des passages apparaissant en caractères gras qui débutent par un article se terminent par une ou plusieurs références ; est une représentation d’une liste préenregistrée de mots qui sont des articles et d’expressions rationnelles utilisées pour extraire du texte les passages débutant par un article et terminés par une ou plusieurs références ; est une représentation d’une nomenclature sous forme d’une collection d’objets selon l’invention ; montre deux autres représentations de la nomenclature d’un document de brevet. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS Le programme selon l’invention est avantageusement configuré pour lire un fichier représentant un texte, enregistré dans un format de traitement de texte, et/ou pour télécharger des données de type html représentant un texte, et en extraire une chaine de caractères représentative du texte sans sa mise en forme. A ce titre le programme peut intégrer et exploiter une ou des librairies appropriées pour convertir les données issues de la lecture d’un fichier et/ou des données html, vers une chaine de caractères représentant ce texte sous une forme « plain text », c’est-à-dire sans mise en forme et dans un jeu de caractères commun tel que Unicode. Par ailleurs, le programme selon l’invention peut être exécuté sur un ordinateur, c’est-à-dire un terminal informatique pouvant aussi être un smartphone ou une tablette. Obtention des passages du texte : Sur la figure 1, une partie d’un texte T de document de brevet est une chaine de caractères comportant des termes, c’est-à-dire des sous-chaines de caractères ne comportant pas de caractère de séparation de type espace ou ponctuation. Ces termes sont des mots lorsqu’ils ne comportent pas de chiffre c’est-à-dire lorsqu’ils comportent essentiellement des lettres, et ces termes sont des références lorsqu’ils comportent un ou plusieurs chiffres. Comme illustré sur la figure 1, ce texte T comporte des passages, repérés par P1 à P21 débutant chacun par un mot qui est un article, et terminés chacun par une ou plusieurs références. En premier lieu, chaque passage débutant par un article et terminé par une ou plusieurs références est extrait du texte, pour à terme établir la nomenclature. L’identification des articles du texte est assurée en utilisant une liste d’articles telle que la liste LA représentée sur la figure 3 qui est préenregistrée dans le programme, chaque terme du texte T qui est identique à l’un des mots de cette liste LA étant un article. L’identification des références est assurée en détectant les termes du texte T dont un caractère est un chiffre arabe. Les articles du texte peuvent être identifiés avec une expression rationnelle (couramment désignée par "RegExp"), construite à partir de la liste d’articles LA, la majorité des langages de programmation permettant de construire et d’exploiter des expressions rationnelles pour traiter des chaines de caractères. Par exemple, l’expression rationnelle ER1 associée au remplacement R2 (représentés sur la figure 2), passés comme arguments à la fonction de remplacement ("Replace()") du langage de programmation utilisé permet de marquer les termes « le », « la », « les » du texte, en insérant le caractère « dièse » immédiatement avant leur premier caractère. Une expression rationnelle de même structure que ER1 mais comportant tous les articles de la liste LA permet de marquer tous les articles du texte T. Dans l’exemple du texte T, les référence, qui comprennent chacune un chiffre, sont identifiés et marqués avec l’expression rationnelle ER2 associée au remplacement R2 (représentés sur la figure 2) qui permet de marquer chaque terme comprenant un chiffre en insérant le caractère « arobase » immédiatement après son dernier caractère. Une possibilité pour extraire les passages débutant par un article et terminés par une ou plusieurs références peut consister ainsi à réaliser d’abord les deux remplacements ci-dessus pour marquer tous les articles et toutes les références. Après quoi l’expression rationnelle ER3 (représentée sur le figure 2) peut être utilisée comme argument de la fonction de correspondance ("Match()") du langage de programmation utilisé, pour obtenir les passages du texte recherchés, par exemple sous forme d’une liste de chaines de caractères. D’une manière plus générale, l’utilisation d’expressions rationnelles avec la liste d’articles LA permet d’extraire du texte les passages débutant par un article et terminés par une ou plusieurs références, dans la grande majorité des textes. Traitement d’un passage : Le traitement d’un passage Pi issu du texte T consiste à extraire de celui-ci d’une part une liste des références qu’il contient, et d’autre part un extrait représentatif du groupe nominal qu’il contient, pour former selon le cas un ou plusieurs objets contenant chacun une seule référence et un seul extrait. L’obtention de la liste des références présentes dans un passage est assurée par exemple avec une expression rationnelle se rapprochant de l’expression ER2, à passer en argument à la fonction de correspondance du langage de programmation utilisé, de manière à obtenir une liste dont chaque élément est l’une des références du passage Pi. L’obtention de l’extrait est assurée en copiant le passage Pi dans une variable nommée par exemple « extrait », puis en retirant de la valeur de cette variable chaque référence contenue dans la liste des références établie dans l’opération précédente, ainsi que chaque article répertorié dans la liste LA. Avantageusement, l’extrait peut ne contenir qu’une partie des mots du passage Pi sans son article : pour que l’extrait corresponde au mieux au groupe nominal contenu dans le passage, il est avantageux d’en retirer aussi les mots clé répertoriés dans une liste préenregistrée dans le programme qui sont des mots ne pouvant pas faire partie d’un groupe nominal. Cette liste de mots clé préenregistrée comporte par exemple les mots « correspondant, correspondants, respectif, respectifs, respectivement ». Il peut être avantageux de retirer aussi tous les mots situés au-delà d’un tel mot clé dans le passage traité. Ainsi, dans le cas du texte T, le traitement du passage P13, conduit à retirer le mot « correspondant » de l’extrait, de sorte que cet extrait a pour valeur "boulon" qui correspond précisément au groupe nominal contenu dans le passage P13. Lorsque les références et l’extrait ont été établis à partir du passage Pi, le programme constitue pour chaque référence présente dans ce passage Pi, un objet ayant une propriété nommée « reference » dont la valeur est la référence considérée, et ayant une propriété nommée « extraits » qui est une liste ayant un seul élément dont la valeur est l’extrait de ce passage, qui est une chaine de caractères. Ainsi, dans le cas du texte T, le traitement du passage P1 par le programme génère un seul objet du fait que ce passage contient une seule référence. Le traitement du passage P10 donne lui lieu à l’établissement de deux objets puisque ce passage comporte deux références, à savoir "6a" et "6b". Le premier objet a une propriété nommée « référence » dont la valeur est "6a", et une propriété nommée « extraits » qui est une liste contenant un seul élément qui est la chaine de caractères "boulons". Le deuxième de ces objets est identique au premier, à la différence près que la valeur de sa propriété « reference » est "6b", au lieu d’être "6a". Dans l’exemple du texte T, le traitement de tous les passages, à savoir les passages P1 à P21 génère un total de 25 objets, puisque les passages P7, P10, P12 et P13 génèrent chacun deux objets et les autres passages génèrent chacun un seul objet. Ainsi, l’index « i » désignant un passage Pi quelconque est ici compris entre 1 et 21, et l’index « j » désignant un objet quelconque Oj extrait de l’un ou l’autre des passage Pi est compris entre 1 et 25. Collection d’objets : Un des objets issu de l’un des passages traités, par exemple l’objet O1 dans l’exemple des figures, est alors enregistré dans une collection d’objets notée N, avant d’intégrer à cette collection N les autres objets, issus des passages traités. L’intégration d’un autre objet Oj, généré à partir d’un passage Pi, à la collection N est assurée en comparant cet autre objet Oj à chaque objet de la collection N. Si la référence de cet autre objet Oj est identique à la référence d’un objet Ok de la collection N considéré, et si chaque mot de l’extrait de ce autre objet Oj a un mot lui correspondant parmi les mots de l’objet Ok de la collection N, le programme intègre cet autre objet Oj à l’objet Ok de la collection N. Inversement, si la référence de l’objet Ok de la collection N est identique à la référence de cet autre objet Oj et si chaque mot de l’objet Ok de la collection a un mot lui correspondant parmi les mots de cet autre objet Oj, le programme intègre cet autre objet Oj à l’objet Ok de la collection N. L’intégration de cet autre objet Oj à l’objet Ok de la collection N est assurée en enregistrant l’extrait de cet autre objet Oj dans l’objet Ok de la collection N. Si après avoir comparé cet autre objet Oj à chaque objet de la collection N, il n’a été intégré à aucun objet de cette collection, alors le programme intègre cet autre objet Oj à la collection N en l’ajoutant tel quel à celle-ci. En pratique, la collection N est une liste d’objets, et le nouvel objet est enregistré dans cette liste pour constituer par exemple son dernier élément. D’une manière générale, la comparaison d’un objet Ok de la collection N avec un autre objet Oj est assurée en comparant les mots de l’extrait le plus long de l’objet Ok avec les mots de l’extrait de l’autre objet Oj. Dans le cas du texte T dont le traitement est représenté sur les figures, la collection N comporte 11 objets, résultant de l’intégration des 25 objets formés lors du traitement des passages P1 à P21. Autrement dit, l’index « k » désignant un objet quelconque Ok de la collection N est ici compris entre 1 et 11. Comme on l’aura compris, au cours de l’intégration des objets dans la collection N, les objets présents dans cette collection évoluent. Par exemple le troisième objet, repéré par O3 sur la figure 3 comporte un seul extrait lorsqu’il est ajouté à la collection, après quoi cet objet O3 s’enrichit de quatre autres extraits, lorsque les objets résultant des passages P5, P11, P15, et P19 sont intégrés à la collection N, en étant directement intégrés à cet objet O3. De manière analogue, et comme visible sur la figure 3, les objets O7 et O8 de la collection N s’enrichissent lors de l’intégration des objets issus du passage P13. Les objets O1 et O11 ne s’enrichissent pas après avoir été initialement intégrés dans la collection N du fait qu’ils n’apparaissent chacun que dans un seul passage du texte T. Correspondance de deux mots : La comparaison d’un premier mot avec un second mot est assurée de manière à conclure que le premier mot correspond au second mot si ces mots sont identiques ou si l’un est le pluriel ou le singulier de l’autre. Pour ce faire, le programme construit automatiquement des formes déclinées du premier mot au singulier et au pluriel, pour conclure qu’il correspond au second mot si l’une de ses formes déclinées est identique au second mot. Par exemple, si le premier mot est « boulons » et le second mot est « boulon », les formes déclinées du premier mot sont « boulons » et « boulon », ce qui permet d’identifier que la deuxième forme déclinée du premier mot est identique au second mot, et donc de conclure que ces deux mots se correspondent bien qu’ils soient différents. La construction des formes déclinées au singulier et au pluriel d’un mot est assurée par le programme en premier lieu en constituant une première déclinaison qui est le mot original. Une deuxième déclinaison est construite à partir du mot original auquel la lettre « s » terminale est ajoutée si ce mot original n’en comporte pas, ou bien le mot original auquel la lettre « s » terminale est retirée si le mot original en comporte une. D’une manière analogue, le programme peut construire des formes singulières et/ou plurielles possibles avec la lettre « x », complémentairement. Le programme construit ainsi de manière automatisée des déclinaisons au singulier et pluriel de tout mot, attendu qu’il n’est pas pénalisant de construire des déclinaisons n’existant pas dans la langue française. En effet, si une déclinaison du premier mot n’existe pas dans la langue française, elle ne peut pas être identique au second mot, puisqu’il fait partie de la langue française du fait qu’il a été écrit par un rédacteur maîtrisant cette langue. Par exemple, pour le mot « boulon », il n’est pas pénalisant de construire de façon automatisée les formes déclinées « boulons » et « boulonx ». Une autre possibilité pour décliner les forme singulière et plurielle d’un mot donné peut consister à utiliser un lexique ou dictionnaire préenregistré dans le programme, qui donne pour chaque mot au singulier de la langue considérée, sa déclinaison au pluriel, et inversement. Nomenclature : La collection N constitue une forme complète de la nomenclature extraite du texte, du fait qu’elle répértorie de façon ordonnée, exhaustive et cohérente, chaque composant mentionné dans le texte avec la référence qui lui est attribuée ainsi que la ou les dénominations utilisées pour le désigner. Cette collection N peut être traitée pour être ramenée à une liste de composants telle que la liste N1 ou bien la liste N2 représentées sur la figure 4. Plus particulièrement, la liste N1 est une nomenclature mentionnant uniquement les extraits les plus longs, c’est-à-dire les groupes nominaux les plus précis pour désigner chaque composant. A l’inverse, la liste N2 est une nomenclature dans mentionnant uniquement les extraits les plus courts, c’est-à-dire les groupes nominaux les plus génériques pour désigner chaque composant mentionné dans le texte T. Le traitement de la collection N pour constituer la liste N1 est ainsi assuré par le programme en traitant chaque objet de la collection N pour réunir sa référence avec son extrait le plus long dans une même chaine de caractères. A l’inverse la formation de la liste N2 est assurée en traitant chaque objet de la collection N pour réunir sa référence avec son extrait le plus court dans une même chaine de caractères. Comme on peut le voir sur la figure 4, l’établissement de la nomenclature permet d’une part à la personne consultant le document de brevet électronique de disposer immédiatement d’une liste des composants mentionnés dans ce document. Cette nomenclature peut également s’avérer utile pour détecter des erreurs que comporte le texte. Ainsi, dans l’exemple de texte T présenté dans les figures, l’établissement de la nomenclature permet de détecter rapidement qu’il existe une erreur sur l’utilisation de la référence 7 du fait qu’il désigne à la fois un câble et un connecteur. En pratique, le programme peut être configuré pour exporter la nomenclature, dans la forme N, N1 ou N2, sous forme d’un fichier, et/ou pour l’afficher dans une fenêtre du terminal informatique. Simplifications : Dans l’exemple illustré sur les figures, chaque objet comporte une propriété nommée « reference » dont la valeur est une référence, et une autre propriété nommée « extraits » qui est une liste d’éléments qui sont chacun une chaine de caractères. La structure de ces objets peut être simplifiée, chaque objet pouvant comporter dans sa propriété nommée « extraits », non pas une liste, mais une unique chaine de caractères correspondant à l’extrait le plus long. Dans ce cas, lorsqu’un objet Ok de la collection N est comparé à un autre objet Oj, et que ces objets se correspondent, l’intégration de l’objet Oj à l’objet Ok consiste à enregistrer l’extrait de l’objet Oj à la place de l’extrait de l’objet Ok s’il est plus long, de sorte que lorsque le traitement est terminé, chaque extrait d’un objet Ok de la collection N est alors le groupe nominal le plus long présent dans le texte pour la référence de cet objet Ok. Environnement : D’une manière générale, l’invention est implémentée sous forme d’un programme d’ordinateur, exécuté pour établir de façon automatique la nomenclature du texte traité par ce programme. En pratique, l’ensemble des objets est mémorisé au cours du traitement essentiellement dans le processeur exécutant le programme, du fait que les textes de demande de brevets présentent une longueur suffisamment réduite pour ne pas nécessiter d’exploiter la mémoire RAM du terminal sur lequel le programme tourne. Il s’ensuit notamment que l’exécution du procédé selon l’invention sur un ordinateur est rapide, ce qui offre un confort significatif pour son utilisateur. Le programme peut se présenter sous forme d’un fichier exécutable à installer dans un système d’exploitation, ce fichier pouvant être téléchargeable sur un site internet, sur un réseau interne, ou bien enregistré sur un support externe tel qu’une clé Usb ou analogue. Procédé exécuté par un ordinateur pour établir une nomenclature (N, N1, N2) des composants qui sont mentionnés en association avec une référence incluant un chiffre, dans un texte de document de brevet sous forme d’un fichier électronique (T), ce procédé étant caractérisé en ce qu’il comporte les opérations suivantes au cours desquelles les objets sont mémorisés essentiellement dans un processeur de l’ordinateur : –extraire du texte des passages (P1-P21) débutant par un article et terminés par une ou plusieurs références, en identifiant chaque article par détection de chaque terme du texte (T) qui est identique à un mot d’une liste d’articles préenregistrére (LA) ; –pour chaque référence contenue dans chaque passage (Pi), former un objet (Oj) comprenant cette référence ainsi qu’un extrait incluant tout ou partie des mots du passage sans article ; –enregistrer un premier objet (O1) dans une collection (N), et pour chaque autre objet (Oj) : a) comparer cet autre objet (Oj) à chaque objet de la collection (N), et intégrer cet autre objet (Oj) à un objet (Ok) de la collection (N) en enregistrant son extrait dans l’objet (Ok) de la collection (N) si : –la référence de cet autre objet (Oj) est identique à la référence de l’objet (Ok) de la collection (N) ; et si –pour chaque mot de l’extrait de cet autre objet (Oj), l’objet (Ok) de la collection (N) comporte un extrait incluant un mot identique à une forme singulière ou plurielle de ce mot, ces formes incluant d’une part ce mot original et d’autre part au moins une déclinaison singulière ou plurielle construite à partir de ce mot original ; ou si –pour chaque mot de l’extrait le plus long de l’objet (Ok) de la collection (N), l’extrait de l’autre objet (Oj) comporte un mot identique à une forme singulière ou plurielle de ce mot, ces formes incluant d’une part ce mot original et d’autre part au moins une déclinaison singulière ou plurielle construite à partir de ce mot original ; b) enregistrer cet autre objet (Oj) dans la collection (N) s’il n’a pas été intégré à un objet (O1-O11) de la collection (N) à l’issue de l’étape a) ; –exporter la collection (N) sous forme d’un fichier et/ou l’afficher dans une fenêtre de l’ordinateur. 2. Procédé selon la revendication 1, dans lequel la construction d’une forme singulière ou plurielle d’un mot est obtenue avec le mot original dont la lettre terminale « s » est retirée si ce mot original en comporte une ou le mot original auquel la lettre terminale « s » est ajoutée si ce mot original n’en comporte pas. 3. Procédé selon l’une des revendications précédentes, dans lequel l’établissement d’un extrait à partir d’un passage (Pi) comporte d’une part le retrait de chaque article et référence présents dans ce passage, et d’autre part le retrait de mots clé ne pouvant faire partie d’un groupe nominal, ces mots clé sont répertoriés dans une liste préétablie. 4. Procédé selon l’une des revendications précédentes, dans lequel la comparaison d’un objet (Ok) de la collection (N) avec un autre objet (Oj) est assurée en comparant les mots du plus long extrait de l’objet (Ok) de la collection (N) avec les mots de l’extrait de l’autre objet (Oj). 5. Système de traitement de données comprenant des moyens pour mettre en œuvre les opérations du procédé selon l’une des revendications 1 à 4. 6. Produit programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur conduisent celui-ci à mettre en œuvre les opérations selon l’une des revendications 1 à 4. 7. Support lisible par ordinateur comprenant des instructions qui, lorsqu’elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les opérations selon l’une des revendications 1 à 4.