00:00
好,大家看到我们这个项目已经完全做完了,那么现在在这个代码里边,大家可以看到总共有多少个模块,从代码上来看的话,除了这个业务系统之外,推荐的模块下边有七个子模块,这里边其中有一个data loader是数据加载,还有一个卡stream,这是相当于数据预处理的一部分了。除了这两个模块之外呢,剩下五个就是我们的核心的推荐模块,这里边整体来回顾一下啊,包括了整体来分,那一大类是离线的推荐,另外还有一大类是实时在线的推荐。那么离线这一部分里边又有一个比较特殊,就是基于统计的推荐,这相当于就是说跟个性化这一部分没有关系,大家所有的推出来的都是一些热门的商品,除了这个之外,剩下的三部分离线推荐分别应用了我们之前讲到的不同的算法,那一部分是基于英语翼模型协同过滤的推荐。
01:09
我们当时调用了A算法,对吧,进行了音乐模型的推呃训练,然后得到了他的用户特征向量和物品的商品的特征向量,呃,最后我们根据这个可以做出预测评分的推荐,另外还可以计算出商品相似度,给实时推荐那一部分进行进行一个呃,就是作为数据的一个来源,一个基础,呃,那除了这一部分之外,我们还用到的算法有基于内容的推荐,那这个应用的就是商品的基本信息,用它来做推荐,找到相似度,进行一个相似推荐。除了这一部分之外,还有一部分是基于item CF的协同过滤推荐,那大家会把这三部分要放在一起来看,也也需要找到他们之间的相似点,联系和区别都要搞清楚,对吧?那么首先这里边基于英语翼模型的离线推荐和item CF是有共同特点的。
02:09
他们俩之间共同特点是什么?用到的数据主要都是行为数据啊,所以说我们说他们都是属于协同过滤的推荐,那具体到应用里边,他们又有哪些不同呢?Item CF我们根本就没有用到继续学习相关的算法,也没有用到什么模型,直接把行为数据、评分数据拿过来之后,诶,统计了一下有多少个共同的评分,我们就算出来一个相似度对不对?呃,就是这样的一个过程,所以他就是直接拿行为数据直接用的。我们这里的例子是评分数据,大家也可以想到,如果是用户的点击行为,如果是用户的购买行为,通通都可以放在这里边,用item CF做出一个相似度的计算,那当然了,就是对于盈语翼模型而言,它是要构建一个模型,然后需要用到这个算法及学习算法去做模型的处理计算的,大家把这一部分要进行区分,那同样还有另外一块,这个基于内容的推荐。
03:10
那他跟我们前面的这两块,其实数据源就不一样了,我们一开始加载的主要就是基于商品基本的信息。呃,但是它其实跟另外的两种推荐都有相关的地方,对,我们都是基于一个相似度去做推荐的,那么它的相似度这里面的计算方法跟盈语音模型的相似度是很接近的,因为都可以通过某种算法得到商品的特征向量啊,然后我们的计算方法是计算向量之间的余弦相似度,所以大家应该把这三部分要联系起来看,最后还有一部分就是实时的推荐啊,我们这里应用的是前面基于营义模型协同过滤时候算出来的一个相似度矩阵,然后在自定义了一套规则对吧,构建了一个模型,结合他最近的K4评分做加权计算,得到一个结果。那如大家会想到我这里边他的那个基础相似度矩阵可以用别的吗?
04:10
哎,当然可以,大家想到前面我们不同的算法得到的都是一个相似度列表嘛,那这里边实时实时的这一部分,我们是不是用哪个相似度都可以啊,所以大家其实这里边是一个就非常灵活,应该把这些东西都能综合起来考虑,呃,应该是这样的一个效果。当然如果我们想要把它做一些细化的话,每一个模块大家都可以应用更多的算法,就是可以选取更多的指标参数,然后提取出更多的特征,这就是我们整个这个项目所要做到的事情。好,那最后还有一部分就是,呃,这个部署和运行简单的跟跟大家再说一下吧,那部署跟运行这部分其实就非常简单了,那首先就是我们这里边recommend整个这个推荐的模块,我们去做一个打包ma问项目,直接去运行打包的程序就可以把它编译出来,我们最后的这个结果,那同样。
05:15
我们还有业务系统,业务系统代码里边有前端的项目和后端的这个业务服务器,把他们都应该打包打好,部署到服务器上,对应的把它启动起来,然后具体的生产环境里面呢,需要去配置卡夫卡提起来,当然了还有keeper,对吧,Flu进行配置,然后提起来,最后呃,我们把这个实时的流失计算SPA streaming程序部署提交submit起来,运行起来就可以了,那当然了,我们还有很多的离线算法,这些部分离线推荐模块,统计推荐模块,他们应该怎么做呢?他其实就只要跑一下就可以了,我们可以用一个阿斯卡班把它调度起来,对吧?啊,这里给大家举一个例子,知道就可以了。所以这一部分我们作为大数据工程师可能并不会专门去考察这些部分,主要这是运维工程师需要考虑的事情,呃,但是大家也需要做一个了解,至少。
06:15
这些东西应该是我们打包好给到运维那里去的。啊,这就是这一部分内容。
我来说两句