实践:搭建电商推荐系统|学习笔记

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习实践:搭建电商推荐系统

开发者学堂课程【场景实践 - 搭建个性化推荐引擎系统实践:搭建电商推荐系统】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/522/detail/7055


实践:搭建电商推荐系统


内容介绍:

一、实验场景介绍

二、具体数据集

三、数据预处理

四、操作步骤

五、新的需求


一、实验场景介绍

某图书类电商网站采集了大量用户在该网站浏览图书的日志,希望通过对日志进行分析,给用户提供有效的图书推荐,将用户可能感兴趣的图书呈现在用户的图书浏览页,提升用户在该网站的粘性和购买转化率。

期望达到的效果如下:

第一,当用户进入网站首页时,推荐 TA 可能喜欢的图书,结合该用户的历史行为信息进行推荐﹔

image.png

第二,当用户进入详情页时,根据当前页面展现的图书信息,结合用户的历史行为信息进行推荐;

image.png

该电商网站的数据团队开始构思实现方案︰

1、考虑推荐方案选型

2、考虑推荐引擎产品选型

3、考虑推荐位的设计经过调研讨论,数据团队做出如下选择:

1、选择基于用户和物品的协同过滤算法

2、选择阿里的推荐引擎产品 RecEng

3、首页基于用户相似度进行推荐,详情页基于物品相似度进行推荐


二、具体数据集

电商数据团队加工了三个数据集

1.用户数据集

image.png

该数据集有943行,有943个用户的数据

字段包括︰用户 ID、年龄、性别、职业、邮编

2.图书数据集

image.png

该数据集有229行,有229本图书的数据

字段包括︰图书 ID、图书名称、作者、出版社、出版月份

3.浏览日志统计数据集

image.png

该数据集有73578行

字段包括:用户 ID、图书 ID、浏览次数、最近一次浏览时间


三、数据预处理

1.在 MaxCompute 中创建用户表、图书表、浏览日志统计表。并将实验数据上传到三个表中。

image.png

2.按照推荐引擎数据模型的要求,使用 SQL 等将用户表、图书表、浏览日志统计表中的数据插入到推荐引擎所需要的表中去,也就是获取推荐引擎的7张表。表明可以自定义,字段和字段类型需要和推荐引擎算法保持一致。

image.png


四、操作步骤

1.新建业务

然后整理好相关的数据集之后,就可以通过阿里云的推荐产品来进行后续的推荐操作,可以在阿里云的管理控制台大数据数加菜单里面找到推荐引擎菜单,然后进入到推荐引擎界面,在推荐引擎登录界面,点击自然资源管理添加云计算资源填写属性项,添加 max compute 资源,其实也就是把推荐引擎与 max compute 里面建的数据关联起来,然后再点击相关的新建业务,根据系统提示的内容创建一个图书推荐业务,创建完成之后可以在首页看到新建的图书推荐业务。

image.png

2.数据设置

新建业务完成之后,系统会提示为新建业务添加数据,其实就是把在 max compute 的中新建的模型表与推荐引擎的数据表模型建立一对一的映射关系,本次实验在 max compute 中新建了四张表,除了三张必须表,也就是用户表,物品表,用户行为表之外还创建了用户属性维度表。对于物品属性维度表没有创建对于系统默认从物品表中查询出所有可推荐的物品,表映射关系形成之后点击评估按钮,选择对应的时间,这个时间主要是依照在 ODPS 数据保存的是哪个时间分析上的数据。然后进行数据局质量评估,系统运转一段时间之后完成评估,这时就可以查看最终的数据及评估结果,评估结果包括数据的基础质量、内容丰富度、覆盖度、算法适应度、波动性效果指标适用度和评估得分,以及一些相关的改进意见,评估成功之后,提供的数据可以用来做业务推荐了。

image.png

3.场景设置-新建场景

数据可以做业务推荐,进入到下一步点击页面左侧的测试菜单,点击新建场景按钮,新建一个图书推荐场景

image.png

点击新建的图书推荐场景,可以在右侧看到一些配置项,包括指标配置 API 参数配置、算法策略,在线流程、在线测试、日志查看几个模块,可以在 API 参数设置模块中选择用户 ID 和物品 ID 作为输入参数,也就是说最终的推荐是通过这两个参数输入值来进行计算反馈,算法策略选择是基于 item CF 的协同过滤,行为权重设定为 view:1.0。

4.场景设置-离线计算

参数配置成功之后,点击计算,启动基于输入配置的模型计算,时间选择2017-08-01,因为初始化的数据放在了20170801的分区中。等一段时间之后计算完成场景的状态会为计算完成状态。

image.png

5.测试推荐业务场景

点击在线流程,对在线数据处理流程进行配置,选中基于物品相似度产生的相似物品列表和用户对物品的推荐候选集,权重各占50%。点击在线测试,可以通过输入请求参数获取返回推荐结果集。

image.png

若用户停留在图书网站首页,通过输入用户 ID 返回推荐结果

image.png

若用户停留在 ltemld=29的详情页,通过输入用户 ID 和 ltemld,返回推荐结果。

image.png

还是推荐测试界面,大家可以看到请求参数里面有 userid 和 itemdid 这两个参数,其实对应的就是用户唯一编码、物品唯一编码,这里面可能就是一个图书唯一编码,比如说一个用户刚登录页面首页还没有访问数据的时候,可以传入的参数只有用户编码唯一参数,物品编码参数就不传。点击执行按钮之后就能看到针对用户可推荐的数据哪些,这个场景就是左侧的那个结构上,然后右侧的场景是这一个用户开始访问相关数据的页面,可以传入参数变成了用户编码加上物品的编码,这样这两个参数写入之后,点击执行按钮,就能看到针对用户在访问这本书的时候有哪些数据可以推荐。

6.上线业务场景

点击上线,将业务场景上线。

若沿用当前线上数据,则选择继续使用当前线上离线计算的推荐结果数据

若沿用测试环境数据,则选择使用测试环境离线计算的推荐结果数据覆盖当前的线上数据

本次实验选择使用测试环境离线计算的推荐结果数据覆盖当前的线上数据

image.png

业务场景上线以后,可以做相关的测试,比如点击线上菜单,选中新建的图书推荐场景,选择屏幕右侧的 API 调试进行线上的 API 调试

image.png

这种只传用户编码做参数的调用方式,是实现使用 API 实现的首页推荐,也就是当用户进入首页时,通过调用 API 获取推荐结果集

image.png

这种传用户编码加物品编码做参数的调换方式是实现的,使用 API 实现书籍详情页面的页面推荐即当用户记录了详情页的时候,通过调用 API 获取推荐结果集。


五、新的需求

该电商网站新上线了一个书评的功能,用户可以在书评区对图书进行评价,并选定星级,星级由一星到五星不等。

网站运营团队希望新增一个根据书评进行图书推荐的功能,这个需求提给了数据团队。

书评数据由

用户 ID

图书 ID

评价星级

评价时间

四个字段组成

image.png

请根据本实验的用户数据集、图书数据集以及新需求提供的书评数据集搭建基于书评数据的推荐系统。

注意事项一∶

在数据预处理时,请注意用户行为表( user_behavior )的行为类型字段( Bhv_type )

在本实验中该字段的值设定为 view。书评项目请考虑设定为 grade。

view:物品曝光

click :用户点击物品

collect :用户收藏了某个物品

uncollect :用户取消收藏某个物品

search_click :用户点击搜索结果中的物品

comment :用户对物品的评论

share:分享

like:点赞

dislike :点衰

grade :评分

consume :消费

注意事项二:

在算法配置的参数设置时,用户计算用户偏好的有效行为及权重项︰

在本实验中该字段的值设定为 view:1.0。书评项目请考虑设定为 grade:1.0。

image.png

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
2月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
140 14
|
2月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
264 0
|
18天前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的算法与实现:深入解析与实践
【6月更文挑战第14天】本文深入探讨了推荐系统的原理与实现,包括用户和项目建模、协同过滤、内容过滤及混合推荐算法。通过收集用户行为数据,系统预测用户兴趣,提供个性化推荐。实践中,涉及数据处理、建模、算法选择及结果优化。随着技术发展,推荐系统将持续改进,提升性能和用户体验。
|
27天前
|
机器学习/深度学习 人工智能 搜索推荐
构建基于AI的个性化新闻推荐系统:技术探索与实践
【6月更文挑战第5天】构建基于AI的个性化新闻推荐系统,通过数据预处理、用户画像构建、特征提取、推荐算法设计及结果评估优化,解决信息爆炸时代用户筛选新闻的难题。系统关键点包括:数据清洗、用户兴趣分析、表示学习、内容及协同过滤推荐。实践案例证明,结合深度学习的推荐系统能提升用户体验,未来系统将更智能、个性化。
|
2月前
|
人工智能 自然语言处理 搜索推荐
LLM在电商推荐系统的探索与实践
LLM在电商推荐系统的探索与实践
1353 1
|
2月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
380 1
|
2月前
|
NoSQL 搜索推荐 算法
【MongoDB】MongoDB在推荐系统中的实践应用
【4月更文挑战第1天】【MongoDB】MongoDB在推荐系统中的实践应用
|
机器学习/深度学习 人工智能 搜索推荐
【推荐系统】Facebook经典模型GBDT+LR代码实践
【推荐系统】Facebook经典模型GBDT+LR代码实践
155 0
|
12月前
|
机器学习/深度学习 存储 搜索推荐
协同过滤推荐系统:原理、技术与Java实践
前言 在当今信息爆炸的时代,推荐系统已成为解决信息过载问题的有效工具。从电商网站的商品推荐到社交媒体的信息推送,推荐系统已经渗透到了我们生活的方方面面。而协同过滤(Collaborative Filtering,简称CF)算法是推荐系统领域的一种经典技术,通过分析用户之间的相似性或物品之间的相似性,为用户推荐与其兴趣相关的物品。
1646 1
|
机器学习/深度学习 自然语言处理 搜索推荐
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战