KR102614760B1 - 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법 - Google Patents

표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법 Download PDF

Info

Publication number
KR102614760B1
KR102614760B1 KR1020200153094A KR20200153094A KR102614760B1 KR 102614760 B1 KR102614760 B1 KR 102614760B1 KR 1020200153094 A KR1020200153094 A KR 1020200153094A KR 20200153094 A KR20200153094 A KR 20200153094A KR 102614760 B1 KR102614760 B1 KR 102614760B1
Authority
KR
South Korea
Prior art keywords
characters
header
identification unit
data
table image
Prior art date
Application number
KR1020200153094A
Other languages
English (en)
Other versions
KR20220066740A (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 KR1020200153094A priority Critical patent/KR102614760B1/ko
Publication of KR20220066740A publication Critical patent/KR20220066740A/ko
Application granted granted Critical
Publication of KR102614760B1 publication Critical patent/KR102614760B1/ko

Links

Images

Classifications

    • 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/151Transformation
    • 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/109Font handling; Temporal or kinetic typography
    • 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
    • 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
    • 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/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms 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/413Classification of content, e.g. text, photographs or tables

Landscapes

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

Abstract

본 발명의 기술적 사상에 따라, 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템은, 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하고, 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류하도록 구성된 클러스터링부, 복수의 그룹들 각각에 대응하는 행과 열을 식별하도록 구성된 셀 식별부, 표 이미지에서 적어도 하나의 구분선을 추출하고, 상기 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하도록 구성된 머리글 식별부를 포함할 수 있다.

Description

표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법{SYSTEM AND METHOD FOR GENERATING STRUCTURED DATA FROM TABLE IMAGE}
본 발명의 기술적 사상은 표 정보 생성 시스템에 관한 것으로서, 더욱 상세하게는 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템에 관한 것이다.
본 발명은 과학기술정보통신부 SW컴퓨팅산업원천기술개발산업(SW)의 일환으로 (주)솔트룩스에서 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2020.01.01 ~2020.12.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: WiseKB: 빅데이터 이해 기반 자가학습형 지식베이스 및 추론 기술 개발, 과제 고유번호: 1711103335, 세부과제번호: 2013-2-00109-008]
표는 학회지, 학술지, 보고서 등 다양한 분야에서 자료 분석을 위해 사용될 수 있다. 문서 내부에 포함된 표 또는 이미지 형태의 표로부터 구조화된 표 정보를 생성하는 것은 용이하지 아니할 수 있다. 기계학습(Machine learning) 기술이 발전함에 따라, 학습 데이터를 통해 표를 식별하고 구조화된 표 정보를 생성하는 방법이 있으나, 표 정보의 정확도가 떨어지는 문제점이 있다.
본 발명의 기술적 사상은, 표 이미지로부터 구조화된 출력 데이터를 정확하게 생성하는 표 정보 생성 시스템 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상에 따라, 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템은, 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하고, 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류하도록 구성된 클러스터링부, 복수의 그룹들 각각에 대응하는 행과 열을 식별하도록 구성된 셀 식별부, 표 이미지에서 적어도 하나의 구분선을 추출하고, 상기 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하도록 구성된 머리글 식별부를 포함할 수 있다.
본 발명의 기술적 사상에 따라, 정보는, 문자를 포함하는 바운딩 박스를 포함하고, 바운딩 박스에 기초하여 상기 문자들의 평균 너비 및 평균 높이 중 적어도 하나를 산출하도록 구성된 데이터 전처리부를 더 포함할 수 있다.
본 발명의 기술적 사상에 따라, 클러스터링부는, 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터와 수평축 사이의 각도에 기초하여 행 그룹들을 분류하고, 상기 벡터의 크기에 기초하여 열 그룹들을 분류하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 셀 식별부는, 제1 그룹의 제1 바운딩 박스 및 제2 그룹의 제2 바운딩 박스가 수직축 방향으로 적어도 부분적으로 중첩되는 경우 상기 제1 그룹과 상기 제2 그룹이 동일한 열에 속하는 것으로 식별하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 정보는, 문자를 포함하는 바운딩 박스를 포함하고, 머리글 식별부는, 표 이미지를 수신하고, 표 이미지의 픽셀들 및 바운딩 박스의 수평축 길이에 기초하여 표 이미지로부터 적어도 하나의 구분선을 추출하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 머리글 셀 인식부는, 적어도 하나의 구분선을 기준으로 같은 영역에 속한 셀들은 동일한 값을 가지도록 셀 식별부에서 인식된 셀들 각각에 대응하는 값들을 포함하는 셀 상태 행렬을 생성하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 머리글 식별부는, 셀 상태 행렬에서 가장 많은 값들에 대응하는 셀들의 영역을 데이터 영역으로 식별하고, 나머지 영역을 머리글 영역으로 식별하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템은, 적어도 하나의 구분선의 유형에 기초하여 머리글 영역에 대응하는 2이상의 셀들을 병합하도록 구성된 머리글 셀 병합부를 더 포함할 수 있다.
본 발명의 기술적 사상에 따라, 머리글 식별부는, 셀들 각각에 대응하는 값들을 포함하는 셀 상태 행렬을 생성하도록 구성되고, 머리글 셀 병합부는, 머리글 영역에서 적어도 하나의 구분선으로 분할된 복수의 서브 영역들을 식별하고, 2 이상의 셀들에 대응하는 값들이 동일한 값을 가지도록 셀 상태 행렬을 수정하도록 구성될 수 있다.
본 발명의 기술적 사상에 따라, 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 방법에 있어서, 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하는 단계, 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류 하는 단계, 복수의 그룹들 각각에 대응하는 행과 열을 식별하는 단계, 표 이미지에서 적어도 하나의 구분선을 추출하고, 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 광학 문자 인식 결과를 활용하여 표 이미지로부터 높은 정확도의 표 정보를 생성할 수 있다.
또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면 기계학습으로 인식하기 어려운 특정 유형의 표 이미지로부터 규칙 기반의 프로세스를 기반으로 높은 정확도의 표 정보를 생성할 수 있다.
또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 높은 정확도의 표 정보에 기인하여 표로부터 정확한 지식 데이터가 용이하게 추출될 수 있고, 지식 그래프 또는 지식 베이스의 구축이 용이해질 뿐만 아니라 방대한 지식을 포함하는 지식 그래프 또는 지식 베이스가 구축될 수 있다.
본 발명의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 본 발명의 실시예들에 대한 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명을 실시함에 따른 의도하지 아니한 효과들 역시 본 발명의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 표 정보 생성 시스템 및 그 입출력 관계를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 도 1의 데이터 전처리부의 예시를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 도 1의 표 이미지의 예시를 나타낸다.
도 4는 본 개시의 예시적 실시예에 따른 도 1의 클러스터링부의 동작 방법을 예시적으로 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따라 도 3의 일부 문자들을 클러스터링하는 방법의 예시를 나타낸다.
도 6은 본 개시의 예시적 실시예에 따라 도 1의 클러스터링부에서 문자들을 복수의 그룹들로 분류한 결과를 예시적으로 나타낸다.
도 7은 본 개시의 예시적 실시예에 따라 도 1의 셀 식별부에서 복수의 그룹들에 대응하는 행과 열을 식별한 결과를 예시적으로 나타낸다.
도 8는 본 개시의 예시적 실시예에 따라 도 1의 머리글 식별부의 동작 방법을 예시적으로 나타내는 순서도이다.
도 9는 본 개시의 예시적 실시예에 따라 도 1의 머리글 식별부에서 머리글 영역과 데이터 영역을 구분하는 예시를 나타낸다.
도 10a는 본 개시의 예시적 실시예에 따라 머리글 영역이 복수의 서브 영역들로 분할되는 예시를 나타낸다.
도 10b는 본 개시의 예시적 실시예에 따라 도 10a에 대응하는 셀 상태 행렬을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 아니하는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다. 또한, 본 명세서에서 "시스템" 또는 "데이터베이스"는 적어도 하나의 프로세서 및 프로세서에 의해서 액세스되는 메모리를 포함하는 컴퓨팅 시스템을 지칭할 수 있다. 이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명의 예시적 실시예에 따른 표 정보 생성 시스템(100) 및 그 입출력 관계를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 표 정보 생성 시스템(100)은 표 이미지(D200)에서 인식된 문자들(characters)에 대한 정보를 광학 문자 인식부(200)로부터 수신할 수 있고, 구조화된 표 정보(D100)를 출력할 수 있다. 일부 실시예들에서, 표 이미지(D200)는 문서 내부에 포함된 표 또는 이미지 형태의 표일 수 있고, 표 정보(D100)는 행과 열 구조의 구조화된 텍스트 데이터일 수 있다. 일부 실시예들에서, 표 정보(D100)는 지식 그래프(또는 지식베이스)를 구축하는데 사용될 수 있고, 지식 그래프를 구성하는 적어도 하나의 지식 인스턴스(예컨대, 트리플)가 표 정보(D100)로부터 생성될 수 있다. 도 1에 도시된 바와 같이, 표 정보 생성 시스템(100)은 데이터 전처리부(110), 클러스터링부(130), 셀 식별부(150), 머리글 식별부(170), 머리글 셀 병합부(190)를 포함할 수 있다. 일부 실시예들에서, 도 1에 도시된 바와 상이하게, 광학 문자 인식부(200)는 표 정보 생성 시스템(100) 내에 포함될 수 있다.
광학 문자 인식부(200)는 표 이미지(D200)를 수신할 수 있고, 표 이미지(D200)에 포함된 문자들을 인식할 수 있다. 광학 문자 인식부(200)는 표 이미지로부터 문자들을 인식하는 과정에서, 인식된 문자들에 대한 정보를 생성할 수 있다. 도 2에서 후술되는 바와 같이, 광학 문자 인식부(200)는 표 이미지(D200)로부터 문자들을 포함하는 바운딩 박스 및 텍스트 정보를 생성할 수 있다. 표 정보 생성 시스템(100)은 광학 문자 인식부(200)로부터 인식된 문자들에 대한 정보를 수신함으로써 규칙 기반의 클러스터링, 셀 식별, 머리글 식별, 머리글 셀 병합을 할 수 있다.
데이터 전처리부(110)는 광학 문자 인식부(200)에서 인식된 문자들에 대한 정보를 수신하고, 수신된 정보를 표 정보 생성에 적합한 데이터로 변환할 수 있다. 예를 들어, 데이터 전처리부(110)는 광학 문자 인식부(200)에서 출력된 결과를 문자 단위로 처리할 수 있는 자료형 및 자료구조로 변환할 수 있다. 일부 실시예들에서, 데이터 전처리부(110)는 문자들의 크기를 산출할 수 있고, 문자들의 평균 너비 및 평균 높이를 산출할 수 있다. 데이터 전처리부(110)는 광학 문자 인식부(200)에서 출력된 결과에서 노이즈 데이터를 제거할 수 있고, 예컨대 노이즈 데이터는 공백을 포함할 수 있다. 데이터 전처리부(110)에 대한 예시는 도 2를 참조하여 후술될 것이다.
클러스터링부(130)는 표 이미지(D200)에 포함된 문자들을 행 그룹들과 열 그룹들로 분류함으로써, 같은 셀에 속하는 것으로 식별된 문자들을 하나의 그룹으로 클러스터링 할 수 있다. 일부 실시예들에서, 클러스터링부(130)는 문자들을 바운딩 박스들의 중심을 잇는 벡터와 수평축 사이의 각도에 기초하여 복수의 행 그룹들로 분류하고, 벡터의 크기에 기초하여 복수의 열 그룹들로 분류할 수 있다. 클러스터링부(130)에 대한 예시는 도 4 내지 도 6을 참조하여 후술될 것이다.
비록 도 1에서 데이터 전처리부(110)가 광학 문자 인식부(200)에서 인식된 문자들에 대한 정보를 수신하는 것으로 도시되어 있으나, 일부 실시예들에서 클러스터링부(130)가 광학 문자 인식부(200)로부터 인식된 문자들에 대한 정보를 직접 수신할 수도 있다.
셀 식별부(150)는 클러스터링 된 복수의 그룹들 각각에 대응하는 행과 열을 식별할 수 있다. 일부 실시예들에서, 셀 식별부(150)는 바운딩 박스에 수평축에 기초하여 복수의 그룹들에 대응하는 행을 식별하고, 행의 기준선을 정할 수 있다. 셀 식별부(150)는 바운딩 박스의 수직축 경계가 상이한 복수의 그룹들이 적어도 부분적으로 중첩되는 경우, 동일한 열에 대응하는 것으로 식별할 수 있고, 열의 기준선을 정할 수 있다. 셀 식별부(150)에 대한 예시는 도 6 내지 도 7을 참조하여 후술될 것이다.
머리글 식별부(170)는 셀 식별부(150)로부터 행 및 열이 식별된 바운딩 박스들(또는 그에 대한 정보)을 수신할 수 있고, 표 이미지(D200)를 수신할 수 있다. 머리글 식별부(170)는 바운딩 박스들 및 표 이미지(D200)에 기초하여 머리글(header) 영역과 데이터 영역을 구분할 수 있다. 일부 실시예들에서, 머리글 식별부(170)는 표 이미지의 픽셀들 및 바운딩 박스에 기초하여 표 이미지로부터 적어도 하나의 구분선을 추출할 수 있다. 머리글 식별부(170)는 적어도 하나의 구분선을 기준으로 같은 영역에 속한 셀들은 동일한 값을 가지도록 셀 상태 행렬을 생성할 수 있다. 머리글 식별부(170)는 셀 상태 행렬에 기초하여 머리글 영역과 데이터 영역을 구분할 수 있다. 머리글 식별부(170)에 대한 예시는 도 8을 참조하여 후술될 것이다.
머리글 셀 병합부(190)는 머리글 식별부(170)에서 생성된 셀 상태 행렬에 기초하여, 머리글 셀들을 병합하고 복수의 서브 영역들간의 관계를 식별할 수 있다.
일부 실시예들에서, 머리글 셀 병합부(190)는 머리글 영역이 구분선에 의해 복수의 서브 영역들로 분할된 유형을 구분할 수 있다. 머리글 셀 병합부(190)는 복수의 서브 영역들에 대응하는 값이 동일한 값을 가지도록 셀 상태 행렬을 수정함으로써, 2 이상의 셀들을 병합할 수 있다. 머리글 셀 병합부(190)에 대한 예시는 도 10a 및 도 10b를 참조하여 후술될 것이다.
도 2는 본 개시의 예시적 실시예에 따라 도 1의 데이터 전처리부(110)의 예시를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 데이터 전처리부(110')는 광학 문자 인식부(200)에서 인식된 문자들에 대한 정보를 수신하고, 수신된 정보를 표 정보 생성에 적합한 데이터로 변환할 수 있다.
도 2를 참조하면, 데이터 전처리부(110')는 인식된 문자들의 바운딩 박스(D210) 및 텍스트 정보(D230)를 수신할 수 있다. 바운딩 박스(D210)는 수평축과 수직축 방향으로 문자를 둘러싸는 가장 작은 경계를 나타낼 수 있고, 수평축 길이 및 수직축 길이를 가질 수 있다. 텍스트 정보(D230)는 데이터의 타입 및 데이터 값을 포함할 수 있다. 예를 들어, 데이터 타입은 <character>, <integer>, <float>등일 수 있고, 데이터 값은 'a', '1', '.'등 일 수 있다.
도 2에 도시된 바와 같이 데이터 전처리부(110')는 데이터 파싱부(111), 데이터 정규화부(113), 노이즈 데이터 제거부(115)를 포함할 수 있다.
데이터 파싱부(111)는 광학 문자 인식부(200)에서 출력된 결과를 문자 단위로 처리 가능한 자료형과 자료구조로 변환할 수 있다. 일부 실시예들에서, 광학 문자 인식부(200)에서 출력된 결과는 문서 데이터의 구조의 마크업(MarkUp) 언어일 수 있다. 데이터 파싱부(111)는 마크업 언어를 리스트(list) 자료구조 또는 딕셔너리(dictionary) 타입으로 변환함으로써, 표 정보 생성 시스템(100)은 문자 단위로 거리 및 각도를 산출할 수 있고, 문자 단위로 클러스터링 할 수 있다.
데이터 정규화부(113)는 바운딩 박스(D210)에 기초하여 문자들 각각의 크기를 산출할 수 있다. 예를 들어, 바운딩 박스의 수평축 길이를 문자의 너비로 산출하고, 바운딩 박스의 수직축 길이를 문자의 높이로 산출할 수 있다. 데이터 정규화부(113)는 문자들 각각의 너비 및 높이로부터 문자들의 평균 너비 및 평균 높이를 산출할 수 있다. 데이터 정규화부(113)는 평균 너비 및 평균 높이에 기초하여, 문자들의 크기를 정규화할 수 있고 문자들의 너비 및 높이의 편차가 최소화되도록 할 수 있다. 예를 들어, 데이터 정규화부(113)는 표 구성 문자에 대문자와 소문자가 모두 포함된 경우 또는 첨자(subsrcipt)가 포함된 경우 문자들의 너비 및 높이의 편차를 줄일 수 있다. 일부 실시예들에서, 데이터 정규화부(113)는 데이터 전처리부(110')에서 생략될 수 있다.
노이즈 데이터 제거부(115)는 바운딩 박스(D210)에 기초하여 광학 문자 인식부(200)에서 인식된 공백을 제거할 수 있다. 일부 실시예들에서, 노이즈 데이터 제거부(115)는 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터를 생성할 수 있다. 노이즈 데이터 제거부(115)는 벡터의 크기가 데이터 정규화부(113)에서 산출된 평균 너비의 일정 배수 이상인 경우 공백으로 인식할 수 있고, 공백을 제거하는 데이터 전처리를 수행할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 도 1의 표 이미지(D200)의 예시를 나타낸다. 일부 실시예들에서, 표 이미지(D200')는 행(Row)과 열(Column)을 기준으로 정렬된 데이터를 포함할 수 있고, 각 열에 포함된 데이터에 대해 특정한 정보를 제공하는 머리글(header) 영역을 포함할 수 있다. 표 이미지(D200')는 복수의 구분선들(L1, L2, L3)을 포함할 수 있고, 적어도 하나의 구분선(예컨대, L2)에 기초하여 머리글 영역과 데이터 영역이 나누어질 수 있다. 일부 실시예들에서, 표 이미지(D200')는 들여쓰기 된 문자들(D270)을 포함할 수 있고, 들여쓰기 된 문자들(예컨대, CAMP, Costa Rica, GENDAI)은 들여쓰기 되지 아니한 문자(예컨대, Pediatric Studies)와 동일한 열에 대응하는 것으로 식별되는 것이 요구될 수 있다. 도 1을 참조하여 전술된 바와 같이, 표 정보 생성 시스템(100)은 표 이미지(D200)로부터 규칙에 기반하여 행과 열 구조를 인식함으로써 구조화된 데이터를 출력할 수 있다. 이에 따라, 임의의 유형을 갖는 표에 대해서도 높은 정확도의 표 정보(D100)를 생성할 수 있다.
도 4는 본 개시의 예시적 실시예에 따라 도 1의 클러스터링부(130)의 동작 방법을 예시적으로 나타내는 순서도이다. 도 5는 본 개시의 예시적 실시예에 따라 도 3의 표 이미지(D200')에 포함된 문자들(D250)을 클러스터링하는 방법의 예시를 나타낸다. 이하에서, 도 4 및 도 5는 도 1을 참조하여 설명될 것이다. 도 4에 도시된 바와 같이, 클러스터링부(130)는 인식된 문자들에 대한 정보를 입력 데이터로 수신할 수 있고, 입력 데이터는 문자들을 포함하는 바운딩 박스를 포함할 수 있다.
클러스터링부(130)는 바운딩 박스(D210')에 기초하여 문자들의 평균 너비 및 평균 높이 중 적어도 하나를 산출할 수 있다(S20). 예를 들어, 문자들의 평균 너비는 문자들을 포함하는 바운딩 박스(D210')들의 수평축 길이의 평균으로 산출될 수 있고, 문자들의 평균 높이는 문자들을 포함하는 바운딩 박스들의 수직축 길이의 평균으로 산출될 수 있다. 클러스터링부(130)는 문자들의 너비 또는 높이의 편차가 작아지도록 문자들의 평균 너비 및 평균 높이 중 적어도 하나에 기초하여 문자들의 크기를 정규화할 수 있다(S40). 클러스터링부(130)는 문자들을 바운딩 박스(D210')에 기초하여 복수의 그룹들로 분류함으로써, 인접한 문자들을 하나의 그룹으로 클러스터링할 수 있다.
클러스터링부(130)는 문자들을 복수의 행 그룹들로 분류할 수 있다(S60). 클러스터링부(130)는 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터를 생성할 수 있고, 벡터와 수평축 사이의 각도에 기초하여 행 그룹들을 분류할 수 있다. 클러스터링부(130)는 벡터와 수평축 사이의 각도가 임계 각도(예컨대, 30도)보다 작거나 같으면 동일한 행 그룹으로 분류하고, 벡터와 수평축 사이의 각도가 임계 각도보다 크면 서로 다른 행 그룹으로 분류할 수 있다. 본 명세서에서 x축은 수평축으로 지칭될 수도 있고, y축은 수직축으로 지칭될 수도 있다. 예를 들어, 도 5에 도시된 바와 같이, 클러스터링부(130)는 '1'을 포함하는 바운딩 박스와 '6'을 포함하는 바운딩 박스의 중심을 잇는 제4 벡터(V4)를 생성할 수 있고, 제4 벡터(V4)와 수평축 사이의 각도는 임계 각도보다 작을 수 있다. 이에 따라, 문자 '1'과 문자 '6'은 동일한 행 그룹으로 분류될 수 있다. 또한, 클러스터링부(130)는 '1'을 포함하는 바운딩 박스와 '3'을 포함하는 바운딩 박스의 중심을 잇는 제3 벡터(V3)를 생성할 수 있고, 제3 벡터(V3)와 수평축 사이의 각도는 임계 각도보다 클 수 있다. 이에 따라, 문자 '1'과 문자 '3'은 서로 다른 행 그룹으로 분류될 수 있다. 전술한 방법과 같이 문자들을 분류하면, 0.97 및 3.45는 제1 행 그룹으로 분류될 수 있고, <0.001 및 -6.82는 제2 행 그룹으로 분류될 수 있다.
도 4를 다시 참조하면, 클러스터링부(130)는 문자들을 복수의 열 그룹들로 분류할 수 있다(S80). 클러스터링부(130)는 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터를 생성할 수 있고, 벡터의 크기에 기초하여 열 그룹들을 분류할 수 있다. 클러스터링부(130)는 벡터의 크기가 임계값보다 작거나 같으면 동일한 열 그룹으로 분류하고, 벡터의 크기가 임계값보다 크면 서로 다른 열 그룹으로 분류할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 클러스터링부(130)는 '7'을 포함하는 바운딩 박스와 인접한 '9'을 포함하는 바운딩 박스의 중심을 잇는 제2 벡터(V2)를 생성할 수 있고, 제2 벡터(V2)의 크기는 임계값보다 작을 수 있다. 이에 따라, 문자 '9과 문자 '7'은 동일한 열 그룹으로 분류될 수 있다. 또한, 클러스터링부(130)는 '7'을 포함하는 바운딩 박스와 '3'을 포함하는 바운딩 박스의 중심을 잇는 제1 벡터(V1)를 생성할 수 있고, 제1 벡터(V1)의 크기는 임계값보다 클 수 있다. 이에 따라, 문자 '7'과 문자 '3'은 서로 다른 열 그룹으로 분류될 수 있다. 전술한 방법과 같이 문자들을 분류하면, 0.97 및 <0.001은 제1 열 그룹으로 분류될 수 있고, 3.45 및 -6.82는 제2 열 그룹으로 분류될 수 있다.
비록 도 4에서 문자들은 행 그룹들로 분류(S60)되고 열 그룹들로 분류(S80)되는 순서로 도시되었으나, 일부 실시예들에서, 문자들은 열 그룹들로 분류되고 행 그룹들로 분류되는 순서를 가질 수 잇다.
도 6은 본 개시의 예시적 실시예에 따라 도 1의 클러스터링부(130)에서 문자들을 복수의 그룹들로 분류한 결과를 예시적으로 나타낸다. 도 7은 본 개시의 예시적 실시예에 따라 도 1의 셀 식별부(150)에서 복수의 그룹들에 대응하는 행과 열을 식별한 결과를 예시적으로 나타낸다. 도 1을 참조하여 전술된 바와 같이, 클러스터링부(130)는 표 이미지(D200')에 포함된 문자들을 행 그룹들과 열 그룹들로 분류함으로써, 같은 셀에 포함되는 문자들을 하나의 그룹으로 클러스터링 할 수 있다.
도 6에 도시된 바와 같이, 클러스터링부(130)는 도 3의 표 이미지(D200')에 포함된 문자들을 복수의 그룹들(D300)로 분류할 수 있다. 셀 식별부(150)는 바운딩 박스에 기초하여 복수의 그룹들에 대응하는 행과 열을 식별할 수 있다. 셀 식별부(150)는 바운딩 박스의 중앙 값으로부터 수평축을 기준으로 임계값 내에 있는 그룹들을 동일한 행에 대응하는 것으로 식별할 수 있다. 예를 들어, 바운딩 박스의 중앙 값보다 수평축을 기준으로 ±2 내에 있는 그룹들을 동일한 행에 대응하는 것으로 식별하고, 바운딩 박스의 중앙 값의 ±2를 행의 기준선의 위치로 정할 수 있다.
일부 실시예들에서, 복수의 그룹들은 바운딩 박스의 수직축 경계가 상이한 그룹들을 포함할 수 있다. 예를 들어, 도 6에서 도시된 영역(D270')과 같이 표에서 문자가 들여쓰기된 경우 그룹들의 바운딩 박스의 수직축 경계는 정렬되지 아니하나, 동일한 열에 대응하는 것으로 식별될 것이 요구된다. 도 6을 참조하면, 셀 식별부(150)는 제1 그룹의 바운딩 박스와 제2 그룹의 바운딩 박스가 수직축으로 적어도 부분적으로 중첩되는 경우 동일한 열에 대응하는 것으로 식별할 수 있다.
예를 들어, 제1 그룹(G1)의 바운딩 박스는 제2 그룹(G2)의 바운딩 박스와 수직축으로 부분적으로 중첩되는 경우, 셀 식별부(150)는 제1 그룹(G1)과 제2 그룹(G2)이 동일한 열에 대응하는 것으로 식별하고, 제1 그룹(G1)과 제2 그룹(G2)이 클러스터링된 기준 바운딩 박스를 생성할 수 있다. 기준 바운딩 박스와 제3 그룹(G3)의 바운딩 박스가 수직축으로 부분적으로 중첩되는 경우, 셀 식별부(150)는 제1 그룹(G1), 제2 그룹(G2) 및 제3 그룹(G3)이 동일한 열에 대응하는 것으로 식별하고, 기준 바운딩 박스를 제1 그룹(G1), 제2 그룹(G2) 및 제3 그룹(G3)이 클러스터링된 바운딩 박스로 갱신할 수 있다. 기준 바운딩 박스와 제4 그룹(G4)의 바운딩 박스가 수직축으로 부분적으로 중첩되는 경우, 셀 식별부(150)는 제1 그룹(G1), 제2 그룹(G2), 제3 그룹(G3) 및 제 4 그룹(G4)이 동일한 열에 대응하는 것으로 식별하고, 기준 바운딩 박스를 제1 그룹(G1), 제2 그룹(G2), 제3 그룹(G3) 및 제4 그룹(G4)이 클러스터링된 바운딩 박스로 갱신할 수 있다. 셀 식별부(150)는 기준 바운딩 박스가 더 이상 갱신되지 않는 경우, 기준 바운딩 박스의 수직축 경계를 열의 기준선으로 정할 수 있다. 이에 따라, 도 6에서 도시된 영역(D270')은 도 7에서 도시된 영역(D270'')과 같이 구조화되어 동일한 열에 대응하는 것으로 식별될 수 있다.
도 8는 본 개시의 예시적 실시예에 따라 도 1의 머리글 식별부(170)의 동작 방법을 예시적으로 나타내는 순서도이다. 도 9는 본 개시의 예시적 실시예에 따라 도 1의 머리글 식별부(170)에서 머리글 영역과 데이터 영역을 구분하는 예시를 나타낸다. 이하 도 8 및 도 9는 도 1을 참조하여 설명된다. 머리글 식별부(170)는 표 이미지(D200) 및 바운딩 박스(D210')를 수신할 수 있고, 수신된 표 이미지(D200)로부터 픽셀들에 대한 정보를 추출할 수 있다. 머리글 식별부(170)는 표 이미지(D200)의 픽셀들 및 바운딩 박스의 수평축 길이에 기초하여 구분선을 추출할 수 있다(S100). 도 9를 참조하면, 표 이미지(D200)는 복수의 구분선들(L1, L2, L3)을 포함할 수 있고, 복수의 구분선들(L1, L2, L3)은 픽셀 값 및 수평축 길이를 가질 수 있다. 예를 들어, 복수의 구분선들(L1, L2, L3)은 RGB 값으로 (0,0,0)을 가질 수 있고, 평균 문자 너비의 일정 배수 이상의 수평축 길이를 가질 수 있다. 머리글 식별부(170)는 표 이미지(D200')에서 기 설정된 픽셀 값(또는 픽셀 값의 범위)에 해당하고 수평축 길이가 평균 문자 너비의 일정 배수 이상인 선이 인식되는 경우, 복수의 구분선들(L1, L2, L3)을 추출할 수 있다.
도 8을 다시 참조하면, 머리글 식별부(170)는 복수의 구분선들에 기초하여 셀 식별부(150)에서 식별된 셀들 각각에 대응하는 값들을 포함하는 셀 상태 행렬을 생성할 수 있다(S120). 머리글 식별부(170)는 복수의 구분선들을 기준으로 같은 영역에 속한 셀들은 동일한 값을 가지도록 셀 상태 행렬을 생성할 수 있다. 예를 들어, 도 9를 참조하면, 행과 열이 식별된 셀들(D500)은 복수의 구분선들(L1, L2, L3)을 기준으로 두 개의 영역(A1, A2)로 나누어질 수 있다. 머리글 식별부(170)는 제1 영역(A1)에 속한 셀들이 제1 값에 대응하고, 제2 영역(A2)에 속한 셀들이 제2 값에 대응하는 셀 상태 행렬을 생성할 수 있다.
도 8을 다시 참조하면, 머리글 식별부(170)는 셀 상태 행렬에 기초하여 머리글 영역과 데이터 영역을 구분할 수 있다(S140). 일부 실시예들에서, 셀 상태 행렬에서 가장 많은 값들에 대응하는 셀들의 영역을 데이터 영역으로 식별하고, 나머지 영역을 머리글 영역으로 식별할 수 있다. 예를 들어, 도 9를 참조하면, 셀 상태 행렬에서 제2 값이 가장 많은 값에 해당할 수 있고, 머리글 식별부(170)는 제2 값에 대응하는 제2 영역(A2)을 데이터 영역으로 식별할 수 있다. 머리글 식별부(170)는 나머지 영역, 즉 제1 영역(A1)을 머리글 영역으로 식별할 수 있다.
머리글 식별부(170)는 구분선 유형에 기초하여 표 유형을 구분할 수 있다(S160). 예를 들어, 머리글 식별부(170)는 머리글 영역이 구분선에 의해 복수의 서브 영역들로 분할된 유형을 구분할 수 있다. 비록 도 8에는 머리글 식별부(170)에서 표 유형을 구분하는 것으로 도시되었으나, 머리글 셀 병합부(190)에서 표 유형을 구분할 수도 있다.
도 10a는 본 개시의 예시적 실시예에 따라 머리글 영역이 복수의 서브 영역들로 분할되는 예시를 나타낸다. 도 10b는 본 개시의 예시적 실시예에 따라 도 10a에 대응하는 셀 상태 행렬을 나타낸다. 이하에서, 도 10a 및 도 10b는 도 1을 참조하여 설명될 것이다.
일부 실시예들에서, 머리글 셀 병합부(190)는 머리글 영역이 구분선에 의해 복수의 서브 영역들로 분할된 유형을 구분할 수 있다. 도 10a에 도시된 바와 같이, 머리글 영역이 구분선에 의해 복수의 서브 영역들(H1, H2) 로 분할될 수 있고, 복수의 서브 영역들은 비어있는 셀들을 포함할 수 있다. 표 정보 생성을 위해 하단 머리글 영역(H2)은 상단 머리글 영역(H1)에 속하는 것, 즉 상단 머리글 영역(H1)이 하단 머리글 영역(H2)의 상위 계층인 것으로 식별되는 것이 요구될 수 있다. 머리글 셀 병합부(190)는 머리글 식별부(170)에서 생성된 셀 상태 행렬에 기초하여, 머리글 셀들을 병합하고 복수의 서브 영역들간의 관계를 식별할 수 있다.
일부 실시예들에서, 머리글 식별부(170)는 셀 식별부(150)에서 식별된 셀들에 대응하는 값들을 포함하는 셀 상태 행렬을 생성할 수 있다. 머리글 식별부(170)는 복수의 구분선들(L4, L5, L6, L7)을 기준으로 같은 영역에 속한 셀들은 동일한 값을 가지도록 셀 상태 행렬을 생성할 수 있다. 셀 상태 행렬에서, 복수의 서브 영역들은 2 이상의 셀들을 포함할 수 있고, 비어있는 셀들을 포함할 수 있다. 머리글 셀 병합부(190)는 2 이상의 셀들에 대응하는 값이 서로 동일한 값을 가지도록 수정함으로써, 2 이상의 셀들을 병합할 수 있다.
도 10b를 참조하면, 셀 상태 행렬에서 상단 머리글 영역(H1') 에 속한 셀 중 데이터가 기입된 셀은 '0'에 대응하고, 비어있는 셀은 '-1'에 대응할 수 있다. 하단 머리글 영역(H2')에 속한 셀들은 '1'에 대응하고, 데이터 영역에 속한 셀들은 '2'에 대응할 수 있다. 머리글 셀 병합부(190)는 셀 상태 행렬에서 상단 머리글 영역(H1')에 속한 비어있는 셀에 같은 영역의 셀에 대응하는 값인 '0'을 복제함으로써, 2 이상의 셀들에 대응하는 값이 서로 동일한 값을 가지도록 수정할 수 있다. 이에 따라, 하단 머리글 셀들은 상단 머리글 셀에 속하는 것으로 식별될 수 있고, 상단 머리글 셀이 하단 머리글 셀의 상위 계층인 것으로 식별될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템으로서,
    상기 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하고, 상기 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류하도록 구성된 클러스터링부;
    상기 복수의 그룹들 각각에 대응하는 행과 열을 식별하도록 구성된 셀 식별부; 및
    상기 표 이미지에서 적어도 하나의 구분선을 추출하고, 상기 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하도록 구성된 머리글 식별부를 포함하고,
    상기 정보는, 상기 문자들을 하나씩 각각 포함하는 바운딩 박스들을 포함하고,
    상기 표 정보 생성 시스템은, 상기 바운딩 박스들에 기초하여 상기 문자들의 평균 너비 및 평균 높이를 산출하도록 구성된 데이터 전처리부를 더 포함하고,
    상기 클러스터링부는, 상기 바운딩 박스들 중 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터와 수평축 사이의 각도에 기초하여 행 그룹들을 분류하고, 상기 벡터의 크기에 기초하여 열 그룹들을 분류하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  2. 삭제
  3. 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템으로서,
    상기 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하고, 상기 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류하도록 구성된 클러스터링부;
    상기 복수의 그룹들 각각에 대응하는 행과 열을 식별하도록 구성된 셀 식별부; 및
    상기 표 이미지에서 적어도 하나의 구분선을 추출하고, 상기 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하도록 구성된 머리글 식별부를 포함하고,
    상기 정보는, 상기 문자들을 하나씩 각각 포함하는 바운딩 박스들을 포함하고,
    상기 클러스터링부는, 상기 바운딩 박스들 중 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터와 수평축 사이의 각도에 기초하여 행 그룹들을 분류하고, 상기 벡터의 크기에 기초하여 열 그룹들을 분류하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  4. 제3항에 있어서,
    상기 셀 식별부는, 제1 그룹의 제1 바운딩 박스 및 제2 그룹의 제2 바운딩 박스가 수직축 방향으로 적어도 부분적으로 중첩되는 경우, 상기 제1 그룹과 상기 제2 그룹이 동일한 열에 속하는 것으로 식별하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  5. 제1항에 있어서,
    상기 정보는, 상기 문자를 포함하는 바운딩 박스를 포함하고,
    상기 머리글 식별부는, 상기 표 이미지를 수신하고, 상기 표 이미지의 픽셀들 및 상기 바운딩 박스의 수평축 길이에 기초하여 상기 표 이미지로부터 적어도 하나의 구분선을 추출하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  6. 제1항에 있어서,
    상기 머리글 식별부는, 상기 적어도 하나의 구분선을 기준으로 같은 영역에 포함된 셀들은 동일한 값을 가지도록 상기 셀 식별부에서 인식된 셀들 각각에 대응하는 값들을 포함하는 셀 상태 행렬을 생성하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  7. 제6항에 있어서,
    상기 머리글 식별부는, 상기 셀 상태 행렬에서 가장 많은 값들에 대응하는 셀들의 영역을 상기 데이터 영역으로 식별하고, 나머지 영역을 상기 머리글 영역으로 식별하도록 구성된 것을 특징으로 하는 표 정보 생성 시스템.
  8. 제1항에 있어서,
    상기 적어도 하나의 구분선의 유형에 기초하여 상기 머리글 영역에 대응하는 2 이상의 셀들을 병합하도록 구성된 머리글 셀 병합부를 더 포함하는 표 정보 생성 시스템.
  9. 제8항에 있어서,
    상기 머리글 식별부는, 상기 셀들 각각에 대응하는 값들을 포함하는 셀 상태 행렬을 생성하도록 구성되고,
    상기 머리글 셀 병합부는, 상기 머리글 영역에서 상기 적어도 하나의 구분선으로 분할된 복수의 서브 영역들을 식별하고, 상기 2 이상의 셀들에 대응하는 값들이 동일한 값을 가지도록 상기 셀 상태 행렬을 수정하도록 구성되는 것을 특징으로 하는 표 정보 생성 시스템.
  10. 컴퓨팅 시스템에 의해서 수행되는, 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 방법에 있어서,
    상기 표 이미지에서 인식된 문자들(characters)에 대한 정보를 포함하는 입력 데이터를 수신하는 단계;
    상기 입력 데이터에 기초하여 상기 문자들을 복수의 그룹들로 분류하는 단계;
    상기 복수의 그룹들 각각에 대응하는 행과 열을 식별하는 단계; 및
    상기 표 이미지에서 적어도 하나의 구분선을 추출하고, 상기 적어도 하나의 구분선에 기초하여 머리글(header) 영역과 데이터 영역을 식별하는 단계를 포함하고,
    상기 정보는, 상기 문자들을 하나씩 각각 포함하는 바운딩 박스들을 포함하고,
    상기 표 정보 생성 방법은, 상기 바운딩 박스들에 기초하여 상기 문자들의 평균 너비 및 평균 높이를 산출하는 단계를 더 포함하고,
    상기 문자들을 상기 복수의 그룹들로 분류하는 단계는, 상기 바운딩 박스들 중 좌우로 상호 인접한 바운딩 박스들의 중심을 잇는 벡터와 수평축 사이의 각도에 기초하여 행 그룹들을 분류하고, 상기 벡터의 크기에 기초하여 열 그룹들을 분류하는 단계를 포함하는 것을 특징으로 하는 표 정보 생성 방법.
KR1020200153094A 2020-11-16 2020-11-16 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법 KR102614760B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153094A KR102614760B1 (ko) 2020-11-16 2020-11-16 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153094A KR102614760B1 (ko) 2020-11-16 2020-11-16 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220066740A KR20220066740A (ko) 2022-05-24
KR102614760B1 true KR102614760B1 (ko) 2023-12-19

Family

ID=81807148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153094A KR102614760B1 (ko) 2020-11-16 2020-11-16 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102614760B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101811581B1 (ko) * 2016-11-15 2017-12-26 주식회사 셀바스에이아이 문서 이미지에서 표 인식을 위한 장치 및 방법
US20190171704A1 (en) * 2017-12-01 2019-06-06 International Business Machines Corporation Heuristic Domain Targeted Table Detection and Extraction Technique
US20190340240A1 (en) 2018-05-03 2019-11-07 Microsoft Technology Licensing, Llc Automated extraction of unstructured tables and semantic information from arbitrary documents
US20200073878A1 (en) 2018-08-31 2020-03-05 Accenture Global Solutions Limited System And Method For Extracting Structured Information From Implicit Tables

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5465015B2 (ja) * 2010-01-06 2014-04-09 キヤノン株式会社 文書を電子化する装置及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101811581B1 (ko) * 2016-11-15 2017-12-26 주식회사 셀바스에이아이 문서 이미지에서 표 인식을 위한 장치 및 방법
US20190171704A1 (en) * 2017-12-01 2019-06-06 International Business Machines Corporation Heuristic Domain Targeted Table Detection and Extraction Technique
US20190340240A1 (en) 2018-05-03 2019-11-07 Microsoft Technology Licensing, Llc Automated extraction of unstructured tables and semantic information from arbitrary documents
US20200073878A1 (en) 2018-08-31 2020-03-05 Accenture Global Solutions Limited System And Method For Extracting Structured Information From Implicit Tables

Also Published As

Publication number Publication date
KR20220066740A (ko) 2022-05-24

Similar Documents

Publication Publication Date Title
US7836390B2 (en) Strategies for processing annotations
JP2700130B2 (ja) 手書き文字の認識システム及び認識方法
Ma et al. Joint layout analysis, character detection and recognition for historical document digitization
Chen et al. Simultaneous script identification and handwriting recognition via multi-task learning of recurrent neural networks
Abdallah et al. Tncr: Table net detection and classification dataset
US10140556B2 (en) Arabic optical character recognition method using hidden markov models and decision trees
KR20210125955A (ko) 정보 처리 방법, 정보 처리 장치, 전자 기기 및 저장 매체
JP2002269499A (ja) 数式認識装置および数式認識方法並びに文字認識装置および文字認識方法
Ahmad et al. Line and ligature segmentation of Urdu Nastaleeq text
Lepage Analogies between binary images: Application to chinese characters
Gautam et al. Optical character recognition for Brahmi script using geometric method
CN112052825B (zh) 用于处理图像的方法、装置、设备以及存储介质
CN114004204A (zh) 基于计算机视觉的表格结构重建与文字提取方法和系统
CN111985525A (zh) 基于多模态信息融合处理的文本识别方法
Colter et al. Tablext: A combined neural network and heuristic based table extractor
Zou et al. A deep semantic segmentation model for image-based table structure recognition
Dori et al. Segmentation and recognition of dimensioning text from engineering drawings
Rajnoha et al. Offline handwritten text recognition using support vector machines
Liang et al. An optimization methodology for document structure extraction on latin character documents
KR102614760B1 (ko) 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법
Kim et al. Word segmentation of printed text lines based on gap clustering and special symbol detection
Kamola et al. Image-based logical document structure recognition
Wang et al. Zone content classification and its performance evaluation
CN115311666A (zh) 图文识别方法、装置、计算机设备及存储介质
WO2022102823A1 (ko) 표 이미지로부터 구조화된 출력 데이터를 생성하기 위한 표 정보 생성 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant