用于机器人流程自动化的自动分析、优先化和机器人生成的制作方法

文档序号:30312478发布日期:2022-06-05 23:04阅读:384来源:国知局
用于机器人流程自动化的自动分析、优先化和机器人生成的制作方法
用于机器人流程自动化的自动分析、优先化和机器人生成
1.相关申请的交叉引用
2.本技术要求2019年12月9日提交的申请号为16/707,763的美国非临时专利申请和2019年10月15日提交的申请号为62/915,366的美国临时专利申请的权益。这些较早提交的申请的主题通过引用其整体而并入本文。
技术领域
3.本发明总体上涉及机器人流程自动化(rpa),更具体地涉及分析、优先化和潜在自动生成实现针对rpa的有益过程和/或过程流的机器人。


背景技术:

4.例如,当通过rpa卓越中心(coe)确定下一步要自动化什么时,可能难以确定要优先化哪些关注的业务过程(例如,节省最多的金钱和/或时间,产生最多的附加收入等)。从roi的角度来看,甚至很难知道哪些过程是自动化的优秀候选者。尽管可以改进现有的自动化,但是可能难以确定如何改进这些自动化。因此,改进的方法可以是有益的。


技术实现要素:

5.本发明的某些实施例可以为由当前rpa技术尚未被完全标识、理解或者解决的现有技术中的问题和需求提供解决方案。例如,本发明的一些实施例涉及自动分析、优先化和潜在自动生成实现针对rpa的过程和/或过程流的机器人。
6.在实施例中,一种计算机实现的方法包括:将监听器部署用户计算系统;从监听器收集关于与计算系统的用户交互、用户计算系统上的部署的机器人流程自动化(rpa)机器人的性能、或者两者的数据;并且存储收集的数据。计算机实现的方法还包括:使用ai分析存储的数据,以发现改进投资回报(roi)的、与计算系统的用户交互中的过程、与计算系统的用户交互中的过程流、针对现有rpa机器人的过程改进、或者其任何组合。计算机实现的方法还包括:生成实现用于roi改进的标识的过程或者过程流的工作流。
7.在另一实施例中,一种计算机程序被具化在非暂态计算机可读介质上。程序被配置为使至少一个处理器:从多个监听器收集关于与相应的计算系统的用户交互、用户计算系统上的部署的机器人流程自动化(rpa)机器人的性能、或者两者的数据。程序还被配置为使至少一个处理器:使用人工智能(ai)分析收集的数据,以发现改进投资回报(roi)的、与计算系统的用户交互中的过程、与计算系统的用户交互中的过程流、针对现有rpa机器人的过程改进、或者其任何组合。程序还被配置为使至少一个处理器:生成实现用于roi改进的标识的过程或者过程流的工作流。
8.在另一实施例中,一种装置,包括:存储计算机程序指令的存储器,计算机程序指令用于分析、优先化和自动生成实现针对机器人过程自动化(rpa)的过程、过程流、或者两者的机器人。装置还包括:至少一个处理器,可通信地耦合到存储器并且被配置为执行计算机程序指令。指令被配置为使至少一个处理器:从多个监听器收集关于与相应的计算系统
的用户交互、用户计算系统上的部署的机器人流程自动化(rpa)机器人的性能、或者两者的数据。指令还被配置为使至少一个处理器:使用人工智能(ai)分析收集的数据,以发现改进投资回报(roi)的、与计算系统的用户交互中的过程、与计算系统的用户交互中的过程流、针对现有rpa机器人的过程改进、或者其任何组合。指令还被配置为使至少一个处理器:生成实现用于roi改进的标识的过程或者过程流的工作流;生成执行生成的工作流的rpa机器人;以及将生成的rpa机器人部署到用户计算系统中的至少一个用户计算机系统。
附图说明
9.为了便于理解本发明某些实施例的优点,将参考附图中所示的具体实施例,对上文简要描述的本发明进行更详细的描述。虽然应当理解,这些附图仅描绘了本发明的典型实施例,因此不被认为是对其范围的限制,但是将通过使用附图利用附加的特征和细节来描述和解释本发明,在附图中:
10.图1是图示根据本发明实施例的rpa系统的架构图。
11.图2是图示根据本发明实施例的已部署的rpa系统的架构图。
12.图3是图示根据本发明实施例的设计器、活动和驱动器之间关系的架构图。
13.图4是图示根据本发明实施例的rpa系统的架构图。
14.图5是图示根据本发明的实施例的被配置为分析、优先化和潜在自动生成实现针对rpa的过程的机器人的计算系统的架构图。
15.图6是图示根据本发明的实施例的被配置为执行自动分析、优先化和潜在自动生成实现针对rpa的过程的机器人的系统的架构图。
16.图7是图示根据本发明实施例的用于分析、优先化和自动生成实现针对rpa的过程的机器人的过程的流程图。
具体实施方式
17.一些实施例涉及分析、优先化和潜在自动生成实现针对rpa的过程和/或过程流的机器人。在一些实施例中,人工智能(ai)可以被使用以分析业务过程和/或过程流,并且寻找自动化的可能候选者以用于自动化或者对现有的自动化的改进。监听器(例如,机器人、分开的软件应用、操作系统扩展等)可以被采用以在后台监听用户计算系统,从而挖掘与工作流有效性有关的数据。例如,当经由在用户计算系统上实现rpa工作流的机器人将自动化投入生产时,监听器可以被添加以确保(多个)过程和/或(多个)过程流正在正确地并且准确地执行其预期用途和/或针对新的过程和/或过程流的自动化提供数据。
18.过程可以具有基本上完成相同任务的多个变体(即,过程流)。因此,可能需要知道针对过程的各种过程流中哪些(多个)过程流被相对频繁地使用,哪些(多个)过程流被相对不频繁地使用等。
19.在一些实施例中,可以执行一致性检查。系统可以经由相应的监听器检查与它们的计算系统的用户交互,以确保用户符合特定的工作流。例如,考虑在检测到黑客事件后一系列步骤要被采取,最后提交某个报告的情况。从监听器收集的信息可以被分析,以确保步骤已被正确遵循、报告已被提交、报告已被正确填写等。未正确遵循工作流的用户可以被重新培训。
20.一些实施例还可以用于确定哪些被实现的工作流是最有益的。作为非限制性示例,考虑由rpa机器人在用户计算系统上实现16个工作流的情况。监听器可以监听以收集有关用户操作、机器人性能、或者两者的数据。这些数据可以存储在数据库中,然后由服务器端侧应用访问,以应用ai并且寻找用户倾向于执行的可以被自动化以提高roi的过程,一个被实现的机器人是否比另一机器人对类似任务的roi提高得更好等。例如,a/b(拆分)测试或者卡纳里(canary)测试可以被采用以确定哪些机器人工作得最好。根据对roi的估计收益,这些过程可以作为rpa机器人被排序和被推广。
21.附加地或者备选地,该数据可以被分析以标识将成为rpa的roi改进候选者的新的过程。不同的度量可以被使用以确定改进通过现有机器人实现的工作过程是否有优势,是否可以自动化新过程以提高roi,或者两者。这些度量包括但不限于平均过程完成时间、过程的迭代次数、从发票中生成的、用以示出自处理起的roi的总收入、员工工作符合是否超过预定阈值(例如,可能希望员工的工作量小于70%,这意味着员工工作在业务任务上的时间小于70%,以减少疲劳),员工从事业务任务的时间是否至少达到最低阈值,按用户/部门/公司、其任何组合等的业务特定的关键绩效指标(kpi)(例如,产生的收入量、花费的时间等)。在一些实施例中,可以对度量进行加权,使得一些度量比其他的度量更有影响力。
22.在某些实施例中,监听器机器人周期性地向指挥方应用发送心跳。在该“心跳”中发送的信息可以指示机器人是否仍在运行,并且可以提供来自监听器的关于机器人和/或用户操作的数据。在一些实施例中,监听器机器人可以提供与给定工作流的有效性有关的信息(通常,机器人是工作流的可执行实现)。使用16个机器人的这个示例,如果16个机器人正在执行16个不同的工作流,则可以捕获和分析随心跳发送的关于每个机器人操作的信息,以确定工作流的有效性和对roi的影响。监听器机器人也可以被使用以监视用户操作。
23.如上所述,除了或代替分析现有机器人中被实现的工作流,一些实施例收集来自监听器机器人的信息,作为与心跳一起或者在心跳中提供给指挥方应用的信息。一旦收集到这些信息,ai就可以被使用以分析这些数据并且自动标识并且优先化可以提高roi的(多个)工作流。这些工作流则可以经由设计器应用在开发方的帮助下被生成或者被潜在自动生成和部署。
24.在一些自动化实施例中,这可以通过使用ai来智能地标识工作流的步骤来实现,工作流的步骤可以实现用于roi改进的感知有益过程。例如,ai分析可以确定当最初启动时,一套软件应用程序以已经存在的某些参数和/或配置自动启动时,用户更有效率。
25.在非限制性示例中,使用计量经济学来确定最高自动化roi。然而,对于计量经济学,应该注意任务的时间和成本(例如,某人花在完成一项任务上的时间和他们的报酬)通常是采用这种方法的先决条件。此外,对于计量经济学,应该确定要跟踪的最量化指标。例如,这可能是节省或产生的最多的钱。
26.与在样本量低时分崩离析的传统方法不同,一些实施例具有查看哪些过程更好以及哪些过程更差的机器人。换言之,机器人可以比较这些过程以标识优越的过程,或者识别降低性能的过程。一些实施例可以允许机器人监视在一个或多个外部应用中运行的、由用户实现的、经由监听器监视等的这些过程。
27.当已知和/或发现过程的roi被确定和优先化时,ai可以被使用以确定理想的自动化路线(即,实现过程的rpa工作流)。然后可以使用设计器应用来构建工作流,基于工作流
创建机器人,并且部署机器人以执行工作流。在一些实施例中,设计器应用还可以使用roi作为度量来自动生成和/或自动重新配置工作流。例如,除了自动生成新的工作流或修改的工作流之外,系统还可以改变工作流的配置以更有效地运行。
28.在某些实施例中,监听器可以在机器人未被使用、正在等待人工输入、或者两者兼有时接收自动警报。这可以帮助确定次优的roi是来自未利用还是由于用户效率低下而导致的错误利用。然后可以训练用户以更有效地利用自动化。
29.图1是图示根据本发明实施例的rpa系统100的架构图。rpa系统100包括允许开发方设计和实现工作流的设计器110。设计器110可以提供用于应用集成以及自动化第三方应用、管理信息技术(it)任务和商业it过程的解决方案。设计器110可以促进自动化项目的开发,该自动化项目是业务过程的图形表示。简而言之,设计器110促进工作流和机器人的开发和部署。
30.自动化项目通过给予开发方对执行顺序和在工作流中开发的自定义步骤集之间的关系的控制,来启用基于规则的过程的自动化,在本文中工作流被限定为“活动”。设计器110的实施例的一个商业示例是uipath studio
tm
。每个活动可以包括动作,诸如点击按钮、读取文件、写入记录面板等。在一些实施例中,工作流可以是嵌套的或者嵌入的。
31.工作流的一些类型可以包括但不限于序列、流程图、有限状态机(fsm)和/或全局异常处理程序。序列可以特别适合线性过程,使能够从一个活动流向另一活动,而不会使工作流变得混乱。流程图可以特别适合更复杂的业务逻辑,通过多个分支逻辑操作符以更多样化的方式启用决策的集成和活动的连接。fsm可以特别适合大型工作流。fsm可以在它们的执行中使用有限数目的状态,这些状态由条件(即,转换)或者活动触发。全局异常处理程序可以特别适合用于在遇到执行错误时确定工作流行为以及用于调试过程。
32.一旦在设计器110中开发出工作流之后,指挥方120协调业务过程的执行,指挥方120协调一个或多个机器人130执行设计器110中已开发的工作流。指挥方120的实施例的一个商业示例是uipath orchestrator
tm
。指挥方120促进管理环境中资源的创建、监控和部署。指挥方120可以充当与第三方解决方案和应用的集成点。
33.指挥方120可以管理机器人130的编队、从集中点连接和执行机器人130。可以被管理的机器人130的类型包括但不限于:有人值守机器人132、无人值守机器人134、开发机器人(类似于无人值守机器人134,但用于开发和测试目的)和非生产机器人(类似于有人值守机器人132,但用于开发和测试目的)。有人值守机器人132由用户事件触发,并且在同一计算系统上与人类一起工作。有人值守机器人132可以与指挥方120一起用于集中式过程部署和记录介质。有人值守机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,过程不能从这种类型的机器人上的指挥方120启动,和/或它们不能在锁定的屏幕下运行。在某些实施例中,有人值守机器人132只能从机器人托盘或者从命令提示符来启动。在一些实施例中,有人值守机器人132应当在人类的监督下运行。
34.无人值守机器人134在虚拟环境中无人值守地运行并且可以自动化数个过程。无人值守机器人134可以负责远程执行、监控、调度和针对工作队列提供支持。在一些实施例中,针对所有机器人类型的调试可以在设计器110中运行。有人值守机器人和无人值守机器人两者可以自动化各种系统和应用,包括但不限于大型机、web应用、vm、企业应用(例如,由等生产的应用)、以及计算系统应用(例如,桌面和膝
上型应用、移动设备应用、可穿戴计算机应用等)。
35.指挥方120可以具有各种功能,包括但不限于供应、部署、配置、排队、监控、记录和/或提供互连性。供应可以包括:创建和维护机器人130与指挥方120之间的连接(例如,web应用)。部署可以包括:确保将数据包版本正确地递送给指定的机器人130用于执行。配置可以包括机器人环境和过程配置的维护和递送。排队可以包括:提供队列和队列项的管理。监控可以包括:跟踪机器人标识数据和维护用户许可。记录可以包括:将记录存储到和索引到数据库(例如,sql数据库)和/或另一存储机制(例如,提供存储和快速查询大型数据集的能力的)。指挥方120可以通过充当针对第三方解决方案和/或应用的集中通信点来提供互连性。
36.机器人130是运行设计器110内置工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是uipath robots
tm
。在一些实施例中,机器人130默认安装微软服务控制管理器(scm)管理的服务。因此,此类机器人130可以在本地系统账户下打开交互式会话,并且具有服务的权限。
37.在一些实施例中,机器人130可以以用户模式安装。针对这种机器人130,这意味着它们具有与已经安装的给定机器人130的用户相同的权利。此功能也可以用于高密度(hd)机器人,确保机器中的每个机器的最大潜能得到充分利用。在一些实施例中,可以在hd环境中配置任何类型的机器人130。
38.某些实施例中的机器人130分为多个组件,每个组件专用于特定的自动化任务。一些实施例中的机器人组件包括但不限于scm管理的机器人服务、用户模式机器人服务、执行方、代理和命令行。scm管理的机器人服务对会话进行管理和监控,并且充当指挥方120与执行主机(即,机器人130在其上被执行的计算系统)之间的代理。这些服务可以被委托并且管理针对机器人130的凭证。本地系统下的scm启动控制台应用。
39.在一些实施例中,用户模式机器人服务管理和监控会话,并且充当指挥方120与执行主机之间的代理。用户模式机器人服务可以被委托并且管理针对机器人130的凭证。如果没有安装scm管理的机器人服务,则应用可以自动启动。
40.执行方可以在会话下运行给定作业(即,它们可以执行工作流)。执行方可以知道每个监控器的每英寸点数(dpi)设置。代理可以是在系统托盘窗口中显示可用作业的呈现基础(wpf)应用。代理可以是服务的客户端。代理可以请求启动或者停止作业以及更改设置。命令行是服务的客户端。命令行是控制台应用,其可以请求启动作业并且等待其输出。
41.如上所述地将机器人130的组件分开有助于开发方、支持用户和计算系统更轻松地运行、标识和跟踪每个组件正在执行什么。可以以这种方式为每个组件配置特殊行为,诸如针对执行方和服务设置不同的防火墙规则。在一些实施例中,执行方可以总是知道每个监控器的dpi设置。因此,工作流可以在任何dpi处执行,而无论创建工作流的计算系统的配置如何。在一些实施例中,来自设计器110的项目也可以独立于浏览器缩放级别。对于不知道dpi或者故意地标记为不知道的应用,在一些实施例中可以禁用dpi。
42.图2是图示根据本发明实施例的已部署rpa系统200的架构图。在一些实施例中,rpa系统200可以是图1的rpa系统100,或者可以是其部分。应当注意,客户端侧、服务器侧或两者可以包括任何期望数目的计算系统,而不脱离本发明的范围。在客户端侧,机器人应用210包括执行方212、代理214和设计器216。然而,在一些实施例中,设计器216可以不在计算系统210上运行。执行方212正在运行过程。多个业务项目可以同时运行,如图2所示。在本实施例中,代理214(例如,服务)是针对所有执行方212的单联系点。本实施例中的所有消息都被记录到指挥方230中,指挥方230经由数据库服务器240、索引器服务器250或两者进一步处理它们。如上关于图1所述,执行方212可以是机器人组件。
43.在一些实施例中,机器人代表机器名称与用户名之间的关联。机器人可以同时管理多个执行方。在支持同时运行的多个交互式会话的计算系统(例如,服务器2012)上,多个机器人可以同时运行,每个机器人使用唯一的用户名在单独的会话中运行。这就是上面提到的hd机器人。
44.代理214还负责发送机器人的状态(例如,定期地发送指示机器人仍在运行的“心跳”消息)和下载要执行的数据包的所需版本。在一些实施例中,代理214与指挥方230之间的通信总是由代理214发起。在通知场景中,代理214可以打开随后由指挥方230用来向机器人发送命令(例如,开始、停止等)的websocket通道。
45.在服务器侧,包括了表示层(web应用232、开放数据协议(odata)代表状态传输(rest)应用编程接口(api)端点234以及通知和监控236)、服务层(api实现/业务逻辑238)和持久层(数据库服务器240和索引器服务器250)。指挥方230包括web应用232、odata rest api端点234、通知和监控236以及api实现/业务逻辑238。在一些实施例中,用户在指挥方220的界面中执行的大多数动作(例如,经由浏览器220)是通过调用各种api来执行的。这种动作可以包括但不限于在机器人上启动作业、在队列中添加/移除数据、调度作业以进行无人值守运行等,而不脱离本发明的范围。web应用232是服务器平台的可视层。在本实施例中,web应用232使用超文本标记语言(html)和javascript(js)。然而,在不脱离本发明的范围的情况下,可以使用任何期望的标记语言、脚本语言或者任何其他格式。在本实施例中,用户经由浏览器220与来自web应用232的网页交互,以便执行各种动作来控制指挥方230。例如,用户可以创建机器人组、向机器人分配数据包、分析每个机器人的和/或每个过程的记录、启动和停止机器人等。
46.除了web应用232,指挥方230还包括公开odata rest api端点234的服务层。然而,可以包括其他端点,而不脱离本发明的范围。rest api由web应用232和代理214两者消费。在本实施例中,代理214是客户端计算机上的一个或多个机器人的监管方。
47.本实施例中的rest api涵盖配置、记录、监控和排队功能。在一些实施例中,配置端点可以用于限定和配置应用用户、许可、机器人、资产、发布和环境。记录rest端点可以用于记录不同的信息,诸如错误、由机器人发送的明确消息以及其他特定于环境的信息。如果在指挥方230中使用启动作业命令,则机器人可以使用部署rest端点来查询应该被执行的数据包版本。排队rest端点可以负责队列和队列项管理,诸如向队列添加数据、从队列获取事务(transaction)、设置事务的状态等。
48.监控rest端点可以监控web应用232和代理214。通知和监控api 236可以是rest端
点,其用于注册代理214、向代理214递送配置设置、以及用于从服务器和代理214发送/接收通知。在一些实施例中,通知和监控api 236也可以使用websocket通信。
49.在本实施例中,持久层包括服务器对——数据库服务器240(例如,sql服务器)和索引器服务器250。本实施例中的数据库服务器240存储机器人、机器人组、相关过程、用户、角色、调度等的配置。在一些实施例中,该信息通过web应用232而被管理。数据库服务器240可以管理队列和队列项。在一些实施例中,数据库服务器240可以存储由机器人记录的消息(附加于索引器服务器250或者代替索引器服务器250)。
50.索引器服务器250(其在一些实施例中为可选的)存储并且索引由机器人记录的信息。在某些实施例中,可以通过配置设置来禁用索引器服务器250。在一些实施例中,索引器服务器250使用(其是开源项目全文搜索引擎)。由机器人记录的消息(例如,使用记录消息或者写入行等的活动)可以通过(多个)记录rest端点而被发送到索引器服务器250,在索引器服务器250处它们被索引用于将来使用。
51.图3是图示根据本发明实施例的设计器310、活动320、330和驱动器340之间的关系300的架构图。如上所述,开发方使用设计器310来开发由机器人执行的工作流。工作流可以包括用户限定的活动320和ui自动化活动330。一些实施例能够标识图像中的非文本视觉成分,这在本文中被称为计算机视觉(cv)。与这些组件相关的一些cv活动可以包括但不限于点击、键入、获取文本、悬停、元素存在、刷新范围、突出显示等。在一些实施例中,点击使用例如cv、光学字符标识(ocr)、模糊文本匹配和多锚点来标识元素,并且点击元素。键入可以使用上述和元素中的类型来标识元素。获取文本可以标识特定文本的位置并且使用ocr对其扫描。悬停可以标识元素并且悬停在其上。元素存在可以使用上述技术来检查元素是否存在于屏幕上。在一些实施例中,可能有数百甚至数千个活动可以在设计器310中实现。然而,任何数目和/或类型的活动都是可用的,而不脱离本发明的范围。
52.ui自动化活动330是以较低等级代码编写的特殊较低等级活动的子集(例如,cv活动)并且有益于与屏幕的互动。ui自动化活动330经由驱动器340来促进这些交互,该驱动器340允许机器人与期望的软件交互。例如,驱动器340可以包括os驱动器342、浏览器驱动器344、vm驱动器346、企业应用驱动器348等。
53.驱动器340可以在较低等级处与os互动,寻找挂钩,监控密钥等。它们可以促进与等的集成。例如,“点击”活动经由驱动器340在这些不同的应用中执行相同的角色。
54.图4是图示根据本发明实施例的rpa系统400的架构图。在一些实施例中,rpa系统400可以是或者可以包括图1和/或图2的rpa系统100和/或200。rpa系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由运行在其上的web应用来与指挥方计算系统420通信。指挥方计算系统420转而又能够与数据库服务器430和可选的索引器服务器440通信。
55.关于图1和图3,应注意的是,虽然在这些实施例中使用了web应用,可以使用任何合适的客户/服务器软件,而不脱离本发明范围。例如,指挥方可以运行与客户端计算系统上的非基于网络的客户软件应用通信的服务器侧应用。
56.图5是图示根据本发明实施例的被配置为分析、优先化和潜在自动生成实现针对
rpa的过程的机器人的计算系统500的架构图。在一些实施例中,计算系统500可以是本文描绘和/或描述的计算系统中的一个或多个计算系统。计算系统500包括总线505或者用于传递信息的其他通信机制,以及耦合到总线505用于处理信息的(多个)处理器510。(多个)处理器510可以是任何类型的通用处理器或者专用处理器,包括中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、其多个实例和/或其任何组合。(多个)处理器510还可以具有多个处理核,并且这些核中的至少一些核可以被配置为执行特定功能。在一些实施例中可以使用多并行处理。在某些实施例中,(多个)处理器510中的至少一个处理器可以是包括模拟生物神经元的处理元件的神经形态电路。在一些实施例中,神经形态电路可以不需要冯诺依曼计算架构的典型组件。
57.计算系统500还包括存储器515,用于存储信息和要由(多个)处理器510执行的指令。存储器515可以由随机存取存储器(ram)、只读存储器(rom)、闪存、高速缓存、诸如磁盘或者光盘静态存储器或者任何其他类型的非暂态计算机可读介质或者其组合的任意组合组成。非暂态计算机可读介质可以是能够由(多个)处理器510访问的任何可用介质,并且可以包括易失性介质、非易失性介质或两者。介质也可以是可移除的、不可移除的或两者。
58.附加地,计算系统500包括通信设备520,诸如收发器,以经由无线和/或有线连接提供对通信网络的访问。在一些实施例中,通信设备520可以被配置为使用频分多址(fdma)、单载波fdma(sc-fdma)、时分多址(tdma)、码分多址(cdma)、正交频分复用(ofdm)、正交频分多址(ofdma)、全局移动通信系统(gsm)、通用分组无线业务(gprs)、通用移动电信系统(umts)、cdma2000、宽带cdma(w-cdma)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)、高速分组接入(hspa)高级lte(lte-a)、802.11x、wi-fi、zigbee、超宽带(uwb)、802.16x、802.15、家庭节点b(hnb)、蓝牙、射频标识(rfid)、红外数据协会(irda)、近场通信(nfc)、第五代(5g)、新无线电(nr)、它们的任何组合、和/或任何其他当前存在的或者未来实现的通信标准和/或协议,而不脱离本发明的范围。在一些实施例中,通信设备520可以包括一个或多个天线,这些天线是单一的、阵列的、相控的、切换的、波束成形的、波束控制的、它们的组合,和/或任何其他天线配置,而不脱离本发明的范围。
59.(多个)处理器510还经由总线505耦合至显示器525,诸如等离子显示器、液晶显示器(lcd)、发光二极管(led)显示器、场发射显示器(fed)、有机发光二极管(oled)显示器、柔性oled显示器、柔性基板显示器、投影显示器、4k显示器、高清显示器、显示器、面内切换(ips)显示器或者任何其他适用于向用户显示信息的显示器。显示器525可以被配置为触摸(触觉)显示器、三维(3d)触摸显示器、多输入触摸显示器、多点触摸显示器等。使用电阻、电容、表面声波(saw)电容、红外、光学成像、色散信号技术、声脉冲标识、受抑全内反射等。可以使用任何合适的显示设备和触觉i/o,而不脱离本发明的范围。
60.键盘530和光标控制设备535(诸如,计算机鼠标、触摸板等)还耦合至总线505,以使用户能够与计算系统500交互。然而,在某些实施例中,可以不存在物理键盘和鼠标,并且用户可以仅通过显示器525和/或触摸板(未示出)来与设备交互。根据设计选择,可以使用任何类型和组合的输入设备。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与计算系统500通信的另一计算系统远程地与计算系统500交互,或者计算系统500可以自主地操作。
61.存储器515存储由(多个)处理器510执行时提供功能的软件模块。这些模块包括针
对计算系统500的操作系统540。这些模块还包括roi改进模块545,其被配置为执行本文描述的全部或部分过程或者其导出。计算系统500可以包括一个或多个包括附加功能的附加功能模块550。
62.本领域技术人员将理解,“系统”可以被具化为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(pda)、蜂窝电话、平板计算设备、量子计算系统或者任何其他合适的计算设备或者设备组合,而不脱离本发明范围。将上述功能表示为由“系统”执行并且不旨在以任何方式限制本发明的范围,而是旨在提供本发明的多个实施例中的一个示例。实际上,本文公开的方法、系统和设备可以以与计算技术(包括云计算系统)一致的局部化和分布式形式来实现。
63.应注意的是,本说明书中描述的一些系统特征已作为模块而被表示,以便更具体地强调其实现独立性。例如,模块可以被实现为硬件电路,包括定制的超大规模集成(vlsi)电路或门阵列、诸如逻辑芯片、晶体管或者其他分立元件的现成半导体。模块也可以在可编程硬件设备中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
64.模块也可以至少部分地在软件中实现,用于由各种类型的处理器执行。可执行代码的标识的单元可以例如包括计算机指令的一个或多个物理块或逻辑块,其可以例如被组织为对象、程序或者功能。然而,标识的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,当这些指令在逻辑上结合在一起时,构成该模块并且实现针对该模块的所描述目的。此外,模块可以存储在计算机可读介质上,计算机可读介质可以是例如硬盘驱动、闪存设备、ram、磁带和/或用于存储数据的任何其他这种非暂态计算机可读介质,而不脱离本发明的范围。
65.实际上,可执行代码模块可以为单个指令或者多个指令,甚至可以在多个不同代码段上、不同程序中以及跨多个存储设备中分布。类似地,操作数据在本文可以在模块内被标识和示出,并且可以以任何合适的形式被具化并且被组织在任何合适类型的数据结构内。操作数据可以作为单个数据集来收集,或者可以分布在不同的位置,包括在不同的存储设备上,并且可以至少部分地仅作为系统或者网络上的电子信号而存在。
66.图6是图示根据本发明实施例的被配置执行自动分析、优先化和自动生成实现针对rpa的过程的机器人的系统600的结构图。系统600包括用户计算系统,诸如台式计算机602、平板计算机604和智能电话606。然而,可以使用任何期望的计算系统,包括但不限于智能手表、膝上型计算机、物联网(iot)设备、车辆计算系统等,而不脱离本发明范围。
67.每个计算系统602、604、606上都安装有监听器610。监听器610可以是经由rpa设计器应用、操作系统的部分、用于个人计算机(pc)或者智能电话的可下载应用、或者任何其他软件和/或硬件生成的机器人,而不脱离本发明的范围。实际上,在一些实施例中,一个或多个监听器610的逻辑部分地或者完全地通过物理硬件来实现。
68.监听器610生成与相应的计算系统602、604、606的用户交互的日志,和/或与运行于其上的机器人的操作相关的日志数据。然后,监听器610通过网络620(例如,局域网(lan)、移动通信网络、卫星通信网络、互联网、其任何组合等)将日志数据发送至服务器630。被记录的数据可以包括但不限于哪些按钮曾被点击、鼠标曾被移动到哪里、在字段中曾输入的文本、一个窗口曾被最小化而另一窗口曾被打开、与窗口相关联的应用等。在一些
实施例中,服务器630可以运行指挥方方应用,并且数据可以作为心跳消息的部分被周期性地发送。在某些实施例中,一旦预先确定的数量的日志数据已经被收集、在预定时间段已经过去后、或者在这两种情况下,日志数据可以被发送至服务器630。服务器630将从监听器610接收的日志数据存储在数据库640中。
69.当由人类用户(例如,rpa工程师或者数据科学家)指示时、当预先确定的数量的日志数据已被收集时、当自上次分析以来预先确定的数量的时间已过去时等,服务器630从数据库640访问由监听器610从各种用户收集的日志数据,并且通过多个ai层632运行日志数据。ai层632处理日志数据并且标识其中roi改进的一个或多个潜在过程,标识对现有过程的改进,或两者。ai层632可以执行统计建模(例如,隐马尔可夫模型(hmm))并且利用深度学习技术(例如,长短期记忆(lstm)深度学习、先前隐藏状态的编码等)并且执行案例标识以标识过程的原子实例。例如,对于发票处理,完成一张发票可以是一个案例。因此,系统确定一个案例在哪里结束,下一个案例在哪里开始。例如,打开电子邮件可以是案例的开始,并且可以分析案例的模式以确定变化和共性。
70.在一些实施例中,可以列出已被标识的过程供用户审阅,并且可以按照各种因素进行排序,包括但不限于:指示给定过程针对rpa的适合程度的rpa分数(例如,基于自动化的复杂性、执行时间、对关键性能指标的感知收益,诸如产生的收入、节省的收入、节省的时间等)、过程名称、总记录时间、曾执行过程的用户的数量、过程执行时间(例如,最少时间或者最多时间)等。当用户点击给定过程时,可以显示过程工作流,包括步骤、参数和互连。在某些实施例中,可以仅使用从聚类角度看似乎重要的过程活动。
71.如果已存在类似过程,服务器630可以标识该相似性,并且知道已被标识的过程应当替代现有过程,用于工作效果不佳的类似自动化。例如,过程之间的相似性可以由共同的开始和结束以及其间采取的步骤中的一些统计共性来确定。共性可以通过熵、过程检测目标函数的最小化等来确定。在一些实施例中,可以自动设置目标函数阈值,并且如果曾被系统标识为不相似的过程被用户指示为相似的,则这可以在训练期间被修改。服务器630然后可以自动生成包括被标识的过程的工作流,生成实现工作流的机器人(或者替代机器人),并且将所生成的机器人推送到用户计算系统602、604、606以在其上执行。
72.备选地,在某些实施例中,可以通过计算系统650上的设计器应用652向rpa工程师展示来自ai层632的建议过程。rpa工程师然后能够审查工作流,做出任何期望的改变,然后经由机器人将工作流部署到计算系统602、604、606,或者使机器人被部署。例如,部署可以经由在服务器630或者另一服务器上运行的指挥方方应用来发生,该指挥方应用可以将实现过程的机器人推送到用户计算系统602、604、606。在一些实施例中,此工作流部署可以经由设计器应用中的自动化管理器功能来实现,并且rpa工程师可以仅点击按钮以在机器人中实现过程。
73.监听器
74.为了提取与用户在计算系统602、604、606上采取的行动有关的数据,可以在客户端侧在驱动器级(例如,图3的驱动器340)采用监听器610,以从列入白名单的应用中提取数据。例如,监听器610可以记录用户曾在屏幕上点击何处以及在哪个应用中进行点击、键击、哪个按钮曾被点击、用户在应用之间切换的实例、焦点改变、电子邮件曾被发送以及所述电子邮件与什么有关等。附加地或者备选地,监听器610可以收集与在计算系统602、604、606
上运行的机器人有关的数据。在一些实施例中,执行实现工作流的各种任务的机器人可以充当它们自己的操作的监听器。这种数据可以用于生成用户与计算系统602、604、606的交互和/或在其上运行的机器人的(多个)操作的高保真日志。
75.除了或者备选地生成用于过程提取的日志数据,一些实施例可以提供对用户实际上正在进行的操作的洞察。例如,监听器610可以确定用户实际上正在使用哪些应用、用户正在使用给定应用的时间百分比、用户正在使用应用中的哪些功能以及他们没有正在使用哪些功能等。此信息可以被提供给管理者,以做出关于以下内容的明智决定:是否更新应用的许可、是否不更新功能的许可或者降级到缺少功能的较便宜的版本、用户是否没有使用倾向于使其他雇员更有效率的应用以便该用户可以被适当地培训、用户是否花费大量时间进行非工作活动(例如,检查个人电子邮件或者网上冲浪)或者离开他或者她的办公桌(例如,不与计算系统交互)等。
76.在一些实施例中,检测更新能够被推送至监听器,以改善其驱动器级用户交互和/或机器人操作检测和捕捉过程。在某些实施例中,监听器610可以在其检测中采用ai。在某些实施例中,实现来自自动化工作流的过程的机器人可以经由相应的监听器610被自动推送到计算系统602、604、606。
77.图7是图示根据本发明实施例的用于分析、优先化和自动生成实现针对rpa的过程的机器人的过程700的流程图。在710处将监听器部署到用户计算系统。在720处从监听器收集有关与计算系统的用户交互、在用户计算系统上部署的机器人的性能、或者两者的数据。收集的数据在730处被存储并且在740处使用ai被分析,以在与计算系统的用户交互、针对现有机器人的过程改进、或者两者中发现改进roi的过程、过程流、或者两者。过程可以有基本上完成相同任务的多个变体(即,过程流)。因此,可能需要知道针对过程的各种过程流中哪些(多个)过程流被相对频繁地使用,哪些(多个)过程流被相对不频繁地使用等。因此,在一些实施例中,分析可以包括确定在一段时间内或者在过程流的整个历史中的过程流使用。在某些实施例中,分析可以包括执行一致性检查。
78.在一些实施例中,分析的结果基于对roi的估计收益被排序。在某些实施例中,可以使用各种度量来确定和优先化roi改进,包括但不限于平均过程完成时间、从发票生成的、用以示出自处理起的roi的总收入、员工工作负荷是否超过预定阈值、员工是否至少在最低限度的时间量内从事业务任务、业务特定的kpi、或者其任何组合。在某些实施例中,监听器周期性地向指挥方应用发送心跳,心跳包括关于机器人和/或用户操作的数据。
79.一旦数据被分析,在750处基于它们的估计的roi对过程、过程流、或者两者进行优先化。在760处生成实现被标识的roi改进过程或者用于roi改进的过程流的工作流。然后在770处生成实现工作流的机器人,并且在780处将机器人部署到(多个)用户计算系统。在一些实施例中,自动执行步骤760、步骤770和/或步骤780。在某些实施例中,步骤760、步骤770和/或步骤780由rpa开发者执行。
80.根据本发明的实施例,图7中执行的过程步骤可以由计算机程序执行,针对(多个)处理器的指令进行编码,以执行图7中描述的至少部分过程。计算机程序可以被具化在非瞬态计算机可读介质上。计算机可读介质可以是但不限于硬盘驱动器、闪存设备、ram、磁带和/或用于存储数据的任何其他这样的介质或者介质的组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如,图5的计算系统500的(多个)处理器510)以实现图7中描
述的全部或者部分过程步骤的编码指令,该编码指令也可以存储在计算机可读介质上。
81.计算机程序可以在硬件、软件或者混合实施方式中实现。计算机程序可以由彼此可操作通信的模块组成,并且被设计为传递信息或者指令以显示。计算机程序可以被配置为在通用计算机、asic或者任何其他合适的设备上运行。
82.容易理解的是,本发明各种实施例的组件,如本文附图中一般描述和说明的,可以按各种不同配置进行排列和设计。因此,如附图中所示,本发明的实施例的详细描述不旨在限制所要求保护的本发明的范围,而仅是本发明的所选择的实施例的代表。
83.本说明书中描述的本发明的特征、结构或者特性可以在一个或多个实施例中以任何合适的方式进行组合。例如,在整个说明书中,对“某些实施例”、“一些实施例”或者类似语言的引用意味着结合本实施例所描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。因此,在整个说明书中出现的短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或者类似语言不必然都指同一组实施例,并且所描述的特征、结构或者特性可以以任何合适的方式组合在一个或多个实施例中。
84.应注意,贯穿本说明书中提及的特征、优点或者类似语言并且不意味着本发明可以实现的所有特征和优点应当位于本发明的任何单个实施例中。相反,关于特征和优点的语言被理解为意味着结合实施例描述的特定特征、优点或者特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书的特征和优点的讨论以及类似的语言可以但不必然指同一实施例。
85.此外,本发明的所述特征、优点和特性可以在一个或多个实施例中以任何合适的方式进行组合。相关领域的技术人员将认识到,本发明可以在没有特定实施例的一个或多个具体特征或者优点的情况下实践。在其他实例中,可以在某些实施例中认识到附加的特征和优点,这些特征和优点可能不存在于本发明的所有实施例中。
86.本领域普通技术人员将容易理解,上述本发明可以利用不同顺序的步骤和/或利用不同于所公开配置的硬件元件而被实践。因此,尽管已经基于这些优选实施例描述了本发明,但是对于本领域的技术人员,在保持在本发明的精神和范围内的同时,某些修改、变型和备选结构将是明显的。因此,为了确定本发明的界限和边界,应当参考所附权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1