基于标签的推荐系统

时间:2015-05-30 17:15:19

标签: recommendation-engine

我想设计一个这样的推荐系统:

  • 我有很多餐厅有不同的标签

  • 我让用户使用这些标签进行搜索

  • 我想根据用户最常搜索的标签提出建议

我不是在寻找复杂的算法。

例如:

我有一位搜索过的用户:

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,我会将其视为推荐。

这是一个很好的方法吗?你能推荐一些更有效率的东西吗?

1 个答案:

答案 0 :(得分:0)

Google学者和http://grouplens.org/publications有关于标签的学术研究,特别是Jesse Vig,Shilad Sen,Tien Nguyen和John Riedl的作品。很多人都在考虑预测标签偏好。看看Tagommender纸。通常,用户和项目(餐馆或电影或其他东西)都具有某种规模的标签值,例如偏好或适当性。然后使用类似余弦相似性的相似性算法找到最近邻居。