MakeAI 딥러닝

OCR이란? 문자인식부터 문서 이해까지, 기술의 세대 교체

글자를 읽는 OCR과 문서를 이해하는 Document AI는 뭐가 다를까요? 기술 세대별 차이를 정리하고, 지금 저희가 어느 조합을 쓰는지 설명해요.

3분 읽기

"OCR 하시는 회사죠?"라는 말을 자주 들어요. 맞기도 하고 아니기도 해요. OCR은 저희가 하는 일의 한 부분이고, 지금은 그보다 훨씬 많은 걸 해요. 오늘은 OCR이 어떻게 변해 왔는지 세대별로 정리하고, "문서 이해"가 뭐가 다른지 설명해 볼게요.

1세대: 글자 모양 맞추기

1990~2000년대 OCR은 글자 하나하나를 잘라서 미리 저장한 글자 모양과 비교했어요. 인쇄체, 정해진 글꼴, 깨끗한 스캔에서는 잘 됐어요. 글꼴이 바뀌거나 글자가 붙어 있거나 기울어지면 바로 무너졌고요. 한글은 자모 조합이라 글자 수가 많아서 특히 힘들었어요.

2세대: 딥러닝 글자 인식

2010년대 중반부터 합성곱 신경망과 순환 신경망(CRNN 계열)이 글자 인식을 맡았어요. 글자를 하나씩 자르지 않고 줄 단위 이미지를 통째로 넣어서 글자 열을 뽑아요. 글꼴·기울기·약간의 노이즈에 강해졌고, 손글씨도 어느 정도 되기 시작했어요.

여기까지가 대부분 사람이 생각하는 "OCR"이에요. 입력은 이미지, 출력은 글자열과 위치예요.

3세대: 레이아웃을 같이 보기

글자를 잘 읽어도 문서의 구조는 몰라요. 어디가 제목이고, 어디가 표고, 어느 칸이 어느 열인지요. 2020년 전후로 레이아웃 검출(표·그림·제목·본문 영역 찾기)과 표 구조 인식 모델이 OCR과 결합되면서, 출력이 "글자열"에서 "구조화된 문서"로 바뀌었어요.

저희가 2월에 쓴 표제란·부품표·치수 글이 다 이 세대 기술이에요. 글자는 2세대 모델이 읽고, 구조는 3세대 모델이 잡아요.

4세대: 멀티모달 문서 이해

이미지와 글자를 한 모델이 같이 보는 VLM(비전-언어 모델)이 나오면서, "이 계약서의 해지 조건은?" 같은 질문에 이미지에서 바로 답하는 게 가능해졌어요. 6월 16일 글이에요. 구조를 명시적으로 뽑지 않아도 이해해요.

대신 좌표가 없고, 흐린 글자를 지어내고, 비싸고, 문서가 외부로 나가요. 6월 9일 비교 실험에서 쓴 것처럼, 정해진 문서 종류에서는 3세대 조합이 더 정확했어요.

"문서 이해"는 뭐가 다르냐면요

OCR(2세대)과 문서 이해(3·4세대)의 차이를 한 줄로 하면, 출력이 글자냐 데이터냐예요.

OCR 문서 이해
입력 이미지 이미지 (+ 원본 파일 구조)
출력 글자열 + 위치 필드, 표, 관계, 판정
"수량 4"를 "수량", "4" 두 글자열로 부품표 10번 행의 수량 열 = 4 로
틀렸을 때 글자가 틀림 값이 틀리거나, 모른다고 함

문서 이해는 OCR 위에 구조 인식, 관계 연결, 검증, 신뢰도 보정이 올라간 거예요. 이 블로그에서 반년 동안 쓴 게 대부분 그 "위에 올라간" 부분이에요.

저희는 뭘 쓰냐면요

  • 원본 파일이 있으면 OCR을 안 해요. HWP·HWPX는 네이티브 파싱(1월), 텍스트 레이어 있는 PDF는 텍스트를 바로 뽑아요. OCR은 추측이고, 원본은 사실이에요.
  • 스캔본은 2세대 인식 + 3세대 구조. 저희 문서 종류로 학습한 작은 모델들이에요.
  • 저신뢰 영역만 4세대에 물어봐요. 전부 보내면 비싸고, 일부만 보내면 괜찮아요. 답은 "추정" 표시예요.
  • 그 위에 검증과 판정. 합계 검증, 교차 대조, 보류. 5월 26일 거버넌스 글이에요.

OCR 제품을 고르실 때

"OCR 정확도 99%"는 글자 단위 정확도예요. 글자 100개 중 1개 틀리면 금액 하나가 틀린 거예요. 업무에 필요한 건 필드 단위, 값 단위 정확도고, 더 나아가서 틀렸을 때 모른다고 하는지예요. 세대가 아니라 이 질문으로 고르시면 돼요.

다음 주는 저희 도면 판정 리포트의 뼈대인 "근거·대조·원칙·신뢰도" 네 요소 이야기예요.