针对内测用户反馈,由于前一天点击了几个动画,导致第二天推荐的动画屏占比较高,于是开始对此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分析的更多相关文章

  1. Slope one—个性化推荐中最简洁的协同过滤算法

    Slope One 是一系列应用于 协同过滤的算法的统称.由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出. [1]有争议的是,该算法堪称基于项目评价的non ...

  2. 个性化推荐系统(七)--- ABTest ab测试平台

    个性化推荐系统.搜索引擎.广告系统,这些系统都需要在线上不断上线,不断优化,优化之后怎么确定是好是坏.这时就需要ABTest来确定,最近想的办法.优化的算法.优化的逻辑数据是正向的,是有意义的,是提升 ...

  3. Paper Reading:个性化推荐系统的研究进展

    论文:个性化推荐系统的研究进展 发表时间:2009 发表作者:刘建国,周涛,汪秉宏 论文链接:论文链接 本文发表在2009,对经典个性化推荐算法做了基本的介绍,是非常好的一篇中文推荐系统方面的文章. ...

  4. 多维数组分解----SVD在推荐系统中的应用-

    http://www.janscon.com/multiarray/rs_used_svd.html [声明]本文主要参考自论文<A SINGULAR VALUE DECOMPOSITION A ...

  5. SVD在餐馆菜肴推荐系统中的应用

    SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...

  6. RS:推荐系统中的数据稀疏和冷启动问题

    如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题. 冷启动问题主要分为三类: (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使 ...

  7. 14、RALM: 实时 look-alike 算法在推荐系统中的应用

    转载:https://zhuanlan.zhihu.com/p/71951411 RALM: 实时 look-alike 算法在推荐系统中的应用 0. 导语 本论文题为<Real-time At ...

  8. 基于baseline、svd和stochastic gradient descent的个性化推荐系统

    文章主要介绍的是koren 08年发的论文[1],  2.3部分内容(其余部分会陆续补充上来).koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文章目 ...

  9. Android中AppWidget的分析与应用:AppWidgetProvider .

    from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...

随机推荐

  1. 在C#代码中应用Log4Net系列教程

    在C#代码中应用Log4Net系列教程(附源代码)   Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4 ...

  2. 用django搭建一个简易blog系统(翻译)(二)

    03. Starting the blog app 在这部分,将要为你的project创建一个blog 应用,通过编辑setting.py文件,并把它添加到INSTALLED_APPS. 在你的命令行 ...

  3. 反射实现IOC功能

    通过反射实现IOC功能   这段时间园子里有不少介绍IOC组件的文章,由于自己也一直在学习IOC的各种组件,及IOC的思想,常见的IOC组件很多:AutoFac.Ninject.Utity包括.NET ...

  4. jquery validate 验证

    JSP中引入 <link href="themes/gray/easyui.css" rel="stylesheet" type="text/c ...

  5. CodeBlocks的下载安装、配置、简单编程

    CodeBlocks的下载安装.配置.简单编程 IDE简介 http://www.baidu.com/s?wd=codeblocks ,这里只是介绍Windows平台下的IDE环境配置. CodeBl ...

  6. Ajax实现天气预报功能

    实现天气预报功能 闲来无聊,写下此文 经常看见很多网站上有那种天气预报功能,自己之前也写过一个,不过属于那种涉及WCF服务引用那种,今天发现一个更为简单的方式来实现,使用Javascript和Ajax ...

  7. 37条常用Linux Shell命令组合

    序号 任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \; find . type f -size 0 -delete 2 查看进程, ...

  8. poj-3898 Software Industry Revolution DP

    题目链接: http://poj.org/problem?id=3898 题目意思: 有两个字符串,模式串和原串.每个字母有一个权值,a为1,b为2,...z为26 模式串中‘ ?’可以被一个字母代替 ...

  9. Android中Bitmap, Drawable, Byte之间的转化

    1.  Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArrayOutputStream(); bitmap.compress(Bitmap. ...

  10. 使用kettle工具将文本文件的内容插入Linux虚拟机下的mysql表中

    一.      解压kettle包 1.把包拷到Linux系统下 还有mysql的驱动包 2.解压zip后缀的包 输入命令:unzip /software/pdi-ce-7.0.0.0-25.zip ...