KR20220120222A - 테이블 생성 방법 및 시스템 - Google Patents

테이블 생성 방법 및 시스템 Download PDF

Info

Publication number
KR20220120222A
KR20220120222A KR1020210024040A KR20210024040A KR20220120222A KR 20220120222 A KR20220120222 A KR 20220120222A KR 1020210024040 A KR1020210024040 A KR 1020210024040A KR 20210024040 A KR20210024040 A KR 20210024040A KR 20220120222 A KR20220120222 A KR 20220120222A
Authority
KR
South Korea
Prior art keywords
image
text
cells
specifying
area
Prior art date
Application number
KR1020210024040A
Other languages
English (en)
Other versions
KR102699223B1 (ko
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 KR1020210024040A priority Critical patent/KR102699223B1/ko
Priority to PCT/KR2022/002622 priority patent/WO2022182111A1/ko
Publication of KR20220120222A publication Critical patent/KR20220120222A/ko
Application granted granted Critical
Publication of KR102699223B1 publication Critical patent/KR102699223B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/148Segmentation of character regions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 이미지에 대한 분석을 수행하여 테이블을 생성하는 방법 및 시스템에 관한 것이다. 본 발명에 따른 테이블 생성 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계 및 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 포함할 수 있다.

Description

테이블 생성 방법 및 시스템{TABLE GNERATING METHOD AND SYSTEM}
본 발명은 이미지에 대한 분석을 수행하여 테이블을 생성하는 방법 및 시스템에 관한 것이다.
인공지능의 사전적 의미는, 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술이라 할 수 있다. 이러한 인공지능은 머신러닝에 인간의 뇌를 모방한 신경망 네트워크를 더한 딥러닝으로 인하여 비약적인 발전을 이루었다.
딥러닝(deep learning)이란, 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고, 이를 통해 사물이나 데이터를 군집화하거나 분류하는 기술로서, 최근에는 텍스트 데이터 뿐만 아니라 영상 데이터에 대한 분석까지 가능해져, 매우 다양한 산업분야에 적극적으로 활용되고 있다.
이러한, 인공지능의 발달로 사무자동화(office automation) 분야에 있어서도 다양한 자동화가 이루어지고 있다. 특히, 사무자동화 분야에서는 종이(paper)에 인쇄된 콘텐츠를 인공지능을 활용한 영상 데이터 분석 기술에 기반하여 데이터화 하는데 많은 노력을 기울이고 있다. 그 일환으로서, 사무자동화 분야에서는 종이 문서를 이미지화 하여, 이미지에 포함된 콘텐츠를 분석하는 이미지 분석 기술(또는 영상 데이터에 대한 분석 기술)을 통하여, 문서에 포함된 콘텐츠를 데이터화하고 있으며, 이 경우 문서에 포함된 콘텐츠의 특성에 맞게 이미지를 분석하는 기술이 필요하다.
예를 들어, 테이블(table, 표)을 포함하는 문서를 데이터화 하는 경우, 테이블의 형식, 테이블 내에 포함된 텍스트의 내용 및 테이블에 포함된 텍스트의 위치 등과 같이, 테이블을 둘러싼 다양한 요소들에 대한 정확한 분석이 필요하다.
이에, 대한민국 등록특허1907029호(서식 자동화를 위한 테이블 생성 장치 및 방법)에서는, 이미지로부터 테이블을 인식하고, 인식된 테이블을 재현하는 방법에 대하여 개시하고 있으나, 이는 테이블에 포함된 선분(라인(line))을 기준으로 테이블을 재현하는 것이기에, 선분의 시각적인 표시가 생략된 셀을 포함한 테이블을 분석하는 데에 한계가 있다.
이에, 이미지(예를 들어, 테이블이 포함된 종이문서)에 시각적인 특성 및 비시각적인 특성을 모두 고려하는 한편, 테이블에 포함된 데이터의 관계성까지 파악할 수 있는 테이블 생성 방법이 필요하다.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
보다 구체적으로, 본 발명은 이미지에 나타나지 않는 비시각적 특성까지 고려하여 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
나아가, 본 발명은 테이블에 포함된 데이터의 의미를 고려하여 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
또한, 본 발명은 이미지에 포함된 모든 테이블을 인식 및 재현할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 테이블 생성 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계 및 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 포함할 수 있다.
나아가, 본 발명에 따른 테이블 생성 시스템은, 저장부, 테이블(table)을 포함하는 이미지를 수신하는 수신부 및 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 제어부를 포함하고, 상기 제어부는, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하고, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하며, 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정할 수 있다.
나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계 및 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지의 특징 정보 및 참조 데이터에 기반하여, 이미지에서 테이블이 위치한 테이블 영역을 정확하게 특정하고, 텍스트 인식 결과에 기반하여 테이블 영역 내에 포함된 셀의 구조를 특정할 수 있다. 이를 통하여, 눈에 보이지 않는 라인(예를 들어, implicit line)에 의해 형성된 셀까지 특정하는 것이 가능하며, 결과적으로 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것 뿐만 아니라, 텍스트 인식 결과를 기반으로, 테이블에 포함된 셀들 간의 관계성을 부여함으로써, 각 셀들에 포함된 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.
도 1a는 본 발명에 따른 테이블 생성 시스템을 설명하기 위한 개념도이다.
도 1b는 테이블의 구성요소를 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다.
도 3, 도 4, 도 5, 도 6, 도 7, 도 8 및 도 9는 테이블을 생성하는 방법을 설명하기 위한 개념도들이다.
도 10은 재구성된 테이블을 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것으로서, 이미지에 나타나지 않는 비시각적 특성을 고려함은 물론, 테이블에 포함된 데이터의 관계성까지 파악할 수 있는 테이블 생성 방법 및 시스템에 관한 것이다.
앞서 살펴본 것과 같이, 인공지능의 발달로 다양한 형태로 사무자동화(office automation)가 이루어지고 있으며, 업무의 효율을 위하여, 종이 문서에 포함된 테이블(table, 표)을, 종이 문서에 포함된 테이블 형식 그대로 디지털화(데이터화) 해야 하는 니즈가 점차적으로 높아지고 있다.
예를 들어, 다양한 종류의 영수증(領收證, receipt)과 같은 문서는 테이블을 포함하고 있으며, 보험사, 병원 등에서는 대량의 종이 문서에 포함된 테이블을 디지털화된 데이터로서 처리하여, 전산화할 필요가 있다.
이하에서는, 종이 문서에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성하는 방법 및 시스템에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 1a는 본 발명에 따른 테이블 생성 시스템을 설명하기 위한 개념도이고, 도 1b는 테이블의 구성요소를 설명하기 위한 개념도이다. 그리고, 도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다. 나아가, 도 3, 도 4, 도 5, 도 6, 도 7, 도 8 및 도 9는 테이블을 생성하는 방법을 설명하기 위한 개념도들이며, 도 10은 재구성된 테이블을 설명하기 위한 개념도이다.
본 발명에 따른 테이블 생성 시스템(100)은, 이미지(1000)에 포함된 테이블(1100, 1200)로부터, 테이블(1100, 1200)을 구성하는 구성 성분들을 추출하고, 추출된 구성 성분들 간의 관계에 기반하여, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성할 수 있다.
도시와 같이, 이미지(1000)에는 하나 또는 그 이상의 테이블이 포함될 수 있으며, 본 발명은 이미지(1000)에 포함된 테이블의 수에 관계없이, 이미지(1000)에 포함된 모든 테이블을 인식하고, 동일하게 재현하는 것이 가능하다.
본 발명에서, 이미지(1000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나 사진 촬영에 의하여 획득된 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.
한편, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 생성 시스템(100)은 수신부(110), 저장부(120), OCR부(130) 및 제어부(140) 중 적어도 하나를 포함할 수 있다.
수신부(110)는 테이블(1100, 1200)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다.
테이블 생성 시스템(100)은 수신부(110)를 통해 수신한 이미지(1000)에 포함된 테이블(1100, 1200)을 분석하여, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성할 수 있다. 이와 같이, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성하는 작업은, 테이블을 재현, 재구성 또는 복원(reconstruction, restoration)한다고도 표현될 수 있다. 또한, 본 명세서에서 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성하는 것은 상기 이미지에 포함된 테이블 중 일부를 복원하는 것도 포함하는 의미로 지칭될 수 있다.
다음으로 저장부(120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(150, 클라우드 서버(151) 및 데이터베이스(database: DB, 152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다.
저장부(120)에는 i)테이블(1100, 1200)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100, 1200)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터, iv) 이미지에 포함된 테이블(1100, 1200)을 인식 및 추출하는데 활용되는 참조 데이터 중 적어도 하나가 저장될 수 있다.
여기에서, 참조 데이터는 “테이블 참조 데이터”라고도 명명될 수 있으며, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함할 수 있다. 이러한 참조 데이터는 서로 다른 크기를 갖는 다양한 이미지로 구성될 수 있으며, 이러한 이미지 각각에는 다양한 크기 및 다양한 위치를 갖는 테이블 영역(또는 참조 테이블 영역, 또는 테이블 포맷)이 포함될 수 있다.
나아가, 위에서 언급한 이미지는 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지를 포함하는 의미로 이해되어 질 수 있다.
다음으로, OCR(Optical Character Reader, 130)부는 이미지(1000)에 포함된 콘텐츠를 인식하는 수단으로서, 다양한 콘텐츠 인식 알고리즘 중 적어도 하나를 통하여 이미지(1000)에 포함된 콘텐츠를 인식할 수 있다. OCR부(130)는 인공지능에 기반한 알고리즘을 이용하여, 콘텐츠를 인식할 수 있다. 여기에서 콘텐츠는 텍스트(문자)를 포함할 수 있다.
OCR부는, 이미지에 포함된 텍스트 및 텍스트의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는 수신부(110)를 통해 입력된 이미지(1000) 내에서 텍스트가 어디에 위치하는지 또는 테이블(1100, 1200) 내에서 텍스트가 어디에 위치하는지에 대한 정보를 포함할 수 있다.
다음으로 제어부(140)는 본 발명과 관련된 테이블 생성 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(140)는 인공지능 알고리즘을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서)를 포함할 수 있다. 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 테이블(1100)을 인식하고, 이미지(1000)에 포함된 테이블(1100)과 동일한 셀의 구성(또는 구조)를 갖는 테이블을 생성할 수 있다.
한편, 본 발명에 대한 설명에 앞서, 본 명세서에서 언급되는 “테이블(table)”은, 표(表)라고도 명명될 수 있으며, 어떤 내용을 일정한 형식 또는 순서에 따라 나타낸 것을 의미할 수 있다. 도 1b를 참조하여 테이블의 구성 요소에 대하여 살펴보면, 테이블(200)은 적어도 하나의 셀(210)을 포함하여 구성될 수 있다. 즉, 테이블(200)은 적어도 하나의 셀(cell) 또는 공간(또는 영역)을 포함하고 있으며, 테이블은 이러한 셀(210) 내에 정보를 포함하도록 구성된다.
이러한 셀(cell, 210)은 테이블의 구성 요소에 의하여 구획되는 공간을 의미할 수 있다. 테이블의 구성 요소는, 바깥쪽 테두리 요소(201), 행(row) 요소(202) 및 열(column) 요소(203) 중 적어도 하나를 포함할 수 있다.
바깥쪽 테두리 요소(201)는 테이블(200)의 크기 및 형상을 결정하는 요소로서, 반드시 시각적으로 나타내어질 필요는 없다.
행 요소(202)는 바깥쪽 테두리 요소(201) 내에 포함되는 가로 라인(line 또는 선분)으로서, 테이블(200)의 구성에 따라, 테이블(200) 내에는 하나 또는 그 이상의 가로 라인이 구비될 수 있다. 행 요소(202)는 바깥쪽 테두리 요소(201)의 적어도 일부(가로 라인에 해당하는 테두리)를 포함할 수 있다.
열 요소(203)는 바깥쪽 테두리 요소(201) 내에 포함되는 세로 라인(line 또는 선분)으로서, 테이블(200)의 구성에 따라, 테이블(200) 내에는 하나 또는 그 이상의 세로 라인이 구비될 수 있다. 열 요소(203)는 바깥쪽 테두리 요소(201)의 적어도 일부(세로 라인에 해당하는 테두리)를 포함할 수 있다.
테이블(200)에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 가로 라인 및 세로 라인의 수, 배치 관계 등에 근거하여 다양하게 변형될 수 있으며, 셀들 간의 병합에 의해서도 다양하게 변형될 수 있다.
테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 사각형(square)의 형상으로 이루어진다.
테이블(200)에 포함된 셀(210)은, 적어도 4개의 라인(line, 선분)에 의해 정의될 수 있다. 즉, 테이블에 포함된 셀(210)은 4개의 라인(a, b, c, d)으로 둘러싸인 사각형으로 이루어질 수 있다. 이와 같이, 하나의 사각 형상의 셀을 형성하기 위해서는, 최소 4개의 라인이 필요하며, 이는, 2개의 가로 라인(또는 수평 라인(horizontal line, 도면 부호 “b, d” 참조)) 및 2개의 세로 라인(또는 수직 라인(vertical line, 도면 부호 “a, c” 참조))으로 이루어질 수 있다.
한편, “라인”의 용어는 “선분” 또는 “모서리(edge)”라고도 명명될 수 있다.
이와 같이, 사각 형상의 셀(210)은, 2개의 가로 라인(b, d) 및 2개의 세로 라인(a, c)의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다.
따라서, 테이블은 최소 4개의 라인을 포함하며, 가로 라인의 수, 세로 라인의 수, 라인 간의 간격, 라인의 배열 위치에 따라, 셀의 개수, 셀의 크기, 셀의 위치 등이 정의될 수 있다.
나아가, 본 발명에서 설명되는 테이블을 구성하는 구성 성분들은, 테이블을 구성하는 라인(가로 라인 및 세로 라인) 및 테이블을 구성하는 라인들이 교차(交叉)하면서 형성되는 코너(corner, 또는 꼭지점, 도면 부호 “e, f, g, h” 참조)를 포함할 수 있다.
모든 테이블은 최소 4개의 코너를 가지며, 이는 테이블의 가장 바깥쪽 테두리에 포함되는 코너일 수 있다. 나아가, 테이블에 포함된 코너의 개수는 테이블에 포함된 셀의 개수에 따라 달라진다.
다만, 본 명세서에서는 설명의 편의를 위하여, 테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 사각형(square)의 형상으로 이루어지는 것을 예시하는 것이며, 반드시 이에 한정되는 것은 아니다. 예를 들어, 삼각형, 오각형 등 다른 형태의 테이블 형상이 가능하며, 사각형 내에 대각선 라인이 형성되는 형태도 가능하다.
이하에서는, 위에서 살펴본 본 발명에 따른 테이블 생성 시스템의 구성에 기반하여, 테이블을 생성하는 방법에 대하여 보다 구체적으로 살펴본다.
도 2를 참조하면, 본 발명에 따른 테이블 생성 방법에서는, 먼저 테이블(1100, 1200)을 포함하는 이미지(1000, 도 1 참조)를 수신하는 과정이 진행될 수 있다(S210).
앞서, 살펴본 것과 같이, 테이블(1100, 1200)이 포함된 이미지(1000)는 다양한 루트를 통하여 수신될 수 있다. 예를 들어, 상기 이미지(1000)는 통신부를 통하여 전송되거나, 스캔부를 통하여 스캔되거나, 입력부를 통하여 입력되는 방식 등을 통하여 수신될 수 있다.
이미지(1000)가 수신되면, 다음으로, 이미지(1000)에서 테이블(1100, 1200)의 위치를 추정하는 과정이 진행될 수 있다(S220). 여기에서, 테이블(1100, 1200)의 위치를 추정한다고 함은, 이미지(1000)에서 테이블(1100, 1200)이 포함된(또는 자치하는) 영역(이하, “테이블 영역”이라 특정함)을 추정하고, 특정하는 것을 의미할 수 있다.
보다 구체적으로, 제어부(140)는 상기 이미지(1000)에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정할 수 있다.
여기에서, 특징 정보는, 이미지(1000)로부터 추출되는 정보로서, 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 특징 정보를 추출할 수 있다. 보다 구체적으로 제어부(140)는 이미지(1000)를 CNN(Convolutional Neural Network)의 입력 데이터로서 입력하여, 이미지(1000)로부터 특징 정보를 추출할 수 있다.
본 발명에서 특징 정보는 테이블(1100, 1200)를 구성하는 구성 성분(또는 구성 요소)에 대한 정보 및 이미지(1000) 자체에 대한 정보 중 적어도 하나를 포함할 수 있다. 특징 정보는, 이미지(1000)에 포함된 복수의 라인(line), 상기 복수의 라인 중 적어도 일부가 교차하여 형성되는 코너(corner) 및 상기 이미지(1000)의 배경 중 적어도 하나와 관련된 정보를 포함할 수 있다.
특징 정보에 포함된 코너에 대한 정보는, 도 4에 도시된 것과 같이, 테이블(1100, 1200)의 가장 바깥쪽 라인(또는 테두리)에 의해 형성되는 코너(또는 꼭지점이나 모서리, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)에 대한 정보를 포함할 수 있다. 여기에서, 코너에 대한 정보는 이미지(1000)에서 테이블(1100, 1200)의 가장 바깥쪽 라인에 의해 형성되는 코너(또는 꼭지점, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)가, 어디에 위치하는지에 대한 정보를 포함할 수 있다. 또한, 이러한 코너의 위치 정보는 기준 좌표계의 원점으로부터 좌표값으로 정의될 수 있다.
나아가, 이미지(1000)의 배경에 대한 정보는, 이미지(1000)의 배경 색상에 대한 정보를 포함할 수 있다. 여기에서, 배경 색상에 대한 정보는, 테이블(1100. 1200)이 포함된 테이블 영역(410, 420)과 테이블이 포함되지 않은 나머지 영역(430)을 구분하는 데 활용될 수 있다. 이미지에서 일반적으로 배경 색상은 나머지 영역(430)에 포함되므로, 이를 기반으로 이미지(1000)에서 테이블(1100, 1200)이 포함된 테이블 영역(410, 420)이 특정될 수 있다.
한편, 제어부(140)는, 상기 테이블 영역을 추정하기 위한 테이블 참조 데이터와 상기 특징 정보를 이용하여, 상기 테이블 영역을 특정할 수 있다. 앞서 살펴본 것과 같이, 테이블 참조 데이터(또는 참조 데이터)는, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함할 수 있다. 여기에서, 위치 정보는, 이미지 내에서 테이블이 위치하는 영역에 대한 위치 정보를 의미할 수 있다. 나아가, 위에서 언급한 이미지는 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지를 포함하는 의미로 이해되어 질 수 있다.
이러한 테이블 참조 데이터는, 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지 마다 테이블이 포함될 수 있는 영역(또는 테이블 영역)이 정의되어 있는 데이터로 이해될 수 있다. 예를 들어, 도 3의 (a) 내지 (d)에 도시된 것과 같이, 테이블 참조 데이터는 특정 크기를 갖는 이미지(300)에서 테이블이 존재할 수 있는 다양한 테이블 영역(310, 320, 330, 340)에 대한 정보를 포함하며, 이러한 테이블 영역은, 참조 테이블 영역, 테이블 배열 또는 테이블 포맷이라고도 명명될 수 있다. 나아가, 테이블 참조 데이터는, 도 3에 도시된 특정 크기를 갖는 이미지(300) 뿐만 아니라, 다양한 크기 또는 다양한 비율을 갖는 이미지 마다, 테이블 영역이 어느 위치에 얼만큼의 크기로 위치할 수 있는지에 대한 정보를 포함할 수 있다. 이러한 테이블 참조 데이터는 수십만개의 서로 다른 테이블 영역에 대한 정보를 포함할 수 있다.
제어부(140)는 이러한 테이블 참조 데이터와 특징 정보를 기반으로, 이미지(1000)에서 테이블(1100, 1200)이 포함될 확률이 가장 높은 영역을 이미지(1000)의 테이블 영역(410, 420)으로 특정할 수 있다.
제어부(140)는, region proposal network의 입력 데이터로서 특징 정보를 입력하여, 이미지(1000)에서 테이블(1100, 1200)이 포함된 테이블 영역(410, 420)을 특정할 수 있다. region proposal network는 테이블 참조 데이터에 포함된 다양한 참조 테이블 영역 중 이미지(1000)로부터 추출된 특징 정보와 유사도가 가장 높은 참조 테이블 영역을 추출할 수 있다.
이때, 제어부(140)는 테이블 참조 데이터 중 테이블이 포함된 이미지(1000)와 동일 또는 가장 유사한 크기(또는 비율)을 갖는 이미지에 포함된 참조 테이블 영역을 추출하고, 추출된 참조 테이블 영역과 특징 정보를 비교하여, 테이블 영역(410, 420)을 추정할 수 있다.
제어부(140)는 특징 정보에 기반하여, 이미지(1000)에서 테이블(1100, 1200)의 바깥쪽 테두리에 존재하는 코너가 위치한 영역을 특정하고, 코너가 위치한 영역과 테이블 참조 데이터에 포함된 다양한 참조 테이블 영역을 비교할 수 있다. 제어부(140)는 이미지(1000)에서 코너가 위치한 지점의 연결에 의해 한정 또는 정의되는 영역을 테이블이 존재하는 영역이라고 가정하여, 참조 테이블 영역과 비교할 수 있다. 여기에서, 코너가 위치한 지점의 연결에 의해 한정되는 영역은, 도 4에 도시된 것과 같이, 테이블의 바깥쪽 라인에 의해 형성되는 코너(또는 꼭지점, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)에 의해 정의되는 영역으로 지칭될 수 있다.
코너에 의해 정의되는 영역은, 한 쌍의 코너에 의해 정의되는 영역(또는 코너에 의해 정의되는 영역)은 한 쌍에 포함된 코너들을 기준으로 안쪽 영역을 의미할 수 있다. 여기에서, “코너 한 쌍” 또는 “한 쌍의 코너”라 함은, 하나의 테이블을 정의하는 4개의 코너(1100a, 1100b, 1100c, 1100d 또는 1200a, 1200b, 1200c, 1200d)를 의미할 수 있다. 따라서, 상기 한 쌍의 코너에 의해 정의되는 영역은 하나의 테이블의 바깥쪽 라인에 의하여 감싸지는 영역이 될 수 있다.
위에서 살펴본 것과 같이, 제어부(140)는 비교 결과, 코너에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을, 영역에 이미지(1000)에 포함된 테이블(1100, 1200)이 위치하는 테이블 영역으로 추정할 수 있다.
나아가, 제어부(140)는 위의 과정에서 특징 정보에 포함된 이미지의 배경에 대한 정보를 고려할 수 있으며, 이미지(1000)에서 배경 색상이 포함되지 않은 영역을 테이블(1100, 1200)이 포함될 확률이 높은 영역으로 가정하여, 테이블 영역(410, 420)을 추정할 수 있다.
이와 같이, 본 발명에서는 특징 정보에 포함된 라인, 코너 및 배경 색상 중 적어도 하나와 관련된 정보를 이용하여 이미지(1000)에서 테이블(1100, 1200)이 위치한 영역을 추정하고, 상기 추정된 영역과 상기 복수의 참조 테이블을 비교하여 상기 이미지(1000)에 포함된 테이블에 해당하는 테이블 영역(410, 420)을 특정할 수 있다.
한편, 도 4에 도시된 것과 같이, 이미지(1000)에 제1 테이블(1100) 및 제2 테이블(1200)이 존재하는 경우, 두 쌍의 코너(1100a, 1100b, 1100c, 1100d 및 1200a, 1200b, 1200c, 1200d)가 검출될 수 있다. 이 경우, 제어부(140)는 이미지(1000)에서 테이블의 바깥쪽 라인에 의해 형성되는 코너가 한 쌍 이상 검출되는 경우, 이미지(1000)에 복수의 테이블이 존재한다고 판단할 수 있다. 그리고, 제어부(140)는 각각의 쌍에 대응되는 테이블 영역을 각각 특정할 수 있다. 이 경우, 제어부(140)는 제1 테이블(1100)에 포함된 코너들(1100a, 1100b, 1100c, 1100d)에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을 추출하고, 제2 테이블(1200)에 포함된 코너들(1200a, 1200b, 1200c, 1200d)에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을 각각 추출할 수 있다.
이와 같이, 본 발명에서는 테이블을 정의하는 바깥쪽 테두리의 코너들을 기준으로 테이블 영역을 정의함으로써, 이미지(1000)에 복수의 테이블이 포함된 경우라도, 복수의 테이블 모두를 인식하고, 테이블 영역을 특정하는 것이 가능하다.
다시 도 2를 참조하면, 다음으로 본 발명에서는, 테이블에 포함된 텍스트를 인식하는 과정이 진행될 수 있다(S230). 보다 구체적으로, 본 발명에서는 이미지(1000)에 포함된 텍스트 및 상기 이미지(1000)에서의 텍스트의 위치 정보를 추출하는 과정이 진행될 수 있다.
도 5에 도시된 것과 같이, 제어부(140)는 딥러닝 알고리즘에 기반하여, 테이블(1100, 1200) 내에 포함된 텍스트(502, 503, 504, 505, 506, 507, 508) 및 테이블(1100, 1200)을 벗어난 영역에 포함된 텍스트(501, 510)를 모두 인식할 수 있다.
여기에서, 텍스트의 위치 정보는, 테이블 영역(410, 420)을 영역을 기준으로 하는 텍스트의 위치에 대한 정보이거나, 이미지(1000)를 기준으로 하는 텍스트의 위치 정보일 수 있다.
제어부(140)는 OCR부(130)를 제어하여, 이미지(1000)에 포함된 텍스트를 검출할 수 있다.
OCR부(130)는 이미지(1000)에 포함된 각 텍스트(또는 글자) 및 텍스트의 위치를 검출하기 위해 훈련된 텍스트 검출 모델을 통하여, 이미지(1000)로부터 텍스트를 검출할 수 있다.
이와 같이, 이미지(1000)로부터 텍스트 및 텍스트의 위치가 검출되면, 다음으로 본 발명에서는 테이블 영역에 포함된 셀을 특정하는 과정이 진행될 수 있다(S240).
제어부(140)는 위에서 추출된 텍스트의 위치 정보에 근거하여, 테이블(1100, 1200)에 포함된 적어도 하나의 셀을 검출 또는 특정할 수 있다.
제어부(140)는 이미지(1000)로부터 추출된 특징 정보에 포함된 라인(가로 라인 및 세로 라인)을 기준으로 테이블 영역(410, 420)을 구획할 수 있으며, 이러한 구획에 의하여 테이블(1100, 1200)의 셀이 특정될 수 있다.
나아가, 제어부(140)는 텍스트의 위치 정보를 기준으로, 테이블(1100, 1200) 내에서 텍스트가 위치한 지점에 셀이 존재한다고 가정함으로써, 테이블(1100, 1200)의 셀을 특정할 수 있다.
도 5에 도시된 것과 같이, 제어부(140)는 테이블 영역(410, 420) 내에서 텍스트가 위치하는 영역(502, 5203, 504, 505, 506, 507, 508 등)에 셀이 존재한다고 추정할 수 있다.
제어부(140)는 region proposal network의 입력 데이터로서 특징 정보를 입력하여, 이미지(1000)에서 테이블(1100, 1200)에 포함된 셀(611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627 등)을 특정할 수 있다. 이때, region proposal network는 위에서 추출된 텍스트의 위치 정보에 근거하여, 테이블을 구성하는 셀을 특정할 수 있다. region proposal network는 텍스트가 위치한 곳에 셀이 위치한다고 가정함으로써, 테이블(1100, 1200) 내에서 셀이 위치한 영역을 추정 및 특정할 수 있다. 이와 같이, 제어부(140)는 텍스트의 위치 정보에 근거하여, 셀의 위치를 추정 및 셀을 특정함으로써, 시각적으로 보이지 않는 라인에 의하여 구획된 셀까지 추출(또는 특정) 하는 것이 가능하다.
나아가, 제어부(140)는 텍스트의 위치 정보를 기준으로, 테이블(1100, 1200) 내에서 텍스트가 위치한 지점에 셀이 존재한다고 가정함으로써, 테이블(1100, 1200)의 셀을 특정할 수 있다. 이 경우, 제어부(140)는 테이블에 포함된 특정 텍스트의 위치 및 주변 텍스트의 배열에 근거하여, 특정 텍스트가 포함된 셀의 크기를 특정할 수 있다. 테이블(1100, 1200)은 테이블(1100, 1200)에 포함된 가로 라인 및 세로 라인에 의하여 최소 단위의 셀로 분할될 수 있으며, 이 중 서로 이웃하는 적어도 두개의 셀이 병합되어, 하나의 셀을 이룰 수 있다. 본 발명에서 제어부(140)는 텍스트의 위치에 기반하여, 이미지에 포함된 테이블(1100, 1200)에서 병합된 셀을 추출 및 병합된 셀의 구조를 그대로 특정하는 것이 가능하다.
예를 들어, 수신한 이미지 내의 테이블에서 “01. 진찰료”의 텍스트가 위치하는 제1영역(503)이 검출되고, 상기 제1영역과 가로 라인을 따라 인접한 위치에 일자에 해당하는 텍스트들(예를 들어, “2020-12-03~2020-12-18” 등)이 위치하는 제2영역(503), 제3영역(504) 및 제4영역(505)이 검출될 수 있다.
제어부(140)는 상기 제1영역 내지 제4영역(505)의 텍스트의 위치를 분석하여, 상기 제1영역(501)을 상기 최소 단위의 셀이 병합된 하나의 셀로서 설정할 수 있다. 예를 들어, 상기 테이블의 세로 라인을 따라 상기 제1영역(503)의 다음에 나타내는 텍스트인 “02. 입원료”와 상기 제1영역(503)의 상대 위치는, 상기 제2영역(503), 제3영역(504) 및 제4영역(505)의 상대 위치와 서로 다른 규칙(또는 패턴)을 가지는 것으로 분석될 수 있다. 제어부는 이러한 분석을 이용하여, 상기 제2영역(503), 제3영역(504) 및 제4영역(505)은 최소 단위의 셀로 분할하고, 상기 제1영역을 세로라인을 따라 상기 제2영역(503), 제3영역(504) 및 제4영역(505)이 병합된 크기로 설정할 수 있다.
한편, 제어부(140)는 region proposal network는 테이블(1100, 1200)을 벗어난 영역에서 인식된 텍스트(630)는 고려하지 않을 수 있다. 즉, 제어부(140)는 테이블(1100. 1200) 내에 포함된 텍스트 및 텍스트의 위치 정보 만을 고려하여, 테이블(1100, 1200)에 포함된 셀이 특정되도록 region proposal network를 제어할 수 있다.한편, 테이블(1100, 1200)에 포함된 셀이 특정된 경우, 제어부(140)는 특정된 셀들을 범주 셀(611, 613, 621, 622)과 데이터 셀(612, 614, 623, 624, 625, 626, 627)로 구분할 수 있다. 도시와 같이, 테이블(1100, 1200)을 구성하는 셀은 범주 이름이 포함되는 범주 셀(611, 613, 621, 622)과 범주 셀에 포함된 범주 이름과 관련된(또는 범주 이름에 속한) 데이터가 포함되는 데이터 셀(612, 614, 623, 624, 625, 626, 627)을 포함할 수 있다.
범주는 동일하거나 유사한 성질 또는 의미를 기준으로 구분되는 것으로서, 카테고리(category)라고도 명명될 수 있다. 동일한 범주에 속한 데이터는, 서로 동일한 의미, 서로 동일한 종류, 또는 서로 동일한 소속에 해당하는 데이터일 수 있다.
즉, 데이터 셀에 포함된 텍스트의 의미는 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당할 수 있다.
범주 셀은, 범주의 이름 또는 범주의 이름과 관련된 데이터가 포함되며, 데이터 셀은 범주 셀에 포함된 범주의 이름에 속한 데이터가 포함될 수 있다. 여기에서 범주의 이름은 카테고리 명으로도 이해되어 질 수 있다.
예를 들어, 제1 범주 셀(611)은 “환자등록번호”라는 범주 이름을 가지며, 제1 범주셀(611)에 대응되는 데이터 셀(612)은 “환자등록번호”라는 범주 이름에 속하는 데이터(예를 들어, “123456”)을 가질 수 있다.
나아가, 제2 범주 셀(623)은 “01.진찰료”라는 범주 이름을 가지며, 제2 범주 셀(623)에 대응되는 데이터 셀(625) 진찰료와 관련된 데이터(진찰 일자)를 가질 수 있다.
한편, 경우에 따라, 범주 셀은, 데이터 셀의 속성을 함께 가질 수 있다. 예를 들어, 제2 범주 셀(623)은 상기 데이터 셀(625)에 대해서는 범주 이름을 포함하는 범주 속성을 가지나, 제3 범주 셀(621)에 대해서는 제3 범주 셀(621)의 범주 이름(항목)과 관련된 데이터(“01. 진찰료”라는 항목에 대한 정보)를 가질 수 있다.
제어부(140)는 셀의 위치 및 셀에 포함된 텍스트의 의미에 근거하여, 범주 셀과 데이터 셀을 구분할 수 있다.
한편, 제어부(140)는 도 7의 (a) 및 (b)에 도시된 것과 같이, 테이블(1100, 1200)에 포함되지 않은 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트는 제거할 수 있다. 제어부(140)는 테이블 영역(410, 420)과 텍스트의 위치 정보를 이용하여 상기 테이블 영역(410, 420)을 벗어나서 위치하는 텍스트를 검출할 수 있다.
예를 들어, 특정 텍스트가 상기 테이블 영역(410, 420)을 벗어나서 위치한 것으로 검출되는 경우에, 상기 제어부는 region proposal network을 이용한 딥러닝의 입력 데이터에서 상기 텍스트를 제외할 수 있다. 이를 통하여, 상기 테이블(1100, 1200)을 벗어난 영역에서 인식된 텍스트는 테이블 복원을 위한 데이터 처리에서 제외될 수 있다.
나아가, 제어부(140)는 테이블(1100, 1200)에 포함된 셀이 특정되면, 특정된 셀을 제외한 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트를 제거할 수 있다.
이와 다르게, 제어부(140)는 테이블(1100, 1200)에 포함되지 않은 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트 및 텍스트의 위치 정보를 저장부(120)에 저장할 수 있다. 저장된 정보는, 추후 테이블을 재현할 때 활용할 수 있다.
위에서 살펴본 것과 같이, 테이블에 포함된 셀의 특정이 완료되면, 본 발명에서는 테이블의 구조를 특정하는 과정을 수행할 수 있다(S250, 도 2 참조).
제어부(140)는 특정된 복수의 셀들 간의 관계성(또는 관련성)에 근거하여, 테이블(1100, 1200)의 구조를 특정할 수 있다.
여기에서, “테이블(1100, 1200)의 구조를 특정”한다고 함은, 복수의 셀 중 서로 관련된 데이터를 포함하는 셀들을 특정(또는 그룹핑)하는 과정으로서, 앞서 살펴본, 범주 셀 및 범주 셀의 범주 이름(또는 카테고리)에 속하는 데이터를 포함한 데이터 셀을 그룹핑하는 과정을 의미할 수 있다.
본 발명에서는, 테이블의 구조를 특정하는 과정을 통하여, 서로 관련된 데이터를 포함하는 범주 셀 및 데이터 셀이 동일한 그룹으로 그룹지어 질 수 있다.
이때, 제어부(140)는 앞서 살펴본 셀을 특정하는 과정에서 구분된 범주 셀 및 데이터 셀에 근거하여, 서로 관련된 셀들을 그룹핑할 수 있다. 이러한 예로서, 하나의 범주 셀에 복수의 데이터 셀이 관련된 셀들로 분석되어 하나의 그룹으로서 설정될 수 있다.
나아가, 제어부(140)는 셀을 특정하는 과정에서 범주 셀 및 데이터 셀이 구분되지 않은 경우에도, 셀들에 포함된 텍스트의 의미를 분석하여, 서로 관계성 있는 범주 셀 및 데이터 셀을 그룹핑할 수 있다.
제어부(140)는 테이블(1100, 1200)로부터 특정된 복수의 셀들 간의 관계성을 근거로 상기 복수의 셀들 중 어느 하나를 범주 셀로 특정하고, 다른 하나를 상기 범주 셀에 대응하는 데이터 셀로 특정할 수 있다. 제어부(140)는 서로 관계성을 가지는 복수의 셀들에 포함된 텍스트의 의미에 근거하여, 범주 셀 및 데이터 셀을 각각 구분할 수 있다.
한편, 특정 데이터 셀에 포함된 텍스트의 의미는 상기 특정 데이터 셀과 동일한 그룹에 속하는(즉, 관계성을 가지는) 특정 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당할 수 있다.
제어부(140)는, 복수의 셀들 간의 관계성을 추정하기 위하여, 이미지로부터 추출된 텍스트를 이용할 수 있다. 이때, 제어부(140)는 도 8 및 도 9에 도시된 것과 같이, 추출된 텍스트에 기반하여, 복수의 셀들 간의 관계성을 일 방향으로 따라 추정할 수 있다. 제어부(140)는, 도 8에 도시된 것과 같이, 복수의 셀들 간의 관계성을 행 방향을 따라 추출하고, 나아가, 도 9에 도시된 것과 같이, 복수의 셀들 간의 관계성을 열 방향을 따라 각각 추정할 수 있다. 한편, 이미지(1000)에 복수의 테이블(1100, 1200)이 포함된 경우, 제어부(140)는 각각의 테이블에 대해 서로 독립적으로 셀들의 관계성을 파악할 수 있다.
나아가, 복수의 셀들 간의 관계성을 추정하기 위하여 제어부(140)는 self-attention 알고리즘(또는 self-attention 구조)에 근거하여, 복수의 셀들 간의 관계를 추출할 수 있다.
이를 위하여, 제어부(140)는 테이블에서 특정된 복수의 셀 모두가 상호 관계성을 가진다고 가정한 후, 각각의 셀들에 포함된 텍스트의 의미 분석에 기반하여, 서로 관계성이 떨어지는 셀들 간의 관계를 제거하는 방법으로, 최종적으로 상호 관계성을 가지는 셀들의 그룹을 특정할 수 있다. 이러한 특정된 그룹에는 적어도 하나의 범주 셀과 적어도 하나의 데이터 셀이 포함될 수 있다.
제어부(140)는 서로 관계성이 떨어지는 셀들 간의 관계를 제거하기 위하여, 도 8에 도시된 것과 같이, 행 방향을 따라 나열된 복수의 셀들(801, 802, 803, 804, 805, 806, 807, 808 또는 810, 811, 812, 813, 814, 815, 816, 817)에 포함된 텍스트의 의미를 각각 분석하고, 각각의 텍스트 중 서로 관련성 있는 텍스트를 포함한 셀을 같은 그룹으로 특정할 수 있다.
예를 들어, 동일 행에 포함된 셀들의 의미를 분석하여, “진찰료”와 관련된 의미를 갖는 텍스트(또는 데이터)를 가지고 있는 셀들을 하나의 그룹으로 그룹핑할 수 있다.
이와 반대로, 제어부(140)는 행 방향을 따라 나열된 복수의 셀들(801, 802, 803, 804, 805, 806, 807, 808 또는 810, 811, 812, 813, 814, 815, 816, 817)을 동일한 그룹에 속한다고 가정한 후, 각각의 셀에 포함된 텍스트의 의미를 각각 분석할 수 있다. 그리고, 제어부(140)는 복수의 셀들에 포함된 각각의 텍스트가 나타내는 의미 중 관련성이 떨어지는 텍스트를 포함한 셀을 상기 가정된 그룹에서 제외할 수 있다.
예를 들어, 동일 행에 포함된 셀들 중 대부분이 “진찰료”와 관련된 의미를 갖는 텍스트(또는 데이터)를 가지고, 일부 셀이 “쇼핑”과 관련된 의미를 갖는 텍스트를 갖는 경우, 제어부(140)는 셀들에 포함된 텍스트의 의미 분석에 기반하여, “쇼핑”과 관련된 의미를 갖는 텍스트 갖는 셀을 나머지 셀과 관련성이 떨어진다고 판단할 수 있다. 이 경우, 제어부(140)는 “쇼핑”과 관련된 의미를 갖는 텍스트를 포함한 셀을 제외한 나머지 셀에 대해서만 동일한 그룹으로 그룹핑할 수 있다.
한편, 마찬가지로 도 9에 도시된 것과 같이, 제어부(140)는 열 방향을 따라 나열된 복수의 셀들(901, 902 또는 911, 912, 913, 914)에 포함된 텍스트의 의미를 각각 분석하고, 각각의 텍스트 중 서로 관련성 있는 텍스트를 포함한 셀을 같은 그룹으로 특정할 수 있다. 이와 반대로, 제어부(140)는 열 방향을 따라 나열된 복수의 셀들(901, 902 또는 911, 912, 913, 914)을 동일한 그룹에 속한다고 가정한 후, 각각의 셀에 포함된 텍스트의 의미를 각각 분석할 수 있다. 그리고, 제어부(140)는 복수의 셀들에 포함된 각각의 텍스트가 나타내는 의미 중 상호 관련성이 떨어지는 텍스트를 포함한 셀을 상기 가정된 그룹에서 제외할 수 있다.
이와 같이, 제어부(140)는 셀들의 방향성을 기준으로 셀들에 포함된 텍스트의 의미를 분석하여, 서로 관련성이 있는 셀들을 특정할 수 있다. 이와 같이, 복수의 셀들 간의 관계성의 특정이 완료되면, 제어부(140)는 복수의 셀들 간의 관계성과 이미지로부터 추출된 텍스트를 이용하여 도 10에 도시된 것과 같이, 이미지(1000, 도 1 참조)에 포함된 테이블(1100, 1200)과 대응되는 테이블(2100, 2200)을 생성할 수 있다.
생성되는 테이블(2100, 2200)은 엑셀(xlsx)구조의 데이터 또는 다양한 형식의 데이터로서 제공될 수 있다.
엑셀 구조의 데이터로, 생성된 테이블이 제공되는 경우, 제어부(140)는 복수의 셀들 간의 관계성을 엑셀 데이터 반영할 수 있으며, 이 경우, 셀들 간의 연산 관계 또한 엑셀 데이터에 포함될 수 있다. 제어부(140)는 셀들에 포함된 텍스트 간의 상호 연산 관계를 추정하여, 추정된 연산 관계를 엑셀 데이터에 대응되는 셀들에 함수로서 적용할 수 있다.
한편, 도 10에 도시된 것과 같이, 제어부(140)는 이미지(1000, 도 1 참조)에서 테이블(1100, 1200)을 벗어난 영역에 위치한 텍스트(2010, 2020)를 함께 제공할 수 있다. 이 경우에, 해당 텍스트(2010, 2020)는 특정된 테이블 영역과의 상대 위치를 반영하여, 생성되는 테이블(2100, 2200)과 함께 하나의 데이터로서 제공될 수 있다.위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지의 특징 정보 및 테이블 참조 데이터에 기반하여, 이미지에서 테이블이 위치한 테이블 영역을 정확하게 특정하고, 텍스트 인식 결과에 기반하여 테이블 영역 내에 포함된 셀의 구조를 특정할 수 있다. 이를 통하여, 눈에 보이지 않는 라인(예를 들어, implicit line)에 의해 형성된 셀까지 특정하는 것이 가능하며, 결과적으로 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것 뿐만 아니라, 텍스트 인식 결과를 기반으로, 테이블에 포함된 셀들 간의 관계성을 부여함으로써, 각 셀들에 포함된 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (15)

  1. 테이블(table)을 포함하는 이미지를 수신하는 단계;
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계;
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계;
    상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계; 및
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 포함하는 테이블 생성 방법.
  2. 제1항에 있어서,
    상기 테이블 영역을 특정하는 단계에서는,
    상기 테이블 영역을 추정하기 위한 테이블 참조 데이터와 상기 특징 정보를 이용하여, 상기 테이블 영역을 특정하는 것을 특징으로 하는 테이블 생성 방법.
  3. 제2항에 있어서,
    상기 테이블 참조 데이터는, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함하고,
    상기 특징 정보는 상기 이미지에 포함된 복수의 라인(line), 상기 복수의 라인 중 적어도 일부가 교차하여 형성되는 코너(corner) 및 상기 이미지의 배경 색상 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 테이블 생성 방법.
  4. 제3항에 있어서,
    상기 테이블 영역을 특정하는 단계에서는,
    상기 라인, 코너 및 배경 색상 중 적어도 하나를 이용하여 상기 이미지에서 상기 테이블이 위치한 영역을 추정하고,
    상기 추정된 영역과 상기 복수의 참조 테이블을 비교하여 상기 이미지에 포함된 테이블이 위치한 상기 테이블 영역을 특정하는 것을 특징으로 하는 테이블 생성 방법.
  5. 제1항에 있어서,
    상기 텍스트 및 상기 텍스트의 위치 정보를 추출하는 단계에서는,
    상기 특정된 테이블 영역을 기준으로 상기 텍스트의 위치 정보를 추출하는 것을 특징으로 하는 테이블 생성 방법.
  6. 제5항에 있어서,
    상기 복수의 셀들을 특정하는 단계에서는,
    상기 특정된 테이블 영역 내에서 상기 텍스트가 위치하는 지점을 기준으로 상기 복수의 셀들을 검출하는 것을 특징으로 하는 테이블 생성 방법.
  7. 제1항에 있어서,
    상기 특정된 테이블 영역과 상기 추출된 텍스트의 위치 정보를 이용하여 상기 테이블 영역을 벗어나서 위치하는 텍스트를 검출하는 단계를 더 포함하는 테이블 생성 방법.
  8. 제1항에 있어서,
    상기 복수의 셀들 간의 관계성은 상기 추출된 텍스트를 이용하여 상기 특정된 복수의 셀들 간의 관계성을 행 방향 또는 열 방향으로 따라 각각 추정함에 의하여 설정되는 것을 특징으로 하는 테이블 생성 방법.
  9. 제8항에 있어서,
    상기 복수의 셀들 간의 관계성은,
    상기 추출된 텍스트의 의미를 분석하고, 상기 분석된 의미에 근거하여 추정되는 것을 특징으로 하는 테이블 생성 방법.
  10. 제9항에 있어서,
    상기 추정된 복수의 셀들 간의 관계성을 근거로 상기 복수의 셀들 중 어느 하나는 범주 셀로 특정되고, 다른 하나는 상기 범주 셀에 대응하는 데이터 셀로 특정되는 것을 특징으로 하는 테이블 생성 방법.
  11. 제10항에 있어서,
    상기 데이터 셀에 포함된 텍스트의 의미는 상기 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당하는 것을 특징으로 하는 테이블 생성 방법.
  12. 제9항에 있어서,
    상기 복수의 셀들 간의 관계성은 상기 특정된 테이블 영역에서 행 방향 및 열 방향으로 따라 각각 추정되는 것을 특징으로 하는 테이블 생성 방법.
  13. 제1항에 있어서,
    상기 복수의 셀들 간의 관계성과 상기 추출된 텍스트를 이용하여 상기 이미지에 포함된 테이블과 대응되는 테이블을 생성하는 단계를 더 포함하는 테이블 생성 방법.
  14. 저장부;
    테이블(table)을 포함하는 이미지를 수신하는 수신부; 및
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 제어부를 포함하고,
    상기 제어부는,
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하고, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하며,
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 것을 특징으로 하는 테이블 생성 시스템.
  15. 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
    상기 프로그램은,
    테이블(table)을 포함하는 이미지를 수신하는 단계;
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계;
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계;
    상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계; 및
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 수행하도록 하는 명령어들을 포함하는 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.

KR1020210024040A 2021-02-23 2021-02-23 테이블 생성 방법 및 시스템 KR102699223B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210024040A KR102699223B1 (ko) 2021-02-23 2021-02-23 테이블 생성 방법 및 시스템
PCT/KR2022/002622 WO2022182111A1 (ko) 2021-02-23 2022-02-23 테이블 생성 방법 및 시스템, 그리고 테이블 인식 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210024040A KR102699223B1 (ko) 2021-02-23 2021-02-23 테이블 생성 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20220120222A true KR20220120222A (ko) 2022-08-30
KR102699223B1 KR102699223B1 (ko) 2024-08-26

Family

ID=83113949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210024040A KR102699223B1 (ko) 2021-02-23 2021-02-23 테이블 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102699223B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (ko) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. 폼처리중자동페이지등록및자동영역검출을위한시스템및방법
KR101118628B1 (ko) * 2009-10-12 2012-03-07 대한민국(국가기록원) 지능형 인식 라이브러리 및 관리 도구를 활용한 고문서 이미지 데이터 인식 및 처리 방법
KR101484419B1 (ko) * 2013-12-17 2015-01-28 비플라이소프트(주) 전자문서의 레이아웃 자동인식 시스템 및 레이아웃 자동인식 방법
KR20190007696A (ko) * 2017-07-13 2019-01-23 주식회사 글로벌비엑스 비전자문서를 전자화 문서로 변환하는 방법 및 그 방법이 기록된 저장매체
JP2021504787A (ja) * 2017-12-01 2021-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コグニティブな文書イメージのデジタル化のための方法、コンピュータ・プログラム及びシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (ko) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. 폼처리중자동페이지등록및자동영역검출을위한시스템및방법
KR101118628B1 (ko) * 2009-10-12 2012-03-07 대한민국(국가기록원) 지능형 인식 라이브러리 및 관리 도구를 활용한 고문서 이미지 데이터 인식 및 처리 방법
KR101484419B1 (ko) * 2013-12-17 2015-01-28 비플라이소프트(주) 전자문서의 레이아웃 자동인식 시스템 및 레이아웃 자동인식 방법
KR20190007696A (ko) * 2017-07-13 2019-01-23 주식회사 글로벌비엑스 비전자문서를 전자화 문서로 변환하는 방법 및 그 방법이 기록된 저장매체
JP2021504787A (ja) * 2017-12-01 2021-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コグニティブな文書イメージのデジタル化のための方法、コンピュータ・プログラム及びシステム

Also Published As

Publication number Publication date
KR102699223B1 (ko) 2024-08-26

Similar Documents

Publication Publication Date Title
Davila et al. Chart mining: A survey of methods for automated chart analysis
KR102699224B1 (ko) 테이블 인식 방법 및 시스템
KR20210105764A (ko) 전자문서 내의 텍스트 추출 방법 및 관련 장치
CN112149663A (zh) 结合rpa和ai的图像文字的提取方法、装置及电子设备
CN112241730A (zh) 一种基于机器学习的表格提取方法和系统
Bajić et al. Review of chart image detection and classification
Tomovic et al. Aligning document layouts extracted with different OCR engines with clustering approach
CN117037136B (zh) 场景文本识别方法、系统、设备及存储介质
Daggubati et al. Barchartanalyzer: Data extraction and summarization of bar charts from images
Jocovic et al. Automated assessment of pen and paper tests using computer vision
CN111241897A (zh) 通过推断视觉关系的工业检验单数字化
KR102542174B1 (ko) 디지털 참고서 제공 시스템 및 그 방법
KR102697516B1 (ko) 테이블에 포함된 정보를 인식하는 문자 인식 에러에 강인한 글자 인식 방법 및 시스템
CN116822634A (zh) 一种基于布局感知提示的文档视觉语言推理方法
KR20220120222A (ko) 테이블 생성 방법 및 시스템
US12086551B2 (en) Semantic difference characterization for documents
CN116030469A (zh) 一种处理方法、装置、设备和计算机可读存储介质
JP7420578B2 (ja) 帳票仕分システム、帳票仕分方法、及びプログラム
KR102707927B1 (ko) 테이블 생성 방법 및 시스템
JP2023003887A (ja) 書類画像処理システム、書類画像処理方法、および書類画像処理プログラム
Wijesinghe et al. Computer representation of Venn and Euler diagrams
Kawanaka et al. Document image processing for hospital information systems
KR102618144B1 (ko) 멀티 레이어 구조에서 사용자와의 상호작용 구현을 위한 방법 및 장치
KR102655430B1 (ko) 테이블 생성 방법 및 시스템
KR102680717B1 (ko) 멀티 레이어 구조에서 사용자와의 상호작용을 하기 위한 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant