손글씨 문서 맞춤형 컬럼 추출: 필드 한 번 정의로 모든 필기 처리
템플릿 기반 추출은 손글씨에 실패합니다. 맞춤형 컬럼 추출을 사용하면 필드 이름을 한 번 정의하고 모든 손글씨 양식에서 추출할 수 있습니다. 문서별 설정이 필요 없습니다.
템플릿 기반 추출이 필기체 문서에서 작동하지 않는 이유
템플릿 기반 추출 도구는 단순한 전제로 작동합니다. 한 페이지에서 송장 번호 주변에 상자를 그리고, 소프트웨어는 이후 모든 페이지에서 동일한 상자 안의 내용을 읽습니다. 단일 출처(알려진 공급업체, 표준화된 정부 문서)의 인쇄된 양식에는 효과적입니다. 레이아웃이 변하지 않기 때문입니다. "송장 번호" 필드는 항상 x=340, y=120에 위치합니다.
필기체는 모든 수준에서 이 가정을 무너뜨립니다. 계약자의 손글씨 송장에는 상자가 없습니다. 총액은 오른쪽 하단 모서리에 휘갈겨 쓰여 있고, 두 번 동그라미 쳐져 있으며, "$"는 나중에 추가되었을 수 있습니다. 간호사의 손글씨 환자 양식은 인쇄된 날짜 필드가 너무 작아서 여백에 날짜를 쑤셔 넣을 수도 있습니다. 창고 직원의 손글씨 수량 기록은 카본 사본에 남은 빈 공간 아무 곳에나 적힙니다. 템플릿은 위치적 일관성을 요구합니다. 필기체는 위치적 가변성을 보장합니다.
이는 사소한 불편이 아닙니다. 근본적인 범주 불일치입니다. 템플릿 기반 추출은 모든 문서를 공간적 퍼즐로 취급합니다. 올바른 좌표를 찾는 것입니다. 필기체는 의미적 퍼즐입니다. 올바른 의미를 찾는 것입니다. 두 접근 방식은 서로 다른 문제를 해결하고 있습니다. 누군가 "총 지불액"이라고 쓸 수 있는 모든 가능한 위치를 포함할 만큼 충분한 경계 상자를 그릴 수 없습니다. 설령 그릴 수 있다 해도, 도구는 모양을 일치시키고 맥락을 이해하지 못하기 때문에 필기체를 여전히 잘못 읽을 것입니다. 모양 일치만으로는 부족한 이유를 이해하려면 AI 필기체 인식이 기존 OCR과 다른 점에 대한 분석을 참조하세요.
"사용자 정의 열 추출"의 실제 의미와 이것이 다른 패러다임인 이유
사용자 정의 열 추출은 작업 흐름을 역전시킵니다. 도구에 어디를 봐야 하는지(좌표, 템플릿, 경계 상자) 알려주는 대신, 무엇을 원하는지 알려주면 도구가 각 페이지에서 해당 정보가 어디에 있는지 스스로 파악합니다.
실제로는 이렇게 작동합니다. 빈 인터페이스를 열고 필요한 필드 이름을 입력합니다. 마치 스프레드시트에 열 머리글을 입력하는 것과 같습니다.
| 열 이름 | AI가 이해하는 방식 |
|---|---|
송장 번호 | "송장 참조 번호처럼 보이는 값을 찾으세요. 'Inv #', '참조 번호'로 표시되거나 페이지 상단 근처의 숫자일 수 있습니다." |
날짜 | "날짜 값을 찾으세요. '5/12', '2026년 5월 12일', '12.05.26' 등 페이지 어디든 손글씨로 쓰여 있을 수 있습니다." |
총 금액 | "최종 금액 합계를 찾으세요. 페이지 하단 근처에서 가장 큰 숫자를 찾고, 종종 '$', '합계', '지불 금액'이 앞에 옵니다." |
템플릿을 프로그래밍하는 것이 아닙니다. 모델을 훈련시키는 것도 아닙니다. 관심 있는 데이터 포인트의 이름을 지정하는 것입니다. 그러면 AI가 문서 구조, 필드 의미론, 시각적 맥락에 대한 이해를 사용하여 각 값을 찾습니다. 입력한 열 이름은 출력 스프레드시트의 머리글이 됩니다. AI는 각 페이지에서 찾은 일치하는 값으로 각 행을 채웁니다.
패러다임의 전환이 여기 있습니다. 템플릿 기반 도구는 문서를 도구의 경직된 좌표계에 맞추도록 요구합니다. 맞춤형 컬럼 추출은 도구를 문서에 맞춥니다 — 어떤 필체, 어떤 레이아웃, 몇 페이지든 상관없습니다. 인터페이스는 컬럼 이름입니다. 출력은 스프레드시트입니다. 그 사이의 모든 것 — 시각적 파싱, 필체 해독, 필드 매칭 — 은 AI의 몫이지, 여러분의 몫이 아닙니다.
사고 방식의 전환: 템플릿 기반 추출은 "값은 이 좌표에 있다"고 말합니다. 맞춤형 컬럼 추출은 "값은 이 질문에 답하는 것이다"라고 말합니다. 하나는 문서를 처리하기 전에 알아야 합니다. 다른 하나는 문서가 어떻게 생겼든 상관없이, 필요한 정보가 무엇인지 알면 됩니다.
한 번 정의하면, 어떤 필체든 처리: AI가 문서 간 필드를 찾는 방법
손글씨 추출에서 가장 어려운 문제는 개별 글자를 읽는 것이 아닙니다. — 모든 페이지가 다르게 보일 때, 어떤 손글씨 낙서가 어떤 필드에 해당하는지 식별하는 것입니다. 알려진 공급업체의 인쇄된 청구서는 예측 가능한 구조를 가집니다: 송장 번호는 오른쪽 상단, 합계는 오른쪽 하단, 라인 항목은 중간을 채웁니다. 매번 다른 사람이 작성한 손글씨 문서에는 이러한 예측 가능성이 전혀 없습니다. "합계"는 어디에나 있을 수 있습니다.
이것이 컬럼 이름 추출이 위치 기반 고정이 아닌 의미 기반 고정에 의존하는 이유입니다. "총 금액"을 컬럼 이름으로 입력하면, AI는 고정된 좌표 집합에서 스캔을 시작하지 않습니다. 전체 페이지를 시각적 장면으로 처리하고 "이 페이지에서 최종 금액 합계를 나타내는 것은 무엇인가?"라고 묻습니다. 여러 신호를 동시에 고려합니다:
이러한 다층적 접근 방식 덕분에 "한 번 정의하면 어떤 필체든 처리 가능"합니다. 열 이름은 의미적 대상을 제공합니다. AI의 비전 모델은 답변이 어디에 어떻게 쓰여 있든 그 대상을 정확히 찾아내는 유연성을 제공합니다. 깔끔한 인쇄체 청색 잉크 송장에서 "송장 번호"를 추출하는 동일한 열 정의가 연필로 쓴 지저분한 필기체 영수증에서도 동일한 정보를 찾아냅니다. 모양을 찾는 것이 아니라 질문에 대한 답을 찾기 때문입니다.
양식에서 특정 필드만 추출하고 나머지는 무시해야 하는 경우, 열 이름 접근 방식이 자연스럽게 확장됩니다. 필요한 데이터 포인트만 정의하고 AI가 필터링하도록 하면 됩니다. 이 선택적 추출 워크플로에 대한 자세한 내용은 손글씨 양식에서 필요한 특정 데이터 필드만 추출하는 방법 가이드를 참조하세요.
실제 워크플로: 다양한 손글씨 더미에서 단일 스프레드시트까지
전체 사용자 정의 열 추출 워크플로를 처음부터 끝까지 살펴보겠습니다. 시나리오: 소규모 건설 회사의 회계사입니다. 매주 금요일마다 7명의 하청업체가 손으로 쓴 근무 시간표를 제출합니다. 각 하청업체의 필체는 모두 다릅니다. 각자 약간씩 다른 방식으로 양식을 작성합니다. 어떤 이는 날짜를 모서리에 쓰고, 어떤 이는 지정된 칸에 쓰며, 아예 날짜를 쓰지 않고 주차만 적는 경우도 있습니다. 각 근무 시간표에서 네 가지 데이터 포인트(근로자 이름, 날짜, 근무 시간, 작업 현장)가 필요합니다.
근로자 이름, 날짜, 근무 시간, 작업 현장의 네 가지 열 이름을 입력합니다. 이것으로 끝입니다. 필드 매핑, 좌표 상자, 학습 샘플이 필요 없습니다. 이 네 가지 이름은 앞으로 모든 손글씨 근무 시간표에 대한 영구 추출 템플릿이 됩니다.다음 주 금요일, 같은 7명의 하청업체가 또 다른 타임시트를 제출합니다. 필체가 같을 수도 있고, 전에 본 적 없는 새로운 하청업체의 필체일 수도 있습니다. 동일한 4개의 열 이름을 사용합니다. AI가 나머지를 처리합니다. 열은 세션 간에 유지되므로 매주 필드를 다시 정의할 필요가 없습니다. 추출 템플릿은 일회성 설정 작업이 아닌 워크플로 인프라의 일부가 됩니다.
파일은 안전하게 처리되며 저장되지 않습니다.
자주 묻는 질문
사람마다 다른 필체에 대해 각각 별도의 열을 정의해야 하나요?
아닙니다. 그것이 바로 이 시스템의 핵심입니다. "총 금액"과 같은 열 이름은 어떤 필체에서도 동일하게 작동합니다. AI가 손으로 쓴 "총"이라는 단어의 모양을 인식하는 것이 아니라, 페이지의 해당 위치에 금액이 적혀 있다는 것을 이해하기 때문입니다. 열 정의는 필체에 영향을 받지 않습니다. 한 번 정의하면 모든 배치에서 사용할 수 있습니다.
두 사람이 같은 항목을 다르게 작성하는 경우(예: 한 명은 "5/12", 다른 한 명은 "May 12")는 어떻게 되나요?
AI는 추출 과정에서 날짜 형식을 자동으로 통일합니다. 누군가 "5/12", "2026년 5월 12일", "05/12/26", 또는 "May 12th"라고 쓰더라도, 출력 결과는 스프레드시트에서 일관된 형식으로 표시됩니다. 이 정규화는 날짜, 통화 금액 및 기타 구조화된 데이터 유형에 적용되므로, 형식 변형을 수동으로 정리할 필요가 없습니다.
정의할 수 있는 열 개수에 제한이 있나요?
엄격한 제한은 없지만, 실질적으로 가장 적합한 개수는 5개에서 30개 사이입니다. 너무 적게 정의하면 나중에 필요한 데이터를 놓칠 수 있습니다. 너무 많이 정의하면 모든 문서에 해당 값이 없는 열이 생길 가능성이 높아집니다. 물론 그런 경우 AI는 데이터를 임의로 생성하지 않고 해당 셀을 비워둡니다. 이 시스템은 "페이지의 모든 가능한 필드"가 아닌, "다운스트림 프로세스에 실제로 필요한 필드"라는 현실적인 추출 범위를 위해 설계되었습니다.
문서에 명시적으로 나타나지 않는 열을 정의할 수 있나요?
네, 가능합니다. 이를 추론 열이라고 합니다. AI가 기존 값을 찾는 대신 문서에 대해 추론하는 열입니다. 예를 들어, "분류 (옵션: 식비/교통비/사무비/기타)"라는 열을 정의하면, AI가 손으로 작성된 영수증을 검토하여 식당 영수증임을 파악하고 "식비"를 입력할 수 있습니다. 영수증 어디에도 "식비"라는 단어가 적혀 있지 않더라도 말이죠. 추론 열은 분류, 플래그 지정, 그리고 문서에 직접 작성되지 않았지만 맥락에서 도출 가능한 모든 데이터 포인트에 사용됩니다.
AI가 특정 페이지에서 필드를 찾지 못하면 어떻게 되나요?
해당 셀은 비워둡니다. AI는 값을 추측하거나 임의로 채우지 않습니다. 빈 셀은 "이 페이지에서 이 필드를 확실히 찾을 수 없었습니다"라는 의미입니다. 이후 해당 문서를 수동으로 검토할 수 있습니다. 이는 의도적인 설계 선택입니다. 빈 셀은 조치 가능(확인해야 한다는 것을 알 수 있음)하지만, AI가 임의로 생성한 값은 위험합니다(하위 오류를 일으키기 전까지 발견하지 못할 수 있습니다).
커스텀 열 추출은 "이 문서들에서 실제로 무엇이 필요한가?"라는 질문에서 시작됩니다. 나머지는 AI가 여러분의 손글씨 페이지를 그 관점에서 해석하는 과정입니다. 직접 문서 배치로 시도해보고, 동일한 열 이름이 다양한 필체에서 어떻게 유지되는지 확인해보세요.