RAG (7) - Hybrid Search

이도연·2026년 8월 10일

AI 이론 공부해보기

목록 보기
74/76

좋은 아침입니다.

문서를 Vector의 의미만으로 검색하면 제품명, 코드, 고유명사처럼 정확한 단어가 중요한 질문에서 원하는 문서를 놓칠 수 있습니다.

반대로 단어가 정확히 일치하는지만 확인하면 같은 의미를 다른 표현으로 작성한 문서를 찾기 어렵습니다.

이번 글에서는 Keyword Search와 Vector Search를 함께 사용하는 Hybrid Search에 대해 알아보겠습니다.


Keyword Search

Keyword Search는 사용자의 질문에 포함된 단어나 문자열을 기준으로 문서를 검색하는 방법입니다.

예를 들어 사용자가 다음과 같이 질문했다고 가정하겠습니다.

질문 : "ERR_CONNECTION_REFUSED 오류 해결 방법"

Keyword Search는 문서에서 ERR_CONNECTION_REFUSED와 같이 정확하게 일치하는 단어를 찾는 데 강점이 있습니다.

대표적으로 BM25와 같은 알고리즘을 사용할 수 있습니다.

BM25는 단어가 문서에 얼마나 자주 등장하는지와 해당 단어가 전체 문서에서 얼마나 희귀한지를 고려하여 문서의 점수를 계산합니다.

질문 -> Keyword Search -> 질문의 단어가 포함된 문서 검색

고유명사, 제품명, 오류 코드와 같이 정확한 단어 자체가 중요한 검색에서 효과적입니다.


Keyword Search의 한계

Keyword Search는 질문과 문서가 비슷한 단어를 사용해야 검색하기 쉽습니다.

예를 들어 다음 두 문장을 살펴보겠습니다.

질문 : "휴가를 어떻게 신청하나요?"

문서 : "연차는 사내 시스템을 통해 신청할 수 있습니다."

휴가연차는 의미적으로 비슷하지만 서로 다른 단어입니다.

단어의 일치만을 기준으로 검색하면 해당 문서를 낮게 평가하거나 검색하지 못할 수 있습니다.
Keyword Search는 단어의 정확한 일치에는 강하지만 문장의 의미를 이해하지는 못합니다.


Vector Search

Vector Search는 질문과 문서를 Embedding Vector로 변환한 뒤 의미적 유사도를 기준으로 문서를 검색합니다.

1. 질문 : "휴가를 어떻게 신청하나요?"

        ↓

2. Embedding

        ↓

3. Vector Search

        ↓

4. "연차는 사내 시스템을 통해 신청할 수 있습니다."

사용한 단어가 달라도 의미가 비슷하면 관련 문서를 찾을 수 있습니다.
하지만 항상 Vector Search가 좋은 것은 아닙니다.

질문 : "RTX 5090 드라이버 설치 방법"

이러한 질문에서는 RTX 5090이라는 정확한 제품명이 매우 중요합니다.

Embedding 과정에서 전체적인 문장의 의미가 강조되면 RTX 4090, RTX 5080과 같은 비슷한 내용의 문서도 높은 유사도를 가질 수 있습니다.


Hybrid Search

Hybrid Search는 Keyword Search와 Vector Search의 검색 결과를 함께 사용하는 방법입니다.

https://docs.vectorchord.ai/vectorchord/use-case/hybrid-search.html

Keyword Search는 정확한 단어가 포함된 문서를 찾고, Vector Search는 의미적으로 비슷한 문서를 찾습니다.

두 방법을 함께 사용하면 각각의 검색 방식이 놓칠 수 있는 문서를 보완할 수 있습니다.

예를 들어 다음과 같은 질문이 있다고 가정하겠습니다.

"GPT-5 API의 Rate Limit을 확인하고 싶습니다."

Keyword Search는 GPT-5, Rate Limit이라는 정확한 단어가 포함된 문서를 잘 찾을 수 있습니다.

Vector Search는 다음과 같이 표현이 다른 문서도 찾을 수 있습니다.

"모델별 API 요청 제한 정책"

Hybrid Search는 두 검색 결과를 함께 사용하여 더 다양한 후보를 확보합니다.


Hybrid Search의 동작 방식

Hybrid Search의 기본적인 과정은 다음과 같습니다.

1. 사용자의 질문 입력

2. Keyword Search 수행

3. Vector Search 수행

4. 두 검색 결과의 점수 또는 순위 결합

5. 최종 문서 순위 결정

6. 상위 문서를 LLM에 전달

예를 들어 Keyword Search와 Vector Search의 결과가 다음과 같다고 가정하겠습니다.

Keyword Search : 
1. 문서 A
2. 문서 C
3. 문서 B


Vector Search : 
1. 문서 B
2. 문서 D
3. 문서 A

Hybrid Search는 두 결과를 결합하여 새로운 순위를 생성합니다.

최종 결과

1. 문서 A
2. 문서 B
3. 문서 C
4. 문서 D

두 검색 결과를 어떻게 결합하는지에 따라 최종 순위는 달라질 수 있습니다.


Weighted Score

가장 단순한 방법은 Keyword Search와 Vector Search의 점수에 각각 가중치를 부여하는 것입니다.

Score=αScorekeyword+(1α)ScorevectorScore = \alpha \cdot Score_{keyword} + (1-\alpha) \cdot Score_{vector}

α\alpha 값이 클수록 Keyword Search의 결과를 더 중요하게 사용합니다.

α = 0.8
-> Keyword Search의 영향이 큼


α = 0.2
-> Vector Search의 영향이 큼

하지만 Keyword Search와 Vector Search가 사용하는 점수의 범위가 서로 다를 수 있습니다.

따라서 실제로 결합하기 전 점수를 정규화하는 과정이 필요할 수 있습니다.


Reciprocal Rank Fusion(RRF)

검색 결과의 점수 대신 순위를 이용하여 결합하는 방법도 있습니다.

대표적인 방법이 Reciprocal Rank Fusion(RRF)입니다.

RRF는 여러 검색 결과에서 높은 순위에 등장한 문서에 더 높은 점수를 부여합니다.

RRF(d)=rR1k+rankr(d)RRF(d) = \sum_{r \in R} \frac{1}{k + rank_r(d)}

여기서 rank는 각 검색 결과에서 문서가 위치한 순위를 의미합니다.

예를 들어 특정 문서가 Keyword Search와 Vector Search 모두에서 높은 순위에 있다면 최종 점수도 높아집니다.

Keyword Search
문서 A → 1위


Vector Search
문서 A → 3위

        ↓

두 검색에서 모두 높은 순위

        ↓

최종 순위도 높아짐

서로 다른 검색 방식의 점수 크기를 직접 맞출 필요가 없다는 장점이 있습니다.


Hybrid Search와 Reranker

Hybrid Search로 검색한 결과에 Reranker를 추가로 적용할 수도 있습니다.

Hybrid Search는 여러 검색 방식을 이용하여 관련 문서 후보를 넓게 찾습니다.

이후 Reranker가 질문과 각 후보를 다시 평가하여 최종 순서를 정리할 수 있습니다.

Hybrid Search
→ 다양한 후보 확보


Reranker
→ 후보의 관련성 재평가

RAG 시스템에서는 이러한 방식으로 검색 단계와 재정렬 단계를 함께 사용할 수 있습니다.


Hybrid Search의 장단점

장점

Hybrid Search는 Keyword Search와 Vector Search의 장점을 함께 사용할 수 있습니다.

제품명, 오류 코드와 같은 정확한 단어를 검색하면서도 표현이 다른 의미적으로 유사한 문서를 함께 찾을 수 있습니다.

하나의 검색 방식만 사용하는 것보다 다양한 문서 후보를 확보하는 데 도움이 됩니다.

단점

두 가지 검색 방식을 함께 실행하기 때문에 검색 구조가 복잡해집니다.

검색 결과를 결합하기 위한 가중치나 Ranking 방식을 추가로 설정해야 합니다.

설정이 적절하지 않으면 한쪽 검색 방식의 결과가 지나치게 강하게 반영될 수 있습니다.

또한 두 검색을 모두 수행하므로 하나의 검색 방식만 사용할 때보다 연산량이 증가할 수 있습니다.


요약

이번 글에서는 Hybrid Search에 대해 알아보았습니다.

핵심 내용을 정리하면 다음과 같습니다.

  • Keyword Search는 정확한 단어가 포함된 문서를 찾는 데 강합니다.

  • Vector Search는 표현이 달라도 의미가 비슷한 문서를 찾을 수 있습니다.

  • Hybrid Search는 Keyword Search와 Vector Search의 결과를 함께 사용합니다.

  • RRF는 각 검색 결과의 순위를 기준으로 최종 순위를 계산합니다.

  • Hybrid Search 이후 Reranker를 적용하여 검색 결과를 다시 정렬할 수도 있습니다.

  • Hybrid Search는 정확한 단어 검색과 의미 기반 검색을 함께 활용할 수 있다는 장점이 있습니다.


다음 글에서는 기본적인 RAG가 가지는 한계와 이를 개선하기 위한 Advanced RAG에 대해 알아보겠습니다.

Advanced RAG는 Query Transformation, Retrieval 개선과 같은 방법을 사용하여 검색과 답변 생성 과정의 품질을 높이는 방법입니다.

부족한 글 읽어주셔서 감사합니다.

틀린 내용이나 피드백은 댓글로 남겨주시면 감사하겠습니다.

감사합니다.

profile
저희.서이.하실래요?

0개의 댓글