当前位置: 首页 > 科技观察

图数据库在实时推荐场景中的用例_0

时间:2023-03-16 10:21:48 科技观察

译者|陈军审稿人|孙淑娟本文在介绍图数据库和推荐系统基本概念的基础上,对图分解技术、PageRank算法、协同过滤等进行了详细的讨论。方法,以及如何使用NebulaGraph图数据库构建实时推荐系统。实时推荐是当今零售行业非常热门的话题。它的目标是方便用户在电子商务网站上搜索产品,应用程序会立即为他们提供个性化推荐。这是一项具有挑战性的任务,因为用户还没有决定购买哪种产品,因此应用系统需要深入了解他们的偏好和行为。为了实现这一目标,实时推荐系统需要能够以接近实时的速度处理大量数据。实时系统通常被用作电子商务网站或移动应用程序的一部分,可以根据用户当前的行为推荐相关产品。例如,当用户查看“男士运动鞋”页面时,一个销售鞋子的电子商务网站可能会向用户显示适量的不同款式的鞋子。并且由于图技术具有预测用户行为并据此做出推荐的能力,是实时推荐的不错选择。其中,以NebulaGraph为代表的图数据库提供了灵活的数据模型,可以用来表示实体之间的各种类型的关系。这种关系不仅包括典型的“产品”和“用户”关系,还包括对应用程序重要的其他关系。例如,您可以使用图形数据库来表示复杂的用户分组(例如“各种朋友”)和产品类别(例如“各种书籍”)。只要两个实体之间存在边,就可以使用图形技术来表示。事实上,图数据库比关系数据库更擅长表示各种类型的关系。例如,如果你有大量兴趣相似但属于不同组的用户,在关系数据库中,你会为每个组创建一个单独的表,然后在查询中间将它们连接成一个大数据表。相反,在图数据库中,每个用户可能有多个边来表示他们在不同组中的兴趣。1、什么是图数据库?图数据库不同于大多数人熟悉的传统关系数据库管理系统(RDBMS)。RDBMS将数据存储在一个由列和行组成的表中,它们之间几乎没有任何关系。图数据库最初设计的时候,关注的是数据集之间的关系。因此,他们拥有更强大、更专业的加工能力。值得注意的是,这里的“图”其实是表示两个事物之间关系的图。换句话说,图数据库是用来解释数据之间关系的数据库。下图展示了典型图数据库NebulaGraph的复杂架构和设计。为了避免数据集彼此形成无用的孤岛,图形数据库可以连接多个数据集之间的点,揭示它们之间的重要关系。目前,图数据库已得到广泛应用。2、什么是实时推荐系统?推荐系统主要用于预测客户的偏好,并为他们提供他们可能喜欢的产品或服务。此类系统通常用于零售、媒体、娱乐、旅游和公共服务等各个行业,通过向客户提供个性化推荐来帮助企业降低成本并增加收入。例如,Netflix使用算法根据您之前看过的电影推荐下一部电影;亚马逊使用推荐来帮助购物者找到他们可能感兴趣甚至购买的新产品;Facebook使用自己的方式根据您的兴趣和喜好,向您展示相关的广告信息。3、为什么要用NebulaGraph做实时推荐?目前,在各种实际应用环境中,数据挖掘的相关技术已经能够为图数据库带来实质性的性能提升。NebulaGraph作为一个高性能的可线性扩展的图数据库,可以通过无共享的分布式模型应用于不同的场景。其背后的目标是释放那些呈指数增长的连接数据的力量。与其他竞争图数据库相比,NebulaGraph可以安全地处理数据集的大小,并将速度提高约两倍。下图展示了NebulaGraph的基本工作原理。总结:是唯一可以存储和处理万亿关系连接、数十亿数据点的数据库旨在确保和实现无中断、可扩展、可恢复的最佳业务连续性四、1.图形技术在推荐中的应用Recommendation系统旨在根据用户的品味和喜好为用户提供个性化推荐。例如,应用程序可以通过他们在电子商务网站上的购物习惯来提取和表示电影和书籍领域的用户偏好。一般来说,推荐系统主要有两大类:协同过滤(CollaborativeFiltering,CF)方法和基于模型的方法。为了在不知道用户和电影属性的情况下预测电影评分,需要以KNN为代表的协同过滤方法与基于模型的方法相结合,形成图分解方法,以提高稀疏时记录在Predictionaccuracy中的分数。作为一种基于图的模型,图分解方法可以用来表示用户偏好,以及用户、物品和属性之间的关系。它的目标是从用户评分和推荐中提取潜在特征,以便可以使用这些特征以无监督的方式预测用户偏好。图分解需要通过将原始数据集分解成更小的数据集或集群来完成。由于图数据库可以支持高度连接的数据结构和数据点之间的关系,因此图分解的过程往往需要使用图数据库来实现。目前,图分解方法已广泛应用于许多在线推荐系统中。5、如何使用NebulaGraph搭建推荐系统?下面,我将向您展示如何使用像NebulaGraph这样的图数据库来构建推荐系统。1.定义数据模型我们首先需要为推荐系统定义数据模型,告诉系统推荐什么类型的数据。如果我们要推荐电影,那么电影可以作为我们的实体。然后是需要与实体关联的信息的定义。例如,如果你要建立一个图书推荐系统,你需要知道它是什么类型的,或者它是用什么语言写的。对于电影领域,我们只需要获取名称、发行年份、类别和国家。下图是我们电影实体的相关定义:2.定义关系接下来,我们需要做的是定义电影和用户(或人)之间存在什么类型的关系。通常,有两种这样的关系:用户喜欢电影和用户观看了电影(或者用户没有观看电影)。在本例中,我们将其简化为用户最喜欢的电影。假设有两个用户,James和Kelsey,他们都是科幻电影A的粉丝。那么这部电影就属于科幻类。如果詹姆斯也喜欢科幻电影B而凯尔西没有看过,那么我们就不知道凯尔西喜不喜欢科幻电影B。利用上面的数据图建模,我们很容易发现,由于James和Kelsey喜欢同一类事物,其中包括科幻电影B,Kelsey可能也喜欢科幻电影B。推荐系统会推荐科幻电影B凯尔西。3.推荐我们可以使用各种图算法在图数据库中进行推荐。PageRank算法通常用于对搜索结果中的网页进行排名。使用此算法,我们可以确定当有人搜索Google或任何其他主要搜索引擎时应首先显示哪些页面,以及哪些网站更受欢迎。PageRank背后的基本思想是下一个要连接的页面比当前页面更重要。也就是说,如果每个人都链接到购鞋网站上的同一页面,则意味着系统判断该页面比其他页面更重要。而且链接的人越多,它获得的权重就越高。可以说,一个网站的受欢迎程度是由它指向(和被引??用)的链接数量来衡量的。同理,在看电影方面,一个人要么继续看同类的电影(即继续自己的爱好),要么随机跳转到完全不同类型的电影。可以看出,电影受欢迎程度的判断是基于给定电影及其同行的数字哈希结果。协同过滤算法是一种基于用户、物品及其联系信息的推荐系统方法。其判断的前提是:相似的用户群体往往有着相似的兴趣。这种方法通过查看现有用户及其邻居的兴趣来提出建议。6.总结总之,由于图数据库可以表示推荐系统中用户和产品之间的关系,因此可以用来构建实时推荐系统。同时,由于能够为强大的数据分析提供支持,图数据库可以使推荐系统能够更广泛地分析具有不同偏好的用户和产品。原文链接:https://itnext.io/use-cases-of-graph-databases-in-real-time-recommendation-db222a8b2c83译者介绍JulianChen(朱利安陈),社区编辑,十余年IT项目实施经验,善于控制内外部资源和风险,注重传播网络与信息安全知识和经验。