首页> 中国专利> 神经网络优化中的特征工程

神经网络优化中的特征工程

摘要

针对在对应于输入数据集的向量空间中表示的特征对,构造传递闭包数据结构。所述数据结构包括对应于所述向量空间的图中在所述对中的第一特征与所述对中的第二特征之间的所有可能路径集合的条目集合。通过移除所述条目集合的子集来归约所述数据结构,使得在所述传递闭包数据结构中仅保留与单个路径相对应的单个条目。由归约所述传递闭包数据结构而产生的保留在归约的本体图中的特征的群组形成特征交叉,使得所述神经网络产生相对于所述数据集在定义的准确度内的预测。

著录项

说明书

技术领域

本发明一般涉及用于配置神经网络以基于大数据集产生预测的方法、系统和计算机程序产品。更具体地,本发明涉及用于神经网络优化中的特征工程的方法、系统和计算机程序产品。

背景技术

如本文所使用的数据集是数据的集合、主体或语料库,其中数据项对应于来自特征集的一个或多个特征。特征是数据中表示的实体。例如,在作为来自英语文献中的书的摘录的数据集中,不同的单词可被认为是特征。作为另一示例,在包括交通流量数据的数据集中,一周中的天和一天中的小时可被认为是特征。

特征不仅是直接或明确地表示在数据中的实体,而且是可从数据推断的实体。例如,假设数据集包含产品所有权数据,并且数据集中的一个数据项示出公司X拥有产品Y。在数据集中,X和Y是直接表示的特征(如通用类“公司”和“产品”),但是X也拥有产品Y的版本10的事实也可以从X拥有Y和Y具有版本10来推断。因此,“Y版本10”也是可以从数据集推断的特征。

特征交叉(feature cross)(FC)是两个或更多特征的组合或级联。例如,再次使用具有交通数据的数据集作为示例,而“星期一”和“下午2点”可能是数据集中的特征,“星期一+下午2点”(即,星期一下午2点)是通过组合特征“星期一”和“下午2点”而交叉形成的特征。即,数据项可对应于“星期一”,但可对应于或可不对应于“下午2点”;另一数据项可对应于“下午2点”,但可对应于“星期四”而不是“星期一”。仅对应于“星期一”和“下午2点”两者的数据项将对应于跨“星期一+下午2点”的特征。

给定数据集作为输入,神经网络(NN)可被配置成基于该数据集来作出预测。例如,给定作为来自英文文献中的书的摘录的数据集,神经网络可以被配置为预测某些特定单词是否将一起出现或者彼此相距某一指定距离。作为另一示例,在包括交通流量数据的数据集中,神经网络可以被配置为预测未来某一天某一小时的交通量。

这里所指的本体(ontology)是数据集的图形表示,其中特征形成顶点,特征之间的关系—无论是明确地存在于数据集中还是从其推断的—形成边。根据说明性实施例的本体可以具有表示特征、特征交叉或其组合的顶点。

人工神经网络(ANN)—也简称为神经网络—是由多个简单的、高度互连的处理元件(节点)组成的计算系统,这些处理元件通过它们对外部输入的动态状态响应来处理信息。ANN是处理设备(算法和/或硬件),其依照哺乳动物大脑皮层的神经元结构但以小得多的规模松散地建模。较大的ANN可能具有数百或数千个处理器单元,而哺乳动物大脑具有数十亿个神经元,其总体相互作用和出现行为的量级相应增加。

神经网络可以被配置为表示特征集合、特征交叉或其某种组合。说明性实施例认识到,由于各种原因,配置神经网络使得预测与数据集和期望结果一致(或者如果可获得则是实际结果)是困难的问题。例如,神经网络的大小与神经网络预期在其上操作的特征或特征交叉的数量有关。

再次考虑业务数据集的例子。仅存在一周7天的特征和一天24小时的特征,总共31个特征。然而,并非所有日子的小时对于预测都是同等重要的。例如,人们可能对星期五下午8点而不是星期一下午8点的交通预测更感兴趣。然而,总共7*24=168个特征交叉现在是可能的,其中仅两种类型的特征交叉。说明性实施例认识到,表示31个特征的神经网络实质上没有被配置用于168个特征交叉的神经网络复杂。

此外,说明性实施例认识到,数据集可以被表示为矩阵,其中特征形成列,并且每个数据项是行。如果一行的数据项与列的特征相关,则该行获得该列下的单元格中的条目。可以看出,即使是具有7天24小时的31列的矩阵也可以被稀疏地填充,因为不是每天的每小时都具有可能可用/有用/有意义的交通数据。与特征交叉所对应的特征矩阵相比,特征交叉矩阵变得甚至更稀疏。例如,仅用天+小时类型的特征交叉,修改的矩阵现在具有168列而不是31列,其中现在一行对应于矩阵中甚至更小百分比的单元。在这168个示例特征交叉上配置的神经网络将必须在存储器中保持非常稀疏的矩阵以执行计算。

实际上,矩阵通常是数千列乘数千行,并且神经网络具有若干层,其中每层包括数千个节点。对数据集训练神经网络使得这些节点的权重被计算和调整,以便使神经网络的输出在期望的准确度阈值内。神经网络的权重的调整是计算量大的过程。保持较大而稀疏的矩阵需要不期望的大量存储器用于神经网络的训练和操作。说明性实施例认识到,虽然期望特征交叉来增加神经网络的输出的相关性,但是特征交叉还使得矩阵变得更稀疏并且增加神经网络的复杂度和资源要求。

发明内容

说明性实施例提供了一种方法、系统和计算机程序产品。从第一方面来看,本发明提供了一种方法,该方法使用处理器和存储器来构造对应于输入数据集的向量空间中表示的特征对的传递闭包数据结构,其中所述传递闭包数据结构包括与所述向量空间的图中的路径集合相对应的条目集合,所述路径集合包括所述图中在所述对中的第一特征与所述对中的第二特征之间的所有可能路径。通过从所述传递闭包数据结构中移除所述条目集合的子集来归约所述传递闭包数据结构,使得在所述传递闭包数据结构中仅保留与单个路径相对应的单个条目。该实施例由归约所述传递闭包数据结构而产生的保留在归约的本体图中的特征的群组形成特征交叉。该实施例配置神经网络中的层以表示所述特征交叉,其中所述神经网络中所述配置的层使得所述神经网络产生相对于所述数据集在定义的准确度内的预测。

优选地,本发明提供了一种方法,该方法还包括:使用所述处理器和所述存储器针对所述层计算与所述特征交叉相对应的层嵌入的上界;以及针对所述层计算与所述特征交叉相对应的层嵌入的下界,其中用于层嵌入的层大小基于所述上界和所述下界。

优选地,本发明提供了一种方法,其中所述层大小是所述上界和所述下界的计算平均值。

优选地,本发明提供了一种方法,该方法还包括:将所述数据集变换成稀疏矩阵;构造对应于所述稀疏矩阵的本体图,其中所述本体图包括对应于所述数据集中的特征集合的顶点集合;以及对图执行正向物化,其中所述正向物化将推断顶点添加到所述顶点集合,并且其中包括所述推断顶点的所述顶点集合被用于构造所述传递闭包数据结构。

优选地,本发明提供了一种方法,其中单个剩余路径满足效率要求。

优选地,本发明提供一种方法,其中所述效率要求包括所述第一特征和所述第二特征之间的最短距离。

优选地,本发明提供一种方法,其中所述效率要求包括第一特征和第二特征之间的最高使用率。

优选地,本发明提供了一种方法,其中所述归约包括传递归约算法。

优选地,本发明提供了一种方法,其中所述归约所述传递闭包数据结构使得顶点子集从所述本体图中被移除,从而形成所述归约的本体图。

优选地,本发明提供了一种方法,该方法还包括:识别所述归约的本体图中的多个群组,所述多个群组包括所述群组,并且其中所述群组包括至少两个特征,使得所述两个特征的组合能够用于区分所述数据集的至少第一部分和所述数据集的第二部分。

从第二方面来看,本发明提供了一种计算机可用程序产品,包括计算机可读存储设备和存储在该存储设备上的程序指令,所存储的程序指令包括:用于使用处理器和存储器来构造对应于输入数据集的向量空间中表示的特征对的传递闭包数据结构的程序指令,其中所述传递闭包数据结构包括与所述向量空间的图中的路径集合相对应的条目集合,所述路径集合包括所述图中在所述对中的第一特征与所述对中的第二特征之间的所有可能路径;用于通过从所述传递闭包数据结构中移除所述条目集合的子集来归约所述传递闭包数据结构,使得在所述传递闭包数据结构中仅保留与单个路径相对应的单个条目的程序指令;用于由归约所述传递闭包数据结构而产生的保留在归约的本体图中的特征的群组形成特征交叉的程序指令;以及用于配置神经网络中的层以表示所述特征交叉的程序指令,其中所述神经网络中的所配置的层使得所述神经网络产生相对于所述数据集在定义的准确度内的预测。

优选地,本发明提供了一种计算机可用程序产品,还包括用于使用所述处理器和所述存储器来针对所述层计算与所述特征交叉相对应的层嵌入的上界的程序指令;以及用于针对所述层计算与所述特征交叉相对应的所述层嵌入的下界的程序指令,其中用于层嵌入的所述层的层大小基于所述上界和所述下界。

优选地,本发明提供了一种计算机可用程序产品,其中所述层大小是所述上界和所述下界的计算平均值。

优选地,本发明提供了一种计算机可用程序产品,还包括:用于将所述数据集变换成稀疏矩阵的程序指令;用于构造对应于所述稀疏矩阵的本体图的程序指令,其中所述本体图包括对应于所述数据集中的特征集合的顶点集合;以及用于对图执行正向物化的程序指令,其中所述正向物化将推断顶点添加到所述顶点集合,并且其中包括所述推断顶点的所述顶点集合被用于构造所述传递闭包数据结构。

优选地,本发明提供了一种计算机可用程序产品,其中所述单个剩余路径满足效率要求。

优选地,本发明提供了一种计算机可用程序产品,其中所述效率要求包括所述第一特征和所述第二特征之间的最短距离。

优选地,本发明提供了一种计算机可用程序产品,其中所述效率要求包括所述第一特征和所述第二特征之间的最高使用率。

优选地,本发明提供了一种计算机可用程序产品,其中所存储的程序指令被存储在数据处理系统中的计算机可读存储设备中,并且其中所存储的程序指令通过网络从远程数据处理系统被传送。根据权利要求11所述的计算机可用程序产品,其中所述存储的程序指令存储在服务器数据处理系统中的计算机可读存储设备中,并且其中所述存储的程序指令通过网络下载到远程数据处理系统,以用于与所述远程数据处理系统相关联的计算机可读存储设备中,还包括:用于计量使用与所述请求相关联的所述计算机可用代码的程序指令;以及用于基于所述计量使用来生成发票的程序指令。

从第三方面来看,一种计算机系统,包括处理器、计算机可读存储器、计算机可读存储设备、以及存储在所述存储设备上以供所述处理器经由所述存储器执行的程序指令,所存储的程序指令包括:用于使用处理器和存储器来构造对应于输入数据集的向量空间中表示的特征对的传递闭包数据结构的程序指令,其中所述传递闭包数据结构包括与所述向量空间的图中的路径集合相对应的条目集合,所述路径集合包括所述图中在所述对中的第一特征与所述对中的第二特征之间的所有可能路径;用于通过从所述传递闭包数据结构中移除所述条目集合的子集来归约所述传递闭包数据结构,使得在所述传递闭包数据结构中仅保留与单个路径相对应的单个条目的程序指令;用于由归约所述传递闭包数据结构而产生的保留在归约的本体图中的特征的群组形成特征交叉的程序指令;以及用于配置神经网络中的层以表示所述特征交叉的程序指令,其中所述神经网络中的所配置的层使得所述神经网络产生相对于所述数据集在定义的准确度内的预测。

附图说明

在所附权利要求中阐述了被认为是本发明的特性的某些新颖特征。然而,通过参考以下结合附图对说明性实施例的详细描述,将最好地理解本发明本身及其优选使用模式、进一步的目的和优点,其中:

图1示出了可以实现说明性实施例的数据处理系统的网络的框图;

图2示出了可以实现说明性实施例的数据处理系统的框图;

图3示出了可以利用说明性实施例解决的示例问题的框图;

图4示出了根据说明性实施例的示例嵌入的框图;

图5示出了根据说明性实施例的用于神经网络优化中的特征工程的示例应用的框图;

图6示出了根据说明性实施例的推断物化;

图7示出了根据实施例由图表产生的输出图表;

图8A示出了本体到向量空间中的放置;

图8B示出了候选特征叉的推断物化;以及

图9示出了根据说明性实施例的用于神经网络优化中的特征工程的示例过程的流程图。

具体实施方式

神经网络训练和优化是公认的技术领域。在这个尝试领域中技术的当前状态具有某些缺点和限制。说明性实施例的操作和/或配置赋予了额外的或新的能力,以改进所尝试的技术领域中的现有技术,尤其是在特征选择、特征交叉和嵌入的领域中的现有技术。

稀疏矩阵是其中小于阈值百分比的单元为非空、非零或该单元被占用或要被使用的指示符的某一其他表示的矩阵。稠密矩阵是其中大于阈值百分比的单元为非空、非零或单元被占用或要被使用的指示符的某一其它表示的矩阵。说明性实施例认识到,期望具有稠密矩阵,使得稠密矩阵在定义的精度公差内仍然表示稀疏数据集中的数据。实现数据集的稠密矩阵的一种方式是通过选择性地交叉某些特征、省略某些特征或特征交叉或两者。

说明性实施例认识到,选择适当的特征来交叉以形成导致稠密矩阵的特征交叉是利用实际矩阵难以解决的问题。目前可用的技术依赖于专门在主题领域中选择要从与该主题有关的数据集中跨越的特征的人的个人知识和专业知识。明智地选择特征来交叉可以导致从稀疏矩阵到稠密矩阵。例如,虽然全包含特征交叉工作导致示例业务数据集中的168个特征交叉,但是不是所有168个特征交叉都实际上用于实际目的。交通数据分析领域的技术人员可以选择性地确定星期五下午8点往往是感兴趣的,并且应当形成特征交叉,而在交通数据中星期一下午2点和星期三下午3点看起来几乎相似,因此星期一下午2点的和星期三下午3点应当作为一个特征交叉而被一起交叉。人可能决定星期二上午1点的数据可忽略或不存在,因此星期二上午1点甚至不应在特征交叉矩阵中表示。

相反,交叉太多特征或不正确相关的特征可导致数据丢失、不准确预测或两者。例如,如果要交叉特征所有工作日星期一至星期五上午12点至5点、所有工作日星期一至星期五的上午6点至上午11点、所有工作日星期一至星期五下午12点至下午5点以及所有工作日星期一至星期五下午6点至下午11点,则实际上将产生仅具有四个特征交叉的非常小且密集的矩阵。然而,这样的矩阵将不能区分在星期一上午7点与星期五下午7点的特征,这对于分析和预测可能是重要的。

因此,目前,需要具有特定技能和知识的人工练习,以便将稀疏矩阵变换成有用的稠密矩阵。说明性实施例认识到,选择特征来交叉以构建对应于稀疏数据集而没有不可接受的数据粒度损失或不可接受的准确性损失的稠密矩阵的自动方法将是有用的。说明性实施例还认识到,经由来自在稠密矩阵上训练的神经网络的产生实现的反馈,利用机器学习方法迭代地改进稠密矩阵的这种自动化方法也将是有用的。

根据说明性实施例,嵌入是一种配置神经网络层的过程,该神经网络层具有与稠密矩阵中的特征交叉相对应的节点,使得神经网络的输出相对于另一神经网络的输出在定义的精度容限内,该另一神经网络的层是根据形成稠密矩阵的稀疏矩阵的特征或特征交叉来配置的。层大小是层中的节点数量,其中对应于来自稠密矩阵的特征交叉训练该数量的节点。在一般实施例中,层中的节点的数量与稠密矩阵中的特征交叉的数量具有n:m的对应关系(即,每m个特征交叉n个节点)。在一个实施例中,层中的节点的数量与稠密矩阵中的特征交叉的数量具有1:1的对应关系(即,每个特征交叉一个节点)。在另一个实施例中,层中的节点的数量与稠密矩阵中的特征交叉的数量具有1:n的对应关系(即,每n个特征叉一个节点)。在另一实施例中,层中的节点的数量具有与稠密矩阵中的特征交叉的数量具有n:1的对应关系(即,每个特征交叉n个节点)。

说明性实施例认识到,与较小的层大小相比,层大小越大,用于训练以及操作的计算和数据存储资源的量就越高。同时,与较小大小的层的输出相比,层大小越大,层的输出越准确。

说明性实施例认识到,用于交叉的特征选择和层大小也是相互依赖的,因为层大小依赖于超参数集合,其包括但不限于特征交叉。例如,如果给定层配置不产生期望的输出或精度,则必须调整神经网络的超参数。特征是超参数,并且如果特征交叉改变,则该改变可以导致神经网络的一个或多个超参数改变。超参数的改变需要用新的超参数重新训练神经网络。训练在具有数千列宽和深的矩阵的若干层中具有数千个节点的神经网络在计算上是极其昂贵的。因此,神经网络的超参数被干扰得越少,训练和部署神经网络的成本越低。因此,再次,用于交叉的特征的自动智能选择将是有用的。

此外,给定具有通过形成某些特征交叉而实现的某些密度的特定稠密矩阵,特定嵌入产生某些精度的输出。通过选择不同的方式来表示从矩阵到嵌入的特征交叉的集合或子集,可以从相同的稠密矩阵进行不同的嵌入,每个方式产生不同精度的不同输出。因此,说明性实施例认识到,对于特征交叉的每个子集存在嵌入的范围,其中嵌入产生可接受精度的输出。

说明性实施例认识到,目前不存在用于选择嵌入的系统和客观方法。通常,神经网络训练领域的技术人员以巨大的计算成本利用不同的嵌入来实现可接受的嵌入。说明性实施例认识到,对于给定的稠密矩阵,嵌入的上界和下界的系统和客观计算将是有用的。

说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要/问题或提供用于这些需要/问题的适当解决方案。用于描述本发明的说明性实施例一般地通过神经网络优化中的特征工程来说明和解决上述问题和其它相关问题。

实施例可以被实现为某些硬件组件和软件应用的组合。实施例的实现或其一个或多个组件可以被配置为现有神经网络训练和预测配置的修改,伴随软件应用在(i)现有神经网络训练和预测配置本身、(ii)通过短距离无线电或局域网(LAN)与现有神经网络训练和预测配置通信的数据处理系统和(iii)通过广域网(WAN)与现有神经网络训练和预测配置通信的数据处理系统的一些组合中执行。

一个实施例从给定数据集形成本体。换言之,该实施例用标记(特征)来标记顶点,并用数据集中找到的关系来标记边。该实施例还通过填充与导出或推断的标签和关系相对应的附加顶点和边来构建本体。通过推理来构建本体的这种操作被称为正向物化(forwardmaterialization)。

一个实施例形成与本体的图相对应的向量空间。向量空间包括数据的数值表示。由实施例形成的向量空间包括在图中填充的特征的数值表示。由实施例产生的向量空间可用于确定向量空间中存在的概念之间的相似性。例如,实施例应用相似性函数来确定特征基础概念之间的相似性。概念是特征的抽象或概括表示。例如,星期一是特征以及星期二是特征,并且它们是相似的,因为它们都是一周中的天的概念的表现形式,即使数据集本身可能不指示星期一和星期二是一周中的天的任何地方。概念不限于这个简单的例子,并且在实施例的相似性分析中,通过深奥的概念,看似无关的特征可以变成链接的。余弦相似性是可以在实施例中用于在向量空间中进行相似性确定的相似性函数的一个非限制性示例。

实施例构造与向量空间相对应的传递闭包数据结构(transitive closure datastructure)。传递闭包数据结构是包含关于从向量空间中的点A到达点B的所有可能路径的信息的数据结构。传递闭包数据结构包括特征、推断和概念之间的一个或多个路径。实施例分析传递闭包数据结构,以从传递闭包数据结构中表示的两个实体之间的多个路径中确定并选择最期望的路径。在一个实施例中,如果路径是传递闭包数据结构中的所有路径中最短或有效的,则该路径是期望的。在其他实施例中,如果路径是传递闭包数据结构中最常使用的路径,则该路径也可以是期望的。通常,可以使用任何选择标准来从传递闭包数据结构中的多个路径中选择一个路径。

该实施例从传递闭包数据结构中移除未选择的路径。从传递闭包数据结构中移除未选择的路径还从本体图中移除一个或多个顶点、边或其组合。从图中移除顶点或边表示该顶点或边在图中的贡献低于期望水平。换言之,被移除的顶点或边被认为不以足够有意义的方式对图作出贡献,使得其移除不太可能影响在移除之后利用数据集的预测的准确度的不期望的(大于阈值)降低。

因此,实施例执行图归约(graph reduction)以形成归约的图,使得归约的图仍然充分地表示原始数据集,但是包括经由图中最期望的路径互连的特征、推断和概念。这种图归约的方式被称为传递归约(transitive reduction)。实施例的传递归约可以由得出推断的程度、用于找到相似性和概念的相似性函数的参数、用于选择期望路径的准则、某些不期望的顶点或边的移除或不移除、或其某种组合来控制。

归约的图中的剩余顶点被称为区别节点,因为它具有在矩阵中的数据项之间进行区别的能力,并且不是冗余的、优先的或多余的。实施例在归约的图中的剩余顶点中识别一个或多个群组。群组标识可被交叉以形成不会导致不可接受水平的数据丢失、准确性损失或两者的有用特征交叉的特征。每个识别的特征交叉具有稠密矩阵中的单元的上界和下界。上界是对贡献于群组的每个特征的所有正实例记录的计算,而不考虑传递归约成本公式。例如,如果在交通数据示例中,我们在星期一上午2点没有任何数据,则这些顶点和边将在归约期间去掉而没有任何信息损失。因此,在最高边界处,该图是原始图减去对该图没有贡献的特征(没有通过它们的路径)。在交通数据示例中,这可能仍然将该图从168个可能的特征交叉减少到例如142个或某个其他更小的数量。在更具选择性的实施例中,在星期一上午2点可能具有少于最小数目的数据项,或者少于统计分布截止数目的数据项,并且仍然可能被丢弃,在这种情况下,该图甚至更小,但是仍然没有显著的数据或准确性损失。可以以这种方式排除离群数据项和对应的特征。

下界是所有区别节点和它们的不同值的函数输出。这里,因为所有不期望的路径都被消除,所以消除可能已经去除了一些有意义的特征交叉,而不是最有意义的。换句话说,归约使得图仅包括向量空间中的高区别性节点,这总是将导致较少的区别性特征、特征交叉和对应的数据项被消除。在示例业务数据集中,下界因此可以低得多,例如56或某个更小的数量,但是具有相关联的数据和/或准确性的丢失。

因此,实施例产生嵌入的上界和下界。一个实施例使用所识别的特征交叉的上界和下界来执行嵌入中的维度归约。例如,一个实施例取较高和较低边界的统计平均值,并且提出形成嵌入的层大小的数字。

在关于神经网络配置和预测操作的尝试技术领域中,在此描述的神经网络优化中的特征工程的方式在当前可用的方法中是不可用的。本文描述的实施例的方法,当被实现为在设备或数据处理系统上执行时,包括在系统地和客观地优化要用于训练神经网络的数据集以及产生神经网络方面该设备或数据处理系统的功能的实质性进步,在该神经网络中层大小被优化以用显著减少的计算资源产生期望准确度的预测。

仅作为示例,关于特定类型的数据项、数据集、特征、图、特征交叉、算法、公式、函数、简化、神经网络、层、节点、关系、集群、数据结构、设备、数据处理系统、环境、组件和应用来描述说明性实施例。这些和其它类似的人为因素的任何特定表现形式不是要限制本发明。可以在示例性实施例的范围内选择这些和其它类似产物的任何适当表现。

此外,可以针对任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适于与移动设备一起使用的任何类型的数据存储设备可以在移动设备处本地地或者通过数据网络向这样的实施例提供数据。

使用特定代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,这些仅作为示例,而不是对说明性实施例的限制。此外,为了描述清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他相当或类似目的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他可比较的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。说明性实施例可以以硬件、软件或其组合来实现。

本公开中的示例仅用于清楚描述,而不是限制于说明性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以设想这些附加的数据、操作、动作、任务、活动和操纵。

本文列出的任何优点仅是示例,并且不旨在限制说明性实施例。通过特定的说明性实施例可以实现附加的或不同的优点。此外,特定说明性实施例可具有上文所列优点中的一些、全部或不具有上文所列优点。

参考附图,并且具体参考图1和图2,这些附图是可以实现说明性实施例的数据处理环境的示例图。图1和图2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。

图1示出了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。

客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储单元108一起耦合到网络102。软件应用程序可以在数据处理环境100中的任何计算机上执行。客户机110、112和114也耦合到网络102。诸如服务器104或106或客户端110、112或114的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。

仅作为示例,而不暗示对这样的体系结构的任何限制,图1示出了可在实施例的示例实现中使用的某些组件。例如,服务器104和106以及客户端110、112、114被描绘为服务器,而客户端仅作为示例,并不暗示对客户端-服务器架构的限制。作为另一个例子,一个实施例可以分布在如图所示的几个数据处理系统和数据网络上,而另一个实施例可以在说明性实施例的范围内的单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示适于实现实施例的集群、分区和其它配置中的示例节点。

设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用程序可以被配置为以类似的方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。

应用程序105实现这里描述的实施例。应用程序105实现这里描述的实施例的远程可用功能(远程)。应用程序111实现本文描述的实施例的本地可用功能(本地)或本机可用功能(本机)。应用程序134实现本文描述的实施例的本地可用功能(本地)。应用程序105和应用程序111可以组合使用,应用程序105和应用程序134可以另一组合使用,并且应用程序105、应用程序111和应用程序134可以在另一组合中使用,以分布实施例的某些功能。应用程序105实现这里描述的实施例。输入数据109是可以以本文描述的方式与应用程序105的操作一起使用的示例数据集。应用程序105使用输入数据109来训练神经网络,然后可以操作该神经网络以便以这里描述的方式使预测与输入数据109一致。

服务器104和服务器106、存储单元108、客户端110、客户端112和客户端114以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接耦合到网络102。客户端110、客户端112和客户端114可以是例如个人计算机或网络计算机。

在所描述的示例中,服务器104可以向客户端110、客户端112和客户端114提供数据,例如引导文件、操作系统映像和应用。在该示例中,客户端110、客户端112和客户端114可以是服务器104的客户端。客户端110、客户端112、客户端114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括未示出的附加服务器、客户端和其他设备。

在所描述的示例中,数据处理环境100可以是因特网。网络102可以表示使用传输控制协议/网际协议(TCP/IP)和其它协议来彼此通信的网络和网关的集合。在因特网的核心是主节点或主机计算机之间的数据通信链路的主干,包括路由数据和消息的数千个商业、政府、教育和其它计算机系统。当然,数据处理环境100也可以实现为许多不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而不是作为对不同说明性实施例的架构限制。

除了其他用途之外,数据处理环境100可以用于实现其中可以实现示例性实施例的客户端—服务器环境。一种客户机—服务器环境,使得软件应用程序和数据能够分布在网络上,以便应用程序通过使用客户机数据处理系统和服务器数据处理系统之间的交互性来工作。数据处理环境100还可以采用面向服务的体系结构,其中分布在网络上的可互操作的软件组件可以被打包在一起作为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务递送的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。

参考图2,该图示出了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的服务器104和服务器106、或客户端110、客户端112和客户端114、或另一类型的设备,其中可以为示例性实施例设置实现处理的计算机可用程序代码或指令。

数据处理系统200还代表数据处理系统或其中的配置,例如图1中的数据处理系统132,其中可以放置实现示例性实施例的处理的计算机可用程序代码或指令。数据处理系统200仅作为示例被描述为计算机,而不限于此。在不脱离这里描述的数据处理系统200的操作和功能的一般描述的情况下,以诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,并且甚至从数据处理系统200中去除某些描绘的组件。

在所描述的例子中,数据处理系统200采用集线器体系结构,包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH 202。

在所描述的例子中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其它端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM 230通过总线240耦合到南桥和I/O控制器集线器204。PCI/PCIe设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM 230可使用例如集成驱动电子(IDE)、串行高级技术附件(SATA)接口或诸如外部SATA(eSATA)和微SATA(mSATA)的变形。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。

存储器,例如主存储器208、ROM 224或闪存(未示出),是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。

操作系统在处理单元206上运行。操作系统协调并提供对图2中的数据处理系统200内的各种组件的控制,操作系统可以是用于任何类型的计算平台的商业上可用的操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象或其它类型的编程系统可以与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用程序对操作系统的调用。

用于操作系统、面向对象的编程系统以及诸如图1中的应用105之类的应用或程序的指令位于存储设备上,诸如以硬盘驱动器226上的代码226A的形式,并且可以被加载到诸如主存储器208之类的一个或多个存储器中的至少一个中,以便由处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,所述指令可以位于存储器中,例如主存储器208、只读存储器224,或者位于一个或多个外围设备中。

此外,在一种情况下,代码226A可以通过网络201A从远程系统201B下载,其中类似的代码201C存储在存储设备201D上。在另一种情况下,代码226A可以通过网络201A下载到远程系统201B,其中下载的代码201C存储在存储设备201D上。

图1-图2中的硬件可以根据实现而变化。除了图1-图2中描述的硬件之外,或者作为其替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。

在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、I/O总线和PCI总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,所述通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。

通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。

图1-图2中所描述的例子和上述例子不意味着暗示体系结构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外,还可以是平板计算机、膝上型计算机或电话设备。

在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所示出的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,并且磁盘226被表现为主机数据处理系统中可用的磁盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。

参考图3,该图示出了可以利用说明性实施例解决的示例问题的框图。矩阵302是图1中的输入数据109的示例。

假设矩阵302表示这里描述的示例业务数据集。如图所示,矩阵302包括一周7天和一天24小时的单独特征。如可以看到的,矩阵302是相当稀疏地填充的。矩阵304和矩阵306示出了手动特征交叉的问题。当一天的所有小时与一周的所有天进行交叉时,我们确实得到一些有意义的交叉,但是现在得到比矩阵302更稀疏的更大的168列宽的矩阵结果。相反,如果我们交叉太多或不相关的特征,如在矩阵306中,则我们可以实现更小的矩阵,但是其单元不能以期望的程度代表矩阵302。

参考图4,该图示出了根据说明性实施例的示例嵌入的框图。配置400示出了神经网络402,其包括多个层,例如层402A、层402B…、层402X。作为示例,包括特征交叉FC1、FC2…FCn的特征交叉404嵌入在层402B中。以这种方式使用特征交叉可以形成任何数量的层嵌入。例如,特征交叉406以本文所述的方式类似地嵌入层402X中。

参考图5,该图示出了根据说明性实施例的用于神经网络优化中的特征工程的示例应用的框图。应用程序502可以被实现为图1中的应用程序105。

应用程序502接收输入数据504,其可以是图1中的输入数据109或图3中的矩阵302的形式,组件506以本文描述的方式形成具有正向物化的本体。组件508构造对应于本体的向量空间,并以本文所述的方式执行相似性搜索。组件510使用从本体图形成的传递闭包数据结构传递地归约图。

组件512标识保留在归约图中的区别性节点(特征)的群组。从归约图中提取的或在归约图中隔离的区别性节点的群组形成候选特征交叉的集合。候选特征交叉是可以以期望的准确度表示原始数据集的至少一部分的区别特征交叉。

组件514如本文所述计算候选特征交叉的上界和下界。给定由上界和下界定义的嵌入范围,组件516确定特定特征交叉的嵌入的维度层大小。在一个实施例中,组件516归约或改变或变更嵌入的维度以设置层大小。

在一个实施例中,应用程序502输出候选特征交叉的集合518。在另一实施例中,应用程序502输出候选特征交叉的集合518以及用于每个候选特征交叉的上界和下界520。在另一实施例中,应用程序502输出候选特征交叉的集合518连同(i)针对每个候选特征叉的上界和下界520、(ii)计算的层大小522或者(iii)(i)和(ii)两者。

输出518、520、522或其某种组合可用于配置神经网络。例如,在一个实施例中,应用程序502使得神经网络根据层嵌入大小522嵌入候选特征交叉518的子集。根据一个实施例,应用程序502还使得所配置的神经网络在预测引擎中,诸如在预测引擎107中,形成模型实现524。在一个实施例中,配置、实现或两者是自动的,而无需人为干预。在另一实施例中,在对一个或多个输出的人工审阅/调整/选择之后执行配置、实现或其某种组合。

在一个实施例中,一旦神经网络被配置和实现,应用程序502就接收包含所实现的特征交叉的集合的信息作为反馈526,所实现的特征交叉的集合可以与候选特征交叉518的子集完全或部分地重叠。例如,用户可以配置来自候选特征交叉518的一些特征交叉以及来自用户自己的体验的不在候选特征交叉的集合518中的一些特征交叉。

模型实现524产生模型输出528,例如预测。在一个实施例中,应用程序502直接从模型实现524接收输出528作为反馈。在另一实施例中,应用程序502在用户已经将调整530应用于输出528之后接收输出528。无论哪种方式,应用程序502使用反馈526和经调整或未经调整的输出528来使用合适的已知机器学习技术重新训练神经网络。

现在提供用于解决特定示例问题的特定实施例实现的详细描述。本说明书不是要限制本文所述的所有实施例。本领域的普通技术人员将能够将该实施例的细节适配到其它实施例中,并且这样的适配被认为在说明性实施例的范围内。

给定语义图(例如本体),我们想要查询是否eg:A通过eg:p关联到eg:D并列出导出路径。用于计算给定关系上的传递闭包的规则集可以以API无关的方式来表达:

Statement is[urn:x-hp:eg/A,urn:x-hp:eg/p,urn:x-hp:eg/D]

Rule rule 1concluded(eg:Aeg:p eg:D)<-Fact(eg:Aeg:p eg:B)

作为提醒,传递闭包是这样的方法,通过该方法,给定有向图,系统确定对于给定图中的所有顶点对(u,v),顶点v是否从另一顶点u可达。可达意味着存在从顶点u到顶点v的路径。可达性矩阵被称为图的传递闭包。

该可达性矩阵是用于计算推断成本的方法。一阶的传递性推断经由a→b→c的显式概念将a→c的物化表示为具有要遍历的单个节点的成本。如果遍历的节点存在于相同的子类内,则成本不变。如果所遍历的节点出现在祖父子类的上下文内,则成本根据类之间的余弦相似性函数而增加。

图6示出了根据说明性实施例的推断的具体化。在该图中,通过相对于深层语义图602(在左侧)的传递闭包图604(在右侧)示出了推断的物化。

在该示例中,图602展示了语义图子集。哈希模式化节点是经由rdfs:subClassOf或等效关系连接到透明模式节点(父节点)的图中的实体。右边的图604示出了推断物化。推断物化是一种传递闭包的形式。较暗的边表示语义图的传递归约,这意味着现在直接形成从节点A到节点F的路径(例如)。计算在图604内物化的每个传递归约的语义成本的能力是说明性实施例使得可能的特征。

该函数取整个图上的每个具体化实体(λ)乘以传递闭包值(x)乘以父节点之间的余弦相似性((cosθ)。下面示出了余弦相似性算法的非限制性示例以供参考

每个函数的输出存在于近似正态分布内。通过取每个实体的点值并减去将结果除以所有值的标准偏差的平均值来计算z分数。如何处理z分值的决定在某种程度上是基于策略的,但是通常消除了任何统计上显著的异常值。分布的偏斜在这方面驱动策略。

图7示出了根据实施例的从图6中的曲线图604得到的输出图。图702表示在图6中的假设子图604上的公式的输出,实体B、G(被示为线图案化的)被连接成单个交叉特征。在没有上述公式的好处的情况下,现有的连接策略将可能包括实体E,从而损害经训练的模型。该方法同样将实体C、E、F(被示为散列模式)连接成单个交叉特征。由于成本计算太高,所以省略实体D。

从假设的示例继续到真实世界的图,假设Tensorboard可视化示出了本体在向量空间中的放置。图8A示出了本体到向量空间中的放置。图8B示出了候选特征交叉的推断物化。示例候选特征交叉由图852中的线图案节点示出。线图案节点表示已经形成的群组(cluster),并且表示统计模型的候选交叉特征。嵌入的下界通过对如本文所述的贡献于每个群组(交叉特征)的所有实体的实例数据求和来计算。

参考图9,该图示出了根据说明性实施例的用于神经网络优化中的特征工程的示例过程的流程图。过程900可以在图5中的应用程序502中实现。

应用程序接收输入数据集(框902)。应用程序根据数据集构建本体图(框904)。应用程序用对图的推断来执行正向物化(框906)

应用程序构造正向物化图中的实体(特征)的向量空间(框908)。应用程序识别向量空间中的一个或多个概念(框910)。应用程序确定概念之间的相似性(框912)。

应用程序为通过其概念中的相似性链接的一对实体构造传递闭包数据结构(框914)。使用传递闭包数据结构,应用程序执行传递归约(框916)。应用程序对一个或多个传递闭包数据结构执行传递归约。

应用程序识别由传递归约操作产生的归约的图中的剩余节点/实体/特征的群组(框918)。群组是候选特征交叉。应用程序计算候选特征交叉的上界(框920)。应用程序计算候选特征交叉的下界(框922)。应用程序计算嵌入层大小,以便使用特征交叉的上界和下界(方框924)。

应用程序根据计算的嵌入层大小配置神经网络中的层(框926)。可以以这种方式将任意数量的特征嵌入任意数量的层中。应用程序训练其层以这种方式配置的神经网络(框928)。应用程序将经训练的神经网络部署在预测引擎中(框930)。此后,应用程序可以结束过程900。

在一个实现中,应用程序还从预测引擎中的部署接收反馈(框932)。应用程序根据这里描述的反馈来调整特征交叉、嵌入层大小或两者(框934)。此后,应用程序结束处理900。

因此,在说明性实施例中提供了一种计算机实现的方法、系统或装置以及计算机程序产品,用于神经网络优化中的特征工程和其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适当且可比较的表现一起使用。

在实施例被描述为在应用程序中实现的情况下,在说明性实施例的范围内,可以设想在软件即服务(SaaS)模型中的应用程序的传递。在SaaS模型中,通过在云基础设施中执行应用,向用户提供实现实施例的应用程序的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量客户端应用程序之类的瘦客户端接口使用各种客户端设备来访问应用程序。用户不管理或控制底层云基础设施,包括网络、服务器、操作系统或云基础设施的存储。在一些情况下,用户甚至可能不管理或控制SaaS应用程序的能力。在一些其它情况下,应用程序的SaaS实施方案可允许有限的用户特定应用程序配置设定的可能例外。

本发明可以是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个介质),其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的方法。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作动作,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明的实施例还可以作为与客户公司、非盈利组织、政府实体、内部组织结构等的服务约定的一部分来交付。这些实施例的方面可以包括配置计算机系统以执行,以及部署实现本文描述的方法中的一些或全部的软件、硬件和web服务。这些实施例的方面还可以包括分析客户的操作、响应于分析创建推荐、构建实现推荐的部分的系统、将系统集成到现有过程和基础设施中、计量系统的使用、向系统的用户分配费用以及为系统的使用计费。尽管已经通过分别陈述它们各自的优点描述了本发明的上述实施例,但是本发明不限于其特定组合。相反,根据本发明的预期部署,这些实施例还可以以任何方式和数量组合,而不会失去其有益效果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号