推荐系统中对数据的需求和利用

来源:互联网 发布:java中extends的用法 编辑:程序博客网 时间:2024/06/05 16:28

推荐系统这个工具作用的是web服务所积累的海量用户数据。

(1)协同过滤中用到的用户的评分,用户的评论,用户的态度,用户产生的可以表达其态度的行为(比如用户购买了一件商品,再深入一些地,通过分析服务器日志中的信息,像用户浏览页面时长,滚动条的动作等等很细微的行为来了解用户对web服务的态度。),通过这些数据,推荐系统才可以计算用户之间的相似度,实现帮助用户找到品位相同的人的功能;才可以计算item之间的相似度,帮助用户找到他们潜在可能喜欢的item。

(2)基于内容的推荐系统往往需要的是item的信息,有的信息比较容易得到,比如一首歌的歌手,风格,时长等等;而有的信息需要经过一些提炼才可以得到,同样以音乐为例,如果单以歌手、风格这些比较粗糙的信息作分析,做推荐器的意义不大,所以需要对音乐的内容进行分析,然后提炼出所谓的“基因”出来,然后再做分析。

以上说到的数据,是推荐系统的基石,是工作的基础。但有的时候只有这些数据,我们很难做出一个很棒的推荐器,尤其是在利用基于内容的方法来做,基于内容的推荐系统都会用到item的“基因”信息(这里把item的属性,特点,关键词统称为描述这个item的“基因”信息),而如果仅利用item自身“携带”的“基因”信息的话,我们做不出很好的推荐。比如:

电影的推荐系统,描述电影《碟中谍4》的“基因”信息可能只会有:主演阿汤哥,流派是动作 / 犯罪 / 惊悚 / 冒险,这样的信息对于分析用户的品位来说太过粗糙,如果我们仅仅用这么几个标签信息作基础数据给用户做推荐,我想效果一定会很差。

我想说的是,有的时候我们对数据的使用太过局限了,不应该仅仅是把自己积累的数据加以分析,而应该把视野扩大到全网的数据上。通过对全网中相关的海量数据进行分析后,我们可以建立一个知识库,结合上我们自身拥有的数据一起做推荐,我想效果会好很多。比如:

在电影的推荐系统中,我们可以通过分析全网中的影评信息,为绝大多数被评论过的电影提炼出特有的“基因”信息,这样会极大地丰富电影的“基因”,而且这些“基因”具有较深一层的意义,不单单是几个贴给电影的标签。

对于电影的推荐系统来说是这样子,对于其他的推荐系统来说,不仅仅要利用好自己拥有的数据,同时也要放眼全网的数据,挖掘更加深层次的信息。

原创粉丝点击