- 三要素
- item: 要推荐的货
- user
- context
- 算法
- 机器学习
- 做推荐,一个基本点,货找人
- label = model(item, user, context) -- 3个input
- label是指什么? --业务上的指标:可以是点击、收藏、加购、评分等
- 例如:对于点击指标-- label 是预估出当前item被user点击的概率
- 针对user我们可以设计哪些特征
- 兴趣,历史点击浏览行为,用户的标签,用户自身的属性
- 针对item我们可以设计哪些特征
- 统计类特征(点击率、购买率),内容类特征(category, title)
- context
- ip,time,手机型号
- model可以是哪些?
- 任意的模型都是ok的
- label = model(item, user, context)
- 单目标学习
- 多目标学习也是一个趋势
- label1, label2, label3= model(item, user, context)
- LR、gbdt、xgb、dnn、fm、ffm、deepfm、dcn、wide & deep、ftrl、MMOE的多任务学习框架、DIN、DIEN
- 预估出的概率怎么使用?
- item、user、context特征哪个更重要,为什么?
- 如何用技术手段判断item重要还是user重要?
- 本质上来讲就是特征重要性
- 答案:是item更加重要 label = model(user, context),没有item就没法排序,对于一个到达用户,若没有item,则对于所有的候选item,所有的用户,context的特征都是一样的,根本无法区分
- label = model(item, context), 对于一个到达用户,没有用户特征,还是能依据item特征进行排序的,可能性能或个性化做不好
- 统计类特征,具体是指什么统计?怎么统计?
- 我们所说的推荐数据具体是什么?
- 假设库存100万短视频,候选是100万全预估排序么?
- 为什么要召回?
- 是不是所有的推荐系统都要用召回?哪些情况下不需要用?
- 在线延迟必须小于0.1s,机器能一次拍出来的item的总数
- 召回的具体形式是什么?
- 针对中间的app,能设计出哪些类型的召回分支
- 召回
- 字典
- dict={}
- key, value, score
- key有哪些, value有哪些?
- key: user, 类别,topic, hot(热度)、item、tag...
- value: itemlist
- score: 衡量value相对于key的相似的概率
- key-value:本质上来讲是i2i,u2u,通过协同过滤算法计算
- 字典
- 听过UGC么?用户生成内容
- 排序模型的item的数量多少由什么决定?label1, label2, label3= model(item, user, context)
- 由召回分支的相似度topk进行截断后输入给排序模型
- k:在线延迟必须小于0.1s,机器能一次拍出来的item的总数
- 由召回分支的相似度topk进行截断后输入给排序模型
- u2i
- key: user, value:item
- key:user, 类别,topic, hot(热度)、item、tag...
- 针对某个用户在线的一次请求
- i2i、u2i...这些都是离线生成好的,用户在线请求的时候,会对用户进行这些key的抽取,进行召回(召回的key是在线查询的),每次排序都要重新召回
- 为什么每次排序都需要重新召回?
- 召回分支是user2i,u2i是怎么计算得到的?
- 通过log实时挖掘出user点击历史,生成u2i(value是用户一段时间内的itemlist)
- 日志(log),log从哪来?log的具体的工程链路是什么样的?
- 每个用户手机里客户端埋点(记录下用户的点击、浏览、曝光、点赞、评论、关注、等等等)行为
- phone上回传回公司的服务器,实时数据传输工具kafka -> 计算机集群上(storm、haodoop)-> 实时的数据拼接 -> 用户id、item id、behavior -> 形成log,形成data_1.csv,整体这条工程链路是实时的,就可以拿到u2i
- 曝光过滤的逻辑
- dict,召回分支
- i2i
- 例子:实时获取当前用户前10次点击的itemlist,依据当前用户前10次(时间窗口可以设置为1个月,1个星期,1天等)点击的itemlist作为key,去查询i2i(离线协同过滤计算好的)
- 电商推荐系统的业务指标和技术指标分别是什么?
- 业务指标GMV(商品成交总额(一段时间内))
- 衡量技术上排序模型的指标是AUC
- GMV = 购买量 * 商品平均单价
- 购买量=点击率之后的购买率
- 点击人数和购买人数一般来说呈现正相关
- 排序模型优化的是点击率和购买率
- 机器学习的本身
- 用监督学习还是非监督学习来解决推荐问题?
- QPS、RT
- QPS(query per second):对于特定的server,在一定时间内处理的流量,每秒100qps
- RT:server对于请求的响应时间, RT < 0.1s
- 飘红
- 关注tab上的关注红点有什么作用?
- 推荐首页一般叫做猜你喜欢
- 关注页
- 红点打与不打对猜你喜欢这个页面有什么影响?有无影响?
- 分流
- 搜索框
- 搜索框做的好对猜你喜欢这个页面有什么影响,还是没有影响?
- 本质上来讲是竞争关系
- 搜索框做的好对猜你喜欢这个页面有什么影响,还是没有影响?
- 底纹词,搜索框里嵌入了一个推荐系统,做词的推荐