# 1. 推荐系统

## 1.1 推荐系统的意义

* 在信息过载的情况下，主动在人与信息之间建立高效的连接

## 1.2 推荐系统是怎么运行的

* 给 item 打标签，建立倒排索引
* 根据 user 喜好的标签，召回 item 并排序
* 曝光 / 点击记录日志，更新推荐系统
  * 更新用户的喜好
  * 更新 item 质量

## 1.3 推荐系统架构

* 功能架构
  * 召回 1M：无交叉信息，多路召回
  * 粗排 10k：无交叉信息，离线计算+在线缓存
  * 精排 1k：提升预测精度
  * 重排 x0：相似内容打散
* 数据架构：Lambda 架构
  * 离线层：批量计算，HDFS
  * 近线层：缓存结果，KV 数据库
  * 在线层：流式更新，Flink

## 1.4 推广搜的区别和联系

* 相同点
  * 功能架构：召回 + 排序
  * 数据架构：Lambda 架构
  * 算法相似，需要个性化
* 推荐 vs. 搜索
  * 表达意图方式：$$F\_{search}(t|q,u)$$，$$F\_{recommend}(t|u)$$
  * 搜索对结果的准确性要求更加严格，对扩展性的容忍程度低
* 推搜 vs. 广告
  * 推搜优化使用体验，广告将流量变现（用户、广告主、平台三方利益）
  * 推搜目标即时完成，广告目标更深层次的转化
  * 推搜相对准确性，广告绝对准确性（修正、校准）
  * 广告候选集小
