GeneBase推荐算法
一、 什么是基于基因的推荐算法
我们认为网站中无论是用户还是影片都是有基因的,影片的基因可以来自影片的Tag信息,用户的基因可以来自用户的行为总结,而基于基因的推荐就是以基因为基础,计算不同对象基因间的差异,从而找到相似度高的对象组,进而得到推荐结果。
为什么我们要采用基于基因的推荐算法。因为和优秀的UserBase、ItemBase相比,我们面临更严重的网站冷启动和用户选择的稀疏性问题,而在网站初期基于基因的推荐可以更好地解决这两个问题。随着网站慢慢成熟,积攒的信息慢慢增多,我们在得到基因和分析基因方面的策略也会更加灵活,我们可以通过对基因的筛选改变用户的推荐结果,可以用基因作为聚类的依据达到控制存储和运算量瓶颈的目的。因此选择GeneBase为网站推荐引擎的核心,是一个很好的选择。
二、 初步实现
推荐基本上可以总结为数据定义,数据分析,和推荐结果三个关键步骤。体现在基于基因的推荐上,数据定义就确定对象的基因,数据分析就是计算对象与对象间的相似性,推荐结果就是对相似性进行过滤和排序。
1、 基因定义:
一个对象的基因可以被定义为属性与权重的集合T(t1,t2,t3…ti;q1,q2,q3…qi;i=1~n),其中t为一个属性,q为该属性对T的贡献,即权重。
如果基因的某些属性具有相同的含义,比如恐怖、惊悚属于电影的类型,而阴暗、明亮属于电影的情绪,便可以将属性分组,即多维度属性,