Klasifikasi topik

Baca cara topik disimpulkan, cara topik ditetapkan ke browser pengguna, dan cara pengguna dapat mengontrol daftar topik mereka.

Status penerapan

  • Topics API telah menyelesaikan fase diskusi publik dan saat ini tersedia untuk 99 persen pengguna, dengan peningkatan skala hingga 100 persen.
  • Untuk memberikan masukan tentang Topics API, buat Masalah di Penjelasan topik atau berpartisipasi dalam diskusi di Meningkatkan Grup Bisnis Periklanan Web. Penjelasan memiliki sejumlah pertanyaan terbuka yang masih memerlukan definisi lebih lanjut.
  • Linimasa Privacy Sandbox memberikan linimasa penerapan untuk Topics API dan proposal Privacy Sandbox lainnya.
  • Topics API: update terbaru menjelaskan perubahan dan peningkatan kualitas Topics API dan implementasinya.

Apa yang dimaksud dengan topik?

Sebuah topik, di Topics API, adalah subjek yang diminati pengguna sebagaimana dibuktikan dengan situs yang mereka kunjungi.

Topik merupakan sinyal untuk membantu platform teknologi iklan memilih iklan yang relevan. Tidak seperti cookie pihak ketiga, informasi ini dibagikan tanpa mengungkapkan informasi lebih lanjut tentang pengguna itu sendiri atau aktivitas penjelajahan pengguna.

Topics API memungkinkan pihak ketiga, seperti platform teknologi iklan, untuk mengamati lalu mengakses topik yang diminati pengguna. Misalnya, API mungkin menyarankan topik "Fiber & Textile Arts" untuk pengguna yang mengunjungi situs knitting.example.

Daftar topik yang digunakan oleh Topics API bersifat publik, diseleksi oleh manusia, dapat dibaca manusia, dan dirancang untuk menghindari kategori sensitif. Ini adalah daftar saat ini, yang akan terus diperluas seiring waktu. Daftar ini disusun sebagai taksonomi. Topiknya bisa tingkat tinggi atau lebih spesifik. Misalnya, Food & Drink adalah kategori yang luas, dengan subkategori Cooking & Recipes. Sub-kategori dapat dibagi lagi menjadi subkategori tambahan.

Taksonomi topik seperti itu perlu membuat kompromi antara utilitas dan privasi. Jika topik terlalu spesifik, topik dapat digunakan untuk mengidentifikasi setiap pengguna. Jika terlalu umum, kata kunci tidak berguna untuk memilih iklan atau konten lainnya.

Taksonomi topik dibuat dengan mempertimbangkan dua persyaratan pokok:

  • Mendukung periklanan menurut minat
  • Menjaga keamanan pengguna dan melindungi privasi mereka

Langkah ini menyarankan beberapa pertanyaan. Contoh:

  • Apa cara terbaik bagi API untuk menyimpulkan topik minat bagi pengguna, berdasarkan aktivitas penjelajahan mereka, sekaligus menjaga privasi pengguna?
  • Bagaimana taksonomi ini dapat disusun untuk membuatnya lebih berguna?
  • Item spesifik apa yang harus disertakan dalam taksonomi?

Cara API menyimpulkan topik untuk suatu situs

Topik berasal dari model pengklasifikasi yang memetakan nama host situs ke nol atau beberapa topik. Menganalisis informasi tambahan (seperti URL lengkap atau konten halaman) dapat memungkinkan iklan yang lebih relevan, tetapi juga dapat mengurangi privasi.

Model pengklasifikasi untuk memetakan nama host ke topik tersedia untuk publik, dan seperti yang dijelaskan dalam penjelasan, topik untuk situs dapat dilihat melalui alat developer browser. Model ini diharapkan dapat berkembang dan meningkat seiring waktu, serta diperbarui secara berkala; frekuensinya masih dipertimbangkan.

Hanya situs yang menyertakan kode yang memanggil Topics API yang disertakan dalam histori penjelajahan yang memenuhi syarat untuk penghitungan frekuensi topik, dan pemanggil API hanya menerima topik yang mereka amati. Dengan kata lain, situs tidak memenuhi syarat untuk penghitungan frekuensi topik tanpa situs atau layanan tersemat yang memanggil API.

Selain itu, penelepon hanya dapat menerima topik yang telah "dilihat" oleh kode mereka. Jadi, jika kode pemanggil lain mendaftarkan suatu topik, misalnya /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, untuk browser pengguna dan kode Anda tidak menyebabkan topik tersebut didaftarkan untuk browser pengguna tersebut, Anda tidak akan dapat mempelajari topik yang menarik untuk browser pengguna tersebut saat memanggil API dari kode sematan. Perhatikan bahwa karena API sekarang menyertakan ancestor seperti yang telah diamati, contoh di atas, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks, juga akan menyebabkan Autos & Vehicles dan Motor Vehicles diamati.

Topik yang ditampilkan untuk pengguna dihitung ulang untuk pemanggil bergantung pada situs tingkat atas. Misalnya, jika adtech.example meminta topik pengguna pada news-a.example, lalu pada news-b.example, dan kemudian pada news-c.example, topik yang ditampilkan ke topik tersebut akan dihitung ulang di setiap situs. Artinya penelepon cenderung mendapatkan topik yang berbeda untuk pengguna di situs tingkat teratas yang berbeda, karena (maksimum) tiga topik yang ditampilkan untuk pengguna dipilih secara acak dari lima teratas untuk tiga epoch terakhir (dengan peluang 5% untuk mendapatkan topik acak). Hal ini mempersulit penelepon untuk mengidentifikasi pengguna berdasarkan topiknya, karena topik ini cenderung berbeda di berbagai situs tingkat teratas (bahkan untuk pengguna, penelepon, dan epoch yang sama).

Model pengklasifikasi

Topik diseleksi secara manual untuk 50.000 domain teratas, dan kurasi ini digunakan untuk melatih pengklasifikasi. Daftar ini dapat ditemukan di override_list.pb.gz, yang tersedia di chrome://topics-internals/ pada bagian model saat ini di tab Pengklasifikasi. Pengaitan domain ke topik dalam daftar digunakan oleh API sebagai pengganti output model itu sendiri.

Halaman chrome://topics-internals dengan panel Pengklasifikasi dipilih.
Panel Pengklasifikasi halaman chrome://topics-internals mencantumkan versi model, jalurnya, dan topik yang terkait dengan setiap host yang tercantum.

Untuk menjalankan model secara langsung, lihat Panduan TensorFlow untuk menjalankan model.

Untuk memeriksa file override_list.pb.gz, ekstrak file tersebut terlebih dahulu:

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

Gunakan protoc untuk memeriksanya sebagai teks:

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

Taksonomi topik lengkap dengan ID tersedia di GitHub.

Memberikan masukan atau input tentang model pengklasifikasi

Ada beberapa saluran untuk memberikan masukan terkait Topics API. Untuk masukan tentang model pengklasifikasi, sebaiknya kirim masalah GitHub atau balas masalah yang sudah ada. Contoh:

Cara pemilihan lima topik teratas pengguna

API menampilkan satu topik untuk setiap epoch, hingga maksimum tiga. Jika tiga ditampilkan, ini termasuk topik untuk epoch saat ini dan dua sebelumnya.

  1. Di akhir setiap epoch, browser mengompilasi daftar halaman yang memenuhi kriteria berikut:
    • Halaman ini dikunjungi oleh pengguna selama epoch.
    • Halaman ini menyertakan kode yang memanggil document.browsingTopics().
    • API diaktifkan (misalnya, tidak diblokir oleh pengguna atau melalui header respons).
  2. Browser, di perangkat pengguna, menggunakan model pengklasifikasi yang disediakan oleh Topics API untuk memetakan nama host setiap halaman ke daftar topik.
  3. Browser mengakumulasi daftar topik.
  4. Browser membuat daftar lima topik teratas berdasarkan frekuensi.

Metode document.browsingTopics() kemudian menampilkan topik acak dari lima teratas untuk setiap epoch, dengan kemungkinan 5% bahwa semua ini dapat dipilih secara acak dari taksonomi topik lengkap. Di Chrome, pengguna juga dapat menghapus topik satu per satu, atau menghapus histori penjelajahan mereka untuk mengurangi jumlah topik yang ditampilkan oleh API. Pengguna juga dapat memilih tidak ikut API ini.

Anda dapat melihat informasi tentang topik yang diamati selama epoch saat ini dari halaman chrome://topics-internals.

Cara API memutuskan pemanggil mana yang melihat topik

Pemanggil API hanya menerima topik yang baru-baru ini mereka amati, dan topik untuk pengguna diperbarui sekali setiap epoch. Artinya, API ini menyediakan jendela bergulir agar pemanggil tertentu dapat menerima topik tertentu.

Tabel di bawah menguraikan contoh (meskipun terlalu kecil) dari histori penjelajahan hipotetis untuk pengguna selama satu epoch, yang menampilkan topik yang terkait dengan situs yang mereka kunjungi, dan pemanggil API yang ada di setiap situs (entitas yang memanggil document.browsingTopics() dalam kode JavaScript yang disertakan di situs).

Situs Topik Pemanggil API di situs
yoga.example Kebugaran teknologi iklan1.contoh adtech2.contoh
knitting.example Kerajinan adtech1.example
mendaki-holiday.example Kebugaran, Perjalanan & Transportasi adtech2.example
contoh-pakaian-diy.contoh Kerajinan, Fashion & Gaya [tidak ada]

Di akhir epoch (saat ini satu minggu), Topics API menghasilkan topik teratas browser untuk minggu tersebut.

  • adtech1.example kini memenuhi syarat untuk menerima topik "Kebugaran" dan "Kerajinan", karena mereka mengamatinya di yoga.example dan juga di knitting.example.
  • adtech1.example tidak memenuhi syarat untuk menerima topik "Perjalanan & Transportasi" untuk pengguna ini karena tidak ada di situs apa pun yang baru-baru ini dikunjungi pengguna yang terkait dengan topik tersebut.
  • adtech2.example telah melihat topik "Kebugaran" dan "Perjalanan & Transportasi", tetapi belum melihat topik "Kerajinan".

Pengguna mengunjungi diy-clothing.example, yang memiliki topik "Fashion & Gaya", tetapi tidak ada panggilan ke Topics API di situs tersebut. Pada tahap ini, ini berarti topik "Fashion & Gaya" tidak akan ditampilkan oleh API untuk pemanggil mana pun.

Pada minggu kedua, pengguna mengunjungi situs lain:

Situs Topik Pemanggil API di situs
sewing.example Kerajinan adtech2.example

Selain itu, kode dari adtech2.example ditambahkan ke diy-clothing.example:

Situs Topik Pemanggil API di situs
contoh-pakaian-diy.contoh Kerajinan, Fashion & Gaya adtech2.example

Selain "Kebugaran" dan "Perjalanan & Transportasi" dari minggu ke-1, artinya adtech2.example sekarang akan dapat menerima topik "Kerajinan" dan "Fashion & Gaya" — tetapi tidak hingga epoch berikutnya, minggu ke-3. Hal ini memastikan bahwa pihak ketiga tidak dapat mempelajari masa lalu pengguna (dalam hal ini, minat terhadap mode) lebih lanjut daripada yang dapat mereka lakukan dengan cookie.

Setelah dua minggu berikutnya, "Kebugaran" dan "Perjalanan & Transportasi" mungkin akan keluar dari daftar topik yang memenuhi syarat adtech2.example jika pengguna tidak mengunjungi situs apa pun dengan topik tersebut yang menyertakan kode dari adtech2.example.

Kontrol pengguna, transparansi, dan ketidakikutsertaan

Pengguna harus dapat memahami tujuan Topics API, mengenali apa yang dikatakan tentang mereka, mengetahui kapan API sedang digunakan, dan diberi kontrol untuk mengaktifkan atau menonaktifkannya.

Taksonomi API yang dapat dibaca manusia memungkinkan pengguna mempelajari dan mengontrol topik yang mungkin disarankan oleh browser untuk mereka. Pengguna dapat menghapus topik yang secara khusus tidak mereka inginkan untuk dibagikan oleh Topics API kepada pengiklan atau penayang, dan terdapat kontrol untuk memberi tahu pengguna tentang API serta menunjukkan cara mengaktifkan atau menonaktifkannya. Chrome menyediakan informasi dan setelan untuk Topics API di chrome://settings/adPrivacy. Selain itu, topik tidak tersedia untuk pemanggil API dalam mode Samaran, dan topik akan dihapus saat histori penjelajahan dihapus.

Daftar topik yang ditampilkan akan kosong jika:

  • Pengguna memilih tidak menggunakan Topics API melalui setelan browser di chrome://settings/adPrivacy.
  • Pengguna telah menghapus topiknya (melalui setelan browser di chrome://settings/adPrivacy) atau menghapus cookie mereka.
  • Browser dalam mode Samaran.

Penjelasan memberikan detail selengkapnya tentang sasaran privasi dan cara API berupaya mengatasinya.

Tidak ikut serta dalam situs

Selain kemampuan pengguna untuk memilih tidak ikut, Anda dapat menonaktifkan Topics untuk situs atau halaman di dalamnya. Panduan developer menjelaskan caranya.

Menggunakan Topics API di situs dengan prebid.js

Seperti tercantum dalam rilis Prebid 7, komunitas secara aktif mengembangkan integrasi dengan Topics API melalui modul baru. Modul ini digabungkan pada Desember 2022.

Pelajari lebih lanjut di sini:

  • Baca dokumentasi modul Topics API Prebid.
  • Untuk informasi selengkapnya, hubungi Prebid.js melalui saluran standar apa pun yang mereka tawarkan.

Langkah berikutnya

Berinteraksi dan berbagi masukan