异常订单检测方法及装置与流程

文档序号:20078742发布日期:2020-03-10 10:11阅读:713来源:国知局
异常订单检测方法及装置与流程

本申请属于数据处理技术领域,尤其涉及一种异常订单检测方法、订单检测模型生成方法、异常订单检测装置、计算机可读存储介质及计算设备。



背景技术:

目前的互联网能够为用户提供各种服务平台,例如电子商务平台、移动支付平台、信息查询平台、服务预订平台等。互联网服务平台可以为用户提供相应的人性化服务。例如,电子商务平台为用户提供网络购物服务时,用户可以通过选定商品、加入购物车、下单、支付等一系列操作,就可以快速地实现网络购物。其中下单操作是指确定订单的动作。订单是电子商务平台根据用户选定的商品的相关属性信息生成的购物订单。电子商务平台将订单提供给买家,方便买家确认自己需要购买的商品,以触发后续的支付操作,完成整个网络购物过程。电子商务平台将订单提供给商家,方便商家及时根据订单内容为用户提供具体的商品。

在互联网服务平台的实际运营过程中,常常会出现一些异常订单。异常订单通常是指由于网站bug或者漏洞所造成的所列内容与实际信息不符的订单。例如,在电子商务平台的运营过程中,一些异常订单会导致订单所列内容与卖家提供的实际商品的相关属性内容不符。异常订单往往会给卖家或者买家造成经济上和名誉上的损失,影响用户在电子商务平台上的购物体验。

电商网站存在大量异常订单问题,如免费充话费、一分钱任意购买、0元购等漏洞,经常被网络羊毛党或黑客恶意利用。为此,物联网服务平台,尤其是电子商务平台,都非常关注异常订单的排查。

目前互联网服务平台通常采用人工方式对异常订单进行排查。例如,电子商务平台常采用的排查方法包括两种:一种是,通过机器采集下单日志,检测人员根据下单日志排查异常订单;另一种是,财务人员根据实际的营收情况,去排查哪些商品存在异常订单,这两种方法都是依赖于人工实现。采用人工方式排查异常订单会耗费大量人力,并且排查效率和效果与排查者的工作能力直接相关。另外,这种人工排查的方式具有滞后性,多数是在用户已经受到严重损失或遭受不良体验的情况下,才发现异常订单的问题。

因此,如何快速有效地发现异常订单是互联网服务平台目前亟需解决地问题。



技术实现要素:

有鉴于此,本申请提供了一种异常订单检测方法、异常订单检测装置、订单检测模型生成方法、计算机可读存储介质及计算设备,通过经由分类训练生成的订单检测模型检测订单,能够实现自动排查异常订单,因此能够避免人工排查所存在的问题。

为实现上述目的,本申请提供技术方案如下:

根据本申请的第一方面,提出了一种异常订单检测方法,包括:

获取待检测订单的信息;

从所述待检测订单的信息中提取预设的特征属性的特征值;

基于所述特征值,调用订单检测模型对所述待检测订单进行检测;所述订单检测模型是利用基于历史订单获得的训练数据经过训练而生成;

根据检测结果确定所述待检测订单是否为异常订单。

根据本申请的第二方面,提出了一种订单检测模型生成方法,包括:

获取历史订单;所述历史订单包括历史正常订单和历史异常订单;

从所述历史订单中提取预设的特征属性的特征值,并基于所述特征值生成训练数据;

利用所述训练数据进行训练生成订单检测模型。

根据本申请的第三方面,提出了一种异常订单检测装置,包括:

信息获取单元,用于获取待检测订单的信息;

特征值提取单元,用于从所述待检测订单的信息中提取预设的特征属性的特征值;

订单检测单元,用于基于所述特征值,调用订单检测模型对所述待检测订单进行检测;所述订单检测模型是利用基于历史订单获得的训练数据经过训练而生成;

类别确定单元,用于根据检测结果确定所述待检测订单是否为异常订单。

根据本申请的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述实施例所述方法的步骤。

根据本申请的第五方面,提出了一种计算设备,所述计算设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述方法的步骤。

由以上技术方案可见,本申请通过获取订单信息,从该订单信息中提取预设的特征属性的特征值,并基于该特征值调用训练生成的订单检测模型对订单进行检测,能够实现自动检测出异常订单,避免依赖人工排查异常订单,从而能够提高异常订单检测效率,降低异常订单检测成本。

为让本申请的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了本申请提供的异常订单检测方法在实际应用中的应用场景图;

图2示出了本申请一实施例的异常订单检测方法的流程示意图;

图3示出了本申请一实施例的客户端和服务端的交互示意图;

图4是本申请一实施例的异常订单检测装置的结构示意图;

图5是本申请一实施例的服务端的内部结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,对本申请提供的技术方案在实际应用中的场景进行介绍。

图1示出了本申请提供的异常订单检测方法在实际应用中的应用场景图。请参见图1,本申请提供的异常订单检测方法应用于服务端102,该服务端102可以是与客户端101相互通信的,以提供互联网服务,例如电子购物服务、查询交易明细、服务预订等。其中,电子购物服务是指通过电子订单形式展示用户所选择的商品相关信息的服务。该服务端102利用本申请提供的检测方法,对互联网服务中产生的订单进行检测,以确定订单是否出现异常。

服务端102可以仅为一个客户端提供异常订单检测服务,也可以同时为多个客户端提供异常订单检测服务。如图1所示,服务端102与多个智能终端上的客户端通信,对各个客户端产生的订单进行实时异常订单检测,以排查各订单是否为异常订单。

在实际应用中,客户端101可以是独立的应用程序,还可以是嵌入在应用中的功能模块等,例如,可以是“天猫”、“淘宝”等移动终端app中的功能模块,等等。该客户端可以安装或内置在智能终端中,以供用户使用。而客户端101所使用的智能终端可以是手机、笔记本、平板电脑等支持应用程序运行的终端设备。服务端102可以是为客户端提供业务数据支持的后台服务端,可以是物理服务器或云服务器。例如:在实际应用中,该客户端101可以是“天猫”应用,而服务端102可以是天猫应用的后台服务器。

在上述客户端101和服务端102的应用场景下,服务端102在为客户端101提供电子商务服务等数据支持的同时,利用本申请的异常订单检测方法对客户端101展示的订单进行检测,能够及时有效地检测出订单是否出现异常。

但本申请实施例的异常订单检测方法,在实际应用中,并不局限于上述应用场景,例如,还可以应用在除与客户端通信的服务端之外的其他服务端中,即,该检测方法可以不直接应用在为客户端提供电子商务服务的数据支持的服务端102中,而是应用在其他服务端或客户端中,那么该服务端或客户端在实现时,需要从客户端101中获取订单,然后对该订单进行检测。或者,该服务端或客户端可以从为客户端101提供数据支持的服务端102中获取订单,然后对该订单进行检测。在该应用场景下,既能够保证异常订单检测的及时性,又不会增加服务端102的数据处理压力。

以上是对本申请提供的异常订单检测方法在实际应用中的场景实例的介绍。下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和构思。

虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构在实际的装置或终端产品中应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行。

图2示出了本申请一实施例的异常订单检测方法的流程示意图。请参见图2,上述服务端102等订单检测端,所使用的异常订单检测方法,主要可包括:

步骤s110:获取待检测订单的信息;

步骤s120:从所述待检测订单的信息中提取预设的特征属性的特征值;

步骤s130:基于所述特征值,调用订单检测模型对所述待检测订单进行检测;所述订单检测模型是利用基于历史订单获得的训练数据经过训练而生成;

步骤s140:根据检测结果确定所述待检测订单是否为异常订单。

在上述步骤s110中,可以从各种不同渠道获取订单,例如,互联网服务平台、人工录入等。可以通过各种不同方式获取订单,例如,拉取、接收等。所获取订单的信息可以包含该订单本身所列信息、与该订单相关的信息等。与该订单相关的信息例如可以包括该订单的下单账号的下单信息等。

在上述步骤s120中,可以通过各种不同方式从所述待检测订单的信息中提取特征值,例如,查找、统计、分类等。该特征属性的个数可以是一个或多个。该特征属性可以根据能够衡量订单是否异常的特征来确定的。该特征属性可以体现正常订单和异常订单的差异,可以通过经验分析、数据挖掘确定。

在上述步骤s130中,该订单检测模型可以是预先编写的程序代码、应用程序、功能模块等。在需要对订单进行检测时,可以通过调取该订单检测模型的程序代码,或者,获取该订单检测模型的应用程序或功能模块的路径,来实现订单检测。该订单检测模型对订单进行检测的结果可以包括订单在某一个或多个方面的特性,例如,异常概率、正常概率等。

该历史订单可以是订单类别已知的订单,可以包括历史正常订单和历史异常订单。异常订单可以由漏洞、触发bug等原因导致。该历史订单可以包括多个订单,以及该些订单对应的订单类别,即,是订单正常或订单异常。

由于现有的互联网服务平台(例如电子商务平台)通常已经采用人工检测方式进行订单类别检测,生成了大量订单的类别检测结果,包括:订单内容以及该订单的类别,该些类别检测结果可以是存储在数据库中。因此,本申请实施例在实施时,可以直接该种数据库获取历史订单,这样既能够最大化利用已有数据资源,又能够减少对训练数据的准备操作。历史订单的数据还可以从日志获得,例如,通过日志记录获得每一笔订单的下单时间、下单内容、下单金额等信息。

当然,如果无法直接获取互联网服务平台的这些历史订单,也可以通过以下方式预先生成所述历史订单,该方式可以是:先采集互联网服务平台生成的订单;由人工对订单进行分类,确定订单是正常还是异常;最后,记录这些订单以及每个订单对应的订单类别,从而生成所需的历史订单。

得到大量历史订单后,可以基于该些历史订单,依据上述特征属性生成训练数据。根据所述历史订单生成训练数据的实现方式例如可以是:从已知类别的历史订单中选取一些订单;从该些订单提取指定数据内容;依据上述特征属性对该些指定数据内容进行处理得到训练数据,其中,处理方式是根据分类训练所采用的算法确定。

利用所述训练数据进行训练可以采用多种不同算法实现,例如分类算法或统计学习算法,更具体地,例如,决策树、逻辑回归、朴素贝叶斯、半朴素贝叶斯、神经网络等算法。该订单检测模型可以是基于统计学习得到的检测模型或训练好的神经网络。得到的订单检测模型可以通过测试数据进行验证,还可以通过调整检测模型中的参数来提高检测模型的准确性。

在上述步骤s140中,可以通过将检测结果与设定阈值进行比较,来确定被检测的订单是否为异常订单,例如,当该检测结果显示一订单为异常订单的概率大于0.5时,即认为该订单为异常订单。或者,可以通过比较检测结果中为异常订单的概率和为异常订单的概率,来确定被检测的订单是否为异常订单,例如,当该检测结果显示一订单为异常订单的概率大于为异常订单的概率时,即认为该订单为异常订单。

本实施例中,通过获取订单信息,从该订单信息中提取预设的特征属性的特征值,并基于该特征值调用经过训练得到的订单检测模型对订单进行检测,能够实现自动检测出异常订单,避免依赖人工排查异常订单,从而能够提高异常订单检测效率,降低异常订单检测成本。

在本申请的一些实施例中,更具体地,上述步骤s130中,基于所述特征值,调用订单检测模型对所述待检测订单进行检测,可包括:根据所述特征值调用订单检测模型;将所述特征值输入所述订单检测模型中,并输出所述待检测订单的检测结果。

该订单检测模型可以是预先编写的程序代码等,该程序代码等可以包含一个或多个参数变量。调用该程序代码后,可以将从待检测订单的信息中提取的特征值作为参数值传入至该订单检测模型,该订单检测模型经过一系列判断、计算、统计等,可以输出相应的检测结果。该些实施例中,通过将从待检测订单的信息中提取的特征值输入调用的订单检测模型,便于进行实现订单的自动检测。

上述步骤s130中,所调用的订单检测模型可以预先生成,或者在需要调用的时候生成。下面将介绍若干实施例,用以说明基于历史订单获得所述训练数据的代表性实施方式,继而将进一步说明利用基于历史订单获得的训练数据经过训练而生成所述订单检测模型的代表性实施方式。

在本申请的一些实施例中,更具体地,上述步骤s130中,基于历史订单获得所述训练数据,可包括:

步骤s131:根据历史订单生成训练样本集合;所述历史订单包括历史正常订单和历史异常订单;

步骤s132:获取所述训练样本集合中每个训练样本在所述特征属性下的特征值;

步骤s133:根据所述训练样本集合中所有训练样本的特征值生成训练数据。

在上述步骤s131中,该训练样本集合包含多个训练样本。每个训练样本可以对应一个历史正常订单或历史异常订单。训练样本可以包括订单内容、订单生成账号、订单生成时间等信息。订单内容,例如对于购物订单,可以包括商品名称、商品价格等信息。

在具体实现时,训练样本集合可以有多种存在形式,比如:训练样本集合包括大量的历史订单,在每个历史订单中插入标签,标签用于标识该历史订单的订单类别(正常订单或异常订单);再比如:训练样本集合包括大量的历史订单,以及文本信息,该文本信息用于记录订单编号与订单类别的对应关系。当然,训练样本集合的具体存在形式并不局限于以上两种情况,也可有其他形式。

在上述步骤s132中,所述特征属性是根据能够衡量订单为正常订单或异常订单的特征来确定。通过分析异常订单的相关特征,并将能够反映订单是否属于异常订单的特征预设为特征属性。根据预设的特征属性,可以针对每个训练样本所对应的历史订单提取所需数据,并进一步经过分析、计算或统计得到该训练样本的特征值。

在上述步骤s133中,该训练数据可以以映射表的形式存储。每个训练样本的特征值可以对应生成一个训练数据。每个训练数据可以包含该训练样本的特征值和相应的订单类别。特征属性可以是一个或多个,相应地,该训练样本的特征值可以包括一个或多个数据。

该些实施例中,根据历史订单生成训练样本,并根据训练样本在预定的特征属性下的特征值生成训练数据,能够使得训练数据反映历史订单是否为异常订单的信息,从而有助于训练得到用于检测异常订单的模型。

在其他实施例中,可以直接获取预先生成的历史订单在所述特征属性下的特征值,并根据该些预先生成的特征值生成训练数据。或者,可以将训练样本集合中的训练样本作为训练数据,并在训练生成订单检测模型的过程中,进一步得到生成订单检测模型所需数据,此时,可以不断调整所需数据的生成方式。

在本申请的一些实施例中,上述步骤s120和步骤s132中,所述特征属性可包括:订单生成账号相关的特征属性和/或订单中所列项目相关的特征属性。以此可以利用订单生成账号相关信息,或者订单内容信息,或者订单生成账号相关信息和订单内容信息进行分类训练。其他实施例中,所述特征属性可包括其他维度下的特征属性,例如时间维度下的特征属性等。

由于订单检测模型的质量与特征属性有直接、必然的联系,因此,特征属性的选择是非常重要的,下面将具体说明发明人确定特征属性的创造性思维过程。

通常订单本身涵盖的信息量非常多,比如,对于购物订单:订单涉及商品信息、商品个数、商品价格、商品提供方、送货地址、订单生成时间、送货时间等,但哪些信息能够作为衡量订单是否为异常订单的因子,需要经过研究分析,付出创造型劳动,才能发现。

其一,发明人经过对电子商务平台的订单研究分析发现:目前电子商务平台上产生的异常订单,一部分是由黑客恶意进攻产生的,另一部分是平台自身漏洞造成的异常订单。

黑客恶意进攻时,如果想要人为制造出异常订单,必定会有一个测试过程,而在测试过程中由于黑客修改了正常参数,往往会导致订单生成失败,因此,得出:一个账号在一定时间内产生的错误订单比,即一个账号在一定时间内产生的错误订单数n与订单总数m之间的比例n/m,当这个比例越大时,表明这个账号后续产生的订单是异常订单的可能性就越大。

基于此发现,发明人认为通过用户账号的订单可信度p1=1-n/m可以作为一个衡量订单是否为异常订单的特征属性。当黑客通过一个账号不断尝试产生订单失败的时,其错误订单比n/m不断增大,则该账号的订单可信度就会趋向于零,这就表明若该账号在一定时间内产生了一个订单,则该订单极有可能就是一个异常订单。因此,以用户账号为维度的订单可信度是一个特别有价值的特征属性。

其二,发明人经过对电子商务平台的订单研究分析还发现:由于电子商务平台中,对用户账户有等级区分,对不同等级账户会给出不同的优惠政策和服务,一般情况下,将电子商务平台中有一定资产(虚拟资金、预存资产、可用优惠券等等)和已经产生大量的正常订单的用户账户,标记为高等级账户。从历史订单中异常订单数据中分析得出,绝大部分异常订单产生于新账号或者低等级账号,这是因为黑客恶意进攻行为是违法行为,黑客一般不会使用有价值的高等级账户去进行恶意进攻,而为了隐藏身份,一般会临时注册新账号利用该新账号进行进攻,因此,通过订单的用户账号的一些信息可以在一定程度上反应出该订单是否为异常订单。

基于此,发明人认为以用户账号为维度的账号可信度是一个特别有价值的特征属性。该账号可信度可以通过p4=1+(a-t)/t来确定,其中,a为该账号在当前电子商务平台中的资产和消费总和,t为当前电子商务平台中的平均用户资产和消费总和。

其三,发明人发现大量的异常订单存在共同特点。订单涉及的商品价格异常,因为不论是黑客还是钻平台漏洞的恶意用户,大部分都是钻价格漏洞,想要占便宜;另外,在实际应用中,商品提供方一般情况下也不会以异常价格来销售商品。

基于此发现,发明人认为通过订单上的商品价格的异常情况在一定程度上能够衡量一个订单是否异常,因此,订单中商品存在商品价格的异常度,是一个特别有价值的特征属性。在实际应用中,该商品价格的异常度p2=2s/(max+min)-1,其中,s为当前下单价格,max和min是该商品有效价格区间的最大值和最小值。

由于每个商品一般都会有一个正常的价格区间,不会有太大的浮动,例如一个100元的商品,即使参与打折、大促等活动,也会有一个低价,而即使其在热门,也会有一个顶价。当然,在电子商务平台中,会出现秒杀等特殊活动,这种特殊活动的价格自然也不比较特殊,因此,在确定一个商品的有效价格区间时,将这些特殊活动的价格忽略。基于此,可以通过获取一个商品的历史订单中全部价格,并去掉一些噪点(如秒杀活动的价格),就会得到一个商品的有效价格区间。

其四,在电子商务平台运营过程中,一些商品存在特定下单组合的特性,例如:一般情况下,一个用户购买主机,则一定会购买硬盘、cpu、内存。对具有组合下单特性地商品,电子商务平台会制定出特定组合,如果用户下单时,并未按照组合形式下单购买,则可以认定这是一个异常订单。

基于此,发明人认为以商品出售形式的异常情况(商品名称组合)在一定程度上能够衡量一个订单是否异常,因此,订单中商品是否组合出售的情况是一个特别有价值的特征属性。具体地,该订单中商品名称组合的特征属性是订单中商品存在出售形式的异常度p4,例如:如果商品属于组合出售形式,但该订单中却不是组合形式(异常组合),则该订单是异常度为p4=100/100,但如果该订单中是组合形式(正常组合),则该订单的异常度p4=0。

基于上述确定特征属性的创造性思维过程,可以得到订单生成账号相关的特征属性的一种或多种具体实施方式,并可以得到订单中所列项目相关的特征属性的一种或多种具体实施方式。

在本申请的一些实施例中,所述订单生成账号相关的特征属性可包括:订单生成账号的订单可信度,和/或订单生成账号的账号可信度;所述订单中所列项目相关的特征属性可包括:订单中商品价格的异常度,和/或订单中商品名称的组合的合理性值。

该订单可信度可以反映订单发生错误的情况,该账号可信度可以反映账号的使用情况,该商品价格的异常度可以反映下单价格与正常价格水平之间的差异情况,该商品名称的组合的合理性值可以反映用户购物行为策略与商家出售策略的一致性情况。上述各种特征属性可以组合使用。不同特征属性可以视情况赋予不同权重。

该些实施例中,通过上述特征属性可以实现对订单本身涵盖的大量信息进行提取并量化,得到有助于较准确反映订单是否异常的指标。

更具体地,在一些实施例中,所述订单可信度可根据订单生成账号在设定时间内产生的异常订单及总订单数来确定,例如,根据异常订单与总订单的数量比n/m来确定,或者根据1-n/m来确定。所述账号可信度可根据订单生成账号在订单生成平台上的资产情况和/或消费情况来确定,例如,根据当前账号资产和消费总和a与该平台上各账号的平均资产和消费总和t的比a/t来确定,或者根据当前账号的消费总和与该平台上各账号的平均消费总和的比来确定。所述商品价格的异常度可根据订单中商品价格及该商品的历史有效价格来确定,例如,根据订单中商品价格s与历史有效价格平均值(max+min)/2的比2s/(max+min)来确定,或者根据[s-(max+min)/2]/[(max+min)/2]来确定。所述商品名称的组合的合理性值可根据订单中商品名称的组合和设定商品组合来确定,例如,通过比较订单中商品名称与设定商品组合中商品名称是否一致确定合理性值,一致时合理性值可取0,不一致时合理性值可取1。

该些特征属性是发明人通过创造性劳动得到的,基于该些特征属性能够得到量化了的训练样本的特征值,进而能够训练得到用于检测异常订单的订单检测模型。而且,基于该些特征属性能够从待检测订单的信息中量化提取得到相应的特征值,进而结合该订单检测模型进行订单检测。

预设的特征属性可以是一个或多个,待检测订单或历史订单在上述特征属性下的特征值可以以设定的矩阵模型进行记录或存储。例如,矩阵模型可如表1所示,对于待检测订单和历史订单,其中的订单可信度、商品价格的异常度、商品名称组合的合理性值及账号可信度可以通过计算、统计或判断得到。而且,对于历史订单,其中的订单类别可以为已知量,即为订单正常或订单异常,对于待检测订单,其中的订单类别为所需获取的结果。

表1特征值的矩阵模型

在其他实施例中,若为进一步排查订单具体的异常类型,需要包括能够反映不同异常类型的特征属性的特征值,例如异常订单相对于正常订单的变化特征。所以,订单类别除了分为订单正常和订单异常,订单异常还可以进一步分为触发bug导致的订单异常、黑客攻击漏洞导致的订单异常等。

得到训练数据之后,可以利用该训练数据进行训练生成订单检测模型,下面将进一步说明训练得到订单检测模型的若干代表性实施例。

在本申请的一些实施例中,上述步骤s130中,利用基于历史订单获得的训练数据经过训练而生成所述订单检测模型,更具体地,可包括:

步骤s134:基于贝叶斯原理,利用所述训练数据进行分类训练,得到模型参数;

步骤s135:根据所述模型参数生成订单检测模型。

在上述步骤s134中,不同的基于贝叶斯原理的算法的模型参数可以不同。基于贝叶斯原理的分类训练方法可包括:朴素贝叶斯算法、半朴素贝叶斯分类器等训练方法。在上述步骤s135中,将得到的模型参数输入至相应基于贝叶斯原理的算法的框架结构中,例如代入贝叶斯定理的公式中,可以得到相应的订单检测模型。

在本申请的一些实施例中,上述步骤s134,即,基于贝叶斯原理,利用所述训练数据进行分类训练,得到模型参数,可包括:采用朴素贝叶斯算法,利用所述训练数据进行分类训练,得到模型参数;所述模型参数包括:订单正常和订单异常分别在所述特征属性的预设取值区间的条件概率。订单正常和订单异常为两种订单类别,得到每种订单类别在所述特征属性的预设取值区间的条件概率,能够便于得到订单检测模型。该预设取值区间可以指特征属性的特征值的范围划分,不同的预设取值区间所对应得到的订单检测模型的检测准确度可能有所差别,通过调整预设取值区间可以得到检测准确度更高的订单检测模型。朴素贝叶斯算法是最为简便的一种基于贝叶斯原理的分类方法,采用朴素贝叶斯算法,得到模型参数,并进一步得到相应的订单检测模型,便于实现生成订单检测模型。

具体地,对于一个预设的特征属性,可以连续取值或取各种离散值,可以将该特征属性划分为若干个取值区间,每个取值区间可以称为一个划分。例如,对前述实施例中的四个特征属性进行划分,可得到:订单可信度a1:{a<=0.2,0.2<a<0.8,a>=0.8};商品价格的异常度a2:{a<=-0.5,-0.5<a<0,a>=0};商品名称组合的合理性值a3:{a=0(正常),a=1(异常)};账号可信度a4:{a<=0.2,0.2<a<1,a>=1}。

在本申请的具体实施例中,使用朴素贝叶斯算法进行分类训练,实施方式如下:

1、设x={a1,a2,···,ai,···,am}为一个待分类订单,其中,待分类订单x包括m个特征属性,ai为待分类订单x在特征属性i下的特征值。

2、类别集合c={y1,y2,···,yj,···,yn},其中,yj为具体类别,n为总类别数。

3、计算待分类订单x属于各类别yj的条件概率表示为:p(y1|x),p(y2|x),···,p(yj|x),···,p(yn|x),即yj表示异常订单还是正常订单。

4、如果待分类订单x在某个类别yk,k∈[1,n]下的条件概率最大,即:p(yk|x)=max{p(y1|x),p(y2|x),···,p(yj|x),···,p(yn|x)},则待分类订单x属于类别yk,即,x∈yk。

那么如何计算各个条件概率p(y1|x),p(y2|x),···,p(yj|x),···,p(yn|x),具体实施方式可以是:首先,找到一个已知类别的待分类项集合,即训练样本集合;根据该训练样本集合统计得到在各类别下各个特征属性的条件概率估计,即:p(a1|y1),p(a2|y1),…,p(am|y1);p(a1|y2),p(a2|y2),…,p(am|y2);…;p(a1|yn),p(a2|yn),…,p(am|yn)。在各个特征属性是条件独立的情况下,根据贝叶斯定理可以得到:p(yj)为类别yj的概率,p(x)为订单x的概率。因为该公式右侧的分母p(x)对于所有类别为常数,所以只要将分子最大化皆可。又因为假设特征属性是条件独立的,所以可以得到:

通过针对每个已知类别的订单计算上式的值,以值最大的类别作为该订单的初步检测结果,再将初步检测结果与其已知类别进行比较,可以验证上式中条件概率的准确性,如果不准确,可以微调特征属性或取值区间的划分,最终可以得到使得检测结果与已知类别相符的条件概率(模型参数),进而可以得到相应的检测模型。

以上具体介绍了生成训练数据以及利用训练数据进行分类训练得到订单检测模型的若干代表性实施例。利用上述各实施例的异常订单检测方法,能够实现自动检测出异常订单,提高异常订单检测效率。

人工排查异常订单还存在滞后性问题。为了解决该问题,在本申请的一些实施例中,上述步骤s110,即,获取待检测订单的信息,具体地,可包括:获取互联网服务平台生成的订单,作为待检测订单,并获取所述待检测订单的信息。而且,在上述步骤s140之后,上述实施例的异常订单检测方法还可包括:在确定所述待检测订单为异常订单的情况下,生成提示信息。

可以实时获取互联网服务平台的服务端生成的订单,作为待检测订单。该待检测订单是实时从互联网服务平台例如电子商务平台的服务端获取的。例如,在电子商务购物平台,提交购物订单后,就利用本申请的订单类别检测方法对提交的购物订单进行检测。以此,若提交的购物订单存在异常,在买家支付或卖家发货前就可以发现,从而可以避免买家或卖家的经济损失。该提示信息可以是报警信息,可以通过显示、推送即时或非即时通信信息等方式通知用户或平台维护人员。

该实施例中,互联网服务平台每生成一个订单,均可将该订单传送至服务端或客户端进行订单异常检测,以此,能够实现订单的实时检测,从而解决人工排查订单的滞后性问题。此外,在检测到异常订单时,生成提示信息,能够使运维人员及时发现并修复互联网服务平台所存在的漏洞或bug,避免给商家或其他用户带来经济损失。

基于与上述异常订单检测方法中订单检测模型生成方法相同的构思,本申请实施例还提供一种订单检测模型生成方法。一些实施例中,该订单检测模型生成方法,可包括:

步骤s310:获取历史订单;所述历史订单包括历史正常订单和历史异常订单;

步骤s320:从所述历史订单中提取预设的特征属性的特征值,并基于所述特征值生成训练数据;

步骤s330:利用所述训练数据进行训练生成订单检测模型。

上述步骤s310和步骤s320可以参照上述异常订单检测方法中的步骤s131~步骤s133的具体实施方式实施。上述步骤s330可以参照上述异常订单检测方法中的步骤s134~步骤s135的具体实施方式实施。

在上述步骤s310中,该历史订单可以是订单类别已知的订单,可以通常人工检测方式检测互联网服务平台生成的大量订单得到。

在上述步骤s320中,所述特征属性是根据能够衡量订单为正常订单或异常订单的特征来确定。通过分析异常订单的相关特征,并将能够反映订单是否属于异常订单的特征预设为特征属性。根据预设的特征属性,可以针对每个训练样本所对应的历史订单提取所需数据,并进一步经过分析、计算或统计得到该训练样本的特征值。

例如,所述特征属性可以包括:订单生成账号相关的特征属性和/或订单中所列项目相关的特征属性。进一步,例如,所述订单生成账号相关的特征属性可以包括:订单生成账号的订单可信度,和/或订单生成账号的账号可信度;所述订单中所列项目相关的特征属性可以包括:订单中商品价格的异常度,和/或订单中商品名称的组合的合理性值。其中,所述订单可信度可以根据订单生成账号在设定时间内产生的异常订单及总订单数来确定;所述账号可信度可以根据订单生成账号在订单生成平台上的资产情况和/或消费情况来确定;所述商品价格的异常度可以根据订单中商品价格及该商品的历史有效价格来确定;所述商品名称的组合的合理性值可以根据订单中商品名称的组合和设定商品组合来确定。

在上述步骤s330中,具体地,可以首先基于贝叶斯原理,利用所述训练数据进行分类训练,得到模型参数;然后根据所述模型参数生成订单检测模型。基于贝叶斯原理,利用所述训练数据进行分类训练,得到模型参数时,更具体地,可以采用朴素贝叶斯算法,利用所述训练数据进行分类训练,得到模型参数;其中,所述模型参数可包括:订单正常和订单异常分别在所述特征属性的预设取值区间的条件概率。

本实施例中,利用该订单检测模型生成方法可以生成订单检测模型,供订单检测端,例如互联网服务平台的服务端,进行调用,对订单进行异常检测。

图3示出了本申请一实施例的客户端和服务端的交互示意图。请参见图3,在图1所示的场景中,本申请上述实施例的异常订单检测方法可使客户端101和服务端102进行以下动作或交互过程:

s1:服务端获取历史订单,基于该历史订单生成训练数据,并利用该训练数据进行训练生成订单检测模型;

s2:客户端的用户执行下单操作,生成订单,实时传送订单至该服务端;

s3:服务端利用订单检测模型对客户端传送的订单进行检测,当确定该订单为异常订单时,输出提示信息。

具体地,服务端102可以从数据库或存储装置中获取历史订单。该订单检测模型可以预先生成或在需要检测订单时实时生成。客户端101显示的订单可以由服务端102支持的互联网服务平台生成。服务端102可以将提示信息输出至与其连接的显示装置,或者可以传输至客户端102或另一客户端。其中所涉及的异常订单检测的具体实施方式可如上述实施例的方法所述,故不再赘述。

基于与图2所示的异常订单检测方法相同的构思,本申请实施例还提供了一种异常订单检测装置,如下面实施例所述。由于该异常订单检测装置解决问题的原理与异常订单检测方法相似,因此该异常订单检测装置的实施可以参见异常订单检测方法的实施,重复之处不再赘述。

图4是本申请一实施例的异常订单检测装置的结构示意图。如图4所示,一些实施例的异常订单检测装置200,可包括:信息获取单元210、特征值提取单元220、订单检测单元230及类别确定单元240,上述各单元顺序连接。

信息获取单元210,用于获取待检测订单的信息;

特征值提取单元220,用于从所述待检测订单的信息中提取预设的特征属性的特征值;

订单检测单元230,用于基于所述特征值,调用订单检测模型对所述待检测订单进行检测;所述订单检测模型是利用基于历史订单获得的训练数据经过训练而生成;

类别确定单元240,用于根据检测结果确定所述待检测订单是否为异常订单。

上述信息获取单元210、特征值提取单元220、订单检测单元230及类别确定单元240分别可以参照前述步骤s110~步骤s140的具体实施方式执行。所以,通过上述各单元,本实施例的装置能够实现自动检测异常订单,代替人工排查异常订单,提高异常订单检测效率。

图5是本申请一实施例的服务端的内部结构示意图。参见图5,一些实施例的服务端102可包括处理器、内存、硬盘、内部总线、网络接口等。上述异常订单检测装置200可以预先生成并存储在服务端102的硬盘中,当需要对订单进行检测时,可以将硬盘中的异常订单检测装置200缓存至内存。或者,可以在需要对订单进行检测时,实时在内存中生成异常订单检测装置200,此时,异常订单检测装置200可以仅存储于内存,或者同时传送至硬盘中进行存储。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述各实施例所述方法的步骤。

本申请还提供了一种计算设备,所述计算设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。

综上所述,本申请实施例的异常订单检测方法、订单检测模型生成方法、异常订单检测装置、计算机可读存储介质及计算设备,通过获取订单信息,从该订单信息中提取预设的特征属性的特征值,并基于该特征值调用训练生成的订单检测模型对订单进行检测,能够实现自动检测出异常订单,避免依赖人工排查异常订单,从而能够提高异常订单检测效率,降低异常订单检测成本。通过实时获取互联网服务平台生成的订单并作为待检测订单进行检测,能够及时检测出异常订单,增强异常订单排查的实时性。

下面将以一具体实施例说明本申请的实施及效果。在本实施例中,订单是电子购物平台的订单,订单的类别包括订单正常和订单异常,类别检测的目的是排查出异常订单,通过分类训练的方法训练生成订单检测模型,且进行分类训练的方法是朴素贝叶斯算法。

其一,从电子购物平台的后台服务器获取大量已通过人工区分出来为异常订单的历史订单,例如1万个订单,构成异常订单集合(训练样本集合)。

其二,为了检测一待检测订单是否为异常订单,预设的特征属性包括:订单可信度、商品价格的异常度、商品名称组合的合理性值及账号可信度。

其中,订单可信度是根据一订单的下单账号在设定时间段内所下订单的错误订单比n/m得到,订单可信度p1=1-n/m。通过该订单可信度可以反映黑客为了制造异常定而在修改电子购物平台正常参数后不断下单测试而出现错误订单的信息。如果订单可信度低,则可能不是正常下单的订单。

商品价格的异常度(订单异常度)是根据一订单所对应商品的全部有效历史价格区间得到,商品价格的异常度p2=2s/|max+min|-1,s为当前订单的商品价格,max和min分别为该订单所对应商品的全部有效历史价格中的最大值和最小值。通过该商品价格的异常度能够反映网络羊毛党或黑客恶意利用电子购物平台漏洞获利的信息,例如免费充话费、一分钱任意购买、0元购等漏洞。如果商品价格的异常度的绝对值越大,则当前下单的商品价格偏离有效历史价格区间越远,例如商品价格为0时,|p2|=1,此时该订单很有可能是异常订单。

商品名称组合的合理性值是根据设定商品名称组合来确定,对于当前订单中的商品,如果存在设定下单组合,若订单中多个商品属于设定商品名称组合,该合理性值可以设为1(正常组合),如果不属于可以设为0(异常组合)。例如,对于一主机的购买套餐,应包含硬盘、cpu及内存的设定商品组合,如果当前订单的商品名称仅为硬盘、cpu及内存中的一个或两个,则该订单的合理性值为0,反映了该订单很有可能是黑客修改了正常参数后下单的结果。

账号可信度可以根据一订单的下单账号在当前购物网站的资产和消费累计额度得到。账号可信度p4=1+(a-t)/t,a为下单账号在当前购物网站的资产和消费累计额度的总合,t为当前购物网站的所有用户的资产和消费之和的平均值。该账号可信度越小,说明当前订单的下单账号越有可能是一个新账号,以此能够反映黑客利用新账号在攻击购物网站时隐藏身份的信息。

其三,进行分类训练,得到订单异常检测模型。

假设,订单异常,类别c=1,订单正常,类别c=0。对上述特征属性进行划分:订单可信度a1:{a<=0.2,0.2<a<0.8,a>=0.8};商品价格的异常度a2:{a<=-0.5,-0.5<a<0,a>=0};商品名称组合的合理性值a3:{a=0(正常),a=1(异常)};账号可信度a4:{a<=0.2,0.2<a<1,a>=1}。所使用的特征值的矩阵模型如表1所示。

训练数据包含上述四个特征属性下的特征值和已知的类别,形式如表1所示。

在人工检测过的1万个订单中,异常订单所占比例p(c=1)=110/100000=0.11,正常订单所占比例p(c=0)=8900/100000=0.89。根据该1万个订单的情况,计算在各类别(正常(c=1)和异常(c=0))下各特征属性的各划分下的条件概率如表2所示。

表2条件概率

其四,使用测试数据对具有表2所示条件概率的朴素贝叶斯分类器进行测试。利用下表3所示的订单1进行测试。

表3测试数据

订单1为正常订单的概率为:

p(c=0)*p(x|c=0)/p(x)

=p(c=0)*p(0.2<a1<0.8|c=0)*p(a2<=-0.5|c=0)*p(a3=1|c=0)*p(a4<=0.2|c=0)/p(x)

=0.89*0.5*0.1*0.2*0.2/p(x)

=0.00178/p(x)

订单1为异常订单的概率为:

p(c=1)*p(x|c=1)/p(x)

=p(c=1)*p(0.2<a1<0.8|c=1)*p(a2<=-0.5|c=1)*p(a3=1|c=1)*p(a4<=0.2|c=1)/p(x)

=0.11*0.1*0.7*0.9*0.6/p(x)

=0.004158/p(x)

订单1(由x表示)的概率p(x)为常数,所以由上述订单1为异常订单的概率的分子(0.004158)和订单1为正常订单的概率的分子(0.00178)比较来看,订单1为异常订单的概率大于订单1为正常订单的概率。由此可以看出,由上述分类器预测该订单1是一个异常订单。再由表3可以看出已知订单1的类别为异常订单。由此说明上述分类器这个订单异常检测模型检测结果正确。

其五,调整订单异常检测模型的参数。经过多个或大量测试数据验证上述模型的分类结果,如果判断正确性不佳的话,可以调整表2所示条件概率大小、划分、特征属性设定方式等来提高模型的检测准确性。训练好的订单异常检测模型可以对真实数据进行订单异常检测。

上述实施例详细说明了本申请在购物订单场景下的一种具体实施方式,以使本领域技术人员充分了解本申请的可实施性,并不作为对本申请的技术方案或应用场景的限定。

应当注意,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

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

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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