1、计算共同好友比例
缺点也是显而易见的, 如果用户好友人数不够多, 那么无论是为其推荐其他好友或者将其推荐给其他人都会变得很难。其次是该算法只是关注“ 人” 的因素而忽略了其他因素, 可能影响所推荐好友的准确性。
最简单的好友推荐算法是为用户推荐共同好友数最多的用户。其基本思想是, 用户之间的共同好友越多, 则他们越可能是好友。由于这种方法受用户好友总数影响较大, 因此通常根据共同好友比例计算相似度来推荐好友。
采用出度的方法, 用户u和用户v的共同好友比例fuv表示为:
其中, out(u)表示用户u关注的用户集合, out(v)表示用户v关注的用户集合。out(u)∩ out(v)表示两个集合的交集。|out(u)|和|out(v)|分别表示集合out(u)和out(v)的元素个数。
2、互动次数
社交网络中用户之间的互动包括消息、评论、转发和收藏等形式,为了简化计算, 这里对消息、评论和转发取相同权重。
用户u与用户v之间的互动情况iuv可以用两者之间互动次数占用户u和用户v全部互动行为的比例来表示, 本文提出的互动比例计算方法如下:
其中, interact(u, v)表示用户u对用户v的互动次数, interact(u)表示用户u对所有用户的总互动次数。两用户之间互动次数用单向互动次数的平均值表示。
3、社交兴趣度
4、兴趣相似性
综合社交关系和兴趣偏好的最终评分可表示如下:
其中, β 是改进的好友推荐算法的可调参数, 表示最终评分中社交因素的权重, β 取值范围为[0, 1], 本文实验中β 取0.5。s(u, v)为社交兴趣度。w(u, v)为兴趣相似度。