CN117950649A - 用于机器人过程自动化的语义自动化构建器 - Google Patents

用于机器人过程自动化的语义自动化构建器 Download PDF

Info

Publication number
CN117950649A
CN117950649A CN202311410619.5A CN202311410619A CN117950649A CN 117950649 A CN117950649 A CN 117950649A CN 202311410619 A CN202311410619 A CN 202311410619A CN 117950649 A CN117950649 A CN 117950649A
Authority
CN
China
Prior art keywords
automation
semantic
actions
builder
rpa
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
CN202311410619.5A
Other languages
English (en)
Inventor
I·G·玛林
A-C·皮特雷斯库
A-V·皮特雷
P-S·波坦
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 CN117950649A publication Critical patent/CN117950649A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/10Office automation; Time management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)

Abstract

提供了一种方法。该方法由在处理器上执行的语义自动化构建器来实现。该方法生成机器人过程自动化的语义自动化。该方法包括接收对应于目标应用、书面自动化任务或步骤的用户输入,以标识机器人过程自动化的动作。该方法还包括将每个动作映射到活动以生成映射的活动,基于映射的活动将动作转换为语义自动化,以及在语义自动化构建器的用户界面中提供语义自动化以使得能够编辑动作。

Description

用于机器人过程自动化的语义自动化构建器
技术领域
本公开总体上涉及自动化。
背景技术
通常,需要RPA专门技术来建立和编辑这些自动化,因为大多数新手开发者不熟悉设计自动化过程的起点所需的编码概念和逻辑思维。也就是说,利用该RPA专门技术,在设计时配置RPA的工作流中所涉及的活动是耗时的过程。传统上,在RPA工作流设计器应用中,工作流中的活动是手动配置的。存在增强活动配置的需要。
发明内容
根据一个或多个实施例,提供了一种方法。该方法由在至少一个处理器上执行的语义自动化构建器来实现。该方法生成机器人过程自动化的一个或多个语义自动化。该方法包括接收对应于目标应用、书面自动化任务或一个或多个步骤的一个或多个用户输入,以标识机器人过程自动化的一个或多个动作。该方法包括:将一个或多个动作中的每个动作映射到活动以生成一个或多个映射的活动;以及基于一个或多个映射的活动将一个或多个动作转换为一个或多个语义自动化。该方法包括在语义自动化构建器的用户界面中提供一个或多个语义自动化,以使得能够编辑一个或多个动作。上述方法实施例可以实现为系统、计算机程序产品和/或装置。
附图说明
为了易于理解本文中的某些实施例的优点,将通过参考在附图中示出的具体实施例来呈现更具体的描述。虽然应理解这些附图仅描绘了典型的实施例并且因此不应被认为是对其范围的限制,但是本文中的一个或多个实施例将通过使用附图以附加的具体性和细节来描述和解释,在附图中:
图1描绘了示出根据一个或多个实施例的自动化系统的架构图。
图2描绘了示出根据一个或多个实施例的RPA系统的架构图。
图3描绘了示出根据一个或多个实施例的所部署的RPA系统的架构图。
图4描绘了示出根据一个或多个实施例的设计者、活动和驱动器之间的关系的架构图。
图5描绘了示出根据一个或多个实施例的计算系统的架构图。
图6示出了根据一个或多个实施例的已被训练以识别图像中的图形元素的神经网络的示例。
图7示出了根据一个或多个实施例的神经元的示例。
图8描绘了示出根据一个或多个实施例的用于训练人工智能和/或(多个)机器模型的过程的流程图。
图9描绘了由根据一个或多个实施例的系统实现的方法。
图10描绘了根据一个或多个实施例的示例界面。
图11描绘了根据一个或多个实施例的示例界面。
图12描绘了根据一个或多个实施例的示例界面。
图13描绘了根据一个或多个实施例的方法。
除非另有说明,否则相似的附图标记在所有附图中一致地表示对应的特征。
具体实施方式
通常,这里的实施例涉及自动化。更具体地,本文的实施例涉及用于RPA的语义自动化构建器,其使得能够使用语义的自动活动配置并用于生成工作流。实现语义自动化构建器可以由计算系统和/或控制器来执行。作为示例,计算系统和/或控制器可以通过RPA工作流设计引擎来实现语义自动化构建器的操作(例如,创建语义自动化),RPA工作流设计引擎使用机器学习(ML)根据自然语言描述的任务来生成用于RPA的工作流,并且使用零码直观用户界面(UI)来验证所生成的工作流。
RPA工作流设计引擎和/或语义自动化构建器可以被描述为包括生成、管理、自动执行和操作RPA(例如,创建RPA并向其分配作业的设计者)的策略和技术的框架的软件。RPA可以是执行机器人/助手软件的代理软件,其示例包括机器人、工作流等,并且作业可以被认为是由RPA执行的工作单元,在此进一步描述这两者。
如这里所指出的,因为用于RPA的工作流中的活动通常是手动配置的,所以新手开发者面临用于构建RPA的耗时过程。由此,RPA工作流设计引擎和/或语义自动化构建器提供诸如增强的活动可发现性、标识来自书面自动化任务的所有活动的训练模型、语音到文本特征等之类的操作,这些操作实现改进的RPA开发和减少的自动化设计时间的一个或多个技术效果、优点和益处。
图1是示出根据一个或多个实施例的超自动化系统100的架构图。这里使用的“超自动化”是指将过程自动化的组件、集成工具和放大自动化工作能力的技术集合在一起的自动化系统。例如,在一些实施例中,RPA可以用在超自动化系统的核心,并且在某些实施例中,自动化能力可以用人工智能和/或机器(AI/ML)、过程挖掘、分析和/或其它高级工具来扩展。当超自动化系统学习过程、训练AI/ML模型并采用分析时,例如,越来越多的知识工作可以被自动化,并且组织中的计算系统(例如,由个人使用的那些和自主运行的那些)都可作为超自动化过程中的参与者。一些实施例的超自动化系统允许用户和组织有效地发现、理解和缩放自动化。
超自动化系统100包括用户计算系统,例如台式计算机102、平板计算机104和智能电话106。然而,在不脱离本文的一个或多个实施例的范围的情况下,可以使用任何期望的计算系统,包括但不限于智能手表、膝上型计算机、服务器、物联网(IoT)设备等。此外,虽然在图1中示出了三个用户计算系统,但是在不脱离本文的一个或多个实施例的范围的情况下,可以使用任何合适数量的计算系统。例如,在一些实施例中,可以使用数十、数百、数千或数百万个计算系统。用户计算系统可以由用户主动使用,或者在没有很多或任何用户输入的情况下自动运行。
每个计算系统102、104、106具有相应的在其上运行的(多个)自动化过程110、112、114。(多个)自动化过程102、104、106可以包括但不限于RPA机器人、操作系统的一部分,用于相应计算系统的可下载应用、任何其它合适的软件和/或硬件,或这些的任何组合,而不脱离本文的一个或多个实施例的范围。在一些实施例中,(多个)过程110、112、114中的一个或多个可以是监听器。监听器可以是RPA机器人、操作系统的一部分、用于相应计算系统的可下载应用、或任何其它软件和/或硬件,而不脱离本文的一个或多个实施例的范围。实际上,在一些实施例中,(多个)监听器的逻辑被部分地或完全地经由物理硬件来实现。
监听器监测并记录与用户与相应计算系统的交互和/或无人值守计算系统的操作有关的数据,并经由网络(例如,局域网(LAN)、移动通信网络、卫星通信网络、因特网、其任何组合等)将数据发送到核心超自动化系统120。数据可以包括但不限于:点击了哪些按钮、将鼠标移动至何处、在字段中输入的文本、一个窗口被最小化而另一个被打开、与窗口相关联的应用等。在某些实施例中,来自监听器的数据可以作为心跳消息的一部分被周期性地发送。在一些实施例中,一旦已经收集了预定量的数据、在经过了预定时间段之后、或两者,就可以将数据发送到核心超自动化系统120。一个或多个服务器(例如服务器130)接收来自监听器的数据并且将来自监听器的数据存储在数据库(例如数据库140)中。
自动化过程可以执行在设计时间期间在工作流中开发的逻辑。在RPA的用例中,工作流可以包括在序列或一些其它逻辑流中执行的一组步骤,在此定义为“活动”。每个活动可以包括诸如点击按钮、读取文件、写入日志面板等动作。在一些实施例中,工作流可以被嵌套或嵌入。
在一些实施例中,RPA的长期运行工作流是支持服务编排、人工干预和无人值守环境中的长期运行事务的主项目。参见美国专利No.10,860,905,其全部内容通过引用并入本文。当某些过程需要人工输入以处理异常、批准或确认时,在进行到活动中的下一步骤之前,进行人工干预。在这种情况下,过程执行被挂起,释放RPA机器人直到人类任务完成。
长期运行工作流可以经由持久化活动来支持工作流分段,并且可以与调用过程和非用户交互活动相结合,协调人类任务与RPA机器人任务。在一些实施例中,多个或许多计算系统可以参与执行长期运行工作流的逻辑。长期运行工作流可以在会话中运行以促进快速执行。在一些实施例中,长期运行工作流可以协调可能包含执行应用编程接口(API)调用并在长期运行工作流会话中运行的活动的后台过程。在一些实施例中,这些活动可以由调用过程活动来调用。在用户会话中运行的具有用户交互活动的过程可以通过从指挥器活动(conductor activity)(稍后将更详细地描述指挥器)开始作业来调用。在一些实施例中,用户可以通过需要在指挥器中完成表单的任务进行交互。活动可能被包括使RPA机器人等待表单任务完成,然后恢复长期运行工作流。
(多个)自动化过程110、112、114中的一个或多个自动化过程与核心超自动化系统120通信。在一些实施例中,核心超自动化系统120可以在诸如服务器130的一个或多个服务器上运行指挥应用。虽然出于说明的目的示出了一个服务器130,但是在不脱离本文的一个或多个实施例的范围的情况下,可以采用彼此邻近或处于分布式架构中的多个或许多服务器。例如,可以提供一个或多个服务器用于指挥功能、AI/ML模型服务、认证、管理和/或任何其他合适的功能,而不脱离本文的一个或多个实施例的范围。在一些实施例中,核心超自动化系统120可以并入公共云架构、私有云架构、混合云架构等,或者可以是公共云架构、私有云架构、混合云架构等的一部分。在某些实施例中,核心超自动化系统120可以在诸如服务器130的一个或多个计算系统上托管多个基于软件的服务器。在一些实施例中,诸如服务器130的核心超自动化系统120的一个或多个服务器可以经由一个或多个虚拟机(VM)来实现。
在一些实施例中,(多个)自动化过程110、112、114中的一个或多个可以调用部署在核心超自动化系统120上或可由其访问的一个或多个AI/ML模型132。AI/ML模型132可以出于任何合适的目的而被训练,而不背离本文中的一个或多个实施例的范围,如将在本文中更详细地讨论的。AI/ML模型132的示例可以包括但不限于生成预训练变换器3(GPT-3)模型,该GPT-3模型进一步用在数据库140中找到的工作流描述的样本和实际工作流来训练,该GPT-3模型产生微调GPT-3模型。在一些实施例中,两个或更多个AI/ML模型132可以被链接(例如,串联,并联或组合),使得它们共同提供(多个)协作输出。AI/ML模型132可以执行或辅助计算机视觉(CV)、光学字符识别(OCR)、文档处理和/或理解、语义学习和/或分析、分析预测、过程发现、任务挖掘、测试、自动RPA工作流生成、序列提取、聚类检测、音频到文本翻译,其任何组合等。然而,可以使用AI/ML模型的任何期望数量和/或(多个)类型而不脱离本文的一个或多个实施例的范围。例如,使用多个AI/ML模型可以允许系统开发在给定计算系统上发生的事情的全局图像。例如,一个AI/ML模型可以执行OCR,另一个可以检测按钮,另一个可以比较序列等。模式可以由AI/ML模型单独确定,或者由多个AI/ML模型共同确定。在某些实施例中,一个或多个AI/ML模型被本地部署在计算系统102、104、106中的至少一个上。
在一些实施例中,可以使用多个AI/ML模型132。每个AI/ML模型132是在数据上运行的算法(或模型),并且AI/ML模型本身可以是例如在训练数据中被训练的经训练的人造“神经元”的深度学习神经网络(DLNN)。在一些实施例中,AI/ML模型132可以具有执行各种功能(例如统计建模(例如,隐马尔可夫模型(HMM)))且利用深度学习技术(例如,长期短期存储器(LSTM)深度学习、先前隐藏状态的编码等)来执行期望功能性的多个层。
在一些实施例中,超自动化系统100可以提供四个主要的功能组:(1)发现;(2)构建自动化;(3)管理;以及(4)接合。在一些实施例中,自动化(例如,在用户计算系统、服务器等上运行)可以由软件机器人(例如,RPA机器人)运行。例如,可以使用有人值守的机器人、无人值守的机器人和/或测试机器人。有人值守的机器人与用户一起工作以帮助他们完成任务(例如:经由Uipath AssistantTM)。无人值守的机器人独立于用户工作,并且可能在后台运行,可能没有用户知识。测试机器人是针对应用或RPA工作流运行测试用例的无人值守机器人。在一些实施例中,测试机器人可以在多个计算系统上并行运行。
发现功能可以发现并提供用于业务过程自动化的不同机会的自动推荐。这种功能可以由诸如服务器130的一个或多个服务器来实现。在一些实施例中,发现功能可以包括提供自动化集线器、过程挖掘、任务挖掘和/或任务捕获。自动化集线器(例如,UiPathAutomationTM)可以提供用于管理具有可见性和控制的自动化展示的机制。例如,自动化想法可以经由提交表格从雇员众包(crowdsourced)。可以提供用于自动化这些想法的可行性和投资回报(ROI)计算,可以收集用于未来自动化的文档,并且可以提供协作以从自动化发现中获得更快的构建。
过程挖掘(例如,经由UiPath Automation Cloud TM和/或UiPath AI CenterTM)指的是收集和分析来自应用(例如,企业资源规划(ERP)应用、客户关系管理(CRM)应用、电子邮件应用、呼叫中心应用等)的数据以标识组织中存在哪些端到端过程以及如何有效地使它们自动化,以及指示自动化的影响将是什么的过程。该数据可以由例如监听器从用户计算系统102、104、106收集,并且由诸如服务器130等服务器处理。在一些实施例中,为此目的可以采用一个或多个AI/ML模型132。该信息可以被输出到自动化集线器以加速实现并避免人工信息传送。过程挖掘的目标可以是通过自动化组织内的过程来增加商业价值。过程挖掘目标的一些示例包括但不限于增加利润、提高客户满意度、规章和/或合约合规性、提高雇员效率等。
任务挖掘(例如,经由UiPath Automation CloudTM和/或UiPath AI CenterTM)标识并聚集工作流(例如,雇员工作流),然后应用AI来暴露日常任务中的模式和变化,对这些任务评分以便于自动化和潜在节省(例如,时间和/或成本节省)。可以采用一个或多个AI/ML模型132来揭示数据中的循环任务模式。然后可以标识对于自动化成熟的重复任务。在一些实施例中,该信息最初可以由监听器提供,并在诸如服务器130的核心超自动化系统120的服务器上进行分析。来自任务挖掘的发现(例如,扩展应用标记语言(XAML)处理数据)可以被输出以处理文档或输出给诸如UiPath StudioTM的设计者应用以更快速地创建和部署自动化。
在一些实施例中,任务挖掘可以包括利用用户动作(例如,鼠标点击位置、键盘输入、应用窗口和用户与之交互的图形元素、交互的时间戳等)来进行屏幕截图、收集统计数据(例如,执行时间、动作数量、文本条目等)、编辑和注释屏幕截图、指定要记录的动作类型等。
任务捕获(例如,UiPath Automation CloudTM和/或UiPath AI CenterTM)在用户工作时自动地记录有人值守的过程或为无人值守的过程提供框架。这样的文档编制可以包括以过程定义文档(PDD)、骨架工作流、捕获过程的每个部分的动作、记录用户动作和自动生成包括关于每个步骤的细节的综合工作流图、微软文档、XAML文件等的形式自动化的期望任务。在一些实施例中,可以将构建-就绪工作流直接输出给设计者应用,例如UiPath StudioTM。任务捕获可以简化用于解释过程的主题专家和提供生产级自动化的卓越中心(CoE)成员的需求收集过程。
可以通过设计者应用(例如,UiPath StudioTM,UiPath StudioXTM或UiPath WebTM)来实现构建自动化。例如,PA开发设施150的RPA开发者可以使用计算系统152的RPA设计者应用154来构建和测试各种应用和环境(诸如web、移动、和虚拟化桌面)的自动化。可以为各种应用、技术和平台提供API集成。预定义的活动、拖放建模和工作流记录器可以用最小的编码使自动化更容易。文档理解功能可以经由调用一个或多个AI/ML模型132的用于数据提取和解释的拖放AI技巧来提供。这种自动化实际上可以处理任何文档类型和格式,包括表格、复选框、签名和手写。当数据被验证或异常被处理时,该信息可用于重新训练相应的AI/ML模型,随时间提高它们的准确性。
例如,集成服务可允许开发者无缝地组合用户界面(UI)自动化和API自动化。可以建立需要API或遍历API和非API应用和系统的自动化。可提供用于预建RPA和AI模板和解决方案的储存库(例如,UiPath Object RepositoryTM)或市场(例如,UiPath MarketplaceTM)以允许开发者更快地自动化各种过程。因此,当构建自动化时,超自动化系统100可提供用户界面、开发环境、API集成、预构建和/或定制的AI/ML模型、开发模板、集成开发环境(IDE)和高级AI能力。在一些实施例中,超自动化系统100使得能够开发、部署、管理、配置、监测、调试和维护RPA机器人,这可以为超自动化系统100提供自动化。
在一些实施例中,诸如(一个或多个)设计器应用和/或外部规则引擎的超自动化系统100的组件提供对管理和实施用于控制由超自动化系统100提供的各种功能的控制策略的支持。治理(Governance)是组织将策略置于适当位置以防止用户开发能够采取可能损害组织的动作(例如违反E.U.一般数据保护规则(GDPR),美国健康保险可移植性和责任法案(HIPAA),第三方应用服务条款等的行为)的自动化(例如RPA机器人)的能力。由于开发者可以在执行其自动化的同时创建违反隐私法律,服务条款等的自动化,因此一些实施例在机器人和/或机器人设计应用级实现访问控制和管理限制。在一些实施例中,这可以通过防止开发者对可能引入安全风险或以违反政策、法规、隐私法律和/或隐私政策的方式工作的未经批准的软件库采取依赖性来向自动化过程开发流水线提供附加等级的安全性和合规性。参见美国非临时专利申请No.16,924,499,其全部内容通过引用并入本文。
管理功能可以提供跨组织的自动化的管理、部署和优化。在一些实施例中,管理功能可以包括编排、测试管理、AI功能和/或分析见解(insight)。超自动化系统100的管理功能还可以充当与用于自动化应用和/或RPA机器人的第三方解决方案和应用的集成点。超自动化系统100的管理能力可以包括但不限于:促进RPA机器人的供应、部署、配置、排队、监测、记录和互相连接等。
诸如Uipath OrchestratorTM(其在一些实施例中可以作为Uipath AutomationCloudTM的一部分来提供,或者在驻地、在VM中、在私有或公共云中、在LinuxTM VM中,或者作为经由Uipath Automation SuiteTM的云本地单个容器套件来提供)的指挥应用提供编排能力以部署、监测、优化、缩放和确保RPA机器人部署的安全性。测试套件(例如,Uipath TestSuiteTM)可以提供测试管理以监测所部署的自动化的质量。测试套件可便于测试规划和执行、满足要求和缺陷可追溯性。测试套件可包括综合测试报告。
分析软件(例如,Uipath InsightsTM)可以跟踪、测量和管理部署的自动化的性能。分析软件可以将自动化操作与组织的特定关键性能指标(KPI)和战略结果对准。分析软件可以以仪表板格式呈现结果以供人类用户更好地理解。
例如,数据服务(例如,Uipath Data ServiceTM)可以被存储在数据库140中,并且利用拖放存储界面将数据带入单个可伸缩的安全位置。一些实施例可以向自动化提供低代码或无码数据建模和存储,同时确保数据的无缝访问、企业级安全性和可扩展性。AI功能可由AI中心(例如,Uipath AI CenterTM)提供,其有助于将AI/ML模型并入到自动化中。预构建的AI/ML模型、模型模板和各种部署选项可以使这样的功能甚至对于不是数据科学家的那些人也是可访问的。部署的自动化(例如,RPA机器人)可以从AI中心调用AI/ML模型,诸如AI/ML模型132。AI/ML模型的性能可以被监测,并且是使用人工确认的数据进行培训和改进,如由数据审查中心160提供的数据。人类审阅者可以通过计算系统154上的审阅应用152向核心超自动化系统120提供标记数据。例如,人类审阅者可确认AI/ML模型132的预测是准确的或以其它方式提供校正。该动态输入然后可以被保存为用于再训练AI/ML模型132的训练数据,并且可以被存储在诸如数据库140的数据库中。AI中心然后可以调度并执行训练作业以使用训练数据来训练AI/ML模型的新版本。正样本和负样本二者都可以被存储并用于AI/ML模型132的再训练。根据一个或多个实施例,数据库140可以表示或包括语义工作流数据库,该语义工作流数据库存储所生成的动作(以及这些动作的编辑)和所生成的工作流,以用作AI/ML模型132的训练材料。
参与功能将人类和自动化组合作为一个团队来参与所需过程的无缝协作。可以构建低代码应用(例如,经由Uipath AppsTM),以便即使在一些实施例中缺少API也可以连接浏览器选项卡和早期(legacy)软件。例如,可以使用网页浏览器通过拖放控制的丰富库来快速创建应用。应用可以连接到单个自动化或多个自动化。
动作中心(例如,Uipath Action CenterTM)提供将过程从自动化切换到人类的直接且有效的机制,反之亦然。人类可以提供批准或升级,做出例外等。自动化然后可以执行给定工作流的自动功能。
可以提供本地助理作为用于用户启动自动化的启动平台(例如,UipathAssistantTM)。该功能可以在例如由操作系统提供的托盘中提供,并且可以允许用户与RPA机器人和由RPA机器人供电的应用交互。界面可以列出被批准用于给定用户的自动化并允许用户运行它们。这些可以包括来自自动化市场、自动化集线器中的内部自动化存储等的已准备好的自动化。当自动化被运行时,它们可作为本地实例与计算系统上的其它进程并行地运行,使得用户可在自动化执行其动作时使用计算系统。在某些实施例中,辅助与任务捕获功能集成,使得用户可以从辅助启动平台记录他们即将自动化的过程。
聊天机器人(例如,Uipath ChatbotTM),社交消息应用和/或语音命令可以使用户能够运行自动化。这可以简化对用户需要的信息、工具和资源的访问,以便与客户交互或执行其它活动。人员之间的对话可以容易地自动化,如同其它过程一样。以这种方式启动的触发器RPA机器人可以潜在地使用明语命令来执行诸如检查订单状态、在CRM中张贴数据等操作。
在一些实施例中,可以由超自动化系统100提供任何规模的自动化程序的端到端测量和管理。根据上文,可以采用分析来理解自动化的性能(例如,经由UipathInsightsTM)。使用可用商业度量和操作分析见解的任何组合的数据建模和分析可以用于各种自动化过程。定制设计和预构建的仪表板允许在期望的度量、待发现的新的分析见解、待跟踪的性能指标、待发现的用于自动化的ROI、待在用户计算系统上执行的遥测监测、待检测的错误和异常、以及待调试的自动化之间可视化数据。可以提供自动化管理控制台(例如,Uipath Automation OpsTM)以在整个自动化生命周期中管理自动化。组织可以管理自动化是如何构建的,用户可以对它们做什么,以及用户可以访问哪些自动化。
在一些实施例中,超自动化系统100提供迭代平台。可以发现过程、可以建立、测试和部署自动化、可以测量性能、可以容易地向用户提供自动化的使用、可以获得反馈、可以训练和重新训练AI/ML模型、并且可以重复该过程。这便于更鲁棒和有效的自动化套件。
图2是示出根据一个或多个实施例的RPA系统200的架构图。在一些实施例中,RPA系统200是图1的超自动化系统100的一部分。RPA系统200包括允许开发者设计和实现工作流(例如,如本文所述的RPA工作流设计引擎和/或语义自动化构建器)的设计器210。设计器210可以提供用于应用集成以及自动化第三方应用、管理信息技术(IT)任务和商业IT过程的解决方案。设计器210可以促进自动化项目的开发,自动化项目是商业过程的图形表示。简单地说,设计器210便于工作流和机器人的开发和部署(如箭头211所示)。在一些实施例中,设计器210可以是在用户桌面上运行的应用、在VM中远程运行的应用、网页应用等。
自动化项目通过给予开发者对执行次序的控制和在工作流中开发的定制步骤集之间的关系来实现基于规则的过程的自动化,所述工作流在本文中被定义为根据上文所述的“活动”。设计器210的实施例的一个商业实例是Uipath StudioTM。每个活动可包括诸如点击按钮、读取文件、写入日志面板等动作。在一些实施例中,工作流可被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、有限状态机(FSM)和/或全局异常处理程序。序列可以特别适合于线性过程,使得能够在不使工作流混乱的情况下从一个活动流向另一个活动。流程图可以特别适用于更复杂的商业逻辑,使得能够通过多个分支逻辑运营商以更多样的方式集成决策和连接活动。FSM尤其适用于大型工作流。FSM可在其执行中使用有限数目的状态,其由条件(即,转变)或活动触发。全局异常处理程序尤其适合于在遇到执行错误时确定工作流行为和调试过程。
一旦在设计器210中开发了工作流,就由指挥器220协调业务流程的执行,指挥器220协调执行在设计器210中开发的工作流的一个或多个机器人230。指挥器220的实施例的一个商业实例是Uipath OrchestratorTM。指挥器220有助于管理环境中的资源的创建、监测和部署。指挥器220可以充当与第三方解决方案和应用的集成点。如上所述,在一些实施例中,指挥器220可以是图1的核心超自动化系统120的一部分。
指挥器220可以管理机器人230的集群、从集中点连接和执行(如箭头231所示)机器人230。可以被管理的机器人230的类型包括但不限于有人值守机器人232、无人值守机器人234、开发机器人(类似于无人值守机器人234,但用于开发和测试目的)和非生产机器人(类似于有人值守机器人232,但用于开发和测试目的)。有人值守机器人232由用户事件触发,并在同一计算系统上与人类一起操作。有人值守机器人232可以与指挥器220一起用于集中过程部署和记录介质。有人值守机器人232可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,处理无法从这种类型的机器人上的指挥器220开始,和/或它们无法在锁定的屏幕下运行。在某些实施例中,有人值守机器人232只能够从机器人托盘或从命令提示启动。在一些实施例中,有人值守机器人232应当在人类的监督下运行。
无人监督机器人234在虚拟环境中无人监督地运行并且可以自动化许多过程。无人监督机器人234可以负责远程执行、监测、调度和提供对工作队列的支持。在一些实施例中,可以在设计器210中运行所有机器人类型的调试。有人值守和无人值守机器人都可以自动化(如虚线框290所示)各种系统和应用,包括但不限于大型机、网页应用、VM、企业应用(例如,由SAP1、等生产的那些)和计算系统应用(例如,桌面和膝上型应用、移动设备应用、可穿戴计算机应用等)。
指挥器220可以具有各种能力(如箭头232所示),包括但不限于供应、部署、配置、排队、监测、记录和/或提供互相连接性。供应可以包括创建和有人值守机器人230和指挥器220(例如网页应用)之间的连接。部署可以包括确保将数据包版本正确递送到所分配的机器人230以供执行。配置可以包括机器人环境和过程配置的维护和交付。排队可以包括提供对队列和队列项的管理。监测可以包括跟踪机器人标识数据并维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,结构化查询语言(SQL)或NoSQL数据库)和/或另一存储机制(例如,其提供存储和快速查询大数据集的能力)。指挥器220可以通过充当用于第三方解决方案和/或应用的集中式通信点来提供互相连接性。
机器人230是实现设计器210中构建的工作流的执行代理。机器人230的一些实施例的一个商业实例是Uipath RobotsTM。在一些实施例中,机器人230默认安装微软Service Control Manager(SCM)管理的服务。结果,这种机器人230可以在本地系统帐户下打开交互式/>会话,并且具有/>服务的权限。
在一些实施例中,机器人230可以以用户模式安装。对于这种机器人230,这意味着它们具有与安装了给定机器人230的用户相同的权限。该特征还可用于高密度(HD)机器人,其确保每个机器在其最大潜力下的完全利用。在一些实施例中,可以在HD环境中配置任何类型的机器人230。
在一些实施例中,机器人230被分成数个部件,每个部件专用于特定的自动化任务。在一些实施例中,机器人部件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理和命令行。SCM管理的机器人服务管理和监测会话,并充当指挥器220和执行主机(即,其上执行机器人230的计算系统)之间的代理。这些服务受信任并管理机器人230的凭证。控制台应用由本地系统下的SCM启动。
在一些实施例中,用户模式机器人服务管理和监测会话,并充当指挥器220和执行主机之间的代理。用户模式机器人服务可信任并管理机器人230的凭证。如果没有安装SCM管理的机器人服务,则可以自动启动/>应用。
执行器可以在会话下运行给定作业(即,它们可以执行工作流)。执行器可以知道每监测器每英寸点数(DPI)设置。代理可以是在系统托盘窗口中显示可用作业的Windows/Presentation Foundation(WPF)应用。代理可以是服务的客户端。代理可以请求开始或停止工作并改变设置。命令行是服务的客户端。命令行是可请求启动作业并等待其输出的控制台应用。
如上所述使机器人230的组件分开有助于开发者、支持用户和计算系统更容易地运行、标识和跟踪每个组件正在执行什么。可以用这种方式为每个组件配置特殊行为,例如为执行器和服务建立不同的防火墙规则。在一些实施例中,执行器可以总是知道每个监测器的DPI设置。结果,可以在任何DPI处执行工作流,而不管在其上创建工作流的计算系统的配置如何。在一些实施例中,来自设计器210的项目也可以独立于浏览器缩放级别。对于不知道DPI或有意标记为不知道的应用,在一些实施例中可以禁用DPI。
本实施例中的RPA系统200是超自动化系统的一部分。开发者可以使用设计器210来构建和测试利用部署在核心超自动化系统240(例如,作为其AI中心的一部分)中的AI/ML模型的RPA机器人。这种RPA机器人可以发送用于执行AI/ML模型的输入,并经由核心超自动化系统240从其接收输出。
如上所述,一个或多个机器人230可以是监听器。这些监听器可以向核心超自动化系统240提供关于用户在使用其计算系统时正在做什么的信息。然后,该信息可由核心超自动化系统用于进程挖掘、任务挖掘、任务捕获等。
可以在用户计算系统上提供助理机器人250以允许用户启动RPA本地机器人。例如,辅助可以位于系统托盘中。聊天机器人可以具有用户界面,从而用户可以看到聊天机器人中的文本。备选地,聊天机器人可能缺少用户界面并在后台运行,使用计算系统的麦克风收听用户语音。
在一些实施例中,数据标记可由机器人正在其上执行的计算系统的用户或机器人向其提供信息的另一计算系统来执行。例如,如果机器人调用对VM用户的图像执行CV的AI/ML模型,但AI/ML模型没有正确地标识屏幕上的按钮,则用户可在误标识或未标识的组件周围绘制矩形,并可能提供具有正确标识的文本。该信息可以提供给核心超自动化系统240,然后在以后用于训练AI/ML模型的新版本。
图3是示出根据一个或多个实施例的所部署的RPA系统300的架构图。在一些实施例中,RPA系统300可以是图2的RPA系统200和/或图1的超自动化系统100的一部分。所部署的RPA系统300可以是基于云的系统、驻地系统、基于桌面的系统,其提供用于不同计算过程的自动化的企业级、用户级或设备级自动化解决方案等。
应注意的是,客户端侧301、服务器侧302或两者可以包括任何所需数目的计算系统,而不脱离本文的一个或多个实施例的范围。在客户端侧301上,机器人应用310包括执行器312、代理314和设计器316。然而,在一些实施例中,设计器316可以不在与执行器312和代理314相同的计算系统上运行。执行器312正在运行进程。如图3所示,数个商业项目可以同时运行。代理314(例如,服务)在该实施例中是所有执行器312的单个接触点。本实施例中的所有消息都被记录到指挥器340中,指挥器340进一步通过数据库服务器355,AI/ML服务器360、索引器服务器370或其任意组合来处理它们。如上关于图2所述,执行器312可以是机器人部件。
在一些实施例中,机器人表示机器名和用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互会话的计算系统(例如,服务器2012)上,多个机器人可以同时运行,每个机器人使用唯一的用户名在单独的/>会话中运行。这在上文被称为HD机器人。
代理314还负责发送机器人的状态(例如,周期性地发送指示机器人仍在工作的“心跳”消息)并下载要执行的数据包的所需版本。在一些实施例中,代理314和指挥器340之间的通信总是由代理314发起。在通知场景中,代理314可以打开WebSocket通道,稍后由指挥器330使用该WebSocket通道来向机器人发送命令(例如,开始,停止等)。
监听器330监测并且记录与在用户与有人值守的计算系统的交互和/或由监听器330所驻留的无人值守的计算系统的操作有关的数据。监听器330可以是RPA机器人、操作系统的一部分、用于相应计算系统的可下载应用、或任何其它软件和/或硬件,而不脱离本文的一个或多个实施例的范围。实际上,在一些实施例中,监听器的逻辑部分地或完全地经由物理硬件来实现。
在服务器侧302,包括表示层333、服务层334和持续层336,以及指挥器340。表示层333可以包括web应用342、开放数据协议(OData)表述性状态传送(REST)应用编程接口(API)端点344、以及通知和监测346。服务层334可以包括API实现/业务逻辑348。持久性层336可以包括数据库服务器355、AI/ML服务器360和索引器服务器370。例如,指挥器340包括web应用342、OData REST API端点344、通知和监测346、以及API实现/业务逻辑348。在一些实施例中,用户在指挥器340的接口中(例如,经由浏览器320)执行的大多数动作是通过调用各种API来执行的。这样的动作可以包括但不限于在机器人上启动作业、在队列中添加/移除数据、调度作业以无人值守等,而不脱离本文的一个或多个实施例的范围。web应用342可以是服务器平台的可视层。在该实施例中,web应用342使用超文本标记语言(HTML)和JavaScript(JS)。然而,可以使用任何期望的标记语言、脚本语言或任何其它格式,而不脱离本文的一个或多个实施例的范围。在该实施例中,用户经由浏览器320与来自web应用342的网页交互,以便执行控制指挥器340的各种动作。例如,用户可以创建机器人组、向机器人分配包、分析每个机器人和/或每个进程的日志、启动和停止机器人等。
除了web应用342之外,指挥器340还包括暴露OData REST API端点344的服务层334。然而,在不脱离本文的一个或多个实施例的范围的情况下,可以包括其他端点。RESTAPI由网络应用342和代理314两者使用。代理314在该实施例中是客户端计算机上的一个或多个机器人的管理程序。
本实施例中的REST API包括配置、记录、监测和排队功能(至少由箭头349表示)。在一些实施例中,配置端点可用于定义和配置应用用户、许可、机器人、资产、发布和环境。记录REST端点可用于记录不同的信息,例如错误、由机器人发送的显式消息、以及其它环境特定信息。部署REST端点可以由机器人用来查询如果在指挥器340中使用开始作业命令则应当执行的包版本。对REST端点进行排队可负责队列和队列项管理,诸如将数据添加到队列、从队列获得事务,设置事务的状态等。
监测REST端点可以监测web应用342和代理314。通知和监测API 346可以是REST端点,其用于注册代理314、向代理314递送配置设置、以及用于从服务器和代理314发送/接收通知。在一些实施例中,通知和监测API 346还可以使用WebSocket通信。如图3所示,本文描述的一个或多个活动由箭头350和351表示。
在一些实施例中,可以通过适当的API访问路径的配置来访问服务层334中的API,例如,基于指挥器340和整个超自动化系统是具有室内部署类型还是基于云的部署类型。用于指挥器340的API可以提供用于查询关于在指挥器340中注册的各种实体的状态的定制方法。在一些实施例中,每个逻辑资源可以是OData实体。在这样的实体中,诸如机器人、进程、队列等的组件可以具有属性、关系和操作。在一些实施例中,指挥器340的API可由网络应用342和/或代理314以两种方式消耗:通过从指挥器340获得AP1访问信息,或通过注册外部应用来使用OAuth流。在一些实施例中,指挥器340的API可由网络应用342和/或代理314以两种方式消耗:通过从指挥器340获得AP1访问信息,或通过注册外部应用来使用OAuth流。
在该实施例中,持久性层336包括三个服务器——数据库服务器355(例如,SQL服务器)、AI/ML服务器360(例如,提供AI/ML模型服务的服务器,诸如AI中心功能)和索引器服务器370。在该实施例中,数据库服务器355存储机器人的配置、机器人组、相关联的过程、用户、角色、时间表等。在一些实施例中,通过web应用342来管理该信息。数据库服务器355可以管理队列和队列项。在一些实施例中,数据库服务器355可以存储由机器人记录的消息(除了索引器服务器370之外或代替索引器服务器370)。例如,数据库服务器355还可以存储从安装在客户端301上的监听器330接收的进程挖掘、任务挖掘和/或任务捕获相关数据。虽然在监听器330和数据库355之间没有示出箭头,但是应当理解,在一些实施例中,监听器330能够与数据库355通信,反之亦然。该数据可以以PDD、图像、XAML文件等形式存储。监听器330可被配置为截取监听器330所驻留的相应计算系统上的用户动作、过程、任务和性能度量。例如,监听器330可以在其相应的计算系统上记录用户动作(例如,点击、键入的字符、位置、应用、活动元素、时间等),然后将这些转换成适当的格式以提供给数据库服务器355并存储在数据库服务器355中。
AI/ML服务器360便于将AI/ML模型结合到自动化中。预构建的AI/ML模型、模型模板和各种部署选项可以使这样的功能甚至对于不是数据科学家的那些人也是可访问的。部署的自动化(例如,RPA机器人)可以从AI/ML服务器360调用AI/ML模型。AI/ML模型的性能可是使用人工确认的数据进行监测、训练和改进。AI/ML服务器360可以调度和执行训练作业以训练AI/ML模型的新版本。
AI/ML服务器360可以存储与AI/ML模型和ML包有关的数据,用于在开发时配置用户的各种ML技能。如本文所使用的,ML技能是用于过程的预构建和训练的ML模型,其例如可以由自动化使用。AI/ML服务器460还可以存储与用于各种AI/ML能力的文档理解技术和框架、算法和软件包有关的数据,包括但不限于意图分析、自然语言处理(NLP)、语音分析、不同类型的AI/ML模型等。
在一些实施例中可选的索引器服务器370存储并索引由机器人记录的信息。在某些实施例中,可以通过配置设置来禁用索引器服务器370。在一些实施例中,索引器服务器370使用ElasticSearch,它是开放源项目全文搜索引擎。由机器人记录的消息(例如,使用如日志消息或写入行的活动)可通过记录(多个)REST端点发送到索引器服务器370,在索引器服务器370处对它们进行索引以供将来使用。
图4是示出根据一个或多个实施例的设计器410、活动420、430、440、450、驱动器460、API 470和AI/ML模型480之间的关系的架构图。如本文所述,开发者使用设计器410来开发由机器人执行的工作流。在一些实施例中,可以向开发者显示各种类型的活动。设计器410对于用户的计算系统可以是本地的或远程的(例如,经由VM或与远程web服务器交互的本地web浏览器来访问)。工作流可以包括用户定义的活动420、API驱动的活动430、AI/ML活动440和/或UI自动化活动450。作为示例(如虚线所示),用户定义的活动420和API驱动的活动440经由其API与应用交互。进而,在一些实施例中,用户定义的活动420和/或AI/ML活动440可以调用一个或多个AI/ML模型480,这些AI/ML模型480可以位于机器人正在其上操作的计算系统的本地和/或远程。
一些实施例能够识别图像中的非文本视觉组分,在此称为CV。CV可以至少部分地由AI/ML模型480执行。与这些组件有关的一些CV活动可以包括但不限于使用OCR从分段标签数据中提取文本、模糊文本匹配、使用ML剪切分段标签数据、将标签数据中提取的文本与基准真值数据进行比较等。在一些实施例中,可以在用户定义的活动420中实现数百甚至数千个活动。然而,在不脱离本文的一个或多个实施例的范围的情况下,可以使用任何数量和/或类型的活动。
UI自动化活动450是以低级代码编写并便于与屏幕交互的特殊低级活动的子集。UI自动化活动450通过允许机器人与所需软件交互的驱动器460来促进这些交互。例如,驱动程序460可包括操作系统(OS)驱动程序462、浏览器驱动程序464、VM驱动程序466、企业应用驱动程序468等。在一些实施例中,UI自动化活动450可使用AI/ML模型480中的一个或多个来执行与计算系统的交互。在某些实施例中,AI/ML模型480可以扩充驱动器460或完全替换它们。实际上,在某些实施例中,不包括驱动器460。
驱动程序460可以经由OS驱动程序462在查找挂钩,监测密钥等的低级与OS交互。驱动程序460可促进与 等的集成。例如,“点击”活动经由驱动程序460在这些不同应用中执行相同的角色。/>
图5是示出根据一个或多个实施例的计算系统500的架构图,该计算系统500被配置为提供由控制器实现的RPA的预授权访问。根据一个或多个实施例,因为RPA是具有标识的机器人或机器,所以当所创建的作业被创建时,该作业基于该标识被分配给RPA。即,因为控制器知道关于RPA的信息,所以由控制器为RPA分配作业。控制器(并且有时具有标识服务)进而检查RPA,RPA是否具有正确的标识、RPA是否被分配了特定作业(例如,控制器和标识服务各自检查配置)。例如,标识服务可确认控制器的预授权特权,包括请求用于一组任何范围的任何用户标识的令牌。然后,控制器可确认作业的预授权特权(例如,用户帐户指示对应的配置)。在这些情况下,对用户标识执行预授权,从而控制器和/或RPA可以模拟对应于用户标识的用户。确认预授权特权的示例包括检查配置被正确设置并确定令牌请求(例如,在一些情况下,当需要执行作业时,控制器查看该作业并确定该作业需要哪些令牌)。然后,控制器进入标识服务并获得针对该作业的预授权令牌。
在一些实施例中,计算系统500可以是在此描绘和/或描述的一个或多个计算系统。在某些实施例中,计算系统500可以是诸如图1和2所示的超自动化系统的一部分。计算系统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显示器、高清晰度显示器、视网膜显示器、平面内切换(IPS)显示器或用于向用户显示信息的任何其它合适的显示器。显示器525可以被配置为使用电阻性、电容性、表面声波(SAW)电容性、红外、光学成像、色散信号技术、声脉冲识别、受抑全内反射等的触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多点触摸显示器等。可以使用任何合适的显示设备和触觉110而不脱离本文的一个或多个实施例的范围。
键盘530和诸如计算机鼠标,触摸板等光标控制设备535还耦合到总线505,以使用户能够与计算系统500对接。然而,在某些实施例中,可以不存在物理键盘和鼠标,并且用户可以仅通过显示器525和/或触摸板(未示出)与设备交互。输入设备的任何类型和组合可以用作设计选择的问题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与其通信的另一计算系统远程地与计算系统500交互,或者计算系统500可以自主地操作。
存储器515存储在由处理器510执行时提供功能的软件模块。这些模块包括用于计算系统500的操作系统540。这些模块还包括模块545(例如由控制器实现的RPA的预授权访问),该模块545被配置为执行在此描述的全部或部分过程或其衍生过程。计算系统500可包括一个或多个包括附加功能的附加功能模块550。
所属领域的技术人员将了解,“系统”可实施为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝式电话、平板计算装置、量子计算系统或任何其它合适的计算装置或装置的组合,而不脱离本文中的一个或多个实施例的范围。将上述功能呈现为由“系统”执行并非旨在以任何方式限制本文的实施例的范围,而是旨在提供许多实施例的一个实例。实际上,本文公开的方法、系统和装置可以以与计算技术一致的本地化和分布式形式实现,包括云计算系统。计算系统可以是局域网(LAN)、移动通信网络、卫星通信网络、互联网、公共或私有云、混合云、服务器场、其任何组合等的一部分或可由其访问。可以使用任何本地化或分布式体系结构而不脱离本文的一个或多个实施例的范围。
应当注意,在本说明书中描述的一些系统特征已经被呈现为模块,以便更具体地强调它们的实现独立性。例如,模块可以被实现为硬件电路,该硬件电路包括定制的超大规模集成(VLSI)电路或门阵列、成品的半指挥器如逻辑芯片、晶体管或其它分立元件。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中实现。
模块还可以至少部分地以由各种类型的处理器执行的软件来实现。可执行代码的标识单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或函数。然而,所标识的模块的可执行程序不必物理地位于一起,而是可以包括存储在不同位置中的完全不同的指令,所述完全不同的指令在逻辑地结合在一起时包括所述模块并实现所述模块的所述目的。此外,可以将模块存储在计算机可读介质上,所述计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任何其他这种非暂态计算机可读介质,而不脱离本文的一个或多个实施例的范围。
实际上,可执行代码模块可以是单条指令或多条指令,并且甚至可以分布在几个不同的代码段上、不同的程序之间、以及跨越几个存储设备。类似地,操作数据可以在本文中在模块内被标识和示出,并且可以以任何合适的形式被具体化并被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集、或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为电信号存在于系统或网络上。
在不脱离本文的一个或多个实施例的范围的情况下,可以训练和部署各种类型的AI/ML模型。例如,图6示出了根据一个或多个实施例的神经网络600的示例,该神经网络600已经被训练以识别图像中的图形元素。对一个或多个实施例。此处,神经网络600接收1920x1080屏幕的屏幕截图的像素(如列610所示)作为输入层(如列620所示)的输入“神经元”1到I的输入。在这种情况下,I是截屏图像中的像素总数2,073,600。
神经网络600还包括多个隐藏层(如列630和640所示)。DLNN和浅层学习神经网络(SLNN)通常都具有多个层,尽管在某些情况下SLNN可能仅具有一层或两层,并且通常少于DLNN。典型地,神经网络结构包括输入层,多个中间层(例如,隐藏层)和输出层(如列650所示),如神经网络600中的情况。
DLNN通常具有许多层(例如,10、50、200等),并且随后的层通常重用来自先前层的特征以计算更复杂的一般功能。另一方面,SLNN倾向于仅具有几个层并且相对快速地训练,因为专家特征是预先从原始数据样本创建的。然而,特征提取是费力的。另一方面,DLNN通常不需要专家特征,但往往需要更长的时间来训练并具有更多的层。
对于这两种方法,在训练集上同时训练这些层,通常检查隔离交叉验证集上的过拟合。两种技术都可以产生极好的结果,并两种方法都有相当的热情。各个层的最佳尺寸,形状和数量根据各个神经网络解决的问题而变化。
返回到图6,作为输入层提供的像素作为输入被馈送到隐藏层1的J个神经元。虽然在该示例中所有像素被馈送到每个神经元,但是可以单独地或组合地使用各种体系结构,包括但不限于:前馈前向网络、径向基网络、深度前馈网络、深度卷积逆图形网络、卷积神经网络、递归神经网络、人工神经网络、长期记忆网络、门控递归单位网络、生成逆元网络、液态机器、自动编码器、变分自动编码器、去噪自动编码器、稀疏自动编码器、极端学习机器、回波状态网络、马尔可夫链,Hopfield网络、玻尔兹曼机器、受限玻尔兹曼机器、深度残差网络,Kohonen网络、深度信念网络、深度卷积网络、支持向量机器、神经图灵机器、或任何其他合适类型的神经网络或神经网络的组合,而不的一个或多个实施例的范围。
隐藏层2(630)接收来自隐藏层1(620)的输入,隐藏层3接收来自隐藏层2(630)的输入,依此类推,直到最后一个隐藏层(如省略号655所示)提供其输出作为输出层的输入。应当注意,神经元I、J、K和L的数目不一定相等,因此,在不脱离本文的一个或多个实施例的范围的情况下,对于神经网络600的给定层可以使用任何期望数目的层。实际上,在某些实施例中,给定层中的神经元类型可能不都相同。
训练神经网络600以将置信度得分分配给被认为已经在图像中发现的图形元素。为了减少具有不可接受的低可能性的匹配,在一些实施例中可以仅提供具有满足或超过置信度阈值的置信度得分的那些结果。例如,如果置信度阈值是80%,则可以使用置信度分数超过这个量的输出,并且可以忽略其余部分。在这种情况下,输出层指示两个文本字段(如输出661和662所表示的)、文本标签(如输出663所表示的)和提交按钮(如输出665所表示的)被发现。神经网络600可以提供这些元素的位置、维度、图像和/或置信度得分,而不偏离本文的一个或多个实施例的范围,其可以随后由RPA机器人或将该输出用于给定目的的另一过程使用。
应当注意,神经网络是通常具有置信度的概率结构。这可以是由AI/ML模型基于在训练期间相似输入被正确识别的频率而学习的分数。例如,文本域通常具有矩形形状和白色背景。神经网络可以学习以高置信度识别具有这些特征的图形元素。一些常见类型的置信度得分包括0与1之间的十进制数(其可解释为置信度百分比),负∞与正∞之间的数或一组表达式(例如,“低”、“中”和“高”)。也可以采用各种后处理校准技术来试图获得更准确的置信度得分,例如温度缩放、批量标准化、权重衰减、负对数似然(NLL)等。
神经网络中的“神经元”是通常基于生物神经元的功能的数学函数。神经元接收加权的输入,并具有求和功能和控制它们是否将输出传递到下一层的激活功能。该激活函数可以是非线性阈值化活动函数,其中如果该值低于阈值则不发生任何事情,但是该函数在阈值以上线性地响应(即,整流线性单位(ReLU)非线性)。由于真实神经元可以具有近似相似的活动功能,因此在深度学习中使用求和功能和反演功能。通过线性变换,信息可以被减去、相加等等。实质上,神经元充当门控函数,其将输出传递到下一层,如由它们的基础数学函数所支配的。在一些实施例中,至少一些神经元可以使用不同的功能。
图7中示出了神经元700的示例。来自前一层的输入x1,x2,...,xn被分配各自的权重w1,w2,...,wn。由此,来自前神经元1的集体输入是w1x1。这些加权输入用于通过一个偏置值修改的神经元求和函数,例如:
将该总和与激活函数f(x)(如框710所示)进行比较以确定神经元是否“激发”。例如,可以由下式给出:
神经元700的输出y因此可以由下式给出:
在这种情况下,神经元700是单层感知器。然而,可以使用任何合适的神经元类型或神经元类型的组合而不脱离本文的一个或多个实施例的范围。还应当注意,在一些实施例中,激活函数的权重和/或输出值的值的范围可以不同,而不脱离本文的一个或多个实施例的范围。
通常采用目标或“奖励功能”,例如对于这种情况,图像中图形元素的成功识别。奖励功能利用短期和长期奖励来探索中间转换和步骤,以引导状态空间的搜索并尝试实现目标(例如,图形元素的成功识别,RPA作流的下一活动序列的成功识别等)。
在训练期间,通过神经网络600馈送各种标记数据(在这种情况下是图像)。成功的标识增强了到神经元的输入的权重,而不成功的标识削弱了它们。诸如均方误差(MSE)或梯度下降的成本函数可以用于惩罚稍微错误的预测,其远小于非常错误的预测。如果AI/ML模型的性能在一定数目的训练迭代之后没有改善,则数据科学家可以修改奖励函数,提供未标识的图形元素在哪里的指示,提供错误标识的图形元素的校正等。
反向传播是用于优化前馈神经网络中的突触权重的技术。反向传播可以用于在神经网络的隐藏层上“弹出引擎罩(pop the hood)”以查看每个节点负责多少损失,并且随后以通过给予具有较高错误率的节点较低权重来最小化损失的方式更新权重,反之亦然。换句话说,反向传播允许数据科学家重复地调整权重,以便最小化实际输出和期望输出之间的差异。
反向传播算法在优化理论中被数学地建立。在监督学习中,具有已知输出的训练数据通过神经网络,并且利用成本函数从已知目标输出计算误差,这给出反向传播的误差。在输出端计算误差,并且将该误差转换为将使误差最小化的网络权重的校正。
在监督学习的情况下,下面提供反向传播的例子。通过具有给定层的输出首先乘以突触矩阵Wi、与具有添加的偏差向量bi的网络的每层i=1,...,N之间的一系列N个非线性活动函数fi来处理列向量输入X。网络输出o,由下式给出
o=fN(WNfN-1(WN-1fN-2(...f1(W1x+b1)...)+bN-1)+bN) (4)
在一些实施例中,将o与目标输出t进行比较,从而导致误差 其期望被最小化。
通过修改每层的突触权重Wi,可以使用梯度下降过程形式的优化来最小化误差。梯度下降过程需要计算给定对应于已知目标输出t的输入x的输出o,并产生误差o-t。然后,该全局误差被向后传播,给出用于权重更新的局部误差,其计算与用于前向传播的计算相似但不完全相同。特别地,反向传播步骤通常需要形式pj(nj)=f′j(nj)的活动函数,其中nj是层j处的网络活动(即,nj=Wjoj-1+bj),撇号,表示活动函数f的导数。
可以经由以下公式计算权重更新:
其中表示阿达马(Hadamard)乘积(即,两个向量的逐元素乘积),T表示矩阵转置,并且oj表示fj(Wjoj-1+bj),和o0=x。这里,根据ML考虑来选择学习率η。下面,涉及在神经实现中使用的神经赫布(Hebbian)学习机制。注意,突触W和b可以组合成一个大的突触矩阵,其中假设输入向量具有附加的一个,并且将表示b个突触的额外列包含到W中。
AI/ML模型可以在多个时期上被训练,直到它达到良好的准确度等级(例如,97%或更好,使用F2或F4阈值用于检测并且大约2000个时期)。在一些实施例中可以使用F1得分、F2得分、F4得分或任何其他合适的技术来确定该准确度等级,而不偏离本文的一个或多个实施例的范围。一旦对训练数据进行了训练,就可以对AI/ML模型以前没有遇到过的评估数据集进行测试。这有助于确保AI/ML模型不是“过拟合”的,使得它很好地标识训练数据中的图形元素,但不能很好地推广到其它图像。
在一些实施例中,可能不知道AI/ML模型可能达到什么样的精度等级。因此,如果当分析评估数据时AI/ML模型的精度开始下降(即,该模型在训练数据上表现良好,但在评估数据上开始表现较差),则AI/ML模型可能经历更多的训练数据(和/或新的训练数据)的训练时期。在一些实施例中,AI/ML模型仅在准确度达到某一等级或者如果训练的AI/ML模型的准确度优于现有的部署的AI/ML模型时才被部署。
在某些实施例中,训练的AI/ML模型的集合可以用于来完成任务,例如对每个类型的感兴趣的图形元素采用AI/ML模型,采用AI/ML模型来执行OCR,部署又一AI/ML模型来识别图形元素之间的邻近关系,采用又一AI/ML模型来基于来自其它AI/ML模型的输出来生成RPA工作流等。这可以共同地允许AI/ML模型例如实现语义自动化。
一些实施例可以使用诸如SentenceTransformersTM的变换器网络,SentenceTransformersTM是用于最新的句子、文本和图像嵌入的PythonTM框架。这种变换器网络学习具有高分值和低分值的词和短语的关联。这训练AI/ML模型以分别确定什么接近输入和什么不接近输入。变换器网络也可以使用字段长度和字段类型,而不仅仅使用单词/短语对。
图8是示出根据一个或多个实施例的用于训练AI/ML模型的过程800的流程图。注意,过程800还可以应用于其它UI学习操作,诸如用于NLP和聊天机器人。该过程从训练数据开始,例如在框810处提供如图8所示的标记数据,诸如标记屏幕(例如,标识有图形元素和文本),单词和短语,单词和短语之间的语义关联的“辞典”,使得可以标识给定单词或短语的类似单词和短语等。所提供的训练数据的性质将取决于AI/ML模型旨在实现的目的。然后,在框820处,在多个时期上训练AI/ML模型,并且在框830处检查结果。
如果在判定框840,AI/ML模型不能满足期望的置信度阈值(过程800根据“否”箭头进行),则在框850补充训练数据和/或修改回报函数以帮助AI/ML模型更好地实现其目标,并且过程返回到框820。如果AI/ML模型在判定框840处满足置信度阈值(过程800根据“是”箭头继续),则AI/ML模型是在框860对评估数据进行测试,以确保AI/ML模型很好地推广,并且AI/ML模型相对于训练数据不是过拟合的。评估数据可以包括AI/ML模型之前未处理的屏幕,源数据等。如果在判定框870处对于评估数据满足置信度阈值(过程800根据“是”箭头继续),则在框880处部署AI/ML模型。如果否(过程800根据“否”箭头进行),则过程返回到框880,并进一步训练AI/ML模型。
图9是示出根据一个或多个实施例的方法900的流程图。方法900可以由实现RPA工作流设计引擎902(本文中称为引擎902)的系统901(例如,计算系统和/或控制器)来实现。例如,图2的设计者210)和语义自动化构建器903,其可以独立于引擎902或被合并到引擎902中。系统901还包括数据源904(例如,诸如Excel电子表格的应用数据),RPA 905,CV软件906,语义工作流数据库907,以及动作生成器和AI模型908(这里称为生成器908)。
通常,系统901可以是计算系统,云系统和/或通过引擎902实现语义自动化构建器903的操作的控制器。方法900示出了允许用户使用书面自然语言生成工作流的系统901的示例操作(例如,创建语义自动化)。例如,引擎902和/或语义自动化构建器903可被描述为系统901内的软件,其包括生成、管理、自动执行和操作RPA 905的策略和技术的框架。因此,引擎902和/或语义自动化构建器903提供诸如增强的活动可发现性,标识来自书面自动化任务的所有活动的训练模型,语音到文本的操作。能够实现改进的RPA开发和减少的自动化设计时间的一个或多个技术效果,优点和益处的特征等。
语义自动化构建器903使用RPA 905的语义实现自动活动配置。例如,语义自动化构建器903使用来自自然语言描述的任务的ML来生成RPA 905的工作流,并且使用零码直观UI来验证所生成的工作流。根据一个或多个实施例,语义自动化构建器903可包括嵌套在引擎902内的零码直观UI(例如,向导),其中使用定义应通过自动化实现什么动作的逐步方法来构建进程。此外,在每个步骤中,用户将数据源904提供给语义自动化构建器903,并且语义自动化构建器903通过利用CV软件906,语义工作流数据库907和/或生成器908来构建自动化。
数据源904可以是描述工作流的一个或多个动作,活动或步骤的任何形式的信息。数据源904的示例包括但不限于应用数据(例如,Excel电子表格)、自然语言(例如,以文本形式)、书面自动化任务,在应用中找到的数据表,以及语音到文本。数据源904的一个或多个技术效果,优点和益处包括利用语义标记数据的数据库来改进生成器908的操作并且帮助语义自动化构建器903创建可以“开箱即用”服务的自动化。
RPA 905可以是执行机器人助手软件的代理软件,其示例包括机器人、工作流等,并且作业可以被认为是由RPA执行的工作的单元,在此进一步描述这两者。根据一个或多个实施例,RPA 905可以是具有被添加到一个或多个书面自动化任务的多个步骤的复杂流程。
CV软件906包括用于从数字图像或视频获取对工作流的动作,活动或步骤的理解的代码,如本文所述。例如,CV软件906可以执行具有定制屏幕OCR和文本匹配的组合的神经网络,以确定和标识工作流动作/活动/等等。这可以是自动的。
语义工作流数据库907可以是过去工作流、工作流动作/活动/等等的储存库。语义工作流数据库907可以用于确定和标识工作流动作/活动/等等。这可以是自动的。
生成器908包括代表语义自动化构建器903创建和产生自动化动作的代码。生成器908可以包括诸如GPT-3的AI模型和自回归语言模型中的一个或多个,以产生类人文本。作为示例,可以用语义工作流数据库907中找到的工作流描述和实际工作流的样本来训练精调GPT-3模型。
图9的方法900开始于920处,其中语义自动化构建器903启动或打开。例如,语义自动化构建器903响应于“语义自动化构建器”选项被选择而从引擎902启动。图10描绘了根据一个或多个实施例的示例界面1000。示例界面1000至少包括第一窗口1001,如图所示,其遍布整个显示器525。“语义自动化构建器”选项可以是工具栏上的图标,或者项目是下拉菜单。在选择“语义自动化构建器”选项时,生成子界面1020并覆盖第一窗口1001。子界面1020可以是弹出式界面。子界面1020可以是动态的。例如,当与子界面1020内的一个或多个元素的交互发生时,子界面1020可以改变。子界面1020包括第一界面元素1030,第二界面元素1040,保存图标1050(例如,“保存工作流”图标)和退出图标1060。
第一界面元素1030是选择条和/或图标,其在选择时可以启动呈现具有一个或多个第一选项的菜单。类似地,第二界面元素1040是选择条和/或图标,其在选择时可以启动呈现具有一个或多个第二选项的菜单。一个或多个第二选项可以直接连接到一个或多个第一选项,因为当选择特定的第一选项时,示出了相应的第二选项集。每个第一打开可以具有不同的相应选项组。
作为示例,一个或多个第一选项涉及由方法900生成的工作流(即,RPA 905)的类别。这些类别包括但不限于用户定义的活动420,API驱动的活动430、AI/ML活动440,UI自动化活动450和数据活动(例如,指示需要数据源)。
保存图标1050(例如,“保存工作流”图标)是界面元素,其在选择时使得子界面1020内的所有进程将工作流(即,RPA 905)存储,以供实际使用或稍后完成。退出图标1060(例如,“X”图标)是在选择时使子界面1020关闭的界面元素。
方法900在框930继续,其中语义自动化构建器903允许从子界面1020至少选择第一和第二选项。语义自动化构建器903能够从来自第一界面元素1030的第一选项中选择数据源,并且从来自第二界面元素1040的第二选项中选择相应的应用。语义自动化构建器903还可以写自动化任务(即,用于该应用)。
例如,可通过第一界面元素1030选择“数据”选项以指示所得RPA 905需要数据源(例如,指定需要数据源可视为第一步)。然后,在选择第二界面元素1040时,子界面1020可以呈现关于“从何处获取数据”的第二选项,诸如文件、应用、目录等。
图11示出了根据一个或多个实施例的示例界面1100。如图所示,示例界面1100至少包括第一窗口1001,其遍布整个显示器525,并且子界面1020被生成并覆盖在第一窗口1001上。子界面1020包括第一界面元素1030,第二界面元素1040,保存图标1050(例如“保存工作流”图标)和退出图标1060。
子界面1020还包括框1110(例如,对话框),第一选择区域1120,多个图标1122,输入区域1140。丢弃1110可以是提供用于选择的一个或多个图标,元素,条和/或选项的动态界面。第一选择区域1120是提供附加和/或更多粒度选项的丢弃1110的子界面。多个图标1122是附加和/或更多粒度选项的示例,并且可以表示一个或多个应用。输入区1140是提供附加和/或更多粒度选项的框1110的另一子界面。
子界面1020还包括创建图标1050,退出图标1060和取消图标1180。创建图标1050是界面元素,其在选择时使框1110内的所有进程被捕捉并且在RPA 905内生成。退出图标1160(例如,“X”图标)和取消图标1180是在选择时使框1110关闭的界面元素。
继续该示例,为了解析'从哪里获取数据',框1110允许添加新的或第二步骤(例如,'添加新的步骤')。第一选择区域1120提供多个图标1122以使得能够选择“在哪里运行该步骤”。多个图标1122指示哪个应用可以是选择(例如,RPA挑战窗口等)。输入区域1140可以接收关于“要做什么”的输入(例如,完成“要做什么”)。形成提交)。一旦选择了创建图标1050,语义自动化构建器903就可以相对于所选图标1122编写“完成表单并且提交”的自动化任务,以产生结果RPA 905。
方法900在框940处继续,其中语义自动化构建器903生成动作。这些动作用于生成活动,这些活动将是所得到的RPA的部分。然后,语义自动化构建器903允许查看和编辑所生成的动作。
图12描绘了根据一个或多个实施例的示例界面1200。根据一个或多个实施例,所生成的动作可以在示例界面1200内通过扩展每个步骤并允许编辑这些步骤的动作(例如,改变动作,添加新动作,删除动作)来查看。此外,可将多个步骤添加到RPA 905并且可对其进行查看和编辑。
例如,示例界面1200至少包括第一窗口1001,如图所示,其遍布整个显示器525,并且子界面1020被生成并且覆盖在第一窗口1001上。子界面1020包括第一界面元素1030,保存图标1050(例如“保存工作流”图标)和退出图标1060。子界面1020还包括对应于RPA950的特定步长的步长选择区域1210。
步骤选择区域1210包括应用图标1212,图标1214,还包括下拉区1222和1224的子界面1220以及子界面1240。应用图标1212可以是标识与步骤选择区域1210中示出的RPA950的特定步骤相关联的应用等(例如,该步骤在其中运行的应用)的界面元素。图标1214可以是使得能够执行步骤选择区域1210内的任何改变的界面元素,从而可以确定结果、错误等。根据一个或多个实施例,图标1214指示该步骤将是对数据源904中的每个数据项执行。子界面1220和1240对应于RPA 950的特定步骤的动作,配置等,并且允许对其进行编辑。下拉区域1222和1223对应于子界面1220的配置内的子动作、子配置等。
作为示例,步骤选择区域1210中示出的RPA 950的特定步骤可对应于“Chrome”浏览器应用程序的“完成表单并且提交”步骤。此外,子界面1220和1240可以表示与“完成表单和提交”步骤相关的动作,诸如以下中的一个或多个:
1.1.键入“名字”;
1.2.键入“姓氏”;
1.3.键入“地址”;
1.4.键入“电话号码”;
1.5.键入“电子邮件”;以及
1.6.添加新活动。
此外,下拉区域1222和1224可以表示与“第一名字”动作相关的动作,诸如以下中的一个或多个:
在哪里键入-'第一名字';以及
键入内容-“第一名字”。
方法900在框950处继续,其中语义自动化构建器903将工作流(例如,RPA 905)输出到引擎902(例如,图2的设计器210)。工作流可被保存到引擎902,使得用户能够运行工作流。
现在转到图13,根据一个或多个实施例描绘了方法1300。方法1300可以由系统901实现,并且示出了系统901的示例操作(例如,创建语义自动化)。根据一个或多个实施例,方法1300示出了语义自动化构建器903的示例操作,使得用户能够向RPA 905添加一个或多个步骤,以及目标应用选择和/或与该应用相对应的书面自动化任务。
在框1310,语义自动化构建器903响应于用户输入而启动。根据一个或多个实施例,用户输入可以选择触发、启动或打开语义自动化构建器903的菜单项。例如,语义自动化构建器903响应于“语义自动化构建器”选项被选择而从引擎902启动。
在框1320,语义自动化构建器903接收与目标应用相对应的一个或多个用户输入。在框1325,语义自动化构建器903接收与书面自动化任务相对应的一个或多个用户输入。根据一个或多个实施例,可以将步骤添加到具有书面自动化任务的流程中。根据一个或多个实施例,语义自动化构建器903和生成器908可以进行训练以从书面自动化任务中确定除仅“点击和键入”动作之外的更多动作,并且可以接收和处理语音或被转换为书面自动化任务。在框1330,语义自动化构建器903接收雨一个或多个步骤相对应的一个或多个用户输入。在虚线框1335,CV软件906可以可选地捕获目标应用界面上的UI元素。注意,框1320、1325、1330和1335的操作可以按构建RPA 905的一个或多个步骤所需的任何顺序和多次发生。此外,框1320、1325、1330和1335的操作标识将与RPA 905相对应的活动的动作。
在框1340,语义自动化构建器903将所有信息(例如,一个或多个步骤、目标应用选择、书面自动化任务、以及UI元素)馈送到生成器908。根据一个或多个实施例,语义自动化构建器903充分利用语义工作流数据库907。例如,语义工作流数据库907存储动作和对这些动作进行的编辑。语义自动化构建器903可以将来自语义工作流数据库907的所有动作和编辑提供给生成器908。
在框1350,生成器908确定需要在所捕获的目标应用的UI元素上执行的动作(例如,键入、点击等)。在框1360,生成器908将所确定的动作映射到语义工作流数据库907的活动。根据一个或多个实施例,该动作(以及在一些情况下为编辑)被映射到活动,以及语义工作流数据库907存储用于训练AI/ML模型132的动作和编辑。以示例的方式,使用AI模型、NLP模型、自回归语言模型、GPT-3模型中的一个或多个来确定动作,这些模型中的任何一个都可以利用工作流描述和实际工作流的样本来训练。根据一个或多个实施例,语义自动化构建器903提供基于自然语言的自动化。此外,生成器908通过利用语义工作流数据库907中存储的动作、这些动作的编辑、以及工作流(例如,利用工作流描述和实际工作流的样本)来训练AI1ML模型132(以产生经微调的GPT-3模型)。AI/ML模型132被用于确定动作到活动的映射。
在框1370,生成器908利用所映射的活动来将动作(来自框1320、1325、1330和1335)转换为活动,以及创建一个或多个步骤的自动化序列。根据一个或多个实施例,生成器908可以使用书面自然语言来生成自动化序列。根据一个或多个实施例,自动化序列可以包括在用于填写表单的单个界面中的点击和键入活动。根据一个或多个实施例,自动化序列(使用语义自动化构建器903构建的)可以根据需要在不同的网站、数据库、文件系统、以及应用之间导航。自动化序列(例如,语义自动化)可以等同于RPA 905,或者是组合成RPA905的多个自动化序列(例如,一个或多个语义自动化)中的一个(例如,在这种情况下,RPA905可以被认为是复杂流程)。在虚线框1380,CV动作可以可选地被提供为语义自动化构建器903的UI内的工作流,使得用户能够运行自动化并容易地编辑生成的动作集合。
在框1390,可以将RPA 905导出到设计者902以供执行。根据一个或多个实施例,通过将语义自动化构建器903添加到设计者902,系统900可以支持具有零编码经历的用户,以及将那些用户带入到系统900中。
根据一个或多个实施例,提供了一种方法。该方法由在至少一个处理器上执行的语义自动化构建器实现。该方法生成机器人过程自动化的一个或多个语义自动化。该方法包括接收对应于目标应用、书面自动化任务或一个或多个步骤的一个或多个用户输入,以标识所述机器人过程自动化的一个或多个动作。该方法包括将所述一个或多个动作中的每个动作映射到活动,以生成一个或多个映射的活动。该方法包括基于所述一个或多个映射的活动将所述一个或多个动作转换为所述一个或多个语义自动化。该方法包括在所述语义自动化构建器的用户界面中提供所述一个或多个语义自动化,以使得能够编辑所述一个或多个动作。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器可以响应于选择触发所述语义自动化构建器的菜单项的用户输入而启动。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器可以使得能够向所述书面自动化任务添加一个或多个附加步骤。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器被训练成根据所述书面自动化任务确定所述一个或多个动作。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器被训练成处理语音作为所述书面自动化任务。
根据本文中的一个或多个实施例或方法实施例中的任一个,计算机视觉软件可以捕获所述目标应用的界面上的用户界面元素以对应于所述一个或多个动作。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器使用自回归语言模型来映射所述一个或多个动作。
根据本文中的一个或多个实施例或方法实施例中的任一个,一个或多个语义自动化可以在不同的网站、数据库、文件系统和应用之间导航。
根据本文中的一个或多个实施例或方法实施例中的任一个,机器人过程自动化被输出给设计者用于执行。
根据本文中的一个或多个实施例或方法实施例中的任一个,语义自动化构建器使用语义工作流数据库中存储的动作、对那些动作的编辑、或工作流来训练一个或多个人工智能和机器学习模型,并且利用所述一个或多个人工智能和机器学习模型来确定所述动作到活动的映射。
根据一个或多个实施例,提供了一种系统。该系统包括至少一个处理器和存储语义自动化构建器的软件的一个或多个存储器,该语义自动化构建器生成机器人过程自动化的一个或多个语义自动化。所述至少一个处理器执行所述软件以使所述系统接收对应于目标应用、书面自动化任务或一个或多个步骤的一个或多个用户输入,以标识所述机器人过程自动化的一个或多个动作。该至少一个处理器执行软件以使系统将所述一个或多个动作中的每个动作映射到活动,以生成一个或多个映射的活动。该至少一个处理器执行软件以使系统基于所述一个或多个映射的活动将所述一个或多个动作转换为所述一个或多个语义自动化。该至少一个处理器执行软件以使系统在所述语义自动化构建器的用户界面中提供所述一个或多个语义自动化,以使得能够编辑所述一个或多个动作。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以响应于选择触发所述语义自动化构建器的菜单项的用户输入而启动。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以使得能够向所述书面自动化任务添加一个或多个附加步骤。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器被训练成根据所述书面自动化任务确定所述一个或多个动作。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器被训练成处理语音作为所述书面自动化任务。
根据本文中的一个或多个实施例或系统实施例中的任一个,计算机视觉软件可以捕获所述目标应用的界面上的用户界面元素以对应于所述一个或多个动作。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以包括生成器,所述生成器使用自回归语言模型来映射所述一个或多个动作。
根据本文中的一个或多个实施例或系统实施例中的任一个,一个或多个语义自动化可以在不同的网站、数据库、文件系统和应用之间导航。
根据本文中的一个或多个实施例或系统实施例中的任一个,机器人过程自动化可以被输出给设计者用于执行。
根据本文中的一个或多个实施例或系统实施例中的任一个,语义自动化构建器可以使用语义工作流数据库中存储的动作、对那些动作的编辑、或工作流来训练一个或多个人工智能和机器学习模型,并且利用所述一个或多个人工智能和机器学习模型来确定所述动作到活动的映射。
计算机程序可以用硬件、软件或混合实现来实现。计算机程序可以由彼此可操作地通信的模块组成,这些模块被设计成将信息或指令传递到显示器。计算机程序可以被配置为在通用计算机,ASIC或任何其他合适的设备上操作。
将容易理解的是,如在此的附图中总体上描述和展示的不同实施例的部件可以以多种不同的构型来安排和设计。因此,如附图中所示的实施例的详细描述不旨在限制所要求保护的范围,而仅仅是所选择的实施例的代表。
贯穿本说明书描述的特征,结构或特性可以以任何合适的方式组合在一个或多个实施例中。例如,在整个说明书中对“某些实施例”,“一些实施例”或类似语言的引用意味着结合该实施例描述的特定特征,结构或特性被包括在至少一个实施例中。因此,贯穿本说明书的短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言的出现不一定都指相同组的实施例,并且所描述的特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。
应当注意,在整个说明书中对特征、优点或类似语言的引用并不意味着可以实现的所有特征和优点应当是或处于任何单个实施例中。相反,提及特征和优点的语言应理解为意指结合实施例描述的特定特征、优点或特性包括在一个或多个实施例中。因此,在整个说明书中对特征和优点以及类似语言的讨论可以但不一定涉及相同的实施例。
此外,本文的一个或多个实施例的所述特征,优点和特性可以任何合适的方式组合。相关领域的技术人员将认识到,可以在没有一个或多个特定特征的情况下实践本公开。或特定实施例的优点。在其他示例中,在某些实施例中可认识到可能不存在于所有实施例中的额外特征和优点。
本领域的普通技术人员将容易理解,可以用不同顺序的步骤和/或用与所公开的配置不同的配置中的硬件元件来实践本公开。因此,虽然已经基于这些优选实施例描述了本公开,但是对于本领域技术人员显而易见的是,某些修改、变化和替代构建将是显而易见的,同时保持在本公开的精神和范围内。因此,为了确定本公开的界限和界限,应参考所附权利要求。

Claims (20)

1.一种由在至少一个处理器上执行的语义自动化构建器实现的方法,所述方法生成机器人过程自动化的一个或多个语义自动化,所述方法包括:
接收对应于目标应用、书面自动化任务或一个或多个步骤的一个或多个用户输入,以标识所述机器人过程自动化的一个或多个动作;
将所述一个或多个动作中的每个动作映射到活动,以生成一个或多个映射的活动;
基于所述一个或多个映射的活动将所述一个或多个动作转换为所述一个或多个语义自动化;以及
在所述语义自动化构建器的用户界面中提供所述一个或多个语义自动化,以使得能够编辑所述一个或多个动作。
2.根据权利要求1所述的方法,其中所述语义自动化构建器响应于选择触发所述语义自动化构建器的菜单项的用户输入而启动。
3.根据权利要求1所述的方法,其中所述语义自动化构建器使得能够向所述书面自动化任务添加一个或多个附加步骤。
4.根据权利要求1所述的方法,其中所述语义自动化构建器包括生成器,所述生成器被训练成根据所述书面自动化任务确定所述一个或多个动作。
5.根据权利要求1所述的方法,其中所述语义自动化构建器包括生成器,所述生成器被训练成处理语音作为所述书面自动化任务。
6.根据权利要求1所述的方法,其中计算机视觉软件捕获所述目标应用的界面上的用户界面元素以对应于所述一个或多个动作。
7.根据权利要求1所述的方法,其中所述语义自动化构建器包括生成器,所述生成器使用自回归语言模型来映射所述一个或多个动作。
8.根据权利要求1所述的方法,其中所述一个或多个语义自动化在不同的网站、数据库、文件系统和应用之间导航。
9.根据权利要求1所述的方法,其中所述机器人过程自动化被输出给设计者用于执行。
10.根据权利要求1所述的方法,其中所述语义自动化构建器使用语义工作流数据库中存储的动作、对那些动作的编辑、或工作流来训练一个或多个人工智能和机器学习模型,并且利用所述一个或多个人工智能和机器学习模型来确定所述动作到活动的映射。
11.一种系统,包括:
一个或多个存储器,存储语义自动化构建器的软件,所述语义自动化构建器生成机器人过程自动化的一个或多个语义自动化;以及
至少一个处理器,执行所述软件以使所述系统:
接收对应于目标应用、书面自动化任务或一个或多个步骤的一个或多个用户输入,以标识所述机器人过程自动化的一个或多个动作;
将所述一个或多个动作中的每个动作映射到活动,以生成一个或多个映射的活动;
基于所述一个或多个映射的活动将所述一个或多个动作转换为所述一个或多个语义自动化;以及
在所述语义自动化构建器的用户界面中提供所述一个或多个语义自动化,以使得能够编辑所述一个或多个动作。
12.根据权利要求11所述的系统,其中所述语义自动化构建器响应于选择触发所述语义自动化构建器的菜单项的用户输入而启动。
13.根据权利要求11所述的系统,其中所述语义自动化构建器使得能够向所述书面自动化任务添加一个或多个附加步骤。
14.根据权利要求11所述的系统,其中所述语义自动化构建器包括生成器,所述生成器被训练成根据所述书面自动化任务确定所述一个或多个动作。
15.根据权利要求11所述的系统,其中所述语义自动化构建器包括生成器,所述生成器被训练成处理语音作为所述书面自动化任务。
16.根据权利要求11所述的系统,其中计算机视觉软件捕获所述目标应用的界面上的用户界面元素以对应于所述一个或多个动作。
17.根据权利要求11所述的系统,其中所述语义自动化构建器包括生成器,所述生成器使用自回归语言模型来映射所述一个或多个动作。
18.根据权利要求11所述的系统,其中所述一个或多个语义自动化在不同的网站、数据库、文件系统和应用之间导航。
19.根据权利要求11所述的系统,其中所述机器人过程自动化被输出给设计者用于执行。
20.根据权利要求11所述的系统,其中所述语义自动化构建器使用语义工作流数据库中存储的动作、对那些动作的编辑、或工作流来训练一个或多个人工智能和机器学习模型,并且利用所述一个或多个人工智能和机器学习模型来确定所述动作到活动的映射。
CN202311410619.5A 2022-10-27 2023-10-27 用于机器人过程自动化的语义自动化构建器 Pending CN117950649A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/974,669 2022-10-27
US17/974,669 US20240142917A1 (en) 2022-10-27 2022-10-27 Semantic automation builder for robotic process automation

Publications (1)

Publication Number Publication Date
CN117950649A true CN117950649A (zh) 2024-04-30

Family

ID=88598935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311410619.5A Pending CN117950649A (zh) 2022-10-27 2023-10-27 用于机器人过程自动化的语义自动化构建器

Country Status (4)

Country Link
US (1) US20240142917A1 (zh)
EP (1) EP4361921A1 (zh)
JP (1) JP2024065102A (zh)
CN (1) CN117950649A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11440201B2 (en) * 2019-10-15 2022-09-13 UiPath, Inc. Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US10860905B1 (en) 2019-10-16 2020-12-08 UiPath, Inc. Long running workflows for document processing using robotic process automation
US11592804B2 (en) * 2020-10-14 2023-02-28 UiPath, Inc. Task automation by support robots for robotic process automation (RPA)

Also Published As

Publication number Publication date
US20240142917A1 (en) 2024-05-02
EP4361921A1 (en) 2024-05-01
JP2024065102A (ja) 2024-05-14

Similar Documents

Publication Publication Date Title
US11648686B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US20210110256A1 (en) Artificial intelligence layer-based process extraction for robotic process automation
EP4163784A1 (en) Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation
US20230393870A1 (en) Determining sequences of interactions, process extraction, and robot generation using generative artificial intelligence / machine learning models
EP4276709A1 (en) Building and managing artificial intelligence flows using long-running workflows for robotic process automation
JP2023545644A (ja) 人工知能/機械学習モデルを使用したインタラクションのシーケンス決定、プロセス抽出、およびロボット生成
US20230236851A1 (en) Multi-session automation windows for robotic process automation using same credentials
US20230125223A1 (en) Semantic matching between a source screen or source data and a target screen using semantic artificial intelligence
US20240142917A1 (en) Semantic automation builder for robotic process automation
US20240168773A1 (en) Automatic augmentation of a target application within a browser
US20240168724A1 (en) Hypertext transfer protocol recorder of a robotic process automation workflow designer application
US20240134685A1 (en) Detection of variants of automatable tasks for robotic process automation
US20240134695A1 (en) Automatic merging of variants of automatable tasks for robotic process automation
US20240046142A1 (en) Intent-based automation
US20230415338A1 (en) Target-based schema identification and semantic mapping for robotic process automation
US20230360388A1 (en) Training a generative artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision
US20240070257A1 (en) Assume user identity authentication flow
US20240053727A1 (en) Type cache for package management of robotic process automations field
US20230339102A1 (en) System, apparatus, and method for deploying robotic process automations across multiple operating systems
JP2024074288A (ja) ブラウザ内でのターゲットアプリケーションの自動拡張
US20230236855A1 (en) Automation windows for robotic process automation using multiple desktops

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication