8.11.2 임베딩 불일치 문제: 같은 의미 다른 단어 처리 시 발생할 수 있는 누락

8.11.2 임베딩 불일치 문제: 같은 의미 다른 단어 처리 시 발생할 수 있는 누락

Vector DB 검색의 두 번째 비결정성은 텍스트를 고차원 공간의 좌표로 변환하는 ’임베딩 모델(Embedding Model)’의 해석적 한계에서 기인한다. 시맨틱 검색(Semantic Search)은 단어의 형태가 달라도 의미가 같으면 유사한 벡터 공간에 매핑해 준다는 마법 같은 프레임을 씌우고 있지만, 실제 기업 데이터 환경에서는 이 마법이 종종 참혹한 누락(Omission) 에러를 발생시킨다.

사용자가 “휴대폰 요금 지원“이라고 검색했을 때, 사내 규정 문서에 “스마트폰 통신비 보조금“이라고 명시되어 있다면, 범용 임베딩 모델(예: text-embedding-ada-002)은 이 두 단어가 동일한 도메인 지식임을 완벽하게 매핑하지 못할 확률이 높다. 코사인 유사도(Cosine Similarity) 점수가 임계값(Threshold) 아래로 떨어지게 되고, 완벽한 정답 문서가 Vector DB 탐색 과정에서 누락되어 버린다. 결과적으로 타겟 LLM은 “해당하는 정보가 없습니다“라고 대답하거나 임의의 정보로 환각(Hallucination)을 일으키며, 이 모든 과정을 지켜본 오라클은 속수무책으로 ‘문서 관련성(Context Relevance) 없음’ 판정을 내리고 파이프라인을 셧다운시킨다.

오라클의 깐깐한 심사 기준을 통과하려면, 애초에 검색망에서 ’동의어 불일치(Synonym Mismatch)’로 인한 문서 누락이 0%에 수렴하는 통제된 임베딩 환경을 구축해야 한다.

1. 하이브리드 인제스천 (Hybrid Ingestion): 가상 쿼리(Hypothetical Query) 삽입

임베딩 모델이 동의어를 완벽히 이해하지 못한다면, 문서(Context)가 자신을 찾을 수 있는 모든 경우의 수(의미망)를 스스로 품고 Vector DB에 들어가야 한다.

  1. HyDE(Hypothetical Document Embeddings) 역상: 원본 문서를 Vector DB에 넣기 전, 강력한 LLM 미들웨어를 거치게 한다. 이 미들웨어의 역할은 “이 문서를 찾기 위해 직원들이 던질 수 있는 예상 질문(가상 쿼리) 10가지를 작성하라“는 프롬프트를 수행하는 것이다.
  2. 원본 문서: “당사는 영업직에 한해 매월 5만 원의 통신비 보조금을 지급한다.”
  3. 생성된 가상 쿼리: “핸드폰 요금 지원되나요?”, “영업사원 폰값 지원”, “스마트폰 통신비 규정”
  4. 역결합(Concatenation): 이 가상 쿼리들을 청크(Chunk)의 메타데이터나 본문 끝부분에 투명한 텍스트로 결합하여 하나의 덩어리로 만든 후 임베딩 모델에 통과시킨다.

이렇게 부풀려진 벡터(Augmented Vector)는 사용자가 “폰값“이라는 속어(Slang)를 던져도 완벽하게 해당 규정 문서의 벡터와 충돌(밀집)하게 된다. 사용자의 다양한 발화 패턴을 문서의 위치 에너지로 강제 흡수시키는 결정론적 앵커링 기법이다.

2. 도메인 특화 어휘 사전(Lexicon) 기반의 프롬프트 전처리 (Pre-processing)

벡터 검색은 만병통치약이 아니다. 특정 산업군(의료, 법률, 군사 등)에서만 쓰이는 폐쇄적 은어나 약어를 범용 임베딩 모델에 무작정 던져 넣는 것은 룰렛 게임을 하는 것과 같다. Vector DB를 타격하기 전, 질문 자체를 교정하는 전처리(Pre-processing) 오라클이 필수다.

  • 사내에 존재하는 모든 동의어, 약어, 구형 명칭과 신형 명칭의 맵핑 테이블을 하드코딩된 Key-Value 사전(Dictionary) 형태로 구축한다. (예: {"연차": "유급휴가", "사물함": "개인 로커", "식대": "오찬 지원금"})
  • 사용자의 쿼리가 파이프라인에 진입하는 순간, 정규표현식 기반의 라우터가 쿼리 내의 단어들을 스캔하여 사전에 등록된 사내 공식 용어(Standard Term)로 강제 치환(Replace)해 버린다.
  • “내일 연차 써도 되나요?“라는 쿼리는 임베딩 모델에 들어가기 직전, “내일 유급휴가 써도 되나요?“라는 표준화된 텍스트로 탈바꿈한다.

임베딩 모델이 두 단어의 유사성을 ’추론’하게 두어서는 안 된다. 시스템 설계자는 명확한 동의어 사전을 물리적으로 구축하여, 쿼리의 벡터 공간 진입점(Entry Point) 자체를 정밀하게 통제해야 한다. 이것이 확률론에 점령당한 Vector DB에서 결정론적인 오라클 판단 구조를 구출해 내는 핵심 엔지니어링이다.