推荐系统的评分指标

问题描述

我正在从事一个涉及构建新闻推荐系统的项目。我已经使用贝叶斯函数用户与网站上不同文章的交互量化为用户对特应性的亲和力。我也将最近使用 LDA 的文章量化为一篇文章谈论每个主题的比例。

我的用户用户 x 的主题亲和性如下所示(目标-x):

 user_id  interest-topic-0  interest-topic-1  interest-topic-2  interest-topic-3  interest-topic-4  interest-topic-5  interest-topic-6  interest-topic-7  interest-topic-8  interest-topic-9 
       0            0.0257            0.2956            0.0386            0.0643            0.1285            0.0000               0.0            0.0257            0.0386            0.1671  

我的量化文章看起来像这样(vectors-v):

post_id   topic-0   topic-1   topic-2   topic-3   topic-4   topic-5   topic-6  topic-7  topic-8   topic-9
      x  0.055048  0.000000  0.742544  0.032286  0.059630  0.000000  0.000000  0.01173      0.0  0.095441
      y  0.000000  0.051172  0.000000  0.000000  0.158314  0.042632  0.022281  0.00000      0.0  0.720676
      z  0.028615  0.000000  0.020919  0.000000  0.000000  0.018940  0.882862  0.00000      0.0  0.046078

目标的形状总是 (10,)

向量的形状总是 (num_articles,10)

两个向量不遵循相同的分布。

现在我正在尝试找出从向量 v 为目标用户 x 推荐文章的最佳方式,给定 x 和 v。我尝试了距离相似度函数(如余弦相似度)来找到向量之间的距离。结果令人满意,但我正在寻找更好的函数/指标来为用户挑选前 n 个推荐。任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...