当前位置:文档之家› 数据挖掘技术在推荐系统的应用by陈运文

数据挖掘技术在推荐系统的应用by陈运文



Item-based collaborative filtering


Association rule


Content-based algorithm


Latent Factor Model


Graph-based model

实践中的一些关键点
关键点之:数据预处理

数据是王道

数据是保证推荐结果质量的基石
推荐系统的应用
应用条件Байду номын сангаас

常见场景

信息的极大丰富

个性化服务

候选的结果 待挖掘的数据

视频 书籍 新闻 … Apps 游戏

消费需求存在多样性

个性化营销

单一/从众 个性/品味

电子商务公司

需要增强用户粘性

个性化广告

精准广告/情境广告
知心助手
推荐系统的研究对象
基础对象

关键点之:user冷启动的处理

热门推荐(排行榜)永远都是一个可用的方案

点击总量最多 最近点击最多 评分最高 …… 性别、年龄 来自其他应用的数据

充分利用任何用户信息


口味测试

有代表性的选项 热门/大部分用户熟知的选项 有区分度的选项
关键点之:item冷启动的处理
算法概要:Latent Factor Model

user/item biases:

偏好信息的充分利用 能充分利用用户、物品的profile等属性信息 属性之间能方便的进行各种组合
转化为求解优化问题:
– 常用方法:Stochastic Gradient Descent (SGD)
算法概要:Latent Factor Model
显式关系(explicit relations) 隐式关系(implicit relations)
常见推荐场景

user items

user users
常见推荐场景2

item items
智能推荐的充分运用 (LinkedIn)
30+ types
智能推荐的巨大价值 (LinkedIn)

Content-based methods永远都是一个可用方案

Category Tags ……

相关技术(NLP、ML)

自动分类 自动标签提取

倒排索引的使用

适用于item数量庞大

索引的查询与合并
关键点之:必须重视的外围因素

Data from Christian Posse, Chief Scientist, LinkedIn

如何筛选样本?

Session分析 正负样本分布的时间特征

注:数据来自KDD Cup 2012 Track1
数据预处理之筛选方法

Session切割

根据正样本的分布,在有效session中挑选可靠负样本

预处理的结果

Negative: 67,955,449 -> 7,594,443 (11.2%) Positive: 5,253,828 ->4,999,118

有效补充了显式数据不足的问题 MAP@3效果提升


KDD-Cup-track1:上升7.89% 232万 user,6095item,7320万 training samples,3491万 testing samples

更多数据可以使用(标签、keywords等)
关键点之:SNS关系的使用
关键点之:利用地域信息

特定的应用场景

LBS、O2O (e.g. 推荐一个饭店?)

基于规则(Rule-based)

附近XXX内的YYYY

基于地域信息的关联规则挖掘 Item-based协同过滤


Item similarity计算时加入距离属性

Latent factor

User-location作为隐式反馈使用

算法概要:协同过滤
user-based

item-based

user-similarity
item-similarity

prediction

prediction
算法概要:Latent Factor Model
算法概要:Latent Factor Model
算法概要:Latent Factor Model

Model-based


Content-based

推荐相关的一些算法

Ensemble Models

Logistic Regression (LR) Gradient Boost Decision Tree (GBDT) Restricted Boltzmann Machine (RBM) …

算法优点:


将用户和物品用隐特征(latent feature)连接在一起 Matrix Factorization有明确的数学理论基础(singular value)和优 化目标,容易逼近最优解 对数据稀疏性(data sparsity)和抗噪音干扰的处理效果较好 延展性(scalability)很好
数据挖掘技术在推荐系统的应用
陈运文 博士 kddchen@
引言
陈运文 博士 kddchen@
数据挖掘和推荐系统

数据挖掘是利用各种分析方法和分析工具在大规模海量数 据中建立模型和发现数据间关系的过程;挖掘得到的这些 模型、关系和规律可以用来作出决策和预测 数据挖掘的应用

更多的有效数据 更好的推荐效果

Netflix prize: user rating num/RMSE

数据总是越多越好?

数据是否有效是前提
数据预处理实例

数据分布情况(腾讯微博好友推荐)

7320w training samples 负样本占92.82%

“负样本”的划分

用户不喜欢被推荐的对象 用户忽略推荐内容,没有点击

Online Reranking

过滤/去重 多样性 补足策略 商业逻辑
各算法的思想:直观的例子

用户“张三”看电影,候选A,B,C;怎样做?
1 Statistics-based 2 Content-based 3 User-based 协同过滤 4 Item-based 协同过滤 5 Slope one 6 Latent factor Model 7 ……

隐式反馈(implicit Feedbacks):

浏览、收听、点击、下载。。。 User/item相关的profile、keyword、tags 反馈中占大多数(往往被忽略)

如何利用好隐式反馈?

对提高推荐精度有良好效果(SVD->SVD++)
关键点之:隐式反馈的使用

用于修正user/item latent vector
算法是数据挖掘重要的一环,但算法不是全部 数据、架构、算法、人机交互都需要关注,才能形成合力

好的系统是靠打磨出来的

优化要持之以恒 细节决定成败

个性化数据挖掘是未来方向

让数据创造出价值 (数据坟墓金矿) 个性化让生活更多彩,更美好!

概念1:个性化的需求挖掘
概念2:推荐和搜索

用户明确想要什么,且能明确描述时 搜索引擎 用户需求不明确,或难以表达时 推荐引擎 搜索(主动) vs 推荐(被动) 大量技术相互借鉴(e.g. Learning-to-rank , pCTR)
概念3:信息过载的处理


信息过载(information overload) 用户有越来越强的信息过滤 (filter)需求 用户需求的个性化
注:云中书城的实践

推荐理由:

主动收集负反馈:

展现方式:
挖掘与实践的一些知识点

对性能的考虑


用户数据的及时收集和整理

分布式挖掘和在线系统的结合 全量挖掘和增加挖掘 NoSQL的使用 Cache机制

正负反馈的平衡 有效的预处理

推荐算法的选择

效果评估:从线下到线上

各取所长,互相补位 算法没有好坏之分,只有是否合适
MAP/nDCG:top-N推荐 RMSE/MAE:评分预测问题 A/B Testing:点击率、转化率
推荐系统的现状和体会

应用的现状

需求强烈,应用面广泛 研发的现状:初级阶段 宽广天地,大有可为

给同学们的建议

持之以恒很重要 空谈误国,实干兴邦
行为/关系

item

user-item关系


商品,视频,音乐,新闻, 小说,游戏,Apps … user …

显式反馈(explicit feedbacks) 隐式反馈(implicit feedbacks)

user

user-user关系

基础属性(demographic) 社交关系 …
相关主题