lfm 在实际中的应肜问题
来源:2-2 LFM算法的理论基础与公式推导

GoFromZero
2018-12-06
老师,感觉LFM用来应用到召回层没有什么优势。
原因:
1: 如果用做线上实时召回,用户交互过的商品品向量,需要与商品池中千万级的商品向量做相似度计算,这个计算量
太大,在线上做不适合。
2: 如果像itemcf一样离线计算商品相似度, 将k个相似推到线上进行实时召回。则需要离线计算两两商品向量的相似度
再取TopK个相似,这个两两相似计算也是非常大,在千万级的商品上明显无法做。而itemcf在离线相似度相对比较
简单一些
所以想问一下老师,您一般在工程中是怎么应用lfm模型的?
写回答
1回答
-
在0-1系统起步阶段,此时user少item多,可以做user2item召回,也就是利用分布式像sparkmllib等方式实现user召回集然后直接写kv。在成熟系统中,此时用户量级远超item量级,可以做item2item召回,比如你item库举例来说是kw,但是通过一些先验知识砍掉一些无用的计算,不需要kw*kw的计算。算出相似度矩阵然后写kv。 这两种方式我分布在系统的不同阶段都采用过。 无乱哪种方式,都是离线写kv。如果做成实时的向量召回,这个model还是太浅层。需要用deep match等model,可以看我的慕课网手记。线上采用fasis。这样召回。但是这种召回方式效果我在实践中一般情况。
012018-12-06
相似问题