实操10分钟实现一个简单的推荐架构(一)|学习笔记

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 快速学习实操10分钟实现一个简单的推荐架构(一)

开发者学堂课程【跟阿里云技术专家学习智能推荐系统 实操10分钟实现一个简单的推荐架构(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/662/detail/11078


实操10分钟实现一个简单的推荐架构(一)

 

内容介绍:

一、推荐系统的模块

二、介绍

三、推荐方案架构

四、实操构建简单的推荐系统

 

一、推荐系统的模块

image.png

当今市场上的很多 APP 都有 Feed 流推荐,包括广告推荐、内容推荐等,而他们本质上是一个推荐系统。

推荐系统的模块,例如当一个用户进到新闻的APP,用户在这个系统里具有 UserID,网站上的每一条新闻都是一个潜在的待推荐对象,要从海量新闻中找出a可能感兴趣的新闻,就需要利用推荐系统的两个模块,召回模块和排序模块。

召回模块可以把原先很多的新闻例如10万个候选新闻缩小范围,假设经过召回模块的一些召回算法,计算出来得到a可能会喜欢的500个新闻,然后再去进行排序模块,因为经过召回模块后只能确定a可能喜欢的500个新闻,但不知道a在这500个新闻里最喜欢哪个。

排序模块就是把召回的500个结果进行一次排序,比如 A 最喜欢 ID 是33的这条新闻,第二喜欢 ID 为12的新闻,这样可以生成最终的推荐顺序。

整个推荐业务的流程可以分为召回和排序两个模块,但是在一个非常简单的推荐系统中,只有召回模块也可以完成推荐。

假设把范围做到足够小,比如只有十个新闻,不需要知道a最喜欢哪个,直接把这十个都推荐出去即可。今天的视频内容讲述搭建一个仅有召回模块的简单推荐系统。

 

二、介绍协同过滤算法

image.png

在召回领域有很多算法,例如矩阵分解算法、协同过滤算法等,此处讲解协同过滤的基本逻辑。

比如用户 ABC 中,用户 A 喜欢 Rice、Lamb、Milk,用户B喜欢 Noodle、Fish、Red wine,用户 C 喜欢 Rice、Milk,所以会发现 A 和 C 会有些相似的口味,他们都喜欢吃饭,然后都爱喝牛奶,但可以发现A还喜欢吃 Lamb,则我们就可以理解为 A 和 C 有相似的口味,这个时候A喜欢的某个东西,C 没有尝试过,我们就可以假设 C 也会喜欢 A 的另一种食物,就可以把它作为 C 的召回结果。

可以理解为先发现相似的物品或者相似的人,然后根据相似的人和相似的物品之间的关联性去找出推荐的物品。可以发现推荐系统里两个东西经常被同一个人去买,比如手机和手机壳,但是突然有一个人,只购买了手机,此时就可以把手机壳推荐给该用户。今天所讲述的推荐系统就是以协同过滤算法为基础来完成。


三、推荐架构方案

推荐架构简图如下:

image.png

图示为完整的架构简图,原始的一些数据包括 User Table、Item Table、Behaviour Table 等。

完整的推荐流程首先会用到阿里云的数仓工具 Dataworks,进行数据的预处理、特征工程、周期性调度配置等。

之后会进入到 PAI 的模块,包括 PAI-Studio、PAI-AutoLearning、PAI-EAS,他们都是 PAI 旗下的产品,PAI-Studio 提供排序算法计算和召回算法计算,计算的结果在排序算法以后生成模型,这个模型部署到 EAS,EAS 是一个在线服务系统,会把你的数据或是模型合并成一个 API,这样用户就可以直接通过 API 进行调用。

在召回模块首先把协同过滤后的召回数据生成出来,然后把数据传到阿里云 TableStore(表格式存储数据库)中,PAI-AutoLearning 会和这个数据库打通,并且配置召回策略,比如手机和手机壳的关系在 Studio 里计算出来后,然后再把这种关系传到 TableStore 里,通知把这个表进行配置,这个时候就可以发到 EAS 里成为在线服务。

例如当用户购买手机之后,就会自动推荐手机壳给该用户。搭建整套推荐系统会应用五款产品,分别是:

l Dataworks

数据的预处理、特征工程、周期性调度配置

l PAI-Studio

提供排序算法计算和召回算法计算

l PAI-AutoLearning

配置召回策略

l PAI-EAS

在线服务系统,把数据或是模型合并成一个 API

l TableStore

表格式存储数据库

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2月前
|
存储 人工智能 算法
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
102 0
|
2月前
|
SQL 关系型数据库 MySQL
SQL基础开发与应用-课程及场景介绍
这是一门关于《SQL基础开发与应用》的课程介绍,主要针对数据库Clouder认证的第二阶段。课程以电商平台后端开发为背景,教授RDS for MySQL的SQL基础知识,包括存储过程、触发器和视图等高级特性,并指导学员使用Python进行数据库的增删改查操作。学习目标包括掌握SQL基础操作,了解RDS的高阶功能,并熟悉Python连接RDS进行数据处理。课程采用场景化教学,以跨境电商网站数据库搭建为例,帮助学员理解实际应用。
44 0
|
11月前
|
前端开发
前端学习笔记202305学习笔记第二十三天-项目实战小结
前端学习笔记202305学习笔记第二十三天-项目实战小结
44 0
|
12月前
|
前端开发 Java
CRUP(课时十七)
CRUP(课时十七)
43 0
|
存储 Python
基于Python的简易宿舍管理系统(课程作业附课程小论文)
基于Python的简易宿舍管理系统(课程作业附课程小论文)
198 0
|
存储 监控 前端开发
监控阅读及使用|学习笔记
快速学习监控阅读及使用
194 0
监控阅读及使用|学习笔记
|
存储 SQL 分布式计算
实操10分钟实现一个简单的推荐架构(二)|学习笔记
快速学习实操10分钟实现一个简单的推荐架构(二)
69 0
实操10分钟实现一个简单的推荐架构(二)|学习笔记
|
Go 开发者
函数课堂练习题和作业 | 学习笔记
简介:快速学习函数课堂练习题和作业
117 0
函数课堂练习题和作业 | 学习笔记
|
存储 数据库 开发者
课程评论实现过程分析 | 学习笔记
简介:快速学习课程评论实现过程分析
85 0
课程评论实现过程分析 | 学习笔记
|
前端开发 API 数据库
课程管理-添加小节 | 学习笔记
简介:快速学习课程管理-添加小节
161 0
课程管理-添加小节 | 学习笔记