在DocArray中使用Redis后端,基于向量相似性搜索可以快速搭建一个实时商品推荐系统。现在,跟上我们的脚步,一起了解搭建系统的关键步骤,并且深入了解推荐的原理吧!
推荐系统会根据用户画像、历史行为(如购买、喜欢、浏览等),给用户的兴趣建模,主动提供个性化推荐。它可以提升转化率并保持用户忠诚度,因而被广泛应用在各类电子商务网站。
过去,构建并部署推荐系统通常是一个非常复杂的任务。但现在,通过在 DocArray 中使用 Redis 后端,使用最新的向量相似度搜索技术,可以快速构建实时商品推荐系统。
为电子商务网站构建推荐系统涉及很多挑战,以下列出了一些要考虑的问题:
定制化: 用户希望可以按照价格范围、品牌和尺寸等要素筛选商品,所以推荐系统应该满足用户的需求。
多模态:商品清单不应该只是文本描述,还可以包含图片、视频、音频或者 3D 网格。在推荐时,所有模态的信息都应该被充分利用。
实时性:推荐结果应该快速返回,否则就没有意义了。
数据量:网站拥有的客户和商品越多,有效推荐的难度就越高。即便使用规模很大的数据集,计算过程也应该迅速完成。
随着技术的不断发展,用户需求的不断增长,构建推荐系统的方法也应该不断提升。
在本文中,我们将向您展示如何使用最新的向量搜索技术构建实时商品推荐系统,并使用自定义过滤器来提供个性化推荐。我们使用的工具包括 Redis 和 DocArray。
from docarray import DocumentArray
redis_da = DocumentArray(storage='redis')
在 DocArray 中使用 Redis 后端非常简单方便,更多信息可以查阅文档。
https://docarray.jina.ai/advanced/document-store/redis/
如何构建推荐系统?
在构建推荐系统时,有一些常见的方法:
协同过滤推荐: 基于相似用户的偏好来推荐商品。
基于内容推荐: 为用户建立特征向量,然后根据向量间的相似度来预测用户可能感兴趣的商品。
混合算法推荐:混合了协同过滤和基于内容的过滤算法,以及其他算法来实现推荐功能。
本文重点是改进基于内容的过滤算法。如果您对此算法不熟悉,可以阅读一下谷歌的基于内容的过滤算法概述。
https://developers.google.com/machine-learning/recommendation/content-based/basics
在实现基于内容的过滤算法时,需要考虑两个因素。
首先,在为用户和商品建立特征向量时,充分利用所有模态数据是非常重要的。仅仅依靠关键词或者一组特征可能无法有效地代表复杂的数据。因此,使用前沿的 AI 模型是很有必要的,它们可以将复杂的多模态数据表示为嵌入向量 embedding。
CLIP 是一个可以同时表示文本和图像的神经网络模型,因此我们可以使用 CLIP-as-service 作为推理引擎来支持我们的推荐系统。