CN112214499A - 图数据处理方法、装置、计算机设备和存储介质 - Google Patents

图数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112214499A
CN112214499A CN202011394355.5A CN202011394355A CN112214499A CN 112214499 A CN112214499 A CN 112214499A CN 202011394355 A CN202011394355 A CN 202011394355A CN 112214499 A CN112214499 A CN 112214499A
Authority
CN
China
Prior art keywords
node
nodes
subgraph
network graph
core
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.)
Granted
Application number
CN202011394355.5A
Other languages
English (en)
Other versions
CN112214499B (zh
Inventor
许杰
李晓森
欧阳文
肖品
陶阳宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011394355.5A priority Critical patent/CN112214499B/zh
Publication of CN112214499A publication Critical patent/CN112214499A/zh
Application granted granted Critical
Publication of CN112214499B publication Critical patent/CN112214499B/zh
Priority to EP21899723.7A priority patent/EP4206943A4/en
Priority to PCT/CN2021/123265 priority patent/WO2022116689A1/zh
Priority to JP2023518909A priority patent/JP2023545940A/ja
Priority to US17/949,030 priority patent/US11935049B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种图数据处理方法、装置、计算机设备和存储介质。所述方法涉及数据挖掘技术,包括:获取网络图中各节点的关联度;根据各节点的关联度从网络图中拆分出稠密子图;基于稠密子图,确定网络图中的稳定节点及稳定节点的核数;根据网络图中除稳定节点之外的节点及节点之间的连边,获得网络图中的稀疏子图;基于稀疏子图和稳定节点,确定稀疏子图中各节点的核数。采用本方法能够支持超大规模网络的子图挖掘,还能够在挖掘过程中极大降低内存占用,避免在非重要节点上浪费较多的迭代时间和计算资源,提升了挖掘性能。

Description

图数据处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及大数据技术领域,特别是涉及一种图数据处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的不断提高和普及,越来越多的用户加入各种各样的网络平台,从而形成了大规模的网络,分析和挖掘这些大规模网络中隐藏的信息是非常具有研究价值的。
K-Core算法是一种子图挖掘算法,可以从复杂的网络中挖掘紧密关联的子图,例如,可以从交易网络中挖掘出买家或卖家之间行为异常的团伙,还可以找出整个交易网络中处在核心位置的买家或卖家。
目前的K-core挖掘算法主要采用的是递归剪枝方法,也就是从k=1开始不断迭代地确定每个网络中每个节点的核数。然而,这种递归剪枝方法按照core值为1,2,…,k的方式向上挖掘,在非重要节点上消耗了较多的迭代时间和计算资源,导致整体计算时间过长,导致对超大规模网络的挖掘性能较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升对超大规模网络的挖掘性能的图数据处理方法、装置、计算机设备和存储介质。
一种图数据处理方法,所述方法包括:
获取网络图中各节点的关联度;
根据所述各节点的关联度从所述网络图中拆分出稠密子图;
基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
在一个实施例中,所述获取网络图中各节点的关联度,包括:
获取所述网络图;
确定所述网络图中各节点的邻居节点的数量;
将邻居节点的数量作为相应节点的关联度。
在一个实施例中,所述获取网络图,包括:
获取与用户标识对应的支付记录;
根据所述支付记录获得各所述用户标识之间的支付交互数据;
根据所述支付交互数据生成支付关系网络图;
其中,所述支付关系网络图的节点表示用户标识,所述支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件。
在一个实施例中,所述根据所述各节点的关联度从所述网络图中拆分出稠密子图,包括:
获取预设的阈值;
从所述网络图中移除关联度小于或等于所述阈值的节点及所述节点所在的连边,根据所述网络图中剩余节点及所述剩余节点之间的连边获得稠密子图。
在一个实施例中,所述基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数,包括:
根据各节点在所述稠密子图中邻居节点的数量,获得各节点在所述稠密子图的关联度,将在所述稠密子图中的关联度作为相应节点初始的当前核数;
迭代地执行对于所述稠密子图中的每个节点,根据所述节点在所述稠密子图中的邻居节点的当前核数,计算所述节点对应的核心指数;当所述核心指数小于或等于预设的阈值时,从所述稠密子图中移除所述节点;当所述核心指数大于所述阈值且小于所述节点的当前核数时,则根据所述节点的核心指数更新所述节点的当前核数的步骤,直至当次迭代过程中所述稠密子图中各节点的当前核数均未被更新时停止迭代;
将停止迭代时获得的稠密子图中的节点作为所述稳定节点,并将停止迭代时所述稳定节点的当前核数作为所述稳定节点对应的核数。
在一个实施例中,所述方法还包括:
在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;
记录的节点用于指示在下次迭代开始时,将所述记录的节点在所述稠密子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;
所述对于所述稠密子图中的每个节点,根据所述节点在所述稠密子图中的邻居节点的当前核数,计算所述节点对应的核心指数,包括:
对于所述稠密子图中的目标节点,根据所述目标节点在所述稠密子图中的邻居节点的当前核数,计算所述目标节点对应的核心指数。
在一个实施例中,所述根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图,包括:
从所述网络图中移除所述稳定节点;
根据移除所述稳定节点后剩余节点及所述剩余节点之间的连边,获得稀疏子图。
在一个实施例中,所述基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数,包括:
根据所述稀疏子图中各节点在原始的所述网络图中邻居节点的数量,初始化所述稀疏子图中各节点的当前核数;
迭代地执行对于所述稀疏子图中的每个节点,根据所述节点在所述网络图中的邻居节点的当前核数 ,计算所述节点对应的核心指数;当所述核心指数小于所述节点的当前核数时,则根据所述节点的核心指数更新所述节点的当前核数的步骤,直至当次迭代过程中所述稀疏子图中各节点的当前核数均未被更新时停止迭代;
将停止迭代时所述节点的当前核数作为所述节点对应的核数。
在一个实施例中,所述方法还包括:
在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;
记录的节点用于指示在下次迭代开始时,将所述记录的节点在所述稀疏子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;
所述对于所述稀疏子图中的每个节点,根据所述节点在所述网络图中的邻居节点的当前核数,计算所述节点对应的核心指数,包括:
对于所述稀疏子图中的目标节点,根据所述目标节点在所述网络图中的邻居节点的当前核数,计算所述目标节点对应的核心指数。
在一个实施例中,所述计算所述节点对应的核心指数,包括:
若所述节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则
确定所述节点对应的核心指数为h,其中h为正整数。
在一个实施例中,所述方法还包括:
在当次迭代过程开始时,初始化节点更新数为零,所述节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;
统计当次迭代过程中当前核数被更新的节点的数量;
根据所述数量更新所述节点更新数;
若当次迭代过程结束时,所述节点更新数为非零,则继续下一次迭代过程;
若当次迭代过程结束时,所述节点更新数为零,则停止迭代。
在一个实施例中,所述网络图为支付关系网络图,所述支付关系网络图中的节点表示用户标识,所述支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件,所述方法还包括:
根据所述支付关系网络图中各节点的核数,生成所述节点表示的用户标识所对应的特征向量;
通过预先训练的分类模型,基于所述特征向量预测所述用户标识对应的支付类型。
一种图数据处理装置,所述装置包括:
网络图获取模块,用于获取网络图中各节点的关联度;
稠密子图获取模块,用于根据所述各节点的关联度从所述网络图中拆分出稠密子图;
第一确定模块,用于基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
稀疏子图获取模块,用于根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
第二确定模块,用于基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取网络图中各节点的关联度;
根据所述各节点的关联度从所述网络图中拆分出稠密子图;
基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取网络图中各节点的关联度;
根据所述各节点的关联度从所述网络图中拆分出稠密子图;
基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
在一个实施例中,提供了一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述图数据处理方法中的步骤。
上述图数据处理方法、装置、计算机设备、存储介质和计算机程序,在获取网络图中各节点的关联度之后,基于分治思想,对网络图进行分治求解,从而可以支持超大规模网络的子图挖掘。也就是,根据各节点的关联度将完整的网络图分为稠密子图和稀疏子图,分成两部分进行挖掘,极大降低了内存占用,并且可以直接切入稠密子图,避免在非重要节点上浪费较多的迭代时间和计算资源,提升了挖掘性能。
由于稀疏子图中的各节点不会对稠密子图中的节点产生影响,因此针对稠密子图,直接确定其中的稳定节点及稳定节点对应的核数,接着将网络图中除该稳定节点及稳定节点之间的连边外剩余的部分构成稀疏子图,考虑到稠密子图中的稳定节点会对其中的节点产生影响,因此针对该稀疏子图,需要根据稀疏子图本身及稠密子图中的稳定节点来确定该稀疏子图中各节点的核数。挖掘出网络图中各节点的核数之后,核数可作为相应节点的特征生成相应的特征向量输入至其他下游任务。
附图说明
图1为一个实施例中图数据处理方法的应用环境图;
图2为一个实施例中图数据处理方法的流程示意图;
图3为一个实施例中对网络图进行3核子图划分的示意图;
图4为一个实施例中分别对网络图按k-core分解和按阈值拆分的示意图;
图5为一个实施例中根据稠密子图确定网络图中的稳定节点的流程示意图;
图6为一个实施例中根据稀疏子图确定网络图中节点的核数的流程示意图;
图7为一个实施例中图数据处理方法的示意图;
图8为一个具体的实施例中图数据处理方法的流程示意图;
图9为一个实施例中图数据处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102与终端102之间是通过服务器进行交互的,服务器104可以获取终端102在网络上交互时所形成的交互数据,根据交互数据生成网络图。在一个实施例中,服务器104获取网络图中各节点的关联度;根据各节点的关联度从网络图中拆分出稠密子图;基于稠密子图,确定网络图中的稳定节点及稳定节点的核数;根据网络图中除稳定节点之外的节点及节点之间的连边,获得网络图中的稀疏子图;基于稀疏子图和稳定节点,确定稀疏子图中各节点的核数。
其中,终端102可以但不限于是各种个人计算机、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例提供的图数据处理方法,该图数据处理方法的执行主体可以是本申请实施例提供的图数据处理装置,或者集成了该图数据处理装置的计算机设备,其中该图数据处理装置可以采用硬件或软件的方式实现。计算机设备可以是上述的终端102或服务器104。
本申请提供的图数据处理方法,涉及对大数据(Big data)形成的网络图进行数据挖掘。在获取网络图中各节点的关联度之后,基于分治思想,对网络图进行分治求解,从而可以支持超大规模网络的子图挖掘。也就是,根据各节点的关联度将完整的网络图分为稠密子图和稀疏子图,分成两部分进行挖掘,极大降低了内存占用,并且可以直接切入稠密子图,避免在非重要节点上浪费较多的迭代时间和计算资源,提升了挖掘性能。
其中,大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
本申请实施例提供的图数据处理方法,获得网络图中各节点的核数后,节点的核数还可以用于根据核数生成与节点对应的特征向量,特征向量用于根据特征向量对节点进行分类。例如,特征向量可作为机器学习(Machine Learning,ML)算法的输入,实现对该节点的分类。
其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在一个实施例中,如图2所示,提供了一种图数据处理方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤202,获取网络图中各节点的关联度。
其中,图(Graph)是一种对事物之间的联系进行建模的数据结构,图包括一系列节点和用于连接节点的连边,节点又可以称为顶点。两个节点之间存在连边,表示该两个节点之间存在关联。两个节点之间的连边可以有权重。节点的关联度是指与该节点相连接的边的条数,也是与该节点相邻的邻居节点的数量,邻居节点是指与该节点有连边的节点。
网络图是根据基于互联网的网络交互数据生成的图。其中,网络交互数据例如可以是支付交互数据、即时通信交互数据、在线购物交互数据,等等,相应的网络图例如可以是支付关系网络图、即时通信关系网络图和在线购物关系网络图,等等。
具体地,为了实现对复杂网络中有用信息的挖掘,计算机设备可以基于该网络中大量的交互数据生成网络图,并获取网络图中各节点的关联度,从而根据该网络图和其中各节点的关联度实现对该网络图的图挖掘。图挖掘(graph mining)是指采用一些算法从图中挖掘出潜在的有用信息的过程,图挖掘包括对图分类、图距离、子图挖掘,等等。本申请实施例中,主要是对该网络图中各节点的核数进行挖掘,得到各节点的核数后,不仅可以从网络图中寻找出符合指定核数的节点的集合,还可以根据各节点的核数生成相应的特征向量,作为其他机器学习算法的输入。
在一个实施例中,网络图可以是支付关系网络图,支付关系网络图的生成步骤包括:获取与用户标识对应的支付记录;根据支付记录获得各用户标识之间的支付交互数据;根据支付交互数据生成支付关系网络图;其中,支付关系网络图的节点表示用户标识,支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件。
其中,支付交互事件是转账、发红包、借款、扫码付款等交易事件中的至少一种。本实施例中,一个用户是一个节点,若两个用户之间存在支付交互事件,则该两个用户之间会形成一条连边。例如,用户a向用户b转账,则用户a与用户b之间形成一条连边。可以理解,当用户群体数量众多时,则这些用户之间形成的连边的数量是超大规模的,从而,生成的支付网络关系图是超大规模的。例如,在微信支付场景中,节点的数量可达20亿,这20亿节点之间形成的连边条数可以达到千亿的超大规模。
在一个实施例中,网络图可以是社交关系网络图,社交关系网络图的生成步骤包括:获取用户标识的历史会话数据;根据历史会话数据生成社交关系网络图;其中,社交关系网络图的节点表示用户标识,社交关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在历史会话。
本实施例中,一个用户是一个节点。若两个用户之间存在历史会话,则该两个用户之间会形成一条连边。在另一个实施例中,若两个用户之间相互添加了好友关系,这该两个用户之间形成一条连边。同样地,当用户数量量较大时,所形成的社交关系网络图也是非常复杂的。
在一个实施例中,获取网络图中各节点的关联度,包括:获取网络图;确定网络图中各节点的邻居节点的数量;将邻居节点的数量作为相应节点的关联度。
图可以用邻接矩阵或邻接列表来表示,在邻接列表中,对于图中的每一个节点,都会存储一个从该节点开始的边的列表,例如,如果节点A 有三条边分别连接于B、C和D,那么A的列表中会有三条边。在邻接矩阵中,行和列都表示节点,由两个节点所决定的矩阵中的对应元素,表示该两个节点是否相连,如果相连,该对应元素的值可以表示该两个节点之间连边的权重。
计算机设备可以获取网络图对应的邻接列表或邻接矩阵,从邻接列表或邻接矩阵中遍历该网络图中各个节点的邻接节点的数量,邻居节点的数量可作为相应节点的关联度。
在支付场景中,支付关系网络图中某个节点的关联度,可以理解为与该节点有交易行为的节点的数量。在社交场景中,社交关系网络图中某个节点的关联度,可以理解为与该节点存在历史会话的节点的数量。
步骤204,根据各节点的关联度从网络图中拆分出稠密子图。
本实施例中,主要是对网络图中各节点的核数进行挖掘。核数(coreness)是用来判断节点在整个网络图中的重要性的指标之一。一个图的k核子图,是指从该图中反复去除关联度小于或等于k的节点后,所剩余的子图,也就是将图G中关联度小于k的顶点全部移除,得到子图G';将图G'中关联度小于k的顶点全部移除,得到新子图G'',…,以此类推,直至剩余子图中每个节点的关联度都大于k时停止,得到该图G的k核子图。节点的核数,定义为该节点所在的最大核子图,即若一个节点存在于M核子图中,而在(M+1)核子图中被移除,那么该节点的核数为M。
例如,2核子图就是先从图中去掉所有关联度小于2的节点,然后再从剩下的图中去掉关联度小于2的节点,依次类推,直到不能去掉为止,得到2核子图;3核就是先从图中去掉所有关联度小于3的节点,然后再从剩下的图中去掉关联度小于3的节点,依次类推,直到不能去掉为止,得到该图的3核子图。若一个节点最多在5核子图而不在6核子图中,那么该节点的核数为5。如图3所示,为一个3核子图划分的过程示意图。参照图3,可以看出,经过两次从图中去除关联度小于3的节点,得到了最终的3核子图。
根据上面的分析可知,核数大于k的节点该节点的关联度必然大于k。因此,在本申请实施例中,计算机设备通过设置一个阈值,根据各节点的关联度和该阈值将原本的网络图拆分为稠密子图和稀疏子图两部分,然后依次挖掘出其中各节点的核数。通过阈值从网络图中拆分出稠密子图,能够直接对稠密子图进行挖掘,避免在核数小于阈值的非重要节点上浪费较多的迭代时间和计算资源,这对于超大规模网络的核数挖掘是非常重要的。需要说明的是,稠密子图中各节点的关联度必然是大于该阈值的,但网络图中关联度大于该阈值的节点并不一定必然存在于该稠密子图中。
其中,预设的阈值,可以根据实际需要进行设置。可选地,可以根据具体业务场景需要来确定预设的阈值,比如根据以往经验核数大于300的节点在网络图中发挥的作用比较大,那么计算机设备可以将预设的阈值设置为300。可选地,还可以根据计算资源的限制来确定预设的阈值,因为阈值设置越小,从网络图中拆分出的稠密子图所包括的节点数量越大,稠密子图越大,所需计算资源也越多,反之阈值设置的越大,从网络图中拆分出的稠密子图越小,所需的计算资源也就越少。可选地,还可以根据该网络图中各节点关联度的分布来设置阈值的大小,例如,若网络图中大多数节点的关联度均小于某个值,那么可以将该阈值设置成该值。
在一个实施例中,根据各节点的关联度和预设的阈值从网络图中拆分出稠密子图,包括:获取预设的阈值;从网络图中移除关联度小于或等于阈值的节点及节点所在的连边,根据网络图中剩余节点及剩余节点之间的连边获得稠密子图。
具体地,根据预设的阈值,计算机设备从原图中过滤掉关联度小于该阈值及等于该阈值的节点,即得到稠密子图,获得的该稠密子图中所有节点的关联度都大于该阈值。可见,阈值设置的越大,得到的稠密子图越小,所需要的计算资源也更少。
如图4所示,为一个实施例中,分别对网络图按k-core分解和按阈值拆分的示意图。参照图4左边,是按照k-core算法,按k=1,k=2,k=3…,依次自下向上挖掘出网络图中各节点的核数的示意图,即从k=1开始,反复去除关联度小于或等于k的节点,对于k=1,计算机设备需要迭代2次,对于k=2,计算机设备需要迭代2次,对于k=3,计算机设备需要迭代2次,k=4,计算机设备需要迭代2次,由于不存在关联度大于5的节点,所以对于k=5,计算机设备需要迭代1次,也就是说,计算机设备一共需要迭代9次,才能确定该图中各节点的核数,得到相同核数的节点构成的子图。参照图4右边,是直接从原图中迭代去除关联度小于预设的阈值的节点,以阈值为2将原图拆分为稠密子图和稀疏子图举例来说,计算机设备迭代地过滤掉关联度小于2的节点及等于2的节点,一共只需要迭代2次,就可以从原始的网络图中确定稠密子图和稀疏子图,由于迭代计算的稀疏性,后续迭代过程中很多节点的核数被确定后就不再被更新。
步骤206,基于稠密子图,确定网络图中的稳定节点及稳定节点的核数。
其中,稳定节点是从稠密子图中挖掘出的核数大于预设的阈值的节点。计算机设备从网络图中拆分出稠密子图后,先对稠密子图进行挖掘,确定其中的稳定节点及稳定节点的核数,以实现分治求解的第一步。
具体地,由于稀疏子图中各节点的关联度是小于预设的阈值的,所以稀疏子图中各节点不会对稠密子图中各节点的核数产生影响,那么,计算机设备可以直接切入稠密子图,对稠密子图进行挖掘,根据稠密子图中各节点的关联度确定各节点的核数,将核数大于预设的阈值的节点作为网络图中的稳定节点。
在一个实施例中,计算机设备可以采用k-core算法,直接对稠密子图进行k-core挖掘,从稠密子图中挖掘出核数大于预设的阈值的稳定节点。具体地,按照k=1,k=2,…,k处等于预设的阈值,从该稠密子图中反复去除关联度小于或等于k的节点,得到k核子图,从而确定稠密子图中各节点所在最大核数的子图,从而确定各节点的核数,将其中核数大于预设的阈值的节点作为稳定节点。
在一个实施例中,计算机设备可以在对稠密子图进行迭代时,在当次迭代过程中,利用节点前次迭代后各邻居节点的核心指数更新相应节点的当次迭代过程的核数。并且,由于一个节点不会影响核数大于该节点的其他节点的核数的计算,因此,在当次迭代更新各节点的核数后,计算机设备还可以将更新后核数大于预设的阈值的节点继续参与下次迭代,更新后核数小于或等于预设的阈值的节点不再参与下次迭代,这样就可以挖掘出稠密子图中核数大于预设的阈值的节点。
在一个实施例中,节点的所有邻居节点的核心指数,可以是H指数,一个节点的H指数如果是h,就说明这个节点至少有h个邻居节点,并且这h个邻居节点的关联度都不小于h。也就是说,若节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则确定节点对应的核心指数为h,其中h为正整数。
在一个实施例中,如图5所示,基于稠密子图,确定网络图中的稳定节点及稳定节点的核数,包括:
步骤502,根据各节点在稠密子图中邻居节点的数量,获得各节点在稠密子图的关联度,将在稠密子图中的关联度作为相应节点初始的当前核数。
具体地,计算机设备在对稠密子图进行挖掘时,可以利用稠密子图中各节点在该稠密子图中的关联度来初始化各节点的核数,作为最初的当前核数。
可以理解的是,本实施例中的“当前核数”是动态变化的,指的是前次迭代后各节点被更新的核数,“前次迭代过程”、“当次迭代过程”也是动态变化的,在下一次迭代时,“当次迭代过程”成为了“前次迭代过程”,而下一次迭代变成了“当次迭代过程”。
步骤504,迭代地执行对于稠密子图中的每个节点,根据节点在稠密子图中的邻居节点的当前核数,计算节点对应的核心指数;当核心指数小于或等于预设的阈值时,从稠密子图中移除节点;当核心指数大于阈值且小于节点的当前核数时,则根据节点的核心指数更新节点的当前核数的步骤,直至当次迭代过程中稠密子图中各节点的当前核数均未被更新时停止迭代。
具体地,在每次迭代过程中,计算机设备都需要对稠密子图中的每个节点都需要进行处理。对稠密子图中的每个节点,根据其邻居节点的当前核数,即上一轮迭代过程后所有邻居节点的核数,计算该节点对应的核心指数,若节点的核心指数小于或等于预设的阈值,则该节点不会影响核数大于该节点的其他节点的核数的计算,则该节点无需参与后续的迭代过程,可以从稠密子图中移除该节点;若节点的核心指数大于预设的阈值且小于节点的当前核数,则利用该核心指数更新该节点的当前核数,并且该节点还需要继续参与后续的迭代过程。由于每个节点在当次迭代过程的核数是根据该节点所有邻居在前次迭代过程的核数确定的,具有局部性,可以很容易扩展成分布式并行计算的逻辑,从而加快整个挖掘过程。
迭代停止条件,是当次迭代过程中,稠密子图中剩下的所有节点的当前核数均未发生变化。也就是说,根据节点的邻居节点在前次迭代的核数计算得到的核心指数与该节点的当前核数一致时,则该节点的核数不会被更新,若稠密子图中剩下的所有节点的当前核数在当次迭代过程中均未被更新,则停止迭代。
可以理解的是,由于每次迭代过程中会移除稠密子图中核心指数小于或等于预设的阈值的节点,因此迭代过程中稠密子图也是动态变化的,从而稠密子图中每个节点的邻居节点也是不断变化的,所以在根据每个节点的邻居节点的当前核数计算其核心指数时,应当根据该节点在当前的稠密子图中的邻居节点的当前核数来计算,而非根据该节点在最初的稠密子图中的邻居节点的当前核数来计算,可以进一步减少计算量。
在一个实施例中,当次迭代后若计算得到节点的核心指数小于获等于预设的阈值,则计算机设备可以将该节点标记为非稳定状态,那么被标记为非稳定状态的节点将不再参与下次迭代过程。
在一个实施例中,上述方法还包括:在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;记录的节点用于指示在下次迭代开始时,将记录的节点在稠密子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;对于稠密子图中的每个节点,根据节点在稠密子图中的邻居节点的当前核数,计算节点对应的核心指数,包括:对于稠密子图中的目标节点,根据目标节点在稠密子图中的邻居节点的当前核数,计算目标节点对应的核心指数。
本实施例中,通过记录当次迭代过程中当前核数被更新的节点,就可以直接确定下次迭代过程中需要重新计算核数的节点。当某一个节点的核数被更新后,该节点将会影响其邻居节点的核数的确定,因此,当次迭代过程结束后,记录这些核数被更新的节点,在下次迭代开始时,从稠密子图中剩余的节点中遍历出这些节点的邻居节点,作为下次迭代过程需要重新计算核数的节点,可以避免对稠密子图中所有节点重新计算核数,提升挖掘效率。可以理解的是,这些当前核数被更新的节点的邻居节点不包括已经从稠密子图中移除的节点。
在一个实施例中,上述方法还包括:在当次迭代过程开始时,初始化节点更新数为零,节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;统计当次迭代过程中当前核数被更新的节点的数量;根据数量更新节点更新数;若当次迭代过程结束时,节点更新数为非零,则继续下一次迭代过程;若当次迭代过程结束时,节点更新数为零,则停止迭代。
在本实施例中,在挖掘稠密子图的过程中,可以利用一个标记,来记录当次迭代过程中当前核数被更新的节点的数量。计算机设备可以设置一个用于记录每轮迭代过程中当前核数被更新的节点的数量,在当次迭代过程开始时,将这个标记置为0,对于参与当次迭代的节点,每当一个节点的核数被更新了,则该标记增1,那么,当次迭代结束后,若该标记不为0,说明当次迭代过程中存在核数被更新的节点,则需要继续迭代,若该标记为0,说明当次迭代的整个过程中都不存在核数被更新的节点,整个迭代过程结束。
步骤506,将停止迭代时获得的稠密子图中的节点作为稳定节点,并将停止迭代时稳定节点的当前核数作为稳定节点对应的核数。
由于迭代结束后稠密子图中剩余的节点的核数都是大于预设的阈值的,因此可以将这些节点称为稳定节点。稳定节点的核数即为该节点在整个原始的网络图中的核数。
在一个具体的实施例中,确定稠密子图中各节点的核数的过程如下:
1、根据稠密子图中各节点在该稠密子图中邻居节点的数量,计算稠密子图中各节点的关联度,用关联度来初始化各节点的当前核数;
2、用零初始化numMsgs,numMsgs表示每轮迭代中核数被更新的节点的数量;
3、对稠密子图中的每个节点,根据其邻居节点的当前核数计算核心指数,该节点的邻居节点是该节点在稠密子图中的且已过滤掉nonActive状态的节点。当核心指数小于等于预设的阈值时,将该节点标记为nonActive状态;当核心指数大于预设的阈值且小于节点当前核数时,根据核心指数更新该节点的当前核数,且numMsgs增加1;
4、当numMsgs不为0时,重复第2-3步;否则结束迭代,此时稠密子图中状态没有被标记为nonActive的节点的当前核数即为该节点在整个原始的网络图中的核数,没有被标记为nonActive的节点为该网络图中的稳定节点。
在本实施例中,基于核心指数对稠密子图中各节点的核数进行计算,并对每次迭代计算得到的核数与预设的阈值进行比较,只有当迭代计算的核数大于阈值时,该节点才继续进行迭代,反之则不再参与后续迭代,能够提升对稠密子图的挖掘效率。
步骤208,根据网络图中除稳定节点之外的节点及节点之间的连边,获得网络图中的稀疏子图。
具体地,计算机设备确定了网络图中的稳定节点后,网络图中除稳定节点之外的剩余节点的核数是小于或等于预设的阈值的,将这些节点及其之间构成的连边称为稀疏子图。
在一个实施例中,根据网络图中除稳定节点之外的节点及节点之间的连边,获得网络图中的稀疏子图,包括:从网络图中移除稳定节点;根据移除稳定节点后剩余节点及剩余节点之间的连边,获得稀疏子图。
前文提到,图可以以邻接矩阵或邻接列表的形式进行存储,计算机设备确定了网络图中的稳定节点之后,可以从邻接矩阵或邻接表进行遍历,从中移除稳定节点后,得到剩余的节点及剩余节点之间的连接关系,获得稀疏子图。
步骤210,基于稀疏子图和稳定节点,确定稀疏子图中各节点的核数。
稀疏子图中各节点核数的计算同样遵循上述核心指数迭代的方法,但由于稳定节点会对稀疏子图中各节点的核数的计算产生影响,所以在迭代过程中还需要考虑稳定节点对稀疏子图中节点的核数的增幅。计算机设备在获得网络图中的稀疏子图和稳定节点后,可以基于该稀疏子图和稳定节点确定该稀疏子图中各节点的核数,以实现分治求解的第二步。
在一个实施例中,计算机设备可以采用k-core算法,对稀疏子图进行k-core挖掘,从稀疏子图中挖掘出各节点的核数。具体地,按照k=1,k=2,…,k处等于预设的阈值,从该稀疏子图中反复去除关联度小于或等于k的节点,得到k核子图,从而确定稀疏子图中各节点所在最大核数的子图,从而确定各节点的核数。
在一个实施例中,计算机设备还可以在对稀疏子图进行迭代时,在当次迭代过程中,利用节点前次迭代后,该节点在网络图中各邻居节点的核心指数更新相应节点的当次迭代过程的核数。
在一个实施例中,节点的所有邻居节点的核心指数,可以是H指数,一个节点的H指数如果是h,就说明这个节点至少有h个邻居节点,并且这h个邻居节点的关联度都不小于h。也就是说,若节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则确定节点对应的核心指数为h,其中h为正整数。
在一个实施例中,如图6所示,基于稀疏子图和稳定节点,确定稀疏子图中各节点的核数,包括:
步骤602,根据稀疏子图中各节点在原始的网络图中邻居节点的数量,初始化稀疏子图中各节点的当前核数。
具体地,计算机设备在对稀疏子图进行挖掘时,可以利用稀疏子图中各节点在原始的网络图中的关联度来初始化各节点的核数,作为最初的当前核数。
也就是说,在计算稀疏子图中各节点的核数时,每次迭代过程中,不仅要考虑稀疏子图中的节点对其的影响,还需要考虑稳定节点对其的影响,所以需要考虑稳定节点对其关联度的增幅,也就是将节点在稀疏子图中的关联度与该节点与稳定节点相连的数量之和来初始化该节点的当前核数,实际上也就是该节点在原始的网络图中的关联度。
在一个实施例中,根据前面的步骤,稳定节点的核数已经确定,稳定节点的核数都是大于预设的阈值的,而稀疏子图中各节点的核数都是小于或等于预设的阈值的,所以,在计算稀疏子图中各节点的核数时,若需要用到稳定节点的核数,为了减小内存,可以将稳定节点的核数均设置为预设的阈值,也可以设置为任意大于预设的阈值的值,还可以直接使用按前述步骤所确定的稳定节点的核数,上述不同方式的设置不会影响对稀疏子图中各节点的核数的计算结果。
步骤604,迭代地执行对于稀疏子图中的每个节点,根据节点在网络图中的邻居节点的当前核数,计算节点对应的核心指数;当核心指数小于节点的当前核数时,则根据节点的核心指数更新节点的当前核数的步骤,直至当次迭代过程中稀疏子图中各节点的当前核数均未被更新时停止迭代。
具体地,在每次迭代过程中,计算机设备都需要对稀疏子图中的每个节点都需要进行处理。对稀疏子图中的每个节点,根据其在网络图中的邻居节点的当前核数,即上一轮迭代过程后所有邻居节点的核数,计算该节点对应的核心指数。可以理解的是,若邻居节点包括稳定节点,稳定节点的核数在前述步骤已经确定,所以在稀疏子图的迭代过程中,稳定节点的核数都不用参与更新。若节点的核心指数小于节点的当前核数,则利用该核心指数更新该节点的当前核数。由于每个节点在当次迭代过程的核数是根据该节点所有邻居节点在前次迭代过程的核数确定的,具有局部性,可以很容易扩展成分布式并行计算的逻辑,从而加快整个挖掘过程。
迭代停止条件,是当次迭代过程中,稀疏子图中所有节点的当前核数均未发生变化。也就是说,根据节点的邻居节点在前次迭代的核数计算得到的核心指数与该节点当前核数一致时,则该节点的核数不会被更新,若稀疏子图中所有节点的当前核数在当次迭代过程中均未被更新,则停止迭代。
在一个实施例中,上述方法还包括:在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;记录的节点用于指示在下次迭代开始时,将记录的节点在稀疏子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;对于稀疏子图中的每个节点,根据节点在网络图中的邻居节点的当前核数,计算节点对应的核心指数,包括:对于稀疏子图中的目标节点,根据目标节点在网络图中的邻居节点的当前核数,计算目标节点对应的核心指数。
本实施例中,通过记录当次迭代过程中当前核数被更新的节点,就可以直接确定下次迭代过程中需要重新计算核数的节点。当某一个节点的核数被更新后,该节点将会影响其邻居节点的核数的确定,因此,当次迭代过程结束后,记录这些核数被更新的节点,在下次迭代开始时,从稀疏子图中遍历出这些节点的邻居节点,作为下次迭代过程需要重新计算核数的节点,可以避免对稀疏子图中所有节点重新计算核数,提升挖掘效率。可以理解的是,确定当前核数被更新的节点的邻居节点后,邻居节点中若包括稳定节点,则稳定节点不需要重新计算核数。
在一个实施例中,上述方法还包括:在当次迭代过程开始时,初始化节点更新数为零,节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;统计当次迭代过程中当前核数被更新的节点的数量;根据数量更新节点更新数;若当次迭代过程结束时,节点更新数为非零,则继续下一次迭代过程;若当次迭代过程结束时,节点更新数为零,则停止迭代。
在本实施例中,在挖掘稀疏子图的过程中,可以利用一个标记,来记录当次迭代过程中当前核数被更新的节点的数量。计算机设备可以设置一个用于记录每轮迭代过程中当前核数被更新的节点的数量,在当次迭代过程开始时,将这个标记置为0,对于参与当次迭代的节点,每当一个节点的核数被更新了,则该标记增1,那么,当次迭代结束后,若该标记不为0,说明当次迭代过程中存在核数被更新的节点,则需要继续迭代,若该标记为0,说明当次迭代的整个过程中都不存在核数被更新的节点,整个迭代过程结束。
步骤606,将停止迭代时节点的当前核数作为节点对应的核数。
迭代结束后,稀疏子图中各节点的核数即为该节点在整个原始的网络图中的核数。
在一个具体的实施例中,确定稀疏子图中各节点的核数的过程如下:
1、计算稀疏子图中各节点的关联度;
2、对稀疏子图中的各节点,统计其与稳定节点相连的个数q,用q值与其关联度之和初始化该节点的当前核数;
3、用零初始化numMsgs,numMsgs表示每轮迭代中核数被更新的节点的数量;
4、对稀疏子图中的每个节点,根据其邻居节点的当前核数计算核心指数。这里的邻居集合指的是节点在原始的网络图的邻居节点,也就是说,邻居节点不仅包括稀疏子图中的节点,也可能包括稳定节点。当核心指数小于节点的当前核数时,根据核心指数更新该节点的当前核数,且numMsgs增加1。
5、当numMsgs不为0时,重复第3-4步;否则结束迭代,此时稀疏子图中各节点的核数即为各节点在整个原始的网络图中的核数。
上述图数据处理方法中,在获取了网络图中各节点的关联度之后,基于分治思想,对网络图进行分治求解,从而可以支持超大规模网络的子图挖掘。也就是,根据各节点的关联度将完整的网络图分为稠密子图和稀疏子图,分成两部分进行挖掘,极大降低了内存占用,并且可以直接切入稠密子图,避免在非重要节点上浪费较多的迭代时间和计算资源,提升了挖掘性能。
由于稀疏子图中的各节点不会对稠密子图中的节点产生影响,因此针对稠密子图,直接确定其中的稳定节点及稳定节点对应的核数,接着将网络图中除该稳定节点及稳定节点之间的连边外剩余的部分构成稀疏子图,考虑到稠密子图中的稳定节点会对其中的节点产生影响,因此针对该稀疏子图,需要根据稀疏子图本身及稠密子图中的稳定节点来确定该稀疏子图中各节点的核数。挖掘出网络图中各节点的核数之后,核数可作为相应节点的特征生成相应的特征向量输入至其他下游任务。
Parameter Server是一种用于机器学习领域分布式地存储或更新参数的超大规模参数服务器,Angel是一个基于参数服务器理念开发的高性能分布式机器学习平台,Spark是一个专为大规模数据处理而设计的快速通用的计算引擎,Spark on Angel是一个将Angel强大的参数服务器功能与Spark的大规模数据处理能力相结合的高性能分布式计算平台。
在一个实施例中,计算机设备可以在Spark on Angel上的实现上述图数据处理方法的迭代过程。
具体地,首先,可以从参数服务器中拉取上轮迭代过程中核数被更新的节点,由于节点的核数由其邻居节点的核数决定,如果邻居节点的核数值发生变化,则会影响该节点核数,所以可以推断出当次迭代需要重新计算核数的节点。接着,从参数服务器拉取需要重新计算核数的节点及其邻居节点的核数。然后基于核心指数计算当次迭代中这些节点的核数,如果需要用计算得到的核数更新之前的核数,则需要将更新后的核数存储在参数服务器中,以供迭代过程使用。
如图7所示,为一个实施例中图数据处理方法的示意图。参照图7,示出了将上述图数据处理方法在Spark on Angel平台上的实现的流程。参数服务器存储所有节点的当前核数以及每轮迭代和上轮迭代有更新的节点及其核数,迭代服务器存储邻接表。对于每个迭代服务器来说,每次迭代主要有以下几个步骤:
1、从参数服务器的ReadMessage拉取上轮迭代中有更新的节点,从而推断出本轮迭代需要重新计算核数的节点。这里的依据是:节点的核数由其邻居节点的核数决定,如果邻居节点的核数发生变化,则会影响该节点的核数。
2、从参数服务器的Coreness拉取需要计算的节点及其邻居节点的核数。
3、计算本轮迭代中节点的核数。
4、用第3步中得到的核数更新参数服务器WriteMessage和Coreness中存储的核数。
当所有迭代服务器计算一次后,用WriteMessage更新ReadMessage,并重置WriteMessage。判断ReadMessage是否为空,如果为空,表明所有节点的核数都不再被更新,结束迭代,否则继续迭代。
本实施例中,利用Spark平台高效的数据并行处理能力进行核数更新的迭代计算,可以提高数据处理效率。利用Angel强大的参数服务器的存储能力来拉取或更新核数,可以消除Spark中单点Driver的网络瓶颈,可以支持超大规模关系网络的k-core挖掘。利用k-core挖掘本身的特点,随着迭代深入,大部分节点都将保持稳定不再更新的,计算过程具有一定的稀疏性,所以基于分治思想通过设定一个阈值,将完整图结构分为稠密子图和稀疏子图两步骤挖掘,极大降低了内存占用,减少计算量,运行速度更快,资源消耗也更低。并且可以直接切入稠密子图,避免在核数为1、2、…等非重要节点上浪费较多的迭代时间和计算资源,这一点对于超大规模网络的k-core挖掘是非常重要的。
在一个具体的实施例中,如图8所示,上述图数据处理方法包括以下步骤:
步骤802,获取网络图。
步骤804,确定网络图中各节点的邻居节点的数量。
步骤806,将邻居节点的数量作为相应节点的关联度。
步骤808,获取预设的阈值。
步骤810,从网络图中移除关联度小于或等于阈值的节点及节点所在的连边,根据网络图中剩余节点及剩余节点之间的连边获得稠密子图。
步骤812,根据各节点在稠密子图中邻居节点的数量,获得各节点在稠密子图的关联度,将在稠密子图中的关联度作为相应节点初始的当前核数。
步骤814,迭代地执行对于稠密子图中的每个节点,根据节点在稠密子图中的邻居节点的当前核数,计算节点对应的核心指数;当核心指数小于或等于预设的阈值时,从稠密子图中移除节点;当核心指数大于阈值且小于节点的当前核数时,则根据节点的核心指数更新节点的当前核数的步骤,直至当次迭代过程中稠密子图中各节点的当前核数均未被更新时停止迭代。
步骤816,将停止迭代时获得的稠密子图中的节点作为稳定节点,并将停止迭代时稳定节点的当前核数作为稳定节点对应的核数。
步骤818,从网络图中移除稳定节点。
步骤820,根据移除稳定节点后剩余节点及剩余节点之间的连边,获得稀疏子图。
步骤822,根据稀疏子图中各节点在原始的网络图中邻居节点的数量,初始化稀疏子图中各节点的当前核数。
步骤824,迭代地执行对于稀疏子图中的每个节点,根据节点在网络图中的邻居节点的当前核数,计算节点对应的核心指数;当核心指数小于节点的当前核数时,则根据节点的核心指数更新节点的当前核数的步骤,直至当次迭代过程中稀疏子图中各节点的当前核数均未被更新时停止迭代。
步骤826,将停止迭代时节点的当前核数作为节点对应的核数;
步骤828,根据各节点的核数生成与节点对应的特征向量;
步骤830,根据节点的特征向量对节点进行分类。
在一个实施例中,节点的核数可以用于根据核数生成与节点对应的特征向量,特征向量用于根据特征向量对节点进行分类。具体地,节点的核数可以作为特征输入到机器学习算法中,实现对节点的分类。例如,可以应用到商户的商业模式的挖掘中,对超大支付规模网络中的消费者和商户进行分类。还可以应用到金融风控产品中,实现对非法信贷中介、套现、多头借贷、赌博等异常进行。
在一个实施例中,网络图为支付关系网络图,支付关系网络图中的节点表示用户标识,支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件,上述方法还包括:根据支付关系网络图中各节点的核数,生成节点表示的用户标识所对应的特征向量;通过预先训练的分类模型,基于特征向量预测用户标识对应的支付类型。
在一个具体的应用场景中,计算机设备可以获取与用户标识对应的支付记录;根据支付记录获得各用户标识之间的支付交互数据;根据支付交互数据生成支付关系网络图,并采用本申请实施例提供的图数据处理方法对该支付关系网络图进行处理,获得各节点的核数,根据各节点的核数生成对应的特征向量,利用基于机器学习的分类算法对各节点进行分类,以区分各节点是商户或消费者。
应该理解的是,虽然图2、图5、图6、图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种图数据处理装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:网络图获取模块902、稠密子图获取模块904、第一确定模块906、稀疏子图获取模块908和第二确定模块910,其中:
网络图获取模块902,用于获取网络图中各节点的关联度;
稠密子图获取模块904,用于根据各节点的关联度从网络图中拆分出稠密子图;
第一确定模块906,用于基于稠密子图,确定网络图中的稳定节点及稳定节点的核数;
稀疏子图获取模块908,用于根据网络图中除稳定节点之外的节点及节点之间的连边,获得网络图中的稀疏子图;
第二确定模块910,用于基于稀疏子图和稳定节点,确定稀疏子图中各节点的核数;其中,节点的核数用于生成与节点对应的特征向量
在一个实施例中,网络图获取模块902还用于获取网络图;确定网络图中各节点的邻居节点的数量;将邻居节点的数量作为相应节点的关联度。
在一个实施例中,网络图获取模块902还用于获取与用户标识对应的支付记录;根据支付记录获得各用户标识之间的支付交互数据;根据支付交互数据生成支付关系网络图;其中,支付关系网络图的节点表示用户标识,支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件。
在一个实施例中,稠密子图获取模块904还用于获取预设的阈值;从网络图中移除关联度小于或等于阈值的节点及节点所在的连边,根据网络图中剩余节点及剩余节点之间的连边获得稠密子图。
在一个实施例中,第一确定模块906还用于根据各节点在稠密子图中邻居节点的数量,获得各节点在稠密子图的关联度,将在稠密子图中的关联度作为相应节点初始的当前核数;迭代地执行对于稠密子图中的每个节点,根据节点在稠密子图中的邻居节点的当前核数,计算节点对应的核心指数;当核心指数小于或等于预设的阈值时,从稠密子图中移除节点;当核心指数大于阈值且小于节点的当前核数时,则根据节点的核心指数更新节点的当前核数的步骤,直至当次迭代过程中稠密子图中各节点的当前核数均未被更新时停止迭代;将停止迭代时获得的稠密子图中的节点作为稳定节点,并将停止迭代时稳定节点的当前核数作为稳定节点对应的核数。
在一个实施例中,第一确定模块906还用于在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;记录的节点用于指示在下次迭代开始时,将记录的节点在稠密子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;对于稠密子图中的目标节点,根据目标节点在稠密子图中的邻居节点的当前核数,计算目标节点对应的核心指数。
在一个实施例中,第一确定模块906还用于若节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则确定节点对应的核心指数为h,其中h为正整数。
在一个实施例中,第一确定模块906还用于在当次迭代过程开始时,初始化节点更新数为零,节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;统计当次迭代过程中当前核数被更新的节点的数量;根据数量更新节点更新数;若当次迭代过程结束时,节点更新数为非零,则继续下一次迭代过程;若当次迭代过程结束时,节点更新数为零,则停止迭代。
在一个实施例中,稀疏子图获取模块908还用于从网络图中移除稳定节点;根据移除稳定节点后剩余节点及剩余节点之间的连边,获得稀疏子图。
在一个实施例中,第二确定模块910还用于在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;记录的节点用于指示在下次迭代开始时,将记录的节点在稀疏子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;对于稀疏子图中的目标节点,根据目标节点在网络图中的邻居节点的当前核数,计算目标节点对应的核心指数。
在一个实施例中,第二确定模块910还用于若节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则确定节点对应的核心指数为h,其中h为正整数。
在一个实施例中,第二确定模块910还用于在当次迭代过程开始时,初始化节点更新数为零,节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;统计当次迭代过程中当前核数被更新的节点的数量;根据数量更新节点更新数;若当次迭代过程结束时,节点更新数为非零,则继续下一次迭代过程;若当次迭代过程结束时,节点更新数为零,则停止迭代。
在一个实施例中,网络图为支付关系网络图,支付关系网络图中的节点表示用户标识,支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件,上述装置还包括分类模块,用于根据支付关系网络图中各节点的核数,生成节点表示的用户标识所对应的特征向量;通过预先训练的分类模型,基于特征向量预测用户标识对应的支付类型。
上述图数据处理装置,在获取了网络图中各节点的关联度之后,基于分治思想,对网络图进行分治求解,从而可以支持超大规模网络的子图挖掘。也就是,根据各节点的关联度将完整的网络图分为稠密子图和稀疏子图,分成两部分进行挖掘,极大降低了内存占用,并且可以直接切入稠密子图,避免在非重要节点上浪费较多的迭代时间和计算资源,提升了挖掘性能。
由于稀疏子图中的各节点不会对稠密子图中的节点产生影响,因此针对稠密子图,直接确定其中的稳定节点及稳定节点对应的核数,接着将网络图中除该稳定节点及稳定节点之间的连边外剩余的部分构成稀疏子图,考虑到稠密子图中的稳定节点会对其中的节点产生影响,因此针对该稀疏子图,需要根据稀疏子图本身及稠密子图中的稳定节点来确定该稀疏子图中各节点的核数。挖掘出网络图中各节点的核数之后,核数可作为相应节点的特征生成相应的特征向量输入至其他下游任务。
关于图数据处理装置的具体限定可以参见上文中对于图数据处理方法的限定,在此不再赘述。上述图数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图数据处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种图数据处理方法,所述方法包括:
获取网络图中各节点的关联度;
根据所述各节点的关联度从所述网络图中拆分出稠密子图;
基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
2.根据权利要求1所述的方法,其特征在于,所述获取网络图中各节点的关联度,包括:
获取所述网络图;
确定所述网络图中各节点的邻居节点的数量;
将邻居节点的数量作为相应节点的关联度。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与用户标识对应的支付记录;
根据所述支付记录获得所述用户标识之间的支付交互数据;
根据所述支付交互数据生成支付关系网络图;
其中,所述支付关系网络图的节点表示用户标识,所述支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述各节点的关联度从所述网络图中拆分出稠密子图,包括:
获取预设的阈值;
从所述网络图中移除关联度小于或等于所述阈值的节点及所述节点所在的连边,根据所述网络图中剩余节点及所述剩余节点之间的连边获得稠密子图。
5.根据权利要求1所述的方法,其特征在于,所述基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数,包括:
根据各节点在所述稠密子图中邻居节点的数量,获得各节点在所述稠密子图的关联度,将在所述稠密子图中的关联度作为相应节点初始的当前核数;
迭代地执行对于所述稠密子图中的每个节点,根据所述节点在所述稠密子图中的邻居节点的当前核数,计算所述节点对应的核心指数;当所述核心指数小于或等于预设的阈值时,从所述稠密子图中移除所述节点;当所述核心指数大于所述阈值且小于所述节点的当前核数时,则根据所述节点的核心指数更新所述节点的当前核数的步骤,直至当次迭代过程中所述稠密子图中各节点的当前核数均未被更新时停止迭代;
将停止迭代时获得的稠密子图中的节点作为所述稳定节点,并将停止迭代时所述稳定节点的当前核数作为所述稳定节点对应的核数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;
记录的节点用于指示在下次迭代开始时,将所述记录的节点在所述稠密子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;
所述对于所述稠密子图中的每个节点,根据所述节点在所述稠密子图中的邻居节点的当前核数,计算所述节点对应的核心指数,包括:
对于所述稠密子图中的目标节点,根据所述目标节点在所述稠密子图中的邻居节点的当前核数,计算所述目标节点对应的核心指数。
7.根据权利要求1所述的方法,其特征在于,所述根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图,包括:
从所述网络图中移除所述稳定节点;
根据移除所述稳定节点后剩余节点及所述剩余节点之间的连边,获得稀疏子图。
8.根据权利要求1所述的方法,其特征在于,所述基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数,包括:
根据所述稀疏子图中各节点在原始的所述网络图中邻居节点的数量,初始化所述稀疏子图中各节点的当前核数;
迭代地执行对于所述稀疏子图中的每个节点,根据所述节点在所述网络图中的邻居节点的当前核数,计算所述节点对应的核心指数;当所述核心指数小于所述节点的当前核数时,则根据所述节点的核心指数更新所述节点的当前核数的步骤,直至当次迭代过程中所述稀疏子图中各节点的当前核数均未被更新时停止迭代;
将停止迭代时所述节点的当前核数作为所述节点对应的核数。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在当次迭代结束后,记录当次迭代过程中当前核数被更新的节点;
记录的节点用于指示在下次迭代开始时,将所述记录的节点在所述稀疏子图中的邻居节点,作为下次迭代过程中需要重新计算核心指数的目标节点;
所述对于所述稀疏子图中的每个节点,根据所述节点在所述网络图中的邻居节点的当前核数,计算所述节点对应的核心指数,包括:
对于所述稀疏子图中的目标节点,根据所述目标节点在所述网络图中的邻居节点的当前核数,计算所述目标节点对应的核心指数。
10.根据权利要求5或8所述的方法,其特征在于,所述计算所述节点对应的核心指数,包括:
若所述节点满足邻居节点中存在h个邻居节点的当前核数大于或等于h,且不满足存在h+1个邻居节点的当前核数大于或等于h+1时,则
确定所述节点对应的核心指数为h,其中h为正整数。
11.根据权利要求5或8所述的方法,其特征在于,所述方法还包括:
在当次迭代过程开始时,初始化节点更新数为零,所述节点更新数用于记录当次迭代过程中当前核数被更新的节点的数量;
统计当次迭代过程中当前核数被更新的节点的数量;
根据所述数量更新所述节点更新数;
若当次迭代过程结束时,所述节点更新数为非零,则继续下一次迭代过程;
若当次迭代过程结束时,所述节点更新数为零,则停止迭代。
12.根据权利要求1至9任意一项所述的方法,其特征在于,所述网络图为支付关系网络图,所述支付关系网络图中的节点表示用户标识,所述支付关系网络图中两个节点之间的连边表示相应的两个用户标识之间存在支付交互事件,所述方法还包括:
根据所述支付关系网络图中各节点的核数,生成所述节点表示的用户标识所对应的特征向量;
通过预先训练的分类模型,基于所述特征向量预测所述用户标识对应的支付类型。
13.一种图数据处理装置,所述装置包括:
网络图获取模块,用于获取网络图中各节点的关联度;
稠密子图获取模块,用于根据所述各节点的关联度从所述网络图中拆分出稠密子图;
第一确定模块,用于基于所述稠密子图,确定所述网络图中的稳定节点及稳定节点的核数;
稀疏子图获取模块,用于根据所述网络图中除所述稳定节点之外的节点及所述节点之间的连边,获得所述网络图中的稀疏子图;
第二确定模块,用于基于所述稀疏子图和所述稳定节点,确定所述稀疏子图中各节点的核数;
其中,确定的所述核数用于生成与相应节点对应的特征向量。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202011394355.5A 2020-12-03 2020-12-03 图数据处理方法、装置、计算机设备和存储介质 Active CN112214499B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202011394355.5A CN112214499B (zh) 2020-12-03 2020-12-03 图数据处理方法、装置、计算机设备和存储介质
EP21899723.7A EP4206943A4 (en) 2020-12-03 2021-10-12 METHOD AND APPARATUS FOR PROCESSING GRAPH DATA, COMPUTER DEVICE AND STORAGE MEDIUM
PCT/CN2021/123265 WO2022116689A1 (zh) 2020-12-03 2021-10-12 图数据处理方法、装置、计算机设备和存储介质
JP2023518909A JP2023545940A (ja) 2020-12-03 2021-10-12 グラフデータ処理方法、装置、コンピュータ機器及びコンピュータプログラム
US17/949,030 US11935049B2 (en) 2020-12-03 2022-09-20 Graph data processing method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011394355.5A CN112214499B (zh) 2020-12-03 2020-12-03 图数据处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112214499A true CN112214499A (zh) 2021-01-12
CN112214499B CN112214499B (zh) 2021-03-19

Family

ID=74068022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011394355.5A Active CN112214499B (zh) 2020-12-03 2020-12-03 图数据处理方法、装置、计算机设备和存储介质

Country Status (5)

Country Link
US (1) US11935049B2 (zh)
EP (1) EP4206943A4 (zh)
JP (1) JP2023545940A (zh)
CN (1) CN112214499B (zh)
WO (1) WO2022116689A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609345A (zh) * 2021-09-30 2021-11-05 腾讯科技(深圳)有限公司 目标对象关联方法和装置、计算设备以及存储介质
CN113704309A (zh) * 2021-09-02 2021-11-26 湖南大学 图数据处理方法、装置、计算机设备和存储介质
WO2022116689A1 (zh) * 2020-12-03 2022-06-09 腾讯科技(深圳)有限公司 图数据处理方法、装置、计算机设备和存储介质
WO2024007565A1 (en) * 2022-07-07 2024-01-11 Hsbc Software Development (Guangdong) Limited Network analysis using optical quantum computing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372447A1 (en) * 2013-06-12 2014-12-18 Electronics And Telecommunications Research Institute Knowledge index system and method of providing knowledge index
CN106844500A (zh) * 2016-12-26 2017-06-13 深圳大学 一种k‑core‑truss社区模型及分解、搜索算法
CN109921939A (zh) * 2019-03-18 2019-06-21 中电科大数据研究院有限公司 一种通信网络中关键节点的选取方法及系统
CN111177479A (zh) * 2019-12-23 2020-05-19 北京百度网讯科技有限公司 获取关系网络图中节点的特征向量的方法以及装置
CN111339374A (zh) * 2020-02-25 2020-06-26 华南理工大学 一种基于加权三角密度的稠密子图抽取方法
CN111368147A (zh) * 2020-02-25 2020-07-03 支付宝(杭州)信息技术有限公司 图特征处理的方法及装置
CN111444394A (zh) * 2019-01-16 2020-07-24 阿里巴巴集团控股有限公司 获取实体间关系表达的方法、系统和设备、广告召回系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195941B2 (en) * 2013-04-23 2015-11-24 International Business Machines Corporation Predictive and descriptive analysis on relations graphs with heterogeneous entities
US11328128B2 (en) * 2017-02-28 2022-05-10 SavantX, Inc. System and method for analysis and navigation of data
CN107203619A (zh) * 2017-05-25 2017-09-26 电子科技大学 一种复杂网络下的核心子图提取算法
CN111444395B (zh) * 2019-01-16 2023-05-16 阿里巴巴集团控股有限公司 获取实体间关系表达的方法、系统和设备、广告召回系统
CN109978705A (zh) * 2019-02-26 2019-07-05 华中科技大学 一种基于极大团枚举的社交网络中社团发现方法
CN111475680A (zh) * 2020-03-27 2020-07-31 深圳壹账通智能科技有限公司 检测异常高密子图的方法、装置、设备及存储介质
CN112214499B (zh) * 2020-12-03 2021-03-19 腾讯科技(深圳)有限公司 图数据处理方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372447A1 (en) * 2013-06-12 2014-12-18 Electronics And Telecommunications Research Institute Knowledge index system and method of providing knowledge index
CN106844500A (zh) * 2016-12-26 2017-06-13 深圳大学 一种k‑core‑truss社区模型及分解、搜索算法
CN111444394A (zh) * 2019-01-16 2020-07-24 阿里巴巴集团控股有限公司 获取实体间关系表达的方法、系统和设备、广告召回系统
CN109921939A (zh) * 2019-03-18 2019-06-21 中电科大数据研究院有限公司 一种通信网络中关键节点的选取方法及系统
CN111177479A (zh) * 2019-12-23 2020-05-19 北京百度网讯科技有限公司 获取关系网络图中节点的特征向量的方法以及装置
CN111339374A (zh) * 2020-02-25 2020-06-26 华南理工大学 一种基于加权三角密度的稠密子图抽取方法
CN111368147A (zh) * 2020-02-25 2020-07-03 支付宝(杭州)信息技术有限公司 图特征处理的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱炜杰: "基于k_core和k_truss模型的社交网络关键边检测方法研究", 《中国优秀硕士学位论文全文数据库社会科学Ⅱ辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022116689A1 (zh) * 2020-12-03 2022-06-09 腾讯科技(深圳)有限公司 图数据处理方法、装置、计算机设备和存储介质
US11935049B2 (en) 2020-12-03 2024-03-19 Tencent Technology (Shenzhen) Company Limited Graph data processing method and apparatus, computer device, and storage medium
CN113704309A (zh) * 2021-09-02 2021-11-26 湖南大学 图数据处理方法、装置、计算机设备和存储介质
CN113704309B (zh) * 2021-09-02 2024-01-26 湖南大学 图数据处理方法、装置、计算机设备和存储介质
CN113609345A (zh) * 2021-09-30 2021-11-05 腾讯科技(深圳)有限公司 目标对象关联方法和装置、计算设备以及存储介质
CN113609345B (zh) * 2021-09-30 2021-12-10 腾讯科技(深圳)有限公司 目标对象关联方法和装置、计算设备以及存储介质
WO2024007565A1 (en) * 2022-07-07 2024-01-11 Hsbc Software Development (Guangdong) Limited Network analysis using optical quantum computing

Also Published As

Publication number Publication date
WO2022116689A1 (zh) 2022-06-09
US20230013392A1 (en) 2023-01-19
JP2023545940A (ja) 2023-11-01
US11935049B2 (en) 2024-03-19
EP4206943A1 (en) 2023-07-05
EP4206943A4 (en) 2024-01-31
CN112214499B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112214499B (zh) 图数据处理方法、装置、计算机设备和存储介质
CN109003089B (zh) 风险识别方法及装置
CN113536383B (zh) 基于隐私保护训练图神经网络的方法及装置
CN111611472A (zh) 一种基于图卷积神经网络的捆绑推荐方法及系统
CN104077723B (zh) 一种社交网络推荐系统及方法
CN110765320B (zh) 数据处理方法、装置、存储介质和计算机设备
CN112989059A (zh) 潜在客户识别方法及装置、设备及可读计算机存储介质
CN112380453B (zh) 物品推荐方法、装置、存储介质及设备
CN112214775A (zh) 对图数据的注入式攻击方法、装置、介质及电子设备
CN112380449B (zh) 信息推荐方法、模型训练方法及相关装置
CN113822315A (zh) 属性图的处理方法、装置、电子设备及可读存储介质
CN112669143A (zh) 基于关联网络的风险评估方法、装置、设备以及存储介质
CN114782161A (zh) 识别风险用户的方法、装置、存储介质及电子装置
CN110674181A (zh) 信息推荐方法、装置、电子设备及计算机可读存储介质
CN116993513A (zh) 金融风控模型解释方法、装置及计算机设备
CN111957053A (zh) 游戏玩家匹配方法、装置、存储介质与电子设备
CN111275480A (zh) 面向多维稀疏销售数据仓库的欺诈行为挖掘方法
CN111860655B (zh) 用户的处理方法、装置和设备
CN112734519B (zh) 一种基于卷积自编码器网络的商品推荐方法
CN111984698B (zh) 一种信息预测方法、装置及存储介质
CN109460490B (zh) 社交网络中中心顶点的确定方法、装置、设备及存储介质
CN114529399A (zh) 用户数据处理方法、装置、计算机设备和存储介质
CN111428741B (zh) 网络社区的发现方法、装置、电子设备及可读存储介质
CN108491465B (zh) 一种人群扩散方法及计算设备
CN115713147A (zh) 风险预测方法及装置和电子设备

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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038157

Country of ref document: HK