基于图的模型( g r a p h − b a s e d m o d e l graph-based model graph−basedmodel)是推荐系统中的重要内容。在研究基于图的模型之前,首先需要将用户行为数据表示成图的形式。这里我们将用户行为数据用二分图表示,例如用户数据是由一系列的二元组(也可以使用列表)组成,其中每个元组 ( u , i ) (u,i) (u,i) 表示用户 u u u 对物品 i i i 产生过行为。下图为 A A A, B B B, C C C 用户感兴趣的音乐:
产生的二分图模型如下:
将用户行为表示为二分图模型后,下面的任务就是在二分图上给用户进行个性化推荐。如果将个性化推荐算法放到二分图模型上,那么给用户 u u u 推荐物品的任务就可以转化为度量用户顶点 v u v_u vu 和与 v u v_u vu 没有边直接相连的物品节点在图上的相关性,相关性越高的物品在推荐列表中的权重就越高。
度量图中两个顶点之间相关性的方法很多,但一般来说图中顶点的相关性主要取决于下面3个因素:
1. 两个顶点之间的路径数;
2. 两个顶点之间路径的长度;
3. 两个顶点之间的路径经过的顶点。
而相关性高的一对顶点一般具有如下特征:
1. 两个顶点之间有很多路径相连;
2. 连接两个顶点之间的路径长度都比较短;
3. 连接两个顶点之间的路径不会经过出度比较大的顶点。
我们可以举个例子来说明,如上图,用户 A A A 没有对《故乡的原风景》《偷功》有直接表达喜好,但是可以通过 { A , 英 雄 的 黎 明 , B , 故 乡 的 原 风 景 } \{A, 英雄的黎明, B, 故乡的原风景\} { A,英雄的黎明,B,故乡的原风景}, { A , 最 后 的 莫 西 干 人 , B , 故 乡 的 原 风 景 } \{A, 最后的莫西干人, B, 故乡的原风景\} { A,最后的莫西干人,B,故乡的原风景} 两条路径为 3 3 3 的路径对《故乡的原风景》产生联系,同样也可以通过 { A , 最 后 的 莫 西 干 人 , C , 偷 功 } \{A, 最后的莫西干人, C, 偷功\} { A,最后的莫西干人,C,偷功} , { A , 最 后 的 莫 西 干 人 , B , 偷 功 } \{A, 最后的莫西干人, B, 偷功\} { A,最后的莫西干人,B,偷功} 两条路径为 3 3 3 的路径对《偷功》产生联系。那么,用户 A A A 与《偷功》之间的相关性要高于用户 A A A 与《故乡的原风景》,因而《偷功》在用户 A A A 的推荐列表中应该排在《故乡的原风景》之前。而 { A , 最 后 的 莫 西 干 人 , C , 偷 功 } \{A, 最后的莫西干人, C, 偷功\} { A,最后的莫西干人,C,偷功} 经过点的出度为 { 2 , 3 , 2 , 2 } \{2, 3, 2, 2\} { 2,3,2,2} ,