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

用于生成风险评估模型的框架

文献发布时间:2023-06-19 12:07:15


用于生成风险评估模型的框架

技术领域

本说明书总体上涉及风险评估建模,更具体地,涉及用于生成在评估电子交易中使用的计算机模型的框架。

背景技术

以电子方式进行欺诈性交易的策略不断演进并变得越来越复杂。电子服务提供商需要通过提供安全措施来跟上欺诈用户的步伐,例如实时准确地评估风险(例如,检测欺诈性交易)。在这方面,经常使用计算机模型来辅助实时评估电子交易的风险。计算机模型提取与交易相关的数据,对所提取的数据执行分析,并提供结果。然后可根据结果来决定是授权还是拒绝交易。

如上所述,欺诈性交易策略是动态的并且可能会不时发生变化。例如,近期没有使用的旧策略可能会重新成为新趋势,可能会引入新策略,以及策略可能会周期性地重新成为周期性趋势。服务的用户群也可能不时地改变,这进一步增加了复杂性。例如,服务可能被引入到新的地理区域,而该新的地理区域表现出与现有用户群不同的欺诈行为。因此,侧重于根据近期欺诈性交易数据实现性能最大化的计算机模型在未来可能会表现不佳(例如,无法识别欺诈性交易)。电子服务提供商可能必须不时地生成新的计算机模型(例如,通过使用不同的特征),以针对新的策略和新的欺诈趋势。然而,不断生成新的计算机模型来评估电子交易中的风险可能代价高昂。因此,需要高效地生成用于评估电子中的交易风险的强健计算机模型的系统和方法。

附图说明

图1是示出根据本公开的实施例的电子交易系统的框图;

图2是示出根据本公开的实施例的风险分析模块的框图;

图3是示出根据本公开的实施例的模型生成模块的框图;

图4是示出根据本公开的实施例的生成风险分析模型的过程的流程图;

图5示出了根据本公开的实施例的风险分析模型的示例性实现方式;

图6示出了根据本公开的实施例由多个设备并行地验证风险分析模型;以及

图7是用于实现根据本公开的实施例的设备的系统的框图。

通过参考下面的详细描述,可以最好地理解本公开的实施例及其优点。应当理解,相同的附图标记用于标识在一个或多个附图中图示的相同元素,其中,附图中的图示是为了说明本公开的实施例的目的,而不是为了限制本公开的实施例。

具体实施方式

本公开描述了提供用于生成计算机模型(例如,风险分析模型)的框架的方法和系统,该计算机模型用于为电子服务提供商评估电子交易中的风险。为评估电子交易中的风险而生成的计算机模型可以使用与电子交易相关的数据集合(也称为“特征”)来评估电子交易的风险(例如,生成风险分数)。风险分数可以表明电子交易是可能的、潜在的、还是很可能的欺诈性交易。用于评估电子交易风险的特征集合可包括与电子交易相关的或从电子交易导出的各种信息,例如交易类型、交易金额、与交易相关联的用户账户、用于发起交易的浏览器的浏览器类型、用于发起交易的设备的设备类型、用于发起交易的设备的互联网协议(IP)地址、电子交易的交易金额与该电子交易的付款方所涉及的先前交易的平均交易金额之间的差异、电子交易的交易金额与该电子交易的收款方所涉及的先前交易的平均交易金额之间的差异、付款方过去的平均交易频率、收款方过去的平均交易频率、以及与电子交易有关的和/或从电子交易导出的其他信息。一些特征与其他特征相比可能与评估电子交易的风险的相关性更强(或更具指示性)。因此,生成计算机模型涉及确定在评估电子交易风险时应使用哪些可用候选特征,并可能地确定所选候选特征的权重。

传统上,为了建立新的计算机模型,电子服务提供商的模型构建者(例如,数据科学家)可以基于可用的训练数据来测试一个或多个候选特征,以确定候选特征在评估电子交易风险中的各自的相关性。训练数据可以包括存储在数据库系统中的离线交易数据。在选择一组候选特征之后,可以使用存储在数据库系统中的可用训练数据来训练计算机模型。当计算机模型准备好时,电子服务提供商的软件开发人员可以在在线环境中实现计算机模型,其中计算机模型用于实时评估电子交易请求。

以这种方法建立计算机模型在时间和计算机处理方面可能代价高昂。原因之一可能是从数据库系统访问交易数据的速度很慢(例如,与访问存储器中的数据相反)。访问交易数据的时间可能会进一步受到影响,因为某些特征可能需要访问来自不同记录、不同表和/或不同数据库的交易数据。示例特征是如下特征:该特征对应于电子交易的交易金额与该电子交易中的付款方所涉及的先前交易中的平均交易金额之间的差异。向数据库系统提交第一查询,以访问与该电子交易相关联的记录。根据该记录,确定该电子交易的交易金额,并且识别该电子交易的付款方。根据所识别的付款方,向数据库提交第二查询,以访问与该付款方所涉及的过去电子交易相关联的记录。然后,可以基于与使用第二查询检索到的记录相关联的交易数据来计算平均交易金额。如所示的,从数据库系统访问多个(例如,可能数十个或数百个)不同的记录,以计算与一个电子交易相关联的特征的值。由于可能会使用成百上千个电子交易来测试特定特征,因此测试该特征所用的时间可能非常长。

第二,来自离线数据库的交易数据可能与来自在线数据库的交易数据不同(例如,离线数据库可能存储过时的记录,例如6个月前的记录等)。因此,训练数据可能未反映欺诈性电子交易的当前趋势的特性,并且因此数据科学家所选择的特征可能不是最优的。此外,由于对计算机模型的测试可能在与在线环境(在该在线环境中,将使用计算机模型来评估实时电子交易)不同的环境中执行,因此数据科学家为测试而实现的计算机模型可能必须根据在线环境而被不同地实现(例如,由软件开发人员重写源代码)。结果,软件开发人员所实现的计算机模型可能不能准确地捕获数据科学家所设想的计算机模型的每个方面。因此,在计算机模型可以在在线环境中使用之前,可能需要多次修改计算机模型。

因此,在本公开的一些方面中,提供了一种框架,以实现基于在线交易数据和用于评估电子交易的风险的计算机模型的实现方式来高效地选择、调整和评估候选特征。在一些实施例中,该框架可以提供界面,该界面使得用户(例如,电子服务提供商的数据科学家)能够从在线数据库中选择交易记录作为用于开发新的计算机模型的训练数据。例如,该界面可使得用户能够选择一个或多个指标(例如,交易类型,例如电子支付交易、登录交易、引导交易(onboarding transaction)、添加资金来源交易等)以从在线数据库系统中选择记录。一旦获得了指标,框架就可以从在线数据库系统检索交易记录(例如,通过提交查询)。

该框架可以通过从在线数据库系统获得与检索到的交易记录相关联的附加数据,来进一步丰富交易记录。附加数据可以包括导出交易记录的一个或多个特征所需的数据,并且可以包括来自另一交易记录的交易数据。例如,对于每个所选的交易记录,框架可以检索其他相关交易记录(例如,与所选交易记录具有相同付款方和/或收款方的其他交易记录、来自与所选交易记录具有相同IP地址的设备的其他交易记录等)的交易数据(例如,交易金额、交易日期等)。

在一些实施例中,该框架可以序列化(例如,扁平化)经丰富的交易记录。例如,可以根据在线数据库系统中的特定数据结构(例如,表的层级、相互链接的数据对象等)来存储交易记录的交易数据。因此,框架可以通过从特定数据结构提取交易数据并将交易数据序列化为字符串(例如,文本格式)来序列化来自每个交易记录的交易数据,其中,每个交易数据段可以使用特殊字符(例如,逗号等)而与另一个交易数据段分隔开。在一些实施例中,经序列化的交易数据可以存储在数据文件(例如,文本文件)中,使得每个交易记录的交易数据可占用数据文件中的单个行(例如,单个排)。与交易记录相关联的附加数据可以附加到数据文件中的交易记录的交易数据。使交易数据序列化的优点是,交易数据及其相关联的附加数据可以随后被访问(例如,被多次访问)以高效地创建和评估特征候选,而不需要访问在线数据库系统。从平面数据结构(例如,文本文件)访问交易数据(以及附加数据)比从数据库系统访问相同的数据要快,从数据库系统访问数据需要提交多个查询并从多个数据结构(例如,记录和/或表)检索数据。此外,由于与交易记录相关联的交易数据和附加数据被分组在一起(例如,存储在同一行或同一排中),因此创建和评估交易记录的候选特征可能需要的所有相关信息都可以简单地通过从数据文件的同一行或同一排读取数据来访问,而不需要进一步访问数据库系统(例如,在线数据库系统)。

然后,该框架可以提供界面(例如,应用编程接口(API)),该界面使得数据科学家能够基于与数据文件中的交易记录相关的数据来创建、调整和/或评估候选特征。例如,API可以使数据科学家能够通过在软件代码中进行不同的函数调用来访问所选交易记录的不同属性。在一个示例中,数据科学家可以通过进行如下函数调用来创建与电子交易的交易金额和涉及该电子交易中的付款方所涉及的先前交易中的平均交易金额之间的差异相对应的候选特征,这些函数调用从数据文件中访问每个所选交易的交易金额以及付款方所涉及的过去交易的交易金额。基于通过API进行的函数调用,框架可以通过基于与存储在数据文件中的所选交易记录相关联的交易数据和附加数据来执行计算,以提供与候选特征相对应的值。由于从数据文件访问交易数据和/或附加数据较快(例如,相对于访问数据库系统),因此可以快速地将值提供给数据科学家,并且数据科学家可以更高效地操纵和/或调整候选特征。

通过使用框架所提供的API,数据科学家可以操纵、测试和评估特征候选,以确定要在计算机模型中使用的特征集合。一旦确定了用于评估电子交易的风险的特征集合和逻辑,框架就可以基于该特征集合和逻辑来生成和/或配置计算机模型。计算机模型可以是可使用训练数据集合来训练的机器学习模型。有利地,计算机模型可被生成和/或配置为与在线数据库一起工作以评估实时电子交易的风险,从而不需要其他软件开发人员对计算机模型进行转化或额外实现。在一些实施例中,框架还可以通过对所选的交易记录运行计算机模型来验证该计算机模型(例如,测试该计算机模型)。例如,该框架可以使用计算机模型来为每个所选的交易记录生成风险分数,并将该风险分数和与所选的交易记录相关联的已知结果(例如,预定风险分数)进行比较。

然而,由于所生成的计算机模型被配置为与在线数据库系统一起工作,因此计算机模型可以基于与在线数据库系统相关联的特定数据结构来提取数据,该特定数据结构与数据文件中的交易数据的序列化格式是不同的。因此,一些实施例的框架可以通过根据在线数据库系统的数据结构将交易数据和附加数据存储在数据库对象(例如,记录表、数据对象等)中来反序列化交易数据和附加数据,以模拟在线数据库系统。然后,框架针对每个交易记录运行计算机模型。例如,框架可以从数据结构中检索第一交易记录,并且可以基于与第一交易记录相关联的交易数据和/或附加数据导出与特征集合相对应的一组值。然后,该框架可将该组值作为输入数据提供给计算机模型,计算机模型随后可基于该组值产生风险分数。

在一些情况下,所选择的交易记录可能包括大量记录(例如,1000万条交易记录)。因此,在一些实施例中,框架可以在分布式系统上执行对计算机模型的测试。对数据进行序列化并生成数据文件的另一个好处是,针对每个交易记录所存储的数据(例如,交易数据和附加数据)包括由计算机模型评估交易记录的风险所需的所有信息,并且每个记录的数据可以容易地彼此分离,因为与每个交易记录相关的数据被存储在一起(例如,在数据文件的一行或一排中)。因此,该框架可以容易地将交易记录划分为交易记录组(例如,基于数据文件中的数据行或数据排)。然后,该框架可以将交易记录组分发到多个计算机服务器。每个计算机服务器可以通过根据在线数据库系统的数据结构将组中的交易记录的交易数据和附加数据存储在数据库对象中,来对该计算机服务器的相应的交易记录组进行反序列化。然后,每个计算机服务器可以针对其相应组中的交易记录使用计算机模型,以生成这些交易记录的风险分数。然后,该框架可以汇集来自不同计算机服务器的由该计算机模型生成的风险分数,并且可以基于计算出的风险分数来验证该计算机模型。

在一些实施例中,框架的至少一部分可以在数据科学家所使用的设备上实现,使得可以在数据科学家所使用的本地设备上执行生成计算机模型的操作。例如,数据文件可以保存在本地设备的存储器中,并且可以由该框架本地访问(与通过网络来检索数据相反)。此外,当验证计算机模型时,经反序列化的数据还可以存储在本地机器的存储器中。通过本地设备来执行生成和验证计算机模型的操作(而不需要访问远程数据库系统)进一步提高了框架的性能。

图1示出了根据本公开的实施例的电子交易系统100,可以在该电子交易系统100中实现该框架。电子交易系统100包括与电子服务提供商相关联的服务提供商服务器130、商家服务器120、以及用户设备110,它们可通过网络160彼此通信地耦合。服务提供商服务器130可直接地或通过与电子服务提供商相关联的内部网络与设备170通信地耦合。在一个实施例中,网络160可以被实现为单个网络或多个网络的组合。例如,在各种实施例中,网络160可以包括互联网和/或一个或多个内部网、陆地线网络、无线网络、和/或其他适当类型的通信网络。在另一示例中,网络160可包括适于与诸如互联网之类的其他通信网络进行通信的无线电信网络(例如,蜂窝电话网络)。

在一个实施例中,用户140可以使用用户设备110来通过网络160与商家服务器120和/或服务提供商服务器130进行交互。例如,用户140可以使用用户设备110来登录到在电子服务提供商处开立的用户账户,以利用服务提供商服务器130进行账户服务或进行电子交易(例如,电子支付交易、添加资金来源交易等)。类似地,与商家服务器120相关联的商家可以使用商家服务器120来登录到在电子服务提供商处开立的商家账户,以利用服务提供商服务器130进行账户服务或进行电子交易(例如,电子支付交易)。在各种实施例中,可以使用被配置用于通过网络160进行有线和/或无线通信的硬件和/或软件的任何适当组合来实现用户设备110。在各种实现方式中,用户设备110可以包括无线蜂窝电话、可穿戴计算设备、PC、膝上型计算机等中的至少一者。

在一个实施例中,用户设备110包括用户界面应用112(例如,网络浏览器、移动应用等),用户可使用该用户界面应用112来通过网络160利用服务提供商服务器130进行电子交易(例如,销售、购物、购买、出价、执行电子支付等)。在一个方面,可以通过用户界面应用112直接地和/或自动地从与用户相关的账户中借记购买费用。

在一个实现方式中,用户界面应用112包括能够由处理器执行的软件程序,例如图形用户界面(GUI),该处理器被配置为通过网络160与服务提供商服务器130进行接口连接和通信。在另一实现方式中,用户界面应用112包括浏览器模块,该浏览器模块提供网络界面以浏览在网络160上可获得的信息。例如,用户界面应用112可以部分地实现为网络浏览器,用于查看在网络160上可获得的信息。

在各种实施例中,用户设备110可以包括在本公开的一个或多个实施例中可能需要的其他应用116,以提供用户140能够使用的附加特征。在一个示例中,这样的其他应用116可以包括用于实现客户端安全特征的安全应用、用于通过网络160与适当的应用编程接口(API)接口连接的编程客户端应用、和/或各种其他类型的通常已知的程序和/或软件应用。在其他示例中,其他应用116可以与用户界面应用112接口连接,以提高效率和方便性。

在一个实施例中,用户设备110可以包括至少一个用户标识符114,该用户标识符114可以例如实现为操作系统注册表项、与用户界面应用112相关联的cookie、与用户设备110的硬件相关联的标识符(例如,媒体控制访问(MAC)地址)、或各种其他适当的标识符。用户标识符118可以包括与用户设备110的用户140相关的一个或多个属性,例如,与用户相关的个人信息(例如,一个或多个用户名、密码、照片图像、生物识别ID、地址、电话号码、社会安全号码等)以及银行信息和/或资金来源(例如,一个或多个银行机构、信用卡发卡机构、用户账号、安全数据和信息等)。在各种实现方式中,用户标识符114可与用户登录请求一起通过网络160传递给服务提供商服务器130,并且用户标识符114可由服务提供商服务器130用于将用户与由服务提供商服务器130维护的特定用户账户相关联。

在各种实现方式中,用户140能够将数据和信息输入到用户设备110的输入组件(例如,键盘)中,以与交易请求一起提供用户信息,例如,登录请求、资金转移请求、用于添加附加资金来源(例如,新信用卡)的请求、或其他类型的请求。用户信息可以包括用户标识信息。

在各种实施例中,用户设备110包括位置组件118,该位置组件118被配置为确定、跟踪、监视和/或提供用户设备110的即时地理位置。在一个实现方式中,地理位置可以包括GPS坐标、邮政编码信息、区号信息、街道地址信息、和/或各种其他通常已知类型的位置信息。在一个示例中,位置信息可由用户通过用户输入组件(例如,键盘、触摸显示器和/或语音识别麦克风)直接输入到用户设备110中。在另一示例中,位置信息可由用户设备110通过利用全球定位系统(GPS)和/或辅助GPS(A-GPS)的内部或外部监视组件来自动获得和/或提供,其中,全球定位系统(GPS)使用基于卫星的定位,辅助GPS(A-GPS)使用蜂窝塔信息来提高基于GPS的定位的可靠性和准确性。在其他实施例中,可以自动获得位置信息而无需使用GPS。在一些情况下,使用小区信号或无线信号。例如,可以通过使用用户设备110在诸如信标之类的位置处利用签入(check-in)设备进行签入来获得位置信息。这有助于节省电池寿命,并允许在GPS通常不工作的室内位置处更好地定位。

虽然在图1中仅示出了一个用户设备110,但是设想了一个或多个用户设备(均类似于用户设备110)可以通过系统100内的网络160与服务提供商服务器130通信地耦合。

在各种实施例中,可以由商业实体(或者在一些情况下,代表商业实体处理交易的业务实体的伙伴)维护商家服务器120。商业实体的示例包括商家网站、资源信息网站、公用事业网站、房地产管理网站、社交网站等,这些网站提供各种供用于购买的物品并处理用于购买的付款。商家服务器120可以包括商家数据库124,该商家数据库124用于标识可以提供给用户设备110以供用户查看和购买的可用物品。

在一个实施例中,商家服务器122可以包括市场应用122,市场应用122可以被配置为通过网络160向用户设备110的用户界面应用112提供信息。例如,用户设备110的用户140可以经由网络160通过用户界面应用112与市场应用122进行交互,以搜索和查看商家数据库124中可供购买的各种物品。

在一个实施例中,商家服务器120可以包括至少一个商家标识符126,该商家标识符126可被包括作为可供购买的一个或多个物品的一部分,使得例如特定物品与特定商家相关联。在一个实现方式中,商家标识符126可以包括与商家相关的一个或多个属性和/或参数,例如业务信息和银行信息。商家标识符126可以包括与商家服务器120相关的属性,例如标识信息(例如,序列号、位置地址、GPS坐标、网络标识号等)。

商家还可以使用商家服务器120通过网络160与服务提供商服务器130通信。例如,商家可以在服务提供商向商家提供各种服务(例如,商家的消费者与商家自身之间的支付中介)的过程中使用商家服务器120与服务提供商服务器130通信。例如,商家服务器120可以使用应用编程接口(API),其允许商家服务器120提供物品销售,其中消费者被允许通过服务提供商服务器130进行支付,而用户140可以具有在服务提供商服务器130处开立的账户,该账户允许用户140使用服务提供商服务器130向允许使用服务提供商的认证、授权和支付服务作为支付中介的商家进行支付。商家也可以具有在服务提供商服务器130处开立的账户。虽然在图1中仅示出了一个商家服务器120,但是设想了一个或多个商家服务器(均类似于商家服务器120)可以通过系统100中的网络160与服务提供商服务器130和用户设备110通信地耦合。

在一个实施例中,服务提供商服务器130可以由可提供电子服务(例如,销售商品处理、购买商品、执行电子交易等)的交易处理实体或电子服务提供商来维护。因此,服务提供商服务器130可以包括服务应用138,其可以适于通过网络160与用户设备110和/或商家服务器120进行交互,以便于执行搜索、选择、购买、支付物品和/或由服务提供商服务器130提供的其他服务。在一个示例中,服务提供商服务器130可以由美国加利福尼亚州圣何塞的

在一些实施例中,服务应用138可以包括支付处理应用(未示出),用于处理针对用户和商家之间的金融交易的购买和/或支付。在一个实现方式中,支付处理应用通过验证、交付和结算来协助解决金融交易。因此,支付处理应用结算用户和商家之间的债务,其中账户可以以银行业接受的方式直接和/或自动借记和/或贷记货币资金。

服务提供商服务器130还可以包括网络服务器134,该网络服务器134被配置为通过响应于HTTP请求向用户提供网络内容来与用户设备110的网络浏览器进行交互。因此,网络服务器134可以包括准备好提供给用户的预生成网络内容。例如,网络服务器134可以存储登录页,并且网络服务器134被配置为将登录页提供给用户,以用于登录到用户的用户账户以访问由服务提供商服务器130提供的各种服务。网络服务器134还可以包括与服务提供商服务器130提供的不同电子服务相关联的其他网页。由此,通过生成指向服务提供商服务器130的HTTP请求,用户可以访问与该用户相关联的用户账户并访问由服务提供商服务器130提供的各种服务。

在一个实施例中,服务提供商服务器130可以被配置为在账户数据库136中维护一个或多个用户账户、商家账户和交易记录。因此,账户数据库可以存储与一个或多个单独用户相关联的账户信息(例如,与用户设备110相关联的用户140)以及与交易相关联的商家和交易数据。例如,账户信息可以包括用户和商家的私人金融信息,例如,一个或多个账号、密码、信用卡信息、银行信息、所使用的数字钱包、或其他类型的金融信息。交易记录可以包括互联网协议(IP)地址、与交易相关联的设备信息、交易日期、交易金额、付款方身份、收款方身份等。在某些实施例中,账户信息还包括用户购买简档信息,例如,与用户相关联的账户资金选项和付款选项、付款信息、收据、以及响应于完成的资金和/或付款交易而收集的其他信息。

在一个实现方式中,用户可以具有由服务提供商服务器130存储的身份属性,并且用户可以具有用于在服务提供商服务器130处认证或验证身份的凭证。用户属性可以包括个人信息、银行信息和/或资金来源。在各个方面中,用户属性可以作为登录、搜索、选择、购买和/或支付请求的一部分而传递给服务提供商服务器130,并且服务提供商服务器130可以利用用户属性将用户与服务提供商服务器130所维护的一个或多个特定用户账户相关联。

在各种实施例中,服务提供商服务器130包括风险分析模块132,该风险分析模块132被配置为确定是授权还是拒绝来自用户设备110或来自商家服务器120的传入请求。该请求可以是登录请求、电子支付请求、用于添加附加资金来源的请求、引导请求、或与服务提供商服务器130所提供的各种电子服务相关联的其他类型的请求。因此,当在服务提供商服务器130处接收到新请求(例如由网络服务器134接收)时,风险分析模块132可以分析该请求(例如基于存储在账户数据库136中的信息),并确定是授权还是拒绝该请求。风险分析模块132可以向网络服务器134和/或服务应用138发送对授权还是拒绝该请求的指示,使得网络服务器134和/或服务应用138可以基于该指示来处理请求。

图2示出了根据本公开的实施例的风险分析模块132的框图。风险分析模块132包括用于生成风险分析模型202的模型生成模块204。风险分析模型202是进行以下操作的计算机模型:接收与电子交易请求相关的数据,该电子交易请求为例如登录请求、电子资金转账(例如,支付)请求、或者向用户账户添加附加资金来源的请求等;分析数据;以及基于对该请求是否可能是欺诈性请求的确定来生成针对该请求的结果(例如,风险分数)。风险分析模型202所接收的数据可对应于被确定为要由风险分析模型202使用的特征集合(例如,特征F1、F2、F3等)。

如上所述,恶意用户经常使用不同的欺诈策略来执行未经授权的交易(例如,在未经授权的情况下使用另一用户的账户来执行电子交易等)。例如,恶意用户可能使用网络钓鱼技术或中间人攻击来获得与用户账户相关联的用户凭证。通常,由恶意用户(未授权用户)发起的交易请求可能提供该请求不是由授权用户生成的线索。例如,未授权用户发起的交易请求通常具有不同于合法用户生成的过去交易请求的特性。这些特性可以包括生成请求的位置(例如,由发起请求的设备的IP地址指示)、用于发起请求的设备类型、用于发起请求的浏览器类型等。此外,由于恶意用户可能没有获得所有的用户凭证,因此在“猜测”正确的用户凭证之前,恶意用户可能进行多次失败登录尝试。因此,一段时间内登录尝试失败的次数可能表示该请求是欺诈请求。恶意用户的行为也可能与合法用户不同。因此,任何偏离账户“正常”行为的行为(例如,与平均交易金额相差阈值金额的交易金额等)也可指示交易请求可能对应于欺诈性交易请求。

因此,风险分析模型202可获得与电子交易请求相关的数据(例如,特征),这些数据可包括源设备的IP地址、源设备的设备类型、在一段时间内针对用户账户进行的成功交易的数量、在一段时间内尝试使用用户账户进行的失败交易的数量、当前时间、用于生成请求的浏览器的浏览器类型、与请求相关联的金额、请求的交易类型、在预定时间段内与付款方/收款方相关联的平均交易金额、以及与请求相关的其他信息。在一些实施例中,风险分析模型202被训练或配置为基于所接收的数据来预测请求是否是可能的欺诈性请求。因此,风险分析模型202所产生的结果可以是二元结果,该结果是可能的欺诈性请求或者合法请求。在一些实施例中,该结果可以是指示交易请求是欺诈性请求的可能性的分数(例如,风险分数)。然后,风险分析模块132可以将对风险分析模型202所生成的结果的指示提供给服务提供商服务器130内的其他模块或服务器,例如,网络服务器134和/或服务应用138,使得这些其他模块可以相应地处理交易请求。

图3示出了根据本公开的实施例的模型生成模块204的框图。模型生成模块204包括:模型生成管理器302,被配置为从在线数据库(例如,账户数据库136)检索交易记录;数据丰富模块304,被配置为利用从账户数据库136中的至少一个其他交易记录获得的附加数据来丰富每个检索到的交易记录中的交易数据;应用编程接口(API)306,被提供用于使用户(例如,数据科学家)能够基于检索到的交易数据和附加数据来创建、调整和评估候选特征;以及特征导出模块306,被配置为从候选特征导出特征集合以在风险分析模型(例如,风险分析模型202)中使用。

图4示出了根据本公开的实施例的用于生成风险分析模型的过程400。在一些实施例中,可由模型生成模块204来执行过程400。过程400开始于从数据库中获得(步骤405)与交易集合相关联的交易记录集合。例如,模型生成管理器302可以确定一组指标,以用于从账户数据库136中选择交易记录。在一些实施例中,模型生成管理器302可以向设备170的用户提供界面,以使用户能够选择一个或多个指标(例如,交易类型)。例如,用户可以向模型生成管理器302指示一个或多个交易类型,例如电子支付交易类型、登录交易类型、引导交易类型、添加资金来源交易类型等。一旦模型生成管理器302确定了指标集合,模型生成管理器302就可以从账户数据库136检索满足该指标集合的交易记录(例如,交易记录322-328)。在一些实施例中,模型生成管理器302可以基于该指标集合来生成数据库查询(例如,结构化查询语言(SQL)查询),并且可以针对账户数据库136执行该查询。作为对执行该查询的响应,账户数据库136可以向模型生成管理器302提供满足该指标集合的交易记录。例如,如果该指标集合指示电子支付交易类型,则每个检索到的交易记录可以包括与电子支付交易相关联的交易数据(例如,交易日期、交易金额、付款方标识符、收款方标识符、交易位置等)。

然后,过程400序列化(步骤410)来自交易记录集合的交易数据。如本文所讨论的,可以根据预定的数据结构将交易记录的交易数据存储在账户数据库中。例如,每个交易记录的交易数据可以存储在不同的表中、不同的数据库中(例如,在关系数据库系统中)、不同的相互链接的数据对象中等。在一些实施例中,在接收到交易记录(例如,交易记录322-328)后,模型生成管理器302可以通过从特定数据结构中提取交易数据并且将该交易数据序列化为字符串(例如,文本格式)来序列化(例如,扁平化)交易记录,其中,每个交易数据段可以使用特殊字符(例如,逗号等)与另一交易数据段分隔开。在一些实施例中,经序列化的交易数据可以存储在数据文件(例如,文本文件)中,使得每个交易记录的交易数据可以占据数据文件中的单个行(例如,单个排)。在数据文件330中可以通过另一特殊字符(例如,回车符)将不同的交易记录分隔开。经扁平化的(例如,经序列化的)交易数据使得模型生成模块204能够以比访问来自账户数据库136的交易数据更快的速度来访问数据文件330中的交易数据。

过程400丰富(步骤415)交易记录集合。例如,数据丰富模块304可以利用从账户数据库136的一个或多个其他交易记录获得的附加数据来丰富每个交易记录的交易数据。附加数据可以包括导出交易记录的一个或多个特征所需的数据,并且可以包括来自另一交易记录的交易数据。在一些实施例中,对于每个交易记录,数据丰富模块304可以从与该交易记录相关联的交易数据中提取一个或多个属性,并且可以基于所提取的属性从一个或多个其他交易记录中获得附加数据。例如,当交易记录对应于电子支付交易时,数据丰富模块304可以从每个交易记录中提取付款方标识符和收款方标识符。然后,数据丰富模块304可以检索涉及同一付款方和/或收款方的过去交易的交易数据。因此,数据丰富模块304可以生成查询(例如,SQL查询),以基于从交易记录提取的付款方标识符和/或收款方标识符来检索交易记录的交易数据(例如,交易金额、交易日期等),作为交易记录的附加数据。数据丰富模块304可以针对数据文件中的每个交易记录执行提取属性和检索附加数据的相同过程。当从账户数据库136获得其他交易记录的交易数据(例如,附加数据)时,数据丰富模块304可以将附加数据添加到存储在数据文件330中的交易记录的交易数据。例如,数据丰富模块304可以在数据文件330中的交易记录的交易数据的末尾附加与每个交易记录相关联的附加数据。因此,数据文件330中的每一行(或每一排)可以包括与交易记录相关联的交易数据以及附加数据。也可以通过特殊字符(例如,逗号)将不同的附加数据分隔开。这样,可以在数据文件330的同一行(或同一排)中获得针对交易记录计算风险分析模型的输入值(对应于特征)所需的所有信息。

在丰富交易记录之后,过程400基于分析经丰富的交易记录集合来导出(步骤420)一个或多个特征。在一些实施例中,模型生成模块204可以提供API 306,API 306使得设备170的用户能够访问数据文件330中的各种数据以创建、调整和/或评估各种候选特征。例如,API 306可以使得设备170的用户能够基于数据类型(例如,交易日期、交易金额、付款方标识符等)访问不同的数据,使得设备170的用户不需要知晓数据文件330的数据结构。此外,基于通过API 306提交的请求,模型生成模块204还可以基于与交易记录相关联的交易数据和/或附加数据来计算与特定特征相对应的一个或多个值。例如,设备170的用户可以通过API 306提交生成特征(例如,特征候选)的请求,该特征与电子交易的交易金额与电子交易中的付款方和/或收款方所涉及的先前交易中的平均交易金额之间的差异相对应。基于该请求,特征导出模块308可以访问与每个交易记录相关联的不同交易数据(例如,访问交易记录的交易金额以及与付款方和/或收款方相关联的先前交易的交易金额)。然后,针对每个交易记录,特征导出模块308可以通过对与交易记录相关联的一些交易数据执行计算来计算与特征候选相对应的值。然后,模型生成模块204可以通过设备170将计算出的值提供给用户。

通过使用API 306,设备170的用户可以创建不同的候选特征、调整候选特征和评估候选特征(例如,通过审查与特征相对应的计算出的值并确定特征对交易记录的风险的指示程度)。一旦用户确定了要在风险分析模型202中使用的最后的特征集合(例如,发起交易的设备的IP地址、交易金额、用于发起交易的浏览器类型、电子交易的交易金额与电子交易中的付款方所涉及的先前交易中的平均交易金额之间的差异等),模型生成管理器302可以基于该特征集合来生成或配置风险分析模型202。例如,模型生成管理器302可以生成或配置风险分析模型202,使得风险分析模型202提取和与交易请求相关联的特征集合相对应的输入数据,并产生指示交易请求的风险的结果(例如,风险分数)。

图5示出了风险分析模型202的示例实现方式。在该示例中,风险分析模型202被实现为用于评估电子交易请求的风险的人工神经网络500。如图所示,人工神经网络500包括三个层:输入层502、隐藏层504和输出层506。层502、504和506中的每一层可以包括一个或多个节点。例如,输入层502包括节点508-514,隐藏层504包括节点516-518,以及输出层506包括节点522。在该示例中,层中的每个节点连接到相邻层中的每个节点。例如,输入层502中的节点508连接到隐藏层504中的节点516和518两者。类似地,隐藏层中的节点516连接到输入层502中的所有节点508-514和输出层506中的节点522。尽管针对人工神经网络500只示出了一个隐藏层,但设想了由模型生成模块204生成或配置的人工神经网络500可以包括所需数量的隐藏层。

在该示例中,人工神经网络500被配置为接收与特征集合相对应的输入值集合(例如,I1、I2、I3、I4等),并产生输出值。输入层502中的每个节点可对应于不同的输入值。因此,模型生成模块204可以将人工神经网络500的输入层502中的节点508-514配置为与由特征导出模块308导出的特征集合相对应。例如,节点508可以与发起交易的设备的IP地址的特征相对应,节点710可以与交易金额的特征相对应,节点712可以与用于发起交易的浏览器类型的特征相对应,并且节点714可以与电子交易的交易金额与电子交易中的付款方所涉及的先前交易中的平均交易金额之间的差异的特征相对应。

尽管示出了在人工神经网络500中仅包括四个输入节点,但是模型生成模块204可以基于特征导出模块308所确定的特征的数量来生成或配置风险分析模型202,以包括更多(或更少)的输入节点。在一些实施例中,隐藏层504中的每个节点516-518生成表示,这可以包括数学计算(或算法),其基于从节点508-514接收的输入值来产生值。该数学计算可以包括向从节点508-514接收的每个数据值分配不同的权重。节点516和518可以包括不同的算法和/或从节点508-514分配给数据变量的权重,使得节点516-518可以基于从节点508-514接收到的相同输入值产生不同的值。在一些实施例中,最初分配给节点516和518中的每一个的权重可以随机生成(例如,使用计算机随机化器)。由节点516和518生成的值可由输出层506中的节点522使用,以产生用于人工神经网络500的输出值。在一些实施例中,由人工神经网络500产生的输出值可以指示电子交易请求对应于欺诈性交易请求的可能性。

可以通过使用历史电子交易数据(训练数据)来训练人工神经网络700。历史电子交易数据可包括过去不同时间段的交易记录(例如,2016年7月至2017年3月、2015年7月至2016年3月、2014年7月至2015年3月等)。通过将训练数据提供给人工神经网络500,可以训练(调整)隐藏层504中的节点516和518,使得基于训练数据在输出层506中产生最佳输出(电子交易请求对应于欺诈性交易请求的可能性)。通过连续提供不同的训练数据集合并在输出不正确时惩罚人工神经网络500,人工神经网络500(具体地,隐藏层504中的节点的表示)可以被训练(调整)以随着时间提高其在检测欺诈性电子交易请求方面的性能。调整人工神经网络500可以包括调整与隐藏层504中的每个节点相关联的权重。

返回参考图4,过程400然后反序列化(步骤425)经丰富的交易记录集合并使用(步骤430)经反序列化的经丰富的交易记录集合来评估一个或多个特征。例如,模型生成模块204可以使用从账户数据库136检索到的交易记录来验证(例如,测试)风险分析模型202,以确定性能(例如,检测欺诈性交易请求的准确性)高于预定阈值。如本文所讨论的,使用该框架来生成风险分析模型的一个好处是,所生成的模型可以无缝地并入在线系统,而不需要从一个实现方式转换到另一个实现方式(例如,改变软件代码)。这样,生成的风险分析模型202可被配置为根据与在线系统相关联的特定数据结构(例如,与账户数据库136中的数据结构相同的数据结构)提取输入数据,该特定数据结构与数据文件330的数据结构(可以是平面数据结构,也可以没有数据结构)不同。因此,为了使风险分析模型202提取与交易记录相关联的交易数据,模型生成管理器302可以通过以下操作来反序列化数据文件330中的交易数据:生成数据结构(例如在,设备的随机存取存储器(RAM)中),该数据结构模拟账户数据库136的特定数据结构;并且将来自数据文件330的交易数据插入到生成的数据结构。在一些实施例中,即使交易数据根据特定数据结构被格式化(例如,排列),交易数据保留在设备的RAM中(与存储在实际的数据库系统中相反),交易数据也可以相对快速地被访问。这样,风险分析模型202可以从数据结构访问交易数据,如同它正在访问账户数据库136一样,但是不需要访问实际的数据库系统。因此,风险分析模型202可用于通过以下操作来评估交易记录:访问反序列化格式的交易数据;基于交易数据来计算与在步骤420确定的特征相对应的输入值;以及在不访问数据库系统的情况下,基于输入值生成输出。生成的输出(例如,风险分数、对交易请求是否对应于欺诈性请求的指示等)可与交易是否对应于欺诈性交易的已知结果进行比较,以验证风险分析模型202。

在步骤435,过程400配置机器学习模型,以基于所导出的一个或多个特征来评估未来交易。例如,在验证风险分析模块202之后,模型生成模块204可以将风险分析模型202发送到服务提供商服务器130,以由风险分析模块132用来基于由模型生成模块204确定的特征集合来评估传入的交易请求(例如,来自用户设备110和/或商家服务器120的请求)。

在一些实施例中,模型生成模块204可以在服务提供商服务器130内实现,并且设备170的用户可以通过连接到服务提供商服务器130来访问模型生成模块204的功能(例如,以便创建/评估特征、生成/配置风险分析模型),使得模型生成模块204的大部分操作是在服务提供商服务器130处执行的。替代地,模型生成模块204的至少一部分可以在设备170内实现,使得生成计算机模型的操作可以在数据科学家所使用的本地设备上执行。有利地,在从账户数据库136检索交易数据和附加数据之后,交易数据和附加数据(例如,以序列化格式存储在数据文件330中)可以存储在本地设备(例如,设备170)中,并且由模型生成模块204本地访问(而不访问来自远程设备的数据)。此外,当验证计算机模型时,经反序列化的数据还可以存储在本地机器的存储器中。在不需要访问远程数据库系统的情况下,通过本地设备执行生成和验证计算机模型的操作,进一步提高了框架的性能。

此外,由于每个交易记录的交易数据和附加数据以序列化格式存储,因此评估不同交易记录所需的信息可以容易地彼此分隔开。因此,模型生成管理器302可以将与数据文件330中的交易记录相关联的数据划分为多个交易记录组。将与交易记录相关联的数据划分为多个组的好处之一是,通过使用多个设备(例如,多个服务器)并行地验证风险分析模型202,可以加快对风险分析模型202的验证。例如,如图6所示,模型生成模块204可以将与数据文件330中的交易记录相关联的数据划分为多个数据文件(例如,数据文件622-626),其中每个数据文件包括不同的交易记录组(例如,与交易记录组关联的交易数据和附加数据)。然后,模型生成模块204可以将数据文件622-626分别发送到设备602-606。例如,模型生成模块204可以向设备602发送存储与第一交易记录组相关联的交易数据和附加数据的数据文件622。模型生成模块204可以向设备604发送存储与第二交易记录组相关联的交易数据和附加数据的数据文件624。模型生成模块204可以向设备606发送存储与第三交易记录组相关联的交易数据和附加数据的数据文件626。模型生成模块204还可以将风险分析模块202发送到设备602-606中的每一个,使得设备602-606中的每一个可以使用相应的数据文件来验证风险分析模型202。由于对风险分析模型202的验证可以跨多个设备并行地执行,因此该验证可以比由单个设备执行的情况快得多地完成。在一些实施例中,设备602-606中的每一个可以将风险分析模型202生成的输出与已知结果进行比较,然后向模型生成模块204返回摘要(例如,比较报告)。在一些实施例中,设备602-606可以简单地将风险分析模型202的输出发送回模型生成模块204,并且模型生成模块204可以通过将输出与已知结果进行比较来验证风险分析模型202。

因此,通过使用本文所公开的框架,可以比使用传统方法更快地生成风险分析模型,使得可以在在线系统中以更短的周转时间实现经更新的风险分析模型,从而在评估交易请求的风险时提供更好的性能。

图7是适于实现本公开的一个或多个实施例的计算机系统700的框图,其中包括服务提供商服务器130、商家服务器120、用户设备110和设备170。在各种实现方式中,用户设备110和设备170中的每一者可以包括适于无线通信的移动蜂窝电话、个人计算机(PC)、膝上型计算机、可穿戴计算设备等,并且服务提供商服务器130和商家服务器120中的每一者可以包括网络计算设备(例如,服务器)。因此,应当理解,设备110、120、130和170可以如下方式被实现为计算机系统700。

计算机系统700包括总线712或其他通信机制,用于在计算机系统700的各个组件之间传送信息数据、信号和信息。这些组件包括输入/输出(I/O)组件704,该输入/输出(I/O)组件704处理用户(即发送方、接收方、服务提供商)动作(例如,选择小键盘/键盘上的键、选择一个或多个按钮或链接等),并向总线712发送相应的信号。I/O组件704还可以包括输出组件,例如,显示器702和光标控件708(例如,键盘、小键盘、鼠标等)。显示器702可被配置为呈现用于登录用户账户的登录页面或用于从商家购买物品的结账页面。还可以包括可选的音频输入/输出组件706,以允许用户通过转换音频信号来使用语音输入信息。音频I/O组件706可允许用户听到音频。收发器或网络接口720经由网络722在计算机系统700和诸如另一用户设备、商家服务器或服务提供商服务器之类的其他设备之间发送和接收信号。在一个实施例中,传输是无线的,但其他传输介质和方法也可以是合适的。处理器714可以是微控制器、数字信号处理器(DSP)或其他处理组件,处理器714处理这些不同的信号,例如以在计算机系统900上显示或经由通信链路724传输到其他设备。处理器914还可以控制信息(例如,cookies或IP地址)到其他设备的传输。

计算机系统700的组件还包括系统存储器组件710(例如,RAM)、静态存储组件716(例如,ROM)、和/或磁盘驱动器718(例如,固态驱动器、硬盘驱动器)。计算机系统700通过执行包含在系统存储器组件710中的一个或多个指令序列来执行处理器714和其他组件的特定操作。例如,处理器714可以根据过程400执行本文描述的风险分析模型生成功能。

逻辑可以被编码在计算机可读介质中,计算机可读介质可以指参与向处理器714提供指令以供执行的任何介质。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质和传输介质。在各种实现方式中,非易失性介质包括光盘或磁盘,易失性介质包括动态存储器(例如,系统存储器组件710),传输介质包括同轴电缆、铜线和光纤(包括构成总线712的导线)。在一个实施例中,逻辑被编码在非暂时性计算机可读介质中。在一个示例中,传输介质可以采用声波或光波的形式,例如,在无线电波、光学和红外数据通信期间产生的声波或光波。

计算机可读介质的一些常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、穿孔卡、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或盒带、或计算机适于读取的任何其他介质。

在本公开的各种实施例中,实施本公开的指令序列的执行可以由计算机系统700来执行。在本公开的各种其他实施例中,通过通信链路724耦合到网络(例如,LAN、WLAN、PTSN、和/或各种其他有线或无线网络(包括电信、移动和蜂窝电话网络))的多个计算机系统700可相互协调地执行指令序列以实施本公开。

在合适的情况下,本公开提供的各种实施例可以使用硬件、软件、或硬件和软件的组合来实现。此外,在合适的情况下,本文所述的各种硬件组件和/或软件组件可以被组合为包括软件、硬件、和/或两者的复合组件,而不脱离本公开的精神。在合适的情况下,本文所述的各种硬件组件和/或软件组件可以被分离为包括软件、硬件、或两者的子组件,而不脱离本公开的范围。此外,在合适的情况下,设想软件组件可以实现为硬件组件,反之亦然。

根据本公开的软件(例如,程序代码和/或数据)可以存储在一个或多个计算机可读介质上。还设想本文中标识的软件可以使用一个或多个通用或专用计算机和/或计算机系统、以联网方式和/或以其他方式来实现。在合适的情况下,本文所描述的各种步骤的顺序可以被改变、组合为复合步骤和/或被分离为子步骤以提供本文所描述的特征。

本文所述的各种特征和步骤可以被实现为系统,包括存储本文所述各种信息的一个或多个存储器、耦合到所述一个或多个存储器的一个或多个处理器、以及网络,其中,该一个或多个处理器可用于执行本文所述的步骤,而非暂时性机器可读介质包括多个机器可读指令,这些机器可读指令当被一个或多个处理器执行时,被适于使一个或多个处理器执行包括本文所述步骤的方法、以及由一个或多个设备(例如,硬件处理器、用户设备、服务器、以及本文所述的其他设备)执行的方法。

相关技术
  • 用于生成风险评估模型的框架
  • 用于生成适用性声明4适配器的可插入框架
技术分类

06120113170679