CN115151928A - 使用机器学习技术的用于通信工作流的增强的处理 - Google Patents
使用机器学习技术的用于通信工作流的增强的处理 Download PDFInfo
- Publication number
- CN115151928A CN115151928A CN202180016673.4A CN202180016673A CN115151928A CN 115151928 A CN115151928 A CN 115151928A CN 202180016673 A CN202180016673 A CN 202180016673A CN 115151928 A CN115151928 A CN 115151928A
- Authority
- CN
- China
- Prior art keywords
- communication
- workflow
- workflows
- previously executed
- communication workflow
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 558
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000010801 machine learning Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 title claims description 28
- 239000013598 vector Substances 0.000 claims abstract description 227
- 239000002131 composite material Substances 0.000 claims description 113
- 238000012549 training Methods 0.000 claims description 65
- 230000006870 function Effects 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims 3
- 238000012360 testing method Methods 0.000 claims 3
- 230000036961 partial effect Effects 0.000 abstract description 151
- 230000008569 process Effects 0.000 description 36
- 230000009471 action Effects 0.000 description 31
- 238000007726 management method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 230000000670 limiting effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000013523 data management Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013477 bayesian statistics method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- -1 iOS Chemical class 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
- G06F18/2185—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开一般而言涉及使用机器学习技术评估由任务组成的通信工作流。更具体而言,本公开涉及用于生成通信工作流的任务结果的预测、生成一个或多个任务的推荐以添加到部分通信工作流以完成通信工作流,以及生成通信工作流的向量表示的系统和方法。
Description
相关申请的交叉引用
本公开要求于2020年2月25日提交的标题为“Enhanced Processing ForCommunication Workflows Using Machine-Learning Techniques”的美国专利申请序列No.16/800,869的优先权,该申请通过引用整体并入本文。
技术领域
本公开一般而言涉及使用机器学习技术来评估由任务组成的通信工作流。更具体地,本公开涉及用于使用机器学习或人工智能生成通信工作流的任务结果的预测、生成一个或多个任务的推荐以添加到部分通信工作流以完成工作流并生成通信工作流的向量表示的系统和方法。
背景技术
工作流可以被配置为在特定时间触发向用户传输通信。例如,可以执行代码以在给定时间通过通信信道触发向用户设备的一个或多个通信。可以在工作流中协调不同通信信道上的多个通信以吸引各个用户。但是,由于工作流的复杂性,评估导致用户执行目标动作的任务的前景是大数据规模的技术挑战。确定要在工作流包括中的任务常常是手动执行的,而不充分利用以前的工作流。此外,鉴于各种工作流中任务布置的复杂性,相对彼此评估工作流效率低下且计算量大。
发明内容
本公开的某些方面和特征涉及使用机器学习或人工智能来处理通信工作流。通信工作流可以包括一个或多个任务的有序序列。执行通信工作流可以包括以有序序列执行一个或多个任务。例如,执行通信工作流的任务可以包括使服务器通过通信信道向用户设备的目标组传输通信(例如,数字消息)。通信可以被配置为使操作目标组的用户设备的用户能够执行一个或多个动作(例如,选择包括在通信中的链接)。可以在基于云的应用处接收在用户设备处执行的(一个或多个)动作的指示。当通信工作流的(一个或多个)任务已经被执行时,基于云的应用可以确定通信工作流的任务结果。任务结果可以表示通信工作流的整体性能度量。例如,总体性能度量可以包括跨通信工作流的所有任务聚合的执行了目标动作(例如,选择包括在通信中的链接)的(用户设备的目标组的)用户设备的百分比。
为了说明并且仅作为非限制性示例,通信工作流可以包括两个任务的序列:第一个任务是电子邮件通信任务并且(随后的)第二个任务是文本消息任务。电子邮件任务可以包括向移动设备的目标组传输电子邮件通信。文本消息任务可以包括稍后将文本消息(例如,短消息服务(SMS))传输到移动设备的目标组的子集。当在移动设备的目标组处接收到电子邮件通信时,电子邮件通信可以包括可选择的链接。当在移动设备的目标组的子集处接收到文本消息时,该文本消息还可以包括该可选择的链接。基于云的应用可以通过电子邮件通信或通过文本消息接收链接是否在移动设备的目标组处被选择的指示。基于云的应用可以将通信工作流的任务结果(例如,两个任务的整体性能度量)确定为通过或者电子邮件通信或者文本消息选择了链接的用户的百分比。作为另一个示例,基于云的应用可以将用于通信工作流的电子邮件通信任务和文本消息任务中的每一个的部分传输计数(例如,传输的通信的数量)加在一起。基于云的应用还可以将用于电子邮件通信任务和文本消息任务中的每一个的部分链接选择计数(例如,选择的链接的数量)加在一起。然后,基于云的应用可以通过确定总链路选择计数与总传输计数的比率来确定通信工作流的任务结果。
根据本文描述的一些方面,可以通过生成所述表示通信工作流的复合特征向量并将复合特征向量输入到机器学习模型中来预测通信工作流的任务结果。可以使用先前执行的通信工作流和那些先前执行的通信工作流的对应任务结果来训练机器学习模型。此外,某些方面和特征可以涉及使用机器学习技术来生成任务的推荐以添加到部分通信工作流以完成部分通信工作流。可以通过将部分通信工作流的复合特征向量输入到机器学习模型中以生成表示产生先前执行的通信工作流的任务结果的某些值(例如,超过阈值的任务结果的值)的任务的输出来推荐任务的集合以完成部分通信工作流。某些方面和特征还可以涉及使用神经网络(例如,Graph2Vec模型)以便以计算高效的方式生成通信工作流的向量表示。向量表示可以被输入到各种机器学习模型中以执行各种功能。根据本公开的一些方面,向量表示可以表示整个通信工作流,包括结构、任务和任务的内容。
在一些实施方式中,基于云的应用可以生成复合特征向量,其表示先前执行的各个通信工作流的任务。可以使用多维机器学习特征向量(例如,奇异值分解(SVD))来生成复合特征向量。可以将复合特征向量输入到机器学习模型中以生成预测新通信工作流的任务结果(例如,由接收到通信的用户正在执行的目标动作的总体性能度量或总体速率)的输出或表示要包括在新的部分或不完整通信工作流中的任务推荐的输出。
在一些示例中,通信工作流可以是营销活动编排(MCO)。通信工作流可以包括有序的任务序列。任务可以被配置为将数字通信传输到一组目标用户设备(例如,观众)。在一些示例中,复合特征向量可以用作通信工作流的标准化表示,表示通信工作流的任务、参数、目标用户和内容。可以生成多维机器学习特征向量以创建复合特征向量。通信工作流中的任务的有序序列中的每个任务可以由任务向量(例如,特征向量)表示。作为执行任务的结果以接收通信为目标的目标用户设备的组可以由组向量表示。在一些示例中,可以组合通信工作流的结构和分量任务向量以生成所述表示通信工作流的复合特征向量。
包括在通信工作流中的任务的有序序列可以表示工作流的结构。每个通信工作流的结构可以包括例如通过一个或多个分支连接在一起的一个或多个节点(例如,开始、拆分和结束节点)或一个或多个阶段(例如,任务,诸如向用户设备的集合传输电子邮件)。分支可以包括一系列任务的流(例如,过滤任务、传输任务或延迟任务)。例如,节点可以表示拆分任务,其中用户设备的目标组被拆分为两个或更多个子组。在一些示例中,通信工作流的结构可以包括根节点(例如,指示通信工作流的开始的开始任务)、中间节点(例如,在被执行时向用户设备传输通信(诸如电子邮件)的通信任务)和叶子节点(例如,指示通信工作流的结束的端节点)。每个树分支可以包括一个或多个任务的序列。可以生成复合特征向量来表示通信工作流的整个结构、任务和每个任务的通信的内容。
在一些实施方式中,基于云的应用可以将通信工作流的复合特征向量输入到机器学习模型中以生成预测通信工作流的任务结果的输出。任务结果可以表示通信工作流的性能,包括例如通信工作流所针对的目标用户组的点击率或转换率。在一些实施方式中,给定新的部分通信工作流(例如,正在开发但尚未完成的工作流)的情况下,可以使用机器学习模型评估先前执行的工作流的部分部分的复合特征向量和新的部分通信工作流的复合特征向量。根据这些实施方式,机器学习模型可以生成表示添加到新的部分通信工作流以完成新的部分通信工作流的一个或多个任务的推荐的输出。
在一些实施方式中,可以使用机器学习技术(例如,Graph2Vec)将通信工作流作为图进行分析,以学习图中每个节点的有根子图。机器学习技术可以生成整个工作流的向量表示,而无需将通信工作流的结构与通信工作流的复合特征向量分开。根据这些实施方式,向量表示可以生成表示整个通信工作流的n维向量,包括结构、任务和任务内容。作为非限制性示例,可以执行Graph2Vec模型的神经网络以便以无监督的方式学习通信工作流的有根子图嵌入。结果所得的向量表示可以输入到机器学习模型中以生成对新通信工作流的任务结果的预测或生成添加到部分通信工作流以完成部分通信工作流的任务的推荐,如上所述。
在一些实施方式中,一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,这些软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使该装置执行动作。一个一般方面包括一种计算机实现的方法,包括:访问包括按顺序次序协调的一个或多个任务的工作流,该工作流被配置为促进与用户设备的集合的交互,一个或多个任务中的每个任务包括可执行代码,所述可执行代码在执行时执行与用户设备的集合相关联的功能(例如,拆分、过滤、传输),并且工作流与表征工作流的一个或多个任务中的每个任务的一个或多个参数(例如,用于主题建模的词汇表、内容图像等)相关联;生成表示工作流的复合特征向量,该复合特征向量是使用工作流的一个或多个任务中的每个任务的特征向量生成的,并且一个或多个任务中的每个任务的特征向量是通过使用表征任务的一个或多个参数执行一种或多种机器学习技术生成的;将工作流的复合特征向量输入到经训练的机器学习模型中,该经训练的机器学习模型已经被训练用于预测工作流的性能值,并且经训练的机器学习模型已经使用表示一个或多个先前执行的工作流的训练数据集和一个或多个先前执行的工作流中的每一个的对应的先前性能值进行了训练;以及使用经训练的机器学习模型生成输出,该输出可预测工作流的性能值。这个方面的其它实施例包括对应的计算机系统、装置和存储在非暂态计算机可读存储介质上的可执行代码,每个都被配置为执行方法的动作。
实施方式可以包括以下特征中的一个或多个。该计算机实现的方法还包括:确定工作流的结构,该结构由树结构的多个节点表示,其中树结构的多个节点中的两个节点由一个或多个阶段连接,其中工作流的一个或多个任务中的每个任务与多个节点中的节点或一个或多个阶段中的阶段对应;以及评估训练数据集以确定工作流的结构是否与一个或多个先前执行的工作流中的至少一个先前执行的工作流的结构匹配。计算机实现的方法还包括:确定工作流的结构与训练数据集的一个或多个先前执行的工作流的一组先前执行的工作流的结构匹配(例如,相同)。计算机实现的方法还可以包括在域空间中将工作流的复合特征向量与一组先前执行的工作流中的每个先前执行的工作流的复合特征向量进行比较。计算机实现的方法还可以包括基于阈值和比较结果来选择所述一组先前执行的工作流的子组。计算机实现的方法还可以包括为先前执行的工作流的子组的每个先前执行的工作流识别先前性能值。计算机实现的方法还可以包括通过确定与先前执行的工作流的子组相关联的先前性能值的组合来生成预测工作流的性能值的输出。计算机实现的方法还包括:确定工作流的结构与训练数据集的一个或多个先前执行的工作流的一组先前执行的工作流的结构匹配,其中在生成训练数据集期间:确定先前执行的工作流的一个或多个子集,一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的工作流对应。计算机实现的方法还可以包括对先前执行的工作流的一个或多个子集中的每个子集执行聚类操作(例如,k-means聚类),其中先前执行的工作流的每个子集与先前执行的工作流的一个或多个集群相关联,其中一个或多个集群是通过在域空间中对先前执行的工作流的子集的复合特征向量执行聚类操作而形成的,并且其中集群中包括的每个先前执行的工作流都与复合特征向量相关联,该复合特征向量与该集群中其它先前执行的工作流的复合特征向量对应;通过识别训练数据集的其对应结构与工作流的结构对应的一个或多个子集的特定子集来生成预测工作流的性能值的输出。计算机实现的方法还可以包括基于工作流的复合特征向量与一个或多个集群中的每个集群的复合特征向量的比较来将工作流指派给一个或多个集群中与特定子集对应的特定集群。计算机实现的方法还可以包括确定与先前执行的工作流相关联的先前性能值的组合,该先前执行的工作流与工作流被指派给的特定集群相关联。计算机实现的方法还包括:确定工作流的结构与训练数据集的一个或多个先前执行的工作流的一组先前执行的工作流的结构相匹配,其中在生成训练数据集期间:识别先前执行的工作流的一个或多个子集,一个或多个子集的每个子集与共享共用结构的两个或更多个先前执行的工作流对应。计算机实现的方法还可以包括为先前执行的工作流的一个或多个子集中的每个子集训练受监督的机器学习模型;通过以下操作生成预测工作流的性能值的输出:识别训练数据集的一个或多个子集中其对应结构与工作流的结构匹配的特定子集,将工作流的复合特征向量输入到与特定子集对应的受监督的机器学习模型,以及生成预测工作流的性能值的输出。计算机实现的方法还包括:确定工作流的结构与训练数据集的一个或多个先前执行的工作流的任何先前执行的工作流的结构不匹配;以及通过以下操作生成预测工作流的性能值的输出:将训练数据集的一个或多个先前执行的工作流中的每个先前执行的工作流分割成多个先前执行的子工作流。计算机实现的方法还可以包括将工作流的结构与训练数据集的一个或多个先前执行的工作流的每个先前执行的工作流的多个子工作流中的每个子工作流进行比较。计算机实现的方法还可以包括识别多个先前执行的子工作流中与工作流的结构匹配的一组先前执行的子工作流。计算机实现的方法还可以包括在域空间中将工作流的复合特征向量与一组先前执行的子工作流中的每个先前执行的子工作流的复合特征向量进行比较。计算机实现的方法还可以包括基于阈值和比较结果来选择一组先前执行的子工作流中的子组。计算机实现的方法还可以包括基于与先前执行的子工作流的所选择的子组相关联的先前性能值来确定工作流的预测性能值。计算机实现的方法,其中工作流由包括描述工作流的结构的元数据的列表定义。计算机实现的方法还可以包括工作流中包括的每个任务。计算机实现的方法还可以包括表示工作流的一个或多个任务中的任务的每个特征向量。计算机实现的方法还可以包括其中列表被解析以执行一个或多个功能。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
在一些实施方式中,一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,这些软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使该装置执行动作。一个一般方面包括一种计算机实现的方法,包括:提供使用户能够定义工作流的界面,该工作流可被配置为包括促进与用户设备的集合交互的任务的集合,并且任务的集合中的每个任务包括可执行代码,所述可执行代码在执行时执行与用户设备的集合相关联的功能(例如,拆分、过滤、传输);在界面处接收与从任务的集合中选择一个或多个任务对应的输入,该一个或多个任务定义部分工作流,该部分工作流与表征部分工作流的一个或多个任务中的每个任务的一个或多个参数(例如,用于主题建模的词汇表、内容图像等)相关联;识别部分工作流的结构,该部分工作流的结构由一个或多个节点和/或一个或多个阶段表示,其中部分工作流的一个或多个任务中的每个任务与一个或多个节点的节点或一个或多个阶段中的阶段对应;生成表示部分工作流的复合特征向量,该复合特征向量是使用工作流的一个或多个任务中的每个任务的特征向量生成的,并且一个或多个任务中的每个任务的特征向量是通过使用表征任务的一个或多个参数执行一种或多种机器学习技术生成的(例如,基于新的部分工作流的节点和/或任务的参数构造机器学习特征向量);访问先前执行的部分工作流的集合,先前执行的部分工作流的集合中的每个先前执行的部分工作流由结构、复合特征向量和性能值表示。计算机实现的方法还包括选择先前执行的部分工作流的集合的子集,该先前执行的部分工作流的子集与该部分工作流共享相同的结构。计算机实现的方法还包括从先前执行的部分工作流的子集确定与该部分工作流相似的一个或多个先前执行的部分工作流,相似性基于该子集的每个先前执行的部分工作流的复合特征向量与该部分工作流的复合特征向量之间的比较;生成用于完成部分工作流的推荐,该推荐包括完成部分工作流的一个或多个推荐的任务,该一个或多个推荐的任务选自一个或多个先前执行的部分工作流中与该部分工作流共享相同结构并且被确定为与该部分工作流相似的先前执行的部分工作流的一个或多个剩余任务,并且选择基于与该部分工作流共享相同的结构并被确定为与该部分工作流相似的一个或多个先前执行的部分工作流的先前性能值;以及在界面上显示推荐。这个方面的其它实施例包括对应的计算机系统、装置和存储在非暂态计算机可读存储介质上的可执行代码或指令(例如,计算机程序产品),每个都被配置为执行方法的动作。
实施方式可以包括以下特征中的一个或多个。计算机实现的方法,其中将来自与该部分工作流共享相同结构的先前执行的部分工作流的子集中的每个先前执行的部分工作流的复合特征向量与该部分工作流的复合特征向量进行比较包括:对于每个先前执行的部分工作流,在域空间中计算先前执行的部分工作流的复合特征向量与该部分工作流的复合特征向量的距离;以及将该距离与阈值进行比较,其中当该距离等于或小于阈值时,确定先前执行的部分工作流与该部分工作流相似,而当距离大于阈值时,确定先前执行的部分工作流与该部分工作流不相似。计算机实现的方法还包括:通过从最高性能值到最低性能值排列布置一个或多个先前执行的部分工作流,对与该部分工作流共享相同结构并被确定为与该部分工作流相似的一个或多个先前执行的部分工作流进行排序。计算机实现的方法还包括:在界面处接收附加输入,该附加输入与对一个或多个推荐的任务的选择以完成部分工作流对应。计算机实现的方法还可以包括响应于接收到附加输入而将一个或多个推荐的任务按顺序次序添加到一个或多个任务以表示完整的工作流。计算机实现的方法还包括:在界面处接收附加输入,该附加输入与对一个或多个推荐的任务中的至少一个推荐的任务和不包括在一个或多个推荐的任务中的至少一个任务的选择对应,至少一个推荐的任务和不包括在一个或多个推荐的任务中的至少一个任务的选择完成部分工作流。计算机实现的方法还可以包括响应于接收到附加输入而将至少一个推荐的任务和不包括在一个或多个推荐的任务中的至少一个任务按顺序次序添加到一个或多个任务以表示完整工作流。计算机实现的方法,其中部分或完整工作流由包括元数据的列表定义,所述元数据描述:工作流的结构、工作流中包括的每个任务,以及表示工作流中包括的任务的集合中的任务的每个特征向量。计算机实现的方法还包括:解析通过列表以执行一个或多个功能。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
在一些实施方式中,一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,这些软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使该装置执行动作。一个一般方面包括一种计算机实现的方法,包括:访问包括按顺序次序协调的一个或多个任务的工作流,该工作流被配置为促进与用户设备的集合的交互,一个或多个任务中的每个任务包括可执行代码。代码在执行时执行与用户设备的集合相关联的功能(例如,拆分、过滤、传输),并且工作流与表征工作流的一个或多个任务中的每个任务的一个或多个参数(例如,用于主题建模的词汇表、内容图像等)相关联;定义工作流的树结构,该树结构包括多个节点和一个或多个阶段,其中树结构的多个节点中的两个节点通过一个或多个阶段中的至少一个阶段连接,并且其中工作流的一个或多个任务中的每个任务与多个节点中的节点或一个或多个阶段中的阶段对应;将树结构输入到机器学习模型(例如,图到向量模型)中,将树结构输入到机器学习模型中导致对工作流的树结构的一个或多个部分树结构进行采样;以及生成工作流的树结构的向量表示。这个方面的其它实施例包括对应的计算机系统、装置和存储在非暂态计算机可读存储介质上的可执行代码,每个都被配置为执行方法的动作。
实施方式可以包括以下特征中的一个或多个。该计算机实现的方法还包括:访问先前执行的工作流的集合;为先前执行的工作流的集合中的每个先前执行的工作流定义树结构;将先前执行的工作流的集合中的每个先前执行的工作流的树结构输入到机器学习模型中;生成表示先前执行的工作流的集合中的每个先前执行的工作流的树结构的向量表示;以及将每个先前执行的工作流的向量表示存储在训练数据集中。计算机实现的方法,其中生成树结构的向量表示而不评估树结构的多个节点中的个体节点或一个或多个阶段中的个体阶段的向量表示。计算机实现的方法,其中树结构的多个节点中的每个节点和一个或多个阶段中的每个阶段与用于表征任务或工作流的一部分的元数据相关联。计算机实现的方法,其中与每个节点或阶段相关联的元数据分别表示由与该节点或阶段相关联的任务执行的功能。计算机实现的方法,其中机器学习技术是被配置为学习工作流的树结构的嵌入的神经网络。计算机实现的方法,其中对树结构的一个或多个节点的评估还包括:为工作流的树结构的多个节点中的每个节点或一个或多个阶段中的每个阶段提取一个或多个有根部分树结构,一个或多个有根部分树结构中的每个有根部分树结构包括距节点或阶段一跳或多跳的节点的集合。计算机实现的方法还可以包括使用一个或多个有根部分树结构来训练机器学习模型。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。
附图说明
本说明书参考以下附图,其中在不同附图中使用相同的附图标记旨在说明相同或类似的组件。
图1是图示根据本公开的一些方面的网络环境的示例的框图。
图2是图示根据本公开的一些方面的网络环境的另一个示例的框图。
图3图示了根据本公开的一些方面的用于生成通信工作流的任务结果的预测的过程流的示例。
图4图示了根据本公开的一些方面的用于生成任务的推荐以完成部分通信工作流的过程流的示例。
图5是图示根据本公开的一些方面的用于生成通信工作流的任务结果的预测的示例过程的流程图。
图6是图示根据本公开的一些方面的用于生成任务的推荐以完成部分通信工作流的示例过程的流程图。
图7是图示根据本公开的一些方面的用于生成通信工作流的向量表示的示例过程的流程图。
图8是图示用于实现实施例之一的分布式系统的简化图。
图9是图示系统环境的一个或多个组件的简化框图。
图10图示了其中可以实现本发明的各种实施例的示例性计算机系统。
具体实施方式
基于云的应用可以包括托管在云网络上的数据管理平台。数据管理平台可以被配置为使用户能够对数据记录执行某些功能。例如,数据记录可以是包括一个或多个数据字段的用户简档。数据记录的数据字段可以包括表征与用户简档相关联的用户的值。数据字段可以基于之前的交互(诸如由用户操作的浏览器与web服务器之间的交互)来生成。
通信工作流可以由基于云的应用(或在一些情况下,由云网络外部的一个或多个服务器)执行以处理某些数据记录。作为非限制性示例,通信工作流可以被配置为在用户简档的目标组上执行一个或多个任务(例如,传输吸引用户的数字消息)的协调序列。任务一旦被服务器执行,就可以使服务器通过通信信道向与用户简档相关联的用户设备传输通信。可以基于任务和通信工作流的配置来确定通信的内容和被选择用于传输通信的通信信道。在通信工作流中包括用户设备的目标组可以使包括在工作流中的任务通过通信信道向目标组的每个用户设备传输通信。任务的配置可以定义通信的内容和为被选择以促进通信的传输通信信道的类型。通信信道的非限制性示例包括SMS消息、电子邮件、电话、浏览网页时的弹出消息,以及其它合适的通信信道。
随着通信工作流的复杂性增加,通信工作流的配置和执行是技术挑战。作为实际应用,本公开的某些方面和特征生成通信工作流的向量表示,以增强比较各种新的与先前执行的通信工作流,以预测新的通信工作流的性能并推荐用于完成部分通信工作流的任务的计算效率。因此,本公开的某些方面和特征通过使平台能够使用向量(例如,复合特征向量或使用图到向量模型生成的向量)表示通信工作流的结构和内容以计算高效的方式比较和评估各种通信工作流来改进基于云的数据管理平台的技术。
本公开的某些实施方式包括被配置为生成通信工作流的向量表示的基于云的应用。向量表示可以通过使用机器学习技术(诸如用于主题建模的潜在Dirichlet分配(LDA)和Word2Vec模型)评估通信工作流的任务和任务的内容来生成。可以为通信工作流中包括的每个任务生成特征向量。可以将通信工作流的各种任务的特征向量级联起来以生成复合特征向量。然后可以将复合特征向量输入到机器学习模型中,以生成对通信工作流的任务结果的预测。复合特征向量也可以输入到机器学习模型中以生成包括在通信工作流中以完成工作流的一个或多个任务的推荐。
图1是图示用于使用诸如基于云的应用120之类的数据管理平台来处理数据记录的网络环境100的示例的框图。云网络110可以是包括一个或多个基于云的服务器和一个或多个基于云的数据库的任何基于云的网络。云网络110的一个或多个基于云的服务器可以包括托管基于云的应用120的至少一个应用服务器,以及至少一个数据库服务器。例如,基于云的应用120可以是被配置为执行与一个或多个数据记录数据集相关联的功能的数据管理平台。在一些实施方式中,数据记录可以表示包括一个或多个数据字段的用户简档。一个或多个数据字段的每个数据字段可以包括响应于在先前交互期间用户设备与原生应用或web服务器交互而生成的值。例如,当用户设备访问web服务器以在用户设备上加载网页时,web服务器可以提取与来自用户设备的加载网页的请求相关联的一个或多个用户特征(例如,加载网页的发起请求的位置)。可以在用户简档中随时间收集各种用户特征。
客户端系统130可以包括与客户(例如,诸如公司之类的实体)相关联的一个或多个服务器和数据库的网络。在一些实施方式中,客户端系统130内的网络可以包括托管一个或多个网页的web服务器或托管由客户端操作或与客户端相关联的原生应用的应用服务器。用户设备140可以通过向客户端系统130的web服务器传输通信来与客户端系统130交互。例如,通信可以是将网页加载到在用户设备140上运行的浏览器上的请求。类似地,用户设备150可以向客户端系统130传输请求在用户设备150的浏览器上加载网页的通信。将认识到的是,任何数量的用户设备和任何类型的计算设备(例如,台式计算机、平板计算机、电子信息亭等)都可以与客户端系统130通信。
在一些实施方式中,客户端系统130可以定义一个或多个工作流用于与用户设备通信。通信工作流可以是一个或多个任务的编排的序列,诸如MCO。任务可以包括在由服务器执行时使客户端系统130通过通信信道向用户设备传输通信的可执行代码。通信的内容和被选择用于传输通信的特定通信信道可以由任务的可执行代码来定义。例如,任务可以是被设计为吸引某些目标用户的数字消息。工作流在定义的时间间隔内为个体用户简档编排一个或多个任务的序列。工作流可以有效地用于吸引与某些商品或服务相关的用户。作为说明性示例,客户端系统130可以存储至少两个工作流。第一工作流可以包括用于用户设备140的两个任务,第二工作流可以包括用于用户设备150的三个任务。第一工作流可以包括在第一时间使用文本消息传递通信信道向用户设备140传输通信的第一任务和在稍后的第二时间使用电子邮件通信信道向用户设备140传输通信的第二任务。第二工作流可以包括在第一时间使用电子邮件通信信道向用户设备150传输通信的第一任务,在稍后的第二时间使用社交媒体通信信道向用户设备150传输通信的第二任务(例如,通过使用社交媒体平台向用户的账户传输消息),以及在稍后的第三次使用另一个电子邮件通信信道向用户设备150传输通信的第三任务。在用户设备处接收到的通信可以使操作用户设备的用户能够执行一个或多个动作。例如,通信可以包括可选择的链接。用户可以选择该链接,或者可以不选择该链接。当用户执行动作时,客户端系统130可以检测到该动作,因为信号可以已经被传回到客户端系统130(或在定义的时间段内没有接收到信号)。在一些实施方式中,客户端系统130可以将信号传输到托管在云网络110上的基于云的应用120。信号可以包括响应于接收到通信而从用户设备接收到的响应。继续上面的示例,当用户设备140响应第一和第二任务中的每一个时,以及类似地,当用户设备150响应第一、第二和第二任务中的每一个时,客户端系统130可以向基于云的应用120传输信号。在其它实施方式中,基于云的应用120可以执行工作流的任务,而不是客户端系统130执行任务执行。
在一些实施方式中,客户端系统130可以访问基于云的应用120以创建、设计或生成通信工作流。例如,基于云的应用120可以生成使界面显示在与客户端系统130相关联的终端用户上的界面数据。界面可以使用户能够创建任务的有序序列并将该有序序列保存为通信工作流。每个任务可以被配置为执行功能,诸如将用户设备的目标组划分为子组或将通信传输到用户设备的目标组。基于云的应用120可以使与客户端系统130相关联的终端用户能够生成所述表示通信工作流的复合特征向量。然后可以将复合特征向量输入到经训练的机器学习模型中,以生成预测通信工作流的任务结果(例如,通信工作流中所有任务的整体性能或预测成功)的输出。基于云的应用120还可以将复合特征向量输入到经训练的机器学习模型中,以生成添加或包括在通信工作流中以完成工作流(如果通信工作流是部分工作流)的一个或多个任务的推荐。基于云的应用120还可以执行一个或多个神经网络,以学习通信工作流的子图嵌入,从而将通信工作流变换成向量表示。
图2是图示根据本公开的一些方面的云网络110的另一个示例的框图。基于云的应用120可以包括基于云的服务器和数据库的网络。在一些实施方式中,基于云的应用120的网络可以包括工作流结构生成器210、特征向量生成器220、工作流表示系统230、工作流性能预测器240、部分工作流预测器250和机器学习模型260。机器学习模型260可以使用训练数据集270进行训练。
工作流结构生成器210可以是被配置为存储和潜在地执行生成通信工作流的结构的代码的任何服务器、处理器和/或数据库。工作流结构生成器210可以从访问基于云的应用120用户接收输入。输入可以表示用户选择一个或多个任务以包括在新的通信工作流中。一个或多个任务可以按照用户确定的有序序列布置。任务的有序序列可以表示通信工作流。工作流结构生成器210可以在接收到输入时评估任务的有序序列以生成通信工作流的结构。结构可以是包括多个节点的树结构。每个节点可以表示任务。作为说明性示例,工作流结构生成器210可以通过在通信工作流中搜索开始任务(例如,发起通信工作流的任务)来生成结构。工作流结构生成器210可以创建分层数据结构并将开始任务用作根节点。工作流结构生成器210可以继续在通信工作流中搜索下一个任务,该任务可以是电子邮件任务(例如,向用户设备传输电子邮件的任务)。工作流结构生成器210可以将表示电子邮件任务的阶段(例如,子节点)添加到分层数据结构的根节点。下一个任务可以是拆分任务,其中用户设备的目标组被拆分成两个或更多个子组。工作流结构生成器210可以将另一个节点添加到分层数据结构以表示拆分任务。工作流结构生成器210可以继续向分层数据结构添加阶段(例如,节点),直到通信工作流到达结束任务(例如,完成通信工作流的任务)。结果所得的分层数据结构可以表示通信工作流的结构。生成的结构可以存储在工作流结构生成器210处。
特征向量生成器220可以是被配置用于为通信工作流的每个任务生成任务向量的任何服务器、处理器和/或数据库。例如,2019年2月26日提交的美国序列No.16/286,297描述了一种用于生成表示通信工作流的任务的向量的过程,其通过引用整体并入本文。然后,特征向量生成器220可以例如级联通信工作流的任务向量。结果所得的任务向量的串联可以表示通信工作流的复合特征向量。
在一些实施方式中,特征向量生成器220可以生成包括在通信工作流中的任务的内容和元数据的表示。作为说明性示例,对于电子邮件任务,特征向量生成器220可以生成电子邮件通信的各种参数的表示。参数可以包括与电子邮件相关联的元数据的数值和分类变量(例如,产品类别、任务的类型等)。在这个示例中,电子邮件元数据的表示可以保持原样、按比例缩放、维度减小,或以另一种方式进行处理。参数还可以包括电子邮件主题行和电子邮件正文。在这种情况下,可以执行自然语言处理(NLP)、词频矩阵、词频-逆文档频率(TF-IDF)、主题建模等,以将文本变换成文本的向量表示。参数还可以包括电子邮件内容(例如,图像数据)。在这种情况下,特征向量生成器220可以使用例如降维技术(例如,非负矩阵分解(NMF)、奇异值分解(SVD)、主成分分析(PCA)和其它合适的技术)来将未加工的图像向量变换成任务向量或作为神经网络的中间输出。
特征向量生成器220还可以生成一个或多个向量,其表示将接收通信工作流的一个或多个通信的用户设备的一个或多个目标组。作为非限制性示例,假设包括在用户设备的目标组中的每个用户设备由特征向量(例如,用户设备的特点的向量表示)来表示,目标组可以通过将目标-组向量(target-group-vector)定义为目标组的组成成员的特征向量的平均值(例如,质心)来概括。但是,本公开不限于这种技术。为了说明,通信工作流可以包括电子邮件通信任务和文本消息任务。电子邮件通信任务可以被配置为向用户设备的第一目标组中的每个用户设备传输电子邮件。文本消息任务可以被配置为向用户设备的第二目标组中的每个用户设备传输文本消息。在这种情况下,特征向量生成器220可以为用户设备的第一和第二目标组中的每个用户设备生成向量。
工作流表示系统230可以是被配置为通过执行神经网络来学习通信工作流的图嵌入来生成通信工作流的向量表示的任何服务器、处理器和/或数据库。例如,工作流表示系统230可以将通信工作流的结构(例如,由工作流结构生成器210确定)输入到Graph2Vec模型中,以生成通信工作流的n维向量表示。
工作流性能预测器240可以是被配置为接收通信工作流的向量表示作为输入并生成通信工作流的任务结果的预测作为输出的任何服务器、处理器和/或数据库。在一些实施方式中,向量表示是由特征向量生成器220生成的复合特征向量。在其它实施方式中,向量表示是由工作流表示系统230生成的通信工作流的n维向量表示。工作流性能预测器240可以将通信工作流的向量表示输入到机器学习模型(例如,用标记的数据训练的受监督的学习模型,诸如先前执行的工作流的已知整体性能值)。机器学习模型可以是受监督的、半监督的或无监督的(例如,k均值聚类)模型。机器学习模型的输出可以表示对通信工作流的性能的预测。在一些示例中,通信工作流的整体性能可以由任务结果表示,该任务结果表示响应于接收到通信的目标用户执行的动作的速率(例如,转换率、选择包含在数字消息中的链接的点击率、从通信中包括的链接打开网页的打开率等)。
将认识到的是,动作不一定是与包括在通信中的链接相关联的动作。用户设备可以接收带有链接的通信,但是用户可以独立地访问网页以购买商品或服务。即使目标动作可以是链接的选择,商品或服务的购买仍然可以被认为是目标动作,例如,在链接可以已经将用户导航到使用户能够购买商品或服务的网页的情况下。
工作流性能预测器240可以生成预测任务结果的输出,其可以是表示响应于接收到跨通信工作流中的所有任务的通信而由用户执行的目标动作的预测速率的值。可以通过评估先前执行的通信工作流的已知任务结果来预测任务结果(例如,计算具有与新通信工作流相同的结构并且确定为在向量空间中相似的先前执行的通信工作流的已知任务结果的平均值)。先前执行的通信工作流可以是先前已针对其执行任务的通信工作流。先前执行的通信工作流可以先前已经参与或导致将通信传输到用户设备的目标组。先前执行的通信工作流可以存储在训练数据集270中。基于云的应用120可以已经存储了与每个先前执行的通信工作流相关联的任务结果。
在一些实施方式中,工作流性能预测器240可以识别具有与通信工作流的结构相同的结构的先前执行的通信工作流的集合。在先前执行的通信工作流的集合内,工作流性能预测器240可以识别与通信工作流相似的一个或多个先前执行的通信工作流。可以在先前执行的通信工作流的复合特征向量的多维空间中测量相似性。例如,具有对应的复合特征向量在距通信工作流的复合特征向量的阈值距离内的给定结构的先前执行的通信工作流可以被确定为与通信工作流相似。在一些示例中,通信工作流的任务结果可以基于被确定为与该通信工作流相似的先前执行的通信工作流的已知任务结果的组合(例如,平均值、加权的平均值等)来预测。在一些示例中,可以基于被确定为与该通信工作流相似并且被确定为具有与新通信工作流相同结构的先前执行的通信工作流的已知任务结果的计算出的方差来构造通信工作流的预测任务结果周围的置信区间。
在一些实施方式中,先前执行的通信工作流可以按结构分段。对于给定结构,可以使用机器学习技术(例如,k均值聚类)来评估分组的先前执行的通信工作流的复合特征向量,以形成先前执行的通信工作流的一个或多个集群。可以基于先前执行的通信工作流的复合特征向量来执行聚类。工作流性能预测器240然后可以基于通信工作流的复合特征向量与和每个集群相关联的复合特征向量的比较将通信工作流分配给集群。在将通信工作流指派给集群之后,可以基于集群内先前执行的通信工作流的已知任务结果的组合(例如,平均、加权平均等)来预测通信工作流的任务结果。在一些示例中,可以基于集群内先前执行的通信工作流的已知任务结果的计算出的方差来构造通信工作流的预测任务结果周围的置信区间。
在一些实施方式中,先前执行的通信工作流可以按结构分段。对于每个工作流结构,工作流性能预测器240可以使用具有那个结构的先前执行的通信工作流的复合特征向量来训练机器学习模型(例如,受监督的学习分类或回归)。可以将通信工作流的复合特征向量输入到与通信工作流的结构相关联的机器学习模型中,以生成任务结果的预测。在一些示例中,可以基于特定模型类型(例如,线性回归、随机森林回归等)确定通信工作流的预测任务结果周围的置信区间。
在一些示例中,先前执行的通信工作流中没有一个可以共享与该通信工作流相同的结构。工作流性能预测器240可以识别具有与该通信工作流相同结构的先前执行的通信工作流的部分部分的集合。工作流性能预测器240然后可以使用上述技术(例如,识别在与通信工作流的复合特征向量的阈值距离内的复合特征向量)评估先前执行的通信工作流的部分部分的集合的复合特征向量,以确定哪些部分部分与该通信工作流相似。类似于上述技术,可以组合先前执行的工作流的部分部分的集合的已知任务结果(例如,可以确定平均值)以确定用于通信工作流的任务结果的预测。在一些实施方式中,通信工作流可以被分割成部分工作流,使得每个部分工作流与先前执行的通信工作流的结构对应。使用上述技术,可以基于与部分工作流共享相同结构的先前执行的通信工作流的已知任务结果来确定每个部分工作流的任务结果。然后可以组合每个部分工作流的预测任务结果(例如,平均或求和)以确定完整通信工作流的预测任务结果。
部分工作流预测器250可以是被配置为生成一个或多个任务的推荐以完成通信工作流的任何服务器、处理器和/或数据库。基于云的应用120可以生成使用户能够创建通信工作流的界面。如果用户已经创建了部分通信工作流(例如,用户尚未设置结束节点),那么部分工作流预测器250可以被配置为向用户生成关于添加哪些任务以完成部分通信工作流的推荐。在给定新的部分通信工作流的情况下,部分工作流预测器250可以基于上述技术生成新的部分通信工作流的复合特征向量。部分工作流预测器250然后可以识别具有与新的部分通信工作流相同的结构的先前执行的通信工作流的部分部分的集合。如上所述,部分工作流预测器250可以基于域空间中复合特征向量的比较来确定与新的部分通信工作流相似的先前执行的通信工作流的部分部分。部分工作流预测器250可以基于先前执行的通信工作流的已知任务结果以降序对与新的部分通信工作流相似的先前执行的通信工作流的部分部分的集合进行排名。部分工作流预测器250然后可以推荐先前执行的通信工作流的排名最高的一个或多个部分部分的完整的先前执行的通信工作流。该推荐可以包括先前执行的通信工作流的部分部分的剩余任务。
机器学习模型260可以是被配置为生成、训练或执行机器学习或人工智能模型的任何服务器、处理器和/或数据库。例如,机器学习模型可以使用一种或多种机器学习算法生成,诸如多标签分类器的集合(例如,受监督的或无监督的学习)、人工神经网络(包括反向传播、玻尔兹曼机等)、贝叶斯统计(例如,贝叶斯网络或知识库)、学习排名(Learn-to-Rank)技术、逻辑模型树、决策树模型、支持向量机、信息模糊网络、隐马尔可夫模型、层次聚类(无监督)、自组织地图、聚类技术,以及其它合适的机器学习技术(受监督的、半监督的或无监督的)。
特征向量生成器220可以将通信工作流的结构表示(例如,包括“节点”和“分支”的通信工作流的基于树的表示)与通信工作流的向量表示(例如,任务向量和表示用户设备的目标组的向量的级联)分离。另外,机器学习模型260可以针对先前执行的通信工作流的每个结构生成模型(例如,一个机器学习模型可以针对通信工作流的每个单独结构的性能值生成和训练,每个结构一个预先计算的集群,依此类推)。分离的结构表示可以被用于选择具有与新通信工作流(例如,尚未执行或当前正在执行的通信工作流)相同的结构的先前执行的通信工作流的训练数据集270的子集。但是,将认识到的是,在一些实施方式中,替代方法可以是生成描述整个通信工作流的元数据的一个或多个列表(例如,单个列表)。基于云的应用120可以执行通过列表解析以确定通信工作流的完整描述的代码,包括通信工作流的结构、通信工作流中包括的任务、通信工作流中包括的每个任务的任务特征,通信工作流的复合特征向量,以及其它合适的信息项。在一些实施方式中,列表可以是表示通信工作流的数据结构。例如,可以自动解析先前执行的通信工作流的列表以识别具有与给定通信工作流相同结构的先前执行的通信工作流。还可以自动解析该列表以检测与给定通信工作流相似的先前执行的通信工作流(例如,具有(i)相同的结构,以及(ii)在组成任务的任务向量的多维域空间中相似,等等)。基于云的应用120可以将列表评估为可以用作基于树的机器学习模型(例如,训练和应用随机森林模型)的输入的复合每通信工作流向量。
为了说明并且仅作为非限制性示例,通信工作流可以包括四个任务。通信工作流的结构可以包括四个“节点”(例如,“start”(“开始”)、“split”(“拆分”)、“end branch 1”(“结束分支1”)和“end branch 2”)(“结束分支2”)。用于这个通信工作流的列表可以由以下数据结构表示:[num_nodes=4,node_type=“start”,num_tasks=3,task_type=“filter”,filter_type,filter_input=[<target_group_vector for“target group 0”>],task_type=“email_communication”,communication_input=[<target_group_vector for“target group 1”>],communication_task_vector=[<concatenated taskcontent and context task vector of“task 1”>],task_type=“delay”,delay_input=[<target_group_vector for“target group 1”>],delay_value=T1,node_type=“split”,split_type,split_input=[<target_group_vector for“target group 1”>],num_split_outputs=2,num_tasks_split_output_1=0,node_type=“end”,end_input=[<target_group_vector for“target group 2”>],num_tasks_split_output_2=1,task_type=“sms_communication”,communication_input=[<target_group_vector for“target group 3”>],communication_task_vector=[<concatenated task content andcontext task vector of“task 2”>],task_type=“end”,end_input=[<target_group_vector for“target group 3”>]]。
图3是图示根据本公开的一些方面的用于生成通信工作流的任务结果(例如,整体性能)的预测的过程流300的示例的图。例如,过程流300可以至少部分地由图1-图2中描述的任何组件来执行。另外,可以执行处理过程300以生成预测新通信工作流的任务结果的输出。
过程流300可以开始于用户操作由基于云的应用120提供的界面以创建新的通信工作流310。作为说明性示例,新通信工作流310可以包括任务1至任务5的有序序列,其中任务1是发起工作流的开始任务,任务2是将用户设备的目标组拆分成两个的拆分任务子组,任务3可以是向与任务3相关联的用户设备的子组传输电子邮件的通信任务,任务4可以是结束工作流的结束节点,任务5可以是向与任务5相关联的其它用户设备的子组传输文本消息的通信任务,并且任务6可以是结束工作流的结束节点。基于云的应用120可以使用工作流结构生成器210来生成新的通信工作流310的结构。
新的通信工作流310可以被输入到工作流性能预测器240中以生成预测的性能值。预测的性能值可以表示新通信工作流310的预测的任务结果,诸如响应于接收到由包括在工作流中的任务(诸如任务3或5)触发的通信而执行目标动作的用户的百分比。工作流性能预测器240可以接收由特征向量生成器220生成的新通信工作流310的复合特征向量,并且将复合特征向量输入到存储在机器学习模型260处的经训练的机器学习模型中。响应于接收到新通信工作流310的复合特征向量,经训练的机器学习模型可以生成新通信工作流310的预测的性能的输出。
图4是图示根据本公开的一些方面的用于生成用于包括在部分通信工作流中的任务的推荐的过程流400的示例的图。例如,过程流400可以至少部分地由图1-图2中描述的任何组件来执行。另外,可以执行过程流400以生成一个或多个任务的推荐以包括在部分通信工作流中。
过程流400可以开始于用户操作由基于云的应用120提供的界面以创建新的部分工作流410。作为说明性示例,新的部分工作流410可以包括任务1至任务3的有序序列,其中任务1是发起工作流的开始任务,任务2是将用户设备的目标组拆分成两个子组的拆分任务,并且任务3可以是向与任务3相关联的用户设备的子组传输电子邮件的通信任务。基于云的应用120可以使用工作流结构生成器210来生成新的部分工作流410的结构。
可以将新的部分工作流410输入到部分工作流预测器250中以生成将完成新的部分工作流410的一个或多个任务的推荐。部分工作流预测器250可以接收由特征向量生成器220生成的新的部分工作流410的复合特征向量。部分工作流预测器250可以识别存储在训练数据集270中具有与新部分工作流410相同的结构的先前执行的通信工作流的部分部分的集合。部分工作流预测器250然后可以使用上述相似性检测技术确定与新的部分工作流410的复合特征向量相似的先前执行的通信工作流的一个或多个部分部分。部分工作流预测器250可以对被确定为性能相似的先前执行的通信工作流的部分部分进行排名。例如,可以选择先前执行的通信工作流的表现最好的部分部分。可以推荐先前执行的通信工作流的那个选择的部分部分的剩余任务来完成新的部分工作流410。作为所示示例,可以推荐任务4和任务5以包括在新的部分工作流410中以生成完整的工作流420。
图5是图示根据本公开的一些方面的用于生成预测通信工作流的任务结果的输出的过程500的示例的流程图。在一些实施方式中,过程500可以由图1-2中描述的任何组件来执行。例如,过程500可以由基于云的应用120和任何对应的子组件来执行。另外,作为非限制性示例,可以执行过程500以使用机器学习技术生成表示针对用户设备的目标组执行通信工作流的预测的任务结果的值的预测。
例如,过程500可以开始于方框510,其中基于云的应用120可以接收或访问包括一个或多个任务的有序序列的通信工作流。任务的有序序列可以表示一种结构,诸如分层树结构。基于云的应用120可以生成使用户能够通过选择任务并以有序次序布置任务来创建通信工作流的界面。
在方框520处,特征向量生成器220可以评估选择的任务和任务的有序序列以生成所述表示通信工作流的复合特征向量。例如,特征向量生成器220可以使用诸如Word2Vec、主题建模、奇异值分解(SVD)、用于图像表示的神经网络(例如,在任务是包括图像的消息的示例中)和其它合适的技术之类的技术来生成向量以表示每个任务。特征向量生成器220然后可以基于为每个任务生成的向量的组合来生成复合特征向量。
在方框530处,工作流性能预测器240可以将通信工作流的复合特征向量输入到存储在机器学习模型260处的经训练的机器学习模型中。在一些示例中,经训练的机器学习模型可以是受监督的学习模型,诸如线性回归模型、支持向量机(SVM)、逻辑回归、朴素贝叶斯、决策树模型、k-最近邻模型、神经网络、相似性学习和其它合适的模型。可以使用标记的数据来训练受监督的学习模型。例如,可以基于先前执行的通信工作流的已知任务结果用其对应的性能值(例如,点击率)标记每个先前执行的通信工作流。受监督的学习模型可以学习以分类或预测通信工作流的性能值。在方框540处,工作流性能预测器240可以生成与通信工作流的性能值的预测对应的输出。
图6是图示根据本公开的一些方面的用于生成要包括在新的部分通信工作流中的任务的推荐的过程600的示例的流程图。在一些实施方式中,过程600可以由图1-图2中描述的任何组件来执行。例如,过程600可以由基于云的应用120和任何对应的子组件来执行。另外,作为非限制性示例,可以执行过程600以向用户生成添加到新的部分通信工作流中的一个或多个任务的推荐。
例如,过程600可以开始于方框610,其中基于云的应用120可以生成并促进显示使用户能够定义通信工作流的界面。在方框620处,用户可以导航界面以选择任务并将选择的任务布置在有序序列中,这表示不完整或部分通信工作流。该界面可以接收与部分通信工作流对应的用户输入。部分通信工作流可以与表征部分通信工作流的一个或多个任务的每个任务的一个或多个参数相关联。例如,参数可以包括用于主题建模的词汇、数字消息的内容图像以及任务的其它合适特点。
在方框630处,工作流结构生成器210可以评估部分通信工作流以识别或生成部分通信工作流的结构。例如,该结构可以是包括根节点、一个或多个中间节点以及一个或多个子叶节点的分层树结构。根节点可以表示发起部分通信工作流的开始任务。中间节点可以是任何类型的任务,诸如将用户设备的目标组拆分为两个或更多个子组的拆分任务、过滤用户设备的目标组的过滤任务、将通信传输到用户设备的目标组的通信任务,等等。叶子节点可以是表示通信工作流的结束的结束节点。部分通信工作流可以还不包括结束节点,因为工作流是部分的或不完整的。在一些示例中,部分通信工作流的结构可以由一个或多个节点和/或一个或多个阶段表示。部分工作流的一个或多个任务中的每个任务可以与一个或多个节点中的节点或一个或多个阶段中的阶段对应。
在方框640处,特征向量生成器220可以评估选择的任务和任务的有序序列以生成表示部分通信工作流的复合特征向量。例如,特征向量生成器220可以使用诸如Word2Vec、主题建模、奇异值分解(SVD)、用于图像表示的神经网络(例如,在任务是包括图像的消息的示例中)和其它合适的技术之类的技术生成向量以表示每个任务。特征向量生成器220然后可以基于为每个任务生成的向量的组合来生成复合特征向量。
在方框650处,部分工作流预测器250可以访问训练数据集270的先前执行的部分工作流的集合。先前执行的部分工作流的集合中的每个先前执行的部分工作流可以由结构、复合特征向量和性能值(例如,任务结果)表示。在方框660处,部分工作流预测器250可以选择先前执行的部分工作流的集合的子集。被选择的先前执行的部分工作流的子集可以与该部分工作流共享相同的结构。部分工作流预测器250可以从先前执行的部分工作流的子集中确定与该部分工作流相似的一个或多个先前执行的部分工作流。可以基于子集的每个先前执行的部分工作流的复合特征向量与该部分工作流的复合特征向量之间的比较或以上关于图2描述的任何其它相似性确定技术来确定相似性。
在方框670处,部分工作流预测器250可以生成对一个或多个推荐的任务的推荐以完成部分工作流。一个或多个推荐的任务可以从与该部分工作流共享相同结构、被确定为与该部分工作流相似并具有最高性能值的一个或多个先前执行的部分工作流中的一个或多个先前执行的部分工作流的一个或多个剩余任务中选择。推荐的任务的选择可以基于与该部分工作流共享相同结构并且被确定为与该部分工作流相似的一个或多个先前执行的部分工作流的先前性能值。
图7是图示根据本公开的一些方面的用于生成通信工作流的向量表示的过程700的示例的流程图。在一些实施方式中,过程700可以由图1-图2中描述的任何组件来执行。例如,过程700可以由基于云的应用120和任何对应的子组件来执行。另外,作为非限制性示例,可以执行过程700以使用基于图的学习模型(例如,Graph2Vec)来生成通信工作流的向量表示。基于图的学习模型可以使用神经网络生成通信工作流的结构和任务的多维向量表示。由过程700生成的通信工作流的向量表示可以被输入到工作流性能预测器240和部分工作流预测器250中,以分别生成性能预测和任务推荐。
例如,过程700可以开始于方框710,在此处基于云的应用120可以为训练数据集270的每个先前执行的工作流生成图。给定表示通信工作流结构的图的情况下,工作流表示系统230可以对围绕图的不同节点的多个有根子图进行采样。在方框720处,工作流表示系统230可以使用采样的有根子图来训练n维神经网络。在一些示例中,有根子图可以包括子图的表示,其中节点已被选为根节点,并且源于那个选择的节点的一个或多个分支可以被学习。可以迭代地选择通信工作流的树结构的节点作为神经网络的根节点,以学习源自每个根节点的各种分支。在方框730处,训练神经网络可以包括学习训练数据集270的每个先前执行的通信工作流的每个节点的子图嵌入。另外,使用神经网络学习子图嵌入可以将表示通信工作流的树结构的节点和阶段变换成向量空间,同时保留树结构的结构和元数据。可以使用基于图的学习模型为训练数据集270的每个先前执行的通信工作流生成向量表示。然后可以对照新通信工作流的向量表示来评估存储在训练数据集270中的向量表示以执行本文描述的方法和过程。
图8描绘了用于实现实施例之一的分布式系统800的简化图。在所示的实施例中,分布式系统800包括一个或多个客户端计算设备802、804、806和808,每个客户端计算设备通过一个或多个网络810执行和操作客户端应用,诸如web浏览器、专有客户端(例如,Oracle Forms)等。服务器812可以经由网络810与远程客户端计算设备802、804、806和808通信地耦合。
在各种实施例中,服务器812可以适于运行由系统的一个或多个部件提供的一个或多个服务或软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下被供应给客户端计算设备802、804、806和/或808的用户。操作客户端计算设备802、804、806和/或808的用户进而可以利用一个或多个客户端应用来与服务器812交互以利用由这些部件提供的服务。
在图中描绘的配置中,系统800的软件部件818、820和822被示出为在服务器812上实现。在其它实施例中,系统800的一个或多个部件和/或由这些部件提供的服务也可以由客户端计算设备802、804、806和/或808中的一个或多个来实现。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用来使用由这些部件提供的服务。这些部件可以用硬件、固件、软件或其组合来实现。应该认识到的是,各种不同的系统配置是可能的,这些配置可能与分布式系统800不同。图中所示的实施例因此是用于实现实施例系统的分布式系统的一个示例,而不旨在是限制性的。
客户端计算设备802、804、806和/或808可以是便携式手持设备(例如,蜂窝电话、计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器),运行诸如Microsoft Windows和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等)的软件,并且启用互联网、电子邮件、短消息服务(SMS)、或其它通信协议。客户端计算设备可以是通用个人计算机,作为示例,包括运行各种版本的Microsoft的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种可商业获得的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统,诸如例如Google Chrome OS)中的任何操作系统的工作站计算机。替代地或附加地,客户端计算设备802、804、806和808可以是能够通过(一个或多个)网络810进行通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的MicrosoftXbox游戏控制台)和/或个人消息传送设备。
虽然示出了具有四个客户端计算设备的示例性分布式系统800,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器等的设备等)可以与服务器812交互。
分布式系统800中的(一个或多个)网络810可以是本领域技术人员熟悉的、可以使用各种可商业获得的协议中的任何协议来支持数据通信的任何类型的网络,其中协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络810可以是局域网(LAN),诸如基于以太网、令牌环等的LAN。(一个或多个)网络810可以是广域网和互联网。它可以包括虚拟网络,包括但不限于虚拟专用网络(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,依据电气和电子协会(IEEE)802.11协议套件、和/或任何其它无线协议的任何协议而操作的网络);和/或这些网络和/或其它网络的任何组合。
服务器812可以由一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。在各种实施例中,服务器812可以适于运行在前述公开中描述的一个或多个服务或软件应用。例如,服务器812可以与用于执行以上根据本公开的实施例描述的处理的服务器对应。
服务器812可以运行包括以上讨论的任何操作系统中的操作系统,以及任何可商业获得的服务器操作系统。服务器812还可以运行各种附加的服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的那些数据库服务器。
在一些实施方式中,服务器812可以包括一个或多个应用,以分析和整合从客户端计算设备802、804、806和808的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于,馈送、更新或者从一个或多个第三方信息源和连续数据流接收到的实时更新,实时更新可以包括与传感器数据应用、金融价格收报机(financial ticker)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器812还可以包括一个或多个应用,以经由客户端计算设备802、804、806和808的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式系统800还可以包括一个或多个数据库814和816。数据库814和816可以驻留在各种位置。作为示例,数据库814和816中的一个或多个可以驻留在服务器812本地(和/或驻留在服务器812中)的非暂态存储介质上。可替代地,数据库814和816可以远离服务器812并且经由基于网络的连接或专用的连接与服务器812进行通信。在一组示例中,数据库814和816可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器812所具有的功能的任何必要文件都可以适当地本地存储在服务器812上和/或远程存储。在实施例的一个集合中,数据库814和816可以包括适于响应SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
图9是根据一些实施例的可以将由实施例系统的一个或多个部件提供的服务作为云服务提供的系统环境900的一个或多个部件的简化框图。在所示的实施例中,系统环境900包括可以由用户使用以与提供云服务的云基础设施系统902交互的一个或多个客户端计算设备904、906和908。客户端计算设备可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或某种其它应用,这些应用可以由客户端计算设备的用户用来与云基础设施系统902交互以使用由云基础设施系统902提供的服务。
应当认识到的是,图中描绘的云基础设施系统902可以具有与所描绘的部件不同的其它部件。另外,图中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统902可以具有比图中所示更多或更少的部件,可以组合两个或更多个部件,或者可以具有部件的不同配置或布置。
客户端计算设备904、906和908可以是与上面针对802、804、806和808所描述的设备类似的设备。
虽然示例性系统环境900被示出具有三个客户端计算设备,但是任何数量的客户端计算设备可以被支持。其它设备(诸如具有传感器的设备等)可以与云基础设施系统902交互。
(一个或多个)网络910可以促进客户端904、906和908与云基础设施系统902之间的数据的通信和交换。每个网络可以是本领域技术人员所熟悉的可以使用各种商业上可获得的协议(包括上面针对(一个或多个)网络810所描述的那些协议)中的任何一种支持数据通信的任何类型的网络。
云基础设施系统902可以包括一个或多个计算机和/或服务器,其可以包括上面针对服务器812所描述的那些计算机和/或服务器。
在某些实施例中,由云基础设施系统提供的服务可以包括按需对云基础设施系统的用户可用的许多服务,诸如在线数据存储和备份解决方案、基于Web的电子邮件服务、被托管的办公室(office)套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展以满足云基础设施系统的用户的需要。由云基础设施系统提供的服务的具体实例化在本文中被称为“服务实例”。一般而言,从云服务提供商的系统经由通信网络(诸如互联网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统与客户自己的室内服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、被托管的数据库、被托管的Web服务器、软件应用或由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储装置进行密码保护的访问。作为另一个示例,服务可以包括基于Web服务的被托管的关系数据库和脚本语言中间件引擎,以供联网的开发人员私有使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统902可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式递送给客户的应用、中间件和数据库服务供应的套件。这种云基础设施系统的示例是由本受让人提供的Oracle公共云。
在各种实施例中,云基础设施系统902可以适于自动供给、管理和跟踪客户对云基础设施系统902供应的服务的订阅。云基础设施系统902可以经由不同的部署模型来提供云服务。例如,可以依据公共云模型提供服务,其中云基础设施系统902被销售云服务的组织拥有(例如,被Oracle拥有),并且服务对一般公众或不同行业的企业可用。作为另一个示例,可以依据私有云模型来提供服务,其中云基础设施系统902仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。还可以依据社区云模型来提供云服务,其中云基础设施系统902和由云基础设施系统902提供的服务由相关社区中的若干组织共享。云服务还可以依据混合云模型被提供,该混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统802提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。客户经由订阅订单可以订购由云基础设施系统902提供的一个或多个服务。云基础设施系统902然后执行处理以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统902提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构建和递送按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供销售绩效管理、企业集成和灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的公共体系架构上整合现有应用以及充分利用平台提供的共享服务来构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础架构系统提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle融合中间件服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该模型使得组织能够汇集数据库资源并且以数据库云的形式向客户供应数据库即服务。中间件云服务可以为客户提供开发和部署各种云应用的平台,并且Java云服务可以为客户提供在云基础设施系统中部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基础计算资源)的管理和控制,以供客户利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统902还可以包括基础设施资源930,用于向云基础设施系统的客户提供用于提供各种服务的资源。在一个实施例中,基础设施资源930可以包括预先集成和优化的硬件(诸如服务器、存储装置和联网资源)的组合,以执行由PaaS平台和SaaS平台提供的服务。
在一些实施例中,云基础设施系统902中的资源可以由多个用户共享并且根据需要动态重新分配。此外,可以将资源分配给在不同时区的用户。例如,云基础设施系统930可以使在第一时区中的第一组用户能够在指定的小时数内利用云基础设施系统的资源,并且然后使相同资源能够被重新分配给位于不同时区的另一组用户,从而使资源的利用率最大化。
在某些实施例中,可以提供由云基础设施系统902的不同部件或模块以及由云基础设施系统902提供的服务共享的多个内部共享服务932。这些内部共享服务可以包括但不限于:安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统902可以提供云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供给、管理和跟踪由云基础设施系统902接收到的客户订阅等的能力。
在一个实施例中,如图中所描绘的,云管理功能可以由一个或多个模块提供,诸如订单管理模块920、订单编排模块922、订单供给模块924、订单管理和监视模块926,以及身份管理模块928。这些模块可以包括一个或多个计算机和/或服务器或者使用一个或多个计算机和/或服务器来提供,这些计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器集群或任何其它适当的布置/或组合。
在示例性操作934中,使用客户端设备(诸如客户端设备904、906或908)的客户可以通过请求由云基础设施系统902提供的一个或多个服务并且下订阅由云基础设施系统902供应的一个或多个服务来的订单来与云基础设施系统902交互。在某些示例中,客户可以访问云用户界面(UI)、云UI 912、云UI 914和/或云UI 916并经由这些UI下订阅订单。云基础设施系统802响应于客户下订单而接收到的订单信息可以包括识别客户以及客户想要订阅的云基础设施系统902供应的一个或多个服务的信息。
在客户下订单之后,经由云UI,912、914和/或916,接收订单信息。
在操作936处,订单存储在订单数据库918中。订单数据库918可以是由云基础设施系统918操作和与其它系统元件一起操作的若干数据库之一。
在操作938处,订单信息被转发到订单管理模块920。在一些情况下,订单管理模块920可以被配置为执行与订单相关的计费和记账功能,诸如验证订单,并且在验证后,预订订单。
在操作940处,将关于订单的信息传送到订单编排模块922。订单编排模块922可以利用订单信息为客户下的订单编排服务和资源的供给。在一些情况下,订单编排模块922可以使用订单供给模块924的服务来编排资源的供给以支持订阅的服务。
在某些实施例中,订单编排模块922使得能够管理与每个订单相关联的过程并应用逻辑来确定订单是否应该进行到供给。在操作942处,在接收到新订阅的订单时,订单编排模块922向订单供给模块924发送请求以分配资源并配置履行订阅订单所需的那些资源。订单供给模块924使得能够为客户订购的服务分配资源。订单供给模块924提供由云基础设施系统900提供的云服务和用于供给用于提供所请求的服务的资源的物理实现层之间的抽象层。因此,订单编排模块922可以与实现细节隔离,诸如服务和资源是否实际上即时供给或预先供给并仅在请求后才分配/指派。
在操作944处,一旦供给了服务和资源,就可以通过云基础设施系统902的订单供给模块924向客户端设备904、906和/或908上的客户发送所提供服务的通知。
在操作946处,订单管理和监视模块926可以管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块926可以被配置为收集订阅订单中的服务的使用统计,诸如,所使用的存储量、传输的数据量、用户的数量,以及系统运行时间和系统停机时间量。
在某些实施例中,云基础设施系统900可以包括身份管理模块928。身份管理模块928可以被配置为提供身份服务,诸如云基础设施系统900中的访问管理和授权服务。在一些实施例中,身份管理模块928可以控制关于希望利用由云基础设施系统902提供的服务的客户的信息。这样的信息可以包括认证这些客户的身份的信息以及描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。身份管理模块928还可以包括对关于每个客户的描述性信息以及关于如何和由谁来访问和修改这些描述性信息的管理。
图10图示了其中可以实现各种实施例的示例性计算机系统1000。系统1000可以用于实现上述计算机系统中的任何一个。如图所示,计算机系统1000包括经由总线子系统1002与多个外围子系统通信的处理单元1004。这些外围子系统可以包括处理加速单元1006、I/O子系统1008、存储子系统1018和通信子系统1024。存储子系统1018包括有形计算机可读存储介质1022和系统存储器1010。
总线子系统1002提供用于让计算机系统1000的各种部件和子系统按意图彼此进行通信的机制。虽然总线子系统1002被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1002可以是若干种类型的总线结构中的任何类型,这些总线类型包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系架构中的任何体系架构的局部总线。例如,这种体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,这些总线可以被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元1004控制计算机系统1000的操作。一个或多个处理器可以被包括在处理单元1004中。这些处理器可以包括单核处理器或多核处理器。在某些实施例中,处理单元1004可以被实现为一个或多个独立的处理单元1032和/或1034,其中在每个处理单元中包括单核处理器或多核处理器。在其它实施例中,处理单元1004也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元1004可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器1004中和/或存储子系统1018中。通过适当的编程,(一个或多个)处理器1004可以提供上述各种功能。计算机系统1000可以附加地包括处理加速单元1006,该处理加速单元1006可以包括数字信号处理器(DSP)、专用处理器等。
I/O子系统1008可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的指向设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、小键盘、具有语音命令辨识系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括,例如,运动感测和/或手势辨识设备,诸如Microsoft运动传感器,该运动传感器使得用户能够通过使用手势和语音命令的自然用户接口来控制诸如Microsoft360游戏控制器的输入设备并与输入设备交互。用户接口输入设备也可以包括眼睛姿势辨识设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或进行菜单选择时的“眨眼”)并且将眼睛姿势变换为进入输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音辨识系统(例如,导航器)交互的语音辨识感测设备。
用户接口输入设备也可以包括但不限于:三维(3D)鼠标、操纵杆或指向棒(pointing stick)、游戏面板和绘图板,以及音频/视觉设备,诸如扬声器、数码相机、数码摄录机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层显像、医疗超声设备。用户接口输入设备也可以包括,例如,诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统1000向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于:可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备以及调制解调器。
计算机系统1000可以包括包含软件元件的被示出为当前位于系统存储器1010内的存储子系统1018。系统存储器1010可以存储可加载并且可在处理单元1004上执行的程序指令,以及在这些程序的执行期间所生成的数据。
取决于计算机系统1000的配置和类型,系统存储器1010可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。RAM通常包含可被处理单元1004立即访问和/或目前正在被处理单元1004操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器1010可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实施方式中,诸如在启动期间,包含有助于在计算机系统1000内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。作为示例但不是限制,系统存储器1010也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1012,程序数据1014、以及操作系统1016。作为示例,操作系统1016可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种可商业获得的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统的移动操作系统。
存储子系统1018也可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统1018中。这些软件模块或指令可以被处理单元1004执行。存储子系统1018也可以提供用于存储根据本发明被使用的数据的储存库。
存储子系统1018也可以包括可被进一步连接到计算机可读存储介质1022的计算机可读存储介质读取器1020。与系统存储器1010一起并且可选地与系统存储器1010相结合,计算机可读存储介质1022可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移动的存储设备加存储介质。
包含代码或代码的一部分的计算机可读存储介质1022也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于:以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学储存器、磁带盒、磁带、磁盘储存装置或其它磁存储设备、或者其它有形计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以用于发送期望信息并且可以被计算系统1000访问的任何其它介质。
作为示例,计算机可读存储介质1022可以包括从不可移动的非易失性磁介质读取或写入到不可移动的非易失性磁介质的硬盘驱动器、从可移动的非易失性磁盘读取或写入到可移动的非易失性磁盘的磁盘驱动器、以及从可移动的非易失性光盘(诸如CD ROM、DVD和(蓝光)盘或其它光学介质)读取或写入到可移动的非易失性光盘的光盘驱动器。计算机可读存储介质1022可以包括但不限于:驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质1022也可以包括:基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM,基于DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM和闪存存储器的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统1000提供计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
通信子系统1024提供到其它计算机系统和网络的接口。通信子系统1024用作用于从其它系统接收数据和从计算机系统1000向其它系统发送数据的接口。例如,通信子系统924可以使计算机系统1000能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1024可以包括用于访问无线语音和/或数据网络的射频(RF)收发器部件(例如,使用蜂窝电话技术、先进数据网络技术,诸如3G、4G或EDGE(用于全球演进的增强型数据速率)、WiFi(IEEE 1202.11系列标准)或其它移动通信技术、或者其任何组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或者替代,通信子系统1024可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统1024也可以代表可以使用计算机系统1000的一个或多个用户来接收以结构化和/或非结构化数据馈送1026、事件流1028、事件更新1030等形式的输入通信。
作为示例,通信子系统1024可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送1026,诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统1024也可以被配置为接收以连续数据流形式的数据,该数据可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流1028和/或事件更新1030。生成连续数据的应用的示例可以包括,例如,传感器数据应用、金融价格收报机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统1024也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送1026、事件流1028、事件更新1030等,这一个或多个数据库可以与耦合到计算机系统1000的一个或多个流式数据源计算机进行通信。
计算机系统1000可以是各种类型中的一种类型,包括手持便携式设备(例如,蜂窝电话、计算平板电脑、PDA)、可穿戴设备(例如,Google头戴式显示器)、PC、工作站、大型机、信息站(kiosk)、服务器机架、或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统1000的描述仅旨在作为具体的示例。具有比图中绘出的系统更多或更少部件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以在硬件、固件、软件(包括小程序应用(applets))或其组合中实现。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。基于本文提供的公开内容和教导,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
在前述说明书中,参考本发明的各方面的具体实施例对本发明的各方面进行了描述,但是本领域技术人员将认识到的是,本发明不限于此。上述发明的各个特征和方面可以被单独使用或联合使用。另外,在不脱离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的那些环境和应用之外的任何数目的环境和应用中被使用。相应地,本说明书和附图应当被认为是说明性的而不是限制性的。
Claims (20)
1.一种计算机实现的方法,包括:
访问包括按顺序次序布置的一个或多个任务的通信工作流,所述通信工作流被配置为促进与用户设备的集合的交互,所述一个或多个任务中的每个任务包括可执行代码,所述可执行代码在执行时执行与用户设备的集合相关联的功能,并且所述通信工作流与表征所述通信工作流的所述一个或多个任务中的每个任务的一个或多个参数相关联;
生成所述表示通信工作流的复合特征向量,所述复合特征向量是使用所述通信工作流的所述一个或多个任务中的每个任务的特征向量生成的,并且所述一个或多个任务中的每个任务的特征向量是通过使用表征任务的所述一个或多个参数执行一种或多种机器学习技术生成的;
将所述通信工作流的复合特征向量输入到经训练的机器学习模型中,该经训练的机器学习模型已经被训练用于生成所述通信工作流的性能值的预测,并且经训练的机器学习模型已经使用表示一个或多个先前执行的通信工作流的训练数据集和所述一个或多个先前执行的通信工作流中的每个通信工作流的对应的先前性能值进行了训练;以及
使用经训练的机器学习模型生成输出,该输出预测所述通信工作流的性能值。
2.如权利要求1所述的计算机实现的方法,还包括:
确定所述通信工作流的结构,该结构由树结构的多个节点表示,其中树结构的所述多个节点中的两个节点由一个或多个阶段连接,其中所述通信工作流的所述一个或多个任务中的每个任务与所述多个节点中的节点或所述一个或多个阶段中的阶段对应;以及
评估所述训练数据集以确定所述通信工作流的结构是否与所述一个或多个先前执行的通信工作流中的至少一个先前执行的通信工作流的结构匹配。
3.如权利要求2所述的计算机实现的方法,还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的通信工作流中的每个先前执行的通信工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的通信工作流的子组;
为先前执行的通信工作流的子组的每个先前执行的通信工作流识别先前性能值;以及
通过确定与先前执行的通信工作流的子组相关联的先前性能值的组合来生成预所述测通信工作流的性能值的输出。
4.如权利要求2所述的计算机实现的方法,还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流的一组先前执行的通信工作流的结构匹配,其中在生成训练数据集期间:
确定先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
对先前执行的通信工作流的所述一个或多个子集中的每个子集执行聚类操作,其中先前执行的通信工作流的每个子集与先前执行的通信工作流的一个或多个集群相关联,其中所述一个或多个集群是通过在域空间中对先前执行的通信工作流的子集的复合特征向量执行聚类操作而形成的,并且其中集群中包括的每个先前执行的通信工作流都与复合特征向量相关联,该复合特征向量与那个集群中其它先前执行的通信工作流的复合特征向量对应;
通过以下操作来生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构对应的特定子集;
基于所述通信工作流的复合特征向量与所述一个或多个集群中的每个集群的复合特征向量的比较来将所述通信工作流指派给所述一个或多个集群中与特定子集对应的特定集群;以及
确定与先前执行的通信工作流相关联的先前性能值的组合,该先前执行的通信工作流与该通信工作流被指派给的特定集群相关联。
5.如权利要求2所述的计算机实现的方法,还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的工作流的结构相匹配,其中在生成训练数据集期间:
识别先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
为先前执行的通信工作流的所述一个或多个子集中的每个子集训练受监督的机器学习模型;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构匹配的特定子集;
将所述通信工作流的复合特征向量输入到与所述特定子集对应的受监督的机器学习模型;以及
生成预测所述通信工作流的性能值的输出。
6.如权利要求2所述的计算机实现的方法,还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流中的任何先前执行的通信工作流的结构不匹配;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
将所述训练数据集的所述一个或多个先前执行的通信工作流中的每个先前执行的通信工作流分割成多个先前执行的子工作流;
将所述通信工作流的结构与所述训练数据集的每个先前执行的工作流的所述多个子工作流中的每个子工作流进行比较;
识别所述多个先前执行的子工作流中的一组先前执行的子工作流,所述一组先前执行的子工作流与所述通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的子工作流的每个先前执行的子工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的子工作流的子组;以及
基于与先前执行的子工作流的所选择的子组相关联的先前性能值来确定所述通信工作流的预测的性能值。
7.如权利要求1所述的计算机实现的方法,其中通信工作流由包括元数据的列表定义,所述元数据描述:
所述通信工作流的结构;
所述通信工作流中包括的每个任务;以及
表示所述通信工作流的所述一个或多个任务中的任务的每个特征向量;并且其中元数据的列表被解析以执行一个或多个功能。
8.一种系统,包括:
一个或多个处理器;以及
包含指令的非暂态计算机可读存储介质,所述指令在所述一个或多个处理器上执行时使所述一个或多个处理器执行操作,包括:
访问包括按顺序次序布置的一个或多个任务的通信工作流,所述通信工作流被配置为促进与用户设备的集合的交互,所述一个或多个任务中的每个任务包括可执行代码,所述可执行代码在执行时执行与用户设备的集合相关联的功能,并且所述通信工作流与表征所述通信工作流的所述一个或多个任务中的每个任务的一个或多个参数相关联;
生成所述表示通信工作流的复合特征向量,所述复合特征向量是使用所述通信工作流的所述一个或多个任务中的每个任务的特征向量生成的,并且所述一个或多个任务中的每个任务的特征向量是通过使用表征任务的所述一个或多个参数执行一种或多种机器学习技术生成的;
将所述通信工作流的复合特征向量输入到经训练的机器学习模型中,该经训练的机器学习模型已经被训练用于生成所述通信工作流的性能值的预测,并且经训练的机器学习模型已经使用表示一个或多个先前执行的通信工作流的训练数据集和所述一个或多个先前执行的通信工作流中的每个通信工作流的对应的先前性能值进行了训练;以及
使用经训练的机器学习模型生成输出,该输出预测所述通信工作流的性能值。
9.如权利要求8所述的系统,其中操作还包括:
确定所述通信工作流的结构,该结构由树结构的多个节点表示,其中树结构的所述多个节点中的两个节点由一个或多个阶段连接,其中所述通信工作流的所述一个或多个任务中的每个任务与所述多个节点中的节点或所述一个或多个阶段中的阶段对应;以及
评估所述训练数据集以确定所述通信工作流的结构是否与所述一个或多个先前执行的通信工作流中的至少一个先前执行的通信工作流的结构匹配。
10.如权利要求9所述的系统,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的通信工作流中的每个先前执行的通信工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的通信工作流的子组;
为先前执行的通信工作流的子组的每个先前执行的通信工作流识别先前性能值;以及
通过确定与先前执行的通信工作流的子组相关联的先前性能值的组合来生成预所述测通信工作流的性能值的输出。
11.如权利要求9所述的系统,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流的一组先前执行的通信工作流的结构匹配,其中在生成训练数据集期间:
确定先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
对先前执行的通信工作流的所述一个或多个子集中的每个子集执行聚类操作,其中先前执行的通信工作流的每个子集与先前执行的通信工作流的一个或多个集群相关联,其中所述一个或多个集群是通过在域空间中对先前执行的通信工作流的子集的复合特征向量执行聚类操作而形成的,并且其中集群中包括的每个先前执行的通信工作流都与复合特征向量相关联,该复合特征向量与那个集群中其它先前执行的通信工作流的复合特征向量对应;
通过以下操作来生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构对应的特定子集;
基于所述通信工作流的复合特征向量与所述一个或多个集群中的每个集群的复合特征向量的比较来将所述通信工作流指派给所述一个或多个集群中与特定子集对应的特定集群;以及
确定与先前执行的通信工作流相关联的先前性能值的组合,该先前执行的通信工作流与该通信工作流被指派给的特定集群相关联。
12.如权利要求9所述的系统,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的工作流的结构相匹配,其中在生成训练数据集期间:
识别先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
为先前执行的通信工作流的所述一个或多个子集中的每个子集训练受监督的机器学习模型;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构匹配的特定子集;
将所述通信工作流的复合特征向量输入到与所述特定子集对应的受监督的机器学习模型;以及
生成预测所述通信工作流的性能值的输出。
13.如权利要求9所述的系统,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流中的任何先前执行的通信工作流的结构不匹配;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
将所述训练数据集的所述一个或多个先前执行的通信工作流中的每个先前执行的通信工作流分割成多个先前执行的子工作流;
将通信工作流的结构与所述训练数据集的每个先前执行的工作流的所述多个子工作流中的每个子工作流进行比较;
识别所述多个先前执行的子工作流中的一组先前执行的子工作流,所述一组先前执行的子工作流与所述通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的子工作流的每个先前执行的子工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的子工作流的子组;以及
基于与先前执行的子工作流的所选择的子组相关联的先前性能值来确定所述通信工作流的预测的性能值。
14.如权利要求8所述的系统,其中通信工作流由包括元数据的列表定义,所述元数据描述:
所述通信工作流的结构;
所述通信工作流中包括的每个任务;以及
表示所述通信工作流的所述一个或多个任务中的任务的每个特征向量;并且其中元数据的列表被解析以执行一个或多个功能。
15.一种有形地实施在非暂态机器可读存储介质中的计算机程序产品,包括被配置为使处理装置执行操作的指令,操作包括:
访问包括按顺序次序布置的一个或多个任务的通信工作流,所述通信工作流被配置为促进与用户设备的集合的交互,所述一个或多个任务中的每个任务包括可执行代码,所述可执行代码在执行时执行与用户设备的集合相关联的功能,并且所述通信工作流与表征所述通信工作流的所述一个或多个任务中的每个任务的一个或多个参数相关联;
生成所述表示通信工作流的复合特征向量,所述复合特征向量是使用所述通信工作流的所述一个或多个任务中的每个任务的特征向量生成的,并且所述一个或多个任务中的每个任务的特征向量是通过使用表征任务的所述一个或多个参数执行一种或多种机器学习技术生成的;
将所述通信工作流的复合特征向量输入到经训练的机器学习模型中,该经训练的机器学习模型已经被训练用于生成所述通信工作流的性能值的预测,并且经训练的机器学习模型已经使用表示一个或多个先前执行的通信工作流的训练数据集和所述一个或多个先前执行的通信工作流中的每个通信工作流的对应的先前性能值进行了训练;以及
使用经训练的机器学习模型生成输出,该输出预测所述通信工作流的性能值。
16.如权利要求15所述的非暂态机器可读存储介质,其中操作还包括:
确定所述通信工作流的结构,该结构由树结构的多个节点表示,其中树结构的所述多个节点中的两个节点由一个或多个阶段连接,其中所述通信工作流的所述一个或多个任务中的每个任务与所述多个节点中的节点或所述一个或多个阶段中的阶段对应;以及
评估所述训练数据集以确定所述通信工作流的结构是否与所述一个或多个先前执行的通信工作流中的至少一个先前执行的通信工作流的结构匹配。
17.如权利要求16所述的非暂态机器可读存储介质,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的通信工作流中的每个先前执行的通信工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的通信工作流的子组;
为先前执行的通信工作流的子组的每个先前执行的通信工作流识别先前性能值;以及
通过确定与先前执行的通信工作流的子组相关联的先前性能值的组合来生成预所述测通信工作流的性能值的输出。
18.如权利要求16所述的非暂态机器可读存储介质,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流的一组先前执行的通信工作流的结构匹配,其中在生成训练数据集期间:
确定先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
对先前执行的通信工作流的所述一个或多个子集中的每个子集执行聚类操作,其中先前执行的通信工作流的每个子集与先前执行的通信工作流的一个或多个集群相关联,其中所述一个或多个集群是通过在域空间中对先前执行的通信工作流的子集的复合特征向量执行聚类操作而形成的,并且其中集群中包括的每个先前执行的通信工作流都与复合特征向量相关联,该复合特征向量与那个集群中其它先前执行的通信工作流的复合特征向量对应;
通过以下操作来生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构对应的特定子集;
基于所述通信工作流的复合特征向量与所述一个或多个集群中的每个集群的复合特征向量的比较来将所述通信工作流指派给所述一个或多个集群中与特定子集对应的特定集群;以及
确定与先前执行的通信工作流相关联的先前性能值的组合,该先前执行的通信工作流与该通信工作流被指派给的特定集群相关联。
19.如权利要求16所述的非暂态机器可读存储介质,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的工作流的一组先前执行的工作流的结构相匹配,其中在生成训练数据集期间:
识别先前执行的通信工作流的一个或多个子集,所述一个或多个子集中的每个子集与共享共用结构的两个或更多个先前执行的通信工作流对应;以及
为先前执行的通信工作流的所述一个或多个子集中的每个子集训练受监督的机器学习模型;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
识别所述训练数据集的所述一个或多个子集中其结构与所述通信工作流的结构匹配的特定子集;
将所述通信工作流的复合特征向量输入到与所述特定子集对应的受监督的机器学习模型;以及
生成预测所述通信工作流的性能值的输出。
20.如权利要求16所述的非暂态机器可读存储介质,其中操作还包括:
确定所述通信工作流的结构与所述训练数据集的所述一个或多个先前执行的通信工作流中的任何先前执行的通信工作流的结构不匹配;以及
通过以下操作生成预测所述通信工作流的性能值的输出:
将所述训练数据集的所述一个或多个先前执行的通信工作流中的每个先前执行的通信工作流分割成多个先前执行的子工作流;
将所述通信工作流的结构与所述训练数据集的每个先前执行的工作流的所述多个子工作流中的每个子工作流进行比较;
识别所述多个先前执行的子工作流中的一组先前执行的子工作流,所述一组先前执行的子工作流与所述通信工作流的结构匹配;
在域空间中将所述通信工作流的复合特征向量与所述一组先前执行的子工作流的每个先前执行的子工作流的复合特征向量进行比较;
基于阈值和所述比较的结果来选择所述一组先前执行的子工作流的子组;以及
基于与先前执行的子工作流的所选择的子组相关联的先前性能值来确定所述通信工作流的预测的性能值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/800,869 | 2020-02-25 | ||
US16/800,869 US11397873B2 (en) | 2020-02-25 | 2020-02-25 | Enhanced processing for communication workflows using machine-learning techniques |
PCT/US2021/019636 WO2021173815A1 (en) | 2020-02-25 | 2021-02-25 | Enhanced processing for communication workflows using machine-learning techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115151928A true CN115151928A (zh) | 2022-10-04 |
Family
ID=75108851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180016673.4A Pending CN115151928A (zh) | 2020-02-25 | 2021-02-25 | 使用机器学习技术的用于通信工作流的增强的处理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11397873B2 (zh) |
EP (1) | EP4100902A1 (zh) |
JP (1) | JP2023515556A (zh) |
CN (1) | CN115151928A (zh) |
WO (1) | WO2021173815A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210264251A1 (en) * | 2020-02-25 | 2021-08-26 | Oracle International Corporation | Enhanced processing for communication workflows using machine-learning techniques |
US11663038B2 (en) * | 2020-05-01 | 2023-05-30 | Salesforce.Com, Inc. | Workflow data migration management |
US20220066818A1 (en) * | 2020-08-31 | 2022-03-03 | Fujitsu Limited | Multiple task execution |
US11893030B2 (en) * | 2020-09-29 | 2024-02-06 | Cerner Innovation, Inc. | System and method for improved state identification and prediction in computerized queries |
US11886867B2 (en) * | 2020-11-12 | 2024-01-30 | International Business Machines Corporation | Workflow patching |
US20220180240A1 (en) * | 2020-12-03 | 2022-06-09 | International Business Machines Corporation | Transaction composition graph node embedding |
US11799734B1 (en) * | 2022-05-17 | 2023-10-24 | Fmr Llc | Determining future user actions using time-based featurization of clickstream data |
WO2023235814A1 (en) * | 2022-06-01 | 2023-12-07 | Vianai Systems, Inc. | Techniques for automated decision making in workflows |
WO2024102051A1 (en) * | 2022-11-08 | 2024-05-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Feedback on executed field service operation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9306878B2 (en) | 2012-02-14 | 2016-04-05 | Salesforce.Com, Inc. | Intelligent automated messaging for computer-implemented devices |
WO2018176215A1 (en) | 2017-03-28 | 2018-10-04 | Oracle International Corporation | Systems and methods for intelligently providing supporting information using machine-learning |
US11321614B2 (en) * | 2017-09-29 | 2022-05-03 | Oracle International Corporation | Directed trajectories through communication decision tree using iterative artificial intelligence |
US11409576B2 (en) * | 2017-12-29 | 2022-08-09 | Entefy Inc. | Dynamic distribution of a workload processing pipeline on a computing infrastructure |
US20190332892A1 (en) * | 2018-04-25 | 2019-10-31 | General Electric Company | Data intelligence driven artificial intelligence model generation and consumption |
US11620574B2 (en) * | 2018-12-05 | 2023-04-04 | The Board Of Trustees Of The University Of Illnois | Holistic optimization for accelerating iterative machine learning |
US11520583B2 (en) * | 2019-11-01 | 2022-12-06 | Calvert Ventures LLC | Serverless workflow enablement and execution platform |
US11631011B2 (en) * | 2020-01-31 | 2023-04-18 | EMC IP Holding Company LLC | Automatically remediating storage device issues using machine learning techniques |
US11475364B2 (en) * | 2020-03-10 | 2022-10-18 | Oracle International Corporation | Systems and methods for analyzing a list of items using machine learning models |
-
2020
- 2020-02-25 US US16/800,869 patent/US11397873B2/en active Active
-
2021
- 2021-02-25 JP JP2022551017A patent/JP2023515556A/ja active Pending
- 2021-02-25 CN CN202180016673.4A patent/CN115151928A/zh active Pending
- 2021-02-25 WO PCT/US2021/019636 patent/WO2021173815A1/en unknown
- 2021-02-25 EP EP21713256.2A patent/EP4100902A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4100902A1 (en) | 2022-12-14 |
WO2021173815A1 (en) | 2021-09-02 |
US11397873B2 (en) | 2022-07-26 |
US20210264202A1 (en) | 2021-08-26 |
JP2023515556A (ja) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263241B2 (en) | Systems and methods for predicting actionable tasks using contextual models | |
US11238223B2 (en) | Systems and methods for intelligently predicting accurate combinations of values presentable in data fields | |
US11921815B2 (en) | Techniques for the automated customization and deployment of a machine learning application | |
US11397873B2 (en) | Enhanced processing for communication workflows using machine-learning techniques | |
US11734609B1 (en) | Customized predictive analytical model training | |
CN110741390B (zh) | 使用机器学习智能地提供支持信息的系统和方法 | |
US11983639B2 (en) | Systems and methods for identifying process flows from log files and visualizing the flow | |
CN110268409B (zh) | 用于电力欺诈检测的新型非参数统计行为识别生态系统 | |
US11915195B2 (en) | Systems and methods for intelligent field matching and anomaly detection | |
US9378270B2 (en) | Systems and methods for generating natural language insights about sets of data | |
US20210264251A1 (en) | Enhanced processing for communication workflows using machine-learning techniques | |
US11449773B2 (en) | Enhanced similarity detection between data sets with unknown prior features using machine-learning | |
CN114175018A (zh) | 新词分类技术 | |
US11475221B2 (en) | Techniques for selecting content to include in user communications | |
US12001984B2 (en) | Enhanced user selection for communication workflows using machine-learning techniques | |
US20220207284A1 (en) | Content targeting using content context and user propensity | |
US11397614B2 (en) | Enhanced processing for communication workflows using machine-learning techniques | |
US20230239377A1 (en) | System and techniques to autocomplete a new protocol definition | |
US11163988B2 (en) | Selective interactive event tracking based on user interest | |
US20240061883A1 (en) | Declarative modeling paradigm for graph-database | |
US20240169216A1 (en) | Predicting record topic using transitive relations | |
US20230315798A1 (en) | Hybrid approach for generating recommendations | |
US20230297861A1 (en) | Graph recommendations for optimal model configurations |
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 |