博文

目前显示的是 八月, 2021的博文

gorse推荐系统简介

图片
  gorse 是一个开源的推荐系统,目前还在持续开发中。该计划旨在为各种在线服务提供一个快速的推荐系统解决方案。 以下就gorse的使用途径和方法进行一些说明。 1、gorse能提供什么 当前的gorse提供的推荐服务按类别可以分为个性化推荐和非个性化推荐,它们具体包含的内容如下: 1.1 非个性化推荐 热门推荐:在一定时间(或不限定时间)内发布的最受用户欢迎的n条数据; 最新推荐:选择n条最近发布的数据; 相似推荐:推荐n条与当前数据类似的数据(当前并不是根据数据与数据之间的特征相似度进行推荐,而是根据数据和数据之间的用户相似度进行推荐) 1.2 个性化推荐 个性化推荐系统使用了机器学习模型来得出用户的推荐数据。 训练模型分别采用了排序模型(BPR/ALS/CCD)和CTR模型( factorization machines )。当输入的数据存在标签(tag,label)时CTR预估模型被启用,反之则不启用。根据CTR模型是否被使用,推荐算法的过程也略有不同。  通过排序模型得到n条未被当前用户看过的数据, 根据CTR模型是否被启用 CTR模型被启用:在以上n条数据的末尾插入m条最新的数据,通过 CTR模型重新进行排序 CTR模型未被启用:在以上n条数据中随机插入m条最新的数据 需要注意的是,以上的模型训练过程并不是即时响应的,而是在离线过程中进行计算。以上得到数据会被放到缓存系统中,通过在线服务提供给用户。当推荐数据不足时,会采取以下措施: 收集与这些推荐数据相似的数据,并去除已读数据 若是以上数据不足时,从最新推荐或热门推荐中取出数据,并去除已读数据。 2、gorse如何工作 2.1 构成组件 gorse是一个独立的推荐系统,和其它服务的通讯主要通过http服务;在gorse内部各系统之间则通过gRPC服务进行通讯。                gorse是一个单节点训练的分布式预测推荐系统。gorse将数据存放在数据库中(当前支持mysql和mongodb),中间数据则缓存在redis里。该集群包含了一个主节点,多个工作节点和服务节点: 主节点负责模型训练,非个性化数据推荐,配置管理和人员管理 服务节点负责提供RESTful APIs给外界,并提供在线推荐数...