数据搜索方法以及数据检测方法、装置、设备与流程

文档序号:24877708发布日期:2021-04-30 12:54阅读:111来源:国知局
数据搜索方法以及数据检测方法、装置、设备与流程

本发明涉及互联网技术领域,尤其涉及一种数据搜索方法以及数据检测方法、装置、设备。



背景技术:

随着互联网技术的发展,人们足不出户地便可通过网络获取自己所需的各种物品和信息。比如,很多在线购物平台(俗称电商平台)的出现,使得人们通过使用相应的购物类app或通过web访问的方式便可以在线地实现商品购买。

在实际应用中,当用户搜索某种商品时,会呈现若干商家的商品供用户选择,而在搜索过程中,一般会对不同商家的不同商品进行排序处理,以根据排序结果进行商品展示。

其中,一种常见的排序依据便是根据商品的交易量的大小进行排序。从而,实际应用中,某些商家为了使得自己的商品排位靠前,可能会构造虚假的交易数据。



技术实现要素:

本发明实施例提供一种数据搜索方法以及数据检测方法、装置、设备,用以准确地检测出异常操作数据。

第一方面,本发明实施例提供一种数据检测方法,该方法包括:

确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品;

生成与待检测交易数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测交易数据中的多个用户,所述第一二分图的商品节点集合对应于所述待检测交易数据中的多个商品,所述第一二分图的边集合对应于所述多个用户对所述多个商品的交易行为;

根据所述虚假交易条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边;

根据经剪枝处理后的第一二分图确定所述待检测交易数据中存在的虚假交易数据。

第二方面,本发明实施例提供一种数据检测装置,该装置包括:

条件确定模块,用于确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品;

二分图生成模块,用于生成与待检测交易数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测交易数据中的多个用户,所述第一二分图的商品节点集合对应于所述待检测交易数据中的多个商品,所述第一二分图的边集合对应于所述多个用户对所述多个商品的交易行为;

二分图剪枝模块,用于根据所述虚假交易条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边;

虚假确定模块,用于根据经剪枝处理后的第一二分图确定所述待检测交易数据中存在的虚假交易数据。

第三方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的数据检测方法。

本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第一方面中的数据检测方法。

第四方面,本发明实施例提供一种数据搜索方法,该方法包括:

响应于数据搜索请求,获取与所述数据搜索请求对应的多个商品;

获取与所述多个商品对应的交易数据;

确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品;

生成与所述交易数据对应的二分图,所述二分图的用户节点集合对应于所述交易数据中的多个用户,所述二分图的商品节点集合对应于所述多个商品,所述二分图的边集合对应于所述多个用户对所述多个商品的交易行为;

根据所述虚假交易条件对所述二分图进行剪枝处理,以从所述二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边;

根据被过滤掉的用户节点、商品节点以及边,对所述多个商品进行排序。

第五方面,本发明实施例提供一种数据搜索装置,该装置包括:

获取模块,用于响应于数据搜索请求,获取与所述数据搜索请求对应的多个商品;获取与所述多个商品对应的交易数据;

确定模块,用于确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品;

生成模块,用于生成与所述交易数据对应的二分图,所述二分图的用户节点集合对应于所述交易数据中的多个用户,所述二分图的商品节点集合对应于所述多个商品,所述二分图的边集合对应于所述多个用户对所述多个商品的交易行为;

剪枝模块,用于根据所述虚假交易条件对所述二分图进行剪枝处理,以从所述二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边;

排序模块,用于根据被过滤掉的用户节点、商品节点以及边,对所述多个商品进行排序。

第六方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第四方面中的数据搜索方法。

本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第四方面中的数据搜索方法。

第七方面,本发明实施例提供一种数据检测方法,包括:

确定异常操作条件对应的第一数量和第二数量,所述异常操作条件为存在至少所述第一数量的用户共同操作至少所述第二数量的对象;

生成与待检测操作数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测操作数据中的多个用户,所述第一二分图的对象节点集合对应于所述待检测操作数据中的多个对象,所述第一二分图的边集合对应于所述多个用户对所述多个对象的操作行为;

根据所述异常操作条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述异常操作条件的用户节点、对象节点以及边;

根据经剪枝处理后的第一二分图确定所述待检测操作数据中存在的异常操作数据。

第八方面,本发明实施例提供一种数据检测装置,包括:

条件确定模块,用于确定异常操作条件对应的第一数量和第二数量,所述异常操作条件为存在至少所述第一数量的用户共同操作至少所述第二数量的对象;

二分图生成模块,用于生成与待检测操作数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测操作数据中的多个用户,所述第一二分图的对象节点集合对应于所述待检测操作数据中的多个对象,所述第一二分图的边集合对应于所述多个用户对所述多个对象的操作行为;

二分图剪枝模块,用于根据所述异常操作条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述异常操作条件的用户节点、对象节点以及边;

异常确定模块,用于根据经剪枝处理后的第一二分图确定所述待检测操作数据中存在的异常操作数据。

第九方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第七方面所述的数据检测方法。

在本发明实施例中,以检测虚假交易数据为例,为了实现对大量的交易数据中是否存在虚假交易行为进行检测,首先,可以将需要检测是否存在虚假交易行为的大量交易数据表示为二分图,并且,进行虚假交易条件的设定,其中,虚假交易条件被设定为存在至少第一数量的用户共同购买至少第二数量的商品,即如果有n1个用户共同购买n2个商品,且n1大于或等于第一数量,n2大于或等于第二数量,则认为这n1个用户对这n2个商品的购买行为是虚假的。其次,根据设定的虚假交易条件对生成的二分图进行剪枝处理,以从该二分图中过滤掉肯定不满足虚假交易条件的用户节点、商品节点以及边,以此剔除交易数据中的噪声,降低数据量,以便提高处理效率。最后,根据经剪枝处理后的二分图确定待检测的交易数据中存在的虚假交易数据。

附图说明

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

图1为本发明一实施例提供的数据检测方法的流程图;

图2为本发明一实施例提供的二分图的组成示意图;

图3为本发明一实施例提供的一种剪枝过程的示意图;

图4为本发明另一实施例提供的一种剪枝过程的示意图;

图5为本发明一实施例提供的一种实现步骤101的方法的流程图;

图6为本发明一实施例提供的数据搜索方法的流程图;

图7为图6所示实施例提供的数据搜索方法的执行过程的示意图;

图8为本发明另一实施例提供的数据检测方法的流程图;

图9为本发明一实施例提供的数据检测装置的结构示意图;

图10为与图9所示实施例提供的数据检测装置对应的电子设备的结构示意图;

图11为本发明一实施例提供的数据搜索装置的结构示意图;

图12为与图11所示实施例提供的数据搜索装置对应的电子设备的结构示意图;

图13为本发明另一实施例提供的数据检测装置的结构示意图;

图14为与图13所示实施例提供的数据检测装置对应的电子设备的结构示意图。

具体实施方式

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

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

本发明实施例提供的数据检测方法、数据搜索方法可以由诸如pc机、笔记本电脑等终端设备执行,也可以由云端的服务器或服务器集群执行。

在具体介绍本发明实施例提供的数据检测方法之前,先对该数据检测方法的现实意义进行示例性说明。

比如在购物场景中,在线购物平台往往会在特定的一些时间组织一些促销活动,对于商家而言,这便是一次很好地提高销售量的契机,因此,一些商家为了吸引更多的用户,可能会构造虚假的交易数据,从而使自己销售的商品更靠前地展示给用户,以促使更多的用户购买其商品。其中,商家的虚假交易数据主要体现为:商家通过一批用户账号购买其销售的某一个或多个商品,以虚假地增加该商品的销售量。由此可见,检测出交易数据中存在的虚假交易数据具有重要的现实意义。

再比如在投票场景中,一些被投票者为了获得更高的投票数,可能会采用“买票”这种手段。一些虚假投票行为主要体现为:很多投票者被雇佣给多个被投票者进行投票。

下面以在线购物场景为例,对本发明实施例提供的数据检测方法在该场景下的执行过程进行说明。

图1为本发明一实施例提供的数据检测方法的流程图,如图1所示,可以包括如下步骤:

101、确定虚假交易条件对应的第一数量和第二数量,虚假交易条件为存在至少第一数量的用户共同购买至少第二数量的商品。

102、生成与待检测交易数据对应的第一二分图,第一二分图的用户节点集合对应于待检测交易数据中的多个用户,第一二分图的商品节点集合对应于待检测交易数据中的多个商品,第一二分图的边集合对应于多个用户对多个商品的交易行为。

103、根据虚假交易条件对第一二分图进行剪枝处理,以从第一二分图中过滤掉不满足虚假交易条件的用户节点、商品节点以及边。

104、根据经剪枝处理后的第一二分图确定待检测交易数据中存在的虚假交易数据。

本文中,待检测交易数据可以是根据实际需求设定的某段时间内产生的大量交易数据,比如特定的某一天或几天内,在线购物平台中产生的交易数据。该交易数据可以对应于用户的结算操作,也可以对应于用户将商品添加到购物列表中的操作。

也就是说,可选地,若某用户将某商品添加到购物列表中但是并未完成在线支付操作,此时,可以生成一条待检测的交易数据。或者,可选地,若某用户将某商品添加到购物列表中并且完成了在线支付操作,此时,可以生成一条待检测的交易数据。

为了实现对待检测交易数据中是否存在对应于虚假交易行为的交易数据(称为虚假交易数据)进行检测,首先,进行虚假交易条件的定义。

其中,交易行为可以是上述举例的结算行为、加入购物列表的行为。

其中,虚假交易行为是指并非是用户出于自身需求而实际触发的交易行为。

在本文中,虚假交易条件被设定为存在至少第一数量的用户共同购买至少第二数量的商品,即如果有n1个用户共同购买n2个商品,且n1大于或等于第一数量,n2大于或等于第二数量,则认为这n1个用户对这n2个商品的购买行为是虚假的。

实际应用中,上述第一数量、第二数量可以是人为经验设定的,也可以是基于历史交易数据的分析得到的,该历史交易数据可以是上述待检测交易数据产生之前的某段时间内产生的交易数据。

一种确定第一数量和第二数量的过程将在后续实施例中详细描述,本实施例中先着重说明在已得到该第一数量和第二数量的情况下,如何基于该第一数量和第二数量所定义出的虚假交易条件来进行待检测交易数据中是否存在虚假交易数据的处理。

首先,可以将需要检测是否存在虚假交易数据的大量待检测交易数据表示为一个二分图,称为第一二分图。

具体地,根据每条待检测交易数据中所描述的用户对商品的交易行为,生成构成第一二分图的用户节点集合、商品节点集合和边集合。

其中,待检测交易数据中所包含的全部用户构成第一二分图的用户节点集合,待检测交易数据中所包含的全部商品构成第一二分图的商品节点集合,如果某用户对某商品存在交易行为,则对应的用户节点与商品节点之间存在一条连接边。值得说明的是,可选地,如果某个用户多次购买过同一商品,则对应的用户节点与商品节点之间可以仅用一条边来连接。

为更直观地理解该第一二分图的组成,结合图2来示例性说明。在图2中,假设待检测交易数据中包括n个用户(可以理解为是n个用户账号)以及m个商品,从而,第一二分图的用户节点集合由对应于该n个用户的n个用户节点组成,商品节点集合由对应于该m个商品的m个商品节点组成。如果其中的某个用户i购买了其中的某个商品j,那么,在对应的用户节点i与商品节点j之间存在一条连接边,其中,n大于1,m大于1。

在得到与待检测交易数据对应的第一二分图后,可以根据设定的虚假交易条件对该第一二分图进行剪枝处理,以从该第一二分图中过滤掉肯定不满足虚假交易条件的用户节点、商品节点以及边。最后,根据经剪枝处理后的第一二分图确定待检测交易数据中存在的虚假交易数据。

通过上述剪枝处理,可以剔除待检测交易数据中的噪声即不满足虚假交易条件的用户节点、商品节点以及边,从而大大地减少了二分图的规模,以此提高虚假交易数据的检测处理效率。

通过上述剪枝处理,可以认为被剪掉的用户节点、商品节点和边所体现的交易行为——某用户购买某商品的行为是真实的,但是,为了避免意外情况的发生,在得到需要被剪掉的用户节点、商品节点和边的情况下,可以向用户(执行数据检测任务的工作人员)输出与需要被剪枝的用户节点、商品节点以及边对应的剪枝提示信息,从而,响应于用户根据该剪枝提示信息触发的剪枝指令,再过滤掉该需要被剪枝的用户节点、商品节点以及边。其中,以确定出的需要被剪掉的一个用户节点与一个商品节点的连接情况为例来说,对应的剪枝提示信息可以是用户对该商品的购买信息。

下面介绍根据虚假交易条件对第一二分图进行剪枝处理的过程。本文提供了如下两种剪枝策略,分别称为剪枝策略a和剪枝策略b。实际应用中,可以仅采用这两种剪枝策略中的一种来执行,也可以两种剪枝策略都使用。在两种剪枝策略都使用时,先使用剪枝策略a,再使用剪枝策略b。

在剪枝策略a中,根据虚假交易条件对第一二分图进行剪枝处理,可以实现为:

删除第一二分图中的第一商品节点及第一商品节点连接的边,其中,第一商品节点是度数小于第一数量的商品节点;

删除第一二分图中的第一用户节点及第一用户节点连接的边,其中,第一用户节点是度数小于第二数量的用户节点。

先介绍一个概念:度数(degree)——一个节点的度数即为该节点所连接的所有边的数量。

上述剪枝策略a的理论依据是:假设第一数量表示为k1,第二数量表示为k2,此时,根据上述虚假交易条件的定义:至少k1个用户共同购买至少k2个商品的行为,被认为是虚假交易行为。从而,这就意味着,对于某用户节点而言,如果该用户节点连接的边数少于k2,则该用户节点不可能对应于虚假交易行为,因为该用户节点对应的用户所购买的商品数量都不满足k2个。同理,对于某商品节点而言,如果该商品节点连接的边数小于k1,则该商品节点不可能对应于虚假交易行为,因为该商品节点对应的商品都没有被k2个人购买过。

换个角度来说就是,如果要满足上述虚假交易条件,需要每个用户节点都满足度数大于或等于k2的条件,且每个商品节点都需要满足度数大于或等于k1的条件。因此,所有不满足该度数条件的用户节点、商品节点都被删除,被删除的用户节点、商品节点所连接的边也被删除,即完成了上述剪枝过程。

为便于理解该剪枝策略a的执行过程,结合图3来进行说明,在图3中,假设k1=3,k2=2。在图3中,假设先依次遍历每个用户节点,由于用户节点2的度数为1,不满足度数大于或等于k2=2的条件,因此,删除用户节点2及其连接的边。在遍历完用户节点后,依次遍历商品节点。由于此时商品节点1、商品节点2和商品节点m均不满足度数大于或等于k1=3的条件,因此,删除商品节点1、商品节点2和商品节点m及其各自连接的边。

首先,值得说明的是,剪枝策略a可以重复执行多次,直到第一二分图中的所有用户节点和商品节点满足上述度数的条件为止。

其次,值得说明的是,在基于用户节点的度数和商品节点的度数对第一二分图进行上述剪枝处理后,并不意味着剩下的用户节点和商品节点都会满足虚假交易条件。因此,为了进一步减少第一二分图的规模,还可以进行进一步地根据剪枝策略b进行剪枝处理。

剪枝策略b对应的剪枝处理过程如下:

一方面,确定第一二分图中的第二用户节点所连接的多个商品节点;在第一二分图中除第二用户节点外剩余的用户节点中,确定与该多个商品节点中的至少第二数量的商品节点存在边的第三用户节点的总数;若第三用户节点的总数小于第三数量,则删除第二用户节点以及第二用户节点连接的边,第三数量等于第一数量减一。

另一方面,确定第一二分图中的第二商品节点所连接的多个用户节点;在第一二分图中除第二商品节点外剩余的商品节点中,确定与多个用户节点中的至少第一数量的用户节点存在边的第三商品节点的总数;若第三商品节点的总数小于第四数量,则删除第二商品节点以及第二商品节点连接的边,第四数量等于第二数量减一。

上述第二用户节点为第一二分图中的任一用户节点,第二商品节点为第一二分图中的任一商品节点。

上述剪枝策略概括来说就是,每个用户节点u,都必须拥有至少(k1-1)个其他“同伙”,这些“同伙”都满足与用户节点u有至少k2个共同邻居,即用户节点u和“同伙”都共同购买了至少k2个商品。类似地,每个商品节点v,都必须有至少(k2-1)个其他商品,这些商品都满足与商品节点v有至少k1个共同邻居,即商品节点v与这些商品至少共同被k1个用户购买。因此,所有不满足以上条件的用户节点、商品节点及其连接的边都被删除。

为便于理解该剪枝策略b的执行过程,结合图4来进行说明,其中,假设k1=3,k2=2。在图4中,以用户节点i和商品节点j为例进行说明。对于用户节点i来说,用户节点i的度数为3,满足度数大于或等于k2=2的条件,且用户节点i存在(k1-1)=2个同伙,分别为用户节点p和用户节点q,这两个同伙都满足与用户节点i有至少k2=2个共同邻居的条件,因此,用户节点i保留。对于商品节点j来说,商品节点j的度数为3,满足度数大于或等于k1=3的条件,且商品节点j不存在(k2-1)=1个其他商品满足与商品节点j有至少k1=3个共同邻居的条件,因此,商品节点j不保留,删除商品节点j及其连接的边。

值得说明的是,剪枝策略b和剪枝策略a一样,都是可以重复执行多次的,而且,剪枝策略a和剪枝策略b是可以交替迭代使用的,直到第一二分图中剩下的所有用户节点和商品节点都不满足被剪枝的条件为止。比如,在图4所示情形下,商品节点j及其连接的边被删除后,重复执行剪枝策略a和剪枝策略b,最终可能会导致剩下的用户节点以及商品节点被进一步删除。

通过以上两条剪枝策略,使得第一二分图中剩下的节点数和边数尽可能少,并且有很大概率包含对应于虚假交易数据的节点和边,加速了虚假交易数据的检测效率。

在一可选实施例中,可以将经过上述剪枝过程处理后的第一二分图作为虚假交易数据的检测结果,即根据此时第一二分图中包含的用户节点与商品节点间的边,确定哪些用户对哪些商品的交易行为是虚假的。当然,实际应用中,也可以将经剪枝处理后的第一二分图提供给相关人员,由相关人员进一步根据此时第一二分图中包含的用户节点与商品节点间的边,确定哪些用户对哪些商品的交易行为是虚假的。

在另一可选实施例中,根据经剪枝处理后的第一二分图确定待检测交易数据中存在的虚假交易数据,还可以实现为:

确定与经剪枝处理后的第一二分图对应的目标完全二分子图,目标完全二分子图中包括至少第一数量的用户节点以及至少第二数量的商品节点;进而,根据目标完全二分子图确定待检测交易数据中存在的虚假交易数据。

简单来说,上述目标完全二分子图的获取过程就是,求解经剪枝处理后的第一二分图所对应的各个完全二分子图(biclique),实际上,可以是极大完全二分子图(maximalbiclique)。求解出的各个完全二分子图各自具有不同的用户节点数量和商品节点数量,将其中满足存在至少第一数量的用户节点以及存在至少第二数量的商品节点的完全二分子图称为目标完全二分子图。其中,求解完全二分子图的过程可以参照现有技术实现,在此不赘述。

基于完全二分子图的含义可知,在目标完全二分子图中,每个用户节点与全部的商品节点都具有连接边,每个商品节点与全部的用户节点都具有连接边。如果将目标完全二分子图中包含的用户节点数量记为x,将目标完全二分子图中包含的商品节点数量记为y,将第一数量记为k1,将第二数量记为k2,那么,x≥k1,y≥k2。x个用户节点中的每个用户节点都与这y个商品节点连接,意味着这x个用户节点对应的每个用户都购买了这y个商品节点对应的y个商品;y个商品节点中的每个商品节点都与这x个用户节点连接,意味着这y个商品用户节点对应的每个商品都被这x个用户购买过。此时,基于以k1和k2所定义的虚假交易条件可知,这x个用户共同购买这y个商品的行为,可以视为虚假交易行为,从而,待检测交易数据中与这个目标完全二分子图中包含的用户节点与商品节点的连接关系所对应的交易数据为虚假交易数据。

另外,在进行虚假交易数据检测的过程中,除了可以结合上述剪枝策略以得到虚假交易数据外,还可以进一步结合其他维度的特征进行虚假交易数据的识别,比如商品的商家位置、用户位置、用户特征、购买时间特征,等等。

举例来说,在执行上述剪枝策略a的过程中,针对某个用户节点来说,假设该用户节点的度数小于第一数量,则进一步针对该用户节点与某个商品节点的连接来说,假设该商品的售卖信息中限定了只有相距商家位置在设定距离范围内的用户对该商品的购买行为才是有效的,那么如果该用户的位置与该商家位置的距离满足该条件,则最终确定删除该用户节点及其连接的边。

综上,当需要从几亿边到几百亿边不等的大量交易数据中检测出其中包含的虚假交易数据时,可以先确定定义虚假交易行为的条件,进而基于该虚假交易条件对表示大量交易数据的二分图进行剪枝处理以删除非虚假交易行为对应的节点和边,从而大幅度减少二分图的规模,大幅提高计算效率。最终,基于二分图的剪枝结果或者基于虚假交易条件对二分图进行完全二分子图的求解结果,便可以确定虚假交易数据。

前文中提到,用于定义虚假交易条件的第一数量和第二数量可以是人为经验设定的,也可以是基于对历史交易数据的分析得到的。下面,结合图5所示实施例来介绍一种基于历史交易数据确定虚假交易条件对应的第一数量和第二数量的方法。

图5为本发明一实施例提供的一种实现步骤101的方法的流程图,如图5所示,该方法可以包括如下步骤:

501、获取历史交易数据,历史交易数据中包括被标记为对应于虚假交易数据的至少一个商品。

相对前述实施例中提到的待检测交易数据来说,该历史交易数据可以是在该待检测交易数据产生之前的某段时间内产生的大量交易数据。可以理解的是,每个交易数据中都包括用户信息、商品信息以及用户对商品的交易行为,该交易行为比如可以是结算、加入购物列表等行为。实际应用中,可以仅筛选出对应于某种交易行为的交易数据作为上述历史交易数据,比如仅筛选出对应于结算行为的交易数据。

另外,基于相关工作人员的监测或者基于曾经对这些历史交易数据中包含的虚假交易数据的检测结果,可以标记出这些历史交易数据中哪些是虚假交易数据,从而,这些虚假交易数据所对应的商品构成上述至少一个商品。

值得说明的是,虚假交易数据中除了包含商品这个维度的信息外,还包括购买商品的用户这个维度的信息,因此,被标记的可以是商品,也可以是用户,当标记的是用户时,处理逻辑与标记商品的处理逻辑相似,不再赘述。

502、生成与历史交易数据对应的第二二分图。

与前文中的第一二分图相似地,该第二二分图中的用户节点集合对应于历史交易数据中包含的若干用户,第二二分图中的商品节点集合对应于历史交易数据中包含的若干商品,第二二分图中的边集合对应于用户对商品的交易行为,即如果某用户购买了某个商品,那么该用户对应的用户节点与该商品对应的商品节点之间存在连接边。

503、依次以上述至少一个商品作为目标商品,确定第二二分图中与目标商品对应的至少一个完全二分子图,至少一个完全二分子图中均包括目标商品对应的商品节点,至少一个完全二分子图各自对应的商品节点个数不同。

完全二分子图的求解过程仍旧可以参照现有技术来实现,只是,本实施例中,在求解第二二分图对应的完全二分子图的过程中,多了一个指导信息:目标商品。实际上,一个二分图对应的完全二分子图的个数往往不止一个。

具体来说,假设历史交易数据中被标记为对应于虚假交易数据的至少一个商品为:商品a和商品b,则可以依次将这两个商品作为目标商品。

其中,将商品a作为目标商品时,求解第二二分图对应的完全二分子图时,具体求解商品节点子集中至少包含商品a对应的商品节点的至少一个完全二分子图。实际应用中,可以预先设定每个完全二分子图中包含的商品节点的个数,比如1、2、3···。其中,当个数为1时,意味着求解仅包含商品a对应的商品节点的完全二分子图;当个数为2时,意味着求解包含商品a对应的商品节点以及另一个商品节点的完全二分子图;当个数为3时,意味着求解包含商品a对应的商品节点以及另外两个商品节点的完全二分子图,以此类推。

举例来说,以商品a为例,可以先在第二二分图中找到包含商品a的一个子图,该子图中包含与商品a存在连接边的所有用户节点,以及这是用户节点所购买的其他商品。接下来按照如下方式求解商品a对应的完全二分子图:不断枚举a和其他商品的组合,寻找共同购买这些组合的用户节点集合。比如,商品a被n1个人购买,将这n1个人记做用户集合x;若需要求商品a和商品b共同被哪些人购买,则在用户集合a中进一步确定多少人购买了商品b,即可以确定共同购买商品a和商品b的用户集合y;若要进一步求商品a、商品b和商品c被哪些人购买,则在用户集合b中确定多少人购买了商品c,则可以求得共同购买商品a、商品b和商品c的用户集合z。用户集合x、用户集合y和用户集合z分别对应于商品a的三个完全二分子图。

504、根据上述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定第一数量和第二数量。

可选地,根据上述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定第一数量和第二数量,可以实现为:

根据该至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定每个商品节点数量分别对应的至少一个用户节点数量;

根据每个商品节点数量分别对应的至少一个用户节点数量,确定每个商品节点数量分别对应的目标用户节点数量;

确定每个商品节点数量及其对应的目标用户节点数量作为一组第一数量和第二数量。

为方便说明如何根据上述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定第一数量和第二数量,假设上述至少一个商品为上述举例的商品a和商品b,并且,假设针对其中的每个商品,求解三种商品节点个数的完全二分子图,即三个完全二分子图,这三个完全二分子图中商品节点的规模分别是:1、2和3。假设将每个完全二分子图中用户节点的个数以c1表示,商品节点的个数以c2表示。

针对商品a:c2=1时,假设对应的完全二分子图中包含10个用户节点,则此时c1=10;c2=2时,假设在对应的完全二分子图中,包含上述10个用户节点中的8个用户节点,则此时c1=8;c2=3时,假设在对应的完全二分子图中,包含上述8个用户节点中的6个用户节点,则此时c1=6。

针对商品b:c2=1时,假设对应的完全二分子图中包含15个用户节点,则此时c1=15;c2=2时,假设在对应的完全二分子图中,包含上述15个用户节点中的13个用户节点,则此时c1=13;c2=3时,假设在对应的完全二分子图中,包含上述13个用户节点中的5个用户节点,则此时c1=5。

基于此,可以得到以下几组数值:

针对商品a:c1=10,c2=1;

针对商品a:c1=8,c2=2;

针对商品a:c1=6,c2=3;

针对商品b:c1=15,c2=1;

针对商品b:c1=13,c2=2;

针对商品b:c1=5,c2=3。

由此可知,商品节点数量c2=1时,具有两个用户节点数量:c1=10以及c1=15。同理,商品节点数量c2=2时,具有两个用户节点数量:c1=8以及c1=13。商品节点数量c2=3时,具有两个用户节点数量:c1=6以及c1=5。

可选地,假设以每个商品节点数量对应的两个用户节点数量中的最小值作为其对应的目标用户节点数量,则有:c2=1时,c1=10;c2=2时,c1=8;c2=3时,c1=5。

从而,最终可以确定出以下三组第一数量和第二数量,其中,第一数量记为k1,第二数量记为k2:

k2=1时,k1=10;

k2=2时,k1=8;

k2=3时,k1=5。

值得说明的是,上述仅以取最小值为例说明每个商品节点数量对应的目标用户节点数量的确定方式,实际上,不以此为限,比如也可以取最大值、均值,或者通过其他的计算方式得到。

在得到上述多组第一数量和第二数量后,这多组第一数量和第二数量都可以用于后续的二分图处理过程中,此时,相当于设定出与每组第一数量和第二数量对应的虚假交易条件。当然,也可以从中选择某一组,以用于后续的二分图处理过程中。

基于此,前述实施例中“根据所述虚假交易条件对第一二分图进行剪枝处理”可以实现为:根据至少一种虚假交易条件分别对第一二分图进行剪枝处理,以得到至少一个第三二分图,其中,至少一种虚假交易条件对应于至少一组第一数量和第二数量。从而,最终可以根据剪枝得到的至少一个第三二分图确定待检测交易数据中存在的虚假交易数据。

其中,基于一种虚假交易条件对第一二分图进行剪枝处理后得到一个二分图,称为第三二分图。

其中,根据至少一个第三二分图确定待检测交易数据中存在的虚假交易数据,可以是将各个第三二分图提供给相关人员,由相关人员基于各第三二分图中包含的用户节点与商品节点间的连接关系,核查对应的交易数据是否为虚假交易数据。

下面结合图6和图7来示例性说明以上数据检测方法在商品搜索场景下的执行过程。

图6为本发明一实施例提供的数据搜索方法的流程图,如图6所示,该方法可以包括如下步骤:

601、响应于数据搜索请求,获取与数据搜索请求对应的多个商品,获取与多个商品对应的交易数据。

602、确定虚假交易条件对应的第一数量和第二数量,虚假交易条件为存在至少第一数量的用户共同购买至少第二数量的商品。

603、生成与获取的交易数据对应的二分图,二分图的用户节点集合对应于所述交易数据中的多个用户,二分图的商品节点集合对应于所述多个商品,二分图的边集合对应于多个用户对多个商品的交易行为。

604、根据虚假交易条件对二分图进行剪枝处理,以从二分图中过滤掉不满足虚假交易条件的用户节点、商品节点以及边。

605、根据被过滤掉的用户节点、商品节点以及边,对多个商品进行排序。

结合图7来示例性说明本实施例提供的数据搜索方法的执行过程。

在实际应用中,当某用户想要购买某种商品时,可以先通过输入搜索关键词的方式搜索出一些备选的商品,进而再从这些商品中选择自己想要购买的商品。此时,用户触发的上述数据搜索请求中可以包括搜索关键词,在图7中,该搜索关键词假设为:牛奶。

对应于在线购物平台的服务器接收到该数据搜索请求后,可以从数据库中搜索与该搜索关键词匹配的多个商品,在图7中假设该多个商品包括:商品a、商品b、商品c、商品d。

之后,需要解决的核心问题是:对这些商品进行排序,以便确定搜索出的这些商品的展示顺序。

为此,首先,可以先获得一定时间段内这些商品对应的交易数据,并根据获得的每个交易数据中所包含的用户信息和商品信息,生成与获得的交易数据对应的二分图。

另外,为了避免这些交易数据中的虚假交易数据对排序结果的影响,需要从这些交易数据中过滤掉虚假交易数据,而过滤掉虚假交易数据的前提是需要检测出这些交易数据中包含的虚假交易数据。为了检测出其中包含的虚假交易数据,首先,需要定义虚假交易条件。该虚假交易条件的定义主要是确定虚假交易条件对应的第一数量和第二数量,从而,虚假交易条件定义为:存在至少第一数量的用户共同购买至少第二数量的商品。该第一数量和第二数量的确定可以参见前述实施例中的说明。

进而,根据虚假交易条件对由这些交易数据生成的二分图进行剪枝处理,以过滤掉不可能对应于虚假交易数据的用户节点、商品节点以及边。其实,被滤掉的用户节点、商品节点以及边所对应的交易数据即可以认为是真实的交易数据,可以作为搜索出的多个商品的排序依据。具体地,可以根据每个商品对应的交易量对该多个商品进行排序,排序结果如图7中所示。

通过本实施例提供的数据搜索方法,可以保证数据搜索结果的排序更加客观、真实。

以上各实施例是以在线购物场景下检测虚假交易行为为例对本发明实施例提供的数据检测方法的执行过程进行了说明。但是,正如前文中提到的,该数据检测方法不局限于该在线购物场景中,也可以适用于其他应用场景中。因此,适配于各种可适用的应用场景,该数据检测方法的执行过程如图8所示。

图8为本发明一实施例提供的数据检测方法的流程图,如图8所示,可以包括如下步骤:

801、确定异常操作条件对应的第一数量和第二数量,异常操作条件为存在至少第一数量的用户共同操作至少第二数量的对象。

802、生成与待检测操作数据对应的第一二分图,第一二分图的用户节点集合对应于待检测操作数据中的多个用户,第一二分图的对象节点集合对应于待检测操作数据中的多个对象,第一二分图的边集合对应于多个用户对多个对象的操作行为。

803、根据异常操作条件对第一二分图进行剪枝处理,以从第一二分图中过滤掉不满足异常操作条件的用户节点、对象节点以及边。

804、根据经剪枝处理后的第一二分图确定待检测操作数据中存在的异常操作数据。

本文中,被用户进行操作的对象,在不同应用场景下可以具有不同的含义,比如:在线购物场景下,该对象可以是商品;投票场景下,该对象可以是被投票者。那么相应地,用户对该对象的操作行为可以是:用户对商品的结算操作或者用户将商品添加到购物列表中的操作;用户对被投票者的投票操作。

待检测操作数据可以是根据实际需求设定的某段时间内产生的大量操作数据。比如上文中所述的:特定的某一天或几天内,在线购物平台中产生的交易数据。

本实施例提供的数据检测方法的详细执行过程可以参见前述实施例中对虚假交易数据的检测过程,在此不赘述。

以下将详细描述本发明的一个或多个实施例的数据检测装置、数据搜索装置。本领域技术人员可以理解,这些数据检测装置、数据搜索装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图9为本发明一实施例提供的数据检测装置的结构示意图,如图9所示,该虚假数据检测装置包括:条件确定模块11、二分图生成模块12、二分图剪枝模块13、虚假确定模块14。

条件确定模块11,用于确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品。

二分图生成模块12,用于生成与待检测交易数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测交易数据中的多个用户,所述第一二分图的商品节点集合对应于所述待检测交易数据中的多个商品,所述第一二分图的边集合对应于所述多个用户对所述多个商品的交易行为。

二分图剪枝模块13,用于根据所述虚假交易条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边。

虚假确定模块14,用于根据经剪枝处理后的第一二分图确定所述待检测交易数据中存在的虚假交易数据。

可选地,所述二分图剪枝模块13具体可以用于:根据所述异常操作条件确定所述第一二分图中需要被剪枝的用户节点、对象节点以及边;向用户输出与所述需要被剪枝的用户节点、对象节点以及边对应的剪枝提示信息;响应于所述用户根据所述剪枝提示信息触发的剪枝指令,过滤掉所述需要被剪枝的用户节点、对象节点以及边。

可选地,所述条件确定模块11具体可以用于:获取历史交易数据,所述历史交易数据中包括被标记为对应于虚假交易数据的至少一个商品;生成与所述历史交易数据对应的第二二分图;依次以所述至少一个商品中的一个商品作为目标商品,确定所述第二二分图中与所述目标商品对应的至少一个完全二分子图,所述至少一个完全二分子图中均包括所述目标商品对应的商品节点,所述至少一个完全二分子图各自对应的商品节点个数不同;根据所述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定所述第一数量和所述第二数量。

其中,在根据所述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定所述第一数量和所述第二数量的过程中,所述条件确定模块11具体可以用于:根据所述至少一个商品各自对应的至少一个完全二分子图中分别包括的用户节点数量和商品节点数量,确定每个商品节点数量分别对应的至少一个用户节点数量;根据所述每个商品节点数量分别对应的至少一个用户节点数量,确定所述每个商品节点数量分别对应的目标用户节点数量;确定所述每个商品节点数量及其对应的目标用户节点数量作为一组第一数量和第二数量。

基于此,所述二分图剪枝模块13具体可以用于:根据至少一种虚假交易条件分别对所述第一二分图进行剪枝处理,以得到至少一个第三二分图,其中,所述至少一种虚假交易条件对应于至少一组第一数量和第二数量。所述虚假确定模块14具体可以用于:根据所述至少一个第三二分图确定所述待检测交易数据中存在的虚假交易数据。

可选地,所述二分图剪枝模块13具体可以用于:删除所述第一二分图中的第一商品节点及所述第一商品节点连接的边,所述第一商品节点是度数小于所述第一数量的商品节点;删除所述第一二分图中的第一用户节点及所述第一用户节点连接的边,所述第一用户节点是度数小于所述第二数量的用户节点。

可选地,所述二分图剪枝模块13具体可以用于:确定所述第一二分图中的第二用户节点所连接的多个商品节点;在所述第一二分图中除所述第二用户节点外剩余的用户节点中,确定与所述多个商品节点中的至少所述第二数量的商品节点存在边的第三用户节点的总数;若所述第三用户节点的总数小于第三数量,则删除所述第二用户节点以及所述第二用户节点连接的边,所述第三数量等于所述第一数量减一。

可选地,所述二分图剪枝模块13具体可以用于:确定所述第一二分图中的第二商品节点所连接的多个用户节点;在所述第一二分图中除所述第二商品节点外剩余的商品节点中,确定与所述多个用户节点中的至少所述第一数量的用户节点存在边的第三商品节点的总数;若所述第三商品节点的总数小于第四数量,则删除所述第二商品节点以及所述第二商品节点连接的边,所述第四数量等于所述第二数量减一。

可选地,所述虚假确定模块14具体可以用于:确定与经剪枝处理后的第一二分图对应的目标完全二分子图,所述目标完全二分子图中包括至少所述第一数量的用户节点以及至少所述第二数量的商品节点;根据所述目标完全二分子图确定所述待检测交易数据中存在的虚假交易数据。

图9所示数据检测装置可以执行前述图1至图5所示实施例中提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图9所示的数据检测装置的结构可实现为一电子设备。如图10所示,该电子设备可以包括:第一处理器21、第一存储器22。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,至少使第一处理器21可以实现如前述图1至图5所示实施例中提供的方法。

其中,该电子设备的结构中还可以包括第一通信接口23,用于与其他设备或通信网络通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行前述图1至图5所示实施例中提供的方法。

图11为本发明一实施例提供的数据搜索装置的结构示意图,如图11所示,该数据搜索装置包括:获取模块31、确定模块32、生成模块33、剪枝模块34、排序模块35。

获取模块31,用于响应于数据搜索请求,获取与所述数据搜索请求对应的多个商品;获取与所述多个商品对应的交易数据。

确定模块32,用于确定虚假交易条件对应的第一数量和第二数量,所述虚假交易条件为存在至少所述第一数量的用户共同购买至少所述第二数量的商品。

生成模块33,用于生成与所述交易数据对应的二分图,所述二分图的用户节点集合对应于所述交易数据中的多个用户,所述二分图的商品节点集合对应于所述多个商品,所述二分图的边集合对应于所述多个用户对所述多个商品的交易行为。

剪枝模块34,用于根据所述虚假交易条件对所述二分图进行剪枝处理,以从所述二分图中过滤掉不满足所述虚假交易条件的用户节点、商品节点以及边。

排序模块35,用于根据被过滤掉的用户节点、商品节点以及边,对所述多个商品进行排序。

图11所示数据搜索装置可以执行前述图6所示实施例中提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图11所示的数据搜索装置的结构可实现为一电子设备。如图12所示,该电子设备可以包括:第二处理器41、第二存储器42。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,至少使第二处理器41可以实现如前述图6所示实施例中提供的数据搜索方法。

其中,该电子设备的结构中还可以包括第二通信接口43,用于与其他设备或通信网络通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行前述图6所示实施例中提供的数据搜索方法。

图13为本发明另一实施例提供的数据检测装置的结构示意图,如图13所示,该数据检测装置包括:条件确定模块51、二分图生成模块52、二分图剪枝模块53、异常确定模块54。

条件确定模块51,用于确定异常操作条件对应的第一数量和第二数量,所述异常操作条件为存在至少所述第一数量的用户共同操作至少所述第二数量的对象。

二分图生成模块52,用于生成与待检测操作数据对应的第一二分图,所述第一二分图的用户节点集合对应于所述待检测操作数据中的多个用户,所述第一二分图的对象节点集合对应于所述待检测操作数据中的多个对象,所述第一二分图的边集合对应于所述多个用户对所述多个对象的操作行为。

二分图剪枝模块53,用于根据所述异常操作条件对所述第一二分图进行剪枝处理,以从所述第一二分图中过滤掉不满足所述异常操作条件的用户节点、对象节点以及边。

异常确定模块54,用于根据经剪枝处理后的第一二分图确定所述待检测操作数据中存在的异常操作数据。

图13所示数据检测装置可以执行前述图8所示实施例中提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图13所示的数据检测装置的结构可实现为一电子设备。如图14所示,该电子设备可以包括:第三处理器61、第三存储器62。其中,第三存储器62上存储有可执行代码,当所述可执行代码被第三处理器61执行时,至少使第三处理器61可以实现如前述图8所示实施例中提供的数据检测方法。

其中,该电子设备的结构中还可以包括第三通信接口63,用于与其他设备或通信网络通信。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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