【云栖号案例 | 互联网】小红唇APP通过大数据计算平台21天内搭建推荐系统

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 小红唇需要在打造在线数仓构建可视化数据展示的应用、提升一些应用场景的响应速度等。通过数加降低人员、时间、金钱成本,在21天内搭建推荐系统。

云栖号案例库:【点击查看更多上云案例】
不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

公司简介

小红唇App是国内最大的一款针对15-25岁年轻女性的垂直视频分享社区和社交化电商平台,业务模式为短视频美妆社区电商。我们为用户提供了丰富的平台内容、活跃的社区生态和优质的产品选择。

业务痛点

  • 数据仓库:

1.需要在打造在线数仓,在线完成数据开发、数据清洗和转换等任务。
2.通过数仓构建可视化数据展示的应用,即时展示营收数据,便于运营和决策快速调整。

  • 推荐引擎:打造短视频和图片的推荐引擎,需要具备便捷性和灵活性的在线产品,支持多种算法和过滤体系。
  • 算法平台应用:

1.基于视频元信息的回归:作为一个UGC的平台,用户上传内容的质量是参差不齐的,为了保证平台内容的质量。编辑进行了很多精选和挑选的工作。如何提升编辑的筛选效率是当前需要解决的关键问题。
2.近义词:需要有一套高效的算法优化搜索的体验,使用户在搜索时更容易获得目标内容。
3.业务总线:需要提升一些应用场景(搜索热词统计、实时热度统计)的响应速度、实时触发业务事件,支撑类似于发送优惠券、推送消息等业务。

数据仓库解决方案

image

小红唇App的数据来源主要为两个方面,当所有数据都搬到MaxCompute平台上之后,在其上做的数据开发更加轻松。

  • 业务服务器产生的API日志,代表着用户的各种行为数据。用户行为日志是通过阿里云的DataHub组件把API日志采集到MaxCompute平台上,只需要在数加的IDE里做一些简单的配置即可将数据完整的迁移过来。
  • 服务器产生的各种交易数据,比如用户发的帖子、买的东西。业务数据是通过阿里云提供的DATAX工具载入到MaxCompute平台上,业务数据库已经完全迁移到了阿里的RDS平台。
    在MaxCompute平台上,可以用类SQL的语句编写数据清洗和转换的执行任务,平台同时提供管理器对任务进行调度和管理。在数仓之上,构建了很多应用,最直接的就是QUICK BI。社区内容运营和商品运营都是依赖于实际的运营数据来做进一步的决策和运营商的策略调整,QUICK BI对运营的指导非常大。
  • 阿里云的QUICK BI不需要开发可视化的前端,只需要在数加的data IDE里面做相应数据任务的编排就可以很容易的通过QUICK BI产品展示出来。
  • 在QUICK BI可视化的界面上不仅有各种图表的展现还提供了一定功能的多维数据分析,极大提高了运营效率。

推荐引擎解决方案

image

推荐引擎的整体架构如上图所示。虚线框以内是推荐引擎产品本身的内容。我们需要做的仅仅是把我们的数据按照推荐引擎需要的格式准备好,在MaxCompute里面把对应的表都建好。主要应用场景是短视频和图片的推荐,推荐引擎打理好一切之后,得到推荐结果以API形式供业务服务器调用。

除了便捷性,推荐引擎还提供了非常强的灵活性。主要做了首页推荐和详情页推荐,首页推荐主要是用基于协同过滤的算法来计算出结果,详情页推荐对阿里云的模板进行了修改引入了基于TFIDF算法的计算节点来加强了相关性的推荐。同时,推荐引擎还支持A/B TEST测试体系,对模板算法和参数的细微调整都可以定量化的分析和计算出来。推荐引擎的另外一个优势是可以和阿里云实时计算相结合,把用户的数据实时导入计算引擎中,实时对推荐结果进行修正。

算法平台解决方案

  • 基于视频元信息的回归

image

作为一个UGC的平台,用户上传内容的质量是参差不齐的,为了保证平台内容的质量。编辑进行了很多精选和挑选的工作。如何提升编辑的筛选效率?为此,我们选择了阿里云的机器学习平台。通过视频的元信息(时长,帧率,码率,描述内容,亮度,对比度,分辨率,锐度)的抽取,形成了特征矩阵,随机选取了已有视频数据;以是否经过编辑精选做了有监督的逻辑回归训练,训练出模型;对新的视频应用这个模型给出预判评估,作为视频编辑的参考, 及搜索推荐的影响因子。

具体的过程如上图所示。我们需要将自己的视频信息进行量化,通过拖拽、拼接构建起训练的模型。最左边这张图应用了逻辑回归、线性回归、随机森林三种模型进行训练,目前选用的是逻辑回归的模型。在算法平台训练完模型之后会非常容易的导入到DateWorks中,准备好的新视频数据就会把模型节点加进去,得到对应的预测打分。最右边的图是把评分结果通过QUICK BI展示。整个过程没有太多的工作量,只需要在平台上做一些配置就可以完成整个视频元信息的回归和训练。

  • 近义词

image

近义词主要是为了优化搜索的体验,具体是把用户发布的内容、视频的名称、描述、用户的标签、评论等语料信息通过阿里云实时计算word2vec算法获取词向量,通过余弦相似度计算获取近义词,通过人工筛选、录入到搜索引擎的同义词库中提升搜索体验。

最上层是用户输入的元数据,通过几个步骤,以及K-means聚类算法做了一些分析。

  • 业务总线

image

最开始使用阿里云实时计算只是为了提升一些应用场景(搜索热词统计、实时热度统计)的响应速度。但是,通过阿里云实时计算已经截取了所有的业务事件,那么是否可以通过实时计算将业务事件实时触发出来支撑类似于发送优惠券、推送消息等业务?实践证明了其可行性。目前,通过阿里云实时计算这套业务总线体系的时延控制在了秒级。

上云价值

小红唇App拥抱数加已有半年光景,对数加的体验非常好,其感受主要为以下四点:

  • 不需要像传统大数据业务一样构建一个非常复杂的Hadoop栈,并且对其进行运维,节省了金钱和时间成本。
  • MaxCompute的整个生态系统设计的比较完善,无需专职数据团队,降低了人员成本。
  • 得益于数加的生态,可以在21天内搭建推荐系统。
  • 借助阿里云实时计算非侵入实现业务总线,满足了绝大部分场景。

相关产品

  • 大数据计算服务 · MaxCompute

MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。
更多关于阿里云MaxCompute的介绍,参见MaxCompute产品详情页

  • 云数据库RDS MySQL版

MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景。
更多关于云数据库RDS MySQL版的介绍,参见云数据库RDS MySQL版产品详情页

  • Quick BI

Quick BI 专为云上用户量身打造的新一代智能BI服务平台。
更多关于Quick BI的介绍,参见Quick BI产品详情页

  • 实时计算

实时计算(Alibaba Cloud Realtime Compute,Powered by Ververica)是阿里云提供的基于 Apache Flink 构建的企业级大数据计算平台。在 PB 级别的数据集上可以支持亚秒级别的处理延时,赋能用户标准实时数据处理流程和行业解决方案;支持 Datastream API 作业开发,提供了批流统一的 Flink SQL,简化 BI 场景下的开发;可与用户已使用的大数据组件无缝对接,更多增值特性助力企业实时化转型。
更多关于实时计算的介绍,参见实时计算产品详情页

  • DataWorks

DataWorks是一个提供了大数据OS能力、并以all in one box的方式提供专业高效、安全可靠的一站式大数据智能云研发平台。 同时能满足用户对数据治理、质量管理需求,赋予用户对外提供数据服务的能力。
更多关于阿里云DataWorks的介绍,参见DataWorks产品详情页

【云栖号在线课堂】每天都有产品技术专家分享!
在线课堂地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
25天前
|
SQL 分布式计算 NoSQL
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
16 1
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
|
18天前
|
机器学习/深度学习 监控 搜索推荐
电商平台如何精准抓住你的心?揭秘大数据背后的神秘推荐系统!
【10月更文挑战第12天】在信息爆炸时代,数据驱动决策成为企业优化决策的关键方法。本文以某大型电商平台的商品推荐系统为例,介绍其通过收集用户行为数据,经过预处理、特征工程、模型选择与训练、评估优化及部署监控等步骤,实现个性化商品推荐,提升用户体验和销售额的过程。
62 1
|
22天前
|
分布式计算 大数据 Linux
大数据体系知识学习(二):WordCount案例实现及错误总结
这篇文章介绍了如何使用PySpark进行WordCount操作,包括环境配置、代码实现、运行结果和遇到的错误。作者在运行过程中遇到了Py4JJavaError和JAVA_HOME未设置的问题,并通过导入findspark初始化和设置环境变量解决了这些问题。文章还讨论了groupByKey和reduceByKey的区别。
21 1
|
26天前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
34 3
|
25天前
|
存储 大数据 分布式数据库
大数据-165 Apache Kylin Cube优化 案例 2 定义衍生维度及对比 & 聚合组 & RowKeys
大数据-165 Apache Kylin Cube优化 案例 2 定义衍生维度及对比 & 聚合组 & RowKeys
24 1
|
26天前
|
消息中间件 druid 大数据
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
28 2
|
26天前
|
消息中间件 分布式计算 druid
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
47 1
|
26天前
|
存储 SQL 分布式计算
大数据-142 - ClickHouse 集群 副本和分片 Distributed 附带案例演示
大数据-142 - ClickHouse 集群 副本和分片 Distributed 附带案例演示
84 0
|
26天前
|
存储 SQL 分布式计算
大数据-139 - ClickHouse 集群 表引擎详解4 - MergeTree 实测案例 ReplacingMergeTree SummingMergeTree
大数据-139 - ClickHouse 集群 表引擎详解4 - MergeTree 实测案例 ReplacingMergeTree SummingMergeTree
28 0
|
26天前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
40 0