上QQ阅读APP看书,第一时间看更新
4.4 近实时协同过滤算法的工程实现
4.3节中的协同过滤工程实现方案适合做离线批量计算,比较适合标的物增长较缓慢的场景及产品(比如电商、视频、音乐等),对于新闻、短视频这类增量非常大并且时效性强的产品(如今日头条、快手等)是不太合适的。那么我们是否可以设计出一套适合这类标的物快速增长的产品及场景下的协同过滤算法呢?实际上是可以的,下面来简单说一下怎么近实时实现简单的协同过滤算法。
近实时协同过滤算法是基于Kafka、HBase和Spark Streaming等分布式技术来实现的,核心思想跟4.3节中的类似,只不过这里是实时更新的,具体的算法流程及涉及的数据结构见图4-8。下面我们对实现原理做简单介绍,整个推荐过程一共分为4步。
图4-8 近实时基于标的物的协同过滤算法流程及相关数据结构