CN117561523A - 与机器学习一起使用的数据准备 - Google Patents
与机器学习一起使用的数据准备 Download PDFInfo
- Publication number
- CN117561523A CN117561523A CN202180090947.4A CN202180090947A CN117561523A CN 117561523 A CN117561523 A CN 117561523A CN 202180090947 A CN202180090947 A CN 202180090947A CN 117561523 A CN117561523 A CN 117561523A
- Authority
- CN
- China
- Prior art keywords
- data
- computer
- executable instructions
- training
- computing device
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 212
- 238000002360 preparation method Methods 0.000 title description 96
- 230000009466 transformation Effects 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000012549 training Methods 0.000 claims abstract description 77
- 238000000844 transformation Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 36
- 230000006870 function Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 19
- 230000003190 augmentative effect Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 54
- 238000013461 design Methods 0.000 description 35
- 238000013501 data transformation Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000009471 action Effects 0.000 description 14
- 238000013500 data storage Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 230000001143 conditioned effect Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 208000025174 PANDAS Diseases 0.000 description 3
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 3
- 240000004718 Panda Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000282472 Canis lupus familiaris Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
获得机器学习(ML)图形的标识可用于准备用于ML训练的数据的一个或多个变换的基于文本的表示的系统和方法。所述系统和方法可以基于所述ML图形的所述基于文本的表示来确定计算机可执行指令,其中所述计算机可执行指令可以包括与准备用于ML训练的数据的所述一个或多个变换相关联的指令。另外地,所述系统和方法可以处理所述计算机可执行指令以基于至少所述一个或多个变换来生成ML训练数据。
Description
相关申请的交叉引用
本申请要求2020年11月30日提交的名称为“MACHINE LEARNING DATAPREPARATION FRONT END AND BACK END(机器学习数据准备前端和后端)”的美国临时专利申请号63/119,282和2021年6月25日提交的且名称为“DATA PREPARATION FOR USE WITHMACHINE LEARNING(与机器学习一起使用的数据准备)”的美国专利申请号17/359,382的权益,两件专利申请的公开内容以引用方式整体并入本文并用于所有目的。
背景技术
存在阻碍数据科学家以高效的方式分析和准备用于机器学习(ML)的数据的许多挑战。例如,在许多情况下,数据科学家无法轻松连接到各种数据源。此外,可能难以配置各种工具来执行数据科学特定变换以加速数据清理、变换和特征工程。数据准备中涉及许多挑战,并且难以使此类步骤完全自动化和可重现。
附图说明
将参考附图描述各种技术,在附图中:
图1示出了根据至少一个实施方案的允许用户诸如数据科学家生成和处理数据准备工作流程的计算环境;
图2示出了根据至少一个实施方案的允许用户诸如数据科学家生成和处理数据准备工作流程的另一计算环境;
图3示出了根据至少一个实施方案的在用户界面(UI)中显示的图形;
图4示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的示例性流程图;
图5示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的另一示例性流程图;
图6示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的又一示例性流程图;并且
图7示出了其中可实施各种实施方案的系统。
具体实施方式
本文描述的技术可用于实施与机器学习(ML)相关的系统和方法。如下文更详细描述的,为数据科学家提供了用于ML数据准备环境的交互式图形用户界面(UI),以分析和准备数据供ML应用和系统使用。使用本文描述的技术,数据科学家可以轻松连接到各种数据源,并利用一套内置的数据科学特定变换来加速数据清理、变换和特征工程。集成到集成机器学习环境中的插件注册并存留数据准备步骤。这些数据准备步骤可以包括数据提取、数据联接、数据清理和数据变换。
数据准备步骤可以以图形方式显示在ML数据准备环境的图形UI中。数据准备步骤可以显示为以图形方式显示在ML数据准备环境的图形UI中的图形的节点。图形的每个节点可以包括底层语法,诸如文本化语法或人类可读文本,指定输入、输出、节点标识符(ID)、一个或多个参数以及一个或多个函数。底层语法可以用于生成计算机可执行指令,诸如Python或其他合适的计算机代码语言,所述计算机可执行指令可以被执行来生成可以用于训练ML模型的数据,诸如根据一个或多个函数的经修改或调理的数据。生成计算机可执行指令可以由连接到提供集成ML环境的前端的后端服务(诸如在更多计算资源上运行的内核服务)促进。例如,后端服务可以接收与图形中的节点中的一个或多个相关联的底层数据,并且后端服务可以将底层数据转换为计算机可执行指令,所述计算机可执行指令可以被执行以执行以图形方式由图形的一个或多个节点表示的数据准备步骤。
本文描述的插件可以为集成机器学习环境的交互式插件,其利用Jupyter和JupyterLab扩展来构建针对ML数据准备任务的丰富的用户界面。可以利用各种部件来启用丰富的ML场景,包括用于交互式数据选择的UI、用于数据变换步骤或动作的图形设计、以及产品离子化。各种UI部件(诸如图形节点)可以向后端服务发送文本化请求以生成计算机可执行指令、执行应用逻辑和/或执行计算任务。数据选择服务可以在后端服务的上下文中实施,以用于交互式数据选择用户体验(UX)。数据变换服务可以在后端服务的上下文中实施,以处理来自图形设计UX的请求,并且可以将计算工作委托给计算引擎并与其他相关服务诸如ML数据变换流水线服务集成。各种计算部件可以包括用于管理图形构建和计算的计算引擎,以及构建在可以处理作业容器映像的ML服务的顶部上的运行时容器映像。映像可用于集成机器学习环境中的交互式会话或用于批量执行。
在各种描述的实施方案中,提供UI以允许用户诸如数据科学家生成数据准备工作流程,所述数据准备工作流程可以用于准备可用于一个或多个ML应用或ML实施方式的数据。在示例中,根据数据准备工作流程准备的数据可以用于训练ML模型。数据准备工作流程可以由多个用户同时访问,并且数据准备工作流程可与前端(诸如与网页浏览器相关联的UI)相关联。由各种数据科学家操作的几个前端可以访问数据准备工作流程以对数据准备工作流程进行扩大、故障排除、修改、保存和/或部署。在至少一个实施方案中,一个或多个资金计算装置为用于数据准备工作流程的一个或多个真实来源。
数据准备工作流程可以以图形方式显示在UI中作为图形结构,在本文中通常仅称为图形或逻辑图形。图形可以包括一个或多个节点。在示例中,一个或多个节点可以包括用于数据源的节点,所述数据源包括要由数据准备工作流程的操作修改并且随后用于训练ML模型的数据。可以存在多个数据源节点。与相应的数据源节点相关联的数据可以通过UI的用户可选择选项进行联接、合并或级联。来自相应的数据源节点的联接、合并或级联的数据可以显示为以图形方式显示在UI中的图形的节点。
UI可以提供一个或多个数据变换,其可以应用于与数据准备工作流程的数据源节点相关联的数据。一旦数据源节点与图形结构相关联,与UI交互的数据科学家就可以以图形方式快速访问一个或多个数据变换,以应用于与数据源节点相关联的数据。这些一种或多种数据形式可以包括特征化文本变换、字符统计变换、格式字符串变换、处理异常值变换、处理缺失值变换等。在下文中描述UI中提供的一个或多个数据变换的进一步细节。
允许用户生成数据准备工作流程的UI还可以包括用户可选择选项,以分析与一个或多个数据源节点相关联的数据。用户可选择选项可以允许数据科学家添加分析选项,所述分析选项使数据准备工作流程显示针对与一个或多个数据源节点相关联的数据的快速总结。快速总结可以包括数据中的多个条目,诸如行和/或列。替代性地或另外地,快速总结可以包括针对与一个或多个数据源节点相关联的数据中的数字数据的最小值和最大值。此外,快速总结可以包括基于与一个或多个数据源节点相关联的数据生成简明ML模型并为简明ML模型的特征评分。此外,快速总结可以包括与数据相关联的目标泄漏报告,其可以允许数据科学家确定数据的一个或多个特征是否与目标特征强相关。允许用户生成数据准备工作流程的UI还可以包括选项,所述选项允许数据科学家通过脚本语言等定义要对与一个或多个数据源节点相关联的数据执行的自定义分析例程。
允许用户生成数据准备工作流程的UI还可以包括用户可选择选项,以使与一个或多个数据源节点相关联的数据可视化。用户可选择选项可以允许数据科学家添加可视化选项,所述可视化选项使数据准备工作流程显示针对与一个或多个数据源节点相关联的数据的可视化。在示例中,可以与一个或多个数据源节点相关联的可视化选项包括生成与一个或多个数据源节点相关联的数据的直方图的选项。在另一示例中,可以与一个或多个数据源节点相关联的可视化选项包括生成与一个或多个数据源节点相关联的数据的散点图的选项。允许用户生成数据准备工作流程的UI还可以包括选项,所述选项允许数据科学家使用计算机可执行指令(诸如计算机代码)来定义针对与一个或多个数据源节点相关联的数据的一个或多个自定义可视化。
如上面所描述,由数据科学家使用集成ML环境的UI创建的数据准备工作流程可以呈包括一个或多个节点的以图形方式显示的图形的形式。在示例中,图形可以包括针对所选择的数据源的第一节点,所选择的数据源包括要准备和/或修改以准备在一个或多个ML操作或任务中使用诸如在训练ML模型中使用的数据。第一节点可以对应于来自多个数据集的数据,所述数据将根据UI的用户可选择变换进行联接、合并或级联。图形还可以包括链接到第一节点的第二节点,其中第二节点与诸如用于调理数据的一个或多个用户选择的变换相关联,所述一个或多个用户选择的变换将对数据执行以准备在一个或多个ML操作或任务中使用。包括第一和第二节点的图形仅作为示例进行描述。具体地,图形可以包含任意数量的节点,由数据科学家使用集成ML环境的UI将所述任意数量的节点包括在图形中。
允许用户生成数据准备工作流程的UI可以包括一个或多个用户可选择选项以导出数据准备工作流程。例如,具有第一和第二节点的上述图形可以通过UI的用户可选择选项转换为计算机可执行指令,诸如计算机代码。具体地,第一和第二节点中的每一个包括底层数据。此底层数据可以为文本化数据、简单文本、脚本语言、人类可读语法、JavaScript对象表示(JSON)语法、YAML语法和/或XML语法。UI的处理引擎可以被实施以辨识第一和第二节点的底层数据,并基于导出数据准备工作流程的一个或多个用户可选择选项将所述底层数据转换为可导出格式,所述可导出格式对应于由数据科学家选择的导出选项。在另一选项中,UI的处理引擎可以将数据准备工作流程的底层数据传送到后端接口,诸如一个或多个服务器或虚拟机,所述后端接口基于由数据科学家选择的导出选项来处理底层数据。用于导出数据准备工作流程的一个选项将数据准备工作流程的底层数据转换为Jupyter记事本。用于导出数据准备工作流程的另一个选项将数据准备工作流程的底层数据转换为ML流水线。用于导出数据准备工作流程的又一个选项将数据准备工作流程的底层数据转换为计算机可执行指令,诸如Python代码。在用于导出的另一个选项中,数据准备工作流程将数据准备工作流程的底层数据移动到计算机存储位置。
常规地说,准备用于ML目的(诸如ML模型训练)的数据为涉及使用大量计算机资源并消耗大量数据科学家工时的过程。根据前面以及下面提供的详细阐述,所描述的技术允许数据科学家快速连接到各种数据源,分析存储在这些数据源中的数据,并准备用于ML任务的数据。数据科学家可以与使用简便且直观的UI进行交互,以探索、变换和准备可以用于训练ML模型的数据。由UI提供的工具允许数据科学家创建数据变换流程的可视表示,数据变换流程可以由后端服务的计算资源处理,从而准备用于训练ML模型的数据。这种后端服务可以由提供各种服务的在线服务提供商提供,包括与一个或多个服务相关联的至少分布式计算资源。
在前面和以下的描述中,描述了各种技术。出于解释的目的,将阐述具体的配置和细节,以便提供对实施这些技术的可能方式的透彻理解。然而,还将显而易见的是,以下描述的技术可以在没有具体细节的情况下以不同的配置来实践。此外,为了避免所描述的技术变得模糊,可能会省略或简化众所周知的特征。
图1示出了其中可以实践至少一个实施方案的允许用户诸如数据科学家生成和处理数据准备工作流程的计算环境100。计算环境100可以包括一个或多个前端计算装置102和一个或多个后端计算装置104。一个或多个前端计算装置102可以包括一个或多个处理器和一个或多个计算机存储装置(诸如易失性和/或非易失性存储器)。一个或多个计算机存储装置可以存储一个或多个处理器可以执行以便实现与所描述的实施方案中的至少一个相关联的所描述的技术的计算机可执行指令,诸如计算机代码。类似地,一个或多个后端计算装置104可以包括一个或多个处理器和一个或多个计算机存储装置(诸如易失性和/或非易失性存储器)。一个或多个后端计算装置104的一个或多个计算机存储装置可以存储一个或多个处理器可以执行以便实现与所描述的实施方案中的至少一个相关联的所描述的技术的计算机可执行指令,诸如计算机代码。
在至少一个实施方案中,前端计算装置102为客户端计算装置,根据所提供的凭证信息,所述客户端计算装置具有对后端计算装置104的授权访问。此外,在至少一个实施方案中,后端计算装置104可以与由在线服务提供商提供的一个或多个服务相关联。在至少一个实施方案中,后端计算装置104与由在线服务提供商提供的数据准备服务相关联。由在线服务提供商提供的数据准备服务可以根据所描述的技术生成数据,所述数据被修改、调理和/或清理,以准备用于使用所述数据来训练一个或多个ML模型。
前端计算装置102可以显示一个或多个UI,诸如与浏览器106相关联的UI。根据至少一个实施方案,浏览器106可以显示提供数据准备设计工具110的设计UI 108。数据准备设计工具110可以由数据科学家访问,诸如在设计UI 108中标识的数据科学家112。在至少一个实施方案中,数据科学家112向后端计算装置104认证以获得对数据准备设计工具110的访问。由数据科学家112触发的认证过程可以包括前端计算装置102和后端计算装置104之间的凭证信息交换。凭证信息可以包括由数据科学家112提供的用户名和密码信息、由数据科学家112提供的访问密钥或由后端计算装置104以及后端计算装置104实施的认证服务辨识的任何其他合适的访问信息。
数据科学家112可以使用数据准备设计工具110来创建数据准备工作流程114,本文也称为数据准备流程、逻辑图形、图形和/或流程。在非限制性示例中,根据至少一个实施方案,数据科学家112可以使用数据准备设计工具110来生成图形114以包括第一节点116和第二节点118。可以生成图形114以包括任何数量的节点。在至少一个实施方案中,第一节点116为数据源节点并且第二节点118为变换节点118。在以下描述中提供数据源节点116和变换节点118的细节。
在至少一个实施方案中,数据科学家112可以使用与数据准备工作流程窗口120相关联的选项工具栏122来向图形114添加节点。在示例中,数据科学家112使用选项工具栏122来将数据源节点116添加到图形114。当数据科学家112使用数据准备设计工具110和选项工具栏122来添加数据源节点116时,工具110可以提示数据科学家112识别计算机存储位置,诸如计算机目录或文件夹,所述计算机存储位置包括要修改、调理和/或清理以准备使用数据来训练一个或多个ML模型的数据。在至少一个实施方案中,用于训练一个或多个ML模型的数据可以包括在数据库中。数据库可以包括一个或多个表。一个或多个表可以包括与数据库中的数据相关联的一个或多个列和一个或多个关联行。在实施方案中,数据准备设计工具110支持处理包含在CSV和/或Parquet文件中的数据。数据科学家112可以使用指针124来访问选项工具栏122,由与前端计算装置102通信的配件诸如鼠标或其他配件装置使所述指针移动。除了提示数据科学家112识别要准备来训练ML模型的数据的计算机存储位置之外,工具110还可以提示数据科学家112创建可以由数据准备设计工具110运行来选择要准备来训练ML模型的数据中的数据的查询脚本。
数据源节点116以图形方式显示在数据准备工作流程窗口120中。在至少一个实施方案中,由数据准备设计工具110促进的前端计算装置102存储数据源节点116的语法表示。数据源节点116的语法表示可以为与数据源节点116相对应的文本化数据、与数据源节点116相关联的基于文本的表示、与数据源节点116相关联的人类可读语法、与数据源节点116相对应的人类可读文本。在至少一个实施方案中,数据源节点116的语法表示为除了计算机可执行指令之外的任何语法表示。在至少一个实施方案中,数据源节点116的语法表示以超文本标记语言(“HTML”)、XML、JSON和/或可以由人或具有至少与平均人类智能水平相当的人工智能的机器解析和理解的另一类似脚本的语法来格式化。在至少一个实施方案中,与图形诸如图形114相关联的所有节点将各自具有底层关联语法表示。
在至少一个实施方案中,数据源节点116的语法表示标识存储位置,所述存储位置包括要修改、调理和/或清理以准备使用数据来训练一个或多个ML模型的数据。此外,在至少一个实施方案中,数据源节点116的语法表示包括分配给数据源节点116的节点ID。节点ID可以为字母数字值、数字值、散列值等。数据源节点116的语法表示可以根据由数据科学家112在将数据源节点116添加到图形114时选择或编写的查询脚本来标识一种或多种选择的数据类型。在至少一个实施方案中,数据源节点116的语法表示可以基于由数据科学家112发起的经由选项工具栏122更新数据源节点116的功能的动作来更新。在至少一个实施方案中,数据准备设计工具110基于对要准备来训练ML模型的数据的分析,自动地推断与数据相关联的一种或多种数据类型。此外,在至少一个实施方案中,数据准备设计工具110可以添加耦合到数据源节点116的不同节点,所述不同节点对应于基于由数据准备设计工具110执行的自动推断而与数据相关联的一种或多种数据类型和/或由数据科学家112做出或选择的一个或多个查询。这种不同节点可以包括标识一种或多种选择的或推断的数据类型的底层或关联语法。
数据准备设计工具110可以用于分配一个或多个处理动作以对由数据科学家112选择并与数据源节点116相关联的数据执行。在至少一个实施方案中,数据科学家112可以使用指针124来访问可以对数据科学家112选择的数据执行的一个或多个处理动作。在至少一个实施方案中,数据科学家112可以通过右击数据源节点116或通过访问数据准备工作流程窗口120的选项工具栏122来显示可选择的一个或多个处理动作。在至少一个实施方案中,数据科学家112可以通过点击数据准备工作流程窗口120中的另一可选择选项,诸如显示在数据准备工作流程窗口120中的可选择图标,来显示可选择的一个或多个处理动作。在图1所示的说明示例中,一个或多个处理动作被显示为数据准备工作流程窗口120的子窗口126内的多个数据变换。
在图1所示的说明示例中,数据科学家112从窗口126选择数据变换1。选择数据变换1可以使变换节点118被添加到图形114。此外,选择数据变换1可以使数据准备设计工具110生成变换节点118的语法表示。数据准备设计工具110可以使变换节点118的语法表示存储在前端计算装置102的计算机存储装置中。变换节点118的语法表示可以是与变换节点118相对应的文本化数据、与变换节点118相关联的基于文本的表示、与变换节点118相关联的人类可读语法、与变换节点118相对应的人类可读文本。在至少一个实施方案中,变换节点118的语法表示为除了计算机可执行指令之外的任何语法表示。在至少一个实施方案中,变换节点118的语法表示以HTML、XML、JSON和/或可以由人或具有至少与平均人类智能水平相当的人工智能的机器解析和理解的另一类似脚本的语法来格式化。在至少一个实施方案中,与图形诸如图形114相关联的所有节点将各自具有底层关联语法表示。
在至少一个实施方案中,变换节点118的语法表示标识链接或分配到数据变换1的函数名称。此外,在至少一个实施方案中,变换节点118的语法表示包括分配到变换节点118的节点ID。节点ID可以为字母数字值、数字值、散列值等。变换节点118的语法表示可以标识与图形114中的其他节点相关联的一个或多个节点ID。例如,变换节点118的语法表示可以标识与数据源节点116相关联的节点ID。在至少一个实施方案中,根据与变换节点118相关联的数据变换1,变换节点118的语法表示可以标识要修改、调理、变换等的数据的位置。
数据科学家112可以通过数据准备工作流程窗口120指示图形114的完成。这可以触发前端计算装置102生成消息128。可以生成消息128以包括与数据源节点116相关联的语法表示和/或与变换节点118相关联的语法表示。消息128可以传输到后端计算装置104。消息128可以由后端计算装置104处理。
在至少一个实施方案中,后端计算装置104包括内核容器130,其可以接收消息128并处理消息128以访问包含在其中的语法表示。在至少一个实施方案中,内核容器130为一类可以虚拟地封装和隔离应用的软件。内核容器130可以访问后端计算装置104的操作系统(OS)内核。此外,内核容器130可以容纳执行计算机可执行指令所必需的部件。这些部件可以包括文件、环境变量、依赖项和库。后端计算装置104的OS可以控制和促进内核容器130访问后端计算装置104的物理资源,诸如CPU、存储装置和存储器。
内核容器130可以使用包含在消息128中的语法表示来生成要传输到前端计算装置102的消息132。在示例中,生成消息132以包括可以用于训练ML模型的经修改的、经调理的和/或经清理的数据。在至少一个实施方案中,要包括在消息132中的数据根据在消息128中包含的语法表示中标识(诸如通过函数名称或函数ID)的一个或多个函数来处理。例如,函数名称或函数ID可用于定位和检索由内核容器130执行以修改、调理和/或清理由后端计算装置104的计算机存储装置存储的数据的函数。所定位的函数可以存储在后端计算装置104的计算机存储装置中。此外,可以使用包含在消息128中的语法表示中包括的数据存储位置信息来定位由后端计算装置104的计算机存储装置存储的数据。
在至少一个实施方案中,消息132还可以包括元数据。元数据可以指定与在消息128中传送到后端计算装置104的语法表示相关联的一个或多个节点ID。在至少一个实施方案中,可以用于训练ML模型的数据(包括在消息132中)的量由数据科学家112所选择的模式确定。例如,后端计算装置104可以包括可以用于基于由数据科学家112经由数据准备工作流程窗口120选择的模式来训练ML模型的有限量的总体数据。在至少一个实施方案中,数据准备设计工具110允许数据科学家,诸如数据科学家112,在与数据准备设计工具110相关联的各种操作模式之间切换。第一模式(诸如分析模式)可以使后端计算装置104在消息132内提供可以用于训练ML模型的总体数据的子集。另一方面,第二模式(诸如部署模式)可以使后端计算装置104在消息132内提供可以用于训练ML模型的所有数据。
消息128可以由前端计算装置102接收。在至少一个实施方案中,消息128由数据准备设计工具110处理。数据准备设计工具110可以处理消息128以检索基于由后端计算装置104执行的函数调用中的一个或多个而修改、调理和/或清理的数据。所检索的数据可以由数据准备工作流程窗口120显示。另外地或替代性地,前端计算装置102可以使用包含在消息128中的数据来训练一个或多个ML模型。
由数据准备设计工具110提供的数据变换可以包括以下变换。可以由数据准备设计工具110提供其他数据变换。
联接数据集变换:这些数据变换可以用于联接至少两个分开的数据集。(a)左外——包括左表中的所有行。如果针对联接到左表行的列的值与任何右表行值均不匹配,则所述行包含针对经联接的表中的所有右表列的空值。(b)左反——包括来自左表的不包含右表中针对经联接的列的值的行。(c)左半——包括来自左表的针对满足联接语句中的标准的所有相同行的单个行。这从左表排除与联接的标准匹配的重复行。(d)右外——包括来自右表的所有行。如果针对右表行中的经联接的列的值与任何左表行值均不匹配,则所述行包含针对经联接的表中的所有左表列的空值。(e)内——包括来自左表和右表的在经联接的列中包含匹配值的行。(f)全外——包括来自左表和右表的所有行。如果针对任一表中的经联接的列的行值不匹配,则在经联接的表中创建分开的行。如果某行不包含针对经联接的表中某列的值,则为所述列插入空。(g)笛卡尔交叉——包括将来自第一表的每个行与来自第二表的每个行组合在一起的行。这是来自处于连接的表的行的笛卡尔积。此积的结果为左表的大小乘以右表的大小。
级联数据集变换:此数据变换将数据集联接到另一数据集的端部。
编码类别变换:类别数据通常由有限数量的类别组成,其中每个类别用字符串表示。例如,包括指示某人所居住的国家的列的客户数据表为类别数据的示例。这些类别将为阿富汗、阿尔巴尼亚、阿尔及利亚等。类别数据可以是名义的或有序的。有序类别具有固有次序,并且名义类别不具有。所获得的最高学位(高中、学士、硕士)为有序类别的示例。
编码类别数据为创建针对类别的数字表示的过程。例如,如果类别为狗和猫,则此信息可以编码为两个向量:[1,0]表示狗,并且[0,1]表示猫。
当对有序类别进行编码时,可能需要将类别的自然次序转译为您的编码。例如,所获得的最高学位可以用以下映射表示:{“高中”:1,“学士”:2,“硕士”:3}。
使用类别编码将处于字符串格式的类别数据编码为整数数组。
类别编码器为定义步骤时列中存在的所有类别创建编码。如果当数据准备设计工具作业在时间t开始处理您的数据集时已将新类别添加到列,并且此列为针对时间t-1的类别编码变换的输入,则这些新类别被视为在作业中缺失。可以对这些缺失值应用无效处理策略。
有序编码变换:此变换将类别编码为介于0与所选择的输入列中的类别的总数之间的整数。
特征化文本变换:使用特征文本变换组来检查字符串类型的列并使用文本嵌入来使这些列特征化。此特征组包含两个特征:字符统计和向量化。
字符统计变换:使用字符统计变换为包含文本数据的列中的每个行生成统计。此变换计算针对每个行的以下比率和计数,并创建新列来报告结果。使用输入列名称作为前缀和特定于比率或计数的后缀来命名新列。字数:所述行中的字的总数。针对此输出列的后缀为-stats_word_count。字符数:所述行中的字符总数。针对此输出列的后缀为-stats_char_count。大写比率:从A到Z的大写字符的数量除以所述列中的所有字符。针对此输出列的后缀为-stats_capital_ratio。小写比率:从a到z的小写字符的数量除以所述列中的所有字符。针对此输出列的后缀为-stats_lower_ratio。数字比率:单个行中的数字与输入列中的数字的总和的比率。针对此输出列的后缀为-stats_digit_ratio。特殊字符比率:非字母数字(字符如#$&%:@)字符与输入列中的所有字符的总和的比率。针对此输出列的后缀为-stats_special_ratio。
格式字符串变换:格式字符串变换包含标准字符串格式化操作。例如,使用此变换来删除特殊字符、归一化字符串长度以及更新字符串大小写。
处理异常值变换:ML模型对您的特征值的分布和范围敏感。异常值或稀有值可能对模型准确性产生负面影响,并导致更长的训练时间。使用此特征组来检测和更新数据集中的异常值。处理异常值变换可以处理标准偏差数字异常值、四分位数数字异常值和最小-最大数字异常值。
处理缺失值变换:缺失值在ML数据集中很常见。在一些情况下,利用计算出的值(诸如平均值或类别上常见的值)来插补缺失数据是合适的。此类缺失值可以使用处理缺失值变换组来解决。
填充缺失变换:此变换可以用于利用由数据科学家指定的字段值来填充缺失值。
插补缺失变换:使用插补缺失变换来创建包含经插补的值的新列,其中在输入类别和数字数据中发现缺失值。配置取决于您的数据类型。
管理列变换:使用管理列变换来复制列、重命名列以及移动数据集中的列位置。
管理行变换:使用管理行变换来按给定列对整个数据框进行排序,或随机打乱数据集中的多个行。
图2示出了根据至少一个实施方案的允许用户诸如数据科学家生成和处理数据准备工作流程的另一计算环境200。计算环境200可以包括与内核容器204通信的集成ML环境202。在至少一个实施方案中,计算环境200可以提供结合图1所示的计算环境100描述的相同或几乎相同的功能。
集成ML环境202可以包括呈计算机可执行指令形式的软件,所述软件可以用于构建、训练、部署和分析机器学习模型。集成机器学习环境可以为用于机器学习的基于网页的集成开发环境(IDE)。集成ML环境202可以托管在包括一个或多个图形用户界面元素的基于网页的浏览器内。集成ML环境202可以实施为在客户端计算机系统上执行的软件。客户诸如数据科学家可以使用基于网页的浏览器登录到集成机器学习环境,并与来自基于网页的浏览器的插件进行交互。在至少一个实施方案中,集成ML环境202由客户端计算装置,诸如图1所示的前端计算装置102托管。
插件206可以指集成ML环境202的部件。插件可以实施为网页内的软件。JupyterLab前端插件可以封装为集成ML环境用户界面的一部分,并托管在共享的JupyterLab应用服务上。插件206可以是构建为JupyterLab插件的用户界面,所述用户界面可以通过以下查看、编辑和操纵图形(例如,向图形添加注释等)以及执行或评估图形(例如,通过请求节点上的要执行的输出):连接到执行后端,诸如内核容器204。在至少一个实施方案中,内核容器204由后端计算装置诸如图1所示的后端计算装置104托管。
视图208可以指要在插件内显示的信息的任何合适表示。在本文描述的至少一个实施方案中,视图208在React中实施–然而,这并不排除在其他实施方案中的其他实施方式,诸如使用PhosphorJS的实施方式。视图208可以指显示给用户的信息和/或数据的结构、布局和外观。数据可以以各种格式(诸如图表、表和图形)表示。在各种实施方案中,视图提供图形用户界面(GUI),用户可以与所述图形用户界面交互以从各种源(诸如数据存储服务、无服务器、交互式查询服务、云数据仓库服务等)导入数据。视图208可以提供客户可以与其交互以将数据导出到作业、ML数据变换流水线、代码等的图形元素。视图208可以根据或至少部分地基于软件设计模式来实施,所述软件设计模式诸如模型-视图-视图-模型(MVVM)框架、模型-视图-控制器(MVC)框架、模型-视图-表示器(MVP)框架以及用于分离软件应用的各个部件的职责的任何其他合适的范式。
视图模型210可以指公开公共性质和命令的视图的抽象。视图模型210可以具有绑定器,所述绑定器使视图和视图模型210中的其绑定的性质之间的通信自动化。例如,视图模型210可以描述为模型中的数据的状态。视图模型210可以根据或至少部分地基于软件设计模式来实施,所述软件设计模式诸如模型-视图-视图-模型(MVVM)框架或用于分离软件应用的各个部件的职责的任何其他合适的范式。在至少一些实施方案中,在MVVN模型中,绑定器用于使在视图与视图模型中的其绑定的性质之间的通信自动化。
模型212可以指独立于用户界面的应用的动态数据结构。模型可以直接管理应用的数据、逻辑和规则。模型可以按面向对象的方法或以数据为中心的方法或任何其他合适的方法来表示数据以在应用的上下文中对数据进行建模。在至少一些实施方案中,模型212包括用于JupyterLab文档的配方模型。在至少一些实施方案中,模型212与数据访问层交互,所述数据访问层可以表示为如图1所示的文档管理器214。在至少一些实施方案中,JupyterLab文档管理器向视图模型提供配方。
评估服务216可以由集成ML环境202用来通过连接到执行后端(诸如内核容器204)来评估图形,如图1所示。在至少一个实施方案中,评估服务216使用内核客户端218向内核容器204发送请求,诸如消息。内核客户端218可以为GraphQL(GQL)内核客户端218。GQL内核客户端218可以用于向自定义内核(诸如与内核容器204相关联,托管为容器化映像)提交请求或查询。在至少一个实施方案中,与集成ML环境202相关联的前端UI用于向API层228做出请求。API层228可以以任何合适的方式来实施–例如,API层228可以使用GraphQL来实施。在至少一个实施方案中,API层228预期单例运行时对象,所述单例运行时对象用于从接收自集成ML环境202的消息导出的所有图形相关请求。
本文所指的容器封装代码及其所有依赖项,因此应用(也称为任务)可以在计算环境之间快速且可靠地运行。容器映像为独立的、可执行的软件包,其包括运行应用进程所需的一切:代码、运行时、系统工具、系统库和设定。容器映像在运行时变成容器。因此,容器为应用层的抽象(意味着每个容器模拟不同的软件应用进程)。尽管每个容器运行隔离的进程,但多个容器可以共享公共操作系统,例如通过在同一虚拟机中启动。相比之下,虚拟机为硬件层的抽象(意指每个虚拟机模拟可以运行软件的物理机)。虚拟机技术可以用一个物理服务器运行相当于多个服务器(其中的每一个称为虚拟机)。虽然多个虚拟机可以在一个物理机上运行,但每个虚拟机通常具有其自身的操作系统的副本,以及应用及其相关文件、库和依赖项。虚拟机通常称为计算实例或简称为“实例”。一些容器可以在运行容器代理的实例上运行,并且一些容器可在裸机服务器上运行。
在软件容器的上下文中,“任务”是指容器或一起工作的多个容器,运行以执行软件应用或所述应用的特定部件的功能。在一些实施方式中,任务还可以包括虚拟机,例如在托管容器的实例内运行的虚拟机。“任务定义”可以使容器映像能够在云提供商网络中运行以执行任务。任务定义可以指定参数,包括哪个容器映像与任务中的每个容器一起使用、容器之间的交互、对云提供商网络内容器放置的约束、应该为任务或特定容器分配多少量的不同的硬件资源、联网模式、记录配置、应该与任务中的容器一起使用的持久存储装置、以及如果容器完成或失败则任务是否继续运行。可以将多个容器分组到同一任务定义中,例如必须一起运行以执行应用的相关进程的经链接的容器、共享资源的容器或需要在同一底层主机上运行的容器。通过将应用的不同部件分离到其自身的任务定义中,整个应用堆栈可以跨越多个任务定义。可以使用服务定义来定义应用,所述服务定义可以指定定义服务的配置参数,包括要使用哪个(哪些)任务定义、要运行的每个任务的实例化数量以及应该如何对任务进行负载平衡。
API层228可以包括用于在集成ML环境202与内核容器204之间发送和接收自定义消息的通信部(WebSocket)220。API层228的消息处理程序222可以为订阅来自通信部220的传入消息并将其分派到GQL解算器224或与关联于内核容器204的内核捆绑的任何合适的GraphQL API代码的软件部件。在实施方案中,与集成ML环境202相关联的浏览器可以经由通信部经持久化内核连接来发送GQL查询和变化消息。
在至少一个实施方案中,内核容器204的逻辑计算层230包括管理器226。数据准备运行时可以包括负责设定执行运行时上下文(例如,PySpark)并执行API请求的无状态单例对象。在至少一个实施方案中,管理器226采用与图形诸如图形114相关联的一个或多个语法表示,并将一个或多个语法表示编译成可以由物理计算执行层244处理的一种或多种可执行形式。
在至少一个实施方案中,图形被采用为对解算器232的输入。可以假定图形为在集成ML环境202中生成的整个图形。解算器232可以根据Dask、Spark或任何其他合适的执行器将图形解算为任务图形。解算器232可以例如将函数名称转译为实际函数方法,以及对图形的每个节点供应函数参数以产生经解算的图形234。解算器232可以利用函数库238来获得实际函数方法。装饰器236可以添加装饰器层。装饰器或副作用被添加到可执行图形以产生经装饰的图形240。一旦生成经装饰的图形240,运行时就可以使用由调度器242促进的Dask、Spark或任何其他合适的执行器来执行,以处理任务依赖管理和调度。
内核容器204的原语可以为运算符函数和运算符上下文。运算符函数可以是纯函数(其为有效地延迟梳理的Python方法或类似方法),并且运算符上下文可以充当针对在方法被调用时供应的运行时属性的存储装置。这允许运行时添加装饰器(如下面更详描述的),所述装饰器使用作为调用的副作用但不影响调用结果的运行时属性。
如上文所指出,可以根据Dask、Spark、pandas或任何其他合适的执行器将图形(诸如逻辑图形)计算为任务图形。下文提供与图形节点相关联的语法的示例:
{
“node_id”:“node-02”,
“operator”:“sagemaker.spark.rename_column_0.1”,
“inputs”:[{“name”:“default”,“node_id”:“node-01”,“output_name”:“default”}],
“outputs”:[{“name”:“default”}],
“parameters”:{“column”:“Cabin”,“new_name”:“Compartment”},
},
在至少一个实施方案中,每个Dask任务可能需要任务ID、任务函数和任务输入依赖项。对于逻辑图形中的节点,“node_id”被重复用于“task_id”。使用来自“function”的函数名称,相关的运算符函数被用作任务函数。还为运算符函数供应来自逻辑图形的要在调用时使用的参数。可以通过解算上述的“inputs”来指定输入。例如,输入项可以解算为“{node_id}#{output_name}”。为了向任务供应正确的输入,在每个任务之后添加输出提取器。输出提取器可以为抓取指定输出的对象。对于针对目标节点输出的结果,在指定的“{node_id}#{output_name}”任务之后添加头部节点。此头部节点可以负责限制总结果并将pandas DF返回到API层228以返回到前端,诸如集成ML环境202。
装饰器或调用副作用可以添加为任务图形函数的核心调用周围的包装器。在至少一些实施方案中,装饰器至少在一些情况下不影响结果。装饰器可以包括高速缓存、错误处理、持久结果和调试。关于高速缓存,因为运算符函数为无状态函数,所以用于调用的自变量可以被散列并用作高速缓存键。如果自变量的散列存在于高速缓存中,则装饰器只返回高速缓存结果。在本公开的范围内可以设想其他高速缓存实施方式。如果输入中的任一个提供错误响应,则错误处理装饰器可以传播错误。否则,装饰器可以将核心调用包装在try-except子句中以处理响应中的错误。关于持久结果装饰器,结果可以被持久化到外部存储区(例如,任何合适的数据存储服务),这对于长时间运行的任务可以特别有用。调试装饰器可以用于调试和记录针对每个任务的输入、追踪添加了哪些装饰器、对任务进行监测和基准分析等。
根据至少一个实施方案的架构包括托管集成ML环境202可以向其发送请求的Python GraphQL API服务器的地方。API服务器还可以具有对各种下游部件的访问,所述各种下游部件诸如:共享的可缩放弹性文件存储(EFS)服务;用于认证、授权和计费(AAA)或其组合的凭证,其可以使用身份和访问管理(IAM)服务;任何合适的数据源,诸如数据存储服务、无服务器、交互式查询服务、云数据仓库服务等。API服务器可以专用于单个实例/会话。API服务器可以配置有对访问计算引擎以发送请求(例如,与其搭配或者能够连接到其)的许可。在架构上,在至少一个实施方案中,可以利用在具有灵活实例类型选择的专用LL实例上托管计算引擎的地方。在一些情况下,部件具有OE特征,诸如生产监测、记录、报警、其任意组合等。部件可以具有可用于生产力的开发环境。部件可以经由自我管理的流水线部署到部署流水线中的各种堆栈,诸如beta、gamma、prod堆栈。
数据选择部件可以为轻量级软件应用或其部件,以处理和管理少量数据以供预览工作并将其委托给所托管的服务,诸如下游数据存储区。数据选择部件可以生成数据集定义作为其主要制品/输出,并将其传递给下游部件,所述下游部件可以规模处理数据。在至少一个实施方案中,使用至少一个Jupyter服务扩展来实施数据选择部件。数据选择服务器可以产生服务器扩展(其继而可以代理至运行实际服务器程序的另一进程)。集成ML环境202可以经由HTTPS向数据选择服务器扩展发送请求。在一些实施方案中,数据选择服务器与数据变换和计算容器捆绑在一起,如下文更详细描述的。
根据至少一个实施方案的数据变换部件可以为轻量级代理扩展,所述轻量级代理扩展将前端请求重定向到在专用计算服务实例(诸如图2中所示的内核容器204和/或图1中所示的内核容器130)上运行的定制内核网关应用。在至少一个实施方案中,定制内核网关应用容器包括数据变换API、执行引擎两者以及可选的数据选择服务器实施方式。可以使用任何合适的传输协议诸如HTTPS或WSS(WebSocket Secure)来与内核网关容器进行通信。
图3示出了根据至少一个实施方案的包括提供UI的至少一个客户端计算装置302的计算环境300。客户端计算装置302可以以与图1所示的前端计算装置102和/或图2中所示的集成ML环境202相同的方式实施。因此,客户端计算装置302可用于根据所描述的与前端计算装置102和/或集成ML环境202相关联的操作功能进行操作。
在至少一个实施方案中,客户端计算装置302提供显示在浏览器窗口或其他合适的UI中的数据准备设计工具304。数据准备设计工具304可以包括与图1所示的数据准备设计工具110相关联的功能中的一些或所有。数据科学家306可以与数据准备设计工具304交接以在数据准备设计工具304的数据准备工作流程窗口310内创建图形308。数据准备设计工具304的操作工具栏312可以用于将图形节点添加到图形308。数据科学家306可以使用指针314来与选项工具栏312交互,这有助于添加节点和/或从图形308删除节点。图形308被示为包括节点316、318、320和322。根据本文描述的实施方案,所指示的节点316、318和322中的每一个可以具有相关联的带下划线的语法表示。
在至少一个实施方案中,图形308由数据科学家306生成以包括数据源合并节点320。在至少一个实施方案中,数据科学家306可以通过以下生成数据源合并节点320:选择合并与数据源节点316和数据源节点318相关联的数据,以生成对应于数据源合并节点320的合并数据集。可以通过选项工具栏312中的选项促进数据集的合并。与数据源合并节点320相关联的合并数据可以通过选择在使用指针314可访问的数据变换子窗口324中提供的一个或多个数据变换来修改、调理和/或清理。
在至少一个实施方案中,选项工具栏可以提供用户选择以将图形308转换为可执行代码。例如,当选项工具栏由数据科学家306选择时,可以呈现将图形308转换为可以由一个或多个计算装置(诸如装置302)执行的代码表示的选项。在至少一个实施方案中,数据准备设计工具304支持将图形308转换为Python代码,诸如pandas或Dask、Spark、C++、Java、Javascript、Haskell等。基于经转换的图形308的代码表示可以显示在数据准备工作流程窗口310中,本地存储在装置302中,和/或由后端的计算资源(诸如后端计算装置104的计算机资源和/或实施内核容器204的后端计算资源)托管或存储其中。
在至少一个实施方案中,数据准备设计工具304可以允许数据科学家306指定编程代码、语言或者计算机可执行指令,所述编程代码、语言或者计算机可执行指令将在数据科学家306选择将图形308转换为代码表示时生成。例如,一个或多个后端计算资源(诸如后端计算装置104的计算资源和/或托管内核容器204的后端计算资源)可以存储或访问可以用于将图形308及其底层语法转换为代码表示的一种或多种编程语言。可以用于将图形308转换为代码表示的一种或多种编程语言可以由数据科学家306提供,使得数据准备设计工具304可用于将图形308转换为用户选择的代码表示。替代性地或此外,一个或多个后端计算资源可以询问内部和/或外部计算资源以定位以下项:编程代码、语言或者与编程代码、语言相关联的计算机可执行指令或指定在将图形308转换为代码表示时使用的计算机可执行指令。
图4示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的示例性流程图400。在一些实施方式中,流程图400的动作由示例性系统环境100、200和/或300的一个或多个计算装置执行。示例性系统环境100、200和/或300可以执行含有流程图400的处理动作中的至少一些的计算机可执行指令,以根据本文描述的实施方案中的至少一个提供一个或多个图形的生成和使用。
本文公开的技术的特定实施方式为取决于计算装置的性能和其他要求的选择问题。相应地,本文描述的逻辑操作(也称为动作)不同地称作状态、操作、结构装置、动作或模块。这些状态、操作、结构装置、动作和模块可以以硬件、软件、固件、特殊用途数字逻辑以及其任何组合来实施。应该了解,可以执行比图中示出且本文描述的更多或更少的操作。这些操作也可以与本文描述的不同的次序来执行。还应理解,本文描述的方法可以在任何时间结束且不需要以其整体执行。
可以通过执行包括在计算机存储介质上的计算机可读指令来执行本文描述的方法的一些或所有操作和/或大体上等效的操作。如说明书和权利要求书中所使用,术语“计算机可读指令”及其变体在本文中广泛地用于包括例行程序、应用、应用模块、程序模块、系统模块、程序、部件、数据结构、算法等等。计算机可读指令可以实施在各种系统配置上,所述系统配置包括单处理器或多处理器系统、小型计算机、大型计算机、分布式计算机系统、个人计算机、手持式计算装置、基于微处理器的可编程消费性电子装置、其组合等等。
因此,应该了解,本文描述的逻辑操作实施为:(1)运行在计算系统上的一系列计算机实施的动作或程序模块和/或(2)计算系统内的互连的机器逻辑电路或电路模块。实施方式为取决于计算系统的性能和其他要求的选择问题。相应地,本文描述的逻辑操作不同地称作状态、操作、结构装置、动作或模块。这些操作、结构装置、动作和模块可以以软件、固件、特殊用途数字逻辑以及其任何组合实施。
在402处,获得与使用ML UI生成的图形相关联的文本化数据。图形可以至少包括:标识数据源的第一节点,所述数据源包括要为训练ML模型而准备的数据;以及第二节点,所述第二节点标识要对要为训练ML模型而准备的数据执行的处理动作。在至少一个实施方案中,图形由前端计算装置诸如图1中所示的前端计算装置102和/或提供集成ML环境202的计算装置生成。与图形相关联的文本化数据可以由后端计算装置诸如图1中所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置获得。
在404处,基于获得的文本化数据来确定计算机可执行指令。计算机可执行指令可以包括对应于文本化数据的第一部分的第一组计算机可执行指令和对应于文本化数据的第二部分的第二组计算机可执行指令。在至少一个实施方案中,计算机可执行指令可以由后端计算装置诸如图1中所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置确定。
在406处,执行计算机可执行指令以生成输出。输出可以至少包括数据的经修改的版本,数据的经修改的版本根据由图形的第二节点标识的处理动作来生成。计算机可执行指令可以由后端计算装置诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置执行。
在至少一个实施方案中,流程图400可以被扩大以包括:分析计算机可执行指令以确定要添加到第一组计算机可执行指令或第二组计算机可执行指令的装饰器;和/或在执行计算机可执行指令以生成输出之前,将装饰器添加到第一组计算机可执行指令或第二组计算机可执行指令。在至少一个实施方案中,后端计算装置(诸如图1中所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置)可以用于执行所描述的分析和/或添加动作。
图5示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的示例性流程图500。在一些实施方式中,流程图500的动作由示例性系统环境100、200和/或300的一个或多个计算装置执行。示例性系统环境100、200和/或300可以执行含有流程图500的处理动作中的至少一些的计算机可执行指令,以根据本文描述的实施方案中的至少一个提供一个或多个图形的生成和使用。
在502处,获得使用ML UI生成的图形的语法表示。图形可以包括表示要对数据执行的处理的节点。在至少一个实施方案中,图形由前端计算装置诸如图1中所示的前端计算装置102和/或提供集成ML环境202的计算装置生成。图形的语法表示可以由后端计算装置诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置获得。
在504处,存储基于图形的语法表示的计算机可执行指令。在至少一个实施方案中,后端计算装置(诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置)可以存储计算机可执行指令。在至少一个实施方案中,存储计算机可执行指令可以包括:从非易失性存储器检索计算机可执行指令;以及将计算机可执行指令和易失性存储器存储于就绪状态以供后端计算装置的处理器执行。
在至少一个实施方案中,流程图500可以被扩大以包括:确定包括在文本中的函数名称;基于包括在文本中的函数名称来定位计算机可执行指令;以及将计算机可执行指令加载到RAM中。此外,流程图500可以被扩大以包括:生成包括ML训练数据和节点ID的消息;以及将包括ML训练数据和节点ID的消息传输到客户端计算装置,所述消息可由客户端计算装置使用以使客户端计算装置基于至少节点ID在ML UI中显示ML训练数据。此外,流程图500可以被扩大以包括:将ML训练数据传输到客户端计算装置,ML训练数据的至少一部分要显示在ML UI中;以及基于从标识存储数据的数据源的语法表示的一部分确定数据源的位置,从数据源检索数据,并且其中计算机可执行指令使用所检索的数据来生成ML训练数据。在至少一个实施方案中,后端计算装置(诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置)可以用于执行前面描述的函数或动作。
图6示出了根据至少一个实施方案的可以与所描述的系统环境中的一个或多个相关联以供生成和使用图形来产生可用于训练机器学习模型的经修改的数据的示例性流程图600。在一些实施方式中,流程图600的动作由示例性系统环境100、200和/或300的一个或多个计算装置执行。示例性系统环境100、200和/或300可以执行含有流程图600的处理动作中的至少一些的计算机可执行指令,以根据本文描述的实施方案中的至少一个提供一个或多个图形的生成和使用。
在602处,ML图形的基于文本的表示标识可用于准备用于ML训练的数据的一个或多个变换。在至少一个实施方案中,ML图形由前端计算装置诸如图1所示的前端计算装置102和/或提供集成ML环境202的计算装置生成。ML图形的基于文本的表示可以由后端计算装置诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置获得。
在604处,基于ML图形的基于文本的表示确定计算机可执行指令。计算机可执行指令可以包括与准备用于ML训练的数据的一个或多个变换相关联的指令。在至少一个实施方案中,后端计算装置(诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置)可以确定计算机可执行指令。在至少一个实施方案中,确定计算机可执行指令可以包括:从非易失性存储器定位计算机可执行指令;以及将计算机可执行指令和易失性存储器存储于就绪状态以供后端计算装置的处理器执行。
在606处,处理基于至少一个或多个变换来生成ML训练数据的计算机可执行指令。在至少一个实施方案中,后端计算装置(诸如图1所示的后端计算装置104和/或实施图2中所示的内核容器204的后端计算装置)可以处理计算机可执行指令。在至少一个实施方案中,处理计算机可执行指令包括:使处理器执行基于至少一个或多个变换来生成ML训练数据的计算机可执行指令。在至少一个实施方案中,处理计算机可执行指令包括:使一个或多个处理器编译和执行基于至少一个或多个变换来生成ML训练数据的计算机可执行指令。
在至少一个实施方案中,流程图600可以被扩大以包括:将生成的ML训练数据传输到客户端计算装置,所述客户端计算装置使计算机系统获得ML图形的基于文本的表示;和/或关联装饰器与基于ML图形的基于文本的表示来确定的计算机可执行指令,所述装饰器扩大基于至少一个或多个变换来生成ML训练数据的计算机可执行指令。在至少一个实施方案中,流程图600可以被扩大以包括:生成包括ML训练数据的消息;和/或将包括ML训练数据的消息传输到客户端计算装置,所述消息可由客户端计算装置使用以使客户端计算装置显示ML训练数据。
图7示出了用于实施根据实施方案的各方面的示例性系统700的各方面。如将了解,尽管出于解释目的使用基于网络的系统,但是可视情况使用不同系统来实施各个实施方案。在一个实施方案中,系统包括电子客户端装置702,该电子客户端装置包括可操作来在适当网络704上发送和/或接收请求、消息或信息并且将信息传送回装置用户的任何适当装置。此类客户端装置的示例包括个人计算机、手机或其他移动电话、手持式消息传递装置、膝上计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等等。在一个实施方案中,网络包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网、卫星网络或任何其他此类网络和/或它们的组合,并且用于此类系统的部件至少部分地取决于选定网络和/或系统的类型。用于通过此类网络进行通信的许多协议和部件是众所周知的,因而本文不再详细论述。在一个实施方案中,网络上的通信通过有线和/或无线连接及其组合来实现。在一个实施方案中,网络包括互联网和/或其他可公开寻址的通信网络,因为系统包括用于接收请求并且响应于所述请求而提供内容的web服务器706,然而对于其他网络来说,可使用服务类似目的的替代装置,如本领域普通技术人员所显而易见的。
在一个实施方案中,说明性系统包括至少一个应用服务器708和数据存储区710,并且应当理解,可以存在可以链接起来或以其他方式来配置的若干应用服务器、层或其他元件、过程或部件,其可进行交互以执行如从适当数据存储区获得数据的任务。在一个实施方案中,服务器被实施为硬件装置、虚拟计算机系统、在计算机系统上执行的编程模块、和/或配置有硬件和/或软件的其他装置以通过网络接收和响应通信(例如,网络服务应用编程接口(API)请求)。如本文所使用的,除非另有说明或从上下文中清楚,术语“数据存储区”指代能够存储、访问和检索数据的任何装置或装置组合,所述装置的装置组合可包括任何标准、分布式、虚拟或集群式系统中的任何组合和任何数目的数据服务器、数据库、数据存储装置和数据存储介质。在一个实施方案中,数据存储区与块级和/或对象级接口通信。应用服务器可包括任何适当硬件、软件和固件,所述硬件、软件和固件视执行客户端装置的一个或多个应用的各方面的需要而与数据存储区集成、处置应用的部分或全部数据访问和业务逻辑。
在一个实施方案中,应用服务器与数据存储区合作提供访问控制服务并生成内容,包括但不限于文本、图形、音频、视频和/或由web服务器按以下形式提供给与客户端装置相关联的用户的其他内容:超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、级联样式表(“CSS”)、JavaScript对象表示法(JSON)、和/或另一种适当的客户端或其他结构化语言。在一个实施方案中,传送到客户端装置的内容由客户端装置处理以提供一种或多种形式的内容,包括但不限于用户可以通过听觉、视觉和/或其他感官感受到的形式。在一个实施方案中,所有请求和响应的处理以及客户端装置702与应用服务器708之间的内容传递由web服务器使用以下各项处理:PHP超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML、JSON和/或本示例中另一种合适的服务器端结构化语言。在一个实施方案中,本文描述为由单个装置执行的操作由形成分布式和/或虚拟系统的多个装置共同执行。
在实施方案中,数据存储区710包括用于存储与本公开的特定方面相关的数据的若干单独的数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机构和介质。在实施方案中,所示的数据存储区包括用于存储生产数据712和用户信息716的机构,所述生成数据和用户信息用于提供用于生产端的内容。数据存储区还被示出为包括用于存储日志数据714的机构,所述日志数据在实施方案中用于报告、计算资源管理、分析或其他此类目的。在实施方案中,诸如页面图像信息和访问权限信息(例如,访问控制策略或其他许可编码)之类的其他方面视情况存储在以上列出的任何机构中的数据存储区中或数据存储区710中的附加机构中。
在一个实施方案中,通过与其相关联的逻辑,数据存储区710是可操作的以从应用服务器708接收指令并响应于该指令获得、更新或以其他方式处理数据,并且应用服务器708响应于所接收到的指令提供静态、动态数据或静态和动态数据的组合。在一个实施方案中,动态数据(诸如在网络日志(博客)、购物应用、新闻服务和其他此类应用中使用的数据)由如本文所述的服务器端结构化语言生成或由在应用服务器上操作或在其控制下操作的内容管理系统(“CMS”)提供。在一个实施方案中,用户通过用户操作的装置提交对某类项目的搜索请求。在此示例中,数据存储区访问用户信息以验证用户的身份,访问目录详细信息以获得有关所述类型的项目的信息,并将信息返回给用户,诸如在用户经由用户装置702上的浏览器查看的网页上的结果列表中。继续此示例,在浏览器的专用页面或窗口中查看针对感兴趣的特定项目的信息。然而,应注意,本公开的实施方案不一定限于网页的上下文,而是更普遍地适用于一般处理请求,其中请求不一定是对内容的请求。示例性请求包括管理由系统700和/或另一系统托管的计算资源和/或与其进行交互的请求,诸如用于启动、终止、删除、修改、读取、和/或以其他方式访问此类计算资源。
在实施方案中,每个服务器通常包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行时,使或以其他方式允许服务器执行其预期功能(例如,所述功能是作为根据服务器的一个或多个处理器执行存储在计算机可读存储介质上的指令的结果而实现的)。
在一个实施方案中,系统700是利用经由通信链路(例如,传输控制协议(TCP)连接和/或传输层安全(TLS)或其他加密保护的通信会话)使用一个或多个计算机网络或直接连接互连的若干计算机系统和部件的分布式和/或虚拟计算系统。然而,本领域的普通技术人员将理解,此类系统可以在具有比图7中所示的更少或更多数量的部件的系统中操作。因此,图7中的系统700的描绘应该被视为本质上是说明性的并且不限制本公开的范围。
各个实施方案可以进一步在广泛范围的操作环境中实施,在一些情况下,所述操作环境可以包括可用于操作多个应用中的任一个的一个或多个用户计算机、计算装置或处理装置。在一个实施方案中,用户或客户端装置包括多个计算机中的任一个,诸如运行标准操作系统的台式计算机、膝上计算机或平板计算机,以及运行移动软件并能够支持多个联网和消息传递协议的(移动)手机、无线和手持式装置,并且此类系统还包括运行各种可商购得的操作系统和其他已知应用中的任一个的多个工作站,用于诸如开发和数据库管理之类的目的。在一个实施方案中,这些装置还包括其他电子装置(诸如虚拟终端、瘦客户端、游戏系统和能够经由网络进行通信的其他装置),以及利用操作系统级别虚拟化的虚拟装置(诸如虚拟机、管理程序、软件容器),以及支持能够经由网络进行通信的虚拟化的其他虚拟装置或非虚拟装置。
在一个实施方案中,系统利用本领域技术人员可能熟悉的至少一种网络来使用各种可商购得的协议中的任一种支持通信,所述协议如传输控制协议/互联网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各层中操作的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、公共互联网文件系统(“CIFS”)以及其他协议。在一个实施方案中,网络是局域网、广域网、虚拟专用网、互联网、内部网、外联网、公共交换电话网、红外网络、无线网络、卫星网络以及它们的任何组合。在一个实施方案中,面向连接的协议用于在网络端点之间进行通信,使得面向连接的协议(有时称为基于连接的协议)能够在有序流中传输数据。在一个实施方案中,面向连接的协议可以是可靠的或不可靠的。例如,TCP协议是一种可靠的面向连接的协议。异步传输模式(“ATM”)和帧中继是不可靠的面向连接的协议。面向连接的协议与面向数据包的协议(诸如UDP)形成对比,后者在没有保证的排序的情况下传输数据包。
在一个实施方案中,系统利用web服务器,该web服务器运行各种服务器或中间层应用中的一个或多个,包括超文本传输协议(“HTTP”)服务器、FTP服务器、公共网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器和业务应用服务器。在一个实施方案中,一个或多个服务器还能够响应于来自用户装置的请求而执行程序或脚本,如通过执行实施为以任何编程语言(如C、C#或C++)或任何脚本语言(如Ruby、PHP、Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个web应用。在一个实施方案中,一个或多个服务器还包括数据库服务器,包括但不限于从和/>可商购得的那些,以及开源服务器,如MySQL、Postgres、SQLite、MongoDB以及其他任何能够存储、检索和访问结构化或非结构化数据的服务器。在一个实施方案中,数据库服务器包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器、或者这些和/或其他数据库服务器的组合。
在一个实施方案中,系统包括以上讨论的各种数据存储区以及其他存储器和存储介质,其可驻留在各种位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在一个实施方案中,信息驻留在本领域技术人员熟悉的存储区域网(“SAN”)中,并且类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件视情况本地和/或远程存储。在系统包括计算机化装置的实施方案中,每个此类装置可包括经由总线电耦合的硬件元件,这些元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如鼠标、键盘、控制器、触摸屏或小键盘)、至少一个输出装置(例如显示装置、打印机或扬声器)、至少一个存储装置诸如磁盘驱动器、光学存储装置、和固态存储装置诸如随机存取存储器(“RAM”)或只读存储器(“ROM”),以及可移除的媒体装置、存储卡、闪存卡等,以及它们的各种组合。
在一个实施方案中,此类装置还包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外通信装置等)、以及如上所述的工作存储器,其中计算机可读存储介质读取器连接或被配置来接收计算机可读存储介质,表示远程、本地、固定和/或可移除的存储装置以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。在一个实施方案中,系统和各种装置通常还包括位于至少一个工作存储器装置内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,如客户端应用或web浏览器。在一个实施方案中,使用定制硬件,和/或特定元件在硬件、软件(包括可移植软件,如小程序)或两者中实施。在一个实施方案中,采用与如网络输入/输出装置的其他计算装置的连接。
在一个实施方案中,用于含有代码或部分代码的存储介质和计算机可读介质包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实施的易失性和非易失性、可移除和不可移除的介质,包括RAM、ROM、电可擦可编程只读存储器(“EEPROM”)、闪存或另一个存储器技术、只读光盘驱动器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文提供的公开内容和教义,本技术领域普通技术人员将了解实施各个实施方案的其他方式和/或方法。
在贯穿本公开描述的各种实施方案中,计算资源被配置为通过将计算机可读可执行指令加载到存储器中来执行任务(例如,生成数据、处理数据、存储数据、路由消息、传输数据、提交请求、处理请求),所述计算机可读可执行指令作为一个或多个处理器的执行的结果使一个或多个处理器执行指令以执行任务。在至少一个实施方案中,一种计算机系统被配置为通过控制特定命令、请求、任务、作业等的执行的软件应用来执行任务。计算机系统可以被配置为通过以下执行编码在软件应用中的计算机可读指令:将软件应用的可执行代码加载到存储器中并使用计算机系统的一个或多个处理器来运行可执行指令。
因此,说明书和附图被认为是说明性的而不是限制性的意义。然而,将显而易见的是,在不脱离如在权利要求中阐述的主题的更宽精神和范围的情况下,可以对其做出各种修改和改变。
其他变型也在本公开的精神内。因此,尽管所公开的技术可进行各种修改和替代性构造,但在附图中示出并在上文中详细描述了其某些示出的实施方案。然而,应理解,并不旨在将由权利要求阐述的主题限制到所公开的一种或多种具体形式,相反,旨在涵盖落在如所附权利要求限定的本公开的精神和范围内的所有修改、替代性构造和等效形式。
在描述所公开的实施方案的上下文中(尤其是在以下权利要求的上下文中),术语“一个”和“一种”以及“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非在本文另外地指示或明显地与上下文矛盾。同样,“或”一词的使用应被解释为表示“和/或”,除非明确或与上下文矛盾。术语“包括”、“具有”、“包含”和“含有”应被解释为开放式术语(即,意味着“包括但不限于”),除非另有说明。术语“连接的”在未进行修改并且指代物理连接的情况下应解释为部分地或全部地纳入在以下解释内:附接至或结合在一起,即使存在介入物。除非本文另外指明,否则本文中值范围的列举仅仅意图用作个别地表示属于所述范围的各单独值的速记方法,并且犹如本文个别描述地那样将各单独值并入到本说明书中。除非上下文另有说明或矛盾,否则术语“集合”(例如,“项的集合”)或“子集”的使用应被解释为包括一个或多个成员的非空集合。此外,除非上下文另有说明或矛盾,否则对应集合的术语“子集”不一定表示对应集合的真子集,而是所述子集和对应集合可以相等。除非另有明确说明或从上下文中清楚,否则“基于”一词的使用意为“至少部分地基于”而不限于“仅仅基于”。
连结语,诸如“A,B,和C中的至少一个”或“A,B和C中的至少一个”形式的短语(即带有或不带有序列逗号的相同短语),除非另有特别说明或与另外与上下文明显矛盾,应在上下文中理解为通常用来表示某个项、术语等可以是A或B或C,A和B和C的集合的任何非空子集,或与上下文没有矛盾或另外排除在外(包含至少一个A,至少一个B或至少一个C)的任何集合。例如,在具有三个成员的集合的说明性示例中,连结短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下任意集合:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C},并且如果没有明显矛盾或与上下文矛盾,则具有{A},{B}和/或{C}的任何集合作为子集(例如,具有多个“A”的集合)。因此,这种连结语通常不意图暗示某些实施方案要求存在A中的至少一个,B中的至少一个和C中的至少一个。类似地,诸如“A,B,或C中的至少一个”和“A、B或C中的至少一个”的短语所指代的与“A,B,和C中的至少一个”和“A、B或C中的至少一个”所指代的相同,都是指代以下任意集合:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C},除非上下文中明确或清晰地指出不同的含义。另外,除非另有说明或与上下文矛盾,否则术语“多个”指示为复数的状态(例如,“多个项”指示多项)。多个项的数量为至少两个,但如果明确或通过上下文指示,则可以更多。
除非本文中另有指示或另外与上下文明显矛盾,否则本文中所描述的过程的操作都可以按任何合适的顺序进行。在一个实施方案中,诸如本文所描述的那些过程(或其变型和/或组合)的过程在配置有可执行指令的一个或多个计算机系统的控制下执行并且被实施为由硬件或其组合共同地在一个或多个处理器上执行来实施的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。在一个实施方案中,代码例如以计算机程序的形式存储在计算机可读存储介质上,所述计算机程序包括可由一个或多个处理器执行的多个指令。在一个实施方案中,计算机可读存储介质为排除暂时性信号(例如,传播的瞬态电或电磁传输)但包括在暂时性信号的收发器内的非暂时性数据存储电路(例如,缓冲器、高速缓存和队列)的非暂时性计算机可读存储介质。在一个实施方案中,代码(例如,可执行代码或源代码)被存储在其上存储有可执行指令的一组一个或多个非暂时性计算机可读存储介质上,所述可执行指令在由计算机系统的一个或多个处理器执行时(即,由于被执行)使计算机系统执行本文所述的操作。在一个实施方案中,该组非暂时性计算机可读存储介质包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的一个或多个单独的非暂时性存储介质不具有所有代码,而所述多个非暂时性计算机可读存储介质共同存储所有代码。在一个实施方案中,执行可执行指令,使得不同的指令由不同的处理器执行,例如,在一个实施方案中,非暂时性计算机可读存储介质存储指令,并且主CPU执行某些指令,而图形处理器单元执行其他指令。在另一个实施方案中,计算机系统的不同部件具有分开的处理器,并且不同的处理器执行指令的不同子集。
因此,在一个实施方案中,计算机系统被配置为实施单独地或共同地执行本文所描述的过程的操作的一个或多个服务,并且这样的计算机系统配置有使得能够执行操作的适用的硬件和/或软件。此外,计算机系统在本公开的实施方案中为单个装置,并且在另一实施方案中为分布式计算机系统,其包括不同地操作的多个装置,使得分布式计算机系统执行本文描述的操作,并且使得单个装置不执行所有操作。
本文所提供的任何以及所有示例性或例示性语言(例如,“诸如”)的使用仅意图更好地说明各种实施方案,并且除非另外要求保护,否则不会对权利要求的范围施加限制。说明书中的任何语言均不应被解释为指示任何非要求保护的要素对于实践本文公开的发明主题材料都是必需的。
本文描述了本公开的实施方案,包括发明人已知的用于执行本文描述发明构思的最佳模式。阅读上述描述后,那些实施方案的变型对于本领域普通技术人员可以变得显而易见。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于如本文所特别描述的方式来实践本公开的实施方案。因此,如适用法律所允许,本公开的范围包括此处所附权利要求中叙述的主题的所有修改和等效物。此外,除非本文另外指示或明显地与上下文矛盾,否则本公开的范围涵盖其所有可能变型中的上述元素的任何组合。
可以鉴于以下条款中的至少一个来描述至少一个实施方案:
1.一种计算机实施的方法,所述方法包括:获得与使用机器学习(ML)用户界面生成的图形相关联的文本化数据,所述图形至少包括第一节点和第二节点,所述第一节点标识包括要准备用于训练ML模型的数据的数据源,所述第二节点标识要对要准备用于训练所述ML模型的所述数据执行的处理动作;基于获得的文本化数据来确定计算机可执行指令,所述计算机可执行指令包括对应于所述文本化数据的第一部分的第一组计算机可执行指令和对应于所述文本化数据的第二部分的第二组计算机可执行指令;以及执行所述计算机可执行指令以生成输出,所述输出至少包括所述数据的经修改的版本,所述数据的所述经修改的版本根据由所述图形的所述第二节点标识的所述处理动作而生成。
2.根据条款1所述的计算机实施的方法,其中所述文本化数据的所述第一部分与所述图形的所述第一节点相关联,并且所述文本化数据的所述第二部分与所述图形的所述第二节点相关联。
3.根据条款1或2所述的计算机实施的方法,其还包括:分析所述计算机可执行指令以确定要添加到所述第一组计算机可执行指令或所述第二组计算机可执行指令的装饰器;以及在执行所述计算机可执行指令以生成所述输出之前,将所述装饰器添加到所述第一组计算机可执行指令或所述第二组计算机可执行指令。
4.根据条款1-3中任一项所述的计算机实施的方法,其还包括:获得指示用户选择的模式的信息,所述模式可用于确定要包括在所述输出中的所述数据的所述经修改的版本的数量。
5.一种系统,其包括:一个或多个处理器;以及存储器,所述存储器存储计算机可执行指令,计算机可执行指令可由所述一个或多个处理器执行以使系统:获得使用机器学习(ML)用户界面(UI)生成的图形的语法表示,所述图形包括表示要对数据执行的处理的节点;存储基于所述图形的所述语法表示的计算机可执行指令;以及执行所述计算机可执行指令以由所述数据生成ML训练数据。
6.根据条款5所述的系统,其中所述图形的所述语法表示包括文本,所述文本至少包括针对表示要对所述数据执行的处理的所述节点的节点标识符(ID)以及函数名称。
7.根据条款6所述的系统,其中存储所述计算机可执行指令包括:确定包括在所述文本中的所述函数名称;基于包括在所述文本中的所述函数名称来定位所述计算机可执行指令;以及将所述计算机可执行加载到随机存取存储器(RAM)中。
8.根据条款5-7中任一项所述的系统,其中所述计算机可执行指令可由所述一个或多个处理器执行以进一步使所述系统:生成包括所述ML训练数据和所述节点ID的消息;以及将包括所述ML训练数据和所述节点ID的所述消息传输到客户端计算装置,所述消息可由所述客户端计算装置使用以使所述客户端计算装置基于至少所述节点ID在所述ML UI中显示所述ML训练数据。
9.根据条款5-8中任一项所述的系统,其中所述计算机可执行指令可由所述一个或多个处理器执行以进一步使所述系统:将所述ML训练数据传输到客户端计算装置,所述ML训练数据的至少一部分要在ML UI中显示。
10.根据条款5-9中任一项所述的系统,其中要对所述数据执行的所述处理对应于至少一个预定义的变换函数,其在被执行时修改所述数据,所述至少一个预定义的变换函数包括被存储和执行以由所述数据生成所述ML训练数据的所述计算机可执行指令。
11.根据条款5-10中任一项所述的系统,其中包括表示要对所述数据执行的处理的所述节点的所述图形还包括表示存储所述数据的数据源的另一节点,所述图形的所获得的语法表示标识存储所述数据的所述数据源。
12.根据条款5-11中任一项所述的系统,其中所述计算机可执行指令可由所述一个或多个处理器执行以进一步使所述系统:基于从标识存储所述数据的所述数据源的所述语法表示的一部分确定所述数据源的位置,从所述数据源检索所述数据,并且其中所述计算机可执行指令使用所检索的数据来生成所述ML训练数据。
13.一种上面存储可执行指令的非暂时性计算机可读存储介质,所述可执行指令作为由计算机系统的一个或多个处理器执行的结果,使所述计算机系统:获得机器学习(ML)图形的基于文本的表示,所述基于文本的表示标识可用于准备用于ML训练的数据的一个或多个变换;基于所述ML图形的所述基于文本的表示来确定计算机可执行指令,所述计算机可执行指令至少包括与准备用于ML训练的数据的所述一个或多个变换相关联的指令;以及处理所述计算机可执行指令以基于至少所述一个或多个变换来生成ML训练数据。
14.根据条款13所述的非暂时性计算机可读存储介质,其中所述ML图形的所述基于文本的表示包括可用于准备用于ML训练的数据的所述一个或多个变换的函数名称。
15.根据条款13或14所述的非暂时性计算机可读存储介质,其中确定所述计算机可执行指令包括:使用包括在所述ML图形的所述基于文本的表示中的所述函数名称来定位所述计算机可执行文件。
16.根据条款13-15中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,使所述计算机系统将所生成的ML训练数据传输到客户端计算装置的指令,所述客户端计算装置使所述计算机系统获得所述ML图形的所述基于文本的表示。
17.根据条款13-16中任一项所述的非暂时性计算机可读存储介质,其中所获得的所述ML图形的所述基于文本的表示还标识所述ML图形与可用于准备用于ML训练的所述数据的所述一个或多个变换相对应的一部分。
18.根据条款13-17中任一项所述的非暂时性计算机可读存储介质,其中获得所述ML图形的标识可用于准备用于ML训练的所述数据的所述一个或多个变换的所述基于文本的表示包括:从客户端计算装置接收消息,所述消息包含标识所述ML图形的节点的文本、可用于准备用于ML训练的所述数据的所述一个或多个变换的标识符、以及所述数据中的所述一个或多个变换要在处理与所述一个或多个变换相关联的所述计算机可执行指令时变换所针对的一部分。
19.根据条款13-18中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令:作为由所述一个或多个处理器执行的结果,使所述计算机系统将装饰器与基于所述ML图形的所述基于文本的表示来确定的所述计算机可执行指令相关联,所述装饰器扩大基于至少所述一个或多个变换来生成所述ML训练数据的所述计算机可执行指令。
20.根据条款13-19中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括以下指令:作为由所述一个或多个处理器执行的结果,使所述计算机系统:生成包括所述ML训练数据的消息;以及将包括所述ML训练数据的所述消息传输到客户端计算装置,所述消息可由所述客户端计算装置使用以使所述客户端计算装置显示所述ML训练数据。
21.一种计算机实施的方法,所述方法包括:获得机器学习(ML)图形的基于文本的表示,所述基于文本的表示标识可用于准备用于ML训练的数据的一个或多个变换;基于所述ML图形的所述基于文本的表示来确定计算机可执行指令,所述计算机可执行指令至少包括与准备用于ML训练的数据的所述一个或多个变换相关联的指令;以及处理所述计算机可执行指令以基于至少所述一个或多个变换来生成ML训练数据。
22.根据条款21所述的计算机实施的方法,其中所述ML图形的所述基于文本的表示包括可用于准备用于ML训练的数据的所述一个或多个变换的函数名称。
23.根据条款21或22所述的计算机实施的方法,其中确定所述计算机可执行指令包括:使用包括在所述ML图形的所述基于文本的表示中的所述函数名称来定位所述计算机可执行文件。
24.根据条款21-23中任一项所述的计算机实施的方法,其还包括:将所生成的ML训练数据传输到客户端计算装置,所述客户端计算装置使所述计算机系统获得所述ML图形的所述基于文本的表示。
25.根据条款21-24中任一项所述的计算机实施的方法,其中所获得的所述ML图形的所述基于文本的表示还标识所述ML图形与可用于准备用于ML训练的所述数据的所述一个或多个变换相对应的一部分。
26.根据条款21-25中任一项所述的计算机实施的方法,其中获得所述ML图形的标识可用于准备用于ML训练的所述数据的所述一个或多个变换的所述基于文本的表示包括:从客户端计算装置接收消息,所述消息包含标识所述ML图形的节点的文本、可用于准备用于ML训练的所述数据的所述一个或多个变换的标识符、以及所述数据中的所述一个或多个变换要在处理与所述一个或多个变换相关联的所述计算机可执行指令时变换所针对的一部分。
27.根据条款21-26中任一项所述的计算机实施的方法,其还包括:将装饰器与基于所述ML图形的所述基于文本的表示来确定的所述计算机可执行指令相关联,所述装饰器扩大基于至少所述一个或多个变换来生成所述ML训练数据的所述计算机可执行指令。
本文所引用的所有参考文献(包括出版物、专利申请和专利)据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。
Claims (15)
1.一种系统,其包括:
一个或多个处理器;以及
存储器,所述存储器存储计算机可执行指令,所述计算机可执行指令能由所述一个或多个处理器执行以使所述系统:
获得使用机器学习(ML)用户界面(UI)生成的图形的语法表示,所述图形包括表示要对数据执行的处理的节点;
存储基于所述图形的所述语法表示的计算机可执行指令;以及
执行所述计算机可执行指令以由所述数据生成ML训练数据。
2.根据权利要求1所述的系统,其中所述图形的所述语法表示包括文本,所述文本至少包括针对表示要对所述数据执行的处理的所述节点的节点标识符(ID)以及函数名称。
3.根据权利要求2所述的系统,其中存储所述计算机可执行指令包括:
确定包括在所述文本中的所述函数名称;
基于包括在所述文本中的所述函数名称来定位所述计算机可执行指令;以及
将所述计算机可执行文件加载到随机存取存储器(RAM)中。
4.根据权利要求2所述的系统,其中所述计算机可执行指令能由所述一个或多个处理器执行以进一步使所述系统:
生成包括所述ML训练数据和所述节点ID的消息;以及
将包括所述ML训练数据和所述节点ID的所述消息传输到客户端计算装置,所述消息能由所述客户端计算装置使用以使所述客户端计算装置基于至少所述节点ID在所述ML UI中显示所述ML训练数据。
5.根据权利要求1所述的系统,其中所述计算机可执行指令能由所述一个或多个处理器执行以进一步使所述系统:
将所述ML训练数据传输到客户端计算装置,所述ML训练数据的至少一部分要显示在所述ML UI中。
6.根据权利要求1所述的系统,其中要对所述数据执行的所述处理对应于至少一个预定义的变换函数,所述至少一个预定义的变换函数在被执行时修改所述数据,所述至少一个预定义的变换函数包括被存储和执行以由所述数据生成所述ML训练数据的所述计算机可执行指令。
7.根据权利要求1所述的系统,其中包括表示要对所述数据执行的处理的所述节点的所述图形还包括表示存储所述数据的数据源的另一节点,所述图形的所获得的语法表示标识存储所述数据的所述数据源。
8.根据权利要求7所述的系统,其中所述计算机可执行指令能由所述一个或多个处理器执行以进一步使所述系统:
基于从标识存储所述数据的所述数据源的所述语法表示的一部分确定所述数据源的位置,从所述数据源检索所述数据,并且其中所述计算机可执行指令使用所检索的数据来生成所述ML训练数据。
9.一种计算机实施的方法,所述方法包括:
获得机器学习(ML)图形的标识能用于准备用于ML训练的数据的一个或多个变换的基于文本的表示;
基于所述ML图形的所述基于文本的表示来确定计算机可执行指令,所述计算机可执行指令至少包括与准备用于ML训练的数据的所述一个或多个变换相关联的指令;以及
处理所述计算机可执行指令以基于至少所述一个或多个变换来生成ML训练数据。
10.根据权利要求9所述的计算机实施的方法,其中所述ML图形的所述基于文本的表示包括能用于准备用于ML训练的数据的所述一个或多个变换的函数名称。
11.根据权利要求10所述的计算机实施的方法,其中确定所述计算机可执行指令包括:使用包括在所述ML图形的所述基于文本的表示中的所述函数名称来定位所述计算机可执行文件。
12.根据权利要求9所述的计算机实施的方法,其还包括:将所生成的ML训练数据传输到客户端计算装置,所述客户端计算装置使所述计算机系统获得所述ML图形的所述基于文本的表示。
13.根据权利要求9所述的计算机实施的方法,其中所获得的所述ML图形的所述基于文本的表示还标识所述ML图形与能用于准备用于ML训练的所述数据的所述一个或多个变换相对应的一部分。
14.根据权利要求9所述的计算机实施的方法,其中获得所述ML图形的标识能用于准备用于ML训练的所述数据的所述一个或多个变换的所述基于文本的表示包括:
从客户端计算装置接收消息,所述消息包含标识所述ML图形的节点的文本、能用于准备用于ML训练的所述数据的所述一个或多个变换的标识符、以及所述数据中的所述一个或多个变换要在处理与所述一个或多个变换相关联的所述计算机可执行指令时变换所针对的一部分。
15.根据权利要求9所述的计算机实施的方法,其还包括:将装饰器与基于所述ML图形的所述基于文本的表示来确定的所述计算机可执行指令相关联,所述装饰器扩大基于至少所述一个或多个变换来生成所述ML训练数据的所述计算机可执行指令。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063119282P | 2020-11-30 | 2020-11-30 | |
US63/119,282 | 2020-11-30 | ||
US17/359,382 | 2021-06-25 | ||
US17/359,382 US20220172111A1 (en) | 2020-11-30 | 2021-06-25 | Data preparation for use with machine learning |
PCT/US2021/061018 WO2022115706A2 (en) | 2020-11-30 | 2021-11-29 | Data preparation for use with machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117561523A true CN117561523A (zh) | 2024-02-13 |
Family
ID=81752608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180090947.4A Pending CN117561523A (zh) | 2020-11-30 | 2021-11-29 | 与机器学习一起使用的数据准备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220172111A1 (zh) |
EP (1) | EP4252163A2 (zh) |
CN (1) | CN117561523A (zh) |
WO (1) | WO2022115706A2 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10768908B1 (en) * | 2019-02-25 | 2020-09-08 | Microsoft Technology Licensing, Llc | Workflow engine tool |
US10977006B2 (en) * | 2019-05-03 | 2021-04-13 | Microsoft Technology Licensing, Llc | Optimized machine learning pipeline execution based on execution graphs |
-
2021
- 2021-06-25 US US17/359,382 patent/US20220172111A1/en active Pending
- 2021-11-29 EP EP21830849.2A patent/EP4252163A2/en active Pending
- 2021-11-29 WO PCT/US2021/061018 patent/WO2022115706A2/en active Application Filing
- 2021-11-29 CN CN202180090947.4A patent/CN117561523A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220172111A1 (en) | 2022-06-02 |
EP4252163A2 (en) | 2023-10-04 |
WO2022115706A3 (en) | 2022-07-21 |
WO2022115706A2 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839011B2 (en) | Application programing interface document generator | |
US11936760B2 (en) | Method and system of generating generic protocol handlers | |
CN110023923B (zh) | 生成数据变换工作流 | |
US10942708B2 (en) | Generating web API specification from online documentation | |
KR102220127B1 (ko) | 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치 | |
US10628420B2 (en) | Dynamic virtual service | |
US11327964B2 (en) | Integration query builder framework | |
US8621376B2 (en) | Developer interface and associated methods for system for querying and consuming web-based data | |
US20140189125A1 (en) | Querying and managing computing resources in a networked computing environment | |
US20140196141A1 (en) | Hierarchical rule development and binding for web application server firewall | |
US8745096B1 (en) | Techniques for aggregating data from multiple sources | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
US9747353B2 (en) | Database content publisher | |
US11425002B1 (en) | Infrastructure managing framework for serverless architecture | |
US20110099185A1 (en) | System for Querying and Consuming Web-Based Data and Associated Methods | |
CN115017182A (zh) | 一种可视化的数据分析方法及设备 | |
Yellavula | Hands-On RESTful Web Services with Go: Develop Elegant RESTful APIs with Golang for Microservices and the Cloud | |
US11552868B1 (en) | Collect and forward | |
Parmar et al. | MongoDB as an efficient graph database: An application of document oriented NOSQL database | |
CN113806401B (zh) | 数据流处理 | |
CN117561523A (zh) | 与机器学习一起使用的数据准备 | |
US8200713B2 (en) | Database exploration for building wireless component applications | |
US20210019205A1 (en) | Systems, methods, and devices for code distribution and integration within a distributed computing platform | |
Puustinen | GraphQL for building microservices | |
US11860715B2 (en) | Messaging for OData error targets |
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 |