一文搞懂工程化协同推荐算法(二)
作者:livan
来源:数据EDTA
前言
上篇文章:一文搞懂工程化协同推荐算法(二),介绍了协同推荐算法的原理和数理表达,接下来我们介绍一下工业上该如何理解协同推荐。
2、协同推荐算法的库表表达
上面五花八门的公式怎么用?我们在构建基本推荐系统时需要预先处理几张表?这些恐怕是推荐算法设计时的灵魂拷问吧。作为一个产品经理,特别是数据产品经理,在沟通推荐的需求的时候如果拿着上面的公式去找IT恐怕会被打回来吧,那我们下面将它转换成计算机人员比较喜欢的表的结构图。
先聊一下推荐的基本结构吧,大家都执迷于算法的推演,其算法的重要性已经不用多言了,他在整个推荐系统中处于什么位置呢?
从上面可以看出算法是立根于底部的一层结构,从整个大数据仓库中获取数据,再在算法层进行运算,将运算结果放入召回层,然后在排序层对召回的内容进行排序,最终呈现在页面上。其中,召回层是指将满足用户喜好的前K个物品从数据层提取到这一层次,等待呈现备用,排序层则是根据一定的排列规则,加入随机因子,按照用户的喜好进行排序的层级。排序层也是有各种算法的,这里的算法主要是解决如何高效的按照喜好进行排序?在什么位置放置用户最喜欢的商品?如何添加随机因子以保证数据的多样性?等。
简单讲完算法的位置,我们还是回到协同算法上来,毕竟这篇文章主要讲解的是算法。
汇总上面的几个推荐算法,有没有感觉无论如何都离不来两张表:U-V评分表、商品标签表,清爽~,我们的整个协同推荐算法体系中,这两张表可以说是异常重要,一定要首先构建完成,然后再在这两张表的基础上进行计算延伸。
图表结构如下:
从上面的表逻辑中是否能够看出一些端倪呢?
上面的表虽然看起来较为复杂,但是整体的思路还是很明确的,公司最初构建两个表:物品标签表和U-V评分表,在这两个表的基础上构建下面的一长串表,然后经过各种运算,实现底端的四个“U-V偏好表”,作为推荐表。这四个表在平时生产中一般会有多个,因其使用场景不同,推荐时往往会综合使用。
上面讲述了基本的四种推荐算法的常用套路以及对应的图表结构,初创公司往往会使用一些类似的图表结构,其复杂程度也相对简单,但是随着应用场景的逐渐增多,以及对公司客户/商品的深入了解,上述数据表结构就会日趋复杂了。
比如:
1) 添加什么逻辑能够增加推荐的稳健性,不至于因为脏数据而引发推荐大的波动?
2) 如何优化冷启动的问题?
3) 公司新添加社交链该如何应用到推荐中?
4) 喜欢某个新闻的人不一定对相似的新闻感兴趣怎么解决?
5) 放入到召回池中的数据如何排序?
6) 如何避免出现“信息茧房”,使用户看到多样化的内容?
文章一开始笔者也讲过,推荐系统本身是一套解决方案,随着发现的问题越来越多,越来越多的解决思路也呈现出来,这一文章作为推荐的基础篇,希望能给大家带来一些有价值的思考。
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢