KR20210130790A - 문서들에서 키-값 쌍들의 식별 - Google Patents

문서들에서 키-값 쌍들의 식별 Download PDF

Info

Publication number
KR20210130790A
KR20210130790A KR1020217030913A KR20217030913A KR20210130790A KR 20210130790 A KR20210130790 A KR 20210130790A KR 1020217030913 A KR1020217030913 A KR 1020217030913A KR 20217030913 A KR20217030913 A KR 20217030913A KR 20210130790 A KR20210130790 A KR 20210130790A
Authority
KR
South Korea
Prior art keywords
key
image
document
text data
bounding box
Prior art date
Application number
KR1020217030913A
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 구글 엘엘씨
Publication of KR20210130790A publication Critical patent/KR20210130790A/ko

Links

Images

Classifications

    • G06K9/00463
    • 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/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • G06K9/00449
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Character Discrimination (AREA)

Abstract

비구조화된 문서를 구조화된 키-값 쌍으로 변환하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 디바이스가 제공된다. 일 양상에서, 상기 방법은 문서의 이미지를 검출 모델에 제공하는 단계, 검출 모델은 이미지에 대해 생성된 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 이미지를 프로세싱하도록 구성되고; 이미지에 대해 생성된 각각의 바운딩 박스는 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예상되며, 키 텍스트 데이터는 값 텍스트 데이터를 특징짓는 레이블을 정의하며; 그리고 이미지에 대해 생성된 하나 이상의 바운딩 박스 각각에 대해: 광학 문자 인식 기술을 사용하여 바운딩 박스에 의해 둘러싸인 텍스트 데이터를 식별하는 단계; 및 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계를 포함한다.

Description

문서들에서 키-값 쌍들의 식별
본 발명은 문서 프로세싱에 관한 것이다.
문서들(예컨대, 인보이스, 급여 명세서(pay stub), 구매 영수증 등)를 이해하는 것은 많은 현대 기업에서 중요한 비즈니스 요구 사항이다. 기업 데이터의 많은 부분(예컨대, 90% 이상)이 비구조화된(unstructured) 문서 형태로 저장 및 표시된다. 구조화된 데이터를 문서로부터 수동으로 추출하는 것은 비용이 많이 들고 시간이 많이 걸리며 오류가 발생하기 쉽다.
본 명세서는 일반적으로 비구조화된 문서들을 구조화된 키-값 쌍들로 자동으로 변환하는 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로 구현되는 파싱 시스템 및 파싱 방법을 서술한다. 보다 구체적으로, 파싱 시스템은 문서에서 "키" 텍스트 데이터 및 대응하는 "값" 텍스트 데이터를 식별하기 위해 문서를 프로세싱하도록 구성된다. 대체로, 키는 대응 값을 특징짓는(즉, 설명하는) 라벨을 정의한다. 예를 들어, "날짜(Date)" 라는 키는 "2-23-2019" 라는 값에 대응할 수 있다.
본 발명의 제 1 양상에 따르면, 하나 이상의 데이터 프로세싱 장치에 의해 수행되는 방법이 제공되며, 상기 방법은, 문서의 이미지를 검출 모델에 제공하는 단계: 검출 모델은 이미지에 대해 생성된 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 복수의 검출 모델 파라미터들의 값들에 따라 이미지를 프로세싱하도록 구성되고; 이미지에 대해 생성된 각각의 바운딩 박스는 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되며, 키 텍스트 데이터는 값 텍스트 데이터를 특징짓는 라벨을 정의하고; 그리고 이미지에 대해 생성된 하나 이상의 바운딩 박스들 각각에 대해: 광학 문자 인식 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별하는 단계; 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계; 그리고 바운딩 박스로 둘러싸인 텍스트 데이터가 키-값 쌍을 정의한다고 결정함에 응답하여, 상기 문서를 특징화하는데 사용되는 키-값 쌍을 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 검출 모델은 신경망 모델이다.
일부 구현예들에서, 상기 신경망 모델은 컨볼루션 신경망을 포함한다.
일부 구현예들에서, 상기 신경망 모델은 트레이닝 예제들의 세트에 대해 트레이닝되고, 각각의 트레이닝 예제는 트레이닝 입력 및 타겟 출력을 포함하고, 상기 트레이닝 입력은 트레이닝 문서의 트레이닝 이미지를 포함하고, 상기 타겟 출력은 각각의 키-값 쌍을 둘러싸는 트레이닝 이미지의 하나 이상의 바운딩 박스들을 정의하는 데이터를 포함한다.
일부 구현예들에서, 상기 문서는 인보이스(invoice)이다.
일부 구현예들에서, 상기 문서의 이미지를 검출 모델에 제공하는 단계는, 문서의 특정 클래스를 식별하는 단계; 및 상기 특정 클래스의 문서를 프로세싱하도록 트레이닝된 검출 모델에 상기 문서의 이미지를 제공하는 단계를 포함한다.
일부 구현예들에서, 상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계는, 미리 결정된 유효 키들의 세트로부터의 키를, 상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 포함하는지를 결정하는 단계; 상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 부분의 유형을 식별하는 단계; 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계; 및 상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 상기 부분의 유형이, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 포함되는지를 결정하는 단계를 포함한다.
일부 구현예들에서, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계는, 미리 결정된 매핑을 사용하여, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 상기 키를 매핑하는 단계를 포함한다.
일부 구현예들에서, 유효 키들의 세트 및 키들에 대응하는 값들에 대한 유효 유형들의 대응 세트들로 키를 매핑하는 것은 사용자에 의해 제공된다.
일부 구현예들에서, 상기 바운딩 박스는 직사각형 형상을 갖는다.
일부 구현예들에서, 상기 방법은 사용자로부터 문서를 수신하는 단계; 및 문서를 이미지로 변환하는 단계를 더 포함하며, 상기 이미지는 문서를 묘사한다.
본 발명의 다른 양상에 따르면 하나 이상의 데이터 프로세싱 장치에 의해 수행되는 방법이 제공되며, 상기 방법은, 검출 모델에 문서의 이미지를 제공하는 단계, 검출 모델은 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되는 하나 이상의 바운딩 박스들을 이미지에서 식별하기 위해 상기 이미지를 프로세싱하도록 구성되고, 상기 키는 라벨을 정의하고 상기 라벨은 상기 키에 대응하는 값을 특징지으며; 이미지에 대해 생성된 하나 이상의 바운딩 박스들 각각에 대해: 광학 문자 인식 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별하고 그리고 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계; 및 상기 문서를 특징화하는데 사용되는 하나 이상의 키-값 쌍을 출력하는 단계를 포함한다.
일부 구현예들에서, 검출 모델은 트레이닝 데이터 세트에 대해 트레이닝될 수 있는 파라미터들의 세트를 갖는 머신 러닝 모델이다.
일부 구현예들에서, 머신 러닝 모델은 신경망 모델, 특히 콘볼루션 신경망을 포함한다.
일부 구현예에서, 머신 러닝 모델은 트레이닝 예제들의 세트에 대해 트레이닝되고, 각각의 트레이닝 예제는 트레이닝 입력 및 타겟 출력을 포함하고, 상기 트레이닝 입력은 트레이닝 문서의 트레이닝 이미지를 포함하고, 상기 타겟 출력은 각각의 키-값 쌍을 둘러싸는 트레이닝 이미지의 하나 이상의 바운딩 박스들을 정의하는 데이터를 포함한다.
일부 구현예에서, 상기 문서는 인보이스이다.
일부 구현예에서, 문서를 검출 모델에 제공하는 단계는 문서의 특정 클래스를 식별하는 단계; 및 상기 특정 클래스의 문서를 프로세싱하도록 트레이닝된 검출 모델에 상기 문서의 이미지를 제공하는 단계를 포함한다.
일부 구현예에서, 상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계는, 미리 결정된 유효 키들의 세트로부터의 키를, 상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 포함하는지를 결정하는 단계; 상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 부분의 유형을 식별하는 단계; 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계; 및 상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 상기 부분의 유형이, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 포함되는지를 결정하는 단계를 포함한다.
일부 구현예들에서, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계는, 미리 결정된 매핑을 사용하여, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 상기 키를 매핑하는 단계를 포함한다.
일부 구현예들에서, 유효 키들의 세트 및 키들에 대응하는 값들에 대한 유효 유형들의 대응 세트들로 키를 매핑하는 것은 사용자에 의해 제공된다.
일부 구현예들에서, 상기 바운딩 박스는 직사각형 형상을 갖는다.
일부 구현예들에서, 상기 방법은 사용자로부터 문서를 수신하는 단계; 및 문서를 이미지로 변환하는 단계를 더 포함하며, 상기 이미지는 문서를 묘사한다.
본 발명의 다른 양상에 따르면, 시스템이 제공되며, 상기 시스템은 하나 이상의 컴퓨터들; 및 하나 이상의 컴퓨터들에 통신가능하게 연결된 하나 이상의 저장 디바이스들을 포함하고, 하나 이상의 저장 디바이스들은 명령들을 저장하며, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때 하나 이상의 컴퓨터들로 하여금, 앞서 설명된 방법의 동작들을 포함하는 동작들을 수행하게 한다.
본 발명의 다른 양상에 따르면, 명령들을 저장하는 하나 이상의 비일시적 컴퓨터 저장 매체가 제공되며, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때 앞서 설명된 방법의 동작들을 포함하는 동작들을 수행하게 한다.
본 명세서에 서술된 주제에 대한 특정 실시예는 다음의 장점들 중 하나 이상을 실현하도록 구현될 수 있다.
본 명세서에 기술된 시스템은 다수의 비구조화된 문서들을 구조화된 키-값 쌍들로 자동적으로 변환하는데 사용될 수 있다. 따라서, 상기 시스템은 비용이 많이 들고 시간이 많이 걸리고 오류가 발생하기 쉬운, 비구조화된 문서들로부터 구조화된 데이터를 수동으로 추출할 필요를 없앨 수 있다.
본 명세서에 기술된 시스템은 높은 수준의 정확도로 문서들에서 키-값 쌍들을 식별할 수 있다(예를 들어, 일부 유형의 문서에 대해 99% 이상의 정확도로). 따라서, 시스템은 높은 수준의 정확도가 요구되는 어플리케이션들(예: 재무 문서 프로세싱)을 배포하는데 적합할 수 있다.
본 명세서에서 설명하는 시스템은 일부 기존 시스템보다 보다 양호하게 일반화할 수 있다. 즉, 일부 기존 시스템에 비해 개선된 일반화 능력들을 갖는다. 특히, 문서들에서 키-값 쌍들을 구별하는 시각적 신호들을 인식하도록 트레이닝된 머신 러닝 검출 모델을 활용함으로써, 상기 시스템은 문서들의 특정 스타일, 구조 또는 콘텐츠와 상관없이 키-값 쌍들을 정확하게 식별할 수 있다.
본 명세서의 주제에 대한 하나 이상의 실시예들의 세부사항은 첨부된 도면 및 하기 설명에 기재되어 있다. 본 주제의 다른 피처들, 양상들 및 장점들은 발명의 상세한 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 예시적인 파싱 시스템을 도시한다.
도 2a는 파싱 시스템에 제공될 수 있는 인보이스 문서의 예를 도시한다.
도 2b는 파싱 시스템의 검출 모델에 의해 생성된 바운딩 박스를 예시한다.
도 2c는 바운딩 박스에 의해 둘러싸인 키 및 값을 도시한다.
도 2d는 인보이스에서 파싱 시스템에 의해 식별된 키-값 쌍을 예시한다.
도 3은 문서에서 키-값 쌍을 식별하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
도 1은 예시적인 파싱 시스템(100)을 도시한다. 파싱 시스템(100)은 아래에서 설명되는 시스템들, 컴포넌트들 및 기술들이 구현되는, 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들의 컴퓨터 프로그램으로서 구현되는 시스템의 일례이다.
파싱 시스템(100)은 문서(102)에서 하나 이상의 키-값 쌍(104)을 식별하기 위해 문서(102)(예를 들어, 인보이스, 급여 명세서 또는 구매 영수증)를 프로세싱하도록 구성된다. "키-값 쌍"은 키 및 대응 값을 지칭하며, 이들 둘다는 일반적으로 텍스트 데이터이다. "텍스트 데이터"는 적어도 다음을 지칭하도록 이해되어야한다: 알파벳 문자, 숫자 및 특수 기호. 앞에서 설명한 것처럼, 키는 해당 값을 특징짓는 레이블을 정의한다. 도 2a-2d는 인보이스 문서에서 키-값 쌍의 일례를 도시한다.
시스템(100)은 다양한 방식으로 문서(102)를 수신할 수 있다. 예를 들어, 시스템(100)은 데이터 통신 네트워크를 통해 시스템(100)의 원격 사용자로부터 문서(102)를 업로드로서 수신할 수 있다(예를 들어, 시스템(100)에 의해 이용가능하게된 애플리케이션 프로그래밍 인터페이스(API)를 사용하여). 문서(102)는 임의의 적절한 비구조화된 데이터 포맷으로 표현될 수 있는바, 예를 들어, PDF(Portable Document Format) 문서 또는 이미지 문서(예를 들어, PNG(Portable Network Graphics) 문서 또는 JPEG(Joint Photographic Experts Group) 문서)로 표현될 수 있다.
시스템(100)은 문서(102)에서 키-값 쌍(104)을 식별하기 위해, 검출 모델(106), 광학 문자 인식(OCR) 엔진(108), 및 필터링 엔진(110)을 사용한다.
검출 모델(106)은 문서(102)의 이미지(112)를 프로세싱하여, 이미지(112) 내의 하나 이상의 바운딩 박스(bounding box)(114)를 정의하는 출력을 생성하도록 구성되며, 각각의 바운딩 박스는 각각의 키-값 쌍을 정의하는 텍스트 데이터를 포함하도록 예측된다. 즉, 각각의 바운딩 박스(114)는 (i) 키, 및 (ii) 상기 키에 대응하는 값을 정의하는 텍스트 데이터를 포함할 것으로 예측된다. 예를 들어, 바운딩 박스는 텍스트 데이터 "이름(Name): 존 스미스(John Smith)"를 포함할 수 있으며, 이는 "이름"이라는 키와 대응 값 "존 스미스"를 정의한다. 검출 모델(106)은 각각이 단일 키-값 쌍(즉, 다중 키-값 쌍들보다는)을 둘러싸는 바운딩 박스들(114)을 생성하도록 구성될 수 있다.
문서(102)의 이미지(112)는 문서(102)의 시각적 외양을 나타내는 숫자 값들의 정렬된 컬렉션이다. 예를 들어, 이미지(112)는 문서의 흑백 이미지일 수 있다. 본 일례에서, 이미지(112)는 수치 강도 값들(numerical intensity values)의 2차원 어레이로 표현될 수 있다. 다른 일례로서, 이미지는 문서의 컬러 이미지일 수 있다. 이러한 일례에서, 이미지(112)는 다중 채널 이미지로 표현될 수 있으며, 여기서 각각의 채널은 각각의 컬러(예를 들어, 적색, 녹색 또는 청색)에 대응하고, 수치 강도 값들의 2차원 어레이로서 표현된다.
바운딩 박스(114)는 직사각형의 바운딩 박스일 수 있다. 직사각형 바운딩 박스는 바운딩 박스의 특정 코너들의 좌표들과 바운딩 박스의 해당 너비 및 높이로 나타낼 수 있다. 보다 일반적으로, 다른 바운딩 박스 형태 및 바운딩 박스를 나타내는 다른 방법이 가능하다.
비록, 검출 모델(106)이 문서(102)에 존재하는 임의의 프레임 또는 경계를 시각적 신호로서 암시적으로 인식 및 사용할 수 있지만, 바운딩 박스(114)는 문서(102)에 존재하는 임의의 기존 프레임 및 경계와 정렬(즉, 일치)하도록 제한되지 않는다. 또한, 시스템(100)은 문서(102)의 이미지(112)에 바운딩 박스(114)를 시각적으로 디스플레이하지 않고 바운딩 박스(114)를 생성할 수 있다. 즉, 시스템(100)은 시스템(100)의 사용자에게 바운딩 박스의 위치에 대한 시각적 표시를 디스플레이함이 없이, 바운딩 박스를 정의하는 데이터를 생성할 수 있다.
검출 모델(106)은 일반적으로 머신 러닝 모델, 즉 트레이닝 데이터 세트에 대해 트레이닝될 수 있는 파라미터들의 세트를 갖는 모델이다. 트레이닝 데이터는 여러 트레이닝 예제들(training examples)을 포함하며, 그 각각은 (i) 트레이닝 문서를 묘사하는 트레이닝 이미지, 및 (ii) 트레이닝 이미지 내의 각각의 키-값 쌍을 각각 둘러싸는 하나 이상의 바운딩 박스들을 정의하는 타겟 출력을 포함한다. 트레이닝 데이터는 수동 주석(manual annotation)에 의해 생성될 수 있는바, 즉, 사람이 트레이닝 문서에서 키-값 쌍들 주위의 바운딩 박스들을 수동으로 식별함으로써 생성될 수 있다(예를 들어, 적절한 주석 소프트웨어를 사용하여).
트레이닝 데이터 세트에 대한 머신 러닝 기술을 사용하여 검출 모델(106)을 트레이닝하면, 검출 모델(106)이 문서에서 키-값 쌍을 식별할 수 있게 하는 시각적 신호를 암시적으로 인식할 수 있다. 예를 들어, 검출 모델(106)은 키-값 쌍들을 식별할 수 있게 하는, 로컬 신호(예를 들어, 텍스트 스타일 및 단어들의 상대적 공간 위치들)와 글로벌 신호(예를 들어, 문서에서 경계의 존재) 둘다를 암시적으로 인식하도록 트레이닝될 수 있다. 검출 모델이 문서에서 키-값 쌍들을 식별할 수 있도록 하는 시각적 신호들은 일반적으로 문서에 있는 단어들의 명시적 의미를 나타내는 신호들을 포함하지 않는다.
문서들의 키-값 쌍들을 구별하는 시각적 신호들을 암시적으로 인식하도록 검출 모델(106)을 트레이닝하면, 검출 모델이 검출 모델을 트레이닝하는데 사용되는 트레이닝 데이터 이상으로 "일반화(generalize)"할 수 있다. 즉, 트레이닝된 검출 모델(106)은, 검출 모델(106)을 트레이닝하는데 사용된 트레이닝 데이터에 상기 문서가 포함되지 않은 경우에도, 문서에서 키-값 쌍들을 둘러싸는 바운딩 박스들을 정확하게 생성하도록 문서를 묘사하는 이미지를 프로세싱할 수 있다.
일 예에서, 검출 모델(106)은 신경망 객체 검출 모델일 수 있으며(예를 들어, 하나 이상의 컨볼루션 신경망을 포함하는), 여기서 "객체"는 문서의 키-값 쌍에 대응한다. 신경망 모델의 트레이닝 가능한 파라미터들은 신경망 모델의 가중치들(예를 들어, 신경망 모델에서 컨볼루션 필터들을 정의하는 가중치들)을 포함한다.
신경망 모델은 적절한 머신 러닝 트레이닝 절차, 예를 들어 확률적 경사 하강법(stochastic gradient descent)을 사용하여 트레이닝 데이터 세트에 대해 트레이닝될 수 있다. 특히, 다수의 트레이닝 이터레이션들 각각에서, 신경망 모델은 트레이닝 예제들의 "배치(batch)"(즉, 세트)로부터의 트레이닝 이미지들을 프로세싱하여, 트레이닝 이미지들에서 각각의 키-값 쌍들을 둘러쌀 것으로 예측되는 바운딩 박스들을 생성할 수 있다. 시스템(100)은 신경망 모델에 의해 생성된 바운딩 박스들과 트레이닝 예제들의 대응 타겟 출력들에 의해 지정된 바운딩 박스들 사이의 유사성의 측정을 특징짓는 목적 함수(objective function)를 평가할 수 있다. 2개의 바운딩 박스들 간의 유사성의 측정은 예를 들어, 바운딩 박스들의 각 정점들 간의 거리들의 제곱의 합일 수 있다. 시스템은 신경망 파라미터 값에 대한 목적 함수의 기울기(또는 '경사' (gradients))를 결정할 수 있고(예를 들어, 역전파를 사용하여), 이후 상기 기울기를 사용하여 현재 신경망 파라미터 값을 조정할 수 있다. 특히, 시스템(100)은 기울기(또는 '경사'라 함)를 이용하여 현재 신경망 파라미터 값들을 조정하기 위해, 임의의 적절한 경사 하강 최적화 알고리즘(예를 들어, Adam 또는 RMSprop)으로부터의 파라미터 업데이트 규칙을 이용할 수 있다. 시스템(100)은 트레이닝 종료 기준이 충족될 때까지(예를 들어, 미리 결정된 횟수의 트레이닝 이터레이션들이 수행될 때까지, 또는 트레이닝 이터레이션들 간의 목적 함수 값의 변화가 미리 결정된 임계값 아래로 떨어질 때까지) 신경망 모델을 트레이닝한다.
검출 모델(106)을 사용하기 전에, 시스템(100)은 문서(102)(예를 들어, 인보이스, 급여 명세서(pay stub), 또는 구매 영수증)의 "클래스"를 식별할 수 있다. 예를 들어, 시스템(100)의 사용자는 문서를 시스템(100)에 제공할 때 문서(102)의 클래스를 식별할 수 있다. 다른 예로서, 시스템(100)은 분류 신경망을 사용하여 문서(102)의 클래스를 자동으로 분류할 수 있다. 다른 예에서, 시스템(100)은 문서(102) 내의 텍스트를 식별하기 위해 OCR 기술을 사용할 수 있고, 그 후에 문서(102) 내의 텍스트에 기초하여 문서(102)의 클래스를 식별할 수 있다. 특정 일례에서, "실수령액(Net pay)" 이라는 문구를 식별함에 응답하여, 시스템(100)은 문서(102)의 클래스를 "급여 명세서"로 식별할 수 있다. 다른 특정 예에서, "매출 세액(sales tax)"이라는 문구를 식별하는 것에 응답하여, 시스템(100)은 문서(102)의 클래스를 "인보이스"로서 식별할 수 있다. 문서(102)의 특정 클래스를 식별한 후, 시스템(100)은 특정 클래스의 문서를 프로세싱하도록 트레이닝된 검출 모델(106)을 사용할 수 있다. 즉, 시스템(100)은 문서(102)와 동일한 특정 클래스의 문서들만에 포함된 트레이닝 데이터에 대해 트레이닝되었던 검출 모델(106)을 사용할 수 있다. 문서(102)와 동일한 클래스의 문서들을 프로세싱하도록 특별히 트레이닝된 검출 모델(106)을 사용하는 것은, 검출 모델의 성능을 향상시킬 수 있다(예를 들어, 키-값 쌍들 주위의 바운딩 박스들을 검출 모델이 더 높은 정확도로 생성할 수 있게함으로써).
바운딩 박스들(114) 각각에 대해, 시스템(100)은 OCR 엔진(108)을 사용하여 바운딩 박스에 의해 둘러싸인 이미지(112)의 일부분을 프로세싱하여, 바운딩 박스에 의해 둘러싸인 텍스트 데이터(즉, 텍스트 116)를 식별한다. 특히, OCR 엔진(108)은 바운딩 박스에 의해 둘러싸인 각각의 알파벳, 숫자, 또는 특수 문자를 식별함으로써 바운딩 박스에 의해 둘러싸인 텍스트(116)를 식별한다. OCR 엔진(108)은 바운딩 박스(114)에 의해 둘러싸인 텍스트(116)를 식별하기 위해 임의의 적절한 OCR 기술을 사용할 수 있다.
필터링 엔진(110)은 바운딩 박스(114)에 의해 둘러싸인 텍스트(116)가 키-값 쌍을 나타내는지 여부를 결정하도록 구성된다. 필터링 엔진은 바운딩 박스(114)에 의해 둘러싸인 텍스트(116)가 임의의 적절한 방식으로 키-값 쌍을 나타내는지 여부를 결정할 수 있다. 예를 들어, 소정의 바운딩 박스에 대해, 필터링 엔진(110)은 바운딩 박스에 의해 둘러싸인 텍스트가 미리 결정된 유효 키 세트로부터의 유효 키를 포함하는지 여부를 결정할 수 있다. 예를 들어, 유효한 키 세트는 "날짜", "시간", "인보이스 번호", "지불액(amount due)" 등을 포함할 수 있다. 바운딩 박스에 의해 둘러싸인 텍스트가 유효한 키를 포함하는지 여부를 결정하기 위해 텍스트의 상이한 부분들을 비교할 때, 필터링 엔진(110)은 텍스트의 2개의 부분들이 서로 동일하지 않더라도 이들이 "매칭"한다라고 결정할 수 있다. 예를 들어, 필터링 엔진(110)은 텍스트의 2개의 부분들이 상이한 대문자 또는 구두점(capitalization or punctuation)을 포함하더라도, 서로 매칭한다고 결정할 수 있다(예를 들어, 필터링 시스템(100)은 "Date", "Date:", "date" 및 "date." 가 모두 매칭한다라고 결정할 수 있다).
바운딩 박스에 의해 둘러싸인 텍스트가 유효 키들의 세트로부터의 유효 키를 포함하지 않는다는 결정에 응답하여, 필터링 엔진(110)은 바운딩 박스에 의해 둘러싸인 텍스트가 키-값 쌍을 나타내지 않는다고 결정한다.
바운딩 박스에 의해 둘러싸인 텍스트가 유효 키를 포함한다는 결정에 응답하여, 필터링 엔진(110)은 바운딩 박스에 의해 둘러싸인, 키로서 식별되지 않은 텍스트 부분(즉, "키가 아닌 텍스트(non-key text)")의 "유형"(예컨대, 알파벳, 숫자, 시간, 등)을 식별한다. 예를 들어, 텍스트 "Date: 2-23-2019"를 둘러싸는 바운딩 박스의 경우, 필터링 엔진(110)은 "Date:"를 키로서 식별하며(앞서 설명한 바와 같이) 그리고 필터링 엔진(110)은 키가 아닌 텍스트 "2-23-2019"의 유형을 "시간(temporal)"으로 식별할 수 있다.
키가 아닌 텍스트의 유형을 식별하는 것에 추가하여, 필터링 엔진(110)은 키에 대응하는 값들에 대한 하나 이상의 유효한 유형들의 세트를 식별한다. 특히, 필터링 엔진(110)은 미리 결정된 매핑에 따라, 키에 대응하는 값들에 대한 유효한 데이터 유형들의 세트에 키를 매핑할 수 있다. 예를 들어, 필터링 엔진(110)은 "이름(name)" 이라는 키를 대응 값 데이터 유형 "알파벳"에 매핑할 수 있으며, 이는 키에 대응하는 값이 알파벳 데이터 유형(예를 들어, "John Smith")을 가져야 함을 나타낸다. 다른 일례로서, 필터링 엔진(110)은 "날짜(date)"라는 키를 대응 값 데이터 유형 "시간(temporal)"에 매핑할 수 있으며, 이는 키에 대응하는 값이 시간적 데이터 유형(예를 들어, "2-23-2019" 또는 "17:30:22")을 가져야함을 나타낸다.
필터링 엔진(110)은 키가 아닌 텍스트의 유형이, 키에 대응하는 값들에 대한 유효한 유형들의 세트에 포함되는지의 여부를 판단한다. 키가 아닌 텍스트의 유형이, 키에 대응하는 값들에 대한 유효한 유형들의 세트에 포함된다는 결정에 응답하여, 필터링 엔진(110)은 바운딩 박스에 의해 둘러싸인 텍스트가 키-값 쌍을 나타내는 것으로 결정한다. 특히, 필터링 엔진(110)은 키가 아닌 텍스트를 키에 대응하는 값으로 식별한다. 그렇지 않으면, 필터링 엔진(110)은 바운딩 박스에 의해 둘러싸인 텍스트가 키-값 쌍을 나타내지 않는다고 결정한다.
유효 키들의 세트 및 유효 키들로부터 유효 키에 대응하는 값들에 대한 유효 데이터 유형들의 세트로의 매핑은, 시스템(100)의 사용자에 의해 제공될 수 있다(예를 들어, 시스템(100)에 의해 이용가능하게된 API를 통해).
각각의 바운딩 박스(114)에 의해 둘러싸인 텍스트(116)로부터 키-값 쌍(104)을 필터링 엔진(110)을 사용하여 식별한 후, 시스템(100)은 식별된 키-값 쌍(104)을 출력한다. 예를 들어, 시스템(100)은 데이터 통신 네트워크를 통해 시스템(100)의 원격 사용자에게 키-값 쌍(104)을 제공할 수 있다(예를 들어, 시스템(100)에 의해 이용가능하게된 API를 통해). 다른 일례로서, 시스템(100)은 식별된 키-값 쌍을 정의하는 데이터를 데이터베이스(또는 다른 데이터 구조)에 저장할 수 있으며, 상기 데이터베이스는 시스템(100)의 사용자가 액세스할 수 있다.
일부 경우에서, 시스템(100)의 사용자는 시스템(100)이 문서의 특정 키에 대응하는 값(예를 들어, "인보이스 번호(#)")을 식별하도록 요청할 수 있다. 이러한 경우에, 시스템(100)은 문서의 모든 키-값 쌍을 식별하고 제공하는 대신, 요청된 키-값 쌍이 식별될 때까지 각 바운딩 박스(114)에서 식별된 텍스트(116)를 프로세싱한 후 요청된 키-값 쌍을 출력할 수 있다.
전술한 바와 같이, 검출 모델(106)은 각각의 키-값 쌍을 각각 둘러싸는 바운딩 박스들을 생성하도록 트레이닝될 수 있다. 대안적으로, 단일 검출 모델(106)을 사용하는 것보다, 시스템(100)은 (i) 각각의 키들을 둘러싸는 바운딩 박스들을 생성하도록 트레이닝된 "키 검출 모델", 및 (ii) 각각의 값들을 둘러싸는 바운딩 박스들을 생성하도록 트레이닝된 "값 검출 모델"을 포함할 수 있다. 시스템(100)은 임의의 적절한 방식으로 키 바운딩 박스들 및 값 바운딩 박스들로부터 키-값 쌍들을 식별할 수 있다. 예를 들어, 키 바운딩 박스 및 값 바운딩 박스를 포함하는 바운딩 박스들의 각각의 쌍에 대해, 시스템(100)은 (i) 바운딩 박스들의 공간적 근접성, (ii) 키 바운딩 박스가 유효한 키를 포함하고 있는지, (iii) 값 바운딩 박스로 둘러싸인 값의 유형이 상기 키에 대응하는 값들에 대한 유효한 유형 세트에 포함되어 있는지 여부에 기초하여, "매치 점수(match score)"를 생성할 수 있다. 시스템(100)은 키 바운딩 박스와 값 바운딩 박스 사이의 매치 점수가 임계값을 초과하는 경우, 키 바운딩 박스에 의해 둘러싸인 키와 값 바운딩 박스에 의해 둘러싸인 값을 키-값 쌍으로 식별할 수 있다.
도 2a는 인보이스 문서(200)의 예를 도시한다. 파싱 시스템(100)(도 1을 참조하여 설명됨)의 사용자는 인보이스(200)(예를 들어, 스캔된 이미지 또는 PDF 파일)를 파싱 시스템(100)에 제공할 수 있다.
도 2b는 파싱 시스템(100)의 검출 모델(106)에 의해 생성된 바운딩 박스들(예를 들어, 202, 204, 206, 208, 210, 212, 214, 및 216)를 예시한다. 각각의 바운딩 박스는 키-값 쌍을 정의하는 텍스트 데이터를 둘러싸도록 예측된다. 검출 모델(106)은 텍스트(218)(즉, "당신의 비즈니스에 감사한다!")를 둘러싸는 바운딩 박스를 생성하지 않는데, 왜냐하면 이러한 텍스트는 키-값 쌍을 나타내지 않기 때문이다. 도 1을 참조하여 설명된 바와 같이, 파싱 시스템(100)은 OCR 기술을 사용하여 각 바운딩 박스 내부의 텍스트를 식별하고, 그 후 바운딩 박스에 의해 둘러싸인 유효한 키-값 쌍들을 식별한다.
도 2c는 바운딩 박스(202)에 의해 둘러싸인 키(220)(즉, "날짜:") 및 값(222)(즉, "2-23-2019")을 예시한다.
도 2d는 인보이스(200)에서 파싱 시스템(100)에 의해 식별된 키-값 쌍들을 예시한다.
도 3은 문서에서 키-값 쌍들을 식별하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 상기 프로세스(300)는 하나 이상의 장소에 위치한 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 파싱 시스템, 예컨대, 본 명세서에 따라 적절하게 프로그램된 도 1의 파싱 시스템(100)은 프로세스(300)를 수행할 수 있다.
시스템이 문서를 수신한다(302). 예를 들어, 시스템은 데이터 통신 네트워크를 통해 시스템의 원격 사용자로부터 문서를 업로드로서 수신할 수 있다(예를 들어, 시스템에 의해 제공되는 API를 사용하여). 문서는 PDF 문서 또는 이미지 문서(예: PNG 또는 JPEG 문서)와 같은 적절한 구조화되지 않은 데이터 포맷으로 표시될 수 있다.
시스템은 문서를 이미지로, 즉 문서의 시각적 외관을 나타내는 숫자 값들의 정렬된 컬렉션으로 변환한다(304). 예를 들어, 이미지는 숫자 강도 값들의 2차원 어레이로 표현되는 문서의 흑백 이미지일 수 있다.
시스템은 문서의 이미지를 검출 모델에 제공하며, 검출 모델은 문서의 이미지에서 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 검출 모델 파라미터들의 세트에 따라 이미지를 프로세싱하도록 구성된다(306). 각 바운딩 박스는 키 텍스트 데이터와 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되며, 여기서 키는 값을 특징짓는 라벨(label)을 정의한다. 검출 모델은 하나 이상의 컨볼루션 신경망(neural network)을 포함하는 신경망 객체 검출 모델일 수 있다.
단계들(308-310)은 문서 이미지의 각 바운딩 박스에 대해 수행된다. 편의상, 단계들(308-310)은 소정의 바운딩 박스를 참조하여 설명된다.
시스템은 광학 문자 인식(OCR) 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별한다(308). 특히, 시스템은 OCR 기술을 사용하여 바운딩 박스에 의해 둘러싸인 각각의 알파벳, 숫자 또는 특수 문자를 식별한다.
시스템은 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정한다(310). 예를 들어, 시스템은 바운딩 박스에 의해 둘러싸인 텍스트가 미리 결정된 유효 키 세트로부터의 유효 키를 포함하는지 여부를 결정할 수 있다. 바운딩 박스로 둘러싸인 텍스트가 유효한 키 세트의 유효 키를 포함하지 않는다는 결정에 응답하여, 시스템은 바운딩 박스로 둘러싸인 텍스트가 키-값 쌍을 나타내지 않는다고 결정한다. 바운딩 박스에 의해 둘러싸인 텍스트가 유효 키를 포함한다는 결정에 응답하여, 시스템은 키로 식별되지 않았던, 바운딩 박스에 의해 둘러싸인 텍스트의 일부분(즉, "키가 아닌(non-key)" 텍스트)의 "유형"(예컨대, 알파벳, 숫자, 시간 또는 이들의 조합)을 식별한다. 키가 아닌(non-key) 텍스트의 유형을 식별하는 것 외에도, 시스템은 키에 대응하는 값들에 대해 하나 이상의 유효 유형들의 세트를 식별한다. 시스템은 키가 아닌 텍스트의 유형이, 상기 키에 대응하는 값들에 대한 유효 유형들의 세트에 포함되는지 여부를 판별한다. 키가 아닌 텍스트의 유형이 키에 대응하는 값들에 대한 유효 유형들의 세트에 포함된다는 결정에 응답하여, 시스템은 바운딩 박스로 둘러싸인 텍스트가 키-값 쌍을 나타낸다고 결정한다. 특히, 시스템은 키가 아닌 텍스트를 상기 키에 대응하는 값으로 식별한다. 그렇지 않으면, 시스템은 바운딩 박스로 둘러싸인 텍스트가 키-값 쌍을 나타내지 않는다고 결정한다.
시스템은 문서를 특징화하는데 사용하기 위해 식별된 키-값 쌍을 제공한다(312). 예를 들어, 시스템은 데이터 통신 네트워크를 통해 시스템의 원격 사용자에게 키-값 쌍을 제공할 수 있다(예를 들어, 시스템에 의해 사용가능한 API를 사용하여).
도 4는 앞서 설명된 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템(400)의 블록도이다. 시스템(400)은 프로세서(410), 메모리(420), 저장 디바이스(430), 및 입출력 디바이스(440)를 포함한다. 각각의 구성요소(410, 420, 430, 440)는 예를 들어, 시스템 버스(450)를 사용하여 상호연결될 수 있다. 프로세서(410)는 시스템(400) 내에서 실행하기 위해 명령들을 프로세싱할 수 있다. 일 구현예에서, 프로세서(410)는 단일-스레드 프로세서이다. 다른 구현예에서, 프로세서(410)는 다중-스레드 프로세서이다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령들을 프로세싱할 수 있다.
메모리(420)는 시스템(400) 내에서 정보를 저장한다. 일 구현예에서, 메모리(420)는 컴퓨터 판독가능 매체이다. 일 구현예에서, 메모리(420)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(420)는 비휘발성 메모리 유닛이다.
저장 디바이스(430)는 시스템(400)을 위한 대용량 저장소를 제공할 수 있다. 일 구현예에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예들에서, 저장 디바이스(430)는 예를 들어, 하드 디스크 디바이스, 광 디스크 디바이스, 다수의 컴퓨팅 디바이스들(예를 들어, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스, 또는 기타 대용량 저장 디바이스의 일부를 포함할 수 있다.
입/출력 디바이스(440)는 시스템(400)에 대한 입/출력 동작을 제공한다. 일 구현예에서, 입/출력 디바이스(440)는 하나 이상의 네트워크 인터페이스 디바이스, 예를 들어 이더넷 카드, 직렬 통신 디바이스, 예를 들어, RS-232 포트 및/또는 무선 인터페이스 디바이스, 예를 들어 802.11 카드를 포함할 수 있다. 다른 구현예에서, 입력/출력 디바이스(440)는 입력 데이터를 수신하고 출력 데이터를 다른 입력/출력 디바이스, 예를 들어, 키보드, 프린터 및 디스플레이 디바이스(460)로 전송하도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스 및 셋톱 박스 텔레비전 클라이언트 디바이스와 같은 다른 구현예들이 또한 사용될 수 있다.
예시적인 프로세싱 시스템이 도 4에 설명되었지만, 본 명세서에 기술된 주제 및 기능적 동작들의 구현예들은 다른 유형의 디지털 전자 회로, 또는 본 명세서에 개시된 구조들 및 그 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들의 하나 이상의 조합에서 구현될 수 있다.
본 명세서에서는 시스템 및 컴퓨터 프로그램 구성 요소와 관련하여 "~구성된(configured)"이라는 용어를 사용한다. 하나 이상의 컴퓨터로 구성된 시스템이 특정 동작이나 작업을 수행하도록 구성된다는 것은, 동작시에 상기 시스템으로 하여금 동작이나 작업을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 시스템에 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 동작 또는 작업을 수행하도록 구성된다는 것은, 하나 이상의 프로그램이 명령들을 포함하고, 상기 명령들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작 또는 작업을 수행하게 함을 의미한다.
본 명세서에서 서술된 본 발명의 주제 및 기능적 동작들의 실시예들은 본 명세서에 개시된 구조들 및 이들의 구조적 균등물을 포함하여, 디지털 전자 회로, 유형적으로 구체화된 컴퓨터 소프트웨어 혹은 펌웨어, 컴퓨터 하드웨어, 또는 이들 중 하나 이상의 조합들에서 구현될 수 있다. 본 명세서에서 서술된 본 발명의 주제의 구현예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있는바 즉, 데이터 프로세싱 장치에 의해 실행되거나 데이터 프로세싱 장치의 동작을 제어하기 위해 유형의 비일시적 저장 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하도록 정보를 인코딩하기 위해 생성되는 인공적으로 생성된 전파 신호, 예를 들어 머신 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다.
"데이터 프로세싱 장치"라는 용어는 데이터를 프로세싱하는 하드웨어를 지칭하고, 일례로서 프로그램가능한 프로세서, 컴퓨터 또는 복수의 프로세서 또는 컴퓨터를 포함하여, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스, 머신을 포괄한다. 상기 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램가능 게이트 어레이) 또는 ASIC(주문형 집적회로)이거나 이를 추가로 포함할 수 있다. 선택적으로, 상기 장치는 하드웨어 이외에도, 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 어플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로도 언급 또는 설명될 수 있는 컴퓨터 프로그램은, 컴파일 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며 그리고 이것은 독립형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브 루틴 또는 기타 유닛을 포함하여 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부, 예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트, 해당 프로그램 전용의 단일 파일, 또는 예를 들어 복수의 조정된 파일들 예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드 부분을 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 "엔진"이라는 용어는 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브시스템 또는 프로세스를 지칭하기 위해 광범위하게 사용된다. 일반적으로 엔진은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 설치된 하나 이상의 소프트웨어 모듈 또는 구성 요소로 구현된다. 어떤 경우에는 하나 이상의 컴퓨터들은 특정 엔진 전용일 수 있으며, 다른 경우에는 여러 엔진이 동일한 컴퓨터 또는 컴퓨터들에 설치되어 실행될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능들을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 FPGA 또는 ASIC과 같은 특수 목적 논리 회로 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 범용 또는 특수 목적 마이크로프로세서 또는 이들 둘 다에 기반하거나, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기반할 수 있다. 일반적으로, 중앙 처리 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 둘다로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령을 수행하거나 실행하기 위한 중앙 프로세싱 유닛과 데이터 및 명령을 저장하기 위한 하나 이상의 메모리 디바이스이다. 중앙 프로세싱 디바이스와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다. 일반적으로, 컴퓨터는 또한 예를 들어 자기, 자기-광 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 데이터를 전송하기 위해 상기 대용량 저장 디바이스를 포함하거나 이에 동작가능하게 연결될 것이다. 그러나 컴퓨터는 이러한 디바이스를 반드시 필요로 하는 것은 아니다. 또한, 컴퓨터는 다른 디바이스, 예를 들어 이동 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 디바이스 예를 들어 USB(범용 직렬 버스) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함하며, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 예를 들어, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 자기-광 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 서술된 구현예들은 컴퓨터에서 구현될 수 있으며, 이러한 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 예컨대, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 등의 디스플레이 디바이스와 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스, 트랙볼 등의 키보드 및 포인팅 디바이스를 갖는다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각적 피드백, 청각 피드백 또는 촉각 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서를 전송하고 디바이스로부터 문서를 수신함으로써 사용자와 상호작용할 수 있다(예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 웹 페이지를 사용자 디바이스의 웹 브라우저에 전송함으로써). 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 개인 디바이스(예: 메시징 어플리케이션을 실행하는 스마트폰)에 보내고 사용자로부터 응답 메시지를 수신하여 사용자와 상호작용할 수 있다.
머신 러닝 모델을 구현하기 위한 데이터 프로세싱 장치는 또한 예를 들어, 머신 러닝 트레이닝 또는 생산, 즉 추론, 워크로드의 공통 및 컴퓨팅 집약적 부분을 프로세싱하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
머신 러닝 모델은 머신 러닝 프레임워크, 예를 들어 TensorFlow 프레임워크, Microsoft Cognitive Toolkit 프레임워크, Apache Singa 프레임워크 또는 Apache MXNet 프레임워크를 사용하여 구현 및 배포될 수 있다.
본 명세서에 서술된 본 발명의 구현예들은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 컴포넌트(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 컴포넌트(예컨대, 어플리케이션 서버)를 포함하거나, 또는 프론트 엔드 컴포넌트(예컨대, 본 명세서에 서술된 구현예들과 사용자가 상호작용할 수 있는 그래픽 사용자 인터페이스, 웹 브라우저, 또는 앱을 갖는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함할 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)에 의하여 상호연결될 수 있다. 통신 네트워크의 일례는, 근거리 통신망(LAN), 광대역 통신망(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통신 네트워크를 통해 상호작용하는 것이 통상적이다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕택으로 발생한다. 일부 구현예들에서, 서버는 예컨대, 클라이언트로서 작용하는 사용자 디바이스와 상호작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위해, HTML 페이지 등과 같은 데이터를 사용자 디바이스에 전송한다. 사용자 디바이스에서 생성된 데이터, 예를 들어, 사용자 상호 작용의 결과는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 소정 실시예에 특정될 수 있는 피처들에 대한 설명으로 이해되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명되는 특정한 피처는 또한 하나의 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명되는 여러 가지 피처들은 또한 별도로 또는 임의의 적합한 하위 조합으로 여러 실시예로 구현될 수 있다. 더욱이, 비록 피처들이 소정 조합들에서 작용하는 것으로 앞서 서술될 수도 있고 심지어 처음에는 그러한 것으로서 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 피처들은 어떤 경우에는 상기 조합으로부터 제거될 수 있고, 청구된 조합은 부분 조합 또는 부분 조합의 변형에 관한 것일 수도 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 서술된 결과를 성취하기 위해서 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 모든 예시된 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 통합되거나 또는 여러 소프트웨어 제품에 패키지로 제공될 수 있다.
본 발명의 주제에 대한 특정 실시예가 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에서 열거된 동작은 논리와 일치하는 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 일부 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지 않는다. 경우에 따라, 멀티 태스킹 및 병렬 처리가 유리할 수도 있다.

Claims (20)

  1. 하나 이상의 데이터 프로세싱 장치에 의해 수행되는 방법으로서,
    문서의 이미지를 검출 모델에 제공하는 단계:
    검출 모델은 이미지에 대해 생성된 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 복수의 검출 모델 파라미터들의 값들에 따라 이미지를 프로세싱하도록 구성되고;
    이미지에 대해 생성된 각각의 바운딩 박스는 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되며, 키 텍스트 데이터는 값 텍스트 데이터를 특징짓는 라벨을 정의하고; 그리고
    이미지에 대해 생성된 하나 이상의 바운딩 박스들 각각에 대해:
    광학 문자 인식 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별하는 단계;
    바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계; 그리고
    바운딩 박스로 둘러싸인 텍스트 데이터가 키-값 쌍을 정의한다고 결정함에 응답하여, 상기 문서를 특징화하는데 사용되는 키-값 쌍을 제공하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 검출 모델은 신경망 모델인 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 신경망 모델은 컨볼루션 신경망을 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 신경망 모델은 트레이닝 예제들의 세트에 대해 트레이닝되고, 각각의 트레이닝 예제는 트레이닝 입력 및 타겟 출력을 포함하고, 상기 트레이닝 입력은 트레이닝 문서의 트레이닝 이미지를 포함하고, 상기 타겟 출력은 각각의 키-값 쌍을 둘러싸는 트레이닝 이미지의 하나 이상의 바운딩 박스들을 정의하는 데이터를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 문서는 인보이스(invoice)인 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 문서의 이미지를 검출 모델에 제공하는 단계는,
    문서의 특정 클래스를 식별하는 단계; 및
    상기 특정 클래스의 문서를 프로세싱하도록 트레이닝된 검출 모델에 상기 문서의 이미지를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 단계는,
    미리 결정된 유효 키들의 세트로부터의 키를, 상기 바운딩 박스에 의해 둘러싸인 텍스트 데이터가 포함하는지를 결정하는 단계;
    상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 부분의 유형을 식별하는 단계;
    상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계; 및
    상기 키를 포함하지 않는 바운딩 박스에 의해 둘러싸인 텍스트 데이터의 상기 부분의 유형이, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 포함되는지를 결정하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트를 식별하는 단계는,
    미리 결정된 매핑을 사용하여, 상기 키에 대응하는 값들에 대한 하나 이상의 유효 유형들의 세트에 상기 키를 매핑하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    유효 키들의 세트 및 키들에 대응하는 값들에 대한 유효 유형들의 대응 세트들로 키를 매핑하는 것은 사용자에 의해 제공되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 바운딩 박스는 직사각형 형상을 갖는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    사용자로부터 문서를 수신하는 단계; 및
    문서를 이미지로 변환하는 단계를 더 포함하며, 상기 이미지는 문서를 묘사하는 것을 특징으로 하는 방법.
  12. 시스템으로서,
    하나 이상의 컴퓨터들; 및
    하나 이상의 컴퓨터들에 통신가능하게 연결된 하나 이상의 저장 디바이스들을 포함하고,
    하나 이상의 저장 디바이스들은 하나 이상의 컴퓨터들에 의해 실행될 때 하나 이상의 컴퓨터들로 하여금, 동작들을 수행하게 하는 명령들을 저장하며, 상기 동작들은,
    문서의 이미지를 검출 모델에 제공하는 동작:
    검출 모델은 이미지에 대해 생성된 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 복수의 검출 모델 파라미터들의 값들에 따라 이미지를 프로세싱하도록 구성되고;
    이미지에 대해 생성된 각각의 바운딩 박스는 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되며, 키 텍스트 데이터는 값 텍스트 데이터를 특징짓는 라벨을 정의하고; 그리고
    이미지에 대해 생성된 하나 이상의 바운딩 박스들 각각에 대해:
    광학 문자 인식 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별하는 동작;
    바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 동작; 그리고
    바운딩 박스로 둘러싸인 텍스트 데이터가 키-값 쌍을 정의한다고 결정함에 응답하여, 상기 문서를 특징화하는데 사용되는 키-값 쌍을 제공하는 동작
    을 포함하는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    상기 검출 모델은 신경망 모델인 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 신경망 모델은 컨볼루션 신경망을 포함하는 것을 특징으로 하는 시스템.
  15. 제13항에 있어서,
    상기 신경망 모델은 트레이닝 예제들의 세트에 대해 트레이닝되고, 각각의 트레이닝 예제는 트레이닝 입력 및 타겟 출력을 포함하고, 상기 트레이닝 입력은 트레이닝 문서의 트레이닝 이미지를 포함하고, 상기 타겟 출력은 각각의 키-값 쌍을 둘러싸는 트레이닝 이미지의 하나 이상의 바운딩 박스들을 정의하는 데이터를 포함하는 것을 특징으로 하는 시스템.
  16. 제12항에 있어서,
    상기 문서는 인보이스인 것을 특징으로 하는 시스템.
  17. 명령들을 저장하는 하나 이상의 비일시적 컴퓨터 저장 매체로서, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    문서의 이미지를 검출 모델에 제공하는 동작:
    검출 모델은 이미지에 대해 생성된 하나 이상의 바운딩 박스들을 정의하는 출력을 생성하기 위해 복수의 검출 모델 파라미터들의 값들에 따라 이미지를 프로세싱하도록 구성되고;
    이미지에 대해 생성된 각각의 바운딩 박스는 키 텍스트 데이터 및 값 텍스트 데이터를 포함하는 키-값 쌍을 둘러쌀 것으로 예측되며, 키 텍스트 데이터는 값 텍스트 데이터를 특징짓는 라벨을 정의하고; 그리고
    이미지에 대해 생성된 하나 이상의 바운딩 박스들 각각에 대해:
    광학 문자 인식 기술을 사용하여 바운딩 박스로 둘러싸인 텍스트 데이터를 식별하는 동작;
    바운딩 박스에 의해 둘러싸인 텍스트 데이터가 키-값 쌍을 정의하는지 여부를 결정하는 동작; 그리고
    바운딩 박스로 둘러싸인 텍스트 데이터가 키-값 쌍을 정의한다고 결정함에 응답하여, 상기 문서를 특징화하는데 사용되는 키-값 쌍을 제공하는 동작
    을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  18. 제17항에 있어서,
    상기 검출 모델은 신경망 모델인 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  19. 제18항에 있어서,
    상기 신경망 모델은 컨볼루션 신경망을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  20. 제18항에 있어서,
    상기 신경망 모델은 트레이닝 예제들의 세트에 대해 트레이닝되고, 각각의 트레이닝 예제는 트레이닝 입력 및 타겟 출력을 포함하고, 상기 트레이닝 입력은 트레이닝 문서의 트레이닝 이미지를 포함하고, 상기 타겟 출력은 각각의 키-값 쌍을 둘러싸는 트레이닝 이미지의 하나 이상의 바운딩 박스들을 정의하는 데이터를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
KR1020217030913A 2019-02-27 2020-02-26 문서들에서 키-값 쌍들의 식별 KR20210130790A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962811331P 2019-02-27 2019-02-27
US62/811,331 2019-02-27
PCT/US2020/019839 WO2020176588A1 (en) 2019-02-27 2020-02-26 Identifying key-value pairs in documents

Publications (1)

Publication Number Publication Date
KR20210130790A true KR20210130790A (ko) 2021-11-01

Family

ID=69846622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217030913A KR20210130790A (ko) 2019-02-27 2020-02-26 문서들에서 키-값 쌍들의 식별

Country Status (5)

Country Link
US (2) US11288719B2 (ko)
EP (1) EP3908971A1 (ko)
KR (1) KR20210130790A (ko)
CN (1) CN114072857A (ko)
WO (1) WO2020176588A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3908971A1 (en) * 2019-02-27 2021-11-17 Google LLC Identifying key-value pairs in documents
US11914962B2 (en) * 2019-09-12 2024-02-27 Oracle International Corporation Reduced training intent recognition techniques
US11450126B1 (en) * 2020-03-30 2022-09-20 Coupa Software Incorporated Systems and methods for automatically extracting canonical data from electronic documents
US12111646B2 (en) 2020-08-03 2024-10-08 Automation Anywhere, Inc. Robotic process automation with resilient playback of recordings
US20220108107A1 (en) * 2020-10-05 2022-04-07 Automation Anywhere, Inc. Method and system for extraction of table data from documents for robotic process automation
CN112434555B (zh) * 2020-10-16 2024-04-09 泰康保险集团股份有限公司 键值对区域识别方法、装置、存储介质和电子设备
JP2022095391A (ja) * 2020-12-16 2022-06-28 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
KR102390000B1 (ko) * 2021-04-08 2022-04-22 한밭대학교 산학협력단 문서 이미지 내 텍스트 추출 서비스 시스템 및 방법
CN113407745B (zh) * 2021-06-30 2024-09-20 北京百度网讯科技有限公司 数据标注方法、装置、电子设备及计算机可读存储介质
US12097622B2 (en) 2021-07-29 2024-09-24 Automation Anywhere, Inc. Repeating pattern detection within usage recordings of robotic process automation to facilitate representation thereof
US11830267B2 (en) * 2021-08-27 2023-11-28 Optum, Inc. Techniques for digital document analysis using document image fingerprinting
US11861780B2 (en) * 2021-11-17 2024-01-02 International Business Machines Corporation Point cloud data management using key value pairs for class based rasterized layers
US20240311348A1 (en) * 2023-03-16 2024-09-19 Microsoft Technology Licensing, Llc Guiding a Generative Model to Create and Interact with a Data Structure

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483701B1 (en) * 2011-11-17 2016-11-01 Google Inc. System and method for using segmentation to identify object location in images
US8750617B2 (en) * 2012-03-09 2014-06-10 Blackberry Limited Signature representation of data having high dimensionality
US10049096B2 (en) * 2015-06-19 2018-08-14 Infosys Limited System and method of template creation for a data extraction tool
CA2963113A1 (en) * 2016-03-31 2017-09-30 Confirm, Inc. Storing identification data as virtual personally identifiable information
US10013643B2 (en) * 2016-07-26 2018-07-03 Intuit Inc. Performing optical character recognition using spatial information of regions within a structured document
US10521477B1 (en) * 2016-09-28 2019-12-31 Amazon Technologies, Inc. Optimized location identification
CN107480681A (zh) * 2017-08-02 2017-12-15 四川长虹电器股份有限公司 基于深度学习的高并发票据识别系统与方法
US10628668B2 (en) * 2017-08-09 2020-04-21 Open Text Sa Ulc Systems and methods for generating and using semantic images in deep learning for classification and data extraction
US10963686B2 (en) * 2017-12-01 2021-03-30 International Business Machines Corporation Semantic normalization in document digitization
US10896357B1 (en) * 2017-12-29 2021-01-19 Automation Anywhere, Inc. Automatic key/value pair extraction from document images using deep learning
US10853638B2 (en) * 2018-08-31 2020-12-01 Accenture Global Solutions Limited System and method for extracting structured information from image documents
US10872236B1 (en) * 2018-09-28 2020-12-22 Amazon Technologies, Inc. Layout-agnostic clustering-based classification of document keys and values
EP3908971A1 (en) * 2019-02-27 2021-11-17 Google LLC Identifying key-value pairs in documents

Also Published As

Publication number Publication date
US11288719B2 (en) 2022-03-29
WO2020176588A1 (en) 2020-09-03
US11816710B2 (en) 2023-11-14
EP3908971A1 (en) 2021-11-17
US20220309549A1 (en) 2022-09-29
CN114072857A (zh) 2022-02-18
US20200273078A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
KR20210130790A (ko) 문서들에서 키-값 쌍들의 식별
US10572725B1 (en) Form image field extraction
CN114821622B (zh) 文本抽取方法、文本抽取模型训练方法、装置及设备
KR102275413B1 (ko) 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법
CN111797886B (zh) 通过解析pdl文件为神经网络生成ocr用训练数据
US20200004815A1 (en) Text entity detection and recognition from images
AU2019419891B2 (en) System and method for spatial encoding and feature generators for enhancing information extraction
KR101549792B1 (ko) 문서 자동 작성 장치 및 방법
JP2023547010A (ja) 知識の蒸留に基づくモデルトレーニング方法、装置、電子機器
CN114429637B (zh) 一种文档分类方法、装置、设备及存储介质
JP2022088602A (ja) テーブル生成方法、装置、電子機器、記憶媒体及びプログラム
WO2023093014A1 (zh) 一种票据识别方法、装置、设备以及存储介质
CN116797195A (zh) 工单处理方法、装置、计算机设备和计算机可读存储介质
CN114399782B (zh) 文本图像处理方法、装置、设备、存储介质及程序产品
CN113627350B (zh) 一种表格检测方法、装置、设备以及存储介质
CN111881778B (zh) 文本检测的方法、装置、设备和计算机可读介质
CN114661904A (zh) 文档处理模型的训练方法、装置、设备、存储介质及程序
CN110516717B (zh) 用于生成图像识别模型的方法和装置
CN113011410A (zh) 字符识别模型的训练方法、字符识别方法及装置
CN115497112B (zh) 表单识别方法、装置、设备以及存储介质
CN113239224B (zh) 异常文档识别方法、装置、设备和存储介质
US20240338958A1 (en) Synthetic data fine-tuned optical character recognition engine for extensible markup language document reconstruction
CN111373416B (zh) 通过离散神经网络输入来增强神经网络的安全性
US20240153299A1 (en) System and method for automated document analysis
CN114821597A (zh) 文本识别的方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application