我想要实现一个媒体推荐引擎。我看到了一些类似的帖子,但我认为我的需求有点不同,所以在这里发帖。
情况是这样的:
我想为像VLC这样的媒体播放器实现一个推荐引擎,这个引擎只需要服务于单个用户。比如,它会嵌入在PC上的媒体播放器中,而这个PC通常由单个用户使用。它会开始学习用户的喜好,并逐渐了解用户喜欢什么。 这里它无法找到相似的用户,并使用他们的数据进行推荐,因为它是一个单用户系统。那么该如何进行呢?
或者你可以把它想象成一个需要放在比如iPod中的推荐引擎,它需要学习关于单个用户的信息,并从它拥有的收藏中推荐音乐/电影。
我曾想过收集用户观看的音乐/电影的类型(甚至可能是艺术家姓名),然后从观看最多的类型中推荐电影,但这看起来非常粗糙,不是吗?
那么,我可以使用哪些算法,或者可以参考哪些资源呢?
此致,
MicroKernel 🙂
回答:
你想要做的事情很有挑战性… 特别是因为它仍然处于研究阶段,并且来自世界各地著名大学的许多博士都在努力寻找一个好的解决方案。
所以这里有一些你可能需要的东西:
- 你可以分析的数据:
- 大量,大量,大量的数据!
- 它可以是关于媒体的元数据(名称、时长、标题、作者、风格等)
- 或者你可以尝试从媒体本身提取一些疯狂的特征。
- 用于关联数据的参考。
- 由于你无法获得其他用户,因此你总是需要用户反馈。
- 如果你不想用反馈问题烦死你的用户,那么让你的应用程序连接到中央服务器,这样你就可以比较用户。
- 一种可以充分对你的数据进行建模的算法。
NetFlix Prize的获胜者说:
当混合多个预测器时,预测准确性会大大提高。 我们的经验是,大部分精力应该集中在推导出截然不同的方法,而不是改进单一技术。 因此,我们的解决方案是多种方法的集合。
结论:
对于推荐引擎来说,没有银弹,需要多年的探索才能找到能够产生足够结果的算法的良好组合。 🙂