这是谷歌youtube在2010的一篇文章,估计现在的思路有很多升级了,但是里面的知识点还是很不错的。主要讲youtube的个性化推荐思路。下面根据论文的结构我把我理解的思路整理如下,如果有问题,欢迎指出。

1 介绍

在信息抽取和内容发现方面,个性化推荐是非常关键的方法。

1.1 目标

推荐系统的目的是帮助用户发现他们感兴趣的高质量视频,来让用户乐在其中。

1.2 挑战

用户上传的视频的元信息非常少和粗糙、视频时长比较短、用户交互相对较短和有噪声、视频生命周期短。

2 系统设计

推荐系统算法保持实时性和新鲜性,就像多样性和相关性。推荐的视频是通过用户的行为来生成的,用户的行为包括观看、收藏、喜欢等来作为种子视频,然后通过在一个会话中同时观看来扩展。推荐系统的工程设计方面,保持各个模块尽量的解耦,保持各个模块的独立性。保持系统的容错和系统某一部分失败后优雅的降级处理方案。

2.1 输入数据

这里有2种数据可以考虑,1)是内容数据视频流、视频元信息(标题,标签等)。2)用户行为数据,包括显性和隐性数据。

2.2 相关视频

co-visitation counts,计算在用户的一个会话中(通常24小时),计算vi,vj共同被观看的次数,进而计算vi和vj的相关性。

r(vi,vj)=cij/f(vi,vj),cij是所有会话中vi和vj共现的次数,f(vi,vj)是视频欢迎度的归一化的函数,一个简单的归一化函数是f(vi,vj)=ci * vj,也可以是其他的归一化函数。

选择TopN推荐结果,也考虑了最小分值阈值,卡掉小的counts对。还有展示偏见、观看噪声。除了上面的co-visit,还可以考虑序列的和时间的有向图,以及视频元信息。

2.3 生成推荐候选列表

通过用户的喜欢,播放列表等种子视频进行N级的级联扩展,产生广阔和多样的候选结果。

2.4 排序

通过视频质量、用户特征、多样性,然后用显性融合的方式来产生排序的推荐列表。

2.5 用户交互界面

推荐的展示是非常重要的一部分。有一些特征是非常重要的,比如标题、视频年龄、受欢迎度、为啥推荐等来帮助用户决策是否观看。最后,增加让用户控制推荐结果的个数和位置。

2.6 系统实现

数据搜集、数据计算推荐结果、推荐结果提供服务。

3 评价

AB测试进行快速的评测,迭代。评价指标方面包括ctr、long ctr、会话时长、第一个long watch需要的时间、推荐覆盖等等。

4 结论

推荐系统、最多播放、最多喜欢、最大评分的效果对比。

论文阅读(2014-2)----The YouTube Video Recommendation System的更多相关文章

  1. 《Learning to warm up cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shifting Networks》论文阅读

    <Learning to warm up cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shi ...

  2. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  3. [论文阅读]阿里DIN深度兴趣网络之总体解读

    [论文阅读]阿里DIN深度兴趣网络之总体解读 目录 [论文阅读]阿里DIN深度兴趣网络之总体解读 0x00 摘要 0x01 论文概要 1.1 概括 1.2 文章信息 1.3 核心观点 1.4 名词解释 ...

  4. 分布式多任务学习论文阅读(四):去偏lasso实现高效通信

    1.难点-如何实现高效的通信 我们考虑下列的多任务优化问题: \[ \underset{\textbf{W}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1 ...

  5. 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)

    白翔的CRNN论文阅读 1.  论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...

  6. BITED数学建模七日谈之三:怎样进行论文阅读

    前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...

  7. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  9. download youtube video

    using youtube-dl to download youtube video: (1) sudo apt-get install youtube-dl (2) run.sh #!/bin/ba ...

随机推荐

  1. 使用AccessibilityService模拟点击事件失败的分析

    使用AccessibilityService模拟点击事件的方法: AccessibilityNodeInfo.performAction(AccessibilityNodeInfo.ACTION_CL ...

  2. css3 calc():css简单的数学运算-加减乘除

    css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...

  3. Java Concurrency - synchronized 关键字

    当有多个线程竞争共享资源时,对资源的访问顺序敏感,则可能造成数据不一致.为了保证共享资源不被多个线程同时访问,则需要将竞争共享资源的代码置于临界区,临界区保证在同一时间内最多只能有一个线程执行该代码段 ...

  4. 第九章 jQuery验证插件简介

    1. 表单验证插件-----Validation <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  5. [转]C#如何在ListView失去焦点的情况下仍然保持Item高亮

    private void listView1_SelectedIndexChanged(object sender, EventArgs e) { foreach(ListViewItem itm i ...

  6. Unity3d-UI插件EZGUI官方视频教程

    Showcase Teaser (D/L) – Showcases some of the things that can be accomplished using EZ GUI.#1 – Butt ...

  7. Ssqlserver 关于Grouping sets

    sqlserver2008之后引入Grouping sets是group by的增强版本,Grouping sets 在遇到多个条件时,聚合是一次性从数据库中取出所有需要操作的数据,在内存中对数据库进 ...

  8. python字符串操作2

    在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专 门的string的module,要使用string的方 ...

  9. ecshop调用文章显示上一篇下一篇

    首先调用文章中的上一篇和下一篇语法为:  代码如下 复制代码 上一篇:<a href="{$next_article.url}">{$next_article.titl ...

  10. 【译】在JavaScript中{}+{}的结果是什么?

    原文链接:What is {} + {} in JavaScript? 最近,Gary Bernhardt在一个名为'Wat'的闪电演讲中提到了一些有趣的JavaScript技巧.当你把一个objec ...