当前位置: 首页 > 科技观察

电商的千人千面系统,这样搞比较靠谱

时间:2023-03-19 23:13:52 科技观察

电商千人千面系统更靠谱。转载本文请联系尔玛读书公众号。本文详细介绍了千人千面的具体业务逻辑、技术方案和推荐算法,以及需要注意的问题。互联网行业的快速发展给我们带来了极大的便利。回顾整个互联网行业的发展史,从PC时代到移动互联网时代,从移动互联网时代到IOT(物联网)时代,现在即将进入AI(人工智能)时代从物联网时代。这些飞速发展的背后,其实是数据使用方式的巨大变化。当前,移动互联网技术和智能手机的发展,让收集用户数据的能力变得前所未有的强大,随时随地。有了这些数据,整个行业的个性化推荐能力就变得更容易实现。无论是淘宝京东还是今日头条,无疑都是这个时代的最大受益者。与个人电脑不同,手机等个人物品很难与他人分享。因此,手机的型号,以及手机上的浏览、交易等行为数据,具有极高的分析价值。从电商平台的角度来看,个性化推荐的本质是根据不同的人群,将最有可能销售的商品推荐给相应的消费者,从而最大限度地提高购买转化率,促进用户购买和购买。下订单。当然,对于淘宝这样的电商平台,个性化推荐也可以充分利用有限的广告位资源,实现流量价值最大化。随着用户个人资料的不断丰富,推荐能力也逐步升级,逐渐从基本的一对一画像演变为一对一画像。下面介绍千人千面的具体业务逻辑、技术方案和推荐算法,以及需要注意的问题。电商千人千面的业务逻辑我们了解到,千人千面的本质是根据不同的人群,将最有可能销售的商品推荐给相应的消费者,所以以最大限度地促进用户购买和下单。那么具体的商品展示逻辑是怎样的呢?千人千面,主要用在首页、购物车、商品详情页、搜索列表等位置。以上三张截图分别是首页、购物车和商品详情页。红框中的“为你推荐”是根据用户数据为用户进行个性化的产品推荐。不同的用户展示的产品是不同的,这就是所谓的“千人千面”。上面的截图是搜索列表。其实搜索和推荐也是密不可分的。为了提高转化率,搜索结果往往依赖于用户行为数据。我在搜索栏中搜索“失眠”后,列表中出现了阿胶,看着很眼熟。对了,前几天在APP里浏览了一下阿胶。恰好阿胶的其中一个功能就是助眠,于是搜索列表中就出现了这款产品。如果换个用户搜索,阿胶很有可能是搜不到的,至少大概率不会显示在榜首。如上图所示,千面买家的购买浏览行为决定了商品的展示顺序。第一到第三层很容易理解,也是对千面的基本认识。那么,第四级是什么意思呢?相似的标签?事实上,只要每个消费者在淘宝上购买过或浏览过,平台就会给用户打上标签,比如年龄、客单价、喜好、关注点等。根据不同的用户标签,每个用户访问时展示的商品。APP会有所不同。假设两个男孩从来没有买过女性用品,他们是第一次购买女性产品。他们搜索相同的关键字,例如“dresswoman”,看到的产品列表是不同的。平台会根据你过去的一些购买记录进行标记。标签,例如,如果用户有“年轻、客单价高、爱名牌”等标签,则向该用户展示与年轻、客单价高的服饰相关的产品。即:根据用户的标签特征,将最有可能售出的商品优先推荐给相应的消费者,从而最大化购买转化率,促进用户购买下单。这就是《千面》的主要目的。我们上面提到的用户标签,也常被称为“用户特征”。我们一般会维护一个用户特征的数据库,这是千人千面的基础。这些用户特征数据在搜索和推荐中经常需要。推荐系统架构上面是一个简单的推荐系统架构图。推荐服务依赖于算法和规则。对于简单的规则,可以直接使用规则引擎。对于更复杂的逻辑,可以使用算法,比如需要机器学习或者深度学习模型训练的场景。无论是规则引擎还是模型训练,都需要数据的支持。用户特征服务和产品服务会为他们提供最基础的用户特征数据和产品数据。数据存储,快速访问数据存储主要是指用户特征数据的存储,数据量比较大。至于商品数据,一般不会太大,像淘宝这样规模的平台,也就30到5000万件商品。我们拥有超过2亿用户和5000万月活跃用户。为了保证系统的高性能,我们将数据存储在Redis集群中,在Redis中做分片存储。以userID为Key,该用户的特征数据为Value。使用userID作为Redis分片的路由键。为了减少Redis的存储空间,我们选择protobuf作为数据存储格式。Protobuf由Google开源。protobuf的序列化和反序列化性能非常高,占用空间比一般格式减少一半以上。推荐算法常见的个性化推荐算法主要有:基于内容的推荐、基于协同过滤的推荐、基于知识的推荐等。在实际应用中,许多电子商务平台往往会结合多种推荐方法来实现个性化推荐。基于内容的推荐(CB,Content-BasedRecommendation)根据内容相关性为用户推荐产品,利用内容本身的特点进行推荐。从品类、品牌、商品属性、商品标题、商品标签等多个维度计算内容相似度,将相似度最高的商品推荐给相关用户。内容推荐是一种非常基础的推荐方法,计算的是内容本身的相关度。比如用户在淘宝上浏览过男装衬衫,如果在淘宝上发现了好货,就会推荐各种男装衬衫、男装T恤、男装西装等,如果用户继续浏览男装四分之三袖衬衫,系统获取该商品属性后,会继续为您推荐亚麻三分袖衬衫、亚麻三分袖衬衫、五分袖衬衫、男款四分袖T恤、很快。这就相当于在商场旁边有一个私人导购。每次你试衣服,它都会为你推荐一系列相关的衣服。CB的基本实现原理(1)提取产品特征可以根据产品的一些数据进行提取,如类别、属性、品牌、标题、标签、产品组合、评分等因素。(2)计算用户喜欢的特征,根据用户之前喜欢和不喜欢的商品的特征进行计算,得到用户喜欢的特征。用户的特征由相关的关键词组成,通过TF-IDF模型可以计算出用户行为的关键词,从而得到用户的特征。(3)向用户推荐相关商品根据用户喜欢的特征,到商品库中进行选择,找出多个相关度最高的商品进行推荐。既然我们已经提取了商品的特征,并计算出了用户喜欢的特征,那么我们就可以利用余弦相似度来计算商品之间的相似度,作为个性化推荐的依据。简单介绍一下余弦相似度,通过计算两个向量夹角的余弦值来评价它们的相似度。如图所示,夹角越小,两个向量越相似;角度越大,两个向量的差异越大。(4)最后根据用户反馈的结果更新用户最喜欢的特征。用户的喜好是不断变化的。今天我可能关注衬衫,明天我想看手机,所以系统需要根据用户的变化不断更新用户的特征。CB算法的优点:实现起来比较简单,不需要复杂的算法和计算,可以快速实现用户和产品的关联。可以解释简单快速的结果,并且很容易找到可解释的相关特征。CB算法的缺点:无法挖掘用户潜在兴趣分析特征有限,难以充分提取商品相关性,无法对新用户产生推荐,用户行为少时推荐不准确.推荐需求,却不能真正满足千人千面。因此,我们需要通过算法模型自动发现用户行为数据,从用户的行为中推断用户的兴趣,向用户推荐符合其需求的商品。基于用户行为分析的算法是个性化推荐系统的重要算法,一般称为“协同过滤算法”。协同过滤算法是通过用户行为分析,不断获取用户交互信息,不断过滤掉用户推荐列表中不感兴趣或不匹配的商品,不断提高推荐效果。简单来说,这个算法不仅是根据自己的喜好,还会引入“邻居”的喜好来进行推荐。这样的推荐更加充分,能够深入挖掘用户的潜在兴趣。上文提到,协同过滤是基于用户行为分析,因此需要引入以下参数进行计算:等)用户行为上下文(包括时间、地点等)用户行为权重(包括浏览时间、购买频率等)用户行为内容(如评价分数、评论文本内容等)协同过滤主要包括两种类型:基于用户的协同过滤,基于用户的CF;和基于项目的协同过滤,基于项目的CF。这两个我们下面就不介绍了。(1)User-basedcollaborativefilteringUser-basedCF系统通过分析一个用户和其他用户的特征值,找出相似的特征用户,然后根据特征用户认为的商品,找到一些商品推荐给用户喜欢。以阅读为例。比如用户A一直在看建筑方面的书籍,这样系统就可以找到有相似兴趣的用户,然后把这些用户喜欢读的书(以及这些用户A没有读过的书)推荐给用户A。。简而言之,就是计算两个用户之间的相似度,然后向A推荐用户B喜欢的东西。User-basedCF的基本实现原理1)找到与目标用户有相似兴趣的用户,首先定义用户行为的分数,比如定义浏览、收藏、加入购物车、购买、评分等的分数,以及然后对每个行为进行评分,通过余弦相似度计算用户相似度。比如我们有六个用户1001、1002、1003、1004、1005、1006,用户对产品的行为包括浏览、收藏、下单。我们需要给用户行为分配不同的权重分数,比如浏览0.1分,收藏0.5分。整体行为评分表如下:然后我们统计这些用户在不同产品上的行为,得到下表。下表显示了用户对每个产品的偏好分数。分数越高,说明用户对产品的兴趣越大。我们可以根据余弦相似度来计算用户的相似度。具体公式如下:我们现在要计算两个用户1001和1002的相似度,将数据带入公式:通过计算,我们得到用户1001和1002的余弦相似度值约等于0.863。相似度取值范围为-1到1,1表示用户完全相似,0表示用户相互独立,-1表示两个用户的相似度正好相反,-1和1之间的值表示相似度和差异。而我们刚刚得到的值为0.863,说明用户之间的相似度很高。同理,我们可以计算出1001个用户与其他用户的相似度。2)向目标用户推荐收藏中用户喜欢而目标用户没有听说过的产品。目标用户。还是上面那个栗子,我们需要向用户1001推荐未浏览过的商品,我们计算相似度值高的用户集合到1001,假设我们设置一个阈值0.85,将用户喜欢的相似度值在0.85以上的商品进行推荐定位用户还涉及到推荐排名的问题。我们根据以下公式计算推荐度:(其中S(u,k)指的是k个与用户u兴趣最接近的用户集合,N(i)指的是对itemi有过操作的用户集合,其中数学符号∩为交集,W表示用户U和用户V的相似度,R表示用户V对物品的兴趣)我们需要先计算与1001相似的用户,得到1002的相似度值、1003、1004、1005、1006用户分别为0.863、0.875、0.779、0.812、0.916。我们取相似度值在0.85以上的用户,包括1002、1003、1006。因此,可以向用户1001推荐自拍杆和白酒这两个产品,而1001的推荐列表中不包括这两个产品。我们可以通过上面的公式计算出用户对这两种产品的兴趣程度,然后进行排序。自拍杆=0.863*1+0.916*8=8.191酒=0.863*3=2.589这样我们就可以对自拍杆和酒进行排序了。在向用户1001推荐时,自拍杆会排在酒的前面。(2)Product-basedcollaborativefilteringItem-basedCF该算法最早由亚马逊提出。系统通过分析用户标签数据和行为数据,确定用户喜欢的产品类型,然后选择一些相似的产品推荐给他们。喜欢普通类型产品的用户。例如,由于您购买了“佛珠手链”,算法会向您推荐“茶具”和“檀香”。该算法是目前电子商务领域使用最多的算法。很多朋友认为itemCF算法和基于内容的推荐算法很相似。事实上,CF算法并不是根据商品的属性和类别来计算相似度的。它主要通过分析用户行为来记录内容之间的相关性。所以算法不会计算佛珠手链和茶具檀香的相似度,但是喜欢佛珠手链的用户也喜欢茶具和檀香,所以系统会判断手链有相关性、茶具和檀香。Item-basedCF的基本实现原理1)计算内容之间的相似度计算商品之间的相似度也会用到余弦相似度。两种产品具有相似的关系,因为它们受到许多用户的喜欢。产品的相似度越高,说明这两款产品被很多用户喜欢。这里也用到了余弦相似度,只是公式略有不同,其中|N(i)|是喜欢产品i的用户集合,|N(j)|是喜欢产品j的用户集合,|N(i)∩N(j)|是同时喜欢物品i和物品j的用户的交集。例如,首先我们假设有3个用户,分别是A、B、C,用户A购买了A、C两种产品,用户B购买了A、B、C三种产品,用户C只购买了产品A。。商品A:用户A,用户B,用户C,商品B:用户B,商品C:用户A,用户B按以上公式计算。我们先计算商品A、商品B、商品C的相似度,从上面的结果可以看出,商品A和商品C的相似度最高,所以在需要推荐的场景下,系统会优先向用户C推荐产品C。2)根据用户的喜好为用户生成推荐列表。在计算出产品相似度后,我们需要向用户推荐产品。如果用户最近有多个行为记录,我们先计算每个行为记录的相似度值,然后就可以得到多个推荐列表。我们需要对这些列表进行重复数据删除和排序以获得相似的值。需要注意的是,如果有重复记录,单个推荐列表的相似度值不高,但是涉及到多个推荐列表,所以我们需要增加它的权重。然后根据相似度值排序显示。3.其他推荐算法除此之外,还有一些其他的推荐算法。例如基于知识的推荐和基于人口统计的推荐。由于篇幅原因,这里不做详细介绍。全文完结,感谢阅读。作者简介:曾就职于阿里巴巴、每日优鲜等互联网公司,担任技术总监,拥有15年电子商务和互联网经验。