如何实现个性化饲料排名?

时间:2018-06-03 06:07:30

标签: feed ranking feeds news-feed

我有一个应用程序,汇总各种体育内容(新闻文章,视频,用户讨论,推文),我正在努力拥有它,以便它将向用户显示相关内容。每个帖子都有一个相似的按钮,所以我用它来确定什么是受欢迎的。我正在使用reddit算法对其进行排序,但也会考虑时间因素。但是,我的问题是我想让每个用户更加个性化。每个用户应根据自己的喜好看到更多内容。我有几个因素我在测量: - 他们观看/点击的每个内容有多少?例如:60%的视频和40%的文章 - 他们喜欢哪些球队/球员?如果新闻是关于他们喜欢的团队,那么应该更加重视 - 他们更喜欢什么运动?用户可以关注多项运动

我目前在做什么: 对于上面列出的每个因素,我会将文章的受欢迎度提高X倍。例如:用户比其他内容更喜欢70%的视频。我会将视频分数提高70%。

我正在寻找是否有更好的方法来做到这一点?我被告知机器学习是一个好方法,但我想知道是否有任何替代方案。

1 个答案:

答案 0 :(得分:2)

这听起来像是您开始个性化用户Feed的好地方。

基于受欢迎度指标(喜欢,评论等),新近度以及您的案例内容类型的排名是Facebook过去使用的EdgeRank算法的基础。

您可以应用许多指标来尝试并提升参与度。某物  用户喜欢来自团队x的帖子,y次,所以如果帖子来自y则提升饲料中的活动(x),如果是更新则提升活动,如果它更受欢迎则提升活动等等...你可以开始看到这些EdgeRank算法你跟踪的指标越多,就会变得有点笨拙。此外,您设置的所有超参数都倾向于为每个用户修复,这对于每个用户来说都不会达到理想的排名算法。机器学习技术可以发挥作用的地方。

处理此类事物的主要算法类通常称为学习排名,并且可以在高级别上概括为3类。协同过滤技术,基于内容的技术和混合技术(前两者的混合)

在你的情况下,使用新项目很可能会频繁更新的Feed,我会看看基于内容的方法。通常,这些算法围绕参与度量进行优化,例如用户将在其Feed中点击,查看,评论或喜欢活动的可能性。

一点点自我推销:我写了几篇博文,其中包含一些您可能感兴趣的博客文章。

https://getstream.io/blog/instagram-discovery-engine-tutorial/ https://getstream.io/blog/beyond-edgerank-personalized-news-feeds/

这可能需要花费很多时间,因此您还可以看一下使用像Stream(免责声明,我在那里工作)这样的第三方服务,帮助开发人员构建可扩展的个性化订阅源。