主題分類

建議您閱讀系統推測主題的方式、將這些主題指派至使用者瀏覽器的方式,以及使用者如何控制主題清單。

導入狀態

什麼是主題?

Topics API 中的主題是使用者感興趣的主題,可由他們造訪的網站證明。

主題是一種信號,可協助廣告技術平台選擇相關廣告。與第三方 Cookie 不同的是,系統分享這項資訊時,不會進一步揭露使用者本身或使用者的瀏覽活動。

Topics API 可讓廣告技術平台等第三方觀測,然後存取使用者感興趣的主題。舉例來說,當使用者造訪 knitting.example 網站時,API 可能會建議「纖維與紡織藝術」主題。

Topics API 使用的主題清單是公開、使用者收錄且人類可讀的主題,且可避免敏感類別。這是目前的清單,日後會逐步展開。這份清單的結構是分類。主題可以包含概略或更具體的主題。舉例來說,Food & Drink 是廣泛類別,子類別為 Cooking & Recipes。子類別可進一步分為其他子類別。

這類主題分類必須在實用性和隱私權之間權衡取捨。如果主題太具體,可以用來識別個別使用者。如果太過籠統,就無法用來選擇廣告或其他內容。

主題分類是以下列兩個基本需求所建構:

  • 支援按照興趣顯示廣告
  • 保護使用者安全和隱私權

產生了幾個問題。例如:

  • 為了讓 API 根據使用者的瀏覽活動推斷出興趣主題,同時保護使用者隱私,以下何者是最佳方法?
  • 您該如何建立分類,讓分類更加實用?
  • 分類應包含哪些特定項目?

API 如何推測網站主題

主題衍生自分類器模型,將網站主機名稱對應至零個或多個主題。分析額外資訊 (例如完整網址或網頁內容) 或許能夠顯示更貼近您需求的廣告,但也有可能降低隱私權。

將主機名稱對應至主題的分類器模型是公開可用的,而說明則可用來透過瀏覽器開發人員工具查看網站主題。模型預期會隨時間演進與改進,並且定期更新;目前還是考慮了這麼做的頻率。

只有包含呼叫 Topics API 的程式碼的網站才會納入用於計算主題頻率計算的瀏覽記錄,API 呼叫端只會接收他們觀察到的主題。換句話說,網站必須要有網站或呼叫 API 的內嵌服務,才能計算主題頻率。

此外,來電者只能接收代碼中「看過」的主題。因此,如果其他呼叫端的程式碼為使用者的瀏覽器註冊了一個主題 (例如 /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks),且您的程式碼並未針對該使用者的瀏覽器註冊該主題,則當您透過內嵌的程式碼呼叫 API 時,您將無法得知該使用者的瀏覽器感興趣的主題。請注意,由於 API 現在如觀察到的祖係也加入了,因此上述範例 /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks 也會導致系統觀察 Autos & VehiclesMotor Vehicles

系統會根據頂層網站,重新計算呼叫者所傳回的主題。舉例來說,如果 adtech.examplenews-a.example 要求使用者的主題,則在 news-b.examplenews-c.example 時,將重新計算每個網站傳回的主題。換言之,呼叫者可能會在不同的頂層網站上,找到不同的主題,因為系統在過去三個週期的前五大週期中,系統會從前 5 個主題 (最多) 隨機選擇向使用者傳回的三個主題 (找到隨機主題的機率為 5%)。這讓呼叫端更難依主題識別使用者,因為他們的主題在不同的頂層網站 (即便是同一使用者、呼叫端和週期相同,也可能不同)。

分類器模型

主題是由 50,000 個熱門網域手動收錄,而這項資訊會用於訓練分類器。您可以在override_list.pb.gz找到這份清單,在chrome://topics-internals/目前模型下方的分類器分頁中找到此清單。API 會使用清單中的網域對主題關聯,取代模型本身的輸出內容。

chrome://topics-internals 頁面,已選取「分類器」面板。
chrome://topics-internals 頁面的「分類器」面板會列出模型版本、路徑,以及與列出的每個主機相關聯的主題。

如要直接執行模型,請參閱 TensorFlow 的模型執行指南

如要檢查 override_list.pb.gz 檔案,請先解壓縮檔案:

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

請使用 protoc 將其檢查為文字:

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

GitHub 提供具有 ID 的主題分類

針對分類器模型提供意見回饋或輸入

目前有多個管道可以針對 Topics API 提供意見。如要針對分類器模型提供意見,建議您提交 GitHub 問題或回覆現有問題。例如:

系統如何挑選使用者的五大熱門主題

API 會為每個訓練週期傳回一個主題,最多三個。如果傳回三個值,這個值會包含當前週期和前兩段主題的主題。

  1. 在每個週期結束時,瀏覽器會編譯符合下列條件的網頁清單:
    • 使用者在紀元期間造訪的網頁。
    • 網頁包含呼叫 document.browsingTopics() 的程式碼。
    • API 已啟用 (例如未遭到使用者封鎖,或透過回應標頭)。
  2. 在使用者的裝置上,瀏覽器會使用 Topics API 提供的分類器模型,將每個網頁的主機名稱對應至主題清單。
  3. 瀏覽器會累積主題清單。
  4. 瀏覽器會按頻率列出前五大主題,

document.browsingTopics() 方法接著會傳回每個訓練週期前五名的隨機主題,並有 5% 的機率會從完整的主題分類中隨機選擇任一主題。在 Chrome 中,使用者也可以移除個別主題或清除瀏覽記錄,藉此減少 API 傳回的主題數量。使用者也可以選擇停用 API。

您可以透過 chrome://topics-internals 頁面,查看目前週期中觀察到的主題相關資訊。

API 如何決定要讓哪些呼叫端查看哪些主題

API 呼叫端只會接收最近觀察到的主題,使用者的主題會在每個週期中更新一次。也就是說,API 提供滾動式視窗,特定呼叫端可能會接收特定主題。

下表概略說明使用者在單一週期內假設的瀏覽記錄範例 (雖然不切實際),但會顯示與使用者造訪過的網站相關的主題,以及每個網站上出現的 API 呼叫端 (在網站包含的 JavaScript 程式碼中呼叫 document.browsingTopics() 的實體)。

網站 主題 網站上的 API 呼叫端
yoga.example 健身 adtech1.example adtech2.example
knitting.example 手工藝課程 adtech1.example
健行-holiday.example 健身、旅遊與交通 adtech2.example
尿布用.example 手工藝品、時尚與風格 [無]

在訓練週期結束時 (目前為一週),Topics API 會產生瀏覽器當週的熱門主題。

  • adtech1.example 現在可收到「健身」和「手工藝」主題,因為在瑜珈.example 和 knitting.example 上觀察到。
  • adtech1.example 無法接收這位使用者的「旅遊與交通」主題,因為使用者最近造訪的任何網站都沒有與該主題相關聯的「旅遊與交通」主題。
  • adtech2.example 曾查看過「健身」和「旅遊與交通」主題,但尚未看過「工藝」主題。

使用者造訪了主題為「時尚與樣式」的 diy-clothing.example,但該網站並未呼叫 Topics API。現階段,API 不會為呼叫端傳回「時尚與風格」主題。

使用者在第 2 週造訪了另一個網站:

網站 主題 網站上的 API 呼叫端
sewing.example 手工藝課程 adtech2.example

此外,adtech2.example 的程式碼也會加進 diy-clothing.example:

網站 主題 網站上的 API 呼叫端
尿布用.example 手工藝品、時尚與風格 adtech2.example

也就是說,Adtech2.example 現在除了能夠接收第 1 週的「健身」和「旅遊與交通」外,還能接收「工藝」和「時尚與風格」主題,但直到接下來的第 3 週為止。這能確保第三方不會深入瞭解使用者過去使用 Cookie 的資訊 (在此情況下,興趣喜好)。

經過兩週後,假如使用者未造訪任何含有 adtech2.example 程式碼主題的網站,則「健身」和「旅遊與交通」可能會從 adtech2.example 的適用主題清單中移除。

讓使用者控制、資訊公開和選擇不採用

應該要讓使用者能瞭解 Topics API 的用途、辨識他們分享的內容、瞭解 API 的使用時機,並隨附啟用或停用 Topics API 的控制項。

這個 API 提供人類可讀的分類方式,方便使用者瞭解及控管瀏覽器可能建議的主題。使用者可以單獨移除不希望 Topics API 提供給廣告主或發布商的主題,也可以控制是否要向使用者說明該 API,以及啟用或停用該 API。Chrome 會在 chrome://settings/adPrivacy 提供 Topics API 的相關資訊和設定,此外,API 呼叫端在無痕模式下無法使用主題,且會在瀏覽記錄清除時清除主題。

在下列情況下,傳回的主題清單不會列出任何內容:

  • 使用者透過瀏覽器設定 (chrome://settings/adPrivacy) 停用 Topics API。
  • 使用者已透過瀏覽器設定 (chrome://settings/adPrivacy) 清除主題或清除 Cookie。
  • 瀏覽器使用無痕模式。

這份說明會進一步說明隱私權目標,以及 API 希望達成這些目標的方式。

網站停用

除了讓使用者選擇退出之外,您也可以為自家網站或網站上的網頁停用 Topics。詳情請參閱開發人員指南

透過 prebid.js 在網站上使用 Topics API

如同 Prebid 7 第 7 版所述,社群可透過新模組主動與 Topics API 整合。這個模組已於 2022 年 12 月合併。

詳情請參閱:

後續步驟

交流及分享意見回饋