KR20240043843A - 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법 - Google Patents

딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법 Download PDF

Info

Publication number
KR20240043843A
KR20240043843A KR1020220122275A KR20220122275A KR20240043843A KR 20240043843 A KR20240043843 A KR 20240043843A KR 1020220122275 A KR1020220122275 A KR 1020220122275A KR 20220122275 A KR20220122275 A KR 20220122275A KR 20240043843 A KR20240043843 A KR 20240043843A
Authority
KR
South Korea
Prior art keywords
document
text object
text
deep learning
object data
Prior art date
Application number
KR1020220122275A
Other languages
English (en)
Inventor
김지현
김동현
Original Assignee
한국딥러닝 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국딥러닝 주식회사 filed Critical 한국딥러닝 주식회사
Priority to KR1020220122275A priority Critical patent/KR20240043843A/ko
Publication of KR20240043843A publication Critical patent/KR20240043843A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1918Fusion techniques, i.e. combining data from various sources, e.g. sensor fusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/418Document matching, e.g. of document images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법에 관한 것으로, 해결하고자 하는 과제는 DUT(Document Understanding Transformer) 모델을 통해 문서 템플릿에 대한 의존도를 낮추며, 이에 OCR 모델을 접목해 상호 보완적인 텍스트 인식 결과를 도출하고, 도출된 텍스트 인식 결과를 바탕으로 NER(Named Entity Recognition)를 통해 비정형화된 문서를 이해하여 그에 따른 종류를 분류하는데 있다.
일례로, 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공하는 텍스트 객체 추출부; 상기 텍스트 객체 추출부를 통해 제공되는 텍스트 객체에 대하여 NER(Named Entity Recognition) 모델을 통한 NE 태깅을 수행하는 텍스트 객체 태깅부; 및 미리 구축된 딥러닝 모델을 이용하여 상기 텍스트 객체 태깅부를 통해 적용된 NE 태그의 필드 조합 구성에 따라 상기 문서 이미지의 종류를 분류하는 문서 종류 분류부를 포함하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템을 개시한다.

Description

딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법{DEEP LEARNING NATURAL LANGUAGE PROCESSING BASED UNSTRUCTURED DOCUMENT UNDERSTANDING SYSTEM}
본 발명의 실시예는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법에 관한 것이다.
일반적으로 텍스트로 이루어진 비정형화된 문서 또한 송장, 영수증, B/L 문서, 명함 등과 같은 구조화된 문서와 같이 현대적인 작업 환경에서 처리되는데, 이들 중 일부는 디지털 형태의 전자 파일로 존재하며, 나머지는 스캔 이미지 또는 사진의 형태로 존재한다.
VDU(Visual Document Understanding)는 문서가 다양한 형식, 레이아웃 및 내용을 갖더라도 문서를 이해하는 것을 목표로 하는 작업이기 때문에, 자동화된 문서 처리를 위해서는 선행되어야 할 중요한 과정이라 할 수 있다.
비정형화된 문서를 내용을 이해하고 종류를 판단하기 위한 VDU 시스템 중에는 대표적으로 템플릿 기반의 OCR 솔루션이 있다. 이러한 OCR 솔루션은 구축하기 위해서는 각 필드가 나타낼 수 있는 패턴 목록을 만들고 각각에 대한 정규식을 생성해야 하며, 모든 문서 라인이 어떠한 패턴과 일치하는지 검색 및 매칭하는 과정이 필요하며 이러한 과정을 통해 추출된 특정 라인이 어느 필드에 속하는지 유추할 수 있다.
그러나, 이러한 OCR 솔루션을 통한 접근 방식은 비정형화된 문서의 종류를 판독하는데 한계가 있다. 즉, 문서의 패턴 매칭은 구조화되지 않은 데이터와 구조 자체가 자주 변화는 문서에는 적합하지 않다.
등록특허공보 제10-2144464호(등록일자: 2020년08월07일) 등록특허공보 제10-2149050호(등록일자: 2020년08월21일)
본 발명의 실시예는, DUT(Document Understanding Transformer) 모델을 통해 문서 템플릿에 대한 의존도를 낮추며, 이에 OCR 모델을 접목해 상호 보완적인 텍스트 인식 결과를 도출하고, 도출된 텍스트 인식 결과를 바탕으로 NER(Named Entity Recognition)를 통해 비정형화된 문서를 이해하여 그에 따른 종류를 분류할 수 있는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법을 제공한다.
본 발명의 일 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템은, 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공하는 텍스트 객체 추출부; 상기 텍스트 객체 추출부를 통해 제공되는 텍스트 객체에 대하여 NER(Named Entity Recognition) 모델을 통한 NE 태깅을 수행하는 텍스트 객체 태깅부; 및 미리 구축된 딥러닝 모델을 이용하여 상기 텍스트 객체 태깅부를 통해 적용된 NE 태그의 필드 조합 구성에 따라 상기 문서 이미지의 종류를 분류하는 문서 종류 분류부를 포함한다.
또한, 상기 텍스트 객체 추출부는, 문서 이미지를 입력 받고, 문서이해변환기를 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성하는 제1 텍스트 객체 데이터 생성부; 상기 문서 이미지를 입력 받고, OCR을 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성하는 제2 텍스트 객체 데이터 생성부; 및 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력하는 최종 텍스트 객체 데이터 출력부를 포함할 수 있다.
또한, 상기 제1 텍스트 객체 데이터 생성부는, 상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩부; 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩부; 및 상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 상기 토큰 시퀀스에 따라 상기 문서 이미지의 텍스트 객체를 각각 추출하는 제1 텍스트 객체 데이터 추출부를 포함할 수 있다.
또한, 상기 제2 텍스트 객체 데이터 생성부는, 텍스트 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지부; 및 미리 구축된 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하는 제2 텍스트 객체 데이터 추출부를 포함할 수 있다.
또한, 상기 텍스트 객체 태깅부는, 상기 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류할 수 있다.
또한, 상기 문서 종류 분류부는, 상기 NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있고, 상기 딥러닝 모델로 상기 NE 태그를 입력 받고, 입력된 상기 NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 상기 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 상기 문서 이미지의 종류로서 출력하는 문서 종류 예측부; 및 상기 NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, 상기 NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시키는 분류 모델 재 학습 수행부를 포함할 수 있다.
또한, 상기 분류 모델 재 학습 수행부는, 상기 예측 오류 문서에서 빈도가 가장 높은 순서로 둘 이상의 NE 태그의 필드와 관련된 텍스트 객체를 키워드로 각각 구성하고, 구성된 키워드들로 조합된 검색식을 생성하고, 생성된 검색식을 기반으로 웹 크롤링을 수행하여 상기 키워드와 관련된 자료 및 해당 자료의 종류 정보를 각각 수집하는 웹 크롤링 수행부; 상기 웹 크롤링 수행부를 통해 상기 예측 오류 문서 별로 수집된 각 자료에 대하여 상기 텍스트 객체 태깅부 및 상기 문서 종류 분류부를 통해 자료의 종류를 각각 예측하고, 예측된 자료의 종류 중 가장 많은 종류로 예측된 해당 자료의 종류를 상기 예측 오류 문서의 종류로 설정하고, 상기 예측 오류 문서의 NE 태그의 필드 중 해당 자료에 포함된 NE 태그의 필드와 대응되는 NE 태그의 필드를 선별하고, 선별된 NE 태그의 필드에 대한 가중치를 미리 설정된 수치만큼 조정하는 필드 가중치 조정부; 및 상기 가중치 조정부를 통해 가중치가 조정된 NE 태그의 필드 조합 구성 및 해당 자료의 종류 정보를 기반으로 상기 예측 오류 문서의 종류에 대한 딥러닝 모델의 재 학습되도록 하는 딥러닝 모델 재 학습부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 방법은, 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공하는 텍스트 객체 추출 단계; 상기 텍스트 객체 추출 단계를 통해 제공되는 텍스트 객체에 대하여 NER 모델을 통한 NE 태깅을 수행하는 텍스트 객체 태깅 단계; 및 미리 구축된 딥러닝 모델을 이용하여 상기 텍스트 객체 태깅 단계를 통해 적용된 NE 태그의 필드 조합 구성에 따라 상기 문서 이미지의 종류를 분류하는 문서 종류 분류 단계를 포함한다.
또한, 상기 텍스트 객체 추출 단계는, 문서 이미지를 입력 받고, 문서이해변환기를 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성하는 제1 텍스트 객체 데이터 생성 단계; 상기 문서 이미지를 입력 받고, OCR을 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성하는 제2 텍스트 객체 데이터 생성 단계; 및 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력하는 최종 텍스트 객체 데이터 출력 단계를 포함할 수 있다.
또한, 상기 제1 텍스트 객체 데이터 생성 단계는, 상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩 단계; 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩 단계; 및 상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 상기 토큰 시퀀스에 따라 상기 문서 이미지의 텍스트 객체를 각각 추출하는 제1 텍스트 객체 데이터 추출 단계를 포함할 수 있다.
또한, 상기 제2 텍스트 객체 데이터 생성 단계는, 텍스트 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지 단계; 및 미리 구축된 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하는 제2 텍스트 객체 데이터 추출 단계를 포함할 수 있다.
또한, 상기 텍스트 객체 태깅 단계는, 상기 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류할 수 있다.
또한, 상기 문서 종류 분류 단계는, 상기 NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있고, 상기 딥러닝 모델로 상기 NE 태그를 입력 받고, 입력된 상기 NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 상기 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 상기 문서 이미지의 종류로서 출력하는 문서 종류 예측 단계; 및 상기 NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, 상기 NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시키는 분류 모델 재 학습 수행 단계를 포함할 수 있다.
또한, 상기 분류 모델 재 학습 수행 단계는, 상기 예측 오류 문서에서 빈도가 가장 높은 순서로 둘 이상의 NE 태그의 필드와 관련된 텍스트 객체를 키워드로 각각 구성하고, 구성된 키워드들로 조합된 검색식을 생성하고, 생성된 검색식을 기반으로 웹 크롤링을 수행하여 상기 키워드와 관련된 자료 및 해당 자료의 종류 정보를 각각 수집하는 웹 크롤링 수행 단계; 상기 웹 크롤링 수행 단계를 통해 상기 예측 오류 문서 별로 수집된 각 자료에 대하여 상기 텍스트 객체 태깅 단계 및 상기 문서 종류 분류 단계를 통해 자료의 종류를 각각 예측하고, 예측된 자료의 종류 중 가장 많은 종류로 예측된 해당 자료의 종류를 상기 예측 오류 문서의 종류로 설정하고, 상기 예측 오류 문서의 NE 태그의 필드 중 해당 자료에 포함된 NE 태그의 필드와 대응되는 NE 태그의 필드를 선별하고, 선별된 NE 태그의 필드에 대한 가중치를 미리 설정된 수치만큼 조정하는 필드 가중치 조정 단계; 및 상기 가중치 조정 단계를 통해 가중치가 조정된 NE 태그의 필드 조합 구성 및 해당 자료의 종류 정보를 기반으로 상기 예측 오류 문서의 종류에 대한 딥러닝 모델의 재 학습되도록 하는 딥러닝 모델 재 학습 단계를 포함할 수 있다.
본 발명에 따르면, DUT(Document Understanding Transformer) 모델을 통해 문서 템플릿에 대한 의존도를 낮추며, 이에 OCR 모델을 접목해 상호 보완적인 텍스트 인식 결과를 도출하고, 도출된 텍스트 인식 결과를 바탕으로 NER(Named Entity Recognition)를 통해 비정형화된 문서를 이해하여 그에 따른 종류를 분류할 수 있는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템의 전체 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 객체 추출부의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 문서 종류 분류부의 구성을 나타낸 블록도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 텍스트 객체 태깅부의 NE(Named Entity) 태깅 방식을 설명하기 위해 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 분류 모델 재 학습 수행부의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 웹 크롤링 수행부의 동작 방식을 설명하기 위해 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 필드 가중치 조정부의 동작 방식을 설명하기 위해 나타낸 도면이다.
도 9는 본 발명의 다른 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 방법의 전체 구성을 나타낸 흐름도이다.
도 10은 본 발명의 다른 실시예에 따른 텍스트 객체 추출 단계의 구성을 나타낸 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 문서 종류 분류 단계의 구성을 나타낸 흐름도이다.
도 12는 본 발명의 다른 실시예에 따른 분류 모델 재 학습 수행 단계의 구성을 나타낸 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템의 전체 구성을 나타낸 블록도이고, 도 2는 본 발명의 일 실시예에 따른 텍스트 객체 추출부의 구성을 나타낸 블록도이고, 도 3은 본 발명의 일 실시예에 따른 문서 종류 분류부의 구성을 나타낸 블록도이고, 도 4 및 도 5는 본 발명의 일 실시예에 따른 텍스트 객체 태깅부의 NE(Named Entity) 태깅 방식을 설명하기 위해 예시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 분류 모델 재 학습 수행부의 구성을 나타낸 블록도이고, 도 7은 본 발명의 일 실시예에 따른 웹 크롤링 수행부의 동작 방식을 설명하기 위해 나타낸 도면이며, 도 8은 본 발명의 일 실시예에 따른 필드 가중치 조정부의 동작 방식을 설명하기 위해 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템(1000)은 텍스트 객체 추출부(100), 텍스트 객체 태깅부(200) 및 문서 종류 분류부(300) 중 적어도 하나를 포함할 수 있다.
상기 텍스트 객체 추출부(100)는, 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공할 수 있다.
이를 위해 텍스트 객체 추출부(100)는 도 2에 도시된 바와 같이, 제1 텍스트 객체 데이터 생성부(110), 제2 텍스트 객체 데이터 생성부(120) 및 최종 텍스트 객체 데이터 출력부(130) 중 적어도 하나를 포함할 수 있다.
상기 제1 텍스트 객체 데이터 생성부(110)는, 문서 이미지를 입력 받고, 문서이해변환기를 이용하여 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성할 수 있다.
이러한 제1 텍스트 객체 데이터 생성부(110)는 도 2에 도시된 바와 같이, 인코딩부(111), 디코딩부(112) 및 제1 텍스트 객체 데이터 추출부(113) 중 적어도 하나를 포함할 수 있다.
상기 인코딩부(111)는, 문서 이미지를 입력 받고, 입력된 문서 이미지를 인코딩하여 이미지 임베딩으로 변환할 수 있다. 인코딩부(111)는 CNN 기반의 모델 또는 변환기 기반의 모델을 인코더 네트워크로 사용할 수 있으며, 문서 분류에 대한 성능 향상을 위해서는 변환기 기반의 모델을 적용하는 것이 바람직하다. 변환기 기반의 모델은 입력된 문서 이미지를 오버랩되지 않는 패치들로 분할할 수 있다. 변환기 모델은 쉬프트 윈도우를 갖는 변환기(Swim Transformer) 블록들이 그 내부에 위치하고 있고, 패치 병합 레이어가 패치 토큰에 적용되어 최종 쉬프트 윈도우 변환기 블록의 출력이 디코딩부(112)에서 사용될 수 있다. 즉, 쉬프트 윈도우 변환기는 원본의 문서 이미지를 여러 개의 패치로 나눈 다음 일렬로 나열하고, 나열된 패치들을 가지고 Query와 Key와 Value를 계산하고 attention을 구하는 방식으로 동작할 수 있다. 이전의 ViT(Vision Transformer) 모델 등에서 이미지 처리에 적용하기 위한 다양한 변환기가 시도되었고, 이 중에서 쉬프트 윈도우 변환기는 이미지를 격자 형태의 패치로 쪼개어 자연어에서 사용했던 방식처럼 순차적으로 적용한 것으로 기존의 이미지 처리에 사용된 변환기 모델의 단점을 보완한 것이다.
상기 디코딩부(112)는, 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성할 수 있다.
상기 제1 텍스트 객체 데이터 추출부(113)는, 이미지 임베딩과 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 토큰 시퀀스에 따라 문서 이미지의 텍스트 객체를 각각 추출할 수 있다. 여기서 토큰 시퀀스는 문서 이미지를 원하는 구조화된 형식의 정보로 대상 타입으로 변환할 수 있도록 한다.
한편, 도시되지 않았으나, 출력 포맷 변환 수단이 추가될 수 있으며, 이러한 출력 포맷 변환 수단은 텍스트 객체 추출 결과데이터를 미리 설정된 포맷으로 변환할 수 있다. 이러한 경우, 원하는 구조화된 형식으로 변환하기 위한 출력 토큰 시퀀스를 이용하며, 높은 표현 능력을 위해 JSON 형식의 출력 포맷을 적용할 수 있다.
상기 제2 텍스트 객체 데이터 생성부(120)는, 문서 이미지를 입력 받고, OCR을 이용하여 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성할 수 있다.
이러한 제2 텍스트 객체 데이터 생성부(120)는 도 2에 도시된 바와 같이, 문서 객체 탐지부(121) 및 제2 텍스트 객체 데이터 추출부(122) 중 적어도 하나를 포함할 수 있다.
상기 문서 객체 탐지부(121)는, 딥러닝 기반의 텍스트 객체 탐지 모델을 이용하여 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 크롭 이미지의 위치 값을 각각 생성할 수 있다. 본 실시예에 따른 객체 탐지 모델은, 문서 이미지 내 텍스트 객체의 위치 즉 문자영역을 탐지하되, 탐지된 문자영역 크롭하여 크롭 이미지를 생성하고, 크롭 이미지에 포함된 텍스트 객체의 둘레를 따라 사각형상을 표시하여 사각형상의 각 위치 값(즉 픽셀 위치 좌표 값)을 생성할 수 있다. 문서 객체 탐지부(121)는 객체 탐지 모델을 이용하여 사각형상의 픽셀 안에서 인식되는 텍스트 정보를 출력하고, 생성된 사각형상의 위치 값을 기반으로 인접한 모든 사각형상의 크롭 이미지들을 연결하며, 연결된 크롭 이미지의 위치에 객체 탐지 모델을 통해 인식된 글자 및 숫자 정보를 매칭할 수 있다. 본 실시예에 따른 객체 탐지 모델은 PSENet(Progressive Scale Expansion Network) 기반의 딥러닝 모델을 적용할 수 있으나, 이에만 한정되는 것이 아니다.
상기 제2 텍스트 객체 데이터 추출부(122)는, 미리 구축된 OCR 모델을 이용하여 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하여 제2 텍스트 객체 데이터를 생성할 수 있다.
상기 최종 텍스트 객체 데이터 출력부(130)는, 제1 텍스트 객체 데이터와 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 제1 텍스트 객체 데이터와 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력할 수 있다. 여기서, 오차 범위는 설정치에 따라 상이할 수 있으며, 100% 미만의 오차 범위인 경우에서 오차가 발생된 부분은 제거하고 일치하는 부분만을 최종결과로서 출력할 수 있다.
상기 텍스트 객체 태깅부(200)는, 텍스트 객체 추출부(100)를 통해 제공되는 텍스트 객체 즉, 최종 텍스트 객체 데이터에 대하여 NER(Named Entity Recognition) 모델을 통한 NE 태깅을 수행할 수 있다.
좀 더 구체적으로 텍스트 객체 태깅부(200)는, 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류할 수 있다.
이러한 NER은 '명명된 엔티티를 인식'하는 작업 또는 그러한 기술을 의미하며, NE가 의미하는 범위는, 문자열 내에서 기관명, 인물, 장소뿐만 아니라, 화폐, 시간, 퍼센티지 표현까지 폭넓게 포괄하는 의미로 알려져 있다. 이와 같이 NER은 문자열 안에서 NE의 위치를 알아내고, 사전에 정의한 카테고리(또는 필드)에 따라 알맞게 분류하는 작업을 의미하며, 문자열을 입력으로 받아 단어 별로 해당되는 태그(NE 태그)를 달아 멀티 클래스 분류 작업으로 정의할 수도 있다.
이와 같이 정의된 NER은 크게 두 가지 유형이 있다. 첫 번째 유형은 'generic NEs'로 인물이나 장소의 명칭이 이에 해당되며, 두 번째 유형은 'domain-specific NEs'로 단백질, 효소, 유전자 등 전문 분야의 용어가 이에 해당된다. 이러한 NE의 카테고리는 각 데이터 세트와 모델에 따라 상이하며, 예를 들어 영어와 한국어로 정의된 데이터 세트에 대하여 설명한다.
영어로 정의된 NE 데이터 세트에는 CoNLL-2003(5개)과 OntoNotes5(18개)가 있다. CoNLL-2003(5개)에는 인물(PER), 기관 및 단체(ORG), 장소 및 위치(LOC)가 있고, OntoNotes5(18개)에는 인물(PERSON), 단체(NORP), 건축물(FACILITY), 기관(ORGANIZATION), 나라 및 도시(GPE), 위치(LOCATION), 제품(PRODUCT), 사건(EVENT), 창작물(WORK OF ART), 법률(LAW), 언어(LANGUAGE), 날짜(DATE), 시간(TIME), 퍼센트(PERCENT), 통화(MONEY), 수량표현(QUANTITY), 서수표현(ORDINAL), 그 외 수 표현(CARDINAL)이 있다.
한국어로 정의된 NE 데이터 세트는 국립국어원(5개), 부산해양대학원 자연어처리 연구소(10개), 네이버 NER 챌린지(14개), 한국정보기술협회(15개)에서 각각 정의하고 있다.
국립국어원(5개)에는 장소(LC), 날짜(DT), 기관(OG), 시간(TI), 인물(PS)가 있고, 부산해양대학원 자연어처리 연구소(10개)에는 인물(PER), 기관(ORG), 지명(LOC), 기타(POH), 날짜(DAT), 시간(TIM), 기간(DUR), 통화(MNY), 비율(PNT), 기타 수량표현(NOH)가 있다. 네이버 NER 챌린지(14개)에는 인물(PER), 학문분야(FLD), 인공물(AFW), 기관 및 단체(ORG), 지역명(LOC), 문명 및 문화(CVL), 날짜(DAT), 시간(TIM), 숫자(NUM), 사건 사고 행사(EVT), 동물(ANM), 식물(PLT), 금속/암석/화학물질(MAT), 의학용어/IT관련 용어(TRM)이 있다. 한국정보기술협회(15개)에는 인물(PS), 학문분야(FD), 이론(TR), 인공물(AF), 기관(OG), 지역(LC), 문명(CV), 날짜(DT), 시간(TI), 수량(QT), 이벤트(EV), 동물(AM), 식물(PT), 물질(MT), 용어(TM)이 있다.
예를 들어 도 3의 (a)에 도시된 바와 같이, 'Michael Jeffery Jordan was born in Brooklyn, New York.'라는 문장이 있다고 가정하면, 텍스트 객체 태깅부(200)는 세가지 NE를 태깅할 수 있다. 즉, 사람 이름인 Michael, Jeffery, Jordan과 장소 이름인 Brooklyn, New York이다. 이때, 텍스트 객체 분석을 위하여 토큰화를 수행할 때는 eh 3의 (b)에 도시된 바와 같이 'Michael', 'Jeffery', 'Jordan'은 각각 다른 토큰으로 인식될 수 있다. 이렇게 분리된 토큰을 하나의 개체 명으로 묶어주는 태깅 방식이 BIO 또는 BIESO이다. 여러 개의 토큰으로 이루어진 개체명의 경우, 개체 명이 시작할 때 'B-(begin)'을, 토큰이 개체 명 중간에 있을 때는 'I-(Inside)'를, 개체 명이 마지막에 위치할 때는 'E-(end)'를 붙일 수 있다. 하나의 토큰이 하나의 개체 명일 때는 'S-(singleton)'을 붙일 수 있고, 토큰이 개체 명이 아닌 경우에는 'O-(Outside)'를 붙일 수 있다. 이를 BIESO 방식에 적용해보면 도 3의 (c)와 같다.
또한, 도 4에 도시된 바와 같은 비정형화된 문장에서 인식된 각 텍스트들에 대해서 인물(PERSON), 기관 및 단체(ORG), 제품(PRODUCT), 서수표현(ORDINAL), 단체(NORP), 날짜(DATE), 시간(TIME) 등의 NE 태그(30)가 태깅될 수 있으며, NE 태그마다의 이들의 카테고리에 대한 필드 값(이하 필드 정보라고 함)이 부여될 수 있다.
상기 문서 종류 분류부(300)는, 미리 구축된 딥러닝 모델을 이용하여 텍스트 객체 태깅부(200)를 통해 적용된 NE 태그의 필드 조합 구성에 따라 문서 이미지의 종류를 분류할 수 있다.
이를 위해 문서 종류 분류부(300)는 도 5에 도시된 바와 같이, 문서 종류 예측부(310) 및 분류 모델 재 학습 수행부(320) 중 적어도 하나를 포함할 수 있다.
상기 문서 종류 예측부(310)는, NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있고, 해당 딥러닝 모델로 인식된 각 텍스트에 대한 NE 태그를 입력 받고, 입력된 NE 태그의 필드 정보(또는 필드 값)의 구성 비율 및 인접한 텍스트 객체에 적용된 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 문서 이미지의 종류로서 출력할 수 있다. 본 실시예에 따른 딥러닝 모델은 비정형화된 다양한 종류의 가상문서들에 대하여 해당 가상문서에서 인식된 텍스트들의 NE 태그에 따른 해당 필드 정보가 어떻게 구성되고 어떠한 구성 비율로 이루어졌는지, 이에 더하여 각 NE 태그 간이 어떠한 순서로 배치되었는지에 대한 배치 관계 및 조합 관계 등을 미리 파악하고, 그 분석 결과를 해당 가상문서의 종류와 연계하여 분석한 결과가 사전에 학습되어 있다. 이에, NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 NE 태그의 필드 정보의 배치 관계는 통계학적으로 문서 종류를 예측할 수 있는 해답이 될 수 있으므로, NE 태그의 필드 구성 비율 및 배치 관계와, 문서의 종류 간의 통계학적인 상관관계를 분석하여 하나의 분석 대상 문서의 NE 태그 필드 분석 정보를 기반으로 해당 대상 문서의 종류 분류를 예측할 수 있도록 한다.
상기 분류 모델 재 학습 수행부(320)는, NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시킬 수 있다.
이러한 분류 모델 재 학습 수행부(320)는 도 6에 도시된 바와 같이, 웹 크롤링 수행부(321), 필드 가중치 조정부(322) 및 딥러닝 모델 재 학습부(323) 중 적어도 하나를 포함할 수 있다.
상기 웹 크롤링 수행부(321)는, 예측 오류 문서에서 빈도가 가장 높은 순서로 둘 이상의 NE 태그의 필드와 관련된 텍스트 객체를 키워드로 각각 구성하고, 구성된 키워드들로 조합된 검색식을 생성하고, 생성된 검색식을 기반으로 웹 크롤링을 수행하여 키워드와 관련된 자료 및 해당 자료의 종류 정보를 각각 수집할 수 있다.
예를 들어, 예측 오류 문서에서 인물(PERSON)가 15회, 기관 및 단체(ORG)가 11회, 제품(PRODUCT)이 14회, 서수표현(ORDINAL)이 1회, 단체(NORP)가 9회, 날짜(DATE)가 2회, 시간(TIME)이 1회인 NE 태그의 필드 결과가 있고, 4개의 빈도가 가장 높은 NE 태그 필드를 선별한다고 가정했을 때, 인물(PERSON)가 15회, 제품(PRODUCT)이 14회, 기관 및 단체(ORG)가 11회, 단체(NORP)가 9회가 NE 태그로서 선별되고, 도 7에 도시된 바와 같이 이들과 관련된 텍스트들을 키워드로 검색식을 생성할 수 있다. 검색식은 선별된 NE 태그의 필드 조합에 따라 미리 설정되어 있어, 설정된 관계부호(and, or, adj 등)를 기반으로 생성될 수 있다. 이렇게 생성된 검색식은 다양한 검색 엔진(10)을 통해 검색되고, 해당 검색식에 의해 검색된 자료 및 해당 자료의 종류를 판별할 수 있는 데이터는 웹 크롤러에 의해 함께 수집될 수 있다.
상기 필드 가중치 조정부(322)는, 웹 크롤링 수행부(321)를 통해 예측 오류 문서 별로 수집된 각 자료에 대하여 텍스트 객체 태깅부(200) 및 문서 종류 분류부(300)를 통해 자료의 종류를 각각 예측하고, 예측된 자료의 종류 중 가장 많은 종류로 예측된 해당 자료의 종류를 예측 오류 문서의 종류로 설정하고, 해당 예측 오류 문서의 NE 태그의 필드 중 해당 자료에 포함된 NE 태그의 필드와 대응되는 NE 태그의 필드를 선별하고, 선별된 NE 태그의 필드에 대한 가중치를 미리 설정된 수치만큼 조정할 수 있다.
즉, 도 8에 도시된 바와 같이 웹 크롤링을 통해 수집된 자료 및 자료 종류 정보를 기반으로 텍스트 객체 태깅부(200) 및 문서 종류 분류부(300)를 통해 자료의 종류를 각각 예측한 후, 그 결과에서 NE 태그(필드 정보 포함)를 예측 오류 문서의 NE 태그(필드 정보 포함)와 대조하여 일치하는 NE 태그를 예측 오류 문서로부터 선별한 후, 예측 오류 문서로부터 선별된 NE 태그의 필드 정보에 대한 가중치를 상향 조정하여, 특정 NE 태그 조합에서 특정 종류의 문서로 더 판별될 수 있도록 한다. 예를 들어, 오류 예측 문서에서 인물(PERSON), 제품(PRODUCT), 기관 및 단체(ORG), 단체(NORP)에 대한 NE 태그가 선별될 경우, 해당 NE 태그의 필드 정보의 가중치가 각각 0.5, 0.6, 0.7, 0.4인 경우, 모두 일괄적으로 0.1 내지 0.2를 상향 조정하여 해당 NE 태그 조합이 도출될 경우에 해당 문서가 특정 종류로 판별될 가능성을 높여줄 수 있다. 물론, 예측 자료에서의 NE 태그 출현 빈도를 고려하여 예측 오류 문서에서의 NE 태그에 대한 가중치를 차등적으로 상향 조정하는 것도 가능하다.
상기 딥러닝 모델 재 학습부(323)는, 필드 가중치 조정부(322)를 통해 가중치가 조정된 NE 태그의 필드 조합 구성 및 해당 자료의 종류 정보를 기반으로 예측 오류 문서의 종류에 대한 딥러닝 모델의 재 학습되도록 하여, 오류 예측 문서에 대해 추후에 더 정확한 문서 종류의 예측이 가능하도록 딥러닝 모델을 사전 학습시킬 수 있다.
도 9는 본 발명의 다른 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 방법의 전체 구성을 나타낸 흐름도이고, 도 10은 본 발명의 다른 실시예에 따른 텍스트 객체 추출 단계의 구성을 나타낸 흐름도이고, 도 11은 본 발명의 다른 실시예에 따른 문서 종류 분류 단계의 구성을 나타낸 흐름도이며, 도 12는 본 발명의 다른 실시예에 따른 분류 모델 재 학습 수행 단계의 구성을 나타낸 흐름도이다.
도 9를 참조하면, 본 발명의 다른 실시예에 따른 딥러닝 자연어처리 기반의 비정형 문서 이해 방법(S1000)은 텍스트 객체 추출 단계(S100), 텍스트 객체 태깅 단계(S200) 및 문서 종류 분류 단계(S300) 중 적어도 하나를 포함할 수 있다.
상기 텍스트 객체 추출 단계(S100)는, 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공할 수 있다.
이를 위해 텍스트 객체 추출 단계(S100)는 도 10에 도시된 바와 같이, 제1 텍스트 객체 데이터 생성 단계(S110), 제2 텍스트 객체 데이터 생성 단계(S120) 및 최종 텍스트 객체 데이터 출력 단계(S130) 중 적어도 하나를 포함할 수 있다.
상기 제1 텍스트 객체 데이터 생성 단계(S110)에서는, 문서 이미지를 입력 받고, 문서이해변환기를 이용하여 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성할 수 있다.
이러한 제1 텍스트 객체 데이터 생성 단계(S110)는 도 10에 도시된 바와 같이, 인코딩 단계(S111), 디코딩 단계(S112) 및 제1 텍스트 객체 데이터 추출 단계(S113) 중 적어도 하나를 포함할 수 있다.
상기 인코딩 단계(S111)에서는, 문서 이미지를 입력 받고, 입력된 문서 이미지를 인코딩하여 이미지 임베딩으로 변환할 수 있다. 인코딩 단계(S111)에서는 CNN 기반의 모델 또는 변환기 기반의 모델을 인코더 네트워크로 사용할 수 있으며, 문서 분류에 대한 성능 향상을 위해서는 변환기 기반의 모델을 적용하는 것이 바람직하다. 변환기 기반의 모델은 입력된 문서 이미지를 오버랩되지 않는 패치들로 분할할 수 있다. 변환기 모델은 쉬프트 윈도우를 갖는 변환기(Swim Transformer) 블록들이 그 내부에 위치하고 있고, 패치 병합 레이어가 패치 토큰에 적용되어 최종 쉬프트 윈도우 변환기 블록의 출력이 디코딩 단계(S112)에서 사용될 수 있다. 즉, 쉬프트 윈도우 변환기는 원본의 문서 이미지를 여러 개의 패치로 나눈 다음 일렬로 나열하고, 나열된 패치들을 가지고 Query와 Key와 Value를 계산하고 attention을 구하는 방식으로 동작할 수 있다. 이전의 ViT(Vision Transformer) 모델 등에서 이미지 처리에 적용하기 위한 다양한 변환기가 시도되었고, 이 중에서 쉬프트 윈도우 변환기는 이미지를 격자 형태의 패치로 쪼개어 자연어에서 사용했던 방식처럼 순차적으로 적용한 것으로 기존의 이미지 처리에 사용된 변환기 모델의 단점을 보완한 것이다.
상기 디코딩 단계(S112)에서는, 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성할 수 있다.
상기 제1 텍스트 객체 데이터 추출 단계(S113)에서는, 이미지 임베딩과 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 토큰 시퀀스에 따라 문서 이미지의 텍스트 객체를 각각 추출할 수 있다. 여기서 토큰 시퀀스는 문서 이미지를 원하는 구조화된 형식의 정보로 대상 타입으로 변환할 수 있도록 한다.
한편, 도시되지 않았으나, 출력 포맷 변환 수단이 추가될 수 있으며, 이러한 출력 포맷 변환 수단은 텍스트 객체 추출 결과데이터를 미리 설정된 포맷으로 변환할 수 있다. 이러한 경우, 원하는 구조화된 형식으로 변환하기 위한 출력 토큰 시퀀스를 이용하며, 높은 표현 능력을 위해 JSON 형식의 출력 포맷을 적용할 수 있다.
상기 제2 텍스트 객체 데이터 생성 단계(S120)에서는, 문서 이미지를 입력 받고, OCR을 이용하여 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성할 수 있다.
이러한 제2 텍스트 객체 데이터 생성 단계(S120)는 도 10에 도시된 바와 같이, 문서 객체 탐지 단계(S121) 및 제2 텍스트 객체 데이터 추출 단계(S122) 중 적어도 하나를 포함할 수 있다.
상기 문서 객체 탐지 단계(S121)에서는, 딥러닝 기반의 텍스트 객체 탐지 모델을 이용하여 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 크롭 이미지의 위치 값을 각각 생성할 수 있다. 본 실시예에 따른 객체 탐지 모델은, 문서 이미지 내 텍스트 객체의 위치 즉 문자영역을 탐지하되, 탐지된 문자영역 크롭하여 크롭 이미지를 생성하고, 크롭 이미지에 포함된 텍스트 객체의 둘레를 따라 사각형상을 표시하여 사각형상의 각 위치 값(즉 픽셀 위치 좌표 값)을 생성할 수 있다. 문서 객체 탐지 단계(S121)에서는 객체 탐지 모델을 이용하여 사각형상의 픽셀 안에서 인식되는 텍스트 정보를 출력하고, 생성된 사각형상의 위치 값을 기반으로 인접한 모든 사각형상의 크롭 이미지들을 연결하며, 연결된 크롭 이미지의 위치에 객체 탐지 모델을 통해 인식된 글자 및 숫자 정보를 매칭할 수 있다. 본 실시예에 따른 객체 탐지 모델은 PSENet(Progressive Scale Expansion Network) 기반의 딥러닝 모델을 적용할 수 있으나, 이에만 한정되는 것이 아니다.
상기 제2 텍스트 객체 데이터 추출 단계(S122)에서는, 미리 구축된 OCR 모델을 이용하여 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하여 제2 텍스트 객체 데이터를 생성할 수 있다.
상기 최종 텍스트 객체 데이터 출력 단계(S130)에서는, 제1 텍스트 객체 데이터와 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 제1 텍스트 객체 데이터와 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력할 수 있다. 여기서, 오차 범위는 설정치에 따라 상이할 수 있으며, 100% 미만의 오차 범위인 경우에서 오차가 발생된 부분은 제거하고 일치하는 부분만을 최종결과로서 출력할 수 있다.
상기 텍스트 객체 태깅 단계(S200)에서는, 텍스트 객체 추출 단계(S100)를 통해 제공되는 텍스트 객체 즉, 최종 텍스트 객체 데이터에 대하여 NER(Named Entity Recognition) 모델을 통한 NE 태깅을 수행할 수 있다.
좀 더 구체적으로 텍스트 객체 태깅 단계(S200)에서는, 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류할 수 있다.
이러한 NER은 '명명된 엔티티를 인식'하는 작업 또는 그러한 기술을 의미하며, NE가 의미하는 범위는, 문자열 내에서 기관명, 인물, 장소뿐만 아니라, 화폐, 시간, 퍼센티지 표현까지 폭넓게 포괄하는 의미로 알려져 있다. 이와 같이 NER은 문자열 안에서 NE의 위치를 알아내고, 사전에 정의한 카테고리(또는 필드)에 따라 알맞게 분류하는 작업을 의미하며, 문자열을 입력으로 받아 단어 별로 해당되는 태그(NE 태그)를 달아 멀티 클래스 분류 작업으로 정의할 수도 있다.
이와 같이 정의된 NER은 크게 두 가지 유형이 있다. 첫 번째 유형은 'generic NEs'로 인물이나 장소의 명칭이 이에 해당되며, 두 번째 유형은 'domain-specific NEs'로 단백질, 효소, 유전자 등 전문 분야의 용어가 이에 해당된다. 이러한 NE의 카테고리는 각 데이터 세트와 모델에 따라 상이하며, 예를 들어 영어와 한국어로 정의된 데이터 세트에 대하여 설명한다.
영어로 정의된 NE 데이터 세트에는 CoNLL-2003(5개)과 OntoNotes5(18개)가 있다. CoNLL-2003(5개)에는 인물(PER), 기관 및 단체(ORG), 장소 및 위치(LOC)가 있고, OntoNotes5(18개)에는 인물(PERSON), 단체(NORP), 건축물(FACILITY), 기관(ORGANIZATION), 나라 및 도시(GPE), 위치(LOCATION), 제품(PRODUCT), 사건(EVENT), 창작물(WORK OF ART), 법률(LAW), 언어(LANGUAGE), 날짜(DATE), 시간(TIME), 퍼센트(PERCENT), 통화(MONEY), 수량표현(QUANTITY), 서수표현(ORDINAL), 그 외 수 표현(CARDINAL)이 있다.
한국어로 정의된 NE 데이터 세트는 국립국어원(5개), 부산해양대학원 자연어처리 연구소(10개), 네이버 NER 챌린지(14개), 한국정보기술협회(15개)에서 각각 정의하고 있다.
국립국어원(5개)에는 장소(LC), 날짜(DT), 기관(OG), 시간(TI), 인물(PS)가 있고, 부산해양대학원 자연어처리 연구소(10개)에는 인물(PER), 기관(ORG), 지명(LOC), 기타(POH), 날짜(DAT), 시간(TIM), 기간(DUR), 통화(MNY), 비율(PNT), 기타 수량표현(NOH)가 있다. 네이버 NER 챌린지(14개)에는 인물(PER), 학문분야(FLD), 인공물(AFW), 기관 및 단체(ORG), 지역명(LOC), 문명 및 문화(CVL), 날짜(DAT), 시간(TIM), 숫자(NUM), 사건 사고 행사(EVT), 동물(ANM), 식물(PLT), 금속/암석/화학물질(MAT), 의학용어/IT관련 용어(TRM)이 있다. 한국정보기술협회(15개)에는 인물(PS), 학문분야(FD), 이론(TR), 인공물(AF), 기관(OG), 지역(LC), 문명(CV), 날짜(DT), 시간(TI), 수량(QT), 이벤트(EV), 동물(AM), 식물(PT), 물질(MT), 용어(TM)이 있다.
예를 들어 도 3의 (a)에 도시된 바와 같이, 'Michael Jeffery Jordan was born in Brooklyn, New York.'라는 문장이 있다고 가정하면, 텍스트 객체 태깅 단계(S200)에서는 세 가지 NE를 태깅할 수 있다. 즉, 사람 이름인 Michael, Jeffery, Jordan과 장소 이름인 Brooklyn, New York이다. 이때, 텍스트 객체 분석을 위하여 토큰화를 수행할 때는 eh 3의 (b)에 도시된 바와 같이 'Michael', 'Jeffery', 'Jordan'은 각각 다른 토큰으로 인식될 수 있다. 이렇게 분리된 토큰을 하나의 개체 명으로 묶어주는 태깅 방식이 BIO 또는 BIESO이다. 여러 개의 토큰으로 이루어진 개체명의 경우, 개체 명이 시작할 때 'B-(begin)'을, 토큰이 개체 명 중간에 있을 때는 'I-(Inside)'를, 개체 명이 마지막에 위치할 때는 'E-(end)'를 붙일 수 있다. 하나의 토큰이 하나의 개체 명일 때는 'S-(singleton)'을 붙일 수 있고, 토큰이 개체 명이 아닌 경우에는 'O-(Outside)'를 붙일 수 있다. 이를 BIESO 방식에 적용해보면 도 3의 (c)와 같다.
또한, 도 4에 도시된 바와 같은 비정형화된 문장에서 인식된 각 텍스트들에 대해서 인물(PERSON), 기관 및 단체(ORG), 제품(PRODUCT), 서수표현(ORDINAL), 단체(NORP), 날짜(DATE), 시간(TIME) 등의 NE 태그(30)가 태깅될 수 있으며, NE 태그마다의 이들의 카테고리에 대한 필드 값(이하 필드 정보라고 함)이 부여될 수 있다.
상기 문서 종류 분류 단계(S300)에서는, 미리 구축된 딥러닝 모델을 이용하여 텍스트 객체 태깅 단계(S200)를 통해 적용된 NE 태그의 필드 조합 구성에 따라 문서 이미지의 종류를 분류할 수 있다.
이를 위해 문서 종류 분류 단계(S300)는 도 11에 도시된 바와 같이, 문서 종류 예측 단계(S310) 및 분류 모델 재 학습 수행 단계(S320) 중 적어도 하나를 포함할 수 있다.
상기 문서 종류 예측 단계(S310)에서는, NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있어, 해당 딥러닝 모델로 인식된 각 텍스트에 대한 NE 태그를 입력 받고, 입력된 NE 태그의 필드 정보(또는 필드 값)의 구성 비율 및 인접한 텍스트 객체에 적용된 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 문서 이미지의 종류로서 출력할 수 있다. 본 실시예에 따른 딥러닝 모델은 비정형화된 다양한 종류의 가상문서들에 대하여 해당 가상문서에서 인식된 텍스트들의 NE 태그에 따른 해당 필드 정보가 어떻게 구성되고 어떠한 구성 비율로 이루어졌는지, 이에 더하여 각 NE 태그 간이 어떠한 순서로 배치되었는지에 대한 배치 관계 및 조합 관계 등을 미리 파악하고, 그 분석 결과를 해당 가상문서의 종류와 연계하여 분석한 결과가 사전에 학습되어 있다. 이에, NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 NE 태그의 필드 정보의 배치 관계는 통계학적으로 문서 종류를 예측할 수 있는 해답이 될 수 있으므로, NE 태그의 필드 구성 비율 및 배치 관계와, 문서의 종류 간의 통계학적인 상관관계를 분석하여 하나의 분석 대상 문서의 NE 태그 필드 분석 정보를 기반으로 해당 대상 문서의 종류 분류를 예측할 수 있도록 한다.
상기 분류 모델 재 학습 수행 단계(S320)에서는, NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시킬 수 있다.
이러한 분류 모델 재 학습 수행 단계(S320)는 도 12에 도시된 바와 같이, 웹 크롤링 수행 단계(S321), 필드 가중치 조정 단계(S322) 및 딥러닝 모델 재 학습 단계(S323) 중 적어도 하나를 포함할 수 있다.
상기 웹 크롤링 수행 단계(S321)에서는, 예측 오류 문서에서 빈도가 가장 높은 순서로 둘 이상의 NE 태그의 필드와 관련된 텍스트 객체를 키워드로 각각 구성하고, 구성된 키워드들로 조합된 검색식을 생성하고, 생성된 검색식을 기반으로 웹 크롤링을 수행하여 키워드와 관련된 자료 및 해당 자료의 종류 정보를 각각 수집할 수 있다.
예를 들어, 예측 오류 문서에서 인물(PERSON)가 15회, 기관 및 단체(ORG)가 11회, 제품(PRODUCT)이 14회, 서수표현(ORDINAL)이 1회, 단체(NORP)가 9회, 날짜(DATE)가 2회, 시간(TIME)이 1회인 NE 태그의 필드 결과가 있고, 4개의 빈도가 가장 높은 NE 태그 필드를 선별한다고 가정했을 때, 인물(PERSON)가 15회, 제품(PRODUCT)이 14회, 기관 및 단체(ORG)가 11회, 단체(NORP)가 9회가 NE 태그로서 선별되고, 도 7에 도시된 바와 같이 이들과 관련된 텍스트들을 키워드로 검색식을 생성할 수 있다. 검색식은 선별된 NE 태그의 필드 조합에 따라 미리 설정되어 있어, 설정된 관계부호(and, or, adj 등)를 기반으로 생성될 수 있다. 이렇게 생성된 검색식은 다양한 검색 엔진(10)을 통해 검색되고, 해당 검색식에 의해 검색된 자료 및 해당 자료의 종류를 판별할 수 있는 데이터는 웹 크롤러에 의해 함께 수집될 수 있다.
상기 필드 가중치 조정 단계(S322)에서는, 웹 크롤링 수행 단계(S321)를 통해 예측 오류 문서 별로 수집된 각 자료에 대하여 텍스트 객체 태깅 단계(S200) 및 문서 종류 분류 단계(S300)를 통해 자료의 종류를 각각 예측하고, 예측된 자료의 종류 중 가장 많은 종류로 예측된 해당 자료의 종류를 예측 오류 문서의 종류로 설정하고, 해당 예측 오류 문서의 NE 태그의 필드 중 해당 자료에 포함된 NE 태그의 필드와 대응되는 NE 태그의 필드를 선별하고, 선별된 NE 태그의 필드에 대한 가중치를 미리 설정된 수치만큼 조정할 수 있다.
즉, 도 8에 도시된 바와 같이 웹 크롤링을 통해 수집된 자료 및 자료 종류 정보를 기반으로 텍스트 객체 태깅 단계(S200) 및 문서 종류 분류 단계(S300)를 통해 자료의 종류를 각각 예측한 후, 그 결과에서 NE 태그(필드 정보 포함)를 예측 오류 문서의 NE 태그(필드 정보 포함)와 대조하여 일치하는 NE 태그를 예측 오류 문서로부터 선별한 후, 예측 오류 문서로부터 선별된 NE 태그의 필드 정보에 대한 가중치를 상향 조정하여, 특정 NE 태그 조합에서 특정 종류의 문서로 더 판별될 수 있도록 한다. 예를 들어, 오류 예측 문서에서 인물(PERSON), 제품(PRODUCT), 기관 및 단체(ORG), 단체(NORP)에 대한 NE 태그가 선별될 경우, 해당 NE 태그의 필드 정보의 가중치가 각각 0.5, 0.6, 0.7, 0.4인 경우, 모두 일괄적으로 0.1 내지 0.2를 상향 조정하여 해당 NE 태그 조합이 도출될 경우에 해당 문서가 특정 종류로 판별될 가능성을 높여줄 수 있다. 물론, 예측 자료에서의 NE 태그 출현 빈도를 고려하여 예측 오류 문서에서의 NE 태그에 대한 가중치를 차등적으로 상향 조정하는 것도 가능하다.
상기 딥러닝 모델 재 학습 단계(S323)에서는, 필드 가중치 조정 단계(S322)를 통해 가중치가 조정된 NE 태그의 필드 조합 구성 및 해당 자료의 종류 정보를 기반으로 예측 오류 문서의 종류에 대한 딥러닝 모델의 재 학습되도록 하여, 오류 예측 문서에 대해 추후에 더 정확한 문서 종류의 예측이 가능하도록 딥러닝 모델을 사전 학습시킬 수 있다.
이상에서 설명한 것은 본 발명에 의한 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
1000: 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템
100: 텍스트 객체 추출부
110: 제1 텍스트 객체 데이터 생성부
111: 인코딩부
112: 디코딩부
113: 제1 텍스트 객체 데이터 추출부
120: 제2 텍스트 객체 데이터 생성부
121: 문서 객체 탐지부
122: 제2 텍스트 객체 데이터 추출부
130: 최종 텍스트 객체 데이터 출력부
200: 텍스트 객체 태깅부
300: 문서 종류 분류부
310: 문서 종류 예측부
320: 분류 모델 재 학습 수행부
321: 웹 크롤링 수행부
322: 필드 가중치 조정부
323: 딥러닝 모델 재 학습부
S1000: 딥러닝 자연어처리 기반의 비정형 문서 이해 방법
S100: 텍스트 객체 추출 단계
S110: 제1 텍스트 객체 데이터 생성 단계
S111: 인코딩 단계
S112: 디코딩 단계
S113: 제1 텍스트 객체 데이터 추출 단계
S120: 제2 텍스트 객체 데이터 생성 단계
S121: 문서 객체 탐지 단계
S122: 제2 텍스트 객체 데이터 추출 단계
S130: 최종 텍스트 객체 데이터 출력 단계
S200: 텍스트 객체 태깅 단계
S300: 문서 종류 분류 단계
S310: 문서 종류 예측 단계
S320: 분류 모델 재 학습 수행 단계
S321: 웹 크롤링 수행 단계
S322: 필드 가중치 조정 단계
S323: 딥러닝 모델 재 학습 단계

Claims (12)

  1. 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공하는 텍스트 객체 추출부;
    상기 텍스트 객체 추출부를 통해 제공되는 텍스트 객체에 대하여 NER(Named Entity Recognition) 모델을 통한 NE 태깅을 수행하는 텍스트 객체 태깅부; 및
    미리 구축된 딥러닝 모델을 이용하여 상기 텍스트 객체 태깅부를 통해 적용된 NE 태그의 필드 조합 구성에 따라 상기 문서 이미지의 종류를 분류하는 문서 종류 분류부를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  2. 제1 항에 있어서,
    상기 텍스트 객체 추출부는,
    문서 이미지를 입력 받고, 문서이해변환기를 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성하는 제1 텍스트 객체 데이터 생성부;
    상기 문서 이미지를 입력 받고, OCR을 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성하는 제2 텍스트 객체 데이터 생성부; 및
    상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력하는 최종 텍스트 객체 데이터 출력부를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  3. 제2 항에 있어서,
    상기 제1 텍스트 객체 데이터 생성부는,
    상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩부;
    상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩부; 및
    상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 상기 토큰 시퀀스에 따라 상기 문서 이미지의 텍스트 객체를 각각 추출하는 제1 텍스트 객체 데이터 추출부를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  4. 제2 항에 있어서,
    상기 제2 텍스트 객체 데이터 생성부는,
    텍스트 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지부; 및
    미리 구축된 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하는 제2 텍스트 객체 데이터 추출부를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  5. 제1 항에 있어서,
    상기 텍스트 객체 태깅부는,
    상기 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  6. 제5 항에 있어서,
    상기 문서 종류 분류부는,
    상기 NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있고, 상기 딥러닝 모델로 상기 NE 태그를 입력 받고, 입력된 상기 NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 상기 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 상기 문서 이미지의 종류로서 출력하는 문서 종류 예측부; 및
    상기 NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, 상기 NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시키는 분류 모델 재 학습 수행부를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템.
  7. 비정형화된 구조의 문서를 대상으로 생성된 문서 이미지를 입력 받고, 문서이해변환기(Document Understanding Transformer) 및 OCR(Optical Character Reader)를 각각 이용하여 상기 문서 이미지로부터 텍스트 객체를 각각 추출하고, 추출된 텍스트 객체를 하나로 통합하여 제공하는 텍스트 객체 추출 단계;
    상기 텍스트 객체 추출 단계를 통해 제공되는 텍스트 객체에 대하여 NER 모델을 통한 NE 태깅을 수행하는 텍스트 객체 태깅 단계; 및
    미리 구축된 딥러닝 모델을 이용하여 상기 텍스트 객체 태깅 단계를 통해 적용된 NE 태그의 필드 조합 구성에 따라 상기 문서 이미지의 종류를 분류하는 문서 종류 분류 단계를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
  8. 제7 항에 있어서,
    상기 텍스트 객체 추출 단계는,
    문서 이미지를 입력 받고, 문서이해변환기를 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제1 텍스트 객체 데이터를 생성하는 제1 텍스트 객체 데이터 생성 단계;
    상기 문서 이미지를 입력 받고, OCR을 이용하여 상기 문서 이미지로부터 인식된 텍스트 객체를 기반으로 제2 텍스트 객체 데이터를 생성하는 제2 텍스트 객체 데이터 생성 단계; 및
    상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 상호 비교하고, 미리 설정된 오차 범위 이내로 일치하는 경우 상기 제1 텍스트 객체 데이터와 상기 제2 텍스트 객체 데이터를 병합한 최종 텍스트 객체 데이터를 출력하는 최종 텍스트 객체 데이터 출력 단계를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
  9. 제8 항에 있어서,
    상기 제1 텍스트 객체 데이터 생성 단계는,
    상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩 단계;
    상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩 단계; 및
    상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 미리 구축된 문서이해변환기를 통해 상기 토큰 시퀀스에 따라 상기 문서 이미지의 텍스트 객체를 각각 추출하는 제1 텍스트 객체 데이터 추출 단계를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
  10. 제8 항에 있어서,
    상기 제2 텍스트 객체 데이터 생성 단계는,
    텍스트 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지 단계; 및
    미리 구축된 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 통해 텍스트 객체를 추출하는 제2 텍스트 객체 데이터 추출 단계를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
  11. 제7 항에 있어서,
    상기 텍스트 객체 태깅 단계는,
    상기 텍스트 객체를 토큰화하여 인식하고, 미리 정의된 NE 데이터 세트를 구비하는 NER 모델을 통해 각 토큰에 NE 태그를 적용하여 각각의 텍스트 객체에 대한 위치를 파악하고 필드를 분류하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
  12. 제11 항에 있어서,
    상기 문서 종류 분류 단계는,
    상기 NE 태그의 필드 정보에 따라 문서 종류의 분류가 사전 학습된 딥러닝 모델이 구축되어 있고, 상기 딥러닝 모델로 상기 NE 태그를 입력 받고, 입력된 상기 NE 태그의 필드 정보의 구성 비율 및 인접한 텍스트 객체에 적용된 상기 NE 태그의 필드 정보의 배치 관계에 따라 문서 종류를 예측하고, 예측된 문서 종류 정보를 상기 문서 이미지의 종류로서 출력하는 문서 종류 예측 단계; 및
    상기 NE 태그의 필드 정보의 구성 비율 및 배치 관계가 동일한 둘 이상의 예측 오류 문서에 대하여 상이한 문서 종료 정보가 예측된 경우, 상기 NE 태그의 필드에 대한 가중치를 각각 조정하여 딥러닝 모델을 재 학습시키는 분류 모델 재 학습 수행 단계를 포함하는 것을 특징으로 하는 딥러닝 자연어처리 기반의 비정형 문서 이해 방법.
KR1020220122275A 2022-09-27 2022-09-27 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법 KR20240043843A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122275A KR20240043843A (ko) 2022-09-27 2022-09-27 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122275A KR20240043843A (ko) 2022-09-27 2022-09-27 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20240043843A true KR20240043843A (ko) 2024-04-04

Family

ID=90637816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122275A KR20240043843A (ko) 2022-09-27 2022-09-27 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20240043843A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144464B1 (ko) 2020-03-04 2020-08-14 주식회사 로민 문서분류장치 및 문서분류방법
KR102149050B1 (ko) 2020-04-24 2020-08-28 주식회사 애자일소다 인공지능을 이용한 ocr 기반 문서 분석 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144464B1 (ko) 2020-03-04 2020-08-14 주식회사 로민 문서분류장치 및 문서분류방법
KR102149050B1 (ko) 2020-04-24 2020-08-28 주식회사 애자일소다 인공지능을 이용한 ocr 기반 문서 분석 시스템 및 방법

Similar Documents

Publication Publication Date Title
Coquenet et al. Dan: a segmentation-free document attention network for handwritten document recognition
Farcomeni et al. Robust methods for data reduction
Basu et al. A hierarchical approach to recognition of handwritten Bangla characters
Geetha et al. Effective offline handwritten text recognition model based on a sequence-to-sequence approach with CNN–RNN networks
Srihari et al. Role of automation in the examination of handwritten items
Castellanos et al. Unsupervised neural domain adaptation for document image binarization
KR102145858B1 (ko) 문서 이미지로부터 인식된 용어를 표준화하기 위한 방법
CN112347254B (zh) 新闻文本的分类方法、装置、计算机设备和存储介质
Karunarathne et al. Recognizing ancient sinhala inscription characters using neural network technologies
Mishra et al. Extraction of information from handwriting using optical character recognition and neural networks
Dahl et al. Applications of machine learning in document digitisation
Inunganbi et al. Recognition of handwritten Meitei Mayek script based on texture feature
Shinde et al. Feedforward back propagation neural network (FFBPNN) based approach for the identification of handwritten math equations
Raja et al. Recognition of automated hand-written digits on document images making use of machine learning techniques
Revelli et al. Automate extraction of braille text to speech from an image
Álvaro et al. Structure detection and segmentation of documents using 2D stochastic context-free grammars
KR20240043843A (ko) 딥러닝 자연어처리 기반의 비정형 문서 이해 시스템 및 방법
Sadri et al. A new system for recognition of handwritten persian bank checks
Al-Kady et al. Chartlytics: Chart Image Classification and Data Extraction
Zhou Lip print recognition algorithm based on convolutional network
Liu et al. Handwritten letter recognition using LetNET
Sangeetha et al. Artificial intelligence based handwritten text recognition system
Bappy et al. Bangla Handwritten Numeral Recognition using Deep Convolutional Neural Network
Mynavathi et al. PRINTED CHARACTERS TO DOCUMENT USING OCR–AN ANDROID APPLICATION
Barve Artificial neural network based on optical character recognition