[关闭]
@M1saki 2017-12-14T19:47:17.000000Z 字数 1811 阅读 1426

β_3

软工实践


PM:准备先采用最朴素的做法,去构造 文章-标签 的 0-1矩阵,以及 用户-文章 的评分矩阵,然后用余弦计算喜好程度。

感觉又迷了路。。。

先照这个做法的话,分成4块

  1. 构造 文章-标签 的 0-1 矩阵
  2. 构造 用户-文章 评分矩阵
  3. 计算相似度(余弦相似性)
  4. 推荐

变量说明

预处理 文章特征01矩阵

  1. for all articles j = 1 to M
  2. for all features k = 1 to N
  3. if (articles[j] 拥有 features[k] 属性)
  4. MA_{j}[k] = 1;
  5. else
  6. MA_{j}[k] = 0;


构造 用户-文章评分矩阵

计算相似度

对于某一个用户

推荐

对于用户 ,遍历整个文章集,计算 和每个文章的相似度,选择相似度最高的前若干个文章,推荐给用户


迷路区

首先是看了学长的建议

如果利用相似推荐的话,那就是对用户特征进行相似分析。比如A与B喜欢的文章里有80%是重合的(重合可以定义为两篇文章相似度阈值超过某个值,而非完全一致),那么可以把A看过但B没有看过的文章推荐给B。当然,在对相似分析的时候也可以采用另外的方法:就像文章中说的,将用户对不同文章的打分拼接为一个向量,利用余弦相似性分析两个用户的相似程度。

也可以直接从文章相似度角度进行分析,比如A看过了一篇文章,觉得它很不错,那么利用余弦相似性的衡量方式,寻找3篇与该文章类似的文章推荐给用户,在这个推荐的过程中也可以加入一些随机变量影响的因素,模仿基因突变的过程,以拓宽用户的兴趣种类。

现在也有用词向量和LSTM模型对文章构造特征向量的,随便Google可以得到一大把,以上供参考。

目前的思路应该是更偏向于文章相似度的角度

参考着去搜了词向量和LSTM模型的相关内容

首先是LSTM模型,参考了理解 LSTM 网络,一路下来半知不解,似乎应用到stardust不是很可能

再是词向量,参考了知乎-词向量( Distributed Representation)工作原理是什么?基于词向量特征的文本分类模型研究,感觉和神经网络扯上边似乎现在使用不是很实际。但是在阅读过程中看到TF-IDF算法,好奇去了解了一下

基于内容的推荐这篇文章中介绍的TF-IDF和Rocchio算法似乎可以代入到我们的文章推荐中(?)。基于文中【Item Representation】下对于文章和词典的说明,得到某个词在某篇文章中的权重。根据Rocchio算法,维护用户的profile。现在得到的是,文章用n维的向量表示,用户的profile用n维的向量表示,那么可以考虑余弦相似性的方式,(扫一遍所有文章?)得到与用户属性最相关的k个文章作为推荐返回给用户


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注