掌桥专利:专业的专利平台
掌桥专利
首页

特征工程和图网络生成方法和装置、分布式系统

文献发布时间:2023-06-19 12:13:22


特征工程和图网络生成方法和装置、分布式系统

技术领域

本公开涉及特征工程技术领域,尤其涉及特征工程和图网络生成方法和装置、分布式系统。

背景技术

特征工程是机器学习、深度学习中极为重要的一部分,然而在实际过程中,特征工程非常复杂且耗时,甚至需要非常专业的专家知识,所以一个良好的特征工程往往是整个项目耗费时间最长的地方,并且需要大量的实验和验证。目前,大部分的特征工程方式还处于构建浅层的特征和不断的进行随机批量搜索,构建特征的效率并不太高;并且,在将特征工程移植到分布式系统的节点上时,非常耗时而且容易出错。

发明内容

本公开提供一种特征工程和图网络生成方法和装置、分布式系统,以解决以上至少部分技术问题。

根据本公开实施例的第一方面,提供一种特征工程方法,应用于分布式系统的从节点,所述方法包括:接收所述分布式系统的主节点发送的第一待处理数据;基于预先存储的图网络对所述第一待处理数据进行特征提取,得到目标特征;所述图网络为有向无环图;向所述主节点返回所述目标特征;所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,再将图网络预先存储在分布式系统的节点上,由于图网络中仅保留了生成特征的逻辑(即特征提取规则),而不包括执行该逻辑的具体运算方式和处理资源,因此,将图网络移植到分布式系统的各个节点时,不需要定义分布式系统中各节点所采用的具体运算方式和处理资源,从而降低了图网络在分布式系统的节点间移植的复杂度,减少了移植过程中的耗时,减少了出错的概率,从而实现了生产环境的无缝切换以及计算引擎的切换。

在一些实施例中,所述方法还包括:获取原始图网络的叶子节点对应的特征;基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则,对所述原始图网络进行更新,得到更新图网络;将所述更新图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,将满足预设条件的更新图网络确定为所述图网络。本公开实施例通过迭代的方式生成图网络中的每层节点和边,复杂度较低。

在一些实施例中,在得到所述新特征之后,所述方法还包括:为所述更新图网络中的第1层节点对应的特征随机生成特征值;基于所述第1层节点对应的特征值获取所述更新图网络中除第1层节点以外的其他节点对应的特征值;将所述新特征的特征值与其他特征的特征值进行比较,所述其他特征对应的节点为所述更新图网络中除所述新特征对应的节点以外的节点;在存在与所述新特征具有相同特征值的其他特征的情况下,从所述更新图网络中删除所述新特征以及用于生成所述新特征的特征提取规则。本实施例通过删除特征值相同的特征,从而去除冗余特征,减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,在得到所述新特征之后,所述方法还包括:通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性参数低于预设的重要性参数阈值,和/或所述目标特征的比例大于或等于预设比例,且所述目标特征的重要性参数低于所述目标特征以外的其他特征的重要性参数。本实施例通过删除重要性参数较小的特征,从而减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述方法还包括:从第一待处理数据中提取第一原始特征;确定所述第一原始特征的统计特征;在从第二待处理数据中提取的第二原始特征的统计特征与所述第一原始特征的统计特征不匹配的情况下,输出报警信息。本实施例基于数据的统计特征输出报警信息,使用户能够在实际处理的数据与生成图网络的训练数据的统计特征不匹配的情况下及时采取处理措施,例如,更新第二原始特征的统计特征,从而减少因数据不匹配引起的错误。

在一些实施例中,所述确定所述第一原始特征的统计特征,包括:确定所述第一原始特征的类别;基于所述第一原始特征的类别确定所述第一原始特征的统计特征。不同类别的第一原始特征具有不同的统计特征,例如,年龄类别的第一原始特征的最大值约为100,最小值为0;购物金额类别的第一原始特征的最小值为0,最大值可以是几千或者几万。基于第一原始特征的类别确定其统计特征,准确度较高,且操作复杂度较低。

在一些实施例中,所述第一原始特征的类别为数值类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值的取值的均值、方差、最大值和/或最小值;或者所述第一原始特征的类别为非数值字符类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值包括的字符长度的均值、方差、最大值和/或最小值。通过上述方式,能够为数字、汉字、符号等各种类别的第一原始特征确定统计特征。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述第二待处理数据包括至少两组结构化数据;所述方法还包括:对所述至少两组结构化数据进行主键合并,得到合并的组结构化数据;对所述合并的组结构化数据进行特征提取,得到所述图网络的第1层节点对应的特征。通过多表合并的功能模块,可以将多个表格的数据转换成单表数据,从而方便处理。

根据本公开实施例的第二方面,提供一种图网络生成方法,所述图网络用于对第一待处理数据进行特征提取,所述方法包括:获取原始图网络的叶子节点对应的特征,基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;所述原始图网络为有向无环图,所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息;基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则对所述原始图网络进行更新,得到更新图网络;确定所述更新图网络中各个节点对应的特征值,在所述更新图网络中的叶子节点对应的特征值与所述更新图网络中的非叶子节点对应的特征值相同的情况下,从所述更新图网络中删除所述叶子节点以及连接所述叶子节点的边,得到第一优化图网络;通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性低于所述新特征中除所述目标特征以外的特征的重要性,从所述第一优化图网络中删除所述目标特征对应的节点以及连接所述目标特征对应的节点的边,得到第二优化图网络;将所述第二优化图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,将满足预设条件的第二优化图网络确定为所述图网络。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,通过迭代的方式生成图网络的每层节点,实现了自动化特征工程,无需人工参与,提高了特征工程的效率;在构建图网络的每层节点时,对取得相同特征值的至少两条路径上的节点和/或边进行剪枝处理,并通过神经网络对新生成的每层节点对应的特征进行了筛选,避免了特征数量随着迭代次数的增多而增长过快,从而能够通过增加迭代次数来提取深层特征。

根据本公开实施例的第三方面,提供一种分布式系统,所述系统包括:主节点,用于将待处理数据分配给各个从节点进行处理;以及至少一个从节点,每个从节点上预先部署图网络,用于基于所述图网络对所述待处理数据进行特征提取,得到目标特征,并向所述主节点返回所述目标特征;所述图网络为有向无环图;所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,再将图网络预先存储在分布式系统的节点上,由于图网络中仅保留了生成特征的逻辑(即特征提取规则),而不包括执行该逻辑的具体运算方式和处理资源,因此,将图网络移植到分布式系统的各个节点时,不需要定义分布式系统中各节点所采用的具体运算方式和处理资源,从而降低了图网络在分布式系统的节点间移植的复杂度,减少了移植过程中的耗时,减少了出错的概率,从而实现了生产环境的无缝切换以及计算引擎的切换。

根据本公开实施例的第四方面,提供一种特征工程装置,应用于分布式系统的从节点,所述装置包括:接收模块,用于接收分布式系统的主节点发送的第一待处理数据;第一特征提取模块,用于基于预先存储的图网络对所述第一待处理数据进行特征提取,得到目标特征;所述图网络为有向无环图;第一返回模块,用于向所述主节点返回所述目标特征;所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,再将图网络预先存储在分布式系统的节点上,由于图网络中仅保留了生成特征的逻辑(即特征提取规则),而不包括执行该逻辑的具体运算方式和处理资源,因此,将图网络移植到分布式系统的各个节点时,不需要定义分布式系统中各节点所采用的具体运算方式和处理资源,从而降低了图网络在分布式系统的节点间移植的复杂度,减少了移植过程中的耗时,减少了出错的概率,从而实现了生产环境的无缝切换以及计算引擎的切换。

在一些实施例中,所述装置还包括:特征获取模块,用于获取原始图网络的叶子节点对应的特征;第三特征提取模块,用于基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;更新图网络获取模块,用于基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则,对所述原始图网络进行更新,得到更新图网络;将所述更新图网络作为所述原始图网络,并返回执行特征获取模块的功能,将满足预设条件的更新图网络确定为所述图网络。本公开实施例通过迭代的方式生成图网络中的每层节点和边,复杂度较低。

在一些实施例中,在得到所述新特征之后,所述装置还包括:第一特征值获取模块,用于为所述更新图网络中的第1层节点对应的特征随机生成特征值;第二特征值获取模块,用于基于所述第1层节点对应的特征值获取所述更新图网络中除第1层节点以外的其他节点对应的特征值;比较模块,用于将所述新特征的特征值与其他特征的特征值进行比较,所述其他特征对应的节点为所述更新图网络中除所述新特征对应的节点以外的节点;删除模块,用于在存在与所述新特征具有相同特征值的其他特征的情况下,从所述更新图网络中删除所述新特征以及用于生成所述新特征的特征提取规则。本实施例通过删除特征值相同的特征,从而去除冗余特征,减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,在得到所述新特征之后,所述装置还包括:筛选模块,用于通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性参数低于预设的重要性参数阈值,和/或所述目标特征的比例大于或等于预设比例,且所述目标特征的重要性参数低于所述目标特征以外的其他特征的重要性参数。本实施例通过删除重要性参数较小的特征,从而减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述装置还包括:第四特征提取模块,用于从所述第一待处理数据中提取第一原始特征;统计特征确定模块,用于确定所述第一原始特征的统计特征;报警模块,用于在从所述第二待处理数据中提取的第二原始特征的统计特征与所述第一原始特征的统计特征不匹配的情况下,输出报警信息。本实施例基于数据的统计特征输出报警信息,使用户能够在实际处理的数据与生成图网络的训练数据的统计特征不匹配的情况下及时采取处理措施,例如,更新第二原始特征的统计特征,从而减少因数据不匹配引起的错误。

在一些实施例中,所述统计特征确定模块包括:类别确定单元,用于确定所述第一原始特征的类别;统计特征确定单元,用于基于所述第一原始特征的类别确定所述第一原始特征的统计特征。不同类别的第一原始特征具有不同的统计特征,例如,年龄类别的第一原始特征的最大值约为100,最小值为0;购物金额类别的第一原始特征的最小值为0,最大值可以是几千或者几万。基于第一原始特征的类别确定其统计特征,准确度较高,且操作复杂度较低。

在一些实施例中,所述第一原始特征的类别为数值类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值的取值的均值、方差、最大值和/或最小值;或者所述第一原始特征的类别为非数值字符类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值包括的字符长度的均值、方差、最大值和/或最小值。通过上述方式,能够为数字、汉字、符号等各种类别的第一原始特征确定统计特征。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述第二待处理数据包括至少两组结构化数据;所述装置还包括:主键合并模块,用于对所述至少两组结构化数据进行主键合并,得到合并的组结构化数据;第五特征提取模块,用于对所述合并的组结构化数据进行特征提取,得到所述图网络的第1层节点对应的特征。通过多表合并的功能模块,可以将多个表格的数据转换成单表数据,从而方便处理。

根据本公开实施例的第五方面,提供一种图网络生成装置,所述图网络用于对第一待处理数据进行特征提取,所述装置包括:第二特征提取模块,用于获取原始图网络的叶子节点对应的特征,基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;所述原始图网络为有向无环图,所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息;更新模块,用于基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则对所述原始图网络进行更新,得到更新图网络;第一优化模块,用于确定所述更新图网络中各个节点对应的特征值,在所述更新图网络中的叶子节点对应的特征值与所述更新图网络中的非叶子节点对应的特征值相同的情况下,从所述更新图网络中删除所述叶子节点以及连接所述叶子节点的边,得到第一优化图网络;第二优化模块,用于通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性低于所述新特征中除所述目标特征以外的特征的重要性,从所述第一优化图网络中删除所述目标特征对应的节点以及连接所述目标特征对应的节点的边,得到第二优化图网络;第二返回模块,用于将所述第二优化图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,将满足预设条件的第二优化图网络确定为所述图网络。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,通过迭代的方式生成图网络的每层节点,实现了自动化特征工程,无需人工参与,提高了特征工程的效率;在构建图网络的每层节点时,对取得相同特征值的至少两条路径上的节点和/或边进行剪枝处理,并通过神经网络对新生成的每层节点对应的特征进行了筛选,避免了特征数量随着迭代次数的增多而增长过快,从而能够通过增加迭代次数来提取深层特征。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。

根据本公开实施例的第七方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1是一些实施例的分布式系统的示意图。

图2是本公开实施例的特征工程方法的流程图。

图3是本公开实施例的图网络的示意图。

图4是本公开实施例的更新后的图网络的示意图。

图5是本公开实施例的图网络构建过程的示意图。

图6是本公开实施例的整体流程图。

图7是本公开实施例的图网络生成方法的流程图。

图8是本公开实施例的特征工程装置的框图。

图9是本公开实施例的图网络生成装置的框图。

图10是本公开实施例的计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。

特征工程是对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。例如,原始数据为用户信息表,通过特征工程提取的特征可以包括用户的姓名、年龄、性别、收入以及性别为“男”的用户的平均收入等。当然,此处仅为示例性说明,实际的特征工程所提取的特征可能更加复杂。在进行特征工程的过程中,为了提取深层特征,往往会进行多次迭代处理。然而,随着迭代次数的增加,会导致处理的特征数量呈指数级上升。为了提高数据处理效率,需要将特征工程移植到分布式系统上。

如图1所示,是一些实施例的分布式系统的示意图。该分布式系统可包括多个节点,所述多个节点之间可以进行数据交互以共同执行某一任务,一个节点可以是一个处理器(例如CPU、GPU)、一台服务器或者一个服务器集群。所述多个节点可包括一个或多个主节点101以及一个或多个从节点102,主节点101用于对各个从节点102所处理的数据进行调度,并对各个从节点102返回的数据进行汇总,各个从节点102可以在主节点的调度下进行数据处理。

由于分布式系统中不同的节点在进行数据处理时所采用的处理方式和处理资源可能相同,也可能不同,因此,相关技术在将特征工程移植到分布式系统的不同节点上时,需要分别定义各个节点的具体运算方式和处理资源,导致移植过程耗时且容易出错。

基于此,本公开实施例提供一种特征工程方法,应用于分布式系统的从节点,参考图2,所述方法包括:

步骤201:接收所述分布式系统的主节点发送的第一待处理数据;

步骤202:基于预先存储的图网络对所述第一待处理数据进行特征提取,得到目标特征;所述图网络为有向无环图;

步骤203:向所述主节点返回所述目标特征;

所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。

本公开实施例的方法可以由图1所示的分布式系统的从节点102执行。在步骤201中,从节点可以接收分布式系统的主节点发送的第一待处理数据,所述第一待处理数据可以是文本、图片、视频、音频等各种形式的数据。在一些实施例中,所述第一待处理数据为结构化数据(例如,表格)或者按照固定的排版方式生成的数据(例如,身份证图像)。主节点可将第一待处理数据划分为多个组,并按照一定的调度策略来调度各个从节点对不同的数据组进行处理。

在步骤202中,每个从节点都可以预先存储一个图网络。所述图网络的每个节点对应于一个特征,所述图网络的每条边对应于一条特征提取规则,如图3所示,是图网络的示意图。图中的一个圆圈表示一个节点对应的特征,其中,A

一个从节点可以按照整个图网络中的全部特征提取规则对第一待处理数据进行特征提取,得到目标特征,也可以仅按照图网络中的部分特征提取规则对第一待处理数据进行特征提取,得到目标特征。例如,从节点可以仅采用图网络中r

在步骤203中,从节点可以向主节点返回提取出的目标特征。主节点在接收到从节点返回的目标特征之后,可以将该目标特征发送到其他从节点进行后续处理。或者,主节点也可以对多个从节点返回的目标特征进行汇总,从而得到完整的目标特征。

在相关技术中,通过分布式系统进行特征工程时,会在分布式系统的各个节点上分别定义具体运算方式和处理资源,例如,对于“指数运算”这一特征提取规则,节点1在处理时调用多核CPU中的一个处理内核进行处理,处理内核在处理时,会将需要进行指数运算的数据转换为32位浮点数;而节点2在处理时调用多核CPU中的多个处理内核进行处理,处理内核在处理时,会将需要进行指数运算的数据转换为64位浮点数。因此,对于节点1和节点2,通常会分别定义执行指数运算这一特征提取规则时所采用的CPU处理内核的数量以及运算过程中浮点数的位数。

本公开实施例通过图网络来管理特征之间的依赖和生成关系,再将图网络预先存储在分布式系统的节点上,由于图网络中仅保留了生成特征的逻辑(即特征提取规则),而不包括执行该逻辑的具体运算方式和处理资源,因此,将图网络移植到分布式系统的各个节点时,不需要定义分布式系统中各节点所采用的具体运算方式和处理资源,从而降低了图网络在分布式系统的节点间移植的复杂度,减少了移植过程中的耗时,减少了出错的概率。在上述例子中,节点1和节点2在处理时,只需要从图网络中读取相应的处理逻辑,即“指数运算”,然后,分别采用各自的处理方式和处理资源进行处理。

上述实施例中所采用的图网络可以通过迭代方式生成。具体来说,可以获取原始图网络的叶子节点对应的特征;基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则,对所述原始图网络进行更新,得到更新图网络;将所述更新图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,直到满足预设条件,并将满足预设条件的更新图网络确定为所述图网络(即所述预先存储的图网络)。

在一些实施例中,可以通过对第二待处理数据进行特征提取,从而确定图网络的第1层节点对应的特征。所述第二待处理数据与所述第一待处理数据可以包括相同的数据项,例如,第一待处理数据与第二待处理数据中均包括用户的姓名、性别、年龄等数据项。其中,第一待处理数据中的数据项可以与第二待处理数据中的数据项完全相同;或者,第一待处理数据中的数据项为第二待处理数据中的数据项的子集,例如,第一待处理数据中的数据项包括用户的姓名和性别,第二待处理数据中的数据项包括用户的姓名、性别和年龄。

在一些实施例中,第二待处理数据包括至少两组结构化数据,例如,表格。可以对所述至少两组结构化数据进行主键合并,得到合并的组结构化数据;对所述合并的组结构化数据进行特征提取,得到所述图网络的第1层节点对应的特征。可以通过BFS(BreathFirst Search广度优先搜索)算法进行自动多表合并流程。通过多表合并的功能模块,可以将多个表格的数据转换成单表数据,从而方便处理。主键可以预先指定。例如,订单表包括用户的姓名、交易金额和交易时间等列,可以将“姓名”这一列指定为主键,对两张订单表中不同用户的交易金额和交易时间进行整合,一些实施例中合并前的表1和表2以及合并后的表3如下表所示。

表1

表2

表3

提取出图网络的第1层节点对应的特征之后,可以采用预先生成的特征提取规则对第1层节点对应的特征进行特征提取,得到第2层节点对应的特征;再采用预先生成的特征提取规则对第2层节点对应的特征进行特征提取,得到第3层节点对应的特征;以此类推。其中,用于对不同层节点对应的特征进行特征提取的特征提取规则可以相同,也可以不同。在一些实施例中,可以先通过特征提取规则1对图网络第1层到第n层的特征进行特征提取,再通过特征提取规则2对图网络第n+1层到第n+t层的特征进行特征提取,n和t均为大于或等于1的正整数。进行循环生成的特征类别会因循环的次数而发生改变,防止生成的特征过于单一和嵌套,并且可以防止特征的循环生成导致特征爆炸。

每得到一层新特征,可以将该新特征以及生成该新特征的特征提取规则更新到图网络中,即,将新特征作为更新后的图网络的叶子节点,将用于生成新特征的特征提取规则作为边,从用于生成所述新特征的特征对应的节点指向所述新特征对应的节点。结合图3和图4,假设通过r

通过上述方式进行迭代处理,直到满足预设条件,所述预设条件可以是特征数量达到预设数量,迭代次数达到预设次数,或者基于提取出的特征所训练出的神经网络的性能(例如,准确率)达到预设性能指标等。

为了避免生成的特征数量过多,在每次迭代之后,还可以对生成的新特征进行筛选,从而减少每次生成的新特征的数量。所述筛选可以包括静态特征筛选和动态特征筛选中的至少一者。其中,静态特征筛选是指筛选出实质上相同的特征提取方式,动态特征筛选是指筛选出重要性较低的特征。如图5所示,每一次迭代生成新特征之后,可以交替地进行一次静态特征筛选和动态特征筛选。例如,进行第一次迭代后,基于第1层节点对应的特征生成第2层节点对应的特征,对第2层节点对应的特征进行静态特征筛选和动态特征筛选;再对筛选后的图网络再进行第二次迭代,基于第2层节点对应的特征生成第3层节点对应的特征,对第3层节点对应的特征进行静态特征筛选和动态特征筛选;再对筛选后的图网络再进行第三次迭代;以此类推。其中,静态特征筛选和动态特征筛选的顺序本公开不做限制,既可以先进行静态特征筛选再进行动态特征筛选,也可以先进行动态特征筛选再进行静态特征筛选。

具体来说,在静态特征筛选时,可以为所述更新图网络中的第1层节点对应的特征随机生成特征值;基于所述第1层节点对应的特征值获取所述更新图网络中除第1层节点以外的其他节点对应的特征值;将所述新特征的特征值与其他特征的特征值进行比较,所述其他特征对应的节点为所述更新图网络中除所述新特征对应的节点以外的节点;在存在与所述新特征具有相同特征值的其他特征的情况下,从所述更新图网络中删除所述新特征以及用于生成所述新特征的特征提取规则。

更新图网络中的第1层节点对应的特征可以是从第一待处理数据中提取出的特征,提取第1层节点对应的特征的过程可以称为数据理解。首先,可以基于第一待处理数据的字符类型,将第一待处理数据划分为多个类别,每个类别对应一种字符类型,所述字符类型可以包括但不限于数字、字母、汉字等。然后,可以进一步将每种类别的第一待处理数据划分为多个子类别,例如,数字类别的第一待处理数据可以划分为年龄子类别、金额子类别、时间子类别等;汉字类别的第一待处理数据可以划分为姓名子类别、性别子类别、地址子类别、职业子类别等。可以将各个子类别确定为第1层节点对应的特征。通过对第一待处理数据进行统计学判别,还可以确定每个子类别的第一待处理数据的统计特征。所述统计特征包括但不限于均值、方差、最大值、最小值等。对于数字类别的第一待处理数据,可以直接计算数值的均值、方差等统计特征;对于字符类别的第一待处理数据,可以计算字符数量对应的统计特征。

在一些实施例中,可以基于所述特征的子类别(例如,年龄、性别等),为更新图网络中的第1层节点对应的特征随机生成一个或多个特征值。例如,对于年龄类别的特征,可以随机生成0到100以内的特征值,对于性别类别的特征,可以随机生成特征值“男”或特征值“女”,或者随机生成代表“男”的数值型特征值或代表“女”的数值型特征值。

然后,可以基于所述第1层节点对应的特征值获取所述更新图网络中除第1层节点以外的其他节点对应的特征值。例如,在图3所示的实施例中,假设r

针对更新图网络中的每个新特征,可将该新特征的特征值与历史迭代过程中生成的各个特征的特征值进行比较,确定两者是否相同。若相同,表示用于生成该新特征的特征提取规则是冗余规则,可将生成该新特征的规则以及该新特征删除。仍以图3为例,生成新特征(即A

在动态特征筛选时,可以通过预先训练的树模型从所述新特征中筛选出目标特征;从所述更新图网络中删除所述目标特征对应的节点以及连接所述目标特征对应的节点的边。所述目标特征的重要性参数低于预设的重要性参数阈值,和/或所述目标特征的比例大于或等于预设比例,且所述目标特征的重要性参数低于所述目标特征以外的其他特征的重要性参数。例如,在重要性参数低于预设的重要性参数阈值的特征的数量大于或等于预设比例的情况下,可以将重要性参数低于预设的重要性参数阈值的各个特征均确定为目标特征。又例如,在重要性参数低于预设的重要性参数阈值的特征的数量小于预设比例的情况下,可以将重要性参数有小到大的预设数量个特征确定为目标特征。特征的重要性参数用于体现特征的价值,即,特征对机器学习模型的输出结果的影响。例如,在机器学习模型用于执行分类任务的情况下,特征的重要性参数用于体现特征对分类结果的影响程度,重要性参数越大的特征对分类结果的影响程度越大。特征的重要性参数可以基于特征在树模型中的分裂次数和/或特征的信息增益来确定。分裂次数越多的特征重要性越高,信息增益越大的特征重要性越高。目标特征的比例可以通过目标特征的数量与所有特征的总数的比值计算得到。

在一些实施例中,还可以从所述第一待处理数据中提取第一原始特征;确定所述第一原始特征的统计特征。在从所述第二待处理数据中提取的第二原始特征的统计特征与所述第一原始特征的统计特征不匹配的情况下,可以输出报警信息。第二原始特征的统计特征与第一原始特征的统计特征不匹配,可能是由于第二待处理数据的选取不合理或者数量不足,导致第二原始特征的统计特征不合理。例如,实际情况下网络交易订单中用户的年龄分布为15到65岁,年龄的平均值为40岁;但第二待处理数据中用户的年龄分布为20到25岁,未能覆盖所有可能的情况,导致统计出的年龄的平均值为22.5岁。在这种情况下,如果有报警信息输出,用户可以更新第二原始特征的统计特征。在其他情况下,用户还可以在报警信息输出时根据实际需要进行其他处理,本公开对此不做限制。

所述第一原始特征的统计特征可以基于所述第一原始特征的类别确定。例如,所述第一原始特征的类别为数值类别,则所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值的取值的均值、方差、最大值和/或最小值。又例如,所述第一原始特征的类别为非数值字符类别,则所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值包括的字符长度的均值、方差、最大值和/或最小值。

如图6所示,是本公开实施例的总体流程图。对于多组第一待处理数据(数据1,数据2,……,数据N),可以先通过数据理解从中提取出初始特征,用来作为图网络的第1层节点对应的特征。在第一待处理数据为表格的情况下,初始特征可以是表格中每一列的表头信息。然后,可以对多个表格进行主键合并。对合并后的表格进行自动化图网络构建,即迭代生成图网络的每层节点以及边,并交替进行动态特征筛选和静态特征筛选。在构建好图网络之后,通过图网络进行特征计算。还可以将图网络部署到分布式系统的各个从节点上,各个从节点可以在分布式系统的主节点的调度下进行特征计算。

本公开实施例的方案可用于信息推送,其中,所述第一待处理数据可以是用户信息表,所述用户信息表中可以包括用户的多个维度的信息,例如,年龄、姓名、性别、职业、住址、交易信息等,可以从作为样本数据的用户信息表中提取出目标特征,基于目标特征训练神经网络,并将待处理的用户信息表输入所述神经网络,获取所述神经网络预测出的推荐信息,所述推荐信息可以包括但不限于视频平台推送给用户的视频、线上购物平台推送给用户的商品、新闻平台推送给用户的新闻等。

本公开实施例的方案还可以用于金融场景,例如,保险场景。本公开实施例的方案可用于信息推送,其中,所述第一待处理数据可以是用户的保单,所述保单中可以包括用户的多个维度的信息,例如,年龄、姓名、性别、职业、历史住院信息、历史患病信息等,可以从保单样本中提取出目标特征,基于目标特征训练神经网络,并将待处理的保单输入所述神经网络,获取所述神经网络预测出的用户投保信息,所述用户投保信息可以包括但不限于用户投保的类别、投保金额等。

除了上述列举的两个应用场景之外,本公开实施例的方案还可以用于其他应用场景,对此不再一一列举。

如图7所示,本公开实施例还提供一种图网络生成方法,所述图网络用于对第一待处理数据进行特征提取,所述方法包括:

步骤701:获取原始图网络的叶子节点对应的特征,基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;所述原始图网络为有向无环图,所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息;

步骤702:基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则对所述原始图网络进行更新,得到更新图网络;

步骤703:确定所述更新图网络中各个节点对应的特征值,在所述更新图网络中的叶子节点对应的特征值与所述更新图网络中的非叶子节点对应的特征值相同的情况下,从所述更新图网络中删除所述叶子节点以及连接所述叶子节点的边,得到第一优化图网络;

步骤704:通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性低于所述新特征中除所述目标特征以外的特征的重要性,从所述第一优化图网络中删除所述目标特征对应的节点以及连接所述目标特征对应的节点的边,得到第二优化图网络;

步骤705:将所述第二优化图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,将满足预设条件的第二优化图网络确定为所述图网络。

本公开实施例通过图网络来管理特征之间的依赖和生成关系,通过迭代的方式生成图网络的每层节点,实现了自动化特征工程,无需人工参与,提高了特征工程的效率;在构建图网络的每层节点时,对取得相同特征值的至少两条路径上的节点和/或边进行剪枝处理,并通过神经网络对新生成的每层节点对应的特征进行了筛选,避免了特征数量随着迭代次数的增多而增长过快,从而能够通过增加迭代次数来提取深层特征。

通过本公开实施例生成的图网络可用于前述任一实施例的特征工程方法中,以从第一待处理数据中提取特征,此处不再赘述。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

如图8所示,本公开实施例还提供一种特征工程装置,应用于分布式系统的从节点,所述装置包括:

接收模块801,用于接收所述分布式系统的主节点发送的第一待处理数据;

第一特征提取模块802,用于基于预先存储的图网络对所述第一待处理数据进行特征提取,得到目标特征;所述图网络为有向无环图;

第一返回模块803,用于向所述主节点返回所述目标特征;

所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。

本公开实施例通过有向无环图来管理特征之间的依赖和生成关系,再将图网络预先存储在分布式系统的节点上,由于图网络中仅保留了生成特征的逻辑(即特征提取规则),而不包括执行该逻辑的具体运算方式和处理资源,因此,将图网络移植到分布式系统的各个节点时,不需要定义分布式系统中各节点所采用的具体运算方式和处理资源,从而降低了图网络在分布式系统的节点间移植的复杂度,减少了移植过程中的耗时,减少了出错的概率,从而实现了生产环境的无缝切换以及计算引擎的切换。

在一些实施例中,所述装置还包括:特征获取模块,用于获取原始图网络的叶子节点对应的特征;第三特征提取模块,用于基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;更新图网络获取模块,用于基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则,对所述原始图网络进行更新,得到更新图网络;将所述更新图网络作为所述原始图网络,并返回执行特征获取模块的功能,将满足预设条件的更新图网络确定为所述图网络。本公开实施例通过迭代的方式生成图网络中的每层节点和边,复杂度较低。

在一些实施例中,在得到所述新特征之后,所述装置还包括:第一特征值获取模块,用于为所述更新图网络中的第1层节点对应的特征随机生成特征值;第二特征值获取模块,用于基于所述第1层节点对应的特征值获取所述更新图网络中除第1层节点以外的其他节点对应的特征值;比较模块,用于将所述新特征的特征值与其他特征的特征值进行比较,所述其他特征对应的节点为所述更新图网络中除所述新特征对应的节点以外的节点;删除模块,用于在存在与所述新特征具有相同特征值的其他特征的情况下,从所述更新图网络中删除所述新特征以及用于生成所述新特征的特征提取规则。本实施例通过删除特征值相同的特征,从而去除冗余特征,减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,在得到所述新特征之后,所述装置还包括:筛选模块,用于通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性参数低于预设的重要性参数阈值,和/或所述目标特征的比例大于或等于预设比例,且所述目标特征的重要性参数低于所述目标特征以外的其他特征的重要性参数。本实施例通过删除重要性参数较小的特征,从而减少了特征数量,避免了特征数量过多导致数据处理量随着迭代次数的增加过快地增长。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述装置还包括:第四特征提取模块,用于从所述第一待处理数据中提取第一原始特征;统计特征确定模块,用于确定所述第一原始特征的统计特征;报警模块,用于在从所述第二待处理数据中提取的第二原始特征的统计特征与所述第一原始特征的统计特征不匹配的情况下,输出报警信息。本实施例基于数据的统计特征输出报警信息,使用户能够在实际处理的数据与生成图网络的训练数据的统计特征不匹配的情况下及时采取处理措施,例如,更新第二原始特征的统计特征,从而减少因数据不匹配引起的错误。

在一些实施例中,所述统计特征确定模块包括:类别确定单元,用于确定所述第一原始特征的类别;统计特征确定单元,用于基于所述第一原始特征的类别确定所述第一原始特征的统计特征。不同类别的第一原始特征具有不同的统计特征,例如,年龄类别的第一原始特征的最大值约为100,最小值为0;购物金额类别的第一原始特征的最小值为0,最大值可以是几千或者几万。基于第一原始特征的类别确定其统计特征,准确度较高,且操作复杂度较低。

在一些实施例中,所述第一原始特征的类别为数值类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值的取值的均值、方差、最大值和/或最小值;或者所述第一原始特征的类别为非数值字符类别,所述第一原始特征的统计特征包括所述第一原始特征的至少一个特征值包括的字符长度的均值、方差、最大值和/或最小值。通过上述方式,能够为数字、汉字、符号等各种类别的第一原始特征确定统计特征。

在一些实施例中,所述图网络的第1层节点对应的特征通过对第二待处理数据进行特征提取得到;所述第二待处理数据包括至少两组结构化数据;所述装置还包括:主键合并模块,用于对所述至少两组结构化数据进行主键合并,得到合并的组结构化数据;第五特征提取模块,用于对所述合并的组结构化数据进行特征提取,得到所述图网络的第1层节点对应的特征。通过多表合并的功能模块,可以将多个表格的数据转换成单表数据,从而方便处理。

如图9所示,本公开实施例还提供一种图网络生成装置,所述图网络用于对第一待处理数据进行特征提取,所述装置包括:

第二特征提取模块901,用于获取原始图网络的叶子节点对应的特征,基于预先生成的特征提取规则对所述原始图网络的叶子节点对应的特征进行特征提取,得到新特征;所述原始图网络为有向无环图,所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息;

更新模块902,用于基于所述原始图网络的叶子节点对应的特征、所述新特征和所述特征提取规则对所述原始图网络进行更新,得到更新图网络;

第一优化模块903,用于确定所述更新图网络中各个节点对应的特征值,在所述更新图网络中的叶子节点对应的特征值与所述更新图网络中的非叶子节点对应的特征值相同的情况下,从所述更新图网络中删除所述叶子节点以及连接所述叶子节点的边,得到第一优化图网络;

第二优化模块904,用于通过预先训练的树模型从所述新特征中筛选出目标特征;所述目标特征的重要性低于所述新特征中除所述目标特征以外的特征的重要性,从所述第一优化图网络中删除所述目标特征对应的节点以及连接所述目标特征对应的节点的边,得到第二优化图网络;

第二返回模块905,用于将所述第二优化图网络作为所述原始图网络,并返回获取原始图网络的叶子节点对应的特征的步骤,将满足预设条件的第二优化图网络确定为所述图网络。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

本公开实施例还提供一种分布式系统,所述系统包括:

主节点,用于将待处理数据分配给各个从节点进行处理;以及

至少一个从节点,每个从节点上预先部署图网络,用于基于所述图网络对所述待处理数据进行特征提取,得到目标特征,并向所述主节点返回所述目标特征;其中,所述图网络的每个节点用于记录一个特征的信息,所述图网络的每条边用于记录一条特征提取规则的信息。其中,所述图网络为有向无环图。

所述分布式系统的结构可以是如图1所示的结构,此处不再赘述。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。

图10示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1001、存储器1002、输入/输出接口1003、通信接口1004和总线1005。其中处理器1001、存储器1002、输入/输出接口1003和通信接口1004通过总线1005实现彼此之间在设备内部的通信连接。

处理器1001可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器1001还可以包括显卡,所述显卡可以是Nvidia titan X显卡或者1080Ti显卡等。

存储器1002可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1002可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1002中,并由处理器1001来调用执行。

输入/输出接口1003用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1004用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1005包括一通路,在设备的各个组件(例如处理器1001、存储器1002、输入/输出接口1003和通信接口1004)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1001、存储器1002、输入/输出接口1003、通信接口1004以及总线1005,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

相关技术
  • 特征工程和图网络生成方法和装置、分布式系统
  • 图像处理方法及装置和图像生成网络的训练方法及装置
技术分类

06120113211196