我想实现一个媒体推荐引擎。我看到了类似的帖子,但我认为我的要求与那些有点不同,所以在这里发帖。
这是交易。
我想为 VLC 等媒体播放器实现一个推荐引擎,该引擎必须只关心单个用户。例如,它将嵌入到通常由单个用户使用的 PC 上的媒体播放器中。它会开始学习用户的喜好,并逐渐了解用户喜欢什么。 在这里,它将无法找到类似的用户来使用他们的数据进行推荐,因为它是单个用户系统。那么如何解决这个问题呢?
或者您可以将其视为必须放入 iPod 中的推荐引擎,它必须了解单个用户并从其收藏中推荐音乐/电影。
我想过开始收集用户观看的音乐/电影的类型(甚至可能是艺术家的名字)并推荐观看次数最多的类型的电影,但它看起来很粗糙,不是吗?
那么有什么我可以使用的算法或者可以引用的资源吗?
问候,
微内核:)
最佳答案
您想要做的事情非常具有挑战性......特别是因为它仍处于研究阶段,并且来自世界各地知名大学的许多博士正在努力为此找到一个好的解决方案。
以下是您可能需要的一些东西:
- 您可以分析的数据:
- 大量、大量、大量数据!
- 它可以是有关媒体的元数据(名称、持续时间、标题、作者、风格等)
- 或者您可以尝试从媒体本身进行一些疯狂的特征提取。
- 将数据关联到的引用。
- 由于您无法获得其他用户,因此您始终需要用户反馈。
- 如果您不想让用户因反馈问题而烦恼不已,请让您的应用连接到中央服务器,以便比较用户。
- 一种可以很好地对数据进行建模的算法。
- 如果您完全没有经验,请尝试k-nearest neighbor (最简单的)。
- Collaborative filtering
- Pearson Correlation
- Matrix Factorization/Decomposition
- Singular value decomposition (SVD)
- Ensemble learning <-- 允许您组合多种算法并利用它们的优势。
Netflix 奖的获奖者这样说:
Predictive accuracy is substantially improved when blending multiple predictors. Our experience is that most efforts should be concentrated in deriving substantially different approaches, rather than refining a single technique. Consequently, our solution is an ensemble of many methods.
结论:
推荐引擎没有 Elixir ,需要多年的探索才能找到产生足够结果的良好算法组合。 :)
关于algorithm - 媒体推荐引擎 - 单用户系统 - 如何开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992272/