CN112771514A - 用于机器人流程自动化的文档处理框架 - Google Patents

用于机器人流程自动化的文档处理框架 Download PDF

Info

Publication number
CN112771514A
CN112771514A CN202080002358.1A CN202080002358A CN112771514A CN 112771514 A CN112771514 A CN 112771514A CN 202080002358 A CN202080002358 A CN 202080002358A CN 112771514 A CN112771514 A CN 112771514A
Authority
CN
China
Prior art keywords
classification
extraction
document
extractor
data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080002358.1A
Other languages
English (en)
Inventor
I·吉利冈
P·帕拉奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yupas Co
Original Assignee
Yupas Co
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 Yupas Co filed Critical Yupas Co
Publication of CN112771514A publication Critical patent/CN112771514A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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/33Querying
    • G06F16/338Presentation of query results
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • 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/123Storage facilities
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • 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/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19113Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19167Active pattern learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/259Fusion by voting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种用于机器人流程自动化(RPA)的文档处理框架(DPF)。DPF可以允许不同供应者产品在同一平台上的即插即用的使用,用户可以在平台中设置用于文档处理和文档理解工作流的基本方案。DPF可以允许用户定义分类法、使文件数字化、将文件分类成一个或多个文档类型、验证分类、提取数据、验证所提取的数据、训练分类器和/或训练提取器。可以提供公共包,软件开发者可以使用公共包来管理DPF并且构建其自身的分类器和提取器组件。

Description

用于机器人流程自动化的文档处理框架
相关申请的交叉引用
本申请要求于2019年9月30日提交的美国非临时专利申请第16/587,386号的权益。该早前提交的申请的主题以其整体内容通过引用并入于此。
技术领域
本发明大体上涉及机器人流程自动化(RPA),且更具体地涉及一种用于RPA的文档处理框架(DPF)。
背景技术
大多数商用电子文档处理工具在单个平台上执行文档处理。此外,文档处理领域中的大多数供应者提供了黑匣子解决方案,在该解决方案中,组件不能够与第三方提供者互换。由于该限制,所以想要使用多于一个的供应者的客户需要设置两个或更多个并行集成,训练员工使用两个或更多个不同工具,并且提供相应用户接口以供执行这些职责。该问题存在于旨在集成多个用于文档处理的技术的解决方案中,并且不一定是RPA特定的。实际上,对于每个供应者都需要单独的工作流。
而且,想要使用其自身的定制文档处理算法的用户需要自行构建整个基础设施,以使其在端到端过程中为集成的且可用的。这样的文档处理算法包括但不限于:使用多个OCR供应者来处理数字化;处理来自不同供应者的文档处理算法的不同解决方案、集成和配置间的分类法映射;以统一数据格式聚合来自多个供应者的结果等。鉴于上文,一种改进的文档处理框架解决方案可以是有益的。
发明内容
本发明的某些实施例可以提供对本领域中尚未经当前的基于计算机的文档处理技术完全标识、了解或者解决的问题和需求的解决方案。例如,本发明的一些实施例涉及一种用于RPA的DPF。
在实施例中,一种计算机程序被实施在非瞬态计算机可读介质上。该程序被配置为使至少一个处理器:使用RPA工作流中的一个或多个分类器将文件自动分类成一个或多个文档类型;以及将自动分类的结果存储在分类数据结构中。该程序还被配置为使至少一个处理器:使用RPA工作流中的一个或多个提取器从经分类的文件自动提取数据;以及将自动提取的数据存储在提取数据结构中。该程序还被配置为使至少一个处理器输出自动提取的数据。
在另一实施例中,一种计算机实现的方法包括:由计算系统从分类法管理器接收所定义的文档类型的列表和针对所定义的文档类型中的每一个所定义的文档类型的相关联字段;以及由计算系统将文档类型的列表和相关联字段存储在主分类法数据结构中。该计算机实现的方法还包括:由计算系统使用RPA工作流中的一个或多个分类器将文件自动分类成一个或多个文档类型;以及由计算系统将自动分类的结果存储在分类数据结构中。该计算机实现的方法还包括:由计算系统输出自动分类的结果。
在又一实施例中,一种系统包括:存储器,该存储器存储计算机程序指令;以及至少一个处理器,该至少一个处理器被配置为执行计算机程序指令。该指令被配置为使至少一个处理器:从分类法管理器接收所定义的文档类型的列表和针对所定义的文档类型中的每一个所定义的文档类型的相关联字段。该指令还被配置为使至少一个处理器执行RPA工作流中的数字化活动,并且输出文件的文本版本和文档对象模型(DOM)。该指令还被配置为使至少一个处理器:使用RPA工作流中的一个或多个分类器将文件自动分类成一个或多个文档类型;以及使用RPA工作流中的一个或多个提取器从经分类的文档自动提取数据。附加地,该指令还被配置为使至少一个处理器输出自动提取的数据。
附图说明
为了容易地理解本发明的某些实施例的优点,将通过参考在附图中图示的特定实施例来呈现上文简要描述的本发明的更具体的描述。虽然应理解,这些图仅描绘了本发明的典型实施例,并且因此不应该被认为是对本发明的范围的限制,但是本发明将通过附图的使用以附加的特异性和细节来描述和阐释,在附图中:
图1是图示了根据本发明的实施例的RPA系统的架构图。
图2是图示了根据本发明的实施例的部署的RPA系统的架构图。
图3是图示了根据本发明的实施例的设计器、活动与驱动(driver)之间的关系的架构图。
图4是图示了根据本发明的实施例的RPA系统的架构图。
图5是图示了根据本发明的实施例的被配置为提供用于RPA的DPF的计算系统的架构图。
图6A是图示了根据本发明的实施例的分类法管理器的屏幕截图。
图6B是图示了根据本发明的实施例的分类法管理器的文档类型定义接口的屏幕截图。
图6C是图示了根据本发明的实施例的分类法管理器的文档类型明细接口的屏幕截图。
图6D是图示了根据本发明的实施例的分类法管理器的编辑字段接口的屏幕截图。
图7A是图示了根据本发明的实施例的具有数字化活动的RPA工作流的屏幕截图。
图7B是根据本发明的实施例的具有数字化活动的RPA工作流的一部分的放大视图。
图8A是图示了根据本发明的实施例的分类文档范围工作流的屏幕截图。
图8B是图示了根据本发明的实施例的分类器配置接口的屏幕截图。
图9A是图示了根据本发明的实施例的数据提取范围工作流的屏幕截图。
图9B是图示了根据本发明的实施例的提取器配置接口的屏幕截图。
图9C是图示了根据本发明的实施例的提取器配置接口的文档类型和字段窗格的屏幕截图。
图9D是图示了根据本发明的实施例的提取器配置接口的FlexiCaptureTM提取器窗格的屏幕截图。
图9E是图示了根据本发明的实施例的提取器配置接口的固定形式提取器窗格的屏幕截图。
图10是图示了根据本发明的实施例的分类器和提取器训练工作流的屏幕截图。
图11是图示了根据本发明的实施例的分类器训练配置接口的屏幕截图。
图12是图示了根据本发明的实施例的用于实现用于RPA的DPF的过程的流程图。
具体实施方式
一些实施例涉及用于机器人流程自动化(RPA)的文档处理框架(DPF)。在一些实施例中,DPF允许不同供应者产品在同一平台上的即插即用的使用,用户可以在该平台中设置用于文档处理和文档理解工作流的基本方案。因此,DPF可以允许用户使用应用内或第三方算法处理整个流程中的文档,用于诸如但不限于数字化、文档分类以及数据提取的任务。这提供了统一经验并且避免了供应者锁定。利用该即插即用的途径,一些实施例的DPF支持基于每个用例的需要对文档处理技术进行组合、替换、优先级排序以及过滤,因此在为每个待解决的具体问题选择适合的解决方案方面提供灵活性。
在一些实施例中,DPF允许用户:(1)定义分类法(即,文档类型的类集);(2)通过处理文件来使文件数字化,以获得机器可读文本;(3)通过使用针对文档分类的算法的可用组合向每个分类结果指派文档类型和页面的范围来将文件分类成一个或多个文档类型;(4)经由工具验证分类,人类可以通过该工具来验证/校正/手动地执行文件细分和分类;(5)通过使用针对数据提取的算法的可用组合向所请求的字段指派来自文档或页面的范围内的标识值来提取数据;(6)经由工具验证提取,人类可以通过该工具来验证/校正/手动地执行数据提取;(7)通过确保分类算法被配置为接收人类反馈并且在适用处触发反馈回路来训练分类器;和/或(8)通过确保提取算法被配置为接收人类反馈并且在适用处触发反馈回路来训练提取器。
一些实施例的DPF还包括可由软件开发者(例如来自第三方公司或个人贡献者的开发者)使用的公共包,以管理DPF并且构件其自身的文档处理组件,文档处理组件包括但不限于分类器和提取器组件。在一些实施例中,公共包可以包括但不限于:(1)分类法、文档和提取结果数据结构、以及协助管理这些结构的功能性;(2)要用于构建定制分类器和提取器组件的抽象类和接口;和/或(3)要在报告分类或数据提取输出时使用的数据提取和分类输入和输出数据结构以及合同。该公共包可以确保整个DPF是完全可扩展的、开放的、并且能够由第三方使用来以统一方式开发与DPF完全兼容的用例特定的或者解决方案特定的组件。
图1是图示了根据本发明的实施例的RPA系统100的架构图。RPA系统100包括允许开发者设计和实现工作流的设计器110。设计器110可以提供用于应用集成以及自动化第三方应用、管理信息技术(IT)任务和业务IT过程的解决方案。设计器110可以支持自动化项目的开发,该自动化项目是业务过程的图形表示。简而言之,设计器110支持工作流和机器人的开发和部署。
自动化项目通过向开发者提供对在工作流中开发的一组定制步骤(在本文中被定义为“活动”)之间的执行顺序和关系的控制来实现基于规则的过程的自动化。设计器110的实施例的一个商业示例是UiPath StudioTM。每个活动可以包括动作,诸如点击按钮、读取文件、写入日志面板等。在一些实施例中,工作流可以被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、有限状态机(FSM)和/或全局异常处理程序。序列可能特别适合于线性过程,从而能够在不使工作流混乱的情况下从一个活动流向另一活动。流程图可能特别适合于更复杂的业务逻辑,从而实现通过多个分支逻辑运算符以更为不同的方式进行的决策的集成以及活动的连接。FSM可能特别适合于较大工作流。FSM可以在其执行中使用有限数量的状态,这些状态由条件(即,过渡)或活动触发。全局异常处理程序可能特别适合于在遇到执行误差时确定工作流行为且特别适合于调试过程。
一旦工作流在设计器110中被开发,业务过程的执行就由指挥器(conductor)120编排,该指挥器编排执行设计器110中所开发的工作流的一个或多个机器人130。指挥器120的实施例的一个商业示例是UiPath OrchestratorTM。指挥器120支持对环境中的资源的创建、监测以及部署的管理。利用第三方解决方案和应用,指挥器120可以充当集成点。
指挥器120可以管理一队机器人130,从而从集中点连接并执行机器人130。可以管理的机器人130的类型包括但不限于:有人值守的(attended)机器人132、无人值守的机器人134、开发机器人(类似于无人值守的机器人134,但用于开发和测试目的)以及非生产型机器人(类似于有人值守的机器人132,但用于开发和测试目的)。有人值守的机器人132由用户事件触发并且与人类一起在相同计算系统上操作。有人值守的机器人132可以与指挥器120一起用于集中过程部署和记录介质。有人值守的机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,无法从这种类型的机器人上的指挥器120开启过程和/或这些过程无法在锁定屏幕下运行。在某些实施例中,有人值守的机器人132只可以从机器人托盘或根据命令提示而被开启。在一些实施例中,有人值守的机器人132应该在人类监督下运行。
无人值守的机器人134在虚拟环境中以无人值守的方式运行并且可以使许多过程自动化。无人值守的机器人134可以负责远程执行、监测、调度并且为工作队列提供支持。在一些实施例中,可以在设计器110中运行针对所有机器人类型的调试。有人值守的机器人和无人值守的机器人两者都可以使各种系统和应用自动化,该系统和应用包括但不限于大型主机、web应用、VM、企业应用(例如由
Figure BDA0002731471470000071
Figure BDA0002731471470000072
等生产的那些企业应用)以及计算系统应用(例如台式机和笔记本应用、移动设备应用、可穿戴计算机应用等)。
指挥器120可以具有各种能力,包括但不限于供应(provisioning)、部署(deployment)、配置(configuration)、排队(queueing)、监测(monitoring)、日志记录(logging)和/或提供互连性(interconnectivity)。供应可以包括在机器人130与指挥器120(例如web应用)之间创建和维护连接。开发可以包括确保将包(package)版本正确递送至所指派的机器人130以供执行。配置可以包括维护和递送机器人环境和过程配置。排队可以包括提供对队列和队列项的管理。监测可以包括追踪机器人标识数据和维护用户权限。日志记录可以包括将日志存储和编入索引至数据库(例如SQL数据库)和/或另一存储机制(例如
Figure BDA0002731471470000073
其提供用于存储和快速查询较大数据集的能力)。指挥器120可以通过充当第三方解决方案和/或应用的通信的集中点来提供互连性。
机器人130是运行内置于设计器110中的工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是UiPath RobotsTM。在一些实施例中,机器人130默认安装Microsoft
Figure BDA0002731471470000074
服务控制管理器(SCM)管理的服务。结果,此类机器人130可以在本地系统账户下打开交互式
Figure BDA0002731471470000076
会话,并且具有
Figure BDA0002731471470000075
服务的权限。
在一些实施例中,机器人130可以在用户模式下被安装。针对此类机器人130,这意味着其具有与已经安装了给定机器人130的用户相同的权限。此特征也可以供高密度(HD)机器人使用,该高密度机器人确保了每台机器以其最大潜力的充分利用。在一些实施例中,任何类型的机器人130可以在HD环境中被配置。
在一些实施例中,机器人130被分成分别专用于特定自动化任务的若干组件。在一些实施例中,机器人组件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理以及命令行。SCM管理的机器人服务管理和监测
Figure BDA0002731471470000081
会话,并且充当指挥器120与执行主机(即,机器人130在其上被执行的计算系统)之间的委托。这些服务受机器人130信任并且管理机器人130的凭证。控制台应用在本地系统下由SCM启动。
在一些实施例中,用户模式机器人服务管理和监测
Figure BDA0002731471470000082
会话,并且充当指挥器120与执行主机之间的委托。用户模式机器人服务可以受机器人130信任并且管理机器人130的凭证。在未安装SCM管理的机器人服务的情况下,
Figure BDA0002731471470000083
应用可以被自动启动。
执行器可以在
Figure BDA0002731471470000084
会话下运行给定作业(即,执行器可以执行工作流。执行器可以知道每个监测器的每英寸点数(DPI)设置。代理可以是
Figure BDA0002731471470000085
PresentationFoundation(WPF)应用,其在系统托盘窗口中显示可用的作业。代理可以是服务的客户端。代理可以请求开启或停止作业以及改变设置。命令行是服务的客户端。命令行是可以请求开启作业并等待其输出的控制台应用。
如上文所阐释一般使机器人130的组件分开帮助开发者、支持用户以及计算系统更容易地运行、标识和追踪每个组件正在执行的内容。特殊行为可以以这种方式按组件来配置,诸如针对执行器和服务设置不同的防火墙规则。在一些实施例中,执行器可以始终知道每个监测器的DPI设置。结果,不论创建工作流的计算系统的配置如何,工作流都可以在任何DPI处被执行。在一些实施例中,来自设计器110的项目也可以独立于浏览器缩放级别。在一些实施例中,针对DPI不知道的或有意地标记为不知道的应用,DPI可以被禁用。
图2是图示了根据本发明的实施例的部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100或可以是该RPA系统的一部分。应注意,在不脱离本发明的范围的情况下,客户端侧、服务器侧或两者都可以包括任何期望数量的计算系统。在客户端侧,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可以不在计算系统210上运行。执行器212正在运行过程。如图2中所示,若干业务项目可以同时运行。在该实施例中,代理214(例如
Figure BDA0002731471470000091
服务)是所有执行器212的单个联系点。该实施例中的所有消息被日志记录到指挥器230中,该指挥器经由数据库服务器240、索引器服务器250或两者进一步处理这些消息。如上文相对于图1所讨论的,执行器212可以是机器人组件。
在一些实施例中,机器人表示机器名称与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互式会话的计算系统(例如
Figure BDA0002731471470000092
服务器2012)上,可以存在多个机器人同时运行,每个机器人在使用唯一用户名的单独
Figure BDA0002731471470000093
会话中。上文将此称为HD机器人。
代理214还负责发送机器人的状态(例如周期性地发送指示机器人仍在运作的“心跳”消息)并且下载要被执行的包的所需版本。在一些实施例中,代理214与指挥器230之间的通信始终由代理214发起。在通知场景中,代理214可以打开WebSocket信道,稍后由指挥器230使用该WebSocket信道来向机器人发送命令(例如开启、停止等)。
在服务器侧,包括了呈现层(web应用232、开放数据协议(OData)代表性状态转移(REST)应用编程接口(API)端点234以及通知和监测236)、服务层(API实现/业务逻辑238)以及持久层(数据库服务器240和索引器服务器250)。指挥器230包括web应用232、ODataREST API端点234、通知和监测236以及API实现/业务逻辑238。在一些实施例中,用户在指挥器230的接口中(例如经由浏览器220)执行的大多数动作是通过调用各种API来执行的。在不脱离本发明的范围的情况下,此类动作可以包括但不限于在机器人上开启作业、在队列中添加/移除数据、调度作业以便以无人值守的方式运行等。Web应用232是服务器平台的视觉层。在该实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,可以在不脱离本发明的范围的情况下使用任何期望标记语言、脚本语言或任何其他格式。在该实施例中,用户经由浏览器220与来自web应用232的网页交互,以便执行各种动作来控制指挥器230。例如,用户可以创建机器人群组、向机器人指派包、分析每个机器人和/或每个过程的日志、开启和停止机器人等。
除了web应用232之外,指挥器230还包括暴露OData RESTAPI端点234的服务层。然而,在不脱离本发明的范围的情况下可以包括其他端点。REST API由web应用232和代理214两者消耗。在该实施例中,代理214是客户端计算机上的一个或多个机器人的监督器。
在该实施例中,REST API覆盖配置、日志记录、监测以及排队功能性。在一些实施例中,配置端点可以用于定义和配置应用用户、权限、机器人、资产、发布以及环境。日志记录REST端点可以用于日志记录不同信息,诸如(例如)误差、由机器人发送的显式消息以及其他环境特定信息。如果在指挥器230中使用了开启作业命令,那么可以由机器人使用部署REST端点来查询应该被执行的包版本。排队REST端点可以负责队列和队列项管理,诸如将数据添加至队列、从队列中获得事务、设置事务的状态等。
监测REST端点可以监测web应用232和代理214。通知和监测API 236可以是用于注册代理214、向代理214递送配置设置并且用于从服务器和代理214发送/接收通知的REST端点。在一些实施例中,通知和监测API 236还可以使用WebSocket通信。
在该实施例中,持久层包括一对服务器——数据库服务器240(例如SQL服务器)和索引器服务器250。在该实施例中,数据库服务器240存储机器人、机器人群组、相关联的过程、用户、角色、调度等的配置。在一些实施例中,该信息通过web应用232来管理。数据库服务器240可以管理队列和队列项。在一些实施例中,数据库服务器240可以存储由机器人(除了索引器服务器250之外或代替索引器服务器250)日志记录的消息。
在一些实施例中可选的索引器服务器250存储由机器人日志记录的信息并且将该信息编入索引。在某些实施例中,索引器服务器250可以通过配置设置来禁用。在一些实施例中,索引器服务器250使用
Figure BDA0002731471470000111
其为开源项目全文搜索引擎。由机器人日志记录的消息(例如使用比如日志消息或写入行的活动)可以通过(多个)日志记录的REST端点被发送到索引器服务器250,在索引器服务器250中这些消息被编入索引以供将来使用。
图3是图示了根据本发明的实施例的设计器310、活动320、330与驱动340之间的关系300的架构图。根据上文,开发者使用设计器310来开发由机器人执行的工作流。工作流可以包括用户定义的活动320和UI自动化活动330。一些实施例能够标识图像中的非文本视觉分量,在本文中称作计算机视觉(CV)。与此类分量相关的一些CV活动可以包括但不限于点击、键入(type)、取得文本、悬停、元素存在、刷新范围、高亮等。在一些实施例中,点击使用例如CV、光学字符识别(OCR)、模糊文本匹配以及多锚(multi-anchor)来标识元素,并且点击该元素。键入可以使用上述内容来标识元素和该元素中的类型。取得文本可以标识特定文本的位置并且使用OCR来扫描该位置。悬停可以标识元素并且悬停于元素上方。元素存在可以使用上文所描述的技术来检查在屏幕上是否存在元素。在一些实施例中,可以存在可以在设计器310中被实现的数百个甚至数千个活动。然而,在不脱离本发明的范围的情况下,任何数量和/或类型的活动都可以是可用的。
UI自动化活动330是利用较低级代码编写的特殊的较低级活动(例如CV活动)的子集并且支持与屏幕的交互。UI自动化活动330经由允许机器人与期望软件交互的驱动340来支持这些交互。例如,驱动340可以包括OS驱动342、浏览器驱动344、VM驱动346、企业应用驱动348等。
驱动340可以与OS进行低级交互,进而寻找挂钩、监测键等。驱动器可以支持与
Figure BDA0002731471470000121
等的集成。例如,“点击”活动经由驱动340在这些不同应用中扮演相同角色。
图4是图示了根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是或包括图1和/或图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由在其上运行的web应用与指挥器计算系统420进行通信。指挥器计算系统420又能够与数据库服务器430和可选的索引器服务器440进行通信。
相对于图1和图3,应注意,虽然在这些实施例中使用了web应用,但可以在不脱离本发明的范围的情况下使用任何合适的客户端/服务器软件。例如,指挥器可以运行服务器侧应用,该服务器侧应用与客户端计算系统上的非基于网络的客户端软件应用进行通信。
图5是图示了根据本发明的实施例的被配置为提供用于RPA的DPF的计算系统500的架构图。在一些实施例中,计算系统500可以是本文中所描绘和/或描述的计算系统中的一者或多者。计算系统500包括总线505或用于传送信息的其他通信机制、以及被耦合至总线505以处理信息的(多个)处理器510。(多个)处理器510可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例和/或其任何组合。(多个)处理器510还可以具有多个处理核心,并且至少一些核心可以被配置为执行特定功能。在一些实施例中,可以使用多并行处理。在某些实施例中,(多个)处理器510中的至少一者可以是包括模仿生物神经的处理元件的神经形态电路。在一些实施例中,神经形态电路可以不需要冯·诺依曼计算架构的典型组件。
计算系统500还包括用于存储将由(多个)处理器510执行的信息和指令的存储器515。存储器515可以由随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、缓存、静态存储装置(诸如磁盘或光盘)或任何其他类型的非瞬态计算机可读介质或其组合的任何组合组成。非瞬态计算机可读介质可以是可以由(多个)处理器510访问的任何可用介质,并且可以包括易失性介质、非易失性介质或两者。介质也可以是可移除的、不可移除的或两者。
附加地,计算系统500包括通信设备520(诸如收发器)以经由无线和/或有线连接提供对通信网络的访问。在一些实施例中,在不脱离本发明的范围的情况下,通信设备520可以被配置为使用频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动系统(GSM)通信、通用分组无线电服务(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)、第五代(5G)、新无线电(NR)、其任何组合和/或任何其他现有或将来实现的通信标准和/或协议。在一些实施例中,在不脱离本发明的范围的情况下,通信设备520可以包括一个或多个天线,这些天线是单数的、阵列的、相控的、切换的、波束成形的、波束导向的、其组合和/或任何其他天线配置。
(多个)处理器510进一步经由总线505被耦合到显示器525,诸如等离子体显示器、液晶显示器(LCD)、发光二极管(LED)显示器、场发射显示器(FED)、有机发光二极管(OLED)显示器、柔性OLED显示器、柔性基板显示器、投影显示器、4K显示器、高清显示器、
Figure BDA0002731471470000131
显示器、面内切换(IPS)显示器或用于向用户显示信息的任何其他合适的显示器。显示器525可以被配置为使用电阻性、电容性、表面声波(SAW)电容性、红外、光学成像、色散信号技术、声学脉冲识别、受抑全内反射等的触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多触摸显示器等。可以在不脱离本发明的范围的情况下使用任何合适的显示设备和触觉I/O。
键盘530和光标控制设备535(诸如计算机鼠标、触摸板等)进一步被耦合到总线505以使得用户能够与计算系统接口连接。然而,在某些实施例中,可以不存在物理键盘和鼠标,并且用户可以仅通过显示器525和/或触摸板(未示出)与设备交互。输入设备的任何类型和组合可以被用作设计选择的问题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与之通信的另一计算系统与计算系统500远程地交互,或计算系统500可以自主地操作。
存储器515存储在被(多个)处理器510执行时提供功能性的软件模块。模块包括计算系统500的操作系统540。模块还包括被配置为执行本文中所描述的过程或其衍生物的全部或部分的DPF模块545。计算系统500可以包括一个或多个附加功能模块550,该功能模块包括附加功能性。
本领域的技术人员应了解,在不脱离本发明的范围的情况下,“系统”可以被实施为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、手机、平板计算设备、量子计算系统或任何其他合适的计算设备或设备的组合。将上文所描述的功能呈现为由“系统”执行并不旨在以任何方式限制本发明的范围,而是旨在提供本发明的许多实施例的一个示例。实际上,本文中所公开的方法、系统和装置可以按照与包括云计算系统的计算技术一致的本地化和分布式形式来实现。
应注意,本说明书中所描述的一些系统特征已经作为模块而被呈现,以便更具体地强调其实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或门阵列、现成半导体(诸如逻辑芯片、晶体管或其他分立组件)的硬件电路。模块也可以被实现在可编程硬件设备中,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块也可以至少部分地被实现在软件中以便由各种类型的处理器执行。例如,可执行代码的所标识的单元可以包括计算机指令的一个或多个物理块或逻辑块,这些计算机指令可以例如被组织成对象、过程或功能。虽然如此,但所标识的模块的可执行文件不需要在物理上位于一处,而是可以包括存储在不同位置中的全异的指令,这些指令在以逻辑方式被结合在一起时包括该模块并且实现了该模块的既定目的。此外,模块可以被存储在计算机可读介质上,在不脱离本发明的范围的情况下,该计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任何其他此类非瞬态计算机可读介质。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以分布在若干不同的代码段上、分布在不同程序之间以及跨多个存储器设备分布。类似地,操作数据在本文中可以被标识和图示为在模块内,并且该操作数据可以被实施为任何合适的形式并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或可以分布于包括在不同存储设备上的不同位置上,并且可以至少部分地仅作为系统或网络上的电子信号存在。
定义和管理分类法
在设计用于文档处理的工作流之前,一些实施例的DPF允许用户定义针对分类和数据提取的文档类型的列表以及针对文档类型中的每一个文档类型的相关联字段(即,要在文档和相关联类型中被搜索的信息)。在一些实施例中,这可以使用分类法管理器来完成。所定义的分类法信息作为主分类法可以被存储在公共专有数据结构中,该公共专有数据结构被定义为公共包中的类,该类可以由软件开发者和RPA开发者两者以编程方式使用,以操纵分类法对象。在一些实施例中,该类可以是例如UiPath StudioTM中的DocumentTaxonomy。
图6A-D是图示了根据本发明的实施例的分类法管理器600的屏幕截图。分类法管理器600包括文档类型定义接口610(还参见图6B)、文档类型明细接口620(还参见图6C)以及编辑字段接口630(还参见图6D)。共同地,接口610、620、630允许用户定义文档类型的列表,提供文档类型明细,并且编辑文档类型的字段。
文档类型定义接口610允许用户添加新文档类型或编辑或移除现有文档类型。接口还提供用于选择分组和类别以及搜索分组和类别的功能性。在该实施例中使用分组和类别来更好地组织分类法中的文档类型的类集。基于接口610(还参见图6B)中的这些设置,分组和类别过滤可以是可用的。可以经由接口620(还参见图6C)向分组和类别指派每个文档类型。分类法组织(例如按分组、类别、文档类型、字段等)可以随着时间流逝而改变,同时保持捕获文档处理元数据这一目的。此外,数据结构、用户接口以及公共合同可以在设计、封装、内容、功能性等方面发展。
文档类型明细接口620允许用户为文档类型提供名称以及为文档类型选择分组和类别。文档类型代码还可以可选地被指定。示出了与文档类型相关联的字段,并且用户也可以添加、编辑或移除字段。
编辑字段接口630允许用户编辑给定字段的特性。可用特性可以基于多个因素而改变,这些因素可以包括但不限于字段类型、类别、分组等。
使文件数字化
在一些实施例中,可以使用RPA工具700(例如UiPath StudioTM)的工作流中的数字化活动710来执行文件的数字化,该RPA工具700输出经处理的文件的文本版本以及文档对象模型(DOM)。参见图7A和图7B。DOM可以在RPA工具的专有数据结构中被捕获,该专有数据结构可以被定义为公共包中的类。该类可以由软件开发者和RPA开发者两者以编程方式使用,以操纵DOM对象。DOM捕获关于对于每个页面文件包含什么的信息,具有键入部分(例如段落、表格、列、垂直文本、标头、页眉、页脚等)、键入词组(例如语句、表格单元等)以及词级别信息(例如每个页面上的绝对位置、OCR置信度、内容等),这些全部都通过旋转、偏斜、相对宽度和高度信息等而得到增强。
可以用与要使用的OCR引擎相关的即插即用功能性来构建文件数字化组件,使得遵守由文档处理框架强制执行的所定义的合同的任何合适的OCR引擎实现可以被使用。还可以增强数字化组件,以允许使用多个OCR引擎并且实现投票系统以报告所使用的所有引擎的最佳组合结果。例如,可以选择大多数OCR引擎同意的结果。在某些实施例中,可以基于给定OCR系统的准确性来对这样的结果进行加权。然而,应注意,在一些实施例中,在不脱离本发明的范围的情况下,投票/OCR结果聚合算法可以基于或不基于人类反馈来采用任何类型的度量或置信度计算,以确定和报告最佳可用文本性输出。
将文件分类成一个或多个文档类型
该功能性允许用户使用针对文档分类的一个或多个期望的分类器算法。分类算法的示例包括但不限于:基于布局的分类、基于情绪的分类、基于特征的分类、基于自然语言处理(NLP)的分类、基于机器学习(ML)的分类、基于深度学习的分类、基于图像的分类、基于关键字的分类以及基于颜色的分类。在一些实施例中,用户可以添加任何数量的分类器实现作为插件,删除、改变、互换并且改变分类器的顺序。在某些实施例中,可以使用同一类型的多个不同分类器(例如多个基于图像的分类器)。在一些实施例中,用户可以基于所使用的每个分类器的最小置信度阈值来定义接受标准。
在一些实施例中,用户可以从针对给定分类器的主分类法(例如在一些实施例中为使用分类法管理器设计和定义的主分类法)和任何内部分类法来执行分类法映射,用于以统一的方式将所有数据带入共同点的目的。当给定分类器报告“类”(例如文档类型)的内部集合作为应该被映射(被转化)到主分类法的分类的结果时,可以使用该功能性。例如,当传入文档是发票时,分类器可以报告类“INV”,而主分类法可以包含被称为“费用发票”的文档类型。该功能性允许从分类器报告的“INV”对应于在主分类法中所定义的“费用发票”的指定。
在某些实施例中,用户可以决定来自所使用的每个分类器组件的结果的优先级。在一些实施例中,用户还可以决定哪些分类器组件被允许解析某些文档类型以及哪些分类器组件被限制这样做。考虑到在特定用例中所使用的每个分类器实现(即,组件)的已知特征和限制,该功能性可以对文档分类进行微调。
文档分类功能性还可以对输出的相同类型进行确保,而不考虑基于数字化文件和分类法而使用的(多个)分类器。文档分类功能性的输出可以在专有数据结构中被捕获,该专有数据结构被定义为公共包中的类。该类可以由软件开发者和RPA开发者两者以编程方式使用,以操纵分类结果对象。在一些实施例中,这些类可以是在UiPath StudioTM中的公共数据合同包中定义的ClassifierResult和ClassificationResult。某些实施例可以包括不同分类器组件之间的较复杂的结果中介系统的实现以自动决定哪些结果更好,以及用于对来自针对不同页面范围的不同分类器组件的结果进行组合的系统。该功能性可以用于使文件分成多个逻辑文档。例如,在单个文件包含文档的包的情况下,其中在同一PDF文件中一个接一个地扫描文档。
图8A是图示了根据本发明的实施例的分类文档范围工作流800的屏幕截图。工作流800包括基于关键字的分类器活动802和固定形式分类器活动804。用户可以通过点击配置分类器链路806来配置工作流800中的分类器。在一些实施例中,分类文档范围组件可以被配置具有任何期望数量的分类器。
点击配置分类器链路806打开图8B的分类器配置接口810,其提供可以在配置表格的第一列中处理的文档类型的列表820,而接下来的列每个对应于按其在范围组件中被配置的顺序在范围中被使用的一个分类器。在该示例中,基于关键字的分类器配置窗格830和固定形式分类器配置窗格840允许用户为每一者设置最小置信度832、842。可以基于针对每个分类器单独设置的最小置信度阈值来过滤来自每个分类器的分类结果。用户还可以经由分类器配置中的复选框(此处为基于关键字的分类器配置窗格830和固定形式分类器配置窗格840)选择是对每个文档类型应用一个分类器、两个分类器还是不对其应用分类器。用户还可以可选地录入针对文档类型的内部分类法唯一ID,其中每个分类器都在复选框旁边的文本字段中使用内部分类法。
在一些实施例中,分类文档范围活动可以允许不仅按分类器而且还在分类器和文档类型级别设置最小置信度阈值。在某些实施例中,分类文档范围活动、分类器配置、优先级算法、用户接口、数据结构以及公共合同可以经历变化和调整,同时保持支持在开放且可扩展的框架中进行文档分类这一目的。
验证自动分类
在一些实施例中,分类验证模块提供用户接口,用于审阅、校正和/或手动地处理用于分类的文件。用户可以能够通过查看来自经处理的文件的页面的范围和自动地相关联的文档类型来审阅自动分类,在页面范围和文档类型级别两者处执行校正,删除或添加具有相关联文档类型的新部分和/或如果需要则完全手动地处理文档。
一些实施例的用户接口易于使用,并且提供视觉途径,以理解和判断文件中的每个单独页面。在一些实施例中,用户接口可独立于在先前的自动分类阶段中使用的分类组件而可供使用,从而为文档分类审阅和处理提供单个、统一的、最先进的用户接口。该途径可以消除人类依赖于所采用的分类技术来学习和使用针对文档分类的不同屏幕的需求,因此统一了总体经验并且减少了学习曲线和文档处理所需的总体时间。
从文档自动提取数据
在一些实施例中,自动数据提取功能性允许工作流中的提取器可互换地被使用。这样的实施例可以确保标准输入、标准输出、提取器之间的中介以及回退机制。提取器的一些示例可以包括但不限于:基于模板的提取器、基于布局的提取器、基于关键字的提取器、基于正则表达的提取器、基于上下文的提取器、基于标签/锚的提取器、基于图案的提取器、基于自然语言处理的提取器、机器学习提取器、基于元数据的提取器等。
在一些实施例中,用户可以添加任何期望数量的提取器实现作为插件。在某些实施例中,用户可以能够删除、改变、互换并且改变提取器的顺序。在一些实施例中,用户可以基于针对所使用的每个提取器的最小置信度阈值来定义接受标准。在一些实施例中,用户可以基于针对每个字段/提取器组合的最小置信度阈值来定义接受标准。
在一些实施例中,用户可以从主分类法(例如在一些实施例中为使用分类法管理器设计和定义的主分类法)和一个或多个提取器内部分类法执行分类法映射,用于以统一的方式将所有数据带入共同点的目的。当给定提取器报告“能力”(即,提取器可以提取的字段)的内部集合作为应该被映射(被转化)到主分类法的数据提取的结果时,可以使用该功能性。用户可以决定来自所使用的每个提取器的结果的优先级。例如,提取器可以在处理发票时报告针对被称为“INV-NO”的字段的值,而主分类法可以包含被称为“发票编号”的字段。该功能性允许从提取器报告的“INV-NO”对应于在主分类法中所定义的“发票编号”的指定。
用户还可以决定哪些提取器组件被允许解析某些字段以及哪些提取器组件被限制这样做。考虑到在特定用例中所使用的每个提取器实现(即,组件)的已知特征和限制,这些功能性允许对文档提取进行微调。在一些实施例中,提取器可以被实现为RPA工作流中的活动。
图9A是图示了根据本发明的实施例的数据提取范围工作流900的屏幕截图。工作流900包括FlexiCaptureTM提取器活动902和固定形式提取器活动904。用户可以通过点击配置提取器链路906来配置工作流900中的提取器。
点击配置提取器链路906打开图9B的提取器配置接口910。可以在文档类型和字段窗格920(还参见图9C)中查看来自主分类法的文档类型和字段,其中字段(例如“发票编号”)被分组在其相应文档类型(例如“发票”)下。通过在每个提取器的窗格(例如在此示例中为FlexiCaptureTM提取器窗格930(还参见图9D))和固定形式提取器窗格940(还参见图9E)中选择对应的复选框来在每个字段的基础上应用提取器。还可以经由提取器特定的窗格(例如分别为FlexiCaptureTM提取器窗格930和固定形式提取器窗格940)中的文本字段932、942来指定最小置信度百分比。
该实施例中的文档提取功能性对输出的相同类型进行确保,而不考虑基于数字化文件和分类法而使用的提取器。例如,FlexiCaptureTM是第三方工具,该第三方工具具有其自身的内部分类法。在该实施例中,为了将每个提取器带入共同点,可以添加别名。例如,如下文所示出,FlexiCaptureTM提取器窗格930中的发票编号字段等同于固定形式提取器窗格940中的“inv-no”。这可以只需要配置一次,且数据提取范围的输出然后一直根据开发者已经定义的主分类法来提取数据。文档提取功能性的输出可以在专有数据结构中被捕获,该专有数据结构被定义为公共包中的类,该类可以由软件开发者和RPA开发者两者以编程方式使用,以操纵提取结果对象。
例如,在一些实施例中,这些类可以是在UiPath StudioTM的公共数据合同包中定义的ExtractorResult和ExtractionResult。某些实施例可以包括不同提取器组件之间的较复杂的结果中介系统的实现以自动决定哪些结果更好,以及用于对来自针对相同字段的不同提取器组件的提取器处理进行组合或链接的系统。该功能性可以用于从较大的所标识的部分进行细粒度数据标识。例如,在一些实施例中,第一提取器可以提取整个语句,而所链接的第二提取器可以将标识来自第一提取器所标识的语句的特定信息作为目标。
简而言之,一些实施例的DPF采用文件和具有页面边界的分类结果,尝试为每个相关联字段标识数据,使用工作流中所包括的提取算法,收集结果,并且基于置信度、定序(ordering)和提取器链接来报告针对每个字段的最佳结果。在图9A-E的示例中,使用了两个提取器——FlexiCaptureTM提取器902和固定形式提取器904。由于RPA开发者在工作流900中的这两个插件之间选择的定序,因此该实施例中的文档提取模块赋予由FlexiCaptureTM提取器902返回的结果在固定形式提取器904之上的优先级。文档提取模块可以不接受低于设置的置信度值(例如对于在用户在最小置信度字段932中设置该值的情况下由FlexiCaptureTM提取器902报告的结果的70%)的任何所报告的提取,而在最小置信度字段942被设置为0%的情况下接受由固定形式提取器904报告的任何分类。文档提取模块可以寻找由FlexiCaptureTM提取器902执行的可接受的提取,并且如果可接受,则报告该结果。如果FlexiCaptureTM提取器902没有可接受的提取来报告,那么文档提取模块可以寻找由固定形式提取器904执行的可接受的提取。
在一些实施例中,可以通过业务特定的信息或验证、特定格式化、和/或其他后处理来进一步增强提取结果。在某些实施例中,可以使用在任何期望的组合中可用的任何其他RPA工作流活动来检查/校正/增强自动数据提取组件的输出。这些活动可以用于操纵自动数据提取的输出,并且可以添加、移除或改变结果中所包含的某些值。例如,这可以用于复杂的用例,在这些用例中,所提取的数据应该通过来自数据库或在当时处理的单个文件外部的其他资源的信息而被增强。
验证自动数据提取
在一些实施例中,数据提取验证模块提供用户接口,以审阅、校正和/或手动地处理由数据提取模块报告的数据点(即,所提取的信息)。用户可以能够通过如下述来审阅来自自动数据提取的结果:(1)从文档的经处理部分(例如在如与分类相关的某些页面范围上)查看值、证据、在文档内找到所提取的值的位置、所提取的值置信度等;(2)通过在正确报告的值中编辑OCR误差、校正所报告的值的定位、完全替换所报告的值、添加通过自动处理而缺失的值、和/或通过移除通过自动处理而被错误标识的值,来执行校正;(3)通过直接在原始文件视图上选择范围、区域、(多个)词等来与通过执行操作所处理的原始文件的图形表示进行直接交互;(4)查看文档的文本版本并对其执行操作;和/或(5)在需要时完全手动地处理文档。
一些实施例的用户接口易于使用,并且提供视觉途径,以理解和判断要在文件中标识和提取的单独字段和数据的片段(piece)。在某些实施例中,可以使用户接口独立于在先前的自动分类和数据提取阶段中使用的数据提取组件而可供使用,从而为文档数据提取审阅和处理提供单个、统一的、最先进的用户接口。该途径可以消除人类依赖于所采用的数据提取技术来学习和使用针对数据验证的不同屏幕的需求,因此统一了总体经验并且减少了学习曲线和文档处理的总体时间。一些实施例的数据验证组件允许定义和使用定制验证规则,该定制验证规则可以在允许人类提交通过文档验证功能性而被处理的文档之前被检查。以这种方式,模块可以确保完整可扩展性,并且根据所涵盖的业务用例使该模块向定制实现开放。
训练分类器和提取器
在一些实施例中,分类器训练模块支持完成针对能够从人类反馈学习的分类器的反馈回路。分类器训练模块可以以统一的方式确保经人类验证的数据和使得算法能够从人类反馈学习的信息以一种形式到达被激活的分类器,该形式是由相应分类器可理解的(例如通过使用分类法映射功能性)并且启用了正确权限(例如通过使用训练分类器激活功能性)。该途径可以独立于所使用的(多个)分类器而提供用于闭合反馈回路的统一经验,并且还可以独立于用于实际文件分类的分类器组件。例如,这允许RPA开发者在激活分类器以供实际文件分类之前对分类器进行训练,因此实现了“即时”训练并且消除了对特定于每个分类组件的大量预先批注的文件的需求。
在一些实施例中,提取器训练模块支持完成针对能够从人类反馈学习的提取器的反馈回路。提取器训练模块可以以统一的方式确保经人类验证的数据和使得算法能够从人类反馈学习的信息以一种形式到达(多个)被激活的提取器,该形式是由(多个)提取器可理解的(例如通过使用分类法映射功能性)并且启用了正确权限(例如通过使用训练提取器字段级别激活功能性)。该途径可以独立于使用哪一(些)提取器组件而提供用于闭合反馈回路的统一经验,并且还可以独立于用于数据提取的实际文件处理的提取器组件。例如,这允许RPA开发者在激活提取器以供实际文档数据提取之前对提取器进行训练,因此实现了“即时”训练并且消除了对特定于每个提取组件的大量预先批注的文件的需求。
图10是图示了根据本发明的实施例的分类器和提取器训练工作流1000的屏幕截图。在此示例中,训练分类器范围活动1010包括基于关键字的分类器1012,其可以通过点击配置分类器链路1014被配置。在一些实施例中,除了不需要设置最小置信度阈值之外,分类器训练配置接口的功能性可以类似于图8B的分类器配置接口810。该分类器训练配置接口1100在图11中示出。然而,在某些实施例中,分类器训练配置接口可以包括附加训练设置参数,该附加训练设置参数可以是文档类型和分类器特定的。类似地,提取器训练配置接口的功能性可以类似于图9B的提取器配置接口910,并且在某些实施例中,可以包括附加训练设置参数。
图12是图示了根据本发明的实施例的用于实现用于RPA的DPF的过程1200的流程图。该过程开始于在1210处定义和存储通用分类法。在一些实施例中,这可以包括:执行分类法管理器,该分类法管理器提供接口,该接口支持对针对分类和数据提取为目标的文档类型的列表以及针对文档类型中的每一个文档类型的相关联字段进行定义;接收所定义的文档类型的列表和针对所定义的文档类型中的每一个所定义的文档类型的相关联字段;以及将文档类型的列表和相关联字段存储在主分类法数据结构中。
接下来,在1220处,执行RPA工作流中的数字化活动并且输出文件的文本版本和文档对象模型(DOM),文档对象模型被存储在DOM数据结构中。在一些实施例中,DOM包括与文件中的键入部分、键入词组以及词级别信息相关的信息,该键入部分、键入词组以及词级别信息通过旋转、偏斜、相对宽度和高度信息或者上述的任何组合而得到增强。在某些实施例中,数字化活动使用多个OCR引擎并且数字化活动包括:实现针对多个OCR引擎的投票系统;以及从多个OCR引擎输出最佳组合结果。
在1230处,使用RPA工作流中的一个或多个分类器将文件分类成一个或多个文档类型并且输出自动分类信息。在一些实施例中,可以将该信息存储在分类数据结构中。在一些实施例中,一个或多个分类器被配置为执行基于布局的分类、基于情绪的分类、基于特征的分类、基于自然语言处理(NLP)的分类、基于机器学习(ML)的分类、基于深度学习的分类、基于图像的分类、基于关键字的分类、基于颜色的分类、上述的任何组合、或者任何其他文档分类方法。在某些实施例中,分类包括:基于针对一个或多个分类器中的每一个分类器的最小置信度阈值来使用接受标准。在一些实施例中,分类包括:映射一个或多个分类器中的相应分类器的主分类法和内部分类法。在某些实施例中,分类包括:基于RPA工作流中的分类器顺序对来自每个分类器的结果进行优先级排序;基于文档类型来选择用于分类中的一个或多个分类器中的分类器;向一个或多个分类器中的至少一个分类器指派最小置信度字段;或者上述的任何组合。
在1240处,执行分类验证模块,该分类验证模块提供接口,以审阅、校正和/或手动地处理用于分类的文件,并且输出自动分类信息。在1250处,执行分类器训练模块,该分类器训练模块支持针对一个或多个分类器的反馈回路的完成。在1260处,使用RPA工作流中的一个或多个提取器从经分类的文档提取数据,并且输出自动提取的数据。在一些实施例中,可以将该所提取的数据存储在提取数据结构中。在一些实施例中,提取包括:基于RPA工作流中的提取器顺序对来自每个提取器的结果进行优先级排序;基于文档类型来选择用于提取中的一个或多个提取器中的提取器;向一个或多个提取器中的至少一个提取器指派最小置信度字段;或者上述的任何组合。
在1270处,执行数据提取验证模块,该数据提取验证模块提供接口,以校正和/或手动地处理来自数据提取的数据点;并且输出经确认的所提取的数据。在1280处,执行提取器训练模块,该提取器训练模块支持针对一个或多个提取器的反馈回路的完成。然后在1290处,导出包括分类结果和所提取的信息的经处理的数据。应注意,一旦定义了分类法,则在一些实施例中,基于用例的需要,步骤1220-1290中的一个或多个步骤可以是可选的。
在完成了过程1200之后,经验证的信息现在能够用于其他系统中。例如,可以将该信息插入数据库或
Figure BDA0002731471470000261
文件中,可以经由电子邮件发送具有特定值的通知等。通过非限制性示例,图12的过程1200可以开始于PDF文件,并且结束于知道:该文件是发票,该发票中写入的总金额为
Figure BDA0002731471470000262
供应者为“XYZ书店”,且购买日期为2019年7月23日。例如,现在可将这些值以编程方式插入于计账系统中。
根据本发明的实施例,图1中执行的过程步骤可以由计算机程序执行,该计算机程序编码有指令,该指令用于使(多个)处理器执行图12中所描述的(多个)过程的至少一部分。计算机程序可以被实施在非瞬态计算机可读介质上。计算机可读介质可以是但不限于硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任何其他此类介质或介质的组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如图5的计算系统500的(多个)处理器510)以实现图12中所描述的过程步骤中的全部或一部分的编码指令,这些编码指令还可以被存储在计算机可读介质上。
计算机程序可以被实现在硬件、软件或混合实现中。计算机程序可以由彼此可操作地通信并且被设计成传递信息或指令以进行显示的模块组成。计算机程序可以被配置为在通用计算机、ASIC或任何其他合适的设备上操作。
将容易地理解,如本文中的诸图中大体上描述和图示的,本发明的各种实施例的组件可以以多种不同配置来布置和设计。因此,如附图中所表示,对本发明的实施例的详细描述并不旨在限制所要求保护的本发明的范围,而是仅仅表示本发明的所选择的实施例。
贯穿本说明书描述的本发明的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,贯穿本说明书,对“某些实施例”、“一些实施例”或类似语言的参考是指结合实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言的出现并不一定全都是指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
应注意,贯穿本说明书,对特征、优点或类似语言的参考并不意味着可以用本发明实现的所有特征和优点都应该在或都在本发明的任何单个实施例中。相反,涉及特征和优点的语言被理解为是指结合实施例所描述的特定特征、优点或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书,对特征和优点以及类似语言的讨论可以但并不一定是指相同实施例。
此外,本发明的所描述的特征、结构和特性可以在一个或多个实施例中以任何合适的方式组合。相关领域的技术人员应认识到,可以在不具有特定实施例的特定特征或优点中的一者或多者的情况下实践本发明。在其他情况下,可以不存在于本发明的所有实施例中的附加特征和优点在某些实施例中可能被识别。
本领域的普通技术人员应容易地理解,可以利用不同顺序的步骤和/或利用与所公开的配置不同的配置的硬件元件来实践如上文所描述的本发明。因此,尽管已经基于这些优选实施例描述了本发明,但对于本领域的技术人员而言将明显的是,某些修改、变型和备选构造将是明显的,同时仍在本发明的精神和范围内。因此,为了确定本发明的界限和边界,应当参考所附权利要求书。

Claims (31)

1.一种被实施在非瞬态计算机可读介质上的计算机程序,所述程序被配置为使至少一个处理器:
使用机器人流程自动化(RPA)工作流中的一个或多个分类器将文件自动分类成一个或多个文档类型;
将所述自动分类的结果存储在分类数据结构中;
使用所述RPA工作流中的一个或多个提取器从经分类的所述文件自动提取数据;
将自动提取的所述数据存储在提取数据结构中;以及
输出自动提取的所述数据。
2.根据权利要求1所述的计算机程序,其中所述一个或多个分类器被配置为执行基于布局的分类、基于情绪的分类、基于特征的分类、基于自然语言处理(NLP)的分类、基于机器学习(ML)的分类、基于深度学习的分类、基于图像的分类、基于关键字的分类、基于颜色的分类、或者上述的任何组合。
3.根据权利要求1所述的计算机程序,其中所述自动分类包括:基于针对所述一个或多个分类器中的每个分类器的最小置信度阈值来使用接受标准。
4.根据权利要求1所述的计算机程序,其中所述自动分类包括:映射所述一个或多个分类器中的相应分类器的所述主分类法和内部分类法。
5.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
基于所述RPA工作流中的分类器顺序对来自每个分类器的结果进行优先级排序;基于所述文档类型来选择用于所述自动分类中的所述一个或多个分类器中的分类器;向所述一个或多个分类器中的至少一个分类器指派最小置信度阈值;或者上述的任何组合。
6.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
执行分类验证模块,所述分类验证模块提供接口,以审阅、校正和/或手动地处理用于所述自动分类的文件。
7.根据权利要求1所述的计算机程序,其中所述一个或多个提取器被配置为执行基于模板的提取、基于布局的提取、基于关键字的提取、基于正则表达的提取、基于上下文的提取、基于标签/锚的提取、基于图案的提取、基于自然语言处理的提取、机器学习提取、深度学习提取、基于元数据的提取、或者上述的任何组合。
8.根据权利要求1所述的计算机程序,其中所述自动数据提取包括:基于针对所述一个或多个提取器中的每个提取器的最小置信度阈值来使用接受标准。
9.根据权利要求1所述的计算机程序,其中所述自动数据提取包括:映射所述一个或多个提取器中的相应提取器的所述主分类法和内部分类法。
10.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
基于所述RPA工作流中的提取器顺序对来自每个提取器的结果进行优先级排序;基于所述文档类型来选择用于所述自动提取中的所述一个或多个提取器中的提取器;向所述一个或多个提取器中的至少一个提取器指派最小置信度阈值;或者上述的任何组合。
11.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
执行数据提取验证模块,所述数据提取验证模块提供接口,以校正和/或手动地处理来自所述自动提取的数据点。
12.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
执行提取器训练模块,所述提取器训练模块支持针对所述一个或多个提取器的反馈回路的完成。
13.根据权利要求1所述的计算机程序,其中所述程序被配置为使所述至少一个处理器:
执行分类器训练模块,所述分类器训练模块支持针对所述一个或多个分类器的反馈回路的完成。
14.根据权利要求1所述的计算机程序,所述程序还被配置为使至少一个处理器:
执行分类法管理器,所述分类法管理器提供接口,所述接口支持对以针对所述自动分类和自动数据提取为目标的文档类型的列表、以及针对所述文档类型中的每一个文档类型的相关联字段进行定义;
经由所述分类法管理器接收所定义的文档类型的列表和针对所述所定义的文档类型中的每个所定义的文档类型的所述相关联字段;以及
将文档类型的所述列表和所述相关联字段存储在主分类法数据结构中。
15.根据权利要求1所述的计算机程序,其中所述程序还被配置为使所述至少一个处理器:
执行机器人流程自动化(RPA)工作流中的数字化活动;以及
输出文件的文本版本和文档对象模型(DOM),所述文档对象模型被存储在DOM数据结构中。
16.根据权利要求15所述的计算机程序,其中所述DOM包括与所述文件中的键入部分、键入词组以及词级别信息相关的信息,所述键入部分、键入词组以及词级别信息通过旋转、偏斜、相对宽度和高度信息或者上述的任何组合而得到增强。
17.根据权利要求15所述的计算机程序,其中所述数字化活动使用多个光学字符识别(OCR)引擎并且还包括:
实现针对所述多个OCR引擎的投票系统;以及
从所述多个OCR引擎输出最佳组合结果。
18.根据权利要求1所述的计算机程序,所述程序还被配置为使所述至少一个处理器:
导出所述自动分类的所述结果和自动提取的所述数据以供在其他系统中使用。
19.一种计算机实现的方法,包括:
由计算系统从分类法管理器接收所定义的文档类型的列表和针对所述所定义的文档类型中的每个所定义的文档类型的相关联字段;
由所述计算系统将文档类型的所述列表和所述相关联字段存储在主分类法数据结构中;
由所述计算系统使用机器人流程自动化(RPA)工作流中的一个或多个分类器将所述文件自动分类成一个或多个文档类型;
由所述计算系统将所述自动分类的结果存储在分类数据结构中;以及
由所述计算系统输出所述自动分类的所述结果。
20.根据权利要求19所述的计算机实现的方法,还包括:
由所述计算系统执行所述RPA工作流中的数字化活动;以及
由所述计算系统输出文件的文本版本和文档对象模型(DOM),所述文档对象模型被存储在DOM数据结构中,其中
所述DOM包括与所述文件中的键入部分、键入词组以及词级别信息相关的信息,所述键入部分、键入词组以及词级别信息通过旋转、偏斜、相对宽度和高度信息或者上述的任何组合而得到增强。
21.根据权利要求19所述的计算机实现的方法,还包括:
由所述计算系统执行分类器训练模块,所述分类器训练模块支持针对所述一个或多个分类器的反馈回路的完成。
22.根据权利要求19所述的计算机实现的方法,还包括:
由所述计算系统执行分类验证模块,所述分类验证模块提供接口,以审阅、校正和/或手动地处理用于所述自动分类的文件。
23.根据权利要求19所述的计算机实现的方法,还包括:
由所述计算系统使用所述RPA工作流中的一个或多个提取器从经分类的文档自动提取数据;以及
由所述计算系统将自动提取的所述数据存储在提取数据结构中。
24.根据权利要求23所述的计算机实现的方法,还包括:
由所述计算系统执行提取器训练模块,所述提取器训练模块支持针对所述一个或多个提取器的反馈回路的完成。
25.根据权利要求23所述的计算机实现的方法,还包括:
由所述计算系统执行数据提取验证模块,所述数据提取验证模块提供接口,以校正和/或手动地处理来自所述自动提取的数据点。
26.一种系统,包括:
存储器,所述存储器存储计算机程序指令;以及
至少一个处理器,所述至少一个处理器被配置为执行所述计算机程序指令,所述指令被配置为使所述至少一个处理器:
从分类法管理器接收所定义的文档类型的列表和针对所述所定义的文档类型中的每个所定义的文档类型的相关联字段;
执行机器人流程自动化(RPA)工作流中的数字化活动,并且输出文件的文本版本和文档对象模型(DOM);
使用所述RPA工作流中的一个或多个分类器将所述文件自动分类成一个或多个文档类型;
使用所述RPA工作流中的一个或多个提取器从经分类的所述文档自动提取数据;
输出自动提取的所述数据。
27.根据权利要求26所述的系统,其中
所述自动分类还包括:基于所述RPA工作流中的分类器顺序对来自每个分类器的结果进行优先级排序;基于所述文档类型来选择用于所述自动分类中的所述一个或多个分类器中的分类器;向所述一个或多个分类器中的至少一个分类器指派最小置信度阈值;或者上述的任何组合,以及
所述自动提取还包括:基于所述RPA工作流中的提取器顺序对来自每个提取器的结果进行优先级排序;基于所述文档类型来选择用于所述自动提取中的所述一个或多个提取器中的提取器;向所述一个或多个提取器中的至少一个提取器指派最小置信度阈值;或者上述的任何组合。
28.根据权利要求26所述的系统,其中所述指令还被配置为使所述至少一个处理器:
执行提取器训练模块,所述提取器训练模块支持针对所述一个或多个提取器的反馈回路的完成。
29.根据权利要求26所述的系统,其中所述指令还被配置为使所述至少一个处理器:
执行分类验证模块,所述分类验证模块提供接口,以审阅、校正和/或手动地处理用于所述自动分类的文件。
30.根据权利要求26所述的系统,其中所述指令还被配置为使所述至少一个处理器:
执行提取器训练模块,所述提取器训练模块支持针对所述一个或多个提取器的反馈回路的完成。
31.根据权利要求26所述的系统,其中所述指令还被配置为使所述至少一个处理器:
执行数据提取验证模块,所述数据提取验证模块提供接口,以校正和/或手动地处理来自所述自动提取的数据点。
CN202080002358.1A 2019-09-30 2020-08-28 用于机器人流程自动化的文档处理框架 Pending CN112771514A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/587,386 US20210097274A1 (en) 2019-09-30 2019-09-30 Document processing framework for robotic process automation
US16/587,386 2019-09-30
PCT/US2020/048389 WO2021066972A1 (en) 2019-09-30 2020-08-28 Document processing framework for robotic process automation

Publications (1)

Publication Number Publication Date
CN112771514A true CN112771514A (zh) 2021-05-07

Family

ID=75161831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080002358.1A Pending CN112771514A (zh) 2019-09-30 2020-08-28 用于机器人流程自动化的文档处理框架

Country Status (5)

Country Link
US (1) US20210097274A1 (zh)
KR (1) KR102478331B1 (zh)
CN (1) CN112771514A (zh)
TW (1) TW202115601A (zh)
WO (1) WO2021066972A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416049A (zh) * 2021-12-23 2022-04-29 北京来也网络科技有限公司 结合rpa和ai的服务接口的配置方法及装置
CN114492399A (zh) * 2021-12-29 2022-05-13 国网天津市电力公司 一种基于正则表达式的合同信息提取系统及方法
CN115934077A (zh) * 2023-03-10 2023-04-07 北京安锐卓越信息技术股份有限公司 一种面向UiPath的数据处理方法、装置及电子设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288064B1 (en) * 2020-09-14 2022-03-29 Sap Se Robotic process automation for interactive documentation
CN113157729A (zh) * 2021-04-23 2021-07-23 中国工商银行股份有限公司 批量邮件自动处理方法和装置
TWI815140B (zh) * 2021-07-05 2023-09-11 廣達電腦股份有限公司 流程操作系統及流程操作方法
TWI789907B (zh) * 2021-09-14 2023-01-11 神雲科技股份有限公司 自動分派除錯人員的方法
US20230107316A1 (en) 2021-10-05 2023-04-06 UiPath, Inc. Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation
US11961317B2 (en) * 2021-11-24 2024-04-16 Oracle Financial Services Software Limited Extracting textual information from image documents
KR102643073B1 (ko) 2021-12-23 2024-03-05 주식회사 제인소프트 지능형 업무 처리 자동화 시스템 및 그 구동방법
TWI826155B (zh) * 2022-11-30 2023-12-11 元赫數位雲股份有限公司 識別隨機多合一帳務憑證影像以自動獲取多組帳務關聯資訊之帳務管理系統

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129006A1 (en) * 2001-02-16 2002-09-12 David Emmett System and method for modifying a document format
US8540158B2 (en) * 2007-12-12 2013-09-24 Yiwu Lei Document verification using dynamic document identification framework
EP2386089A4 (en) * 2009-01-12 2013-01-16 Namesforlife Llc SYSTEMS AND METHOD FOR AUTOMATIC IDENTIFICATION AND CONNECTION OF NAMES IN DIGITAL RESOURCES
KR101389977B1 (ko) * 2012-02-28 2014-05-07 주식회사 팬택 다중 운영체제를 지원하는 클라이언트 단말 및 다중 운영체제 지원방법
US10810240B2 (en) * 2015-11-06 2020-10-20 RedShred LLC Automatically assessing structured data for decision making
US10489502B2 (en) * 2017-06-30 2019-11-26 Accenture Global Solutions Limited Document processing
US10402641B1 (en) * 2019-03-19 2019-09-03 Capital One Services, Llc Platform for document classification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416049A (zh) * 2021-12-23 2022-04-29 北京来也网络科技有限公司 结合rpa和ai的服务接口的配置方法及装置
CN114416049B (zh) * 2021-12-23 2023-03-14 北京来也网络科技有限公司 结合rpa和ai的服务接口的配置方法及装置
CN114492399A (zh) * 2021-12-29 2022-05-13 国网天津市电力公司 一种基于正则表达式的合同信息提取系统及方法
CN115934077A (zh) * 2023-03-10 2023-04-07 北京安锐卓越信息技术股份有限公司 一种面向UiPath的数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
KR20210040826A (ko) 2021-04-14
US20210097274A1 (en) 2021-04-01
WO2021066972A1 (en) 2021-04-08
KR102478331B1 (ko) 2022-12-15
TW202115601A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
KR102478331B1 (ko) 로봇 프로세스 자동화를 위한 문서 프로세싱 프레임워크
US11648686B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US11815880B2 (en) Human-in-the-loop robot training for robotic process automation
EP3798956A1 (en) Document processing framework for robotic process automation
CN112668988A (zh) 使用人工智能(ai)的媒体到工作流生成
US20220207268A1 (en) Form extractor
CN114585480A (zh) 用于机器人流程自动化的自动分析、优先化和机器人生成
CN115136162A (zh) 用于验证标签数据的系统和计算机实现的方法
KR20220079830A (ko) 로봇 프로세스 자동화 워크플로우를 위한 재구성 가능한 워크벤치 파이프라인
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
US20220100964A1 (en) Deep learning based document splitter
CN113811850A (zh) 机器人流程自动化的图形元素搜索技术选择、锚点和目标的模糊逻辑选择和/或分层图形元素标识
CN113366492A (zh) 专用图形元素检测
US20230339102A1 (en) System, apparatus, and method for deploying robotic process automations across multiple operating systems
US20240046142A1 (en) Intent-based automation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination