CN108737491A - 信息推送方法和装置以及存储介质、电子装置 - Google Patents
信息推送方法和装置以及存储介质、电子装置 Download PDFInfo
- Publication number
- CN108737491A CN108737491A CN201810255360.4A CN201810255360A CN108737491A CN 108737491 A CN108737491 A CN 108737491A CN 201810255360 A CN201810255360 A CN 201810255360A CN 108737491 A CN108737491 A CN 108737491A
- Authority
- CN
- China
- Prior art keywords
- node
- pending
- vector
- information
- indicate
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息推送方法和装置以及存储介质、电子装置。该方法包括:获取N个待处理节点的拓扑向量,每个待处理节点的拓扑向量用于指示其与其他N‑1个待处理节点之间的拓扑关系,待处理节点用于指示用户,拓扑关系用于指示用户间的关联关系;根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量;根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量;根据N个输出向量对N个待处理节点进行聚类,将N个待处理节点划分成M个节点集合;向M个节点集合所指示的M个用户群组推送对应的消息。本发明解决了相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种信息推送方法和装置以及存储介质、电子装置。
背景技术
目前,在金融、社交、推荐等众多场景均有挖掘用户群组的需求,比如在金融风险控制方面,需要提前发现关于传销、欺诈、赌博等非法团伙进行非法用户打击,净化金融环境;在社交和推荐方面发现具有共同话题和兴趣团体能够进行兴趣组群和信息推荐,提升用户活跃度。相关技术中用户群组发现存在多种解决方案,一种常用做法是通过具体场景中的用户行为建立信息图,然后根据信息图的结构、节点特征、边特征等信息进行用户群组发现。但是,在实际场景中往往由于细分场景不同或者来自不同的数据源导致信息图中普遍具有异构图结构,而这些给信息图上面的用户群组发现带来了较大困难和挑战,导致用户群组发现的准确率较低,进而导致向用户群组推送的消息与用户群组相关性较低,降低了用户活跃度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种信息推送方法和装置以及存储介质、电子装置,以至少解决相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题。
根据本发明实施例的一个方面,提供了一种信息推送方法,包括:获取N个待处理节点的拓扑向量,其中,每个所述待处理节点的拓扑向量用于指示所述每个待处理节点与其他N-1个所述待处理节点之间的拓扑关系,所述待处理节点用于指示用户,所述拓扑关系用于指示用户间的关联关系;根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量,其中,所述拓扑约束信息用于指示将所述拓扑向量的维度从N降低为d,所述输入向量的维度为d,所述d小于所述N;根据所述N个待处理节点的节点属性信息将所述N个输入向量转换成N个输出向量,其中,每个所述输出向量与一个所述输入向量和一个所述待处理节点对应;根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合,其中,每个所述节点集合中包括至少一个所述待处理节点,M小于等于N,所述节点集合用于指示用户群组;分别向所述M个节点集合所指示的M个用户群组推送对应的消息。
根据本发明实施例的另一方面,还提供了一种信息推送装置,包括:第一获取单元,用于获取N个待处理节点的拓扑向量,其中,每个所述待处理节点的拓扑向量用于指示所述每个待处理节点与其他N-1个所述待处理节点之间的拓扑关系,所述待处理节点用于指示用户,所述拓扑关系用于指示用户间的关联关系;第一转换单元,用于根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量,其中,所述拓扑约束信息用于指示将所述拓扑向量的维度从N降低为d,所述输入向量的维度为d,所述d小于所述N;第二转换单元,用于根据所述N个待处理节点的节点属性信息将所述N个输入向量转换成N个输出向量,其中,每个所述输出向量与一个所述输入向量和一个所述待处理节点对应;聚类单元,用于根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合,其中,每个所述节点集合中包括至少一个所述待处理节点,M小于等于N,所述节点集合用于指示用户群组;推送单元,用于分别向所述M个节点集合所指示的M个用户群组推送对应的消息。
根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行本发明实施例中任意一种信息推送方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行本发明实施例中任意一种信息推送方法。
在本发明实施例中,通过获取N个用户对应的N个待处理节点的拓扑向量,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,分别向M个节点集合所指示的M个用户群组推送对应的消息,本发明实施例基于节点之间的拓扑关系以及节点属性信息对N个待处理节点进行分组,达到了对N个用户进行分组,向不同用户群组推送对应消息的目的,能够解决相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题,从而实现提高用户分组的准确度,提高推送消息与用户群组相关性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的信息推送方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的信息推送方法的流程图;
图3是根据本发明优选实施例的用户群组发现方法的执行流程的示意图;
图4是根据本发明优选实施例的异构信息图的拓扑结构的表示学习方法的执行流程的示意图;
图5是根据本发明优选实施例的节点上下文一致性示例的示意图;
图6是根据本发明优选实施例的节点邻近一致性示例的示意图;
图7是根据本发明优选实施例的子用户群组一致性示例的示意图;
图8是根据本发明实施例的一种可选的信息推送装置的示意图;以及
图9是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种信息推送方法。
可选地,在本实施例中,上述信息推送方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的信息推送方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的信息推送方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种可选的信息推送方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取N个待处理节点的拓扑向量,其中,每个待处理节点的拓扑向量用于指示每个待处理节点与其他N-1个待处理节点之间的拓扑关系,待处理节点用于指示用户,拓扑关系用于指示用户间的关联关系;
步骤S204,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,其中,拓扑约束信息用于指示将拓扑向量的维度从N降低为d,输入向量的维度为d,d小于N;
步骤S206,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,其中,每个输出向量与一个输入向量和一个待处理节点对应;
步骤S208,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,节点集合用于指示用户群组;
步骤S210,分别向M个节点集合所指示的M个用户群组推送对应的消息。
通过上述步骤S202至步骤S210,通过获取N个用户对应的N个待处理节点的拓扑向量,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,分别向M个节点集合所指示的M个用户群组推送对应的消息,本发明实施例基于节点之间的拓扑关系以及节点属性信息对N个待处理节点进行分组,达到了对N个用户进行分组,向不同用户群组推送对应消息的目的,能够解决相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题,从而实现提高用户分组的准确度,提高推送消息与用户群组相关性的技术效果。
首先需要说明的是,本发明实施例利用待处理节点指示用户,利用节点之间的拓扑关系指示用户间的关联关系,可以通过对N个待处理节点进行聚类,将N个待处理节点划分为M个节点集合,实现对N个用户进行分组得到M个用户群组的目的。本发明实施例将用户分组问题转换为数学中的节点聚类问题,通过利用确定的拓扑约束信息对N个待处理节点进行聚类,能够达到提高节点聚类所得到的M个节点集合的准确度的目的,进而实现提高用户分组的准确度,进而达到向用户群组推送对应消息,以提高所推送的消息与用户群组的关联度的效果。
在步骤S202提供的技术方案中,本发明实施例对N的取值不做具体限定,N的取值可以根据实际设定或调整。N个待处理节点可以为异构信息图上的节点,其中,在本发明实施例中可以将异构信息图定义为G(V,E,I),其中,V是节点集合,E是边集合,G(V,E)可以用于指示异构信息图中的拓扑关系,也可以理解为每个待处理节点与其他N-1个待处理节点之间的拓扑关系。I可以用于指示异构信息图中存在的异构信息,该异构信息可以包括但并不仅限于节点标签,边标签,节点属性集合,边属性集合等。此处需要说明的是,待处理节点可以用户指示待分组的用户,待处理节点之间的拓扑关系可以用于指示用户间的关联关系。
可选地,获取N个待处理节点的拓扑向量可以包括以下步骤:
步骤S2022,获取N个待处理节点中的每个待处理节点对应的关联节点集合,其中,每个待处理节点对应的关联节点集合中包括的节点为与每个待处理节点具有拓扑连接关系的节点;
步骤S2024,根据N个待处理节点在每个待处理节点对应的关联节点集合中出现的次数,将每个待处理节点对应的关联节点集合转换为每个待处理节点的拓扑向量。
需要说明的是,对于N个待处理节点中的每个待处理节点,都会有一个与其对应的关联节点集合,其中,该关联节点集合中可以包括至少一个节点,且该至少一个节点为与上述待处理节点具有拓扑连接关系的节点,此处的拓扑连接关系可以包括但并不仅限于相邻节点,还可以包括通过中间节点相连。本发明实施例可以通过采样方法获取每个待处理节点相对应的关联节点集合,其中,本发明实施例对所采取的采样方法不做具体限定,例如随机游走、频繁子图挖掘、深度/广度优先遍历等。
还需要说明的是,在获取到每个待处理节点相对应的关联节点集合之后,本发明实施例可以根据N个待处理节点在上述关联节点集合中出现的次数将每个待处理节点对应的关联节点集合转换为每个待处理节点的拓扑向量。例如异构信息图中共有6个待处理节点,分别为节点1、节点2、节点3、节点4、节点5以及节点6,其中,节点2所对应的关联节点集合中包括“2-4-6;2-3-1;2-1-3”,其中,“-”代表节点之间的连接关系。从节点2对应的关联节点集合中可以看出:节点1出现次数为2次,节点2出现次数为3次,节点3出现次数为2次,节点4出现次数为1次,节点5出现次数为0次,节点6出现次数为1次,则待处理节点2的拓扑向量为6维列向量[2,3,1,1,0,1]T。也就是说,每个待处理节点的拓扑向量为一个N维的列向量。
在步骤S204提供的技术方案中,由于在实际应用场景中异构信息图中所包括的节点个数N取值较大,每个待处理节点的拓扑向量为一个N维的列向量,为了便于计算,本发明实施例可以利用确定的拓扑约束信息对N维的列向量进行降维,也即根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个d维的输入向量,其中,拓扑约束信息用于指示将拓扑向量的维度从N降低为d,输入向量的维度为d,d小于N。
需要说明的是,本发明实施例在设计拓扑约束信息时主要考虑了以下拓扑一致性条件,具体可以包括:(1)N个待处理节点中相邻的两个待处理节点的输入向量之间的距离小于不相邻的两个待处理节点的输入向量之间的距离;(2)如果N个待处理节点中其中两个待处理节点的拓扑距离小于另两个待处理节点的拓扑距离,则其中两个待处理节点的输入向量之间的距离小于另两个待处理节点的输入向量之间的距离;(3)如果N个待处理节点中其中两个待处理节点属于同一个已知节点集合,另两个待处理节点属于不同的已知节点集合,则其中两个待处理节点的输入向量之间的距离小于另两个待处理节点的输入向量之间的距离。
基于上述拓扑一致性约束,在根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量之前,本发明实施例还可以包括:
步骤S200,获取第一损失信息、第二损失信息和第三损失信息,其中,第一损失信息用于指示N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,第二损失信息用于指示N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,k为常系数,第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;
步骤S201,根据第一损失信息、第二损失信息和第三损失信息确定拓扑约束信息。
对上述步骤S200需要说明的是:第一损失信息与上述拓扑一致性约束条件(1)相对应,第一损失信息可以用于指示N个待处理节点中相邻的每两个节点的输入向量之间的距离之和。可选地,本发明实施例可以按照以下公式获取第一损失信息:
其中,Losscontext用于指示第一损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合。
第二损失信息与上述拓扑一致性约束条件(2)相对应,第二损失信息可以用于指示N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,k为常系数,此处对k的取值不做具体限定。可选地,本发明实施例可以按照以下公式获取第二损失信息:
其中,Lossproximity用于指示第二损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,Rangek(u)表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合。
第三损失信息与上述拓扑一致性约束条件(3)相对应,第三损失信息可以用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和。可选地,本发明实施例可以按照以下公式获取第三损失信息:
其中,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
对上述步骤S201需要说明的是,在获取到第一损失信息、第二损失信息以及第三损失信息之后,本发明实施例可以按照以下公式确定拓扑约束信息:
Lross=Losscontext+Lossproximity+Losscommunity+Lreg
其中,Lloss用于指示拓扑约束信息,Lreg是避免过拟合的正则损失函数,
需要说明的是,本发明实施例通过上述拓扑一致性约束条件所确定的拓扑约束信息更加符合异构信息图的真实情况,也即所确定的拓扑约束信息更加准确,进而可以使得根据所确定的拓扑约束信息能够更加准确地将N个待处理节点的拓扑向量转换成N个输入向量,进一步达到提高节点分组的准确度的效果。
可选地,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量可以包括以下步骤:
步骤S2042,对N个待处理节点中的每个待处理节点执行以下步骤,其中,每个待处理节点在执行以下步骤时被标记为当前待处理节点:利用预定神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的当前输入向量,并重复执行以下步骤,直至当前拓扑约束信息与上一次获取到的拓扑约束信息相一致:根据待处理节点的当前输入向量获取当前拓扑约束信息;利用当前拓扑约束信息调整神经网络的学习系数,得到学习系数调整后的神经网络;在当前拓扑约束信息与上一次获取到的拓扑约束信息不一致的情况下,利用学习系数调整后的神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的调整后的输入向量,将调整后的输入向量作为当前输入向量。
需要说明的是,本发明实施例可以首先利用预定神经网络将当前待处理节点的拓扑向量转换为输入向量,然后在根据所得到的输入向量获取当前的拓扑约束信息,也即Lloss。为了提高转换的准确度,本发明实施例利用Lloss对预定神经网络的学习系数进行调整,以更新该预定神经网络,然后再利用上述更新后的预定神经网络将当前待处理节点的拓扑向量转换为输入向量,再利用所得到的输入向量获取拓扑约束信息,如果获取到的当前拓扑约束信息与上一次获取到的拓扑约束信息相一致,则停止重复过程,此时所得到的输入向量即为当前待处理节点的输入向量;如果获取到的当前拓扑约束信息与上一次获取到的拓扑约束信息相一致,则重复获取当前的拓扑约束信息,利用当前的拓扑约束信息对预定神经网络的学习系数进行调整,以更新该预定神经网络,然后再利用上述更新后的预定神经网络将当前待处理节点的拓扑向量转换为输入向量,再利用所得到的输入向量获取拓扑约束信息。
在步骤S206提供的技术方案中,在获取到N个待处理节点的输入向量之后,考虑到在实际应用场景中N个输入向量可能存在其中两个或者两个以上相同的情况,如果两个或者两个以上的待处理的输入向量相同,则无法准确地确定这些待处理节点所属的节点集合。因此,为了更加准确地对节点进行分组,本发明实施例可以根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,其中,每个输出向量与一个输入向量和一个待处理节点对应,这样可以使得N个待处理节点的输出向量均不相同,以便于更准确地对这N个待处理节点进行聚类分组。此处需要说明的是,如果待处理节点的类型为用户,则该待处理节点的属性信息可以包括但并不限于年龄、性别、职业等信息。
可选地,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量可以包括以下步骤:
步骤S2062,获取N个待处理节点中每个待处理节点的变换向量,其中,每个待处理节点的变换向量为每个待处理节点的节点属性信息与对角矩阵进行点乘后得到的向量;
步骤S2064,将每个待处理节点的输入向量与每个待处理节点的变换向量进行向量乘积计算,得到每个待处理节点的输出向量。
需要说明的是,经过上述步骤的处理,N个待处理节点的输出向量均不相同,这样可以使得依据N个待处理节点的输出向量对N个待处理节点进行聚类处理,以便于对N个待处理节点进行准确的分组,进而达到提高节点分组准确度的效果。
在步骤S208提供的技术方案中,在获取到N个待处理节点的输出向量之后,本发明实施例可以根据N个输出向量对N个待处理节点进行聚类操作,以便将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N。
作为一种可选的实施例,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合可以包括以下步骤:
步骤S2081,分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;
步骤S2083,将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
需要说明的是,该可选实施例在M个节点集合为已知节点集合的情况下,可以通过分别获取每个待处理节点到M个节点集合的向量中心的距离,然后将该待处理节点划分到距离最近的目标节点集合中,也就是说,该待处理节点到目标节点集合的向量中心的距离小于该待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离。
上述可选实施例适用于M个节点集合已知的情形。但是,在实际应用场景中,通常预先无法确定M个节点集合,也即无法确定M个节点集合的向量中心,对于这种M个节点集合未知的情形,可以根据以下可选实施例对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合。
作为另一种可选的实施例,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合包括以下步骤:
步骤S2082,从N个待处理节点中选择M个节点,并将M个节点分成M个节点集合,其中,M个节点中的一个节点对应一个节点集合;
步骤S2084,重复执行以下步骤,直至M个节点集合中的每个节点集合所包括的节点不再发生变化:获取M个节点集合的向量中心;分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
需要说明的是,该可选实施例在M个节点集合为未知节点集合的情况下,首先从N个待处理节点中随机选择M个待处理节点,分别作为M个节点集合的向量中心,然后可以通过分别获取N个待处理节点到M个节点集合的向量中心的距离,对这些节点进行节点集合的划分。为了保证节点集合划分的准确性,该可选实施例还需要在第一次节点聚类之后更新M个节点集合的向量中心,然后再通过分别获取N个待处理节点到更新后的M个节点集合的向量中心的距离,对N个节点重新进行节点集合的划分,直至M个节点集合中所包括的节点不再发生变化。
通过上述两个可选实施例,本发明实施例可以达到准确地对N个待处理节点进行节点集合的划分的目的,从而实现提高节点分组的准确度的技术效果。需要说明的是,通过上述实施例对N个待处理节点划分为M个节点集合,其中,节点集合可以用于指示用户群组,也即上述实施例通过将N个待处理节点划分为M个节点集合,可以实现将N个待分组的用户划分成M个用户群组。
在步骤S210提供的技术方案中,在根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合之后,该可选实施例还可以分别向M个节点集合所指示的M个用户群组推送对应的消息,这样可以实现提高推送消息与用户群组之间的相关性,进而提升用户活跃度的目的。
可选地,在根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合之后,该实施例还可以根据实际应用需求包括以下处理操作:判断M个节点集合所指示的M个用户群组中所包括的用户是否合法,例如如果确定用户群组为传销、欺诈、赌博等非法群组,则需要对这些不合法的群组进行及时处理,以实现净化金融环境的目的。需要说明的是,该可选实施例还可以根据实际应用需求进行其他处理操作,例如显示每个节点集合所指示的用户群组中用户的属性信息等,此处不再一一举例说明。
本发明还提供了一种优选实施例,该优选实施例针对于现在广泛存在的异构信息图结构,发现其中节点存在的用户群组关系。该优选实施例旨在利用深度神经网络和生成式模型分别对异构信息图的拓扑信息和异构信息进行建模,提供一种可以通用的并且能够在不同类型的异构信息图上进行用户群组发现的算法。需要说明的是,该优选实施例中的用户群组即为本发明上述实施例中的节点集合。
该优选实施例中的异构信息图可以定义为G(V,E,I),其中,V是节点集合,E是边集合,G(V,E)定义了异构信息图中的拓扑关系。I表示异构信息图中存在的异构信息,例如节点标签,边标签,节点属性集合,边属性集合等。
如图3所示,该优选实施例的用户群组发现方法可以分为三个流程:(1)异构信息图的拓扑结构的表示学习方法,(2)异构信息图的异构信息的表示学习方法,(3)基于表示学习的用户群组发现方法。
(1)异构信息图的拓扑结构的表示学习方法
图4展示了异构信息图的拓扑结构表示学习的基本框架。模型输入是异构信息图的拓扑信息,即G(V,E)。模型的输出是异构信息图中所有节点的一个d维表示,且d<<|V|,|V|是异构信息图中节点的个数。对于任意节点v∈V,模型的输出为一个d维的向量nv∈Rd。此处用N表示对于所有节点的表示学习的输出矩阵。
首先,通过多种采样方法,包括但并不仅限于随机游走(Random Walk)、频繁子图挖掘(Frequent Subgraph Mining)、深度/广度优先遍历等,采集异构信息图上的拓扑信息,对于异构信息图上的节点v∈V,采样步骤输出为该节点v的集合sv。
然后,根据采样输出的节点集合,通过对节点排序的算法,例如根据节点的度排列,将集合sv转化为一个输入向量hv∈R|V|。这样对于整个节点集合,可以得到一个输入向量集合H。
在表示学习部分该优选实施例使用深度神经网络结合异构信息图上的拓扑一致性约束的损失函数进行求解。
使用深度神经网络(DNN)对输入向量hv进行建模,深度神经网络的层数和每层单元数目可以根据输入向量的集合H的维度自适应调整。其中,在每一层中,可以使用Sigmoid函数作为激活函数,Sigmoid函数定义为:
在深度神经网络的输出端可以使用异构信息图上的拓扑一致性约束设计损失函数,其中,该优选实施例中的拓扑一致性可以包含以下三个层次:
1)节点上下文一致性:如果两个节点u和v在异构信息图上相邻(即有边连接),则在表示学习后的向量空间里面,这两个点的向量表示的距离比两个不相邻节点(假设节点u和节点w不相邻)更近,即dist(nu,nv)≤dist(nu,nw)。在向量空间中,使用欧式距离进行定义,即此处使用Losscontext表示所有关于节点上下文一致性的损失函数。Losscontext定义为:
在Losscontext中,S(u)代表所有和节点u相连的节点集合,例如,在图4中,S(v2)={v1,v3,v4,v5}
例如,如图5所示,因为v1和v2相邻但是v1和v3不相邻,则通过节点上下文一致性的约束,最后得到的三个节点的向量表示的结果n1,n2,n3满足dist(n1,22)≤dist(n1,n3)。
2)节点邻近一致性:如果两个节点u和v在异构信息图上有较小的拓扑距离(distG(u,v)),则在表示学习后的向量空间里面,这两个点的向量表示的距离也会更近,即如果有distG(u,v)≤distG(u,w),则dist(nu,nv)≤dist(nu,nw)。此处用Lossproximity表示所有关于节点邻近一致性的损失函数。Lossproximity定义为:
在Losscontext中,Rangek(u)代表所有和节点u相连的距离在k内(k≥2)的节点集合。在实践中,取k=3。
例如,如图6所示,在拓扑结构中,因为v1和v2距离为2,v1和v3距离为3,则通过节点邻近一致性的约束,最后得到的三个节点的向量表示的结果n1,n2,n3满足dist(n1,n2)≤dist(n1,n3)
3)子用户群组一致性:如果存在节点上的已知用户群组信息,那么同一用户群组的节点在表示学习后的向量空间中距离应该尽可能相近。这些子用户群组信息可以是存在于数据中的实际用户群组信息,也可以是通过图挖掘算法找到的一些图上的复杂结构信息,例如,Graphlet,K-core,K-clique等。此处用Losscommunity表示所有关于子用户群组一致性的损失函数。Losscommunity定义为:
在Losscommunity中,代表已知用户群组信息。Ci\u代表Ci中除了节点u的节点。
例如,如图7所示,在拓扑结构中,因为v1和v2处于同一个已知用户群组,v1和v3不处于同一用户群组,则通过子用户群组一致性的约束,我们最后得到的三个节点的向量表示的结果n1,n2,n3满足dist(n1,n2)dist(n1,n3)
通过以上图的拓扑信息,我们的最终损失函数设计如下:
Lloss=Losscontext+Lossproximity+Losscommunity+Lreg
在上式中Lreg是避免过拟合的正则损失函数,此处使用F-Norm作为正则函数。Lreg定义为:
在这个部分中,目标是通过最小化这一损失函数来求得对于任意节点v的拓扑结构的表示形式nv,即argminNLloss。这个最小化函数的求解可以通过梯度下降等现有优化算法进行。
(2)图的异构信息的表示学习方法
针对异构信息图上的异构信息集合I={I1,I2,...},Ii表示第i类节点的信息集合,该优选实施例使用统一的变换函数T:Rd→Rd去建模不同种类的异构信息,这个变换函数可以是线性的也可以是非线性的,取决于异构信息的类型。针对整个异构信息集合,该优选实施例设计一组对应变换集合T={T1,T2,...}来处理不同类型节点的异构信息集合,这个变换集合可以通过一个生成式模型学习得到。
对于任意节点v的拓扑结构表示形式nv,通过变换集合T可以得到最终表示学习的结果rv。
具体示例:在社交网络里对于有些用户可以收集到用户年龄信息,并且可以通过年龄信息Iage构造变换函数Tage对用户的拓扑结构进行变换。例如,存在两个用户v1和v2,他们的年龄分别为其拓扑表示形式均可以表示为一个三维向量,即也就是说,在拓扑空间的表示上,这两个用户是无法区分的。但是通过变换函数Tage(假设Tage=diag([1,1,1]))可以得到的最终表示学习结果为:
从上面具体示例可以看到,经过变换后通过节点上的异构信息集合可以将在拓扑表示上不可分的点进行区分。
(3)基于表示学习的用户群组发现方法
在得到所有节点的表示学习的输出矩阵R=[rx,r2,...,r|V|]后,该优选实施例可以使用一些在向量空间的聚类算法,例如K-means、MeanShift等,获得一些基于表示向量的聚类C={C1,...,Ck},这些聚类所属的节点集合即为本方法发现的用户群组。
下面将以K-means算法为例说明如何通过表示学习向量发现对应的用户群组。假设有五个节点以及对应表示学习输出矩阵: 目标是找到存在于这五个点里面的两个用户群组:
步骤1、随机从五个节点中选择两个节点作为种子节点,本示例中选择v1和v5。则初始用户群组为C1={v1},C2={v5}。这两个用户群组在向量空间中的中心分别为c1=r1,c2=r5。
步骤2、对于v1,V2,V3,v4,v5,分别计算和c1,c2的距离(例如欧式距离),取距离最近的用户群组加入其中。欧式距离的定义为:
例如对于v2来说,其在向量空间的表示r2到c1,c2的距离分别为因为则v2属于C1。最终得到的结果为C1={v1,v2,v3},C2={v4,v5}。
步骤3、根据得到的用户群组结果更新聚类中心,新的聚类中心为用户群组包含节点的向量表示的平均,则在这个例子中,更新后的c1和c2分别为:
步骤4、重复步骤2,直至C1,C2中节点不再变化,算法停止。最终获得的两个用户群组为:C1={v1,v2,v3},C2={v4,v5}。
需要说明的是,该优选实施例中的深度神经网络采用了DNN+Sigmoid实现,本发明不具体限定深度神经网络的类型和拓扑结构,其可以替换为各种其他有效的新型模型结构,也可以替换为其他不同的激活函数,其还可以根据实际数据规模和具体应用场景,对现有网络进行拓展和简化。
还需要说明的是,该优选实施例中的生成式模型可以有多种实现,比如GraphicalModel,VAE等。该优选实施例中的聚类算法也可以是任意有效的在向量空间的聚类算法,对此本发明并不做具体限定。
本发明具有以下有益效果:
本发明通过深度神经网络和生成式模型,结合了异构信息图的拓扑结构和异构信息,提供了一种高效的针对于复杂异构图的用户群组发现的解决方案。
本发明具有灵活性和通用性,其可以广泛适用于不同类型的异构网络上的用户群组发现,例如社交网络,传感器网络,金融风控网络等。
本发明具有广泛的场景应用前景,能够使得用户群组发现在更多实际、复杂的场景上实际应用。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述信息推送方法的信息推送装置。图8是根据本发明实施例的一种可选的信息推送装置的示意图,如图8所示,该装置可以包括:
第一获取单元22,用于获取N个待处理节点的拓扑向量,其中,每个待处理节点的拓扑向量用于指示每个待处理节点与其他N-1个待处理节点之间的拓扑关系,待处理节点用于指示用户,拓扑关系用于指示用户间的关联关系;第一转换单元24,用于根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,其中,拓扑约束信息用于指示将拓扑向量的维度从N降低为d,输入向量的维度为d,d小于N;第二转换单元26,用于根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,其中,每个输出向量与一个输入向量和一个待处理节点对应;聚类单元28,用于根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,节点集合用于指示用户群组;推送单元210,用于分别向所述M个节点集合所指示的M个用户群组推送对应的消息。
需要说明的是,该实施例中的第一获取单元22可以用于执行本申请实施例中的步骤S202,该实施例中的第一转换单元24可以用于执行本申请实施例中的步骤S204,该实施例中的第二转换单元26可以用于执行本申请实施例中的步骤S206,该实施例中的聚类单元28可以用于执行本申请实施例中的步骤S208,该实施例中的推送单元210可以用于执行本申请实施例中的步骤S210。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
作为一种可选的实施例,该信息推送装置还可以包括:第二获取单元,用于在根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量之前,获取第一损失信息、第二损失信息和第三损失信息,其中,第一损失信息用于指示N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,第二损失信息用于指示N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,k为常系数,第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;确定单元,用于根据第一损失信息、第二损失信息和第三损失信息确定拓扑约束信息。
可选地,第二获取单元可以用于按照以下公式获取第一损失信息:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv),其中,Losscontext用于指示第一损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合。
可选地,第二获取单元还用于按照以下公式获取第二损失信息:其中,Lossproximity用于指示第二损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合。
可选地,第二获取单元还用于按照以下公式获取第三损失信息:其中,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
可选地,确定单元可以用于按照以下公式确定拓扑约束信息:Lloss=Losscontext+Lossproximity+Losscommunity+Lreg,其中:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv),Lossproximity=
Lloss用于指示拓扑约束信息,Losscontext用于指示第一损失信息,Lossproximity用于指示第二损失信息,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合,表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
作为一种可选的实施例,第一转换单元可以包括:第一执行模块,用于对N个待处理节点中的每个待处理节点执行以下步骤,其中,每个待处理节点在执行以下步骤时被标记为当前待处理节点:利用预定神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的当前输入向量,并重复执行以下步骤,直至当前拓扑约束信息与上一次获取到的拓扑约束信息相一致:根据待处理节点的当前输入向量获取当前拓扑约束信息;利用当前拓扑约束信息调整神经网络的学习系数,得到学习系数调整后的神经网络;在当前拓扑约束信息与上一次获取到的拓扑约束信息不一致的情况下,利用学习系数调整后的神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的调整后的输入向量,将调整后的输入向量作为当前输入向量。
作为一种可选的实施例,第二转换单元可以包括:第一获取模块,用于获取N个待处理节点中每个待处理节点的变换向量,其中,每个待处理节点的变换向量为每个待处理节点的节点属性信息与对角矩阵进行点乘后得到的向量;计算模块,用于将每个待处理节点的输入向量与每个待处理节点的变换向量进行向量乘积计算,得到每个待处理节点的输出向量。
作为一种可选的实施例,第一获取单元可以包括:第二获取模块,用于获取N个待处理节点中的每个待处理节点对应的关联节点集合,其中,每个待处理节点对应的关联节点集合中包括的节点为与每个待处理节点具有拓扑连接关系的节点;转换模块,用于根据N个待处理节点在每个待处理节点对应的关联节点集合中出现的次数,将每个待处理节点对应的关联节点集合转换为每个待处理节点的拓扑向量。
作为一种可选的实施例,聚类单元可以包括:第三获取模块,用于分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;第一划分模块,用于将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
作为一种可选的实施例,聚类单元可以包括:选择模块,用于从N个待处理节点中选择M个节点,并将M个节点分成M个节点集合,其中,M个节点中的一个节点对应一个节点集合;第二执行模块,用于重复执行以下步骤,直至M个节点集合中的每个节点集合所包括的节点不再发生变化:获取M个节点集合的向量中心;分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,本发明实施例基于节点之间的拓扑关系以及节点属性信息对N个待处理节点进行分组,可以达到对N个待处理节点进行分组,进而实现对N各待分组的用户进行分组,以向不同用户群组推送对应消息的目的,能够解决相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题,从而实现提高用户分组的准确度,提高推送消息与用户群组相关性的技术效果。
根据本发明实施例的又一个方面,还提供了一种用于实施上述信息推送方法的电子装置。
图9是根据本发明实施例的一种电子装置的结构框图,如图9所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器201、存储器203,其中,存储器203中可以存储有计算机程序,处理器201可以被设置为运行所述计算机程序以执行本发明实施例的信息推送方法。
其中,存储器203可用于存储计算机程序以及模块,如本发明实施例中的信息推送方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的计算机程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息推送方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
可选地,如图9所示,该电子装置还可以包括:传输装置205以及输入输出设备207。其中,传输装置205用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(NetworkInterfaceController,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可以包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
可选地,在本实施例中,上述存储器203可以用于存储计算机程序。
可选地,在本实施例中,上述处理器可以被设置为运行计算机程序,以执行以下步骤:获取N个待处理节点的拓扑向量,其中,每个待处理节点的拓扑向量用于指示每个待处理节点与其他N-1个待处理节点之间的拓扑关系,待处理节点用于指示用户,拓扑关系用于指示用户间的关联关系;根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,其中,拓扑约束信息用于指示将拓扑向量的维度从N降低为d,输入向量的维度为d,d小于N;根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,其中,每个输出向量与一个输入向量和一个待处理节点对应;根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,节点集合用于指示用户群组;分别向M个节点集合所指示的M个用户群组推送对应的消息。
处理器201还用于执行下述步骤:在根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量之前,获取第一损失信息、第二损失信息和第三损失信息,其中,第一损失信息用于指示N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,第二损失信息用于指示N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,k为常系数,第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;根据第一损失信息、第二损失信息和第三损失信息确定拓扑约束信息。
处理器201还用于执行下述步骤:按照以下公式获取第一损失信息:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv),其中,Losscontext用于指示第一损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合。
处理器201还用于执行下述步骤:按照以下公式获取第二损失信息:其中,Lossproximity用于指示第二损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,Rangek(u)表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合。
处理器201还用于执行下述步骤:按照以下公式获取第三损失信息:其中,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
处理器201还用于执行下述步骤:按照以下公式确定拓扑约束信息:Lloss=Losscontext+Lossproximity+Losscommunity+Lreg,其中:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv), Lloss用于指示拓扑约束信息,Losscontext用于指示第一损失信息,Lossproximity用于指示第二损失信息,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合,Rangek(u)表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
处理器201还用于执行下述步骤:对N个待处理节点中的每个待处理节点执行以下步骤,其中,每个待处理节点在执行以下步骤时被标记为当前待处理节点:利用预定神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的当前输入向量,并重复执行以下步骤,直至当前拓扑约束信息与上一次获取到的拓扑约束信息相一致:根据待处理节点的当前输入向量获取当前拓扑约束信息;利用当前拓扑约束信息调整神经网络的学习系数,得到学习系数调整后的神经网络;在当前拓扑约束信息与上一次获取到的拓扑约束信息不一致的情况下,利用学习系数调整后的神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的调整后的输入向量,将调整后的输入向量作为当前输入向量。
处理器201还用于执行下述步骤:获取N个待处理节点中每个待处理节点的变换向量,其中,每个待处理节点的变换向量为每个待处理节点的节点属性信息与对角矩阵进行点乘后得到的向量;将每个待处理节点的输入向量与每个待处理节点的变换向量进行向量乘积计算,得到每个待处理节点的输出向量。
处理器201还用于执行下述步骤:获取N个待处理节点中的每个待处理节点对应的关联节点集合,其中,每个待处理节点对应的关联节点集合中包括的节点为与每个待处理节点具有拓扑连接关系的节点;根据N个待处理节点在每个待处理节点对应的关联节点集合中出现的次数,将每个待处理节点对应的关联节点集合转换为每个待处理节点的拓扑向量。
处理器201还用于执行下述步骤:分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
处理器201还用于执行下述步骤:从N个待处理节点中选择M个节点,并将M个节点分成M个节点集合,其中,M个节点中的一个节点对应一个节点集合;重复执行以下步骤,直至M个节点集合中的每个节点集合所包括的节点不再发生变化:获取M个节点集合的向量中心;分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
采用本发明实施例,提供了一种节点聚类的方案。通过获取N个待分组的用户对应的N个待处理节点的拓扑向量,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,分别向M个节点集合所指示的M个用户群组推送对应的消息,达到了对N个用户进行分组,对不同用户群组推送对应消息的目的。本发明实施例基于节点之间的拓扑关系以及节点属性信息对N个待处理节点进行分组,进而实现对N个用户进行分组,能够解决相关技术中用户群组发现的准确率较低导致向用户群组推送的消息与用户群组相关性较低的技术问题,从而实现提高用户分组的准确度,提高推送消息与用户群组相关性的技术效果。
根据本发明实施例的又一个方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述实施例中信息推送方法的步骤。
可选地,在本实施例中,存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,获取N个待处理节点的拓扑向量,其中,每个待处理节点的拓扑向量用于指示每个待处理节点与其他N-1个待处理节点之间的拓扑关系,待处理节点用于指示用户,拓扑关系用于指示用户间的关联关系;
S2,根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量,其中,拓扑约束信息用于指示将拓扑向量的维度从N降低为d,输入向量的维度为d,d小于N;
S3,根据N个待处理节点的节点属性信息将N个输入向量转换成N个输出向量,其中,每个输出向量与一个输入向量和一个待处理节点对应;
S4,根据N个输出向量对N个待处理节点进行聚类操作,以将N个待处理节点划分成M个节点集合,其中,每个节点集合中包括至少一个待处理节点,M小于等于N,节点集合用于指示用户群组;
S5,分别向M个节点集合所指示的M个用户群组推送对应的消息。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:在根据确定的拓扑约束信息将N个待处理节点的拓扑向量转换成N个输入向量之前,获取第一损失信息、第二损失信息和第三损失信息,其中,第一损失信息用于指示N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,第二损失信息用于指示N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,k为常系数,第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;根据第一损失信息、第二损失信息和第三损失信息确定拓扑约束信息。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:按照以下公式获取第一损失信息:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv),其中,Losscontext用于指示第一损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:按照以下公式获取第二损失信息:其中,Lossproximity用于指示第二损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,Rangek(u)表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:按照以下公式获取第三损失信息:其中,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:按照以下公式确定拓扑约束信息:Lloss=Losscontext+Lossproximity+Losscommunity+Lreg,其中:Losscontext=∑u∈N∑v∈S(u)dist(nu,nv), Lloss用于指示拓扑约束信息,Losscontext用于指示第一损失信息,Lossproximity用于指示第二损失信息,Losscommunity用于指示第三损失信息,nu表示N个待处理节点中的节点u的输入向量,nv表示N个待处理节点中的节点v的输入向量,S(u)表示与节点u相邻的节点集合,表示与节点u相连的、且与节点u的拓扑距离在k以内的节点集合,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:对N个待处理节点中的每个待处理节点执行以下步骤,其中,每个待处理节点在执行以下步骤时被标记为当前待处理节点:利用预定神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的当前输入向量,并重复执行以下步骤,直至当前拓扑约束信息与上一次获取到的拓扑约束信息相一致:根据待处理节点的当前输入向量获取当前拓扑约束信息;利用当前拓扑约束信息调整神经网络的学习系数,得到学习系数调整后的神经网络;在当前拓扑约束信息与上一次获取到的拓扑约束信息不一致的情况下,利用学习系数调整后的神经网络将当前待处理节点的拓扑向量转换为当前待处理节点的调整后的输入向量,将调整后的输入向量作为当前输入向量。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:获取N个待处理节点中每个待处理节点的变换向量,其中,每个待处理节点的变换向量为每个待处理节点的节点属性信息与对角矩阵进行点乘后得到的向量;将每个待处理节点的输入向量与每个待处理节点的变换向量进行向量乘积计算,得到每个待处理节点的输出向量。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:获取N个待处理节点中的每个待处理节点对应的关联节点集合,其中,每个待处理节点对应的关联节点集合中包括的节点为与每个待处理节点具有拓扑连接关系的节点;根据N个待处理节点在每个待处理节点对应的关联节点集合中出现的次数,将每个待处理节点对应的关联节点集合转换为每个待处理节点的拓扑向量。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:从N个待处理节点中选择M个节点,并将M个节点分成M个节点集合,其中,M个节点中的一个节点对应一个节点集合;重复执行以下步骤,直至M个节点集合中的每个节点集合所包括的节点不再发生变化:获取M个节点集合的向量中心;分别获取N个待处理节点中每个待处理节点到M个节点集合的向量中心的距离;将每个待处理节点划分到目标节点集合中,其中,每个待处理节点到目标节点集合的向量中心的距离小于每个待处理节点到M个节点集合中除目标节点集合之外的其他节点集合的向量中心的距离,M个节点集合包括目标节点集合。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种信息推送方法,其特征在于,包括:
获取N个待处理节点的拓扑向量,其中,每个所述待处理节点的拓扑向量用于指示所述每个待处理节点与其他N-1个所述待处理节点之间的拓扑关系,所述待处理节点用于指示用户,所述拓扑关系用于指示用户间的关联关系;
根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量,其中,所述拓扑约束信息用于指示将所述拓扑向量的维度从N降低为d,所述输入向量的维度为d,所述d小于所述N;
根据所述N个待处理节点的节点属性信息将所述N个输入向量转换成N个输出向量,其中,每个所述输出向量与一个所述输入向量和一个所述待处理节点对应;
根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合,其中,每个所述节点集合中包括至少一个所述待处理节点,M小于等于N,所述节点集合用于指示用户群组;
分别向所述M个节点集合所指示的M个用户群组推送对应的消息。
2.根据权利要求1所述的方法,其特征在于,在所述根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量之前,所述方法还包括:
获取第一损失信息、第二损失信息和第三损失信息,其中,所述第一损失信息用于指示所述N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,所述第二损失信息用于指示所述N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,所述k为常系数,所述第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;
根据所述第一损失信息、所述第二损失信息和所述第三损失信息确定所述拓扑约束信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一损失信息包括:
按照以下公式获取所述第一损失信息:
其中,Losscontext用于指示所述第一损失信息,nu表示所述N个待处理节点中的节点u的输入向量,nv表示所述N个待处理节点中的节点v的输入向量,S(u)表示与所述节点u相邻的节点集合。
4.根据权利要求2所述的方法,其特征在于,所述获取所述第二损失信息包括:
按照以下公式获取所述第二损失信息:
其中,Lossproximity用于指示所述第二损失信息,nu表示所述N个待处理节点中的节点u的输入向量,nv表示所述N个待处理节点中的节点v的输入向量,Rangek(u)表示与所述节点u相连的、且与所述节点u的拓扑距离在k以内的节点集合。
5.根据权利要求2所述的方法,其特征在于,所述获取所述第三损失信息包括:
按照以下公式获取所述第三损失信息:
其中,Losscommunity用于指示所述第三损失信息,nu表示所述N个待处理节点中的节点u的输入向量,nv表示所述N个待处理节点中的节点v的输入向量,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了所述节点u之外的节点。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第一损失信息、所述第二损失信息和所述第三损失信息确定所述拓扑约束信息包括:
按照以下公式确定所述拓扑约束信息:
Lloss=Losscontext+Lossproximity+Losscommunity+Lreg
其中:
Lloss用于指示所述拓扑约束信息,Losscontext用于指示所述第一损失信息,Lossproximity用于指示所述第二损失信息,Losscommunity用于指示所述第三损失信息,nu表示所述N个待处理节点中的节点u的输入向量,nv表示所述N个待处理节点中的节点v的输入向量,S(u)表示与所述节点u相邻的节点集合,Rangek(u)表示与所述节点u相连的、且与所述节点u的拓扑距离在k以内的节点集合,表示已知的节点集合,Ci\u表示已知的节点集合Ci中除了节点u之外的节点。
7.根据权利要求1所述的方法,其特征在于,所述根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量包括:
对所述N个待处理节点中的每个待处理节点执行以下步骤,其中,所述每个待处理节点在执行以下步骤时被标记为当前待处理节点:
利用预定神经网络将所述当前待处理节点的拓扑向量转换为所述当前待处理节点的当前输入向量,并重复执行以下步骤,直至当前拓扑约束信息与上一次获取到的拓扑约束信息相一致:根据所述待处理节点的当前输入向量获取所述当前拓扑约束信息;利用所述当前拓扑约束信息调整所述神经网络的学习系数,得到学习系数调整后的神经网络;在所述当前拓扑约束信息与所述上一次获取到的拓扑约束信息不一致的情况下,利用学习系数调整后的神经网络将所述当前待处理节点的拓扑向量转换为所述当前待处理节点的调整后的输入向量,将所述调整后的输入向量作为所述当前输入向量。
8.根据权利要求1所述的方法,其特征在于,所述根据所述N个待处理节点的节点属性信息将所述N个输入向量转换成N个输出向量包括:
获取所述N个待处理节点中每个待处理节点的变换向量,其中,所述每个待处理节点的变换向量为所述每个待处理节点的节点属性信息与对角矩阵进行点乘后得到的向量;
将所述每个待处理节点的输入向量与所述每个待处理节点的变换向量进行向量乘积计算,得到所述每个待处理节点的输出向量。
9.根据权利要求1所述的方法,其特征在于,所述获取N个待处理节点的拓扑向量包括:
获取所述N个待处理节点中的每个待处理节点对应的关联节点集合,其中,所述每个待处理节点对应的关联节点集合中包括的节点为与所述每个待处理节点具有拓扑连接关系的节点;
根据所述N个待处理节点在所述每个待处理节点对应的关联节点集合中出现的次数,将每个待处理节点对应的关联节点集合转换为所述每个待处理节点的拓扑向量。
10.根据权利要求1所述的方法,其特征在于,所述根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合包括:
分别获取所述N个待处理节点中每个待处理节点到所述M个节点集合的向量中心的距离;
将所述每个待处理节点划分到目标节点集合中,其中,所述每个待处理节点到所述目标节点集合的向量中心的距离小于所述每个待处理节点到所述M个节点集合中除所述目标节点集合之外的其他节点集合的向量中心的距离,所述M个节点集合包括所述目标节点集合。
11.根据权利要求1所述的方法,其特征在于,所述根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合包括:
从所述N个待处理节点中选择M个节点,并将所述M个节点分成M个节点集合,其中,所述M个节点中的一个节点对应一个节点集合;
重复执行以下步骤,直至所述M个节点集合中的每个节点集合所包括的节点不再发生变化:
获取所述M个节点集合的向量中心;
分别获取所述N个待处理节点中每个待处理节点到所述M个节点集合的向量中心的距离;
将所述每个待处理节点划分到目标节点集合中,其中,所述每个待处理节点到所述目标节点集合的向量中心的距离小于所述每个待处理节点到所述M个节点集合中除所述目标节点集合之外的其他节点集合的向量中心的距离,所述M个节点集合包括所述目标节点集合。
12.一种信息推送装置,其特征在于,包括:
第一获取单元,用于获取N个待处理节点的拓扑向量,其中,每个所述待处理节点的拓扑向量用于指示所述每个待处理节点与其他N-1个所述待处理节点之间的拓扑关系,所述待处理节点用于指示用户,所述拓扑关系用于指示用户间的关联关系;
第一转换单元,用于根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量,其中,所述拓扑约束信息用于指示将所述拓扑向量的维度从N降低为d,所述输入向量的维度为d,所述d小于所述N;
第二转换单元,用于根据所述N个待处理节点的节点属性信息将所述N个输入向量转换成N个输出向量,其中,每个所述输出向量与一个所述输入向量和一个所述待处理节点对应;
聚类单元,用于根据所述N个输出向量对所述N个待处理节点进行聚类操作,以将所述N个待处理节点划分成M个节点集合,其中,每个所述节点集合中包括至少一个所述待处理节点,M小于等于N,所述节点集合用于指示用户群组;
推送单元,用于分别向所述M个节点集合所指示的M个用户群组推送对应的消息。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在所述根据确定的拓扑约束信息将所述N个待处理节点的拓扑向量转换成N个输入向量之前,获取第一损失信息、第二损失信息和第三损失信息,其中,所述第一损失信息用于指示所述N个待处理节点中相邻的每两个节点的输入向量之间的距离之和,所述第二损失信息用于指示所述N个待处理节点中拓扑距离在k以内的两个节点的输入向量之间的距离之和,所述k为常系数,所述第三损失信息用于指示已知的节点集合中每个节点的输入向量与其他节点的输入向量之间的距离之和;
确定单元,用于根据所述第一损失信息、所述第二损失信息和所述第三损失信息确定所述拓扑约束信息。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至11任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255360.4A CN108737491B (zh) | 2018-03-23 | 2018-03-23 | 信息推送方法和装置以及存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255360.4A CN108737491B (zh) | 2018-03-23 | 2018-03-23 | 信息推送方法和装置以及存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737491A true CN108737491A (zh) | 2018-11-02 |
CN108737491B CN108737491B (zh) | 2020-09-01 |
Family
ID=63941089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810255360.4A Active CN108737491B (zh) | 2018-03-23 | 2018-03-23 | 信息推送方法和装置以及存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737491B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558480A (zh) * | 2018-11-30 | 2019-04-02 | 重庆市千将软件有限公司 | 针对洗钱犯罪行为的反制方法 |
CN110572450A (zh) * | 2019-09-05 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、计算机可读存储介质和计算机设备 |
WO2020224298A1 (zh) * | 2019-05-06 | 2020-11-12 | 创新先进技术有限公司 | 获取关系网络图中节点的动态嵌入向量的方法和装置 |
US11100167B2 (en) | 2019-05-06 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Obtaining dynamic embedding vectors of nodes in relationship graphs |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281700A1 (en) * | 2007-05-08 | 2008-11-13 | Yahoo! Inc. | Use of natural query events to improve online advertising campaigns |
US20100005105A1 (en) * | 2008-07-02 | 2010-01-07 | Palo Alto Research Center Incorporated | Method for facilitating social networking based on fashion-related information |
CN103024017A (zh) * | 2012-12-04 | 2013-04-03 | 武汉大学 | 一种社交网络重要目标及社区群体识别方法 |
CN103034687A (zh) * | 2012-11-29 | 2013-04-10 | 中国科学院自动化研究所 | 一种基于2-类异质网络的关联模块识别方法 |
CN104079960A (zh) * | 2013-12-05 | 2014-10-01 | 深圳市腾讯计算机系统有限公司 | 文件推荐方法和装置 |
CN106126549A (zh) * | 2016-06-16 | 2016-11-16 | 传化公路港物流有限公司 | 一种基于概率矩阵分解的社区信任推荐方法及其系统 |
CN106296425A (zh) * | 2016-08-03 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 基于带权重联合非负矩阵分解的属性图聚类方法及系统 |
CN106355449A (zh) * | 2016-08-31 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 用户选取方法和装置 |
CN107330115A (zh) * | 2017-07-12 | 2017-11-07 | 广东工业大学 | 一种信息推荐方法及装置 |
CN107609983A (zh) * | 2017-09-20 | 2018-01-19 | 长沙学院 | 一种拓扑结构与节点属性综合分析的社区发现方法 |
-
2018
- 2018-03-23 CN CN201810255360.4A patent/CN108737491B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281700A1 (en) * | 2007-05-08 | 2008-11-13 | Yahoo! Inc. | Use of natural query events to improve online advertising campaigns |
US20100005105A1 (en) * | 2008-07-02 | 2010-01-07 | Palo Alto Research Center Incorporated | Method for facilitating social networking based on fashion-related information |
CN103034687A (zh) * | 2012-11-29 | 2013-04-10 | 中国科学院自动化研究所 | 一种基于2-类异质网络的关联模块识别方法 |
CN103024017A (zh) * | 2012-12-04 | 2013-04-03 | 武汉大学 | 一种社交网络重要目标及社区群体识别方法 |
CN104079960A (zh) * | 2013-12-05 | 2014-10-01 | 深圳市腾讯计算机系统有限公司 | 文件推荐方法和装置 |
CN106126549A (zh) * | 2016-06-16 | 2016-11-16 | 传化公路港物流有限公司 | 一种基于概率矩阵分解的社区信任推荐方法及其系统 |
CN106296425A (zh) * | 2016-08-03 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 基于带权重联合非负矩阵分解的属性图聚类方法及系统 |
CN106355449A (zh) * | 2016-08-31 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 用户选取方法和装置 |
CN107330115A (zh) * | 2017-07-12 | 2017-11-07 | 广东工业大学 | 一种信息推荐方法及装置 |
CN107609983A (zh) * | 2017-09-20 | 2018-01-19 | 长沙学院 | 一种拓扑结构与节点属性综合分析的社区发现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558480A (zh) * | 2018-11-30 | 2019-04-02 | 重庆市千将软件有限公司 | 针对洗钱犯罪行为的反制方法 |
WO2020224298A1 (zh) * | 2019-05-06 | 2020-11-12 | 创新先进技术有限公司 | 获取关系网络图中节点的动态嵌入向量的方法和装置 |
US11100167B2 (en) | 2019-05-06 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Obtaining dynamic embedding vectors of nodes in relationship graphs |
US11288318B2 (en) | 2019-05-06 | 2022-03-29 | Advanced New Technologies Co., Ltd. | Obtaining dynamic embedding vectors of nodes in relationship graphs |
CN110572450A (zh) * | 2019-09-05 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、计算机可读存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108737491B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sayama et al. | Modeling complex systems with adaptive networks | |
Wu et al. | Evolving RBF neural networks for rainfall prediction using hybrid particle swarm optimization and genetic algorithm | |
CN108737491A (zh) | 信息推送方法和装置以及存储介质、电子装置 | |
CN113299354B (zh) | 基于Transformer和增强交互型MPNN神经网络的小分子表示学习方法 | |
CN108921298B (zh) | 强化学习多智能体沟通与决策方法 | |
WO2019200544A1 (zh) | 网络模型的应用开发方法及相关产品 | |
CN114514519A (zh) | 使用异构模型类型和架构的联合学习 | |
WO2022057433A1 (zh) | 一种机器学习模型的训练的方法以及相关设备 | |
Li et al. | Online federated multitask learning | |
CN113194493B (zh) | 基于图神经网络的无线网络数据缺失属性恢复方法及装置 | |
CN108108743A (zh) | 异常用户识别方法和用于识别异常用户的装置 | |
CN104424507B (zh) | 一种回声状态网络的预测方法和预测装置 | |
CN113780002A (zh) | 基于图表示学习和深度强化学习的知识推理方法及装置 | |
CN110263236A (zh) | 基于动态多视图学习模型的社交网络用户多标签分类方法 | |
CN113988464A (zh) | 基于图神经网络的网络链路属性关系预测方法及设备 | |
Pal et al. | Deep learning for network analysis: problems, approaches and challenges | |
Zhu et al. | Cost-effective active sparse urban sensing: Adversarial autoencoder approach | |
CN110175253A (zh) | 一种用户个性化服装搭配方法及装置 | |
Mertens et al. | i-WSN League: Clustered Distributed Learning in Wireless Sensor Networks | |
CN107798331A (zh) | 离变焦图像序列特征提取方法和装置 | |
CN205665729U (zh) | 细胞/卷积神经网络智能视觉支付加速器 | |
CN114900435B (zh) | 一种连接关系预测方法及相关设备 | |
TWM586599U (zh) | 人工智慧雲端膚質與皮膚病灶辨識系統 | |
WO2019200545A1 (zh) | 网络模型的运行方法及相关产品 | |
CN115423087A (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 |