加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

为啥抖音,淘宝总喜欢把你喜欢的呈现给你?Python来实现这个机制

发布时间:2020-12-17 00:54:30 所属栏目:Python 来源:网络整理
导读:最近正在研究个性化推荐相关的知识,本文以电商平台为例,逐步探讨有关个性化推荐的知识。 研究一个事物,首先要了解这个事物,才能深刻理解它。个性化推荐系统包括:用户、推荐平台以及推荐内容三个方面。如图所下: 私信小编01 02 03 04 即可获取数十套PDF

最近正在研究个性化推荐相关的知识,本文以电商平台为例,逐步探讨有关个性化推荐的知识。

研究一个事物,首先要了解这个事物,才能深刻理解它。个性化推荐系统包括:用户、推荐平台以及推荐内容三个方面。如图所下:

私信小编01 02 03 04 即可获取数十套PDF哦!

用户在前台完成表单的填写(form表单)-提交给以PHP等结尾的后台文件(通常用action=“.php')-操作数据库(增、删、查、改等操作)

同样,推荐系统是基于数据中的用户表和商品表,通过表与表进行某种关系(例如通过潜在因子算法),给用户推荐感兴趣的商品。后台的核心在于处理用户和商品之间的关系,给用户和商品构建画像,将画像与画像建立关系,进而构建推荐系统。

以上从网站架构分析的,主要目的让用户了解整个推荐系统底层架构是什么,方便从宏观方面了解。下面,本文从推荐系统发展史深入探讨。

1.单因子推荐

单因子推荐是什么?也就是整个推荐系统基于某个核心因子给用户推荐。单因子推荐分为被动推荐和主动推荐两种。

(1)被动推荐

所谓被动推荐就是在用户参与下而产生的某种结果。例如,淘宝网的按照销量推荐以及价格从高到低等就是按照单因子推荐,用户点击按照销量推荐,就会看到销量从高到低商品列表(具体技术实现是这样的:用户点击按照销量排序-触发点击事件(事件内包含后端代码)-操作数据库(select 语句)-结果渲染到前端)。

如图1淘宝按销量从高到低所示:

图1 淘宝从高到低排序

当然,这种推荐是被动推荐,需要用户参与后(例如,点击按价格从高到低排序,PHP或其他后端语言操作数据库,进而返回值到前端,当然,个别网站不需要后端参与,在客户端将结果缓存),才可以看到排序结果。

(2)主动推荐

除此之外,还有基于单因子的主动推荐。常见的热销排行榜,是基于销售量这一因子对商品在某段时间内排序(当然,热销排行榜可能还会牵扯到商品浏览量、好评量等因子,这个会在多因子推荐细说)。如图 2 中国轿车销量排行榜(部分截图):

图 2 中国轿车销量排行榜(部分截图)

图2汽车销量排行榜是基于10月这一时间刻度对中国轿车销售数量而进行的排名。

以上是基于单因子而进行的推荐,分为主动和被动两种推荐模式。这种推荐只是基于商品属性(销售量、浏览量、点击量等维度)而给用户进行的推荐,不过,在一定程度上会导致“马太效应’,使得销售量好的商品获得更多的流量和销量。随着个性化推荐技术的发展以及用户消费行为逐渐改变,一些不太常见或销售量低的商品反而成为用户的喜爱,于是,如何结合商品属性和用户属性(性别、年龄、职业、收入以及偏好等)构建用户和商品画像,给用户推荐感兴趣的商品是下文着重研究的重点。说了单因子推荐,接着说多因子推荐。

表 1因子权重排行

首先,计算综合权重值,商品综合权重值=销售量20万*1+价格500(取中间值)*0.3+月PV30万*0.4+好评数4万*0.6+差评数*0.7

然后,将计算出来的数值保存到数据库中,然后可根据sort、冒泡等排序算法对商品进行排序。这是一种比较简单的推荐方式,通过对多因子转化单因子进行排序,提升排序效率。不过这种方法也存在一些需要注意的地方:

1.因子权重如何确定?

目前常见的是头脑风暴法和机器学习(数据建模)两种方式。所谓头脑风暴法就是产品经理或运营等人员根据自己经验确定各个指标确定权重大小,上文中各个权重大小就是我根据自身经验确定的。这种方式很直接,不过在准确度方面还存在一定的问题。另一种就是机器学习方法了,也就是对各个数据建模,确定各个因子的指标大小,比较常见的数据建模方式采用SPSS主成分因子分析法或用Python数据建模,进而确定各个因子的权重大小(本文从宏观方面阐述,下篇文章将着重论述如何采用SPSS主成分分析以及如何用Python数据建模)。

2.如何处理指标值和权重值?

确定好各个因子权重后,如何处理指标值以及权重值是需要面临的问题。通常两种方式一、数值加权处理;二、直接建模;

一、数据加权

上文所列举的事例就采用了数据加权模式,这种模式较为简单,不过,在实际工作中往往存在较大偏差。

二、直接建模

直接建模就是将得到的指标值和权重值直接建模,得出各个商品对应的数值,然后通过sort、冒泡等排序算法对商品排序,输出到前台。

基于商品自身属性多因子推荐仍没有将用户属性加入到推荐系统中,往往会导致一定程度上“马太效应”。下文将讲述如何将用户属性和商品属性结合起来,根据用户画像个性化推荐商品。

(2)基于商品和用户属性个性化推荐

既然是基于用户画像推荐,那么,在推荐之前首先要对用户建立用户画像。什么是用户画像?用户画像也被称为人物角色,或者用户特征,是真实用户的虚拟代表,是建立在一系列真是数据之上的目标用户模型。如何建立用户画像?主要分为以下步骤:

(一)获取用户数据

获取数据的方式主要有问卷调查、SDK或日志系统等方式。

(二)数据处理(整理、清洗等工作)

数据处理的过程主要是对数据整理、清洗等过程,主要处理一些缺失或不正确的字段。

(三)数据建模(定性)

数据建模是创建用户画像的核心部分。既然是数据建模,那么就从数据开始研究,用户数据包括静态数据和动态数据。

静态数据主要包括用户基础属性:年龄、性别、城市、工作等属性。

动态数据主要是用户的行为特征:频繁浏览男装频道、喜欢去知乎、收藏很多手机店铺等。

有了这些数据后,如何建模?

针对静态属性可以通过描述性分析,给用户打标签。动态属性可通过 WHO、WHEN、WHERE以及WHAT方式给动态数据打标签。

如何构建用户画像,将在以后的文章中着重论述。

既然知道了如何构建用户画像,那么,我们就可以以表格形式展现出来。表2 某用户画像标签。

表2 某用户画像标签

同样,我们要对商品构建商品画像,表3为耐克鞋—商品画像标签。

表3 耐克-商品画像标签

确立好用户画像标签和商品画像标签后,下一步需要针对用户和商品建立用户-商品模型,表4 用户-商品模型

表4 用户-商品模型

确立好相应地用户-商品模型后,下一步可运用欧几里得度量等算法对用户-商品模型建模。

注意:因为这张图是二维的,所以在同一时间内你只能看到两项评分,但是这一规则对于更多数量的评分项而言也是同样适用的。

通过以上图形制作,可以分析出相应用户-商品的可视化偏好,进而针对用户做个性化运营和分析。

由于篇幅有限,先给大家分析一下原理!实战下次继续!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读