FR 2942057 A1 20100813 FR 0900582 A 20090211 � Procédé de recherche itérative de données� 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. 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.). 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...). 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. 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. 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. 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. 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. 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 On décrit ici d'abord la création de la base de données. 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. 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. w; représente alors dans cet exemple la corrélation entre l'objet Or et le critère Cr. A û Le premier élément mathématique à préciser concerne la proposition des objets. 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. 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 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. 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 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. 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é. 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 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. 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. 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. 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. 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. 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. 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). 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. 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. 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. 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). 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 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. 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. 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é. 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). 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. 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. 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). 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). 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. 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. 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), ...). 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. 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 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. 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. 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. 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. 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. 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. 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, 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. 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. 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. 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. 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 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. 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 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. 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.