8.5.2 인용된 청크(Chunk)와 생성된 문장 간의 지지(Support) 여부 판별

8.5.2 인용된 청크(Chunk)와 생성된 문장 간의 지지(Support) 여부 판별

타겟 생성 모델이 문장 끝에 [Doc1_Chunk2]라는 출처 태그를 문법 규칙에 맞게 정상적으로 달아놓았다고 해서 오라클의 검증이 끝나는 것은 아니다. 파라미터 기반의 언어 모델은 확률의 노예이므로, 문법적 포맷(출처 표기)은 지켰을망정 정작 **자기가 달아놓은 그 출처 인덱스 번호와, 자기가 그 앞에 렌더링한 답변 문장 사이에 아무런 인과적 관련성이 없는(Unsupported) ‘환각적 인용 연결’**을 저지르는 경우가 허다하다.
예를 들어 휴가 규정에 관해 묘사하면서, 엉뚱하게도 서버 장애 복구 지침이 담긴 [Doc9_Chunk4]를 출처라고 당당하게 마킹해 놓는 식이다.

이러한 내용적 불일치를 잡아내기 위해, 오라클 시스템은 렌더링된 인용 번호를 핀셋으로 뽑아 원래 Vector DB의 텍스트 공간으로 역추적(Backtracking)하여, **생성된 문장(S)과 인용된 원본 청크(C) 사이의 논리적 지지(Support) 여부를 NLI(자연어 추론) 엔진을 통해 한 번 더 수학적으로 판별(Entailment Check)**하는 살벌한 보안 관문을 거친다.

1. 정밀 매핑(Fine-grained Mapping)과 추출

오라클 미들웨어는 정규 표현식을 사용하여 출력된 응답 텍스트를 순회하며 (문장, [인용 출처]) 형태의 튜플(Tuple) 구조 쌍을 뽑아낸다.

  • S_1: “신입사원의 정기 휴가는 10일입니다.” / Citation_1: [Doc1_Chunk2]

그리고 오라클은 파이프라인의 메모리 캐시나 Vector DB를 쿼리하여 해당 인용 번호 Doc1_Chunk2가 실제로 품고 있던 원본 바이트 텍스트를 강제로 다시 로드(Reload)한다.

  • C_1 (원본): “입사 1년 차 미만 직원의 연차는 최대 10일로 제한한다.”

이제 오라클은 이 거대한 N \times M 차원의 무작위 교차 검증이 아니라, 이미 타겟 모델이 스스로 “이것이 나의 근거다“라고 자백한 **명시적인 1:1 타겟 매핑(S_1 \leftrightarrow C_1)**에 대해서만 NLI 엔진의 백토치(PyTorch) 텐서를 가동시켜 집중 추궁을 시작한다.

2. NLI 지지(Support) 여부의 기계적 판독 체계

1:1로 추출된 (문장-청크) 듀오가 NLI 판별기에 인풋으로 들어가면, 오라클은 타겟 문서(Chunk)가 타겟 문장(Sentence)을 온전히 **지지(Supported)**하고 있는지를 다음 세 가지의 확률 플래그로 결정론적으로 분류한다.

  1. Fully Supported (완전 지지): C_1(입사 1년 차)이 S_1(신입사원)의 의미론적 범주를 완전히 커버하며(Entailment), 10일이라는 수치 데이터까지 완벽하게 정방향으로 지지한다. 오라클은 이 인용을 ’신뢰할 수 있는 정상 인용’으로 통과시킨다.
  2. Partially Supported (부분 지지 및 비얀 감지): 응답 문장에는 “신입사원의 휴가는 10일이고, 점심시간은 2시간이다“라고 적혀 있는데, 인용된 청크 C_1에는 오직 ’10일’에 대한 내용만 있고 점심시간에 대한 언급은 아예 없는 경우다. 오라클은 이를 **‘Over-claim (문서를 초과한 과잉 주장)’**으로 적발하고 해당 문장을 보류(Pending)시킨다.
  3. Unsupported / Contradiction (완전 미지원 또는 모순): 응답 문장에는 “신입사원의 휴가는 20일이다“라고 적혀 있는데, 가져온 청크는 “10일“이라고 명시하고 있다. 이것은 단순한 비약이 아니라 오답(Wrong Answer)이므로 즉각적인 치명적 환각 범죄로 마킹하여 해당 세션의 배포를 차단(Kill)한다.

이러한 지지 여부 판별 아키텍처는, 타겟 모델이 사용자에게 “내가 똑똑해서 이 답변을 쓴 게 아니라, 당신네 회사의 이 문서를 똑같이 읽고 도출한 것입니다“라고 책임을 전가하는 행위가 수학적으로 올바른지 그 꼬리표(Citation)를 따라가 직접 영수증을 팩트 체크하는 가장 엄격한 리버스 엔지니어링(Reverse Engineering) 감사(Audit) 과정이다. 유저가 화면의 주석 번호를 마우스로 클릭했을 때 해당 문서의 하이라이트 구간으로 정확하게 이동(Scroll)하며 완벽한 논리적 부합을 이루어 내게 만드는 핵심 기술이 바로 이 ’문장-청크 일대일 지지 결합망’에 있다.