商品推荐系统浅析
2.1 推荐系统的定义
2.2 推荐架构
2.3.1 多路召回的优劣
2.3.2 召回分类
-
标签召回:用户感兴趣的品类、品牌、店铺召回等 -
地域召回:根据用户的地域召回地域内的优质商品。

| 商品a |
商品b | 商品c | 商品d | |
| 用户A |
1 |
0 |
0 | 1 |
| 用户B | 0 |
1 | 1 |
0 |
| 用户C | 1 |
0 | 1 |
1 |
| 用户D | 1 |
1 | 0 |
0 |
-
局部敏感性哈希(LSH) -
基于图(HNSW) -
基于乘积量化
2.5 重排
def MMR(itemScoreDict, similarityMatrix, lambdaConstant=0.5, topN=20):#s 排序后列表 r 候选项r = [], list(itemScoreDict.keys())while len(r) > 0:score = 0selectOne = None# 遍历所有剩余项for i in r:firstPart = itemScoreDict[i]# 计算候选项与"已选项目"集合的最大相似度secondPart = 0for j in s:sim2 = similarityMatrix[i][j]if sim2 > second_part:secondPart = sim2equationScore = lambdaConstant * (firstPart - (1 - lambdaConstant) * secondPart)if equationScore > score:score = equationScoreselectOne = iif selectOne == None:selectOne = i# 添加新的候选项到结果集r,同时从s中删除r.remove(selectOne)s.append(selectOne)return (s, s[:topN])[topN > len(s)]
评论
