热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人工智能推荐系统:大数据电商推荐系统架构

一、数据1、数据生命周期2、数据源解析2.1商品信息2.2用户评分数据2.3主要数据模型3、大数据处理流程3.1大数据离线处理流程3.2大数据实时处理流程二、大数据推荐项目系统架构
一、数据

1、数据生命周期

《人工智能-推荐系统:大数据电商推荐系统架构》

2、数据源解析

2.1 商品信息

《人工智能-推荐系统:大数据电商推荐系统架构》

2.2 用户评分数据

《人工智能-推荐系统:大数据电商推荐系统架构》

2.3 主要数据模型

《人工智能-推荐系统:大数据电商推荐系统架构》

3、大数据处理流程

3.1 大数据离线处理流程

《人工智能-推荐系统:大数据电商推荐系统架构》

3.2 大数据实时处理流程

《人工智能-推荐系统:大数据电商推荐系统架构》

二、大数据推荐项目系统架构

《人工智能-推荐系统:大数据电商推荐系统架构》
《人工智能-推荐系统:大数据电商推荐系统架构》
《人工智能-推荐系统:大数据电商推荐系统架构》
《人工智能-推荐系统:大数据电商推荐系统架构》
《人工智能-推荐系统:大数据电商推荐系统架构》

1、离线统计模块

《人工智能-推荐系统:大数据电商推荐系统架构》

1.1 历史热门商品统计

  • 统计所有历史数据中每个商品的评分数,得:RateMoreProducts 数据结构:productId,count

    select productId, count(productId) as count from ratings group by productId order by count desc

1.2 近期热门商品统计

  • 统计每月的商品评分个数,就代表了商品近期的热门度,得:ratingOfMonth、RateMoreRecentlyProducts

    select productId, score, changeDate(timestamp) as yearmonth from ratings

    select productId, count(productId) as count ,yearmonth from ratingOfMonth group by yearmonth, productId order by yearmonth desc,count desc

    changDate :UDF函数,使用 SimpleDateFormat 对 Date 进行格式转化,转化格式为“yyyyMM”
    RateMoreRecentlyProducts 数据结构:productId,count,yearmonth

1.3 商品平均评分统计

  • AverageProducts 数据结构:productId,avg

    select productId, avg(score) as avg from ratings group by productId order by avg desc

2、离线推荐模块

2.1 基于LFM的离线推荐模块

2.1.1 用ALS算法训练隐语义模型(LFM)

《人工智能-推荐系统:大数据电商推荐系统架构》

  • 均方根误差(RMSE):均方误差的算术平方根,预测值与真实值之间的误差
    《人工智能-推荐系统:大数据电商推荐系统架构》
  • 参数调整 可以通过均方根误差,来多次调整参数值,选择RMSE最小的一组参数值:rank,iterations,lambda

2.1.2 计算用户推荐矩阵

《人工智能-推荐系统:大数据电商推荐系统架构》

2.1.3 计算商品相似度矩阵

《人工智能-推荐系统:大数据电商推荐系统架构》

2.2 基于物品的离线相似推荐(Tf-idf)

《人工智能-推荐系统:大数据电商推荐系统架构》

  • 怎样找到商品 A 的相似商品?—— 与A有相同标签的商品,喜欢A的人同样喜欢的商品
  • 根据 UGC (用户给商品打的标签)的特征提取 —— 利用TF-IDF算法从商品内容标签中提取特征
  • 基于商品的用户标签信息,用TF-IDF算法提取特征向量
    《人工智能-推荐系统:大数据电商推荐系统架构》
  • 计算特征向量的余弦相似度,从而得到商品的相似列表
    《人工智能-推荐系统:大数据电商推荐系统架构》
  • 在实际应用中,一般会在商品详情页、或商品购买页将相似商品推荐出来

2.3 基于物品的协同过滤离线相似推荐(Item-CF)

《人工智能-推荐系统:大数据电商推荐系统架构》

  • 怎样找到商品 A 的相似商品?—— 与A有相同标签的商品,喜欢A的人同样喜欢的商品
  • 根据行为数据的相似度计算—— Item-CF:根据行为数据,找到喜欢了商品A的用户,同时喜欢了哪些商品,喜欢的人重合度越高相似度就越大
  • 基于物品的协同过滤(Item-CF),只需通过埋点收集用户的常规行为数据(比如点击、收藏、购买)就可以得到商品间的相似度,在实际项目中应用很广
  • 比如:A商品详情页中的推荐:购买了A商品的用户也购买了以下商品…
  • “同现相似度”—— 利用行为数据计算不同商品间的相似度
    《人工智能-推荐系统:大数据电商推荐系统架构》
    其中:
    • N i N_i Ni 是购买商品 i i i (或对商品 i i i 评分)的用户列表, N j N_j Nj 是购买商品 j j j 的用户列表
    • N i ∩ N j N_i ∩ N_j NiNj 表示同时购买了商品 i i i 与商品 j j j 的用户总数、 ∣ N i ∣ ∣ N j ∣ \sqrt{|N_i||N_j|} NiNj 是对热门商品的惩罚项

《人工智能-推荐系统:大数据电商推荐系统架构》

2.4 基于用户的协同过滤离线相似推荐(User-CF)

3、实时推荐模块

  • 计算速度要快
  • 结果可以不是特别精确
  • 有预先设计好的推荐模型
  • 基于自定义模型
    《人工智能-推荐系统:大数据电商推荐系统架构》
  • 推荐优先级计算基本原理:用户最近一段时间的口味是相似的
  • 备选商品推荐优先级:
    《人工智能-推荐系统:大数据电商推荐系统架构》
    《人工智能-推荐系统:大数据电商推荐系统架构》
  • 备选商品 【 X , Y , Z 】 【X,Y,Z】 X,Y,Z当前商品 D D D 的商品相似度列表中与商品 D D D 最相似的的前 N N N 个商品
  • 备选商品 X X X 的推荐优先级分数为:
    s i m ( A , X ) × 5 + s i m ( B , X ) × 4 + s i m ( C , X ) × 1 3 + l g 2 − l g 1 \cfrac{sim(A,X)×5+sim(B,X)×4+sim(C,X)×1}{3}+lg2-lg1 3sim(A,X)×5+sim(B,X)×4+sim(C,X)×1+lg2lg1
    其中
    • l g 2 lg2 lg2里的 2 2 2表示用户对商品的评分大于3分的商品数量,
    • l g 1 lg1 lg1里的 1 1 1表示用户对商品的评分小于3分的商品数量,
    • 分界线 3 3 3分是人为设定的

4、混合推荐 —— 分区混合

《人工智能-推荐系统:大数据电商推荐系统架构》


推荐阅读
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本周三大青年学术分享会即将开启
    由雷锋网旗下的AI研习社主办,旨在促进AI领域的知识共享和技术交流。通过邀请来自学术界和工业界的专家进行在线分享,活动致力于搭建一个连接理论与实践的平台。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 本文探讨了在SQL Server 2008环境下,当尝试删除拥有数据库架构的用户时遇到的问题及解决方案,包括如何查询和更改架构所有权。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文探讨了在一个使用Mongoid框架的项目中,如何处理当HABTM(has_and_belongs_to_many)关系中的逆向关联设置为nil时,子对象无法正确持久化的问题。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
author-avatar
渐我素小黑陈琼敏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有