具体实施方式
本说明书的实施例提出一种新的特征计算代码的生成方法,采用基础指标来构成特征的表达形式,通过基础指标配置信息来指定基础指标的计算方式,由基础代码模板利用基础指标配置信息自动生成基础指标的计算代码,并进一步通过基础指标的计算代码得到特征计算代码,从而能够基于配置信息快速高效的自动生成特征计算代码,减少开发人员的工作量。
本说明书的实施例可以运行在任何具有计算和存储能力的设备上,如手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器等设备;还可以由运行在两个或两个以上设备的逻辑节点来实现本说明书实施例中的各项功能。
本说明书的实施例中,特征采用一个到多个基础指标、或一个到多个基础指标和其他指标来表达,换言之,特征是由一个到多个基础指标、或者由一个到多个基础指标和其他指标构成的表达式计算得出的。其中,基础指标是以数据源中数据记录的属性作为汇总对象,按照预定的汇总方式进行汇总后得到的指标。基础指标通常将数据记录的一个属性作为汇总对象,汇总方式可以是适用于汇总对象的任意的统计方式或计算方式,例如,可以是求和、计数、最大值、最小值、或均值。
数据记录中的除汇总对象外的其他属性可以用来对汇总对象进行筛选。例如,如果数据记录的属性中包括该记录所属实体,则可以以实体作为筛选条件,对属于某个实体或分别对属于不同实体的汇总对象来进行汇总;再如,可以将数据记录中某个或某几个属性用来作为筛选条件,只对该属性或该些属性的值满足筛选条件的数据记录中的汇总对象进行汇总。
用来表达特征的其他指标可以包括衍生指标。衍生指标可以由至少一个基础指标来构建,可以由至少一个其他衍生指标来构建,可以由至少一个基础指标和至少一个其他衍生指标来构建,还可以由至少一个基础指标和/或至少一个其他衍生指标、与至少一个数据记录的属性来构建,本说明书的实施例不做限定。实际上,特征本身即可看做是一个衍生指标。
本说明书的实施例中,开发人员可以通过配置信息来定义表达特征所需的基础指标、或基础指标和衍生指标。
其中,基础指标配置信息包括作为基础指标汇总对象的数据记录的属性和汇总方式。本说明书的实施例中预置有与基础指标配置信息相匹配的基础代码模板,基础代码模板包括用来实现从数据源中提取属于所述实体的汇总对象,按照汇总方式计算基础指标的通用代码。
如果基础指标所针对的汇总对象是经过筛选的,则基础指标配置信息中还可以包括用于汇总对象的筛选条件,而基础代码模板中则包括用来实现从数据源中提取满足筛选条件的汇总对象,按照汇总方式计算基础指标的通用代码。
另外,基础指标配置信息中还可以包括基础指标的主体。主体可以是数据记录中用来表明与本行记录相关联的某个参与方,例如对交易数据记录,主体可以是购买方或出售方,可以是资金提供方等等。对应的,基础代码模板中包括用来实现从数据源中分别提取属于每个主体的汇总对象,按照汇总方式计算每个主体的基础指标的通用代码。换言之,基础指标的主体是数据记录中的一个属性,基础代码模板的通用代码用来实现分别针对每个属性值提取具有该属性值的汇总对象,以计算每个属性值对应的该基础指标。
衍生指标配置信息包括用来表达衍生指标的至少一个基础指标或至少一个其他衍生指标、以及表达方式;对衍生指标采用数据记录中属性来表达的情形,衍生指标配置信息中还包括所采用的属性。在特征表达需要采用衍生指标的实施例中,预置有与衍生指标配置信息相匹配的衍生代码模板,衍生代码模板包括用来实现采用表达衍生指标的基础指标或其他衍生指标,根据衍生指标配置信息中的表达方式计算衍生指标的通用代码。
在一些应用场景中,将某个变量的值域划分为若干个层次,将每个层次作为一个指标值来对该变量做出一种阶段化的评估,本说明书的实施例中采用分层指标来进行这种评估。分层指标可以是基础指标(称为分层基础指标),也可以是衍生指标(称为分层衍生指标)。对分层基础指标,其被评估的变量(即汇总对象)为数据记录中的属性,其基础指标配置信息的汇总方式用来指定其层次划分方式;在基础代码模板中包括用来实现从数据源中提取汇总对象,按照层次划分方式归属于对应层次的通用代码。对分层衍生指标,其被评估的变量为基础指标或其他衍生指标,其衍生指标配置信息的表达方式用来指定其层次划分方式;在衍生代码模板中包括用来实现根据用于分层的基础指标或其他衍生指标,按照层次划分方式归属于对应层次的通用代码。
需要说明的是,基础代码模板中包括可供开发人员使用的所有数据记录属性、所有汇总方式、所有筛选条件的实现代码,并且在将开发人员为某个基础指标定义的基础指标配置信息应用到基础代码模板后,即可得到用来计算所定义基础指标的代码。类似的,衍生代码模板可以中包括可供开发人员使用的所有调用基础指标、其他衍生指标、数据记录属性、以及所有表达方式的实现代码,并且在将开发人员为某个衍生指标定义的衍生指标配置信息应用到衍生代码模板后,即可得到采用表达该衍生指标的基础指标、其他衍生指标、和/或数据记录中的属性来计算所定义衍生指标的代码。基础代码模板、衍生代码模板可以按照所在的操作系统环境、所采用的开发语言等因素,参照现有技术实现,不再赘述。
本说明书的实施例中,特征计算代码的生成方法的流程如图1所示。
步骤110,获取基础指标配置信息。
可以向开发人员提供用来设置基础指标配置信息的界面,在该界面上接收开发人员的输入,从而获得基础指标配置信息;也可以将按照预定格式将基础指标配置信息生成配置文件后保存在预定的存储位置,通过从该存储位置读取配置文件即可获得基础指标配置信息;还可以采用适合实际应用场景的其他形式得到基础指标配置信息;本说明书的实施例不做限定。
步骤120,将基础指标配置信息用于基础代码模板,生成基础指标的计算代码。
如前所述,在获得基础指标配置信息后,将其应用在基础代码模板上,即可得到基础指标的计算代码。
步骤130,采用基础指标的计算代码生成特征计算代码。
对由一个到多个基础指标构成的表达式来表达的特征,将表达该特征的每个基础特征的计算代码进行组合后,添加用来实现以这些基础指标构成的表达式的代码,即可得到该特征的计算代码。
对由至少一个衍生指标、或至少一个衍生指标和至少一个基础指标来表达的特征,由于该特征的表达式中采用了衍生指标,先将衍生指标配置信息应用到衍生代码模板,生成衍生指标的计算代码。再采用衍生指标的计算代码、或衍生指标和基础指标的计算代码,生成特征计算代码;具体而言,将表达该特征的衍生指标的计算代码、或衍生指标和基础指标的计算代码进行组合后,添加用来实现以上述衍生指标、或上述衍生指标和基础指标构成的表达式的代码,即可得到该特征的计算代码。
需要说明的是,本说明书的实施例中,用来计算特征的数据源可能来源于不同的系统,来自这些系统的原始数据可能有不同的格式。由于基础指标配置信息针对数据记录的属性来设置,数据源中的数据记录具有统一的格式。因此,对不同格式的原始数据,可以在转换为统一的格式后作为再将其作为数据源。
可见,本说明书的实施例中,采用基础指标来构成特征的表达形式,从基础指标配置信息得到基础指标的计算方式,由基础代码模板利用基础指标配置信息自动生成基础指标的计算代码,并进一步生成特征计算代码,从而实现了基于配置信息自动生成特征计算代码,无需开发人员手动编写代码,减少了开发人员的工作量,极大的提高了将特征应用于业务处理过程的速度。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的一个应用示例中,第三方交易平台基于交易信息进行数据挖掘,目的在于发现洗钱特征,洗钱特征用来描述很可能在通过虚假交易进行洗钱的高风险客户所具有的特点。挖掘出洗钱特征后,自动生成用来计算特征的代码,并运行特征计算代码,用不断产生的交易数据流来计算洗钱特征,以发现高风险客户,并对这些客户适用与其洗钱特征值相匹配的风险控制措施。
第三方交易平台上用来实现洗钱特征监控功能的软件包括数据整合功能模块、特征代码功能模块和特征计算功能模块,其结构如图2所示。
数据整合功能模块采集来自不同业务系统的原始数据,按照统一的格式进行转换后作为特征计算的数据源。数据源可以包括多个数据表,例如“客户属性数据表”、“客户交易数据表”、“客户注册登录认证数据表”等。这些数据表中的数据记录包括若干个属性,一个例子中,客户交易数据表table_trade的属性如表1所示:
表1
特征代码功能模块向监控管理人员提供各种指标的配置界面,供监控管理人员根据挖掘出的洗钱高风险客户的特征,来配置生成该特征的计算代码时所需的基础指标和衍生指标。
假设一个基础指标为:每个客户的最近7天转账交易金额,配置该基础指标的一种界面如图3所示。监控管理人员在配置界面上完成输入后,特征代码功能模块接收到的基础指标配置信息为:汇总对象为交易金额、汇总方式为求和、主体为客户、筛选条件为监控码等于转账和业务日期为最近7天。特征代码功能模块将基础指标配置信息应用于基础代码模板,得到该基础指标的计算代码,一种SQL(Structured Query Language,结构化查询语言)语言的计算代码如下所示:
Create table test1_1 as
Select user,sum(amt)amt from
table_trade
where dt>={YYYYMMDD-7}
and type=’转账’
group by user;
假设一个衍生指标为:最近28天交易笔数/最近7天转账金额,配置该衍生指标的一种界面如图4所示。监控管理人员在配置界面上完成输入后,特征代码功能模块接收到的衍生指标配置信息为:用于表达该衍生指标的所采用的其他指标有两个:最近28天交易笔数和最近7天转账金额,表达方式为:最近28天交易笔数除以最近7天转账金额。特征代码功能模块将衍生指标配置信息应用于衍生代码模板,即可得到该衍生指标的计算代码。
由于特征实际上可以是一个基础指标或一个衍生指标,因此监控管理人员可以用基础指标或衍生指标的配置界面完成特征的配置;类似的,特征代码功能模块也可基于基础代码模板或衍生代码模板,生成特征的计算代码。
可见,监控管理人员可以通过基础指标和衍生指标的配置界面,逐级生成复杂计算逻辑的特征。例如,对特征:最近4个周期(每个周期为一周)交易金额大于100万的次数,可以配置基础指标“最近7天交易汇总金额值”、再基于这个基础指标配置分层衍生指标“一个周期交易汇总金额是否超过100万”(该分层衍生指标当一个周期交易汇总金额超过100万时,层次值为1;不超过100万时层次值为0);最后以最近4个周期的该分层衍生指标的和值作为特征。
特征代码功能模块生成的特征计算代码由特征计算功能模块来使用。具体而言,特征计算功能模块以数据源中的数据记录为对象,运行特征计算代码,并输出这些数据的特征计算结果。
与上述流程实现对应,本说明书的实施例还提供了一种特征计算代码的生成装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及存储器之外,特征计算代码的生成装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图6所示为本说明书实施例提供的一种特征计算代码的生成装置,所述特征由至少一个基础指标来表达,所述装置包括基础配置获取单元、基础代码单元和特征代码单元,其中:基础配置获取单元用于获取基础指标配置信息,所述基础指标配置信息包括:作为基础指标汇总对象的数据记录的属性和汇总方式;基础代码单元用于将基础指标配置信息用于基础代码模板,生成基础指标的计算代码;所述基础代码模板包括用来实现从数据源中提取汇总对象,按照汇总方式计算基础指标的通用代码;特征代码单元用于采用基础指标的计算代码生成特征计算代码。
可选的,所述基础指标配置信息还包括:汇总对象的筛选条件;所述基础代码模板包括用来实现从数据源中提取满足筛选条件的汇总对象,按照汇总方式计算基础指标的通用代码。
可选的,所述基础指标配置信息还包括:基础指标的主体;所述基础代码模板包括用来实现从数据源中分别提取属于每个主体的汇总对象,按照汇总方式计算所述主体的基础指标的通用代码。
可选的,所述基础指标包括:分层基础指标;所述分层基础指标的汇总方式包括:层次划分方式;所述基础代码模板包括用来实现从数据源中提取汇总对象,按照层次划分方式归属于对应层次的通用代码。
可选的,所述汇总方式包括:求和、计数、最大值、最小值、或均值。
一个例子中,所述特征由至少一个衍生指标、或至少一个衍生指标和至少一个基础指标来表达;所述装置还包括:衍生配置获取单元,用于获取衍生指标配置信息;所述衍生指标配置信息包括:用于表达衍生指标的至少一个基础指标或至少一个其他衍生指标、以及表达方式;所述特征代码单元具体用于:将衍生指标配置信息用于衍生代码模板,生成衍生指标的计算代码;所述衍生代码模板包括用来实现基于表达衍生指标的基础指标或其他衍生指标,根据衍生指标配置信息中的表达方式计算衍生指标的通用代码;采用衍生指标的计算代码、或衍生指标和基础指标的计算代码,生成特征计算代码。
上述例子中,所述衍生指标可以包括分层衍生指标;所述衍生指标配置信息中的表达方式包括:层次划分方式;所述衍生代码模板包括用来实现根据用于分层的基础指标或其他衍生指标,按照层次划分方式归属于对应层次的通用代码。
可选的,所述装置还包括:数据格式转换单元,用于将不同来源的原始数据转换为统一格式后作为数据源。
可选的,所述特征包括:用来描述可能进行洗钱的高风险客户的洗钱特征;所述装置还包括:特征计算单元,用于运行特征计算代码,采用交易数据流来计算所述洗钱特征。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中特征计算代码的生成方法的各个步骤。对特征计算代码的生成方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中特征计算代码的生成方法的各个步骤。对特征计算代码的生成方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。