@M1saki
2017-12-15T23:27:58.000000Z
字数 1706
阅读 1953
软工实践
现在的思路是:
xp的意思是想要仅保存用户点击第一篇文章的特征,然后之后就都以这篇文章为标杆去推荐,而不去做不停的维护了
第一次,就是随机推送,然后以后每次用户看完第一篇,将第一篇id返回 存在数据库中,第二天的时候,就根据这篇文章进行推送…
学长的建议:
用户文章的评分矩阵的存储确实是个问题,这一点可以考虑NoSQL的数据库,存储一个用户ID-评分矩阵的键值对,利用JSON做序列化的工作。
当然,其实也不必要非得存一个用户对600篇文章的,值的部分可以存成(Index,Float)列表形式,只有在比较两个用户相似度的时候才拼接成完整向量,平时存储都是稀疏存储。
稀疏存储的思路感觉挺棒的,但是实现上可能会有点困难,暂时按现在的思路实现。
PM:准备先采用最朴素的做法,去构造 文章-标签 的 0-1矩阵,以及 用户-文章 的评分矩阵,然后用余弦计算喜好程度。
先照这个做法的话,分成4块
for all articles j = 1 to M
for all features k = 1 to N
if (articles[j] 拥有 features[k] 属性)
MA_{j}[k] = 1;
else
MA_{j}[k] = 0;
对于某一个用户 :
计算 所有评分的均值:
计算用户 对 的喜好程度
计算 和 的相似度
对于用户 ,遍历整个文章集,计算 和每个文章的相似度(推荐度),选择相似度最高的前若干个文章,推荐给用户