推荐系统的冷启动问题是指对于新用户系统缺乏足够的数据来捕捉用户的兴趣并有效的推荐内容。这个问题是推荐系统再实际产品应用中的一个主要挑战。再众多针对此问题的解决方案中,又一类广泛使用的方法是鼓励用户用社交网络账号登陆推荐系统。推荐系统可以利用用户社交网络的信息(比如关注关系、好友关系、兴趣标签、发布内容等)初始化用户的兴趣模型,从而进行有效的推荐。
- 通过挖掘用户发布内容的关键字作为用户兴趣关键字。
- 利用用户的社交关系吧用户好友或者关注对象的兴趣标签汇聚到用户身上。
但在实际应用中,很多用户都比较敏感自己的隐私问题或者怕麻烦不会选择社交网络账号登录推荐产品。据统计,再一些热门的新闻推荐类的产品中,所有用户中用微博、QQ、微信等主流账户登录的不超过50%。这就是使得现有的方法很难彻底解决推荐系统新用户的冷启动问题。
下面我们就来讲讲抖音是如何解决这类用户的冷启动问题的:
- 获取用户移动设备信息,通过该用户的移动设备的操作系统获取用户的移动设备型号及安装再该移动设备上的所有APP信息。
- 基于协同过滤产生第一推荐列表,将数据库中与该用户的移动设备型号或安装的APP类似的其他用户喜欢的内容作为推荐内容生成第一推荐列表
- 基于兴趣标签映射产生第二推荐列表,把APP显式地映射到一个或多个兴趣标签,然后根据每个兴趣标签筛选对应的内容作为推荐内容生成第二推荐列表。
- 将上述的第一推荐列或第二推荐列表中的内容推荐给该用户。
下面我们来看看具体是如何算的:
- 筛选常用有区分性的APP。
- 选取常见的只能手机机型。
- 把APP和机型映射到特定维度。
- 对于给定用户,从该给定用户的移动设备信息中抽取移动设备特征向量。
- 基于WeakAND算法找到向量距离和该给定用户最近的K个用户。
- 统计这K个用户中点击率最高的内容作为推荐内容。
如何抽取移动设备的特征向量:
- 将每个APP映射到一个[0, N-1]之间的维度。
- 将每个机型映射到一个[0,M-1]之间的维度,与用户机型对应维度的值为1,其他维度的值均为0.
- 用户安装的APP对应维度的值为该用户最近特定天数的使用次数,其他维度的值均为0
- 定期分别统计每个APP和常用机型的用户群体点击率Top K的高点击内容列表。
- 给定用户移动设备,通过用户移动设备安装的APP和机型分别获取对应的所述高点击内容列表
- 按照对应的APP和机型的权重合并获取的所述高点击内容列表并将其中的Top N作为推荐内容。
如果维护兴趣标签:
- 建立推荐系统自身的标签数据库。
- 用网页抓取技术抓取APP应用市场中每个APP的标签。
- 把抓取过来的APP的标签映射到标签数据库中。