CN110659394B - 基于双向邻近度的推荐方法 - Google Patents
基于双向邻近度的推荐方法 Download PDFInfo
- Publication number
- CN110659394B CN110659394B CN201910711477.3A CN201910711477A CN110659394B CN 110659394 B CN110659394 B CN 110659394B CN 201910711477 A CN201910711477 A CN 201910711477A CN 110659394 B CN110659394 B CN 110659394B
- Authority
- CN
- China
- Prior art keywords
- backward
- node
- nodes
- matrix
- graph
- 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.)
- Active
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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
Abstract
本发明公开了一种基于双向邻近度的推荐方法,包括:将待推荐用户、用户及用户间的关系转换为图结构,计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用排名不低于最小阈值的值更新双向邻近度矩阵;根据图结构计算转置图结构;计算节点v′关于转置图上所有节点的个性化佩奇排名π(x′,v′),使用排名不低于最小阈值的值更新双向邻近度矩阵;对更新后的双向邻近度矩阵中的非零元素进行非线性化操作,并进行稀疏随机奇异值分解,得到图嵌入矩阵S和T,根据S和T,找到待推荐用户相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户。本发明提供的基于双向邻近度的推荐方法,降低了时间和空间复杂度,满足推荐系统的实时性要求。
Description
技术领域
本发明是关于推荐方法,特别是关于一种基于双向邻近度的推荐方法。
背景技术
随着互联网技术和社会化网络的发展,数据规模的爆炸式增长,推荐系统作为解决“信息过载”问题的有效方法,已经在电子商务、信息检索、社交网络、新闻推送、广告投放等多个领域得到了广泛应用。
推荐系统是根据用户需求、兴趣等,通过推荐算法从海量数据中挖掘出用户可能感兴趣的信息、服务、商品等,并将结果以个性化列表的形式推荐给用户。传统的推荐算法主要包括基于内容的推荐、基于协同过滤的推荐和混合推荐方法。随着网络技术的发展,基于图嵌入的推荐由于其简洁和灵活性得到了广泛重视。具体的,在社交推荐系统中,可以根据目标用户已有的好友推荐相似用户,也可以将好友及相似用户喜欢的商品推荐给目标用户,以扩展推荐系统的适用场景。
图嵌入(Graph Embedding)是一种将图数据(通常是高维稠密的矩阵)映射为低维稠密向量的过程,图中的两个节点越相似,它们的嵌入向量距离越近。图嵌入能够很好地解决图数据难以高效输入推荐算法的问题。
当前的图嵌入方法可以分为基于随机游走的方法和基于矩阵分解的方法。基于随机游走的方法通过不同策略生成随机游走路径,放入word2vec框架训练得到嵌入表示;基于矩阵分解的方法是以邻接矩阵、拉普拉斯矩阵、转移概率矩阵等形式表示节点间的邻近度,采用特征值分解、奇异值分解等方法分解邻近度矩阵得到嵌入表示。
为了方便具体问题的抽象和定义,我们将社交网络转化为图论中的图结构G=(V,E),其中,V、E分别表示图结构上的所有节点、边组成的集合,对应于实际社交网络中的用户群体和用户之间的关注关系。常用的邻近度度量有邻接关系、转移概率、个性化佩奇排名等。一个用户u同时具有“关注者”和“被关注者”两个身份,因此,需要为用户u训练两个嵌入向量和描述这两个不同的身份。则用户u关注用户v的可能性,即用户v相对于用户u的相似程度可以抽象为计算嵌入向量点积的问题。基于随机游走的图嵌入推荐方法不能保留有向图的出度分布特征,限制了推荐的准确度;基于矩阵分解的图嵌入推荐方法不能同时满足可扩展性和非线性性质,设n为图节点个数,d为嵌入空间维数,计算并分解相似度矩阵通常需要O(n2)的空间复杂度和O(n2d)的时间复杂度。
但是,基于此本申请的发明人发现,随着大数据时代的到来,现实生活中产生的图结构规模越来越大,比如上亿用户的微博、微信的社交网络等,采用现有方法不能很好地描述用户间的关注与被关注关系,同时很难在有效时间内训练大图上的嵌入表示,无法满足推荐系统的实时性需求。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种基于双向邻近度的推荐方法,其能够满足推荐系统的实时性需求。
为实现上述目的,本发明提供了一种基于双向邻近度的推荐方法,包括:将待推荐用户、用户及用户间的关系转换为图结构G,其中,所述图结构G中包括与所述用户对应的节点以及与所述用户间的关系对应的边,所述待推荐用户为所述图结构的源节点u,所述图结构G包括n个节点;在图结构G中,采用后向搜索算法计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用个性化佩奇排名不低于最小阈值πmin的值更新双向邻近度矩阵P中与x、v对应的元素,其中,x、v分别为图结构G中的任一节点;后向搜索算法为以1-α的概率随机走向当前节点的任一个入邻居节点,以α的概率停止在当前节点,0≤α≤1,α为随机游走衰减因子,双向邻近度矩阵P的初始值为n*n的全零矩阵;根据图结构G计算转置图结构GT;在转置图结构GT中,采用后向搜索算法计算v′关于图上所有节点的个性化佩奇排名π(x′,v′),使用个性化佩奇排名不低于最小阈值πmin的值更新所述双向邻近度矩阵中与x′、v′对应的元素,其中x′、v′分别为转置图结构GT中的任一节点,更新后的双向邻近度矩阵P用于表示节点间的相似度;对所述更新后的双向邻近度矩阵P中的非零元素进行非线性化操作;对非线性化操作后的双向邻近度矩阵P进行稀疏随机奇异值分解,得到图嵌入矩阵S和T,其中,S为用户作为待推荐用户的图嵌入矩阵,T为用户作为被推荐用户的图嵌入矩阵,S和T的维度为n*d;根据所述图嵌入矩阵S和T,计算除源节点u以外的所有节点与源节点u的相似度,找到与源节点u相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户。
在一优选的实施方式中,所述采用后向搜索算法计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用个性化佩奇排名不低于最小阈值πmin的值更新双向邻近度矩阵P中与x、v对应的元素包括:初始化图结构中任一节点x关于节点v的后向残余量r(x,v)和后向已确定值π(x,v);其中,后向残余量r(x,v)表示当前节点v可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值π(x,v)表示当前节点v关于节点x目前稳定的个性化佩奇排名值;判断节点x的后向残余量r(x,v)与后向搜索截止阈值rmax的关系,若节点的后向残余量r(x,v)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量和后向已确定值的更新;使x遍历图结构中的另一节点,重复判断节点x的后向残余量r(x,v)与后向搜索截止阈值的关系rmax,并对后向残余量r(x,v)、后向已确定值π(x,v)进行更新,直至x遍历图结构中的所有节点并且所有节点的后向残余量r(x,v)小于后向搜索截止阈值rmax;针对图结构中的所有节点,判断更新后的后向已确定值π(x,v)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(x,v)=π(x,v),否则舍弃该值,P(x,v)=0。
在一优选的实施方式中,所述初始化图结构中任一节点x关于节点v的后向残余量r(x,v)和后向已确定值π(x,v)包括:若x=v,则令后向残余量r(v,v)=1;若x≠v,令后向残余量r(x,v)=0;对于所有x,令x的后向已确定值π(x,v)=0。
在一优选的实施方式中,所述采用后向搜索算法进行后向残余量和后向已确定值的更新包括:将节点x的后向残余量的α倍转移给节点x的已确定值;将节点x的后向残余量的(1-α)倍转移给它的入邻居节点。
在一优选的实施方式中,所述采用后向搜索算法计算v′关于图上所有节点的个性化佩奇排名π(x′,v′),使用个性化佩奇排名不低于最小阈值πmin的值更新所述双向邻近度矩阵P中与x′、v′对应的元素包括:初始化转置图结构中任一节点x′关于点v′的后向残余量rT(x′,v′)和后向已确定值πT(x′,v′);其中,后向残余量rT(x′,v′)表示当前节点v′可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值πT(x′,v′)表示当前节点v′关于节点x′目前稳定的个性化佩奇排名值;判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,若节点的后向残余量rT(x′,v′)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量rT(x′,v′)和后向已确定值πT(x′,v′)的更新;使x′遍历转置图结构中的另一节点,重复判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,并对后向残余量rT(x′,v′)、后向已确定值πT(x′,v′)进行更新,直至x′遍历转置图结构中的所有节点并且所有节点的后向残余量rT(x′,v′)小于后向搜索截止阈值rmax;针对转置图结构中的所有节点,判断更新后的后向已确定值πT(x′,v′)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(v′,x′)=P(v′,x′)+πT(x′,v′),否则舍弃该值,P(v′,x′)不变。
在一优选的实施方式中,所述初始化转置图结构中任一节点x′关于点v′的后向残余量rT(x′,v′)和后向已确定值πT(x′,v′)包括:若x′=v′,则令后向残余量rT(v′,v′)=1,若x′≠v′,则令其后向残余量rT(x′,v′)=0;对于所有x′,令其后向已确定值πT(x′,v′)=0。
在一优选的实施方式中,所述最小个性化佩奇排名阈值为ε/2,其中,ε为误差参数,0<ε<1。
在一优选的实施方式中,所述对所述更新后的双向邻近度矩阵P中的非零元素进行非线性化操作包括:根据公式一对更新后的稀疏双向邻近度矩阵P中的非零元素进行非线性化操作,所述公式一为:
在一优选的实施方式中,对非线性化操作后的稀疏双向邻近度矩阵P进行稀疏随机奇异值分解,得到图嵌入矩阵S和T;对非线性化的稀疏双向邻近度矩阵P采用快速随机主成分分析方法进行矩阵分解;得到稀疏随机奇异值分解结果为[U,Σ,V],其中,U是n×d矩阵,V是n×d矩阵,Σ是d维对角矩阵,重构矩阵UΣVT是P的最优d维(1+δ)-近似;令和
在一优选的实施方式中,根据所述图嵌入矩阵S和T,计算除源节点u以外的所有节点与源节点u的相似度,找到与源节点u相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户包括:计算图结构中除源节点u以外的所有节点v的关于图嵌入矩阵S和T的嵌入表示点积其中为S的第u行向量,为T的第v行向量;在所有节点v的嵌入表示点积中选取值最大的k个;将k个节点对应的用户作为结果推荐给目标用户,其中,k个节点为v1~vk。
与现有技术相比,根据本发明的基于双向邻近度的推荐方法,可以在保证计算结果准确度和非线性性质的前提下,高效地计算邻近度矩阵及学习图嵌入表示,从而在有效时间内得到与待推荐用户相似度最高的k个用户作为推荐结果,降低了时间和空间复杂度,满足推荐系统的实时性要求。
附图说明
图1是根据本发明一实施方式的基于双向邻近度的推荐方法的流程图;
图2是根据本发明一实施方式的更新双向邻近度矩阵P的流程图;
图3是根据本发明一实施方式的再次更新双向邻近度矩阵P的流程图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
本实施例中,首先对双向邻近度进行简单介绍。
令图结构G=(V,E),V是图中的点集,其点数为n,E是图中的边集,边数为m。图嵌入的目标是对图中每个节点u训练一组嵌入向量和使得对于节点u和节点v,对应的嵌入向量点积尽可能地接近P(u,v),其中P(u,v)是算法预先指定的v关于u的邻近度度量,并且对图上任意节点x关于节点u的邻近度进行归一化操作,即∑x∈VP(u,x)=1,这一假设适用于任何基于随机游走的邻近度度量。令GT表示G的转置图,那么GT中有一条v到u的边当且仅当G中有一条u到v的边。定义v关于u的双向邻近度为P(u,v)+PT(v,u),其中PT(v,u)是转置图GT中u关于v的邻近度。基于双向邻近度的图嵌入的目标是训练嵌入向量和使得尽可能地接近P(u,v)+PT(v,u)。
尽管双向邻近度的概念适用于任何归一化的邻近度度量,本实施例选定个性化佩奇排名(Personalized PageRank)作为邻近度度量,个性化佩奇排名最初由LawrencePage、Sergey Brin等人在1999年提出,其定义如下:给定一个源点u∈V,一个衰减因子α,定义一个从源点u出发的依靠拓扑关系的随机游走,它的每一步要么以α的概率停在当前点上,或是以(1-α)的概率随机游走到当前点的任意一个出邻居节点上。则对于图中的所有点v∈V,从u到v的个性化佩奇排名PPR(u,v)等于一个随机游走从源点u出发停在v的概率。以矩阵形式计算个性化佩奇排名的公式为:
PPR(i+1)=(1-α)·PPR(i)·A+α·I
其中,PPR(i)表示第i次迭代得到的个性化佩奇排名矩阵,A是图G的转移概率矩阵,I是单位矩阵。
下面给出本发明选定个性化佩奇排名作为邻近度度量的理由。首先,个性化佩奇排名由于其对图结构的高维相似性的优秀描述能力,被广泛应用于图嵌入和推荐算法;其次,个性化佩奇排名与佩奇排名PR(v)具有如下关系:∑u∈VPPR(u,v)=nPR(v),在无标度图中,佩奇排名与节点的入度分布服从同样的幂律分布,即∑u∈VPPR(u,v)=nPR(v)~din(v),其中din(v)表示节点v在图G中的入度数,根据上述双向邻近度概念以及归一化性质, 其中表示转置图GT中点u的入度,根据转置图性质可知其中dout(u)表示节点u在图G中的出度,因此基于个性化佩奇排名的双向邻近度既可以保留有向图的入度分布特征,也可以保留有向图的出度分布特征。
个性化佩奇排名在个性化推荐领域有着重要应用,然而,由于个性化佩奇排名原始定义的迭代特性,对于有n个节点、m条边的图结构,其精确计算需要耗费O(n3)的时间复杂度和O(n2)的空间复杂度,如此高昂的时间和空间复杂度无法满足实际应用的需要。本实施例中,以误差ε近似计算个性化佩奇排名,同时保证对任意节点u最多有2/ε个非零项PPR(u,·),PPR(u,·)表示节点u关于图结构上任意节点的相似度。以误差ε近似计算个性化佩奇排名可以将时间复杂度降低到O(m/ε),而限制非零项个数可以保证近似度矩阵的稀疏性,降低空间复杂度,同时降低后续矩阵分解的时间复杂度。
如图1所示,其为根据本发明优选实施方式的基于双向邻近度的推荐方法的流程图,包括:步骤S1-S7。
在步骤S1中,将待推荐用户、用户及用户间的关系转换为图结构,其中,所述图结构中包括与所述用户对应的节点以及与所述用户间的关系对应的边,所述待推荐用户为所述图结构的源节点u,所述图结构包括n个节点;
本实施例的用户指的是平台上的所有注册用户,用户间的关系具体可以是用户间的关注关系。例如,Facebook上所有的注册好友以及好友关系网。
具体的,对于微博、Facebook、Instagram这类有关注关系的社交网络,我们将社交网络的用户对应到图结构上的节点,用户之间的关注关系对应到图结构上的边。具体来说,如果A用户关注了B用户,则在图结构上需建立一条由A用户节点到B用户节点的有向边。(例A—>B),这里,B是A的出邻居节点,A是B的入邻居节点,这条边是节点A的出边,是节点B的入边。我们将一个节点所拥有的出边的个数称为“出度”,将其所拥有的入边的个数称为“入度”。
对于微信、QQ这类有好友关系的社交网络,我们将社交网络上的用户对应到图节点,将好友关系对应到图结构上的边。具体来说,如果A用户和B用户之间存在好友关系(即A、B互为好友),则在图结构上建立一条由A用户节点到B用户节点的有向边和一条B用户节点到A用户节点的有向边。
在步骤S2中,在图结构G中,采用后向搜索算法计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用个性化佩奇排名不低于最小阈值πmi的值更新双向邻近度矩阵P中与x、v对应的元素,其中,x、v分别为图结构G中的任一节点;后向搜索算法为以1-α的概率随机走向当前节点的任一个入邻居节点,以α的概率停止在当前节点,0≤α≤1,α为随机游走衰减因子,可以取值为0.5、0.8、0.9等,双向邻近度矩阵P的初始值为n*n的全零矩阵;
最小个性化佩奇排名阈值πmin=ε/2,ε为误差参数,0<ε<1,保证求得的近似个性化佩奇排名与精确个性化佩奇排名的误差不超过ε;
在步骤S3中,根据图结构G计算转置图结构Gt。
在步骤S4中,在转置图结构GT中,采用后向搜索算法计算v′关于图上所有节点的个性化佩奇排名π(x′,v′),使用个性化佩奇排名不低于最小阈值πmin的值更新所述双向邻近度矩阵中与x′、v′对应的元素,其中x′、v′分别为转置图结构GT中的任一节点,更新后的双向邻近度矩阵P用于表示节点间的相似度;
由于步骤S2和步骤S4只保留不小于πmin=ε/2的值,以及个性化佩奇排名的归一化性质,因此得到的双向邻近度矩阵P是一个稀疏矩阵,非零元素项不超过4n/ε,n表示图结构中的节点数。
在步骤S5中,对所述更新后的双向邻近度矩阵P中的非零元素进行非线性化操作,具体的,可以根据公式一对更新后的稀疏双向邻近度矩阵P中的非零元素进行非线性化操作,所述公式一为:
式中,对数操作以10为底,由于步骤S2和步骤S4中保证了双向邻近度矩阵P中的元素不小于ε/2,因此取对数前执行2/ε·P可以保证非线性操作过后的P是非负的。
由于基于随机游走的图嵌入算法已被证明是隐含地对邻近度矩阵取对数来模拟softmax函数,以提高模型的预测和分类能力,因此本发明对双向邻近度矩阵也取对数,以提高模型的预测精度。
在步骤S6中,对非线性化操作后的双向邻近度矩阵P进行稀疏随机奇异值分解,得到图嵌入矩阵S和T,其中,S为用户作为待推荐用户的图嵌入矩阵也就是关注者嵌入矩阵,T为用户作为被推荐用户的图嵌入矩阵也就是被关注嵌入矩阵,S和T的维度为n*d,d是低维空间维度。
由于双向邻近度矩阵P具有稀疏性,因此这里采用一种稀疏矩阵分解方法——快速随机主成分分析,代替传统的矩阵分解方法,加快矩阵分解速度。
具体的,步骤S6可以包括:对非线性化的稀疏双向邻近度矩阵P采用快速随机主成分分析方法进行矩阵分解;得到稀疏随机奇异值分解结果为[U,Σ,V],其中,U是n×d矩阵,V是n×d矩阵,Σ是d维对角矩阵,重构矩阵UΣVT是P的最优d维(1+δ)-近似;令和
进一步地,可以通过以下步骤实现:生成高斯独立同分布矩阵Q;设定高斯消元迭代次数r,根据Q与(PTP)rQ有相同的奇异向量但(PTP)rQ的奇异值衰减速度更快的性质,对PTPQ执行r次LU分解,其中,用每次分解得到的左矩阵更新矩阵Q之后再进行下一次LU分解;对PTPQ执行特征值分解,用分解得到的左矩阵更新Q;对PQ执行特征值分解,分解结果为[U,Σ,V],令“关注者”嵌入矩阵令“被关注者”嵌入矩阵
在步骤S7中,根据所述图嵌入矩阵S和T,计算除源节点u以外的所有节点与源节点u的相似度,找到与源节点u相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户。
进一步地,S的第u行向量表示节点u作为待推荐用户,T的第v行向量表示节点v作为被推荐用户,其中v的取值范围是图结构中除u以外的所有节点;对于所有v的取值,计算节点v与源节点u的近似度,即计算它们的嵌入表示点积对求得的所有近似度值从大到小排序,选取值最大的k个,将它们对应的k个节点v1~vk作为结果推荐给目标用户。
由此,本实施例在保证计算结果准确度和非线性性质的前提下,高效地计算邻近度矩阵及学习图嵌入表示,从而在有效时间内得到与待推荐用户相似度最高的k个用户作为推荐结果,降低了时间和空间复杂度,满足推荐系统的实时性要求。
在一种实现方式中,如图2所示,其为根据本发明优选实施方式的更新双向邻近度矩阵P的流程图,步骤S2包括:步骤S21-S24。
在步骤S21中,初始化图结构G中任一节点x关于节点v的后向残余量r(x,v)和后向已确定值π(x,v);其中,后向残余量r(x,v)表示当前节点v可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值π(x,v)表示当前节点v关于节点x目前稳定的个性化佩奇排名值,x∈V。
具体包括:若x=v,则令后向残余量r(v,v)=1;若x≠v,令后向残余量r(x,v)=0;对于所有x,令x的后向已确定值π(x,v)=0。
在步骤S22中,判断节点x的后向残余量r(x,v)与后向搜索截止阈值rmax的关系,若节点的后向残余量r(x,v)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量和后向已确定值的更新。
具体的,若节点x的后向残余量大于后向搜索截止阈值,即r(x,v)>rmax,则将节点x的后向残余量的α倍转移给自己的已确定值,即:
π(x,v)=π(x,v)+α·r(x,v)
表示在当前节点x处以α的概率停止随机游走;将节点x的后向残余量的(1-α)倍转移给它的入邻居节点,每个入邻居获得的后向残余量与自身的出度成反比,即对于所有y∈I(x),其后向残余量更新为:
其中,dout(y)是y的入度,表示在当前节点x处以1-α的概率向其入边随机游走,入边分配到的个性化佩奇排名值与其起始节点的出度成反比;转移结束后节点x的后向残余量r(x,v)=0。
在步骤S23中,使x遍历图结构中的另一节点,重复判断节点x的后向残余量r(x,v)与后向搜索截止阈值的关系rmax,并对后向残余量r(x,v)、后向已确定值π(x,v)进行更新,直至x遍历图结构中的所有节点并且所有节点的后向残余量r(x,v)小于后向搜索截止阈值rmax。
在步骤S24中,针对图结构中的所有节点,判断更新后的后向已确定值π(x,v)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(x,v)=π(x,v),否则舍弃该值,P(x,v)=0。
在一种实现方式中,如图3所示,其为根据本发明优选实施方式的再次更新双向邻近度矩阵P的流程图,步骤S4包括:步骤S41-S44。
在步骤S41中,初始化转置图结构中任一节点x′关于点v′的后向残余量rT(x′,v′)和后向已确定值πT(x′,v′);其中,后向残余量rT(x′,v′)表示当前节点v可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值πT(x′,v′)表示当前节点v′关于节点x′目前稳定的个性化佩奇排名值;
具体的,若x′=v′,则令后向残余量rT(v′,v′)=1,若x′≠v′,则令其后向残余量rT(x′,v′)=0;对于所有x′,令其后向已确定值πT(x′,v′)=0。
在步骤S42中,判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,若节点的后向残余量rT(x,v′)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量rT(x′,v′)和后向已确定值πT(x′,v′)的更新;
具体的,对满足后向残余量rT(x,v′)大于后向搜索截止阈值条件的节点进行后向残余量和后向已确定值的更新,更新公式为:
πT(x,u)=πT(x,u)+α·rT(x,u)
在步骤S43中,使x′遍历转置图结构中的另一节点,重复判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,并对后向残余量rT(x′,v′)、后向已确定值πT(x′,v′)进行更新,直至x′遍历转置图结构中的所有节点并且所有节点的后向残余量rT(x′,v′)小于后向搜索截止阈值rmax。
在步骤S44中,针对转置图结构中的所有节点,判断更新后的后向已确定值ΠT(x′,v′)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(v′,x′)=P(v′,x′)+πT(x′,v′),否则舍弃该值,P(v′,x′)不变。
对于图上任意节点x,采用后向搜索算法得到的已确定值π(x,v)与精确个性化佩奇排名PPR(x,v)满足以下约束:
PPR(x,v)-rmax≤π(x,v)≤PPR(x,v)
结合个性化佩奇排名的归一化性质可知:
∑v∈VP(u,v)≤∑v∈Vπ(u,v)≤∑v∈VPPR(u,v)=
那么矩阵P中对每个源节点u最多有2/ε个非零项,矩阵P最多有2n/ε个非零元素,其中,n是图结构中的节点数。考虑到需要在转置图上再执行一次后向搜索算法以更新P,至多导致P中增加2n/ε个非零元素,即最终得到的近似双向邻近度矩阵P最多有4n/ε个非零元素,该数值远小于精确计算个性化佩奇排名矩阵的n2个非零元素,因此P是一个稀疏矩阵,大大降低了算法的空间复杂度。
迭代计算个性化佩奇排名矩阵的时间复杂度是O(n3),传统的截断奇异值分解以O(n2d)时间复杂度将n×n矩阵分解。本发明采用后向搜索算法近似计算个性化佩奇排名的时间复杂度为O(m/ε),其中m是图结构中的边数,ε是后向搜索误差参数,又由于要分解的双向邻近度矩阵P具有稀疏性,因此采用稀疏随机奇异值分解,时间复杂度为O(n/ε+nd2),其中n是图结构中的节点数,d是分解得到的低维空间维度。另外,后向搜索算法和稀疏随机奇异值分解可以采用并行化方法加快计算,进一步提高算法效率。因此,与传统方法相比,明显降低了时间复杂度。
进一步的,后向搜索算法中的误差参数ε和随机游走衰减因子α可以根据实际应用场景进行灵活调整,平衡算法的精准度与实时性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (8)
1.一种基于双向邻近度的推荐方法,其特征在于,包括:
将待推荐用户、用户及用户间的关系转换为图结构G,其中,所述图结构G中包括与所述用户对应的节点以及与所述用户间的关系对应的边,所述待推荐用户为所述图结构的源节点u,所述图结构G包括n个节点;
在图结构G中,采用后向搜索算法计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用个性化佩奇排名不低于最小阈值πmin的值更新双向邻近度矩阵P中与x、v对应的元素,其中,x、v分别为图结构G中的任一节点;后向搜索算法为以1-α的概率随机走向当前节点的任一个入邻居节点,以α的概率停止在当前节点,0≤α≤1,α为随机游走衰减因子,双向邻近度矩阵P的初始值为n*n的全零矩阵;
根据图结构G计算转置图结构GT;
在转置图结构GT中,采用后向搜索算法计算v′关于图上所有节点的个性化佩奇排名π(x′,v′),使用个性化佩奇排名不低于最小阈值πmin的值更新所述双向邻近度矩阵中与x′、v′对应的元素,其中x′、v′分别为转置图结构GT中的任一节点,更新后的双向邻近度矩阵P用于表示节点间的相似度;
对所述更新后的双向邻近度矩阵P中的非零元素进行非线性化操作;
对非线性化操作后的双向邻近度矩阵P进行稀疏随机奇异值分解,得到图嵌入矩阵S和T,其中,S为用户作为待推荐用户的图嵌入矩阵,T为用户作为被推荐用户的图嵌入矩阵,S和T的维度为n*d;以及
根据所述图嵌入矩阵S和T,计算除源节点u以外的所有节点与源节点u的相似度,找到与源节点u相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户;
所述采用后向搜索算法计算节点v关于图上所有节点的个性化佩奇排名π(x,v),使用个性化佩奇排名不低于最小阈值πmin的值更新双向邻近度矩阵P中与x、v对应的元素包括:
初始化图结构中任一节点x关于节点v的后向残余量r(x,v)和后向已确定值π′(x,v);其中,后向残余量r(x,v)表示节点v可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值π′(x,v)表示节点v关于节点x目前稳定的个性化佩奇排名值;
判断节点x的后向残余量r(x,v)与后向搜索截止阈值rmax的关系,若节点的后向残余量r(x,v)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量和后向已确定值的更新;使x遍历图结构中的另一节点,重复判断节点x的后向残余量r(x,v)与后向搜索截止阈值的关系rmax,并对后向残余量r(x,v)、后向已确定值π′(x,v)进行更新,直至x遍历图结构中的所有节点并且所有节点的后向残余量r(x,v)小于后向搜索截止阈值rmax;以及
针对图结构中的所有节点,判断更新后的后向已确定值π′(x,v)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(x,v)=π′(x,v),否则舍弃该值,P(x,v)=0;
所述采用后向搜索算法计算v′关于图上所有节点的个性化佩奇排名π(x′,v′),使用个性化佩奇排名不低于最小阈值πmin的值更新所述双向邻近度矩阵P中与x′、v′对应的元素包括:
初始化转置图结构中任一节点x′关于点v′的后向残余量rT(x′,v′)和后向已确定值π′T(x′,v′);其中,后向残余量rT(x′,v′)表示节点v′可以通过后向搜索算法分配给其他节点的个性化佩奇排名值,后向已确定值π′T(x′,v′)表示节点v′关于节点x′目前稳定的个性化佩奇排名值;
判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,若节点的后向残余量rT(x′,v′)大于后向搜索截止阈值rmax,则采用后向搜索算法进行后向残余量rT(x′,v′)和后向已确定值π′T(x′,v′)的更新;使x′遍历转置图结构中的另一节点,重复判断节点x′的后向残余量rT(x′,v′)与后向搜索截止阈值rmax的关系,并对后向残余量rT(x′,v′)、后向已确定值π′T(x′,v′)进行更新,直至x′遍历转置图结构中的所有节点并且所有节点的后向残余量rT(x′,v′)小于后向搜索截止阈值rmax;以及
针对转置图结构中的所有节点,判断更新后的后向已确定值πT(x′,v′)是否低于最小阈值πmin,若不低于最小阈值πmin,则对与该节点对应的双向邻近度矩阵P中的元素进行更新,P(v′,x′)=P(v′,x′)+π′T(x′,v′),否则舍弃该值,P(v′,x′)不变。
2.如权利要求1所述的推荐方法,其特征在于,所述初始化图结构中任一节点x关于节点v的后向残余量r(x,v)和后向已确定值π′(x,v)包括:
若x=v,则令后向残余量r(v,v)=1;
若x≠v,令后向残余量r(x,v)=0;
对于所有x,令x的后向已确定值π′(x,v)=0。
3.如权利要求1所述的推荐方法,其特征在于,所述采用后向搜索算法进行后向残余量和后向已确定值的更新包括:
将节点x的后向残余量的α倍转移给节点x的已确定值;
将节点x的后向残余量的(1-α)倍转移给它的入邻居节点。
4.如权利要求1所述的推荐方法,其特征在于,所述初始化转置图结构中任一节点x′关于点v′的后向残余量rT(x′,v′)和后向已确定值πT(x′,v′)包括:
若x′=v′,则令后向残余量rT(v′,v′)=1,
若x′≠v′,则令其后向残余量rT(x′,v′)=0;
对于所有x′,令其后向已确定值πT(x′,v′)=0。
5.如权利要求1所述的推荐方法,其特征在于,最小个性化佩奇排名阈值为ε/2,其中,ε为误差参数,0<ε<1。
6.如权利要求5所述的推荐方法,其特征在于,所述对所述更新后的双向邻近度矩阵P中的非零元素进行非线性化操作包括:
根据公式一对更新后的稀疏双向邻近度矩阵P中的非零元素进行非线性化操作,所述公式一为:
7.如权利要求1所述的推荐方法,其特征在于,对非线性化操作后的稀疏双向邻近度矩阵P进行稀疏随机奇异值分解,得到图嵌入矩阵S和T;
对非线性化的稀疏双向邻近度矩阵P采用快速随机主成分分析方法进行矩阵分解;
得到稀疏随机奇异值分解结果为[U,Σ,V],其中,U是n×d矩阵,V是n×d矩阵,Σ是d维对角矩阵,重构矩阵UΣVT是P的最优d维(1+δ)-近似;
令和
8.如权利要求1所述的推荐方法,其特征在于,根据所述图嵌入矩阵S和T,计算除源节点u以外的所有节点与源节点u的相似度,找到与源节点u相似度最高的k个节点,将这k个节点对应的用户作为结果推荐给目标用户包括:
计算图结构中除源节点u以外的所有节点的关于图嵌入矩阵S和T的嵌入表示点积其中为S的第u行向量,为T的第v行向量;
在所有节点v的嵌入表示点积中选取值最大的k个;以及
将k个节点对应的用户作为结果推荐给目标用户,其中,k个节点为v1~vk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910711477.3A CN110659394B (zh) | 2019-08-02 | 2019-08-02 | 基于双向邻近度的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910711477.3A CN110659394B (zh) | 2019-08-02 | 2019-08-02 | 基于双向邻近度的推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659394A CN110659394A (zh) | 2020-01-07 |
CN110659394B true CN110659394B (zh) | 2023-05-02 |
Family
ID=69036947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910711477.3A Active CN110659394B (zh) | 2019-08-02 | 2019-08-02 | 基于双向邻近度的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659394B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984832B (zh) * | 2020-08-21 | 2023-07-07 | 中国人民大学 | 一种基于个性化佩奇排名的好友推荐方法 |
CN112417633B (zh) * | 2020-12-01 | 2022-06-14 | 中国人民解放军国防科技大学 | 面向大规模网络的图布局方法以及装置 |
CN113378339B (zh) * | 2021-05-19 | 2023-01-31 | 西安邮电大学 | 社交网络节点的排序方法 |
CN116167802B (zh) * | 2023-03-24 | 2023-10-20 | 省广营销集团有限公司 | 一种基于电商大数据的广告投放方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776816A (zh) * | 2018-06-04 | 2018-11-09 | 中国人民大学 | 一种计算大图节点邻近度的TopPPR方法 |
CN108874877A (zh) * | 2018-05-03 | 2018-11-23 | 浙江大学城市学院 | 一种面向位置社交网络的基于图链接分析的兴趣点推荐方法 |
CN109471978A (zh) * | 2018-11-22 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 一种电子资源推荐方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464075B2 (en) * | 2004-01-05 | 2008-12-09 | Microsoft Corporation | Personalization of web page search rankings |
-
2019
- 2019-08-02 CN CN201910711477.3A patent/CN110659394B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874877A (zh) * | 2018-05-03 | 2018-11-23 | 浙江大学城市学院 | 一种面向位置社交网络的基于图链接分析的兴趣点推荐方法 |
CN108776816A (zh) * | 2018-06-04 | 2018-11-09 | 中国人民大学 | 一种计算大图节点邻近度的TopPPR方法 |
CN109471978A (zh) * | 2018-11-22 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 一种电子资源推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
An evaluation of SimRank and Personalized PageRank to build a recommender system for the Web of Data;Phuong Nguyen等;《WWW "15 Companion: Proceedings of the 24th International Conference on World Wide Web》;20150518;1477-1482 * |
基于强连通分量的个性化的网页排名高效算法;杨红果等;《计算机学报》;20170331;第40卷(第03期);584-600 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659394A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659394B (zh) | 基于双向邻近度的推荐方法 | |
WO2021204272A1 (zh) | 基于隐私保护确定目标业务模型 | |
Lou et al. | Glyph: Fast and accurately training deep neural networks on encrypted data | |
Wang et al. | Empirical risk minimization in non-interactive local differential privacy revisited | |
US20220076101A1 (en) | Object feature information acquisition, classification, and information pushing methods and apparatuses | |
CN110162692B (zh) | 用户标签确定方法、装置、计算机设备和存储介质 | |
Khajenezhad et al. | A distributed density estimation algorithm and its application to naive Bayes classification | |
CN111797319B (zh) | 推荐方法、装置、设备及存储介质 | |
Wu et al. | Attentive evolutionary generative adversarial network | |
Eswaran et al. | Higher-order label homogeneity and spreading in graphs | |
Kose et al. | Fair contrastive learning on graphs | |
Munikoti et al. | A general framework for quantifying aleatoric and epistemic uncertainty in graph neural networks | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
CN110674181A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN115238134A (zh) | 用于生成图数据结构的图向量表示的方法及装置 | |
CN115131605A (zh) | 一种基于自适应子图的结构感知图对比学习方法 | |
CN114547276A (zh) | 基于三通道图神经网络的会话推荐方法 | |
CN113807370A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN112085040A (zh) | 对象标签确定方法、装置和计算机设备 | |
Zou et al. | Long short-term memory based recurrent neural networks for collaborative filtering | |
Miao et al. | Embedding based cross-network user identity association technology | |
CN115391642B (zh) | 一种基于秘密共享的隐私查询方法及系统 | |
Itsumi et al. | Training With Cache: Specializing Object Detectors From Live Streams Without Overfitting | |
Morgan et al. | Evolving Loss Functions for Specific Image Augmentation Techniques | |
CN114818955A (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 |