CN116529032A - 用于机器人流程自动化(rpa)的支持机器人的任务自动化 - Google Patents
用于机器人流程自动化(rpa)的支持机器人的任务自动化 Download PDFInfo
- Publication number
- CN116529032A CN116529032A CN202180070313.2A CN202180070313A CN116529032A CN 116529032 A CN116529032 A CN 116529032A CN 202180070313 A CN202180070313 A CN 202180070313A CN 116529032 A CN116529032 A CN 116529032A
- Authority
- CN
- China
- Prior art keywords
- user
- rpa
- robot
- task
- computing system
- 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
Links
- 238000004801 process automation Methods 0.000 title claims abstract description 10
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 59
- 238000010801 machine learning Methods 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 41
- 230000003993 interaction Effects 0.000 claims description 37
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 27
- 230000000694 effects Effects 0.000 claims description 27
- 230000000977 initiatory effect Effects 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000009471 action Effects 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40202—Human robot coexistence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Mechanical Engineering (AREA)
- Entrepreneurship & Innovation (AREA)
- Robotics (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Manipulator (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了用于机器人流程自动化(RPA)的支持机器人的任务自动化。RPA机器人可以位于两个或更多个用户的计算系统上或位于远程。该RPA机器人可以使用被训练以使用计算机视觉(CV)的人工智能(AI)/机器学习(ML)模型来识别相应的用户正在利用计算系统执行的任务。然后,该RPA机器人可以响应于某个动作确定该相应的用户正在定期地执行某些任务,例如通过电子邮件或另一应用接收请求、确定某个任务已经被完成、注意到时间段已经过去等等,并且使该相应的任务自动化。
Description
相关申请的交叉引用
本国际申请要求2020年10月14日提交的美国专利申请号17/070,206的权利和优先权。该先前提交的申请的主题在此全文引入作为参考。
技术领域
本发明总体上涉及用户界面(UI)自动化,更具体地涉及用于机器人流程自动化(RPA)的支持机器人的任务自动化。
背景技术
各种沟通和批准在工作场所中是常见的。例如,在雇员可以进行某个动作之前,可以要求来自管理员的批准;状态报告可以周期地和/或在某些任务完成之后被发送;具有某些内容的电子邮件可以例行地被发送等等。该对应可能会减少雇员生产率和/或延误某些动作。因此,改进的方法可以是有利的。
发明内容
本发明的某些实施例可以为现有技术中尚未被当前UI自动化技术完全标识、理解或解决的问题和需求提供解决方案。例如,本发明的一些实施例涉及用于RPA的支持机器人的任务自动化。
在一个实施例中,系统包括服务器和第一用户计算系统,第一用户计算系统包括第一监听器RPA机器人。第一监听器RPA机器人被配置为监测第一用户与第一计算系统的交互以及向服务器提供与第一用户的交互相关的数据。系统还包括第二用户计算系统,第二用户计算系统包括第二监听器RPA机器人,第二监听器RPA机器人被配置为监测第二用户与第二计算系统的交互以及向服务器提供与第二用户的交互相关的数据。服务器被配置为:基于与第一用户和第二用户的交互相关的数据,使用AI/ML模型来确定第一用户执行发起任务并且第二用户执行响应任务。服务器还被配置为生成并且部署在第一计算系统上使发起任务自动化以及在第二计算系统上使响应任务自动化的相应的自动化。
在另一实施例中,计算机实现的方法包括由监测RPA机器人调用AI/ML模型,该AI/ML模型被配置为分析包括多个用户计算系统的用户的交互和在多个用户计算系统的至少子集之间的通信的数据。计算机实现的方法还包括由监测RPA机器人基于AI/ML模型的分析确定:发起任务在由多个用户计算系统的一个或多个计算系统执行时,一个或多个响应任务由多个用户计算系统的一个或多个其他用户计算系统执行。计算机实现的方法还包括由监测RPA机器人向相应的用户计算系统生成并且部署实现发起任务和一个或多个响应任务的相应的RPA机器人。
在又一实施例中,非暂态计算机可读介质存储计算机程序。计算机程序被配置为使得至少一个处理器执行监测RPA机器人,其调用AI/ML模型,该AI/ML模型被配置为分析包括多个用户计算系统的用户的交互和多个用户计算系统的至少子集之间的通信的数据。计算机程序还被配置为使得至少一个处理器由监测RPA机器人基于AI/ML模型的分析确定:发起任务在由多个用户计算系统的一个或多个计算系统执行时,一个或多个响应任务由多个用户计算系统的一个或多个其他用户计算系统执行。计算机程序还被配置为使得至少一个处理器生成实现发起任务、一个或多个响应任务、或两者的相应的RPA工作流。相应的RPA工作流包括实现与相应的任务相关联的用户交互的活动。
附图说明
为了容易理解本发明的某些实施例的优点,通过参考附图中示出的具体实施例为参考对上文简要描述的本发明进行更具体的描述。尽管应当理解,这些附图仅描述了本发明的典型实施例,因此不应被认为是对本发明范围的限制,通过使用附图对本发明进行附加的具体内容和细节的描述和解释,其中:
图1是图示了根据本发明实施例的机器人流程自动化(RPA)系统的架构图。
图2是图示了根据本发明实施例的所部署的RPA系统的架构图。
图3是图示了根据本发明实施例的设计器、活动和驱动程序之间的关系的架构图。
图4是图示了根据本发明实施例的RPA系统的架构图。
图5是图示了根据本发明实施例的计算系统的架构图,该计算系统被配置为由用于RPA的支持机器人执行任务自动化。
图6是图示了根据本发明实施例的系统的架构图,该系统被配置为由用于RPA的支持机器人执行任务自动化。
图7是图示了根据本发明实施例的系统的架构图,该系统被配置为通过RPA机器人监测计算系统之间的通信以及执行任务自动化。
图8是图示了根据本发明实施例的用于由用于RPA的支持机器人执行任务自动化的流程的流程图。
除非另有说明,在所有附图中,类似的附图标记始终表示相应的特征。
具体实施方式
一些实施例涉及用于RPA的支持机器人的任务自动化。RPA支持机器人可以位于两个或更多个用户的计算系统上和/或远程地(例如在服务器上)。例如,RPA机器人可以位于管理员的计算系统上并且另一RPA机器人可以位于雇员的计算系统上,该雇员向该管理员报告。该RPA机器人可以使用被训练以使用计算机视觉(CV)的人工智能(AI)/机器学习(ML)模型来识别用户正在利用计算系统执行的任务。然后,该RPA机器人可以响应于某个动作确定该用户正在定期地执行某些任务,例如通过电子邮件或另一应用接收请求,确定某个任务已经被完成,注意到时间段已经过去,等等。
在任务已经被识别之后,该RPA机器人可以做自动化建议给用户或者自动化可以被自动地实现。例如,该RPA机器人可以使弹窗出现来通知用户该RPA机器人已经注意到在接收超过某个金额的具有某些内容的发票之后,该用户发送授权请求至他的或她的管理员。如果该用户同意该自动化是有利的,该机器人可以向该用户建议提议的动作,例如发送具有趋向于出现在该用户的电子邮件中请求授权的内容的电子邮件。然后,该机器人可以进入训练阶段,其中要被发送的内容首先被提议给该用户。当内容是不正确的时,该用户可以标记不正确的内容的部分和正确的内容的指示。随着校正被提供、在某个数目的校正被提供之后、在某段时间之后等,AI/ML模型可以被重训练,或者替代AI/ML模型可以被训练。在达到某个置信度之后,该RPA机器人可以在没有用户交互的情况下自动地执行该动作。
在一些实施例中,RPA机器人可以监测两个计算系统之间的通信。例如,RPA机器人可以位于邮件服务器系统上并且可以分析在两个雇员之间被来回发送的邮件。这可以在有或没有来自用户计算系统的补充内容的情况下发生,例如对用户屏幕的分析以及当该电子邮件被发送或者被接收时在每个计算系统上正在发生什么。服务器侧RPA机器人可以确定单独对在用户计算系统上的任一RPA机器人都不可用的上下文,并向每个机器人建议动作以使流程更加高效。例如,该服务器侧RPA机器人可以注意到某些内容被管理员例行地请求、拦截邮件、以及通知发送方系统的RPA机器人信息遗失并且应当被补充。
在一些实施例中,RPA机器人或其他的监听器/记录器流程可以观察与相应的计算系统的用户交互。该监听器/记录器流程可以确定反复出现的用户动作和内容。在一些实施例中,针对用户动作的理由也可以被确定。然后,该监听器/记录器流程可以向该用户建议自动化或者自动地创建该自动化(例如,通过创建具有与动作相关联的活动RPA工作流、生成实现该工作流的RPA机器人、并部署该RPA机器人至用户的计算系统)。
在一些实施例中,可以有训练阶段,其中在使用户动作自动化之前,监听器/记录器流程与用户进行核实并接收标注训练数据以进一步训练AI/ML模型。备选地,自动生成的RPA机器人可以首先被推广给用户的子集,在该阶段中潜在地进一步训练AI/ML模型。然后,如果该自动化是成功的/有利的,该RPA机器人可以被推广给更广泛的用户计算系统组。
考虑AI/ML模型首先学习以在某个时间开灯的情况。然而,随着日间更长或者更短,灯可能被过早或过晚地打开,并且用户可以手动开灯或者关灯以校正误差。该AI/ML模型可以学习到动作正在被校正,并且搜索其他的可用信息以试图去找到原因。例如,该AI/ML模型可以基于来自具有日出/日落表的网站的信息,确定用户想要开灯或者关灯的时间通常分别与该地点和该日期的黄昏和黎明对应。
在一些实施例中,可以确定针对之前成功的AI/ML模型这样的数据和/或模型漂移正在发生。然后,RPA机器人或其他的流程可以将AI/ML模型返回至训练阶段以重训练该模型。一旦再次准确,可以重新启用完全自动化。
在一些实施例中,除了或替代部署于终端用户计算系统上的RPA机器人,RPA机器人可以被部署于服务器侧。该服务器侧RPA机器人可以看到多个计算系统之间的通信,例如注意到当电子邮件从第一用户发送至第二用户时,另一相关的电子邮件也从第二用户发送至第三用户。相比被部署于终端用户计算系统的机器人所能够单独提供上下文,这可以提供更多的上下文。
某些实施例可以被用于机器人过程自动化(RPA)。图1是图示根据本发明的实施例的RPA系统100的架构图。RPA系统100包括允许开发者设计和实现工作流的设计器110。设计器110可以提供用于应用集成以及自动化第三方应用、管理信息技术(IT)任务和业务IT过程的解决方案。设计器110可以促进自动化项目的开发,自动化项目是业务过程的图形表示。简而言之,设计器110促进了工作流和机器人的开发和部署。
自动化项目通过让开发者控制执行顺序和在工作流中开发的步骤(在本文中被定义为“活动”)的自定义集合之间的关系来实现基于规则的过程的自动化。设计器110的实施例的一个商业示例是UiPath StudioTM。每个活动可以包括诸如点击按钮、读取文件、写入到日志面板等的动作。在一些实施例中,工作流可以被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、FSM和/或全局异常处理程序。序列可能特别适用于线性过程,在不使工作流程混乱的情况下实现从一个活动到另一个活动的流程。流程图可能特别适合于更复杂的业务逻辑,通过多个分支逻辑运算符以更多样化的方式实现决策的集成和活动的连接。FSM可能特别适合于大型工作流。FSM可以在其执行中使用有限数目的状态,这些状态由条件(即转变)或活动来触发。全局异常处理程序可能特别适合用于在遇到执行错误时确定工作流行为以及适合用于调试过程。
一旦在设计器110中开发了工作流,业务过程的执行就由协调器(conductor)120编排,协调器120编排一个或多个机器人130,机器人130执行在设计器110中开发的工作流。协调器120的实施例的一个商业示例是UiPath OrchestratorTM。协调器120促进了对环境中的资源的创建、监测和部署的管理。协调器120可以充当与第三方解决方案和应用的集成点、或聚合点中的一者。
协调器120可以管理机器人130的队列,连接和执行来自集中式点的机器人130。可以被管理的机器人130的类型包括但不限于有人值守机器人132、无人值守机器人134、开发机器人(类似于无人值守机器人134,但被用于开发和测试目的)和非生产机器人(类似于有人值守机器人132,但是用于开发和测试目的)。有人值守机器人132由用户事件触发,并在相同计算系统上与人类一起操作。有人值守机器人132可以与协调器120一起使用,以用于集中式过程部署和日志记录介质。有人值守机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,过程不能在这种类型的机器人上从协调器120开始和/或它们不能在被锁定的屏幕下运行。在某些实施例中,有人值守机器人132只能从机器人托盘或从命令提示开始。在一些实施例中,有人值守机器人132应该在人类监督下运行。
无人值守机器人134在虚拟环境中无人值守地运行,并且可以使多个过程自动化。无人值守机器人134可以负责远程执行、监测、调度和为工作队列提供支持。在一些实施例中,针对所有机器人类型的调试可以在设计器110中运行。有人值守和无人值守机器人都可以使各种系统和应用自动化,各种系统和应用包括但不限于大型机、web应用、虚拟机、企业应用(例如,由等生产的那些应用)和计算系统应用(例如,台式机和笔记本计算机应用、移动设备应用、可穿戴计算机应用等)。
协调器120可以具有各种能力,包括但不限于供应、部署、版本控制、配置、排队、监测、日志记录和/或提供互连性。供应可以包括创建和维护机器人130和协调器120(例如,web应用)之间的连接。部署可以包括确保将封装版本正确地递送给所指派的机器人130以供执行。在一些实施例中,版本控制可以包括对一些过程或配置的唯一实例的管理。配置可以包括机器人环境和过程配置的维护和递送。排队可以包括提供对队列和队列项的管理。监测可以包括保持对机器人标识数据的跟踪和维护用户权限。日志记录可以包括将日志存储到数据库(例如,SQL数据库)和/或其他存储机制(例如,)并进行索引,这提供存储和快速查询大型数据集的能力。协调器120可以通过充当针对第三方解决方案和/或应用的集中式通信点来提供互连性。
机器人130是运行内置于设计器110中的工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是UiPath RobotsTM。在一些实施例中,机器人130默认安装Microsoft服务控制管理器(SCM)管理的服务。结果,此类机器人130可以在本地系统账户下打开交互式/>会话,并具有/>服务的权利。
在一些实施例中,机器人130可以以用户模式来被安装。对于这样的机器人130,这意味着它们具有与已经安装给定机器人130的用户相同的权利。此特征也可用于高密度(HD)机器人,这确保了对每台机器的最大潜力的充分利用。在一些实施例中,任何类型的机器人130都可以被配置在HD环境中。
在一些实施例中,机器人130被拆分成若干组件,每个组件专用于特定的自动化任务。一些实施例中的机器人组件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理和命令行。SCM管理的机器人服务管理和监测会话,并充当协调器120和执行主机(即,在其上执行机器人130的计算系统)之间的代理。这些服务受信任并管理针对机器人130的凭证。控制台应用由本地系统下的SCM启动。
在一些实施例中,用户模式机器人服务管理和监测会话,并充当协调器120和执行主机之间的代理。用户模式机器人服务可以受信任并管理针对机器人130的凭证。如果未安装SCM管理的机器人服务,则可以自动启动/>应用。
执行器可以在会话下运行给定作业(即,它们可以执行工作流)。执行器可以知道每个监视器每英寸点数(DPI)设置。代理可以是/>PresentationFoundation(WPF)应用,其显示系统托盘窗口中的可用作业。代理可以是服务的客户端。代理可以请求开始或停止作业并更改设置。命令行是服务的客户端。命令行是可以请求开始作业并等待其输出的控制台应用。
将机器人130的组件如上面所解释的那样进行拆分有助于开发者、支持用户和计算系统更容易地运行、标识和跟踪每个组件正在执行的内容。可以通过这种方式为每个组件配置特殊行为,诸如为执行器和服务设置不同的防火墙规则。在一些实施例中,执行器可能总是知道每个监视器的DPI设置。结果,工作流可以以任何DPI被执行,而不管在其上创建它们的计算系统的配置如何。在一些实施例中,来自设计器110的项目也可以独立于浏览器缩放级别。对于不知道DPI或有意地被标记为不知道的应用,在一些实施例中可以禁用DPI。
图2是图示根据本发明的实施例的所部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100或者可以是其一部分。应当注意,在不脱离本发明的范围的情况下,客户端侧、服务器侧或两者可以包括任何期望数目的计算系统。在客户端侧上,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可能不在计算系统210上运行。执行器212运行过程。若干业务项目可以同时运行,如图2中所示。在此实施例中,代理214(例如,服务)是针对所有执行器212的单一联系点。在此实施例中的所有消息都被日志记录到协调器230中,协调器230经由数据库服务器240、索引器服务器250或两者进一步处理它们。如上面关于图1所讨论的,执行器212可以是机器人组件。
在一些实施例中,机器人表示机器名称和用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行多个交互式会话的计算系统(例如,Server2012)上,多个机器人可以同时运行,每个机器人使用唯一用户名处于单独的/>会话中。这在上文被称为HD机器人。
代理214还负责发送机器人的状态(例如,定期发送指示机器人仍在起作用的“心跳”消息)并下载要被执行的所需版本的封装。在一些实施例中,代理214和协调器230之间的通信总是由代理214发起。在通知场景中,代理214可以打开WebSocket通道,该WebSocket通道稍后由协调器230使用以向机器人发送命令(例如,开始、停止等)。
在服务器侧上,表示层(web应用232、开放数据协议(OData)代表性状态传送(REST)应用编程接口(API)端点234以及通知和监测236)、服务层(API实现/业务逻辑238)和持久层(数据库服务器240和索引器服务器250)被包括在内。协调器230包括web应用232、OData REST API端点234、通知和监测236以及API实现/业务逻辑238。在一些实施例中,用户在协调器230的界面中执行的大多数动作(例如,经由浏览器220)通过调用各种API来执行。在不脱离本发明的范围的情况下,此类动作可以包括但不限于在机器人上开始作业、添加/移除队列中的数据、安排作业以无人值守地运行等。Web应用232是服务器平台的可视层。在此实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,在不脱离本发明的范围的情况下,可以使用任何期望的标记语言、脚本语言或任何其他格式。在此实施例中,用户经由浏览器220与来自web应用232的网页交互,以便执行各种动作来控制协调器230。例如,用户可以创建机器人群组、将封装指派给机器人、分析每个机器人和/或每个过程的日志、开始和停止机器人等。
除了web应用232之外,协调器230还包括暴露OData REST API端点234的服务层。然而,在不脱离本发明的范围的情况下,可以包括其他端点。REST API由Web应用232和代理214使用。在此实施例中,代理214是客户端计算机上的一个或多个机器人的管理者。
在此实施例中的REST API涵盖配置、日志记录、监测和排队功能性。在一些实施例中,配置端点可以被用来限定和配置应用用户、权限、机器人、资产、发布和环境。日志记录REST端点可以被用来日志记录不同的信息,诸如错误、由机器人发送的显式消息以及其他环境特定的信息。机器人可以使用部署REST端点来查询如果在协调器230中使用开始作业命令时应该执行的封装版本。排队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使用它是一个开源项目全文搜索引擎。由机器人日志记录的消息(例如,使用像日志消息或写入行这样的活动)可以通过(多个)日志记录REST端点而被发送到索引器服务器250,在那里它们被索引以供将来利用。
图3是图示根据本发明的实施例的设计器310、活动320、330、驱动程序340和AI/ML模型350之间的关系300的架构图。根据上文,开发者使用设计器310来开发由机器人执行的工作流。工作流可以包括用户限定的活动320和UI自动化活动330。用户限定的活动320和/或UI自动化活动330在一些实施例中可以调用一个或多个AI/ML模型350,其可以本地位于机器人正在操作和/或远程操作的计算系统上。一些实施例能够标识图像中的非文本视觉成分,这在本文中被称为计算机视觉(CV)。与此类组件有关的一些CV活动可以包括但不限于点击、键入、获取文本、悬停、元素存在、刷新范围、突出显示等。在一些实施例中,点击使用例如CV、光学字符识别(OCR)、模糊文本匹配以及多锚点来标识元素,并且点击它。键入可以使用上面来标识元素并且在元素中键入。获取文本可以标识特定文本的位置并使用OCR对其进行扫描。悬停可以标识元素并悬停在它上面。元素存在可以使用上述技术来检查屏幕上是否存在元素。在一些实施例中,可能有数百甚至数千个活动可以在设计器310中被实现。然而,在不脱离本发明的范围的情况下,任何数目和/或类型的活动都可以是可用的。
UI自动化活动330是特殊的、较低级别的活动的子集,这些活动是用较低级别的代码来编写的(例如,CV活动)并且促进与屏幕的交互。UI自动化活动330经由允许机器人与期望软件进行交互的驱动程序340和/或AI/ML模型350来促进这些交互。例如,驱动程序340可以包括OS驱动程序342、浏览器驱动程序344、VM驱动程序346、企业应用驱动程序348等。UI自动化活动330可以使用AI/ML模型350中的一个或多个以便确定执行与计算系统的交互。在一些实施例中,AI/ML模型350可以增强驱动程序340或完全取代它们。实际上,在某些实施例中不包括驱动程序340。
驱动程序340可以在低级别与OS进行交互以寻找挂钩、监测按键等。它们可以促进与等的集成。例如,“点击”活动经由驱动程序340而在这些不同的应用中执行相同的角色。
图4是图示根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是或包括图1和图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由在其上运行的web应用来与协调器计算系统420通信。协调器计算系统420继而又能够与数据库服务器430和可选的索引器服务器440通信。
关于图1和图3,应当注意,虽然在这些实施例中使用了web应用,但是在不脱离本发明的范围的情况下可以使用任何合适的客户端/服务器软件。例如,协调器可以运行服务器侧的应用,该应用与客户端计算系统上的非基于web的客户端软件应用通信。
图5是图示了根据本发明实施例的计算系统的架构图,该计算系统被配置为执行用于RPA的支持机器人的任务自动化。在一些实施例中,计算系统500可以是本文中描绘和/或描述的一个或多个计算系统。计算系统500包括总线505或用于传递信息的其他的通信机制,以及耦合到总线505用于处理信息的(多个)处理器510。(多个)处理器510可以是任意类型的通用或专用处理器,包括中央处理器(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例和/或其任意组合。(多个)处理器510也可以具有多个处理核,并且至少一些核可以被配置为执行特定功能。在一些实施例中可以使用多并行处理。在某些实施例中,至少一个(多个)处理器510可以是包括模拟生物神经元的处理元件的神经拟态电路。在一些实施例中,神经拟态电路可以不要求冯〃诺伊曼计算架构的典型组件。
计算系统500还包括存储器515,用于存储信息和要由(多个)处理器510执行的指令。存储器515可由随机存取存储器(RAM)、只读存储器(ROM)、闪存、高速缓存、静态存储(例如磁盘或光盘)或任意其他的类型的非暂态计算机可读介质或其任意组合组成。非暂态计算机可读介质可以是任意可由(多个)处理器510访问的可用介质,可以包括易失性介质、非易失性介质或两者兼有之。介质也可以是可移动的、不可移动的或两者兼有之。
附加地,计算系统500包括通信设备520,例如收发机,以通过无线和/或有线连接提供对通信网络的访问。在一些实施例中,通信设备520可以被配置为使用频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(时分多址)、码分多址(码分多址)、正交频分多址(OFDMA)、全球移动通信系统(GSM)、通用分组无线业务(GPRS)、通用移动电信系统(UMTS)、cdma2000、宽带CDMA(W-CDMA)、高速下行链路分组访问(HSDPA)、高速上行链路分组访问(HSUPA)、高速分组访问(HSPA)、长期演进(LTE)、高级LTE(LTE-A)、802.11x、Wi-Fi、紫蜂、超宽带(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)触摸显示器、多输入触摸显示器、多点触摸显示器等。在不脱离本发明范围的情况下,可以使用任意合适的显示设备和触觉I/O。
键盘530和光标控制设备535,例如计算机鼠标、触摸板等,还被耦合到总线505,以使用户能够与计算系统500对接。然而,在某些实施例中,可能不存在物理键盘和鼠标,并且用户可以仅通过显示器525和/或触摸板(未被示出)与设备交互。任意类型和组合的输入设备均可以作为设计选择。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以通过与其通信的另一计算系统与计算系统500远程交互,或者计算系统500可以自主操作。
存储器515存储当由(多个)处理器510执行时提供功能的软件模块。该模块包括用于计算系统500的操作系统540。该模块还包括基于AI/ML模型的模块545,其被配置为执行本文描述的全部或部分流程或其衍生物。计算系统500可以包括一个或多个包含附加功能的附加功能模块550。
本领域技术人员将理解,“系统”可以体现为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、量子计算系统或任意其他的合适的计算设备或其组合,而不偏离本发明的范围。将上述功能呈现为由“系统”执行并非旨在以任意方式限制本发明的范围,而是旨在提供本发明许多实施例的一个示例。事实上,在本文中公开的方法、系统和装置可以以符合计算技术的本地化和分布式的形式实现,包括云计算技术。计算系统可以是局域网(LAN)、移动通信网络、卫星通信网络、互联网、公有云或私有云、混合云、服务器场、其任意组合等的一部分或者可被其访问。在不偏离本发明范围的情况下,可以使用任意本地化或分布式的架构。
应当注意的是,本说明书中描述的一些系统特征已经作为模块被呈现,以便更具体地强调它们的实现独立性。例如,模块可以以硬件电路实现,包括定制的超大规模集成电路(VLSI)电路或门阵列、现成的半导体,例如逻辑芯片、晶体管或其他的分立元件。模块也可以在可编程硬件设备中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块也可以至少部分地以软件实现,以供各种类型的处理器执行。所标识的可执行代码的单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、流程或功能。尽管如此,所标识模块的可执行文件不需要物理地位于一起,而是可以包括存储在不同位置的不同指令,当这些指令逻辑地结合在一起时,构成该模块并实现针对该模块的所描述目的。此外,模块可以存储在计算机可读介质上,该计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带、和/或用于存储数据而不偏离本发明的范围的的任意其他的此类非暂态计算机可读介质。
事实上,可执行代码模块可以是单个指令或多个指令,并且甚至可以分布于多个不同的代码段上、不同的程序中,以及跨越多个存储设备。类似地,在本文中操作数据可以在模块内被标识和示出,并且可以以任意合适的形式呈现并在任意合适类型的数据结构中被组织。该操作数据可以作为单个数据集被收集,或者可以分布在包括不同的存储设备的不同位置,并且可以至少部分地仅作为系统或网络上的电子信号存在。
图6是图示了根据本发明实施例的系统600的架构图,该系统600被配置为执行用于RPA的支持机器人的任务自动化。系统600包括用户计算系统,例如台式计算机602、603、平板电脑604和智能电话606。然而,在不偏离本发明范围的情况下,可以使用任意期望的计算系统,包括但不限于智能手表、笔记本电脑等。此外,尽管图6中示出了三个用户计算系统,但是在不脱离本发明范围的情况下,可以使用任意合适数目的计算系统。例如,在一些实施例中,可以使用数十个、数百个、数千个或数百万个计算系统。
每个计算系统602、604、606具有启用AI/ML的(AI/ML-enabled)RPA机器人610,RPA机器人610监测用户与计算系统的交互以确定通常反复出现的任务、它们的触发、以及它们的内容。RPA机器人610可以使用被训练以使用CV的AI/ML模型来识别用户正在相应的计算系统上干什么。然后,该RPA机器人可以确定响应于某个动作确定用户正在定期地执行某些任务,例如通过电子邮件或另一应用接收请求、确定某个任务已经被完成、注意到时间段已经过去等等。
计算系统602、604、606通过网络620(例如局域网(LAN)、移动通信网络、卫星通信网络、互联网及其任意组合等)发送信息至服务器630,并且然后相互之间发送。在一些实施例中,服务器630可以是公共云架构、私有云架构、混合云架构等的一部分。在某些实施例中,服务器630可以在单个计算系统630上托管多个基于软件的服务器。在本实施例中服务器630包括启用AI的RPA机器人632,RPA机器人632通过服务器630使用AI/ML模型以分析计算系统602、604、606之间的通信,并且提供本地RPA机器人610可能不能单独确定的信息。
考虑董事会会议的示例。一个董事会成员与其他的董事会成员通信,其他的董事会成员与还有一些其他的董事会成员通信。被部署于终端用户计算系统602、604、606上的RPA机器人(例如RPA机器人610)或其他的流程将不会看到该模式。在另一方面,服务器侧RPA机器人632可以看到一个用户发送电子邮件,六个其他的用户对该电子邮件做出反应等。然后,服务器侧RPA机器人632可以学习以使从第一用户发送电子邮件并且然后发送后续电子邮件至六个其他的用户的整个流程自动化。
出于管理/隐私目的,一些这样的实施例可以是有用的。由于RPA机器人632驻留于服务器上,数据不需要与不应当接收该数据的终端用户共享。从终端用户的角度,他们可能不知道为什么系统开始建议它干的事,或自动地使一些事自动化。
在一些实施例中,在给定任务被RPA机器人610识别之后,RPA机器人610做出自动化建议给相应的计算系统的用户。例如,RPA机器人610可以使弹窗出现来向该用户提议自动化。如果相应的用户同意该自动化将会是有利的,RPA机器人610可以向该用户建议提议的动作。然后,RPA机器人610可以进入训练阶段,其中要被发送的内容首先被提议给该用户。当内容是不正确的时,该用户可以标记不正确的内容的部分并提供正确的内容的指示。该信息可以被发送至服务器630并存储在数据库640中以供训练计算系统650的应用652审查,应用652可以被控制以使用训练数据使相应AI/ML模型被训练。在达到某个置信度后,RPA机器人610可以在没有用户交互的情况下使用经训练的AI/ML模型自动地执行动作。然而,在某些实施例中,在没有用户的知识的潜在情况下,自动化可以被自动地部署至用户计算系统602、604、606。
在一些实施例中,由服务器侧RPA机器人632和/或客户端侧RPA机器人610调用的AI/ML模型可以具有执行各种功能的多个层,例如统计建模(例如隐马尔科夫模型(HMM)),并且利用深度学习技术(例如,长短期记忆(LSTM)深度学习、先前隐状态的编码等),来标识用户交互的序列。
AI层
在一些实施例中,可以使用多个AI层。每个AI层都是在数据上运行的算法(或模型),并且AI模型本身可以是在训练数据中训练的经训练的人工“神经元”的深度学习神经网络(DLNNs)。各层可以串联运行、并联运行或其组合运行。
AI层可以包括但不限于序列提取层、聚类检测层、可视化组件检测层、文本识别层(例如OCR)、音频到文本转换层或其任意组合。然而,在不偏离本发明范围的情况下,可以使用任意期望的数目和(多个)类型的层。使用多个层可以允许系统开发屏幕上正在发生的情况的全局图像。例如,一个AI层可以执行OCR,另一AI层可以检测按钮,另一AI层可以比较序列等。模式可以由一个AI层单独确定,也可以由多个AI层共同确定。
图7是图示了根据本发明实施例的系统700的架构图,该系统被配置为通过RPA机器人712监测计算系统710之间的通信以及执行任务自动化。在一些实施例中,系统700可以是图6中的系统600,或者可以以图6中的系统600实现。系统700包括用户计算系统710,其上具有一个或多个RPA机器人712运行。在一些实施例中。计算系统710可以是图5中的系统500,或者可以包括图5中的系统500。在不脱离本发明范围的情况下,RPA机器人712可以包括调用一个或多个AI/ML模型的启用AI/ML的RPA机器人、已经被部署以执行流程自动化的机器人、监测用户与相应的计算系统710的交互的监听器机器人、和/或其他的(多个)类型的机器人。此外,在不脱离本发明范围的情况下,任何数目的同一类型或多个类型的机器人712可以在计算系统710上运行。
计算系统710通过网络720(例如局域网(LAN)、移动通信网络、卫星通信网络、互联网及其任意组合等)发送信息至服务器730或网络720中的一些其他的计算系统,并且然后相互发送。在一些实施例中,服务器730可以是公共云架构、私有云架构、混合云架构等的一部分。事实上,在一些实施例中,服务器730可以部分地或全部地在软件中实现,并且可以表示多个软件和/或硬件系统。在某些实施例中,服务器730可以在单个计算系统上托管多个基于软件的服务器。
在本实施例中,服务器730包括启用AI/ML的RPA机器人732,RPA机器人732使用AI/ML模型734以分析计算系统710之间的通信,并且提供本地RPA机器人712和/或计算系统710可能不能单独确定的信息。在一些实施例中,一个或多个AI/ML模型734可以部署于并且被不同的服务器或其他的计算系统调用。启用AI的RPA机器人732确定通信中的模式,例如何时一个用户发送具有某些内容的电子邮件、提交某个web表单、输入数据或在某个应用中提交请求等,一个或多个其他的用户响应于此执行动作,例如提供批准,向另一用户发送请求等。然后,启用AI的RPA机器人732可以针对它们相应的任务向相应的用户建议自动化,或可以自动地生成包括与对应于与该动作相关联的相应的计算系统710的用户交互的活动的一个或多个RPA工作流,生成相应的RPA机器人712,并且然后部署RPA机器人712至合适的计算系统710。然后,由用户执行的总体任务链可以被自动化。此外,由于给定用户不应当访问的信息不需要被提供,隐私问题可以被解决。例如,用户可能看不见另一RPA机器人已经被部署于接收来自该用户的年度审查的另一用户计算系统,并且然后由该用户的上级促进评论和表现审查流程。
在一些实施例中,由启用AI的RPA机器人732部署、导致部署、或以其他方式促进的所部署的RPA机器人712首先进入训练阶段,其中由RPA机器人712采取的动作被首先提议给该用户。当内容是不正确的时,该用户可以通过在相应的用户计算系统710上的应用来标记不正确的内容的部分并且提供正确的内容的指示。该信息可以被发送给服务器730或一些其他的服务器并且被存储在数据库中(例如类似图6的数据库640)以供后续审查和AI/ML模型的训练。
图8是图示了根据本发明实施例的由用于RPA的支持机器人执行任务自动化的流程800的流程图。在805,该流程开始于监测用户与他们的计算系统的交互。在一些实施例中,该监测可以由监听器RPA机器人执行,其可以生成包括用户交互的数据。在810,AI/ML模型可以用于分析包含用户交互的数据并确定用户执行的任务。例如,AI/ML模型可以确定在一个用户执行发起任务时,另一用户执行响应任务。在一些实施例中,可以通过AI/ML模型或调用RPA机器人确定实现该响应任务的计算系统与例如除了执行该发起任务的计算系统之外的另一计算系统通信,并且使用该信息以执行该响应任务。在某些实施例中,与用户的交互相关的数据不与其他的用户的计算系统共享。
在一些实施例中,在815,相应的计算系统的用户被询问相应的任务的自动化是否是期望的。然而,在某些实施例中,该步骤可以不被实施。在815,如果该用户指示该自动化是期望的,或者在没有用户输入的情况下潜在地自动化进行,实现该(多个)相应的任务(例如该发起任务和该响应任务)的(多个)RPA工作流在820被生成。该(多个)RPA工作流可以包括实现与该相应的任务相关联的用户交互的活动。然后,在825,使用该(多个)RPA工作流生成(多个)RPA机器人,并且该(多个)RPA机器人在830被部署。
在一些实施例中,在发起部署后,该(多个)所部署的机器人进入训练阶段。然而,在某些实施例中,该训练阶段可以被跳过或不被使用。在一些实施例中,该相应的计算系统的用户可以在835被该所部署的RPA机器人提示关于是否自动地执行该任务,并且可以向该用户提供提议的(多个)动作。如果该RPA机器人没有正确地实现该任务,该用户在840可以标记不正确的内容的部分,并提供正确的内容的一个或多个指示作为标注训练数据。在845,在接收该训练数据之后的某个点(例如在经过一定量的时间之后,在接收一定量的训练数据之后等),由该PRA机器人调用的AI/ML模型被重训练、和/或该RPA机器人本身被修改或被替代并且替代RPA机器人被部署。在满足某些标准(例如在没有接收校正的情况下经过一定量的时间之后,小于阈值量的校正在一段时间内被接收等),该训练阶段可以在850结束并且该(多个)RPA机器人可以自动地被使用以执行该相应的任务。
图8中执行的流程步骤可以通过计算机程序被执行,为(多个)处理器进行指令编码以执行图8中描述的至少部分的流程。该计算机程序可以具体体现于非暂态计算机可读介质上。计算机可读介质可以是但不限于硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任意其他的这种介质或介质组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如,图5的计算系统500的(多个)处理器510)以实现图8中描述的全部或部分流程步骤的编码指令,其也可以被存储在计算机可读介质上。
计算机程序可以以硬件、软件或混合实现的方式实现。计算机程序可以由相互之间可通信的模块组成,其被设计为传递信息或指令以进行显示。计算机程序可以被配置为在通用计算机、ASIC或任意其他的合适的设备上运行。
容易理解的是,本发明的各种实施例的组件,如在本文的附图中总体描述和图示的,可以以各种各样不同的配置被布置和设计。因此,本发明实施例的详细描述,如附图所示,不是旨在限制所主张的本发明的范围,而仅代表本发明的选定实施例。
贯穿本说明书中描述的本发明的特征、结构或特性可以以任意合适的方式在一个或多个实施例中结合。例如,贯穿本说明书中对“某些实施例”、“一些实施例”或类似的语言的引用意味着结合该实施例描述的特定特征、结构或特性被包含在本发明的至少一个实施例中。因此,贯穿本说明书中出现的短语“在某些实施例中”、“在一些实施例中”、“在其他的实施例中”或类似语言不一定都指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任意合适的方式组合。
应当注意的是,贯穿整个说明书中对特征、优点或类似语言的引用并不意味着本发明可以实现的所有特征和所有优点都应当在或者在本发明的任意单个实施例中。相反,提及特征和优点的语言被理解为意味着结合实施例描述的特定特征、优点或特性被包含在本发明的至少一个实施例中。因此,贯穿本说明书的对特征和优点以及类似语言的讨论可以但不一定指同一实施例。
此外,所描述的特征、优点和特性可以以任意合适的方式组合于一个或多个实施例中。相关领域的技术人员将认识到,本发明可以在没有特定实施例的一个或多个特定特征或优点的情况下实施。在其他的实例中,在某些实施例中可以认识到未呈现于本发明的所有实施例中的附加特征和优点。
本领域普通技术人员将容易理解的是,上文描述的本发明可以以不同顺序的步骤和/或不同于所公开配置的硬件元件来实施。因此,尽管已经基于这些优选实施例描述了本发明,但是对于本领域技术人员而言,在保持在本发明的精神和范围内的情况下,某些修改、变型和备选结构将是显而易见的。因此,为了确定本发明的边界和界限,应当参考所附权利要求。
Claims (20)
1.一种系统,包括:
服务器;
第一用户计算系统,包括第一监听器机器人流程自动化(RPA)机器人,所述第一监听器RPA机器人被配置为监测所述第一用户与所述第一计算系统的交互以及向所述服务器提供与所述第一用户的所述交互相关的数据;以及
第二用户计算系统,包括第二监听器RPA机器人,所述第二监听器RPA机器人被配置为监测所述第二用户与所述第二计算系统的交互以及向所述服务器提供与所述第二用户的所述交互相关的数据,其中
所述服务器被配置为:
基于与所述第一用户和所述第二用户的所述交互相关的所述数据,使用人工智能(AI)/机器学习(ML)模型来确定所述第一用户执行发起任务并且所述第二用户执行响应任务,以及
生成并且部署在所述第一计算系统上使所述发起任务自动化以及在所述第二计算系统上使所述响应任务自动化的相应的自动化。
2.根据权利要求1所述的系统,其中在所述第一计算系统上使所述第一用户的所述发起任务的所述自动化、在所述第二计算系统上使所述第二用户的所述响应任务的所述自动化、或两者,包括:
由所述服务器生成相应的RPA工作流,所述相应的RPA工作流包括实现与所述相应的任务相关联的所述用户交互的活动;
由所述服务器生成相应的RPA机器人,所述相应的RPA机器人实现所述相应的RPA工作流;以及
由所述服务器将所生成的所述RPA机器人部署到所述相应的用户计算系统。
3.根据权利要求1所述的系统,其中在生成并且部署在所述第一计算系统上使所述发起任务自动化以及在所述第二计算系统上使所述响应任务自动化的所述相应的自动化之前,所述相应的计算系统被配置为向所述相应的用户建议所述相应的自动化。
4.根据权利要求3所述的系统,其中在所述相应的用户批准所述相应的自动化时,所述相应的自动化进入训练阶段,在所述训练阶段中在实现所述相应的自动化之前要由所述相应的自动化执行的任务被提议给所述相应的用户。
5.根据权利要求3所述的系统,其中在由所述相应的自动化提议的内容不正确时,所述相应的用户计算系统被配置为:
接收不正确的所述内容的一个或多个被标记的部分以及正确的内容的一个或多个指示;
向所述服务器发送数据,所述数据包括所接收的不正确的所述内容的所述一个或多个被标记的部分以及所述正确的内容的所述一个或多个指示;以及
由所述服务器重训练所述AI/ML模型。
6.根据权利要求5所述的系统,其中在经过一段时间而没有由所述相应的用户进行的校正之后、在所述AI/ML模型获取某个置信度之后、或两者,所部署的所述相应的自动化被配置为在没有来自所述相应的用户的输入的情况下执行所述相应的任务。
7.根据权利要求1所述的系统,其中所述服务器经由服务器侧RPA机器人使用所述AI/ML模型。
8.根据权利要求7所述的系统,其中所述服务器侧RPA机器人被配置为监测所述第一计算系统与所述第二计算系统之间的通信。
9.根据权利要求8所述的系统,其中所述服务器侧RPA机器人被配置为确定所述第二用户计算系统与第三计算系统通信作为所述响应任务的一部分,并且使用来自所述第三计算系统的信息来执行所述响应任务。
10.根据权利要求1所述的系统,其中与所述第二用户的所述交互相关的所述数据不由所述服务器与所述第一计算系统共享、与所述第一用户的所述交互相关的所述数据不由所述服务器与所述第二计算系统共享、或两者。
11.根据权利要求1所述的系统,其中在所述第一计算系统上使所述发起任务自动化并且在所述第二计算系统上使所述响应任务自动化的所述相应的自动化在不通知所述第一计算系统和所述第二计算系统的所述相应的用户的情况下被部署。
12.一种计算机实现的方法,包括:
由监测机器人流程自动化(RPA)机器人调用人工智能(AI)/机器学习(ML)模型,所述AI/ML模型被配置为分析包括多个用户计算系统的用户的交互和所述多个用户计算系统的至少子集之间的通信的数据;
由所述监测RPA机器人基于所述AI/ML模型的所述分析确定:发起任务在由所述多个用户计算系统的一个或多个计算系统执行时,一个或多个响应任务由所述多个用户计算系统的一个或多个其他用户计算系统执行;以及
由所述监测RPA机器人向所述相应的用户计算系统生成并且部署实现所述发起任务和所述一个或多个响应任务的相应的RPA机器人。
13.根据权利要求12所述的计算机实现的方法,其中生成实现所述发起任务和所述一个或多个响应任务的所述相应的RPA机器人包括:
由所述监测RPA机器人生成相应的RPA工作流,所述相应的RPA工作流包括实现与所述相应的任务相关联的用户交互的活动。
14.根据权利要求12所述的计算机实现的方法,其中在生成并且部署使所述发起任务和所述一个或多个响应任务自动化的所述相应的自动化之前,所述监测RPA机器人被配置为要求所述相应的计算系统的相应的用户的批准。
15.根据权利要求14所述的计算机实现的方法,其中在所述相应的用户批准所述相应的自动化时,所述相应的自动化在训练阶段由所述监测RPA机器人部署,在所述训练阶段中在实现所述相应的自动化之前要由所述相应的自动化执行的任务被提议给所述相应的用户。
16.根据权利要求15所述的计算机实现的方法,其中在由所述相应的自动化提议的内容不正确时,所述方法还包括:
由所述监测RPA机器人使用包括来自所述多个用户计算系统中的一个或多个用户计算系统的不正确的内容的被标记的部分以及正确的内容的指示的数据,以重训练所述AI/ML模型或使所述AI/ML模型被重训练。
17.根据权利要求16所述的计算机实现的方法,其中在经过一段时间而没有接收到校正之后、所述AI/ML模型获取某个置信度之后、或两者,所部署的所述相应的自动化被配置为在没有来自所述相应的用户的输入的情况下执行所述相应的任务。
18.根据权利要求12所述的计算机实现的方法,其中与用户交互相关的所述数据不由所述监测RPA机器人与所述多个用户计算系统共享。
19.一种非暂态计算机可读介质,存储计算机程序,所述计算机程序被配置为使至少一个处理器:
执行监测机器人流程自动化(RPA)机器人,所述监测RPA机器人调用人工智能(AI)/机器学习(ML)模型,所述AI/ML模型被配置为分析包括多个用户计算系统的用户的交互和所述多个用户计算系统的至少子集之间的通信的数据;
由所述监测RPA机器人基于所述AI/ML模型的所述分析确定:发起任务在由所述多个用户计算系统的一个或多个计算系统执行时,一个或多个响应任务由所述多个用户计算系统的一个或多个其他用户计算系统执行;以及
生成实现所述发起任务、所述一个或多个响应任务、或两者的相应的RPA工作流,其中
所述相应的RPA工作流包括实现与所述相应的任务关联的用户交互的活动。
20.根据权利要求19所述的非暂态计算机可读介质,其中计算机程序被配置为不与所述多个用户计算系统共享与用户交互相关的所述数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/070,206 | 2020-10-14 | ||
US17/070,206 US11592804B2 (en) | 2020-10-14 | 2020-10-14 | Task automation by support robots for robotic process automation (RPA) |
PCT/US2021/053497 WO2022081380A1 (en) | 2020-10-14 | 2021-10-05 | Task automation by support robots for robotic process automation (rpa) |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116529032A true CN116529032A (zh) | 2023-08-01 |
Family
ID=81077641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180070313.2A Pending CN116529032A (zh) | 2020-10-14 | 2021-10-05 | 用于机器人流程自动化(rpa)的支持机器人的任务自动化 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11592804B2 (zh) |
EP (1) | EP4229571A1 (zh) |
JP (1) | JP2023548737A (zh) |
CN (1) | CN116529032A (zh) |
WO (1) | WO2022081380A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220075605A1 (en) * | 2019-10-15 | 2022-03-10 | UiPath, Inc. | Training and using artificial intelligence (ai) / machine learning (ml) models to automatically supplement and/or complete code of robotic process automation workflows |
US20220147059A1 (en) * | 2020-11-12 | 2022-05-12 | Accenture Global Solutions Limited | Fault tolerant systems for distributed supervision of robots |
US20240142917A1 (en) * | 2022-10-27 | 2024-05-02 | UiPath, Inc. | Semantic automation builder for robotic process automation |
CN117650949B (zh) * | 2024-01-30 | 2024-05-14 | 山东鲁商科技集团有限公司 | 一种基于rpa机器人数据分析的网络攻击拦截方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3112965A1 (en) * | 2015-07-02 | 2017-01-04 | Accenture Global Services Limited | Robotic process automation |
EP3185124A1 (en) * | 2015-12-22 | 2017-06-28 | Tata Consultancy Services Limited | System and method for monitoring, deploying, and tracking autonomous software robots |
EP3532916A4 (en) | 2016-10-26 | 2020-07-01 | Soroco Private Limited | SYSTEMS AND METHODS FOR DISCOVERING AUTOMATIC TASKS |
US11157855B2 (en) * | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
US20190266254A1 (en) | 2018-02-26 | 2019-08-29 | Jeremy D. Blumenfeld | System to process electronic records using a request orchestration platform |
US11586463B2 (en) | 2018-04-17 | 2023-02-21 | Oracle International Corporation | Automated process flow learning |
US10908950B1 (en) * | 2018-04-20 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation system with queue orchestration and task prioritization |
US20190324781A1 (en) | 2018-04-24 | 2019-10-24 | Epiance Software Pvt. Ltd. | Robotic script generation based on process variation detection |
US10802889B1 (en) * | 2018-07-18 | 2020-10-13 | NTT DATA Services, LLC | Systems and methods of virtual resource monitoring for robotic processes |
US20210342124A1 (en) * | 2018-09-28 | 2021-11-04 | Element Ai Inc. | Context-based recommendations for robotic process automation design |
US11562311B2 (en) | 2019-01-09 | 2023-01-24 | Nice Ltd. | Robotic process automation for significant sequences of desktop events |
US11429433B2 (en) | 2019-01-16 | 2022-08-30 | Epiance Software Pvt. Ltd. | Process discovery and automatic robotic scripts generation for distributed computing resources |
CN111680124B (zh) | 2020-05-27 | 2023-06-30 | 重庆邮电大学 | 基于rpa的大规模定制客户需求获取、查询方法 |
-
2020
- 2020-10-14 US US17/070,206 patent/US11592804B2/en active Active
-
2021
- 2021-10-05 CN CN202180070313.2A patent/CN116529032A/zh active Pending
- 2021-10-05 WO PCT/US2021/053497 patent/WO2022081380A1/en active Application Filing
- 2021-10-05 JP JP2023518990A patent/JP2023548737A/ja active Pending
- 2021-10-05 EP EP21880793.1A patent/EP4229571A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP4229571A1 (en) | 2023-08-23 |
JP2023548737A (ja) | 2023-11-21 |
US11592804B2 (en) | 2023-02-28 |
US20220113703A1 (en) | 2022-04-14 |
WO2022081380A1 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011828B (zh) | 更新或重新训练并更新动态人工智能/机器学习模型 | |
US11893371B2 (en) | Using artificial intelligence to select and chain models for robotic process automation | |
CN114556305A (zh) | 针对机器人过程自动化的基于人工智能的过程标识、提取和自动化 | |
JP2022552465A (ja) | ロボティック・プロセス・オートメーションのためのヒューマンインザループ・ロボット・トレーニング | |
US11803458B2 (en) | Inserting probabilistic models in deterministic workflows for robotic process automation and supervisor system | |
US11592804B2 (en) | Task automation by support robots for robotic process automation (RPA) | |
US11775860B2 (en) | Reinforcement learning in robotic process automation | |
CN116324831A (zh) | 经由人工智能/机器学习的机器人过程自动化异常检测和自我修复 | |
CN114556391A (zh) | 用于机器人流程自动化的基于人工智能层的过程提取 | |
US20210342736A1 (en) | Machine learning model retraining pipeline for robotic process automation | |
JP2023552666A (ja) | アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理 | |
CN116391174A (zh) | 使用计算机视觉来训练人工智能/机器学习模型以识别应用、屏幕和用户界面元素 | |
US11593709B2 (en) | Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows | |
CN114127696A (zh) | 用于机器人过程自动化的测试自动化 | |
JP2023523374A (ja) | ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン | |
CN113168169A (zh) | 用于机器人过程自动化的测试自动化 |
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 |