6.5 近实时矩阵分解算法

前面三节对矩阵分解的算法原理、求解方法、拓展进行了详细介绍。前面介绍的方法基本上都适合做批处理,通过离线训练模型,再为用户推荐。批处理比较适合对时效性要求不太高、消费标的物所需要的时间比较长的产品,比如电商推荐、长视频推荐等。而有些产品,比如今日头条、快手、网易云音乐,这类产品的标的物要么用户消费时间短,要么单位时间内会产生大量标的物(如用户很短的时间就听完了一首歌,每天有大量用户上传短视频到快手平台)。针对这类产品,用离线模型不能很好地捕获用户的实时兴趣变化,另外,因为有很多新标的物加入,批处理也无法及时将新标的物整合到推荐系统中,解决这两个问题的方法之一是做近实时的矩阵分解,这样可以实时反映用户兴趣变化及更快地整合新标的物至推荐系统。

那么可以对矩阵分解进行实时化改造吗?答案是肯定的,业内有很多这方面的研究成果及工业应用实践,有兴趣的读者可以详细阅读本章参考文献[1][2][14][15][16]这5篇文章有对近实时矩阵分解算法的介绍及工程实践经验的案例分享。本节讲解一种实时矩阵分解的技术方案,该方案是腾讯在2016年发表的一篇文章上提供的(见本章参考文献[1]),并且在腾讯视频上进行了实际检验,效果相当不错,该算法的实现方案简单易懂,非常值得借鉴。下面从算法原理和工程实现两个维度来详细讲解该算法的实现细节。