Clasificación de temas

Lee cómo se infieren los temas, cómo se asignan a los navegadores de los usuarios y cómo los usuarios pueden controlar su lista de temas.

Estado de implementación

¿Qué es un tema?

En la API de Topics, un tema es un tema que le interesa a un usuario según lo demuestran los sitios web que visita.

Los temas son un indicador que ayuda a las plataformas de tecnología publicitaria a seleccionar anuncios relevantes. A diferencia de las cookies de terceros, esta información se comparte sin revelar más información sobre el usuario o su actividad de navegación.

La API de Topics permite que terceros, como plataformas de tecnología publicitaria, observen temas de interés de un usuario y accedan a ellos. Por ejemplo, la API podría sugerir el tema "Fibra y artes textiles" a un usuario que visite el sitio web knitting.example.

La lista de temas que usa la API de Topics es pública, seleccionada por humanos, legible por humanos y diseñada para evitar categorías sensibles. Esta es la lista actual, que se expandirá con el tiempo. La lista está estructurada como una taxonomía. Los temas pueden ser de alto nivel o más específicos. Por ejemplo, Food & Drink es una categoría amplia, con una subcategoría Cooking & Recipes. Las subcategorías se pueden dividir aún más en subcategorías adicionales.

Esta taxonomía de temas debe compensar la utilidad y la privacidad. Si los temas son demasiado específicos, se podrían usar para identificar a un usuario individual. Si son demasiado generales, no son útiles para seleccionar publicidad ni otro tipo de contenido.

La taxonomía de temas se construye teniendo en cuenta dos requisitos subyacentes:

  • Admitir la publicidad basada en intereses
  • Protege a los usuarios y protege su privacidad

Esto sugiere varias preguntas. Por ejemplo:

  • ¿Cuál es la mejor manera de que la API infiera temas de interés para un usuario en función de su actividad de navegación y, al mismo tiempo, preserve la privacidad del usuario?
  • ¿Cómo se podría estructurar la taxonomía para que sea más útil?
  • ¿Qué elementos específicos debe incluir la taxonomía?

Cómo infiere la API temas para un sitio

Los temas derivan de un modelo clasificador que asigna nombres de host de sitios web a cero o más temas. Analizar información adicional (como las URLs completas o el contenido de la página) podría permitir anuncios más relevantes, pero también podría reducir la privacidad.

El modelo clasificador para asignar nombres de host a temas está disponible públicamente y, como se indica en la explicación, es posible ver los temas de un sitio a través de las herramientas para desarrolladores de los navegadores. Se espera que el modelo evolucione y mejore con el tiempo y que se actualice de forma periódica. Su frecuencia aún está en consideración.

Solo los sitios que incluyen código que llama a la API de Topics se incluyen en el historial de navegación apto para los cálculos de frecuencia de temas, y los llamadores de la API solo reciben los temas que observaron. En otras palabras, los sitios no son aptos para los cálculos de frecuencia de temas sin el sitio o un servicio incorporado que llame a la API.

Además, el emisor solo puede recibir temas que su código haya "visto". Por lo tanto, si el código de otro llamador registró un tema, por ejemplo, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, para el navegador de un usuario y tu código no hizo que ese tema se registrara para el navegador de ese usuario, no podrás aprender de ese tema de interés para el navegador de ese usuario cuando llames a la API desde el código incorporado. Ten en cuenta que, debido a que la API ahora incluye principales como se observaron, el ejemplo anterior, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, también haría que se observen Autos & Vehicles y Motor Vehicles.

Los temas que se muestran para un usuario se vuelven a calcular para el llamador según el sitio de nivel superior. Por ejemplo, si adtech.example solicita los temas del usuario el news-a.example, el news-b.example y, luego, el news-c.example, los temas que se muestren a ellos se volverán a calcular en cada sitio. Esto significa que es probable que el llamador obtenga temas diferentes para un usuario en diferentes sitios de nivel superior, ya que los tres temas (máximo) que se muestran para un usuario se eligen de forma aleatoria entre los cinco principales durante los últimos tres ciclos de entrenamiento (con un 5% de probabilidades de obtener un tema aleatorio). Esto hace que sea más difícil para el llamador identificar a un usuario por sus temas, ya que es probable que sean diferentes en los distintos sitios de nivel superior (incluso para el mismo usuario, emisor y época).

El modelo clasificador

Los temas se seleccionan de forma manual para 50,000 dominios principales, y esta selección se usa para entrenar el clasificador. Esta lista se encuentra en override_list.pb.gz, que está disponible en chrome://topics-internals/ en el modelo actual, en la pestaña Clasificador. La API usa las asociaciones de dominio a temas de la lista en lugar de la salida del modelo en sí.

Página chrome://topics-internals con el panel Clasificador seleccionado.
El panel Clasificador de la página chrome://topics-internals enumera la versión del modelo, su ruta de acceso y los temas asociados con cada host de la lista.

Para ejecutar el modelo directamente, consulta la guía de TensorFlow para ejecutar un modelo.

Para inspeccionar el archivo override_list.pb.gz, primero descomprímelo:

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

Usa protoc para inspeccionarlo como texto:

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

En GitHub, hay una taxonomía completa de temas con ID disponible.

Cómo proporcionar comentarios o entradas sobre el modelo clasificador

Hay varios canales para proporcionar comentarios sobre la API de Topics. Para obtener comentarios sobre el modelo de clasificación, te recomendamos que envíes un problema de GitHub o respondas uno existente. Por ejemplo:

Cómo se seleccionan los cinco temas principales del usuario

La API muestra un tema para cada época, hasta un máximo de tres. Si se devuelven tres, esto incluye temas para la época actual y las dos anteriores.

  1. Al final de cada época, el navegador compila una lista de páginas que cumplen con los siguientes criterios:
    • El usuario visitó la página durante el ciclo de entrenamiento.
    • La página incluye código que llama a document.browsingTopics().
    • Se habilitó la API (por ejemplo, el usuario no la bloqueó ni un encabezado de respuesta).
  2. El navegador, en el dispositivo del usuario, usa el modelo de clasificación que proporciona la API de Topics para asignar el nombre de host de cada página a una lista de temas.
  3. El navegador acumula la lista de temas.
  4. El navegador genera una lista de los cinco temas principales según la frecuencia.

Luego, el método document.browsingTopics() muestra un tema aleatorio de los cinco principales para cada época, con un 5% de probabilidades de que cualquiera de estos se elija de forma aleatoria de la taxonomía completa de temas. En Chrome, los usuarios también pueden quitar temas individuales o borrar su historial de navegación para reducir la cantidad de temas que muestra la API. Los usuarios también pueden inhabilitar la API.

Puedes ver información sobre los temas observados durante la época actual en la página chrome://topics-internals.

Cómo decide la API qué llamadores ven qué temas

Los llamadores de API solo reciben los temas que observaron recientemente, y los temas de un usuario se actualizan una vez por cada época. Esto significa que la API proporciona una ventana móvil en la que un llamador determinado puede recibir ciertos temas.

En la siguiente tabla, se describe un ejemplo (aunque poco realista) de un historial de navegación hipotético para un usuario durante un solo ciclo de entrenamiento, que muestra los temas asociados con los sitios que visitó y los llamadores de la API presentes en cada sitio (las entidades que llaman a document.browsingTopics() en el código JavaScript incluido en el sitio).

Sitio Temas Llamadores de API en el sitio
yoga.example Fitness adtech1.ejemplo adtech2.ejemplo
knitting.example Manualidades adtech1.example
ejemplo-de-vacaciones-de-excursionismo Fitness, viajes y transporte adtech2.example
diy-clothing.ejemplo Manualidades, moda y estilo [ninguno]

Al final de la época (actualmente, una semana), la API de Topics genera los temas principales del navegador para la semana.

  • adtech1.example ahora es apto para recibir los temas "Entrenamiento" y "Manualidades", ya que los observó en yoga.example y knitting.example.
  • adtech1.example no es apto para recibir el tema "Viajes y transporte" de este usuario, ya que no está presente en ningún sitio que el usuario visitó recientemente y que se asocie con ese tema.
  • adtech2.example vio los temas "Entrenamiento" y "Viajes y transporte", pero no vio el tema "Manualidades".

El usuario visitó diy-clothing.example, que tiene el tema "Moda y estilo", pero no había llamadas a la API de Topics en ese sitio. En este punto, esto significa que la API no mostrará el tema “Fashion & Style” para ningún llamador.

En la segunda semana, el usuario visita otro sitio:

Sitio Temas Llamadores de API en el sitio
sewing.example Manualidades adtech2.example

Además, el código de adtech2.example se agrega a diy-clothing.example:

Sitio Temas Llamadores de API en el sitio
diy-clothing.ejemplo Manualidades, moda y estilo adtech2.example

Además de "Entrenamiento" y "Viajes y transporte" de la semana 1, esto significa que adtech2.example ahora podrá recibir los temas "Manualidades" y "Moda y estilo", pero no hasta la siguiente época, la semana 3. Esto garantiza que los terceros no puedan obtener más información sobre el pasado de un usuario (en este caso, un interés en la moda) de lo que podrían obtenerlas con las cookies.

Después de otras dos semanas, es posible que "Entrenamiento" y "Viajes y transporte" dejen de incluirse en la lista de temas aptos de adtech2.example si el usuario no visita ningún sitio con esos temas que incluyan el código de adtech2.example.

Controles de usuario, transparencia y inhabilitación

Los usuarios deben poder comprender el propósito de la API de Topics, reconocer lo que se dice sobre ellos, saber cuándo la API está en uso y recibir controles para habilitarla o inhabilitarla.

La taxonomía legible por humanos de la API permite que los usuarios conozcan y controlen los temas que se les pueden sugerir en su navegador. Los usuarios pueden quitar temas que específicamente no quieran que la API de Topics comparta con anunciantes o publicadores, y puede haber controles para informar al usuario sobre la API y mostrarle cómo habilitarla o inhabilitarla. Chrome proporciona información y configuración para la API de Topics en chrome://settings/adPrivacy. Además, los temas no están disponibles para los llamadores de APIs en el modo Incógnito, y los temas se borran cuando se borra el historial de navegación.

La lista de temas que se muestran estará vacía en los siguientes casos:

  • El usuario inhabilita la API de Topics a través de la configuración del navegador en chrome://settings/adPrivacy.
  • El usuario borró sus temas (a través de la configuración del navegador en chrome://settings/adPrivacy) o sus cookies.
  • El navegador está en modo Incógnito.

La explicación proporciona más detalles sobre los objetivos de privacidad y cómo la API busca abordarlos.

Inhabilitar sitio

Además de la capacidad del usuario de inhabilitar la función, puedes inhabilitar Topics en tu sitio o en sus páginas. En la guía para desarrolladores, se explica cómo hacerlo.

Usa la API de Topics en sitios web con prebid.js

Como se mencionó en el lanzamiento de Prebid 7, la comunidad desarrolló activamente una integración con la API de Topics a través de un módulo nuevo. Este módulo se combinó en diciembre de 2022.

Obtenga más información aquí:

Próximos pasos

Interactúa y comparte comentarios