1、应用驱动的推荐系统架构和技术选型|引子假如用户正在浏览下面的产品,右边的产品你认为哪个值得推荐?档次档次价格 4999价格 3999档次档次档次价格 4999价格 5299价格 1999引子个性化推荐就是在最合适的时间以最恰当的方式向用户推荐你要他看到 的资讯、产品或服务引子“How do you sell a $2,000 watch?”“Put it next to a $10,000 watch.”Center Stage EffectPrice Anchoring Effect大数据驱动智能应用大数据是信息化技术的自然延伸,意思是无处不在的数据DT 时代IT 时代业务数据业务IT系统沉
2、淀智能化大 数 据业务IT系统自动化数据化现实业务现实世界为什么数据智能应用在互联网上广泛应用?针对业务建模:数据双胞胎分析发现数据世界数据化云和物联网应 用现实世界针对业务建模:数据双胞胎分析发现数据世界现实世界个性化推荐建模思路客户产品营销将业务数据化对关键业务要素数据建模朴素的建模:协同过滤将用户和产品看作不可分的“原子”,营销业务看做用户和产品的匹配程度,用一个偏好矩阵描述。产品1产品2产品3.产品n用户1用户2.25.3114.通常,矩阵是高度稀疏的。建模的目标就是预测出矩阵中的空白处的值。用户m问题一:偏好矩阵的初始数据从哪里来?一般而言,有显式偏好和隐式偏好两种数据来源: 显式偏
3、好:可以分为两类:数字型显式偏好指用户对产品进行主动的评分、投票、购买、收藏等。文本型显式偏好指用户评论、投诉、建议,然后对文本进行情感分析从而得到的偏好程度。 隐式偏好:根据用户在不同渠道的行为来推测,包括点击、页面停留时间、跳转、关闭、LBS地理位置等。隐式偏好一般在电子渠道进行采集。问题二:偏好矩阵如何填充?有很多种原则和算法。以LFM(Latent Factor Model)方法为例,通过矩阵分解把数据提炼成主题,基于主题,能取得比采用原始的充满噪声的数据更好的推荐效果。 基本思路:在用户和产品这两类元素之外引入“主题”这一隐含元素,将用户对产品的偏好转换为“用户-主题-产品”之间的三
4、层关系。Item 1 Item 2 Item 3 Item 4Class 1 Class 2 Class 3Item 1 Item 2 Item 3 Item 4=User 1 R11User 2 R21User 3 R31R12R22R32R13R23R33R14R24R34User 1P11P12P22P32P13P23P33Class 1 Q11Class 2 Q21Class 3 Q31Q12Q22Q32Q13Q23Q33Q14Q24Q34User 2 P21User 3 P31朴素的建模不够优秀客户产品营销用户之间有差异性产品之间有差异性营销不是简单的打分对关键业务要素数据建模更好的
5、建模客户产品营销用户画像产品画像四大引擎对关键业务要素数据建模更好的建模:示例用户行为购物车浏览浏览此时该推荐什么?业务目标提流量保利润去库存用户产品人口属性历史关注冰箱 洗衣机价格敏感Yes No配置价格优惠活动A200 B102性别年龄地区品牌颜色功能市价利润一线商圈制冷方式中关村国贸直冷风冷业务环境购物平台时间地点PC小程序App上午下午家公司设备操作系统iOS 安卓体系化建模子模型分治目标结果抽象&设计验证&交付模型精化细模型用户画像体系:以银行为例支持应用场景用户基本属性 用户关联关系 用户兴趣偏好 用户价值信息 用户风险信息 用户营销信息人口属性生活关联关系金融产品偏好用户自身价值
6、用户风险评价近期需求信息性别年龄用户在我行的产品偏好家庭关系是否有子女同事关系朋友关系社区生活圈子.客户近期的需求用户自身的价值产品持有比例产品持有金额.从行内、行外不同的维度对用户的风险进行评价(包含金融+非金融)第二维:标签应用深度地域预测标签模型标签事实标签是否有车车的品牌型号是否有房房的大小、位置年收入区间是否企业高管是否他行VIP.近期是否准备结婚人行征信评分百分点征信评分信用风险等级洗钱风险等级综合授信额度信贷违约记录拖欠缴费记录还款能力生活信息非金融产品偏好近期是否生小孩近期是否换工作近期是否出行近期是否想买理财用户基本生活类标签用户的兴趣爱好金融关联关系用水、用电天然气使用信息
7、.喜欢高尔夫经常看财经类新闻用户在本行的业务关联.资金关联雇佣关联买卖关联担保关系.位置信息行内渠道偏好用户对我行贡献违约概率营销活动信息.家庭、单位地址一般生活半径日常打车路径航空航班记录用户对我行渠道使用用户在我行的金融资产、交易为我行带来的贡献用户对营销活动、以及我行各类产品服务的关系.手机银行使用频率微信银行使用习惯社交网络关联关系黑名单信息EVA忠诚度信用卡逾期黑名单小贷逾期黑名单欠费用户名单保险骗保用户名单最高法失信人名单公安欺诈名单.自定义信息用户社交网络图谱行外渠道偏好客户综合价值钱包份额综合成本业务紧密度业务支持度.用户满意度用户流失概率营销活动接受程度粉丝数量是否加V微信朋
8、友圈社交网络影响力.不同属性的自定义标签用户全网渠道偏好白领上网习惯上网时长.营销活动活跃度.高收入人群.第一维:业务层次划分用户标签建模用户画像标签使用模型/算法预测算法人口属性消费能力人群属性用户流失概率用户近期需求时间序列预测标签.定价模型SVR动态模型违约概率逻辑回归CLV模型产品扩散模型 流失预警模型分层贝叶斯.RFM模型模型预测机器学习特征提取建模特征选择建模EMBaggingAdaBoost人口属性用户价值用户兴趣爱好用户活跃度.预测优化模型 .模型标签产品购买偏好用户关联关系渠道使用偏好用户满意度推荐算法SlopeOneContent-based用户风险评分AprioriNBI
9、二部图FPTreeHybrid CFHeat DiffusionSVD矩阵分解.建模分析相似度计算欧氏距离皮尔逊相似度人口属性账户历史趋势产品购买次数渠道使用频率投诉次数.事实标签Jaccard相似度LSH局部敏感余弦相似度.哈希资金往来趋势分类、聚类算法KNN贝叶斯网络SVM支持向量机统计分析神经网络.文本挖掘算法客户基本信息客户持有产品客户渠道使用客户历史交易客户资金往来客户风险等级原始数据TF-IDFVSMTextRankTopicModel客户收入支出信息.CRF条件随机场.LDA推荐业务建模个性化推荐系统规则引擎场景引擎 判断用户的兴趣偏好 判断用户处于什么场景下,有什么目标场景引擎
10、控制台规则引擎场景计算制定业务规则设置 业务的核心:结合用户、场景、算法输出数据和业务KPI,决定为用户推荐哪些内容算法引擎展示引擎回测A/B Test判断如何将推荐内容以最佳的展示方式呈数据数据现在用户面前算法引擎展示引擎 计算用户的相似度、产品的相似度、用户对产品的评分、用户分群、热门排行BRE 0.x:架构排序和过滤提升准确率的关键数据采集推荐服务异步计算Redis消息队列Redis增量CF内存数据库灵活高效存储Item-Item相似度和User-User相似度,提升召回率的关键纯内存计算,做好快照备份按配置路由,分担计算量增量算法,不停歇的计算,按需输出结果BRE 0.x:特点内存计算
11、SCHEMA FREE 优势 实现简单计算快 优势 存储简单极易扩展甚至变更 劣势 劣势 开发复杂无法支持大数据量无法快速检索BRE 1.x:架构分析后台数据采集推荐服务消息分发Lambda架构雏形Redis消息队列消息异步入库后台Redis历史数据固化经营分析报告Redis消息队列增量算法2-Step GraphCF,LR统计分析MySQL热门统计全量算法FPGrowth热门统计:特点支持业务数据量电商推荐引擎 优势 快速开发实时处理轻量级GBTB级组件多采用主从备份,存在需要手动切换的组件,难以保证很高的可用性可用性结构简单数据安全差,只能定期备份快照简单,算法结果直接输出 劣势 可用性业
12、务复杂度扩展性性能差,无法适应快速的业务增长单机为主,难以跨机器分布负载离线处理扩展性BRE 2.x:不只是算法控制台实时计算平台离线处理平台规则引擎场景引擎业务规则设置场景计算制定算法引擎展示引擎数据数据回测A/B TestBRE 2.x:架构集群入口Nginx 高可用集群集群监健康检采集服务层分布式RPC框架ICE垃圾过滤REST消息接口异步采集自定义采集分布式消息队列实时处理离线处理清洗标准化分析归一化统计实时推荐算法数据消费数据存储结构化实时效果监测全量/离线推荐算法HDFSMySQLHiveHBaseRedisESBRE 2.x:分布式实时计算实时/增量算法框架Proximabolt
13、boltboltboltspoutspoutspoutbolt反向代理服务器集群MongodbRedisES实时数据采集实时数据bolt日志数据文件数据Kafkabrokerbolt CF、LR、热门统计用户短期画像BRE 2.x:大规模离线建模数据采集经营分析报表RAW数据集市多主题数据库抽factmid取清理归一去重离线/全量算法引擎内存数据库FPGrowth,GBDT、Deep&Wide、热门统计用户长期画像应用驱动的推荐系统架构控制台实时计算平台离线处理平台规则引擎场景引擎业务规则设置场景计算制定算法引擎展示引擎数据数据回测A/B Test建议为业绩服务,而不是为Precision/Recall服务定位自己是业务人员,而不是技术人员学会数学建模,而不是推荐算法你不是没有数据,你只是不懂业务心得感想推荐是通用技术,但更需要定制服务推荐是个大应用,但不是个大生意谢谢