最简推荐系统

当前时代是注意力的时代,人的精力是有限的,这就注定注意力这种资源是有上限的,也就是有限的。在有限的资源里,谁能抓住用户的注意力,谁就是赢家。因此,网络也就从用户主动找信息的模式,发展到直接推送数据到用户眼前的模式,真是衣来伸手饭来张口啊,太体贴了,这就是信息流推荐系统。


看了N个推荐系统,各种算法,架构,流程,千人千面,各种行为分析,反馈,咱也没去深入研究,我在此就不说了。我们小公司,小系统,也就想实现百人5面等小型推荐系统,没必要杀鸡用牛刀,这里说说最简单的推荐系统。


任何推荐系统,必须有一个数据集T,相关度D,精确度A,如果类比数据库的SQL,T就代表数据表,D就代表WHERE的条件,A就代表ORDER BY排序,T很好实现,关系数据库NOSQL都可以,如以关系数据为例,

数据表 T(id,....)

数据元表M(tid,meta,value)


如果用户的标签是man


直接用一句SQL来达到推荐的效果:


SELECT * FROM T inner join M on m.tid = T.id where m.meta = 'man' order by M.value desc


如果用户有多个标签,这个SQL可以复杂一些多个SQL来UNION一下


最后说说用户标签的产生,可以通过分析用户对标的(文章,图片,视频)的停留时间,或用户注册时选择,负反馈(不感兴趣)来确定和调增,数据元表的产生可以通过人工打分和NLP分析来产生,具体看哪个更适合你