A/B테스트, 그리고 정확율(Precision)과 재현율(Recall)
검색품질의 어떻게 측정해야 할까?
이 질문에 앞서서 검색품질은 왜 측정해야 할까?
회사 입장에서는 검색품질은 검색결과가 얼마나 개선되었는지를 측정할 수 있는 방법이고,
생산자 입장(광고주, 블로거, 유튜버 등)에서는 내가 생산한 콘텐츠를 어떻게 해야 잘 노출시킬 수 있는지를 알 수 있는 지표이고,
소비자 입장에서는 더 나은 검색결과를 통해 빠르게 원하는 것을 얻을 수 있는 방법이다.
보통 검색을 위해서는 검색결과에 해당하는 요소들의 순서를 세우는 검색랭킹을 정의해야 하는데, 이는 보통 정확도, 유사도, 속성, 최신성, 그 외에도 여러가지 점수를 통해 최종 점수를 계산하게 된다.
그럼 이 결과가 정말 가장 좋은 결과인지를 평가할 수 있어야 하는데, 이에 대한 이야기를 해보고자 한다.
A/B 테스트
버킷 테스트라고도 불리는 A/B 테스트란 대부분 잘 알고 있듯이, A라는 대조군과 B라는 실험군으로 나누어 방문자가 어떤 결과에 더 관심을 보이는지를 통계적으로 검증하는 방법이다. A/B테스트 자체가 2000년, 구글에서 검색결과를 무작위를 나눈 A, B 두 집단에게 다른 검색결과를 보여준 것에서 부터 시작했다고 한다. 이 때 A 대조군에는 기존과 같이 10개의 결과를, B 실험군에는 20개의 결과를 보여주고 클릭과 재방문율을 비교했고, 로딩이슈로 실험자체는 실패했지만, 이를 토대로 이후 다양한 A/B테스트가 진행되었다고 한다. (2011년에만 7,000건의 A/B테스트를 진행했다고..)
지금의 데이터 기반 의사결정을 하는데 가장 기여를 많이한 테스트 방법 중 하나이고 사용자들의 반응을 먼저 볼 수 있는 방법이기 때문에 여전히 유용하게 활용될 수 있는 방법이라 할 수 있겠다.
아래부터는 검색품질 평가를 하는 방법이라기 보단, 검색모델에 대한 평가지표라고 보는 것이 맞을 듯 한데, 다양한 방식들이 존재한다.
Preciaion & Recall
우선 정확률(Precision)과 재현율(Recall)에 대한 개념부터 한번 훑어보고 가자.
여기에도 잘 정리되어 있다.
정확률(Precision)
검색어와 연관된 적합한 결과 수 / 반환된 모든 검색 결과 수 (검색결과에 없는 것 포함되지 않음)
검색된 문헌 중 검색된 적합 문헌의 비율
정확성에 기인한 결과를 이야기한다
재현율(recall)
검색된 적합 정보 수 / 검색어와 연관된 적합한 결과 수 (검색결과에 없는 것 포함)
적합 문헌 중 검색된 적합 문헌의 비율
완전성에 더 기인한 결과를 이야기한다
따라서 정확률이 높으면 재현율이 낮고, 재현율이 높으면 정확도가 낮을 수 있다.
(반환된 검색결과수가 적으면 정확률은 높지만 재현율은 낮을 수 밖에 없기 때문)
생각해보면.. 명확한 검색어인 상호명, 브랜드명, 그리고 제품명 등은 정확률(Precision)이 제일 중요한 지표일거라 생각이 든다. 반면 탐색적인 검색어인 제품 카테고리, 메뉴 카테고리 등의 상위 키워드들은 재현율(Recall)이 더 중요한 지표가 아닐까 생각이 든다.
물론 둘 사이의 밸런스는 함께 고려해야 하니 쉽지 않아 보이긴 한다.
이후에는 정확률과 재현율을 기반으로 검색모델을 평가할 수 있는 다양한 지표들에 대해 살펴보려고 한다.
MRR(Mean reciprocal rank)
mAP(mean Average Precision)
CG(Cumulative Gain)
DCG (Discounted Cumulative Gain)
nDCG (Normalized Discounted Cumulative Gain)
정리되는대로 링크를 함께 표기할 예정이다.
Reference
https://cheris8.tistory.com/11
https://ko.wikipedia.org/wiki/A/B_%ED%85%8C%EC%8A%A4%ED%8A%B8
https://www.oracle.com/kr/cx/marketing/what-is-ab-testing/
https://medium.com/musinsa-tech/map-416b5f143943
https://en.m.wikipedia.org/wiki/Mean_reciprocal_rank