DISPOSITIF ET PROCEDE D'APPRENTISSAGE AUTOMATIQUE DE PROFILAGE DOMAINE TECHNIQUE DE L'INVENTION [0001] La présente invention concerne un système d'apprentissage 5 automatique de profilage d'utilisateur d'un réseau. Elle concerne par ailleurs un procédé de profilage correspondant. ETAT DE LA TECHNIQUE ANTERIEURE [0002] Le ciblage comportemental est une technique qui est employée pour augmenter l'efficacité ou la pertinence de données ou messages à transmettre à 10 un utilisateur, en se basant sur un historique des actions ou commandes ou comportements (par exemple actions, activités) de l'utilisateur. Dans certains cas particuliers, les données à transmettre comprennent des publicités, ou des offres de biens et services à présenter à un consommateur potentiel (c.-à-d. un utilisateur). L'analyse des actions précédentes de l'utilisateur dans ses interactions 15 en ligne (par exemple des pages Internet consultées, éléments multimédia sélectionnés, et produits achetés) à l'aide de règles ou d'algorithmes, peut permettre une caractérisation des préférences de l'utilisateur pouvant être incorporées dans un profil d'utilisateur. [0003] Typiquement, les règles ou les algorithmes employés pour générer un 20 profil d'utilisateur (c.-à-d. le profilage) sont adaptés au domaine spécifique (par exemple recherche ou consultation de pages Internet) auquel l'utilisateur participe. Les règles ou les algorithmes sont dérivés de l'analyse des comportements d'un ensemble d'utilisateurs ayant des activités dans le domaine spécifique. Dans l'art antérieur, les règles ou les algorithmes utilisés dans l'analyse sont le résultat soit 25 du développement humain, soit d'apprentissage automatique. Les règles ou algorithmes développés par des humains nécessitent une importante main d'oeuvre et sont de ce fait sujets à des erreurs. Les règles d'apprentissage automatique dérivées de l'exploration de données historiques d'utilisateur peuvent requérir d'importantes capacités de calcul, beaucoup de temps et de ce fait être 30 effectuées en mode différé (c.-à-d. pas en temps réel). [0004] En conséquence, un système et un procédé permettant d'améliorer le profilage d'actions d'utilisateurs sur un réseau, en se basant sur un apprentissage automatique, sont fortement souhaitables. EXPOSE DE L'INVENTION [0005] Selon un mode de réalisation de la présente invention, on prévoit un procédé de profilage d'un utilisateur d'un dispositif de calcul ou ordinateur, connecté à un réseau, basé sur les actions d'un utilisateur sur ce réseau. Le procédé comprend : la réception d'un événement utilisateur généré par des actions exécutées par l'utilisateur sur le dispositif de calcul, l'événement utilisateur identifiant une information d'identification d'événement indiquant le contenu demandé par l'utilisateur et un identifiant de l'utilisateur ; l'exécution d'une consultation dans une carte cachée du Web en utilisant l'information d'identification d'événement afin de déterminer une information de classification associée au contenu demandé par l'utilisateur, l'information de classification fournissant un enregistrement de texte-indice de pertinence comportant au moins une chaîne de caractères de texte et un indice de pertinence associés à la chaîne de caractères de texte, la chaîne de caractères de texte étant définie par rapport à une ontologie lexicologique comportant une hiérarchie des catégories, et l'indice de pertinence représentant une intensité ou force d'association ou taux d'interconnexion entre la chaîne de caractères de texte et le contenu ; la récupération de l'information de classification associée à l'information d'identification d'événement à partir de la carte cache de Web si l'information de classification est présente pour l'information d'identification d'événement ; la récupération d'un profil utilisateur associée à l'information d'identification de l'utilisateur à partir d'une base de données de profils ; la production d'information de mise à jour de profil en appliquant des règles de profilage définissant des liens connus entre les événements d'action d'utilisateur et les comportements d'utilisateur avec l'information de classification récupérée pour l'événement utilisateur, dans lequel l'information de mise à jour de profil identifie comment modifier le profil utilisateur en ajoutant l'information d'identification de classification ou en modifiant les indices existants de pertinence d'information d'identification de classification stockés dans le profil ; une mise à jour du profil utilisateur basée sur l'information de mise à jour, le profil d'utilisateur fournissant une caractérisation des préférences d'utilisateur ; et le stockage du profil utilisateur mis à jour, et dans lequel un serveur externe peut accéder au profil utilisateur. Selon un exemple de réalisation, le serveur externe est un serveur de publicité. [0006] Selon un autre mode de réalisation de l'invention, on prévoit un système de profilage d'un utilisateur d'un dispositif de calcul informatique, relié à un réseau, en se basant sur les actions sur le réseau d'un utilisateur. Le système comprend: un module récepteur d'événements pour recevoir un événement utilisateur généré par les actions exécutées par l'utilisateur sur le dispositif de calcul, l'événement utilisateur identifiant une information d'identification d'événement indiquant le contenu demandé par l'utilisateur ainsi qu'un identifiant utilisateur; un module de carte Web pour stocker l'information de classification associée une pluralité d'instances d'information et identification d'événement, l'information de classification fournissant des enregistrements de texte-indices de pertinence comportant au moins une chaîne de caractères de texte et un indice de pertinence lié à la chaîne de caractères, la chaîne de caractères de textes étant définie par rapport à un ontologie lexicologique comportant une hiérarchie de catégories et du texte finement catégorisé, les indices de pertinence représentant un niveau de force de liaison entre la chaîne de texte et le contenu; un module processeur d'événements pour traiter les événements reçus d'utilisateur afin de déterminer l'information de classification à partir de la carte Web, en se basant sur l'information d'identification d'événement; une base de données de profils, comportant une pluralité des profils utilisateur, chaque profil identifiant l'information de classification associée à un identifiant d'utilisateur unique, et fournissant une caractérisation des préférences d'utilisateur; et un module moteur de profilage pour récupérer un profil utilisateur à partir de la base de données de profils, en se basant sur l'identifiant utilisateur reçu et pour produire de l'information de mise à jour en appliquant des règles de profilage définissant des associations connues entre les événements d'action utilisateur et les comportements utilisateur à l'information de classification récupérée afin de mettre à jour le profil utilisateur récupéré, dans lequel l'information de mise à jour de profil identifie comment modifier le profil utilisateur soit en ajoutant l'information d'identification de classification ou en modifiant les indices de pertinence existants d'information d'identification de classification stockés dans le profil. [0007] Selon un autre mode de réalisation de l'invention, on prévoit un support de stockage lisible par un ordinateur comportant des instructions pour l'exécution sur un processeur afin de mettre en oeuvre un procédé de profilage d'un utilisateur d'un dispositif de calcul informatique relié à un réseau, en se basant sur les actions sur le réseau d'un utilisateur. Les instructions comprennent : la réception d'un événement utilisateur généré par des actions exécutées par l'utilisateur sur le dispositif de calcul, l'événement utilisateur identifiant une information d'identification d'événement indiquant le contenu demandé par l'utilisateur et un identifiant de l'utilisateur ; l'exécution d'une consultation dans une carte cache du Web en utilisant l'information d'identification d'événement afin de déterminer une information de classification associée au contenu demandé par l'utilisateur, l'information de classification fournissant un enregistrement de texte-indice de pertinence comportant au moins une chaîne de caractères de texte et un indice de pertinence associés à la chaîne de caractères de texte, la chaîne de caractères de texte étant définie par rapport à une ontologie lexicologique comportant une hiérarchie des catégories, et l'indice de pertinence représentant une intensité ou force d'association ou taux d'interconnexion entre la chaîne de caractères de texte et le contenu ; la récupération de l'information de classification associée à l'information d'identification d'événement à partir de la carte cache de Web si l'information de classification est présente pour l'information d'identification d'événement ; la récupération d'un profil utilisateur associée à l'information d'identification de l'utilisateur à partir d'une base de données de profils ; la production d'information de mise à jour de profil en appliquant des règles de profilage définissant des liens connus entre les événements d'action d'utilisateur et les comportements d'utilisateur avec l'information de classification récupérée pour l'événement utilisateur, dans lequel l'information de mise à jour de profil identifie comment modifier le profil utilisateur en ajoutant l'information d'identification de classification ou en modifiant les indices existants de pertinence d'information d'identification de classification stockés dans le profil ; une mise à jour du profil utilisateur basée sur l'information de mise à jour, le profil d'utilisateur fournissant une caractérisation des préférences d'utilisateur et le stockage du profil utilisateur mis à jour, et dans lequel un serveur externe peut accéder au profil utilisateur. Selon un exemple de réalisation, le serveur externe est un serveur de publicité. DESCRIPTION DES FIGURES [0008] D'autres caractéristiques et avantages de la présente invention seront explicités à l'aide de la description détaillée qui suit, en combinaison avec 10 les figures annexées, dans lesquelles : [0009] La Figure 1 est une représentation schématique d'un système pour le profilage basé sur un apprentissage automatique; [0010] La figure 2 est une représentation schématique d'un système pour le profilage basé un apprentissage automatique; 15 [0011] La figure 3 est une représentation schématique d'une instance de classification d'information; [0012] La figure 4A est une représentation schématique d'un profil utilisateur; [0013] La figure 4B est une représentation schématique des données d'activités de catégorie finement détaillée; et 20 [0014] Les figures 5A et 5B montrent un organigramme fonctionnel illustrant un procédé de profilage basé sur un apprentissage automatique. [0015] Il est à noter que dans toutes les figures annexées, des caractéristiques similaires sont identifiées à l'aide de numéros de référence identiques.
DESCRIPTION DÉTAILLÉE DE L'INVENTION [0016] Des modes de réalisation de l'invention sont décrits ci-dessous, à titre d'exemple seulement, en se référant aux figures 1 à 5. [0017] Le ciblage comportemental est une technique qui est employée pour augmenter l'efficacité ou la pertinence de données ou messages à transmettre à un utilisateur, en se basant sur un historique des actions ou commandes ou comportements (par exemple actions, activités) de l'utilisateur. Dans certains cas particuliers, les données à transmettre comprennent des publicités, ou des offres de biens et services à présenter à un consommateur potentiel (c.-à-d. un utilisateur). L'analyse des actions antérieures de l'utilisateur pendant ses interactions avec des éléments interactifs sur ordinateur tels que des pages Web consultées, des éléments multimédia sélectionnés ou consultés et des produits achetés, sont analysés en utilisant des règles ou algorithmes qui permettent l'obtention d'une caractérisation des préférences de l'utilisateur pouvant être incorporées dans un profil utilisateur. Les interactions d'un utilisateur dans un environnement interactif en réseau avec des pages Web ou un contenu multimédia via un navigateur Web, des dispositifs de visionnement interactifs tels que des ordinateurs, des dispositifs décodeurs, des applications de télévision interactive telles que la télévision par Protocole Internet (IPTV), des dispositifs digitaux pour médias, des téléphones intelligents, ou des plates-formes digitales mobiles, peuvent être suivies. [0018] Un système et un procédé pour le profilage basé sur un apprentissage automatique génère un profil utilisateur en recevant des événements utilisateur (par exemple des pages Web consultées), en obtenant l'information de classification liée à un objet de l'événement (par exemple la page Web), et en appliquant des règles de modélisation obtenues d'un système de modélisation. Le profil utilisateur peut être fourni à un système externe comme, par exemple un serveur, tel qu'un serveur de publicité, qui utilise le profil utilisateur pour un ciblage (c.-à-d. effectuer une sélection basée sur le profil utilisateur) du contenu (par exemple des publicités) à présenter à l'utilisateur. Les événements utilisateur peuvent être fournis au système de modélisation où ils sont utilisés pour la génération des règles de modélisation. [0019] La figure 1 est une représentation schématique d'un système de profilage automatisé. Les utilisateurs entrent en interaction avec des contenus ou objets Web ou médias par l'entremise d'un réseau 10, tels que l'Internet, à l'aide de divers dispositifs. Les dispositifs tels que, de manière non limitative, les télévisions 120 qui ont des possibilités d'accès à Internet, ou qui sont reliées à des dispositifs décodeurs, les dispositifs mobiles 122 tels que des ordinateurs portables ou des « netbooks » (mini ordinateurs portables spécifiquement prévus pour accéder à Internet), des dispositifs de calcul informatisé 126 tels que les ordinateurs de bureau et les téléphones intelligents 128 permettent à des utilisateurs de naviguer sur des sites Web ou de choisir des contenus ou objets médias pour consultation. Le réseau le 10 peut comprendre un réseau de fournisseur de services Internet (Internet Service Provider) qui fournit une interface permettant à l'utilisateur d'accéder soit directement aux serveurs 130 de site Web et aux serveurs 132 de médias ou soit à un plus grand réseau tel que l'Internet qui permet d'accéder au contenu. Des événements utilisateur entre les dispositifs utilisateur et les sites Web 130 ou les serveurs 132 de médias sont copiés au niveau du système 100 de profilage. Les événements utilisateur peuvent être copiés et expédiés à l'intérieur du réseau du fournisseur de service Internet ou par des serveurs de site Web intermédiaires ou de destination finale. Les événements peuvent comporter des paquets d'information, telle qu'une requête de protocole HTTP (Hyper Text Transfer Protocole) GET qui indique le contenu que l'utilisateur souhaite consulter. Le système de profilage 100 peut être exécuté sur un serveur relié au réseau 10.
Le système de profilage 100 comporte au moins un processeur 102 et une mémoire 104 pour l'exécution des instructions permettant de mettre en oeuvre le procédé de profilage des utilisateurs. Le système de profilage 100 peut également être relié à un dispositif de stockage 106 pour stocker des instructions permettant d'exécuter le procédé et/ou pour stocker des données de profilage générées par le système de profilage 100. Les données de profil stockées sur le dispositif de stockage 106 peuvent être accédées par des serveurs externes 190 pour permettre la détermination ou sélection d'un objet approprié, tel qu'un contenu ou une publicité, pour un utilisateur particulier lié aux données de profil. Le système de profilage 100 peut également agréger ou combiner des événements utilisateur et fournir les événements utilisateur agrégés à un système de modélisation 110 pour permettre la génération de règles de profil basées sur une modélisation des événements utilisateur. En outre, le système de modélisation 110 peut fournir des informations de carte Web basées sur l'indexation de sites ou contenus Web pour en déterminer l'information de classification associée. La carte Web peut être utilisée par le système de profilage 100 pour mapper une page Web ou un contenu multimédia à une ou plusieurs des catégories de classification afin de permettre la génération ou la mise à jour d'un profil utilisateur. Le système de modélisation 110 comprend également un processeur 112 et une mémoire 114 pour exécuter des instructions permettant de remplir les fonctions de modélisation. Alternativement, le système de modélisation 110 peut être intégré avec le système de profilage 100 ou être fourni par un fournisseur de services externe. [0020] La figure 2 est une représentation schématique d'un exemple de mise en oeuvre d'un système de profilage basé sur un apprentissage automatique montré dans un environnement de fonctionnement typique. Le système 200 comporte un système de modélisation 110 et un système de profilage 100. Le système 200 peut également comprendre, sur une base optionnelle, un serveur externe 190 pour accéder à l'information de profil utilisateur générée par le système de profilage 100. Le système de profilage 100 comporte un récepteur 210 d'événement, un processeur d'événement 220, une unité de stockage de parcours (« clickstream ») 230, un agrégateur 240 de données de modélisation, un moteur de profilage 250, un module cache 260 de carte Web, et une base de données 270 de profils. Le système de profilage 100 peut, par exemple, être installé dans l'infrastructure d'un fournisseur de service Internet (ISP). Le système de profilage 100 peut être connecté (c.-à-d. être dans un mode de communication de données) à un système de modélisation 110 qui peut être fourni par, par exemple, un fournisseur de modélisation. Dans le scénario illustré, le système de profilage 100 peut générer un profil utilisateur pour un utilisateur (c.-à-d. un abonné) du fournisseur de service Internet (ISP). Le système de profilage 100 génère le profil utilisateur en recevant des événements utilisateur (par exemple des pages Web consultées, accès à du contenu multimédia) et en appliquant des règles de modélisation obtenues du système de modélisation 110 aux événements utilisateur afin de générer de l'information de classification utilisée pour ajuster le profil utilisateur. Le profil utilisateur peut être fourni à un système externe 190 comme, par exemple un serveur, tel un serveur de publicité, qui utilise le profil utilisateur pour le ciblage (c.-à-d. effectuer une sélection basée sur les préférences de l'utilisateur) du contenu (comme par exemple des données ou messages présentés dans des fenêtres dédiées de type « pop-up » ou des publicités) destiné à être présenté à l'utilisateur. Selon une variante de réalisation, le profil utilisateur peut être fourni à plus d'un système externe 190 comprenant, par exemple, un serveur de télévision par protocole Internet (IPTV, pour « Internet Protocol television »), un serveur mobile ainsi que d'autres plates-formes fournissant du contenu ciblé. Dans tous ces derniers exemples, les serveurs peuvent être des serveurs de publicité. [0021] Le récepteur 210 d'événement reçoit des événements de l'infrastructure du fournisseur de service Internet. Chaque événement représente une action, une commande, une entrée ou une activité lancée par l'utilisateur. Dans l'exemple présenté dans la présente description, l'événement est une page Web consultée. Selon une variante de réalisation, l'événement peut, par exemple, être une sélection d'un article ou objet multimédia ou un achat de produit. Chaque événement inclut une identification de l'information spécifique à l'utilisateur et à l'événement. Par exemple, un événement représentant une consultation de page Web inclut une adresse URL qui identifie la page Web consultée. Le récepteur 210 d'événement transmet les événements au processeur d'événement 220. Le récepteur 210 d'événement peut retirer les données ou information d'identification personnelle des événements tout en permettant toujours à l'événement d'être associé à un utilisateur spécifique avant d'expédier l'événement au processeur d'événement 220. Ceci peut inclure, par exemple, remplacer une adresse IP (pour « Internet Protocole ») de l'utilisateur par un identifiant anonyme. Par la suite, le récepteur 210 d'événement peut filtrer des événements liés à des pages Web ou à du contenu sensibles et ne pas les transmettre au processeur d'événement 220. Ce filtrage peut être effectué en utilisant une liste de pages Web sensibles. [0022] Le processeur d'événement 220 reçoit des événements du récepteur 210 d'événement. Le processeur d'événement 220 utilise l'information identifiant l'événement (par exemple une adresse URL de page Web) comprise dans l'événement, afin de consulter la page Web associée à l'événement dans le module cache 260 de carte Web. Lorsque la page Web consultée (c.-à-d. l'URL) est trouvée dans le module cache 260 de carte de Web, l'information de classification correspondant à la page Web consultée est transmise du module cache 260 de carte Web au processeur d'événement 220. L'information de classification ainsi que l'information d'identité de l'utilisateur liées à l'événement sont transmises par le processeur d'événement 220 au moteur de profilage 250 pour générer ou mettre à jour un profil lié à une identification d'utilisateur particulière. Quand la page Web consultée (c.-à-d. l'URL) n'est pas trouvée dans le module cache 260 de carte Web, l'URL est envoyée au processeur de plate-forme de modélisation 280 du système de modélisation 110 qui peut comprendre un module 282 robot de carte Web permettant de mapper les sites Web cibles (ou les contenus) et générer de l'information de classification associée pour le site Web. Le module 282 robot de carte Web peut alors transmettre l'information de classification produite pour le site Web au module cache 260 de carte Web. Chaque événement reçu est transmis par le processeur d'événement 220 à l'unité de stockage de parcours 230. [0023] Selon une variante de réalisation où l'événement comporte une action autre qu'une consultation de page Web (par exemple visionner un programme télévisé ou une présentation média), la référence ci-incluse au module cache 260 de carte Web peut être remplacée par une référence à un module de consultation de catégorisation et d'attribution d'événement qui fournit une fonctionnalité correspondante pour des événements de consultation autre que des pages Web. [0024] La figure 3 est une représentation schématique d'une instance 300 de classification et information fournie dans la carte Web 260. Une instance 300 d'information et de classification est associée à chaque page Web ou contenu multimédia, dans la carte Web. L'information 300 de classification liée à une page Web, à une adresse URL ou à un élément particulier de contenu, comporte une pluralité d'enregistrements 310 de textes et indices de pertinence. Chaque enregistrement 310 de texte et indice de pertinence inclut une chaîne 320 de texte et un indice de pertinence 330. Chaque chaîne 320 de texte représente une entrée dans une ontologie lexicologique comportant une hiérarchie de catégories et de textes finement catégorisés. L'information 300 de classification liée à une page Web contient un enregistrement 310 pour chaque entrée de texte finement catégorisé de l'ontologie qui est également trouvé dans la page Web. L'indice de pertinence 330 lié à la chaîne 320 de texte dans chaque enregistrement 310 représente la force de l'association entre la chaîne 320 de texte et la page Web.
L'indice de pertinence 330 peut, par exemple, être une valeur (par exemple 0.65) dans un intervalle de grandeurs scalaires (par exemple de 0 à 1) représentant la force ou l'intensité de l'association entre la chaîne 320 de texte et la page Web. Si des contenus tels que des dossiers multimédias sont utilisés pour déterminer l'instance d'information et classification, des métadonnées liées au contenu peuvent être utilisées pour déterminer l'enregistrement ou donnée appropriée de texte-indice de pertinence. [0025] Toujours en référence à la figure 3, le moteur de profilage 250 utilise l'information 300 de classification liée à l'identifiant d'événement d'un événement utilisateur pour créer ou mettre à jour un profil utilisateur lié à l'information d'identité d'utilisateur. Le profil utilisateur, s'il existe déjà, est stocké dans la base de données 270 de profils. Le moteur de profilage 250 peut récupérer le profil utilisateur existant dans la base de données 270 de profils. Le moteur de profilage 250 applique des règles fournies par une plate-forme de modélisation 280 en créant ou en mettant à jour le profil d'utilisateur. Les règles sont générées par le système de modélisation en utilisant des techniques de modélisation ou d'apprentissage automatique telles que la régression logistique utilisant des données anonymisées de parcours de clics utilisateur afin d'identifier et de quantifier, en tant que règles, tous les modèles qui peuvent être utilisés pour prévoir le comportement d'un utilisateur et ainsi pouvoir leur attribuer une catégorie, ou attribuer une valeur à une catégorie. Lorsqu'un événement est entré, indiquant qu'un utilisateur a consulté une page Web, le moteur de profilage 250 peut, par exemple, augmenter de 0.1 l'indice de pertinence correspondant à une catégorie liée à la page Web (c.-à-d. l'URL). De plus, le moteur de profilage 250 peut, par exemple, diminuer de 0.1 la valeur de chacun des indices de pertinence correspondant à une ou plusieurs catégories dans chaque profil utilisateur sur une base périodique (par exemple une fois par jour) afin de fournir une fonction de réduction en relation avec le temps. [0026] La figure 4A est une représentation schématique d'un profil utilisateur 400 à des fins d'illustration. Le profil d'utilisateur 400, identifie un utilisateur individuel à l'aide d'un identifiant 413 et comporte une pluralité d'enregistrements 410 de catégorie et niveaux de pertinence liés à l'utilisateur. Chaque enregistrement 410 de catégorie et niveau de pertinence comprend une catégorie 411 et un niveau de pertinence 412. Chaque catégorie 411 représente une entrée dans une ontologie comportant une hiérarchie de catégories et correspond à une catégorie utilisée dans l'information de caractérisation de la page Web. Le profil utilisateur 400 contient un enregistrement 410 pour chaque catégorie 411 pour laquelle l'utilisateur est considéré comme ayant une préférence ou un intérêt. Les niveaux de pertinence 412 liés à la catégorie 411 de chaque enregistrement 410 représentent le niveau (plus ou moins élevé) de préférence utilisateur pour, ou l'intérêt envers la catégorie 411. Un niveau de pertinence 412 peut, par exemple, être une valeur (par exemple 0.72) dans un intervalle de grandeurs scalaires (par exemple 0 à 1) représentant le niveau (plus ou moins élevé) de préférence utilisateur pour, ou l'intérêt envers la catégorie 411. [0027] La figure 4B est une représentation schématique d'exemples d'activités 415 de catégorie finement détaillée. En plus de la catégorie 411 et des indices de pertinence 412 décrits ci-dessus, le profil utilisateur peut également comporter, ou être associé à de l'information d'activité de catégorie finement détaillée. Les activités 415 de catégorie finement détaillées comprennent une pluralité d'enregistrements 420 de texte-horodatage qui sont associés à chaque utilisateur par le profil utilisateur. Chaque enregistrement 420 de texte-horodatage comporte une chaîne 421 de texte et un ou plusieurs horodatages 422. La chaîne 421 de texte dans chaque enregistrement 420 de texte-horodatage correspond à une chaîne de texte dans l'information 200 de classification d'une page Web reçue du processeur d'événement 220. Un horodatage 422 lié à la chaîne 421 de texte dans l'enregistrement 420 de texte-horodatage représente l'heure où l'information 200 de classification contenant la chaîne 421 de texte a été reçue. Lorsque plusieurs instances d'information 200 de classification pour des pages Web contenant la même chaîne 421 de texte ont été reçus, chaque horodatage 422 correspond à la réception d'une instance différente d'information 200 de classification. L'importance des enregistrements 420 de texte-horodatage diminue avec le temps. Lorsqu'un horodatage 422 est plus vieux qu'un seuil prédéterminé, il est retiré de l'enregistrement 420 de texte-horodatage. Lorsque l'horodatage le plus récent 422 dans un enregistrement 420 de texte-horodatage est plus vieux que le seuil prédéterminé, l'enregistrement 420 de texte-horodatage est retiré des activités 415 de catégorie finement détaillée. [0028] Tel que décrit ci-dessus, le moteur de profilage 250 peut ajuster un profil utilisateur en se basant sur l'information de caractérisation liée à une page Web.
De plus, le moteur de profilage 250 peut utiliser les enregistrements 420 de textehorodatage liés à un utilisateur comme entrée lors de l'établissement d'une mise à jour du profil utilisateur 400. Les enregistrements 420 de texte-horodatage peuvent fournir un historique de l'intérêt de l'utilisateur et ainsi aider à déterminer les modèles possibles dans l'historique et ainsi mieux caractériser l'utilisateur. [0029] Le moteur de profilage 250 peut utiliser l'information de caractérisation de l'événement, le profil utilisateur, y compris l'activité de catégorie finement détaillée et les règles de profilage générées par le système de modélisation 110 afin de modifier le profil utilisateur en se basant sur les évènements actuels et passés, représentés dans l'information d'activité de catégorie finement détaillée. [0030] De nouveau en se référant à la figure 2, lorsque le moteur de profilage 250 a terminé la création ou la modification d'un profil utilisateur 400, le profil 400 est stocké dans la base de données 270 de profils. La base de données 270 de profils peut fournir le contenu d'un ou plusieurs profils utilisateur 400 à un système externe 190 comme par exemple, un serveur, tel un serveur de publicité, qui utilise le profil utilisateur 400 pour le ciblage (c.-à-d. une sélection basée sur les préférences utilisateur) d'objets ou éléments tels que des publicités à présenter à l'utilisateur. [0031] L'unité de mémorisation du parcours 230 reçoit l'événement du processeur d'événement, retire l'identifiant utilisateur, et envoie l'événement à 5 l'agrégateur 240 de données de modélisation. [0032] L'agrégateur 240 de données de modélisation agrège un ou plusieurs événements reçus pendant une certaine durée de l'unité 230 de stockage de parcours. Les événements peuvent être agrégés pendant une période de temps prédéterminée (par exemple un jour, une semaine, trente jours, etc.) avant d'être 10 envoyés au système de modélisation 110 pour analyse. De plus, l'agrégateur 240 de données de modélisation peut sélectionner un ensemble échantillon des événements reçus (par opposition à tous les événements) pour envoi à la plate-forme 280 de modélisation du système de modélisation 110. [0033] La figure 5A illustre un organigramme fonctionnel représentant des étapes 15 illustratives dans un procédé 500 de profilage se basant sur un apprentissage automatique. Le procédé 500 peut, par exemple, être appliquée en utilisant le système de profilage 100 décrit ci-dessus en référence à la figure 2. Un événement utilisateur représentant une action ou une activité d'un utilisateur, comme par exemple une consultation de page Web est reçue, à l'étape 510, par le 20 système de profilage 100. L'événement comporte une information identifiant l'événement (par exemple l'adresse URL de la page Web consultée) et l'information d'identification de l'utilisateur. La réception d'information d'identification d'événement peut comprendre la suppression de l'information identifiant personnellement tout en permettant quand même à l'événement d'être 25 associé à un utilisateur spécifique au moyen d'une information d'identification de l'utilisateur. En outre, un filtrage (c.-à-d. en enlevant) des événements liés à des pages Web ou à du contenu sensibles, peut être exécuté. L'information identifiant l'événement (par exemple l'URL) est utilisée pour consulter une carte (par exemple une carte cache de Web) pour effectuer un couplage ou mise en 30 correspondance à l'étape 512. On détermine à l'étape 514 si une association ou mise en correspondance pour l'information identifiant l'événement (par exemple l'adresse URL) a été trouvée dans la carte. Lorsqu'une correspondance est trouvée, OUI à 514, l'information 300 de classification liée à l'information d'identification d'événement (par exemple l'adresse URL et la page Web associée) est extraite de la carte à l'étape 516. Les informations 300 de classification ainsi que l'information d'identification de l'utilisateur sont fournies à une fonction de profilage (par exemple le moteur de profilage 250). On détermine alors si un profil utilisateur est déjà associé à l'information d'identification de l'utilisateur à l'étape 518. Si un profil existe déjà, OUI à l'étape 518, le profil utilisateur 300 est récupéré 520 d'un référentiel (par exemple la base de données 270 de profils). Si le profil utilisateur n'existe pas, NON à l'étape 518, un profil initial est créé à l'étape 528. Le moteur de profilage 250 peut alors produire de l'information de mise à jour de profil à l'étape 522 en utilisant l'information de profil d'utilisateur, soit à partir du profil récupéré ou du profil nouvellement créé, et donc vide, et des règles fournies par le système de modélisation 110. Les règles de profilage définissent des associations connues telles que déterminées par le système de modélisation, les règles de profilage définissent des associations entre des événements d'action d'utilisateur et le comportement de l'utilisateur ou du client. Les événements d'action d'utilisateur peuvent inclure des événements tels que consulter des pages Web ou effectuer une demande de contenu multimédia et peuvent être agrégés et transmis périodiquement au système de modélisation. Le profil utilisateur est ensuite mis à jour à l'étape 524 et stocké pour accès à l'étape 526 par un système externe 190 (ou expédié à un tel système) tel que, par exemple, un serveur tel qu'un serveur de publicité. [0034] En se référant de nouveau au moment où est déterminé si l'URL est dans la carte Web à l'étape 514, si une correspondance pour l'information d'identification d'événement n'est pas trouvée dans la carte, le NON à 514, l'événement identifiant l'information (par exemple l'URL) est transmis 530 au système de modélisation 110 pour, par exemple, être fourni à l'indexeur 282 de carte Web. Lorsque le système de modélisation 110 a visité l'adresse URL, il peut alors fournir des informations de classification liées à l'information d'identification d'événement (par exemple une adresse URL) pour mettre à jour le module cache 260 de carte de Web à l'étape 532. [0035] Tel que montré à la figure 5B, le système de profilage 100 rassemble également les événements utilisateur reçus à l'étape 510. L'information d'identification d'événement est rassemblée et l'identifiant utilisateur est retiré 540 de l'événement utilisateur par l'unité de stockage de parcours 230. Les identifications d'événements pour les événements multiples sont agrégées à l'étape 542 par l'agrégateur 240 de données de modélisation qui identifie les événements d'action utilisateur qui ont été rassemblés. Les événements d'action utilisateur peuvent être agrégés pendant une période de temps prédéterminée (par exemple trente jours) et un ensemble échantillon des événements (par opposition à tous les événements) peut être choisi parmi les événements rassemblés. L'information agrégée d'identification d'événement est transmise à un système de modélisation 110 à l'étape 544 et des modèles et règles de profilage mis à jour sont reçus à l'étape 546 afin d'être utilisés par le moteur de profilage 250. [0036] Les modèles et les règles de profilage mis à jour reçus au niveau du moteur de profilage sont utilisés par le moteur de profilage lors de la génération de l'information de mise à jour de profil. Les règles permettent au moteur de profilage d'identifier des modèles ou tendances dans l'information pour laquelle l'utilisateur montre un intérêt, et met à jour l'information de profil utilisateur en conséquence. [0037] Le procédé 500 selon la présente invention peut être mis en oeuvre par un programme informatique comportant des instructions exécutables stockées sur un support de stockage lisible automatiquement par un ordinateur, tel qu'une mémoire vive, une mémoire morte, une unité de disque dur ou un SSD (« Solid State Disk », pour disque électronique), un stockage optique, ou une mémoire Flash pour exécution par un processeur d'un dispositif de calcul, tel qu'un ordinateur. [0038] Un homme du métier pourra constater que de nombreuses modifications 30 et variantes par rapport aux modes de réalisation spécifiques décrits ci-dessus peuvent être réalisés sans s'éloigner de l'esprit et de la portée de la présente invention.