如何使用图形数据库构建实时推荐引擎

news2024/11/15 21:20:55
推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

“这是给你的”,“为你推荐的”或“你可能也喜欢”,是大多数数字业务中必不可少的短语,特别是在电子商务或流媒体平台中。

尽管它们看起来像一个简单的概念,但它们暗示了企业与客户互动和联系方式的新时代:推荐时代。

老实说,我们大多数人,如果不是所有人,在寻找要看的内容时都被 Netflix 的推荐冲昏了头脑,或者直接前往亚马逊上的推荐部分看看接下来要买什么。

在本文中,我将解释如何使用图形数据库构建实时推荐引擎。

什么是推荐引擎?

推荐引擎是一种工具包,它应用高级数据过滤和预测分析来预测客户的需求和愿望,即客户可能消费或参与的内容、产品或服务。

为了获得这些建议,引擎使用以下信息的组合:

  • 客户过去的行为和历史记录,例如购买的产品或观看的系列。
  • 客户的当前行为以及与其他客户的关系。
  • 产品按客户排名。
  • 企业最畅销的产品。
  • 类似或相关客户的行为和历史记录。

什么是图形数据库?

图形数据库是一个NoSQL数据库,其中数据存储在图形结构中,而不是表或文档中。图形数据结构由可以通过关系连接的节点组成。节点和关系都可以有自己的属性(键值对),这些属性进一步描述它们。

下图介绍了图形数据结构的基本概念:

How to Build a Real-Time Recommendation Engine Using Graph Databases


图形数据结构示例

流媒体平台的实时推荐引擎

现在我们知道了什么是推荐引擎和图形数据库,我们已经准备好介绍如何使用流式处理平台的图形数据库构建推荐引擎。

下图存储了两个客户看过的电影以及两个客户之间的关系。

How to Build a Real-Time Recommendation Engine Using Graph Databases


流媒体平台的图表示例。

将这些信息存储为图表,我们现在可以考虑电影推荐来影响下一部要观看的电影。最简单的策略是在整个平台上显示观看次数最多的电影。使用Cypher查询语言可以轻松:

MATCH (:Customer)-[:HAS_SEEN]->(movie:Movie)
RETURN movie, count(movie)
ORDER BY count(movie) DESC LIMIT 5

但是,此查询非常通用,不考虑客户的上下文,因此未针对任何给定客户进行优化。我们可以更好地使用客户的社交网络,查询朋友和朋友的朋友关系。使用Cypher非常简单:

MATCH (customer:Customer {name:'Marie'})
    <-[:IS_FRIEND_OF*1..2]-(friend:Customer)
WHERE customer <> friend
WITH DISTINCT friend
MATCH (friend)-[:HAS_SEEN]->(movie:Movie)
RETURN movie, count(movie)
ORDER BY count(movie) DESC LIMIT 5

此查询有两个部分由 WITH 子句划分,这允许我们将结果从第一部分传送到第二部分。

在查询的第一部分,我们找到当前客户 (),并使用灵活的路径长度表示法(表示一个或两个深度关系)遍历 Marie 的直接朋友或他们的朋友(她的朋友的朋友)的图形匹配。{name: 'Marie'}-[:IS_FRIEND_OF*1..2]->IS_FRIEND_OF

我们注意不要将玛丽本人包括在结果中(条款),也不要得到重复的朋友的朋友也是直接的(条款)。WHERE DISTINCT

查询的后半部分与最简单的查询相同,但现在我们不考虑平台上的所有客户,而是考虑玛丽的朋友和朋友的朋友。

就是这样,我们刚刚为流媒体平台构建了实时推荐引擎。

总结

在本文中,介绍了以下主题:

  • 什么是推荐引擎以及它用于提出建议的信息量。
  • 什么是图形数据库以及如何将数据存储为图形而不是表或文档。
  • 如何使用图形数据库为流媒体平台构建实时推荐引擎的示例。

原文链接:如何使用图形数据库构建实时推荐引擎 (mvrlink.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 设置mysql开机自启动和安装JDK

0目录 1.mysql设置开机自启动 2.linux安装jdk 1.mysql设置开机自启动 去到cd /etc/rc.d/init.d目录 创建一个sh脚本 编辑脚本 设置开机自启动 重启 检查是否自启动 2.linux安装jdk 下载安装包 放在opt目录下 新建soft文件夹&#xff08;opt目录下&#xff09;…

window版本的kibana的安装,使用,启动

前言&#xff1a;本篇是根据小破站UP主遇见狂神说学习篇&#xff0c; 这里是我做的笔记&#xff0c;&#xff08;ElasticSearch7.6入门学习笔记-KuangStudy-文章&#xff09;&#xff0c;up主的文档肯定比我更清晰&#xff0c;但我还是记录一下嘿嘿嘿&#xff0c;下面直接开始 …

用户管理与用户权限

数据库用户管理 新建用户 CREATE USER 用户名来源地址 [IDENTIFIED BY [PASSWORD] 密码]; 用户名&#xff1a;指定将创建的用户名. 来源地址&#xff1a;指定新创建的用户可在哪些主机上登录&#xff0c;可使用IP地址、网段、主机名的形式&#xff0c;本地用户可用localhost&…

【全站最全】被苹果、谷歌和Microsoft停产的产品(三)

2016 Narrative Clip 2012 – 2016 HARDWARE Narrative Clip was small wearable capable of automatically take a picture every 30 seconds whilst being worn throughout the day, a practice known as "life-logging". Pebble 2013 – 2016 HARDWARE Pe…

C#+WPF上位机开发(模块化+反应式)作者:重庆教主

在上位机开发领域中&#xff0c;C#与C两种语言是应用最多的两种开发语言&#xff0c;在C语言中&#xff0c;与之搭配的前端框架通常以QT最为常用&#xff0c;而C#语言中&#xff0c;与之搭配的前端框架是Winform和WPF两种框架。今天我们主要讨论一下C#和WPF这一对组合在上位机开…

SUI 将通过 SUI Foundation 资助 Footprint Analytics 解析其公链数据,为生态系统提供支持

2023 年 8 月 23 日消息&#xff0c;SUI 基金会宣布将赞助链上数据提供商 Footprint Analytics&#xff0c;旨在协助解析公链数据&#xff0c;为 SUI 的生态系统及其开发者提供全方位支持。 Footprint Analytics 将提供完整的数据报表和 API 接口&#xff0c; SUI 链的用户可以…

uniapp离线打包apk - Android Studio

uniapp 离线打包 基于uni-app的andiord 离线打包 开发工具及所需要的jar包​1.将下载的App离线SDK解压打开&#xff0c;找到HBuilder-Integrate-AS &#xff0c;在Android Studio打开2.打开HBuilder X&#xff0c;发行->原生app本地打包->生成本地打包app资源3.在“HBuil…

GitLab-CI 指南

GitLab CI 指南 前置工作 部署GitLab 部署GitLab-Runner 注册Runner到GitLab docker exec -it gitlab-runner bash # 进入容器 gitlab-runner register #调用register命令开始注册 # 在Gitlab Setting中找到Runners,如下图所示Enter the GitLab instance URL (for example, …

做不做软测都能学的技能,一招化解磁盘空间不足!

如&#xff0c;我有一台服务器&#xff0c;磁盘空间为 50g 现在&#xff0c;使用了一段时间之后&#xff0c;磁盘空间不够了 磁盘空间不够&#xff0c;这个时候&#xff0c;如果你再执行某些写入磁盘的操作就会报错&#xff0c;无法执行。 测试服务器磁盘空间不够&#xff0c;…

最适合运动的耳机类型是什么、适合运动的耳机推荐

作为一位热衷于运动的爱好者&#xff0c;对于运动装备的要求十分严格。家里有很多手环和跑鞋&#xff0c;但在跑步时最喜欢的是听歌。一首好曲子能够改善跑步体验&#xff0c;延缓疲劳感。当然&#xff0c;并非所有的耳机都适合运动使用&#xff0c;选择运动耳机时需要考虑到运…

操作系统-笔记-汇总

目录 &#x1f4da; 前言 &#x1f338;章节汇总 &#x1f680; 学习心得 ⌛2023年8月24日 星期四 &#x1f4da; 前言 在学习过了《计算机组成原理》之后&#xff0c;对计算机硬件有了一定清晰的认识 从一个架构&#xff0c;到一个个硬件的诞生&#xff0c;一个个线路的规…

Java编程的未来:2023年值得关注的五个趋势

准备好进入Java编程这个不断发展的创新世界了吗&#xff1f;二十多年来&#xff0c;Java一直是编程世界不可或缺的一部分&#xff0c;其重要性始终没有改变。随着企业软件解决方案中对Java的需求持续增长&#xff0c;这一编程语言保持了其作为跨各种设备和集成系统创建复杂软件…

https 的ssl证书过期处理解决方案(lighthttpd)

更换证书&#xff1a;lighthttpd 配置文件位置&#xff1a;/opt/vmware/etc/lighttpd/lighttpd.conf &#xff08;配置文件的最底部 G快速来到底部&#xff09; 方案一&#xff1a;阿里云申请免费的证书 这里公司内网环境没有配置域名&#xff0c;可以创建一个临时域名&…

win11 docker-desktop安装记录

win11安装Docker踩坑实录 马上开始正式工作了&#xff0c;需要用到docker&#xff0c;以前在win10上安装过&#xff0c;新电脑是win11&#xff0c;心想肯定会遇到坑&#xff0c;就浅浅记录一下 首先看一下安装要求 需要wsl2 那么就先进行 wsl的更新 wsl --update注意这里网络…

淘宝商品销量数据接口API 淘宝商品价格接口API 淘宝商品详情数据接口API

API是什么&#xff1f; API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;是一组定义、规范了不同软件组件之间交互的方法。简单来说&#xff0c;API就是软件系统提供给其他软件系统或开发者使用的一些接口或工具集合。通过使用API&a…

redis漏洞复现

目标机kali1&#xff1a;启动redis服务 攻击机kali2&#xff1a;查看README.md&#xff0c;下载文件 攻击机kali2&#xff1a;进行攻击&#xff0c;在RedisModulesSDK文件夹下创建文件exp.so文件 获取id

已解决WARNING: Pyqt5安装报错解决

废话不多说直接 开干&#xff01; Pyqt5报错 ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none) ERROR: No matching distribution found for pyqt5 更新好像不行 pip install --upgrade pip -i http://mirrors.aliyun.com/pypi/…

k8s 常用命令(三)

1、查看版本信息&#xff1a;kubectl version [rootmaster ~]# kubectl version [rootmaster ~]# kubectl version Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f7952…

湖北咸宁农业三维扫描数字化农业3d打印制造应用-CASAIM中科广电

农业是人类衣食之源、生存之本&#xff0c;是一切生产的首要条件&#xff0c;CASAIM在农业三维扫描和3d打印应用上有丰富经验。 1.三维扫描技术在农业领域的应用 CASAIM三维扫描是集光学、机电和计算机技术于一体的高新无损检测技术&#xff0c;能够对实物的空间外形、结构乃…

python WSGI和ASGI的区别

用户到我们web应用中间经过的相关协议&#xff0c;具体介绍和pyhton相关的WSGI和ASGI&#xff0c;我先把结论列出来&#xff0c;详细描述请看下面介绍&#xff01; 请大家先记住这张图&#xff0c;带着问题和整个框架去看比较易于了解 CGI&#xff0c;WSGI&#xff0c;ASGI、…