个性化推荐系统中的BadCase分析
针对内测用户反馈,由于前一天点击了几个动画,导致第二天推荐的动画屏占比较高,于是开始对此badcase进行分析。
首先分析了该用户的历史观看纪录,由于系统升级,日志缺陷问题,导致该用户10.15-11.3之间的日志没有收集到,但是这就出现了前面的假设不成立现象,由于没有收集到新的数据,对用户画像是不可能体现出前天的动画,动漫以及迪斯尼这些具有偏重的画像词。
首先对问题进行了分析,问题可能出现在时间间隔上,因为我们引用了时间间隔作为用户对某一电影的喜好偏爱权重的计算,导致这个问题可能有两方面原因:
1.随着时间的推移计算,某些对用户的画像的词出现了小的波动,但是这些小的波动可能会导致不可预料的后果,例如:在问题出现前对用户的画像可能是:
person艾恩·贝利:2.694,伊万·阿达勒:1.992,苏菲·玛索:1.897 label苏菲·玛索:0.451,让·雷诺:0.361,逃之夭夭:0.271,你丫闭嘴:0.271,SophieMarceau:0.226,JeanReno:0.226,八面埋伏:0.203,法国:0.169,法国电影:0.155,悬疑:0.130
但是时间推移之后某些权重开始凸显出来变成下面这样:
person阿兰·里奇森:3.979,赖虹宇:3.979,郭度沅:3.678 label迪斯尼:1.186,动画:1.129,浪漫:1.119,经典:1.028,3D:1.010,奇幻:0.940,国漫:0.900,效果好:0.800,侏罗纪公园:0.800,斯皮尔伯格:0.775
分析发现,person 中三个演员属于偏冷门演员,所以电影不会太多,label标签中迪斯尼,动画这两个具有极大的代表性,他们覆盖了动画非常之多,导致推荐的都是动画之内的,这样效果肯定不好,后期可以做一些处理,但是问题来了,是不是时间原因导致的这个情况?或者还是用户真的看了许多动画类的行为电影导致的?通过日志继续查找原因。
发现自10.17号该用户升级了APP到4.1.0,而该版本的APP有一个Bug,在发送vv日志的时候不会发送用户点击的电影ID,导致了该用户最新的观影记录没有有效的记录,导致推荐的数据都是基于以前的用户行为推荐。但是为什么动画在以前的权重这么明显呢,深入代码发现我们在日志处理环节做了一个FeedBackLogwithRate,这个处理的目的是当用户提交了已看过和不喜欢的电影,特别是已看过的电影,我们会将用户的这一行为当成该用户的一种最新行为,距离当前观影日期最近的行为,导致推荐的问题复现。
另外一方面导致这个问题的原因是在usermovieA 环节,因为我们在糅合用户画像之后与电影进行匹配的过程中,本身库中某些大标签他的电影数就多,如:韩国,爱情,成龙,周星驰,青春等,我们在这一块只是做了一个权重的排序,在这一块很难有一个区别度去对各个类别都选择,所以我当前的另外一个思路就是对某一个类别或者标签只取一定量,超过这个量就不在增加。目前还在测试中。
个性化推荐系统中的BadCase分析的更多相关文章
- Slope one—个性化推荐中最简洁的协同过滤算法
Slope One 是一系列应用于 协同过滤的算法的统称.由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出. [1]有争议的是,该算法堪称基于项目评价的non ...
- 个性化推荐系统(七)--- ABTest ab测试平台
个性化推荐系统.搜索引擎.广告系统,这些系统都需要在线上不断上线,不断优化,优化之后怎么确定是好是坏.这时就需要ABTest来确定,最近想的办法.优化的算法.优化的逻辑数据是正向的,是有意义的,是提升 ...
- Paper Reading:个性化推荐系统的研究进展
论文:个性化推荐系统的研究进展 发表时间:2009 发表作者:刘建国,周涛,汪秉宏 论文链接:论文链接 本文发表在2009,对经典个性化推荐算法做了基本的介绍,是非常好的一篇中文推荐系统方面的文章. ...
- 多维数组分解----SVD在推荐系统中的应用-
http://www.janscon.com/multiarray/rs_used_svd.html [声明]本文主要参考自论文<A SINGULAR VALUE DECOMPOSITION A ...
- SVD在餐馆菜肴推荐系统中的应用
SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...
- RS:推荐系统中的数据稀疏和冷启动问题
如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题. 冷启动问题主要分为三类: (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使 ...
- 14、RALM: 实时 look-alike 算法在推荐系统中的应用
转载:https://zhuanlan.zhihu.com/p/71951411 RALM: 实时 look-alike 算法在推荐系统中的应用 0. 导语 本论文题为<Real-time At ...
- 基于baseline、svd和stochastic gradient descent的个性化推荐系统
文章主要介绍的是koren 08年发的论文[1], 2.3部分内容(其余部分会陆续补充上来).koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文章目 ...
- Android中AppWidget的分析与应用:AppWidgetProvider .
from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...
随机推荐
- [转]Libev教程
libev Table of Contents 1 libev 1.1 About The Code 1.2 EventLoop 1.3 Watcher 1.4 How it works 1.4.1 ...
- 【ios开发】自定义Actionsheet实现时间选择器和省市区选择器
最近的工程有一个个人资料页面,需要填写生日和地区的信息,需要自己定义个actionsheet. 但是到网上搜了一下都不太合适,只好自己研究研究,重写了一个.共享出来给大家用用,突然发现自己精神很高尚吗 ...
- poj2187(未完、有错)
凸包求直径(socalled..) 采用Graham+Rotating_Calipers,Graham复杂度nlogn,RC算法复杂度n,所以时间复杂度不会很高. 学习RC算法,可到http://cg ...
- Memcached缓存入门篇
Asp.Net中使用Couchbase——Memcached缓存入门篇 前言 本文的主要目的就是简单的进行使用Memcached.这是Memchahed的官网http://memcached.org/ ...
- discuz的门户文章页中增加百度分享代码
discuz虽然有百度分享插件,但是不太想用,于是自己手动添加了百度分享代码: 一.在http://share.baidu.com/地址中申请设置自己的百度分享代码,选择的风格完全按照个人喜好进行选择 ...
- SharePoint开发
做SharePoint开发有时候是一件比较痛苦的事情,毕竟庞大的框架总是笨重的~~ 往往如果采取传统的方式开发SharePoint的话,更改一个代码需要有以下操作: 1)更改代码 2)VS编译——&g ...
- java版微信公众平台自定义菜单创建代码实现
微信公众平台自定义菜单创建代码实现—java版 搞了两天的自定义菜单,终于搞定了,现在分享下心得,以便后来者少走弯路...... 好了,先看先微信官方的API 官方写的很详细,但是我看完后很茫然,不知 ...
- WinForm中 事件 委托 多线程的应用
WinForm中 事件 委托 多线程的应用[以一个下载进度条为例] 第一步:首先我们创建一个winfor的项目 第二步:我们建一个窗体在一个窗体里面 打开一个另外的窗体 另外的窗体有一个按钮 点击后就 ...
- web register/validation/login system flowchart
I spent several days on building a system about this. And make it work well with serveral thousand l ...
- lll
//// whywhy unsigned int T = 1; ~T = 4294967294; T = 2;~T= 4294967293 ;T = 0;~T=4294967295; int T = ...