IR/Vector: Hybrid Search
ㅁ IR/Vector
ㅇ 정의:
정보 검색(Information Retrieval)과 벡터 기반 검색(Vector Search)을 결합한 검색 기법으로, 전통적인 키워드 검색과 임베딩 기반 검색을 동시에 활용하여 검색 성능을 향상시키는 방법.
ㅇ 특징:
– 키워드 기반 검색의 정확성과 벡터 기반 검색의 유사도 매칭을 결합.
– 대규모 데이터셋에서 효율적인 검색 가능.
– 검색 결과의 다양성과 정확성을 동시에 확보.
ㅇ 적합한 경우:
– 단순 키워드 매칭만으로는 적절한 결과를 얻기 힘든 경우.
– 대규모 데이터셋에서 유사도 기반 검색이 필요한 경우.
– 사용자 쿼리가 불완전하거나 애매한 경우.
ㅇ 시험 함정:
– Hybrid Search의 두 가지 구성 요소(키워드 기반 검색, 벡터 기반 검색)를 혼동하여 단일 검색 방식으로 오해할 수 있음.
– 벡터 기반 검색의 유사도 계산 방식을 잘못 이해할 가능성.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Hybrid Search는 키워드와 벡터 기반 검색을 결합한 방식이다.
– (X) Hybrid Search는 벡터 기반 검색만을 활용한다.
– (O) Hybrid Search는 검색 결과의 다양성과 정확성을 높이는 데 기여한다.
– (X) Hybrid Search는 대규모 데이터셋에서는 사용할 수 없다.
================================
1. Hybrid Search
ㅇ 정의:
전통적인 키워드 검색과 임베딩 기반의 벡터 검색을 결합하여, 정확성과 유사도 기반 검색을 동시에 만족시키는 검색 방법.
ㅇ 특징:
– 텍스트 데이터의 키워드 매칭과 문장 임베딩의 유사도 매칭을 병행.
– 검색 결과의 다양성과 정확성을 보장.
– 검색 속도와 효율성을 높이기 위해 인덱싱 최적화 필요.
ㅇ 적합한 경우:
– 사용자 쿼리가 불완전하거나 모호할 때.
– 대규모 데이터셋에서 키워드 매칭만으로는 한계가 있을 때.
– 검색 정확성과 유사도 기반의 결과가 동시에 요구될 때.
ㅇ 시험 함정:
– Hybrid Search를 단순히 키워드 검색으로 오해하거나, 벡터 검색만으로 이해하는 경우.
– 검색 결과 다양성과 정확성의 균형 개념을 혼동할 가능성.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Hybrid Search는 키워드와 벡터 기반 검색을 결합하여 검색 성능을 향상시킨다.
– (X) Hybrid Search는 키워드 검색만 활용한다.
– (O) Hybrid Search는 대규모 데이터셋에서 효율적인 검색이 가능하다.
– (X) Hybrid Search는 쿼리의 모호성을 해결하지 못한다.
ㅁ 추가 학습 내용
Hybrid Search와 관련된 학습 내용을 다음과 같이 정리할 수 있습니다:
1. **Hybrid Search의 가중치 조정 방식**
Hybrid Search는 키워드 기반 검색과 벡터 기반 검색의 결과를 결합하는 방식으로 동작합니다. 이때 두 검색 방식의 중요도를 조정하기 위해 가중치를 부여합니다. 가중치 조정은 검색 결과의 품질을 높이는 중요한 요소로, 사용자의 검색 의도와 데이터의 특성에 따라 최적의 비율을 설정해야 합니다. 예를 들어, 키워드 기반 검색에 70%, 벡터 기반 검색에 30%의 가중치를 줄 수도 있습니다.
2. **벡터 임베딩 생성 알고리즘**
벡터 기반 검색에서 중요한 부분은 텍스트 데이터를 벡터로 변환하는 임베딩 생성 과정입니다. 주요 알고리즘으로는 다음과 같은 것들이 있습니다:
– Word2Vec: 단어를 벡터로 표현하며, 단어 간 유사도를 계산할 수 있습니다.
– GloVe: 전역적인 통계 정보를 활용하여 단어 벡터를 생성합니다.
– BERT: 문맥을 고려한 단어 임베딩을 생성하며, 문장 수준의 의미를 잘 반영합니다.
– Sentence Transformers: 문장 단위의 임베딩 생성을 위해 BERT 등을 확장한 모델입니다.
3. **검색 속도를 높이기 위한 인덱싱 최적화 기술**
벡터 기반 검색의 효율성을 높이기 위해 고성능 인덱싱 기술이 사용됩니다. 주요 기술로는 다음이 있습니다:
– HNSW (Hierarchical Navigable Small World): 그래프 기반의 인덱싱 구조로, 높은 검색 속도를 제공합니다.
– FAISS (Facebook AI Similarity Search): 대규모 벡터 검색을 위한 라이브러리로, GPU 가속을 지원합니다.
– Annoy (Approximate Nearest Neighbors Oh Yeah): 메모리 효율적인 인덱싱 기술로, 빠른 검색이 가능합니다.
4. **Hybrid Search의 성능 평가 지표와 적용 사례**
검색 시스템의 성능을 평가하기 위해 다음과 같은 지표를 사용합니다:
– Precision: 검색된 결과 중 올바른 결과의 비율.
– Recall: 전체 올바른 결과 중 검색된 비율.
– F1-Score: Precision과 Recall의 조화 평균으로, 두 지표 간 균형을 평가.
Hybrid Search는 전자 상거래(상품 추천), 문서 검색(법률 문서, 논문 검색), 고객 서비스(FAQ 검색) 등 다양한 분야에서 활용됩니다.