通过机器人过程自动化跨计算环境进行任务和过程挖掘的制作方法


通过机器人过程自动化跨计算环境进行任务和过程挖掘
1.相关申请的交叉引用
2.本技术要求于2021年4月13日提交的美国申请第17/229,085号的权益;其内容通过引用并入本文。


背景技术:



3.本文中的公开内容涉及机器人过程自动化(rpa)领域,并且具体地涉及通过rpa跨计算环境进行任务和过程挖掘。
4.常规的操作系统和软件系统可以提供数据挖掘和过程挖掘。数据挖掘包括用于发现大型数据集中的模式的计算机科学和统计技术。过程挖掘包括用于基于事件日志来分析操作过程的数据科学和过程管理技术。数据和过程挖掘的目标可以是支持将常规操作系统和软件系统内的事件转化为洞察力和/或行动。
5.然而,常规的操作和软件系统目前还没有办法跨不同和分离的操作和软件系统为数据和过程挖掘提供自动化体验。因此,需要将自动化集成到数据和过程挖掘中。


技术实现要素:



6.根据一个或多个实施例,提供了一种由任务挖掘引擎实现的方法。任务挖掘引擎作为处理器可执行代码被存储在存储器上。处理器可执行代码由通信耦合到存储器的至少一个处理器执行。该方法包括接收标识与计算环境相关的用户活动的一个或多个记录任务并且通过对每个所记录的用户任务进行处理和评分来将一个或多个所记录的用户任务聚类成一个或多个步骤。该方法还包括提取标识一个或多个步骤的相似组合或重复组合的一个或多个步骤序列以模仿用户活动。
7.根据一个或多个实施例,上述计算设备实施例可以被实现为方法、装置、系统和/或计算机程序产品。
附图说明
8.根据结合附图以示例方式给出的以下描述可以得到更详细的理解,其中图中相同的附图标记表示相同的元素,并且在附图中:
9.图1描绘了根据一个或多个实施例的说明机器人过程自动化(rpa)的开发、设计、操作和/或执行的环境;
10.图2是根据一个或多个实施例的计算系统的图示;
11.图3是图示根据一个或多个实施例的在计算环境内所执行的方法的框图;
12.图4是根据一个或多个实施例的计算环境的图示;
13.图5是图示根据一个或多个实施例的在计算环境内执行的方法的框图。
具体实施方式
14.本文中公开的是根据一个或多个实施例的任务挖掘引擎。任务挖掘引擎包括将机
器人过程自动化(rpa)集成到计算环境中的软件和/或硬件。更具体地,任务挖掘引擎通过跨计算环境的计算/软件/硬件系统的rpa来实现任务和过程挖掘。
15.一般而言,任务挖掘引擎使用人工智能来监测、评估和自动化用户活动。用户活动可以被认为是由用户执行的步骤、动作和/或任务。在这点上,人工智能寻求标识和分析(例如,监测和评估)用户在计算环境内采取的任何个体步骤(和/或其中的任务和动作)的开始和结束,而不管哪个和多少计算/软件/硬件系统参与。然后,步骤/动作/任务通过排序被自动化以生成代码(例如,机器人/rpa/脚本),该代码执行用户监测和评估活动。
16.在更细粒度的级别上,监测可以被认为是数据阶段或输入阶段,其中人工智能旨在捕获用户执行的步骤、动作和/或任务。进而,人工智能实时记录数据,接收/获取记录的数据集,或利用其组合以执行该捕获。
17.评估可以是实现对用户动作的理解的任务挖掘引擎的主要阶段。部分地,这个主要阶段包括聚类(例如,将任务/动作分类为步骤并且将步骤聚类)以确定自动化是否“有意义”。即,聚类可以包括将个人的任务和/或动作以某种有意义的方式归类在一起以产生簇的方法,诸如步骤。在另一部分中,该主要阶段包括从簇中提取(例如,簇内和簇间的序列提取)以确定一个或多个序列。以这种方式,人工智能采用以一些有意义的方式组合在一起的个体动作/任务,并且标识有意义的动作/任务序列。此外,人工智能采取个体步骤并且标识有意义的步骤序列。
18.自动化可以被认为是其中人工智能旨在生成代码(例如,机器人/rpa/脚本)的输出阶段。机器人/rpa/脚本是可以自动且独立操作的有形结果。
19.任务挖掘引擎可以通过硬件和软件(例如,必须植根于硬件的处理器可执行代码)的组合在计算环境中被实现。任务挖掘引擎在实现时可以针对操纵输入数据、机器人过程等的rpa挖掘技术提供特定配置和工具化机器人过程自动化方法。
20.在示例实现中,由任务挖掘引擎进行的特定配置和工具化机器人过程自动化方法(“该方法”)的实施例包括接收标识与计算环境相关的用户活动的一个或多个所记录的任务。该方法包括通过对每个所记录的用户任务进行处理和评分来将一个或多个所记录的用户任务聚类成一个或多个步骤。该方法包括提取一个或多个步骤序列和/或一个或多个任务序列以模仿用户活动。该方法还包括基于一个或多个步骤序列(例如,和/或一个或多个任务序列)输出自动化代码,该自动化代码在被执行时自动执行用户活动。因此,任务挖掘引擎的特定配置和工具化机器人过程自动化方法涉及与计算环境相关联的数据(例如,所捕获的步骤、动作和/或任务)、机器人过程、接口组件和配置的多步骤数据操作。任务挖掘引擎的技术效果和益处包括经由本文中详述的集成向用户提供自动化经验。
21.图1描绘了说明根据一个或多个实施例的机器人过程自动化(rpa)的开发、设计、操作和/或执行的环境100(例如,计算环境)。环境100可以是包括一个或多个组件的设计和部署计算平台。注意,虽然针对环境100的一个或多个组件中的每个示出了单个框,但该单个框代表该组件中的一个或多个组件。
22.如图所示,环境100可以包括设计器110,该设计器110还包括任务挖掘引擎111。任务挖掘引擎111可以包括工作室组件或模块120,工作室组件或模块120产生一个或多个机器人(例如,机器人122),该机器人使用一个或多个驱动128和/或内部引擎129执行一个或多个活动124和/或提供一个或多个用户界面(ui)自动化126。机器人122还可以与设计器
110内的其他驱动组件131和模块132结合。此外,环境100可以包括指引器140和执行器170,它们可以下载/获取/发送机器人122,使得机器人122可以在环境100中被提供作为执行器170的无人值守机器人174和有人值守机器人178。
23.设计器110、指引器140和执行器170代表计算设备、计算装置和/或计算系统,其包括硬件、软件或其组合。设计器110、指引器140和执行器170以及其上的任何软件(例如,任务挖掘引擎111)被配置为与用户或操作者交互以接收输入并且提供输出。在示例中,执行器170可以是或实现移动计算和/或移动设备环境。
24.根据一个或多个实施例,设计器110可以被称为工作室平台、开发平台和/或在线平台。设计器110可以包括一个或多个引擎(例如,任务挖掘引擎111)、开发环境(例如,工作室120)等,并且可以被配置为针对机器人(例如,一个或多个机器人122、无人值守机器人174和有人值守机器人178)生成代码、指令、命令等以执行或自动化一个或多个工作流(例如,一个或多个活动124和/或提供一个或多个ui自动化126).
25.任务挖掘引擎111通常是实现机器人过程自动化的软件和/或硬件,诸如本文中描述的特定配置和工具化机器人过程自动化方法。在这点上,任务挖掘引擎111被详细描述为虚线框以说明环境100内的任务挖掘引擎111的可扩展性和可移植性。例如,任务挖掘引擎可以被实现为遍及环境100的分离实例,如任务挖掘引擎181和191所示。
26.通常,任务挖掘引擎111在其中实现机器学习和/或人工智能算法。机器学习和/或人工智能算法使用数据(例如,用户操作)关于硬件操作以训练机器、构建模型和预测结果。根据一个或多个实施例,数据可以是正在进行的记录数据、当前收集的数据、历史数据或其他数据。该机器作为与硬件相关联的控制器操作,并且训练以包括所收集的数据的分析和关联。该模型通过物理硬件和/或软件建模、算法建模等被建立在数据上,使得数据(或其子集)被表示和处理。在某些方面,模型的构建是机器自我训练操作的一部分。该模型可以被配置为对硬件的操作和/或数据进行建模以预测可以由硬件实现的结果。因此,对于任务挖掘引擎111使用数据关于硬件操作以训练机器、构建模型和预测结果440,其中的机器学习和/或人工智能算法可以包括神经网络。一般来说,神经网络是神经元的网络或回路,或者现代意义上的人工神经网络(ann),其由人工神经元或节点或细胞(cell)组成。
27.例如,ann涉及处理元件(人工神经元)的网络,该网络可以表现出复杂的全局行为,由处理元件与元件参数之间的连接确定。网络或神经元电路的这些连接被建模为权重。正权重反映兴奋性连接,而负值表示抑制性连接。输入由权重修改并且使用线性组合被求和。激活函数可以控制输出的幅度。例如,可接受输出范围通常在0到1之间,也可以在-1到1之间。在大多数情况下,ann是一种自适应系统,它基于流经网络的外部或内部信息改变其结构。
28.在更实际的术语中,神经网络是非线性统计数据建模或决策制定工具,该工具可以被用于对输入与输出之间的复杂关系进行建模或到数据中的模式。因此,ann可以用于预测建模和自适应控制应用,同时经由数据集进行训练。注意,从经验中产生的自学习可以发生在ann内,它可以从一组复杂并且看似无关的信息中得出结论。人工神经网络模型的效用在于它们可以用来从观察中推断出函数,并且也可以使用它。无监督神经网络也可以被用于学习捕获输入分布的显著特性的输入的表示、以及最近的深度学习算法,该算法可以隐式地学习所观察的数据的分布函数。神经网络中的学习在其中数据的复杂性(例如,用户
操作)或由此产生的任务/步骤/序列/工作流使得手动设计这样的功能不切实际的应用中特别有用。
29.神经网络可以被用于不同领域。因此,对于任务挖掘引擎111,其中的机器学习和/或人工智能算法可以包括通常根据它们所应用于的任务而划分的神经网络。这些划分往往属于以下类别:回归分析(例如,函数逼近),包括时间序列预测和建模;分类,包括模式和序列识别;新颖性检测和顺序决策;数据处理,包括过滤;聚类;盲信号分离和压缩。例如,ann的应用领域包括非线性系统标识和控制(车辆控制、过程控制)、游戏和决策(西洋双陆棋、国际象棋、赛车)、模式识别(雷达系统、人脸识别、物体识别)、序列识别(手势、语音、手写文本识别)、医疗诊断和、金融应用、数据挖掘(或数据库中的知识发现,“kdd”)、可视化和垃圾邮件过滤。
30.根据一个或多个实施例,神经网络可以实现长短期记忆神经网络架构、卷积神经网络(cnn)架构等。神经网络关于多个层、多个连接(例如,编码器/解码器连接)、正则化技术(例如,脱离(dropout))和优化功能可以是可配置的。
31.长短期记忆神经网络架构包括反馈连接并且可以处理单个数据点(例如,诸如图像或屏幕截图)以及整个数据序列(例如,诸如打字、说话和/或应用切换)。长短期记忆神经网络架构的单元可以包括细胞、输入门、输出门和遗忘门,其中细胞在任意时间间隔内记住值,并且门调节信息流进出细胞。
32n架构是具有平移不变性特性的共享权重架构,其中一层中的每个神经元被连接到下一层中的所有神经元。cnn架构的正则化技术可以利用数据中的分层模式,并且使用更小且更简单的模式组合更复杂的模式。如果神经网络实现cnn架构,则该架构的其他可配置方面可以包括每个阶段的多个过滤器、内核大小、每一层的多个内核。
33.此外,根据一个或多个实施例,任务挖掘引擎111可以是在工作室120内自动实现代码和设计机器人122的框架/机制(例如,环境100)的一部分。任务挖掘引擎111还可以使得开发者和/或协调器(例如,用户或操作者)能够编码、编程和/或设计机器人122,诸如通过工作室120。在一个实施例中,工作室120可以提供应用集成、以及第三方应用、管理信息技术(it)任务和/或业务it过程的自动化。
34.机器人122(以及无人值守机器人174和有人值守机器人178)可以是可以执行和/或自动化一个或多个工作流的应用、小程序、脚本等(例如,部分地由一个或多个活动124表示和/或提供一个或多个ui自动化126)。工作流可以包括但不限于任务序列、流程图、有限状态机(fsm)、全局异常处理程序、ui透明等、以及用户执行的任何步骤、动作和/或任务。任务序列可以是用于处理一个或多个应用或窗口之间的线性任务的线性过程。流程图可以被配置为处理复杂的业务逻辑,以通过多个分支逻辑运算符以更多样化的方式实现决策的集成和活动的连接。fsm可以被配置用于大型工作流。fsm可以在它们的执行中使用有限数目的状态,该状态可以由条件、转变、活动等触发。全局异常处理程序可以被配置为在遇到执行错误、调试过程等时确定工作流行为。ui透明可以是对底层操作系统(os)或硬件的软件操作。可以由一个或多个工作流完成的操作的非限制性示例可以是执行登录、填写表单、信息技术(it)管理等中的一项或多项。为了运行ui自动化的工作流,机器人122可能需要唯一地标识特定屏幕元素,诸如按钮、复选框、文本字段、标签等,而不管应用访问或应用开发如何。应用访问的示例可以是本地、虚拟、远程、云、何。应用访问的示例可以是本地、虚拟、远程、云、窗口
远程桌面、虚拟桌面基础设施(vdi)等。应用开发的示例可以是win32、java、flash、超文本标记语言(html)、html5、可扩展标记语言(xml)、javascript、c#、c++、silverlight等。
35.根据一个或多个实施例,在开发时,机器人122可以在设计器110(例如,工作室120)处/由设计器110生产。此外,在部署时,机器人122可以在指引器140(例如,在任务挖掘引擎181内)处/由指引器140管理、控制、配置等。在部署时,机器人122也可以在执行器170内执行。在示例中,用户输入(例如,显示器上的选择)可以由用户或操作者提交给设计器110。从设计器110可以向机器人122提供的选择,机器人122可以确定视觉显示的(例如,由用户或操作者选择)(多个)区域的代表性数据。作为rpa的一部分,多维形状(例如,正方形、矩形、圆形、多边形、自由形状等)可以被利用以与计算机视觉(cv)操作和/或机器学习(ml)模型相关的ui机器人开发和运行时间。
36.根据一个或多个实施例,ui自动化126可以由机器人122使用其中的驱动128来执行,并且任务挖掘引擎111可以使用模块130(例如,cv活动模块或引擎)来执行活动。驱动组件132可以被机器人122用于ui自动化以获取ui的元素。驱动组件132可以包括但不限于os驱动、浏览器驱动、虚拟机驱动、企业驱动等。在某些配置中,模块130可以是用于ui自动化的驱动。此外,机器人122的这些动作中的任何一个动作都可以在客户端上被实现(例如,作为执行器170的无人值守机器人174和有人值守机器人178)。
37.指引器140可以指令或命令机器人122、174和178或执行器170以在大型机、网络、虚拟机、远程机、虚拟桌面、企业平台、在线平台、(多个)桌面app、浏览器或类似客户端、应用或程序中执行或监测工作流。指引器140可以充当中心点或半中心点以指令或命令一个或多个机器人(例如,机器人122、174和178)使计算平台(例如,环境100)自动化。
38.根据一个或多个实施例,指引器140可以被配置用于供应、部署、配置、排队、监测、日志记录和/或提供互连。供应可以包括创建和维护一个或多个机器人、执行器170和指引器140之间的连接或通信。部署可以包括确保将分组版本交付给所分配的机器人用于执行。配置可以包括机器人环境和过程配置的维护和交付。排队可以包括提供队列和队列项目的管理。监测可以包括跟踪机器人标识数据和维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,sql数据库)和/或其他存储机制(例如,提供存储和快速查询大型数据集的能力的指引器104可以通过用作第三方解决方案和/或应用的集中式通信点来提供互连性。
39.根据一个或多个实施例,一个或多个机器人和执行器170可以被配置为无人值守机器人174和/或有人值守机器人178。对于无人值守操作,无人值守机器人174的自动化可以在没有输入或控制的情况下被执行,诸如由第三方控制。对于有人值守操作,有人值守机器人178的自动化可以通过接收输入、命令、指令、指导等来被执行,诸如从第三方组件。无人值守机器人174和/或有人值守机器人178可以在移动计算或移动设备环境中运行或执行。
40.根据一个或多个实施例,一个或多个机器人122和执行器170可以被配置为运行在设计器110中构建的工作流的执行代理。用于ui或软件自动化的(多个)机器人的商业示例是uipath robots
tm
。在一些实施例中,一个或多个机器人122和执行器170可以默认安装微软窗口服务控制管理器(scm)管理的服务。因此,这样的机器人122可以在本地系统帐户下打开交互式窗口会话,并且拥有窗口服务的权限。
41.根据一个或多个实施例,一个或多个机器人122和执行器170可以被安装在用户模式中。例如,一个或多个机器人122可以与安装给定机器人的用户具有相同的权限。这个特征也可以可用于高密度(hd)机器人,以确保诸如在hd环境中以最高性能充分利用每个机器。
42.根据一个或多个实施例,一个或多个机器人122和执行器170可以被拆分、分布等成为若干组件,每个组件专用于特定自动化任务或活动。机器人组件可以包括scm管理的机器人服务、用户模式机器人服务、执行器、代理、命令行等。scm管理的机器人服务可以管理或监测窗口会话并且充当指引器140与执行主机(即,一个或多个机器人在其上执行的计算系统)之间的代理。这些服务可以被信任并且管理一个或多个机器人和执行器170的凭证。用户模式机器人服务可以管理和监测窗口会话并且用作指引器140与执行主机之间的代理。用户模式机器人服务可以被信任并且管理机器人的凭证。如果scm管理的机器人服务未被安装,则窗口应用可以自动被启动。在一个示例中,执行器170可以在windows会话下运行给定作业(例如,它们可以执行本文中描述的工作流)并且可以知道每个显示器的每英寸点数(dpi)设置。代理可以是在系统托盘窗口中显示可用作业的窗口呈现基础(wpf)应用。代理可以是服务的客户端。代理可以请求启动或停止作业以及改变设置。命令行可以是服务的客户端。命令行是控制台应用,其可以请求启动作业并且等待其输出。
43.根据一个或多个实施例,其中一个或多个机器人122和/或执行器170的组件被拆分的配置有助于开发者、支持用户和计算系统更容易地运行、标识和跟踪每个组件的执行。可以通过这种方式为每个组件配置特殊行为,诸如为执行器170和服务设置不同防火墙规则。在一些实施例中,执行器170可以知道每个监测器的dpi设置。因此,工作流可以在任何dpi处被执行,而不管在其上创建它们的计算系统的配置如何。来自设计器110的项目也可以独立于浏览器缩放级别。在一些实施例中,对于不知道dpi或有意标记为不知道的应用,dpi可以被禁用。
44.现在转向图2,示出了根据一个或多个实施例的计算系统200。计算系统200可以代表任何计算设备、计算装置和/或计算环境,其包括硬件、软件或其组合(例如,支持图1的任务挖掘引擎111的硬件)。此外,所公开的计算系统200的实施例可以包括任何可能的技术细节集成级别的装置、系统、方法和/或计算机程序产品。
45.计算系统200具有设备205(例如,图1的设计器110、指引器140和执行器170),设备205具有一个或多个中央处理单元(cpu),该cpu共同地或一般地被称为处理器210。处理器210(也称为处理电路)经由系统总线215被耦合到系统存储器220和各种其他组件。计算系统200和/或设备205可以被适配或配置为作为在线平台、服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(pda)、蜂窝电话、平板计算设备、量子计算设备、云计算设备、移动设备、智能手机、固定移动设备、智能显示器、可穿戴计算机等进行操作。
46.处理器210可以是任何类型的通用或专用处理器,包括中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、控制器、多核处理单元、三维处理器、量子计算设备或其任何组合。处理器210还可以具有多个处理核心,并且至少核心中的一些核心可以被配置为执行特定功能。多并行处理也可以被配置在其中。此外,处理器210可以是包括模拟生物神经元的处理元件的神经形态电路。
47.总线215(代表一种或多种通信机制)被配置用于将信息或数据传送到处理器210、
系统存储器220和各种其他组件,诸如适配器225、226和227。
48.系统存储器220是(非暂态)计算机可读存储介质的示例,其中软件230可以被存储为软件组件、模块、引擎、指令等,以用于由处理器210执行以引起设备205进行操作,诸如本文中参考图3和图5所述。系统存储器220可以包括只读存储器(rom)、随机存取存储器(ram)、内部或外部闪存、嵌入式静态ram(sram)、固态存储器、高速缓存、静态存储(诸如磁盘或光盘)、或任何其他类型的易失性或非易失性存储器的任何组合。非暂态计算机可读存储介质可以是处理器210可以访问的任何介质,并且可以包括易失性介质、非易失性介质等。例如,rom被耦合到系统总线215,并且可以包括基本输入/输出系统(bios),bios控制设备205的某些基本功能,ram是耦合到系统总线215以供处理器210使用的读写存储器。非暂态计算机可读存储介质可以包括可移动、不可移动等的任何介质。
49.结合图1,图2的软件230可以代表接口引擎111和其中的组件,使得存储器220和处理器210可以逻辑地设计/配置/提供机器人122,机器人122还执行一个或多个活动124和/或使用一个或多个驱动程序组件128和/或内部引擎129提供一个或多个用户界面(ui)自动化126。图2的软件230还可以代表用于计算系统200的设备205的操作系统。
50.根据一个或多个实施例,软件230可以以硬件、软件或混合实现被配置。软件230可以包括彼此有效通信并且传递信息或指令的模块。软件230还可以包括用于执行应用特定过程或其衍生物的定制模块,使得计算系统200可以包括附加功能。例如,根据一个或多个实施例,软件230可以被配置为存储将由处理器210执行或处理以启用操作231、232、233和234的信息、指令、命令或数据。
51.例如,被实现为图2的软件230的图1的任务挖掘引擎111可以向计算系统200提供特定配置和工具化机器人过程自动化方法,使得计算系统200可以接收(231)标识与计算环境相关的用户活动的一个或多个所记录的任务,通过对每个所记录的用户任务进行处理和评分来将一个或多个所记录的用户任务聚类(232)成一个或多个步骤,提取(233)一个或多个步骤序列和/或一个或多个任务序列以模仿用户活动,并且基于一个或多个步骤序列(例如,和/或一个或多个任务序列)输出(234)自动化代码,该自动化代码在被执行时自动执行用户活动。
52.此外,软件210的模块可以被实现为硬件电路,该硬件电路包括定制的超大规模集成(vlsi)电路或门阵列、可编程硬件设备中的诸如逻辑芯片、晶体管或其他分立元件等现成半导体(例如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备)、图形处理单元等。软件210的模块可以至少部分以软件实现以用于各种类型的处理器执行。根据一个或多个实施例,所标识的可执行代码单元可以包括计算机指令的一个或多个物理或逻辑块,该计算机指令可以例如被组织为对象、过程、例程、子例程或函数。共同定位或存储在不同位置的所标识的模块的可执行文件当在逻辑上连接在一起时构成该模块。可执行代码的模块可以是分布在若干不同代码段上、不同程序之间、跨若干存储器设备等的单个指令、一个或多个数据结构、一个或多个数据集、多个指令等。操作或功能数据在本文中可以被标识和图示在软件210的模块内,并且可以以合适的形式体现并且组织在任何合适类型的数据结构内。
53.关于图2的适配器225、226和227,设备205可以具体地包括输入/输出(i/o)适配器225、设备适配器226和通信适配器227。根据一个或多个实施例,i/o适配器225可以被配置为小型计算机系统接口(scsi),考虑到频分多址(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)、蓝牙、射频标识(rfid)、红外数据协会(irda)、近场通信(nfc)、第五代(5g)、新无线电(nr)、或者用于通信的任何其他无线或有线设备/收发器。设备适配器226将输入/输出设备互连到系统总线215,诸如显示器241、键盘242、控制设备243等(例如,相机、扬声器等)。通信适配器226将系统总线215与网络250互连,网络250可以是外部网络,从而使得设备205能够与其他这样的设备(例如,诸如通过网络260与本地计算设备255以及远程计算系统256)进行数据通信。在一个实施例中,适配器225、226和227可以被连接到一个或多个i/o总线,该i/o总线经由中间总线桥被连接到系统总线215。用于连接外围设备(诸如硬盘控制器、网络适配器和图形适配器)的合适i/o总线通常包括通用协议,诸如外围组件互连(pci)。
54.显示器241的示例可以包括但不限于等离子体、液晶显示器(lcd)、发光二极管(led)、场发射显示器(fed)、有机发光二极管(oled)显示器、柔性oled显示器、柔性基板显示器、投影显示器、4k显示器、高清(hd)显示器、视网膜显示器、平面切换(ips)显示器等。显示器241可以被配置为使用电阻、电容、表面声波(saw)电容、红外、光学成像、散信号技术、声脉冲识别、受抑全内反射或本领域普通技术人员所理解的用于输入/输出(i/o)的其他技术的触摸、三维(3d)触摸、多输入触摸或多触摸显示器。
55.键盘242和控制设备243(诸如计算机鼠标、触摸板、触摸屏、小键盘等)可以被进一步耦合到系统总线215以用于到设备205的输入。附加地,一个或多个输入可以经由与其通信的另一计算系统(例如,本地计算设备255和/或远程计算系统256)被远程地提供给计算系统200,或者设备205可以自主地操作。
56.根据一个或多个实施例,设备205关于软件210的功能也可以在本地计算设备255和/或远程计算系统256上被实现,如任务挖掘引擎290的单独实例所表示的。
57.现在转向图3,框图示出了根据一个或多个实施例的在计算环境(例如,图1的环境100)内执行的方法300。更具体地,方法300是由任务挖掘引擎191通过rpa跨环境100进行的任务和过程挖掘的示例实现。
58.过程流300开始于框310,其中任务挖掘引擎191接收/监测标识与环境100相关的用户活动(例如,实时记录数据,接收/获取记录的数据集,或利用其组合)的一个或多个所记录的任务。一个或多个所记录的任务可以包括用户在用户活动期间在执行器170处采取的动作。一个或多个所记录的任务还可以包括在用户活动发生时实时(例如,由任务挖掘引擎191从环境100中)记录的非结构化数据。一个或多个所记录的任务可以从外部源接收到执行器170,诸如数据库或储存库。根据一个或多个实施例,任务挖掘引擎191可以利用无人值守机器人174来捕获一个或多个活动124(例如,工作流),作为步骤、动作和/或任务。
59.在框330,任务挖掘引擎191将一个或多个所记录的用户任务聚类成一个或多个步骤。在实施例中,任务挖掘引擎191可以处理和评分每个所记录的用户任务,例如,诸如通过利用基于质心的或k均值聚类算法来聚类一个或多个所记录的用户任务。通常,k均值聚类算法可以包括向量量化方法,该方法将n个观测划分为k个簇,使得每个观测属于具有最近
均值的簇(例如,用作该簇的原型的簇质心)。一种或多种其他聚类算法可以被用来代替k均值聚类算法或与k均值聚类算法结合使用,诸如基于连接的聚类(例如,层次聚类)、基于分布的聚类、基于密度的聚类和基于网格的聚类。
60.在框350,任务挖掘引擎191提取一个或多个步骤序列以模仿用户活动。一个或多个步骤序列标识一个或多个步骤的相似组合或重复组合。任务挖掘引擎191还可以提取一个或多个任务序列。一个或多个任务序列从一个或多个步骤内标识用户活动的自动化。
61.根据一个或多个实施例,通过框330和350的操作,任务挖掘引擎191提供以下技术效果和益处:通过聚类(例如,将任务/动作分类为步骤并且将步骤聚类)来理解用户动作以确定自动化是否“有意义”,并且通过从簇中提取(例如,簇内和簇间的序列提取)来理解用户动作以确定一个或多个序列。以这种方式,任务挖掘引擎191采用已经以某种有意义的方式组合在一起的个体动作/任务,并且标识有意义的动作/任务序列。此外,任务挖掘引擎191可以采取个体步骤并且标识有意义的步骤序列。
62.在框370,任务挖掘引擎191基于一个或多个步骤序列输出自动化代码,该自动化代码在被执行时自动执行用户活动。自动化代码也可以基于一个或多个任务序列。根据一个或多个实施例,自动化代码可以被实现为无人值守机器人174(例如,或任何机器人122)的另一实例以自动并且独立地操作。因此,任务挖掘引擎191经由自动化代码向用户提供自动化体验。
63.图4描绘了说明根据一个或多个实施例的机器人过程自动化(rpa)的开发、设计、操作和/或执行的环境400(例如,计算环境)。通常,环境400说明了其中数据被记录、聚类和挖掘以在输出中产生离散任务的任务挖掘项目。为了简洁和易于解释,没有重新定义类似于图1和图2的组件的环境400的组件。注意,虽然针对环境100的一个或多个组件中的每个组件示出了单个框,但该单个框代表该组件中的一个或多个组件。
64.如图所示,环境100可以包括连接到局域网(lan)407的一个或多个设备405和406(例如,图1的执行器170或图2的设备205),该lan 407进一步连接到广域网(wan)408(例如,图2的网络250和260),一个或多个远程计算系统409(例如,图2的远程计算系统256)在该wan 408中操作。在该环境内,任务挖掘引擎411和412(例如,图1的任务挖掘引擎111、181和191或图2的软件230)的实例执行一个或多个机器人416和417(例如,图1的机器人122、174和178)和数据库429(例如,图1的指引器140或图2的系统存储器220)和/或与一个或多个机器人416和417和数据库429交互以接收/监测/记录用户动作431、432和433。
65.如本文所述,用户动作431、432和433可以包括关于工作流的任何用户输入或活动。例如,用户利用设备206(例如,数字电话)接收保险索赔电话。用户利用设备205(例如,台式计算机)输入保险索赔电话呼叫的细节。进而,用户动作432可以包括关于呼叫的接听、转接、结束、录音、保持操作,而用户动作431可以包括输入客户信息、索赔信息、填写网络表单、发送给理算员或其他同事的。此外,用户动作433可以包括索赔等的经理批准。
66.环境的示例操作关于图4进行描述,图4示出了根据一个或多个实施例的方法500的框图。更具体地,方法500是任务挖掘引擎411和412以及机器人416和417跨环境400中进行的任务和过程挖掘的示例实现。
67.方法500开始于框505,其中机器人416实时记录第一用户的用户动作431。此外,在框506,无人值守机器人417实时记录第二用户(例如,或现在使用不同设备的第一用户)的
用户动作432。用户动作431和432可以本地地被存储在相应设备405和406中和/或传送到数据库429。由于已经为每个用户执行了先前的记录,因此用户动作433(例如,实时记录的非结构化数据)当前可以被存储(框407)在数据库429上。在任何情况下,用户动作431、432和433共同表示任何用户在屏幕的特定ui中采取的一个或多个个体步骤、动作和/或任务(例如,特定网络表单、特定应用窗口等中的网络表单动作)。例如,用户动作可以包括在用户界面内单击光标、用户键入、滚动导航、拖放和下降等。用户动作431、432和433也可以被认为是子任务,该子任务组合成本文所述的一个或多个任务。在特定示例中,在客户服务呼叫的上下文中,用户动作431可以包括关于完成表单1和表单2的动作,用户动作432可以包括关于接收客户电话的动作,并且用户动作433可以包括关于经理批准的动作。
68.根据一个或多个实施例,任务挖掘引擎411可以使用来自设备205的屏幕的光学字符识别(ocr)机制和词到向量人工智能算法来基于在屏幕上的出现来创建个体词的表示。即,任务挖掘引擎411生成用户动作431的表示(注意,该表示可以包括很多不同质量,如时间信息)。ocr机制可以包括将文本的图像(例如,屏幕截图)转换为机器编码的文本。词到向量人工智能算法可以包括用于产生词嵌入以重构词的语言上下文(例如,提供动作或步骤的所编码的表示)的任何模型组(例如,两层神经网络)。附加地或备选地,也可以使用用于无监督主题建模和自然语言处理的开源库,诸如使用现代统计机器学习的gensim和/或scikit-learn。实际上,任务挖掘引擎411结合了ocr机制和词到向量人工智能算法来针对整个屏幕创建单个表示。
69.在框510,任务挖掘引擎411或任务挖掘引擎412接收用户动作431、432和433(例如,聚集关于客户服务呼叫的数据)。为了便于解释,从任务挖掘引擎411的角度来描述方法500的其余部分,尽管任务挖掘引擎412可以复制本文中的操作。任务挖掘引擎411可以通过跨lan 407或wan 408的拉取请求等接收用户动作432和433。一个或多个记录任务还可以包括在用户活动发生时实时记录的非结构化数据(例如,由任务挖掘引擎191从图1的环境100中)。一个或多个所记录的任务也可以从外部源被接收,诸如数据库或存储库。根据一个或多个实施例,任务挖掘引擎411可以利用无人值守机器人417来捕获一个或多个活动(例如,工作流),作为步骤、动作和/或任务。
70.在框525,任务挖掘引擎411聚类用户动作431、432和433以确定动作是否可以被认为是相同的(例如,用户键入与客户服务呼叫相关联的评论,然后将相同评论键入到表单1的评论框中)。作为一般注意,框525的聚类可以被认为是个体步骤/屏幕截图的聚类。此外,任务挖掘引擎411在该聚类操作中可以考虑用户动作431、432和433的序列(例如,第一用户在滚动之前点击与在点击之前滚动;序列可以查看各种活动和查看活动是否达到相同结果)。以这种方式,一个或多个用户任务可以通过来自用户动作431、432和433的初始聚类被标识(例如,将子任务组合成一个或多个任务;个体动作被聚类),并且可以通过将一个或多个用户任务组合成一个或多个步骤来进一步执行将用户动作431、432和433聚类成一个或多个用户任务。此外,框525的初始聚类可以聚类用户动作431、432和433以到一个或多个步骤,使得整个聚类是用户可以采取的一种类型的步骤。初始聚类还可以确定代表多少个不同步骤,以及确定“如何确定有多少”。在后一种情况下,初始聚类执行很多不同聚类,对聚类进行评分,并且测量每次执行的好坏以确定质量度量(例如,在给定所产生的聚类的情况下最大化日志中的结构的量)。
71.初始聚类是一项重要的操作,其提供了在太具体(导致用户动作匹配被错过)与太笼统(导致不同用户动作被分组)之间平衡的技术效果和益处。为了实现这种平衡,任务挖掘引擎411可以根据需要实现一个或多个聚类算法(例如,可以关于发生用户动作的界面屏幕选择聚类算法)。一种或多种聚类算法的示例包括但不限于基于质心的或k均值聚类、基于连接的聚类(例如,层次聚类)、基于分布的聚类、基于密度的聚类和基于网格的聚类。
72.根据一个或多个实施例,任务挖掘引擎411首先将用户动作431、432和433分组/聚类到在其上执行用户动作431、432和433的ui(例如,网络特定网络表单、特定应用窗口等中的表单动作)。例如,在屏幕上靠在一起的词往往会被给定相似表示(经由词到向量人工智能算法、机器学习算法库和/或gensim)。假定不同屏幕类型具有不同词,并且不同屏幕上的词被给定不同表示,从而允许任务挖掘引擎411以区分屏幕。在一些情况下,具有相似词的两个屏幕会获取相似表示,并且可以通过例如k均值聚类进行类似的分组/聚类。聚类以分析表示的其他示例包括使用图像数据、文本大小、文本字体、来自选择器的信息(例如,正在屏幕上运行的应用)、单个页面等。
73.根据一个或多个实施例,任务挖掘引擎411可以设置聚类算法的一个或多个参数。任务挖掘引擎411可以基于准确性对分组/簇进行评分并且反馈该评分以确定最佳参数设置。例如,k均值聚类可以通过在不同数目的簇上执行多次并且使用得分(例如,轮廓得分和/或时间得分)来到最佳参数来基于多个簇到最佳分组。轮廓得分根据用户动作431、432和433的聚类程度来评估聚类质量。可以针对不同簇的每个样本计算轮廓得分,同时确定轮廓得分是否对每个簇具有相同得分和/或每个簇是否运行多于一次。时间得分可以代替轮廓得分或作为其补充,使得在确定最佳参数时可以考虑表示的时间信息。
74.在框530,任务挖掘引擎411对序列进行聚类。作为一般注意,框530的聚类可以包括时间元素,其中聚类的步骤/屏幕截图关于时间被进一步聚类(例如,使用时间戳,任务挖掘引擎411确定不同步骤/屏幕截图的发生在时间上的接近程度)。根据一个或多个实施例,任务挖掘引擎411可以使用与框530中相同的聚类算法和/或一种或多种不同聚类算法。在示例中,任务挖掘引擎411执行实现符号聚类和/或序列模式挖掘的序列提取算法(例如,阿尔法算法)。顺序模式挖掘可以包括从按顺序传递的用户动作431、432和433和/或在框525生成的簇之间提取统计相关模式,使得任务挖掘引擎411可以针对序列信息构建高效的数据库和索引,提取频繁出现的模式,比较序列的相似性,并且恢复错过的序列成员。
75.例如,聚类序列或第二聚类可以被认为是用于从用户动作431、432和433和/或在框525生成的聚类中提取或标识序列的操作。通常,聚类序列包括提取一个或多个步骤序列和/或一个或多个任务序列以模仿本文所述的用户活动。关于方法500,聚类序列可以具有两个方面:在子框533确定有用性和在子框536确定排名。
76.在子框533,任务挖掘引擎411确定有用性。即,任务挖掘引擎411解决的技术问题是确定对于一系列动作有用表示什么。任务挖掘引擎411不希望捕获用户,例如,在线上寻“东西”,并且确实希望出现比随机机会更频繁的序列。随机机会或随机性是显然的或实际缺乏模式或可预测性,使得用户动作431、432和433中的一个或多个用户动作没有顺序或不遵循可理解的模式或组合(例如,可以基于用户动作431、432和433中的一个或多个用户动作的频率随着时间的推移的变化来确定概率分布)。本质上,任务挖掘引擎411寻求确定标识“如何提取有用序列”的好方法。
77.例如,任务挖掘引擎411可以从所生成的簇中提取不同但足够相似以至于它们应当被组合的任务或序列示例。此外,任务挖掘引擎411可以从这些任务或序列示例中确定变化,并且确定变化是否足够不同以致于应当将变化分开。在实施例中,任务挖掘引擎411可以利用一个或多个相关性检测器,诸如任何泊松过程统计模型,其中假定所有动作是随机的并且计算序列发生的可能性。使用统计模型的任务挖掘引擎411的相关性检测器的示例计算步骤序列内的p值和相关性。以这种方式,任务挖掘引擎411可以确定变化多久一起出现、以及相隔多远。一些相对不频繁的过程没有用,诸如大约每小时搜索一次歌曲。任务挖掘引擎411的相关性检测器识别更强烈地重复多次的动作并且可以解释具有不同顺序但实现相同结果的序列(因此被标识为相同)的一些差异。此外,除了顺序之外,任务挖掘引擎411的相关性检测器还可以查看任何顺序的一组动作,因此相关性检测器可以识别出不严格按一些顺序的动作。
78.在子框536,任务挖掘引擎411确定排名。即,任务挖掘引擎411解决的技术问题是确定被确定为有用的每个过程的排名。换言之,任务挖掘引擎411对所提取的任务和序列进行排序以确定哪些是最有趣的(例如,设置所提取的任务和序列之间的关系,使得对于任何两个项目,一个项目与第二项目相比“排名较高”或“更有趣”。排名可以是跨尺度的字母数字值(例如,从1到10的数字)。注意,兴趣度标识任务或序列与用户的业务反对相关的可能性,使得随着时间的推移,用户动作431、432和433中的任何一个用户动作都可以被标识为重要的并且被用于标识其他用户动作。任务挖掘引擎411可以采用统计模型(不同于本文中描述的相关性检测器),该统计模型将整个序列视为一个统一的块,并且基于随机模型(例如,隐马尔可夫模型)的变化计算统计数据(例如,排名)。注意,基于对环境400的计算成本,操作子框536和536可以独立于组合。
79.根据一个或多个实施例,作为本文中的操作的备选或补充,框525和530还可以包括用于分析序列以确定分离的、独立的动作和/或子任务的分析方面。即,因为不能保证两个任务将完全分离,所以可能需要任务挖掘引擎411从任务中提取子任务作为它们自己的分离任务。以这种方式,任务挖掘引擎411标识出子任务是更大任务的一部分并且子任务的提取是有用的。
80.注意,任务挖掘引擎411计算任务步骤的得分,其也可以作为一对任务的一部分指配给另一任务。在这点上,如果一个任务存在显著重叠,而另一任务没有重叠,则第一任务很可能是第二任务的一部分。当第一任务中包含的动作的一小部分在另一任务中时,显著重叠可以包括关于在滑动比例上设置的动态阈值。任务挖掘引擎411可以在0%到100%之间调节动态,诸如在85%到65%之间进行衔接。因此,任务挖掘引擎411可以针对每对任务使用动态阈值,生成有向图,并且使用有向图对任务的所有组合和/或子组合进行分组。
81.根据一个或多个实施例,作为本文中的操作的备选或附加,框525和530还可以包括重复序列提取方面。重复序列提取方面在簇中寻重复动作,因为这些重复动作可能包括潜在的自动化过程/工作流。重复序列提取方面利用聚类实现各种级别的特异性,使得任务挖掘引擎411可以灵活地使用机器学习和/或人工智能算法。在这点上,任务挖掘引擎411可以利用深度神经网络以从当前序列的日志中预测未来动作。例如,机器学习和/或人工智能算法可以从用户动作431、432和433以及簇中学习如何预测未来动作,然后使用这些预测来发现特定子任务/任务/序列(例如,预测更频繁和更准确地执行的序列)。在一些情况下,
聚类可以发生在机器学习和/或人工智能算法操作之后,以解决聚类成为处理瓶颈的问题,并且抽象地提供学习序列的益处。注意,其他神经网络可以被利用。
82.神经网络操作以支持本文中描述的机器学习和/或人工智能算法的实现(例如,如由任务挖掘引擎411实现的)。神经网络可以用硬件和软件来实现。在示例操作中,神经网络的输入层接收输入,诸如用户动作431、432和433。神经网络对这些输入进行编码(例如,利用用户动作431、432和433的任何部分以及由任务挖掘引擎111产生的预测)以产生潜在表示或数据编码。潜在表示包括从多个输入中导出的一个或多个中间数据表示。根据一个或多个实施例,潜在表示由任务挖掘引擎111的逐元素激活函数(例如,sigmoid函数或整流线性单元)生成。输入被提供给隐藏层,隐藏层执行处理表现出复杂的全局行为,该行为由处理元素与元素参数之间的连接确定。因此,输入层与隐藏层之间的转变可以被认为是编码器阶段,该编码器阶段接受输入并且将其传送到深度神经网络(在隐藏层内)以学习输入的一些较小表示(例如,由此产生的潜在表示)。深度神经网络可以是cnn、长短期记忆神经网络、全连接神经网络或其组合。这种编码提供了输入的降维。降维是通过获得一组主要变量来减少在考虑中的(输入的)随机变量的数目的过程。例如,降维可以是将数据(例如,输入)从高维空间(例如,超过10维)转换到低维空间(例如,2-3维)的特征提取。降维的技术效果和益处包括减少用户动作431、432和433的时间和存储空间需求,改进用户动作431、432和433的可视化,以及改进机器学习的参数解释。这种数据变换可以是线性的或非线性的。接收和编码操作可以被认为是任务挖掘引擎111的多步数据操作的数据准备部分。此外,神经网络对潜在表示进行解码。解码阶段采用编码器输出(例如,由此产生的潜在表示)并且尝试使用另一深度神经网络重构一些形式的输入。在这点上,潜在表示的节点被组合以在输出层中产生输出。即,输出层在降维上重构输入,而没有干扰、伪影、噪声等。
83.回到方法500,如本文中关于框530所指示的,任务挖掘引擎411从框525的初始聚类和说明这些序列的有用性的用户动作431、432和433生成有序序列。在框570,任务挖掘引擎411基于在执行时自动执行用户活动的有序序列输出自动化代码。根据一个或多个实施例,自动化代码可以被实现为无人值守机器人417(例如,或任何机器人416)的另一实例以自动且独立地操作。例如,无人值守机器人417可以记录客户服务呼叫,机器人416在表单2完成之后自动向经理发送用于批准。因此,任务挖掘引擎191经由自动化代码向用户提供自动化体验。
84.根据一个或多个实施例,本文中描述的任务挖掘引擎的一个或多个技术效果、益处和优点是标识任务的开始和结束。以这种方式,进入环境的任何非结构化数据都可以从发送到环境的数据库(例如,云)的一个或多个源来聚类。此外,任务挖掘引擎的客户端版本也可以记录数据。利用聚合和记录的数据,任务挖掘引擎执行聚类以分析数据并且确定任务/步骤/序列,该任务/步骤/序列用得分固定并且基于对应得分被自动化为rpa。
85.根据一个或多个实施例,一个或多个任务挖掘引擎也可以确定任务变化。任务变化可以包括两个或更多个任务获取相同结果(例如,完成一组表单),而两个或更多个任务中的一个任务更有效率(例如,以特定顺序完成一组表单)。任务变化还可以指示其他方面(例如,诸如为客户完成酒店预订,并且任务变化包括向酒店预订添加套餐)。进而,任务挖掘引擎可以自动化任务变化中的最有效的任务。
86.例如,任务挖掘引擎接收动作集(例如,针对任务/工作流/过程),为其中的每个动
作指配签名,并且基于动作集中的序列生成任务的踪迹以确定其中的动作发生的顺序。通常,每个动作类型都有一个签名来提供序列顺序的指示,并且基于这些签名对动作集进行分组可以提供动作集中的变化。即,当序列顺序改变时,跟踪也会改变。如果动作a(例如,被指配了签名a的用户动作)在动作b(例如,指配了签名b的用户动作)之前发生了6次中的5次,则动作a将在跟踪中出现在动作b之前。由于任务挖掘引擎已经意识到相同工作流/过程的这些变化,所以任务挖掘引擎查看平均步骤数目、每个变化花费的时间等以确定效率。
87.在示例中,用户填写表单1和表单2达25次,其中每次表单2会接收到经理批准(例如,表单1具有第一签名,表单2具有第二签名,并且经理批准具有第三签名)。如果表单1在表单2和经理批准之前完成了25次中的21次,则在第一跟踪中,表单1将出现在表单2之前。对于剩余的4次,第二跟踪标识序列顺序,该序列顺序包括用户首先完成表单2并且在用户完成表单1时发生经理批准。当任务挖掘引擎标识出第二跟踪比第一跟踪短时,由于经理批准与表单1的完成并行发生,任务挖掘引擎可以确定第二跟踪更有效。因此,与第一跟踪相比,可以建议、自动化和实现第二跟踪。
88.图中的流程图和框图示出了根据本发明的各种实施例的装置、系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个块可以表示模块、段或指令的一部分,其包括用于实现(多个)指定逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照流程图和附图中的框图中标注的顺序发生。例如,根据所涉及的功能,连续示出的两个块实际上可以基本同时被执行,或者这些块有时可以以相反的顺序被执行。还将注意到,框图和/或流程图说明中的每个块、以及框图和/或流程图说明中的块的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
89.尽管以上以特定组合描述了特征和元素,但本领域普通技术人员将理解,每个特征或元素可以被单独使用或与其他特征和元素以任何组合使用。例如,对于本文中描述的任何方法和过程,所列举的步骤可以以任何顺序不按顺序被执行,并且未明确描述或示出的子步骤可以被执行。当使用提及“a或b”时,它可以包括a、b或a和b,它们可以类似地扩展为更长列表。当使用符号x/y时,它可以包括x或y。备选地,当使用符号x/y时,它可以包括x和y。x/y符号可以类似地被扩展为具有相同解释逻辑的更长列表。此外,“耦合”或“可操作地耦合”可以意味着对象被链接但在链接对象之间可以具有零个或多个中间对象。而且,在一个或多个实施例中可以使用所公开的特征/元素的任何组合。
90.此外,本文中描述的方法和过程可以在并入计算机可读介质中以供计算机或处理器执行的计算机程序、软件和/或固件(例如,计算机程序产品)中实现。即,计算机程序产品可以包括其上具有用于使控制器、处理器等执行本发明的方面的计算机可读程序指令的一个或多个计算机可读存储介质。
91.计算机可读存储介质可以是能够保持和存储计算机可读程序指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。本文中使用的计算机可读存储介质不应当被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,光脉冲通过光缆)、或通过电线发送的电信号。计算机可读存储介质的示例包括但不限于寄存器、高速缓冲存储器、半导体存储器设备、磁介质(诸如内
部硬盘和可移动磁盘)、磁光介质、光学介质(诸如光盘(cd)和数字通用磁盘(dvd))、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)和记忆棒。
92.本文中描述的计算机可读程序指令可以经由例如网络通信等连接从装置、设备、计算机或外部存储传送和/或下载到相应控制器、处理器等。用于执行本发明的操作的计算机可读程序指令可以是汇编器指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路系统的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括诸如smalltalk、c++等面向对象的编程语言、以及诸如“c”编程语言或类似编程语言等过程编程语言。在一些实施例中,包括例如可编程逻辑电路系统、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)在内的电子电路系统可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路系统,以便执行本发明的方面。
93.本文中使用的术语仅用于描述特定实施例的目的,并不旨在进行限制。如本文中使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括(comprises)”和/或“包括(comprising)”当在本文中使用时指定所陈述特征、整体、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元素组件和/或其组的存在或添加。
94.本文中的各种实施例的描述是为了说明的目的而呈现的,但并不旨在穷尽或限于所公开的实施例。在不脱离所描述实施例的范围和精神的情况下,很多修改和改变对于本领域普通技术人员来说将是很清楚的。本文中使用的术语被选择是为了最好地解释实施例的原理、实际应用或对市场中发现的技术的技术改进,或者是为了使得本领域普通技术人员能够理解本文中公开的实施例。

技术特征:


1.一种由作为处理器可执行代码存储在存储器上的任务挖掘引擎实现的方法,所述处理器可执行代码由通信耦合到所述存储器的至少一个处理器执行,所述方法包括:由所述任务挖掘引擎接收标识与计算环境相关的用户活动的一个或多个所记录的任务;由所述任务挖掘引擎通过对每个所记录的用户任务进行处理和评分来将所述一个或多个所记录的用户任务聚类成一个或多个步骤;以及由所述任务挖掘引擎提取标识所述一个或多个步骤的相似组合或重复组合的一个或多个步骤序列以模仿所述用户活动。2.根据权利要求1所述的方法,包括:由所述任务挖掘引擎基于所述一个或多个步骤序列输出自动化代码,所述自动化代码在被执行时自动地执行所述用户活动。3.根据权利要求1所述的方法,包括:由所述任务挖掘引擎从所述一个或多个步骤内提取标识所述用户活动的自动化的一个或多个任务序列。4.根据权利要求1所述的方法,其中所述一个或多个所记录的任务包括在所述用户活动发生时由所述任务挖掘引擎从所述计算环境实时记录的非结构化数据。5.根据权利要求1所述的方法,其中所述一个或多个所记录的任务中的每个所记录的任务包括用户在所述用户活动期间采取的动作。6.根据权利要求1所述的方法,其中所述任务挖掘引擎利用基于质心、基于连接、基于分布、基于密度或基于网格的聚类来聚类所述一个或多个所记录的用户任务。7.根据权利要求1所述的方法,其中对所述一个或多个所记录的用户任务进行聚类包括在错过用户动作匹配和对不同用户动作进行分组之间进行平衡的初始聚类操作。8.根据权利要求1所述的方法,其中提取所述一个或多个步骤序列包括时间元素以确定针对所述一个或多个步骤的在时间上的接近度。9.根据权利要求1所述的方法,其中提取所述一个或多个步骤序列包括执行实现序列模式挖掘的序列提取算法。10.根据权利要求1所述的方法,其中所述任务挖掘引擎分析所述一个或多个所记录的任务或所述一个或多个步骤序列以确定分离的、独立的用户动作或子任务。11.根据权利要求1所述的方法,其中所述任务挖掘引擎基于比随机机会更频繁的出现来确定所述一个或多个所记录的任务或所述一个或多个步骤序列的有用性。12.根据权利要求1所述的方法,其中所述任务挖掘引擎确定针对所述一个或多个所记录的任务或所述一个或多个步骤序列的标识兴趣度的排名。13.一种系统,包括:存储器,所述存储器存储用于任务挖掘引擎的处理器可执行代码;以及至少一个处理器,通信地耦合到所述存储器并且被配置为执行所述处理器可执行代码以使所述系统执行;由所述任务挖掘引擎接收标识与计算环境相关的用户活动的一个或多个所记录的任务;由所述任务挖掘引擎通过对每个所记录的用户任务进行处理和评分来将所述一个或
多个所记录的用户任务聚类成一个或多个步骤;以及由所述任务挖掘引擎提取标识所述一个或多个步骤的相似组合或重复组合的一个或多个步骤序列以模仿所述用户活动。14.根据权利要求13所述的系统,其中所述至少一个处理器被配置为执行所述处理器可执行代码以使所述系统执行:由所述任务挖掘引擎基于所述一个或多个步骤序列输出自动化代码,所述自动化代码在被执行时自动地执行所述用户活动。15.根据权利要求13所述的系统,其中所述至少一个处理器被配置为执行所述处理器可执行代码以使所述系统执行:由所述任务挖掘引擎从所述一个或多个步骤内提取标识所述用户活动的自动化的一个或多个任务序列。16.根据权利要求13所述的系统,其中所述一个或多个所记录的任务包括在所述用户活动发生时由所述任务挖掘引擎从所述计算环境实时记录的非结构化数据。17.根据权利要求13所述的系统,其中所述一个或多个所记录的任务中的每个所记录的任务包括用户在所述用户活动期间采取的动作。18.根据权利要求13所述的系统,其中所述任务挖掘引擎利用基于质心、基于连接、基于分布、基于密度或基于网格的聚类来聚类所述一个或多个所记录的用户任务。19.根据权利要求13所述的系统,其中对所述一个或多个所记录的用户任务进行聚类包括在错过用户动作匹配和对不同用户动作进行分组之间进行平衡的初始聚类操作。20.根据权利要求13所述的系统,其中提取所述一个或多个步骤序列包括时间元素以确定针对所述一个或多个步骤的在时间上的接近度。

技术总结


本文中公开了一种由任务挖掘引擎实现的方法。任务挖掘引擎作为处理器可执行代码被存储在存储器上。处理器可执行代码由被通信地耦合到存储器的处理器执行。该方法包括接收标识与计算环境相关的用户活动的所记录的任务并且通过对每个所记录的用户任务进行处理和评分来将所记录的用户任务聚类成步骤。该方法还包括提取标识步骤的相似组合或重复组合的步骤序列以模仿用户活动。骤序列以模仿用户活动。骤序列以模仿用户活动。


技术研发人员:

G

受保护的技术使用者:

尤帕斯公司

技术研发日:

2021.10.27

技术公布日:

2022/12/12

本文发布于:2024-09-21 18:57:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/33947.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多个   用户   引擎   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议