Tech News

제목똘똘한 검색 알고리즘을 만들기 위한 평가 방법2021-04-07 01:29
작성자 Level 10

Building Smarter Search Products: 3 Steps for Evaluating Search Algorithms — Data Science & Engineering (2021) (shopify.engineering) 


- Shopify가 상품검색에 이용했던 알고리즘을 전환하면서 정말 검색 결과가 좋아졌는지를 평가한 방법

ㅤ→ 기존 Vanilla PageRank : 검색에 기반한 PV로 순위 계산

ㅤ→ 신규 Query-specific PageRank : 검색어에 대한 클릭 히스토리 기반으로 가중치 계산


- 3단계로 평가

ㅤ1. 데이터 수집 : Kafka 이벤트와 Annotated 데이터 셋

ㅤ2. 오프라인 지표 평가 : 기존 검색 쿼리를 가지고 새 알고리즘을 평가

ㅤㅤ→ Mean Average Precision(MAP) : 쿼리가 반환하는 상위 N개의 결과에 관련없는 문서들이 포함될 경우 페널티를 부여

ㅤㅤ→ Normalized Discounted Cumulative Gain(NDCG) : MAP 계산을 위한 컷오프 점수를 계산, 좋은 점수(Great/Good) 아이템의 순서가 낮을경우 페널티를 부여

ㅤ3. 온라인 지표 평가 : 서치 로그를 이용해서 실제 검색이 어떻게 동작하는지 평가

ㅤㅤ→ 성공을 결정하는 지표 : 사용자가 얼마나 자주 검색을 하고, 원하는 결과를 찾기위해 얼나마 스크롤하고, 문제 해결을 위해 지원팀에 연락하는지 등

ㅤㅤㅤ→ Click-through rate (CTR): 검색결과 클릭율. 높아야 좋음

ㅤㅤㅤ→ Average rank: 클릭한 결과의 평균 순위. 낮아야 좋음

ㅤㅤㅤ→ Abandonment: 원하는 결과를 찾지 못한 포기율, 물론 봇/스팸 등의 영향도 있긴 하지만, 적당히 낮으면 좋음

ㅤㅤ→ Kafka 를 이용해서 수집

ㅤㅤ→ 기존 방식과 A/B 테스트 진행

- 결과적으로 새 검색 알고리즘이 기존 방식을 상회해서 대체를 진행


- 키포인트

ㅤ→ 고품질의 신뢰할수 있는 레이블된 데이터셋이 평가의 핵심

ㅤ→ 온라인 지표들은 사용자 행동에 대한 훌륭한 인사이트를 제공

ㅤ→ 오프라인 지표들은 새로운 알고리즘을 빠르게 반복 테스트하고 위험을 줄이는 걸 도와줌

G
M
T
Text-to-speech function is limited to 200 characters
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)