其他推荐系统算法

Published: 28 Dec 2018 Category: ML

目前主流的推荐算法主要包含内容关联算法, 协同过滤算法。

一、内容关联算法(Content-Based)

CB算法的原理是将一个item的基本属性, 内容等信息提取出来, 抽成一个taglist, 为每个tag赋一个权重。

剩下的事情就跟一个搜索引擎非常类似了, 将所有item对应的taglist做一下倒排转换, 放到倒排索引服务器中存储起来。

当要对某一个item做相关推荐的时候, 将这个item对应的taglist拿出来拼成一个类似搜索系统中的query表达式, 再将召回的结果做一下排序作为推荐结果输出。

当要对某个用户做个性化推荐的时候, 将这个用户最近喜欢/操作过的item列表拿出来, 将这些item的taglist拿出来并merge一下作为用户模型, 并将这个模型的taglist请求倒排索引服务, 将召回的结果作为候选推荐给该用户。

该算法的好处是:

  • 不依赖于用户行为, 即不需要冷启动的过程, 随时到随时都能推荐
  • 可以给出看起来比较合理的推荐解释
  • item被推荐的时效性可以做得很高, 比如新闻类产品就需要用到该算法

该算法的坏处是:

  • 需要理解item的内容, 对音频/视频等不好解析内容的就不好处理了
  • 对于一次多义以及一义多词等情况处理起来比较复杂
  • 容易出现同质化严重的问题, 缺乏惊喜