# [[TF-IDF 및 BM25]] ## πŸ“Œ Brief Summary TF-IDF(단어 λΉˆλ„-μ—­λ¬Έμ„œ λΉˆλ„)와 BM25λŠ” 전톡적인 ν‚€μ›Œλ“œ κ²€μƒ‰μ—μ„œ 검색 관련성을 κ³„μ‚°ν•˜κ³  검색 결과의 μˆœμœ„λ₯Ό λ§€κΈ°κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€ [1, 2]. TF-IDFλŠ” νŠΉμ • 단어가 λ¬Έμ„œ λ‚΄μ—μ„œ 쓰인 λΉˆλ„μ™€ 전체 λ¬Έμ„œ μ§‘ν•©μ—μ„œ λ‚˜νƒ€λ‚˜λŠ” λΉˆλ„λ₯Ό λΉ„κ΅ν•˜μ—¬ λ‹¨μ–΄μ˜ μ€‘μš”λ„λ₯Ό μΈ‘μ •ν•˜λ©°, BM25λŠ” 이 κ°œλ…μ„ 기반으둜 널리 μ‚¬μš©λ˜λŠ” κ°€μž₯ λŒ€μ€‘μ μΈ λͺ¨λΈμž…λ‹ˆλ‹€ [3, 4]. 이듀은 역색인(Inverted index)κ³Ό κ²°ν•©ν•˜μ—¬ μš©μ–΄μ˜ λΉˆλ„μ™€ λ¬Έμ„œ ꡬ쑰λ₯Ό λ°”νƒ•μœΌλ‘œ 검색 결과의 μˆœμœ„λ₯Ό κ²°μ •ν•˜λŠ” 핡심 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€ [2]. ## πŸ“– Core Content * **μž‘λ™ 원리 및 κ°œλ…**: TF-IDFλŠ” λ¬Έμ„œ λ‚΄μ—μ„œ 단어가 μ–Όλ§ˆλ‚˜ 자주 μ‚¬μš©λ˜λŠ”μ§€λ₯Ό μΈ‘μ •ν•˜λŠ” λ™μ‹œμ—, μ—­λ¬Έμ„œ λΉˆλ„(Inverse document frequency)λ₯Ό 톡해 ν•΄λ‹Ή 단어가 전체 λ§λ­‰μΉ˜(Corpus)μ—μ„œ μ–Όλ§ˆλ‚˜ ν”ν•˜κ±°λ‚˜ ν¬κ·€ν•œμ§€λ₯Ό λΉ„κ΅ν•˜μ—¬ λ‹¨μ–΄μ˜ μ€‘μš”λ„λ₯Ό μ‘°μ •ν•©λ‹ˆλ‹€ [4]. μ΄λŠ” 과거의 "Bag of words" 방식을 ν•œμΈ΅ 더 κ°œμ„ ν•œ μ ‘κ·Όλ²•μž…λ‹ˆλ‹€ [4]. BM25λŠ” μ΄λŸ¬ν•œ TF-IDF의 κ°œλ…μ„ λ°”νƒ•μœΌλ‘œ 결과의 μˆœμœ„λ₯Ό λ§€κΈ°λŠ” λŒ€ν‘œμ μΈ ν…μŠ€νŠΈ μœ μ‚¬λ„ μΈ‘μ • λͺ¨λΈμž…λ‹ˆλ‹€ [3, 5]. * **전톡적 κ²€μƒ‰μ—μ„œμ˜ μ—­ν• **: 전톡적인 ν‚€μ›Œλ“œ 검색 엔진은 역색인을 톡해 검색어와 λ¬Έμ„œλ₯Ό μ—°κ²°ν•˜λ©°, μ΄λ•Œ TF-IDFλ‚˜ BM25 μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ λ‹¨μ–΄μ˜ λΉˆλ„μ™€ λ¬Έμ„œ ꡬ쑰λ₯Ό κΈ°μ€€μœΌλ‘œ 결과의 μˆœμœ„λ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€ [2]. μ΄λŠ” 벑터 κ²€μƒ‰μ—μ„œ 코사인 μœ μ‚¬λ„λ‚˜ L2 거리 등을 μ‚¬μš©ν•˜λŠ” 것과 λŒ€λΉ„λ˜λŠ” 전톡적인 ν…μŠ€νŠΈ 일치 기반의 κ΄€λ ¨μ„± 계산 λ°©μ‹μž…λ‹ˆλ‹€ [1]. * **μ΅œμ‹  검색 μ‹œμŠ€ν…œ(LTR 및 RAG)μ—μ„œμ˜ ν™œμš©**: 기계 ν•™μŠ΅μ„ ν™œμš©ν•˜μ—¬ 검색 μˆœμœ„λ₯Ό μ΅œμ ν™”ν•˜λŠ” LTR(Learning to Rank) μ‹œμŠ€ν…œμ—μ„œ, TF-IDF와 BM25 μ μˆ˜λŠ” νŠΉμ • μ§ˆμ˜μ— λŒ€ν•œ λ¬Έμ„œμ˜ λ¬Έλ§₯적 정보λ₯Ό μ œκ³΅ν•˜λŠ” '질의-λ¬Έμ„œ ν”Όμ²˜(Query-document features)'둜 μ‚¬μš©λ©λ‹ˆλ‹€ [6, 7]. λ˜ν•œ μ΅œμ‹ μ˜ 검색 증강 생성(RAG) ν™˜κ²½μ—μ„œλ„ ν•˜μ΄λΈŒλ¦¬λ“œ RAG(Hybrid RAG) μ•„ν‚€ν…μ²˜λ₯Ό ꡬ성할 λ•Œ, λ°€μ§‘ 벑터 검색(Dense vector search)의 의미둠적 이해λ ₯κ³Ό BM25 같은 ν‚€μ›Œλ“œ 기반 κ²€μƒ‰μ˜ μ •ν™•ν•œ 일치(Exact-match) 검색 λŠ₯λ ₯을 κ²°ν•©ν•˜μ—¬ 보닀 μ‹ λ’°ν•  수 μžˆλŠ” κ²°κ³Όλ₯Ό λ„μΆœν•˜λŠ” 데 적극적으둜 ν™œμš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [8]. ## βš–οΈ Trade-offs & Caveats TF-IDF와 BM25λŠ” ν‚€μ›Œλ“œμ˜ μ •ν™•ν•œ 일치(Exact match)λ₯Ό 기반으둜 μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— λ‹¨μˆœν•˜κ³  λΉ λ₯Έ 쿼리 μ²˜λ¦¬μ—λŠ” 맀우 νš¨μœ¨μ μ΄μ§€λ§Œ, μ–Έμ–΄μ˜ λͺ¨ν˜Έμ„±μ„ μ²˜λ¦¬ν•˜κ±°λ‚˜ 단어 κ°„μ˜ 의미둠적 관계λ₯Ό μ΄ν•΄ν•˜λŠ” λ°λŠ” 근본적인 ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€ [2, 9]. 예λ₯Ό λ“€μ–΄, λ™μ˜μ–΄ μ²˜λ¦¬κ°€ λͺ…μ‹œμ μœΌλ‘œ λ˜μ–΄ μžˆμ§€ μ•Šλ‹€λ©΄ "dog"λ₯Ό 검색할 λ•Œ "canine"μ΄λ‚˜ "puppy"κ°€ ν¬ν•¨λœ κ΄€λ ¨ λ¬Έμ„œλ₯Ό λˆ„λ½ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [9]. λ”°λΌμ„œ μ˜λ―Έμ™€ λ¬Έλ§₯ νŒŒμ•…μ΄ μ€‘μš”ν•œ λΉ„μ •ν˜• λ°μ΄ν„°λ‚˜ μžμ—°μ–΄ κ²€μƒ‰μ—μ„œλŠ” ν•œκ³„κ°€ λšœλ ·ν•˜λ©°, 이 λ•Œλ¬Έμ— μ΅œκ·Όμ—λŠ” μ΄λŸ¬ν•œ 단점을 λ³΄μ™„ν•˜κ³  정확도λ₯Ό 높이기 μœ„ν•΄ 의미둠적 벑터 검색을 ν•¨κ»˜ μ‚¬μš©ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ 접근법(Hybrid approach)이 μ„ ν˜Έλ˜λŠ” μΆ”μ„Έμž…λ‹ˆλ‹€ [8, 10, 11]. --- *Last updated: 2026-05-04*