Classification des thèmes

Découvrez comment les thèmes sont déduits, comment ils sont attribués aux navigateurs des utilisateurs et comment ils peuvent contrôler leur liste de sujets.

État de l'implémentation

Qu'est-ce qu'un thème ?

Dans l'API Topics, un thème est un sujet qui intéresse un utilisateur, comme en témoignent les sites Web qu'il visite.

Les thèmes sont un signal pour aider les plates-formes ad tech à sélectionner des annonces pertinentes. Contrairement aux cookies tiers, ces informations sont partagées sans révéler d'autres informations sur l'utilisateur lui-même ni sur son activité de navigation.

L'API Topics permet à des tiers, tels que des plates-formes ad tech, d'observer un utilisateur, puis d'y accéder. Par exemple, l'API peut suggérer le thème "Fiber & Textile Arts" à un utilisateur qui visite le site Web knitting.example.

La liste des thèmes utilisés par l'API Topics est publique, lisible et lisible par l'humain, et conçue pour éviter les catégories sensibles. Il s'agit de la liste actuelle, qui s'étoffera au fil du temps. La liste est structurée comme une taxonomie. Les sujets peuvent être généraux ou plus spécifiques. Par exemple, Food & Drink est une catégorie large, avec une sous-catégorie de Cooking & Recipes. Les sous-catégories peuvent être divisées en sous-catégories supplémentaires.

Une telle taxonomie doit faire un compromis entre utilité et confidentialité. Si les sujets sont trop spécifiques, ils peuvent être utilisés pour identifier un utilisateur individuel. S'ils sont trop génériques, ils ne sont pas utiles pour sélectionner des publicités ou d'autres contenus.

La classification des thèmes est construite en tenant compte de deux exigences sous-jacentes:

  • Soutenir la publicité ciblée par centres d'intérêt
  • Assurer la sécurité des utilisateurs et protéger leur confidentialité

Cela suggère plusieurs questions. Exemple :

  • Quel est le meilleur moyen pour l'API de déduire les thèmes d'intérêt d'un utilisateur en fonction de son activité de navigation, tout en préservant la confidentialité de l'utilisateur ?
  • Comment la classification pourrait-elle être structurée pour la rendre plus utile ?
  • Quels éléments spécifiques la classification doit-elle inclure ?

Comment l'API déduit-elle les thèmes d'un site ?

Les thèmes sont issus d'un modèle de classificateur qui mappe les noms d'hôte des sites Web à zéro, un ou plusieurs thèmes. Analyser des informations supplémentaires (telles que les URL complètes ou le contenu des pages) peut permettre de diffuser des annonces plus pertinentes, mais cela peut également réduire la confidentialité.

Le modèle de classificateur permettant de mapper les noms d'hôte aux sujets est accessible au public. Comme l'explique l'explicative, il est possible d'afficher les sujets d'un site via les outils pour les développeurs du navigateur. Le modèle devrait évoluer et s'améliorer au fil du temps, et être mis à jour régulièrement. La fréquence de ce changement reste à l'étude.

Seuls les sites qui incluent du code qui appelle l'API Topics sont inclus dans l'historique de navigation éligibles au calcul de la fréquence des thèmes. Les appelants de l'API ne reçoivent que les thèmes qu'ils ont observés. En d'autres termes, les sites ne sont pas éligibles au calcul de la fréquence des thèmes sans que le site ou un service intégré appellent l'API.

De plus, un appelant ne peut recevoir que les thèmes que son code a "vu". Ainsi, si le code d'un autre appelant a enregistré un sujet (par exemple, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks) pour le navigateur d'un utilisateur et que votre code n'a pas entraîné l'enregistrement de ce thème pour le navigateur de cet utilisateur, vous ne pourrez pas connaître ce qui intéresse le navigateur de cet utilisateur lorsque vous appelez l'API à partir de votre code intégré. Étant donné que l'API inclut désormais les ancêtres comme ayant été observés, l'exemple ci-dessus, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, entraîne également l'observation de Autos & Vehicles et Motor Vehicles.

Les thèmes affichés pour un utilisateur sont recalculés pour un appelant en fonction du site de premier niveau. Par exemple, si adtech.example demande les thèmes de l'utilisateur le news-a.example, puis le news-b.example, puis le news-c.example, les thèmes renvoyés seront recalculés sur chaque site. Cela signifie qu'un appelant est susceptible d'obtenir des thèmes différents pour un utilisateur sur différents sites de premier niveau, car les trois thèmes (maximum) renvoyés pour un utilisateur sont choisis au hasard parmi les cinq premiers pour les trois dernières epochs (avec 5% de chances d'obtenir un thème aléatoire). Il est donc plus difficile pour un appelant d'identifier un utilisateur en fonction des thèmes, car ceux-ci sont susceptibles d'être différents sur différents sites de premier niveau (même pour la même personne, la même personne et la même époque).

Modèle du classificateur

Les thèmes sont sélectionnés manuellement pour 50 000 domaines principaux, et cette sélection permet d'entraîner le classificateur. Cette liste est disponible dans override_list.pb.gz, disponible à l'adresse chrome://topics-internals/ sous le modèle actuel, dans l'onglet Classificateur. Les associations domaine à sujets de la liste sont utilisées par l'API à la place de la sortie du modèle lui-même.

Page chrome://topics-internals avec le panneau de classification sélectionné.
Le panneau de classification de la page chrome://topics-internals indique la version du modèle, son chemin d'accès et les sujets associés à chaque hôte répertorié.

Pour exécuter directement le modèle, reportez-vous au guide d'exécution d'un modèle de TensorFlow.

Pour inspecter le fichier override_list.pb.gz, décompressez-le d'abord:

gunzip -c override_list.pb.gz > override_list.pb

Utilisez protoc pour l'inspecter sous forme de texte:

protoc --decode_raw < override_list.pb > output.txt

Une taxonomie complète des thèmes avec ID est disponible sur GitHub.

Fournir des commentaires ou des données sur le modèle de classificateur

Il existe plusieurs canaux pour envoyer des commentaires sur l'API Topics. Pour nous faire part de vos commentaires sur le modèle de classificateur, nous vous recommandons de signaler un problème sur GitHub ou de répondre à un problème existant. Exemple :

Mode de sélection des cinq principaux thèmes de l'utilisateur

L'API renvoie un thème pour chaque epoch, dans la limite de trois. Si trois sont renvoyés, cela inclut les thèmes de l'epoch actuelle et des deux précédentes.

  1. À la fin de chaque epoch, le navigateur compile une liste de pages répondant aux critères suivants :
    • La page a été visitée par l'utilisateur au cours de l'epoch.
    • La page inclut un code qui appelle document.browsingTopics().
    • L'API a été activée (par exemple, elle n'a pas été bloquée par l'utilisateur ni via un en-tête de réponse).
  2. Le navigateur, sur l'appareil de l'utilisateur, utilise le modèle de classificateur fourni par l'API Topics pour mapper le nom d'hôte de chaque page à une liste de thèmes.
  3. Le navigateur accumule la liste des thèmes.
  4. Le navigateur génère une liste des cinq thèmes principaux, classés par fréquence.

La méthode document.browsingTopics() renvoie ensuite un thème aléatoire parmi le top 5 pour chaque epoch, avec 5% de chances que l'un d'eux soit choisi de manière aléatoire dans la taxonomie complète des thèmes. Dans Chrome, les utilisateurs peuvent également supprimer des thèmes individuels ou effacer leur historique de navigation afin de réduire le nombre de thèmes renvoyés par l'API. Les utilisateurs peuvent également désactiver l'API.

Vous pouvez consulter des informations sur les thèmes observés au cours de l'epoch actuelle sur la page chrome://topics-internals.

Comment l'API détermine-t-elle quels appelants voient les sujets ?

Les appelants d'API ne reçoivent que les thèmes qu'ils ont récemment observés, et ceux d'un utilisateur sont actualisés à chaque epoch. Cela signifie que l'API fournit une fenêtre glissante dans laquelle un appelant donné peut recevoir certains thèmes.

Le tableau ci-dessous présente un exemple (bien qu'irréaliste) d'un historique de navigation hypothétique pour un utilisateur au cours d'une seule epoch, montrant les thèmes associés aux sites qu'il a visités et les appelants d'API présents sur chaque site (les entités qui appellent document.browsingTopics() dans le code JavaScript inclus sur le site).

Site Sujets Appelants d'API sur le site
yoga.example Remise en forme adtech1.exemple adtech2.exemple
knitting.example Artisanat adtech1.example
Vacances-rando.exemple Remise en forme, voyages et transports adtech2.example
bricolage.exemple Artisanat, mode et style [aucun]

À la fin de l'epoch (une semaine actuellement), l'API Topics génère les principaux thèmes de la semaine dans le navigateur.

  • adtech1.example peut désormais recevoir les thèmes "Fitness" et "Artisanat", car elle les a observés sur yoga.example et sur tricot.example.
  • adtech1.example ne peut pas recevoir le thème "Voyages et transports" pour cet utilisateur, car il n'apparaît pas sur les sites associés à ce thème qu'il a consultés récemment.
  • Le site adtech2.example a vu les thèmes "Fitness" et "Voyages et transports", mais pas le thème "Artisanat".

L'utilisateur a consulté diy-clothing.example, qui contient le thème "Fashion & Style", mais il n'y a pas eu d'appel à l'API Topics sur ce site. À ce stade, cela signifie que le thème "Fashion & Style" ne sera renvoyé par l'API pour aucun appelant.

Au cours de la deuxième semaine, l'utilisateur visite un autre site:

Site Sujets Appelants d'API sur le site
sewing.example Artisanat adtech2.example

De plus, le code d'adtech2.example est ajouté à diy-clothing.example:

Site Sujets Appelants d'API sur le site
bricolage.exemple Artisanat, mode et style adtech2.example

Outre "Fitness" et "Voyages et transports " à partir de la semaine 1, adtech2.example pourra désormais recevoir les thèmes"Crafts " et"Fashion & Style ", mais pas avant l'epoch suivante, la semaine 3. Ainsi, les tiers ne peuvent pas en savoir plus sur le passé d'un utilisateur (dans le cas présent, son intérêt pour la mode) qu'ils ne le pourraient avec des cookies.

Après deux semaines supplémentaires, les thèmes "Remise en forme" et "Voyages et transports" peuvent être supprimés de la liste des thèmes éligibles d'adtech2.example si l'utilisateur ne consulte aucun site proposant ces thèmes incluant du code provenant de adtech2.example.

Contrôles de l'utilisateur, transparence et désactivation

Les utilisateurs doivent pouvoir comprendre l'objectif de l'API Topics, reconnaître ce qui est dit à son sujet, savoir quand l'API est utilisée et disposer des commandes pour l'activer ou la désactiver.

La classification lisible de l'API permet aux utilisateurs de connaître et de contrôler les sujets que leur navigateur peut leur suggérer. Les utilisateurs peuvent supprimer les sujets qu'ils ne souhaitent pas que l'API Topics partage avec les annonceurs ou les éditeurs. Des commandes peuvent également permettre de les informer sur l'API et de leur indiquer comment l'activer ou la désactiver. Chrome fournit des informations et des paramètres pour l'API Topics sur chrome://settings/adPrivacy. De plus, les thèmes ne sont pas disponibles pour les appelants d'API en mode navigation privée, et ils sont effacés lorsque l'historique de navigation est effacé.

La liste de sujets renvoyée sera vide si:

  • L'utilisateur désactive l'API Topics dans les paramètres de son navigateur sur chrome://settings/adPrivacy.
  • L'utilisateur a effacé ses thèmes (dans les paramètres du navigateur à l'adresse chrome://settings/adPrivacy) ou ses cookies.
  • Le navigateur est en mode navigation privée.

L'explication fournit plus de détails sur les objectifs de confidentialité et explique comment l'API cherche à les atteindre.

Désactivation du site

En plus de la possibilité pour l'utilisateur de désactiver Topics pour votre site ou les pages dessus. Consultez le guide du développeur pour connaître la marche à suivre.

Utiliser l'API Topics sur des sites Web avec prebid.js

Comme indiqué dans la version Prebid 7, la communauté a activement développé une intégration de l'API Topics via un nouveau module. Ce module a été fusionné en décembre 2022.

Consultez ces liens pour en savoir plus :

Étapes suivantes

Interagir et partager des commentaires