13.1.1 비정형 문서(PDF, 이미지, 이메일)의 구조적 가변성 분석

13.1.1 비정형 문서(PDF, 이미지, 이메일)의 구조적 가변성 분석

컴퓨터 과학과 데이터 공학의 차가운 시스템 관점에서 분석해 볼 때, 비정형 문서가 품고 있는 근본적인 적대성(Hostility)과 악의성은 그 핵심 데이터가 방대한 2차원 시각 공간(Visual Space)이나 흐름이 통제되지 않은 난해한 텍스트 스트림(Text Stream) 위에 무작위로 흩뿌려지고 찢어져 살포되어 있다는 물리적 사실에서 기인한다.

관계형 데이터베이스(RDBMS)가 컬럼(Column)과 타입(Type)이라는 강건한 1차원 컨테이너 격벽 속에 데이터를 영원히 보호하는 것과 달리, 인간들의 비정형 문서는 오직 ’문서를 읽어 들이는 인간의 안구와 지능’이 문맥과 폰트 크기 조형을 통해 시각적 레이아웃 데이터를 머릿속에서 스스로 조립해 낼 것이라는 매우 무책임하고 오만한 전제하에 작성되고 배포된다.

이러한 무자비한 **‘구조적 가변성(Structural Variability)’**은, 엔터프라이즈의 백엔드 파이프라인에서 자동화된 기계 로직으로 데이터를 통일성 있게 추출하려는 모든 시스템 공학적 시도를 번번이 처참하게 붕괴시키는 핵심적인 인프라 교란 폭탄으로 작용한다.

1. 매체의 본질적 형태에 따른 노이즈 파편화(Fragmentation) 양상

데이터 엔지니어가 MLOps 추출 파이프라인의 멱살을 쥐고 처리해야 할 비정형 문서의 매체(Media)들은 크게 세 가지 극단적인 차원의 가변성 형태를 띠며 시스템을 괴롭힌다.

  • PDF 및 청구서 (2차원 공간 레이아웃의 파편화):
    엔터프라이즈에서 가장 환멸을 느끼는 흔한 형태인 계약서, 세금 계산서, 인보이스(Invoice)는 X-Y 2차원 캔버스 좌표계 위에 텍스트 블록이 둥둥 떠 있는 위상 구조를 갖는다. 이를 기계적인 PDF 파서나 광학 문자 인식(OCR) 렌즈 모듈로 단순하게 텍스트로만 긁어(Scraping)내면 어떻게 될까? 인간의 눈에는 명확하게 좌우로 나란히 보이던 2단 컬럼 구조의 거대한 표(Table)나, [영수증 청구 금액: $1,250]이라는 명확한 키-값 쌍(Key-Value Pair)이 1차원 배열의 끈으로 강제 압착되어 붕괴되면서, [영수증, $1,250, 세금, 청구, 내역, 금액]처럼 도무지 위상을 알 수 없는 기형적인 문자열로 마구잡이로 뒤섞여 파이프라인으로 폭격처럼 쏟아져 들어오게 된다.
  • 이메일 쓰레드 및 고객 클레임 덤프 (시간적/문맥적 파편화):
    긴 꼬리를 무는 이메일 쓰레드(Thread)나 고객 클레임 접수 내역 텍스트는 인간의 감정적인 의식의 흐름을 날것 그대로 담고 있다. *“작년에 결제했던 그 30만 원짜리 정기권 티켓 말고, 이번 주에 실수로 산 50만 원짜리 환불 좀 해줘요.”*와 같은 더러운 텍스트 늪에서 ’환불 타겟 목표 금액’을 정확히 1개 쿼리로 추출하려면, 시간의 역류 흐름(작년 vs 이번 주)과 지시대명사(그, 50만 원짜리)의 문맥적 은닉 종속성을 완벽히 역어셈블리(Disassembly) 해내야만 한다. 파이프라인 엔진은 이 난해한 언어적 난장판에서 깔끔하게 정형화된 JSON 필드 한 줄을 뽑아내야 하는 끔찍한 추론의 심연에 빠진다.
  • 스캔 이미지 파일 (물리적 픽셀 노이즈의 강제 개입):
    결재 도장 자국이 중요 글자를 반쯤 가리거나, 스캐너가 실수로 5도 틀어져서 스캔 되거나, 심지어 커피 자국이 찍혀 있는 이미지 데이터는 OCR 엔진을 통과하는 1차 관문에서부터 필연적으로 문자 자체를 환각시킨다 (예: 중요한 송장 번호 숫자 3을 영문자 B로, 숫자 0을 알파벳 O로 잘못 인식). 이는 뒤에 대기하고 있는 LLM 추론 엔진에 텍스트를 주입하기도 전에, 이미 데이터 입력 센서 단에서부터 방사능에 오염된 독극물을 강제로 퍼마시게 하는 파국과 같다.

2. 예측 불가능성(Unpredictability)이 부르는 파이프라인의 도미노 파멸

위와 같은 끝없는 공간적, 시간적, 물리적 가변성의 폭격 때문에, 비정형 데이터 추출 파이프라인은 인프라 세계에서 본질적으로 **‘열역학 제2법칙(물리적 무질서도 증가의 법칙)’**을 지독하게 충실히 따르게 된다.

초거대 언어 모델에게 아무리 천재적이고 기교 넘치는 프롬프트(Prompt)를 공들여 작성하여 *“이 문서에서 총결제 금액(Total Amount)을 숫자로만 정확히 뽑아내라”*라고 엄격하게 명령을 하달하더라도 소용이 없다. 인풋(Input)으로 쏟아지는 원본 문서의 비정형 형태가 시각적 레이아웃 변형의 붕괴, 인간의 엉망진창인 중의적 문장 구조, 혹은 OCR 스캔의 자글자글한 픽셀 노이즈 등으로 매번 난수처럼 미친 듯이 튀어버리면, LLM의 무거운 토큰 확률망은 어텐션(Attention)을 집중해야 할 헤딩 타겟을 잃고 끝없이 흔들리며 연산 오류를 뿜어내게 된다.

이 치명적이고 끔찍한 구조적 가변성이 철저하게 방치된 상태로 LLM 파이프라인의 프롬프트가 프로덕션으로 무사안일하게 밀어붙여질 때, 굳게 닫혀있던 재앙의 판도라 상자가 활짝 열리며 LLM 고유의 지독하고 파괴적인 기계 질병이 백엔드 시스템 장부 전체를 오염시키고 감염시키기 시작한다.
우리는 다음 절로 넘어가 이 비정형 문서의 예측 불가능한 구조적 가변성이 어떻게 LLM의 트랜스포머(Transformer) 디코딩 엔진을 철저히 파괴하고 농락하여 엔터프라이즈의 척추를 끊어놓는 최악의 ‘환각(Hallucination)’ 데이터 추출 오류를 강제로 격발 시키는지, 그 치명적인 재앙의 종류들을 낱낱이 해부할 것이다.