个性化推荐系统中的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 ...
随机推荐
- Python 用SMTP发送邮件
一.简介 上面介绍了传统邮件的生成和解析,这些都是non-internet,也就是不需要网络就可一完成的.那么当生成了邮件,下一步就是发送了,本文就讲解利用SMTP协议发送邮件. 正如SMTP(Sim ...
- ACM STUDY
ACM学习<二> 穷举算法思想: 一句话:就是从所有可能的情况,搜索出正确的答案. 步骤: 1.对于一种可能的情况,计算其结果. 2.判断结果是否满足,YES计 ...
- Json反序列化
迟来的Json反序列化 源码发布 搞了一个下午,终于搞定改了这个号称中国的github...以后源码直接在这里发布了(英文实在太烂了) https://code.csdn.net/jy023050 ...
- IceMx.Mvc 我的js MVC 框架六、完善植物大战僵尸(向日葵登场)
有图有真相,废话不多说上图 看到园友的支持很受鼓舞,更觉得应该做下去,虽然自己是个菜鸟,但也应该共享自己的心得,只要有人获益那就是值得的. 我的下载需要csdn论坛的1个积分,之所以不完全免费出去是因 ...
- Asp.net MVC3 中,动态添加filter
Asp.net MVC3 中,动态添加filter filter是attribute,不支持泛型,传入的参数必须是固定的值.总之很受attribute本身的限制. 发现一篇老外的文章,动态设置filt ...
- 对C# 中Readonly的再认识
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景. 工作原理 readonly为运行时常量,程序运行 ...
- git的初步使用---本地代码库的使用和提交
git的初步使用---本地代码库的使用和提交 git是一个好东西,但对于新手来说,这个工具并不好使用,因为它里面涉及到很多东西,而这些东西新手一时间是无法理解的.不幸的是,本人就是新手一枚,所以,这里 ...
- 关于模型的合法性,Entity.IsValid()合理吗?
关于模型的合法性,Entity.IsValid()合理吗? 背景 见过很多框架(包括我自己的)都会在实体的定义中包含一个IsValid()方法,用来判断实体的合法性,是否应该这样设计呢?本文就这个问题 ...
- Software Industry Revolution----POJ3898----DP
题目地址:http://poj.org/problem?id=3898 题目意思: 给你一个模式串,再给你一个原串,要你去匹配 模式串里面的?可对应任意一个字符 *号可对应0个或多个字符 其中a=1, ...
- 算法之prim算法
最小生成树是数据结构中图的一种重要应用,它的要求是从一个带权无向完全图中选择n-1条边并使这个图仍然连通(也即得到了一棵生成树),同时还要考虑使树的权最小. prim算法就是一种最小生成树算法. 普里 ...