임베딩 없는 시맨틱 검색 (Semantic Search Without Embeddings)
(softwaredoug.com)2026년에도 여전히 "시맨틱 서치 = 임베딩 + 벡터 DB" 라고 생각하나요?
핵심 주장
시맨틱 서치는 단순히 유사도(similarity) 만 중요한 게 아니라,
① 표현(representation) + ② 유사도(similarity) + ③ 매칭 기준(match criteria) 이 세 가지를 모두 잘 만족해야 진짜 좋은 검색이라고 봄.
임베딩 기반 벡터 검색은 ①,②는 잘하지만 ③(정확히 사용자가 원하는 범위 내에서만 결과 포함/제외) 에서는 매우 취약하다는 지적.
핵심 예시:
쿼리: "나무에 열리는 둥근 붉은 과일"
좋은 임베딩 시스템 결과 (상위권에 자주 뜸):
- 사과
- 오렌지
- ⚾️ 야구공
→ 사용자는 야구공 절대 원하지 않는데, 임베딩은 "둥글고 붉다"로 꽤 가까워서 포함시켜 버림
임계값으로는 해결 불가능 (도메인마다, 쿼리마다 다름)
대안으로 제시하는 것: 잘 관리된 계층적 분류 체계 (Managed Taxonomies)
Wayfair 가구 예시처럼
Baby & Kids
└─ Toddler & Kids Playroom
└─ Indoor Play
└─ Rocking Horses
└─ Novelty Rocking Horses
이걸 BM25 위에 계층 토크나이저로 올리면
- 더 구체적인(자식) 카테고리 = df 낮음 → bm25 점수 자동으로 더 높게 나옴
- 사용자가 이해하는 언어로 정확히 범위 조절 가능 (부모/조부모 올라가며 점점 넓어짐)
- LLM으로 분류 자동화하면 유지보수 부담도 크게 줄어듦
결론:
임베딩은 강력하지만 필수는 아님.
도메인에서 이미 잘하는 카테고리/분류 역량 + LLM 보조만으로도
임베딩보다 훨씬 정확하고 사용자 경험이 좋은 시맨틱 서치를 만들 수 있다는 주장.
전자상거래, 의료, 법률, 도서관 등 도메인 특화 검색 하시는 분들께 특히 추천.