一种基于多关系网络的推荐算法

文档序号:9396909阅读:362来源:国知局
一种基于多关系网络的推荐算法
【技术领域】
[0001] 本发明涉及信息处理的技术领域,尤其是指一种基于多关系网络的推荐算法。
【背景技术】
[0002] 构建推荐系统的技术方法有很多种,其中协同过滤推荐算法是目前应用最普遍也 是最基本的方法。但是传统的协同过滤算法遇到一些问题,比如冷启动问题、稀疏性问题 等。而研究发现,用户参与的社会网络为完成推荐任务提供了丰富的信息,不仅可以从一定 程度上缓解这些问题,而且可以获得更好的推荐效果。
[0003] 当前已有很多基于单关系社会网络的推荐算法,实验也证明社会网络信息的加入 有助于推荐效果的提升。然而,实际生活中,用户参与的社会网络是复杂多样的,所以本文 提出基于多关系社会网络的LinkTrust方法,期望能充分利用多个社会网络提供的信息, 来提高推荐的效果。

【发明内容】

[0004] 本发明的目的在于克服现有的推荐算法不能考虑用户多个社交关系的不足,提供 一种基于多关系网络的推荐算法,该算法不仅能提高推荐的效果,而且能改善冷启动的问 题。
[0005] 为实现上述目的,本发明所提供的技术方案为:一种基于多关系网络的推荐算法, 包括以下步骤:
[0006] 1)将用户数据集按照不同关系网络分类,将关系网络表示成矩阵;
[0007] 2)对每个单关系网络的用户,计算两两用户之间的综合链接距离;
[0008] 3)根据步骤2)得到两个用户之间在各个单关系网络的综合链接距离,计算用户 之间的Jaccard系数;
[0009] 4)根据用户之间的Jaccard系数,进行二值化处理,构建一个综合网络,最后根据 基于单关系网络的TrustWalker算法,完成最终的推荐任务。
[0010] 在步骤2)中,所述两两用户之间的综合链接距离,由以下步骤得到:
[0011] 2. 1)查找目标节点相邻的所有节点;
[0012] 2. 2)计算源节点与所述相邻节点之间的路径距离,结果加1 ;
[0013] 2. 3)考虑到多条路径对到达目标节点都会有贡献,所以综合考虑多条路径,可用 下面公式计算综合链接距离:
[0015] 其中,dlast为源节点与目标节点间的综合链接距离,dn表示源节点到目标节点各个 邻接节点路径距离加1。
[0016] 在步骤3)中,所述Jaccard系数由以下步骤得到:
[0017] 3. 1)对于单关系网络中的用户,根据步骤)得到所述综合链接距离,当综合链接 距离大于设定的阈值时,就可以判定用户在这一关系中是相似的;否则判定为不相似;
[0018] 3. 2)将用户之前的关系看作一种属性,对特定两个用户,根据在步骤2)中得到在 所有关系网络中的距离,与设定的阈值作比较后,得到两个用户相似的属性的个数;
[0019] 3.3)根据所述用户相似属性个数,由下述公式可以计算得到用户的Jaccard系 数:
[0021] 其中,N表示关系网络的个数,即用户的属性个数;M表示用户相似属性个数; Jacu,v表示节点u与节点V之间的Jaccard系数。
[0022] 在步骤4)中,所述Jaccard系数在范围[1,0]内,设定一个阈值,当大于所述阈值 时,表示两用户之间相似度较高,应该保留连接线;否则,表示两用户之间相似度较低,没有 连接线。
[0023] 本发明与现有技术相比,具有如下优点与有益效果:
[0024] 本发明结合用户的实际,充分利用其在多个社交关系网络中的信息,改善推荐算 法过程中的冷启动问题,并提高最后的推荐效果。
【附图说明】
[0025] 图Ia为用户之间的链接路径之一。
[0026] 图Ib为用户之间的链接路径之二。
[0027] 图Ic为用户之间的链接路径之三。
[0028] 图Id为用户之间的链接路径之四。
【具体实施方式】
[0029] 下面结合具体实施例对本发明作进一步说明。
[0030] 本发明所述的基于多关系网络的推荐算法,包括以下步骤:
[0031] 1)将用户数据集按照不同关系网络分类,将关系网络表示成矩阵。在本实施例中 具体是对用户的数据进行建模,得到多个关系网络,单个关系网络由矩阵表示为Mn,共有N 个单关系网络。
[0032] 2)对每个单关系网络的用户,计算两两用户之间的综合链接距离,其中,用户是作 为关系网络中的节点,用户之间的关系作为连线,就可以将关系网络以图的形式表示出来, 比如要找从u到V之间的距离,由下面的步骤得到:
[0033] 2. 1)找到与目标节点V相邻的节点的集合vnearby ;
[0034] 2. 2)找到u与vnearby中的节点的最短距离du vn,那u到V的距离公式就是du V =du vn+l
[0035] 下面结合附图Ia至ld,对获取用户间距离做进一步的说明。
[0036] 在某个关系网络里,用户之间的链接可能有一条或者多条复杂情况,所以计算出 最终可用的链接距离。以两个用户u和V为例来讲,考察从u到V的链接情况,可能有图Ia 至Id所示的几种情况。
[0037] 以下对每个情况查找从u到v的链接路径时,有一些说明:
[0038] ①为方便说明情况,图中的每条链接是双向的,其实是适用于有向图的,也就是说 从U到V的链接路径和从V到U的链接路径是不一样的;
[0039] ②不会重复经过目标节点V,也就是说只要找到V就结束,因为即使再往下走也没 有意义;
[0040] ③不会走重复的边,比如从节点a走到节点b,之后再从节点b走到节点a,这对路 径的考察是多余的。
[0041] 图Ia所示情况:
[0042] 只有一条路径u->i->v,u和V之间的链接距离就是2,也即最终链接距离。
[0043] 图Ib所示情况:
[0044] 有两条路径:① u->i->v,②u->k->W->v,链接距离分别是2和3。对于这种简单 的多条路径情况,不是只选择其中最短的一条或者其他某一条作为最终结果,而是都考虑。
[0045] 原因:比较从图Ia的情况过渡到图Ib的情况,多了第二条路径u->k->w_>v,形式 上多出的一条路径表明u可以通过多一条路到达V,而从相似性角度可以认为多出的一条 路径使得u和V之间的相似性在第一条路径u->i->v表征的程度上增强了。实际生活中, 一个人和另一个人共同的朋友或者说相似的朋友越多,则表明他们的相似性就越高,这里 是同样的道理。所以,在计算最终链接距离时,这两条路径都有贡献。
[0046] 图Ic所示情况:
[0047] 也有两条路径:① u->i->h_>v,②u->k->w->h->v,链接距离分别是3和4。和图 Ib不同的是,这两条路径最后都通过节点h到达V。对于这种情况,我们只考虑第一条最短 的路径。
[0048] 原因:按照之前讲到的思路,用链接距离度量相似性,那么除去V不看,剩下的路 径①②u->k->w->h实际上表征的是u和h之间的距尚,也就是u和h之间的相 似性,如果最终计算发现u和h之间的相似性很高,而h和V之间的相似性很低,这时不能 表明u和V之间的相似性是高还是低。如果① u->i->h->v,②u->k->w->h->v两条
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1