CN114008609A - 使用截屏图像进行序列提取 - Google Patents

使用截屏图像进行序列提取 Download PDF

Info

Publication number
CN114008609A
CN114008609A CN202080044412.9A CN202080044412A CN114008609A CN 114008609 A CN114008609 A CN 114008609A CN 202080044412 A CN202080044412 A CN 202080044412A CN 114008609 A CN114008609 A CN 114008609A
Authority
CN
China
Prior art keywords
cluster
screen
clusters
sequence
actions
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
CN202080044412.9A
Other languages
English (en)
Inventor
C·伯格
S·F·蒂斯法尼
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 CN114008609A publication Critical patent/CN114008609A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19107Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

公开了用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的系统和方法。该系统和方法包括:使用处理器来捕获由用户对应用执行的步骤的多个截屏;将截屏存储在存储器中;通过将动作随机聚类成任意预定义数目的群集,来从所捕获的截屏中确定动作群集,其中相同动作的不同变型的截屏在群集中被标记;从群集中提取序列,并且从群集中丢弃屏幕上的后续事件;以及基于所提取的序列来生成自动化工作流。

Description

使用截屏图像进行序列提取
相关申请的交叉引用
本申请要求于2019年10月2日提交的美国申请第16/591,161号的权益,其内容通过引用被并入本文中。
背景技术
为了标识候选过程并提取动作序列,现有技术结合关于用户界面(UI)元素的信息来利用关于用户动作(诸如,用户点击或击键)的通用信息。从UI元素收集的信息的问题在于,它可能因不同平台而异,并且可能包含噪声,因为UI元素依赖于应用级配置。
因此,致力于利用机器人过程自动化(RPA)来自动化其过程的企业在标识可以自动化且最终以高专业服务费和/或低ROI结束的候选过程上努力。
发明内容
公开了用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的系统和方法。该系统和方法涉及自动标识桌面应用上的用于机器人过程自动化(RPA)的候选任务,并且更具体地,涉及用于从用户动作的截屏中标识重复任务的序列提取。该系统和方法包括:使用处理器来捕获由用户对应用执行的步骤的多个截屏;将截屏存储在存储器中;通过将动作随机聚类成任意预定义数目的群集,来从所捕获的截屏中确定动作群集,其中相同动作的不同变型的截屏在群集中被标记;从群集中提取序列,并且从群集中丢弃屏幕上的后续事件;以及基于所提取的序列来生成自动化工作流。
附图说明
通过结合附图以示例方式给出的以下描述,可以得到更详细的理解,其中图中的相同附图标记表示相同元素,并且在附图中:
图1A是机器人过程自动化(RPA)开发、设计、操作或执行的图示;
图1B是RPA开发、设计、操作或执行的另一图示;
图1C是计算系统或环境的图示;
图2示出了候选标识的描述;
图3示出了被聚类以定义模板的一组截屏;
图4示出了屏幕级别的动作序列的流程的图;以及
图5示出了用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的方法。
具体实施方式
对于下面所描述的方法和过程,可以以任何顺序不按序列执行所记载的步骤,并且可以执行未明确描述或示出的子步骤。另外,“耦接”或“可操作地耦接”可以表明对象被链接但在链接对象之间可以具有零个或多个中间对象。而且,在一个或多个实施例中可以使用所公开的特征/元素的任何组合。当使用提及“A或B”时,它可以包括A、B、或者A和B,它们可以类似地被扩展为更长列表。当使用符号X/Y时,它可以包括X或Y。备选地,当使用符号X/Y时,它可以包括X和Y。X/Y符号可以类似地被扩展为具有相同解释逻辑的更长列表。
该系统和方法涉及自动标识桌面应用上的用于机器人过程自动化(RPA)的候选任务,并且更具体地,涉及用于从用户动作的截屏中标识重复任务的序列提取。公开了用于使用截屏图像进行序列提取以生成机器人过程自动化工作流系统和方法。该系统和方法包括:使用处理器来捕获由用户对应用执行的步骤的多个截屏;将截屏存储在存储器中;通过将动作随机聚类成任意预定义数目的群集,来从所捕获的截屏中确定动作群集,其中相同动作的不同变型的截屏在群集中被标记;从群集中提取序列,并且从群集中丢弃屏幕上的后续事件;以及基于所提取的序列来生成自动化工作流。
图1A是RPA开发、设计、操作或执行100的图示。设计器102(有时被称为工作室、开发平台、开发环境等)可以被配置为生成代码、指令、命令等以供机器人执行一个或多个工作流或使该一个或多个工作流自动化。根据计算系统可以提供给机器人的(多个)选择,机器人可以确定由用户或操作者选择的视觉示出的(多个)区域的代表性数据。作为RPA的一部分,多维的诸如正方形、矩形、圆形、多边形、自由形状等的形状可以用于与计算机视觉(CV)操作或机器学习(ML)模型相关的UI机器人开发和运行时。
可以由工作流完成的操作的非限制性示例可以是以下一项或多项:执行登录、填写表单、信息技术(IT)管理等。为了运行UI自动化的工作流,机器人可能需要唯一地标识特定屏幕元素,诸如按钮、复选框、文本字段、标签等,而不管应用访问或应用开发如何。应用访问的示例可以是本地、虚拟、远程、云、
Figure BDA0003415829380000031
Figure BDA0003415829380000032
远程桌面、虚拟桌面基础设施(VDI)等。应用开发的示例可以是win32、Java、Flash、超文本标记语言(HTML)、HTML5、可扩展标记语言(XML)、JavaScript、C#、C++、Silverlight等。
工作流可以包括但不限于任务序列、流程图、有限状态机(FSM)、全局异常处理程序等。任务序列可以是用于处理一个或多个应用或窗口之间的线性任务的线性过程。流程图可以被配置为处理复杂的业务逻辑,以使得能够通过多个分支逻辑运算符以更多样化的方式实现决策的集成和活动的连接。FSM可以被配置用于大型工作流。FSM可以在它们的执行中使用有限数目的状态,这些状态可以由条件、转变、活动等触发。全局异常处理程序可以被配置为在遇到执行错误时确定工作流行为,被配置用于、调试过程,等等。
机器人可以是应用、小应用、脚本等,其可以使对底层操作系统(OS)或硬件透明的UI自动化。在部署时,一个或多个机器人可以由指挥器104(有时被称为协调者)管理、控制等。指挥器104可以指示或命令(多个)机器人或自动化执行器106在大型机、Web、虚拟机、远程机器、虚拟桌面、企业平台、(多个)桌面应用、浏览器等客户端、应用或程序中执行或监测工作流。指挥器104可以用作中心点或半中心点以指示或命令多个机器人使计算平台自动化。
在某些配置中,指挥器104可以被配置用于设置、部署、配置、排队、监测、日志记录和/或提供互连。设置可以包括创建和维护(多个)机器人或自动化执行器106与指挥器104之间的连接或通信。部署可以包括确保将分组版本交付给所分配的机器人以供执行。配置可以包括机器人环境和过程配置的维护和交付。排队可以包括提供对队列和队列项目的管理。监测可以包括跟踪机器人标识数据和维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,SQL数据库)和/或其他存储机制(例如,提供存储和快速查询大型数据集的能力的
Figure BDA0003415829380000041
)。指挥器104可以通过用作第三方解决方案和/或应用的集中式通信点来提供互连性。
(多个)机器人或自动化执行器106可以被配置为无人值守108或有人值守110。对于无人值守108操作,可以在没有第三方输入或控制的帮助的情况下执行自动化。对于有人值守110操作,可以通过从第三方组件接收输入、命令、指令、指导等来执行自动化。
(多个)机器人或自动化执行器106可以是运行设计器102中所构建的工作流的执行代理。用于UI或软件自动化的(多个)机器人的商业示例是UiPath RobotsTM。在一些实施例中,(多个)机器人或自动化执行器106可以默认安装Microsoft
Figure BDA0003415829380000042
服务控制管理器(SCM)管理的服务。因此,这样的机器人可以在本地系统帐户下打开交互式
Figure BDA0003415829380000043
会话,并且具有
Figure BDA0003415829380000044
服务的权限。
在一些实施例中,(多个)机器人或自动化执行器106可以在用户模式下安装。这些机器人可以与安装给定机器人的用户具有相同的权限。该特征也可以可用于高密度(HD)机器人,这确保了诸如在HD环境中以最高性能充分利用每个机器。
在某些配置中,(多个)机器人或自动化执行器106可以被拆分、分布等成若干组件,每个组件专用于特定自动化任务或活动。机器人组件可以包括SCM管理的机器人服务、用户模式机器人服务、执行器、代理、命令行等。SCM管理的机器人服务可以管理或监测
Figure BDA0003415829380000051
会话并用作指挥器104与执行主机(即,(多个)机器人或自动化执行器106在其上执行的计算系统)之间的代理。这些服务可以被信任并管理(多个)机器人或自动化执行器106的凭证。
用户模式机器人服务可以管理和监测
Figure BDA0003415829380000052
会话并用作指挥器104与执行主机之间的代理。用户模式机器人服务可以被信任并管理机器人130的凭证。如果没有安装SCM管理的机器人服务,则
Figure BDA0003415829380000053
应用可以自动启动。
执行器可以在
Figure BDA0003415829380000054
会话下运行给定作业(即,它们可以执行工作流)。执行器可以知道每个显示器的每英寸点数(DPI)设置。代理可以是在系统托盘窗口中显示可用作业的
Figure BDA0003415829380000055
Presentation Foundation(WPF)应用。代理可以是服务的客户端。代理可以请求启动或停止作业以及改变设置。命令行可以是服务的客户端。命令行是控制台应用,其可以请求启动作业并等待其输出。
在其中(多个)机器人或自动化执行器106的组件如上面所解释的那样拆分的配置中,帮助开发者、支持用户和计算系统更容易地运行、标识和跟踪每个组件的执行。可以通过这种方式针对每个组件配置特殊行为,诸如为执行器和服务设置不同防火墙规则。在一些实施例中,执行器可以知道每个监测器的DPI设置。因此,工作流可以在任何DPI处执行,而不管在其上创建它们的计算系统的配置如何。来自设计器102的项目也可以独立于浏览器缩放级别。在一些实施例中,对于不知道DPI或有意标记为不知道的应用,可以禁用DPI。
图1B是RPA开发、设计、操作或执行120的另一图示。工作室组件或模块122可以被配置为生成代码、指令、命令等以供机器人执行一个或多个活动124。可以由客户端上的机器人使用一个或多个驱动器组件128来执行用户界面(UI)自动化126。机器人可以使用计算机视觉(CV)活动模块或引擎130来执行活动。其他驱动器132可以用于由机器人进行的UI自动化以获取UI元素。它们可以包括OS驱动程序、浏览器驱动程序、虚拟机驱动程序、企业驱动程序等。在某些配置中,CV活动模块或引擎130可以是用于UI自动化的驱动程序。
图1C是计算系统或环境140的图示,计算系统或环境140可以包括总线142或用于传送信息或数据的其他通信机制、以及耦接到总线142以进行处理的一个或多个处理器144。一个或多个处理器144可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、多核处理单元、三维处理器、量子计算设备或其任何组合。一个或多个处理器144还可以具有多个处理核,并且核中的至少一些核可以被配置为执行特定功能。也可以配置多并行处理。另外,至少一个或多个处理器144可以是包括模拟生物神经元的处理元件的神经形态电路。
存储器146可以被配置为存储要由(多个)处理器144执行或处理的信息、指令、命令或数据。存储器146可以包括以下各项的任何组合:随机存取存储器(RAM)、只读存储器(ROM)、闪存、固态存储器、高速缓存、静态存储(诸如,磁盘或光盘)或任何其他类型的非暂态计算机可读介质或其组合。非暂态计算机可读介质可以是可以由(多个)处理器144访问的任何介质,并且可以包括易失性介质、非易失性介质等。介质也可以是可移除的、不可移除的等。
通信设备148可以被配置为频分多址(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、家庭Node-B(HnB)、Bluetooth、射频识别(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线电(NR)、或者用于经由一根或多根天线进行通信的任何其他无线或有线设备/收发器。天线可以是单一的、阵列的、定相的、开关的、波束成形的、波束控制的等。
一个或多个处理器144还可以经由总线142耦接到显示设备150,诸如等离子、液晶显示器(LCD)、发光二极管(LED)、场发射显示器(FED)、有机发光二极管(OLED)、柔性OLED、柔性基板显示器、投影显示器、4K显示器、高清(HD)显示器、
Figure BDA0003415829380000071
显示器、基于面内切换(IPS)的显示器等。显示设备150可以被配置为使用电阻、电容、表面声波(SAW)电容、红外、光学成像、色散信号技术、声脉冲识别、受抑全内反射或本领域普通技术人员所理解的用于输入/输出(I/O)的其他技术的触摸、三维(3D)触摸、多输入触摸或多触摸显示器。
键盘152和控制设备154(诸如,计算机鼠标、触摸板等)还可以耦接到总线142以用于到计算系统或环境140的输入。另外,可以经由与计算系统或环境140通信的另一计算系统远程地向计算系统或环境140提供输入,或者计算系统或环境140可以自主地操作。
存储器146可以存储在由一个或多个处理器144执行或处理时提供功能的软件组件、模块、引擎等。这可以包括用于计算系统或环境140的OS 156。模块还可以包括用以执行应用特定过程或其衍生物的定制模块158。计算系统或环境140可以包括具有附加功能的一个或多个附加功能模块160。
计算系统或环境140可以被适配或配置为作为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、手机、平板计算设备、量子计算设备、云计算设备、移动设备、固定移动设备、智能显示器、可穿戴计算机等执行。
在本文中所给出的示例中,模块可以被实现为硬件电路,该硬件电路包括定制的超大规模集成(VLSI)电路或门阵列、诸如逻辑芯片等现成半导体、晶体管或其他分立组件。模块还可以在可编程硬件设备中实现,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件、图形处理单元等。
模块可以至少部分以软件实现以供各种类型的处理器执行。所标识的可执行代码单元可以包括一个或多个物理或逻辑计算机指令块,该物理或逻辑计算机指令块可以例如被组织为对象、过程、例程、子例程或功能。共同定位或存储在不同位置中的所标识的模块的可执行文件在逻辑上连结在一起时包括该模块。
可执行代码模块可以是分布在若干不同代码段上、在不同程序之间、跨若干存储器设备等的单个指令、一个或多个数据结构、一个或多个数据集、多个指令等。操作或功能数据在本文中可以在模块内被标识和说明,并且可以以合适的形式具体实施并组织在任何合适类型的数据结构内。
在本文中给出的示例中,计算机程序可以以硬件、软件或混合实施方式来配置。计算机程序可以由彼此有效通信并传递信息或指令的模块组成。
在所包括的实施例中,用户动作的截屏用于提取重复动作的序列。序列提取可以使用动作聚类来进行。动作聚类被配置为标记与相同动作的不同变型有关的截屏。可以使用基于截屏的方法对动作进行无监督聚类。
所公开的实施例涉及自动标识桌面应用上的用于RPA的候选任务。可以使用应用于用户动作的截屏的序列提取来提取重复动作的序列,来标识候选任务。序列提取可以包括如下步骤:将动作随机聚类成预定义数目的群集,针对每个群集定义模板,将在模板中使用的特征聚合为样本再次在其中被聚类的稀疏特征空间,并且在将样本统一成群集标签之后引入序列提取方法。模板可以被定义为屏幕独有的该屏幕的布局,尽管理解的是,相似的屏幕遵循该布局。
图2示出了候选标识200的描述。候选标识200标识可以自动化且以高专业服务费和/或低ROI结束的候选过程。候选标识200包括:聚类动作210,诸如用户动作和UI元素;从经聚类的动作210中提取序列220;以及基于所提取的序列220来理解过程230,以便标识用于自动化的候选过程同时最小化专业费用并改进ROI。候选标识200包括动作聚类或聚类动作210,其中多个截屏被聚类以用于定义公共模板。聚类动作210可以包括模板、自适应参数调谐、随机采样、聚类细节和新颖性,如在下面将更详细描述的。候选标识200包括序列提取或提取序列220,序列提取或提取序列220从群集中标识任务的执行序列。提取序列220可以包括前向链路估计、图表示和动作聚类,如下文将更详细描述的。候选标识200包括理解过程230,诸如用于RPA的候选过程标识。
聚类动作210利用从截屏中提取的光学字符识别(OCR)数据。在示例性实施方式中,OCR引擎被用于从截屏中提取词和位置数据对。使用截屏上的词集和对应(标准化)坐标,实现了一种自适应的基于粒子的方法,该方法迭代地提取用于聚类的稀疏特征集。聚类动作210可以被随机地聚类成任意预定义数目的群集(群集数目>0)。
聚类动作210迭代地利用基于中心的聚类范例。对于每个群集,定义了中心。在该上下文中,中心被称为模板。模板被定义为屏幕独有的该屏幕的布局,尽管理解的是,相似的屏幕遵循该布局。使用该假定,聚类动作210针对每个群集确定模板。在模板中使用的特征的聚合然后被用作样本再次在其中被聚类的稀疏特征空间,如等式1中所示,给定一组N个截屏S:
S={S1,S2,...,SN}. 等式1。
在每个截屏si中,OCR引擎查找在图像上具有对应位置的mi个词。为了简单起见,每个位置根据屏幕分辨率而被标准化,并且转换为(area,centerx,centery)格式。在等式2中,在截图si中看到的第j词被示出为wij,其对应位置为lij
Figure BDA0003415829380000091
假定聚类π:S→C,其中C={c1,c2,...,cK}是K个群集标签的集合,如果π(Si)=cK,则截屏si在群集ck中。可以基于群集中的频繁词和位置来创建模板。可以使用频率阈值方法针对每个群集计算频繁出现词的列表(W)。可以基于频率阈值针对每个群集计算频繁出现位置的列表(L)。在该频率测量中,如果交叉区域覆盖联合区域的90%以上,则两个位置是相似的。如会理解的,W和L可以分开计算。
使用W和L,通过生成频率矩阵F来计算每个词或位置(或者,这两者)在样本群集中出现的次数。考虑非频繁词或位置发生的情况,元素
Figure BDA0003415829380000102
被添加到W和L。频率矩阵具有一个额外的行和列(F|W|+1,|L|+1,)。在该表示中,Fi,j示出了W中的第i词已出现在L中的第j位置处的次数,这是通过查看群集的截屏生成的。此外,F(|w|,j)指示非频繁词出现在第j频繁位置的次数。当截屏的数据输入位置的各种数据出现在相同位置中时,非频繁词可能出现在第j频繁位置。
为了构建模板,选择频繁出现的词和位置的集合(频率大于每一列中的最大观察频率的70%,不包括最后一行和最后一列)。对于最后一行和最后一列,分别使用它们的最大值的70%阈值。如会理解的,也可以使用其他阈值,包括例如60%、80%和在60-80%之间递增地查找到的阈值。可以想象使用0到100%之间的任何阈值,尽管只有高于50%左右的阈值在本申请中是最有用的。
模板包括词和位置的组合,说明页面的静态部分、以及具有各种数据的位置,这些数据是在各种位置出现的占位符和频繁词。图3示出了被聚类以定义模板的一组截屏300。
在用于聚类动作210的迭代期间可以采用自适应参数调谐。上述模板可以用于评估经聚类的样本并调谐聚类参数以用于未来迭代。为了基于与第k群集ck相对应的模板tk来评估群集,基于等式3来测量群集中模板元素与非模板元素的百分比:
Figure BDA0003415829380000101
在该得分中,
Figure BDA0003415829380000112
是非频繁词和位置的数目。该得分给出了截屏内容与当前群集中的截屏内容相似的程度的估计。
不同应用的截屏导致理想聚类中的不同模板得分。这表明截屏在所需要的聚类粒度上有所不同。因此,模板的方差得分var(score(tk))(其中
Figure BDA0003415829380000111
)用于触发群集数目的改变,其可以基于模板得分的平均值而增加或减少。
可以在聚类动作210中使用随机采样以确保稳健的群集并用于可扩展性提议。使用了与传统粒子群优化相似的重采样方法。即,聚类是在数据集的小随机样本上进行的,并且在每次迭代中,加权重采样可以选择先前样本的R%,并且(1-R)%从主数据集中被随机采样。为了鼓励多样化的样本,每次从数据集中抽取样本时,其权重可以减少一半,或者减少一些其他量,以便减少重复样本并增加样本的多样性。
在聚类动作210的每次迭代中,针对每个群集提取模板。然后每个样本被表示为二进制特征向量,指示任何模板项的存在。之后,使用小批量k-means方法来对特征向量进行聚类。在迭代结束时或在给定迭代结束时,使用最终模板集来生成用于聚类的截屏的稀疏表示。
该聚类动作210分别在每个应用的截屏上执行,并且数据针对每个应用基于各种粒度被聚类。序列提取220可以依赖于语义动作210的适当聚类。该基于粒子的聚类方法学习屏幕的稀疏表示并根据需要调谐聚类粒度,诸如通过处理整个数据集的小子集以生成基于OCR的特征。
在将样本统一成由聚类动作210产生的群集标签之后,可以执行序列提取220。最初,通过丢弃相同屏幕上的后续事件来清理数据集。丢弃有助于专注于屏幕级序列提取220。所丢弃的数据可以在后续细节序列提取220中使用。
为了提取序列220,可以通过利用前向链路预测模块来评估每个后续事件之间的关系。前向链路预测模块可以个体地考虑每个事件并提前预测以确定哪些未来事件被链接到所考虑的事件。这样做时,每个事件可以表示为其截屏、在动作聚类210中收集的OCR词和位置、以及截屏群集标签。前向链路预测模块将链路预测方法应用于与截屏s相对应的事件中的每个事件。为此,将在接下来的t秒内发生的事件列表收集为E(s),如等式4中所定义的:
E(s)={s′,time(s′)-time(s)<t} 等式4。
为了估计E(s)中的任何事件是否被链接到e,使用等式5:
Figure BDA0003415829380000121
其中g(T)是均值为零的高斯函数,T=time(s′)-time(s)。等式中的分母基于不是对应屏幕的频繁部分的词的共现,这可能是两个屏幕被链接的指示。使用等式5提供了以标准化频率在群集的样本上测量的概率。
可以生成动作序列的图。图4中所示的结果图400说明了屏幕级别的动作序列的流程。通过跟踪对边的权重有贡献的样本,图400可以用于解释用户执行的重复任务。在图中,每个节点410对应于在动作聚类210中发现的屏幕类型。图的边420从每个事件指向其在动作聚类中标识的链接事件。每个边420被加权为对应的p(s,s′)值。
图5示出了用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的方法500。方法500包括:在步骤510,使用处理器来捕获由用户对应用执行的步骤的多个截屏。方法500包括:在步骤520,将截屏存储在存储器中。方法500包括:在步骤530,通过将动作随机聚类成任意预定义数目的群集,来从所捕获的截屏中确定动作群集。相同动作的不同变型的截屏可以在群集中被标记。方法500包括:在步骤540,从群集中提取序列,并且从群集中丢弃屏幕上的后续事件。方法500包括:在步骤550,基于所提取的序列来生成自动化工作流。
本实施例通过自动标识重复完成的用户任务来节省时间,保持对共享内容的控制,并且提供增加的效率。
尽管在上面以特定组合描述了特征和元素,但是本领域普通技术人员将理解的是,每个特征或元素可以单独使用或与其他特征和元素以任何组合使用。另外,本文中所描述的方法可以在计算机程序、软件或固件中实现,该计算机程序、软件或固件并入计算机可读介质中以供计算机或处理器执行。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、高速缓冲存储器、半导体存储器设备、磁介质(诸如,内部硬盘和可移动存储器磁盘)、磁光介质和光介质(诸如,CD-ROM磁盘)和数字通用磁盘(DVD)。

Claims (20)

1.一种用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的方法,所述方法包括:
使用处理器来捕获由用户对应用执行的步骤的多个截屏;
将所述截屏存储在存储器中;
通过将动作随机聚类成任意预定义数目的群集,来从所捕获的所述截屏中确定动作群集,其中相同动作的不同变型的截屏在所述群集中被标记;
从所述群集中提取序列,并且从所述群集中丢弃所述屏幕上的后续事件;以及
基于所提取的所述序列来生成自动化工作流。
2.根据权利要求1所述的方法,其中所述捕获包括:模板化以查找多个词和针对所述多个词中的每个词的对应位置,以在形成模板时进行聚类。
3.根据权利要求2所述的方法,其中所述模板化利用阈值指示所述多个词。
4.根据权利要求3所述的方法,其中所述阈值包括:大约70%。
5.根据权利要求1所述的方法,其中所述捕获包括:自适应参数调谐以迭代所述模板并针对后续迭代调谐所述捕获。
6.根据权利要求1所述的方法,其中所述捕获包括:利用粒子群优化的随机采样。
7.根据权利要求1所述的方法,其中所述捕获包括:对包含二进制特征向量的细节进行聚类,所述二进制特征向量指示模板项的存在。
8.根据权利要求1所述的方法,其中所述捕获包括:通过学习屏幕的稀疏表示并调谐群集粒度的新颖性。
9.根据权利要求1所述的方法,其中所述提取包括前向链路估计,所述前向链路估计利用前向链路预测模块来考虑每个事件并将未来事件与每个事件链接。
10.根据权利要求1所述的方法,其中所述提取包括图形表示,其中每个图节点与在所述聚类时发现的屏幕类型相对应。
11.根据权利要求10所述的方法,其中所述图的边表示每个事件和与事件链接的事件。
12.根据权利要求1所述的方法,其中所述聚类利用光学字符识别(OCR)数据来提取词和位置对。
13.一种用于使用截屏图像进行序列提取以生成机器人过程自动化工作流的系统,所述系统包括:
处理器,被配置为捕获由用户对应用执行的步骤的多个截屏;以及
存储器模块,可操作地耦接到所述处理器并被配置为存储所述截屏;
所述处理器还被配置为:
通过将动作随机聚类成任意预定义数目的群集,来从所捕获的所述截屏中确定动作群集,其中相同动作的不同变型的截屏在所述群集中被标记;
从所述群集中提取序列,并且从所述群集中丢弃所述屏幕上的后续事件;以及
基于所提取的所述序列来生成自动化工作流。
14.根据权利要求13所述的系统,其中所述捕获包括:模板化以查找多个词和针对所述多个词中的每个词的对应位置,以在形成模板时进行聚类。
15.根据权利要求13所述的系统,其中所述捕获包括:自适应参数调谐以迭代所述模板并针对后续迭代调谐所述捕获。
16.根据权利要求13所述的系统,其中所述捕获包括:对包含二进制特征向量的细节进行聚类,所述二进制特征向量指示模板项的存在。
17.根据权利要求13所述的系统,其中所述捕获包括:通过学习屏幕的稀疏表示并调谐群集粒度的新颖性。
18.根据权利要求13所述的系统,其中所述提取包括前向链路估计,所述前向链路估计利用前向链路预测模块来考虑每个事件并将未来事件与所述每个事件链接。
19.根据权利要求13所述的系统,其中所述提取包括图形表示,其中每个图节点与在所述聚类时发现的屏幕类型相对应。
20.一种非暂态计算机可读介质,包括记录在所述非暂态计算机可读介质上并能够由处理器运行的计算机程序产品,所述计算机程序产品包括用于通过实现如下步骤的使用截屏图像进行序列提取以生成机器人过程自动化工作流的程序代码指令,所述步骤包括:
使用处理器来捕获由用户对应用执行的步骤的多个截屏;
将所述截屏存储在存储器中;
通过将动作随机聚类成任意预定义数目的群集,来从所捕获的所述截屏中确定动作群集,其中相同动作的不同变型的截屏在所述群集中被标记;
从所述群集中提取序列,并且从所述群集中丢弃所述屏幕上的后续事件;以及
基于所提取的所述序列来生成自动化工作流。
CN202080044412.9A 2019-10-02 2020-09-30 使用截屏图像进行序列提取 Pending CN114008609A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/591,161 2019-10-02
US16/591,161 US11507772B2 (en) 2019-10-02 2019-10-02 Sequence extraction using screenshot images
PCT/US2020/053556 WO2021067443A1 (en) 2019-10-02 2020-09-30 Sequence extraction using screenshot images

Publications (1)

Publication Number Publication Date
CN114008609A true CN114008609A (zh) 2022-02-01

Family

ID=75275185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080044412.9A Pending CN114008609A (zh) 2019-10-02 2020-09-30 使用截屏图像进行序列提取

Country Status (6)

Country Link
US (1) US11507772B2 (zh)
EP (1) EP3948442A4 (zh)
JP (1) JP2022549979A (zh)
KR (1) KR20220074822A (zh)
CN (1) CN114008609A (zh)
WO (1) WO2021067443A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221866B (zh) * 2021-04-30 2022-11-15 东方蓝天钛金科技有限公司 一种基于图像识别的设备数据采集系统及方法
US20220358442A1 (en) * 2021-05-04 2022-11-10 Olme.Us Llc Systems, and methods for data collection analysis
US11809883B2 (en) * 2021-07-08 2023-11-07 UiPath, Inc. Image pattern matching to robotic process automations
US20230185586A1 (en) * 2021-12-14 2023-06-15 Sap Se Batch processing during bot runtime

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184410A1 (en) 2003-12-30 2006-08-17 Shankar Ramamurthy System and method for capture of user actions and use of capture data in business processes
US8175394B2 (en) * 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
US20100106551A1 (en) 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
CN101707011B (zh) * 2009-10-21 2011-05-11 南京邮电大学 一种基于对等主体的网络课堂实时与非实时监管方法
US20130055268A1 (en) 2011-08-31 2013-02-28 International Business Machines Corporation Automated web task procedures based on an analysis of actions in web browsing history logs
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
US10796084B2 (en) * 2016-01-29 2020-10-06 Intuit Inc. Methods, systems, and articles of manufacture for automatic fill or completion for application software and software services
US10365799B2 (en) 2016-02-09 2019-07-30 Wipro Limited System and methods for creating on-demand robotic process automation
US10339027B2 (en) 2016-09-06 2019-07-02 Accenture Global Solutions Limited Automation identification diagnostic tool
US10831450B2 (en) 2016-10-26 2020-11-10 Soroco Private Limited Systems and methods for discovering automatable tasks
US9805306B1 (en) 2016-11-23 2017-10-31 Accenture Global Solutions Limited Cognitive robotics analyzer
US20180157386A1 (en) * 2016-12-05 2018-06-07 Jiawen Su System and Method for detection, exploration, and interaction of graphic application interface
US10552779B2 (en) * 2017-10-27 2020-02-04 International Business Machines Corporation Cognitive learning workflow execution
US10981272B1 (en) * 2017-12-18 2021-04-20 X Development Llc Robot grasp learning
CN110716852B (zh) * 2018-07-12 2023-06-23 伊姆西Ip控股有限责任公司 用于生成自动化测试脚本的系统、方法和介质
US10710239B2 (en) * 2018-11-08 2020-07-14 Bank Of America Corporation Intelligent control code update for robotic process automation
US11281936B2 (en) * 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor

Also Published As

Publication number Publication date
US20210103767A1 (en) 2021-04-08
EP3948442A4 (en) 2022-12-14
US11507772B2 (en) 2022-11-22
WO2021067443A1 (en) 2021-04-08
EP3948442A1 (en) 2022-02-09
JP2022549979A (ja) 2022-11-30
KR20220074822A (ko) 2022-06-03

Similar Documents

Publication Publication Date Title
US11648686B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
EP3839725A1 (en) Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime
US11433536B2 (en) Process understanding for robotic process automation (RPA) using sequence extraction
US11836626B2 (en) Artificial intelligence layer-based process extraction for robotic process automation
JP2022552133A (ja) 畳み込みニューラルネットワークを使用したロボティック・プロセス・オートメーションにおけるユーザーインターフェース要素の検出
US11507772B2 (en) Sequence extraction using screenshot images
CN116324831A (zh) 经由人工智能/机器学习的机器人过程自动化异常检测和自我修复
US20210294851A1 (en) System and method for data augmentation for document understanding
JP2023545644A (ja) 人工知能/機械学習モデルを使用したインタラクションのシーケンス決定、プロセス抽出、およびロボット生成
CN116070712A (zh) 使用针对机器人流程自动化的长运行工作流的构建和管理人工智能流
KR102502324B1 (ko) 로봇 프로세스 자동화를 위한 머신 학습 모델 재훈련 파이프라인
EP3809347A1 (en) Media-to-workflow generation using artificial intelligence (ai)
CN114556387A (zh) 针对机器人过程自动化工作流的可重新配置工作台流水线
CN115700587A (zh) 基于机器学习的实体识别
CN118057367A (zh) 在浏览器内的目标应用的自动增强
CN117950649A (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