# [[Learning to Rank (LTR)]] ## ๐Ÿ“Œ Brief Summary Learning to Rank(LTR)์€ ๊ธฐ๊ณ„ ํ•™์Šต(Machine Learning) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ์ •๋ณด ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ๋žญํ‚น(์ˆœ์œ„ ์ง€์ •) ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค [1, 2]. ๊ณผ๊ฑฐ ์ˆ˜์ž‘์—…์œผ๋กœ ํŠœ๋‹ํ•˜๋˜ ๋žญํ‚น ํ•จ์ˆ˜๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ, ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•ด ์‚ฌ์šฉ์ž ์งˆ์˜์™€ ๋ฌธ์„œ ๊ฐ„์˜ ๊ด€๋ จ์„ฑ ์ ์ˆ˜๋ฅผ ์ž๋™ ๊ณ„์‚ฐํ•œ๋‹ค [3]. ์ผ๋ฐ˜์ ์œผ๋กœ ๋น ๋ฅด๊ณ  ๋‹จ์ˆœํ•œ 1์ฐจ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ถ”์ถœํ•œ ํ›„๋ณด ๋ฌธ์„œ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ 2์ฐจ ๋‹จ๊ณ„์—์„œ ์ˆœ์œ„๋ฅผ ์ •๊ตํ•˜๊ฒŒ ์žฌ์กฐ์ •(Re-ranking)ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ์ •ํ™•์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•œ๋‹ค [1, 4-6]. ## ๐Ÿ“– Core Content **1. LTR์˜ ์ž‘๋™ ์•„ํ‚คํ…์ฒ˜ (Two-phase Scheme)** ์›น ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„์˜ ๋น ๋ฅธ ์‘๋‹ต์ด ์š”๊ตฌ๋˜๋ฏ€๋กœ, ์ „์ฒด ๋ฌธ์„œ์— ๋Œ€ํ•ด ๋ณต์žกํ•œ LTR ๋ชจ๋ธ์„ ์ง์ ‘ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค [4]. ๋”ฐ๋ผ์„œ LTR์€ ์ฃผ๋กœ '2๋‹จ๊ณ„ ๊ฒ€์ƒ‰' ๊ตฌ์กฐ์—์„œ ์ž‘๋™ํ•œ๋‹ค [4, 5]. ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ๋Š” ๋ฒกํ„ฐ ๊ณต๊ฐ„ ๋ชจ๋ธ์ด๋‚˜ BM25์™€ ๊ฐ™์€ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ์˜ ์ž ์žฌ์  ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ 1์ฐจ๋กœ ์ถ”๋ ค๋‚ด๊ณ , ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ LTR ๋ชจ๋ธ์ด ์ด ํ›„๋ณด ๋ฌธ์„œ๋“ค์˜ ์ตœ์ข… ์ˆœ์œ„๋ฅผ ์žฌ์กฐ์ •(Re-rank)ํ•œ๋‹ค [1, 4, 5]. **2. ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ: ํŒ๋‹จ ๋ฆฌ์ŠคํŠธ (Judgment List)** LTR ๋ชจ๋ธ์˜ ํ•™์Šต์„ ์œ„ํ•ด์„œ๋Š” ์งˆ์˜(Query)์™€ ๋ฌธ์„œ(Document)์˜ ์Œ, ๊ทธ๋ฆฌ๊ณ  ์ด๋“ค ๊ฐ„์˜ ๊ด€๋ จ์„ฑ ๋“ฑ๊ธ‰(์˜ˆ: ์ด์ง„ ํŒ๋ณ„ ๋˜๋Š” 0~4์  ์ฒ™๋„)์ด ํฌํ•จ๋œ 'ํŒ๋‹จ ๋ฆฌ์ŠคํŠธ'๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค [2, 7]. ์ด ๋ฆฌ์ŠคํŠธ๋Š” ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ‰๊ฐ€ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์‹ค๋ฌด์—์„œ๋Š” ์ฃผ๋กœ ํด๋ฆญ๋ฅ (CTR), ์ฒด๋ฅ˜ ์‹œ๊ฐ„, ๊ตฌ๋งค ๋‚ด์—ญ ๋“ฑ ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„ํ•˜๋Š” 'ํด๋ฆญ ๋ชจ๋ธ๋ง'์„ ํ†ตํ•ด ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค [3, 7-9]. ๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ ์œ ํ˜•์— ๋Œ€ํ•ด ๊ธ์ •์  ์˜ˆ์‹œ์™€ ๋ถ€์ •์  ์˜ˆ์‹œ์˜ ๊ท ํ˜•์„ ๋งž์ถ˜ ๊ณ ํ’ˆ์งˆ์˜ ํŒ๋‹จ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด LTR ๋ชจ๋ธ ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ์ด๋‹ค [10]. **3. ๋žญํ‚น์„ ์œ„ํ•œ ํŠน์ง• ์ถ”์ถœ (Feature Extraction)** ๋‹จ์ˆœํ•œ ์งˆ์˜-๋ฌธ์„œ ์Œ๋งŒ์œผ๋กœ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ค๊ธฐ ๋ถ€์กฑํ•˜๋ฏ€๋กœ, ๊ฒ€์ƒ‰ ๊ด€๋ จ์„ฑ์„ ๊ฒฐ์ •์ง“๋Š” ๋‹ค์–‘ํ•œ ์†์„ฑ(Feature)๋“ค์„ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค [11, 12]. * **๋ฌธ์„œ ํŠน์ง• (Query-independent):** ์งˆ์˜์™€ ๋ฌด๊ด€ํ•œ ๋ฌธ์„œ ๊ณ ์œ ์˜ ์†์„ฑ์œผ๋กœ, PageRank, ๋ฌธ์„œ ๊ธธ์ด, ์ œํ’ˆ ๊ฐ€๊ฒฉ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค [11, 13]. * **์งˆ์˜ ํŠน์ง• (Query-level):** ๊ฒ€์ƒ‰์–ด์˜ ๋‹จ์–ด ์ˆ˜ ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์งˆ์˜ ์ž์ฒด์—์„œ ๊ณ„์‚ฐ๋˜๋Š” ํŠน์„ฑ์ด๋‹ค [11, 13]. * **์งˆ์˜-๋ฌธ์„œ ํŠน์ง• (Query-dependent):** ํŠน์ • ์งˆ์˜์–ด์— ๋Œ€ํ•œ ๋ฌธ์„œ์˜ TF-IDF ์ ์ˆ˜, BM25 ์ ์ˆ˜ ๋“ฑ ์งˆ์˜์™€ ๋ฌธ์„œ ์–‘์ž ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํŠน์„ฑ์ด๋‹ค [11, 13]. **4. LTR์˜ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์ ‘๊ทผ๋ฒ•** LTR ๋ชจ๋ธ์€ ์ž…๋ ฅ ๊ณต๊ฐ„๊ณผ ์†์‹ค ํ•จ์ˆ˜(Loss Function)์˜ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค [3, 14]. * **Pointwise (์ ๋ณ„ ์ ‘๊ทผ๋ฒ•):** ๋‹จ์ผ ์งˆ์˜-๋ฌธ์„œ ์Œ์˜ ์ ์ˆ˜๋ฅผ ์ง์ ‘ ์˜ˆ์ธกํ•˜๋Š” ํšŒ๊ท€ ๋˜๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋กœ ์ ‘๊ทผํ•œ๋‹ค. ๊ตฌ์กฐ๊ฐ€ ์ง๊ด€์ ์ด์ง€๋งŒ ๋ฌธ์„œ ๊ฐ„์˜ ์ƒ๋Œ€์  ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค [3, 15]. * **Pairwise (์Œ๋ณ„ ์ ‘๊ทผ๋ฒ•):** ๋‘ ๋ฌธ์„œ๋ฅผ ํ•œ ์Œ์œผ๋กœ ๋ฌถ์–ด, ์–ด๋–ค ๋ฌธ์„œ์˜ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์•„์•ผ ํ•˜๋Š”์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋กœ ์ ‘๊ทผํ•œ๋‹ค. ์ˆœ์œ„์˜ ์—ญ์ „ ํšŸ์ˆ˜์™€ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šตํ•˜๋ฉฐ RankNet ๋“ฑ์ด ๋Œ€ํ‘œ์ ์ด๋‹ค [3, 16, 17]. * **Listwise (๋ชฉ๋ก๋ณ„ ์ ‘๊ทผ๋ฒ•):** ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ ์ „์ฒด์˜ ์ˆœ์œ„๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. nDCG, MAP์™€ ๊ฐ™์€ ์ •๋ณด ๊ฒ€์ƒ‰ ํ‰๊ฐ€ ์ง€ํ‘œ๋ฅผ ์ง์ ‘์ ์ธ ์ตœ์ ํ™” ๋ชฉํ‘œ๋กœ ์‚ผ์•„ ๊ฐ€์žฅ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค [3, 18]. ๋Œ€ํ‘œ์ ์œผ๋กœ GBDT(Gradient Boosted Decision Trees) ๊ธฐ๋ฐ˜์˜ LambdaMART ๋ชจ๋ธ์ด ๋‚ฎ์€ ์ถ”๋ก  ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์œผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋œ๋‹ค [18, 19]. ## โš–๏ธ Trade-offs & Caveats * **์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค ๋ฐ ํ›ˆ๋ จ ์‹œ๊ฐ„ ์ฆ๊ฐ€:** LTR ๋ชจ๋ธ์„ ์ •๊ตํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ”ผ์ฒ˜(Feature)๋ฅผ ์ถ”๊ฐ€ํ• ์ˆ˜๋ก ๋ถ€์ŠคํŒ… ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ๊ฐ€ ๊นŠ์–ด์ง€๊ณ  ๋Š˜์–ด๋‚œ๋‹ค [20]. ์ด๋Š” ๋ชจ๋ธ์ด ์ˆ˜๋ ด(Convergence)ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ›ˆ๋ จ ์‹œ๊ฐ„๊ณผ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐ˜๋Œ€ ๊ธ‰๋ถ€๋ฅผ ๋‚ณ๋Š”๋‹ค [20]. ๋˜ํ•œ, ๋ชจ๋ธ์˜ ์ถ”๋ก (Inference) ๋น„์šฉ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ์ ์šฉํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฐ˜๋“œ์‹œ 1์ฐจ ๊ฒ€์ƒ‰ ๋ชจ๋ธ์„ ๋ณ‘ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์ƒ์˜ ์ œ์•ฝ์ด ์กด์žฌํ•œ๋‹ค [4, 5]. * **๋ฐ์ดํ„ฐ ์˜์กด์„ฑ๊ณผ ์ฝœ๋“œ ์Šคํƒ€ํŠธ(Cold Start) ๋ฌธ์ œ:** LTR์€ ๋Œ€๋Ÿ‰์˜ ์‚ฌ์šฉ์ž ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ ๋ฐ ํŒ๋‹จ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค [7, 9]. ์‚ฌ์šฉ์ž์˜ ํ–‰๋™ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ˆ˜์ง‘๋˜์ง€ ์•Š์€ ์ดˆ๊ธฐ ๋‹จ๊ณ„๋‚˜ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๊ฐ€ ์ถ”๊ฐ€๋œ ์งํ›„์—๋Š” ์ •ํ™•ํ•œ ์ˆœ์œ„ ์˜ˆ์ธก์— ํ•„์š”ํ•œ ๊ทผ๊ฑฐ๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ์ด ์ €ํ•˜๋˜๋Š” '์ฝœ๋“œ ์Šคํƒ€ํŠธ' ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ฒŒ ๋œ๋‹ค [9, 21]. * **ํ–‰๋™ ๋ฐ์ดํ„ฐ ํŽธํ–ฅ(Bias)์˜ ๋‚ด์žฌํ™” ์œ„ํ—˜:** ์‚ฌ์šฉ์ž ํด๋ฆญ ๋กœ๊ทธ๋ฅผ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋กœ ์‚ผ์„ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ํŽธํ–ฅ์ด ๋ชจ๋ธ์— ์Šค๋ฉฐ๋“ค ์œ„ํ—˜์ด ํฌ๋‹ค [9]. ํŠนํžˆ, ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ƒ๋‹จ์— ์œ„์น˜ํ•œ ๋ฌธ์„œ์ผ์ˆ˜๋ก ๋‚ด์šฉ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋” ๋งŽ์ด ํด๋ฆญ๋˜๋Š” ๊ฒฝํ–ฅ(Position Bias / Selection Bias)์ด ์กด์žฌํ•˜๋ฉฐ, ์ด๋ฅผ ๋ณด์ •ํ•˜์ง€ ์•Š์œผ๋ฉด LTR ๋ชจ๋ธ์€ ๋‹จ์ˆœํžˆ ๊ธฐ์กด ๊ฒ€์ƒ‰ ์—”์ง„์˜ ํŽธํ–ฅ์„ ๋ฐ˜๋ณต ํ•™์Šตํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ๊ฒŒ ๋œ๋‹ค [8, 9]. * **๊ณผ์ ํ•ฉ(Overfitting) ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ:** ์ˆ˜์ง‘๋œ ํŒ๋‹จ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํŠน์ • ์ฟผ๋ฆฌ ์œ ํ˜•์— ํŽธ์ค‘๋˜๊ฑฐ๋‚˜ ๊ธ์ •/๋ถ€์ • ์˜ˆ์‹œ์˜ ๋ถˆ๊ท ํ˜•์ด ์‹ฌํ•  ๊ฒฝ์šฐ, ๋ชจ๋ธ์ด ํŠน์ • ํŒจํ„ด์—๋งŒ ๊ณผ์ ํ•ฉ๋˜์–ด ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ ์งˆ์˜์— ๋Œ€ํ•ด ํšจ๊ณผ์ ์œผ๋กœ ๋Œ€์‘(์ผ๋ฐ˜ํ™”)ํ•˜์ง€ ๋ชปํ•  ์ œ์•ฝ์ด ์žˆ๋‹ค [10]. --- *Last updated: 2026-05-04*