用于基于业务数据库构建业务模型的方法和装置与流程

文档序号:21819587发布日期:2020-08-11 21:34阅读:175来源:国知局
用于基于业务数据库构建业务模型的方法和装置与流程

本说明书实施例通常涉及人工智能领域,尤其涉及用于基于业务数据库构建业务模型的方法和装置。



背景技术:

随着人工智能技术的发展,基于机器学习模型的业务模型应用于越来越多的领域。在机器学习领域,业务数据和模型特征决定机器学习模型的上限,而模型架构和模型算法的改进只是逼近这个上限。在针对不同的业务场景构建业务模型时,通常会依赖模型设计方的模型构建经验,通过对业务场景进行调研来设定业务模型所使用的模型特征集,并且收集对应的业务样本数据来进行模型训练。按照这种方式确定的模型特征集,会存在部分模型特征不适合于该业务模型。这部分模型特征作为业务模型的输入模型会降低业务模型的模型效果。或者,该模型特征集中遗漏了该业务模型的最合适模型特征,从而导致所得到的业务模型的模型效果不佳。



技术实现要素:

鉴于上述问题,本说明书实施例提供一种用于基于业务数据库构建业务模型的方法和装置。利用该方法和装置,通过从海量业务数据库中搜索出与业务模型的业务样本实例集之间具有关联性的业务数据表,基于所搜索出的业务数据表提取出业务特征,并基于所提取出的业务特征来进行特征探索,可以基于海量业务数据库来得到最适合于业务模型的模型特征集,进而基于该模型特征集,使用自动机器学习算法来自动构建业务模型,从而可以提升所得到的业务模型的模型效果,同时降低人力成本。

根据本说明书实施例的一个方面,提供一种用于基于业务数据库构建业务模型的方法,所述业务数据库包括业务数据池,所述业务数据池包括至少一个业务数据表,每个业务数据表包括至少一个业务数据列,所述方法包括:从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表;基于所述第一业务数据表来进行特征探索,以得到模型特征集;以及根据所述模型特征集,使用自动机器学习方法来构建目标业务模型。

可选地,在上述方面的一个示例中,从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表可以包括:计算所述业务数据池中的各个业务数据表与所述业务样本实例集之间的笛卡尔积;将所述业务样本实例集的数据数目和各个业务数据表的笛卡尔积的数据数目之间的比值,确定为各个业务数据表与所述业务样本实例集之间的关联度;以及将所具有的关联度大于第一阈值的业务数据表,确定为所述第一业务数据表。

可选地,在上述方面的一个示例中,从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表可以包括:使用所述业务样本实例集来生成布隆过滤器;使用布隆过滤器来对所述业务数据池中的各个业务数据表进行数据过滤;基于各个业务数据表的数据过滤结果,确定所述业务数据池中的各个业务数据表与所述业务样本实例集之间的关联度;以及将所具有的关联度大于第一阈值的业务数据表,确定为所述第一业务数据表。

可选地,在上述方面的一个示例中,基于各个业务数据表的数据过滤结果,确定所述业务数据池中的各个业务数据表与所述业务样本实例集之间的关联度可以包括:针对各个业务数据表,将布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该业务数据表与所述业务样本实例集之间的关联度。

可选地,在上述方面的一个示例中,在使用布隆过滤器来对所述业务数据池中的各个业务数据表进行数据过滤之前,所述方法进一步可以包括:分别对各个业务数据表进行数据采样,使用布隆过滤器来对所述业务数据池中的各个业务数据表进行数据过滤可以包括:使用布隆过滤器来对各个业务数据表的数据采样进行数据过滤。

可选地,在上述方面的一个示例中,分别对各个业务数据表进行数据采样可以包括:分别对各个业务数据表执行预定数目次数据采样,其中,基于各个业务数据表的数据过滤结果,确定所述业务数据池中的各个业务数据表与所述业务样本实例集之间的关联度可以包括:针对各个业务数据表,将每次数据采样的布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该次数据采样所对应的业务数据表与所述业务样本实例集之间的关联概率;确定所得到的关联概率在给定置信范围下的置信区间;以及将所述置信区间的下限确定为该业务数据表与所述业务样本实例集之间的关联度。

可选地,在上述方面的一个示例中,在从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表之前,所述方法进一步可以包括:对所述业务数据池中的各个业务数据表进行数据探查,以得到各个业务数据表中的各个业务数据列的元信息。

可选地,在上述方面的一个示例中,所述元信息可以包括下述信息中的至少一个:统计信息、社会属性信息、数据类型信息以及信息相似度。

可选地,在上述方面的一个示例中,在从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表之前,所述方法进一步可以包括:基于各个业务数据列的信息相似度,对各个业务数据表进行数据精简处理。

可选地,在上述方面的一个示例中,各个特征具有特征权重,基于所述第一业务数据表来进行特征探索,以得到模型特征集可以包括:执行下述迭代过程,直到满足迭代结束条件:基于特征权重来从在前特征集中随机选择当前迭代过程的种子特征,所述在前特征集包括原始特征和所有在前迭代过程中产生的衍生特征,所述原始特征是在第一次迭代过程中基于所述第一业务数据表确定的;使用特征衍生规则来对所述种子特征进行特征衍生,以得到衍生特征;对所述种子特征和所述衍生特征进行特征评估,得到各个特征的特征排序结果,在满足所述迭代结束条件时,根据所述特征排序结果来从所述种子特征和所述衍生特征中确定所述模型特征集,在不满足所述迭代结束条件时,根据所述特征排序结果来调整所述在前特征集和所述衍生特征中的对应特征的特征权重。

可选地,在上述方面的一个示例中,所述特征排序结果可以包括排名值,所述在前特征集中的各个特征基于特征衍生的血缘关系组成血缘关系树,根据所述特征排序结果来调整所述在前特征集中的对应特征的特征权重可以包括:基于所述排名值,从当前迭代过程的特征集中选择出排序在前的预定数目个特征,作为权重调整特征;基于各个权重调整特征的排名值,确定各个权重调整特征的权重调整值;以及根据各个权重调整特征的权重调整值和所述血缘关系树中的各个上游节点特征的权重更新次数,调整该权重调整特征以及所有上游节点特征的特征权重。。

可选地,在上述方面的一个示例中,所述特征衍生规则可以包括下述规则中的至少一种:特征变换、特征组合和特征演变。

可选地,在上述方面的一个示例中,所述迭代结束条件可以包括:达到预定迭代次数;或者符合期望特征指标要求的特征数目达到预期数目。

根据本说明书的实施例的另一方面,提供一种用于基于业务数据库构建业务模型的装置,所述业务数据库包括业务数据池,所述业务数据池包括至少一个业务数据表,每个业务数据表包括至少一个业务数据列,所述装置包括:关联数据表确定单元,从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表;特征探索单元,基于所述第一业务数据表来进行特征探索,以得到模型特征集;以及模型构建单元,根据所述模型特征集,使用自动机器学习方法来构建目标业务模型。

可选地,在上述方面的一个示例中,所述关联数据表确定单元可以包括:笛卡尔积计算模块,计算所述业务数据池中的各个业务数据表与所述业务样本实例集之间的笛卡尔积;关联度确定模块,将所述业务样本实例集的数据数目和各个业务数据表的笛卡尔积的数据数目之间的比值,确定为各个业务数据表与所述业务样本实例集之间的关联度;以及关联数据表确定模块,将所具有的关联度大于第一阈值的业务数据表,确定为所述第一业务数据表。

可选地,在上述方面的一个示例中,所述关联数据表确定单元可以包括:过滤器生成模块,使用所述业务样本实例集来生成布隆过滤器;数据过滤模块,使用布隆过滤器来对所述业务数据池中的各个业务数据表进行数据过滤;关联度确定模块,基于各个业务数据表的数据过滤结果,确定所述业务数据池中的各个业务数据表与所述业务样本实例集之间的关联度;以及关联数据表确定模块,将所具有的关联度大于第一阈值的业务数据表,确定为所述第一业务数据表。

可选地,在上述方面的一个示例中,针对各个业务数据表,所述关联度确定模块将布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该业务数据表与所述业务样本实例集之间的关联度。

可选地,在上述方面的一个示例中,所述关联数据表确定单元进一步可以包括:数据采样模块,在使用布隆过滤器来对所述业务数据池中的各个业务数据表进行数据过滤之前,分别对各个业务数据表进行数据采样,其中,所述数据过滤模块使用布隆过滤器来对各个业务数据表的数据采样进行数据过滤。

可选地,在上述方面的一个示例中,所述数据采样模块分别对各个业务数据表执行预定数目次数据采样,针对各个业务数据表,所述关联度确定模块将每次数据采样的布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该次数据采样所对应的业务数据表与所述业务样本实例集之间的关联概率;确定所得到的关联概率在给定置信范围下的置信区间;以及将所述置信区间的下限确定为该业务数据表与所述业务样本实例集之间的关联度。

可选地,在上述方面的一个示例中,所述装置进一步可以包括:数据探查单元,在从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表之前,对所述业务数据池中的各个业务数据表进行数据探查,以得到各个业务数据表中的各个业务数据列的元信息。

可选地,在上述方面的一个示例中,所述元信息包括下述信息中的至少一个:统计信息、社会属性信息、数据类型信息以及信息相似度,所述装置进一步可以包括:数据精简单元,基于各个业务数据列的信息相似度,对各个业务数据表进行数据精简处理。

可选地,在上述方面的一个示例中,各个特征具有特征权重,所述特征探索单元可以包括:特征选择模块,基于特征权重来从在前特征集中随机选择当前迭代过程的种子特征,所述在前特征集包括原始特征和所有在前迭代过程中产生的衍生特征,所述原始特征基于所述第一业务数据表确定;特征衍生模块,使用特征衍生规则来对所述种子特征进行特征衍生,以得到衍生特征;特征评估模块,对所述种子特征和所述衍生特征进行特征评估,得到各个特征的特征排序结果;特征权重调整模块,在不满足所述迭代结束条件时,根据所述特征排序结果来调整所述在前特征集和当前衍生特征中的对应特征的特征权重;模型特征集确定模块,在满足所述迭代结束条件时,根据所述特征排序结果来从所述种子特征和所述衍生特征中确定出所述模型特征集,所述特征选择模块、所述特征衍生模块、所述特征评估模块和所述特征权重调整模块迭代执行操作,直到满足迭代结束条件。

可选地,在上述方面的一个示例中,所述特征排序结果包括排名值,所述在前特征集中的各个特征基于特征衍生的血缘关系组成血缘关系树,所述特征权重调整模块:基于所述排名值,从当前迭代过程的特征集中选择出排序在前的预定数目个特征,作为权重调整特征;基于各个权重调整特征的排名值,确定各个权重调整特征的权重调整值;以及根据各个权重调整特征的权重调整值和所述血缘关系树中的各个上游节点特征的权重更新次数,调整该权重调整特征以及所有上游节点特征的特征权重。。

根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于基于业务数据构建业务模型的方法。

根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于基于业务数据库构建业务模型的方法。

附图说明

通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。

图1示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的方法的一个示例的流程图。

图2示出了根据本说明书的实施例的业务数据库的示例示意图。

图3示出了根据本说明书的实施例的基于统计信息的数据类型确定方法的流程图。

图4示出了根据本说明书的实施例的用于从业务数据池中确定出与业务样本实例集之间具有关联性的第一业务数据表的方法的一个示例的流程图。

图5示出了根据本说明书的实施例的用于从业务数据池中确定出与业务样本实例集之间具有关联性的第一业务数据表的方法的另一示例的流程图。

图6示出了根据本说明书的实施例的基于布隆过滤器实现的业务数据表与业务样本实例集之间的关联度的确定过程的一个示例的流程图。

图7示出了根据本说明书的实施例的用于基于业务数据表来进行特征探索的方法的一个示例的流程图。

图8示出了根据本说明书的实施例的血缘关系树的示例示意图。

图9示出了根据本说明书的实施例的特征评估过程的一个示例流程图。

图10示出了根据本说明书的实施例的特征权重调整过程的一个示例流程图。

图11示出了根据本说明书的实施例的自动机器学习的示例示意图。

图12示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的装置的方框图。

图13示出了根据本说明书的实施例的关联数据表确定单元的一个示例的方框图。

图14示出了根据本说明书的实施例的关联数据表确定单元的另一示例的方框图。

图15示出了根据本说明书的实施例的特征探索单元的一个示例的方框图。

图16示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的电子设备的示意图。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

在机器学习领域,业务数据和模型特征决定机器学习模型的上限,而模型架构和模型算法的改进只是逼近这个上限。在针对不同的业务场景构建业务模型时,通常会依赖模型设计方的模型构建经验,通过对业务场景进行调研来设定业务模型所使用的模型特征集,并且收集对应的业务样本数据来进行模型训练。按照这种方式确定的模型特征集,会存在部分模型特征不适合于该业务模型,或者该模型特征集中遗漏了该业务模型的最合适模型特征,从而导致所得到的业务模型的模型效果不佳。

为了解决上述问题,本说明书实施例提供一种用于基于业务数据库构建业务模型的方案。在该业务模型构建方案中,从海量业务数据库中确定出与业务模型的业务样本实例集之间具有关联性的业务数据表,基于所搜索出的业务数据表提取出业务特征,并基于所提取出的业务特征来进行特征探索,由此可以基于海量业务数据库来自动得到最适合于业务模型的模型特征集,进而基于该模型特征集,使用自动机器学习算法来自动构建业务模型,从而可以提升所得到的业务模型的模型效果,同时降低人力成本。

在本说明书中,术语“业务样本实例”可以是指具有业务模型所需的模型特征集中的部分或全部模型特征维度的特征数据的样本实例,所述业务模型的模型特征集例如可以是在进行模型设计时预先规划好,或者采用其它合适的方式确定出的。例如,假设业务模型所需的模型特征集包括特征1到特征6。业务样本实例可以包括特征1到特征3所对应的特征数据,也可以包括特征1到特征3中的部分特征所对应的特征数据。比如,假设业务模型需要用户的年龄、性别和居住城市,则业务样本实例可以包括与年龄、性别和居住城市相关的特征数据,也可以包括与年龄、性别和居住城市中的任何一个或两个相关的特征数据,比如与居住城市相关的特征数据。样本实例集可以是由模型构建方主动创建或者本地收集。

下面将参照附图描述根据本说明书的实施例的用于基于业务数据库构建业务模型的方法和装置。

图1示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的方法的一个示例的流程图。在本说明书中,术语“业务数据库”与“业务数据池”可以互换使用。

如图1所示,在块110,对业务数据池中的业务数据表进行数据探查,以得到各个业务数据表中的各个业务数据列的元信息。在本说明书的实施例中,业务数据池可以是由各个业务系统收集的业务数据,比如,用户交易数据,用户身份信息数据、用户客服数据等等。业务数据池由多张业务数据表构成。业务数据表由多个业务数据列组成。业务数据列用来描述某一实体的一个维度,例如:用户的年龄,年收入等。

图2示出了根据本说明书的实施例的业务数据库200的示例示意图。如图2所示,业务数据库200包括业务数据表210、220和230。每个业务数据表可以包括多个业务数据列,例如,列名分别为人名、年龄、性别和城市的业务数据列211。

所述元信息可以包括统计信息、社会属性信息、数据类型信息以及信息相似度。统计信息例如可以包括方差、均值、空值率等。在本说明书中,空值率是指在一个业务数据列中,其元素值为零的数据行数占该业务数据列中的总数据行数的比率。社会属性信息例如可以包括证件号、手机号、邮件地址等。

数据类型信息可以包括连续型数据和离散型数据。如果业务数据列的数据的值域不可能列举出来,是数轴上的一段连续的区间,则该业务数据列的数据是连续数据。如果业务数据列的数据的值域可以列举出来,该业务数据列的数据的全部取值范围是一个离散的集合,则该业务数据列的数据是离散数据,例如,年份,年龄等。

信息相似度用于指示业务数据列之间的信息相似度。在本说明书中,采用jaccard相似度来衡量两个数据列之间的信息相似度。如果把两个数据列看成是两个集合,则可以计算这两个集合的交集的元素数和并集的元素数的比值。考虑到数据集通常比较大,也可以采用最小hash算法来估算jaccard相似度。

在本说明书的实施例中,针对业务数据表的数据探查可以是通过数据采样后进行统计分析来完成。

图3示出了根据本说明书的实施例的基于统计信息的数据类型确定方法的流程图。

如图3所示,在块310,判断业务数据列的数据是否是字符串类型数据。如果是字符串类型数据,则在块370,确定该业务数据列的数据是离散数据。

如果不是字符串类型数据,则在块320,对业务数据列的数据进行数据抽样。在块330,计算抽样数据的统计值。所述统计值可以包括:数据集行数count,值域集合的元素数目discount_count,最大值的行数max_val_count和最小值的行数min_val_count。数据集行数count是指该业务数据列包括多少行数据。值域集合的元素数目discount_count是指该业务数据列中的元素值的个数。例如,假设数据集行数包括100行,元素数目可能包括50个,其中,部分行的数据的元素值相同。最大值的行数max_val_count是指所具有的元素值为最大值的数据行的行数。最小值的行数min_val_count是指所具有的元素值为最小值的数据行的行数。

在块340,基于抽样数据的统计值,确定重复度指数r=(count-max_val_count-min_val_count)/(distinct_count-2)。该重复度指数r用于指示该业务数据列中的元素重复度。

在块350,判断重复度指数r是否大于n。这里,n是预先设置的参数,可以根据实际场景来进行调整。如果大于n,则确定为离散数据。如果不大于n,则确定为连续数据。

要说明的是,在图3中示出的示例中,需要在块320中对业务数据列中的数据进行数据抽样。通过进行数据抽样,可以减少数据类型判断过程中的数据处理量,从而提高数据类型判断效率,这尤其适用于海量业务数据库的数据处理。在本说明书的其他示例中,也可以不需要块320的操作,比如业务数据列的数据量小,或者数据类型判断过程的执行主体的算力或计算资源足够强大。

回到图1,在如上对业务数据池中的业务数据表进行数据探查后,在块120,从业务数据池中找出与业务样本实例集之间具有关联性的第一业务数据集。

图4示出了根据本说明书的实施例的用于从业务数据池中确定出与业务样本实例集之间具有关联性的第一业务数据表的方法的一个示例的流程图。

如图4所示,在块410,计算业务数据池中的各个业务数据表与业务样本实例集之间的笛卡尔积。业务数据表与业务样本实例集之间的笛卡尔积的计算过程可以采用本领域中任何适用的计算方法来实现,在此不进行详细描述。

在块420,将业务样本实例集的数据数目和各个业务数据表的笛卡尔积的数据数目之间的比值,确定为各个业务数据表与所述业务样本实例集之间的关联度。例如,假设业务样本实例集的数据数目为m,各个业务数据表的笛卡尔积的数据数目分别为q1,q2,……,qn,则将m/q1,m/q2,……,m/qn确定为各个业务数据表的关联度。

在块430,将所具有的关联度大于第一阈值的业务数据表,确定为第一业务数据表。这里,第一阈值可以是预先确定的,例如,根据经验确定出的经验值。

图5示出了根据本说明书的实施例的用于从业务数据池中确定出与业务样本实例集之间具有关联性的第一业务数据表的方法的另一示例的流程图。

如图5所示,在块510,使用业务样本实例集来生成布隆过滤器。

在块520,使用布隆过滤器来对业务数据池中的各个业务数据表进行数据过滤。

在块530,基于各个业务数据表的数据过滤结果,确定业务数据池中的各个业务数据表与业务样本实例集之间的关联度。

在块540,判断所确定出的关联度是否大于第一阈值。

如果所具有的关联度大于第一阈值,则在块550,将该业务数据表确定为第一业务数据表。如果所具有的关联度不大于第一阈值,则在块560,将该业务数据表确定为不是第一业务数据表。

在本说明书的一个示例中,基于各个业务数据表的数据过滤结果,确定业务数据池中的各个业务数据表与所述业务样本实例集之间的关联度可以包括:针对各个业务数据表,将布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该业务数据表与业务样本实例集之间的关联度。具体地,针对各个业务数据表,计算布隆过滤器过滤后的该业务数据表中的数据数目与布隆过滤器过滤前的该业务数据表中的数据数目之间的比值,并且将该比值作为该业务数据表与业务样本实例集之间的关联度。

在本说明书的另一示例中,在使用布隆过滤器来对业务数据池中的各个业务数据表进行数据过滤之前,所述方法还可以包括:分别对各个业务数据表进行数据采样。相应地,使用布隆过滤器来对各个业务数据表的数据采样进行数据过滤。

此外,在本说明书的另一示例中,可以分别对各个业务数据表执行预定数目次数据采样。相应地,可以采用图6中示出的关联度确定方法来确定业务数据表与业务样本实例集之间的关联度。

图6示出了根据本说明书的实施例的基于布隆过滤器实现的业务数据表与业务样本实例集之间的关联度的确定过程的一个示例的流程图。

如图6所示,循环执行块610到块640的操作,直到对业务数据表完成预定数目次数据采样,比如k次。具体地,在每次循环中,在块610,对各个业务数据表进行数据采样。在块620,使用布隆过滤器来对各个业务数据表进行过滤。接着,在块630,将每次数据采样的布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该次数据采样所对应的业务数据表与所述业务样本实例集之间的关联概率。

如果已经完成k次数据采样,即,块640的判断结果为肯定结果,则在块650,针对各个业务数据表,确定所得到的关联概率在给定置信范围下的置信区间。

例如,假设第i次采样数据的关联概率为pi,以及k次采样后得到k个值p1,p2,p3,…,pk。计算该组关联概率的均值x和标准差s。假定这组数据服从t分布,计算置信范围是0.9时的t分数,记为t,其中,自由度df=k–1。随后,计算出置信区间是

在块660,针对各个业务数据表,将所计算出的置信区间的下限确定为该业务数据表与业务样本实例集之间的关联度,例如,如上所述的

回到图1,在如上确定出与业务样本实例集之间具有关联性的第一业务数据表后,在块130,基于第一业务数据表来进行特征探索,以得到模型特征集。

特征探索过程是一个不同迭代的过程。特征探索过程可以从第一业务数据表中抽取出特征,并且使用不同的衍生规则来基于所抽取出的特征得到各种衍生特征,并且对所得到的抽取特征和衍生特征进行特征评估,由此得到模型特征集。

图7示出了根据本说明书的实施例的用于基于业务数据表来进行特征探索的方法的一个示例的流程图。

如图7所示,迭代执行块710到760的操作,直到满足迭代结束条件。在本说明书的实施例中,迭代结束条件可以包括:达到预定迭代次数;或者符合期望特征指标要求的特征数目达到预期数目。这里,符合期望特征指标要求例如可以是特征评估得分大于预定阈值。

具体地,在每次迭代过程中,在块710,基于特征权重来从在前特征集中随机选择当前迭代过程的种子特征。这里,在前特征集包括原始特征和所有在前迭代过程中产生的衍生特征。例如,对于第二轮迭代,在前迭代过程包括第一轮迭代过程。对于第三轮迭代,在前迭代过程包括第一到第二轮迭代过程,依次类推。原始特征是在第一次迭代过程中基于第一业务数据表确定的。例如,可以从第一业务数据表中提取出每个业务数据列的列名信息(或者维度信息)作为原始特征。在第一次迭代过程中,基于特征权重来从原始特征中选择种子特征。自第二轮迭代过程起,基于特征权重来从在前特征集中随机选择当前迭代过程的种子特征。在本说明书的一个示例中,原始特征的初始特征权重可以设置为预定权重值w,例如,w=0。在后续迭代过程中,可以使用每轮迭代过程中得到的权重调整特征的权重调整值来进行特征权重调整。具体的特征权重调整过程将在后面详细描述。

在块720,使用特征衍生规则来对种子特征进行特征衍生,以得到衍生特征。在本说明书的实施例中,可以采用下述衍生规则中的至少一种来进行特征衍生:特征变换、特征组合和特征演变。

特征变换可以包括特征聚合和特征离散化。特征聚合例如可以是对指定一段时间内的数据进行聚合计算,例如:某个人最近2小时以内的消费金额。特征离散化例如可以是基于一定的映射规则,将连续数据映射到某个离散集合。

特征组合可以包括特征数值运算和特征交叉。特征数值运算是对多个特征执行数学上的运算,例如:特征c=特征a+特征b。特征交叉是对多个离散特征做交叉组合后的产生的新特征,例如:特征a是性别,值域集合是(男,女)。特征b是年龄段,分为(婴幼儿,少年,青年,中年,老年),则交叉后的特征ab包括(男婴幼儿,男少年,男青年,男中年,男老年,女婴幼儿,女少年,女青年,女中年,女老年)。

特征演化是指基于已有的衍生特征,对衍生规则中的某个参数做一定范围内的变动,例如,特征a是某个人最近2小时以内的消费金额,经过演化后,变成特征b:某个人最近6小时以内的消费金额,那么特征b就是特征a演化生成的新特征。

在对特征进行多轮特征衍生后,可以得到特征的血缘关系图。血缘关系图示出了衍生特征是基于哪些上游节点特征衍生而来。图8示出了根据本说明书的实施例的血缘关系树的示例示意图。

如图8所示,特征a衍生出特征b、特征c和特征d,由此特征a是特征b、特征c和特征d的上游节点。特征b衍生出特征e和特征f,特征c衍生出特征g和特征h,则特征b是特征e和特征f的上游节点,以及特征c是特征g和特征h的上游节点。特征d和特征h衍生出特征i,则特征d和特征h是特征i的上游节点。

此外,从图8中还可以看出,特征i的上游节点包括特征a、特征c、特征d和特征h。特征e和f的上游节点为特征a和特征b。特征g和特征h的上游节点为特征a和特征c。

回到图7,种子特征710和衍生特征720组成候选特征集730,在块740,对候选特征集740中的各个候选特征执行特征评估,得到各个候选特征的特征排序结果。在本说明书的实施例中,可以采用各种合适的特征评估方法来进行特征评估。

图9示出了根据本说明书的实施例的特征评估过程的一个示例流程图。

如图9所示,在块910,使用多种不同的特征评价方式分别对候选特征集中的候选特征进行打分。在块920,基于在每种评价方式下各个候选特征的得分,确定各个候选特征在该评价方式下的特征排名ranking值(即,排名值)。在块930,将同一特征在不同评价方式的ranking值相加,最终得到各个候选特征的最终ranking值。例如,假设对于特征a,在第一评价方式下的排名为第1,在第二种评价方式下的排名为第2,以及在第三种评价方式下的排名为第6,则特征a的最终ranking值为1+2+6=9,由此完成特征评估。在另一示例中,也可以将各个特征在各个评价方式下ranking值的平均值或者加权平均值,作为该特征的最终ranking值。在本说明书的实施例中,ranking值越小,表明该候选特征越重要。在本说明书的实施例中,可以使用ensembledranking算法来实现特征评估过程。

此外,针对各个候选特征,还可以对该候选特征在各个评价方式下的得分进行整合,由此得到该候选特征的评估得分。例如,针对候选特征a,在第一种评价方式下的评估得分为s1,在第二种评价方式下的评估得分为s2,以及在第三种评价方式下的评估得分为s3,则可以使用评估得分s1、s2和s3的平均值来确定出特征a的最终评估得分。或者,可以对评估得分s1、s2和s3进行加权平均来确定出特征a的最终评估得分。或者,可以采用任何合适的整合方式来进行得分整合。对于一个特征,如果所得到的最终评估得分大于预定阈值,则认为该特征达到期望特征指标要求。

在块750,判断是否满足迭代结束条件。例如,判断是否达到预定迭代次数,或者,经过特征评估后,符合期望特征指标要求的特征数目达到预期数目。

如果满足迭代结束条件,则在块770,根据特征排序结果来从当前迭代过程中的候选特征集(种子特征和衍生特征)中确定模型特征集。例如,可以基于ranking值来从当前迭代过程中的候选特征集中选择出topm个候选特征,m可以是模型构建方根据业务模型的实际情况设定的值。

如果不满足迭代结束条件,则在块760,根据特征排序结果来调整在前特征集和当前衍生特征中的对应特征的特征权重。然后返回到块710,基于调整后的特征权重来随机选择下一迭代过程中的种子特征,并执行下一迭代过程。

图10示出了根据本说明书的实施例的特征权重调整过程的一个示例流程图。

如图10所示,在块1010,基于ranking值,从当前迭代过程的特征集中选择出排序在前的预定数目个特征,作为权重调整特征。例如,可以基于ranking值,从当前迭代过程的特征集中选择出topk个候选特征,作为权重调整特征。

在块1020,基于各个权重调整特征的排名值,确定各个权重调整特征的权重调整值。例如,可以将各个权重调整特征的排名值的倒数,确定为该权重调整特征的权重调整值。例如,假设权重调整特征的排名值为s,则将1/s确定为该权重调整特征的权重调整值。

在块1030,根据各个权重调整特征的权重调整值和血缘关系树中的各个上游节点特征的权重更新次数,调整该权重调整特征以及所有上游节点特征的特征权重。例如,假设权重调整特征f的ranking是s,则权重调整特征f的权重调整值为δw=1/s。在一个示例中,可以将特征f的权重调整值1/s加到其上游节点的特征权重中。然后,根据各个特征的权重更新次数来对各个特征进行权重衰减。例如,在一个示例中,权重调整特征f及其所有上游节点特征的特征权重按照公式wnew=wold/(nold+1)+1/s进行调整,其中,wnew是该特征的调整后的特征权重,wold是该特征的调整前的特征权重,即,上轮迭代过程所具有的特征权重,nold是当前权重更新次数。这里,对于权重调整特征f自身,如果是在本次迭代过程中新近衍生出的衍生特征,则wold=0。如果不是本轮迭代过程中新近衍生出的衍生特征,则wold是特征f在上轮迭代过程所具有的特征权重。

回到图1,在如上得到模型特征集后,在块140,根据模型特征集,使用自动机器学习方法来构建目标业务模型。例如,如图11所示,将模型特征集和业务数据提供给自动机器学习模型(automl)来自动生成业务模型。automl定义搜索空间,该搜索空间包括模型参数范围。automl通过一些搜索优化算法,对模型和模型参数等进行搜索,在经过模型自动参数优化后,产出最终的业务模型。模型特征集和业务模型在经过评估后,作为系统的最终输出。这里,业务数据可以第一业务数据表中的业务数据,也可以是automl本地的业务数据,或者来自其他数据持有方的业务数据。

如上参照图1到图11,对根据本说明书的实施例的用于基于业务数据库来构建业务模型的方法进行了描述。

利用图1中示出的业务模型构建方法,通过从海量业务数据库中搜索出与业务模型的业务样本实例集之间具有关联性的业务数据表,基于所搜索出的业务数据表提取出业务特征,并基于所提取出的业务特征来进行特征探索,可以基于海量业务数据库来得到最适合于业务模型的模型特征集,进而基于该模型特征集和对应的业务数据表中的业务数据,使用自动机器学习算法来自动构建业务模型,从而可以提升所得到的业务模型的模型效果,同时降低人力成本。

此外,利用图5中示出的基于布隆过滤器的关联性确定方法,可以降低关联性确定过程中的计算量,由此减少计算时间。

此外,利用图6中示出的关联度确定方法,通过针对业务数据表执行数据采样,可以减少关联度确定过程中的数据处理量。此外,通过针对业务数据表执行多次数据采样,并且基于多次数据采样结果来得到对应的关联概率,由此计算出置信区间作为业务数据表和业务样本实例之间的关联度,从而可以提升关联度的准确率。

此外,利用图7中示出的特征探索方法,通过在每轮迭代过程后,根据特征排序结果来调整在前特征集和当前衍生特征中的对应特征的特征权重,由此对下轮迭代过程中的种子特征选择产生影响,从而使得在下轮迭代过程中有机会去探索一些新的特征,而不是最终的结果都收敛在某几棵血缘关系树上。

此外,还可以对图1中示出的实施例进行修改。例如,在一个修改实施例中,在业务数据库中的各个业务数据表的业务数据列的元信息完备的情况下,可以不需要块110的操作。此外,在一个修改实施例中,还可以包括:在从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表之前,基于各个业务数据列的信息相似度,对各个业务数据表进行数据精简处理。利用该方法,可以进一步减少关联性确定过程中的数据处理量。

图12示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的装置(下文中称为模型构建装置)1200的方框图。如图12所示,模型构建装置1200可以包括数据探查单元1210、关联数据表确定单元1220、特征探索单元1230和模型构建单元1240。

数据探查单元1210被配置为在从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表之前,对业务数据池中的各个业务数据表进行数据探查,以得到各个业务数据表中的各个业务数据列的元信息。数据探查单元1210的操作可以参考上面参照图1描述的块110的操作。

关联数据表确定单元1220被配置为从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表。关联数据表确定单元1220的操作可以参考上面参照图1描述的块120的操作。

图13示出了根据本说明书的实施例的关联数据表确定单元1300的一个示例的方框图。如图13所示,关联数据表确定单元1300包括笛卡尔积计算模块1310、关联度确定模块1320和关联数据表确定模块1330。

笛卡尔积计算模块1310被配置为计算业务数据池中的各个业务数据表与业务样本实例集之间的笛卡尔积。笛卡尔积计算模块1310的操作可以参考上面参照图4描述的块410的操作。

关联度确定模块1320被配置为将所述业务样本实例集的数据数目和各个业务数据表的笛卡尔积的数据数目之间的比值,确定为各个业务数据表与所述业务样本实例集之间的关联度。关联度确定模块1320的操作可以参考上面参照图4描述的块420的操作。

关联数据表确定模块1330被配置为将所具有的关联度大于第一阈值的业务数据表,确定为第一业务数据表。关联数据表确定模块1320的操作可以参考上面参照图4描述的块430的操作。

图14示出了根据本说明书的实施例的关联数据表确定单元1400的另一示例的方框图。如图14所示,关联数据表确定单元1400包括过滤器生成模块1410、数据过滤模块1420、关联度确定模块1430和关联数据表确定模块1440。

过滤器生成模块1410被配置为使用业务样本实例集来生成布隆过滤器。过滤器生成模块1410的操作可以参考上面参照图5描述的块510的操作。

数据过滤模块1420被配置为使用布隆过滤器来对业务数据池中的各个业务数据表进行数据过滤。数据过滤模块1420的操作可以参考上面参照图5描述的块520的操作。

关联度确定模块1430被配置为基于各个业务数据表的数据过滤结果,确定业务数据池中的各个业务数据表与业务样本实例集之间的关联度。关联度确定模块1430的操作可以参考上面参照图5描述的块530的操作。

关联数据表确定模块1440被配置为将所具有的关联度大于第一阈值的业务数据表,确定为第一业务数据表。关联数据表确定模块1440的操作可以参考上面参照图5描述的块550的操作。

可选地,在一个示例中,针对各个业务数据表,关联度确定模块1430将布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该业务数据表与业务样本实例集之间的关联度。

可选地,在另一示例中,关联数据表确定单元1400还可以包括数据采样模块(未示出)。数据采样模块被配置为在使用布隆过滤器来对业务数据池中的各个业务数据表进行数据过滤之前,分别对各个业务数据表进行数据采样。相应地,数据过滤模块1420使用布隆过滤器来对各个业务数据表的数据采样进行数据过滤。

可选地,在一个示例中,所述数据采样模块可以分别对各个业务数据表执行预定数目次数据采样,例如k次。相应地,针对各个业务数据表,关联度确定模块1430可以将每次数据采样的布隆过滤器过滤后与布隆过滤器过滤前的数据数目比值,确定为该次数据采样所对应的业务数据表与所述业务样本实例集之间的关联概率;确定所得到的关联概率在给定置信范围下的置信区间;以及将置信区间的下限确定为该业务数据表与业务样本实例集之间的关联度。

回到图12,在如上得到第一业务数据表后,特征探索单元1230基于第一业务数据表来进行特征探索,以得到模型特征集。特征探索单元1230的操作可以参考上面参照图1描述的块130的操作。

图15示出了根据本说明书的实施例的特征探索单元1500的一个示例的方框图。在图15中示出的示例中,各个特征具有特征权重。

如图15所示,特征探索单元1500包括特征选择模块1510、特征衍生模块1520、特征评估模块1530、特征权重调整模块1540和模型特征集确定模块1550。特征选择模块1510、特征衍生模块1520、特征评估模块1530和特征权重调整模块1540迭代执行操作,直到满足迭代结束条件。

具体地,在每轮迭代过程中,特征选择模块1510基于特征权重来从在前特征集中随机选择当前迭代过程的种子特征,所述在前特征集包括原始特征和所有在前迭代过程中产生的衍生特征,原始特征基于第一业务数据表确定。特征选择模块1510的操作可以参考上面参照图7描述的块710的操作。

特征衍生模块1520被配置为使用特征衍生规则来对种子特征进行特征衍生,以得到衍生特征。特征衍生模块1520的操作可以参考上面参照图7描述的块720的操作。

特征评估模块1530被配置为对种子特征和衍生特征进行特征评估,得到各个特征的特征排序结果。特征评估模块1530的操作可以参考上面参照图7描述的块740的操作。

特征权重调整模块1540被配置为在不满足迭代结束条件时,根据特征排序结果来调整在前特征集和当前衍生特征中的对应特征的特征权重。特征权重调整模块1540的操作可以参考上面参照图7描述的块760的操作。

可选地,在一个示例中,所述特征排序结果包括排名值,所述在前特征集中的各个特征基于特征衍生的血缘关系组成血缘关系树。相应地,特征权重调整模块1540可以基于排名值,从当前迭代过程的特征集中选择出排序在前预定数目个特征,作为权重调整特征;基于各个权重调整特征的排名值,确定各个权重调整特征的权重调整值;以及根据各个权重调整特征的权重调整值和血缘关系树中的各个上游节点特征的权重更新次数,调整该权重调整特征以及所有上游节点特征的特征权重。

模型特征集确定模块1550被配置为在满足迭代结束条件时,根据特征排序结果来从种子特征和当前衍生特征中确定出模型特征集。模型特征集确定模块1550的操作可以参考上面参照图7描述的块770的操作。

回到图12,在如上得到模型特征集后,模型构建单元1240根据模型特征集,使用自动机器学习方法来构建目标业务模型。模块构建单元1240的操作可以参考上面参照图1描述的块140的操作。

此外,可选地,在一个示例中,元信息可以包括下述信息中的至少一个:统计信息、社会属性信息、数据类型信息以及信息相似度。模型构建装置1200还可以包括数据精简单元(未示出)。数据精简单元被配置为基于各个业务数据列的信息相似度,对各个业务数据表进行数据精简处理。

在本说明书的另一示例中,模型构建装置1200也可以不包括数据探查单元110。

如上参照图1到图15,对根据本说明书实施例的模型构建方法和模型构建装置进行了描述。上面的模型构建装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。

图16示出了根据本说明书的实施例的用于基于业务数据库构建业务模型的电子设备的示意图。如图16所示,电子设备1600可以包括至少一个处理器1610、存储器(例如,非易失性存储器)1620、内存1630和通信接口1640,并且至少一个处理器1610、存储器1620、内存1630和通信接口1640经由总线1660连接在一起。至少一个处理器1610执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1610:从业务数据池的业务数据表中确定出与业务样本实例集之间具有关联性的第一业务数据表;基于第一业务数据表来进行特征探索,以得到模型特征集;以及根据模型特征集,使用自动机器学习方法来构建目标业务模型。

应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1610进行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。

根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-15描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。

可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。

本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

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