8.3.2 쿼리 의도와 검색 결과의 의미론적 일치도(Semantic Similarity) 측정
엘라스틱서치(Elasticsearch)를 필두로 한 BM25와 같은 형태소 기반 어휘적(Lexical) 매칭 알고리즘은 텍스트의 표면적인 단어 빈도수가 일치하는지만을 단순 연산할 뿐, 인간 유저가 던진 자연어 쿼리의 복잡한 ’문맥적 행간의 의도(Contextual Intent)’를 전혀 수학적으로 이해하지 못하는 치명적인 근시안을 지닌다.
예를 들어, 직원이 사내 봇에게 “회사 그만둘 때 퇴직금 정산 절차가 어떻게 돼?“라고 물었는데, 실제 사내 핵심 인사 규정 문서에는 ‘회사’, ‘그만둘’, ’퇴직금’이라는 천박한 구어체 단어가 단 하나도 없고 오로지 “근로 계약 해지 시 지급되는 법정 위로금 산정 규정“이라고만 딱딱한 법률 용어로 적혀있다면, BM25 스코어는 자비 없이 0점에 수렴하여 검색 트랜잭션은 철저히 실패(Miss)하고 만다.
이러한 토큰 중심 어휘적 맹점을 근본적인 차원에서 극복하고, 인간의 추상적인 의도를 연속적인 수학적 다차원 벡터로 인코딩하여 계산해 내는 것이 바로 최신 딥러닝 임베딩 모델(Embedding Model) 기반의 의미론적 일치도(Semantic Similarity) 측정 기술이며, 현대의 리트리버 오라클은 이를 검색 파이프라인의 가장 중요하고 무거운 첫 번째 스크리닝 메트릭(Screening Metric)으로 탑재한다.
1. 코사인 유사도(Cosine Similarity)와 고차원 공간의 방향벡터
오라클이 문서의 의미론적 유사성을 측정하는 가장 보편적이고 컴퓨팅 효율적인 수학적 도구는 코사인 유사도 분석이다. 사용자의 Query 텍스트 프롬프트와 Vector DB 서버에 파티셔닝된 각 Document 청크 텍스트 블록은 런타임에 임베딩 전용 모델(예: OpenAI text-embedding-3-large)을 통과하며 수천 차원(예: 1536~3072 Dimension)의 실수 배열을 가진 무거운 부동소수점 다차원 벡터공간의 점(\vec{q}와 \vec{d})으로 사상(Mapping)된다.
오라클 백엔드는 이 두 다차원 행렬 벡터가 원점에서 뻗어 나가며 이루는 사잇각(\theta)의 코사인 매트릭스 값을 즉각 계산한다.
\text{Cosine Similarity}(\vec{q}, \vec{d}) = \frac{\vec{q} \cdot \vec{d}}{\|\vec{q}\| \|\vec{d}\|}
- 스레스홀드 합격 판정: 이 연산된 스칼라 값이 1.0 백분율에 수렴할수록(즉, 두 벡터의 각도가 0도로 일치할수록) 오라클 판사는 두 텍스트가 설령 단 한 글자의 교집합이 없더라도 의미론적으로 완전히 동일한 논리적 방향을 가리키고 있다고 확신한다.
- 앞선 예시의 “퇴직금 정산” 쿼리 벡터와 “근로 계약 해지” 문서 벡터는 어휘는 완벽히 상반되나 고차원 클러스터 공간에서는 매우 가까운 각도로 군집(Semantic Cluster)되어 있으므로, 오라클 심판관은 이를 ’타당하고 관련성 높은(Highly Relevant) 페이로드’로 인정하여 생성 LLM에게 넘기는 합격(Pass) 시그널을 발송한다.
2. 쿼리와 문서의 비대칭적(Asymmetric) 시맨틱 텐서 밀도 딜레마
그러나 RAG 파이프라인에서 짧은 유저 쿼리와 긴 데이터 문서를 맹목적으로 1:1 코사인 유사도 비준으로 때려맞추는 아키텍처에는 치명적인 정보 공학적 맹점(Blind Spot)이 존재한다. 바로 시스템에 유입되는 유저의 질문(Query)은 대체로 5~20 토큰 내외로 극도로 짧고 모호한 압축된 텐서인 반면, 매칭해야 할 문서(Document) 청크는 500~1000 토큰에 달하는 방대하고 빽빽한 노이즈 혼합 형태를 지닌다는 거대한 질량 차이(Asymmetry)다.
이 압도적인 비대칭성 때문에, 짧은 쿼리 벡터는 정보 스칼라 밀도가 너무 빈약하여, 고차원 공간에서 타겟팅해야 할 수많은 서브 토픽을 담은 거대한 문서 덩어리의 벡터 무게중심(Centroid)과 각도가 미묘하게 어긋나버리는 억울한 ‘시맨틱 미스매치(Semantic Mismatch)’ 현상이 실무 벤치마크 테스트에서 잦게 발생한다.
3. 오라클의 교정 아키텍처: 가상 문서 임베딩 패턴 (HyDE Pattern)
진보된 RAG 오라클은 이 극단적인 구조적 비대칭성으로 인한 유사도 점수의 손실(False Negative)을 백엔드에서 교정하기 위해, 수학적 벡터 이전에 언어적 상상력을 동원하는 HyDE(Hypothetical Document Embeddings) 아키텍처 패턴을 검증 로직의 미들웨어(Middleware)로 전격 차용한다.
- 직접 대조의 포기: 오라클은 빈약한 유저의 짧은 질문 벡터를 직접 거대한 코퍼스 DB의 긴 문서 벡터와 즉시 대조하는 무식한 짓을 스스로 포기(Bypass)한다.
- 환각적 프록시(Proxy) 생성: 대신, 오라클 내부의 가벼운 보조 LLM(예: Claude Haiku)을 밀리초(ms) 단위로 호출하여 유저 질문의 핵심을 관통하는 ’현실에 존재할 법한 그럴싸한 가상의 모범 답변 문단(Hypothetical Answer Document)’을 일단 길게 창작해서 토해낸다. (역설적이게도 이 과정에서 발생하는 LLM 특유의 자연스러운 지식 환각조차도 의미론적 어휘망을 확장시키는 훌륭한 촉매로 작용한다).
- 대칭적 텐서 비교: 길이와 구조가 매우 풍부해져 드디어 텐서 질량 비대칭성이 완벽히 해소된 이 ’길고 유창한 가상 정답 텍스트 벡터’와 ‘Vector DB에 잠들어 있는 다량의 실제 문서 텍스트 벡터’ 사이의 코사인 유사도를 새롭게 1:1로 맞짱 대조하여 스코어링한다.
이러한 혁신적인 전처리 패턴을 통해 리트리버 오라클은 원본 쿼리의 빈약한 의미 스칼라 밀도를 벌크업(Bulk-up) 보강해 주고, 의미론적 일치도 스코어링의 임계점 신뢰성 지표를 극한까지 끌어올리며 그 어떠한 교묘한 질문도 놓치지 않는 가장 견고하고 유연한 검색 관문 방화벽을 구축해 낸다.