FR2942057A1 - Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient - Google Patents

Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient Download PDF

Info

Publication number
FR2942057A1
FR2942057A1 FR0900582A FR0900582A FR2942057A1 FR 2942057 A1 FR2942057 A1 FR 2942057A1 FR 0900582 A FR0900582 A FR 0900582A FR 0900582 A FR0900582 A FR 0900582A FR 2942057 A1 FR2942057 A1 FR 2942057A1
Authority
FR
France
Prior art keywords
objects
user
criteria
validation
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0900582A
Other languages
French (fr)
Inventor
Vinh Ly
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR0900582A priority Critical patent/FR2942057A1/en
Publication of FR2942057A1 publication Critical patent/FR2942057A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The method involves proposing a list of objects, and selecting a sub-list of objects and criteria by a user. A modified request is generated along the selection of the sub-list of objects and criteria. The proposal of the list of objects, selection of the sub-list and generation of the modified request are iterated till attaining a threshold value or a satisfaction signal of the user. Objects validation coefficients and criteria validation coefficients selected by the user are modified at each processing step by multiplying the coefficients by a temporary coefficient. Independent claims are also included for the following: (1) a method for iteratively searching products of a catalog (2) a computer program product comprising program code instructions for execution of an iterative data list proposing method.

Description

Procédé de recherche itérative de données   Iterative data search method

La présente invention appartient au domaine de la recherche d'informations dans une base de données. Elle concerne plus précisément l'identification d'un ensemble d'objets correspondant le mieux à des critères de qualification, dans une base comprenant un grand nombre d'objets. The present invention belongs to the field of searching information in a database. It relates more specifically to the identification of a set of objects that best corresponds to qualification criteria, in a base comprising a large number of objects.

La recherche de données est un domaine très actif de la recherche mathématique et algorithmique. Elle touche en effet à l'extraction de données pertinentes parmi des ensembles de plus en plus grands de données (dizaines de milliards de pages Internet, molécules, plantes, enregistrements sonores, documents photos ou vidéo etc.). Data research is a very active area of mathematical and algorithmic research. It affects the extraction of relevant data from increasingly large sets of data (tens of billions of Internet pages, molecules, plants, sound recordings, photo or video documents, etc.).

L'objectif de cette invention est de proposer une méthode d'extraction d'un ensemble d'objets dans un catalogue d'objets, présentés sous la forme de pages Internet, chacun de ces objets présentant à la fois des caractéristiques quantifiables (prix, poids, dimensions) et des caractéristiques perçues (beauté, style, couleur, texture...). The aim of this invention is to propose a method for extracting a set of objects from a catalog of objects, presented in the form of Internet pages, each of these objects presenting at the same time quantifiable characteristics (price, weight, dimensions) and perceived characteristics (beauty, style, color, texture ...).

Un second objectif de l'invention est d'être suffisamment rapide pour être compatible avec une utilisation en temps réel. Selon un troisième objectif, l'invention s'adapte, par apprentissage, à un utilisateur. A cet effet, l'invention concerne un procédé de proposition itérative de listes de données, extraites d'une base de données d'objets O; décrits par des termes quantitatifs et des descripteurs non quantitatifs tels que photos, textes etc. en réponse à une requête de recherche Ho formulée sous forme de critères C; par un utilisateur, ledit procédé comprenant des étapes de : - réception de la requête Ho de l'utilisateur et formatage de cette requête, puis lors du traitement de cette requête Ho: - proposition à l'utilisateur d'une première liste d'objets décrit par un texte et au moins un descripteur non quantitatif, - sélection par l'utilisateur d'une sous-liste Sä d'objets et de critères considérés par lui comme étant pertinents, et pondération de ces objets et critères par des coefficients ai de validation d'objets Oi et des coefficients bj de validation de critères Cj, - génération d'une requête modifiée H, selon la sélection S, , - itération de ces étapes de traitement de la requête Hn, jusqu'à atteindre une valeur seuil ou un signal de satisfaction de l'utilisateur, comprenant également une étape de : - modification des coefficients ai de validation d'objets Oi et des coefficients bj de validation de critères Cj, sélectionnés par l'utilisateur à chaque étape itérative, en multipliant ces coefficients de validation par un coefficient temporel f3 (dit facteur d'oubli). Ceci atténue progressivement les coefficients anciens, au profit des coefficients récents, et on créé bien ainsi un phénomène d'oubli progressif des objets choisis en début de procédé itératif. A second object of the invention is to be fast enough to be compatible with real-time use. According to a third objective, the invention adapts, by learning, to a user. For this purpose, the invention relates to a method for iteratively proposing lists of data, extracted from an object database O; described by quantitative terms and non-quantitative descriptors such as photos, texts etc. in response to a search query Ho formulated as criteria C; by a user, said method comprising steps of: - reception of the request Ho of the user and formatting of this request, then during the processing of this request Ho: - proposal to the user of a first list of objects described by a text and at least one non-quantitative descriptor, - selection by the user of a sub-list Sä of objects and criteria considered by him as being relevant, and weighting of these objects and criteria by coefficients ai of validation of objects Oi and coefficients bj of criteria validation Cj, - generation of a modified request H, according to the selection S, - iteration of these processing steps of the request Hn, until reaching a threshold value or a user satisfaction signal, also comprising a step of: modifying the coefficients α of validation of objects Oi and coefficients bj of validation of criteria Cj, selected by the user at each step iterative, by multiplying these validation coefficients by a temporal coefficient f3 (called forgetting factor). This progressively attenuates the old coefficients, in favor of the recent coefficients, and one thus creates a progressive forgetting phenomenon of the objects chosen at the beginning of the iterative process.

Cette approche d'un procédé de recherche itérative incluant une facteur d'oubli des objets sélectionnés en début de recherche, au profit des objets sélectionnés le plus récemment va à l'inverse de la tendance générale dans le domaine des recherches sur un catalogue d'objets. En effet, en général, les procédés existants tendent au contraire à rechercher des moyens de renforcer au fur et à mesure les premiers choix de l'utilisateur, de manière à aboutir à une convergence rapide du procédé. Une telle approche, conforme à l'art antérieur, est correcte si le choix exprimé par l'utilisateur est formulé correctement en début de recherche. Or il se trouve qu'il est connu qu'il existe une différence considérable entre ce qu'une personne voudrait souhaiter (requête formulée en mots en début de recherche), et ce qu'elle souhaite en réalité (ce qu'elle aimerait qu'on lui propose). L'approche utilisée dans le présent procédé, s'éloignant d'une recherche rapidement convergente mais qui ne correspond pas forcément au besoin réel de l'utilisateur, s'apparente, jusqu'à un certain point, à une navigation dans l'espace des objets, avec des sélections successives permettant un déplacement dans cet espace, jusqu'à ce que l'utilisateur trouve des objets correspondant à ses souhaits réels, éventuellement mal exprimés en début de recherche, mais progressivement approchés par sélection successive et oubli des premiers choix. Préférentiellement, le procédé comprend également des étapes de : - calcul des barycentres pondérés BS des objets et critères sélectionnés par l'utilisateur, - détermination des objets et critères les plus proches de ces barycentres Bs, et classement par ordre de distance à ces barycentres pondérés Bs. Avantageusement, le procédé comprend également une étape de proposition des produits encore non optimaux ou non évalués, soit par corrélation sémantique, soit en augmentant artificiellement la fréquence d'affichage pour recueillir au moins un avis. Dans le mode préféré de mise en oeuvre, le procédé comprend également des étapes préliminaires de : - acquisition des données, - pré-traitement des chaînes de données acquises - normalisation de la matrice des occurrences w;; des termes de recherche pour chaque objet de la base de données, - simplification de la matrice des occurrences w;; par analyse sémantique latente. Selon une mise en oeuvre avantageuse, le coefficient temporel 13 est décroissant d'une étape itérative à la suivante. Alternativement, le coefficient temporel (3 est croissant d'une étape itérative à la suivante. This approach of an iterative search process including a forgetting factor of the objects selected at the beginning of the search, in favor of the most recently selected objects, goes against the general trend in the field of searches on a catalog of objects. Indeed, in general, the existing methods tend on the contrary to seek means to strengthen progressively the first choices of the user, so as to lead to a rapid convergence of the process. Such an approach, in accordance with the prior art, is correct if the choice expressed by the user is formulated correctly at the beginning of the search. But it happens that it is known that there is a considerable difference between what a person would like to wish (query formulated in words at the beginning of the search), and what she actually wants (what she would like it is proposed). The approach used in the present process, moving away from a rapidly convergent search but which does not necessarily correspond to the real need of the user, is, to a certain extent, similar to a navigation in space objects, with successive selections allowing a displacement in this space, until the user finds objects corresponding to his real wishes, possibly poorly expressed at the beginning of the search, but gradually approached by successive selection and forgetting the first choices . Preferably, the method also comprises steps of: - calculation of the weighted centers of gravity BS of the objects and criteria selected by the user, - determination of the objects and criteria closest to these centers of gravity Bs, and classification in order of distance to these weighted centers of gravity Advantageously, the method also comprises a step of proposing products that are still not optimal or not evaluated, either by semantic correlation or by artificially increasing the display frequency to collect at least one notice. In the preferred embodiment, the method also comprises preliminary steps of: - data acquisition, - pre-processing the data strings acquired - normalization of the matrix of occurrences w ;; search terms for each object in the database, - simplification of the occurrence matrix w ;; by latent semantic analysis. According to one advantageous implementation, the temporal coefficient 13 is decreasing from one iterative step to the next. Alternatively, the time coefficient (3 is increasing from one iterative step to the next.

Selon une autre mise en oeuvre, le coefficient temporel (3 augmente pendant les premières étapes itératives du procédé, puis diminue ensuite progressivement. Dans ce cas, le changement de sens de l'évolution du critère temporel (3 est avantageusement déterminé par un critère d'arrêt prédéfini à partir des objets sélectionnés par l'utilisateur. According to another embodiment, the time coefficient (3 increases during the first iterative steps of the process and then decreases gradually, in which case the change of direction of the evolution of the time criterion (3 is advantageously determined by a criterion of predefined stop from the objects selected by the user.

Selon diverses dispositions avantageuses, éventuellement utilisées conjointement, la phase de requête comporte également : une utilisation d'algorithmes génétiques pour proposer dans une nouvelle itération de nouveaux objets. - une accélération de l'apprentissage par optimisation par essaims particulaires. - une accélération de l'apprentissage par réseaux de neurones. - des étapes d'agrégation d'objets ( clustering ) ou de classification croisée. Pour permettre un apprentissage d'un utilisateur à l'autre, le procédé comprend avantageusement des étapes postérieures à la fin de session d'un utilisateur, de génération d'objets et critères modifiés dans la base de données par renforcement selon la sélection Sä . L'invention vise, plus précisément, un procédé de recherche itérative de produits d'un catalogue, décrits par un texte et une photo sous forme de page-objet sur un site de type Internet, comportant un procédé de proposition itérative de listes de données parmi les '4 objets de ce catalogue en réponse à une requête d'un utilisateur, selon l'une quelconque des revendications précédentes, et tel que la base de données et un logiciel mettant en oeuvre le procédé de proposition sont hébergés sur un serveur indépendant de l'utilisateur. According to various advantageous arrangements, possibly used together, the query phase also comprises: a use of genetic algorithms to propose in a new iteration of new objects. - an acceleration of learning by optimization by particle swarms. - an acceleration of learning by neural networks. - Clustering or cross-classification steps. In order to enable user-to-user learning, the method advantageously comprises steps subsequent to the end of a user's session, generation of modified objects and criteria in the database by reinforcement according to selection Sä. The invention aims more precisely at an iterative search method of catalog products, described by a text and a photo in the form of an object-page on an Internet-type site, comprising a method for iteratively proposing lists of data. among the 4 objects of this catalog in response to a request from a user, according to any one of the preceding claims, and such that the database and software implementing the proposal process are hosted on an independent server of the user.

L'invention vise également un produit programme d'ordinateur, comprenant des instructions de code de programme pour l'exécution des étapes d'un procédé tel qu'exposé, lorsque ledit programme est exécuté sur un ordinateur. La description qui va suivre, donnée uniquement à titre d'exemple d'un mode de réalisation de l'invention, est faite en se référant aux figures annexées dans 10 lesquelles la figure 1 est de même un schéma de principe des étapes de la phase préliminaire du procédé, la figure 2 est un schéma de principe listant les différentes étapes du procédé dans les phases de traitement d'une requête, et de recalibrage de la base de 15 données, la figure 3 illustre l'évolution de la base de données lors de consultations par plusieurs utilisateurs successifs, un premier utilisateur 1 terminant sa session de recherche avant un second utilisateur 2, la figure 4 illustre les motivations de déplacement d'un utilisateur entre deux 20 états dans l'espace des objets de la base de données, et les probabilités associées, la figure 5 illustre les coefficients attribués à chaque étape d'un processus de recherche itérative selon l'invention, dans trois types de stratégies différents. Dans la description suivante, on présente d'abord le principe mathématique utilisé par le procédé selon l'invention, puis le procédé tel qu'utilisé en pratique. 25 On définit pour la suite de la description un ensemble de termes et de notations. On considère une base de données de type connu en soi, comprenant n objets O; (i compris entre 1 et n), et m critères C1 (j compris entre 1 et m), un critère étant un champ de la base de données. Chaque objet Or est défini par ses valeurs 30 selon les différents critères C1, notées w; (chaque valeur w1 correspond au poids du critère C1 pour l'objet Or, cette valeur wu étant initialement comprise (pour la première étape itérative du procédé) dans l'intervalle [0,1], avec i compris entre 1 et n, j compris entre 1 et m), et nommées projections des objets O; sur les critères C. On comprend que l'intervalle de valeur est utilisé dans le présent exemple, mais tout autre intervalle 35 pourrait être considéré. Soit Ho une fonction (ou requête) de recherche dans la base de données. The invention also relates to a computer program product, comprising program code instructions for executing the steps of a method as explained, when said program is executed on a computer. The following description, given solely by way of example of an embodiment of the invention, is made with reference to the appended figures in which FIG. 1 is likewise a schematic diagram of the stages of the phase. preliminary process, Figure 2 is a block diagram listing the various steps of the method in the processing phases of a query, and recalibration of the database, Figure 3 illustrates the evolution of the database during consultations by several successive users, a first user 1 ending his search session before a second user 2, FIG. 4 illustrates the motives for moving a user between two states in the space of the objects of the database , and the associated probabilities, FIG. 5 illustrates the coefficients assigned to each step of an iterative search process according to the invention, in three different types of strategies. ts. In the following description, we first present the mathematical principle used by the method according to the invention, then the method as used in practice. For the remainder of the description, a set of terms and notations is defined. We consider a database of known type, including n objects O; (i between 1 and n), and m criteria C1 (j between 1 and m), a criterion being a field of the database. Each object Gold is defined by its values 30 according to the various criteria C1, denoted w; (each value w1 corresponds to the weight of the criterion C1 for the object Gold, this value wu being initially included (for the first iterative step of the method) in the interval [0,1], with i included between 1 and n, j between 1 and m), and named projections of objects O; on criteria C. It is understood that the value range is used in this example, but any other range could be considered. Let Ho be a search function (or query) in the database.

On définit pour chaque objet O; un coefficient ai de validation objet compris entre -1 et 1 (dans le présent exemple donné à titre nullement limitatif), dépendant de l'utilisateur, pour cet objet Oi , qui caractérise une pertinence perçue par l'utilisateur pour cet objet en réponse à la recherche Ho, avec des valeurs respectant la règle suivante : a =0, l'utilisateur n' a pas sélectionné Or n>0, l'utilisateur est intéressé par Or ai=l, l'utilisateur est satisfait par Or ai<0, l'utilisateur rejette Oi De même, on définit pour chaque critère C; un coefficient b; de validation critère compris entre 0 et 1 dans le présent exemple non limitatif, dépendant de l'utilisateur pour ce critère Ci , qui caractérise une pertinence perçue par l'utilisateur pour ce critère vis à vis de la recherche Ho. We define for each object O; a coefficient α of object validation between -1 and 1 (in the present example given by way of no limitation), depending on the user, for this object Oi, which characterizes a perceived relevance by the user for this object in response to search Ho, with values respecting the following rule: a = 0, the user has not selected Or n> 0, the user is interested in Or ai = l, the user is satisfied by Or ai <0 , the user rejects Oi Similarly, we define for each criterion C; a coefficient b; criterion validation criterion between 0 and 1 in the present nonlimiting example, depending on the user for this criterion Ci, which characterizes a perceived relevance by the user for this criterion with respect to the search Ho.

On décrit ici d'abord la création de la base de données. We first describe the creation of the database.

Soit Ho, une fonction (ou requête) de recherche. Cette fonction de recherche est exprimée en mots qui correspondent à des critères, et à un label d'objet. Let Ho be a search function (or query). This search function is expressed in words that correspond to criteria, and to an object label.

H(0) est défini, dans un exemple non limitatif de recherche d'objets par un utilisateur sur un site comprenant un catalogue d'objets sous forme de pages Internet, comme le nombre de pages dudit site, où figure l'objet O;. De même, H(O, + C;) est définit, dans cet exemple, comme le nombre de pages où figure l'objet O; et une certaine valeur du critère C;. (un mot dans le cas de recherche d'objet dans un catalogue d'objets sur un site Internet). On crée la base de données en définissant, pour chaque projection wj de l'objet O; sur le critère C; , la valeur suivante : H(O; +Ci) w;, = .~( ) (Eq. 1) H(O; ) dans lequel f est une fonction monotone croissante préalablement choisie. H (0) is defined in a nonlimiting example of a user's search for objects on a site comprising a catalog of objects in the form of Internet pages, such as the number of pages of said site, where the object O appears; . Similarly, in this example, H (O, + C;) is defined as the number of pages where the object O; and a certain value of the criterion C ;. (a word in the case of object search in a catalog of objects on a website). We create the database by defining, for each projection wj of the object O; on criterion C; , the following value: H (O; + Ci) w; =. ~ () (Eq. 1) H (O;) in which f is an increasing monotonic function previously chosen.

w; représente alors dans cet exemple la corrélation entre l'objet Or et le critère Cr. w; represents in this example the correlation between the object Gold and criterion Cr.

A û Le premier élément mathématique à préciser concerne la proposition des objets. A - The first mathematical element to be specified concerns the proposition of objects.

On suppose qu'un utilisateur recherche un objet répondant à certaines critères dans un ensemble de documents (ou de données) présentés en pages formant un site de type Internet. It is assumed that a user searches for an object meeting certain criteria in a set of documents (or data) presented in pages forming an Internet type site.

En réponse à sa fonction (ou requête) de recherche Ho, formulée de façon connue en soi dans un champ d'interface utilisateur sur un formulaire faisant partie du site ou d'un logiciel de gestion d'accès aux sites Internet, le logiciel mettant en oeuvre le procédé selon l'invention propose une série d'objets, affichés par exemple sous forme de liste comprenant un titre et une courte description de l'objet (du type des listes de résultats de recherche sur des moteurs de recherche Internet de type classique tels que Google). L'utilisateur sélectionne une série d'objets et les qualifie. Puis le logiciel prend en compte cette sélection pour affiner la liste d'objets proposée. Une itération de cette interaction est réalisée (procédé de "relevance feedback", connu en soi, mais modifié ici), jusqu'à une valeur seuil de convergence, ou une déclaration de satisfaction de l'utilisateur. 1) La première étape consiste en un choix du meilleur objet Or selon une sélection d'objets, dans un cas simplifié. L'utilisateur sélectionne plusieurs objets O;, avec des coefficients de validation ai Soit Su le résultat de cette sélection pour cet utilisateur : Su=(a;, S;), i, j E F1..n ]x[1..m] Et, en prenant l'hypothèse que l'utilisateur n'a pas encore choisi de critères et donc que : 6;=0, quel que soit j : L'objet O, le plus cohérent (défini comme correspondant le mieux à la recherche de l'utilisateur, au vu des objets Oi sélectionnés par lui et des coefficients de validation ai accordés à chacun) est alors celui qui possède la plus grande similarité avec le barycentre Bs des objets Oi proposés, pondérés par les coefficients ci de validation objets : t III Bs Il C, (Eq. 2) la, i=I i=i Le procédé utilise pour déterminer cet objet Oi le plus cohérent une méthode connue en soi de similarité cosinus, qui donne un score pour évaluer la pertinence d'un objet O; . La similarité cosinus de deux vecteurs A et B détermine l'angle entre deux vecteurs A et B, elle est définie par l'arccosinus de leur produit scalaire divisé par les deux normes : B(A, B) = arccos( IA IBII) A.B Le meilleur objet Oi est donc dans le cas présent : max = arg max 9(O; , Bs ) iE 1.. n.a; =0 In response to its search function (or query) Ho, formulated in a manner known per se in a user interface field on a form belonging to the site or a software for managing access to the Internet sites, the software setting the method according to the invention proposes a series of objects, displayed for example in the form of a list comprising a title and a short description of the object (of the type of lists of search results on Internet search engines of type classic such as Google). The user selects a series of objects and qualifies them. Then the software takes into account this selection to refine the proposed list of objects. An iteration of this interaction is performed ("feedback" method, known per se, but modified here), up to a convergence threshold value, or a declaration of user satisfaction. 1) The first step consists of choosing the best gold object according to a selection of objects, in a simplified case. The user selects several objects O ;, with validation coefficients ai Let Su be the result of this selection for this user: Su = (a ;, S;), i, j E F1..n] x [1 .. m] And, assuming that the user has not yet chosen criteria and therefore: 6; = 0, whatever j: The object O, the most coherent (defined as best suited to the search for the user, in view of the objects Oi selected by him and the validation coefficients ai granted to each) is then the one which has the greatest similarity with the centroid of the proposed objects Oi Bs, weighted by the coefficients of validation objects: t III Bs Il C, (Eq.2) la, i = I i = i The method used to determine this most coherent Oi object is a known method of cosine similarity, which gives a score to evaluate the relevance of an object O; . The cosine similarity of two vectors A and B determines the angle between two vectors A and B, it is defined by the arccosinus of their scalar product divided by the two norms: B (A, B) = arccos (IA IBII) AB The best object Oi is therefore in the present case: max = arg max 9 (O, Bs) iE 1 .. na; = 0

1 n 0,,ax = arg max 8(O; , 1 a w C1) (Eq. 3) iEln.a, =0 a; =1 i=1 i=1 1 n 0,, ax = arg max 8 (O, 1 a w C1) (Eq.3) iEln.a, = 0 a; = 1 i = 1 i = 1

en remplaçant Bs par sa valeur de l'équation 2. replacing Bs with its value in equation 2.

On désigne par abus de langage par Omax l'indice de l'objet qui présente le meilleur score vis à vis de la sélection Su faite par l'utilisateur en réponse à sa requête de recherche Ho Abuse of language by Omax is the index of the object that has the highest score with respect to the selection made by the user in response to his search query Ho

On peut donc à partir de cette méthode créer un ordre (ce qui revient à dire que l'on a créé en calculant la similarité cosinus des objets 0, et du barycentre pondéré BS des objets sélectionnés, une distance entre lesdits objets et le barycentre Bs) parmi les objets sélectionnés, au delà de l'objet le plus cohérent. One can thus from this method create an order (which is to say that one has created by calculating the cosine similarity of the objects 0, and of the weighted barycentre BS of the selected objects, a distance between said objects and the barycentre Bs ) among the selected objects, beyond the most coherent object.

Il est alors possible de déclarer que les objets Oi présentant une distance inférieure à une valeur seuil prédéterminée avec le meilleur objet Omax font également partie de l'ensemble des objets pertinents pour la recherche Ho considérée et l'utilisateur considéré. It is then possible to declare that objects Oi having a distance less than a predetermined threshold value with the best Omax object are also part of the set of objects relevant for the search Ho considered and the user considered.

En prenant l'hypothèse d'orthonormalité des critères (c'est à dire de critères indépendants les uns des autres, et normés), on a finalement l'équation suivante : (0. ) = arg max II ak w wki (Eq. 4) E1..n.a,=O j=1 k=1 2) Une généralisation de la méthode précédente peut être envisagée dans le cas de choix du meilleur objet selon une sélection Su d'objets et de critères. Dans ce cas, la méthode proposée consiste à considérer l'espace antidual (l'antidual E* d'un espace normé E est l'espace de toutes les formes anti-linéaires continues sur l'espace E) des critères C,, j E [1..m] pour les objets 0i,i E[1..n j Taking the hypothesis of orthonormality criteria (ie criteria independent of each other, and normed), we finally have the following equation: (0.) = arg max II ak w wki (Eq. 4) E1..na, = O j = 1 k = 1 2) A generalization of the previous method can be considered in the case of choice of the best object according to a selection Su of objects and criteria. In this case, the proposed method consists in considering the antidual space (the antidual E * of a normed space E is the space of all the continuous anti-linear forms on the space E) of the criteria C ,, j E [1..m] for objects 0i, i E [1..nj

Soit un critère Ck donné, on prend l'hypothèse que l'utilisateur sélectionne ce critère Ck , ce qui correspond à rechercher un objet répondant à un critère 0= Ck Donc en généralisant l'équation 2 précédente, on obtient pour le barycentre B, pondéré des objets sélectionnés : m n Bs = n, 1((lau',;)+ 5.)C (Eq. 5) 1a +15, ;=l i=1 i=1 i=1 En utilisant à nouveau une méthode de similarité cosinus, le meilleur objet O est alors dans le cas présent : 7 = arg max B(O; , BS ) E i _,,.a; =o On créé donc de même, à partir de ce score un ordre parmi les objets O; restants. Given a given criterion Ck, we assume that the user selects this criterion Ck, which corresponds to finding an object corresponding to a criterion 0 = Ck. Therefore, by generalizing the previous equation 2, we obtain for the center of gravity B, weighted selected objects: mn Bs = n, 1 ((lau ',;) + 5.) C (Eq.5) 1a +15,; = li = 1 i = 1 i = 1 Using again a method of cosine similarity, the best object O is then in this case: 7 = arg max B (O;, BS) E i _ ,,. a; = o We thus create, from this score, an order among the objects O; remaining.

3) La méthode exposée permet également une proposition du critère le plus pertinent pour la recherche H de l'utilisateur. En utilisant la méthode décrite précédemment, on trouve le barycentre pondéré Bs des objets proposés, à partir de la sélection Su de l'utilisateur, ce qui permet de trouver les objets les plus pertinents Omax. 3) The exposed method also allows a proposal of the most relevant criterion for the H search of the user. Using the method described previously, we find the weighted barycentre Bs of the proposed objects, from the selection Su of the user, which makes it possible to find the most relevant objects Omax.

De même, en utilisant cette méthode, on peut déduire les critères C; les plus pertinents. Le critère Cmax le plus pertinent, vis à vis de la recherche de l'utilisateur, est alors défini comme celui qui correspondrait à Omax, c'est à dire vérifierait : C,, aX = arg max B(C, , BS) (Eq. 6) n.8 =0 On note que, par abus de langage, Cmax est utilisé pour décrire l'indice du critère le plus adéquat. Similarly, using this method, we can deduce the criteria C; most relevant. The most relevant criterion Cmax, with respect to the search of the user, is then defined as that which corresponds to Omax, ie would check: C ,, aX = arg max B (C,, BS) ( Eq. 6) n.8 = 0 We note that, by misuse of language, Cmax is used to describe the index of the most appropriate criterion.

On considère ici encore les critères C, comme étant orthogonaux (critères indépendants les uns des autres), C;.C;=(5; C,,,a, = arg max 1 ((a; w . ) + ) (Eq. 7) or on ne propose (dans une seconde phase de proposition à l'utilisateur) que les critères qui n'ont pas encore été proposés (c'est à dire des mots non utilisés par 20 l'utilisateur dans sa requête initiale), S est forcément nul dans ces cas là, on a donc : n C! lux = arg max (a; w; ,) (Eq. 8) Ce score (on a créé en calculant la similarité cosinus des critères C; et du barycentre pondéré Bs des objets sélectionnés, une distance entre lesdits critères et le barycentre BS) permet donc de créer un ordre sur les critères C; les plus pertinents vis 25 à vis d'une recherche utilisateur. Comme dans la phase précédente, il est alors possible de déclarer que les critères C; présentant une distance inférieure à une valeur seuil prédéterminée avec le meilleur critère Cmax , font également partie de l'ensemble des critères pertinents pour la recherche considérée et l'utilisateur considéré. 30 II permet alors d'enrichir la requête de recherche H,,, pour une étape itérative suivante, avec la validation par l'utilisateur de la proposition d'objets faite en réponse à la requête Ho de l'utilisateur. On a bien ici un processus d'apprentissage. /EI .,,.S;=0 Il est également à noter que la requête initiale Ho de l'utilisateur peut se trouver modifiée progressivement par le logiciel, selon les objets réellement sélectionnés par cet utilisateur. En effet, la requête Ho telle que formulée peut ne pas correspondre en fait au souhait réel de l'utilisateur, et la réactualisation progressive de la fonction de recherche selon ses sélections traduit ce phénomène. Here again the criteria C are considered to be orthogonal (criteria independent of each other), C; .C; = (5; C ,,, a, = arg max 1 ((a; w.) +) (Eq 7) or it is proposed (in a second phase of proposal to the user) that the criteria that have not yet been proposed (ie words not used by the user in his initial request) , S is necessarily zero in these cases, so we have: n C! Lux = arg max (a; w;,) (Eq. 8) This score (we have created by calculating the cosine similarity of the criteria C; The B-weighted center of gravity of selected objects, a distance between these criteria and the barycenter BS) thus makes it possible to create an order on the criteria C, the most relevant with respect to a user search As in the previous phase, it is then possible to declare that the criteria C, having a distance lower than a predetermined threshold value with the best criterion Cmax, are also part of the e all relevant criteria for the research and the user concerned. It then makes it possible to enrich the search query H ,,, for a next iterative step, with the validation by the user of the object proposal made in response to the user's request Ho. We have a learning process here. / EI. ,,. S; = 0 It should also be noted that the initial request Ho of the user can be modified progressively by the software, according to the objects actually selected by this user. Indeed, the query Ho as formulated may not correspond in fact to the actual wish of the user, and the progressive updating of the search function according to its selections reflects this phenomenon.

Une telle situation peut par exemple être constatée dans le cas de choix d'une habitation parmi un grand choix de possibilités. Un utilisateur peut formuler une recherche sur une maison d'au moins six pièces avec petit jardin, et sélectionner uniquement des photos de maisons avec un grand jardin et une piscine, ou uniquement des maisons à un seul niveau. Such a situation can for example be noted in the case of choosing a home from a wide range of possibilities. A user can search on a house with at least six rooms with a small garden, and select only photos of houses with a large garden and swimming pool, or only one level houses.

Le logiciel adapte alors progressivement la requête selon les souhaits réellement exprimés par les choix effectués. Il interprète la sélection de l'utilisateur comme une expression re-formulée de sa requête. The software then gradually adapts the request according to the wishes actually expressed by the choices made. It interprets the user's selection as a re-worded expression of its request.

Dans le mode de réalisation préféré, relatif à la proposition d'objets ou de critères les plus pertinents vis à vis d'une requête Ho de recherche utilisateur, on introduit un coefficient temporel Q de pondération des coefficients de validation (xi (ou fi ), vérifiant, dans le présent exemple nullement limitatif, $(t+1)>Q(t) c'est à dire que un coefficient dont la valeur augmente à chaque itération de la recherche. Ce choix de coefficient temporel j3 (aussi appelé facteur d'oubli) donne de plus en plus d'importance aux objets et critères choisis plus tard dans la recherche lors de phases d'itérations successives. On obtient en modifiant l'équation 5 en conséquence pour tenir compte d'un facteur d'oubli spécifique à chaque objet : t In n Bs = 1((1 a,./3 w;;) + 8 )C; (Eq. 9) l a,a. + c 1 i=1 t=i ,=l 7=1 L'influence de ce facteur d'oubli /3 est illustrée par la figure 5, dans laquelle les trois courbes représentent les coefficients attribués à chaque étape d'un processus de recherche itérative selon l'invention, sur une échelle arbitraire, en fonction de l'étape en cours et du mode de recherche (convergence rapide sans facteur d'oubli, navigation exploratoire avec facteur d'oubli fort et croissant dans le temps, ou recherche hybride avec facteur d'oubli intermédiaire). In the preferred embodiment, relating to the proposal of objects or criteria that are most relevant to a user search request H0, a time coefficient Q of weighting of the validation coefficients (xi (or fi) is introduced. , verifying, in the present non-limiting example, $ (t + 1)> Q (t) that is to say that a coefficient whose value increases with each iteration of the search This choice of temporal coefficient j3 (also called factor of forgetfulness) gives more and more importance to the objects and criteria chosen later in the research during successive iteration phases.We obtain by modifying the equation 5 accordingly to take into account a factor of forgetting specific to each object: t In n Bs = 1 ((1 a,. / 3 w ;;) + 8) C; (Eq. 9) la, a. + c 1 i = 1 t = i, = l 7 = 1 The influence of this forgetfulness factor / 3 is illustrated in Figure 5, in which the three curves represent the coefficients assigned to each step of a program. Iterative search according to the invention, on an arbitrary scale, according to the current step and the search mode (fast convergence without forgetfulness factor, exploratory navigation with strong forgetting factor and increasing in time, or hybrid search with intermediate forgetting factor).

En mode de convergence, le coefficient temporel f3 (facteur d'oubli) reste constant (ou diminue). Le poids relatif du facteur diminue donc à chaque étape itérative et permet de raffiner la recherche. Dans ce cas, les objets ou critères sélectionnés en début de recherche sont considérés comme très pertinents, et les objets ou critères choisis dans les étapes itératives suivantes sont considérés comme des précisions, mais de poids sémantique moindre que les premiers choix effectués. On considère que l'utilisateur a une idée précise de ce qu'il cherche, et on lui permet de converger sur sa recherche. En effet, dans ce mode, le groupe d'objets sélectionnés est rapidement figé, ce qui permet un choix parmi une liste fermée. En mode d'exploration, au contraire, le coefficient temporel /3 (facteur d'oubli) augmente de manière exponentielle (ou logarithmique dans une variante). Le poids relatif du facteur permet alors de donner plus de poids à chaque étape itérative pour l'utilisateur, pour pouvoir explorer les espaces d'objets avec plus de liberté. Dans cette configuration, les objets sélectionnés les plus récemment sont considérés comme les plus pertinents sémantiquement pour l'utilisateur, ce qui permet de proposer des objets nouveaux proches de ceux-ci. Cette modification du facteur d'oubli permet plus de flexibilité dans la recherche et augmente le nombre d'objets inattendus. Il s'agit bien d'un mode d'exploration, dans lequel l'utilisateur visite l'espace des objets de proche en proche. Comme on le voit sur la figure 5, le coefficient temporel /3 varie d'un facteur 7 dans le mode exploratoire, sur un intervalle de cinq étapes itératives (ce qui constitue une profondeur typique de recherche de la part d'un utilisateur). Le coefficient temporel /3 est ici calculé par approximation d'une courbe exponentielle. In convergence mode, the time factor f3 (forgetfulness factor) remains constant (or decreases). The relative weight of the factor therefore decreases at each iterative stage and makes it possible to refine the search. In this case, the objects or criteria selected at the beginning of the search are considered very relevant, and the objects or criteria chosen in the following iterative steps are considered as precisions, but of semantic weight less than the first choices made. We consider that the user has a precise idea of what he is looking for, and he is allowed to converge on his research. Indeed, in this mode, the group of selected objects is quickly frozen, which allows a choice among a closed list. In exploration mode, on the contrary, the time coefficient / 3 (forgetfulness factor) increases exponentially (or logarithmically in a variant). The relative weight of the factor then makes it possible to give more weight to each iterative step for the user, to be able to explore the spaces of objects with more freedom. In this configuration, the most recently selected objects are considered the most semantically relevant for the user, which makes it possible to propose new objects close to them. This modification of the forget factor allows more flexibility in the search and increases the number of unexpected objects. It is indeed a mode of exploration, in which the user visits the space of objects gradually. As seen in Figure 5, the time coefficient / 3 varies by a factor of 7 in the exploratory mode over an interval of five iterative steps (which is a typical search depth by a user). The time coefficient / 3 is here calculated by approximation of an exponential curve.

En mode hybride, toute combinaison des modes exploratoires et convergents peut être envisagée. Dans le présent exemple (non illustré), on considère un facteur d'oubli augmentant pendant les premières étapes itératives comme dans le cas de mode exploratoire, puis évoluant ensuite de façon analogue au mode convergent. Dans ce cas, le procédé débute en mode d'exploration avec un bêta exponentiel. On définit un critère d'arrêt, par exemple le fait que deux objets sont validés positivement dans la même étape itérative, ou dans des étapes consécutives. Ce critère d'arrêt caractérise le fait que l'utilisateur se considère proche sémantiquement de l'objet qu'il cherche. In hybrid mode, any combination of exploratory and convergent modes may be considered. In the present example (not shown), we consider a forgetting factor increasing during the first iterative steps as in the case of exploratory mode, and then evolving in a similar manner to the convergent mode. In this case, the process starts in exploration mode with an exponential beta. A stop criterion is defined, for example the fact that two objects are validated positively in the same iterative stage, or in consecutive stages. This stopping criterion characterizes the fact that the user considers himself semantically close to the object he is looking for.

Lorsque ce critère d'arrêt est atteint le procédé passe en mode de convergence. Ce qui permet de raffiner la recherche dans un voisinage spécifique aux résultats de recherche des étapes itératives lors desquelles le critère d'arrêt a été atteint. De la même manière il est envisageable en variante de ressortir de ce voisinage sous la condition d'un critère d'exploration préalablement défini (deux objets considérés comme non pertinents de suite...) et repartir en mode d'exploration. When this stopping criterion is reached, the method goes into convergence mode. This makes it possible to refine the search in a specific neighborhood to the search results of the iterative steps during which the stopping criterion has been reached. In the same way it is conceivable alternatively out of this neighborhood under the condition of a previously defined exploration criterion (two objects considered irrelevant immediately ...) and start in exploration mode.

Dans ce cas, le coefficient temporel suit une courbe exponentielle, et reste constant tant qu'on est en mode de convergence, puis retourne sur une courbe exponentielle. La formule générale de la loi d'évolution du coefficient temporel est la suivante : e(t+1)= 3 (fm(Xm+1) ûfm(Xr))+ /3(t) Pour un mode m considéré, on créé un compteur propre xR, (qui permet entre autres la vérification des critères d'arrêt ou d'exploration). On calcule la prochaine itération du coefficient temporel en fonction du mode m considéré et des compteurs spécifiques. En variante de calcul de cette loi d'évolution du coefficient temporel /3 (facteur d'oubli) : on considère m modes présentant chacun une loi d'évolution définie et mémorisée, et on créé un couplage avec une chaîne de Markov qui prend en compte la découverte et les choix des nouveaux objets par l'utilisateur. Le meilleur coefficient temporel est alors déterminée au fur et à mesure de la navigation de l'utilisateur (par exemple le mode de navigation avec un coefficient temporel /3 élevé sera couplé avec une forte probabilité de trouver des objets nouveaux, qui n'ont pas encore reçu de notations). B û Le deuxième élément mathématique à préciser concerne le renforcement d'une matrice relative aux mots présents dans les pages présentant les objets, matrice comprenant en lignes les mots (critères dans la présente description) et en colonnes les pages-objets, et dans chaque case le nombre des occurrences des mots dans chaque page-objet. Cette matrice, qui caractérise les occurrences des critères pour chaque objet, sera utilisée dans le procédé, entre autres pour prendre en compte un renforcement des occurrences de certains critères, selon une sélection faite par un utilisateur, ce qui revient à tenir compte de l'importance, telle que perçue par l'utilisateur, de certains critères ou de certains objets. Sur un plan méthodologique, il faut noter que la "recherche documentaire" et la "recherche d'objets" diffèrent sur un point. Un document est en effet bien défini par tous les termes qui le composent et justifie une approche connue de type tf * idf (tf ûtime frequency- caractérise l'importance d'un terme pour un document, et idf ûinverse document frequency- le pouvoir de discrimination de ce terme). Cette approche est documentée par exemple dans le document "Utilisation de la méthode tf * idf pour normaliser" (Salton, 89 et Turney , 01). In this case, the time coefficient follows an exponential curve, and remains constant as long as one is in convergence mode, then returns to an exponential curve. The general formula of the law of evolution of the temporal coefficient is the following one: e (t + 1) = 3 (fm (Xm + 1) ûfm (Xr)) + / 3 (t) For a mode m considered, one creates a clean counter xR (which makes it possible, among other things, to check the criteria for stopping or exploring). The next iteration of the time coefficient is calculated as a function of the mode m considered and the specific counters. As a variant of this law of evolution of the time coefficient / 3 (forgetting factor): we consider m modes each having a defined and stored evolution law, and we create a coupling with a Markov chain which takes into account counts the discovery and the choice of the new objects by the user. The best time coefficient is then determined as the user navigates (for example the navigation mode with a high time coefficient / 3 will be coupled with a high probability of finding new objects, which do not have still received ratings). B - The second mathematical element to be specified concerns the reinforcement of a matrix relating to the words present in the pages presenting the objects, matrix comprising in lines the words (criteria in the present description) and in columns the object-pages, and in each box the number of occurrences of the words in each object-page. This matrix, which characterizes the occurrences of the criteria for each object, will be used in the process, among other things to take into account a strengthening of the occurrences of certain criteria, according to a selection made by a user, which amounts to taking into account the importance, as perceived by the user, of certain criteria or objects. On a methodological level, it should be noted that the "documentary search" and the "search for objects" differ on one point. A document is indeed well defined by all the terms that make it up and justifies a known approach of the type tf * idf (tf ûtime frequency- characterizes the importance of a term for a document, and idf ûinverse document frequency- the power of discrimination of this term). This approach is documented for example in the document "Using the tf * idf method to normalize" (Salton, 89 and Turney, 01).

Dans cette approche, un terme qui présente un multiple tf * idf élevé est à la fois important dans le document considéré, et peu présent dans les autres documents. Ce document est alors très pertinent vis à vis de ce terme. Par contre, un objet (ici considéré comme un objet physique, doté de caractéristiques géométriques, de couleur, texture, fonction, design etc...), même s'il peut être sémantiquement approché par des descriptions (et des critères), est perçu différemment selon les utilisateurs, ce qui n'est pas le cas d'un document lorsqu'on le caractérise par son contenu. Pour prendre en compte ce phénomène, il doit donc pouvoir être modifié selon la sélection d'objets Su faite par l'utilisateur face à la liste d'objets proposée, donnant les coefficients a, de validation d'objets Or et les coefficients 8; de validation de critères Ci L'effet recherché est d'améliorer le score ultérieur (dans une phase d'itération ultérieure) de ces objets O, par rapport à cette sélection d'objets Su. On note O, le vecteur objet renforcé issu de cette modification de l'objet Or. 0, =O;+ka,(BS ù O;) Où k est un coefficient utilisé pour l'ajustement du vecteur objet selon sa distance au barycentre pondéré Bs. Le barycentre pondéré Bs pouvant être dans une des trois formes précédentes (formulées dans les équations 2, 5 ou 9), mais dont la plus générale est l'équation 9 qui prend en compte le coefficient temporel f3. On s'attend à ce que la distance entre le barycentre pondéré Bs et l'objet O; tende peu à peu vers zéro : BsùO;ù> 0 au fur et à mesure des itérations, et on choisit de donner à k une valeur différente pour chaque critère Ci ou chaque objet O,. Ce choix correspond à considérer que, lorsqu'un objet O, ou un critère Ci vient d'être ajouté par un utilisateur à sa sélection Su, ses variations lors d'un renforcement doivent être plus fortes que celles des objets ou critères déjà présents dans la sélection Su. Soit N une matrice permettant de suivre l'évolution du renforcement des objets 0, , et comportant en lignes les objets, en colonnes les critères, et dans chaque case n,, initialement nul. On note N une matrice dite renforcée. Ses valeurs sont définies comme suit : ni/ = 11(Bs).CiùOi.0 (Eq. 10) si l'objet Or fait partie de la sélection Su n,, = n;; sinon, correspondant au fait que les objets O; qui ne sont pas sélectionnés par l'utilisateur, parmi la liste d'objets présentés en réponse à sa requête, ne sont pas renforcés. On comprend que la matrice N peut à son tour être renforcée, lors 5 d'itérations ultérieures de procédé de recherche itérative selon l'invention. Par abus de langage, elle est alors toujours notée N Cette matrice renforcée N est liée à la dernière différence entre le In this approach, a term that has a high tf * idf multiple is both important in the document under consideration, and not present in other documents. This document is then very relevant to this term. On the other hand, an object (here considered as a physical object, endowed with geometric characteristics, color, texture, function, design, etc.), even if it can be semantically approached by descriptions (and criteria), is perceived differently by the users, which is not the case of a document when it is characterized by its contents. To take into account this phenomenon, it must be able to be modified according to the selection of objects Su made by the user in front of the proposed list of objects, giving the coefficients a, of validation of objects Gold and the coefficients 8; The desired effect is to improve the subsequent score (in a later iteration phase) of these objects O, with respect to this selection of objects Su. We denote O, the reinforced object vector resulting from this modification of the object Or. 0, = O; + ka, (BS ù O;) Where k is a coefficient used for the adjustment of the object vector according to its distance to the barycenter The Bs-weighted centroid can be in one of the three preceding forms (formulated in equations 2, 5 or 9), but the most general of which is equation 9 which takes into account the temporal coefficient f3. It is expected that the distance between the weighted barycentre Bs and the object O; Gradually tends to zero: Bs 0 0; 0> 0 as iterations, and we choose to give k a different value for each criterion Ci or each object O ,. This choice corresponds to considering that, when an object O, or a criterion Ci has just been added by a user to his selection Su, his variations during a reinforcement must be stronger than those of the objects or criteria already present in the selection Su. Let N be a matrix allowing to follow the evolution of the reinforcement of the objects 0,, and containing in lines the objects, in columns the criteria, and in each box n ,, initially null. We denote N a so-called reinforced matrix. Its values are defined as: ni / = 11 (Bs) .CiùOi.0 (Eq. 10) if the object Gold is part of the selection Su n ,, = n ;; otherwise, corresponding to the fact that the objects O; which are not selected by the user, among the list of objects presented in response to his request, are not reinforced. It will be understood that the matrix N can in turn be enhanced at subsequent iterations of the iterative search method according to the invention. By abuse of language, it is then always noted N This reinforced matrix N is linked to the last difference between the

barycentre pondéré Bs, la cible virtuelle, et l'objet O;, pour chaque coefficient. _ ,,, O; =O,+ka/1 (n; C1.(BS -O.))C1 (Eq. 11) où k est une constante On a donc k,, =ûk n,i (on rappelle que k est défini comme un coefficient utilisé pour l'ajustement du vecteur objet selon sa distance au barycentre pondéré Bs et est choisi différent pour chaque objet O, et critère C;). 15 La matrice renforcée intervient, comme on l'a dit, dans la prise en compte de la sélection d'objets effectuée par l'utilisateur, qui vient alors modifier la base de données d'objets et de critères, en renforçant certains objets ou critères.. C - Le troisième élément mathématique à préciser concerne l'utilisation de l'analyse sémantique latente (connue sous l'acronyme anglais LSA pour Latent 20 Semantic Analysis), utilisée dans la phase préliminaire du présent procédé. Parmi les problèmes qui se posent lors d'une recherche de données par requête formulée de façon verbale, on doit citer la polysémie (un mot ayant plusieurs sens, par exemple souris : animal ou interface informatique) et la synonymie (plusieurs mots ayant le même sens). Ces problèmes peuvent générer des erreurs dans les 25 objets proposés. L'analyse sémantique latente est typiquement utilisée pour aider à régler ce genre de situations. On rappelle que l'analyse sémantique latente cherche à établir une similarité entre deux mots ou termes de recherche en utilisant une analyse de leur contexte. 30 Cependant, en général, il est considéré que cette méthode est décevante si les descriptions des objets comprennent moins de soixante mots (critères). C'est a priori le cas ici dans le cadre d'un catalogue d'objets décrits par de courts textes, 10 quelques descripteurs quantitatifs, et une ou plusieurs photos. Les contraintes spécifiques de l'application envisagée incitent donc à ne pas utiliser cette méthode. Pour l'utiliser quand même, il faut autant que possible augmenter le nombre de mots descriptifs à propos de chaque objet. weighted barycentre Bs, the virtual target, and the object O ;, for each coefficient. _ ,,, O; = 0, + ka / 1 (n; C1. (BS -O.)) C1 (Eq. 11) where k is a constant We thus have k ,, = ûk n, i (we recall that k is defined as a coefficient used for the adjustment of the object vector according to its distance to the weighted barycentre Bs and is chosen different for each object O, and criterion C;). The reinforced matrix intervenes, as has been said, in the taking into account of the selection of objects made by the user, which then modifies the database of objects and criteria, by reinforcing certain objects or criteria C - The third mathematical element to be specified concerns the use of latent semantic analysis (known as Latent Semantic Analysis (LSA)), used in the preliminary phase of the present method. Among the problems that arise when verbally querying data by query, we must mention polysemy (a word having several meanings, for example mouse: animal or computer interface) and synonymy (several words having the same meaning). meaning). These problems can generate errors in the proposed objects. Latent semantic analysis is typically used to help deal with such situations. It is recalled that the latent semantic analysis seeks to establish a similarity between two words or search terms by using an analysis of their context. However, in general, it is considered that this method is disappointing if the object descriptions comprise less than sixty words (criteria). This is a priori the case here in the context of a catalog of objects described by short texts, a few quantitative descriptors, and one or more photos. The specific constraints of the proposed application therefore encourage us not to use this method. To use it anyway, it is necessary as much as possible to increase the number of descriptive words about each object.

Dans ce but, on choisit, d'une part, de prendre en compte des "avis d'utilisateurs" concernant les objets, qui apportent des qualificatifs nouveaux sur les objets. Par ailleurs, on peut extraire de nouveaux critères qualificatifs en partant des photos associées aux objets, par exemple par une méthode connue de détection d'histogramme de couleurs ou d'autres techniques connues. For this purpose, one chooses, on the one hand, to take into account "user reviews" concerning objects, which bring new qualifiers on the objects. Moreover, new qualifying criteria can be extracted from the photos associated with the objects, for example by a known method of color histogram detection or other known techniques.

Par ailleurs, la possibilité d'avoir un très grand nombre d'objets dans la base de données, typiquement des dizaines de milliers, oblige à chercher une solution permettant de réduire la dimensionalité de la matrice W des projections w;, i, j E11..n lx[1..m], des objets a selon les différents critères C;, faute de quoi le temps de calcul risque de ne pas être compatible avec une utilisation en temps réel du procédé. Moreover, the possibility of having a very large number of objects in the database, typically tens of thousands, makes it necessary to look for a solution making it possible to reduce the dimensionality of the matrix W of the projections w ;, i, j E11 ..n lx [1..m], objects a according to different criteria C; otherwise the calculation time may not be compatible with real-time use of the process.

La LSA fournit une solution à ce problème en réduisant la dimension de la matrice de travail. La LSA est par exemple décrite dans le document "Utilisation d'information syntaxico-sémantiques associées à LSA pour améliorer les méthodes de classification conceptuelle", Béchet, Roche, Chauché, 2007. Dans un procédé LSA typique, la matrice initiale d'occurrences des critères pour chaque objet est d'abord normalisée (par un calcul de logarithme et un calcul d'entropie sur la matrice), puis décomposée en valeurs singulières (singular values en anglais) et approximée en une matrice de plus petites dimensions. Les critères (ou les objets) sont alors regroupés en classes sémantiques (concept de critères sémantiquement proches ou concept d'objets sémantiquement proches) en utilisant des algorithmes connus en soi de fouille de données de K-plus proches voisins, ou de K-moyennes. Dans la méthode de K-plus-proches-voisins (KPPV), la classe majoritaire à ces K plus proches voisins est utilisée pour extraire les objets correspondant à une recherche. Cette méthode utilise comme paramètres la valeur K de nombre de termes à regrouper, et la mesure de similarité entre les termes, ici la similarité cosinus. Une méthode connue de K-moyennes peut également être utilisée. Soit Z la matrice des valeurs propres de la matrice des occurrences des critères pour chaque objet, citée plus haut, de dimension nxm, U et V étant des matrices de passage orthogonales de taille nxn et mxm, et VT la matrice transposée de V. Ces matrices sont liées par la formule : W= U ZVT Cette formule s'interprète en langage courant en disant qu'on remplace, pour la mise en oeuvre du procédé, un travail sur les objets (matrice W) par un travail sur des concepts d'objets, porteurs du maximum d'informations (matrice U) et des concepts de critères, également porteurs du maximum d'informations (matrice V). LSA provides a solution to this problem by reducing the size of the work matrix. The LSA is for example described in the document "Use of syntactic-semantic information associated with LSA to improve the methods of conceptual classification", Béchet, Roche, Chauché, 2007. In a typical LSA process, the initial matrix of occurrences of criteria for each object is first normalized (by a logarithmic calculation and an entropy calculation on the matrix), then decomposed into singular values and approximated into a matrix of smaller dimensions. Criteria (or objects) are then grouped into semantic classes (concept of semantically close criteria or concept of semantically close objects) using algorithms known per se to search data of K-nearest neighbors, or K-means . In the K-plus-near-neighbors (KPPV) method, the majority class at these nearest-neighbor Ks is used to retrieve the objects corresponding to a search. This method uses as parameters the value K of number of terms to be grouped, and the measure of similarity between the terms, here the cosine similarity. A known method of K-averages can also be used. Let Z be the matrix of eigenvalues of the matrix of occurrences of the criteria for each object, mentioned above, of dimension nxm, U and V being orthogonal passage matrices of size nxn and mxm, and VT the transposed matrix of V. matrices are linked by the formula: W = U ZVT This formula is interpreted in current language by saying that we replace, for the implementation of the method, a work on the objects (matrix W) by a work on concepts of objects, carriers of the maximum of information (matrix U) and concepts of criteria, also carrying the maximum of information (matrix V).

Et, en ne prenant que les P premières valeurs propres de 1 (c'est à dire en enlevant les colonnes qui ont les plus petites valeurs propres), on réduit le problème à une matrice réduite notée E de dimension P, cette dimension pouvant ainsi être choisie arbitrairement nettement inférieure à n. En pratique, ceci revient à une analyse en composante principale (ou analyse en axes principaux d'inertie), en choisissant de conserver les axes propres qui transportent le maximum d'informations, et en éliminant les axes qui sont peu porteurs d'informations. On constate de façon empirique que cent à deux cents valeurs propres suffisent à caractériser la plus grande part de I"information disponible, à partir d'un catalogue de dizaines de milliers d'objets. And, taking only the first P eigenvalues of 1 (ie by removing the columns which have the smallest eigenvalues), we reduce the problem to a reduced matrix denoted E of dimension P, this dimension being thus able to be chosen arbitrarily significantly lower than n. In practice, this amounts to a principal component analysis (or analysis in principal axes of inertia), by choosing to keep the clean axes that carry the maximum information, and by eliminating the axes which are not very carriers of information. It is empirical that one hundred to two hundred eigenvalues suffice to characterize most of the information available, from a catalog of tens of thousands of objects.

Le choix d'une collection d'objet O,,iE[1, n], en réponse à une requête H d'un utilisateur, se traduit, après utilisation de la matrice approximée E , par une collection d'objets UT.O,, iE[1..n ] que l'on applique à de la manière précédemment décrite. De même, les critères Ci se traduisent par une collection de critères regroupés Ci.V, jE[1..m] Parmi les avantages du procédé selon l'invention, le renforcement de la matrice présente l'avantage, lorsqu'il est utilisé en conjonction avec l'analyse sémantique latente qui réduit considérablement la taille de la matrice de travail, de pouvoir agir de manière continue, à chaque étape itérative, sur un espace sémantique (la base de données d'objets) et d'augmenter la vitesse d'apprentissage et la vitesse d'exécution. Le procédé de sélection de données selon l'invention, est destiné à être mis en oeuvre sous forme logicielle par un utilisateur travaillant sur un micro-ordinateur de type PC standard. Ce micro-ordinateur est doté d'une interface utilisateur comprenant une souris, un clavier et un écran de visualisation. Il est relié à un serveur de fichier, local ou déporté et accessible via un réseau de type également connu en soi. Il est supposé équipé de logiciels de navigation sur le réseau Internet. La base de données d'objets est hébergée au même endroit que le site Internet proposant les pages-objets formant son catalogue de produits, et le logiciel mettant en oeuvre le procédé est également hébergé par ce site Internet, et non chez l'utilisateur, qui ne nécessite pas, pur utiliser le procédé selon l'invention, d'autre outil que son micro-ordinateur standard et sa connexion réseau classique. La mise en oeuvre du procédé comporte en pratique plusieurs phases. Une première phase 1 de mise en oeuvre du procédé est préliminaire. Cette phase préliminaire 1 est relative à la création de la base de données de produits sur laquelle un utilisateur fera par la suite des recherches. Cette première phase comprend des étapes suivantes (figure 1) : 101) Acquisition d'une fiche produit et/ou de documents décrivant chaque objet 0,. Les caractéristiques de l'objet O; sont une description de l'objet et une image associée. 102) Séparation de la description de l'objet O; en chaînes de caractère. Chaque mot est réduit à sa racine. 103) Constitution de la base de données BD° en utilisant la projection dans les bases sémantiques principales (c'est à dire les axes principaux d'inertie correspondant aux premières valeurs propres) de chaque objet O. 104) normalisation et simplification de la matrice par analyse sémantique latente (LSA). Une deuxième phase 2 du procédé est mise en oeuvre lorsqu'un utilisateur lance une requête sur la base de données. Cette phase de requête 2 comprend des étapes suivantes, éventuellement réalisées en parallèle (figure 2) : 201) envoi de la requête Ho de l'utilisateur au serveur gérant la base de données, 202) Proposition et envoi à l'utilisateur d'une liste d'objets répondant le mieux à la requête Ho de l'utilisateur, et affichage de ces objets sous forme de liste de descriptions et photos associées, la partie itérative du procédé comporte, pour un utilisateur, les étapes suivantes lors d'une itération k du procédé : 203) Sélection par l'utilisateur d'une partie de la liste d'objets affichés, comme étant particulièrement pertinents vis à vis de sa recherche Hk, 204) calcul des barycentres pondérés (204a) et détermination des objets et des critères les plus pertinents vis à vis de la sélection Sä (204b), 205) modification de la requête Ho en une requête modifiée HI (et plus généralement lors de la k-ième itération, modification de la requête Hk en une requête modifiée Hk+1) par le logiciel selon cette sélection SU, modification simultanée des objets (renforcement des objets et des critères), 206) Utilisation de poids pour modéliser l'oubli progressif de l'utilisateur vis-à- vis des premiers objets choisis (les objets choisis dans les phases itératives ultérieures étant plus valorisés que les objets choisis dans les premières phases). 207) Choix d'une stratégie de proposition de produits non optimaux ou encore non évalués, soit par corrélation sémantique, soit en augmentant artificiellement la fréquence d'affichage pour recueillir au moins un avis. Ce choix de stratégie est illustré par la figure 4, dans laquelle on voit que le passage d'un état 1 à un état 2 dans l'espace des objets peut se faire de trois façons principales. The choice of an object collection O ,, iE [1, n], in response to a request H of a user, is translated, after using the approximated matrix E, by a collection of objects UT.O ,, iE [1..n] that is applied in the manner previously described. Likewise, the criteria Ci result in a collection of criteria grouped Ci.V, jE [1..m] Among the advantages of the method according to the invention, the reinforcement of the matrix has the advantage, when it is used. in conjunction with the latent semantic analysis which considerably reduces the size of the working matrix, to be able to act continuously, at each iterative step, on a semantic space (the object database) and to increase the speed learning and speed of execution. The data selection method according to the invention is intended to be implemented in software form by a user working on a standard PC type microcomputer. This microcomputer has a user interface comprising a mouse, a keyboard and a display screen. It is connected to a file server, local or remote and accessible via a network of type also known per se. It is supposed to be equipped with navigation software on the Internet. The object database is hosted in the same place as the website offering the object-pages forming its product catalog, and the software implementing the method is also hosted by this website, and not the user, which does not require, using the method according to the invention, other tools than its standard microcomputer and its conventional network connection. The implementation of the method comprises in practice several phases. A first phase 1 of implementation of the method is preliminary. This preliminary phase 1 relates to the creation of the database of products on which a user will then make searches. This first phase comprises the following steps (FIG. 1): 101) Acquisition of a product sheet and / or documents describing each object 0 ,. The characteristics of the object O; are a description of the object and an associated image. 102) Separation of the description of the object O; in strings of character. Every word is reduced to its root. 103) Constitution of the BD ° database by using the projection in the main semantic bases (that is to say the principal axes of inertia corresponding to the first eigenvalues) of each object O. 104) standardization and simplification of the matrix by latent semantic analysis (LSA). A second phase 2 of the method is implemented when a user launches a query on the database. This request phase 2 comprises the following steps, possibly carried out in parallel (FIG. 2): 201) sending of the request Ho of the user to the server managing the database, 202) Proposition and sending to the user of a list of objects that best meet the user's request Ho, and display these objects as a list of descriptions and associated photos, the iterative part of the method comprises, for a user, the following steps during an iteration k of the method: 203) Selection by the user of a part of the list of displayed objects, as being particularly relevant with respect to his search Hk, 204) calculation of the weighted centers of gravity (204a) and determination of objects and objects criteria most relevant to the selection Sä (204b), 205) modification of the request Ho in a modified request HI (and more generally during the kth iteration, modification of the request Hk in a request modified Hk + 1) by the software according to this selection SU, simultaneous modification of objects (reinforcement of objects and criteria), 206) Use of weights to model the progressive forgetting of the user vis-à-vis the first selected objects (the objects chosen in the later iterative phases are more valued than the objects chosen in the first phases). 207) Choice of a strategy of proposal of products not optimal or not evaluated, either by semantic correlation, or by artificially increasing the frequency of display to collect at least one opinion. This choice of strategy is illustrated in FIG. 4, in which we see that the transition from a state 1 to a state 2 in the space of the objects can be done in three main ways.

Dans la première, qui correspond à une stratégie d'exploration de l'espace des objets, on privilégie la mise en avant d'objets non optimaux. Dans la seconde, qui correspond à une stratégie de découverte, on met en avant des objets nouveaux (non encore évalués, ou peu évalués, ce qui permet de compléter la base de données d'évaluations pour l'opérateur de la base d'objets). Dans la troisième, qui correspond à une stratégie d'exploitation, on met en avant les objets optimaux pour l'utilisateur, selon les critères de sa recherche. Dans chacune de ces stratégies, les occurrences des objets sont affectées de coefficients de pondération différents pour le calcul de pertinence vis à vis de la requête de recherche de l'utilisateur. Les probabilités affectées à chacune de ces stratégies sont respectivement p1.2, q1.2 et 1- p1_2 û q1_2 . Cette méthode permet de mitiger le besoin de l'utilisateur de trouver des objets nouveaux et de se sentir conforté dans la pertinence de sa recherche avec celui de l'opérateur d'avoir une base de données la plus remplie possible. Selon l'indice de l'itération en cours, la répartition des poids des trois stratégies dans le choix des objets proposés à l'itération suivante évolue progressivement. 208) itération du procédé par une nouvelle proposition d'une liste d'objets répondant à la requête modifiée Hk+1 . Cette phase de requête 2 peut également comporter une utilisation d'algorithmes génétiques pour proposer dans une nouvelle itération de nouveaux produits qui n'auraient normalement pas été proposés par la méthode précédente û exploration de nouveaux embranchements. De même, elle peut comporte une accélération de l'apprentissage par différentes méthodes connues : Particle Swarm Optimization (optimisation par essaims particulaires, algorithme d'optimisation), Artificial Neural network (réseaux de neurones), pour la création de la matrice initiale réduite (par exemple par utilisation d'un auto-encodeur de Boltzmann, connu en soi). In the first, which corresponds to a strategy of exploration of the space of objects, it favors the highlighting of non-optimal objects. In the second, which corresponds to a discovery strategy, we highlight new objects (not yet evaluated, or little evaluated, which allows to complete the evaluation database for the operator of the object database ). In the third, which corresponds to an exploitation strategy, we highlight the optimal objects for the user, according to the criteria of his research. In each of these strategies, the occurrences of the objects are assigned different weighting coefficients for the calculation of relevance with respect to the search query of the user. The probabilities assigned to each of these strategies are respectively p1.2, q1.2 and 1- p1_2 û q1_2. This method makes it possible to mitigate the need of the user to find new objects and to feel comfortable in the relevance of his research with that of the operator to have a database as complete as possible. According to the index of the current iteration, the distribution of the weights of the three strategies in the choice of objects proposed at the next iteration evolves progressively. 208) iteration of the method by a new proposal of a list of objects responding to the modified query Hk + 1. This request phase 2 can also include the use of genetic algorithms to propose in a new iteration new products that would not normally have been proposed by the previous method - exploration of new branches. Similarly, it can involve an acceleration of learning by various known methods: Particle Swarm Optimization (optimization by particle swarms, optimization algorithm), Artificial Neural network (neural networks), for the creation of the reduced initial matrix ( for example by using a self-encoder Boltzmann, known per se).

Enfin, il est possible d'utiliser la méthode exposée conjointement à des méthodes de "clustering" (identification de groupes d'objets ou d'utilisateurs proches et agrégation de ces objets) ou de classification croisée (une telle méthode est par exemple décrite dans le document brevet Criteo FR 2 906 910). Finally, it is possible to use the method exposed together with methods of "clustering" (identification of groups of objects or close users and aggregation of these objects) or cross-classification (such a method is for example described in Criteo patent document FR 2,906,910).

Une troisième phase de recalibrage 3 est réalisée après la fin d'une sessions d'utilisation par un utilisateur. Elle comporte des étapes suivantes (figure 2) : 301) Calcul des corrélations entre les objets choisis par l'utilisateur face à la représentation photographique, et des produits dans la base de données. Les objets choisis sont pondérés par leur ordre de choix donnant plus de poids aux derniers objets choisis, (renforcement de la matrice des occurrences) 302) Recalibrage de la base de données en rapprochant la proximité sémantique des produits sélectionnés. Le recalibrage de la base de données s'effectue dès la sortie de session, en prenant en compte les modifications (d'objets, de critères et de recherche) qui ont été faites entre temps. En fait, le recalibrage de la base se fait avec la projection sémantique (matrice des occurrences, réduite par analyse sémantique latente) disponible à l'instant t, et les objets sélectionnés par l'utilisateur a posteriori. L'organigramme du procédé selon l'invention, tel que repris dans le logiciel mettant en oeuvre l'invention, est illustré par les figures 1 et 2. A third recalibration phase 3 is performed after the end of a user session by a user. It comprises the following steps (FIG. 2): 301) Calculation of the correlations between the objects chosen by the user vis-a-vis the photographic representation, and products in the database. The selected objects are weighted by their order of choice giving more weight to the last selected objects, (reinforcement of the matrix of occurrences) 302) Recalibration of the database by bringing the semantic proximity of the selected products closer together. The recalibration of the database is carried out at the end of the session, taking into account the modifications (objects, criteria and research) that have been made in the meantime. In fact, the recalibration of the base is done with the semantic projection (matrix of occurrences, reduced by latent semantic analysis) available at time t, and the objects selected by the user a posteriori. The flowchart of the method according to the invention, as included in the software implementing the invention, is illustrated by FIGS. 1 and 2.

L'évolution de la base de données au cours du temps est illustrée par la figure 3, sur laquelle on distingue l'impact de deux utilisateurs, dont le premier termine sa session préalablement au second, et vient donc modifier la base données initiale BDO (sous sa forme de matrice des occurrences des critères pour les objets) en une base modifiée une première fois BD1 (avec les occurrences modifiées de la matrice renforcée). Cette base modifiée BD1 est utilisée par le second utilisateur pendant la suite de sa session. La fin de session du second utilisateur entraîne à son tour une modification de la base de données en une base mise à jour BD2. On a donc bien créé ici une méthode d'extraction d'un ensemble d'objets dans un catalogue d'objets, présentés sous la forme de pages Internet, chacun de ces objets présentant à la fois des caractéristiques quantifiables (prix, poids, dimensions) et des caractéristiques perçues (beauté, style, couleur, texture...). Un des avantages principaux du procédé selon l'invention est donc, en implémentant une recherche itérative non formalisée (sélection d'objets sur la base des photos affichées de ces objets, et donc éventuellement indépendamment de leurs caractéristiques quantifiées), d'introduire une réflexion qui soit proche de celle de l'utilisateur. Outre l'utilisation de chaîne de Markov prenant en compte les différences d'attente à chaque étape, l'algorithme simule l'oubli progressif des produits sélectionnés, pour gommer les erreurs ponctuelles, et permettre à l'utilisateur d'avoir une véritable dynamique de navigation. Ce procédé trouve des applications dans d'autres domaines de recherche d'objets. Il s'applique par exemple à la recherche déjà évoquée d'une habitation sur la base de critères à la fois quantitatifs et de photos. De même, en chimie, le procédé s'applique à une bibliothèque de produits, avec comme utilisation l'identification de molécules qui ont des propriétés particulières, ou l'identification d'un produit ayant des caractéristiques voulues, ainsi que la possibilité d'identifier les caractéristiques communes qui ont amenées ces propriétés. De même dans le domaine de la génétique, le procédé peut être utilisé pour rechercher des codons : trouver des gènes ayant des caractéristiques communes. The evolution of the database over time is illustrated by Figure 3, on which we distinguish the impact of two users, the first ends its session prior to the second, and therefore changes the original database BDO ( in its matrix form of the occurrences of the criteria for the objects) in a base modified a first time BD1 (with the modified occurrences of the reinforced matrix). This modified database BD1 is used by the second user during the rest of his session. The end of session of the second user in turn causes a modification of the database into an updated database BD2. We have therefore created a method for extracting a set of objects from a catalog of objects, presented in the form of Internet pages, each of these objects presenting at the same time quantifiable characteristics (price, weight, dimensions ) and perceived characteristics (beauty, style, color, texture ...). One of the main advantages of the method according to the invention is therefore, by implementing an iterative non-formalized search (selection of objects on the basis of the displayed photos of these objects, and thus possibly independently of their quantified characteristics), of introducing a reflection. which is close to that of the user. In addition to the use of Markov chains taking into account the differences in waiting at each step, the algorithm simulates the progressive forgetting of the selected products, to eliminate point errors, and to allow the user to have a real dynamic navigation. This method finds applications in other object search domains. It applies for example to the research already evoked of a dwelling on the basis of both quantitative criteria and photos. Similarly, in chemistry, the method applies to a product library, with the use of identifying molecules that have particular properties, or identifying a product with desired characteristics, as well as the possibility of identify the common features that brought these properties. Similarly in the field of genetics, the method can be used to search for codons: find genes with common characteristics.

Dans le domaine de l'image et de la vidéo, le procédé peut être utilisé pour rechercher des photos ou séquences vidéo complémentairement avec les histogrammes de couleurs... Le procédé s'applique également à la recherche d'un profil sur internet, que ce soit dans le cadre de recherche de compétence clé ou dans le cadre de mise en relations d'individus selon des affinités communes. Toujours dans le domaine des applications à des données comprenant au moins une caractéristique non quantitative, le procédé s'applique à la recherche d'un produit sur une borne in situ. : vidéos, parfums, voitures, oeuvres d'art... Plus généralement, le procédé, jusqu'ici décrit dans le cadre d'une utilisation sur un serveur auquel un utilisateur se relie via un réseau, peut également être mis en oeuvre sous la forme d'une solution portable (type widget , on rappelle qu'un widget , terme anglophone obtenu par contraction de window gadget , désigne un petit outil logiciel permettant d'obtenir des informations) d'aide à la décision, ou d'une solution intégrable dans un appareil (type ipod (marque déposée), ...). In the field of image and video, the method can be used to search for photos or video sequences complementarily with color histograms ... The method also applies to the search for a profile on the internet, that it is in the framework of research of key competence or in the framework of putting in relations of individuals according to common affinities. Still in the field of applications to data comprising at least one non-quantitative characteristic, the method applies to the search for a product on a terminal in situ. : videos, perfumes, cars, works of art ... More generally, the method, hitherto described in the context of a use on a server to which a user connects via a network, can also be implemented under the form of a portable solution (widget type, we recall that a widget, English term obtained by contraction of window gadget, refers to a small software tool for obtaining information) for decision support, or a integrated solution in a device (ipod type (registered trademark), ...).

Le procédé de sélection itérative de contenu selon l'invention, comportant la prise en compte d'un facteur d'oubli et le renforcement progressif de la matrice des occurrences, présente un certain nombre d'avantages : - Amélioration significative de la pertinence des produits trouvés par cette méthode par rapport aux méthodes traditionnelles. Recherche itérative et adaptative dans un arbre décisionnel. - Amélioration de l'efficacité de la solution en associant les résultats de l'utilisateur face à l'image, couplée à la signification sémantique de l'algorithme. - Réduction du temps de calcul et rendu de meilleures recommandations en temps réel. - Réduction du temps d'apprentissage. - Création d'une navigation qui permet de s'adapter à chaque étape (chaîne de Markov) aux sélections de l'utilisateur, sans le contraindre à une convergence rapide vers une série limitée de produits. La manière de mettre en oeuvre le relevance feedback ("contrôle de pertinence", en français) avec des poids accordés aux objets et éventuellement aux critères par chaque utilisateur, permet de calculer des barycentres pondérés des objets et des critères, ce qui facilite le renforcement (grâce au fait de diviser l'ensemble par des poids) et donc d'utiliser une proximité sémantique avec ces barycentres. The iterative content selection method according to the invention, including the consideration of a forgetting factor and the gradual reinforcement of the matrix of occurrences, has a number of advantages: - Significant improvement of the relevance of the products found by this method compared to traditional methods. Iterative and adaptive search in a decision tree. - Improvement of the effectiveness of the solution by associating the results of the user with the image, coupled with the semantic meaning of the algorithm. - Reduced calculation time and made better recommendations in real time. - Reduction of learning time. - Creation of a navigation that allows to adapt to each step (Markov chain) to the selections of the user, without forcing him to a fast convergence towards a limited series of products. The way to implement the relevance feedback, with weights granted to the objects and possibly to the criteria by each user, makes it possible to calculate weighted centers of gravity of the objects and criteria, which facilitates the reinforcement. (thanks to the fact of dividing the set by weights) and thus to use a semantic proximity with these centers of gravity.

II est à noter que, la plupart du temps, au contraire, le relevance feedback ne permet pas une navigation dans l'espace des objets (en l'absence de facteur d'oubli), elle est possible seulement si on sait ce que l'on cherche a priori et ne permet pas d'erreurs. En effet, toute erreur de formulation initiale reste déterminante au cours de la recherche, alors que le présent procédé, du fait du facteur d'oubli des objets sélectionnés à une phase ancienne, élimine les objets initiaux, et permet une navigation dans l'espace des objets, quel que soit en fait le point de départ de la recherche. Le flux d'informations entre chaque itération permet de remettre la base à jour en tenant compte des modifications liées aux sessions de tous les utilisateurs 25 venant de terminer leur session. La dualité critère-objets permet d'hybrider la recherche (on travaille sur les critères comme sur des objets, en leur accordant un poids de pertinence, une évolution etc.). La portée de la présente invention ne se limite pas aux détails des formes de 30 réalisation ci-dessus considérées à titre d'exemple, mais s'étend au contraire aux modifications à la portée de l'homme de l'art. Dans la pratique, les critères Cf, qui correspondent à des termes de recherche, ne sont pas totalement indépendants les uns des autres (problème de polysémie). Le sens de certains mots recouvre partiellement celui d'autres termes 35 utilisées également dans la recherche ou dans la qualification des objets. Dans cette hypothèse, on réfute l'orthogonalité de la base C;, jE[l..m], et le produit scalaire Ci.C; n'est pas nécessairement nul lorsque i # j n En fait, on a : C E WkiWkj k=1 It should be noted that, most of the time, on the contrary, the relevance feedback does not allow a navigation in the space of the objects (in the absence of forgetting factor), it is possible only if one knows what the we look a priori and do not allow mistakes. Indeed, any error of initial formulation remains decisive during the research, whereas the present process, because of the forgetting factor of the objects selected at an old phase, eliminates the initial objects, and allows a navigation in the space objects, whatever the point of departure of the search. The flow of information between each iteration makes it possible to update the database taking into account the session-related changes of all the users who have just finished their session. The criterion-object duality makes it possible to hybridize research (one works on the criteria as on objects, giving them a weight of relevance, an evolution etc.). The scope of the present invention is not limited to the details of the above embodiments considered by way of example, but on the contrary extends to modifications within the scope of those skilled in the art. In practice, the criteria Cf, which correspond to search terms, are not totally independent of one another (problem of polysemy). The meaning of certain words partly overlaps with other terms used also in searching or qualifying objects. In this hypothesis, we refute the orthogonality of the base C ;, jE [l..m], and the scalar product Ci.C; is not necessarily zero when i # j n In fact, we have: C E WkiWkj k = 1

ce qui constitue alors une variante du modèle utilisé. On est ici dans le cas de recherche de proximité sémantique entre critères, de même qu'on a analysé en début de procédé par méthode d'analyse sémantique latente une proximité sémantique entre objets. which is then a variant of the model used. We are here in the case of semantic proximity search between criteria, just as we analyzed at the beginning of the method by latent semantic analysis method a semantic proximity between objects.

Dans une autre variante, les paramètres spécifiques à un utilisateur sont enregistrés dans un espace mémoire adapté ( cookie sur son ordinateur par exemple, on rappelle qu'un cookie , terme anglophone, désigne un petit fichier texte stocké par le navigateur internet sur le disque dur du visiteur d'un site internet et qui sert, entre autres, à enregistrer des informations sur le visiteur ou encore sur son parcours dans le site.) à la fin de chacune de ses sessions de recherche, en tenant compte en particulier des proximités perceptuelles d'objets ou de critères pour lui (matrice de renforcement des occurrences critères/objet). Lors d'une nouvelle session de recherche, le calcul des objets pertinents est initialement fait en utilisant ces paramètres. Dans une variante du procédé, une valeur seuil Vn,ax (sur les normes des objets renforcés) est introduite pour limiter le renforcement de la matrice, ou un signal caractérisant cet événement est envoyé à l'utilisateur. Dans une variante d'affichage des photos des objets proposés à l'utilisateur, un affichage de type force-base, connu en soi, est utilisé. Dans un tel affichage, les distances sémantiques entre les objets sont symbolisées par les distances entre les photos des objets affichés, et les objets sémantiquement proches voient leurs illustrations disposées également de façon proche sur l'écran de l'utilisateur. In another variant, the parameters specific to a user are stored in a suitable memory space (cookie on his computer for example, it is recalled that a cookie, English term, refers to a small text file stored by the internet browser on the hard disk the visitor of a website and which serves, among other things, to record information on the visitor or on his journey in the site.) at the end of each of his research sessions, taking into account in particular perceptual proximities objects or criteria for it (matrix of reinforcing the occurrences criteria / object). During a new search session, the calculation of the relevant objects is initially done using these parameters. In a variant of the method, a threshold value Vn, ax (on the standards of the reinforced objects) is introduced to limit the reinforcement of the matrix, or a signal characterizing this event is sent to the user. In an alternative display of photos of objects offered to the user, a force-base type display, known per se, is used. In such a display, the semantic distances between the objects are symbolized by the distances between the photos of the displayed objects, and the semantically close objects see their illustrations also arranged closely on the user's screen.

Dans une autre variante de mise en oeuvre du procédé, l'algorithme recherche des profils-type d'utilisateurs, caractérisés par les objets qu'ils ont sélectionnés, ou par les pondérations qu'ils accordent aux objets et critères. In another implementation variant of the method, the algorithm searches for user profiles, characterized by the objects they have selected, or by the weights they grant to the objects and criteria.

On cherche alors à identifier de quel utilisateur type ou combinaison d'utilisateurs types se rapproche l'utilisateur réel au fur et à mesure de son utilisation (sur une ou plusieurs sessions). Une possibilité de mise en oeuvre est l'utilisation d'algorithme génétique, selon une technique connue en soi, en travaillant sur une matrice donnant pour chaque utilisateur type listé en colonnes, et pour chaque objet en lignes, les pondérations relatives de ces objets par cet utilisateur type. We then try to identify which user type or combination of typical users approaches the real user as and when it is used (on one or more sessions). One possibility of implementation is the use of a genetic algorithm, according to a technique known per se, by working on a matrix giving for each typical user listed in columns, and for each object in rows, the relative weightings of these objects by this typical user.

Des utilisateurs types peuvent également être déterminés par une analyse en composante principale d'une matrice des objets pondérés par tous les utilisateurs précédents du procédé (pourvu que leur nombre devienne significatif, au moins quelques dizaines, préférentiellement plusieurs milliers). Une telle analyse est susceptible d'extraire les axes principaux du nuage de points de pondérations d'objets, et de regrouper les utilisateurs en grappes d'utilisateurs proches entre eux selon ces axes. Cette recherche de profils type permet alors lors d'une itération du procédé, de suggérer des objets faisant partie des résultats de recherche du profil type le plus proche de l'utilisateur. Typical users may also be determined by a principal component analysis of a matrix of weighted objects by all previous users of the method (provided that their number becomes significant, at least a few tens, preferably several thousand). Such an analysis is capable of extracting the main axes of the cloud of weighting points of objects, and of grouping the users into clusters of users close to each other along these axes. This search for standard profiles then makes it possible, during an iteration of the method, to suggest objects that are part of the search results of the type profile closest to the user.

Claims (11)

REVENDICATIONS1. Procédé de proposition itérative de listes de données, extraites d'une base de données d'objets O, décrits par des termes quantitatifs et des descripteurs non quantitatifs tels que photos, textes etc. en réponse à une requête de recherche Ho formulée sous forme de critères C; par un utilisateur, ledit procédé comprenant une phase 2 de requête, comprenant des étapes de : 201 - réception de la requête Ho de l'utilisateur et formatage de cette requête, puis lors du traitement de cette requête Ho: 202 - proposition à l'utilisateur d'une première liste d'objets décrit par un texte et au moins un descripteur non quantitatif, 203 - sélection par l'utilisateur d'une sous-liste Sä d'objets et de critères considérés par lui comme étant pertinents, et pondération de ces objets et critères par des coefficients ai de validation d'objets Oi et des coefficients bj de validation de critères Cj, 205 - génération d'une requête modifiée H, selon la sélection S, , 208 - itération de ces étapes de traitement de la requête H,,, jusqu'à atteindre une valeur seuil ou un signal de satisfaction de l'utilisateur, caractérisé en ce qu'il comprend également une étape de : 206 - modification des coefficients ai de validation d'objets Oi et des coefficients bj de validation de critères Cj, sélectionnés par l'utilisateur à chaque étape itérative, en multipliant ces coefficients de validation par un coefficient temporel f3. REVENDICATIONS1. A method of iteratively proposing lists of data, extracted from a database of objects O, described by quantitative terms and non-quantitative descriptors such as photos, texts, etc. in response to a search query Ho formulated as criteria C; by a user, said method comprising a request phase 2, comprising steps of: 201 - reception of the request Ho of the user and formatting of this request, then during the processing of this request Ho: 202 - proposal to the user of a first list of objects described by a text and at least one non-quantitative descriptor, 203 - selection by the user of a sub-list Sä of objects and criteria considered by him as being relevant, and weighting of these objects and criteria by coefficients α of validation of objects Oi and coefficients bj of criteria validation Cj, 205 - generation of a modified request H, according to the selection S, 208 - iteration of these processing steps of the request H ,,, to reach a threshold value or a signal of satisfaction of the user, characterized in that it also comprises a step of: 206 - modification of the coefficients ai of validation of objects Oi and coefficien ts bj validation criterion Cj, selected by the user at each iterative step, multiplying these validation coefficients by a time coefficient f3. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend également des étapes de : 204a - calcul des barycentres pondérés BS des objets et critères sélectionnés par l'utilisateur, 204b - détermination des objets et critères les plus proches de ces barycentres es, et classement par ordre de distance à ces barycentres pondérés B5, 2. Method according to claim 1, characterized in that it also comprises steps of: 204a - calculation of the weighted centers of gravity BS of the objects and criteria selected by the user, 204b - determination of objects and criteria closest to these centers of gravity es, and ranking in order of distance at these B5 weighted centers of gravity, 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend également une étape de :207 - Proposition des produits encore non optimaux ou non évalués, soit par corrélation sémantique, soit en augmentant artificiellement la fréquence d'affichage pour recueillir au moins un avis. 3. Method according to any one of the preceding claims, characterized in that it also comprises a step of: - Proposition of products that are not yet optimal or not evaluated, either by semantic correlation or by artificially increasing the display frequency to collect at least one notice. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend également une phase 1 préliminaire comprenant des étapes de : 101 - acquisition des données, 102 ù pré-traitement des chaînes de données acquises 103 - normalisation de la matrice des occurrences w;; des termes de recherche pour chaque objet de la base de données, 104 - simplification de la matrice des occurrences w;; par analyse sémantique latente. 4. Method according to any one of the preceding claims, characterized in that it also comprises a preliminary phase 1 comprising steps of: 101 - acquisition of the data, 102 - preprocessing of the acquired data strings 103 - normalization of the matrix of occurrences w ;; search terms for each object in the database, 104 - simplification of the occurrence matrix w ;; by latent semantic analysis. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le coefficient temporel R est décroissant d'une étape itérative à la suivante. 5. Method according to any one of claims 1 to 4, characterized in that the time coefficient R is decreasing from one iterative step to the next. 6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le coefficient temporel R est croissant d'une étape itérative à la suivante. 6. Method according to any one of claims 1 to 4, characterized in that the time coefficient R is increasing from one iterative step to the next. 7. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le coefficient temporel R augmente pendant les premières étapes itératives du procédé, puis diminue ensuite progressivement. 25 7. Method according to any one of claims 1 to 4, characterized in that the time coefficient R increases during the first iterative steps of the process, and then decreases gradually. 25 8. Procédé selon la revendication 7, caractérisé en ce que le changement de sens de l'évolution du critère temporel R est déterminée par un critère d'arrêt prédéfini à partir des objets sélectionnés par l'utilisateur. 8. Method according to claim 7, characterized in that the change of direction of the evolution of the time criterion R is determined by a stopping criterion predefined from the objects selected by the user. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé 30 en ce qu'il comprend également des étapes postérieures à la fin de session d'un utilisateur, de : 301 - génération d'objets et critères modifiés dans la base de données par renforcement selon la sélection Sä . 35 9. Method according to any one of the preceding claims, characterized in that it also comprises steps subsequent to the end of a user's session, of: 301 - generation of objects and modified criteria in the database by reinforcement according to the selection Sä. 35 10. Procédé de recherche itérative de produits d'un catalogue, décrits par un texte et une photo sous forme de page-objet sur un site de type Internet,20caractérisé en ce qu'il comporte un procédé de proposition itérative de listes de données parmi les objets de ce catalogue en réponse à une requête d'un utilisateur, selon l'une quelconque des revendications précédentes, en ce que la base de données et un logiciel mettant en oeuvre le procédé de 5 proposition sont hébergés sur un serveur indépendant de l'utilisateur. 10. A method of iterative search for products of a catalog, described by a text and a photo in the form of an object page on an Internet type site, characterized in that it comprises a method of iteratively proposing lists of data among the objects of this catalog in response to a request from a user, according to any one of the preceding claims, in that the database and software implementing the proposal method are hosted on a server independent of the user. 'user. 11. Produit programme d'ordinateur, comprenant des instructions de code de programme pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 10, lorsque ledit programme est exécuté sur un ordinateur. A computer program product, comprising program code instructions for performing the steps of a method according to any one of claims 1 to 10, when said program is executed on a computer.
FR0900582A 2009-02-11 2009-02-11 Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient Withdrawn FR2942057A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0900582A FR2942057A1 (en) 2009-02-11 2009-02-11 Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0900582A FR2942057A1 (en) 2009-02-11 2009-02-11 Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient

Publications (1)

Publication Number Publication Date
FR2942057A1 true FR2942057A1 (en) 2010-08-13

Family

ID=41211208

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0900582A Withdrawn FR2942057A1 (en) 2009-02-11 2009-02-11 Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient

Country Status (1)

Country Link
FR (1) FR2942057A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804670A (en) * 2018-06-11 2018-11-13 腾讯科技(深圳)有限公司 Data recommendation method, device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165859A1 (en) * 2001-04-04 2002-11-07 International Business Machines Corporation Method of ranking items using efficient queries
US20060074905A1 (en) * 2004-09-17 2006-04-06 Become, Inc. Systems and methods of retrieving topic specific information
US7269587B1 (en) * 1997-01-10 2007-09-11 The Board Of Trustees Of The Leland Stanford Junior University Scoring documents in a linked database
US20080027925A1 (en) * 2006-07-28 2008-01-31 Microsoft Corporation Learning a document ranking using a loss function with a rank pair or a query parameter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269587B1 (en) * 1997-01-10 2007-09-11 The Board Of Trustees Of The Leland Stanford Junior University Scoring documents in a linked database
US20020165859A1 (en) * 2001-04-04 2002-11-07 International Business Machines Corporation Method of ranking items using efficient queries
US20060074905A1 (en) * 2004-09-17 2006-04-06 Become, Inc. Systems and methods of retrieving topic specific information
US20080027925A1 (en) * 2006-07-28 2008-01-31 Microsoft Corporation Learning a document ranking using a loss function with a rank pair or a query parameter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804670A (en) * 2018-06-11 2018-11-13 腾讯科技(深圳)有限公司 Data recommendation method, device, computer equipment and storage medium
CN108804670B (en) * 2018-06-11 2023-03-31 腾讯科技(深圳)有限公司 Data recommendation method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN109829104B (en) Semantic similarity based pseudo-correlation feedback model information retrieval method and system
US10664662B2 (en) Multi-scale model for semantic matching
US10089580B2 (en) Generating and using a knowledge-enhanced model
CN106415535B (en) Context-dependent search using deep learning models
EP1470501B1 (en) Methods and systems for searching and associating information resources such as web pages
US7689615B2 (en) Ranking results using multiple nested ranking
JP5309155B2 (en) Interactive concept learning in image retrieval
CN106462807B (en) Learn semantic information of multimedia according to extensive unstructured data
WO2017070656A1 (en) Video content retrieval system
EP3367676A1 (en) Video content analysis for automatic demographics recognition of users and videos
WO2015188023A1 (en) Click-through-based cross-view learning for internet searches
EP2783303A1 (en) Prototype-based re-ranking of search results
US10353951B1 (en) Search query refinement based on user image selections
CN112074828A (en) Training image embedding model and text embedding model
US20100121844A1 (en) Image relevance by identifying experts
US10740385B1 (en) Identifying visual portions of visual media files responsive to search queries
EP1766538A1 (en) Automatic search for similarities between images, including a human intervention
WO2023029350A1 (en) Click behavior prediction-based information pushing method and apparatus
Vladimir et al. The MP13 approach to the KDD'99 classifier learning contest
Arevalillo-Herráez et al. A relevance feedback CBIR algorithm based on fuzzy sets
FR2942057A1 (en) Iterative data list proposing method for searching products of catalog, involves modifying objects validation and criteria validation coefficients selected by user by multiplying coefficients by temporary coefficient
FR2939537A1 (en) SYSTEM FOR SEARCHING VISUAL INFORMATION
CN115098728A (en) Video retrieval method and device
CN117056575B (en) Method for data acquisition based on intelligent book recommendation system
AU2022204665B2 (en) Automated search and presentation computing system

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20101029