CN112395492A - 一种节点识别方法、装置以及设备 - Google Patents
一种节点识别方法、装置以及设备 Download PDFInfo
- Publication number
- CN112395492A CN112395492A CN201910760923.XA CN201910760923A CN112395492A CN 112395492 A CN112395492 A CN 112395492A CN 201910760923 A CN201910760923 A CN 201910760923A CN 112395492 A CN112395492 A CN 112395492A
- Authority
- CN
- China
- Prior art keywords
- node
- subgraph
- probability
- nodes
- sampling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000005070 sampling Methods 0.000 claims abstract description 232
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000012216 screening Methods 0.000 abstract description 8
- 239000011159 matrix material Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000001680 brushing effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种节点识别方法、装置以及设备,用以减少计算设备在查找恶意用户等数据筛选时的计算量,提高查询效率的问题。本申请中,先根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及M个节点之间的关系构成的图;之后,从第一集合中按照不同的组合选取K个节点,生成第二集合,第二集合中包括K个节点按照不同组合构成的多个子图;再对第二集合中的每个子图进行扩展,得到第三集合,第三集合中包括根据第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图;之后,可以进行K轮采样,每次采样的采样结果可以指示一个目标节点,这样简化了识别节点的过程,提供了节点识别的效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种节点识别方法、装置以及设备。
背景技术
现在,一些网站或应用上可以发布一些对象,对象可以是各种产品、也可以是各种服务,如美容、美发、住宿、美食等;用户可以登录该网站或该应用,浏览这些对象;还可以根据自身需求,选择目标对象进行交易,如购买或评价等。
目前,可以针对网站和应用中记录的用户与对象之间的交易关系,进行一些数据筛选,例如,查找一些恶意用户,查找优质用户或查找优质产品/服务等。
以查找一些恶意用户为例,所谓恶意用户是指对普通产品或服务评价较高,对质量较好的产品或服务给予差评的用户;为了查询这些恶意用户,计算设备需要先将用户与对象之间的交易关系抽象为图,图中各个节点表征用户或对象,节点之间的边表示用户与对象之间的交易关系;计算设备之后需要穷举图中所有可能的子图,对这些子图分别进行分析比较,最终才能确定恶意用户;穷举的代价的下界为Ω(KK),K为计算设备预期从图中选取的节点数目。例如计算设备在包括有6节点的图进行查找4个表征恶意用户的节点,需要先枚举每个包括4个节点的子图,之后逐一遍历每个子图,查询含有4个节点的所有边;然后,逐一比较各子图所含边的大小,总的计算代价为105次。但网站和应用记录的用户与对象之间的交易关系数据量较为庞大,穷举图中所有可能的子图以及逐个分析,使得计算量激增,无法高效的查询恶意用户。
发明内容
本申请提供一种节点识别方法、装置以及设备,用以减少计算设备在查找恶意用户等数据筛选时的计算量,提高查询效率的问题。
第一方面,本申请提供了一种节点识别方法,该方法可以由识别装置执行,该识别装置可以部署在计算设备中,该方法包括:
识别装置可以先获取多个用户和多个对象之间的交易关系,之后,根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及M个节点之间的关系构成的图,其中,M个节点包括多个用户和多个对象,每个节点用于指示一个用户或一个对象,M为大于4的整数;识别装置可以在第一集合中选取K个节点,K个节点可以构成一个子图,识别装置可以从第一集合中按照不同的组合选取K个节点,K个节点构成的子图作为第二集合中的一个元素,这样生成的第二集合中包括K个节点按照不同组合构成的多个子图,每个子图包括K个节点及K个节点之间的交易关系,K为大于2且小于M的整数;识别装置可以再对第二集合中的每个子图进行扩展,得到第三集合,第三集合中包括根据第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图;识别装置在对第二集合中的每个子图扩展之后,可以进行K轮采样,下面以两次采样为例进行说明。
第一轮采样:识别装置先计算M个节点中的每个节点在第三集合的子图中出现的概率;之后,根据每个节点在第三集合的子图中出现的概率获得第一采样结果,第一采样结果用于指示M个节点中的第一目标节点。
第二轮采样:识别装置计算多个节点组合在第三集合的子图中出现的概率,其中,多个节点组合中的每个节点组合均包括两个节点,且均包括第一目标节点;之后,根据每个节点组合分别在第三集合的子图中出现的概率获得第二采样结果,第二采样结果用于指示M个节点中的第二目标节点。
识别装置进行后续的K-2轮采样的采样过程可以参见第二轮采样,区别在于,后续的第i轮采样中,节点组合中包括的节点数目为i,且包括前i-1轮采样中确定的目标节点。
通过上述方法,识别装置在从图中识别节点时,可以通过对K个节点构成的子图进行扩展之后,进行K轮采样,每次采样的采样结果可以指示一个目标节点,这样简化了识别节点的过程,能够有效提高节点识别的效率。
在一种可能的实施方式中,识别装置在计算M个节点中每个节点在第三集合的子图中出现的概率时,对于任一节点,根据第三集合中节点所在的子图的扩展采样概率计算节点在第三集合的子图中出现的概率,其中,子图的扩展采样概率是根据子图中完美匹配的数量确定的。
通过上述方法,识别装置可以通过各个子图的扩展采样概率,确定任一节点在第三集合中子图中出现的概率,便于后续可以基于各个节点子图中出现的概率进行采样,有利于提高采样的准确性。
在一种可能的实现方式中,识别装置在根据M个节点中的每个节点在第三集合的子图中出现的概率获得第一采样结果时,可以生成一个不大于1的整数作为第一随机数,之后,根据第一随机数和每个节点在第三集合的子图中出现的概率获得第一采样结果,其中,第一采样结果根据第一随机数落入的第一概率范围来确定,第一概率范围根据各节点在第三集合的子图中出现的概率来确定。
通过上述方法,识别装置可以较为方便的通过第一随机数所落入的第一概率范围来确定第一采样结果,能够保证采样的高效率,进而提高节点识别的效率。
在一种可能的实现方式中,识别装置在计算节点组合在第三集合的子图中同时出现的概率时,对于任一节点组合,根据第三集合中该节点组合所在的子图的扩展采样概率计算该节点组合在第三集合的子图中出现的概率等于之和,其中,子图的扩展采样概率是根据该子图中完美匹配的数量确定的。
通过上述方法,识别装置可以通过各个子图的扩展采样概率,确定任一节点组合在第三集合中子图中出现的概率,便于后续可以基于各个节点组合子图中出现的概率进行采样,能够保证采样结果的准确性。
在一种可能的实现方式中,识别装置在根据多个节点组合分别在第三集合的子图中出现的概率获得第二采样结果时,可以生成一个不大于1的整数作为第二随机数,之后,根据第二随机数和每个节点组合在第三集合的子图中出现的概率获得第二采样结果,其中,第二采样结果根据第二随机数落入的第二概率范围来确定,第二概率范围根据多个节点组合在第三集合的子图中出现的概率来确定。
通过上述方法,识别装置可以较为方便的通过第二随机数所落入的第二概率范围来确定第二采样结果,能够实现高效采样,进而可以保证进行快速节点。
第二方面,本申请实施例还提供了一种识别装置,该装置包括获取单元、生成单元、扩展单元、以及采样单元:
获取单元,用于根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及M个节点之间的关系构成的图,其中,M个节点包括多个用户和多个对象,M为大于4的整数。
生成单元,用于在第一集合中确定包含K个节点的子图,以生成第二集合,其中,第二集合包括K个节点按照不同组合构成的多个子图,每个子图包括K个节点及K个节点之间的交易关系,K为大于2且小于M的整数。
扩展单元,用于对第二集合中的每个子图进行扩展,得到第三集合,第三集合中包括根据第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图。
采样单元,用于进行K轮采样,下面对前两轮采样进行说明,第一轮采样:先计算M个节点中的每个节点在第三集合的子图中出现的概率;之后,根据每个节点在第三集合的子图中出现的概率获得第一采样结果,第一采样结果用于指示M个节点中的第一目标节点。
第二轮采样:计算多个节点组合在第三集合的子图中出现的概率,其中,多个节点组合中的每个节点组合均包括两个节点,且均包括第一目标节点;根据多个节点组合分别在第三集合的子图中出现的概率获得第二采样结果,第二采样结果用于指示M个节点中的第二目标节点。之后的K-2轮采样的采样过程可以参见第二轮采样,区别在于,后续的第i轮采样中,节点组合中包括的节点数目为i,且包括前i-1轮采样中确定的目标节点。
在一种可能的实现方式中,采样单元在计算M个节点中每个节点在第三集合的子图中出现的概率时,对M个节点中任一节点,根据第三集合中该节点所在的子图的扩展采样概率计算该节点在第三集合的子图中出现的概率,其中,子图的扩展采样概率是根据该子图中完美匹配的数量确定的。
在一种可能的实现方式中,采样单元在根据M个节点中的每个节点在第三集合的子图中出现的概率获得第一采样结果时,可以根据第一随机数和每个节点在第三集合的子图中出现的概率获得第一采样结果,其中,第一采样结果根据第一随机数落入的第一概率范围来确定,第一概率范围根据各节点在第三集合的子图中出现的概率来确定,第一随机数为不大于1的正数。
在一种可能的实现方式中,采样单元在计算节点组合在第三集合的子图中同时出现的概率时,对于任一节点组合,根据第三集合中该节点组合所在的子图的扩展采样概率计算该节点组合在第三集合的子图中出现的概率等于之和,其中,子图的扩展采样概率是根据该子图中完美匹配的数量确定的。
在一种可能的实现方式中,采样单元在根据多个节点组合分别在第三集合的子图中出现的概率获得第二采样结果时,可以根据第二随机数和每个节点组合在第三集合的子图中出现的概率获得第二采样结果,其中,第二采样结果根据第二随机数落入的第二概率范围来确定,第二概率范围根据多个节点组合在第三集合的子图中出现的概率来确定,第二随机数为不大于1的正数。
第三方面,本申请实施例还提供了一种计算设备,所述计算设备包括处理器和存储器,还可以包括通信接口,所述处理器执行所述存储器中的程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法。所述存储器与所述处理器耦合,其保存确定交通流量的过程中必要的程序指令和数据。所述通信接口,用于与其他设备进行通信,如接收多个用户与多个对象的交易关系,或发送识别的第一目标节点和第二目标节点。
第四方面,本申请提供了一种非瞬态的可读存储介质,所述非瞬态的可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第五方面,本申请提供了一种计算设备程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第六方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。
附图说明
图1为本申请提供的一种系统架构示意图;
图2为本申请提供的一种计算设备的结构示意图;
图3为本申请提供的一种节点识别方法的示意图;
图4为本申请提供的一种用户与对象的交易关系的示意图;
图5为本申请提供的一种由用户与对象的交易关系整合的图的示意图;
图6为本申请提供的图中提取的各个子图的示意图;
图7为本申请提供的一种概率范围划分的示意图;
图8为本申请提供的另一种概率范围划分的示意图;
图9为本申请提供的另一种概率范围划分的示意图;
图10为本申请提供的另一种概率范围划分的示意图;
图11为本申请提供的目标节点构成的子图的示意图;
图12为本申请提供的一种识别装置的结构示意图。
具体实施方式
本申请提供了一种节点识别方法、装置以及设备,用以减少计算设备在查找恶意用户等数据筛选时的计算量,提高查询效率的问题。
现在,用户可以通过互联网购买产品或服务(在本申请实施例中将产品以及服务可统称为对象)时,通常会参考其他用户对该对象的评价、以及该对象的销量。其他用户对该对象的评价的公正性,以及对象的销量的真实性是用户选购到满意的对象的关键。
而恶意用户对一些产品或服务的评价通常偏离现实,与事实不相符,不能作为用户购买该对象的参考。而针对一些对象的刷单行为,会导致该对象的销量虚高,不能真实反映该对象的真实品质,容易误导欲用户。
这就需要识别装置对用户与对象之间的交易关系(如购买、评价)进行分析,进行一些数据筛选,例如剔除恶意用户以及刷单行为。当然,识别装置除了剔除恶意用户以及刷单行为,也可以进行一些其他类型的数据筛选,如查找优质用户、选取购买力较强的用户、活跃用户(经常参与评价或经常购买产品或服务的用户)等。
识别装置在执行这些数据筛选操作时,需要将用户与对象之间的交易关系构建为图,用图中的节点表征用户以及对象,用图中的边表征用户与对象之间的交易关系。为了简化识别装置对图的分析过程,高效的选取所需要的节点,本申请实施例提出了一种节点识别方法,在对本申请实施例提供的节点识别方法介绍之前,先对本申请实施例所适用的一种系统架构进行说明。
如图1所示,为本申请实施例提供的一种系统架构示意图,其中,该系统中包括终端设备和识别装置。
本申请中的终端设备,又可称之为用户设备(user equipment,UE),可以部署在陆地上,包括室内或室外、手持或车载。终端设备可以是手机(mobile phone)、平板电脑(pad)、带收发功能的电脑、车载设备等等。本申请实施例并不限定终端设备的具体形态,凡是能够向识别装置提供用户与对象之间的交易关系的设备均可以作为终端设备。
用户通过终端设备浏览网站、登录应用,可以在网站或应用中查看对象的信息,并进行交易,如购买或评价;终端设备可以在用户交易完成后,记录用户与对象的交易关系;还可以向识别装置提供用户与对象之间的交易关系。
识别装置可以与多个终端设备进行通信,获取每个终端设备发送的用户与对象的交易关系,并保存用户与对象的交易关系,如识别装置可以将各个终端设备发送用户与对象的交易关系汇总后,保存在数据库中。该识别装置具有数据处理功能,例如执行提取子图、扩展子图、计算节点(或节点组合)出现的概率以及基于节点(或节点组合)出现的概率进行采样等功能;可以执行本申请实施例提供的节点识别方法。
其中,识别装置可以部署在云端,如识别装置可以是云端服务器;识别装置也可以是创建在云端服务器中的虚拟机;识别装置还可以是部署在云端服务器或者虚拟机上的软件装置,该软件装置用于识别节点,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。
当识别装置为软件装置时,识别装置可以单独部署在任意环境的一个计算设备上(例如:单独部署在一个终端计算设备上或者单独部署在数据中心中的一个计算设备上),如图2所示,计算设备100包括总线101、处理器102、通信接口103和存储器104。处理器102、存储器104和通信接口103之间通过总线101通信。其中,处理器102可以为中央处理器(centralprocessing unit,CPU)。存储器104可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器104还可以包括非易失性存储器(non-volatilememory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。存储器104中存储有识别装置所包括的可执行代码,处理器102读取存储器104中的该可执行代码以执行节点识别的方法,还可以通过通信接口103与其他设备进行通信。存储器104中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
下面结合图3具体描述本申请实施例提供的一种节点识别的方法,该方法由识别装置执行,该方法包括:
步骤301:识别装置获取多个用户与多个对象之间的交易关系,并将多个用户和多个对象之间的交易关系整合为图。用图表征多个用户、多个对象以及多个用户与多个对象的交易关系。
下面先对图的概念进行说明,从逻辑结构上图可以分为两部分:一部分为节点(也可以称为顶点)数据,另一部分为节点之间的边数据。在本申请实施例,节点为一个用户或一个对象;本申请实施例中以用户与对象的总数为M,则图中存在M个节点(也可以称为顶点),每个节点代表一个用户或一个对象,为方便说明将代表用户的节点称为用户节点,代表对象的节点称为对象节点。节点之间的边代表用户与对象之间的交易关系。如果两个节点之间存在边,表明这两个节点中一个为用户节点,另一个为对象节点,节点所代表的用户与对应对象之间存在交易关系。如果两个节点之间不存在边,则这两个节点可能为均为用户节点、或均为对象节点,也可能节点所代表的用户与对应对象之间不存在交易关系。
在本申请实施例中,用户与对象的交易关系包括但不限于:用户购买了该对象、用户评价了该对象。如图4所示,为一种可能的多个用户与多个对象之间的交易关系的示意图,图4中记录四个不同的用户的商品购买情况(如购买的日期、时间以及购买的商品)以及对商品的评价情况;其中,用户1、用户2、用户3以及用户4购买了商品2;用户2购买了商品1,且购买了商品的用户均对购买的商品进行了评价。
下面以识别装置将如图4所示的多个用户与多个对象之间的交易关系整合为图的方式为例,对步骤301进行说明。
首先,识别装置对用户和商品进行编号,每个用户和商品的编号即为图中节点的编号。例如,用户1的编号为1,用户2的编号为4,商品1的编号为2,商品2的编号为3,用户3的编号为5,用户4的编号为6。
之后,识别装置可以基于图4中记录的用户与商品的交易关系,连接存在交易关系的用户和商品所对应的节点,形成图。
如图5所示,为基于图4记录的用户与商品的交易关系形成的图的示意图,该图中包括6个节点,节点1表征用户1,节点2表征商品1,节点3表征商品2,节点4表征用户2,节点5表征用户3,节点6表征用户4。图5中节点之间的连线用于指示节点所代表的用户和对象之间的交易关系。
步骤302:识别装置在获得图后,可以从图中提取节点数目相同的子图,多个子图构成子图集合。
在将用户与对象的交易关系整合为图后,识别装置可以先确定识别装置最终所预期提取的节点数目(在后续说明是以节点数目等于K为例),并在确定了该节点数目后,再执行步骤302。
该节点数目与识别装置所预先设定的需求有关。举例来说,当识别装置在查询恶意用户时,通常会预设恶意用户的数目以及被恶意用户评价的对象的数目。例如,识别装置预期查找最活跃的两个恶意用户以及被恶意用户评价最多的两个对象。当识别装置在确定一些产品或服务的刷单行为时,通常会预设存在刷单行为的用户的数目以及被刷单的对象的数目,如识别装置预期查找最活跃的两个存在刷单行为的用户以及刷单最多的三个对象。换句话说,识别装置在利用图进行恶意用户查询等数据筛选时,会预先确定所需要提前的节点数目,该节点数目可以看做是一个预设值。若识别装置预期查找最活跃的两个恶意用户以及被恶意用户评价最多的两对象,则识别装置需要从图中提取4个节点,其中包括两个用户节点和两个对象节点。若识别装置预期查找最活跃的两个存在刷单行为的用户以及刷单最多的三个对象,则识别装置需要从图中提取5个节点,其中包括两个用户节点和三个对象节点。该节点数目大于2,小于用户和对象的总数M。
下面以节点数目等于K为例,对步骤302进行说明,K为大于2且小于M的整数。本申请实施例并不限定K个节点中用户节点的数目以及对象节点的数目。K个节点中可以只包括用户节点,不包括对象节点;也可以只包括对象节点,不包括用户节点,还可以同时包括用户节点和对象节点。
识别装置可以从图提取所有节点数目为K的子图。也就是说,识别装置可以按照不同的组合,提取个子图,其中,表示从M个元素(如节点)中选取K个元素的所有选取方式的总数。识别装置也可以按照不同的组合,提取节点数目为K、至少两个节点之间存在边的子图,将这些子图构成子图集合。
以图5所示的图为例,假设K为4,识别装置从图中可以选取的4个节点,共有(25种)组合方式,用节点的编号指示节点,这15种组合方式具体如下:(1、2、3、4),(1、2、3、5),(1、2、3、6),(1、2、4、5),(1、2、4、6),(1、2、5、6),(1、3、4、5),(1、3、4、6),(1、3、5、6),(1、4、5、6),(2、3、4、5),(2、3、4、6),(2、3、5、6),(2、4、5、6),(3、4、5、6)。对应的子图,可参见图6,每一个虚线框中为一个子图,共有15种子图。这15种子图构成子图集合。
作为一种可能的实施方式,识别装置也可以将15种图中不存在边的子图剔除,例如剔除子图(1、2、5、6),将剩余的子图构成子图集合。子图集合中子图的数量减少可以减少后续步骤的计算量,加快识别效率。
对于子图集合中的每个子图,识别装置可以计算该子图的初始采样概率。
计算子图的初始采样概率需要先求得子图集合中每个子图的Hafnian(简称为Haf)值,再根据该子图的Hafnian值、以及所有子图的Hafnian值的求得该子图的初始采样概率。
下面对本申请实施例提供的一种计算子图的初始采样概率的方式进行说明:
首先,需要计算各个子图的Hafnian值。子图的Hafnian值等于该子图中完美匹配的数量。其中,完美匹配是指包含了原图中所有顶点的匹配;匹配是指原图中没有任何两条边拥有一个共同顶点的子图,在本申请实施例中,这里原图是指本申请实施例中的子图,原图的子图是指本申请实施例中的各个子图的子图。
这里允许子图中的顶点重复出现,图的子图为包含图的节点的节点导出子图(也称为顶点导出子图),其中,子图中的顶点可重复,也即子图中允许存在多个相同编号的节点。
由于后续过程需要使用邻接矩阵A的正交化矩阵,这里先介绍邻接矩阵A其正交化方法:
由于邻接矩阵可能是不可逆的,因此采用一种广义正交化的方法,先利用贪心思想生成一个包含偶数个节点的极大线性无关矩阵A″。求出A″的正交化矩阵A′(A′为M′×M′的矩阵,且任意两列均正交,其中M′≤M)后,剩下的节点在后序中的操作和与之结构最接近的节点保持一致(与之结构最接近的节点为在邻接矩阵A中与该节点对应列内积最大的列所对应的节点)。
以图5所示的各个子图为例,图5所对应的邻接矩阵A为:
先选取邻接矩阵A的第一列(0 0 1 0 0 0)t,正交化第二列,使得第二列和第一列正交,正交化后的第二列为(0 0 0 1 0 0)t;正交化第二列后更新的邻接矩阵A为:
由于最后两列与第一列相同,因此这里的极大线性无关矩阵A″为A的前四行四列构成的矩阵:
将上述得到的四行四列矩阵A″再进行一次正交化,得到最终的正交化矩阵A′为:
由于最后两列与第一列的内积最大,因此将节点5,6在后序中的采样过程中与节点1保持一致。
由于这里的初始采样概率以及后续的扩展采样概率的计算依赖于子图的Hafnian的结果,因此,这里介绍一下Hafnian值的计算。以图6中的子图(1、2、3、4)的Hafnian值进行计算为例进行说明:
Haf(1、2、3、4)=A(1、3)*A(2、4)+A(1、2)*A(3、4)+A(1、4)*A(2、3)=1*1=1,其中节点1和节点2之间、节点3和节点4之间、节点1和节点4之间以及节点2和节点3之间均不存在边,A(1、2)、A(3、4)、A(1、4)、以及A(2、3)均等于0;节点1和节点3之间、以及节点2和节点4之间均存在边,A(1、3)和A(2、4)均等于1。
在计算了各个子图的Hafnian值后,子图集合中任一子图B的的初始采样概率P可以根据如下公式计算:
P=(Haf(B)2/s1!…sM!∑I∈RHaf(I)2)~Haf(B)2/s1!…sM!,其中,s1,…,sM依次表示第一个节点出现次数,…,第M个节点出现次数。R为子图集合,I为R中一个子图。‘~’表示成比例。因此只需要求出所有子图B的Haf(B)2,就可以得到初始采样概率P。
步骤303:识别装置在生成子图集合后,可以分别为子图集合中的每个子图进行扩展,每个子图中各个节点按照不同的顺序形成多个子图,每个子图形成的多个子图构成子图扩展集合。
针对任一子图,考虑到各个节点的排序,按照每个子图中各个节点的不同排序方式进行扩展,这里节点的排序方式,可以理解为识别装置从图中选择K个节点构成子图时,K个节点的选取顺序。任一子图在考虑各个节点的顺序后,可以扩展为个子图,其中si为节点I在该子图中出现的次数。
例如子图(1、2、3、4),考虑子图(1、2、3、4)中节点1、节点2、节点3以及节点4的顺序,存在如下种可能的排序方式分别为:(1、2、3、4),(1、2、4、3),(1、3、2、4),(1、3、4、2),(1、4、2、3),(1、4、3、2),(2、1、3、4),(2、1、4、3),(2、3、1、4),(2、3、4、1),(2、4、1、3),(2、4、3、1),(3、1、2、4),(3、1、4、2),(3、2、1、4),(3、2、4、1),(3、4、1、2),(3、4、2、1),(4、1、2、3),(4、1、3、2),(4、2、1、3),(4、2、3、1),(4、3、1、2),(4、3、2、1)。
这里,只需要求出所有的Haf(B)2,再统一除以所有Haf(B)2的和,就可以得到子图的扩展采样概率p。以子图(1、2、3、4)为例,p(1、2、3、4)~Haf(1、2、3、4)2,p(1、2、3、4)=p(1、2、4、3)=……=p(4、3、2、1)。
采用上述方式,可以计算出子图扩展集合中每个子图的扩展采样概率p。
识别装置从图中选取所需要的节点可以看做采样过程,而子图集合中子图不考虑子图中各个节点的顺序。也就是说,子图集合中任一子图中的两个节点位置变换对该子图没有影响。在采样问题上,子图集合形成的样本空间(子图集合中的一个子图为样本空间中的一个样本)是无序的样本空间,识别装置在无序的样本空间中采样需要考虑样本空间的不均匀性,导致在采样过程中需要进行多次采样,如选取K个节点的代价下限为Ω(KK)。而本申请实施例中将子图集合中的各个子图扩展之后,形成的子图扩展集合,子图扩展集合中任一子图中的两个节点位置变换会变成另外一个子图,在采样问题上,子图扩展集合形成的样本空间(子图扩展集合中的一个子图为样本空间中的一个样本)是有序的样本空间。由于扩展之前样本(x,…,xK)满足x1≤…≤xK,因此采样的样本数为扩展后采样的样本数为MK(也就是扩展子图集合中子图的个数),可以通过执行后续的步骤304~步骤307简化采样过程,将MK个样本进行的一次采样变为K次采样,每次采样的样本数为M,可以将最原始的暴力求解算法的复杂度大大降低,由原来的代价下界Ω(KK)降低到2O(K)(2O(K)≤2cK,其中c是与K,M均无关的一个常数)。
在执行步骤301~步骤303之后,识别装置可以执行K轮采样,每轮的采样结果可以指示一个目标节点,在执行K轮采样之后,共可以获取K个目标节点,这K个目标节点即为识别装置在基于用户与对象的交易关系进行数据筛选,所需确定的目标节点。
对于M个节点的图,其M′×M′的子正交矩阵为A′,取出其中的K个节点构成的一个样本B=A(x1,…,xk),其中A(x1,…,xk)表示取出图的节点x1,…,xk对应到邻接矩阵中所得到的子图的邻接矩阵。则采样到B的概率为:
SP(x1,…,xk)~Haf(B)2
其中xi∈[M′]={1,…,M′}。
在识别装置执行的K轮采样前,根据子图的扩展采样概率确定每一轮采样需要用到的概率公式(根据概率知识经过一系列运算可得)如下:
SP(x1,…,xj)~∑j1,j2∑a,a′Haf(a)Haf(a′)∑u∈Su,B,B′,e,e′F(u,j1,j2)Perm(B,B′)Haf(e)Haf(e′)公式(1)
其中,j表示第j轮采样(1≤j≤K),j1,j2是介于max(0,j-K/2)和j/2之间的整数。令Xj=(x1,…,xj),则a的取值范围为从节点集合Xj中选取2j1个元素构成的集合,类似的,a’的取值范围为从节点集合Xj中选取2j2个元素构成的集合,B的取值范围为从节点集合Xj\a(在Xj中且不在a中)中选取u个元素构成的集合,B’的取值范围为从节点集合Xj\a′(在Xj中且不在a’中)中选取u个元素构成的集合。Su≡{u∈M′:3j-2(j1+j2)-K≤u≤j-2max(j1,j2),j≡u mod 2}是u的范围。Perm(B,B’)是关于B与B’构成的二部图的积和式的值,其中B中节点v和B’中节点v’有边相连当且仅当节点v和v’标号相等,集合e=Xj\{a∪B},e′=Xj\{a′∪B′}。
下面对识别装置执行的K轮采样进行说明,由于K轮采样中每轮采样的方式类似,下面以最先执行的两轮采样过程为例进行说明:
识别装置执行的第一轮采样如下:
步骤304:识别装置先计算M个节点中的每个节点在子图扩展集合的子图中出现的概率。
每个节点在子图扩展集合的子图中出现的概率等于子图扩展集合中所有包含该节点的子图的扩展采样概率p之和。
仍然以图6所示的对子图扩展之后生成的子图扩展集合为例进行说明,节点1在子图扩展集合的子图中出现的概率SP(1)等于子图扩展集合中所有包含节点1的子图的扩展采样概率p之和。
对于图6所示的子图,M’=4,K=4,j=1,带入公式(1),其中,因此j1=0,j2=0,a为从X1={x1}中选择0个元素得到的集合,因此(空集),类似的, Perm(B,B’)=1;由于a,a’,e,e’均为空集,因此Haf(a)=Haf(a’)=Haf(e)=Haf(e’)=1。
SP(x1)~∑j1,j2∑a,a′Haf(a)Haf(a′)∑u∈Su,B,B′,e,e′F(j,u,j1,j2)Perm(B,B′)Haf(e)Haf(e′)=1×1×1×1×1×1=1
因此,SP(1)=SP(2)=SP(3)=SP(4),接下来加入节点5和6,由于节点5、6与节点1看成等价的(对应概率相同),因此有:
SP(3,1):SP(3,2):SP(3,4):SP(3,5):SP(3,6)=1:1:1:1:1:1,归一化后可得SP(1)=SP(2)=SP(3)=SP(4)=SP(5)=SP(6)=1/6。
步骤305:识别装置根据每个节点在子图扩展集合的子图中出现的概率获得第一采样结果,第一采样结果用于指示M个节点中的第一目标节点。
识别装置先随机生成一个随机数,为方便说明将第一轮采样生成的随机数作为第一随机数,第一随机数为大于0小于1的数。
识别装置利用每个节点在扩展子图集合的子图中出现的概率划分出多个不重叠的概率范围(这里不重叠的概率范围是指除了边界值,各个概率范围不包含相同的值),识别装置以0为起始点,将一个节点在扩展子图集合的子图中出现的概率SP作为概率范围的一个边界值,之后在该节点在扩展子图集合的子图中出现的概率SP上累计叠加一个其他节点在扩展子图集合的子图中出现的概率SP,每次累计叠加一个其他节点在扩展子图集合的子图中出现的概率SP获得的值作为一个概率范围的边界值,直至累计叠加获得M个(不同)节点在扩展子图集合的子图中出现的概率之和,也就是说,累计叠加的获得的概率范围最大的边界值为M个(不同)节点在扩展子图集合的子图中出现的概率之和。
也就是说,识别装置利用每个节点在扩展子图集合的子图中出现的概率可以划分出多个概率范围,若有M个节点,则可以划分出M个不重叠概率范围,每个概率范围存在两个边界值,任一边界值为0、一个节点在扩展子图的子图中出现的概率SP或多个节点在扩展子图集合的子图中出现的概率SP之和。换句话说,每个概率范围的一个边界值对应0个节点、一个节点或多个节点。每个概率范围的两个边界值相差一个节点(为方便说明将该节点定义为该概率范围的差异节点)在扩展子图的子图中出现的概率SP。
本申请实施例并不限定识别装置概率范围最小边界值所对应的节点,以及累计叠加其他节点在扩展子图集合的子图中出现的概率SP的累加顺序,可以按照节点的编号顺序依次累计叠加,也可以随机累计叠加,只需保证每次累计叠加的节点在扩展子图集合的子图中出现的概率SP为不同节点在扩展子图集合的子图中出现的概率SP。
仍以图6所示的对子图扩展之后生成的子图扩展集合为例进行说明,参见图7所示的概率范围的划分方式,识别装置以0为起始点,在SP(1)的基础上,累计叠加其他节点在扩展子图集合的子图中出现的概率SP,获得各个概率范围的边界值依次分别为SP(1)、SP(1)+SP(2)、SP(1)+SP(2)+SP(3)、SP(1)+SP(2)+SP(3)+SP(4)、SP(1)+SP(2)+SP(3)+SP(4)+SP(5)、SP(1)+SP(2)+SP(3)+SP(4)+SP(5)+SP(6)。
图7中,共存在6个概率范围,第一个概率范围为{0,SP(1)},第一个概率范围的差异节点为节点1,其中,SP(1)和0属于第一个概率范围。
第二个概率范围为{SP(1),SP(1)+SP(2)},第二个概率范围的差异节点为节点2,其中,SP(1)+SP(2)属于第二个概率范围。
第三个概率范围为{SP(1)+SP(2),SP(1)+SP(2)+SP(3)},第三个概率范围的差异节点为节点3,其中,SP(1)+SP(2)+SP(3)属于第三个概率范围。
第四个概率范围为{SP(1)+SP(2)+SP(3),SP(1)+SP(2)+SP(3)+SP(4)},第四个概率范围的差异节点为节点4,其中,SP(1)+SP(2)+SP(3)+SP(4)属于第四个概率范围。
第五个概率范围为{SP(1)+SP(2)+SP(3)+SP(4),SP(1)+SP(2)+SP(3)+SP(4)+SP(5)},第五个概率范围的差异节点为节点5,其中,SP(1)+SP(2)+SP(3)+SP(4)+SP(5)属于第五个概率范围。
第六个概率范围为{SP(1)+SP(2)+SP(3)+SP(4)+SP(5),SP(1)+SP(2)+SP(3)+SP(4)+SP(5)+SP(6)},第六个概率范围的差异节点为节点6,其中,SP(1)+SP(2)+SP(3)+SP(4)+SP(5)+SP(6)属于第六个概率范围。
识别装置确定第一随机数所落入的概率范围,将该概率范围的差异节点作为第一轮采样的采样结果。
图7中三角标注为第一随机数,可见第一随机数落入了第三个概率范围,则将第三个概率范围的差异节点作为第一轮采样的采样结果,该采样结果指示的第一目标节点为节点3。
在获得了第一轮采样的采样结果之后,执行第二轮采样,第二轮采样的过程如下:
步骤306:识别装置计算多个节点组合在子图扩展范围的子图中出现的概率,其中,多个节点组合中的每个节点组合均包括两个节点,且均包括第一目标节点。
识别装置将第一目标节点为节点组合中的固定节点,剩余的M-1个节点中任一节点与该第一目标节点可以构成一个节点组合,共存在M-1个节点组合。
识别装置可以分别确定M-1个节点组合中每个节点组合在子图扩展集合的子图中出现的概率。每个节点组合在子图扩展集合的子图中出现的概率等于子图扩展集合中所有包含该节点组合的子图的扩展采样概率p之和。
仍然以图6所示的对子图扩展之后生成的子图扩展集合为例进行说明,第一轮采样的采样结果指示的第一目标节点为节点3,则识别装置将节点3与其余的5个节点中的任一节点构成一个节点组合,分为(3、1),(3、2),(3、4),(3、5),(3、6)。
例如,节点组合(3、1)在子图扩展集合的子图中出现的概率SP(3、1)是根据子图扩展集合中所有包含节点1和节点3的子图的扩展采样概率p计算得到的,其他节点组合也类似,此处不再赘述。
将M’=4,K=4,j=2,X2={x1,x2}带入公式(1),其中,0≤j1≤1,0≤j2≤1
当j1=0,j2=0时有:
a为从X2集合中选取0个元素,a’为从集合X2中选取0个元素,Su={u∈M′:6-4≤u≤2-0,u≡2(mod 2)}={2},B={x1,x2},B’={x1,x2},Perm(B,B’)=δ(x1,x2)+1,其中若x1=x2,则δ(x1,x2)=1,否则δ(x1,x2)=0。由于a,a’,e,e’均为空集,因此其Haf值为1。
当j1=0,j2=1时有:
a为从X2集合中选取0个元素,a’为从集合X2中选取2个元素a′={x1,x2},Su={u∈M′:6-2-4≤u≤2-2,u≡2(mod 2)}={0}, Haf(a)=Haf(e′)=1,Perm(B,B’)=1,
当j1=1,j2=0时有:
a为从X2集合中选取2个元素a={x1,x2},a’为从集合X2中选取0个元素,Su={u∈M′:6-2-4≤u≤2-2,u≡2(mod 2)}={0}, Haf(a)=Haf(a′)=1,Perm(B,B’)=1, 表示从A’取出任意两个顶点x1,x2。
当j1=1,j2=1时有:
因此:
SP(3,1)=δ(3,1)+1+4A′3,1 2=0+1+4=5
SP(3,2)=δ(3,2)+1+4A′3,2 2=0+1+0=1
SP(3,4)=δ(3,4)+1+4A′3,4 2=0+1+0=1
则SP(3,1):SP(3,2):SP(3,4):SP(3,5):SP(3,6)=5:1:1:1:5:5。
归一化后可得:
SP(3、1)=5/18,SP(3、2)=1/18,SP(3、4)=1/18,SP(3、5)=SP(3、6)=5/18。
步骤307:识别装置根据多个节点组合分别在子图扩展集合的子图中出现的概率获得第二采样结果,第二采样结果用于指示M个节点中的第二目标节点。
识别装置先随机生成一个随机数,为方便说明将第二轮采样生成的随机数称为第二随机数,第二随机数为大于0小于1的数。
识别装置利用每个节点组合在扩展子图集合的子图中出现的概率划分出多个不重叠的概率范围(这里不重叠的概率范围是指除了边界值,各个概率范围不包含相同的值),识别装置以0为概率范围的起始点,将一个节点组合在扩展子图集合的子图中出现的概率SP作为概率范围一个边界值,之后在该节点组合在扩展子图的子图中出现的概率SP上累计叠加一个其他节点组合在扩展子图集合的子图中出现的概率SP,每次累计叠加一个其他节点组合在扩展子图集合的子图中出现的概率SP获得的值作为一个概率范围的边界值,直至累计叠加获得M-1个(不同)节点组合在扩展子图集合的子图中出现的概率之和,也就是说,累计叠加的概率范围最大的边界值为M-1个(不同)节点组合在扩展子图的子图中出现的概率之和。
也就是说,识别装置利用每个节点在扩展子图集合的子图中出现的概率划分可以划分出多个概率范围。若有M-1个节点组合,则可以划分出M-1个不重叠概率范围,每个概率范围存在两个边界值,任一边界值为0、一个节点组合在扩展子图集合的子图中出现的概率SP或多个节点组合在扩展子图集合的子图中出现的概率SP之和。换句话说,每个概率范围的一个边界值对应0个节点、一个节点组合或多个节点组合。每个概率范围的两个边界值相差一个节点组合在扩展子图的子图中出现的概率SP,为方便说明将该节点组合中除第一目标节点外的节点定义为该概率范围的差异节点。
本申请实施例并不限定识别装置概率范围最小边界值所对应的节点组合,以及累计叠加其他节点组合在扩展子图集合的子图中出现的概率SP的累加顺序,可以按照节点组合中除第一目标节点为的其余节点的顺序依次累计叠加,也可以随机累计叠加,只需保证每次累计叠加的节点组合在扩展子图集合的子图中出现的概率SP为不同节点组合在扩展子图集合的子图中出现的概率SP。
仍以图6所示的对子图扩展之后生成的子图扩展集合为例进行说明,参见图8所示的概率范围的划分方式,识别装置以0为起始点,在SP(3、1)的基础上,累计叠加其他节点组合在扩展子图集合的子图中出现的概率SP,获得各个概率范围的边界值依次分别为SP(3、1)、SP(3、1)+SP(3、2)、SP(3、1)+SP(3、2)+SP(3、4)、SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)、SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)+SP(3、6)。
图7中,共存在5个概率范围,第一个概率范围为{0,SP(3、1)},第一个概率范围的差异节点为节点1,其中,SP(3、1)和0属于第一个概率范围。
第二个概率范围为{SP(3、1),SP(3、1)+SP(3、2)},第二个概率范围的差异节点为节点2,其中,SP(3、1)+SP(3、2)属于第二个概率范围。
第三个概率范围为{SP(3、1)+SP(3、2),SP(3、1)+SP(3、2)+SP(3、4)},第三个概率范围的差异节点为节点4,其中,SP(3、1)+SP(3、2)+SP(3、4)属于第三个概率范围。
第四个概率范围为{SP(3、1)+SP(3、2)+SP(3、4),SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)},第四个概率范围的差异节点为节点5,其中,SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)属于第四个概率范围。
第五个概率范围为{SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5),SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)+SP(3、6)},第五个概率范围的差异节点为节点6,其中,SP(3、1)+SP(3、2)+SP(3、4)+SP(3、5)+SP(3、6)属于第五个概率范围。
识别装置确定第二随机数所落入的概率范围,将该概率范围的差异节点作为第二轮采样的采样结果。
图8中三角标注为第二随机数,可见第二随机数落入了第四个概率范围,则将第四个概率范围的差异节点作为第二轮采样的采样结果,该采样结果指示的第二目标节点为节点5。
识别装置之后还可以继续进行采样,以之后进行的第i次采样为例(i小于K,大于2),识别装置计算多个节点组合在子图扩展集合的子图中出现的概率,其中,多个节点组合中的每个节点组合均包括i个节点,且每个节点组合均包括前i-1次采样确定的目标节点。识别装置根据多个节点组合分别在子图扩展集合的子图中出现的概率获得第i采样结果,第i采样结果用于指示M个节点中的第i目标节点。其中,识别装置根据多个节点组合分别在子图扩展集合的子图中出现的概率获得第i采样结果时,需要划分概率范围,并根据随机生成的第i随机数所落入的概率范围确定采样结果,其中概率范围的划分方式、以及确定采样结果指示的第i目标节点的方式与步骤307中概率范围的划分方式、以及确定采样结果指示的第二目标节点的方式均类型,区别在于节点组合中包括的节点数量不同。
下面以图6所示的对子图扩展之后生成的子图扩展集合为例,对剩余的两轮采样过程进行说明。
第三轮采样过程如下:
由于第一轮采样的采样结果指示的第一目标节点为节点3,第二轮采样的采样结果指示的第二目标节点为节点5,识别装置将节点3以及节点5、与其余的4个节点中的任一节点构成一个节点组合,分为(3、5、1),(3、5、2),(3、5、4),(3、5、6)。
节点组合(3、5、1)在子图扩展集合的子图中出现的概率SP(3、5、1)是根据子图扩展集合中所有包含节点1、节点3以及节点5的子图的扩展采样概率p计算的。
节点组合(3、5、2)在子图扩展集合的子图中出现的概率SP(3、5、2)是根据子图扩展集合中所有包含节点2、节点3以及节点5的子图的扩展采样概率p计算的。
节点组合(3、5、4)在子图扩展集合的子图中出现的概率SP(3、5、4)是根据子图扩展集合中所有包含节点4、节点3以及节点5的子图的扩展采样概率p计算的。
节点组合(3、5、6)在子图扩展集合的子图中出现的概率SP(3、5、6)是根据子图扩展集合中所有包含节点6、节点3以及节点5的子图的扩展采样概率p计算的。
识别装置利用SP(3、5、1)、SP(3、5、2)、SP(3、5、4)、SP(3、5、6)划分概率范围,参见图9所示的概率范围的划分方式,识别装置以0为起始点,在SP(3、5、1)的基础上,累计叠加其他节点组合在扩展子图集合的子图中出现的概率SP,获得各个概率范围的边界值依次分别为SP(3、5、1)、SP(3、5、1)+SP(3、5、2)、SP(3、5、1)+SP(3、5、2)+SP(3、5、4)、SP(3、5、1)+SP(3、5、2)+SP(3、5、4)+SP(3、5、6)。
图9中,共存在4个概率范围,第一个概率范围为{0,SP(3、5、1)},第一个概率范围的差异节点为节点1,其中,0和SP(3、5、1)属于第一个概率范围。
第二个概率范围为{SP(3、5、1),SP(3、5、1)+SP(3、5、2)},第二个概率范围的差异节点为节点2,其中,SP(3、5、1)+SP(3、5、2)属于第二个概率范围。
第三个概率范围为{SP(3、5、1)+SP(3、5、2),SP(3、5、1)+SP(3、5、2)+SP(3、5、4)},第三个概率范围的差异节点为节点4,其中,SP(3、5、1)+SP(3、5、2)+SP(3、5、4)属于第三个概率范围。
第四个概率范围为{SP(3、5、1)+SP(3、5、2)+SP(3、5、4),SP(3、5、1)+SP(3、5、2)+SP(3、5、4)+SP(3、5、6)},第四个概率范围的差异节点为节点6,其中,SP(3、5、1)+SP(3、5、2)+SP(3、5、4)+SP(3、5、6)属于第四个概率范围。
图9中三角标注为第三随机数,可见第三随机数落入了第三个概率范围,则将第三个概率范围的差异节点作为第三轮采样的采样结果,该采样结果指示节点4。
第四轮采样过程如下:
假设第一轮采样的采样结果指示的第一目标节点为节点3,第二轮采样的采样结果指示的第二目标节点为节点5,第三轮采样的采样结果指示的第三目标节点为节点4,识别装置将节点3、节点5以及节点4、与其余的4个节点中的任一节点构成一个节点组合,分为(3、5、4、1),(3、5、4、2),(3、5、4、6)。
节点组合(3、5、4、1)在子图扩展集合的子图中出现的概率SP(3、5、4、1)是根据子图扩展集合中所有包含节点1、节点3、节点4以及节点5的子图的扩展采样的概率p计算的。
节点组合(3、5、4、2)在子图扩展集合的子图中出现的概率SP(3、5、4、2)是根据子图扩展集合中所有包含节点2、节点3、节点4以及节点5的子图的扩展采样概率p计算的。
节点组合(3、5、4、6)在子图扩展集合的子图中出现的概率SP(3、5、4、6)是根据子图扩展集合中所有包含节点6、节点3、节点4以及节点5的子图的扩展采样概率p计算的。
识别装置利用SP(3、5、4、1)、SP(3、5、4、2)、SP(3、5、4、6)划分概率范围,参见图10所示的概率范围的划分方式,识别装置以0为起始点,在SP(3、5、4、1)的基础上,累计叠加其他节点组合在扩展子图集合的子图中出现的概率SP,获得各个概率范围的边界值依次分别为SP(3、5、4、1)、SP(3、5、4、1)+SP(3、5、4、2)、SP(3、5、4、1)+SP(3、5、4、2)+SP(3、5、4、6)。
图10中,共存在3个概率范围,第一个概率范围为{0,SP(3、5、4、1)},第一个概率范围的差异节点为节点1,其中,0和SP(3、5、4、1)属于第一个概率范围。
第二个概率范围为{SP(3、5、4、1),SP(3、5、4、1)+SP(3、5、4、2)},第二个概率范围的差异节点为节点2,其中,SP(3、5、4、1)+SP(3、5、4、2)属于第二个概率范围。
第三个概率范围为{SP(3、5、4、1)+SP(3、5、4、2),SP(3、5、4、1)+SP(3、5、4、2)+SP(3、5、4、6)},第三个概率范围的差异节点为节点6,其中,SP(3、5、4、1)+SP(3、5、4、2)+SP(3、5、4、6)属于第三个概率范围。
图10中三角标注为第四随机数,可见第四随机数落入了第三个概率范围,则将第三个概率范围的差异节点作为第四轮采样的采样结果,该采样结果指示节点6。
经过四轮采样之后,识别装置确定的节点集合为(3、5、4、6),根据图的邻接矩阵D确定节点集合中各个节点之间的连接关系,确定由节点集合为(3、5、4、6)构成的子图,如图11所示为节点集合为(3、5、4、6)构成的子图。
通过如图3所示的实施例,识别装置在识别节点时,不需要对每个子图进行分析,而是根据节点在子图中出现的概率进行K轮采样,每次采样都可以确定一个目标节点,能够有效减少识别节点的计算量,提高节点识别效率。
基于与方法实施例同一发明构思,本申请实施例还提供了一种识别装置,该识别装置用于执行上述方法实施例中识别装置执行的方法。如图12所示,识别装置1200包括获取单元1201、生成单元1202、扩展单元1203、以及采样单元1204:
获取单元1201,用于根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及M个节点之间的关系构成的图,其中,M个节点包括多个用户和多个对象,M为大于4的整数。获取单元1201可以执行如图3所示的实施例中的步骤301。
生成单元1202,用于在第一集合中确定包含K个节点的子图,以生成第二集合,其中,第二集合包括K个节点按照不同组合构成的多个子图,每个子图包括K个节点及K个节点之间的交易关系,K为大于2且小于M的整数。生成单元1202可以执行如图3所示的实施例中的步骤302。
扩展单元1203,用于对第二集合中的每个子图进行扩展,得到第三集合,第三集合中包括根据第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图。扩展单元1203可以执行如图3所示的实施例中的步骤303。
采样单元1204,用于进行K轮采样,下面对前两轮采样进行说明,第一轮采样:先计算M个节点中的每个节点在第三集合的子图中出现的概率;之后,根据每个节点在第三集合的子图中出现的概率获得第一采样结果,第一采样结果用于指示M个节点中的第一目标节点。采样单元1204可以执行如图3所示的实施例中的步骤304~305。
第二轮采样:计算多个节点组合在第三集合的子图中出现的概率,其中,多个节点组合中的每个节点组合均包括两个节点,且均包括第一目标节点;根据多个节点组合分别在第三集合的子图中出现的概率获得第二采样结果,第二采样结果用于指示M个节点中的第二目标节点。采样单元1204可以执行如图3所示的实施例中的步骤306~307。
采样单元1204之后可以执行K-2轮采样的采样过程可以参见第二轮采样,区别在于,后续的第i轮采样,中节点组合中包括的节点数目为i,且包括前i-1轮采样中确定的目标节点。
作为一种可能的实施方式,采样单元1204在计算M个节点中每个节点在第三集合的子图中出现的概率时,对于M个节点中任一节点,采样单元1204根据第三集合中节点所在的子图的扩展采样概率计算节点在第三集合的子图中出现的概率,其中,子图的扩展采样概率是根据子图中完美匹配的数量确定的。
作为一种可能的实施方式,采样单元1204在根据M个节点中的每个节点在第三集合的子图中出现的概率获得第一采样结果时,可以先生成一个不大于1的正数作为第一随机数,之后根据第一随机数和每个节点在第三集合的子图中出现的概率获得第一采样结果,其中,第一采样结果根据第一随机数落入的第一概率范围来确定,第一概率范围根据各节点在第三集合的子图中出现的概率来确定。
作为一种可能的实施方式,采样单元1204在计算节点组合在第三集合的子图中同时出现的概率时,对于任一节点组合,采样单元1204根据第三集合中节点组合所在的子图的扩展采样概率计算节点组合在第三集合的子图中出现的概率等于之和,其中,子图的扩展采样概率是根据子图中完美匹配的数量确定的。
作为一种可能的实施方式,采样单元1204在根据多个节点组合分别在第三集合的子图中出现的概率获得第二采样结果时,可以先生成一个不大于1的正数作为第二随机数,之后根据第二随机数和每个节点组合在第三集合的子图中出现的概率获得第二采样结果,其中,第二采样结果根据第二随机数落入的第二概率范围来确定,第二概率范围根据多个节点组合在第三集合的子图中出现的概率来确定。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述,仅为本发明的具体实施方式。熟悉本技术领域的技术人员根据本发明提供的具体实施方式,可想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种节点识别方法,所述方法由计算设备中的处理器执行,其特征在于,该方法包括:
根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及所述M个节点之间的关系构成的图,其中,所述M个节点包括所述多个用户和所述多个对象,M为大于4的整数;
在所述第一集合中确定包含K个节点的子图,以生成第二集合,其中,所述第二集合包括所述K个节点按照不同组合构成的多个子图,每个子图包括K个节点及所述K个节点之间的交易关系,K为大于2且小于M的整数;
对所述第二集合中的每个子图进行扩展,得到第三集合,所述第三集合中包括根据所述第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图;
计算所述M个节点中的每个节点在所述第三集合的子图中出现的概率;
根据所述每个节点在所述第三集合的子图中出现的概率获得第一采样结果,所述第一采样结果用于指示所述M个节点中的第一目标节点;
计算多个节点组合在所述第三集合的子图中出现的概率,其中,所述多个节点组合中的每个节点组合均包括两个节点,且均包括所述第一目标节点;
根据所述多个节点组合分别在所述第三集合的子图中出现的概率获得第二采样结果,所述第二采样结果用于指示所述M个节点中的第二目标节点。
2.如权利要求1所述的方法,其特征在于,所述计算所述M个节点中每个节点在所述第三集合的子图中出现的概率,包括:
对于所述M个节点中任一节点,根据所述第三集合中所述节点所在的子图的扩展采样概率计算所述节点在所述第三集合的子图中出现的概率,其中,所述子图的扩展采样概率是根据所述子图中完美匹配的数量确定的。
3.如权利要求1或2所述的方法,其特征在于,所述根据M个节点中的每个节点在所述第三集合的子图中出现的概率获得第一采样结果,包括:
根据第一随机数和所述每个节点在所述第三集合的子图中出现的概率获得第一采样结果,其中,所述第一采样结果根据所述第一随机数落入的第一概率范围来确定,所述第一概率范围根据所述各节点在所述第三集合的子图中出现的概率来确定,所述第一随机数为不大于1的正数。
4.如权利要求1所述的方法,其特征在于,所述计算节点组合在所述第三集合的子图中同时出现的概率,包括:
对于任一节点组合,根据所述第三集合中所述节点组合所在的子图的扩展采样概率计算所述节点组合在所述第三集合的子图中出现的概率等于之和,其中,所述子图的扩展采样概率是根据所述子图中完美匹配的数量确定的。
5.如权利要求1或4所述的方法,其特征在于,所述根据所述多个节点组合分别在所述第三集合的子图中出现的概率获得第二采样结果,包括:
根据第二随机数和所述每个节点组合在所述第三集合的子图中出现的概率获得第二采样结果,其中,所述第二采样结果根据所述第二随机数落入的第二概率范围来确定,所述第二概率范围根据所述多个节点组合在所述第三集合的子图中出现的概率来确定,所述第二随机数为不大于1的正数。
6.一种识别装置,其特征在于,该装置包括获取单元、生成单元、扩展单元、以及采样单元:
所述获取单元,用于根据多个用户和多个对象之间的交易关系获得第一集合,第一集合中包括M个节点以及所述M个节点之间的关系构成的图,其中,所述M个节点包括所述多个用户和所述多个对象,M为大于4的整数;
所述生成单元,用于在所述第一集合中确定包含K个节点的子图,以生成第二集合,其中,所述第二集合包括所述K个节点按照不同组合构成的多个子图,每个子图包括K个节点及所述K个节点之间的交易关系,K为大于2且小于M的整数;
所述扩展单元,用于对所述第二集合中的每个子图进行扩展,得到第三集合,所述第三集合中包括根据所述第二集合中的每个子图的节点的顺序扩展得到的多个不同的子图;
所述采样单元,用于计算所述M个节点中的每个节点在所述第三集合的子图中出现的概率;根据所述每个节点在所述第三集合的子图中出现的概率获得第一采样结果,所述第一采样结果用于指示所述M个节点中的第一目标节点;计算多个节点组合在所述第三集合的子图中出现的概率,其中,所述多个节点组合中的每个节点组合均包括两个节点,且均包括所述第一目标节点;根据所述多个节点组合分别在所述第三集合的子图中出现的概率获得第二采样结果,所述第二采样结果用于指示所述M个节点中的第二目标节点。
7.如权利要求6所述的装置,其特征在于,所述采样单元在计算所述M个节点中每个节点在所述第三集合的子图中出现的概率,具体用于:
对于所述M个节点中任一节点,根据所述第三集合中所述节点所在的子图的扩展采样概率计算所述节点在所述第三集合的子图中出现的概率,其中,所述子图的扩展采样概率是根据所述子图中完美匹配的数量确定的。
8.如权利要求6或7所述的装置,其特征在于,所述采样单元在根据M个节点中的每个节点在所述第三集合的子图中出现的概率获得第一采样结果,具体用于:
根据第一随机数和所述每个节点在所述第三集合的子图中出现的概率获得第一采样结果,其中,所述第一采样结果根据所述第一随机数落入的第一概率范围来确定,所述第一概率范围根据所述各节点在所述第三集合的子图中出现的概率来确定,所述第一随机数为不大于1的正数。
9.如权利要求6所述的装置,其特征在于,所述采样单元在计算节点组合在所述第三集合的子图中同时出现的概率,具体用于:
对于任一节点组合,根据所述第三集合中所述节点组合所在的子图的扩展采样概率计算所述节点组合在所述第三集合的子图中出现的概率等于之和,其中,所述子图的扩展采样概率是根据所述子图中完美匹配的数量确定的。
10.如权利要求6或9所述的装置,其特征在于,所述采样单元在根据所述多个节点组合分别在所述第三集合的子图中出现的概率获得第二采样结果,具体用于:
根据第二随机数和所述每个节点组合在所述第三集合的子图中出现的概率获得第二采样结果,其中,所述第二采样结果根据所述第二随机数落入的第二概率范围来确定,所述第二概率范围根据所述多个节点组合在所述第三集合的子图中出现的概率来确定,所述第二随机数为不大于1的正数。
11.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;
所述存储器,用于存储计算机程序指令;
所述处理器执行调用所述存储器中的计算机程序指令执行如权利要求1至5中任一项所述的方法。
12.一种非瞬态的可读存储介质,其特征在于,所述非瞬态的可读存储介质被计算设备执行时,所述计算设备执行上述权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760923.XA CN112395492B (zh) | 2019-08-16 | 2019-08-16 | 一种节点识别方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760923.XA CN112395492B (zh) | 2019-08-16 | 2019-08-16 | 一种节点识别方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395492A true CN112395492A (zh) | 2021-02-23 |
CN112395492B CN112395492B (zh) | 2022-04-05 |
Family
ID=74603150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760923.XA Active CN112395492B (zh) | 2019-08-16 | 2019-08-16 | 一种节点识别方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395492B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915879A (zh) * | 2014-03-10 | 2015-09-16 | 华为技术有限公司 | 基于金融数据的社会关系挖掘的方法及装置 |
US20170228448A1 (en) * | 2016-02-08 | 2017-08-10 | Futurewei Technologies, Inc. | Method and apparatus for association rules with graph patterns |
US9767204B1 (en) * | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions identifying a search frequency |
US20180121506A1 (en) * | 2016-10-28 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | Solving graph routes into a set of possible relationship chains |
CN108804599A (zh) * | 2018-05-29 | 2018-11-13 | 浙江大学 | 一种相似子图的快速查找方法 |
US20190095239A1 (en) * | 2017-09-28 | 2019-03-28 | Ca, Inc. | Domain transversal based transaction contextualization of event information |
CN109543096A (zh) * | 2018-10-15 | 2019-03-29 | 平安科技(深圳)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN109558995A (zh) * | 2017-09-22 | 2019-04-02 | 华为技术有限公司 | 一种展现关联交易路径的方法及装置 |
-
2019
- 2019-08-16 CN CN201910760923.XA patent/CN112395492B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915879A (zh) * | 2014-03-10 | 2015-09-16 | 华为技术有限公司 | 基于金融数据的社会关系挖掘的方法及装置 |
US9767204B1 (en) * | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions identifying a search frequency |
US20170228448A1 (en) * | 2016-02-08 | 2017-08-10 | Futurewei Technologies, Inc. | Method and apparatus for association rules with graph patterns |
US20180121506A1 (en) * | 2016-10-28 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | Solving graph routes into a set of possible relationship chains |
CN109558995A (zh) * | 2017-09-22 | 2019-04-02 | 华为技术有限公司 | 一种展现关联交易路径的方法及装置 |
US20190095239A1 (en) * | 2017-09-28 | 2019-03-28 | Ca, Inc. | Domain transversal based transaction contextualization of event information |
CN108804599A (zh) * | 2018-05-29 | 2018-11-13 | 浙江大学 | 一种相似子图的快速查找方法 |
CN109543096A (zh) * | 2018-10-15 | 2019-03-29 | 平安科技(深圳)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
邹兆年: "大规模不确定图上的Top-k极大团挖掘算法", 《计算机学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112395492B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7343568B2 (ja) | 機械学習のためのハイパーパラメータの識別および適用 | |
US8706711B2 (en) | Descriptor storage and searches of k-dimensional trees | |
CN103210368A (zh) | 软件应用程序识别 | |
CN106708844A (zh) | 一种用户群体的划分方法和装置 | |
WO2020177743A1 (en) | System and method for intelligent guided shopping | |
JP6689283B2 (ja) | 装置指紋をインターネット装置に割り当てるための方法及び機器 | |
US11295491B2 (en) | Generating a high-dimensional network graph for data visualization utilizing landmark data points and modularity-based manifold tearing | |
CN113240505B (zh) | 图数据的处理方法、装置、设备、存储介质及程序产品 | |
CN109815231A (zh) | 数据分片方法、装置、计算机设备和存储介质 | |
CN114328632A (zh) | 基于位图的用户数据分析方法、装置及计算机设备 | |
JP2011524583A (ja) | 改良された画像認識用の支援装置 | |
CN114358252A (zh) | 目标神经网络模型中的操作执行方法及装置、存储介质 | |
CN110309948A (zh) | 整车物流订单预测方法及装置、物流系统以及计算机可读介质 | |
CN112395492B (zh) | 一种节点识别方法、装置以及设备 | |
CN109241249B (zh) | 一种确定突发问题的方法及装置 | |
CN108170664B (zh) | 基于重点关键词的关键词拓展方法和装置 | |
CN113448876B (zh) | 一种业务测试方法、装置、计算机设备及存储介质 | |
CN111752821B (zh) | 一种分组压测的方法、装置、计算机设备及可读存储介质 | |
US11366833B2 (en) | Augmenting project data with searchable metadata for facilitating project queries | |
CN113393250A (zh) | 一种信息处理方法及装置、存储介质 | |
CN109711205A (zh) | 一种usb存储设备使用记录清除方法及装置 | |
CN104216916A (zh) | 数据还原方法及装置 | |
CN113268562B (zh) | 文本情感识别方法、装置、设备及存储介质 | |
US20220382741A1 (en) | Graph embeddings via node-property-aware fast random projection | |
CN115118496B (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 |