Brevet FR2888358A1 — publié le 20070112

La présente invention concerne la recherche d'informations dans plusieurs sources de données pour une communauté d'utilisateurs choisie. Plus particulièrement, elle se rapporte à la recherche dans des sources de données hétérogènes n'ayant pas une structure de données commune pour ladite communauté d'utilisateurs. Elle trouve une application générale dans le domaine de la recherche et la gestion des connaissances (knowledge management), au profit d'une communauté d'utilisateurs partageant un métier, un centre d'intérêt ou une expertise et souhaitant rechercher des informations dans plusieurs sources de données. On connaît déjà des outils de recherche par catégories de documents et/ou par mots clés. Généralement, les catégories sont prédéfinies manuellement ou construites à la volée lors de la recherche. La pertinence des résultats est relativement insuffisante, dans la mesure où les catégories utilisées sont le plus souvent trop générales et peu pertinentes, notamment pour une communauté d'utilisateurs ayant une expertise pointue. La présente invention remédie à cet inconvénient. Elle vise à fournir un outil de recherche utilisant des grilles de lecture préétablies et spécifiques à une ou plusieurs communautés d'utilisateurs choisies. Elle offre ainsi, pour une communauté d'utilisateurs donnée, une aide et assistance à la recherche d'informations pertinentes à l'égard de leur métier ou de leurs centres d'intérêt. Elle vise aussi à optimiser l'affichage des résultats, afin de faciliter la lecture selon des grilles de lecture spécifiques et préétablies. Elle vise enfin à présenter les documents selon un classement plus satisfaisant pour la communauté d'utilisateurs et améliorant le temps de recherche ainsi que le temps de lecture desdits résultats par rapport aux outils de recherche de l'art antérieur. Ainsi, la présente invention porte sur un procédé de recherche pour rechercher dans une pluralité de sources de données, possédant chacune des métadonnées structurées selon une structure choisie, des contenus d'informations à destination d'au moins une communauté d'utilisateurs choisie. Selon une définition générale de l'invention, le procédé comprend un mode de définition d'au moins une grille de lecture spécifique à une communauté d'utilisateurs et comportant au moins une catégorie de résultats, fonction de la structure des métadonnées de chaque source de données et un mode d'utilisation de la grille de lecture spécifique ainsi prédéfinie en tant que filtre de recherche et/ou de format d'affichage dans une recherche menée dans la pluralité de sources de données pour ladite communauté d'utilisateurs. Un tel procédé a l'avantage de permettre de trouver rapidement des documents pertinents dans une masse d'informations importante et hétérogène. II en résulte un gain de temps de recherche et de lecture, ainsi qu'une amélioration de la pertinence des résultats. En pratique, la grille de lecture comprend une pluralité de catégories rangées selon une relation hiérarchique choisie. Selon une réalisation, le mode de définition de la grille de lecture comprend les étapes suivantes: a) définir au moins une communauté d'utilisateurs selon au moins un élément partagé par lesdits utilisateurs de ladite communauté ; b) pour la communauté ainsi définie, définir au moins une source de données, selon au moins un paramètre relatif à ladite source de données et/ou à ladite communauté ; c) pour la source de données ainsi définie, rechercher au moins une 30 métadonnée permettant de définir au moins une catégorie; d) en cas de recherche positive à l'égard de la métadonnée, définir au moins une règle de correspondance entre la catégorie et la métadonnée ainsi obtenue e) appliquer la règle de correspondance ainsi définie à au moins une partie des contenus d'information de la source de données et associer à ladite catégorie les contenus de documents vérifiant ladite règle de correspondance; et f) répéter les étapes a) à e) pour au moins certaines métadonnées de chaque source de données et obtenir au moins une catégorie, fonction de la structure des métadonnées de chaque source de données et formant une grille de lecture prédéfinie et spécifique à la communauté d'utilisateurs pour ladite pluralité de sources de données. En pratique, les sources de données sont hétérogènes. Par exemple, les sources de données appartiennent au groupe formé par des bases de données internes, des bases de données externes, des applications de gestion de connaissances internes, des applications de gestion de documents, des contenus de fournisseurs. Selon une réalisation, l'élément commun d'une communauté d'utilisateurs appartient au groupe formé par un centre d'intérêt, un projet, un outil, une base de données, un procédé, une méthode, un métier, une expertise. Selon un autre aspect de l'invention, le mode de définition des grilles de lecture préétablies et spécifiques est mis en place à travers un module d'accès unique placé entre la communauté d'utilisateurs choisie et ladite pluralité de sources de données. Selon encore un autre aspect de l'invention, le paramètre relatif à la source de données découle de l'analyse métier de la communauté d'utilisateurs. La présente invention a également pour objet un outil de recherche 30 comprenant un serveur de recherche. Selon un autre aspect de l'invention, le serveur de recherche comprend: un module d'accès pour recevoir des requêtes émanant d'une communauté d'utilisateurs et apte à transmettre des résultats auxdits utilisateurs de la communauté ; - une pluralité de sources de données possédant chacune des 5 métadonnées structurées selon une structure choisie et connectées chacune au module d'accès; - un module de définition préalable d'au moins une grille de lecture spécifique à la communauté d'utilisateurs et comportant au moins une catégorie, fonction de la structure des métadonnées de chaque source de données; et - un module de recherche apte à utiliser ladite grille de lecture spécifique ainsi prédéfinie en tant que filtre de recherche et/ou de format d'affichage dans une recherche menée dans la pluralité de sources de données au profit de la communauté d'utilisateurs. En pratique, le module de définition comprend, pour au moins une communauté d'utilisateurs donnée: - des moyens pour rechercher pour au moins une source de données, au moins une métadonnée de la source permettant de définir au moins une catégorie; - des moyens de traitement aptes, en cas de recherche positive à l'égard de la métadonnée: à définir au moins une règle de correspondance entre la catégorie et la métadonnée ainsi obtenue et à appliquer la règle de correspondance ainsi définie à au moins une partie des résultats de la source de données et associer les résultats vérifiant ladite règle de correspondance à ladite catégorie; et É à répéter le traitement pour au moins certaines métadonnées de chaque source de données pour obtenir une grille de lecture spécifique applicable à la pluralité des sources de données et comportant au moins une catégorie, fonction de la structure des métadonnées desdites sources de données. La présente invention a également pour objet un support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, comportant des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé de recherche mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. La présente invention a enfin pour objet un programme d'ordinateur stocké sur un support d'information, ledit programme comportant des instructions permettant la mise en oeuvre du procédé de recherche mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels: - la figure 1 représente schématiquement une architecture de l'installation permettant de mettre en oeuvre le procédé de recherche selon l'invention; - la figure 2 illustre schématiquement les fonctions essentielles du procédé de recherche selon l'invention; - la figure 3 est un organigramme illustrant les étapes du module de définition de grilles de lecture spécifiques et préétablies selon l'invention; et - les figures 4A et 4B représentent un exemple de grille de lecture conforme à l'invention et illustrent l'utilisation d'une telle grille en tant que critère de recherche et de format d'affichage dans une recherche menée dans une source de données choisie au profit d'une communauté d'utilisateurs choisie conformément à l'invention. En référence à la figure 1, le procédé de recherche comprend un serveur de recherche 2 comportant plusieurs modules. Un module d'accès 3 permet de recevoir des requêtes 4 émanant d'utilisateurs d'une communauté 6. Le module d'accès 3 transmet des résultats 8 aux utilisateurs de ladite communauté via des outils informatiques du type micro-ordinateurs 10 de technologie classique. Le module d'accès 3 est intercalé entre les micro-ordinateurs 10 des communautés d'utilisateurs 6 et une pluralité de sources de données 12 possédant chacune des métadonnées structurées selon une structure choisie et connectées chacune au module d'accès 3. Les sources de données 12 peuvent être des contenus de fournisseurs 12A, des applications de gestion de connaissances 12B, des applications de gestion de documents 12C, des sources de connaissances 12D, des bases métiers internes 12E. Comme indiqué ci-dessus, les sources de données 12 sont ici hétérogènes, c'est-à-dire qu'elles n'ont pas nécessairement une structure de données commune. Par exemple, les sources de données sont de type Oracle , DB2 , Lotus , Verity , Filnet , Windchill , Plumtree , SAP (noms commerciaux). Comme on le verra plus en détails ci-après, l'outil de recherche permet de rechercher dans la pluralité des sources de données 12 ou dans un 15 sous-ensemble de l'une des bases de données 12. Comme on le verra plus en détails ci-après, l'outil de recherche selon l'invention constitue un outil d'accès adapté pour une communauté d'utilisateurs choisie (étape E1, figure 2). L'outil de recherche constitue aussi un assistant de recherche en complément de mots clés en fournissant des grilles de lecture préétablies et spécifiques à la communauté, susceptibles d'être utilisées comme filtres au cours de la recherche menée par catégories et mots clés (étape E2, figure 2). L'outil de recherche permet en outre de rechercher des documents dans des bases de données sélectionnées appartenant à des sources hétérogènes (étape E3, figure 2). L'outil de recherche permet également, grâce aux grilles de lecture, de fournir des résultats de recherche consolidés présentant une pertinence significative, (étape E4, figure 2). Enfin, grâce aux grilles de lecture préétablies et spécifiques, les 30 résultats sont affichés de manière organisée avec une visualisation améliorée grâce à un classement utilisant lesdites grilles de lecture (étape E5, figure 2). En référence à la figure 3, la recherche selon l'invention utilise un mode de définition de grilles de lecture de contenus de documents spécifiques à une communauté d'utilisateurs choisie. Comme on le verra plus en détails ci-après, cette grille de lecture comprend une ou plusieurs catégories de contenus de documents rangées selon une relation hiérarchique choisie, définie en fonction de la structure des métadonnées de chaque source de données dans lesquelles la recherche est menée. Comme vu ci-avant, l'outil de recherche va utiliser ces grilles de recherche spécifiques et prédéfinies en complément de mots clés en tant que filtres de recherche et/ou de formats d'affichage dans une recherche de contenus de documents menée par catégories et mots clés dans la pluralité de sources de données. En référence à la figure 3, le procédé définit en premier lieu une communauté d'utilisateurs (étape E10). Cette définition d'une communauté s'effectue selon un centre d'intérêt, un projet, un outil, une base de données, un procédé, une méthode, un métier, une expertise, ou un critère d'appartenance commun à l'ensemble des utilisateurs de la communauté. Ainsi, la communauté est définie comme un groupe de personnes 20 partageant des centres d'intérêt, des projets, utilisant des bases de données, des outils, des méthodes, ou des procédés. Pour une communauté ainsi définie à l'issue de l'étape E10, il est prévu d'identifier ou de définir au moins une source de données (étape E12). Cette identification s'effectue selon un paramètre relatif à ladite source et/ou à la communauté, par exemple à la suite d'une analyse du métier (étape El 1). À partir de la source de données 12 ainsi identifiée, il est possible de déduire la base de données correspondante, étape E13. En fonction des centres d'intérêts de la communauté, il est possible de déduire certaines grilles de lecture V potentielles déjà existantes (étape 30 E14), appelées encore points de vue ou viewpoint. Les grilles de lecture ou viewpoints V sont composées de catégories T classées de façon hiérarchique selon un arbre ou une structure arborescente déduite en fonction de la structure des métadonnées M des bases de données et/ou des sources de données 12. Le procédé réalise ainsi une liste ou un répertoire des bases de données 12 potentiellement utilisables ou déjà utilisées par la communauté. À la suite de l'étape E14, le procédé déduit les catégories T appartenant aux grilles de lecture V potentielles découlant des centres d'intérêt de la communauté d'utilisateurs (étape E15). Pour la source de données ainsi définie (étape E16), il est prévu de rechercher (étape E17) au moins une métadonnée M permettant de définir au 10 moins une catégorie T de contenus de documents. En cas de recherche positive à l'égard de la métadonnée (test positif, étape E18), on définit au moins une règle de correspondance entre la catégorie T et la métadonnée M ainsi obtenue. Grâce à la connaissance de la structure des métadonnées des bases de données (table, structure), le procédé identifie les champs utilisables. Le procédé consiste ici à identifier les métadonnées M qui peuvent correspondre à une ou plusieurs catégories T. Si la métadonnée M n'est pas disponible ou n'est pas fiable (test négatif, étape E19), on identifie d'autres métadonnées M pour déduire la métadonnée correspondante à l'aide de règles de correspondance E. Ces règles de correspondance E peuvent être de type simple ou trivial (étape E21), dans lequel on utilise le champ qui est correctement valué. La règle de correspondance E peut être plus complexe (étape E22), dans laquelle la règle de correspondance E est déduite à l'aide d'autres champs ou d'autres métadonnées M. Ainsi, si la métadonnée M existe, on utilise la valeur du champ ou une partie de cette valeur selon une règle de correspondance E simple ou complexe. Comme on le verra plus en détails ci-après, ces règles de 30 correspondance E sont construites à l'aide d'un outil de gestion appelé query builder. Après validation des règles de correspondance E par la communauté C (étape E23 optionnelle), on obtient un ensemble de catégories T appelées grilles de lecture V, points de vue ou viewpoints, rangées les unes par rapport aux autres selon une relation hiérarchique choisie, déduite en fonction de la structure des métadonnées. On réitère cette opération pour chaque catégorie T, étape E24, dans chaque base de données 12, étape E25. À l'issue de l'exploration de toutes les bases de données 12, la grille de lecture V est validée, étape E26, pour la communauté d'utilisateurs 6. Il peut arriver qu'à l'occasion de l'étape E20, aucune grille de lecture V ne soit définie pour la base de données courante 12 (étape E27). Chaque base de données 12 est donc passée en revue pour identifier les champs M permettant de définir chaque catégorie T. Pour cela on utilise la connaissance de la structure des bases de données avec, le cas échéant, l'aide du représentant métier ou informatique de cette base. Le modèle des données traitées par le procédé selon l'invention est de type base de données relationnelle. Par exemple, en référence à la figure 1, une communauté d'utilisateurs 6 dispose de plusieurs sources de données 12 sur lesquelles sont connectés des adaptateurs (non représentés) spécifiques à chaque base 12. Chaque communauté d'utilisateurs 6 dispose de grilles de lecture V ou viewpoints qui servent de filtres de recherche et/ou de critères de regroupement à l'affichage. Les équations E de correspondance et de règles de correspondance sont définies et générées par un outil de gestion appelé query builder. Les requêtes d'utilisateur 4 vont donc être utilisées aussi bien en tant qu'affichage ou filtre. Les requêtes ou queries sont donc traitées selon des équations établies dans la base 12. Une portion de la base de données 12 peut être utilisée. Cette portion est appelée encore report. Les équations E appelées encore mapping ru/es sont les ensembles de règle de correspondance triviales ou complexes qui définissent les catégories T. Comme vu ci-avant une grille de lecture V est un ensemble de catégories T à structure arborescente. Ces équations permettent de faciliter la maintenance en cas d'évolution ou changement de structure des bases de données. En pratique, les règles de correspondance sont calculées en fonction des données relatives à la communauté d'utilisateurs 6, des données relatives à la base de données 12, des données relatives à la grille de lecture V et, le cas échéant, des données relatives au sous-ensemble de la base de données. Chaque catégorie T appartenant à une grille de lecture V est définie (figure 3) à l'aide d'une ou plusieurs métadonnées M, selon des conditions à vérifier, et des opérateurs. Les opérateurs peuvent être des opérateurs booléens ET, OU, égal ou non égal . En référence aux figures 4A et 4B, on a illustré un exemple de grilles de lecture et l'utilisation d'une telle grille en tant que critère de recherche et de format d'affichage dans une recherche menée dans une source de données choisie selon l'invention. En référence à la figure 4A, on a illustré un exemple de recherche utilisant une grille de lecture V (moteurs) définie selon l'invention en référence à la figure 3. En premier lieu, un mot clé MC est défini. Ici le mot clé MC est fuel flow . L'utilisateur choisit ensuite une grille de lecture, ici viewpoint V égal moteurs . Cette grille de lecture V comprend ici deux catégories principales Rolls Royce et CFMI . La catégorie Rolls Royce comprend des sous-catégories Trent 500 A340 , Trent 700 A330 et Trent 900 A380 . La communauté d'utilisateurs 6 est ici la communauté dénommée fadec et les sources de données 12 sont sélectionnées parmi les bases de données RTN , FTA , fadecDB et ISAIM . L'utilisateur de la communauté sélectionne ici la catégorie T = Trent 500 A340. La requête d'utilisateur comprend ici donc le mot clé MC, la grille de lecture V associée à sa règle de correspondance E qui va pointer la base de 30 données 12 sélectionnée par lui-même, ici la base de données 12 = RTN. Grâce à la règle de correspondance E qui définit une partie de la grille de lecture V, les documents RTN et les champs MI = ATA et M2 = AC model vont être utilisés. La recherche est menée pour la communauté 6 = fadec dans la base 5 de données 12 = RTN avec la grille de lecture V = moteurs dans la catégorie T = Trent 500 A340. La règle de correspondance permet d'associer selon les équations établies par le query builder tous les documents répondant à la condition M1 = ATA commençant par 7 ou égale à 80, ainsi que les champs M2 = AC_model égal à 340-541 ou AC_model égal 340-642. Cette équation est mise en oeuvre en format texte XML dans le serveur de recherche. En référence à la figure 4B, la base de données 12 (RTN) contient plusieurs documents, notamment les six documents D, individualisés en D1 à D6. La grille de lecture V permet ainsi de réaliser un critère de recherche avec le type V = moteurs et la valeur T = Trent 500 A340. On sait que cette valeur T = Trent 500 A340 correspond aux métadonnées M1 = ATA commençant par 7 ou MI = ATA égal à 80, ou M2 = AC_model commençant par 340-541 ou M2 = AC_model égal à 340-642. Le résultat de la recherche fait apparaître quatre documents. On voit que le document D3 est supprimé dans la mesure où le mot clé fuel flow n'est pas présent dans le document, ainsi que le document D1 où le champ M1 (ATA) ne commence pas par 7 ou n'est pas égal à 80, mais ici égal à 24. Bien évidemment, les grilles de lecture V conformes à l'invention peuvent servir à plusieurs communautés d'utilisateurs. De même, un utilisateur peut combiner plusieurs grilles de lecture en tant que critère de recherche. En ce qui concerne l'affichage des résultats, les grilles de lecture conformes à l'invention offrent en outre à l'utilisateur un format d'affichage découlant desdites grilles de lecture. Par exemple, en référence à la figure 4B, on peut classer les résultats suivant les grilles de lecture fonction, ATA , moteurs . II en résulte un classement des résultats plus pertinent et spécifique à la communauté d'utilisateurs. REVENDICATIONS 1. Procédé de recherche pour rechercher dans une pluralité de sources de données (12), possédant chacune des métadonnées (M) structurées selon une structure choisie, des contenus d'information à destination d'au moins une communauté d'utilisateurs choisie (6), caractérisé en ce qu'il comprend un mode de définition d'au moins une grille de lecture (V) spécifique à ladite communauté d'utilisateurs (6) et comportant au moins une catégorie (T) de résultats, fonction de la structure des métadonnées (M) de chaque source de données (12) et un mode d'utilisation de ladite grille de lecture (V) spécifique ainsi prédéfinie en tant que filtre de recherche et/ou de format d'affichage dans une recherche de contenus de documents menée dans la pluralité de sources de données (12), pour ladite communauté d'utilisateurs (6). 2. Procédé selon la revendication 1, dans lequel la grille de lecture (V) comporte une pluralité de catégories (T) rangées selon une relation hiérarchique choisie. 3. Procédé selon la revendication 1 ou la revendication 2, dans lequel ledit mode de définition de la grille de lecture (V) comprend les étapes suivantes: a) définir au moins une communauté d'utilisateurs (6) selon au moins un élément partagé par lesdits utilisateurs de ladite communauté ; b) pour la communauté ainsi définie, définir au moins une source de données (12) selon au moins un paramètre relatif à ladite source et/ou à la communauté ; c) pour la source de données (12) ainsi définie, rechercher au moins une métadonnée (M) permettant de définir au moins une catégorie (T) de contenus de documents; d) en cas de recherche positive à l'égard de la métadonnée (M), définir au moins une règle de correspondance (E) entre la catégorie (T) et la métadonnée (M) ainsi obtenue; e) appliquer la règle de correspondance (E) ainsi définie à au moins une partie des contenus d'information de la source de données (12) et associer à ladite catégorie (T) les contenus de documents vérifiant ladite règle de correspondance (E) ; f) répéter les étapes a) à e) pour au moins certaines métadonnées (M) de chaque source de données et obtenir au moins une catégorie (T), fonction de la structure des métadonnées de chaque source de données et formant une grille de lecture (V) spécifique à la communauté d'utilisateurs (6) pour ladite pluralité de sources de données (12). 4. Procédé selon la revendication 1, dans lequel les sources de 15 données (12) sont hétérogènes. 5. Procédé selon la revendication 4, dans lequel les sources de données (12) appartiennent au groupe formé par des bases de données internes (12E) , des applications de gestion de connaissances internes (12B), des applications de gestion de documents (12C), des contenus de fournisseurs externes (12A), des sources de connaissances internes (12D). 6. Procédé selon la revendication 1, dans lequel l'élément commun d'une communauté d'utilisateurs (6) appartient au groupe formé par un centre d'intérêt, un projet, un outil, une base de données, un procédé, une méthode, un métier, une expertise. 7. Procédé selon la revendication 1, dans lequel le mode de définition des grilles de lecture spécifiques (V) est mis en place à travers un modèle d'accès unique (3) placé entre la communauté d'utilisateurs (6) et la pluralité de sources de données (12). 8. Procédé selon la revendication 1, dans lequel le paramètre relatif à la source de données découle de l'analyse métier de la communauté d'utilisateurs. 9. Outil de recherche comprenant un serveur de recherche comportant: - un module d'accès (3) pour recevoir des requêtes émanant d'utilisateurs appartenant à une communauté (6) et apte à transmettre des résultats auxdits utilisateurs de la communauté ; - une pluralité de sources de données (12) possédant chacune des métadonnées (M) structurées selon une structure choisie et connectées chacune au module d'accès (3) ; - un module de définition préalable d'au moins une grille de lecture (V) spécifique et comportant au moins une catégorie, fonction de la structure 15 des métadonnées (M) de chaque source de données (12) ; et - un module de recherche apte à utiliser ladite grille de lecture (V) spécifique ainsi prédéfinie en tant que filtre de recherche et/ou de critère d'affichage de résultats dans une recherche menée dans la pluralité de sources de données, au profit de la communauté d'utilisateurs. 10. Outil de recherche selon la revendication 9, dans lequel le module de définition comprend: - des moyens pour rechercher pour au moins une source de données (12), au moins une métadonnée (M) de la source permettant de définir 25 au moins une catégorie; - des moyens de traitement aptes, en cas de recherche positive à l'égard de la métadonnée: à définir au moins une règle de correspondance (E) entre la catégorie (T) et la métadonnée (M) ainsi obtenue et à appliquer la règle de correspondance (E) ainsi définie à au moins une partie des résultats de la source de données (12) et à associer les résultats vérifiant ladite règle de correspondance (E) à ladite catégorie (T) ; et à répéter le traitement pour au moins certaines métadonnées (M) de chaque source de données (12) pour obtenir une grille (V) de recherche et/ou d'affichage spécifique applicable à la pluralité des sources de données (12) et comportant au moins une catégorie (T) fonction de la structure des métadonnées desdites sources de données. 11. Support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, comportant des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé de recherche selon l'une des revendications 1 à 8, lorsque ce programme est chargé et exécuté par un système informatique. 12. Programme d'ordinateur stocké sur un support d'information, ledit programme comportant des instructions permettant la mise en oeuvre du procédé de recherche selon l'une des revendications 1 à 8, lorsque ce programme est chargé et exécuté par un système informatique.