上QQ阅读APP看书,第一时间看更新
2.5.2 推荐算法服务于用户的两种形式
推荐算法计算出的推荐结果可以直接插入数据库(如Redis等)中,直接为用户提供服务,也可以将核心特征计算好存储下来,当用户请求推荐业务时,推荐服务通过简单计算将特征转化为最终的推荐结果返回给用户。这两种方式一个是事先计算好,拿来就用,另外一种是准备好核心数据,在请求时实时计算最终结果。
以餐厅外卖服务来类比,第一种方式是将餐厅有的菜先做很多份,如果有外卖单过来,直接将做好的送出。第二种是将所有的配菜都准备好,接到外卖单立马将配菜加上调料炒熟再送出去,只要配菜准备充足,炒菜的时间不太长并且可控,也是可以很好地服务用户的。第一种方式是事先做好,这样无法满足用户的个性化需求,同时如果做好了却没人点的话就浪费了,第二种方式可以更好地满足用户的个性化需求,比如用户说不要香菜、多放辣椒,就可以在现做的时候满足。
第二种方式对整个推荐系统要求更高,服务更加精细,但是第一种方式更加简单,不过也需要更多的存储资源(将所有用户的推荐结果事先存下来)。在推荐系统构建的初级阶段建议采用方案一。
某些推荐业务用方式一是不可行的,比如上面采用笛卡儿积范式的推荐系统,因为用户数乘以标的物数是一个天文数字,公司不可能有这么多的资源将每个用户关联的每个标的物的推荐结果事先计算好并存储下来。第19章会详细介绍这两种服务于用户的推荐服务方案。