Rah*_*iya 0 recommendation-engine machine-learning apache-spark
我是新手,已经开始学习 Spark。我有一个关于推荐系统如何在生产环境中工作或者如何部署到生产环境的一般问题。
下面是一个电子商务网站系统的小例子。
我知道一旦系统建成,一开始我们就可以将数据提供给引擎(我们可以运行作业或运行引擎的程序/进程),它会给出结果,这些结果将存储回针对每个用户的数据库。下次用户登录时,网站可以获取数据,引擎先前从数据库中计算出的数据并显示为推荐项目。
我的困惑是“这些系统”如何根据用户活动动态生成输出。例如,如果我在 Youtube 上观看视频并刷新页面,Youtube 就会开始向我展示类似的视频。那么,我们是否让这些推荐引擎始终在后台运行,并根据用户的活动不断更新结果?怎么做的这么快这么快?
简短的回答:
长答案:
他们根据用户活动的长期基线生成此输出。这不是引擎从您最近的观看中得出的内容:在同一天观看该视频的任何人都将获得相同的推荐。
一些推荐系统会考虑您的个人历史,但这通常只是根据您个人的预测评级对推荐列表进行排序。这是通过您自己按流派和每个视频的其他特征进行评分的通用模型来完成的。
一般每天更新一次,变化不大。每次您提出请求时,他们不会从头开始重新训练模型;您的个人模型的参数和权重存储在您的帐户下。当您添加评分(不仅仅是观看视频)时,您的帐户会被标记,并且模型将在下一个方便的机会更新。
此更新将从您当前的模型开始,并且只需要运行几个时期 - 除非您对大量视频进行了评分,这些视频的评分与之前的预测明显不同。