CN115917446A - 用于机器人过程自动化的系统和方法 - Google Patents

用于机器人过程自动化的系统和方法 Download PDF

Info

Publication number
CN115917446A
CN115917446A CN202080102052.3A CN202080102052A CN115917446A CN 115917446 A CN115917446 A CN 115917446A CN 202080102052 A CN202080102052 A CN 202080102052A CN 115917446 A CN115917446 A CN 115917446A
Authority
CN
China
Prior art keywords
gui
elements
events
video
sequence
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
CN202080102052.3A
Other languages
English (en)
Inventor
雅克·卡利
克里舍娜·杜巴
本·卡尔
吉列姆·库库鲁利
乌米特·鲁森·阿克塔斯
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.)
Blue Prism Ltd
Original Assignee
Blue Prism Ltd
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 Blue Prism Ltd filed Critical Blue Prism Ltd
Publication of CN115917446A publication Critical patent/CN115917446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36184Record actions of human expert, teach by showing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

公开了一种训练RPA机器人使用GUI的方法。所述方法包括:捕捉当操作者使用GUI执行过程时所述GUI的视频;捕获当所述操作者使用所述GUI执行所述过程时触发的事件的序列;以及分析所述视频和所述事件的序列,从而生成工作流。所述工作流当由RPA机器人执行时使所述RPA机器人使用所述GUI执行所述过程。

Description

用于机器人过程自动化的系统和方法
技术领域
本发明涉及用于机器人过程自动化的系统和方法,并且特别地,涉及机器人过程自动化机器人的自动训练。
背景技术
人类引导的计算机过程在许多技术领域和努力中无处不在。现代图形用户界面(GUI)已被证明在允许人类操作者使用计算机系统来执行通常复杂的数据处理和/或系统控制任务方面是极其宝贵的。然而,虽然GUI通常允许人类操作者迅速地习惯于执行新任务,但是它们对任务的任何进一步自动化提供了高障碍。
传统的工作流自动化旨在使用GUI来获取通常由操作者执行的任务并使它们自动化,以使得计算机系统可以执行相同的任务,而无需对用于执行该任务的底层软件进行显著的再设计。最初,这需要展示软件的应用编程接口(API),使得脚本可以被手动地设计成执行软件的所需功能以便执行所需任务。
机器人过程自动化(RPA)系统代表了这种方法的发展,并且使用软件代理(被称为RPA机器人)来经由现有的图形用户界面(GUI)与计算机系统交互。RPA机器人然后可以生成用于GUI的适当输入命令,以使得计算机系统执行给定过程。这使得过程自动化,将有人值守过程变成无人值守过程。这种方法的优点是众多的,并且包括允许多个RPA机器人跨多个计算机系统执行相同任务的更大的可扩展性,以及由于给定过程中的人为错误的可能性被减少或甚至被消除而具有更大的可重复性。
然而,训练RPA机器人以执行特定任务的过程可能是繁琐的,并且需要人类操作者使用RPA系统本身来在特定过程中编程,以使用RPA系统具体地识别每个单独的步骤。还要求人类操作者识别要交互的GUI的特定部分,并构建RPA机器人使用的工作流程。
发明内容
本发明提供了一种仅基于对使用GUI的操作者的视频和在执行过程时由操作者触发的事件(或输入)的分析训练RPA机器人使用GUI执行任务的方法。这样,可以避免现有技术中关于RPA机器人训练的上述问题。
在第一方面,提供了一种训练RPA机器人(或脚本或系统)以使用GUI的方法。所述方法包括以下步骤:捕获当操作者(或用户)使用GUI执行过程(或任务)时所述GUI的视频;捕获当操作者使用GUI执行所述过程时触发的事件的序列,以及分析所述视频和所述事件的序列,从而生成工作流。所述工作流是这样的,当由RPA机器人执行时,使得RPA机器人使用GUI执行所述过程。捕获的步骤可以由远程桌面系统执行。
所述分析的步骤还可以包括以下步骤:从所述视频识别所述GUI的一个或多个交互式元素,以及将所述事件的序列中的各个事件的至少一个匹配为对应于所述一个或多个交互式元素中的至少一个。交互式元素可以是任何典型的GUI元素,诸如(但不限于)文本框、按钮、上下文菜单、选项卡、单选按钮(或其阵列)、复选框(或其阵列)等。所述识别交互式元素的步骤可以通过将已训练的机器学习算法应用于视频的至少一部分来执行。
识别交互式元素可以包括:识别所述GUI中的一个或多个锚元素相对于所述交互式元素的位置。例如,机器学习算法(诸如图形神经网络)可以用于基于一个或多个预定特征值来识别所述一个或多个锚元素。所述特征值还可以经由机器学习算法的训练来确定。
所述特征值可以包括以下中的任何一个或多个:各个元素之间的距离、元素的定向;以及各个元素是否在相同的窗口中。
所述事件的序列可以包括以下中的任何一个或多个:按键事件;点击事件(诸如单击或其多次);拖动事件;以及手势事件。基于视频的推断事件(诸如悬停事件)也可以被包括在所述事件的序列中。通常,悬停事件可以基于一个或多个界面元素在GUI中变得可见来推断。
所述分析的步骤还可以步包括:识别所述过程的子过程的序列。在子过程的序列中,RPA机器人可使用所述序列中的各个子序列的一个的过程输出作为所述序列中的另一子过程的过程输入。
所生成的工作流是可由用户编辑以使得能够包括先前生成的工作流的与另一子过程相对应的部分,使得所述编辑的工作流在由RPA机器人执行时使RPA机器人使用GUI来执行所述过程的版本,所述过程的所述版本包括另一子过程。所述过程的所述版本可以包括替代所述过程的现有子过程的另一子过程。
在第二方面,提供了使用GUI来执行过程的方法,其使用由根据上述第一方面的方法训练的RPA机器人。具体地,所述方法可以包括:所述RPA机器人基于工作流中指定的相应锚元素来重新识别所述GUI中的一个或多个交互式元素。机器学习算法(例如图形神经网络)可以用于基于一个或多个预定特征值(例如作为第一方面的方法的一部分确定的那些)来重新识别所述一个或多个交互式元素。
还提供了布置为执行上述方法中的任何方法的系统和设备。例如,提供了一种用于训练RPA机器人(或脚本或系统)以使用GUI的系统。所述系统布置为捕获当操作者(或用户)使用GUI执行过程(或任务)时GUI的视频,以及捕获当所述操作者使用所述GUI执行所述过程时触发的事件的序列。该系统还包括工作流生成模块,其布置为分析所述视频和所述事件的序列,从而生成工作流。
本发明还提供了适于由一个或多个处理器执行的一个或多个计算机程序,这种计算机程序布置成实施上文概述和本文描述的方法。本发明还提供了一个或多个计算机可读介质和/或通过网络承载的数据信号,其包括(或在其上存储)这样的一个或多个计算机程序。
附图说明
现在将参考附图仅通过示例的方式描述本发明的实施例,其中:
图1示意性地示出了计算机系统的示例;
图2示意性地示出了用于机器人过程自动化(RPA)的系统;
图3a是示意性地示出用于训练RPA机器人的示例方法的流程图;
图3b是示意性地示出RPA系统的RPA机器人执行工作流以执行过程的示例方法的流程图;
图4示意性地示出了诸如图2的RPA系统之类的RPA系统的示例工作流分析模块;
图5示意性地示出了诸如可以与图2和图4的RPA系统一起使用的计算机视觉模块;
图6示意性地示出了诸如可以与图2和图4的RPA系统一起使用的动作识别模块;
图7示意性地示出了工作流的示例和工作流的编辑版本;
图8示意性地示出了诸如图2中描述的RPA系统之类的RPA系统的示例执行模块。
图9a示出了来自GUI的视频的图像;
图9b示出了来自GUI的视频的经过了重新识别过程的另一图像。
具体实施方式
在以下描述和附图中,描述了本发明的某些实施例。然而,应当理解,本发明不限于所描述的实施例,并且一些实施例可以不包括下面描述的所有特征。然而,很明显,在不背离所附权利要求中提出的本发明的更宽的精神和范围的情况下,可以在此进行各种修改和改变。
图1示意性地示出了计算机系统100的示例。系统100包括计算机102。计算机102包括:存储介质104、存储器106、处理器108、接口110、用户输出接口112、用户输入接口114和网络接口116,它们都通过一个或多个通信总线118链接在一起。
存储介质104可以是任何形式的非易失性数据存储设备,诸如硬盘驱动器、磁盘、光盘、ROM等中的一个或多个。存储介质104可以存储用于处理器108执行的操作系统,以便计算机102运转。存储介质104还可以存储一个或多个计算机程序(或软件或指令或代码)。
存储器106可以是适于存储数据和/或计算机程序(或软件或指令或代码)的任何随机存取存储器(存储单元或易失性存储介质)。
处理器108可以是适于执行一个或多个计算机程序(例如存储在存储介质104上和/或存储器106中的那些)的任何数据处理单元,其中一些可以是根据本发明的实施例的计算机程序,或者是当由处理器108执行时使得处理器108执行根据本发明的实施例的方法并将系统100配置为根据本发明的实施例的系统的计算机程序。处理器108可以包括单个数据处理单元或并行或彼此协作操作的多个数据处理单元。处理器108在执行本发明实施例的数据处理操作时,可以将数据存储到存储介质104和/或存储器106和/或从其读取数据。
接口110可以是用于提供到计算机102外部的或可从计算机移除的装置122的接口的任何单元。装置122可以是数据存储设备,例如光盘、磁盘、固态存储设备等中的一个或多个。装置122可以具有处理能力,例如,装置可以是智能卡。因此,接口110可以根据其从处理器108接收的一个或多个命令,从设备122访问数据,或者向其提供数据,或者与其对接。
用户输入接口114布置为从系统100的用户或操作者接收输入。用户可以经由系统100的一个或多个输入装置(诸如鼠标(或其他定点装置)126和/或键盘124)来提供该输入,所述输入装置连接到用户输入接口114或与之通信。然而,将理解,用户可以经由一个或多个附加或替代输入装置(诸如触摸屏)向计算机102提供输入。计算机102可以将经由用户输入接口114从输入装置接收的输入存储在存储器106中,以便处理器108随后访问和处理,或者可以将其直接传递到处理器108,使得处理器108可以相应地响应用户输入。
用户输出接口112布置为向系统100的用户或操作者提供图形/视觉和/或音频输出。这样,处理器108可以布置成指示用户输出接口112形成表示期望的图形输出的图像/视频信号,并且将该信号提供给连接到用户输出接口112的系统100的显示器(或屏幕或显示单元)120。附加地或替代地,处理器108可以布置成指示用户输出接口112形成表示期望的音频输出的音频信号,并且将该信号提供给连接到用户输出接口112的系统100的一个或多个扬声器121。
最后,网络接口116为计算机102提供从一个或多个数据通信网络下载数据和/或向一个或多个数据通信网络上传数据的功能。
应当理解,图1中所示和上文所述的系统100的结构仅仅是示例性的,并且具有不同结构(例如具有比图1中所示更少的组件或者具有比图1中所示的组件更多和/或替代的组件)的其他计算机系统100可以用在本发明的实施例中。作为示例,计算机系统100可以包括以下中的一个或多个:个人计算机;服务器计算机;移动电话;平板电脑;膝上型计算机;电视机;机顶盒;游戏控制台;其它移动设备或消费电子设备;等等。
图2示意性地示出了用于机器人过程自动化(RPA)的系统。如图2所示,存在由操作者(或用户)201操作的(诸如上述计算机系统100之类)的计算机系统200。计算机系统200通信地耦合到RPA系统230。
操作者201与计算机系统200交互以使计算机系统200执行过程(或功能或活动)。通常,在计算机系统200上执行的过程由一个或多个应用(或程序或其他软件)执行。这样的程序可以直接在系统200上执行或运行,或者可以在别处(诸如在远程或云计算平台上)执行并且由计算机系统200控制和/或触发。操作者201经由向操作者201显示一个或多个交互式元素的图形用户界面(GUI)210与计算机系统200交互。操作者201能够经由计算机系统200的用户输入接口(诸如上述的用户输入接口114)与所述交互式元件交互。将理解,当操作者201与GUI 210交互时,显示给操作者201的通常改变以反映操作者交互。例如,当操作者将文本输入到GUI 210中的文本框中时,GUI 210将显示输入到文本框中的文本。类似地,当操作者使用定点设备(例如鼠标126)在GUI 210上移动光标时,指针被示出为在GUI 210中移动。
RPA系统230布置为接收GUI 210的视频215。当操作者201使用GUI 210执行该过程时,GUI 210的视频215示出(或可视地描绘或记录)向操作者201显示的GUI 210。RPA系统230还布置成接收(或捕获)由使用GUI执行该过程的操作者关于GUI触发的事件的序列217。这样的事件可以包括由操作者201进行的单独的键按压、由操作者201进行的点击(或其他指针交互事件)、由GUI本身生成的事件(诸如与特定元素有关的点击事件、GUI中的特定窗口的焦点的改变等)。
RPA系统230的工作流分析模块240布置为分析GUI210的视频和事件的序列217,从而生成用于使用GUI 210执行所述过程的工作流(或脚本)。工作流将在下面更详细地描述。然而,可以理解,工作流250通常定义了与GUI 210的交互(或动作)的序列。交互可以是在GUI的特定识别的元素上或与GUI的特定识别的元素相关地执行的输入,使得当在GUI上执行交互的序列时,GUI正在其上操作的系统200执行所述过程。这样,工作流250可以被认为是(或表示)用于使用GUI执行过程的指令的集合。
RPA系统230的执行模块270布置为使得工作流250在一个或多个另外的计算机系统200-1;200-2;…的相应的GUI210-1;210-2;…上执行。特别地,执行模块270布置为接收在另外的计算系统200-1;200-2;…上的相应GUI 210-1;210-2;…的视频。执行模块270还布置为向另外的计算机系统200-1;200-2;…提供输入275,模拟操作者201将提供的输入。通过分析各个GUI的视频,执行模块能够识别(或重新识别)工作流250中存在的GUI元素,并根据工作流250向另外的GUI提供输入。这样,执行模块可以被认为是RPA机器人(或软件代理),其经由相应的GUI 210-1操作另外的系统200-1以执行该过程。将理解的是,另外的系统200-1;200-2;…可以是诸如系统200的系统,诸如上述的计算机系统100。或者,另外的计算系统200-1;200-2;…中的一个或多个可以是虚拟化的计算机系统。将理解,执行模块270(或RPA机器人)的多个实例可以由RPA系统230并行地(或基本上并行地)实例化,从而允许过程的多个实例在相应的另外的计算系统200-1;200-2;…上基本上同时执行。
图3a是示意性地示出用于训练根据图2的RPA系统230的RPA机器人的示例方法300的流程图。
在步骤310,捕获当操作者201使用GUI 210执行所述过程时GUI 210的视频215。
在步骤320,捕获当操作者201使用GUI 210执行所述过程时触发的事件的序列217。
在步骤330,基于视频215和事件的序列217生成工作流。特别地,分析视频215和事件的序列217,从而生成工作流,该工作流当由RPA机器人执行时使RPA机器人使用GUI执行所述过程。可以使用一个或多个已训练的机器学习算法来分析视频215和事件的序列217。步骤330可以包括从所述视频识别GUI的一个或多个交互式元素,并且将事件的序列中的至少一个事件匹配为对应于所述一个或多个交互式元素中的至少一个。这样,步骤330可以包括识别工作流的交互的序列。
图3b是示意性地示出RPA系统230的RPA机器人执行工作流250以执行过程的示例方法350的流程图。RPA系统230可以是如上文关于图2描述的RPA系统230。
在步骤360,接收计算系统200-1上的GUI 210-1的视频。
在步骤370,接收计算系统200-1上的GUI 210-1的视频。
在步骤380,基于工作流250向计算机系统200-1提供输入275。步骤380可以包括分析GUI的视频以重新识别工作流250中存在的GUI元素和根据工作流250向GUI提供输入。这样,步骤380可以通过GUI操作另外的系统200-1以执行该过程。
图4示意性地示出了诸如以上关于图2描述的RPA系统230之类的RPA系统的示例工作流分析模块。
图4中所示的工作流分析模块240包括视频接收器模块410、事件接收器模块420、计算机视觉模块430、动作识别模块440和工作流生成模块450。图4中还示出的是通过GUI210与计算机系统200交互的操作者201,如上文关于图2所述。
视频接收器模块410布置为接收(或捕获或以其他方式获得)GUI 210的视频215。GUI 210的视频215可以在计算机系统200上(或由其)生成。然后,所得到的视频215可以经由适当的数据连接被传送到RPA系统230(并且从而被传送到视频接收器模块410)。
可以理解,计算机系统200可通过数据连接被连接到RPA系统230。数据连接可以利用任何适于在计算机系统200和RPA系统230之间通信或传输数据的数据通信网络。数据通信网络可以包括以下中的一个或多个:广域网、城域网、因特网、无线通信网络、有线或电缆通信网络、卫星通信网络、电话网络等。计算机系统200和RPA系统230可以布置为经由数据通信网络经由任何合适的数据通信协议彼此通信。例如,当网络数据通信包括因特网时,数据通信协议可以是TCP/IP、UDP、SCTP等。
以类似的方式,计算机系统200可以被设置为将GUI210的视觉显示转发(或以其他方式传送)到视频接收器模块410。视频接收器模块可以配置为根据转发的GUI的视觉显示生成(或捕获)视频215。GUI的视觉显示的转发是公知的,并且在此不作进一步讨论。这种转发的示例包括可用于X11窗口系统的X11转发系统、可用于Windows操作系统的微软公司的远程桌面服务等。诸如使用远程帧缓冲协议的那些系统之类的帧缓冲类型转发系统也是合适的。这种系统的示例包括开源虚拟网络计算(VNC)及其变型。
附加地或替代地,视频接收器模块410可以布置成接收由输出接口112生成的图像/视频信号。可以从计算机系统200的用户输出接口112和计算机系统200的显示器120之间的图像/信号路径中的硬件设备接收图像/信号。视频接收器模块410可以配置为根据所接收的图像/视频信号生成(或捕获)视频215。
应当理解,视频接收器模块410的一些功能可以在计算机系统200上(或由其)执行。特别地,计算机系统200可以执行布置为生成GUI 210的视频215的软件(或软件代理)。
事件接收器模块420布置成接收(或捕获)由使用GUI执行过程的操作者关于GUI触发的事件的序列217。事件可以是(或包括)至计算机系统200的输入。特别地,事件可以包括指针(诸如鼠标指针)点击、指针拖动、指针移动、(诸如经由键盘或基于显示器的软键盘的)键按压、滚轮移动、(诸如拖动或点击或手势等的)触摸屏(或垫)事件、操纵杆(或十字键)移动等中的任何一个。
将理解,事件可以包括多于一个输入。例如,多个同时的键按压(例如使用控制和/或交替或其它修改键)可以被记录为单个事件。类似地,在阈值时间内分组的输入(诸如双击或三击)可以被记录为单个事件。事件通常还包括元数据。事件的元数据可以包括:在事件发生时屏幕上的指针(或光标)位置;键(在键按压的情况下)等。
以与视频接收器模块410类似的方式,计算机系统200可以布置成将由操作者关于GUI 210触发的事件转发(或以其他方式传送)到事件接收器模块420。事件接收器模块420可以配置为顺序地生成(或捕获)所接收的事件。输入事件的转发是公知的,并且在此不作进一步讨论。这种转发的示例包括可用于X11窗口系统的X11转发系统、可用于Windows操作系统的微软公司的远程桌面服务、开源虚拟网络计算(VNC)及其变型。通常,这种转发系统涉及在计算机系统200上执行软件代理(或助手程序),其捕获处于操作系统级别的事件。在一些情况下,诸如微软远程桌面服务和X11转发系统之类的转发系统是操作系统的一部分。
附加地或替代地,事件接收器模块420可以布置成接收由一个或多个输入设备124;126生成的输入信号。可以从所述一个或多个输入设备124;126之间的输入信号路径中的硬件设备和计算机系统200的用户输入接口114接收输入信号。这样的硬件设备(例如密钥记录器)是公知的,并且在此不作进一步描述。事件接收器模块420可以配置为根据所接收的输入信号生成(或捕获)事件的序列217。
计算机视觉模块430布置为从GUI的视频215识别GUI 210的元素(通常称为图形用户界面元素)。计算机视觉模块430可布置成使用诸如特征检测之类图像分析技术来基于预期GUI元素的已知配置(或外观)识别GUI元素。附加地或替代地,计算机视觉模块430可布置为使用被训练以识别特定GUI元素的机器学习算法。计算机视觉模块430可以布置成使用光学字符识别技术来识别所识别的GUI元素的文本组件。在这种识别中可以使用标准的对象检测技术。例如,可以使用掩模-RCNN方法,详见其全部内容通过引用并入本文的DOI:10.1109/TPAMI.2018.2844175、IEEE模式分析与机器智能汇刊2020、Kaiming He、GeorgiaGkioxari、PiotrDollar、Ross Girshick“掩模R-CNN”。
附加地或替换地,这样的技术可以使用诸如深度学习模型之类的机器学习来检测GUI元素。可以使用包括GUI元素的注释屏幕截图(或其部分)的训练数据来训练这样的深度学习模型。具体地,注释可以包括用于识别给定屏幕截图中的已知GUI元素的边界框。
计算机视觉模块430还布置为识别用于给定的所识别的GUI元素的一个或多个锚GUI元素。计算机视觉模块430还布置为将所述一个或多个锚元素与所述给定的所识别的GUI元素相关联。如以下简短描述的,可基于预期的共同出现的GUI元素为给定元素识别锚元素。通常为给定GUI元素识别锚元素,以使得计算机视觉模块430能够在给定GUI元素的位置(或布置)由于在GUI中的改变而改变时重新识别给定元素。
动作识别模块440布置成识别由操作者201在GUI210上执行的一个或多个动作。具体地,动作识别模块440布置成基于事件的序列217和由计算机视觉模块430识别的GUI元素来识别动作。通常,动作包括施加于一个或多个GUI元素的输入。例如,动作可以是以下中的任何一个:在GUI元素(诸如按钮或其他可点击的元素)上的指针点击;文本输入到文本框中;通过拖动事件选择一个或多个GUI元素;等等。
动作识别模块440通常布置为通过将事件的序列217中的一个或多个事件与一个或多个识别的GUI元素进行匹配来识别动作。例如,即使具有与可点击的GUI元素(诸如按钮)一致的指针位置的指针点击也可被识别为其中GUI元素已被点击的动作。类似地,当光标存在于所识别的文本框中时发生的一个或多个按键事件可被识别为其中文本被输入到文本框中的动作。附加地或者替换地,可以忽略不在GUI元素内发生的诸如点击事件之类的事件。
工作流生成模块450布置为基于由动作识别模块440识别的动作来生成工作流250。如上所述,工作流250定义与GUI 210的交互的序列。工作流的每个交互(或步骤)通常定义要触发的一个(或多个)输入和要作用于其上的GUI元素。例如,交互可以是按钮的点击,其中交互然后可以指定要点击的按钮(即GUI元素)和点击类型(例如右或左)。交互(或步骤)还指定(或定义或以其他方式指示)用于要被作用的GUI元素的锚元素,以便在执行工作流时使得能够重新识别GUI元素,如下面简短描述的。
以这种方式,将理解,如此生成的工作流250使得执行系统(或RPA机器人)能够使用GUI来执行过程,如下面简短描述的。换言之,工作流分析模块通过所生成的工作流250布置成训练给定RPA机器人以基于对使用GUI 210执行过程的人类操作者201的观察来执行所述过程。
图5示意性地示出了诸如以上关于图4所讨论的计算机视觉模块之类的计算机视觉模块430。
计算机视觉模块430包括代表帧识别模块510、GUI元素识别模块520和事件识别模块530。
代表帧识别模块510布置为识别GUI的视频215中的代表帧(或图像)。代表帧可以被识别为描绘处于特定状态的GUI的帧。将理解,通常当操作者201与GUI 210交互时,GUI210随着GUI显示的改变而改变状态,以反映新状态。例如,可以显示具有新GUI(或界面)元素的新窗口,可以显示对话框等。同样,GUI(或界面)元素可被移除,例如一旦操作者与对话框交互,对话框可消失,可选择新的选项卡,用新的选项卡替换旧选项卡的显示,等等。这样,将理解,可以基于对所显示的GUI的改变来识别代表帧。
代表帧识别模块510可以布置成通过应用视频分析技术以识别视频中的帧或图像来识别代表帧,所述帧或图像在与它们之前的帧(或多个帧)的视觉差的阈值水平之上。另外或替代地,代表帧识别模块510可以布置为基于识别存在于给定帧中的不存在于先前帧中的新接口元素而识别代表帧。GUI元素的识别可以由下面简短描述的GUI元素识别模块520来执行。
代表帧识别模块510可以布置为使用适当的经训练的机器学习算法(或系统)来识别代表帧。这里,机器学习算法将被训练成基于GUI的视频来识别GUI状态改变。特别地,机器学习算法可以基于来自GUI的视频的帧(或图像)相对于视频中的相邻(或附近)帧的视觉外观的改变,将该帧(或图像)分类为代表帧。这种分类还可以基于视觉外观的这种改变与输入事件的相关性(或共现),以区分由于用户交互而引起的外观改变和非由于用户交互而引起的外观改变。
GUI元素识别模块520布置为识别GUI中的一个或多个GUI(或界面)元素。特别地,GUI元素识别模块520布置为从GUI的视频215的诸如由代表帧识别模块510识别的代表帧之类的帧的图像中识别GUI元素。GUI元素识别模块520可以布置为使用诸如特征检测之类的图像分析技术以基于期望GUI元素的已知配置(或外观)来识别GUI元素。附加地或替代地,GUI元素识别模块520可以布置为使用被训练以识别特定GUI元素的机器学习算法。
另外,GUI元素识别模块520可布置为识别一个或多个锚元素和/或将一个或多个锚元素与给定的识别出的GUI元素相关联。可基于与给定的所识别元素的接近度(或距离)来识别给定GUI元素的锚GUI元素。具体地,如果GUI元素被放置在给定GUI元素的预定距离内,则该GUI元素可被识别为锚元素。附加地或替换地,锚元素可基于锚元素和给定元素的类型被识别为锚元素。例如,如果给定GUI元素是文本框,则可预期文本标签存在于文本框附近。这样,标签GUI元素可被识别为文本框GUI元素的锚元素。同样,如果给定GUI元素是单选按钮元素,则可以预期在所识别的单选按钮附近存在其他单选按钮元素。应当理解,代替或除了上述方法之外,还可以使用用于识别锚元件的其他方法。这种方法可以包括以下各项的任意组合:将预定数量的最近元素识别为锚元素(k最近邻方法)、将一个或多个预定方向上的最近元素识别为锚元素、将给定的被识别元素的某个预定义区域内的所有元素识别为锚元素,等等。
GUI元素识别模块520还布置为重新识别在GUI的视频215(或另外的视频)的另外的图像(或帧)中识别的GUI元素(诸如,先前由GUI元素识别模块520识别的GUI元素)。特别地,GUI元素识别模块520布置为基于与先前识别的GUI元素相关联的锚元素来确定在另一图像中识别的GUI元素对应于来自先前图像的先前识别的GUI元素。可以基于识别与先前识别的GUI元素的相同锚元素相对应的在另外的图像中的GUI元素的锚元素,来重新识别所述另外的图像中的GUI元素。如果锚元素与其相应的所识别GUI元素的相对位置在预定阈值内,则可认为锚元素对应于另一锚元素。类似地,如果所识别的GUI元素与多个锚元素(或集合)相关联,则如果该锚元素的集合与它们的相应的所识别的多个GUI元素的相对位置在预定阈值内一致,则该锚元素的集合可被认为对应于另一锚元素的集合。将理解,锚元素可具有相关联的权重(或重要性),其中相对位置较高加权的锚元素需要在较小的预定阈值内一致。
这样,将理解,GUI元素识别模块可以在GUI的后续实例的视频中重新识别相同的GUI输入元素,诸如GUI中的特定输入字段。锚元素的使用使得即使GUI被修改使得GUI元素改变位置,这种重新识别仍可以发生。这是因为诸如也可能已经被移动的文本框的标签之类的共同出现的GUI元素(锚元素)能够被用于重新识别该GUI元素。
GUI元素识别模块520可布置为使用适当的经训练的机器学习算法(或系统)以基于GUI元素各自的锚元素来重新识别GUI元素。例如,图形神经网络可以用作机器学习算法的一部分。这里,GUI元素被映射到图中的节点(或由图中的节点表示)。节点之间的连接具有取决于两个节点的不同特征值。这样的特征值可以包括以下中的任何一个或多个:两个节点之间的距离、节点的定向(或姿态)、节点是否属于应用窗口中的相同面板等。然后可以通过在重新识别节点上进行优化来训练图形神经网络。实际上,图形神经网络通过训练过程学习哪些特征值对于重新识别是重要的。以这种方式,GUI元素识别模块可以在初始识别锚元素时考虑这一点,选择对于重新识别更有效的锚元素。
将理解,GUI元素识别模块520可布置成使用图形神经网络作为机器学习算法的一部分来以类似的方式初始地识别给定元素的锚元素。特别地,可以基于如上所述的特征值将元素识别为锚元素。
事件识别模块530布置为基于GUI的视频215来识别另外的事件。虽然上文描述的事件涉及由来自操作者201的输入触发(或以其它方式涉及)的事件,但将了解,可基于操作者的不活动或基于外部触发而发生其它事件。例如,将指针悬停在交互式元素上可被认为是可触发一个或多个其他GUI元素(诸如上下文菜单)的显示的悬停事件。由于这是由不活动(即,操作者在预定时间段内不移动指针)引起的,因此这样的事件可能不出现在事件接收器模块420所捕获的事件的序列217中。附加地或可替换地,不活动可以用于识别动态内容(或元素),诸如广告。这可以基于确定诸如当网页已经完成加载时的页面加载事件来完成。事件识别模块530可以布置为基于识别在由事件接收器模块420捕获的事件的序列217中在不存在对应事件的点处的GUI中的一个或多个另外的GUI元素的外观(或具体化或显示)来识别另外的事件。事件识别模块530可以布置为使用适当的经训练的机器学习算法(或系统)来基于GUI的视频215识别另外的事件。事件识别模块530还可以布置为在具有类似用户输入的事件之间进行区分。例如,拖动鼠标的用户输入可以涉及多个不同的交互。这些交互可以取决于所识别的GUI元素(或多个GUI元素)。例如,拖动鼠标的用户输入可以涉及:拖动滑块、拖放元素、在通过拖动(称为套索)创建的区域内选择元素。它们都具有捕获的类似输入事件:鼠标左键按下、移动鼠标和释放鼠标左键,但是语义上具有不同的功能。事件识别模块530可以布置为基于将输入与所识别的GUI元素进行匹配来区分这些事件。具体地,事件识别模块530可以使用启发法或经训练的机器学习分类模型。
事件识别模块530通常布置为将所识别的另外的事件包括在事件的序列217中,以便由动作识别模块440进一步处理。
图6示意性地示出了诸如以上关于图4讨论的动作识别模块440之类的动作识别模块440。
动作识别模块440包括事件匹配模块610、子过程识别模块620和输入/输出识别模块630。
如上所述,事件匹配模块610布置为通过将事件的序列217中的一个或多个事件与一个或多个识别的GUI元素进行匹配来识别动作。例如,事件匹配模块610可以将事件和所作用的对应的所识别的GUI元素配对。这可以通过匹配事件(例如鼠标点击)的空间坐标和屏幕上该位置处的GUI元素来完成。对于不具有空间坐标的事件(例如键盘动作),具有空间坐标的先前事件(例如鼠标点击)可用于将GUI元素与事件配对。附加地或替代地,特定识别的GUI元素(例如文本光标(或其它输入标记))的位置可用于将事件(例如键按压)与相应GUI元素(例如文本框)配对。
子过程识别模块620布置为识别一个或多个子过程。将理解,由操作者201使用GUI210执行的给定过程可以被分解成多个单独的子过程。通常,过程可以涉及多于一个的离散的任务,每个离散的任务由应用的一个或多个集合执行。例如,对于提交费用索要的过程,可以存在使用第一应用获取必需发票的第一子过程,作为第二子过程,然后发票可能需要被上传到内部会计平台,最后作为第三子过程,费用应用可以用于生成索要本身。如此,子过程识别模块620可以布置为将子过程识别为对应于特定应用的事件的序列217。可以基于由计算机视觉模块430识别的GUI元素来识别应用(以及应用的使用)。例如,在特定应用的窗口处于焦点中的时段期间触发的事件可以被识别为子过程。在一个示例中,子过程可被识别为当被聚焦时在特定窗口上触发的所有事件和/或在窗口的GUI元素不改变超过预定阈值的同时在该窗口上触发的所有事件。通过识别在窗口的GUI元素不改变超过预定阈值的同时在该窗口上触发的事件,可以例如相对于带有选项卡的窗口上的特定选项卡来识别子过程。这里,在选项卡之间移动可能导致阈值数量(或更多)的元素改变(例如,移动位置、被添加或被移除)。应当理解,也可以使用其它这样的启发式方法(或标准)。
输入/输出识别模块630布置为识别一个或多个过程输入。应当理解,在执行给定过程时,操作者201可以使用GUI来输入数据(或过程输入)。例如,操作者201可以将用户名和/或密码键入(或输入)到GUI中作为过程的一部分。输入/输出识别模块630可以布置为将输入数据存储在稍后描述的数据存储器810(诸如上述数据存储设备122)中。
输入/输出识别模块630可以布置为将过程输入识别为需要从存储器810检索输入数据的动作。
输入/输出识别模块630可以布置为识别子过程的一个或多个过程输入和/或过程输出。将了解,子过程可提供可用作另一子过程的过程输入的输出(或过程输出)。过程输出可以包括经由GUI显示的数据。例如,在上述第一子过程中,可以涉及查看所检索的发票,以使得可以将发票编号复制到剪贴板。第三子过程然后可涉及将该发票编号粘贴到费用索要表格中。以这种方式,第一子步骤的过程输出将是复制到剪贴板的发票号码。然后,剪贴板中的该发票号码将用作第三子步骤的过程输入。
换言之,在存在用于子过程的输入(诸如用户名和/或口令等)的情况下,可以向用户提供用于输入的选项以指定要用于输入的源(诸如数据存储、剪贴板、文件等)。
图7示意性地示出了示例工作流程700。图7中还示出了工作流的编辑版本750。
工作流700包括具有如上所述的过程输入和过程输出的四个子过程1、2、3、4。子过程1具有两个过程输出1-1;1-2。第一过程输出1-1是子过程2的过程输入。第二过程输出1-2是子过程3的过程输入。子过程2具有过程输出2-1,其是子过程3的过程输入。类似地,子过程3具有过程输出3-1,其是子过程4的过程输入。
将了解,由子过程执行的任务可同样作为不同的子过程来进行。不同的子过程可以是形成不同工作流的一部分的子过程。例如,对于以上讨论的提交费用索要的过程,可能存在内部计费平台的改变。这可能需要改变第二子过程以便使用新平台。这可以通过替代地使用现有工作流中的新计费平台来替换新的子过程以生成工作流的编辑版本而在不重新记录(或重新生成)工作流的情况下实现。
工作流的编辑版本750包括工作流700的子过程1、2、4,但是用另一子过程5代替第二子过程2。这是可能的,因为另一子过程具有与第二子过程相同的过程输入和过程输出。可以看出,第一过程输出1-1现在是用于另一子过程的过程输入。另一子过程5具有过程输出5-1,其是子过程3的过程输入。
将理解,以这种方式,工作流可以被改变和/或组合以形成新的工作流,从而执行新的过程,而新的过程没有被操作者201执行。
图8示意性地示出了诸如上面关于图2描述的RPA系统230之类的RPA系统的示例执行模块270。
图8中所示的执行模块270包括视频接收器模块410、计算机视觉模块430、数据存储器810(诸如上述数据存储装置122)和输入触发模块820。图8中还示出了具有GUI 210-1的计算机系统200-1。
应当理解,视频接收器模块410和计算机视觉模块430的上述描述同样适用于图8中所示的视频接收器模块410和计算机视觉模块430。具体地,应当理解,计算机视觉模块430布置为从视频接收器模块410接收GUI 210的视频215。
如图8所示,执行模块270接收(或加载)如前所述的工作流250。这用于训练(或除此之外使得)执行模块270使用计算机系统200-1的GUI来执行工作流250的过程。
输入触发模块820布置成生成到计算机系统200的输入信号以执行工作流中指定的交互。具体地,对于给定的交互,输入触发器模块820布置为使用计算机视觉模块430来重新识别在交互中指定的GUI元素。输入触发模块布置为基于重新识别的GUI元素生成输入以执行交互。例如,如果交互指定在特定按钮上的指针点击,则输入触发器模块将生成指针移动并点击,使得点击发生在由计算机视觉模块重新识别的按钮的位置。因此,将考虑GUI中的按钮相对于生成工作流时按钮的位置的任何位移。
输入触发模块820还可以布置为从诸如数据存储器810之类的外部源检索用于交互的特定文本输入。数据存储器可以布置为存储用于工作流的特定步骤(或交互)的特定文本输入。这种特定文本输入的示例可以包括:用户名和/或密码;预定义的ID号或代码;等等。可以保护数据存储以确保其上存储的数据的机密性。以这种方式,可以根据需要保护和/或改变敏感输入(例如用户名和密码)以用于过程的未来执行。
因此,可以理解,通过在工作流中的交互上迭代,执行模块270可以经由GUI来执行工作流的过程。这样,执行模块270将被理解为被训练以执行该过程的RPA机器人。
图9a示出了来自GUI的视频215的图像900(或帧)。如前所述,GUI元素识别模块520已经识别了多个GUI元素。出于附图的目的,在附图中用框指示所识别的GUI元素。如从图9a中可以看出,所识别的GUI元素包括图标、文本标签、选项卡、菜单项(按钮)等。
特别地,已经识别了特定GUI元素910(图9a中的菜单项“计算机”),并且还识别了四个相关联的锚元素920。锚元素的识别如先前在上面所描述的,并且考虑了特定GUI元素910的重新识别。在该示例中,GUI元素识别模块基于k最近邻来选择锚元素。在这种情况下,这里k等于4。这可以被理解为具有优先级的接近度作为特征值。然而,也可以使用锚元素相对于彼此和/或所识别的元素的定向,即锚框不仅在候选附近,而且在相同的定向/方向上。
图9b示出了来自图9a的GUI的另一视频215的图像950(或帧)。在图像950中,GUI的多个元素与图9所示的图像900不同。同样,如前所述,GUI元素识别模块520已经识别了多个GUI元素。所识别的GUI元素在图中用框来指示。如从图9a中可以看出,所识别的GUI元素包括图标、文本标签、选项卡等。
在图像950中,如前所述,在图9a中识别的特定GUI元素910已由GUI元素识别模块520基于所识别的锚元素920来重新识别。以这种方式,尽管GUI发生了变化,但是特定元素910被重新识别。
应当理解,所述方法已经被示出为以特定顺序执行的各个步骤。然而,本领域技术人员将理解,这些步骤可以组合或以不同的顺序执行,同时仍然实现期望的结果。
应当理解,本发明的实施例可以使用各种不同的信息处理系统来实现。具体地,尽管附图及其讨论提供了示例性计算系统和方法,但是这些仅被呈现以提供在讨论本发明的各方面时有用的参考。本发明的实施例可以在任何适当的数据处理设备上执行,所述数据处理设备诸如个人计算机、膝上计算机、个人数字助理、移动电话、机顶盒、电视、服务器计算机等。当然,为了讨论的目的,已经简化了系统和方法的描述,并且它们仅仅是可以用于本发明的实施例的许多不同类型的系统和方法中的一种。将了解,逻辑块之间的边界仅为说明性的,且替代实施例可合并逻辑块或元件,或可对各种逻辑块或元件强加功能性的替代分解。
应当理解,上述功能可以作为一个或多个相应的模块实现为硬件和/或软件。例如,上述功能可以被实现为由系统的处理器执行的一个或多个软件组件。可替换地,上述功能可以被实现为硬件,例如在一个或多个现场可编程门阵列(FPGA)上,和/或一个或多个专用集成电路(ASIC)上,和/或一个或多个数字信号处理器(DSP)上,和/或其他硬件布置上。在这里包含的或者如上所述的流程图中实现的方法步骤可以各自由相应的相应模块实现;在这里包含的或者如上所述的流程图中实现的多个方法步骤可以由单个模块一起实现。
应当理解,在本发明的实施例由计算机程序实现的范围内,则承载计算机程序的存储介质和传输介质形成本发明的各方面。计算机程序可以具有一个或多个程序指令或程序代码,当由计算机执行时,其实现本发明的实施例。如本文所使用的术语“程序”可以是被设计用于在计算机系统上执行的指令序列,并且可以包括子程序、函数、应用程式、模块、对象方法、对象实现、可执行应用、小应用程序、小服务程序、源代码、目标代码、共享库、动态链接库和/或被设计用于在计算机系统上执行的其他指令序列。存储介质可以是磁盘(诸如硬盘驱动器或软盘)、光盘(诸如CD-ROM、DVD-ROM或蓝光光盘)或存储器(诸如ROM、RAM、EEPROM、EPROM、闪存或便携式/可移动存储设备)等。传输介质可以是通信信号、数据广播、两个或多个计算机之间的通信链路等。

Claims (23)

1.一种训练RPA机器人使用GUI的方法,所述方法包括:
捕获当操作者使用所述GUI执行过程时所述GUI的视频;
捕获当所述操作者使用所述GUI执行所述过程时触发的事件的序列;
分析所述视频和所述事件的序列,从而生成工作流,所述工作流当由所述RPA机器人执行时使所述RPA机器人使用所述GUI执行所述过程。
2.根据权利要求1所述的方法,其中,所述分析进一步包括:
从所述视频识别所述GUI的一个或多个交互式元素;以及
将所述事件的序列中的各个事件的至少一个匹配为对应于所述一个或多个交互式元素中的至少一个。
3.根据权利要求1或2所述的方法,其中,识别交互式元素是通过将经训练的机器学习算法应用于所述视频的至少一部分来执行的。
4.根据任一前述权利要求所述的方法,其中,识别交互式元素包括识别所述GUI中的一个或多个锚元素相对于所述交互式元素的位置。
5.根据权利要求4所述的方法,其中,机器学习算法被用于基于一个或多个预定特征值来识别所述一个或多个锚元素。
6.根据权利要求5所述的方法,其中,所述特征值是经由所述机器学习算法的训练来确定的。
7.根据权利要求5或6所述的方法,其中,所述特征值包括以下中的任何一个或多个:
各个元素之间的距离,
元素的定向;以及
各个元素是否在相同的窗口中。
8.根据任一前述权利要求所述的方法,其中,所述事件的序列包括以下中的任何一个或多个:
按键事件;
悬停事件;
点击事件;
拖动事件;以及
手势事件。
9.根据任一前述权利要求所述的方法,包括:基于所述视频在所述事件的序列中包括一个或多个推断的事件。
10.如权利要求9所述的方法,其中,基于一个或多个界面元素在所述GUI中变得可见来推断悬停事件。
11.根据任一前述权利要求所述的方法,其中所述分析的步骤包括:
识别所述过程的子过程的序列。
12.根据权利要求11所述的方法,其中,所述序列的各个子过程中的一个的过程输出被RPA机器人用作所述序列的另一子过程的过程输入。
13.根据权利要求11或权利要求12所述的方法,还包括:编辑所生成的工作流以包括先前生成的工作流的与另一子过程相对应的部分,使得所编辑的工作流当由RPA机器人执行时使所述RPA机器人使用所述GUI来执行所述过程的版本,所述过程的所述版本包括所述另一子过程。
14.如权利要求13所述的方法,其中,所述过程的所述版本包括代替所述过程的现有子过程的另一子过程。
15.根据任一前述权利要求所述的方法,其中,使用远程桌面系统来捕获所述视频和/或所述事件的序列。
16.一种使用GUI执行过程的方法,所述方法使用由根据权利要求1所述的方法训练的RPA机器人。
17.根据权利要求16所述的方法,还包括:所述RPA机器人基于工作流中指定的相应锚元素来重新识别所述GUI中的一个或多个交互式元素。
18.根据权利要求17所述的方法,其中,机器学习算法用于基于一个或多个预定特征值来重新识别所述一个或多个交互式元素。
19.根据权利要求18所述的方法,其中,所述特征值是经由所述机器学习算法的训练来确定的。
20.根据权利要求18或19所述的方法,其中,所述特征值包括以下中的任何一个或多个:
各个元素之间的距离,
元素的定向;以及
各个元素是否在相同的窗口中。
21.一种布置成执行根据权利要求1至20中任一项所述的方法的设备。
22.一种计算机程序,所述计算机程序当由处理器执行时使所述处理器执行根据权利要求1至20中任一项所述的方法。
23.一种计算机可读介质,其存储根据权利要求22所述的计算机程序。
CN202080102052.3A 2020-05-01 2020-05-01 用于机器人过程自动化的系统和方法 Pending CN115917446A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/062199 WO2021219234A1 (en) 2020-05-01 2020-05-01 System and methods for robotic process automation

Publications (1)

Publication Number Publication Date
CN115917446A true CN115917446A (zh) 2023-04-04

Family

ID=70483135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080102052.3A Pending CN115917446A (zh) 2020-05-01 2020-05-01 用于机器人过程自动化的系统和方法

Country Status (9)

Country Link
US (1) US20230169399A1 (zh)
EP (1) EP4143643A1 (zh)
JP (1) JP7540003B2 (zh)
KR (1) KR20230005246A (zh)
CN (1) CN115917446A (zh)
AU (1) AU2020444647A1 (zh)
BR (1) BR112022022260A2 (zh)
CA (1) CA3177469A1 (zh)
WO (1) WO2021219234A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117671459B (zh) * 2024-01-30 2024-06-11 山东远联信息科技有限公司 引导式rpa人工智能深度学习方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3112965A1 (en) 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
US11157855B2 (en) * 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
JP7056289B2 (ja) 2018-03-23 2022-04-19 日本電気株式会社 管理システム、端末装置、管理装置、管理方法、およびプログラム
US11631151B2 (en) * 2018-09-30 2023-04-18 Strong Force Tp Portfolio 2022, Llc Intelligent transportation systems
US11822913B2 (en) * 2019-12-20 2023-11-21 UiPath, Inc. Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime

Also Published As

Publication number Publication date
KR20230005246A (ko) 2023-01-09
JP2023529556A (ja) 2023-07-11
JP7540003B2 (ja) 2024-08-26
EP4143643A1 (en) 2023-03-08
BR112022022260A2 (pt) 2023-01-31
WO2021219234A1 (en) 2021-11-04
CA3177469A1 (en) 2021-11-04
US20230169399A1 (en) 2023-06-01
AU2020444647A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
JP7089879B2 (ja) ロボットによるプロセス自動化
US11061661B2 (en) Image based method and system for building object model and application states comparison and graphic-based interoperability with an application
US10067664B2 (en) Method and system for providing prototyping tool, and non-transitory computer-readable recording medium
CN112817790B (zh) 模拟用户行为的方法
WO2017001560A1 (en) Robotic process automation
JP2021018104A (ja) 自動判別処理装置、自動判別処理方法、検査システム、プログラム、および記録媒体
CN104246696A (zh) 基于图像的应用自动化
CN104160370A (zh) 基于图像的应用自动化
CN115658523A (zh) 一种人机交互界面的自动控制及测试方法和计算机设备
WO2022159356A1 (en) Electronic product testing systems for providing automated product testing with human-in-the loop component and/or object detection
Jaganeshwari et al. an Automated Testing Tool Based on Graphical User Interface With Exploratory Behavioural Analysis
JP7540003B2 (ja) Rpaロボットを訓練する方法、装置、コンピュータプログラム、コンピュータ可読媒体
Xue et al. [Retracted] Visual Identification of Mobile App GUI Elements for Automated Robotic Testing
CN114430823A (zh) 软件知识捕捉方法、装置和系统
Kooijmans et al. Interaction debugging: an integral approach to analyze human-robot interaction
Xue et al. Learning‐Replay Based Automated Robotic Testing for Mobile App
CN110604918B (zh) 界面元素调整方法与装置、存储介质、电子设备
Poirier et al. Interactive multimodal system characterization in the internet of things context
CN113626309A (zh) 模拟移动终端操作的方法、装置、电子设备及存储介质
Narayana et al. High speed script execution for GUI Automation using Computer Vision.
CN114967927B (zh) 一种基于图像处理的智能手势交互方法
US11748053B2 (en) Device and method for robotic process automation of multiple electronic computing devices
CN113946519B (zh) 一种ui自动化测试的方法
CN117112034A (zh) 驱动控制方法、装置、电子设备及计算机存储介质
CN116860128A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40090223

Country of ref document: HK