自主研发,也就是企业依靠其内部研发人员开发具备商用性能系统的方式。一般会经历以下几个步骤:需求分析—项目准备—系统研发—系统部署—数据采集—模型训练—AB Test方式试点上线—效果调优—全量上线—数据跟踪与优化。如图2–2所示。
图2–2 自主研发推荐系统上线流程
1.需求分析即产品与运营部门从实际业务出发,通过业务场景的梳理、推荐需求的梳理,确定明确的推荐系统使用意向。
2.项目准备即根据产品运营部门的业务需求梳理和平台用户现状,确定项目团队、项目范围、评估硬件成本、周期、验证指标,形成项目计划。
3.系统研发即根据已立项的推荐需求开发相应功能,并通过离线方式验证符合商用需求及满足性能。
4.系统部署即将系统部署至已准备好的服务器,并开发能够控制推荐策略、监控推荐效果及方便运营人员干预的推荐系统后台。
5.数据采集即针对用户行为进行埋点,定向收集用户行为数据,并上报至推荐系统。
6.模型训练即根据上报的用户行为数据系统自动生成语义、用户协同等模型用于输出推荐结果。
7.AB Test方式试点上线即选定试点场景,评估推荐系统价值。
8.效果调优即根据测试结果定向优化推荐功能、模型等,使推荐系统对于指标有较为显著地提升。
9.全量上线即逐步将推荐系统应用到各业务场景中。
10.数据跟踪与优化即运营人员持续跟进推荐效果,并制订切实有效的运营策略并反馈至研发部门进行持续地迭代优化。
我们可以看到,通过自研的方式上线推荐系统共需10个步骤,每个步骤都需要投入不少的人力。成熟的算法团队(有推荐系统相关设计经验)从系统的研发、部署、模型训练至ABTest形式上线,保守估计需要1年的时间。而仅仅上线可能是远远不够的,因为实验室的产品跟商用的产品完全是两个概念。商用产品需要持续地根据数据指标进行系统的评估、优化,可谓是一个大工程。所以一般而言,选择自主研发的企业客户往往具备一定的研发实力,具备一定的系统开发与互联网运营的人才储备与基因。如淘宝、拼多多、今日头条等。当然,其优点是可以基于业务场景深度定制算法,锻炼了技术团队,有利于公司技术的积累。