현재 LLM을 활용하는 대부분의 챗봇이 환각 현상을 줄이기 위해 RAG를 사용하고 있다.
하지만 이러한 유사도 기반 검색조차 단어 임베딩 품질에 따라 답변의 정확도가 떨어져 다소 부족함이 있었다. 이를 해결하기 위해 유사도에 더해 키워드 기반 검색을 함께 활용하는 Hybrid Search라는 기술이 생겨나게 되었다.
키워드 기반 검색인 Lexical Search와 유사도 기반 검색인 Semantic Search는 각각 장단점이 있고 사용이 유리한 상황이 서로 다르다.
마스터카드 아님
Hybrid Search는 각 검색 방법의 장점만을 추려 사용된다. 특정 도메인 용어나 제품 용어가 포함된 쿼리로 검색했을 때도 Lexical Search의 검색 결과를 통해 보조한다. 의미론적으로 유사한 동의어 검색의 경우 및 오타가 일부 포함되더라도 Semantic Search가 벡터 기반으로 가장 가까운 내용을 반환하기 때문에 보다 정확도를 높일 수 있다.
Lexical Search와 Semantic Search의 결과를 결합하는 방법은 크게 총 2가지가 존재한다. CC(Convex Combination), RRF(Reciprocal Rank Fusion)의 2가지 방법으로, 아래와 같은 수시으로 요약이 되지만 참고만 하도록 한다..
쉽게 말하자면 전통적인 Lexical Search과 Semantic Search의 가중치를 달리 하여 검색결과를 도출하여 정확성과 맥락 이해 능력 모두가져갈 수 있다.
Reference
하이브리드 검색 구현하기 (feat. EnsembleRetriever, Knowledge Bases for Amazon Bedrock)