用于抽取特征的数据处理方法和系统与流程

文档序号:19418546发布日期:2019-12-14 01:11阅读:401来源:国知局
用于抽取特征的数据处理方法和系统与流程
本发明总体说来涉及数据处理领域,更具体地说,涉及一种用于抽取特征的数据处理方法、系统及存储介质。
背景技术
:在数据处理领域,通常需要对数据进行特征抽取,以从数据中抽取出能够表征特定含义的特征。例如,对于由多个字段构成的数据记录,通常需要对特定字段或特定字段组合执行特定的计算操作,以得到符合需求的特征。然而现有方案仅支持以一一对应的方式生成特征计算结果,即对于每一个待计算的特征,均需提供一组特征计算要素定义。在需要计算多个特征时,无法复用重复的特征计算要素定义,而是需要提供多组特征计算要素定义。例如,假设要计算特征集合“过去一年用户月收入的最小值、最大值、平均值、中位数、标准差”、“过去一年商户月收入的最小值、最大值、平均值、中位数、标准差”,针对每个特征,需要重复对聚合函数这一特征计算要素定义赋值,即使聚合函数如“最小值”重复用于“过去一年用户月收入的最小值”和“过去一年商户月收入的最小值”。可见,在需要生成大量特征且这些特征共享特征计算要素时,现有方案要求大量机械、重复工作,存在容易发生人为错误、不方便增删改的问题。因此,需要一种能够提高效率的数据处理方案。技术实现要素:本发明的示例性实施例旨在克服现有的特征抽取方式存在的效率低下问题。根据本发明的第一个方面,提出了一种用于抽取特征的数据处理系统,包括:基础层,包括一个或多个数据处理函数;计算层,包括一个或多个特征计算模块,特征计算模块获取数据和特征计算要素定义信息,特征计算要素定义信息包括至少一个类别的特征计算要素,每个类别的特征计算要素用于指示特征抽取处理的一种要素,特征计算模块从每个类别的特征计算要素中选取一个特征计算要素,以得到由取自不同类别的特征计算要素构成的特征抽取处理策略,特征计算模块基于特征抽取处理策略,从数据中提取出被执行特征抽取处理的数据对象,并确定对数据对象执行特征抽取处理的数据处理函数。可选地,特征计算模块以笛卡尔积的方式从每个类别的特征计算要素中选取一个特征计算要素,以得到一个或多个特征抽取处理策略。可选地,特征计算要素定义信息包括多个特征计算要素集合,每个特征计算要素集合包括至少一组特征计算要素,不同组中的特征计算要素对应不同的类别,针对每个特征计算要素集合,特征计算模块以笛卡尔积的方式从每组特征计算要素中选取一个特征计算要素,以得到多个特征抽取处理策略。可选地,特征计算模块还接收用户提供的数据处理函数,并将该数据处理函数添加到基础层。可选地,计算层分为实现层和应用层,实现层包括一个或多个第一类型特征计算模块,第一类型特征计算模块用于抽取与通用业务场景相对应的特征,第一类型特征计算模块仅基于从外部获取的特征计算要素定义信息,得到特征抽取处理策略,应用层包括一个或多个第二类型特征计算模块,第二类型特征计算模块用于抽取与特定业务场景相对应的特征,第二类型特征计算模块定义了构成特征抽取处理策略的至少部分特征计算要素,至少部分特征计算要素用于指示与特定业务场景相对应的特征抽取处理的一种或多种要素。可选地,实现层中的第一类型特征计算模块能够调用基础层中的数据处理函数,并且/或者第一类型特征计算模块能够调用同层中的其他第一类型特征计算模块,应用层中的第二类型特征计算模块能够调用基础层中的数据处理函数,并且/或者第二类型特征计算模块能够调用同层中的其他第二类型特征计算模块,并且/或者第二类型特征计算模块能够调用实现层中的第一类型特征计算模块。可选地,基础层还包括:检查函数,用于检查特征计算要素定义信息是否符合规范;和/或标准化函数,用于将特征计算要素定义信息转换为符合预定形式的数据结构;和/或常数库,用于提供一个或多个常数。可选地,数据包括多条数据记录,每条数据记录包括一个或多个字段,至少一个类别的特征计算要素包括:第一类特征计算要素,包括一个或多个目标字段或目标字段组合,目标字段或目标字段组合用于指示被执行特征抽取处理的字段值所对应的字段名;和/或第二类特征计算要素,包括一个或多个窗口或窗口组合,窗口或窗口组合用于指示被执行特征抽取处理的字段值所对应的范围;和/或第三类特征计算要素,包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对数据进行分组所依据的字段名;和/或第四类特征计算要素,包括一个或多个算法名称,算法名称用于指示被执行特征抽取处理的字段值的数据处理逻辑;和/或第五类特征计算要素,包括一个或多个排序字段,排序字段用于指示数据排序所依据的字段名。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合以及算法名称,特征计算模块根据分组字段或分组字段组合,对数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组,特征计算模块从每组数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象,特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称,特征计算模块根据排序字段所指示的字段名,对数据进行排序,针对每条数据记录,特征计算模块根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第一数据,特征计算模块从第一数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第二数据,特征计算模块从第二数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象,特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称,特征计算模块根据排序字段所指示的字段名,对数据进行排序,针对每条数据记录,特征计算模块从数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第三数据,特征计算模块根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,从第三数据中提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第四数据,特征计算模块从第四数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象,特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,利用分布式系统中的一个或多个计算节点调用基础层中相应的数据处理函数,对数据对象进行处理,以得到一个或多个特征。可选地,计算层包括时序特征计算模块和汇总特征计算模块,时序特征计算模块获取时序数据和第一特征计算要素定义信息,时序数据包括多条按时间顺序记录的数据记录,每条数据记录包括一个或多个字段,第一特征计算要素定义信息包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对时序数据进行分组所依据的字段名,时序特征计算模块调用汇总特征计算模块,由汇总特征计算模块统计时序数据中与字段名对应的各字段值的频数,该系统还包括:优化计算模块,用于将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据,以便将时序特征计算模块从预定数量个子时序数据中提取的数据对象分配给多个计算节点。可选地,时序特征计算模块将时序数据以及由分组字段或分组字段组合和用于表征频数计算的算法名称构成的第二特征计算要素定义信息,发送给汇总特征计算模块。可选地,响应于接收到时序数据和第二特征计算要素定义信息,汇总特征计算模块得到一个或多个由算法名称和不同分组字段或分组字段组合构成的特征抽取处理策略,基于该特征抽取处理策略中的分组字段或分组字段组合,汇总特征计算模块对时序数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组,不同组中的数据被分配给分布式系统中的一个或多个计算节点,计算节点调用与算法名称对应的数据处理函数,对分配给其的数据进行处理,以得到时序数据中与分组字段或分组字段组合所指示的字段名对应的各字段值的频数。可选地,优化计算模块遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。可选地,优化计算模块还将缺失的数据记录标记为冗余数据。可选地,时序特征计算模块忽略冗余数据的处理,或者时序特征计算模块处理冗余数据,并在得到子时序数据的处理结果后,剔除冗余数据的处理结果。可选地,特征抽取处理策略包括分组字段或分组字段组合,在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数大于或等于第一预定阈值的情况下,时序特征计算模块从该字段值对应的子时序数据中提取被执行特征抽取处理的数据对象,并且/或者在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数小于第一预定阈值的情况下,时序特征计算模块从时序数据中对应该字段值的数据记录中提取被执行特征抽取处理的数据对象。可选地,时序特征计算模块从预定数量个子时序数据中提取的数据对象被分配给多个计算节点,计算节点通过调用基础层中相应的数据处理函数,对分配给其的数据对象进行处理,以得到一个或多个时序特征。可选地,时序特征计算模块从频数小于第一预定阈值的字段值所对应的数据记录中提取的数据对象被分配给单个计算节点,计算节点通过调用基础层中相应的数据处理函数,对分配给其的数据对象进行处理,以得到一个或多个时序特征。可选地,优化计算模块还用于将对应各子时序数据的数据对象的处理结果以及对应各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的数据对象的处理结果进行合并,以得到时序数据的特征抽取结果。可选地,优化计算模块用于将时序数据的特征抽取结果作为新的字段,添加到时序数据中。可选地,优化计算模块模块还用于获取用户提供的优化计算策略,在优化计算策略为第一方案的情况下,优化计算模块将频数大于或等于第一预定阈值的字段值所对应的数据记录的特征处理结果设置为预定值,在优化计算策略为第二方案的情况下,优化计算模块将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据。可选地,优化计算模块将各个频数大于或等于第一预定阈值且小于第二预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据,优化计算模块还将各个频数大于或等于第二预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,其中,第二预定阈值大于第一预定阈值。可选地,第一预定阈值的大小与计算资源正相关,并且/或者预定数量的多少与计算资源正相关。根据本发明的第二个方面,还提出了一种用于抽取特征的数据处理方法,包括:设置基础层和计算层,基础层包括一个或多个数据处理函数,计算层包括一个或多个特征计算模块;向用户提供一个或多个特征计算模块;被用户选中的特征计算模块获取用户提供的数据和特征计算要素定义信息,特征计算要素定义信息包括至少一个类别的特征计算要素,每个类别的特征计算要素用于指示特征抽取处理的一种要素;被用户选中的特征计算模块从每个类别的特征计算要素中选取一个特征计算要素,以得到由取自不同类别的特征计算要素构成的特征抽取处理策略,特征计算模块基于特征抽取处理策略,从数据中提取出被执行特征抽取处理的数据对象,并确定对数据对象执行特征抽取处理的数据处理函数。可选地,特征计算模块以笛卡尔积的方式从每个类别的特征计算要素中选取一个特征计算要素,以得到一个或多个特征抽取处理策略。可选地,特征计算要素定义信息包括多个特征计算要素集合,每个特征计算要素集合包括至少一组特征计算要素,不同组中的特征计算要素对应不同的类别,针对每个特征计算要素集合,特征计算模块以笛卡尔积的方式从每组特征计算要素中选取一个特征计算要素,以得到多个特征抽取处理策略。可选地,该方法还包括:被用户选中的特征计算模块获取用户提供的数据处理函数,并将该数据处理函数添加到基础层。可选地,计算层分为实现层和应用层,实现层包括一个或多个第一类型特征计算模块,第一类型特征计算模块用于抽取与通用业务场景相对应的特征,第一类型特征计算模块仅基于从外部获取的特征计算要素定义信息,得到特征抽取处理策略,应用层包括一个或多个第二类型特征计算模块,第二类型特征计算模块用于抽取与特定业务场景相对应的特征,第二类型特征计算模块定义了构成特征抽取处理策略的至少部分特征计算要素,至少部分特征计算要素用于指示与特定业务场景相对应的特征抽取处理的一种或多种要素。可选地,实现层中的第一类型特征计算模块能够调用基础层中的数据处理函数,并且/或者第一类型特征计算模块能够调用同层中的其他第一类型特征计算模块,应用层中的第二类型特征计算模块能够调用基础层中的数据处理函数,并且/或者第二类型特征计算模块能够调用同层中的其他第二类型特征计算模块,并且/或者第二类型特征计算模块能够调用实现层中的第一类型特征计算模块。可选地,基础层还包括:检查函数,用于检查特征计算要素定义信息是否符合规范;和/或标准化函数,用于将特征计算要素定义信息转换为符合预定形式的数据结构;和/或常数库,用于提供一个或多个常数。可选地,数据包括多条数据记录,每条数据记录包括一个或多个字段,至少一个类别的特征计算要素包括:第一类特征计算要素,包括一个或多个目标字段或目标字段组合,目标字段或目标字段组合用于指示被执行特征抽取处理的字段值所对应的字段名;和/或第二类特征计算要素,包括一个或多个窗口或窗口组合,窗口或窗口组合用于指示被执行特征抽取处理的字段值所对应的范围;和/或第三类特征计算要素,包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对数据进行分组所依据的字段名;和/或第四类特征计算要素,包括一个或多个算法名称,算法名称用于指示被执行特征抽取处理的字段值的数据处理逻辑;和/或第五类特征计算要素,包括一个或多个排序字段,排序字段用于指示数据排序所依据的字段名。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合以及算法名称,特征计算模块基于特征抽取处理策略从数据中提取出被执行特征抽取处理的数据对象并确定对数据对象执行特征抽取处理的数据处理函数的步骤包括:特征计算模块根据分组字段或分组字段组合,对数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组;特征计算模块从每组数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象;特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称,特征计算模块基于特征抽取处理策略从数据中提取出被执行特征抽取处理的数据对象并确定对数据对象执行特征抽取处理的数据处理函数的步骤包括:特征计算模块根据排序字段所指示的字段名,对数据进行排序;针对每条数据记录,特征计算模块根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第一数据;特征计算模块从第一数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第二数据;特征计算模块从第二数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象;特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称,特征计算模块基于特征抽取处理策略从数据中提取出被执行特征抽取处理的数据对象并确定对数据对象执行特征抽取处理的数据处理函数的步骤包括:特征计算模块根据排序字段所指示的字段名,对数据进行排序;针对每条数据记录,特征计算模块从数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第三数据;特征计算模块根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,从第三数据中提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第四数据;特征计算模块从第四数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象;特征计算模块通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。可选地,该方法还包括:利用分布式系统中的一个或多个计算节点调用基础层中相应的数据处理函数,对数据对象进行处理,以得到一个或多个特征。可选地,计算层包括时序特征计算模块和汇总特征计算模块,时序特征计算模块获取时序数据和第一特征计算要素定义信息,时序数据包括多条按时间顺序记录的数据记录,每条数据记录包括一个或多个字段,第一特征计算要素定义信息包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对时序数据进行分组所依据的字段名,时序特征计算模块调用汇总特征计算模块,由汇总特征计算模块统计时序数据中与字段名对应的各字段值的频数,该方法还包括:将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据,,以便将时序特征计算模块从预定数量个子时序数据中提取的数据对象分配给多个计算节点。可选地,时序特征计算模块将时序数据以及由分组字段或分组字段组合和用于表征频数计算的算法名称构成的第二特征计算要素定义信息,发送给汇总特征计算模块。可选地,响应于接收到时序数据和第二特征计算要素定义信息,汇总特征计算模块得到一个或多个由算法名称和不同分组字段或分组字段组合构成的特征抽取处理策略,基于该特征抽取处理策略中的分组字段或分组字段组合,汇总特征计算模块对时序数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组,不同组中的数据被分配给分布式系统中的一个或多个计算节点,计算节点调用与算法名称对应的数据处理函数,对分配给其的数据进行处理,以得到时序数据中与分组字段或分组字段组合所指示的字段名对应的各字段值的频数。可选地,该数据处理方法还包括:遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。可选地,该数据处理方法还包括:将缺失的数据记录标记为冗余数据。可选地,时序特征计算模块忽略冗余数据的处理,或者时序特征计算模块处理冗余数据,并在得到子时序数据的处理结果后,剔除冗余数据的处理结果。可选地,特征抽取处理策略包括分组字段或分组字段组合,在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数大于或等于第一预定阈值的情况下,时序特征计算模块从该字段值对应的子时序数据中提取被执行特征抽取处理的数据对象,并且/或者在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数小于第一预定阈值的情况下,时序特征计算模块从时序数据中对应该字段值的数据记录中提取被执行特征抽取处理的数据对象。可选地,该数据处理方法还包括:将时序特征计算模块从预定数量个子时序数据中提取的数据对象被分配给多个计算节点,计算节点通过调用基础层中相应的数据处理函数,对分配给其的数据对象进行处理,以得到一个或多个时序特征。可选地,该数据处理方法还包括:将时序特征计算模块从频数小于第一预定阈值的字段值所对应的数据记录中提取的数据对象分配给单个计算节点,计算节点通过调用基础层中相应的数据处理函数,对分配给其的数据记录进行处理,以得到一个或多个时序特征。可选地,该数据处理方法还包括:将对应各子时序数据的数据对象的处理结果以及对应各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的数据对象的处理结果进行合并,以得到时序数据的特征抽取结果。可选地,该数据处理方法还包括:将时序数据的特征抽取结果作为新的字段,添加到时序数据中。可选地,该数据处理方法还包括:获取用户提供的优化计算策略,在优化计算策略为第一方案的情况下,将频数大于或等于第一预定阈值的字段值所对应的数据记录的特征处理结果设置为预定值,在优化计算策略为第二方案的情况下,将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据。可选地,将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据的步骤包括:将各个频数大于或等于第一预定阈值且小于第二预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据,该方法还包括:将各个频数大于或等于第二预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,其中,第二预定阈值大于第一预定阈值。可选地,第一预定阈值的大小与计算资源正相关,并且/或者预定数量的多少与计算资源正相关。根据本发明的第三个方面,还提出了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,指令在被至少一个计算装置运行时,促使至少一个计算装置执行如本发明第二个方面述及的方法。根据本发明的第四个方面,还提出了一种存储指令的计算机可读存储介质,其中,当指令被至少一个计算装置运行时,促使至少一个计算装置执行如本发明第二个方面述及的方法。根据本发明示例性实施例的用于抽取特征的数据处理方法、系统及存储介质,可以利用特征计算模块自动组合特征计算要素,生成相应的特征抽取处理策略,可以减少人工操作,并且可以降低用户编写特征计算要素定义信息的工作量,也即用户在编写特征计算要素定义信息时,无需输入重复的特征计算要素,从而可以提高特征计算效率。附图说明从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:图1示出了根据本发明示例性实施例的用于抽取特征的数据处理系统的结构框图;图2示出了根据本发明另一示例性实施例的用于抽取特征的数据处理系统的结构框图;图3示出了根据本发明另一示例性实施例的用于抽取特征的数据处理系统的结构框图;图4示出了根据本发明示例性实施例的用于抽取特征的数据处理方法的示意性流程图。具体实施方式为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。图1示出了根据本发明示例性实施例的用于抽取特征的数据处理系统的结构框图。本发明述及的抽取特征,是指对数据进行处理,以从数据中抽取出能够表征特定含义的特征。本发明可以应用于具体业务场景下的数据处理,得到与具体业务场景相关的特征。例如,本发明可以应用于风险监控领域的数据处理,如可以对账户交易数据进行处理,以得到能够反映账户风险程度的特征;另外本发明也可以应用于其他业务领域的数据处理,如还可以对购物平台中用户的购物记录进行处理,以得到能够反映用户的购物兴趣或消费水平的特征。参见图1,数据处理系统100包括基础层110和计算层120。基础层110包括一个或多个数据处理函数。每个数据处理函数对应一种数据处理逻辑,数据处理函数是指用于实现其对应的数据处理逻辑的函数,数据处理函数可以包括但不限于求和、求最大、求最小、求平均、求方差等聚合函数,将连续值转变为离散值的分桶函数。可选地,基础层110还可以包括其他类型的功能函数,如可以包括但不限于检查函数、标准化函数以及常数库中的一种或多种。检查函数用于检查特征计算要素定义信息是否符合规范;标准化函数用于将特征计算要素定义信息转换为符合预定形式的数据结构;常数库用于提供一个或多个常数。关于特征计算要素定义信息将在下文展开描述,此处暂不赘述。计算层120包括一个或多个特征计算模块。特征计算模块用于实现数据的特征计算。在本发明中,每个特征计算模块可以被配置为适于执行预定类型的特征的计算,不同特征计算模块可以被配置为适于执行不同类型的特征的计算,也即每个特征计算模块的执行逻辑可以是预先设定好的。计算层120中的特征计算模块可以调用基础层110,如可以调用基础层110中的数据处理函数,还可以调用基础层110中的检查函数、标准化函数等功能函数。另外,计算层120中不同特征计算模块之间也可以互相调用。计算层120中的特征计算模块可被用户或其他特征计算模块调用,被调用的特征计算模块可以获取调用方传入的数据和特征计算要素定义信息,基于特征计算要素定义信息,实现对数据的特征计算(也即特征抽取)。其中,此处述及的用户是指期望从数据中抽取特征的一方,可以是但不限于开发人员、业务人员。调用方传入的数据可以是在线产生的数据、预先生成并存储的数据、也可以是通过输入装置或传输媒介而从外部接收的数据。这些数据可涉及个人、企业或组织的属性信息,例如,身份、学历、职业、资产、联系方式、负债、收入、盈利、纳税等信息。或者,这些数据也可涉及业务相关项目的属性信息,例如,关于买卖合同的交易额、交易双方、标的物、交易地点等信息。应注意,本发明的示例性实施例中提到的属性信息内容可涉及任何对象或事务在某方面的表现或性质,而不限于对个人、物体、组织、单位、机构、项目、事件等进行限定或描述。特征计算模块可获取不同来源的结构化或非结构化数据,例如,文本数据或数值数据等。这些数据可来源于期望获取特征抽取结果的实体内部,例如,来源于期望获取特征抽取结果的银行、企业、学校等;这些数据也可来源于上述实体以外,例如,来源于数据提供商、互联网(例如,社交网站)、移动运营商、app运营商、快递公司、信用机构等。可选地,上述内部数据和外部数据可组合使用,以形成携带更多信息的数据。优选地,特征计算模块获取的数据可以是结构化的数据。例如,特征计算模块获取的数据可以包括多条数据记录,每条数据记录包括一个或多个字段。特征计算要素定义信息包括至少一个类别的特征计算要素,每个类别的特征计算要素用于指示特征抽取处理的一种要素。一般来说,特征抽取处理包括数据对象和针对数据对象的处理逻辑,因此,特征计算要素可以是用于指示被执行特征抽取处理的数据对象的要素,也可以是用于指示数据对象的处理逻辑的要素。以数据包括多条数据记录,每条数据记录包括一个或多个字段为例,特征计算要素定义信息可以包括但不限于如下提及的多种类别的特征计算要素中的一种或多种。为了便于区分,这多种类别的特征计算要素可以分别称为第一类特征计算要素、第二类特征计算要素、第三类特征计算要素、第四类特征计算要素以及第五类特征计算要素。第一类特征计算要素包括一个或多个目标字段或目标字段组合,目标字段或目标字段组合用于指示被执行特征抽取处理的字段值所对应的字段名,被执行特征抽取处理的字段值也即数据中被执行特征抽取处理的数据对象。第二类特征计算要素包括一个或多个窗口或窗口组合,窗口或窗口组合用于指示被执行特征抽取处理的字段值所对应的范围。窗口或窗口组合所指示的范围可以是基于秒、分、时、星期、月份等时间单位指示的时间范围,也可以是基于其他方式指示的范围。例如,窗口或窗口组合可以是“过去一周”、“过去三个月”等时间范围,也可以是“前n行数据记录到本行数据记录”这一维度范围,其中n为大于或等于1的整数。第三类特征计算要素包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对数据进行分组所依据的字段名。第四类特征计算要素包括一个或多个算法名称或算法名称组合,算法名称或算法名称组合用于指示被执行特征抽取处理的字段值的数据处理逻辑。第五类特征计算要素包括一个或多个排序字段,排序字段用于指示数据排序所依据的字段名,包括但不限于时间、身高等有顺序意义的数值型字段,也包括有顺序意义的非数值型字段(orderedcategorical),如某种衣服尺寸(01、02…)等。需要说明的是,给定窗口或窗口组合,需要根据所述排序字段才能筛选出所述窗口或窗口组合指示的数据,和/或根据所述排序字段赋予窗口的意义和上下文。例如,排序字段为年份,窗口为[-2,+2],则在计算每一行数据的特征结果时,会筛选出相对该行数据的年份值的过去两年到未来两年所对应的数据。排序字段赋予了窗口[-2,+2]的意义和上下文(即过去两年到未来两年),同时,通过排序字段才能筛选指定窗口范围内的数据。再例如,排序字段为身高(厘米),窗口为[-20,0],则在计算每一行数据的特征结果时,会筛选出小于等于该行数据的身高值但大于等于比该行数据身高值矮20厘米对应的数据,同样的,排序字段赋予窗口意义,同时用于筛选指定窗口范围内的数据。又例如,窗口或窗口组合自身可以包含意义,如[-10d,0]表示过去10天到现在,此时要求排序字段表征unix时间戳(https://baike.baidu.com/item/unix时间戳/2078227),且窗口无需排序字段赋予意义和context,但仍需要排序字段用于指示每行数据对应的时间,并用于筛选出窗口范围内的数据。数据处理系统100可以具有预定的接口规范,接口规范规定了特征计算要素定义信息需满足的形式与内容,调用方在调用特征计算模块时,可以上传符合接口规范的特征计算要素定义信息。例如,接口规范可以定义特征计算要素定义信息在形式上需要符合的数据结构,并且可以规定内容上需要符合的取值范围。调用特征计算模块的一方(如用户)在生成特征计算要素定义信息时,可以生成符合规范的特征计算要素定义信息,以便特征计算模块识别。举例来说,接口规范规定的特征计算要素定义信息的数据结构可以是一组或多组键-值对,其中键可以用于指示特征计算要素的类别,值可以是指键对应的类别下的一个或多个特征计算要素,可选地,接口规范还可以规定特征计算要素定义信息中的数据处理函数的名称需符合基础层110定义并实现的数据处理函数的名称。作为示例,特征计算模块还可以接收用户提供的数据处理函数,并将该数据处理函数添加到基础层110。也即用户可以通过调用特征计算模块添加自定义函数,以扩展基础层110。例如,用户可以根据基础层110中针对数据处理函数所规定的语法规范制定自定义函数,通过调用特征计算模块,将该自定义函数传入特征计算模块,进而将自定义函数注册到基础层110中。下面就特征计算模块实现特征计算的过程进行示例性说明。特征计算模块在获取到数据和特征计算要素定义信息后,可以从每个类别的特征计算要素中选取一个特征计算要素,以得到由取自不同类别的特征计算要素构成的特征抽取处理策略。特征计算模块生成特征抽取处理策略的过程,也即对特征计算要素定义信息中的特征计算要素进行组合的过程。利用特征计算模块自动组合特征计算要素,生成相应的特征抽取处理策略,可以减少人工操作,并且可以降低用户编写特征计算要素定义信息的工作量,也即用户在编写特征计算要素定义信息时,无需输入重复的特征计算要素。举例来说,假设需要计算特征:“过去一年用户月收入的最小值、最大值、平均值、中位数、标准差”、“过去一年商户月收入的最小值、最大值、平均值、中位数、标准差”。用户可以以键-值对的方式提供如下特征计算要素定义信息:{‘agg_func’:[‘max’,‘min’,‘avg’,‘median’,‘stdev.s’],‘window’:[(-12,0)],‘target_col’:[‘user_income’,‘merchant_income’],‘sort_col’:[‘month’]}。其中,‘agg_func’:[‘max’,‘min’,‘avg’,‘median’,‘stdev.s’]对应于上文述及的第四类特征计算要素,‘agg_func’表示特征计算要素的类型,即数据处理函数,‘max’、‘min’、‘avg’、‘median’、‘stdev.s’表示该类型下的特征计算要素的取值,即数据处理函数的名称,其中‘max’表示求最大函数,‘min’表示求最小函数,‘avg’表示求平均函数,‘median’表示求中位数函数,‘stdev.s’表示求标准差函数;‘window’:[(-12,0)]对应于上文述及的第二类特征计算要素,‘window’表示特征计算要素的类别,即窗口,(-12,0)表示该类别下的特征计算要素的取值,在本实施例中为一数值范围,‘sort_col’:[‘month’]对应于上文述及的第五类特征计算要素,‘sort_col’表示特征计算要素的类型,即排序字段,‘month’表示该类别下的特征计算要素的取值,即月份。(-12,0)和‘month’构成了完整的时间窗口,即过去12个月;‘target_col’:[‘user_income’,‘merchant_income’]对应于上文述及的第一类特征计算要素,‘target_col’表示特征计算要素的类别,即目标字段,‘user_income’、‘merchant_income’表示该类别下的特征计算要素的值,即目标字段的字段名,其中‘user_income’为用户月收入字段,‘merchant_income’为商户月收入字段。可见,在需要计算多个特征的情况下,对于重复的特征计算要素,用户只需要输入一次,从而可以大大降低用户的工作量,并且可以减少出错的可能。特征计算模块在获取了特征计算要素定义信息后,可以以笛卡尔积的方式从每个类别的特征计算要素中选取一个特征计算要素,以得到一个或多个特征抽取处理策略。也即,特征计算模块可以以“全局笛卡尔积”的方式遍历每个类别的特征计算要素,以得到多个由不同类别的特征计算要素构成的特征抽取处理策略。另外,特征计算模块也可以以“局部笛卡尔积”的方式进行特征计算要素组合,以得到一个或多个特征抽取处理策略。作为示例,特征计算要素定义信息可以包括多个特征计算要素集合,每个特征计算要素集合包括至少一组特征计算要素,不同组中的特征计算要素对应不同的类别,针对每个特征计算要素集合,特征计算模块可以以笛卡尔积的方式从每组特征计算要素中选取一个特征计算要素,以得到多个特征抽取处理策略。举例来说,假设特征计算要素定义信息为[{‘agg_func’:[‘max’,‘min’],‘target_col’:[‘income’]},{‘agg_func’:[‘sum’,‘cnt’],‘target_col’:[‘trxamt’,‘payment’]}],其中每个{}内的部分可以视为一个特征计算要素集合,‘agg_func’表示数据处理函数,‘max’、‘min’、‘sum’、‘cnt’表示数据处理函数的名称,‘max’表示求最大函数,‘min’表示求最小函数,‘sum’表示求和函数,‘cnt’表示计数函数,‘target_col’表示目标字段,‘income’、‘trxamt’、‘payment’表示三种字段名不同的目标字段。特征计算模块会针对第一个特征计算要素集合,进行笛卡尔积组合,得到“针对income字段求max”、“针对income字段求min”这两个特征抽取处理策略,并且特征计算模块还会针对第二个特征计算要素集合,进行笛卡尔积组合,得到“针对trxamt字段求sum”、“针对payment字段求sum”、“针对trxamt字段求cnt”、“针对payment字段求cnt”这四个特征抽取处理策略。但是特征计算模块不会从不同特征计算要素集合中选取特征计算要素进行组合。在本发明中,特征计算模块可以根据特征计算要素定义信息的形式,确定是采用全局笛卡尔积的方式进行特征计算要素组合,还是采用局部笛卡尔积的方式进行特征计算要素组合。例如,在特征计算要素定义信息包括多个特征计算要素集合的情况下,特征计算模块可以采用上述局部笛卡尔积的方式针对每个特征计算要素集合进行特征计算要素组合,否则可以采用全局笛卡尔积的方式进行特征计算要素组合。另外,特征计算模块还可以根据用户采取其他的指定方式确定是采用全局笛卡尔积的方式进行特征计算要素组合,还是采用局部笛卡尔积的方式进行特征计算要素组合,对此本发明不再赘述。特征计算模块在对特征计算要素定义信息中的特征计算要素进行组合,得到特征抽取处理策略后,可以基于特征抽取处理策略,从数据中提取出被执行特征抽取处理的数据对象,并确定对数据对象执行特征抽取处理的数据处理函数。以特征计算模块通过组合得到的特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合以及算法名称为例,对于每个特征抽取处理策略,特征计算模块可以根据分组字段或分组字段组合,对数据进行分组,其中,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组。在分组完成后,特征计算模块可以从每组数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象。特征计算模块可以通过调用基础层110,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数,例如特征计算模块可以将特征抽取处理策略中的算法名称与基础层110中的数据处理函数的名称进行比对,将基础层110中与算法名称一致的数据处理函数,作为用于执行算法名称所表征的数据处理逻辑的数据处理函数。以特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称为例,特征计算模块可以首先根据排序字段所指示的字段名,对数据进行排序。其中,窗口或窗口组合所指示的范围以及排序字段所指示的字段名可以构成完整的窗口。针对排序后的每条数据记录,特征计算模块可以根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第一数据,特征计算模块从第一数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第二数据,特征计算模块从第二数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象。特征计算模块还可以通过调用基础层110,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数,例如特征计算模块可以将特征抽取处理策略中的算法名称与基础层110中的数据处理函数的名称进行比对,将基础层110中与算法名称一致的数据处理函数,作为用于执行算法名称所表征的数据处理逻辑的数据处理函数。另外针对排序后的每条数据记录,特征计算模块也可以先从数据中选取与该条数据记录中的与分组字段或分组字段组合指示的字段名所对应的字段值相同的数据记录,以得到包含该条数据记录在内的第三数据,然后特征计算模块可以根据窗口或窗口组合所指示的范围以及排序字段所指示的字段名,从第三数据中提取对应窗口范围的数据记录,以得到包含或不包含该条数据记录在内的第四数据,特征计算模块从第四数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象。特征计算模块还可以通过调用基础层110,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数,例如特征计算模块可以将特征抽取处理策略中的算法名称与基础层110中的数据处理函数的名称进行比对,将基础层110中与算法名称一致的数据处理函数,作为用于执行算法名称所表征的数据处理逻辑的数据处理函数。在特征计算模块基于特征抽取处理策略确定被执行特征抽取处理的数据对象以及对数据对象执行特征抽取处理的数据处理函数后,可以利用分布式系统中的一个或多个计算节点调用基础层中相应的数据处理函数,对数据对象进行处理,以得到一个或多个特征。也即最终的特征计算操作可以交由底层计算节点执行。如图2所示,数据处理系统100可以连接一计算引擎(例如可以是spark引擎),可以在计算引擎的作用下,将计算任务下发给分布式系统中的一个或多个计算节点,由计算节点执行特征计算。具体地说,特征计算模块在对特征计算要素定义信息中的特征计算要素进行组合,得到特征抽取处理策略,并基于特征抽取处理策略确定被执行特征抽取处理的数据对象以及对数据对象执行特征抽取处理的数据处理函数后,计算引擎可以根据特征计算模块的处理结果,生成相应的计算任务,该计算任务可以指示被执行特征抽取的数据对象和对数据对象执行特征抽取处理的数据处理函数,并将计算任务下发给分布式系统中的一个或多个计算节点,计算节点可以调用基础层110中相应的数据处理函数,对数据对象进行处理,以得到一个或多个特征。例如,计算引擎可以将特征计算模块确定的数据对象和数据处理函数打包成多个子任务,每个子任务对应一部分待计算的数据对象。计算引擎可以将这多个子任务下发给分布式系统中的一个或多个计算节点,计算节点可以根据接收到的子任务,获取为其分配的数据对象,并可以通过调用基础层110中的数据处理函数,实现对为其分配的数据对象的特征计算。综上,本发明的数据处理系统100可以视为辅助实现特征计算的“中间件”。一方面数据处理系统100可以为用户提供调用特征计算模块的接口,用户可以根据期望从数据中抽取的特征,调用合适的特征计算模块,并上传数据和特征计算要素定义信息。由此,在需要计算大量特征时,用户不需要针对每个特征提供一组特征计算要素定义,而是可以以集合的方式提供特征计算要素定义信息,由特征计算模块自动进行笛卡尔组合,从而使得用户无需重复输入相同的特征计算要素,减少了人工操作及出错的可能。另一方面数据处理系统100可以连接计算引擎,在特征计算模块确定了被执行特征抽取的数据对象和对数据对象执行特征抽取处理的数据处理函数后,可以在计算引擎的调度作用下,将数据对象分配给分布式系统中的一个或多个计算节点,由计算节点通过调用基础层中相应的数据处理函数,执行对为其分配的数据对象的特征计算。图3示出了根据本发明另一示例性实施例的用于抽取特征的数据处理系统的结构框图。如图3所示,在本实施例中,计算层120可以进一步分为实现层121和应用层123。实现层121包括一个或多个第一类型特征计算模块。第一类型特征计算模块用于抽取与通用业务场景相对应的特征,第一类型特征计算模块仅基于从外部获取的特征计算要素定义信息,得到特征抽取处理策略。应用层123包括一个或多个第二类型特征计算模块。第二类型特征计算模块用于抽取与特定业务场景相对应的特征,第二类型特征计算模块定义了构成特征抽取处理策略的至少部分特征计算要素,至少部分特征计算要素用于指示与特定业务场景相对应的特征抽取处理的一种或多种要素。实现层121中的第一类型特征计算模块为用户提供了通用的特征计算功能,应用层123中的第二类型特征计算模块为用户提供了具体业务场景下的特征计算功能。用户可以根据自身需求,选择使用哪种特征计算模块。用户在选用第二类型特征计算模块时,部分特征计算要素的取值已经是被第二类型特征计算模块定义好的,因此用户只需要针对第二类型特征计算模块未定义的部分提供特征计算要素定义信息。以第二类型特征计算模块为用于针对风险监控业务提供聚集类特征(如每部设备的关联交易数)的计算的聚集类特征计算模块为例,聚集类特征计算模块中可以将数据处理逻辑定义为计数函数(即count函数),如此用户在调用聚集类特征计算模块时,上传的特征计算要素定义信息中无需包括用于指示数据处理逻辑的算法名称。实现层121中的第一类型特征计算模块能够调用基础层110,如可以调用基础层110中的数据处理函数,还可以调用基础层110中的检查函数、标准化函数等功能函数。另外,实现层121中不同第一类型特征计算模块之间也可以互相调用,即第一类型特征计算模块也能够调用同层中的其他第一类型特征计算模块。举例来说,实现层121中的第一类型特征计算模块可以包括汇总特征计算模块和时序特征计算模块。汇总特征计算模块可以被配置为用于处理汇总类特征的计算,如可以处理但不限于求和、求平均、求标准差、求计数值等汇总类特征。时序特征计算模块可以被配置为用于处理时序类特征的计算。例如,时序特征计算模块可以被配置为用于对时序数据进行处理,以从时序数据中得到与时序相关的特征。时序数据可以是由多条按时间顺序记录的数据记录构成的数据,每条数据记录包括一个或多个字段。时序特征计算模块在工作过程中,可以调用汇总特征计算模块统计是否存在热点数据,在判定存在热点数据的情况下,还可以执行去热点处理的操作。关于汇总特征计算模块和时序特征计算模块的工作流程,将在下文展开描述,此处暂不赘述。应用层123中的第二类型特征计算模块也能够调用基础层,如可以调用基础层110中的数据处理函数,还可以调用基础层110中的检查函数、标准化函数等功能函数。并且,应用层123中不同第二类型特征计算模块之间也可以互相调用,即第二类型特征计算模块也能够调用同层中的其他第二类型特征计算模块。另外,第二类型特征计算模块也能够调用实现层121中的第一类型特征计算模块,仍以聚集类特征计算模块为例,聚集类特征计算模块在获取到数据和特征计算要素定义信息后,可以调用实现层121中的汇总特征计算模块,如聚集类特征计算模块可以将其定义的计数函数和从外部接收的特征计算要素定义信息,组成新的特征计算要素定义信息,将数据和新的特征计算要素定义信息发送给汇总特征计算模块,交由汇总特征计算模块处理。综上,本发明中基础层、实现层、应用层是按照通用性由高到低的顺序设计的,最低通用性的应用层可以调用高通用性的基础层或实现层,次低通用性的实现层也可以调用高通用性的基础层。如此可以高效复用下层代码,而不必如同在造车过程中重复造轮子,从而可以实现数据处理系统100的快速构建,并可以使得开发人员能够将更多精力投入业务探索,如可以将更多精力投入设计更多类型的特征计算模块。下面结合具体示例分别就汇总特征计算模块和时序特征计算模块实现特征计算的过程进行示例性说明。1、汇总特征计算模块在用户选择使用汇总特征计算模块时,上传的特征计算要素定义信息可以包括上文述及的第一类特征计算要素、第四类特征计算要素,可选地还可以包括上文述及的第三类特征计算要素。以特征计算要素定义信息包括第一类特征计算要素、第三类特征计算要素以及第四类特征计算要素为例,汇总特征计算模块对特征计算要素定义信息中的特征计算要素进行组合,得到的特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合以及算法名称。对于每个特征抽取处理策略,汇总特征计算模块可以根据分组字段或分组字段组合,对数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组,并可以从每组数据中选取与目标字段或目标字段组合所指示的字段名相对应的字段值,以得到被执行特征抽取处理的数据对象,汇总特征计算模块可以通过调用基础层,确定用于执行算法名称所表征的数据处理逻辑的数据处理函数。举例来说,假设汇总特征计算模块获取的数据为下表示出的银行交易明细表,包含但不限于“月收入金额”、“月支出金额”、“账户号”、“地区号”等字段。地区号账户号月收入金额月支出金额001s0150003200002s0325001600002s0143003000001s0332002400假设汇总特征计算模块获取的特征计算要素定义信息包括:聚合函数与目标字段((平均,和,标准差),(月收入金额,月支出金额)),分组字段(账户号,地区号)。汇总特征计算模块可以首先调用基础层110中的检查函数与标准化函数,检查特征计算要素定义信息是否完整、准确,并将特征计算要素定义信息标准化为后续计算所需的结构,如可以将上述特征计算要素定义信息转换为:目标字段:(月收入金额,月支出金额);聚合函数:(平均,和,标准差);分组字段:(账户号,地区号)。汇总特征计算模块对目标字段、聚合函数和分组字段这三类特征计算要素遍历每个定义值,可以得到一个或多个特征抽取处理策略。针对每个特征抽取处理策略,汇总特征计算模块从数据中抽取出被执行特征抽取处理的数据对象。以特征抽取处理策略为“账户号”、“月收入金额”、“平均”为例,汇总特征计算模块可以根据分组字段的当前值对输入数据进行分组,每组包含相同账户号的数据,即每个账户对应一组;然后根据目标字段当前值月收入金额对每一组的数据选取目标字段值得到数据d,数据d即为被执行特征抽取处理的数据对象;根据聚合函数当前值调用基础层的平均函数,可以确定数据d对应的数据处理函数。如此,通过遍历每个特征抽取处理策略,汇总特征计算模块可以确定多个多个待计算特征所对应的数据对象及其数据处理函数。在汇总特征计算模块确定了数据对象及其数据处理函数后,可以交由分布式系统中的一个或多个计算节点调用数据处理函数针对数据对象进行处理,以得到一个或多个特征。最后通过计算可以得到如下共计12个特征:每个账户的月收入金额的平均值、总和、标准差(3个特征);每个账户的月支出金额的平均值、总和、标准差(3个特征);每个地区的月收入金额的平均值、总和、标准差(3个特征);每个地区的月支出金额的平均值、总和、标准差(3个特征)。2、时序特征计算模块在用户选择使用时序特征计算模块时,上传的特征计算要素定义信息可以包括上文述及的第一类特征计算要素、第二类特征计算要素、第四类特征计算要素,可选地还可以包括上文述及的第三类特征计算要素和/或第五类特征计算要素。以特征计算要素定义信息包括第一类特征计算要素、第二类特征计算要素、第三类特征计算要素、第四类特征计算要素以及第五类特征计算要素为例,时序特征计算模块对特征计算要素定义信息中的特征计算要素进行组合,得到的特征抽取处理策略包括分组字段或分组字段组合、目标字段或目标字段组合、窗口或窗口组合、排序字段以及算法名称。举例来说,假设时序特征计算模块获取的数据为下表示出的银行交易明细表,包含但不限于“月收入金额”、“月支出金额”、“账户号”、“地区号”、“月份”等字段。地区号账户号月收入金额月支出金额月份001s01500032001002s03250016001002s01430030002001s03320024002假设用户提供的特征计算要素定义信息为:聚合函数与目标字段:((平均,和),(月收入金额,月支出金额));分组字段:(账户号,地区号);时间窗:([-3,0],[-6,0]);排序字段:(月份)。其中时间窗定义了两个窗口,每个窗口由左右区间组成,排序字段用于对数据进行排序,同时与时间窗特征计算要素共同定义窗口范围,如结合排序字段与第一个窗口,定义了时间窗为过去三个月(含当月),第二个窗口则表示过去半年(含当月)。时序特征计算模块可以首先调用基础层110中的检查函数与标准化函数,检查特征计算要素定义信息是否完整、准确,并将特征计算要素定义信息标准化为后续计算所需的结构,如可以将上述特征计算要素定义信息转换为:目标字段:(月收入金额,月支出金额);聚合函数:(平均,和);分组字段:(账户号,地区号);时间窗:([-3,0],[-6,0]);排序字段:(月份)。时序特征计算模块对目标字段、聚合函数、分组字段、时间窗这四类特征计算要素遍历每个定义值,可以得到一个或多个特征抽取处理策略。针对每个特征抽取处理策略,时序特征计算模块从数据中抽取出被执行特征抽取处理的数据对象。以特征抽取处理策略为“账户号”、“月收入金额”、“平均”、“[-3,0]”为例,时序特征计算模块对每一行输入数据,根据时间窗的当前值与排序字段的当前值,提取对应窗口范围的数据,即过去三个月含当前行的数据;根据分组字段的当前值对输入数据进行分组,只提取与当前行相同账户号的数据;根据目标字段当前值月收入金额对该组的数据选取目标字段值得到数据d,数据d即为被执行特征抽取处理的数据对象;根据聚合函数当前值调用基础层的平均函数,可以确定数据d对应的数据处理函数。如此,通过遍历每个特征抽取处理策略,时序特征计算模块可以确定多个待计算特征所对应的数据对象及其数据处理函数。在汇总特征计算模块确定了数据对象及其数据处理函数后,可以交由分布式系统中的一个或多个计算节点调用数据处理函数针对数据对象进行处理,以得到一个或多个特征。最后通过计算可以得到如下共计16个特征:每个账户每个月的过去三个月及过去半年月收入金额的平均值、总和(4个特征);每个账户每个月的过去三个月及过去半年月支出金额的平均值、总和(4个特征);每个地区每个月的过去三个月及过去半年月收入金额的平均值、总和(4个特征);每个地区每个月的过去三个月及过去半年月支出金额的平均值、总和(4个特征)。时序特征计算模块在工作过程中,还可以调用汇总特征计算模块统计是否存在热点数据,在判定存在热点数据的情况下,还可以针对热点数据执行优化计算,以解决时序数据处理过程中可能存在的数据倾斜问题。其中数据倾斜是指大量数据被分配到一个计算节点上执行计算,使得这些数据的计算速度远低于平均计算速度,导致整个计算过程过慢。下面就时序数据处理过程中数据倾斜问题的解决方案进行示例性说明。时序特征计算模块可以获取时序数据和特征计算要素定义信息(为了便于区分,可以称为第一特征计算要素定义信息),第一特征计算要素定义信息包括一个或多个分组字段或分组字段组合,分组字段或分组字段组合用于指示对时序数据进行分组所依据的字段名。另外,第一特征计算要素定义信息还可以包括其他类别的特征计算要素,此处不再赘述。在本实施例中,时序特征计算模块仍可以按照前文述及的特征计算模块的处理机制,对第一特征计算要素定义信息中的特征计算要素进行组合,得到特征抽取处理策略,基于特征抽取处理策略,从时序数据中提取出被执行特征抽取处理的数据对象,并确定数据对象的处理函数。不同之处在于,时序特征计算模块可以在汇总特征计算模块以及下文提及的优化计算模块的作用下,实现针对热点数据的优化计算,以解决时序数据处理过程中可能存在的数据倾斜问题。具体来说,时序特征计算模块可以调用汇总特征计算模块,由汇总特征计算模块统计时序数据中与分组字段或分组字段组合所指示的字段名对应的各字段值的频数。例如,时序特征计算模块可以将时序数据以及由分组字段或分组字段组合和用于表征频数计算的算法名称构成的第二特征计算要素定义信息,发送给汇总特征计算模块,由汇总特征计算模块统计频数。响应于接收到时序数据和第二特征计算要素定义信息,汇总特征计算模块可以对第二特征计算要素定义信息中的特征计算要素进行组合,以得到一个或多个由用于表征频数计算的算法名称和不同分组字段或分组字段组合构成的特征抽取处理策略,基于该特征抽取处理策略中的分组字段或分组字段组合,汇总特征计算模块对时序数据进行分组,分组字段或分组字段组合所指示的字段名所对应的字段值相同的数据记录被划分到同一组,不同组中的数据被分配给分布式系统中的一个或多个计算节点,计算节点调用与算法名称对应的数据处理函数(如计数函数),对分配给其的数据进行处理,以得到时序数据中与分组字段或分组字段组合所指示的字段名对应的各字段值的频数。数据处理系统100还包括优化计算模块。优化计算模块可以将各频数与第一预定阈值进行比较。如果频数小于第一预定阈值,则表明对应该频数的数据记录为非热点数据,不会导致数据倾斜问题;如果频数大于或等于第一预定阈值,则表明对应该频数的数据记录为热点数据,会导致数据倾斜问题。第一预定阈值可以是基于计算资源的大小确定的,其中,计算资源可以是指单个计算节点的cpu和/或内存等资源,第一预定阈值的大小与计算资源正相关,即计算资源越多,第一预定阈值越大,反之计算资源越少,第一预定阈值越小。对于频数小于第一预定阈值的字段值或字段值组合所对应的数据记录,可以按照正常处理流程进行处理。例如,在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数小于第一预定阈值的情况下,时序特征计算模块可以从时序数据中对应该字段值的数据记录中提取被执行特征抽取处理的数据对象,并且由于该数据对象不会产生数据倾斜,因此该数据对象可以被分配给单个计算节点处理。频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录为能够导致数据倾斜的热点数据。在本实施例中,优化计算模块可以提供多种针对热点数据的优化计算方案,以解决时序数据中因热点数据引起的数据倾斜问题。举例来说,针对热点数据,优化计算模块可以将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据,在特征抽取处理策略中的分组字段或分组字段组合所指示的字段名对应的字段值的频数大于或等于第一预定阈值的情况下,时序特征计算模块可以从该字段值对应的子时序数据中提取被执行特征抽取处理的数据对象,时序特征计算模块从预定数量个子时序数据中提取的数据对象如果被分配给单个计算节点可能会产生数据倾斜问题,因此该数据对象可以被分配给多个计算节点进行处理。另外,优化计算模块也可以直接将各个频数大于或等于第一预定阈值的字段值所对应的数据记录的处理结果设置为预定值,以提高计算效率。可选地,针对热点数据的优化计算策略可以由用户决定。也即优化计算模块模块还可以获取用户提供的优化计算策略,在优化计算策略为第一方案的情况下,优化计算模块将频数大于或等于第一预定阈值的字段值所对应的数据记录的特征处理结果设置为预定值,在优化计算策略为第二方案的情况下,优化计算模块将各个频数大于或等于第一预定阈值的字段值所对应的数据记录拆分成预定数量个子时序数据。另外,优化计算模块还可以将频数分别与第一预定阈值和第二预定阈值进行比较,其中,第二预定阈值大于第一预定阈值。对于大于或等于第一预定阈值且小于第二预定阈值的字段值或字段值组合所对应的数据记录,优化计算模块可以通过拆分的方式进行计算,对于频数大于第二预定阈值的字段值或字段值组合所对应的数据记录,优化计算模块可以直接将其处理结果设置为预定值。综上,本发明不预设热点数据的数量,而是统计预定字段名或预定字段名组合对应的各字段值的频数,通过将频数与预定阈值进行比较,确定时序数据中可能存在的热点数据。并且本发明通过按照时间顺序将热点数据拆分为多个子时序数据,而非随机分组,使得拆分后的子时序数据中各数据记录间的先后顺序不被打乱,进而使得拆分后的子时序数据能够支持原有的数据处理逻辑。进一步地,本发明述及的预定字段名或预定字段名组合表征的是时序数据处理过程中的分组字段,其可以是基于时序数据的处理逻辑确定的。因此,本发明是充分考虑到了时序数据在实际应用中的数据处理逻辑,提供了一种与时序数据的数据处理逻辑相适配的数据倾斜解决方案,以解决时序数据处理过程中的数据倾斜问题。进一步地,考虑到按照时间顺序将热点数据拆分成预定数量个子时序数据后,单个子时序数据中仍然可能存在缺失计算所依赖的数据的数据记录。为此,本发明提出,优化计算模块可以根据子时序数据中的数据记录的处理结果对数据的依赖关系,将处理数据记录所需但子时序数据中缺失的数据记录添加到子时序数据中。例如,优化计算模块可以遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在判定子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。如此,可以补齐子时序数据在处理过程所需的全部数据。在将缺失的数据记录添加到子时序数据的过程中,本发明还可以将缺失的数据记录标记为冗余数据。时序特征计算模块在处理过程中,可以忽略冗余数据的处理,也可以处理冗余数据。冗余数据是添加的数据记录,用于为其他数据记录的计算提供数据支持,冗余数据本身的处理结果所依赖的数据不一定都在子时序数据中,而为冗余数据添加缺失的数据是不必要的。因此,在时序特征计算模块处理冗余数据的情况下,如果子时序数据中缺失了处理该冗余数据所需的全部数据记录中的部分数据记录,那么时序特征计算模块可以使用一预设值(如可以是空值)代替缺失的数据。在处理冗余数据的情况下,在得到子时序数据的处理结果后,还可以剔除冗余数据的处理结果。本发明还可以将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到时序数据的处理结果。其中,在需要返回原字段的情况下,优化计算模块可以将时序数据的特征抽取结果作为新的字段添加到时序数据中。在本发明中,其他类型的特征计算模块在处理过程中,也可以针对数据倾斜问题,参考上述方式实现优化计算,具体实现过程本发明不再赘述。图4示出了根据本发明示例性实施例的用于抽取特征的数据处理方法的示意性流程图。参见图4,在步骤s110,设置基础层和计算层。关于基础层、计算层可以参见上文相关描述,此处不再赘述。在步骤s120,向用户提供一个或多个特征计算模块。这里可以向用户提供计算层中特征计算模块的调用接口,以便用户调用合适的特征计算模块,其中,用户可以通过代码或可视化(如点击、拖拽)的方式调用特征计算模块。作为示例,可以通过可视化地方式向用户展示特征计算模块,如可以向用户展示计算层提供的特征计算模块及其适于处理的特征类型,以便用户在充分了解特征计算模块的功能的前提下,做出选择。在步骤s130,被用户选中的特征计算模块获取用户提供的数据和特征计算要素定义信息。这里用户可以以代码的方式向特征计算模块提供数据和特征计算要素定义信息,另外也可以使用但不限于配置文件、excel、文本文件、web页面等可承载数据信息的方式向特征计算模块提供数据和特征计算要素定义信息。关于数据、特征计算要素定义信息可以参见上文相关描述,此处不再赘述。在步骤s140,被用户选中的特征计算模块从每个类别的特征计算要素中选取一个特征计算要素,以得到由取自不同类别的特征计算要素构成的特征抽取处理策略,所述特征计算模块基于所述特征抽取处理策略,从所述数据中提取出被执行特征抽取处理的数据对象,并确定对所述数据对象执行特征抽取处理的数据处理函数。关于特征计算模块的具体处理过程可以参见上文相关描述,此处不再赘述。应该理解,根据本发明示例性实施例的用于抽取特征的数据处理方法的具体实现方式可参照上文结合图1至图3描述的相关具体实现方式来实现,在此不再赘述。以上参照图1到图4描述了根据本发明示例性实施例的用于抽取特征的数据处理方法、用于抽取特征的数据处理系统。应理解,上述方法可通过记录在计算可读介质上的程序来实现,例如,根据本发明的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,在所述计算机可读介质上记录有用于执行图4示出的用于抽取特征的数据处理方法的计算机程序。上述计算机可读介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序除了可用于执行除了图4示出的步骤之外,还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经参照图4进行了描述,这里为了避免重复将不再进行赘述。应注意,根据本发明示例性实施例的用于抽取特征的数据处理系统,可完全依赖计算机程序的运行来实现相应的功能,即,各个装置与计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。另一方面,图1至图3所示的各个功能模块也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。例如,本发明的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行用于抽取特征的数据处理方法。具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是pc计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。在所述计算装置中,处理器可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。根据本发明示例性实施例的用于抽取特征的数据处理方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。存储部件可与处理器集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。根据本发明示例性实施例的用于抽取特征的数据处理方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。例如,如上所述,根据本发明示例性实施例的用于抽取特征的数据处理系统可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行上文述及的用于抽取特征的数据处理方法。以上描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1