一、小红书推荐系统核心算法
-
协同过滤算法(核心)
- 用户协同过滤:通过计算用户相似度推荐相似用户喜欢的商品
- 物品协同过滤:通过物品相似度矩阵推荐相关物品
- 代码示例中的余弦相似度计算:
public double cosineSimilarity(Map<Long, Double> user1, Map<Long, Double> user2) { double dotProduct = 0.0, norm1 = 0.0, norm2 = 0.0; for (Long itemId : user1.keySet()) { if (user2.containsKey(itemId)) { dotProduct += user1.get(itemId) * user2.get(itemId); } norm1 += Math.pow(user1.get(itemId), 2); } for (Double rating : user2.values()) { norm2 += Math.pow(rating, 2); } return dotProduct / (Math.sqrt(norm1) * Math.sqrt(norm2)); }
-
CES评分算法(社区参与度)
- 计算公式:
CES = 点赞*1 + 收藏*1 + 评论*4 + 转发*4 + 关注*8
(权重公式来源于:新浪财经) - 实现逻辑:
public class CESCalculator { public double computeCES(Interaction interaction) { return interaction.getLikes() * 1 + interaction
- 计算公式: