求一个帖子推荐算法(根据帖子支持和帖子不支持的人数以及帖子创建时间)

2012-09-07 19:58:46 +08:00
 paulguo
比如数据库中存有如下三个字段:

----------------------------------------
| id | support | unsupport | timestamp |
----------------------------------------
| 1 | 45 | 19 | 14223xxxxx|
----------------------------------------

根据这三个字段,如何才是比较好的自动推荐?
3017 次点击
所在节点    问与答
7 条回复
hu437
2012-09-07 20:45:59 +08:00
如果只根据这个基本上没有太好的,现在的推荐主要有两种,协同过滤和内容相似度;内容相似度可以使用TD IDF,你这个比较适合使用协同过滤中的基于用户的协同过滤。
比如用户A,支持了帖子1、2、3
用户B,支持了帖子,1
用户C,支持了帖子,1、3
那就可以为用户C推荐帖子2
hu437
2012-09-07 20:46:30 +08:00
可以使用TD IDF和上面的这个协同过滤结合的方法
Js
2012-09-07 20:48:56 +08:00
这几个字段只能(support-unsupport)/(now()-timestamp)*N因子吧

阮一峰今年年初写过几篇《基于用户投票的排名算法》的
paulguo
2012-09-07 20:51:20 +08:00
@hu437 @Js thx, 我没表述清楚,不能算是推荐,其实是为了生成一个HOT LIST。我参考下Js的算法,跟前几天看的讲Digg算法的一文中提及的算法类似。
best1a
2012-09-07 20:57:10 +08:00
要不参考下Reddit的?
http://songshuhui.net/archives/66981
KiseXu
2012-09-07 21:09:44 +08:00
leiz
2012-09-07 21:58:07 +08:00
你要的是一个排序优先的取舍吧。
先排s+us总数,然后排时间,例如一周内,最后排s

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47187

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX