디지털 자산화를 위한 기술 101

2023/11/14   |  3 mins
디지털 자산화를 위한 기술 101
 
  • 박은정 (Upstage CSO)

  • OCR과 정보추출이 헷갈리셨던 분

    OCR에 대한 기본에 대해서 알고 싶으신 분

  • OCR, 정보추출 개념 정리

    좋은 OCR, 정보추출 모델의 기준

  • ✔️ 문서의 모든 글자를 읽는 기술, OCR

    ✔️ OCR에서 한 걸음 진화해 문서에서 핵심정보만 골라내는 기술, 정보추출

(이 블로그는 Digitize Anything! 시리즈의 2편입니다.)

지난 블로그에서 이야기하였듯 디지털 트랜스포메이션을 위해서는 디지털 자산화가 반드시 선행되어야 합니다. 그런데 디지털 자산화의 목적에 따라 사용하는 기술이 달라집니다. 어떤 기술을 써야할까요? 이 글에서 우리가 가진 데이터와 목적에 따라 어떤 기술을 도입해야하는지 설명해드리겠습니다.




문서의 모든 글자를 읽는 기술, OCR

OCR이란

먼저, 우리 조직이 가지고 있는 데이터가 이미지 또는 문서 파일이고, 파일 안에 속한 모든 글자를 찾아서 읽고 싶은 경우에는 OCR(optical character recognition, 광학문자인식)을 활용할 수 있습니다.

  • OCR은 어떤 입력을 받나요?: png, jpg, pdf 등 문서 파일

  • OCR은 어떤 출력을 반환하나요?: 글자 및 글자의 위치 정보

  • OCR은 어떻게 동작하나요?: OCR은 보통 두 개의 모델로 구성이 됩니다. 먼저, 주어진 파일로부터 글자를 찾아내는 검출기(detector)과, 찾은 글자가 무엇인지 판독하는 인식기(recognizer)입니다.

 

Detector → Recognizer

검출기의 경우 quad (4개의 점의 사각형), polygon (2N개로 표현되는 contour), center point (1개의 중심점) 등으로 글자의 위치를 표현합니다. Upstage Document OCR은 위의 사진처럼 4개의 점을 가진 사각형 방식으로 검출합니다.

인식기의 경우, 글자의 인식을 사전에 정의된 인식 대상 글자를 기반으로 수행됩니다. 정의되지 않은 인식 글자는 보통 “�” 등과 같은 정의되지 않은 기호(unknown symbol)로 인식이 됩니다. 현재 Upstage Document OCR에서 정의된 인식 대상 글자들은 (1) 한국어 (2) 영어 (3) 숫자 (4) 한문 (5) 특수문자 등이며, 고객의 요청에 따라 꾸준히 추가해나가고 있습니다.

요즘에는 검출기와 인식기 모두 딥러닝 기반의 모델로 개발이 되며, 사용 시나리오에 따라서는 검출기와 인식기를 별도로 개발하지 않고 end-to-end의 통합 모델을 사용하기도 합니다.


좋은 OCR 모델이란

우리 조직에 딱 맞는 OCR 모델을 도입하기 위해서는 모델을 올바르게 평가할 수 있어야 합니다. 다음은, OCR 모델을 평가하는데 활용할 수 있는 네 가지 기준입니다.

  1. 정확도: 많은 고객 분들이 OCR 모델에서 가장 중요하게 여기는 지표는 정확도입니다. 조금 더 정확한 기술적 용어는 F1-score이고, 2023년 기준으로 상용 수준의 모델들은 어떠한 테스트셋에 대해서도 95점 이상 되는게 일반적입니다.

  2. 추론 속도: 실시간으로 결과를 반환해야하는 경우에는 추론 속도가 중요합니다. 이미지에 포함된 글자 수에 따라 달라지지만, 이미지 당 2초 이내의 추론 속도면 준수합니다. 보통 추론 속도는 정확도와 트레이드오프(tradeoff) 관계에 있습니다. 추론 속도가 덜 중요하다면, 속도가 빠르지는 않지만 상대적으로 정확도가 높은 모델을 선택할 수 있습니다.

  3. 인식 범위: OCR 모델로 인식되는 문자의 범위는 보통 ISO-15924에서 정의되는 문자셋이나, ISO 639-1의 언어코드로 정의할 수 있습니다. 따라서 OCR을 도입하기 전에는 우리 조직의 사용 시나리오에 적합한 문자셋 또는 언어코드가 무엇인지 확인하는 과정이 반드시 필요합니다. 또한, 유니코드로 정의되지 않는 서명, 체크박스, 도장 등의 특수 항목(object)들이 필요하지는 않은지 검토해야합니다.

  4. 강건성(Robustness) : 마지막으로, AI 모델의 특성상 테스트셋과 메트릭에 따라서 정확도 점수는 천차만별로 달라질 수 있습니다. 따라서 어떠한 경우에 정확도가 95점이었던 OCR 모델이 다른 경우에 대해서는 80점이 되는 것이 놀랍지 않습니다. 특정한 경우에 점수가 좋던 모델이 우리 조직의 데이터에 대해 품질이 떨어진다면, 모델의 일반화 성능이 떨어진다고 볼 수 있습니다. 좋은 OCR 모델은 다양한 현실 데이터, 또는 엣지 케이스(edge case)에 대해 뛰어난 품질을 자랑합니다. 따라서 특정 OCR 모델이 좋은 모델인지 검증하기 위해서는, 우리 데이터의 다양한 케이스에 충분한 강건성(robustness)을 가지는지를 체크하는 것이 중요합니다.

OCR


어디에 쓰이나요?

OCR의 대표적인 유즈케이스는 다음과 같습니다.

  1. 이미지 검색(Image search): 이 기술은 문서 내에 있는 글자를 인덱싱하여 이미지를 검색하는 데 사용됩니다. 예를 들어, 특정 문서에 쓰인 단어나 문장을 기반으로 관련 이미지를 찾고 싶을 때 이 기술이 유용합니다. 사용자가 입력한 텍스트를 분석하여 그 내용과 관련된 이미지를 인터넷이나 데이터베이스에서 찾아냅니다.

  2. 만화 번역(Manga translation): 이 기술은 만화에 포함된 글자를 추출하여 다른 언어로 번역하는 데 사용됩니다. 만화에 포함된 텍스트를 인식하고, 그것을 사용자가 원하는 언어로 번역합니다. 이는 만화 콘텐츠를 다양한 언어로 쉽게 접근할 수 있게 해주어 글로벌 독자들에게 매우 유용한 기술입니다.



OCR에서 한 걸음 진화해 문서에서 핵심정보만 골라내는 기술, 정보추출

정보추출이란

단순히 문서에서 글자를 읽어내는 것이 아니라 그 안에 포함된 핵심 정보를 골라내고 싶을 때는, OCR에서 한 걸음 나아가 정보추출(information extraction) 기술을 사용할 수 있습니다.

  • 정보추출은 어떤 입력을 받나요? png, jpg, pdf 등 문서 파일 및 추출하고 싶은 핵심 정보의 목록

  • 정보추출은 어떤 출력을 반환하나요? 필요한 데이터만 구조화된 정보로 출력

  • 정보추출은 어떻게 동작하나요? OCR과 마찬가지로 검출기와 인식기가 수행된 후 주어진 모든 글자에서 필요한 정보만 추출하는 파서가 동작합니다.

 

Detector → Recognizer → Parser

정보 추출

“추출하고 싶은 핵심 정보의 목록”은 “온톨로지(ontology)”라고도 부릅니다. 우리가 문서들에서 뽑고 싶은 정보인 온톨로지가 진료기간, 환자등록번호, 영수증번호 등이라면, 이 세 가지를 정보가 포함된 상태로 데이터를 어노테이션합니다. 해당 데이터로 학습한 정보추출기는 키밸류의 형태로 최종 값을 반환합니다.

정보 추출 결과 예시

정보 추출 결과 예시

좋은 정보추출 모델이란

다음은, 좋은 정보추출 모델을 평가하기 위해 사용할 수 있는 네 가지 기준입니다.

  1. 정확도, 추론 속도: OCR 모델과 마찬가지로 정확도와 추론 속도가 중요하며, 둘은 트레이드오프 관계에 있습니다.

  2. 다양한 템플릿에 대한 적응도: 기존의 룰 베이스 모델의 경우, 문서의 템플릿이 바뀌면 핵심정보를 전혀 추출하지 못합니다. 하지만 AI 기술로 개발된 모델은 기존에 관찰한 템플릿이 아니더라도 정보를 추출할 수 있다는 강점이 있습니다.

  3. 우리 조직의 데이터 형태에 대한 지원: 문서의 모든 핵심 정보가 필요한 정보의 덩어리 형태로 표현되지 못할 때가 있습니다. 예를 들어, 때로는 행과 열을 반영한 테이블 형태로도 정보를 추출할 수 있어야 합니다.

[에그타르트, 3500, 1, 3500]가 하나의 그룹을 형성하는 영수증 예시

[에그타르트, 3500, 1, 3500]이 하나의 그룹을 형성하는 영수증 예시

4. 신뢰도 점수 제공: 정보추출은 많은 경우, 문서의 정보 입력 자동화에 활용됩니다. 이럴 때는 추출된 정보가 사람의 검수가 필요한지 확인할 수 있는 신뢰도(confidence score) 점수가 유용하게 활용될 수 있습니다. 신뢰도 점수가 제공되면 특정 기준점(threshold) 이상의 항목은 자동처리를 하고, 이하의 항목은 사람이 검수를 하거나 별도의 처리 절차를 거칩니다. 기준점은 우리 조직이 원하는 수준으로 설정할 수 있어야 합니다.

어디에 쓰이나요?

  1. 다양한 형태의 문서를 관계형 DB에 적재: 보험사가 진료비 영수증과 진료비 세부 내역서에서 필요한 정보를 자동으로 추출하기 위해 정보추출 기술을 사용해 중요한 데이터(예: 약품 이름, 금액 등)를 선택적으로 추출합니다. 추출된 정보를 데이터베이스에 자동으로 저장하면, 이를 활용해 약품 사용량과 같은 통계 자료를 쉽게 생성할 수 있습니다.

  2. 개인정보 마스킹: 문서에 포함된 이름, 주민등록번호, 주소 등의 개인정보를 자동으로 찾아 마스킹(숨김처리)합니다. 식별된 개인정보는 보안을 위해 자동으로 숨겨지며, 이는 문서의 개인정보 보호 규정 준수에 도움을 줍니다.

  3. 업무 자동화: 물류 및 해운 회사에서는 화물의 배송을 증명하고 추적하는 데 B/L(bill of lading) 문서에는 화물의 세부 사항, 출발지, 목적지, 운송 조건 등의 핵심 정보가 담겨 있으며, 해당 데이터를 정보추출 기술로 자동 추출하면 화물 관리, 운송 경로 최적화, 배송 상태 추적 등의 과정을 자동화하고, 물류 효율성을 크게 향상시킬 수 있습니다.

나가며

디지털 자산화를 위한 OCR과 정보추출 기술은 단순한 데이터 처리를 넘어, 비즈니스 프로세스의 근본적인 혁신을 가능하게 합니다. 대량의 문서 처리를 자동화하고, 중요한 정보를 신속하고 정확하게 추출함으로써 업무 효율성을 대폭 향상시킵니다. 보험사, 제조사, 은행, 병원, 소매업체 등 다양한 산업에서 이미 활용되고 있는 이 기술들은 더욱 넓은 범위로 확장될 수 있습니다. 이 글을 통해 소개된 사례들을 참고하여, 우리 조직의 업무 환경에 맞는 최적의 솔루션을 찾고 적용함으로써, 더 빠르고 정확하며 효율적인 업무 프로세스를 구축하세요.

 

📝 Document AI 자세히 알아보기

데이터의 자산화를 통해 새로운 가치를 만들어 보세요

업스테이지 콘솔에서 Document AI API를 마음껏 테스트해 보시고 원하는 서비스를 만들어 보세요!


 
Previous
Previous

AI 윤리가 필요한 이유와 기업의 노력

Next
Next

문서에서 지식으로, 우리 회사만의 데이터를 만드는 디지털 자산화