1.一种基于用户多种行为反馈的电影推荐方法,其特征在于,包括步骤:s1、电影聚类
根据电影的关键字描述,使用LDA算法将电影聚成m个簇;
设定阈值threshold,0.6≤threshold≤0.8,从每个簇中去掉p(k|i)<threshold的电影,其中,p(k|i)表示电影i属于电影簇k的概率;
s2、用户相似度计算
针对电影聚类得到每个电影簇k形成与之一一对应的用户群g,用户u对用户群g的隶属度利用如下公式计算,即:式中, 表示用户u对用户群g对应的电影簇k中电影的第t种行为的统计次数,为用户u对所有电影的第t种行为的统计次数,t的取值范围为:1≤t≤T;
根据用户模糊聚类的隶属度计算结果,得到用户u的隶属度向量其中,du,g表示用户u对用户群g的隶属度;
对用户集U中的任意两个用户u和v,通过Pearson相关系数来计算u和v的相似度,并记为sim(u,v);
s3、生成推荐
设定邻居选取的相似度阈值为sim-threshold,对任意一个用户u从用户集U中选取满足sim(u,v)>sim-threshold的用户作为用户u的邻居,并记作Neiu;
对Neiu中用户看过用户u未看过的所有电影,通过如下方法预测用户u对电影i的偏好:式中, 表示用户u对电影i的预测偏好,pv,i表示用户v对电影i的偏好,该偏好由用户v的行为权重向量 和用户v在电影i上的行为统计向量 的内积来衡量;权重向量通过交叉验证来获得;
对用户u的对偏好预测结果进行降序排序,选择前N部电影作为用户u的推荐结果。
2.根据权利要求1所述的一种基于用户多种行为反馈的电影推荐方法,其特征在于,在步骤s1中,电影的关键字描述按照如下步骤获得:首先对每部电影简介进行分词处理,保留名词并去掉停用词得到:Wi={w1',w2',...,wn'},其中,Wi表示对电影i进行分词、保留名词去停用词处理后得到的名词描述;
然后根据在所有电影上的处理结果统计出现频率最高的N个词,并从电影的名词描述中剔除这N个词以外的词;
最后结合电影的导演、演员和类型信息得到电影的关键字描述:Wi={w1,w2,...,wn}。
3.根据权利要求1所述的一种基于用户多种行为反馈的电影推荐方法,其特征在于,在步骤s2中,近在线阶段用户相似度信息更新步骤为:s1、分别统计用户u对m个电影簇中电影的行为次数;
s2、使用隶属度模型来计算用户u对用户群的隶属度,得到用户u新的隶属度向量,并更新数据库中用户u的隶属度信息;
s3、通过Pearson相关系数基于用户u新的隶属度和数据库中其他用户的隶属度来计算用户u和其他用户的相似度,并更新数据库。