抖音推荐算法分析
你是否好奇随着你的观看数量,抖音会不断将你喜欢的视频源源不断地推送给你?抖音是怎么知道哪些视频是你喜欢的?下面我来逐一介绍抖音是如何实现的,我只讲有原理,和基本功能的实现,抖音具体实现可能方法不同也会更复杂。
当你安装完抖音APP后,进入APP第一个看到的界面就是视频播放,向上滑是下一个视频。用户都没有注册的情况下是不能记录你的喜好的,一旦你想点赞或者评论就会提示你注册用户。
注册用户完成后,就能提示你添加好友。
好友推荐
提取你的手机电话通信录中的手机号码,将电话号码上传到抖音服务器,匹配好友。
可能认识的人
你的手机通信录里面有一个小明他的电话是 13066668888 ,抖音匹配到 13066668888 手机号码也注册了一个抖音号,那么小明的朋友就是你「可能认识的人」。
我的朋友列表 | 小明的朋友列表 |
---|---|
小明 | 小王 |
小王就是你「可能认识的人」
共同联系人
我的朋友 | 甲的朋友 | 乙的朋友 | 丙的朋友 |
---|---|---|---|
甲 | 丙 | 丙 | 甲 |
乙 | 我 | 我 | 乙 |
这事抖音会显示”丙“,有甲、乙 2个共同联系人
视频推荐
抖音将视频做了很多分类,例如美女、帅哥、翻唱、跳舞、3C数码、搞笑、晒娃、宠物、旅行、动漫、电影、读书、科普、评测等等......
视频推荐的五个主要指标:
- 点赞量;
- 评论量;
- 转发量;
- 完播率;
- 关注;
通过上面四个指标叠加计算出推荐权重。我们给每项定义一个分数,最高得分是5.5分。
点赞量,1分
评论量,1分
转发量,1分
完播率,1-1.5分
关注,1分
首次进入APP抖音会随便给你随机推一个视频,例如美女,如果你不喜欢看,就向上划走。一旦你做了下面操作:
- 双击点亮小红心,表示点赞完成 1 分
- 进入评论区发表评论, 1 分
- 转发视频, 1 分
- 完播率计算方法,视频时常除以5,分成5份,不足按四舍五入,你耐心看完,就表示完播率 100%, 1.5,否则按照观看时常给分,例如50% 是 1.3。
- 关注抖音号 1分。
最后还要统计每个分类的观看次数,例如美女 10次,搞笑 100 次。
当系统给你推荐一定数量的视频后,就知道你喜欢那个分类的视频。就是为什么系统总是给你推荐相同风格的作品,这些作品总是会看腻的,有时很想削号,重新注册一个,只有这样才能给你推送完全不同风格的内容。
系统会进一步增加推荐的精度,是利用用户观看的大数据。下面是一组虚拟数据,由三列组成,分别是用户,视频,评分。我们用电影类视频举例。
用户 | 视频(电影) | 评分 |
---|---|---|
小明 | 变形金刚 | 5.5 |
X战警 | 4.5 | |
钢铁侠 | 4.5 | |
小李 | 哈利波特 | 5.5 |
钢铁侠 | 4.5 | |
小周 | X战警 | 3.3 |
流浪地球 | 4.5 | |
变形金刚 | 5.5 |
小明和小李有相同的爱好,都观看过《钢铁侠》那么:
系统会为小明推荐《哈利波特》
系统会为小李推荐《变形金刚》和《X战警》推荐优先级按照评分高低排序。
小李跟小周之间没有共同爱好,所以不会得到推荐
小明跟小周都观看过《变形金刚》,那么推荐结果是:
系统为小明推荐《流浪地球》
系统为小周推荐《钢铁侠》
地域推荐
抖音还有一个功能是地域推荐,这个功能比较简单,获取手机GPS定位的城市,然后推荐相同城市产生的作品。
我觉得定位城市范围太大了,其实这个功能可以把半径做的更小。让用户选择范围,例如:
获得当前GPS定位,然后用户自己输入半径,例如1公里,然后把半径1公里范围内的用户圈出来。