发明名称 一种基于属性评分缩放的协同过滤推荐方法
摘要 一种基于属性评分缩放的协同过滤推荐方法。针对传统协同过滤推荐算法在单一评分数据集上预测精度低的问题,提出一种基于属性评分缩放的协同过滤推荐方法。首先,构建用户-项目评分矩阵并采用评分缩放法构造用户-项目属性评分矩阵;然后,依据数据稀疏度和数据减少率进行属性选取,在每个已选属性评分矩阵上计算用户之间的皮尔逊相似度,得到目标用户的最近邻居集;接下来,针对每个最近邻居集,在用户-项目评分矩阵上完成初步评分预测;这样,当所有已选属性评分矩阵的预测完成时,我们会得到目标用户对每个目标项目的一组预测评分,我们将这些评分加权后作为最终评分,完成推荐。实验结果表明,该算法能有效提高推荐精度。
申请公布号 CN104881499A 申请公布日期 2015.09.02
申请号 CN201510341870.X 申请日期 2015.06.19
申请人 中国石油大学(华东) 发明人 龚安;高云;高洪福;唐永红;高震
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种基于属性评分缩放的协同过滤推荐方法其特征在于,主要包括以下步骤:(1)用户‑项目属性评分矩阵的构造。定义项目的属性集为A={A<sub>1</sub>,A<sub>2</sub>,…,A<sub>k</sub>,…A<sub>l</sub>},A<sub>k</sub>={a<sub>1</sub>,a<sub>2</sub>,…,a<sub>t</sub>}。需要注意的是,对于某一项目的属性A<sub>k</sub>,其可能有多个取值。例如,一部电影既是动作片又是科幻片,一件商品既是女装又是户外等。设用户对第k个属性A<sub>k</sub>的评分矩阵为G,表示如下:<img file="FDA0000741684280000011.GIF" wi="800" he="379" />确定用户对各属性值的评分,即g<sub>ij</sub>。采用评分缩放法:如果用户对具有某一属性值的项目的评分差距都比较小但评分又不完全相同,那么我们希望能对其评分进行放大,反之,我们希望对其评分进行适当的缩减;如果用户对具有某一属性值的项目只有一次评分,我们就认为用户可能不喜欢此类项目,令其评分为零;如果用户对具有某一属性值的项目的评分完全相同,也令其评分为零。本文采用方差对评分进行缩放,并将阈值定为1,即如果方差大于1,就将评分缩减,反之,将评分放大。因此,评分缩放法定义为用户对具有某一属性值的项目的评分的均值和方差的比值,公式如下:<img file="FDA0000741684280000012.GIF" wi="677" he="222" />(2)项目属性的确定。主要从以下两个方面进行度量:数据稀疏度:用户评分数据矩阵中未评分条目所占的百分比,其公式定义如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>P</mi><mi>s</mi></msub><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>N</mi><mi>r</mi></msub><mrow><mi>m</mi><mo>&times;</mo><mi>n</mi></mrow></mfrac><mo>)</mo></mrow><mo>&times;</mo><mn>100</mn><mo>%</mo></mrow>]]></math><img file="FDA0000741684280000013.GIF" wi="539" he="150" /></maths>数据减少率:用户‑项目属性评分相比用户‑项目评分所减少的数据量的比率,定义如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>p</mi><mi>D</mi></msub><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>N</mi><mi>a</mi></msub><msub><mi>N</mi><mi>o</mi></msub></mfrac><mo>)</mo></mrow><mo>&times;</mo><mn>100</mn><mo>%</mo></mrow>]]></math><img file="FDA0000741684280000021.GIF" wi="489" he="149" /></maths>(3)推荐的生成。对多个预测评分求均值作为最终评分,并选取Top T项目推荐给用户。
地址 266580 山东省青岛市青岛经济技术开发区长江西路66号