machine-learning - 对社交网络新闻源项目进行排名时结合启发式方法

标签 machine-learning artificial-intelligence ranking data-science

我们有一个新闻源,我们希望根据一些标准向用户显示项目。某些项目将因因素 A 而浮出水面,另一个项目将因因素 B 的原因而出现,还有另一个项目将因因素 C 的原因而浮出水面。我们可以为每个因素创建单独的启发式方法,但随后我们需要将这些启发式方法组合起来,以促进最好的结果考虑每个因素的内容,同时仍然给出每个因素的内容组合。

我们的简单方法是加载每个因素中的前 n 项,取出每个因素中的第一个,并将它们作为 feed 的前 3 个。然后从每个 feed 中取出第 2 个,并将其设为第二个 3,依此类推。理想情况下,我们会有一些算法来更智能地对这些提要项目进行排名 - 我们的第一个想法是简单地对三个启发式进行求和,并使用所得的组合分数来拉出最高的项目,但不能保证启发式是均匀缩放的(或针对特定用户进行均匀缩放),这可能会导致 Feed 中的一个因素支配其他因素。是否有一些更智能的方法来对这些新闻提要项目进行排名(类似于 Facebook 在其伪时间顺序新闻提要中所做的事情)?

最佳答案

如果您的最终组合启发式不需要被接受,那么使用原始启发式的总和作为您的最终启发式不会有什么坏处。这里的问题是,原始启发式可能不是同一维度,例如 A 的值范围为 0 到 100,B 的值范围为 -1 到 +1。我建议使用以下公式来计算项目的组合启发式,忽略特定启发式的维度:

H = (A - 最小值(A))/(最大值(A) - 最小值(A)) + (B - 最小值(B))/(最大值(B) - 最小值(B))+(C - 最小值(C))/(最大值(C) - 最小值(C))

当然,要找到每个启发式的 minmax 值,您需要了解每个启发式的含义。我不确定这是否能解决您的问题,但我希望它能解决。

关于machine-learning - 对社交网络新闻源项目进行排名时结合启发式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435232/

相关文章:

python - 拟合模型时,batch size 和 epoch 的数量应该有多大?

python - 使用 spaCY 处理语法

Prolog初学者求助获取当前时间

php - 排行榜,有位置,处理相同点并跳到下一个

sorting - 在 julia 中对每个矩阵列进行排序

matlab - L1-Regularized系统的最小化,收敛于非最小位置?

python - 这个特征列是什么,它如何影响训练?

apache-spark - SparkR 2.0分类: how to get performance matrices?

google-sheets - 让 ChatGPT 在 Google 表格中的所有行中回答

php - 从 mysql 数据为用户分配并显示排名