CN111858709A - 关联关系挖掘方法及装置 - Google Patents
关联关系挖掘方法及装置 Download PDFInfo
- Publication number
- CN111858709A CN111858709A CN202010677574.8A CN202010677574A CN111858709A CN 111858709 A CN111858709 A CN 111858709A CN 202010677574 A CN202010677574 A CN 202010677574A CN 111858709 A CN111858709 A CN 111858709A
- Authority
- CN
- China
- Prior art keywords
- entity
- target
- identification code
- value
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005065 mining Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 abstract description 31
- 238000004364 calculation method Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 abstract description 11
- 238000007418 data mining Methods 0.000 abstract description 2
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种关联关系挖掘方法及装置,涉及数据挖掘技术领域,该方法包括:获取目标实体信息和目标层数值;根据目标实体信息,在网络图中确定目标实体;将目标实体的识别码发送至与目标实体相邻的第一实体,并设置第一实体的标志值;根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体;根据第二实体与第一实体确定的层数值大于根据第一实体与目标实体确定的层数值;将多个包括相同识别码的实体之间的关联关系作为挖掘结果。本发明实施例基于网络图,可以对不同类型的实体和不同类型的关系同一起进行计算;可以处理批量目标实体信息,不需要将批量目标实体信息分解为多次计算,可以大大提高计算效率。
Description
技术领域
本发明涉及数据挖掘技术领域,尤其是涉及一种关联关系挖掘方法及装置。
背景技术
在银行业务中,实体与关系是一类非常重要的数据形式。各种对象都可以抽取成为实体,如客户、卡号、账户、设备、IP、电话号码等。而关系存在于实体之间,实体与实体通过关系进行连接。将数据组织成实体与关系后,实体抽象成节点,关系抽象成边,那么实体与关系便构成了一张虚拟的网络图。
网络图中的多个实体之间可能存在潜在的、隐藏的或者单实体不易发现的关联关系。传统的基于查询式的关联关系挖掘方案处理效率过低,已经无法满足对于效率的要求,同时,现有方法对于批量种子实体查询,只能分解成依次查询每个种子实体的关联子图实现,无法同时进行批量处理。由于银行的流水数据,比如登录、转账、支付数据量非常巨大,越来越多的业务挖掘需要联合多种数据,如何从巨型网络中得到业务人员需要的局部小网络子图,目前尚未提出更好的方案。
发明内容
本发明提供了一种关联关系挖掘方法及装置,可以提升在巨型网络中进行关联关系挖掘的效率。
第一方面,本发明实施例提供了一种关联关系挖掘方法,该方法包括:获取目标实体信息和目标层数值;根据所述目标实体信息,在所述网络图中确定目标实体;将所述目标实体的识别码发送至与所述目标实体相邻的第一实体,并设置所述第一实体的标志值;根据所述标志值和所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;根据所述第二实体与所述第一实体确定的层数值大于根据所述第一实体与所述目标实体确定的层数值;将多个包括相同所述识别码的实体之间的关联关系作为挖掘结果。
第二方面,本发明实施例还提供一种关联关系挖掘装置,该装置包括:获取模块,用于获取目标实体信息和目标层数值;确定模块,用于根据所述目标实体信息,在所述网络图中确定目标实体;第一发送模块,用于将所述目标实体的识别码发送至与所述目标实体相邻的第一实体,并设置所述第一实体的标志值;第二发送模块,用于根据所述标志值和所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;根据所述第二实体与所述第一实体确定的层数值大于根据所述第一实体与所述目标实体确定的层数值;结果模块,用于将多个包括相同所述识别码的实体之间的关联关系作为挖掘结果。
第三方面,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述关联关系挖掘方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述关联关系挖掘方法的计算机程序。
本发明实施例带来了以下有益效果:本发明实施例提供了一种关联关系挖掘方案,该方案在获取到目标实体信息和目标层数值之后,根据目标实体信息在网络图中确定目标实体,之后,将目标实体的识别码发送至与该目标实体相邻的第一实体,并设置该第一实体的标志值,标志值用于判断实体中是否添加标识码,根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体,将多个包括相同识别码的实体之间的关联关系作为挖掘结果。本发明实施例基于网络图,可以对不同类型的实体和不同类型的关系同一起进行计算;可以处理批量目标实体信息,不需要将批量目标实体信息分解为多次计算,可以大大提高计算效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的关联关系挖掘方法流程图;
图2为本发明实施例提供的第一种关联关系示意图;
图3为本发明实施例提供的第二种关联关系示意图;
图4为本发明实施例提供的第三种关联关系示意图;
图5为本发明实施例提供的关联关系挖掘方法实施流程示意图;
图6为本发明实施例提供的一种关联关系挖掘装置结构框图;
图7为本发明实施例提供的另一种关联关系挖掘装置结构框图;
图8为本发明实施例提供的计算机设备结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
银行业务中,数据量呈指数型增长,而数据的类型是多样,如登录、转账、支付等数据,并且越来越多的业务挖掘需要联合多种数据,那么如何多这些不同类型的数据进行关联与统一处理呢?一种非常有效的方式便是对这些数据从网络图的视角出发,不仅可以满足局部关联挖掘的需求,如查看某个实体的K层关系子图,解决现在很难从单一实体的特征来发现异常的问题;又可以满足全局挖掘的需求,即从整个网络图来分析银行业务,如超级节点、平均连接度、路径长度等。同时由于异常的实体或者关系在整个巨型网络中只是极小的一部分,因此如何从巨型网络中得到业务人员需要的局部小网络子图,是需要考虑的问题。
目前,银行业务人员在进行关联关系挖掘的时候,一种非常有效的方式便是从多个相关联的实体的视角出发,以关联关系的角度来判断是否异常,这种方式的优点便在于可以从多个实体之间的关联来发现潜在的、隐藏、单实体不易发现的异常。
基于关联网络进行关联关系挖掘的常用三种手段包括:1.给定一批种子实体,从整个网络图中关联出每个实体的指定K层的关联子图,每一个种子一个关联子图,并进行展示,从而业务人员可以明确从全局角度知道这个种子与哪些实体有关联,关联的实体信息、关联的关系、关系的属性等信息,这样业务人员可以很快判定该种子是否存在异常,或者该关联子图中异常的节点有哪些;2.给定一批种子实体,判断这批种子实体之间是否存在直接或者间接的关联,并将关联子图展示,可以解决两个业务问题,比如给定的是存在并案的一批卡号,那么与这批卡号都存在关联的实体(比如卡号、设备、IP)可能是疑似异常实体,业务人员便可以进一步进行排查;又比如给定一批异常卡号,那么与这批卡号中的多个卡号存在关联的实体便可能是进一步存在异常的实体,比如多个卡号背后的共同设备、共同IP等。3.给定两批实体,判断这两批实体之间是否存在关联,比如给定一批异常卡号与一批可能异常的卡号,那么发现这两批卡号之间是否存在关联,这样可以确定可能异常的卡号是否真的异常,以及中间通过了哪些实体作为异常路径。
现有方法包括基于关系数据库或者图数据库进行查询。
其中,基于关系型数据库查询的方案,其对每个种子是基于二维表进行N次连接来实现N层关联,这存在两个问题:首先,没有抽象成实体与关系,这样便没有从业务的角度来理解数据;其次,每增加1层关联都需要进行对同一个表进行自连接,这样效率会非常慢,对海量数据根本无法处理,再者,对于批量种子查询,图数据库也只能分解成依次查询每个种子的关联子图。
基于图数据库查询的方案,其基于图结构进行查询,每次增加1层关系进行扩散查询,从而得到K层邻居。这也存在两个问题:第一,对于银行这种亿级实体、千百亿关系的巨型网络也无能为力,并且图数据库成本很高。第二,对于批量种子查询,图数据库也只能分解成依次查询每个种子的关联子图。
基于此,本发明实施例提供的一种关联关系挖掘方法及装置,不仅从业务角度来理解数据,将数据抽象成实体与关系,而且能够显著提升批量关联计算效率,可以直接对海量数据进行处理,解决由于数据量巨大的效率问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种关联关系挖掘方法进行详细介绍。
首先,对涉及的技术术语进行解释。
实体:现实生活中存在的对象的集合。如金融行业中的客户、账户、设备等。
关系:实体与实体之间发生的关联,可以是直接存在的,如金融行业中账户与账户之间则存在转账与支付等关系,账户与设备之间存在登录关系,也可以是虚拟抽象的。关系又分为有向关系与无向关系。有向关系是指:关系对于该关系的两个实体不是对等的,即关系是有方向的,比如账号A给账号B转账,那么这条转账关系便是账号A指向账号B,又如账号A登录设备1,那么该登录关系这是账号A指向设备1。无向关系则相反,关系的两个实体是对等的,即实体类型一致,并且关系没有方向,如客户A与客户B是夫妻关系,那么该关系便是无向的。
网络图:将数据组织成实体与关系后,实体抽象成节点,关系抽象成边,那么实体与关系便构成了一张虚拟的网络图,如果关系是无向的,那么构成了无向图,如果关系是有向的,那么构成了有向图。
本发明实施例提供了一种关联关系挖掘方法,参见图1所示的一种关联关系挖掘方法流程图,该方法包括以下步骤:
步骤S102,获取目标实体信息和目标层数值。
在本发明实施例中,从银行的用户信息与流水数据中抽取实体与关系。主要抽象成四类实体:客户、卡号、设备、IP,以及五类关系:客户与账户之间拥有关系,一个客户可以拥有多个账户,账户与账户之间的转账与支付关系,账户与设备之间的登录关系、设备与IP之间的使用关系。
目标实体信息包括任一种或几种实体,以及该任一种或几种实体对应的唯一识别码。例如,目标实体信息可以包括为一个客户实体和一个卡号实体,该客户实体的唯一识别码为身份证号,该卡号实体的唯一识别码为银行卡账号。目标层数值是指与该目标实体直接或间接存在关联关系的最远邻居层数值。参见图2,其中,卡号1与卡号10之间的层数值为1,卡号1与卡号11之间的层数值为2。目标层数值用于确定最终的挖掘结果中,距离目标实体最远的实体与目标实体之间的层数值。目标层数值可以预先根据实际需求进行设定,本发明实施例对此不作具体限定。
需要说明的是,目标实体信息中可以包括一组实体或两组实体,可以根据实际需求预先进行设置。
步骤S104,根据目标实体信息,在网络图中确定目标实体。
在本发明实施例中,网络图是预先生成的用于描述实体与实体之间关系的数据信息,网络图以实体作为节点,实体之间关系作为边。网络图中包括从银行的用户信息与流水数据中抽取的所有实体与关系。在获取到目标实体信息后,在网络图中确定目标实体所在的节点。
步骤S106,将目标实体的识别码发送至与目标实体相邻的第一实体,并设置第一实体的标志值。
在本发明实施例中,识别码用于唯一识别目标实体。标志值用于判断实体中是否添加标识码。参见图2,将目标实体卡号1的识别码卡号发送至与目标实体卡号1直接相邻的第一实体:客户A、卡号8、卡号9、卡号10、设备I和卡号5,第一实体在收到目标实体的识别码后,根据该第一实体对应的数据集合中是否已经存在该标识码设置该第一实体的标志值。
步骤S108,根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体。
在本发明实施例中,根据标志值可以判断第一实体中是否新添加标识码,存在更新的第一实体将自己的新增的标识码发送给自己的直接邻居第二实体,没有更新的第一实体不发消息。没有收到识别码的实体则处于睡眠状态。
需要说明的是,根据第二实体与第一实体确定的层数值大于根据第一实体与目标实体确定的层数值。例如,参见图2,第二实体客户B与第一实体卡号8确定的层数值为第2层,第一实体卡号8与目标实体卡号1确定的层数值为第一层,卡号1的识别码发送给卡号8后,该识别码在卡号8向客户B发送,而不会向卡号1发送。也就是说,识别码向远离目标实体的方向进行发送。
另外需要说明的是,第二实体在收到目标实体的识别码后,重复步骤S108,向第二实体的相邻实体第三实体继续发送该识别码,直至距离目标实体最远的实体与目标实体之间的层数达到目标层数值。
步骤S110,将多个包括相同识别码的实体之间的关联关系作为挖掘结果。
在本发明实施例中,在网络图中,按照上述步骤,目标实体的识别码会发送至多个实体,将包括同样识别码的多个实体之间的关联关系作为关联关系挖掘的结果,也就是可以得到网络图的一个或多个关联子图。
本发明实施例提供了一种关联关系挖掘方案,该方案在获取到目标实体信息和目标层数值之后,根据目标实体信息在网络图中确定目标实体,之后,将目标实体的识别码发送至与该目标实体相邻的第一实体,并设置该第一实体的标志值,标志值用于判断实体中是否添加标识码,根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体,将多个包括识别码的实体之间的关联关系作为挖掘结果。本发明实施例通过网络图,可以对不同类型的实体和不同类型的关系同一起进行计算;可以处理批量目标实体信息,不需要将批量目标实体信息分解为多次计算,可以大大提高计算效率。
为了便于从业务角度理解数据,根据目标实体信息,在网络图中确定目标实体之前,还可以执行如下步骤:
获取实体数据和关系数据;根据实体数据与关系数据生成网络图。
在本发明实施例中,从银行的用户信息与流水数据中抽取实体与关系,将涉及到的所有的实体相关数据作为实体数据,涉及到的所有关系相关数据作为关系数据。实体与关系抽取完毕之后,根据实体数据和关系数据,使用spark的GraphFrame构造图,得到网络图。
本发明实施例从关联角度理解数据,这样更加符合业务需求,并且能够使用统一方式联合与处理各种类型数据。
为了便于处理巨型网络,网络图中的每个实体包括标志值;将目标实体的识别码发送至与目标实体相邻的第一实体,并设置第一实体的标志值,可以按照如下步骤执行。
初始化标志值,得到初始值;若第一实体中不存在识别码,则将识别码添加至第一实体,并将初始值设置为目标值;若第一实体中存在识别码,则停止将识别码发送至第二实体。
在本发明实施例中,网络图中每个节点都是一个实体,每个实体包括标志值。初始化标志值,例如,可以将代表标志值的变量初始化为false。目标实体中包括该目标实体的识别码,目标实体将自己的识别码发送至自己的直接邻居第一实体,收到消息的第一实体中,如果不存在该识别码,则添加该识别码到自己的数据集合中,并更改初始值false为目标值true,以表明该第一实体存在更新。如果收到消息的第一实体中,不包括该识别码,则停止该识别码从第一实体向下一节点的传播,也就是说,不存在更新的节点,不发送消息。
为了使最终挖掘出的关联关系达到目标层数值,根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体,可以按照如下步骤执行:
计算第二实体与目标实体之间的层数值;若标志值设置为目标值且第二实体与目标实体之间的层数值不大于目标层数值,将识别码发送至与第一实体相邻的第二实体;若标志值设置为初始值或第二实体与目标实体之间的层数值大于目标层数值,停止将识别码发送至与第一实体相邻的第二实体。
在本发明实施例中,参见图2,若第二实体为卡号7,目标实体为卡号1,那么第二实体与目标实体之间的层数值为3,若第二实体为卡号23,目标实体为卡号2,那么第二实体与目标实体之间的层数值为2。若标志值设置为目标值,例如为false,表示该第一实体存在更新,并且,第二实体与目标实体之间的层数值不大于目标层数值,说明当前挖掘的关联关系还没有达到目标深度,则将识别码从第一实体发送至其直接邻居第二实体。如果标志值为初始值,例如为true,表示该第一实体不存在更新,或者,第二实体与目标实体之间的层数值大于目标层数值,说明当前挖掘的关联关系已经达到目标深度,则停止将该识别码发送至第一实体的直接邻居第二实体。
为了便于工作人员更清楚的得到挖掘结果,该方法还可以执行如下步骤:
按照预设显示规则处理挖掘结果;将处理后的挖掘结果发送至显示模块,以使显示模块显示处理后的挖掘结果。
在本发明实施例中,预设显示规则可以根据实际需求进行设置,例如,可以设置为使用JSON进行显示,处理后得到JSON格式的挖掘结果,显示该处理后的挖掘结果。
下面结合具体实施例对该方法的实现步骤进行说明。
参见图2所示的第一种关联关系示意图,该方法可以实现给定一批种子实体(目标实体),从整个网络图中关联出每个实体的指定K层(目标层数值)的关联子图,每一个种子一个关联子图,并进行展示。参见图3所示的第二种关联关系示意图,该方法可以实现给定一批种子实体,判断这批种子实体之间是否存在直接或者间接的关联,并将关联子图展示。参见图4所示的第三种关联关系示意图,该方法可以实现给定两批实体,判断这两批实体之间是否存在关联。
三种关联举例如下:
1)给定一批种子实体,得到每个种子的关联图。
这种关联是每个种子是独立的关联视角,即每个种子会得到一个用户指定的邻居层数的关联子图,关联的关系(目前是客户、卡号、设备、IP四种实体,拥有、转账、支付、登录、使用五种关系)也可以指定。如下:
用户输入三个种子,卡号1,卡号2,卡号3,最多关联3层(上下3层),指定实体包括:客户、卡号、设备,关系包括:拥有、转账、支付、登录。结果如图2。
2)给定一批实体,得到这批实体之间是否有关联。
该需求是以这批实体为整体的视角,来计算得到这批实体之间是否存在直接或者间接关联。
比如输入卡号1、卡号2、卡号3、卡号4、卡号5、卡号6、卡号7,如图3。
卡号1、卡号2、卡号3之间存在关联;卡号4、卡号5、卡号6之间存在关联;卡号7与其他输入卡之间没有关联。
3)给定两批实体,得到这两批实体之间是否有关联。
该需求是以每批实体为整体的视角,来计算得到这两批之间是否存在关联
比如输入第一批卡号:卡号1、卡号2、卡号3、卡号4,第二批卡号:卡号A、卡号B、卡号C,如图4。
卡号1、卡号2与卡号A、卡号B之间有关联;卡号3与卡号C之间有关联;卡号4与卡号A、B、C之间无关联。
参见图5所示的关联关系挖掘方法实施流程示意图,在完成了实体与关系抽取以及构造网络图之后,需要对种子进行标识、关联和展示。
(1)种子标识
对上述的三个关联需求进行分别阐述。
a.批量种子K层关联子图:
使用一个true与false的标志,为每个实体打上标志,种子节点为true,非种子节点为false。
b.批量种子之间是否存在关联:
使用一个true与false的标志,为每个实体打上标志,种子节点为true,非种子节点为false。
c.两批种子之间是否存在关联:
使用int类型的标志,为每个实体打上标志,第一批种子节点为1,第二批种子节点为2,非种子节点为0。
(2)关联
这里使用消息机制来分布式计算,消息机制的优点是不在种子关联的子图中会处于睡眠状态,由于输入的种子数不会很多,又指定了关联的层数,这样网络中绝大部分实体是处理睡眠状态,即不参与计算,同时有基于分布式计算,这样可以快速对该巨型网络进行处理,
对上述的三个关联需求进行分别阐述。
a.批量种子K层关联子图:
输入一批种子,与最远邻居层数K。
初始化,种子节点初始的所属的关联种子id集为自己的id。其它非种子节点所属的关联id集为空。
1)种子节点向自己的直接邻居发送自己的所属关联id集。
2)初始化标志值为false。收到消息的节点将消息id与自己已有的所属的关联的id集比较,如果有新的,则添加到自己的所属关联id中,并设置标志值标志为true。存在更新的节点,将自己的新增的所属id的发送给自己的直接邻居,并且不回送(即A发送了B给C,C如果id集中没有B则添加,但是C不会继续将B发送给A)。没有收到消息的的节点则处于睡眠状态。没有更新的节点则不发生消息。
3)迭代步骤2),直到标志值不再为true,或者达到最大迭代次数K。
这样,处于某个或者某些种子关联子图中的实体,便会得到其所属关联的种子id。这样具有相同关联种子id的节点(实体)便在一个关联子图中,有些节点可能会出现在多个种子关联子图中。
b.批量种子之间是否存在关联:
输入一批种子,与最远邻居层数K。
初始化,种子节点初始的所属的关联id集为自己的id。其它非种子节点所属的关联id为空。
1)种子节点向自己的直接邻居发送自己的所属关联id集。
2)初始化标志值为false。收到消息的节点将消息id与自己已有的所属的关联的id集比较,如果有新的,则添加到自己的所属关联id中,并设置标志值标志为true。存在更新的节点,将自己的新增的id发送给自己的直接邻居,并且不回送(即A发送了B给C,C如果id集中没有B则添加,但是C不会继续将B发送给A)。没有收到消息的的节点则处于睡眠状态。没有更新的节点则不发生消息。
3)迭代步骤2),直到标志值不再为true,或者达到最大迭代次数K。
这样,对于种子节点,其所属的关联种子id集中有多个种子id的这些种子之间便存在关联。对于所有节点,并且具有相同集合的节点都在同一个关联子图中。
c.两批种子之间是否存在关联:
输入两批种子1与2,与最远邻居层数K。
初始化,每个节点使用两个所属种子id集S1与S2,第一批种子节点的S1初始化为自己的id,第二批种子节点的S1初始化为自己的id。
1)种子节点向自己的直接邻居发送自己的S1与S2。
2)初始化标志值为false。收到消息的节点使用消息中的S1更新自己的S1,消息中的S2更新自己的S2,即如果有新的,则添加到自己的相应的所属关联id中,并设置标志值为true。存在更新的节点,将自己的新增到S1的id集与新增到S2的id集发送给自己的直接邻居,并且不回送(即A发送了S1类型的B给C,C如果S1中没有B则将B添加到自己的S1中,但是C不会继续将S1类型的B发送给A)。没有收到消息的的节点则处于睡眠状态。没有更新的节点则不发生消息。
3)迭代步骤2),直到标志值不再为true,或者达到最大迭代次数K。
这样,对于种子节点,S1与S2都不为空的,那么S1中的种子与S2中的种子存在关联;对于所有节点,S1与S2都相同的节点则处于同一个关联子图中。
(3)结果表达与展示
前面得到了每个关联子图中的所有实体,然后将这些处于相同关联子图中的实体之间的关联的关系关联起来便得到了每个关联子图。最后使用一个JSON进行表达,JSON的格式如下:
{"seed":"种子字符串",nodes:[{"id":"账号A","level":0,"attr":"xxxxA"},{"id":"账号C","level":1,"attr":"xxxxC"},"edges":[{"src":"账号A","dst":"账号B","attr":"xxxxAB"}]]
四个字段分别表示为:
对于第一种关联,seed表示该子图所属的关联种子id;对于第二种关联则是关联种子集id的排序拼接字符串;对于第三种关联,seed则是S1排序拼接与S2排序拼接的拼接字符串。
nodes表示该关联子图的节点集合;
edges表示该关联子图的边集合。
结果表达完毕,则前端便进行展示。
本发明实施例提供了一种关联关系挖掘方法及装置,该方案不仅可以从业务角度来理解数据,将数据抽象成实体与关系,而且能够显著提升批量关联计算效率,可以直接对海量数据进行处理。满足多种关联需求,解决无法从单一实体的各个维度特征来发现异常的问题。其优点如下:1)从关联角度理解数据,这样更加符合业务需求,并且能够使用统一方式联合与处理各种类型数据。2)以图的视角,这样能够将不同类型实体,不同类型关系统一起来进行计算。3)基于消息传播的节点的N度关联节点与关系计算方法与分布式计算,能够处理巨型网络。4)基于消息传播与分布式计算,能够处理批量种子,不需要分解成一次次计算,而是同时计算。从而大大提高计算效率。5)一种简单便捷的关联结果的表达方法,有助于结果显示。
本发明实施例中还提供了一种关联关系挖掘装置,如下面的实施例所述。由于该装置解决问题的原理与关联关系挖掘方法相似,因此该装置的实施可以参见关联关系挖掘方法的实施,重复之处不再赘述。参见图6所示的一种关联关系挖掘装置结构框图,该装置包括:
获取模块71,用于获取目标实体信息和目标层数值;确定模块72,用于根据目标实体信息,在网络图中确定目标实体;第一发送模块73,用于将目标实体的识别码发送至与目标实体相邻的第一实体,并设置第一实体的标志值;标志值用于判断实体中是否添加标识码;第二发送模块74,用于根据标志值和目标层数值,将识别码发送至与第一实体相邻的第二实体;根据第二实体与第一实体确定的层数值大于根据第一实体与目标实体确定的层数值;结果模块75,用于将多个包括相同识别码的实体之间的关联关系作为挖掘结果。
在一个实施例中,参见图7所示的另一种关联关系挖掘装置结构框图,该装置还包括生成模块76,用于:获取实体数据和关系数据;根据实体数据与关系数据生成网络图。
在一个实施例中,网络图中的每个实体包括标志值;第一发送模块,具体用于:初始化标志值,得到初始值;若第一实体中不存在识别码,则将识别码添加至第一实体,并将初始值设置为目标值;若第一实体中存在识别码,则停止将识别码发送至第二实体。
在一个实施例中,第二发送模块,具体用于:计算第二实体与目标实体之间的层数值;若标志值设置为目标值且第二实体与目标实体之间的层数值不大于目标层数值,将识别码发送至与第一实体相邻的第二实体;若标志值设置为初始值或第二实体与目标实体之间的层数值大于目标层数值,停止将识别码发送至与第一实体相邻的第二实体。
在一个实施例中,参见图7所示的另一种关联关系挖掘装置结构框图,该装置还包括处理模块77,用于:按照预设显示规则处理挖掘结果;将处理后的挖掘结果发送至显示模块,以使显示模块显示处理后的挖掘结果。
本发明实施例还提供一种计算机设备,参见图8所示的计算机设备结构示意框图,该计算机设备包括存储器81、处理器82及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种关联关系挖掘方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述任一种关联关系挖掘方法的计算机程序。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种关联关系挖掘方法,其特征在于,包括:
获取目标实体信息和目标层数值;
根据所述目标实体信息,在网络图中确定目标实体;
将所述目标实体的识别码发送至与所述目标实体相邻的第一实体,并设置所述第一实体的标志值;所述标志值用于判断实体中是否添加标识码;
根据所述标志值和所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;根据所述第二实体与所述第一实体确定的层数值大于根据所述第一实体与所述目标实体确定的层数值;
将多个包括相同所述识别码的实体之间的关联关系作为挖掘结果。
2.根据权利要求1所述的方法,其特征在于,根据所述目标实体信息,在网络图中确定目标实体之前,还包括:
获取实体数据和关系数据;
根据所述实体数据与所述关系数据生成网络图。
3.根据权利要求1所述的方法,其特征在于,所述网络图中的每个实体包括标志值;
将所述目标实体的识别码发送至与所述目标实体相邻的第一实体,并设置所述第一实体的标志值,包括:
初始化所述标志值,得到初始值;
若所述第一实体中不存在所述识别码,则将所述识别码添加至所述第一实体,并将所述初始值设置为目标值;
若所述第一实体中存在所述识别码,则停止将所述识别码发送至第二实体。
4.根据权利要求1所述的方法,其特征在于,根据所述标志值和所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体,包括:
计算第二实体与目标实体之间的层数值;
若所述标志值设置为目标值且所述第二实体与目标实体之间的层数值不大于所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;
若所述标志值设置为初始值或所述第二实体与目标实体之间的层数值大于所述目标层数值,停止将所述识别码发送至与所述第一实体相邻的第二实体。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
按照预设显示规则处理所述挖掘结果;
将处理后的挖掘结果发送至显示模块,以使所述显示模块显示所述处理后的挖掘结果。
6.一种关联关系挖掘装置,其特征在于,包括:
获取模块,用于获取目标实体信息和目标层数值;
确定模块,用于根据所述目标实体信息,在网络图中确定目标实体;
第一发送模块,用于将所述目标实体的识别码发送至与所述目标实体相邻的第一实体,并设置所述第一实体的标志值;所述标志值用于判断实体中是否添加标识码;
第二发送模块,用于根据所述标志值和所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;根据所述第二实体与所述第一实体确定的层数值大于根据所述第一实体与所述目标实体确定的层数值;
结果模块,用于将多个包括相同所述识别码的实体之间的关联关系作为挖掘结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括生成模块,用于:
获取实体数据和关系数据;
根据所述实体数据与所述关系数据生成网络图。
8.根据权利要求6所述的装置,其特征在于,所述网络图中的每个实体包括标志值;所述第一发送模块,具体用于:
初始化所述标志值,得到初始值;
若所述第一实体中不存在所述识别码,则将所述识别码添加至所述第一实体,并将所述初始值设置为目标值;
若所述第一实体中存在所述识别码,则停止将所述识别码发送至第二实体。
9.根据权利要求6所述的装置,其特征在于,所述第二发送模块,具体用于:
计算第二实体与目标实体之间的层数值;
若所述标志值设置为目标值且所述第二实体与目标实体之间的层数值不大于所述目标层数值,将所述识别码发送至与所述第一实体相邻的第二实体;
若所述标志值设置为初始值或所述第二实体与目标实体之间的层数值大于所述目标层数值,停止将所述识别码发送至与所述第一实体相邻的第二实体。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置还包括处理模块,用于:
按照预设显示规则处理所述挖掘结果;
将处理后的挖掘结果发送至显示模块,以使所述显示模块显示所述处理后的挖掘结果。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677574.8A CN111858709A (zh) | 2020-07-14 | 2020-07-14 | 关联关系挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677574.8A CN111858709A (zh) | 2020-07-14 | 2020-07-14 | 关联关系挖掘方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858709A true CN111858709A (zh) | 2020-10-30 |
Family
ID=72984435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010677574.8A Pending CN111858709A (zh) | 2020-07-14 | 2020-07-14 | 关联关系挖掘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858709A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339948A (zh) * | 2016-08-26 | 2017-01-18 | 微梦创科网络科技(中国)有限公司 | 一种基于社交网络的关联用户的挖掘方法及装置 |
US20170293696A1 (en) * | 2016-04-11 | 2017-10-12 | Google Inc. | Related entity discovery |
CN109450920A (zh) * | 2018-11-29 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 一种异常账号检测方法及装置 |
CN110555172A (zh) * | 2019-08-30 | 2019-12-10 | 京东数字科技控股有限公司 | 用户关系挖掘方法及装置、电子设备和存储介质 |
-
2020
- 2020-07-14 CN CN202010677574.8A patent/CN111858709A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293696A1 (en) * | 2016-04-11 | 2017-10-12 | Google Inc. | Related entity discovery |
CN106339948A (zh) * | 2016-08-26 | 2017-01-18 | 微梦创科网络科技(中国)有限公司 | 一种基于社交网络的关联用户的挖掘方法及装置 |
CN109450920A (zh) * | 2018-11-29 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 一种异常账号检测方法及装置 |
CN110555172A (zh) * | 2019-08-30 | 2019-12-10 | 京东数字科技控股有限公司 | 用户关系挖掘方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maesa et al. | Uncovering the bitcoin blockchain: an analysis of the full users graph | |
Coscia et al. | Uncovering hierarchical and overlapping communities with a local-first approach | |
CN110414987A (zh) | 账户集合的识别方法、装置和计算机系统 | |
CN106062751A (zh) | 对与数据类型有关的数据剖析操作的管理 | |
CN113064953B (zh) | 基于邻居信息聚合的区块链地址聚类方法及装置 | |
CN112700332B (zh) | 一种基于图计算的比特币账户聚类方法 | |
Orenstein | How does supply network evolution and its topological structure impact supply chain performance? | |
CN113986323A (zh) | 数据更新方法、装置及计算机可读存储介质 | |
Zhu et al. | Pattern study and parameter identification of a reaction-diffusion rumor propagation system with time delay | |
CN111626311B (zh) | 一种异构图数据处理方法和装置 | |
CN110287237B (zh) | 一种基于社会网络结构分析社团数据挖掘方法 | |
Bi et al. | MM-GNN: Mix-moment graph neural network towards modeling neighborhood feature distribution | |
Zhai et al. | Bi-directional h-index: A new measure of node centrality in weighted and directed networks | |
Liu et al. | Fishing for Fraudsters: Uncovering Ethereum Phishing Gangs With Blockchain Data | |
El Ayeb et al. | Community detection for mobile money fraud detection | |
CN111858709A (zh) | 关联关系挖掘方法及装置 | |
Janeja et al. | Random walks to identify anomalous free-form spatial scan windows | |
CN111105317A (zh) | 一种基于购药记录的医疗保险欺诈检测方法 | |
Wu et al. | Understanding the dynamic and microscopic traits of typical Ethereum accounts | |
Lamba et al. | Model-based cluster analysis for identifying suspicious activity sequences in software | |
US20160292300A1 (en) | System and method for fast network queries | |
Hu et al. | Degree distributions and motif profiles of Thue–Morse complex network | |
CN115099798A (zh) | 一种基于实体识别的比特币异常地址追踪系统 | |
CN114860806A (zh) | 区块链的数据查询方法、装置、计算机设备和存储介质 | |
Gulyás et al. | Measuring local topological anonymity in social networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220914 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |