locale (14) — 별 하나 뒤의 계산들
일본은 왜 별을 짜게 줄까, 어디까지 쪼개야 하나, 공식은 하나면 되나
미국에서 맛집을 찾을 때는 yelp를, 일본에서는 타베로그를 열었다. 자연스럽게 나라마다 믿고 찾는 곳이 따로 있었는데, 그 총점의 눈금부터가 서로 달랐다. 타베로그에서 3.5는 최정상급 맛집이라는 뜻이었지만, yelp에서 같은 3.5는 그만한 집이 아니라 했었다. 맛집이라는 같은 물음을 두고도 나라를 넘으면 비교가 어려운데, 같은 다섯 개의 별처럼 보여도, 그 대표 점수가 만들어진 공식은 해당 나라의 사용자들에게 묶여 있었던 셈이다. 이걸 시스템이 받아 하나로 단순화해서 진행하려 하면 뭔가 생각대로 잘 안 풀렸는데, 지난 몇몇 과제들에서 여러 번 만났었다.
별점을 처음 다룬 것은 rich snippets 과제에서였다. 검색 결과 밑에 영화 평점을 끌어다 붙이는 일이었는데, 나라별 점수를 뜯어보니 같은 부류의 영화라도 일본 쪽이 미국 쪽보다 낮게 깔렸다. 처음엔 헐리우드에 기운 bias인가 싶었는데, 헐리우드 영화 하나를 두고 나라를 건너가며 점수를 늘어놓아도, 그 평균과 분포는 또 제각각이었다. 그럼 이건 '국민성'이라고 불러야 하나. 어느 나라 사람들이 원래 별을 짜게 준다는 식으로. 그 이름을 붙이려다 매번 멈칫했다. 국민이 별점을 그렇게 주도록 길든 것인지, 별점이 국민을 그렇게 길들인 것인지, 무엇이 먼저인지 알 수 없었지만, 다만 다르다는 것만은 분명했다.
사실 그 rich snippets라는 것부터가, 별점을 검색 순위에 넣지 못해 나온 타협이었다. 웹 검색 순위에 넣으려면 모든 문서에 똑같이 적용할 수 있어야 하는데, 별점이 달린 문서가 세상에 몇이나 되겠는가. 그래서 검색은 순위 대신 결과 밑 회색 한 줄로 최신 별점만 얹어 두는 쪽으로 물러섰다. 회색 한 줄이 얼마나 한다고 생각했지만, 구글 검색에서 추가적인 한 줄은 의미가 어마어마한 것이어서 엄청나게 많은 실험을 해야만 했었다. IMDb의 10점과 RottenTomatoes의 100점을 별 다섯 개 눈금에 어떻게 맞출 것인가부터가 일이었고, 개별 리뷰와 그것들을 합친 총점은 서로 다른 물건이라, 그 총점을 단순 산술 평균으로 낼 것인가를 두고도 오래 실랑이들이 있었다. 당시 구글이 Zagat을 인수하던 즈음 별점 관련한 것들이 교통정리가 되었던 기억이다.
그런데 나라마다 다르다는 걸 인정하고 나면 얼마나 더 잘게 쪼개어 볼 것인가라는 이슈로 뒤가 조금 더 곤란해지곤 한다. 나라로 가르면 충분할 듯하다가도, 같은 나라 안에서 도시와 시골이 다르고 서울과 부산이 다를 텐데, 어디까지 내려가야 맞는 걸까. 영화는 어느 단위가 적당하고, 맛집은 또 어디까지 쪼개야 하며, 앱이라면 또 어떤가. 답은 하나로 떨어지지 않았고, 개발 직군은 그 요구가 어디까지 내려오든 묵묵히 최선을 다해야만 했었다.
여기서 글로벌 회사가 흔히 빠지는 함정이 있다. 공식을 하나 만들면 그것이 모든 나라에 똑같이 통해야 한다고 여기는 것이다. 아이러니하지만 코드가 단순해지니까 이해는 가는데, 별점뿐 아니라 거의 모든 피쳐들에 대해 매번 논쟁이 된다. 한국에서 점수를 끌어올리던 신호가 미국에서는 도리어 끌어내리곤 했고, 당연히 그 반대의 경우들도 있다. 그래서 이런 건 과제를 launch하기 전에 협상의 대상이 되었다. 나라마다 예외를 둘 것인가, 아니면 하나의 공식으로 밀어붙이고 어긋나는 나라는 감수할 것인가. 예외를 하나 열면 그다음 나라가 손을 들고, 그렇게 특례가 쌓이면 어느새 아무도 손대지 못하는 코드가 된다. 편의를 따라 나라별 분기를 늘리다 보면 그게 고스란히 기술 부채로 돌아온다는 걸 알기에, 그 부채를 지지 않으려고 여럿이 오래 매달렸다. 어느 것도 공짜가 아니었다.
별점에 대해서는 나라만 축인 것은 아니고, 시간도 중요한 축이었는데, 오래된 서비스일수록 오래된 리뷰를 얼마나 인정해 줄지가 문제였다. 무작정 요즘 것이 낫다고 할 수도 없으니, 이 가중치를 어떻게 줄지에는 오래 장사를 해 본 곳들이 저마다 감춰 둔 셈법이 있었고, 산술 평균으로 짐작되는 평균이라는 하나의 숫자 뒤에는, 어느 시절의 목소리에 얼마나 무게를 둘 것인가 하는 또 하나의 판단이 복잡하게 숨어 있었다.
영화 리뷰로 한참 고민하다 꽤 시간이 지나, 비슷한 문제를 앱 스토어에서 다시 만났다. 앱은 나라에 묶여 출시되는데, 별점은 그 앱을 내려받은 사용자가 제 나라와 제 언어를 묻혀 남긴다. 나라별로 평균을 내 보면 값이 사뭇 달라서, 특히 여기서도 한국과 일본을 견주면 일본 쪽이 유독 짜게 나오곤 했다. 그리고 한국에는 지난번에 적었던, 불만이면 낮췄다가 해결되면 높여 주는 문화가 있었다. 각 나라마다 사정이 있었던 건지, 이게 진짜 사람의 마음인지 누가 심어 둔 별인지까지 따지기 시작하면, 셈은 한층 복잡해졌다.
플레이스토어 내에서는 같은 부류의 문서들을 다루니, 검색과 달리 별점을 간접적인 품질 신호로 순위에 쓸 수는 있었다. 막상 쓰려면 또 복잡해지는데, 글로벌 총합이야 엔트리 하나면 되지만, 이걸 locale로 펼치면 마흔 개 언어에 백 개 나라의 몫이 필요했다. 내려받고, 눌러 보고, 지워 버리는 온갖 숫자들과 비율까지 함께 얹으면, 이걸 serving하는 인프라가 감당하기 어려운 일이 되었다. 앞서 얼마나 잘게 쪼갤 것이냐고 물었던 그 물음이, 여기서는 고스란히 비용으로 돌아왔다. 별점을 나라별 신호로 쓸 것인가 글로벌 총합으로 쓸 것인가는, 품질과 인프라 측면 모두 난이도가 상당한 셈이다.
별 다섯 개는 세상에서 가장 단순한 언어처럼 보인다. 그러나 그 한 줄짜리 숫자를 시스템 안으로 들이는 순간, 나라와 언어와 문화가 저마다의 무게로 되살아났다. 나라와 언어가 끝내 하나로 포개지지 않더라는 이야기를, 별점만큼 또렷하게 보여준 것도 드물지 싶다.
원문은 브런치에 있습니다 → https://brunch.co.kr/@chaesang/199
