微信视频号是腾讯生态中的短视频核心产品。
你看到的"刷不完的视频",并非按时间推送,而是基于微信行为图谱构建的推荐引擎系统:
- 📍 用户画像 × 内容理解 × 实时行为融合
- 🔁 多模态特征抽取(文本+语音+图像)
- 📦 多级缓存 + 高频分发控制 + 灰度策略
一、系统整体架构图(全链路)

二、内容理解:视频多模态特征提取
1)文本特征:标题 NLP + 语音识别字幕提取
ini
from transformers import BertTokenizer, BertModel
text = "这家重庆小面是真的好吃"
tokens = tokenizer(text, return_tensors='pt')
text_vec = model(**tokens).last_hidden_state.mean(dim=1)
2)图像视觉特征提取
ini
import torchvision.models as models
import torchvision.transforms as transforms
image = Image.open("frame.jpg")
image_tensor = preprocess(image).unsqueeze(0)
features = model(image_tensor).detach()
3)音频特征:情绪识别 + 背景声分类
ini
import librosa
y, sr = librosa.load("audio.wav")
mfcc = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=40)
最终合并为内容向量:
ini
final_vector = concat(text_vec, img_vec, audio_vec)
三、用户兴趣画像构建
微信使用"行为权重 + 热点回流"策略生成实时兴趣画像:
python
# 用户行为统计
user_behavior = {
"like:美食": 5,
"comment:旅游": 3,
"watch:搞笑": 12
}
# 权重计算
def weight_score(bh):
return 0.6 * bh['watch'] + 0.3 * bh['like'] + 0.1 * bh['comment']
构建用户兴趣向量,与内容向量计算相似度(topK):
css
def cosine(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
四、召回 + 粗排 + 精排(含模型结构)
1)召回层(10w+ 内容)
-
基于用户兴趣 embedding 查询 ANN 索引
-
候选来源包括:
- 热榜内容
- 最近点赞传播快的视频
- 兴趣向量高相似内容
2)粗排模型(lightGBM)
arduino
features = {
'user_age': 25,
'video_len': 15,
'is_followed': 1,
'watch_ratio': 0.6
}
score = lgb_model.predict(features)
3)精排模型(深度学习 DNN)
- 多塔结构(用户塔、内容塔、行为塔)
- 输出点击率 CTR、停留时间、完播率等综合评分
五、内容过滤与流控策略(灰度 + 分桶)
为避免内容刷屏、舆论风险,系统对最终推荐结果做过滤与灰度处理:
bash
# 分桶逻辑(10% 先看到)
if user_id % 10 != 0:
if video['flag'] == 'new_hot':
continue # 屏蔽部分用户展示
六、缓存系统:三层加速架构
层级 | 内容 | 存储方案 | 缓存时效 |
---|---|---|---|
L1 | 用户个性推荐 | Redis Cluster | 60秒 |
L2 | 热榜内容 | CDN | 5分钟 |
L3 | 静态封面图 | 本地磁盘缓存 | 30分钟 |
代码示例(Redis 层缓存):
ini
cache_key = f"video_feed:{uid}"
cached = redis.get(cache_key)
if cached:
return json.loads(cached)
else:
result = compute_feed(uid)
redis.setex(cache_key, 60, json.dumps(result))
七、实战效果(腾讯数据披露)
指标 | 数值 |
---|---|
平均推荐响应时间 | 37ms |
精排模型 AUC | 0.881 |
用户停留时间增长率 | +22.8% |
用户点击率 CTR 提升 | +17.2% |
内容重复曝光控制率 | > 98.7% |
八、架构亮点
模块 | 核心亮点 |
---|---|
内容理解 | 多模态融合:文本 + 图像 + 音频 + OCR |
兴趣建模 | 多层实时兴趣 embedding,结合社交图谱行为 |
推荐架构 | ANN 索引 + GBDT 粗排 + DNN 精排 |
缓存机制 | 三层缓存,热点内容快速响应 |
风控/审查机制 | 流控灰度 + 媒体审核模型 + 人审兜底 |
📌 总结:
"视频号推荐,不是让你看到全部内容,而是'恰好是你感兴趣的那 10 秒'------背后,是微信对内容理解、用户建模和缓存系统的极致工程优化。"