现时推荐系统可以说是内容类网站的基础组件之一,而得益于最近大模型等机器学习领域的快速发展,带动相关技术应用的普及,今天可以利用相关技术实现一个具备基础功能的推荐系统。
推荐系统的关键技术和方法:
- 基于内容的推荐,基于内容的推荐系统通过分析项目的特征来进行推荐。例如,在电影推荐中,系统可能会根据电影的类型、导演、演员等信息进行推荐。
- 协同过滤,包括用户-用户协同过滤,物品-物品协同过滤
- 基于模型的推荐,使用机器学习模型(如矩阵分解、深度学习)来进行推荐。这些模型通过训练数据学习用户和物品的潜在特征。
在生成推荐的过程中,主要包括以下步骤:
- 选择,选择合适的推荐策略和算法。根据用户需求和业务场景,选择不同的推荐方法(如协同过滤、基于内容的推荐、混合推荐等)。
- 召回,从大规模的物品集合中初步筛选出一批可能感兴趣的物品。召回阶段的目标是提高效率,确保不遗漏用户可能感兴趣的内容。
- 过滤,对召回的物品进行进一步过滤,去除不符合条件的物品。这一步通常用于应用业务规则或个性化约束。
- 排序,对经过过滤的物品进行排序,以确定最终推荐的优先级。排序阶段的目标是优化推荐的相关性和用户满意度。
推荐系统还涉及冷启动,业务规则等。
小型推荐系统相关技术
- Transformers,自然语言处理的基础库
- ONNX,方便模型跨平台部署
- PGVector,PostgreSQL 扩展,用于高效存储和检索向量数据
- Matrix Factorization,常用于实现协同过滤的推荐算法
文本内容相关推荐
相对于 Word2Vec,具有注意力机制的 BERT 能更好地理解内容上下文信息,从而实现更精准的基于内容的相关推荐
- 使用 BERT 模型获取文本向量
- 向量存储到 PGVector
- 根据向量距离排序,得到内容相关文章
相似图片推荐
- 使用 ViT 或者 DEIT 模型获取图片向量
- 向量存储到 PGVector
- 根据向量距离排序,得到相似图片
用户感兴趣内容推荐
- 基于协同过滤
- 使用 Matrix Factorization 分解稀疏矩阵
- 算出用户特征与物品特征,存储到 PGVector
- 根据用户-用户距离,物品-物品距离,用户-物品距离获取推荐