Brevet FR3060800A1 — publié le 20180622

Arrière-plan de l'invention L'invention se rapporte au domaine général des systèmes d'information et concerne plus particulièrement l'indexation automatique de documents textuels. L'indexation de documents permet d'organiser un ensemble de documents textuels et de faciliter ultérieurement la recherche de contenu dans cet ensemble. Elle consiste à associer à chaque document textuel un ou plusieurs descripteurs (par exemple un ou plusieurs mots ou expressions) qui correspondent au mieux avec son contenu informationnel. Dans l'état actuel de la technique, de nombreuses méthodes d'indexation automatique partent de l'hypothèse qu'un mot qui apparaît souvent dans un texte représente a priori un concept important pour ce texte. Elles s'appuient donc sur des métriques statistiques qui consistent à détecter le nombre d'occurrence d'un mot, sa fréquence locale, sa fréquence globale, etc. Toutefois, l'hypothèse précitée n'est pas toujours vérifiée en pratique. En effet, les mots les plus importants dans un texte et surtout les plus représentatifs de son contenu pour des utilisateurs souhaitant retrouver ce texte dans un ensemble de documents textuels ne sont pas nécessairement les plus fréquents ; les mots les plus fréquemment usités sont en effet souvent les mots fonctionnels encore appelés mots outils tels que « de », « un », « à », etc. en français. En outre, cette hypothèse n'est pas adaptée pour des textes de petite taille, de sorte que l'indexation obtenue n'est souvent pas très pertinente dans un tel contexte. Objet et résumé de l'invention L'invention permet notamment de remédier à ces inconvénients en proposant un procédé d'indexation automatique d'un document textuel, destiné à être mis en oeuvre par un ordinateur, et comprenant : une première étape d'obtention d'un identifiant d'au moins un utilisateur ayant contribué à un contenu du document textuel ; une seconde étape d'obtention, en utilisant l'identifiant dudit au moins un utilisateur, d'au moins un modèle numérique de description d'un processus déterminé parmi un ensemble prédéterminé de processus et auquel est associé l'identifiant dudit utilisateur lors d'une exécution de ce processus, chaque modèle numérique de description d'un processus fournissant pour au moins un événement de ce processus, un label de cet événement et au moins un label d'au moins une donnée manipulée lors dudit événement ; une étape de construction d'une liste de mots à partir des labels fournis par ledit au moins un modèle numérique ; une étape de construction d'une liste de concepts dite initiale en sélectionnant dans une ontologie des concepts correspondant aux mots de ladite liste de mots, ladite ontologie comprenant des concepts extraits d'une ontologie linguistique complétés par des concepts prédéfinis pour au moins un processus dudit ensemble prédéterminé de processus ; 3060800 2 une étape d'enrichissement de ladite liste de concepts initiale en sélectionnant au moins un concept lié dans ladite ontologie à un concept de la liste de concepts initiale, ladite étape d'enrichissement fournissant une liste de concepts enrichie ; une étape de recherche dans ledit document textuel des concepts de la liste de concepts 5 enrichie ; et si au moins un concept est détecté dans ledit document textuel lors de l'étape de recherche, une étape d'indexation dudit document textuel avec ledit au moins un concept détecté. Corrélativement, l'invention vise aussi un dispositif informatique d'indexation automatique d'un document textuel comprenant : 10 un premier module d'obtention configuré pour obtenir un identifiant d'au moins un utilisateur ayant contribué à un contenu du document textuel ; un second module d'obtention, configuré pour utiliser l'identifiant dudit au moins un utilisateur pour déterminer au moins un processus parmi un ensemble prédéterminé de processus, ledit au moins un processus étant associé à l'identifiant dudit utilisateur lors d'une exécution de ce 15 processus, ledit second module d'obtention étant en outre configuré pour obtenir au moins un modèle numérique de description dudit au moins un processus déterminé, chaque modèle numérique de description d'un processus fournissant pour au moins un événement de ce processus, un label de cet événement et au moins un label d'au moins une donnée manipulée lors dudit événement ; 20 un premier module de construction, configuré pour construire une liste de mots à partir des labels fournis par ledit au moins un modèle numérique ; un second module de construction, configuré pour construire une liste de concepts dite initiale en sélectionnant dans une ontologie des concepts correspondant aux mots de ladite liste de mots, ladite ontologie comprenant des concepts extraits d'une ontologie linguistique complétés 25 par des concepts prédéfinis pour au moins un processus dudit ensemble prédéterminé de processus ; un module d'enrichissement, configuré pour fournir une liste de concepts enrichie en enrichissant ladite liste de concepts initiale en sélectionnant au moins un concept lié dans ladite ontologie à un concept de la liste de concepts initiale ; 30 un module de recherche, configuré pour rechercher dans ledit document textuel des concepts de la liste de concepts enrichie ; et un module d'indexation, activé si au moins un concept est détecté dans ledit document textuel par le module de recherche, ledit module d'indexation étant configuré pour indexer ledit document textuel avec ledit au moins un concept détecté. 35 Aucune limitation n'est attachée au contenu du document textuel. Il peut s'agir par exemple d'un document écrit par un ou plusieurs utilisateurs, d'un compte-rendu écrit d'une réunion entre plusieurs utilisateurs, etc. De même, aucune limitation n'est attachée à la façon dont 3060800 3 le document textuel est le cas échéant indexé avec les concepts détectés conformément à l'invention : il peut s'agir d'une indexation écrite, orale, vidéo, etc. Ainsi, l'invention propose une solution d'indexation d'un document textuel prenant en compte, pour déterminer les mots importants du document, le contexte dans lequel ce document a 5 été généré. Plus particulièrement, conformément à l'invention, ce contexte est pris en compte en identifiant les utilisateurs qui ont contribué au contenu du document, et en déterminant pour ces utilisateurs, les divers processus dans lesquels ils sont susceptibles d'être impliqués : grâce à l'utilisation de modèles numériques décrivant ces processus et à une ontologie prédéfinie, des mots ou des concepts qui peuvent s'avérer pertinents pour indexer le document textuel sont alors 10 identifiés de façon automatique et recherchés dans le document. Par processus, on entend ici tout type de successions d'événements (ou d'activités ou encore d'étapes), corrélés entre eux ou interactifs, qui manipulent diverses données d'entrée pour les transformer en données de sortie et atteindre collectivement un objectif. Il peut s'agir par exemple de processus métiers propres à une organisation ou une entreprise, tels que par exemple, 15 un processus de fabrication d'un produit, un processus de traçabilité des produits, un processus de création de projet, etc. De tels processus peuvent être aisément modélisés numériquement sous forme de graphes orientés, dans lequel les noeuds correspondent à des événements du processus et/ou à des opérateurs logiques reliant de tels événements (ex. « et » pour représenter une exécution parallèle d'événements, un « ou exclusif » pour représenter un choix entre deux 20 événements, etc.), et les arcs définissent le séquencement existant entre les noeuds. L'invention propose d'exploiter la connaissance de ces processus et leur modélisation pour indexer automatiquement un document textuel grâce à l'utilisation d'une ontologie. De façon connue, une ontologie est un modèle de données représentatif d'un ou de plusieurs concepts sémantiques caractérisant un domaine de connaissances, ainsi que les relations existant entre ces 25 concepts. Un tel modèle de données est classiquement utilisé en intelligence artificielle et en génie logiciel. Il peut être représenté aisément sous forme de graphe, dans lequel les noeuds représentent les concepts sémantiques et les arêtes les relations entre ces concepts. Autrement dit, une ontologie désigne à la fois un choix quant à la manière de décrire un domaine, et la description formelle de ce domaine. 30 Conformément à l'invention, le recours à une telle ontologie permet d'une part, d'extraire des modèles numériques décrivant les processus, une première liste de concepts (c'est-à-dire de mots ou d'expressions) caractéristiques des processus (« liste initiale » au sens de l'invention), et d'autre part, d'enrichir cette première liste avec d'autres concepts liés dans l'ontologie aux concepts dérivés des modèles numériques des processus. Cette ontologie comprend 35 par exemple des concepts liés entre eux par des relations de similarité (ex. concepts synonymes entre eux), et/ou par des relations de subsomption (ex. concept compris dans un autre), et/ou par des relations d'héritage (ex. concept correspondant à une sous-classe d'un autre concept héritant 3060800 4 des propriétés de ce contexte), et/ou par des relations de hiérarchie (ex. concept subordonné d'un autre). On obtient ainsi une seconde liste enrichie de concepts, autrement dit de mots ou d'expressions, qui constitue une base de mots ou d'expressions potentiellement important(e)s et 5 représentatifs(ves) du contenu du document textuel à indexer. Le recoupement des concepts de la seconde liste ainsi enrichie avec les mots du texte permet d'indexer de façon pertinente le document en tenant compte du contexte dans lequel il a été généré. Autrement dit, l'invention ne part plus du principe qu'un mot d'un document est pertinent pour son indexation du fait uniquement qu'il est répété un grand nombre de fois dans le 10 document, mais que la pertinence d'un mot pour indexer un document textuel provient plutôt du contexte dans lequel le document a été généré. Elle fait l'hypothèse qu'en recoupant les utilisateurs à l'origine du contenu du document textuel et des informations extraites des processus dans lesquels ces utilisateurs sont impliqués, il est possible de déterminer de façon automatique des mots permettant d'indexer de façon pertinente pour les utilisateurs un document. 15 Une telle indexation facilite avantageusement la recherche du document textuel dans une base de documents contenant potentiellement de nombreux documents. Dans un mode particulier de réalisation, la seconde étape d'obtention comprend en outre l'obtention d'au moins une valeur de donnée manipulée lors d'au moins un événement du processus lors d'une exécution de ce processus, ladite au moins une valeur étant ajoutée à la liste 20 de concepts initiale lors de l'étape de construction. Ce mode de réalisation, qui tient compte des valeurs des données manipulées par les différents événements du processus lorsque celui-ci est exécuté, permet de compléter de façon pertinente la liste des mots importants destinés à être recherchés dans le document textuel. En effet, lors de l'exécution d'un processus, les données manipulées par celui-ci se voient assignées 25 des valeurs, comme par exemple des nombres (ex. un identifiant numérique), des noms propres (ex. Albert Dupont), des sigles ou encore des références (ex. serveur Debian, etc.) qui peuvent s'avérer pertinents pour indexer automatiquement un document textuel, ou tout du moins à rechercher dans le document textuel en question. Dans un mode particulier de réalisation, lors de l'étape de construction de la liste de 30 concepts initiale, les concepts sélectionnés sont les concepts de l'ontologie les plus proches des mots de la liste de mots au sens d'au moins un critère de distance prédéfini. Ce critère de distance prédéfini est choisi par exemple parmi un critère de distance syntaxique et un critère de distance linguistique, la distance linguistique permettant de s'assurer que le sens des mots est préservé lors de la sélection des concepts. 35 Dans un mode particulier de réalisation, l'étape de construction de la liste de mots comprend une segmentation en une pluralité de mots d'au moins un label fourni par ledit au moins un modèle numérique. 3060800 5 Chaque label décrit par le modèle numérique du processus peut en effet être une expression comprenant une pluralité de mots. La segmentation de l'expression en mots qui sont ensuite utilisés individuellement pour construire la liste de concepts recherchés dans le document textuel permet une plus grande flexibilité lors de la recherche (pas de recherche d'expression 5 entière qui peut s'avérer difficile à trouver en l'état dans le document textuel). Dans un mode particulier de réalisation, l'étape de recherche comprend une lemmatisation de mots du document textuel. De façon connue, la lemmatisation d'un mot consiste à lui donner une forme canonique appelée lemme, commune aux différentes formes que peut revêtir le mot (ex. nom au 10 singulier ou au pluriel, verbe à l'infinitif, conjugué, participes passé et présent, etc.). Cette lemmatisation doit bien entendu être réalisée en conformité avec ce qui a été retenu pour l'ontologie et les concepts présents dans celle-ci. Elle permet de faciliter la recherche des mots de la liste enrichie dans le document textuel. Dans un mode particulier de réalisation, le procédé d'indexation comprend en outre : 15 - une étape de détection d'une utilisation d'un mot un nombre de fois supérieur à un premier seuil prédéterminé dans le document textuel ; - une étape d'incrémentation d'une unité d'un compteur associé à ce mot ; - si le compteur est supérieur à un second seuil prédéterminé, une étape de mise à jour de l'ontologie avec le mot. 20 Ce mode de réalisation combine une indexation conforme à l'invention avec la détection d'un usage fréquent d'un même mot dans différents documents textuels. Un tel mot, lorsqu'il est retrouvé dans plusieurs documents, peut s'avérer pertinent et important pour les futures indexations de documents. Ce mode de réalisation propose donc d'intégrer ces mots dans l'ontologie prise en compte pour indexer les documents textuels conformément à l'invention. 25 Dans un mode particulier de réalisation, les différentes étapes du procédé d'indexation sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif informatique d'indexation ou plus généralement dans un ordinateur, ce programme comportant 30 des instructions adaptées à la mise en oeuvre des étapes d'un procédé d'indexation tel que décrit ci-dessus. Ce programme peut 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. 35 L'invention vise aussi un support d'informations ou d'enregistrement lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. 3060800 6 Le support d'informations ou d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le 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, par exemple une disquette (floppy disc) ou un 5 disque dur. D'autre part, le support d'informations ou d'enregistrement 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. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 10 Alternativement, le support d'informations ou d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention vise également un système informatique comprenant : - un espace de stockage dans lequel est stockée une ontologie ; et 15 - un dispositif informatique d'indexation automatique selon l'invention apte à utiliser ladite ontologie pour indexer un document textuel. Le système informatique bénéficie des mêmes avantages que ceux cités précédemment pour le procédé et le dispositif informatique d'indexation. On peut également envisager, dans d'autres modes de réalisation, que le procédé 20 d'indexation, le dispositif d'indexation et le système informatique selon l'invention présentent en combinaison tout ou partie des caractéristiques précitées. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la 25 description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : la figure 1 représente, de façon schématique, un système informatique conforme à l'invention dans un mode particulier de réalisation ; la figure 2A illustre une modélisation d'un processus de création de projet, susceptible d'être 30 utilisée par le système informatique de la figure 1, dans un mode particulier de réalisation ; la figure 2B illustre une modélisation d'un autre processus relatif à la traçabilité de produits ; la figure 3 illustre un extrait d'un exemple d'ontologie pouvant être utilisé par le système informatique de la figure 1, dans un mode particulier de réalisation ; la figure 4 représente de façon schématique l'architecture matérielle d'un dispositif 35 informatique d'indexation du système informatique de la figure 1, conforme à l'invention ; et la figure 5 représente, sous forme d'ordinogramme, les principales étapes d'un procédé d'indexation selon l'invention dans un mode particulier de réalisation dans lequel il est mis en oeuvre par le dispositif d'indexation de la figure 4. 3060800 7 Description détaillée de l'invention La figure 1 représente, dans son environnement, un système informatique 1 conforme à l'invention, dans un mode particulier de réalisation. 5 Conformément à l'invention, le système informatique 1 est apte à indexer de façon automatique un document textuel TEXT. Aucune limitation n'est attachée à la nature du contenu de ce document : il peut s'agir de tout type de texte, au contenu duquel ont contribué un ou plusieurs utilisateurs. Dans l'exemple envisagé ici, le document TEXT est un compte-rendu d'une réunion à laquelle ont participé plusieurs utilisateurs U1,...,UN, N désignant un entier supérieur ou 10 égal à 1, l'ensemble des utilisateurs U1,...,UN ayant participé à la réunion et dont les dires sont reportés dans le compte-rendu étant considérés comme contributeurs au contenu du document TEXT quand bien même celui-ci n'a été rédigé que par une seule personne. Bien entendu cet exemple n'est donné qu'à titre illustratif. Le document textuel TEXT est ainsi associé (par exemple via une indexation) ici à N 15 identifiants ID1, ID2,...,IDN identifiant respectivement les N utilisateurs U1, U2,..., UN ayant contribué à son contenu. Conformément à l'invention, le système informatique 1 comprend : un dispositif informatique 2 d'indexation automatique, conforme à l'invention ; et un espace de stockage 3, auquel peut accéder le dispositif 2 d'indexation automatique, par 20 exemple via un réseau de communications local ou distant. En variante, l'espace de stockage 3 peut être un espace de stockage intégré dans le dispositif 2 d'indexation automatique. Aucune limitation n'est attachée à la nature de l'espace de stockage 3 ; il peut s'agir d'un espace mémoire quelconque, d'un disque dur, d'un serveur, etc. Dans le mode de réalisation décrit ici, différents éléments destinés à être utilisés par le 25 dispositif 2 d'indexation automatique sont stockés dans l'espace de stockage 3, à savoir notamment : des modèles numériques décrivant différents processus d'un ensemble prédéterminé de processus PROC1, PROC2,..., PROU J désignant un entier supérieur à 1, dans lesquels sont impliqués (participent ou contribuent) les utilisateurs U1,...,UN. Par souci de simplification, on 30 suppose ici que chaque utilisateur Ui est impliqué dans un processus unique MODi, et que les processus dans lesquels sont impliqués les différents utilisateurs U1,...,UN sont distincts. Bien entendu, cette hypothèse n'est pas limitative en soi : différents utilisateurs peuvent participer à un même processus, et par ailleurs, un même utilisateur peut être impliqué dans plusieurs processus ; et 35 une ontologie ONTO. Par processus, on entend ici, comme indiqué précédemment, tout type de successions d'événements (ou d'activités ou encore d'étapes) El,...,EK où K désigne un entier supérieur ou égal à 1, ces événements étant corrélés entre eux ou interactifs et manipulant diverses données 3060800 8 d'entrée pour les transformer en données de sortie et atteindre collectivement un objectif. Il peut s'agir par exemple de processus métiers propres à une organisation ou une entreprise (ex. celle des utilisateurs U1,...,UN), tels que par exemple, un processus de fabrication d'un produit, un processus de traçabilité des produits, un processus de création de projet, etc. De tels processus 5 peuvent être aisément modélisés numériquement sous forme de graphes orientés, dans lequel les noeuds correspondent à des événements du processus et/ou à des opérateurs logiques reliant de tels événements (ex. « et » pour représenter une exécution parallèle d'événements, un « ou exclusif » pour représenter un choix entre deux événements, etc.), et les arcs définissent le séquencement existant entre les noeuds. 10 La figure 2A illustre une telle modélisation pour un processus PROC de création d'un projet comprenant une succession de quatre événements E1= « Définir les objectifs du projet », E2= « Chiffrer le projet », E3= « Identifier les ressources du projet » et E4= « Valider les ressources », chaque événement étant modélisé par un noeud. Le noeud « X » illustre la distinction finale opérée entre les ressources validées et les ressources non validées lors de l'étape E4. Les 15 données d'entrée DIN correspondent à toutes les données disponibles et susceptibles d'être utiles à la création du projet (ex. identifiant du projet, ressources matérielles, logicielles, humaines, et leurs disponibilités, etc.), et les données de sortie DOUT correspondent ici aux ressources validées lors de l'événement E4. La figure 2B illustre la modélisation d'un autre processus PROC' de traçabilité de 20 produits. Ce processus PROC' comprend une succession de six événements E1'= « Validation des marchandises », E2'= « Placement d'un tag RFID », E3'= « Mise en palettes des produits », E4'= « Inventaire », E5'= « Vérification de la préparation de la commande » et E6'= « Expédition », chaque événement étant modélisé par un noeud. Les noeuds « X » modélisent la possibilité d'avoir plusieurs noeuds connectés à un même noeud. Les données d'entrée DIN 25 correspondent à toutes les données disponibles et susceptibles d'être utiles pour la traçabilité des produits, et les données de sortie DOUT correspondent ici aux informations relatives aux produits validés, tracés et expédiés. Chaque événement Ek d'un processus est décrit par un label dans le modèle numérique correspondant. Dans le modèle présenté à la figure 2A, un label de l'événement El est 30 par exemple « Définir les objectifs du projet ». Pour chaque événement Ek d'un processus, le modèle numérique correspondant fournit également les données que l'événement manipule, à savoir ici ses données d'entrées DIN(Ek) et les données de sortie DOUT(Ek). Dans le modèle illustré à la figure 2A, les données d'entrée DIN(E3) de l'événement E3 labellisé « Identifier les ressources du projet » comprennent 35 par exemple une donnée labellisée « identifiant du projet » et une donnée de sortie DOUT(E3) qui correspondent par exemple à la liste des ressources identifiées et labellisée « liste des ressources ». 3060800 9 Dans le mode de réalisation décrit ici, chaque événement Ek est en outre assigné à un ou plusieurs utilisateurs (cela peut être également un groupe d'utilisateurs ou un rôle). Dans le modèle illustré à la figure 2A, le processus PROC est assigné au rôle « chef de projet ». On note que lors de chaque exécution du processus PROC (aussi désignée par « instance du processus »), 5 ce rôle « chef de projet » est attribué à un utilisateur donné, par exemple l'utilisateur U1 dont l'identifiant est ID1. Autrement dit, on considère que durant cette instance d'exécution du processus PROC, le processus PROC est associé à l'identifiant ID1 de l'utilisateur U1. Il en est de même des données manipulées lors de l'événement Ek. Durant chaque exécution (i.e chaque instance) du processus PROC, ces données se voient attribuer des valeurs. 10 Dans l'exemple de l'événement E3 mentionné ci-dessus, la donnée d'entrée labélisée « identifiant du projet » se voit par exemple attribuer la valeur IDPROJ, et la donnée de sortie labélisée « liste des ressources » se voit par exemple attribuer comme valeur [ID2,ID3] qui comprend les identifiants respectifs ID2 et ID3 des utilisateurs U2 et U3. Bien entendu ces exemples ne sont donnés qu'à titre illustratif. 15 Dans le mode de réalisation décrit ici, l'espace de stockage 3 stocke à la fois les modèles numériques MOD1,...,MODJ des processus PROC1,...,PROO de l'ensemble de processus considéré, ainsi que les instances INST(PROC1,...,PROCJ) de ces processus, autrement dit, l'ensemble des valeurs prises par les données manipulées par ces processus lors de leurs différentes exécutions. Il est bien entendu possible d'avoir plusieurs instances d'un même 20 processus. Par ailleurs, comme mentionné précédemment, l'espace de stockage 3 comprend également une ontologie ONTO. De façon connue, une ontologie est un modèle de données représentatif d'un ou de plusieurs concepts sémantiques caractérisant un domaine de connaissances, ainsi que les relations existant entre ces concepts. Un tel modèle de données est 25 classiquement utilisé en intelligence artificielle et en génie logiciel. Il peut être représenté aisément sous forme de graphe, dans lequel les noeuds représentent les concepts sémantiques et les arêtes les relations entre ces concepts. Autrement dit, une ontologie désigne à la fois un choix quant à la manière de décrire un domaine, et la description formelle de ce domaine. Dans le mode de réalisation décrit ici, l'ontologie ONTO comprend des concepts liés 30 entre eux par des relations de similarité au sens sémantique du terme (i.e. concepts synonymes entre eux), par des relations de subsomption (concepts compris dans d'autres concepts), par des relations d'héritage (concepts identifiés comme des sous-classes d'autres concepts), et par des relations de hiérarchie (concepts subordonnés à d'autres concepts). Bien entendu, d'autres exemples d'ontologie peuvent être envisagés, comportant notamment des concepts liés seulement 35 par une ou plusieurs des relations précitées. Plus précisément, dans le mode de réalisation décrit ici, l'ontologie ONTO s'appuie sur (i.e. inclut en tout ou partie) les concepts et les relations compris dans une ontologie linguistique. Des exemples d'ontologies linguistiques connues, telles que notamment l'ontologie WordNet 3060800 10 connue pour la langue anglaise et décrite notamment dans le document de G. A. Miller et al. intitulé « WordNet: A lexical database for English », ACM 38, n°11 (1995), pages 39-41, et/ou sur l'ontologie WOLF, connue pour la langue française, et décrite notamment dans le document de Sagot et al. intitulé « Building a Free French Wordnet from Multilingual Resources », OntoLex mai 5 2008. On note que l'ontologie ONTO peut ne reprendre que les concepts et les relations entre les concepts des ontologies linguistiques précitées qui concernent le domaine d'activité ou le domaine technique auquel les processus se réfèrent et/ou auquel le contenu des documents qui sont fournis au dispositif 2 d'indexation pour indexation est susceptible d'appartenir. Ce domaine peut être prédéterminé à l'avance de sorte à limiter l'ontologie ONTO considérée pour indexer les documents 10 et l'espace mémoire requis pour la stocker. De façon connue, les ontologies linguistiques telles que les ontologies WordNet ou WOLF précitées à partir desquelles l'ontologie ONTO est construite incluent différentes relations sémantiques entre les concepts qu'elles répertorient, à savoir notamment des relations de similarité (ex. concepts synonymes ou antonymes) et des relations de subsomption (ex. concepts 15 hyperonymes/hyponymes (un hyperonyme est un terme dont le sens inclut le sens d'un ou plusieurs autres termes qui sont ses hyponymes, ex. « animal » est l'hyperonyme de chat, chien, oiseau, etc.) ou méronymes (un méronyme A d'un terme B est un terme dont le signifié désigne une sous-partie du signifié de B, ex. bras est un méronyme de corps)). Dans l'exemple décrit ici, l'ontologie ONTO se limite à des relations de type synonymes et hyperonymes/hyponymes et 20 méronymes. La figure 3 représente un extrait d'un exemple d'ontologie ONTO donné à titre illustratif. Cet extrait comprend un premier sous-ensemble Sn de concepts et de relations extraits de concepts et de relations sémantiques repris d'une ontologie linguistique. Ce premier sous-ensemble comprend les concepts « relation », « manager », « supprimer », « mettre à jour », 25 « suivre », « créer ». Les concepts « manager » et « relation » sont liés par une relation d'appartenance (modélisée sur la figure 3 par la relation « est une »), autrement dit de type hyperonyme/hyponyme (i.e. « manager » est un concept hyponyme de « relation »). Les concepts « supprimer », « mettre à jour », « suivre », « créer » sont des sous-parties du concept « manager », autrement dit, ils sont reliés par une relation de type méronymie au concept 30 « manager » (modélisée sur la figure 3 par la relation « est une partie de »). Par ailleurs, dans le mode de réalisation décrit ici, l'ontologie ONTO comprend un second sous-ensemble 42 contenant d'autres concepts et relations entre ces concepts prédéfinis pour au moins un processus de l'ensemble des processus PROC1,...,PROCJ considéré. Ces concepts et relations entre concepts ont été déterminés par exemple par des experts à partir de la 35 connaissance de ces processus et/ou de leurs instances d'exécution. Dans l'exemple illustré à la figure 3, ces concepts incluent par exemple les concepts « projet », « chef de projet », « manager », « projet de recherche », « projet d'anticipation », « Albert Dupont », etc. En plus de relations d'appartenance et de similarité, ces concepts peuvent être reliés par d'autres types de 3060800 11 relations, introduites en fonction des processus considérés, comme par exemple des relations de type héritage (ex. un concept est une sous-classe d'un autre) ou de hiérarchie (ex. un concept dépend d'un autre). Aucune limitation n'est attachée aux types de relations pouvant être envisagées, qui permettent des relier les concepts propres aux processus entre eux. 5 Conformément à l'invention, les modèles numériques des processus PROC1,...,PROCJ, les instances de ces processus INST(PROC1,...,PROO) et l'ontologie ONTO stockés dans l'espace de stockage 3 sont utilisés par le dispositif 2 d'indexation pour indexer automatiquement un document textuel tel que le document TEXT au contenu duquel ont participé les utilisateurs U1,...,UN. Dans le mode de réalisation de réalisation décrit ici, le dispositif informatique 2 10 d'indexation automatique est un ordinateur, dont l'architecture matérielle est illustrée à la figure 4. Il comprend notamment un processeur 4, une mémoire vive 5, une mémoire morte 6, une mémoire flash non volatile 7 ainsi que des moyens de communication 8 lui permettant notamment de recevoir des documents textuels à indexer et d'accéder aux éléments précités 15 stockés dans l'espace de stockage 3. Ces moyens de communication 8 comprennent par exemple une carte réseau, un bus numérique, un port USB (Universal Serial Bus) ou encore des moyens de communication sans fil selon l'interface existant entre l'espace de stockage 3 et le dispositif 2 d'indexation, bien connus en soi. La mémoire morte 6 du dispositif 2 d'indexation constitue un support d'enregistrement 20 conforme à l'invention, lisible par le processeur 4 et sur lequel est enregistré ici un programme d'ordinateur PROG conforme à l'invention. Le programme d'ordinateur PROG définit des modules fonctionnels (et logiciels ici), configurés pour mettre en oeuvre les étapes du procédé d'indexation selon l'invention. Ces modules fonctionnels s'appuient sur et/ou commandent les éléments matériels 4-8 du dispositif 2 25 d'indexation cités précédemment. Ils comprennent notamment ici, comme illustré sur la figure 1 : un premier module d'obtention 2A configuré pour obtenir un identifiant d'au moins un utilisateur ayant contribué à un contenu d'un document textuel (typiquement dans l'exemple ici, au contenu du document textuel TEXT) ; un second module d'obtention 2B, configuré pour utiliser l'identifiant obtenu pour déterminer 30 au moins un processus associé à l'identifiant parmi l'ensemble prédéterminé de processus PROC1,...,PROO lors d'une exécution de ce processus, et pour obtenir au moins un modèle numérique de description de ce processus stocké dans l'élément de stockage 3 ; un premier module de construction 2C, configuré pour construire une liste de mots à partir des labels fournis ledit au moins un modèle numérique ; 35 un second module de construction 2D, configuré pour construire une liste de concepts dite initiale en sélectionnant dans l'ontologie ONTO des concepts correspondant aux mots de la liste de mots ; 3060800 12 un module d'enrichissement 2E, configuré pour fournir une liste de concepts enrichie en enrichissant ladite liste de concepts initiale en sélectionnant au moins un concept lié dans l'ontologie ONTO à un concept de la liste de concepts initiale ; un module de recherche 2F, configuré pour rechercher dans le document textuel des concepts 5 de la liste de concepts enrichie ; et un module d'indexation 2G, activé si au moins un concept est détecté dans le document textuel par le module de recherche, ce module d'indexation étant configuré pour indexer le document textuel avec le ou les concepts détectés. Les fonctions de ces différents modules sont décrites plus en détail maintenant, en 10 référence à la figure 5, qui représente sous forme d'ordinogramme, les principales étapes d'un procédé d'indexation automatique selon l'invention tel qu'il est mis en oeuvre par le dispositif 2 d'indexation automatique pour indexer le document textuel TEXT, dans un mode de réalisation particulier. On suppose donc ici que le document textuel TEXT est fourni au dispositif 2 15 d'indexation via ses moyens de communication 8. Le document textuel TEXT est indexé (par exemple par l'intermédiaire de métadonnées annexées au document TEXT), comme indiqué précédemment, par les identifiants des utilisateurs ayant contribué à son contenu. Dans l'exemple envisagé ici, il est indexé par les identifiants ID1,...,IDN des utilisateurs U1,...,UN, N désignant un entier supérieur ou égal à 1. 20 Le dispositif 2 d'indexation extrait ces identifiants du document textuel TEXT via son premier module d'obtention 2A (étape E10). Puis le dispositif 2 d'indexation identifie, via son second module d'obtention 2B et ses moyens de communication 8, dans l'espace de stockage 3, s'il existe des processus parmi l'ensemble de processus PROC1,...,PROO qui ont été associés lors d'une de leurs exécutions aux 25 identifiants ID1,...,IDN obtenus. On suppose ici que les processus PROC1,...,PROCN sont associés respectivement aux identifiants ID1,...,IDN dans l'espace de stockage 3. Le dispositif 2 d'indexation obtient alors dans l'espace de stockage 3 les modèles numériques MODi, i=1,...,N de ces processus (on fait l'hypothèse ici que chaque identifiant est associé à l'exécution d'un unique processus PROCi et que les processus PROCi, i=1,...,N sont distincts) (étape E20). Comme mentionné 30 précédemment, chaque modèle numérique MODi décrivant un processus PROCi fournit des labels des différents événements du processus PROCi, ainsi que des labels des différentes données manipulées par ces événements. En outre, dans le mode de réalisation décrit ici, le second module d'obtention 2B du dispositif 2 d'indexation obtient également lors de l'étape E20 les valeurs des données manipulées 35 par les événements des processus PROCi, i=1,...,N lors de leurs exécutions. Ces valeurs sont contenues dans les instances INST(PROC1,...,PROCN) d'exécution des processus PROC1,...,PROCN stockées dans l'espace de stockage 3. On note que plusieurs instances peuvent correspondre à un même processus. 3060800 13 Le dispositif 2 d'indexation, par l'intermédiaire de son premier module de construction 2C, construit alors une liste de mots WLIST à partir des labels fournis par chacun des modèles numériques obtenus MOD1,...,MODN (étape E30). Plus précisément, à cet effet, pour chaque processus PROCi, et chaque événement Ek, 5 k=1,...,K, K désignant un entier supérieur ou égal à 1 pouvant varier d'un processus à l'autre, le premier module de construction 2C du dispositif 2 d'indexation segmente en un ou plusieurs mots le label de l'événement Ek fourni par le modèle MODi. Par exemple, si le label de l'événement Ek est « identifier les ressources », le premier module de construction 2C obtient à l'issue de la segmentation de ce label les mots « identifier », « les », « ressources » (autrement dit, il sépare le 10 label mot par mot). Il ajoute alors à la liste WLIST les mots « identifier » et « ressources », le mot « les » n'étant pas significatif et donc omis (mot outil fréquemment utilisé dans la langue française et qui n'apporte pas ici d'information sur le contenu du document textuel TEXT). Le premier module de construction 2C procède ainsi pour chaque label d'événement Ek, k=1,...,K fourni par le modèle numérique MODi et pour chaque modèle numérique MODi, 15 i=1,...,N. Puis, le second module de construction 2D construit à partir de la liste WLIST obtenue, une liste de concepts dite initiale, notée CLISTinit, en détectant et en sélectionnant dans l'ontologie ONTO stockée dans l'espace 3 de stockage, les concepts les plus proches au sens d'un critère de distance prédéfini de chacun des mots contenus dans la liste WLIST (étape E50). A cet effet, le 20 second module de construction 2D utilise des moyens de recherche dans une ontologie connus en soi et non décrits ici. Dans le mode de réalisation décrit ici, le second module de construction 2D considère deux critères de distance à minimiser pour sélectionner les concepts les plus proches dans l'ontologie ONTO des mots de la liste WLIST, à savoir : 25 la distance syntaxique de Levenshtein entre chaque mot et chaque concept de l'ontologie, décrite notamment dans le document de V.L. Leventshtein et al. intitulé « Binary Codes Capable of Correcting Deletions, Insertions and Reversais », Soviet Physics Doklady, pages 707-710, 1966. La distance de Levenshtein, aussi communément appelée distance d'édition, calcule le nombre de différences qu'il existe entre deux chaines de caractères. Elle est définie 30 comme le nombre minimal de modifications, ajouts, et/ou suppressions permettant de passer d'une première chaîne de caractères à une seconde. Par exemple « niche » et « chien » ont une distance de Levenshtein de 4, car il faut supprimer N et I en début de la première chaîne (« niche ») puis ajouter E et N à la fin de la première chaîne pour obtenir la seconde chaîne (« chien ») ; et 35 la distance linguistique telle que définie par Wu et al. dans le document intitulé « Verb Semantics and Lexical Selection », Proceedins of the 32nd Annual Meeting on Association for Computational Linguistics, pages 133-138, 1994. Cette distance calculée entre deux concepts de l'ontologie est définie à partir du chemin dans l'ontologie reliant ces deux concepts en 3060800 14 utilisant le premier parent commun aux deux mots. Elle est comprise entre 0 et 1, et est définie par la relation suivante : 2x(profondeur du parent commun dans l'ontologie)/((profondeur du premier concept)+(profondeur du second concept)). Cette distance permet de ne pas sélectionner des concepts de l'ontologie qui peuvent être 5 syntaxiquement proche d'un mot de la liste WLIST mais qui ont des sens linguistiques éloignés. Ainsi par exemple, dans l'exemple décrit précédemment, on suppose qu'aucun concept n'est associé au mot « identifier » de la liste WLIST tandis que le concept RESSOURCE est associé au mot « ressources » de la liste WLIST. 10 Puis, dans le mode de réalisation décrit ici, le second module de construction 2D du dispositif 2 d'indexation ajoute à la liste de concepts initiale CLISTinit obtenue à l'issue de l'étape E50, les valeurs des labels des données manipulées par chacun des événements des processus PROC1,...,PROCN (étape E60). Par exemple, si dans l'un des processus PROC1,...,PROCN (par exemple le processus PROCiO), un événement Ek manipule une donnée « ressources » et qu'une 15 instance d'exécution INST(PROCiO) de ce processus utilise comme valeur de cette donnée « serveurs Debian, PC Elitebook 840 », le second module de construction 2D ajoute à la liste de concepts initiale CLISTinit les concepts « serveurs Debian » et « PC Elitebook 840 ». L'intérêt de cet ajout des valeurs des données manipulées par les instances lors de l'exécution des processus à la liste de concepts initiale CLISTinit est d'offrir la possibilité de détecter dans le document TEXT 20 des mots ayant un sens et une importance pour les processus PROC1,...PROCN, et qui n'apparaissent pas en tant que tels dans les modèles numériques MOD1,..., MODN. A l'issue de l'étape E60, le module d'enrichissement 2E du dispositif 2 d'indexation explore de nouveau l'ontologie ONTO afin d'enrichir la liste de concepts initiale CLISTinit avec des concepts de l'ontologie ONTO liés aux concepts répertoriés dans la liste initiale CLISTinit (étape 25 E70). Plus particulièrement ici, à cet effet, il ajoute à la liste de concepts initiale CLISTinit, tous les concepts liés dans l'ontologie ONTO aux concepts de la liste initiale CLISTinit par : une relation de similarité, représentée par exemple sur la figure 3 par une relation de type « est un » (ex. relation de type hyperonyme/hyponyme) ou « est synonyme de » ; 30 une relation d'inclusion ou de subsumption, représentée par exemple sur la figure 3 par une relation de type « est une partie de » (ex. relation de type méronymes) ; une relation d'héritage, représentée par exemple sur la figure 3 par une relation de type « est une sous-classe de » ; et une relation de hiérarchie, représentée par exemple sur la figure 3 par une relation de type 35 « est inclus dans », « a le rôle de », « manage », etc. La liste de concepts enrichie CLISTrich ainsi obtenue constitue à proprement parler un sous-ensemble de l'ontologie ONTO adaptée aux processus auxquels participent les utilisateurs U1,...,UN ayant contribué au contenu du document textuel TEXT. Elle est donc particulièrement 3060800 15 pertinente pour la recherche de mots importants dans le document textuel TEXT en vue d'indexer ce document. Le module 2F de recherche du dispositif 2 d'indexation recherche ensuite chacun des concepts compris dans la liste enrichie CLISTrich dans le contenu du document textuel TEXT 5 (étape test E80). A cet effet, le module 2F parcourt le document textuel TEXT au moyen de chacun des concepts listés dans la liste enrichie CLISTrich et détermine si ce concept est contenu dans le document textuel TEXT. Pour faciliter cette recherche, dans le mode de réalisation décrit ici, le module 2F de recherche lemmatise le document textuel TEXT au moyen de lemmes choisis en cohérence avec les concepts stockés dans l'ontologie ONTO. Il utilise par exemple à cet effet une 10 bibliothèque de traitement automatique des langues naturelles, telle que la bibliothèque TILT développée par la société Orange Labs et décrite notamment dans le document https ://www.ata la .org/IMG/pdf/TAL-2008-49-2-01-Hei necke. pdf. Si un concept de la liste enrichie CLISTrich est détecté par le module 2F de recherche dans le document textuel TEXT (réponse oui à l'étape test E80), ce concept est utilisé par le 15 module 2G d'indexation du dispositif 2 d'indexation pour indexer le document textuel TEXT (étape E90). Par exemple, il est ajouté par le module 2G à des métadonnées associées au document textuel TEXT. Sinon (réponse non à l'étape test E90), le procédé s'arrête (étape E100). On obtient ainsi un procédé très efficace permettant d'indexer le document textuel 20 TEXT avec des mots liés à son contexte de génération. Une telle indexation permet notamment avantageusement une recherche simplifiée du document textuel TEXT dans un ensemble comprenant éventuellement de nombreux documents. On note que l'utilisation des concepts de la liste enrichie CLISTrich pour indexer le document textuel TEXT n'exclut pas par ailleurs de détecter en plus les mots fréquemment utilisés 25 dans le document textuel TEXT, pour indexer le document textuel TEXT. En outre, cette détection peut être utilisée pour mettre à jour l'ontologie ONTO utilisée par l'invention avec de nouveaux concepts. Ainsi par exemple, à chaque fois que le dispositif 2 d'indexation détecte l'utilisation dans un document textuel qu'on lui fournit pour indexation, un mot particulier WORD un nombre supérieur de fois à un premier seuil prédéterminée THR1, il peut 30 incrémenter un compteur CNT(WORD) associé à ce mot, et lorsque le compteur CNT(WORD) dépasse un second seuil prédéterminé THR2, ajouter ce mot aux concepts de l'ontologie ONTO. Ceci constitue une autre façon d'enrichir l'ontologie ONTO. 35 REVENDICATIONS1. Procédé d'indexation automatique d'un document textuel (TEXT), destiné à être mis en oeuvre par un ordinateur (2), et comprenant : une première étape d'obtention (E10) d'un identifiant d'au moins un utilisateur ayant contribué à un contenu du document textuel ; une seconde étape d'obtention (E20), en utilisant l'identifiant dudit au moins un utilisateur, d'au moins un modèle numérique de description d'un processus, déterminé parmi un ensemble prédéterminé de processus, et auquel est associé l'identifiant dudit utilisateur lors d'une exécution de ce processus, chaque modèle numérique (MOD1,...,MODN) de description d'un processus fournissant pour au moins un événement de ce processus, un label de cet événement et au moins un label d'au moins une donnée manipulée lors dudit événement ; une étape de construction (E30) d'une liste de mots à partir des labels fournis par ledit au moins un modèle numérique ; une étape de construction (E40) d'une liste de concepts dite initiale en sélectionnant dans une ontologie (ONTO) des concepts correspondant aux mots de ladite liste de mots, ladite ontologie comprenant des concepts extraits d'une ontologie linguistique complétés par des concepts prédéfinis pour au moins un processus dudit ensemble prédéterminé de processus ; une étape d'enrichissement (E60) de ladite liste de concepts initiale en sélectionnant au moins un concept lié dans ladite ontologie à un concept de la liste de concepts initiale, ladite étape d'enrichissement fournissant une liste de concepts enrichie ; une étape de recherche (E70) dans ledit document textuel des concepts de la liste de concepts enrichie ; et si au moins un concept est détecté dans ledit document textuel lors de l'étape de recherche, une étape d'indexation (E80) dudit document textuel avec ledit au moins un concept détecté. 2. Procédé de traitement selon la revendication 1 dans lequel la seconde étape d'obtention (E20) comprend en outre l'obtention d'au moins une valeur de donnée manipulée lors d'au moins un événement dudit processus lors d'une exécution de ce processus, ladite au moins une valeur étant ajoutée à la liste de concepts initiale lors de l'étape de construction. 3. Procédé de traitement selon la revendication 1 ou 2 dans lequel ladite ontologie (ONTO) comprend des concepts liés entre eux par des relations de similarité, et/ou par des relations de subsomption, et/ou par des relations d'héritage, et/ou par des relations de hiérarchie. 4. Procédé de traitement selon l'une quelconque des revendications 1 à 3 dans lequel lors de l'étape de construction (E40) de la liste de concepts initiale, les concepts sélectionnés sont 3060800 17 les concepts de l'ontologie les plus proches des mots de la liste de mots au sens d'au moins un critère de distance prédéfini. 5. Procédé de traitement selon la revendication 4 dans lequel le critère de distance 5 prédéfini est choisi parmi un critère de distance syntaxique et un critère de distance linguistique. 6. Procédé de traitement selon l'une quelconque des revendications 1 à 5 dans lequel l'étape de construction de la liste de mots comprend une segmentation en une pluralité de mots d'au moins un label fourni par ledit au moins un modèle numérique. 10 7. Procédé de traitement selon l'une quelconque des revendications 1 à 6 dans lequel l'étape de recherche comprend une lemmatisation de mots du document textuel. 8. Procédé de traitement selon l'une quelconque des revendications 1 à 7 comprenant 15 en outre : une étape de détection d'une utilisation d'un mot un nombre de fois supérieur à un premier seuil prédéterminé dans ledit document textuel ; une étape d'incrémentation d'une unité d'un compteur associé audit mot ; si ledit compteur est supérieur à un second seuil prédéterminé, une étape de mise à jour de 20 l'ontologie avec ledit mot. 9. Programme d'ordinateur (PROG) comportant des instructions pour l'exécution des étapes du procédé de traitement selon l'une quelconque des revendications 1 à 8 lorsque ledit programme est exécuté par un ordinateur. 25 10. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de traitement selon l'une quelconque des revendications 1 à 8. 30 11. Dispositif informatique (2) d'indexation automatique d'un document textuel comprenant : un premier module d'obtention (2A) configuré pour obtenir un identifiant d'au moins un utilisateur ayant contribué à un contenu du document textuel ; un second module d'obtention (2B), configuré pour utiliser l'identifiant dudit au moins un 35 utilisateur pour déterminer au moins un processus parmi un ensemble prédéterminé de processus, ledit au moins un processus étant associé à l'identifiant dudit utilisateur lors d'une exécution de ce processus, ledit second module d'obtention étant en outre configuré pour obtenir au moins un modèle numérique de description dudit au moins un processus déterminé, 3060800 18 chaque modèle numérique de description d'un processus fournissant pour au moins un événement de ce processus, un label de cet événement et au moins un label d'au moins une donnée manipulée lors dudit événement ; un premier module de construction (2C), configuré pour construire une liste de mots à partir 5 des labels fournis par ledit au moins un modèle numérique ; un second module de construction (2D), configuré pour construire une liste de concepts dite initiale en sélectionnant dans une ontologie des concepts correspondant aux mots de ladite liste de mots, ladite ontologie comprenant des concepts extraits d'une ontologie linguistique complétés par des concepts prédéfinis pour au moins un processus dudit ensemble 10 prédéterminé de processus ; un module d'enrichissement (2E), configuré pour fournir une liste de concepts enrichie en enrichissant ladite liste de concepts initiale en sélectionnant au moins un concept lié dans ladite ontologie à un concept de la liste de concepts initiale ; un module de recherche (2F), configuré pour rechercher dans ledit document textuel des 15 concepts de la liste de concepts enrichie ; et un module d'indexation (2G), activé si au moins un concept est détecté dans ledit document textuel par le module de recherche, ledit module d'indexation étant configuré pour indexer ledit document textuel avec ledit au moins un concept détecté. 20 12. Système informatique (1) comprenant : un espace de stockage (3) dans lequel est stockée une ontologie (ONTO) ; et un dispositif informatique (2) d'indexation automatique selon la revendication 11 apte à utiliser ladite ontologie pour indexer un document textuel.