MMR算法目的是减少排序结果的冗余,同时保证结果的相关性。最早应用于文本摘要提取和信息检索等领域。在推荐场景下体现在,给用户推荐相关商品的同时,保证推荐结果的多样性,即排序结果存在着相关性与多样性的权衡。
MMR算法原理
MMR算法将排序结果的相关性与多样性综合于下列公式中:
Q : 用户;
d : 推荐结果集合;
C : R 中已被选中集合;
λ \lambda λ`: 权重系数,调节推荐结果相关性与多样性
根据用户行为进行推荐时往往出现看了一个item后,同样的商品太多,并不能很好的体验出多样性,如:某用户最近历史浏览商品序列如下图,分别为男式地表强温廓形羽绒服、透气保暖元绒棉花被、男式加厚保暖长款羽绒服、男式地表强温工装羽绒服 。
基于用户浏览的四件商品进行Top-10推荐,推荐结果与+MMR推荐结果如下两图,前者推荐结果相对单一,满屏幕全是羽绒服。后者在推荐坑位有限的情况下,多样性指标上明显更优,除了羽绒服、羽绒被外,还有大衣、运动服、羽绒马甲等商品。
除了上述外系统还需要注意3点:
- 相似度度量和传统的使用字典不同。
- 计算相似度时特征权重不同.
- 结果输出阶段,全量计算耗时长,可以使用滑块计算。