Method for generating a cosmetic treatment routine
A computer-implemented process vectorizes product and user data to generate personalized cosmetic routines, addressing the lack of interaction consideration and data reliability in existing systems, ensuring compatibility and enhancing user satisfaction.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- LOREAL SA
- Filing Date
- 2024-12-10
- Publication Date
- 2026-06-12
AI Technical Summary
Existing cosmetic product recommendation systems primarily focus on individual product suggestions without considering the interactions between multiple products, and data integration and mapping methods are not fast or reliable enough to create personalized, harmonized routines.
A computer-implemented process that generates a cosmetic treatment routine by vectorizing product and user information in a reference space, using a database with enriched product data, and applying filtering criteria to ensure compatibility and relevance, thereby creating personalized routines.
Enables the generation of personalized cosmetic routines in real-time, considering product interactions and user preferences, improving user experience and satisfaction by ensuring compatibility and relevance.
Smart Images

Figure 00000050_0000 
Figure 00000051_0000 
Figure 00000052_0000
Abstract
Description
Title of the invention: Method for generating a cosmetic treatment routine. Technical field
[0001] The present invention relates to a method for generating a cosmetic treatment routine, in particular a makeup or a treatment. Previous technique
[0002] In the cosmetics industry, companies and organizations often face challenges in integrating and harmonizing data from various sources, such as online cosmetic product catalogs, product ingredient databases, and data relating to customer priorities, habits, and preferences. The ability to transform and map data from these diverse sources is crucial for delivering personalized recommendations to consumers.
[0003] Furthermore, most prior art product recommendation methods are designed to recommend only a single product. In other words, they are primarily "single-product" approaches, generally based on the suitability of a product to a user's expectations. Thus, products are recommended individually to the user but are not combined within a routine of applying different products. Moreover, the mutual interactions between products are not taken into account.
[0004] On the other hand, the growth of e-commerce and the availability of large amounts of data specific to the cosmetics industry have increased the importance of recommendation services. The importance of data integration and interoperability is therefore growing.
[0005] However, existing approaches for mapping data structure schemas, and for transforming data in the beauty industry, are not always as fast and reliable as desired.
[0006] From applications KR 20190033257A and WO2022120190A1, methods for recommending a cosmetic product based on user information acquired using a dedicated device are known.
[0007] Application WO2023194466Al describes a method for recommending a product cosmetics based on a user's photo.
[0008] There is therefore a need to improve cosmetic product recommendation processes, in particular to offer users personalized routines involving the use of several cosmetic products. Summary of the invention
[0009] The invention aims to meet this need and achieves this, according to one of its aspects, by means of a computer-implemented process for generating a cosmetic treatment routine from a database of cosmetic products, the database containing product information relating to cosmetic products, the cosmetic routine comprising several successive steps, each step comprising the application of at least one product, the product information being at least partially vectorized in a reference space, each cosmetic product in the database being represented by a product vector in this space, each product vector comprising components chosen from ranges of attribute values of an attribute repository, the attribute repository comprising at least some, or at least half, or preferably all, of the following attributes: a treatment category targeted by the product, the pharmaceutical form,a duration of product use, a product formula, a list of product ingredients, information regarding compatibility with at least one other product in the base, a target user gender and age range, at least one piece of information regarding the size or capacity of a product container, an external factor influencing the product's effect, an internal factor related to the user's lifestyle and influencing the product's effect, a skin or physiological disorder influencing the product's effect, one or more characteristics of the user's skin impacted by the product, one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components,being chosen from the attribute value ranges of the attribute repository, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, the galenic form being chosen from lotion, cream, oil, loose or pressed powder, varnish, gel, emulsion, solid shampoo, gel, spray, mist, balm, milk, makeup pencil, mask, the user's facial characteristics including one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more characteristics relating to the shape of the user's face, , - each cosmetic product in the database is associated with at least one step in at least one routine, the process comprising: - the acquisition of user information from a user, user information including at least one of the following: the user's gender, the user's age, one or more characteristics of the user's face, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, and / or one or more ingredients to be excluded, and / or one or more ingredients to be preferred, and / or the desired dosage form, and / or one or more of the user's usual cosmetic treatments, - the vectorization, by means of data processing, of user information in the reference space, the vectorization involving the transformation of user information into a user vector, - the pre-selection of cosmetic products from the database whose product vectors are located at a distance from the user vector less than a predetermined distance threshold, or whose similarity rate between the product and user vectors is greater than a predetermined similarity threshold, - filtering of the pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more potential cosmetic products, determined to be incompatible with user information, or at excluding several cosmetic products determined to be incompatible with each other, - the identification, from the product information of the products thus pre-selected and filtered, for each step of said routine, of at least one product suitable for that step.
[0010] By "vectorized data", it is understood that the cosmetic products are stored in the database in the form of vectors, the vectorization basis being the reference space.
[0011] By "cosmetic products listed as incompatible", it is understood that certain cosmetic products may be excluded based on user information or product information, for example when the cosmetic product is incompatible with one or more pieces of user information, or when the cosmetic product is incompatible with one or more other pre-selected cosmetic products.
[0012] The term "catalogue" here refers to a list of products, including a list of SKU identifiers (from the acronym "Stock Keeping Unit") for one or more trademarks, product descriptions and images, for The invention allows the generation of a cosmetic treatment routine to be submitted to a user. The database thus contains vectorized data from a plurality of catalogs and / or a plurality of catalogs.
[0013] The term "schema" refers to a predefined structure defining the organization, format, and constraints relating to cosmetic product data. The schema describes the rules and the manner in which the data should be stored, organized, and accessed. For example, first and second sets of cosmetic product data from different sources may have different structures, the first being in the form of purely textual computer objects providing information on a first set of product characteristics, and the second being in the form of purely numerical data tables providing information on a second set of product characteristics, the second set of product characteristics being different from the first. Defining a schema also provides a framework for ensuring the integrity, consistency, and interoperability of data within a system or database.
[0014] "Mapping" or "mapper" refers to the process of establishing a correspondence between two data schemas. In particular, the integration of data from external sources, according to a source schema, requires the transformation of the source schema into a target schema. The data, initially structured according to the source schema, is reorganized to conform to the target schema. This is referred to as mapping from the source schema to the target schema. In other words, defining a target schema makes it possible to acquire unstructured data and normalize / transform it into a common repository, regardless of the input data source.
[0015] By "computer-implemented" means implemented by any type of computer computing means, for example, personal computer, computer server, HPC, ...
[0016] The term “natural language processing” or “NLP” refers here to all the techniques or methods used to analyze human language by computer, and to process and interpret textual data in order to extract meaningful information. In the context of the invention, this includes, in particular, data relating to user preferences and product descriptions.
[0017] The term "large language model" or "LLM" refers here to a computer model, or a combination of several computer models, based on an artificial intelligence method designed to understand and generate language similar to that of humans, and to allow for the easy processing and generation of textual content. LLMs include deep neural networks. trained on large amounts of unlabeled data using self-supervised or semi-supervised learning methods.
[0018] Thanks to the invention, it is possible to generate cosmetic product recommendations tailored to each user's information. The routine structure can be adapted according to the user's profile.
[0019] The invention makes it possible to provide, automatically and in real time if desired, product recommendations organized according to a personalized routine, based on user information and product information. The invention makes it possible to automate the generation of cosmetic treatment routines on a large scale.
[0020] In addition, the use of a vectorized database according to the invention saves time when analyzing product data. Database
[0021] The term “cosmetic product database” here refers to a set of information relating to cosmetic products.
[0022] The database can be stored on a remote server. In particular, it can be accessed by one or more devices including means of communication.
[0023] The database may contain vectorized data. Furthermore, the database may contain structured and / or unstructured data. The data may originate from multiple catalogs, including catalogs included in the database.
[0024] The database can be hierarchical, network, object-oriented, relational, non-relational or NoSQL.
[0025] The database can be managed by any database management system. Product information
[0026] By "at least partially vectorized," it is understood that the product information contained in the database relating to a given cosmetic product may include data considered irrelevant to vectorization. For example, the product identifier, the product image. For example, a product identifier may not be vectorized. Generally, vectorization can be limited to functional data considered non-arbitrary; the other data is then not used to create the product vector and calculate a distance to the user vector. Excluding certain data included in the product information can result in reduced computation time and complexity.
[0027] The product identifier can be chosen from an EAN code (from the English "European Article Numbering"), and / or a GTIN code (from the English "Global Trade Item Number"), and / or a stock keeping unit or "sku" (from the English "Stock Keeping Unit").
[0028] Preferably, the product information includes: a product name, a product image, a label, a brand, a franchise, a collection, a range, a country of manufacture, a link to a web page, a price, a currency for purchasing the product, one or more user reviews, a number of user reviews, an ecological performance score, a specific manufacturing method, a product effect, representative information on the result of applying the product, an optimal time for applying the product, and a similar product.
[0029] The term "label" here refers to a product name that may differ from the product's trade name. User information
[0030] User information is acquired in such a way as to be compared with product information in the database and to determine several cosmetic products suitable for the user within a cosmetic treatment routine.
[0031] The user's facial feature(s) may include one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or eyelashes, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more features relating to the shape of the user's face.
[0032] Eye characteristics include, for example, the type of eye shape, and / or color, and / or a size representative of the eye opening. Eyelid characteristics include, for example, the type of eyelid shape. Eyelash and / or eyebrow characteristics include, for example, the type of shape, and / or hair length, and / or hair density, and / or hair color. Nose and / or mouth and / or chin characteristics include, for example, the type of shape, and / or a size representative of the size of the area concerned.
[0033] At least part, or even the vast majority, of user information can be acquired from a user information database, this database being stored in particular on a server.
[0034] Alternatively, the acquisition of user information is carried out by means of an interface and / or an instrumental measurement tool for at least one characteristic of the user's skin or hair, in particular chosen from among hydration, pore size, sebum level, size of wrinkles or fine lines, skin firmness, skin or hair color, phototype, skin or hair type, or acquisition of an image of the user, including the face or hair.
[0035] User information may include at least one response to a questionnaire. If user information is acquired via an interface, the questionnaire may be displayed on a screen of the interface.
[0036] Alternatively, the acquisition of user information can be carried out using a device chosen from among a smartphone, a computer, a tablet, or even a digital kiosk.
[0037] User information may include the number of routine steps desired by the user.
[0038] User information may, at least in part, originate from at least one image of a region of interest to the user, the image having been processed by a computer vision algorithm. The computer vision algorithm may be configured to extract features from a part of the user's body, in particular the face, and transform these features into vectorized user information according to the attribute repository. For example, the computer vision algorithm is chosen from LBP (Local Binary Patterns), U-Net, VGGFace, ResNet, or Inception Res-Net, and their combinations.
[0039] Optionally, user information may include data relating to a cosmetic product of interest to the user, and / or a history of the user's purchases. Attribute repository and reference space
[0040] By "attribute repository" is meant a data structure listing a set of characteristics or "attributes" and values of these attributes allowing to describe in a normalized way both a product and a user, by defining his priorities, his preferences, or his desired routine.
[0041] The attribute repository may include a large majority, or even all, of the user information that can be acquired. By this, it is understood that the attribute repository includes attributes describing the user's sex, the user's age, one or more characteristics of the user's face, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, and / or one or more ingredients to be excluded, and / or one or more ingredients to be preferred, and / or the desired galenic form, and / or one or more usual cosmetic treatments of the user.
[0042] In addition, the attribute repository may include one or more attributes chosen from a perfume concentration, an age, and / or an allergen, and / or a factor external, and / or an internal factor, and / or an illness, including a skin disorder, and / or a physiological disorder, particularly related to stress.
[0043] The external factor may include one or more parameters describing the environmental conditions of the geographical location where the user lives, such as humidity, temperature, or pollution levels.
[0044] The internal factor may be a characteristic related to the user's lifestyle, providing information such as whether the user smokes, regularly practices sport, or eats a balanced diet.
[0045] By reference space, we mean here a multidimensional space serving as a basis for the expression of the product vectors and the user vectors, the product vectors and the user vectors being expressed in the reference space.
[0046] The reference space can be a vector space of dimension N, N being an integer greater than 100, in particular greater than 500. Each product vector thus has N components.
[0047] The reference space can be a vector space of dimension N, N being an integer between 100 and 500.
[0048] Preferably, the reference space is Euclidean.
[0049] Each attribute of the attribute repository can include corresponding attribute value ranges.
[0050] The attribute value ranges of an attribute allow the attribute to be described. An attribute value range comprises a set of values that allow a factor, parameter, or aspect of the corresponding attribute to be described.
[0051] For example, if the selected model models the shape of the face according to five factors, or describes the shape of the face according to five cases, the attribute "shape of the face" is then expressed according to five variables respectively with values in five ranges of attribute values.
[0052] The attribute value ranges can have values in the set of real or complex numbers, and for example be natural numbers. In particular, the attribute value ranges can be of the same type as the components of the product and user vectors.
[0053] Preferably, all product information and / or user information can be described by the attributes and corresponding attribute value ranges of the attribute repository.
[0054] Preferably, each attribute is modeled by one or more dimensions of the reference space, and includes as many ranges of corresponding attribute values.
[0055] For example, when the attribute repository includes a "face shape" attribute, said attribute can be modeled by five dimensions in the reference space, and thus be described by as many ranges of attribute values, each dimension representing respectively a heart-shaped face, an elongated face, an oval face, a square face, a diamond face, with for each of the face shapes an associated range of attribute values that is binary, that is to say including the values 0 and 1. Alternatively, the ranges of attribute values may include the interval of real numbers between 0 and 1 when the corresponding user information is extracted by a probabilistic algorithm, in particular a computer vision algorithm to which an image of the user has been provided as input.
[0056] As another example, the attribute repository may include an attribute "hair loss" modeled by at least five dimensions in the reference space, and thus described by as many ranges of attribute values. Three of the five dimensions may represent the causes of hair loss, in particular representing respectively a hereditary cause, a pathological cause, and a stress-related cause, and the other two dimensions may respectively represent the date of onset of hair loss, and the intensity of hair loss.
[0057] The attribute repository may include attributes not described by the product vectors of the database. The product vectors of the database may subsequently be enriched to cover such attributes later.
[0058] Optionally, at least some of the attributes and their associated attribute value ranges may be subjected to a dimensionality reduction method, for example, a principal component analysis (PCA). This allows for a simpler representation of all the attributes in the attribute repository in the reference space.
[0059] Optionally, the reference space can serve as an expression for product and user vectors structured according to a reference system other than the attribute reference system. Product vectors and user vectors
[0060] Preferably, each component is associated with exactly a range of attribute value ranges of an attribute.
[0061] The components can have values in the set of real or complex numbers, and for example be natural numbers.
[0062] Each component of a product vector or user vector can correspond to exactly a range of attribute value ranges. In other words, among the set of possible values in the corresponding attribute value range, the component's value is equal to one of the possible values in the attribute value range. In particular, at least some, or even all, of the components can take values in the set {0;1}. A binary component allows product information, or user information, to be transformed from a Boolean value into a vector component. product, respectively in a user vector component. For example, a component with a value in {0; 1} can indicate the presence or absence of a specific ingredient.
[0063] Binary value components allow for the description of "non-numeric" attributes, for example the data of a country where a product was manufactured or an important effect of a product on skin hydration, the value 0 then translating that the product was not manufactured in said country or that the product has no noticeable effect on skin hydration.
[0064] Furthermore, a binary component allows for the discretization of an uncountable range of attribute values, for example, the set of integers, or a relatively large range, for example, the set of integers less than 100. As an example, an attribute representing the user's age may have ranges of attribute values corresponding to age intervals, each range of attribute values being represented by exactly one dimension of the reference space. With four ranges of attribute values corresponding respectively to the ages between 16 and 25, 25 and 40, 40 and 60, and over 40, a subvector representing the age attribute, for a 20-year-old, or for a product intended for people between 20 and 23, may be [1,0,0,0].As another example, if the product intended for people between 20 and 23 years old is not recommended for people over 40 years old, a subvector representing the product can be [0, 1, -1, -1].
[0065] For example, the attribute repository may include an attribute "wrinkles". The values of the "wrinkles" attribute can be binary. The "wrinkles" attribute can correspond to exactly one dimension of the reference space, with the database products having exactly one binary component P associated with the "wrinkles" attribute. For a product vector, a value of component P equal to 0 can describe a product that does not affect wrinkles, and a value of component P equal to 1 can describe a product that does affect wrinkles. The user vector can also have a binary component U associated with the "wrinkles" attribute, with a value of component U equal to 0 describing a user who does not have wrinkles or is not likely to develop them, and a value of component P equal to 1 describing a user who has wrinkles or is likely to develop them.The process can therefore facilitate the pre-selection of a product that impacts wrinkles, for example, a product containing hyaluronic acid, for a user who has or is likely to develop wrinkles, and the pre-selection of a product that does not impact wrinkles for a user who does not have or is not likely to develop wrinkles. Alternatively, a continuous P component with values between 0 and 1 allows for a more precise representation of a product's impact on wrinkles.
[0066] As another example, the attribute repository may include an attribute "acne". User information may include the fact that the user has acne, by analyzing an image of the user's face. The database may include a product that acts on pores.
[0067] The product vectors and / or the user vector may be weighted prior to the preselection step. By "weighted," it is understood that at least some of the components of the product vectors and / or the user vector may be multiplied by weights with real values not equal to 1, so as to bias the distance calculation performed during the preselection step.
[0068] The weighting can be linear. In particular, for at least one given attribute, all the components of the product vector and / or the user vector corresponding to the attribute value ranges of the same attribute can be weighted by the same weight. Identical weighting of the components for each corresponding attribute makes it possible to bias the distance calculation performed during the attribute preselection step and thus to artificially modulate the importance of one attribute relative to the others.
[0069] The weighting can be non-linear. In particular, for at least one given attribute, at least one component of the product vector and / or the user vector corresponding to the same ranges of attribute values for the same attribute can be weighted by a weight dependent on the value of said component. For example, an attribute "skin sensitivity" can include a range of attribute value ranges modeling the level of sensitivity, for example, from 0 (minimum) to 10 (maximum). The component associated with this range of attribute value ranges is then multiplied by a factor of the form k*c, where k is a non-zero positive real number, and c is the value of the component between 0 and 10. Enrichment
[0070] The database can be updated periodically, in particular daily.
[0071] The process may include a database enrichment step.
[0072] Enrichment can be used to supplement existing product data in the database, and / or to import new data, enrich it, and store it in the database.
[0073] In particular, the enrichment may involve modifying one or more components of the product vectors in the database. The enrichment may notably involve increasing the number of non-zero components of the product vectors.
[0074] Alternatively, the enrichment may involve recording data relating to products not described in the database. In this case, there is no previously no data in the database relating to these products, and enrichment allows the creation of a first instance of data relating to these products, which can subsequently be enriched by an additional enrichment step.
[0075] The enrichment may involve transforming a cosmetic product catalog from a brand, retailer, or point of contact into a product list with product information in the form of a list of attributes and attribute value ranges. This information is thus standardized and vectorized in the reference space.
[0076] The data used to enrich the database may come from external or internal sources.
[0077] Data from internal sources may include a cosmetic product catalog, in particular a digital version of a cosmetic product catalog, the catalog being included in the database. Data from external sources may include a cosmetic product catalog, in particular a digital version of a cosmetic product catalog available on the Internet.
[0078] Alternatively, said external data can be acquired by API request or a web scraping method, the external data being standardized and recorded in the database, the standardization of said data including the vectorization of said data.
[0079] By "standardized" or "normalized," it is meant that the data are processed with the aim of being integrated into the database, in particular with the aim of being expressed according to a list of attributes and attribute value ranges from the attribute repository. In other words, the standardized or normalized data are integrated in such a way as to share a common repository.
[0080] The cosmetic product catalogue may include, for a product in the catalogue, fields containing raw information about said product.
[0081] The term "field" here refers to a location, section, or object in the catalogue containing raw information about a product. This raw information may include, in particular, a textual description of the product, an image of the product, and / or numerical data relating to the product.
[0082] For example, the fields may include a product type and / or a product effect, and / or a result obtained or expected from the use of a product, and / or a type of user targeted by a product, and / or a list of ingredients of a product, and / or one or more similar products, and / or one or more characteristics of a product's odor, and / or one or more characteristics of a product's texture, and / or a recommended time or frequency of use of a product. The selection of product information, included in the catalog fields and intended to be standardized to enrich the database, can be configured either automatically, particularly according to the product category, or manually.
[0083] The enrichment may include, in particular successively, the implementation of data processing means chosen from among the removal of unwanted products, the translation of textual data, the merging of raw information from one or more fields, the removal of a web address, the lemmatization of textual information, the removal of predefined words and special characters, the formatting of textual data, in particular formatting in lowercase letters, and the application of a method based on the inverse document term-frequency “TF-IDF” in order to vectorize the data.
[0084] “Lemmatization” here refers to a processing method that transforms a word into its canonical form, also called a lemma. For example, the words “describe” and “will describe” can be lemmatized to “describe”.
[0085] In addition, the data processing means may include the implementation of an artificial neural network, and / or at least one large deep neural network language model “LLM”, and / or at least one classification algorithm based on predefined rules.
[0086] Preferably, the enrichment step includes, in order to vectorize the external data in the reference space, on the one hand the implementation, in particular in parallel, of a Machine Learning algorithm, and / or a large language model “LLM” with deep neural network, and / or a classification algorithm based on predefined rules, and on the other hand the implementation of a method based on the inverse document term-frequency “TF-IDF”
[0087] Preferably, said algorithms or models are trained on the product data in the database. Said algorithms or models can be configured to enrich the database by determining, from external product data, the external data being from external sources, for a given set of attributes in the attribute repository, ranges of attribute values associated with said attributes.
[0088] For example, the machine learning algorithm can be chosen from a random forest (or decision tree), gradient boosting. By way of example, the training of said algorithm can be carried out on a data sample comprising at least 30,000 manually labeled product descriptions covering at least 7,000 distinct products. The descriptions can, for example, be provided in English. The training of said algorithm can include different techniques chosen from multibinarization of the data and / or multiclass classification. resampling of the data sample, dimensionality reduction, including principal component analysis.
[0089] By multi-binarization, we mean here a process which consists of converting a non-discrete or multi-class variable / data into several binary variables / data.
[0090] By resampling, we mean here a set of techniques used to adjust or manipulate data, in particular with the aim of improving the quality of models and / or reducing biases associated with the data sample used, and / or rebalancing the amounts of data belonging to each of the classes of the data sample, and / or evaluating the performance of a model.
[0091] As another example, the large language model (“LLM”) can be chosen from among the text-bison, Gemini 1.5 (from Google Gpt35), gpt4, gpt4o (from OpenAI), Mistral-large (from Mistral), and Claude-sonnet (from Anthropic) models, or be a combination of several of the aforementioned models. In particular, it is possible to combine the results of several models, and, for example, to retain the results of the models deemed most relevant. Furthermore, the input commands (or “prompts”) can be adapted to each model in the selected model combination.
[0092] By "parallel implementation of an artificial neural network and / or a large deep neural network language model (LLM) of a predefined rule-based classification algorithm," it is understood that the aforementioned data processing methods are applied simultaneously to the external data, by dividing the processing tasks to be performed by each data processing method. Parallelization can accelerate the enrichment process. Furthermore, parallelization can improve the efficiency and scalability of the process.
[0093] In particular, the Machine Learning algorithm is preferably an NLP algorithm.
[0094] The type of Machine Learning algorithm, from the large language model “LLM” to deep neural network, or the classification algorithm based on predefined rules can be determined according to the attributes to be enriched.
[0095] The implementation of deep learning machine learning models makes it possible to generate relatively more accurate personalized recommendations by taking into account a relatively large number of attributes.
[0096] The user experience is thus improved.
[0097] The enrichment according to the invention also allows for a seamless integration of cosmetic product data from various sources, regardless of differences in data schemas. Routine
[0098] The term "routine" refers to a set of at least two steps in a cosmetic treatment process, each of which involves the application of a product. This does not preclude the treatment from also including steps without the application of a cosmetic product, for example, washing with water, drying, combing, cutting, or resting.
[0099] The method may include selecting the number of steps in the routine prior to said pre-selection of cosmetic products. Preferably, the routine comprises at least two routine steps, better still at least three routine steps.
[0100] For example, the routine may include three steps, including a first step of cleansing the skin using a cleansing product, a second step of applying a serum and a third step of applying a moisturizing cream.
[0101] As another example, a hair care routine may include a first pre-cleansing step with the application of a pre-shampoo, a clay mask or a scrub, a second cleansing step with the application of a shampoo, a third treatment step with the application of a conditioner and / or a mask, a fourth protection step with the application of a heat protectant product and a fifth texturizing step with the application of an oil or a serum.
[0102] As another example, for a makeup routine, the steps of the routine may successively include a makeup removal step, a step of applying a base, in particular a foundation, a step of applying a powder, and a step of applying a concealer.
[0103] As another example, for a facial skincare routine, the steps may successively include a makeup removal step, an exfoliant application step, and a moisturizing cream application step.
[0104] Optionally, the routine may include a cleansing step involving the application of a makeup remover and micellar water. In this case, the cleansing step includes the application of two cosmetic products.
[0105] Optionally, the routine may include a final step of applying a toner, eye cream, serum, and / or sunscreen. Preselection
[0106] The distance may be the Euclidean distance. Alternatively, the distance may be the Manhattan distance, the Minkowski distance, or the Chebyshev distance.
[0107] The similarity rate can be based on cosine similarity.
[0108] The similarity rate t of the product vector B with the user vector A can be given by
[0109] |AB|, AB being the dot product of vectors A and B, and II AH and IIBII being respectively the norms of vectors A and B associated with the dot product.
[0110] In one embodiment, the method includes updating the distance threshold or the similarity threshold if the number of cosmetic products associated with a routine step after preselection is less than a minimum number of products threshold. The update increases the distance threshold or decreases the similarity threshold. A new preselection of cosmetic products is then performed, the product vectors of which are located at a distance from the user vector less than the updated distance threshold or whose similarity rate is greater than the updated similarity threshold. For example, the minimum number of products threshold is greater than 1, in particular greater than 2, or even greater than 3.
[0111] For example, user information might indicate that the user has dry skin, prefers natural ingredients, and is looking for a moisturizer. The vectorized database can contain various moisturizers, each represented by a vector whose dimensions correspond to attributes such as skin type, ingredient composition, and moisturizing properties. By comparing the user vector with the product vectors, it is possible to calculate the similarity rate or distance of the product vectors relative to the user vector, and to rank the moisturizers according to their similarity rate or distance. Filtering
[0112] The filtering process may include the exclusion of cosmetic products determined to be incompatible with a characteristic of the user's skin and / or hair and / or an ingredient preference of the user. Thus, the filtering process takes into account an incompatibility of an ingredient with a characteristic of the user, the incompatibility being identified from user information.
[0113] The filtering may include comparing at least two cosmetic products associated with the same step, or with different steps of the same routine, and excluding at least one of the two cosmetic products from the selection of cosmetic products if their ingredient lists or chemical composition formulas are determined to be mutually incompatible.
[0114] The filtering may involve the use of a compatibility data graph.
[0115] The term "data graph" here refers to a data structure that uses graphical structures to represent and store data, and is composed of vertices and edges. Nodes represent entities or objects, while edges represent the relationships between these entities.
[0116] The compatibility data graph may include vertices representing the products in the database, a list of ingredients, and the ranges of attribute values from the attribute repository, and edges defining a compatibility rate between two vertices of said graph.
[0117] For example, the compatibility data graph can provide information on an incompatibility between a product containing alcohol and having dry skin.
[0118] The use of a compatibility data graph allows for rapid and accurate retrieval of information on ingredients that are compatible or incompatible with the products in the database or user information.
[0119] By "determined to be mutually incompatible" is meant the situation where certain products cannot be used together because of their ingredients, formulation or area of application.
[0120] For example, some skincare products containing active ingredients such as retinol may not be compatible with certain other products, such as those containing alpha-hydroxybutyric acid (AHA), due to skin sensitivity issues. Through the filtering according to the invention, when user information is acquired—including skin type, one or more ingredient preferences, and a desired product type—mutual incompatibilities are taken into account when generating the routine. The invention thus ensures that the recommended products do not include products that are mutually exclusive or incompatible with each other.
[0121] As another example, if a user has sensitive skin and prefers to avoid products containing perfumes, the filtering will exclude any product containing perfumes or ingredients known to present a risk of irritation to sensitive skin.
[0122] Potential adverse reactions or negative interactions between products can be avoided, thereby improving user experience and satisfaction.
[0123] The process may include a step to reduce the number of steps in the routine if the number of pre-selected and filtered products associated with a given routine step is less than a minimum selection threshold. In this case, said routine step is removed from the routine and the products associated with said step are excluded. The minimum selection threshold may be greater than 1, in particular greater than 2, or even 3.
[0124] In addition, the filtering can take into account a number of copies of products in stock, and exclude one or more unavailable products. Score
[0125] Optionally, the process may include determining a score for products suitable for a step in said routine, the score of a product being calculated from its product information and user information, cosmetic products of the step being sorted according to their score, the process includes transmitting to the user information identifying M products with the highest score suitable for said routine step, M being an integer greater than 1 and less than the number of said products.
[0126] Optionally, the process may include determining a score for the products suitable for each respective step of the routine.
[0127] The score of the cosmetic product can be calculated based on several parameters, the parameters being chosen from among a quantity representing the date of marketing of the product, a quantity representing the number of copies of the product sold, a quantity representing the satisfaction of the people who have used the cosmetic product, a quantity representing the user's affinity to the brand of the cosmetic product, and a quantity representing a hierarchy to be respected in the distribution of the products.
[0128] The product score can be a weighted average of the chosen parameters.
[0129] Determining a score allows for a selection of cosmetic products based on additional parameters other than user information relating to skin, face, hair, scalp characteristics, or user preferences. In particular, these parameters may not be taken into account during the pre-selection stage. Cosmetic treatment process
[0130] The invention also relates to a cosmetic treatment method, comprising the application of at least one cosmetic product of a cosmetic treatment routine, the routine being generated according to the method described above.
[0131] The cosmetic treatment process may include the successive application of at least one cosmetic product from each step of the routine. computer program product
[0132] The invention also relates, independently or in combination with the foregoing, to a computer program product, in particular for implementing the method for generating the aforementioned routine, comprising code instructions which, when the program is executed by a computer, cause the computer to: - extract, from a database, product information, at least partially vectorized, relating to cosmetic products, the product information being vectorized in a reference space, each cosmetic product in the product information being represented by a product vector in this space, each product vector comprising components chosen from ranges of attribute values of an attribute repository, the attribute repository comprising at least some of the following attributes: a treatment category covered by the product, dosage form, duration of use, product formula, list of ingredients, information on compatibility with at least one other product in the base, target user gender and age range, at least one piece of information on the size or capacity of a product container, an external factor affecting the product's effect, an internal factor related to the user's lifestyle and affecting the product's effect, a skin or physiological disorder affecting the product's effect, one or more characteristics of the user's skin impacted by the product, one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components,being chosen from the attribute value ranges of the attribute repository, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, the galenic form being chosen from lotion, cream, oil, loose or pressed powder, varnish, gel, emulsion, solid shampoo, gel, spray, mist, balm, milk, makeup pencil, mask, , the user's facial features including one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more features relating to the shape of the user's face, Each cosmetic product in the database is associated with at least one step in at least one routine. - to extract user information about a user from information stored in memory, user information including at least one of the following: user's gender, user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face, and / or one or more ingredients to exclude, and / or one or more ingredients to favor, and / or the desired dosage form and type of cosmetic treatment routine, and / or one or more of the user's usual cosmetic treatments, - to vectorize, using data processing methods, user information in the reference space, the vectorization involving the transformation of user information into a user vector, - generate a pre-selection of cosmetic products from the database whose product vectors are located at a distance from the user vector less than a predetermined distance threshold, or whose similarity rate between the product and user vectors is greater than a predetermined similarity threshold, - filter the pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more potential cosmetic products, determined to be incompatible with user information, or at excluding several cosmetic products determined to be incompatible with each other, - identify from the product information of the products thus pre-selected and filtered, for each step of said routine, at least one product suitable for that step. System
[0133] The invention also relates, independently or in combination with the foregoing, to a system, in particular for implementing the methods described above, comprising: - a database containing product information relating to cosmetic products, - a reference space, with product information being at least partially vectorized in the reference space, each product vector comprising components chosen from ranges of attribute values in an attribute repository, the attribute repository comprising at least some of the following attributes: a treatment category targeted by the product, the dosage form, a duration of product use, a product formula, a list of product ingredients, information relating to compatibility with at least one other product in the database, a gender and age range of the targeted user, at least one piece of information relating to the size or capacity of a product container, an external factor influencing the product, an internal factor related to the user's lifestyle and influencing the product, a skin or physiological disorder influencing the product, one or more skin characteristics impacted by the product, one or more characteristics of the user's hair impacted by the product,one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably the components being chosen from at least half of said attributes, or even all of said attributes, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, , the galenic form being chosen from a lotion, a cream, an oil, a loose or pressed powder, a varnish, a gel, an emulsion, a solid shampoo, a gel, a spray, a mist, a balm, a milk, a makeup pencil, a mask, the characteristic(s) of the user's face including one or more characteristics of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more characteristics relating to the shape of the user's face, each cosmetic product in the database being associated with at least one step of at least one routine, - a device comprising a screen for displaying a selection of cosmetic products, an interface configured to acquire user information, and / or a device for measuring at least one characteristic of the user's appearance, in particular skin or hair, user information including at least one of the following: user's gender, user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face and / or one or more ingredients to exclude, and / or one or more ingredients to favor, and / or the desired dosage form, and / or one or more usual cosmetic treatments of the user, - a database enrichment module, comprising data processing means, the data processing means enabling the enrichment of the cosmetic product database, the increase in the number of non-zero components of the product vectors, or the recording of external product data from external sources in the database, said external data being acquired by API request or a web scraping method, the external data being standardized and recorded in the database, the standardization of said data including the vectorization of said data, - a routine construction module configured to pre-select cosmetic products from the database whose product vectors are located at a distance from the user vector less than a predetermined distance threshold, or whose similarity rate between the product and user vectors is greater than a predetermined similarity threshold, filter the pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more potential cosmetic products, determined to be incompatible with user information, The cosmetic products in the routine are grouped according to several successive routine steps defining an order of application of cosmetic products, each routine step defining the application of at least one cosmetic product. - a sorting module configured to assign a score to the cosmetic products in the selection of cosmetic products, and to sort the cosmetic products according to their score within each routine step. - a server configured to store and run the aforementioned modules.
[0134] Preferably, the attribute repository is stored on the server. The server may further include a mapping module and a data interface. In addition, the system may include various supplementary configuration modules, including a separate enrichment configuration module for configuring database enrichment.
[0135] The device can be chosen from a smartphone, a computer, a tablet, or even a digital kiosk
[0136] The data interface can be configured to read or modify data in the database. The data interface can be configured to execute commands and / or control the various modules mentioned above, in particular to generate a routine structure or enrich the database from external or internal sources.
[0137] The mapping module can be configured to transform data structured according to a source schema into data structured according to a target schema, the source schema being different from the target schema. In particular, the mapping module can be configured to transform data structured according to a first JSON schema into data structured according to a second JSON schema.
[0138] In particular, the mapping module can be configured to transform data from external sources, including product catalogues from external sources, into vectorized data in the reference space.
[0139] Different database access profiles can be defined, including an administrator, a professional user, and an end user. For simplicity, the end user is referred to as "user" in the context of the invention described above.
[0140] The system may include means of communication including Internet access, configured to allow access to product catalogues.
[0141] The system, in particular for implementing the method to generate a routine, may include: - a database containing product information relating to cosmetic products, - a reference space, with product information being at least partially vectorized in the reference space, each product vector comprising components chosen from ranges of attribute values in an attribute repository; the attribute repository comprising at least some, or at least half, or preferably all, of the following attributes: a treatment category targeted by the product, the dosage form, a duration of product use, a product formula, a list of product ingredients, information relating to compatibility with at least one other product in the database, a gender and age range of the targeted user, at least one piece of information relating to the size or capacity of a product container, an external factor influencing the product's effect, an internal factor related to the user's lifestyle and influencing the product's effect, a skin or physiological disorder influencing the product's effect, one or more characteristics of the user's skin impacted by the product,one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components, being chosen from the attribute value ranges of the attribute repository, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, the dosage form being chosen from lotion, cream, oil, loose or pressed powder, nail polish, gel, emulsion, solid shampoo, gel, spray, mist, balm, milk, makeup pencil, mask,the user's facial features including one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more features relating to the shape of the user's face, Each cosmetic product in the database is associated with at least one step in at least one routine. - a device comprising a screen for displaying a selection of cosmetic products, an interface configured to acquire user information, and / or a device for measuring at least one characteristic of the user's appearance, in particular skin or hair, user information including at least one of the following: user's gender, user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face, and / or one or more ingredients to exclude, and / or one or more ingredients to favor, and / or the desired dosage form, and / or one or more of the user's usual cosmetic treatments, - a database enrichment module, comprising data processing means, the data processing means enabling the enrichment of the cosmetic product database, the increase in the number of non-zero components of the product vectors, or the recording of external product data from external sources in the database, said external data being acquired by API request or a web scraping method, the external data being standardized and recorded in the database, the standardization of said data including the vectorization of said data, - a routine construction module configured to pre-select cosmetic products from the database whose product vectors are located at a distance from the user vector less than a predetermined distance threshold, or whose similarity rate between the product and user vectors is greater than a predetermined similarity threshold, filter pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more potential cosmetic products determined to be incompatible with user information, or at excluding one or more cosmetic products when several products are determined to be incompatible with each other, The cosmetic products in the routine are grouped according to several successive routine steps defining an order of application of cosmetic products, each routine step defining the application of at least one cosmetic product. - a sorting module configured to assign a score to the cosmetic products in the selection of cosmetic products, and to sort the cosmetic products according to their score within each routine step. - a server configured to store the aforementioned modules. Brief description of the drawings
[0142] The invention will be better understood upon reading the detailed description that follows, the non-limiting examples of embodiments thereof, and upon examination of the accompanying drawing, in which:
[0143] [Fig. 1a] Fig. 1a illustrates, schematically and partially, an example of device according to the invention.
[0144] [Fig.lb] Fig.lb illustrates, schematically and partially, an example of a system according to the invention
[0145] [Fig. le] The [Fig. le] illustrates, schematically and partially, the architecture of the system of the [Fig.lb],
[0146] [Fig.2] [Fig.2] illustrates, schematically and partially, a target data scheme according to the invention
[0147] [Fig.3a] The [Fig.3a] is a schematic representation of the routine structure configuration step.
[0148] [Fig.3b] The [Fig.3b] is a flow diagram of the mapping from a source scheme to a target scheme according to the invention.
[0149] [Fig. 3c] [Fig. 3c] is a flowchart illustrating the enrichment step.
[0150] [Fig. 4] [Fig. 4] illustrates a method for generating a routine according to the invention.
[0151] [Fig. 5a] [Fig. 5a] illustrates the user data acquisition step.
[0152] [Fig.5b] Fig.5b illustrates the vectorization of user information.
[0153] [Fig.6a] Fig.6a illustrates the enrichment step according to the invention.
[0154] [Fig.6b] [Fig.6b] illustrates the vectorization of structured product information and standardized.
[0155] [Fig.7] The [Fig.7] illustrates, schematically and partially, the reference space according to the invention.
[0156] [Fig.8] The [Fig.8] illustrates, schematically and partially, the product pre-selection stage.
[0157] [Fig.9] The [Fig.9] illustrates, schematically and partially, the filtering step.
[0158] [Fig. 10] The [Fig. 10] illustrates, schematically and partially, the filtering step.
[0159] [Fig. 11] The [Fig. 11] illustrates, schematically and partially, the filtering step.
[0160] [Fig. 12] Fig. 12 illustrates, schematically and partially, the result of the filtering stage.
[0161] [Fig. 13] The [Fig. 13] illustrates, schematically and partially, the result of the filtering step in tabular form.
[0162] [Fig. 14] The [Fig. 14] illustrates, schematically and partially, the determination of the scores.
[0163] [Fig. 15] The [Fig. 15] illustrates, schematically and partially, the result of applying the scores.
[0164] [Fig. 16] The [Fig. 16] illustrates, schematically and partially, the effect of applying scores on the order in which products are presented to the user within a routine. Detailed description
[0165] An example of device 1 according to the invention has been illustrated in [Fig. 1a].
[0166] As can be seen in the figure, the device 1 may include a camera 2 for acquiring an image 152 of the user 44, and measuring means 4 for for example to measure one or more properties 154 of the user's hair or skin 44, an interface 6, a screen 8, a memory 10 and a computer 12 including in particular at least one processor.
[0167] The device can receive and transmit data to a server 14 via communication means 13.
[0168] Figures [Fig. 1b] and [Fig. 1e] are schematic representations of an example of a system 15 and of the architecture of said system 15 according to the invention. The components illustrated in [Fig. 1e] are represented by distributed servers (not shown) and include software applications.
[0169] System 15 includes server 14.
[0170] A mapping module 22, an enrichment module 20, a module a matching 24 including a routine building module 26 and a sorting module 28, as well as a database 18 and an attribute repository 16 are stored on the server 14.
[0171] The enrichment module 20 is configured to collect and enrich data from database 18 by acquiring product names and descriptions, including text descriptions, and by cleaning and standardizing said data. In particular, the enrichment module 20 can supplement existing product data by creating, for a given product, attributes and corresponding attribute value ranges.
[0172] The mapping module 22 is configured to allow mapping different data schemas to each other. In particular, the mapping module 22 is configured to allow mapping a source data schema to a target data schema, specifically to the data structure of database 18.
[0173] The matching module 24 allows the implementation of the routine construction modules 26 and sorting modules 28 to be controlled.
[0174] The routine construction module 26 is configured to acquire and vectorize user information 44, and construct a cosmetic treatment routine 140 by selecting the products determined to be the most suitable for said information.
[0175] The sorting module 28 is configured to sort and / or select pre-selected and filtered products in each cosmetic treatment routine 140. It takes into account various factors such as company priorities, price level, customer ratings and reviews, and availability. The sorting module ensures that the most suitable products are presented to the user 44.
[0176] As can be seen in [Fig. 1e], the system can be accessed by different types of users, the user types including for example a system administrator 40 15, a professional user 42, and an end user 44.
[0177] In operation, server 14 receives data from the system's various data sources. The server can be configured to control the aforementioned modules.
[0178] The server also includes data relating to schema mappings, data relating to database enrichment, and / or other data provided by the different types of system users.
[0179] In [Fig. 1e], the server is connected to the database. Alternatively, the database can be stored on the server
[0180] The server can be configured to store cosmetic product data from a plurality of sources in the database.
[0181] The sources may include source product catalogues 32, and target product catalogues 34.
[0182] Source product catalogues 32 may include source schemas, and / or data relating to products from source product catalogues.
[0183] Source schemas may include JSON schemas relating to cosmetic products from online sales platforms (or "e-commerce"), or skincare products available on a content website or other commercial objects. Source schemas and / or source product catalog data may be sent to the server periodically, including daily, or at the request of the business user. All schemas and data from source product catalogs may be stored in the database. Source product catalogs may include internal data sources or data sources validated by partner systems.
[0184] Target product catalogues 34 may include target product catalogue diagrams and / or data relating to products from target product catalogues.
[0185] Target schemas refer to data structures according to the invention, in particular obtained after the data have been mapped during an enrichment step according to the invention.
[0186] Target schemas may include JSON schemas relating to cosmetic products from online sales platforms (or "e-commerce"). Target schemas and / or target product catalog data may be sent to the server periodically, including daily, or at the request of the business user 42. All schemas and data from target product catalogs may be stored in database 18.
[0187] In one embodiment of the invention, the received data can be filtered, mapped, and / or otherwise processed before being analyzed by the mapping module 22 or stored in the database 18. In this case, the interface of Data 30 can filter data from source product catalogs 32 and / or target product catalogs 34. This allows data to be normalized, errors to be detected, or other relevant processing to be performed on the data.
[0188] The system administrator 40 of system 15 can manage data from source product catalogs 32 or target product catalogs 34, including identifying data problems or errors. The administrator 40 can communicate with systems hosting the source product catalogs 32 and target product catalogs 34 to resolve data problems or errors.
[0189] Administrator 40 can access the system as a professional user 42.
[0190] Professional users 42 can be connected to the server via the Internet. The access rights and privileges of each professional user 42 can be controlled by the administrator 40.
[0191] The management of access rights for the different access profiles can be controlled by the administrator 40 via conventional access management means. Access rights can allow the professional user 42 to extract, modify and / or update the source schemas, the data from source product catalogs 32, the target schemas and the data from target product catalogs 34 stored in the database 18.
[0192] In addition, the professional user 42 can generate, update and / or modify the data mappings between source schemas and / or target schemas using the mapping module 22.
[0193] Professional user 42 can also generate, update and / or modify the data enrichment process.
[0194] The number, role and orientation of the components illustrated in [Fig. 1] are only examples and do not limit the scope of the invention.
[0195] External systems hosting source / target product catalogs are not an integral part of system 15. However, the system's entry and exit points or "connectors", and their configurations for connecting to said external systems are part of it.
[0196] For example, the source product catalogs 32 and the target product catalogs 34 can be replaced by another database, a server, an API interface, or a storage device to store and load one or more source schemas and one or more target schemas, as well as source product catalog data and target product catalog data. In other words, the system 15 can be viewed as a system with input and output connectors, and is not limited, on the input side, to acquiring a particular type of data schema via the input connectors, and, on the output side, to sending data processed data is sent to catalogs in other systems via output connectors, and this processed data is made available to those other systems. In particular, the connectors of system 15 can be configured to extract data from various systems, and also to receive data sent by other systems.
[0197] An import of the schemas and / or data can be carried out via the Internet or directly, for example via API, a disk drive or file transfer. In one embodiment, all the components of [Fig. 1] can be an integral part of the server.
[0198] The [Fig.2] is a representation of a target data scheme according to the invention 50.
[0199] In this example, a JSON schema (from the English "Javascript Object Notation") is used to store product information and user information.
[0200] As illustrated, the JSON schema comprises a plurality of objects, including a prescription, a cosmetic treatment routine, routine steps, a product, information,
[0201] The object "Attributes" 52 is an array storing the different attributes and ranges of attribute values associated with said attributes of the attribute repository 16.
[0202] The "Prescription" object 54 is a table containing individual prescriptions, each prescription having an identifier, "metadata" objects, "Input Attributes" objects 56 and "Routine" objects 58.
[0203] The object “Input attributes” 56 represents the attributes actually used to analyze the profile of the end user 44, and includes, for each attribute, the attribute type, the attribute name, the attribute values and an attribute importance level defining in particular the level of importance of the attribute within a questionnaire submitted to the end user 44. The attributes used may vary depending on the type of routine generated and / or desired by the end user 44. Thus, only a part of the attributes can serve as input criteria for the generation of a given routine.
[0204] The object “Routine” 58 represents the cosmetic treatment routines recommended to the end user 44 and includes, for each routine, a routine type, a label, an identifier, and “Route Steps” objects 60.
[0205] The object "Route steps" 60 represents the respective steps of a routine, and includes, for each step, a step type, a step label, a step identifier, a step name, and the products associated with the step.
[0206] Optionally, routine steps can be defined according to a two-level hierarchy, in particular according to the time of the routine, for example day or night, and the type of step, for example a cleaning, processing, or preparation step.
[0207] The "Products" object 62 represents the recommended products for each step of a routine and includes, for each product, the label, the contribution of the attributes correspondingly, the recommendation rate (or “matching score”), the phase of the life cycle, “Product Information” objects, “Matching Attributes” objects 64 and the product rank.
[0208] By "contribution of corresponding attributes" we mean here, for a given product, the proportions (or contributions) of the different corresponding attributes in the calculation of the product's similarity rate.
[0209] The "Product Information" object includes the product information for a given product.
[0210] The object "Matching Attributes" 64 represents the attributes taken into account, both for product information and user information.
[0211] Figures 3a and 3b illustrate a flow diagram of the mapping from a source scheme to a target scheme according to the invention.
[0212] For clarity, Figure 3 is described with reference to the system 15 illustrated in [Fig. 1], but is applicable to other systems, in accordance with the principles of the invention. Furthermore, the data displays and data retrieval described below can be performed using a graphical user interface (GUI) and / or other suitable user interfaces, or even using APL-type machine interfaces.
[0213] Professional user 42 can view and correct the mapping results immediately once they have been carried out.
[0214] The professional user 42 can, at any time during the mapping, choose to save the current mapping to the server 14 and / or interrupt the mapping process, in which case the mapping process will continue at step 106. If the professional user 42 chooses to save the mapping, it is saved for future use. For example, the same mapping can be applied to other instances of the same source schema.
[0215] In step 70, the professional user selects an instance of a source product catalog. The source product catalog 32 may be a digital version of a product catalog containing a plurality of cosmetic products. The product catalog may originate from an external source. Alternatively, the product catalog may originate from an internal source, in particular from server 14 and / or database 18, the product catalog 32 containing non-standardized and unstructured information or information structured according to a source schema.
[0216] In this example, the product catalogue 32 contains non-standardized data structured according to a source schema.
[0217] At step 72, the professional user 42 selects a predefined target structure of routine 140. This target structure represents the desired structure of routine 140 to be generated for the end user 44.
[0218] Optionally, professional user 42 can then modify the target structure of routine 140 in step 74.
[0219] At step 76, the professional user 42 can thus select types of steps 142 of the routine 140. A step type 142 of routine 140 can include several different steps 142 of routine 140. The step type 142 of routine 140 can be an indication of an optimal time to carry out the routine 140, for example in the morning or evening, or an indication of the nature of the steps 142 of routine 140 associated with said step type, including associated product types.
[0220] At step 78, the professional user 42 can select the routine steps 142 140 associated with the respective step types.
[0221] During step 80, the number of products associated with each routine step 142 to be transmitted to the user 44 is made available by the system 15.
[0222] During step 82, the system 15 checks whether the target structure is complete, with routine steps 142 and the number of products associated with each step 142. If the target structure is not complete, an alert is triggered during step 84.
[0223] During step 86, the professional user 44 selects the type of mapping to be implemented, from a standard mapping 87 and a custom mapping 101.
[0224] In a first embodiment, the professional user 42 can select the standard mapping 87.
[0225] At step 88, the professional user 44 can select the product category from the product catalogue 32.
[0226] At step 90, the system 15 makes available an enrichment model based on the selected product category 32.
[0227] Then, in step 92, the professional user 42 selects the attributes from the attribute repository 16 according to which to interpret the data from the product catalogue 32 for data enrichment. The selected attributes will be used as criteria for choosing products in the routines, and will therefore be used to enrich the product information in the database.
[0228] System 15 makes available at step 94 a list of the fields available in the product catalogue 32.
[0229] In step 96, professional user 42 selects fields to enrich in the product catalogue from the list of available fields that were made available by the system in the previous step 94. By default, the fields are automatically selected on the basis of the product category, but they can optionally be modified by professional user 42.
[0230] System 15 makes available at step 98 the attributes to be enriched, the attributes being chosen from the attributes of the attribute repository 16.
[0231] The enrichment of the selected attributes, for each product in the product catalogue, is triggered at step 100.
[0232] Enrichment 100 is described in [Fig.4].
[0233] In a second embodiment, the professional user 42 can select the custom mapping 101 at step 86.
[0234] At step 102, system 15 makes available a list of fields available in product catalogue 32.
[0235] In step 104, the professional user 42 selects the fields in the product catalog 32 containing the data to be considered for generating the structure of routine 140. The field selection is made from the list of available fields provided by the system in the previous step. During this step, the weights used for weighting the product and user vectors can be determined by the professional user 42.
[0236] At step 106, regardless of the mapping and enrichment choices made, the system makes available a list of unmapped fields, if applicable, and records the mapping and enrichment choices made.
[0237] In step 108, the system then triggers the vectorization of the product catalog based on the enriched and / or selected attributes. The database is then enriched using data from product catalog 32, which is standardized, vectorized, and structured according to the target schema.
[0238] Finally, the professional user 42 activates routine generation at step 11, and a cosmetic treatment routine generation API 140 is available for the end user 44.
[0239] The [Fig.3c] is a flow diagram illustrating the enrichment step 100.
[0240] Enrichment 100 includes a preliminary step of importing the product catalogue 112.
[0241] As illustrated, the enrichment includes the implementation of data processing means for the standardization 114 of the data.
[0242] The standardized data are processed by the parallelized implementation 116 of a Machine Learning algorithm 118, a large deep neural network language model “LLM” 120 and a classification algorithm based on predefined rules 122.
[0243] The predefined rule-based classification algorithm 122 allows labels to be assigned on the basis of predefined rules.
[0244] The Machine Learning 118 algorithm allows for additional enrichment.
[0245] The Machine Learning algorithm 118 can be SVC (from the English "Support Vector Classifier"), in particular an SVC with a sigmoid kernel, or a linear SVC, or even an SVC with an RBF kernel (from the English "Radial Basis Function").
[0246] Alternatively, the Machine Learning algorithm 118 can be a multi-class classifier, or a multi-label classifier, in particular a random forest.
[0247] The large language model “LLM” 120 with deep neural network allows for relatively advanced enrichment, and includes for example the use of a GPT3, BERT, T5, RoBERTa, GPT4, Gemini, Claude Sonnet, or Mistral model.
[0248] Each product is then enriched with the enriched attributes used as input data by the matching module 24.
[0249] The mapping and enrichment 100 according to the invention provides a simplified method enabling professional users to easily create, refine, and manage mappings between heterogeneous product data schemas, and to enrich them. Data interoperability is improved, and the experience of professional users 42 and end users 44 is simplified.
[0250] A method for generating a routine 140 will now be described in light of [Fig.4],
[0251] In this example, the acquisition of user information is carried out via device 1 of [Fig.la].
[0252] Device 1 includes an application capable of implementing the method according to the invention. The application may be a mobile application, a web application, or a software platform.
[0253] At step 130, user information is acquired by device 1 by means of a questionnaire 150 submitted to the end user 44 and / or one or more photographs 152 of a part of the body of the end user 44, in particular a photograph 152 of the face of the end user 44.
[0254] The application sends a request to the server 14 with the standardized user information 160, the user information then comprising a list of attributes from the attribute repository 16 and the values of said attributes. The attributes include at least, for example for a skin product, the end user's skin type 44, the end user's age 44 and the end user's specific preferences for ingredients and texture of the product 44. For a hair product, the attributes include, for example, at least the end user's hair and scalp type 44. As another example, for a fragrance, the attributes include, for example, the end user's olfactory preferences 44 and the desired emotions felt by the end user 44. In step 132, the user information in the form of a list of attributes comprising the values of said attributes is vectorized into the reference space 135. Vectorization allows for efficient comparison with product vectors from the database.
[0255] At step 134, the vectorized user information is matched with database 18 containing the produced vectors.
[0256] The matching of the user vector and the product vectors is performed by the matching module. The latter is configured to compare the product vectors with the user vector in the reference space 135 in order to pre-select the product vectors exhibiting the greatest similarity to the product vector.
[0257] In step 136, at least one routine 140 is generated from a predefined routine structure in the system 14, based on the list of preselected products. The routine structure comprises predefined routine steps 142, each preselected cosmetic product having the data for a routine step 142 to which it is associated. The routine steps 142 define an order for applying the cosmetic products.
[0258] A filtering of the pre-selected products is carried out during step 138. The compatibility of the pre-selected products can be evaluated from a compatibility data graph.
[0259] The compatibility data graph may have vertices representing products from the database, an ingredients list, and attributes from the attribute repository. The compatibility data graph may have vertices defining the compatibility between products and / or ingredients and / or attributes, each edge being associated with a compatibility rate between a number a and a number b, where a and b are two real numbers with a <b.
[0260] In this example, an algorithm is used to traverse the graph by following the edges representing the compatibility between the different vertices of the graph.
[0261] The filtering step 138, which includes the implementation of a compatibility data graph, allows only products determined to be compatible with other products and / or user information to be filtered for each step 142 of routine 140.
[0262] The process includes a step 141 in which the pre-selected and filtered products are sorted according to predefined parameters, the parameters being extracted from the user information and / or product information of said products.
[0263] In this example, the products are sorted within each routine step 142 according to parameters that are independent of user information. The parameters may include metrics representing the priority level of the products for a distributor, the price of the products, customer ratings and comments relating to the products, and product availability. Such sorting ensures that the Selected products meet other requirements than the entry criteria defined by user information 44.
[0264] The generated routine 140, comprising the pre-selected cosmetic products, filtered and sorted within routine steps 142, is transmitted to the application from the server 14.
[0265] Figures 5 to 16 illustrate the steps of the process according to the invention.
[0266] As illustrated in [Fig. 5a], user information may include unstructured data from various methods of acquiring user information. User information may include responses to a questionnaire 50 submitted to the user, a photograph 52 of at least one part of the user's body, a measurement 54 taken by a device, a target product 56 of the user, and pre-recorded data relating to the user's profile 58. The user's target product may be a product sought or desired by the user.
[0267] User information is structured and standardized 160 according to the attributes of the attribute repository.
[0268] Fig. 5b is a schematic representation of the vectorization of structured and standardized user information 160, comprising a list of attributes from the attribute repository 16 and the values of said attributes, into a user vector.
[0269] Fig. 6a illustrates the enrichment of database 16 from unstructured data from unstructured and non-standardized product catalogues 32.
[0270] Enrichment 100 involves importing one or more product catalogues 32 containing unstructured data from multiple sources.
[0271] In this example, the enrichment mode includes the choice of a Machine Learning algorithm 118 and an LLM model 120 implemented by taking as parameters the attributes to be enriched, and the attributes of the attribute repository 16.
[0272] In this example, the LLM 120 model may include the successive implementation of a dynamic prompt construction method, an inference and completion method with several LLMs, and a majority voting method.
[0273] The dynamic prompt construction method allows a dynamic prompt to be built based on the desired mapping, attribute definitions, and examples provided by the professional user 42 or predefined examples in the initial enrichment configuration where appropriate.
[0274] During the inference and completion implementation step with multiple LLMs, the dynamically constructed prompts are then sent to different LLMs, the prompts optionally having a different structure depending on the LLMs in order to maximize the performance of the results obtained.
[0275] Finally, the majority voting method is carried out in order to consolidate the results of the different LLMs and to limit the risks of hallucinations of said LLMs.
[0276] The results of the implemented algorithms are then compiled in order to enrich the database with structured and standardized data.
[0277] The [Fig.6b] is a schematic representation of the vectorization of structured and standardized product information 174 comprising for each product a list of attributes from the attribute repository and the values of said attributes and optionally a textual description, images of the product and / or of a visual universe associated with the product, in a user vector 238.
[0278] Reference space 135 is illustrated in [Fig.7].
[0279] Eleven product vectors 237 representing respective products are represented by points in the reference space 135. In this example, a similarity ratio 165 is determined for each product vector 237, the similarity ratio 165 being based on the Euclidean distance. Alternatively, the similarity ratio 165 is based on the cosine similarity. Alternatively, a Euclidean distance between each product vector 237 and the user vector 238 can be calculated.
[0280] The user vector 238 is represented by a dotted hexagon.
[0281] The [Fig.8] is a representation of the pre-selected products.
[0282] The pre-selected products include the products whose product vectors 237 are determined to be closest to the user vector 238.
[0283] The pre-selected products are grouped according to their associated routine step 142. In this example, routine 140 comprises four steps 142.
[0284] Cosmetic products can be ranked within each step 142 according to their similarity rate 165 with the user vector 238, each product being associated with a rank representing its similarity rate 165. The higher the similarity rate 165, the more compatible the product is with the user information. Conversely, in the case of determining a Euclidean distance, the smaller the distance, the more compatible the product is with the user information. Thus, in this example, for each routine step 142, the product at rank 1 is the product exhibiting the greatest similarity with the user information relative to the other products in the respective step 142.
[0285] The [Fig.9] is a schematic representation of the filtering of 138 of the pre-selected cosmetic products.
[0286] In the figure, a table 146 listing the compatibility rates 148 between a set of value ranges of attributes and ingredients of the pre-selected products.
[0287] The 148 compatibility rates can be extracted from the compatibility data graph.
[0288] The compatibility rates 148 are normalized to be between 0 and 1.
[0289] Figure 10 illustrates a table 150 of compatibility between the different pre-selected products. Table 150 can be constructed from the compatibility data shown in Figure 9.
[0290] For each pre-selected product, it is possible to quantify its compatibility with other products on the basis of the compatibility rates 148 illustrated in [Fig.9] by identifying the ranges of values of attributes and ingredients relating to said product, and by analyzing the compatibility rates 148 with the ranges of values of attributes and ingredients of other products.
[0291] The inter-product compatibility 152 between a first product and a second product can be calculated using a product, in particular a geometric mean of the compatibility rates 148 between the ranges of values of attributes and ingredients of the first product on the one hand, and the ranges of values of attributes and ingredients of the second product on the other. A product or a geometric mean makes it possible to exclude a product when two attributes are incompatible, and therefore have a compatibility rate 148 of zero between them.
[0292] As shown in Figures 11 to 12, the pre-selected products are filtered according to the identified incompatibilities. In particular, product A is excluded from routine 140 because it has the most incompatibilities with the other products in routine 140.
[0293] The rank of a product of a routine step 140 may be decreased if it has incompatibilities with other products of routine 140. In this example, the rank of products C and D is decreased because they have a negative interaction.
[0294] Fig. 13 illustrates a table summarizing the average inter-product similarity rates 165 and inter-product compatibilities 166 of the different routine products.
[0295] The average inter-product compatibility 166 of a product can be calculated via a product, in particular a geometric mean of the respective inter-product compatibilities 152 of said product with the other pre-selected products. Optionally, the average inter-product compatibility 166 of a product can be determined to be zero if at least one inter-product compatibility 152 of said product with another product is zero.
[0296] Table 170 of [Fig. 14] illustrates the step of determining scores for the routine products.
[0297] The score 184 of a product is a weighted average of magnitudes representative of the end user's affinity 44 to the product's brand 172, the priority of the product for the distributor 174, the date of marketing of the product 176, the number of sales of the product 178, and the satisfaction of people who have used the product 180, including an average of the ratings of people who have purchased the product.
[0298] The weighting of the different parameters may be different, and updated by a professional user 42 of the system.
[0299] The scores 184 determined for each product of routine 140 are illustrated in Table 182 of [Fig. 15].
[0300] Preferably, the score 184 of a product takes as parameters the similarity rate 165 and / or the average inter-product compatibility 164. In particular, the score may be a weighted average of the similarity rate 165 and / or the average inter-product compatibility 164.
[0301] Since product A was excluded from routine 140 during filtering step 138, its associated score is equal to 0.
[0302] Products K, P, V, and C have relatively high scores of 184. Conversely, product F has a relatively low score of 184.
[0303] The final routine 140 is illustrated in [Fig. 16].
[0304] The products of each step 142 of routine 140 are sorted according to their score 184. In particular, products V and K are ranked first in their respective step 142 of routine 140.
[0305] The process may include an additional filtering step, comprising, for at least one routine step 142, or better yet, each routine step, the exclusion of products whose score 184 is below a predefined score threshold. Alternatively, the additional filtering step may comprise the selection of the M products with the highest score 184, and the exclusion of the others. In the event that routine step 142 includes fewer than M products, the routine step may be omitted, the products associated with said routine step being excluded, or optionally reassigned to another compatible routine step.
[0306] The products thus pre-selected, filtered and sorted according to their score 184 are transmitted to the end user 44. In this example, the routine comprises four steps 142, including a first step 142 of facial makeup removal, a second 142 step of skin cleansing using a cleansing product, a third step 142 of serum application and a fourth step 142 of moisturizing cream application, can be submitted to the end user 44.
[0307] The end user 44 can successively apply a makeup remover product C from the first step 142, a cleansing product N from the second step 142, a serum K from the third step 142 and a moisturizing cream V from the fourth step 142. Alternatively, the end user 44 can apply products C and F within the same step for a routine generated with three steps.
[0308] The list of attributes in the attribute repository is not exhaustive and is not limited to what has been mentioned above. Similarly, the list of product information is not exhaustive and is not limited to what has been mentioned above. In particular, The different categories of treatment and galenic forms taken into account in the context of the invention are not limited to those mentioned.
[0309] The list of acquired user information is not exhaustive and is not limited to what has been mentioned above. For example, it may include one or more characteristics of the user's skin appendages. Here, "skin appendages" refers to the user's nails, hair, and skin. As another example, user information may include one or more of the user's olfactory preferences, and / or one or more preferences for the visual rendering of the user's facial makeup, nail polish, hair texture and / or color, and / or one or more emotions described or sought by the user. Generally speaking, the acquired user information, particularly from a user information database, may include a large majority, or even all, of the attributes in the attribute repository.
[0310] The acquisition of user information is not limited to what has been mentioned above. Any means of acquiring user information implemented by a person, or even automated by a machine, may be suitable for at least partial acquisition of user information.
Claims
1. Demands A computer-implemented method for generating a cosmetic treatment routine (140) from a database (18) of cosmetic products, the database (18) containing product information relating to cosmetic products, the cosmetic routine comprising several successive steps (142), each step comprising the application of at least one product, the product information being at least partly vectorized in a reference space (135), each cosmetic product in the database (18) being represented by a product vector (237) in this space (132), each product vector (237) comprising components chosen from ranges of attribute values of an attribute repository (16), the attribute repository comprising at least some, if not at least half, or preferably all, of the following attributes: a treatment category targeted by the product, the dosage form, a duration of use of the product, a product formula,a list of the product's ingredients, information regarding compatibility with at least one other product in the database, a target user gender and age range, at least one piece of information regarding the size or capacity of a product container, an external factor influencing the product's effect, an internal factor related to the user's lifestyle and influencing the product's effect, a skin or physiological disorder influencing the product's effect, one or more characteristics of the user's skin impacted by the product, one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components, being chosen from the attribute value ranges of the attribute repository,the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, the galenic form being chosen from a lotion, a cream, an oil, a loose or pressed powder, a varnish, a gel, an emulsion, a solid shampoo, a gel, a spray, a mist, a balm, a lotion, a makeup pencil, a mask, the user's facial features including one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more features relating to the shape of the user's face, - each cosmetic product in the database (18) being associated with at least one step (142) of at least one routine (140), the process comprising: - the acquisition (130) of user information from a user (44), user information including at least one, preferably at least half, or even all of the following information: the user's sex, the user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face, and / or one or more ingredients to be excluded, and / or one or more ingredients to be preferred, and / or the desired dosage form, and / or one or more usual cosmetic treatments of the user, - vectorization (132), by means of data processing, of user information in the reference space (135), vectorization comprising the transformation of user information into a user vector (238), - the pre-selection (134) of cosmetic products from the database whose product vectors are located at a distance from the user vector (238) less than a predetermined distance threshold, or whose similarity rate (165) between the product vector (237) and user vector is greater than a predetermined similarity threshold, - the filtering (138) of the cosmetic products thus pre-selected by applying at least one filtering criterion aimed in particular at excluding one or more possible cosmetic products, determined as incompatible with the user information, or at excluding one or more cosmetic products when several products are determined to be incompatible with each other, - the identification, from the product information of the products thus pre-selected and filtered, for each step (142) of said routine (140), of at least one product suitable for that step (142).
2. A method according to the preceding claim, comprising acquiring (130) at least some user information by means of an interface (6) and / or a measuring device (4) of at least one characteristic of the user's skin or hair (44), or acquiring an image (2) of the user (44).
3. A method according to any one of the preceding claims, the acquired user information comprising at least one response to a questionnaire (150)
4. A method according to any one of the preceding claims, the acquired user information comprising at least one image (152) of a region of interest to the user, the image having been processed by a computer vision algorithm.
5. A method according to any one of the preceding claims, wherein the product vectors and / or the user vector are weighted prior to the preselection step, at least some of the components of the product vectors and / or the user vector are multiplied by weights with real values not equal to 1.
6. A method according to any one of the preceding claims, filtering (138) comprising the exclusion of cosmetic products determined to be incompatible with a characteristic of the user's skin, and / or hair (44) and / or an ingredient preference of the user (44).
7. A method according to any one of the preceding claims, filtering (138) comprising comparing at least two cosmetic products associated with different steps (142) of the same routine, and excluding at least one of the two cosmetic products if their ingredient lists are determined to be mutually incompatible.
8. A method according to any one of the preceding claims, the filtering (138) comprising the use of a compatibility data graph, the compatibility data graph comprising vertices representing the products in the database, a list of ingredients, and ranges of attribute values from the attribute repository, and edges defining a compatibility rate (148) between two vertices of said graph.
9. A method according to any one of the preceding claims, comprising selecting the number of steps (142) of the routine (140) prior to said pre-selection of cosmetic products.
10. A method according to any one of the preceding claims, comprising a database enrichment step (100), the enrichment (100) comprising increasing the number of non-zero components of the produced vectors (237).
11. A method according to the preceding claim, comprising a database enrichment step (100) of the database (18), the enrichment (100) comprising the recording of external product data from external sources in the database, said external data being acquired by API request or a web scraping method, the external data being standardized and recorded in the database, the standardization of said data comprising the vectorization of said data.
12. A method according to the preceding claim, wherein the enrichment step (100) comprises, in order to vectorize the external data in the reference space (135), on the one hand the implementation, in particular parallelized, of a Machine Learning algorithm (118), and / or of a large language model “LLM” (120) with deep neural network, of a classification algorithm based on predefined rules (122), and on the other hand the implementation of a method based on the inverse document term-frequency “TF-IDF”.
13. A method according to any one of the preceding claims, wherein the reference space (135) is a vector space of dimension N, N being an integer between 100 and 500.
14. A method according to any one of the preceding claims, comprising determining a score (184) for products suitable for a step (142) of said routine (140), the score of a product being calculated from its product information and user information, the cosmetic products of the step (142) being sorted according to their score (184), the method comprising transmitting to the user information identifying M products with the highest score (184) suitable for said routine step (142), M being an integer greater than 1 and less than the number of said products.
15. A method according to the preceding claim, the score (184) of the cosmetic product being calculated as a function of several parameters, the parameters being chosen from among a quantity representing the date of marketing of the product (176), a quantity representing the number of copies of the product sold (178), a quantity representing the satisfaction of the people who used the cosmetic product (180), a quantity representing the user's affinity for the brand of the cosmetic product (172), and a quantity representing a hierarchy to be respected in the distribution of the products (174), the score of the product being a weighted average of the parameters chosen.
16. A method according to any one of the preceding claims, comprising an update of the distance threshold or the similarity threshold if the number of cosmetic products associated with a routine step (142) after preselection is less than a minimum number of products threshold, the update increasing the distance threshold or decreasing the similarity threshold, a new preselection (134) of cosmetic products whose product vectors (237) are located at a distance from the user vector (238) less than the updated distance threshold or whose similarity rate is greater than the updated similarity threshold being carried out.
17. A method according to any one of claims 1 to 15, comprising a step for reducing the number of steps in the routine if the number of pre-selected and filtered products associated with the same routine step is less than a minimum selection threshold, said routine step being removed from the routine and the products associated with said step being excluded.
18. A cosmetic treatment method, comprising the application of at least one cosmetic product of a cosmetic treatment routine (140), the routine (140) being generated according to the method of one of the preceding claims.
19. A method according to claim 16, comprising the successive application of at least one cosmetic product associated with each step (142) of the routine (140).
20. Product computer program, in particular for implementing the method according to any one of claims 1 to 16, comprising code instructions which, when the program is executed by a computer, cause the computer to: - extract, from a database (18), vectorized product information relating to cosmetic products, the product information being at least partly vectorized in a reference space (135), each cosmetic product of the product information being represented by a product vector (237) in this space (135), each product vector (237) comprising components chosen from ranges of attribute values of an attribute repository, the attribute repository (16) comprising at least some of the following attributes: a treatment category targeted by the product, the dosage form, a duration of use of the product, a formula of the product, a list of ingredients of the product, information relating to compatibility with at least one other product in the database, a gender and age range of the targeted user, at least one piece of information relating to the size or capacity of a product container,an external factor influencing the effect of the product, an internal factor related to the user's lifestyle and influencing the effect produced, a skin or physiological disorder influencing the effect of the product, one or more characteristics of the user's skin impacted by the product, one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components, being chosen from the attribute value ranges of the attribute repository, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sunscreen, application of self-tanner and application of perfume,the galenic form being chosen from a lotion, a cream, an oil, a loose or pressed powder, a varnish, a gel, an emulsion, a solid shampoo, a gel, a spray, a mist, a balm, a milk, a makeup pencil, a mask, the characteristic(s) of the user's face including one or more characteristics of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more characteristics relating to the shape of the user's face,
21. each cosmetic product in the database (18) being associated with at least one step (142) of at least one routine (140), - extract, from information stored in memory, user information about a user (44), user information including at least one of the following: the user's sex, the user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face and / or one or more ingredients to be excluded, and / or one or more ingredients to be preferred, and / or the desired dosage form and type of cosmetic treatment routine (140), and / or one or more of the user's usual cosmetic treatments, - vectorize (132), by means of data processing, user information in the reference space (135), the vectorization comprising the transformation of user information into a user vector (238), - generate (134) a pre-selection of cosmetic products from the database whose product vectors are located at a distance from the user vector (238) less than a predetermined distance threshold, or whose similarity rate (165) between the product vector (237) and user vector is greater than a predetermined similarity threshold, - filter (138) the pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more possible cosmetic products, determined to be incompatible with user information, or at excluding one or more cosmetic products when several products are determined to be incompatible with each other, - identify from the product information of the products thus pre-selected and filtered, for each step (142) of said routine (140), at least one product suitable for that step (142). System, in particular for implementing the method to generate a routine (140) according to any one of claims 1 to 16, comprising: - a database (18) comprising product information relating to cosmetic products, - a reference space (135), the product information being at least partly vectorized in the reference space (135), each product vector (237) comprising components chosen from ranges of attribute values of an attribute repository (16), the attribute repository comprising at least some, or at least half, or better yet all, of the following attributes: a treatment category targeted by the product, the dosage form, a duration of use of the product, a product formula, a list of ingredients of the product, information relating to compatibility with at least one other product in the database, a gender and age range of the targeted user, at least one piece of information relating to the size or capacity of a product container, an external factor influencing the effect of the product, an internal factor related to the user's lifestyle and influencing the product effect, a skin or physiological disorder influencing the effect of the product,one or more characteristics of the user's skin impacted by the product, one or more characteristics of the user's hair impacted by the product, one or more characteristics of the user's scalp impacted by the product, one or more characteristics of the user's face impacted by the product, and preferably at least half of the components, or even all of the components, being chosen from the attribute value ranges of the attribute repository, the treatment category being chosen from skin or hair care, including hair, hair coloring, makeup, application of sun protection, application of self-tanner and application of perfume, the dosage form being chosen from lotion, cream, oil, loose or pressed powder, nail polish, gel, emulsion, solid shampoo, gel, spray, mist, balm, milk, makeup pencil,a mask, the user's facial features including one or more features of the eyes, and / or eyelids, and / or eyebrows, and / or nose, and / or mouth, and / or chin, and / or cheeks of the user, or one or more features relating to the shape of the user's face, each cosmetic product in the database (18) being associated with at least one step (142) of at least one routine (140), - a device (1) comprising a screen for displaying a selection of cosmetic products, an interface (6) configured to acquire user information, and / or a measuring device (4) for at least one characteristic of the user's appearance, in particular of the skin or hair (44), the user information comprising at least one of the following: the user's sex, the user's age, one or more characteristics of the user's skin, one or more characteristics of the user's hair, one or more characteristics of the user's scalp, one or more characteristics of the user's face, and / or one or more ingredients to be excluded, and / or one or more ingredients to be preferred, and / or the desired dosage form, and / or one or more usual cosmetic treatments of the user, - an enrichment module (20) for the database (18), comprising data processing means, the data processing means enabling the enrichment of the cosmetic product database (18), the increase in the number of non-zero components of the product vectors (237), or the recording of external product data from external sources in the database, said external data being acquired by API request or a web scraping method, the external data being standardized and recorded in the database, the standardization of said data comprising the vectorization of said data, - a routine construction module (26) configured to pre-select cosmetic products from the database whose product vectors are located at a distance from the user vector less than a predetermined distance threshold, or whose similarity rate (165) between the product vector (237) and user vector is greater than a predetermined similarity threshold, filter the pre-selected cosmetic products by applying at least one filtering criterion aimed in particular at excluding one or more possible cosmetic products, determined to be incompatible with the user information, or at excluding one or more cosmetic products when several products are determined to be incompatible with each other, the cosmetic products of the routine being grouped according to several successive routine steps (142) defining an order of application of cosmetic products, each routine step (142) defining the application of at least one cosmetic product. - a sorting module (28) configured to assign a score (184) to the cosmetic products in the selection of cosmetic products, and to sort the cosmetic products according to their score (184) within each routine step. - a server (14) configured to store the aforementioned modules.