认知机器人学分析器的制作方法

文档序号:14555682阅读:166来源:国知局
认知机器人学分析器的制作方法

本申请总体上涉及机器学习。



背景技术:

在计算机上执行的手动过程可能是重复的并且耗费时间的。例如,用户可以响应于web表格提交而发送电子邮件,并且针对每个网络表格提交,可能需要与计算机手动地交互来点击按钮以打开用于撰写新电子邮件的窗口,点击按钮以将信息从web表格提交复制到窗口中,点击按键以写入用于电子邮件的正文的文本,以及点击按钮以发送电子邮件。



技术实现要素:

根据不同的特性对用户进行分组传统地已经依赖于由用户自身提供的特性或由另一方(诸如雇主)提供的特性。为了根据特性对用户进行分组,系统根据训练数据分析用户动作,并且使用机器学习、数据聚类和深度学习生成预测模型。预测模型被配置为标识用户执行的过程并且使过程与对应于已知特性的其他过程相关联。换句话说,预测模型首先标识用户执行的过程。预测模型然后基于过程的动作标识用户的特性。动作可能对于预测模型不足以标识特性。例如,位于英国的用户可能更可能访问包括网站的文本中的拼写“颜色”的网站。在该实例中,访问网站是过程并且查看文本“颜色”是动作。如可能地,可能不是读取具有拼写“颜色”的电子邮件的用户位于英国,这是因为用户可以在美国并且读取从英国的用户发送的电子邮件。在该实例中,读取电子邮件是过程并且查看文本“颜色”是动作。因此,系统使用预测模型来标识过程并且然后基于相似过程的动作将特性分配给用户。

系统还可以使用预测模型标识一组用户动作中的变量,其中每组动作执行相同的过程。系统接收标识各自执行至少一个过程的动作的训练数据。使用该训练数据,系统生成预测模型,其被配置为基于接收到用户执行的动作而标识过程。用户可以点击鼠标、滑动屏幕、敲打小键盘以及查看图像和文本,并且预测模型能够基于那些动作标识动作(诸如录入发票)。系统将动作与用于相同过程的其他组动作相比较,并且标识可以跨越该组动作而变化的动作。系统还标识可以是噪声的动作或不是整个过程的一部分的不必要的动作。通过标识噪声和变量,系统可以使得过程更高效地自动化。

本说明书中所描述的主题的创新方面可以被实现在包括以下动作的方法中:针对多个用户特性中的每个用户特性,接收标识执行第一过程的一个或多个第一动作的第一数据以及标识执行被标记为与第一过程相似的第二过程的一个或多个第二动作的第二数据;使用用于每个用户特性的第一数据和使用用于每个用户特性的第二数据来训练预测模型,其被配置为对将动作分类为与第一过程和第二过程相似或不相似;接收标识由用户执行的动作的数据;将预测模型应用到动作中的一个或多个动作;基于将预测模型应用到动作中的一个或多个动作,将由一个或多个动作执行的过程分类为与关联于特定用户特性的特定过程相似;以及将用户与特定用户特性相关联。

这些和其他实现可以各自可选地包括以下特征中的一个或多个特征。动作还包括:接收确认用户与用户特性相关联的数据;以及基于确认用户与用户特性相关联的数据,更新预测模型。动作还包括:接收确认用户与用户特性不相关联的数据;以及基于确认用户与用户特性不相关联的数据,更新预测模型。针对多个用户特性中的每个用户特性,接收标识执行第一过程的一个或多个第一动作的第一数据和标识执行被标记为与第一过程相似的第二过程的一个或多个第二动作的第二数据的动作包括:从执行一个或多个第一动作的设备接收第一屏幕采集数据;从执行一个或多个第二动作的设备接收第二屏幕采集数据;通过对第一屏幕采集数据执行计算机视觉技术来生成第一数据;以及通过对第二屏幕采集数据执行计算机视觉技术来生成第二数据。

针对多个用户特性中的每个用户特性,接收标识执行第一过程的一个或多个第一动作的第一数据和标识执行被标记为与第一过程相似的第二过程的一个或多个第二动作的第二数据的动作包括:从执行一个或多个第一动作的设备接收第一用户输入;从执行一个或多个第二动作的设备接收第二用户输入数据;通过分析第一用户输入数据来生成第一数据;以及通过分析第二用户输入数据来生成第二数据。针对多个用户特性中的每个用户特性,接收标识执行第一过程的一个或多个第一动作的第一数据和标识执行被标记为与第一过程相似的第二过程的一个或多个第二动作的第二数据的动作包括:从执行一个或多个第一动作的设备接收第一网络流量数据;从执行一个或多个第二动作的设备接收第二网络流量数据;通过分析第一网络流量数据来生成第一数据;以及通过分析第二网络流量数据来生成第二数据。如果第一过程和第二过程使用相同的硬件或相同的软件,则第一过程与第二过程相似。用户特性标识公司、地理位置、操作单元、操作角色或专业水平。动作包括键盘按压、鼠标点击、屏幕触摸、前台过程变化、场景变化、网络请求或网络接收。过程包括查看网站、接收一种类型的电子邮件附件、录入一种类型的数据、执行网络搜索、或使用一种类型的软件。

该方面的其他实现包括在各自被配置为执行方法的操作的计算机存储设备上记录的对应的系统、装置和计算机程序。

本说明书中所描述的主题的另一创新方面可以被实现在包括以下动作的方法中:接收标识被标记为执行相同过程的多组一个或多个动作的数据;在每组一个或多个动作中标识与变量信息相关联的特定动作;使用标识被标记为执行相同过程的多组一个或多个动作的数据并且使用与变量信息相关联的特定动作来训练预测模型,其被配置为:(i)将一组一个或多个动作分类为执行相同过程或不执行相同过程以及(ii)标识一组一个或多个动作中的、与变量信息相关联的动作;接收标识给定动作组的数据;将预测模型应用到给定动作组;基于将预测模型应用到给定动作组,将给定动作组分类为执行相同过程并且标识给定动作组中的、与变量信息相关联的给定动作;以及输出将给定动作组分类为执行相同过程的数据以及标识给定动作和变量信息的数据。

这些和其他实现可以各自可选地包括以下特征中的一个或多个特征。动作还包括:接收确认给定动作组执行相同过程的数据;以及基于确认给定动作组执行相同过程的数据,更新预测模型。动作还包括:接收确认给定动作组不执行相同过程的数据;以及基于确认给定动作组不执行相同过程的数据,更新预测模型。接收标识被标记为执行相同过程的多组一个或多个动作的数据的动作包括:从执行多组一个或多个动作之一的设备接收屏幕采集数据;以及通过对屏幕采集数据执行计算机视觉技术来生成数据。

接收标识被标记为执行相同过程的多组一个或多个动作的数据的动作包括:从执行多组一个或多个动作之一的设备接收用户输入数据;以及通过分析用户输入数据来生成数据。接收标识被标记为执行相同过程的多组一个或多个动作的数据的动作包括:从执行多组一个或多个动作之一的设备接收网络流量数据;以及通过分析网络流量数据来生成数据。动作包括键盘按压、鼠标点击、屏幕触摸、前台过程变化、场景变化、网络请求或网络接收。动作还包括:基于将预测模型应用到给定动作组,标识给定动作组中的、与噪声动作相关联的附加动作。动作还包括确定对应于给定动作的变量的类型。根据权利要求11所述的方法,其中标识给定动作和变量信息的数据包括基于给定动作的、针对变量信息的名称。

该方面的其他实现包括在各自被配置为执行方法的操作的计算机存储设备上记录的对应的系统、装置和计算机程序。

本说明书中所描述的主题的特定实现方式能够被实现以便实现以下优点中的一个或多个。系统可以通过根据基于其实际上执行的动作的特性而将用户分配到组来改进安全性。每组可以被绑定到各种安全许可。系统还可以通过标识可以对于完整过程而言不必要的动作来标识过程的低效率。

在附图和以下说明书中阐述本说明书中所描述的主题的一个或多个实施例的细节。主题的其它特征、方面和优点将从说明书、附图和权利要求变得显而易见。

附图说明

图1至图3图示了用于认知机器人学分析器的示例系统。

图4图示了执行相似过程的示例动作组。

图5和图6图示了用于认知机器人学分析器的示例过程。

图7图示了计算设备和移动计算设备的示例。

各附图中的相同参考数字和标号指示相同元件。

具体实现方式

图1图示了用于认知机器人学分析器的示例系统100。简单地,并且如下面更详细地描述的,系统100基于用户与计算设备的先前的交互,接收训练数据。训练数据标识用户的交互执行的过程以及用户的特性。系统100生成预测模型以通过分析其他用户与计算设备的交互来将特性分配给其他用户。系统100可以根据分配的特性对用户进行分组。

在图1中示出的示例中,系统100接收源自用户102、104和106的训练数据。用户102通过访问网站times.co.uk与计算设备108交互。用户104与计算设备110交互并且填写与“我是什么颜色?”有关的提问。用户106与计算设备112交互并且录入搜索查询“电梯修理”。计算设备108、110和112中的每个计算设备可以是被配置为通过网络通信的设备(诸如移动电话、平板电脑、膝上型计算机、台式计算机、手表)或被配置为通过触摸屏、键盘、麦克风、指点设备、天线、照相机或类似设备接收输入的任何其他设备。计算设备108、110和112中的每个计算设备还被配置为将数据输出到屏幕、扬声器或触觉反馈设备。

为了根据用户数据114生成训练数据,系统100被配置为监测和收集输入和输出数据。系统100可以收集屏幕采集数据,其可以包括与访问网站times.co.uk的用户有关的数据。系统100可以对数据114执行图像识别和光学字符识别。数据114可以包括屏幕采集数据,其示出了访问times.co.uk网站的浏览器,其中地址栏包括times.co.uk网址。系统100还可以监测从计算设备108发送和接收的网络流量。网络流量可以包括从times.co.uk服务器发送到计算设备108的数据分组以及从计算设备108发送到times.co.uk服务器的数据分组。数据114还可以包括由计算设备108接收到的用户输入。用户输入可以包括键盘按压、鼠标位置和点击、触摸数据、通过麦克风接收到的音频数据或者通过照相机接收到的视觉数据。系统100可以以预定间隔采集数据114,诸如每秒或者当用户输入数据时(诸如当用户点击鼠标时)采集屏幕数据。

系统100还可以根据数据116和数据118生成训练数据。数据116和118可以包括屏幕采集数据、网络流量数据以及用户输入数据。例如,数据116可以包括屏幕采集数据,其包括将数据录入“我是什么颜色?”提问的用户104。数据118可以包括与录入搜索查询“电梯修理”的用户106有关的网络流量用户。数据114、116和118可以各自还包括过程数据。过程数据涉及当前在对应的计算设备上执行的过程。例如,除了各种操作系统过程和基本计算过程之外,计算设备108可以执行浏览器过程。过程数据还可以包括每个过程利用的处理能力的数量或百分比。过程数据还可以包括被分配给过程的存储器的量。

在一些实现中,数据114、116和118还可以包括与用户、用户的职业、用户的位置或其他相似类型的数据有关的数据。例如,数据114可以包括指示用户102的位置在英国的数据。数据116还可以包括指示用户104的位置在英国的数据。数据118可以包括指示用户106的位置在美国的数据。此外,数据114可以包括将用户102描述为在财务部工作的会计员的数据。数据114还可以指示用户102是初学者或初级会计员。类似地,数据118可以包括将用户106描述为采购部的合同专员的数据。数据118还可以指示用户106是专家或高级合同专员。在一些实现中,该数据由用户录入。例如,当用户授权系统100收集数据时,用户105可以录入职业相关数据。在一些实现中,系统100从数据存储库(诸如由公司维护的人力资源数据库)取回数据。

系统100接收数据114、116和118,并且然后使用数据114、116和118生成训练数据。为了生成训练数据,系统100将数据114、116和118提供到过程标记器120。过程标记器120将由用户102、104和106中的每个用户执行的动作标记为执行特定过程。过程标记器120可以标记包括由用户102执行的动作的数据114,以及将其他计算设备108数据标记为执行浏览web内容、读取新闻或因特网活动的过程。过程标记器120可以将特定数目的过程标签应用到每组动作。例如,过程标记器120可以将一个、三个或五个标签应用到每组动作。取决于哪些标签适用于动作组,过程标记器120还可以将不同数目的过程标签应用到每组动作。

过程标记器120可以将计算设备110的动作和数据标记为执行完成在线提问或因特网活动的过程。过程标记器120可以将计算设备112的动作和数据标记为执行录入搜索查询的过程。过程标记器120可以根据预定义规则集来标记动作组。例如,如果动作包括将数据提供到搜索引擎,那么过程标记器120将动作标记为录入搜索查询并且浏览web内容。还可以通过审核动作并且就个体的判断应用标签的个体来执行标记。例如,可以由用户102、104和106选择标签。在该情况下,用户可以同意提供数据114、116和118并且然后还选择用于数据的一个或多个标签。可以对标签进行预定义,使得过程标记器120可以仅从特定标签进行选择。过程标记器120还可以将任何标签应用到动作。

在一些实现中,下面所描述的系统100和其他系统可以包括分组模块。分组模块可以对彼此相似的一系列动作自动地进行分组。分组模块还可以应用标识一系列动作的标签。在一些实现中,个体可以审核标识确认标签准确的一系列序列的标签。在一些实现中,个体可以应用标签,而不是分组模块应用标签。一系列动作可以是由用户连续地或由用户几乎连续地执行的动作。一系列动作还可以是由多个用户执行的动作。在一些实现中,分组模块可以使用聚类分析(诸如分级聚类、基于质心的聚类、基于分布的聚类或基于密度的聚类)来标识相似动作。系统100和下面所描述的其他系统的其他部件可以使用由分组模块生成的数据来执行部件的对应的功能。

一旦过程标记器120标记数据114、116和118中的每个数据,系统100就将数据提供到特性标记器122。特性标记器122将一个或多个特定特性应用到数据114、116和118中的每个数据。在一些实现中,特性选自特性数据存储库124。在一些实现中,特性标记器122标识特性并且将他们存储在特性数据存储库124中。在图3中所示的示例中,从数据114和116所标识的特性在于,用户102和104在英国。从数据118所标识的特性在于,用户106在美国。特性标记器122可以然后将那些标签存储在特性数据存储库124中以用于由系统100使用。

特性标记器122可以将超过一个特性分配到对应于过程的每组动作。例如,特性标记器122可以将标签英国和初级会计员应用到数据114。特性标记器122可以直接地从数据114、116和118提取特性标签。特性标记器122可以标识被包括在数据114、116或118中并且对应于特性数据存储库124中的标签(诸如英国和美国)的标签。在一些实现中,可以通过正生成用于预测模型训练器126的训练数据的个体来完成由特性标记器122分配的特性。在一些实现中,由个体检查并且验证由特性标记器122分配的特性。在一些实现中,特性标记器122使用聚类技术和上下文智能来应用特性标签。在一些实现中,特性标记器122被配置为包括自学习部件。例如,特性标记器122可以使用机器学习来调整标记过程,以更准确地应用用于未来的动作组的特性标签。特性标记器122可以分析包括利用特性预标记的动作的训练数据。在系统100中说明的过程完成之后,标记的动作和过程可以被提供到特性标记器122以调节并且调整特性标记器122的特性标记功能。在一些实现中,具有系统100和下面所描述的其他系统并且标识和应用任何特性标签的其他部件可以包括类似的机器学习方面。机器学习方面可以与贯穿本申请所描述的其他机器学习方面类似。

系统100将已经标记有不同的过程标签和特性标签的数据提供到预测模型训练器126。预测模型训练器126生成预测模型,其被设计为将标签应用到用户与计算设备执行的动作。预测模型训练器126将预测模型生成并且存储在预测模型数据存储库128中。预测模型训练器126使用神经网络生成预测模型。在示例中,预测模型训练器126可以生成如果用户使用拼写颜色而不是颜色则将用户标识为在英国内的模型。然而,预测模型训练器126还可以训练模型以考虑许多因素(诸如用户选择的其他拼写、用户访问的网站、由用户执行的输入动作)。一个因素可能不足以分配标签。在一些实现中,预测模型训练器126可以生成用于每个特性的模型。例如,可以存在标识用户的位置、用户的职位、雇用用户的部门等的模型。

利用被存储在预测模型数据存储库128中的预测模型,系统100准备标识各种用户的动作、过程和特性。在图1中所示的示例中,用户130与计算设备132交互。用户130使用网站times.co.uk访问电子邮件。在电子邮件中,用户130写入“你最喜爱的颜色是什么?”。计算设备132通过网络与被配置为检测由用户130执行的不同的动作的系统100的不同的部件进行通信。部件包括图像采集器136,其被配置为采集计算设备132的屏幕的图像。部件还包括用户输入检测器138,其被配置为检测不同类型的用户输入。部件还包括网络监听器140,其被配置为监测从计算设备132接收和发送的网络数据。在一些实现中,部件包括被配置为查询计算设备132以检索正由包括在前台运行的过程的计算设备132所执行的过程的设备。

图像采集器136被配置为以周期性间隔采集设备132的显示器中所示的数据。例如,图像采集器136可以每五秒采集屏幕截图。图像采集器136还可以采集如由用户输入检测器138引导的屏幕。例如,当用户点击鼠标或者触摸屏幕时,图像采集器136可以采集屏幕。除了采集屏幕截图之外,图像采集器136还对屏幕截图执行光学字符识别。图像采集器136可以标识地址栏中的times.co.uk的网络地址和屏幕上的文本“你最喜爱的颜色是什么?”。图像采集器136还可以执行图像识别。例如,图像采集器136可能能够标识名人图片、历史人物、流行类型的软件的启动画面等。

用户输入检测器138被配置为通过各种类型的用户输入设备(诸如鼠标点击、键盘按压、屏幕触摸、打印作业、相机采集、麦克风输入、扬声器输出等)检测用户输入和输出。在图1中所示的示例中,用户输入检测器138检测到除了其他按键按压之外,用户键入按键w-h-a-t-space-i-s-space-y-o-o-backspace-u-r。用户输入检测器138还可以检测当指针被定位在像素248×586处时用户点击鼠标。

网络监听器140被配置为检测由计算设备132发送和接收的网络数据分组流量。网络监听器140可以接收与用于来自mail.co.uk服务器的数据的请求有关的数据分组。times.co.uk服务器可以将数据分组返回到计算设备132。被配置为接收与在计算设备132上运行的过程有关的数据的过程检测器,可以接收指示浏览器正在前台中运行的数据。过程检测器可以接收指示其他过程正在后台中运行的其他过程(诸如电子表格程序和pdf阅读器)的数据。过程检测器可以接收当用户将pdf程序切换到前台并且然后将浏览器返回到前台时的数据。

系统100将与在计算设备132上由用户130执行的活动134有关的数据提供到动作标识符142。动作标识符被配置为基于从图像采集器136、用户输入检测器138、网络监听器140以及可能地过程检测器接收到的数据,标识由用户执行的动作。动作标识符142将从部件接收到的数据与每个数据片的定时数据相比较以确定所执行的动作。例如,动作标识符142接收指示当在特定时间处指针被定位在像素248×586处时用户点击鼠标的数据。动作标识符142检查屏幕采集数据以确定该像素被定位在“发送”的文本中。动作标识器还可以检查网络数据,以确定网络流量指示计算设备132已发送与可能仅由动作标识符142可能不熟悉的编码所标识的特定用户可选择的按钮的选择有关的数据。基于该数据,动作标识器142可以确定用户已利用鼠标选择“发送”按钮。

动作标识器142可以可配置为在不同的颗粒度水平检测动作。例如,动作标识符142可以被配置为不将每个字母键击标识为动作。相反,动作标识符142可以通过切断空格键、回车或其他标点符号按键来标识何时用户录入全部词语(诸如“your(你的)”或“favourite(最爱)”)。动作标识符142还可以被配置为将每个键击标识为动作,使得y-o-u-r将是四个键击动作。

动作标识符142将标识由用户130执行的连续的动作的数据提供给过程标识符144。由动作标识符142标识的动作可以包括打开浏览器、录入网址、选择撰写进入user@mail.co.uk的“写下你最喜欢的颜色”并且选择发送。过程标识符144被配置为访问预测模型128以标识用户130正利用由动作标识符142所执行的动作而执行的过程。过程标识符144选择对应于动作的最可能的过程。过程标识符144可以生成指示对应于动作的特定过程的概率的可能性得分。过程标识符144可以计算用户撰写电子邮件的0.86的得分。其他得分可以是用于用户与其他用户聊天的0.61,以及用于用户将评论录入在社交媒体网站上的0.58。在这种情况下,过程标识符144确定用户130可能正撰写电子邮件。在一些实现中,过程标识符144可以比较来自不同的计算设备的数据并且比较所执行的动作。例如,当用户正录入文本时,过程标识符144可以从计算设备接收数据。几乎同时,相似文本出现在另一计算设备的屏幕上。过程标识符144可以将两个计算设备的动作链接在一起并且确定这两个用户彼此聊天。在一些实现中,过程标识符144可以基于对应的得分满足阈值,来标识对应于动作的超过一个过程。例如,过程标识符144可以标识具有大于0.8的阈值的得分的过程(诸如撰写电子邮件和浏览因特网)。

一旦过程标识符144标识对应于动作的过程,过程标识符144就将标识动作和对应的过程的数据提供到特性分配器146。特性分配器146访问特性数据存储库124以及在一些实现中的预测模型128。特性分配器146可以基于当考虑所执行的过程时用户已执行的动作,标识不同的特性。例如,如果用户130正撰写电子邮件并且使用拼写“colour(颜色)”和“favourite(最爱)”,那么可能用户130具有特性148,其正位于英国。特性分配器146还可以分配特性,诸如基于用户执行接收电子邮件并且查看具有文本中的“experience(经验)”和“education(教育)”的文档的过程,用户在人力资源部中工作。特性分配器146可以计算特性数据存储库124中的特性中的每个特性的得分。特性分配器146可以分配具有超过其他特性得分的某个得分的特性。备选地,特性分配器146可以分配具有满足阈值的得分的特性。

在一些实现中,系统100可以向预测模型训练器126提供反馈。反馈可以通过将附加数据提供到预测模型训练器126增加预测模型128的准确度。特性确认150可以从确认或者拒绝分配给用户(诸如用户130)的特性的用户接收反馈。特性确认或拒绝150可以不必从特性已被分配到的用户130接收。例如,附加用户可以审核所分配的特性。

在一些实现中,将用户分配到特性可以改进用户具有访问权的系统的安全性。用户可以具有基于用户在公司中的职位而被分配的访问和许可。基于由在相似职位的用户所执行的过程,系统100可以标识该位置中的初级组执行的过程和该位置中的高级组执行的过程。由高级组执行的过程可以包括一些附加过程。取代向初级用户提供对由高级用户所执行的那些全部过程的访问权,公司可以基于用户的资历特性通过降低职位具有访问权的过程来提高安全性。

图2图示了用于认知机器人学分析器的示例系统200。简单地,并且如下面更详细地描述的,系统200基于用户与计算设备的先前的交互,接收训练数据。训练数据标识用户的交互执行的过程以及表示变量数据的动作。系统200生成预测模型以将过程分配给其他用户与计算设备的交互并且标识执行相同过程的交互组中的变量。系统200还可以标识与整体过程无关的噪声或动作。

在图2中示出的示例中,系统200接收源自用户202、204和206的训练数据。用户202与计算设备208交互并且使用发票处理软件来录入在2017年2月2日到期的从abc供应商接收到的发票。用户204与计算设备210交互并且使用发票处理软件来录入一百美元的从rst供应商接收到的发票。用户206与计算设备212交互并且使用人力资源软件录入针对开发者职位命名alice的申请人的数据。计算设备208、210和212中的每个计算设备可以是被配置为通过网络通信的设备(诸如移动电话、平板电脑、膝上型计算机、台式计算机、手表)或被配置为通过触摸屏、键盘、麦克风、指点设备、天线、照相机或类似设备接收输入的任何其他设备。计算设备208、210和212中的每个计算设备还被配置为将数据输出到屏幕、扬声器或触觉反馈设备。

与图1的系统100相似,系统200被配置为通过监测和收集输入和输出数据来生成训练数据。系统200可以收集屏幕采集数据、执行图像识别、光学字符识别、监测网络流量、检测键盘按压、鼠标位置和点击、触摸数据、通过麦克风接收到的音频数据或通过照相机接收到的视觉数据。系统200可以以预定间隔或响应于接收到数据(诸如鼠标点击)而收集该数据。

系统200可以收集与由计算设备执行并且由每个用户使用的计算过程和软件有关的数据。系统200还可以收集与用户、用户的职业、用户的职位或其他类似类型的数据有关的数据。数据可以描述用户在公司中的资历。可以由用户或系统200提供的数据可以从由公司维护的人力资源数据存储库来检索数据。

系统200可以将数据214、216和218提供到过程标记器220。与过程标记器120相似,过程标记器220将由用户202、204和206执行的动作标记为执行一个或多个过程。过程标记器220将数据214和216各自标记为执行录入发票的过程。过程标记器220将数据218标记为执行将简历录入人力资源数据存储库中的过程。

系统200将数据214、216和218和过程标签提供到变量标识符222。变量标识符222标识相似过程的动作中的变量。例如,变量标识符122可以标识数据214与216之间的变量。数据214包含文本abc和日期2017年2月2日。数据216包含文本rst和数字一百。因为这两个过程共享相同标签,所以那将是录入发票。在一些实现中,变量标识符222可以标识并且可能地存储与每个变量有关的数据。例如,变量标识符220可以将abc和rst标识为供应商名称、将2017年2月2日标识为到期日,并且将一百标识为发票额。变量标识符220可以将数据(诸如供应商、到期日和金额)存储在变量数据存储224中。类似地,对于数据218而言,变量标识符222可以标识变量alice和开发者。与特性标记器122一样,可以通过审核数据214、216和218并且标识可能利用每个过程的每个执行改变的数据的部分的一个或多个个体来实现变量标识符222。

系统200将已经标记有不同的过程标签和变量标识符的数据提供到预测模型训练器226。与预测模型训练器126类似,预测模型训练器226生成被设计为将标签应用到用户与计算设备执行的动作的预测模型。预测模型训练器226将预测模型生成并且存储在预测模型数据存储库228中。预测模型训练器226使用神经网络生成预测模型。在示例中,如果用户访问发票处理程序并且录入看起来标识供应商、到期日和金额的数据,则预测模型训练器226可以生成用户作为执行录入供应商发票的过程的模型。然而,预测模型训练器226还可以训练模型以考虑其他因素(诸如词语拼写、使用的其他软件、访问的网站等)。一个因素可能不足以分配标签。在一些实现中,预测模型训练器226可以生成用于每个过程的模型。例如,可以存在标识录入发票、录入简历、发送电子邮件、录入约会日程表等的模型。

利用被存储在预测模型数据存储库228中的预测模型,系统200准备标识动作、过程和变量。在图2中所示的示例中,用户230与计算设备232交互。用户230访问发票处理软件并且录入123的发票号、供应商xyz、2017年1月1日的到期日以及一百美元的到期金额。计算设备232通过网络与被配置为检测由用户230执行的不同的动作的系统200的不同部件进行通信。部件包括图像采集器236,其被配置为采集计算设备232的屏幕的图像。部件还包括用户输入检测器238,其被配置为检测不同类型的用户输入。部件还包括网络监听器240,其被配置为监测从计算设备232接收和发送的网络数据。在一些实现中,部件包括被配置为查询计算设备232以检索正由包括在前台中运行的过程的计算设备232所执行的过程的设备。图像采集器236、用户输入检测器238和网络监听器240具有与图1的对应的部件相似的特性。

图像采集器236被配置为以周期性间隔采集设备232的显示器中所示的数据。例如,图像采集器236可以每五秒采集屏幕截图。图像采集器236还可以采集如由用户输入检测器238引导的屏幕。例如,当用户点击鼠标或者触摸屏幕时,图像采集器236可以采集屏幕。除了采集屏幕截图之外,图像采集器236还对屏幕截图执行光学字符识别。图像采集器236可以标识文本123、xyz、$100以及1/1/2017。图像采集器236还可以执行图像识别。例如,图像采集器236可能能够识别发票处理软件的标志。

用户输入检测器238被配置为通过各种类型的用户输入设备(诸如鼠标点击、键盘按压、屏幕触摸、打印作业、相机采集、麦克风输入、扬声器输出等)检测用户输入和输出。在图2中所示的示例中,用户输入检测器238检测到除其他按键按压之外,用户键入按键1-2-a-tab-xyz-tab-100。用户输入检测器238还可以检测当光标已定位在像素679×541处时用户键入“123”。

网络监听器240被配置为检测由计算设备232发送和接收的网络数据分组流量。网络监听器240可以接收与用于来自内部公司服务器的数据的请求有关的数据分组。内部服务器可以将数据分组返回到计算设备232。被配置为接收与在计算设备232上运行的过程有关的数据的过程检测器,可以接收指示发票处理软件正在前台中运行的数据。过程检测器可以接收指示其他过程正在后台中运行的其他过程(诸如电子邮件程序和网络浏览器)的数据。过程检测器可以接收当用户将网络浏览器程序切换到前台并且然后将发票处理软件返回到后台时的数据。

系统200将与在计算设备232上由用户230执行的活动234有关的数据提供到动作标识符242。与动作标识符142相似,动作标识符242被配置为基于从图像采集群236、用户输入检测器238、网络监听器240和可能地过程检测器接收到的数据,标识由用户230执行的动作。动作标识符242将从部件接收到的数据与每个数据片的定时数据相比较以确定所执行的动作。例如,动作标识符242接收指示当在特定时间处光标被定位在像素679×541处时用户键入“123”的数据。动作标识符242检查屏幕采集数据以确定该像素被定位在“发票号”的文本附近。动作标识符还可以检查网络数据以确定网络流量指示计算设备232将包括文本“123”的数据分组发送到内部公司服务器。基于该数据,动作标识符142可以确定用户230选择标记“发票号”的字段并且然后录入文本“123”。

动作标识器242可以可配置为以不同的颗粒度水平检测动作。例如,动作标识符242可以被配置为不将每个字母键击标识为动作。相反,动作标识符242可以标识用户何时录入由空格、标点符号或除键盘之外的另一输入分离的字母组。备选地,动作标识符242还可以被配置为将每个键击标识为动作,使得1-2-3将是三个所标识的动作。

动作标识符242将标识由用户230执行的连续的动作的数据提供到过程标识符244,其具有与过程标识符144相似的功能。由动作标识符242标识的动作可以包括点击文本“发票号”附近的鼠标、键入“123”、选择标签键以移动文本“供应商”附近的光标、键入“xyz”。过程标识符244被配置为访问预测模型228以标识用户230正利用由动作标识符242执行的动作而执行的过程。过程标识符244选择对应于动作的最可能的过程。过程标识符244可以生成指示对应于动作的特定过程的概率的可能性得分。过程标识符144可以计算用户录入发票的0.76的得分。其他得分可以是用户撰写电子邮件的0.54和用户将数据录入电子表格的0.39。在这种情况下,过程标识符244确定用户230可能正录入发票。

系统200将标识由用户230执行的连续动作和可能过程的数据提供到噪声检测器246。噪声检测器246访问被标记为执行相同过程的先前的动作组。在图2中所示的示例中,噪声检测器246取回执行录入发票的过程的动作组。噪声检测器246标识过程中间的相似动作并且将一些动作标识为噪声。噪声动作可以是与核心过程无关的噪声动作,而是相反表示由用户造成的附加输入或活动。例如,噪声检测器246将用户230的动作与录入发票的其他动作组相比较。噪声检测器246可以将一些动作(诸如键入“socialmedia.com”、“shopping.com”或“lunch(午餐)”)标识为不是录入发票的核心过程的一部分的动作,这是因为那些动作在从对应的动作组被移除时不影响过程。噪声检测器246可以通过移除动作并且将更新的动作组提供到过程标识符244来测试动作是否对应于噪声。基于由过程标识符返回的得分,噪声检测器246可以确定动作是否是噪声。例如,如果得分减小特定量,那么不太可能动作是噪声。如果得分未改变,那么更可能动作是噪声。

系统200提供标识由用户230执行的连续动作的数据、标识噪声动作的数据以及可能过程提供到变量分配器248。变量分配器248被配置为将变量标签分配到包括作为核心过程的一部分的信息但是通常针对执行过程的动作组中的每一个而变化的信息的动作。变量与噪声不同之处在于,如果变量从动作组被移除,那么过程得分可以改变,使得动作组不太可能对应于相同过程。例如,如果由用户230所执行的动作不包括键入“123”或键入“xyz”,那么过程标识符244可以确定动作不太可能对应于基于所计算的得分录入发票的过程。因此,变量分配器248可以将键入“123”和键入“xyz”的动作标记为变量。

在一些实现中,变量分配器248访问包括先前地所描述的变量的名字的变量数据存储库224。变量分配器248可以将变量名称分配到所标识的变量中的每个变量。变量分配器248可以基于在用户录入变量最近之前或不久之后所执行的动作而分配变量名。例如,动作键入“123”在移动文本“发票号”附近的光标的动作之前。变量分配器248可以使用该信息以基于“发票号”是在变量数据存储库224中命名的变量而命名该变量“发票号”。在图2中所示的示例中,变量分配器248将变量250命名为发票号、供应商、到期日和金额。

系统200可以包括过程和变量确认252,其被配置为从用户230或其他个体请求反馈,以确认或拒绝由过程标识符244、噪声检测器246和变量分配器248分配的标签。与特性确认150相似,系统200可以将反馈提供到预测模型训练器226以调节和更新预测模型228。

系统200可以用于生成和改进过程的自动化。例如,系统200可以标识通过检查执行过程的用户执行过程的快速的方式以及标识过程的基本动作。参考图2,系统200可以标识执行录入发票的过程的少量的动作。类似地,系统200可以标识延长录入发票的过程的动作。系统可以然后将引导提供到执行不必要的动作的用户。

在一些实现中,系统100和200可以被用于过程挖掘技术。过程挖掘技术可以被应用到所标识的动作和所标识的过程以标识被包含在动作中的趋势、模式以及细节。与上文所描述的部件中的一些部件相似,过程挖掘技术可以采用机器学习来调节和调整标识趋势、图案和细节的功能。

图3图示了用于认知机器人学分析器的示例系统300。系统300可以被分组为四个阶段,采集阶段320、收集和增强阶段340、分析阶段360以及结果阶段380。系统300被配置为根据相似特性对用户进行分组并且然后将共同许可分配给具有相同特性的用户。

采集阶段320收集与用户在计算设备上执行的动作有关的数据。动作可以与鼠标点击、键盘键入、触摸屏滑动、使用的软件等有关。系统300将所采集的动作数据提供到收集和增强阶段340。收集和增强阶段340将原始输入和输出动作提取到更高水平动作,诸如打开浏览器、录入网址、打开电子邮件、打开附件等。

分析阶段360从收集和增强阶段340接收动作数据并且应用预测模型来标识正由动作执行的过程。预测模型可以利用神经网络、机器学习、深度学习、上下文智能、数据聚类来标识由动作执行的过程。一些示例过程可以包括访问网站或接收并且查看附件。分析阶段360还基于用户在完成过程时采取的动作来确定每个用户的各种特性。例如,访问在co.uk中结束的网页或者使用拼写“colour(颜色)”的用户可以被定位在英国内。接收具有命名的简历、求职信或cv的电子邮件的用户可以被用在人力资源部中。用户可以执行涉及使用软件开发工具的过程,其可以是开发者的。

结果阶段380从分析阶段360接收用户特性并且根据特性对用户进行分组。结果阶段360可以对共享特性的用户授予某些许可并且拒绝对于共享其他特性的其他用户的许可。系统可以使许可基于由用户执行的实际动作,而不是用户应该执行的动作。

图4图示了执行相似过程的示例动作组400。每组动作可以被标识为通过系统200执行相同过程。例如,一组动作405、410、415和420可以各自执行录入发票的过程。

通过圆形和对应的字母图示每组动作中的每个动作。动作可以包括与上文所讨论的那些动作相似的动作(诸如点击鼠标、键入一系列字母、打开软件、切换应用等)。通过相似字母图示相似的动作。例如,t个动作全部执行相同或者相似动作。当系统比较动作组405、410、415和420时。系统将动作425标识为噪声,这是因为动作425被插入组420中,而在动作425之前和之后的动作对应于其他组405、410和415的动作。

系统还可以标识对应于变量的动作。在分析组405、410、415和420时,系统标识各自包括不同的信息的动作430。因为在动作430之前和之后的动作中的每个动作对应于相同的动作,并且因为每组405、410、415和420对应于相同的过程,所以系统将动作430标识为变量。组435图示了完整的过程,其中噪声425被移除,并且变量由“x”替换。

图5图示了用于认知机器人学分析器的示例过程500。一般而言,过程500训练预测模型以基于每个用户执行的过程或动作将用户分类为具有特定特性。过程500将被描述为由包括一个或多个计算机的计算机系统(例如,如在图1中所示出的系统100)执行。

系统针对多个用户特性中的每个用户特性,接收标识执行第一过程的一个或多个第一动作的第一数据以及标识执行被标记为与第一过程相似的第二过程的一个或多个第二动作的第二数据(510)。在一些实现中,系统对针对每个过程接收到的屏幕采集数据执行计算机视觉技术。计算机视觉技术可以执行光学字符识别和图像识别。在一些实现中,系统针对每个过程接收用户输入数据。用户输入数据可以包括键盘条目、鼠标点击、相机采集数据、麦克风采集数据、输出到扬声器的音频、发送到打印机的数据、无线地接收和发送的数据等。在一些实现中,系统基于由设备发送和接收的有线或无线网络分组来接收网络流量数据。

系统使用针对每个用户特性的第一数据并且使用针对每个用户特性的第二数据来训练预测模型,其被配置为将动作分类为与第一过程和第二过程相似或不相似(520)。在一些实现中,如果过程使用相同的软件或硬件,则过程是相似的。在一些实现中,如果其对应于相同的结果(诸如录入发票、发送电子邮件、接收电子邮件或录入搜索查询),则过程是相似的。在一些实现中,预测模型使用神经网络、机器学习、深度学习和数据聚类来生成模型。

系统接收标识由用户执行的动作的数据(530)。在一些实现中,动作包括键盘按压、鼠标点击、屏幕触摸、前台过程变化、场景变化、网络请求或网络接收。系统将预测模型应用到动作中的一个或多个动作(540)。系统基于将预测模型应用到动作中的一个或多个动作,将由一个或多个动作执行的过程分类为与关联于特定用户特性的特定过程相似(550)。在一些实现中,过程是用于进行以下各项的动作组:查看网站、接收一种类型的电子邮件附件、录入一种类型的数据、执行网络搜索、或使用一种类型的软件。

系统将用户与特定用户特性相关联(560)。在一些实现中,用户特性标识公司、地理位置、操作单元、操作角色或专业水平。在一些实现中,系统给用户提供确认或拒绝所分配的特性的选项。例如,用户可以确认用户位于英国。系统可以然后使用该数据调剂或重新训练预测模型。相似地,如果用户拒绝用户位于英国的特性,那么系统将还使用该数据调节或重新训练预测模型。

图6图示了用于认知机器人学分析器的示例过程。一般而言,过程600训练预测模型以标识执行过程的动作组中的变量。过程600将被描述为由包括一个或多个计算机的计算机系统(例如,如在图2中所示出的系统200)来执行。

系统接收标识被标记为执行相同过程的多组一个或多个动作的数据(610)。在每组一个或多个动作中,系统标识与变量信息相关联的特定动作(620)。在一些实现中,系统对接收到的数据执行计算机视觉技术(诸如光学字符识别和图像识别)。在一些实现中,系统通过分析用户输入标识动作,用户输入诸如可以包括键盘条目、鼠标点击、相机采集数据、麦克风采集数据、输出到扬声器的音频、发送到打印机的数据、无线地接收和发送的数据等。在一些实现中,系统基于由设备发送和接收的有线或无线网络分组接收网络流量数据。

系统使用标识被标记为执行相同过程的多组一个或多个动作的数据并且使用与变量信息相关联的特定动作来训练预测模型,其被配置为(i)将一组一个或多个动作分类为执行相同过程或不执行相同过程以及(ii)标识一组一个或多个动作中的、与变量信息相关联的动作(630)。在一些实现中,预测模型使用神经网络、机器学习、深度学习以及数据聚类来生成模型。

系统接收标识给定动作组的数据(640)。在一些实现中,动作是键盘按压、鼠标点击、屏幕触摸、前台过程变化、场景变化、网络请求或网络接收。系统将预测模型应用到给定动作组(650)。在一些实现中,系统基于将预测模型应用到给定动作组,标识给定动作组中的、与噪声动作相关联的附加动作。例如,噪声动作可以是在通常对应于特定过程(诸如当将发票录入电子表格中时键入购物)的动作之前和之后的动作。系统基于将预测模型应用到给定动作组,将给定动作组分类为执行相同过程并且标识给定动作组中的、与变量信息相关联的给定动作(660)。

系统输出将给定动作组分类为执行相同过程的数据以及标识给定动作和变量信息的数据(670)。在一些实现中,系统给用户提供将动作组确认或拒绝为执行相同过程并且变量信息是否实际上可变的选项。系统可以使用用户的响应来训练或调节预测模型。在一些实现中,系统将名称分配到变量信息。名称可以与变量(诸如“发票号”或“供应商”)附近的动作有关。在一些实现中,系统确定对应于变量信息的变量的类型。类型可以包括整数、字符串、长数、双数、字符或任何其他计算机变量类型。

图7示出了可以被用于实现此处所描述的技术的计算设备700和移动计算设备750的示例。计算设备700旨在表示各种形式的数字计算机,诸如膝上型电脑、台式电脑、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备750旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和任何其它类似的计算设备。此处示出的部件、其连接和关系以及其功能旨在仅是示例并且不旨在是限制性的。

计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和多个高速扩展端口710的高速接口708、以及连接到低速扩展端口714和存储设备706的低速接口712。处理器702、存储器704、存储设备706、高速接口708、高速扩展端口710和低速接口712中的每一个使用各种总线互连,并且可以被安装在共同主板上或酌情以其他方式被安装。处理器702能够处理用于在计算设备700内执行的指令,包括被存储在存储器704中或在存储设备706上以显示用于外部输入/输出设备(诸如耦合到高速接口708的显示器716)上的gui的图形显示的指令。在其它实现方式中,可以酌情连同多个存储器和多种存储器类型使用多个处理器和/或多个总线。而且,多个计算设备可以与提供必要操作的部分的每个设备连接(例如,作为服务器组、刀片服务器组或多处理器系统)。

存储器704将信息存储在计算设备700内。在一些实现中,存储器704是(一个或多个)易失性存储器单元。在一些实现中,存储器704是(一个或多个)非易失性存储器单元。存储器704还可以是另一形式的计算机可读介质(诸如磁盘或光盘)。

存储设备706能够为计算设备700提供海量存储。在一个实现方式中,存储设备706可以是或者包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他相似固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。指令可以被存储在信息载体中。当由一个或多个处理设备(例如,处理器702)执行时,指令执行一种或多种方法(诸如上文所描述的那些方法)。指令还可以由一个或多个存储设备(诸如计算机或机器可读介质,例如,存储器704、存储设备706或处理器702上的存储器)来存储。

高速接口708管理用于计算设备700的带宽密集的操作,而低速接口712管理较低带宽密集的操作。这样的功能分配仅是示例。在一些实现中,高速接口708被耦合到存储器704、显示器716(例如,通过图形处理器或加速器)以及高速扩展端口710,其可以接受各种扩展卡。在实现中,低速度接口712被耦合到存储设备706和低速度扩展端口714。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口714可以(例如,通过网络适配器)被耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪、或联网设备(诸如交换机或路由器)。

可以以许多不同的形式实现计算设备700,如在附图中所示。例如,其可以被实现为标准服务器720,或者多次被实现在这样的服务器组中。另外,其可以被实现在个人计算机(诸如膝上型计算机722)中。其还可以被实现为机架服务器系统724的一部分。备选地,来自计算设备700的部件可以与移动设备(诸如移动计算设备750)中的其他部件组合。这样的设备中的每个设备可以包含计算设备700和移动计算设备750中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。

除了其他部件之外,移动计算设备750还包括处理器752、存储器764、输入/输出设备(诸如显示器754)、通信接口766以及收发器768。移动计算设备750还可以被提供有存储设备(诸如微型驱动器或其他设备)以提供附加存储装置。处理器752、存储器764、显示器754、通信接口766和收发器768中的每一个使用各种总线被互连,并且部件中的若干部件可以被安装在共同主板上或视情况以其他方式被安装。

处理器752能够执行移动计算设备750内的指令,包括被存储在存储器764中的指令。处理器752可以被实现为芯片的芯片集,其包括分离的和多个模拟和数字处理器。处理器752可以提供例如移动计算设备750的其他部件的协调,诸如用户接口的控制、由移动计算设备750运行的应用以及由移动计算设备750造成的无线通信。

处理器752可以通过控制接口758和耦合到显示器754的显示接口756与用户通信。显示器754可以是例如tftlcd(薄膜晶体管液晶显示器)或oled(有机发光二极管)显示器或其它适当的显示技术。显示接口756可以包括用于驱动显示器754来将图形和其它信息呈现给用户的适当的电路。控制接口758可以从用户接收命令并且将其转换以用于提交给处理器752。另外,外部接口762可以提供与处理器752的通信,以便使得移动计算设备750能够与其他设备近区域通信。外部接口762可以提供例如一些实现方式中的有线通信或其它实现方式中的无线通信,并且还可以使用多个接口。

存储器764将信息存储在移动计算设备750内。存储器764可以被实现为以下各项中的一项或多项:计算机可读介质或媒体、(一个或多个)易失性存储器单元或(一个或多个)非易失性存储器单元。扩展存储器774还可以通过扩展接口772被提供并且被连接到移动计算设备750,其可以包括例如simm(单列存储器模块)卡接口。扩展存储器774可以为移动计算设备750提供额外存储空间,或者还可以存储用于移动计算设备750的应用或其他信息。特别地,扩展存储器774可以包括执行或补充上文所描述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器774可以提供为用于移动计算设备750的安全模块,并且可以被编程有允许移动计算设备750的安全使用的指令。另外,安全应用可以连同附加信息经由simm卡被提供(诸如以不可攻击的方式将标识信息放置在simm卡上)。

存储器可以包括例如闪速存储器和/或nvram存储器(非易失性随机存取存储器),如下文所讨论的。在一些实现中,指令被存储在信息载体中。当由一个或多个处理设备(例如,处理器752)执行时,指令执行一种或多种方法(诸如上文所描述的那些方法)。指令还可以由一个或多个存储设备(诸如一个或多个计算机或机器可读介质,例如,存储器764、扩展存储器774或处理器752上的存储器)来存储。在一些实现中,指令可以例如通过收发器768或外部接口762在传播信号中被接收。

移动计算设备750可以通过通信接口766无线地通信,其在必要的情况下可以包括数字信号处理电路。通信接口766可以提供在各种模式或协议下的通信,诸如gsm语音呼叫(全球移动通信系统)、sms(短消息服务)、ems(增强消息服务)或mms消息(多媒体消息服务)、cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝)、wcdma(宽带码分多址)、cdma2000或gprs(通用分组无线服务)。这样的通信可以例如通过使用射频的收发器768而发生。另外,短距离通信可能发生(诸如使用蓝牙、wifi或其他这样的收发器)。另外,gps(全球定位系统)接收器模块770可以将附加导航和位置相关无线数据提供给移动计算设备750,其可以视情况由在移动计算设备750上运行的应用来使用。

移动计算设备750还可以使用音频编解码器760可听地通信,其可以从用户接收语音信息并且将其转换为可用的数字信息。音频编解码器760可以同样地生成用于用户的可听的声音(诸如通过扬声器),例如,在移动计算设备750的听筒中。这样的声音可以包括来自语音电话呼叫的声音,可以包括录音(例如,语音消息、音乐文件等)并且还可以包括由在设备750上操作的应用生成的声音。

可以以许多不同的形式实现计算设备750,如在附图中所示。例如,其可以被实现为蜂窝电话780。其还能够被实现为智能电话582、个人数字助理或其它类似移动设备的一部分。

能够以数字电子电路、集成电路、特殊设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合实现本文所描述的系统和技术的各种实现方式。这些各种实现方式能够包括在包括至少一个可编程处理器的可编程系统上可执行和/或可解译的一个或多个计算机程序中的实现方式,可编程处理器(其可以是专用或者通用)耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及将数据和指令发送给存储系统、至少一个输入设备和至少一个输出设备。

这些计算机程序(还被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言和/或汇编/机器语言来实现。如本文所使用的,术语机器可读介质和计算机可读介质是指用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,此处所描述的系统和技术能够被实现在计算机上,该计算机具有用于将信息显示给用户的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)和用户通过其可以向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)。其它种类的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或触觉输入。

此处所描述的系统和技术能够被实现在计算系统中,其包括后端部件(例如,作为数据服务器),或者其包括中间件部件(例如,应用服务器),或者其包括前端部件(例如,具有用户通过其能够与此处所描述的系统和技术的实现方式交互的web浏览器的图形用户接口的客户端计算机)、或者这样的后端、中间件或前端部件的任何组合。系统的部件能够以任何形式或者数字数据通信例如通信网络的介质进行互连。通信网络的示例包括局域网(lan)、广域网(wan)和因特网。

计算系统能够包括客户端和服务器。客户端和服务器通常远离彼此并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且具有彼此的客户端-服务器关系的计算机程序而出现。

虽然上文已经详细描述了一些实现方式,但是其他修改是可能的。例如,虽然客户端应用被描述为访问(一个或多个)代理,但是在其他实现中,可以通过由一个或多个处理器实现的其他应用(诸如在一个或多个服务器上执行的应用)来采用(一个或多个)代理。另外,附图中所描绘的逻辑流不要求所示的特定次序或顺序次序来实现期望的结果。另外,其它步骤可以被提供到所描述的流,或者步骤可以从所描述的流被移除,并且其它部件可以被添加到所描述的系统或从所描述的系统被移除。因此,其他实现方案在所附权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1