PDF의 표에는 국내 출장 식비가 2만 원으로 적혀 있는데 답변에 3만 원이 나왔다면, 글자를 읽은 단계부터 확인합니다. 숫자가 틀렸다는 사실만으로 모델의 계산 능력을 원인으로 정할 수는 없습니다. pypdf의 텍스트 추출 문서는 PDF의 표가 위치에 맞춰 배치한 글자로 저장되기도 하며, 일반 텍스트로 바꾸는 과정에서 행과 열을 해석하기 어렵다고 설명합니다.
문제를 좁히는 기준은 세 가지입니다. 화면의 글자가 추출문에도 있는지, 그 글자가 어느 제목·행·열에 속하는지, 답변이 그 관계를 지켰는지 확인합니다. 앞 단계에서 사라진 예외는 마지막 답변에 정확성을 요구하는 문장만 덧붙여 복구하기 어렵습니다.
글자 선택과 내용 전달을 따로 확인한다
텍스트로 만든 PDF는 글자 정보를 포함합니다. 스캔 PDF는 페이지 사진만 포함할 수도 있고, 사진 위에 인식된 글자 정보를 겹쳐 놓을 수도 있습니다. 문서 한 권 안에서도 페이지마다 구성이 다를 수 있어 첫 장의 복사 성공만으로 전체 파일을 판단하기 어렵습니다.
OCRmyPDF의 소개 문서에 따르면 OCR은 이미지의 글자를 추정해 선택·검색 가능한 텍스트로 바꾸며, 이 도구는 스캔 PDF에 그 텍스트 레이어를 더합니다. 화면의 숫자는 선명해도 뒤에 붙은 OCR 결과가 다르면 복사한 숫자는 달라집니다. 텍스트를 선택할 수 있다는 사실은 화면과 추출문이 일치하는지 확인할 출발점입니다.
확인은 중요한 문장 하나를 복사해 나란히 읽는 것으로 시작합니다. 금액의 쉼표, 소수점, 음수 기호, 날짜, 부정 표현을 먼저 봅니다. 추출문에 글자가 전혀 없으면 이미지 인식이나 OCR 경로를 확인하고, 글자는 있으나 잘못됐다면 원문 이미지와 인식 결과를 대조합니다. 처음부터 텍스트가 들어 있는 페이지까지 전부 다시 OCR로 바꾸는 방식은 별도의 인식 오류를 더할 수 있습니다.
여러 단으로 편집한 문서는 글자를 읽는 순서도 살핍니다. PyMuPDF의 읽기 순서 설명은 파일에 저장된 텍스트 순서가 사람이 보는 읽기 순서와 다를 수 있다고 밝힙니다. 위치 정보를 보존한 추출이나 영역별 읽기가 필요한 이유입니다. 한 줄에 나란히 있는 두 문장이 서로 다른 규정에 속한다면 좌우 위치만 지운 텍스트에서는 적용 대상이 섞일 수 있습니다.
표의 숫자는 행·열·각주와 함께 읽는다
표를 검토할 때는 값 하나를 찾은 뒤 위로 올라가 열 제목, 왼쪽으로 이동해 행 제목을 확인합니다. 표 위의 단위와 아래의 각주도 같은 기록에 묶습니다. ‘20’이라는 값만 남으면 20원인지 20만 원인지 알 수 없고, 개정 전·후 열이 바뀌면 숫자를 정확히 읽어도 답은 틀립니다.
pypdf의 추출 난점 설명은 병합 셀, 각주 위치, 머리말·꼬리말을 텍스트로 옮길 때의 선택을 구분합니다. 글자를 모두 추출해도 표 구조와 본문 소속 관계까지 자동으로 보존됐다고 볼 수는 없습니다. 확인할 단위는 ‘숫자가 포함됐는가’에서 ‘이 숫자가 어떤 조건에 적용되는가’까지 이어집니다.
표가 다음 페이지로 계속되면 앞 페이지의 열 제목과 뒤 페이지의 반복 제목을 연결합니다. 각주가 뒤 페이지로 넘어갔다면 적용 대상이 앞의 표 전체인지 특정 행인지 원문에서 찾습니다. 문서의 인쇄 쪽수와 PDF 뷰어의 순번이 다를 때는 두 번호를 함께 남겨 같은 페이지를 다시 열 수 있게 합니다.
화면에서 표를 잘라 다시 제공하는 방법도 범위를 정해 씁니다. 필요한 행과 열만 자르다가 단위·적용일·제외 조건까지 잘라내면 답을 바꾸는 정보가 줄어듭니다. 재입력할 범위는 값과 그 값을 해석하는 표제·각주가 함께 들어오는 영역입니다.
세 쪽 시험 문서에서 확인한 추출 차이
진단 예시로 실제 회사 자료를 쓰지 않는 영문 PDF 세 쪽을 만들었습니다. 첫 쪽은 출장과 장비 반납 규정을 두 단으로 배치했고, 둘째 쪽은 개정 전후 식비 표와 예외 각주를 넣었습니다. 셋째 쪽은 영수증 규칙을 이미지로만 저장했습니다. 2026년 10월 28일 UTC에 pypdf 6.21.3의 일반 추출과 레이아웃 추출을 실행하고, 렌더링한 각 페이지와 대조했습니다.
다음 표의 마지막 열은 원문 화면에서 확인한 답변 대조 기준입니다. AI에 질의해 얻은 답변이나 제품별 성능 측정값은 포함하지 않았습니다.
| 쪽과 구조 | 원문에서 확인할 관계 | 일반 텍스트 추출의 실제 결과 | 답변 대조 기준 |
|---|---|---|---|
| 1쪽, 두 단 | 왼쪽은 출장, 오른쪽은 장비 반납 | 두 단의 문장이 한 줄씩 번갈아 나옴 | 30일 반납 기한은 장비 규정에 속함 |
| 2쪽, 표 | 국내·해외 행과 개정 전·후 열 | 행 이름 뒤에 15,000·30,000·20,000·40,000이 순서대로 나옴 | 4월 1일부터 출발하는 국내 출장 식비는 1인 1일 20,000원, 제공 식사는 제외 |
| 3쪽, 이미지 | 영수증 필요, 30일 초과 청구 불가 | 텍스트가 빈 문자열로 추출됨 | 영수증 조건과 청구 기한을 확인하되, 30일을 세는 시작점은 문서에 없음 |
둘째 쪽은 레이아웃 추출에서 행과 열의 위치가 공백으로 보존됐습니다. 첫 쪽도 좌우 배치가 드러났지만, 두 단이 각각 독립된 규정이라는 해석은 원문과 대조했습니다. 셋째 쪽은 두 추출 방식에서 모두 글자가 나오지 않았습니다. 이 결과는 만든 문서와 지정한 추출 방식에서 관찰한 차이입니다. 이미지 이해 기능을 가진 AI의 읽기 결과는 따로 시험해야 합니다.
작은 시험 문서는 본래 업무 파일의 문제를 분리할 때도 쓸 수 있습니다. 틀린 답과 관련된 페이지를 같은 구조로 옮긴 뒤, 표를 문장으로 바꾼 버전과 각주를 붙인 버전을 비교합니다. 문서 구조만 바꿨을 때 답이 달라지는지를 기록하면 수정 대상이 추출인지, 표 관계인지, 답변의 조건 누락인지 좁힐 수 있습니다. 실제 업무 자료의 시험 결과는 입력 파일과 질문을 고정해 별도로 남깁니다.
원문·추출문·답변을 대조해 수정 대상을 고른다
한 질문을 정해 ‘원문의 정확한 문장과 위치’, ‘추출문에 남은 내용’, ‘답변이 사용한 주장’을 한 줄에 기록합니다. 답에 페이지 번호가 붙어 있어도 그 페이지가 해당 주장을 지지하는지 직접 확인합니다. 페이지를 인용한 사실과 조건을 정확히 옮긴 사실은 별개의 확인 항목입니다.
다음 표는 관찰한 증상에 따라 다음 확인 대상을 고르는 기록 양식입니다.
| 대조 결과 | 손실이 의심되는 단계 | 다음 확인 |
|---|---|---|
| 화면에는 있지만 추출문에는 글자가 없음 | 이미지·텍스트 변환 | 해당 페이지의 OCR 또는 이미지 읽기 지원, 빈 페이지 여부 |
| 글자가 다른 숫자·기호로 추출됨 | 문자 인식·문자 매핑 | 확대 원문과 추출 숫자, 단위, 부정 표현 |
| 값은 있으나 행·열·문단 소속이 섞임 | 배치·구조 해석 | 표제·열 제목·각주를 포함한 영역과 위치 정보 |
| 추출문에 예외가 있으나 제공된 근거에는 없음 | 관련 구간 선택 | 답변에 전달된 페이지·문단과 제외된 주변 문맥 |
| 필요한 근거가 전달됐는데 답이 다름 | 답변 생성·요약 | 답변 문장과 근거 문장의 대상·날짜·조건 대응 |
문서 처리 과정을 볼 수 없는 서비스에서는 내부 추출 결과를 직접 확인하기 어려울 수 있습니다. 이때는 정답이 명확한 한 문단과 표 한 부분을 따로 제공해 원본 파일로 질의한 결과와 비교합니다. 그 차이는 조사할 단서이며, 서비스 내부에서 실제로 어떤 변환이 일어났는지를 입증하는 로그와는 구분합니다.
출장 식비를 다시 묻는다면 금액, 출발일, 국내·해외 구분, 식사 제공 여부를 답변 기준에 함께 적습니다. 틀린 숫자만 고쳐서 끝내면 같은 표의 다른 행이나 다음 페이지의 예외에서 오류가 반복됩니다. 업무에 사용할 답은 원문의 값과 그 값을 성립시키는 조건까지 대조한 뒤 채택합니다.
자료·실행 확인: 2026년 10월 28일 UTC.
AI 요약에서 빠지는 숫자·조건·예외를 지키는 법
숫자와 고유명사를 그대로 옮긴 요약도 범위나 예외를 빼면 다른 결론이 됩니다. 원문과 요약문을 왕복해 검토하는 기준을 가상 사내 공지의 전후 예시로 설명합니다.
문서를 어떻게 나눠야 AI가 제대로 찾을까: 청킹과 메타데이터
문장 한 줄을 찾았어도 제목과 예외가 떨어져 있으면 AI가 잘못된 대상에 적용할 수 있습니다. 같은 문서를 나누는 예시로 청크 경계와 출처 정보를 정하는 기준을 살핍니다.
AI 데이터 분석을 믿기 전에: 계산·누락값·단위를 확인하는 법
그럴듯한 분석 문장도 중복 행, 다른 단위, 평균의 분모 때문에 틀릴 수 있습니다. 여덟 행의 가상 주문 데이터를 직접 검산해 입력부터 그래프 해석까지 확인할 순서를 설명합니다.
