商品推荐系统浅析
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 = 0
selectOne = None
# 遍历所有剩余项
for i in r:
firstPart = itemScoreDict[i]
# 计算候选项与"已选项目"集合的最大相似度
secondPart = 0
for j in s:
sim2 = similarityMatrix[i][j]
if sim2 > second_part:
secondPart = sim2
equationScore = lambdaConstant * (firstPart - (1 - lambdaConstant) * secondPart)
if equationScore > score:
score = equationScore
selectOne = i
if selectOne == None:
selectOne = i
# 添加新的候选项到结果集r,同时从s中删除
r.remove(selectOne)
s.append(selectOne)
return (s, s[:topN])[topN > len(s)]
评论