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