CN112559847A - 网络图中节点搜索方法、装置、电子设备和存储介质 - Google Patents
网络图中节点搜索方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112559847A CN112559847A CN202011438052.9A CN202011438052A CN112559847A CN 112559847 A CN112559847 A CN 112559847A CN 202011438052 A CN202011438052 A CN 202011438052A CN 112559847 A CN112559847 A CN 112559847A
- Authority
- CN
- China
- Prior art keywords
- node
- sampling
- neighbor
- current node
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- 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
本申请提出一种网络图中节点搜索方法、装置、电子设备和存储介质,其中,方法包括:获取预先存储的网络图中当前节点和当前节点的邻居节点列表,邻居节点列表包括至少一个邻居节点,当前节点作为随机游走序列的起始节点;基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点;若采样节点拒绝作为当前节点的下一跳节点,则对采样策略进行调整;基于调整后的采样策略,从邻居节点列表中确定当前节点的新的采样节点,直到得到新的采样节点接受作为当前节点的下一跳节点;更新当前节点,重复上述步骤,遍历网络图得到随机游走序列,从而有效提高随机游走序列的采样效率,减少采样时间。
Description
技术领域
本申请涉及计算机云计算技术领域,尤其涉及一种网络图中节点搜索方法、装置、电子设备和存储介质。
背景技术
随着网络技术的发展和普及,人们越来越多的利用网络搜索功能,以获取满足自己需求的信息。计算机和/或服务器处理搜索需求时,需要对消息网络图中的节点进行选取,以选择出目标消息并向用户进行推送。
发明内容
本申请提供了一种用于提高随意游走采样效率的网络图中节点搜索方法、装置、电子设备和存储介质。
根据本申请的一方面,提供了一种网络图中节点搜索方法,包括:获取预先存储的网络图中当前节点和当前节点的邻居节点列表,所述邻居节点列表包括至少一个邻居节点,所述当前节点作为随机游走序列的起始节点;基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点;若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整;基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,直到得到所述新的采样节点接受作为所述当前节点的下一跳节点;更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列。
在一些实施例中,所述基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,包括:基于所述调整后的采样策略,确定调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比;基于所述调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从所述邻居节点列表中确定所述当前节点的新的采样节点。
在一些实施例中,所述基于所述调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从所述邻居节点列表中确定所述当前节点的新的采样节点,包括:获取所述当前节点的动态转移概率最大值,所述动态转移概率最大值用于确定所述当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比;基于所述动态转移概率最大值确定判决阈值,所述判决阈值用于确定所述采样节点接受还是拒绝作为所述当前节点的下一跳节点;在所述动态转移概率最大值确定的采样范围内随机选取一个概率数值;在所述概率数值与所述动态转移概率最大值的差值大于等于所述判决阈值时,表示所述采样节点接受作为所述当前节点的下一跳节点;在所述概率数值与所述动态转移概率最大值的差值小于所述判决阈值时,则基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点。
在一些实施例中,基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点,包括:确定所述邻居节点列表中各个邻居节点的采样有效面积;在所述各个邻居节点的采样有效面积存在超过预设阈值的待裁剪采样有效面积时,确定所述待裁剪采样有效面积的裁剪面积区域,所述裁剪面积区域是所述待裁剪采样有效面积中超过所述预设阈值的面积区域;基于所述裁剪面积区域调整所述当前节点的动态转移概率最大值。
在一些实施例中,基于所述裁剪面积区域调整所述当前节点的动态转移概率最大值,包括:获取所述邻居节点列表所包含的邻居节点数量;根据所述裁剪面积区域和所述邻居节点数量调整所述当前节点的动态转移概率最大值。
在一些实施例中,若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整,包括:获取所述采样节点对应的采样有效面积;基于所述采样节点对应的采样有效面积,调整与所述当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比。
在一些实施例中,所述基于所述采样节点对应的采样有效面积,调整与所述当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比,包括:基于所述采样节点对应的采样有效面积调整所述当前节点的动态转移概率最大值,所述动态转移概率最大值用于确定所述当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比。
在一些实施例中,所述基于所述采样节点对应的采样有效面积调整所述当前节点的动态转移概率最大值包括:确定所述采样节点对应的采样有效面积;获取所述邻居节点列表所包含的邻居节点数量;基于所述邻居节点数量和所述采样有效面积调整所述当前节点的动态转移概率最大值。
在一些实施例中,若所述新的采样节点接受作为所述当前节点的下一跳节点,则更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列的终点。
根据本申请的另一方面,提供了一种网络图中节点搜索装置,包括:第一获取模块,用于获取预先存储的网络图中当前节点和当前节点的邻居节点列表,所述邻居节点列表包括至少一个邻居节点,所述当前节点作为随机游走序列的起始节点;确定模块,用于基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点;调整模块,用于若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整;第一循环模块,用于基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,直到得到所述新的采样节点接受作为所述当前节点的下一跳节点;第二循环模块,用于更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列。
根据本申请的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请的网络图中节点搜索方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例公开的电子设备的网络图中节点搜索方法。
由此,本申请实施例的网络图中节点搜索方法,通过根据采样被拒绝的采样节点进行采样策略进行调整,以增大被拒绝的采样节点的采样概率,从而增大当前节点的邻居节点总体的采样概率,以提高随机游走序列的采样效率,减少采样时间。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的网络图中节点搜索方法所适用的应用环境示意图;
图2为本申请实施例提供的别名采样方法的原理示意图;
图3为本申请一个实施例的网络图中节点搜索方法的流程图;
图4为采用本申请的一种采样有效面积的调整方法示意图;
图5为根据本申请另一个实施例的网络图中节点搜索方法的流程图;
图6为根据本申请又一个实施例的网络图中节点搜索方法的流程图;
图7为根据本申请再一个实施例的网络图中节点搜索方法的流程图;
图8为根据本申请另一个实施例的网络图中节点搜索方法的流程图;
图9为采用本申请的另一个采样有效面积的调整方法示意图;
图10为根据本申请再一个实施例的网络图中节点搜索方法的流程图;
图11为根据本申请再一个实施例的网络图中节点搜索方法的流程图;
图12为根据本申请再一个实施例的网络图中节点搜索方法的流程图;
图13为根据本申请一个具体实施例的网络图中节点搜索方法的流程图;
图14为根据本申请另一个具体实施例的随机游走序列生成方法的流程图;
图15为本申请一个实施例的网络图中节点搜索方法装置的方框示意图;
图16是用来实现本申请实施例的网络图中节点搜索方法的电子设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1为本申请实施例提供的网络图中节点搜索方法所适用的应用环境示意图。如图1所示,网络图节点搜索方法应用与搜索领域,该方法的应用环境中可以包括终端设备1、网络2和服务器3。搜索领域,包括但不限于新闻搜索、图像搜索、音乐搜索等。
在本申请的一些实施例中,上述终端设备1可以是指具有数据计算处理功能的智能设备,包括但不限于智能手机、掌上电脑、平板电脑等。终端设备1上安装有操作系统,包括但不限于,Android操作系统、Symbian操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等。终端设备1上安装有各种应用客户端,例如用户搜索的应用客户端等。终端设备1用于接收用户输入的搜索条件。并将搜索条件通过网络2传输至服务器3执行与搜索条件相关的搜索。
网络2可包括有有线网络和无线网络。如图1所示,在接入网一侧,终端设备1可以通过无线方式或者有线的方式接入网络2中,而在核心网一侧,服务器3一般是通过有线网络接入到网络2中。当然,上述终端设备1也可通过有线网络接入到网络2,服务器3也可通过无线网络接入到网络2。
服务器3可以是一台服务器,也可以是由若干台服务器构成的服务器集群,或者服务器3可以包含一个或多个虚拟化平台,或者服务器3可以是一个云计算服务中心。服务器3还可以设置有数据库31,数据库31中存储有与搜索条件相关的网络数据,网络数据可以采用网络图的形式进行存储。
本申请实施例基于消息网络图来执行消息搜索。其中,消息网络图为消息搜索领域广泛应用的图模型,通常为二阶图动态随机游走,即,动态随机游走过程中考虑当前节点和上一节点。其中,从某个节点的邻居中依据某种游走策略采样下一节点的过程称为一次随机游走,多次重复该过程可产生随机游走序列。在生成随机游走序列后,可将随机游走序列对应的消息按照随机游走序列的顺序生成消息推荐列表,以向用户发送推荐信息。举例来说,当用户进行图片信息搜索时,服务器3根据用户用于搜索的图片或者根据用户搜索图片的关键字寻找到最接近的目标图片作为随机游走序列的起始节点图片,然后在图片消息网络中进行随机游走,生成与关键字和目标图片对应的随机游走序列,利用随机游走序列中的图片消息生成图片消息推荐列表,发送至终端设备1,以实现向用户进行消息推荐的目的,或者,当用户进行新闻搜索时,服务器3根据用户用于搜索的关键字获取最相符的新闻信息作为起始节点新闻,然后在新闻消息网络找那个进行随机游走,生成与关键字对应的随机游走序列,利用随机游走序列中的新闻消息生成新闻消息推荐列表,发送至终端设备1,以实现向用户推荐新闻的目的。
假设ci表示游走序列中第i个节点,那么分布函数为:
其中,Z表示归一化常数,πvx表示上一跳节点v到当前节点x的为标准化的转移概率值,πvx计算公式为πvx=αpq(v,x)·wvx,wvx表示上一跳节点v到当前节点x的边权,αpq(v,x)表示考虑上一跳节点v到当前节点x的动态分量,计算公式如下:
其中,可通过调节参数q和p来控制游走倾向于访问到的节点可以离起始节点较远,或者访问到的节点集中在起始节点附近。本申请只考虑无权图的场景下的动态随机游走,即,wvx=1。
也就是说,遍历当前节点x的每个邻居节点t,判断邻居节点t是否为上一跳节点v的邻居节点,如果邻居节点t是上一跳节点v的邻居节点,则转移概率值为1,如果邻居节点t是上一跳节点v本身,则转移概率值为1/p,如果邻居节点t既不是上一跳节点v的邻居节点也不是上一跳节点v本身,则转移概率值为1/q。
随机游走的关键问题在于如何从邻居节点中采样下一节点,即,游走策略。动态随机游走策略需要同时结合访问过的上一节点和当前节点的信息采样下一节点。
相关技术中,通常采用Alias sampling(别名采样)方法。
其中,别名采样Alias sampling可先根据节点连接关系计算转移概率值,然后再根据转移概率值构建Alias Table(别名表)。
具体地,别名采样可先对当前节点x的所有邻居节点进行归一化操作。
通过上述操作,容易出现一些事件的概率面积大于1,一些事件的概率面积小于1,将概率面积大于1的事件多出的面积补充到面积小于1对应的事件中,以确保每一个小方格的面积为1,同时,保证每一个小方格至多存储两个事件。
在动态随游走场景中,设消息网络图中节点的平均邻居数为N,根据节点连接关系计算转移概率值所需的时间复杂度为0(N*N)。进一步地,由于需要对所有的边构建AliasTable,假设边的数量是E,则构建Alias Table所需的时间复杂度为0(E*N*N),空间复杂度为0(E*N)。
由此可见,相关技术中,别名采样方法存在时空复杂度高的问题,在预处理时需要枚举网络中所有的有向边,即,当前节点和全部邻居节点之间的有向边,来计算AliasTable,网络规模大小直接决定了存储空间的大小。举例来说,一个Twitter(推特)数据包含41.7M节点,网络边数为2.93B,存储该网络图需要22GB空间,而使用别名采样方法构建Alias Table需要980TB空间。
基于此,本申请提出了一种网络图中节点搜索方法、装置、电子设备和存储介质,来解决上述问题。
下面参考附图描述本申请实施例的网络图中节点搜索方法、装置、电子设备和存储介质
图3为根据本申请一个实施例的网络图中节点搜索方法的流程图。其中,需要说明的是,本实施例的网络图中节点搜索方法的执行主体为网络图中节点搜索装置,网络图中节点搜索装置可以由软件和/或硬件的方式实现,该实施例中的网络图中节点搜索装置可以配置在电子设备中,也可以配置在用于对电子设备进行控制的服务器中,该服务器与电子设备进行通信进而对其进行控制。
如图4所示,该网络图中节点搜索方法可包括:
步骤101,获取预先存储的网络图中当前节点和当前节点的邻居节点列表,邻居节点列表包括至少一个邻居节点,当前节点作为随机游走序列的起始节点。
需要说明的是,本申请是在预先存储的网络图中进行节点搜索,其中,对于任一节点而言,邻居节点列表即为二阶无权图中该节点的邻居节点集合,邻居节点集合中可包括当前节点的全部邻居节点的标识信息和每个邻居节点对应的转移概率值,其中,全部邻居节点包括当前节点的上一跳节点。
其中,对于当前节点而言,在对其进行下一跳节点选取时,可将其作为随机游走序列的当前起始节点,即,自当前节点随机游走至下一跳节点。
步骤102,基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点。
需要说明的是,采样策略为表达当前节点的各邻居节点对应的采样概率直方图。其中,直方图的横坐标为邻居节点坐标的标识信息,纵坐标为各邻居节点的转移概率值。
作为一个可行实施例,在获取到当前节点的邻居节点列表后的第一次采样策略发生在对当前节点的上一跳节点的采样概率调节之后。
步骤103,若采样节点拒绝作为当前节点的下一跳节点,则对采样策略进行调整。
步骤104,基于调整后的采样策略,从邻居节点列表中确定当前节点的新的采样节点,直到得到新的采样节点接受作为当前节点的下一跳节点。
步骤105,更新当前节点,重复上述步骤,遍历网络图得到随机游走序列。
也就是说,在根据当前节点选取下一跳节点时,可根据当前节点的邻居节点的情况生成初始的采样策略,以按照初始采样策略进行初次采样,并在采样节点被拒绝作为当前节点的下一跳节点时,通过对采样策略进行调整,然后重新进行采样,直至选取到当前节点的下一跳节点,然后将下一跳节点继续作为当前节点进行下一跳节点的选取,直至获取到随机游走序列。
由此,本申请实施例的网络图中节点搜索方法,通过根据采样被拒绝的采样节点进行采样策略进行调整,实现对网络图中各邻居节点的采样概率的动态调整,增大被拒绝的采样节点的采样概率,以提高随机游走序列的采样效率,减少采样时间。
作为一种可行实施例,如图4和图5所示,步骤102,基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点,包括:
步骤201,确定邻居节点列表中各个邻居节点的采样有效面积。
需要说明的是,在初始状态下,邻居节点列表对应的直方图中,各个邻居节点的采样有效面积为横纵坐标交叉覆盖的区域,直方图的横坐标为邻居节点的标识信息,纵坐标为各邻居节点的转移概率值。因此,如图5中(a)所示,多个竖直方向的矩形阴影部分为各个邻居节点的采样有效面积。
步骤202,在当前节点的上一跳节点的采样有效面积存在超过预设阈值的待裁剪采样有效面积时,确定待裁剪采样有效面积的裁剪面积区域,裁剪面积区域是待裁剪采样有效面积中超过预设阈值的面积区域。
需要说明的是,预设阈值可为当前节点的邻居节点中除上一跳节点外的其他节点形成的采样有效面积的最大值。也就是说,在分别确定邻居节点列表中各个邻居节点的采样有效面积后,排除当前节点的上一跳节点的采样面积,从其他邻居节点中识别出最大的有效面积,然后将当前节点的上一跳节点的采样面积与该最大的有效面积进行比较,如果上一跳节点的采样面积大于最大的有效面积,则进一步确定待裁剪采样有效面积的裁剪面积区域,如果一跳节点的采样面积小于或等于最大的有效面积,则无需确定待裁剪采样有效面积的裁剪面积区域。
其中,将上一跳节点的采样面积与最大的有效面积做差,得到的差值面积即为裁剪面积区域。
步骤203,基于裁剪面积区域调整当前节点的动态转移概率最大值。
需要说明的是,在上一跳节点的采样有效面积存在超过预设阈值的待裁剪有效面积时,由于对于当前节点而言,其只存在一个上一跳节点,因此,在待裁剪面积越大,即,上一跳节点的转移概率值超过其他邻居节点越多时,在直方图中产生的无效面积越大。因此,本申请在确定裁剪面积区域后,基于裁剪面积区域调整当前节点的动态转移概率最大值,从而有效降低因上一跳节点的裁剪面积区域引起的无效面积,降低采样概率落入无效面积从而被拒绝的概率,有效提高采样率。更进一步地,如图6所示,步骤203,基于裁剪面积区域调整当前节点的动态转移概率最大值,包括:
步骤301,获取邻居节点列表所包含的邻居节点数量。
应当理解的是,由于当前尚未出现被拒绝的邻居节点,因此可直接获取邻居节点列表中的全部邻居节点的数量。
步骤302,根据裁剪面积区域和邻居节点数量调整当前节点的动态转移概率最大值。
具体地,可将裁剪面积区域按照邻居节点数量进行平均分配,以形成当前节点的上一跳节点对应的概率区间,将概率区间与初始状态下的转移概率最大值进行叠加,即,将根据裁剪面积区域得到的概率区间拼接到原始用于表达邻居节点列表之上,形成新的动态转移概率最大值,如图5中(b)所示。
由此,本申请通过将裁剪面积区域转换为裁剪面积区域对应的概率区间,使得奇高的竖直方向上的概率面积被转换为水平方向上的概率面积,从而有减少了因概率面积奇高造成的无效面积,降低了采样概率落入无效面积从而被拒绝的概率,有效提高采样率。
作为另一个可行实施例,如图7所示,步骤103,若采样节点拒绝作为当前节点的下一跳节点,则对采样策略进行调整,包括:
步骤401,获取采样节点对应的采样有效面积。
步骤402,基于采样节点对应的采样有效面积,调整与当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比。
也就是说,在采样节点被拒绝作为当前节点的下一跳节点时,说明前次采样概率落入该采样节点的横坐标对应的区域,但对应的概率值大于采样节点对应的转移概率值,即,采样节点对应的采样有效面积较小容易产生较大的无效面积,因此,需要将采样节点对应的采样有效面积进行调整,以消除采样节点对应的无效面积,从而降低采样策略(直方图)对应的矩形总面积,使得采样有效面积的占比在矩形总面积中的占比被提高,从而有效提高采样效率。
进一步地,步骤402,基于采样节点对应的采样有效面积,调整与当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比,包括:基于采样节点对应的采样有效面积调整当前节点的动态转移概率最大值,动态转移概率最大值用于确定当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比。
具体地,如图8和图9所示,步骤402,基于采样节点对应的采样有效面积调整当前节点的动态转移概率最大值,包括:
步骤501,确定采样节点对应的采样有效面积。
步骤502,获取邻居节点列表所包含的邻居节点数量。
步骤503,基于邻居节点数量和采样有效面积调整当前节点的动态转移概率最大值。
也就是说,在采样节点被拒绝之后,获取被拒绝的采样节点对应的有效面积,然后还需要获取邻居节点列表中所包含的邻居节点数量,应当理解的是,采样被拒绝的邻居节点由于需要对其有效面积进行调整,将不再属于邻居节点列表,即,当前获取的邻居节点列表所包含的邻居节点数量为尚未被采样的邻居节点的数量,然后,再将采样有效面积按照当前尚未被采样的邻居节点的数量进行平摊,以得到采样被拒绝的邻居节点的概率区间,将概率区间叠加到之前的动态转移概率最大值之上,得到调整后的当前节点的动态转移概率最大值。
需要说明的是,在每次对采样被拒绝的邻居节点进行采样有效面积调整时,还需要对前次采样被拒绝的邻居节点的有效面积按照当前尚未被采样的邻居节点的数量进行调节,从而确保调整后的概率区间覆盖范围不会超出当前尚未被采样的邻居节点覆盖的横坐标区域。
其中,图10中在采样节点e被决绝后将其对应的采样有效面积进行调整,叠放在其他邻居节点的动态转移概率最大值(c和d对应的转移概率值)的上方,然后在采样节点a被拒绝后将其采样有效面积进行调整并叠放在当前其他邻居节点的动态转移概率最大值(e对应的动态转移概率最大值)的上方。
也就是说,对于采样被拒绝的邻居节点,也采用如上一跳节点的裁剪采样有效面积的处理方式,即,将竖直方向上的有效面积转换为水平方向上的有效面积,然后将有效面积拼接在尚未被采样的邻居节点形成的横坐标区域的最上方,形成采样被拒绝的邻居节点对应的概率区间。从而有效采样策略中采样被拒绝的邻居节点对应的无效面积,提高了采样策略中有效采样面积的占比,从而有效提高采样效率。
作为一个可行实施例,如图10所示,步骤104,基于调整后的采样策略,从邻居节点列表中确定当前节点的新的采样节点,包括:
步骤601,基于调整后的采样策略,确定调整后的当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比。
需要说明的是,当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,可包括邻居节点对应的采样有效面积在矩形总面积中面积值大小的占比,也包括有效面积在矩形总面积中所在位置的占比。
步骤602,基于调整后的当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从邻居节点列表中确定当前节点的新的采样节点。
也就是说,由于在采样节点被拒绝之后对采样策略(直方图)进行了调整,若按照原始的采样策略进行采样,容积采样到当前直方图之外,即,无法获取到相应的采样节点,因此,为了更好的从邻居节点列表中确定当前节点的新的采样节点,需要对调整后的各个邻居节点对应的采样有效面积和矩形总面积进行确定,以确保能够采样到有效的采样节点。
进一步地,如图11所示,基于调整后的采样策略,从邻居节点列表中确定当前节点的新的采样节点,包括:
步骤701,获取当前节点的动态转移概率最大值,动态转移概率最大值用于确定当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比。
需要说明的是,当前节点的动态转移概率最大值可包括在步骤102基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点时确定的动态转移概率最大值,也包括在步骤103若采样节点被拒绝作为当前节点的下一跳节点,则对采样策略进行调整后形成的动态转移概率最大值。
步骤702,基于动态转移概率最大值确定判决阈值,判决阈值用于确定采样节点接受还是拒绝作为当前节点的下一跳节点。
其中,判决阈值为当前节点在初始状态下除上一跳节点外其他邻居节点的转移概率值中的最大值。
步骤703,在动态转移概率最大值确定的采样范围内随机选取一个概率数值。
举例来说,将动态转移概率最大值标记为dub,随机选取的概率数值prob则满足[0,dub]。
步骤704,在概率数值与动态转移概率最大值的差值大于等于判决阈值时,表示采样节点接受作为当前节点的下一跳节点。
步骤705,在概率数值与动态转移概率最大值的差值小于判决阈值时,则基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点。
需要说明的是,由于当前节点的动态转移概率最大值可包括在步骤102基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点时确定的动态转移概率最大值,也包括在步骤103若采样节点被拒绝作为当前节点的下一跳节点,则对采样策略进行调整后形成的动态转移概率最大值,使得如果随机选取的概率数值大于动态转移概率最大值,则说明该随机概率必然落入了在步骤102基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点时调整的概率区间,或者在步骤103若采样节点被拒绝作为当前节点的下一跳节点,则对采样策略进行调整后采样被拒绝的邻居节点形成的概率区间。
因此,在随机选取的概率数值大于动态转移概率最大值时,即可确定随机选取的概率数值所对应的被采样节点可接受作为当前节点的下一跳节点,在随机选取的概率数值小于判决阈值时,则基于当前节点的采样策略,继续从邻居节点列表中确定当前节点的采样节点。
进一步地,若新的采样节点接受作为当前节点的下一跳节点,则更新当前节点,重复上述步骤,遍历网络图得到随机游走序列的终点。
也就是说,在采样节点被接受为当前节点的下一跳节点时,将采样节点作为新的当前节点,然后针对新的当前节点选取下一跳节点,直至遍历网络图得到随机游走序列的终点。
需要说明的是,遍历网络图是指按照指定的游走次数对网络图进行遍历,当随机游走次数达到预设次数,即,随机游走序列中的节点数量达到预设数量时,则确定已遍历网络图。
作为一个可行实施例,如图12所示,网络图中节点搜索方法,还包括:
步骤801,在概率数值与动态转移概率最大值的差值小于判决阈值时,从未采样的邻居节点列表中随机选取任一邻居节点标识作为采样节点。
其中,未采样的邻居节点列表包括当前节点x的邻居节点列表中除被拒绝的邻居节点之外的全部邻居节点。
在本申请实施例中,假设N为当前节点x的邻居节点列表,V为当前采样过的邻居节点列表,即,被拒绝的邻居节点列表,Nu为当前未被采样过的邻居节点数,Nv为当前未采样的邻居节点数,即,N\V的节点数,prob为概率数值,t为从N\V中随机选择的采样节点t,即,采样节点t对应的概率数值为prob。
步骤802,判断概率数值是否小于第一预设转移概率。
步骤803,如果概率数值小于第一预设转移概率,则确定概率数值对应的采样节点为下一跳节点。
其中,第一预设转移概率为1b,1b=min(1,1/p,1/q)。
也就是说,如果概率数值足够小,小于当前节点x对应的三种转移概率值(1,1/p,1/q)中的最小值,则该概率一定能够满足任何条件的接受概率,即,无论该采样节点与上一跳节点之间是否为邻居关系,采样节点均可被接受(采中),因此,该概率数值prob对应的采样节点x为下一跳节点。换言之,如果prob<1b,则采样节点x为下一跳节点。
步骤804,在概率数值大于或等于第一预设转移概率时,判断采样节点是否为上一跳节点的邻居节点。
步骤805,如果采样节点是上一跳节点的邻居节点,则概率数值小于第二预设转移概率时,确定采样节点为下一跳节点。
其中,第二预设转移概率为1。
步骤806,如果邻居节点不是当前节点的上一跳节点的邻居节点,则后选编转移概率小于第三预设转移概率时,确定采样节点为下一跳节点。
其中,第三预设转移概率为1/q。
也就是说,当概率数值符合1b<prob<ub时,需要根据概率数值prob对应的采样节点x与当前节点x的上一跳节点x的关系来确定接受概率,其中,接受概率为采样节点的能够被采中的最大概率值,即,当概率数值prob大于0且小于接受概率时,认为该概率数值对应的采样节点为下一跳节点。
具体地,当采样节点x为上一跳节点t的邻居节点时,接受概率为1,即,如果采样节点x的概率数值prob<1,则确定采样节点为下一跳节点,当采样节点x不为上一跳节点t的邻居节点时,接受概率为1/q,即,如果采样节点x的概率数值prob<1/q,则确定采样节点为下一跳节点。
应当理解的是,如果概率数值prob与动态转移概率最大值的差值小于判决阈值,又不满足接受概率的条件,则该概率数值对应的采样节点为被拒绝的邻居节点,即,未采中节点,需要将该节点的转移概率值进行调整以获取对应的转移概率值区间。
作为一个可行实施例,网络图中节点搜索方法,还包括:将当前节点的下一跳节点添加至节点搜索集合,识别节点搜索集合中的节点个数达到预设个数,将节点搜索集合作为随机游走序列进行搜索推荐。
也就是说,对于用于消息搜索的二阶无权图,可通过设置游走次数阈值来停止节点间的随机游走。具体地,可判断当前节点对应的游走次数,如果游走次数小于第二预设次数阈值,则继续利用当前节点进行随机游走以选择下一跳节点,如果游走次数等于第二预设次数阈值,则将从起始节点到当前节点的全部节点按照游走顺序生成消息搜索游走序列。以便于根据消息搜索游走序列生成搜索的推荐消息。
作为一个具体实施例,如图13所示,网络图中节点搜索方法,包括以下步骤:
步骤901,初始化辅助变量ub、1b、theta、delta,令Nu=|N|,Nv=0,ub=max(1,1/q),1b=min(1,1/p,1/q),theta=min(1,1/q),delta=max(0,1/p-ub)。
其中,N为当前节点x的邻居节点信息列表,V为已采样过的邻居节点的列表,Nu为当前未采样过的邻居节点数,Nv为已采样过的邻居节点数,v0为消息搜索游走序列的起始节点,S为消息搜索游走序列,i为游走次数,l为第二预设次数阈值,即,最大游走长度,v为当前节点x的上一跳节点。
步骤902,判断当前节点的游走次数i是否达到第二预设次数阈值l。
如果是,则输出消息搜索游走序列S;如果否,则执行步骤503。
步骤903,判断游走次数是否为0。
如果是,则执行步骤508;如果否,则执行步骤504。
步骤904,计算当前最大转移概率值值dub=ub+delta/Nu+Nv*theta/Nu,从[0,dub]中生成一个均匀随机数prob。
如果prob-ub≥delta/Nu,则接受并返回节点V[(prob-ub-delta/Nu)*Nu/theta],即,如果prob大于初始的转移概率值最大值,则根据prob所处的转移概率值区间确定下一跳节点的标识信息。
具体地,接受并返回是指将prob对应的候选节点作为下一跳节点,并将节点标识输入至S中,同时,整个方案返回至步骤801,以将选定的下一跳节点作为当前节点进行下一跳节点的采样。
如果prob<ub,则执行步骤805;如果prob-ub<delta/Nu,则接受并返回上一跳节点,即,prob-ub<delta/Nu对应的转移概率值区间为具有离散转移概率的上一跳节点调整后的转移概率值区间。
步骤905,从N/V随机选择一个点t,如果prob<1b,则接受并返回节点x,如果否,则执行步骤806。
步骤906,判断节点t是否为节点v的邻居节点,如果节点t是节点v的邻居节点,记录-prob=1,判断是否prob<1,如果是,则接受并返回节点t,如果否,则执行步骤807,如果节点t不是节点v的邻居节点,记录-prob=1/q,则判断是否prob<1/q,如果是,则接受并返回t,如果否,则执行步骤807。
步骤907,如果-prob=theta,则将t加入V,更新Nu=Nu-1,Nv=Nv+1,并返回步骤8802。
步骤908,从V0的邻居节点中随机选择一个节点。
如图14所示,随机游走序列生成方法,包括以下步骤:
步骤1001,配置动态随机游走相关参数。其中,相关参数包括,用于表达访问到的节点与起始节点距离的参数p和q,随机游走序列的最大游走长度l,随机游走序列的起始节点v0。
步骤1002,初始化随机游走序列S为空,将起始节点v0加入到随机游走序列S中,初始化迭代轮数i=0。
步骤1003,判断i<l?
如果是,则执行步骤1004,如果否,则输出随机游走序列S。
也就是说,当网络图中节点选取的游走迭代次数达到预设的随机游走序列的最大游走长度l时,则输出随机游走序列S。
步骤1004,判断i=0?
如果是,则执行步骤1005;如果否,则执行步骤1006。
步骤1005,从起始节点v0的邻居节点集合中随机选择一个点v,并执行步骤1007。
也就是说,对于第二跳的节点,可直接通过起始节点v0的邻居节点集合进行随机选择,无需进行复杂的随机概率运算或调整。
步骤1006,结合上一跳节点和当前节点的邻居节点,根据相关参数中的p和q,从邻居节点列表中选择一个点v,并执行步骤1007。
需要说明的是,步骤1005可采用本申请提出的网络图中节点搜索方法,被选择的点v即为基于本申请提出的网络图中节点搜索方法得到的下一跳节点。
步骤1007,将选中的节点v加入到集合Si=i+1,vi=v。
由此,采用本申请实施例提出的网络图中节点搜索方法,能够加快对下一跳节点的采样速度,从而有效提高随机游走序列的获取速度,在保证消息推荐可靠性的同时提高向用户进行消息推荐的速度,提高用户体验。
进一步地,申请人还对本申请提出的方案进行验证。
举例来说,固定p=0.25,q=1,游走长度l为80,执行50个epoch,分别在cora、wiki、blogCatalog三个数据集上进行实验,结果如下表:
表1
可以看出,采用本申请实施例进行优化实现的数据对比原始方法进行原始实现,因裁剪离群面积并均摊到其他节点能够显著提高采样命中率,减少运行时间约48%~66%。
又举例来说,固定p=1,游走长度为80,执行50个epoch,分别在cora、wiki、blogCatalog三个数据集上进行实验,结果如下表:
表2
可以看出,采用本申请实施例进行优化实现的数据对比原始方法进行原始实现,使用本申请提出的方法平均需要更少的采样次数,因此运行时间减少约4%~95%,其中,采样次数的减少程度与具体数据集中网络结构信息相关。
为了实现上述实施例,本发明还提出一种网络图中节点搜索装置。
图15为本发明实施例提供的一种网络图中节点搜索装置的方框示意图。如图15所示,该网络图中节点搜索装置10包括:
第一获取模块11,用于获取预先存储的网络图中当前节点和当前节点的邻居节点列表,邻居节点列表包括至少一个邻居节点,当前节点作为随机游走序列的起始节点。
确定模块12,用于基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点。
调整模块13,用于若采样节点拒绝作为当前节点的下一跳节点,则对采样策略进行调整。
第一循环模块14,用于基于调整后的采样策略,从邻居节点列表中确定当前节点的新的采样节点,直到得到新的采样节点接受作为当前节点的下一跳节点。
第二循环模15,用于更新当前节点,重复上述步骤,遍历网络图得到随机游走序列。
进一步地,第一循环模块14,还用于基于调整后的采样策略,确定调整后的当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比;基于调整后的当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从邻居节点列表中确定当前节点的新的采样节点。
进一步地,调整模块13,还用于:获取当前节点的动态转移概率最大值,动态转移概率最大值用于确定当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比;基于动态转移概率最大值确定判决阈值,判决阈值用于确定采样节点接受还是拒绝作为当前节点的下一跳节点;在动态转移概率最大值确定的采样范围内随机选取一个概率数值;在概率数值与动态转移概率最大值的差值大于等于判决阈值时,表示采样节点接受作为当前节点的下一跳节点;在概率数值与动态转移概率最大值的差值小于判决阈值时,则基于当前节点的采样策略,从邻居节点列表中确定当前节点的采样节点。
进一步地,确定模块12,还用于:确定邻居节点列表中各个邻居节点的采样有效面积;在当前节点的上一跳节点的采样有效面积存在超过预设阈值的待裁剪采样有效面积时,确定待裁剪采样有效面积的裁剪面积区域,裁剪面积区域是待裁剪采样有效面积中超过预设阈值的面积区域;基于裁剪面积区域调整当前节点的动态转移概率最大值。
进一步地,确定模块12,还用于:获取邻居节点列表所包含的邻居节点数量;根据裁剪面积区域和邻居节点数量调整当前节点的动态转移概率最大值。
进一步地,调整模块13,还用于:获取采样节点对应的采样有效面积;基于采样节点对应的采样有效面积,调整与当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比。
进一步地,调整模块13,还用于:基于采样节点对应的采样有效面积调整当前节点的动态转移概率最大值,动态转移概率最大值用于确定当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比。
进一步地,调整模块13,还用于:确定采样节点对应的采样有效面积;获取邻居节点列表所包含的邻居节点数量;基于邻居节点数量和采样有效面积调整当前节点的动态转移概率最大值。
进一步地,第二循环模15还用于:若新的采样节点接受作为当前节点的下一跳节点,则更新当前节点,重复上述步骤,遍历网络图得到随机游走序列的终点。
由此,本申请实施例的网络图中节点搜索方法,通过根据采样被拒绝的采样节点进行采样策略进行调整,以增大被拒绝的采样节点的采样概率,从而增大当前节点的邻居节点总体的采样概率,以提高随机游走序列的采样效率,减少采样时间。
应当理解,装置中记载的诸单元或模块与上述描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作指令和特征同样适用于装置及其中包含的模块,在此不再赘述。装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其他安全应用中。装置中的相应模块可以与电子设备中的模块相互配合以实现本申请实施例的方案。
在上文详细描述中提及的若干模块或单元,这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
下面参考图16,图16示出了适于用来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图,
如图16所示,计算机系统包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM1503中,还存储有系统的操作指令所需的各种程序和数据。CPU1501、ROM1502以及RAM1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505;包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本申请的实施例,上文参考流程图图2描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以为的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作指令。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连接表示的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作指令的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取模块、确定模块、调整模块、第一循环模块、第二循环模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一获取模块,还可以被描述为“获取预先存储的网络图中当前节点和当前节点的邻居节点列表,所述邻居节点列表包括至少一个邻居节点,所述当前节点作为随机游走序列的起始节点”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或多个程序,当上述程序被一个或者一个以上的处理器用来执行描述于本申请的网络图中节点搜索方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种网络图中节点搜索方法,其特征在于,包括:
获取预先存储的网络图中当前节点和当前节点的邻居节点列表,所述邻居节点列表包括至少一个邻居节点,所述当前节点作为随机游走序列的起始节点;
基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点;
若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整;
基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,直到得到所述新的采样节点接受作为所述当前节点的下一跳节点;
更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列。
2.根据权利要求1所述的网络图中节点搜索方法,其特征在于,所述基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,包括:
基于所述调整后的采样策略,确定调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比;
基于所述调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从所述邻居节点列表中确定所述当前节点的新的采样节点。
3.根据权利要求2所述的网络图中节点搜索方法,其特征在于,所述基于所述调整后的所述当前节点的各个邻居节点对应的采样有效面积与矩形总面积的占比,从所述邻居节点列表中确定所述当前节点的新的采样节点,包括:
获取所述当前节点的动态转移概率最大值,所述动态转移概率最大值用于确定所述当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比;
基于所述动态转移概率最大值确定判决阈值,所述判决阈值用于确定所述采样节点接受还是拒绝作为所述当前节点的下一跳节点;
在所述动态转移概率最大值确定的采样范围内随机选取一个概率数值;
在所述概率数值与所述动态转移概率最大值的差值大于等于所述判决阈值时,表示所述采样节点接受作为所述当前节点的下一跳节点;
在所述概率数值与所述动态转移概率最大值的差值小于所述判决阈值时,则基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点。
4.根据权利要求1所述的网络图中节点搜索方法,其特征在于,所述基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点,包括:
确定所述邻居节点列表中各个邻居节点的采样有效面积;
在所述当前节点的上一跳节点的采样有效面积存在超过预设阈值的待裁剪采样有效面积时,确定所述待裁剪采样有效面积的裁剪面积区域,所述裁剪面积区域是所述待裁剪采样有效面积中超过所述预设阈值的面积区域;
基于所述裁剪面积区域调整所述当前节点的动态转移概率最大值。
5.根据权利要求4所述的网络图中节点搜索方法,其特征在于,基于所述裁剪面积区域调整所述当前节点的动态转移概率最大值,包括:
获取所述邻居节点列表所包含的邻居节点数量;
根据所述裁剪面积区域和所述邻居节点数量调整所述当前节点的动态转移概率最大值。
6.根据权利要求1所述的网络图中节点搜索方法,其特征在于,若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整,包括:
获取所述采样节点对应的采样有效面积;
基于所述采样节点对应的采样有效面积,调整与所述当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比。
7.根据权利要求6所述的网络图中节点搜索方法,其特征在于,所述基于所述采样节点对应的采样有效面积,调整与所述当前节点的各个邻居节点的采样有效面积与矩形总面积之间的占比,包括:
基于所述采样节点对应的采样有效面积调整所述当前节点的动态转移概率最大值,所述动态转移概率最大值用于确定所述当前节点的邻居节点列表中各个邻居节点接受或拒绝作为当前节点的下一跳节点概率的占比。
8.根据权利要求7所述的网络图中节点搜索方法,其特征在于,所述基于所述采样节点对应的采样有效面积调整所述当前节点的动态转移概率最大值包括:
确定所述采样节点对应的采样有效面积;
获取所述邻居节点列表所包含的邻居节点数量;
基于所述邻居节点数量和所述采样有效面积调整所述当前节点的动态转移概率最大值。
9.根据权利要求1所述的网络图中节点搜索方法,其特征在于,若所述新的采样节点接受作为所述当前节点的下一跳节点,则更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列的终点。
10.一种网络图中节点搜索装置,其特征在于,包括:
第一获取模块,用于获取预先存储的网络图中当前节点和当前节点的邻居节点列表,所述邻居节点列表包括至少一个邻居节点,所述当前节点作为随机游走序列的起始节点;
确定模块,用于基于所述当前节点的采样策略,从所述邻居节点列表中确定所述当前节点的采样节点;
调整模块,用于若所述采样节点拒绝作为所述当前节点的下一跳节点,则对所述采样策略进行调整;
第一循环模块,用于基于调整后的采样策略,从所述邻居节点列表中确定所述当前节点的新的采样节点,直到得到所述新的采样节点接受作为所述当前节点的下一跳节点;
第二循环模块,用于更新所述当前节点,重复上述步骤,遍历所述网络图得到所述随机游走序列。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的网络图中节点搜索方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的网络图中节点搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438052.9A CN112559847A (zh) | 2020-12-10 | 2020-12-10 | 网络图中节点搜索方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438052.9A CN112559847A (zh) | 2020-12-10 | 2020-12-10 | 网络图中节点搜索方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559847A true CN112559847A (zh) | 2021-03-26 |
Family
ID=75060431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011438052.9A Pending CN112559847A (zh) | 2020-12-10 | 2020-12-10 | 网络图中节点搜索方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559847A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515674A (zh) * | 2021-06-10 | 2021-10-19 | 清华大学 | 时序图随机游走的采样方法及装置 |
CN113807457A (zh) * | 2021-09-26 | 2021-12-17 | 北京市商汤科技开发有限公司 | 确定路网表征信息的方法、装置、设备及存储介质 |
-
2020
- 2020-12-10 CN CN202011438052.9A patent/CN112559847A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515674A (zh) * | 2021-06-10 | 2021-10-19 | 清华大学 | 时序图随机游走的采样方法及装置 |
CN113515674B (zh) * | 2021-06-10 | 2022-10-25 | 清华大学 | 时序图随机游走的采样方法及装置 |
CN113807457A (zh) * | 2021-09-26 | 2021-12-17 | 北京市商汤科技开发有限公司 | 确定路网表征信息的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547618B2 (en) | Method and apparatus for setting access privilege, server and storage medium | |
CN110391938B (zh) | 用于部署服务的方法和装置 | |
CN110390493B (zh) | 任务管理方法、装置、存储介质及电子设备 | |
CN107729570B (zh) | 用于服务器的数据迁移方法和装置 | |
CN110601978B (zh) | 流量分发控制方法和装置 | |
CN110781373B (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN112559847A (zh) | 网络图中节点搜索方法、装置、电子设备和存储介质 | |
CN110795446A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN111209306A (zh) | 业务逻辑判断方法、装置、电子设备和存储介质 | |
CN110650209A (zh) | 实现负载均衡的方法和装置 | |
CN110856004B (zh) | 消息处理方法、装置、可读存储介质及电子设备 | |
CN112434620A (zh) | 场景文字识别方法、装置、设备和计算机可读介质 | |
CN111158881B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN112685481B (zh) | 一种数据处理方法和装置 | |
CN109862069B (zh) | 消息处理方法和装置 | |
CN111831448A (zh) | 请求的处理方法、装置和电子设备 | |
CN107819761B (zh) | 数据处理方法、装置及可读存储介质 | |
CN114579054A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN115604273A (zh) | 用于管理计算系统的方法、设备和程序产品 | |
CN112541548A (zh) | 关系网络的生成方法、装置、计算机设备及存储介质 | |
CN112130986A (zh) | 一种清理应用内存的方法、服务端及终端 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN114393583B (zh) | 通过机器人控制设备的方法及装置 | |
CN111582482B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN116561735B (zh) | 一种基于多认证源的互信认证方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40041362 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |