KR102530657B1 - 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램 - Google Patents

이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102530657B1
KR102530657B1 KR1020200118419A KR20200118419A KR102530657B1 KR 102530657 B1 KR102530657 B1 KR 102530657B1 KR 1020200118419 A KR1020200118419 A KR 1020200118419A KR 20200118419 A KR20200118419 A KR 20200118419A KR 102530657 B1 KR102530657 B1 KR 102530657B1
Authority
KR
South Korea
Prior art keywords
text
cluster
processor
configuring
linear
Prior art date
Application number
KR1020200118419A
Other languages
English (en)
Other versions
KR20220036165A (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 KR1020200118419A priority Critical patent/KR102530657B1/ko
Priority to JP2021147615A priority patent/JP2022049001A/ja
Publication of KR20220036165A publication Critical patent/KR20220036165A/ko
Application granted granted Critical
Publication of KR102530657B1 publication Critical patent/KR102530657B1/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/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • 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
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • 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)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)

Abstract

이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램이 개시된다. 텍스트 계층화 방법은, 이미지 내 텍스트 영역 간의 시각적 구분 영역을 기초로 적어도 하나의 텍스트 영역을 클러스터링함으로써 자연어 처리 단위를 구성하는 단계; 및 상기 자연어 처리 단위를 학습 데이터로 하는 딥러닝 기반 학습 모델을 구축하는 단계를 포함한다.

Description

이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램{METHOD, SYSTEM, AND COMPUTER PROGRAM FOR LAYERING RECOGNIZED TEXT IN IMAGE}
아래의 설명은 텍스트 인식 결과를 계층화하는 기술에 관한 것이다.
모바일 단말 및 카메라 제조업체뿐만 아니라 서비스 구축이 가능한 이동통신사 및 포털 업체, 솔루션 업체 및 컨텐츠 업체 등에서 이미지 내 텍스트를 인식하고 이를 활용하여 다양한 서비스를 제공하는 기술을 개발하고 있다.
카메라를 이용하여 취득한 자연 영상(natural scene image)에 존재하는 특정 문자 정보(scene text)를 추출 및 인식한 후 이를 실시간으로 번역하거나 정보 검색 등에 활용할 수 있다.
관련 기술의 일 예로서, 한국공개특허 제10-2001-0109861호(공개일 2001년 12월 12일)에는 영상 내 문자를 인식하고 인식된 문자에 대한 번역을 제공하는 번역 기능을 구비한 비디오 카메라가 개시되어 있다.
이미지에서 인식된 텍스트를 계층적 텍스트 구조화(HTS, hierarchical text structuring)를 통해 계층화할 수 있는 방법 및 시스템을 제공한다.
단어(word) 단위의 텍스트 인식 결과를 문장이나 문단으로 재구성할 수 있는 방법 및 시스템을 제공한다.
텍스트 라인과 시각적 구분 및 스타일을 기준으로 계층적 텍스트 구조화를 수행할 수 있는 방법 및 시스템을 제공한다.
컴퓨터 시스템에서 실행되는 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 방법은, 상기 적어도 하나의 프로세서에 의해, 이미지 내 텍스트 영역 간의 시각적 구분 영역을 기초로 적어도 하나의 텍스트 영역을 클러스터링함으로써 자연어 처리 단위를 구성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 자연어 처리 단위를 학습 데이터로 하는 딥러닝 기반 학습 모델을 구축하는 단계를 포함하는 방법을 제공한다.
일 측면에 따르면, 상기 자연어 처리 단위를 구성하는 단계는, 상기 시각적 구분 영역으로서 상기 텍스트 영역 간의 구분이 가능한 라인, 도형, 이미지, 배경, 간격, 기호, 숫자 중 적어도 하나를 이용하여 상기 텍스트 영역을 클러스터링할 수 있다.
다른 측면에 따르면, 상기 자연어 처리 단위를 구성하는 단계는, 상기 이미지에서 인식된 단어 단위의 텍스트 영역에 해당되는 단어 요소의 집합을 라인 단위의 텍스트 영역에 해당되는 선형 클러스터로 구성하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 선형 클러스터로 구성하는 단계는, 동일 선상에 위치하면서 시각적 구분 영역이 존재하지 않는 연속된 단어 요소의 집합을 하나의 선형 클러스터로 구성할 수 있다.
또 다른 측면에 따르면, 상기 자연어 처리 단위를 구성하는 단계는, 상기 선형 클러스터의 집합을 문단 단위의 텍스트 영역에 해당되는 가상 클러스터로 구성하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 가상 클러스터로 구성하는 단계는, 시각적 구분 영역이 존재하지 않는 연속된 선형 클러스터의 집합을 하나의 가상 클러스터로 구성할 수 있다.
또 다른 측면에 따르면, 상기 가상 클러스터로 구성하는 단계는, 상기 선형 클러스터에 포함된 텍스트 스타일을 기초로 적어도 하나의 선형 클러스터를 상기 가상 클러스터로 구성할 수 있다.
또 다른 측면에 따르면, 상기 자연어 처리 단위를 구성하는 단계는, 상기 가상 클러스터의 집합을 상관 관계의 텍스트 영역에 해당되는 상관 클러스터로 구성하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 상관 클러스터로 구성하는 단계는, 완성된 문장이나 구(phrase)에 해당되는 연속된 가상 클러스터의 집합을 하나의 상관 클러스터로 구성할 수 있다.
또 다른 측면에 따르면, 상기 단어 요소는 상기 단어 단위의 텍스트 영역을 나타내는 폴리곤 좌표 정보를 포함하고, 상기 선형 클러스터와 상기 가상 클러스터 및 상기 상관 클러스터는 해당 클러스터를 구성하는 자식 노드의 집합 정보를 포함할 수 있다.
상기 방법을 상기 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 이미지 내 텍스트 영역 간의 시각적 구분 영역을 기초로 적어도 하나의 텍스트 영역을 클러스터링함으로써 자연어 처리 단위를 구성하는 과정; 및 상기 자연어 처리 단위를 학습 데이터로 하는 딥러닝 기반 학습 모델을 구축하는 과정을 처리하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 이미지에서 인식된 단어 단위의 텍스트를 문장이나 문단으로 재구성하는 계층적 텍스트 구조화를 통해 자연어 처리를 위한 학습 모델의 학습 데이터를 마련할 수 있다.
본 발명의 실시예들에 따르면, 계층적 텍스트 구조화에 따른 학습 데이터로 딥러닝 기반의 학습 모델을 구축할 수 있고, 이를 통해 보다 완결된 구조의 자연어 처리 단위를 설정하여 기계 번역, 정보 검색, 질의 응답, 문서 요약 등 다양한 분야에서의 자연어 처리 성능을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템이 수행할 수 있는 방법의 예를 도시한 순서도이다.
도 4 내지 도 8은 본 발명의 일실시예에 있어서 계층적 텍스트 구조화 과정의 예시를 도시한 것이다.
도 9 내지 도 11은 본 발명의 일실시예에 있어서 시각적 구분 영역의 예시를 도시한 것이다.
도 12 내지 도 13은 본 발명의 일실시예에 있어서 단어 단위의 텍스트(WE)를 선형 클러스터(LC)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
도 14 내지 도 15는 본 발명의 일실시예에 있어서 선형 클러스터(LC)를 가상 클러스터(VC)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
도 16 내지 도 17은 본 발명의 일실시예에 있어서 가상 클러스터(VC)를 상관 클러스터(CC)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 텍스트 인식 결과를 계층화하는 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 이미지에서 인식된 텍스트를 계층적 텍스트 구조화(HTS)를 통해 보다 완결된 구조의 단위로 계층화할 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 시스템의 예를 도시한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 텍스트 계층화 시스템은 도 1을 통해 도시된 컴퓨터 시스템(100)에 의해 구현될 수 있다.
도 1에 도시된 바와 같이 컴퓨터 시스템(100)은 본 발명의 실시예들에 따른 텍스트 계층화 방법을 실행하기 위한 구성요소로서, 메모리(110), 프로세서(120), 통신 인터페이스(130) 그리고 입출력 인터페이스(140)를 포함할 수 있다.
메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 시스템(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 시스템(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 시스템(100)이 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 시스템(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 시스템(100)의 통신 인터페이스(130)를 통해 컴퓨터 시스템(100)으로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 시스템(100)이 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 유선/무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
입출력 인터페이스(140)는 입출력 장치(150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 시스템(100)과 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템이 수행할 수 있는 텍스트 계층화 방법의 예를 도시한 순서도이다.
도 2에 도시된 바와 같이, 프로세서(120)는 선형 클러스터링부(210), 가상 클러스터링부(220), 및 상관 클러스터링부(230)를 포함할 수 있다. 이러한 프로세서(120)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(120)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(120)가 단어 단위의 텍스트를 클러스터링함으로써 선형 클러스터를 구성하도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 선형 클러스터링부(210)가 사용될 수 있다.
프로세서(120) 및 프로세서(120)의 구성요소들은 도 3의 텍스트 계층화 방법이 포함하는 단계들(S310 내지 S330)을 수행할 수 있다. 예를 들어, 프로세서(120) 및 프로세서(120)의 구성요소들은 메모리(110)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 텍스트 계층화 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
텍스트 계층화 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
프로세서(120)는 텍스트 계층화 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(110)에 로딩할 수 있다. 예를 들어, 텍스트 계층화 방법을 위한 프로그램 파일은 도 1을 통해 설명한 영구 저장 장치(130)에 저장되어 있을 수 있고, 프로세서(120)는 버스를 통해 영구 저장 장치(130)에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(110)에 로딩되도록 컴퓨터 시스템(110)을 제어할 수 있다. 이때, 프로세서(120) 및 프로세서(120)가 포함하는 선형 클러스터링부(210)와 가상 클러스터링부(220) 및 상관 클러스터링부(230) 각각은 메모리(110)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S310 내지 S330)을 실행하기 위한 프로세서(120)의 서로 다른 기능적 표현들일 수 있다. 단계들(S310 내지 S330)의 실행을 위해, 프로세서(120) 및 프로세서(120)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
프로세서(120)는 OCR(optical character recognition) 등을 통해 이미지로부터 인식된 텍스트에 대하여 텍스트 라인과 시각적 구분 및 스타일을 바탕으로 계층적 텍스트 구조화를 수행할 수 있다. 프로세서(120)는 계층적 텍스트 구조화를 통해 자연어 처리를 위한 학습 데이터를 단어 단위, 라인 단위, 문단 단위로 만들 수 있고, 이러한 학습 데이터를 학습하기 위한 딥러닝 모델(예컨대, UNet, GNN(graph neural network) 등)을 구축할 수 있다. 다시 말해, 프로세서(120)는 이미지 번역 품질 등 자연어 처리 성능을 향상시키기 위해 단어 단위의 텍스트 인식 결과를 계층적 텍스트 구조화를 통해 보다 완결된 구조의 자연어 처리 단위로 계층화하여 학습할 수 있다.
단계(S310)에서 선형 클러스터링부(210)는 이미지로부터 인식된 단어 단위의 텍스트를 나타내는 단어 요소(word element, 이하, 'WE'라 칭함)의 집합을 선형 클러스터(linear cluster, 이하, 'LC'라 칭함)로 구성할 수 있다. WE는 OCR 등으로 인식된 단어 단위의 텍스트 영역을 의미하는 것으로, 4개에서 16개 사이의 점을 포함하는 폴리곤 좌표 정보를 가진다. 선형 클러스터링부(210)는 WE 간의 시각적 구분 영역을 기초로 적어도 하나의 WE를 클러스터링함으로써 라인 단위의 텍스트 영역을 나타내는 LC를 구성할 수 있다. LC는 동일 선상에 위치하는 연속된 WE의 집합을 의미하는 것으로, 폴리곤 좌표 정보를 별도로 가지지 않는다. 일반적으로, LC는 라인 단위의 텍스트 영역을 의미하나 동일 선상에 있더라도 WE 간에 시각적 구분 영역이 존재하는 경우 서로 다른 LC로 분리되어 구성될 수 있다. 그리고, 텍스트 스타일이 서로 다르더라도 동일 선상에 있고 시각적 구분 영역이 존재하지 않는 경우 하나의 LC로 구성될 수 있다. 텍스트 스타일은 텍스트의 폰트(font), 사이즈(size), 볼드(bold), 이탤릭(italic) 등의 글꼴 정보를 포함할 수 있다. 시각적 구분 영역에 대해서는 이하에서 상세히 설명하기로 한다.
단계(S320)에서 가상 클러스터링부(220)는 LC 간의 시각적 구분 영역을 기초로 적어도 하나의 LC를 클러스터링함으로써 문단 단위의 텍스트 영역을 나타내는 가상 클러스터(visual cluster, 이하, 'VC'라 칭함)를 구성할 수 있다. VC는 시각적 구분 영역이 존재하지 않는 연속된 LC의 집합을 의미하는 것으로, 폴리곤 좌표 정보를 별도로 가지지 않는다. 하나의 VC 내에 여러 개의 연속된 문장들이 존재할 수 있다. LC 간에 텍스트 스타일(폰트, 사이즈, 볼드, 이탤릭 등)이 다른 경우에는 시각적 구분 영역이 존재하지 않는 연속된 LC라 하더라도 서로 다른 VC로 분리될 수 있다. 예를 들어, 텍스트 사이즈가 서로 다른 LC의 경우 각각의 VC로 구성될 수 있다. 서로 인접한 LC가 각각 서로 다른 하나의 스타일로만 구성된 경우에는 시각적 구분 영역이 존재하지 않는 연속된 LC라 하더라도 서로 다른 VC로 분리될 수 있다. 다만, LC 내에 둘 이상의 다른 스타일이 섞여 있는 경우 시각적 구분 영역이 존재하지 않고 연속되어 있다면 하나의 VC로 묶일 수 있다.
단계(S330)에서 상관 클러스터링부(230)는 VC 간의 시각적 구분 영역을 기초로 적어도 하나의 VC를 클러스터링함으로써 상관 관계의 텍스트 영역을 나타내는 상관 클러스터(correlation cluster, 이하, 'CC'라 칭함)를 구성할 수 있다. CC는 시각적 구분 영역이 존재하지 않는 연속된 VC의 집합을 의미하는 것으로, 폴리곤 좌표 정보를 별도로 가지지 않는다. CC는 연속된 구(phrase)나 문장에 해당되는 VC의 집합으로, 서로 인접한 VC들만이 CC로 묶일 수 있다.
프로세서(120)는 단어 단위의 텍스트 인식 결과를 문장이나 문단으로 재구성한 LC, VC, CC 중 적어도 하나를 자연어 처리를 위한 딥러닝 모델의 학습 데이터로 활용할 수 있다.
도 4 내지 도 8은 본 발명의 일실시예에 있어서 계층적 텍스트 구조화 과정의 예시를 도시한 것이다.
도 4를 참조하면, WE(40)는 OCR 등을 통해 인식된 단어 단위의 텍스트로 정의될 수 있다.
도 5를 참조하면, 프로세서(120)는 동일 선상에 위치하는 WE(40)의 집합을 LC(50)로 묶을 수 있다. 프로세서(120)는 동일 선상에 있더라도 WE(40) 간에 시각적 구분 영역이 존재하는 경우 서로 다른 LC(50)로 분리하고, 텍스트 스타일이 서로 다르더라도 동일 선상에 있고 시각적 구분 영역이 존재하지 않는 경우 하나의 LC(50)로 구성할 수 있다.
도 6을 참조하면, 프로세서(120)는 시각적 구분 없이 서로 인접한 LC(50)의 집합을 VC(60)로 묶을 수 있다. 예를 들어, 시각적 구분 없이 서로 인접한 LC(50)에 대해, 텍스트 사이즈가 다른 경우 서로 다른 VC(60)로 분리되고, 텍스트 사이즈가 동일한 경우 하나의 VC(60)로 묶일 수 있다. 프로세서(120)는 시각적 구분 없이 서로 인접하더라도 각각 서로 다른 하나의 스타일로만 구성된 LC(50)의 경우 서로 다른 VC(60)로 분리하고, LC(50) 내에 둘 이상의 다른 스타일이 섞여 있는 경우 시각적 구분 영역이 존재하지 않고 연속되어 있다면 동일한 VC(60)로 구성할 수 있다.
하나의 WE(40)가 하나의 LC(50)와 하나의 VC(60)를 구성할 수도 있다. 예를 들어, 서로 인접한 WE(40)가 동일 수평선상에 있더라도 선 등으로 인해 시각적으로 구분되어 있으면 서로 다른 LC(50)와 VC(60)로 분리될 수 있다.
도 7을 참조하면, 프로세서(120)는 서로 인접한 VC(60) 중 연속된 구나 문장에 해당되는 VC의 집합을 CC(70)로 묶을 수 있다.
따라서, 텍스트를 계층화한 타입은 WE(40), LC(50), VC(60), CC(70)로 구분될 수 있다.
LC(50), VC(60), CC(70)는 폴리곤 좌표 정보를 별도로 가지지 않으며, 도 8에 도시한 LC(50), VC(60), CC(70)의 데이터 포맷은 표 1과 같다. 텍스트 필터는 자식 노드들(child node)의 텍스트를 공간(space)으로 합친 결과이다. 다시 말해, CC(70)의 자식 노드는 VC(60)가 되고, VC(60)의 자식 노드는 LC(50)가 되고, LC(50)의 자식 노드는 WE(40)가 된다. WE(40)는 폴리곤 좌표 정보를 가지는 반면, LC(50), VC(60), CC(70)는 좌표 정보를 대신하여 해당 클러스터를 구성하는 자식 노드의 집합 정보를 가진다.
"CC1": { # node ID. Type 명칭을 prefix로 가진다.
"type": "CC",
"text": "Mercedes-Benz of Buckhead",
"child-nodes": [ "VC3", "VC4" ] # 순서대로 정렬되어 있어야 한다.
},
"VC1": {
"type": "VC", "text": "- Jeff Garris", "child-nodes": [ "LC1" ]
},
"VC2": {
… , "text": "Director of Business Development", "child-nodes": [ "LC2" ]
},
"VC3": {
… , "text": "Mercedes-Benz", "child-nodes": [ "LC3" ]
},
"VC4": {
… , "text": "of Buckhead", "child-nodes": [ "LC4" ]
},
"LC1": {
"type": "LC", "text": "- Jeff Garris", "child-nodes": [ "WE1", "WE2", "WE3" ]
},
"LC2": {
… , "text": "Director of Business Development", "child-nodes": [ … ]
},
"LC3": {
… , "text": "Mercedes-Benz", "child-nodes": [ … ]
},
"LC4": {
… , "text": "of Buckhead", "child-nodes": [ … ]
},
"WE1": {
"type": "WE", "coords": [ … ], "text": "-"
},
"WE2": {
… , "text": "Jeff"
},
"WE3": {
… , "text": "Garris"
},
… …
}
도 9 내지 도 11은 본 발명의 일실시예에 있어서 시각적 구분 영역의 예시를 도시한 것이다.
계층적 텍스트 구조화의 기준이 되는 시각적 구분 영역은 다음과 같이 정의될 수 있다. 시각적 구분 영역이란, 텍스트 영역이 라인이나 도형, 이미지 등으로 구분되는 경우, 텍스트 영역이 서로 다른 배경으로 구분되는 경우, 텍스트 영역 간의 간격이 불규칙적인 경우로 나뉠 수 있다.
도 9를 참조하면, 프로세서(120)는 텍스트 영역(WE(40), LC(50), VC(60))이 테이블 라인(901)이나 박스와 같은 각종 도형(902)으로 구분되는 경우 시각적으로 구분되는 것으로 판단한다. 다시 말해, 라인(901)이나 도형(902), 이미지 등을 시각적 구분 영역으로 활용할 수 있다. 예를 들어, 서로 인접한 LC(50)의 집합이 라인(901)이나 도형(902)으로 구분되지 않으면 하나의 VC(60)로 묶고 라인(901)이나 도형(902)으로 구분되면 서로 다른 VC(60)로 묶을 수 있다.
도 10을 참조하면, 프로세서(120)는 텍스트 영역이 서로 다른 배경(1001, 1002)으로 구분되는 경우 시각적으로 구분되는 것으로 판단한다. 다시 말해, 텍스트 배경(1001, 1002)을 시각적 구분 영역으로 활용할 수 있다. 예를 들어, 서로 인접한 LC(50)의 배경이 동일하면 하나의 VC(60)로 묶고 서로 다른 배경으로 구분되면 서로 다른 VC(60)로 묶을 수 있다.
도 11을 참조하면, 프로세서(120)는 텍스트 영역 간의 간격(1101, 1102, 1103, 1104)을 확인할 수 있고, 이와 같이 텍스트 영역 간의 간격(1101, 1102, 1103, 1104)이 불규칙할 때 시각적으로 구분되는 것으로 판단한다. 다시 말해, 텍스트 영역 간의 불규칙한 간격을 시각적 구분 영역으로 활용할 수 있다. 서로 인접한 LC(50) 간의 간격이 규칙적이면 하나의 VC(60)로 묶는다. 한편, LC(50) 간의 간격이 규칙적이다가 달라지는, 즉 불규칙해지는 부분을 시각적으로 구분되는 경계로 보고 해당 경계선을 기준으로 이전 LC(50)와 이후 LC(50)을 서로 다른 VC(60)로 분리할 수 있다.
상기한 시각적 구분 영역 이외에도 글머리 기호나 넘버링 등 텍스트 영역을 구분하기 위해 이용되는 다양한 서식이나 요소를 적용할 수 있다.
도 12 내지 도 13은 본 발명의 일실시예에 있어서 WE(40)를 LC(50)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
프로세서(120)는 기본적으로 시각적 구분 방식을 이용하여 적어도 하나의 WE(40)를 LC(50)로 클러스터링할 수 있다.
시각적 구분 방식 이외에도 다음과 같은 규칙들에 기반하여 클러스터링을 진행한다.
도 12에 도시한 바와 같이 WE(40) 간의 간격이 일정 글자 수 이상일 때 각각 다른 LC(50)로 클러스터링한다. 예를 들어, 자간이 2 글자 이상인 이전 WE(40) 집합과 이후 WE(40) 집합을 서로 다른 다른 LC(50)로 묶을 수 있다.
도 13에 도시한 바와 같이, 동일한 수평선 상에 있는 WE(40)의 집합을 하나의 LC(50)로 클러스터링한다. WE(40) 간에 사이즈, 폰트, 볼드, 이탤릭 등의 텍스트 스타일이 다르더라도 같은 선상에 있으면 하나의 LC(50)로 클러스터링한다. 한편, 프로세서(120)는 동일 선상에 있지 않은 WE(40)를 서로 다른 다른 LC(50)로 분리하여 구성한다.
도 14 내지 도 15는 본 발명의 일실시예에 있어서 LC(50)를 VC(60)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
프로세서(120)는 기본적으로 시각적 구분 방식을 이용하여 적어도 하나의 LC(50)를 VC(60)로 클러스터링할 수 있다.
시각적 구분 방식 이외에도 다음과 같은 규칙들에 기반하여 클러스터링을 진행한다.
프로세서(120)는 시각적 구분 영역이 존재하지 않는 연속된 LC(50)가 여러 개인 경우 보다 가까운 LC(50)끼리 VC(60)로 클러스터링한다.
도 14에 도시한 바와 같이, 프로세서(120)는 LC(50) 간의 간격이 일정 크기(예를 들어, 2줄) 이상인 경우 각각의 LC(50)를 서로 다른 VC(60)로 클러스터링한다.
또한, 도 15를 참조하면 프로세서(120)는 LC(50) 간에 일부 영역이 중첩된 경우 예를 들어 1자간 이상 중첩되는 경우 서로 인접한 LC(50)의 집합으로 보고 동일한 VC(60)로 클러스터링한다.
그리고, 서로 인접한 LC(50)가 각각 서로 다른 하나의 스타일(폰트, 사이즈, 볼드, 이탤릭 등)로만 구성되어 있는 경우에는 시각적 구분이 없는 연속된 LC(50)라 하더라도 각각 다른 VC(60)로 클러스터링된다. 다만, LC(50) 내에 여러 다른 스타일이 섞여 있는 경우 시각적 구분이 없이 연속되어 있다면 동일한 VC(60)로 클러스터링한다. 예를 들어, LC1, LC2, LC3로 구분된 LC(50)에 대해, 연속된 LC1과 LC2가 시각적 구분이 없고 연속된 LC2와 LC3이 시각적 구분이 없으면, LC1과 LC3이 연속되지 않고 텍스트 스타일이 다르더라도 LC1과 LC2 및 LC3를 추이적 관계(transitive relation)로 보고 하나의 VC(60)로 클러스터링한다.
도 16 내지 도 17은 본 발명의 일실시예에 있어서 VC(60)를 CC(70)로 클러스터링하는 과정을 설명하기 위한 예시 도면이다.
프로세서(120)는 기본적으로 시각적 구분 방식을 이용하여 적어도 하나의 VC(60)를 CC(70)로 클러스터링할 수 있다.
시각적 구분 방식 이외에도 다음과 같은 규칙들에 기반하여 클러스터링을 진행한다.
프로세서(120)는 컴퓨터 시스템(100)의 내부에 구축되거나 별도의 시스템으로 구축되어 컴퓨터 시스템(100)과 연동 가능한 사전 데이터베이스(미도시)를 바탕으로 VC(60) 각각의 내부 텍스트를 검색하여 검색된 텍스트가 그 자체로 의미를 가지거나 완성된 구로 판단되는 경우 CC(70)로 클러스터링하지 않는다.
한편, 프로세서(120)는 VC(60) 각각의 텍스트가 완성된 의미를 가지더라도 둘 이상의 VC(60)의 텍스트 조합이 고유명사에 해당되는 경우 해당 VC(60)의 집합을 하나의 CC(70)로 클러스터링한다. 예를 들어, 프로세서(120)는 도 16에 도시한 바와 같이 시각적 구분 방식에 의해 VC(60)가 'toy', 'story', '4'로 구분된 경우, 'toy'와 'story'가 그 자체로 의미를 가지더라도 결합된 문장이 고유명사 'toy story'를 의미하므로 'toy'와 'story'를 하나의 CC(70)로 묶어줄 수 있다.
도 17을 참조하면, 프로세서(120)는 서로 다른 배경이나 텍스트 스타일에 따라 VC(60)가 'made with', '100%', 'natural', 'ingredients'로 구분되는 경우 이를 완성된 의미의 문장이 아닌 단절된 문장으로 판단할 수 있어 완성된 문장이나 구에 해당되는 VC(60)의 집합으로서 'made with', '100%', 'natural', 'ingredients'를 하나의 CC(70)로 묶어줄 수 있다.
따라서, 프로세서(120)는 이미지의 텍스트 인식 결과를 문장이나 문단으로 계층화할 수 있으며, 이를 자연어 처리를 위한 딥러닝 모델의 학습 데이터로 활용할 수 있다.
이미지 번역의 경우 이미지의 OCR 결과에 대해 계층적 텍스트 구조화(HTS)를 거쳐 이미지 내 텍스트를 완결된 구조의 단위로 재구성한 후 원문을 삭제하고 재구성된 단위 별로 번역된 문장(번역문)을 해당 원문이 삭제된 위치에 렌더링할 수 있다. 이미지 내 텍스트에 대해 번역을 위한 자연어 처리 단위를 계층적 텍스트 구조화를 통해 보다 완결된 구조의 단위로 재구성함에 따라 보다 높은 품질의 이미지 번역 결과를 제공할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 이미지에서 인식된 단어 단위의 텍스트를 문장이나 문단으로 재구성하는 계층적 텍스트 구조화를 통해 자연어 처리를 위한 학습 모델의 학습 데이터를 마련할 수 있다. 계층적 텍스트 구조화에 따른 학습 데이터로 딥러닝 기반의 학습 모델을 구축할 수 있고, 이를 통해 보다 완결된 구조의 단위를 설정하여 기계 번역, 정보 검색, 질의 응답, 문서 요약 등 다양한 분야에서의 자연어 처리 성능을 향상시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 시스템에서 실행되는 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 방법은,
    상기 적어도 하나의 프로세서에 의해, 이미지 내 텍스트 영역 간의 시각적 구분 영역을 기초로 적어도 하나의 텍스트 영역을 클러스터링함으로써 자연어 처리 단위를 구성하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 자연어 처리 단위를 학습 데이터로 하는 딥러닝 기반 학습 모델을 구축하는 단계
    를 포함하고,
    상기 자연어 처리 단위를 구성하는 단계는,
    상기 이미지에서 인식된 텍스트를 복수 개의 타입의 자연어 처리 단위로 계층화하는 것으로,
    상기 이미지에서 인식된 단어 단위의 텍스트 영역에 해당되는 단어 요소의 집합을 라인 단위의 텍스트 영역에 해당되는 선형 클러스터로 구성하는 단계;
    상기 선형 클러스터의 집합을 문단 단위의 텍스트 영역에 해당되는 가상 클러스터로 구성하는 단계; 및
    상기 가상 클러스터의 집합을 상관 관계의 텍스트 영역에 해당되는 상관 클러스터로 구성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 자연어 처리 단위를 구성하는 단계는,
    상기 시각적 구분 영역으로서 상기 텍스트 영역 간의 구분이 가능한 라인, 도형, 이미지, 배경, 간격, 기호, 숫자 중 적어도 하나를 이용하여 상기 텍스트 영역을 클러스터링하는 것
    을 특징으로 하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 선형 클러스터로 구성하는 단계는,
    동일 선상에 위치하면서 시각적 구분 영역이 존재하지 않는 연속된 단어 요소의 집합을 하나의 선형 클러스터로 구성하는 것
    을 특징으로 하는 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 가상 클러스터로 구성하는 단계는,
    시각적 구분 영역이 존재하지 않는 연속된 선형 클러스터의 집합을 하나의 가상 클러스터로 구성하는 것
    을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 가상 클러스터로 구성하는 단계는,
    상기 선형 클러스터에 포함된 텍스트 스타일을 기초로 적어도 하나의 선형 클러스터를 상기 가상 클러스터로 구성하는 것
    을 특징으로 하는 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 상관 클러스터로 구성하는 단계는,
    완성된 문장이나 구(phrase)에 해당되는 연속된 가상 클러스터의 집합을 하나의 상관 클러스터로 구성하는 것
    을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 단어 요소는 상기 단어 단위의 텍스트 영역을 나타내는 폴리곤 좌표 정보를 포함하고,
    상기 선형 클러스터와 상기 가상 클러스터 및 상기 상관 클러스터는 해당 클러스터를 구성하는 자식 노드의 집합 정보를 포함하는 것
    을 특징으로 하는 방법.
  11. 제1항, 제2항, 제4항, 제6항, 제7항, 제9항 또는 제10항 중 어느 한 항의 방법을 상기 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  12. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    이미지 내 텍스트 영역 간의 시각적 구분 영역을 기초로 적어도 하나의 텍스트 영역을 클러스터링함으로써 자연어 처리 단위를 구성하는 과정; 및
    상기 자연어 처리 단위를 학습 데이터로 하는 딥러닝 기반 학습 모델을 구축하는 과정
    을 처리하고,
    상기 적어도 하나의 프로세서는,
    상기 이미지에서 인식된 텍스트를 복수 개의 타입의 자연어 처리 단위로 계층화하는 것으로,
    상기 이미지에서 인식된 단어 단위의 텍스트 영역에 해당되는 단어 요소의 집합을 라인 단위의 텍스트 영역에 해당되는 선형 클러스터로 구성하고,
    상기 선형 클러스터의 집합을 문단 단위의 텍스트 영역에 해당되는 가상 클러스터로 구성하고,
    상기 가상 클러스터의 집합을 상관 관계의 텍스트 영역에 해당되는 상관 클러스터로 구성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  13. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 시각적 구분 영역으로서 상기 텍스트 영역 간의 구분이 가능한 라인, 도형, 이미지, 배경, 간격, 기호, 숫자 중 적어도 하나를 이용하여 상기 텍스트 영역을 클러스터링하는 것
    을 특징으로 하는 컴퓨터 시스템.
  14. 삭제
  15. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    동일 선상에 위치하면서 시각적 구분 영역이 존재하지 않는 연속된 단어 요소의 집합을 하나의 선형 클러스터로 구성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  16. 삭제
  17. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    시각적 구분 영역이 존재하지 않는 연속된 선형 클러스터의 집합을 하나의 가상 클러스터로 구성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  18. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 선형 클러스터에 포함된 텍스트 스타일을 기초로 적어도 하나의 선형 클러스터를 상기 가상 클러스터로 구성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  19. 삭제
  20. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    완성된 문장이나 구에 해당되는 연속된 가상 클러스터의 집합을 하나의 상관 클러스터로 구성하는 것
    을 특징으로 하는 컴퓨터 시스템.
KR1020200118419A 2020-09-15 2020-09-15 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램 KR102530657B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200118419A KR102530657B1 (ko) 2020-09-15 2020-09-15 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램
JP2021147615A JP2022049001A (ja) 2020-09-15 2021-09-10 イメージから認識したテキストを階層化する方法、システム、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200118419A KR102530657B1 (ko) 2020-09-15 2020-09-15 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220036165A KR20220036165A (ko) 2022-03-22
KR102530657B1 true KR102530657B1 (ko) 2023-05-09

Family

ID=80844344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200118419A KR102530657B1 (ko) 2020-09-15 2020-09-15 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램

Country Status (2)

Country Link
JP (1) JP2022049001A (ko)
KR (1) KR102530657B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013246731A (ja) 2012-05-28 2013-12-09 Toshiba Corp 手書き文字検索装置、方法及びプログラム
US20200074169A1 (en) 2018-08-31 2020-03-05 Accenture Global Solutions Limited System And Method For Extracting Structured Information From Image Documents
KR102138748B1 (ko) * 2019-02-08 2020-07-28 네이버 주식회사 라인 단위의 문자열을 검출 및 정렬하기 위한 방법 및 시스템
US20200279107A1 (en) * 2019-02-28 2020-09-03 International Business Machines Corporation Digital image-based document digitization using a graph model

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2579397B2 (ja) * 1991-12-18 1997-02-05 インターナショナル・ビジネス・マシーンズ・コーポレイション 文書画像のレイアウトモデルを作成する方法及び装置
JP2010244131A (ja) * 2009-04-01 2010-10-28 Brother Ind Ltd 印刷装置及び印刷プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013246731A (ja) 2012-05-28 2013-12-09 Toshiba Corp 手書き文字検索装置、方法及びプログラム
US20200074169A1 (en) 2018-08-31 2020-03-05 Accenture Global Solutions Limited System And Method For Extracting Structured Information From Image Documents
KR102138748B1 (ko) * 2019-02-08 2020-07-28 네이버 주식회사 라인 단위의 문자열을 검출 및 정렬하기 위한 방법 및 시스템
US20200279107A1 (en) * 2019-02-28 2020-09-03 International Business Machines Corporation Digital image-based document digitization using a graph model

Also Published As

Publication number Publication date
KR20220036165A (ko) 2022-03-22
JP2022049001A (ja) 2022-03-28

Similar Documents

Publication Publication Date Title
US10831984B2 (en) Web page design snapshot generator
CN108073555B (zh) 用于从电子文档生成虚拟现实环境的方法和系统
CN108351745B (zh) 数字笔记记录的系统和方法
KR102134309B1 (ko) 모바일 및 다른 디스플레이 환경을 지원하기 위하여 대화형 사이트 및 애플리케이션을 자동 변환하는 시스템 및 방법
CN112287187A (zh) 利用对象属性检测模型来自动地选择图像中所检测的对象的实例
US8577882B2 (en) Method and system for searching multilingual documents
EP3857432A1 (en) Automated content editor
JP2021504781A (ja) ブロックに基づく文書メタデータの抽出のための方法、コンピュータ・プログラム及びシステム
KR102171657B1 (ko) 인공지능을 이용한 문맥 파악 기반의 동영상 편집 방법 및 시스템
JP6629935B2 (ja) 文書のカテゴリ分類のためのディープラーニング学習方法およびそのシステム
CN103384896A (zh) 数字漫画编辑装置及其方法
US11314757B2 (en) Search results modulator
WO2022100338A1 (zh) 一种图片搜索方法、装置、电子设备、计算机可读存储介质及计算机程序产品
US11610054B1 (en) Semantically-guided template generation from image content
Praczyk et al. Automatic extraction of figures from scientific publications in high-energy physics
CN114820881A (zh) 图片的生成方法、智能终端及其计算机可读存储介质
KR102530657B1 (ko) 이미지에서 인식된 텍스트를 계층화하는 방법, 시스템, 및 컴퓨터 프로그램
US11048405B2 (en) Information processing device and non-transitory computer readable medium
CN112070852A (zh) 图像的生成方法和系统、数据处理方法
CN111723177B (zh) 信息提取模型的建模方法、装置及电子设备
JP2009134378A (ja) 文書群提示装置および文書群提示プログラム
JP7069766B2 (ja) 情報処理装置及び情報処理プログラム
JP7225541B2 (ja) 情報処理装置及び情報処理プログラム
CN111368553A (zh) 智能词云图数据处理方法、装置、设备及存储介质
US20240126978A1 (en) Determining attributes for elements of displayable content and adding them to an accessibility tree

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