我想设计一个这样的推荐系统:
我有很多餐厅有不同的标签
我让用户使用这些标签进行搜索
我想根据用户最常搜索的标签提出建议
我不是在寻找复杂的算法。
例如:
我有一位搜索过的用户:
tag1 - n1次
tag2 - n2次
tag3 - n3次
tag4 - n4次
tag5 - n5次
还有3家餐厅有相应的标签:
restaurant1:tag1,tag2,tag4,other_tag
restaurant2:tag5,other_tag
restaurant3:tag1,tag4,other_tag,other_tag
我在考虑以下逻辑:
令n = n1 + n2 + n3 + n4 + n5
设t_i =第i餐厅的标签数量
然后我会计算:
R1 = sum(is_tag_i_in_restaurant1 * ni)/ t_1,其中i从1变为5
R2 = sum(is_tag_i_in_restaurant2 * ni)/ t_2,其中i从1变为5
R3 = sum(is_tag_i_in_restaurant3 * ni)/ t_3,其中i从1变为5
T1 = n / t_1
T2 = n / t_2
T3 = n / t_3
现在,对于每家餐厅,我都会将Ri与Ti进行比较。假设,如果Ri> = Ti / 2,我会将其视为推荐。
这是一个很好的方法吗?你能推荐一些更有效率的东西吗?
答案 0 :(得分:0)
Google学者和http://grouplens.org/publications有关于标签的学术研究,特别是Jesse Vig,Shilad Sen,Tien Nguyen和John Riedl的作品。很多人都在考虑预测标签偏好。看看Tagommender纸。通常,用户和项目(餐馆或电影或其他东西)都具有某种规模的标签值,例如偏好或适当性。然后使用类似余弦相似性的相似性算法找到最近邻居。