위키는 어떻게 틀린 정보를 걸러내는가
막지 못하는 것을 되돌린다
위키백과의 설계에서 가장 인상적인 결정은 이것이다. 틀린 편집을 막으려 하지 않았다.
사전 검토를 두지 않았다. 누구나 즉시 고칠 수 있게 했다. 대신 모든 편집을 기록하고, 한 번의 조작으로 되돌릴 수 있게 만들었다.
이 선택의 논리는 비대칭에 있다. 틀린 것을 사전에 걸러내려면 모든 편집을 검토해야 한다. 비용이 편집 수에 비례한다. 반면 되돌리기는 문제가 된 것만 손대면 된다. 그리고 틀린 편집은 전체의 일부다.
막는 비용은 전체에 붙고, 고치는 비용은 문제에만 붙는다.
우리 시스템에 그대로 옮길 수 있다. 신고를 사전에 검증하지 않는다. 누구나 즉시 표시한다. 대신 모든 신고를 이력으로 쌓고, 나중에 무게를 조정하거나 무효화할 수 있게 한다.
지우지 않고 무효화한다. 이 구분이 중요하다. 지우면 왜 지웠는지 알 수 없고, 잘못 지운 것도 복구할 수 없다. 무효화는 기록을 남긴다. 그리고 나중에 판단이 바뀌면 되돌릴 수 있다.
근거를 요구한다
위키백과의 두 번째 장치는 출처다. 주장에는 근거가 붙어야 하고, 없으면 표시가 달린다.
우리 경우의 근거는 가속도 신호다.
사용자가 어떤 지점에 표시를 남기면, 그 시점의 신호 기록이 함께 저장된다. 그러면 대조할 수 있다.
- 신고 있음 + 신호에 뚜렷한 이상 → 서로 뒷받침한다. 무게 높음
- 신고 있음 + 신호에 아무것도 없음 → 어긋난다. 무게 낮춤
- 신고 없음 + 신호에 이상 → 사람이 못 느낀 것. 별도 후보로 보관
- 신고 없음 + 신호 정상 → 정상 주행
두 번째 줄이 특히 유용하다. 오작동이나 잘못 누름은 대개 신호에 아무 흔적이 없다. 자동으로 걸러진다.
세 번째 줄도 흥미롭다. 사람이 못 느낀 미세한 신호. 지금은 판단할 수 없지만, 나중에 2단계 학습에서 이게 중요해질 가능성이 있다. 그래서 버리지 않고 모아둔다.
다만 이 대조에는 한계가 있다. 우리가 궁극적으로 찾으려는 “물컹함”은 8편에서 봤듯 신호에 뚜렷하게 나타나지 않는다. 그래서 이 대조는 명백한 오류를 걸러내는 데는 쓸모 있지만, 진짜 목표인 미세한 신호를 판정하는 데는 아직 쓸 수 없다.
기여자의 이력이 쌓인다
세 번째 장치는 사람에 대한 것이다. 위키백과에서 오래 기여하며 신뢰를 얻은 편집자와 방금 만든 계정은 다르게 취급된다.
우리도 같은 구조를 쓴다. 다만 무엇을 기준으로 신뢰를 쌓을지를 정해야 한다.
우리 기준은 일치도다. 어떤 사용자의 과거 신고가, 같은 지점에 대한 다른 사람들의 신고와 대체로 일치했는가.
일치가 많았던 사용자는 무게가 올라간다. 계속 혼자만 표시하고 아무도 동의하지 않은 사용자는 무게가 내려간다.
여기에 두 가지를 더 본다.
그 구간을 얼마나 자주 지났는가. 11편에서 이야기한 대로, 반복 통과가 기준선을 만든다. 매일 지나는 사람의 “달라졌다”는 판단은 처음 지나는 사람의 것보다 무겁다.
신호와의 일치도. 위의 근거 대조에서 뒷받침받은 비율.
이 셋을 합쳐 사용자별 무게를 만든다.
그런데 위험한 설계다
여기서 정직하게 짚어야 할 것이 있다. 이 신뢰 점수 방식에는 심각한 편향 위험이 있다.
다수에 동조하는 사람이 유리해진다. 일치도로 신뢰를 매기면, 남들과 같은 판단을 하는 사람의 점수가 올라간다. 그런데 처음 이상을 발견하는 사람은 정의상 소수다. 아무도 아직 표시하지 않은 지점을 최초로 표시한 사람은 일치도가 0이다.
즉 이 방식은 우리가 가장 원하는 신고 — 최초 발견 — 를 하는 사람에게 불리하게 작동할 수 있다.
이건 설계 결함이고, 완전한 해결책이 없다. 우리가 쓰는 완화책은 두 가지다.
시간 지연 평가. 최초 신고는 즉시 판정하지 않고 보류한다. 이후 몇 주 안에 같은 지점에 다른 신고가 붙으면, 그 최초 신고자의 점수를 소급해서 올린다. 먼저 발견한 것에 대해 나중에 보상하는 방식이다.
신뢰 점수를 필터가 아니라 가중치로만 쓴다. 점수가 낮은 사용자의 신고를 버리지 않는다. 무게만 낮춘다. 그래서 낮은 점수의 신고가 여러 건 겹치면 여전히 드러난다.
두 번째가 더 중요하다. 어떤 신고도 완전히 사라지지 않게 하는 것. 걸러내기 시작하면 시스템이 자기가 이미 아는 것만 보게 된다.
위키와 다른 점을 다시
11편에서 말한 근본적인 차이를 여기서 한 번 더 확인해야 한다. 위키백과에는 정답이 있고, 우리에게는 없다.
위키백과의 편집 분쟁은 결국 사실 확인으로 끝난다. 문헌을 찾으면 된다. 그래서 신뢰 점수가 틀리게 매겨져도 개별 사안에서는 진실이 이긴다.
우리는 그 최종 심판이 없다. 그래서 신뢰 점수가 잘못 매겨지면 그것을 교정할 방법이 약하다.
이 한계는 시스템의 성격을 규정한다. 우리가 만드는 것은 판정이 아니다. 앞 편 마지막에 적은 것처럼, “여기를 확인해 보십시오”라는 우선순위 목록이다.
그리고 이 목록의 최종 검증은 시스템 안에 없다. 밖에 있다. 실제로 정밀 조사를 나가서 확인하는 것, 또는 불행히도 실제로 함몰이 발생하는 것. 그때 비로소 우리 데이터가 맞았는지 알 수 있다.
그 사후 확인이 쌓이는 것이 이 시스템의 유일한 진짜 학습 경로다. 그래서 초기에는 겸손해야 한다. 우리가 만드는 것은 완성된 판정 시스템이 아니라, 검증 사례를 모으기 시작하는 장치다.
다음 편에서는 이 신뢰 구조를 실제로 어떻게 계산할지, 그 설계를 구체적으로 정리한다.
다음 편 예고 — 누구의 신고를 믿을 것인가 — 신뢰 점수. 2부의 마지막. 사람의 판단에 무게를 매기는 구조를 정리하고, 그것이 3부의 신호 처리로 어떻게 넘어가는지 잇는다.
「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 2부 사람이 먼저의 6번째(전체 제12회)입니다.