기본 콘텐츠로 건너뛰기

'머신러닝'과 '기계학습'은 왜 검색 결과가 다를까? 키워드·벡터·하이브리드 검색 개념 정리 [RAG 검색 이해하기 1편]

나는 자바로 웹 SI 프로젝트만 해 본 개발자다. 게시판, 관리자 화면, DB 조회.. 그런 거. 그런데 요즘 생성형 AI로 검색 서비스를 만드는 일을 하고 있다. AI 쪽은 솔직히 초짜다. ㅡ,.ㅡ;

검색 대상은 크롤링한 메타정보와 문서, 사내 시스템 기술문서 3만 건 정도, 그리고 RDB에 있는 각종 정보들이다. 처음에는 키워드 검색으로 시작했고, 지금은 하이브리드 검색을 쓴다. 예전에 sLLM 구축 글에서 "진짜 문제는 검색이었다"고 적었는데, 이번에 제대로 공부해 보려고 시리즈로 정리한다.

'머신러닝'으로 찾으면 나오고 '기계학습'으로 찾으면 안 나온다

키워드 검색만 쓸 때 가장 큰 문제가 이거였다. 사람은 '머신러닝'과 '기계학습'을 같은 말로 생각하고 같은 결과를 기대한다. 그런데 키워드 검색은 전혀 다른 결과를 보여 줬다. 질문을 문장으로 던져도 사용자의 의도를 알아채지 못했다.

정말 그런지 작게 실험해 봤다. 가짜 사내 문서 5개를 만들고, 파이썬으로 키워드 검색(BM25)을 돌렸다. 한국어는 형태소 분석기(Kiwi)로 단어를 쪼갰다.

키워드 검색 실험 결과: 머신러닝과 기계학습 검색의 순위 비교

같은 뜻인데 1위가 다르다. '머신러닝'으로 찾으면 기계학습 교육 문서는 0점이다. 눈여겨볼 건 2위다. '머신러닝'이 '머신'과 '러닝'으로 쪼개지면서 '딥러닝' 문서가 따라 올라왔다. '기계학습' 쪽에서는 '학습'이라는 글자 하나 때문에 GPU 서버 문서가 걸렸다. 뜻이 아니라 글자로 찾기 때문에 생기는 일이다.

키워드 검색: 글자가 같아야 찾는다

키워드 검색은 책 뒤에 있는 '찾아보기(색인)'와 비슷하다. 문서마다 어떤 단어가 들어 있는지 미리 목록을 만들어 두고(역색인), 검색어와 같은 단어가 든 문서를 꺼낸다. 순위는 보통 BM25라는 공식으로 매긴다. 검색어가 자주 나올수록, 그리고 흔하지 않은 단어일수록 점수가 높다.

SI 하면서 쓰던 SQL LIKE '%검색어%'를 떠올리면 쉽다. 그걸 훨씬 빠르고 똑똑하게 만든 게 검색엔진이다. 많이 쓰는 Elasticsearch도 자바로 만든 Lucene 위에서 돌아가고, 기본 점수 공식이 BM25다.

  • 강한 곳: 문서번호, 제품명, 사람 이름, 에러 코드처럼 글자가 정확히 맞아야 하는 검색. 왜 이 문서가 나왔는지 설명하기도 쉽다.
  • 약한 곳: 같은 뜻 다른 말(머신러닝 = 기계학습, AI = 인공지능), 문장으로 묻는 질문, 오타.

벡터 검색: 뜻이 가까우면 찾는다

벡터 검색은 문장을 숫자 목록(벡터)으로 바꿔서 찾는다. 이 숫자 목록을 만드는 걸 '임베딩'이라고 한다. 뜻이 비슷한 문장은 비슷한 숫자가 나오도록 학습된 모델을 쓰기 때문에, '머신러닝'과 '기계학습'은 가까운 자리에 놓인다. 검색할 때는 질문도 숫자로 바꾼 뒤 가장 가까운 문서를 고른다.

키워드 검색, 벡터 검색, 하이브리드 검색의 동작 비교 개념도
  • 강한 곳: 같은 뜻 다른 말, "AI로 문서를 자동으로 나눠 주는 시스템 있어?" 같은 문장 질문.
  • 약한 곳: 문서번호, 버전(R1, R2), 이름처럼 글자가 딱 맞아야 하는 것. 뜻이 '비슷한' 엉뚱한 문서도 같이 끌려온다. 왜 이 문서가 나왔는지 설명하기 어렵다.

나도 생성형 AI에게 질문할 때 벡터 검색을 써 봤다. 그런데 원하는 답변을 잘 받지는 못했다. 그렇다고 검색 서버의 검색 전체를 벡터로만 바꾸기에는 한계가 있었다. 키워드 검색이 잘하던 걸 벡터 검색이 못 하기 때문이다.

그래서 하이브리드: 둘 다 돌리고 순위를 합친다

하이브리드 검색은 키워드 검색과 벡터 검색을 같이 돌린 뒤, 두 결과를 하나의 순위로 합친다. 문제는 두 점수의 단위가 다르다는 것이다. BM25 점수는 1.27, 2.06 같은 값이고, 벡터 검색은 0.83 같은 유사도다. 그냥 더하면 안 된다.

그래서 많이 쓰는 게 RRF(Reciprocal Rank Fusion)다. 점수 대신 순위만 본다. 각 결과에서 1 ÷ (60 + 순위)를 구해서 더한다. 60은 흔히 쓰는 기본값이다.

문서키워드 순위벡터 순위RRF 점수최종
A1위3위1/61 + 1/63 = 0.03232위
B2위1위1/62 + 1/61 = 0.03251위
C-2위1/62 = 0.01613위
D3위-1/63 = 0.01594위

양쪽에서 모두 상위권인 문서가 위로 올라온다. 한쪽에서만 나온 문서도 버리지 않는다. 나는 여기에 재정렬(reranker)을 하나 더 붙였다. 합쳐진 결과를 질문과 얼마나 맞는지 다시 따져서 순위를 한 번 더 매기는 단계다.

한눈에 비교, 그리고 이 시리즈에서 다룰 것

키워드 검색벡터 검색하이브리드 검색
찾는 기준글자가 같은가뜻이 가까운가둘 다
잘하는 것문서번호, 이름, 코드동의어, 문장 질문둘의 장점
못하는 것동의어, 의도 파악정확한 글자 매칭구성과 튜닝이 복잡
대표 도구Elasticsearch, OpenSearchFAISS, Qdrant, pgvector 등위 도구 조합, RRF

다음 편부터는 하나씩 깊게 들어간다.

  • 2편 키워드 검색: 역색인, BM25, 한국어 형태소 분석, 직접 구현
  • 3편 벡터 검색: 임베딩, 문서 쪼개기(청킹), 벡터 DB, 직접 구현
  • 4편 하이브리드 검색: RRF, 재정렬(reranker), 최신 버전만 고르는 필터
  • 5편 검색 품질 평가: 바꾼 게 정말 나아졌는지 숫자로 재는 법

정리하고 보니, 내가 키워드 검색에서 겪은 문제는 벡터 검색이 잘하는 것이고, 벡터 검색에서 겪은 문제는 키워드 검색이 잘하는 것이었다. 결국 하이브리드로 간 것도 이 때문이다. 나도 공부하면서 쓰는 시리즈라 차근차근 가 보련다.

이상 키워드·벡터·하이브리드 검색 개념 정리 끝!

댓글

이 블로그의 인기 게시물

싱가포르 여행 필수 준비물: G타입 변환 어댑터 (돼지코 전기 플러그)

조만간 우리 아이들이 싱가포르로 여행을 간다. 핸드폰 충전은 물론이고 다른 전기 제품 사용 때문에 어댑터가 꼭 필요하다. 해외여행 갈 때 어댑터 하나 잘못 챙겨가면 충전도 못 하고 전기 사용도 못 해서 낭패 보는 경우가 많다. 10년 전에 내가 싱가포르에 출장 갈 일이 있었는데 그때는 멀티 어댑터를 누군가에게 빌려갔었다. 이번 기회에 아이들 여행 준비물 중에 하나인 변환 플러그 검색하면서 알게 된 싱가포르 사용하는 전압과 플러그 타입, 어떤 어댑터를 챙겨야 하는지를 공유하려 한다. 싱가포르 여행을 계획하는 사람들을게 도움이 되겠지?  내 자식들 챙겨주는 마음으로 꼼꼼하게 설명해 줄 테니, 싱가포르 여행 준비물 리스트에 어댑터 관련 정보가 필요한 사람들은 꼭 참고했으면 한다. 1. 싱가포르 전기 환경 (전압과 플러그 타입) 해외여행 시 현지 전기 환경을 파악하는 것은 필수적인 여행 준비물 점검 사항이다. 싱가포르는 한국과 다른 전압 및 플러그 타입을 사용한다. 1.1 싱가포르 전압 (Voltage) 싱가포르는 230V(볼트) 전압을 사용한다. 한국은 220V를 사용하므로 전압 자체는 큰 차이가 없다. 대부분의 최신 전자기기(휴대폰 충전기, 노트북 충전기 등)는 100~240V의 프리볼트(Free Voltage)를 지원하므로, 전압 변환기(변압기)는 별도로 필요하지 않다. 1.2 싱가포르 플러그 타입 (Plug Type) 및 사용 국가 싱가포르는 Type G 플러그를 사용한다. 이는 영국식 3핀(세 발) 플러그 형태로, 한국(Type C, F)과는 모양이 완전히 다르다. 따라서 한국에서 사용하는 전자기기를 싱가포르에서 사용하려면 반드시 Type G 형태의 어댑터가 필요하다. Type G 플러그를 사용하는 주요 국가   아시아: 싱가포르, 홍콩, 말레이시아, 아랍에미리트(UAE) 등 유럽: 영국, 아일랜드, 몰타, 키프로스 등 기타: 사우디아라비아, 카리브해 일부 국가 등 이러한 국가들을 여행할 때도 Type G 어댑터 하나만 있으면 전기 ...

제주도 탐나는전 결제 사용 후기 (실물카드 미소지로 사용 실패)

제주도 여행을 앞두고 지역화폐인 '탐나는전'을 신청했다. 평소 성남사랑상품권을 잘 쓰고 있어서 제주도에서도 비슷하게 편리하게 쓸 수 있을 거라 생각했거든. 그런데... 결론부터 말하면 한 번도 써보지 못하고 환불하게 됐다. 탐나는전 신청과 설정 제주 출발 전에 미리 탐나는전을 신청했어. 신청 후 1주일 이내에 집에 도착.. 안내 브로셔를 보니 꽤 체계적으로 되어있더라고. 캐시백 혜택부터 시작해서 카드 등록, 사용법까지 자세히 나와있었어. 특히 소득공제 혜택도 있고, 한도상향 완료라는 문구도 보이니 더욱 기대가 됐어. 성남사랑상품권처럼 잘 활용할 수 있을 거라 생각했거든. 카드 등록 카드 등록을 진행했어. 인터페이스도 깔끔하고 사용하기 편해 보였어. "탐나는전 사용 가능한 카드를 신청 또는 등록해주세요!"라는 안내 문구를 보며 설레었지. 카드 정보를 직접 입력하거나 바코드로 인식할 수 있게 되어있어서 편리했어. 성남사랑상품권 앱과 비슷한 느낌이었거든. 난 바코드로 한큐에 등록.. 출발 전날인 6월 24일에 10만원을 충전했어. 탐나는전 선불카드로 등록도 완료하고, 제주도에서 맛있는 것도 사고 기념품도 살 생각에 들떠있었지. 그런데... 현실은? 제주도에 도착해서 탐나는전을 써보려고 했는데, 큰 문제가 있었어. 성남사랑상품권처럼 QR코드나 바코드로 간편하게 결제할 수 있을 거라 생각하고 실물카드를 안 가져갔거든. 그런데 제주도 매장들은 대부분 실물카드만 받더라고! QR코드나 바코드 결제를 지원하는 곳이 거의 없어서 당황했어. 성남에서는 거의 모든 곳에서 앱으로 간편결제가 되니까 당연히 제주도에서도 될 거라 생각했는데... 완전 오산이었어 😢 결국 환불... 여행 내내 한 번도 써보지 못하고, 마지막 날인 6월 29일에 결국 10만원 전액 환불했어. 충전 수수료나 환불 수수료 같은 건 없어서 다행이었지만, 뭔가 허무한 기분이었어. 후기와 조언 탐나는전 자체는 나쁘지 않은 시스템인 것 같아. 소득공제 혜택도 있고, 앱도 사용하기 편해...

미국 주식 투자 환전 수수료 비교 (증권사 환율우대 100% 찾는 법)

나는 달러 환테크와 미국 주식 투자를 병행하고 있다. 단순히 달러를 사고파는 것을 넘어, 환전한 달러로 바로 미국 주식을 매매할 수 있어야 하므로 증권사 환전 서비스를 이용하는 것은 필수다. 혹시 미국 주식을 아직도 한번도 매매 못한 사람을 위해 일반적인 프로세스는 아래와 같다. 이때 가장 중요한 것이 바로 '환전수수료' , 즉 환율우대 혜택이다. 1%, 0.1%의 수수료 차이가 투자 수익률에 큰 영향을 미치기 때문이다. 오늘은 미국 주식 투자를 위한 증권사별 환전 서비스를  비교하고, 환율우대 혜택을 가장 많이 받을 수 있는 곳이 어디인지 직접 정리해 본다.  1. 들어가기 전: 환전수수료와 환율우대란? 우리가 달러를 살 때, 기준이 되는 '매매기준율'에 증권사가 수수료를 붙여서 판매한다. 이 수수료를 '환전 스프레드' 라고 하며, 보통 1달러당 5원~10원 정도다. '환율우대' 란 이 환전 스프레드를 깎아주는 것을 의미한다. 예를 들어, 환율우대 95% 는 내가 내야 할 환전수수료의 95%를 할인해준다는 뜻이다. 당연히 우대율이 높을수록 우리에게 유리하며, 환율우대 100%는 환전수수료가 0원 이라는 의미다. 2. 증권사별 환전 우대율 및 이용 시간 비교 (우대율 높은 순) ※ 중요: 아래 정보는 신규 또는 휴면 고객 대상 이벤트 기준으로, 2025년 8월 말 현재 시점으로 재확인한 내용이다. 이벤트 기간이나 조건은 언제든 변경될 수 있으니, 거래 전 반드시 해당 증권사에 직접 확인해야 한다. 참고로 난 한투로 미국 주식을 하고 있는데 90% 우대를 받고 있다. 아직은 작은 금액이라 무시하고 있지만 억단위로 넘어가면 위 증권사 계좌로 넘어갈 계획이다. 3. 서비스별 심층 분석 및 투자 전략 3.1 조건부 최강자: NH투자증권 (나무증권)  NH투자증권은 '원화주문' 이라는 독특한 서비스를 통해 차별점을 가진다. 핵심 장점: 24시간 100% 자동 환율우대: 미국 주식 시장이 열리...