FR3071085A1 - Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne - Google Patents

Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne Download PDF

Info

Publication number
FR3071085A1
FR3071085A1 FR1758514A FR1758514A FR3071085A1 FR 3071085 A1 FR3071085 A1 FR 3071085A1 FR 1758514 A FR1758514 A FR 1758514A FR 1758514 A FR1758514 A FR 1758514A FR 3071085 A1 FR3071085 A1 FR 3071085A1
Authority
FR
France
Prior art keywords
placement
content
machine learning
processor
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1758514A
Other languages
English (en)
Other versions
FR3071085B1 (fr
Inventor
Rodrigo Acuna Agost
David Renaudie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1758514A priority Critical patent/FR3071085B1/fr
Priority to PCT/EP2018/073841 priority patent/WO2019052869A1/fr
Priority to CN201880056986.0A priority patent/CN111095330B/zh
Priority to EP18769114.2A priority patent/EP3682402A1/fr
Publication of FR3071085A1 publication Critical patent/FR3071085A1/fr
Application granted granted Critical
Publication of FR3071085B1 publication Critical patent/FR3071085B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • G06Q30/0275Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un procédé mis en œuvre informatiquement comprend l'accès à un entrepôt de données en ligne pour récupérer des enregistrements relatifs à des événements de placement de contenu et des enregistrements relatifs à des événements d'interaction d'un utilisateur. Un ensemble de vecteurs de caractéristiques de formation enrichies est calculé à partir de valeurs de caractéristiques brutes et est utilisé avec des balises d'événements d'interaction pour former un modèle d'apprentissage automatique. Un processeur est configuré pour exécuter le modèle d'apprentissage automatique et reçoit des informations concernant un encart de placement de contenu en ligne et des informations concernant un utilisateur. Le processeur calcule un vecteur de caractéristiques d'estimation enrichies, sur la base d'un élément de contenu sélectionné pour le placement à l'intérieur de l'encart de placement de contenu en ligne, les informations concernant l'utilisateur et tes informations concernant l'encart de placement de contenu en ligne. Le processeur exécute le modèle d'apprentissage automatique pour déterminer une estimation de probabilité d'une interaction de l'utilisateur avec l'élément de contenu sélectionné sur la base du vecteur de caractéristiques d'estimation enrichies.

Description

UN PROCÉDÉ ET UN SYSTÈME D’APPRENTISSAGE AUTOMATIQUE POUR PRÉDIRE LES INTERACTIONS D’UN UTILISATEUR EN LIGNE
DOMAINE DE L’INVENTION [0001] La présente invention concerne l’application de modèles d’apprentissage automatique pour prédire le comportement des utilisateurs en ligne. En particulier, des modes de réalisation de l’invention prédisent la probabilité d’une interaction d’un utilisateur avec des éléments de contenu en ligne sur la base du comportement agrégé des utilisateurs précédents dans des contextes similaires. L’invention peut s’appliquer aux systèmes de publicité en ligne, par exempte pour déterminer la pertinence de la d’une publicité présentée à l’utilisateur, p. ex. via une page Web ou dans une application mobile.
CONTEXTE DE L’INVENTION [0002] La publicité en ligne (p. ex. basée sur le Web, les applications intégrées ou mobiles) diffère de la publicité des médias traditionnels en matière de degré de ciblage personnalisé du public. Par exemple, alors que la publicité des supports de diffusion tels que la publicité diffusée à la télévision vise à atteindre une cible démographique définie par des caractéristiques élargies telles que la tranche d’âge, le statut socio-économique et/ou des intérêts généraux, la publicité en ligne cible des individus ayant un intérêt particulier pour 1e produit, 1e service ou l’information qui est présentée.
[0003] La technologie de ciblage hautement personnalisé d’un public a conduit au développement de modèles commerciaux qui sont spécifiques à la publicité en ligne. Par exemple, il est maintenant courant pour tes sites Web qui fournissent des actualités, des informations agrégées et d’autres contenus d’intérêt à des utilisateurs particuliers, d’héberger des publicités de tiers comme moyen de générer des revenus. Les annonceurs dont les annonces apparaissent sur ces sites Web peuvent payer l’opérateur sur la base des opportunités de consultation ou d’impression (couramment mesurées comme ‘coût par milliers d’impressions’, autrement dit CPM), sur la base du coût par clic (CPC) ou selon d’autres mesures de performance. La sélection actuelle d’une publicité devant être placée sur une page Web présentée à un utilisateur individuel peut être basée, au moins en partie, sur un processus d’enchère par lequel un annonceur qui est disposé à payer plus pour un CPM, CPC ou autre mesure de coût a de meilleures chances que son annonce soit présentée à l’utilisateur.
[0004] Selon un modèle courant, le processus d’enchère est facilité par une ‘plateforme de bourse publicitaire’. Une bourse publicitaire est une plateforme technologique qui implémente un marché numérique permettant aux annonceurs et aux diffuseurs des sites Web et autres contenus en ligne d’acheter et de vendre des encarts publicitaires, souvent par 1e biais d'enchères en temps réel. Des plateformes de bourses publicitaires bien connues incluent DoubleClick™ (propriété de Google™), AppNexus™, Microsoft™ Ad Exchangé™, et OpenX™.
[0005] Une bourse publicitaire maintient une ‘réserve’ d’encarts publicitaires. Les annonceurs fournissent leur encart publicitaire à la réserve, p. ex. les encarts publicitaires disponibles, intégrés dans les pages Web qui sont distribués aux utilisateurs. Les acheteurs peuvent ensuite enchérir pour les encarts qu'ils souhaitent acheter. Les décisions d’enchérir sont souvent faites en temps réel sur la base d’informations telles que le comportement antérieur deTutilisateur auquel une publicité a été présentée, te moment de la journée, le type de dispositif, la position de la publicité et ainsi de suite. En pratique ces décisions d'enchère doivent elles-mêmes être faites très rapidement, p. ex. de l’ordre de quelques dixièmes de millisecondes, en utilisant des plateformes technologiques couramment connues sous le nom de plateformes de demande (DSPs). Vu que le coût de l’achat d’impressions sur la bourse publicitaire est réel pour l’annonceur, la performance des technologies et des algorithmes déployés par une DSP pour évaluer la ‘valeur’ potentielle d’un utilisateur dans le but de décider d’enchérir peut avoir un impact commercial substantiel.
[0006] À titre d’exemple, un taux moyen par clic (CTR) pour l’affichage des publicités sur le Web est environ 0,05 % (c,-à-d. cinq clics pour 10 000 impressions. Dans lequel, les encarts publicitaires achetés via une bourse d’échanges publicitaires représentent un coût (c.-à-d. te prix payé après une enchère gagnante). Cependant, lorsque te modèle CPC est utilisé, seul 0,05 % des impressions en moyenne donnent lieu à la génération d’un revenu. Donc un CTR faible donne lieu à une utilisation inefficace des ressources technologiques (telles que tes ressources de traitement de la DSP) et un coût plus élevé pour les annonceurs gagnants (puisqu’un plus petit nombre de ‘clics’ doit couvrir le coût de toutes les impressions). En outre, un faible CTR est indicatif d’un manque d’adéquation ou de pertinence de la publicité affichée aux utilisateurs en ligne.
[0007] Il est donc extrêmement souhaitable de déployer des technologies sur les plateformes DSP qui engendrent un CTR plus élevé. Ces technologies sont bénéfiques pour les opérateurs DSP en améliorant l'utilisation dès ressources techniques et en augmentant les revenus générés à partir des interactions de l’utilisateur avec te contenu publicitaire. Les annonceurs bénéficient aussi d’un placement plus fructueux et plus efficace des publicités, aboutissant à des clics plus nombreux et une diffusion à un public plus large de clients potentiellement intéressés. Les utilisateurs en ligne sont aussi gagnants puisqu’un CTR plus élevé est généralement atteint par le placement de publicités qui sont plus appropriées et pertinentes pour les utilisateurs.
[0008] Une approche courante pour augmenter le CTR consiste à faire un suivi pour inférer tes intérêts de l'utilisateur et pour placer te contenu publicitaire qui est pertinent par rapport à leurs intérêts. Par exemple, tes témoins (cookies) du navigateur et autres technologies de suivi peuvent être utilisés pour amasser des informations concernant par exemple des sites Web visités par l’utilisateur, des sujets consultés sur tes sites de réseaux sociaux et/ou des recherches effectuées en ligne par l'utilisateur. Ces informations peuvent être traitées pour identifier le contenu publicitaire dont on peut inférer qu’il est pertinent pour l’utilisateur. Cependant, la prédiction de la probabilité que l'utilisateur ait une interaction avec ce contenu est plus complexe. Comme souligné ci-dessus, la moyenne CTR est faible et les utilisateurs individuels en ligne interagissent rarement avec le contenu publicitaire même s’il a été ciblé de façon effective sur la base des intérêts de l’utilisateur. Par conséquent il y a très peu de données directes qui peuvent être utilisées pour prédire la probabilité que les utilisateurs interagissent avec un contenu publicitaire sur la base du suivi d’un utilisateur individuel.
[0009] Par conséquent, il y a clairement un besoin de technologies, de procédés et de systèmes, mis en œuvre informatiquement en temps réel, qui peuvent être déployés dans les DSPs et qui sont capables de prendre des décisions améliorées concernant la sélection des publicités et de placer une enchère sur les plateformes de bourses publicitaires. Il serait en particulier désirable d’apporter des procédés et des systèmes améliorés pour prédire la probabilité qu’un utilisateur en ligne interagisse avec le contenu publicitaire. Afin de satisfaire les exigences techniques et d’assurer que le temps de chargement d’une page ne soit pas inutilement accru par la sélection et le processus d’enchère, il est nécessaire que cette prédiction sort faite en quelques dixièmes de millisecondes. La présente invention a pour objectif de répondre à ces besoins.
RÉSUMÉ DE L’INVENTION [0010] Dans un aspect, la présente invention fournit un procédé mis en œuvre informatiquement comprenant :
l’accès à un entrepôt de données en ligne pour récupérer des enregistrements concernant des événements de placement de contenu et des enregistrements concernant des événements d'interaction d’un utilisateur, dans lequel les événements de placement et d’interaction surviennent au cours d’un laps de temps défini ;
l’appariement des enregistrements récupérés d’événements de placement de contenu avec des enregistrements récupérés d’événements d’interaction pour générer un ensemble de données appariées incluant un ensemble de valeurs brutes de caractéristiques dérivées d’un événement de placement de contenu avec une balise d’événements d'interaction indiquant si oui ou non un événement d’interaction correspondant avec l’événement de placement de contenu est survenu ;
le calcul, à partir des valeurs de caractéristiques brutes, d’un ensemble correspondant de vecteurs de caractéristiques de formation enrichies ;
la formation d’un modèle d’apprentissage automatique en utilisant les vecteurs de caractéristiques de formation et les balises d’événements d’interaction correspondantes ;
la réception, au niveau d’un processeur configuré pour exécuter le modèle d’apprentissage automatique, d’informations concernant l’encart de placement de contenu en ligne et des informations concernant un utilisateur auquel 1e contenu à l’intérieur de l'encart de placement de contenu en ligne sera affiché ;
le calcul, par le processeur, d’un vecteur de caractéristiques d'estimation, basé sur un élément de contenu sélectionné pour le placement à l’intérieur de l’encart de placement de contenu en ligne, d’informations concernant l’utilisateur et d’informations concernant l’encart de placement de contenu en ligne ;
la détermination, par le processeur exécutant le modèle d’apprentissage automatique, d’une estimation de la probabilité d’une interaction de l’utilisateur avec l’élément de contenu sélectionné, basée sur le vecteur de caractéristiques d’estimation enrichies.
[0011] De façon avantageuse, les modes de réalisation de l’invention utilisent l’appariement d’événements agrégés de placement de contenu avec des événements agrégés d’interactions d’utilisateurs pour soutenir la prédiction des interactions d’un utilisateur en ligne avec du contenu en utilisant un modèle d’apprentissage automatique. Les éléments de contenu peuvent être par exempte des publicités en ligne comprenant une ou plusieurs offres et tes événements d'interaction de l'utilisateur peuvent comprendre des interactions telles que des clics sur des offres spécifiques dans les publicités. Par conséquent, dans ces modes de réalisation :
l'encart de placement de contenu en ligne est un encart publicitaire ;
les informations relatives à l’encart publicitaire et les informations relatives à l'utilisateur auquel le contenu à l’intérieur de l’encart publicitaire sera affiché sont reçues avec un message de demande d’enchère transmis par un serveur de bourse publicitaire ; et l'élément de contenu comprend au moins une enchère pour un placement s l’intérieur d’un encart publicitaire.
[0012] Le procédé peut comprendre par ailleurs :
la transmission, par le processeur, à un serveur de bourse publicitaire, d’un message de réponse à une enchère en réponse au message de demande d’enchère ;
la réception par le processeur en provenance du serveur de bourse publicitaire, d’une notification d’enchère réussie ;
la mise à jour par te processeur d’un entrepôt de données en ligne avec des données d’événements de placement de contenu concernant le placement de l’élément de contenu la réception par le processeur d'une notification d’interaction d'un utilisateur avec l’élément de contenu ; et la mise à jour (226) de rentrepôt de données en ligne (166) avec tes données d’événements d’interaction d’utilisateur concernant l’interaction de l’utilisateur avec l'élément de contenu.
[0013] De cette façon, les modes de réalisation de l’invention prévoient une actualisation continue des enregistrements d’événements de placement de contenu et d’événements d’interaction d’utilisateur stockés, permettant de mettre à jour le modèle d’apprentissage automatique avec des informations actualisées concernant le comportement d'un utilisateur. Dans ce but, le procédé peut comprendre l’exécution récurrente des étapes pour accéder à l’entrepôt de données en ligne, l’appariement des enregistrements d’événements de placement de contenu récupérés avec tes enregistrements d’événements d’interaction récupérés, te calcul de vecteurs de caractéristiques enrichies de formation et la formation du modèle d’apprentissage automatique.
[0014] Dans un autre aspect, l’invention fournit un appareil informatique qui implémente une plateforme du côté de la demande, l’appareil informatique comprenant :
un processeur ;
au moins un dispositif de mémoire accessible par 1e processeur ; et une interface de communications de données associée de façon opératoire avec 1e processeur, dans lequel 1e dispositif de mémoire contient un corps d’instructions de programme incluant un modèle d’apprentissage automatique exécutable par 1e processeur et qui est configuré pour déterminer une probabilité d’interaction de l’utilisateur avec un élément de contenu, te modèle ayant été formé en utilisant un ensemble de vecteurs de caractéristiques de formation enrichies et des balises correspondantes d’événements d'interaction dérivées d’un ensemble de données appariées, généré à partir d’enregistrements concernant des événements de placement de contenu et des enregistrements concernant des événements d’interaction d’utilisateurs récupérés dans un entrepôt de données en ligne, dans lequel tes évènements de placement et d’interaction surviennent au cours d’un laps de temps défini
1e corps des instructions de programme incluant par ailleurs des instructions qui, lorsqu’elles sont exécutées par te processeur, amènent l’appareil informatique à mettre en œuvre un procédé comprenant les étapes suivantes :
la réception, d’informations via l’interface de communications de données concernant l’encart pour le placement de contenu en ligne et des informations concernant un utilisateur auquel 1e contenu de l’encart de placement de contenu en ligne sera affiché ;
1e calcul d'un vecteur de caractéristiques de probabilité enrichies, basé sur un élément de contenu sélectionné pour le placement à l'intérieur de l’encart de placement de contenu en ligne, les informations relatives à 'utilisateur et tes informations relatives à i’encart de placement de contenu en ligne correspondant l’exécution d’un modèle d’apprentissage automatique pour déterminer une probabilité interaction de l’utilisateur avec l’élément de contenu sélectionné sur la base du vecteur de caractéristiques de probabilité enrichies.
[0015] Dans des modes de réalisation de l'invention, le modèle d’apprentissage automatique est un modèle linéaire généralisé comprenant une pluralité de coefficients de modèle et en particulier le modèle d’apprentissage automatique peut être un modèle de régression logistique.
[0016] De façon avantageuse, la pluralité des coefficients de modèle peut être stockée dans une structure de donnée de dictionnaire dans laquelle chaque entrée est définie par une clé et une valeur de coefficient, dans laquelle chaque clé comprend une représentation hachée d’une concaténation d'un nom de caractéristique correspondant et d’une valeur de caractéristique correspondante. L’utilisation de ce type de structure de donnée permet le calcul d’une prédiction de la probabilité d’une interaction d’un utilisateur très rapidement, p. ex. en 30 ms. Les instructions de programme peuvent ainsi amener l’appareil informatique à mettre en œuvre l’étape d’exécution du modèle d’apprentissage automatique en :
générant, pour chaque valeur de caractéristique du vecteur de caractéristiques de probabilité enrichies, une clé correspondante ; et récupérant à partir de la structure de donnée de dictionnaire, pour chaque clé générée, une valeur de coefficient correspondante ; et calculant, en utilisant le vecteur de caractéristiques de probabilité enrichies et les valeurs de coefficient récupérées, l’estimation de probabilité d’une interaction de l'utilisateur avec l’élément de contenu sélectionné.
[0017] Dans des modes de réalisation dans lesquels l'encart de placement de contenu en ligne est un encart publicitaire, les informations relatives à l’encart publicitaire et les informations relatives à l’utilisateur auquel le contenu dans l’encart publicitaire sera affiché sont reçues avec un message de demande d’enchère transmis à partir d’un serveur de bourse publicitaire ; l’élément de contenu comprend au moins une enchère pour te placement à l’intérieur de l’encart publicitaire et le corps des instructions de programme inclut par ailleurs des instructions qui, lorsqu’elles sont exécutées par 1e processeur, amènent l’appareil informatique à implémenter le procédé comprenant tes autres étapes suivantes :
la transmission, au serveur de bourse publicitaire, d’un message de réponse à une enchère en réponse au message de demande d’enchère ;
la réponse à la réception, en provenance du serveur de bourse publicitaire, d’une notification d’enchère réussie, l’actualisation d’un entrepôt de données en ligne avec des données d'événements de placement concernant le placement félément de contenu ; et la réponse à la réception d’une notification d’une interaction d’un utilisateur avec l’élément de contenu, l’actualisation de l’entrepôt de données en ligne avec les données d’événements d’interaction relatives à l’interaction de l’utilisateur avec l’élément de contenu.
[0018] Dans un autre aspect, l’invention fournit un appareil informatique qui implémente la formation d’un modèle d’apprentissage automatique configuré pour estimer la probabilité de l’interaction d’un utilisateur avec des éléments de contenu, l’appareii informatique comprenant :
un processeur · au moins un dispositif de mémoire accessible par le processeur ; et un entrepôt de données accessible par le processeur, dans lequel le dispositif de mémoire contient un corps d’instructions de programme incluant des instructions qui, lorsqu'elles sont exécutées par le processeur, amènent l’appareil informatique à mettre en œuvre un procédé comprenant les étapes suivantes :
l’accès à l’entrepôt de données pour récupérer des enregistrements concernant des événements de placement de contenu, et des enregistrements concernant des événements d’interaction d’un utilisateur, dans lequel les événements de placement et d’interaction surviennent au cours d’un laps de temps défini ;
l'appariement des enregistrements d’événements de placement de contenu avec des enregistrements d’événements d’interaction récupérés afin de générer un ensemble de données appariées qui comprend une pluralité d’enregistrements, chaque enregistrement de l’ensemble de données appariées incluant un ensemble de valeurs de caractéristiques brutes dérivées d’un événement de placement de contenu avec une balise d'événement d’interaction indiquant si oui ou non un événement d’interaction correspondant à l’événement de placement de contenu est survenu ;
1e calcul, à partir des valeurs de caractéristiques brutes, d’un ensemble correspondant de vecteurs de caractéristiques de formation enrichies ; et la formation du modèle d’apprentissage automatique en utilisant les vecteurs de caractéristiques de formation et les balises d’événements d’interaction correspondantes.
[0019] Dans des modes de réalisation de l’invention, le modèle d’apprentissage automatique est un modèle de régression logistique et les instructions de programme amènent l’appareil informatique à implémenter l’étape de formation du modèle d’apprentissage automatique en utilisant la régression logistique régularisée avec l’algorithme d'apprentissage proximal ‘Amorce régularisée de suivi’ (Follow-The-Regularised-Leader) (FTRL).
[0020] Le corps des instructions de programme inclut par ailleurs des instructions qui, lorsque sont exécutées par 1e processeur, amènent l’appareil informatique à implémenter le procédé comprenant d’autres étapes, pour chaque coefficient de la pluralité des coefficients de modèles :
la génération d’une clé comprenant une représentation hachée d’un nom de caractéristique et d’une valeur de caractéristique correspondant au coefficient, et le stockage, dans une structure de donnée de dictionnaire, d’une valeur de coefficient associée à la clé, dans lequel la structure de donnée de dictionnaire comprend un chiffrage efficace du modèle d’apprentissage automatique.
[0021] Le corps des instructions de programme inclut des instructions qui, lorsqu’elles sont exécutées par le processeur, amènent l’appareil Informatique à exécuter de façon récurrente les étapes suivantes : l’accès à l’entrepôt de données en ligne, l’appariement des enregistrements récupérés d’événements de placement de contenu ainsi que les enregistrements récupérés d'événements d’interaction, le calcul des vecteurs de caractéristiques de formation enrichies et la formation (408) du modèle d’apprentissage automatique pour actualiser le modèle d’apprentissage automatique.
[0022] Dans un autre aspect, l’invention fournit un programme d’ordinateur comprenant un code de programme pour exécuter tes étapes du procédé selon te premier aspect lorsque ledit programme est exécuté sur un ordinateur. Les instructions de code de programme peuvent par exempte être stockées sur des supports tangibles lisibles par ordinateur.
[0023] À partir de la description qui suit divers modes de réalisation, d’autres aspects, avantages et caractéristiques, des modes de réalisation de l’invention seront apparents aux hommes de métier spécialisés dans les domaines pertinents. On notera cependant, que l’invention n’est pas limitée aux modes de réalisation décrits qui sont fournis à titre d’illustration des principes de l’invention tels qu’ils sont définis dans les déclarations à venir et dans les revendications en annexe et pour assister les hommes de métier à mettre en pratique ces principes.
BRÈVE DESCRIPTION DES DESSINS [0024] Des modes de réalisation de l’invention seront maintenant décrits par rapport aux dessins accompagnants dans lesquels des numéros référentiels font référence à des caractéristiques similaires et dans lesquels :
La figure 1 est un diagramme schématique illustrant un système exemplaire en réseau pour mettre en oeuvre l’invention ;
La Figure 2 montre une chronologie des communications entre un dispositif utilisateur, un serveur Web et un serveur de bourse publicitaire avec une DSP pour mettre en œuvre l’invention ;
La Figure 3 est un diagramme bloc illustrant de façon schématique un nombre de modules de code, comprenant un moteur de prédiction de l’interaction d’un utilisateur en ligne, pour mettre en œuvre l’invention ;
La Figure 4 montre un diagramme séquentiel d’un procédé d'actualisation d’un modèle d’apprentissage automatique en ligne pour mettre en œuvre l’invention ;
La Figure 5 montre un diagramme séquentiel d’un procédé d’ingénierie et d'optimisation d’hyperparamètres de modèle selon un mode de réalisation de l’invention ;
La Figure 6 illustre par un diagramme séquentiel un procédé pour le fonctionnement d’un module d’enchère en temps réel selon un mode de réalisation de l’invention ;
Les Figures 7(a) et 7(b) sont dés diagrammes qui illustrent la performance d’un module d’enchère en temps réel pour mettre en œuvre l’invention.
DESCRIPTION DÉTAILLÉE DES MODES DE RÉALISATION [0025] La Figure 1 est un diagramme bloc qui illustre un système exemplaire en réseau 100 incluant du côté de la demande, un serveur 102 d’une plateforme (DSP) qui est configuré pour implémenter un procédé d’enchère pour le placement de contenu publicitaire selon un mode de réalisation de l’invention. Le serveur DSP 102 peut comprendre un système informatique ayant une architecture conventionnelle. En particulier, le serveur DSP 102, tel qu’il est illustré, comprend un processeur 104, Le processeur 104 est associé de façon fonctionnelle avec un dispositif de stockage/mémoire non volatile 106, p. ex, via un ou plusieurs bus de données/adresses 108 ainsi qu’illustré. Le stockage non volatile 106 peut être un disque dur et/ou peut inclure une mémoire non volatile à état défini, telle qu’une mémoire morte ROM, une mémoire flash, un disque dur électronique SSD ou autre stockage similaire. Le processeur 104 sert aussi d’interface avec le stockage volatile 110 tel que la mémoire à accès aléatoire RAM qui contient des instructions dé programme et des données temporaires relatives au fonctionnement du serveur DSP 102.
[0026] Dans une configuration conventionnelle, le dispositif de stockage 106 conserve un programme connu et un contenu de données pertinentes avec le fonctionnement normal du serveur DSP 102. Par exemple, le dispositif de stockage 106 peut contenir des programmes de système d’exploitation et des données ainsique d’autres logiciels d’application exécutables, nécessaires pour les fonctions voulues du serveur d’authentification 102. Le dispositif de stockage 106 contient aussi des instructions de programme qui, lorsqu'elles sont exécutées par le processeur 104, amènent le serveur DSP 102 à effectuer des opérations relatives à un mode de réalisation de la présente invention, lesquelles sont décrites de façon plus détaillée ci-dessous en référence aux Figures 2 et 6 en particulier. Dans le fonctionnement, les instructions et les données stockées sur le dispositif de stockage 106 sont transférées à la mémoire volatile 110 pour une exécution à la demande.
[0027} Le processeur 104 est aussi associé fonctionnellement à une interface de communications 112 d’une manière conventionnelle. L’interface de communications 112 facilite l’accès à un réseau étendu de communications de données, tel que l'Internet 116.
[0028] Dans la pratique, le stockage volatile 110 contient un corps d’instructions de programme correspondant 114 transféré à partir du dispositif de stockage 106 et qui est configuré pour effectuer le traitement et d’autres opérations afin de mettre en œuvre les caractéristiques de la présente invention. Les instructions de programme 114 comprennent une contribution technique spécifique à l’art, conforme à l’invention décrite par la suite ci-dessous.
[0029] Concernant l’aperçu global du serveur DSP 102 et d’autres systèmes de traitement et dispositifs décrits dans cette spécification, les termes tels que ‘processeurs’, ‘ordinateur’ et ainsi de suite, sauf si le contexte exige autrement, doivent être interprétés comme faisant référence à une gamme d’implémentations possibles des dispositifs, appareils et systèmes comprenant une combinaison de logiciels et de matériel. Cela inclut des dispositifs à processeur unique et à processeurs multiples, et un appareil, incluant les dispositifs portables, les ordinateurs de bureau et divers types de systèmes de serveur incluant du matériel collaboratif et des plateformes logicielles qui peuvent cohabiter ou être distribuées. Les processeurs physiques peuvent inclure des unités centrales de traitement (CPUs), à usage général, des processeurs de signaux numériques, des unités de traitement graphique (GPUs) et/ou d’autres dispositifs matériels appropriés pour une exécution efficace des programmes et des algorithmes nécessaires. Les systèmes informatiques peuvent inclure des architectures conventionnelles d’ordinateur personnel ou d’autres plateformes matérielles à usage général. Les logiciels peuvent inclure des logiciels de sources libres et/ou des logiciels de systèmes d’exploitation vendus sur le marché en combinaison avec diverses applications et programmes de services. Autrement, les plateformes de traitement ou de calcul peuvent comprendre du matériel et/ou des architectures de logiciel adaptés sur mesure. Pour une extensibilité améliorée, les systèmes de traitement et de calcul peuvent comprendre des plateformes d’informatique en nuage (doud) permettant aux ressources matérielles physiques d’être affectées de façon dynamique en réponse aux demandes de services. Alors que toutes ces variations sont comprises dans la portée de la présente invention, pour faciliter l’explication et la compréhension, les modes de réalisation exemplaires décrits dans les présentes sont basés sur des plateformes informatiques à usage général et un processeur unique, des plateformes de système d’exploitation couramment disponibles et/ou des produits de consommateurs largement disponibles, tels que des ordinateurs de bureau (PCs), des ordinateurs compacts ou ordinateurs portables (PCs), des smartphones, des tablettes informatiques et ainsi de suite.
[0030J En particulier, le terme ‘unité de traitement' est utilisé dans cette spécification (y compris les revendications) en référence à toute combinaison appropriée de matériel et de logiciels configurés pour effectuer une tâche particulière définie telle que l’accès et le traitement des données en ligne ou hors connexion, l’exécution des étapes de formation d’un modèle d’apprentissage automatique ou l’exécution des étapes de prédiction d’un modèle d’apprentissage automatique. Une telle unité de traitement peut comprendre un module de code exécutable qui s’exécute à un emplacement unique sur un dispositif de traitement unique ou qui peut comprendre des modules collaboratifs de code exécutable qui s’exécutent à de multiples emplacements et/ou sur de multiples dispositifs de traitement. Par exemple, dans certains modes de réalisation de l’invention, te traitement d’une classification et d’une décision d’enchère peut être effectué entièrement par un code qui s'exécute sur te serveur DSP 102, alors que pour d'autres modes de réalisation le traitement correspondant peut être effectué d’une manière distribuée sur une pluralité de serveurs DSP.
[0031 ] Les composants logiciels, p. ex. les instructions de programme 114, pour mettre en œuvre tes caractéristiques de l’invention peuvent être développés en utilisant tout langage de programmation approprié, environnement de développement ou combinaisons de langage et d’environnement de développement qui seront familiers aux hommes de métier spécialisés dans l'ingénierie logicielle. Par exemple, un logiciel approprié peut être développé en utilisant le langage de programmation C, le langage de programmation Java, le langage de programmation C++, te langage de programmation Go et/ou une gamme de langages adaptés à l’implémentation de services sur réseau, ou basés sur le Web, tels que JavaScript, HTML, PHP, ASP, JSP, Ruby, Python, Péri, et ainsi de suite. Ces exemptes ne se veulent pas restrictifs et on notera que des langages ou des systèmes de développement pratiques peuvent être employés selon les exigences des systèmes. Les descriptions, diagrammes bloc, organigrammes et autres qui sont présentés dans cette spécification sont fournis à titre d’exemple pour permettre aux hommes de métier spécialisés dans ringénierie logicielle et l’apprentissage automatique de comprendre et d’apprécier les caractéristiques, la nature et la portée de l’invention, et pour mettre un ou plusieurs modes de réalisation de l’invention en pratique par l’implémentation de code logiciel adapté conformément à cette divulgation sans avoir à y apporter une ingéniosité inventive additionnelle.
[0032] Revenant à te Figure 1, te système 100 comprend par ailleurs des serveurs DSP additionnels, p. ex., 118,120 qui, lors de l'utilisation, sont en concurrence avec te serveur DSP 102 pour enchérir sur le placement d’un contenu publicitaire à l’intérieur des encarts publicitaires offerts via un serveur de bourse publicitaire 122. Le serveur de bourse publicitaire 122 implémente une place de marché numérique qui permet aux annonceurs et aux éditeurs de sites
Web et d’autre contenu en ligne d’acheter et de vendre des espaces publicitaires sous forme d’une enchère en ligne en temps réel dans laquelle chaque serveur DSP 102,118,120 est un enchérisseur automatique ultrarapide. Le serveur de bourse publicitaire 122 comprend une base de données 124 dans laquelle il conserve les détails des fournisseurs de contenu en ligne (les serveurs Web) et des annonceurs (DSPs) dans le but de faire fonctionner une place de marché publicitaire numérique. Les fonctions des plateformes de bourse publicitaire telles que DoubleClick™ (propriété de Google™), AppNexus™, Microsoft™ Ad Exchange™ et OpenX™, sont bien connues et ne seront donc pas décrites de façon plus détaillée dans les présentes sauf si cela s'avère nécessaire pour illustrer de façon adéquate 1e fonctionnement des modes de réalisation de l’invention.
[0033) Le système 100 inclut par ailleurs des dispositifs de terminaux d’utilisateurs illustrés par le dispositif terminal 126. Les dispositifs de terminal 126 peuvent être par exemple des PCs de bureau ou portables, des smartphones, des tablettes ou d’autres dispositifs informatiques personnels et chacun comprend un processeur 128 qui est en interface, p. ex., via le bus d'adresses/données 130, avec le stockage volatile 132, le stockage non volatile 134 et au moins une interface de communications de données 136. Le processeur 128 est aussi en interface avec une ou plusieurs interfaces d’entrée/sortie (I/O) 140. Le stockage volatile 132 contient des instructions de programme et des données transitoires relatives au fonctionnement du dispositif d’un terminal 126.
[0034] Le stockage des dispositifs de terminaux 132,134 peut contenir un programme et un contenu de données pertinents avec le fonctionnement normal du dispositif 126. Cela peut inclure des programmes de système d’exploitation et des données (p. ex. associés à Windows, Android, IOS, MacOS, Linux ou autre de façon générale n’ont pas de lien avec la présente invention. Le stockage 132 inclut aussi des instructions de programme 138 qui, lorsqu’elles sont exécutées par le processeur 128, permettent au dispositif de terminal de fournir un accès au contenu en ligne à un utilisateur. Alors que beaucoup d’applications sont connues pour apporter cet accès, par simplicité dans la description présente il est supposé que les instructions de programme 138 mettent en oeuvre un navigateur Web ayant une interface graphique d'utilisateur (GUI) présentée via l’interface I/O 140.
(0035] Par conséquent, dans l'hypothèse où un utilisateur du dispositif terminal 126 accéderait au serveur Web 142, un affichage 144 d’une page Web correspondante serait généré via le dispositif (Ul) 140. L’affichage 144 inclut un contenu du site Web 146 et un ou plusieurs encarts publicitaires, p. ex. 148,150. Comme illustré par ailleurs, chaque encart publicitaire 148,150 peut comprendre une pluralité ‘d’offres’ spécifiques pour le compte d'un annonceur. Ces offres sont arrangées de manière courante sur un tracé de grille indiqué par tes rectangles en ligne pointillée 148a, 148 b, 148c, 150a, 150 b, 150c dans la Figure 1. Un nombre d’étapes de communications peut ensuite prendre place afin de remplir ces encarts (c.-à-d. de fournir aux annonceurs en ligne des impressions de publicité à l’intérieur de l’affichage de la page Web 144. Ces étapes de communications vont maintenant être décrites en référence à la chronologie 200 illustrée dans la Figure 2.
[0036] Initialement, le terminal utilisateur 126, via l’application de navigateur Web en cours d’exécution 138 qui est réceptive à une entrée de l’utilisateur, transmet au 202 une requête HTTP au serveur Web 142 qui inclut une URL du contenu Web désiré. Le serveur Web 142 répond en transmettant au 204 le contenu, p. ex. une page Web en format HTML, au dispositif utilisateur 126. Les hommes de métier spécialisés dans l’art de la programmation web noteront que le remplissage complet et le rendu de l’affichage de pages Web 144 peut nécessiter de multiples requêtes et réponses et peut impliquer plusieurs autres transactions avec te serveur Web 142 et/ou avec d’autres serveurs en ligne, tels que tes serveurs de réseau de distribution de contenu (CDN) et d’autres serveurs fournissant un contenu intégré. Par simplicité et pour faciliter l’attention sur les caractéristiques de mise en oeuvre des communications de la présente invention, toutes ces transactions additionnelles connues sont représentées par une seule communication exemplaire 206 dans la Figure 2.
[0037] Afin d’obtenir du contenu publicitaire pour remplir les encarts 148150, la page Web transmise par le serveur Web 142 au dispositif utilisateur 126 inclut typiquement une référence hypertexte (’href) qui instruit le navigateur 138 pour récupérer le contenu sur le serveur de la bourse publicitaire 122 en conformité avec une interface de programmation d’application (API) définie et fournie par l'exploitant concerné du serveur 122. Par conséquent, 1e dispositif utilisateur 126 transmet au 208 une requête HTTPau serveur de bourse publicitaire 122. La requête inclut des informations de site Web et des informations d’utilisateur relatives à l’utilisateur du dispositif terminal 126. Des informations d’utilisateur disponibles peuvent inclure des informations que le serveur Web 142 a rassemblées et peuvent inclure des informations du côté du client telles que l’identité du dispositif et du navigateur ainsi que des détails techniques, l’identification des informations, le contenu des cookies de navigateur et ainsi de suite. Plusieurs mécanismes en ligne pour la collecte, la conservation et le suivi des informations du dispositif et de l’utilisateur sont bien connus et disponibles aux hommes de métier spécialisés dans l’art de la programmation Web, par conséquent, ils ne seront pas décrits de façon détaillée dans la présente.
[0038] Le serveur de bourse publicitaire 122 reçoit la requête, identifie les serveurs DSP pertinents, 102,118,120 dans sa base de données 124 et transmet au 210 des messages indiquant une demande d’enchère pour chaque serveur DSP sélectionné. Un tel message de demande d’enchère, incluant des informations d’utilisateur et de site, est reçu par le serveur DSP 102 pour mettre en œuvre la présente invention qui exécute un processus 212 conformément à sa programmation spécifique 114 afin de prédire une probabilité d’interaction de l’utilisateur avec une publicité sélectionnée incluant une ou plusieurs offres, placées à l'intérieur d’un ou de plusieurs encarts disponibles 148,150, et arriver à une décision d’enchère. Dans le cas où une décision est prise d'enchérir pour l’impression offerte et qu’une valeur d’enchère est déterminée, le serveur DSP 102 transmet ensuite au 214 l’enchère au serveur de bourse 122.
[0039] Le serveur de bourse 122 reçoit toutes les enchères transmises en provenance des serveurs DSP, incluant le serveur 102 et sélectionne une enchère gagnante. IJ récupère ensuite le contenu de l’annonce correspondant à l’enchère gagnante de sa base de données 124 et transmet au 216 le contenu de l’annonce au dispositif utilisateur 126 pour un rendu à l'intérieur de l’encart publicitaire correspondant, p. ex. 148 ou 150.
[0040] Il est bien connu que la vitesse de chargement d’une page est une caractéristique importante d’un site Web du point de vue de l’utilisateur et qu’il n’est pas désirable que le temps requis pour 1e chargement d’une page Web complète soit excessif. Il est typiquement préférable que le temps de chargement n’excède pas quelques secondes, p. ex. 3 secondes, au 218. Il y a, comme décrit ci-dessus, plusieurs étapes nécessaires pour servir complètement tout le contenu d'une page Web complexe qui peut impliquer de multiples serveurs dans l’ensemble de l’Internet mondial. Il est donc primordial que la durée du processus d’enchère facilité par le serveur de bourse 202 soit strictement limitée. Il est actuellement jugé désirable que te serveur DSP 102 prenne une décision d’enchère en l’espace de pas plus de quelques dixièmes de millisecondes, par exemple en moins de 30 millisecondes, au 220. Cette décision doit être prise avec des informations d'utilisateur limitées et compte tenu du fait qu’une mauvaise décision peut avoir des conséquences substantielles pour l’annonceur. Par exempte, si 1e serveur DSP détermine à tort que l’utilisateur est une cible désirable pour une annonce particulière (c.-à-d. calcule un ' faux positif’) il peut placer une enchère gagnante substantiellement élevée et subir un coût réel avec peu où aucune chance de retour. Inversement, si le serveur DSP détermine que l'utilisateur n’est pas une cible désirable pour l’annonce (c.-à-d. calcule un 'faux négatif), il peut ne pas placer d’enchère ou placer une enchère basse perdante et faire manquer une occasion à l’annonceur d’obtenir une impression avec une véritable chance de retour.
[0041J Afin d’atteindre une prise de décision qualitative à grande vitesse dans le contexte des services de réservation de voyage, des modes de réalisation de la présente invention utilisent une approche d’apprentissage automatique. Pour faciliter par ailleurs la compréhension de cette approche, la Figure 1 est maintenant référencée, dans laquelle le système 100 inclut par ailleurs un serveur d’apprentissage automatique (Serveur ML) 152 qui est configuré pour traiter des données brutes relatives au placement du contenu (c.-à-d. tes clics de l’utilisateur sur des annonces/offres), générer des ensembles de données de formation pour un modèle d’apprentissage automatique et former le modèle d’apprentissage automatique pour un déploiement sur le serveur DSP 102. Les étapes de traitement, de formation et de déploiement sont décrites de façon plus détaillée ci-dessous en référence aux Figures 3 et 4 et peuvent être mises en œuvre de façon continue, périodiquement et/ou à la demande afin de maintenir l’actualité du modèle d’apprentissage automatique.
[0042] Gomme avec le serveur DSP 102, le serveur ML 152 peut comprendre un système informatique ayant une architecture conventionnelle, p. ex. comprenant un processeur 154 qui est associé de façon fonctionnelle avec un dispositif de mémoire/stockage non volatile 156, via un ou plusieurs bus de données/adresses 158, tel qu’illustré, Le processeur 154 sert aussi d’interface au stockage volatile 160 qui contient tes instructions de programme et les données transitoires concernant le fonctionnement du serveur ML 152.
Conventionnellement, le dispositif de stockage 156 contient des programmes de systèmes d’exploitation et des données ainsi que d'autres logiciels d’application exécutables nécessaires aux fonctions voulues du serveur ML 152 et inclut des instructions de programmes qui, lorsqu’elles sont exécutées par le processeur 154, amènent le serveur ML 152 â mettre en œuvre les opérations concernant un mode de réalisation de la présente invention telles qu’elles seront décrites de façon plus détaillée ci-dessous en référence aux Figures 3 et 4 en particulier. En pratique, tes instructions et les données stockées sur le dispositif de stockage 156 sont transférées à la mémoire volatile 150 pour une exécution à la demande. En outre, te processeur 154 est associé fonctionnellement à une interface de communications 162 d’une manière conventionnelle, fournissant un accès à l’Internet 116.
[0043] En pratique, le stockage volatile 160 contient un corps d’instructions de programme 164 correspondant, transféré à partir du dispositif de stockage 156 et configuré pour effectuer tes étapes de traitement, de formation et de déploiement pour mettre en œuvre la présente invention. Les instructions de programme 164 comprennent une autre contribution technique spécifique à l’art conformément à l’invention.
[0044] Le système 100 inclut par ailleurs au moins une base de données 166 qui est configurée pour stocker des données historiques brutes concernant le placement du contenu (c.-à-d. annonces/offres) avec tes interactions d’un utilisateur (l’utîfeateur clique sur des annonces/offres). Le volume de ces données peut être très large dans tes laps de temps présentant un intérêt, par exempte un mois ou plus. Par exempte, dans un déploiement particulier en temps réel il a été découvert qu’un registre de données pour une seule journée comprenait de l’ordre de 20 millions de lignes (c.-à-d. d’événements de placement et d’interaction) ayant au total une taille de stockage de l'ordre de 10 Gb. Par conséquent, la base de données 166 est de préférence implémentée en utilisant des technologies qui sont optimisées pour un stockage, une récupération et une actualisation efficaces de très larges volumes de données (parfois appelées « mégadonnées ») pour de multiples serveurs de base de données et de dispositifs de stockage. Bien qu’un nombre de technologies libres et commerciales adaptées existe pour l’implémentation de la base de données 166, un mode de réalisation exemplaire expérimental a été mis en œuvre en utilisant l’architecture Apache Hadoop avec des données stockées en format Parquet sur HDFS (un système de fichier Hadoop distribué) et en utilisant Impala, un moteur d’interrogation similaire à SQL pour fournir une vitesse ultrarapide. L’implémentation a été testée et s’est avérée fournir une performance plus qu’adéquate pour le déploiement pratique en ligne des modes de réalisation de l’invention.
[0045] La base de données 166 est accessible à la fois au serveur DSP 102 et au serveur ML 152. Dans la Figure 1, l’accès logique est illustré par des flèches correspondantes. Dans un mode de réalisation pratique, l’accès physique entre la base de données 166 et les serveurs DSP et ML 102,152 peut se faire via l’Internet 116 et/ou via d’autres liens ou réseaux de communications dédiés, tels que le réseau d’espace de stockage local (SAN). Le serveur DSP 102 est configuré pour mettre à jour la base de données 166 en temps réel avec des données brutes relatives aux événements de placement et d'interaction. Le serveur ML 152 est configuré pour récupérer les données brutes de la base de données 166 et pour mettre en œuvre les étapes de traitement, de formation et de déploiement, sur la base des données récupérées, selon un mode de réalisation de l'invention.
[0046] Revenant à la Figure 2, d’autres opérations relatives à la mise à jour de la base de données 166 par le serveur DSP 102 sont illustrées. En particulier, dans l'éventualité où le serveur DSP 102 placerait une enchère gagnante et qu’un contenu d’annonce correspondant serait transmis au 216 au dispositif utilisateur 126, le serveur DSP 102 actualiserait au 222 la base de données 166, en ajoutant des données relatives au placement de l'annonce (c.-à-d. l’impression d’une annonce/offre). Le code associé à l’annonce est configuré de sorte que, dans l'éventualité où l’utilisateur interagirait par la suite avec l’annonce (c.-à-d. en cliquant dessus), le serveur DSP 102 recevrait directement ou indirectement une notification 224 de cet événement d’interaction. Ensuite, au 226, le serveur DSP 102 met à jour la base de données 166 avec des détails de l’événement d’interaction. De cette façon, la base de données 166 est continuellement actualisée avec des données brutes relatives à tous les événements de placement et d'interaction connus par le serveur DSP 102.
[0047] La Figure 3 est un diagramme bloc illustrant de façon schématique un nombre de modules de code qui ensemble comprennent un moteur de prédiction d’interaction (300) d’utilisateur en ligne pour mettre en œuvre l’invention. L'implémentation du moteur de prédiction d’interaction de l’utilisateur 300 est distribuée entre le serveur ML 152 et le serveur DSP 102 comme le montrent les cases en pointillés dans la Figure 3. Trois modules de code constituent tes composants de serveur ML du moteur 300, notamment un module d’appartement 302, un module d’enrichissement de caractéristiques 304 et un module d’apprentissage automatique 306. Ces trois modules sont tous implémentés par tes instructions de programmes 164 qui s’exécutent sur te serveur ML 152. La fonctionnalité implémentée dans chacun de ces modules sera maintenant décrite de façon plus détaillée.
(0048} Le but du module d’appariement 302 est d’apparier les événements de placement (c.-à-d. l’affichage des annonces et des offres à l’intérieur des annonces dans les encarts publicitaires 148,150 de l'affichage 144 du dispositif utilisateur 126) avec des événements d’interaction subséquents (c.-à-d. les occurrences de clics d’un utilisateur sur une offre à l’intérieur d’une annonce placée sur l’affichage 144 du dispositif utilisateur 126). L’appariement permet le placement des événements devant être balisés pour avoir 'reçu un clic’ ou ‘ne pas avoir reçu de clic’, de sorte qu’ils peuvent être utilisés par le module d’apprentissage automatique 306 pour la formation d’un modèle d’apprentissage automatique contrôlé afin de prédire les événements d’interaction de l’utilisateur sur la base du placement des données d’événements. En outre, l’appariement permet le placement de données d’événements devant être combinées avec des données d’événements d’interaction correspondants pour créer un enregistrement des annonces ayant fait l’objet de clics contenant toutes les informations disponibles concernant le placement et l'interaction.
[0049] L’appariement présente un défi parce qu’il n'existe pas de lien explicite entre un événement de placement (impression d’annonce) et une interaction d'utilisateur par la suite (un clic sur l’annonce). Comme illustré par la chronologie 200 de la Figure 2, une interaction d’un utilisateur peut survenir à tout moment après le placement, p. ex. après un délai substantiel. Puisque le taux d’occurrence des événements d’interaction et/ou de placement peut être très élevé (p. ex. des centaines de milliers de fois par seconde), dans un système opérationnel, l’appariement des événements d'interaction et de placement peut devenir largement séparé dans la base de données 166. En outre, le taux d’événements d'interaction peut-être très bas, p. ex. il est généralement rapporté que le taux de clics (CTR) pour les publicités affichées sur le Web est de l’ordre de 0,05 %. Par ailleurs, il est souhaitable de lier les événements d’interaction et de placement au niveau de l’offre, plutôt qu’uniquement au niveau de l’annonce.
[0050] L’approche générale employée pour l'appariement dans les modes de réalisation de l'invention est d’identifier dans la base de données 166 des événements de placement et des événements subséquents d’interaction dans une fenêtre de temps prédéterminée qui ont un ensemble sélectionné de paramètres correspondants. La fenêtre de temps doit avoir une durée suffisante pour capturer une majorité substantielle des interactions dans leur ensemble et le nombre et le choix des paramètres doivent être suffisants pour assurer un appariement unique dans une majorité substantielle de cas. Un appariement parfait peut être difficile à atteindre parce qu’il est impossible de savoirs», ou quand, une interaction va survenir. Une fenêtre de temps d’une durée plus longue capturera des interactions qui surviennent après des délais plus longs, mais augmentera aussi le risque d’appariements erronés lorsque, par exemple, un utilisateur interagit avec une annonce présentée par la suite ayant des paramètres similaires. De façon similaire le risque d’appariement erroné peut être réduit en utilisant un ensemble plus large de paramètres sélectionnés pour faire la distinction entre des annonces présentées, au risque de rendre le processus d’appariement plus complexe.
[0051] Dans un mode de réalisation expérimental, l’invention a été implémentée dans le contexte d’un serveur DSP d’un domaine spécifique fonctionnant pour lé compte des annonceurs en utilisant des données d’événements capturées à partir d’un système opérationnel Une approche heuristique a été adoptée pour concevoir le module d’appariement avec un nombre d’expériences conduites pour déterminer une fenêtre dé temps appropriée et un ensemble sélectionné de paramètres. Une fenêtre de temps de 80 secondes s’est avérée efficace en combinaison avec tes paramètres d’événements correspondants suivant :
• un identifiant d’utilisateur unique (suivi via un cookie de navigateur) ;
• un identifiant d’annonceur ;
• un identifiant d’éditeur (c.-à-d. le réseau de distribution/bourse publicitaire via lequel l’annonce a été placée) • le format de l’offre sélectionnée par un clic (p. ex. la largeur et la hauteur graphique de l’offre en pixels) ;
• te type de produit d’annonce ;
• la réserve de produits d’annonce ;
• le segment d’utilisateur (une combinaison du segment de produit d’un utilisateur, basée sur un produit tel qu'un vol, un hôtel ou un restaurant consulté précédemment par l’utilisateur et un segment de temps d’utilisateur indiquant la durée écoulée depuis la dernière activité de f utilisateur) ;
• l’URL du site • la visibilité de l’encart publicitaire • te dispositif utilisateur ;
• une mesure de la distancé entre une destination (lieu) au sujet duquel l’utilisateur recherchait des informations et une destination qui a fait l’objet d’une offre spécifique ; et • une clé d’encart publicitaire (un identifiant stable pour la combinaison : éditeur, encart publicitaire et page).
(0052] Dans le mode de réalisation exemplaire, l’appariement est effectué en utilisant une interrogation Impala SQL pour sélectionner et joindre des tableaux d’enregistrement d’événements de placement et d’interaction sur tes valeurs de champs correspondants aux paramètres listés ci-dessus. Spécifiquement, les enregistrements de placement sont joints à la gauche des enregistrements d’interaction, de sorte que 1e tableau qui en résulte inclut un rang pour chaque événement dé placement Chaque rang comprend un ensemble de valeurs de caractéristiques brutes dérivées des événements appariés, ainsi qu’un indicateur indiquant si oui ou non un événement d’interaction, c.-à-d. un clic sur une annonce/offre, est survenu. Le tableau de données appariées est entré dans le module d’enrichissement de caractéristiques 304.
[0053] La fonction du module d’enrichissement de caractéristiques 304 est de dériver, à partir des valeurs de caractéristiques brutes dans le tableau de données appariées, générées par le module d’appariement 302, un ensemble correspondant de vecteurs de caractéristiques enrichies pour une utilisation par le module d’apprentissage automatique 306. Un processus pour déterminer un ensemble approprié de caractéristiques enrichies ((c.-à-d. une ingénierie de caractéristiques) est décrit de façon plus détaillée ci-dessous en référence à la Figure 5, Dans la Figure 3, les définitions de caractéristiques enrichies pour une utilisation par le module d’enrichissement de caractéristiques 304 sont représentées comme étant stockées dans un fichier 310 à l’intérieur de l’entrepôt de données 308, cependant ceci doit être considéré comme une commodité schématique. Dans un mode de réalisation pratique, les définitions de caractéristiques peuvent être stockées de cette façon, elles peuvent être compilées dans un module de code et liées au module d’enrichissement de caractéristiques 304 ou elles peuvent faire l’objet d’un codage dur (hard-coded) dans 1e module d’enrichissement de caractéristiques. On notera que chacune de ces options d’implémentation (et d’autres qui seront apparentes aux hommes de métier) offre potentiellement un compromis différent entre : la flexibilité, la complexité de code et la vitesse d’exécution.
[0054] Dans le mode de réalisation exemplaire, toutes tes caractéristiques enrichies sont de type catégorique (c.-à-d. elles prennent une valeur parmi un nombre de valeurs discrètes) et sont encodées à chaud (one hot) Lés vecteurs de caractéristiques résultants sont donc généralement relativement épars et comprennent des éléments binaires. Par ailleurs, un vecteur de caractéristiques correspond à une offre à l'intérieur d’une publicité présentée à un utilisateur et H est associé à une balise binaire indiquant si oui ou non l’utilisateur a interagi avec l’offre (c.-ô-d. cliqué dessus). Le tableau résultant de vecteurs de caractéristiques et de balises est entré dans le module d’apprentissage automatique 306.
[0055] Le module d’apprentissage automatique 306 comprend un code de programme s’exécutant sur 1e serveur ML 152 qui est configuré dans le mode expérimental de réalisation exemplaire pour implémenter un modèle linéaire généralisé. Spécifiquement, le module d’apprentissage automatique 306 du mode expérimental de réalisation exemplaire implémente un algorithme de régression logistique régularisée avec une fonction d’apprentissage proximal 'd’Amorce régularisée de suivi’ (Follow-The-Regularised-Leader) (FTRL). De façon avantageuse cet algorithme d’apprentissage automatique est connu pour être efficace dans les cas impliquant des ensembles de données extrêmement déséquilibrés (sachant que seul environ 0,05 % des échantillons dans le tableau de vecteur de caractéristiques sont balisés comme ayant reçu un clic). Plus de détails sur l’algorithme et son application pour la prédiction de clics peuvent être trouvés dans l’ouvrage de H. Brendan McMahan et al, intitulé 'Ad Click Prédiction : a View from the Trenches', KDD’ 13, Augusi 11-14,2013, Chicago, Illinois, USA. L’algorithme a un nombre d'hyperparamètres qui peuvent être ajustés afin d’optimiser sa précision d’apprentissage sur les données de formation pour un problème spécifique. Un processus pour déterminer un ensemble approprié de valeur pour les hyperparamètres est décrit de façon plus détaillée ci-dessous en référence à la Figure 5. Dans la Figure 3, des valeurs fixes d’hyperparamètres pour une utilisation par le module d’apprentissage automatique 306 sont illustrées comme étant stockées dans un fichier 312 dans l’entrepôt de données 308. Cependant, comme on le remarquera, d'autres
[0066] L’exécution du mod ule d’apprentissage automatique 306 sur les résultats d'un ensemble particulier de données donne lieu à la génération d’un modèle qui peut être exécuté par le serveur DSP 102 tel qu'il sera décrit de façon plus détaillée ci-dessous en référence à la Figure 6. En particulier, un modèle de régression logistique est totalement caractérisé par un ensemble de coefficients associés aux éléments d’entrée du vecteur de caractéristiques. Dans le mode de réalisation exemplaire, une représentation particulièrement efficace du modèle est employée permettent au serveur DSP 102 de calculer une prédiction de la probabilité d'une interaction d'utilisateur très rapidement, c.-à-d. dans la fenêtre de temps ciblé 220 de l’ordre de 30 ms, pour générer une décision d’enchère. Spécifiquement, les coefficients sont stockés dans une structure de donnée de dictionnaire dans laquelle chaque entrée est définie par une clé et une valeur. La clé est une représentation hachée d’une concaténation de noms de caractéristiques (c.-à-d. l’étiquetage de colonnes dans le tableau de caractéristiques) et une valeur de caractéristiques correspondantes (c -à-d. des valeurs catégoriques avant l'encodage à chaud [one-hot]). La valeur associée dans le dictionnaire est simplement le coefficient de modèle correspondant Ce type de structure de donnée est connu pour fournir une consultation extrêmement rapide, particulièrement dans des ensembles de caractéristiques épars. En particulier, en utilisant des valeurs hachées, une limite sur le nombre de caractéristiques hachées peut-être imposée (un mécanisme parfois désigné sous 1e nom de 'lecture spéciale de hachage’ (hashing trîck)). Ce mécanisme peut être utilisé pour accélérer substantiellement la vitesse de consultation et te calcul, au risque de collisions possibles dans les valeurs de clé de dictionnaire. Cependant, de façon avantageuse, tes effets statistiques de ces collisions peuvent être négligés en ce qui concerne la performance globale de l’algorithme.
[0057] Pour un déploiement au serveur DSP 102, le modèle de structure de donnée est sérialisé en format binaire (dans 1e mode de réalisation exemplaire, 1e format Python ‘pickle’ est utilisé) et stocké dans un fichier de modèle 314 dans l'entrepôt de données 308.
[0058] En pratique, le serveur ML 152 exécute les modules 302, 304, 306 de façon récurrente, p. ex. de façon continue, périodique ou à la demande. Cela est illustré par ['organigramme 400 montré dans la Figure 4. Des données brutes sont récupérées dans la base de données 166 à l’étape 402. Des modes de réalisation exemplaires utilisent une période prédéterminée de données récentes qui est considérée comme étant représentative du comportement des utilisateurs actuels en ligne du système 100. Par exempte, des données brutes issues de la période d’un mois la plus récente peuvent être employées. À l’étape 404,1e module d'appartement 302 effectue l’appariement des événements de placement et d’interaction de la façon qui a été décrite. En pratique, les étapes de récupération 402 et d’appariement 404 peuvent être combinées en une seule interrogation, p. ex. une interrogation SQL Impala.
[0059] À l’étape 406, le serveur ML152 exécute le module d’enrichissement de caractéristiques qui utilisent les définitions de caractéristiques enrichies 310 pour calculer les vecteurs de caractéristiques enrichies correspondant aux données appariées. Celles-ci sont transférées au module d’apprentissage automatique 306 qui forme le modèle en utilisant les vecteurs de caractéristiques balisés et tes hyperparamètres définis dans 1e fichier de configuration 312. Les coefficients du modèle résultant sont hachés, sérialisés et publiés au 410 dans le fichier de modèle 314.
[0060] Ensuite, optionnellement, le serveur ML attend au 412, avant de recommencer le processus à l’étape 402. Une sortie de la condition d’attente 412 peut être déclenchée par un nombre d’événements différents. Par exempte, le serveur ML peut être configuré pour faire fonctionner les modules 302, 304, 306 de façon périodique, p. ex. une fois par jour. Autrement, ou de surcroît, il peut être configuré pour faire fonctionner les modules 302, 304, 306 à la demande, p. ex. à la réception d’un signal provenant d’un contrôleur (non illustré) à l’intérieur du système 100. Dans certains modes de réalisation, le serveur ML peut faire fonctionner les modules 302, 304, 306 de façon continue actualisant ainsi le fichier de modèle 314 aussi souvent que possible selon le temps requis pour apparier les données, enrichir les caractéristiques et former le modèle. Dans une configuration exemplaire expérimentale, il s’est avéré que des mises à jour basées sur des lots de données de 30 minutes fournissait un compromis approprié entre la qualité du produit du module d’appariement 302 (c.-à-d. le besoin de faire un rapprochement entre tes événements d’interaction et de placement de façon précise pour un bon ensemble de données de formation) et la réactivité au changement en temps réel dans 1e réseau de la bourse publicitaire (p. ex. les lancements de nouvelles campagnes, les entrées/sorties des concurrents, tes changements dans la demande des utilisateurs pour des contenus et ainsi de suite).
[0061 ] Faisant maintenant référence à la Figure 5, où l’on voit un organigramme 500 représentant un processus d’ingénierie de caractéristiques et d’optimisation d’hyperparamètres de modèle selon un mode de réalisation de l’invention. En pratique 1e processus 500 est partiellement automatisé et son fonctionnement est supervisé par des humains. Le développement de caractéristiques appropriées avec une forte capacité de prédiction et la sélection d’une gamme d’hyperparamètres de modèles adaptés demandent une expérience substantielle, du jugement, de la créativité et de l’ingéniosité, et dans la plupart des cas ne peuvent pas être entièrement automatisés de façon efficace.
[00621 Le processus 500 requiert un ensemble de données de test qui sont récupérées à l’étape 502 et qui peuvent être obtenues de la manière décrite cidessus par rapport à la fonctionnalité du module d'appariement 302. En particulier, des données peuvent être extraites de la base de données 166 pour une période de test sélectionnée en utilisant une interrogation SQL Impala de la même forme que celle qui est utilisée parle module d’appariement 302.
[0063] À l’étape 504, un ensemble de caractéristiques enrichies est défini et configuré. Dans le mode de réalisation exemplaire, cette étape demande l’application de jugement, de créativité et d’ingéniosité de la part d’un expert scientifique en données. En pratique, un nombre d'expériences ont été réalisées conformément au processus 500 et ont été renforcées par d’autres analyses de l'ensemble de données de test afin d’identifier un ensemble efficace de caractéristiques enrichies. À l’étape 506, les valeurs des caractéristiques enrichies définies sont calculées à partir de l’ensemble de données brutes de test.
[0064] À l’étape 508, un ensemble de valeurs d'hyperparamêtres est sélectionné et un modèle d'apprentissage automatique est configuré avec les valeurs sélectionnées. À l’étape 510,1e modèle résultant est formé en utilisant les données de test enrichies. Typiquement, une portion des données de test est retenue dans l'étape de formation 510 laquelle est ensuite utilisée dans une validation croisée à l'étape 512 pour évaluer la performance du modèle formé avec des données qui n’ont pas été vues pendant l’étape de formation 510.
[0065] La performance du modèle formé est ensuite évaluée à l’étape de décision 514 pour déterminer si oui ou non elle est acceptable, par exemple en atteignant un niveau de performance optimal ou suffisant. Le choix des critères pour évaluer la performance peut être important pour identifier un modèle acceptable. Des critères divers connus peuvent être utilisés, tels que la surface sous la courbe de fonctionnement du récepteur (AUROC), la perte de registre, ou Gini (qui s’apparente à AUROC). Dans le mode de réalisation exemplaire, une combinaison de Gini (qui prend des valeurs entre -1 et 1 et dont il est souhaité qu’elle soit aussi élevée que possible) a été utilisée pour évaluer la performance de modèles différents. Cette approche a été utilisée non seulement pour des hyperparamètres différents du modèle proximal FTRL sélectionné, mais aussi pour un nombre d’autres modèles incluant des arbres de décisions (une forêt aléatoire distribuée, des arbres gradients renforcés) l’algorithme Bayes naïf et des réseaux d’apprentissage profond qui ont été rejetés par la suite pour avoir fourni une performance inférieure sur tes ensembles de données analysées.
[0066J Dans l'éventualité où la performance serait jugée inacceptable ou qu’un processus d’optimisation s’avère incomplet, à l’étape de décision 514 une autre décision 516 est prise quant à savoir si tes hyperparamètres de modèle sont actualisés. La boucle de configuration des hyperparamètres qui en résulte, la formation et le test du modèle sont typiquement automatisés en utilisant un algorithme comme un quadrillage de recherche, ou une action similaire. Le rôle de l’expert scientifique en données qui supervise dans ce cas est de déterminer l’étendue appropriée pour le quadrillage des hyperparamètres.
[0067] Au cas où il n’y aurait plus d’exigences en matière de variation des hyperparamètres, une boucle extérieure, implémentée via la décision 518, permet de tester d'autres ensembles de caractéristiques enrichies. Si des sélections et des valeurs de modèles d'algorithme, d'hyperparamètres et de caractéristiques enrichies ont été épuisés sans identification d’un modèle acceptable alors on peut considérer que le processus 500 a échoué et il peut être nécessaire de revoir la stratégie. Cependant, pour les besoins du mode de réalisation exemplaire, le processus 500 a conduit à un modèle dont la performance est acceptable. Par conséquent à l’étape 520, les définitions de caractéristiques enrichies et de modèles d’hyperparamètres identifiés sont écrites dans des fichiers de données 310,312 dans l’entrepôt de données 308. Un résumé des caractéristiques enrichies développées via le processus 500 est présenté dans le tableau 1.
[0068] Faisant référence à nouveau à la Figure 3, le moteur de prédiction d’interaction d’un utilisateur en ligne 300 inclut un module d’enchère en temps réel 316 qui est implémenté dans les instructions de programme 114 s’exécutant sur le serveur DSP 102. Le module d'enchère en temps réel 316 utilise les définitions de caractéristiques enrichies 310 et la représentation du modèle formé 314. En particulier, le fonctionnement du module d’enchère en temps réel 316 est représenté par l’organigramme 600 illustré dans la Figure 6, dans lequel, à l’étape 602, les informations de sites et d’utilisateurs sont reçues (c.-à-d. via la transmission de 210 en provenance du serveur de bourse publicitaire 122. Cette information est utilisée à l’étape 604 pour calculer un vecteur de caractéristiques enrichies correspondant conforme aux définitions 310.
[0069] À l’étape 606, le module d’enchère en temps réel accède à la représentation du modèle qui, comme cela a été décrit, comprend un ensemble de coefficients stockés dans une structure de dictionnaire ultra-efficace permettant une consultation de coefficient rapide. Comme décrit ci-dessus, en référence à la Figure 4 en particulier, le modèle peut être actualisé de temps en temps par le serveur ML 152. La représentation du modèle 314 peut être stockée dans un support de stockage partagé 308 et être lue de façon asynchrone par le serveur DSP 102. Dans certains modes de réalisation, le serveur DSP peut conserver une copie de la représentation de modèle 314 en antémémoire pour un accès rapide, laquelle est actualisée lors de la mise à jour du fichier stocké par le serveur ML 152.
[0070] Le produit du modèle est une estimation de la probabilité d’une l’interaction d’un utilisateur avec une offre dans une publicité sélectionnée sur la base du vecteur de caractéristiques enrichies. Dans 1e mode de réalisation exemplaire, 1e produit est une valeur représentant une probabilité que l’utilisateur va cliquer sur une offre dans (‘annonce sélectionnée. Cette valeur est utilisée dans le processus de décision d’enchère à l’étape 608. Le processus 608 peut inclure de déterminer si oui ou non il faut enchérir et/ou peut déterminer un prix spécifique pour l’enchère de l’encart publicitaire disponible. Par exemple, un seuil peut être appliqué de sorte que si la valeur est en dessous du seuil aucune enchère ne peut être placée. Dans certains modes de réalisation, le montant d’une enchère peut être déterminé sur la base de la magnitude de la valeur, de sorte qu'un prix plus élevé est enchéri si le modèle indique une probabilité plus élevée que l’utilisateur va cliquer sur une offre dans l’annonce sélectionnée. Dans l’éventualité où une décision serait faite d’enchérir pour l’encart, le contrôle est orienté au 610 vers l’étape 612 dans laquelle les informations de l'enchère sont renvoyées au 214 aux serveurs de bourse publicitaire 122. Dans l’éventualité où l’enchère serait réussie, le contrôle serait orienté au 614 vers l’étape 616, dans laquelle la base de données 166 est mise à jour avec les détails de l’événement de placement [0071] Afin d’évaluer la performance du module d'enchère en temps réel 316 pour implémenter l’invention, un module expérimental a fonctionné en parallèle avec un nombre de modules implémentant un algorithme d’enchère conventionnel. Les résultats sont montrés dans les diagrammes des Figures 7(a) et 7(b) [0072] En particulier, la Figure 7(a) est un diagramme 700 ayant un taux de clics (CTR) sur l’axe vertical 702 avec la performance correspondante de dix modules d’enchère représentés par une série de barres. Les barres 704 représentent la performance de neuf modules conventionnels d’enchère alors que la barre 706 représente la performance de l’enchérisseur expérimental représentant (Invention. Comme on peut le constater, l’enchérisseur expérimental a atteint un CTR d'environ cinq fois plus que la performance moyenne des enchérisseurs conventionnels.
[0073] La Figure 7(b) est un diagramme 708 ayant une marge, définie par le bénéfice net divisé par le coût, sur l’axe vertical 710. Les barres 712 représentent la performance de neuf modules d’enchère conventionnels, lesquels ont tous fonctionné à perte. Cependant, l’enchérisseur expérimental, représenté par la barre 714, a été capable de fonctionner de façon profitable.
[0074] Les résultats des Figures 7(a) et 7(b) démontrent donc clairement la supériorité pratique et technique atteinte par l’invention par rapport aux procédés conventionnels de prédiction d’interaction d’un utilisateur en ligne.
[0075] On notera que bien que des modes de réalisation particuliers et des variations de l'invention ont été décrits dans les présentes, d’autres modifications et alternatives seront apparentes aux hommes de métier spécialisés dans les arts pertinents. En particulier, les exemples sont offerts à titre d’illustration des principes de l’invention et pour apporter un nombre de procédés et d’arrangements spécifiques pour mettre en œuvre ces principes. De façon générale, les modes de réalisation de l’invention s’appuient sur l’apport d’arrangements techniques dans lesquels la prise de décision automatisée en ligne en temps réel peut être effectuée sur la base des prédictions dérivées d’interaction d’utilisateur à partir d’un modèle d’apprentissage automatique formé qui utilise des données dérivées d’une base de données d’événements de placement et d’interaction. Les étapes techniques implémentées par les modes de réalisation exemplaires incluent l’appariement des événements pour générer des enregistrements combinés de placement/interaction qui sont balisés pour usage par des algorithmes d’apprentissage contrôlés, le calcul de vecteurs de caractéristiques enrichies pour l’apprentissage en ligne et la formation d’un modèle d’apprentissage automatique basé sur une actualisation continue de données d’événements afin de maintenir une représentation de modèle à jour et actualisée périodiquement ayant un format efficace utilisable par un module d’enchère en temps réel pour prendre des décisions rapides, p. ex. en moins de ms
TABLEAU 1 Résumé des caractéristiques enrichies
Nom de la caractéristique Description de la caractéristique
ts_day_of_week Le jour de la semaine (dim-sam) de l’événement de placement
ts_hour_of_ day L’heure de la journée (00-23) de l'événement de placement
tsjs_ weekend Si le placement de l’événement est survenu au cours d’un weekend.
tsjs_bank_holiday Si l’événement de placement est survenu pendant un jour férié pour les banques dans le pays à partir duquel l’utilisateur a accédé au site.
publisherjd L’identifiant de l’éditeur (c.-à-d. l’exploitant du serveur de bourse publicitaire).
advertiser îd L’identifiant de l’annonceur.
offer__key Un identifiant unique d’offre, créé en combinant id_annonceur (voir ci-dessus) avec d’autres champs de l’annonceur (type de produit et réserve de produit).
ad_dst_top199 Une destination associée à une offre. Limitée aux 199 premières destinations qui lors des expériences d'ingénierie de caractéristiques ont révélé la capture de 92 % de tous les clics.
fmt Format d’une offre (largeur et hauteur de l’image d'offre dans l’encart publicitaire).
nb offers per ad Nombre d’offres incluses avec l’encart publicitaire.
mq_dst Proximité/distance de la destination d’intérêt pour l’utilisateur et de la destination associée à une offre. Une valeur catégorique indiquant la proximité d’un appariement sur une échelle définie.
user_pseg L'identifiant d’un segment de produit consulté précédemment par un utilisateur (p. ex. un vol, un hébergement, un restaurant).
userjseg L’identifiant d’un segment de temps de l’activité antérieure de l’utilisateur (p. ex. au cours de la dernière journée, 24-48 heures auparavant...8-30 jours auparavant).
Domain_namejop99 Nom de domaine du site dans lequel l’encart publicitaire est affiché. Limité aux 99 premiers domaines qui, au cours des expériences d'ingénierie de caractéristiques, ont révélé la capture de 95 % de tous tes clics.
slot_visibility Visibilité de l’encart publicitaire dans la page sur l’écran de l'utilisateur.
device Identifiant du dispositif de l'utilisateur.
Nom de la caractéristique Description de la caractéristique
fmt_device Une caractéristique conçue comprenant une combinaison de format (fmt) d’offre et d’identifiant de dispositif d’utilisateur (dispositif).
ad_slot„key__top499 Un identifiant unique pour la combinaison : éditeur, encart publicitaire et page. Limitée aux premières 499 valeurs qui, au cours des expériences d’ingénierie de caractéristiques, ont révélé la capture de 97 % de tous les clics.
camp_type Un identifiant catégorique de type de campagne associé à une offre (p. ex. texte + image, bannière d’affichage avec contenu dynamique, bannière d’affichage statique).
user_country_top3 Le pays à partir duquel l'utilisateur a accédé au site. Limité aux trois premiers pays qui, au cours des expériences d'ingénierie de caractéristiques, ont révélé la capture de plus de 99 % de tout le trafic. Il faut noter cependant que le nombre et l’identité des premiers pays sont spécifiques à un éditeur/bourse publicitaire qui peut être spécifique à une région où une langue.
offerj3os Une valeur catégorique indiquant le placement d’une offre à l’intérieur d’un encart publicitaire.
browser L’identifiant du navigateur d’un Utilisateur (p. ex. Chrome, IE, Safari, etc.).

Claims (16)

  1. REVENDICATIONS
    1. Un appareil informatique (102) qui, côté demande, implémente une plateforme, l’appareil informatique comprenant :
    un processeur (104) ;
    au moins un dispositif de mémoire (106, 110) accessible par le processeur ; et une interface de communications de données (112) qui est associée de façon opératoire avec le processeur, dans lequel le dispositif de mémoire contient un corps d’instructions de programme (114) incluant un modèle d’apprentissage automatique exécutable par le processeur et qui est configuré pour déterminer une probabilité d’interaction de l’utilisateur avec un élément de contenu, le modèle ayant été formé en utilisant un ensemble de vecteurs de caractéristiques de formation enrichies et des balises correspondantes d’événements d’interaction qui sont dérivées d’un ensemble généré à partir d’enregistrements de données appariées qui concernent des événements de placement de contenu et des enregistrements concernant des événements d’interaction d’utilisateurs récupérés dans un entrepôt de données en ligne, sans lien explicite entre eux, dans lequel les évènements de placement et d’interaction surviennent au cours d’un laps de temps défini ;
    le corps des instructions de programme incluant par ailleurs des instructions qui, lorsqu’elles sont exécutées par le processeur, amènent l’appareil informatique à mettre en œuvre un procédé de prédiction en temps réel comprenant les étapes suivantes :
    la réception (602) d’informations via l’interface de communications de données concernant l’encart pour le placement de contenu en ligne et des informations concernant un utilisateur auquel le contenu de l’encart de placement de contenu en ligne sera affiché ;
    le calcul (604) d’un vecteur de caractéristiques enrichies de probabilités, basé sur un élément de contenu sélectionné pour le placement à l’intérieur de l’encart de placement de contenu en ligne, les informations relatives à l’utilisateur et les informations relatives à l’encart de placement de contenu en ligne correspondant ;
    l’exécution d’un modèle d’apprentissage automatique pour déterminer (606) une probabilité d’interaction de l’utilisateur avec l’élément de contenu sélectionné sur la base du vecteur de caractéristiques enrichies de probabilités.
  2. 2. L’appareil selon la revendication 1 dans lequel le modèle d’apprentissage automatique est un modèle linéaire généralisé comprenant une pluralité de coefficients de modèle.
  3. 3. L’appareil selon la revendication 2 dans lequel le modèle d’apprentissage automatique est un modèle de régression logistique.
  4. 4. L’appareil selon les revendications 2 ou 3 dans lequel la pluralité des coefficients de modèle est stockée dans une structure de données de dictionnaire dans laquelle chaque entrée est définie par une clé et une valeur de coefficient, dans laquelle chaque clé comprend une représentation hachée d’une concaténation d’un nom de caractéristique et d’une valeur de caractéristique correspondante et dans laquelle les instructions de programme amènent l’appareil informatique à mettre en œuvre l’étape d’exécution du modèle d’apprentissage automatique en :
    générant, pour chaque valeur de caractéristique du vecteur de caractéristiques enrichies de probabilité, une clé correspondante ;
    récupérant à partir de la structure de donnée de dictionnaire, pour chaque clé générée, une valeur de coefficient correspondante ; et calculant, en utilisant le vecteur de caractéristiques enrichies de probabilité et les valeurs de coefficient récupérées, l’estimation de probabilité d’une interaction de l’utilisateur avec l’élément de contenu sélectionné.
  5. 5. L’appareil selon l’une quelconque des revendications 1 à 4 dans lequel : l’encart de placement de contenu en ligne est un encart publicitaire ;
    les informations relatives à l’encart publicitaire et les informations relatives à l’utilisateur auquel le contenu dans l’encart publicitaire sera affiché sont reçues avec un message de demande d’enchère (210) transmis à partir d’un serveur de bourse publicitaire (122) ;
    l’élément de contenu comprend au moins une enchère pour le placement à l’intérieur de l’encart publicitaire et le corps des instructions de programme inclut par ailleurs des instructions qui, lorsqu’elles sont exécutées par le processeur, amènent l’appareil informatique à mettre en œuvre le procédé comprenant les autres étapes suivantes :
    la transmission (612), au serveur de bourse publicitaire (122), d’un message de réponse à une enchère (214) en réponse au message de demande d’enchère (210) ;
    répondant à la réception, en provenance du serveur de bourse publicitaire, d’une notification d’enchère réussie, la mise à jour (222) d’un entrepôt de données en ligne (166) avec des données d’événements de placement concernant le placement de l’élément de contenu ; et répondant à la réception d’une notification (224) d’une interaction d’un utilisateur avec l’élément de contenu, la mise à jour (226) de l'entrepôt de données en ligne (166) avec les données d’événements d’interaction relatives à l’interaction de l’utilisateur avec l’élément de contenu.
  6. 6. Un appareil informatique (152) qui implémente la formation d'un modèle d’apprentissage automatique configuré pour estimer la probabilité d’interaction d’un utilisateur avec des éléments de contenu, l’appareil informatique comprenant :
    un processeur (154) ;
    au moins un dispositif de mémoire (156, 160) accessible par le processeur ; et un entrepôt de données (166) accessible par le processeur, dans lequel le dispositif de mémoire contient un corps d’instructions de programme (164) incluant des instructions qui, lorsqu’elles sont exécutées par le processeur, amènent l’appareil informatique à de mettre en œuvre un procédé comprenant les étapes suivantes :
    l’accès (402) à l’entrepôt de données (166) pour récupérer des enregistrements concernant des événements de placement de contenu, et des enregistrements concernant des événements d’interaction d'un utilisateur, dans lequel surviennent les événements de placement et d’interaction au cours d’un laps de temps défini ;
    l’appariement (404) des enregistrements d’événements et de placement de contenu avec des enregistrements d’événements d’interaction récupérés afin de générer un ensemble de données appariées comprenant une pluralité d’enregistrements, chaque enregistrement de l’ensemble de données appariées incluant un ensemble de valeurs de caractéristiques brutes dérivées d’un événement de placement de contenu avec une balise d’événement d’interaction indiquant si oui ou non un événement d’interaction correspondant à l’événement de placement de contenu est survenu ;
    le calcul (406), à partir des valeurs de caractéristiques brutes, d’un ensemble correspondant de vecteurs de caractéristiques de formation ; et la formation (408) du modèle d’apprentissage automatique en utilisant les vecteurs de caractéristiques de formation enrichies et les balises d’événements d’interaction correspondantes.
  7. 7. L’appareil selon la revendication 6 dans lequel le modèle d’apprentissage automatique est un modèle linéaire généralisé comprenant une pluralité de coefficients de modèles.
  8. 8. L’appareil selon la revendication 7 dans lequel le modèle d’apprentissage automatique est un modèle de régression logistique et les instructions de programme amènent l’appareil informatique à mettre en œuvre l’étape de formation du modèle d’apprentissage automatique en utilisant la régression logistique régularisée avec l’algorithme d’apprentissage proximal ‘d’Amorce régularisée de suivi’ (Follow-The-Reguiarised-Leader) (FTRL).
  9. 9. L’appareil selon la revendication 7 dans lequel l’ensemble des instructions de programme (164) inclut par ailleurs des instructions qui, lorsque sont exécutées par le processeur, amènent l’appareil informatique à mettre en oeuvre le procédé comprenant d’autres étapes, pour chaque coefficient de la pluralité des coefficients de modèles :
    la génération d’une clé comprenant une représentation hachée d’un nom de caractéristique et d’une valeur de caractéristique correspondant au coefficient, et le stockage, dans une structure de donnée de dictionnaire, d’une valeur de coefficient associée à la clé, dans lequel la structure de donnée de dictionnaire comprend un chiffrage efficace du modèle d’apprentissage automatique.
  10. 10. L’appareil selon l'une quelconque des revendications 6 à 9 dans lequel l’ensemble des instructions de programme inclut des instructions qui, lorsqu’elles sont exécutées par le processeur, amènent l’appareil informatique à exécuter de façon récurrente les étapes suivantes : l’accès (402) à l’entrepôt de données en ligne (166), l’appariement (404) des enregistrements récupérés d’événements de placement de contenu ainsi que les enregistrements récupérés d’événements d’interaction, le calcul (406) des vecteurs de caractéristiques de formation enrichies et la formation (408) du modèle d’apprentissage automatique pour actualiser le modèle d’apprentissage automatique.
  11. 11. Un procédé de prédiction en temps réel mis en œuvre informatiquement comprenant :
    l’accès (402) à un entrepôt de données en ligne (166) pour récupérer des enregistrements concernant des événements de placement de contenu et des enregistrements concernant des événements d’interaction d’un utilisateur, n’ayant aucune lien explicite entre eux, dans lequel les événements de placement et d’interaction surviennent au cours d’un laps de temps défini ;
    l’appariement (404) des enregistrements récupérés d’événements de placement de contenu avec des enregistrements récupérés d’événements d’interaction pour générer un ensemble de données appariées incluant un ensemble de valeurs brutes de caractéristiques dérivées d’un événement de placement de contenu avec une balise d’événements d’interaction indiquant si oui ou non un événement d’interaction correspondant avec l’événement de placement de contenu est survenu ;
    le calcul (406), à partir des valeurs de caractéristiques brutes, d’un ensemble correspondant de vecteurs de caractéristiques de formation enrichies ;
    la formation (408) d’un modèle d’apprentissage automatique en utilisant les vecteurs de caractéristiques de formation enrichies et les balises d’événements d’interaction correspondantes ;
    la réception (602), au niveau d’un processeur (316) configuré pour exécuter le modèle d’apprentissage automatique, d’informations concernant l’encart de placement de contenu en ligne (148, 150) et des informations concernant un utilisateur auquel le contenu à l’intérieur de l’encart de placement de contenu en ligne sera affiché ;
    le calcul (604), par le processeur, d’un vecteur de caractéristiques enrichies d’estimation basé sur un élément de contenu sélectionné pour le placement à l’intérieur de l’encart de placement de contenu en ligne, d’informations concernant l’utilisateur et d’informations concernant l’encart de placement de contenu en ligne ;
    la détermination (606), par le processeur exécutant le modèle d’apprentissage automatique, d’une estimation de la probabilité d’une interaction de l’utilisateur avec l’élément de contenu sélectionné, basée sur le vecteur de caractéristiques enrichies d’estimation.
  12. 12. Le procédé selon la revendication 11 dans lequel :
    l’encart de placement de contenu en ligne est un encart publicitaire ;
    les informations relatives à l’encart publicitaire et les informations relatives à l’utilisateur auquel le contenu à l’intérieur de l’encart publicitaire sera affiché sont reçues avec un message de demande d’enchère (210) transmis par un serveur de bourse publicitaire (122) ; et l’élément de contenu comprend au moins une enchère pour un placement à l’intérieur d’un encart publicitaire.
  13. 13. Le procédé selon la revendication 12 comprenant par ailleurs :
    la transmission (612), au serveur de bourse publicitaire (122) par le processeur (316), d’un message de réponse à l’enchère (214) en réponse au message de demande d’enchère (210) ;
    la réception, par le processeur en provenance du serveur de bourse publicitaire, d’une notification d’enchère réussie ; et la mise à jour (222), par le processeur, d’un entrepôt de données en ligne (166) avec les données de l’événement de placement de contenu concernant le placement de l’élément de contenu.
  14. 14. Le procédé selon la revendication 13 comprenant par ailleurs :
    la réception, par le processeur (316), d’une notification (224) d’interaction de l’utilisateur avec l’élément de contenu ; et la mise à jour (226) de l’entrepôt de données en ligne (166) avec les données d’événement d’interaction relatives à l’interaction de l’utilisateur avec l’élément de contenu.
  15. 15. Le procédé selon la revendication 14 dans lequel les étapes suivantes : l’accès (402) à l’entrepôt de données en ligne (166), l’appariement (404) des enregistrements récupérés d’événements de placement de contenu avec les enregistrements récupérés d’événements d’interaction, le calcul (406) de vecteurs de caractéristiques de formation enrichies et la formation (408) du modèle d’apprentissage automatique, sont exécutés de façon récurrente pour actualiser le modèle d’apprentissage automatique.
  16. 16. Un programme d’ordinateur comprenant un code de programme pour exécuter les étapes du procédé selon l’une quelconque des revendications 11 à 15 lorsque ledit programme fonctionne sur un ordinateur.
FR1758514A 2017-09-14 2017-09-14 Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne Active FR3071085B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1758514A FR3071085B1 (fr) 2017-09-14 2017-09-14 Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne
PCT/EP2018/073841 WO2019052869A1 (fr) 2017-09-14 2018-09-05 Procédé et système d'apprentissage automatique pour prédire des interactions d'utilisateurs en ligne
CN201880056986.0A CN111095330B (zh) 2017-09-14 2018-09-05 用于预测在线用户交互的机器学习方法和系统
EP18769114.2A EP3682402A1 (fr) 2017-09-14 2018-09-05 Procédé et système d'apprentissage automatique pour prédire des interactions d'utilisateurs en ligne

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1758514 2017-09-14
FR1758514A FR3071085B1 (fr) 2017-09-14 2017-09-14 Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne

Publications (2)

Publication Number Publication Date
FR3071085A1 true FR3071085A1 (fr) 2019-03-15
FR3071085B1 FR3071085B1 (fr) 2022-02-04

Family

ID=61187379

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1758514A Active FR3071085B1 (fr) 2017-09-14 2017-09-14 Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne

Country Status (1)

Country Link
FR (1) FR3071085B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781076A (zh) * 2020-06-29 2021-12-10 北京沃东天骏信息技术有限公司 提示方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1223757A2 (fr) * 2001-01-09 2002-07-17 Metabyte Networks, Inc. Système, procédé et logiciel pour publicité ciblée à l'aide d'une structure de données des profils utilisateur basée sur les préférences de ces utilisateurs
US20050131762A1 (en) * 2003-12-31 2005-06-16 Krishna Bharat Generating user information for use in targeted advertising
CN101484890A (zh) * 2006-05-02 2009-07-15 英维迪技术公司 基于模糊逻辑的观看者识别
US20130254787A1 (en) * 2006-05-02 2013-09-26 Invidi Technologies Corporation Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising
JP2016062411A (ja) * 2014-09-19 2016-04-25 ヤフー株式会社 情報分析装置、情報分析方法および情報分析プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1223757A2 (fr) * 2001-01-09 2002-07-17 Metabyte Networks, Inc. Système, procédé et logiciel pour publicité ciblée à l'aide d'une structure de données des profils utilisateur basée sur les préférences de ces utilisateurs
US20050131762A1 (en) * 2003-12-31 2005-06-16 Krishna Bharat Generating user information for use in targeted advertising
CN101484890A (zh) * 2006-05-02 2009-07-15 英维迪技术公司 基于模糊逻辑的观看者识别
US20130254787A1 (en) * 2006-05-02 2013-09-26 Invidi Technologies Corporation Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising
JP2016062411A (ja) * 2014-09-19 2016-04-25 ヤフー株式会社 情報分析装置、情報分析方法および情報分析プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781076A (zh) * 2020-06-29 2021-12-10 北京沃东天骏信息技术有限公司 提示方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
FR3071085B1 (fr) 2022-02-04

Similar Documents

Publication Publication Date Title
US10366400B2 (en) Reducing un-subscription rates for electronic marketing communications
US10943184B2 (en) Machine learning methods and systems for predicting online user interactions
Gerrikagoitia et al. New trends of Intelligent E-Marketing based on Web Mining for e-shops
US11853983B1 (en) Video revenue sharing program
CN103430207B (zh) 一种用于递送赞助内容的方法
CA2843056C (fr) Mise en valeur, lancee par l'utilisateur, d'objets d'un reseau social
AU2010210726B2 (en) Determining conversion probability using session metrics
CN111095330B (zh) 用于预测在线用户交互的机器学习方法和系统
US9530143B2 (en) Systems and methods for determining ad impression utility
US20160140627A1 (en) Generating high quality leads for marketing campaigns
US10776816B2 (en) System and method for building a targeted audience for an online advertising campaign
US20080004884A1 (en) Employment of offline behavior to display online content
US20080005313A1 (en) Using offline activity to enhance online searching
US20120054113A1 (en) Systems and methods to determine item disposal options
US20190080363A1 (en) Methods and systems for intelligent adaptive bidding in an automated online exchange network
MX2014003360A (es) Metrica de campaña de medios sociales.
WO2013130231A1 (fr) Recommandations sociales en fonction de l'intérêt pour systèmes de réseau de billets d'événements
Cabañas et al. Operating an advertising programmatic buying platform: A case study
US11972454B1 (en) Attribution of response to multiple channels
US11509610B2 (en) Real-time messaging platform with enhanced privacy
CN111052167A (zh) 自动化在线交易网络中的智能自适应竞价的方法和系统
US10530898B1 (en) Serving a content item based on acceptance of a new feature
FR3071085A1 (fr) Un procede et un systeme d'apprentissage automatique pour predire les interactions d'un utilisateur en ligne
US20240095545A1 (en) Data transmission between two systems to improve outcome predictions
FR3071087A1 (fr) Une methode et un systeme pour la segmentation de voyageurs en ligne en temps reel a l'aide de l'apprentissage automatique

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190315

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7