信息流推荐多样性

信息流推荐多样性

一、问题现状

信息流产品中一个常见的问题是多样性越来越差,造成这种问题的原因在于机器学习算法本身。下面通过一副系统循环图来介绍多样性差的问题。
多样性系统循环图

  1. 资讯库随机推荐文章,由于是按照全库比例采样,娱乐占比较大,随机推荐给用户的娱乐资讯偏多。
  2. 用户点击娱乐的概率变大,算法根据用户的反馈,会更加倾向于给用户推荐娱乐类的新闻。
  3. 在选资讯入库时,由于娱乐文章的曝光大,ctr置信度高,算法会淘汰比较差的文章,保留比较好的文章,导致资讯库中娱乐类的文章保留概率大。
  4. 由于还有协同过滤算法,导致推荐给其他用户的娱乐资讯也逐渐增多。

随着时间的推移,我们的推荐系统就是娱乐app了,没有其他类别了。

下图反映了去看看比例的变化。
6月12号的资讯曝光分类占比
6月12号的资讯曝光分类占比

  11月18号的资讯曝光分类占比
11月18号的资讯曝光分类占比

由上图可以发现,娱乐占比已经从6月12日的29%上升到11月18日的45%;女人的占比从6%上升到25%。

二、解决方案

解决方案也很简单,只要将系统循环图中的正反馈切断或进行干扰即可。这里选择进行人工干扰。

在这里插入图片描述
为什么选择在资讯入库时进行干扰呢?由图中可以看到,其他推荐给用户的资讯都是算法根据用户兴趣进行计算的,进行干扰对用户体验和用户使用会产生较大的影响。资讯入库这里虽然也会对用户产生影响,但是,相对于其他途径影响较小。

具体怎样进行干扰?固定每个类别的每天资讯入库比例,按照类别比例进行选择。具体设置的类别比例如下:
在这里插入图片描述

三、多样性风险和应对策略

3.1 可能的风险

(1)人均阅读篇数和人均阅读时长下降

多样性执行加入了人工干扰,会将质量较好的娱乐类文章丢弃。预计会对目前的指标有影响,我们将这2个指标控制在下降3%之内。同时,资讯库类别占比达到预设值。

(2)新增用户对其他类别不感兴趣

多样性的改观会在一定程度上对新用户造成影响,如果新用户群体兴趣点只是娱乐,有可能会导致新用户转化降低。

(3)短时间内很难选出其他类别的高质量文章

短时间内,由于曝光不充分,在其他类别资讯选择上,置信度不是很高。选出的资讯质量并不能充分保证,其他类别的效果会明显不如娱乐。

3.2 应对策略

针对以上三种问题,应对策略如下:
(1) 逐步调整,不会一步到位,在控制类别比例的过程中,密切关注数据的变化。使得下降的幅度与多样性修正带来的好处达到一个平衡。

(2) 关注新用户的表现,新用户如果是兴趣多样性的用户,会提升新用户的点击转化。

(3) 随着时间的推移,曝光量的增加,其他类别的高质量文章选择将会越来越精确。

3.3 多样性评估

评估多样性应结合长期指标,目前列了如下,后续将继续跟踪:
在这里插入图片描述

四、 计划说明
计划12月4日与产品达成一致方案,若未按时出,则按此方案执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Robocode教程2——你的第一个robo,取个好名字哦

摘自:http://site.douban.com/widget/notes/7736245/note/210029011/ 你需要准备的东西:1.c语言的知识和一点点的java知识,robocode意在学习java,不要要太深的java水平,你只要理解java和c的区别就可以了。2.robocode A…

《关键对话——从“心”开始,如何确定目标》读书笔记(三)

从“心”开始,如何确定目标、 我们的问题并不是行为本身是错误的,而是我们的动机有问题,即我们常常弄错要面对的目标。 一、从心开始 对话高手总是能做到从心开始。在开展高风险对话时,他们总是首先明确目的和动机,无…

UI设计师的面试过程

Palantir Technologies是一家提供分析、整合、可视化各种数据的IT型技术公司。在该公司,前端工程师和后端工程师有同样的面试过程,前端工程师也需要的一定的编程基础。该公司技术博客Palantir TeckBlog日前发表了一篇博文《The UI Design Interview》&am…

C语言代码实现数组(简单)

前一节课讲了数组的删除功能实现&#xff1a;删除功能 本节课内容我们实现数组的反转功能和冒泡排序功能&#xff1a; #include <stdio.h> #include <string.h> #include <malloc.h> #include <stdlib.h>struct Arr{int * pBase; //存储数组第一个元…

数据在市场运营中的应用

数据在市场运营中的应用 1. 背景 目前的产品运营、用户拉新、渠道投放、留存等都是靠人工进行策略制定&#xff0c;有的公司和部门完全靠着以前的经验在尝试互联网产品的市场营销和运营。这样不仅效率很低&#xff0c;而且效果也不显著。 主要存在的问题有以下几点&#xff…

C语言的typedef用法

案例1&#xff1a; #include <stdio.h> #include <string.h> #include <malloc.h>typedef int zhangsan; //为int在多取一个名字 zhangsan等价于intstruct Student{int sid;char sname[100];char sex;} ST;int main() {int i 10; //等价于zhangsan i10…

信息流项目计划和思路

目录 一、对项目的认识. 4 1&#xff0e;用户需求和竞品. 4 2. 项目现状. 4 3. 发展前景. 4 二、项目的业务方向和思路. 6 1. 业务方向. 6 2. 2020年目标. 6 3. 思路. 6 3.1用户留存提升&#xff08;6%->12%&#xff09;. 6 3.2日活提升&#xff08;30万->80万…

MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中&#xff0c;N指的是字符的长度,VARCHAR类型最大支持65535,指的是65535个字节,但并不支持65535长度的varchar&#xff0c;65535中应该包含了所有字段的长度、变长字段长度标示…

数据结构链表知识入门

链表定义: n个节点离散分配&#xff0c; 彼此通过指针相连 每个节点只有一个前驱节点&#xff0c;每个节点只有一个后续节点 首节点没有前驱节点尾节点没有后续节点 专业术语: 首节点:第一个有效节点尾节点:最后一个有效节点头结点: 1&#xff0c;第一个有效节点之前的那个节…

《关键对话——注意观察,如何判断对话氛围是否安全》读书笔记(四)

《关键对话——注意观察&#xff0c;如何判断对话氛围是否安全》读书笔记(四) 在对话过程中&#xff0c;既要关注对话内容&#xff08;即讨论的主题&#xff09;&#xff0c;也要观察对话气氛&#xff08;即参与者的反应&#xff09;。越早意识到你和对方退出了对话机制&#x…

扬长避短使用Windbg和Visual Studio高效调试调试你的代码

扬长避短使用Windbg和Visual Studio高效调试调试你的代码 经常被问及这样的问题&#xff1a; 你为什么非要使用Windbg调试你的程序&#xff1f; 记得有一次面试的时候笔者也被问到这样的问题&#xff0c;我的回答是&#xff1a;不是我非要使用Windbg, 只是在不同的情况下使用不…

链表的分类

分类: 单链表 双链表:每一个节点有两个指针域 循环链表&#xff1a;能通过任何一个节点找到其他所有的结点 非循环链表 链表中第一个结点的存储位置叫做头指针&#xff0c;那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点&#xff0c;其实就是上一个的后继指…

机器学习基础笔记总结

最近在学习latex&#xff0c;将之前的机器学习基础知识相关的笔记用latex整理了以下&#xff0c;源地址如下&#xff1a; https://github.com/duankai/latex_book&#xff0c;感兴趣的可以自由下载&#xff0c;也可以随意使用latex的格式。 pdf 效果如下&#xff0c;文件可在h…

IOS基础:ActionSheet(上拉菜单)的实现

一看图就明白了&#xff0c;毋需多说。 [java] view plaincopyprint?UIActionSheet* mySheet [[UIActionSheet alloc] initWithTitle:"ActionChoose" delegate:self cance…

Eureka的优点

Eureka的优势 1、在Eureka平台中&#xff0c;如果某台服务器宕机&#xff0c;Eureka不会有类似于ZooKeeper的选举leader的过程&#xff1b;客户端请求会自动切换到新的Eureka节点&#xff1b;当宕机的服务器重新恢复后&#xff0c;Eureka会再次将其纳入到服务器集群管理之中&a…

Word2vec学习笔记总结

git地址&#xff1a; https://github.com/duankai/latex_book/tree/master/word2vec

在 Objective-C 中对 Block 应用 property 时的注意事项

应当使用&#xff1a;property (nonatomic, copy)今天在这个问题上犯错误了&#xff0c;找了好久才知道原因。另外&#xff0c;简单的进行反汇编看了下&#xff0c;Block 被存储在静态变量区&#xff0c;运行时构造出一个运行栈&#xff0c;进行调用。retain 并不会改变 Block …

创建链表和遍历链表算法演示

#include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h>typedef struct Node {int data; //数据域struct Node * pNext; //指针域}Node, *pNode;//函数声明 pNode create_list(); void traverse_list(pNode pHead); int…

Redis 21问,你接得住不?

转载文章&#xff0c;原文&#xff1a;https://zhuanlan.zhihu.com/p/130923806 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库&#xff0c;很像memcached&#xff0c;整个数据库统统加载在内存…