KR20230121637A - 양식 추출기 - Google Patents

양식 추출기 Download PDF

Info

Publication number
KR20230121637A
KR20230121637A KR1020217042292A KR20217042292A KR20230121637A KR 20230121637 A KR20230121637 A KR 20230121637A KR 1020217042292 A KR1020217042292 A KR 1020217042292A KR 20217042292 A KR20217042292 A KR 20217042292A KR 20230121637 A KR20230121637 A KR 20230121637A
Authority
KR
South Korea
Prior art keywords
document
data extraction
classification
document processing
performing data
Prior art date
Application number
KR1020217042292A
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 KR20230121637A publication Critical patent/KR20230121637A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 시스템 및 방법은 일반적으로 로봇 프로세스 자동화의 분야, 특히 문서 프로세싱을 위한 양식 데이터 추출기에 관한 것이다. 시스템 및 방법은 상이한 문서 유형들에 대해 용이하게 구성될 수 있는 RPA 작업흐름들을 이용하는 문서 프로세싱용 양식 추출기에 관한 것이다. 양식 추출기는 문서 유형(분류)을 식별하고 문서들로부터 데이터를 추출하기 위한 템플릿들의 세트를 포함한다. 템플릿들은 즉, 사용자에 의해, 추출될 필드들 및 문서 상의 필드의 위치를 정의함으로써 구성될 수 있다. 양식 추출기는 페이지 상의 템플릿의 위치에서의 변화들뿐만 아니라, 스캔 회전, 크기, 품질, 스큐 각도 변형들 및 파일 포맷들에 탄력적이므로, RPA 프로세스들로 하여금, 수집을 필요로 하는 문서들로부터 데이터를, 이들이 생성되는 방법에 관계없이, 추출가능하게 한다.

Description

양식 추출기
관련 출원들에 대한 상호참조
본 출원은 2020년 12월 31일자에 출원된 미국 출원번호 제17/139,408호의 이익을 주장하며; 이의 내용들이 본원에 참조로 포함된다.
문서들로부터 데이터를 추출하는 것에 연관된 기술은 사용자가 문서 내 필드들을 식별하여 데이터를 수동으로 추출하는 것을 필요로 한다. 유사한 문서들로부터 데이터를 추출하는 것은 반복적인 작업이며 특히 수동으로 수행되는 경우 종종 시간과 기술의 낭비를 초래한다. 기계 학습 및 규칙-기반 구성들과 같은 상이한 알고리즘 기법들을 이용하여 문서들로부터의 데이터 추출을 구성하기 위한 툴들이 생성되었다.
본 시스템 및 방법은 일반적으로 로봇 프로세스 자동화의 분야, 특히 문서 프로세싱을 위한 양식 데이터 추출기에 관한 것이다. 본 시스템 및 방법은 상이한 문서 유형들에 대해 용이하게 구성될 수 있는 RPA 작업흐름들을 이용하는 문서 프로세싱용 양식 추출기에 관한 것이다. 양식 추출기는 문서 유형(분류)을 식별하고 문서들로부터 데이터를 추출하기 위한 템플릿들의 세트를 포함한다. 템플릿들은 즉, 사용자에 의해, 추출될 필드들 및 문서 상의 필드의 위치를 정의함으로써 구성될 수 있다. 양식 추출기는 페이지 상의 템플릿의 위치에서의 변화들 뿐만 아니라, 스캔 회전, 크기, 품질, 스큐 각도 변화들 및 파일 포맷들에 탄력적이므로, RPA 프로세스들로 하여금, 수집을 필요로 하는 문서들로부터 데이터를, 이들이 생성되는 방법에 관계없이, 추출가능하게 한다.
첨부 도면들과 함께 일 예로서 주어진 다음 설명으로부터 좀더 상세한 이해가 이루어질 수도 있으며, 도면들 중 유사한 도면부호들은 동일한 엘리먼트들을 나타낸다.
도 1a는 로봇 프로세스 자동화(RPA) 개발, 설계, 동작, 또는 실행의 예시이다.
도 1b는 RPA 개발, 설계, 동작, 또는 실행의 다른 예시이다.
도 1c는 컴퓨팅 시스템 또는 환경의 예시이다.
도 2는 문서 범주 분류 작업흐름(classify document scope workflow) 및 데이터 범주 추출 작업흐름(data extraction scope workflow)을 예시하는 스크린샷이다.
도 3은 일 실시형태에 따른 분류 관리기를 예시하는 스크린샷이다.
도 4는 일 실시형태에 따른, 문서 유형들에 대한 템플릿들을 관리하는 템플릿 관리기를 예시하는 스크린샷이다.
도 5는 W-9 양식 템플릿에 대한 일 실시형태에 따른, 특정의 문서 유형에 대한 템플릿들을 관리하는 템플릿 관리기를 예시하는 스크린샷이다.
도 6은 검증 윈도우의 스크린샷이다.
도 7은 본 발명의 일 실시형태에 따른, RPA에 대한 문서 프로세싱 프레임워크를 구현하는 방법을 예시하는 플로우차트이다.
본원에서 설명되는 방법들 및 프로세스들의 경우, 인용된 단계들이 비순차적으로 임의의 순서로 수행될 수도 있으며, 명시적으로 설명되거나 또는 도시되지 않은 하위 단계들이 수행될 수도 있다. 게다가, "커플링된" 또는 "동작가능하게 커플링된"은 오브젝트들이 연결되어 있지만 연결된 오브젝트들 사이에 0개 이상의 중간 오브젝트들을 가질 수도 있음을 의미할 수도 있다. 또한, 개시된 특징들/엘리먼트들의 임의의 조합이 하나 이상의 실시형태들에서 사용될 수도 있다. "A 또는 B"를 참조하여 사용할 때, A, B, 또는 A 및 B를 포함할 수도 있으며, 이는 더 긴 리스트들로 유사하게 확장될 수도 있다. 표기 X/Y를 사용할 때, X 또는 Y를 포함할 수도 있다. 대안적으로, 표기 X/Y를 사용할 때, X 및 Y를 포함할 수도 있다. X/Y 표기는 동일한 설명된 로직을 이용하여 더 긴 리스트들로 유사하게 확장될 수도 있다.
본 시스템 및 방법은 일반적으로 로봇 프로세스 자동화의 분야, 특히 문서 프로세싱을 위한 양식 데이터 추출기에 관한 것이다. 시스템 및 방법은 상이한 문서 유형들에 대해 용이하게 구성될 수 있는 RPA 작업흐름들을 이용하는 문서 프로세싱용 양식 추출기에 관한 것이다. 양식-기반 추출기는 문서 유형(분류)을 식별하고 문서들로부터 데이터를 추출하기 위한 템플릿들의 세트를 포함한다. 템플릿들은 즉, 사용자에 의해, 추출될 필드들 및 문서 상의 필드의 위치를 정의함으로써 구성될 수 있다.
도 1a는 로봇 프로세스 자동화(RPA) 개발, 설계, 동작, 또는 실행(100)의 예시이다. 스튜디오, 개발 플랫폼, 개발 환경, 또는 기타 등등으로서 종종 지칭되는 디자이너(102)는 로봇이 하나 이상의 작업흐름들을 수행하거나 또는 자동화하기 위한 코드, 명령들, 지령들, 또는 기타 등등을 발생시키도록 구성될 수도 있다. 컴퓨팅 시스템이 로봇에 제공할 수도 있는 선택(들)으로부터, 로봇은 사용자 또는 조작자에 의해 선택된 시각적 디스플레이의 영역(들)의 대표적인 데이터를 결정할 수도 있다. RPA의 부분으로서, 다차원들에서 정사각형들, 직사각형들, 원들, 다각형들, 자유형, 또는 기타 등등과 같은 형상들이 컴퓨터 비전(CV) 동작 또는 기계 학습(ML) 모델과 관련하여 UI 로봇 개발 및 런타임에 이용될 수도 있다.
작업흐름에 의해 달성될 수도 있는 동작들의 비제한적인 예들은 로그인 수행, 양식 작성, 정보 기술(IT) 관리, 또는 기타 등등 중 하나 이상일 수도 있다. UI 자동화를 위한 작업흐름을 실행하기 위해, 로봇은 애플리케이션 액세스 또는 애플리케이션 개발에 관계없이, 버튼들, 체크박스들, 텍스트 필드들, 라벨들, 등과 같은 특정의 스크린 엘리먼트들을 고유하게 식별해야 할 수도 있다. 애플리케이션 액세스의 예들은 로컬, 가상, 원격, 클라우드, Citrix®, VMWare®, VNC®, Windows® 원격 데스크탑, 가상 데스크탑 기반구조(VDI), 또는 기타 등등일 수도 있다. 애플리케이션 개발의 예들은 win32, 자바, 플래시, 하이퍼텍스트 마크업 언어(HTML), HTML5, 확장 마크업 언어(XML), 자바스크립트, C#, C++, Silverlight, 또는 기타 등등일 수도 있다.
작업흐름은 작업 시퀀스들, 플로우차트들, 유한 상태 머신들(FSMs), 전역 예외 핸들러들, 또는 기타 등등을 포함할 수도 있지만, 이에 제한되지 않는다. 작업 시퀀스들은 하나 이상의 애플리케이션들 또는 윈도우들 사이의 선형 작업들을 처리하는 선형 프로세스들일 수도 있다. 플로우차트들은 복잡한 비즈니스 로직을 처리하여, 다수의 분기 논리 연산자들을 통해서 더 다양한 방식으로 결정들의 통합 및 활동들의 연결을 가능하게 하도록 구성될 수도 있다. FSM들은 큰 작업흐름들에 대해 구성될 수도 있다. FSM들은 조건, 전이, 활동, 또는 기타 등등에 의해 트리거될 수도 있는 유한한 개수의 상태들을 이들의 실행에 사용될 수도 있다. 전역 예외 핸들러들은 디버깅 프로세스들, 또는 기타 등등에 대해 실행 오류가 발생할 때 작업흐름 동작을 결정하도록 구성될 수도 있다.
로봇은 기본 운영 체제(OS) 또는 하드웨어에 투명한 UI를 자동화할 수도 있는, 애플리케이션, 애플릿, 스크립트, 또는 기타 등등일 수도 있다. 배치 시에, 하나 이상의 로봇들은 오케스트레이터(orchestrator)로서 종종 지칭되는, 컨덕터(104)에 의해 관리되거나, 제어되거나, 또는 기타 등등일 수도 있다. 컨덕터(104)는 메인프레임, 웹, 가상 머신, 원격 머신, 가상 데스크탑, 엔터프라이즈 플랫폼, 데스크탑 앱(들), 브라우저, 또는 유사한 클라이언트, 애플리케이션, 또는 프로그램에서 작업흐름을 실행하거나 또는 모니터링하도록 로봇(들) 또는 자동화 실행기(106)에게 명령하거나 또는 지령할 수도 있다. 컨덕터(104)는 컴퓨팅 플랫폼을 자동화하도록 복수의 로봇들에게 명령 또는 지령하기 위한 중앙 또는 반-중앙 지점으로서 작용할 수도 있다.
특정의 구성들에서, 컨덕터(104)는 프로비져닝, 배치, 구성, 큐잉, 모니터링, 로깅, 및/또는 상호접속성을 제공하도록 구성될 수도 있다. 프로비져닝은 로봇(들) 또는 자동화 실행기(106)와 컨덕터(104) 사이의 접속들 또는 통신의 생성 및 유지관리를 포함할 수도 있다. 배치는 실행을 위해 할당된 로봇들로의 패키지 버전들의 전달을 보장하는 것을 포함할 수도 있다. 구성은 로봇 환경들 및 프로세스 구성들의 유지관리 및 전달을 포함할 수도 있다. 큐잉은 큐들 및 큐 아이템들의 관리를 제공하는 것을 포함할 수도 있다. 모니터링은 로봇 식별 데이터를 추적하고 사용자 권한들을 유지하는 것을 포함할 수도 있다. 로깅은 데이터베이스(예컨대, SQL 데이터베이스) 및/또는 다른 스토리지 메커니즘(예컨대, 대용량 데이터셋들을 저장하고 빨리 쿼리하는 능력을 제공하는 ElasticSearch®)에 대한 로그들을 저장 및 인덱싱하는 것을 포함할 수도 있다. 컨덕터(104)는 제3 자 솔루션들 및/또는 애플리케이션들에 대한 통신의 중앙집중화된 지점으로서 작용함으로써 상호접속성을 제공할 수도 있다.
로봇(들) 또는 자동화 실행기(106)는 무인(108) 또는 유인(110)으로서 구성될 수도 있다. 무인(108) 동작들의 경우, 자동화는 제3 자 입력들 또는 제어 없이 수행될 수도 있다. 유인(110) 동작의 경우, 자동화는 제3 자 컴포넌트로부터 입력, 지령들, 명령들, 안내, 또는 기타 등등을 수신함으로써 수행될 수도 있다. 무인(108) 또는 유인(110) 로봇들은 모바일 컴퓨팅 또는 모바일 디바이스 환경들 상에서 수행 또는 실행할 수도 있다.
로봇(들) 또는 자동화 실행기(106)는 디자이너(102)내에 구축된 작업흐름들을 실행하는 실행 에이전트들일 수도 있다. UI 또는 소프트웨어 자동화를 위한 로봇(들)의 상업적 예는 UiPath Robots™이다. 일부 실시형태들에서, 로봇(들) 또는 자동화 실행기(106)는 Microsoft Windows® 서비스 제어 관리기(SCM)-관리 서비스를 디폴트로 설치할 수도 있다. 그 결과, 이러한 로봇들은 로컬 시스템 계정에서 대화형 Windows® 세션들을 열 수 있으며, Windows® 서비스의 권한들을 갖는다.
일부 실시형태들에서, 로봇(들) 또는 자동화 실행기(106)는 사용자 모드에서 설치될 수도 있다. 이들 로봇들은 주어진 로봇이 설치되는 사용자와 동일한 권한들을 가질 수도 있다. 이 특징은 또한 고밀도(HD) 로봇들에 이용가능할 수도 있으며, 이는 예컨대, HD 환경에서 최대 성능으로 각각의 기계의 완전한 이용을 보장한다.
특정의 구성들에서, 로봇(들) 또는 자동화 실행기(106)는 특정의 자동화 작업 또는 활동을 각각 담당하는 여러 컴포넌트들로 분할되거나, 분산되거나, 또는 기타 등등일 수도 있다. 로봇 컴포넌트들은 SCM-관리 로봇 서비스들, 사용자 모드 로봇 서비스들, 실행기들, 에이전트들, 지령 라인, 또는 기타 등등을 포함할 수도 있다. SCM-관리 로봇 서비스들은 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(104)와 실행 호스트들(즉, 로봇(들) 또는 자동화 실행기(106)가 실행되는 컴퓨팅 시스템들) 사이에 프록시로서 작용할 수도 있다. 이들 서비스들은 로봇(들) 또는 자동화 실행기(106)에 대한 증명서들을 신뢰하고 관리할 수도 있다.
사용자 모드 로봇 서비스들은 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(104)와 실행 호스트들 사이에 프록시로서 작용할 수도 있다. 사용자 모드 로봇 서비스들은 로봇들에 대한 증명서들을 신뢰하고 관리할 수도 있다. Windows® 애플리케이션은 SCM-관리 로봇 서비스가 설치되지 않으면 자동으로 시작될 수도 있다.
실행기들은 Windows® 세션 하에서 주어진 작업들을 실행할 수도 있다(즉, 이들이 작업흐름들을 실행할 수도 있다). 실행기들은 모니터 당 DPI(dots per inch) 설정들을 알고 있을 수도 있다. 에이전트들은 시스템 트레이 윈도우에서 가용 작업들을 디스플레이하는 Windows® 프리젠테이션 파운데이션(WPF) 애플리케이션들일 수도 있다. 에이전트들은 서비스의 클라이언트일 수도 있다. 에이전트들은 작업들을 시작 또는 중지하고 설정들을 변경하도록 요청할 수도 있다. 지령 라인은 서비스의 클라이언트일 수도 있다. 지령 라인은 작업들을 시작하고 이들의 출력을 대기하도록 요청할 수 있는 콘솔 애플리케이션이다.
로봇(들) 또는 자동화 실행기(106)의 컴포넌트들이 위에서 설명된 대로 분할되는 구성들에서, 개발자들, 지원 사용자들, 및 컴퓨팅 시스템들이 각각의 컴포넌트에 의한 실행을 보다 쉽게 실행, 식별 및 추적하는 것을 돕는다. 실행기 및 서비스에 대해 상이한 방화벽 규칙들을 설정하는 것과 같은, 특수 동작들은 이 방법으로 컴포넌트별로 구성될 수도 있다. 실행기는 일부 실시형태들에서 모니터 당 DPI 설정들을 알고 있을 수도 있다. 그 결과, 작업흐름들은 이들이 생성된 컴퓨팅 시스템의 구성에 관계없이, 임의의 DPI에서 실행될 수도 있다. 디자이너(102)로부터의 프로젝트들은 또한 브라우저 줌 레벨에 독립적일 수도 있다. DPI-비인식이거나 또는 비인식으로서 의도적으로 표시되는 애플리케이션들의 경우, DPI는 일부 실시형태들에서 비활성화될 수도 있다.
도 1b는 RPA 개발, 설계, 동작, 또는 실행(120)의 다른 예시이다. 스튜디오 컴포넌트 또는 모듈(122)은 로봇이 하나 이상의 활동들(124)을 수행하기 위한 코드, 명령들, 지령들, 또는 기타 등등을 발생시키도록 구성될 수도 있다. 사용자 인터페이스(UI) 자동화(126)는 하나 이상의 드라이버(들) 컴포넌트들(128)을 이용하여 클라이언트 상의 로봇에 의해 수행될 수도 있다. 로봇은 컴퓨터 비전(CV) 활동 모듈 또는 엔진(130)을 이용하여 활동들을 수행할 수도 있다. 다른 드라이버들(132)은 UI의 엘리먼트들을 얻기 위해 로봇에 의해 UI 자동화에 이용될 수도 있다. 이들은 OS 드라이버들, 브라우저 드라이버들, 가상 머신 드라이버들, 엔터프라이즈 드라이버들, 또는 기타 등등을 포함할 수도 있다. 특정의 구성들에서, CV 활동 모듈 또는 엔진(130)은 UI 자동화에 사용되는 드라이버일 수도 있다.
도 1c는 버스(142) 또는 정보 또는 데이터를 통신하기 위한 다른 통신 메커니즘, 및 프로세싱을 위해 버스(142)에 커플링된 하나 이상의 프로세서(들)(144)를 포함할 수도 있는 컴퓨팅 시스템 또는 환경(140)의 예시이다. 하나 이상의 프로세서(들)(144)는 중앙 처리 유닛(CPU), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA), 그래픽 프로세싱 유닛(GPU), 제어기, 멀티-코어 프로세싱 유닛, 3차원 프로세서, 양자 컴퓨팅 디바이스, 또는 이들의 임의의 조합을 포함하는, 임의 종류의 범용 또는 특정 목적 프로세서일 수도 있다. 하나 이상의 프로세서(들)(144)는 또한 다중 프로세싱 코어들을 가질 수도 있으며, 코어들 중 적어도 일부는 특정의 기능들을 수행하도록 구성될 수도 있다. 멀티-병렬 프로세싱이 또한 구성될 수도 있다. 게다가, 적어도 하나 이상의 프로세서(들)(144)는 생물학적 뉴런들을 모방하는 프로세싱 엘리먼트들을 포함하는 뉴로모픽(neuromorphic) 회로일 수도 있다.
메모리(146)는 프로세서(들)(144)에 의해 실행되거나 또는 프로세싱될 정보, 명령들, 지령들, 또는 데이터를 저장하도록 구성될 수도 있다. 메모리(146)는 랜덤 액세스 메모리(RAM), 판독전용 메모리(ROM), 플래시 메모리, 솔리드 스테이트 메모리, 캐시, 정적 스토리지, 예컨대 자기 또는 광 디스크의 임의의 조합, 또는 임의의 다른 유형들의 비-일시성 컴퓨터-판독가능 매체들 또는 이들의 조합들로 구성될 수도 있다. 비-일시성 컴퓨터-판독가능 매체들은 프로세서(들)(144)에 의해 액세스될 수 있는 임의의 매체들일 수도 있으며, 휘발성 매체들, 비-휘발성 매체들, 또는 기타 등등을 포함할 수도 있다. 매체들은 또한 착탈식, 비-착탈식, 또는 기타 등등일 수도 있다.
통신 디바이스(148)는 주파수 분할 다중접속(FDMA), 단일 캐리어 FDMA(SC-FDMA), 시분할 다중접속(TDMA), 코드분할 다중접속(CDMA), 직교 주파수-분할 멀티플렉싱(OFDM), 직교 주파수-분할 다중 접속(OFDMA), GSM(Global System for Mobile) 통신들, 일반 패킷 무선 서비스(GPRS), 범용 이동 통신 시스템(UMTS), cdma2000, 광대역 CDMA(W-CDMA), 고속 다운링크 패킷 액세스(HSDPA), 고속 업링크 패킷 액세스(HSUPA), 고속 패킷 액세스(HSPA), 롱텀 에볼류션(LTE), LTE 어드밴스트(LTE-A), 802.11x, Wi-Fi, Zigbee, 초-광대역(UWB), 802.16x, 802.15, 홈 노드-B(HnB), 블루투스, 무선 주파수 식별(RFID), 적외선 데이터 연관(IrDA), 근접 장 통신들(NFC), 5 세대(5G), NR(New Radio), 또는 하나 이상의 안테나들을 통한 통신을 위한 임의의 다른 무선 또는 유선 디바이스/트랜시버로서 구성될 수도 있다. 안테나들은 단일, 어레이, 위상, 스위칭, 빔형성, 빔조향, 또는 기타 등등일 수도 있다.
하나 이상의 프로세서(들)(144)는 버스(142)를 통해서, 플라즈마, 액정 디스플레이(LCD), 발광 다이오드(LED), 전계 방출 디스플레이(FED), 유기 발광 다이오드(OLED), 가요성 OLED, 가요성 기판 디스플레이들, 투영 디스플레이, 4K 디스플레이, 고선명(HD) 디스플레이, Retinaⓒ 디스플레이, 평면 정렬 스위칭(IPS) 또는 기타 등등 기반의 디스플레이와 같은, 디스플레이 디바이스(150)에 추가로 커플링될 수도 있다. 디스플레이 디바이스(150)는 입력/출력(I/O)에 대해 통상의 기술자에 의해 이해되는 바와 같이, 저항, 정전용량, 표면-음향 파(SAW) 정전용량, 적외선, 광학적 이미징, 분산 신호 기술, 음향 펄스 인식, 좌절된 내부 전반사, 또는 기타 등등을 이용하여 터치, 3차원(3D) 터치, 멀티-입력 터치, 또는 멀티-터치 디스플레이로서 구성될 수도 있다.
컴퓨터 마우스, 터치패드, 또는 기타 등등과 같은, 키보드(152) 및 제어 디바이스(154)는 컴퓨팅 시스템 또는 환경(140)에의 입력을 위해 버스(142)에 추가로 커플링될 수도 있다. 게다가, 입력이 컴퓨팅 시스템 또는 환경(140)에 그와 통신하는 다른 컴퓨팅 시스템을 통해서 원격으로 제공될 수도 있거나, 또는 컴퓨팅 시스템 또는 환경(140)은 자율적으로 동작할 수도 있다.
메모리(146)는 하나 이상의 프로세서(들)(144)에 의해 실행되거나 또는 프로세싱될 때 기능을 제공하는 소프트웨어 컴포넌트들, 모듈들, 엔진들, 또는 기타 등등을 제공할 수도 있다. 이는 컴퓨팅 시스템 또는 환경(140)용 OS(156)를 포함할 수도 있다. 모듈들은 애플리케이션 특정의 프로세스들 또는 이의 파생물들을 수행하는 커스텀 모듈(158)을 더 포함할 수도 있다. 컴퓨팅 시스템 또는 환경(140)은 추가적인 기능을 포함하는 하나 이상의 추가적인 기능 모듈들(160)을 포함할 수도 있다.
컴퓨팅 시스템 또는 환경(140)은 서버, 내장 컴퓨팅 시스템, 개인용 컴퓨터, 콘솔, 개인 휴대정보 단말기(PDA), 셀 폰, 태블릿 컴퓨팅 디바이스, 양자 컴퓨팅 디바이스, 클라우드 컴퓨팅 디바이스, 모바일 디바이스, 스마트폰, 고정 모바일 디바이스, 스마트 디스플레이, 착용식 컴퓨터, 또는 기타 등등으로서 적응되거나 또는 수행되도록 구성될 수도 있다.
본 시스템 및 방법은 RPA를 이용한 문서 프로세싱을 위한 양식 추출기를 제공한다. 추출기는 구성된 템플릿들의 세트를 이용한다. 이들 템플릿들은 예를 들어, 사용자에 의해 구성될 수도 있다. 문서가 시스템에 입력될 때, 시스템은 문서가 사전-정의된 템플릿에 매칭하는지 여부를 체크한다. 문서가 사전-정의된 템플릿들 중 하나와 매칭하면, 시스템은 문서를 분류한다. 분류 후, 시스템은 문서 내 필드들의 위치에 기초하여 문서로부터 정보를 추출하기 시작하고 추출된 정보를 사용자에게 디스플레이한다.
특정 실시형태들에서, 제공된 문서는 추출기와 동일한 템플릿을 갖는 분류기에 의해 분류될 수도 있다. 분류기는 문서의 디지털화된 버전을 이용한다. 분류는 문서에서 정확한 위치들이 주어지면, 예컨대, 템플릿에 정의된 키워드들을 검색함으로써, 템플릿 매칭에 의해 수행될 수도 있다. 분류기는 키워드들의 최상의 가능한 조합을 찾으려고 시도한다. 정의된 키워드가 문서에 여러 번 나타나면, 앵커들 및 단어들 사이의 거리를 이용하여 템플릿에 정의된 올바른 키워드를 찾을 수 있다. 분류기는 템플릿 매칭 프로세스 동안 스큐 앵커들, 위치, 페이지 크기, 등에 기초하여 변환 매트릭스를 계산할 수도 있다. 추출기는 이전에 계산된 변환 매트릭스 및 매칭 템플릿에 정의된 필드 위치들을 이용하여 데이터의 추출이 발생해야 하는 문서 내 정확한 위치들을 식별할 수도 있다. 추출기는 필드-레벨 위치 기반 알고리즘들과 같은 데이터 추출을 위한 대안적인 방법들을 이용하여, (1) 값이 발생할 것으로 예상되는 영역을 구체화하고, (2) 문서 또는 페이지 레벨에서 템플릿 매칭 단계가 실패하더라도 값 추출을 시도할 수도 있다. 이들 위치들은 템플릿 생성 목적들로 사용되는 샘플 문서들과 관련된 모든 템플릿들에 대해 정의되고 추출기에 로드된다. 이러한 위치 정의는 예를 들어, 예정보다 빨리 발생할 수도 있다. 위치 정의는 또한 추출기가 페이지-레벨 템플릿 조정들 및 변형들, 및 필드-레벨 템플릿 조정들, 변형들 및 값 영역들에 대한 잠재적인 다른 표시자들을 학습할 수도 있는 훈련 단계 동안 발생할 수도 있다. 추출기는 올바른 템플릿을 추출에 적용하기 위해 템플릿 매칭 단계로부터의 문서 유형 및 페이지 레벨 참조를 이용할 수도 있으며, 목표 값 영역들을 조정하기 위해 그리고 템플릿들이 매칭에 실패할 경우, 새로운 가능한 목표 영역들을 식별하기 위해 필드-레벨 참조를 이용할 수도 있다.
도 2는 본 발명의 일 실시형태에 따른, 문서 범주 분류 작업흐름 및 데이터 범주 추출 작업흐름(일괄하여, 작업흐름(200))을 예시하는 스크린샷이다. 작업흐름(200)은 양식 분류기("Form Classifier") 및 추출기("Form Extractor")를 포함한다. 작업흐름(200)은 양식 분류기 활동(202)을 포함한다. 사용자는 분류기들 구성 링크(Configure Classifiers)(204)를 클릭함으로써, 작업흐름(200)에서 분류기들을 구성할 수 있다. 문서 범주 분류 컴포넌트는 일부 실시형태들에서 임의의 원하는 개수의 분류기들로 구성될 수 있다.
분류기들 구성 링크(204)를 클릭하면, 분류기 구성 인터페이스가 열리고, 이는 프로세싱될 수도 있는 문서 유형들의 리스트를 제공하고 사용자로 하여금 각각의 문서 유형에 분류기들 중 하나를 적용할지, 둘 모두를 적용할지, 또는 어느 것도 적용하지 않을지 여부를 선택가능하게 한다. 사용자는 또한 선택적으로, 각각의 분류기가 내부 분류를 이용하는 문서 유형들에 대해 내부 분류 고유 ID들을 기입할 수 있다.
일부 실시형태들에서, 문서 범주 분류 활동은 분류기 당 뿐만 아니라, 분류기 및 문서 유형 레벨에서 최소 신뢰도 임계치들의 설정을 가능하게 할 수도 있다. 특정 실시형태들에서, 문서 범주 분류 활동, 분류기 구성, 우선순위화 알고리즘, 사용자 인터페이스들, 데이터 구조들, 및 공공 계약들은 변화들 및 조정들을 경험할 수도 있지만, 개방된 및 확장가능한 프레임워크에서 문서 분류를 용이하게 하는 동일한 목적을 유지한다.
일부 실시형태들에서, 분류 검증 모듈은 분류를 위해 파일들을 검토, 수정, 및/또는 수동으로 프로세싱하기 위한 사용자 인터페이스를 제공한다. 사용자들은 프로세싱된 파일 및 자동적으로 연관된 문서 유형으로부터 페이지들의 범위들을 확인하여 자동 분류를 검토하고, 페이지 범위 및 문서 유형 레벨 둘 모두에서 수정들을 수행하고, 연관된 문서 유형들을 가진 새로운 섹션들을 삭제 또는 추가하고/하거나, 원할 경우, 문서들을 완전히 수동으로 프로세싱 가능할 수도 있다.
일부 실시형태들의 사용자 인터페이스는 파일 내 각각의 개개의 페이지에 관한 이해 및 판단을 위한 시각적 접근법을 제공한다. 일부 실시형태들에서의 사용자 인터페이스는 문서 분류 검토 및 프로세싱을 위해 단일, 통합, 최신식 사용자 인터페이스를 제공하는, 이전 자동 분류 단계에서 사용되는 분류 컴포넌트들에 독립적인 사용을 위해 이용가능하다. 이러한 접근법은 인간들이 사용되는 분류 기법들에 따라 문서 분류를 위해 상이한 스크린들을 학습 및 이용할 필요성을 제거함으로써, 전체 경험을 통합하고 문서 프로세싱에 필요한 학습 곡선 및 전체 시간을 감소시킬 수도 있다.
일부 실시형태들에서, 자동 데이터 추출 기능은 작업흐름에서 추출기들이 상호교환가능하게 사용되도록 한다. 이러한 실시형태들은 표준 입력들, 표준 출력들, 추출기들 사이의 중개(brokerage), 및 폴백 메커니즘들을 보장할 수도 있다. 추출기들의 일부 예들은 템플릿-기반 추출기들, 레이아웃-기반 추출기들, 키워드-기반 추출기들, 정규식-기반 추출기들, 컨텍스트-기반 추출기들, 라벨/앵커-기반 추출기들, 패턴-기반 추출기들, 자연 언어 프로세싱-기반 추출기들, 기계 학습 추출기들, 메타데이터-기반 추출기들, 등을 포함할 수도 있지만, 이에 제한되지 않는다.
일부 실시형태들에서, 사용자는 임의의 원하는 개수의 추출기 구현들을 플러그-인들로서 추가할 수 있다. 특정 실시형태들에서, 사용자는 추출기들의 순서를 삭제, 변경, 상호교환, 및 변경 가능할 수도 있다. 일부 실시형태들에서, 사용자는 사용되는 각각의 추출기에 대해 최소 신뢰도 임계치들에 기초하여 허용 기준들을 정의할 수도 있다. 일부 실시형태들에서, 사용자는 각각의 필드/추출기 조합에 대해 최소 신뢰도 임계치들에 기초하여 허용 기준들을 정의할 수 있다.
일부 실시형태들에서, 사용자는 통합된 방식으로 모든 데이터를 공통 분모에 가져오기 위한 목적으로 마스터 분류(예컨대, 일부 실시형태들에서 분류 관리기를 이용하여 설계 및 정의된 것) 및 하나 이상의 추출기 내부 분류법들로부터 분류 맵핑을 수행할 수 있다. 이 기능은 주어진 추출기가 "능력들(capabilities)"의 내부 세트(즉, 추출기가 추출할 수 있는 필드들)를 마스터 분류에 맵핑(변환)되어야 하는 데이터 추출의 결과로서 보고할 때 사용될 수도 있다. 사용자는 사용되는 각각의 추출기로부터의 결과들의 우선순위를 결정할 수 있다. 예를 들어, 추출기는 송장들을 프로세싱할 때 "INV-NO"로 불리는 필드에 대한 값들을 보고할 수도 있지만, 마스터 분류는 "송장 번호(Invoice Number)"로 불리는 필드를 포함할 수도 있다. 이 기능은 추출기로부터 보고된 "INV-NO"가 마스터 분류에서 정의된 "송장 번호(Invoice Number)"에 대응하는 사양을 가능하게 한다.
사용자는 또한 어느 추출기 컴포넌트들이 특정의 필드들을 해결하도록 허용되는지 및 어느 추출기 컴포넌트들이 그렇게 하는데 제한되는 지를 결정할 수도 있다. 이들 기능들은 주어진 특정의 사용 사례에 사용되는 각각의 추출기 구현(즉, 컴포넌트)의 기지의 특징들 및 한계들을 고려하여 문서 추출의 미세 조정을 가능하게 한다. 추출기들은 일부 실시형태들에서 RPA 작업흐름에서의 활동들로서 구현될 수도 있다.
작업흐름(200)은 데이터 추출기 활동(206) 및 양식 추출기 활동(208)을 포함한다. 사용자는 추출기들 구성 링크(Configure Extractors)(210)를 클릭함으로써 작업흐름(200)에서 추출기들을 구성할 수 있다.
추출기들 구성 링크(210)를 클릭하면, 추출기 구성 인터페이스가 열린다. 마스터 분류로부터의 문서 유형들 및 필드들이 보일 수 있다. 추출기들은 각각의 추출기의 페인 및 고정된 양식 추출기 페인에서 대응하는 체크박스들을 선택함으로써, 필드별로 적용된다. 최소 신뢰도 퍼센티지가 또한 규정될 수 있다.
이 실시형태에서, 문서 추출 기능은 디지털화된 파일 및 분류에 기초하여 사용되는 추출기에 관계없이 동일한 유형의 출력을 보장한다. 요컨대, 일부 실시형태들의 문서 프로세싱 프레임워크는 페이지 경계들을 가진 파일 및 분류 결과를 취하고, 각각의 연관된 필드에 대한 데이터를 식별하려고 시도하고, 작업흐름에 포함된 추출 알고리즘들을 사용하고, 결과들을 수집하고, 그리고 신뢰도, 순서지정, 및 추출기 연결(chaining)에 기초하여 각각의 필드에 대한 최상의 결과를 보고한다. 일부 실시형태들에서, 추출 결과들은 비즈니스-특정의 정보 또는 검증, 특정의 포맷팅, 및/또는 다른 사후-프로세싱으로 추가로 향상될 수도 있다. 특정 실시형태들에서, 자동 데이터 추출 컴포넌트의 출력은 임의의 원하는 조합에 이용가능한 임의의 다른 RPA 작업흐름 활동들을 이용하여 체크/수정/향상될 수도 있다. 이들 활동들은 자동 데이터 추출의 출력을 조작하는데 사용될 수도 있으며, 그 결과에 포함된 특정의 값들을 추가, 제거, 또는 변경할 수도 있다. 이는 추출된 데이터가 예를 들어, 그 당시에 프로세싱된 단일 파일 외부의 데이터베이스 또는 다른 소스들로부터의 정보로 향상되어야 하는 복잡한 사용 사례들에 대해 사용될 수도 있다.
일부 실시형태들에서, 데이터 추출 검증 모듈은 데이터 추출 모듈에 의해 보고된 데이터 지점들(즉, 추출된 정보)을 검토, 수정, 및/또는 수동으로 프로세싱하기 위한 사용자 인터페이스를 제공한다. 사용자들은, (1) 문서의 (예컨대, 분류와 관련된 특정의 페이지 범위들 상의) 프로세싱된 부분으로부터 값들, 증거, 추출된 값이 문서 내에서 발견된 위치들, 추출된 값 신뢰도, 등을 봄으로써; (2) 정확하게 보고된 값에서 OCR 에러들을 편집하고, 보고된 값의 위치결정을 수정하고, 보고된 값을 완전히 대체하고, 자동 프로세싱에 의해 손실된 값을 추가하고, 및/또는 자동 프로세싱에 의해 잘못 식별된 값을 제거함으로써 수정들을 수행함으로써; (3) 원본 파일 뷰 상에서 직접 범위, 영역, 단어(들), 등의 선택들을 통해서 동작들을 수행함으로써 프로세싱 중인 원본 파일의 그래픽 표현과 직접 상호작용함으로써; (4) 문서의 텍스트 버전을 보고 이에 대한 동작들을 수행함으로써, 및/또는 또한 (5) 원하는 경우 문서들을 완전히 수동으로 프로세싱함으로써, 자동 데이터 추출로부터의 결과들을 검토 가능할 수도 있다.
일부 실시형태들의 사용자 인터페이스는 파일에서 식별 및 추출될 데이터의 개개의 필드들 및 조각들에 관한 이해 및 판단에 대한 시각적 접근법을 제공한다. 특정 실시형태들에서의 사용자 인터페이스는 문서 데이터 추출 검토 및 프로세싱을 위해 단일, 통합, 최신 사용자 인터페이스를 제공하는, 이전 자동 분류 및 데이터 추출 단계들에서 사용되는 데이터 추출 컴포넌트들과는 독립적으로 사용 가능하게 만들어 질 수 있다. 이러한 접근법은 인간들이 이용되는 데이터 추출 기법들에 의존적인 데이터 검증을 위해 상이한 스크린들을 학습 및 이용할 필요성을 제거할 수 있으므로, 전체 경험을 통합하고 문서 프로세싱을 위한 학습 곡선 및 전체 시간을 감소시킬 수도 있다. 일부 실시형태들의 데이터 검증 컴포넌트는 인간으로 하여금 문서 검증 기능을 통해서 프로세싱된 문서를 제출하게 하기 전에 체크될 수 있는 사용자 정의 검증 규칙들의 정의 및 사용을 가능하게 한다. 이와 같이, 모듈은 완전한 확장성을 보장하고 다룰 비즈니스 사용 사례에 따라 사용자 정의 구현들에 개방될 수도 있다.
일부 실시형태들에서, 분류기 훈련 모듈은 인간 피드백으로부터 학습할 수 있는 분류기들에 대한 피드백 루프의 완료를 용이하게 한다. 분류기 훈련 모듈은 알고리즘들이 인간 피드백으로부터 학습 가능하게 하는 인간-검증된 데이터 및 정보가 개별 분류기들에 의해 (예컨대, 분류 맵핑 기능을 이용함으로써) 그리고 활성화된 올바른 권한들로 (예컨대, 훈련 분류기들 활성화 기능을 이용함으로써) 이해가능한 형태로, 활성화된 분류기들에 도달하도록, 통합된 방식으로, 보장할 수도 있다. 이러한 접근법은 사용되는 분류기(들)에 독립적으로 피드백 루프를 폐쇄하기 위한 통합된 경험을 제공할 수도 있으며, 또한 실제 파일 분류에 사용되는 분류기 컴포넌트들에 독립적일 수도 있다. 이는 RPA 개발자들이, 예를 들어, 이들이 실제 파일 분류에 대해 활성화되기 전에 분류기들을 훈련 가능하게 함으로써, 대량의 사전(up-front) 주석 파일들의 필요성을 "즉시(on-the-fly)" 훈련 및 제거 가능하게 한다.
양식-기반 분류기는 또한 분류기 훈련 모듈 내에서 사용될 수도 있다. 이는 분류기에서 새로운 데이터로 훈련하는 것을 조정/완료할 목적으로 인간 수정 정보의 수집을 가능하게 한다. 분류기 훈련(학습) 모듈의 목적은 분류기 훈련 모듈이 결과들을 검토하는 인간들에 의해 제공되는 피드백으로부터 점점 더 많이 학습할 수도 있으므로, 분류기의 성능의 자가-향상을 가능하게 하는 것이다.
일부 실시형태들에서, 추출기 훈련 모듈은 인간 피드백으로부터 학습할 수 있는 추출기들에 대한 피드백 루프의 완료를 용이하게 한다. 추출기 훈련 모듈은 알고리즘들이 인간 피드백으로부터 학습 가능하게 하는 인간-검증된 데이터 및 정보가 추출기(들)에 의해 (예컨대, 분류 맵핑 기능을 이용함으로써) 그리고 활성화된 올바른 권한들로 (예컨대, 훈련 추출기들 필드-레벨 활성화 기능을 이용함으로써) 이해 가능한 형태로, 활성화된 추출기(들)에 도달하도록, 통합된 방식으로, 보장할 수도 있다. 이러한 접근법은 어느 추출기 컴포넌트(들)가 사용되는지에 독립적으로 피드백 루프를 폐쇄하기 위한 통합된 경험을 제공할 수도 있으며, 또한 데이터 추출을 위해 실제 파일 프로세싱에 사용되는 추출기 컴포넌트들에 독립적일 수도 있다. 이는 RPA 개발자들이, 예를 들어, 이들이 실제 문서 데이터 추출을 위해 활성화되기 전에, 추출기들을 훈련 가능하게 하므로, 각각의 추출 컴포넌트에 특정한 대량의 사전 주석 파일들의 필요성을 "즉시(on-the-fly)" 훈련 및 제거 가능하게 한다.
분류 훈련 모듈과 유사하게, 양식 기반 추출기가 또한 새로운 데이터로 학습하는 추출기 훈련 모듈을 조정/완료할 목적으로 인간 수정 정보의 수집을 가능하게 하기 위해 추출기 훈련 모듈 내에서 사용될 수도 있다. 훈련(학습) 모듈의 목적은 추출기 훈련 모듈이 결과들을 검토하는 인간들에 의해 주어지는 피드백으로부터 더욱더 많이 학습할 수도 있으므로, 추출기의 성능의 자가-향상을 가능하게 하는 것이다.
분류기는 문서의 유형을 식별하기 위해 문서의 디지털화된 버전에 대해 동작할 수도 있다. "분류 관리기(Taxonomy Manager)"는 분류할 문서들의 유형들(예컨대, 청구서들, 송장들, 소득세 양식들, 등)을 정의하는데 사용될 수도 있다. "분류 관리기(Taxonomy Manager)"는 문서에서 식별될 문서 유형 및 필드 이름들을 규정하는 것을 가능하게 한다. 예를 들어, W-9 양식이 프로세싱될 수도 있다. "분류 관리기(Taxonomy Manager)"에서, 문서 유형은 W-9 양식으로 정의될 수도 있으며, 이름, 비즈니스 이름, 주소, SSN 번호, 등과 같은 필드들이 추가된다.
도 3은 일 실시형태에 따른, 분류 관리기(300)를 예시하는 스크린샷이다. 분류 관리기(300)는 문서 유형들(document types) 정의 인터페이스(310), 문서 유형 세부 사항들(document type details) 인터페이스(320), 및 필드 편집(edit field) 인터페이스(330)를 포함한다. 종합해서, 인터페이스들(310, 320, 330)은 사용자로 하여금, 문서 유형들의 리스트를 정의하고, 문서 유형 세부 사항들을 제공하고, 문서 유형들 필드들을 편집 가능하게 한다.
문서 유형들 정의 인터페이스(310)는 사용자로 하여금 새로운 문서 유형들을 추가하거나 또는 기존 문서 유형들을 편집 또는 제거 가능하게 하도록 구성된다. 인터페이스는 또한 그룹들 및 카테고리들을 선택하는 기능 뿐만 아니라, 그룹들 및 카테고리들을 탐색하는 기능을 제공한다. 이 실시형태에서, 분류에서 문서 유형들의 컬렉션을 더 잘 구성하기 위해 그룹들 및 카테고리들이 사용된다. 그룹 및 카테고리 필터링은 인터페이스(310)에서의 이들의 설정들에 기초하여 이용가능할 수도 있다. 각각의 문서 유형이 인터페이스(320)를 통해서 그룹 및 카테고리에 할당될 수 있다. (예컨대, 그룹들, 카테고리들, 문서 유형들, 필드들, 등에 의한) 분류 체계는 문서 프로세싱 메타데이터를 캡쳐하는 동일한 목적을 유지하면서 시간 경과에 따라 변할 수도 있다. 더욱이, 데이터 구조들, 사용자 인터페이스들, 및 공공 계약들(public contracts)은 또한 설계, 패키징, 콘텐츠, 기능, 등에서 진화할 수도 있다.
문서 유형 세부 사항들 인터페이스(320)는 사용자로 하여금, 문서 유형에 대한 이름을 제공가능하게 할 뿐만 아니라, 문서 유형에 대한 그룹 및 카테고리를 선택 가능하게 한다. 문서 유형 코드는 또한 선택적으로 규정될 수도 있다. 문서 유형과 연관된 필드들이 도시되며, 사용자는 또한 필드들을 추가, 편집, 또는 제거할 수 있다.
필드 편집 인터페이스(330)는 사용자로 하여금 주어진 필드의 특성들을 편집 가능하게 한다. 가용 특성들은 필드 유형, 카테고리, 그룹, 등을 포함할 수도 있지만, 이에 제한되지 않는 다수의 인자들에 기초하여 변할 수도 있다.
분류 관리기(300)에서 식별될 문서들 및 필드들의 유형들을 정의한 후, 작업흐름(200)의 양식 분류기(202)에서의 "템플릿들 관리(Manage Templates)"가 템플릿들을 정의하기 위해 시작될 수도 있다. 이러한 템플릿의 정의는 템플릿을 생성하고 문서(예컨대, 보험 양식들, 은행 양식들, IRS 신고서들)를 업로드함으로써 완료된다. 정의된 템플릿들이 분류 및 데이터 추출 둘 모두에 사용될 수도 있다.
도 4는 일 실시형태에 따른, 문서 유형들에 대한 템플릿들을 관리하는 템플릿 관리기(400)를 예시하는 스크린샷이다. 템플릿 관리기는 문서 유형들 및 템플릿 페인(pane)(402) 내에 선택될 수도 있는 상이한 문서 유형들 및 템플릿들을 제공하도록 구성될 수도 있다. 페인(402)은 사용자에게 예를 들어, "송장 01(invoice 01)"과 같은 송장, 및 W9 양식에 대한 예시적인 나타낸 템플릿들을 포함하는, 문서 유형들에 대한 임의 개수의 미리 정의된 템플릿들을 선택하는 능력을 제공할 수도 있다. 은행 거래 명세서들, 보험 양식들, 의료 양식들, IRS 양식들, 공과금 청구서들 등을 포함하지만 이에 제한되지 않는, 다른 문서 유형들이 또한, 도 4에 나타내지는 않지만, 표시될 수도 있다. 임의의 문서 유형이 그 방법이 적합한 경우, 제한 없이, 문서 프로세싱을 수행할 목적으로 양식-기반 분류기 및 추출기를 사용하도록 구성될 수도 있다. 템플릿 관리기(400)에서 예시된 바와 같이, 템플릿이 해당 문서 유형에 대해 아직 생성되지 않았지만, 문서 유형이 식별될 수도 있다. 이 상황에서, 문서 유형은 템플릿 "아직 생성되지 않음(yet to be created)" 지정(designation)으로 주석될 수도 있다. 이러한 템플릿을 시작하면, 사용자는 새로운 템플릿을 생성하기 위해 윈도우(410) 내에 제시 받을 수도 있다. 윈도우(410)는 식별될 문서 유형, 명명될 템플릿, 샘플 문서, 및 샘플 문서가 스캐닝되는 경우에 사용될 OCR 엔진에 대한 엔트리 지점들을 포함한다. 지정된 정보의 기입 이후, 템플릿이 생성될 수도 있다. 템플릿 관리기는 또한 이전에 생성된 템플릿들을 편집할 뿐만 아니라, 이전에 생성된 템플릿들을 내보내거나 또는 가져오게 할 수도 있다.
사용자는 도 5에 나타낸 바와 같이 샘플 문서(템플릿) 상의 필드들을 선택함으로써 문서에 대해 추출되어야 하는 필드들 또는 필드 영역들(예컨대, 이름, 주소, 전화 번호, 서명, 등)을 정의할 수 있다. 도 5는 W-9 양식 템플릿에 대한 일 실시형태에 따른, 특정의 문서 유형에 대한 특정의 템플릿을 관리하는 템플릿 관리기 편집 윈도우(500)를 예시하는 스크린샷이다. 사용자는 샘플 문서 상의 필드의 위치들을 선택하고 현재의 문서 유형에 대한 관련된 키워드들(페이지 매칭 정보(505))을 선택함으로써 템플릿을 분류하고 데이터를 추출하는 파라미터들을 정의할 수 있다. 이는 양식 분류기로 하여금, 매칭 템플릿을 식별 가능하게 하고, "양식 추출기"로 하여금, 식별된 위치들에서의 문서로부터 특정의 필드에 대한 값들을 식별 가능하게 한다. 페이지 매칭 정보는 문서의 각각의 페이지에 대해 정의될 수도 있으며, 현재의 문서 유형과 관련된 모든 문서들 상의 동일한 위치에 나타나는 텍스트의 키워드들 또는 정적 조각들, 로고들, 스탬프들 또는 다른 고유하게 식별가능한 정보를 나타낼 수도 있다. 분류 필드들(515)은 일 예로서, 이름, 비즈니스 이름, S 엔터프라이즈, C 엔터프라이즈, 주소, 및 사회 보장 번호(SSN)와 같은 필드들을 포함할 수도 있다. 이들 필드들은 추출을 위해 템플릿화된 이들의 개별 위치들로 문서(510) 내에서 식별될 수도 있다.
도 5의 예시적인 스크린 샷에서, 템플릿 관리기 편집 윈도우(500) 내 "이름 필드 구성(name field configuration)"은 이 필드에 대한 값이 나란히 디스플레이되는 템플릿 문서에 있는 문서(510)로부터 부분(520)을 하이라이트함으로써 시작될 수도 있다. 모든 필드들(515)에 대한 위치들(일괄하여)(520)을 정의한 후, 템플릿이 저장된다. 분류기 및 추출기들이 작업흐름(200)에서 분류기들 구성(204) 및 추출기들 구성(210)을 선택함으로써 활성화된다.
주어진 문서 유형의 경우, 예시적인 목적들을 위해, W-9 양식과 같은 단일 문서 유형의 경우, 다수의 템플릿들이 생성될 수 있으며, 예시적인 목적들을 위해, 상이한 IRS 개정판들에서 공개된 W-9 양식의 변형들의 경우 다수의 템플릿들이 정의될 수도 있다. 양식 추출기는 데이터 추출에 사용할 최상의 적합한 템플릿을 찾을 수도 있다.
양식 추출기에 대한 템플릿들은 템플릿 관리기의 가져오기 및 내보내기 능력들을 이용하여, 상이한 RPA 이니셔티브들(initiatives)에 걸쳐서 공유될 수도 있다. 내보내기 능력은 내보내기를 위해 선택된 일련의 템플릿들과 관련된 데이터를 내보낼 수도 있으며, 템플릿들과 함께, 템플릿이 생성되는 문서 유형 설정, 특정의 필드 유형들을 처리하는 방법에 대한 런-타임 설정들, 등과 같은, 임의의 추가적인 관련 정보를 저장할 수도 있다. 가져오기 능력은 템플릿, 문서 유형, 필드 레벨 설정들 등을 가져오는 것을 보장할 수도 있으며, 또한 새로 가져온 정보에 기초하여 주어진 RPA 프로세스의 조정들을 보장할 수도 있다.
문서가 분류되고 데이터가 문서로부터 추출된 후, 그 데이터가 원본 문서와 함께, "검증 스테이션 윈도우(validation station window)" 상에서 사용자에게 디스플레이된다. 시스템에 의해 추출된 데이터가 부정확하면, 추출된 데이터를 수정하는 기능(facility)을 사용자에게 제공한다. 도 6은 검증 윈도우(600)의 스크린샷이다. 윈도우(600)는 문서로부터 추출된 데이터의 조각들의 각각을 식별하는 좌측 부분(605)을 포함하는 반면, 우측면(610)은 문서 자체를 디스플레이한다. 이는, 각각의 필드(615)가 데이터가 추출된 문서 부분에 대해 모니터링 가능하게 한다. 예를 들어, 이름(Name)(625)은 이름(620)을 포함하는 문서의 부분과 직접 비교될 수도 있다. 예를 계속하면, 비즈니스 이름(Business Name)(635)은 비즈니스 이름(630)을 포함하는 문서의 부분과 직접 비교될 수도 있다. 예를 계속하면, S 엔터프라이즈(S corporation)(645)은 S 엔터프라이즈(640)에 대한 체크 박스를 포함하는 문서의 부분과 직접 비교될 수도 있으며, C 엔터프라이즈(C corporation)(655)은 C 엔터프라이즈(650)에 대한 체크 박스를 포함하는 문서의 부분과 직접 비교될 수도 있다. 예를 계속하면, 주소(Address)(665)는 주소 정보(660)를 포함하는 문서의 부분과 직접 비교될 수도 있다. SSN(675)은 또한 SSN 정보를 포함하는 문서의 부분(도 6에 미도시)과 직접 비교될 수도 있다. 추가적인 필드들(615)은 본원에서 설명되는 특정의 예시적인 필드들로부터 알 수 있는 바와 같이, 문서(610) 내 위치 로케이션들을 포함할 수도 있다.
도 7은 본 발명의 일 실시형태에 따른, RPA에 대한 문서 프로세싱 프레임워크를 구현하는 방법(700)을 예시하는 플로우차트이다. 프로세스는 710에서 일반 분류를 정의 및 저장하는 것으로 시작한다. 일부 실시형태들에서, 이는 문서 유형들의 각각에 대한 연관된 필드들과 함께, 분류 및 데이터 추출을 목표로 하는 문서 유형들의 리스트의 정의를 용이하게 하는 인터페이스를 제공하는 분류 관리기를 실행하는 단계, 정의된 문서 유형들 및 정의된 문서 유형들의 각각에 대한 연관된 필드들의 리스트를 수신하는 단계, 및 문서 유형들 및 연관된 필드들의 리스트를 마스터 분류 데이터 구조에 저장하는 단계를 포함할 수도 있다.
다음으로, 720에서, 디지털화 활동이 RPA 작업흐름에서 실행되며, DOM 데이터 구조에 저장된 문서 오브젝트 모델(DOM) 및 파일의 텍스트 버전이 출력된다. 일부 실시형태들에서, DOM은 회전, 스큐, 및 상대 폭 및 높이 정보로 향상되는 파일 내 유형지정(typed) 섹션들, 유형지정 단어 그룹들, 및 단어 수준 정보와 관한 정보를 포함하며, 또한 OCR 신뢰도 값을 포함할 수도 있다. 특정 실시형태들에서, 디지털화 활동은 복수의 OCR 엔진들을 사용하며, 디지털화 활동은 복수의 OCR 엔진들에 대한 투표 시스템을 구현하는 단계 및 복수의 OCR 엔진들로부터 최상의 결합된 결과를 출력하는 단계를 포함한다.
730에서, 파일이 RPA 작업흐름에서 하나 이상의 분류기를 이용하여 하나 이상의 문서 유형으로 분류되고 자동 분류 정보가 출력된다. 이 정보는 일부 실시형태들에서 분류 데이터 구조에 저장될 수도 있다. 일부 실시형태들에서, 하나 이상의 분류기는 레이아웃-기반 분류, 정서-기반 분류, 특징-기반 분류, 자연 언어 처리(NLP)-기반 분류, 기계 학습(ML)-기반 분류, 심층 학습-기반 분류, 이미지-기반 분류, 키워드-기반 분류, 칼라-기반 분류, 이들의 임의의 조합, 또는 임의의 다른 문서 분류 방법을 수행하도록 구성된다. 특정 실시형태들에서, 분류는 하나 이상의 분류기의 각각에 대한 최소 신뢰도 임계치들에 기초하여 허용 기준들을 이용하는 것을 포함한다. 일부 실시형태들에서, 분류는 하나 이상의 분류기에 대해 개별 분류기의 마스터 분류 및 내부 분류를 맵핑하는 것을 포함한다. 특정 실시형태들에서, 분류는 RPA 작업흐름에서 분류기 순서에 기초하여 각각의 분류기로부터의 결과들을 우선순위화하는 것, 문서 유형에 기초하여 분류에 사용하기 위한 하나 이상의 분류기 중 분류기들을 선택하는 것, 최소 신뢰도 필드를 하나 이상의 분류기에 할당하는 것, 또는 이들의 임의의 조합 중 적어도 하나를 포함한다.
740에서, 분류를 위한 파일을 검토, 수정, 및/또는 수동으로 프로세싱하는 인터페이스를 제공하는 분류 검증 모듈이 실행되고 자동 분류 정보가 출력된다. 750에서, 하나 이상의 분류기에 대한 피드백 루프의 완료를 용이하게 하는 분류기 훈련 모듈이 실행된다. 그 후, 760에서, 데이터가 RPA 작업흐름에서 하나 이상의 추출기를 이용하여, 분류된 문서로부터 추출되고 자동적으로 추출된 데이터가 출력된다. 이 추출된 데이터는 일부 실시형태들에서 추출 데이터 구조에 저장될 수도 있다. 일부 실시형태들에서, 추출은 RPA 작업흐름에서 추출기 순서에 기초하여 각각의 추출기로부터의 결과들을 우선순위화하는 것, 문서 유형에 기초하여 추출에 사용하기 위한 하나 이상의 추출기 중 추출기들을 선택하는 것, 최소 신뢰도 필드를 하나 이상의 추출기에 할당하는 것, 또는 이들의 임의의 조합 중 적어도 하나를 포함한다.
770에서, 데이터 추출로부터 데이터 지점들을 수정 및/또는 수동으로 프로세싱하기 위한 인터페이스를 제공하는 데이터 추출 검증 모듈이 실행되고, 확인된 추출된 데이터가 출력된다. 780에서, 하나 이상의 추출기에 대한 피드백 루프의 완료를 용이하게 하는 추출기 훈련 모듈이 실행된다. 그후, 790에서, 분류 결과들 및 추출된 정보를 포함하는, 프로세싱된 데이터가 내보내진다. 일단 분류가 정의되면, 단계들(720-790) 중 하나 이상은 사용 사례의 필요들에 기초하여 일부 실시형태들에서 선택적일 수도 있다는 점에 유의해야 한다.
방법(700)이 완료된 후, 검증된 정보는 이제 다른 시스템들에서 이용가능하다. 예를 들어, 정보는 데이터베이스 또는 Excel® 파일에 삽입될 수도 있으며, 구체적인 값들을 가진 통지가 이메일 등을 통해서 전송될 수도 있다. 비제한적인 예로서, 도 7의 방법(700)은 PDF 파일로 시작하여, 그 파일이 송장이고 그 송장에 기록된 총액이 $42이고 공급업체(Vendor)가 "XYZ Bookstore"이고 구입 일자가 2019년 7월 23일이었다는 지식으로 끝날 수도 있다. 이 값들은 이제 예를 들어, 회계 시스템에 프로그래밍 방식으로 삽입될 수 있다.
본원에서 주어진 예들에서, 모듈들은 사용자 정의 VLSI(very large-scale integration) 회로들 또는 게이트 어레이들, 기성품 반도체들, 예컨대 로직 칩들, 트랜지스터들, 또는 다른 별개의 컴포넌트들을 포함하는 하드웨어 회로로서 구현될 수도 있다. 모듈은 또한 필드 프로그래밍가능 게이트 어레이들, 프로그래밍가능 어레이 로직, 프로그래밍가능 로직 디바이스들, 그래픽 프로세싱 유닛들, 또는 기타 등등과 같은, 프로그래밍가능 하드웨어 디바이스들로 구현될 수도 있다.
모듈은 다양한 유형들의 프로세서들에 의한 실행을 위해 소프트웨어로 적어도 부분적으로 구현될 수도 있다. 식별된 실행가능 코드의 유닛은 예를 들어, 오브젝트, 프로시저, 루틴, 서브루틴, 또는 함수로서 구성될 수도 있는 컴퓨터 명령들의 하나 이상의 물리 또는 로직 블록들을 포함할 수도 있다. 식별된 모듈의 실행 파일들(Executables)은 논리적으로 함께 결합될 때, 모듈을 구성하도록 상이한 위치들에 병치되거나 또는 저장된다.
실행가능 코드의 모듈은 여러 상이한 코드 세그먼트들에 걸쳐서, 상이한 프로그램들 간에, 여러 메모리 디바이스들에 걸쳐서, 또는 기타 등등으로 분산된, 단일 명령, 하나 이상의 데이터 구조들, 하나 이상의 데이터 세트들, 복수의 명령들, 또는 기타 등등일 수도 있다. 동작 또는 기능 데이터는 본원에서 모듈들 내에서 식별 및 예시될 수도 있으며, 적합한 형태로 구현되고 임의의 적합한 유형의 데이터 구조 내에 구성될 수도 있다.
본원에서 주어진 예들에서, 컴퓨터 프로그램은 하드웨어, 소프트웨어, 또는 하이브리드 구현으로 구성될 수도 있다. 컴퓨터 프로그램은 서로 동작가능하게 통신하고 정보 또는 명령들을 전달하는 모듈들로 구성될 수도 있다.
위에서 특징들 및 엘리먼트들이 특정 조합들로 설명되었지만, 통상의 기술자는 각각의 특징 또는 엘리먼트가 단독으로 또는 다른 특징들 및 엘리먼트들과의 임의의 조합으로 사용될 수 있음을 알 수 있을 것이다. 게다가, 본원에서 설명되는 방법들은 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터-판독가능 매체에 포함된 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터-판독가능 매체들의 예들은 (유선 또는 무선 접속들을 통해서 송신된) 전자 신호들 및 컴퓨터-판독가능 저장 매체들을 포함한다. 컴퓨터-판독가능 저장 매체들의 예들은 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스들, 자기 매체들, 예컨대 내부 하드 디스크들 및 착탈식 디스크들, 광자기 매체들, 및 광학 매체들, 예컨대 CD-ROM 디스크들, 및 디지털 다기능 디스크들(DVDs)을 포함하지만, 이에 제한되지 않는다.

Claims (20)

  1. 문서 프로세싱을 위해 데이터 추출을 수행하는 방법에 있어서,
    추출될 필드들 및 상기 문서 내 상기 필드의 위치를 정의함으로써, 복수의 템플릿들 중 하나를 구성하는 단계;
    상기 복수의 템플릿들을 이용하여 상기 문서 유형을 식별하는 단계; 및
    상기 복수의 템플릿들 중 구성된 템플릿에 대해 추출될 필드들 및 상기 문서 내 상기 필드들 각각의 위치를 이용하여, 상기 식별에 기초하여 상기 문서로부터 데이터를 추출하는 단계
    를 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  2. 제1항에 있어서,
    추출된 데이터의 검증으로부터의 피드백으로 상기 템플릿 정보를 향상시킴으로써, 수행된 상기 데이터 추출의 정확도를 향상시키는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  3. 제1항에 있어서,
    상기 템플릿들은 필드 레벨 설정들을 포함하는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  4. 제1항에 있어서,
    상기 필드 레벨 설정들은 앵커들을 포함하는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  5. 제1항에 있어서,
    일반 분류(general taxonomy)를 정의하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  6. 제5항에 있어서,
    상기 정의하는 단계는:
    상기 문서 유형들 각각에 대한 연관된 필드들과 함께 분류 및 데이터 추출을 목표로 하는 문서 유형들의 리스트의 정의를 용이하게 하는 인터페이스를 제공하는 단계; 및
    정의된 문서 유형들 및 상기 정의된 문서 유형들 각각에 대한 상기 연관된 필드들의 리스트를 수신하는 단계
    를 포함하는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  7. 제5항에 있어서,
    상기 정의된 일반 분류를 저장하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  8. 제7항에 있어서,
    상기 저장하는 단계는, 문서 유형들 및 연관된 필드들의 리스트를 마스터 분류 데이터 구조에 저장하는 단계를 포함하는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  9. 제1항에 있어서,
    RPA 작업흐름에서 디지털화 활동을 실행하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  10. 제9항에 있어서,
    상기 디지털화 활동은 복수의 OCR 엔진들을 이용하고, 상기 디지털화 활동은 상기 복수의 OCR 엔진들에 대한 투표 시스템을 구현하는 단계 및 상기 복수의 OCR 엔진들로부터 최상의 결합된 결과를 출력하는 단계를 포함하는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  11. 제9항에 있어서,
    파일의 텍스트 버전 및 DOM 데이터 구조에 저장된 문서 오브젝트 모델(DOM)을 출력하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  12. 제11항에 있어서,
    상기 DOM은 회전, 스큐(skew), 및 상대 폭 및 높이 정보로 향상되는, 상기 파일 내 유형지정된(typed) 섹션들, 유형지정된 단어 그룹들, 및 단어 수준 정보에 관한 정보를 포함하며, OCR 신뢰도 값을 더 포함할 수 있는 것인, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  13. 제1항에 있어서,
    RPA 작업흐름에서 하나 이상의 분류기를 이용하여 하나 이상의 문서 유형으로 분류하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  14. 제13항에 있어서,
    분류 정보를 출력하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  15. 제1항에 있어서,
    분류를 위해 파일들을 검토, 수정, 및/또는 수동으로 프로세싱하기 위한 인터페이스를 제공하는 분류 검증 모듈을 실행하는 단계 및 상기 분류 정보를 출력하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  16. 제1항에 있어서,
    실행된 분류기들에 대한 피드백 루프를 완료하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  17. 제1항에 있어서,
    RPA 작업흐름에서 하나 이상의 추출기를 이용하여 분류된 문서로부터 추출하는 단계 및 추출된 데이터를 출력하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  18. 제1항에 있어서,
    데이터 추출로부터 데이터 지점들을 수정, 및/또는 수동으로 프로세싱하기 위한 인터페이스를 제공하는 데이터 추출 검증 모듈을 실행하는 단계 및 확인된 추출된 데이터를 출력하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  19. 제1항에 있어서,
    하나 이상의 추출기에 대한 피드백 루프의 완료를 용이하게 하는 추출기 훈련 모듈을 실행하는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
  20. 제1항에 있어서,
    분류 결과들 및 추출된 정보를 포함하는 프로세싱된 데이터를 내보는 단계를 더 포함하는, 문서 프로세싱을 위해 데이터 추출을 수행하는 방법.
KR1020217042292A 2020-12-31 2021-10-29 양식 추출기 KR20230121637A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/139,408 2020-12-31
US17/139,408 US20220207268A1 (en) 2020-12-31 2020-12-31 Form extractor
PCT/US2021/057186 WO2022146540A1 (en) 2020-12-31 2021-10-29 Form extractor

Publications (1)

Publication Number Publication Date
KR20230121637A true KR20230121637A (ko) 2023-08-21

Family

ID=82119187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217042292A KR20230121637A (ko) 2020-12-31 2021-10-29 양식 추출기

Country Status (6)

Country Link
US (1) US20220207268A1 (ko)
EP (1) EP4042316A4 (ko)
JP (1) JP2024503940A (ko)
KR (1) KR20230121637A (ko)
CN (1) CN115039104A (ko)
WO (1) WO2022146540A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220058336A1 (en) * 2020-08-19 2022-02-24 Nuveen Investments, Inc. Automated review of communications
US20220301335A1 (en) * 2021-03-16 2022-09-22 DADO, Inc. Data location mapping and extraction
US20230073775A1 (en) * 2021-09-06 2023-03-09 Nathalie Goldstein Image processing and machine learning-based extraction method
US11960864B2 (en) * 2021-09-27 2024-04-16 Microsoft Technology Licensing, Llc. Creating applications and templates based on different types of input content
US11961317B2 (en) * 2021-11-24 2024-04-16 Oracle Financial Services Software Limited Extracting textual information from image documents

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037655A1 (en) * 1996-12-20 1998-08-27 Financial Services Technology Consortium Method and system for processing electronic documents
US7200809B1 (en) * 1999-08-04 2007-04-03 Oracle International Corporation Multi-device support for mobile applications using XML
US6778703B1 (en) * 2000-04-19 2004-08-17 International Business Machines Corporation Form recognition using reference areas
AU2001288936A1 (en) * 2000-09-07 2002-03-22 Closingguard.Com, Inc. System and method of managing financial transactions over an electronic network
US20030036927A1 (en) * 2001-08-20 2003-02-20 Bowen Susan W. Healthcare information search system and user interface
US7024033B2 (en) * 2001-12-08 2006-04-04 Microsoft Corp. Method for boosting the performance of machine-learning classifiers
US20030210428A1 (en) * 2002-05-07 2003-11-13 Alex Bevlin Non-OCR method for capture of computer filled-in forms
US20030229846A1 (en) * 2002-06-07 2003-12-11 Anil Sethi System and method for capturing digital data directly from an electronic device and processing the data into XML form on a computer chip
US7783614B2 (en) * 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7017816B2 (en) * 2003-09-30 2006-03-28 Hewlett-Packard Development Company, L.P. Extracting graphical bar codes from template-based documents
US20050289182A1 (en) * 2004-06-15 2005-12-29 Sand Hill Systems Inc. Document management system with enhanced intelligent document recognition capabilities
US8176081B2 (en) * 2005-11-18 2012-05-08 International Business Machines Corporation Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US8150156B2 (en) * 2006-01-04 2012-04-03 International Business Machines Corporation Automated processing of paper forms using remotely-stored templates
US8055997B2 (en) * 2006-06-26 2011-11-08 Lexmark International Technology, S.A. System and method for implementing dynamic forms
US20080086432A1 (en) * 2006-07-12 2008-04-10 Schmidtler Mauritius A R Data classification methods using machine learning techniques
US8540158B2 (en) * 2007-12-12 2013-09-24 Yiwu Lei Document verification using dynamic document identification framework
US8010544B2 (en) * 2008-06-06 2011-08-30 Yahoo! Inc. Inverted indices in information extraction to improve records extracted per annotation
JP5412778B2 (ja) * 2008-09-18 2014-02-12 富士ゼロックス株式会社 業務支援システム
US20100083095A1 (en) * 2008-09-29 2010-04-01 Nikovski Daniel N Method for Extracting Data from Web Pages
US8200617B2 (en) * 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
US8356252B2 (en) * 2009-09-02 2013-01-15 Synchronoss Technologies, Inc. System and method for providing a computer display form layout
US8996981B2 (en) * 2011-09-06 2015-03-31 Onevizion, Inc. Managing forms in electronic documents
US9268763B1 (en) * 2015-04-17 2016-02-23 Shelf.Com, Inc. Automatic interpretive processing of electronic transaction documents
US11062083B1 (en) * 2015-12-09 2021-07-13 Amazon Technologies, Inc. Automated data entry optimization by recognizing invalid data
US10942708B2 (en) * 2017-01-10 2021-03-09 International Business Machines Corporation Generating web API specification from online documentation
US10402163B2 (en) * 2017-02-14 2019-09-03 Accenture Global Solutions Limited Intelligent data extraction
US10402480B2 (en) * 2017-03-28 2019-09-03 Experian Health, Inc. PDF to web form conversion
US10489682B1 (en) * 2017-12-21 2019-11-26 Automation Anywhere, Inc. Optical character recognition employing deep learning with machine generated training data
US10896357B1 (en) * 2017-12-29 2021-01-19 Automation Anywhere, Inc. Automatic key/value pair extraction from document images using deep learning
US10769427B1 (en) * 2018-04-19 2020-09-08 Automation Anywhere, Inc. Detection and definition of virtual objects in remote screens
US20200110792A1 (en) * 2018-10-04 2020-04-09 Binyamin Tsabba Customized customer relationship management platform method and devices
KR102160344B1 (ko) * 2018-12-31 2020-09-25 주식회사 포스코아이씨티 로봇 프로세스 자동화 시스템 및 방법
US11790262B2 (en) * 2019-01-22 2023-10-17 Accenture Global Solutions Limited Data transformations for robotic process automation
US11443273B2 (en) * 2020-01-10 2022-09-13 Hearst Magazine Media, Inc. Artificial intelligence for compliance simplification in cross-border logistics
CN110727962B (zh) * 2019-10-17 2023-07-07 武汉英思工程科技股份有限公司 一种适用于全流程过程化的电子签章方法

Also Published As

Publication number Publication date
US20220207268A1 (en) 2022-06-30
EP4042316A4 (en) 2023-11-15
JP2024503940A (ja) 2024-01-30
WO2022146540A1 (en) 2022-07-07
CN115039104A (zh) 2022-09-09
EP4042316A1 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
KR102478331B1 (ko) 로봇 프로세스 자동화를 위한 문서 프로세싱 프레임워크
US11983379B2 (en) Multi-anchor based extraction, recognition, and machine learning of user interface (UI)
US20220207268A1 (en) Form extractor
EP3798956A1 (en) Document processing framework for robotic process automation
CN116057504A (zh) 机器人流程自动化的用户界面(ui)描述符、ui对象库、ui对象储存库和ui对象浏览器
US20230168654A1 (en) Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation
KR20220156737A (ko) 문서 이해를 위한 데이터 증강용 시스템 및 방법
US20240028354A1 (en) Image pattern matching to robotic process automations
KR102444398B1 (ko) 그래픽 요소 검색 기술 선택, 앵커 및 타겟의 퍼지 논리 선택, 및/또는 로봇 프로세스 자동화를 위한 계층적 그래픽 요소 식별
US11513499B2 (en) Web based viewing of robotic process automation (RPA) packages and workflows
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
US20220100964A1 (en) Deep learning based document splitter
EP3909722A1 (en) Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation
EP4187452A1 (en) Machine learning based entity recognition
KR102447072B1 (ko) 둘 이상의 그래픽 요소 검출 기법들로부터의 사용자 인터페이스 디스크립터 속성들의 조합을 사용한 그래픽 요소 검출