WO2022144848A1 - System and method for predicting an overall similarity score between two primary entities of a data lake - Google Patents

System and method for predicting an overall similarity score between two primary entities of a data lake Download PDF

Info

Publication number
WO2022144848A1
WO2022144848A1 PCT/IB2021/062515 IB2021062515W WO2022144848A1 WO 2022144848 A1 WO2022144848 A1 WO 2022144848A1 IB 2021062515 W IB2021062515 W IB 2021062515W WO 2022144848 A1 WO2022144848 A1 WO 2022144848A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
primary data
entity
data entity
primary
Prior art date
Application number
PCT/IB2021/062515
Other languages
French (fr)
Inventor
Malik SOUDED
Original Assignee
Alten
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alten filed Critical Alten
Priority to EP21851988.2A priority Critical patent/EP4272089A1/en
Publication of WO2022144848A1 publication Critical patent/WO2022144848A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Definitions

  • the invention relates to the field of quantifying the similarity of data entities in a data lake.
  • it relates to a system and a method for predicting an overall similarity score between two primary entities of a data lake. It also relates to a system and method for training a machine learning model that is intended to predict an overall similarity score.
  • Big Data The increase in the volume of digital data has enabled the development of technologies related to big data (“Big Data”).
  • the invention aims to solve, at least partially, this need.
  • the invention relates in particular to a method for predicting an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
  • the method comprises: - a step of extracting, for each primary data entity, a plurality of data field characteristics from the content of the plurality of data fields according to at least one predetermined extraction criterion, - a step of association, for each primary data entity, of each characteristic with, on the one hand, a reference to the set of data fields from which the characteristic is extracted and, on the other hand, the quantity of fields of data from which the characteristic is extracted, so as to form a table of characteristics, - a generation step, for each primary data entity, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling, from the associated characteristic table and from a associated predetermined sampling probability, the predetermined sampling probability being, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of 'secondary data entities which are derived from the first primary data entity and the second primary data entity, - a step of defining a plurality of pairs of secondary data entities which are associated with
  • the invention also covers a method of training a machine learning model intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a lake of data, each primary data entity comprising a plurality of data fields.
  • the method comprises: - a first step of calculating a plurality of global similarity scores, from a plurality of pairs of primary data entities of at least one data lake, each global similarity score being representative of the similarity between a first primary data entity and a second primary data entity of the plurality of primary data entities, - a step of extracting, for each primary data entity of each pair of primary data entities, a plurality of characteristics of data fields from the content of the plurality of data fields according to at least one criterion d predetermined extraction, - a step of association, for each primary data entity of each pair of primary data entities, of each characteristic with, on the one hand, the set of data fields from which the characteristic is extracted and, on the other part, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics, - a generation step, for each primary data entity of each pair of primary data entities, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling, from of the associated characteristic table and
  • the predetermined extraction criterion is chosen from: a metadata attribute associated with the data fields, a characteristic associated with the content of the data fields, and any combinations thereof.
  • the metadata attribute associated with the data fields is chosen from: a type, a size in memory, an import date, a production date, an update date date, an identifier of the original data source, and any combination thereof.
  • the characteristic associated with the content of the data fields is calculated.
  • the characteristic associated with the content of the data fields is a length.
  • the characteristic associated with the content of the data fields is an n-gram of characters of at least one length predetermined.
  • the length of the character n-gram is fixed and/or variable.
  • the method further comprises in the association step the formation of a single characteristic class which groups the characteristic classes whose quantity of data fields is below a predetermined threshold.
  • the calculation step comprises the use of a method chosen from: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combination thereof .
  • the invention also covers a system for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
  • the system includes: - at least one data storage device configured to store instructions for predicting the global similarity score, and - at least one processor configured to execute the instructions to implement a method according to the invention.
  • the invention also covers a system for training a machine learning model for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
  • the system includes: - at least one data storage device configured to store instructions for training a machine learning model, and - at least one processor configured to execute the instructions to implement a method according to the invention.
  • One of the goals of this invention is to provide an objective and reproducible tool to quantify redundancy in a data lake.
  • the inventors propose to train a machine learning model, from existing data lakes to predict an overall similarity score which is representative of the similarity between two data entities of a data lake.
  • the invention proposes to determine the overall similarity score from intermediate similarity scores which are calculated on random samples of the data lake data entities.
  • the invention relates to a method for predicting an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
  • data lake a storage space where data is collected in its natural form, whether raw or transformed. And this, for the purpose of analysis (e.g. the establishment of reports, visualizations or analytical structures) or action (e.g. machine learning).
  • analysis e.g. the establishment of reports, visualizations or analytical structures
  • action e.g. machine learning
  • a data lake can comprise primary data entities in different forms such as structured data (e.g. databases that include rows and columns), semi-structured data (e.g. files such as CSV, logs, XML or JSON), unstructured data (e.g. emails, PDF files), and binary data (e.g. image, audio or video files).
  • structured data e.g. databases that include rows and columns
  • semi-structured data e.g. files such as CSV, logs, XML or JSON
  • unstructured data e.g. emails, PDF files
  • binary data e.g. image, audio or video files
  • each primary data entity comprises a plurality of data fields.
  • each data field has a data type which can be chosen from: numeric types, time types and character string types.
  • the data type when it is numeric, it can be chosen from among the numeric types defined in the standards associated with relational databases of the SQL type, such as an integer or a decimal number and any combination of these.
  • the type of data when it is temporal, it can be chosen from among the temporal types defined in the standards associated with relational databases of the SQL type, such as a date, a time, a day, a year, minute, second and any combination thereof.
  • the data type when it is a character string, it can be chosen from among the types of character strings defined in the standards associated with relational databases of the SQL type, such as an ASCII string , a binary string, an enumeration and any combination thereof.
  • all the fields of the data lake have the same type, for example the character string type.
  • the prediction method 100 comprises a step 110 of extracting, for each primary data entity, a plurality of characteristics of data fields from the content of the plurality of data fields.
  • the extraction is carried out according to at least one predetermined extraction criterion.
  • the invention also covers the performance of an extraction according to one or more predetermined extraction criteria.
  • the predetermined extraction criterion is selected from: a metadata attribute associated with the data fields, a feature associated with the content of the data fields, and any combinations thereof.
  • the predetermined extraction criterion is a metadata attribute associated with the data fields, it is chosen from: a type, a size in memory, an import date, a production date, a update date, an identifier of the original data source, and any combination thereof.
  • Metadata means data which is used to define or describe another data item.
  • a metadata attribute is a property of metadata.
  • the predetermined extraction criterion is the size in memory occupied by the data fields
  • a predetermined class of memory occupation e.g. a class chosen from: [1MB-10MB[, [10MB-100MB[, [100MB-200MB[, [200MB-1GB[, [1GB-100GB] and any combination thereof).
  • the characteristic associated with the content of the data fields is a length.
  • the predetermined extraction criterion is the length of the data fields
  • it will be possible to extract, from each primary data entity, the data fields of so that each data field belongs to a predetermined class of character string length e.g. a class chosen from: [1-10 characters[, [10-50 characters[, [50-100 characters[, [100 -200 characters[ and any combination thereof).
  • the characteristic associated with the content of the data fields is an n-gram of characters (also called “bags of words” or “token based” , in English) of at least a predetermined length.
  • an n-gram of characters is a succession of 'n' consecutive characters (e.g. three, four or five characters) of a character string.
  • the length of the character n-gram is fixed.
  • the word “text” includes the following trigrams: “tex”, “ext”, and "xte”.
  • the length of the n-gram of characters is variable.
  • portfolio includes the following trigrams: "por”, “ort”, “rte”, “tef”, “efe”, “feu”, “eui”, “uil”, “ill”. , "she”.
  • portefeuille includes the following quadrigrams: "port”, “orte”, “rtef”, “tefe”, “efeu”, “feui”, “euil”, “uill”, “ille”.
  • the classes of n-grams of characters may not be distinct, because a data field may comprise several n-grams of characters and thus appear in several classes of n-gram of characters.
  • an internal, semantic, and common characteristic of the data fields links the classes of n-grams of characters together.
  • the prediction method 100 comprises a step 120 of association, for each primary data entity, of each characteristic with, on the one hand, a reference to the set of data fields from which the characteristic is extracted and, on the other hand, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics.
  • each row corresponds to a characteristic class.
  • the reference to all of the data fields includes a plurality of data field references, each of the references referring to a single data field.
  • a data field reference is a unique identifier of a data field.
  • the quantity of data fields from which the characteristic is extracted is a statistical quantity.
  • the quantity of data fields is a descriptive statistic measure chosen from: frequency and frequency.
  • the frequency of a characteristic means the number of observations of this characteristic in the associated table of characteristics.
  • frequency of a characteristic we mean the ratio between the number of this characteristic and the total number of characteristics in the associated table of characteristics.
  • the quantity of data fields can be obtained from other descriptive statistics measurements, without requiring substantial modifications of the invention.
  • the prediction method 100 further comprises, in the association step 120, the formation of a single particular feature class which groups together the feature classes whose quantity of data fields is below a predetermined threshold.
  • this particular characteristic class could include characteristics whose frequency is less than fifty or whose frequency is less than 10% of the total frequency.
  • the table of characteristics 10 comprises a first column 11, a second column 12 and a third column 13.
  • the first column 11 comprises one line per n-gram of characters.
  • the character n-gram "coh” is three characters long.
  • the n-gram of characters "ct” has a length of two characters.
  • the second column 12 comprises, for each n-gram, the quantity of associated data fields.
  • the quantity of data fields is a count.
  • the third column 13 comprises, for each n-gram of characters, a list of references to all the data fields from which the n-gram of characters is extracted.
  • the field with the reference '7' includes the character n-grams "ct", "cti”, and "dir".
  • the prediction method 100 comprises a step 130 of generating, for each primary data entity, the same predetermined number of at least two random samples, called secondary data entities.
  • the invention also covers the generation of two or more secondary data entities.
  • the generation step 130 uses stratified sampling, from the characteristic table associated with each primary data entity and from an associated predetermined sampling probability.
  • stratified sampling is a method of selecting samples from a population of study data. It is particularly useful if the phenomena studied are irregularly distributed or if the study data are very heterogeneous.
  • study data is divided into several predefined subsets (also called “strata") that exhibit homogeneity with respect to the spatial distribution of relevant features and attributes.
  • strata predefined subsets
  • the predetermined sampling probability is, on the one hand, different for the secondary data entities which come from the same primary data entity.
  • each secondary data entity will be associated with a predetermined sampling probability which is different from that of the others.
  • the predetermined sampling probability is common for pairs of secondary data entities that are derived from the first primary data entity and the second primary data entity.
  • each pair comprises secondary data entities that are associated with a same predetermined sampling probability.
  • the predetermined sampling probability associated with each pair is different from that of the others.
  • the first secondary data entities 21, 22, 23 and 24 are random samples of the first primary data entity 20 while the second secondary data entities 31, 32, 33 and 34 are random samples of the second primary data entity 30.
  • sampling probability associated with each secondary data entity is different from those associated with the same primary data entity 20, 30.
  • each of the first secondary data features 21, 22, 23, and 24, respectively can be associated with the following sampling probabilities: 10%, 30%, 40%, and 60%.
  • sampling probability associated with each secondary data entity of a pair formed from first primary data entity 20 and second primary data entity 30, is common.
  • each of the second secondary data entities 31, 32, 33, and 34 is associated, respectively, with the following sampling probabilities: 10%, 30%, 40%, and 60% .
  • a first pair is formed from the first secondary data entity 21 and the second secondary data entity 31; a second pair is formed from the first secondary data entity 22 and the second secondary data entity 32; a third pair is formed from the first secondary data entity 23 and the second secondary data entity 33; and, forming a fourth pair from the first secondary data entity 24 and the second secondary data entity 34.
  • the prediction method 100 comprises a step 140 of defining a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability.
  • each pair of secondary data entities includes a first secondary data entity from the first primary data entity and a second secondary data entity from the second primary data entity.
  • the definition step 140 will make it possible to define four pairs of secondary data entities.
  • the prediction method 100 comprises a step 150 of calculating, for each pair of secondary data entities, an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity.
  • the calculation step 150 comprises the use of a method chosen from among: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combinations thereof- this.
  • the prediction method 100 comprises a step 160 of forming a vector which comprises a plurality of vector elements.
  • each vector element includes, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability.
  • vector is meant a data structure which is configured to store an ordered set of elements which are each identified by an index.
  • a vector is defined by the number of elements that compose it as well as the type and size of its elements.
  • linked list can also be considered as a vector within the meaning of the invention.
  • the prediction method 100 comprises a prediction step 170, from the vector and from at least one trained machine learning model, called trained model, to predict an overall similarity score which is representative of the similarity between the first primary data entity and the second primary data entity.
  • the invention also relates to a system for predicting the global similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
  • the system 200 includes at least one data storage device 210 and at least one processor 220.
  • Data storage device 210 is configured to store instructions for predicting the overall similarity score.
  • the processor 220 is configured to execute the instructions to implement all or part of the prediction method 100 as described above.
  • the invention also relates to a method of training a machine learning model which is intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
  • each primary data entity comprises a plurality of data fields.
  • the training method 300 comprises a first step 310 of calculating a plurality of global similarity scores, from a plurality of primary data entities of at least one data lake.
  • each global similarity score is representative of the similarity between a first primary data entity and a second primary data entity of the plurality of primary data entities.
  • the first calculation step 310 comprises the use of a method chosen from among: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combinations thereof.
  • the training method 300 comprises a step of extracting 320, for each primary data entity of each pair of primary data entities, a plurality of data field characteristics from the content of the plurality of data fields.
  • the extraction is carried out according to at least one predetermined extraction criterion.
  • the training method 300 comprises a step 330 of association, for each primary data entity of each pair of primary data entities, of each characteristic with, on the one hand, the set of data fields whose the characteristic is extracted and, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics, as indicated above.
  • the training method 300 comprises a generation step 340, for each primary data entity of each pair of primary data entities, of the same predetermined number of at least two random samples, called secondary data, as indicated above.
  • the generation step 340 uses stratified sampling, from the associated characteristic table and from an associated predetermined sampling probability, as indicated above.
  • the predetermined sampling probability is, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of secondary data entities that are derived from the first primary data entity and the second primary data entity.
  • the training method 300 comprises a step of defining 350, for each primary data entity of each pair of primary data entities, a plurality of pairs of secondary data entities which are associated with the same probability pre-determined sample rate, as indicated above.
  • each pair of secondary data entities comprises a first secondary data entity derived from the first primary data entity and a second secondary data entity derived from the second primary data entity.
  • the training method 300 comprises a second step of calculating 360, for each pair of secondary data entities, an intermediate score of similarity which is representative of the similarity between the first entity of secondary data and the second secondary data entity.
  • the training method 300 includes a first step 370 of forming, for each pair of primary data entities, a first vector that includes a plurality of vector elements.
  • each vector element of the first vector includes, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability
  • the training method 300 comprises a second step 380 of training, for each global similarity score, a second vector which comprises the global similarity score.
  • the training method 300 includes training 390 a machine learning model by machine learning that includes an input and an output that are associated with a same pair of primary data entities.
  • the input is configured to receive the first vector and the output is configured to receive the second vector.
  • the machine learning includes a training algorithm that is selected from: partial least squares regression, linear regression, neural network, decision tree, genetic algorithm, genetic programming, k-nearest neighbor method, radial basis function network, random function, forest, support vector machine and deep learning.
  • the invention also relates to a system for training a machine learning model which is intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity d a data lake.
  • system 400 includes at least one data storage device 410 and at least one processor 420.
  • Data storage device 410 is configured to store instructions for training a machine learning model.
  • Processor 420 is configured to execute instructions to implement all or part of training method 300 as described above.
  • the invention may be subject to numerous variants and applications other than those described above.
  • the various structural and functional characteristics of each of the implementations described above should not be considered as combined and/or closely and/or inextricably linked to each other, but, on the contrary, as simple juxtapositions.
  • the structural and/or functional characteristics of the various embodiments described above may be the subject, in whole or in part, of any different juxtaposition or any different combination.

Abstract

One of the aims of said invention is to provide an objective and reproducible tool for quantifying redundancy in a data lake. To achieve this, the inventors propose training a machine learning model, using existing data lakes, to predict an overall similarity score which is representative of the similarity between two data entities of a data lake. In practice, instead of comparing each of the data fields of the data entities, the invention proposes determining the overall similarity score from intermediate similarity scores which are calculated for random samples of the data entities.

Description

SYSTÈME ET PROCÉDÉ POUR PRÉDIRE UN SCORE GLOBAL DE SIMILARITÉ ENTRE DEUX ENTITÉS PRIMAIRES D’UN LAC DE DONNÉESSYSTEM AND METHOD FOR PREDICTING AN OVERALL SIMILARITY SCORE BETWEEN TWO PRIMARY ENTITIES OF A DATA LAKE
L’invention concerne le domaine de la quantification de la similarité d’entités de données dans un lac de données. En particulier, elle concerne un système et un procédé pour prédire un score global de similarité entre deux entités primaires d’un lac de données. Elle concerne également un système et un procédé pour l’entrainement d’un modèle d’apprentissage machine qui est destiné à prédire un score global de similarité.The invention relates to the field of quantifying the similarity of data entities in a data lake. In particular, it relates to a system and a method for predicting an overall similarity score between two primary entities of a data lake. It also relates to a system and method for training a machine learning model that is intended to predict an overall similarity score.
L’accroissement du volume des données numériques a permis le développement des technologies liées aux mégadonnées (« Big Data », en anglais).The increase in the volume of digital data has enabled the development of technologies related to big data (“Big Data”).
Le caractère hétérogène de ces données numériques, ainsi que leurs sources diverses, ont nécessité de modifier les manières traditionnelles de stocker les données.The heterogeneous nature of these digital data, as well as their diverse sources, have required changes to traditional ways of storing data.
C’est notamment dans ce cadre que l’on a introduit les lacs de données (« Data Lake », en anglais). It is in this context that data lakes have been introduced.
Or, dans ces lacs de données, il est difficile d’analyse des données à cause de la présence de redondances de champs de données qui, par exemple, rendent complexe l’extraction de sous-ensembles de champs de données particuliers.However, in these data lakes, it is difficult to analyze the data because of the presence of redundancies of data fields which, for example, make it complex to extract subsets of particular data fields.
En effet, ces redondances alourdissent les temps d’accès aux données, fragilisent l’intégrité des données et empêchent le maintien d’une cohérence des données. Indeed, these redundancies increase the data access times, weaken the integrity of the data and prevent the maintenance of data consistency.
Ainsi, il existe un besoin pour quantifier la redondance dans les lacs de données. Thus, there is a need to quantify redundancy in data lakes.
L’invention vise à résoudre, au moins partiellement, ce besoin. The invention aims to solve, at least partially, this need.
L’invention vise en particulier un procédé de prédiction d’un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données.The invention relates in particular to a method for predicting an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
En particulier, le procédé comprend :
- une étape d’extraction, pour chaque entité de données primaire, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données selon au moins un critère d’extraction prédéterminé,
- une étape d’association, pour chaque entité de données primaire, de chaque caractéristique avec, d’une part, une référence à l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques,
- une étape de génération, pour chaque entité de données primaire, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires, en utilisant un échantillonnage stratifié, à partir du tableau de caractéristique associé et d’une probabilité d’échantillonnage prédéterminée associée, la probabilité d’échantillonnage prédéterminée étant, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire et, d’autre part, commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire,
- une étape de définition d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée, chaque paire d’entités de données secondaires comprenant une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire,
- une étape de calcul, pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire,
- une étape de formation d’un vecteur comprenant une pluralité d’éléments de vecteur, chaque élément de vecteur comprenant, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associée, et
- une étape de prédiction, à partir du vecteur et d’au moins un modèle d’apprentissage machine entrainé, dit modèle entrainé, pour prédire un score global de similarité qui est représentatif de la similarité entre la première entité de données primaire et la deuxième entité de données primaire.
In particular, the method comprises:
- a step of extracting, for each primary data entity, a plurality of data field characteristics from the content of the plurality of data fields according to at least one predetermined extraction criterion,
- a step of association, for each primary data entity, of each characteristic with, on the one hand, a reference to the set of data fields from which the characteristic is extracted and, on the other hand, the quantity of fields of data from which the characteristic is extracted, so as to form a table of characteristics,
- a generation step, for each primary data entity, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling, from the associated characteristic table and from a associated predetermined sampling probability, the predetermined sampling probability being, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of 'secondary data entities which are derived from the first primary data entity and the second primary data entity,
- a step of defining a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability, each pair of secondary data entities comprising a first secondary data entity coming from the first entity of primary data and a second secondary data entity derived from the second primary data entity,
- a step of calculating, for each pair of secondary data entities, an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity,
- a step of forming a vector comprising a plurality of vector elements, each vector element comprising, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability, and
- a prediction step, from the vector and from at least one trained machine learning model, called trained model, to predict an overall similarity score which is representative of the similarity between the first primary data entity and the second primary data entity.
L’invention couvre également un procédé d’entrainement d’un modèle d’apprentissage machine destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données.The invention also covers a method of training a machine learning model intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a lake of data, each primary data entity comprising a plurality of data fields.
En particulier, le procédé comprend :
- une première étape de calcul d’une pluralité de scores globaux de similarité, à partir d’une pluralité de paires d’entités de données primaires d’au moins un lac de données, chaque score global de similarité étant représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire de la pluralité d’entités de données primaires,
- une étape d’extraction, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données selon au moins un critère d’extraction prédéterminé,
- une étape d’association, pour chaque entité de données primaire de chaque paire d’entités de données primaires, de chaque caractéristique avec, d’une part, l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques,
- une étape de génération, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires, en utilisant un échantillonnage stratifié, à partir du tableau de caractéristique associé et d’une probabilité d’échantillonnage prédéterminée associée, la probabilité d’échantillonnage prédéterminée étant, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire et, d’autre part, commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire,
- une étape de définition, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée, chaque paire d’entités de données secondaires comprenant une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire,
- une deuxième étape de calcul, pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire,
- une première étape de formation, pour chaque paire d’entités de données primaires, d’un premier vecteur comprenant une pluralité d’éléments de vecteur, chaque élément de vecteur comprenant, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associée,
- une deuxième étape de formation, pour chaque score global de similarité, d’un deuxième vecteur comprenant le score global de similarité, et
- l’entrainement d’un modèle d’apprentissage machine par un apprentissage automatique comprenant une entrée et une sortie qui sont associées à une même paire d’entités de données primaires, l’entrée étant configurée pour recevoir le premier vecteur et la sortie étant configurée pour recevoir le deuxième vecteur.
In particular, the method comprises:
- a first step of calculating a plurality of global similarity scores, from a plurality of pairs of primary data entities of at least one data lake, each global similarity score being representative of the similarity between a first primary data entity and a second primary data entity of the plurality of primary data entities,
- a step of extracting, for each primary data entity of each pair of primary data entities, a plurality of characteristics of data fields from the content of the plurality of data fields according to at least one criterion d predetermined extraction,
- a step of association, for each primary data entity of each pair of primary data entities, of each characteristic with, on the one hand, the set of data fields from which the characteristic is extracted and, on the other part, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics,
- a generation step, for each primary data entity of each pair of primary data entities, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling, from of the associated characteristic table and of an associated predetermined sampling probability, the predetermined sampling probability being, on the one hand, different for the secondary data entities which come from the same primary data entity and, d on the other hand, common for pairs of secondary data entities which come from the first primary data entity and from the second primary data entity,
- a step of defining, for each primary data entity of each pair of primary data entities, a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability, each pair of secondary data entities comprising a first secondary data entity from the first primary data entity and a second secondary data entity from the second primary data entity,
- a second step of calculating, for each pair of secondary data entities, an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity,
- a first step of forming, for each pair of primary data entities, a first vector comprising a plurality of vector elements, each vector element comprising, for each pair of secondary data entities, the intermediate score of similarity and the value of the associated predetermined probability,
- a second step of forming, for each global similarity score, a second vector comprising the global similarity score, and
- training a machine learning model by automatic learning comprising an input and an output which are associated with a same pair of primary data entities, the input being configured to receive the first vector and the output being configured to receive the second vector.
Dans un premier mode de réalisation, le critère d’extraction prédéterminé est choisi parmi : un attribut de métadonnées associé aux champs de données, une caractéristique associée au contenu des champs de données, et toutes combinaisons de ceux-ci.In a first embodiment, the predetermined extraction criterion is chosen from: a metadata attribute associated with the data fields, a characteristic associated with the content of the data fields, and any combinations thereof.
Dans une première mise en œuvre du premier mode de réalisation, l’attribut de métadonnées associé aux champs de données est choisi parmi : un type, une taille en mémoire, une date d’importation, une date de production, une date de mise à jour, un identifiant de la source de données d’origine, et toutes combinaisons de ceux-ci.In a first implementation of the first embodiment, the metadata attribute associated with the data fields is chosen from: a type, a size in memory, an import date, a production date, an update date date, an identifier of the original data source, and any combination thereof.
Dans une deuxième mise en œuvre du premier mode de réalisation, la caractéristique associée au contenu des champs de données est calculée.In a second implementation of the first embodiment, the characteristic associated with the content of the data fields is calculated.
Dans un premier exemple de la deuxième mise en œuvre du premier mode de réalisation, lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est une longueur.In a first example of the second implementation of the first embodiment, when the data field is of the character string type, the characteristic associated with the content of the data fields is a length.
Dans un premier exemple de la deuxième mise en œuvre du premier mode de réalisation, lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est un n-gramme de caractères d’au moins une longueur prédéterminée.In a first example of the second implementation of the first embodiment, when the data field is of the character string type, the characteristic associated with the content of the data fields is an n-gram of characters of at least one length predetermined.
Dans un premier aspect du premier exemple de la deuxième mise en œuvre du premier mode de réalisation, la longueur du n-gramme de caractères est fixe et/ou variable.In a first aspect of the first example of the second implementation of the first embodiment, the length of the character n-gram is fixed and/or variable.
Dans un deuxième aspect du premier exemple de la deuxième mise en œuvre du premier mode de réalisation, le procédé comprend en outre dans l’étape d’association la formation d’une seule classe de caractéristique qui regroupe les classes de caractéristiques dont la quantité de champs de données est en deçà d’un seuil prédéterminé.In a second aspect of the first example of the second implementation of the first embodiment, the method further comprises in the association step the formation of a single characteristic class which groups the characteristic classes whose quantity of data fields is below a predetermined threshold.
Dans un deuxième mode de réalisation, l’étape de calcul comprend l’utilisation d’une méthode choisie parmi : un ratio de Levenshtein, un indice de Jaccard, un indice de Jaro-Winkler, une similarité cosinus et toutes combinaisons de celles-ci.In a second embodiment, the calculation step comprises the use of a method chosen from: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combination thereof .
L’invention couvre également un système pour prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données.The invention also covers a system for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
En particulier, le système comprend :
- au moins un dispositif de stockage de données configuré pour stocker des instructions pour prédire le score global de similarité, et
- au moins un processeur configuré pour exécuter les instructions pour mettre en œuvre un procédé selon l’invention.
In particular, the system includes:
- at least one data storage device configured to store instructions for predicting the global similarity score, and
- at least one processor configured to execute the instructions to implement a method according to the invention.
L’invention couvre également un système pour l’entrainement d’un modèle d’apprentissage machine destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données.The invention also covers a system for training a machine learning model for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields.
En particulier, le système comprend :
- au moins un dispositif de stockage de données configuré pour stocker des instructions pour l’entrainement d’un modèle d’apprentissage machine, et
- au moins un processeur configuré pour exécuter les instructions pour mettre en œuvre un procédé selon l’invention.
In particular, the system includes:
- at least one data storage device configured to store instructions for training a machine learning model, and
- at least one processor configured to execute the instructions to implement a method according to the invention.
D’autres caractéristiques et avantages de l’invention seront mieux compris à la lecture de la description qui va suivre et en référence aux dessins annexés, donnés à titre illustratif et nullement limitatif.Other characteristics and advantages of the invention will be better understood on reading the following description and with reference to the appended drawings, given by way of illustration and in no way limiting.
La représente un mode de réalisation d’un procédé de prédiction selon l’invention. The represents an embodiment of a prediction method according to the invention.
La représente un mode de réalisation d’un tableau de caractéristiques selon l’invention. The represents an embodiment of a table of characteristics according to the invention.
La représente un mode de réalisation d’un échantillonnage stratifié selon l’invention. The represents an embodiment of a stratified sampling according to the invention.
La représente un mode de réalisation d’un système pour la mise en œuvre du procédé de la . The shows one embodiment of a system for implementing the method of the .
La représente un mode de réalisation d’un procédé d’entrainement selon l’invention. The represents an embodiment of a training method according to the invention.
La représente un mode de réalisation d’un système pour la mise en œuvre du procédé de la . The shows one embodiment of a system for implementing the method of the .
Les figures ne respectent pas nécessairement les échelles, notamment en épaisseur, et ce à des fins d’illustration.The figures do not necessarily respect the scales, in particular in thickness, and this for purposes of illustration.
Sur les différentes figures, les traits et flèches en pointillés indiquent des éléments, des étapes et des enchaînements facultatifs ou optionnels.In the various figures, the dotted lines and arrows indicate optional or optional elements, steps and sequences.
L’un des objectifs de cette invention est de fournir un outil objectif et reproductible pour quantifier la redondance dans un lac de données.One of the goals of this invention is to provide an objective and reproducible tool to quantify redundancy in a data lake.
Pour cela, les inventeurs proposent d’entrainer un modèle d’apprentissage machine, à partir de lacs de données existants pour prédire un score global de similarité qui est représentatif de la similarité entre deux entités de données d’un lac de données.For this, the inventors propose to train a machine learning model, from existing data lakes to predict an overall similarity score which is representative of the similarity between two data entities of a data lake.
En pratique, au lieu de comparer chacun des champs de données des entités de données d’un lac de données particulier, l’invention propose de déterminer le score global de similarité à partir de scores intermédiaires de similarité qui sont calculés sur des échantillons aléatoires des entités de données du lac de données.In practice, instead of comparing each of the data fields of the data entities of a particular data lake, the invention proposes to determine the overall similarity score from intermediate similarity scores which are calculated on random samples of the data lake data entities.
Ainsi, l’invention concerne un procédé de prédiction d’un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données.Thus, the invention relates to a method for predicting an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
Dans l’invention, on entend par lac de données (« data lake », en anglais) un espace de stockage où l’on rassemble des données sous leur forme naturelle, qu’elles soient brutes ou transformées. Et ce, dans un objectif d’analyse (p. ex. l’établissement de comptes rendus, de visualisations ou de structures analytiques) ou d’action (p. ex. apprentissage machine).In the invention, by data lake is meant a storage space where data is collected in its natural form, whether raw or transformed. And this, for the purpose of analysis (e.g. the establishment of reports, visualizations or analytical structures) or action (e.g. machine learning).
Ainsi, un lac de données peut comprendre des entités de données primaires sous différentes formes telles que des données structurées (p. ex. des bases de données qui comprennent des lignes et des colonnes), des données semi-structurées (p. ex. des fichiers du type CSV, logs, XML ou JSON), des données non structurées (p. ex. des emails, des fichiers PDFs), et des données binaires (p. ex. des fichiers images, audios ou vidéos).Thus, a data lake can comprise primary data entities in different forms such as structured data (e.g. databases that include rows and columns), semi-structured data (e.g. files such as CSV, logs, XML or JSON), unstructured data (e.g. emails, PDF files), and binary data (e.g. image, audio or video files).
En pratique, chaque entité de données primaire comprend une pluralité de champs de données.In practice, each primary data entity comprises a plurality of data fields.
De manière connue, chaque champ de données possède un type de données qui peut être choisi parmi : les types numériques, les types temporels et les types chaînes de caractères.As is known, each data field has a data type which can be chosen from: numeric types, time types and character string types.
Dans un premier exemple, lorsque le type de donnée est numérique, celui-ci peut être choisi parmi les types numériques définis dans les normes associées aux bases de données relationnelles du type SQL, tels qu’un entier ou un nombre décimal et toutes combinaisons de ceux-ci.In a first example, when the data type is numeric, it can be chosen from among the numeric types defined in the standards associated with relational databases of the SQL type, such as an integer or a decimal number and any combination of these.
Toutefois, selon les données disponibles, on pourra utiliser d’autres types numériques, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the data available, other digital types may be used, without requiring substantial modifications to the invention.
Dans un deuxième exemple, lorsque le type de donnée est temporel, celui-ci peut être choisi parmi les types temporels définis dans les normes associées aux bases de données relationnelles du type SQL, tels qu’une date, une heure, un jour, une année, une minute, une seconde et toutes combinaisons de ceux-ci.In a second example, when the type of data is temporal, it can be chosen from among the temporal types defined in the standards associated with relational databases of the SQL type, such as a date, a time, a day, a year, minute, second and any combination thereof.
Toutefois, selon les données disponibles, on pourra utiliser d’autres types temporels, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the data available, other time types may be used, without requiring substantial modifications to the invention.
Dans un troisième exemple, lorsque le type de donnée est une chaîne de caractères, celui-ci peut être choisi parmi les types de chaînes de caractères définis dans les normes associées aux bases de données relationnelles du type SQL, tels qu’une chaîne en ASCII, une chaîne binaire, une énumération et toutes combinaisons de celles-ci.In a third example, when the data type is a character string, it can be chosen from among the types of character strings defined in the standards associated with relational databases of the SQL type, such as an ASCII string , a binary string, an enumeration and any combination thereof.
Toutefois, selon les données disponibles, on pourra utiliser d’autres types de chaînes de caractères, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the data available, other types of character strings may be used, without requiring substantial modifications to the invention.
Dans un mode particulier de réalisation de l’invention, on pourra considérer que tous les champs du lac de données possèdent le même type, par exemple le type chaîne de caractères.In a particular embodiment of the invention, it may be considered that all the fields of the data lake have the same type, for example the character string type.
Pour cela, on pourra utiliser des techniques connues de conversion de types de données.For this, it is possible to use known techniques for converting data types.
De retour à l’invention, comme illustré dans l’exemple de la , le procédé de prédiction 100 comprend une étape d’extraction 110, pour chaque entité de données primaire, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données.Returning to the invention, as illustrated in the example of the , the prediction method 100 comprises a step 110 of extracting, for each primary data entity, a plurality of characteristics of data fields from the content of the plurality of data fields.
En particulier, on réalise l’extraction selon au moins un critère d’extraction prédéterminé.In particular, the extraction is carried out according to at least one predetermined extraction criterion.
Ainsi, l’invention couvre également la réalisation d’une extraction selon un ou plusieurs critères d’extraction prédéterminés.Thus, the invention also covers the performance of an extraction according to one or more predetermined extraction criteria.
Dans un mode de réalisation particulier, le critère d’extraction prédéterminé est choisi parmi : un attribut de métadonnées associé aux champs de données, une caractéristique associée au contenu des champs de données, et toutes combinaisons de ceux-ci.In a particular embodiment, the predetermined extraction criterion is selected from: a metadata attribute associated with the data fields, a feature associated with the content of the data fields, and any combinations thereof.
Dans un premier exemple, lorsque le critère d’extraction prédéterminé est un attribut de métadonnées associé aux champs de données, celui-ci est choisi parmi : un type, une taille en mémoire, une date d’importation, une date de production, une date de mise à jour, un identifiant de la source de données d’origine, et toutes combinaisons de ceux-ci.In a first example, when the predetermined extraction criterion is a metadata attribute associated with the data fields, it is chosen from: a type, a size in memory, an import date, a production date, a update date, an identifier of the original data source, and any combination thereof.
De manière connue, on entend par métadonnées, une donnée qui sert à définir ou décrire une autre donnée. Ainsi, un attribut de métadonnées est une propriété d’une métadonnée.In a known manner, the term “metadata” means data which is used to define or describe another data item. Thus, a metadata attribute is a property of metadata.
Toutefois, selon les données disponibles, on pourra utiliser d’autres attributs de métadonnées, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the data available, other metadata attributes may be used, without requiring substantial modifications to the invention.
Dans un mode de réalisation particulier, lorsque le critère d’extraction prédéterminé est la taille en mémoire occupée par les champs de données, on pourra extraire, de chaque entité de données primaire, les champs de données de sorte que chaque champ de données appartient à une classe prédéterminée d’occupation de mémoire (p. ex. une classe choisie parmi : [1 Mo-10 Mo[, [10 Mo-100 Mo[, [100 Mo-200 Mo[, [200 Mo-1 Go[, [1Go-100Go] et toutes combinaisons de celles-ci). In a particular embodiment, when the predetermined extraction criterion is the size in memory occupied by the data fields, it will be possible to extract, from each primary data entity, the data fields so that each data field belongs to a predetermined class of memory occupation (e.g. a class chosen from: [1MB-10MB[, [10MB-100MB[, [100MB-200MB[, [200MB-1GB[, [1GB-100GB] and any combination thereof).
Dans un deuxième exemple, lorsque le critère d’extraction prédéterminé est une caractéristique associée au contenu des champs de données, celle-ci est calculée.In a second example, when the predetermined extraction criterion is a characteristic associated with the content of the data fields, this is calculated.
Dans une première réalisation du deuxième exemple, lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est une longueur.In a first embodiment of the second example, when the data field is of the character string type, the characteristic associated with the content of the data fields is a length.
Dans un mode de réalisation particulier, lorsque le champ de données est du type chaîne de caractère et que le critère d’extraction prédéterminé est la longueur des champs de données, on pourra extraire, de chaque entité de données primaire, les champs de données de sorte que chaque champ de données appartient à une classe prédéterminée de longueur de chaîne de caractères (p. ex. une classe choisie parmi : [1-10 caractères[, [10-50 caractères[, [50-100 caractères[, [100-200 caractères[ et toutes combinaisons de celles-ci).In a particular embodiment, when the data field is of the character string type and the predetermined extraction criterion is the length of the data fields, it will be possible to extract, from each primary data entity, the data fields of so that each data field belongs to a predetermined class of character string length (e.g. a class chosen from: [1-10 characters[, [10-50 characters[, [50-100 characters[, [100 -200 characters[ and any combination thereof).
Dans une deuxième réalisation du deuxième exemple, toujours lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est un n-gramme de caractères (aussi appelés « sacs de mots » ou « token based », en anglais) d’au moins une longueur prédéterminée.In a second embodiment of the second example, still when the data field is of the character string type, the characteristic associated with the content of the data fields is an n-gram of characters (also called "bags of words" or "token based" , in English) of at least a predetermined length.
En pratique, un n-gramme de caractères est une succession de ‘n’ caractères consécutifs (p. ex. trois, quatre ou cinq caractères) d’une chaîne de caractères. In practice, an n-gram of characters is a succession of 'n' consecutive characters (e.g. three, four or five characters) of a character string.
Dans un premier mode de réalisation, la longueur du n-gramme de caractères est fixe.In a first embodiment, the length of the character n-gram is fixed.
Par exemple, le mot « texte » comprend les tri-grammes suivants : « tex », « ext » et « xte ».For example, the word "text" includes the following trigrams: "tex", "ext", and "xte".
Dans un deuxième mode de réalisation, la longueur du n-gramme de caractères est variable.In a second embodiment, the length of the n-gram of characters is variable.
Par exemple, le mot « portefeuille » comprend les tri-grammes suivants : « por », « ort », « rte », « tef », « efe », « feu », « eui », « uil », « ill », « lle ». For example, the word "portfolio" includes the following trigrams: "por", "ort", "rte", "tef", "efe", "feu", "eui", "uil", "ill". , "she".
En outre, le mot « portefeuille » comprend les quadri-grammes suivants : « port », « orte », « rtef », « tefe », « efeu », « feui », « euil », « uill », « ille ».In addition, the word "portefeuille" includes the following quadrigrams: "port", "orte", "rtef", "tefe", "efeu", "feui", "euil", "uill", "ille". .
Ainsi, on peut envisager d’extraire une partie des caractéristiques de champs de données selon un n-gramme de caractères d’une première longueur fixe, tandis que l’on peut extraire une autre partie des caractéristiques de champs de données selon un n-gramme de caractères d’une deuxième longueur fixe qui est différente de la première longueur fixe.Thus, it is possible to envisage extracting a part of the data field characteristics according to an n-gram of characters of a first fixed length, while another part of the data field characteristics can be extracted according to an n- gram of characters of a second fixed length which is different from the first fixed length.
Par ailleurs, on notera que dans cette deuxième réalisation du deuxième exemple, lorsque le champ de données est du type chaîne de caractère et que le critère d’extraction prédéterminé est un n-gramme de caractères, on pourra extraire, de chaque entité de données primaire, les champs de données de sorte que chaque champ de données appartient à au moins une classe de n-gramme de caractères.Furthermore, it will be noted that in this second embodiment of the second example, when the data field is of the character string type and the predetermined extraction criterion is an n-gram of characters, it will be possible to extract, from each data entity primary, data fields so that each data field belongs to at least one class of n-gram character.
En effet, dans ce mode de réalisation particulier, les classes de n-grammes de caractères peuvent ne pas être distinctes, car un champ de données peut comprendre plusieurs n-grammes de caractères et ainsi apparaitre dans plusieurs classes de n-gramme de caractères.Indeed, in this particular embodiment, the classes of n-grams of characters may not be distinct, because a data field may comprise several n-grams of characters and thus appear in several classes of n-gram of characters.
Ainsi, dans ce mode de réalisation particulier, une caractéristique interne, sémantique, et commune des champs de données, lie les classes de n-grammes de caractères entre elles.Thus, in this particular embodiment, an internal, semantic, and common characteristic of the data fields links the classes of n-grams of characters together.
De retour à la , le procédé de prédiction 100 comprend une étape d’association 120, pour chaque entité de données primaire, de chaque caractéristique avec, d’une part, une référence à l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques.Back to the , the prediction method 100 comprises a step 120 of association, for each primary data entity, of each characteristic with, on the one hand, a reference to the set of data fields from which the characteristic is extracted and, on the other hand, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics.
En pratique, dans le tableau de caractéristiques, chaque ligne correspond à une classe de caractéristique.In practice, in the characteristics table, each row corresponds to a characteristic class.
Dans un premier exemple, la référence à l’ensemble des champs de données comprend une pluralité de références de champs de données, chacune des références faisant référence à un seul champ de données.In a first example, the reference to all of the data fields includes a plurality of data field references, each of the references referring to a single data field.
Dans un mode de réalisation particulier, une référence de champs de données est un identifiant unique d’un champ de données.In a particular embodiment, a data field reference is a unique identifier of a data field.
Dans un deuxième exemple, la quantité de champs de données dont est extraite la caractéristique est une grandeur statistique.In a second example, the quantity of data fields from which the characteristic is extracted is a statistical quantity.
Par exemple, la quantité de champs de données est une mesure de statistique descriptive choisie parmi : l’effectif et la fréquence.For example, the quantity of data fields is a descriptive statistic measure chosen from: frequency and frequency.
On entend par l’effectif d’une caractéristique, le nombre d’observations de cette caractéristique dans le tableau de caractéristiques associé.The frequency of a characteristic means the number of observations of this characteristic in the associated table of characteristics.
On entend par fréquence d’une caractéristique, le ratio entre l’effectif de cette caractéristique et l’effectif total des caractéristiques dans le tableau de caractéristiques associé.By frequency of a characteristic, we mean the ratio between the number of this characteristic and the total number of characteristics in the associated table of characteristics.
Toutefois, selon les besoins, on pourra obtenir la quantité de champs de données à partir d’autres mesures de statistique descriptive, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the needs, the quantity of data fields can be obtained from other descriptive statistics measurements, without requiring substantial modifications of the invention.
Par ailleurs, dans le cadre de cet exemple, et de manière optionnelle, le procédé de prédiction 100 comprend en outre dans l’étape d’association 120, la formation d’une seule classe de caractéristique particulière qui regroupe les classes de caractéristiques dont la quantité de champs de données est en deçà d’un seuil prédéterminé.Furthermore, in the context of this example, and optionally, the prediction method 100 further comprises, in the association step 120, the formation of a single particular feature class which groups together the feature classes whose quantity of data fields is below a predetermined threshold.
De cette manière, on obtiendra une classe de caractéristique particulière qui comprend les classes de caractéristiques qui sont les moins représentées dans chaque entité de données primaire.In this way, a particular feature class will be obtained which includes the feature classes which are least represented in each primary data entity.
Par exemple, cette classe de caractéristique particulière pourra comprendre les caractéristiques dont l’effectif est inférieur à cinquante ou dont la fréquence est en deçà de 10 % de l’effectif total.For example, this particular characteristic class could include characteristics whose frequency is less than fifty or whose frequency is less than 10% of the total frequency.
Bien sûr, selon les besoins, on pourra envisager d’autres valeurs de seuil, et ce, sans nécessiter de modifications substantielles de l’invention.Of course, depending on the needs, other threshold values may be considered, without requiring substantial modifications of the invention.
La illustre un exemple de tableau de caractéristiques que l’on a formé à partir de n-grammes de caractères extraits du contenu des champs de données d’une entité de données primaire.The illustrates an example of a feature table formed from n-grams of characters extracted from the contents of the data fields of a primary data entity.
Le tableau de caractéristiques 10 comprend une première colonne 11, une deuxième colonne 12 et une troisième colonne 13.The table of characteristics 10 comprises a first column 11, a second column 12 and a third column 13.
La première colonne 11 comprend une ligne par n-gramme de caractères.The first column 11 comprises one line per n-gram of characters.
Dans l’exemple de la , le n-gramme de caractères « coh » présente une longueur de trois caractères. Par ailleurs, le n-gramme de caractères « ct » présente une longueur de deux caractères. In the example of the , the character n-gram "coh" is three characters long. On the other hand, the n-gram of characters "ct" has a length of two characters.
La deuxième colonne 12 comprend, pour chaque n-gramme, la quantité de champs de données associée. The second column 12 comprises, for each n-gram, the quantity of associated data fields.
Dans l’exemple de la , la quantité de champs de données est un effectif.In the example of the , the quantity of data fields is a count.
En particulier, dans la , on trouve dix-sept fois le n-gramme de caractères « cti » dans les champs de données de l’entité de données primaire considérée. In particular, in the , there are seventeen times the n-gram of characters "cti" in the data fields of the primary data entity under consideration.
La troisième colonne 13 comprend, pour chaque n-gramme de caractères, une liste de références à l’ensemble des champs de données dont est extrait le n-gramme de caractères.The third column 13 comprises, for each n-gram of characters, a list of references to all the data fields from which the n-gram of characters is extracted.
Par exemple, le champ qui porte la référence ‘7’ comprend les n-grammes de caractères « ct », « cti » et « dir ».For example, the field with the reference '7' includes the character n-grams "ct", "cti", and "dir".
De retour à la , le procédé de prédiction 100 comprend une étape de génération 130, pour chaque entité de données primaire, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires.Back to the , the prediction method 100 comprises a step 130 of generating, for each primary data entity, the same predetermined number of at least two random samples, called secondary data entities.
Ainsi, l’invention couvre également la génération de deux ou plus entités de données secondaires.Thus, the invention also covers the generation of two or more secondary data entities.
Par ailleurs, on détermine le même nombre d’entités de données secondaires pour chaque entité de données primaire.Furthermore, the same number of secondary data entities is determined for each primary data entity.
Pour cela, l’étape de génération 130 utilise un échantillonnage stratifié, à partir du tableau de caractéristique associé à chaque entité de données primaire et d’une probabilité d’échantillonnage prédéterminée associée.For this, the generation step 130 uses stratified sampling, from the characteristic table associated with each primary data entity and from an associated predetermined sampling probability.
De manière connue, l'échantillonnage stratifié est une méthode de sélection des échantillons dans une population de données d’études. Elle est particulièrement utile si les phénomènes étudiés sont répartis d'une manière irrégulière ou si les données d’études sont très hétérogènes. En pratique, on divise les données d'étude en plusieurs sous-ensembles prédéfinis (également appelées « strates ») qui présentent une homogénéité au regard de la distribution spatiale des caractéristiques et des attributs pertinents. Ensuite, on sélectionne des échantillons indépendants dans chaque strate, soit au hasard soit sur un mode systématique.As is known, stratified sampling is a method of selecting samples from a population of study data. It is particularly useful if the phenomena studied are irregularly distributed or if the study data are very heterogeneous. In practice, study data is divided into several predefined subsets (also called "strata") that exhibit homogeneity with respect to the spatial distribution of relevant features and attributes. Next, independent samples are selected from each stratum, either randomly or systematically.
Prenons l’exemple d’une entité de données primaire qui comprend 50 000 champs de données avec une probabilité d’échantillonnage de 40 %.For example, consider a primary data entity that includes 50,000 data fields with a sampling probability of 40%.
En outre, considérons qu’une caractéristique particulière est représentée par mille champs de données, et que l’effectif total de l’ensemble des caractéristiques est d’un million. Further, consider that a particular feature is represented by one thousand data fields, and the total count of all features is one million.
Dans ce cas, on devra tirer aléatoirement vingt champs de données parmi les mille champs (c.-à-d., en détail : (50 000*0,4*1000)/1 000 000 = 20).In this case, twenty fields of data should be randomly drawn from the thousand fields (i.e., in detail: (50,000*0.4*1000)/1,000,000 = 20).
En pratique, dans l’invention, la probabilité d’échantillonnage prédéterminée est, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire.In practice, in the invention, the predetermined sampling probability is, on the one hand, different for the secondary data entities which come from the same primary data entity.
Ainsi, si l’on détermine plusieurs entités de données secondaires pour une première entité de données primaire, on fera en sorte que chaque entité de donnée secondaire soit associée à une probabilité d’échantillonnage prédéterminée qui est différente de celle des autres. Thus, if several secondary data entities are determined for a first primary data entity, each secondary data entity will be associated with a predetermined sampling probability which is different from that of the others.
D’autre part, la probabilité d’échantillonnage prédéterminée est commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire.On the other hand, the predetermined sampling probability is common for pairs of secondary data entities that are derived from the first primary data entity and the second primary data entity.
Ainsi, si l’on détermine plusieurs entités de données secondaires pour une première entité de données primaire et pour une deuxième entité de données primaire, on fera en sorte de pouvoir former des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire, dans lesquelles chaque paire comprend des entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée. Toutefois, on fera en sorte que la probabilité d’échantillonnage prédéterminée associé à chaque paire soit différente de celle des autres.Thus, if several secondary data entities are determined for a first primary data entity and for a second primary data entity, it will be ensured that it is possible to form pairs of secondary data entities which come from the first entity primary data entity and the second primary data entity, wherein each pair comprises secondary data entities that are associated with a same predetermined sampling probability. However, we will ensure that the predetermined sampling probability associated with each pair is different from that of the others.
La illustre un exemple d’échantillonnage stratifié selon l’invention.The illustrates an example of stratified sampling according to the invention.
Tout d’abord, la décrit une première entité de données primaire 20 et une deuxième entité de données primaire 30.First of all, the describes a first primary data entity 20 and a second primary data entity 30.
Ensuite, la décrit la génération, pour chaque entité de données primaire 20, 30, de quatre échantillons aléatoires, de manière à former des entités de données secondaires.Then the describes the generation, for each primary data entity 20, 30, of four random samples, so as to form secondary data entities.
En pratique, les premières entités de données secondaires 21, 22, 23 et 24 sont des échantillons aléatoires de la première entité de données primaire 20, tandis que les deuxièmes entités de données secondaires 31, 32, 33 et 34 sont des échantillons aléatoires de la deuxième entité de données primaire 30.In practice, the first secondary data entities 21, 22, 23 and 24 are random samples of the first primary data entity 20, while the second secondary data entities 31, 32, 33 and 34 are random samples of the second primary data entity 30.
Par ailleurs, la probabilité d’échantillonnage associée à chaque entité de données secondaires est différente de celles qui sont associées à une même entité de données primaire 20, 30.Furthermore, the sampling probability associated with each secondary data entity is different from those associated with the same primary data entity 20, 30.
Dans un exemple, on peut associer chacune parmi les premières entités de données secondaires 21, 22, 23 et 24, respectivement, aux probabilités d’échantillonnage suivantes : 10 %, 30 %, 40 % et 60 %.In one example, each of the first secondary data features 21, 22, 23, and 24, respectively, can be associated with the following sampling probabilities: 10%, 30%, 40%, and 60%.
En outre, la probabilité d’échantillonnage associée à chaque entité de données secondaires d’une paire formée à partir de première entité de données primaire 20 et de deuxième entité de données primaire 30, est commune.Furthermore, the sampling probability associated with each secondary data entity of a pair formed from first primary data entity 20 and second primary data entity 30, is common.
Ainsi, et en poursuivant l’exemple ci-dessus, on associe chacune parmi les deuxièmes entités de données secondaires 31, 32, 33 et 34, respectivement, aux probabilités d’échantillonnage suivantes : 10 %, 30 %, 40 % et 60 %.Thus, and continuing the above example, each of the second secondary data entities 31, 32, 33, and 34 is associated, respectively, with the following sampling probabilities: 10%, 30%, 40%, and 60% .
Dans ce cas, on forme une première paire à partir de la première entité de données secondaire 21 et la deuxième entité de données secondaire 31 ; on forme une deuxième paire à partir de la première entité de données secondaire 22 et de la deuxième entité de données secondaire 32 ; on forme une troisième paire à partir de la première entité de données secondaire 23 et de la deuxième entité de données secondaire 33 ; et, on forme une quatrième paire à partir de la première entité de données secondaire 24 et de la deuxième entité de données secondaire 34.In this case, a first pair is formed from the first secondary data entity 21 and the second secondary data entity 31; a second pair is formed from the first secondary data entity 22 and the second secondary data entity 32; a third pair is formed from the first secondary data entity 23 and the second secondary data entity 33; and, forming a fourth pair from the first secondary data entity 24 and the second secondary data entity 34.
De retour à la , le procédé de prédiction 100 comprend une étape de définition 140 d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée.Back to the , the prediction method 100 comprises a step 140 of defining a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability.
En particulier, chaque paire d’entités de données secondaires comprend une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire.In particular, each pair of secondary data entities includes a first secondary data entity from the first primary data entity and a second secondary data entity from the second primary data entity.
Ainsi, on obtiendra autant de paires d’entités de données secondaires que le nombre prédéterminé d’entités de données secondaires associées à chaque entité de données primaire.Thus, we will obtain as many pairs of secondary data entities as the predetermined number of secondary data entities associated with each primary data entity.
Par exemple, si l’on considère que l’on détermine quatre entités de données secondaires pour chaque entité de données primaire, alors l’étape de définition 140 permettra de définir quatre paires d’entités de données secondaires.For example, if it is considered that four secondary data entities are determined for each primary data entity, then the definition step 140 will make it possible to define four pairs of secondary data entities.
De retour à l’invention, le procédé de prédiction 100 comprend une étape de calcul 150, pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire.Returning to the invention, the prediction method 100 comprises a step 150 of calculating, for each pair of secondary data entities, an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity.
Dans un mode de réalisation particulier, l’étape de calcul 150 comprend l’utilisation d’une méthode choisie parmi : un ratio de Levenshtein, un indice de Jaccard, un indice de Jaro-Winkler, une similarité cosinus et toutes combinaisons de celles-ci.In a particular embodiment, the calculation step 150 comprises the use of a method chosen from among: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combinations thereof- this.
Toutefois, selon les types de données disponibles, on pourra utiliser d’autres métriques de similarité, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the types of data available, other similarity metrics may be used, without requiring substantial modifications to the invention.
Après, le procédé de prédiction 100 comprend une étape de formation 160 d’un vecteur qui comprend une pluralité d’éléments de vecteur.Afterwards, the prediction method 100 comprises a step 160 of forming a vector which comprises a plurality of vector elements.
En particulier, chaque élément de vecteur comprend, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associée.In particular, each vector element includes, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability.
Dans l’invention, on entend par vecteur une structure de données qui est configurée pour stocker un ensemble ordonné d’éléments qui sont chacun repérés par un indice. En pratique, on définit un vecteur par le nombre d’éléments qui le composent ainsi que le type et la taille de ses éléments. In the invention, by vector is meant a data structure which is configured to store an ordered set of elements which are each identified by an index. In practice, a vector is defined by the number of elements that compose it as well as the type and size of its elements.
Ainsi, une liste chaînée peut également être considérée comme un vecteur au sens de l’invention.Thus, a linked list can also be considered as a vector within the meaning of the invention.
Enfin, le procédé de prédiction 100 comprend une étape de prédiction 170, à partir du vecteur et d’au moins un modèle d’apprentissage machine entrainé, dit modèle entrainé, pour prédire un score global de similarité qui est représentatif de la similarité entre la première entité de données primaire et la deuxième entité de données primaire.Finally, the prediction method 100 comprises a prediction step 170, from the vector and from at least one trained machine learning model, called trained model, to predict an overall similarity score which is representative of the similarity between the first primary data entity and the second primary data entity.
L’invention concerne aussi un système pour prédire le score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données.The invention also relates to a system for predicting the global similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
Ainsi, comme illustré dans l’exemple de la , le système 200 comprend au moins un dispositif de stockage de données 210 et au moins un processeur 220.So, as shown in the example of the , the system 200 includes at least one data storage device 210 and at least one processor 220.
Le dispositif de stockage de données 210 est configuré pour stocker des instructions pour prédire le score global de similarité. Data storage device 210 is configured to store instructions for predicting the overall similarity score.
Le processeur 220 est configuré pour exécuter les instructions pour mettre en œuvre tout ou partie du procédé de prédiction 100 tel que décrit ci-dessus.The processor 220 is configured to execute the instructions to implement all or part of the prediction method 100 as described above.
L’invention concerne aussi un procédé d’entrainement d’un modèle d’apprentissage machine qui est destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données.The invention also relates to a method of training a machine learning model which is intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity of a data lake.
En pratique, comme indiqué ci-dessus, chaque entité de données primaire comprend une pluralité de champs de données.In practice, as indicated above, each primary data entity comprises a plurality of data fields.
Tout d’abord, comme illustré dans l’exemple de la , le procédé d’entrainement 300 comprend une première étape de calcul 310 d’une pluralité de scores globaux de similarité, à partir d’une pluralité d’entités de données primaires d’au moins un lac de données.First, as shown in the example of the , the training method 300 comprises a first step 310 of calculating a plurality of global similarity scores, from a plurality of primary data entities of at least one data lake.
En pratique, chaque score global de similarité est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire de la pluralité d’entités de données primaires.In practice, each global similarity score is representative of the similarity between a first primary data entity and a second primary data entity of the plurality of primary data entities.
Dans un mode de réalisation particulier, comme indiqué ci-dessus, la première étape de calcul 310 comprend l’utilisation d’une méthode choisie parmi : un ratio de Levenshtein, un indice de Jaccard, un indice de Jaro-Winkler, une similarité cosinus et toutes combinaisons de celles-ci.In a particular embodiment, as indicated above, the first calculation step 310 comprises the use of a method chosen from among: a Levenshtein ratio, a Jaccard index, a Jaro-Winkler index, a cosine similarity and any combinations thereof.
Ensuite, le procédé d’entrainement 300 comprend une étape d’extraction 320, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données.Next, the training method 300 comprises a step of extracting 320, for each primary data entity of each pair of primary data entities, a plurality of data field characteristics from the content of the plurality of data fields.
En particulier, comme indiqué ci-dessus, on réalise l’extraction selon au moins un critère d’extraction prédéterminé.In particular, as indicated above, the extraction is carried out according to at least one predetermined extraction criterion.
Puis, le procédé d’entrainement 300 comprend une étape d’association 330, pour chaque entité de données primaire de chaque paire d’entités de données primaires, de chaque caractéristique avec, d’une part, l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques, comme indiqué ci-dessus.Then, the training method 300 comprises a step 330 of association, for each primary data entity of each pair of primary data entities, of each characteristic with, on the one hand, the set of data fields whose the characteristic is extracted and, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics, as indicated above.
Par la suite, le procédé d’entrainement 300 comprend une étape de génération 340, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires, comme indiqué ci-dessus.Subsequently, the training method 300 comprises a generation step 340, for each primary data entity of each pair of primary data entities, of the same predetermined number of at least two random samples, called secondary data, as indicated above.
Pour cela, l’étape de génération 340 utilise un échantillonnage stratifié, à partir du tableau de caractéristique associé et d’une probabilité d’échantillonnage prédéterminée associée, comme indiqué ci-dessus.For this, the generation step 340 uses stratified sampling, from the associated characteristic table and from an associated predetermined sampling probability, as indicated above.
En pratique, comme indiqué ci-dessus, la probabilité d’échantillonnage prédéterminée est, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire et, d’autre part, commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire.In practice, as indicated above, the predetermined sampling probability is, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of secondary data entities that are derived from the first primary data entity and the second primary data entity.
Après, le procédé d’entrainement 300 comprend une étape de définition 350, pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée, comme indiqué ci-dessus.Afterwards, the training method 300 comprises a step of defining 350, for each primary data entity of each pair of primary data entities, a plurality of pairs of secondary data entities which are associated with the same probability pre-determined sample rate, as indicated above.
En particulier, comme indiqué ci-dessus, chaque paire d’entités de données secondaires comprend une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire.In particular, as indicated above, each pair of secondary data entities comprises a first secondary data entity derived from the first primary data entity and a second secondary data entity derived from the second primary data entity.
Ensuite, comme indiqué ci-dessus, le procédé d’entrainement 300 comprend une deuxième étape de calcul 360, pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire.Then, as indicated above, the training method 300 comprises a second step of calculating 360, for each pair of secondary data entities, an intermediate score of similarity which is representative of the similarity between the first entity of secondary data and the second secondary data entity.
Puis, le procédé d’entrainement 300 comprend une première étape de formation 370, pour chaque paire d’entités de données primaires, d’un premier vecteur qui comprend une pluralité d’éléments de vecteur.Then, the training method 300 includes a first step 370 of forming, for each pair of primary data entities, a first vector that includes a plurality of vector elements.
En pratique, chaque élément de vecteur du premier vecteur comprend, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associéeIn practice, each vector element of the first vector includes, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability
Par la suite, le procédé d’entrainement 300 comprend une deuxième étape de formation 380, pour chaque score global de similarité, d’un deuxième vecteur qui comprend le score global de similarité.Subsequently, the training method 300 comprises a second step 380 of training, for each global similarity score, a second vector which comprises the global similarity score.
Enfin, le procédé d’entrainement 300 comprend l’entrainement 390 d’un modèle d’apprentissage machine par un apprentissage automatique qui comprend une entrée et une sortie qui sont associées à une même paire d’entités de données primaires.Finally, the training method 300 includes training 390 a machine learning model by machine learning that includes an input and an output that are associated with a same pair of primary data entities.
En pratique, l’entrée est configurée pour recevoir le premier vecteur et la sortie est configurée pour recevoir le deuxième vecteur.In practice, the input is configured to receive the first vector and the output is configured to receive the second vector.
Dans un mode de réalisation particulier de l’invention, l’apprentissage automatique comprend un algorithme d’entrainement qui est choisi parmi : une régression des moindres carrés partiels, une régression linéaire, un réseau neuronal, un arbre de décision, un algorithme génétique, une programmation génétique, une méthode des k plus proches voisins, un réseau à fonctions de base radiales, une fonction aléatoire, une forêt, une machine à vecteurs de support et un apprentissage profond.In a particular embodiment of the invention, the machine learning includes a training algorithm that is selected from: partial least squares regression, linear regression, neural network, decision tree, genetic algorithm, genetic programming, k-nearest neighbor method, radial basis function network, random function, forest, support vector machine and deep learning.
Toutefois, selon les besoins et les ressources disponibles, on pourra utiliser d’autres algorithmes d’entrainement, et ce, sans nécessiter de modifications substantielles de l’invention.However, depending on the needs and available resources, other training algorithms may be used, without requiring substantial modifications to the invention.
L’invention concerne aussi un système pour l’entrainement d’un modèle d’apprentissage machine qui est destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données.The invention also relates to a system for training a machine learning model which is intended to predict an overall similarity score which is representative of the similarity between a first primary data entity and a second primary data entity d a data lake.
Ainsi, comme illustré dans l’exemple de la , le système 400 comprend au moins un dispositif de stockage de données 410 et au moins un processeur 420.So, as shown in the example of the , system 400 includes at least one data storage device 410 and at least one processor 420.
Le dispositif de stockage de données 410 est configuré pour stocker des instructions pour l’entrainement d’un modèle d’apprentissage machine. Data storage device 410 is configured to store instructions for training a machine learning model.
Le processeur 420 est configuré pour exécuter les instructions pour mettre en œuvre tout ou partie du procédé d’entrainement 300 tel que décrit ci-dessus. Processor 420 is configured to execute instructions to implement all or part of training method 300 as described above.
Nous avons décrit et illustré l’invention. Toutefois, l’invention ne se limite pas aux formes de réalisations que nous avons présentées. Ainsi, un expert du domaine peut déduire d’autres variantes et modes de réalisation, à la lecture de la description et des figures annexées.We have described and illustrated the invention. However, the invention is not limited to the embodiments that we have presented. Thus, an expert in the field can deduce other variants and embodiments, on reading the description and the appended figures.
L’invention peut faire l’objet de nombreuses variantes et applications autres que celles décrites ci-dessus. En particulier, sauf indication contraire, les différentes caractéristiques structurelles et fonctionnelles de chacune des mises en œuvre décrite ci-dessus ne doivent pas être considérées comme combinées et/ou étroitement et/ou inextricablement liées les unes aux autres, mais, au contraire, comme de simples juxtapositions. En outre, les caractéristiques structurelles et/ou fonctionnelles des différents modes de réalisation décrits ci-dessus peuvent faire l’objet en tout ou partie de toute juxtaposition différente ou de toute combinaison différente.The invention may be subject to numerous variants and applications other than those described above. In particular, unless otherwise indicated, the various structural and functional characteristics of each of the implementations described above should not be considered as combined and/or closely and/or inextricably linked to each other, but, on the contrary, as simple juxtapositions. In addition, the structural and/or functional characteristics of the various embodiments described above may be the subject, in whole or in part, of any different juxtaposition or any different combination.

Claims (12)

  1. Procédé (100) de prédiction d’un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données, le procédé (100) comprenant :
    - une étape d’extraction (110), pour chaque entité de données primaire, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données selon au moins un critère d’extraction prédéterminé,
    - une étape d’association (120), pour chaque entité de données primaire, de chaque caractéristique avec, d’une part, une référence à l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques,
    - une étape de génération (130), pour chaque entité de données primaire, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires, en utilisant un échantillonnage stratifié, à partir du tableau de caractéristique associé et d’une probabilité d’échantillonnage prédéterminée associée, la probabilité d’échantillonnage prédéterminée étant, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire et, d’autre part, commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire,
    - une étape de définition (140) d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée, chaque paire d’entités de données secondaires comprenant une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire,
    - une étape de calcul (150), pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire,
    - une étape de formation (160) d’un vecteur comprenant une pluralité d’éléments de vecteur, chaque élément de vecteur comprenant, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associée, et
    - une étape de prédiction (170), à partir du vecteur et d’au moins un modèle d’apprentissage machine entrainé, dit modèle entrainé, pour prédire un score global de similarité qui est représentatif de la similarité entre la première entité de données primaire et la deuxième entité de données primaire.
    A method (100) of predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of fields of data, the method (100) comprising:
    - a step of extracting (110), for each primary data entity, a plurality of data field characteristics from the content of the plurality of data fields according to at least one predetermined extraction criterion,
    - an association step (120), for each primary data entity, of each characteristic with, on the one hand, a reference to the set of data fields from which the characteristic is extracted and, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics,
    - a generation step (130), for each primary data entity, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling, from the associated characteristic table and an associated predetermined sampling probability, the predetermined sampling probability being, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of secondary data entities which are derived from the first primary data entity and the second primary data entity,
    - a step of defining (140) a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability, each pair of secondary data entities comprising a first secondary data entity coming from the first primary data entity and a second secondary data entity derived from the second primary data entity,
    - a calculation step (150), for each pair of secondary data entities, of an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity,
    - a step of forming (160) a vector comprising a plurality of vector elements, each vector element comprising, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability , and
    - a prediction step (170), from the vector and from at least one trained machine learning model, called trained model, to predict an overall similarity score which is representative of the similarity between the first primary data entity and the second primary data entity.
  2. Procédé d’entrainement (300) d’un modèle d’apprentissage machine destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données, le procédé (300) comprenant :
    - une première étape de calcul (310) d’une pluralité de scores globaux de similarité, à partir d’une pluralité de paires d’entités de données primaires d’au moins un lac de données, chaque score global de similarité étant représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire de la pluralité d’entités de données primaires,
    - une étape d’extraction (320), pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de caractéristiques de champs de données à partir du contenu de la pluralité de champs de données selon au moins un critère d’extraction prédéterminé,
    - une étape d’association (330), pour chaque entité de données primaire de chaque paire d’entités de données primaires, de chaque caractéristique avec, d’une part, l’ensemble des champs de données dont est extraite la caractéristique et, d’autre part, la quantité de champs de données dont est extraite la caractéristique, de manière à former un tableau de caractéristiques,
    - une étape de génération (340), pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’un même nombre prédéterminé d’au moins deux échantillons aléatoires, dits entités de données secondaires, en utilisant un échantillonnage stratifié, à partir du tableau de caractéristique associé et d’une probabilité d’échantillonnage prédéterminée associée, la probabilité d’échantillonnage prédéterminée étant, d’une part, différente pour les entités de données secondaires qui sont issues d’une même entité de données primaire et, d’autre part, commune pour des paires d’entités de données secondaires qui sont issues de la première entité de données primaire et de la deuxième entité de données primaire,
    - une étape de définition (350), pour chaque entité de données primaire de chaque paire d’entités de données primaires, d’une pluralité de paires d’entités de données secondaires qui sont associées à une même probabilité d’échantillonnage prédéterminée, chaque paire d’entités de données secondaires comprenant une première entité de données secondaire issue de la première entité de données primaire et une deuxième entité de données secondaire issue de la deuxième entité de données primaire,
    - une deuxième étape de calcul (360), pour chaque paire d’entités de données secondaires, d’un score intermédiaire de similarité qui est représentatif de la similarité entre la première entité de données secondaire et la deuxième entité de données secondaire,
    - une première étape de formation (370), pour chaque paire d’entités de données primaires, d’un premier vecteur comprenant une pluralité d’éléments de vecteur, chaque élément de vecteur comprenant, pour chaque paire d’entités de données secondaires, le score intermédiaire de similarité et la valeur de la probabilité prédéterminée associée,
    - une deuxième étape de formation (380), pour chaque score global de similarité, d’un deuxième vecteur comprenant le score global de similarité, et
    - l’entrainement (390) d’un modèle d’apprentissage machine par un apprentissage automatique comprenant une entrée et une sortie qui sont associées à une même paire d’entités de données primaires, l’entrée étant configurée pour recevoir le premier vecteur et la sortie étant configurée pour recevoir le deuxième vecteur.
    A method of training (300) a machine learning model for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields, the method (300) comprising:
    - a first step of calculating (310) a plurality of global similarity scores, from a plurality of pairs of primary data entities of at least one data lake, each global similarity score being representative of the similarity between a first primary data entity and a second primary data entity of the plurality of primary data entities,
    - a step of extracting (320), for each primary data entity of each pair of primary data entities, a plurality of characteristics of data fields from the content of the plurality of data fields according to at least a predetermined extraction criterion,
    - a step of association (330), for each primary data entity of each pair of primary data entities, of each characteristic with, on the one hand, the set of data fields from which the characteristic is extracted and, on the other hand, the quantity of data fields from which the characteristic is extracted, so as to form a table of characteristics,
    - a generation step (340), for each primary data entity of each pair of primary data entities, of the same predetermined number of at least two random samples, called secondary data entities, using stratified sampling , from the associated characteristic table and an associated predetermined sampling probability, the predetermined sampling probability being, on the one hand, different for the secondary data entities which come from the same primary data entity and, on the other hand, common for pairs of secondary data entities which come from the first primary data entity and from the second primary data entity,
    - a step of defining (350), for each primary data entity of each pair of primary data entities, a plurality of pairs of secondary data entities which are associated with the same predetermined sampling probability, each pair of secondary data entities comprising a first secondary data entity from the first primary data entity and a second secondary data entity from the second primary data entity,
    - a second calculation step (360), for each pair of secondary data entities, of an intermediate similarity score which is representative of the similarity between the first secondary data entity and the second secondary data entity,
    - a first step of forming (370), for each pair of primary data entities, a first vector comprising a plurality of vector elements, each vector element comprising, for each pair of secondary data entities, the intermediate similarity score and the value of the associated predetermined probability,
    - a second step of forming (380), for each global similarity score, a second vector comprising the global similarity score, and
    - training (390) a machine learning model by machine learning comprising an input and an output which are associated with a same pair of primary data entities, the input being configured to receive the first vector and the output being configured to receive the second vector.
  3. Procédé (100, 300) selon l’une des revendications 1 ou 2 dans lequel le critère d’extraction prédéterminé est choisi parmi : un attribut de métadonnées associé aux champs de données, une caractéristique associée au contenu des champs de données, et toutes combinaisons de ceux-ci.Method (100, 300) according to one of claims 1 or 2 wherein the predetermined extraction criterion is chosen from among: a metadata attribute associated with the data fields, a characteristic associated with the content of the data fields, and any combination of these.
  4. Procédé (100, 300) selon la revendication 3 dans lequel l’attribut de métadonnées associé aux champs de données est choisi parmi : un type, une taille en mémoire, une date d’importation, une date de production, une date de mise à jour, un identifiant de la source de données d’origine, et toutes combinaisons de ceux-ci.A method (100, 300) according to claim 3 wherein the metadata attribute associated with the data fields is selected from: a type, a size in memory, an import date, a production date, an update date date, an identifier of the original data source, and any combinations thereof.
  5. Procédé (100, 300) selon l’une des revendications 3 ou 4, dans lequel la caractéristique associée au contenu des champs de données est calculée.Method (100, 300) according to one of Claims 3 or 4, in which the characteristic associated with the content of the data fields is calculated.
  6. Procédé (100, 300) selon la revendication 5 dans lequel, lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est une longueur.Method (100, 300) according to claim 5 wherein, when the data field is of the character string type, the characteristic associated with the content of the data fields is a length.
  7. Procédé (100, 300) selon la revendication 5 dans lequel, lorsque le champ de données est du type chaîne de caractère, la caractéristique associée au contenu des champs de données est un n-gramme de caractères d’au moins une longueur prédéterminée.Method (100, 300) according to claim 5 wherein, when the data field is of the character string type, the characteristic associated with the content of the data fields is an n-gram of characters of at least a predetermined length.
  8. Procédé (100, 300) selon la revendication 7 dans lequel la longueur du n-gramme de caractères est fixe et/ou variable.A method (100, 300) according to claim 7 wherein the length of the character n-gram is fixed and/or variable.
  9. Procédé (100, 300) selon l’une des revendications 7 ou 8, comprenant en outre dans l’étape d’association (120, 330) la formation d’une seule classe de caractéristique qui regroupe les classes de caractéristiques dont la quantité de champs de données est en deçà d’un seuil prédéterminé.Method (100, 300) according to one of claims 7 or 8, further comprising in the step of associating (120, 330) the formation of a single characteristic class which groups together the characteristic classes whose quantity of data fields is below a predetermined threshold.
  10. Procédé (100, 300) selon l’une quelconque des revendications 1 à 8, dans lequel l’étape de calcul (150, 310, 360) comprend l’utilisation d’une méthode choisie parmi : un ratio de Levenshtein, un indice de Jaccard, un indice de Jaro-Winkler, une similarité cosinus et toutes combinaisons de celles-ci.A method (100, 300) according to any of claims 1 to 8, wherein the calculating step (150, 310, 360) comprises using a method selected from: a Levenshtein ratio, a Jaccard, a Jaro-Winkler index, cosine similarity and any combination thereof.
  11. Système (200) pour prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données, le système (200) comprenant :
    - au moins un dispositif de stockage de données (210) configuré pour stocker des instructions pour prédire le score global de similarité, et
    - au moins un processeur (220) configuré pour exécuter les instructions pour mettre en œuvre un procédé selon l’une quelconque des revendications 1 et 3 à 10.
    A system (200) for predicting an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake, each primary data entity comprising a plurality of data fields , the system (200) comprising:
    - at least one data storage device (210) configured to store instructions for predicting the global similarity score, and
    - at least one processor (220) configured to execute the instructions for implementing a method according to any one of claims 1 and 3 to 10.
  12. Système (400) pour l’entrainement d’un modèle d’apprentissage machine destiné à prédire un score global de similarité qui est représentatif de la similarité entre une première entité de données primaire et une deuxième entité de données primaire d’un lac de données, chaque entité de données primaire comprenant une pluralité de champs de données, le système (400) comprenant :
    - au moins un dispositif de stockage de données (410) configuré pour stocker des instructions pour l’entrainement d’un modèle d’apprentissage machine, et
    - au moins un processeur (420) configuré pour exécuter les instructions pour mettre en œuvre un procédé selon l’une quelconque des revendications 2 à 10.
    System (400) for training a machine learning model to predict an overall similarity score that is representative of the similarity between a first primary data entity and a second primary data entity of a data lake , each primary data entity comprising a plurality of data fields, the system (400) comprising:
    - at least one data storage device (410) configured to store instructions for training a machine learning model, and
    - at least one processor (420) configured to execute the instructions for implementing a method according to any one of claims 2 to 10.
PCT/IB2021/062515 2020-12-31 2021-12-31 System and method for predicting an overall similarity score between two primary entities of a data lake WO2022144848A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP21851988.2A EP4272089A1 (en) 2020-12-31 2021-12-31 System and method for predicting an overall similarity score between two primary entities of a data lake

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2014297 2020-12-31
FRFR2014297 2020-12-31

Publications (1)

Publication Number Publication Date
WO2022144848A1 true WO2022144848A1 (en) 2022-07-07

Family

ID=80119157

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/IB2021/062515 WO2022144848A1 (en) 2020-12-31 2021-12-31 System and method for predicting an overall similarity score between two primary entities of a data lake
PCT/IB2021/062519 WO2022144852A1 (en) 2020-12-31 2021-12-31 System and method for classifying string data of a primary entity of a data lake

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/IB2021/062519 WO2022144852A1 (en) 2020-12-31 2021-12-31 System and method for classifying string data of a primary entity of a data lake

Country Status (2)

Country Link
EP (2) EP4272089A1 (en)
WO (2) WO2022144848A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180074786A1 (en) * 2016-09-15 2018-03-15 Oracle International Corporation Techniques for dataset similarity discovery

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10891316B2 (en) * 2018-07-02 2021-01-12 Salesforce.Com, Inc. Identifying homogenous clusters

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180074786A1 (en) * 2016-09-15 2018-03-15 Oracle International Corporation Techniques for dataset similarity discovery

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIVIA RUBACK ET AL: "Computing Entity Semantic Similarity by Features Ranking", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 6 November 2018 (2018-11-06), XP081429063 *

Also Published As

Publication number Publication date
EP4272090A1 (en) 2023-11-08
WO2022144852A1 (en) 2022-07-07
EP4272089A1 (en) 2023-11-08

Similar Documents

Publication Publication Date Title
Beskow et al. Its all in a name: detecting and labeling bots by their name
CN104731976B (en) The discovery of private data and sorting technique in tables of data
Lee et al. How to assess patent infringement risks: a semantic patent claim analysis using dependency relationships
US20100313258A1 (en) Identifying synonyms of entities using a document collection
CN106815207B (en) Information processing method and device for legal referee document
EP2188744B1 (en) Installation for managing a database
FR2977343A1 (en) TRANSLATION SYSTEM SUITABLE FOR TRANSLATION OF REQUESTS VIA A RECLASSIFICATION FRAMEWORK
FR2933793A1 (en) METHODS OF ENCODING AND DECODING, BY REFERENCING, VALUES IN A STRUCTURED DOCUMENT, AND ASSOCIATED SYSTEMS.
CN112036997B (en) Method and device for predicting abnormal users in taxpayers
JP5596648B2 (en) Hash function generation method, hash function generation device, hash function generation program
Musaev et al. Fast text classification using randomized explicit semantic analysis
WO2022144848A1 (en) System and method for predicting an overall similarity score between two primary entities of a data lake
WO2019160608A1 (en) Computer-implemented methods, computer-readable media, and systems for identifying causes of loss
EP1895410A1 (en) Method and system for extraction of a data table from a database and corresponding computer program product
JP5463873B2 (en) Multimedia classification system and multimedia search system
US20100211534A1 (en) Efficient computation of ontology affinity matrices
US20150261750A1 (en) Method and system for determining a measure of overlap between data entries
Ong et al. Data blending in manufacturing and supply chains
Lu et al. The major research themes of big data literature: From 2001 to 2016
Patil et al. A clustering technique for email content mining
Schmidt et al. A concept for plagiarism detection based on compressed bitmaps
Birkholz et al. Using topic modeling in innovation studies: The case of a small innovation system under conditions of pandemic related change
WO2023126791A1 (en) System and method for managing a data lake
Tunison Average Taxonomic Distinctness as a Measure of Global Biodiversity
Parker et al. Individual Differences Are a Better Predictor of Moral Language Use in Australian Prime Ministers’ Speeches Than Is Their Political Party

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21851988

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021851988

Country of ref document: EP

Effective date: 20230731