Brevet FR3138225A1 — publié le 20240126

Procédé d’annotation, dispositif électronique et produit programme d’ordinateur correspondant La présente demande concerne un procédé d’annotation d’un élément textuel, le procédé étant mis en œuvre dans un dispositif électronique comprenant : Un découpage d’une première portion de l’élément textuel en un premier ensemble de mots ordonné en fonction de l’ordre des mots de la portion; Une association, à un premier mot du premier ensemble de mots, d’une information adaptée à un rendu sur une interface homme machine, l’association tenant compte d’une similarité entre une première chaine de caractères commençant par le premier mot et comprenant des mots situés après le premier mot dans le premier ensemble de mots et une chaîne de caractères candidate associée à l’information. Figure pour l'abrégé : Fig. 3 Procédé d’annotation, dispositif électronique et produit programme d’ordinateur correspondant 1. Domaine technique La présente application se rapporte au domaine de l’analyse automatique de textes numériques, par exemple des documents textuels déjà générés, ou des textes en cours de saisie. Elle concerne notamment un procédé d’enrichissement (ou d’annotation) au moins partiellement automatique de texte, mis en œuvre par un dispositif électronique, ainsi qu’un dispositif électronique, un produit programme d’ordinateur et un médium correspondants. 2. Etat de la technique Avec l’essor des usages numériques, de nombreux outils automatiques d’analyse de texte ont fait leur apparition. Dans leur analyse, certains outils « intelligent » distinguent les mots riches en sens (liés à un concept), tels que les noms et les verbes, des « mots vides » (ou « stopwords » ou « stop words » selon la terminologie anglaise, aussi appelés parfois « mots de transition », « mots d’arrêt », « mots de liaison » ou « mots valise »), qui ne sont en général pas nécessaires à une analyse de texte automatique. Des exemples de tels mots vides sont des articles, adverbes ou des conjonctions de coordination. Du fait de leur faible apport en sens, ces mots vides sont souvent enlevés des textes à analyser par ces outils « intelligents » d’analyse. Si cette suppression procure des avantages en termes de simplicité de traitement (par exemple en simplifiant certains modèles d’apprentissage utilisés par de telles solutions), elle présente cependant des désavantages, puisqu’elle modifie l’indexation des mots dans le texte résultant. La présente demande a pour objet de proposer des améliorations à au moins certains des inconvénients de l’état de la technique. 3. Exposé de l'invention La présente demande vise à améliorer la situation à l'aide d'un procédé d’annotation d’un élément textuel, mis en œuvre au moins partiellement dans un dispositif électronique et comprenant: Un découpage d’une première portion dudit élément textuel en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. Dans certains modes de réalisation, le procédé comprend une obtention de ladite au moins une première chaîne de caractères, ladite obtention comprenant une concaténation dudit au moins un premier mot avec au moins un second mot présent dans ledit premier ensemble de mots et situé après ledit premier mot dans ledit premier ensemble de mots, en respectant l’ordonnancement dudit premier ensemble de mots. Dans certains modes de réalisation, lorsque ladite première portion comprend au moins un mot vide, ledit découpage conserve ledit au moins un mot vide dans ledit ensemble de mots. Dans certains modes de réalisation, le procédé comprend une obtention de ladite au moins une chaîne de caractères candidate à partir des caractères d’au moins une portion de texte candidate associée à ladite au moins une information. Dans certains modes de réalisation, l’obtention de la première chaîne de caractère, respectivement de ladite chaîne de caractères candidate, comprend une exclusion de ladite première chaîne de caractère, respectivement de ladite chaîne de caractères candidate, d’au moins un caractère appartenant à un mot vide présent dans ledit premier ensemble de mots, respectivement dans ladite portion de texte candidate. Dans certains modes de réalisation, le procédé comprend une exclusion de ladite première portion, respectivement de ladite portion candidate, d’au moins un caractère présent dans ladite première portion, respectivement dans ladite portion candidate, et correspondant à l’un au moins des éléments suivants : - un caractère appartenant à un mot vide; - un caractère représentant un signe de ponctuation ; - un caractère représentant un espace et/ou un retour chariot. Dans certains modes de réalisation, le procédé comprend une conversion en minuscule, dans ladite première portion, respectivement ladite portion candidate, d’au moins un caractère en majuscule présent dans ladite première portion, respectivement ladite portion candidate, ou vice-versa. Dans certains modes de réalisation, la similarité entre ladite première chaine de caractère et ladite chaine de caractères candidate tient compte d’une distance entre ladite première chaine de caractère et ladite chaine de caractères candidate. Dans certains modes de réalisation, ladite distance est une distance de distance de Levenshtein. Les caractéristiques, présentées isolément dans la présente demande en lien avec certains modes de réalisation du procédé de la présente demande peuvent être combinées entre elles selon d’autres modes de réalisation du présent procédé. Selon un autre aspect, la présente demande concerne également un dispositif électronique adapté à mettre en œuvre le procédé de la présente demande dans l’un quelconque de ses modes de réalisations. Par exemple, la présente demande concerne ainsi un dispositif électronique comprenant un moins un processeur configuré pour : Un découpage d’une première portion d’un élément textuel à annoter en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. La présente demande concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en œuvre des divers modes de réalisation du procédé ci-dessus, lorsque le programme d’ordinateur est exécuté par un processeur et un support d’enregistrement lisible par un dispositif électronique et sur lequel est enregistré un tel programme d’ordinateur. Par exemple, la présente demande concerne ainsi un programme d'ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme d’ordinateur est exécuté par un processeur d’un dispositif électronique, d’un procédé d’annotation d’un élément textuel, comprenant: Un découpage d’une première portion dudit élément textuel en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. Par exemple, la présente demande concerne aussi un support d’enregistrement lisible par un processeur d’un dispositif électronique et sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme d’ordinateur est exécuté par le processeur, d’un procédé d’annotation d’un élément textuel, comprenant : Un découpage d’une première portion dudit élément textuel en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. Les programmes mentionnés ci-dessus peuvent utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique. Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc. D'autre part, un support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter l’un quelconque des modes de réalisation du procédé objet de la présente demande de brevet, ou pour être utilisé dans cette exécution. De façon générale, par obtention d’un élément, on entend dans la présente demande par exemple une réception de cet élément depuis un réseau de communication, une acquisition de cet élément (via par exemple des éléments d’interface utilisateur (ou d’interface homme-machine) ou des capteurs), une création de cet élément par divers moyens de traitement tels que par copie, encodage, décodage, transformation etc. et/ou un accès de cet élément depuis un support de stockage local ou distant accessible à au moins un dispositif mettant en œuvre, au moins partiellement, cette obtention. 4. Brève description des dessins D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : La présente une vue simplifiée d’un système, cité à titre d’exemple, dans lequel au moins certains modes de réalisation du procédé de la présente demande peuvent être implémentés, La présente une vue simplifiée d’un dispositif adapté à mettre en œuvre au moins certains modes de réalisation du procédé de la présente demande, La présente un aperçu du procédé de traitement de la présente demande, dans certains de ses modes de réalisation La présente un aperçu d’un calcul de distance effectué par le procédé de traitement de la présente demande, dans certains de ses modes de réalisation 5. Description des modes de réalisation La présente demande vise, selon un premier aspect, à aider à identifier, dans un texte (aussi appelé « texte brut » ou « texte original »), au moins un ensemble de mots (aussi appelés « entité » ou « groupe de mots ») en tenant compte d’une similarité entre cet ensemble de mots et au moins une séquence textuelle d’une pluralité de séquences textuelles candidates, auxquelles sont associées des informations susceptibles d’être rendu sur une interface homme machine. La pluralité de séquences textuelles candidates peut par exemple être accessible dans une structure de données telle qu’au moins un fichier, ou une base de données, qui peut être utilisée par exemple comme référence. Le texte peut correspondre à un document texte déjà généré, ou à un texte en cours de saisie. Il peut s’agir par exemple d’un texte obtenu à partir d’une image par une technique de reconnaissance de caractères (ou OCR pour Optical Character Recognition selon la terminologie anglaise , d’un texte obtenue par conversion d’un texte au format « pdf », ou d’un texte acquis via un formulaire « en ligne » (requête web par exemple). Le texte peut notamment être encodé sous forme de texte brut, par exemple dans un format numérique normalisé, permettant le codage de l’ensemble des caractères du répertoire universel de caractères codés. Ainsi, dans certains modes de réalisation, le texte peut être encodé dans le format connu sous le nom de UTF-8 (pour Universal Character Set Transformation Format – 8 bits selon la terminologie anglaise).La structure (ou base par simplification) de référence peut varier selon les modes de réalisation. Par exemple, dans certains modes de réalisation, il peut s’agir d’un glossaire, ou dictionnaire, associant à chaque séquence candidate (ou entrée »), au moins une définition ou une explication. Les séquences candidates peuvent comporter plusieurs mots, par exemple de 2 à une dizaine (voir quelques dizaines) de mots. Ainsi, dans certains des modes de réalisation illustrés, des séquences candidates peuvent correspondre à des portions (relativement « courtes » par exemple) d’une phrase ou d’un titre, comme « Les accords de Paris sur le climat » ou « La responsabilité sociale d’entreprise ». Le texte dans lequel est recherchée l’au moins une séquence candidate peut être beaucoup plus long que cette séquence candidate (par exemple comprendre de l’ordre de 500 mots ) La similarité entre les séquences candidates de la base et la partie du texte brut en cours d’analyse se base sur un calcul de distance, entre ces séquences candidates et la partie du texte brut en cours d’analyse. Lorsqu’un ensemble de mots est considéré comme similaire à une séquence de la base, au moins une information associée à cette séquence dans la base peut être utilisée pour enrichir (ou annoter) le texte brut et/ou au moins un mot de cet ensemble de mots dans le texte brut. Cet enrichissement peut dans certains modes de réalisation tenir compte de la position d’au moins un des mots de l’ensemble de mots considéré comme similaire. Par exemple, une annotation peut être rendue à proximité d’au moins un des mots de cet ensemble de mots (par exemple au-dessus, au-dessus, en superposition, en insertion dans le texte etc..). L’annotation peut par exemple, dans le cas où la base est un glossaire, comprendre une définition associée à la séquence candidate, et optionnellement la séquence elle-même (en guise de titre associée à la définition par exemple). A l’inverse de certaines solutions de l’art antérieur, qui excluent les mots vides du texte original, avant de l’analyser, le procédé de la présente invention conserve les mots vides présents dans le texte analysé. De ce fait, le procédé selon l’invention peut faciliter la détermination, pendant ou après l’analyse, du positionnement d’un ensemble de mots identifié (par le procédé de la présente demande) dans le texte original (puisque ce positionnement n’est pas modifié par la suppression des mots vides), de façon par exemple à pouvoir restituer l’annotation à proximité de l’ensemble de mots « similaire » à laquelle elle correspond. Dans certains modes de réalisation, le procédé peut par exemple être moins gourmand en mémoire que des solutions enlevant les mots de transition avant analyse et devant de ce fait réaliser d’une part un premier indexage du texte original, suivi d’un second indexage du texte obtenu par suppression des mots vides, et d’autre part maintenir en mémoire une correspondance entre ces deux indexages pour pouvoir localiser, dans le texte original, des mots identifiés lors de l’analyse du texte obtenu par suppression des mots vides. De plus, le procédé de la présente demande ne nécessitant pas un stockage, préalable à l’analyse, des index des mots vides de l’ensemble du texte à analyser, il peut (au moins dans certains modes de réalisation) être adapté à une analyse « temps réel » (aussi appelée « au fil de l’eau ») d’un texte en cours de rédaction (ie de construction) On décrit à présent, en lien avec la , de façon plus détaillée la présente demande. La représente un système de télécommunication 100 dans lequel certains modes de réalisation de l’invention peuvent être mis en œuvre. Le système 100 comporte un ou plusieurs dispositifs électroniques, certains au moins pouvant communiquer entre eux via un ou plusieurs réseaux de communication , éventuellement interconnectés, comme un réseau local ou LAN (Local Area Network, 1) et/ou un réseau de type étendu, ou WAN (Wide Area Network, 2). Par exemple, le réseau peut comprendre un réseau LAN d’entreprise ou domestique et/ou un réseau WAN de type internet, ou cellulaire, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc.) . Comme illustré en , le système 100 peut également comprendre plusieurs dispositifs électroniques, comme un terminal (tel qu’un ordinateur portable 110, un smartphone 120, une tablette 130), et/ou un serveur 140, par exemple un serveur d’applications, un dispositif de stockage 150. Le système peut également comprendre des éléments de gestion et/ou d’interconnexion réseau (non représentés) .Ces dispositifs électroniques peuvent être associés à au moins un utilisateur 132 (par le biais par exemple d’un compte utilisateur accessible par login), certains des dispositifs électroniques 110, 130 pouvant être associés à un même utilisateur 132. La illustre une structure simplifiée d’un dispositif électronique 200 du système 100, par exemple le dispositif 100, 120, 130 de la , adapté à mettre en œuvre les principes de la présente demande. Selon les modes de réalisation, il peut s’agir d’un serveur, et/ou d’un terminal. Le dispositif 200 comprend notamment au moins une mémoire M 210. Le dispositif 200 peut notamment comprendre une mémoire tampon, une mémoire volatile, par exemple de type RAM (pour « Random Access Memory » selon la terminologie anglaise), et/ou une mémoire non volatile (par exemple de type ROM (pour « Read Only Memory » selon la terminologie anglaise). Le dispositif 200 peut également comprendre une unité de traitement UT 220, équipée par exemple d'au moins un processeur P 222, et pilotée par un programme d'ordinateur PG 212 stocké en mémoire M 210. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur P. Ledit au moins un processeur P 222 de l'unité de traitement UT 220 peut notamment mettre en œuvre, individuellement ou collectivement, l'un quelconque de modes de réalisation du procédé de la présente demande (décrit notamment en relation avec la ), selon les instructions du programme d'ordinateur PG. Le dispositif peut également comporter, ou être couplé à, au moins un module d’entrée/ sortie I/O 230, tel qu’un module de communication, permettant par exemple au dispositif 200 de communiquer avec d’autres dispositifs du système 100, via des interfaces de communication filaires ou sans fils, et/ou tel qu’un module d’interfaçage avec un utilisateur du dispositif (aussi appelé plus simplement dans cette demande « interface utilisateur » ou « interface homme-machine »). Par interface utilisateur (ou « interface homme-machine ») du dispositif, on entend par exemple une interface intégrée au dispositif 200, ou une partie d’un dispositif tiers couplé à ce dispositif par des moyens de communication filaires ou sans fils. Par exemple, il peut s’agir d’un écran secondaire du dispositif ou d’un ensemble de hauts parleurs connectés par une technologie sans fils au dispositif Une interface utilisateur peut notamment être une interface utilisateur, dite «de sortie», adaptée à un rendu (ou au contrôle d’un rendu) d’un élément de sortie d‘une application informatique utilisée par le dispositif 200, par exemple une application s’exécutant au moins partiellement sur le dispositif 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur le serveur 140 du système 100, ou une application accessible via le dispositif 200. Des exemples d’interface utilisateur de sortie du dispositif incluent un ou plusieurs écrans, notamment au moins un écran graphique (tactile par exemple), un ou plusieurs haut-parleurs, un casque connecté. Par rendu, on entend ici une restitution (ou « output » selon la terminologie anglaise) sur au moins une interface utilisateur, sous une forme quelconque, par exemple comprenant des composantes textuelle, audio et/ou vidéo, ou une combinaison de telles composantes. Par ailleurs, une interface utilisateur peut être une interface utilisateur, dite «d’entrée», adaptée à une acquisition d’une commande d’un utilisateur du dispositif 200. Il peut s’agir notamment d’une action à effectuer en lien avec un item restitué, et/ou d’une commande à transmettre à une application informatique utilisée par le dispositif 200, par exemple une application s’exécutant au moins partiellement sur le dispositif 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur le serveur 140 du système 100. Des exemples d’interface utilisateur d’entrée du dispositif 200 incluent un capteur, un moyen d’acquisition audio et/ou vidéo (microphone, caméra (webcam) par exemple), un clavier, une souris. Ledit au moins un microprocesseur du dispositif 200 peut notamment être adapté pour : Un découpage d’une première portion d’un élément textuel à annoter en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. Certains des modules d‘entrée -sorties ci-dessus sont optionnels et peuvent donc être absents du dispositif 200 dans certains modes de réalisation. Notamment, si la présente demande est parfois détaillée en lien avec un dispositif communiquant avec au moins un second dispositif du système 100, le procédé peut également être mis en œuvre localement par un dispositif (par exemple l’un des dispositifs du système 100), pour analyser par exemple un texte stocké localement sur le dispositif en utilisant des séquences de mots stockées aussi de façon locale au dispositif . Un tel mode de réalisation peut par exemple être utilisé lorsque le dispositif est un terminal en libre-service dabs un espace accessible à plusieurs utilisateurs comme une bibliothèque ou un lieu d’apprentissage comme un lycée. Au contraire, dans certains de ses modes de réalisation, le procédé peut être mis en œuvre de façon distribuée entre au moins deux dispositifs 110, 120, 130, 140 et/ou 150 du système 100. Par le terme « module » ou le terme « composant » ou «élément » du dispositif, on entend ici un élément matériel, notamment câblé, ou un élément logiciel, ou une combinaison d’au moins un élément matériel et d’au moins un élément logiciel. Le procédé selon l’invention peut donc être mis en œuvre de diverses manières, notamment sous forme câblée et/ou sous forme logicielle. La illustre certains modes de réalisation du procédé 300 de la présente demande. Le procédé 300 peut par exemple être implémenté par le dispositif électronique 200 illustré en . Comme illustré en , le procédé 300 peut comprendre une obtention 310 d’au moins une portion de texte à analyser, correspondant à une ou plusieurs phrases entières (ie séparées par un point et/ou un retour chariot) . Comme souligné ci-avant, il peut s’agir selon les modes de réalisation d’un texte en cours de rédaction (ou en variante en cours de réception depuis un autre dispositif) ou d’un texte déjà rédigé, entièrement accessible au dispositif 200. Cette portion de texte peut correspondre, selon les modes de réalisation à une portion de texte respectant certaines règles de forme (« simplifié » selon le vocabulaire employé ci-après) ou à un texte quelconque (aussi appelé « texte brut »). Le texte brut est composé d’un ensemble de mots, de plusieurs phrases, de ponctuation, d’espaces. Par exemple, une portion de texte brut peut être la suivante : « En mai 2021, nous avons organisé une réunion pour discuter des accords de Paris pour le climat. LA réunion s’est terminée à 19h et aucune avancée n’a été conclue. » Comme mis en avant dans cet exemple, le texte brut peut comporter des minuscules et/ou des majuscules, des signes de ponctuation, des espaces, etc.; et ne respecte pas toujours certaines règles de forme (ie de présentation) usuelles. Par exemple, dans l’exemple ci-dessus, une phrase commence par deux majuscules successives. Dans certains modes de réalisation, le procédé peut comprendre une préparation 312 (ou prétraitement ou simplification) de la portion obtenue (par exemple lorsque la portion provient d’un texte brut), résultant en une portion dite « simplifiée» respectant certaines règles de forme. Par exemple, dans certains modes de réalisation, par le prétraitement, une portion simplifiée peut être obtenue à partir d’une portion du texte brut en remplaçant au moins un caractère « spécial », ne correspondant pas à une lettre de l’alphabet (tel qu’un signe de ponctuation ou un retour chariot) par un espace, et/ou une majuscule par une minuscule (ou vice-versa). Ainsi, dans l’exemple illustré, les portions après simplification ne comportent plus de caractères spéciaux ou de majuscule, chacun des caractères spéciaux ayant été remplacé par un espace. Ainsi, pour la portion « En mai 2021, nous avons organisé une réunion pour discuter des accords de Paris pour le climat. LA réunion s’est terminée à 19h et aucune avancée n’a été conclue. », on obtient la portion simplifiée : « en mai 2021 nous avons organisé une réunion pour discuter des accords de paris pour le climat la réunion s’est terminée à 19h et aucune avancée n’a été conclue » Au moins certaines de ces règles de forme (par exemple le remplacement de toutes les majuscules par des minuscules ou vice-versa) peuvent par exemple être paramétrables. Dans au moins certains modes de réalisation, le prétraitement d’une portion de texte ne modifie pas le nombre de caractères de la portion de texte, le nombre de caractères restant identique entre la portion de texte brut (avant prétraitement) et la portion simplifiée obtenue par prétraitement. Par exemple, les seules opérations effectuées sur les caractères de la portion lors du prétraitement peuvent être des remplacements (substitution ou conversion) de caractères (n’ayant donc pas d’impact sur la taille de la portion considérée). Cette simplification peut être optionnelle dans certains modes de réalisation. Par exemple, elle peut avoir été effectuée préalablement à la mise en œuvre du procédé de la présente demande, lors d’une création du texte par exemple, le texte résultant étant transmis au dispositif 200 lors/avant la mise en œuvre du procédé. La portion de texte peut aussi être obtenue, sous une forme identique à une sortie de prétraitement (ie une forme déjà simplifiée), d’une interface utilisateur du dispositif, par exemple dans des modes de réalisation obligeant un utilisateur de cette interface utilisateur au respect de règles de saisie imposant un texte sans caractère spécial et sans majuscule par exemple. Par ailleurs, le procédé peut comprendre un découpage 320 (ou partition) en mots de la portion de texte considérée. Par exemple, lors de ce découpage, les mots de la portion (y compris les mots vides éventuellement présents dans la portion) sont insérés dans une structure de données telle qu’un tableau ou une liste (aussi appelée ci-après « lowTab »). Dans l’exemple détaillé, où le texte simplifié ne comprend plus de ponctuation, on considère comme un mot les caractères compris entre deux espaces ou compris entre le début de la portion et le premier espace (dans l’ordre d’apparition) de la portion ou compris entre le dernier espace (dans l’ordre d’apparition) de la portion et la fin de la portion. Si la portion simplifiée contient deux espaces consécutifs, ces deux espaces consécutifs sont alors traités comme un mot de 0 caractère entre deux espaces (ce qui se traduit par un ajout d’un mot de 0 caractères (aussi appelé « élément vide » ci-après) dans la structure « lowTab »). Ainsi, le nombre d’éléments de la structure « lowTab » est toujours égal au nombre d’espace dans la phrase simplifié moins un. . Dans cette structure de données, les mots sont ordonnés selon leur l’ordre d’apparition (de lecture) dans la portion de texte simplifiée. Ainsi, le découpage de la portion simplifiée déjà présentée en exemple ci-dessus, peut par exemple produire le tableau « lowTab » suivant (où les éléments sont séparés ici à titre d’illustration par des « , ») [ en,mai,2021, ,nous,avons,organisé,une,réunion,pour,discuter,des,accords,de,paris,pour,le climat,,la,réunion,s’est,terminée,à,19h,et,aucune,avancée,n’a,été,conclue,, ] Comme illustré, dans cette structure, chaque mot de la portion simplifiée peut correspondre à un élément de la structure, un caractère unique de type « espace » délimitant deux mots n’apparaissant pas par exemple dans la structure; mais une succession de n (n>1) espaces apparaissant par contre comme n-1 élément(s) « vide » distinct(s) dans la structure de données. Dans l’exemple illustré, le procédé comprend en outre une obtention 330 d’au moins une chaîne de caractères, appelée ci-après « chaîne de caractères candidate ». Cette chaîne de caractères candidate peut par exemple être obtenue à partir d’une base de séquences textuelles ayant une signification dans une langue (et une structure grammaticale correcte dans cette langue (comme par exemple « Les accords de Paris sur le climat. »). Par la suite, on qualifiera une telle séquence de « séquence candidate » (ou « séquence brute » ou « séquence originale »). Il peut s’agir selon les modes de réalisation d’une base locale au dispositif ou accessible à distance par le dispositif (et stockée par exemple une base située sur le serveur 140 ou le dispositif de stockage 150 de la ). Cette base est aussi parfois appelée ci-après plus simplement « glossaire ». Selon les modes de réalisation détaillés, la base être relative à une ou plusieurs langues. Dans certains modes de réalisation, l’au moins une chaîne de caractères candidate peut être obtenue par une transformation (ou compactage) 322 d’une séquence de mots candidate. Par exemple, la chaîne de caractères candidate peut être la chaîne résultant de la séquence originale après suppression de certains caractères présents de la séquence candidate (comme des espaces, des signes de ponctuations, et/ou des groupes de caractères formant un mot vide) ou modification de certains caractères présents de la séquence originale (pour former une chaîne uniquement en minuscules, ou en variante uniquement en majuscules par exemple). Ainsi, dans l’exemple illustré, les chaîne de caractères candidates correspondant aux séquences candidates compactées ne comportent que des caractères minuscules et ne comprennent plus ni mot vide, ni ponctuation, ni espace. Ainsi, la chaîne de caractères obtenue à partir de la séquence originale « Les accords de Paris sur le climat. » est « accordsparisclimat ». Le compactage peut être optionnel dans certains mode de réalisation. Par exemple, il peut être effectué une première fois lors de la constitution de la base de séquences candidates (ou lors de l’ajout d’une séquence candidate dans la base), les chaîne de caractères candidates correspondant aux séquences compactées étant mémorisées, par exemple dans la base. Une chaîne de caractères correspondant à une séquence compactée peut par exemple alors être associée, dans la base, d’une part optionnellement à la séquence candidate originale, et d’autre part à au moins une information destinée à enrichir des ensemble de mots « similaires » à la séquence candidate (comme exposé plus loin), comme une explication associée à cette séquence candidate. Dans certains modes de réalisation, une chaîne de caractères candidate peut être obtenue directement sous forme « compactée » (ie sans mot vide, ponctuation, espace, ou majuscule (en variante minuscule)) par exemple via une interface homme machine du dispositif. Dans l’exemple illustré, le procédé peut comprendre une obtention 334 d’un nombre total de mots de la séquence candidate (donc en incluant les mots vides éventuels) et/ou d’un nombre total de mots, sans tenir compte des éventuels mots vides, de la séquence candidate. (donc en excluant du décompte les mots vides éventuels). Ainsi, à la séquence candidate « Les accords de Paris sur le climat. » correspondant un nombre total de mots égal un 7 et un nombre total de mots, en excluant les mots vides, égal à 3. Selon les modes de réalisation, le nombre total de mots en incluant et/ou en excluant les mots vides éventuels peut être obtenu par calcul, à partir de la séquence candidate, lorsque celle-ci est accessible au dispositif 200,ou obtenu via une interface homme machine ou une interface de communication du dispositif 200 (notamment lorsque la chaîne de caractères candidate correspondant à la séquence candidate compactée a elle-même été reçue via une interface homme machine ou une interface de communication du dispositif 200). Dans certains modes de réalisation ; le procédé peut comprendre un stockage 336 du nombre total de mots en incluant les mots vides éventuels et/ou du nombre total de mots en excluant les mots vides éventuels, en association avec la chaîne de caractères candidate correspondant à la séquence candidate compactée. Un tel mode de réalisation peut aider à limiter le temps d’exécution du procédé de la présente demande (en évitant le calcul du nombre total de mots en incluant les mots vides éventuels et/ou du nombre total de mots en excluant les mots vides lors de chaque accès à la chaîne candidate). Dans certains modes de réalisation ; au contraire, le stockage peut être omis ou très temporaire, le calcul du nombre total de mots en incluant les mots vides éventuels et/ou du nombre total de mots en excluant les mots vides étant par exemple effectué lors de chaque accès à la chaîne candidate, de façon à aider à limiter l’occupation mémoire lors de l’exécution du procédé. Par exemple, la chaîne de caractères candidate peut être stockée dans une structure de données de la base en association avec les nombres totaux de mots en incluant (respectivement excluant) les mots vides, et avec au moins une information destinée à enrichir des ensemble de mots « similaires » à la chaîne de caractères candidate, et optionnellement avec la séquence candidate (originale) dont est issue la chaîne de caractères candidate. Selon la , le procédé peut en outre comprendre un calcul 340 d’une distance entre au moins une chaîne de caractères candidate obtenue et au moins un élément de la structure de données « lowTab » (obtenue par découpage 320). Cette distance peut être calculée (itérativement par exemple) sur plusieurs chaines de caractères candidates et pour plusieurs éléments de la structure de données « lowTab ». Ainsi, dans l’exemple illustré en sous forme de pseudo-code, le procédé peut comprendre un calcul 340 de distance entre chaque chaîne de caractères candidate et chacun des éléments de la structure de données « lowTab ». Plus précisément, selon la , pour chacune des chaînes de caractères candidate, le procédé peut comprendre un calcul de distance pour chaque élément de la structure de données « lowTab », par boucle comme détaillée ci-après sur l’ensemble des E éléments de la structure de données « lowTab ». Ainsi, pour une chaîne de caractères candidate considérée WithoutStopWord (correspondant à une séquence candidate de k mots en excluant les mots vides), pour l’élément « e» (0 La structure de données « sourceWordTab (e) » est destinée à contenir les mots contenus dans la structure « lowTab » à partir de l’élément courant « e », dans le sens de lecture, en incluant en particulier les mots vides éventuellement présents dans la structure « lowTab ». La chaine de caractère vide « noStopString (e) » est destinée à contenir les caractères concaténés des mots contenus dans la structure « lowTab » à partir de l’élément courant « e », dans le sens de lecture, en excluant les caractères des mots vides (et les éléments vides) éventuellement présents dans la structure « lowTab » Ainsi, les éléments vides éventuellement présent de la structure lowTab) n’auront pas d’incidence sur la chaine« noStopString (e) ». Dans le mode de réalisation illustré, la chaine de caractère « noStopString (e) » a par exemple un format similaire à la forme compactée de la chaine de caractères candidate considérée. L’élément « e » est d’abord ajouté dans le tableau « sourceWordTab (e) ». Puis, tant que le nombre de mots en excluant les mots vides dans « sourceWordTab (e) » est strictement inférieur au nombre total de mots en excluant les mots vides associé à la chaine de caractères candidate considérée, le ou les éléments suivants directement l’élément « e » dans la structure de données « lowTab sont successivement ajoutés dans le tableau « sourceWordTab (e) » (en respectant l’ordonnancement de la structure de données « LowTab »). On obtient donc un tableau dont la taille est le nombre total de mots, en excluant les mots vides, associé à la chaine de caractères candidate considérée. Si l’élément ajouté (« e » et le(s) élément(s) suivant(s)) n’est pas un élément vide ou un caractère d’un mot vide, la chaine de caractère « noStopString (e) » est en outre mise à jour en concaténant ‘élément ajouté à la chaine de caractère courante «noStopString (e) ». Ainsi la chaine de caractère «noStopString » (e) contient la concaténation des caractères correspondant aux éléments de la structure de données « lowTab », en commençant par l’élément « e », qui ne sont pas des mots vides (ou des éléments vides). Dans l’exemple de la , lorsque le nombre de mots en excluant les mots vides dans « sourceWordTab (e) » est égal au nombre total de mots en excluant les mots vides associé à la chaine de caractères candidate considérée, le procédé comprend un calcul de la distance entre la chaine de caractères candidate (sous forme compactée) et la chaine de caractère « noStopString (e) ». Le calcul peut par exemple se faire en calculant la distance de Levenshtein entre la chaine de caractères candidate (sous forme compactée) obtenue précédemment et la chaine de caractère « noStopString (e) ». En effet, utiliser une telle distance offre l’avantage de tenir compte d’erreurs ou de permutation de caractères. En variante, dans d’autres modes de réalisation, la distance de Hamming ou la distance de Stoilos peuvent être utilisés La distance peut par exemple être calculée sous forme d’une valeur ou score numérique représentatif d’une similarité entre les deux chaînes de caractères. Dans certains modes de réalisation, la distance calculée (par exemple sous forme d’une valeur ou score numérique) peut par exemple être stockée en association avec le tableau « souceWordTab (e) » obtenu lors du calcul de distance de l’élément « e », avec la chaine caractères candidate considérée (et optionnellement avec la chaîne de caractères « noStopString (e) » obtenue lors du calcul de distance de l’élément « e »), avec l’élément « e » de la structure de données « lowTab », et/ou l’indice de l’élément « e » dans la structure de données « lowTab »), par exemple sous la forme d’un n-uplet. Dans l’exemple illustré, les traitements ci-dessus peuvent être réitérés pour l’élément suivant (e+1) de la structure de données « lowTab ». Ainsi, une fois la boucle sur l’ensemble des éléments de la structure de données « lowTab » effectuée, on peut disposer d’une distance entre la chaîne de caractères candidate considérée et chaque élément du tableau « sourceWordTab (e) » Dans les modes de réalisation illustrés en , le procédé peut comprendre un filtrage 350 (optionnel) des n-uplets stockés, en fonction des distances calculées. Par exemple, dans certains modes de réalisation, le filtrage 350 des n-uplets stockés peut tenir compte d’une proximité entre les distances calculées et une première distance, utilisée comme une valeur seuil par exemple. Ainsi, dans les modes de réalisation de la , le filtrage 350 peut ne conserver que les n-uplets pour lesquels la distance calculée est inférieure à cette première distance. Selon un autre exemple, dans certains modes de réalisation, le filtrage 350 peut ne conserver que les n-uplets correspondant aux k (k entier supérieur ou égal à 1) plus petites distances pour chaque élément « e » (ou sourceWordTab(e)) . En d’autres termes, le filtrage peut ainsi permettre de ne conserver, pour un élément « e » (ou sourceWordTab(e), que les associations correspondant à la chaîne (ou aux chaînes) de caractères candidate(s) la ou les plus similaire(s) à la chaîne de caractères « noStopString (e) » associée à l’élément « e » (ou sourceWordTab(e)). Comme exposé ci-avant, une chaîne de caractères candidate peut être elle-même associée avec au moins une information (comme une définition) destinée à enrichir des ensemble de mots « similaires » à la chaîne de caractères candidate (étape 330). De plus, comme le nombre d’éléments dans « lowTab » correspond au nombre d’éléments de la portion de texte simplifiée, la structure de données sourceWordTab(e) correspond ainsi à l’ensemble des mots de la portion de texte simplifiée à partir du mot « e ». De ce fait, le procédé permet, via le filtrage, d‘associer au mot « e », et aux mots suivants, dans la portion de texte simplifiée l’information associée (par exemple la ou les définitions associées). Comme le nombre de caractère dans le texte simplifié est strictement identique au nombre de caractère dans le texte brut, l’invention permet ainsi de retrouver directement (en utilisant un même indexage) la portion de texte brut correspondant à la portion de texte simplifié « similaire » à la chaîne candidate. Dans certains modes de réalisation, la boucle effectuée lors du calcul 340 de distance pour une chaine de caractères candidate et un élément « e » de LowTab peut être arrêtée avant que le nombre de mots en excluant les mots vides dans « souceWordTab (e) » ne soit égal au nombre total de mots en excluant les mots vides associé à la chaine de caractères candidate considérée. (la chaîne de caractères candidate considérée étant exclue des chaînes similaires pour cet élément e). Par exemple, un critère d’arrêt et/ou de continuation de la boucle peut tenir compte de l’atteinte ou non d’un seuil de distance, représentant un pourcentage P d’erreur maximal (comme P =10%, P =20%, ou P =30%), au sens de la distance de Levenshtein par exemple, entre la chaîne de caractères « noStopString (e) et la chaîne de caractères candidate considérée. Par exemple, dans certains modes de réalisation, si le dernier mot ajouté à la chaîne de caractères « noStopString(e) rend le nombre de caractères dans « noStopString(e) au moins P% supérieur au nombre de caractères de la chaîne de caractères candidate considérée., la boucle peut être arrêtée, même si le nombre de mots en excluant les mots vides dans « souceWordTab (e) » est strictement inférieur au nombre total de mots en excluant les mots vides associé à la chaine de caractères candidate considérée. Dans certains modes de réalisation, le procédé peut comprendre une vérification (optionnelle) de l’écart absolu (ou différence) entre le nombre de caractères de la chaîne de caractères « noStopString (e) » et le nombre de caractères de la chaîne de caractères candidate considérée, ou un écart relatif (calculé par exemple comme une division de cette différence par la taille de la chaine de caractère candidate considérée). Cette vérification peut notamment être mise en œuvre avant un calcul de distance, de façon par exemple à éviter de calculer la distance, si cette différence ou cet écart relatif est trop grand. Par exemple, la distance peut en pas être calculée dans certains modes de réalisation lors que le nombre de caractères de la chaîne de caractères « noStopString (e) » est supérieur à la taille maximale de l’ensemble des chaînes de caractères candidates ou lorsque l’écart relatif s’il est supérieur au pourcentage d’erreur maximal.. Le pourcentage d’erreur maximal peut être paramétré de façon cohérente avec au moins une règle utilisée lors du filtrage 350, de façon par exemple à éviter de calculer des distances associées à des n-uplets qui seraient ultérieurement filtrés et donc à éviter de gaspiller inutilement des ressources en termes de temps de traitement et de charge de traitement (CPU). Dans certains modes de réalisation, la boucle effectuée pour une chaîne de caractères candidate et un élément « e » peut être arrêtée, dès que la distance calculée entre la chaine de caractères « noStopString (e) est inférieure à une seconde distance (par exemple égale à 0), représentative d’une similarité significative (identité parfaite ou quasi-parfaite, donc forte similarité) entre la chaîne de caractères candidate et la chaine de caractères « noStopString (e). Des modes de réalisation où le calcul de distance n’est pas effectué pour l’ensemble des chaînes de caractères candidates et l’ensemble des éléments de la structure de données « lowTab », peuvent offrir des avantages en termes de temps et/ou de charge de traitement, notamment lorsque le nombre de chaîne de caractères candidates, et/ou la taille de la portion de texte à analyser est important Ainsi le procédé de la présente demande, dans au moins certains de ses modes de réalisations, peut aider à identifier des chaînes de caractères candidates (et donc des séquences candidates et les informations associées) similaires à des chaînes de caractères de portions de texte brut composées de plusieurs mots, au sein d’un texte potentiellement long et mal orthographié. Le procédé de la présente demande peut en outre, dans au moins certains de ses modes de réalisations, peut aider à trouver la position de ces chaînes de caractères dans le texte brut. Dans la présente demande, les exemples de mots ou portion de texte sont présentées en italique par simple lisibilité. Ces exemples ne limitent bien sûr pas les portions de texte brut ou els séquences ou chaînes de caractères candidates à des écritures en italiques. La présente demande est présentée en lien avec un texte se lisant de gauche à droite mais peut s’appliquer de façon similaire pour une annotation d’une portion de texte se lisant de droite à gauche. Dans l’exemple illustré, les caractères spéciaux sont remplacés dans les portions de texte « simplifiées » par des espaces. Dans d’autres modes de réalisation, les signes de ponctuation peuvent être conservés dans la portion simplifiée, et de façon similaire dans les chaînes candidates compactés ; de tels modes de réalisation peuvent permettent de tenir compte, pour le calcul des distances , de la ponctuation de la portions de texte. Par obtention d’un élément, on entend dans la présente demande par exemple une réception de cet élément depuis un réseau de communication, une acquisition de cet élément (via par exemple des éléments d’interface utilisateurs ou des capteurs), une création de cet élément par divers moyens de traitement tels que par copie, encodage, décodage, transformation etc. et/ou un accès de cet élément depuis un support de stockage local ou distant accessible au dispositif mettant en œuvre cette obtention. Procédé d’annotation d’un élément textuel, au moins partiellement automatique, ledit procédé étant mis en œuvre par un dispositif électronique et comprenant : Un découpage d’une première portion dudit élément textuel en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information. Procédé selon la revendication 1 où le procédé comprend une obtention de ladite au moins une première chaîne de caractères, ladite obtention comprenant une concaténation dudit au moins un premier mot avec au moins un second mot présent dans ledit premier ensemble de mots et situé après ledit premier mot dans ledit premier ensemble de mots, en respectant l’ordonnancement dudit premier ensemble de mots. Procédé selon la revendication 2 où, lorsque ladite première portion comprend au moins un mot vide, ledit découpage conserve ledit au moins un mot vide dans ledit ensemble de mots. Procédé selon l’une des revendications 1 à 3 où le procédé comprend une obtention de ladite au moins une chaîne de caractères candidate à partir des caractères d’au moins une portion de texte candidate associée à ladite au moins une information. Procédé selon la revendication 4 où l’obtention de la première chaîne de caractère, respectivement de ladite chaîne de caractères candidate, comprend une exclusion de ladite première chaîne de caractère, respectivement de ladite chaîne de caractères candidate, d’au moins un caractère appartenant à un mot vide présent dans ledit premier ensemble de mots, respectivement dans ladite portion de texte candidate. Procédé selon l’une des revendications 4 ou 5 où le procédé comprend une exclusion de ladite première portion, respectivement de ladite portion candidate, d’au moins un caractère présent dans ladite première portion, respectivement dans ladite portion candidate, et correspondant à l’un au moins des éléments suivants : - un caractère appartenant à un mot vide; - un caractère représentant un signe de ponctuation ; - un caractère représentant un espace et/ou un retour chariot. Procédé selon l’une des revendication 4 à 6 où le procédé comprend une conversion en minuscule, dans ladite première portion, respectivement ladite portion candidate, d’au moins un caractère en majuscule présent dans ladite première portion, respectivement ladite portion candidate, ou vice-versa. Procédé selon l’une des revendication 1 à 7 où la similarité entre ladite première chaine de caractère et ladite chaine de caractères candidate tient compte d’une distance entre ladite première chaine de caractère et ladite chaine de caractères candidate. Procédé selon la revendication 1 à 8 où ladite distance est une distance de distance de Levenshtein. Dispositif électronique comprenant un moins un processeur, ledit processeur étant configuré pour une annotation d’un élément textuel, au moins partiellement automatique: Un découpage d’une première portion d’un élément textuel à annoter en un premier ensemble de mots ordonné en fonction de l’ordre des mots de ladite portion; Une association, à au moins un premier mot dudit premier ensemble de mots, d’au moins une information adaptée à un rendu sur au moins une interface homme machine, ladite association tenant compte d’une similarité entre une première chaine de caractères commençant par ledit premier mot et comprenant des mots situés après ledit premier mot dans ledit premier ensemble de mots et une chaîne de caractères candidate associée à ladite information.