主权项 |
一种基于属性评分缩放的协同过滤推荐方法其特征在于,主要包括以下步骤:(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>×</mo><mi>n</mi></mrow></mfrac><mo>)</mo></mrow><mo>×</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>×</mo><mn>100</mn><mo>%</mo></mrow>]]></math><img file="FDA0000741684280000021.GIF" wi="489" he="149" /></maths>(3)推荐的生成。对多个预测评分求均值作为最终评分,并选取Top T项目推荐给用户。 |