FR 3041126 A1 20170317 FR 1558688 A 20150916 PROCEDE DE FIABILISATION AUTOMATIQUE D'UNE BASE DE DONNEES STRUCTUREES Domaine de l'invention La présente invention concerne le domaine des 5 systèmes de gestion de bases de données contenant un très grand nombre de données (typiquement plusieurs dizaines de millions d'enregistrements), provenant d'un nombre important de sources hétérogènes, et d'utilisateurs différents (plusieurs milliers). Dans un tel contexte, les données sont 10 souvent incomplètes, parfois totalement ou partiellement redondantes, et structurées de manière hétérogène. Ces données sont également bruitées, c'est-à-dire qu'elles contiennent certaines informations non pertinentes ou erronées. Le domaine de l'invention concerne notamment celui 15 des systèmes d'informations pour la gestion de données commerciales et marketing multi-utilisateurs, renseignées de manière collaborative d'une part et par des robots assurant une recherche automatique d'informations d'autre part. L'absence de normalisation des processus de 20 collecte des données, de vérification des données avant enregistrement, conduit à un risque de dégénérescence de l'information enregistrée dans la base de données (300) et de perte de fiabilité qui rend la base de données (300) inexploitable. En effet, un nombre même faible 25 d'enregistrements erronés diminue fortement le degré de confiance qui peut être accordé à l'ensemble de la base de données (300). Techniquement, de tels systèmes nécessitent donc des traitements récurrents de fiabilisation et de révision, ce 30 qui entraîne des besoins de capacités de calcul et de stockage importants et limite la disponibilité du système d'informations. 3041126 - 2 - Par ailleurs, ces difficultés rendent difficile l'exploitation en temps réel d'une base de données (300) qui est en permanence renseignée par de nouvelles entrées et en même temps exploitée pour des traitements sur l'ensemble des données enregistrées. Etat de la technique On connaît en particulier dans l'état de la technique la demande de brevet américain US 20130110907 décrivant une méthode et un système pour fusionner, corriger, 10 et valider des données. Le système est configuré pour recevoir au moins deux ensembles de données de l'information de contact et analyser les deux informations pour produire les fusionner et augmenter l'un des ensembles de données avec les autres 15 données définies à l'aide des champs de données uniques ou non redondantes. On connaît également le brevet américain US8521758 décrivant un procédé de fusion d'enregistrements numériques. Les modes de réalisation comprennent la réception 20 d'une pluralité d'enregistrements. Un processeur exécute un programme logique de calcul de correspondance floue pour déterminer si un ou plusieurs dossiers dans la pluralité d'enregistrements de l'alimentation correspondent à un enregistrement existant. Le processeur exécute alors un 25 programme commandant la fusion des enregistrements corrélés avec l'enregistrement existant pour former un enregistrement composite fusionnée. Enfin, l'enregistrement composite fusionné est stocké. 30 3041126 - 3 Inconvénients de l'art antérieur De façon générale, les solutions de l'art antérieur visent à agréger des données venant de sources multiples, en appliquant des règles arbitraires et prédéterminées pour les 5 traitements de sélection, d'élimination, de fusion ou de remplacement de données. Ces solutions permettent certes de limiter la rapidité de la dégradation mais pas suffisamment pour réduire significativement la lourdeur de la maintenance de la base de données (300), du fait des opérations 10 périodiques de révision et nettoyage qui ralentissent l'exploitation de la base de données (300) et les temps de réponse. Par ailleurs, les solutions de l'art antérieur ne permettent pas de connaître le degré de dégradation et donc le 15 moment à partir duquel cette dégradation devient problématique. Cela implique alors d'appliquer un principe de précaution consistant à multiplier les opérations de maintenance, voire de rendre les données indisponibles à partir d'une ancienneté prédéterminée ou d'un autre paramètre 20 arbitraire. La performance et la qualité de la base de données (300) s'en trouvent ainsi significativement réduites, en raison d'un nombre d'informations utiles très inférieur à l'ensemble des informations traitées et enregistrées potentiellement exploitables. 25 Solution apportée par l'invention La présente invention vise à remédier à ces inconvénients en proposant un procédé assurant une fiabilité de la base de données (300) réduisant les problèmes techniques de réduction du temps de réponse pendant des phases répétées 30 de maintenance et permettant d'augmenter le taux d'informations exploitables / informations enregistrées. 3041126 - 4 - A cet effet, l'invention concerne selon son acception la plus générale un procédé de fiabilisation (automatique) d'une base de données (300) structurées contenant une pluralité d'enregistrements organisés en une 5 pluralité de champs, chaque enregistrement étant associé à une table historisée des actions, ladite base de données (300) étant associée à au moins une table d'indexation comportant, - Lors de l'entrée d'un nouvel enregistrement, un premier type de traitement consistant à appliquer une vérification [exploiter des informations] de cohérence des données endogènes dudit enregistrement pour calculer un score de fiabilité en fonction d'au moins une table de correspondance associée à au moins un champ, et à l'aide d'un calcul statistique sur le contenu des autres enregistrements o Lors de la modification d'un enregistrement de la base de données (300), ledit premier traitement ainsi que : ^ Un deuxième type de traitement à appliquer à l'enregistrement modifié pour recalculer ledit score de fiabilité en prenant en compte en outre le contenu de la table historisée associé audit enregistrement modifié ^ Un troisième type de traitement à appliquer à l'enregistrement modifié pour recalculer ledit score de fiabilité en prenant en compte en outre des données externes provenant d'un robot d'exploration de données extérieures à ladite base de données (300) o A enregistrer dans un champ le score ainsi calculé pour définir les fonctionnalités d'exploitation de ladite base de données (300). 3041126 - 5 - Description détaillée d'un exemple non limitatif de réalisation La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de 5 réalisation de l'invention, se référant aux dessins annexés où : - la figure 1 représente une vue schématique de l'architecture technique - la figure 2 représente une vue schématique de 10 l'architecture fonctionnelle Architecture technique La figure 1 représente un exemple d'architecture technique qui se compose d'une plate-forme informatique composée de serveurs capables de traiter les codes pour le 15 traitement et la fiabilisation des données propres à l'invention. Cette plate-forme a la capacité de traiter un grand volume de données. Le système comprend un serveur d'interface Homme-Machine (1) qui transfère les données saisies ou importées par 20 des automates tiers ou par un humain et génère un flux de données entrantes vers le serveur d'applications (2). Il réalise de façon connue les fonctions d'intermédiaire, de saisie et d'import : interface de saisie ou automatique pour numériser les données, les préformater afin de les rendre 25 intelligibles par le reste de la plate-forme. Ce serveur d'interface Homme-Machine (1) comporte les ports d'entrée-sortie pour la communication avec les automates ou les postes clients nécessaires à l'import des données et avec le serveur d'applications (2) qui hébergent 30 les différentes applications logicielles commandant le 3041126 - 6 - fonctionnement de la plate-forme. Ces applications logicielles commandent également les interfaces avec les autres serveurs (3 à 5). Le serveur applicatif (2) qui héberge le moteur 5 logiciel de la plate-forme alimente le serveur de base de données (3) et le serveur d'index associé (4), et déclenche un robot de recherche (5). Le serveur (5) réalise la fonction de robot de recherche en charge de la collecte des informations sur 10 internet via un ou plusieurs proxys internet (6). Ce proxy (6) assure la sécurité informatique en relayant les requêtes vers l'internet. Le serveur de base de données (3) assure le stockage des données et donne l'accès aux différentes 15 ressources de la plate-forme à ces données. Le serveur d'indexation (4) assure un accès rapide aux données enregistrées dans la base de données (3). Le cas échéant, il peut être remplacé par un cluster de base de données. 20 Traitement d'une nouvelle donnée La figure 2 représente la séquence de traitement appliquée à une nouvelle donnée (100) enregistrée dans une mémoire tampon, pendant les étapes de traitement, jusqu'à l'enregistrement dans la base de données (300). 25 Une nouvelle donnée (100) peut provenir de différentes sources : 1 - il peut s'agir d'une saisie manuelle par un utilisateur, 2 - ou d'une saisie automatique par un robot 3041126 - 7 - 3 - d'un import à partir d'une table ou d'un fichier préexistant 4 - une donnée déjà enregistrée dans la base de données (300), par exemple lorsqu'elle fait l'objet d'une 5 modification par un utilisateur ou d'un traitement automatique de maintenance. Dans ce cas, certaines étapes décrites dans la suite ne seront pas appliquées. On entend par « donnée » au sens du présent brevet un ensemble structuré de champs contenant des informations 10 alphanumériques. Une donnée à traiter peut être incomplète (c'est-à-dire un ou plusieurs de ses champs ne sont pas renseignés) et/ou erronée (c'est-à-dire un ou plusieurs de ses champs contiennent des informations incorrectes). La première étape consiste à appliquer une série de 15 traitements sur une nouvelle donnée (100) pour la normaliser par rapport à un référentiel de la base de données. Ces traitements comprennent la totalité ou une partie des actions suivantes (liste non limitative) qui se traduisent le cas échéant par une modification des 20 informations de la donnée enregistrée dans la mémoire tampon : - Formatage et nettoyage des champs, par exemple, on applique une mise en forme standardisée aux champs de type « téléphone », « adresse » et « courriel » 25 - Détection d'anomalies comme par exemple, la détection d'inversion entre le contenu des champs « nom » et « prénom » - Enrichissement de la donnée : o ajout du champ « ville » si le code postal 30 est rempli o inférence du champ « niveau de responsabilité » et « domaine d'activité ou 3041126 - 8 - département » à partir du champ « fonction au sein de l'entreprise » si celui-ci est rempli o inférence du champ « genre » à partir du 5 champ « prénom » o inférence du champ « courriel » à partir de la structure des courriels de l'entreprise Toutes ces actions portent : - soit sur des informations contenues dans la 10 donnée exclusivement (par exemple mise en majuscules ou minuscules,...) - soit sur des informations contenues d'une part dans un ou plusieurs champs de la donnée à traiter et d'autre part dans une table externe associée à un ou plusieurs champs 15 (par exemple structure d'un numéro de téléphone, liste de pays) - soit l'élimination (102) de données en fonction du résultat de vérifications portant sur le contenu d'un ou de plusieurs champs (par exemple élimination d'une donnée 20 lorsqu'un champ obligatoire n'est pas renseigné). Une donnée incomplète pourra selon le traitement être enregistrée dans la base malgré l'absence de certaines informations ou l'incohérence de certaines informations, soit éliminée par un traitement (102), interrompant alors le 25 processus. Le traitement (103) appliqué sur une donnée normalisée non éliminée et qui ne résulte pas d'un retraitement d'une donnée déjà enregistrée (quatrième source de données susvisée) dans la base de données (300) consiste à 30 calculer un ensemble de descripteurs qualitatifs se traduisant par un vecteur numérique (104), enregistré dans une mémoire 3041126 - 9 tampon, calculé en fonction d'une part de données contenues dans un ou plusieurs champs de la donnée, et d'autre part dans une ou plusieurs tables de la base de données (300). Ces descripteurs comprennent de façon non limitative : 5 - la fréquence d'une structure dans un champ de la donnée en cours de traitement, par exemple la structure 'nom_prenom@domaine.extension' dans un champ contenant des informations relatives à un courriel : le résultat de ce calcul a pour effet 10 de modifier le contenu du vecteur (104) enregistré dans la mémoire tampon - la cohérence entre deux champs de la donnée (100) comme par exemple, le préfixe téléphonique local et le code postal enregistrés dans les 15 champs respectifs de la donnée (100) : le résultat de ce calcul a pour effet de modifier le contenu du vecteur (104) par un résultat binaire (correct/incorrect) - la provenance de la donnée (utilisateur Salezeo, 20 import de fichier, réseau social professionnel etc.) qui ajoute un résultat binaire pour chaque catégorie de source possible au contenu du vecteur (104) - la vraisemblance du contenu d'un champ de la 25 donnée par rapport au contenu de ce même champ pour l'ensemble des données de la même table, par exemple, un score continu compris entre 0 et 1, mesurant la vraisemblance d'un intitulé de la fonction d'une personne au sein d'une 30 entreprise, qui dépend de la fréquence d'apparition des mots composant l'intitulé à travers le champ « fonction au sein de l'entreprise » 3041126 - 10 - - des descripteurs binaires indiquant si les champs de la donnée sont remplis ou non L'étape suivante (105) consiste à calculer une estimation de la fiabilité par un traitement appliqué d'une 5 part audit vecteur (104) et d'autre part à un vecteur de référence (106) présentant la même taille que le vecteur (104) plus une constante (107). Ce traitement consiste à procéder à un produit scalaire entre les deux vecteurs (104, 106) auquel on ajoute la constante (107), et se traduit par une 10 information numérique (108) représentative du score de fiabilité de la donnée (100) normalisée et traitée. Le vecteur de référence (106) et la constante (107) ont été préalablement calculés par un procédé qui se décrit ci-après. 15 L'étape (109) suivante consiste en une détection de doublons, c'est-à-dire à vérifier si la donnée en cours de traitement correspond de manière approximative (au sens anglais de « fuzzy matching ») à une donnée déjà enregistrée dans la base de données. 20 Cette étape peut être réalisée avec des solutions de déduplication connues de l'homme du métier. Une solution consiste à indexer les contenus des champs sous forme de trigrammes de caractères (par exemple pour le mot « maison », on enregistre dans l'index la liste de trigrammes suivante : 25 « mai », « ais », « iso », « son »). La détection de doublons consiste, pour le contenu de chacun des champs de la nouvelle donnée, à calculer les trigrammes puis à rechercher dans l'index les concordances entre la décomposition en trigrammes d'un champ de la nouvelle 30 donnée et les décompositions indexées. 3041126 Pour une donnée qualifiée de doublon, on procède à une étape (110) de fusion prenant en compte : - le score (108) de fiabilité associée à la donnée nouvelle (100) 5 - le score de fiabilité (201) associé à la donnée « doublon » (200) déjà enregistrée dans la base de données (300). Pour déterminer le contenu des informations à enregistrer, on procède à une évaluation des combinaisons de 10 champs de la donnée (100) et de la donnée (200), à l'exception des champs n'ayant pas de dépendances avec d'autres champs. Par exemple le champ « date système » n'a pas de dépendance avec un autre champ, alors que le champ « courriel » a une dépendance avec le champ « prénom », et/ou « nom », et/ou 15 « raison sociale » ou « site ». Afin de réduire la puissance et le temps de calcul nécessaires à ce traitement, on procède comme suit : - on affecte à chaque champ un score approximé correspondant au score de fiabilité global (108, 20 201) de la donnée associée, respectivement (100, 200) - on calcule pour chacune des combinaisons de champs un score temporaire égal à la somme des scores approximés 25 - on applique une pénalité à ce score temporaire pour chaque incohérence et chaque champ manquant dans la combinaison considérée - on sélectionne la combinaison dont le score temporaire ainsi pénalisé est le plus grand 30 - on remplace dans la mémoire tampon la donnée (100) par la donnée correspondant à cette combinaison ; et on enregistre dans la mémoire 3041126 - 12 - tampon l'identifiant de la donnée (200) doublonnée en liaison avec la donnée (100) ainsi modifiée. Le but de ce traitement est de fusionner les 5 données en optimisant la complétude, fiabilité et cohérence de la donnée avec, dans un exemple particulier, une priorité accordée au degré de complétude, puis à la cohérence et enfin à la fiabilité. Ensuite, on procède à une étape (111) 10 d'enregistrement de la donnée (100) modifiée par les étapes précédentes et enregistrées dans la mémoire tampon, dans la base de données (300). Par ailleurs, la donnée (200), si elle existe, est archivée dans la base de données (300) ; ce qui permet de construire une base de données historisée. 15 Il est à noter que la solution consistant à procéder aux traitements d'une donnée en l'enregistrant d'abord dans une mémoire tampon et, seulement à l'achèvement de ces traitements, dans la base de données, permet de procéder à un grand nombre de traitements concurrents sans 20 perturber le fonctionnement de la base de données. Calcul d'un second score de fiabilité On procède également à un traitement (112) pour calculer un second score de fiabilité (113). Ce traitement peut être appliqué après l'étape de déduplication (109). Il 25 peut également être appliqué périodiquement sur des données enregistrées dans la base de données (300), par exemple pour des données anciennes, ou des données qui ont fait l'objet d'une utilisation dans un processus externe utilisant les données de la base de données (300). 30 Le traitement appliqué dans le cadre de cette étape (112) est similaire à celui appliqué lors de l'étape (105), 3041126 - 13 - mais prend en compte en outre des informations externes à la donnée, ce qui se traduit par des informations supplémentaires dans les descripteurs (114) et le vecteur de référence (115). Ces informations proviennent notamment de sources 5 externes ou des utilisateurs de la base de données (300) : - validation d'une donnée par un utilisateur lors d'un processus de pointage ou de confirmation de données - qualification ou enrichissement d'une donnée par 10 un utilisateur - report d'erreur sur le contenu des champs d'une donnée - durée écoulée entre la date actuelle et la date de la dernière mise à jour de la donnée 15 - de données extérieures, enregistrées dans la base de données (300) ou provenant d'un robot effectuant des requêtes basées sur le contenu de certains des champs d'une donnée enregistrée dans la base de données (300) pour collecter des 20 informations complémentaires. Par exemple, on collecte sur Internet des informations en fonction de la cohérence entre les champs « nom », « prénom » et « nom de l'entreprise » de la donnée. 25 Comme dans le traitement (105), on calcule un vecteur de descripteurs (114), puis on applique un estimateur vectoriel (115) associé à une constante (116) pour calculer le score (113). Ce score (113) est enregistré, comme précédemment 30 le score (108) dans la base de données (300), en relation avec la donnée associée. 3041126 - 14 - Périodicité des traitements Les scores de fiabilité (113) sont recalculés périodiquement par l'activation automatique d'un procédé de sélection des données répondant à un critère, par exemple 5 d'ancienneté, et de mise à jour du score par application de l'étape (111). Données statistiques Les informations enregistrées dans la base de données (300), telles que la fréquence des structures d'un 10 champ, sont recalculées régulièrement sur la base de l'ensemble des enregistrements de la base de données (300). Le déclenchement de cette étape de recalcul peut être activé automatiquement, par exemple par un séquenceur, ou par une action d'un utilisateur, ou encore par le calcul d'un 15 indicateur à partir, par exemple, du nombre de nouvelles données enregistrées depuis la dernière opération de mise à jour, ou encore en fonction de la loi de distribution des informations. Apprentissage des modèles de fiabilité 20 Le vecteur de référence (106) et la constante (107) exploités lors de l'étape (105) ainsi que le vecteur de référence (114) et la constante (115) exploités lors de l'étape (112) sont calculés par un procédé de classification supervisée. 25 Ce procédé consiste à préparer un « ensemble d'apprentissage » constitué par une pluralité de données ayant fait l'objet d'une annotation par un opérateur humain, associant à chacune des données qu'il examine une annotation représentative de la fiabilité, par exemple sous une forme 30 binaire « 0 » ou « 1 ». On applique le traitement (103) à cet ensemble de données afin d'obtenir pour chacune d'entre elles 3041126 - 15 - un vecteur de descripteurs du même type que le vecteur (104) ou (114). On applique ensuite un algorithme de sélection par stabilité pour éliminer parmi ces descripteurs ceux qui sont 5 les moins pertinents pour prédire la fiabilité d'une donnée. L'algorithme de sélection par stabilité consiste à répéter un grand nombre de fois les étapes suivantes: - On perturbe l'ensemble d'apprentissage. Pour cela, on choisit aléatoirement une proportion 10 fixe des données de l'ensemble d'apprentissage et on applique une pondération aléatoire aux différents éléments descripteurs du vecteur (104) ou (114) - On applique un algorithme de sélection 15 classique qui consiste à classer les descripteurs par ordre d'importance Enfin, on combine les résultats de ces opérations répétées (les classements des descripteurs) afin de produire un classement final en fonction de la fréquence de sélection 20 des descripteurs à chacune des places du classement. Un descripteur se retrouvant fréquemment en tête de classement sera considéré comme plus robuste et plus pertinent. A l'issue de l'algorithme, on élimine du vecteur (104) ou (114) les descripteurs dont le classement final est inférieur à un 25 certain rang. Les annotations de l'ensemble d'apprentissage et les valeurs des descripteurs sélectionnés correspondant à l'ensemble d'apprentissage sont alors utilisées pour le calcul d'une règle d'apprentissage via un algorithme de classification 30 supervisée classique (par exemple, la régression logistique). Cette règle d'apprentissage prend la forme d'une fonction numérique linéaire, constituée d'un vecteur de poids de 3041126 - 16 - référence tel que les vecteurs (106, 114) et d'une constante telle que les constantes (107, 115), et sera utilisée lors des étapes (105, 112). 5 Enrichissement de la base Lors de l'enregistrement d'une nouvelle donnée dans la base de données (300), une vérification optionnelle déclenche une étape d'enrichissement lorsque certains champs sont incomplets. 10 Il est à noter que cet enrichissement est à double visée : - Compléter la donnée par des informations plus récentes et donc potentiellement plus fiables - Permettre une estimation plus précise de la 15 fiabilité de la donnée REVENDICATIONS1 - Procédé de fiabilisation automatique d'une base de données (300) structurées contenant une pluralité d'enregistrements organisés en une pluralité de champs, chaque enregistrement étant associé à une table historisée des actions, ladite base de données (300) étant associée à au moins une table d'indexation comportant, - Lors de l'entrée d'un nouvel enregistrement, un premier type de traitement consistant à appliquer une vérification de cohérence des données endogènes dudit enregistrement pour calculer un score de fiabilité en fonction d'au moins une table de correspondance associée à au moins un champ, et à l'aide d'un calcul statistique sur le contenu des autres enregistrements o Lors de la modification d'un enregistrement de la base de données (300), ledit premier traitement ainsi que : ^ Un deuxième type de traitement à appliquer à l'enregistrement modifié pour recalculer ledit score de fiabilité en prenant en compte en outre le contenu de la table historisée associée audit enregistrement modifié ^ Un troisième type de traitement à appliquer à l'enregistrement modifié pour recalculer ledit score de fiabilité en prenant en compte en outre des données externes provenant d'un robot d'exploration de données extérieures à ladite base de données (300) o A enregistrer dans un champ le score ainsi calculé pour paramétrer les fonctionnalités d'exploitation de ladite base de données (300). 2 - Procédé de fiabilisation (automatique) d'une base de données (300) structurées selon la revendication 1 3041126 - 18 - caractérisé en ce qu'il comporte une première étape consistant à appliquer une série de traitements sur une nouvelle donnée (100) pour la normaliser par rapport à un référentiel de la base de données. 5 3 - Procédé de fiabilisation (automatique) d'une base de données (300) structurées selon la revendication 1 caractérisé en ce que lesdites données sont enregistrées par une saisie sur un terminal ou par une saisie automatique par un robot ou par l'import à partir d'une table ou d'un fichier 10 préexistant ou par lecture d'une donnée déjà enregistrée dans la base de données (300). 4 - Procédé de fiabilisation (automatique) d'une base de données (300) structurées selon la revendication 2 ou 3 caractérisé en ce que lesdites donnée normalisée non 15 éliminée et qui ne résulte pas d'un retraitement d'une donnée déjà enregistrée dans la base de données (300) consistant à calculer un ensemble de descripteurs qualitatifs se traduisant par un vecteur numérique (104), enregistré dans une mémoire tampon, calculé en fonction d'une part de données contenues 20 dans un ou plusieurs champs de la donnée, et d'autre part dans une ou plusieurs tables de la base de données (300). 5 - Procédé de fiabilisation (automatique) d'une base de données (300) structurées selon la revendication précédente caractérisé en ce qu'il comporte une étape suivante 25 (105) de calcul d'une estimation de la fiabilité par un traitement appliqué d'une part audit vecteur (104) et d'autre part à un vecteur de référence (106) présentant la même taille que le vecteur (104) plus une constante (107). 6 - Procédé de fiabilisation (automatique) d'une 30 base de données (300) structurées selon la revendication précédente caractérisé en ce que ledit traitement consiste à procéder à un produit scalaire entre les deux vecteurs (104, 3041126 - 19 - 106) auquel on ajoute la constante (107), et se traduit par une information numérique (108) représentative du score de fiabilité de la donnée (100) normalisée et traitée. 7 - Procédé de fiabilisation (automatique) d'une 5 base de données (300) structurées selon la revendication précédente caractérisé en ce qu'il comporte un traitement (112) pour calculer un second score de fiabilité (113), appliqué après une étape de déduplication (109). 8 - Procédé de fiabilisation (automatique) d'une 10 base de données (300) structurées selon la revendication précédente caractérisé en ce qu'il comporte un traitement (112) pour calculer un second score de fiabilité (113), appliqué périodiquement sur des données enregistrées dans la base de données (300), par exemple pour des données anciennes, 15 ou des données qui ont fait l'objet d'une utilisation dans un processus externe utilisant les données de la base de données (300). 9 - Plate-forme informatique pour la mise en oeuvre du procédé de fiabilisation conforme à la revendication 1 20 caractérisé en ce qu'elle est composée de serveurs aptes à traiter les codes pour le traitement et la fiabilisation des données propres à l'invention. 10 - Plate-forme informatique selon la revendication précédente caractérisée en ce qu'elle comprend 25 un serveur d'interface Homme-Machine (1) commandant le transfert des données saisies ou importées par des automates tiers ou par un humain et génère un flux de données entrantes vers le serveur d'applications (2), ledit serveur d'interface Homme-Machine (1) comportant les ports d'entrée-sortie pour la 30 communication avec les automates ou les postes clients nécessaires à l'import des données et avec le serveur d'applications (2) qui hébergent les différentes applications 3041126 - 20 - logicielles commandant le fonctionnement de la plate-forme. Ces applications logicielles commandent également les interfaces avec les autres serveurs (3 à 5). 11 - Plate-forme informatique selon la 5 revendication 9 caractérisée en ce qu'elle comprend un serveur applicatif (2) qui héberge le moteur logiciel de la plate-forme alimente le serveur de base de données (3) et le serveur d'index associé (4), et déclenche un robot de recherche (5). 12 - Plate-forme informatique selon la 10 revendication précédente caractérisée en ce que ledit serveur (5) réalise la fonction de robot de recherche en charge de la collecte des informations sur internet via un ou plusieurs proxys internet (6). 13 - Plate-forme informatique selon la 15 revendication 9 caractérisée en ce qu'elle comprend un serveur d'indexation (4) commandant un accès rapide aux données enregistrées dans la base de données (3).