QU 노트의 검색어 아이퐁 15 케이스 투명 을 이어 쓴다. 검색 결과 상위 10 개 중 하나가 갤럭시 S24 케이스였다고 하자.

이 검색은 잘된 걸까? 나머지 9 개가 맞으니 꽤 잘된 걸까, 아니면 엉뚱한 상품이 하나라도 섞였으니 실패일까? 검색 relevance 평가는 이 질문을 숫자로 바꾸는 일이다.

한눈에 보기

  • 오프라인 평가는 검색어 표본의 결과를 사람이나 LLM 이 하나씩 판정하고 지표로 모은다. 서비스에 내기 전에 바꾼 모델이 나아졌는지 본다.
  • 지표마다 묻는 질문이 다르다. 맞는 결과가 얼마나 위에 있나(NDCG), 맞는 결과를 빠짐없이 가져왔나(Recall), 명백히 틀린 결과가 섞였나(Defect Rate).
  • 나쁜 결과를 찾았으면 QU · Retrieval · Ranking 중 어디서 생겼는지 나눈다. 고칠 팀과 방법이 단계마다 다르다.
  • 오프라인에서 나아진 변경만 A/B 실험으로 실제 사용자에게 확인한다.
flowchart TD
    S["검색어 표본"] --> J["결과 판정
    사람 · LLM judge"]
    J --> M["오프라인 지표
    NDCG · Recall · Defect Rate"]
    M --> D["원인 진단
    QU · Retrieval · Ranking"]
    D --> F["개선"]
    F --> AB["A/B 실험
    클릭 · 구매 · 재검색"]

결과 판정

평가는 실제로 들어온 검색어에서 표본을 뽑는 데서 시작한다. 자주 들어오는 검색어만 뽑으면 잘되는 검색어만 보게 되므로, 드문 검색어도 섞는다.

판정자는 검색어와 결과 하나를 보고 등급을 매긴다.

등급뜻아이폰 15 케이스 투명 에서의 예
정확찾던 그 상품아이폰 15 투명 케이스
부분관련은 있지만 조건 일부가 다름아이폰 15 검은색 케이스
무관찾던 것과 관계없음아이폰 충전기
결함사용자가 보자마자 틀렸다고 느끼는 결과갤럭시 S24 케이스
  • 판정 기준을 글로 정해 두고, 같은 결과를 두 사람이 따로 판정해 얼마나 일치하는지 본다. 일치율이 낮으면 기준부터 고친다.
  • 사람 대신 LLM 에 같은 기준을 주고 판정시키기도 한다(LLM judge). 이때는 사람 판정과 얼마나 일치하는지 먼저 확인한다.

지표

판정을 모으는 방법이 지표마다 다르다.

Precision@k: 상위 k 개 중 맞는 결과의 비율이다.

  • 상위 10 개 중 8 개가 정확·부분이면 0.8 이다.
  • 자세한 정의는 precision.

Recall: 맞는 상품 전체 중 결과에 들어온 비율이다.

  • 맞는 상품이 전부 몇 개인지 알아야 계산할 수 있어서, 주로 Retrieval 단계의 후보 목록을 평가할 때 쓴다.
  • 자세한 정의는 Recall.

NDCG: 맞는 결과가 위에 있을수록 점수가 높다.

  • 1 위가 결함이면 크게 깎이고, 10 위가 결함이면 조금 깎인다.
  • 자세한 정의는 NDCG.

Defect Rate (결함률): 결과 중 「결함」 판정을 받은 비율이다.

  • 순위와 관계없이, 사용자가 보자마자 틀렸다고 느낄 결과가 섞였는지를 센다.
  • 회사마다 무엇을 결함으로 볼지와 분모를 조금씩 다르게 정한다. 아래 두 가지가 흔하다.

결과 단위와 검색어 단위 Defect Rate

검색어 100 개, 검색어마다 상위 10 개, 모두 1,000 개 결과를 판정했다. 그중 30 개가 결함이었다.

결과 단위 Defect Rate 는 결함 결과 수 ÷ 전체 결과 수다.

  • 30 ÷ 1,000 = 3% 다.

검색어 단위 Defect Rate 는 결함이 하나라도 있는 검색어의 비율이다. 같은 결함 30 개라도 어떻게 흩어졌는지에 따라 달라진다.

  • 결함 30 개가 검색어 12 개에 몰렸으면 12% 다.
  • 결함 30 개가 검색어 30 개에 하나씩 흩어졌으면 30% 다.

결과 단위가 같아도 사용자가 겪는 품질은 다를 수 있다.

  • 두 경우 모두 결과 단위로는 3% 다.
  • 하지만 두 번째 경우에는 검색 10 번 중 3 번꼴로 엉뚱한 상품을 본다.
  • 그래서 두 지표를 함께 보고, 검색어 단위가 크게 높으면 결함이 특정 검색어에 몰리지 않고 넓게 퍼진 것이다.

NDCG 가 높아도 Defect Rate 는 따로 본다.

  • 갤럭시 케이스가 10 위에 있으면 NDCG 는 조금만 깎인다.
  • 그래도 사용자가 스크롤하다 그 상품을 보면 「이 검색은 기종도 못 맞춘다」 고 느낀다.
  • NDCG 는 좋은 결과가 위에 있는지를, Defect Rate 는 틀린 결과가 아예 없는지를 본다.

결함의 원인 진단

결함 하나를 찾으면 그 결함이 어느 단계에서 생겼는지 나눈다. 고칠 대상이 단계마다 다르다.

원인 단계확인 방법갤럭시 케이스 예
QU해석(카테고리·속성)이 검색어 뜻과 다른가속성 추출이 기종을 놓쳐 케이스, 투명 만 남았다
Retrieval맞는 상품이 후보 목록에 아예 없는가아이폰 15 투명 케이스가 후보 수천 개 안에 없었다
Ranking맞는 상품이 후보에는 있는데 아래로 밀렸는가후보에는 있었지만, 판매량이 많은 갤럭시 케이스가 더 높은 점수를 받았다
  • 순서대로 확인한다. QU 가 틀렸으면 뒤 단계 결과는 그 해석을 따른 것이므로, 뒤 단계를 먼저 고쳐도 소용이 없다.
  • 원인이 여러 단계에 걸치면 여러 팀이 같이 고쳐야 한다. 예를 들어 기종 속성을 QU 가 뽑아도 Ranking 이 그 속성을 쓰지 않으면 결과가 바뀌지 않는다.

A/B 실험

오프라인 지표는 표본과 판정 기준 안에서만 맞는다. 그래서 오프라인에서 나아진 변경은 사용자 일부에게만 먼저 내보내 실제 행동을 비교한다(AB Test).

자주 보는 행동 지표:

  • 클릭률: 결과를 눌렀는가.
  • 구매 전환율: 검색 뒤 구매까지 갔는가.
  • 재검색률: 결과를 보고 바로 다른 검색어로 다시 쳤는가. 높을수록 첫 결과가 원하는 것이 아니었다는 뜻이다.
  • 결과 없음 비율: 결과가 0 개인 검색이 얼마나 되는가.

오프라인 지표와 A/B 결과가 어긋나면 판정 기준을 다시 본다. 판정자가 「정확」 이라 한 결과를 사용자가 안 누른다면, 기준이 사용자가 실제로 원하는 것과 다른 것이다.

Related