RAG가 문서를 검색하는 세가지 방식인 ▲키워드 검색 ▲시맨틱 검색 ▲하이브리드 검색을 알아보고, 각 검색 유형의 특징과 기능을 톺아봅니다.
여러분은 스켈터랩스 블로그를 어떻게 알고 찾아오셨나요? 🧐
시맨틱 검색, 키워드 검색, 하이브리드 검색 등의 키워드를 검색해서 나온 게시글이라 클릭해 들어오셨나요? 아마도 이렇게 스켈터랩스 블로그에 방문해 주시기까지 여러분은 ‘검색’을 활용하셨을 것으로 생각됩니다.
그런데, 기술이 발전하면서 검색 방법도 함께 진화해 왔다는 사실을 알고 계신가요?
대표적인 사례가 바로 하이브리드 검색인데요.
이러한 새로운 검색 방식 덕분에 인간은 필요한 정보를 더 쉽고 정확하게 찾아낼 수 있게 되었습니다.
특히, LLM의 더 정확하고 근거 있는 답변 생성에 큰 도움을 주고있죠.
LLM은 확률적으로 답변을 생성하기 때문에, 때로는 근거가 불분명한 답변을 만들어낼 수 있습니다. 그래서 기업이 LLM을 효과적으로 활용하려면, RAG나 하이브리드 검색 같이 더 정교한 답변을 도출할 수 있는 보조 도구들이 필요합니다.
이러한 도구들은 챗GPT와 같은 범용 LLM의 잠재력을 최대화하며, 검색의 정확도와 관련성을 높이는 데 결정적인 역할을 하는데요.
이번 블로그 글에서는 RAG가 문서를 검색하는 세가지 방식인 ▲키워드 검색 ▲시맨틱 검색 ▲하이브리드 검색을 알아보고, 각 검색 유형의 특징과 기능을 톺아봅니다.
📖 목차
• 키워드 검색
• 시맨틱 검색
• 하이브리드 검색
• 키워드검색 vs. 시맨틱검색 vs. 하이브리드검색
💡키워드 검색
키워드 검색은 가장 전통적인 검색 방식으로, 사용자가 입력한 키워드가 문서 내에 얼마나 많이 나타나는지를 기반으로 검색 결과를 제공합니다.
이 방식에서는 BM25 알고리즘 주로 사용되는데요. 간단하게 말해, 문서 내 키워드의 발생 빈도와 전체 문서에서 그 키워드의 발생 빈도를 비교하여 문서의 중요도를 평가합니다. 문서 내에서는 자주 등장하지만 전체 문서에서는 드물게 나타나는 단어일수록 그 문서에 대한 키워드의 중요도가 높다고 간주하죠.
키워드 검색은 매우 직관적이지만, 사용자의 질의 의도나 문맥을 고려하지 않는다는 한계가 있습니다.
💡시맨틱 검색
시맨틱 검색은 단순히 키워드를 찾는 것이 아니라, 질문의 의미를 수학적으로 분석하여 가장 관련성이 높은 내용을 찾아내는 방식입니다. 쉽게 말해, 텍스트의 의미를 분석하여 검색하는 방식인데요. 시맨틱 검색을 통해서 검색 엔진은 단순히 입력한 단어들의 의미뿐만 아니라, 그 뒤에 숨겨진 의도까지 파악할 수 있습니다.
질문과 문서의 내용을 숫자로 바꾼 벡터로 변환한 다음, 이 벡터들 사이의 관계를 측정해서 얼마나 가까운지를 계산합니다. 가장 유사한 내용을 가진 문서를 우선적으로 보여주는데, 이때 유사도를 측정하는 방법으로 '코사인 유사도'라는 수학적 계산을 사용합니다.
예를 들어, "사과의 영양"을 검색하면 시맨틱 검색 엔진은 사용자가 과일이 아닌 과일의 영양에 더 관심이 있다는 것을 알아차립니다. 이런 추론은 대량의 데이터 분석을 통해 단어·문구와 문장 또는 문단 사이의 의미 관계를 파악함으로써 가능합니다.
💡하이브리드 검색
하이브리드 검색은 키워드 검색의 정확성과 시맨틱 검색의 맥락 이해력을 결합한 방식입니다.
키워드 검색의 정확성과 시맨틱 검색의 문맥 이해를 동시에 활용하면서, 각각의 한계를 극복하여 더 정확하고 관련성 높은 검색 결과를 제공할 수 있습니다.
예를 들어, 사용자가 "사과의 영양"과 같이 특정한 정보를 요구할 때, 키워드 검색은 '사과'와 '영양' 같은 핵심 단어를 중심으로 문서를 찾지만, 시맨틱 검색은 '사과는 어떤 영양 성분을 가지고 있는가'라는 질문의 의도를 파악하여 더 유용하고 실질적인 정보를 제공하는 문서를 찾아냅니다. 이 두 방식의 조합은 사용자에게 가장 관련성 높고 유용한 결과를 제공합니다.
또한 하이브리드 검색은 시맨틱 검색이 시간이 지남에 따라 학습하고 개선될 수 있는 능력을 활용하여 검색의 유연성을 높입니다. 이를 통해 사용자가 일반적인 키워드를 입력했을 때도 문맥이나 의도를 파악하여 그에 맞는 결과를 도출할 수 있습니다. 사용자가 단순한 키워드를 검색해도 시맨틱 검색이 이를 문맥 안에서 해석하여 더 정확하고 적절한 정보를 추천할 수 있죠.
하이브리드 검색 과정은 다음과 같습니다:
먼저 키워드 검색으로 문서의 순위를 매기고, 시맨틱 검색으로도 별도의 순위를 매깁니다. 그 다음, 이 두 순위를 특정 비율로 결합하여 최종 순위를 도출합니다. 이 비율(alpha)은 0에서 1 사이의 값을 가지며, 0은 순수 키워드 검색만 사용함을, 1은 순수 시맨틱 검색만 사용함을 의미합니다. alpha 값을 조절함으로써 키워드 검색과 시맨틱 검색의 균형을 맞출 수 있습니다. 이렇게 하면 두 검색 방식의 장점을 최대한 활용하면서 단점을 보완할 수 있습니다.
이렇듯 키워드와 시맨틱 검색 방식으로 도출된 정보에 순위(랭킹;ranking)를 매겨 일정 비율로 종합해 최종 검색 결과를 얻는 방식은 검색 성능을 크게 향상시킬 수 있는데요. 이러한 하이브리드 접근법은 사용자의 질의에 대한 더 깊은 이해를 가능하게 하고, 더 개인화된 검색 결과를 도출할 수 있습니다.
💡키워드검색 vs. 시맨틱검색 vs. 하이브리드검색
키워드 검색은 정확한 키워드 일치에 초점을 맞춘 반면, 시맨틱 검색은 의미적 유사성, 복잡한 질의 처리, 다양한 언어에서의 검색 등 이 가능합니다. 하이브리드 검색은 이 두 검색 방식의 기능을 결합하여, 키워드 검색의 정확성과 시맨틱 검색의 맥락 이해 능력을 모두 갖추고 있습니다.
💡마치며
이로써 키워드 검색, 시맨틱 검색, 그리고 하이브리드 검색의 주요 차이점에 대해 알아보았습니다.
오랜 시간 동안 키워드 검색은 유용한 방식이었으며, 한층 더 발전된 형태의 시맨틱 검색은 언어와 의도를 파악함으로써 보다 정확한 검색 결과를 가능하게 했습니다. 이 두 방식을 결합한 하이브리드 검색은 정확도와 관련성을 높여 새로운 가능성을 열어주고 있습니다.
스켈터랩스의 BELLA QNA는 여기서 한 발 더 나아가, 하이브리드 검색을 돌린 후 한 번 더 챗GPT에게 문서와 질의 사이의 연관성을 물어보고 최종 문서들을 결정하여 더 높은 정확도의 응답을 도출하는 방식으로 작동합니다.
🤓 CLICK! 벨라 큐나가 하이브리드 검색을 활용하는 방법을 더 자세히 알아보세요!
-
references
https://www.elastic.co/blog/why-technology-leaders-need-vector-search/
https://medium.aiplanet.com/advanced-rag-implementation-on-custom-data-using-hybrid-search-embed-caching-and-mistral-ai-ce78fdae4ef6
https://www.linkedin.com/pulse/ai-search-vs-keyword-hybrid-whats-difference-why-does-matter-r38fc/