1、评分一般在计算中采用两分制、五分制、七分制和十分制四种。收集用户对物品评分的方式主要是以下两种:(1)显式评分:也就是直接可以看到的、直观的数值评分,它是通过问卷调查形式来收集用户对某些商品的评分,例如你浏览一个商品或者登陆一个浏览器时通常会弹出一个界面,让你某个商品或者某个网站内容进行打分,这就是在获取你对于这个商品或者网站的评分。这种评分会被记录下来用于之后网站向你推荐相关评分较高的内容或者商品。这种显式评分的数据是比较准确的,缺点就是很难获取到,因为大多数用户是看不到对自己有益的事情,一般不会去浪费自己时间去提供评分;
    (2)隐式评分:这个就是记录用户购买或者浏览历史行为,来完成数值不等的评分计算。当用户购买一个商品或者浏览一个商品时,就可以认为该用户对这个商品是感兴趣的,并且可以通过用户在该商品的浏览停留时间来判定用户的感兴趣度,停留时间越长,感兴趣度越强,评分也就越高;相反,停留时间越短,感兴趣度就越弱,评分就越低甚至为0。这是一个正向评分或者正向意图,根据既定的规则来将其转换成评分值。这种方式的优点就是能够收集到足够多的评分数据,来丰富用户—物品评分矩阵;缺点就是很难保证得到的用户评分的准确性,并且会遭受到恶意用户的浏览行为,以至于获取到的评分并不能很好的代表用户意图或者兴趣度。

    推荐算法无论协同过滤、相似度还是关联规则都需要建用户与物之间的稀疏矩阵,这个矩阵宽表非常大,需要提前计算好存起来再调用。

    Redis的键值对来存储离线预处理相似度数值,这样可以解决了存储问题,但是实际需要实时计算的数据仍然是数以亿计的。

    在实际运用中通常是提前计算出各个评分矩阵的相似度,将各个物品和相似度数值以的格式存储到redis中去,然后实时调用即可。当然如果存放到关系型数据库也是可以的,这样简便的就可以用SQL语句来查询修改数据了。