推荐方法及装置与流程

文档序号:15935214发布日期:2018-11-14 02:16阅读:133来源:国知局

本公开涉及计算机网络应用技术领域,尤其涉及一种推荐方法及装置。

背景技术

网络所带来的便捷的信息传递和信息服务催生了大量的网络信息。面对如此众多的信息,用户无法快速获取自己需要的内容,如何利用这些数据以提高运营、广告投放效率成为研究的热点,根据用户的行为、兴趣推荐用户需要的内容,被越来越多的行业所关注。

相关技术中,基于二分图(用户、项目(item))的推荐算法被广泛应用于互联网领域,向用户推荐其可能感兴趣的信息。基于二分图的推荐算法对海量数据信息的挖掘广度和深度受限,不能更好的满足用户的需求。



技术实现要素:

有鉴于此,本公开提出了一种推荐方法,提高推荐的准确性,实现个性化推荐,提高用户体验。

根据本公开的一方面,提供了一种推荐方法,包括:基于用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合;根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果;根据资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。

根据本公开的另一方面,提供了一种推荐装置,包括:构建模块,用于基于用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合;资源分配模块,用于根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果;推荐模块,根据资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。

根据本公开的另一方面,提供了一种推荐装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述方法。

通过引入标签,基于用户数据构建完全三部图保留了所有节点集之间的初始连接关系,并根据所述初始连接关系以及分配的初始资源进行资源分配获得资源分配结果,利用所述资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。根据本公开上述推荐方法和装置可以提高推荐的准确性,实现个性化推荐,提高用户体验。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的推荐方法的流程图。

图2示出根据本公开一示例的各节点集之间节点连接关系示意图。

图3a-图3d示出根据本公开一示例的资源分配示意图。

图4示出根据本公开一实施例的推荐方法的流程图。

图5示出根据本公开一实施例的推荐方法的流程图。

图6示出根据本公开一示例的推荐方法的流程图。

图7示出根据本公开一实施例的推荐装置的框图。

图8示出根据本公开一实施例的推荐装置的框图。

图9示出根据本公开一实施例的推荐装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

实施例1

图1示出根据本公开一实施例的推荐方法的流程图,该方法可以应用于服务器等。如图1所示,该方法包括:

步骤s11,基于用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合。

服务器可以通过终端获得用户数据,所述用户数据可以包括用户节点集、项目节点集、标签节点集以及任意两个节点集之间的连接关系。例如,服务器可以通过终端获取用户的账户信息作为用户节点集中的节点,将用户选购过的物品、观看过的视频或者听过的音乐等作为项目节点集中的节点,将用户对项目添加的标签(例如,用户对视频标注的“搞笑”、对音乐标注的“安静”等)或者项目属性使项目所具有的标签(例如,微喇牛仔裤中的“微喇”)等作为标签节点集中的节点;服务器还可以通过终端获取任意两个节点集之间的连接关系,以视频为例,连接关系可以包括用户“观看过”某视频、用户给某视频“添加过”标签或者某视频“带有”标签等。

服务器可以基于获得的用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合。例如,u={u1,u2,...un}、i={i1,i2,...im}、t={t1,t2,...tp},其中,u1,u2,...un是用户节点,i1,i2,...im是项目节点,t1,t2,...tp是标签节点。

在一种可能的实施方式中,所述初始连接关系集合包括:集合aui,ait和aut。集合aui表示用户节点集与项目节点集之间的初始连接关系集合,例如,用户ui选择过项目ij,则集合aui中对应的元素aij=1,否则,aij=0;集合ait表示项目节点集与标签节点集之间的初始连接关系集合,例如,用户对项目ii添加过标签tj,则集合ait中对应的元素bij=1,否则,bij=0;集合aut表示用户节点集与标签节点集之间的初始连接关系集合,例如,用户ui对项目添加过标签tj,则集合aut中对应的元素cij=1,否则,cij=0。

图2示出根据本公开一示例的各节点集之间节点连接关系示意图。如图2所示,三部图中的项目可以具体为物品,可以通过连接的边表示连接关系集合,例如:

步骤s12,根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果。

所述初始资源可以是指扩散或者传导的起始点的节点集具有的任何能够代表其推荐能力的资源,也可以理解为能量或者热量等,例如,对于某一特定用户而言,用户购买过某商品,则该商品对应的资源可以分配为1,用户未购买过某商品,则该商品对应的资源可以分配为0。可以采用相关技术中的扩散算法或者热传导算法等,根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果。

图3a-图3d示出根据本公开一示例的资源分配示意图,如图3a所示,以扩散算法为例进行说明,考虑为用户(例如,购物者)u1推荐商品,例如,在物品-用户-标签-物品方向。该用户购买过商品i1、i3和i5,那么,物品i1-i5的初始资源如图3a所示。

对于扩散过程,首先在物品-用户方向,每一个商品把自己的资源平均分给所有购买过它的用户,用户的资源则是从所有商品所得到的资源的总和,如图3b所示,用户u1的资源为3/2,用户u2的资源为1/2,用户u3的资源为1。

在用户-标签方向,每一个用户把自己的资源平均分给所有标注过的标签,标签的资源则是从所有用户所得到的资源的总和,如图3c所示,标签t1的资源为3/4,标签t2的资源为1/2,标签t3的资源为3/2,标签t4的资源为1/4。

在标签-物品方向,每一个标签把自己的资源平均分给所有带有该标签的物品,物品的资源则是从所有标签所得到的资源的总和,如图3d所示,物品i1的资源为5/8,物品i2的资源为7/8,物品i3的资源为3/8,物品i4的资源为5/8,物品i5的资源为1/2。

根据以上的资源分配过程可以获得资源分配的结果。需要说明的是,尽管以购物过程、扩散算法以及物品-用户-标签-物品方向作为示例介绍了推荐方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定资源分配算法、分配的方向等,本公开对此不作限定。

步骤s13,根据资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。

仍然以上述示例为例,可以根据资源分配结果中所有物品对应的资源值对物品进行排序,向用户u1推荐排序靠前的一个或几个物品,将推荐的物品发送给用户u1的终端进行显示,可以以列表的方式显示。比如说,可以向用户u1推荐物品i2、物品i4等,将物品i2和i4的信息以列表的方式发送给用户u1的终端进行显示。

相比于相关技术中基于二分图的推荐算法,本公开上述实施例通过引入标签,并基于用户数据构建完全三部图保留了所有节点集之间的初始连接关系,并根据所述初始连接关系以及分配的初始资源进行资源分配获得资源分配结果,利用所述资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。根据本公开上述推荐方法可以提高推荐的准确性,实现个性化推荐,提高用户体验。

标签为一种无层次化结构的,用来描述信息、表明物品语义的关键词,在标签系统中,标签由用户协同作用产生,是集体智慧的体现,于此同时,标签能够促进相似用户群体的产生,对于使用相同标签的用户,他们的兴趣偏好趋于相近,将其引入个性化推荐方法有利于更好的描述和分析用户兴趣,从而更好的进行个性化推荐。

图4示出根据本公开一实施例的推荐方法的流程图,如图4所示,该方法还包括:

步骤s14,根据连接关系发生的时间和次数确定各节点集之间的权重值集合w;

步骤s15,根据所述权重值集合w和初始连接关系集合确定加权连接关系集合。

根据连接关系发生的时间和次数确定各节点集之间的权重值集合,并根据权重值集合和初始连接关系集合得到加权连接关系集合,加权连接关系集合反映了用户兴趣随时间的变化,使得当前推荐的结果更具有参考价值。根据本公开上述实施例的推荐方法可以动态调整推荐的结果,提高推荐准确性,提高用户体验。

用户的兴趣并不是一成不变的,当用户兴趣发生改变时,相关技术不能及时反应,导致推荐效果不好,无法满足用户需求。

要对用户进行个性化的推荐,就必须对用户兴趣偏好信息进行捕捉,用户的兴趣偏好会随着时间推移产生变化,若将用户兴趣偏好当成固定不变的话,则无法反映用户的真实兴趣。因此,在模型中加入用户兴趣的动态迁移,可以将更合适的物品准确推荐给用户。时间效应的体现是,例如,用户最近添加的标签能够反映其当前最感兴趣的内容,而物品最近被添加的标签也可以更恰当地反映其内容。因此,可以使得发生时间距离当前时间更近的连接关系对权重值的影响更大。

在一种可能的实施方式中,可以根据连接关系发生的时间确定用户兴趣的变化,例如,可以通过连接关系发生时间来区分用户已有行为的推荐价值大小,越近的用户行为表示用户最近感兴趣的内容,能够贡献更多的推荐价值,越早的用户行为表示用户之前关注过但最近不太感兴趣的内容,其贡献较少的推荐价值。另外,由于连接关系发生的次数也可以反应用户兴趣,当连接关系发生的次数不止一次时,还可以综合连接关系发生的时间和次数确定用户兴趣的变化,对完全三部图中的初始连接关系集合进行加权以得到加权连接关系集合。

具体地,可以根据连接关系发生的时间和次数确定各节点集之间的权重值集合w,权重值集合w可以包括:wui、wit和wut。其中,wui表示用户节点集与项目节点集之间的权重值集合,wit表示项目节点集与标签节点集之间的权重值集合,wut表示用户节点集与标签节点集之间的权重值集合。

在一种可能的实施方式中,可以根据以下公式(1)确定各节点集之间的权重值集合:

其中,wij为第一节点集的第i个节点与第二节点集的第j个节点之间的权重值,t为当前时间,k为连接关系发生的次数,tij,s为第一节点集的第i个节点与第二节点集的第j个节点的第s次连接关系发生的时间,w0表示权重阈值,s为大于等于1、小于等于k的自然数,第一节点集和第二节点集可以是用户节点集、项目节点集和标签节点集中的任意两个节点集。

根据以上公式(1)可知,连接关系发生的时间越靠近当前时间,越小,越大,对应的权重值wij也就越大;连接关系发生的次数越多,k越大,则对应的权重值wij也就越大。权重值越大,节点之间连接强度越大,表明兴趣越强。

w0可以根据项目的生产时间、制作商(例如,生产商、制片人等)、经营商等因素确定,例如,对于视频来说,以项目的生产时间为例,最新上映的视频对w0值贡献越大、反之则越小;以制作商为例,知名度越高的制作商制作的视频对w0值贡献越大、反之则越小。以上仅仅是为了举例说明w0值的确定方式,本领域技术人员可以根据实际的应用场景及需求具体确定w0的值,本公开对此不作限定。

根据上文可知所述初始连接关系集合可以包括:集合aui、ait和aut。那么根据权重值集合w和初始连接关系集合确定加权连接关系集合,可以根据以下公式确定加权连接关系集合:

bui=aui×wui,bit=ait×wit,but=aut×wut。

其中,集合bui表示用户节点集与项目节点集之间的加权连接关系集合,集合bit表示项目节点集与标签节点集之间的加权连接关系集合,集合but表示用户节点集与标签节点集之间的加权连接关系集合。

举例来说,集合bui中的元素dij=aij*w1ij,其中w1ij为集合wui中的元素。如图2所示,

集合bit中的元素eij=bij*w2ij,其中w2ij为集合wit中的元素,集合but中的元素dij=cij*w3ij,其中w3ij为集合wut中的元素。加权连接关系集合考虑了用户兴趣迁移,能够更好的反映用户、项目、标签三者的关系。

如图4所示,根据以上实施方式可知,步骤s12,根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果,具体可以包括:

步骤s121,根据初始资源以及加权连接关系集合进行资源分配获得资源分配结果。例如,根据初始资源以及加权连接关系集合,可以基于扩散算法或热传导算法进行资源分配获得资源分配结果,还可以基于热传导算法进行资源分配获得资源分配结果,本公开对此不作限定。

具体分配的方式可以参见以上示例,不再赘述。

图5示出根据本公开一实施例的推荐方法的流程图,如图5所示,根据初始资源以及加权连接关系集合进行资源分配获得资源分配结果,可以包括:

步骤s1211,根据初始资源以及加权连接关系集合,确定第一方向的第一资源分配结果。

步骤s1212,根据初始资源以及加权连接关系集合,确定第二方向的第二资源分配结果。

举例来说,所述第一方向可以为物品-用户-标签-物品方向,所述第二方向可以为物品-标签-用户-物品方向,或者,也可以所述第一方向为物品-标签-用户-物品方向,所述第二方向为物品-用户-标签-物品方向。第一方向和第二方向也可以是本领域技术人员根据需要选择的其他方向,本公开对此不做限制。

步骤s1211和步骤s1212的执行顺序不作限定,可以同时执行、也可以先执行其中一个再执行另一个。或者,也可以只执行步骤s1211或步骤s1212中的一个,仅根据初始资源以及加权连接关系集合确定一个方向的资源分配结果,本公开对此不作限定。

可基于相关技术中的扩散算法、热传导算法等确定第一方向、第二方向的资源分配结果,举例来说,以扩散算法为例,可以根据以下公式(2)确定第一方向的第一资源分配结果:

其中,rs是针对某一用户对项目分配的初始资源向量中项目is对应的初始资源,n、m、p分别对应用户节点、项目节点和标签节点的数目。

表示项目is邻接的用户数量,即物品is在用户-项目二分图中具有连接边的用户数量,dis是用户-项目连接关系矩阵bui中用户ui与物品is对应的元素,表示在项目-用户方向,每一个项目把自己的资源平均分给所有与之具有连接关系的用户,可以得到用户节点ui对应的资源。

同理,表示用户ui在标签-用户二分图中具有连接边的标签数量,fli是标签-用户连接关系矩阵but中用户ui与标签tl对应的元素,表示在用户-标签方向,每一个用户把自己的资源平均分给所有标注过的标签,可以得到标签节点tl对应的资源。

同理,表示标签tl在项目-标签二分图中具有连接边的物品数量,ejl是项目-标签连接关系矩阵bit中项目is与标签tl对应的元素,表示在标签-项目方向,每一个标签把自己的资源平均分给所有带有该标签的项目,可以得到项目节点ij对应的资源,j=1~m。

根据以上公式(2)可以基于扩散算法确定第一方向上进行资源分类后的每一项目节点对应的资源,进而得到第一资源分配结果,所述第一资源分配结果可以为基于扩算算法分配后的项目节点集对应的资源向量r1。

可以根据以下公式(3)确定第二方向的第二资源分配结果:

具体过程可以参见第一方向分配的过程,不再赘述。

根据以上公式(3)可以基于扩散算法确定第二方向上进行资源分类后的每一项目节点对应的资源,进而得到第二资源分配结果,所述第二资源分配结果可以为基于扩算算法分配后的项目节点集对应的资源向量r2。

根据资源分配结果生成推荐结果可以是,按照资源向量(r1或r2)中对应元素的大小进行排序,排除用户已经选择过的项目(也可以不排除),得到最终的推荐结果,最终分配到的资源越多,说明用户感兴趣程度越大,可以将相应的项目推荐给用户。

以购物过程为例,以第一方向:物品-用户-标签-物品进行资源分配可以表示通过寻找购买相同物品的用户所青睐的标签对应的物品来实现物品推荐,比如说,用户1和用户2都购买过同一电饭煲,用户1还购买了某热水壶,可以向用户2推荐用户1购买过的热水壶;而以第二方向:物品-标签-用户-物品进行资源分配可以表示通过寻找青睐物品对应标签的用户所青睐的其他标签对应的物品来实现物品推荐,比如说,用户1和用户2都青睐某一物品对应的标签,用户1还青睐其他标签,将用户1青睐的其他标签所对应的物品推荐给用户2。还可以是其他的方向,例如,以用户-物品-标签-用户方向进行资源分配可以表示通过被相同用户购买过的物品所对应的标签被其他用户标注过来实现用户的推荐,例如,向用户1推荐对用户1购买过的物品对应的标签标注过的其他用户,“用户x与你喜欢相同的物品,加为好友”等。因此,进行资源分配的方向不同也就具有不同的实际意义。

在一种可能的实施方式中,根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果,也可以包括:

根据初始资源以及初始连接关系集合,确定第一方向的第一资源分配结果;

根据初始资源以及初始连接关系集合,确定第二方向的第二资源分配结果。

可以根据第一资源分配结果和第二资源分配结果生成推荐结果。

例如,仍然可以基于扩散算法或热传导算法等进行资源分配,具体的资源分配过程可以参见上文中的描述,不再赘述。

如图5所示,步骤s13,根据资源分配结果生成推荐结果,可以包括:

步骤s131,根据第一资源分类结果和第二资源分配结果生成推荐结果。

举例来说,经过上述两个方向的资源分配后,可以获得两个资源向量r1和r2(第一资源分类结果和第二资源分配结果),通过上文描述可知,可以根据获得的资源向量r1或r2(第一资源分类结果或第二资源分配结果)直接向用户推荐项目。为了进一步提高推荐的准确性,还可以综合考虑第一资源分类结果和第二资源分配结果向用户推荐项目。

举例来说,可以根据一下公式(4)生成推荐结果:

r*=λ×r1+(1-λ)×r2,(4)

其中λ∈[0,1],当λ=0时,最终按照物品-标签-用户-物品方向进行扩散得到的资源向量r2作为推荐结果,而当λ=1时,最终按照物品-用户-标签-物品方向进行扩散得到的资源向量r1作为推荐结果。λ的值可以根据应用的场景或实际需求等选取,本公开不作限定。

根据本公开上述实施例推荐方法,可以通过调节λ的取值来调节两个方向资源分配所占比例,根据推荐方法应用场景的不同或者推荐的需求等进行更准确、有效的推荐,提高用户体验。

图6示出根据本公开一示例的推荐方法的流程图。如图6所示,首先,可以对数据进行预处理,例如,去除无效、重复的数据等;其次,构建加权的用户-项目-标签三部图模型,具体可以为:基于用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合;根据连接关系发生的时间和次数确定各节点集之间的权重值集合w;根据所述权重值集合和初始连接关系集合确定加权连接关系集合;然后,可以根据确定的方向进行初始资源,具体为根据某一节点集中的某一节点确定初始资源分配值;然后,根据分配的初始资源以及加权连接关系集合进行资源重分配获得资源分配结果;最后,根据资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。

实施例2

图7示出根据本公开一实施例的推荐装置的框图,该装置可以应用于服务器等。如图7所示,该装置包括:构建模块71、资源分配模块72以及推荐结果生成模块73。

构建模块71,用于基于用户数据构建完全三部图g(v,e),其中,v=(u,i,t),u为用户节点集、i为项目节点集、t为标签节点集,e为用户节点集、项目节点集和标签节点集中任意两个节点集之间的初始连接关系集合;

资源分配模块72,用于根据初始资源以及初始连接关系集合进行资源分配获得资源分配结果;

推荐模块73,根据资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。

通过引入标签,基于用户数据构建完全三部图保留了所有节点集之间的初始连接关系,并根据所述初始连接关系以及分配的初始资源进行资源分配获得资源分配结果,利用所述资源分配结果生成推荐结果并将所述推荐结果发送给终端设备进行显示。根据本公开上述推荐装置可以提高推荐的准确性,实现个性化推荐,提高用户体验。

图8示出根据本公开一实施例的推荐装置的框图,如图8所示,该装置还包括:权重确定模块74以及加权模块75。

权重确定模块74,用于根据连接关系发生的时间和次数确定各节点集之间的权重值集合w;

加权模块75,用于根据所述权重值集合w和初始连接关系集合确定加权连接关系集合;

在一种可能的实施方式中,所述推荐模块73包括:第一生成单元731。

第一生成单元731,用于根据初始资源以及加权连接关系集合进行资源分配获得资源分配结果。

在一种可能的实施方式中,所述初始连接关系集合包括:集合aui,ait和aut,所述加权连接关系结合包括:集合bui,bit和but,

所述加权模块75,包括:加权单元751。

加权单元751,用于根据以下公式确定加权连接关系集合:

bui=aui×wui,bit=ait×wit,but=aut×wut,

集合aui表示用户节点集与项目节点集之间的初始连接关系集合,集合ait表示项目节点集与标签节点集之间的初始连接关系集合,集合aut表示用户节点集与标签节点集之间的初始连接关系集合;

wui表示用户节点集与项目节点集之间的权重值集合,wit表示项目节点集与标签节点集之间的权重值集合,wut表示用户节点集与标签节点集之间的权重值集合。

在一种可能的实施方式中,所述权重确定模块74包括:权重确定单元741。

权重确定单元741,用于根据以下公式确定各节点集之间的权重值集合,

其中,wij为第一节点集的第i个节点与第二节点集的第j个节点之间的权重值,t为当前时间,k为连接关系发生的次数,tij,s为第一节点集的第i个节点与第二节点集的第j个节点的每次连接关系发生的时间,w0表示权重阈值,s为大于等于1、小于等于k的自然数,第一节点集和第二节点集是所述用户节点集、所述项目节点集和所述标签节点集中的任意两个。

在一种可能的实施方式中,所述资源分配模块72包括:第一分配单元721。

第一分配单元721,用于根据初始资源以及加权连接关系集合,基于扩散算法或热传导算法进行资源分配获得资源分配结果。

在一种可能的实施方式中,所述资源分配模块72包括:第一确定单元722和第二确定单元723。

第一确定单元722,用于根据初始资源以及加权连接关系集合,确定第一方向的第一资源分配结果;

第二确定单元723,用于根据初始资源以及加权连接关系集合,确定第二方向的第二资源分配结果;

所述推荐模块73包括:第二生成单元732。

第二生成单元732,用于根据第一资源分配结果和第二资源分配结果生成推荐结果。

在一种可能的实施方式中,所述资源分配模块72包括:第三确定单元724和第四确定单元725。

第三确定单元724,用于根据初始资源以及初始连接关系集合,确定第一方向的第一资源分配结果;

第四确定单元725,用于根据初始资源以及初始连接关系集合,确定第二方向的第二资源分配结果,

所述推荐模块73包括:第三生成单元733。

第三生成单元733,用于根据第一资源分配结果和第二资源分配结果生成推荐结果。

在一种可能的实施方式中,所述第一方向为:物品-用户-标签-物品方向;所述第二方向为:物品-标签-用户-物品方向。

实施例3

图9是根据一示例性实施例示出的一种推荐装置1900的框图。例如,装置1900可以被提供为一服务器。参照图9,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1