# [[Learning to Rank]]

## 📌 Brief Summary
Learning to Rank (LTR) 또는 기계 학습 기반 랭킹(MLR)은 정보 검색 및 추천 시스템에서 문서의 순위를 매기는 랭킹 모델을 구축하기 위해 기계 학습(주로 지도 학습, 반지도 학습, 강화 학습)을 적용하는 기술이다 [1]. 이는 기존에 수동으로 튜닝하던 검색 엔진의 랭킹 함수를 데이터 기반의 자동화된 모델로 대체하며, 1단계의 빠르고 단순한 검색 알고리즘으로 추출된 문서들을 2단계에서 더욱 정교하게 재정렬(Re-ranking)하는 데 핵심적으로 사용된다 [2-5]. 검색어와 문서의 특성뿐만 아니라 사용자 행동 데이터 등 다양한 피처(Feature)를 학습함으로써, 검색 결과의 관련성과 맞춤형 개인화 수준을 극대화한다 [6-8].

## 📖 Core Content

* **작동 방식 및 아키텍처:** LTR 모델은 수 밀리초 내에 응답해야 하는 웹 검색의 속도 제약 때문에 보통 2단계 접근법(Two-phase scheme)으로 구현된다 [3, 4]. 1단계에서는 벡터 공간 모델이나 BM25 같은 가벼운 알고리즘을 사용해 잠재적으로 관련성이 있는 소수의 상위(Top-k) 문서를 빠르게 검색한다 [3, 4]. 이후 2단계에서 연산 비용이 높고 정교한 기계 학습 기반의 LTR 모델이 해당 문서들의 순위를 재평가하고 재정렬(Re-ranking)한다 [2-4].
* **학습 데이터 (Judgment List):** LTR 모델은 질의(Query)와 문서(Document)의 쌍, 그리고 이들 간의 관련성 등급(예: 이진 판별 또는 0~4점 척도)으로 구성된 '판단 리스트(Judgment list)'를 바탕으로 학습된다 [5, 9]. 이러한 데이터는 사람이 직접 평가하여 레이블링할 수도 있지만, 대규모 시스템에서는 클릭률(CTR), 체류 시간, 전환 등 사용자 행동 데이터를 수집 및 분석하는 '클릭 모델링'을 통해 자동으로 구축된다 [5, 10-12].
* **피처 추출 (Feature Extraction):** 성공적인 랭킹을 위해 LTR은 다양한 카테고리의 피처를 조합하여 활용한다 [6].
  * *정적/문서 피처(Query-independent):* 쿼리에 관계없이 문서 자체에 종속된 속성(예: 문서 길이, PageRank 점수, 상품 가격) [6, 13].
  * *동적 피처(Query-dependent):* 쿼리와 문서의 내용이 결합된 속성(예: TF-IDF, BM25 점수) [6, 13].
  * *쿼리 피처(Query-level):* 사용자가 입력한 쿼리 자체의 속성(예: 쿼리의 단어 수) [6, 13].
  * *사용자/컨텍스트 피처:* 개인화된 검색을 지원하기 위해 활용되는 사용자의 위치, 과거 검색 이력, 선호 장르 등 [14, 15].
* **주요 학습 접근법 (Approaches):** 모델의 입력, 출력 및 손실 함수 구조에 따라 세 가지로 나뉜다 [16].
  * *Pointwise (포인트와이즈):* 개별 문서의 관련성 점수를 회귀나 분류 문제로 간주하여 직접 예측한다 [5, 17]. 구현이 간단하지만 문서 간의 상대적인 순위를 무시한다는 단점이 있다 [5, 17].
  * *Pairwise (페어와이즈):* 두 문서의 쌍을 비교해 어떤 것이 더 나은 랭킹을 가져야 하는지 판별하는 이진 분류 방식으로 접근한다 [5, 18, 19]. RankNet, LambdaRank, LambdaMART 모델 등이 이에 속한다 [5, 19, 20].
  * *Listwise (리스트와이즈):* 검색 결과 리스트 전체의 순위를 한꺼번에 최적화한다 [5, 21]. nDCG(Normalized Discounted Cumulative Gain)나 MAP와 같은 실제 랭킹 평가지표를 직접 최적화 목표로 삼으며, ListNet이나 AdaRank 등이 포함된다 [5, 20, 21].
* **주요 모델 및 평가지표:** Elasticsearch를 비롯한 실제 기업 환경에서는 낮은 추론 지연 시간과 강력한 랭킹 성능을 제공하는 XGBoost 기반의 그래디언트 부스팅 결정 트리(GBDT)인 LambdaMART 모델이 널리 사용된다 [22, 23]. 랭킹 품질을 평가하기 위해서는 MAP, DCG, NDCG, ERR(Expected Reciprocal Rank) 등 다양한 평가지표가 활용된다 [24, 25].

## ⚖️ Trade-offs & Caveats

* **연산 비용 및 리소스 증가 제약:** 개인화나 관련성 향상을 위해 LTR 모델에 더 많은 피처(Feature)를 추가할수록, 훈련 시 트리의 노드와 깊이가 기하급수적으로 증가하여 수렴을 위한 연산 시간과 컴퓨팅 리소스가 막대하게 소모된다 [26]. 또한, 모델 자체가 무겁기 때문에 수백만 개의 전체 문서 코퍼스를 대상으로 실시간 평가를 진행하는 것은 불가능에 가까우며, 반드시 단순 검색 이후 제한된 수의 문서를 대상으로만 실행해야 하는 구조적 제약을 지닌다 [3, 4].
* **개인화의 부작용 및 과적합(Overfitting) 위험:** 다양한 질의 유형의 균형을 맞추지 않은 판단 리스트로 학습하면 특정 질의에 모델이 과적합되어 범용적인 검색 성능이 저하된다 [10]. 특히 개인화 최적화를 위해 사용자의 과거 행동 데이터에 지나치게 큰 가중치를 부여할 경우, 사용자의 현재 명확한 검색 의도를 무시하고 과거 취향의 결과만 우선적으로 보여주는 부작용을 낳아 불만을 초래할 수 있다 [27].
* **편향(Bias) 및 콜드 스타트(Cold Start) 문제:** 행동 데이터(클릭 로그 등)로 학습 데이터를 자동 생성할 경우, 사용자가 상위에 노출된 결과일수록 실제 관련성과 무관하게 더 많이 클릭하는 경향인 '위치 편향(Position bias)'이 모델에 학습될 수 있다 [11, 15]. 또한, 신규 사용자이거나 과거 이력이 부족한 롱테일 문서들의 경우, 피처를 생성할 만한 데이터가 충분치 않아 적절한 랭킹을 매길 수 없는 콜드 스타트 문제에 직면하게 된다 [12].
* **적대적 공격(Adversarial Attacks)에 대한 보안 취약성:** 최근 신경망 기반의 랭킹 알고리즘들은 인간이 인지하기 힘든 미세한 데이터 변형이나 노이즈가 주입될 경우, 문서의 랭킹 순위가 임의로 조작되는 적대적 공격에 취약하다는 점이 밝혀졌다 [28, 29]. 이는 검색 시스템의 신뢰성을 훼손할 수 있으므로 강건성(Robustness) 향상을 위한 추가적인 방어 설계가 요구된다 [30].

---
*Last updated: 2026-05-04*