주제 분류

주제를 추론하는 방법, 주제가 사용자의 브라우저에 할당되는 방법, 사용자가 주제 목록을 관리하는 방법을 알아보세요.

구현 상태

주제란 무엇인가요?

Topics API에서 주제는 사용자가 방문하는 웹사이트에서 알 수 있듯이 사용자가 관심을 보이는 주제입니다.

주제는 광고 기술 플랫폼이 관련성 있는 광고를 선택하도록 도와주는 신호입니다. 서드 파티 쿠키와 달리 이 정보는 사용자 자신 또는 사용자의 탐색 활동에 대한 추가 정보를 공개하지 않고 공유됩니다.

Topics API를 사용하면 광고 기술 플랫폼과 같은 서드 파티가 사용자의 관심 주제를 관찰하고 액세스할 수 있습니다. 예를 들어 knitting.example 웹사이트를 방문하는 사용자에게 '섬유 및 직물 예술'이라는 주제를 추천할 수 있습니다.

Topics API에서 사용하는 주제 목록은 사람이 선별하고 사람이 읽을 수 있는 공개 주제이며 민감한 카테고리를 피하도록 설계되었습니다. 이는 현재 목록이며 시간이 지남에 따라 확장됩니다. 목록은 분류로 구조화됩니다. 주제는 개괄적일 수도 있고 더 구체적일 수도 있습니다. 예를 들어 Food & DrinkCooking & Recipes의 하위 카테고리가 있는 광범위한 카테고리입니다. 하위 카테고리는 추가적인 하위 카테고리로 다시 분류될 수 있습니다.

이러한 주제 분류는 유용성과 개인 정보 보호 사이의 균형을 맞춰야 합니다. 주제가 너무 구체적이면 개별 사용자를 식별하는 데 사용될 수 있습니다. 너무 일반적인 단어는 광고나 기타 콘텐츠를 선택하는 데 유용하지 않습니다.

주제 분류는 두 가지 기본 요구사항을 염두에 두고 구성됩니다.

  • 관심 기반 광고 지원
  • 사용자 안전 유지 및 개인 정보 보호

이는 몇 가지 질문을 제안합니다. 예를 들면 다음과 같습니다.

  • 사용자의 개인 정보를 보호하면서 탐색 활동을 기반으로 API가 사용자의 관심 주제를 추론하는 가장 좋은 방법은 무엇인가요?
  • 분류 체계를 어떻게 구성해야 보다 유용하게 만들 수 있을까요?
  • 분류에 포함해야 하는 구체적인 항목은 무엇인가요?

API에서 사이트의 주제를 추론하는 방법

주제는 웹사이트 호스트 이름을 0개 이상의 주제에 매핑하는 분류기 모델에서 파생됩니다. 추가 정보 (예: 전체 URL 또는 페이지 콘텐츠)를 분석하면 더 관련성 높은 광고를 게재할 수 있지만 개인 정보 보호가 제한될 수 있습니다.

호스트 이름을 주제에 매핑하는 분류 기준 모델은 공개적으로 제공되며 설명서에서 언급했듯이 브라우저 개발자 도구를 통해 사이트의 주제를 확인할 수 있습니다. 이 모델은 시간이 지남에 따라 발전하고 개선될 것으로 예상되며 정기적으로 업데이트됩니다. 업데이트 빈도는 아직 검토 중입니다.

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.example, news-c.example에 차례로 요청하면 반환된 주제는 각 사이트에서 다시 계산됩니다. 즉, 사용자에게 반환된 최대 3개의 주제가 지난 3개의 에포크 동안 상위 5개(임의의 주제를 가져올 확률은 5%) 중에서 무작위로 선택되므로 호출자는 최상위 사이트에 있는 사용자에 대해 서로 다른 주제를 가져올 가능성이 있습니다. 이렇게 하면 호출자가 주제별로 사용자를 식별하기가 더 어려워집니다. 동일한 사용자, 호출자, 에포크이더라도 최상위 사이트마다 다를 수 있기 때문입니다.

분류기 모델

주제는 50,000개의 상위 도메인에 대해 수동으로 선별되며, 이 큐레이션은 분류기를 학습시키는 데 사용됩니다. 이 목록은 override_list.pb.gz에서 확인할 수 있으며 분류 기준 탭에 있는 현재 모델의 chrome://topics-internals/에서 확인할 수 있습니다. 목록의 도메인과 주제 연결은 모델 자체의 출력 대신 API에서 사용됩니다.

분류 기준 패널이 선택된 chrome://topics-internals 페이지
chrome://topics-internals 페이지의 Classifier 패널에는 모델 버전, 경로, 나열된 각 호스트와 연결된 주제가 나열됩니다.

모델을 직접 실행하려면 모델 실행을 위한 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 문제를 제출하거나 기존 문제에 답하는 것이 좋습니다. 예를 들면 다음과 같습니다.

사용자의 상위 5개 주제가 선정되는 방식

API는 에포크별로 최대 3개의 주제를 반환합니다. 3개가 반환되면 현재 에포크와 이전 2개의 주제가 포함됩니다.

  1. 각 에포크가 끝날 때 브라우저는 다음 기준을 충족하는 페이지 목록을 컴파일합니다.
    • 에포크 동안 사용자가 페이지를 방문했습니다.
    • 페이지에 document.browsingTopics()를 호출하는 코드가 포함되어 있습니다.
    • API가 사용 설정됨 (예: 사용자 또는 응답 헤더를 통해 차단되지 않음)
  2. 사용자 기기의 브라우저는 Topics API가 제공하는 분류 기준 모델을 사용하여 각 페이지의 호스트 이름을 주제 목록에 매핑합니다.
  3. 브라우저에 주제 목록이 누적됩니다.
  4. 브라우저는 빈도별로 상위 5개 주제의 목록을 생성합니다.

그런 다음 document.browsingTopics() 메서드는 각 에포크의 상위 5개 주제 중에서 무작위로 주제를 반환하며, 이 중 하나가 주제 전체 분류에서 무작위로 선택될 확률은 5% 입니다. Chrome에서 사용자는 개별 주제를 삭제하거나 방문 기록을 삭제하여 API에서 반환하는 주제 수를 줄일 수도 있습니다. 사용자는 API 사용을 선택 해제할 수도 있습니다.

chrome://topics-internals 페이지에서 현재 에포크 동안 관찰된 주제에 관한 정보를 확인할 수 있습니다.

API가 호출자에 표시할 주제를 결정하는 방법

API 호출자는 최근에 관찰한 주제만 수신하며 사용자의 주제는 에포크마다 한 번씩 새로고침됩니다. 즉, API는 지정된 호출자가 특정 주제를 수신할 수 있는 롤링 기간을 제공합니다.

아래 표에는 사용자가 방문한 사이트 및 각 사이트에 있는 API 호출자 (사이트에 포함된 자바스크립트 코드에서 document.browsingTopics()를 호출하는 항목)와 관련된 주제를 보여주면서 단일 에포크 동안 사용자에 대한 가상 방문 기록의 예 (비현실적으로 작지만)가 요약되어 있습니다.

사이트 주제 사이트의 API 호출자
yoga.example 피트니스 adtech1.example adtech2.example
knitting.example 공예 adtech1.example
하이킹-휴일.example 피트니스, 여행, 교통수단 adtech2.example
diy-clothing.example 공예, 패션 및 스타일 [없음]

에포크 종료 시 (현재 1주일) 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 호출자
diy-clothing.example 공예, 패션 및 스타일 adtech2.example

즉, 1주 차의 '피트니스' 및 '여행 및 이동 수단'뿐만 아니라 이제 adtech2.example에서 '공예' 및 '패션 및 스타일' 주제를 수신할 수 있지만, 다음 에포크인 3주 차까지는 수신할 수 없습니다. 이렇게 하면 제3자가 쿠키를 사용할 때보다 사용자의 과거 (이 경우 패션에 대한 관심)에 대해 자세히 알아볼 수 없습니다.

2주가 더 지나면 '피트니스', '여행 및 교통수단'이 adtech2.example의 대상 주제 목록에서 제외될 수 있습니다. 이 경우 사용자가 adtech2.example의 코드가 포함된 이러한 주제의 사이트를 방문하지 않을 수도 있습니다.

사용자 제어, 투명성, 선택 해제

사용자는 Topics API의 목적을 이해하고, API에 관해 말하는 내용을 이해하고, API가 사용되는 시점을 알 수 있어야 하며, API를 사용 설정 또는 사용 중지할 수 있어야 합니다.

API의 인간이 읽을 수 있는 분류 체계를 통해 사용자는 브라우저에서 추천하는 주제에 관해 알아보고 주제를 제어할 수 있습니다. 사용자는 Topics API가 광고주 또는 게시자와 공유하는 것을 구체적으로 원하지 않는 주제를 삭제할 수 있으며, 사용자에게 API에 관해 알리고 API를 사용 설정 또는 사용 중지하는 방법을 보여주는 컨트롤이 있을 수 있습니다. Chrome은 chrome://settings/adPrivacy에서 Topics API에 관한 정보와 설정을 제공합니다. 또한 시크릿 모드에서는 API 호출자가 주제를 사용할 수 없으며 방문 기록을 삭제하면 주제도 삭제됩니다.

다음과 같은 경우 반환되는 주제 목록이 비어 있습니다.

  • 사용자가 chrome://settings/adPrivacy에서 브라우저 설정을 통해 Topics API를 선택 해제합니다.
  • 사용자가 chrome://settings/adPrivacy의 브라우저 설정을 통해 주제를 지우거나 쿠키를 지웠습니다.
  • 브라우저가 시크릿 모드입니다.

이 설명에는 개인 정보 보호 목표와 API의 목표 달성 방법이 자세히 설명되어 있습니다.

사이트 선택 해제

Topics는 사용자가 선택 해제할 수 있을 뿐만 아니라 사이트나 페이지의 페이지에 대해서도 Topics를 선택 해제할 수 있습니다. 방법은 개발자 가이드를 참고하세요.

prebid.js가 있는 웹사이트에서 Topics API 사용

Prebid 7 출시에서 언급한 바와 같이 커뮤니티에서는 새로운 모듈을 통해 Topics API와의 통합을 적극적으로 개발했습니다. 이 모듈은 2022년 12월에 병합되었습니다.

자세히 알아보기:

  • Prebid의 Topics API 모듈 문서를 읽어보세요.
  • 자세한 내용을 알아보려면 Prebid.js에서 제공하는 표준 채널을 통해 문의하세요.

다음 단계

참여 및 의견 공유