《2019年个性化信息流原理揭秘-算法与架构.pdf》由会员分享,可在线阅读,更多相关《2019年个性化信息流原理揭秘-算法与架构.pdf(67页珍藏版)》请在三个皮匠报告上搜索。
1、个性化信息流原理揭秘:算法与架构演讲提纲1.信息流产品简介2.架构&流程a.文本特征,用户画像b.内容挑选(candidate generation)c.排序(ranking)d.人工规则规范3.总结信息流产品简介什么是个性化信息流以个人画像为基础,提供千人千面个性化信息的产品。今日头条抖音百度信息流Google Discover个性化信息流的前身远古时代:门户网站个性化信息流的前身近代:订阅类产品个性化信息流的前身推荐系统为基础的电商和内容服务AmazonNetflix架构&流程信息流产品的组成用户用户画像画像产品产品算法算法内容内容基础架构基础架构信息流的业务流程原始内容原始内容收集及标注
2、收集及标注候选内容候选内容筛选筛选排序排序收集反馈收集反馈更新用户画像更新用户画像产品呈现产品呈现原始内容收集、特征提取、用户画像原始内容收集内容收集方式:爬取(公网内容)PGC(合作伙伴发布内容,例如:公众号,头条号文章)UGC(用户产生内容,例如:抖音)特征(Feature)定义:从原始数据提取的单个可衡量的属性(例如,对娱乐新闻的关注度)特征是信息流产品的基石,用户画像的核心,内容推荐的最重要依据特征类别:内容特征(例如:关键字,内容主题,来源)热度特征(例如:全局热度,分类热度)用户特征(例如:用户年龄,性别,收入)环境特征(例如:时间,地点)特征例子特征体系特征体系:自建特征关键字体
3、系工作量大,但自由度高利用已有特征关键字库例如:利用现有的知识图谱(Knowledge Graph)常见的特征标注方式:人工标注准确,但速度慢,适合起步阶段自动标注需要强大的数据挖掘以及人工智能实力(例如NLP,Computer Vision,等等)特征提取TF-IDF 算法简介特征提取业界例子用户画像用户画像组成对内容特征的兴趣程度个人基本情况(性别,年龄,地理位置)体育娱乐经济科技年龄位置小明0.70.80.315-25北京小强0.30.80.625-35上海小红0.20.70.915-25深圳用户画像用户画像更新途径显式更新用户主动输入的兴趣,例如关注的话题,明星,球队等等隐式更新通过前
4、端埋点,后端对日志(log)进行批量处理获得更新频率离线更新,例如每天一次。技术难度低,用户体验差实时更新,技术难度大,用户体验好内容筛选(Candidate Generation)内容推荐用户画像原始内容召回粗粒度候选内容算法筛选细粒度候选内容召回Why:精细筛选耗费资源较大,不可能为每个用户都对海量内容全部进行What:从海量内容中,迅速筛选出粗粒度候选集,为精细筛选做准备How:建立【特征-内容】倒排表,按照用户画像进行截断科技doc_3(0.83)doc_1(0.52)doc_7(0.4).体育doc_9(0.92)doc_2(0.88)doc_6(0.52).娱乐doc_5(0.78
5、)doc_8(0.66)doc_4(0.25).搞笑doc_2(0.91)doc_5(0.78)doc_7(0.33).算法推荐两大组成部分:Training:从日志数据,训练出能计算相似性的模型。并且保存阶段性结果以提高serving效率Serving:在运行时快速根据训练阶段的成果,从海量内容中寻找k个最相似的物品算法推荐目标:从粗粒度候选集,通过高级算法筛选出用户最可能感兴趣的内容方法:Content Based(内容属性相似性推荐)Collaborative Filtering(协同过滤)DNN(深度学习)本质:推荐算法本质上解决的是kNN(k个最近邻居)问题kNN需要坐标系及坐标:向
6、量空间距离(相似度)度量:Jaccard,Cosine相似性计算:Content-Based,CF,DNN推荐算法简介目的:推荐算法的目的,是根据给予的query,寻找最匹配的N个item术语:Query:需要获得推荐的对象,可以是用户id,用户使用产品的历史,用户当前的上下文环境(context)Item:被推荐的物品,可以是电商产品,电影/视频,App,O2O服务,等等距离:衡量相似性的指标,常见有Jaccard,余弦相似性推荐算法简介Query和Item都用共同特征体系内的特征表示,因此能被映射到同一坐标系内本质上,推荐算法解决的是一个kNN(k-Nearest Neighbord)问题
7、,即计算离Query距离最近的K个Item。步骤:Training:计算Query和Item的特征Serving:计算并返回k个最相似的item推荐算法-相似度计算两种主流的相似度计算方法Jaccard相似度Cosine(余弦)相似度两个用户都感兴趣物品数目两个用户中只要有一个用户感兴趣的物品数目Jaccard vs Cosine similarity Jaccard简单直观,计算效率更高 Cosine计算向量夹角,更适合向量空间特征 Jaccard多用于二元特征(点赞,点踩),Cosine适合非二元特征 没有绝对优劣,只有更适合的应用场景,因此应该因地制宜推荐算法传统算法:基于item内容特
8、征(Content Based)的相似性算法推荐和用户喜欢的产品类似的产品协同过滤(Collaborative Filtering)推荐和用户类似的用户喜欢的产品,或者用户喜欢的产品类似的产品现代流行算法:神经网络(DNN)Content Based算法特点:利用特征,寻找user和item之间的相似性 无需知道其他用户的特征和爱好 对新item冷启动时特别有效的算法例子:跟怒用户喜欢的物品特征,推荐类似物品Content Based算法-例子体育娱乐经济科技.新闻10.70.3新闻20.30.70.6.用户10.50.20.60.5.用户画像Content Based算法-例子体育娱乐经济科
9、技用户1得分新闻10.70.30.5新闻20.30.70.60.78.用户10.50.20.60.5.用户画像Content Based算法优点:无需知道其他用户喜好能有效推荐偏门item缺点:需要domain knowledge,对item建模,扩展性差协同过滤基于query和item的特征相似性计算推荐 UserCF:推荐和用户类似的用户喜欢的产品 ItemCF:推荐和用户喜欢的产品类似的产品 Matrix Factorization:利用机器学习挖掘user和item隐语义特征UserCF流程:1.计算用户相似度(Jaccard,余弦等等)2.根据用户相似度*用户对物品的兴趣,最后得出t
10、op K相似度最大的itemUserCF流程:1.计算用户相似度(Jaccard,余弦等等)2.根据用户相似度*用户对物品的兴趣,最后得出top K相似度最大的item相似度(jaccard):2/4=0.51/4=0.250/5=0UserCF流程:1.计算用户相似度(Jaccard,余弦等等)2.根据用户相似度*用户对物品的兴趣,最后得出top K相似度最大的item推荐度:2/4=0.51/4=0.250/5=0ItemCF流程:1.计算物品之间相似度(Jaccard,余弦等等)2.根据物品相似度*用户对物品的兴趣,最后得出top K相似度最大的itemUserCF vs ItemCFU
11、serCF更社会化,反应群体兴趣。适合User比较稳定,Item变化很快的产品,例如新闻ItemCF更个性化,反应用户兴趣传承。适合Item更新比较稳定的产品,例如电影推荐。共同优点:无需domain knowledge,相似度依据为用户对Item的行为,通用性高共同问题:相似性矩阵非常稀疏(Sparse),实际应用中效率不高隐语义模型:Matrix FactorizationContent-Based+CF=Matrix Factorization一种同时利用了相似性以及自身特征,但不需要行业知识建模的方法利用隐特征(Latent Feature)对User和Item构建embeddings
12、通过矩阵分解,用两个较小的embeddings矩阵逼近原来的相似性矩阵和Content Based算法里面需要具备domain knowledge来对user和item进行建模不同,latent feature embeddings可以通过机器学习方法自动学会隐语义模型:Matrix Factorization隐语义模型:Matrix Factorization基于神经网络的相似性模型隐语义模型解决了矩阵稀疏的问题,但并没有利用query和item本身属性(文章话题,关键字等等),以及当前context(时间,地点,等等)基于神经网络的相似性模型,能在具备隐语义模型优点的同时,充分利用quer
13、y和item本身的属性神经网络的几个基本概念Neural Net ArchirtectureSGDBackpropEmbeddingsSoftmax深度学习的基本原理 神经网络Feed ForwardBack propagation of gradient深度学习的基本原理 Backprop&GD梯度下降,迭代优化参数深度学习的基本原理-Embeddings把User和Item映射到向量空间向量空间里面的距离,反映了相似度User和Item之间的关系,有时还能通过向量加减法计算出来例子:Word Embeddings通过向量加减法计算,表达单词之间的关系深度学习的基本原理 Softmax公式:
14、把最后一层神经元输出转化为类型判别的概率(0到1之间)Softmax模型经典分类模型利用softmax计算用户对item的兴趣度,通过和实际结果比较,训练整个神经网络训练目的,得出user embeddings和item embeddingsSoftmax模型输入层:可以使用user feature:例如:年龄,性别也可以使用环境feature:例如:时间,地点输入层:user feature,history,etcSoftmax模型输出层:Softmax计算结果,代表用户对每个文档的兴趣度和Ground truth一起,计算loss,反向传播到DNN的每一层,训练参数输出层:当前用户对每个文
15、档的兴趣度Ground truth,用于计算lossSoftmax模型训练结果:User Embeddings:Softmax前的最后一层神经元Item Embeddings:输出层每个Item对应的weightUser embeddingsItem Embeddings双塔模型为user和item分别建立各自的神经网络每个神经网络的最后一层为各自的embeddingsUser embeddings和Item embeddings点乘得出最终的感兴趣程度相比softmax,能使用上item本身的属性InterestscoredotUser embeddingsItem embeddingsUs
16、er FeaturesItem FeaturesUser TowerItem Tower算法小结Content Based算法+简单易懂+能推荐长尾item-需要领域知识-没有利用相似性算法小结Collaborative Filtering(协同过滤)+无需领域知识+利用相似性-稀疏矩阵耗费资源-冷启动-没有利用user或item本身属性算法小结DNN(神经网络)+能充分使用user和item的自身属性+学习功能更强大,例如多层神经元间能学会非线性关系+不用维护稀疏矩阵,避免耗费资源-训练过程更复杂排序(Ranking)排序(Ranking)针对上一阶段产生的推荐内容,进行排序,以获得最佳“用
17、户体验”。对信息流产品来说,好的用户体验往往能通过用户交互反映。“用户体验”指标:点击率,使用时长,回头率,点赞率,分享率排序的种类:算法排序:通过算法训练优化指标人工规则排序:通过人工规则,对算法不能覆盖的商业逻辑(如置顶,事件营销)进行强制排序排序(Ranking)内容筛选阶段的候选内容,和用户兴趣最匹配,可以按照兴趣匹配程度依次排序,但可能导致若干问题内容单一化(例如:用户某一兴趣远高于其他兴趣)内容特征最符合用户画像的内容,不一定是用户最愿意点开的内容(例如:多图的文章可能更吸引用户点开)没有用上环境特征,例如:时间,地点解决办法:预测用户与文章的交互程度,并按此进行排序交互类型指标点
18、击率(CTR,Click Through Rate)观看时长(Duration)点赞率(Like Rate)分享率(Share Rate)预测算法:DNN算法排序ctrTimedurationLocationUser interestslike人工规则排序算法往往不能覆盖所有的商业逻辑,例如:1.冷启动a.强制用户兴趣引导2.政策规定a.例如:强制置顶3.运营位a.例如:事件营销4.多样性要求a.例如:光靠算法可能越推越窄,导致内容单一在算法排序结束以后,通过人工规则对排序进行重新调整实战中常见的问题冷启动冷启动:新用户或新内容缺乏历史数据,因此无法进行基于算法的有效推荐或排序新用户冷启动(无
19、法有效推荐内容)解决办法:新用户兴趣引导,让用户显式“关注”推荐全局热点按照地理位置推荐地区性热点新内容冷启动(无法有效排序),解决办法初期对排序进行人工加权根据热度排序根据相似度排序用户引导多样性算法的本质是优化给定指标,因此如果指标单一,可能越推越窄内容类别导致排序倾斜(例如:娱乐新闻的用户交互指标常高于科普类新闻)新用户初期画像不完整,导致内容单一化例如:用户初期行为迅速形成反馈闭环,抖音类全屏推荐产品尤为严重解决办法:产品层面:提供用户兴趣入口,例如:常见顶部频道栏技术层面:建立多样性指标,实时检测推荐结果多样性定义人工规则,强制内容多样性把多样性指标纳入算法体系同时使用多种推荐算法,
20、综合结果总结总结个性化信息流,是以个人画像为基础,提供千人千面个性化信息的产品信息流是搜索引擎在移动时代的更符合用户使用习惯产品形态特征(features)是信息流产品的基石,用户画像的核心,内容推荐的最重要依据特征提取,最能体现公司与公司之间的技术实力从日志中提取用户和特征之间的联系,就构成了用户画像推荐系统的本质,是解决kNN问题算法主要体现在信息流产品中的两大环节:内容筛选和排序内容筛选有三大类算法:基于内容特征算法,协同过滤算法,神经网络排序:通过神经网络预测用户交互度,用人工规则强制商业逻辑信息流产品是推荐系统的一种,但其实只要有user和item的产品,都已可以通过推荐系统达成个性化