Brevet FR2817637A1 — publié le 20020607

PROCEDE ET SYSTEME DE REPRESENTATION DYNAMIQUE D'UN ESPACE D'OBJETS CARACTERISES PERMETTANT LA RECOMMANDATION DES DITS OBJETS OU DE LEURS CARACTERISTIQUES La présente invention concerne le domaine de la représentation dynamique d'informations, afin de faciliter l'organisation d'objets informationnels en fonction de leurs relations catégorielles (caractéristiques), de permettre l'accès rapide aux objets dans cet espace et de réaliser des recommandations des dits objets ou de leurs caractéristiques. La progression considérable du nombre d'informations accessibles, notamment en ligne par le réseau Internet, ou dans des systèmes d'information privés, rend difficile pour l'utilisateur l'accès rapide à une information pertinente. Il est donc apparu nécessaire, au cours des dernières années, de fournir à l'utilisateur une synthèse visuelle de cet espace d'information basée sur une analyse des corrélations existants entre les informations. L'utilisateur ayant recours à de tels outils cartographiques peut s'orienter dans une représentation multidimensionnelle du système d'information pour atteindre plus rapidement les informations susceptibles de l'intéresser. On connaît, dans l'état de la technique, différentes solutions de cartographie d'information. On connaît par exemple dans l'état de la technique, le brevet PCT W09504960. Ce brevet concerne un programme informatique pour gérer des informations extraites d'une base de données structurée telle qu'une base de données relationnelles. Le processeur sert à construire une pluralité d'instances objets qui possèdent chacune leur propre carte d'identification d'objet unique qui produit une cartographie entre l'instance objet et au moins une rangée de la base de données structurée. Le processeur construit une seule structure de données cohésive, appelée antémémoire d'objets, qui contient toutes les instances d'objets et représente les informations récupérées de la base de données structurée sous une forme adaptée à l'utilisation par un ou plusieurs programmes orientes objets. Le brevet PCT W09506292 concerne un outils informatisés pour la modélisation de conceptions de bases de données et la spécification d'interrogations des données qu'elles contiennent, sous la forme d'un arbre de faits. Une fois l'arbre de faits vérifié, un système de cartographie des interrogations de l'invention est utilisé pour générer des interrogations. Un autre brevet PCT W09840832 concerne un procédé servant à recommander des articles à des utilisateurs à l'aide de profils d'utilisateurs de magasins coopératifs automatisés, qui ont trait à des articles stockés dans une mémoire. Des profils d'articles peuvent également être stockés dans la mémoire, les profils d'articles associant des utilisateurs à une cotation qu'un utilisateur donne attribue à l'article, ou à une cotation que le système attribue par déduction à l'utilisateur. Les profils d'utilisateur comportent des informations supplémentaires concernant l'utilisateur, ou des informations associées à la cotation attribuée par ce dernier à un article. Des profils d'utilisateurs sont récupérés et les cotations sont utilisées pour calculer des facteurs de similitude avec d'autres utilisateurs. Les facteurs de similitude, parfois liés à des facteurs de confiance, sont utilisés pour sélectionner un ensemble d'utilisateurs voisins. Les utilisateurs voisins sont pondérés d'après leurs facteurs de similitude respectifs en vue d'obtenir une prévision de cotation pour un article faisant partie du domaine considéré. Un objet servant à fournir un stockage de données isolées, hiérarchiques peut être utilisé dans un procédé de recommandation d'article à un utilisateur donné. L'objet de données est associé à un élément de mémoire physique et fournit une interface pour stocker et récupérer des données de l'élément de mémoire physique. Un système permettant d'activer un marché d'informations comporte un serveur central stockant des données dans un élément de mémoire. Les données peuvent être chiffrées ou non chiffrées ; quelles qu'elles soient, le serveur peut également stocker un tableau associant des éléments de données et des noeuds à une valeur d'autorisation. Si un noeud demande des données pour lesquelles la valeur d'autorisation du tableau accorde un accès, le serveur transmet les données au noeud. Si les données sont chiffrées, le serveur peut transmettre les données chiffrées ou déchiffrer celles-ci pour le noeud avant de les transmettre. Le but de l'invention est d'améliorer les outils et procédés de cartographie de l'information en permettant un nouveau mode d'organisation visuel des moyens de localisation et de repérage de l'information. Pour un site Web en particulier, il s'agit d'offrir à l'utilisateur, une vision synthétique et personnalisée de ce qu'il a déjà fait (historique), où il se situe par rapport aux autres utilisateurs et à ses propres caractéristiques et où il peut aller (perspectives de produits/services). La représentation devient alors un moyen de navigation sur le site. L'invention concerne selon son acception la plus générale un procédé pour la génération d'une cartographie dynamique d'un espace d'information composé d'objets décrits sous la forme de descripteurs élémentaires appelés caractéristiques . Chaque objet et caractéristique peut être associé à des adresses de fichiers numériques. Il s'agit de construire pour un utilisateur, une vision synthétique des objets et de leurs caractéristiques sous la forme d'une représentation multidimensionnelle appelée plan. Ce plan est issu d'une analyse des corrélations entre les objets caractérisés. Le plan permet d'atteindre plus rapidement les objets ou caractéristiques susceptibles d'intéresser l'utilisateur et de réaliser des recommandations des dits objets ou caractéristiques. Pour améliorer la pertinence du plan, celui-ci peut être personnalisé en prenant en compte les spécificités de l'utilisateur. Le plan est constitué d'un ensemble de zones activables permettant d'accéder aux objets représentés, au aux caractéristiques ou à d'autres informations les concernant comme les recommandations. Cet accès peut se faire directement ou par l'intermédiaire d'un menu. Plus généralement, le procédé consiste à trier et filtrer des objets caractérisés puis à construire une image permettant l'accès aux descriptions des dits objets et de leurs caractéristiques par des zones activables positionnées en fonction du degré de corrélation entre les caractéristiques des dits objets, caractérisé en ce qu'il comporte : - une première étape d'évaluation du profil de chaque objet à l'aide de ses caractéristiques (le profil étant une description de l'ensemble des caractéristiques de l'objet), une deuxième étape de filtrage collaboratif, consistant à déterminer au moins un groupe d'affinité constitué par l'ensemble de profils dont la distance, par rapport à un profil donné, est inférieure à une valeur seuil, - une troisième étape d'analyse de corrélation des caractéristiques des objets du groupe d'affinité projetant les caractéristiques dans un espace multidimensionnel. - une quatrième étape de construction d'une image composée de zones activables représentant les caractéristiques des groupes d'affinités, de zones activables représentant les objets du groupe d'affinité et des zones représentant les liens entre les caractéristiques, chaque zone pouvant permettre l'accès direct ou indirect à un ou plusieurs fichiers numériques. Lors de cette étape, des recommandations de caractéristiques ou sous-caractéristiques peuvent être calculées pour une zone donnée en fonction d'un objet particulier, alors appelé objet de référence. Une implémentation de la quatrième étape consiste à utiliser l'analogie du plan de quartier en décrivant les zones représentant les caractéristiques sous forme de places , les zones représentant les objets par de quartiers , les zones représentant les liens entre caractéristiques par des rues . La figure 4 illustre un exemple de ce type d'implémentation. Une implémentation de la quatrième étape consiste à utiliser l'analogie du plan de magasin en décrivant les zones représentant les caractéristiques sous forme de rayons , les zones représentant les liens entre caractéristiques par des allées entre les rayons, les zones représentant les objets par des polygones dans les allées . La figure 5 illustre un exemple de ce type d'implémentation. De préférence, le procédé comporte une étape de calcul des caractéristiques implicites d'un utilisateur, consistant à enregistrer dans une mémoire des paramètres associés à des descripteurs des actions historiques dudit utilisateur. Les descripteurs des actions historiques dudit utilisateur peuvent être constitués notamment par des identifiants des pages consultées par ledit utilisateur. Selon une variante, le procédé selon l'invention comporte une étape de calcul des caractéristiques explicites d'un utilisateur, consistant à enregistrer dans une mémoire des paramètres définis à partir d'une table de préférences. Ces caractéristiques, utilisées par l'analyse de données, peuvent être visibles ou non sur la représentation graphique. La présente invention sera mieux comprise à la lecture de la description qui suit en relation avec les figures annexées et se référant à un exemple non limitatif de réalisation. Cette description comporte une première partie relative aux méthodes de calcul des composants mis en oeuvre par l'invention, une deuxième partie décrivant plusieurs exemples d'interfaces et une troisième partie présentant un exemple de décomposition fonctionnelle d'un système pour la mise en oeuvre de l'invention. La figure 1 illustre un exemple de pré-placement des caractéristiques de la base lors de l'analyse de corrélation. La figure 2 illustre un exemple de pré-placement des caractéristiques (autre que celles de la base) lors de l'analyse de corrélation. La figure 3 illustre un exemple d'interface du système utilisant l'analogie du plan de quartier dans le domaine des sites Web d'enchères, avec des exemples de menus. La figure 4 illustre un exemple d'interface du système utilisant l'analogie du plan de quartier appliquée au domaine des sites Web de commerce en ligne. La figure 5 illustre un exemple d'interface du système utilisant l'analogie du plan de magasin appliquée au domaine des sites Web de commerce en ligne, La figure 6 schématise l'architecture fonctionnelle d'un sous-ensemble du système appelé serveur de précalcul La figure 7 schématise l'architecture fonctionnelle d'un sous-ensemble du système appelé serveur de plan Le procédé selon l'invention est basé sur la caractérisation d'objets par des caractéristiques et des souscaractéristiques. Un objet est un élément d'un ensemble d'objets pouvant être différenciés par des informations élémentaires les décrivant appelées caractéristiques. Il peut s'agir d'utilisateur, d'un site ou encore de toute autre forme d'information. Les objets et les caractéristiques peuvent être positionnés sur la représentation graphique, appelée plan. Le plan peut être calculé selon les caractéristiques d'un objet de référence afin de le personnaliser (i. e. prendre en compte le point de vue de cet objet). A titre d'exemple, pour la cartographie des informations contenues dans un site Web de ventes aux enchères : Les objets sont les utilisateurs (internautes), L'objet de référence est l'utilisateur courant (connecté au site), les caractéristiques sont les rubriques définies par le site, - les sous-caractéristiques correspondent aux enchères en cours - le profil de l'utilisateur est donc composé des caractéristiques implicites déduites de l'historique des transactions (rubriques où l'utilisateur a réalisé des ventes et achats ou enchères) et de l'historique de navigation (rubriques consultées par l'utilisateur). On définit : - l'ensemble des objets 0 = {o0, o1, ... ok, ...om-1},m =Card (O) l'ensemble des caractéristiques C = Ico, cl,... ci,... Con-1 décrivant les objets, n=Card (C) - l'ensemble des sous-caractéristiques C'= {c'o, c'l,... c'i,... c'p-i} décrivant les objets, p=Card (C') Pour chaque caractéristique Ci E C, on définit un ensemble de sous-caractéristiques associées noté C'i tel que C'l c C'. Notons que C'=uC'i (i. e. Les C'i forment une partition de C') On définit ensuite des profils, formés par un ensemble de caractéristiques qui peuvent être pondérées. Ces caractéristiques peuvent être hétérogènes. On peut, pour un même objet, définir plusieurs profils. On définit la matrice des profils notée P = Pom, n (R) = (Pk, i) Où Pk, i est une pondération décrivant la valeur de la caractéristique Cl pour l'objet Ok Chaque objet Ok est donc décrit par un vecteur (Pk, 0,..., pk,i,..., pk, p-l) On définit la matrice P'= P'm, p (R) = (p'k, i) Où p'k, i est une pondération décrivant la valeur de la sous-caractéristique c'i pour l'objet Ok Chaque objet Ok est donc décrit par un vecteur (P'k, 0,..., P'k, i,..., P'k, n-l) On définit : l'ensemble des caractéristiques liées à un objet Ok noté C (ok) = {ci # C / pk,1#0 } l'ensemble des sous-caractéristiques liées à un objet Ok noté Cl (ok) = { c'i # C' / ;'k,i#0} l'ensemble des objets liés à une caractéristique ci noté 0 (c) = {Ok E 0/Pk, i0} l'ensemble des objets liés à une sous-caractéristique c'i noté 0 (c'i) = {ok O / p'k,i#0} Rayonnement On définit R matrice de rayonnement/Rn, n (N) = (ri, j) Cette matrice exprime les liens créés par les objets entre les caractéristiques. ri, j = rayonnement entre deux caractéristiques ci et Cj = Card (0 (ci) nO (cl)) = nombre d'objets communs aux deux caractéristiques Il s'agit donc d'une matrice symétrique i. e. rj=rj, i ri, i est le nombre d'objets ok où pk,i#0, c'est à dire le nombre d'objets ayant pour caractéristique Ci. On l'appellera fréquence de la caractéristique ci, noté fi, On peut définir par extension : le vecteur de rayonnement d'une caractéristique i : ri = (ri, o, ri,1, ... r1,j, ...ri,n-1) : l'ensemble de rayonnement d'une caractéristique = Ri= {Cj e C/ri,, two}, c'est à dire l'ensemble des caractéristiques ayant au moins un objet commun avec la caractéristique Ci. l'ensemble de rayonnement d'un ensemble A de caractéristiques noté RA = U Ri llc, EA On définit : le vecteur de rayonnement d'un ensemble A cC : rA/ (rA) n (N) = rA, j où rA, j= Card ( (UO (c,)) nO (cj)) Ilc, ca la Puissance de Rayonnement d'une caractéristique = Pri = Rayonnement pondéré Le rayonnement simple ne permet pas forcément d'exprimer la force du lien entre deux caractéristiques dans son contexte (c'est à dire tous les objets). Ainsi, par exemple : une caractéristique Ci ayant un seul objet commun avec cj donnera un ri, j = 1 quel que soit la fréquence de Ciet Cj (1 occurrence ou 1000 !). Pourtant l'importance du lien qui en résulte est différente. C'est pourquoi on définit le rayonnement pondéré exclusif entre deux caractéristiques cl et Cj afin de prendre en compte la fréquence des objets pour évaluer l'importance du lien entre les caractéristiques. rpi, j = rayonnement pondéré entre deux caractéristiques ci et Cj Notons que rpi, j Ce coefficient exprime la puissance du lien entre ci et Cj sous la fome d'un coefficient compris entre 0 et 1. Si rpi, j j =1, alors (Ri-Rj) ou (Rj-Ri) = 0, c'est à dire lorsque la caractéristique ci est dans un objet c est aussi dans cet objet ou lorsque la caractéristique Cj est dans un objet Cl est aussi dans cet objet. Par extension, on définit aussi : le rayonnement pondéré entre une caractéristique ci et un ri, A 1 ensemble A de caractéristique noté rpi, ou mm (fA, f,) la Puissance de Rayonnement pondéré d'une caractéristique Rayonnement pondéré exclusif Afin de construire une base de caractéristiques, (i. e. un ensemble de caractéristiques permettant d'exprimer les autres caractéristiques), on recherche un coefficient permettant de mesurer l'importance de ce qui différencie le rayonnement de deux caractéristiques. Ce coefficient doit s'assurer que la différenciation résulte des deux caractéristiques. La différence symétrique entre Ri et Rj (noté Ri-Rj) nest donc pas suffisante puisque malgré une différence symétrique forte on peut avoir Ri-Rj ou Rj-Ri=0. C'est pourquoi, On définit RP (ex) matrice de rayonnement pondéré exclusif/RP (ex) n, n (N) : = (rp (ex) i, j) rp (ex) i, = rayonnement pondéré exclusif entre deux caractéristiques ci et c3 rp (ex) i, j= = niveau commun de différenciation entre deux caractéristiques ci et Cj Il s'agit donc d'une matrice symétrique i. e. rp (eux) 1, j=rp (ex) j, i On peut définir par extension le rayonnement pondéré exclusif entre un ensemble A c C et une caractéristique ci rp (ex) i, A= On définit la Puissance de Rayonnement pondéré exclusif d'une caractéristique cl = Prp (ex) i = Lp ( 1. Filtrage & recommandation coefficient d'affinité Il s'agit d'exprimer une distance entre deux objets en fonction de leur profil respectif. Cette valeur permettra à la fois de définir le groupe d'affinité d'un objet Ok pour restreindre l'analyse à ces objets, et d'aider au calcul de recommandation. Cette distance prend en compte à la fois l'intersection mais aussi la différence symétrique entres les profils. En effet, deux objets ayant une même intersection mais une différence symétrique divergente ne sauraient être considérés comme similaires. On définit donc le coefficient d'affinité entre deux objets on et 01, noté Ai, tel que Où Maxp est la valeur maximale des Pk, i Où est une fonction définissant l'importance des pondérations dans le coefficient d'affinité Par défaut, on fixe (p, Maxp) =log (p + 1) qui minimise l'effet de la pondération On définit le groupe d'affinité d'un objet Ok noté Affktel que Affk= {oie 0/Ak, lAmin} où Amin est un seuil fixé par le gestionnaire WPS. coefficient de recommandation On définit le coefficient de recommandation d'une caractéristique ci pour un objet Ok. Ce coefficient indique le niveau de la recommandation : plus le coefficient est fort, plus la recommandation est pertinente ; plus il est faible, plus elle est sujette à caution. y (P,.,, M) y Si Pk, i0 alors Reci= ------ sinon Recl=O Card (O (c,) (0 ( Où If est la fonction défini en 3. 1 On définit le coefficient de recommandation d'une sous-caractéristique c'i pour un objet Ok l (PMM A Si p' iO alors Rec'i= "'------- sinon Rec'i =0 Card (O (c',) nA,) 2. Analyse Famille de rayonnement de base Ro La famille de base est un ensemble de caractéristiques qui va servir de base pour exprimer le positionnement des autres caractéristiques sur le plan. Objet de référence Lorsqu'il existe un objet de référence Or alors Pr c Ro. 1. On note R'o, l'ensemble Ro en cours de constitution (calcul) et on fixe donc initialement R'o=Pr 2. Puis on ajoute à l'ensemble R'o, les caractéristiques ci ayant rp (ex) R'o, i maximal, i. e. R'o=R'o+ {CiC C/Cig R'o & rp (ex) R'o, i maximal} Jusqu'à ce que l'ensemble de rayonnement ( (RR'o=C) & (Card (R'o) > =3)) 3. Alors Ro=R'o Base optimale En cas d'absence d'objet de référence, WPS calcule une base"optimale"pour exprimer le positionnement des caractéristiques. 1. R'o est constitué initialement de la caractéristique Ci ayant la Prpi la plus forte, 2. Puis on ajoute à l'ensemble R'o, les caractéristiques ci ayant rp (ex) R'o, i maximal i. e. R'o=R'o+ { ci# C/ci Jusqu'à ce que l'ensemble de rayonnement ( (RR'o=C) & (Card (R'o) > =3)) 3. Alors Ro=R'o Placement de la base Ro On note EC (A) l'enveloppe convexe formée par un ensemble A de points. On note R'o, l'ensemble des caractéristiques déjà placées, initialement R'o=# Calcul de 0'ref S'il existe un objet de référence, on calcule à chaque itération le point de référence O'ref tel que Sinon L (CjOlre !) = Sinon J IJsR'o j/c. EzR'o On place au centre, la caractéristique ci de la base ayant la Prpi la plus forte, Puis on place les caractéristiques Ci ayant rp (ex) R'o, i maximal i. e. R'o=R'o+ { ci# C/ci% R'o & rp (ex) R'0,i maximal }. Le placement est alors défini par les règles suivantes : 1. si 3 cj # R'o / rp (ex) i,j=0, alors Ci=Cj 2. #Cj # R'o, #CiCj # > = rp(ex)i,j 3. Ci EC (R'o). 4. #CiO'ref# soit minimal Placement de l'objet Oref A l'issu du placement de la base Ro, on place l'objet de référence Oref tel que tel que En cas d'absence d'objet de référence, on considère un objet de référence"virtuel"tel que La figure 1 montre un exemple de placement d'une nouvelle caractéristique Ci de Ro. Ro, o, Ro, l et Ro, 2 représentent trois caractéristiques de Ro déjà placées sur le plan. Le cercle les entourant représente la distance minimale définie dans la règle 2 (ci-dessus). 0'ref représente le point de référence tel que l Pre/, r (CjO're ;) = , prenant en compte les réf érence tel que i r (" j/cJER'o trois points déjà placés (Ra, Ro, l et Ro, 2). Le triangle regroupant les points (Ro, or Ro, l et Ro, 2) représente l'enveloppe convexe de R'o, notée EC (Ro). Le placement de Ci, notée Ro, 3, est obtenu en recherchant le point le plus proche de O'ref et n'étant pas inclus dans l'enveloppe convexe et ni même l'aire formée par les trois cercles. Placement des caractéristiques On définit Ci le point correspondant à la caractéristique Ci. On va placer les caractéristiques en fonction de leurs liens avec les éléments de la base Ro On note R', l'ensemble des caractéristiques déjà placées Initialement R'= # On choisit les caractéristiques ci dans l'ordre décroissant de rRo, i i. e. R'=R'+ {ciE C/ci R' & rRo, i maximal}. Le placement de Ci est alors défini selon les règles suivantes 1. si 3 cj # Ro / rpi,j=1, alors Ci =C) 2. si 3 cj # (r'-Ro) / rp1,j=1-#, alors Ci=Cj 3. Vcj e Ro & rpi, j :0, O, ICiC ! > = (l/rpi, )-l 4. Ci et. EC (Ro). 5. #CiOref# soit minimal La figure 2 montre un exemple de placement d'un nouvelle caractéristique Cl de {C-Ro}. R0,0, R0,1, R0,2 et R0,3 représente les trois caractéristiques de la base Ro déjà placées sur le plan. Le cercle les entourant représente la distance minimale définie dans la règle 3 exposée ci-dessus. 0'ref représente le point de référence tel que EP,., f, rci (y"f) = 6, /ee'o prenant en compte les points déjà placés (Ro, oy Ro, i Ro, z et Ro, 3). Le polygone regroupant les points (Ro, o, Ro, i Ro, 2 et Ro, 3). représente l'enveloppe convexe de Ro, notée EC (Ro). Le placement de Ci est obtenu en recherchant le point le plus proche de Oref et n'étant pas inclus dans l'enveloppe convexe et ni même l'aire formée par les quatre cercles. Le plan est constitué d'un ensemble d'éléments graphiques à afficher : places, quartiers, rues dans notre exemple d'application. Ces objets peuvent constituer des zones interactives pouvant afficher des menus et sous-menus. Places Chaque place représente un ensemble de caractéristiques. Chaque point Ci représente le positionnement de la caractéristique Ci. Certaines caractéristiques ont des positionnements identiques : Ci =Cj. On définit l'ensemble des places Pl qui correspond à l'ensemble des points formés par les Ci. Chaque place Plb représente donc un ensemble de caractéristiques {ci e C/Ci= Plb} Le positionnement des places est réalisé par un algorithme de relaxation entre les points Pl, chaque point étant lié par une force E Erp '/e, eP//sP On définit que le rayon d'une place est déterminé par la puissance de rayonnement de l'ensemble des caractéristiques la composant : L (p] j=Pic (plb) Rues On relie par des rues les places qui sont les plus proches les unes des autres. Les caractéristiques d'une rue sont définies par le rayonnement entre les places qu'elle joint (Plb et Plc). Les rues représentent donc l'importances des liens unissant deux places, c'est à dire deux ensemble de caractéristiques. Largeur = Wp, Z () Plb, Plc Si Wplpl, alors il n'y a pas de rue. Placement des objets On définit Ok le point correspondant à l'objet Ok. On place Ok selon le un principe barycentrique : où Cj est le positionnement définitif de la caractéristique Cj issu du positionnement des places (cf. 4. 1). Quartiers Chaque Quartier Qa est composé d'un ensemble d'objets. On définit les quartiers en recherchant les ensembles d'objets Q tel que Vok E Q Vol E Q, 1 OkOll 0 où 0 est une distance dépendant des caractéristiques du dispositif d'affichage du plan. Après avoir défini les objets constituant les quartiers, on utilise, afin de définir le positionnement des quartiers, un algorithme de relaxation pondéré par la surface des quartiers Qa tel que =. (, Pr,) klokGQ, ilc, ec La délimitation des quartiers est alors définie par un diagramme de Voronoï. Calcul des recommandations par Place Pour chaque place Plb, on calcule l'ensemble des caractéristiques recommandées noté C (rec) b C (rec) b= {Cj E Ph/Recj > RecMin} On classe l'ensemble dans l'ordre décroissant des Recj Ou les recommandations de sous-caractéristiques : C' (rec) b= {C'j E C'i & Ci E Plb/Rec'j > RecMin} On classe l'ensemble des recommandations dans l'ordre décroissant des Roc'j Où Recmin est un seuil fixé par le gestionnaire WPS. Description d'interfaces Les figures 3,4 et 5 illustrent des exemples d'interface pouvant être issues des méthodes de calcul précédemment exposées. La figure 3 illustre un exemple d'interface du système utilisant l'analogie du plan de quartier dans le domaine des sites Web d'enchères avec des exemples de menus et sous-menus. Les objets correspondent à des utilisateurs du site (i. e. internautes), l'objet de référence est l'utilisateur courant, les caractéristiques affichées représentent les rubriques du site, et les sous-caractéristiques correspondent aux actions de bases de l'utilisateur : achats, vente ou enchères. La zone claire (Zl) est constituée d'un ensemble de places représentant le profil de l'utilisateur, c'est à dire les rubriques où il a déjà réalisé des enchères. L'icône (Il) représente la position de l'utilisateur sur la cartes au regard des pondérations appliquées aux caractéristiques de son profil. En activant la zone (Il), l'internaute fait apparaître le menu (Ml) décrivant le détail de son profil. L'activation de l'élément (SM1.1) du menu (Ml) permet d'accéder à la page Web décrivant l'utilisateur courant sur le site et lui fournissant des services personnalisés. Les éléments des sous-menus (SM1. 2 et SM1.3) permettent d'accéder aux pages décrivant les enchères associées au profil de l'internaute. La zone foncée (Z2) représentent des rubriques suggérées par le procédé à partir de l'analyse du groupe d'affinité de l'internaute. L'activation d'une place (pal) fait apparaître un menu (M2), comportant des choix (SM2.1 SM2.2) permettant après activation un accès directe aux rubriques, un choix (SM2.3) permettant d'obtenir des recommandations de produits basée sur l'analyse des profils des utilisateurs du groupe d'affinité, et un choix (SM2.4) permettant d'obtenir des recommandations ciblées réalisées par le site. Les éléments des sous-menu (SM2.3) et (SM2.4) permettent d'accéder aux pages décrivant les objets recommandés en les activant. Les quartiers tel que le quartier (QI) représentent un ensemble d'utilisateurs en fonction de leurs profils. L'activation d'un quartier (QI) fait apparaître un menu (M3) contenant comme éléments les pseudos des utilisateurs de ce quartier. L'activation d'un élément (SM3.1) de ce menu permet d'accéder aux pages Web décrivant chacun de ces utilisateurs. La zone (Q3) représente une publicité ciblée définie par l'administrateur du site et dont le profil est conforme à celui de l'utilisateur. La figure 4 illustre un exemple d'interface du système utilisant l'analogie du plan de quartier appliquée au domaine des sites Web de commerce en ligne. Les objets correspondent à des utilisateurs du site (i. e. internautes), l'objet de référence est l'utilisateur courant, les caractéristiques affichées représentent les rubriques du site, et les sous-caractéristiques correspondent aux produits achetés par les utilisateurs. La zone claire (Zl) est constituée d'un ensemble de places représentant le profil de l'utilisateur, c'est à dire les rubriques où il a déjà réalisé des achats (ou éventuellement navigué). L'icône (Il) représente la position de l'utilisateur sur la carte au regard des pondérations appliquées aux rubriques de son profil. En activant la zone (Il), l'internaute fait apparaître un menu décrivant le détail de son profil et lui permettant d'accéder aux pages décrivant les produits associés à son profil. La zone foncée (Z2) représentent des rubriques suggérées par le procédé à partir de l'analyse des profils du groupe d'affinité de l'internaute. La place (pal) représente un ensemble de rubriques restant à découvrir par l'internaute. L'activation de la place (pal) fait apparaître un menu, permettant d'obtenir notamment des recommandations de produits basées sur l'analyse des profils des utilisateurs du groupe d'affinité, ou des recommandations ciblées réalisées par le site. Le site peut ajouter des menus spécifiques, comme par exemple les meilleures ventes des rubriques représentées par cette place. La zone (Q3) représente la publicité d'un produit, ciblée et définie par l'administrateur du site et dont le profil est conforme à celui de l'utilisateur. L'activation de cette publicité fait apparaître la page décrivant cette publicité, page résidant éventuellement sur un autre site. La figure 5 illustre un exemple d'interface du système utilisant l'analogie du plan de magasin appliquée au domaine des sites Web de commerce en ligne. Les objets correspondent à des utilisateurs du site (i. e. internautes), l'objet de référence est l'utilisateur courant, les caractéristiques affichées représentent les rubriques du site, et les sous-caractéristiques correspondent aux produits achetés par les utilisateurs. La zone claire (Zl) est constituée d'un ensemble de rayons représentant le profil de l'utilisateur, c'est à dire les rubriques où il a déjà réalisé des achats (ou éventuellement navigué). L'icône (Il) représente la position de l'utilisateur sur la carte au regard des pondérations appliquées aux rubriques de son profil. En activant la zone (Il), l'internaute fait apparaître un menu décrivant le détail de son profil et lui permettant d'accéder aux pages décrivant les produits associés à son profil. La zone foncée (Z2) représente des rubriques suggérées par le procédé à partir de l'analyse des profils du groupe d'affinité de l'internaute. Le rayon (Pl) représente un ensemble de rubriques restant à découvrir pour l'internaute. L'activation du rayon (Pl) fait apparaître un menu, permettant d'obtenir notamment des recommandations de produits basée sur l'analyse des profils des utilisateurs du groupe d'affinité, ou des recommandations ciblées réalisées par le site. Le site peut ajouter des menus spécifiques, comme par exemple les meilleures ventes des rubriques représentées par cette place. L'icône (12) (en forme de point d'interrogation) représente la publicité d'un produit, ciblée et définie par l'administrateur du site et dont le profil est conforme à celui de l'utilisateur. L'activation de cette publicité fait apparaître une image représentant la publicité et permet aussi d'accéder à la plage Web décrivant cette publicité, page résidant éventuellement sur un autre site. Ces trois interfaces précédemment décrites peuvent s'appliquer à d'autres types de sites Web , tels que, par exemple, les sites de recrutement, les sites de communautés, les sites de courtage en ligne, ou les sites de banque en ligne. Description fonctionnelle Par la suite, nous détaillons l'architecture fonctionnelle d'un système pour la mise en oeuvre de l'invention. Le système peut être décomposé en deux soussystèmes serveur indépendants dans leur fonctionnement : le serveur de pré-calcul (FIG. 1) et le serveur de plan (FIG. 2). Ce système est complété par un composant client appelé afficheur de plan et un ensemble d'outils d'administration. Le gestionnaire (SI) de données WPS est un composant serveur aussi appelé composant dictionnaire . Il utilise comme données d'entrées : identifiant utilisateur, nom du plan, identifiant d'objets et fournit en réponse des informations ou description sur les objets. C'est le composant qui fait le lien entre les données physiques (BD) et les données logiques WPS qui seront utilisées par les autres composants WPS. Ce composant d'accès doit être suffisamment ouvert pour faire face aux différentes solutions rencontrées dans la pratique. A cette fin, des connecteurs permettront de faire le lien entre le modèle de données WPS et des plate-formes externes. Des connecteurs standards seront fournis (vraisemblablement un accès générique-ODBC ou JDBC-et Oracle en natif dans un premier temps), mais aussi des ouvertures avec API (C++, Java) ou XML. Des connecteurs spécifiques pourront être développés pour les plate-formes de gestion de contenu les plus répandues. Le système proposé nécessite la mise en place d'une Base de données WPS afin de stocker les données spécifiques, telles que : - Données de pré-calcul sur l'affinité entre les profils, - Données sur les publicités et recommandations. La multiplicité des sources de données (et donc de la description des profils) et la nature hétérogène des caractéristiques des profils impose un modèle de données très souple. La définition d'un méta-modèle de données et la création d'un dictionnaire de méta-modèles sera un élément indispensable pour l'adaptation de cette technologie aux différents domaines d'application (et en particulier la réalisation de connecteurs). Le dictionnaire WPS contient pour chaque plan le modèle de données du plan et les informations pour accéder aux données décrivant les caractéristiques, profil d'utilisateur, publicité, recommandation. Il ne contient pas les données elle-même qui sont, soit stockées dans la BD WPS, soit dans une base externe. Le Pré-calculateur d'affinités (S2) est un composai serveur qui accède aux données décrivant les profils et stock les coefficients d'affinité entre chaque couple de profils. Afin d'éviter un goulot d'étranglement sur le temps de filtrage, ce composant est implémenté sous la forme d'un processus serveur en arrière-plan qui pré-calcule en permanence les coefficients d'affinités entre les profils. A partir de l'identifiant de l'utilisateur, le système serveur peut lire les caractéristiques du profil de l'utilisateur. Ce module doit permettre de déterminer le groupe d'affinité (les profils"proches"), afin de limiter le volume de données qui sera traité dans la prochaine étape. Ce premier filtrage sera principalement basé sur : éventuellement des critères spécifiques d'appartenance à un même groupe (par exemple des critères socio-démographiques : appartenance à une même classe d'âge, la même situation géographique, ou la même catégorie socioprofessionnelle), le coefficient d'affinité entre deux profils, un seuil d'affinité en dessous duquel l'affinité entre les profils est considérée comme nulle. C'est ce coefficient d'affinité qui sera stocké dans la BD WPS, pour chaque couple de profil (i, j), afin de garantir un bon temps de réponse du moteur de filtrage. Le seuil d'affinité et les critères d'appartenance permettent de limiter le nombre coefficient d'affinité. Le stockage des coefficients d'affinité permet également de garantir un démarrage à froid rapide. Il sera par ailleurs nécessaire de définir un processus de mise à jour de ces coefficients en fonction de la mise à jour des données d'origine (profils). Les Moteur de filtrage WPS (S3) est un composant serveur qui calcule les groupes d'affinités et les informations associées pour un plan particulier déterminé par l'identifiant utilisateur, le nom du plan. Le Moteur de filtrage doit réunir toutes les informations sur les profils à analyser : Profils d'utilisateur, Profils de recommandation, Profils de publicité... Pour cela, il accède aux coefficients d'affinités stockés dans la BD WPS et en déduit le groupe d'affinité associé à l'utilisateur courant. Puis, il demande au Gestionnaire de données WPS toutes les informations concernant ces profils afin de les transmettre à l'analyseur (S4). Dans tous les cas, les données brutes concernant les profils retenus doivent être projetées en mémoire pour garantir le temps d'analyse. La consommation"mémoire"de ce composant dépend donc essentiellement de la taille du groupe d'affinité. Le Moteur d'analyse et de recommandation (S4) est un composant serveur est une fonction essentielle. Il analyse les données fournit par le composant (S3) afin de définir un premier placement des caractéristiques et de l'objet de référence (i. e. l'utilisateur courant). Il calcule toutes les informations nécessaires au placement définitif des objets et caractéristiques ainsi qu'aux recommandations, afin de les transmettre au générateur de plan. La consommation mémoire de ce module est un des facteurs important de dimensionnement des serveurs. La mémoire utilisée est essentiellement composée de la description des profils analysés et des matrices de Rayonnement. Cette mémoire est allouée uniquement lors du calcul d'un plan et désallouée à son issue. Le Générateur de Plan (S5) est un composant serveur chargé de la synthèse du plan WPS : Il construit l'image au sens'vectoriel' (positionnement dans l'espace multidimensionnel) en garantissant l'absence de recouvrement et une lisibilité maximale. Il sélectionne les graphiques (selon les caractéristiques du plan et de la machine client). Il calcule et intègre les recommandations dynamiques et statiques (selon les caractéristiques du plan), et en particulier les images publicitaires. Il génère un fichier décrivant le plan tant dans son aspect graphique (objets graphiques) que sur le plan des interaction (zones interactives, menus, sous-menus). Le format du fichier pourra être basé sur le XML. L'Afficheur de plan est un composant client construit sur la machine client l'image globale du plan d'après le plan vectoriel, ainsi que les zones d'interaction (menus contextuels) à partir des informations transmises dans le fichier généré par le composant (S5). Ce module enregistre également les actions utilisateurs sur le plan : Choix d'une recommandation, Clic sur une zone Publicitaire, Accès à une tendance... Ce module subit le plus de contraintes quant aux plate-formes et aux types de navigateurs à supporter. L'implémentation sous la forme d'un applet en Java 1 semble la meilleure alternative afin de garantir une portabilité "maximale". L'enregistreur des actions utilisateur est un composant serveur qui reçoit les informations sur les actions utilisateur transmises par le composant afficheur (S6) et les stockent L'enregistrement des actions des internautes sur le plan WPS est l'élément déterminant pour mesurer le retour sur investissement du système. La généricité d'une sortie SGBD doit permettre une analyse des données obtenues à partir d'outils d'analyse classiques. Le Configurateur système WPS est un composant constitué d'une interface graphique simple destinée aux administrateurs du site et permettant de configurer les connecteurs et du dictionnaire des données. Le Configurateur des plans WPS est un composant constitué d'une interface graphique simple permettant aux administrateurs du site ou aux intégrateurs de configurer des plans et leurs caractéristiques particulières, comme par exemple : 1) Données a) Description des données (voir 3.2) b) Méthodes d'accès aux données (voir 3.1) 2) Forme a) Image Vous êtes ici b) Images et symboles représentant les places i) éventuellement selon les propriétés de la place c) Images et Symboles représentant les quartiers i) éventuellement selon les propriétés de la place d) Couleurs du plan 3) Interactivité a) Définition des menus et sous-menu de places i) Recommandations dynamiques (selon le profil) ii) Recommandations statiques (du site WPS) b) Définition des menus et sous-menu de quartiers L'Atelier marketing des plans est un composant constitué d'une interface graphique simple permettant au service marketing du site de modifier l'environnement des plans pour animer le site Ajustement de cibles marketing en fonction du trafic "Mise en place de promotions (suggestions fixes en dehors du profil utilisateur) au travers des fonctionnalités de recommandations et de publicités ciblées. L'atelier marketing intègre un module de présentation des données qui exploite les informations sur le comportement des utilisateurs face aux plan WPS. Il génère graphiques, rapports, comme par exemple le nombre de clics sur le plan WPS, la distribution de ces clics selon les recommandations WPS... REVENDICATIONS 1-Procédé pour la génération d'une cartographie dynamique d'informations consistant à trier et filtrer des objets caractérisés puis à construire une image permettant l'accès aux descriptions des dits objets et de leurs caractéristiques par des zones activables positionnées en fonction du degré de corrélation entre les caractéristiques des dits objets, caractérisé en ce qu'il comporte : - une première étape d'évaluation du profil de chaque objet à l'aide de ses caractéristiques (le profil étant une description de l'ensemble des caractéristiques de l'objet), une deuxième étape de filtrage collaboratif, consistant à déterminer au moins un groupe d'affinité constitué par l'ensemble de profils dont la distance, par rapport à un profil donné, est inférieure à une valeur seuil, - une troisième étape d'analyse de corrélation des caractéristiques des objets du groupe d'affinité projetant les caractéristiques dans un espace multidimensionnel. - une quatrième étape de construction d'une image composée de zones activables représentant les caractéristiques des groupes d'affinités, de zones activables représentant les objets du groupe d'affinité et des zones représentant les liens entre les caractéristiques, chaque zone pouvant permettre l'accès direct ou indirect à un ou plusieurs fichiers numériques. 2-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 1 caractérisé par une implémentation de la quatrième étape consistant à décrire les zones représentant les caractéristiques sous forme de places , les zones représentant les objets par de quartiers , les zones représentant les liens entre caractéristiques par des rues 3-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 1 caractérisé par une implémentation de la quatrième étape consistant à décrire les zones représentant les caractéristiques sous forme de rayons , les zones représentant les liens entre caractéristiques par des allées entre les rayons, les zones représentant les objets par des polygones dans les allées ,. 4-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 1 caractérisé en ce qu'il comporte une étape de calcul des caractéristiques implicites d'un utilisateur, consistant à enregistrer dans une mémoire des paramètres associés à des descripteurs des actions historiques dudit utilisateur. 5-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 4 caractérisé en ce que les descripteurs des actions historiques dudit utilisateur sont constitués par des identifiants des pages consultées par ledit utilisateur. 6-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte une étape de calcul des caractéristiques explicites d'un utilisateur, consistant à enregistrer dans une mémoire des paramètres définis à partir d'une table"préférences". 7-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 1 caractérisé en ce que les profils sont des ensembles de caractéristiques pondérées. 8-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en ce que chaque objet Ok est décrit par un vecteur (Pk, o,-, Pk, i,..., Pk, p-l) où Pk, i est une pondération décrivant la valeur de la caractéristique ci pour l'objet Ok. 9-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte une étape additionnelle de"recommandation"consistant à commander la visualisation, dans une zone représentant des caractéristiques, un menu comprenant des caractéristiques ou sous-caractéristiques recommandées en fonction de profils déterminés par l'administrateur. 10-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte une étape additionnelle de"recommandation"consistant à commander la visualisation, dans une zone représentant des caractéristiques, un menu comprenant un ensemble de caractéristiques ou sous-caractéristiques recommandée par le groupe d'affinité. 11-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en ce que l'administrateur puisse définir le contenu ou la méthode définissant le contenu du menu visualiser dans une zone représentant des caractéristiques ou des objets. 12-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 9 caractérisé en ce que la caractéristique recommandée n'est pas prise en compte pour le calcul du positionnement des caractéristiques. 13-Procédé pour la génération d'une cartographie dynamique d'informations selon la revendication 9 caractérisé en ce que la caractéristique recommandée est prise en compte pour le calcul du positionnement des caractéristiques. 14-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé par le positionnement d'un objet de référence sur le plan. 15-Procédé pour la génération d'une cartographie dynamique d'informations selon l'une au moins des revendications précédentes caractérisé en que l'objet est un utilisateur d'un site Web , et les caractéristiques et sous-caractéristiques déduits directement ou indirectement des actions de l'utilisateur sur le site.