Skip to content

크라우드 라벨 집계: 다수결을 넘어서

Dawid-Skene와 MACE 같은 주석자 모델을 사용해 잡음이 많은 여러 주석을 하나의 라벨로 결합하는 방법, 언제 그것을 신뢰할지, 그리고 Potato가 어떻게 역량을 추정하고 라벨을 추론하는지 설명합니다.

여러 사람이 같은 항목에 라벨을 붙일 때 다수결은 그들의 답을 결합하는 가장 명백한 방법이지만 대개는 잘못된 방법입니다. 각 주석자의 신뢰도를 추정하는 모델은 더 나은 라벨을 복원하고, 스팸 작업자를 표시해 주며, 얼마나 신뢰해야 하는지를 알려 줍니다. 그러나 이 모델들은 모두 유일한 정답이 존재한다고 가정하므로, 주관적 작업에서는 먼저 불일치가 제거해야 할 오류인지 아니면 보존해야 할 신호인지를 판단해야 합니다. 이 가이드는 주요 집계 모델, 그들이 공유하는 가정, 그리고 Potato에서 하나를 실행하는 방법을 다룹니다.

다수결이 없는 척하는 문제

한 항목에 대해 라벨 세 개를 모아 다수를 취하세요. 주석자들이 대체로 대등하고 대부분 옳을 때는 잘 작동합니다. 그렇지 않게 되는 순간 무너집니다. 다수결은 신중한 전문가와 무작위로 클릭하는 봇을 각각 한 표로 세고, 표가 갈린 양상을 버리며(2 대 1 승리와 3 대 0 완승이 같은 결과로 나옵니다), 진짜로 어려운 항목과 게으른 주석자를 구별할 방법을 전혀 주지 않습니다. 이것이 진실 추론 문제입니다. 즉 라벨 행렬 하나만으로 잠재된 참 라벨과 각 주석자의 신뢰도를 동시에 복원하는 것입니다.

혼동 행렬 모델: Dawid and Skene

이 기초적인 방법은 나온 지 거의 50년이 되었습니다. Dawid and Skene (1979) 은 각 주석자를 혼동 행렬로 모델링했습니다. 즉 참 양성 항목을 양성, 음성 등으로 라벨링할 확률입니다. 그리고 기댓값 최대화를 사용해 그 행렬과 참 라벨을 함께 추정했습니다. 두 범주를 혼동하는 주석자는 그것을 드러내는 혼동 행렬을 갖게 되고, 그 구분에 대한 그의 표는 그에 따라 낮게 가중됩니다. 현대의 거의 모든 집계 모델은 이 발상의 후예입니다.

MACE: 역량과 스팸 탐지

Hovy et al. (2013) 은 MACE(Multi-Annotator Competence Estimation)를 도입했으며, 이는 명시적인 스팸 모델을 추가합니다. 각 주석자는 답을 알고 있거나 추측하는 것 중 하나로 취급되며, MACE는 각 항목에서 그가 추측하고 있었을 확률을 추정합니다. 이를 통해 주석자마다 0과 1 사이의 단일 역량 점수를 얻고, 아울러 진짜로 모호한 항목을 표시하는 항목별 엔트로피도 얻습니다. 빠르고, 무작위로 클릭하는 사람을 잡아내는 데 능하며, Potato에 기본 탑재된 모델입니다.

베이즈 모델과 서베이의 증거

이 분야는 이 둘을 훨씬 넘어 성장했습니다. Paun et al. (2018) 은 일군의 베이즈 주석 모델을 실제 데이터셋에서 비교해, 특히 주석자의 품질이 크게 차이 날 때 그것들이 다수결을 일관되게 능가함을 발견했으며, 동시에 하류로 전파할 수 있는 보정된 불확실성도 제공합니다. 공학적 측면에서는 Zheng et al. (2017) 이 17가지 진실 추론 방법을 벤치마크하고 이 문제가 해결되었는지 물었습니다. 짧은 답은 "아니오"입니다. 모든 곳에서 이기는 단일 방법은 없지만, 거의 모두가 다수결을 능가하며, 라벨 품질이 떨어질수록 그 격차는 커집니다.

이 모든 모델이 공유하는 가정

위의 모든 모델은 참 라벨이 하나뿐이며 불일치는 오류라고 가정합니다. 객관적 작업에서는 괜찮습니다. 주관적 작업에서는 정확히 틀립니다. 공격성, 감정, 도덕적 판단에서는 두 주석자가 텍스트를 진정으로 다르게 읽기 때문에 불일치할 수 있으며, Plank (2022) 는 이러한 인간 라벨 변이가 잡음이 아니라 흔히 신호라고 주장합니다. 그것을 집계로 없애 버리면 데이터를 흥미롭게 만들던 바로 그것을 버리는 셈입니다. (이에 대해서는 불일치는 잡음이 아니라 신호다에서 더 깊이 다룹니다.)

여기서 누가 주석했는지를 아는 것이 중요해지기 시작합니다. NUTMEG (Ivey, Gauch, and Jurgens, 2025) 는 바로 이 긴장을 위해 만들어진 베이즈 모델입니다. 주석자의 배경 정보를 사용해 정당하고 체계적인 불일치를 잡음으로부터 분리하여, 부주의한 라벨은 학습 데이터에서 제거하면서 주석자가 누구인지를 반영하는 불일치는 보존합니다. 이것은 애초에 배경 정보를 수집한 경우에만 작동합니다. 사전 연구로 인구통계 설문을 실시했다면(주석자 인구통계 데이터를 책임감 있게 수집하기와 Potato의 설문 도구 참고), NUTMEG 방식의 모델이 필요로 하는 주석자 메타데이터를 갖게 됩니다. 그것이 없으면 모든 불일치를 전부 오류이거나 전부 신호인 것으로 취급하는 데 갇히게 됩니다.

Potato에서 실행하기

Potato는 여러분의 다중 주석자 데이터에 대해 MACE를 실행하고, 관리자 대시보드에 역량과 추론된 라벨을 보고합니다. 범주형 스킴(radio, likert, select, multiselect)에서 작동하며, 추정할 대상이 있으려면 항목당 여러 주석자라는 실제 중복이 필요합니다.

yaml
mace:
  enabled: true
  trigger_every_n: 10            # re-estimate after every 10 new annotations
  min_annotations_per_item: 3    # ignore items with fewer than 3 labels
  min_items: 5                   # wait for at least 5 eligible items

실행이 끝나면 각 주석자는 역량 점수를 얻고(1.0에 가까우면 신뢰할 만하고, 0.5 미만이면 스팸 작업자일 가능성이 큽니다), 각 항목은 예측 라벨과 엔트로피 값을 얻습니다. 낮은 엔트로피는 모델이 확신한다는 뜻이고, 최댓값에 가까운 엔트로피는 합의가 없다는 뜻이며, 이는 보통 나쁜 주석자가 아니라 진짜로 어렵거나 명세가 부족한 항목을 가리킵니다. 전체 옵션은 MACE 기능 레퍼런스에 있습니다.

실무적인 두 가지 유의점. 첫째, 실제로 수집한 중복에 대해 집계하세요. MACE는 항목당 여러 라벨을 필요로 하므로, 중복은 연구 이후가 아니라 이전에 계획하세요. 둘째, MACE는 단일 라벨을 줍니다. 작업이 주관적이라면 대신 soft_label 스킴으로 분포를 유지하는 것을 고려하고, 정말로 하나의 답이 필요한 곳에서만 판정에 의존하세요.

언제 집계하고 언제 분산을 유지할 것인가

대략적인 판단 규칙입니다.

  • 객관적 작업이고 실제 정답 키가 존재함 → 하나의 라벨로 집계하세요. MACE나 다수결을 쓰고 넘어가세요.
  • 거의 객관적이지만 일부 주석자가 신뢰할 수 없음 → 단순 다수결이 아니라 역량 모델(MACE)로 집계하여 나쁜 평가자가 결과를 좌우하지 않도록 하세요.
  • 주관적 작업이고 불일치가 의미 있음 → 전체 분포(soft_label)를 유지하고, 주석자 메타데이터가 있다면 불일치를 삭제하는 대신 모델링하세요.

더 읽을거리